diff --git a/.github/BUILD.md b/.github/BUILD.md index 21afdc54492..54d53275e77 100644 --- a/.github/BUILD.md +++ b/.github/BUILD.md @@ -11,11 +11,10 @@ When contributing to DNN, you'd typically go through steps 2 and 3 at least and ## External sources -There are two projects not included in this repository that are distributed with DNN: -* [CKEditorProvider](https://github.com/DNN-Connect/CKEditorProvider) - The default HTML Editor Provider +There is one project not included in this repository that are distributed with DNN: * [CDF](https://github.com/dnnsoftware/ClientDependency) - The Dnn Client Dependency Framework -If you wish to make changes to those, please keep this in mind. +If you wish to make changes to that project, please keep this in mind. ## Used Build Technologies @@ -154,7 +153,7 @@ If a build fails midway and you have tracked artifacts, you can simply run: ### Troubleshooting -If you encounter PowerShell security issues, please read [Cake - PowerShell Security](https://cakebuild.net/docs/tutorials/powershell-security). +If you encounter PowerShell security issues, please read [Cake - PowerShell Security](http://cakebuildbotdevelop.azurewebsites.net/docs/tutorials/powershell-security). If you encouter Yarn issues, please [update Yarn to the lastest version](https://yarnpkg.com/getting-started/install). diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index b0815db5add..3f54c1fe42c 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -41,6 +41,7 @@ Provide any additional context that may be helpful in understanding and/or resol Please add X in at least one of the boxes as appropriate. In order for an issue to be accepted, a developer needs to be able to reproduce the issue on a currently supported version. If you are looking for a workaround for an issue with an older version, please visit the forums at https://dnncommunity.org/forums --> * [ ] 10.00.00 alpha build +* [ ] 09.11.00 release candidate * [ ] 09.10.02 release candidate * [ ] 09.10.01 latest supported release diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index c4fd5d84297..b123bcf4c71 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -4,5 +4,5 @@ contact_links: url: https://dnncommunity.org/forums about: Get help, solicit feedback and discuss new ideas regarding DNN Platform. - name: DNN Documentation - url: https://dnndocs.com - about: Learn more about DNN Platform. \ No newline at end of file + url: https://docs.dnncommunity.org + about: Learn more about DNN Platform. diff --git a/.github/workflows/image-actions.yml b/.github/workflows/image-actions.yml index 7fa214674e2..7f3853f3bdc 100644 --- a/.github/workflows/image-actions.yml +++ b/.github/workflows/image-actions.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v3 - name: Compress Images id: compress_images @@ -34,7 +34,7 @@ jobs: - name: Create Pull Request if: | # If it's not a Pull Request then commit any changes as a new PR. github.event_name != 'pull_request' && steps.compress_images.outputs.markdown != '' - uses: peter-evans/create-pull-request@v3.10.1 + uses: peter-evans/create-pull-request@v4 with: title: Auto Compress Images branch-suffix: timestamp diff --git a/.github/workflows/open-merged-pr-to-future.yml b/.github/workflows/open-merged-pr-to-future.yml new file mode 100644 index 00000000000..6ccc567d56b --- /dev/null +++ b/.github/workflows/open-merged-pr-to-future.yml @@ -0,0 +1,32 @@ +name: Open Merged PR to release/10.0.0 Branch + +on: workflow_dispatch +# pull_request: +# types: [closed] +# branches: +# - develop + +jobs: + open-merged-pr-to-release-branch: + runs-on: ubuntu-latest + if: ${{ github.event.pull_request.merged }} + steps: + - uses: actions/checkout@v3 + + - uses: peterjgrainger/action-create-branch@v2.2.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + branch: v10/${{ github.event.pull_request.head.ref }}-${{ github.event.pull_request.head.sha }} + + - name: Create Pull Request + uses: repo-sync/pull-request@v2.6 + with: + source_branch: v10/${{ github.event.pull_request.head.ref }}-${{ github.event.pull_request.head.sha }} + destination_branch: release/10.0.0 + pr_title: v10 ${{ github.event.pull_request.title }} + pr_body: | + Applying #${{ github.event.pull_request.number }} to release/10.0.0 + ${{ github.event.pull_request.body }} + pr_label: ${{ join(github.event.pull_request.labels.*.name) }} + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/updateVersions.yml b/.github/workflows/updateVersions.yml index 39e452a6f78..3556623d8c4 100644 --- a/.github/workflows/updateVersions.yml +++ b/.github/workflows/updateVersions.yml @@ -7,30 +7,35 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.ref_type == 'branch' && startsWith(github.event.ref, 'release/') }} steps: - - uses: actions/checkout@v2.3.4 + - uses: actions/checkout@v3 - - name: Get the release branch version - uses: valadas/get-release-branch-version@v1.0.1 - id: branchVersion - - - name: Set versions - uses: valadas/set-dnn-manifest-versions@v1.2.0 - with: - version: ${{ steps.branchVersion.outputs.manifestSafeVersionString }} - skipFile: './Build/Tasks/unversionedManifests.txt' - includeSolutionInfo: true - includeIssueTemplates: true - includePackageJson: true - includeDnnReactCommon: true - - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.10.1 - with: - commit-message: Updates versions as per release candidate creation - title: Updates versions as per release candidate creation - body: This is a release management task and we are self-approving it for that reason. - # A comma separated list of labels. - labels: 'Type: Build/Release' - # The pull request branch name. - branch: update-versions/patch - # The branch suffix type. - branch-suffix: short-commit-hash + - name: Get the release branch version + uses: valadas/get-release-branch-version@v1.0.1 + id: branchVersion + + - name: Set versions + uses: valadas/set-dnn-manifest-versions@v1.2.0 + with: + version: ${{ steps.branchVersion.outputs.manifestSafeVersionString }} + skipFile: "./Build/Tasks/unversionedManifests.txt" + includeSolutionInfo: true + includeIssueTemplates: true + includePackageJson: true + includeDnnReactCommon: true + + - name: Update Yarn versions + shell: pwsh + run: yarn install --mode=update-lockfile --no-immutable + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4 + with: + commit-message: Updates versions as per release candidate creation + title: Updates versions as per release candidate creation + body: This is a release management task and we are self-approving it for that reason. + # A comma separated list of labels. + labels: "Type: Build/Release" + # The pull request branch name. + branch: update-versions/patch + # The branch suffix type. + branch-suffix: short-commit-hash diff --git a/.yarn/releases/yarn-3.0.2.cjs b/.yarn/releases/yarn-3.0.2.cjs deleted file mode 100644 index 3c23463d23d..00000000000 --- a/.yarn/releases/yarn-3.0.2.cjs +++ /dev/null @@ -1,631 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var Loe=Object.create,pg=Object.defineProperty,Moe=Object.defineProperties,Toe=Object.getOwnPropertyDescriptor,Ooe=Object.getOwnPropertyDescriptors,Koe=Object.getOwnPropertyNames,gC=Object.getOwnPropertySymbols,Uoe=Object.getPrototypeOf,uw=Object.prototype.hasOwnProperty,IN=Object.prototype.propertyIsEnumerable;var EN=(t,e,r)=>e in t?pg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,v=(t,e)=>{for(var r in e||(e={}))uw.call(e,r)&&EN(t,r,e[r]);if(gC)for(var r of gC(e))IN.call(e,r)&&EN(t,r,e[r]);return t},V=(t,e)=>Moe(t,Ooe(e)),Hoe=t=>pg(t,"__esModule",{value:!0});var Rr=(t,e)=>{var r={};for(var i in t)uw.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&gC)for(var i of gC(t))e.indexOf(i)<0&&IN.call(t,i)&&(r[i]=t[i]);return r},Yoe=(t,e)=>()=>(t&&(e=t(t=0)),e),C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),et=(t,e)=>{for(var r in e)pg(t,r,{get:e[r],enumerable:!0})},joe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Koe(e))!uw.call(t,i)&&i!=="default"&&pg(t,i,{get:()=>e[i],enumerable:!(r=Toe(e,i))||r.enumerable});return t},te=t=>joe(Hoe(pg(t!=null?Loe(Uoe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var XN=C((J8e,JN)=>{JN.exports=WN;WN.sync=iae;var zN=require("fs");function nae(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{ZN.exports=_N;_N.sync=sae;var $N=require("fs");function _N(t,e,r){$N.stat(t,function(i,n){r(i,i?!1:eL(n,e))})}function sae(t,e){return eL($N.statSync(t),e)}function eL(t,e){return t.isFile()&&oae(t,e)}function oae(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var iL=C((V8e,rL)=>{var z8e=require("fs"),bC;process.platform==="win32"||global.TESTING_WINDOWS?bC=XN():bC=tL();rL.exports=Sw;Sw.sync=aae;function Sw(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){Sw(t,e||{},function(s,o){s?n(s):i(o)})})}bC(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function aae(t,e){try{return bC.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var cL=C((X8e,nL)=>{var xl=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",sL=require("path"),Aae=xl?";":":",oL=iL(),aL=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),AL=(t,e)=>{let r=e.colon||Aae,i=t.match(/\//)||xl&&t.match(/\\/)?[""]:[...xl?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=xl?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=xl?n.split(r):[""];return xl&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},lL=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=AL(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(aL(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=sL.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];oL(c+p,{pathExt:s},(m,I)=>{if(!m&&I)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},lae=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=AL(t,e),s=[];for(let o=0;o{"use strict";var uL=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};xw.exports=uL;xw.exports.default=uL});var dL=C((_8e,fL)=>{"use strict";var hL=require("path"),cae=cL(),uae=gL();function pL(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=cae.sync(t.command,{path:r[uae({env:r})],pathExt:e?hL.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=hL.resolve(n?t.options.cwd:"",o)),o}function gae(t){return pL(t)||pL(t,!0)}fL.exports=gae});var CL=C(($8e,kw)=>{"use strict";var vw=/([()\][%!^"`<>&|;, *?])/g;function fae(t){return t=t.replace(vw,"^$1"),t}function hae(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(vw,"^$1"),e&&(t=t.replace(vw,"^$1")),t}kw.exports.command=fae;kw.exports.argument=hae});var IL=C((e4e,mL)=>{"use strict";mL.exports=/^#!(.*)/});var yL=C((t4e,EL)=>{"use strict";var pae=IL();EL.exports=(t="")=>{let e=t.match(pae);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var wL=C((r4e,BL)=>{"use strict";var Pw=require("fs"),dae=yL();function Cae(t){let e=150,r=Buffer.alloc(e),i;try{i=Pw.openSync(t,"r"),Pw.readSync(i,r,0,e,0),Pw.closeSync(i)}catch(n){}return dae(r.toString())}BL.exports=Cae});var SL=C((i4e,QL)=>{"use strict";var mae=require("path"),bL=dL(),DL=CL(),Iae=wL(),Eae=process.platform==="win32",yae=/\.(?:com|exe)$/i,Bae=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function wae(t){t.file=bL(t);let e=t.file&&Iae(t.file);return e?(t.args.unshift(t.file),t.command=e,bL(t)):t.file}function Qae(t){if(!Eae)return t;let e=wae(t),r=!yae.test(e);if(t.options.forceShell||r){let i=Bae.test(e);t.command=mae.normalize(t.command),t.command=DL.command(t.command),t.args=t.args.map(s=>DL.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function bae(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:Qae(i)}QL.exports=bae});var vL=C((n4e,xL)=>{"use strict";var Fw=process.platform==="win32";function Rw(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Dae(t,e){if(!Fw)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=kL(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function kL(t,e){return Fw&&t===1&&!e.file?Rw(e.original,"spawn"):null}function Sae(t,e){return Fw&&t===1&&!e.file?Rw(e.original,"spawnSync"):null}xL.exports={hookChildProcess:Dae,verifyENOENT:kL,verifyENOENTSync:Sae,notFoundError:Rw}});var Mw=C((s4e,kl)=>{"use strict";var PL=require("child_process"),Nw=SL(),Lw=vL();function FL(t,e,r){let i=Nw(t,e,r),n=PL.spawn(i.command,i.args,i.options);return Lw.hookChildProcess(n,i),n}function xae(t,e,r){let i=Nw(t,e,r),n=PL.spawnSync(i.command,i.args,i.options);return n.error=n.error||Lw.verifyENOENTSync(n.status,i),n}kl.exports=FL;kl.exports.spawn=FL;kl.exports.sync=xae;kl.exports._parse=Nw;kl.exports._enoent=Lw});var NL=C((c4e,RL)=>{"use strict";RL.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qw=C((u4e,LL)=>{var Pg=NL(),ML={};for(let t of Object.keys(Pg))ML[Pg[t]]=t;var Ge={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};LL.exports=Ge;for(let t of Object.keys(Ge)){if(!("channels"in Ge[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ge[t]))throw new Error("missing channel labels property: "+t);if(Ge[t].labels.length!==Ge[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ge[t];delete Ge[t].channels,delete Ge[t].labels,Object.defineProperty(Ge[t],"channels",{value:e}),Object.defineProperty(Ge[t],"labels",{value:r})}Ge.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};Ge.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};Ge.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=Ge.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};Ge.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Pae(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ge.rgb.keyword=function(t){let e=ML[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Pg)){let s=Pg[n],o=Pae(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};Ge.rgb.lab=function(t){let e=Ge.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};Ge.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};Ge.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};Ge.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};Ge.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};Ge.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};Ge.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};Ge.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};Ge.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};Ge.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};Ge.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};Ge.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};Ge.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?Ge.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};Ge.hsv.ansi16=function(t){return Ge.rgb.ansi16(Ge.hsv.rgb(t),t[2])};Ge.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};Ge.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};Ge.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};Ge.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Ge.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};Ge.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};Ge.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};Ge.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};Ge.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};Ge.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};Ge.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};Ge.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};Ge.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};Ge.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ge.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ge.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ge.gray.hsl=function(t){return[0,0,t[0]]};Ge.gray.hsv=Ge.gray.hsl;Ge.gray.hwb=function(t){return[0,100,t[0]]};Ge.gray.cmyk=function(t){return[0,0,0,t[0]]};Ge.gray.lab=function(t){return[t[0],0,0]};Ge.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};Ge.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var OL=C((g4e,TL)=>{var DC=qw();function Fae(){let t={},e=Object.keys(DC);for(let r=e.length,i=0;i{var Jw=qw(),Mae=OL(),vl={},Tae=Object.keys(Jw);function Oae(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function Kae(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{vl[t]={},Object.defineProperty(vl[t],"channels",{value:Jw[t].channels}),Object.defineProperty(vl[t],"labels",{value:Jw[t].labels});let e=Mae(t);Object.keys(e).forEach(i=>{let n=e[i];vl[t][i]=Kae(n),vl[t][i].raw=Oae(n)})});KL.exports=vl});var JL=C((h4e,HL)=>{"use strict";var YL=(t,e)=>(...r)=>`[${t(...r)+e}m`,jL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},GL=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},SC=t=>t,qL=(t,e,r)=>[t,e,r],Pl=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},Ww,Fl=(t,e,r,i)=>{Ww===void 0&&(Ww=UL());let n=i?10:0,s={};for(let[o,a]of Object.entries(Ww)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function Uae(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Pl(e.color,"ansi",()=>Fl(YL,"ansi16",SC,!1)),Pl(e.color,"ansi256",()=>Fl(jL,"ansi256",SC,!1)),Pl(e.color,"ansi16m",()=>Fl(GL,"rgb",qL,!1)),Pl(e.bgColor,"ansi",()=>Fl(YL,"ansi16",SC,!0)),Pl(e.bgColor,"ansi256",()=>Fl(jL,"ansi256",SC,!0)),Pl(e.bgColor,"ansi16m",()=>Fl(GL,"rgb",qL,!0)),e}Object.defineProperty(HL,"exports",{enumerable:!0,get:Uae})});var zL=C((p4e,WL)=>{"use strict";WL.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var Hae=require("os"),XL=require("tty"),on=zL(),{env:dr}=process,Lo;on("no-color")||on("no-colors")||on("color=false")||on("color=never")?Lo=0:(on("color")||on("colors")||on("color=true")||on("color=always"))&&(Lo=1);"FORCE_COLOR"in dr&&(dr.FORCE_COLOR==="true"?Lo=1:dr.FORCE_COLOR==="false"?Lo=0:Lo=dr.FORCE_COLOR.length===0?1:Math.min(parseInt(dr.FORCE_COLOR,10),3));function zw(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Vw(t,e){if(Lo===0)return 0;if(on("color=16m")||on("color=full")||on("color=truecolor"))return 3;if(on("color=256"))return 2;if(t&&!e&&Lo===void 0)return 0;let r=Lo||0;if(dr.TERM==="dumb")return r;if(process.platform==="win32"){let i=Hae.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in dr)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in dr)||dr.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in dr)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(dr.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in dr)return 1;if(dr.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in dr){let i=parseInt((dr.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(dr.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(dr.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(dr.TERM)||"COLORTERM"in dr?1:r}function Yae(t){let e=Vw(t,t&&t.isTTY);return zw(e)}VL.exports={supportsColor:Yae,stdout:zw(Vw(!0,XL.isatty(1))),stderr:zw(Vw(!0,XL.isatty(2)))}});var $L=C((C4e,_L)=>{"use strict";var jae=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},Gae=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r -`:` -`)+r,n=i+1,i=t.indexOf(` -`,n)}while(i!==-1);return s+=t.substr(n),s};_L.exports={stringReplaceAll:jae,stringEncaseCRLFWithFirstIndex:Gae}});var nM=C((m4e,eM)=>{"use strict";var qae=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,tM=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Jae=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Wae=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,zae=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function rM(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):zae.get(t)||t}function Vae(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(Jae))r.push(n[2].replace(Wae,(a,l,c)=>l?rM(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function Xae(t){tM.lastIndex=0;let e=[],r;for(;(r=tM.exec(t))!==null;){let i=r[1];if(r[2]){let n=Vae(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function iM(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}eM.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(qae,(s,o,a,l,c,u)=>{if(o)n.push(rM(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:iM(t,r)(g)),r.push({inverse:a,styles:Xae(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(iM(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var eQ=C((I4e,sM)=>{"use strict";var Fg=JL(),{stdout:Xw,stderr:Zw}=ZL(),{stringReplaceAll:Zae,stringEncaseCRLFWithFirstIndex:_ae}=$L(),oM=["ansi","ansi","ansi256","ansi16m"],Rl=Object.create(null),$ae=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=Xw?Xw.level:0;t.level=e.level===void 0?r:e.level},aM=class{constructor(e){return AM(e)}},AM=t=>{let e={};return $ae(e,t),e.template=(...r)=>eAe(e.template,...r),Object.setPrototypeOf(e,xC.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=aM,e.template};function xC(t){return AM(t)}for(let[t,e]of Object.entries(Fg))Rl[t]={get(){let r=kC(this,_w(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Rl.visible={get(){let t=kC(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var lM=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of lM)Rl[t]={get(){let{level:e}=this;return function(...r){let i=_w(Fg.color[oM[e]][t](...r),Fg.color.close,this._styler);return kC(this,i,this._isEmpty)}}};for(let t of lM){let e="bg"+t[0].toUpperCase()+t.slice(1);Rl[e]={get(){let{level:r}=this;return function(...i){let n=_w(Fg.bgColor[oM[r]][t](...i),Fg.bgColor.close,this._styler);return kC(this,n,this._isEmpty)}}}}var tAe=Object.defineProperties(()=>{},V(v({},Rl),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),_w=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},kC=(t,e,r)=>{let i=(...n)=>rAe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=tAe,i._generator=t,i._styler=e,i._isEmpty=r,i},rAe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=Zae(e,r.close,r.open),r=r.parent;let s=e.indexOf(` -`);return s!==-1&&(e=_ae(e,n,i,s)),i+e+n},$w,eAe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{cM.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var Ng=C(Ki=>{"use strict";var gM=uM(),Zn=process.env;Object.defineProperty(Ki,"_vendors",{value:gM.map(function(t){return t.constant})});Ki.name=null;Ki.isPR=null;gM.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(i){return fM(i)});if(Ki[t.constant]=r,r)switch(Ki.name=t.name,typeof t.pr){case"string":Ki.isPR=!!Zn[t.pr];break;case"object":"env"in t.pr?Ki.isPR=t.pr.env in Zn&&Zn[t.pr.env]!==t.pr.ne:"any"in t.pr?Ki.isPR=t.pr.any.some(function(i){return!!Zn[i]}):Ki.isPR=fM(t.pr);break;default:Ki.isPR=null}});Ki.isCI=!!(Zn.CI||Zn.CONTINUOUS_INTEGRATION||Zn.BUILD_NUMBER||Zn.RUN_ID||Ki.name);function fM(t){return typeof t=="string"?!!Zn[t]:Object.keys(t).every(function(e){return Zn[e]===t[e]})}});var vC=C(an=>{"use strict";an.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;an.find=(t,e)=>t.nodes.find(r=>r.type===e);an.exceedsLimit=(t,e,r=1,i)=>i===!1||!an.isInteger(t)||!an.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;an.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};an.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;an.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;an.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;an.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);an.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var pM=vC();hM.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&pM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&pM.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var CM=C((Q4e,dM)=>{"use strict";dM.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var DM=C((b4e,mM)=>{"use strict";var IM=CM(),Va=(t,e,r)=>{if(IM(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(IM(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=v({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(Va.cache.hasOwnProperty(l))return Va.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=yM(t)||yM(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=EM(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=EM(c,u,f,i)),f.negatives=p,f.positives=h,f.result=iAe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),Va.cache[l]=f,f.result};function iAe(t,e,r){let i=tQ(t,e,"-",!1,r)||[],n=tQ(e,t,"",!1,r)||[],s=tQ(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function sAe(t,e){let r=1,i=1,n=BM(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=BM(t,r);for(n=wM(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+QM(a.count),o=c+1;continue}r.isPadded&&(g=lAe(c,r,i)),u.string=g+u.pattern+QM(u.count),s.push(u),o=c+1,a=u}return s}function tQ(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!bM(e,"string",a)&&s.push(r+a),i&&bM(e,"string",a)&&s.push(r+a)}return s}function oAe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function bM(t,e,r){return t.some(i=>i[e]===r)}function BM(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function wM(t,e){return t-t%Math.pow(10,e)}function QM(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function aAe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function yM(t){return/^-?(0+)\d/.test(t)}function lAe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}Va.cache={};Va.clearCache=()=>Va.cache={};mM.exports=Va});var nQ=C((D4e,SM)=>{"use strict";var cAe=require("util"),xM=DM(),kM=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),uAe=t=>e=>t===!0?Number(e):String(e),rQ=t=>typeof t=="number"||typeof t=="string"&&t!=="",Lg=t=>Number.isInteger(+t),iQ=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},gAe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,fAe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},vM=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},PM=(t,e,r,i)=>{if(r)return xM(t,e,v({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},FM=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return xM(t,e,r)},RM=(...t)=>new RangeError("Invalid range arguments: "+cAe.inspect(...t)),NM=(t,e,r)=>{if(r.strictRanges===!0)throw RM([t,e]);return[]},pAe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},dAe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw RM([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=iQ(a)||iQ(l)||iQ(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&gAe(t,e,i)===!1,h=i.transform||uAe(f);if(i.toRegex&&r===1)return PM(vM(t,g),vM(e,g),!0,i);let p={negatives:[],positives:[]},m=B=>p[B<0?"negatives":"positives"].push(Math.abs(B)),I=[],y=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):I.push(fAe(h(n,y),g,f)),n=o?n-r:n+r,y++;return i.toRegex===!0?r>1?hAe(p,i):FM(I,null,v({wrap:!1},i)):I},CAe=(t,e,r=1,i={})=>{if(!Lg(t)&&t.length>1||!Lg(e)&&e.length>1)return NM(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return PM(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?FM(u,null,{wrap:!1,options:i}):u},FC=(t,e,r,i={})=>{if(e==null&&rQ(t))return[t];if(!rQ(t)||!rQ(e))return NM(t,e,i);if(typeof r=="function")return FC(t,e,1,{transform:r});if(kM(r))return FC(t,e,0,r);let n=v({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,Lg(r)?Lg(t)&&Lg(e)?dAe(t,e,r,n):CAe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!kM(r)?pAe(r,n):FC(t,e,1,r)};SM.exports=FC});var TM=C((S4e,LM)=>{"use strict";var mAe=nQ(),MM=vC(),IAe=(t,e={})=>{let r=(i,n={})=>{let s=MM.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=MM.reduce(i.nodes),g=mAe(...u,V(v({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};LM.exports=IAe});var UM=C((x4e,OM)=>{"use strict";var EAe=nQ(),KM=PC(),Nl=vC(),Xa=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Nl.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Xa(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Xa(n,s,r):n+s);return Nl.flatten(i)},yAe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Xa(a.pop(),KM(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Xa(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=Nl.reduce(n.nodes);if(Nl.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=EAe(...g,e);f.length===0&&(f=KM(n,e)),a.push(Xa(a.pop(),f)),n.nodes=[];return}let l=Nl.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";HM.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var WM=C((v4e,jM)=>{"use strict";var BAe=PC(),{MAX_LENGTH:GM,CHAR_BACKSLASH:sQ,CHAR_BACKTICK:wAe,CHAR_COMMA:QAe,CHAR_DOT:bAe,CHAR_LEFT_PARENTHESES:DAe,CHAR_RIGHT_PARENTHESES:SAe,CHAR_LEFT_CURLY_BRACE:xAe,CHAR_RIGHT_CURLY_BRACE:kAe,CHAR_LEFT_SQUARE_BRACKET:qM,CHAR_RIGHT_SQUARE_BRACKET:JM,CHAR_DOUBLE_QUOTE:vAe,CHAR_SINGLE_QUOTE:PAe,CHAR_NO_BREAK_SPACE:FAe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:RAe}=YM(),NAe=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(GM,r.maxLength):GM;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=I=>{if(I.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&I.type==="text"){a.value+=I.value;return}return o.nodes.push(I),I.parent=o,I.prev=a,a=I,I};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let I=o.nodes.shift();o.nodes=[I,{type:"text",value:BAe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===bAe&&g>0&&o.commas===0){let I=o.nodes;if(g===0||I.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){I.pop();let y=I[I.length-1];y.value+=a.value+f,a=y,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(B=>{B.nodes||(B.type==="open"&&(B.isOpen=!0),B.type==="close"&&(B.isClose=!0),B.nodes||(B.type="text"),B.invalid=!0)});let I=s[s.length-1],y=I.nodes.indexOf(o);I.nodes.splice(y,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};jM.exports=NAe});var XM=C((P4e,zM)=>{"use strict";var VM=PC(),LAe=TM(),MAe=UM(),TAe=WM(),Ui=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=Ui.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat(Ui.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.parse=(t,e={})=>TAe(t,e);Ui.stringify=(t,e={})=>typeof t=="string"?VM(Ui.parse(t,e),e):VM(t,e);Ui.compile=(t,e={})=>(typeof t=="string"&&(t=Ui.parse(t,e)),LAe(t,e));Ui.expand=(t,e={})=>{typeof t=="string"&&(t=Ui.parse(t,e));let r=MAe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Ui.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ui.compile(t,e):Ui.expand(t,e);zM.exports=Ui});var Mg=C((F4e,ZM)=>{"use strict";var OAe=require("path"),_n="\\\\/",_M=`[^${_n}]`,Os="\\.",KAe="\\+",UAe="\\?",RC="\\/",HAe="(?=.)",$M="[^/]",oQ=`(?:${RC}|$)`,eT=`(?:^|${RC})`,aQ=`${Os}{1,2}${oQ}`,YAe=`(?!${Os})`,jAe=`(?!${eT}${aQ})`,GAe=`(?!${Os}{0,1}${oQ})`,qAe=`(?!${aQ})`,JAe=`[^.${RC}]`,WAe=`${$M}*?`,tT={DOT_LITERAL:Os,PLUS_LITERAL:KAe,QMARK_LITERAL:UAe,SLASH_LITERAL:RC,ONE_CHAR:HAe,QMARK:$M,END_ANCHOR:oQ,DOTS_SLASH:aQ,NO_DOT:YAe,NO_DOTS:jAe,NO_DOT_SLASH:GAe,NO_DOTS_SLASH:qAe,QMARK_NO_DOT:JAe,STAR:WAe,START_ANCHOR:eT},zAe=V(v({},tT),{SLASH_LITERAL:`[${_n}]`,QMARK:_M,STAR:`${_M}*?`,DOTS_SLASH:`${Os}{1,2}(?:[${_n}]|$)`,NO_DOT:`(?!${Os})`,NO_DOTS:`(?!(?:^|[${_n}])${Os}{1,2}(?:[${_n}]|$))`,NO_DOT_SLASH:`(?!${Os}{0,1}(?:[${_n}]|$))`,NO_DOTS_SLASH:`(?!${Os}{1,2}(?:[${_n}]|$))`,QMARK_NO_DOT:`[^.${_n}]`,START_ANCHOR:`(?:^|[${_n}])`,END_ANCHOR:`(?:[${_n}]|$)`}),VAe={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};ZM.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:VAe,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:OAe.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?zAe:tT}}});var Tg=C(wi=>{"use strict";var XAe=require("path"),ZAe=process.platform==="win32",{REGEX_BACKSLASH:_Ae,REGEX_REMOVE_BACKSLASH:$Ae,REGEX_SPECIAL_CHARS:ele,REGEX_SPECIAL_CHARS_GLOBAL:tle}=Mg();wi.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);wi.hasRegexChars=t=>ele.test(t);wi.isRegexChar=t=>t.length===1&&wi.hasRegexChars(t);wi.escapeRegex=t=>t.replace(tle,"\\$1");wi.toPosixSlashes=t=>t.replace(_Ae,"/");wi.removeBackslashes=t=>t.replace($Ae,e=>e==="\\"?"":e);wi.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};wi.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:ZAe===!0||XAe.sep==="\\";wi.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?wi.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};wi.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};wi.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var cT=C((N4e,rT)=>{"use strict";var iT=Tg(),{CHAR_ASTERISK:AQ,CHAR_AT:rle,CHAR_BACKWARD_SLASH:Og,CHAR_COMMA:ile,CHAR_DOT:lQ,CHAR_EXCLAMATION_MARK:nT,CHAR_FORWARD_SLASH:sT,CHAR_LEFT_CURLY_BRACE:cQ,CHAR_LEFT_PARENTHESES:uQ,CHAR_LEFT_SQUARE_BRACKET:nle,CHAR_PLUS:sle,CHAR_QUESTION_MARK:oT,CHAR_RIGHT_CURLY_BRACE:ole,CHAR_RIGHT_PARENTHESES:aT,CHAR_RIGHT_SQUARE_BRACKET:ale}=Mg(),AT=t=>t===sT||t===Og,lT=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},Ale=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,I=!1,y=!1,B=!1,x=!1,F=!1,N=0,O,P,J={value:"",depth:0,isGlob:!1},oe=()=>c>=i,K=()=>l.charCodeAt(c+1),A=()=>(O=P,l.charCodeAt(++c));for(;c0&&(ee=l.slice(0,u),l=l.slice(u),g-=u),W&&p===!0&&g>0?(W=l.slice(0,g),re=l.slice(g)):p===!0?(W="",re=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&AT(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===!0&&(re&&(re=iT.removeBackslashes(re)),W&&B===!0&&(W=iT.removeBackslashes(W)));let H={prefix:ee,input:t,start:u,base:W,glob:re,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:I,negated:x};if(r.tokens===!0&&(H.maxDepth=0,AT(P)||o.push(J),H.tokens=o),r.parts===!0||r.tokens===!0){let R;for(let ve=0;ve{"use strict";var NC=Mg(),Hi=Tg(),{MAX_LENGTH:LC,POSIX_REGEX_SOURCE:lle,REGEX_NON_SPECIAL_CHARS:cle,REGEX_SPECIAL_CHARS_BACKREF:ule,REPLACEMENTS:gT}=NC,gle=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>Hi.escapeRegex(n)).join("..")}return r},Ll=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,fT=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=gT[t]||t;let r=v({},e),i=typeof r.maxLength=="number"?Math.min(LC,r.maxLength):LC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=Hi.isWindows(e),c=NC.globChars(l),u=NC.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:I,NO_DOT_SLASH:y,NO_DOTS_SLASH:B,QMARK:x,QMARK_NO_DOT:F,STAR:N,START_ANCHOR:O}=c,P=X=>`(${a}(?:(?!${O}${X.dot?m:g}).)*?)`,J=r.dot?"":I,oe=r.dot?x:F,K=r.bash===!0?P(r):N;r.capture&&(K=`(${K})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Hi.removePrefix(t,A),n=t.length;let W=[],ee=[],re=[],H=s,R,ve=()=>A.index===n-1,Ne=A.peek=(X=1)=>t[A.index+X],Je=A.advance=()=>t[++A.index],Ke=()=>t.slice(A.index+1),ie=(X="",ae=0)=>{A.consumed+=X,A.index+=ae},ce=X=>{A.output+=X.output!=null?X.output:X.value,ie(X.value)},Se=()=>{let X=1;for(;Ne()==="!"&&(Ne(2)!=="("||Ne(3)==="?");)Je(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},fe=X=>{A[X]++,re.push(X)},Ie=X=>{A[X]--,re.pop()},pe=X=>{if(H.type==="globstar"){let ae=A.braces>0&&(X.type==="comma"||X.type==="brace"),ue=X.extglob===!0||W.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!ae&&!ue&&(A.output=A.output.slice(0,-H.output.length),H.type="star",H.value="*",H.output=K,A.output+=H.output)}if(W.length&&X.type!=="paren"&&!u[X.value]&&(W[W.length-1].inner+=X.value),(X.value||X.output)&&ce(X),H&&H.type==="text"&&X.type==="text"){H.value+=X.value,H.output=(H.output||"")+X.value;return}X.prev=H,o.push(X),H=X},Qe=(X,ae)=>{let ue=V(v({},u[ae]),{conditions:1,inner:""});ue.prev=H,ue.parens=A.parens,ue.output=A.output;let Be=(r.capture?"(":"")+ue.open;fe("parens"),pe({type:X,value:ae,output:A.output?"":p}),pe({type:"paren",extglob:!0,value:Je(),output:Be}),W.push(ue)},Z=X=>{let ae=X.close+(r.capture?")":"");if(X.type==="negate"){let ue=K;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(ue=P(r)),(ue!==K||ve()||/^\)+$/.test(Ke()))&&(ae=X.close=`)$))${ue}`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}pe({type:"paren",extglob:!0,value:R,output:ae}),Ie("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,ae=t.replace(ule,(ue,Be,ct,mt,St,xn)=>mt==="\\"?(X=!0,ue):mt==="?"?Be?Be+mt+(St?x.repeat(St.length):""):xn===0?oe+(St?x.repeat(St.length):""):x.repeat(ct.length):mt==="."?g.repeat(ct.length):mt==="*"?Be?Be+mt+(St?K:""):K:Be?ue:`\\${ue}`);return X===!0&&(r.unescape===!0?ae=ae.replace(/\\/g,""):ae=ae.replace(/\\+/g,ue=>ue.length%2==0?"\\\\":ue?"\\":"")),ae===t&&r.contains===!0?(A.output=t,A):(A.output=Hi.wrapOutput(ae,A,e),A)}for(;!ve();){if(R=Je(),R==="\0")continue;if(R==="\\"){let ue=Ne();if(ue==="/"&&r.bash!==!0||ue==="."||ue===";")continue;if(!ue){R+="\\",pe({type:"text",value:R});continue}let Be=/^\\+/.exec(Ke()),ct=0;if(Be&&Be[0].length>2&&(ct=Be[0].length,A.index+=ct,ct%2!=0&&(R+="\\")),r.unescape===!0?R=Je()||"":R+=Je()||"",A.brackets===0){pe({type:"text",value:R});continue}}if(A.brackets>0&&(R!=="]"||H.value==="["||H.value==="[^")){if(r.posix!==!1&&R===":"){let ue=H.value.slice(1);if(ue.includes("[")&&(H.posix=!0,ue.includes(":"))){let Be=H.value.lastIndexOf("["),ct=H.value.slice(0,Be),mt=H.value.slice(Be+2),St=lle[mt];if(St){H.value=ct+St,A.backtrack=!0,Je(),!s.output&&o.indexOf(H)===1&&(s.output=p);continue}}}(R==="["&&Ne()!==":"||R==="-"&&Ne()==="]")&&(R=`\\${R}`),R==="]"&&(H.value==="["||H.value==="[^")&&(R=`\\${R}`),r.posix===!0&&R==="!"&&H.value==="["&&(R="^"),H.value+=R,ce({value:R});continue}if(A.quotes===1&&R!=='"'){R=Hi.escapeRegex(R),H.value+=R,ce({value:R});continue}if(R==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&pe({type:"text",value:R});continue}if(R==="("){fe("parens"),pe({type:"paren",value:R});continue}if(R===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Ll("opening","("));let ue=W[W.length-1];if(ue&&A.parens===ue.parens+1){Z(W.pop());continue}pe({type:"paren",value:R,output:A.parens?")":"\\)"}),Ie("parens");continue}if(R==="["){if(r.nobracket===!0||!Ke().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Ll("closing","]"));R=`\\${R}`}else fe("brackets");pe({type:"bracket",value:R});continue}if(R==="]"){if(r.nobracket===!0||H&&H.type==="bracket"&&H.value.length===1){pe({type:"text",value:R,output:`\\${R}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Ll("opening","["));pe({type:"text",value:R,output:`\\${R}`});continue}Ie("brackets");let ue=H.value.slice(1);if(H.posix!==!0&&ue[0]==="^"&&!ue.includes("/")&&(R=`/${R}`),H.value+=R,ce({value:R}),r.literalBrackets===!1||Hi.hasRegexChars(ue))continue;let Be=Hi.escapeRegex(H.value);if(A.output=A.output.slice(0,-H.value.length),r.literalBrackets===!0){A.output+=Be,H.value=Be;continue}H.value=`(${a}${Be}|${H.value})`,A.output+=H.value;continue}if(R==="{"&&r.nobrace!==!0){fe("braces");let ue={type:"brace",value:R,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};ee.push(ue),pe(ue);continue}if(R==="}"){let ue=ee[ee.length-1];if(r.nobrace===!0||!ue){pe({type:"text",value:R,output:R});continue}let Be=")";if(ue.dots===!0){let ct=o.slice(),mt=[];for(let St=ct.length-1;St>=0&&(o.pop(),ct[St].type!=="brace");St--)ct[St].type!=="dots"&&mt.unshift(ct[St].value);Be=gle(mt,r),A.backtrack=!0}if(ue.comma!==!0&&ue.dots!==!0){let ct=A.output.slice(0,ue.outputIndex),mt=A.tokens.slice(ue.tokensIndex);ue.value=ue.output="\\{",R=Be="\\}",A.output=ct;for(let St of mt)A.output+=St.output||St.value}pe({type:"brace",value:R,output:Be}),Ie("braces"),ee.pop();continue}if(R==="|"){W.length>0&&W[W.length-1].conditions++,pe({type:"text",value:R});continue}if(R===","){let ue=R,Be=ee[ee.length-1];Be&&re[re.length-1]==="braces"&&(Be.comma=!0,ue="|"),pe({type:"comma",value:R,output:ue});continue}if(R==="/"){if(H.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),H=s;continue}pe({type:"slash",value:R,output:h});continue}if(R==="."){if(A.braces>0&&H.type==="dot"){H.value==="."&&(H.output=g);let ue=ee[ee.length-1];H.type="dots",H.output+=R,H.value+=R,ue.dots=!0;continue}if(A.braces+A.parens===0&&H.type!=="bos"&&H.type!=="slash"){pe({type:"text",value:R,output:g});continue}pe({type:"dot",value:R,output:g});continue}if(R==="?"){if(!(H&&H.value==="(")&&r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){Qe("qmark",R);continue}if(H&&H.type==="paren"){let Be=Ne(),ct=R;if(Be==="<"&&!Hi.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(H.value==="("&&!/[!=<:]/.test(Be)||Be==="<"&&!/<([!=]|\w+>)/.test(Ke()))&&(ct=`\\${R}`),pe({type:"text",value:R,output:ct});continue}if(r.dot!==!0&&(H.type==="slash"||H.type==="bos")){pe({type:"qmark",value:R,output:F});continue}pe({type:"qmark",value:R,output:x});continue}if(R==="!"){if(r.noextglob!==!0&&Ne()==="("&&(Ne(2)!=="?"||!/[!=<:]/.test(Ne(3)))){Qe("negate",R);continue}if(r.nonegate!==!0&&A.index===0){Se();continue}}if(R==="+"){if(r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){Qe("plus",R);continue}if(H&&H.value==="("||r.regex===!1){pe({type:"plus",value:R,output:f});continue}if(H&&(H.type==="bracket"||H.type==="paren"||H.type==="brace")||A.parens>0){pe({type:"plus",value:R});continue}pe({type:"plus",value:f});continue}if(R==="@"){if(r.noextglob!==!0&&Ne()==="("&&Ne(2)!=="?"){pe({type:"at",extglob:!0,value:R,output:""});continue}pe({type:"text",value:R});continue}if(R!=="*"){(R==="$"||R==="^")&&(R=`\\${R}`);let ue=cle.exec(Ke());ue&&(R+=ue[0],A.index+=ue[0].length),pe({type:"text",value:R});continue}if(H&&(H.type==="globstar"||H.star===!0)){H.type="star",H.star=!0,H.value+=R,H.output=K,A.backtrack=!0,A.globstar=!0,ie(R);continue}let X=Ke();if(r.noextglob!==!0&&/^\([^?]/.test(X)){Qe("star",R);continue}if(H.type==="star"){if(r.noglobstar===!0){ie(R);continue}let ue=H.prev,Be=ue.prev,ct=ue.type==="slash"||ue.type==="bos",mt=Be&&(Be.type==="star"||Be.type==="globstar");if(r.bash===!0&&(!ct||X[0]&&X[0]!=="/")){pe({type:"star",value:R,output:""});continue}let St=A.braces>0&&(ue.type==="comma"||ue.type==="brace"),xn=W.length&&(ue.type==="pipe"||ue.type==="paren");if(!ct&&ue.type!=="paren"&&!St&&!xn){pe({type:"star",value:R,output:""});continue}for(;X.slice(0,3)==="/**";){let Ii=t[A.index+4];if(Ii&&Ii!=="/")break;X=X.slice(3),ie("/**",3)}if(ue.type==="bos"&&ve()){H.type="globstar",H.value+=R,H.output=P(r),A.output=H.output,A.globstar=!0,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&!mt&&ve()){A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=P(r)+(r.strictSlashes?")":"|$)"),H.value+=R,A.globstar=!0,A.output+=ue.output+H.output,ie(R);continue}if(ue.type==="slash"&&ue.prev.type!=="bos"&&X[0]==="/"){let Ii=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ue.output+H.output).length),ue.output=`(?:${ue.output}`,H.type="globstar",H.output=`${P(r)}${h}|${h}${Ii})`,H.value+=R,A.output+=ue.output+H.output,A.globstar=!0,ie(R+Je()),pe({type:"slash",value:"/",output:""});continue}if(ue.type==="bos"&&X[0]==="/"){H.type="globstar",H.value+=R,H.output=`(?:^|${h}|${P(r)}${h})`,A.output=H.output,A.globstar=!0,ie(R+Je()),pe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-H.output.length),H.type="globstar",H.output=P(r),H.value+=R,A.output+=H.output,A.globstar=!0,ie(R);continue}let ae={type:"star",value:R,output:K};if(r.bash===!0){ae.output=".*?",(H.type==="bos"||H.type==="slash")&&(ae.output=J+ae.output),pe(ae);continue}if(H&&(H.type==="bracket"||H.type==="paren")&&r.regex===!0){ae.output=R,pe(ae);continue}(A.index===A.start||H.type==="slash"||H.type==="dot")&&(H.type==="dot"?(A.output+=y,H.output+=y):r.dot===!0?(A.output+=B,H.output+=B):(A.output+=J,H.output+=J),Ne()!=="*"&&(A.output+=p,H.output+=p)),pe(ae)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing","]"));A.output=Hi.escapeLast(A.output,"["),Ie("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing",")"));A.output=Hi.escapeLast(A.output,"("),Ie("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Ll("closing","}"));A.output=Hi.escapeLast(A.output,"{"),Ie("braces")}if(r.strictSlashes!==!0&&(H.type==="star"||H.type==="bracket")&&pe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};fT.fastpaths=(t,e)=>{let r=v({},e),i=typeof r.maxLength=="number"?Math.min(LC,r.maxLength):LC,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=gT[t]||t;let s=Hi.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=NC.globChars(s),m=r.dot?g:u,I=r.dot?f:u,y=r.capture?"":"?:",B={negated:!1,prefix:""},x=r.bash===!0?".*?":h;r.capture&&(x=`(${x})`);let F=J=>J.noglobstar===!0?x:`(${y}(?:(?!${p}${J.dot?c:o}).)*?)`,N=J=>{switch(J){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${I}${x}`;case"**":return m+F(r);case"**/*":return`(?:${m}${F(r)}${a})?${I}${l}${x}`;case"**/*.*":return`(?:${m}${F(r)}${a})?${I}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${F(r)}${a})?${o}${l}${x}`;default:{let oe=/^(.*?)\.(\w+)$/.exec(J);if(!oe)return;let K=N(oe[1]);return K?K+o+oe[2]:void 0}}},O=Hi.removePrefix(t,B),P=N(O);return P&&r.strictSlashes!==!0&&(P+=`${a}?`),P};uT.exports=fT});var dT=C((M4e,pT)=>{"use strict";var fle=require("path"),hle=cT(),gQ=hT(),fQ=Tg(),ple=Mg(),dle=t=>t&&typeof t=="object"&&!Array.isArray(t),nr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>nr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=dle(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=fQ.isWindows(e),o=i?nr.compileRe(t,e):nr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=V(v({},e),{ignore:null,onMatch:null,onResult:null});l=nr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=nr.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};nr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?fQ.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=nr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};nr.matchBase=(t,e,r,i=fQ.isWindows(r))=>(e instanceof RegExp?e:nr.makeRe(e,r)).test(fle.basename(t));nr.isMatch=(t,e,r)=>nr(e,r)(t);nr.parse=(t,e)=>Array.isArray(t)?t.map(r=>nr.parse(r,e)):gQ(t,V(v({},e),{fastpaths:!1}));nr.scan=(t,e)=>hle(t,e);nr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=nr.toRegex(a,e);return i===!0&&(l.state=t),l};nr.makeRe=(t,e,r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n=e||{},s={negated:!1,fastpaths:!0},o="",a;return t.startsWith("./")&&(t=t.slice(2),o=s.prefix="./"),n.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a=gQ.fastpaths(t,e)),a===void 0?(s=gQ(t,e),s.prefix=o+(s.prefix||"")):s.output=a,nr.compileRe(s,e,r,i)};nr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};nr.constants=ple;pT.exports=nr});var hQ=C((T4e,CT)=>{"use strict";CT.exports=dT()});var Yi=C((O4e,mT)=>{"use strict";var IT=require("util"),ET=XM(),$n=hQ(),pQ=Tg(),yT=t=>typeof t=="string"&&(t===""||t==="./"),Wt=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Wt.match=Wt;Wt.matcher=(t,e)=>$n(t,e);Wt.isMatch=(t,e,r)=>$n(e,r)(t);Wt.any=Wt.isMatch;Wt.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Wt(t,e,V(v({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Wt.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${IT.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Wt.contains(t,i,r));if(typeof e=="string"){if(yT(t)||yT(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Wt.isMatch(t,e,V(v({},r),{contains:!0}))};Wt.matchKeys=(t,e,r)=>{if(!pQ.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Wt(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Wt.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=$n(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Wt.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=$n(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Wt.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${IT.inspect(t)}"`);return[].concat(e).every(i=>$n(i,r)(t))};Wt.capture=(t,e,r)=>{let i=pQ.isWindows(r),s=$n.makeRe(String(t),V(v({},r),{capture:!0})).exec(i?pQ.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Wt.makeRe=(...t)=>$n.makeRe(...t);Wt.scan=(...t)=>$n.scan(...t);Wt.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of ET(String(i),e))r.push($n.parse(n,e));return r};Wt.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:ET(t,e)};Wt.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Wt.braces(t,V(v({},e),{expand:!0}))};mT.exports=Wt});var wT=C((K4e,BT)=>{"use strict";BT.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var bT=C((U4e,QT)=>{"use strict";var Cle=wT();QT.exports=t=>typeof t=="string"?t.replace(Cle(),""):t});var Tl={};et(Tl,{KeyRelationship:()=>$a,applyCascade:()=>QQ,base64RegExp:()=>vT,colorStringAlphaRegExp:()=>kT,colorStringRegExp:()=>xT,computeKey:()=>Mo,getPrintable:()=>lr,hasExactLength:()=>LT,hasForbiddenKeys:()=>Vle,hasKeyRelationship:()=>DQ,hasMaxLength:()=>Fle,hasMinLength:()=>Ple,hasMutuallyExclusiveKeys:()=>Xle,hasRequiredKeys:()=>zle,hasUniqueItems:()=>Rle,isArray:()=>wle,isAtLeast:()=>Mle,isAtMost:()=>Tle,isBase64:()=>Jle,isBoolean:()=>Ele,isDate:()=>Ble,isDict:()=>ble,isEnum:()=>ni,isHexColor:()=>qle,isISO8601:()=>Gle,isInExclusiveRange:()=>Kle,isInInclusiveRange:()=>Ole,isInstanceOf:()=>Sle,isInteger:()=>Ule,isJSON:()=>Wle,isLiteral:()=>mle,isLowerCase:()=>Hle,isNegative:()=>Nle,isNullable:()=>vle,isNumber:()=>yle,isObject:()=>Dle,isOneOf:()=>xle,isOptional:()=>kle,isPositive:()=>Lle,isString:()=>wQ,isTuple:()=>Qle,isUUID4:()=>jle,isUnknown:()=>NT,isUpperCase:()=>Yle,iso8601RegExp:()=>BQ,makeCoercionFn:()=>_a,makeSetter:()=>RT,makeTrait:()=>FT,makeValidator:()=>at,matchesRegExp:()=>bQ,plural:()=>KC,pushError:()=>tt,simpleKeyRegExp:()=>ST,uuid4RegExp:()=>PT});function at({test:t}){return FT(t)()}function lr(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function Mo(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:ST.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function _a(t,e){return r=>{let i=t[e];return t[e]=r,_a(t,e).bind(null,i)}}function RT(t,e){return r=>{t[e]=r}}function KC(t,e,r){return t===1?e:r}function tt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function mle(t){return at({test:(e,r)=>e!==t?tt(r,`Expected a literal (got ${lr(t)})`):!0})}function ni(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return at({test:(i,n)=>r.has(i)?!0:tt(n,`Expected a valid enumeration value (got ${lr(i)})`)})}var ST,xT,kT,vT,PT,BQ,FT,NT,wQ,Ile,Ele,yle,Ble,wle,Qle,ble,Dle,Sle,xle,QQ,kle,vle,Ple,Fle,LT,Rle,Nle,Lle,Mle,Tle,Ole,Kle,Ule,bQ,Hle,Yle,jle,Gle,qle,Jle,Wle,zle,Vle,Xle,$a,Zle,DQ,Pn=Yoe(()=>{ST=/^[a-zA-Z_][a-zA-Z0-9_]*$/,xT=/^#[0-9a-f]{6}$/i,kT=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,vT=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,PT=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,BQ=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,FT=t=>()=>t;NT=()=>at({test:(t,e)=>!0});wQ=()=>at({test:(t,e)=>typeof t!="string"?tt(e,`Expected a string (got ${lr(t)})`):!0});Ile=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Ele=()=>at({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return tt(e,"Unbound coercion result");let i=Ile.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return tt(e,`Expected a boolean (got ${lr(t)})`)}return!0}}),yle=()=>at({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return tt(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return tt(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return tt(e,`Expected a number (got ${lr(t)})`)}return!0}}),Ble=()=>at({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return tt(e,"Unbound coercion result");let i;if(typeof t=="string"&&BQ.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return tt(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return tt(e,`Expected a date (got ${lr(t)})`)}return!0}}),wle=(t,{delimiter:e}={})=>at({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return tt(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return tt(i,`Expected an array (got ${lr(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=LT(t.length);return at({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return tt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return tt(n,`Expected a tuple (got ${lr(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aat({test:(r,i)=>{if(typeof r!="object"||r===null)return tt(i,`Expected an object (got ${lr(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return at({test:(i,n)=>{if(typeof i!="object"||i===null)return tt(n,`Expected an object (got ${lr(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=tt(Object.assign(Object.assign({},n),{p:Mo(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:Mo(n,l),coercion:_a(i,l)}))&&a:e===null?a=tt(Object.assign(Object.assign({},n),{p:Mo(n,l)}),`Extraneous property (got ${lr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:RT(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},Sle=t=>at({test:(e,r)=>e instanceof t?!0:tt(r,`Expected an instance of ${t.name} (got ${lr(e)})`)}),xle=(t,{exclusive:e=!1}={})=>at({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?tt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),QQ=(t,e)=>at({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?_a(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return tt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),kle=t=>at({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),vle=t=>at({test:(e,r)=>e===null?!0:t(e,r)}),Ple=t=>at({test:(e,r)=>e.length>=t?!0:tt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),Fle=t=>at({test:(e,r)=>e.length<=t?!0:tt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),LT=t=>at({test:(e,r)=>e.length!==t?tt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),Rle=({map:t}={})=>at({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sat({test:(t,e)=>t<=0?!0:tt(e,`Expected to be negative (got ${t})`)}),Lle=()=>at({test:(t,e)=>t>=0?!0:tt(e,`Expected to be positive (got ${t})`)}),Mle=t=>at({test:(e,r)=>e>=t?!0:tt(r,`Expected to be at least ${t} (got ${e})`)}),Tle=t=>at({test:(e,r)=>e<=t?!0:tt(r,`Expected to be at most ${t} (got ${e})`)}),Ole=(t,e)=>at({test:(r,i)=>r>=t&&r<=e?!0:tt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),Kle=(t,e)=>at({test:(r,i)=>r>=t&&rat({test:(e,r)=>e!==Math.round(e)?tt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:tt(r,`Expected to be a safe integer (got ${e})`)}),bQ=t=>at({test:(e,r)=>t.test(e)?!0:tt(r,`Expected to match the pattern ${t.toString()} (got ${lr(e)})`)}),Hle=()=>at({test:(t,e)=>t!==t.toLowerCase()?tt(e,`Expected to be all-lowercase (got ${t})`):!0}),Yle=()=>at({test:(t,e)=>t!==t.toUpperCase()?tt(e,`Expected to be all-uppercase (got ${t})`):!0}),jle=()=>at({test:(t,e)=>PT.test(t)?!0:tt(e,`Expected to be a valid UUID v4 (got ${lr(t)})`)}),Gle=()=>at({test:(t,e)=>BQ.test(t)?!1:tt(e,`Expected to be a valid ISO 8601 date string (got ${lr(t)})`)}),qle=({alpha:t=!1})=>at({test:(e,r)=>(t?xT.test(e):kT.test(e))?!0:tt(r,`Expected to be a valid hexadecimal color string (got ${lr(e)})`)}),Jle=()=>at({test:(t,e)=>vT.test(t)?!0:tt(e,`Expected to be a valid base 64 string (got ${lr(t)})`)}),Wle=(t=NT())=>at({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return tt(r,`Expected to be a valid JSON string (got ${lr(e)})`)}return t(i,r)}}),zle=t=>{let e=new Set(t);return at({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?tt(i,`Missing required ${KC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Vle=t=>{let e=new Set(t);return at({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?tt(i,`Forbidden ${KC(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},Xle=t=>{let e=new Set(t);return at({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?tt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})($a||($a={}));Zle={[$a.Forbids]:{expect:!1,message:"forbids using"},[$a.Requires]:{expect:!0,message:"requires using"}},DQ=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=Zle[e];return at({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?tt(l,`Property "${t}" ${o.message} ${KC(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var Wg=C((Uze,ZT)=>{var fce="2.0.0",hce=256,pce=Number.MAX_SAFE_INTEGER||9007199254740991,dce=16;ZT.exports={SEMVER_SPEC_VERSION:fce,MAX_LENGTH:hce,MAX_SAFE_INTEGER:pce,MAX_SAFE_COMPONENT_LENGTH:dce}});var zg=C((Hze,_T)=>{var Cce=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};_T.exports=Cce});var eA=C((To,$T)=>{var{MAX_SAFE_COMPONENT_LENGTH:FQ}=Wg(),mce=zg();To=$T.exports={};var Ice=To.re=[],Ue=To.src=[],He=To.t={},Ece=0,At=(t,e,r)=>{let i=Ece++;mce(i,e),He[t]=i,Ue[i]=e,Ice[i]=new RegExp(e,r?"g":void 0)};At("NUMERICIDENTIFIER","0|[1-9]\\d*");At("NUMERICIDENTIFIERLOOSE","[0-9]+");At("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");At("MAINVERSION",`(${Ue[He.NUMERICIDENTIFIER]})\\.(${Ue[He.NUMERICIDENTIFIER]})\\.(${Ue[He.NUMERICIDENTIFIER]})`);At("MAINVERSIONLOOSE",`(${Ue[He.NUMERICIDENTIFIERLOOSE]})\\.(${Ue[He.NUMERICIDENTIFIERLOOSE]})\\.(${Ue[He.NUMERICIDENTIFIERLOOSE]})`);At("PRERELEASEIDENTIFIER",`(?:${Ue[He.NUMERICIDENTIFIER]}|${Ue[He.NONNUMERICIDENTIFIER]})`);At("PRERELEASEIDENTIFIERLOOSE",`(?:${Ue[He.NUMERICIDENTIFIERLOOSE]}|${Ue[He.NONNUMERICIDENTIFIER]})`);At("PRERELEASE",`(?:-(${Ue[He.PRERELEASEIDENTIFIER]}(?:\\.${Ue[He.PRERELEASEIDENTIFIER]})*))`);At("PRERELEASELOOSE",`(?:-?(${Ue[He.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Ue[He.PRERELEASEIDENTIFIERLOOSE]})*))`);At("BUILDIDENTIFIER","[0-9A-Za-z-]+");At("BUILD",`(?:\\+(${Ue[He.BUILDIDENTIFIER]}(?:\\.${Ue[He.BUILDIDENTIFIER]})*))`);At("FULLPLAIN",`v?${Ue[He.MAINVERSION]}${Ue[He.PRERELEASE]}?${Ue[He.BUILD]}?`);At("FULL",`^${Ue[He.FULLPLAIN]}$`);At("LOOSEPLAIN",`[v=\\s]*${Ue[He.MAINVERSIONLOOSE]}${Ue[He.PRERELEASELOOSE]}?${Ue[He.BUILD]}?`);At("LOOSE",`^${Ue[He.LOOSEPLAIN]}$`);At("GTLT","((?:<|>)?=?)");At("XRANGEIDENTIFIERLOOSE",`${Ue[He.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);At("XRANGEIDENTIFIER",`${Ue[He.NUMERICIDENTIFIER]}|x|X|\\*`);At("XRANGEPLAIN",`[v=\\s]*(${Ue[He.XRANGEIDENTIFIER]})(?:\\.(${Ue[He.XRANGEIDENTIFIER]})(?:\\.(${Ue[He.XRANGEIDENTIFIER]})(?:${Ue[He.PRERELEASE]})?${Ue[He.BUILD]}?)?)?`);At("XRANGEPLAINLOOSE",`[v=\\s]*(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Ue[He.XRANGEIDENTIFIERLOOSE]})(?:${Ue[He.PRERELEASELOOSE]})?${Ue[He.BUILD]}?)?)?`);At("XRANGE",`^${Ue[He.GTLT]}\\s*${Ue[He.XRANGEPLAIN]}$`);At("XRANGELOOSE",`^${Ue[He.GTLT]}\\s*${Ue[He.XRANGEPLAINLOOSE]}$`);At("COERCE",`(^|[^\\d])(\\d{1,${FQ}})(?:\\.(\\d{1,${FQ}}))?(?:\\.(\\d{1,${FQ}}))?(?:$|[^\\d])`);At("COERCERTL",Ue[He.COERCE],!0);At("LONETILDE","(?:~>?)");At("TILDETRIM",`(\\s*)${Ue[He.LONETILDE]}\\s+`,!0);To.tildeTrimReplace="$1~";At("TILDE",`^${Ue[He.LONETILDE]}${Ue[He.XRANGEPLAIN]}$`);At("TILDELOOSE",`^${Ue[He.LONETILDE]}${Ue[He.XRANGEPLAINLOOSE]}$`);At("LONECARET","(?:\\^)");At("CARETTRIM",`(\\s*)${Ue[He.LONECARET]}\\s+`,!0);To.caretTrimReplace="$1^";At("CARET",`^${Ue[He.LONECARET]}${Ue[He.XRANGEPLAIN]}$`);At("CARETLOOSE",`^${Ue[He.LONECARET]}${Ue[He.XRANGEPLAINLOOSE]}$`);At("COMPARATORLOOSE",`^${Ue[He.GTLT]}\\s*(${Ue[He.LOOSEPLAIN]})$|^$`);At("COMPARATOR",`^${Ue[He.GTLT]}\\s*(${Ue[He.FULLPLAIN]})$|^$`);At("COMPARATORTRIM",`(\\s*)${Ue[He.GTLT]}\\s*(${Ue[He.LOOSEPLAIN]}|${Ue[He.XRANGEPLAIN]})`,!0);To.comparatorTrimReplace="$1$2$3";At("HYPHENRANGE",`^\\s*(${Ue[He.XRANGEPLAIN]})\\s+-\\s+(${Ue[He.XRANGEPLAIN]})\\s*$`);At("HYPHENRANGELOOSE",`^\\s*(${Ue[He.XRANGEPLAINLOOSE]})\\s+-\\s+(${Ue[He.XRANGEPLAINLOOSE]})\\s*$`);At("STAR","(<|>)?=?\\s*\\*");At("GTE0","^\\s*>=\\s*0.0.0\\s*$");At("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Vg=C((Yze,eO)=>{var yce=["includePrerelease","loose","rtl"],Bce=t=>t?typeof t!="object"?{loose:!0}:yce.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};eO.exports=Bce});var qC=C((jze,tO)=>{var rO=/^[0-9]+$/,iO=(t,e)=>{let r=rO.test(t),i=rO.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:tiO(e,t);tO.exports={compareIdentifiers:iO,rcompareIdentifiers:wce}});var jr=C((Gze,nO)=>{var JC=zg(),{MAX_LENGTH:sO,MAX_SAFE_INTEGER:WC}=Wg(),{re:oO,t:aO}=eA(),Qce=Vg(),{compareIdentifiers:Xg}=qC(),ln=class{constructor(e,r){if(r=Qce(r),e instanceof ln){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>sO)throw new TypeError(`version is longer than ${sO} characters`);JC("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?oO[aO.LOOSE]:oO[aO.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>WC||this.major<0)throw new TypeError("Invalid major version");if(this.minor>WC||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>WC||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};nO.exports=ln});var tA=C((qze,AO)=>{var{MAX_LENGTH:bce}=Wg(),{re:lO,t:cO}=eA(),uO=jr(),Dce=Vg(),Sce=(t,e)=>{if(e=Dce(e),t instanceof uO)return t;if(typeof t!="string"||t.length>bce||!(e.loose?lO[cO.LOOSE]:lO[cO.FULL]).test(t))return null;try{return new uO(t,e)}catch(i){return null}};AO.exports=Sce});var fO=C((Jze,gO)=>{var xce=tA(),kce=(t,e)=>{let r=xce(t,e);return r?r.version:null};gO.exports=kce});var pO=C((Wze,hO)=>{var vce=tA(),Pce=(t,e)=>{let r=vce(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};hO.exports=Pce});var CO=C((zze,dO)=>{var Fce=jr(),Rce=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new Fce(t,r).inc(e,i).version}catch(n){return null}};dO.exports=Rce});var cn=C((Vze,mO)=>{var IO=jr(),Nce=(t,e,r)=>new IO(t,r).compare(new IO(e,r));mO.exports=Nce});var zC=C((Xze,EO)=>{var Lce=cn(),Mce=(t,e,r)=>Lce(t,e,r)===0;EO.exports=Mce});var wO=C((Zze,yO)=>{var BO=tA(),Tce=zC(),Oce=(t,e)=>{if(Tce(t,e))return null;{let r=BO(t),i=BO(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};yO.exports=Oce});var bO=C((_ze,QO)=>{var Kce=jr(),Uce=(t,e)=>new Kce(t,e).major;QO.exports=Uce});var SO=C(($ze,DO)=>{var Hce=jr(),Yce=(t,e)=>new Hce(t,e).minor;DO.exports=Yce});var kO=C((e5e,xO)=>{var jce=jr(),Gce=(t,e)=>new jce(t,e).patch;xO.exports=Gce});var PO=C((t5e,vO)=>{var qce=tA(),Jce=(t,e)=>{let r=qce(t,e);return r&&r.prerelease.length?r.prerelease:null};vO.exports=Jce});var RO=C((r5e,FO)=>{var Wce=cn(),zce=(t,e,r)=>Wce(e,t,r);FO.exports=zce});var LO=C((i5e,NO)=>{var Vce=cn(),Xce=(t,e)=>Vce(t,e,!0);NO.exports=Xce});var VC=C((n5e,MO)=>{var TO=jr(),Zce=(t,e,r)=>{let i=new TO(t,r),n=new TO(e,r);return i.compare(n)||i.compareBuild(n)};MO.exports=Zce});var KO=C((s5e,OO)=>{var _ce=VC(),$ce=(t,e)=>t.sort((r,i)=>_ce(r,i,e));OO.exports=$ce});var HO=C((o5e,UO)=>{var eue=VC(),tue=(t,e)=>t.sort((r,i)=>eue(i,r,e));UO.exports=tue});var Zg=C((a5e,YO)=>{var rue=cn(),iue=(t,e,r)=>rue(t,e,r)>0;YO.exports=iue});var XC=C((A5e,jO)=>{var nue=cn(),sue=(t,e,r)=>nue(t,e,r)<0;jO.exports=sue});var RQ=C((l5e,GO)=>{var oue=cn(),aue=(t,e,r)=>oue(t,e,r)!==0;GO.exports=aue});var ZC=C((c5e,qO)=>{var Aue=cn(),lue=(t,e,r)=>Aue(t,e,r)>=0;qO.exports=lue});var _C=C((u5e,JO)=>{var cue=cn(),uue=(t,e,r)=>cue(t,e,r)<=0;JO.exports=uue});var NQ=C((g5e,WO)=>{var gue=zC(),fue=RQ(),hue=Zg(),pue=ZC(),due=XC(),Cue=_C(),mue=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return gue(t,r,i);case"!=":return fue(t,r,i);case">":return hue(t,r,i);case">=":return pue(t,r,i);case"<":return due(t,r,i);case"<=":return Cue(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};WO.exports=mue});var VO=C((f5e,zO)=>{var Iue=jr(),Eue=tA(),{re:$C,t:em}=eA(),yue=(t,e)=>{if(t instanceof Iue)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match($C[em.COERCE]);else{let i;for(;(i=$C[em.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),$C[em.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;$C[em.COERCERTL].lastIndex=-1}return r===null?null:Eue(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};zO.exports=yue});var ZO=C((h5e,XO)=>{"use strict";XO.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var _g=C((p5e,_O)=>{"use strict";_O.exports=It;It.Node=rA;It.create=It;function It(t){var e=this;if(e instanceof It||(e=new It),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};It.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};It.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};It.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};It.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new It;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};It.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var bue=_g(),iA=Symbol("max"),Us=Symbol("length"),Kl=Symbol("lengthCalculator"),$g=Symbol("allowStale"),nA=Symbol("maxAge"),Hs=Symbol("dispose"),eK=Symbol("noDisposeOnSet"),br=Symbol("lruList"),Rn=Symbol("cache"),tK=Symbol("updateAgeOnGet"),LQ=()=>1,rK=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[iA]=e.max||Infinity,i=e.length||LQ;if(this[Kl]=typeof i!="function"?LQ:i,this[$g]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[nA]=e.maxAge||0,this[Hs]=e.dispose,this[eK]=e.noDisposeOnSet||!1,this[tK]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[iA]=e||Infinity,ef(this)}get max(){return this[iA]}set allowStale(e){this[$g]=!!e}get allowStale(){return this[$g]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[nA]=e,ef(this)}get maxAge(){return this[nA]}set lengthCalculator(e){typeof e!="function"&&(e=LQ),e!==this[Kl]&&(this[Kl]=e,this[Us]=0,this[br].forEach(r=>{r.length=this[Kl](r.value,r.key),this[Us]+=r.length})),ef(this)}get lengthCalculator(){return this[Kl]}get length(){return this[Us]}get itemCount(){return this[br].length}rforEach(e,r){r=r||this;for(let i=this[br].tail;i!==null;){let n=i.prev;nK(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[br].head;i!==null;){let n=i.next;nK(this,e,i,r),i=n}}keys(){return this[br].toArray().map(e=>e.key)}values(){return this[br].toArray().map(e=>e.value)}reset(){this[Hs]&&this[br]&&this[br].length&&this[br].forEach(e=>this[Hs](e.key,e.value)),this[Rn]=new Map,this[br]=new bue,this[Us]=0}dump(){return this[br].map(e=>tm(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[br]}set(e,r,i){if(i=i||this[nA],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Kl](r,e);if(this[Rn].has(e)){if(s>this[iA])return Ul(this,this[Rn].get(e)),!1;let l=this[Rn].get(e).value;return this[Hs]&&(this[eK]||this[Hs](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Us]+=s-l.length,l.length=s,this.get(e),ef(this),!0}let o=new iK(e,r,s,n,i);return o.length>this[iA]?(this[Hs]&&this[Hs](e,r),!1):(this[Us]+=o.length,this[br].unshift(o),this[Rn].set(e,this[br].head),ef(this),!0)}has(e){if(!this[Rn].has(e))return!1;let r=this[Rn].get(e).value;return!tm(this,r)}get(e){return MQ(this,e,!0)}peek(e){return MQ(this,e,!1)}pop(){let e=this[br].tail;return e?(Ul(this,e),e.value):null}del(e){Ul(this,this[Rn].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[Rn].forEach((e,r)=>MQ(this,r,!1))}},MQ=(t,e,r)=>{let i=t[Rn].get(e);if(i){let n=i.value;if(tm(t,n)){if(Ul(t,i),!t[$g])return}else r&&(t[tK]&&(i.value.now=Date.now()),t[br].unshiftNode(i));return n.value}},tm=(t,e)=>{if(!e||!e.maxAge&&!t[nA])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[nA]&&r>t[nA]},ef=t=>{if(t[Us]>t[iA])for(let e=t[br].tail;t[Us]>t[iA]&&e!==null;){let r=e.prev;Ul(t,e),e=r}},Ul=(t,e)=>{if(e){let r=e.value;t[Hs]&&t[Hs](r.key,r.value),t[Us]-=r.length,t[Rn].delete(r.key),t[br].removeNode(e)}},iK=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},nK=(t,e,r,i)=>{let n=r.value;tm(t,n)&&(Ul(t,r),t[$g]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};$O.exports=rK});var un=C((C5e,oK)=>{var Hl=class{constructor(e,r){if(r=Due(r),e instanceof Hl)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new Hl(e.raw,r);if(e instanceof TQ)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!AK(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Pue(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=aK.get(i);if(n)return n;let s=this.options.loose,o=s?Gr[Or.HYPHENRANGELOOSE]:Gr[Or.HYPHENRANGE];e=e.replace(o,Nue(this.options.includePrerelease)),sr("hyphen replace",e),e=e.replace(Gr[Or.COMPARATORTRIM],xue),sr("comparator trim",e,Gr[Or.COMPARATORTRIM]),e=e.replace(Gr[Or.TILDETRIM],kue),e=e.replace(Gr[Or.CARETTRIM],vue),e=e.split(/\s+/).join(" ");let a=s?Gr[Or.COMPARATORLOOSE]:Gr[Or.COMPARATOR],l=e.split(" ").map(f=>Fue(f,this.options)).join(" ").split(/\s+/).map(f=>Rue(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new TQ(f,this.options)),c=l.length,u=new Map;for(let f of l){if(AK(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return aK.set(i,g),g}intersects(e,r){if(!(e instanceof Hl))throw new TypeError("a Range is required");return this.set.some(i=>lK(i,r)&&e.set.some(n=>lK(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Sue(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",Pue=t=>t.value==="",lK=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},Fue=(t,e)=>(sr("comp",t,e),t=Oue(t,e),sr("caret",t),t=Tue(t,e),sr("tildes",t),t=Kue(t,e),sr("xrange",t),t=Uue(t,e),sr("stars",t),t),oi=t=>!t||t.toLowerCase()==="x"||t==="*",Tue=(t,e)=>t.trim().split(/\s+/).map(r=>Hue(r,e)).join(" "),Hue=(t,e)=>{let r=e.loose?Gr[Or.TILDELOOSE]:Gr[Or.TILDE];return t.replace(r,(i,n,s,o,a)=>{sr("tilde",t,i,n,s,o,a);let l;return oi(n)?l="":oi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:oi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(sr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,sr("tilde return",l),l})},Oue=(t,e)=>t.trim().split(/\s+/).map(r=>Yue(r,e)).join(" "),Yue=(t,e)=>{sr("caret",t,e);let r=e.loose?Gr[Or.CARETLOOSE]:Gr[Or.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{sr("caret",t,n,s,o,a,l);let c;return oi(s)?c="":oi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:oi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(sr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(sr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),sr("caret return",c),c})},Kue=(t,e)=>(sr("replaceXRanges",t,e),t.split(/\s+/).map(r=>jue(r,e)).join(" ")),jue=(t,e)=>{t=t.trim();let r=e.loose?Gr[Or.XRANGELOOSE]:Gr[Or.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{sr("xRange",t,i,n,s,o,a,l);let c=oi(s),u=c||oi(o),g=u||oi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),sr("xRange return",i),i})},Uue=(t,e)=>(sr("replaceStars",t,e),t.trim().replace(Gr[Or.STAR],"")),Rue=(t,e)=>(sr("replaceGTE0",t,e),t.trim().replace(Gr[e.includePrerelease?Or.GTE0PRE:Or.GTE0],"")),Nue=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(oi(i)?r="":oi(n)?r=`>=${i}.0.0${t?"-0":""}`:oi(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,oi(c)?l="":oi(u)?l=`<${+c+1}.0.0-0`:oi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),Lue=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var tf=C((m5e,cK)=>{var rf=Symbol("SemVer ANY"),nf=class{static get ANY(){return rf}constructor(e,r){if(r=Gue(r),e instanceof nf){if(e.loose===!!r.loose)return e;e=e.value}KQ("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===rf?this.value="":this.value=this.operator+this.semver.version,KQ("comp",this)}parse(e){let r=this.options.loose?uK[gK.COMPARATORLOOSE]:uK[gK.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new fK(i[2],this.options.loose):this.semver=rf}toString(){return this.value}test(e){if(KQ("Comparator.test",e,this.options.loose),this.semver===rf||e===rf)return!0;if(typeof e=="string")try{e=new fK(e,this.options)}catch(r){return!1}return OQ(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof nf))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new hK(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new hK(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=OQ(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=OQ(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};cK.exports=nf;var Gue=Vg(),{re:uK,t:gK}=eA(),OQ=NQ(),KQ=zg(),fK=jr(),hK=un()});var sf=C((I5e,pK)=>{var que=un(),Jue=(t,e,r)=>{try{e=new que(e,r)}catch(i){return!1}return e.test(t)};pK.exports=Jue});var CK=C((E5e,dK)=>{var Wue=un(),zue=(t,e)=>new Wue(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));dK.exports=zue});var IK=C((y5e,mK)=>{var Vue=jr(),Xue=un(),Zue=(t,e,r)=>{let i=null,n=null,s=null;try{s=new Xue(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new Vue(i,r))}),i};mK.exports=Zue});var yK=C((B5e,EK)=>{var _ue=jr(),$ue=un(),ege=(t,e,r)=>{let i=null,n=null,s=null;try{s=new $ue(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new _ue(i,r))}),i};EK.exports=ege});var QK=C((w5e,BK)=>{var UQ=jr(),tge=un(),wK=Zg(),rge=(t,e)=>{t=new tge(t,e);let r=new UQ("0.0.0");if(t.test(r)||(r=new UQ("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new UQ(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||wK(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||wK(r,s))&&(r=s)}return r&&t.test(r)?r:null};BK.exports=rge});var DK=C((Q5e,bK)=>{var ige=un(),nge=(t,e)=>{try{return new ige(t,e).range||"*"}catch(r){return null}};bK.exports=nge});var rm=C((b5e,SK)=>{var sge=jr(),xK=tf(),{ANY:oge}=xK,age=un(),Age=sf(),kK=Zg(),vK=XC(),lge=_C(),cge=ZC(),uge=(t,e,r,i)=>{t=new sge(t,i),e=new age(e,i);let n,s,o,a,l;switch(r){case">":n=kK,s=lge,o=vK,a=">",l=">=";break;case"<":n=vK,s=cge,o=kK,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Age(t,e,i))return!1;for(let c=0;c{h.semver===oge&&(h=new xK(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};SK.exports=uge});var FK=C((D5e,PK)=>{var gge=rm(),fge=(t,e,r)=>gge(t,e,">",r);PK.exports=fge});var NK=C((S5e,RK)=>{var hge=rm(),pge=(t,e,r)=>hge(t,e,"<",r);RK.exports=pge});var TK=C((x5e,LK)=>{var MK=un(),dge=(t,e,r)=>(t=new MK(t,r),e=new MK(e,r),t.intersects(e));LK.exports=dge});var KK=C((k5e,OK)=>{var Cge=sf(),mge=cn();OK.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>mge(u,g,r));for(let u of o)Cge(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var HK=un(),im=tf(),{ANY:HQ}=im,of=sf(),YQ=cn(),Ege=(t,e,r={})=>{if(t===e)return!0;t=new HK(t,r),e=new HK(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=Ige(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},Ige=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===HQ){if(e.length===1&&e[0].semver===HQ)return!0;r.includePrerelease?t=[new im(">=0.0.0-0")]:t=[new im(">=0.0.0")]}if(e.length===1&&e[0].semver===HQ){if(r.includePrerelease)return!0;e=[new im(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=YK(n,h,r):h.operator==="<"||h.operator==="<="?s=jK(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=YQ(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!of(h,String(n),r)||s&&!of(h,String(s),r))return null;for(let p of e)if(!of(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=YK(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!of(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=jK(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!of(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},YK=(t,e,r)=>{if(!t)return e;let i=YQ(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},jK=(t,e,r)=>{if(!t)return e;let i=YQ(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};UK.exports=Ege});var cr=C((P5e,qK)=>{var jQ=eA();qK.exports={re:jQ.re,src:jQ.src,tokens:jQ.t,SEMVER_SPEC_VERSION:Wg().SEMVER_SPEC_VERSION,SemVer:jr(),compareIdentifiers:qC().compareIdentifiers,rcompareIdentifiers:qC().rcompareIdentifiers,parse:tA(),valid:fO(),clean:pO(),inc:CO(),diff:wO(),major:bO(),minor:SO(),patch:kO(),prerelease:PO(),compare:cn(),rcompare:RO(),compareLoose:LO(),compareBuild:VC(),sort:KO(),rsort:HO(),gt:Zg(),lt:XC(),eq:zC(),neq:RQ(),gte:ZC(),lte:_C(),cmp:NQ(),coerce:VO(),Comparator:tf(),Range:un(),satisfies:sf(),toComparators:CK(),maxSatisfying:IK(),minSatisfying:yK(),minVersion:QK(),validRange:DK(),outside:rm(),gtr:FK(),ltr:NK(),intersects:TK(),simplifyRange:KK(),subset:GK()}});var nU=C((M5e,iU)=>{"use strict";iU.exports=(...t)=>[...new Set([].concat(...t))]});var ZQ=C((T5e,sU)=>{"use strict";var xge=require("stream"),oU=xge.PassThrough,kge=Array.prototype.slice;sU.exports=vge;function vge(){let t=[],e=!1,r=kge.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=oU(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});function Pge(t){return t.reduce((e,r)=>[].concat(e,r),[])}sm.flatten=Pge;function Fge(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}sm.splitWhen=Fge});var lU=C(_Q=>{"use strict";Object.defineProperty(_Q,"__esModule",{value:!0});function Rge(t){return t.code==="ENOENT"}_Q.isEnoentCodeError=Rge});var uU=C($Q=>{"use strict";Object.defineProperty($Q,"__esModule",{value:!0});var cU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function Nge(t,e){return new cU(t,e)}$Q.createDirentFromStats=Nge});var gU=C(Jl=>{"use strict";Object.defineProperty(Jl,"__esModule",{value:!0});var Lge=require("path"),Mge=2,Tge=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function Oge(t){return t.replace(/\\/g,"/")}Jl.unixify=Oge;function Kge(t,e){return Lge.resolve(t,e)}Jl.makeAbsolute=Kge;function Uge(t){return t.replace(Tge,"\\$2")}Jl.escape=Uge;function Hge(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Mge)}return t}Jl.removeLeadingDotSegment=Hge});var hU=C((Y5e,fU)=>{fU.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var dU=C((j5e,pU)=>{var Yge=hU(),jge={"{":"}","(":")","[":"]"},Gge=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,qge=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;pU.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Yge(e))return!0;var i=Gge,n;for(r&&r.strict===!1&&(i=qge);n=i.exec(e);){if(n[2])return!0;var s=n.index+n[0].length,o=n[1],a=o?jge[o]:null;if(o&&a){var l=e.indexOf(a,s);l!==-1&&(s=l+1)}e=e.slice(s)}return!1}});var mU=C((G5e,CU)=>{"use strict";var Jge=dU(),Wge=require("path").posix.dirname,zge=require("os").platform()==="win32",e0="/",Vge=/\\/g,Xge=/[\{\[].*[\}\]]$/,Zge=/(^|[^\\])([\{\[]|\([^\)]+$)/,_ge=/\\([\!\*\?\|\[\]\(\)\{\}])/g;CU.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&zge&&e.indexOf(e0)<0&&(e=e.replace(Vge,e0)),Xge.test(e)&&(e+=e0),e+="a";do e=Wge(e);while(Jge(e)||Zge.test(e));return e.replace(_ge,"$1")}});var SU=C(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});var $ge=require("path"),efe=mU(),IU=Yi(),tfe=hQ(),EU="**",rfe="\\",ife=/[*?]|^!/,nfe=/\[.*]/,sfe=/(?:^|[^!*+?@])\(.*\|.*\)/,ofe=/[!*+?@]\(.*\)/,afe=/{.*(?:,|\.\.).*}/;function BU(t,e={}){return!yU(t,e)}ur.isStaticPattern=BU;function yU(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(rfe)||ife.test(t)||nfe.test(t)||sfe.test(t)||e.extglob!==!1&&ofe.test(t)||e.braceExpansion!==!1&&afe.test(t))}ur.isDynamicPattern=yU;function Afe(t){return om(t)?t.slice(1):t}ur.convertToPositivePattern=Afe;function lfe(t){return"!"+t}ur.convertToNegativePattern=lfe;function om(t){return t.startsWith("!")&&t[1]!=="("}ur.isNegativePattern=om;function wU(t){return!om(t)}ur.isPositivePattern=wU;function cfe(t){return t.filter(om)}ur.getNegativePatterns=cfe;function ufe(t){return t.filter(wU)}ur.getPositivePatterns=ufe;function gfe(t){return efe(t,{flipBackslashes:!1})}ur.getBaseDirectory=gfe;function ffe(t){return t.includes(EU)}ur.hasGlobStar=ffe;function QU(t){return t.endsWith("/"+EU)}ur.endsWithSlashGlobStar=QU;function hfe(t){let e=$ge.basename(t);return QU(t)||BU(e)}ur.isAffectDepthOfReadingPattern=hfe;function pfe(t){return t.reduce((e,r)=>e.concat(bU(r)),[])}ur.expandPatternsWithBraceExpansion=pfe;function bU(t){return IU.braces(t,{expand:!0,nodupes:!0})}ur.expandBraceExpansion=bU;function dfe(t,e){let r=tfe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}ur.getPatternParts=dfe;function DU(t,e){return IU.makeRe(t,e)}ur.makeRe=DU;function Cfe(t,e){return t.map(r=>DU(r,e))}ur.convertPatternsToRe=Cfe;function mfe(t,e){return e.some(r=>r.test(t))}ur.matchAny=mfe});var kU=C(t0=>{"use strict";Object.defineProperty(t0,"__esModule",{value:!0});var Ife=ZQ();function Efe(t){let e=Ife(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>xU(t)),e.once("end",()=>xU(t)),e}t0.merge=Efe;function xU(t){t.forEach(e=>e.emit("close"))}});var vU=C(am=>{"use strict";Object.defineProperty(am,"__esModule",{value:!0});function yfe(t){return typeof t=="string"}am.isString=yfe;function Bfe(t){return t===""}am.isEmpty=Bfe});var Gs=C(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var wfe=AU();js.array=wfe;var Qfe=lU();js.errno=Qfe;var bfe=uU();js.fs=bfe;var Dfe=gU();js.path=Dfe;var Sfe=SU();js.pattern=Sfe;var xfe=kU();js.stream=xfe;var kfe=vU();js.string=kfe});var LU=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var AA=Gs();function vfe(t,e){let r=PU(t),i=FU(t,e.ignore),n=r.filter(l=>AA.pattern.isStaticPattern(l,e)),s=r.filter(l=>AA.pattern.isDynamicPattern(l,e)),o=r0(n,i,!1),a=r0(s,i,!0);return o.concat(a)}qs.generate=vfe;function r0(t,e,r){let i=RU(t);return"."in i?[i0(".",t,e,r)]:NU(i,e,r)}qs.convertPatternsToTasks=r0;function PU(t){return AA.pattern.getPositivePatterns(t)}qs.getPositivePatterns=PU;function FU(t,e){return AA.pattern.getNegativePatterns(t).concat(e).map(AA.pattern.convertToPositivePattern)}qs.getNegativePatternsAsPositive=FU;function RU(t){let e={};return t.reduce((r,i)=>{let n=AA.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}qs.groupPatternsByBaseDirectory=RU;function NU(t,e,r){return Object.keys(t).map(i=>i0(i,t[i],e,r))}qs.convertPatternGroupsToTasks=NU;function i0(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(AA.pattern.convertToNegativePattern))}}qs.convertPatternGroupToTask=i0});var TU=C(Am=>{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.read=void 0;function Pfe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){MU(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){n0(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){MU(r,s);return}n0(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),n0(r,o)})})}Am.read=Pfe;function MU(t,e){t(e)}function n0(t,e){t(null,e)}});var OU=C(lm=>{"use strict";Object.defineProperty(lm,"__esModule",{value:!0});lm.read=void 0;function Ffe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}lm.read=Ffe});var KU=C(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.createFileSystemAdapter=Oo.FILE_SYSTEM_ADAPTER=void 0;var cm=require("fs");Oo.FILE_SYSTEM_ADAPTER={lstat:cm.lstat,stat:cm.stat,lstatSync:cm.lstatSync,statSync:cm.statSync};function Rfe(t){return t===void 0?Oo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Oo.FILE_SYSTEM_ADAPTER),t)}Oo.createFileSystemAdapter=Rfe});var HU=C(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var Nfe=KU(),UU=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=Nfe.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};s0.default=UU});var lA=C(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.statSync=Ko.stat=Ko.Settings=void 0;var YU=TU(),Lfe=OU(),o0=HU();Ko.Settings=o0.default;function Mfe(t,e,r){if(typeof e=="function"){YU.read(t,a0(),e);return}YU.read(t,a0(e),r)}Ko.stat=Mfe;function Tfe(t,e){let r=a0(e);return Lfe.read(t,r)}Ko.statSync=Tfe;function a0(t={}){return t instanceof o0.default?t:new o0.default(t)}});var GU=C((t9e,jU)=>{jU.exports=Ofe;function Ofe(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var A0=C(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var gm=process.versions.node.split(".");if(gm[0]===void 0||gm[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var qU=Number.parseInt(gm[0],10),Kfe=Number.parseInt(gm[1],10),JU=10,Ufe=10,Hfe=qU>JU,Yfe=qU===JU&&Kfe>=Ufe;um.IS_SUPPORT_READDIR_WITH_FILE_TYPES=Hfe||Yfe});var zU=C(fm=>{"use strict";Object.defineProperty(fm,"__esModule",{value:!0});fm.createDirentFromStats=void 0;var WU=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function jfe(t,e){return new WU(t,e)}fm.createDirentFromStats=jfe});var l0=C(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.fs=void 0;var Gfe=zU();hm.fs=Gfe});var c0=C(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});pm.joinPathSegments=void 0;function qfe(t,e,r){return t.endsWith(r)?t+e:t+r+e}pm.joinPathSegments=qfe});var e1=C(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});Uo.readdir=Uo.readdirWithFileTypes=Uo.read=void 0;var Jfe=lA(),VU=GU(),Wfe=A0(),XU=l0(),ZU=c0();function zfe(t,e,r){if(!e.stats&&Wfe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){_U(t,e,r);return}$U(t,e,r)}Uo.read=zfe;function _U(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:ZU.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){u0(r,s);return}let o=s.map(a=>Vfe(a,e));VU(o,(a,l)=>{if(a!==null){dm(r,a);return}u0(r,l)})})}Uo.readdirWithFileTypes=_U;function Vfe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=XU.fs.createDirentFromStats(t.name,n),r(null,t)})}}function $U(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){dm(r,i);return}let s=n.map(o=>{let a=ZU.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{Jfe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:XU.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});VU(s,(o,a)=>{if(o!==null){dm(r,o);return}u0(r,a)})})}Uo.readdir=$U;function dm(t,e){t(e)}function u0(t,e){t(null,e)}});var s1=C(Ho=>{"use strict";Object.defineProperty(Ho,"__esModule",{value:!0});Ho.readdir=Ho.readdirWithFileTypes=Ho.read=void 0;var Xfe=lA(),Zfe=A0(),t1=l0(),r1=c0();function _fe(t,e){return!e.stats&&Zfe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?i1(t,e):n1(t,e)}Ho.read=_fe;function i1(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:r1.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=t1.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}Ho.readdirWithFileTypes=i1;function n1(t,e){return e.fs.readdirSync(t).map(i=>{let n=r1.joinPathSegments(t,i,e.pathSegmentSeparator),s=Xfe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:t1.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}Ho.readdir=n1});var o1=C(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.createFileSystemAdapter=Yo.FILE_SYSTEM_ADAPTER=void 0;var Wl=require("fs");Yo.FILE_SYSTEM_ADAPTER={lstat:Wl.lstat,stat:Wl.stat,lstatSync:Wl.lstatSync,statSync:Wl.statSync,readdir:Wl.readdir,readdirSync:Wl.readdirSync};function $fe(t){return t===void 0?Yo.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Yo.FILE_SYSTEM_ADAPTER),t)}Yo.createFileSystemAdapter=$fe});var A1=C(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});var ehe=require("path"),the=lA(),rhe=o1(),a1=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=rhe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,ehe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new the.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};g0.default=a1});var Cm=C(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.Settings=jo.scandirSync=jo.scandir=void 0;var l1=e1(),ihe=s1(),f0=A1();jo.Settings=f0.default;function nhe(t,e,r){if(typeof e=="function"){l1.read(t,h0(),e);return}l1.read(t,h0(e),r)}jo.scandir=nhe;function she(t,e){let r=h0(e);return ihe.read(t,r)}jo.scandirSync=she;function h0(t={}){return t instanceof f0.default?t:new f0.default(t)}});var u1=C((u9e,c1)=>{"use strict";function ohe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}c1.exports=ohe});var f1=C((g9e,p0)=>{"use strict";var ahe=u1();function g1(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=ahe(Ahe),n=null,s=null,o=0,a=null,l={push:m,drain:rs,saturated:rs,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:I,empty:rs,kill:B,killAndDrain:x,error:F};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var N=n,O=0;N;)N=N.next,O++;return O}function f(){for(var N=n,O=[];N;)O.push(N.value),N=N.next;return O}function h(){if(!!l.paused){l.paused=!1;for(var N=0;N{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.joinPathSegments=is.replacePathSegmentSeparator=is.isAppliedFilter=is.isFatalError=void 0;function che(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}is.isFatalError=che;function uhe(t,e){return t===null||t(e)}is.isAppliedFilter=uhe;function ghe(t,e){return t.split(/[/\\]/).join(e)}is.replacePathSegmentSeparator=ghe;function fhe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}is.joinPathSegments=fhe});var C0=C(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var hhe=mm(),h1=class{constructor(e,r){this._root=e,this._settings=r,this._root=hhe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};d0.default=h1});var I0=C(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});var phe=require("events"),dhe=Cm(),Che=f1(),Im=mm(),mhe=C0(),p1=class extends mhe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=dhe.scandir,this._emitter=new phe.EventEmitter,this._queue=Che(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Im.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Im.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Im.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Im.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};m0.default=p1});var C1=C(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});var Ihe=I0(),d1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Ihe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{Ehe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{yhe(e,[...this._storage])}),this._reader.read()}};E0.default=d1;function Ehe(t,e){t(e)}function yhe(t,e){t(null,e)}});var I1=C(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var Bhe=require("stream"),whe=I0(),m1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new whe.default(this._root,this._settings),this._stream=new Bhe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};y0.default=m1});var y1=C(B0=>{"use strict";Object.defineProperty(B0,"__esModule",{value:!0});var Qhe=Cm(),Em=mm(),bhe=C0(),E1=class extends bhe.default{constructor(){super(...arguments);this._scandir=Qhe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Em.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Em.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Em.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Em.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};B0.default=E1});var w1=C(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});var Dhe=y1(),B1=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Dhe.default(this._root,this._settings)}read(){return this._reader.read()}};w0.default=B1});var b1=C(Q0=>{"use strict";Object.defineProperty(Q0,"__esModule",{value:!0});var She=require("path"),xhe=Cm(),Q1=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,She.sep),this.fsScandirSettings=new xhe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};Q0.default=Q1});var D0=C(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.Settings=ns.walkStream=ns.walkSync=ns.walk=void 0;var D1=C1(),khe=I1(),vhe=w1(),b0=b1();ns.Settings=b0.default;function Phe(t,e,r){if(typeof e=="function"){new D1.default(t,ym()).read(e);return}new D1.default(t,ym(e)).read(r)}ns.walk=Phe;function Fhe(t,e){let r=ym(e);return new vhe.default(t,r).read()}ns.walkSync=Fhe;function Rhe(t,e){let r=ym(e);return new khe.default(t,r).read()}ns.walkStream=Rhe;function ym(t={}){return t instanceof b0.default?t:new b0.default(t)}});var x0=C(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});var Nhe=require("path"),Lhe=lA(),S1=Gs(),x1=class{constructor(e){this._settings=e,this._fsStatSettings=new Lhe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Nhe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:S1.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!S1.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};S0.default=x1});var v0=C(k0=>{"use strict";Object.defineProperty(k0,"__esModule",{value:!0});var Mhe=require("stream"),The=lA(),Ohe=D0(),Khe=x0(),k1=class extends Khe.default{constructor(){super(...arguments);this._walkStream=Ohe.walkStream,this._stat=The.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new Mhe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};k0.default=k1});var P1=C(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var zl=Gs(),v1=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=zl.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return zl.pattern.getPatternParts(e,this._micromatchOptions).map(i=>zl.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:zl.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return zl.array.splitWhen(e,r=>r.dynamic&&zl.pattern.hasGlobStar(r.pattern))}};P0.default=v1});var R1=C(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});var Uhe=P1(),F1=class extends Uhe.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};F0.default=F1});var L1=C(R0=>{"use strict";Object.defineProperty(R0,"__esModule",{value:!0});var Bm=Gs(),Hhe=R1(),N1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new Hhe.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(Bm.pattern.isAffectDepthOfReadingPattern);return Bm.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=Bm.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!Bm.pattern.matchAny(e,r)}};R0.default=N1});var T1=C(N0=>{"use strict";Object.defineProperty(N0,"__esModule",{value:!0});var cf=Gs(),M1=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=cf.pattern.convertPatternsToRe(e,this._micromatchOptions),n=cf.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=cf.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=cf.path.removeLeadingDotSegment(e);return cf.pattern.matchAny(i,r)}};N0.default=M1});var K1=C(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});var Yhe=Gs(),O1=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return Yhe.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};L0.default=O1});var Y1=C(M0=>{"use strict";Object.defineProperty(M0,"__esModule",{value:!0});var U1=Gs(),H1=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=U1.path.makeAbsolute(this._settings.cwd,r),r=U1.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};M0.default=H1});var wm=C(T0=>{"use strict";Object.defineProperty(T0,"__esModule",{value:!0});var jhe=require("path"),Ghe=L1(),qhe=T1(),Jhe=K1(),Whe=Y1(),j1=class{constructor(e){this._settings=e,this.errorFilter=new Jhe.default(this._settings),this.entryFilter=new qhe.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new Ghe.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Whe.default(this._settings)}_getRootDirectory(e){return jhe.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};T0.default=j1});var q1=C(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});var zhe=v0(),Vhe=wm(),G1=class extends Vhe.default{constructor(){super(...arguments);this._reader=new zhe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};O0.default=G1});var W1=C(K0=>{"use strict";Object.defineProperty(K0,"__esModule",{value:!0});var Xhe=require("stream"),Zhe=v0(),_he=wm(),J1=class extends _he.default{constructor(){super(...arguments);this._reader=new Zhe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new Xhe.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};K0.default=J1});var V1=C(U0=>{"use strict";Object.defineProperty(U0,"__esModule",{value:!0});var $he=lA(),epe=D0(),tpe=x0(),z1=class extends tpe.default{constructor(){super(...arguments);this._walkSync=epe.walkSync,this._statSync=$he.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};U0.default=z1});var Z1=C(H0=>{"use strict";Object.defineProperty(H0,"__esModule",{value:!0});var rpe=V1(),ipe=wm(),X1=class extends ipe.default{constructor(){super(...arguments);this._reader=new rpe.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};H0.default=X1});var $1=C(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});var Vl=require("fs"),npe=require("os"),spe=npe.cpus().length;uf.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Vl.lstat,lstatSync:Vl.lstatSync,stat:Vl.stat,statSync:Vl.statSync,readdir:Vl.readdir,readdirSync:Vl.readdirSync};var _1=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,spe),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},uf.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};uf.default=_1});var Qm=C((M9e,e2)=>{"use strict";var t2=LU(),ope=q1(),ape=W1(),Ape=Z1(),Y0=$1(),cA=Gs();async function G0(t,e){Xl(t);let r=j0(t,ope.default,e),i=await Promise.all(r);return cA.array.flatten(i)}(function(t){function e(o,a){Xl(o);let l=j0(o,Ape.default,a);return cA.array.flatten(l)}t.sync=e;function r(o,a){Xl(o);let l=j0(o,ape.default,a);return cA.stream.merge(l)}t.stream=r;function i(o,a){Xl(o);let l=[].concat(o),c=new Y0.default(a);return t2.generate(l,c)}t.generateTasks=i;function n(o,a){Xl(o);let l=new Y0.default(a);return cA.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Xl(o),cA.path.escape(o)}t.escapePath=s})(G0||(G0={}));function j0(t,e,r){let i=[].concat(t),n=new Y0.default(r),s=t2.generate(i,n),o=new e(n);return s.map(o.read,o)}function Xl(t){if(![].concat(t).every(i=>cA.string.isString(i)&&!cA.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}e2.exports=G0});var i2=C(uA=>{"use strict";var{promisify:lpe}=require("util"),r2=require("fs");async function q0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await lpe(r2[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function J0(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return r2[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}uA.isFile=q0.bind(null,"stat","isFile");uA.isDirectory=q0.bind(null,"stat","isDirectory");uA.isSymlink=q0.bind(null,"lstat","isSymbolicLink");uA.isFileSync=J0.bind(null,"statSync","isFile");uA.isDirectorySync=J0.bind(null,"statSync","isDirectory");uA.isSymlinkSync=J0.bind(null,"lstatSync","isSymbolicLink")});var A2=C((O9e,W0)=>{"use strict";var gA=require("path"),n2=i2(),s2=t=>t.length>1?`{${t.join(",")}}`:t[0],o2=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return gA.isAbsolute(r)?r:gA.join(e,r)},cpe=(t,e)=>gA.extname(t)?`**/${t}`:`**/${t}.${s2(e)}`,a2=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>gA.posix.join(t,cpe(r,e.extensions))):e.files?e.files.map(r=>gA.posix.join(t,`**/${r}`)):e.extensions?[gA.posix.join(t,`**/*.${s2(e.extensions)}`)]:[gA.posix.join(t,"**")]};W0.exports=async(t,e)=>{if(e=v({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await n2.isDirectory(o2(i,e.cwd))?a2(i,e):i));return[].concat.apply([],r)};W0.exports.sync=(t,e)=>{if(e=v({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>n2.isDirectorySync(o2(i,e.cwd))?a2(i,e):i);return[].concat.apply([],r)}});var d2=C((K9e,l2)=>{function c2(t){return Array.isArray(t)?t:[t]}var upe=/^\s+$/,gpe=/^\\!/,fpe=/^\\#/,hpe=/\r?\n/g,ppe=/^\.*\/|^\.+$/,z0="/",u2=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",dpe=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Cpe=/([0-z])-([0-z])/g,mpe=t=>t.replace(Cpe,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:""),Ipe=[[/\\?\s+$/,t=>t.indexOf("\\")===0?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,t=>`\\${t}`],[/\[([^\]/]*)($|\])/g,(t,e,r)=>r==="]"?`[${mpe(e)}]`:`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`],[/\\\\\\/g,()=>"\\"]],g2=Object.create(null),Epe=(t,e,r)=>{let i=g2[t];if(i)return i;let n=Ipe.reduce((s,o)=>s.replace(o[0],o[1].bind(t)),t);return g2[t]=r?new RegExp(n,"i"):new RegExp(n)},V0=t=>typeof t=="string",ype=t=>t&&V0(t)&&!upe.test(t)&&t.indexOf("#")!==0,Bpe=t=>t.split(hpe),f2=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},wpe=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(gpe,"!").replace(fpe,"#");let n=Epe(t,i,e);return new f2(r,t,i,n)},Qpe=(t,e)=>{throw new e(t)},Js=(t,e,r)=>V0(t)?t?Js.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),h2=t=>ppe.test(t);Js.isNotRelative=h2;Js.convert=t=>t;var p2=class{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,dpe(this,u2,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u2]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(ype(e)){let r=wpe(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,c2(V0(e)?Bpe(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Js.convert(e);return Js(s,e,Qpe),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(z0)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(z0)+z0,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return c2(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},bm=t=>new p2(t),bpe=()=>!1,Dpe=t=>Js(t&&Js.convert(t),t,bpe);bm.isPathValid=Dpe;bm.default=bm;l2.exports=bm;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Js.convert=t;let e=/^[a-z]:\//i;Js.isNotRelative=r=>e.test(r)||h2(r)}});var m2=C((U9e,C2)=>{"use strict";C2.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var b2=C((H9e,X0)=>{"use strict";var{promisify:Spe}=require("util"),I2=require("fs"),Ws=require("path"),E2=Qm(),xpe=d2(),gf=m2(),y2=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],kpe=Spe(I2.readFile),vpe=t=>e=>e.startsWith("!")?"!"+Ws.posix.join(t,e.slice(1)):Ws.posix.join(t,e),Ppe=(t,e)=>{let r=gf(Ws.relative(e.cwd,Ws.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(vpe(r))},B2=t=>{let e=xpe();for(let r of t)e.add(Ppe(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},Fpe=(t,e)=>{if(t=gf(t),Ws.isAbsolute(e)){if(gf(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Ws.join(t,e)},w2=(t,e)=>r=>t.ignores(gf(Ws.relative(e,Fpe(e,r.path||r)))),Rpe=async(t,e)=>{let r=Ws.join(e,t),i=await kpe(r,"utf8");return{cwd:e,filePath:r,content:i}},Npe=(t,e)=>{let r=Ws.join(e,t),i=I2.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},Q2=({ignore:t=[],cwd:e=gf(process.cwd())}={})=>({ignore:t,cwd:e});X0.exports=async t=>{t=Q2(t);let e=await E2("**/.gitignore",{ignore:y2.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>Rpe(n,t.cwd))),i=B2(r);return w2(i,t.cwd)};X0.exports.sync=t=>{t=Q2(t);let r=E2.sync("**/.gitignore",{ignore:y2.concat(t.ignore),cwd:t.cwd}).map(n=>Npe(n,t.cwd)),i=B2(r);return w2(i,t.cwd)}});var k2=C((Y9e,D2)=>{"use strict";var{Transform:Lpe}=require("stream"),Z0=class extends Lpe{constructor(){super({objectMode:!0})}},S2=class extends Z0{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},x2=class extends Z0{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};D2.exports={FilterStream:S2,UniqueStream:x2}});var tb=C((j9e,fA)=>{"use strict";var v2=require("fs"),Dm=nU(),Mpe=ZQ(),Sm=Qm(),xm=A2(),_0=b2(),{FilterStream:Tpe,UniqueStream:Ope}=k2(),P2=()=>!1,F2=t=>t[0]==="!",Kpe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},Upe=(t={})=>{if(!t.cwd)return;let e;try{e=v2.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Hpe=t=>t.stats instanceof v2.Stats?t.path:t,km=(t,e)=>{t=Dm([].concat(t)),Kpe(t),Upe(e);let r=[];e=v({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(F2(n))continue;let s=t.slice(i).filter(a=>F2(a)).map(a=>a.slice(1)),o=V(v({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},Ype=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=V(v({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=v(v({},r),t.options.expandDirectories)),e(t.pattern,r)},$0=(t,e)=>t.options.expandDirectories?Ype(t,e):[t.pattern],R2=t=>t&&t.gitignore?_0.sync({cwd:t.cwd,ignore:t.ignore}):P2,eb=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=xm.sync(r.ignore)),{pattern:e,options:r}};fA.exports=async(t,e)=>{let r=km(t,e),i=async()=>e&&e.gitignore?_0({cwd:e.cwd,ignore:e.ignore}):P2,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await $0(c,xm);return Promise.all(u.map(eb(c)))}));return Dm(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>Sm(l.pattern,l.options)));return Dm(...a).filter(l=>!s(Hpe(l)))};fA.exports.sync=(t,e)=>{let r=km(t,e),i=[];for(let o of r){let a=$0(o,xm.sync).map(eb(o));i.push(...a)}let n=R2(e),s=[];for(let o of i)s=Dm(s,Sm.sync(o.pattern,o.options));return s.filter(o=>!n(o))};fA.exports.stream=(t,e)=>{let r=km(t,e),i=[];for(let a of r){let l=$0(a,xm.sync).map(eb(a));i.push(...l)}let n=R2(e),s=new Tpe(a=>!n(a)),o=new Ope;return Mpe(i.map(a=>Sm.stream(a.pattern,a.options))).pipe(s).pipe(o)};fA.exports.generateGlobTasks=km;fA.exports.hasMagic=(t,e)=>[].concat(t).some(r=>Sm.isDynamicPattern(r,e));fA.exports.gitignore=_0});var Vs=C((zs,Ym)=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var Y2=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function tde(t){return Y2.includes(t)}var rde=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement",...Y2];function ide(t){return rde.includes(t)}var nde=["null","undefined","string","number","bigint","boolean","symbol"];function sde(t){return nde.includes(t)}function ic(t){return e=>typeof e===t}var{toString:j2}=Object.prototype,wf=t=>{let e=j2.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&q.domElement(t))return"HTMLElement";if(ide(e))return e},Vt=t=>e=>wf(e)===t;function q(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(q.observable(t))return"Observable";if(q.array(t))return"Array";if(q.buffer(t))return"Buffer";let e=wf(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}q.undefined=ic("undefined");q.string=ic("string");var ode=ic("number");q.number=t=>ode(t)&&!q.nan(t);q.bigint=ic("bigint");q.function_=ic("function");q.null_=t=>t===null;q.class_=t=>q.function_(t)&&t.toString().startsWith("class ");q.boolean=t=>t===!0||t===!1;q.symbol=ic("symbol");q.numericString=t=>q.string(t)&&!q.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));q.array=(t,e)=>Array.isArray(t)?q.function_(e)?t.every(e):!0:!1;q.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};q.nullOrUndefined=t=>q.null_(t)||q.undefined(t);q.object=t=>!q.null_(t)&&(typeof t=="object"||q.function_(t));q.iterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};q.asyncIterable=t=>{var e;return q.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};q.generator=t=>q.iterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.asyncGenerator=t=>q.asyncIterable(t)&&q.function_(t.next)&&q.function_(t.throw);q.nativePromise=t=>Vt("Promise")(t);var ade=t=>{var e,r;return q.function_((e=t)===null||e===void 0?void 0:e.then)&&q.function_((r=t)===null||r===void 0?void 0:r.catch)};q.promise=t=>q.nativePromise(t)||ade(t);q.generatorFunction=Vt("GeneratorFunction");q.asyncGeneratorFunction=t=>wf(t)==="AsyncGeneratorFunction";q.asyncFunction=t=>wf(t)==="AsyncFunction";q.boundFunction=t=>q.function_(t)&&!t.hasOwnProperty("prototype");q.regExp=Vt("RegExp");q.date=Vt("Date");q.error=Vt("Error");q.map=t=>Vt("Map")(t);q.set=t=>Vt("Set")(t);q.weakMap=t=>Vt("WeakMap")(t);q.weakSet=t=>Vt("WeakSet")(t);q.int8Array=Vt("Int8Array");q.uint8Array=Vt("Uint8Array");q.uint8ClampedArray=Vt("Uint8ClampedArray");q.int16Array=Vt("Int16Array");q.uint16Array=Vt("Uint16Array");q.int32Array=Vt("Int32Array");q.uint32Array=Vt("Uint32Array");q.float32Array=Vt("Float32Array");q.float64Array=Vt("Float64Array");q.bigInt64Array=Vt("BigInt64Array");q.bigUint64Array=Vt("BigUint64Array");q.arrayBuffer=Vt("ArrayBuffer");q.sharedArrayBuffer=Vt("SharedArrayBuffer");q.dataView=Vt("DataView");q.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;q.urlInstance=t=>Vt("URL")(t);q.urlString=t=>{if(!q.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};q.truthy=t=>Boolean(t);q.falsy=t=>!t;q.nan=t=>Number.isNaN(t);q.primitive=t=>q.null_(t)||sde(typeof t);q.integer=t=>Number.isInteger(t);q.safeInteger=t=>Number.isSafeInteger(t);q.plainObject=t=>{if(j2.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};q.typedArray=t=>tde(wf(t));var Ade=t=>q.safeInteger(t)&&t>=0;q.arrayLike=t=>!q.nullOrUndefined(t)&&!q.function_(t)&&Ade(t.length);q.inRange=(t,e)=>{if(q.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(q.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var lde=1,cde=["innerHTML","ownerDocument","style","attributes","nodeValue"];q.domElement=t=>q.object(t)&&t.nodeType===lde&&q.string(t.nodeName)&&!q.plainObject(t)&&cde.every(e=>e in t);q.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};q.nodeStream=t=>q.object(t)&&q.function_(t.pipe)&&!q.observable(t);q.infinite=t=>t===Infinity||t===-Infinity;var G2=t=>e=>q.integer(e)&&Math.abs(e%2)===t;q.evenInteger=G2(0);q.oddInteger=G2(1);q.emptyArray=t=>q.array(t)&&t.length===0;q.nonEmptyArray=t=>q.array(t)&&t.length>0;q.emptyString=t=>q.string(t)&&t.length===0;q.nonEmptyString=t=>q.string(t)&&t.length>0;var ude=t=>q.string(t)&&!/\S/.test(t);q.emptyStringOrWhitespace=t=>q.emptyString(t)||ude(t);q.emptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length===0;q.nonEmptyObject=t=>q.object(t)&&!q.map(t)&&!q.set(t)&&Object.keys(t).length>0;q.emptySet=t=>q.set(t)&&t.size===0;q.nonEmptySet=t=>q.set(t)&&t.size>0;q.emptyMap=t=>q.map(t)&&t.size===0;q.nonEmptyMap=t=>q.map(t)&&t.size>0;var q2=(t,e,r)=>{if(!q.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};q.any=(t,...e)=>(q.array(t)?t:[t]).some(i=>q2(Array.prototype.some,i,e));q.all=(t,...e)=>q2(Array.prototype.every,t,e);var Re=(t,e,r)=>{if(!t)throw new TypeError(`Expected value which is \`${e}\`, received value of type \`${q(r)}\`.`)};zs.assert={undefined:t=>Re(q.undefined(t),"undefined",t),string:t=>Re(q.string(t),"string",t),number:t=>Re(q.number(t),"number",t),bigint:t=>Re(q.bigint(t),"bigint",t),function_:t=>Re(q.function_(t),"Function",t),null_:t=>Re(q.null_(t),"null",t),class_:t=>Re(q.class_(t),"Class",t),boolean:t=>Re(q.boolean(t),"boolean",t),symbol:t=>Re(q.symbol(t),"symbol",t),numericString:t=>Re(q.numericString(t),"string with a number",t),array:(t,e)=>{Re(q.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Re(q.buffer(t),"Buffer",t),nullOrUndefined:t=>Re(q.nullOrUndefined(t),"null or undefined",t),object:t=>Re(q.object(t),"Object",t),iterable:t=>Re(q.iterable(t),"Iterable",t),asyncIterable:t=>Re(q.asyncIterable(t),"AsyncIterable",t),generator:t=>Re(q.generator(t),"Generator",t),asyncGenerator:t=>Re(q.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Re(q.nativePromise(t),"native Promise",t),promise:t=>Re(q.promise(t),"Promise",t),generatorFunction:t=>Re(q.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Re(q.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Re(q.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Re(q.boundFunction(t),"Function",t),regExp:t=>Re(q.regExp(t),"RegExp",t),date:t=>Re(q.date(t),"Date",t),error:t=>Re(q.error(t),"Error",t),map:t=>Re(q.map(t),"Map",t),set:t=>Re(q.set(t),"Set",t),weakMap:t=>Re(q.weakMap(t),"WeakMap",t),weakSet:t=>Re(q.weakSet(t),"WeakSet",t),int8Array:t=>Re(q.int8Array(t),"Int8Array",t),uint8Array:t=>Re(q.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Re(q.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Re(q.int16Array(t),"Int16Array",t),uint16Array:t=>Re(q.uint16Array(t),"Uint16Array",t),int32Array:t=>Re(q.int32Array(t),"Int32Array",t),uint32Array:t=>Re(q.uint32Array(t),"Uint32Array",t),float32Array:t=>Re(q.float32Array(t),"Float32Array",t),float64Array:t=>Re(q.float64Array(t),"Float64Array",t),bigInt64Array:t=>Re(q.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Re(q.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Re(q.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Re(q.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Re(q.dataView(t),"DataView",t),urlInstance:t=>Re(q.urlInstance(t),"URL",t),urlString:t=>Re(q.urlString(t),"string with a URL",t),truthy:t=>Re(q.truthy(t),"truthy",t),falsy:t=>Re(q.falsy(t),"falsy",t),nan:t=>Re(q.nan(t),"NaN",t),primitive:t=>Re(q.primitive(t),"primitive",t),integer:t=>Re(q.integer(t),"integer",t),safeInteger:t=>Re(q.safeInteger(t),"integer",t),plainObject:t=>Re(q.plainObject(t),"plain object",t),typedArray:t=>Re(q.typedArray(t),"TypedArray",t),arrayLike:t=>Re(q.arrayLike(t),"array-like",t),domElement:t=>Re(q.domElement(t),"HTMLElement",t),observable:t=>Re(q.observable(t),"Observable",t),nodeStream:t=>Re(q.nodeStream(t),"Node.js Stream",t),infinite:t=>Re(q.infinite(t),"infinite number",t),emptyArray:t=>Re(q.emptyArray(t),"empty array",t),nonEmptyArray:t=>Re(q.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Re(q.emptyString(t),"empty string",t),nonEmptyString:t=>Re(q.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>Re(q.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>Re(q.emptyObject(t),"empty object",t),nonEmptyObject:t=>Re(q.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Re(q.emptySet(t),"empty set",t),nonEmptySet:t=>Re(q.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Re(q.emptyMap(t),"empty map",t),nonEmptyMap:t=>Re(q.nonEmptyMap(t),"non-empty map",t),evenInteger:t=>Re(q.evenInteger(t),"even integer",t),oddInteger:t=>Re(q.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Re(q.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Re(q.inRange(t,e),"in range",t),any:(t,...e)=>Re(q.any(t,...e),"predicate returns truthy for any value",e),all:(t,...e)=>Re(q.all(t,...e),"predicate returns truthy for all values",e)};Object.defineProperties(q,{class:{value:q.class_},function:{value:q.function_},null:{value:q.null_}});Object.defineProperties(zs.assert,{class:{value:zs.assert.class_},function:{value:zs.assert.function_},null:{value:zs.assert.null_}});zs.default=q;Ym.exports=q;Ym.exports.default=q;Ym.exports.assert=zs.assert});var J2=C((c6e,pb)=>{"use strict";var db=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Qf=class{static fn(e){return(...r)=>new Qf((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new db(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Qf.prototype,Promise.prototype);pb.exports=Qf;pb.exports.CancelError=db});var W2=C((Cb,mb)=>{"use strict";Object.defineProperty(Cb,"__esModule",{value:!0});var gde=require("tls"),Ib=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof gde.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Cb.default=Ib;mb.exports=Ib;mb.exports.default=Ib});var z2=C((Eb,yb)=>{"use strict";Object.defineProperty(Eb,"__esModule",{value:!0});var fde=W2(),hde=Number(process.versions.node.split(".")[0]),Bb=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||hde>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),fde.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Eb.default=Bb;yb.exports=Bb;yb.exports.default=Bb});var tH=C((u6e,wb)=>{"use strict";var{V4MAPPED:pde,ADDRCONFIG:dde,ALL:V2,promises:{Resolver:X2},lookup:Cde}=require("dns"),{promisify:Qb}=require("util"),mde=require("os"),nc=Symbol("cacheableLookupCreateConnection"),bb=Symbol("cacheableLookupInstance"),Z2=Symbol("expires"),Ide=typeof V2=="number",_2=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Ede=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},$2=()=>{let t=!1,e=!1;for(let r of Object.values(mde.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},yde=t=>Symbol.iterator in t,eH={ttl:!0},Bde={all:!0},Db=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new X2,lookup:o=Cde}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Qb(o),this._resolver instanceof X2?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Qb(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Qb(this._resolver.resolve6.bind(this._resolver))),this._iface=$2(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&pde&&(Ide&&r.hints&V2||n.length===0)?Ede(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&dde){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>v({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,eH),this._resolve6(e,eH)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[Z2]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}yde(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,Bde);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[Z2];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[nc](r,i))}uninstall(e){if(_2(e),e[nc]){if(e[bb]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[nc],delete e[nc],delete e[bb]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=$2(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};wb.exports=Db;wb.exports.default=Db});var nH=C((g6e,Sb)=>{"use strict";var wde=typeof URL=="undefined"?require("url").URL:URL,Qde="text/plain",bde="us-ascii",rH=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Dde=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===bde)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Qde)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},iH=(t,e)=>{if(e=v({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Dde(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new wde(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];rH(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])rH(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Sb.exports=iH;Sb.exports.default=iH});var aH=C((f6e,sH)=>{sH.exports=oH;function oH(t,e){if(t&&e)return oH(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var AH=aH();xb.exports=AH(jm);xb.exports.strict=AH(lH);jm.proto=jm(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return jm(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return lH(this)},configurable:!0})});function jm(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function lH(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var vb=C((p6e,cH)=>{var Sde=kb(),xde=function(){},kde=function(t){return t.setHeader&&typeof t.abort=="function"},vde=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},uH=function(t,e,r){if(typeof e=="function")return uH(t,null,e);e||(e={}),r=Sde(r||xde);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return kde(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),vde(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};cH.exports=uH});var hH=C((d6e,gH)=>{var Pde=kb(),Fde=vb(),Pb=require("fs"),bf=function(){},Rde=/^v?\.0/.test(process.version),Gm=function(t){return typeof t=="function"},Nde=function(t){return!Rde||!Pb?!1:(t instanceof(Pb.ReadStream||bf)||t instanceof(Pb.WriteStream||bf))&&Gm(t.close)},Lde=function(t){return t.setHeader&&Gm(t.abort)},Mde=function(t,e,r,i){i=Pde(i);var n=!1;t.on("close",function(){n=!0}),Fde(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Nde(t))return t.close(bf);if(Lde(t))return t.abort();if(Gm(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},fH=function(t){t()},Tde=function(t,e){return t.pipe(e)},Ode=function(){var t=Array.prototype.slice.call(arguments),e=Gm(t[t.length-1]||bf)&&t.pop()||bf;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return Mde(n,o,a,function(l){r||(r=l),l&&i.forEach(fH),!o&&(i.forEach(fH),e(r))})});return t.reduce(Tde)};gH.exports=Ode});var dH=C((C6e,pH)=>{"use strict";var{PassThrough:Kde}=require("stream");pH.exports=t=>{t=v({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new Kde({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var CH=C((m6e,sc)=>{"use strict";var Ude=hH(),Hde=dH(),Fb=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function qm(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=v({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=Ude(t,Hde(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new Fb)})}),i.getBufferedValue()}sc.exports=qm;sc.exports.default=qm;sc.exports.buffer=(t,e)=>qm(t,V(v({},e),{encoding:"buffer"}));sc.exports.array=(t,e)=>qm(t,V(v({},e),{array:!0}));sc.exports.MaxBufferError=Fb});var IH=C((E6e,mH)=>{"use strict";var Yde=[200,203,204,206,300,301,404,405,410,414,501],jde=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],Gde={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},qde={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Rb(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function Jde(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}mH.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=Rb(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=Rb(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":Jde(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&jde.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Yde.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=Rb(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)Gde[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!qde[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Jm=C((y6e,EH)=>{"use strict";EH.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var wH=C((B6e,yH)=>{"use strict";var Wde=require("stream").Readable,zde=Jm(),BH=class extends Wde{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=zde(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};yH.exports=BH});var bH=C((w6e,QH)=>{"use strict";var Vde=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];QH.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Vde));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var SH=C((Q6e,DH)=>{"use strict";var Xde=require("stream").PassThrough,Zde=bH(),_de=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Xde;return Zde(t,e),t.pipe(e)};DH.exports=_de});var xH=C(Nb=>{Nb.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};Nb.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var FH=C((D6e,kH)=>{"use strict";var $de=require("events"),vH=xH(),eCe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},PH=class extends $de{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:vH.stringify,deserialize:vH.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=eCe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};kH.exports=PH});var LH=C((S6e,RH)=>{"use strict";var tCe=require("events"),Wm=require("url"),rCe=nH(),iCe=CH(),Lb=IH(),NH=wH(),nCe=Jm(),sCe=SH(),oCe=FH(),os=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new oCe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=Mb(Wm.parse(r)),r={};else if(r instanceof Wm.URL)n=Mb(Wm.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=Mb(V(v({},r),{pathname:g,search:h}))}r=v(v({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),aCe(n)),r.headers=nCe(r.headers);let s=new tCe,o=rCe(Wm.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(I=>{h=()=>{f||(f=!0,I())}}),m=I=>{if(l&&!g.forceRefresh){I.status=I.statusCode;let B=Lb.fromObject(l.cachePolicy).revalidatedPolicy(g,I);if(!B.modified){let x=B.policy.responseHeaders();I=new NH(l.statusCode,x,l.body,l.url),I.cachePolicy=B.policy,I.fromCache=!0}}I.fromCache||(I.cachePolicy=new Lb(g,I,g),I.fromCache=!1);let y;g.cache&&I.cachePolicy.storable()?(y=sCe(I),(async()=>{try{let B=iCe.buffer(I);if(await Promise.race([p,new Promise(O=>I.once("end",O))]),f)return;let x=await B,F={cachePolicy:I.cachePolicy.toObject(),url:I.url,statusCode:I.fromCache?l.statusCode:I.statusCode,body:x},N=g.strictTtl?I.cachePolicy.timeToLive():void 0;g.maxTtl&&(N=N?Math.min(N,g.maxTtl):g.maxTtl),await this.cache.set(a,F,N)}catch(B){s.emit("error",new os.CacheError(B))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(B){s.emit("error",new os.CacheError(B))}})(),s.emit("response",y||I),typeof i=="function"&&i(y||I)};try{let I=e(g,m);I.once("error",h),I.once("abort",h),s.emit("request",I)}catch(I){s.emit("error",new os.RequestError(I))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=Lb.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let I=m.responseHeaders(),y=new NH(p.statusCode,I,p.body,p.url);y.cachePolicy=m,y.fromCache=!0,s.emit("response",y),typeof i=="function"&&i(y)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new os.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new os.CacheError(h))}})(),s}}};function aCe(t){let e=v({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function Mb(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}os.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};os.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};RH.exports=os});var TH=C((x6e,MH)=>{"use strict";var ACe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];MH.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(ACe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var KH=C((k6e,OH)=>{"use strict";var{Transform:lCe,PassThrough:cCe}=require("stream"),Tb=require("zlib"),uCe=TH();OH.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof Tb.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new lCe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new cCe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?Tb.createBrotliDecompress():Tb.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),uCe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var Ob=C((v6e,UH)=>{"use strict";var HH=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};UH.exports=HH});var Ub=C((P6e,YH)=>{"use strict";var gCe=require("events"),fCe=require("tls"),hCe=require("http2"),pCe=Ob(),li=Symbol("currentStreamsCount"),jH=Symbol("request"),fn=Symbol("cachedOriginSet"),oc=Symbol("gracefullyClosing"),dCe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],CCe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},mCe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,Kb=(t,e)=>{for(let r of t)r[fn].lengthe[fn].includes(i))&&r[li]+e[li]<=e.remoteSettings.maxConcurrentStreams&&GH(r)},ICe=(t,e)=>{for(let r of t)e[fn].lengthr[fn].includes(i))&&e[li]+r[li]<=r.remoteSettings.maxConcurrentStreams&&GH(e)},qH=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[Xs.kCurrentStreamsCount]{t[oc]=!0,t[li]===0&&t.close()},Xs=class extends gCe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new pCe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of dCe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=Xs.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[oc]||p.destroyed)continue;h||(g=m),I>f&&(h=p,f=I)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. -Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=hCe.connect(e,v({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[li]=0,f[oc]=!1;let h=()=>f[li]{this.tlsSessionCache.set(u,I)}),f.once("error",I=>{for(let{reject:y}of i)y(I);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let I=this.sessions[o];I.splice(I.indexOf(f),1),I.length===0&&delete this.sessions[o]}else{let I=new Error("Session closed without receiving a SETTINGS frame");I.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:y}of i)y(I);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let I of f[fn])if(I in this.queue[o]){let{listeners:y}=this.queue[o][I];for(;y.length!==0&&h();)y.shift().resolve(f);let B=this.queue[o];if(B[I].listeners.length===0&&(delete B[I],Object.keys(B).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[fn]=f.originSet,!!h()&&(m(),Kb(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let I=new Error("Agent has been destroyed");for(let y of i)y.reject(I);f.destroy();return}f[fn]=f.originSet;{let I=this.sessions;if(o in I){let y=I[o];y.splice(CCe(y,f,mCe),0,f)}else I[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[li]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),Kb(this.sessions[o],f)})}),f[jH]=f.request,f.request=(I,y)=>{if(f[oc])throw new Error("The session is gracefully closing. No new streams are allowed.");let B=f[jH](I,y);return f.ref(),++f[li],f[li]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,B.once("close",()=>{if(p=h(),--f[li],!f.destroyed&&!f.closed&&(ICe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[li]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[oc])?f.close():(Kb(this.sessions[o],f),m())}}),B}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return Xs.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),fCe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[li]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return qH({agent:this,isFree:!0})}get busySessions(){return qH({agent:this,isFree:!1})}};Xs.kCurrentStreamsCount=li;Xs.kGracefullyClosing=oc;YH.exports={Agent:Xs,globalAgent:new Xs}});var Hb=C((F6e,JH)=>{"use strict";var{Readable:ECe}=require("stream"),WH=class extends ECe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};JH.exports=WH});var Yb=C((R6e,zH)=>{"use strict";zH.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var XH=C((N6e,VH)=>{"use strict";VH.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var _H=C((L6e,ZH)=>{"use strict";ZH.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var eY=C((T6e,$H)=>{"use strict";var ac=(t,e,r)=>{$H.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};ac(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});ac(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);ac(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);ac(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);ac(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);ac(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var Jb=C((O6e,tY)=>{"use strict";var yCe=require("http2"),{Writable:BCe}=require("stream"),{Agent:rY,globalAgent:wCe}=Ub(),QCe=Hb(),bCe=Yb(),DCe=XH(),SCe=_H(),{ERR_INVALID_ARG_TYPE:jb,ERR_INVALID_PROTOCOL:xCe,ERR_HTTP_HEADERS_SENT:iY,ERR_INVALID_HTTP_TOKEN:kCe,ERR_HTTP_INVALID_HEADER_VALUE:vCe,ERR_INVALID_CHAR:PCe}=eY(),{HTTP2_HEADER_STATUS:nY,HTTP2_HEADER_METHOD:sY,HTTP2_HEADER_PATH:oY,HTTP2_METHOD_CONNECT:FCe}=yCe.constants,Jr=Symbol("headers"),Gb=Symbol("origin"),qb=Symbol("session"),aY=Symbol("options"),zm=Symbol("flushedHeaders"),Df=Symbol("jobs"),RCe=/^[\^`\-\w!#$%&*+.|~]+$/,NCe=/[^\t\u0020-\u007E\u0080-\u00FF]/,AY=class extends BCe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=bCe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:v({},e)):r=v(v({},e),r),r.h2session)this[qb]=r.h2session;else if(r.agent===!1)this.agent=new rY({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new rY({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=wCe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new jb("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new xCe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Jr]=Object.create(null),this[Df]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Jr])&&(this[Jr].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[aY]=r,s===443?(this[Gb]=`https://${o}`,":authority"in this[Jr]||(this[Jr][":authority"]=o)):(this[Gb]=`https://${o}:${s}`,":authority"in this[Jr]||(this[Jr][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[zm]=!1}get method(){return this[Jr][sY]}set method(e){e&&(this[Jr][sY]=e.toUpperCase())}get path(){return this[Jr][oY]}set path(e){e&&(this[Jr][oY]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Df].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Df].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[zm]||this.destroyed)return;this[zm]=!0;let e=this.method===FCe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||DCe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new QCe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[nY],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[nY]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Df])o();this.emit("socket",this.socket)};if(this[qb])try{r(this[qb].request(this[Jr]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[Gb],this[aY],this[Jr]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new jb("name","string",e);return this[Jr][e.toLowerCase()]}get headersSent(){return this[zm]}removeHeader(e){if(typeof e!="string")throw new jb("name","string",e);if(this.headersSent)throw new iY("remove");delete this[Jr][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new iY("set");if(typeof e!="string"||!RCe.test(e)&&!SCe(e))throw new kCe("Header name",e);if(typeof r=="undefined")throw new vCe(r,e);if(NCe.test(r))throw new PCe("header content",e);this[Jr][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Df].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};tY.exports=AY});var cY=C((K6e,lY)=>{"use strict";var LCe=require("tls");lY.exports=(t={})=>new Promise((e,r)=>{let i=LCe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var gY=C((U6e,uY)=>{"use strict";var MCe=require("net");uY.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),MCe.isIP(e)?"":e}});var pY=C((H6e,Wb)=>{"use strict";var fY=require("http"),zb=require("https"),TCe=cY(),OCe=Ob(),KCe=Jb(),UCe=gY(),HCe=Yb(),Vm=new OCe({maxSize:100}),Sf=new Map,hY=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},YCe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Vm.has(e)){if(Sf.has(e))return(await Sf.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=TCe(t);Sf.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Vm.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=zb,l=zb.Agent.prototype.createConnection;i?i.createConnection===l?hY(i,s,t):s.destroy():a.createConnection===l?hY(a,s,t):s.destroy()}return Sf.delete(e),o}catch(s){throw Sf.delete(e),s}}return Vm.get(e)};Wb.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=HCe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=V(v(v({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||UCe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?zb.globalAgent:fY.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await YCe(e)==="h2"?(n&&(e.agent=n.http2),new KCe(e,r)):fY.request(e,r)};Wb.exports.protocolCache=Vm});var CY=C((Y6e,dY)=>{"use strict";var jCe=require("http2"),GCe=Ub(),Vb=Jb(),qCe=Hb(),JCe=pY(),WCe=(t,e,r)=>new Vb(t,e,r),zCe=(t,e,r)=>{let i=new Vb(t,e,r);return i.end(),i};dY.exports=V(v(V(v({},jCe),{ClientRequest:Vb,IncomingMessage:qCe}),GCe),{request:WCe,get:zCe,auto:JCe})});var Zb=C(Xb=>{"use strict";Object.defineProperty(Xb,"__esModule",{value:!0});var mY=Vs();Xb.default=t=>mY.default.nodeStream(t)&&mY.default.function_(t.getBoundary)});var BY=C(_b=>{"use strict";Object.defineProperty(_b,"__esModule",{value:!0});var IY=require("fs"),EY=require("util"),yY=Vs(),VCe=Zb(),XCe=EY.promisify(IY.stat);_b.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(yY.default.string(t))return Buffer.byteLength(t);if(yY.default.buffer(t))return t.length;if(VCe.default(t))return EY.promisify(t.getLength.bind(t))();if(t instanceof IY.ReadStream){let{size:r}=await XCe(t.path);return r}}});var eD=C($b=>{"use strict";Object.defineProperty($b,"__esModule",{value:!0});function ZCe(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}$b.default=ZCe});var wY=C(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});tD.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var bY=C(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});xf.TimeoutError=void 0;var _Ce=require("net"),$Ce=wY(),QY=Symbol("reentry"),eme=()=>{},rD=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};xf.TimeoutError=rD;xf.default=(t,e,r)=>{if(QY in t)return eme;t[QY]=!0;let i=[],{once:n,unhandleAll:s}=$Ce.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let I=()=>{clearTimeout(m)};return i.push(I),I},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new rD(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:_Ce.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",I=>{I===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var SY=C(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});var DY=Vs();iD.default=t=>{t=t;let e={protocol:t.protocol,hostname:DY.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return DY.default.string(t.port)&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var xY=C(nD=>{"use strict";Object.defineProperty(nD,"__esModule",{value:!0});var tme=require("url"),rme=["protocol","host","hostname","port","pathname","search"];nD.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new tme.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of rme)e[s]&&(n[s]=e[s].toString());return n}});var vY=C(sD=>{"use strict";Object.defineProperty(sD,"__esModule",{value:!0});var kY=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};sD.default=kY});var aD=C(oD=>{"use strict";Object.defineProperty(oD,"__esModule",{value:!0});var ime=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};oD.default=ime});var FY=C(mA=>{"use strict";Object.defineProperty(mA,"__esModule",{value:!0});mA.dnsLookupIpVersionToFamily=mA.isDnsLookupIpVersion=void 0;var PY={auto:0,ipv4:4,ipv6:6};mA.isDnsLookupIpVersion=t=>t in PY;mA.dnsLookupIpVersionToFamily=t=>{if(mA.isDnsLookupIpVersion(t))return PY[t];throw new Error("Invalid DNS lookup IP version")}});var AD=C(Xm=>{"use strict";Object.defineProperty(Xm,"__esModule",{value:!0});Xm.isResponseOk=void 0;Xm.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var NY=C(lD=>{"use strict";Object.defineProperty(lD,"__esModule",{value:!0});var RY=new Set;lD.default=t=>{RY.has(t)||(RY.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var LY=C(cD=>{"use strict";Object.defineProperty(cD,"__esModule",{value:!0});var Ht=Vs(),nme=(t,e)=>{if(Ht.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ht.assert.any([Ht.default.string,Ht.default.undefined],t.encoding),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.resolveBodyOnly),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.methodRewriting),Ht.assert.any([Ht.default.boolean,Ht.default.undefined],t.isStream),Ht.assert.any([Ht.default.string,Ht.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=v({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ht.default.object(r)?(t.retry=v(v({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ht.default.number(r)&&(t.retry.limit=r),Ht.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ht.default.number))),Ht.default.object(t.pagination)){e&&(t.pagination=v(v({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ht.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ht.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ht.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ht.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};cD.default=nme});var MY=C(kf=>{"use strict";Object.defineProperty(kf,"__esModule",{value:!0});kf.retryAfterStatusCodes=void 0;kf.retryAfterStatusCodes=new Set([413,429,503]);var sme=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};kf.default=sme});var Pf=C(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.UnsupportedProtocolError=Et.ReadError=Et.TimeoutError=Et.UploadError=Et.CacheError=Et.HTTPError=Et.MaxRedirectsError=Et.RequestError=Et.setNonEnumerableProperties=Et.knownHookEvents=Et.withoutBody=Et.kIsNormalizedAlready=void 0;var TY=require("util"),OY=require("stream"),ome=require("fs"),Wo=require("url"),KY=require("http"),uD=require("http"),ame=require("https"),Ame=z2(),lme=tH(),UY=LH(),cme=KH(),ume=CY(),gme=Jm(),se=Vs(),fme=BY(),HY=Zb(),hme=eD(),YY=bY(),pme=SY(),jY=xY(),dme=vY(),Cme=aD(),GY=FY(),mme=AD(),zo=NY(),Ime=LY(),Eme=MY(),yme=new lme.default,Sr=Symbol("request"),Zm=Symbol("response"),Ac=Symbol("responseSize"),lc=Symbol("downloadedSize"),cc=Symbol("bodySize"),uc=Symbol("uploadedSize"),_m=Symbol("serverResponsesPiped"),qY=Symbol("unproxyEvents"),JY=Symbol("isFromCache"),gD=Symbol("cancelTimeouts"),WY=Symbol("startedReading"),gc=Symbol("stopReading"),$m=Symbol("triggerRead"),Vo=Symbol("body"),vf=Symbol("jobs"),zY=Symbol("originalResponse"),VY=Symbol("retryTimeout");Et.kIsNormalizedAlready=Symbol("isNormalizedAlready");var Bme=se.default.string(process.versions.brotli);Et.withoutBody=new Set(["GET","HEAD"]);Et.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function wme(t){for(let e in t){let r=t[e];if(!se.default.string(r)&&!se.default.number(r)&&!se.default.boolean(r)&&!se.default.null_(r)&&!se.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function Qme(t){return se.default.object(t)&&!("statusCode"in t)}var fD=new dme.default,bme=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),Dme=new Set([300,301,302,303,304,307,308]),Sme=["context","body","json","form"];Et.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of Sme)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var mr=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof hD?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Zm]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,!se.default.undefined(r.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` -`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` -`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` -`)}${a.reverse().join(` -`)}`}}};Et.RequestError=mr;var pD=class extends mr{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};Et.MaxRedirectsError=pD;var dD=class extends mr{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};Et.HTTPError=dD;var CD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};Et.CacheError=CD;var mD=class extends mr{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};Et.UploadError=mD;var ID=class extends mr{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};Et.TimeoutError=ID;var eI=class extends mr{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};Et.ReadError=eI;var ED=class extends mr{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};Et.UnsupportedProtocolError=ED;var xme=["socket","connect","continue","information","upgrade","timeout"],hD=class extends OY.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[lc]=0,this[uc]=0,this.requestInitialized=!1,this[_m]=new Set,this.redirects=[],this[gc]=!1,this[$m]=!1,this[vf]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof uD.IncomingMessage&&(this.options.headers=v(v({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),Et.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){se.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof ome.ReadStream&&await bme(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Sr])===null||c===void 0||c.destroy();return}for(let g of this[vf])g();this[vf].length=0,this.requestInitialized=!0}catch(u){if(u instanceof mr){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(se.default.object(e)&&!se.default.urlInstance(e))r=v(v(v({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=v(v({},i),r),e!==void 0&&(r.url=e),se.default.urlInstance(r.url)&&(r.url=new Wo.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),se.assert.any([se.default.string,se.default.undefined],r.method),se.assert.any([se.default.object,se.default.undefined],r.headers),se.assert.any([se.default.string,se.default.urlInstance,se.default.undefined],r.prefixUrl),se.assert.any([se.default.object,se.default.undefined],r.cookieJar),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.searchParams),se.assert.any([se.default.object,se.default.string,se.default.undefined],r.cache),se.assert.any([se.default.object,se.default.number,se.default.undefined],r.timeout),se.assert.any([se.default.object,se.default.undefined],r.context),se.assert.any([se.default.object,se.default.undefined],r.hooks),se.assert.any([se.default.boolean,se.default.undefined],r.decompress),se.assert.any([se.default.boolean,se.default.undefined],r.ignoreInvalidCookies),se.assert.any([se.default.boolean,se.default.undefined],r.followRedirect),se.assert.any([se.default.number,se.default.undefined],r.maxRedirects),se.assert.any([se.default.boolean,se.default.undefined],r.throwHttpErrors),se.assert.any([se.default.boolean,se.default.undefined],r.http2),se.assert.any([se.default.boolean,se.default.undefined],r.allowGetBody),se.assert.any([se.default.string,se.default.undefined],r.localAddress),se.assert.any([GY.isDnsLookupIpVersion,se.default.undefined],r.dnsLookupIpVersion),se.assert.any([se.default.object,se.default.undefined],r.https),se.assert.any([se.default.boolean,se.default.undefined],r.rejectUnauthorized),r.https&&(se.assert.any([se.default.boolean,se.default.undefined],r.https.rejectUnauthorized),se.assert.any([se.default.function_,se.default.undefined],r.https.checkServerIdentity),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificateAuthority),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.key),se.assert.any([se.default.string,se.default.object,se.default.array,se.default.undefined],r.https.certificate),se.assert.any([se.default.string,se.default.undefined],r.https.passphrase),se.assert.any([se.default.string,se.default.buffer,se.default.array,se.default.undefined],r.https.pfx)),se.assert.any([se.default.object,se.default.undefined],r.cacheOptions),se.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=v({},r.headers):r.headers=gme(v(v({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(se.default.string(r.searchParams)||r.searchParams instanceof Wo.URLSearchParams)h=new Wo.URLSearchParams(r.searchParams);else{wme(r.searchParams),h=new Wo.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",se.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),se.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=jY.default(r.prefixUrl+r.url,r)}else(se.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=jY.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let I=r.url;if(!I.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${I.href}`);r.url=new Wo.URL(m+I.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new Wo.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new ED(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;se.assert.function_(h),se.assert.function_(p),h.length===4&&p.length===0&&(h=TY.promisify(h.bind(r.cookieJar)),p=TY.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(fD.has(g)||fD.set(g,new UY((h,p)=>{let m=h[Sr](h,p);return se.default.promise(m)&&(m.once=(I,y)=>{if(I==="error")m.catch(y);else if(I==="abort")(async()=>{try{(await m).once("abort",y)}catch(B){}})();else throw new Error(`Unknown HTTP2 promise event: ${I}`);return m}),m},g))),r.cacheOptions=v({},r.cacheOptions),r.dnsCache===!0)r.dnsCache=yme;else if(!se.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${se.default(r.dnsCache)}`);se.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=v(v({},i.timeout),r.timeout):r.timeout=v({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=v({},r.hooks);for(let h of Et.knownHookEvents)if(h in r.hooks)if(se.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${se.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of Et.knownHookEvents)i.hooks[h].length!==0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&zo.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=v(v({},i.https),r.https)),"rejectUnauthorized"in r&&zo.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&zo.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&zo.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&zo.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&zo.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&zo.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&zo.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,Et.setNonEnumerableProperties([i,c],r),Ime.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!se.default.undefined(e.form),n=!se.default.undefined(e.json),s=!se.default.undefined(e.body),o=i||n||s,a=Et.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof OY.Readable)&&!se.default.string(e.body)&&!se.default.buffer(e.body)&&!HY.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!se.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!se.default.string(r["content-type"]);s?(HY.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[Vo]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[Vo]=new Wo.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[Vo]=e.stringifyJson(e.json));let c=await fme.default(this[Vo],e.headers);se.default.undefined(r["content-length"])&&se.default.undefined(r["transfer-encoding"])&&!a&&!se.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[cc]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[zY]=e,r.decompress&&(e=cme(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:KY.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[JY]=s.isFromCache,this[Ac]=Number(e.headers["content-length"])||void 0,this[Zm]=e,e.once("end",()=>{this[Ac]=this[lc],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new eI(a,this))}),e.once("aborted",()=>{this._beforeError(new eI({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(se.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&Dme.has(n)){if(e.resume(),this[Sr]&&(this[gD](),delete this[Sr],this[qY]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[Vo]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new pD(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new Wo.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!mme.isResponseOk(s)){this._beforeError(new dD(s));return}e.on("readable",()=>{this[$m]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[_m])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;Ame.default(e),this[gD]=YY.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l instanceof YY.TimeoutError?l=new ID(l,this.timings,this):l=new mr(l.message,l,this),this._beforeError(l)}),this[qY]=hme.default(e,this,xme),this[Sr]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[Vo],a=this.redirects.length===0?this:e;se.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new mD(l,this))})):(this._unlockWrite(),se.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,pme.default(e)),delete r.url;let s,o=fD.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let y in a)if(se.default.undefined(a[y]))delete a[y];else if(se.default.null_(a[y]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${y}\` header`);if(o.decompress&&se.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=Bme?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let y=await o.cookieJar.getCookieString(o.url.toString());se.default.nonEmptyString(y)&&(o.headers.cookie=y)}for(let y of o.hooks.beforeRequest){let B=await y(o);if(!se.default.undefined(B)){o.request=()=>B;break}}o.body&&this[Vo]!==o.body&&(this[Vo]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let y=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(y==null?void 0:y.groups){let{socketPath:B,path:x}=y.groups;Object.assign(o,{socketPath:B,path:x,host:""})}}let f=g.protocol==="https:",h;o.http2?h=ume.auto:h=f?ame.request:KY.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Sr]=p,delete o.request,delete o.timeout;let I=o;if(I.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,I.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,I.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,I.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{I.family=GY.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(y){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(I.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(I.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(I.ca=o.https.certificateAuthority),o.https.certificate&&(I.cert=o.https.certificate),o.https.key&&(I.key=o.https.key),o.https.passphrase&&(I.passphrase=o.https.passphrase),o.https.pfx&&(I.pfx=o.https.pfx));try{let y=await m(g,I);se.default.undefined(y)&&(y=h(g,I)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete I.rejectUnauthorized,o.https.checkServerIdentity&&delete I.checkServerIdentity,o.https.certificateAuthority&&delete I.ca,o.https.certificate&&delete I.cert,o.https.key&&delete I.key,o.https.passphrase&&delete I.passphrase,o.https.pfx&&delete I.pfx),Qme(y)?this._onRequest(y):this.writable?(this.once("finish",()=>{this._onResponse(y)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(y)}catch(y){throw y instanceof UY.CacheError?new CD(y,this):new mr(y.message,y,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new mr(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[gc])return;let{options:r}=this,i=this.retryCount+1;this[gc]=!0,e instanceof mr||(e=new mr(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await Cme.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:Eme.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new mr(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new mr(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[VY]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[$m]=!0;let e=this[Zm];if(e&&!this[gc]){e.readableLength&&(this[$m]=!1);let r;for(;(r=e.read())!==null;){this[lc]+=r.length,this[WY]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[vf].push(n)}_writeRequest(e,r,i){this[Sr].destroyed||(this._progressCallbacks.push(()=>{this[uc]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Sr].write(e,r,n=>{!n&&this._progressCallbacks.length!==0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Sr in this)){e();return}if(this[Sr].destroyed){e();return}this[Sr].end(i=>{i||(this[cc]=this[uc],this.emit("uploadProgress",this.uploadProgress),this[Sr].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[vf].push(r)}_destroy(e,r){var i;this[gc]=!0,clearTimeout(this[VY]),Sr in this&&(this[gD](),((i=this[Zm])===null||i===void 0?void 0:i.complete)||this[Sr].destroy()),e!==null&&!se.default.undefined(e)&&!(e instanceof mr)&&(e=new mr(e.message,e,this)),r(e)}get _isAboutToError(){return this[gc]}get ip(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.socket.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Sr])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[zY])===null||i===void 0?void 0:i.complete)}get socket(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.socket}get downloadProgress(){let e;return this[Ac]?e=this[lc]/this[Ac]:this[Ac]===this[lc]?e=1:e=0,{percent:e,transferred:this[lc],total:this[Ac]}}get uploadProgress(){let e;return this[cc]?e=this[uc]/this[cc]:this[cc]===this[uc]?e=1:e=0,{percent:e,transferred:this[uc],total:this[cc]}}get timings(){var e;return(e=this[Sr])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[JY]}pipe(e,r){if(this[WY])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof uD.ServerResponse&&this[_m].add(e),super.pipe(e,r)}unpipe(e){return e instanceof uD.ServerResponse&&this[_m].delete(e),super.unpipe(e),this}};Et.default=hD});var Ff=C(Mn=>{"use strict";var kme=Mn&&Mn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),vme=Mn&&Mn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&kme(e,t,r)};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.CancelError=Mn.ParseError=void 0;var XY=Pf(),ZY=class extends XY.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};Mn.ParseError=ZY;var _Y=class extends XY.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};Mn.CancelError=_Y;vme(Pf(),Mn)});var ej=C(yD=>{"use strict";Object.defineProperty(yD,"__esModule",{value:!0});var $Y=Ff(),Pme=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new $Y.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new $Y.ParseError(s,t)}};yD.default=Pme});var BD=C(Xo=>{"use strict";var Fme=Xo&&Xo.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),Rme=Xo&&Xo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Fme(e,t,r)};Object.defineProperty(Xo,"__esModule",{value:!0});var Nme=require("events"),Lme=Vs(),Mme=J2(),tI=Ff(),tj=ej(),rj=Pf(),Tme=eD(),Ome=aD(),ij=AD(),Kme=["request","response","redirect","uploadProgress","downloadProgress"];function nj(t){let e,r,i=new Nme.EventEmitter,n=new Mme((o,a,l)=>{let c=u=>{let g=new rj.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new tI.CancelError(g))),e=g,g.once("response",async h=>{var p;if(h.retryCount=u,h.request.aborted)return;let m;try{m=await Ome.default(g),h.rawBody=m}catch(x){return}if(g._isAboutToError)return;let I=((p=h.headers["content-encoding"])!==null&&p!==void 0?p:"").toLowerCase(),y=["gzip","deflate","br"].includes(I),{options:B}=g;if(y&&!B.decompress)h.body=m;else try{h.body=tj.default(h,B.responseType,B.parseJson,B.encoding)}catch(x){if(h.body=m.toString(),ij.isResponseOk(h)){g._beforeError(x);return}}try{for(let[x,F]of B.hooks.afterResponse.entries())h=await F(h,async N=>{let O=rj.default.normalizeArguments(void 0,V(v({},N),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),B);O.hooks.afterResponse=O.hooks.afterResponse.slice(0,x);for(let J of O.hooks.beforeRetry)await J(O);let P=nj(O);return l(()=>{P.catch(()=>{}),P.cancel()}),P})}catch(x){g._beforeError(new tI.RequestError(x.message,x,g));return}if(!ij.isResponseOk(h)){g._beforeError(new tI.HTTPError(h));return}r=h,o(g.options.resolveBodyOnly?h.body:h)});let f=h=>{if(n.isCanceled)return;let{options:p}=g;if(h instanceof tI.HTTPError&&!p.throwHttpErrors){let{response:m}=h;o(g.options.resolveBodyOnly?m.body:m);return}a(h)};g.once("error",f),g.once("retry",(h,p)=>{var m;if(Lme.default.nodeStream((m=p.request)===null||m===void 0?void 0:m.options.body)){f(p);return}c(h)}),Tme.default(g,i,Kme)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return tj.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}Xo.default=nj;Rme(Ff(),Xo)});var sj=C(wD=>{"use strict";Object.defineProperty(wD,"__esModule",{value:!0});var Ume=Ff();function Hme(t,...e){let r=(async()=>{if(t instanceof Ume.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}wD.default=Hme});var Aj=C(QD=>{"use strict";Object.defineProperty(QD,"__esModule",{value:!0});var oj=Vs();function aj(t){for(let e of Object.values(t))(oj.default.plainObject(e)||oj.default.array(e))&&aj(e);return Object.freeze(t)}QD.default=aj});var cj=C(lj=>{"use strict";Object.defineProperty(lj,"__esModule",{value:!0})});var bD=C(hn=>{"use strict";var Yme=hn&&hn.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),jme=hn&&hn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Yme(e,t,r)};Object.defineProperty(hn,"__esModule",{value:!0});hn.defaultHandler=void 0;var uj=Vs(),pn=BD(),Gme=sj(),rI=Pf(),qme=Aj(),Jme={RequestError:pn.RequestError,CacheError:pn.CacheError,ReadError:pn.ReadError,HTTPError:pn.HTTPError,MaxRedirectsError:pn.MaxRedirectsError,TimeoutError:pn.TimeoutError,ParseError:pn.ParseError,CancelError:pn.CancelError,UnsupportedProtocolError:pn.UnsupportedProtocolError,UploadError:pn.UploadError},Wme=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:iI}=rI.default,gj=(...t)=>{let e;for(let r of t)e=iI(void 0,r,e);return e},zme=t=>t.isStream?new rI.default(void 0,t):pn.default(t),Vme=t=>"defaults"in t&&"options"in t.defaults,Xme=["get","post","put","patch","head","delete"];hn.defaultHandler=(t,e)=>e(t);var fj=(t,e)=>{if(t)for(let r of t)r(e)},hj=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n,s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?zme:c);if(uj.default.plainObject(i)){let u=v(v({},i),n);rI.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{fj(t.options.hooks.init,n),fj((o=n==null?void 0:n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=iI(i,n,s!=null?s:t.options);if(g[rI.kIsNormalizedAlready]=!0,u)throw new pn.RequestError(u.message,u,g);return c(g)}catch(u){if(n==null?void 0:n.isStream)throw u;return Gme.default(u,t.options.hooks.beforeError,(a=n==null?void 0:n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)Vme(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==hn.defaultHandler),s.length===0&&s.push(hn.defaultHandler),hj({options:gj(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=iI(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!uj.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,V(v({},n),{isStream:!0}));for(let i of Xme)e[i]=(n,s)=>e(n,V(v({},s),{method:i})),e.stream[i]=(n,s)=>e(n,V(v({},s),{method:i,isStream:!0}));return Object.assign(e,Jme),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:qme.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=gj,e};hn.default=hj;jme(cj(),hn)});var sI=C((Zs,nI)=>{"use strict";var Zme=Zs&&Zs.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),pj=Zs&&Zs.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Zme(e,t,r)};Object.defineProperty(Zs,"__esModule",{value:!0});var _me=require("url"),dj=bD(),$me={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new _me.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[dj.defaultHandler],mutableDefaults:!1},DD=dj.default($me);Zs.default=DD;nI.exports=DD;nI.exports.default=DD;nI.exports.__esModule=!0;pj(bD(),Zs);pj(BD(),Zs)});var Ej=C(fc=>{"use strict";var u7e=require("net"),eIe=require("tls"),SD=require("http"),Cj=require("https"),tIe=require("events"),g7e=require("assert"),rIe=require("util");fc.httpOverHttp=iIe;fc.httpsOverHttp=nIe;fc.httpOverHttps=sIe;fc.httpsOverHttps=oIe;function iIe(t){var e=new _s(t);return e.request=SD.request,e}function nIe(t){var e=new _s(t);return e.request=SD.request,e.createSocket=mj,e.defaultPort=443,e}function sIe(t){var e=new _s(t);return e.request=Cj.request,e}function oIe(t){var e=new _s(t);return e.request=Cj.request,e.createSocket=mj,e.defaultPort=443,e}function _s(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||SD.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=Ij(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};_s.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=xD({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),Zo("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){Zo("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){Zo("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return Zo("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),Zo(`tunneling socket could not be established, cause=%s -`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};_s.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function mj(t,e){var r=this;_s.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=xD({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=eIe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function Ij(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function xD(t){for(var e=1,r=arguments.length;e{yj.exports=Ej()});var sG=C((DVe,RD)=>{var Nj=Object.assign({},require("fs")),ne=typeof ne!="undefined"?ne:{},Nf={},$o;for($o in ne)ne.hasOwnProperty($o)&&(Nf[$o]=ne[$o]);var ND=[],Lj="./this.program",Mj=function(t,e){throw e},Tj=!1,EA=!0,Lf="";function pIe(t){return ne.locateFile?ne.locateFile(t,Lf):Lf+t}var AI,LD,lI,MD;EA&&(Tj?Lf=require("path").dirname(Lf)+"/":Lf=__dirname+"/",AI=function(e,r){var i=Kj(e);return i?r?i:i.toString():(lI||(lI=Nj),MD||(MD=require("path")),e=MD.normalize(e),lI.readFileSync(e,r?null:"utf8"))},LD=function(e){var r=AI(e,!0);return r.buffer||(r=new Uint8Array(r)),Oj(r.buffer),r},process.argv.length>1&&(Lj=process.argv[1].replace(/\\/g,"/")),ND=process.argv.slice(2),typeof RD!="undefined"&&(RD.exports=ne),Mj=function(t){process.exit(t)},ne.inspect=function(){return"[Emscripten Module object]"});var cI=ne.print||console.log.bind(console),Wr=ne.printErr||console.warn.bind(console);for($o in Nf)Nf.hasOwnProperty($o)&&(ne[$o]=Nf[$o]);Nf=null;ne.arguments&&(ND=ne.arguments);ne.thisProgram&&(Lj=ne.thisProgram);ne.quit&&(Mj=ne.quit);var dIe=16;function CIe(t,e){return e||(e=dIe),Math.ceil(t/e)*e}var mIe=0,IIe=function(t){mIe=t},TD;ne.wasmBinary&&(TD=ne.wasmBinary);var x7e=ne.noExitRuntime||!0;typeof WebAssembly!="object"&&gr("no native wasm support detected");function EIe(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return ui[t>>0];case"i8":return ui[t>>0];case"i16":return OD[t>>1];case"i32":return je[t>>2];case"i64":return je[t>>2];case"float":return Uj[t>>2];case"double":return Hj[t>>3];default:gr("invalid type for getValue: "+e)}return null}var uI,Yj=!1,yIe;function Oj(t,e){t||gr("Assertion failed: "+e)}function jj(t){var e=ne["_"+t];return Oj(e,"Cannot call unknown function "+t+", make sure it is exported"),e}function bIe(t,e,r,i,n){var s={string:function(h){var p=0;if(h!=null&&h!==0){var m=(h.length<<2)+1;p=Jj(m),qj(h,p,m)}return p},array:function(h){var p=Jj(h.length);return BIe(h,p),p}};function o(h){return e==="string"?Gj(h):e==="boolean"?Boolean(h):h}var a=jj(t),l=[],c=0;if(i)for(var u=0;u=i);)++n;if(n-e>16&&t.subarray&&Wj)return Wj.decode(t.subarray(e,n));for(var s="";e>10,56320|c&1023)}}return s}function Gj(t,e){return t?hc(pc,t,e):""}function gI(t,e,r,i){if(!(i>0))return 0;for(var n=r,s=r+i-1,o=0;o=55296&&a<=57343){var l=t.charCodeAt(++o);a=65536+((a&1023)<<10)|l&1023}if(a<=127){if(r>=s)break;e[r++]=a}else if(a<=2047){if(r+1>=s)break;e[r++]=192|a>>6,e[r++]=128|a&63}else if(a<=65535){if(r+2>=s)break;e[r++]=224|a>>12,e[r++]=128|a>>6&63,e[r++]=128|a&63}else{if(r+3>=s)break;e[r++]=240|a>>18,e[r++]=128|a>>12&63,e[r++]=128|a>>6&63,e[r++]=128|a&63}}return e[r]=0,r-n}function qj(t,e,r){return gI(t,pc,e,r)}function fI(t){for(var e=0,r=0;r=55296&&i<=57343&&(i=65536+((i&1023)<<10)|t.charCodeAt(++r)&1023),i<=127?++e:i<=2047?e+=2:i<=65535?e+=3:e+=4}return e}function KD(t){var e=fI(t)+1,r=zj(e);return r&&gI(t,ui,r,e),r}function BIe(t,e){ui.set(t,e)}function SIe(t,e){return t%e>0&&(t+=e-t%e),t}var UD,ui,pc,OD,xIe,je,kIe,Uj,Hj;function Vj(t){UD=t,ne.HEAP8=ui=new Int8Array(t),ne.HEAP16=OD=new Int16Array(t),ne.HEAP32=je=new Int32Array(t),ne.HEAPU8=pc=new Uint8Array(t),ne.HEAPU16=xIe=new Uint16Array(t),ne.HEAPU32=kIe=new Uint32Array(t),ne.HEAPF32=Uj=new Float32Array(t),ne.HEAPF64=Hj=new Float64Array(t)}var k7e=ne.INITIAL_MEMORY||16777216,HD,Xj=[],Zj=[],_j=[],vIe=!1;function FIe(){if(ne.preRun)for(typeof ne.preRun=="function"&&(ne.preRun=[ne.preRun]);ne.preRun.length;)PIe(ne.preRun.shift());YD(Xj)}function RIe(){vIe=!0,!ne.noFSInit&&!E.init.initialized&&E.init(),ea.init(),YD(Zj)}function LIe(){if(ne.postRun)for(typeof ne.postRun=="function"&&(ne.postRun=[ne.postRun]);ne.postRun.length;)NIe(ne.postRun.shift());YD(_j)}function PIe(t){Xj.unshift(t)}function MIe(t){Zj.unshift(t)}function NIe(t){_j.unshift(t)}var yA=0,jD=null,Mf=null;function TIe(t){return t}function $j(t){yA++,ne.monitorRunDependencies&&ne.monitorRunDependencies(yA)}function GD(t){if(yA--,ne.monitorRunDependencies&&ne.monitorRunDependencies(yA),yA==0&&(jD!==null&&(clearInterval(jD),jD=null),Mf)){var e=Mf;Mf=null,e()}}ne.preloadedImages={};ne.preloadedAudios={};function gr(t){ne.onAbort&&ne.onAbort(t),t+="",Wr(t),Yj=!0,yIe=1,t="abort("+t+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(t);throw e}var eG="data:application/octet-stream;base64,";function tG(t){return t.startsWith(eG)}var Tf="data:application/octet-stream;base64,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AkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC2EBAX8jAEEQayICIAA2AgggAiABNwMAAkAgAikDACACKAIIKQMIVgRAIAIoAghBADoAACACQX82AgwMAQsgAigCCEEBOgAAIAIoAgggAikDADcDECACQQA2AgwLIAIoAgwL7wEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhCCBAeNgIMAkAgAigCDEUEQCACQX82AhwMAQsgAigCDCACKQMQQv8BgzwAACACKAIMIAIpAxBCCIhC/wGDPAABIAIoAgwgAikDEEIQiEL/AYM8AAIgAigCDCACKQMQQhiIQv8BgzwAAyACKAIMIAIpAxBCIIhC/wGDPAAEIAIoAgwgAikDEEIoiEL/AYM8AAUgAigCDCACKQMQQjCIQv8BgzwABiACKAIMIAIpAxBCOIhC/wGDPAAHIAJBADYCHAsgAigCHBogAkEgaiQAC4cDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEUNACADKQMYQv///////////wBWDQAgAykDGFANASADKAIgDQELIAMoAiRBDGpBEkEAEBQgA0J/NwMoDAELIAMoAiQtADVBAXEEQCADQn83AygMAQsCfyMAQRBrIgAgAygCJDYCDCAAKAIMLQA0QQFxCwRAIANCADcDKAwBCyADKQMYUARAIANCADcDKAwBCyADQgA3AxADQCADKQMQIAMpAxhUBEAgAyADKAIkIAMoAiAgAykDEKdqIAMpAxggAykDEH1BARAhIgI3AwggAkIAUwRAIAMoAiRBAToANSADKQMQUARAIANCfzcDKAwECyADIAMpAxA3AygMAwsgAykDCFAEQCADKAIkQQE6ADQFIAMgAykDCCADKQMQfDcDEAwCCwsLIAMgAykDEDcDKAsgAykDKCECIANBMGokACACCzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRC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AkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILUgECf0GQlwEoAgAiASAAQQNqQXxxIgJqIQACQCACQQAgACABTRsNACAAPwBBEHRLBEAgABATRQ0BC0GQlwEgADYCACABDwtBtJsBQTA2AgBBfwuNBQEDfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDEaIAEoAgwoAgAQGwsgASgCDCgCHBAVIAEoAgwoAiAQJSABKAIMKAIkECUgASgCDCgCUCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCEARAIABBADYCCANAIAAoAgggACgCDCgCAEkEQCAAKAIMKAIQIAAoAghBAnRqKAIABEAgACgCDCgC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A3EQHwsgAygCpAEoAhQgA0GeAWogA0GcAWoQgQEgAygCTCADLwGeARAfIAMoAkwgAy8BnAEQHwJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIAwBCyADKAJMIAMoAqQBKAIYECALAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAgIAMoAkxBfxAgDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIAwBCyADKAJMQX8QIAsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAgDAELIAMoAkxBfxAgCwsgAygCTCADKAKkASgCMBBTQf//A3EQHyADIAMoAqQBKAI0IAMoAqABEIYBQf//A3EgAygCkAFBgAYQhgFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAfIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EFNB//8DcRAfIAMoAkwgAygCpAEoAjxB//8DcRAfIAMoAkwgAygCpAEvAUAQHyADKAJMIAMoAqQBKAJEECACQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAgDAELIAMoAkxBfxAgCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAJMEBYgAygCkAEQIyADQX82AqwBDAELIAMoAqgBIANB0ABqAn4jAEEQayIAIAMoAkw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQNUEASARAIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCTBAWIAMoAqQBKAIwBEAgAygCqAEgAygCpAEoAjAQigFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABBEAgAygCqAEgAygCkAFBgAYQhQFBAEgEQCADKAKQARAjIANBfzYCrAEMAgsLIAMoApABECMgAygCpAEoAjQEQCADKAKoASADKAKkASgCNCADKAKgARCFAUEASARAIANBfzYCrAEMAgsLIAMoAqABQYACcUUEQCADKAKkASgCOARAIAMoAqgBIAMoAqQBKAI4EIoB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HCAAIAAoAhRBAWo2AhQMAQsLIAAoAggQR0EBcUUEQCAAKAIgQRRBABAUIAAoAggQFiAAQX82AiwMAQsgACgCCBAWIAAgACgCHDYCLAsgACgCLCECIABBMGokACADIAIiADYCBCAAQQBIBEAgA0IANwMoDAELIAMpAwggAygCBK18Qv///////////wBWBEAgAygCFEEEQRYQFCADQgA3AygMAQsgAyADKQMIIAMoAgStfDcDKAsgAykDKCEBIANBMGokACABC20BAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEQQA2AhwMAQsgBCAEKAIUIAQoAhAgBCgCDCAEKAIYQQhqEJIBNgIcCyAEKAIcIQAgBEEgaiQAIAALVQEBfyMAQRBrIgEkACABIAA2AgwCQAJAIAEoAgwoAiRBAUYNACABKAIMKAIkQQJGDQAMAQsgASgCDEEAQgBBChAhGiABKAIMQQA2AiQLIAFBEGokAAumAQEBfyMAQRBrIgIkACACIAA2AgggAiABNgIEAkAgAigCCC0AKEEBcQRAIAJBfzYCDAwBCyACKAIIKAIABEAgAigCCCgCACACKAIEEGhBAEgEQCACKAIIQQxqIAIoAggoAgAQFyACQX82AgwMAgsLIAIoAgggAkEEakIEQRMQIUIAUwRAIAJBfzYCDAwBCyACQQA2AgwLIAIoAgwhACACQRBqJAAgAAuNCAIBfwF+IwBBkAFrIgMkACADIAA2AoQBIAMgATYCgAEgAyACNgJ8IAMQTwJAIAMoAoABKQMIQgBSBEAgAyADKAKAASgCACgCACkDSDcDYCADIAMoAoABKAIAKAIAKQNINwNoDAELIANCADcDYCADQgA3A2gLIANCADcDcAJAA0AgAykDcCADKAKAASkDCFQEQCADKAKAASgCACADKQNwp0EEdGooAgApA0ggAykDaFQEQCADIAMoAoABKAIAIAMpA3CnQQR0aigCACkDSDcDaAsgAykDaCADKAKAASkDIFYEQCADKAJ8QRNBABAUIANCfzcDiAEMAwsgAyADKAKAASgCACADKQNwp0EEdGooAgApA0ggAygCgAEoAgAgAykDcKdBBHRqKAIAKQMgfCADKAKAASgCACADKQNwp0EEdGooAgAoAjAQU0H//wNxrXxC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DEECdGooAgBBAnRqLwEASA0AAkAgAygCGCADKAIQQQJ0ai8BACADKAIYIAMoAhxB3BZqIAMoAgxBAnRqKAIAQQJ0ai8BAEcNACADKAIQIAMoAhxB2Chqai0AACADKAIcQdwWaiADKAIMQQJ0aigCACADKAIcQdgoamotAABKDQAMAQsgAygCHEHcFmogAygCFEECdGogAygCHEHcFmogAygCDEECdGooAgA2AgAgAyADKAIMNgIUIAMgAygCDEEBdDYCDAwBCwsgAygCHEHcFmogAygCFEECdGogAygCEDYCAAvXEwEDfyMAQTBrIgIkACACIAA2AiwgAiABNgIoIAIgAigCKCgCADYCJCACIAIoAigoAggoAgA2AiAgAiACKAIoKAIIKAIMNgIcIAJBfzYCECACKAIsQQA2AtAoIAIoAixBvQQ2AtQoIAJBADYCGANAIAIoAhggAigCHEgEQAJAIAIoAiQgAigCGEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQQFrNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBTgRAIAIoAiwgAigCJCACKAIYEHogAiACKAIYQQFrNgIYDAELCyACIAIoAhw2AgwDQCACIAIoAiwoAuAWNgIYIAIoAixB3BZqIQEgAigCLCIDKALQKCEAIAMgAEEBazYC0CggAigCLCAAQQJ0IAFqKAIANgLgFiACKAIsIAIoAiRBARB6IAIgAigCLCgC4BY2AhQgAigCGCEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAhQhASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIkIAIoAgxBAnRqIAIoAiQgAigCGEECdGovAQAgAigCJCACKAIUQQJ0ai8BAGo7AQAgAigCDCACKAIsQdgoamoCfyACKAIYIAIoAixB2Chqai0AACACKAIUIAIoAixB2Chqai0AAE4EQCACKAIYIAIoAixB2Chqai0AAAwBCyACKAIUIAIoAixB2Chqai0AAAtBAWo6AAAgAigCJCACKAIUQQJ0aiACKAIMIgA7AQIgAigCJCACKAIYQQJ0aiAAOwECIAIgAigCDCIAQQFqNgIMIAIoAiwgADYC4BYgAigCLCACKAIkQQEQeiACKAIsKALQKEECTg0ACyACKAIsKALgFiEBIAIoAixB3BZqIQMgAigCLCIEKALUKEEBayEAIAQgADYC1CggAEECdCADaiABNgIAIAIoAighASMAQUBqIgAgAigCLDYCPCAAIAE2AjggACAAKAI4KAIANgI0IAAgACgCOCgCBDYCMCAAIAAoAjgoAggoAgA2AiwgACAAKAI4KAIIKAIENgIoIAAgACgCOCgCCCgCCDYCJCAAIAAoAjgoAggoAhA2AiAgAEEANgIEIABBADYCEANAIAAoAhBBD0wEQCAAKAI8QbwWaiAAKAIQQQF0akEAOwEAIAAgACgCEEEBajYCEAwBCwsgACgCNCAAKAI8QdwWaiAAKAI8KALUKEECdGooAgBBAnRqQQA7AQIgACAAKAI8KALUKEEBajYCHANAIAAoAhxBvQRIBEAgACAAKAI8QdwWaiAAKAIcQQJ0aigCADYCGCAAIAAoAjQgACgCNCAAKAIYQQJ0ai8BAkECdGovAQJBAWo2AhAgACgCECAAKAIgSgRAIAAgACgCIDYCECAAIAAoAgRBAWo2AgQLIAAoAjQgACgCGEECdGogACgCEDsBAiAAKAIYIAAoAjBMBEAgACgCPCAAKAIQQQF0akG8FmoiASABLwEAQQFqOwEAIABBADYCDCAAKAIYIAAoAiROBEAgACAAKAIoIAAoAhggACgCJGtBAnRqKAIANgIMCyAAIAAoAjQgACgCGEECdGovAQA7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EANAIAMpAxAgAykDCFpFBEAgAygCKCgCACADKQMQp0EEdGoQkAEgAyADKQMQQgF8NwMQDAELCyADKAIoIAMpAwgiATcDECADKAIoIAE3AwggA0EBOgAvCyADLQAvQQFxIQAgA0EwaiQAIAALzAEBAX8jAEEgayICJAAgAiAANwMQIAIgATYCDCACQTAQGCIBNgIIAkAgAUUEQCACKAIMQQ5BABAUIAJBADYCHAwBCyACKAIIQQA2AgAgAigCCEIANwMQIAIoAghCADcDCCACKAIIQgA3AyAgAigCCEIANwMYIAIoAghBADYCKCACKAIIQQA6ACwgAigCCCACKQMQIAIoAgwQgwFBAXFFBEAgAigCCBAkIAJBADYCHAwBCyACIAIoAgg2AhwLIAIoAhwhASACQSBqJAAgAQvWAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCECADIANBDGpCBBApNgIIAkAgAygCCEUEQCADQX82AhwMAQsDQCADKAIUBEAgAygCFCgCBCADKAIQcUGABnEEQCADKAIIQgAQLBogAygCCCADKAIULwEIEB8gAygCCCADKAIULwEKEB8CfyMAQRBrIgAgAygCCDYCDCAAKAIMLQAAQQFxRQsEQCADKAIYQQhqQRRBABAUIAMoAggQFiADQX82AhwMBAsgAygCGCADQQxqQgQQNUEASARAIAMoAggQFiADQX82AhwMBAsgAygCFC8BCgRAIAMoAhggAygCFCgCDCADKAIULwEKrRA1QQBIBEAgAygCCBAWIANBfzYCHAwFCwsLIAMgAygCFCgCADYCFAwBCwsgAygCCBAWIANBADYCHAsgAygCHCEAIANBIGokACAAC2gBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADsBBgNAIAIoAgwEQCACKAIMKAIEIAIoAghxQYAGcQRAIAIgAigCDC8BCiACLwEGQQRqajsBBgsgAiACKAIMKAIANgIMDAELCyACLwEGC/ABAQF/IwBBEGsiASQAIAEgADYCDCABIAEoAgw2AgggAUEANgIEA0AgASgCDARAAkACQCABKAIMLwEIQfXGAUYNACABKAIMLwEIQfXgAUYNACABKAIMLwEIQYGyAkYNACABKAIMLwEIQQFHDQELIAEgASgCDCgCADYCACABKAIIIAEoAgxGBEAg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IAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCEASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQL0IWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EIQBIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAg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IAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEFwgAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQeBogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2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mwFCADcDAEGYmwFCADcDAEGQmwFCADcDAEGImwFCADcDAEGAmwFCADcDAEH4mgFCADcDAEHwmgFCADcDAEHwmgEL1QQBBX8jAEGwAWsiASQAIAEgADYCqAEgASgCqAEQNwJAAkAgASgCqAEoAgBBAE4EQCABKAKoASgCAEGAFCgCAEgNAQsgASABKAKoASgCADYCECABQSBqQY8SIAFBEGoQcCABQQA2AqQBIAEgAUEgajYCoAEMAQsgASABKAKoASgCAEECdEGAE2ooAgA2AqQBAkACQAJAAkAgASgCqAEoAgBBAnRBkBRqKAIAQQFrDgIAAQILIAEoAqgBKAIEIQJBkJkBKAIAIQRBACEAAkACQANAIAIgAEGgiAFqLQAARwRAQdcAIQMgAEEBaiIAQdcARw0BDAILCyAAIgMNAEGAiQEhAgwBC0GAiQEhAANAIAAtAAAhBSAAQQFqIgIhACAFDQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQKwJ/IAEoAqQBBEAgASgCpAEQK0ECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEHAgASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQA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HCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigo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QCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyABKAJcQYUPNgIYIAEoAlRB0f4ANgIEDAQLDAILIAEoAgxBwABxRQRAIAEgASgCJCABLwESIAEoAixBASABKAIMdEEBa3FqQQJ0aigBADYBEAwBCwsgASgCDEEgcQRAIAEoAlRBv/4ANgIEDAILIAEoAlxB6Q42AhggASgCVEHR/gA2AgQMAQsgASgCUCABKAJMSQR/IAEoAkggASgCQEkFQQALQQFxDQELCyABIAEoAihBA3Y2AgggASABKAJQIAEoAghrNgJQIAEgASgCKCABKAIIQQN0azYCKCABIAEoAixBASABKAIodEEBa3E2AiwgASgCXCABKAJQNgIAIAEoAlwgASgCSDYCDCABKAJcAn8gASgCUCABKAJMSQRAIAEoAkwgASgCUGtBBWoMAQtBBSABKAJQIAEoAkxraws2AgQgASgCXAJ/IAEoAkggASgCQEkEQCABKAJAIAEoAkhrQYECagwBC0GBAiABKAJIIAEoAkBraws2AhAgASgCVCABKAIsNgI8IAEoAlQgASgCKDYCQCAAIAAoAlgoAgw2AkggACAAKAJYKAIQNgJAIAAgACgCWCgCADYCTCAAIAAoAlgoAgQ2AkQgACAAKAJQKAI8NgI8IAAgACgCUCgCQDYCOCAAKAJQKAIEQb/+AEYEQCAAKAJQQX82Asg3CwwNCyAAKAJQQQA2Asg3A0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDQ0gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC0AIEUNACAALQAgQfABcQ0AIAAgACgBIDYBGANAAkAgACAAKAJQKAJQIAAvARogACgCPEEBIAAtABkgAC0AGGp0QQFrcSAALQAZdmpBAnRqKAEANgEgIAAoAjggAC0AGSAALQAhak8NACAAKAJERQ0OIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AGXY2AjwgACAAKAI4IAAtABlrNgI4IAAoAlAiASAALQAZIAEoAsg3ajYCyDcLIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggACgCUCIBIAAtACEgASgCyDdqNgLINyAAKAJQIAAvASI2AkQgAC0AIEUEQCAAKAJQQc3+ADYCBAwNCyAALQAgQSBxBEAgACgCUEF/NgLINyAAKAJQQb/+ADYCBAwNCyAALQAgQcAAcQRAIAAoAlhB6Q42AhggACgCUEHR/gA2AgQMDQsgACgCUCAALQAgQQ9xNgJMIAAoAlBByf4ANgIECyAAKAJQKAJMBEADQCAAKAI4IAAoAlAoAkxJBEAgACgCREUNDSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCIBIAEoAkQgACgCPEEBIAAoAlAoAkx0QQFrcWo2AkQgACAAKAI8IAAoAlAoAkx2NgI8IAAgACgCOCAAKAJQKAJMazYCOCAAKAJQIgEgACgCUCgCTCABKALIN2o2Asg3CyAAKAJQIAAoAlAoAkQ2Asw3IAAoAlBByv4ANgIECwNAAkAgACAAKAJQKAJUIAAoAjxBASAAKAJQKAJcdEEBa3FBAnRqKAEANgEgIAAtACEgACgCOE0NACAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAALQAgQfABcUUEQCAAIAAoASA2ARgDQAJAIAAgACgCUCgCVCAALwEaIAAoAjxBASAALQAZIAAtABhqdEEBa3EgAC0AGXZqQQJ0aigBADYBICAAKAI4IAAtABkgAC0AIWpPDQAgACgCREUNDCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtABl2NgI8IAAgACgCOCAALQAZazYCOCAAKAJQIgEgAC0AGSABKALIN2o2Asg3CyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAiASAALQAhIAEoAsg3ajYCyDcgAC0AIEHAAHEEQCAAKAJYQYUPNgIYIAAoAlBB0f4ANgIEDAsLIAAoAlAgAC8BIjYCSCAAKAJQIAAtACBBD3E2AkwgACgCUEHL/gA2AgQLIAAoAlAoAkwEQANAIAAoAjggACgCUCgCTEkEQCAAKAJERQ0LIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIgEgASgCSCAAKAI8QQEgACgCUCgCTHRBAWtxajYCSCAAIAAoAjwgACgCUCgCTHY2AjwgACAAKAI4IAAoAlAoAkxrNgI4IAAoAlAiASAAKAJQKAJMIAEoAsg3ajYCyDcLIAAoAlBBzP4ANgIECyAAKAJARQ0HIAAgACgCMCAAKAJAazYCLAJAIAAoAlAoAkggACgCLEsEQCAAIAAoAlAoAkggACgCLGs2AiwgACgCLCAAKAJQKAIwSwRAIAAoAlAoAsQ3BEAgACgCWEHdDDYCGCAAKAJQQdH+ADYCBAwMCwsCQCAAKAIsIAAoAlAoAjRLBEAgACAAKAIsIAAoAlAoAjRrNgIsIAAgACgCUCgCOCAAKAJQKAIsIAAoAixrajYCKAwBCyAAIAAoAlAoAjggACgCUCgCNCAAKAIsa2o2AigLIAAoAiwgACgCUCgCREsEQCAAIAAoAlAoAkQ2AiwLDAELIAAgACgCSCAAKAJQKAJIazYCKCAAIAAoAlAoAkQ2AiwLIAAoAiwgACgCQEsEQCAAIAAoAkA2AiwLIAAgACgCQCAAKAIsazYCQCAAKAJQIgEgASgCRCAAKAIsazYCRANAIAAgACgCKCIBQQFqNgIoIAEtAAAhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAIsQQFrIgE2AiwgAQ0ACyAAKAJQKAJERQRAIAAoAlBByP4ANgIECwwICyAAKAJARQ0GIAAoAlAoAkQhASAAIAAoAkgiAkEBajYCSCACIAE6AAAgACAAKAJAQQFrNgJAIAAoAlBByP4ANgIEDAcLIAAoAlAoAgwEQANAIAAoAjhBIEkEQCAAKAJERQ0IIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjAgACgCQGs2AjAgACgCWCIBIAAoAjAgASgCFGo2AhQgACgCUCIBIAAoAjAgASgCIGo2AiACQCAAKAJQKAIMQQRxRQ0AIAAoAjBFDQACfyAAKAJQKAIUBEAgACgCUCgCHCAAKAJIIAAoAjBrIAAoAjAQGgwBCyAAKAJQKAIcIAAoAkggACgCMGsgACgCMBA+CyEBIAAoAlAgATYCHCAAKAJYIAE2AjALIAAgACgCQDYCMAJAIAAoAlAoAgxBBHFFDQACfyAAKAJQKAIUBEAgACgCPAwBCyAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoLIAAoAlAoAhxGDQAgACgCWEHIDDYCGCAAKAJQQdH+ADYCBAwICyAAQQA2AjwgAEEANgI4CyAAKAJQQc/+ADYCBAsCQCAAKAJQKAIMRQ0AIAAoAlAoAhRFDQADQCAAKAI4QSBJBEAgACgCREUNByAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPCAAKAJQKAIgRwRAIAAoAlhBsQw2AhggACgCUEHR/gA2AgQMBwsgAEEANgI8IABBADYCOAsgACgCUEHQ/gA2AgQLIABBATYCEAwDCyAAQX02AhAMAgsgAEF8NgJcDAMLIABBfjYCXAwCCwsgACgCWCAAKAJINgIMIAAoAlggACgCQDYCECAAKAJYIAAoAkw2AgAgACgCWCAAKAJENgIEIAAoAlAgACgCPDYCPCAAKAJQIAAoAjg2AkACQAJAIAAoAlAoAiwNACAAKAIwIAAoAlgoAhBGDQEgACgCUCgCBEHR/gBPDQEgACgCUCgCBEHO/gBJDQAgACgCVEEERg0BCwJ/IAAoAlghAiAAKAJYKAIMIQMgACgCMCAAKAJYKAIQayEEIwBBIGsiASQAIAEgAjYCGCABIAM2AhQgASAENgIQIAEgASgCGCgCHDYCDAJAIAEoAgwoAjhFBEAgASgCGCgCKEEBIAEoAgwoAih0QQEgASgCGCgCIBEBACECIAEoAgwgAjYCOCABKAIMKAI4RQRAIAFBATYCHAwCCwsgASgCDCgCLEUEQCABKAIMQQEgASgCDCgCKHQ2AiwgASgCDEEANgI0IAEoAgxBADYCMAsCQCABKAIQIAEoAgwoAixPBEAgASgCDCgCOCABKAIUIAEoAgwoAixrIAEoAgwoAiwQGRogASgCDEEANgI0IAEoAgwgASgCDCgCLDYCMAwBCyABIAEoAgwoAiwgASgCDCgCNGs2AgggASgCCCABKAIQSwRAIAEgASgCEDYCCAsgASgCDCgCOCABKAIMKAI0aiABKAIUIAEoAhBrIAEoAggQGRogASABKAIQIAEoAghrNgIQAkAgASgCEARAIAEoAgwoAjggASgCFCABKAIQayABKAIQEBkaIAEoAgwgASgCEDYCNCABKAIMIAEoAgwoAiw2AjAMAQsgASgCDCICIAEoAgggAigCNGo2AjQgASgCDCgCNCABKAIMKAIsRgRAIAEoAgxBADYCNAsgASgCDCgCMCABKAIMKAIsSQRAIAEoAgwiAiABKAIIIAIoAjBqNgIwCwsLIAFBADYCHAsgASgCHCECIAFBIGokACACCwRAIAAoAlBB0v4ANgIEIABBfDYCXAwCCwsgACAAKAI0IAAoAlgoAgRrNgI0IAAgACgCMCAAKAJYKAIQazYCMCAAKAJYIgEgACgCNCABKAIIajYCCCAAKAJYIgEgACgCMCABKAIUajYCFCAAKAJQIgEgACgCMCABKAIgajYCIAJAIAAoAlAoAgxBBHFFDQAgACgCMEUNAAJ/IAAoAlAoAhQEQCAAKAJQKAIcIAAoAlgoAgwgACgCMGsgACgCMBAaDAELIAAoAlAoAhwgACgCWCgCDCAAKAIwayAAKAIwED4LIQEgACgCUCABNgIcIAAoAlggATYCMAsgACgCWCAAKAJQKAJAQcAAQQAgACgCUCgCCBtqQYABQQAgACgCUCgCBEG//gBGG2pBgAJBACAAKAJQKAIEQcf+AEcEfyAAKAJQKAIEQcL+AEYFQQELQQFxG2o2AiwCQAJAIAAoAjRFBEAgACgCMEUNAQsgACgCVEEERw0BCyAAKAIQDQAgAEF7NgIQCyAAIAAoAhA2AlwLIAAoAlwhASAAQeAAaiQAIAUgATYCCAsgBSgCECIAIAApAwAgBSgCDDUCIH03AwACQAJAAkACQAJAIAUoAghBBWoOBwIDAwMDAAEDCyAFQQA2AhwMAwsgBUEBNgIcDAILIAUoAgwoAhRFBEAgBUEDNgIcDAILCyAFKAIMKAIAQQ0gBSgCCBAUIAVBAjYCHAsgBSgCHCEAIAVBIGokACAACyQBAX8jAEEQayIBIAA2AgwgASABKAIMNgIIIAEoAghBAToADAuXAQEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjcDCCADIAMoAhg2AgQCQAJAIAMpAwhC/////w9YBEAgAygCBCgCFEUNAQsgAygCBCgCAEESQQAQFCADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAukAgECfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahC3ATYCAAwBCyABKAIEQRBqIQIjAEEQayIAJAAgACACNgIIAkAgACgCCBBLBEAgAEF+NgIMDAELIAAgACgCCCgCHDYCBCAAKAIEKAI4BEAgACgCCCgCKCAAKAIEKAI4IAAoAggoAiQRBAALIAAoAggoAiggACgCCCgCHCAAKAIIKAIkEQQAIAAoAghBADYCHCAAQQA2AgwLIAAoAgwhAiAAQRBqJAAgASACNgIACwJAIAEoAgAEQCABKAIEKAIAQQ0gASgCABAUIAFBADoADwwBCyABQQE6AA8LIAEtAA9BAXEhACABQRBqJAAgAAuyGAEFfyMAQRBrIgQkACAEIAA2AgggBCAEKAIINgIEIAQoAgRBADYCFCAEKAIEQQA2AhAgBCgCBEEANgIgIAQoAgRBADYCHAJAIAQoAgQtAARBAXEEQCAEKAIEQRBqIQEgBCgCBCgCCCECIwBBMGsiACQAIAAgATYCKCAAIAI2AiQgAEEINgIgIABBcTYCHCAAQQk2AhggAEEANgIUIABBwBI2AhAgAEE4NgIMIABBATYCBAJAAkACQCAAKAIQRQ0AIAAoAhAsAABB+O4ALAAARw0AIAAoAgxBOEYNAQsgAEF6NgIsDAELIAAoAihFBEAgAEF+NgIsDAELIAAoAihBADYCGCAAKAIoKAIgRQRAIAAoAihBBTYCICAAKAIoQQA2AigLIAAoAigoAiRFBEAgACgCKEEGNgIkCyAAKAIkQX9GBEAgAEEGNgIkCwJAIAAoAhxBAEgEQCAAQQA2AgQgAEEAIAAoAhxrNgIcDAELIAAoAhxBD0oEQCAAQQI2AgQgACAAKAIcQRBrNgIcCwsCQAJAIAAoAhhBAUgNACAAKAIYQQlKDQAgACgCIEEIRw0AIAAoAhxBCEgNACAAKAIcQQ9KDQAgACgCJEEASA0AIAAoAiRBCUoNACAAKAIUQQBIDQAgACgCFEEESg0AIAAoAhxBCEcNASAAKAIEQQFGDQELIABBfjYCLAwBCyAAKAIcQQhGBEAgAEEJNgIcCyAAIAAoAigoAihBAUHELSAAKAIoKAIgEQEANgIIIAAoAghFBEAgAEF8NgIsDAELIAAoAiggACgCCDYCHCAAKAIIIAAoAig2AgAgACgCCEEqNgIEIAAoAgggACgCBDYCGCAAKAIIQQA2AhwgACgCCCAAKAIcNgIwIAAoAghBASAAKAIIKAIwdDYCLCAAKAIIIAAoAggoAixBAWs2AjQgACgCCCAAKAIYQQdqNgJQIAAoAghBASAAKAIIKAJQdDYCTCAAKAIIIAAoAggoAkxBAWs2AlQgACgCCCAAKAIIKAJQQQJqQQNuNgJYIAAoAigoAiggACgCCCgCLEECIAAoAigoAiARAQAhASAAKAIIIAE2AjggACgCKCgCKCAAKAIIKAIsQQIgACgCKCgCIBEBACEBIAAoAgggATYCQCAAKAIoKAIoIAAoAggoAkxBAiAAKAIoKAIgEQEAIQEgACgCCCABNgJEIAAoAghBADYCwC0gACgCCEEBIAAoAhhBBmp0NgKcLSAAIAAoAigoAiggACgCCCgCnC1BBCAAKAIoKAIgEQEANgIAIAAoAgggACgCADYCCCAAKAIIIAAoAggoApwtQQJ0NgIMAkACQCAAKAIIKAI4RQ0AIAAoAggoAkBFDQAgACgCCCgCREUNACAAKAIIKAIIDQELIAAoAghBmgU2AgQgACgCKEG42QAoAgA2AhggACgCKBC3ARogAEF8NgIsDAELIAAoAgggACgCACAAKAIIKAKcLUEBdkEBdGo2AqQtIAAoAgggACgCCCgCCCAAKAIIKAKcLUEDbGo2ApgtIAAoAgggACgCJDYChAEgACgCCCAAKAIUNgKIASAAKAIIIAAoAiA6ACQgACgCKCEBIwBBEGsiAyQAIAMgATYCDCADKAIMIQIjAEEQayIBJAAgASACNgIIAkAgASgCCBB5BEAgAUF+NgIMDAELIAEoAghBADYCFCABKAIIQQA2AgggASgCCEEANgIYIAEoAghBAjYCLCABIAEoAggoAhw2AgQgASgCBEEANgIUIAEoAgQgASgCBCgCCDYCECABKAIEKAIYQQBIBEAgASgCBEEAIAEoAgQoAhhrNgIYCyABKAIEIAEoAgQoAhhBAkYEf0E5BUEqQfEAIAEoAgQoAhgbCzYCBAJ/IAEoAgQoAhhBAkYEQEEAQQBBABAaDAELQQBBAEEAED4LIQIgASgCCCACNgIwIAEoAgRBADYCKCABKAIEIQUjAEEQayICJAAgAiAFNgIMIAIoAgwgAigCDEGUAWo2ApgWIAIoAgxB0N8ANgKgFiACKAIMIAIoAgxBiBNqNgKkFiACKAIMQeTfADYCrBYgAigCDCACKAIMQfwUajYCsBYgAigCDEH43wA2ArgWIAIoAgxBADsBuC0gAigCDEEANgK8LSACKAIMEL0BIAJBEGokACABQQA2AgwLIAEoAgwhAiABQRBqJAAgAyACNgIIIAMoAghFBEAgAygCDCgCHCECIwBBEGsiASQAIAEgAjYCDCABKAIMIAEoAgwoAixBAXQ2AjwgASgCDCgCRCABKAIMKAJMQQFrQQF0akEAOwEAIAEoAgwoAkRBACABKAIMKAJMQQFrQQF0EDIgASgCDCABKAIMKAKEAUEMbEGA7wBqLwECNgKAASABKAIMIAEoAgwoAoQBQQxsQYDvAGovAQA2AowBIAEoAgwgASgCDCgChAFBDGxBgO8Aai8BBDYCkAEgASgCDCABKAIMKAKEAUEMbEGA7wBqLwEGNgJ8IAEoAgxBADYCbCABKAIMQQA2AlwgASgCDEEANgJ0IAEoAgxBADYCtC0gASgCDEECNgJ4IAEoAgxBAjYCYCABKAIMQQA2AmggASgCDEEANgJIIAFBEGokAAsgAygCCCEBIANBEGokACAAIAE2AiwLIAAoAiwhASAAQTBqJAAgBCABNgIADAELIAQoAgRBEGohASMAQSBrIgAkACAAIAE2AhggAEFxNgIUIABBwBI2AhAgAEE4NgIMAkACQAJAIAAoAhBFDQAgACgCECwAAEHAEiwAAEcNACAAKAIMQThGDQELIABBejYCHAwBCyAAKAIYRQRAIABBfjYCHAwBCyAAKAIYQQA2AhggACgCGCgCIEUEQCAAKAIYQQU2AiAgACgCGEEANgIoCyAAKAIYKAIkRQRAIAAoAhhBBjYCJAsgACAAKAIYKAIoQQFB0DcgACgCGCgCIBEBADYCBCAAKAIERQRAIABBfDYCHAwBCyAAKAIYIAAoAgQ2AhwgACgCBCAAKAIYNgIAIAAoAgRBADYCOCAAKAIEQbT+ADYCBCAAKAIYIQIgACgCFCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQCABKAIYEEsEQCABQX42AhwMAQsgASABKAIYKAIcNgIMAkAgASgCFEEASARAIAFBADYCECABQQAgASgCFGs2AhQMAQsgASABKAIUQQR1QQVqNgIQIAEoAhRBMEgEQCABIAEoAhRBD3E2AhQLCwJAIAEoAhRFDQAgASgCFEEITgRAIAEoAhRBD0wNAQsgAUF+NgIcDAELAkAgASgCDCgCOEUNACABKAIMKAIoIAEoAhRGDQAgASgCGCgCKCABKAIMKAI4IAEoAhgoAiQRBAAgASgCDEEANgI4CyABKAIMIAEoAhA2AgwgASgCDCABKAIUNgIoIAEoAhghAiMAQRBrIgMkACADIAI2AggCQCADKAIIEEsEQCADQX42AgwMAQsgAyADKAIIKAIcNgIEIAMoAgRBADYCLCADKAIEQQA2AjAgAygCBEEANgI0IAMoAgghBSMAQRBrIgIkACACIAU2AggCQCACKAIIEEsEQCACQX42AgwMAQsgAiACKAIIKAIcNgIEIAIoAgRBADYCICACKAIIQQA2AhQgAigCCEEANgIIIAIoAghBADYCGCACKAIEKAIMBEAgAigCCCACKAIEKAIMQQFxNgIwCyACKAIEQbT+ADYCBCACKAIEQQA2AgggAigCBEEANgIQIAIoAgRBgIACNgIYIAIoAgRBADYCJCACKAIEQQA2AjwgAigCBEEANgJAIAIoAgQgAigCBEG0CmoiBTYCcCACKAIEIAU2AlQgAigCBCAFNgJQIAIoAgRBATYCxDcgAigCBEF/NgLINyACQQA2AgwLIAIoAgwhBSACQRBqJAAgAyAFNgIMCyADKAIMIQIgA0EQaiQAIAEgAjYCHAsgASgCHCECIAFBIGokACAAIAI2AgggACgCCARAIAAoAhgoAiggACgCBCAAKAIYKAIkEQQAIAAoAhhBADYCHAsgACAAKAIINgIcCyAAKAIcIQEgAEEgaiQAIAQgATYCAAsCQCAEKAIABEAgBCgCBCgCAEENIAQoAgAQFCAEQQA6AA8MAQsgBEEBOgAPCyAELQAPQQFxIQAgBEEQaiQAIAALbwEBfyMAQRBrIgEgADYCCCABIAEoAgg2AgQCQCABKAIELQAEQQFxRQRAIAFBADYCDAwBCyABKAIEKAIIQQNIBEAgAUECNgIMDAELIAEoAgQoAghBB0oEQCABQQE2AgwMAQsgAUEANgIMCyABKAIMCywBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABKAIIEBUgAUEQaiQACzwBAX8jAEEQayIDJAAgAyAAOwEOIAMgATYCCCADIAI2AgRBASADKAIIIAMoAgQQtAEhACADQRBqJAAgAAvBEAECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBbAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCACKAIYKAJgNgJ4IAIoAhggAigCGCgCcDYCZCACKAIYQQI2AmACQCACKAIQRQ0AIAIoAhgoAnggAigCGCgCgAFPDQAgAigCGCgCLEGGAmsgAigCGCgCbCACKAIQa0kNACACKAIYIAIoAhAQtQEhACACKAIYIAA2AmACQCACKAIYKAJgQQVLDQAgAigCGCgCiAFBAUcEQCACKAIYKAJgQQNHDQEgAigCGCgCbCACKAIYKAJwa0GAIE0NAQsgAigCGEECNgJgCwsCQAJAIAIoAhgoAnhBA0kNACACKAIYKAJgIAIoAhgoAnhLDQAgAiACKAIYIgAoAmwgACgCdGpBA2s2AgggAiACKAIYKAJ4QQNrOgAHIAIgAigCGCIAKAJsIAAoAmRBf3NqOwEEIAIoAhgiACgCpC0gACgCoC1BAXRqIAIvAQQ7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvAQRBAWs7AQQgAigCGCACLQAHQdDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCGEGIE2oCfyACLwEEQYACSQRAIAIvAQQtANBZDAELIAIvAQRBB3ZBgAJqLQDQWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYIgAgACgCdCACKAIYKAJ4QQFrazYCdCACKAIYIgAgACgCeEECazYCeANAIAIoAhgiASgCbEEBaiEAIAEgADYCbCAAIAIoAghNBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsgAigCGCIBKAJ4QQFrIQAgASAANgJ4IAANAAsgAigCGEEANgJoIAIoAhhBAjYCYCACKAIYIgAgACgCbEEBajYCbCACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBgsLDAELAkAgAigCGCgCaARAIAIgAigCGCIAKAI4IAAoAmxqQQFrLQAAOgADIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AAyEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAANBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAgwEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHAsgAigCGCIAIAAoAmxBAWo2AmwgAigCGCIAIAAoAnRBAWs2AnQgAigCGCgCACgCEEUEQCACQQA2AhwMBgsMAQsgAigCGEEBNgJoIAIoAhgiACAAKAJsQQFqNgJsIAIoAhgiACAAKAJ0QQFrNgJ0CwsMAQsLIAIoAhgoAmgEQCACIAIoAhgiACgCOCAAKAJsakEBay0AADoAAiACKAIYIgAoAqQtIAAoAqAtQQF0akEAOwEAIAItAAIhASACKAIYIgAoApgtIQMgACAAKAKgLSIAQQFqNgKgLSAAIANqIAE6AAAgAigCGCACLQACQQJ0aiIAIAAvAZQBQQFqOwGUASACIAIoAhgoAqAtIAIoAhgoApwtQQFrRjYCDCACKAIYQQA2AmgLIAIoAhgCfyACKAIYKAJsQQJJBEAgAigCGCgCbAwBC0ECCzYCtC0gAigCFEEERgRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQEQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkECNgIcDAILIAJBAzYCHAwBCyACKAIYKAKgLQRAIAIoAhgCfyACKAIYKAJcQQBOBEAgAigCGCgCOCACKAIYKAJcagwBC0EACyACKAIYKAJsIAIoAhgoAlxrQQAQKCACKAIYIAIoAhgoAmw2AlwgAigCGCgCABAcIAIoAhgoAgAoAhBFBEAgAkEANgIcDAILCyACQQE2AhwLIAIoAhwhACACQSBqJAAgAAuVDQECfyMAQSBrIgIkACACIAA2AhggAiABNgIUAkADQAJAIAIoAhgoAnRBhgJJBEAgAigCGBBbAkAgAigCGCgCdEGGAk8NACACKAIUDQAgAkEANgIcDAQLIAIoAhgoAnRFDQELIAJBADYCECACKAIYKAJ0QQNPBEAgAigCGCACKAIYKAJUIAIoAhgoAjggAigCGCgCbEECamotAAAgAigCGCgCSCACKAIYKAJYdHNxNgJIIAIoAhgoAkAgAigCGCgCbCACKAIYKAI0cUEBdGogAigCGCgCRCACKAIYKAJIQQF0ai8BACIAOwEAIAIgAEH//wNxNgIQIAIoAhgoAkQgAigCGCgCSEEBdGogAigCGCgCbDsBAAsCQCACKAIQRQ0AIAIoAhgoAixBhgJrIAIoAhgoAmwgAigCEGtJDQAgAigCGCACKAIQELUBIQAgAigCGCAANgJgCwJAIAIoAhgoAmBBA08EQCACIAIoAhgoAmBBA2s6AAsgAiACKAIYIgAoAmwgACgCcGs7AQggAigCGCIAKAKkLSAAKAKgLUEBdGogAi8BCDsBACACLQALIQEgAigCGCIAKAKYLSEDIAAgACgCoC0iAEEBajYCoC0gACADaiABOgAAIAIgAi8BCEEBazsBCCACKAIYIAItAAtB0N0Aai0AAEECdGpBmAlqIgAgAC8BAEEBajsBACACKAIYQYgTagJ/IAIvAQhBgAJJBEAgAi8BCC0A0FkMAQsgAi8BCEEHdkGAAmotANBZC0ECdGoiACAALwEAQQFqOwEAIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0IAIoAhgoAmBrNgJ0AkACQCACKAIYKAJgIAIoAhgoAoABSw0AIAIoAhgoAnRBA0kNACACKAIYIgAgACgCYEEBazYCYANAIAIoAhgiACAAKAJsQQFqNgJsIAIoAhggAigCGCgCVCACKAIYKAI4IAIoAhgoAmxBAmpqLQAAIAIoAhgoAkggAigCGCgCWHRzcTYCSCACKAIYKAJAIAIoAhgoAmwgAigCGCgCNHFBAXRqIAIoAhgoAkQgAigCGCgCSEEBdGovAQAiADsBACACIABB//8DcTYCECACKAIYKAJEIAIoAhgoAkhBAXRqIAIoAhgoAmw7AQAgAigCGCIBKAJgQQFrIQAgASAANgJgIAANAAsgAigCGCIAIAAoAmxBAWo2AmwMAQsgAigCGCIAIAIoAhgoAmAgACgCbGo2AmwgAigCGEEANgJgIAIoAhggAigCGCgCOCACKAIYKAJsai0AADYCSCACKAIYIAIoAhgoAlQgAigCGCgCOCACKAIYKAJsQQFqai0AACACKAIYKAJIIAIoAhgoAlh0c3E2AkgLDAELIAIgAigCGCIAKAI4IAAoAmxqLQAAOgAHIAIoAhgiACgCpC0gACgCoC1BAXRqQQA7AQAgAi0AByEBIAIoAhgiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACKAIYIAItAAdBAnRqIgAgAC8BlAFBAWo7AZQBIAIgAigCGCgCoC0gAigCGCgCnC1BAWtGNgIMIAIoAhgiACAAKAJ0QQFrNgJ0IAIoAhgiACAAKAJsQQFqNgJsCyACKAIMBEAgAigCGAJ/IAIoAhgoAlxBAE4EQCACKAIYKAI4IAIoAhgoAlxqDAELQQALIAIoAhgoAmwgAigCGCgCXGtBABAoIAIoAhggAigCGCgCbDYCXCACKAIYKAIAEBwgAigCGCgCACgCEEUEQCACQQA2AhwMBAsLDAELCyACKAIYAn8gAigCGCgCbEECSQRAIAIoAhgoAmwMAQtBAgs2ArQtIAIoAhRBBEYEQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EBECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBAjYCHAwCCyACQQM2AhwMAQsgAigCGCgCoC0EQCACKAIYAn8gAigCGCgCXEEATgRAIAIoAhgoAjggAigCGCgCXGoMAQtBAAsgAigCGCgCbCACKAIYKAJca0EAECggAigCGCACKAIYKAJsNgJcIAIoAhgoAgAQHCACKAIYKAIAKAIQRQRAIAJBADYCHAwCCwsgAkEBNgIcCyACKAIcIQAgAkEgaiQAIAALBgBBtJsBCykBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCACKAIIEBUgAkEQaiQACzoBAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCCCADKAIEbBAYIQAgA0EQaiQAIAALzgUBAX8jAEHQAGsiBSQAIAUgADYCRCAFIAE2AkAgBSACNgI8IAUgAzcDMCAFIAQ2AiwgBSAFKAJANgIoAkACQAJAAkACQAJAAkACQAJAIAUoAiwODwABAgMFBgcHBwcHBwcHBAcLAn8gBSgCRCEBIAUoAighAiMAQeAAayIAJAAgACABNgJYIAAgAjYCVCAAIAAoAlggAEHIAGpCDBAuIgM3AwgCQCADQgBTBEAgACgCVCAAKAJYEBcgAEF/NgJcDAELIAApAwhCDFIEQCAAKAJUQRFBABAUIABBfzYCXAwBCyAAKAJUIABByABqIABByABqQgxBABB9IAAoAlggAEEQahA4QQBIBEAgAEEANgJcDAELIAAoAjggAEEGaiAAQQRqEIEBAkAgAC0AUyAAKAI8QRh2Rg0AIAAtAFMgAC8BBkEIdkYNACAAKAJUQRtBABAUIABBfzYCXAwBCyAAQQA2AlwLIAAoAlwhASAAQeAAaiQAIAFBAEgLBEAgBUJ/NwNIDAgLIAVCADcDSAwHCyAFIAUoAkQgBSgCPCAFKQMwEC4iAzcDICADQgBTBEAgBSgCKCAFKAJEEBcgBUJ/NwNIDAcLIAUoAkAgBSgCPCAFKAI8IAUpAyBBABB9IAUgBSkDIDcDSAwGCyAFQgA3A0gMBQsgBSAFKAI8NgIcIAUoAhxBADsBMiAFKAIcIgAgACkDAEKAAYQ3AwAgBSgCHCkDAEIIg0IAUgRAIAUoAhwiACAAKQMgQgx9NwMgCyAFQgA3A0gMBAsgBUF/NgIUIAVBBTYCECAFQQQ2AgwgBUEDNgIIIAVBAjYCBCAFQQE2AgAgBUEAIAUQNjcDSAwDCyAFIAUoAiggBSgCPCAFKQMwEEI3A0gMAgsgBSgCKBC+ASAFQgA3A0gMAQsgBSgCKEESQQAQFCAFQn83A0gLIAUpA0ghAyAFQdAAaiQAIAMLBwAgAC8BMAvuAgEBfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjsBEiAFIAM2AgwgBSAENgIIAkACQAJAIAUoAghFDQAgBSgCFEUNACAFLwESQQFGDQELIAUoAhhBCGpBEkEAEBQgBUEANgIcDAELIAUoAgxBAXEEQCAFKAIYQQhqQRhBABAUIAVBADYCHAwBCyAFQRgQGCIANgIEIABFBEAgBSgCGEEIakEOQQAQFCAFQQA2AhwMAQsjAEEQayIAIAUoAgQ2AgwgACgCDEEANgIAIAAoAgxBADYCBCAAKAIMQQA2AgggBSgCBEH4rNGRATYCDCAFKAIEQYnPlZoCNgIQIAUoAgRBkPHZogM2AhQgBSgCBEEAIAUoAgggBSgCCBArrUEBEH0gBSAFKAIYIAUoAhRBAyAFKAIEEGYiADYCACAARQRAIAUoAgQQvgEgBUEANgIcDAELIAUgBSgCADYCHAsgBSgCHCEAIAVBIGokACAAC70YAQJ/IwBB8ABrIgQkACAEIAA2AmQgBCABNgJgIAQgAjcDWCAEIAM2AlQgBCAEKAJkNgJQAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEKAJUDhQGBwIMBAUKDwADCRELEA4IEgESDRILQQBCAEEAIAQoAlAQTSEAIAQoAlAgADYCFCAARQRAIARCfzcDaAwTCyAEKAJQKAIUQgA3AzggBCgCUCgCFEIANwNAIARCADcDaAwSCyAEKAJQKAIQIQEgBCkDWCECIAQoAlAhAyMAQUBqIgAkACAAIAE2AjggACACNwMwIAAgAzYCLAJAIAApAzBQBEAgAEEAQgBBASAAKAIsEE02AjwMAQsgACkDMCAAKAI4KQMwVgRAIAAoAixBEkEAEBQgAEEANgI8DAELIAAoAjgoAigEQCAAKAIsQR1BABAUIABBADYCPAwBCyAAIAAoAjggACkDMBC/ATcDICAAIAApAzAgACgCOCgCBCAAKQMgp0EDdGopAwB9NwMYIAApAxhQBEAgACAAKQMgQgF9NwMgIAAgACgCOCgCACAAKQMgp0EEdGopAwg3AxgLIAAgACgCOCgCACAAKQMgp0EEdGopAwggACkDGH03AxAgACkDECAAKQMwVgRAIAAoAixBHEEAEBQgAEEANgI8DAELIAAgACgCOCgCACAAKQMgQgF8QQAgACgCLBBNIgE2AgwgAUUEQCAAQQA2AjwMAQsgACgCDCgCACAAKAIMKQMIQgF9p0EEdGogACkDGDcDCCAAKAIMKAIEIAAoAgwpAwinQQN0aiAAKQMwNwMAIAAoAgwgACkDMDcDMCAAKAIMAn4gACgCOCkDGCAAKAIMKQMIQgF9VARAIAAoAjgpAxgMAQsgACgCDCkDCEIBfQs3AxggACgCOCAAKAIMNgIoIAAoAgwgACgCODYCKCAAKAI4IAAoAgwpAwg3AyAgACgCDCAAKQMgQgF8NwMgIAAgACgCDDYCPAsgACgCPCEBIABBQGskACABIQAgBCgCUCAANgIUIABFBEAgBEJ/NwNoDBILIAQoAlAoAhQgBCkDWDcDOCAEKAJQKAIUIAQoAlAoAhQpAwg3A0AgBEIANwNoDBELIARCADcDaAwQCyAEKAJQKAIQEDMgBCgCUCAEKAJQKAIUNgIQIAQoAlBBADYCFCAEQgA3A2gMDwsgBCAEKAJQIAQoAmAgBCkDWBBCNwNoDA4LIAQoAlAoAhAQMyAEKAJQKAIUEDMgBCgCUBAVIARCADcDaAwNCyAEKAJQKAIQQgA3AzggBCgCUCgCEEIANwNAIARCADcDaAwMCyAEKQNYQv///////////wBWBEAgBCgCUEESQQAQFCAEQn83A2gMDAsgBCgCUCgCECEBIAQoAmAhAyAEKQNYIQIjAEFAaiIAJAAgACABNgI0IAAgAzYCMCAAIAI3AyggAAJ+IAApAyggACgCNCkDMCAAKAI0KQM4fVQEQCAAKQMoDAELIAAoAjQpAzAgACgCNCkDOH0LNwMoAkAgACkDKFAEQCAAQgA3AzgMAQsgACkDKEL///////////8AVgRAIABCfzcDOAwBCyAAIAAoAjQpA0A3AxggACAAKAI0KQM4IAAoAjQoAgQgACkDGKdBA3RqKQMAfTcDECAAQgA3AyADQCAAKQMgIAApAyhUBEAgAAJ+IAApAyggACkDIH0gACgCNCgCACAAKQMYp0EEdGopAwggACkDEH1UBEAgACkDKCAAKQMgfQwBCyAAKAI0KAIAIAApAxinQQR0aikDCCAAKQMQfQs3AwggACgCMCAAKQMgp2ogACgCNCgCACAAKQMYp0EEdGooAgAgACkDEKdqIAApAwinEBkaIAApAwggACgCNCgCACAAKQMYp0EEdGopAwggACkDEH1RBEAgACAAKQMYQgF8NwMYCyAAIAApAwggACkDIHw3AyAgAEIANwMQDAELCyAAKAI0IgEgACkDICABKQM4fDcDOCAAKAI0IAApAxg3A0AgACAAKQMgNwM4CyAAKQM4IQIgAEFAayQAIAQgAjcDaAwLCyAEQQBCAEEAIAQoAlAQTTYCTCAEKAJMRQRAIARCfzcDaAwLCyAEKAJQKAIQEDMgBCgCUCAEKAJMNgIQIARCADcDaAwKCyAEKAJQKAIUEDMgBCgCUEEANgIUIARCADcDaAwJCyAEIAQoAlAoAhAgBCgCYCAEKQNYIAQoAlAQwAGsNwNoDAgLIAQgBCgCUCgCFCAEKAJgIAQpA1ggBCgCUBDAAaw3A2gMBwsgBCkDWEI4VARAIAQoAlBBEkEAEBQgBEJ/NwNoDAcLIAQgBCgCYDYCSCAEKAJIEDsgBCgCSCAEKAJQKAIMNgIoIAQoAkggBCgCUCgCECkDMDcDGCAEKAJIIAQoAkgpAxg3AyAgBCgCSEEAOwEwIAQoAkhBADsBMiAEKAJIQtwBNwMAIARCODcDaAwGCyAEKAJQIAQoAmAoAgA2AgwgBEIANwNoDAULIARBfzYCQCAEQRM2AjwgBEELNgI4IARBDTYCNCAEQQw2AjAgBEEKNgIsIARBDzYCKCAEQQk2AiQgBEERNgIgIARBCDYCHCAEQQc2AhggBEEGNgIUIARBBTYCECAEQQQ2AgwgBEEDNgIIIARBAjYCBCAEQQE2AgAgBEEAIAQQNjcDaAwECyAEKAJQKAIQKQM4Qv///////////wBWBEAgBCgCUEEeQT0QFCAEQn83A2gMBAsgBCAEKAJQKAIQKQM4NwNoDAMLIAQoAlAoAhQpAzhC////////////AFYEQCAEKAJQQR5BPRAUIARCfzcDaAwDCyAEIAQoAlAoAhQpAzg3A2gMAgsgBCkDWEL///////////8AVgRAIAQoAlBBEkEAEBQgBEJ/NwNoDAILIAQoAlAoAhQhASAEKAJgIQMgBCkDWCECIAQoAlAhBSMAQeAAayIAJAAgACABNgJUIAAgAzYCUCAAIAI3A0ggACAFNgJEAkAgACkDSCAAKAJUKQM4IAApA0h8Qv//A3xWBEAgACgCREESQQAQFCAAQn83A1gMAQsgACAAKAJUKAIEIAAoAlQpAwinQQN0aikDADcDICAAKQMgIAAoAlQpAzggACkDSHxUBEAgACAAKAJUKQMIIAApA0ggACkDICAAKAJUKQM4fX1C//8DfEIQiHw3AxggACkDGCAAKAJUKQMQVgRAIAAgACgCVCkDEDcDECAAKQMQUARAIABCEDcDEAsDQCAAKQMQIAApAxhUBEAgACAAKQMQQgGGNwMQDAELCyAAKAJUIAApAxAgACgCRBDBAUEBcUUEQCAAKAJEQQ5BABAUIABCfzcDWAwDCwsDQCAAKAJUKQMIIAApAxhUBEBBgIAEEBghASAAKAJUKAIAIAAoAlQpAwinQQR0aiABNgIAIAEEQCAAKAJUKAIAIAAoAlQpAwinQQR0akKAgAQ3AwggACgCVCIBIAEpAwhCAXw3AwggACAAKQMgQoCABHw3AyAgACgCVCgCBCAAKAJUKQMIp0EDdGogACkDIDcDAAwCBSAAKAJEQQ5BABAUIABCfzcDWAwECwALCwsgACAAKAJUKQNANwMwIAAgACgCVCkDOCAAKAJUKAIEIAApAzCnQQN0aikDAH03AyggAEIANwM4A0AgACkDOCAAKQNIVARAIAACfiAAKQNIIAApAzh9IAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9VARAIAApA0ggACkDOH0MAQsgACgCVCgCACAAKQMwp0EEdGopAwggACkDKH0LNwMIIAAoAlQoAgAgACkDMKdBBHRqKAIAIAApAyinaiAAKAJQIAApAzinaiAAKQMIpxAZGiAAKQMIIAAoAlQoAgAgACkDMKdBBHRqKQMIIAApAyh9UQRAIAAgACkDMEIBfDcDMAsgACAAKQMIIAApAzh8NwM4IABCADcDKAwBCwsgACgCVCIBIAApAzggASkDOHw3AzggACgCVCAAKQMwNwNAIAAoAlQpAzggACgCVCkDMFYEQCAAKAJUIAAoAlQpAzg3AzALIAAgACkDODcDWAsgACkDWCECIABB4ABqJAAgBCACNwNoDAELIAQoAlBBHEEAEBQgBEJ/NwNoCyAEKQNoIQIgBEHwAGokACACCwcAIAAoAiALBwAgACgCAAsIAEEBQTgQdgsLhY0BJABBgAgLgQxpbnN1ZmZpY2llbnQgbWVtb3J5AG5lZWQgZGljdGlvbmFyeQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AFppcCBhcmNoaXZlIGluY29uc2lzdGVudABJbnZhbGlkIGFyZ3VtZW50AGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AbmFuAC9kZXYvdXJhbmRvbQBpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW5jb3JyZWN0IGhlYWRlciBjaGVjawBpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGhlYWRlciBjcmMgbWlzbWF0Y2gAaW5mAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAcmIAcitiAHJ3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CADcAAgAPAAIALwACAB8AAgA/AAIAAIACACCAAgAQgAIAMIACAAiAAgAogAIAGIACADiAAgAEgAIAJIACABSAAgA0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";tG(Tf)||(Tf=pIe(Tf));function OIe(t){try{if(t==Tf&&TD)return new Uint8Array(TD);var e=Kj(t);if(e)return e;if(LD)return LD(t);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(r){gr(r)}}function KIe(t,e){var r,i,n;try{n=OIe(t),i=new WebAssembly.Module(n),r=new WebAssembly.Instance(i,e)}catch(o){var s=o.toString();throw Wr("failed to compile wasm module: "+s),(s.includes("imported Memory")||s.includes("memory import"))&&Wr("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),o}return[r,i]}function HIe(){var t={a:UIe};function e(n,s){var o=n.exports;ne.asm=o,uI=ne.asm.u,Vj(uI.buffer),HD=ne.asm.za,MIe(ne.asm.v),GD("wasm-instantiate")}if($j("wasm-instantiate"),ne.instantiateWasm)try{var r=ne.instantiateWasm(t,e);return r}catch(n){return Wr("Module.instantiateWasm callback failed with error: "+n),!1}var i=KIe(Tf,t);return e(i[0]),ne.asm}var xr,$s;function YD(t){for(;t.length>0;){var e=t.shift();if(typeof e=="function"){e(ne);continue}var r=e.func;typeof r=="number"?e.arg===void 0?HD.get(r)():HD.get(r)(e.arg):r(e.arg===void 0?null:e.arg)}}function hI(t,e){var r=new Date(je[t>>2]*1e3);je[e>>2]=r.getUTCSeconds(),je[e+4>>2]=r.getUTCMinutes(),je[e+8>>2]=r.getUTCHours(),je[e+12>>2]=r.getUTCDate(),je[e+16>>2]=r.getUTCMonth(),je[e+20>>2]=r.getUTCFullYear()-1900,je[e+24>>2]=r.getUTCDay(),je[e+36>>2]=0,je[e+32>>2]=0;var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return je[e+28>>2]=n,hI.GMTString||(hI.GMTString=KD("GMT")),je[e+40>>2]=hI.GMTString,e}function YIe(t,e){return hI(t,e)}var gt={splitPath:function(t){var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return e.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,i=t.length-1;i>=0;i--){var n=t[i];n==="."?t.splice(i,1):n===".."?(t.splice(i,1),r++):r&&(t.splice(i,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=t.charAt(0)==="/",r=t.substr(-1)==="/";return t=gt.normalizeArray(t.split("/").filter(function(i){return!!i}),!e).join("/"),!t&&!e&&(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=gt.splitPath(t),r=e[0],i=e[1];return!r&&!i?".":(i&&(i=i.substr(0,i.length-1)),r+i)},basename:function(t){if(t==="/")return"/";t=gt.normalize(t),t=t.replace(/\/$/,"");var e=t.lastIndexOf("/");return e===-1?t:t.substr(e+1)},extname:function(t){return gt.splitPath(t)[3]},join:function(){var t=Array.prototype.slice.call(arguments,0);return gt.normalize(t.join("/"))},join2:function(t,e){return gt.normalize(t+"/"+e)}};function jIe(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}else if(EA)try{var e=require("crypto");return function(){return e.randomBytes(1)[0]}}catch(r){}return function(){gr("randomDevice")}}var eo={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:E.cwd();if(typeof i!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";t=i+"/"+t,e=i.charAt(0)==="/"}return t=gt.normalizeArray(t.split("/").filter(function(n){return!!n}),!e).join("/"),(e?"/":"")+t||"."},relative:function(t,e){t=eo.resolve(t).substr(1),e=eo.resolve(e).substr(1);function r(c){for(var u=0;u=0&&c[g]==="";g--);return u>g?[]:c.slice(u,g-u+1)}for(var i=r(t.split("/")),n=r(e.split("/")),s=Math.min(i.length,n.length),o=s,a=0;a0?e=i.slice(0,n).toString("utf-8"):e=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(e=window.prompt("Input: "),e!==null&&(e+=` -`)):typeof readline=="function"&&(e=readline(),e!==null&&(e+=` -`));if(!e)return null;t.input=qD(e,!0)}return t.input.shift()},put_char:function(t,e){e===null||e===10?(cI(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(cI(hc(t.output,0)),t.output=[])}},default_tty1_ops:{put_char:function(t,e){e===null||e===10?(Wr(hc(t.output,0)),t.output=[]):e!=0&&t.output.push(e)},flush:function(t){t.output&&t.output.length>0&&(Wr(hc(t.output,0)),t.output=[])}}};function JD(t){for(var e=CIe(t,65536),r=zj(e);t=e)){var i=1024*1024;e=Math.max(e,r*(r>>0),r!=0&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(e==0)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=E.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,E.isDir(t.mode)?e.size=4096:E.isFile(t.mode)?e.size=t.usedBytes:E.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){e.mode!==void 0&&(t.mode=e.mode),e.timestamp!==void 0&&(t.timestamp=e.timestamp),e.size!==void 0&&ot.resizeFileStorage(t,e.size)},lookup:function(t,e){throw E.genericErrors[44]},mknod:function(t,e,r,i){return ot.createNode(t,e,r,i)},rename:function(t,e,r){if(E.isDir(t.mode)){var i;try{i=E.lookupNode(e,r)}catch(s){}if(i)for(var n in i.contents)throw new E.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=E.lookupNode(t,e);for(var i in r.contents)throw new E.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)!t.contents.hasOwnProperty(r)||e.push(r);return e},symlink:function(t,e,r){var i=ot.createNode(t,e,511|40960,0);return i.link=r,i},readlink:function(t){if(!E.isLink(t.mode))throw new E.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,i,n){var s=t.node.contents;if(n>=t.node.usedBytes)return 0;var o=Math.min(t.node.usedBytes-n,i);if(o>8&&s.subarray)e.set(s.subarray(n,n+o),r);else for(var a=0;a0||i+r>2)}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}return e.mode},realPath:function(t){for(var e=[];t.parent!==t;)e.push(t.name),t=t.parent;return e.push(t.mount.opts.root),e.reverse(),gt.join.apply(null,e)},flagsForNode:function(t){t&=~2097152,t&=~2048,t&=~32768,t&=~524288;var e=0;for(var r in Xe.flagsForNodeMap)t&r&&(e|=Xe.flagsForNodeMap[r],t^=r);if(t)throw new E.ErrnoError(28);return e},node_ops:{getattr:function(t){var e=Xe.realPath(t),r;try{r=st.lstatSync(e)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}return Xe.isWindows&&!r.blksize&&(r.blksize=4096),Xe.isWindows&&!r.blocks&&(r.blocks=(r.size+r.blksize-1)/r.blksize|0),{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr:function(t,e){var r=Xe.realPath(t);try{if(e.mode!==void 0&&(st.chmodSync(r,e.mode),t.mode=e.mode),e.timestamp!==void 0){var i=new Date(e.timestamp);st.utimesSync(r,i,i)}e.size!==void 0&&st.truncateSync(r,e.size)}catch(n){throw n.code?new E.ErrnoError(Xe.convertNodeCode(n)):n}},lookup:function(t,e){var r=gt.join2(Xe.realPath(t),e),i=Xe.getMode(r);return Xe.createNode(t,e,i)},mknod:function(t,e,r,i){var n=Xe.createNode(t,e,r,i),s=Xe.realPath(n);try{E.isDir(n.mode)?st.mkdirSync(s,n.mode):st.writeFileSync(s,"",{mode:n.mode})}catch(o){throw o.code?new E.ErrnoError(Xe.convertNodeCode(o)):o}return n},rename:function(t,e,r){var i=Xe.realPath(t),n=gt.join2(Xe.realPath(e),r);try{st.renameSync(i,n)}catch(s){throw s.code?new E.ErrnoError(Xe.convertNodeCode(s)):s}t.name=r},unlink:function(t,e){var r=gt.join2(Xe.realPath(t),e);try{st.unlinkSync(r)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}},rmdir:function(t,e){var r=gt.join2(Xe.realPath(t),e);try{st.rmdirSync(r)}catch(i){throw i.code?new E.ErrnoError(Xe.convertNodeCode(i)):i}},readdir:function(t){var e=Xe.realPath(t);try{return st.readdirSync(e)}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}},symlink:function(t,e,r){var i=gt.join2(Xe.realPath(t),e);try{st.symlinkSync(r,i)}catch(n){throw n.code?new E.ErrnoError(Xe.convertNodeCode(n)):n}},readlink:function(t){var e=Xe.realPath(t);try{return e=st.readlinkSync(e),e=WD.relative(WD.resolve(t.mount.opts.root),e),e}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}}},stream_ops:{open:function(t){var e=Xe.realPath(t.node);try{E.isFile(t.node.mode)&&(t.nfd=st.openSync(e,Xe.flagsForNode(t.flags)))}catch(r){throw r.code?new E.ErrnoError(Xe.convertNodeCode(r)):r}},close:function(t){try{E.isFile(t.node.mode)&&t.nfd&&st.closeSync(t.nfd)}catch(e){throw e.code?new E.ErrnoError(Xe.convertNodeCode(e)):e}},read:function(t,e,r,i,n){if(i===0)return 0;try{return st.readSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}},write:function(t,e,r,i,n){try{return st.writeSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n)}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}},llseek:function(t,e,r){var i=e;if(r===1)i+=t.position;else if(r===2&&E.isFile(t.node.mode))try{var n=st.fstatSync(t.nfd);i+=n.size}catch(s){throw new E.ErrnoError(Xe.convertNodeCode(s))}if(i<0)throw new E.ErrnoError(28);return i},mmap:function(t,e,r,i,n,s){if(e!==0)throw new E.ErrnoError(28);if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);var o=JD(r);return Xe.stream_ops.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){if(!E.isFile(t.node.mode))throw new E.ErrnoError(43);if(n&2)return 0;var s=Xe.stream_ops.write(t,e,0,i,r,!1);return 0}}},rG={lookupPath:function(t){return{path:t,node:{mode:Xe.getMode(t)}}},createStandardStreams:function(){E.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var t=1;t<3;t++)E.streams[t]={fd:t,nfd:t,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(t,e){E.isDir(t)?st.mkdirSync(t,e):st.writeFileSync(t,"",{mode:e})},mkdir:function(){st.mkdirSync.apply(void 0,arguments)},symlink:function(){st.symlinkSync.apply(void 0,arguments)},rename:function(){st.renameSync.apply(void 0,arguments)},rmdir:function(){st.rmdirSync.apply(void 0,arguments)},readdir:function(){st.readdirSync.apply(void 0,arguments)},unlink:function(){st.unlinkSync.apply(void 0,arguments)},readlink:function(){return st.readlinkSync.apply(void 0,arguments)},stat:function(){return st.statSync.apply(void 0,arguments)},lstat:function(){return st.lstatSync.apply(void 0,arguments)},chmod:function(){st.chmodSync.apply(void 0,arguments)},fchmod:function(){st.fchmodSync.apply(void 0,arguments)},chown:function(){st.chownSync.apply(void 0,arguments)},fchown:function(){st.fchownSync.apply(void 0,arguments)},truncate:function(){st.truncateSync.apply(void 0,arguments)},ftruncate:function(t,e){if(e<0)throw new E.ErrnoError(28);st.ftruncateSync.apply(void 0,arguments)},utime:function(){st.utimesSync.apply(void 0,arguments)},open:function(t,e,r,i){typeof e=="string"&&(e=BA.modeStringToFlags(e));var n=st.openSync(t,Xe.flagsForNode(e),r),s=i!=null?i:E.nextfd(n),o={fd:s,nfd:n,position:0,path:t,flags:e,seekable:!0};return E.streams[s]=o,o},close:function(t){t.stream_ops||st.closeSync(t.nfd),E.closeStream(t.fd)},llseek:function(t,e,r){if(t.stream_ops)return BA.llseek(t,e,r);var i=e;if(r===1)i+=t.position;else if(r===2)i+=st.fstatSync(t.nfd).size;else if(r!==0)throw new E.ErrnoError(dc.EINVAL);if(i<0)throw new E.ErrnoError(dc.EINVAL);return t.position=i,i},read:function(t,e,r,i,n){if(t.stream_ops)return BA.read(t,e,r,i,n);var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=st.readSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},write:function(t,e,r,i,n){if(t.stream_ops)return BA.write(t,e,r,i,n);t.flags&+"1024"&&E.llseek(t,0,+"2");var s=typeof n!="undefined";!s&&t.seekable&&(n=t.position);var o=st.writeSync(t.nfd,Xe.bufferFrom(e.buffer),r,i,n);return s||(t.position+=o),o},allocate:function(){throw new E.ErrnoError(dc.EOPNOTSUPP)},mmap:function(t,e,r,i,n,s){if(t.stream_ops)return BA.mmap(t,e,r,i,n,s);if(e!==0)throw new E.ErrnoError(28);var o=JD(r);return E.read(t,ui,o,r,i),{ptr:o,allocated:!0}},msync:function(t,e,r,i,n){return t.stream_ops?BA.msync(t,e,r,i,n):(n&2||E.write(t,e,0,i,r),0)},munmap:function(){return 0},ioctl:function(){throw new E.ErrnoError(dc.ENOTTY)}},E={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t,e){if(t=eo.resolve(E.cwd(),t),e=e||{},!t)return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var i in r)e[i]===void 0&&(e[i]=r[i]);if(e.recurse_count>8)throw new E.ErrnoError(32);for(var n=gt.normalizeArray(t.split("/").filter(function(f){return!!f}),!1),s=E.root,o="/",a=0;a40)throw new E.ErrnoError(32)}}return{path:o,node:s}},getPath:function(t){for(var e;;){if(E.isRoot(t)){var r=t.mount.mountpoint;return e?r[r.length-1]!=="/"?r+"/"+e:r+e:r}e=e?t.name+"/"+e:t.name,t=t.parent}},hashName:function(t,e){for(var r=0,i=0;i>>0)%E.nameTable.length},hashAddNode:function(t){var e=E.hashName(t.parent.id,t.name);t.name_next=E.nameTable[e],E.nameTable[e]=t},hashRemoveNode:function(t){var e=E.hashName(t.parent.id,t.name);if(E.nameTable[e]===t)E.nameTable[e]=t.name_next;else for(var r=E.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=E.mayLookup(t);if(r)throw new E.ErrnoError(r,t);for(var i=E.hashName(t.id,e),n=E.nameTable[i];n;n=n.name_next){var s=n.name;if(n.parent.id===t.id&&s===e)return n}return E.lookup(t,e)},createNode:function(t,e,r,i){var n=new E.FSNode(t,e,r,i);return E.hashAddNode(n),n},destroyNode:function(t){E.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return(t&61440)==32768},isDir:function(t){return(t&61440)==16384},isLink:function(t){return(t&61440)==40960},isChrdev:function(t){return(t&61440)==8192},isBlkdev:function(t){return(t&61440)==24576},isFIFO:function(t){return(t&61440)==4096},isSocket:function(t){return(t&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(t){var e=E.flagModes[t];if(typeof e=="undefined")throw new Error("Unknown file open mode: "+t);return e},flagsToPermissionString:function(t){var e=["r","w","rw"][t&3];return t&512&&(e+="w"),e},nodePermissions:function(t,e){return E.ignorePermissions?0:e.includes("r")&&!(t.mode&292)||e.includes("w")&&!(t.mode&146)||e.includes("x")&&!(t.mode&73)?2:0},mayLookup:function(t){var e=E.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{var r=E.lookupNode(t,e);return 20}catch(i){}return E.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var i;try{i=E.lookupNode(t,e)}catch(s){return s.errno}var n=E.nodePermissions(t,"wx");if(n)return n;if(r){if(!E.isDir(i.mode))return 54;if(E.isRoot(i)||E.getPath(i)===E.cwd())return 10}else if(E.isDir(i.mode))return 31;return 0},mayOpen:function(t,e){return t?E.isLink(t.mode)?32:E.isDir(t.mode)&&(E.flagsToPermissionString(e)!=="r"||e&512)?31:E.nodePermissions(t,E.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(t,e){t=t||0,e=e||E.MAX_OPEN_FDS;for(var r=t;r<=e;r++)if(!E.streams[r])return r;throw new E.ErrnoError(33)},getStream:function(t){return E.streams[t]},createStream:function(t,e,r){E.FSStream||(E.FSStream=function(){},E.FSStream.prototype={object:{get:function(){return this.node},set:function(o){this.node=o}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var i=new E.FSStream;for(var n in t)i[n]=t[n];t=i;var s=E.nextfd(e,r);return t.fd=s,E.streams[s]=t,t},closeStream:function(t){E.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=E.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new E.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return t&255},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){E.devices[t]={stream_ops:e}},getDevice:function(t){return E.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var i=r.pop();e.push(i),r.push.apply(r,i.mounts)}return e},syncfs:function(t,e){typeof t=="function"&&(e=t,t=!1),E.syncFSRequests++,E.syncFSRequests>1&&Wr("warning: "+E.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=E.getMounts(E.root.mount),i=0;function n(o){return E.syncFSRequests--,e(o)}function s(o){if(o)return s.errored?void 0:(s.errored=!0,n(o));++i>=r.length&&n(null)}r.forEach(function(o){if(!o.type.syncfs)return s(null);o.type.syncfs(o,t,s)})},mount:function(t,e,r){var i=r==="/",n=!r,s;if(i&&E.root)throw new E.ErrnoError(10);if(!i&&!n){var o=E.lookupPath(r,{follow_mount:!1});if(r=o.path,s=o.node,E.isMountpoint(s))throw new E.ErrnoError(10);if(!E.isDir(s.mode))throw new E.ErrnoError(54)}var a={type:t,opts:e,mountpoint:r,mounts:[]},l=t.mount(a);return l.mount=a,a.root=l,i?E.root=l:s&&(s.mounted=a,s.mount&&s.mount.mounts.push(a)),l},unmount:function(t){var e=E.lookupPath(t,{follow_mount:!1});if(!E.isMountpoint(e.node))throw new E.ErrnoError(28);var r=e.node,i=r.mounted,n=E.getMounts(i);Object.keys(E.nameTable).forEach(function(o){for(var a=E.nameTable[o];a;){var l=a.name_next;n.includes(a.mount)&&E.destroyNode(a),a=l}}),r.mounted=null;var s=r.mount.mounts.indexOf(i);r.mount.mounts.splice(s,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var i=E.lookupPath(t,{parent:!0}),n=i.node,s=gt.basename(t);if(!s||s==="."||s==="..")throw new E.ErrnoError(28);var o=E.mayCreate(n,s);if(o)throw new E.ErrnoError(o);if(!n.node_ops.mknod)throw new E.ErrnoError(63);return n.node_ops.mknod(n,s,e,r)},create:function(t,e){return e=e!==void 0?e:438,e&=4095,e|=32768,E.mknod(t,e,0)},mkdir:function(t,e){return e=e!==void 0?e:511,e&=511|512,e|=16384,E.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),i="",n=0;nthis.length-1||f<0)){var h=f%this.chunkSize,p=f/this.chunkSize|0;return this.getter(p)[h]}},s.prototype.setDataGetter=function(f){this.getter=f},s.prototype.cacheLength=function(){var f=new XMLHttpRequest;if(f.open("HEAD",r,!1),f.send(null),!(f.status>=200&&f.status<300||f.status===304))throw new Error("Couldn't load "+r+". Status: "+f.status);var h=Number(f.getResponseHeader("Content-length")),p,m=(p=f.getResponseHeader("Accept-Ranges"))&&p==="bytes",I=(p=f.getResponseHeader("Content-Encoding"))&&p==="gzip",y=1024*1024;m||(y=h);var B=function(F,N){if(F>N)throw new Error("invalid range ("+F+", "+N+") or no bytes requested!");if(N>h-1)throw new Error("only "+h+" bytes available! programmer error!");var O=new XMLHttpRequest;if(O.open("GET",r,!1),h!==y&&O.setRequestHeader("Range","bytes="+F+"-"+N),typeof Uint8Array!="undefined"&&(O.responseType="arraybuffer"),O.overrideMimeType&&O.overrideMimeType("text/plain; charset=x-user-defined"),O.send(null),!(O.status>=200&&O.status<300||O.status===304))throw new Error("Couldn't load "+r+". Status: "+O.status);return O.response!==void 0?new Uint8Array(O.response||[]):qD(O.responseText||"",!0)},x=this;x.setDataGetter(function(F){var N=F*y,O=(F+1)*y-1;if(O=Math.min(O,h-1),typeof x.chunks[F]=="undefined"&&(x.chunks[F]=B(N,O)),typeof x.chunks[F]=="undefined")throw new Error("doXHR failed!");return x.chunks[F]}),(I||!h)&&(y=h=1,h=this.getter(0).length,y=h,cI("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=h,this._chunkSize=y,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!Tj)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var a={isDevice:!1,contents:o}}else var a={isDevice:!1,url:r};var l=E.createFile(t,e,a,i,n);a.contents?l.contents=a.contents:a.url&&(l.contents=null,l.url=a.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={},u=Object.keys(l.stream_ops);return u.forEach(function(g){var f=l.stream_ops[g];c[g]=function(){return E.forceLoadFile(l),f.apply(null,arguments)}}),c.read=function(f,h,p,m,I){E.forceLoadFile(l);var y=f.node.contents;if(I>=y.length)return 0;var B=Math.min(y.length-I,m);if(y.slice)for(var x=0;x>2]=i.dev,je[r+4>>2]=0,je[r+8>>2]=i.ino,je[r+12>>2]=i.mode,je[r+16>>2]=i.nlink,je[r+20>>2]=i.uid,je[r+24>>2]=i.gid,je[r+28>>2]=i.rdev,je[r+32>>2]=0,$s=[i.size>>>0,(xr=i.size,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[r+40>>2]=$s[0],je[r+44>>2]=$s[1],je[r+48>>2]=4096,je[r+52>>2]=i.blocks,je[r+56>>2]=i.atime.getTime()/1e3|0,je[r+60>>2]=0,je[r+64>>2]=i.mtime.getTime()/1e3|0,je[r+68>>2]=0,je[r+72>>2]=i.ctime.getTime()/1e3|0,je[r+76>>2]=0,$s=[i.ino>>>0,(xr=i.ino,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[r+80>>2]=$s[0],je[r+84>>2]=$s[1],0},doMsync:function(t,e,r,i,n){var s=pc.slice(t,t+r);E.msync(e,s,n,r,i)},doMkdir:function(t,e){return t=gt.normalize(t),t[t.length-1]==="/"&&(t=t.substr(0,t.length-1)),E.mkdir(t,e,0),0},doMknod:function(t,e,r){switch(e&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return E.mknod(t,e,r),0},doReadlink:function(t,e,r){if(r<=0)return-28;var i=E.readlink(t),n=Math.min(r,fI(i)),s=ui[e+n];return qj(i,e,r+1),ui[e+n]=s,n},doAccess:function(t,e){if(e&~7)return-28;var r,i=E.lookupPath(t,{follow:!0});if(r=i.node,!r)return-44;var n="";return e&4&&(n+="r"),e&2&&(n+="w"),e&1&&(n+="x"),n&&E.nodePermissions(r,n)?-2:0},doDup:function(t,e,r){var i=E.getStream(r);return i&&E.close(i),E.open(t,e,0,r,r).fd},doReadv:function(t,e,r,i){for(var n=0,s=0;s>2],a=je[e+(s*8+4)>>2],l=E.read(t,ui,o,a,i);if(l<0)return-1;if(n+=l,l>2],a=je[e+(s*8+4)>>2],l=E.write(t,ui,o,a,i);if(l<0)return-1;n+=l}return n},varargs:void 0,get:function(){wt.varargs+=4;var t=je[wt.varargs-4>>2];return t},getStr:function(t){var e=Gj(t);return e},getStreamFromFD:function(t){var e=E.getStream(t);if(!e)throw new E.ErrnoError(8);return e},get64:function(t,e){return t}};function GIe(t,e){try{return t=wt.getStr(t),E.chmod(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function JIe(t){return je[qIe()>>2]=t,t}function WIe(t,e,r){wt.varargs=r;try{var i=wt.getStreamFromFD(t);switch(e){case 0:{var n=wt.get();if(n<0)return-28;var s;return s=E.open(i.path,i.flags,0,n),s.fd}case 1:case 2:return 0;case 3:return i.flags;case 4:{var n=wt.get();return i.flags|=n,0}case 12:{var n=wt.get(),o=0;return OD[n+o>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return JIe(28),-1;default:return-28}}catch(a){return(typeof E=="undefined"||!(a instanceof E.ErrnoError))&&gr(a),-a.errno}}function zIe(t,e){try{var r=wt.getStreamFromFD(t);return wt.doStat(E.stat,r.path,e)}catch(i){return(typeof E=="undefined"||!(i instanceof E.ErrnoError))&&gr(i),-i.errno}}function VIe(t,e,r){wt.varargs=r;try{var i=wt.getStreamFromFD(t);switch(e){case 21509:case 21505:return i.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return i.tty?0:-59;case 21519:{if(!i.tty)return-59;var n=wt.get();return je[n>>2]=0,0}case 21520:return i.tty?-28:-59;case 21531:{var n=wt.get();return E.ioctl(i,e,n)}case 21523:return i.tty?0:-59;case 21524:return i.tty?0:-59;default:gr("bad ioctl syscall "+e)}}catch(s){return(typeof E=="undefined"||!(s instanceof E.ErrnoError))&&gr(s),-s.errno}}function XIe(t,e,r){wt.varargs=r;try{var i=wt.getStr(t),n=r?wt.get():0,s=E.open(i,e,n);return s.fd}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),-o.errno}}function ZIe(t,e){try{return t=wt.getStr(t),e=wt.getStr(e),E.rename(t,e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function _Ie(t){try{return t=wt.getStr(t),E.rmdir(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&gr(e),-e.errno}}function $Ie(t,e){try{return t=wt.getStr(t),wt.doStat(E.stat,t,e)}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),-r.errno}}function eEe(t){try{return t=wt.getStr(t),E.unlink(t),0}catch(e){return(typeof E=="undefined"||!(e instanceof E.ErrnoError))&&gr(e),-e.errno}}function tEe(t,e,r){pc.copyWithin(t,e,e+r)}function rEe(t){try{return uI.grow(t-UD.byteLength+65535>>>16),Vj(uI.buffer),1}catch(e){}}function iEe(t){var e=pc.length;t=t>>>0;var r=2147483648;if(t>r)return!1;for(var i=1;i<=4;i*=2){var n=e*(1+.2/i);n=Math.min(n,t+100663296);var s=Math.min(r,SIe(Math.max(t,n),65536)),o=rEe(s);if(o)return!0}return!1}function nEe(t){try{var e=wt.getStreamFromFD(t);return E.close(e),0}catch(r){return(typeof E=="undefined"||!(r instanceof E.ErrnoError))&&gr(r),r.errno}}function sEe(t,e){try{var r=wt.getStreamFromFD(t),i=r.tty?2:E.isDir(r.mode)?3:E.isLink(r.mode)?7:4;return ui[e>>0]=i,0}catch(n){return(typeof E=="undefined"||!(n instanceof E.ErrnoError))&&gr(n),n.errno}}function oEe(t,e,r,i){try{var n=wt.getStreamFromFD(t),s=wt.doReadv(n,e,r);return je[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),o.errno}}function aEe(t,e,r,i,n){try{var s=wt.getStreamFromFD(t),o=4294967296,a=r*o+(e>>>0),l=9007199254740992;return a<=-l||a>=l?-61:(E.llseek(s,a,i),$s=[s.position>>>0,(xr=s.position,+Math.abs(xr)>=1?xr>0?(Math.min(+Math.floor(xr/4294967296),4294967295)|0)>>>0:~~+Math.ceil((xr-+(~~xr>>>0))/4294967296)>>>0:0)],je[n>>2]=$s[0],je[n+4>>2]=$s[1],s.getdents&&a===0&&i===0&&(s.getdents=null),0)}catch(c){return(typeof E=="undefined"||!(c instanceof E.ErrnoError))&&gr(c),c.errno}}function AEe(t,e,r,i){try{var n=wt.getStreamFromFD(t),s=wt.doWritev(n,e,r);return je[i>>2]=s,0}catch(o){return(typeof E=="undefined"||!(o instanceof E.ErrnoError))&&gr(o),o.errno}}function lEe(t){IIe(t)}function cEe(t){var e=Date.now()/1e3|0;return t&&(je[t>>2]=e),e}function zD(){if(zD.called)return;zD.called=!0;var t=new Date().getFullYear(),e=new Date(t,0,1),r=new Date(t,6,1),i=e.getTimezoneOffset(),n=r.getTimezoneOffset(),s=Math.max(i,n);je[gEe()>>2]=s*60,je[uEe()>>2]=Number(i!=n);function o(g){var f=g.toTimeString().match(/\(([A-Za-z ]+)\)$/);return f?f[1]:"GMT"}var a=o(e),l=o(r),c=KD(a),u=KD(l);n>2]=c,je[pI()+4>>2]=u):(je[pI()>>2]=u,je[pI()+4>>2]=c)}function fEe(t){zD();var e=Date.UTC(je[t+20>>2]+1900,je[t+16>>2],je[t+12>>2],je[t+8>>2],je[t+4>>2],je[t>>2],0),r=new Date(e);je[t+24>>2]=r.getUTCDay();var i=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-i)/(1e3*60*60*24)|0;return je[t+28>>2]=n,r.getTime()/1e3|0}var iG=function(t,e,r,i){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=E.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i},dI=292|73,CI=146;Object.defineProperties(iG.prototype,{read:{get:function(){return(this.mode&dI)===dI},set:function(t){t?this.mode|=dI:this.mode&=~dI}},write:{get:function(){return(this.mode&CI)===CI},set:function(t){t?this.mode|=CI:this.mode&=~CI}},isFolder:{get:function(){return E.isDir(this.mode)}},isDevice:{get:function(){return E.isChrdev(this.mode)}}});E.FSNode=iG;E.staticInit();EA&&(st=Nj,WD=require("path"),Xe.staticInit());var st,WD;if(EA){nG=function(t){return function(){try{return t.apply(this,arguments)}catch(e){throw e.code?new E.ErrnoError(dc[e.code]):e}}},BA=Object.assign({},E);for(VD in rG)E[VD]=nG(rG[VD])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");var nG,BA,VD;function qD(t,e,r){var i=r>0?r:fI(t)+1,n=new Array(i),s=gI(t,n,0,n.length);return e&&(n.length=s),n}var hEe=typeof atob=="function"?atob:function(t){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="",i,n,s,o,a,l,c,u=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do o=e.indexOf(t.charAt(u++)),a=e.indexOf(t.charAt(u++)),l=e.indexOf(t.charAt(u++)),c=e.indexOf(t.charAt(u++)),i=o<<2|a>>4,n=(a&15)<<4|l>>2,s=(l&3)<<6|c,r=r+String.fromCharCode(i),l!==64&&(r=r+String.fromCharCode(n)),c!==64&&(r=r+String.fromCharCode(s));while(u0||(FIe(),yA>0))return;function e(){mI||(mI=!0,ne.calledRun=!0,!Yj&&(RIe(),ne.onRuntimeInitialized&&ne.onRuntimeInitialized(),LIe()))}ne.setStatus?(ne.setStatus("Running..."),setTimeout(function(){setTimeout(function(){ne.setStatus("")},1),e()},1)):e()}ne.run=XD;if(ne.preInit)for(typeof ne.preInit=="function"&&(ne.preInit=[ne.preInit]);ne.preInit.length>0;)ne.preInit.pop()();XD()});var AG=C((kVe,aG)=>{"use strict";function dEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function wA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,wA)}dEe(wA,Error);wA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ue=pt(">>",!1),Be=">&",ct=pt(">&",!1),mt=">",St=pt(">",!1),xn="<<<",Ii=pt("<<<",!1),Xt="<&",_i=pt("<&",!1),zn="<",_u=pt("<",!1),Kd=function(d){return{type:"argument",segments:[].concat(...d)}},xs=function(d){return d},$u="'",Ud=pt("'",!1),YB=function(d){return[{type:"text",text:d}]},eg='"',Hd=pt('"',!1),Yd=function(d){return d},jd=function(d){return{type:"arithmetic",arithmetic:d,quoted:!0}},jB=function(d){return{type:"shell",shell:d,quoted:!0}},GB=function(d){return V(v({type:"variable"},d),{quoted:!0})},tg=function(d){return{type:"text",text:d}},qB=function(d){return{type:"arithmetic",arithmetic:d,quoted:!1}},JB=function(d){return{type:"shell",shell:d,quoted:!1}},Gd=function(d){return V(v({type:"variable"},d),{quoted:!1})},WB=function(d){return{type:"glob",pattern:d}},_="\\",ks=pt("\\",!1),$i=Ps(),en=function(d){return d},rg=/^[^']/,qd=Hr(["'"],!0,!1),El=function(d){return d.join("")},ig=/^[^$"]/,Jd=Hr(["$",'"'],!0,!1),ng="-",yl=pt("-",!1),sg="+",og=pt("+",!1),zB=".",VB=pt(".",!1),XB=function(d,b,k){return{type:"number",value:(d==="-"?-1:1)*parseFloat(b.join("")+"."+k.join(""))}},Wd=function(d,b){return{type:"number",value:(d==="-"?-1:1)*parseInt(b.join(""))}},zd=function(d){return v({type:"variable"},d)},ZB=function(d){return{type:"variable",name:d}},Vd=function(d){return d},Xd="*",Zd=pt("*",!1),_B=function(d,b){return{type:"multiplication",left:d,right:b}},$B="/",ew=pt("/",!1),tw=function(d,b){return{type:"division",left:d,right:b}},rw=function(d,b){return{type:"addition",left:d,right:b}},M=function(d,b){return{type:"subtraction",left:d,right:b}},it="$((",Bl=pt("$((",!1),Oi="))",ag=pt("))",!1),Oe=function(d){return d},Ta="$(",_d=pt("$(",!1),aN=function(d){return d},Oa="${",$d=pt("${",!1),Ot=":-",Vn=pt(":-",!1),iw=function(d,b){return{name:d,defaultValue:b}},eC=":-}",So=pt(":-}",!1),tC=function(d){return{name:d,defaultValue:[]}},xo=function(d){return{name:d}},Ve="$",nw=pt("$",!1),rC=function(d){return e.isGlobPattern(d)},iC=function(d){return d},nC=/^[a-zA-Z0-9_]/,Ag=Hr([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),lg=function(){return ow()},cg=/^[$@*?#a-zA-Z0-9_\-]/,Ka=Hr(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Ua=/^[(){}<>$|&; \t"']/,sw=Hr(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),sC=/^[<>&; \t"']/,oC=Hr(["<",">","&",";"," "," ",'"',"'"],!1,!1),aC=/^[ \t]/,ko=Hr([" "," "],!1,!1),Q=0,Le=0,Ha=[{line:1,column:1}],Ei=0,wl=[],be=0,vs;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function ow(){return t.substring(Le,Q)}function aw(){return U(Le,Q)}function ug(d,b){throw b=b!==void 0?b:U(Le,Q),Ce([Ql(d)],t.substring(Le,Q),b)}function pr(d,b){throw b=b!==void 0?b:U(Le,Q),Ee(d,b)}function pt(d,b){return{type:"literal",text:d,ignoreCase:b}}function Hr(d,b,k){return{type:"class",parts:d,inverted:b,ignoreCase:k}}function Ps(){return{type:"any"}}function AC(){return{type:"end"}}function Ql(d){return{type:"other",description:d}}function S(d){var b=Ha[d],k;if(b)return b;for(k=d-1;!Ha[k];)k--;for(b=Ha[k],b={line:b.line,column:b.column};kEi&&(Ei=Q,wl=[]),wl.push(d))}function Ee(d,b){return new wA(d,null,null,b)}function Ce(d,b,k){return new wA(wA.buildMessage(d,b),d,b,k)}function Te(){var d,b;return d=Q,b=rt(),b===r&&(b=null),b!==r&&(Le=d,b=s(b)),d=b,d}function rt(){var d,b,k,Y,$;if(d=Q,b=Aw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();k!==r?(Y=Fs(),Y!==r?($=Kt(),$===r&&($=null),$!==r?(Le=d,b=o(b,Y,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;if(d===r)if(d=Q,b=Aw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();k!==r?(Y=Fs(),Y===r&&(Y=null),Y!==r?(Le=d,b=a(b,Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;return d}function Kt(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=rt(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=l(k),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;return d}function Fs(){var d;return t.charCodeAt(Q)===59?(d=c,Q++):(d=r,be===0&&G(u)),d===r&&(t.charCodeAt(Q)===38?(d=g,Q++):(d=r,be===0&&G(f))),d}function Aw(){var d,b,k;return d=Q,b=AN(),b!==r?(k=Eoe(),k===r&&(k=null),k!==r?(Le=d,b=h(b,k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Eoe(){var d,b,k,Y,$,ke,kt;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=yoe(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=Aw(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=p(k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;return d}function yoe(){var d;return t.substr(Q,2)===m?(d=m,Q+=2):(d=r,be===0&&G(I)),d===r&&(t.substr(Q,2)===y?(d=y,Q+=2):(d=r,be===0&&G(B))),d}function AN(){var d,b,k;return d=Q,b=Qoe(),b!==r?(k=Boe(),k===r&&(k=null),k!==r?(Le=d,b=x(b,k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Boe(){var d,b,k,Y,$,ke,kt;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(k=woe(),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=AN(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=F(k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;return d}function woe(){var d;return t.substr(Q,2)===N?(d=N,Q+=2):(d=r,be===0&&G(O)),d===r&&(t.charCodeAt(Q)===124?(d=P,Q++):(d=r,be===0&&G(J))),d}function lC(){var d,b,k,Y,$,ke;if(d=Q,b=dN(),b!==r)if(t.charCodeAt(Q)===61?(k=oe,Q++):(k=r,be===0&&G(K)),k!==r)if(Y=cN(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(Le=d,b=A(b,Y),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;else Q=d,d=r;if(d===r)if(d=Q,b=dN(),b!==r)if(t.charCodeAt(Q)===61?(k=oe,Q++):(k=r,be===0&&G(K)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=W(b),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r;return d}function Qoe(){var d,b,k,Y,$,ke,kt,bl,Yr,yi,vo;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(t.charCodeAt(Q)===40?(k=ee,Q++):(k=r,be===0&&G(re)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=rt(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();if(ke!==r)if(t.charCodeAt(Q)===41?(kt=H,Q++):(kt=r,be===0&&G(R)),kt!==r){for(bl=[],Yr=De();Yr!==r;)bl.push(Yr),Yr=De();if(bl!==r){for(Yr=[],yi=gg();yi!==r;)Yr.push(yi),yi=gg();if(Yr!==r){for(yi=[],vo=De();vo!==r;)yi.push(vo),vo=De();yi!==r?(Le=d,b=ve($,Yr),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r)if(t.charCodeAt(Q)===123?(k=Ne,Q++):(k=r,be===0&&G(Je)),k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r)if($=rt(),$!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();if(ke!==r)if(t.charCodeAt(Q)===125?(kt=Ke,Q++):(kt=r,be===0&&G(ie)),kt!==r){for(bl=[],Yr=De();Yr!==r;)bl.push(Yr),Yr=De();if(bl!==r){for(Yr=[],yi=gg();yi!==r;)Yr.push(yi),yi=gg();if(Yr!==r){for(yi=[],vo=De();vo!==r;)yi.push(vo),vo=De();yi!==r?(Le=d,b=ce($,Yr),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){for(k=[],Y=lC();Y!==r;)k.push(Y),Y=lC();if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();if(Y!==r){if($=[],ke=lN(),ke!==r)for(;ke!==r;)$.push(ke),ke=lN();else $=r;if($!==r){for(ke=[],kt=De();kt!==r;)ke.push(kt),kt=De();ke!==r?(Le=d,b=Se(k,$),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r}else Q=d,d=r;if(d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){if(k=[],Y=lC(),Y!==r)for(;Y!==r;)k.push(Y),Y=lC();else k=r;if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=fe(k),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r}}}return d}function boe(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r){if(k=[],Y=cC(),Y!==r)for(;Y!==r;)k.push(Y),Y=cC();else k=r;if(k!==r){for(Y=[],$=De();$!==r;)Y.push($),$=De();Y!==r?(Le=d,b=Ie(k),d=b):(Q=d,d=r)}else Q=d,d=r}else Q=d,d=r;return d}function lN(){var d,b,k;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();if(b!==r?(k=gg(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r),d===r){for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();b!==r?(k=cC(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r)}return d}function gg(){var d,b,k,Y,$;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();return b!==r?(Qe.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Z)),k===r&&(k=null),k!==r?(Y=Doe(),Y!==r?($=cC(),$!==r?(Le=d,b=X(k,Y,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function Doe(){var d;return t.substr(Q,2)===ae?(d=ae,Q+=2):(d=r,be===0&&G(ue)),d===r&&(t.substr(Q,2)===Be?(d=Be,Q+=2):(d=r,be===0&&G(ct)),d===r&&(t.charCodeAt(Q)===62?(d=mt,Q++):(d=r,be===0&&G(St)),d===r&&(t.substr(Q,3)===xn?(d=xn,Q+=3):(d=r,be===0&&G(Ii)),d===r&&(t.substr(Q,2)===Xt?(d=Xt,Q+=2):(d=r,be===0&&G(_i)),d===r&&(t.charCodeAt(Q)===60?(d=zn,Q++):(d=r,be===0&&G(_u))))))),d}function cC(){var d,b,k;for(d=Q,b=[],k=De();k!==r;)b.push(k),k=De();return b!==r?(k=cN(),k!==r?(Le=d,b=pe(k),d=b):(Q=d,d=r)):(Q=d,d=r),d}function cN(){var d,b,k;if(d=Q,b=[],k=uN(),k!==r)for(;k!==r;)b.push(k),k=uN();else b=r;return b!==r&&(Le=d,b=Kd(b)),d=b,d}function uN(){var d,b;return d=Q,b=Soe(),b!==r&&(Le=d,b=xs(b)),d=b,d===r&&(d=Q,b=xoe(),b!==r&&(Le=d,b=xs(b)),d=b,d===r&&(d=Q,b=koe(),b!==r&&(Le=d,b=xs(b)),d=b)),d}function Soe(){var d,b,k,Y;return d=Q,t.charCodeAt(Q)===39?(b=$u,Q++):(b=r,be===0&&G(Ud)),b!==r?(k=voe(),k!==r?(t.charCodeAt(Q)===39?(Y=$u,Q++):(Y=r,be===0&&G(Ud)),Y!==r?(Le=d,b=YB(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function xoe(){var d,b,k,Y;if(d=Q,t.charCodeAt(Q)===34?(b=eg,Q++):(b=r,be===0&&G(Hd)),b!==r){for(k=[],Y=gN();Y!==r;)k.push(Y),Y=gN();k!==r?(t.charCodeAt(Q)===34?(Y=eg,Q++):(Y=r,be===0&&G(Hd)),Y!==r?(Le=d,b=Yd(k),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;return d}function koe(){var d,b,k;if(d=Q,b=[],k=fN(),k!==r)for(;k!==r;)b.push(k),k=fN();else b=r;return b!==r&&(Le=d,b=Yd(b)),d=b,d}function gN(){var d,b;return d=Q,b=hN(),b!==r&&(Le=d,b=jd(b)),d=b,d===r&&(d=Q,b=pN(),b!==r&&(Le=d,b=jB(b)),d=b,d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=GB(b)),d=b,d===r&&(d=Q,b=Poe(),b!==r&&(Le=d,b=tg(b)),d=b))),d}function fN(){var d,b;return d=Q,b=hN(),b!==r&&(Le=d,b=qB(b)),d=b,d===r&&(d=Q,b=pN(),b!==r&&(Le=d,b=JB(b)),d=b,d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=Gd(b)),d=b,d===r&&(d=Q,b=Roe(),b!==r&&(Le=d,b=WB(b)),d=b,d===r&&(d=Q,b=Foe(),b!==r&&(Le=d,b=tg(b)),d=b)))),d}function voe(){var d,b,k,Y,$;for(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(rg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(qd)));k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(rg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(qd)));return b!==r&&(Le=d,b=El(b)),d=b,d}function Poe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(ig.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Jd))),k!==r)for(;k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(ig.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Jd)));else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function Foe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(k=Q,Y=Q,be++,$=CN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r)),k!==r)for(;k!==r;)b.push(k),k=Q,t.charCodeAt(Q)===92?(Y=_,Q++):(Y=r,be===0&&G(ks)),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k===r&&(k=Q,Y=Q,be++,$=CN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r));else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function lw(){var d,b,k,Y,$,ke;if(d=Q,t.charCodeAt(Q)===45?(b=ng,Q++):(b=r,be===0&&G(yl)),b===r&&(t.charCodeAt(Q)===43?(b=sg,Q++):(b=r,be===0&&G(og))),b===r&&(b=null),b!==r){if(k=[],Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z)),Y!==r)for(;Y!==r;)k.push(Y),Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z));else k=r;if(k!==r)if(t.charCodeAt(Q)===46?(Y=zB,Q++):(Y=r,be===0&&G(VB)),Y!==r){if($=[],Qe.test(t.charAt(Q))?(ke=t.charAt(Q),Q++):(ke=r,be===0&&G(Z)),ke!==r)for(;ke!==r;)$.push(ke),Qe.test(t.charAt(Q))?(ke=t.charAt(Q),Q++):(ke=r,be===0&&G(Z));else $=r;$!==r?(Le=d,b=XB(b,k,$),d=b):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,t.charCodeAt(Q)===45?(b=ng,Q++):(b=r,be===0&&G(yl)),b===r&&(t.charCodeAt(Q)===43?(b=sg,Q++):(b=r,be===0&&G(og))),b===r&&(b=null),b!==r){if(k=[],Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z)),Y!==r)for(;Y!==r;)k.push(Y),Qe.test(t.charAt(Q))?(Y=t.charAt(Q),Q++):(Y=r,be===0&&G(Z));else k=r;k!==r?(Le=d,b=Wd(b,k),d=b):(Q=d,d=r)}else Q=d,d=r;if(d===r&&(d=Q,b=cw(),b!==r&&(Le=d,b=zd(b)),d=b,d===r&&(d=Q,b=hg(),b!==r&&(Le=d,b=ZB(b)),d=b,d===r)))if(d=Q,t.charCodeAt(Q)===40?(b=ee,Q++):(b=r,be===0&&G(re)),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(Y=uC(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(t.charCodeAt(Q)===41?(ke=H,Q++):(ke=r,be===0&&G(R)),ke!==r?(Le=d,b=Vd(Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r}return d}function fg(){var d,b,k,Y,$,ke;if(d=Q,b=lw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===42?(Y=Xd,Q++):(Y=r,be===0&&G(Zd)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=fg(),ke!==r?(Le=d,b=_B(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,b=lw(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===47?(Y=$B,Q++):(Y=r,be===0&&G(ew)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=fg(),ke!==r?(Le=d,b=tw(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;d===r&&(d=lw())}return d}function uC(){var d,b,k,Y,$,ke;if(d=Q,b=fg(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===43?(Y=sg,Q++):(Y=r,be===0&&G(og)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=uC(),ke!==r?(Le=d,b=rw(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;if(d===r){if(d=Q,b=fg(),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(t.charCodeAt(Q)===45?(Y=ng,Q++):(Y=r,be===0&&G(yl)),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(ke=uC(),ke!==r?(Le=d,b=M(b,ke),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;d===r&&(d=fg())}return d}function hN(){var d,b,k,Y,$,ke;if(d=Q,t.substr(Q,3)===it?(b=it,Q+=3):(b=r,be===0&&G(Bl)),b!==r){for(k=[],Y=De();Y!==r;)k.push(Y),Y=De();if(k!==r)if(Y=uC(),Y!==r){for($=[],ke=De();ke!==r;)$.push(ke),ke=De();$!==r?(t.substr(Q,2)===Oi?(ke=Oi,Q+=2):(ke=r,be===0&&G(ag)),ke!==r?(Le=d,b=Oe(Y),d=b):(Q=d,d=r)):(Q=d,d=r)}else Q=d,d=r;else Q=d,d=r}else Q=d,d=r;return d}function pN(){var d,b,k,Y;return d=Q,t.substr(Q,2)===Ta?(b=Ta,Q+=2):(b=r,be===0&&G(_d)),b!==r?(k=rt(),k!==r?(t.charCodeAt(Q)===41?(Y=H,Q++):(Y=r,be===0&&G(R)),Y!==r?(Le=d,b=aN(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d}function cw(){var d,b,k,Y,$,ke;return d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.substr(Q,2)===Ot?(Y=Ot,Q+=2):(Y=r,be===0&&G(Vn)),Y!==r?($=boe(),$!==r?(t.charCodeAt(Q)===125?(ke=Ke,Q++):(ke=r,be===0&&G(ie)),ke!==r?(Le=d,b=iw(k,$),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.substr(Q,3)===eC?(Y=eC,Q+=3):(Y=r,be===0&&G(So)),Y!==r?(Le=d,b=tC(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.substr(Q,2)===Oa?(b=Oa,Q+=2):(b=r,be===0&&G($d)),b!==r?(k=hg(),k!==r?(t.charCodeAt(Q)===125?(Y=Ke,Q++):(Y=r,be===0&&G(ie)),Y!==r?(Le=d,b=xo(k),d=b):(Q=d,d=r)):(Q=d,d=r)):(Q=d,d=r),d===r&&(d=Q,t.charCodeAt(Q)===36?(b=Ve,Q++):(b=r,be===0&&G(nw)),b!==r?(k=hg(),k!==r?(Le=d,b=xo(k),d=b):(Q=d,d=r)):(Q=d,d=r)))),d}function Roe(){var d,b,k;return d=Q,b=Noe(),b!==r?(Le=Q,k=rC(b),k?k=void 0:k=r,k!==r?(Le=d,b=iC(b),d=b):(Q=d,d=r)):(Q=d,d=r),d}function Noe(){var d,b,k,Y,$;if(d=Q,b=[],k=Q,Y=Q,be++,$=mN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r),k!==r)for(;k!==r;)b.push(k),k=Q,Y=Q,be++,$=mN(),be--,$===r?Y=void 0:(Q=Y,Y=r),Y!==r?(t.length>Q?($=t.charAt(Q),Q++):($=r,be===0&&G($i)),$!==r?(Le=k,Y=en($),k=Y):(Q=k,k=r)):(Q=k,k=r);else b=r;return b!==r&&(Le=d,b=El(b)),d=b,d}function dN(){var d,b,k;if(d=Q,b=[],nC.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ag)),k!==r)for(;k!==r;)b.push(k),nC.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ag));else b=r;return b!==r&&(Le=d,b=lg()),d=b,d}function hg(){var d,b,k;if(d=Q,b=[],cg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ka)),k!==r)for(;k!==r;)b.push(k),cg.test(t.charAt(Q))?(k=t.charAt(Q),Q++):(k=r,be===0&&G(Ka));else b=r;return b!==r&&(Le=d,b=lg()),d=b,d}function CN(){var d;return Ua.test(t.charAt(Q))?(d=t.charAt(Q),Q++):(d=r,be===0&&G(sw)),d}function mN(){var d;return sC.test(t.charAt(Q))?(d=t.charAt(Q),Q++):(d=r,be===0&&G(oC)),d}function De(){var d,b;if(d=[],aC.test(t.charAt(Q))?(b=t.charAt(Q),Q++):(b=r,be===0&&G(ko)),b!==r)for(;b!==r;)d.push(b),aC.test(t.charAt(Q))?(b=t.charAt(Q),Q++):(b=r,be===0&&G(ko));else d=r;return d}if(vs=n(),vs!==r&&Q===t.length)return vs;throw vs!==r&&Q{"use strict";function mEe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function QA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,QA)}mEe(QA,Error);QA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gN&&(N=B,O=[]),O.push(Z))}function ie(Z,X){return new QA(Z,null,null,X)}function ce(Z,X,ae){return new QA(QA.buildMessage(Z,X),Z,X,ae)}function Se(){var Z,X,ae,ue;return Z=B,X=fe(),X!==r?(t.charCodeAt(B)===47?(ae=s,B++):(ae=r,P===0&&Ke(o)),ae!==r?(ue=fe(),ue!==r?(x=Z,X=a(X,ue),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=fe(),X!==r&&(x=Z,X=l(X)),Z=X),Z}function fe(){var Z,X,ae,ue;return Z=B,X=Ie(),X!==r?(t.charCodeAt(B)===64?(ae=c,B++):(ae=r,P===0&&Ke(u)),ae!==r?(ue=Qe(),ue!==r?(x=Z,X=g(X,ue),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=Ie(),X!==r&&(x=Z,X=f(X)),Z=X),Z}function Ie(){var Z,X,ae,ue,Be;return Z=B,t.charCodeAt(B)===64?(X=c,B++):(X=r,P===0&&Ke(u)),X!==r?(ae=pe(),ae!==r?(t.charCodeAt(B)===47?(ue=s,B++):(ue=r,P===0&&Ke(o)),ue!==r?(Be=pe(),Be!==r?(x=Z,X=h(),Z=X):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r)):(B=Z,Z=r),Z===r&&(Z=B,X=pe(),X!==r&&(x=Z,X=h()),Z=X),Z}function pe(){var Z,X,ae;if(Z=B,X=[],p.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(m)),ae!==r)for(;ae!==r;)X.push(ae),p.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(m));else X=r;return X!==r&&(x=Z,X=h()),Z=X,Z}function Qe(){var Z,X,ae;if(Z=B,X=[],I.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(y)),ae!==r)for(;ae!==r;)X.push(ae),I.test(t.charAt(B))?(ae=t.charAt(B),B++):(ae=r,P===0&&Ke(y));else X=r;return X!==r&&(x=Z,X=h()),Z=X,Z}if(J=n(),J!==r&&B===t.length)return J;throw J!==r&&B{"use strict";function fG(t){return typeof t=="undefined"||t===null}function EEe(t){return typeof t=="object"&&t!==null}function yEe(t){return Array.isArray(t)?t:fG(t)?[]:[t]}function BEe(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function Uf(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}Uf.prototype=Object.create(Error.prototype);Uf.prototype.constructor=Uf;Uf.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};hG.exports=Uf});var CG=C((WVe,pG)=>{"use strict";var dG=DA();function iS(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}iS.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),dG.repeat(" ",e)+i+a+s+` -`+dG.repeat(" ",e+this.position-n+i.length)+"^"};iS.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: -`+r)),i};pG.exports=iS});var Ir=C((zVe,mG)=>{"use strict";var IG=Ec(),bEe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],DEe=["scalar","sequence","mapping"];function SEe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function xEe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(bEe.indexOf(r)===-1)throw new IG('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=SEe(e.styleAliases||null),DEe.indexOf(this.kind)===-1)throw new IG('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}mG.exports=xEe});var SA=C((VVe,EG)=>{"use strict";var yG=DA(),bI=Ec(),kEe=Ir();function nS(t,e,r){var i=[];return t.include.forEach(function(n){r=nS(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function vEe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var PEe=Ir();BG.exports=new PEe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var bG=C((ZVe,QG)=>{"use strict";var FEe=Ir();QG.exports=new FEe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var SG=C((_Ve,DG)=>{"use strict";var REe=Ir();DG.exports=new REe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var DI=C(($Ve,xG)=>{"use strict";var NEe=SA();xG.exports=new NEe({explicit:[wG(),bG(),SG()]})});var vG=C((eXe,kG)=>{"use strict";var LEe=Ir();function MEe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function TEe(){return null}function OEe(t){return t===null}kG.exports=new LEe("tag:yaml.org,2002:null",{kind:"scalar",resolve:MEe,construct:TEe,predicate:OEe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var FG=C((tXe,PG)=>{"use strict";var KEe=Ir();function UEe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function HEe(t){return t==="true"||t==="True"||t==="TRUE"}function YEe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}PG.exports=new KEe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:UEe,construct:HEe,predicate:YEe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var NG=C((rXe,RG)=>{"use strict";var jEe=DA(),GEe=Ir();function qEe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function JEe(t){return 48<=t&&t<=55}function WEe(t){return 48<=t&&t<=57}function zEe(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var TG=C((iXe,LG)=>{"use strict";var MG=DA(),ZEe=Ir(),_Ee=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function $Ee(t){return!(t===null||!_Ee.test(t)||t[t.length-1]==="_")}function eye(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var tye=/^[-+]?[0-9]+e/;function rye(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(MG.isNegativeZero(t))return"-0.0";return r=t.toString(10),tye.test(r)?r.replace("e",".e"):r}function iye(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||MG.isNegativeZero(t))}LG.exports=new ZEe("tag:yaml.org,2002:float",{kind:"scalar",resolve:$Ee,construct:eye,predicate:iye,represent:rye,defaultStyle:"lowercase"})});var sS=C((nXe,OG)=>{"use strict";var nye=SA();OG.exports=new nye({include:[DI()],implicit:[vG(),FG(),NG(),TG()]})});var oS=C((sXe,KG)=>{"use strict";var sye=SA();KG.exports=new sye({include:[sS()]})});var jG=C((oXe,UG)=>{"use strict";var oye=Ir(),HG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YG=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function aye(t){return t===null?!1:HG.exec(t)!==null||YG.exec(t)!==null}function Aye(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=HG.exec(t),e===null&&(e=YG.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function lye(t){return t.toISOString()}UG.exports=new oye("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:aye,construct:Aye,instanceOf:Date,represent:lye})});var qG=C((aXe,GG)=>{"use strict";var cye=Ir();function uye(t){return t==="<<"||t===null}GG.exports=new cye("tag:yaml.org,2002:merge",{kind:"scalar",resolve:uye})});var zG=C((AXe,JG)=>{"use strict";var xA;try{WG=require,xA=WG("buffer").Buffer}catch(t){}var WG,gye=Ir(),aS=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function fye(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=aS;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function hye(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=aS,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),xA?xA.from?xA.from(a):new xA(a):a}function pye(t){var e="",r=0,i,n,s=t.length,o=aS;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function dye(t){return xA&&xA.isBuffer(t)}JG.exports=new gye("tag:yaml.org,2002:binary",{kind:"scalar",resolve:fye,construct:hye,predicate:dye,represent:pye})});var XG=C((lXe,VG)=>{"use strict";var Cye=Ir(),mye=Object.prototype.hasOwnProperty,Iye=Object.prototype.toString;function Eye(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var Bye=Ir(),wye=Object.prototype.toString;function Qye(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var Dye=Ir(),Sye=Object.prototype.hasOwnProperty;function xye(t){if(t===null)return!0;var e,r=t;for(e in r)if(Sye.call(r,e)&&r[e]!==null)return!1;return!0}function kye(t){return t!==null?t:{}}$G.exports=new Dye("tag:yaml.org,2002:set",{kind:"mapping",resolve:xye,construct:kye})});var Bc=C((gXe,tq)=>{"use strict";var vye=SA();tq.exports=new vye({include:[oS()],implicit:[jG(),qG()],explicit:[zG(),XG(),_G(),eq()]})});var iq=C((fXe,rq)=>{"use strict";var Pye=Ir();function Fye(){return!0}function Rye(){}function Nye(){return""}function Lye(t){return typeof t=="undefined"}rq.exports=new Pye("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Fye,construct:Rye,predicate:Lye,represent:Nye})});var sq=C((hXe,nq)=>{"use strict";var Mye=Ir();function Tye(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Oye(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Kye(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function Uye(t){return Object.prototype.toString.call(t)==="[object RegExp]"}nq.exports=new Mye("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Tye,construct:Oye,predicate:Uye,represent:Kye})});var Aq=C((pXe,oq)=>{"use strict";var SI;try{aq=require,SI=aq("esprima")}catch(t){typeof window!="undefined"&&(SI=window.esprima)}var aq,Hye=Ir();function Yye(t){if(t===null)return!1;try{var e="("+t+")",r=SI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function jye(t){var e="("+t+")",r=SI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Gye(t){return t.toString()}function qye(t){return Object.prototype.toString.call(t)==="[object Function]"}oq.exports=new Hye("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Yye,construct:jye,predicate:qye,represent:Gye})});var Hf=C((dXe,lq)=>{"use strict";var cq=SA();lq.exports=cq.DEFAULT=new cq({include:[Bc()],explicit:[iq(),sq(),Aq()]})});var kq=C((CXe,Yf)=>{"use strict";var to=DA(),uq=Ec(),Jye=CG(),gq=Bc(),Wye=Hf(),ta=Object.prototype.hasOwnProperty,xI=1,fq=2,hq=3,kI=4,AS=1,zye=2,pq=3,Vye=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Xye=/[\x85\u2028\u2029]/,Zye=/[,\[\]\{\}]/,dq=/^(?:!|!!|![a-z\-]+!)$/i,Cq=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function mq(t){return Object.prototype.toString.call(t)}function as(t){return t===10||t===13}function kA(t){return t===9||t===32}function ki(t){return t===9||t===32||t===10||t===13}function wc(t){return t===44||t===91||t===93||t===123||t===125}function _ye(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function $ye(t){return t===120?2:t===117?4:t===85?8:0}function eBe(t){return 48<=t&&t<=57?t-48:-1}function Iq(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` -`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function tBe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var Eq=new Array(256),yq=new Array(256);for(var Qc=0;Qc<256;Qc++)Eq[Qc]=Iq(Qc)?1:0,yq[Qc]=Iq(Qc);function rBe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Wye,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function Bq(t,e){return new uq(e,new Jye(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function $e(t,e){throw Bq(t,e)}function vI(t,e){t.onWarning&&t.onWarning.call(null,Bq(t,e))}var wq={YAML:function(e,r,i){var n,s,o;e.version!==null&&$e(e,"duplication of %YAML directive"),i.length!==1&&$e(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&$e(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&$e(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&vI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&$e(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],dq.test(n)||$e(e,"ill-formed tag handle (first argument) of the TAG directive"),ta.call(e.tagMap,n)&&$e(e,'there is a previously declared suffix for "'+n+'" tag handle'),Cq.test(s)||$e(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function ra(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=to.repeat(` -`,e-1))}function iBe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),ki(h)||wc(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),ki(n)||r&&wc(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),ki(n)||r&&wc(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),ki(i))break}else{if(t.position===t.lineStart&&PI(t)||r&&wc(h))break;if(as(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,fr(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(ra(t,s,o,!1),cS(t,t.line-l),s=o=t.position,a=!1),kA(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return ra(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function nBe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(ra(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else as(r)?(ra(t,i,n,!0),cS(t,fr(t,!1,e)),i=n=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);$e(t,"unexpected end of the stream within a single quoted scalar")}function sBe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return ra(t,r,t.position,!0),t.position++,!0;if(a===92){if(ra(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),as(a))fr(t,!1,e);else if(a<256&&Eq[a])t.result+=yq[a],t.position++;else if((o=$ye(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=_ye(a))>=0?s=(s<<4)+o:$e(t,"expected hexadecimal character");t.result+=tBe(s),t.position++}else $e(t,"unknown escape sequence");r=i=t.position}else as(a)?(ra(t,r,i,!0),cS(t,fr(t,!1,e)),r=i=t.position):t.position===t.lineStart&&PI(t)?$e(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}$e(t,"unexpected end of the stream within a double quoted scalar")}function oBe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,I;if(I=t.input.charCodeAt(t.position),I===91)l=93,g=!1,s=[];else if(I===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),I=t.input.charCodeAt(++t.position);I!==0;){if(fr(t,!0,e),I=t.input.charCodeAt(t.position),I===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||$e(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,I===63&&(a=t.input.charCodeAt(t.position+1),ki(a)&&(c=u=!0,t.position++,fr(t,!0,e))),i=t.line,Dc(t,e,xI,!1,!0),p=t.tag,h=t.result,fr(t,!0,e),I=t.input.charCodeAt(t.position),(u||t.line===i)&&I===58&&(c=!0,I=t.input.charCodeAt(++t.position),fr(t,!0,e),Dc(t,e,xI,!1,!0),m=t.result),g?bc(t,s,f,p,h,m):c?s.push(bc(t,null,f,p,h,m)):s.push(h),fr(t,!0,e),I=t.input.charCodeAt(t.position),I===44?(r=!0,I=t.input.charCodeAt(++t.position)):r=!1}$e(t,"unexpected end of the stream within a flow collection")}function aBe(t,e){var r,i,n=AS,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)AS===n?n=g===43?pq:zye:$e(t,"repeat of a chomping mode identifier");else if((u=eBe(g))>=0)u===0?$e(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?$e(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(kA(g)){do g=t.input.charCodeAt(++t.position);while(kA(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!as(g)&&g!==0)}for(;g!==0;){for(lS(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),as(g)){l++;continue}if(t.lineIndente)&&l!==0)$e(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(Dc(t,e,kI,!0,n)&&(p?f=t.result:h=t.result),p||(bc(t,c,u,g,f,h,s,o),g=f=h=null),fr(t,!0,-1),I=t.input.charCodeAt(t.position)),t.lineIndent>e&&I!==0)$e(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):$e(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):$e(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function gBe(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&(fr(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!ki(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&$e(t,"directive name must not be less than one character in length");o!==0;){for(;kA(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!as(o));break}if(as(o))break;for(r=t.position;o!==0&&!ki(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&lS(t),ta.call(wq,i)?wq[i](t,i,n):vI(t,'unknown document directive "'+i+'"')}if(fr(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,fr(t,!0,-1)):s&&$e(t,"directives end mark is expected"),Dc(t,t.lineIndent-1,kI,!1,!0),fr(t,!0,-1),t.checkLineBreaks&&Xye.test(t.input.slice(e,t.position))&&vI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&PI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,fr(t,!0,-1));return}if(t.position{"use strict";var jf=DA(),Gf=Ec(),pBe=Hf(),dBe=Bc(),vq=Object.prototype.toString,Pq=Object.prototype.hasOwnProperty,CBe=9,qf=10,mBe=13,IBe=32,EBe=33,yBe=34,Fq=35,BBe=37,wBe=38,QBe=39,bBe=42,Rq=44,DBe=45,Nq=58,SBe=61,xBe=62,kBe=63,vBe=64,Lq=91,Mq=93,PBe=96,Tq=123,FBe=124,Oq=125,zr={};zr[0]="\\0";zr[7]="\\a";zr[8]="\\b";zr[9]="\\t";zr[10]="\\n";zr[11]="\\v";zr[12]="\\f";zr[13]="\\r";zr[27]="\\e";zr[34]='\\"';zr[92]="\\\\";zr[133]="\\N";zr[160]="\\_";zr[8232]="\\L";zr[8233]="\\P";var RBe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function NBe(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&Hq(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!Sc(o))return FI;a=s>0?t.charCodeAt(s-1):null,f=f&&Hq(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?jq:Gq:r>9&&Yq(t)?FI:c?Jq:qq}function YBe(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&RBe.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return MBe(t,l)}switch(KBe(e,o,t.indent,s,a)){case jq:return e;case Gq:return"'"+e.replace(/'/g,"''")+"'";case qq:return"|"+Wq(e,t.indent)+zq(Uq(e,n));case Jq:return">"+Wq(e,t.indent)+zq(Uq(UBe(e,s),n));case FI:return'"'+HBe(e,s)+'"';default:throw new Gf("impossible error: invalid scalar style")}}()}function Wq(t,e){var r=Yq(t)?String(e):"",i=t[t.length-1]===` -`,n=i&&(t[t.length-2]===` -`||t===` -`),s=n?"+":i?"":"-";return r+s+` -`}function zq(t){return t[t.length-1]===` -`?t.slice(0,-1):t}function UBe(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` -`);return c=c!==-1?c:t.length,r.lastIndex=c,Vq(t.slice(0,c),e)}(),n=t[0]===` -`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+Vq(l,e),n=s}return i}function Vq(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` -`+t.slice(n,s),n=s+1),o=a;return l+=` -`,t.length-n>e&&o>n?l+=t.slice(n,o)+` -`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function HBe(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=Kq((r-55296)*1024+i-56320+65536),s++;continue}n=zr[r],e+=!n&&Sc(r)?t[s]:n||Kq(r)}return e}function jBe(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!vA(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function JBe(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new Gf("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&qf===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=gS(t,e)),!!vA(t,e+1,u,!0,g)&&(t.dump&&qf===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function Xq(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function vA(t,e,r,i,n,s){t.tag=null,t.dump=r,Xq(t,r,!1)||Xq(t,r,!0);var o=vq.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(JBe(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(qBe(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(GBe(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(jBe(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&YBe(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new Gf("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function WBe(t,e){var r=[],i=[],n,s;for(hS(t,r,i),n=0,s=i.length;n{"use strict";var RI=kq(),$q=_q();function NI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}_t.exports.Type=Ir();_t.exports.Schema=SA();_t.exports.FAILSAFE_SCHEMA=DI();_t.exports.JSON_SCHEMA=sS();_t.exports.CORE_SCHEMA=oS();_t.exports.DEFAULT_SAFE_SCHEMA=Bc();_t.exports.DEFAULT_FULL_SCHEMA=Hf();_t.exports.load=RI.load;_t.exports.loadAll=RI.loadAll;_t.exports.safeLoad=RI.safeLoad;_t.exports.safeLoadAll=RI.safeLoadAll;_t.exports.dump=$q.dump;_t.exports.safeDump=$q.safeDump;_t.exports.YAMLException=Ec();_t.exports.MINIMAL_SCHEMA=DI();_t.exports.SAFE_SCHEMA=Bc();_t.exports.DEFAULT_SCHEMA=Hf();_t.exports.scan=NI("scan");_t.exports.parse=NI("parse");_t.exports.compose=NI("compose");_t.exports.addConstructor=NI("addConstructor")});var rJ=C((EXe,tJ)=>{"use strict";var VBe=eJ();tJ.exports=VBe});var nJ=C((yXe,iJ)=>{"use strict";function XBe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function PA(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,PA)}XBe(PA,Error);PA.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ee]:G})))},N=function(S){return S},O=function(S){return S},P=So("correct indentation"),J=" ",oe=Ot(" ",!1),K=function(S){return S.length===Ql*AC},A=function(S){return S.length===(Ql+1)*AC},W=function(){return Ql++,!0},ee=function(){return Ql--,!0},re=function(){return _d()},H=So("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ve=Vn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Ne=/^[^\r\n\t ,\][{}:#"']/,Je=Vn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Ke=function(){return _d().replace(/^ *| *$/g,"")},ie="--",ce=Ot("--",!1),Se=/^[a-zA-Z\/0-9]/,fe=Vn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ie=/^[^\r\n\t :,]/,pe=Vn(["\r",` -`," "," ",":",","],!0,!1),Qe="null",Z=Ot("null",!1),X=function(){return null},ae="true",ue=Ot("true",!1),Be=function(){return!0},ct="false",mt=Ot("false",!1),St=function(){return!1},xn=So("string"),Ii='"',Xt=Ot('"',!1),_i=function(){return""},zn=function(S){return S},_u=function(S){return S.join("")},Kd=/^[^"\\\0-\x1F\x7F]/,xs=Vn(['"',"\\",["\0",""],"\x7F"],!0,!1),$u='\\"',Ud=Ot('\\"',!1),YB=function(){return'"'},eg="\\\\",Hd=Ot("\\\\",!1),Yd=function(){return"\\"},jd="\\/",jB=Ot("\\/",!1),GB=function(){return"/"},tg="\\b",qB=Ot("\\b",!1),JB=function(){return"\b"},Gd="\\f",WB=Ot("\\f",!1),_=function(){return"\f"},ks="\\n",$i=Ot("\\n",!1),en=function(){return` -`},rg="\\r",qd=Ot("\\r",!1),El=function(){return"\r"},ig="\\t",Jd=Ot("\\t",!1),ng=function(){return" "},yl="\\u",sg=Ot("\\u",!1),og=function(S,U,G,Ee){return String.fromCharCode(parseInt(`0x${S}${U}${G}${Ee}`))},zB=/^[0-9a-fA-F]/,VB=Vn([["0","9"],["a","f"],["A","F"]],!1,!1),XB=So("blank space"),Wd=/^[ \t]/,zd=Vn([" "," "],!1,!1),ZB=So("white space"),Vd=/^[ \t\n\r]/,Xd=Vn([" "," ",` -`,"\r"],!1,!1),Zd=`\r -`,_B=Ot(`\r -`,!1),$B=` -`,ew=Ot(` -`,!1),tw="\r",rw=Ot("\r",!1),M=0,it=0,Bl=[{line:1,column:1}],Oi=0,ag=[],Oe=0,Ta;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function _d(){return t.substring(it,M)}function aN(){return xo(it,M)}function Oa(S,U){throw U=U!==void 0?U:xo(it,M),rC([So(S)],t.substring(it,M),U)}function $d(S,U){throw U=U!==void 0?U:xo(it,M),nw(S,U)}function Ot(S,U){return{type:"literal",text:S,ignoreCase:U}}function Vn(S,U,G){return{type:"class",parts:S,inverted:U,ignoreCase:G}}function iw(){return{type:"any"}}function eC(){return{type:"end"}}function So(S){return{type:"other",description:S}}function tC(S){var U=Bl[S],G;if(U)return U;for(G=S-1;!Bl[G];)G--;for(U=Bl[G],U={line:U.line,column:U.column};GOi&&(Oi=M,ag=[]),ag.push(S))}function nw(S,U){return new PA(S,null,null,U)}function rC(S,U,G){return new PA(PA.buildMessage(S,U),S,U,G)}function iC(){var S;return S=lg(),S}function nC(){var S,U,G;for(S=M,U=[],G=Ag();G!==r;)U.push(G),G=Ag();return U!==r&&(it=S,U=s(U)),S=U,S}function Ag(){var S,U,G,Ee,Ce;return S=M,U=Ua(),U!==r?(t.charCodeAt(M)===45?(G=o,M++):(G=r,Oe===0&&Ve(a)),G!==r?(Ee=pr(),Ee!==r?(Ce=Ka(),Ce!==r?(it=S,U=l(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S}function lg(){var S,U,G;for(S=M,U=[],G=cg();G!==r;)U.push(G),G=cg();return U!==r&&(it=S,U=c(U)),S=U,S}function cg(){var S,U,G,Ee,Ce,Te,rt,Kt,Fs;if(S=M,U=pr(),U===r&&(U=null),U!==r){if(G=M,t.charCodeAt(M)===35?(Ee=u,M++):(Ee=r,Oe===0&&Ve(g)),Ee!==r){if(Ce=[],Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r),Te!==r)for(;Te!==r;)Ce.push(Te),Te=M,rt=M,Oe++,Kt=Ps(),Oe--,Kt===r?rt=void 0:(M=rt,rt=r),rt!==r?(t.length>M?(Kt=t.charAt(M),M++):(Kt=r,Oe===0&&Ve(f)),Kt!==r?(rt=[rt,Kt],Te=rt):(M=Te,Te=r)):(M=Te,Te=r);else Ce=r;Ce!==r?(Ee=[Ee,Ce],G=Ee):(M=G,G=r)}else M=G,G=r;if(G===r&&(G=null),G!==r){if(Ee=[],Ce=Hr(),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=Hr();else Ee=r;Ee!==r?(it=S,U=h(),S=U):(M=S,S=r)}else M=S,S=r}else M=S,S=r;if(S===r&&(S=M,U=Ua(),U!==r?(G=aC(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ua(),U!==r?(G=ko(),G!==r?(Ee=pr(),Ee===r&&(Ee=null),Ee!==r?(t.charCodeAt(M)===58?(Ce=p,M++):(Ce=r,Oe===0&&Ve(m)),Ce!==r?(Te=pr(),Te===r&&(Te=null),Te!==r?(rt=Ka(),rt!==r?(it=S,U=I(G,rt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))){if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r)if(Ee=pr(),Ee!==r)if(Ce=Le(),Ce!==r){if(Te=[],rt=Hr(),rt!==r)for(;rt!==r;)Te.push(rt),rt=Hr();else Te=r;Te!==r?(it=S,U=I(G,Ce),S=U):(M=S,S=r)}else M=S,S=r;else M=S,S=r;else M=S,S=r;else M=S,S=r;if(S===r)if(S=M,U=Ua(),U!==r)if(G=ko(),G!==r){if(Ee=[],Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r),Ce!==r)for(;Ce!==r;)Ee.push(Ce),Ce=M,Te=pr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(M)===44?(rt=y,M++):(rt=r,Oe===0&&Ve(B)),rt!==r?(Kt=pr(),Kt===r&&(Kt=null),Kt!==r?(Fs=ko(),Fs!==r?(it=Ce,Te=x(G,Fs),Ce=Te):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r)):(M=Ce,Ce=r);else Ee=r;Ee!==r?(Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(t.charCodeAt(M)===58?(Te=p,M++):(Te=r,Oe===0&&Ve(m)),Te!==r?(rt=pr(),rt===r&&(rt=null),rt!==r?(Kt=Ka(),Kt!==r?(it=S,U=F(G,Ee,Kt),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)}else M=S,S=r;else M=S,S=r}return S}function Ka(){var S,U,G,Ee,Ce,Te,rt;if(S=M,U=M,Oe++,G=M,Ee=Ps(),Ee!==r?(Ce=sw(),Ce!==r?(t.charCodeAt(M)===45?(Te=o,M++):(Te=r,Oe===0&&Ve(a)),Te!==r?(rt=pr(),rt!==r?(Ee=[Ee,Ce,Te,rt],G=Ee):(M=G,G=r)):(M=G,G=r)):(M=G,G=r)):(M=G,G=r),Oe--,G!==r?(M=U,U=void 0):U=r,U!==r?(G=Hr(),G!==r?(Ee=sC(),Ee!==r?(Ce=nC(),Ce!==r?(Te=oC(),Te!==r?(it=S,U=N(Ce),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,U=Ps(),U!==r?(G=sC(),G!==r?(Ee=lg(),Ee!==r?(Ce=oC(),Ce!==r?(it=S,U=N(Ee),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r),S===r))if(S=M,U=Q(),U!==r){if(G=[],Ee=Hr(),Ee!==r)for(;Ee!==r;)G.push(Ee),Ee=Hr();else G=r;G!==r?(it=S,U=O(U),S=U):(M=S,S=r)}else M=S,S=r;return S}function Ua(){var S,U,G;for(Oe++,S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));return U!==r?(it=M,G=K(U),G?G=void 0:G=r,G!==r?(U=[U,G],S=U):(M=S,S=r)):(M=S,S=r),Oe--,S===r&&(U=r,Oe===0&&Ve(P)),S}function sw(){var S,U,G;for(S=M,U=[],t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));G!==r;)U.push(G),t.charCodeAt(M)===32?(G=J,M++):(G=r,Oe===0&&Ve(oe));return U!==r?(it=M,G=A(U),G?G=void 0:G=r,G!==r?(U=[U,G],S=U):(M=S,S=r)):(M=S,S=r),S}function sC(){var S;return it=M,S=W(),S?S=void 0:S=r,S}function oC(){var S;return it=M,S=ee(),S?S=void 0:S=r,S}function aC(){var S;return S=vs(),S===r&&(S=Ha()),S}function ko(){var S,U,G;if(S=vs(),S===r){if(S=M,U=[],G=Ei(),G!==r)for(;G!==r;)U.push(G),G=Ei();else U=r;U!==r&&(it=S,U=re()),S=U}return S}function Q(){var S;return S=wl(),S===r&&(S=be(),S===r&&(S=vs(),S===r&&(S=Ha()))),S}function Le(){var S;return S=wl(),S===r&&(S=vs(),S===r&&(S=Ei())),S}function Ha(){var S,U,G,Ee,Ce,Te;if(Oe++,S=M,R.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(ve)),U!==r){for(G=[],Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Ne.test(t.charAt(M))?(Te=t.charAt(M),M++):(Te=r,Oe===0&&Ve(Je)),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);Ee!==r;)G.push(Ee),Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Ne.test(t.charAt(M))?(Te=t.charAt(M),M++):(Te=r,Oe===0&&Ve(Je)),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);G!==r?(it=S,U=Ke(),S=U):(M=S,S=r)}else M=S,S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(H)),S}function Ei(){var S,U,G,Ee,Ce;if(S=M,t.substr(M,2)===ie?(U=ie,M+=2):(U=r,Oe===0&&Ve(ce)),U===r&&(U=null),U!==r)if(Se.test(t.charAt(M))?(G=t.charAt(M),M++):(G=r,Oe===0&&Ve(fe)),G!==r){for(Ee=[],Ie.test(t.charAt(M))?(Ce=t.charAt(M),M++):(Ce=r,Oe===0&&Ve(pe));Ce!==r;)Ee.push(Ce),Ie.test(t.charAt(M))?(Ce=t.charAt(M),M++):(Ce=r,Oe===0&&Ve(pe));Ee!==r?(it=S,U=Ke(),S=U):(M=S,S=r)}else M=S,S=r;else M=S,S=r;return S}function wl(){var S,U;return S=M,t.substr(M,4)===Qe?(U=Qe,M+=4):(U=r,Oe===0&&Ve(Z)),U!==r&&(it=S,U=X()),S=U,S}function be(){var S,U;return S=M,t.substr(M,4)===ae?(U=ae,M+=4):(U=r,Oe===0&&Ve(ue)),U!==r&&(it=S,U=Be()),S=U,S===r&&(S=M,t.substr(M,5)===ct?(U=ct,M+=5):(U=r,Oe===0&&Ve(mt)),U!==r&&(it=S,U=St()),S=U),S}function vs(){var S,U,G,Ee;return Oe++,S=M,t.charCodeAt(M)===34?(U=Ii,M++):(U=r,Oe===0&&Ve(Xt)),U!==r?(t.charCodeAt(M)===34?(G=Ii,M++):(G=r,Oe===0&&Ve(Xt)),G!==r?(it=S,U=_i(),S=U):(M=S,S=r)):(M=S,S=r),S===r&&(S=M,t.charCodeAt(M)===34?(U=Ii,M++):(U=r,Oe===0&&Ve(Xt)),U!==r?(G=ow(),G!==r?(t.charCodeAt(M)===34?(Ee=Ii,M++):(Ee=r,Oe===0&&Ve(Xt)),Ee!==r?(it=S,U=zn(G),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)),Oe--,S===r&&(U=r,Oe===0&&Ve(xn)),S}function ow(){var S,U,G;if(S=M,U=[],G=aw(),G!==r)for(;G!==r;)U.push(G),G=aw();else U=r;return U!==r&&(it=S,U=_u(U)),S=U,S}function aw(){var S,U,G,Ee,Ce,Te;return Kd.test(t.charAt(M))?(S=t.charAt(M),M++):(S=r,Oe===0&&Ve(xs)),S===r&&(S=M,t.substr(M,2)===$u?(U=$u,M+=2):(U=r,Oe===0&&Ve(Ud)),U!==r&&(it=S,U=YB()),S=U,S===r&&(S=M,t.substr(M,2)===eg?(U=eg,M+=2):(U=r,Oe===0&&Ve(Hd)),U!==r&&(it=S,U=Yd()),S=U,S===r&&(S=M,t.substr(M,2)===jd?(U=jd,M+=2):(U=r,Oe===0&&Ve(jB)),U!==r&&(it=S,U=GB()),S=U,S===r&&(S=M,t.substr(M,2)===tg?(U=tg,M+=2):(U=r,Oe===0&&Ve(qB)),U!==r&&(it=S,U=JB()),S=U,S===r&&(S=M,t.substr(M,2)===Gd?(U=Gd,M+=2):(U=r,Oe===0&&Ve(WB)),U!==r&&(it=S,U=_()),S=U,S===r&&(S=M,t.substr(M,2)===ks?(U=ks,M+=2):(U=r,Oe===0&&Ve($i)),U!==r&&(it=S,U=en()),S=U,S===r&&(S=M,t.substr(M,2)===rg?(U=rg,M+=2):(U=r,Oe===0&&Ve(qd)),U!==r&&(it=S,U=El()),S=U,S===r&&(S=M,t.substr(M,2)===ig?(U=ig,M+=2):(U=r,Oe===0&&Ve(Jd)),U!==r&&(it=S,U=ng()),S=U,S===r&&(S=M,t.substr(M,2)===yl?(U=yl,M+=2):(U=r,Oe===0&&Ve(sg)),U!==r?(G=ug(),G!==r?(Ee=ug(),Ee!==r?(Ce=ug(),Ce!==r?(Te=ug(),Te!==r?(it=S,U=og(G,Ee,Ce,Te),S=U):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)):(M=S,S=r)))))))))),S}function ug(){var S;return zB.test(t.charAt(M))?(S=t.charAt(M),M++):(S=r,Oe===0&&Ve(VB)),S}function pr(){var S,U;if(Oe++,S=[],Wd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(zd)),U!==r)for(;U!==r;)S.push(U),Wd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(zd));else S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(XB)),S}function pt(){var S,U;if(Oe++,S=[],Vd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(Xd)),U!==r)for(;U!==r;)S.push(U),Vd.test(t.charAt(M))?(U=t.charAt(M),M++):(U=r,Oe===0&&Ve(Xd));else S=r;return Oe--,S===r&&(U=r,Oe===0&&Ve(ZB)),S}function Hr(){var S,U,G,Ee,Ce,Te;if(S=M,U=Ps(),U!==r){for(G=[],Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Te=Ps(),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);Ee!==r;)G.push(Ee),Ee=M,Ce=pr(),Ce===r&&(Ce=null),Ce!==r?(Te=Ps(),Te!==r?(Ce=[Ce,Te],Ee=Ce):(M=Ee,Ee=r)):(M=Ee,Ee=r);G!==r?(U=[U,G],S=U):(M=S,S=r)}else M=S,S=r;return S}function Ps(){var S;return t.substr(M,2)===Zd?(S=Zd,M+=2):(S=r,Oe===0&&Ve(_B)),S===r&&(t.charCodeAt(M)===10?(S=$B,M++):(S=r,Oe===0&&Ve(ew)),S===r&&(t.charCodeAt(M)===13?(S=tw,M++):(S=r,Oe===0&&Ve(rw)))),S}let AC=2,Ql=0;if(Ta=n(),Ta!==r&&M===t.length)return Ta;throw Ta!==r&&M{var gwe=typeof global=="object"&&global&&global.Object===Object&&global;kJ.exports=gwe});var On=C((XXe,vJ)=>{var fwe=BS(),hwe=typeof self=="object"&&self&&self.Object===Object&&self,pwe=fwe||hwe||Function("return this")();vJ.exports=pwe});var NA=C((ZXe,PJ)=>{var dwe=On(),Cwe=dwe.Symbol;PJ.exports=Cwe});var RJ=C((_Xe,FJ)=>{function mwe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var Iwe=Array.isArray;NJ.exports=Iwe});var OJ=C((eZe,LJ)=>{var MJ=NA(),TJ=Object.prototype,Ewe=TJ.hasOwnProperty,ywe=TJ.toString,Zf=MJ?MJ.toStringTag:void 0;function Bwe(t){var e=Ewe.call(t,Zf),r=t[Zf];try{t[Zf]=void 0;var i=!0}catch(s){}var n=ywe.call(t);return i&&(e?t[Zf]=r:delete t[Zf]),n}LJ.exports=Bwe});var UJ=C((tZe,KJ)=>{var wwe=Object.prototype,Qwe=wwe.toString;function bwe(t){return Qwe.call(t)}KJ.exports=bwe});var LA=C((rZe,HJ)=>{var YJ=NA(),Dwe=OJ(),Swe=UJ(),xwe="[object Null]",kwe="[object Undefined]",jJ=YJ?YJ.toStringTag:void 0;function vwe(t){return t==null?t===void 0?kwe:xwe:jJ&&jJ in Object(t)?Dwe(t):Swe(t)}HJ.exports=vwe});var ls=C((iZe,GJ)=>{function Pwe(t){return t!=null&&typeof t=="object"}GJ.exports=Pwe});var jI=C((nZe,qJ)=>{var Fwe=LA(),Rwe=ls(),Nwe="[object Symbol]";function Lwe(t){return typeof t=="symbol"||Rwe(t)&&Fwe(t)==Nwe}qJ.exports=Lwe});var ZJ=C((sZe,JJ)=>{var WJ=NA(),Mwe=RJ(),Twe=dn(),Owe=jI(),Kwe=1/0,zJ=WJ?WJ.prototype:void 0,VJ=zJ?zJ.toString:void 0;function XJ(t){if(typeof t=="string")return t;if(Twe(t))return Mwe(t,XJ)+"";if(Owe(t))return VJ?VJ.call(t):"";var e=t+"";return e=="0"&&1/t==-Kwe?"-0":e}JJ.exports=XJ});var kc=C((oZe,_J)=>{var Uwe=ZJ();function Hwe(t){return t==null?"":Uwe(t)}_J.exports=Hwe});var wS=C((aZe,$J)=>{function Ywe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var jwe=wS();function Gwe(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:jwe(t,e,r)}eW.exports=Gwe});var QS=C((lZe,rW)=>{var qwe="\\ud800-\\udfff",Jwe="\\u0300-\\u036f",Wwe="\\ufe20-\\ufe2f",zwe="\\u20d0-\\u20ff",Vwe=Jwe+Wwe+zwe,Xwe="\\ufe0e\\ufe0f",Zwe="\\u200d",_we=RegExp("["+Zwe+qwe+Vwe+Xwe+"]");function $we(t){return _we.test(t)}rW.exports=$we});var nW=C((cZe,iW)=>{function eQe(t){return t.split("")}iW.exports=eQe});var gW=C((uZe,sW)=>{var oW="\\ud800-\\udfff",tQe="\\u0300-\\u036f",rQe="\\ufe20-\\ufe2f",iQe="\\u20d0-\\u20ff",nQe=tQe+rQe+iQe,sQe="\\ufe0e\\ufe0f",oQe="["+oW+"]",bS="["+nQe+"]",DS="\\ud83c[\\udffb-\\udfff]",aQe="(?:"+bS+"|"+DS+")",aW="[^"+oW+"]",AW="(?:\\ud83c[\\udde6-\\uddff]){2}",lW="[\\ud800-\\udbff][\\udc00-\\udfff]",AQe="\\u200d",cW=aQe+"?",uW="["+sQe+"]?",lQe="(?:"+AQe+"(?:"+[aW,AW,lW].join("|")+")"+uW+cW+")*",cQe=uW+cW+lQe,uQe="(?:"+[aW+bS+"?",bS,AW,lW,oQe].join("|")+")",gQe=RegExp(DS+"(?="+DS+")|"+uQe+cQe,"g");function fQe(t){return t.match(gQe)||[]}sW.exports=fQe});var hW=C((gZe,fW)=>{var hQe=nW(),pQe=QS(),dQe=gW();function CQe(t){return pQe(t)?dQe(t):hQe(t)}fW.exports=CQe});var dW=C((fZe,pW)=>{var mQe=tW(),IQe=QS(),EQe=hW(),yQe=kc();function BQe(t){return function(e){e=yQe(e);var r=IQe(e)?EQe(e):void 0,i=r?r[0]:e.charAt(0),n=r?mQe(r,1).join(""):e.slice(1);return i[t]()+n}}pW.exports=BQe});var mW=C((hZe,CW)=>{var wQe=dW(),QQe=wQe("toUpperCase");CW.exports=QQe});var SS=C((pZe,IW)=>{var bQe=kc(),DQe=mW();function SQe(t){return DQe(bQe(t).toLowerCase())}IW.exports=SQe});var yW=C((dZe,EW)=>{"use strict";EW.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var GI=C((CZe,xS)=>{"use strict";var xQe=yW(),BW=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=xQe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};xS.exports=BW;xS.exports.default=BW});var kW=C((xZe,WI)=>{function kQe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,I=16,y=17,B=0,x=1,F=2,N=3,O=4;function P(A,W){return 55296<=A.charCodeAt(W)&&A.charCodeAt(W)<=56319&&56320<=A.charCodeAt(W+1)&&A.charCodeAt(W+1)<=57343}function J(A,W){W===void 0&&(W=0);var ee=A.charCodeAt(W);if(55296<=ee&&ee<=56319&&W=1){var re=A.charCodeAt(W-1),H=ee;return 55296<=re&&re<=56319?(re-55296)*1024+(H-56320)+65536:H}return ee}function oe(A,W,ee){var re=[A].concat(W).concat([ee]),H=re[re.length-2],R=ee,ve=re.lastIndexOf(p);if(ve>1&&re.slice(1,ve).every(function(Ke){return Ke==i})&&[i,h,y].indexOf(A)==-1)return F;var Ne=re.lastIndexOf(n);if(Ne>0&&re.slice(1,Ne).every(function(Ke){return Ke==n})&&[f,n].indexOf(H)==-1)return re.filter(function(Ke){return Ke==n}).length%2==1?N:O;if(H==t&&R==e)return B;if(H==r||H==t||H==e)return R==p&&W.every(function(Ke){return Ke==i})?F:x;if(R==r||R==t||R==e)return x;if(H==o&&(R==o||R==a||R==c||R==u))return B;if((H==c||H==a)&&(R==a||R==l))return B;if((H==u||H==l)&&R==l)return B;if(R==i||R==m)return B;if(R==s)return B;if(H==f)return B;var Je=re.indexOf(i)!=-1?re.lastIndexOf(i)-1:re.length-2;return[h,y].indexOf(re[Je])!=-1&&re.slice(Je+1,-1).every(function(Ke){return Ke==i})&&R==p||H==m&&[I,y].indexOf(R)!=-1?B:W.indexOf(n)!=-1?F:H==n&&R==n?B:x}this.nextBreak=function(A,W){if(W===void 0&&(W=0),W<0)return 0;if(W>=A.length-1)return A.length;for(var ee=K(J(A,W)),re=[],H=W+1;H{var vQe=kW(),PQe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,FQe=new vQe;vW.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(PQe)||[t,t,void 0],l=FQe.splitGraphemes(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var Pc=C((t_e,GW)=>{"use strict";var qW=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),e_e=GW.exports=t=>t?Object.keys(t).map(e=>[qW.has(e)?qW.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var Fc=C((r_e,JW)=>{"use strict";var JQe=require("events"),WW=require("stream"),eh=_g(),zW=require("string_decoder").StringDecoder,no=Symbol("EOF"),th=Symbol("maybeEmitEnd"),oa=Symbol("emittedEnd"),ZI=Symbol("emittingEnd"),_I=Symbol("closed"),VW=Symbol("read"),FS=Symbol("flush"),XW=Symbol("flushChunk"),Pi=Symbol("encoding"),so=Symbol("decoder"),$I=Symbol("flowing"),rh=Symbol("paused"),ih=Symbol("resume"),hi=Symbol("bufferLength"),ZW=Symbol("bufferPush"),RS=Symbol("bufferShift"),Xr=Symbol("objectMode"),Zr=Symbol("destroyed"),_W=global._MP_NO_ITERATOR_SYMBOLS_!=="1",WQe=_W&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),zQe=_W&&Symbol.iterator||Symbol("iterator not implemented"),$W=t=>t==="end"||t==="finish"||t==="prefinish",VQe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,XQe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);JW.exports=class e3 extends WW{constructor(e){super();this[$I]=!1,this[rh]=!1,this.pipes=new eh,this.buffer=new eh,this[Xr]=e&&e.objectMode||!1,this[Xr]?this[Pi]=null:this[Pi]=e&&e.encoding||null,this[Pi]==="buffer"&&(this[Pi]=null),this[so]=this[Pi]?new zW(this[Pi]):null,this[no]=!1,this[oa]=!1,this[ZI]=!1,this[_I]=!1,this.writable=!0,this.readable=!0,this[hi]=0,this[Zr]=!1}get bufferLength(){return this[hi]}get encoding(){return this[Pi]}set encoding(e){if(this[Xr])throw new Error("cannot set encoding in objectMode");if(this[Pi]&&e!==this[Pi]&&(this[so]&&this[so].lastNeed||this[hi]))throw new Error("cannot change encoding");this[Pi]!==e&&(this[so]=e?new zW(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[so].write(r)))),this[Pi]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Xr]}set objectMode(e){this[Xr]=this[Xr]||!!e}write(e,r,i){if(this[no])throw new Error("write after end");return this[Zr]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[Xr]&&!Buffer.isBuffer(e)&&(XQe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):VQe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[hi]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[Xr]&&!(r===this[Pi]&&!this[so].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Pi]&&(e=this[so].write(e)),this.flowing?(this[hi]!==0&&this[FS](!0),this.emit("data",e)):this[ZW](e),this[hi]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Zr])return null;try{return this[hi]===0||e===0||e>this[hi]?null:(this[Xr]&&(e=null),this.buffer.length>1&&!this[Xr]&&(this.encoding?this.buffer=new eh([Array.from(this.buffer).join("")]):this.buffer=new eh([Buffer.concat(Array.from(this.buffer),this[hi])])),this[VW](e||null,this.buffer.head.value))}finally{this[th]()}}[VW](e,r){return e===r.length||e===null?this[RS]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[hi]-=e),this.emit("data",r),!this.buffer.length&&!this[no]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[no]=!0,this.writable=!1,(this.flowing||!this[rh])&&this[th](),this}[ih](){this[Zr]||(this[rh]=!1,this[$I]=!0,this.emit("resume"),this.buffer.length?this[FS]():this[no]?this[th]():this.emit("drain"))}resume(){return this[ih]()}pause(){this[$I]=!1,this[rh]=!0}get destroyed(){return this[Zr]}get flowing(){return this[$I]}get paused(){return this[rh]}[ZW](e){return this[Xr]?this[hi]+=1:this[hi]+=e.length,this.buffer.push(e)}[RS](){return this.buffer.length&&(this[Xr]?this[hi]-=1:this[hi]-=this.buffer.head.value.length),this.buffer.shift()}[FS](e){do;while(this[XW](this[RS]()));!e&&!this.buffer.length&&!this[no]&&this.emit("drain")}[XW](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Zr])return;let i=this[oa];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[ih]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[ih](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[ih]():$W(e)&&this[oa]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[oa]}[th](){!this[ZI]&&!this[oa]&&!this[Zr]&&this.buffer.length===0&&this[no]&&(this[ZI]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[_I]&&this.emit("close"),this[ZI]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Zr&&this[Zr])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[oa]===!0)return;this[oa]=!0,this.readable=!1,this[so]&&(r=this[so].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[_I]=!0,!this[oa]&&!this[Zr]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[Xr]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Xr]?Promise.reject(new Error("cannot concat in objectMode")):this[Pi]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Zr,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[WQe](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[no])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[no]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Zr,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[zQe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Zr]?(e?this.emit("error",e):this.emit(Zr),this):(this[Zr]=!0,this.buffer=new eh,this[hi]=0,typeof this.close=="function"&&!this[_I]&&this.close(),e?this.emit("error",e):this.emit(Zr),this)}static isStream(e){return!!e&&(e instanceof e3||e instanceof WW||e instanceof JQe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var r3=C((i_e,t3)=>{var ZQe=require("zlib").constants||{ZLIB_VERNUM:4736};t3.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},ZQe))});var YS=C(Ji=>{"use strict";var NS=require("assert"),aa=require("buffer").Buffer,i3=require("zlib"),MA=Ji.constants=r3(),_Qe=Fc(),n3=aa.concat,TA=Symbol("_superWrite"),nh=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},$Qe=Symbol("opts"),sh=Symbol("flushFlag"),s3=Symbol("finishFlushFlag"),LS=Symbol("fullFlushFlag"),Nt=Symbol("handle"),eE=Symbol("onError"),Rc=Symbol("sawError"),MS=Symbol("level"),TS=Symbol("strategy"),OS=Symbol("ended"),n_e=Symbol("_defaultFullFlush"),KS=class extends _Qe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[Rc]=!1,this[OS]=!1,this[$Qe]=e,this[sh]=e.flush,this[s3]=e.finishFlush;try{this[Nt]=new i3[r](e)}catch(i){throw new nh(i)}this[eE]=i=>{this[Rc]||(this[Rc]=!0,this.close(),this.emit("error",i))},this[Nt].on("error",i=>this[eE](new nh(i))),this.once("end",()=>this.close)}close(){this[Nt]&&(this[Nt].close(),this[Nt]=null,this.emit("close"))}reset(){if(!this[Rc])return NS(this[Nt],"zlib binding closed"),this[Nt].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[LS]),this.write(Object.assign(aa.alloc(0),{[sh]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[s3]),this[OS]=!0,super.end(null,null,i)}get ended(){return this[OS]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=aa.from(e,r)),this[Rc])return;NS(this[Nt],"zlib binding closed");let n=this[Nt]._handle,s=n.close;n.close=()=>{};let o=this[Nt].close;this[Nt].close=()=>{},aa.concat=c=>c;let a;try{let c=typeof e[sh]=="number"?e[sh]:this[sh];a=this[Nt]._processChunk(e,c),aa.concat=n3}catch(c){aa.concat=n3,this[eE](new nh(c))}finally{this[Nt]&&(this[Nt]._handle=n,n.close=s,this[Nt].close=o,this[Nt].removeAllListeners("error"))}this[Nt]&&this[Nt].on("error",c=>this[eE](new nh(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[TA](aa.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[Nt].params(e,r)}finally{this[Nt].flush=i}this[Nt]&&(this[MS]=e,this[TS]=r)}}}},o3=class extends Aa{constructor(e){super(e,"Deflate")}},a3=class extends Aa{constructor(e){super(e,"Inflate")}},US=Symbol("_portable"),A3=class extends Aa{constructor(e){super(e,"Gzip");this[US]=e&&!!e.portable}[TA](e){return this[US]?(this[US]=!1,e[9]=255,super[TA](e)):super[TA](e)}},l3=class extends Aa{constructor(e){super(e,"Gunzip")}},c3=class extends Aa{constructor(e){super(e,"DeflateRaw")}},u3=class extends Aa{constructor(e){super(e,"InflateRaw")}},g3=class extends Aa{constructor(e){super(e,"Unzip")}},HS=class extends KS{constructor(e,r){e=e||{},e.flush=e.flush||MA.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||MA.BROTLI_OPERATION_FINISH,super(e,r),this[LS]=MA.BROTLI_OPERATION_FLUSH}},f3=class extends HS{constructor(e){super(e,"BrotliCompress")}},h3=class extends HS{constructor(e){super(e,"BrotliDecompress")}};Ji.Deflate=o3;Ji.Inflate=a3;Ji.Gzip=A3;Ji.Gunzip=l3;Ji.DeflateRaw=c3;Ji.InflateRaw=u3;Ji.Unzip=g3;typeof i3.BrotliCompress=="function"?(Ji.BrotliCompress=f3,Ji.BrotliDecompress=h3):Ji.BrotliCompress=Ji.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var oh=C(tE=>{"use strict";tE.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);tE.code=new Map(Array.from(tE.name).map(t=>[t[1],t[0]]))});var ah=C((l_e,p3)=>{"use strict";var a_e=oh(),e0e=Fc(),jS=Symbol("slurp");p3.exports=class extends e0e{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[jS](r),i&&this[jS](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[jS](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var m3=C(GS=>{"use strict";var c_e=GS.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?r0e(t,e):t0e(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},t0e=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},r0e=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=d3(n):n===0?e[i-1]=0:(r=!0,e[i-1]=C3(n))}},u_e=GS.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=n0e(t.slice(1,t.length));else if(r===255)i=i0e(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},i0e=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=d3(s):s===0?o=s:(i=!0,o=C3(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},n0e=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},d3=t=>(255^t)&255,C3=t=>(255^t)+1&255});var Lc=C((f_e,I3)=>{"use strict";var qS=oh(),Nc=require("path").posix,E3=m3(),JS=Symbol("slurp"),Wi=Symbol("type"),y3=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Wi]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=OA(e,r,100),this.mode=la(e,r+100,8),this.uid=la(e,r+108,8),this.gid=la(e,r+116,8),this.size=la(e,r+124,12),this.mtime=WS(e,r+136,12),this.cksum=la(e,r+148,12),this[JS](i),this[JS](n,!0),this[Wi]=OA(e,r+156,1),this[Wi]===""&&(this[Wi]="0"),this[Wi]==="0"&&this.path.substr(-1)==="/"&&(this[Wi]="5"),this[Wi]==="5"&&(this.size=0),this.linkpath=OA(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=OA(e,r+265,32),this.gname=OA(e,r+297,32),this.devmaj=la(e,r+329,8),this.devmin=la(e,r+337,8),e[r+475]!==0){let o=OA(e,r+345,155);this.path=o+"/"+this.path}else{let o=OA(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=WS(e,r+476,12),this.ctime=WS(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=s0e(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=KA(e,r,100,s)||this.needPax,this.needPax=ca(e,r+100,8,this.mode)||this.needPax,this.needPax=ca(e,r+108,8,this.uid)||this.needPax,this.needPax=ca(e,r+116,8,this.gid)||this.needPax,this.needPax=ca(e,r+124,12,this.size)||this.needPax,this.needPax=zS(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Wi].charCodeAt(0),this.needPax=KA(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=KA(e,r+265,32,this.uname)||this.needPax,this.needPax=KA(e,r+297,32,this.gname)||this.needPax,this.needPax=ca(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ca(e,r+337,8,this.devmin)||this.needPax,this.needPax=KA(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=KA(e,r+345,155,o)||this.needPax:(this.needPax=KA(e,r+345,130,o)||this.needPax,this.needPax=zS(e,r+476,12,this.atime)||this.needPax,this.needPax=zS(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Nc.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Nc.join(Nc.basename(n),i),n=Nc.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},OA=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),WS=(t,e,r)=>o0e(la(t,e,r)),o0e=t=>t===null?null:new Date(t*1e3),la=(t,e,r)=>t[e]&128?E3.parse(t.slice(e,e+r)):a0e(t,e,r),A0e=t=>isNaN(t)?null:t,a0e=(t,e,r)=>A0e(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),l0e={12:8589934591,8:2097151},ca=(t,e,r,i)=>i===null?!1:i>l0e[r]||i<0?(E3.encode(i,t.slice(e,e+r)),!0):(c0e(t,e,r,i),!1),c0e=(t,e,r,i)=>t.write(u0e(i,r),e,r,"ascii"),u0e=(t,e)=>g0e(Math.floor(t).toString(8),e),g0e=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",zS=(t,e,r,i)=>i===null?!1:ca(t,e,r,i.getTime()/1e3),f0e=new Array(156).join("\0"),KA=(t,e,r,i)=>i===null?!1:(t.write(i+f0e,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);I3.exports=y3});var iE=C((h_e,B3)=>{"use strict";var h0e=Lc(),p0e=require("path"),rE=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new h0e({path:("PaxHeader/"+p0e.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};rE.parse=(t,e,r)=>new rE(d0e(C0e(t),e),r);var d0e=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,C0e=t=>t.replace(/\n$/,"").split(` -`).reduce(m0e,Object.create(null)),m0e=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};B3.exports=rE});var nE=C((p_e,w3)=>{"use strict";w3.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var XS=C((d_e,Q3)=>{"use strict";var sE=["|","<",">","?",":"],VS=sE.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),I0e=new Map(sE.map((t,e)=>[t,VS[e]])),E0e=new Map(VS.map((t,e)=>[t,sE[e]]));Q3.exports={encode:t=>sE.reduce((e,r)=>e.split(r).join(I0e.get(r)),t),decode:t=>VS.reduce((e,r)=>e.split(r).join(E0e.get(r)),t)}});var D3=C((C_e,b3)=>{"use strict";b3.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var ix=C((B_e,S3)=>{"use strict";var x3=Fc(),k3=iE(),v3=Lc(),m_e=ah(),us=require("fs"),Mc=require("path"),I_e=oh(),y0e=16*1024*1024,P3=Symbol("process"),F3=Symbol("file"),R3=Symbol("directory"),ZS=Symbol("symlink"),N3=Symbol("hardlink"),Ah=Symbol("header"),oE=Symbol("read"),_S=Symbol("lstat"),aE=Symbol("onlstat"),$S=Symbol("onread"),ex=Symbol("onreadlink"),tx=Symbol("openfile"),rx=Symbol("onopenfile"),UA=Symbol("close"),AE=Symbol("mode"),L3=nE(),B0e=XS(),M3=D3(),lE=L3(class extends x3{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||y0e,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&Mc.win32.isAbsolute(e)){let n=Mc.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=B0e.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||Mc.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[aE](this.statCache.get(this.absolute)):this[_S]()}[_S](){us.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[aE](r)})}[aE](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=w0e(e),this.emit("stat",e),this[P3]()}[P3](){switch(this.type){case"File":return this[F3]();case"Directory":return this[R3]();case"SymbolicLink":return this[ZS]();default:return this.end()}}[AE](e){return M3(e,this.type==="Directory",this.portable)}[Ah](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this[AE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new k3({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[R3](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ah](),this.end()}[ZS](){us.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ex](r)})}[ex](e){this.linkpath=e.replace(/\\/g,"/"),this[Ah](),this.end()}[N3](e){this.type="Link",this.linkpath=Mc.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[Ah](),this.end()}[F3](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[N3](r)}this.linkCache.set(e,this.absolute)}if(this[Ah](),this.stat.size===0)return this.end();this[tx]()}[tx](){us.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[rx](r)})}[rx](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[oE](e,n,0,n.length,0,this.stat.size,r)}[oE](e,r,i,n,s,o,a){us.read(e,r,i,n,s,(l,c)=>{if(l)return this[UA](e,()=>this.emit("error",l));this[$S](e,r,i,n,s,o,a,c)})}[UA](e,r){us.close(e,r)}[$S](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[UA](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[UA](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[oE](e,r,i,n,s,o,a)}}),T3=class extends lE{constructor(e,r){super(e,r)}[_S](){this[aE](us.lstatSync(this.absolute))}[ZS](){this[ex](us.readlinkSync(this.absolute))}[tx](){this[rx](us.openSync(this.absolute,"r"))}[oE](e,r,i,n,s,o,a){let l=!0;try{let c=us.readSync(e,r,i,n,s);this[$S](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[UA](e,()=>{})}catch(c){}}}[UA](e,r){us.closeSync(e),r()}},Q0e=L3(class extends x3{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[AE](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(Mc.isAbsolute(this.path)&&!this.preservePaths){let n=Mc.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new v3({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new k3({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[AE](e){return M3(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});lE.Sync=T3;lE.Tar=Q0e;var w0e=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";S3.exports=lE});var CE=C((Q_e,O3)=>{"use strict";var nx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},b0e=Fc(),D0e=YS(),S0e=ah(),sx=ix(),x0e=sx.Sync,k0e=sx.Tar,v0e=_g(),K3=Buffer.alloc(1024),cE=Symbol("onStat"),uE=Symbol("ended"),gs=Symbol("queue"),Tc=Symbol("current"),HA=Symbol("process"),gE=Symbol("processing"),U3=Symbol("processJob"),fs=Symbol("jobs"),ox=Symbol("jobDone"),fE=Symbol("addFSEntry"),H3=Symbol("addTarEntry"),ax=Symbol("stat"),Ax=Symbol("readdir"),hE=Symbol("onreaddir"),pE=Symbol("pipe"),Y3=Symbol("entry"),lx=Symbol("entryOpt"),cx=Symbol("writeEntryClass"),j3=Symbol("write"),ux=Symbol("ondrain"),dE=require("fs"),G3=require("path"),P0e=nE(),gx=P0e(class extends b0e{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[cx]=sx,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new D0e.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[ux]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[ux]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[gs]=new v0e,this[fs]=0,this.jobs=+e.jobs||4,this[gE]=!1,this[uE]=!1}[j3](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[uE]=!0,this[HA](),this}write(e){if(this[uE])throw new Error("write after end");return e instanceof S0e?this[H3](e):this[fE](e),this.flowing}[H3](e){let r=G3.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new nx(e.path,r,!1);i.entry=new k0e(e,this[lx](i)),i.entry.on("end",n=>this[ox](i)),this[fs]+=1,this[gs].push(i)}this[HA]()}[fE](e){let r=G3.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[gs].push(new nx(e,r)),this[HA]()}[ax](e){e.pending=!0,this[fs]+=1;let r=this.follow?"stat":"lstat";dE[r](e.absolute,(i,n)=>{e.pending=!1,this[fs]-=1,i?this.emit("error",i):this[cE](e,n)})}[cE](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[HA]()}[Ax](e){e.pending=!0,this[fs]+=1,dE.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[fs]-=1,r)return this.emit("error",r);this[hE](e,i)})}[hE](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[HA]()}[HA](){if(!this[gE]){this[gE]=!0;for(let e=this[gs].head;e!==null&&this[fs]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[Y3](e){this[fs]+=1;try{return new this[cx](e.path,this[lx](e)).on("end",()=>this[ox](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[ux](){this[Tc]&&this[Tc].entry&&this[Tc].entry.resume()}[pE](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),q3=class extends gx{constructor(e){super(e);this[cx]=x0e}pause(){}resume(){}[ax](e){let r=this.follow?"statSync":"lstatSync";this[cE](e,dE[r](e.absolute))}[Ax](e,r){this[hE](e,dE.readdirSync(e.absolute))}[pE](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[fE](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[j3](n)})}};gx.Sync=q3;O3.exports=gx});var jc=C(lh=>{"use strict";var F0e=Fc(),R0e=require("events").EventEmitter,Cn=require("fs"),mE=process.binding("fs"),b_e=mE.writeBuffers,N0e=mE.FSReqWrap||mE.FSReqCallback,Oc=Symbol("_autoClose"),hs=Symbol("_close"),ch=Symbol("_ended"),Pt=Symbol("_fd"),J3=Symbol("_finished"),YA=Symbol("_flags"),fx=Symbol("_flush"),hx=Symbol("_handleChunk"),px=Symbol("_makeBuf"),dx=Symbol("_mode"),IE=Symbol("_needDrain"),Kc=Symbol("_onerror"),Uc=Symbol("_onopen"),Cx=Symbol("_onread"),jA=Symbol("_onwrite"),ua=Symbol("_open"),ga=Symbol("_path"),GA=Symbol("_pos"),ps=Symbol("_queue"),Hc=Symbol("_read"),W3=Symbol("_readSize"),fa=Symbol("_reading"),EE=Symbol("_remain"),z3=Symbol("_size"),yE=Symbol("_write"),Yc=Symbol("_writing"),BE=Symbol("_defaultFlag"),mx=class extends F0e{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[Pt]=typeof r.fd=="number"?r.fd:null,this[ga]=e,this[W3]=r.readSize||16*1024*1024,this[fa]=!1,this[z3]=typeof r.size=="number"?r.size:Infinity,this[EE]=this[z3],this[Oc]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[Pt]=="number"?this[Hc]():this[ua]()}get fd(){return this[Pt]}get path(){return this[ga]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ua](){Cn.open(this[ga],"r",(e,r)=>this[Uc](e,r))}[Uc](e,r){e?this[Kc](e):(this[Pt]=r,this.emit("open",r),this[Hc]())}[px](){return Buffer.allocUnsafe(Math.min(this[W3],this[EE]))}[Hc](){if(!this[fa]){this[fa]=!0;let e=this[px]();if(e.length===0)return process.nextTick(()=>this[Cx](null,0,e));Cn.read(this[Pt],e,0,e.length,null,(r,i,n)=>this[Cx](r,i,n))}}[Cx](e,r,i){this[fa]=!1,e?this[Kc](e):this[hx](r,i)&&this[Hc]()}[hs](){this[Oc]&&typeof this[Pt]=="number"&&(Cn.close(this[Pt],e=>this.emit("close")),this[Pt]=null)}[Kc](e){this[fa]=!0,this[hs](),this.emit("error",e)}[hx](e,r){let i=!1;return this[EE]-=e,e>0&&(i=super.write(ethis[Uc](e,r))}[Uc](e,r){this[BE]&&this[YA]==="r+"&&e&&e.code==="ENOENT"?(this[YA]="w",this[ua]()):e?this[Kc](e):(this[Pt]=r,this.emit("open",r),this[fx]())}end(e,r){e&&this.write(e,r),this[ch]=!0,!this[Yc]&&!this[ps].length&&typeof this[Pt]=="number"&&this[jA](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[ch]?(this.emit("error",new Error("write() after end()")),!1):this[Pt]===null||this[Yc]||this[ps].length?(this[ps].push(e),this[IE]=!0,!1):(this[Yc]=!0,this[yE](e),!0)}[yE](e){Cn.write(this[Pt],e,0,e.length,this[GA],(r,i)=>this[jA](r,i))}[jA](e,r){e?this[Kc](e):(this[GA]!==null&&(this[GA]+=r),this[ps].length?this[fx]():(this[Yc]=!1,this[ch]&&!this[J3]?(this[J3]=!0,this[hs](),this.emit("finish")):this[IE]&&(this[IE]=!1,this.emit("drain"))))}[fx](){if(this[ps].length===0)this[ch]&&this[jA](null,0);else if(this[ps].length===1)this[yE](this[ps].pop());else{let e=this[ps];this[ps]=[],L0e(this[Pt],e,this[GA],(r,i)=>this[jA](r,i))}}[hs](){this[Oc]&&typeof this[Pt]=="number"&&(Cn.close(this[Pt],e=>this.emit("close")),this[Pt]=null)}},X3=class extends Ix{[ua](){let e;try{e=Cn.openSync(this[ga],this[YA],this[dx])}catch(r){if(this[BE]&&this[YA]==="r+"&&r&&r.code==="ENOENT")return this[YA]="w",this[ua]();throw r}this[Uc](null,e)}[hs](){if(this[Oc]&&typeof this[Pt]=="number"){try{Cn.closeSync(this[Pt])}catch(e){}this[Pt]=null,this.emit("close")}}[yE](e){try{this[jA](null,Cn.writeSync(this[Pt],e,0,e.length,this[GA]))}catch(r){this[jA](r,0)}}},L0e=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new N0e;s.oncomplete=n,mE.writeBuffers(t,e,r,s)};lh.ReadStream=mx;lh.ReadStreamSync=V3;lh.WriteStream=Ix;lh.WriteStreamSync=X3});var fh=C((k_e,Z3)=>{"use strict";var M0e=nE(),S_e=require("path"),T0e=Lc(),O0e=require("events"),K0e=_g(),U0e=1024*1024,H0e=ah(),_3=iE(),Y0e=YS(),Ex=Buffer.from([31,139]),mn=Symbol("state"),qA=Symbol("writeEntry"),oo=Symbol("readEntry"),yx=Symbol("nextEntry"),$3=Symbol("processEntry"),In=Symbol("extendedHeader"),uh=Symbol("globalExtendedHeader"),ha=Symbol("meta"),e8=Symbol("emitMeta"),Yt=Symbol("buffer"),ao=Symbol("queue"),JA=Symbol("ended"),t8=Symbol("emittedEnd"),WA=Symbol("emit"),Fi=Symbol("unzip"),wE=Symbol("consumeChunk"),QE=Symbol("consumeChunkSub"),Bx=Symbol("consumeBody"),r8=Symbol("consumeMeta"),i8=Symbol("consumeHeader"),bE=Symbol("consuming"),wx=Symbol("bufferConcat"),Qx=Symbol("maybeEnd"),gh=Symbol("writing"),pa=Symbol("aborted"),DE=Symbol("onDone"),zA=Symbol("sawValidEntry"),SE=Symbol("sawNullBlock"),xE=Symbol("sawEOF"),j0e=t=>!0;Z3.exports=M0e(class extends O0e{constructor(e){e=e||{},super(e),this.file=e.file||"",this[zA]=null,this.on(DE,r=>{(this[mn]==="begin"||this[zA]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(DE,e.ondone):this.on(DE,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||U0e,this.filter=typeof e.filter=="function"?e.filter:j0e,this.writable=!0,this.readable=!1,this[ao]=new K0e,this[Yt]=null,this[oo]=null,this[qA]=null,this[mn]="begin",this[ha]="",this[In]=null,this[uh]=null,this[JA]=!1,this[Fi]=null,this[pa]=!1,this[SE]=!1,this[xE]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[i8](e,r){this[zA]===null&&(this[zA]=!1);let i;try{i=new T0e(e,r,this[In],this[uh])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[SE]?(this[xE]=!0,this[mn]==="begin"&&(this[mn]="header"),this[WA]("eof")):(this[SE]=!0,this[WA]("nullBlock"));else if(this[SE]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[qA]=new H0e(i,this[In],this[uh]);if(!this[zA])if(s.remain){let o=()=>{s.invalid||(this[zA]=!0)};s.on("end",o)}else this[zA]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[WA]("ignoredEntry",s),this[mn]="ignore",s.resume()):s.size>0&&(this[ha]="",s.on("data",o=>this[ha]+=o),this[mn]="meta"):(this[In]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[WA]("ignoredEntry",s),this[mn]=s.remain?"ignore":"header",s.resume()):(s.remain?this[mn]="body":(this[mn]="header",s.end()),this[oo]?this[ao].push(s):(this[ao].push(s),this[yx]())))}}}[$3](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[oo]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[yx]()),r=!1)):(this[oo]=null,r=!1),r}[yx](){do;while(this[$3](this[ao].shift()));if(!this[ao].length){let e=this[oo];!e||e.flowing||e.size===e.remain?this[gh]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[Bx](e,r){let i=this[qA],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[mn]="header",this[qA]=null,i.end()),s.length}[r8](e,r){let i=this[qA],n=this[Bx](e,r);return this[qA]||this[e8](i),n}[WA](e,r,i){!this[ao].length&&!this[oo]?this.emit(e,r,i):this[ao].push([e,r,i])}[e8](e){switch(this[WA]("meta",this[ha]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[In]=_3.parse(this[ha],this[In],!1);break;case"GlobalExtendedHeader":this[uh]=_3.parse(this[ha],this[uh],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[In]=this[In]||Object.create(null),this[In].path=this[ha].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[In]=this[In]||Object.create(null),this[In].linkpath=this[ha].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[pa]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[pa])return;if(this[Fi]===null&&e){if(this[Yt]&&(e=Buffer.concat([this[Yt],e]),this[Yt]=null),e.lengththis[wE](s)),this[Fi].on("error",s=>this.abort(s)),this[Fi].on("end",s=>{this[JA]=!0,this[wE]()}),this[gh]=!0;let n=this[Fi][i?"end":"write"](e);return this[gh]=!1,n}}this[gh]=!0,this[Fi]?this[Fi].write(e):this[wE](e),this[gh]=!1;let r=this[ao].length?!1:this[oo]?this[oo].flowing:!0;return!r&&!this[ao].length&&this[oo].once("drain",i=>this.emit("drain")),r}[wx](e){e&&!this[pa]&&(this[Yt]=this[Yt]?Buffer.concat([this[Yt],e]):e)}[Qx](){if(this[JA]&&!this[t8]&&!this[pa]&&!this[bE]){this[t8]=!0;let e=this[qA];if(e&&e.blockRemain){let r=this[Yt]?this[Yt].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[Yt]&&e.write(this[Yt]),e.end()}this[WA](DE)}}[wE](e){if(this[bE])this[wx](e);else if(!e&&!this[Yt])this[Qx]();else{if(this[bE]=!0,this[Yt]){this[wx](e);let r=this[Yt];this[Yt]=null,this[QE](r)}else this[QE](e);for(;this[Yt]&&this[Yt].length>=512&&!this[pa]&&!this[xE];){let r=this[Yt];this[Yt]=null,this[QE](r)}this[bE]=!1}(!this[Yt]||this[JA])&&this[Qx]()}[QE](e){let r=0,i=e.length;for(;r+512<=i&&!this[pa]&&!this[xE];)switch(this[mn]){case"begin":case"header":this[i8](e,r),r+=512;break;case"ignore":case"body":r+=this[Bx](e,r);break;case"meta":r+=this[r8](e,r);break;default:throw new Error("invalid state: "+this[mn])}r{"use strict";var G0e=Pc(),s8=fh(),Gc=require("fs"),q0e=jc(),o8=require("path"),v_e=n8.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=G0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&W0e(i,e),i.noResume||J0e(i),i.file&&i.sync?z0e(i):i.file?V0e(i,r):a8(i)},J0e=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},W0e=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||o8.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(o8.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},z0e=t=>{let e=a8(t),r=t.file,i=!0,n;try{let s=Gc.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new s8(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),Gc.stat(n,(l,c)=>{if(l)a(l);else{let u=new q0e.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},a8=t=>new s8(t)});var f8=C((N_e,A8)=>{"use strict";var X0e=Pc(),vE=CE(),F_e=require("fs"),l8=jc(),c8=kE(),u8=require("path"),R_e=A8.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=X0e(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?Z0e(i,e):i.file?_0e(i,e,r):i.sync?$0e(i,e):ebe(i,e)},Z0e=(t,e)=>{let r=new vE.Sync(t),i=new l8.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),g8(r,e)},_0e=(t,e,r)=>{let i=new vE(t),n=new l8.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return bx(i,e),r?s.then(r,r):s},g8=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?c8({file:u8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},bx=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return c8({file:u8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>bx(t,e));t.add(r)}t.end()},$0e=(t,e)=>{let r=new vE.Sync(t);return g8(r,e),r},ebe=(t,e)=>{let r=new vE(t);return bx(r,e),r}});var Dx=C((T_e,h8)=>{"use strict";var tbe=Pc(),p8=CE(),L_e=fh(),En=require("fs"),d8=jc(),C8=kE(),m8=require("path"),I8=Lc(),M_e=h8.exports=(t,e,r)=>{let i=tbe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?rbe(i,e):ibe(i,e,r)},rbe=(t,e)=>{let r=new p8.Sync(t),i=!0,n,s;try{try{n=En.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=En.openSync(t.file,"w+");else throw l}let o=En.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,nbe(t,r,s,n,e)}finally{if(i)try{En.closeSync(n)}catch(o){}}},nbe=(t,e,r,i,n)=>{let s=new d8.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),sbe(e,n)},ibe=(t,e,r)=>{e=Array.from(e);let i=new p8(t),n=(o,a,l)=>{let c=(p,m)=>{p?En.close(o,I=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return En.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let I=new I8(f);if(!I.cksumValid)return c(null,u);let y=512*Math.ceil(I.size/512);if(u+y+512>a||(u+=y+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(I.path,I.mtime),g=0,En.read(o,f,0,512,u,h)};En.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",En.open(t.file,l,c);if(u)return a(u);En.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let I=new d8.WriteStream(t.file,{fd:g,start:m});i.pipe(I),I.on("error",a),I.on("close",o),E8(i,e)})})};En.open(t.file,l,c)});return r?s.then(r,r):s},sbe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?C8({file:m8.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},E8=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return C8({file:m8.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>E8(t,e));t.add(r)}t.end()}});var B8=C((K_e,y8)=>{"use strict";var obe=Pc(),abe=Dx(),O_e=y8.exports=(t,e,r)=>{let i=obe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),Abe(i),abe(i,e,r)},Abe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var b8=C((U_e,w8)=>{var{promisify:Q8}=require("util"),da=require("fs"),lbe=t=>{if(!t)t={mode:511,fs:da};else if(typeof t=="object")t=v({mode:511,fs:da},t);else if(typeof t=="number")t={mode:t,fs:da};else if(typeof t=="string")t={mode:parseInt(t,8),fs:da};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||da.mkdir,t.mkdirAsync=Q8(t.mkdir),t.stat=t.stat||t.fs.stat||da.stat,t.statAsync=Q8(t.stat),t.statSync=t.statSync||t.fs.statSync||da.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||da.mkdirSync,t};w8.exports=lbe});var S8=C((H_e,D8)=>{var cbe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:ube,parse:gbe}=require("path"),fbe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=ube(t),cbe==="win32"){let e=/[*|"<>?:]/,{root:r}=gbe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};D8.exports=fbe});var F8=C((Y_e,x8)=>{var{dirname:k8}=require("path"),v8=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?v8(t,k8(e),e):void 0),P8=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?P8(t,k8(e),e):void 0}};x8.exports={findMade:v8,findMadeSync:P8}});var kx=C((j_e,R8)=>{var{dirname:N8}=require("path"),Sx=(t,e,r)=>{e.recursive=!1;let i=N8(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return Sx(i,e).then(s=>Sx(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},xx=(t,e,r)=>{let i=N8(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return xx(t,e,xx(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};R8.exports={mkdirpManual:Sx,mkdirpManualSync:xx}});var T8=C((G_e,L8)=>{var{dirname:M8}=require("path"),{findMade:hbe,findMadeSync:pbe}=F8(),{mkdirpManual:dbe,mkdirpManualSync:Cbe}=kx(),mbe=(t,e)=>(e.recursive=!0,M8(t)===t?e.mkdirAsync(t,e):hbe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return dbe(t,e);throw n}))),Ibe=(t,e)=>{if(e.recursive=!0,M8(t)===t)return e.mkdirSync(t,e);let i=pbe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return Cbe(t,e);throw n}};L8.exports={mkdirpNative:mbe,mkdirpNativeSync:Ibe}});var H8=C((q_e,O8)=>{var K8=require("fs"),Ebe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,vx=Ebe.replace(/^v/,"").split("."),U8=+vx[0]>10||+vx[0]==10&&+vx[1]>=12,ybe=U8?t=>t.mkdir===K8.mkdir:()=>!1,Bbe=U8?t=>t.mkdirSync===K8.mkdirSync:()=>!1;O8.exports={useNative:ybe,useNativeSync:Bbe}});var W8=C((J_e,Y8)=>{var qc=b8(),Jc=S8(),{mkdirpNative:j8,mkdirpNativeSync:G8}=T8(),{mkdirpManual:q8,mkdirpManualSync:J8}=kx(),{useNative:wbe,useNativeSync:Qbe}=H8(),Wc=(t,e)=>(t=Jc(t),e=qc(e),wbe(e)?j8(t,e):q8(t,e)),bbe=(t,e)=>(t=Jc(t),e=qc(e),Qbe(e)?G8(t,e):J8(t,e));Wc.sync=bbe;Wc.native=(t,e)=>j8(Jc(t),qc(e));Wc.manual=(t,e)=>q8(Jc(t),qc(e));Wc.nativeSync=(t,e)=>G8(Jc(t),qc(e));Wc.manualSync=(t,e)=>J8(Jc(t),qc(e));Y8.exports=Wc});var e4=C((W_e,z8)=>{"use strict";var yn=require("fs"),VA=require("path"),Dbe=yn.lchown?"lchown":"chown",Sbe=yn.lchownSync?"lchownSync":"chownSync",V8=yn.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),X8=(t,e,r)=>{try{return yn[Sbe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},xbe=(t,e,r)=>{try{return yn.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},kbe=V8?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):yn.chown(t,e,r,i)}:(t,e,r,i)=>i,Px=V8?(t,e,r)=>{try{return X8(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;xbe(t,e,r)}}:(t,e,r)=>X8(t,e,r),vbe=process.version,Z8=(t,e,r)=>yn.readdir(t,e,r),Pbe=(t,e)=>yn.readdirSync(t,e);/^v4\./.test(vbe)&&(Z8=(t,e,r)=>yn.readdir(t,r));var PE=(t,e,r,i)=>{yn[Dbe](t,e,r,kbe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},_8=(t,e,r,i,n)=>{if(typeof e=="string")return yn.lstat(VA.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,_8(t,o,r,i,n)});if(e.isDirectory())Fx(VA.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=VA.resolve(t,e.name);PE(o,r,i,n)});else{let s=VA.resolve(t,e.name);PE(s,r,i,n)}},Fx=(t,e,r,i)=>{Z8(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return PE(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return PE(t,e,r,i)}};s.forEach(c=>_8(t,c,e,r,l))})},Fbe=(t,e,r,i)=>{if(typeof e=="string")try{let n=yn.lstatSync(VA.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&$8(VA.resolve(t,e.name),r,i),Px(VA.resolve(t,e.name),r,i)},$8=(t,e,r)=>{let i;try{i=Pbe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return Px(t,e,r);throw n}return i&&i.length&&i.forEach(n=>Fbe(t,n,e,r)),Px(t,e,r)};z8.exports=Fx;Fx.sync=$8});var n4=C((X_e,Rx)=>{"use strict";var t4=W8(),Bn=require("fs"),FE=require("path"),r4=e4(),Nx=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},hh=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},z_e=Rx.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(I,y)=>{I?r(I):(g.set(t,!0),y&&l?r4(y,o,a,B=>h(B)):s?Bn.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Bn.stat(t,(I,y)=>{(I||!y.isDirectory())&&(I=new hh(t,I&&I.code||"ENOTDIR")),h(I)});if(c)return t4(t,{mode:n}).then(I=>h(null,I),h);let m=FE.relative(f,t).split(/\/|\\/);RE(f,m,n,g,u,f,null,h)},RE=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return RE(c,e,r,i,n,s,o,a);Bn.mkdir(c,r,i4(c,e,r,i,n,s,o,a))},i4=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&FE.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new hh(s,l.code));Bn.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())RE(t,e,r,i,n,s,o,a);else if(n)Bn.unlink(t,g=>{if(g)return a(g);Bn.mkdir(t,r,i4(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new Nx(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,RE(t,e,r,i,n,s,o,a)},V_e=Rx.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=I=>{u.set(t,!0),I&&a&&r4.sync(I,s,o),n&&Bn.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let I=!1,y="ENOTDIR";try{I=Bn.statSync(t).isDirectory()}catch(B){y=B.code}finally{if(!I)throw new hh(t,y)}f();return}if(l)return f(t4.sync(t,i));let p=FE.relative(g,t).split(/\/|\\/),m=null;for(let I=p.shift(),y=g;I&&(y+="/"+I);I=p.shift())if(!u.get(y))try{Bn.mkdirSync(y,i),m=m||y,u.set(y,!0)}catch(B){if(B.path&&FE.dirname(B.path)===g&&(B.code==="ENOTDIR"||B.code==="ENOENT"))return new hh(g,B.code);let x=Bn.lstatSync(y);if(x.isDirectory()){u.set(y,!0);continue}else if(c){Bn.unlinkSync(y),Bn.mkdirSync(y,i),m=m||y,u.set(y,!0);continue}else if(x.isSymbolicLink())return new Nx(y,y+"/"+p.join("/"))}return f(m)}});var a4=C((Z_e,s4)=>{var o4=require("assert");s4.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=t.get(p);o4.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(I=>h.add(I)))}),f.forEach(p=>{let m=t.get(p);o4(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var c4=C((__e,A4)=>{var Rbe=process.env.__FAKE_PLATFORM__||process.platform,Nbe=Rbe==="win32",Lbe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:Mbe,O_TRUNC:Tbe,O_WRONLY:Obe,UV_FS_O_FILEMAP:l4=0}=Lbe.constants,Kbe=Nbe&&!!l4,Ube=512*1024,Hbe=l4|Tbe|Mbe|Obe;A4.exports=Kbe?t=>t"w"});var jx=C((r$e,u4)=>{"use strict";var Ybe=require("assert"),$_e=require("events").EventEmitter,jbe=fh(),bt=require("fs"),Gbe=jc(),Ao=require("path"),Lx=n4(),e$e=Lx.sync,g4=XS(),qbe=a4(),f4=Symbol("onEntry"),Mx=Symbol("checkFs"),h4=Symbol("checkFs2"),Tx=Symbol("isReusable"),lo=Symbol("makeFs"),Ox=Symbol("file"),Kx=Symbol("directory"),NE=Symbol("link"),p4=Symbol("symlink"),d4=Symbol("hardlink"),C4=Symbol("unsupported"),t$e=Symbol("unknown"),m4=Symbol("checkPath"),zc=Symbol("mkdir"),pi=Symbol("onError"),LE=Symbol("pending"),I4=Symbol("pend"),Vc=Symbol("unpend"),Ux=Symbol("ended"),Hx=Symbol("maybeClose"),Yx=Symbol("skip"),ph=Symbol("doChown"),dh=Symbol("uid"),Ch=Symbol("gid"),E4=require("crypto"),y4=c4(),ME=()=>{throw new Error("sync function called cb somehow?!?")},Jbe=(t,e)=>{if(process.platform!=="win32")return bt.unlink(t,e);let r=t+".DELETE."+E4.randomBytes(16).toString("hex");bt.rename(t,r,i=>{if(i)return e(i);bt.unlink(r,e)})},Wbe=t=>{if(process.platform!=="win32")return bt.unlinkSync(t);let e=t+".DELETE."+E4.randomBytes(16).toString("hex");bt.renameSync(t,e),bt.unlinkSync(e)},B4=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,TE=class extends jbe{constructor(e){if(e||(e={}),e.ondone=r=>{this[Ux]=!0,this[Hx]()},super(e),this.reservations=qbe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[LE]=0,this[Ux]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=Ao.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[f4](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[Hx](){this[Ux]&&this[LE]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[m4](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(Ao.win32.isAbsolute(r)){let i=Ao.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=Ao.win32.parse(e.path);e.path=r.root===""?g4.encode(e.path):r.root+g4.encode(e.path.substr(r.root.length))}return Ao.isAbsolute(e.path)?e.absolute=e.path:e.absolute=Ao.resolve(this.cwd,e.path),!0}[f4](e){if(!this[m4](e))return e.resume();switch(Ybe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Mx](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[C4](e)}}[pi](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Vc](),r.resume())}[zc](e,r,i){Lx(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[ph](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[dh](e){return B4(this.uid,e.uid,this.processUid)}[Ch](e){return B4(this.gid,e.gid,this.processGid)}[Ox](e,r){let i=e.mode&4095||this.fmode,n=new Gbe.WriteStream(e.absolute,{flags:y4(e.size),mode:i,autoClose:!1});n.on("error",l=>this[pi](l,e));let s=1,o=l=>{if(l)return this[pi](l,e);--s==0&&bt.close(n.fd,c=>{r(),c?this[pi](c,e):this[Vc]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;bt.futimes(u,g,f,h=>h?bt.utimes(c,g,f,p=>o(p&&h)):o())}if(this[ph](e)){s++;let g=this[dh](e),f=this[Ch](e);bt.fchown(u,g,f,h=>h?bt.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[pi](l,e)),e.pipe(a)),a.pipe(n)}[Kx](e,r){let i=e.mode&4095||this.dmode;this[zc](e.absolute,i,n=>{if(n)return r(),this[pi](n,e);let s=1,o=a=>{--s==0&&(r(),this[Vc](),e.resume())};e.mtime&&!this.noMtime&&(s++,bt.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[ph](e)&&(s++,bt.chown(e.absolute,this[dh](e),this[Ch](e),o)),o()})}[C4](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[p4](e,r){this[NE](e,e.linkpath,"symlink",r)}[d4](e,r){this[NE](e,Ao.resolve(this.cwd,e.linkpath),"link",r)}[I4](){this[LE]++}[Vc](){this[LE]--,this[Hx]()}[Yx](e){this[Vc](),e.resume()}[Tx](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[Mx](e){this[I4]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[h4](e,i))}[h4](e,r){this[zc](Ao.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[pi](i,e);bt.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[Yx](e),r()):n||this[Tx](e,s)?this[lo](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[lo](null,e,r):bt.chmod(e.absolute,e.mode,o=>this[lo](o,e,r)):bt.rmdir(e.absolute,o=>this[lo](o,e,r)):Jbe(e.absolute,o=>this[lo](o,e,r))})})}[lo](e,r,i){if(e)return this[pi](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[Ox](r,i);case"Link":return this[d4](r,i);case"SymbolicLink":return this[p4](r,i);case"Directory":case"GNUDumpDir":return this[Kx](r,i)}}[NE](e,r,i,n){bt[i](r,e.absolute,s=>{if(s)return this[pi](s,e);n(),this[Vc](),e.resume()})}},w4=class extends TE{constructor(e){super(e)}[Mx](e){let r=this[zc](Ao.dirname(e.absolute),this.dmode,ME);if(r)return this[pi](r,e);try{let i=bt.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[Yx](e);if(this[Tx](e,i))return this[lo](null,e,ME);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&bt.chmodSync(e.absolute,e.mode):bt.rmdirSync(e.absolute):Wbe(e.absolute),this[lo](null,e,ME)}catch(n){return this[pi](n,e)}}catch(i){return this[lo](null,e,ME)}}[Ox](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{bt.closeSync(o)}catch(u){c=u}(l||c)&&this[pi](l||c,e)},s,o;try{o=bt.openSync(e.absolute,y4(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[pi](l,e)),e.pipe(a)),a.on("data",l=>{try{bt.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{bt.futimesSync(o,u,g)}catch(f){try{bt.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[ph](e)){let u=this[dh](e),g=this[Ch](e);try{bt.fchownSync(o,u,g)}catch(f){try{bt.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[Kx](e,r){let i=e.mode&4095||this.dmode,n=this[zc](e.absolute,i);if(n)return this[pi](n,e);if(e.mtime&&!this.noMtime)try{bt.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[ph](e))try{bt.chownSync(e.absolute,this[dh](e),this[Ch](e))}catch(s){}e.resume()}[zc](e,r){try{return Lx.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[NE](e,r,i,n){try{bt[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[pi](s,e)}}};TE.Sync=w4;u4.exports=TE});var x4=C((n$e,Q4)=>{"use strict";var zbe=Pc(),OE=jx(),b4=require("fs"),D4=jc(),S4=require("path"),i$e=Q4.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=zbe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Vbe(i,e),i.file&&i.sync?Xbe(i):i.file?Zbe(i,r):i.sync?_be(i):$be(i)},Vbe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||S4.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(S4.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},Xbe=t=>{let e=new OE.Sync(t),r=t.file,i=!0,n,s=b4.statSync(r),o=t.maxReadSize||16*1024*1024;new D4.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},Zbe=(t,e)=>{let r=new OE(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),b4.stat(n,(l,c)=>{if(l)a(l);else{let u=new D4.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},_be=t=>new OE.Sync(t),$be=t=>new OE(t)});var k4=C(yr=>{"use strict";yr.c=yr.create=f8();yr.r=yr.replace=Dx();yr.t=yr.list=kE();yr.u=yr.update=B8();yr.x=yr.extract=x4();yr.Pack=CE();yr.Unpack=jx();yr.Parse=fh();yr.ReadEntry=ah();yr.WriteEntry=ix();yr.Header=Lc();yr.Pax=iE();yr.types=oh()});var P4=C((o$e,Gx)=>{"use strict";var eDe=Object.prototype.hasOwnProperty,di="~";function mh(){}Object.create&&(mh.prototype=Object.create(null),new mh().__proto__||(di=!1));function tDe(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function v4(t,e,r,i,n){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tDe(r,i||t,n),o=di?di+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function KE(t,e){--t._eventsCount==0?t._events=new mh:delete t._events[e]}function _r(){this._events=new mh,this._eventsCount=0}_r.prototype.eventNames=function(){var e=[],r,i;if(this._eventsCount===0)return e;for(i in r=this._events)eDe.call(r,i)&&e.push(di?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};_r.prototype.listeners=function(e){var r=di?di+e:e,i=this._events[r];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n{"use strict";F4.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(i=>{i(e())}).then(()=>r),r=>new Promise(i=>{i(e())}).then(()=>{throw r})))});var L4=C((A$e,UE)=>{"use strict";var rDe=R4(),qx=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},N4=(t,e,r)=>new Promise((i,n)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===Infinity){i(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{i(r())}catch(l){n(l)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new qx(o);typeof t.cancel=="function"&&t.cancel(),n(a)},e);rDe(t.then(i,n),()=>{clearTimeout(s)})});UE.exports=N4;UE.exports.default=N4;UE.exports.TimeoutError=qx});var M4=C(Jx=>{"use strict";Object.defineProperty(Jx,"__esModule",{value:!0});function iDe(t,e,r){let i=0,n=t.length;for(;n>0;){let s=n/2|0,o=i+s;r(t[o],e)<=0?(i=++o,n-=s+1):n=s}return i}Jx.default=iDe});var O4=C(Wx=>{"use strict";Object.defineProperty(Wx,"__esModule",{value:!0});var nDe=M4(),T4=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let i={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(i);return}let n=nDe.default(this._queue,i,(s,o)=>o.priority-s.priority);this._queue.splice(n,0,i)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Wx.default=T4});var H4=C(zx=>{"use strict";Object.defineProperty(zx,"__esModule",{value:!0});var sDe=P4(),K4=L4(),oDe=O4(),HE=()=>{},aDe=new K4.TimeoutError,U4=class extends sDe{constructor(e){var r,i,n,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=HE,this._resolveIdle=HE,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:Infinity,interval:0,concurrency:Infinity,autoStart:!0,queueClass:oDe.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(i=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(n=e.interval)===null||n===void 0?void 0:n.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===Infinity||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((i,n)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():K4.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&n(aDe)});i(await o)}catch(o){n(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async i=>this.add(i,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};zx.default=U4});var J4=C((f$e,q4)=>{var Xx;q4.exports.getContent=()=>(typeof Xx=="undefined"&&(Xx=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),Xx)});var _4=C((Zx,Z4)=>{(function(t,e){typeof Zx=="object"?Z4.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(Zx,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(y,B){B>0&&(g+=(y[1]?" ":"\u2502")+" "),!p&&y[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var I=e(s,c);I.forEach(function(y){h=++f===I.length,r(y,s[y],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` -`}),a},i})});var nz=C((M$e,ek)=>{"use strict";var pDe=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=pDe(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};ek.exports=iz;ek.exports.default=iz});var go=C(uk=>{"use strict";Object.defineProperty(uk,"__esModule",{value:!0});uk.default=uz;function uz(){}uz.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var I=void 0,y=g[m-1],B=g[m+1],x=(B?B.newPos:0)-m;y&&(g[m-1]=void 0);var F=y&&y.newPos+1=a&&x+1>=l)return o(yDe(s,I.components,r,e,s.useLongestToken));g[m]=I}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function BDe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var fz=C(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.diffChars=wDe;yh.characterDiff=void 0;var bDe=QDe(go());function QDe(t){return t&&t.__esModule?t:{default:t}}var gz=new bDe.default;yh.characterDiff=gz;function wDe(t,e,r){return gz.diff(t,e,r)}});var fk=C(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});gk.generateOptions=DDe;function DDe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var dz=C($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.diffWords=SDe;$c.diffWordsWithSpace=xDe;$c.wordDiff=void 0;var vDe=kDe(go()),PDe=fk();function kDe(t){return t&&t.__esModule?t:{default:t}}var hz=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,pz=/\S/,Bh=new vDe.default;$c.wordDiff=Bh;Bh.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!pz.test(t)&&!pz.test(e)};Bh.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(eu,"__esModule",{value:!0});eu.diffLines=FDe;eu.diffTrimmedLines=RDe;eu.lineDiff=void 0;var LDe=NDe(go()),MDe=fk();function NDe(t){return t&&t.__esModule?t:{default:t}}var WE=new LDe.default;eu.lineDiff=WE;WE.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.diffSentences=TDe;wh.sentenceDiff=void 0;var KDe=ODe(go());function ODe(t){return t&&t.__esModule?t:{default:t}}var hk=new KDe.default;wh.sentenceDiff=hk;hk.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function TDe(t,e,r){return hk.diff(t,e,r)}});var mz=C(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.diffCss=UDe;Qh.cssDiff=void 0;var YDe=HDe(go());function HDe(t){return t&&t.__esModule?t:{default:t}}var pk=new YDe.default;Qh.cssDiff=pk;pk.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function UDe(t,e,r){return pk.diff(t,e,r)}});var Ez=C(tu=>{"use strict";Object.defineProperty(tu,"__esModule",{value:!0});tu.diffJson=jDe;tu.canonicalize=VE;tu.jsonDiff=void 0;var Iz=GDe(go()),qDe=zE();function GDe(t){return t&&t.__esModule?t:{default:t}}function XE(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?XE=function(r){return typeof r}:XE=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},XE(t)}var JDe=Object.prototype.toString,XA=new Iz.default;tu.jsonDiff=XA;XA.useLongestToken=!0;XA.tokenize=qDe.lineDiff.tokenize;XA.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify(VE(t,null,null,n),n," ")};XA.equals=function(t,e){return Iz.default.prototype.equals.call(XA,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function jDe(t,e,r){return XA.diff(t,e,r)}function VE(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.diffArrays=WDe;bh.arrayDiff=void 0;var VDe=zDe(go());function zDe(t){return t&&t.__esModule?t:{default:t}}var Dh=new VDe.default;bh.arrayDiff=Dh;Dh.tokenize=function(t){return t.slice()};Dh.join=Dh.removeEmpty=function(t){return t};function WDe(t,e,r){return Dh.diff(t,e,r)}});var ZE=C(dk=>{"use strict";Object.defineProperty(dk,"__esModule",{value:!0});dk.parsePatch=XDe;function XDe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(Ck,"__esModule",{value:!0});Ck.default=ZDe;function ZDe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var bz=C(_E=>{"use strict";Object.defineProperty(_E,"__esModule",{value:!0});_E.applyPatch=wz;_E.applyPatches=_De;var Qz=ZE(),eSe=$De(Bz());function $De(t){return t&&t.__esModule?t:{default:t}}function wz(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,Qz.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(H,R,ve,Ne){return R===Ne},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(H,R){for(var ve=0;ve0?Ne[0]:" ",Ke=Ne.length>0?Ne.substr(1):Ne;if(Je===" "||Je==="-"){if(!o(R+1,i[R],Je,Ke)&&(a++,a>l))return!1;R++}}return!0}for(var p=0;p0?oe[0]:" ",A=oe.length>0?oe.substr(1):oe,W=O.linedelimiters[J];if(K===" ")P++;else if(K==="-")i.splice(P,1),n.splice(P,1);else if(K==="+")i.splice(P,0,A),n.splice(P,0,W),P++;else if(K==="\\"){var ee=O.lines[J-1]?O.lines[J-1][0]:null;ee==="+"?g=!0:ee==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` -`));for(var re=0;re{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.structuredPatch=Dz;Sh.createTwoFilesPatch=Sz;Sh.createPatch=tSe;var rSe=zE();function mk(t){return sSe(t)||nSe(t)||iSe()}function iSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function nSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function sSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(O.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(N=f).push.apply(N,mk(F.map(function(re){return(x.added?"+":"-")+re}))),x.added?p+=F.length:h+=F.length}else{if(u)if(F.length<=o.context*2&&B=a.length-2&&F.length<=o.context){var A=/\n$/.test(r),W=/\n$/.test(i),ee=F.length==0&&f.length>K.oldLines;!A&&ee&&f.splice(K.oldLines,0,"\\ No newline at end of file"),(!A&&!ee||!W)&&f.push("\\ No newline at end of file")}c.push(K),u=0,g=0,f=[]}h+=F.length,p+=F.length}},I=0;I{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.arrayEqual=oSe;$E.arrayStartsWith=xz;function oSe(t,e){return t.length!==e.length?!1:xz(t,e)}function xz(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(ey,"__esModule",{value:!0});ey.calcLineCount=vz;ey.merge=aSe;var ASe=Ik(),lSe=ZE(),Ek=kz();function ru(t){return gSe(t)||uSe(t)||cSe()}function cSe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function uSe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function gSe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(wk,"__esModule",{value:!0});wk.convertChangesToDMP=dSe;function dSe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(Qk,"__esModule",{value:!0});Qk.convertChangesToXML=CSe;function CSe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(mSe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function mSe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var Wz=C($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});Object.defineProperty($t,"Diff",{enumerable:!0,get:function(){return ISe.default}});Object.defineProperty($t,"diffChars",{enumerable:!0,get:function(){return ESe.diffChars}});Object.defineProperty($t,"diffWords",{enumerable:!0,get:function(){return jz.diffWords}});Object.defineProperty($t,"diffWordsWithSpace",{enumerable:!0,get:function(){return jz.diffWordsWithSpace}});Object.defineProperty($t,"diffLines",{enumerable:!0,get:function(){return Gz.diffLines}});Object.defineProperty($t,"diffTrimmedLines",{enumerable:!0,get:function(){return Gz.diffTrimmedLines}});Object.defineProperty($t,"diffSentences",{enumerable:!0,get:function(){return ySe.diffSentences}});Object.defineProperty($t,"diffCss",{enumerable:!0,get:function(){return BSe.diffCss}});Object.defineProperty($t,"diffJson",{enumerable:!0,get:function(){return qz.diffJson}});Object.defineProperty($t,"canonicalize",{enumerable:!0,get:function(){return qz.canonicalize}});Object.defineProperty($t,"diffArrays",{enumerable:!0,get:function(){return wSe.diffArrays}});Object.defineProperty($t,"applyPatch",{enumerable:!0,get:function(){return Jz.applyPatch}});Object.defineProperty($t,"applyPatches",{enumerable:!0,get:function(){return Jz.applyPatches}});Object.defineProperty($t,"parsePatch",{enumerable:!0,get:function(){return QSe.parsePatch}});Object.defineProperty($t,"merge",{enumerable:!0,get:function(){return bSe.merge}});Object.defineProperty($t,"structuredPatch",{enumerable:!0,get:function(){return bk.structuredPatch}});Object.defineProperty($t,"createTwoFilesPatch",{enumerable:!0,get:function(){return bk.createTwoFilesPatch}});Object.defineProperty($t,"createPatch",{enumerable:!0,get:function(){return bk.createPatch}});Object.defineProperty($t,"convertChangesToDMP",{enumerable:!0,get:function(){return DSe.convertChangesToDMP}});Object.defineProperty($t,"convertChangesToXML",{enumerable:!0,get:function(){return SSe.convertChangesToXML}});var ISe=xSe(go()),ESe=fz(),jz=dz(),Gz=zE(),ySe=Cz(),BSe=mz(),qz=Ez(),wSe=yz(),Jz=bz(),QSe=ZE(),bSe=Uz(),bk=Ik(),DSe=Hz(),SSe=Yz();function xSe(t){return t&&t.__esModule?t:{default:t}}});var ry=C((att,zz)=>{var kSe=dn(),vSe=jI(),PSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,FSe=/^\w*$/;function RSe(t,e){if(kSe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||vSe(t)?!0:FSe.test(t)||!PSe.test(t)||e!=null&&t in Object(e)}zz.exports=RSe});var Hn=C((Att,Vz)=>{function NSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}Vz.exports=NSe});var iy=C((ltt,Xz)=>{var LSe=LA(),MSe=Hn(),TSe="[object AsyncFunction]",OSe="[object Function]",KSe="[object GeneratorFunction]",USe="[object Proxy]";function HSe(t){if(!MSe(t))return!1;var e=LSe(t);return e==OSe||e==KSe||e==TSe||e==USe}Xz.exports=HSe});var _z=C((ctt,Zz)=>{var YSe=On(),jSe=YSe["__core-js_shared__"];Zz.exports=jSe});var t5=C((utt,$z)=>{var Dk=_z(),e5=function(){var t=/[^.]+$/.exec(Dk&&Dk.keys&&Dk.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function GSe(t){return!!e5&&e5 in t}$z.exports=GSe});var Sk=C((gtt,r5)=>{var qSe=Function.prototype,JSe=qSe.toString;function WSe(t){if(t!=null){try{return JSe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}r5.exports=WSe});var n5=C((ftt,i5)=>{var zSe=iy(),VSe=t5(),XSe=Hn(),ZSe=Sk(),_Se=/[\\^$.*+?()[\]{}|]/g,$Se=/^\[object .+?Constructor\]$/,exe=Function.prototype,txe=Object.prototype,rxe=exe.toString,ixe=txe.hasOwnProperty,nxe=RegExp("^"+rxe.call(ixe).replace(_Se,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function sxe(t){if(!XSe(t)||VSe(t))return!1;var e=zSe(t)?nxe:$Se;return e.test(ZSe(t))}i5.exports=sxe});var o5=C((htt,s5)=>{function oxe(t,e){return t==null?void 0:t[e]}s5.exports=oxe});var ma=C((ptt,a5)=>{var axe=n5(),Axe=o5();function lxe(t,e){var r=Axe(t,e);return axe(r)?r:void 0}a5.exports=lxe});var xh=C((dtt,A5)=>{var cxe=ma(),uxe=cxe(Object,"create");A5.exports=uxe});var u5=C((Ctt,l5)=>{var c5=xh();function gxe(){this.__data__=c5?c5(null):{},this.size=0}l5.exports=gxe});var f5=C((mtt,g5)=>{function fxe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}g5.exports=fxe});var p5=C((Itt,h5)=>{var hxe=xh(),pxe="__lodash_hash_undefined__",dxe=Object.prototype,Cxe=dxe.hasOwnProperty;function mxe(t){var e=this.__data__;if(hxe){var r=e[t];return r===pxe?void 0:r}return Cxe.call(e,t)?e[t]:void 0}h5.exports=mxe});var C5=C((Ett,d5)=>{var Ixe=xh(),Exe=Object.prototype,yxe=Exe.hasOwnProperty;function Bxe(t){var e=this.__data__;return Ixe?e[t]!==void 0:yxe.call(e,t)}d5.exports=Bxe});var I5=C((ytt,m5)=>{var wxe=xh(),Qxe="__lodash_hash_undefined__";function bxe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=wxe&&e===void 0?Qxe:e,this}m5.exports=bxe});var y5=C((Btt,E5)=>{var Dxe=u5(),Sxe=f5(),xxe=p5(),kxe=C5(),vxe=I5();function iu(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function Pxe(){this.__data__=[],this.size=0}B5.exports=Pxe});var nu=C((Qtt,Q5)=>{function Fxe(t,e){return t===e||t!==t&&e!==e}Q5.exports=Fxe});var kh=C((btt,b5)=>{var Rxe=nu();function Nxe(t,e){for(var r=t.length;r--;)if(Rxe(t[r][0],e))return r;return-1}b5.exports=Nxe});var S5=C((Dtt,D5)=>{var Lxe=kh(),Mxe=Array.prototype,Txe=Mxe.splice;function Oxe(t){var e=this.__data__,r=Lxe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():Txe.call(e,r,1),--this.size,!0}D5.exports=Oxe});var k5=C((Stt,x5)=>{var Kxe=kh();function Uxe(t){var e=this.__data__,r=Kxe(e,t);return r<0?void 0:e[r][1]}x5.exports=Uxe});var P5=C((xtt,v5)=>{var Hxe=kh();function Yxe(t){return Hxe(this.__data__,t)>-1}v5.exports=Yxe});var R5=C((ktt,F5)=>{var jxe=kh();function Gxe(t,e){var r=this.__data__,i=jxe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}F5.exports=Gxe});var vh=C((vtt,N5)=>{var qxe=w5(),Jxe=S5(),Wxe=k5(),zxe=P5(),Vxe=R5();function su(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var Xxe=ma(),Zxe=On(),_xe=Xxe(Zxe,"Map");L5.exports=_xe});var O5=C((Ftt,M5)=>{var T5=y5(),$xe=vh(),eke=ny();function tke(){this.size=0,this.__data__={hash:new T5,map:new(eke||$xe),string:new T5}}M5.exports=tke});var U5=C((Rtt,K5)=>{function rke(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}K5.exports=rke});var Ph=C((Ntt,H5)=>{var ike=U5();function nke(t,e){var r=t.__data__;return ike(e)?r[typeof e=="string"?"string":"hash"]:r.map}H5.exports=nke});var j5=C((Ltt,Y5)=>{var ske=Ph();function oke(t){var e=ske(this,t).delete(t);return this.size-=e?1:0,e}Y5.exports=oke});var q5=C((Mtt,G5)=>{var ake=Ph();function Ake(t){return ake(this,t).get(t)}G5.exports=Ake});var W5=C((Ttt,J5)=>{var lke=Ph();function cke(t){return lke(this,t).has(t)}J5.exports=cke});var V5=C((Ott,z5)=>{var uke=Ph();function gke(t,e){var r=uke(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}z5.exports=gke});var sy=C((Ktt,X5)=>{var fke=O5(),hke=j5(),pke=q5(),dke=W5(),Cke=V5();function ou(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var _5=sy(),mke="Expected a function";function xk(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(mke);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(xk.Cache||_5),r}xk.Cache=_5;Z5.exports=xk});var t9=C((Htt,e9)=>{var Ike=$5(),Eke=500;function yke(t){var e=Ike(t,function(i){return r.size===Eke&&r.clear(),i}),r=e.cache;return e}e9.exports=yke});var i9=C((Ytt,r9)=>{var Bke=t9(),wke=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qke=/\\(\\)?/g,bke=Bke(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(wke,function(r,i,n,s){e.push(n?s.replace(Qke,"$1"):i||r)}),e});r9.exports=bke});var au=C((jtt,n9)=>{var Dke=dn(),Ske=ry(),xke=i9(),kke=kc();function vke(t,e){return Dke(t)?t:Ske(t,e)?[t]:xke(kke(t))}n9.exports=vke});var _A=C((Gtt,s9)=>{var Pke=jI(),Fke=1/0;function Rke(t){if(typeof t=="string"||Pke(t))return t;var e=t+"";return e=="0"&&1/t==-Fke?"-0":e}s9.exports=Rke});var Fh=C((qtt,o9)=>{var Nke=au(),Lke=_A();function Mke(t,e){e=Nke(e,t);for(var r=0,i=e.length;t!=null&&r{var Tke=ma(),Oke=function(){try{var t=Tke(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();a9.exports=Oke});var Au=C((Wtt,A9)=>{var l9=kk();function Kke(t,e,r){e=="__proto__"&&l9?l9(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}A9.exports=Kke});var oy=C((ztt,c9)=>{var Uke=Au(),Hke=nu(),Yke=Object.prototype,jke=Yke.hasOwnProperty;function Gke(t,e,r){var i=t[e];(!(jke.call(t,e)&&Hke(i,r))||r===void 0&&!(e in t))&&Uke(t,e,r)}c9.exports=Gke});var Rh=C((Vtt,u9)=>{var qke=9007199254740991,Jke=/^(?:0|[1-9]\d*)$/;function Wke(t,e){var r=typeof t;return e=e==null?qke:e,!!e&&(r=="number"||r!="symbol"&&Jke.test(t))&&t>-1&&t%1==0&&t{var zke=oy(),Vke=au(),Xke=Rh(),f9=Hn(),Zke=_A();function _ke(t,e,r,i){if(!f9(t))return t;e=Vke(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var $ke=Fh(),eve=vk(),tve=au();function rve(t,e,r){for(var i=-1,n=e.length,s={};++i{function ive(t,e){return t!=null&&e in Object(t)}d9.exports=ive});var I9=C(($tt,m9)=>{var nve=LA(),sve=ls(),ove="[object Arguments]";function ave(t){return sve(t)&&nve(t)==ove}m9.exports=ave});var Nh=C((ert,E9)=>{var y9=I9(),Ave=ls(),B9=Object.prototype,lve=B9.hasOwnProperty,cve=B9.propertyIsEnumerable,uve=y9(function(){return arguments}())?y9:function(t){return Ave(t)&&lve.call(t,"callee")&&!cve.call(t,"callee")};E9.exports=uve});var ay=C((trt,w9)=>{var gve=9007199254740991;function fve(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=gve}w9.exports=fve});var Pk=C((rrt,Q9)=>{var hve=au(),pve=Nh(),dve=dn(),Cve=Rh(),mve=ay(),Ive=_A();function Eve(t,e,r){e=hve(e,t);for(var i=-1,n=e.length,s=!1;++i{var yve=C9(),Bve=Pk();function wve(t,e){return t!=null&&Bve(t,e,yve)}b9.exports=wve});var S9=C((nrt,D9)=>{var Qve=p9(),bve=Fk();function Dve(t,e){return Qve(t,e,function(r,i){return bve(t,i)})}D9.exports=Dve});var Ay=C((srt,x9)=>{function Sve(t,e){for(var r=-1,i=e.length,n=t.length;++r{var v9=NA(),xve=Nh(),kve=dn(),P9=v9?v9.isConcatSpreadable:void 0;function vve(t){return kve(t)||xve(t)||!!(P9&&t&&t[P9])}k9.exports=vve});var L9=C((art,R9)=>{var Pve=Ay(),Fve=F9();function N9(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=Fve),n||(n=[]);++s0&&r(a)?e>1?N9(a,e-1,r,i,n):Pve(n,a):i||(n[n.length]=a)}return n}R9.exports=N9});var T9=C((Art,M9)=>{var Rve=L9();function Nve(t){var e=t==null?0:t.length;return e?Rve(t,1):[]}M9.exports=Nve});var K9=C((lrt,O9)=>{function Lve(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}O9.exports=Lve});var Rk=C((crt,U9)=>{var Mve=K9(),H9=Math.max;function Tve(t,e,r){return e=H9(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=H9(i.length-e,0),o=Array(s);++n{function Ove(t){return function(){return t}}Y9.exports=Ove});var ly=C((grt,G9)=>{function Kve(t){return t}G9.exports=Kve});var W9=C((frt,q9)=>{var Uve=j9(),J9=kk(),Hve=ly(),Yve=J9?function(t,e){return J9(t,"toString",{configurable:!0,enumerable:!1,value:Uve(e),writable:!0})}:Hve;q9.exports=Yve});var V9=C((hrt,z9)=>{var jve=800,Gve=16,qve=Date.now;function Jve(t){var e=0,r=0;return function(){var i=qve(),n=Gve-(i-r);if(r=i,n>0){if(++e>=jve)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}z9.exports=Jve});var Nk=C((prt,X9)=>{var Wve=W9(),zve=V9(),Vve=zve(Wve);X9.exports=Vve});var _9=C((drt,Z9)=>{var Xve=T9(),Zve=Rk(),_ve=Nk();function $ve(t){return _ve(Zve(t,void 0,Xve),t+"")}Z9.exports=$ve});var e6=C((Crt,$9)=>{var ePe=S9(),tPe=_9(),rPe=tPe(function(t,e){return t==null?{}:ePe(t,e)});$9.exports=rPe});var u6=C((ant,A6)=>{"use strict";var Gk;try{Gk=Map}catch(t){}var qk;try{qk=Set}catch(t){}function l6(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(c6);if(Gk&&t instanceof Gk)return new Map(Array.from(t.entries()));if(qk&&t instanceof qk)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:l6(t[n],e,r)}return i}return t}function c6(t){return l6(t,[],[])}A6.exports=c6});var Oh=C(Jk=>{"use strict";Object.defineProperty(Jk,"__esModule",{value:!0});Jk.default=uPe;var gPe=Object.prototype.toString,fPe=Error.prototype.toString,hPe=RegExp.prototype.toString,pPe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",dPe=/^Symbol\((.*)\)(.*)$/;function CPe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function g6(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return CPe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return pPe.call(t).replace(dPe,"Symbol($1)");let i=gPe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+fPe.call(t)+"]":i==="RegExp"?hPe.call(t):null}function uPe(t,e){let r=g6(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=g6(this[i],e);return s!==null?s:n},2)}});var fo=C(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.default=vr.array=vr.object=vr.boolean=vr.date=vr.number=vr.string=vr.mixed=void 0;var f6=mPe(Oh());function mPe(t){return t&&t.__esModule?t:{default:t}}var h6={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,f6.default)(r,!0)}\``+(n?` (cast from the value \`${(0,f6.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};vr.mixed=h6;var p6={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};vr.string=p6;var d6={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};vr.number=d6;var C6={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};vr.date=C6;var m6={isValue:"${path} field must be ${value}"};vr.boolean=m6;var I6={noUnknown:"${path} field has unspecified keys: ${unknown}"};vr.object=I6;var E6={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};vr.array=E6;var IPe=Object.assign(Object.create(null),{mixed:h6,string:p6,number:d6,date:C6,object:I6,array:E6,boolean:m6});vr.default=IPe});var B6=C((cnt,y6)=>{var EPe=Object.prototype,yPe=EPe.hasOwnProperty;function BPe(t,e){return t!=null&&yPe.call(t,e)}y6.exports=BPe});var Kh=C((unt,w6)=>{var wPe=B6(),QPe=Pk();function bPe(t,e){return t!=null&&QPe(t,e,wPe)}w6.exports=bPe});var cu=C(hy=>{"use strict";Object.defineProperty(hy,"__esModule",{value:!0});hy.default=void 0;var DPe=t=>t&&t.__isYupSchema__;hy.default=DPe});var D6=C(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.default=void 0;var SPe=Q6(Kh()),xPe=Q6(cu());function Q6(t){return t&&t.__esModule?t:{default:t}}var b6=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,SPe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,xPe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},kPe=b6;py.default=kPe});var zk=C(Wk=>{"use strict";Object.defineProperty(Wk,"__esModule",{value:!0});Wk.default=vPe;function vPe(t){return t==null?[]:[].concat(t)}});var $A=C(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.default=void 0;var PPe=S6(Oh()),FPe=S6(zk());function S6(t){return t&&t.__esModule?t:{default:t}}function Vk(){return Vk=Object.assign||function(t){for(var e=1;e(0,PPe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,FPe.default)(e).forEach(s=>{Uh.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,Uh)}};dy.default=Uh});var Cy=C(Xk=>{"use strict";Object.defineProperty(Xk,"__esModule",{value:!0});Xk.default=NPe;var Zk=LPe($A());function LPe(t){return t&&t.__esModule?t:{default:t}}var MPe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function NPe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=MPe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new Zk.default(o,s,l)):c(null,s);for(let f=0;f{function TPe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}x6.exports=TPe});var _k=C((mnt,v6)=>{var OPe=k6(),KPe=OPe();v6.exports=KPe});var F6=C((Int,P6)=>{function UPe(t,e){for(var r=-1,i=Array(t);++r{function HPe(){return!1}R6.exports=HPe});var Yh=C((Hh,uu)=>{var YPe=On(),jPe=N6(),L6=typeof Hh=="object"&&Hh&&!Hh.nodeType&&Hh,M6=L6&&typeof uu=="object"&&uu&&!uu.nodeType&&uu,GPe=M6&&M6.exports===L6,T6=GPe?YPe.Buffer:void 0,qPe=T6?T6.isBuffer:void 0,JPe=qPe||jPe;uu.exports=JPe});var K6=C((ynt,O6)=>{var WPe=LA(),zPe=ay(),VPe=ls(),XPe="[object Arguments]",ZPe="[object Array]",_Pe="[object Boolean]",$Pe="[object Date]",eFe="[object Error]",tFe="[object Function]",rFe="[object Map]",iFe="[object Number]",nFe="[object Object]",sFe="[object RegExp]",oFe="[object Set]",aFe="[object String]",AFe="[object WeakMap]",lFe="[object ArrayBuffer]",cFe="[object DataView]",uFe="[object Float32Array]",gFe="[object Float64Array]",fFe="[object Int8Array]",hFe="[object Int16Array]",pFe="[object Int32Array]",dFe="[object Uint8Array]",CFe="[object Uint8ClampedArray]",mFe="[object Uint16Array]",IFe="[object Uint32Array]",jt={};jt[uFe]=jt[gFe]=jt[fFe]=jt[hFe]=jt[pFe]=jt[dFe]=jt[CFe]=jt[mFe]=jt[IFe]=!0;jt[XPe]=jt[ZPe]=jt[lFe]=jt[_Pe]=jt[cFe]=jt[$Pe]=jt[eFe]=jt[tFe]=jt[rFe]=jt[iFe]=jt[nFe]=jt[sFe]=jt[oFe]=jt[aFe]=jt[AFe]=!1;function EFe(t){return VPe(t)&&zPe(t.length)&&!!jt[WPe(t)]}O6.exports=EFe});var my=C((Bnt,U6)=>{function yFe(t){return function(e){return t(e)}}U6.exports=yFe});var Iy=C((jh,gu)=>{var BFe=BS(),H6=typeof jh=="object"&&jh&&!jh.nodeType&&jh,Gh=H6&&typeof gu=="object"&&gu&&!gu.nodeType&&gu,wFe=Gh&&Gh.exports===H6,$k=wFe&&BFe.process,QFe=function(){try{var t=Gh&&Gh.require&&Gh.require("util").types;return t||$k&&$k.binding&&$k.binding("util")}catch(e){}}();gu.exports=QFe});var Ey=C((wnt,Y6)=>{var bFe=K6(),DFe=my(),j6=Iy(),G6=j6&&j6.isTypedArray,SFe=G6?DFe(G6):bFe;Y6.exports=SFe});var ev=C((Qnt,q6)=>{var xFe=F6(),kFe=Nh(),vFe=dn(),PFe=Yh(),FFe=Rh(),RFe=Ey(),NFe=Object.prototype,LFe=NFe.hasOwnProperty;function MFe(t,e){var r=vFe(t),i=!r&&kFe(t),n=!r&&!i&&PFe(t),s=!r&&!i&&!n&&RFe(t),o=r||i||n||s,a=o?xFe(t.length,String):[],l=a.length;for(var c in t)(e||LFe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||FFe(c,l)))&&a.push(c);return a}q6.exports=MFe});var yy=C((bnt,J6)=>{var TFe=Object.prototype;function OFe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||TFe;return t===r}J6.exports=OFe});var tv=C((Dnt,W6)=>{function KFe(t,e){return function(r){return t(e(r))}}W6.exports=KFe});var V6=C((Snt,z6)=>{var UFe=tv(),HFe=UFe(Object.keys,Object);z6.exports=HFe});var Z6=C((xnt,X6)=>{var YFe=yy(),jFe=V6(),GFe=Object.prototype,qFe=GFe.hasOwnProperty;function JFe(t){if(!YFe(t))return jFe(t);var e=[];for(var r in Object(t))qFe.call(t,r)&&r!="constructor"&&e.push(r);return e}X6.exports=JFe});var qh=C((knt,_6)=>{var WFe=iy(),zFe=ay();function VFe(t){return t!=null&&zFe(t.length)&&!WFe(t)}_6.exports=VFe});var fu=C((vnt,$6)=>{var XFe=ev(),ZFe=Z6(),_Fe=qh();function $Fe(t){return _Fe(t)?XFe(t):ZFe(t)}$6.exports=$Fe});var rv=C((Pnt,e7)=>{var eRe=_k(),tRe=fu();function rRe(t,e){return t&&eRe(t,e,tRe)}e7.exports=rRe});var r7=C((Fnt,t7)=>{var iRe=vh();function nRe(){this.__data__=new iRe,this.size=0}t7.exports=nRe});var n7=C((Rnt,i7)=>{function sRe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}i7.exports=sRe});var o7=C((Nnt,s7)=>{function oRe(t){return this.__data__.get(t)}s7.exports=oRe});var A7=C((Lnt,a7)=>{function aRe(t){return this.__data__.has(t)}a7.exports=aRe});var c7=C((Mnt,l7)=>{var ARe=vh(),lRe=ny(),cRe=sy(),uRe=200;function gRe(t,e){var r=this.__data__;if(r instanceof ARe){var i=r.__data__;if(!lRe||i.length{var fRe=vh(),hRe=r7(),pRe=n7(),dRe=o7(),CRe=A7(),mRe=c7();function hu(t){var e=this.__data__=new fRe(t);this.size=e.size}hu.prototype.clear=hRe;hu.prototype.delete=pRe;hu.prototype.get=dRe;hu.prototype.has=CRe;hu.prototype.set=mRe;u7.exports=hu});var f7=C((Ont,g7)=>{var IRe="__lodash_hash_undefined__";function ERe(t){return this.__data__.set(t,IRe),this}g7.exports=ERe});var p7=C((Knt,h7)=>{function yRe(t){return this.__data__.has(t)}h7.exports=yRe});var C7=C((Unt,d7)=>{var BRe=sy(),wRe=f7(),QRe=p7();function By(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new BRe;++e{function bRe(t,e){for(var r=-1,i=t==null?0:t.length;++r{function DRe(t,e){return t.has(e)}E7.exports=DRe});var iv=C((jnt,B7)=>{var SRe=C7(),xRe=I7(),kRe=y7(),vRe=1,PRe=2;function FRe(t,e,r,i,n,s){var o=r&vRe,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&PRe?new SRe:void 0;for(s.set(t,e),s.set(e,t);++g{var RRe=On(),NRe=RRe.Uint8Array;w7.exports=NRe});var b7=C((qnt,Q7)=>{function LRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}Q7.exports=LRe});var S7=C((Jnt,D7)=>{function MRe(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}D7.exports=MRe});var F7=C((Wnt,x7)=>{var k7=NA(),v7=nv(),TRe=nu(),ORe=iv(),KRe=b7(),URe=S7(),HRe=1,YRe=2,jRe="[object Boolean]",GRe="[object Date]",qRe="[object Error]",JRe="[object Map]",WRe="[object Number]",zRe="[object RegExp]",VRe="[object Set]",XRe="[object String]",ZRe="[object Symbol]",_Re="[object ArrayBuffer]",$Re="[object DataView]",P7=k7?k7.prototype:void 0,sv=P7?P7.valueOf:void 0;function eNe(t,e,r,i,n,s,o){switch(r){case $Re:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case _Re:return!(t.byteLength!=e.byteLength||!s(new v7(t),new v7(e)));case jRe:case GRe:case WRe:return TRe(+t,+e);case qRe:return t.name==e.name&&t.message==e.message;case zRe:case XRe:return t==e+"";case JRe:var a=KRe;case VRe:var l=i&HRe;if(a||(a=URe),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=YRe,o.set(t,e);var u=ORe(a(t),a(e),i,n,s,o);return o.delete(t),u;case ZRe:if(sv)return sv.call(t)==sv.call(e)}return!1}x7.exports=eNe});var ov=C((znt,R7)=>{var tNe=Ay(),rNe=dn();function iNe(t,e,r){var i=e(t);return rNe(t)?i:tNe(i,r(t))}R7.exports=iNe});var L7=C((Vnt,N7)=>{function nNe(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function sNe(){return[]}M7.exports=sNe});var wy=C((Znt,T7)=>{var oNe=L7(),aNe=av(),ANe=Object.prototype,lNe=ANe.propertyIsEnumerable,O7=Object.getOwnPropertySymbols,cNe=O7?function(t){return t==null?[]:(t=Object(t),oNe(O7(t),function(e){return lNe.call(t,e)}))}:aNe;T7.exports=cNe});var Av=C((_nt,K7)=>{var uNe=ov(),gNe=wy(),fNe=fu();function hNe(t){return uNe(t,fNe,gNe)}K7.exports=hNe});var Y7=C(($nt,U7)=>{var H7=Av(),pNe=1,dNe=Object.prototype,CNe=dNe.hasOwnProperty;function mNe(t,e,r,i,n,s){var o=r&pNe,a=H7(t),l=a.length,c=H7(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:CNe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var I=o;++g{var INe=ma(),ENe=On(),yNe=INe(ENe,"DataView");j7.exports=yNe});var J7=C((tst,q7)=>{var BNe=ma(),wNe=On(),QNe=BNe(wNe,"Promise");q7.exports=QNe});var z7=C((rst,W7)=>{var bNe=ma(),DNe=On(),SNe=bNe(DNe,"Set");W7.exports=SNe});var X7=C((ist,V7)=>{var xNe=ma(),kNe=On(),vNe=xNe(kNe,"WeakMap");V7.exports=vNe});var Wh=C((nst,Z7)=>{var lv=G7(),cv=ny(),uv=J7(),gv=z7(),fv=X7(),_7=LA(),pu=Sk(),$7="[object Map]",PNe="[object Object]",eV="[object Promise]",tV="[object Set]",rV="[object WeakMap]",iV="[object DataView]",FNe=pu(lv),RNe=pu(cv),NNe=pu(uv),LNe=pu(gv),MNe=pu(fv),el=_7;(lv&&el(new lv(new ArrayBuffer(1)))!=iV||cv&&el(new cv)!=$7||uv&&el(uv.resolve())!=eV||gv&&el(new gv)!=tV||fv&&el(new fv)!=rV)&&(el=function(t){var e=_7(t),r=e==PNe?t.constructor:void 0,i=r?pu(r):"";if(i)switch(i){case FNe:return iV;case RNe:return $7;case NNe:return eV;case LNe:return tV;case MNe:return rV}return e});Z7.exports=el});var uV=C((sst,nV)=>{var hv=Jh(),TNe=iv(),ONe=F7(),KNe=Y7(),sV=Wh(),oV=dn(),aV=Yh(),UNe=Ey(),HNe=1,AV="[object Arguments]",lV="[object Array]",Qy="[object Object]",YNe=Object.prototype,cV=YNe.hasOwnProperty;function jNe(t,e,r,i,n,s){var o=oV(t),a=oV(e),l=o?lV:sV(t),c=a?lV:sV(e);l=l==AV?Qy:l,c=c==AV?Qy:c;var u=l==Qy,g=c==Qy,f=l==c;if(f&&aV(t)){if(!aV(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new hv),o||UNe(t)?TNe(t,e,r,i,n,s):ONe(t,e,l,r,i,n,s);if(!(r&HNe)){var h=u&&cV.call(t,"__wrapped__"),p=g&&cV.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,I=p?e.value():e;return s||(s=new hv),n(m,I,r,i,s)}}return f?(s||(s=new hv),KNe(t,e,r,i,n,s)):!1}nV.exports=jNe});var pv=C((ost,gV)=>{var GNe=uV(),fV=ls();function hV(t,e,r,i,n){return t===e?!0:t==null||e==null||!fV(t)&&!fV(e)?t!==t&&e!==e:GNe(t,e,r,i,hV,n)}gV.exports=hV});var dV=C((ast,pV)=>{var qNe=Jh(),JNe=pv(),WNe=1,zNe=2;function VNe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var XNe=Hn();function ZNe(t){return t===t&&!XNe(t)}CV.exports=ZNe});var IV=C((lst,mV)=>{var _Ne=dv(),$Ne=fu();function eLe(t){for(var e=$Ne(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,_Ne(n)]}return e}mV.exports=eLe});var Cv=C((cst,EV)=>{function tLe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}EV.exports=tLe});var BV=C((ust,yV)=>{var rLe=dV(),iLe=IV(),nLe=Cv();function sLe(t){var e=iLe(t);return e.length==1&&e[0][2]?nLe(e[0][0],e[0][1]):function(r){return r===t||rLe(r,t,e)}}yV.exports=sLe});var by=C((gst,wV)=>{var oLe=Fh();function aLe(t,e,r){var i=t==null?void 0:oLe(t,e);return i===void 0?r:i}wV.exports=aLe});var bV=C((fst,QV)=>{var ALe=pv(),lLe=by(),cLe=Fk(),uLe=ry(),gLe=dv(),fLe=Cv(),hLe=_A(),pLe=1,dLe=2;function CLe(t,e){return uLe(t)&&gLe(e)?fLe(hLe(t),e):function(r){var i=lLe(r,t);return i===void 0&&i===e?cLe(r,t):ALe(e,i,pLe|dLe)}}QV.exports=CLe});var SV=C((hst,DV)=>{function mLe(t){return function(e){return e==null?void 0:e[t]}}DV.exports=mLe});var kV=C((pst,xV)=>{var ILe=Fh();function ELe(t){return function(e){return ILe(e,t)}}xV.exports=ELe});var PV=C((dst,vV)=>{var yLe=SV(),BLe=kV(),wLe=ry(),QLe=_A();function bLe(t){return wLe(t)?yLe(QLe(t)):BLe(t)}vV.exports=bLe});var mv=C((Cst,FV)=>{var DLe=BV(),SLe=bV(),xLe=ly(),kLe=dn(),vLe=PV();function PLe(t){return typeof t=="function"?t:t==null?xLe:typeof t=="object"?kLe(t)?SLe(t[0],t[1]):DLe(t):vLe(t)}FV.exports=PLe});var Iv=C((mst,RV)=>{var FLe=Au(),RLe=rv(),NLe=mv();function LLe(t,e){var r={};return e=NLe(e,3),RLe(t,function(i,n,s){FLe(r,n,e(i,n,s))}),r}RV.exports=LLe});var zh=C((Ist,NV)=>{"use strict";function tl(t){this._maxSize=t,this.clear()}tl.prototype.clear=function(){this._size=0,this._values=Object.create(null)};tl.prototype.get=function(t){return this._values[t]};tl.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var MLe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,LV=/^\d+$/,TLe=/^\d/,OLe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,KLe=/^\s*(['"]?)(.*?)(\1)\s*$/,Ev=512,MV=new tl(Ev),TV=new tl(Ev),OV=new tl(Ev);NV.exports={Cache:tl,split:Bv,normalizePath:yv,setter:function(t){var e=yv(t);return TV.get(t)||TV.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.create=GLe;Vh.default=void 0;var qLe=zh(),Dy={context:"$",value:"."};function GLe(t,e){return new Sy(t,e)}var Sy=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===Dy.context,this.isValue=this.key[0]===Dy.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?Dy.context:this.isValue?Dy.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,qLe.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};Vh.default=Sy;Sy.prototype.__isYupRef=!0});var KV=C(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});Qv.default=JLe;var WLe=bv(Iv()),xy=bv($A()),zLe=bv(rl());function bv(t){return t&&t.__esModule?t:{default:t}}function ky(){return ky=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function JLe(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=VLe(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:I}=a;function y(O){return zLe.default.isRef(O)?O.getValue(n,m,I):O}function B(O={}){let P=(0,WLe.default)(ky({value:n,originalValue:l,label:o,path:O.path||s},h,O.params),y),J=new xy.default(xy.default.formatError(O.message||p,P),n,P.path,O.type||g);return J.params=P,J}let x=ky({path:s,parent:m,type:g,createError:B,resolve:y,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(x,n,x)).then(O=>{xy.default.isError(O)?i(O):O?i(null,O):i(B())})}catch(O){i(O)}return}let F;try{var N;if(F=f.call(x,n,x),typeof((N=F)==null?void 0:N.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(O){i(O);return}xy.default.isError(F)?i(F):F?i(null,F):i(B())}return e.OPTIONS=t,e}});var Dv=C(Xh=>{"use strict";Object.defineProperty(Xh,"__esModule",{value:!0});Xh.getIn=UV;Xh.default=void 0;var XLe=zh(),ZLe=t=>t.substr(0,t.length-1).substr(1);function UV(t,e,r,i=r){let n,s,o;return e?((0,XLe.forEach)(e,(a,l,c)=>{let u=l?ZLe(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var _Le=(t,e,r,i)=>UV(t,e,r,i).schema,$Le=_Le;Xh.default=$Le});var YV=C(vy=>{"use strict";Object.defineProperty(vy,"__esModule",{value:!0});vy.default=void 0;var HV=eMe(rl());function eMe(t){return t&&t.__esModule?t:{default:t}}var Py=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){HV.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){HV.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new Py;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};vy.default=Py});var po=C(Fy=>{"use strict";Object.defineProperty(Fy,"__esModule",{value:!0});Fy.default=void 0;var jV=ho(u6()),du=fo(),tMe=ho(D6()),GV=ho(Cy()),Ry=ho(KV()),qV=ho(Oh()),rMe=ho(rl()),iMe=Dv(),nMe=ho(zk()),JV=ho($A()),WV=ho(YV());function ho(t){return t&&t.__esModule?t:{default:t}}function wn(){return wn=Object.assign||function(t){for(var e=1;e{this.typeError(du.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=wn({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=wn({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,jV.default)(wn({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=wn({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(wn({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,qV.default)(e),o=(0,qV.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". - -attempted value: ${s} -`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,wn({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,GV.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,GV.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(wn({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(wn({},r,{value:e})),n;return i._validate(e,wn({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(JV.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(JV.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,jV.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=du.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=du.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=du.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,Ry.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,nMe.default)(e).map(s=>new rMe.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new tMe.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,Ry.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=du.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,Ry.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=du.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,Ry.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};Fy.default=ms;ms.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ms.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,iMe.getIn)(this,e,r,i.context);return o[t](n&&n[s],wn({},i,{parent:n,path:e}))};for(let t of["equals","is"])ms.prototype[t]=ms.prototype.oneOf;for(let t of["not","nope"])ms.prototype[t]=ms.prototype.notOneOf;ms.prototype.optional=ms.prototype.notRequired});var VV=C(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.create=zV;Zh.default=void 0;var oMe=sMe(po());function sMe(t){return t&&t.__esModule?t:{default:t}}var Sv=oMe.default,aMe=Sv;Zh.default=aMe;function zV(){return new Sv}zV.prototype=Sv.prototype});var Cu=C(Ny=>{"use strict";Object.defineProperty(Ny,"__esModule",{value:!0});Ny.default=void 0;var AMe=t=>t==null;Ny.default=AMe});var eX=C(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});_h.create=XV;_h.default=void 0;var lMe=ZV(po()),_V=fo(),$V=ZV(Cu());function ZV(t){return t&&t.__esModule?t:{default:t}}function XV(){return new Ly}var Ly=class extends lMe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=_V.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,$V.default)(r)||r===!0}})}isFalse(e=_V.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,$V.default)(r)||r===!1}})}};_h.default=Ly;XV.prototype=Ly.prototype});var iX=C($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});$h.create=tX;$h.default=void 0;var Is=fo(),Co=rX(Cu()),cMe=rX(po());function rX(t){return t&&t.__esModule?t:{default:t}}var uMe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,gMe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,fMe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,hMe=t=>(0,Co.default)(t)||t===t.trim(),pMe={}.toString();function tX(){return new My}var My=class extends cMe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===pMe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=Is.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Co.default)(i)||i.length===this.resolve(e)}})}min(e,r=Is.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Co.default)(i)||i.length>=this.resolve(e)}})}max(e,r=Is.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,Co.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||Is.string.matches,params:{regex:e},test:o=>(0,Co.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=Is.string.email){return this.matches(uMe,{name:"email",message:e,excludeEmptyString:!0})}url(e=Is.string.url){return this.matches(gMe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=Is.string.uuid){return this.matches(fMe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=Is.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:hMe})}lowercase(e=Is.string.lowercase){return this.transform(r=>(0,Co.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toLowerCase()})}uppercase(e=Is.string.uppercase){return this.transform(r=>(0,Co.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Co.default)(r)||r===r.toUpperCase()})}};$h.default=My;tX.prototype=My.prototype});var oX=C(ep=>{"use strict";Object.defineProperty(ep,"__esModule",{value:!0});ep.create=nX;ep.default=void 0;var il=fo(),nl=sX(Cu()),dMe=sX(po());function sX(t){return t&&t.__esModule?t:{default:t}}var CMe=t=>t!=+t;function nX(){return new Ty}var Ty=class extends dMe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!CMe(e)}min(e,r=il.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,nl.default)(i)||i>=this.resolve(e)}})}max(e,r=il.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,nl.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=il.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,nl.default)(i)||ithis.resolve(e)}})}positive(e=il.number.positive){return this.moreThan(0,e)}negative(e=il.number.negative){return this.lessThan(0,e)}integer(e=il.number.integer){return this.test({name:"integer",message:e,test:r=>(0,nl.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,nl.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,nl.default)(n)?n:Math[e](n))}};ep.default=Ty;nX.prototype=Ty.prototype});var aX=C(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});xv.default=mMe;var IMe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function mMe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=IMe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var cX=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.create=kv;tp.default=void 0;var EMe=Oy(aX()),AX=fo(),lX=Oy(Cu()),yMe=Oy(rl()),BMe=Oy(po());function Oy(t){return t&&t.__esModule?t:{default:t}}var vv=new Date(""),wMe=t=>Object.prototype.toString.call(t)==="[object Date]";function kv(){return new rp}var rp=class extends BMe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,EMe.default)(e),isNaN(e)?vv:new Date(e))})})}_typeCheck(e){return wMe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(yMe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=AX.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,lX.default)(n)||n>=this.resolve(i)}})}max(e,r=AX.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,lX.default)(n)||n<=this.resolve(i)}})}};tp.default=rp;rp.INVALID_DATE=vv;kv.prototype=rp.prototype;kv.INVALID_DATE=vv});var gX=C((Fst,uX)=>{function QMe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function bMe(t){return function(e){return t==null?void 0:t[e]}}fX.exports=bMe});var dX=C((Nst,pX)=>{var DMe=hX(),SMe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},xMe=DMe(SMe);pX.exports=xMe});var mX=C((Lst,CX)=>{var kMe=dX(),vMe=kc(),PMe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,FMe="\\u0300-\\u036f",RMe="\\ufe20-\\ufe2f",NMe="\\u20d0-\\u20ff",LMe=FMe+RMe+NMe,MMe="["+LMe+"]",TMe=RegExp(MMe,"g");function OMe(t){return t=vMe(t),t&&t.replace(PMe,kMe).replace(TMe,"")}CX.exports=OMe});var EX=C((Mst,IX)=>{var KMe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function UMe(t){return t.match(KMe)||[]}IX.exports=UMe});var BX=C((Tst,yX)=>{var HMe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function YMe(t){return HMe.test(t)}yX.exports=YMe});var HX=C((Ost,wX)=>{var QX="\\ud800-\\udfff",jMe="\\u0300-\\u036f",GMe="\\ufe20-\\ufe2f",qMe="\\u20d0-\\u20ff",JMe=jMe+GMe+qMe,bX="\\u2700-\\u27bf",DX="a-z\\xdf-\\xf6\\xf8-\\xff",WMe="\\xac\\xb1\\xd7\\xf7",zMe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",VMe="\\u2000-\\u206f",XMe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",SX="A-Z\\xc0-\\xd6\\xd8-\\xde",ZMe="\\ufe0e\\ufe0f",xX=WMe+zMe+VMe+XMe,kX="['\u2019]",vX="["+xX+"]",_Me="["+JMe+"]",PX="\\d+",$Me="["+bX+"]",FX="["+DX+"]",RX="[^"+QX+xX+PX+bX+DX+SX+"]",eTe="\\ud83c[\\udffb-\\udfff]",tTe="(?:"+_Me+"|"+eTe+")",rTe="[^"+QX+"]",NX="(?:\\ud83c[\\udde6-\\uddff]){2}",LX="[\\ud800-\\udbff][\\udc00-\\udfff]",mu="["+SX+"]",iTe="\\u200d",MX="(?:"+FX+"|"+RX+")",nTe="(?:"+mu+"|"+RX+")",TX="(?:"+kX+"(?:d|ll|m|re|s|t|ve))?",OX="(?:"+kX+"(?:D|LL|M|RE|S|T|VE))?",KX=tTe+"?",UX="["+ZMe+"]?",sTe="(?:"+iTe+"(?:"+[rTe,NX,LX].join("|")+")"+UX+KX+")*",oTe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",aTe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ATe=UX+KX+sTe,lTe="(?:"+[$Me,NX,LX].join("|")+")"+ATe,cTe=RegExp([mu+"?"+FX+"+"+TX+"(?="+[vX,mu,"$"].join("|")+")",nTe+"+"+OX+"(?="+[vX,mu+MX,"$"].join("|")+")",mu+"?"+MX+"+"+TX,mu+"+"+OX,aTe,oTe,PX,lTe].join("|"),"g");function uTe(t){return t.match(cTe)||[]}wX.exports=uTe});var jX=C((Kst,YX)=>{var gTe=EX(),fTe=BX(),hTe=kc(),pTe=HX();function dTe(t,e,r){return t=hTe(t),e=r?void 0:e,e===void 0?fTe(t)?pTe(t):gTe(t):t.match(e)||[]}YX.exports=dTe});var Pv=C((Ust,GX)=>{var CTe=gX(),mTe=mX(),ITe=jX(),ETe="['\u2019]",yTe=RegExp(ETe,"g");function BTe(t){return function(e){return CTe(ITe(mTe(e).replace(yTe,"")),t,"")}}GX.exports=BTe});var JX=C((Hst,qX)=>{var wTe=Pv(),QTe=wTe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});qX.exports=QTe});var zX=C((Yst,WX)=>{var bTe=SS(),DTe=Pv(),STe=DTe(function(t,e,r){return e=e.toLowerCase(),t+(r?bTe(e):e)});WX.exports=STe});var XX=C((jst,VX)=>{var xTe=Au(),kTe=rv(),vTe=mv();function PTe(t,e){var r={};return e=vTe(e,3),kTe(t,function(i,n,s){xTe(r,e(i,n,s),i)}),r}VX.exports=PTe});var _X=C((Gst,Fv)=>{Fv.exports=function(t){return ZX(FTe(t),t)};Fv.exports.array=ZX;function ZX(t,e){var r=t.length,i=new Array(r),n={},s=r,o=RTe(e),a=NTe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function FTe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(Rv,"__esModule",{value:!0});Rv.default=LTe;var MTe=Ky(Kh()),TTe=Ky(_X()),OTe=zh(),KTe=Ky(rl()),UTe=Ky(cu());function Ky(t){return t&&t.__esModule?t:{default:t}}function LTe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,OTe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,MTe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),KTe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,UTe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return TTe.default.array(i,r).reverse()}});var tZ=C(Nv=>{"use strict";Object.defineProperty(Nv,"__esModule",{value:!0});Nv.default=HTe;function eZ(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function HTe(t){return(e,r)=>eZ(t,e)-eZ(t,r)}});var AZ=C(ip=>{"use strict";Object.defineProperty(ip,"__esModule",{value:!0});ip.create=rZ;ip.default=void 0;var iZ=Es(Kh()),nZ=Es(JX()),YTe=Es(zX()),jTe=Es(XX()),GTe=Es(Iv()),qTe=zh(),sZ=fo(),JTe=Es($X()),oZ=Es(tZ()),WTe=Es(Cy()),zTe=Es($A()),Lv=Es(po());function Es(t){return t&&t.__esModule?t:{default:t}}function Iu(){return Iu=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function VTe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var XTe=(0,oZ.default)([]),Uy=class extends Lv.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=XTe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return aZ(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Iu({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,iZ.default)(n,g);if(f){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:m,context:r.context,parent:l});let I="spec"in f?f.spec:void 0,y=I==null?void 0:I.strict;if(I==null?void 0:I.strip){u=u||g in n;continue}p=!r.__validating||!y?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!zTe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!aZ(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let I=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,y=this.fields[h];if(y&&"validate"in y){y.validate(g[h],Iu({},r,{path:I,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,WTe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Iu({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof Lv.default&&s instanceof Lv.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,oZ.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,JTe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,qTe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,iZ.default)(s,e)&&(o=Iu({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=sZ.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=VTe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=sZ.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,jTe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(YTe.default)}snakeCase(){return this.transformKeys(nZ.default)}constantCase(){return this.transformKeys(e=>(0,nZ.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,GTe.default)(this.fields,r=>r.describe()),e}};ip.default=Uy;function rZ(t){return new Uy(t)}rZ.prototype=Uy.prototype});var cZ=C(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.create=lZ;np.default=void 0;var Mv=Eu(Cu()),ZTe=Eu(cu()),_Te=Eu(Oh()),Tv=fo(),$Te=Eu(Cy()),eOe=Eu($A()),tOe=Eu(po());function Eu(t){return t&&t.__esModule?t:{default:t}}function Hy(){return Hy=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,Hy({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!eOe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let I=0;Ic.validate(y,x,N)}(0,$Te.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,ZTe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,_Te.default)(e));return r.innerType=e,r}length(e,r=Tv.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,Mv.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||Tv.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,Mv.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||Tv.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,Mv.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};np.default=Yy;lZ.prototype=Yy.prototype});var uZ=C(sp=>{"use strict";Object.defineProperty(sp,"__esModule",{value:!0});sp.create=rOe;sp.default=void 0;var nOe=iOe(cu());function iOe(t){return t&&t.__esModule?t:{default:t}}function rOe(t){return new Ov(t)}var Ov=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,nOe.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},sOe=Ov;sp.default=sOe});var gZ=C(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});Kv.default=oOe;var AOe=aOe(fo());function aOe(t){return t&&t.__esModule?t:{default:t}}function oOe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{AOe.default[e][r]=t[e][r]})})}});var Hv=C(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.addMethod=lOe;Object.defineProperty(Gt,"MixedSchema",{enumerable:!0,get:function(){return fZ.default}});Object.defineProperty(Gt,"mixed",{enumerable:!0,get:function(){return fZ.create}});Object.defineProperty(Gt,"BooleanSchema",{enumerable:!0,get:function(){return Uv.default}});Object.defineProperty(Gt,"bool",{enumerable:!0,get:function(){return Uv.create}});Object.defineProperty(Gt,"boolean",{enumerable:!0,get:function(){return Uv.create}});Object.defineProperty(Gt,"StringSchema",{enumerable:!0,get:function(){return hZ.default}});Object.defineProperty(Gt,"string",{enumerable:!0,get:function(){return hZ.create}});Object.defineProperty(Gt,"NumberSchema",{enumerable:!0,get:function(){return pZ.default}});Object.defineProperty(Gt,"number",{enumerable:!0,get:function(){return pZ.create}});Object.defineProperty(Gt,"DateSchema",{enumerable:!0,get:function(){return dZ.default}});Object.defineProperty(Gt,"date",{enumerable:!0,get:function(){return dZ.create}});Object.defineProperty(Gt,"ObjectSchema",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(Gt,"object",{enumerable:!0,get:function(){return CZ.create}});Object.defineProperty(Gt,"ArraySchema",{enumerable:!0,get:function(){return mZ.default}});Object.defineProperty(Gt,"array",{enumerable:!0,get:function(){return mZ.create}});Object.defineProperty(Gt,"ref",{enumerable:!0,get:function(){return cOe.create}});Object.defineProperty(Gt,"lazy",{enumerable:!0,get:function(){return uOe.create}});Object.defineProperty(Gt,"ValidationError",{enumerable:!0,get:function(){return gOe.default}});Object.defineProperty(Gt,"reach",{enumerable:!0,get:function(){return fOe.default}});Object.defineProperty(Gt,"isSchema",{enumerable:!0,get:function(){return IZ.default}});Object.defineProperty(Gt,"setLocale",{enumerable:!0,get:function(){return hOe.default}});Object.defineProperty(Gt,"BaseSchema",{enumerable:!0,get:function(){return pOe.default}});var fZ=sl(VV()),Uv=sl(eX()),hZ=sl(iX()),pZ=sl(oX()),dZ=sl(cX()),CZ=sl(AZ()),mZ=sl(cZ()),cOe=rl(),uOe=uZ(),gOe=op($A()),fOe=op(Dv()),IZ=op(cu()),hOe=op(gZ()),pOe=op(po());function op(t){return t&&t.__esModule?t:{default:t}}function EZ(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return EZ=function(){return t},t}function sl(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=EZ();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function lOe(t,e,r){if(!t||!(0,IZ.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var bZ=C((cot,Ap)=>{"use strict";var mOe=process.env.TERM_PROGRAM==="Hyper",IOe=process.platform==="win32",BZ=process.platform==="linux",Yv={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},wZ=Object.assign({},Yv,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),QZ=Object.assign({},Yv,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:BZ?"\u25B8":"\u276F",pointerSmall:BZ?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});Ap.exports=IOe&&!mOe?wZ:QZ;Reflect.defineProperty(Ap.exports,"common",{enumerable:!1,value:Yv});Reflect.defineProperty(Ap.exports,"windows",{enumerable:!1,value:wZ});Reflect.defineProperty(Ap.exports,"other",{enumerable:!1,value:QZ})});var Yn=C((uot,jv)=>{"use strict";var EOe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),yOe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,DZ=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` -`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=yOe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!EOe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=bZ(),t.define=n,t};jv.exports=DZ();jv.exports.create=DZ});var $r=C(ht=>{"use strict";var BOe=Object.prototype.toString,Qn=Yn(),SZ=!1,Gv=[],xZ={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};ht.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);ht.hasColor=t=>!!t&&Qn.hasColor(t);var Gy=ht.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);ht.nativeType=t=>BOe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");ht.isAsyncFn=t=>ht.nativeType(t)==="asyncfunction";ht.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";ht.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;ht.scrollDown=(t=[])=>[...t.slice(1),t[0]];ht.scrollUp=(t=[])=>[t.pop(),...t];ht.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};ht.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};ht.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};ht.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` -`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};ht.unmute=t=>{let e=t.stack.find(i=>Qn.keys.color.includes(i));return e?Qn[e]:t.stack.find(i=>i.slice(2)==="bg")?Qn[e.slice(2)]:i=>i};ht.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";ht.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i));if(e){let i=Qn["bg"+ht.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?Qn[r.slice(2).toLowerCase()]||t:Qn.none};ht.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>Qn.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return Qn[xZ[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=xZ[i];return n&&Qn["bg"+ht.pascal(n)]||t}return Qn.none};ht.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};ht.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!ht.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};ht.mixin=(t,e)=>{if(!Gy(t))return e;if(!Gy(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&Gy(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);Gy(n.value)?t[r]=ht.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};ht.merge=(...t)=>{let e={};for(let r of t)ht.mixin(e,r);return e};ht.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?ht.define(t,i,n.bind(e)):ht.define(t,i,n)}};ht.onExit=t=>{let e=(r,i)=>{SZ||(SZ=!0,Gv.forEach(n=>n()),r===!0&&process.exit(128+i))};Gv.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),Gv.push(t)};ht.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};ht.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var kZ=C(Bu=>{"use strict";Bu.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Bu.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Bu.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Bu.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Bu.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var FZ=C((hot,vZ)=>{"use strict";var PZ=require("readline"),wOe=kZ(),QOe=/^(?:\x1b)([a-zA-Z0-9])$/,bOe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,DOe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function SOe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function xOe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var qy=(t="",e={})=>{let r,i=v({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` -`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=QOe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=bOe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=DOe[s],i.shift=SOe(s)||i.shift,i.ctrl=xOe(s)||i.ctrl}return i};qy.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=PZ.createInterface({terminal:!0,input:r});PZ.emitKeypressEvents(r,i);let n=(a,l)=>e(a,qy(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};qy.action=(t,e,r)=>{let i=v(v({},wOe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};vZ.exports=qy});var NZ=C((pot,RZ)=>{"use strict";RZ.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),kOe(t,r,i)}};function kOe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var TZ=C((dot,LZ)=>{"use strict";var{define:vOe,width:POe}=$r(),MZ=class{constructor(e){let r=e.options;vOe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=POe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=v({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};LZ.exports=MZ});var KZ=C((Cot,OZ)=>{"use strict";var qv=$r(),Ur=Yn(),Jv={default:Ur.noop,noop:Ur.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||qv.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||qv.complement(this.primary)},primary:Ur.cyan,success:Ur.green,danger:Ur.magenta,strong:Ur.bold,warning:Ur.yellow,muted:Ur.dim,disabled:Ur.gray,dark:Ur.dim.gray,underline:Ur.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};Jv.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Ur.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Ur.visible=t.styles.visible);let e=qv.merge({},Jv,t.styles);delete e.merge;for(let r of Object.keys(Ur))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});for(let r of Object.keys(Ur.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Ur[r]});return e};OZ.exports=Jv});var HZ=C((mot,UZ)=>{"use strict";var Wv=process.platform==="win32",mo=Yn(),FOe=$r(),zv=V(v({},mo.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:mo.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:mo.symbols.question,submitted:mo.symbols.check,cancelled:mo.symbols.cross},separator:{pending:mo.symbols.pointerSmall,submitted:mo.symbols.middot,cancelled:mo.symbols.middot},radio:{off:Wv?"( )":"\u25EF",on:Wv?"(*)":"\u25C9",disabled:Wv?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});zv.merge=t=>{let e=FOe.merge({},mo.symbols,zv,t.symbols);return delete e.merge,e};UZ.exports=zv});var jZ=C((Iot,YZ)=>{"use strict";var ROe=KZ(),NOe=HZ(),LOe=$r();YZ.exports=t=>{t.options=LOe.merge({},t.options.theme,t.options),t.symbols=NOe.merge(t.options),t.styles=ROe.merge(t.options)}});var zZ=C((GZ,qZ)=>{"use strict";var JZ=process.env.TERM_PROGRAM==="Apple_Terminal",MOe=Yn(),Vv=$r(),jn=qZ.exports=GZ,Zt="[",WZ="\x07",Xv=!1,Ia=jn.code={bell:WZ,beep:WZ,beginning:`${Zt}G`,down:`${Zt}J`,esc:Zt,getPosition:`${Zt}6n`,hide:`${Zt}?25l`,line:`${Zt}2K`,lineEnd:`${Zt}K`,lineStart:`${Zt}1K`,restorePosition:Zt+(JZ?"8":"u"),savePosition:Zt+(JZ?"7":"s"),screen:`${Zt}2J`,show:`${Zt}?25h`,up:`${Zt}1J`},ol=jn.cursor={get hidden(){return Xv},hide(){return Xv=!0,Ia.hide},show(){return Xv=!1,Ia.show},forward:(t=1)=>`${Zt}${t}C`,backward:(t=1)=>`${Zt}${t}D`,nextLine:(t=1)=>`${Zt}E`.repeat(t),prevLine:(t=1)=>`${Zt}F`.repeat(t),up:(t=1)=>t?`${Zt}${t}A`:"",down:(t=1)=>t?`${Zt}${t}B`:"",right:(t=1)=>t?`${Zt}${t}C`:"",left:(t=1)=>t?`${Zt}${t}D`:"",to(t,e){return e?`${Zt}${e+1};${t+1}H`:`${Zt}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?ol.left(-t):t>0?ol.right(t):"",r+=e<0?ol.up(-e):e>0?ol.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=Vv.isPrimitive(i)?String(i):"",n=Vv.isPrimitive(n)?String(n):"",a=Vv.isPrimitive(a)?String(a):"",o){let l=jn.cursor.up(o)+jn.cursor.to(s.length),c=n.length-r;return c>0&&(l+=jn.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),jn.cursor.move(l)}}},Zv=jn.erase={screen:Ia.screen,up:Ia.up,down:Ia.down,line:Ia.line,lineEnd:Ia.lineEnd,lineStart:Ia.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return Zv.line+ol.to(0);let r=s=>[...MOe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(Zv.line+ol.prevLine()).repeat(n-1)+Zv.line+ol.to(0)}});var wu=C((Eot,VZ)=>{"use strict";var TOe=require("events"),XZ=Yn(),_v=FZ(),OOe=NZ(),KOe=TZ(),UOe=jZ(),Ri=$r(),al=zZ(),Jy=class extends TOe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,UOe(this),OOe(this),this.state=new KOe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=YOe(this.options.margin),this.setMaxListeners(0),HOe(this)}async keypress(e,r={}){this.keypressed=!0;let i=_v.action(e,_v(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(al.code.beep)}cursorHide(){this.stdout.write(al.cursor.hide()),Ri.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(al.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(al.cursor.down(e)+al.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=al.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=XZ.unstyle(i);let n=XZ.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` -`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Ri.isObject(e)&&(e=e[i.status]||e.pending),Ri.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Ri.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Ri.isObject(s)&&(s=s[i.status]||s.pending),Ri.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Ri.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Ri.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Ri.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Ri.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Ri.resolve(this,e,...r)}get base(){return Jy.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Ri.height(this.stdout,25)}get width(){return this.options.columns||Ri.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function HOe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function YOe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` -`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}VZ.exports=Jy});var $Z=C((yot,ZZ)=>{"use strict";var jOe=$r(),_Z={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return _Z.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};ZZ.exports=(t,e={})=>{let r=jOe.merge({},_Z,e.roles);return r[t]||r.default}});var lp=C((Bot,e_)=>{"use strict";var GOe=Yn(),qOe=wu(),JOe=$Z(),Wy=$r(),{reorder:$v,scrollUp:WOe,scrollDown:zOe,isObject:t_,swap:VOe}=Wy,r_=class extends qOe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");t_(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=JOe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,Wy.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,GOe.unstyle(e.message).length));let o=v({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=v({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return i_(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=$v(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=$v(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=$v(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=WOe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=zOe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){VOe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(t_(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=Wy.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return i_(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function i_(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(Wy.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}e_.exports=r_});var Ea=C((wot,n_)=>{"use strict";var XOe=lp(),eP=$r(),s_=class extends XOe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!eP.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!eP.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(eP.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` -`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` -`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};n_.exports=s_});var A_=C((Qot,o_)=>{"use strict";var ZOe=Ea(),_Oe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},a_=class extends ZOe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=_Oe(this.input,e),i=this.choices;this.choices=i.map(n=>V(v({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};o_.exports=a_});var rP=C((bot,l_)=>{"use strict";var tP=$r();l_.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=tP.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=tP.isPrimitive(i)?`${i}`:"",r=tP.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var zy=C((Dot,c_)=>{"use strict";var $Oe=Yn(),eKe=Ea(),tKe=rP(),u_=class extends eKe{constructor(e){super(V(v({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,I=e.validate||(()=>!0),y=await this.choiceSeparator(e,r),B=e.message;this.align==="right"&&(B=B.padStart(this.longest+1," ")),this.align==="left"&&(B=B.padEnd(this.longest+1," "));let x=this.values[a]=c||o,F=c?"success":"dark";await I.call(e,x,this.state)!==!0&&(F="danger");let O=n[F](await this.indicator(e,r))+(e.pad||""),P=this.indent(e),J=()=>[P,O,B+y,c,p].filter(Boolean).join(" ");if(i.submitted)return B=$Oe.unstyle(B),c=g(c),p="",J();if(e.format)c=await e.format.call(this,c,e,r);else{let oe=this.styles.muted;c=tKe(this,{input:c,initial:o,pos:s,showCursor:m,color:oe})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(B=f(B)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),J()}async submit(){return this.value=this.values,super.base.submit.call(this)}};c_.exports=u_});var iP=C((Sot,g_)=>{"use strict";var rKe=zy(),iKe=()=>{throw new Error("expected prompt to have a custom authenticate method")},f_=(t=iKe)=>{class e extends rKe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return f_(i)}}return e};g_.exports=f_()});var d_=C((xot,h_)=>{"use strict";var nKe=iP();function sKe(t,e){return t.username===this.options.username&&t.password===this.options.password}var p_=(t=sKe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends nKe.create(t){constructor(n){super(V(v({},n),{choices:e}))}static create(n){return p_(n)}}return r};h_.exports=p_()});var Vy=C((kot,C_)=>{"use strict";var oKe=wu(),{isPrimitive:aKe,hasColor:AKe}=$r(),m_=class extends oKe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return aKe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return AKe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` -`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};C_.exports=m_});var y_=C((vot,I_)=>{"use strict";var lKe=Vy(),E_=class extends lKe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};I_.exports=E_});var Q_=C((Pot,B_)=>{"use strict";var cKe=Ea(),uKe=zy(),Qu=uKe.prototype,w_=class extends cKe{constructor(e){super(V(v({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():Qu.dispatch.call(this,e,r)}append(e,r){return Qu.append.call(this,e,r)}delete(e,r){return Qu.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?Qu.next.call(this):super.next()}prev(){return this.focused.editable?Qu.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?Qu.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};B_.exports=w_});var Al=C((Fot,b_)=>{"use strict";var gKe=wu(),fKe=rP(),{isPrimitive:hKe}=$r(),D_=class extends gKe{constructor(e){super(e);this.initial=hKe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` -`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):fKe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` -`)),this.restore()}};b_.exports=D_});var x_=C((Rot,S_)=>{"use strict";var pKe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),Xy=t=>pKe(t).filter(Boolean);S_.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:Xy([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:Xy([...s,r]),present:o};case"save":return{past:Xy([...i,r]),present:""};case"remove":return o=Xy(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var nP=C((Not,k_)=>{"use strict";var dKe=Al(),v_=x_(),P_=class extends dKe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=v_(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=v_("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};k_.exports=P_});var N_=C((Lot,F_)=>{"use strict";var CKe=Al(),R_=class extends CKe{format(){return""}};F_.exports=R_});var T_=C((Mot,L_)=>{"use strict";var mKe=Al(),M_=class extends mKe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};L_.exports=M_});var U_=C((Tot,O_)=>{"use strict";var IKe=Ea(),K_=class extends IKe{constructor(e){super(V(v({},e),{multiple:!0}))}};O_.exports=K_});var sP=C((Oot,H_)=>{"use strict";var EKe=Al(),Y_=class extends EKe{constructor(e={}){super(v({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};H_.exports=Y_});var G_=C((Kot,j_)=>{j_.exports=sP()});var W_=C((Uot,q_)=>{"use strict";var yKe=Al(),J_=class extends yKe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};q_.exports=J_});var Z_=C((Hot,z_)=>{"use strict";var BKe=Yn(),wKe=lp(),V_=$r(),X_=class extends wKe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` - `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` -`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!V_.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=BKe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=V_.wordWrap(c,{width:this.widths[0],newline:a}).split(` -`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` -`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` -`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` -`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};z_.exports=X_});var t$=C((Yot,__)=>{"use strict";var $_=Yn(),QKe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",e$=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=QKe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},bKe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uF.name===y.key);y.field=n.find(F=>F.name===y.key),x||(x=new e$(y),a.push(x)),x.lines.push(y.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};__.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=v(v({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await bKe(e,i),a=oP("result",t,e),l=oP("format",t,e),c=oP("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(B,x,F,N)=>{let O=await c(B,x,F,N);return O===!1?"Invalid field "+F.name:O};for(let B of n){let x=B.value,F=B.key;if(B.type!=="template"){x&&(g.output+=x);continue}if(B.type==="template"){let N=s.find(K=>K.name===F);e.required===!0&&g.required.add(N.name);let O=[N.input,g.values[N.value],N.value,x].find(u),J=(N.field||{}).message||B.inner;if(f){let K=await p(g.values[F],g,N,h);if(K&&typeof K=="string"||K===!1){g.invalid.set(F,K);continue}g.invalid.delete(F);let A=await a(g.values[F],g,N,h);g.output+=$_.unstyle(A);continue}N.placeholder=!1;let oe=x;x=await l(x,g,N,h),O!==x?(g.values[F]=O,x=t.styles.typing(O),g.missing.delete(J)):(g.values[F]=void 0,O=`<${J}>`,x=t.styles.primary(O),N.placeholder=!0,g.required.has(F)&&g.missing.add(J)),g.missing.has(J)&&g.validating&&(x=t.styles.warning(O)),g.invalid.has(F)&&g.validating&&(x=t.styles.danger(O)),h===g.index&&(oe!==x?x=t.styles.underline(x):x=t.styles.heading($_.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(` -`).map(B=>" "+B),I=s.length,y=0;for(let B of s)g.invalid.has(B.name)&&B.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[B.name])&&y++;return g.completed=(y/I*100).toFixed(0),g.output=m.join(` -`),g.output}};function oP(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var n$=C((jot,r$)=>{"use strict";var DKe=Yn(),SKe=t$(),xKe=wu(),i$=class extends xKe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await SKe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` -`].find(B=>B!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),I=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let y=[u,c,h,I,g.trim()];this.write(y.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} -`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=DKe.unstyle(i).split(` -`).map(a=>a.slice(1)).join(` -`);return this.value={values:n,result:o},super.submit()}};r$.exports=i$});var a$=C((Got,s$)=>{"use strict";var kKe="(Use + to sort)",vKe=Ea(),o$=class extends vKe{constructor(e){super(V(v({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,kKe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};s$.exports=o$});var c$=C((qot,A$)=>{"use strict";var PKe=lp(),l$=class extends PKe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` - `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=FKe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((x,F)=>c(F===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,I=h+e.scale.map((x,F)=>m(F)).join(l),y=()=>[u,f].filter(Boolean).join(" "),B=()=>[y(),p,I," "].filter(Boolean).join(` -`);return i&&(p=this.styles.cyan(p),I=this.styles.cyan(I)),B()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` -`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` -`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function FKe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>v({},i));let r=[];for(let i=1;i{u$.exports=nP()});var p$=C((Wot,f$)=>{"use strict";var RKe=Vy(),h$=class extends RKe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` -`)),this.write(this.margin[2]),this.restore()}};f$.exports=h$});var m$=C((zot,d$)=>{"use strict";var NKe=Ea(),C$=class extends NKe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};d$.exports=C$});var E$=C(aP=>{"use strict";var I$=$r(),wr=(t,e)=>{I$.defineExport(aP,t,e),I$.defineExport(aP,t.toLowerCase(),e)};wr("AutoComplete",()=>A_());wr("BasicAuth",()=>d_());wr("Confirm",()=>y_());wr("Editable",()=>Q_());wr("Form",()=>zy());wr("Input",()=>nP());wr("Invisible",()=>N_());wr("List",()=>T_());wr("MultiSelect",()=>U_());wr("Numeral",()=>G_());wr("Password",()=>W_());wr("Scale",()=>Z_());wr("Select",()=>Ea());wr("Snippet",()=>n$());wr("Sort",()=>a$());wr("Survey",()=>c$());wr("Text",()=>g$());wr("Toggle",()=>p$());wr("Quiz",()=>m$())});var B$=C((Xot,y$)=>{y$.exports={ArrayPrompt:lp(),AuthPrompt:iP(),BooleanPrompt:Vy(),NumberPrompt:sP(),StringPrompt:Al()}});var up=C((Zot,w$)=>{"use strict";var Q$=require("assert"),AP=require("events"),ya=$r(),ys=class extends AP{constructor(e,r){super();this.options=ya.merge({},e),this.answers=v({},r)}register(e,r){if(ya.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Q$.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(ya.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=ya.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=ya;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Q$(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||wu()}static get prompts(){return E$()}static get types(){return B$()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return ya.mixinEmitter(e,new AP),e}};ya.mixinEmitter(ys,new AP);var lP=ys.prompts;for(let t of Object.keys(lP)){let e=t.toLowerCase(),r=i=>new lP[t](i).run();ys.prompt[e]=r,ys[e]=r,ys[t]||Reflect.defineProperty(ys,t,{get:()=>lP[t]})}var cp=t=>{ya.defineExport(ys,t,()=>ys.types[t])};cp("ArrayPrompt");cp("AuthPrompt");cp("BooleanPrompt");cp("NumberPrompt");cp("StringPrompt");w$.exports=ys});var L$=C((Uat,N$)=>{function OKe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var KKe=oy(),UKe=Au();function HKe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var YKe=bu(),jKe=fu();function GKe(t,e){return t&&YKe(e,jKe(e),t)}T$.exports=GKe});var U$=C((jat,K$)=>{function qKe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}K$.exports=qKe});var Y$=C((Gat,H$)=>{var JKe=Hn(),WKe=yy(),zKe=U$(),VKe=Object.prototype,XKe=VKe.hasOwnProperty;function ZKe(t){if(!JKe(t))return zKe(t);var e=WKe(t),r=[];for(var i in t)i=="constructor"&&(e||!XKe.call(t,i))||r.push(i);return r}H$.exports=ZKe});var Du=C((qat,j$)=>{var _Ke=ev(),$Ke=Y$(),eUe=qh();function tUe(t){return eUe(t)?_Ke(t,!0):$Ke(t)}j$.exports=tUe});var q$=C((Jat,G$)=>{var rUe=bu(),iUe=Du();function nUe(t,e){return t&&rUe(e,iUe(e),t)}G$.exports=nUe});var pP=C((mp,Su)=>{var sUe=On(),J$=typeof mp=="object"&&mp&&!mp.nodeType&&mp,W$=J$&&typeof Su=="object"&&Su&&!Su.nodeType&&Su,oUe=W$&&W$.exports===J$,z$=oUe?sUe.Buffer:void 0,V$=z$?z$.allocUnsafe:void 0;function aUe(t,e){if(e)return t.slice();var r=t.length,i=V$?V$(r):new t.constructor(r);return t.copy(i),i}Su.exports=aUe});var dP=C((Wat,X$)=>{function AUe(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var lUe=bu(),cUe=wy();function uUe(t,e){return lUe(t,cUe(t),e)}Z$.exports=uUe});var Zy=C((Vat,$$)=>{var gUe=tv(),fUe=gUe(Object.getPrototypeOf,Object);$$.exports=fUe});var CP=C((Xat,eee)=>{var hUe=Ay(),pUe=Zy(),dUe=wy(),CUe=av(),mUe=Object.getOwnPropertySymbols,IUe=mUe?function(t){for(var e=[];t;)hUe(e,dUe(t)),t=pUe(t);return e}:CUe;eee.exports=IUe});var ree=C((Zat,tee)=>{var EUe=bu(),yUe=CP();function BUe(t,e){return EUe(t,yUe(t),e)}tee.exports=BUe});var nee=C((_at,iee)=>{var wUe=ov(),QUe=CP(),bUe=Du();function DUe(t){return wUe(t,bUe,QUe)}iee.exports=DUe});var oee=C(($at,see)=>{var SUe=Object.prototype,xUe=SUe.hasOwnProperty;function kUe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&xUe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}see.exports=kUe});var _y=C((eAt,aee)=>{var Aee=nv();function vUe(t){var e=new t.constructor(t.byteLength);return new Aee(e).set(new Aee(t)),e}aee.exports=vUe});var cee=C((tAt,lee)=>{var PUe=_y();function FUe(t,e){var r=e?PUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}lee.exports=FUe});var gee=C((rAt,uee)=>{var RUe=/\w*$/;function NUe(t){var e=new t.constructor(t.source,RUe.exec(t));return e.lastIndex=t.lastIndex,e}uee.exports=NUe});var Cee=C((iAt,fee)=>{var hee=NA(),pee=hee?hee.prototype:void 0,dee=pee?pee.valueOf:void 0;function LUe(t){return dee?Object(dee.call(t)):{}}fee.exports=LUe});var mP=C((nAt,mee)=>{var MUe=_y();function TUe(t,e){var r=e?MUe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}mee.exports=TUe});var Eee=C((sAt,Iee)=>{var OUe=_y(),KUe=cee(),UUe=gee(),HUe=Cee(),YUe=mP(),jUe="[object Boolean]",GUe="[object Date]",qUe="[object Map]",JUe="[object Number]",WUe="[object RegExp]",zUe="[object Set]",VUe="[object String]",XUe="[object Symbol]",ZUe="[object ArrayBuffer]",_Ue="[object DataView]",$Ue="[object Float32Array]",e1e="[object Float64Array]",t1e="[object Int8Array]",r1e="[object Int16Array]",i1e="[object Int32Array]",n1e="[object Uint8Array]",s1e="[object Uint8ClampedArray]",o1e="[object Uint16Array]",a1e="[object Uint32Array]";function A1e(t,e,r){var i=t.constructor;switch(e){case ZUe:return OUe(t);case jUe:case GUe:return new i(+t);case _Ue:return KUe(t,r);case $Ue:case e1e:case t1e:case r1e:case i1e:case n1e:case s1e:case o1e:case a1e:return YUe(t,r);case qUe:return new i;case JUe:case VUe:return new i(t);case WUe:return UUe(t);case zUe:return new i;case XUe:return HUe(t)}}Iee.exports=A1e});var wee=C((oAt,yee)=>{var l1e=Hn(),Bee=Object.create,c1e=function(){function t(){}return function(e){if(!l1e(e))return{};if(Bee)return Bee(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();yee.exports=c1e});var IP=C((aAt,Qee)=>{var u1e=wee(),g1e=Zy(),f1e=yy();function h1e(t){return typeof t.constructor=="function"&&!f1e(t)?u1e(g1e(t)):{}}Qee.exports=h1e});var Dee=C((AAt,bee)=>{var p1e=Wh(),d1e=ls(),C1e="[object Map]";function m1e(t){return d1e(t)&&p1e(t)==C1e}bee.exports=m1e});var vee=C((lAt,See)=>{var I1e=Dee(),E1e=my(),xee=Iy(),kee=xee&&xee.isMap,y1e=kee?E1e(kee):I1e;See.exports=y1e});var Fee=C((cAt,Pee)=>{var B1e=Wh(),w1e=ls(),Q1e="[object Set]";function b1e(t){return w1e(t)&&B1e(t)==Q1e}Pee.exports=b1e});var Mee=C((uAt,Ree)=>{var D1e=Fee(),S1e=my(),Nee=Iy(),Lee=Nee&&Nee.isSet,x1e=Lee?S1e(Lee):D1e;Ree.exports=x1e});var Hee=C((gAt,Tee)=>{var k1e=Jh(),v1e=L$(),P1e=oy(),F1e=O$(),R1e=q$(),N1e=pP(),L1e=dP(),M1e=_$(),T1e=ree(),O1e=Av(),K1e=nee(),U1e=Wh(),H1e=oee(),Y1e=Eee(),j1e=IP(),G1e=dn(),q1e=Yh(),J1e=vee(),W1e=Hn(),z1e=Mee(),V1e=fu(),X1e=Du(),Z1e=1,_1e=2,$1e=4,Oee="[object Arguments]",e2e="[object Array]",t2e="[object Boolean]",r2e="[object Date]",i2e="[object Error]",Kee="[object Function]",n2e="[object GeneratorFunction]",s2e="[object Map]",o2e="[object Number]",Uee="[object Object]",a2e="[object RegExp]",A2e="[object Set]",l2e="[object String]",c2e="[object Symbol]",u2e="[object WeakMap]",g2e="[object ArrayBuffer]",f2e="[object DataView]",h2e="[object Float32Array]",p2e="[object Float64Array]",d2e="[object Int8Array]",C2e="[object Int16Array]",m2e="[object Int32Array]",I2e="[object Uint8Array]",E2e="[object Uint8ClampedArray]",y2e="[object Uint16Array]",B2e="[object Uint32Array]",Lt={};Lt[Oee]=Lt[e2e]=Lt[g2e]=Lt[f2e]=Lt[t2e]=Lt[r2e]=Lt[h2e]=Lt[p2e]=Lt[d2e]=Lt[C2e]=Lt[m2e]=Lt[s2e]=Lt[o2e]=Lt[Uee]=Lt[a2e]=Lt[A2e]=Lt[l2e]=Lt[c2e]=Lt[I2e]=Lt[E2e]=Lt[y2e]=Lt[B2e]=!0;Lt[i2e]=Lt[Kee]=Lt[u2e]=!1;function $y(t,e,r,i,n,s){var o,a=e&Z1e,l=e&_1e,c=e&$1e;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!W1e(t))return t;var u=G1e(t);if(u){if(o=H1e(t),!a)return L1e(t,o)}else{var g=U1e(t),f=g==Kee||g==n2e;if(q1e(t))return N1e(t,a);if(g==Uee||g==Oee||f&&!n){if(o=l||f?{}:j1e(t),!a)return l?T1e(t,R1e(o,t)):M1e(t,F1e(o,t))}else{if(!Lt[g])return n?t:{};o=Y1e(t,g,a)}}s||(s=new k1e);var h=s.get(t);if(h)return h;s.set(t,o),z1e(t)?t.forEach(function(I){o.add($y(I,e,r,I,t,s))}):J1e(t)&&t.forEach(function(I,y){o.set(y,$y(I,e,r,y,t,s))});var p=c?l?K1e:O1e:l?X1e:V1e,m=u?void 0:p(t);return v1e(m||t,function(I,y){m&&(y=I,I=t[y]),P1e(o,y,$y(I,e,r,y,t,s))}),o}Tee.exports=$y});var EP=C((fAt,Yee)=>{var w2e=Hee(),Q2e=1,b2e=4;function D2e(t){return w2e(t,Q2e|b2e)}Yee.exports=D2e});var Gee=C((hAt,jee)=>{var S2e=vk();function x2e(t,e,r){return t==null?t:S2e(t,e,r)}jee.exports=x2e});var Xee=C((EAt,Vee)=>{function k2e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}Vee.exports=k2e});var _ee=C((yAt,Zee)=>{var v2e=Fh(),P2e=wS();function F2e(t,e){return e.length<2?t:v2e(t,P2e(e,0,-1))}Zee.exports=F2e});var ete=C((BAt,$ee)=>{var R2e=au(),N2e=Xee(),L2e=_ee(),M2e=_A();function T2e(t,e){return e=R2e(e,t),t=L2e(t,e),t==null||delete t[M2e(N2e(e))]}$ee.exports=T2e});var rte=C((wAt,tte)=>{var O2e=ete();function K2e(t,e){return t==null?!0:O2e(t,e)}tte.exports=K2e});var ute=C(($At,cte)=>{cte.exports={name:"@yarnpkg/cli",version:"3.0.2",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^3.0.0","@yarnpkg/fslib":"workspace:^2.5.2","@yarnpkg/libzip":"workspace:^2.2.2","@yarnpkg/parsers":"workspace:^2.4.0","@yarnpkg/plugin-compat":"workspace:^3.0.1","@yarnpkg/plugin-dlx":"workspace:^3.0.0","@yarnpkg/plugin-essentials":"workspace:^3.0.0","@yarnpkg/plugin-file":"workspace:^2.2.1","@yarnpkg/plugin-git":"workspace:^2.4.0","@yarnpkg/plugin-github":"workspace:^2.2.0","@yarnpkg/plugin-http":"workspace:^2.1.3","@yarnpkg/plugin-init":"workspace:^3.0.0","@yarnpkg/plugin-link":"workspace:^2.1.2","@yarnpkg/plugin-nm":"workspace:^3.0.0","@yarnpkg/plugin-npm":"workspace:^2.5.0","@yarnpkg/plugin-npm-cli":"workspace:^3.0.0","@yarnpkg/plugin-pack":"workspace:^3.0.0","@yarnpkg/plugin-patch":"workspace:^3.0.0","@yarnpkg/plugin-pnp":"workspace:^3.0.2","@yarnpkg/shell":"workspace:^3.0.0",chalk:"^3.0.0","ci-info":"^2.0.0",clipanion:"^3.0.1",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/ci-info":"^2","@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:*","@yarnpkg/monorepo":"workspace:*","@yarnpkg/pnpify":"workspace:*",micromatch:"^4.0.2",typescript:"^4.4.2"},peerDependencies:{"@yarnpkg/core":"^3.0.0"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var WP=C((Tht,are)=>{"use strict";are.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var zP=C((Oht,Are)=>{"use strict";var fHe=WP();function lre(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=fHe(t);return t=t.substring(t.indexOf("://")+3),lre(e)?!0:t.indexOf("@"){"use strict";var hHe=WP(),pHe=zP(),dHe=require("querystring");function CHe(t){t=(t||"").trim();var e={protocols:hHe(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(pHe(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=dHe.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}cre.exports=CHe});var hre=C((Uht,gre)=>{"use strict";var mHe=typeof URL=="undefined"?require("url").URL:URL,fre=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t);gre.exports=(t,e)=>{e=Object.assign({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripHash:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps")&&(e.forceHttp=e.normalizeHttps),Reflect.has(e,"normalizeHttp")&&(e.forceHttps=e.normalizeHttp),Reflect.has(e,"stripFragment")&&(e.stripHash=e.stripFragment),t=t.trim();let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new mHe(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?![https?:]).)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];fre(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z\.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])fre(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),t}});var dre=C((Hht,pre)=>{"use strict";var IHe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},EHe=ure(),yHe=hre();function BHe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":IHe(e))!=="object"&&(e={stripFragment:!1}),t=yHe(t,e));var r=EHe(t);return r}pre.exports=BHe});var Ire=C((Yht,Cre)=>{"use strict";var wHe=dre(),mre=zP();function QHe(t){var e=wHe(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),mre(e.protocols)||mre(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}Cre.exports=QHe});var yre=C((jht,Ere)=>{"use strict";var bHe=Ire();function VP(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=bHe(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return VP.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}VP.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?DHe(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function DHe(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}Ere.exports=VP});var lF=C((Npt,kre)=>{var LHe=Au(),MHe=nu();function THe(t,e,r){(r!==void 0&&!MHe(t[e],r)||r===void 0&&!(e in t))&&LHe(t,e,r)}kre.exports=THe});var Pre=C((Lpt,vre)=>{var OHe=qh(),KHe=ls();function UHe(t){return KHe(t)&&OHe(t)}vre.exports=UHe});var Nre=C((Mpt,Fre)=>{var HHe=LA(),YHe=Zy(),jHe=ls(),GHe="[object Object]",qHe=Function.prototype,JHe=Object.prototype,Rre=qHe.toString,WHe=JHe.hasOwnProperty,zHe=Rre.call(Object);function VHe(t){if(!jHe(t)||HHe(t)!=GHe)return!1;var e=YHe(t);if(e===null)return!0;var r=WHe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Rre.call(r)==zHe}Fre.exports=VHe});var cF=C((Tpt,Lre)=>{function XHe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Lre.exports=XHe});var Tre=C((Opt,Mre)=>{var ZHe=bu(),_He=Du();function $He(t){return ZHe(t,_He(t))}Mre.exports=$He});var jre=C((Kpt,Ore)=>{var Kre=lF(),eYe=pP(),tYe=mP(),rYe=dP(),iYe=IP(),Ure=Nh(),Hre=dn(),nYe=Pre(),sYe=Yh(),oYe=iy(),aYe=Hn(),AYe=Nre(),lYe=Ey(),Yre=cF(),cYe=Tre();function uYe(t,e,r,i,n,s,o){var a=Yre(t,r),l=Yre(e,r),c=o.get(l);if(c){Kre(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=Hre(l),h=!f&&sYe(l),p=!f&&!h&&lYe(l);u=l,f||h||p?Hre(a)?u=a:nYe(a)?u=rYe(a):h?(g=!1,u=eYe(l,!0)):p?(g=!1,u=tYe(l,!0)):u=[]:AYe(l)||Ure(l)?(u=a,Ure(a)?u=cYe(a):(!aYe(a)||oYe(a))&&(u=iYe(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),Kre(t,r,u)}Ore.exports=uYe});var Jre=C((Upt,Gre)=>{var gYe=Jh(),fYe=lF(),hYe=_k(),pYe=jre(),dYe=Hn(),CYe=Du(),mYe=cF();function qre(t,e,r,i,n){t!==e&&hYe(e,function(s,o){if(n||(n=new gYe),dYe(s))pYe(t,e,o,r,qre,i,n);else{var a=i?i(mYe(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),fYe(t,o,a)}},CYe)}Gre.exports=qre});var zre=C((Hpt,Wre)=>{var IYe=ly(),EYe=Rk(),yYe=Nk();function BYe(t,e){return yYe(EYe(t,e,IYe),t+"")}Wre.exports=BYe});var Xre=C((Ypt,Vre)=>{var wYe=nu(),QYe=qh(),bYe=Rh(),DYe=Hn();function SYe(t,e,r){if(!DYe(r))return!1;var i=typeof e;return(i=="number"?QYe(r)&&bYe(e,r.length):i=="string"&&e in r)?wYe(r[e],t):!1}Vre.exports=SYe});var _re=C((jpt,Zre)=>{var xYe=zre(),kYe=Xre();function vYe(t){return xYe(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&kYe(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var PYe=Jre(),FYe=_re(),RYe=FYe(function(t,e,r){PYe(t,e,r)});$re.exports=RYe});var pie=C((Vdt,hie)=>{var wF;hie.exports=()=>(typeof wF=="undefined"&&(wF=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),wF)});var yie=C(bF=>{function Fu(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(g=Fu(n[u],c))?g.replace("*",l.substring(u.length-1)):gl(i,l,1)}return gl(i,l)}}function oje(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{(function(t){RF&&typeof RF=="object"&&typeof NF!="undefined"?NF.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Lie=C((bmt,Fie)=>{"use strict";LF.ifExists=dje;var Lu=require("util"),bn=require("path"),Rie=Pie(),Cje=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,mje={createPwshFile:!0,createCmdFile:Rie(),fs:require("fs")},Ije=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Nie(t){let e=v(v({},mje),t),r=e.fs;return e.fs_={chmod:r.chmod?Lu.promisify(r.chmod):async()=>{},mkdir:Lu.promisify(r.mkdir),readFile:Lu.promisify(r.readFile),stat:Lu.promisify(r.stat),unlink:Lu.promisify(r.unlink),writeFile:Lu.promisify(r.writeFile)},e}async function LF(t,e,r){let i=Nie(r);await i.fs_.stat(t),await Eje(t,e,i)}function dje(t,e,r){return LF(t,e,r).catch(()=>{})}function yje(t,e){return e.fs_.unlink(t).catch(()=>{})}async function Eje(t,e,r){let i=await Qje(t,r);return await Bje(e,r),wje(t,e,i,r)}function Bje(t,e){return e.fs_.mkdir(bn.dirname(t),{recursive:!0})}function wje(t,e,r,i){let n=Nie(i),s=[{generator:Sje,extension:""}];return n.createCmdFile&&s.push({generator:Dje,extension:".cmd"}),n.createPwshFile&&s.push({generator:xje,extension:".ps1"}),Promise.all(s.map(o=>bje(t,e+o.extension,r,o.generator,n)))}function kje(t,e){return yje(t,e)}function Pje(t,e){return vje(t,e)}async function Qje(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(Cje);if(!n){let s=bn.extname(t).toLowerCase();return{program:Ije.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function bje(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await kje(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),Pje(e,n)}function Dje(t,e,r){let n=bn.relative(bn.dirname(e),t).split("/").join("\\"),s=bn.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=MF(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r -`:"";return o?g+=`@IF EXIST ${o} (\r - ${o} ${l} ${n} ${u}%*\r -) ELSE (\r - @SETLOCAL\r - @SET PATHEXT=%PATHEXT:;.JS;=;%\r - ${a} ${l} ${n} ${u}%*\r -)\r -`:g+=`@${a} ${l} ${n} ${u}%*\r -`,g}function Sje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=MF(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh -basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") - -case \`uname\` in - *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; -esac - -`,g=r.nodePath?`export NODE_PATH="${l}" -`:"";return s?u+=`${g}if [ -x ${s} ]; then - exec ${s} ${a} ${i} ${c}"$@" -else - exec ${n} ${a} ${i} ${c}"$@" -fi -`:u+=`${g}${n} ${a} ${i} ${c}"$@" -exit $? -`,u}function xje(t,e,r){let i=bn.relative(bn.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=bn.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=MF(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh -$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - -$exe="" -${r.nodePath?`$env_node_path=$env:NODE_PATH -$env:NODE_PATH="${u}" -`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - # Fix case when both the Windows and Linux builds of Node - # are installed in the same directory - $exe=".exe" -}`;return r.nodePath&&(h+=` else { - $env:NODE_PATH="${g}" -}`),o?h+=` -$ret=0 -if (Test-Path ${o}) { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${o} ${l} ${i} ${f}$args - } else { - & ${o} ${l} ${i} ${f}$args - } - $ret=$LASTEXITCODE -} else { - # Support pipeline input - if ($MyInvocation.ExpectingInput) { - $input | & ${s} ${l} ${i} ${f}$args - } else { - & ${s} ${l} ${i} ${f}$args - } - $ret=$LASTEXITCODE -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $ret -`:h+=` -# Support pipeline input -if ($MyInvocation.ExpectingInput) { - $input | & ${s} ${l} ${i} ${f}$args -} else { - & ${s} ${l} ${i} ${f}$args -} -${r.nodePath?`$env:NODE_PATH=$env_node_path -`:""}exit $LASTEXITCODE -`,h}function vje(t,e){return e.fs_.chmod(t,493)}function MF(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(bn.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}Fie.exports=LF});var rR=C((aEt,_ie)=>{_ie.exports=require("stream")});var rne=C((AEt,$ie)=>{"use strict";function ene(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function Zje(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return fB.alloc(0);for(var i=fB.allocUnsafe(r>>>0),n=this.head,s=0;n;)iGe(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=fB.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:rGe,value:function(r,i){return iR(this,Zje({},i,{depth:0,customInspect:!1}))}}]),t}()});var sR=C((lEt,ine)=>{"use strict";function nGe(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(nR,this,t)):process.nextTick(nR,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(hB,r):(r._writableState.errorEmitted=!0,process.nextTick(nne,r,s)):process.nextTick(nne,r,s):e?(process.nextTick(hB,r),e(s)):process.nextTick(hB,r)}),this)}function nne(t,e){nR(t,e),hB(t)}function hB(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function sGe(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function nR(t,e){t.emit("error",e)}function oGe(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}ine.exports={destroy:nGe,undestroy:sGe,errorOrDestroy:oGe}});var ka=C((cEt,sne)=>{"use strict";var one={};function Dn(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,one[t]=n}function ane(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function aGe(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function AGe(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function lGe(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Dn("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Dn("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&aGe(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(AGe(t," argument"))n=`The ${t} ${i} ${ane(e,"type")}`;else{let s=lGe(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${ane(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Dn("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Dn("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Dn("ERR_STREAM_PREMATURE_CLOSE","Premature close");Dn("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Dn("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Dn("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Dn("ERR_STREAM_WRITE_AFTER_END","write after end");Dn("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Dn("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Dn("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");sne.exports.codes=one});var oR=C((uEt,Ane)=>{"use strict";var cGe=ka().codes.ERR_INVALID_OPT_VALUE;function uGe(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function gGe(t,e,r,i){var n=uGe(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new cGe(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Ane.exports={getHighWaterMark:gGe}});var lne=C((gEt,aR)=>{typeof Object.create=="function"?aR.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:aR.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var va=C((fEt,AR)=>{try{if(lR=require("util"),typeof lR.inherits!="function")throw"";AR.exports=lR.inherits}catch(t){AR.exports=lne()}var lR});var une=C((hEt,cne)=>{cne.exports=require("util").deprecate});var gR=C((pEt,gne)=>{"use strict";gne.exports=tr;function fne(t){var e=this;this.next=null,this.entry=null,this.finish=function(){fGe(e,t)}}var Tu;tr.WritableState=od;var hGe={deprecate:une()},hne=rR(),pB=require("buffer").Buffer,pGe=global.Uint8Array||function(){};function dGe(t){return pB.from(t)}function CGe(t){return pB.isBuffer(t)||t instanceof pGe}var cR=sR(),mGe=oR(),IGe=mGe.getHighWaterMark,Pa=ka().codes,EGe=Pa.ERR_INVALID_ARG_TYPE,yGe=Pa.ERR_METHOD_NOT_IMPLEMENTED,BGe=Pa.ERR_MULTIPLE_CALLBACK,wGe=Pa.ERR_STREAM_CANNOT_PIPE,QGe=Pa.ERR_STREAM_DESTROYED,bGe=Pa.ERR_STREAM_NULL_VALUES,DGe=Pa.ERR_STREAM_WRITE_AFTER_END,SGe=Pa.ERR_UNKNOWN_ENCODING,Ou=cR.errorOrDestroy;va()(tr,hne);function xGe(){}function od(t,e,r){Tu=Tu||pl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Tu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=IGe(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){kGe(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new fne(this)}od.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(od.prototype,"buffer",{get:hGe.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var dB;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(dB=Function.prototype[Symbol.hasInstance],Object.defineProperty(tr,Symbol.hasInstance,{value:function(e){return dB.call(this,e)?!0:this!==tr?!1:e&&e._writableState instanceof od}})):dB=function(e){return e instanceof this};function tr(t){Tu=Tu||pl();var e=this instanceof Tu;if(!e&&!dB.call(tr,this))return new tr(t);this._writableState=new od(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),hne.call(this)}tr.prototype.pipe=function(){Ou(this,new wGe)};function vGe(t,e){var r=new DGe;Ou(t,r),process.nextTick(e,r)}function PGe(t,e,r,i){var n;return r===null?n=new bGe:typeof r!="string"&&!e.objectMode&&(n=new EGe("chunk",["string","Buffer"],r)),n?(Ou(t,n),process.nextTick(i,n),!1):!0}tr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&CGe(t);return s&&!pB.isBuffer(t)&&(t=dGe(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=xGe),i.ending?vGe(this,r):(s||PGe(this,i,t,r))&&(i.pendingcb++,n=FGe(this,i,s,t,e,r)),n};tr.prototype.cork=function(){this._writableState.corked++};tr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&pne(this,t))};tr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new SGe(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(tr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function RGe(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=pB.from(e,r)),e}Object.defineProperty(tr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function FGe(t,e,r,i,n,s){if(!r){var o=RGe(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var UGe=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};mne.exports=ws;var Ine=fR(),hR=gR();va()(ws,Ine);for(pR=UGe(hR.prototype),CB=0;CB{var IB=require("buffer"),wo=IB.Buffer;function yne(t,e){for(var r in t)e[r]=t[r]}wo.from&&wo.alloc&&wo.allocUnsafe&&wo.allocUnsafeSlow?Ene.exports=IB:(yne(IB,dR),dR.Buffer=Ku);function Ku(t,e,r){return wo(t,e,r)}yne(wo,Ku);Ku.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return wo(t,e,r)};Ku.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=wo(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};Ku.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return wo(t)};Ku.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return IB.SlowBuffer(t)}});var IR=C(wne=>{"use strict";var CR=Bne().Buffer,Qne=CR.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function jGe(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function GGe(t){var e=jGe(t);if(typeof e!="string"&&(CR.isEncoding===Qne||!Qne(t)))throw new Error("Unknown encoding: "+t);return e||t}wne.StringDecoder=Ad;function Ad(t){this.encoding=GGe(t);var e;switch(this.encoding){case"utf16le":this.text=JGe,this.end=WGe,e=4;break;case"utf8":this.fillLast=qGe,e=4;break;case"base64":this.text=zGe,this.end=VGe,e=3;break;default:this.write=XGe,this.end=ZGe;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=CR.allocUnsafe(e)}Ad.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function eqe(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function tqe(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function qGe(t){var e=this.lastTotal-this.lastNeed,r=tqe(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function $Ge(t,e){var r=eqe(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function _Ge(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function JGe(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function WGe(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function zGe(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function VGe(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function XGe(t){return t.toString(this.encoding)}function ZGe(t){return t&&t.length?this.write(t):""}});var EB=C((mEt,bne)=>{"use strict";var Dne=ka().codes.ERR_STREAM_PREMATURE_CLOSE;function rqe(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var yB;function Fa(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var sqe=EB(),Ra=Symbol("lastResolve"),dl=Symbol("lastReject"),ld=Symbol("error"),BB=Symbol("ended"),Cl=Symbol("lastPromise"),ER=Symbol("handlePromise"),ml=Symbol("stream");function Na(t,e){return{value:t,done:e}}function oqe(t){var e=t[Ra];if(e!==null){var r=t[ml].read();r!==null&&(t[Cl]=null,t[Ra]=null,t[dl]=null,e(Na(r,!1)))}}function aqe(t){process.nextTick(oqe,t)}function Aqe(t,e){return function(r,i){t.then(function(){if(e[BB]){r(Na(void 0,!0));return}e[ER](r,i)},i)}}var lqe=Object.getPrototypeOf(function(){}),cqe=Object.setPrototypeOf((yB={get stream(){return this[ml]},next:function(){var e=this,r=this[ld];if(r!==null)return Promise.reject(r);if(this[BB])return Promise.resolve(Na(void 0,!0));if(this[ml].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[ld]?a(e[ld]):o(Na(void 0,!0))})});var i=this[Cl],n;if(i)n=new Promise(Aqe(i,this));else{var s=this[ml].read();if(s!==null)return Promise.resolve(Na(s,!1));n=new Promise(this[ER])}return this[Cl]=n,n}},Fa(yB,Symbol.asyncIterator,function(){return this}),Fa(yB,"return",function(){var e=this;return new Promise(function(r,i){e[ml].destroy(null,function(n){if(n){i(n);return}r(Na(void 0,!0))})})}),yB),lqe),uqe=function(e){var r,i=Object.create(cqe,(r={},Fa(r,ml,{value:e,writable:!0}),Fa(r,Ra,{value:null,writable:!0}),Fa(r,dl,{value:null,writable:!0}),Fa(r,ld,{value:null,writable:!0}),Fa(r,BB,{value:e._readableState.endEmitted,writable:!0}),Fa(r,ER,{value:function(s,o){var a=i[ml].read();a?(i[Cl]=null,i[Ra]=null,i[dl]=null,s(Na(a,!1))):(i[Ra]=s,i[dl]=o)},writable:!0}),r));return i[Cl]=null,sqe(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[dl];s!==null&&(i[Cl]=null,i[Ra]=null,i[dl]=null,s(n)),i[ld]=n;return}var o=i[Ra];o!==null&&(i[Cl]=null,i[Ra]=null,i[dl]=null,o(Na(void 0,!0))),i[BB]=!0}),e.on("readable",aqe.bind(null,i)),i};xne.exports=uqe});var Rne=C((EEt,vne)=>{"use strict";function Pne(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function gqe(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Pne(s,i,n,o,a,"next",l)}function a(l){Pne(s,i,n,o,a,"throw",l)}o(void 0)})}}function Fne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function hqe(t){for(var e=1;e{"use strict";Nne.exports=Ct;var Uu;Ct.ReadableState=Lne;var yEt=require("events").EventEmitter,Mne=function(e,r){return e.listeners(r).length},cd=rR(),wB=require("buffer").Buffer,Cqe=global.Uint8Array||function(){};function mqe(t){return wB.from(t)}function Iqe(t){return wB.isBuffer(t)||t instanceof Cqe}var yR=require("util"),ut;yR&&yR.debuglog?ut=yR.debuglog("stream"):ut=function(){};var Eqe=rne(),BR=sR(),yqe=oR(),Bqe=yqe.getHighWaterMark,QB=ka().codes,wqe=QB.ERR_INVALID_ARG_TYPE,Qqe=QB.ERR_STREAM_PUSH_AFTER_EOF,bqe=QB.ERR_METHOD_NOT_IMPLEMENTED,Dqe=QB.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,Hu,wR,QR;va()(Ct,cd);var ud=BR.errorOrDestroy,bR=["error","close","destroy","pause","resume"];function Sqe(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function Lne(t,e,r){Uu=Uu||pl(),t=t||{},typeof r!="boolean"&&(r=e instanceof Uu),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Bqe(this,t,"readableHighWaterMark",r),this.buffer=new Eqe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Hu||(Hu=IR().StringDecoder),this.decoder=new Hu(t.encoding),this.encoding=t.encoding)}function Ct(t){if(Uu=Uu||pl(),!(this instanceof Ct))return new Ct(t);var e=this instanceof Uu;this._readableState=new Lne(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),cd.call(this)}Object.defineProperty(Ct.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Ct.prototype.destroy=BR.destroy;Ct.prototype._undestroy=BR.undestroy;Ct.prototype._destroy=function(t,e){e(t)};Ct.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=wB.from(t,e),e=""),i=!0),Tne(this,t,e,!1,i)};Ct.prototype.unshift=function(t){return Tne(this,t,null,!0,!1)};function Tne(t,e,r,i,n){ut("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,kqe(t,s);else{var o;if(n||(o=xqe(s,e)),o)ud(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==wB.prototype&&(e=mqe(e)),i)s.endEmitted?ud(t,new Dqe):DR(t,s,e,!0);else if(s.ended)ud(t,new Qqe);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?DR(t,s,e,!1):SR(t,s)):DR(t,s,e,!1)}else i||(s.reading=!1,SR(t,s))}return!s.ended&&(s.length=One?t=One:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function Kne(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=vqe(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Ct.prototype.read=function(t){ut("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return ut("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?xR(this):bB(this),null;if(t=Kne(t,e),t===0&&e.ended)return e.length===0&&xR(this),null;var i=e.needReadable;ut("need readable",i),(e.length===0||e.length-t0?n=Une(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&xR(this)),n!==null&&this.emit("data",n),n};function kqe(t,e){if(ut("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?bB(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,Hne(t)))}}function bB(t){var e=t._readableState;ut("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(ut("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(Hne,t))}function Hne(t){var e=t._readableState;ut("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,kR(t)}function SR(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(Pqe,t,e))}function Pqe(t,e){for(;!e.reading&&!e.ended&&(e.length1&&Yne(i.pipes,t)!==-1)&&!c&&(ut("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(I){ut("onerror",I),m(),t.removeListener("error",f),Mne(t,"error")===0&&ud(t,I)}Sqe(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){ut("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){ut("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(ut("pipe resume"),r.resume()),t};function Fqe(t){return function(){var r=t._readableState;ut("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&Mne(t,"data")&&(r.flowing=!0,kR(t))}}Ct.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,ut("on readable",i.length,i.reading),i.length?bB(this):i.reading||process.nextTick(Rqe,this)),r};Ct.prototype.addListener=Ct.prototype.on;Ct.prototype.removeListener=function(t,e){var r=cd.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(jne,this),r};Ct.prototype.removeAllListeners=function(t){var e=cd.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(jne,this),e};function jne(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function Rqe(t){ut("readable nexttick read 0"),t.read(0)}Ct.prototype.resume=function(){var t=this._readableState;return t.flowing||(ut("resume"),t.flowing=!t.readableListening,Nqe(this,t)),t.paused=!1,this};function Nqe(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(Lqe,t,e))}function Lqe(t,e){ut("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),kR(t),e.flowing&&!e.reading&&t.read(0)}Ct.prototype.pause=function(){return ut("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ut("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function kR(t){var e=t._readableState;for(ut("flow",e.flowing);e.flowing&&t.read()!==null;);}Ct.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(ut("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(ut("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function xR(t){var e=t._readableState;ut("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(Mqe,e,t))}function Mqe(t,e){if(ut("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Ct.from=function(t,e){return QR===void 0&&(QR=Rne()),QR(Ct,t,e)});function Yne(t,e){for(var r=0,i=t.length;r{"use strict";Gne.exports=Qo;var DB=ka().codes,Tqe=DB.ERR_METHOD_NOT_IMPLEMENTED,Oqe=DB.ERR_MULTIPLE_CALLBACK,Kqe=DB.ERR_TRANSFORM_ALREADY_TRANSFORMING,Uqe=DB.ERR_TRANSFORM_WITH_LENGTH_0,SB=pl();va()(Qo,SB);function Hqe(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new Oqe);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";Jne.exports=gd;var Wne=vR();va()(gd,Wne);function gd(t){if(!(this instanceof gd))return new gd(t);Wne.call(this,t)}gd.prototype._transform=function(t,e,r){r(null,t)}});var $ne=C((bEt,Vne)=>{"use strict";var PR;function jqe(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var Xne=ka().codes,Gqe=Xne.ERR_MISSING_ARGS,qqe=Xne.ERR_STREAM_DESTROYED;function Zne(t){if(t)throw t}function Jqe(t){return t.setHeader&&typeof t.abort=="function"}function Wqe(t,e,r,i){i=jqe(i);var n=!1;t.on("close",function(){n=!0}),PR===void 0&&(PR=EB()),PR(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,Jqe(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new qqe("pipe"))}}}function _ne(t){t()}function zqe(t,e){return t.pipe(e)}function Vqe(t){return!t.length||typeof t[t.length-1]!="function"?Zne:t.pop()}function Xqe(){for(var t=arguments.length,e=new Array(t),r=0;r0;return Wqe(o,l,c,function(u){n||(n=u),u&&s.forEach(_ne),!l&&(s.forEach(_ne),i(n))})});return e.reduce(zqe)}Vne.exports=Xqe});var Yu=C((Sn,fd)=>{var hd=require("stream");process.env.READABLE_STREAM==="disable"&&hd?(fd.exports=hd.Readable,Object.assign(fd.exports,hd),fd.exports.Stream=hd):(Sn=fd.exports=fR(),Sn.Stream=hd||Sn,Sn.Readable=Sn,Sn.Writable=gR(),Sn.Duplex=pl(),Sn.Transform=vR(),Sn.PassThrough=zne(),Sn.finished=EB(),Sn.pipeline=$ne())});var rse=C((DEt,ese)=>{"use strict";var{Buffer:Jn}=require("buffer"),tse=Symbol.for("BufferList");function Tt(t){if(!(this instanceof Tt))return new Tt(t);Tt._init.call(this,t)}Tt._init=function(e){Object.defineProperty(this,tse,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Tt.prototype._new=function(e){return new Tt(e)};Tt.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Tt.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Tt.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Jn.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Jn.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};Tt.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};Tt.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};Tt.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Tt.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};Tt.prototype._match=function(t,e){if(this.length-t{"use strict";var FR=Yu().Duplex,Zqe=va(),pd=rse();function ei(t){if(!(this instanceof ei))return new ei(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}pd._init.call(this,t),FR.call(this)}Zqe(ei,FR);Object.assign(ei.prototype,pd.prototype);ei.prototype._new=function(e){return new ei(e)};ei.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};ei.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};ei.prototype.end=function(e){FR.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};ei.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};ei.prototype._isBufferList=function(e){return e instanceof ei||e instanceof pd||ei.isBufferList(e)};ei.isBufferList=pd.isBufferList;xB.exports=ei;xB.exports.BufferListStream=ei;xB.exports.BufferList=pd});var LR=C(ju=>{var _qe=Buffer.alloc,$qe="0000000000000000000",eJe="7777777777777777777",nse="0".charCodeAt(0),sse=Buffer.from("ustar\0","binary"),tJe=Buffer.from("00","binary"),rJe=Buffer.from("ustar ","binary"),iJe=Buffer.from(" \0","binary"),nJe=parseInt("7777",8),dd=257,RR=263,sJe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},oJe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},aJe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},ose=function(t,e,r,i){for(;re?eJe.slice(0,e)+" ":$qe.slice(0,e-t.length)+t+" "};function AJe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};ju.decodeLongPath=function(t,e){return Gu(t,0,t.length,e)};ju.encodePax=function(t){var e="";t.name&&(e+=NR(" path="+t.name+` -`)),t.linkname&&(e+=NR(" linkpath="+t.linkname+` -`));var r=t.pax;if(r)for(var i in r)e+=NR(" "+i+"="+r[i]+` -`);return Buffer.from(e)};ju.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(La(t.mode&nJe,6),100),e.write(La(t.uid,6),108),e.write(La(t.gid,6),116),e.write(La(t.size,11),124),e.write(La(t.mtime.getTime()/1e3|0,11),136),e[156]=nse+aJe(t.type),t.linkname&&e.write(t.linkname,157),sse.copy(e,dd),tJe.copy(e,RR),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(La(t.devmajor||0,6),329),e.write(La(t.devminor||0,6),337),i&&e.write(i,345),e.write(La(ase(e),6),148),e)};ju.decode=function(t,e,r){var i=t[156]===0?0:t[156]-nse,n=Gu(t,0,100,e),s=Ma(t,100,8),o=Ma(t,108,8),a=Ma(t,116,8),l=Ma(t,124,12),c=Ma(t,136,12),u=oJe(i),g=t[157]===0?null:Gu(t,157,100,e),f=Gu(t,265,32),h=Gu(t,297,32),p=Ma(t,329,8),m=Ma(t,337,8),I=ase(t);if(I===8*32)return null;if(I!==Ma(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(sse.compare(t,dd,dd+6)===0)t[345]&&(n=Gu(t,345,155,e)+"/"+n);else if(!(rJe.compare(t,dd,dd+6)===0&&iJe.compare(t,RR,RR+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var hse=C((kEt,Ase)=>{var lse=require("util"),lJe=ise(),Cd=LR(),cse=Yu().Writable,use=Yu().PassThrough,gse=function(){},fse=function(t){return t&=511,t&&512-t},cJe=function(t,e){var r=new kB(t,e);return r.end(),r},uJe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},kB=function(t,e){this._parent=t,this.offset=e,use.call(this,{autoDestroy:!1})};lse.inherits(kB,use);kB.prototype.destroy=function(t){this._parent.destroy(t)};var bo=function(t){if(!(this instanceof bo))return new bo(t);cse.call(this,t),t=t||{},this._offset=0,this._buffer=lJe(),this._missing=0,this._partial=!1,this._onparse=gse,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=fse(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(fse(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=Cd.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=Cd.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=Cd.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=Cd.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=uJe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,cJe(e,f),n);return}e._stream=new kB(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};lse.inherits(bo,cse);bo.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};bo.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};bo.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=gse,this._overflow?this._write(this._overflow,void 0,t):t()}};bo.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};bo.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Ase.exports=bo});var dse=C((vEt,pse)=>{pse.exports=require("fs").constants||require("constants")});var yse=C((PEt,Cse)=>{var qu=dse(),mse=vb(),vB=va(),gJe=Buffer.alloc,Ise=Yu().Readable,Ju=Yu().Writable,fJe=require("string_decoder").StringDecoder,PB=LR(),hJe=parseInt("755",8),pJe=parseInt("644",8),Ese=gJe(1024),MR=function(){},TR=function(t,e){e&=511,e&&t.push(Ese.slice(0,512-e))};function dJe(t){switch(t&qu.S_IFMT){case qu.S_IFBLK:return"block-device";case qu.S_IFCHR:return"character-device";case qu.S_IFDIR:return"directory";case qu.S_IFIFO:return"fifo";case qu.S_IFLNK:return"symlink"}return"file"}var FB=function(t){Ju.call(this),this.written=0,this._to=t,this._destroyed=!1};vB(FB,Ju);FB.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};FB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var RB=function(){Ju.call(this),this.linkname="",this._decoder=new fJe("utf-8"),this._destroyed=!1};vB(RB,Ju);RB.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};RB.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var md=function(){Ju.call(this),this._destroyed=!1};vB(md,Ju);md.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};md.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Qs=function(t){if(!(this instanceof Qs))return new Qs(t);Ise.call(this,t),this._drain=MR,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};vB(Qs,Ise);Qs.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=MR);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=dJe(t.mode)),t.mode||(t.mode=t.type==="directory"?hJe:pJe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return TR(i,t.size),n?process.nextTick(r):this._drain=r,new md}if(t.type==="symlink"&&!t.linkname){var s=new RB;return mse(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new md;var o=new FB(this);return this._stream=o,mse(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));TR(i,t.size),i._finalizing&&i.finalize(),r()}),o}};Qs.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Ese),this.push(null))};Qs.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};Qs.prototype._encode=function(t){if(!t.pax){var e=PB.encode(t);if(e){this.push(e);return}}this._encodePax(t)};Qs.prototype._encodePax=function(t){var e=PB.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(PB.encode(r)),this.push(e),TR(this,e.length),r.size=t.size,r.type=t.type,this.push(PB.encode(r))};Qs.prototype._read=function(t){var e=this._drain;this._drain=MR,e()};Cse.exports=Qs});var Bse=C(OR=>{OR.extract=hse();OR.pack=yse()});var Lse=C((eyt,Pse)=>{"use strict";var Wu=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Rse(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return GR(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):kJe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Wu(this.__specs,this.__opts,Rse(this.__providers).concat(e)),Fse)}};try{let t=require("util");Wu.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function vJe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function GR(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))vJe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=Nse(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=Nse(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function Nse(t,e){let r;return e.__isFiggyPudding?r=GR(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Fse={has(t,e){return e in t.__specs&&GR(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Wu.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Pse.exports=PJe;function PJe(t,e){function r(...i){return new Proxy(new Wu(t,e,i),Fse)}return r}function Rse(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function kJe(t){return Object.keys(t).map(e=>[e,t[e]])}});var Ose=C((tyt,bs)=>{"use strict";var Ed=require("crypto"),FJe=Lse(),RJe=require("stream").Transform,Mse=["sha256","sha384","sha512"],NJe=/^[a-z0-9+/]+(?:=?=?)$/i,LJe=/^([^-]+)-([^?]+)([?\S*]*)$/,MJe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,TJe=/^[\x21-\x7E]+$/,mi=FJe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>OJe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Il=class{get isHash(){return!0}constructor(e,r){r=mi(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?MJe:LJe);if(!n||i&&!Mse.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=mi(e),e.strict&&!(Mse.some(i=>i===this.algorithm)&&this.digest.match(NJe)&&(this.options||[]).every(i=>i.match(TJe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},zu=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=mi(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Il.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=mi(r);let i=typeof e=="string"?e:yd(e,r);return Ds(`${this.toString(r)} ${i}`,r)}hexDigest(){return Ds(this,{single:!0}).hexDigest()}match(e,r){r=mi(r);let i=Ds(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=mi(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};bs.exports.parse=Ds;function Ds(t,e){if(e=mi(e),typeof t=="string")return qR(t,e);if(t.algorithm&&t.digest){let r=new zu;return r[t.algorithm]=[t],qR(yd(r,e),e)}else return qR(yd(t,e),e)}function qR(t,e){return e.single?new Il(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Il(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new zu)}bs.exports.stringify=yd;function yd(t,e){return e=mi(e),t.algorithm&&t.digest?Il.prototype.toString.call(t,e):typeof t=="string"?yd(Ds(t,e),e):zu.prototype.toString.call(t,e)}bs.exports.fromHex=KJe;function KJe(t,e,r){r=mi(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return Ds(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}bs.exports.fromData=UJe;function UJe(t,e){e=mi(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=Ed.createHash(s).update(t).digest("base64"),a=new Il(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new zu)}bs.exports.fromStream=HJe;function HJe(t,e){e=mi(e);let r=e.Promise||Promise,i=JR(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}bs.exports.checkData=YJe;function YJe(t,e,r){if(r=mi(r),e=Ds(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=Ed.createHash(i).update(t).digest("base64"),s=Ds({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. - Wanted: ${r.size} - Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}bs.exports.checkStream=jJe;function jJe(t,e,r){r=mi(r);let i=r.Promise||Promise,n=JR(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}bs.exports.integrityStream=JR;function JR(t){t=mi(t);let e=t.integrity&&Ds(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(Ed.createHash),a=0,l=new RJe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=Ds(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. - Wanted: ${t.size} - Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}bs.exports.create=GJe;function GJe(t){t=mi(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(Ed.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Il(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new zu)}}}var qJe=new Set(Ed.getHashes()),Tse=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>qJe.has(t));function OJe(t,e){return Tse.indexOf(t.toLowerCase())>=Tse.indexOf(e.toLowerCase())?t:e}});var Th={};et(Th,{BuildType:()=>Vi,Cache:()=>ft,Configuration:()=>le,DEFAULT_LOCK_FILENAME:()=>ok,DEFAULT_RC_FILENAME:()=>sk,FormatType:()=>ds,InstallMode:()=>kr,LightReport:()=>uo,LinkType:()=>lt,Manifest:()=>ze,MessageName:()=>z,PackageExtensionStatus:()=>qr,PackageExtensionType:()=>Dr,Project:()=>Fe,ProjectLookup:()=>Ca,Report:()=>ci,ReportError:()=>_e,SettingsType:()=>ge,StreamReport:()=>xe,TAG_REGEXP:()=>Zc,TelemetryManager:()=>Mh,ThrowReport:()=>Br,VirtualFetcher:()=>Ih,Workspace:()=>Lh,WorkspaceResolver:()=>Ci,YarnVersion:()=>Er,execUtils:()=>Lr,folderUtils:()=>Hw,formatUtils:()=>Ae,hashUtils:()=>Di,httpUtils:()=>Rt,miscUtils:()=>de,scriptUtils:()=>Qt,semverUtils:()=>vt,structUtils:()=>w,tgzUtils:()=>hr,treeUtils:()=>Un});var Lr={};et(Lr,{EndStrategy:()=>sn,execvp:()=>kae,pipevp:()=>Ts});var kg={};et(kg,{AliasFS:()=>Ja,CwdFS:()=>yt,DEFAULT_COMPRESSION_LEVEL:()=>qa,FakeFS:()=>Ns,Filename:()=>xt,JailFS:()=>Ls,LazyFS:()=>bg,LinkStrategy:()=>Ig,NoFS:()=>BC,NodeFS:()=>Ft,PortablePath:()=>we,PosixFS:()=>Dg,ProxiedFS:()=>Nr,VirtualFS:()=>ir,ZipFS:()=>Qr,ZipOpenFS:()=>nn,extendFs:()=>QC,normalizeLineEndings:()=>Dl,npath:()=>T,opendir:()=>IC,patchFs:()=>Dw,ppath:()=>D,statUtils:()=>gw,toFilename:()=>rr,xfs:()=>L});var gw={};et(gw,{BigIntStatsEntry:()=>dg,DirEntry:()=>yN,StatEntry:()=>Ro,areStatsEqual:()=>hw,clearStats:()=>fC,convertToBigIntStats:()=>hC,makeDefaultStats:()=>Cg,makeEmptyStats:()=>Goe});var fw=te(require("util"));var tn=61440,Po=16384,Rs=32768,Fo=40960;var yN=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},Ro=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Rs|420;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&tn)===Po}isFIFO(){return!1}isFile(){return(this.mode&tn)===Rs}isSocket(){return!1}isSymbolicLink(){return(this.mode&tn)===Fo}},dg=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Rs|420);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(tn))===BigInt(Po)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(tn))===BigInt(Rs)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(tn))===BigInt(Fo)}};function Cg(){return new Ro}function Goe(){return fC(Cg())}function fC(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):fw.types.isDate(r)&&(t[e]=new Date(0))}return t}function hC(t){let e=new dg;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):fw.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function hw(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var dC=te(require("fs"));var mg=te(require("path")),BN;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(BN||(BN={}));var we={root:"/",dot:"."},xt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},T=Object.create(mg.default),D=Object.create(mg.default.posix);T.cwd=()=>process.cwd();D.cwd=()=>pw(process.cwd());D.resolve=(...t)=>t.length>0&&D.isAbsolute(t[0])?mg.default.posix.resolve(...t):mg.default.posix.resolve(D.cwd(),...t);var wN=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};T.fromPortablePath=QN;T.toPortablePath=pw;T.contains=(t,e)=>wN(T,t,e);D.contains=(t,e)=>wN(D,t,e);var bN=/^([a-zA-Z]:.*)$/,DN=/^\\\\(\.\\)?(.*)$/,SN=/^\/([a-zA-Z]:.*)$/,xN=/^\/unc\/(\.dot\/)?(.*)$/;function QN(t){if(process.platform!=="win32")return t;if(t.match(SN))t=t.replace(SN,"$1");else if(t.match(xN))t=t.replace(xN,(e,r,i)=>`\\\\${r?".\\":""}${i}`);else return t;return t.replace(/\//g,"\\")}function pw(t){return process.platform!=="win32"?t:(t.match(bN)?t=t.replace(bN,"/$1"):t.match(DN)&&(t=t.replace(DN,(e,r,i)=>`/unc/${r?".dot/":""}${i}`)),t.replace(/\\/g,"/"))}function pC(t,e){return t===T?QN(e):pw(e)}function rr(t){if(T.parse(t).dir!==""||D.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var kN=new Date(315532800*1e3),Ig;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(Ig||(Ig={}));async function vN(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[];await t.mkdirPromise(t.pathUtils.dirname(e),{recursive:!0});let c=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await dw(a,l,c,t,s,r,o,n);for(let u of a)await u();await Promise.all(l.map(u=>u()))}async function dw(t,e,r,i,n,s,o,a){var f,h;let l=await qoe(i,n),c=await s.lstatPromise(o),u=a.stableTime?{mtime:kN,atime:kN}:c,g;switch(!0){case c.isDirectory():g=await Joe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():g=await Woe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():g=await zoe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(g||((f=l==null?void 0:l.mtime)==null?void 0:f.getTime())!==u.mtime.getTime()||((h=l==null?void 0:l.atime)==null?void 0:h.getTime())!==u.atime.getTime())&&(e.push(()=>r(n,u.atime,u.mtime)),g=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),g=!0),g}async function qoe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function Joe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>i.mkdirPromise(n,{mode:l.mode})),u=!0);let g=await o.readdirPromise(a);if(c.stableSort)for(let f of g.sort())await dw(t,e,r,i,i.pathUtils.join(n,f),o,o.pathUtils.join(a,f),c)&&(u=!0);else(await Promise.all(g.map(async h=>{await dw(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),c)}))).some(h=>h)&&(u=!0);return u}var Cw=new WeakMap;function mw(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===Ig.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Voe(t,e,r,i,n){let s=Cw.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,dC.default.constants.COPYFILE_FICLONE_FORCE),Cw.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")Cw.set(t,!1),await mw(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,dC.default.constants.COPYFILE_FICLONE_FORCE):mw(t,e,r,i,n)}async function Woe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Voe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,dC.default.constants.COPYFILE_FICLONE):u!==null?mw(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function zoe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(pC(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function rn(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function CC(t){return rn("EBUSY",t)}function Eg(t,e){return rn("ENOSYS",`${t}, ${e}`)}function No(t){return rn("EINVAL",`invalid argument, ${t}`)}function ti(t){return rn("EBADF",`bad file descriptor, ${t}`)}function kn(t){return rn("ENOENT",`no such file or directory, ${t}`)}function Xn(t){return rn("ENOTDIR",`not a directory, ${t}`)}function yg(t){return rn("EISDIR",`illegal operation on a directory, ${t}`)}function mC(t){return rn("EEXIST",`file already exists, ${t}`)}function Bi(t){return rn("EROFS",`read-only filesystem, ${t}`)}function PN(t){return rn("ENOTEMPTY",`directory not empty, ${t}`)}function FN(t){return rn("EOPNOTSUPP",`operation not supported, ${t}`)}function RN(){return rn("ERR_DIR_CLOSED","Directory handle was closed")}var Iw=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var NN=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw RN()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function IC(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new NN(e,n,i)}var LN=te(require("os"));var Ns=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let o=await this.readdirPromise(e);await Promise.all(o.map(a=>this.removePromise(this.pathUtils.resolve(e,a))))}let s=0;do try{await this.rmdirPromise(e);break}catch(o){if(o.code==="EBUSY"||o.code==="ENOTEMPTY"){if(i===0)break;await new Promise(a=>setTimeout(a,s*100));continue}else throw o}while(s++{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} -`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} -`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}};Ns.DEFAULT_TIME=315532800;var Ya=class extends Ns{constructor(){super(D)}};function Xoe(t){let e=t.match(/\r?\n/g);if(e===null)return LN.EOL;let r=e.filter(n=>n===`\r -`).length,i=e.length-r;return r>i?`\r -`:` -`}function Dl(t,e){return e.replace(/\r?\n/g,Xoe(t))}var Sl=te(require("fs")),Ew=te(require("stream")),KN=te(require("util")),yw=te(require("zlib"));var MN=te(require("fs"));var Ft=class extends Ya{constructor(e=MN.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return we.root}resolve(e){return D.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(T.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(T.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(T.fromPortablePath(e),r):this.realFs.opendirSync(T.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?T.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?T.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(T.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>T.toPortablePath(r))}realpathSync(e){return T.toPortablePath(this.realFs.realpathSync(T.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(T.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(T.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(T.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(T.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(T.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(T.fromPortablePath(e),r):this.realFs.statSync(T.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(T.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(T.fromPortablePath(e),r):this.realFs.lstatSync(T.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(T.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(T.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(T.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(T.fromPortablePath(e),T.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(T.fromPortablePath(e),T.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(T.fromPortablePath(e),T.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(T.fromPortablePath(e),T.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?T.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(T.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(T.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(T.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(T.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Eg("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,T.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Eg("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,T.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(T.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(T.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(T.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(T.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(T.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(T.fromPortablePath(e),T.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(T.fromPortablePath(e),T.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(T.fromPortablePath(e.replace(/\/+$/,"")),T.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(T.fromPortablePath(e.replace(/\/+$/,"")),T.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?T.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?T.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(T.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(T.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(T.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(T.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(T.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>T.toPortablePath(r))}readlinkSync(e){return T.toPortablePath(this.realFs.readlinkSync(T.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(T.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(T.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(T.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(T.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(T.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var TN=te(require("events"));var ja;(function(r){r.Change="change",r.Stop="stop"})(ja||(ja={}));var Ga;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(Ga||(Ga={}));function ON(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var Bg=class extends TN.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=Ga.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new Bg(e,r,i);return n.start(),n}start(){ON(this.status,Ga.Ready),this.status=Ga.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(ja.Change,this.lastStats,this.lastStats)},3)}stop(){ON(this.status,Ga.Running),this.status=Ga.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(ja.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){if(e.code==="ENOENT"){let r=this.bigint?new dg:new Ro;return fC(r)}else throw e}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;hw(i,n)||(this.lastStats=i,this.emit(ja.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(ja.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(ja.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var EC=new WeakMap;function yC(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=EC.get(t);typeof l=="undefined"&&EC.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=Bg.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function wg(t,e,r){let i=EC.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Qg(t){let e=EC.get(t);if(typeof e!="undefined")for(let r of e.keys())wg(t,r)}var qa="mixed";function Zoe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if((0,KN.isDate)(t))return t.getTime()/1e3;throw new Error("Invalid time")}var Qr=class extends Ya{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:qa,e===null&&(e=Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),typeof e=="string"){let{baseFs:o=new Ft}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Cg();else throw o}else this.stats=Cg();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(T.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(we.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw CC("archive closed, close");Qg(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)?this.baseFs.statSync(this.path).mode&511:null;if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));e===null?this.baseFs.chmodSync(this.path,this.stats.mode):e!==(this.baseFs.statSync(this.path).mode&511)&&this.baseFs.chmodSync(this.path,e),this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return D.resolve(we.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Xn(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return IC(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=0,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw ti("read");let a;s===-1||s===null?a=o.cursor:a=s;let l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?ti("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw ti("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new Ew.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw Bi(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new Ew.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw kn(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw CC(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=D.resolve(we.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=Sl.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`access '${e}'`);if(this.readOnly&&r&Sl.constants.W_OK)throw Bi(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw ti("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw kn(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Xn(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,I=new Date(h),y=new Date(p),B=new Date(m),x=new Date(f),F=this.listings.has(r)?Po:this.isSymbolicLink(n)?Fo:Rs,N=F===Po?493:420,O=F|this.getUnixMode(n,N)&511,P=this.libzip.struct.statCrc(s),J=Object.assign(new Ro,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:I,birthtime:y,ctime:B,mtime:x,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:O,crc:P});return i.bigint===!0?hC(J):J}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),I=new Date(f),y=new Date(h),B=Po|493,x=0,F=Object.assign(new Ro,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:I,mtime:y,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:B,crc:x});return i.bigint===!0?hC(F):F}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;let i=this.registerListing(D.dirname(e));return r=new Set,i.add(D.basename(e)),this.listings.set(e,r),r}registerEntry(e,r){this.registerListing(D.dirname(e)).add(D.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(D.dirname(e));r==null||r.delete(D.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw CC(`archive closed, ${e}`);let n=D.resolve(we.root,r);if(n==="/")return we.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,D.resolve(D.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,D.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw kn(e);if(!a)throw Xn(e);if(n=D.resolve(o,D.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=D.resolve(D.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=D.relative(we.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a;if(this.level===0?a=this.libzip.ZIP_CM_STORE:a=this.libzip.ZIP_CM_DEFLATE,this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&tn)===Fo}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{yw.default.inflateRaw(f,(m,I)=>{m?p(m):(this.fileSources.set(e,I),h(I))})});{let h=yw.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw Bi(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,Rs|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw Bi(`copyfile '${e} -> '${r}'`);if((i&Sl.constants.COPYFILE_FICLONE_FORCE)!=0)throw Eg("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw No(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(Sl.constants.COPYFILE_EXCL|Sl.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw mC(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=v({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw Bi(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=v({flag:"a"},i)),this.writeFileSync(e,r,i)}async writeFilePromise(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(s,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}writeFileSync(e,r,i){let{encoding:n,index:s,resolvedP:o}=this.prepareWriteFile(e,i);s!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(s),Buffer.from(r)])),n!==null&&(r=r.toString(n));let a=this.setFileSource(o,r);a!==s&&this.registerEntry(o,a)}prepareWriteFile(e,r){if(typeof e!="string")throw ti("read");if(this.readOnly)throw Bi(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw yg(`open '${e}'`);let n=null;typeof r=="string"?n=r:typeof r=="object"&&r.encoding&&(n=r.encoding);let s=this.entries.get(i);return{encoding:n,resolvedP:i,index:s}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw Bi(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw yg(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw No(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw Bi(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw Bi(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,Zoe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw Bi(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw mC(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw Bi(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Xn(`rmdir '${e}'`);if(n.size>0)throw PN(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw No(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,D.relative(we.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw FN(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw Bi(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw yg(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw mC(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(Fo|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Xn(`open '${e}'`);if(this.listings.has(i))throw yg("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw kn(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Xn(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",D.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw kn(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Xn(`open '${e}'`);if(this.listings.has(r))throw No(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw No(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw No(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw No(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=this.resolveFilename(`open '${e}'`,e);return yC(this,n,r,i)}unwatchFile(e,r){let i=this.resolveFilename(`open '${e}'`,e);return wg(this,i,r)}};var Nr=class extends Ns{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Ja=class extends Nr{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var yt=class extends Nr{constructor(e,{baseFs:r=new Ft}={}){super(D);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?D.normalize(e):this.baseFs.resolve(D.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var UN=we.root,Ls=class extends Nr{constructor(e,{baseFs:r=new Ft}={}){super(D);this.target=this.pathUtils.resolve(we.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(we.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(UN,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(UN,this.pathUtils.relative(this.target,e))}};var bg=class extends Nr{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var Ye=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),Bw=class extends Ns{constructor(){super(D)}getExtractHint(){throw Ye()}getRealPath(){throw Ye()}resolve(){throw Ye()}async openPromise(){throw Ye()}openSync(){throw Ye()}async opendirPromise(){throw Ye()}opendirSync(){throw Ye()}async readPromise(){throw Ye()}readSync(){throw Ye()}async writePromise(){throw Ye()}writeSync(){throw Ye()}async closePromise(){throw Ye()}closeSync(){throw Ye()}createWriteStream(){throw Ye()}createReadStream(){throw Ye()}async realpathPromise(){throw Ye()}realpathSync(){throw Ye()}async readdirPromise(){throw Ye()}readdirSync(){throw Ye()}async existsPromise(e){throw Ye()}existsSync(e){throw Ye()}async accessPromise(){throw Ye()}accessSync(){throw Ye()}async statPromise(){throw Ye()}statSync(){throw Ye()}async fstatPromise(e){throw Ye()}fstatSync(e){throw Ye()}async lstatPromise(e){throw Ye()}lstatSync(e){throw Ye()}async chmodPromise(){throw Ye()}chmodSync(){throw Ye()}async chownPromise(){throw Ye()}chownSync(){throw Ye()}async mkdirPromise(){throw Ye()}mkdirSync(){throw Ye()}async rmdirPromise(){throw Ye()}rmdirSync(){throw Ye()}async linkPromise(){throw Ye()}linkSync(){throw Ye()}async symlinkPromise(){throw Ye()}symlinkSync(){throw Ye()}async renamePromise(){throw Ye()}renameSync(){throw Ye()}async copyFilePromise(){throw Ye()}copyFileSync(){throw Ye()}async appendFilePromise(){throw Ye()}appendFileSync(){throw Ye()}async writeFilePromise(){throw Ye()}writeFileSync(){throw Ye()}async unlinkPromise(){throw Ye()}unlinkSync(){throw Ye()}async utimesPromise(){throw Ye()}utimesSync(){throw Ye()}async readFilePromise(){throw Ye()}readFileSync(){throw Ye()}async readlinkPromise(){throw Ye()}readlinkSync(){throw Ye()}async truncatePromise(){throw Ye()}truncateSync(){throw Ye()}watch(){throw Ye()}watchFile(){throw Ye()}unwatchFile(){throw Ye()}},BC=Bw;BC.instance=new Bw;var Dg=class extends Nr{constructor(e){super(T);this.baseFs=e}mapFromBase(e){return T.fromPortablePath(e)}mapToBase(e){return T.toPortablePath(e)}};var _oe=/^[0-9]+$/,ww=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,$oe=/^([^/]+-)?[a-f0-9]+$/,ir=class extends Nr{static makeVirtualPath(e,r,i){if(D.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!D.basename(r).match($oe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=D.relative(D.dirname(e),i).split("/"),o=0;for(;o{let e=t.indexOf(Qw);if(e<=0)return null;let r=e;for(;e>=0&&(r=e+Qw.length,t[r]!==D.sep);){if(t[e-1]===D.sep)return null;e=t.indexOf(Qw,r)}return t.length>r&&t[r]!==D.sep?null:t.slice(0,r)},nn=class extends Ya{constructor({libzip:e,baseFs:r=new Ft,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a}static async openPromise(e,r){let i=new nn(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Qg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(Qg(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Ms;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Ms)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Ms)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Ms)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Ms)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw ti("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Ms)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Ms)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw ti("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{subPath:n})=>i.createReadStream(n,r))}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(we.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(we.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Ms)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Ms)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw ti("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Sg.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Sg.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>yC(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>wg(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=eae(e.substr(r.length));if(!i)return null;if(r=this.pathUtils.join(r,i),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(we.root,e.substr(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Qr(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Qr(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Qr(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Qr(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var xg=te(require("util"));var wC=te(require("url"));var bw=class extends Nr{constructor(e){super(T);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof wC.URL?(0,wC.fileURLToPath)(e):e}};var tae=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),HN=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),rae=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function Dw(t,e){e=new bw(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[xg.promisify.custom])!="undefined"&&(s[xg.promisify.custom]=o[xg.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(i,n,...s)=>{let a=typeof s[s.length-1]=="function"?s.pop():()=>{};process.nextTick(()=>{e.readPromise(i,n,...s).then(l=>{a(null,l,n)},l=>{a(l,0,n)})})});for(let i of HN){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}});for(let i of tae){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of HN){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of rae){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[xg.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function QC(t,e){let r=Object.create(t);return Dw(r,e),r}var YN=te(require("os"));function jN(t){let e=T.toPortablePath(YN.default.tmpdir()),r=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return D.join(e,`${t}${r}`)}var vn=new Set,GN=!1;function qN(){GN||(GN=!0,process.once("exit",()=>{L.rmtempSync()}))}var L=Object.assign(new Ft,{detachTemp(t){vn.delete(t)},mktempSync(t){for(qN();;){let e=jN("xfs-");try{this.mkdirSync(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=this.realpathSync(e);if(vn.add(r),typeof t!="undefined")try{return t(r)}finally{if(vn.has(r)){vn.delete(r);try{this.removeSync(r)}catch{}}}else return r}},async mktempPromise(t){for(qN();;){let e=jN("xfs-");try{await this.mkdirPromise(e)}catch(i){if(i.code==="EEXIST")continue;throw i}let r=await this.realpathPromise(e);if(vn.add(r),typeof t!="undefined")try{return await t(r)}finally{if(vn.has(r)){vn.delete(r);try{await this.removePromise(r)}catch{}}}else return r}},async rmtempPromise(){await Promise.all(Array.from(vn.values()).map(async t=>{try{await L.removePromise(t,{maxRetries:0}),vn.delete(t)}catch{}}))},rmtempSync(){for(let t of vn)try{L.removeSync(t),vn.delete(t)}catch{}}});var Tw=te(Mw()),sn;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(sn||(sn={}));function Wa(t){return t!==null&&typeof t.fd=="number"}var za=new Set;function Ow(){}function Kw(){for(let t of za)t.kill()}async function Ts(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":Wa(s)&&(c[0]=s),Wa(o)&&(c[1]=o),Wa(a)&&(c[2]=a);let u=(0,Tw.default)(t,e,{cwd:T.fromPortablePath(r),env:V(v({},i),{PWD:T.fromPortablePath(r)}),stdio:c});za.add(u),za.size===1&&(process.on("SIGINT",Ow),process.on("SIGTERM",Kw)),!Wa(s)&&s!==null&&s.pipe(u.stdin),Wa(o)||u.stdout.pipe(o,{end:!1}),Wa(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))Wa(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{za.delete(u),za.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{za.delete(u),za.size===0&&(process.off("SIGINT",Ow),process.off("SIGTERM",Kw)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:Uw(p,m)}):h(p!==null?new Error(`Child "${t}" exited with exit code ${p}`):new Error(`Child "${t}" exited with signal ${m}`))})})}async function kae(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=T.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=V(v({},i),{PWD:c}));let u=(0,Tw.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",()=>{f()}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),I=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:Uw(h,p),stdout:m,stderr:I}):f(Object.assign(new Error(`Child "${t}" exited with exit code ${h} - -${I}`),{code:Uw(h,p),stdout:m,stderr:I}))})})}var vae=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function Uw(t,e){let r=vae.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}var Hw={};et(Hw,{getDefaultGlobalFolder:()=>jw,getHomeFolder:()=>vg,isFolderInside:()=>Gw});var Yw=te(require("os"));function jw(){if(process.platform==="win32"){let t=T.toPortablePath(process.env.LOCALAPPDATA||T.join((0,Yw.homedir)(),"AppData","Local"));return D.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=T.toPortablePath(process.env.XDG_DATA_HOME);return D.resolve(t,"yarn/berry")}return D.resolve(vg(),".yarn/berry")}function vg(){return T.toPortablePath((0,Yw.homedir)()||"/usr/local/share")}function Gw(t,e){let r=D.relative(e,t);return r&&!r.startsWith("..")&&!D.isAbsolute(r)}var Ae={};et(Ae,{LogLevel:()=>Ln,Style:()=>pA,Type:()=>Pe,addLogFilterSupport:()=>Bf,applyColor:()=>Gi,applyHyperlink:()=>tc,applyStyle:()=>Hm,json:()=>rc,mark:()=>ib,pretty:()=>qe,prettyField:()=>CA,prettyList:()=>hb,supportsColor:()=>Km,supportsHyperlinks:()=>gb,tuple:()=>dA});var yf=te(eQ()),K2=te(Ng()),U2=te(Yi()),H2=te(bT());var z;(function(_){_[_.UNNAMED=0]="UNNAMED",_[_.EXCEPTION=1]="EXCEPTION",_[_.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",_[_.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",_[_.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",_[_.BUILD_DISABLED=5]="BUILD_DISABLED",_[_.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",_[_.MUST_BUILD=7]="MUST_BUILD",_[_.MUST_REBUILD=8]="MUST_REBUILD",_[_.BUILD_FAILED=9]="BUILD_FAILED",_[_.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",_[_.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",_[_.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",_[_.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",_[_.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",_[_.REMOTE_INVALID=15]="REMOTE_INVALID",_[_.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",_[_.RESOLUTION_PACK=17]="RESOLUTION_PACK",_[_.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",_[_.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",_[_.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",_[_.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",_[_.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",_[_.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",_[_.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",_[_.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",_[_.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",_[_.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",_[_.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",_[_.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",_[_.FETCH_FAILED=30]="FETCH_FAILED",_[_.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",_[_.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",_[_.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",_[_.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",_[_.NETWORK_ERROR=35]="NETWORK_ERROR",_[_.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",_[_.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",_[_.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",_[_.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",_[_.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",_[_.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",_[_.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",_[_.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",_[_.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",_[_.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",_[_.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",_[_.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",_[_.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",_[_.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",_[_.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",_[_.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",_[_.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",_[_.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",_[_.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",_[_.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",_[_.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",_[_.INVALID_MANIFEST=57]="INVALID_MANIFEST",_[_.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",_[_.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",_[_.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",_[_.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",_[_.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",_[_.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",_[_.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",_[_.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",_[_.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",_[_.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",_[_.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",_[_.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",_[_.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",_[_.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",_[_.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",_[_.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK"})(z||(z={}));function MC(t){return`YN${t.toString(10).padStart(4,"0")}`}var de={};et(de,{BufferStream:()=>ZK,CachingStrategy:()=>aA,DefaultStream:()=>_K,assertNever:()=>JQ,bufferStream:()=>af,buildIgnorePattern:()=>Dge,convertMapsToIndexableObjects:()=>nm,dynamicRequire:()=>ql,escapeRegExp:()=>Bge,getArrayWithDefault:()=>Yl,getFactoryWithDefault:()=>Ys,getMapWithDefault:()=>jl,getSetWithDefault:()=>oA,isIndexableObject:()=>WQ,isPathLike:()=>Sge,isTaggedYarnVersion:()=>yge,mapAndFilter:()=>sA,mapAndFind:()=>XK,overrideType:()=>qQ,parseBoolean:()=>lf,parseOptionalBoolean:()=>rU,prettifyAsyncErrors:()=>Gl,prettifySyncErrors:()=>zQ,releaseAfterUseAsync:()=>Qge,replaceEnvVariables:()=>VQ,sortMap:()=>bi,tryParseOptionalBoolean:()=>XQ,validateEnum:()=>wge});var Jg={};et(Jg,{Builtins:()=>PQ,Cli:()=>ts,Command:()=>he,Option:()=>j,UsageError:()=>me});var Za=0,Kg=1,ri=2,dQ="",Mr="\0",Ml=-1,CQ=/^(-h|--help)(?:=([0-9]+))?$/,TC=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,DT=/^-[a-zA-Z]{2,}$/,mQ=/^([^=]+)=([\s\S]*)$/,IQ=process.env.DEBUG_CLI==="1";var me=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ug=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} - -${this.candidates.map(({usage:n})=>`$ ${n}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${i} -${EQ(e)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${EQ(e)}`}},yQ=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${EQ(e)}`}},EQ=t=>`While running ${t.filter(e=>e!==Mr).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var Hg=Symbol("clipanion/isOption");function ii(t){return V(v({},t),{[Hg]:!0})}function es(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function OC(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function Yg(t,e){return e.length===1?new me(`${t}: ${OC(e[0],!0)}`):new me(`${t}: -${e.map(r=>` -- ${OC(r)}`).join("")}`)}function jg(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw Yg(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var he=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(typeof r!="undefined"){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Pn(),Tl)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw Yg("Invalid option schema",l);for(let[,g]of c)g()}let i=await this.execute();return typeof i!="undefined"?i:0}};he.isOption=Hg;he.Default=[];function Qi(t){IQ&&console.log(t)}var MT={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:Ml};function TT(){return{nodes:[si(),si(),si()]}}function $le(t){let e=TT(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(Za)}function tce(t,{prefix:e=""}={}){if(IQ){Qi(`${e}Nodes are:`);for(let r=0;rl!==ri).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===ri))throw new Ug(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=rce(a)}if(i.length>0){Qi(" Results:");for(let s of i)Qi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Qi(" No results");return i}function ice(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,Mr)){for(let{to:r}of t.statics[Mr])if(r===Kg)return!0}return!1}function sce(t,e,r){let i=r&&e.length>0?[""]:[],n=KT(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],I=Object.keys(m.statics);for(let y of Object.keys(m.statics)){let B=I[0];for(let{to:x,reducer:F}of m.statics[B])F==="pushPath"&&(u||l.push(B),g.push(x))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=ice(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==Mr||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===ri)continue;let p=nce(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function ace(t,e){let r=KT(t,[...e,Mr]);return oce(e,r.map(({state:i})=>i))}function rce(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function oce(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ug(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=Ace(c);if(u.length>1)throw new yQ(t,u.map(g=>g.candidateUsage));return u[0]}function Ace(t){let e=[],r=[];for(let i of t)i.selectedIndex===Ml?r.push(i):e.push(i);return r.length>0&&e.push(V(v({},MT),{path:UT(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function UT(t,e,...r){return e===void 0?Array.from(t):UT(t.filter((i,n)=>i===e[n]),...r)}function si(){return{dynamics:[],shortcuts:[],statics:{}}}function OT(t){return t===Kg||t===ri}function xQ(t,e=0){return{to:OT(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function _le(t,e=0){let r=si();for(let[i,n]of t.dynamics)r.dynamics.push([i,xQ(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(xQ(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>xQ(s,e));return r}function Tr(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function Ol(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function Ks(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function UC(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function nce(t,e){let r=Array.isArray(t)?HC[t[0]]:HC[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var HC={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&DT.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(mQ);return!t.ignoreOptions&&!!n&&TC.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&CQ.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&TC.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!TC.test(e)};HC.isOption.suggest=(t,e,r=!0)=>r?null:[e];var SQ={setCandidateState:(t,e,r)=>v(v({},t),r),setSelectedIndex:(t,e,r)=>V(v({},t),{selectedIndex:r}),pushBatch:(t,e)=>V(v({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(mQ);return V(v({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>V(v({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>V(v({},t),{positionals:t.positionals.concat({value:e,extra:ji})}),pushTrue:(t,e,r=e)=>V(v({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>V(v({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>V(v({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=V(v({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=V(v({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>V(v({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(CQ);return typeof i!="undefined"?V(v({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):V(v({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===Mr?V(v({},t),{errorMessage:`${r}.`}):V(v({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return V(v({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},ji=Symbol(),HT=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===ji)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==ji?this.arity.extra.push(e):this.arity.extra!==ji&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===ji)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===ji?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=TT(),r=Za,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=Fn(e,si()),Ks(e,Za,dQ,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=Fn(e,si());Ol(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=Fn(e,si());Tr(e,l,"isHelp",f,["useHelp",this.cliIndex]),Ks(e,f,Mr,Kg,["setSelectedIndex",Ml]),this.registerOptions(e,l)}this.arity.leading.length>0&&Ks(e,l,Mr,ri,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&Ks(e,h,Mr,ri,["setError","Not enough positional arguments"]),Tr(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===ji||this.arity.extra.length>0){let f=Fn(e,si());if(Ol(e,c,f),this.arity.extra===ji){let h=Fn(e,si());this.arity.proxy||this.registerOptions(e,h),Tr(e,c,s,h,"pushExtraNoLimits"),Tr(e,h,s,h,"pushExtraNoLimits"),Ol(e,h,f)}else for(let h=0;h0&&Ks(e,u,Mr,ri,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Tr(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Tr(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=Fn(e,si());for(let o of i.names)Tr(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eace(i,n),suggest:(n,s)=>sce(i,n,s)}}};var YT=80,kQ=Array(YT).fill("\u2501");for(let t=0;t<=24;++t)kQ[kQ.length-t]=`[38;5;${232+t}m\u2501`;var vQ={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},jT={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function lce(t){let e=t.split(` -`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` -`)}function An(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` -`),t=lce(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 - -`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` -`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` -`)}).join(` - -`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} -`:""}var qg=class extends he{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new qg(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};var GT=Symbol("clipanion/errorCommand");function cce(){return process.env.FORCE_COLOR==="0"?!1:!!(process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY)}var ts=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableColors:n=cce()}={}){this.registrations=new Map,this.builder=new Gg({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableColors=n}static from(e,r={}){let i=new ts(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[he.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case Ml:return qg.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[GT]=a,l}}break}}async run(e,r){let i;if(!Array.isArray(e))i=e;else try{i=this.process(e)}catch(s){return r.stdout.write(this.error(s)),1}if(i.help)return r.stdout.write(this.usage(i,{detailed:!0})),0;i.context=r,i.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(s,o)=>this.error(s,o),process:s=>this.process(s),run:(s,o)=>this.run(s,v(v({},r),o)),usage:(s,o)=>this.usage(s,o)};let n;try{n=await i.validateAndExecute().catch(s=>i.catch(s).then(()=>0))}catch(s){return r.stdout.write(this.error(s,{command:i})),1}return n}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?An(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?An(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?An(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[An(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof he?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=An(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` -`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} -`,a+=` -`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} -`,f.length>0){a+=` -`,a+=`${vQ.header("Options")} -`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` -`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${An(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` -`,a+=`${this.format(r).header("Details")} -`,a+=` -`,a+=An(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` -`,a+=`${this.format(r).header("Examples")} -`;for(let[h,p]of u)a+=` -`,a+=An(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} -`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?An(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:I}=this.getUsageByIndex(h);m.push({commandClass:f,usage:I})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} -`:a+=`${this.format(r).header(`${this.binaryVersion}`)} -`,a+=` ${this.format(r).bold(n)}${this.binaryName} -`):a+=`${this.format(r).bold(n)}${this.binaryName} -`;for(let f of c){let h=l.get(f).slice().sort((m,I)=>m.usage.localeCompare(I.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` -`,a+=`${this.format(r).header(`${p}`)} -`;for(let{commandClass:m,usage:I}of h){let y=m.usage.description||"undocumented";a+=` -`,a+=` ${this.format(r).bold(I)} -`,a+=` ${An(y,{format:this.format(r),paragraphs:!1})}`}}a+=` -`,a+=An("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[GT])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} -`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` -`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}format(e=this.enableColors){return e?vQ:jT}};ts.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr};var PQ={};et(PQ,{DefinitionsCommand:()=>YC,HelpCommand:()=>jC,VersionCommand:()=>GC});var YC=class extends he{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};YC.paths=[["--clipanion=definitions"]];var jC=class extends he{async execute(){this.context.stdout.write(this.cli.usage())}};jC.paths=[["-h"],["--help"]];var GC=class extends he{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};GC.paths=[["-v"],["--version"]];var j={};et(j,{Array:()=>qT,Boolean:()=>JT,Counter:()=>WT,Proxy:()=>zT,Rest:()=>VT,String:()=>XT,applyValidator:()=>jg,cleanValidationError:()=>OC,formatError:()=>Yg,isOptionSymbol:()=>Hg,makeCommandOption:()=>ii,rerouteArguments:()=>es});function qT(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function JT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function WT(t,e,r){let[i,n]=es(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return ii({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function zT(t={}){return ii({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function VT(t={}){return ii({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===ji||a.extra===!1&&oo)}})}function uce(t,e,r){let[i,n]=es(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return ii({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?jg(g!=null?g:c,f,n.validator):f}})}function gce(t={}){let{required:e=!0}=t;return ii({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oJSON.stringify(i)).join(", ")})`);return e}function sA(t,e){let r=[];for(let i of t){let n=e(i);n!==zK&&r.push(n)}return r}var zK=Symbol();sA.skip=zK;function XK(t,e){for(let r of t){let i=e(r);if(i!==VK)return i}}var VK=Symbol();XK.skip=VK;function WQ(t){return typeof t=="object"&&t!==null}function nm(t){if(t instanceof Map&&(t=Object.fromEntries(t)),WQ(t))for(let e of Object.keys(t)){let r=t[e];WQ(r)&&(t[e]=nm(r))}return t}function Ys(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function Yl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function oA(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function jl(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function Qge(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Gl(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function zQ(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function af(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var ZK=class extends GQ.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}},_K=class extends GQ.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},Af=eval("require");function $K(t){return Af(T.fromPortablePath(t))}function eU(path){let physicalPath=T.fromPortablePath(path),currentCacheEntry=Af.cache[physicalPath];delete Af.cache[physicalPath];let result;try{result=$K(physicalPath);let freshCacheEntry=Af.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{Af.cache[physicalPath]=currentCacheEntry}return result}var tU=new Map;function bge(t){let e=tU.get(t),r=L.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=eU(t);return tU.set(t,{mtime:r.mtimeMs,instance:i}),i}var aA;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(aA||(aA={}));function ql(t,{cachingStrategy:e=2}={}){switch(e){case 0:return eU(t);case 1:return bge(t);case 2:return $K(t);default:throw new Error("Unsupported caching strategy")}}function bi(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Dge(t){return t.length===0?null:t.map(e=>`(${JK.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function VQ(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new me(`Environment variable not found (${n})`)})}function lf(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function rU(t){return typeof t=="undefined"?t:lf(t)}function XQ(t){try{return rU(t)}catch{return null}}function Sge(t){return!!(T.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var w={};et(w,{areDescriptorsEqual:()=>L2,areIdentsEqual:()=>Cf,areLocatorsEqual:()=>ob,areVirtualPackagesEquivalent:()=>zpe,bindDescriptor:()=>Jpe,bindLocator:()=>Wpe,convertDescriptorToLocator:()=>Lm,convertLocatorToDescriptor:()=>Mm,convertPackageToLocator:()=>qpe,convertToIdent:()=>Gpe,convertToManifestRange:()=>Zpe,copyPackage:()=>hf,devirtualizeDescriptor:()=>pf,devirtualizeLocator:()=>df,getIdentVendorPath:()=>_pe,isVirtualDescriptor:()=>qo,isVirtualLocator:()=>ss,makeDescriptor:()=>zt,makeIdent:()=>Go,makeLocator:()=>Ai,makeRange:()=>Tm,parseDescriptor:()=>Jo,parseFileStyleRange:()=>Vpe,parseIdent:()=>Si,parseLocator:()=>hA,parseRange:()=>_l,prettyDependent:()=>cb,prettyDescriptor:()=>Ut,prettyIdent:()=>Cr,prettyLocator:()=>nt,prettyLocatorNoColors:()=>Ab,prettyRange:()=>Rm,prettyReference:()=>If,prettyResolution:()=>lb,prettyWorkspace:()=>Ef,renamePackage:()=>ff,slugifyIdent:()=>ab,slugifyLocator:()=>$l,sortDescriptors:()=>ec,stringifyDescriptor:()=>xi,stringifyIdent:()=>dt,stringifyLocator:()=>gn,tryParseDescriptor:()=>mf,tryParseIdent:()=>M2,tryParseLocator:()=>T2,virtualizeDescriptor:()=>nb,virtualizePackage:()=>sb});var Zl=te(require("querystring")),N2=te(cr());var Di={};et(Di,{checksumFile:()=>Pm,checksumPattern:()=>Fm,makeHash:()=>ai});var vm=te(require("crypto")),rb=te(tb());function ai(...t){let e=(0,vm.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Pm(t,{baseFs:e,algorithm:r}={baseFs:L,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,vm.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function Fm(t,{cwd:e}){let i=(await(0,rb.default)(t,{cwd:T.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,rb.default)([t,...i],{cwd:T.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=T.toPortablePath(a),u=await L.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await L.readlinkPromise(c))):u.isFile()&&l.push(await L.readFilePromise(c)),l.join("\0")})),o=(0,vm.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Nm="virtual:",jpe=5;function Go(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ai(t,e),scope:t,name:e}}function zt(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ai(t.identHash,e),range:e}}function Ai(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ai(t.identHash,e),reference:e}}function Gpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function Lm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function Mm(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function qpe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function ff(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function hf(t){return ff(t,t)}function nb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return zt(t,`virtual:${e}#${t.range}`)}function sb(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return ff(t,Ai(t,`virtual:${e}#${t.reference}`))}function qo(t){return t.range.startsWith(Nm)}function ss(t){return t.reference.startsWith(Nm)}function pf(t){if(!qo(t))throw new Error("Not a virtual descriptor");return zt(t,t.range.replace(/^[^#]*#/,""))}function df(t){if(!ss(t))throw new Error("Not a virtual descriptor");return Ai(t,t.reference.replace(/^[^#]*#/,""))}function Jpe(t,e){return t.range.includes("::")?t:zt(t,`${t.range}::${Zl.default.stringify(e)}`)}function Wpe(t,e){return t.reference.includes("::")?t:Ai(t,`${t.reference}::${Zl.default.stringify(e)}`)}function Cf(t,e){return t.identHash===e.identHash}function L2(t,e){return t.descriptorHash===e.descriptorHash}function ob(t,e){return t.locatorHash===e.locatorHash}function zpe(t,e){if(!ss(t))throw new Error("Invalid package type");if(!ss(e))throw new Error("Invalid package type");if(!Cf(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!L2(r,i))return!1}return!0}function Si(t){let e=M2(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function M2(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Go(n,i)}function Jo(t,e=!1){let r=mf(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function mf(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return zt(Go(o,n),a)}function hA(t,e=!1){let r=T2(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function T2(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return Ai(Go(o,n),a)}function _l(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Zl.default.parse(s):s,a=typeof r[4]!="undefined"?Zl.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function Vpe(t,{protocol:e}){let{selector:r,params:i}=_l(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:hA(i.locator,!0),path:r}}function O2(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function Xpe(t){return t===null?!1:Object.entries(t).length>0}function Tm({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${O2(e)}#`),n+=O2(r),Xpe(i)&&(n+=`::${Zl.default.stringify(i)}`),n}function Zpe(t){let{params:e,protocol:r,source:i,selector:n}=_l(t);for(let s in e)s.startsWith("__")&&delete e[s];return Tm({protocol:r,source:i,params:e,selector:n})}function dt(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function xi(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function gn(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ab(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function $l(t){let{protocol:e,selector:r}=_l(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=N2.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${ab(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${ab(t)}-${s}-${t.locatorHash.slice(0,o)}`;return rr(a)}function Cr(t,e){return e.scope?`${qe(t,`@${e.scope}/`,Pe.SCOPE)}${qe(t,e.name,Pe.NAME)}`:`${qe(t,e.name,Pe.NAME)}`}function Om(t){if(t.startsWith(Nm)){let e=Om(t.substr(t.indexOf("#")+1)),r=t.substr(Nm.length,jpe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function Rm(t,e){return`${qe(t,Om(e),Pe.RANGE)}`}function Ut(t,e){return`${Cr(t,e)}${qe(t,"@",Pe.RANGE)}${Rm(t,e.range)}`}function If(t,e){return`${qe(t,Om(e),Pe.REFERENCE)}`}function nt(t,e){return`${Cr(t,e)}${qe(t,"@",Pe.REFERENCE)}${If(t,e.reference)}`}function Ab(t){return`${dt(t)}@${Om(t.reference)}`}function ec(t){return bi(t,[e=>dt(e),e=>e.range])}function Ef(t,e){return Cr(t,e.locator)}function lb(t,e,r){let i=qo(e)?pf(e):e;return r===null?`${Ut(t,i)} \u2192 ${ib(t).Cross}`:i.identHash===r.identHash?`${Ut(t,i)} \u2192 ${If(t,r.reference)}`:`${Ut(t,i)} \u2192 ${nt(t,r)}`}function cb(t,e,r){return r===null?`${nt(t,e)}`:`${nt(t,e)} (via ${Rm(t,r.range)})`}function _pe(t){return`node_modules/${dt(t)}`}var lt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(lt||(lt={}));var Dr;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(Dr||(Dr={}));var qr;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qr||(qr={}));var Pe={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING"},pA;(function(e){e[e.BOLD=2]="BOLD"})(pA||(pA={}));var ub=process.env.GITHUB_ACTIONS?{level:2}:yf.default.supportsColor?{level:yf.default.supportsColor.level}:{level:0},Km=ub.level!==0,gb=Km&&!process.env.GITHUB_ACTIONS&&!K2.CIRCLE,fb=new yf.default.Instance(ub),$pe=new Map([[Pe.NO_HINT,null],[Pe.NULL,["#a853b5",129]],[Pe.SCOPE,["#d75f00",166]],[Pe.NAME,["#d7875f",173]],[Pe.RANGE,["#00afaf",37]],[Pe.REFERENCE,["#87afff",111]],[Pe.NUMBER,["#ffd700",220]],[Pe.PATH,["#d75fd7",170]],[Pe.URL,["#d75fd7",170]],[Pe.ADDED,["#5faf00",70]],[Pe.REMOVED,["#d70000",160]],[Pe.CODE,["#87afff",111]],[Pe.SIZE,["#ffd700",220]]]),Nn=t=>t,Um={[Pe.NUMBER]:Nn({pretty:(t,e)=>`${e}`,json:t=>t}),[Pe.IDENT]:Nn({pretty:(t,e)=>Cr(t,e),json:t=>dt(t)}),[Pe.LOCATOR]:Nn({pretty:(t,e)=>nt(t,e),json:t=>gn(t)}),[Pe.DESCRIPTOR]:Nn({pretty:(t,e)=>Ut(t,e),json:t=>xi(t)}),[Pe.RESOLUTION]:Nn({pretty:(t,{descriptor:e,locator:r})=>lb(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:xi(t),locator:e!==null?gn(e):null})}),[Pe.DEPENDENT]:Nn({pretty:(t,{locator:e,descriptor:r})=>cb(t,e,r),json:({locator:t,descriptor:e})=>({locator:gn(t),descriptor:xi(e)})}),[Pe.PACKAGE_EXTENSION]:Nn({pretty:(t,e)=>{switch(e.type){case Dr.Dependency:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"dependencies",Pe.CODE)} \u27A4 ${Cr(t,e.descriptor)}`;case Dr.PeerDependency:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"peerDependencies",Pe.CODE)} \u27A4 ${Cr(t,e.descriptor)}`;case Dr.PeerDependencyMeta:return`${Cr(t,e.parentDescriptor)} \u27A4 ${Gi(t,"peerDependenciesMeta",Pe.CODE)} \u27A4 ${Cr(t,Si(e.selector))} \u27A4 ${Gi(t,e.key,Pe.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case Dr.Dependency:return`${dt(t.parentDescriptor)} > ${dt(t.descriptor)}`;case Dr.PeerDependency:return`${dt(t.parentDescriptor)} >> ${dt(t.descriptor)}`;case Dr.PeerDependencyMeta:return`${dt(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Pe.SETTING]:Nn({pretty:(t,e)=>(t.get(e),tc(t,Gi(t,e,Pe.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Pe.DURATION]:Nn({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Pe.SIZE]:Nn({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return Gi(t,`${s} ${r[i-1]}`,Pe.NUMBER)},json:t=>t}),[Pe.PATH]:Nn({pretty:(t,e)=>Gi(t,T.fromPortablePath(e),Pe.PATH),json:t=>T.fromPortablePath(t)})};function dA(t,e){return[e,t]}function Hm(t,e,r){return t.get("enableColors")&&r&2&&(e=yf.default.bold(e)),e}function Gi(t,e,r){if(!t.get("enableColors"))return e;let i=$pe.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:ub.level>=3?i[0]:i[1],s=typeof n=="number"?fb.ansi256(n):n.startsWith("#")?fb.hex(n):fb[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var ede=!!process.env.KONSOLE_VERSION;function tc(t,e,r){return t.get("enableHyperlinks")?ede?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function qe(t,e,r){if(e===null)return Gi(t,"null",Pe.NULL);if(Object.prototype.hasOwnProperty.call(Um,r))return Um[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Gi(t,e,r)}function hb(t,e,r,{separator:i=", "}={}){return[...e].map(n=>qe(t,n,r)).join(i)}function rc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Um,e))return qQ(e),Um[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function ib(t){return{Check:Gi(t,"\u2713","green"),Cross:Gi(t,"\u2718","red"),Question:Gi(t,"?","cyan")}}function CA(t,{label:e,value:[r,i]}){return`${qe(t,e,Pe.CODE)}: ${qe(t,r,i)}`}var Ln;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(Ln||(Ln={}));function Bf(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([U2.default.matcher(m),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===z.UNNAMED)return h;let p=n.size>0||s.length>0?(0,H2.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,I]of s)if(m(p))return I!=null?I:h}if(i.size>0){let m=i.get(MC(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case Ln.Info:a.call(g,f,h);break;case Ln.Warning:l.call(g,f!=null?f:z.UNNAMED,h);break;case Ln.Error:c.call(g,f!=null?f:z.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,Ln.Info)},t.reportWarning=function(...g){return u(this,...g,Ln.Warning)},t.reportError=function(...g){return u(this,...g,Ln.Error)}}var Rt={};et(Rt,{Method:()=>IA,RequestError:()=>xj.RequestError,del:()=>hIe,get:()=>gIe,getNetworkSettings:()=>Fj,post:()=>PD,put:()=>fIe,request:()=>Rf});var bj=te(sI()),Dj=te(require("https")),Sj=te(require("http")),kD=te(Yi()),vD=te(Bj()),oI=te(require("url"));var wj=te(require("stream")),Qj=te(require("string_decoder"));var _e=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function aIe(t){return typeof t.reportCode!="undefined"}var ci=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var xj=te(sI()),kj=new Map,vj=new Map,AIe=new Sj.Agent({keepAlive:!0}),lIe=new Dj.Agent({keepAlive:!0});function Pj(t){let e=new oI.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function cIe(t){return Ys(vj,t,()=>L.readFilePromise(t).then(e=>(vj.set(t,e),e)))}function uIe({statusCode:t,statusMessage:e},r){let i=qe(r,t,Pe.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return tc(r,`${i}${e?` (${e})`:""}`,n)}async function aI(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof bj.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${qe(e,"httpTimeout",Pe.SETTING)})`);let a=new _e(z.NETWORK_ERROR,o,l=>{s.response&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Response Code",value:dA(Pe.NO_HINT,uIe(s.response,e))})}`),s.request&&(l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Method",value:dA(Pe.NO_HINT,s.request.options.method)})}`),l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request URL",value:dA(Pe.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Redirects",value:dA(Pe.NO_HINT,hb(e,s.request.redirects,Pe.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError(z.NETWORK_ERROR,` ${CA(e,{label:"Request Retry Count",value:dA(Pe.NO_HINT,`${qe(e,s.request.retryCount,Pe.NUMBER)} (can be increased via ${qe(e,"httpRetry",Pe.SETTING)})`)})}`)});throw a.originalError=s,a}}function Fj(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0},n=Object.keys(i),s=typeof t=="string"?new oI.URL(t):t;for(let[o,a]of r)if(kD.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var IA;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(IA||(IA={}));async function Rf(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=IA.GET}){let a=typeof t=="string"?new oI.URL(t):t,l=Fj(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!kD.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?vD.default.httpOverHttp(Pj(l.httpProxy)):AIe,https:l.httpsProxy?vD.default.httpsOverHttp(Pj(l.httpsProxy)):lIe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,{default:m}=await Promise.resolve().then(()=>te(sI())),I=p?await cIe(p):void 0,y=m.extend(v({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:I}},u));return r.getLimit("networkConcurrency")(()=>y(a))}async function gIe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Rr(s,["configuration","jsonResponse"]);let o=Ys(kj,t,()=>aI(Rf(t,null,v({configuration:e},i)),{configuration:e}).then(a=>(kj.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function fIe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.PUT})),i)).body}async function PD(t,e,n){var s=n,{customErrorMessage:r}=s,i=Rr(s,["customErrorMessage"]);return(await aI(Rf(t,e,V(v({},i),{method:IA.POST})),i)).body}async function hIe(t,i){var n=i,{customErrorMessage:e}=n,r=Rr(n,["customErrorMessage"]);return(await aI(Rf(t,null,V(v({},r),{method:IA.DELETE})),r)).body}var Qt={};et(Qt,{executePackageAccessibleBinary:()=>jW,executePackageScript:()=>VI,executePackageShellcode:()=>PS,executeWorkspaceAccessibleBinary:()=>qQe,executeWorkspaceLifecycleScript:()=>YW,executeWorkspaceScript:()=>HW,getPackageAccessibleBinaries:()=>XI,getWorkspaceAccessibleBinaries:()=>UW,hasPackageScript:()=>YQe,hasWorkspaceScript:()=>vS,makeScriptEnv:()=>$f,maybeExecuteWorkspaceLifecycleScript:()=>GQe,prepareExternalProject:()=>HQe});var Of={};et(Of,{getLibzipPromise:()=>gi,getLibzipSync:()=>oG});var _o=["number","number"],FD;(function(R){R[R.ZIP_ER_OK=0]="ZIP_ER_OK",R[R.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",R[R.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",R[R.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",R[R.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",R[R.ZIP_ER_READ=5]="ZIP_ER_READ",R[R.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",R[R.ZIP_ER_CRC=7]="ZIP_ER_CRC",R[R.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",R[R.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",R[R.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",R[R.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",R[R.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",R[R.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",R[R.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",R[R.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",R[R.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",R[R.ZIP_ER_EOF=17]="ZIP_ER_EOF",R[R.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",R[R.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",R[R.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",R[R.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",R[R.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",R[R.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",R[R.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",R[R.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",R[R.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",R[R.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",R[R.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",R[R.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",R[R.ZIP_ER_TELL=30]="ZIP_ER_TELL",R[R.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(FD||(FD={}));var Rj=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:FD,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",..._o,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",..._o,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",..._o,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",..._o,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",..._o,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",..._o,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",..._o,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",..._o,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var ZD=null;function oG(){return ZD===null&&(ZD=Rj(sG())),ZD}async function gi(){return oG()}var zf={};et(zf,{ShellError:()=>ia,execute:()=>xc,globUtils:()=>MI});var Jf={};et(Jf,{parseResolution:()=>wI,parseShell:()=>II,parseSyml:()=>Kr,stringifyArgument:()=>tS,stringifyArgumentSegment:()=>rS,stringifyArithmeticExpression:()=>BI,stringifyCommand:()=>eS,stringifyCommandChain:()=>mc,stringifyCommandChainThen:()=>$D,stringifyCommandLine:()=>EI,stringifyCommandLineThen:()=>_D,stringifyEnvSegment:()=>yI,stringifyRedirectArgument:()=>Kf,stringifyResolution:()=>QI,stringifyShell:()=>Cc,stringifyShellLine:()=>Cc,stringifySyml:()=>ro,stringifyValueArgument:()=>Ic});var lG=te(AG());function II(t,e={isGlobPattern:()=>!1}){try{return(0,lG.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function Cc(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${EI(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function EI(t){return`${mc(t.chain)}${t.then?` ${_D(t.then)}`:""}`}function _D(t){return`${t.type} ${EI(t.line)}`}function mc(t){return`${eS(t)}${t.then?` ${$D(t.then)}`:""}`}function $D(t){return`${t.type} ${mc(t.chain)}`}function eS(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>yI(e)).join(" ")} `:""}${t.args.map(e=>tS(e)).join(" ")}`;case"subshell":return`(${Cc(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Kf(e)).join(" ")}`:""}`;case"group":return`{ ${Cc(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Kf(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>yI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function yI(t){return`${t.name}=${t.args[0]?Ic(t.args[0]):""}`}function tS(t){switch(t.type){case"redirection":return Kf(t);case"argument":return Ic(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Kf(t){return`${t.subtype} ${t.args.map(e=>Ic(e)).join(" ")}`}function Ic(t){return t.segments.map(e=>rS(e)).join("")}function rS(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i.match(/[(){}<>$|&; \t"']/)?i.match(/[$"]/)?`'${i.replace(/[']/g,"\\'")}'`:`"${i}"`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${Cc(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?`\${${t.name}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>Ic(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${BI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function BI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(BI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var gG=te(uG());function wI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,gG.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function QI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var LI=te(rJ()),sJ=te(nJ()),_Be=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,oJ=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],pS=class{constructor(e){this.data=e}};function aJ(t){return t.match(_Be)?t:JSON.stringify(t)}function AJ(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>AJ(t[e])):!1}function dS(t,e,r){if(t===null)return`null -`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} -`;if(typeof t=="string")return`${aJ(t)} -`;if(Array.isArray(t)){if(t.length===0)return`[] -`;let i=" ".repeat(e);return` -${t.map(s=>`${i}- ${dS(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof pS?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=oJ.indexOf(l),g=oJ.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!AJ(i[l])).map((l,c)=>{let u=i[l],g=aJ(l),f=dS(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` -`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` -`:"")||` -`;return r?` -${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function ro(t){try{let e=dS(t,0,!1);return e!==` -`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}ro.PreserveOrdering=pS;function $Be(t){return t.endsWith(` -`)||(t+=` -`),(0,sJ.parse)(t)}var ewe=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function twe(t){if(ewe.test(t))return $Be(t);let e=(0,LI.safeLoad)(t,{schema:LI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Kr(t){return twe(t)}var EJ=te(eQ()),yJ=te(require("os")),qi=te(require("stream")),BJ=te(require("util"));var ia=class extends Error{constructor(e){super(e);this.name="ShellError"}};var MI={};et(MI,{fastGlobOptions:()=>uJ,isBraceExpansion:()=>gJ,isGlobPattern:()=>rwe,match:()=>iwe,micromatchOptions:()=>OI});var lJ=te(Qm()),cJ=te(require("fs")),TI=te(Yi()),OI={strictBrackets:!0},uJ={onlyDirectories:!1,onlyFiles:!1};function rwe(t){if(!TI.default.scan(t,OI).isGlob)return!1;try{TI.default.parse(t,OI)}catch{return!1}return!0}function iwe(t,{cwd:e,baseFs:r}){return(0,lJ.default)(t,V(v({},uJ),{cwd:T.fromPortablePath(e),fs:QC(cJ.default,new Dg(r))}))}function gJ(t){return TI.default.scan(t,OI).isBrace}var fJ=te(Mw()),As=te(require("stream")),hJ=te(require("string_decoder")),vi;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(vi||(vi={}));var FA=new Set;function CS(){}function mS(){for(let t of FA)t.kill()}function pJ(t,e,r,i){return n=>{let s=n[0]instanceof As.Transform?"pipe":n[0],o=n[1]instanceof As.Transform?"pipe":n[1],a=n[2]instanceof As.Transform?"pipe":n[2],l=(0,fJ.default)(t,e,V(v({},i),{stdio:[s,o,a]}));return FA.add(l),FA.size===1&&(process.on("SIGINT",CS),process.on("SIGTERM",mS)),n[0]instanceof As.Transform&&n[0].pipe(l.stdin),n[1]instanceof As.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof As.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),u.code){case"ENOENT":n[2].write(`command not found: ${t} -`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} -`),c(128);break;default:n[2].write(`uncaught error: ${u.message} -`),c(1);break}}),l.on("exit",u=>{FA.delete(l),FA.size===0&&(process.off("SIGINT",CS),process.off("SIGTERM",mS)),c(u!==null?u:129)})})}}}function dJ(t){return e=>{let r=e[0]==="pipe"?new As.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var Tn=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},CJ=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Wf=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Wf(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Wf(this,e),n=new CJ;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function KI(t,e){return Wf.start(t,e)}function mJ(t,e=null){let r=new As.PassThrough,i=new hJ.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` -`),a!==-1){let l=n+o.substr(0,a);o=o.substr(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function IJ(t,{prefix:e}){return{stdout:mJ(r=>t.stdout.write(`${r} -`),t.stdout.isTTY?e:null),stderr:mJ(r=>t.stderr.write(`${r} -`),t.stderr.isTTY?e:null)}}var nwe=(0,BJ.promisify)(setTimeout);var Vr;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(Vr||(Vr={}));function wJ(t,e,r){let i=new qi.PassThrough({autoDestroy:!0});switch(t){case vi.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof qi.Writable&&i.pipe(r.stdin,{end:!1});break;case vi.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case vi.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new ia(`Bad file descriptor: "${t}"`)}return i}function UI(t,e={}){let r=v(v({},t),e);return r.environment=v(v({},t.environment),e.environment),r.variables=v(v({},t.variables),e.variables),r}var swe=new Map([["cd",async([t=(0,yJ.homedir)(),...e],r,i)=>{let n=D.resolve(i.cwd,T.toPortablePath(t));return(await r.baseFs.statPromise(n)).isDirectory()?(i.cwd=n,0):(i.stderr.write(`cd: not a directory -`),1)}],["pwd",async(t,e,r)=>(r.stdout.write(`${T.fromPortablePath(r.cwd)} -`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} -`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")return r.stderr.write(`sleep: missing operand -`),1;let i=Number(t);return Number.isNaN(i)?(r.stderr.write(`sleep: invalid time interval '${t}' -`),1):await nwe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await KI(i,{stdin:new Tn(r.stdin),stdout:new Tn(r.stdout),stderr:new Tn(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=B=>{switch(h){case null:case 0:o.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=B=>{switch(h){case null:case 1:a.push(B);break;case 2:l.push(B);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},I=Number(t[c++]),y=c+I;for(let B=c;Be.baseFs.createReadStream(D.resolve(r.cwd,T.toPortablePath(t[B]))));break;case"<<<":p(()=>{let x=new qi.PassThrough;return process.nextTick(()=>{x.write(`${t[B]} -`),x.end()}),x});break;case"<&":p(()=>wJ(Number(t[B]),1,r));break;case">":case">>":{let x=D.resolve(r.cwd,T.toPortablePath(t[B]));m(x==="/dev/null"?new qi.Writable({autoDestroy:!0,emitClose:!0,write(F,N,O){setImmediate(O)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(wJ(Number(t[B]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new qi.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new qi.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new qi.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await KI(Vf(t.slice(c+1),e,r),{stdin:new Tn(i),stdout:new Tn(n),stderr:new Tn(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function owe(t,e,r){let i=[],n=new qi.PassThrough;return n.on("data",s=>i.push(s)),await HI(t,e,UI(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function QJ(t,e,r){let i=t.map(async s=>{let o=await RA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function IS(t){return t.match(/[^ \r\n\t]+/g)||[]}async function bJ(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=IS(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function Xf(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await bJ(V(v({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?Xf({type:"variable",name:i.join(" ")},e,r):Xf({type:"number",value:n},e,r)}else return awe[t.type](await Xf(t.left,e,r),await Xf(t.right,e,r))}async function RA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await RA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await owe(f.shell,e,r);if(f.quoted)o(h);else{let p=IS(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Vf(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=T.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=V(v({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return pJ(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return dJ(async({stdin:l,stdout:c,stderr:u})=>(r.stdin=l,r.stdout=c,r.stderr=u,await a(o,e,r)))}function Awe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,UI(r,{stdin:n}));return{stdin:n,promise:s}}}function lwe(t,e,r){return i=>{let n=new qi.PassThrough,s=HI(t,e,r);return{stdin:n,promise:s}}}function DJ(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=v({},i.procedures),i.procedures[n]=t,Vf([...e,"__ysh_run_procedure",n],r,i)}}async function SJ(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?v({},r):r,a;switch(i.type){case"command":{let l=await RA(i.args,e,r),c=await QJ(i.envs,e,r);a=i.envs.length?Vf(l,e,UI(o,{environment:c})):Vf(l,e,o)}break;case"subshell":{let l=await RA(i.args,e,r),c=Awe(i.subshell,e,o);a=DJ(c,l,e,o)}break;case"group":{let l=await RA(i.args,e,r),c=lwe(i.group,e,o);a=DJ(c,l,e,o)}break;case"envs":{let l=await QJ(i.envs,e,r);o.environment=v(v({},o.environment),l),a=Vf(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=KI(a,{stdin:new Tn(o.stdin),stdout:new Tn(o.stdout),stderr:new Tn(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,vi.STDOUT);break;case"|&":s=s.pipeTo(a,vi.STDOUT|vi.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function cwe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return EJ.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=IJ(r,{prefix:l});return r.backgroundJobs.push(SJ(t,e,UI(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} -`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(mc(t))}' has ended -`)})),0}return await SJ(t,e,r)}async function uwe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await cwe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof ia))throw l;return r.stderr.write(`${l.message} -`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function HI(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await uwe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function xJ(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>YI(e));case"arithmetic":return ES(t.arithmetic);case"shell":return yS(t.shell);default:return!1}}function YI(t){switch(t.type){case"redirection":return t.args.some(e=>YI(e));case"argument":return t.segments.some(e=>xJ(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function ES(t){switch(t.type){case"variable":return xJ(t);case"number":return!1;default:return ES(t.left)||ES(t.right)}}function yS(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=yS(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>YI(s)))||r.args.some(n=>YI(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function xc(t,e=[],{baseFs:r=new Ft,builtins:i={},cwd:n=T.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=MI}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(swe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new qi.PassThrough,o.end());let h=II(t,u);if(!yS(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(I=>({type:"argument",segments:[{type:"text",text:I}]}))))}return await HI(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var TW=te(SS()),OW=te(GI()),vc=te(require("stream"));var DW=te(cr());var vt={};et(vt,{SemVer:()=>wW.SemVer,satisfiesWithPrereleases:()=>_f,validRange:()=>Kn});var qI=te(cr()),wW=te(cr()),QW=new Map;function _f(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=QW.get(i);if(typeof n=="undefined")try{n=new qI.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{QW.set(i,n||null)}else if(n===null)return!1;let s;try{s=new qI.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var bW=new Map;function Kn(t){if(t.indexOf(":")!==-1)return null;let e=bW.get(t);if(typeof e!="undefined")return e;try{e=new qI.default.Range(t)}catch{e=null}return bW.set(t,e),e}var na=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Ft}={}){let i=D.join(e,"package.json");return await r.existsPromise(i)?await na.fromFile(i,{baseFs:r}):null}static async find(e,{baseFs:r}={}){let i=await na.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new Ft}={}){let i=new na;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new na;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(xW(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=SW(e)}async loadFile(e,{baseFs:r=new Ft}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(xW(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=SW(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=Si(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=fi(e.main):this.main=null,typeof e.module=="string"?this.module=fi(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=fi(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(fi(s),typeof o=="string"?fi(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,fi(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.bin.set(s,fi(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=Si(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!Kn(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=zt(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=Jo(s),l=this.ensureDependencyMeta(a),c=JI(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=JI(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=JI(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=Jo(s),l=this.ensurePeerDependencyMeta(a),c=JI(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:wI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=fi(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=fi(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=fi(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(fi(s),typeof o=="string"?fi(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,fi(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,fi(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(fi(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=Si(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=zt(a,o);this.dependencies.set(l.identHash,l);let c=zt(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}isCompatibleWithOS(e){return na.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return na.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!DW.default.valid(e.range))throw new Error(`Invalid meta field range for '${xi(e)}'`);let r=dt(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${xi(e)}'`);let r=dt(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=dt(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let s=this.browser;typeof s=="string"?e.browser=s:s instanceof Map&&(e.browser=Object.assign({},...Array.from(s.keys()).sort().map(o=>({[o]:s.get(o)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(s=>({[s]:this.bin.get(s)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=V(v({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:s})=>s)}):e.workspaces=this.workspaceDefinitions.map(({pattern:s})=>s):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let s of this.dependencies.values()){let o=this.dependenciesMeta.get(dt(s)),a=!1;if(r&&o){let l=o.get(null);l&&l.optional&&(a=!0)}a?n.push(s):i.push(s)}i.length>0?e.dependencies=Object.assign({},...ec(i).map(s=>({[dt(s)]:s.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...ec(n).map(s=>({[dt(s)]:s.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...ec(this.devDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...ec(this.peerDependencies.values()).map(s=>({[dt(s)]:s.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[s,o]of bi(this.dependenciesMeta.entries(),([a,l])=>a))for(let[a,l]of bi(o.entries(),([c,u])=>c!==null?`0${c}`:"1")){let c=a!==null?xi(zt(Si(s),a)):s,u=v({},l);r&&a===null&&delete u.optional,Object.keys(u).length!==0&&(e.dependenciesMeta[c]=u)}return Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...bi(this.peerDependenciesMeta.entries(),([s,o])=>s).map(([s,o])=>({[s]:o}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:s,reference:o})=>({[QI(s)]:o}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}},ze=na;ze.fileName="package.json",ze.allDependencies=["dependencies","devDependencies","peerDependencies"],ze.hardDependencies=["dependencies","devDependencies"];function SW(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function xW(t){return t.charCodeAt(0)===65279?t.slice(1):t}function fi(t){return t.replace(/\\/g,"/")}function JI(t,{yamlCompatibilityMode:e}){return e?XQ(t):typeof t=="undefined"||typeof t=="boolean"?t:null}var FW=te(PW());var RW=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],NW=80,RQe=new Set([z.FETCH_NOT_CACHED,z.UNUSED_CACHE_ENTRY]),NQe=5,sa=process.env.GITHUB_ACTIONS?{start:t=>`::group::${t} -`,end:t=>`::endgroup:: -`}:process.env.TRAVIS?{start:t=>`travis_fold:start:${t} -`,end:t=>`travis_fold:end:${t} -`}:process.env.GITLAB_CI?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r${t} -`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,LW=new Date,LQe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,MQe=t=>t,zI=MQe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),TQe=LQe&&Object.keys(zI).find(t=>{let e=zI[t];return!(e.date&&(e.date[0]!==LW.getDate()||e.date[1]!==LW.getMonth()+1))})||"default";function MW(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=MC(t===null?0:t);return!r&&t===null?qe(e,n,"grey"):n}function kS(t,{configuration:e,json:r}){let i=MW(t,{configuration:e,json:r});if(!i||t===null||t===z.UNNAMED)return i;let n=z[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return tc(e,i,s)}var xe=class extends ci{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=NQe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.forgettableLines=[];Bf(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...RQe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r;let u=this.configuration.get("progressBarStyle")||TQe;if(!Object.prototype.hasOwnProperty.call(zI,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=zI[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(process.stdout.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning(z.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo(z.FETCH_NOT_CACHED,r)}startTimerSync(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startTimerPromise(e,r,i){let n=typeof r=="function"?{}:r,s=typeof r=="function"?r:i,o={committed:!1,action:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.start(e))}};n.skipIfEmpty?this.uncommitted.add(o):(o.action(),o.committed=!0);let a=Date.now();try{return await s()}catch(l){throw this.reportExceptionOnce(l),l}finally{let l=Date.now();this.uncommitted.delete(o),o.committed&&(this.indent-=1,sa!==null&&!this.json&&this.includeInfos&&this.stdout.write(sa.end(e)),this.configuration.get("enableTimers")&&l-a>200?this.reportInfo(null,`\u2514 Completed in ${qe(this.configuration,l-a,Pe.DURATION)}`):this.reportInfo(null,"\u2514 Completed"))}}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${qe(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${qe(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${qe(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){let r=!1,i=Promise.resolve().then(async()=>{let s={progress:0,title:void 0};this.progress.set(e,{definition:s,lastScaledSize:-1}),this.refreshProgress(-1);for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress(1))};return V(v({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=qe(this.configuration,Date.now()-this.startTime,Pe.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError(z.UNNAMED,i):this.warningCount>0?this.reportWarning(z.UNNAMED,i):this.reportInfo(z.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} -`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} -`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${nt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${nt(this.configuration,this.lastCacheMiss)})`),this.reportInfo(z.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){!this.configuration.get("enableProgressBars")||this.json||this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>NW&&(this.progressFrame=(this.progressFrame+1)%RW.length,this.progressTime=e);let r=RW[this.progressFrame];for(let i of this.progress.values()){let n=this.progressStyle.chars[0].repeat(i.lastScaledSize),s=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize),o=this.formatName(null),a=o?`${o}: `:"";this.stdout.write(`${qe(this.configuration,"\u27A4","blueBright")} ${a}${r} ${n}${s} -`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},NW)}refreshProgress(e=0){let r=!1;if(this.progress.size===0)r=!0;else for(let i of this.progress.values()){let n=Math.trunc(this.progressMaxScaledSize*i.definition.progress),s=i.lastScaledSize;if(i.lastScaledSize=n,n!==s){r=!0;break}}r&&(this.clearProgress({delta:e}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.configuration.get("enableProgressBars")||(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,FW.default)(e,0,process.stdout.columns-1)),e}formatName(e){return MW(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return kS(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Er="3.0.2";var cs;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(cs||(cs={}));async function io(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await L.writeFilePromise(D.format({dir:t,name:e,ext:".cmd"}),n)}await L.writeFilePromise(D.join(t,e),`#!/bin/sh -exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" -`),await L.chmodPromise(D.join(t,e),493)}async function OQe(t){let e=null;try{e=await L.readFilePromise(D.join(t,xt.lockfile),"utf8")}catch{}return e!==null?e.match(/^__metadata:$/m)?{packageManager:cs.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:cs.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:L.existsSync(D.join(t,"package-lock.json"))?{packageManager:cs.Npm,reason:`found npm's "package-lock.json" lockfile`}:L.existsSync(D.join(t,"pnpm-lock.yaml"))?{packageManager:cs.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function $f({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=T.fromPortablePath(r);n.BERRY_BIN_FOLDER=T.fromPortablePath(s);let o=process.env.COREPACK_ROOT?T.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([io(r,"node",process.execPath),...Er!==null?[io(r,"run",process.execPath,[o,"run"]),io(r,"yarn",process.execPath,[o]),io(r,"yarnpkg",process.execPath,[o]),io(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=T.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=T.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${T.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${T.sep}yarn`,n.npm_node_execpath=`${s}${T.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=dt(e),n.npm_package_version=g}let a=Er!==null?`yarn/${Er}`:`yarn/${ql("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await io(r,rr(u),g,f)),n}var KQe=2,UQe=(0,OW.default)(KQe);async function HQe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await UQe(async()=>{await L.mktempPromise(async o=>{let a=D.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:T.fromPortablePath(t),report:i}),g=s&&ss(s)?df(s):s,f=g?gn(g):"an external project";c.write(`Packing ${f} from sources -`);let h=await OQe(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} - -`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn - -`),p=cs.Yarn2),await L.mktempPromise(async m=>{let I=await $f({binFolder:m}),B=new Map([[cs.Yarn1,async()=>{let F=n!==null?["workspace",n]:[],N=await Ts("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(N.code!==0)return N.code;await L.appendFilePromise(D.join(t,".npmignore"),`/.yarn -`),c.write(` -`);let O=await Ts("yarn",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(O.code!==0)return O.code;c.write(` -`);let P=await Ts("yarn",[...F,"pack","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return P.code!==0?P.code:0}],[cs.Yarn2,async()=>{let F=n!==null?["workspace",n]:[];I.YARN_ENABLE_INLINE_BUILDS="1";let N=D.join(t,xt.lockfile);await L.existsPromise(N)||await L.writeFilePromise(N,"");let O=await Ts("yarn",[...F,"pack","--install-if-needed","--filename",T.fromPortablePath(e)],{cwd:t,env:I,stdin:l,stdout:c,stderr:u});return O.code!==0?O.code:0}],[cs.Npm,async()=>{if(n!==null)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${t}`);delete I.npm_config_user_agent;let F=await Ts("npm",["install"],{cwd:t,env:I,stdin:l,stdout:c,stderr:u,end:sn.ErrorCode});if(F.code!==0)return F.code;let N=new vc.PassThrough,O=af(N);N.pipe(c);let P=await Ts("npm",["pack","--silent"],{cwd:t,env:I,stdin:l,stdout:N,stderr:u});if(P.code!==0)return P.code;let J=(await O).toString().trim(),oe=D.resolve(t,T.toPortablePath(J));return await L.renamePromise(oe,e),0}]]).get(p);if(typeof B=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await B();if(!(x===0||typeof x=="undefined"))throw L.detachTemp(o),new _e(z.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${a})`)})})})}async function YQe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return vS(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r.configuration,t)} not found in the project`);return await nn.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new xe({stdout:new vc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${nt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new yt(u,{baseFs:s});return(await ze.find(we.dot,{baseFs:g})).scripts.has(e)},{libzip:await gi()})}async function VI(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await KW(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await xc(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function PS(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await L.mktempPromise(async l=>{let{env:c,cwd:u}=await KW(t,{project:n,binFolder:l,cwd:i});return await xc(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function jQe(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await $f({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await UW(t),([s,[,o]])=>io(e,rr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=D.dirname(await L.realpathPromise(D.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function KW(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return jQe(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${nt(e.configuration,t)} not found in the project`);return await nn.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new xe({stdout:new vc.PassThrough,configuration:l})},g=c.find(I=>I.supportsPackage(o,u));if(!g)throw new Error(`The package ${nt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await $f({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await XI(t,{project:e}),([I,[,y]])=>io(r,rr(I),process.execPath,[y])));let h=await g.findPackageLocation(o,u),p=new yt(h,{baseFs:a}),m=await ze.find(we.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await gi()})}async function HW(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await VI(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function vS(t,e){return t.manifest.scripts.has(e)}async function YW(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await L.mktempPromise(async o=>{let a=D.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${t.cwd}") -`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:nt(n,t.anchoredLocator),header:l});i.reportInfo(z.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await HW(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw L.detachTemp(o),new _e(z.LIFECYCLE_SCRIPT,`${(0,TW.default)(e)} script failed (exit code ${qe(n,g,Pe.NUMBER)}, logs can be found here: ${qe(n,a,Pe.PATH)}); run ${qe(n,`yarn ${e}`,Pe.CODE)} to investigate`)})}async function GQe(t,e,r){vS(t,e)&&await YW(t,e,r)}async function XI(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${nt(r,t)} not found in the project`);let s=new vc.Writable,o=r.getLinkers(),a={project:e,report:new xe({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${Ut(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return sA.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return sA.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return sA.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===sA.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,T.fromPortablePath(D.resolve(f,p))])}return i}async function UW(t){return await XI(t.anchoredLocator,{project:t.project})}async function jW(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await XI(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${nt(n.configuration,t)}`);return await L.mktempPromise(async g=>{let[,f]=u,h=await $f({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,I]])=>io(h.BERRY_BIN_FOLDER,rr(m),process.execPath,[I])));let p;try{p=await Ts(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await L.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function qQe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await jW(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var hr={};et(hr,{convertToZip:()=>lDe,extractArchiveTo:()=>uDe,makeArchiveFromDirectory:()=>ADe,safeTime:()=>zi});var W4=te(require("stream")),z4=te(k4());var Y4=te(require("os")),j4=te(H4()),G4=te(require("worker_threads")),Vx=class{constructor(e){this.source=e;this.pool=[];this.queue=new j4.default({concurrency:Math.max(1,(0,Y4.cpus)().length)});let r=setTimeout(()=>{if(!(this.queue.size!==0||this.queue.pending!==0)){for(let i of this.pool)i.terminate();this.pool=[]}},1e3).unref();this.queue.on("idle",()=>{r.refresh()})}run(e){return this.queue.add(()=>{var i;let r=(i=this.pool.pop())!=null?i:new G4.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return r.ref(),new Promise((n,s)=>{let o=a=>{a!==0&&s(new Error(`Worker exited with code ${a}`))};r.once("message",a=>{this.pool.push(r),r.unref(),r.off("error",s),r.off("exit",o),n(a)}),r.once("error",s),r.once("exit",o),r.postMessage(e)})})}};var V4=te(J4()),zi=456789e3;async function ADe(t,{baseFs:e=new Ft,prefixPath:r=we.root,compressionLevel:i,inMemory:n=!1}={}){let s=await gi(),o;if(n)o=new Qr(null,{libzip:s,level:i});else{let l=await L.mktempPromise(),c=D.join(l,"archive.zip");o=new Qr(c,{create:!0,libzip:s,level:i})}let a=D.resolve(we.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var X4;async function lDe(t,e){let r=await L.mktempPromise(),i=D.join(r,"archive.zip");return X4||(X4=new Vx((0,V4.getContent)())),await X4.run({tmpFile:i,tgz:t,opts:e}),new Qr(i,{libzip:await gi(),level:e.compressionLevel})}async function*cDe(t){let e=new z4.default.Parse,r=new W4.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroy()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function uDe(t,e,{stripComponents:r=0,prefixPath:i=we.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of cDe(t)){if(n(a))continue;let l=D.normalize(T.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=D.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.mkdirSync(u),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"OldFile":case"File":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.writeFileSync(u,await af(a)),e.chmodSync(u,g),e.utimesSync(u,zi,zi);break;case"SymbolicLink":e.mkdirpSync(D.dirname(u),{chmod:493,utimes:[zi,zi]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,zi,zi);break}}return e}var Un={};et(Un,{emitList:()=>gDe,emitTree:()=>rz,treeNodeToJson:()=>tz,treeNodeToTreeify:()=>ez});var $4=te(_4());function ez(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Hm(e,l,pA.BOLD)),typeof c!="undefined"&&g.push(qe(e,c[0],c[1])),g.length===0&&g.push(Hm(e,`${a}`,pA.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function tz(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return rc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:rc(r.value[0],r.value[1]),children:n}};return e(t)}function gDe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));rz({children:n},{configuration:e,stdout:r,json:i})}function rz(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(tz(l))} -`);return}let s=(0,$4.asTree)(ez(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 -$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 -$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var _x=te(require("fs"));var fDe=8,ft=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==qa?`c${o}`:"";this.cacheKey=[fDe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new ft(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${$l(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=hDe(r).slice(0,10);return`${$l(e)}-${n}.zip`}getLocatorPath(e,r){return this.mirrorCwd===null?D.resolve(this.cwd,this.getVersionFilename(e)):r===null||$x(r)!==this.cacheKey?null:D.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?D.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await L.existsPromise(this.cwd))throw new _e(z.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await L.mkdirPromise(this.cwd,{recursive:!0});let e=D.resolve(this.cwd,".gitignore");await L.changeFilePromise(e,`/.gitignore -*.flock -`)}(this.mirrorCwd||!this.immutable)&&await L.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,{onHit:i,onMiss:n,loader:s,skipIntegrityCheck:o}){let a=this.getLocatorMirrorPath(e),l=new Ft,c=async(N,O=null)=>{let P=!o||!r?`${this.cacheKey}/${await Pm(N)}`:r;if(O!==null){let J=!o||!r?`${this.cacheKey}/${await Pm(O)}`:r;if(P!==J)throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&P!==r){let J;switch(this.check?J="throw":$x(r)!==$x(P)?J="update":J=this.configuration.get("checksumBehavior"),J){case"ignore":return r;case"update":return P;default:case"throw":throw new _e(z.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return P},u=async N=>{if(!s)throw new Error(`Cache check required but no loader configured for ${nt(this.configuration,e)}`);let O=await s(),P=O.getRealPath();return O.saveAndClose(),await L.chmodPromise(P,420),await c(N,P)},g=async()=>{if(a===null||!await L.existsPromise(a)){let P=await s(),J=P.getRealPath();return P.saveAndClose(),{source:"loader",path:J}}let N=await L.mktempPromise(),O=D.join(N,this.getVersionFilename(e));return await L.copyFilePromise(a,O,_x.default.constants.COPYFILE_FICLONE),{source:"mirror",path:O}},f=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${nt(this.configuration,e)}`);if(this.immutable)throw new _e(z.IMMUTABLE_CACHE,`Cache entry required but missing for ${nt(this.configuration,e)}`);let{path:N,source:O}=await g();await L.chmodPromise(N,420);let P=await c(N),J=this.getLocatorPath(e,P);if(!J)throw new Error("Assertion failed: Expected the cache path to be available");let oe=null;if(O!=="mirror"&&a!==null){let K=await L.mktempPromise();oe=D.join(K,this.getVersionFilename(e)),await L.copyFilePromise(N,oe,_x.default.constants.COPYFILE_FICLONE)}return await this.writeFileWithLock(J,async()=>await this.writeFileWithLock(O==="mirror"?null:a,async()=>(await L.movePromise(N,J),oe&&a&&await L.movePromise(oe,a),[J,P])))},h=async()=>{let O=(async()=>{let P=this.getLocatorPath(e,r),J=P!==null?await l.existsPromise(P):!1,oe=J?i:n;if(oe&&oe(),J){let K=null,A=P;return this.check?K=await u(A):K=await c(A),[A,K]}else return f()})();this.mutexes.set(e.locatorHash,O);try{return await O}finally{this.mutexes.delete(e.locatorHash)}};for(let N;N=this.mutexes.get(e.locatorHash);)await N;let[p,m]=await h();this.markedFiles.add(p);let I=null,y=await gi(),B=new bg(()=>zQ(()=>I=new Qr(p,{baseFs:l,libzip:y,readOnly:!0}),N=>`Failed to open the cache entry for ${nt(this.configuration,e)}: ${N}`),D);return[new Ja(p,{baseFs:B,pathUtils:D}),()=>{I!==null&&I.discardAndClose()},m]}async writeFileWithLock(e,r){return e===null?await r():await L.lockPromise(e,async()=>await r())}};function $x(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function hDe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var lz=te(nz()),jE=te(Ng());var cz=te(GI()),nk=te(require("stream"));var sz={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==dt(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==dt(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(zt(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Ef(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning(z.INVALID_MANIFEST,i.message)}}};var tk=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new _e(z.FETCHER_NOT_FOUND,`${nt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var Xc=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${Ut(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${nt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var oz=te(cr());var Zc=/^(?!v)[a-z0-9._-]+$/i,rk=class{supportsDescriptor(e,r){return!!(Kn(e.range)||Zc.test(e.range))}supportsLocator(e,r){return!!(oz.default.valid(e.reference)||Zc.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return ff(i,e)}forwardDescriptor(e,r){return zt(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return Ai(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Ih=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Ai(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=Ai(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return $l(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=ir.makeVirtualPath(s,o,n),l=new Ja(a,{baseFs:r.packageFs,pathUtils:D});return V(v({},r),{packageFs:l})}};var _c=class{static isVirtualDescriptor(e){return!!e.range.startsWith(_c.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(_c.protocol)}supportsDescriptor(e,r){return _c.isVirtualDescriptor(e)}supportsLocator(e,r){return _c.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},YE=_c;YE.protocol="virtual:";var Eh=class{supportsDescriptor(e,r){return!!(e.range.startsWith(Eh.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(Eh.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(Eh.protocol.length));return V(v({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:lt.SOFT,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},Ci=Eh;Ci.protocol="workspace:";var ik=class{supports(e){return!!e.reference.startsWith(Ci.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new yt(i),prefixPath:we.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Ci.protocol.length))}};var az=te(require("module"));function Az(){return new Set(az.default.builtinModules||Object.keys(process.binding("natives")))}var dDe=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),GE="yarn_",sk=".yarnrc.yml",ok="yarn.lock",CDe="********",ge;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(ge||(ge={}));var ds=Pe,ak={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:ge.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:ge.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:ge.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:ge.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:ge.STRING,default:null},globalFolder:{description:"Folder where are stored the system-wide settings",type:ge.ABSOLUTE_PATH,default:jw()},cacheFolder:{description:"Folder where the cache files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:ge.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:qa},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:ge.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:ge.STRING,default:ok},installStatePath:{description:"Path of the file where the install state will be persisted",type:ge.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:ge.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:ge.STRING,default:qE()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:ge.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:ge.BOOLEAN,default:Km,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:ge.BOOLEAN,default:gb,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:ge.BOOLEAN,default:jE.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:ge.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:ge.BOOLEAN,default:!jE.isCI&&process.stdout.isTTY&&process.stdout.columns>22,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:ge.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:ge.BOOLEAN,default:jE.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:ge.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:ge.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:ge.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:ge.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:ge.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:ge.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:ge.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:ge.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:ge.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:ge.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:ge.NUMBER,default:Infinity},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:ge.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:ge.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:ge.STRING,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:ge.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:ge.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:ge.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:ge.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:ge.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:ge.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:ge.STRING,values:Object.values(Ln),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:ge.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:ge.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:ge.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:ge.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:ge.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:ge.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:ge.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:ge.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:ge.MAP,valueDefinition:{description:"A range",type:ge.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:ge.MAP,valueDefinition:{description:"A semver range",type:ge.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:ge.MAP,valueDefinition:{description:"The peerDependency meta",type:ge.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:ge.BOOLEAN,default:!1}}}}}}}};function lk(t,e,r,i,n){if(i.isArray||i.type===ge.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>Ak(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>Ak(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return Ak(t,e,r,i,n)}function Ak(t,e,r,i,n){var a;switch(i.type){case ge.ANY:return r;case ge.SHAPE:return mDe(t,e,r,i,n);case ge.MAP:return IDe(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===ge.BOOLEAN&&typeof r!="string")return lf(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=VQ(r,{env:process.env});switch(i.type){case ge.ABSOLUTE_PATH:return D.resolve(n,T.toPortablePath(l));case ge.LOCATOR_LOOSE:return hA(l,!1);case ge.NUMBER:return parseInt(l);case ge.LOCATOR:return hA(l);case ge.BOOLEAN:return lf(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function mDe(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new me(`Object configuration settings "${e}" must be an object`);let s=ck(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new me(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,lk(t,l,a,i.properties[o],n))}return s}function IDe(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new me(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,lk(t,c,a,u,n))}return s}function ck(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case ge.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,ck(t,s));return i}break;case ge.MAP:return e.isArray&&!r?[]:new Map;case ge.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?D.isAbsolute(e.default)?D.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>D.resolve(t.projectCwd,i)):D.resolve(t.projectCwd,e.default);default:return e.default}}function JE(t,e,r){if(e.type===ge.SECRET&&typeof t=="string"&&r.hideSecrets)return CDe;if(e.type===ge.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return T.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(JE(n,e,r));return i}if(e.type===ge.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,JE(s,e.valueDefinition,r));return i}if(e.type===ge.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,JE(s,o,r))}return i}return t}function EDe(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(GE)&&(e=(0,lz.default)(e.slice(GE.length)),t[e]=r);return t}function qE(){let t=`${GE}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return sk}var Ca;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(Ca||(Ca={}));var co=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new co(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(ak);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=EDe();delete a.rcFilename;let l=await co.findRcFiles(e),c=await co.findHomeRcFile();if(c){let y=l.find(B=>B.path===c.path);y?y.strict=!1:l.push(V(v({},c),{strict:!1}))}let u=({ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F})=>({ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F}),g=O=>{var P=O,{ignoreCwd:y,yarnPath:B,ignorePath:x,lockfileFilename:F}=P,N=Rr(P,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return N},f=new co(e);f.importSettings(u(ak)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:y,cwd:B,data:x}of l)f.useWithSource(y,u(x),B,{strict:!1});if(s){let y=f.get("yarnPath"),B=f.get("ignorePath");if(y!==null&&!B)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await co.findProjectCwd(e,h);break;case 1:p=await co.findProjectCwd(e,null);break;case 2:L.existsSync(D.join(e,"package.json"))?p=D.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(ak));let m=new Map([["@@core",sz]]),I=y=>"default"in y?y.default:y;if(r!==null){for(let F of r.plugins.keys())m.set(F,I(r.modules.get(F)));let y=new Map;for(let F of Az())y.set(F,()=>ql(F));for(let[F,N]of r.modules)y.set(F,()=>N);let B=new Set,x=async(F,N)=>{let{factory:O,name:P}=ql(F);if(B.has(P))return;let J=new Map(y),oe=A=>{if(J.has(A))return J.get(A)();throw new me(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},K=await Gl(async()=>I(await O(oe)),A=>`${A} (when initializing ${P}, defined in ${N})`);y.set(P,()=>K),B.add(P),m.set(P,K)};if(a.plugins)for(let F of a.plugins.split(";")){let N=D.resolve(e,T.toPortablePath(F));await x(N,"")}for(let{path:F,cwd:N,data:O}of l)if(!!o&&!!Array.isArray(O.plugins))for(let P of O.plugins){let J=typeof P!="string"?P.path:P,oe=D.resolve(N,T.toPortablePath(J));await x(oe,F)}}for(let[y,B]of m)f.activatePlugin(y,B);f.useWithSource("",g(a),e,{strict:n});for(let{path:y,cwd:B,data:x,strict:F}of l)f.useWithSource(y,g(x),B,{strict:F!=null?F:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=qE(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=D.join(s,r);if(L.existsSync(o)){let a=await L.readFilePromise(o,"utf8"),l;try{l=Kr(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new me(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=D.dirname(s)}return i}static async findHomeRcFile(){let e=qE(),r=vg(),i=D.join(r,e);if(L.existsSync(i)){let n=await L.readFilePromise(i,"utf8"),s=Kr(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,L.existsSync(D.join(s,"package.json"))&&(i=s),r!==null){if(L.existsSync(D.join(s,r))){i=s;break}}else if(i!==null)break;n=D.dirname(s)}return i}static async updateConfiguration(e,r){let i=qE(),n=D.join(e,i),s=L.existsSync(n)?Kr(await L.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await L.changeFilePromise(n,ro(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=vg();return await co.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,ck(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${qe(this,e,Pe.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){for(let o of Object.keys(r)){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&dDe.has(o))continue;if(o==="rcFilename")throw new me(`The rcFilename settings can only be set via ${`${GE}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new me(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===ge.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=lk(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${qe(this,e,Pe.PATH)}`,u}if(l.type===ge.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new me(`Couldn't find a configuration settings named "${e}"`);return JE(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=L.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${qe(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${qe(this,"STDERR","red")}`);s=new nk.PassThrough,s.pipe(l),s.pipe(a),o=new nk.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} -`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new Xc([new YE,new Ci,new rk,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new tk([new Ih,new ik,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!Kn(i.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");let o=new ze;o.load(n,{yamlCompatibilityMode:!0});let a=Yl(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qr.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(V(v({},c),{type:Dr.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(V(v({},c),{type:Dr.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(V(v({},c),{type:Dr.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(Jo(i,!0),nm(n),{userProvided:!0})}normalizePackage(e){let r=hf(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!_f(s,o))for(let l of a)switch(l.status===qr.Inactive&&(l.status=qr.Redundant),l.type){case Dr.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qr.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case Dr.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qr.Active,Ys(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:JQ(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Go("types",o),l=dt(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||r.peerDependenciesMeta.set(l,{optional:!0})}for(let s of r.peerDependenciesMeta.keys()){let o=Si(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,zt(o,"*"))}return r.dependencies=new Map(bi(r.dependencies,([,s])=>xi(s))),r.peerDependencies=new Map(bi(r.peerDependencies,([,s])=>xi(s))),r}getLimit(e){return Ys(this.limits,e,()=>(0,cz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},le=co;le.telemetry=null;var Vi;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(Vi||(Vi={}));var uo=class extends ci{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;Bf(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} -`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(v({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` -`),this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. -`),this.suggestInstall&&this.stdout.write(`${qe(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. -`))}formatNameWithHyperlink(e){return kS(e,{configuration:this.configuration,json:!1})}};var uy=te(require("crypto")),r6=te(Wz()),gy=te(e6()),i6=te(GI()),n6=te(cr()),Tk=te(require("util")),Ok=te(require("v8")),Kk=te(require("zlib"));var iPe=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)$/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>Tm({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],Lk=class{constructor(){this.resolutions=null}async setup(e,{report:r}){let i=D.join(e.cwd,e.configuration.get("lockfileFilename"));if(!L.existsSync(i))return;let n=await L.readFilePromise(i,"utf8"),s=Kr(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=mf(a);if(!l){r.reportWarning(z.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}Kn(l.range)&&(l=zt(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of iPe){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning(z.YARN_IMPORT_FAILED,`${Ut(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=_l(l.range),p=mf(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,Ai(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var cy=class{supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(Lm(e).locatorHash))}supportsLocator(e,r){return!!r.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=i.project.originalPackages.get(Lm(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var Mk=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new _e(z.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var Br=class extends ci{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return V(v({},r),{stop:i})}reportJson(e){}async finalize(){}};var t6=te(tb());var Lh=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){this.manifest=L.existsSync(D.join(this.cwd,ze.fileName))?await ze.find(this.cwd):new ze,this.relativeCwd=D.relative(this.project.cwd,this.cwd)||we.dot;let e=this.manifest.name?this.manifest.name:Go(null,`${this.computeCandidateName()}-${ai(this.relativeCwd).substr(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=Ai(e,r),this.anchoredDescriptor=zt(this.locator,`${Ci.protocol}${this.relativeCwd}`),this.anchoredLocator=Ai(this.locator,`${Ci.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:s})=>s),n=await(0,t6.default)(i,{cwd:T.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let s of n){let o=D.resolve(this.cwd,T.toPortablePath(s));L.existsSync(D.join(o,"package.json"))&&this.workspacesCwds.add(o)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===Ci.protocol&&D.normalize(n)===this.relativeCwd||i===Ci.protocol&&n==="*")return!0;let s=Kn(n);return s?i===Ci.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${D.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=ze.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=D.join(this.cwd,ze.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} -`;await L.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var Uk=4,nPe=1,sPe=/ *, */g,s6=/\/$/,oPe=32,aPe=(0,Tk.promisify)(Kk.default.gzip),APe=(0,Tk.promisify)(Kk.default.gunzip),kr;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(kr||(kr={}));var Hk={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},Fe=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var c,u,g;if(!e.projectCwd)throw new me(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,L.existsSync(D.join(s,xt.manifest))){i=s;break}n=D.dirname(s)}let o=new Fe(e.projectCwd,{configuration:e});(c=le.telemetry)==null||c.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(u=le.telemetry)==null||u.reportWorkspaceCount(o.workspaces.length),(g=le.telemetry)==null||g.reportDependencyCount(o.workspaces.reduce((f,h)=>f+h.manifest.dependencies.size+h.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};throw new me(`The nearest package directory (${qe(e,i,Pe.PATH)}) doesn't seem to be part of the project declared in ${qe(e,o.cwd,Pe.PATH)}. - -- If the project directory is right, it might be that you forgot to list ${qe(e,D.relative(o.cwd,i),Pe.PATH)} as a workspace. -- If it isn't, it's likely because you have a yarn.lock or package.json file there, confusing the project root detection.`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(L.existsSync(e)){let i=await L.readFilePromise(e,"utf8");this.lockFileChecksum=ai(`${nPe}`,i);let n=Kr(i);if(n.__metadata){let s=n.__metadata.version,o=n.__metadata.cacheKey;for(let a of Object.keys(n)){if(a==="__metadata")continue;let l=n[a];if(typeof l.resolution=="undefined")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${a})`);let c=hA(l.resolution,!0),u=new ze;u.load(l,{yamlCompatibilityMode:!0});let g=u.version,f=u.languageName||r,h=l.linkType.toUpperCase(),p=u.dependencies,m=u.peerDependencies,I=u.dependenciesMeta,y=u.peerDependenciesMeta,B=u.bin;if(l.checksum!=null){let x=typeof o!="undefined"&&!l.checksum.includes("/")?`${o}/${l.checksum}`:l.checksum;this.storedChecksums.set(c.locatorHash,x)}if(s>=Uk){let x=V(v({},c),{version:g,languageName:f,linkType:h,dependencies:p,peerDependencies:m,dependenciesMeta:I,peerDependenciesMeta:y,bin:B});this.originalPackages.set(x.locatorHash,x)}for(let x of a.split(sPe)){let F=Jo(x);if(this.storedDescriptors.set(F.descriptorHash,F),s>=Uk)this.storedResolutions.set(F.descriptorHash,c.locatorHash);else{let N=Mm(c);N.descriptorHash!==F.descriptorHash&&(this.storedDescriptors.set(N.descriptorHash,N),this.resolutionAliases.set(F.descriptorHash,N.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new Lh(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${Cr(this.configuration,r.locator)}: ${T.fromPortablePath(e)} conflicts with ${T.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){D.isAbsolute(e)||(e=D.resolve(this.cwd,e)),e=D.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)D.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${Cr(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qo(e)&&(e=pf(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Ut(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(ss(e)&&(e=df(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${nt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Ef(this.configuration,e)} (${qe(this.configuration,D.join(e.cwd,xt.manifest),Pe.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)qo(i)&&e.dependencies.set(r,pf(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(dt(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!n6.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new Br,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(s6,"")!==e.replace(s6,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new Lk;await i.setup(this,{report:e.report});let n=e.lockfileOnly?new Xc([new cy,new Mk(r)]):new Xc([new cy,i,r]),s=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:n}:{project:this,report:e.report,resolver:n,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:s}},a=new Map,l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=[],p=async P=>{let J=await Gl(async()=>await n.resolve(P,o),K=>`${nt(this.configuration,P)}: ${K}`);if(!ob(P,J))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${nt(this.configuration,P)} to ${nt(this.configuration,J)})`);u.set(J.locatorHash,J);let oe=this.configuration.normalizePackage(J);for(let[K,A]of oe.dependencies){let W=await this.configuration.reduceHook(re=>re.reduceDependency,A,this,oe,A,{resolver:n,resolveOptions:o});if(!Cf(A,W))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let ee=n.bindDescriptor(W,P,o);oe.dependencies.set(K,ee)}return h.push(Promise.all([...oe.dependencies.values()].map(K=>B(K)))),l.set(oe.locatorHash,oe),oe},m=async P=>{let J=g.get(P.locatorHash);if(typeof J!="undefined")return J;let oe=Promise.resolve().then(()=>p(P));return g.set(P.locatorHash,oe),oe},I=async(P,J)=>{let oe=await B(J);return a.set(P.descriptorHash,P),c.set(P.descriptorHash,oe.locatorHash),oe},y=async P=>{let J=this.resolutionAliases.get(P.descriptorHash);if(typeof J!="undefined")return I(P,this.storedDescriptors.get(J));let oe=n.getResolutionDependencies(P,o),K=new Map(await Promise.all(oe.map(async ee=>[ee.descriptorHash,await B(ee)]))),W=(await Gl(async()=>await n.getCandidates(P,K,o),ee=>`${Ut(this.configuration,P)}: ${ee}`))[0];if(typeof W=="undefined")throw new Error(`${Ut(this.configuration,P)}: No candidates found`);return a.set(P.descriptorHash,P),c.set(P.descriptorHash,W.locatorHash),m(W)},B=P=>{let J=f.get(P.descriptorHash);if(typeof J!="undefined")return J;a.set(P.descriptorHash,P);let oe=Promise.resolve().then(()=>y(P));return f.set(P.descriptorHash,oe),oe};for(let P of this.workspaces){let J=P.anchoredDescriptor;h.push(B(J))}for(;h.length>0;){let P=[...h];h.length=0,await Promise.all(P)}let x=new Set(this.resolutionAliases.values()),F=new Set(l.keys()),N=new Set,O=new Map;lPe({project:this,report:e.report,accessibleLocators:N,volatileDescriptors:x,optionalBuilds:F,peerRequirements:O,allDescriptors:a,allResolutions:c,allPackages:l});for(let P of x)a.delete(P),c.delete(P);this.storedResolutions=c,this.storedDescriptors=a,this.storedPackages=l,this.accessibleLocators=N,this.originalPackages=u,this.optionalBuilds=F,this.peerRequirements=O,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r},a=Array.from(new Set(bi(this.storedResolutions.values(),[g=>{let f=this.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The locator should have been registered");return gn(f)}])));n===kr.UpdateLockfile&&(a=a.filter(g=>!this.storedChecksums.has(g)));let l=!1,c=ci.progressViaCounter(a.length);r.reportProgress(c);let u=(0,i6.default)(oPe);if(await r.startCacheReport(async()=>{await Promise.all(a.map(g=>u(async()=>{let f=this.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The locator should have been registered");if(ss(f))return;let h;try{h=await s.fetch(f,o)}catch(p){p.message=`${nt(this.configuration,f)}: ${p.message}`,r.reportExceptionOnce(p),l=p;return}h.checksum?this.storedChecksums.set(f.locatorHash,h.checksum):this.storedChecksums.delete(f.locatorHash),h.releaseFs&&h.releaseFs()}).finally(()=>{c.tick()})))}),l)throw l}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var oe;let s=i||this.configuration.makeFetcher(),o={checksums:this.storedChecksums,project:this,cache:e,fetcher:s,report:r,skipIntegrityCheck:!0},a=this.configuration.getLinkers(),l={project:this,report:r},c=new Map(a.map(K=>{let A=K.makeInstaller(l),W=A.getCustomDataKey(),ee=this.installersCustomData.get(W);return typeof ee!="undefined"&&A.attachCustomData(ee),[K,A]})),u=new Map,g=new Map,f=new Map,h=new Map(await Promise.all([...this.accessibleLocators].map(async K=>{let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");return[K,await s.fetch(A,o)]})));for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(typeof A=="undefined")throw new Error("Assertion failed: The locator should have been registered");let W=h.get(A.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let ee=this.tryWorkspaceByLocator(A);if(ee!==null){let re=[],{scripts:H}=ee.manifest;for(let ve of["preinstall","install","postinstall"])H.has(ve)&&re.push([Vi.SCRIPT,ve]);try{for(let[ve,Ne]of c)if(ve.supportsPackage(A,l)&&(await Ne.installPackage(A,W)).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{W.releaseFs&&W.releaseFs()}let R=D.join(W.packageFs.getRealPath(),W.prefixPath);g.set(A.locatorHash,R),!ss(A)&&re.length>0&&f.set(A.locatorHash,{directives:re,buildLocations:[R]})}else{let re=a.find(ve=>ve.supportsPackage(A,l));if(!re)throw new _e(z.LINKER_NOT_FOUND,`${nt(this.configuration,A)} isn't supported by any available linker`);let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");let R;try{R=await H.installPackage(A,W)}finally{W.releaseFs&&W.releaseFs()}u.set(A.locatorHash,re),g.set(A.locatorHash,R.packageLocation),R.buildDirective&&R.packageLocation&&f.set(A.locatorHash,{directives:R.buildDirective,buildLocations:[R.packageLocation]})}}let p=new Map;for(let K of this.accessibleLocators){let A=this.storedPackages.get(K);if(!A)throw new Error("Assertion failed: The locator should have been registered");let W=this.tryWorkspaceByLocator(A)!==null,ee=async(re,H)=>{let R=g.get(A.locatorHash);if(typeof R=="undefined")throw new Error(`Assertion failed: The package (${nt(this.configuration,A)}) should have been registered`);let ve=[];for(let Ne of A.dependencies.values()){let Je=this.storedResolutions.get(Ne.descriptorHash);if(typeof Je=="undefined")throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,Ne)}, from ${nt(this.configuration,A)})should have been registered`);let Ke=this.storedPackages.get(Je);if(typeof Ke=="undefined")throw new Error(`Assertion failed: The package (${Je}, resolved from ${Ut(this.configuration,Ne)}) should have been registered`);let ie=this.tryWorkspaceByLocator(Ke)===null?u.get(Je):null;if(typeof ie=="undefined")throw new Error(`Assertion failed: The package (${Je}, resolved from ${Ut(this.configuration,Ne)}) should have been registered`);ie===re||W||ie===null?g.get(Ke.locatorHash)!==null&&ve.push([Ne,Ke]):R!==null&&Yl(p,Je).push(R)}R!==null&&await H.attachInternalDependencies(A,ve)};if(W)for(let[re,H]of c)re.supportsPackage(A,l)&&await ee(re,H);else{let re=u.get(A.locatorHash);if(!re)throw new Error("Assertion failed: The linker should have been found");let H=c.get(re);if(!H)throw new Error("Assertion failed: The installer should have been registered");await ee(re,H)}}for(let[K,A]of p){let W=this.storedPackages.get(K);if(!W)throw new Error("Assertion failed: The package should have been registered");let ee=u.get(W.locatorHash);if(!ee)throw new Error("Assertion failed: The linker should have been found");let re=c.get(ee);if(!re)throw new Error("Assertion failed: The installer should have been registered");await re.attachExternalDependents(W,A)}let m=new Map;for(let K of c.values()){let A=await K.finalizeInstall();for(let W of(oe=A==null?void 0:A.records)!=null?oe:[])f.set(W.locatorHash,{directives:W.buildDirective,buildLocations:W.buildLocations});typeof(A==null?void 0:A.customData)!="undefined"&&m.set(K.getCustomDataKey(),A.customData)}if(this.installersCustomData=m,n===kr.SkipBuild)return;let I=new Set(this.storedPackages.keys()),y=new Set(f.keys());for(let K of y)I.delete(K);let B=(0,uy.createHash)("sha512");B.update(process.versions.node),await this.configuration.triggerHook(K=>K.globalHashGeneration,this,K=>{B.update("\0"),B.update(K)});let x=B.digest("hex"),F=new Map,N=K=>{let A=F.get(K.locatorHash);if(typeof A!="undefined")return A;let W=this.storedPackages.get(K.locatorHash);if(typeof W=="undefined")throw new Error("Assertion failed: The package should have been registered");let ee=(0,uy.createHash)("sha512");ee.update(K.locatorHash),F.set(K.locatorHash,"");for(let re of W.dependencies.values()){let H=this.storedResolutions.get(re.descriptorHash);if(typeof H=="undefined")throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,re)}) should have been registered`);let R=this.storedPackages.get(H);if(typeof R=="undefined")throw new Error("Assertion failed: The package should have been registered");ee.update(N(R))}return A=ee.digest("hex"),F.set(K.locatorHash,A),A},O=(K,A)=>{let W=(0,uy.createHash)("sha512");W.update(x),W.update(N(K));for(let ee of A)W.update(ee);return W.digest("hex")},P=new Map,J=!1;for(;y.size>0;){let K=y.size,A=[];for(let W of y){let ee=this.storedPackages.get(W);if(!ee)throw new Error("Assertion failed: The package should have been registered");let re=!0;for(let ve of ee.dependencies.values()){let Ne=this.storedResolutions.get(ve.descriptorHash);if(!Ne)throw new Error(`Assertion failed: The resolution (${Ut(this.configuration,ve)}) should have been registered`);if(y.has(Ne)){re=!1;break}}if(!re)continue;y.delete(W);let H=f.get(ee.locatorHash);if(!H)throw new Error("Assertion failed: The build directive should have been registered");let R=O(ee,H.buildLocations);if(this.storedBuildState.get(ee.locatorHash)===R){P.set(ee.locatorHash,R);continue}J||(await this.persistInstallStateFile(),J=!0),this.storedBuildState.has(ee.locatorHash)?r.reportInfo(z.MUST_REBUILD,`${nt(this.configuration,ee)} must be rebuilt because its dependency tree changed`):r.reportInfo(z.MUST_BUILD,`${nt(this.configuration,ee)} must be built because it never has been before or the last one failed`);for(let ve of H.buildLocations){if(!D.isAbsolute(ve))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${ve})`);A.push((async()=>{for(let[Ne,Je]of H.directives){let Ke=`# This file contains the result of Yarn building a package (${gn(ee)}) -`;switch(Ne){case Vi.SCRIPT:Ke+=`# Script name: ${Je} -`;break;case Vi.SHELLCODE:Ke+=`# Script code: ${Je} -`;break}let ie=null;if(!await L.mktempPromise(async Se=>{let fe=D.join(Se,"build.log"),{stdout:Ie,stderr:pe}=this.configuration.getSubprocessStreams(fe,{header:Ke,prefix:nt(this.configuration,ee),report:r}),Qe;try{switch(Ne){case Vi.SCRIPT:Qe=await VI(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break;case Vi.SHELLCODE:Qe=await PS(ee,Je,[],{cwd:ve,project:this,stdin:ie,stdout:Ie,stderr:pe});break}}catch(X){pe.write(X.stack),Qe=1}if(Ie.end(),pe.end(),Qe===0)return P.set(ee.locatorHash,R),!0;L.detachTemp(Se);let Z=`${nt(this.configuration,ee)} couldn't be built successfully (exit code ${qe(this.configuration,Qe,Pe.NUMBER)}, logs can be found here: ${qe(this.configuration,fe,Pe.PATH)})`;return this.optionalBuilds.has(ee.locatorHash)?(r.reportInfo(z.BUILD_FAILED,Z),P.set(ee.locatorHash,R),!0):(r.reportError(z.BUILD_FAILED,Z),!1)}))return}})())}}if(await Promise.all(A),K===y.size){let W=Array.from(y).map(ee=>{let re=this.storedPackages.get(ee);if(!re)throw new Error("Assertion failed: The package should have been registered");return nt(this.configuration,re)}).join(", ");r.reportError(z.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${W})`);break}}this.storedBuildState=P}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=le.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qr.Inactive;let i=D.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await L.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new _e(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=qe(this.configuration,g,Pe.PACKAGE_EXTENSION);switch(g.status){case qr.Inactive:e.report.reportWarning(z.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qr.Redundant:e.report.reportWarning(z.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=Dl(n,this.generateLockfile());if(c!==n){let u=(0,r6.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.ADDED)):f.startsWith("-")?e.report.reportError(z.FROZEN_LOCKFILE_EXCEPTION,qe(this.configuration,f,Pe.REMOVED)):e.report.reportInfo(null,qe(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new _e(z.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qr.Active&&((l=le.telemetry)==null||l.reportPackageExtension(rc(g,Pe.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==kr.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>Fm(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===kr.UpdateLockfile){e.report.reportWarning(z.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${qe(this.configuration,"mode=update-lockfile",Pe.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>Fm(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:Uk};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>xi(f)).sort().join(", "),c=new ze;c.version=o.linkType===lt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expecte the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=V(v({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:gn(o),checksum:u})}return`${[`# This file is generated by running "yarn install" inside your project. -`,`# Manual changes might be lost - proceed with caution! -`].join("")} -`+ro(r)}async persistLockfile(){let e=D.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.generateLockfile();await L.changeFilePromise(e,r,{automaticNewlines:!0})}async persistInstallStateFile(){let e=[];for(let o of Object.values(Hk))e.push(...o);let r=(0,gy.default)(this,e),i=Ok.default.serialize(r),n=ai(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await L.mkdirPromise(D.dirname(s),{recursive:!0}),await L.writeFilePromise(s,await aPe(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath");if(!L.existsSync(n)){r&&await this.applyLightResolution();return}let s=await APe(await L.readFilePromise(n));this.installStateChecksum=ai(s);let o=Ok.default.deserialize(s);e&&typeof o.installersCustomData!="undefined"&&(this.installersCustomData=o.installersCustomData),i&&Object.assign(this,(0,gy.default)(o,Hk.restoreBuildState)),r&&(o.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,gy.default)(o,Hk.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Br}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Gw(e.cwd,this.cwd)||!await L.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await L.readdirPromise(e.cwd)){if(i.has(a))continue;let l=D.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError(z.IMMUTABLE_CACHE,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo(z.UNUSED_CACHE_ENTRY,`${qe(this.configuration,D.basename(l),"magenta")} appears to be unused - removing`),await L.removePromise(l)))}n&&s!==0&&r.reportInfo(z.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function lPe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,volatileDescriptors:o=new Set,peerRequirements:a=new Map,report:l,tolerateMissingPackages:c=!1}){var oe;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,I=new Map,y=new Map(t.workspaces.map(K=>{let A=K.anchoredLocator.locatorHash,W=i.get(A);if(typeof W=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,hf(W)]})),B=()=>{let K=L.mktempSync(),A=D.join(K,"stacktrace.log"),W=String(g.length+1).length,ee=g.map((re,H)=>`${`${H+1}.`.padStart(W," ")} ${gn(re)} -`).join("");throw L.writeFileSync(A,ee),L.detachTemp(K),new _e(z.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${T.fromPortablePath(A)}`)},x=K=>{let A=r.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let W=i.get(A);if(!W)throw new Error("Assertion failed: The package could not be found");return W},F=(K,A,{top:W,optional:ee})=>{g.length>1e3&&B(),g.push(K);let re=N(K,A,{top:W,optional:ee});return g.pop(),re},N=(K,A,{top:W,optional:ee})=>{if(n.has(K.locatorHash))return;n.add(K.locatorHash),ee||s.delete(K.locatorHash);let re=i.get(K.locatorHash);if(!re){if(c)return;throw new Error(`Assertion failed: The package (${nt(t.configuration,K)}) should have been registered`)}let H=[],R=[],ve=[],Ne=[],Je=[];for(let ie of Array.from(re.dependencies.values())){if(re.peerDependencies.has(ie.identHash)&&re.locatorHash!==W)continue;if(qo(ie))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");o.delete(ie.descriptorHash);let ce=ee;if(!ce){let ae=re.dependenciesMeta.get(dt(ie));if(typeof ae!="undefined"){let ue=ae.get(null);typeof ue!="undefined"&&ue.optional&&(ce=!0)}}let Se=r.get(ie.descriptorHash);if(!Se){if(c)continue;throw new Error(`Assertion failed: The resolution (${Ut(t.configuration,ie)}) should have been registered`)}let fe=y.get(Se)||i.get(Se);if(!fe)throw new Error(`Assertion failed: The package (${Se}, resolved from ${Ut(t.configuration,ie)}) should have been registered`);if(fe.peerDependencies.size===0){F(fe,new Map,{top:W,optional:ce});continue}let Ie=u.get(fe.locatorHash);typeof Ie=="number"&&Ie>=2&&B();let pe,Qe,Z=new Set,X;R.push(()=>{pe=nb(ie,K.locatorHash),Qe=sb(fe,K.locatorHash),re.dependencies.delete(ie.identHash),re.dependencies.set(pe.identHash,pe),r.set(pe.descriptorHash,Qe.locatorHash),e.set(pe.descriptorHash,pe),i.set(Qe.locatorHash,Qe),H.push([fe,pe,Qe])}),ve.push(()=>{var ae;X=new Map;for(let ue of Qe.peerDependencies.values()){let Be=re.dependencies.get(ue.identHash);if(!Be&&Cf(K,ue)&&(Be=Mm(K),e.set(Be.descriptorHash,Be),r.set(Be.descriptorHash,K.locatorHash),o.delete(Be.descriptorHash)),(!Be||Be.range==="missing:")&&Qe.dependencies.has(ue.identHash)){Qe.peerDependencies.delete(ue.identHash);continue}Be||(Be=zt(ue,"missing:")),Qe.dependencies.set(Be.identHash,Be),qo(Be)&&oA(p,Be.descriptorHash).add(Qe.locatorHash),f.set(Be.identHash,Be),Be.range==="missing:"&&Z.add(Be.identHash),X.set(ue.identHash,(ae=A.get(ue.identHash))!=null?ae:Qe.locatorHash)}Qe.dependencies=new Map(bi(Qe.dependencies,([ue,Be])=>dt(Be)))}),Ne.push(()=>{if(!i.has(Qe.locatorHash))return;let ae=u.get(fe.locatorHash),ue=typeof ae!="undefined"?ae+1:1;u.set(fe.locatorHash,ue),F(Qe,X,{top:W,optional:ce}),u.set(fe.locatorHash,ue-1)}),Je.push(()=>{let ae=re.dependencies.get(ie.identHash);if(typeof ae=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ue=r.get(ae.descriptorHash);if(typeof ue=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(oA(I,ue).add(K.locatorHash),!!i.has(Qe.locatorHash)){for(let Be of Qe.peerDependencies.values()){let ct=X.get(Be.identHash);if(typeof ct=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");Yl(jl(m,ct),dt(Be)).push(Qe.locatorHash)}for(let Be of Z)Qe.dependencies.delete(Be)}})}for(let ie of[...R,...ve])ie();let Ke;do{Ke=!0;for(let[ie,ce,Se]of H){if(!i.has(Se.locatorHash))continue;let fe=jl(h,ie.locatorHash),Ie=ai(...[...Se.dependencies.values()].map(X=>{let ae=X.range!=="missing:"?r.get(X.descriptorHash):"missing:";if(typeof ae=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${Ut(t.configuration,X)} to have been registered`);return ae===W?`${ae} (top)`:ae}),ce.identHash),pe=fe.get(Ie);if(typeof pe=="undefined"){fe.set(Ie,ce);continue}if(pe===ce)continue;Ke=!1,i.delete(Se.locatorHash),e.delete(ce.descriptorHash),r.delete(ce.descriptorHash),n.delete(Se.locatorHash);let Qe=p.get(ce.descriptorHash)||[],Z=[re.locatorHash,...Qe];p.delete(ce.descriptorHash);for(let X of Z){let ae=i.get(X);typeof ae!="undefined"&&ae.dependencies.set(ce.identHash,pe)}}}while(!Ke);for(let ie of[...Ne,...Je])ie()};for(let K of t.workspaces){let A=K.anchoredLocator;o.delete(K.anchoredDescriptor.descriptorHash),F(A,new Map,{top:A.locatorHash,optional:!1})}var O;(function(W){W[W.NotProvided=0]="NotProvided",W[W.NotCompatible=1]="NotCompatible"})(O||(O={}));let P=[];for(let[K,A]of I){let W=i.get(K);if(typeof W=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let ee=m.get(K);if(typeof ee!="undefined")for(let re of A){let H=i.get(re);if(typeof H!="undefined")for(let[R,ve]of ee){let Ne=Si(R);if(H.peerDependencies.has(Ne.identHash))continue;let Je=`p${ai(re,R,K).slice(0,5)}`;a.set(Je,{subject:re,requested:Ne,rootRequester:K,allRequesters:ve});let Ke=W.dependencies.get(Ne.identHash);if(typeof Ke!="undefined"){let ce=(oe=x(Ke).version)!=null?oe:"0.0.0",Se=new Set;for(let Ie of ve){let pe=i.get(Ie);if(typeof pe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let Qe=pe.peerDependencies.get(Ne.identHash);if(typeof Qe=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");Se.add(Qe.range)}[...Se].every(Ie=>_f(ce,Ie))||P.push({type:1,subject:H,requested:Ne,requester:W,version:ce,hash:Je,requirementCount:ve.length})}else{let ie=W.peerDependenciesMeta.get(R);(ie==null?void 0:ie.optional)||P.push({type:0,subject:H,requested:Ne,requester:W,hash:Je})}}}}let J=[K=>Ab(K.subject),K=>dt(K.requested),K=>`${K.type}`];for(let K of bi(P,J))switch(K.type){case 0:l==null||l.reportWarning(z.MISSING_PEER_DEPENDENCY,`${nt(t.configuration,K.subject)} doesn't provide ${Cr(t.configuration,K.requested)} (${qe(t.configuration,K.hash,Pe.CODE)}), requested by ${Cr(t.configuration,K.requester)}`);break;case 1:{let A=K.requirementCount>1?"and some of its descendants request":"requests";l==null||l.reportWarning(z.INCOMPATIBLE_PEER_DEPENDENCY,`${nt(t.configuration,K.subject)} provides ${Cr(t.configuration,K.requested)} (${qe(t.configuration,K.hash,Pe.CODE)}) with version ${If(t.configuration,K.version)}, which doesn't satisfy what ${Cr(t.configuration,K.requester)} ${A}`)}break}P.length>0&&(l==null||l.reportWarning(z.UNNAMED,`Some peer dependencies are incorrectly met; run ${qe(t.configuration,"yarn explain peer-requirements ",Pe.CODE)} for details, where ${qe(t.configuration,"",Pe.CODE)} is the six-letter p-prefixed code`))}var Cs;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(Cs||(Cs={}));var Mh=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!L.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(Cs.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(Cs.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(Cs.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(Cs.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(Cs.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(Cs.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(Cs.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(Cs.DEPENDENCY_COUNT,String(e))}reportValue(e,r){oA(this.values,e).add(r)}reportEnumerator(e,r){oA(this.enumerators,e).add(ai(r))}reportHit(e,r="*"){let i=jl(this.hits,e),n=Ys(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return D.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=L.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{L.mkdirSync(D.dirname(r),{recursive:!0}),L.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>PD(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let B of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[B]=m.enumerators[B].length;c(m);let I=new Map,y=20;for(let[B,x]of Object.entries(m.values))x.length>0&&I.set(B,x.slice(0,y));for(;I.size>0;){let B={};B.userId=h,B.reportType="secondary",B.metrics={};for(let[x,F]of I)B.metrics[x]=F.shift(),F.length===0&&I.delete(x);c(B)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=L.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let I=s.hits=(c=s.hits)!=null?c:{},y=I[m]=(u=I[m])!=null?u:{};for(let[B,x]of this.hits.get(m))y[B]=((g=y[B])!=null?g:0)+x}for(let m of["values","enumerators"])for(let I of this[m].keys()){let y=s[m]=(f=s[m])!=null?f:{};y[I]=[...new Set([...(h=y[I])!=null?h:[],...(p=this[m].get(I))!=null?p:[]])]}L.mkdirSync(D.dirname(e),{recursive:!0}),L.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var Yk=te(require("child_process")),o6=te(Ng());var jk=te(require("fs"));var lu=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function cPe(t){let e=T.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,Yk.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:V(v({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,Yk.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:V(v({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function fy({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new ts({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var p,m,I,y,B;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(process.env.YARN_IGNORE_NODE!=="1"&&!vt.satisfiesWithPrereleases(s,o))throw new me(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let a=await le.find(T.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),l=a.get("yarnPath"),c=a.get("ignorePath"),u=a.get("ignoreCwd"),g=T.toPortablePath(T.resolve(process.argv[1])),f=x=>L.readFilePromise(x).catch(()=>Buffer.of());if(!c&&!u&&await(async()=>l===g||Buffer.compare(...await Promise.all([f(l),f(g)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(l!==null&&!c)if(!L.existsSync(l))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${a.sources.get("yarnPath")}), but the specified location doesn't exist (${l}).`))),process.exitCode=1;else try{cPe(l)}catch(x){process.exitCode=x.code||1}else{c&&delete process.env.YARN_IGNORE_PATH,a.get("enableTelemetry")&&!o6.isCI&&process.stdout.isTTY&&(le.telemetry=new Mh(a,"puba9cdc10ec5790a2cf4969dd413a47270")),(p=le.telemetry)==null||p.reportVersion(t);for(let[O,P]of a.plugins.entries()){lu.has((I=(m=O.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:m[1])!=null?I:"")&&((y=le.telemetry)==null||y.reportPluginName(O));for(let J of P.commands||[])n.register(J)}let F=n.process(process.argv.slice(2));F.help||(B=le.telemetry)==null||B.reportCommandName(F.path.join(" "));let N=F.cwd;if(typeof N!="undefined"&&!u){let O=(0,jk.realpathSync)(process.cwd()),P=(0,jk.realpathSync)(N);if(O!==P){process.chdir(N),await r();return}}await n.runExit(F,{cwd:T.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>L.rmtempPromise())}function a6(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var ap={};et(ap,{BaseCommand:()=>ye,WorkspaceRequiredError:()=>Ze,getDynamicLibs:()=>yZ,getPluginConfiguration:()=>jy,main:()=>fy,openWorkspace:()=>yu,pluginCommands:()=>lu});var ye=class extends he{constructor(){super(...arguments);this.cwd=j.String("--cwd",{hidden:!0})}};var Ze=class extends me{constructor(e,r){let i=D.relative(e,r),n=D.join(e,ze.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var dOe=te(cr());Pn();var COe=te(Hv()),yZ=()=>new Map([["@yarnpkg/cli",ap],["@yarnpkg/core",Th],["@yarnpkg/fslib",kg],["@yarnpkg/libzip",Of],["@yarnpkg/parsers",Jf],["@yarnpkg/shell",zf],["clipanion",Jg],["semver",dOe],["typanion",Tl],["yup",COe]]);async function yu(t,e){let{project:r,workspace:i}=await Fe.find(t,e);if(!i)throw new Ze(r.cwd,e);return i}var EWe=te(cr());Pn();var yWe=te(Hv());var FP={};et(FP,{dedupeUtils:()=>wP,default:()=>sHe,suggestUtils:()=>cP});var _te=te(Ng());var x$=te(up());Pn();var cP={};et(cP,{Modifier:()=>ll,Strategy:()=>or,Target:()=>er,applyModifier:()=>D$,extractDescriptorFromPath:()=>fP,extractRangeModifier:()=>b$,fetchDescriptorFrom:()=>gP,findProjectDescriptors:()=>S$,getModifier:()=>gp,getSuggestedDescriptors:()=>fp});var uP=te(cr()),er;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(er||(er={}));var ll;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ll||(ll={}));var or;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(or||(or={}));function gp(t,e){return t.exact?ll.EXACT:t.caret?ll.CARET:t.tilde?ll.TILDE:e.configuration.get("defaultSemverRangePrefix")}var LKe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function b$(t,{project:e}){let r=t.match(LKe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function D$(t,e){let{protocol:r,source:i,params:n,selector:s}=w.parseRange(t.range);return uP.default.valid(s)&&(s=`${e}${t.range}`),w.makeDescriptor(t,w.makeRange({protocol:r,source:i,params:n,selector:s}))}async function S$(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===er.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===er.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function fP(t,{cwd:e,workspace:r}){return await MKe(async i=>{D.isAbsolute(t)||(t=D.relative(r.cwd,D.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await gP(w.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new Br,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=w.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await ze.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return w.makeDescriptor(h.name,t)})}async function fp(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${w.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case or.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${w.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case or.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await S$(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(or.KEEP))continue;let m=`(originally used by ${w.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${w.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case or.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${w.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case or.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);h!==null&&c.push({descriptor:h.anchoredDescriptor,name:`Attach ${w.prettyWorkspace(e.configuration,h)}`,reason:`(local workspace at ${h.cwd})`})});break;case or.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${w.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===er.PEER)c.push({descriptor:w.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:Ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await gP(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=D$(h,s),c.push({descriptor:h,name:`Use ${w.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function gP(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=w.makeDescriptor(t,e),a=new Br,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,skipIntegrityCheck:!0},g=V(v({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:I,params:y,selector:B}=w.parseRange(w.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),uP.default.valid(B)&&s!==!1){let x=typeof s=="string"?s:o.range;B=b$(x,{project:r})+B}return w.makeDescriptor(p,w.makeRange({protocol:m,source:I,params:y,selector:B}))}async function MKe(t){return await L.mktempPromise(async e=>{let r=le.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new ft(e,{configuration:r,check:!1,immutable:!1}))})}var hp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=j.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=j.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=j.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=j.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=j.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=j.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.packages=j.Rest()}async execute(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=gp(this,r),a=[...s?[or.REUSE]:[],or.PROJECT,...this.cached?[or.CACHE]:[],or.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async I=>{let y=I.match(/^\.{0,2}\//)?await fP(I,{cwd:this.context.cwd,workspace:i}):w.parseDescriptor(I),B=TKe(i,y,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),x=await fp(y,{project:r,workspace:i,cache:n,target:B,modifier:o,strategies:a,maxResults:l});return[y,x,B]})),u=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[y,{suggestions:B,rejections:x}]of c)if(B.filter(N=>N.descriptor!==null).length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),I.reportSeparator(),I.reportExceptionOnce(N)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:I},y]of c){let B,x=I.filter(P=>P.descriptor!==null),F=x[0].descriptor,N=x.every(P=>w.areDescriptorsEqual(P.descriptor,F));x.length===1||N?B=F:(g=!0,{answer:B}=await(0,x$.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:I.map(({descriptor:P,name:J,reason:oe})=>P?{name:J,hint:oe,descriptor:P}:{name:J,hint:oe,disabled:!0}),onCancel:()=>process.exit(130),result(P){return this.find(P,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let O=i.manifest[y].get(B.identHash);(typeof O=="undefined"||O.descriptorHash!==B.descriptorHash)&&(i.manifest[y].set(B.identHash,B),this.optional&&(y==="dependencies"?i.manifest.ensureDependencyMeta(V(v({},B),{range:"unknown"})).optional=!0:y==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(V(v({},B),{range:"unknown"})).optional=!0)),typeof O=="undefined"?f.push([i,y,B,a]):h.push([i,y,O,B]))}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` -`),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};hp.paths=[["add"]],hp.usage=he.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var k$=hp;function TKe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[er.REGULAR].has(e.identHash),a=t.manifest[er.DEVELOPMENT].has(e.identHash),l=t.manifest[er.PEER].has(e.identHash);if((r||i)&&o)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new me(`Package "${w.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?er.PEER:r||n?er.DEVELOPMENT:o?er.REGULAR:a?er.DEVELOPMENT:er.REGULAR}var pp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=j.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Qt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new me(`Couldn't find a binary named "${this.name}" for package "${w.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} -`),0}return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Qt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:w.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${w.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};pp.paths=[["bin"]],pp.usage=he.Usage({description:"get the path to a binary script",details:` - When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. - - When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. - `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var v$=pp;var dp=class extends ye{constructor(){super(...arguments);this.mirror=j.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=j.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await ft.find(e);return(await xe.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await L.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await L.removePromise(r.cwd)})).exitCode()}};dp.paths=[["cache","clean"],["cache","clear"]],dp.usage=he.Usage({description:"remove the shared cache files",details:` - This command will remove all the files from the cache. - `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var P$=dp;var F$=te(by()),hP=te(require("util")),Cp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=j.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new me(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=de.convertMapsToIndexableObjects(s),a=i?(0,F$.default)(o,i):o,l=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} -`),l.exitCode();hP.inspect.styles.name="cyan",this.context.stdout.write(`${(0,hP.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} -`)}return l.exitCode()}};Cp.paths=[["config","get"]],Cp.usage=he.Usage({description:"read a configuration settings",details:` - This command will print a configuration setting. - - Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. - `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var R$=Cp;var qee=te(EP()),Jee=te(by()),Wee=te(Gee()),yP=te(require("util")),Ip=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String();this.value=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>le.updateHomeConfiguration(h):h=>le.updateConfiguration(r(),h))(h=>{if(n){let p=(0,qee.default)(h);return(0,Wee.default)(p,this.name,o),p}else return V(v({},h),{[i]:o})});let c=(await le.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=de.convertMapsToIndexableObjects(c),g=n?(0,Jee.default)(u,n):u;return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{yP.inspect.styles.name="cyan",h.reportInfo(z.UNNAMED,`Successfully set ${this.name} to ${(0,yP.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};Ip.paths=[["config","set"]],Ip.usage=he.Usage({description:"change a configuration settings",details:` - This command will set a configuration setting. - - When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). - - When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. - `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var zee=Ip;var ite=te(EP()),nte=te(Kh()),ste=te(rte()),Ep=class extends ye{constructor(){super(...arguments);this.home=j.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new me("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new me(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>le.updateHomeConfiguration(l):l=>le.updateConfiguration(r(),l);return(await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,nte.default)(u,this.name))return l.reportWarning(z.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,ite.default)(u):v({},u);return(0,ste.default)(g,this.name),g}),c||l.reportInfo(z.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};Ep.paths=[["config","unset"]],Ep.usage=he.Usage({description:"unset a configuration setting",details:` - This command will unset a configuration setting. - `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var ote=Ep;var BP=te(require("util")),yp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=j.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins,{strict:!1});return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError(z.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=de.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(v({key:s,effective:a,source:l},o))}}else{let n=de.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,BP.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,BP.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};yp.paths=[["config"]],yp.usage=he.Usage({description:"display the current configuration",details:` - This command prints the current active configuration settings. - `,examples:[["Print the active configuration settings","$0 config"]]});var ate=yp;Pn();var wP={};et(wP,{Strategy:()=>cl,acceptedStrategies:()=>U2e,dedupe:()=>QP});var Ate=te(Yi()),cl;(function(e){e.HIGHEST="highest"})(cl||(cl={}));var U2e=new Set(Object.values(cl)),H2e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);de.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!Ate.default.isMatch(w.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(I=>{let y=t.originalPackages.get(I);if(typeof y=="undefined")throw new Error(`Assertion failed: The package (${I}) should have been registered`);return y.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function QP(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new Br,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await H2e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=ci.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(y=>y.then(B=>{if(B===null)return;p++;let{descriptor:x,currentPackage:F,updatedPackage:N}=B;n.reportInfo(z.UNNAMED,`${w.prettyDescriptor(s,x)} can be deduped from ${w.prettyLocator(s,F)} to ${w.prettyLocator(s,N)}`),n.reportJson({descriptor:w.stringifyDescriptor(x),currentResolution:w.stringifyLocator(F),updatedResolution:w.stringifyLocator(N)}),t.storedResolutions.set(x.descriptorHash,N.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let I=Ae.pretty(s,e,Ae.Type.CODE);return n.reportInfo(z.UNNAMED,`${m} can be deduped using the ${I} strategy`),p})}var Bp=class extends ye{constructor(){super(...arguments);this.strategy=j.String("-s,--strategy",cl.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:ni(cl)});this.check=j.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=await ft.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await xe.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await QP(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};Bp.paths=[["dedupe"]],Bp.usage=he.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var lte=Bp;var eB=class extends he{async execute(){let{plugins:e}=await le.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=ts.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=ute()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} -`)}};eB.paths=[["--clipanion=definitions"]];var gte=eB;var tB=class extends he{async execute(){this.context.stdout.write(this.cli.usage(null))}};tB.paths=[["help"],["--help"],["-h"]];var fte=tB;var bP=class extends he{constructor(){super(...arguments);this.leadingArgument=j.String();this.args=j.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!w.tryParseIdent(this.leadingArgument)){let e=D.resolve(this.context.cwd,T.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},hte=bP;var rB=class extends he{async execute(){this.context.stdout.write(`${Er||""} -`)}};rB.paths=[["-v"],["--version"]];var pte=rB;var wp=class extends ye{constructor(){super(...arguments);this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await Fe.find(e,this.context.cwd);return await L.mktempPromise(async n=>await xc(this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({project:r,locator:i,binFolder:n})}))}};wp.paths=[["exec"]],wp.usage=he.Usage({description:"execute a shell script",details:` - This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. - - It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var dte=wp;Pn();var Qp=class extends ye{constructor(){super(...arguments);this.hash=j.String({required:!1,validator:QQ(wQ(),[bQ(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await Y2e(this.hash,r,{stdout:this.context.stdout}):(await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>w.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>w.stringifyIdent(a.requested)];for(let[a,l]of de.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=Ae.pretty(e,a,Ae.Type.CODE),h=w.prettyLocator(e,c),p=w.prettyIdent(e,l.requested),m=w.prettyIdent(e,u),I=l.allRequesters.length-1,y=`descendant${I===1?"":"s"}`,B=I>0?` and ${I} ${y}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${B}`)}})).exitCode()}};Qp.paths=[["explain","peer-requirements"]],Qp.usage=he.Usage({description:"explain a set of peer requirements",details:` - A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. - - When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. - - When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. - - **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). - `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var Cte=Qp;async function Y2e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await xe.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var y,B;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(y=a.dependencies.get(n.requested.identHash))!=null?y:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(x=>{let F=e.storedPackages.get(x);if(typeof F=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let N=w.devirtualizeLocator(F),O=e.storedPackages.get(N.locatorHash);if(typeof O=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let P=O.peerDependencies.get(n.requested.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:F,peerDependency:P}});if(g!==null){let x=f.every(({peerDependency:F})=>vt.satisfiesWithPrereleases(g.version,F.range));o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} provides ${w.prettyLocator(i,g)} with version ${w.prettyReference(i,(B=g.version)!=null?B:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo(z.UNNAMED,`${w.prettyLocator(i,a)} doesn't provide ${w.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=Ae.mark(i),p=[];for(let{pkg:x,peerDependency:F}of de.sortMap(f,N=>w.stringifyLocator(N.pkg))){let O=(g!==null?vt.satisfiesWithPrereleases(g.version,F.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:w.stringifyLocator(x),prettyLocator:w.prettyLocator(i,x),prettyRange:w.prettyRange(i,F.range),mark:O})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),I=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:F,prettyRange:N,mark:O}of de.sortMap(p,({stringifiedLocator:P})=>P))o.reportInfo(null,`${F.padEnd(m+(F.length-x.length)," ")} \u2192 ${N.padEnd(I," ")} ${O}`);p.length>1&&(o.reportSeparator(),o.reportInfo(z.UNNAMED,`Note: these requirements start with ${w.prettyLocator(e.configuration,l)}`))})).exitCode()}var mte=te(Yi()),bp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=j.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=j.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=j.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=j.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=j.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=j.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i&&!this.all)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:F})=>{let N=x.anchoredLocator.locatorHash,O=new Map,P=[N];for(;P.length>0;){let J=P.shift();if(O.has(J))continue;let oe=r.storedPackages.get(J);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(O.set(J,oe),w.isVirtualLocator(oe)&&P.push(w.devirtualizeLocator(oe).locatorHash),!(!F&&J!==N))for(let K of oe.dependencies.values()){let A=r.storedResolutions.get(K.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");P.push(A)}}return O.values()},a=({recursive:x})=>{let F=new Map;for(let N of r.workspaces)for(let O of o(N,{recursive:x}))F.set(O.locatorHash,O);return F.values()},l=({all:x,recursive:F})=>x&&F?r.storedPackages.values():x?a({recursive:F}):o(i,{recursive:F}),c=({all:x,recursive:F})=>{let N=l({all:x,recursive:F}),O=this.patterns.map(oe=>{let K=w.parseLocator(oe),A=mte.default.makeRe(w.stringifyIdent(K)),W=w.isVirtualLocator(K),ee=W?w.devirtualizeLocator(K):K;return re=>{let H=w.stringifyIdent(re);if(!A.test(H))return!1;if(K.reference==="unknown")return!0;let R=w.isVirtualLocator(re),ve=R?w.devirtualizeLocator(re):re;return!(W&&R&&K.reference!==re.reference||ee.reference!==ve.reference)}}),P=de.sortMap([...N],oe=>w.stringifyLocator(oe));return{selection:P.filter(oe=>O.length===0||O.some(K=>K(oe))),sortedLookup:P}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new me("No package matched your request");let f=new Map;if(this.dependents)for(let x of g)for(let F of x.dependencies.values()){let N=r.storedResolutions.get(F.descriptorHash);if(typeof N=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");de.getArrayWithDefault(f,N).push(x)}let h=new Map;for(let x of g){if(!w.isVirtualLocator(x))continue;let F=w.devirtualizeLocator(x);de.getArrayWithDefault(h,F.locatorHash).push(x)}let p={},m={children:p},I=e.makeFetcher(),y={project:r,fetcher:I,cache:n,checksums:r.storedChecksums,report:new Br,skipIntegrityCheck:!0},B=[async(x,F,N)=>{var J,oe;if(!F.has("manifest"))return;let O=await I.fetch(x,y),P;try{P=await ze.find(O.prefixPath,{baseFs:O.packageFs})}finally{(J=O.releaseFs)==null||J.call(O)}N("Manifest",{License:Ae.tuple(Ae.Type.NO_HINT,P.license),Homepage:Ae.tuple(Ae.Type.URL,(oe=P.raw.homepage)!=null?oe:null)})},async(x,F,N)=>{var K;if(!F.has("cache"))return;let O=(K=r.storedChecksums.get(x.locatorHash))!=null?K:null,P=n.getLocatorPath(x,O),J;if(P!==null)try{J=L.statSync(P)}catch{}let oe=typeof J!="undefined"?[J.size,Ae.Type.SIZE]:void 0;N("Cache",{Checksum:Ae.tuple(Ae.Type.NO_HINT,O),Path:Ae.tuple(Ae.Type.PATH,P),Size:oe})}];for(let x of u){let F=w.isVirtualLocator(x);if(!this.virtuals&&F)continue;let N={},O={value:[x,Ae.Type.LOCATOR],children:N};if(p[w.stringifyLocator(x)]=O,this.nameOnly){delete O.children;continue}let P=h.get(x.locatorHash);typeof P!="undefined"&&(N.Instances={label:"Instances",value:Ae.tuple(Ae.Type.NUMBER,P.length)}),N.Version={label:"Version",value:Ae.tuple(Ae.Type.NO_HINT,x.version)};let J=(K,A)=>{let W={};if(N[K]=W,Array.isArray(A))W.children=A.map(ee=>({value:ee}));else{let ee={};W.children=ee;for(let[re,H]of Object.entries(A))typeof H!="undefined"&&(ee[re]={label:re,value:H})}};if(!F){for(let K of B)await K(x,s,J);await e.triggerHook(K=>K.fetchPackageInfo,x,s,J)}x.bin.size>0&&!F&&J("Exported Binaries",[...x.bin.keys()].map(K=>Ae.tuple(Ae.Type.PATH,K)));let oe=f.get(x.locatorHash);typeof oe!="undefined"&&oe.length>0&&J("Dependents",oe.map(K=>Ae.tuple(Ae.Type.LOCATOR,K))),x.dependencies.size>0&&!F&&J("Dependencies",[...x.dependencies.values()].map(K=>{var ee;let A=r.storedResolutions.get(K.descriptorHash),W=typeof A!="undefined"&&(ee=r.storedPackages.get(A))!=null?ee:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:K,locator:W})})),x.peerDependencies.size>0&&F&&J("Peer dependencies",[...x.peerDependencies.values()].map(K=>{var re,H;let A=x.dependencies.get(K.identHash),W=typeof A!="undefined"&&(re=r.storedResolutions.get(A.descriptorHash))!=null?re:null,ee=W!==null&&(H=r.storedPackages.get(W))!=null?H:null;return Ae.tuple(Ae.Type.RESOLUTION,{descriptor:K,locator:ee})}))}Un.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};bp.paths=[["info"]],bp.usage=he.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var Ite=bp;Pn();var Dp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=j.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=j.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=j.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=j.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.cacheFolder=j.String("--cache-folder",{hidden:!0});this.frozenLockfile=j.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=j.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=j.Boolean("--non-interactive",{hidden:!0});this.preferOffline=j.Boolean("--prefer-offline",{hidden:!0});this.production=j.Boolean("--production",{hidden:!0});this.registry=j.String("--registry",{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0})}async execute(){var g;let e=await le.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.NOW_BUILDER,i=!!process.env.NETLIFY,n=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,s=async(f,{error:h})=>{let p=await xe.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError(z.DEPRECATED_CLI_SETTINGS,f):m.reportWarning(z.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await s("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!r});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await s("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await s("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!r});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await s("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await s("The --non-interactive option is deprecated",{error:!n});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await s("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await s("The cache-folder option has been deprecated; use rc settings instead",{error:!i});if(f!==null)return f}let o=(g=this.immutable)!=null?g:e.get("enableImmutableInstalls");if(e.projectCwd!==null){let f=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await j2e(e,o)&&(h.reportInfo(z.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await L.readFilePromise(D.join(f,xt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo(z.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await le.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=le.telemetry)==null?void 0:p.isNew)&&(h.reportInfo(z.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo(z.TELEMETRY_NOTICE,`Run ${Ae.pretty(e,"yarn config set --home enableTelemetry 0",Ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await Fe.find(e,this.context.cwd),c=await ft.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!l)throw new Ze(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:o,mode:this.mode})})).exitCode()}};Dp.paths=[["install"],he.Default],Dp.usage=he.Usage({description:"install the project dependencies",details:` - This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics: - - - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). - - - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where are stored the cache files). - - - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). - - - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. - - Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. - - If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. - - If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). - - If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. - - If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. - - If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: - - - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - - - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var Ete=Dp,G2e="|||||||",q2e=">>>>>>>",J2e="=======",yte="<<<<<<<";async function j2e(t,e){if(!t.projectCwd)return!1;let r=D.join(t.projectCwd,t.get("lockfileFilename"));if(!await L.existsPromise(r))return!1;let i=await L.readFilePromise(r,"utf8");if(!i.includes(yte))return!1;if(e)throw new _e(z.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=W2e(i),o,a;try{o=Kr(n),a=Kr(s)}catch(c){throw new _e(z.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=v(v({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await L.changeFilePromise(r,ro(l),{automaticNewlines:!0}),!0}function W2e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(yte)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===J2e){i=!1;break}else if(i||s.startsWith(G2e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(q2e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` -`),e[1].join(` -`)]}var Sp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=j.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=j.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=D.resolve(this.context.cwd,T.toPortablePath(this.destination)),o=await le.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await Fe.find(o,s);if(r.cwd===a.cwd)throw new me("Invalid destination; Can't link the project to itself");if(!l)throw new Ze(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new me("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new me("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=w.stringifyIdent(f.locator),p=this.relative?D.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await xe.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};Sp.paths=[["link"]],Sp.usage=he.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Bte=Sp;var xp=class extends ye{constructor(){super(...arguments);this.args=j.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};xp.paths=[["node"]],xp.usage=he.Usage({description:"run node with the hook already setup",details:` - This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). - - The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. - `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var wte=xp;var Lte=te(require("os"));var xte=te(require("os"));var z2e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function ul(t){let e=await Rt.get(z2e,{configuration:t});return Kr(e.toString())}var kp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await ul(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Rr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(v({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};kp.paths=[["plugin","list"]],kp.usage=he.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Qte=kp;var bte=te(cr()),vp=class extends ye{constructor(){super(...arguments);this.onlyIfNeeded=j.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Er=="undefined")throw new me("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await Dte(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await Dte(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^\.{0,2}[\\/]/)||T.isAbsolute(this.version))i=`file://${T.resolve(this.version)}`;else if(vt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(vt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(vt.validRange(this.version))i=`https://repo.yarnpkg.com/${await V2e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new me(`Invalid version descriptor "${this.version}"`);return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,i,ds.URL)}`),a=await L.readFilePromise(T.toPortablePath(i.slice(o.length)))):(s.reportInfo(z.UNNAMED,`Retrieving ${Ae.pretty(e,i,ds.PATH)}`),a=await Rt.get(i,{configuration:e})),await DP(e,null,a,{report:s})})).exitCode()}};vp.paths=[["set","version"]],vp.usage=he.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Download the version used to invoke the command","$0 set version self"]]});var Ste=vp;async function V2e(t,e){let i=(await Rt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>vt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new me(`No matching release found for range ${Ae.pretty(t,e,Ae.Type.RANGE)}.`);return i[0]}async function Dte(t,e){let r=await Rt.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new me(`Tag ${Ae.pretty(t,e,Ae.Type.RANGE)} not found`);return r.latest[e]}async function DP(t,e,r,{report:i}){var g;e===null&&await L.mktempPromise(async f=>{let h=D.join(f,"yarn.cjs");await L.writeFilePromise(h,r);let{stdout:p}=await Lr.execvp(process.execPath,[T.fromPortablePath(h),"--version"],{cwd:f,env:V(v({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!bte.default.valid(e))throw new Error(`Invalid semver version. ${Ae.pretty(t,"yarn --version",Ae.Type.CODE)} returned: -${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=D.resolve(n,".yarn/releases"),o=D.resolve(s,`yarn-${e}.cjs`),a=D.relative(t.startingCwd,o),l=D.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo(z.UNNAMED,`Saving the new release in ${Ae.pretty(t,a,"magenta")}`),await L.removePromise(D.dirname(o)),await L.mkdirPromise(D.dirname(o),{recursive:!0}),await L.writeFilePromise(o,r),await L.chmodPromise(o,493),u){await le.updateConfiguration(n,{yarnPath:l});let f=await ze.tryFind(n)||new ze;e&&de.isTaggedYarnVersion(e)&&(f.packageManager=`yarn@${e}`);let h={};f.exportTo(h);let p=D.join(n,ze.fileName),m=`${JSON.stringify(h,null,f.indent)} -`;await L.changeFilePromise(p,m,{automaticNewlines:!0})}}var X2e=/^[0-9]+$/;function kte(t){return X2e.test(t)?`pull/${t}/head`:t}var Z2e=({repository:t,branch:e},r)=>[["git","init",T.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin",kte(e)],["git","reset","--hard","FETCH_HEAD"]],_2e=({branch:t})=>[["git","fetch","origin",kte(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],$2e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",D.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],Pp=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=j.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=j.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,xte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{await xP(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo(z.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await Fp($2e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=D.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await L.readFilePromise(o);await DP(e,"sources",a,{report:s}),this.skipPlugins||await eHe(this,{project:r,report:s,target:i})})).exitCode()}};Pp.paths=[["set","version","from","sources"]],Pp.usage=he.Usage({description:"build Yarn from master",details:` - This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. - - By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. - `,examples:[["Build Yarn from master","$0 set version from sources"]]});var vte=Pp;async function Fp(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Lr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${Ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} -`);try{await Lr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function xP(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&L.existsSync(D.join(i,".git"))){r.reportInfo(z.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await Fp(_2e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning(z.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo(z.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await L.removePromise(i),await L.mkdirPromise(i,{recursive:!0}),await Fp(Z2e(t,i),{configuration:e,context:t.context,target:i}))}async function eHe(t,{project:e,report:r,target:i}){let n=await ul(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await SP(o,t,{project:e,report:r,target:i})}var Pte=te(cr()),Fte=te(require("url")),Rte=te(require("vm"));var Rp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await Fe.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||T.isAbsolute(this.name)){let a=D.resolve(this.context.cwd,T.toPortablePath(this.name));i.reportInfo(z.UNNAMED,`Reading ${Ae.pretty(e,a,Ae.Type.PATH)}`),s=D.relative(n.cwd,a),o=await L.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Fte.URL(this.name)}catch{throw new _e(z.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=w.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Pte.default.valid(l.reference))throw new _e(z.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=w.stringifyIdent(l),u=await ul(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new _e(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Er!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Er}/`))}i.reportInfo(z.UNNAMED,`Downloading ${Ae.pretty(e,a,"green")}`),o=await Rt.get(a,{configuration:e})}await kP(s,o,{project:n,report:i})})).exitCode()}};Rp.paths=[["plugin","import"]],Rp.usage=he.Usage({category:"Plugin-related commands",description:"download a plugin",details:` - This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. - - Three types of plugin references are accepted: - - - If the plugin is stored within the Yarn repository, it can be referenced by name. - - Third-party plugins can be referenced directly through their public urls. - - Local plugins can be referenced by their path on the disk. - - Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). - `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Nte=Rp;async function kP(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Rte.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=D.resolve(r.cwd,l);i.reportInfo(z.UNNAMED,`Saving the new plugin in ${Ae.pretty(n,l,"magenta")}`),await L.mkdirPromise(D.dirname(c),{recursive:!0}),await L.writeFilePromise(c,e);let u={path:l,spec:t};await le.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,I=D.resolve(r.cwd,T.toPortablePath(m)),{name:y}=de.dynamicRequire(I);y!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),V(v({},g),{plugins:f})})}var tHe=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Np=class extends ye{constructor(){super(...arguments);this.installPath=j.String("--path",{description:"The path where the repository should be cloned to"});this.repository=j.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=j.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=j.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=j.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?D.resolve(this.context.cwd,T.toPortablePath(this.installPath)):D.resolve(T.toPortablePath((0,Lte.tmpdir)()),"yarnpkg-sources",Di.makeHash(this.repository).slice(0,6));return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await Fe.find(e,this.context.cwd),o=w.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=w.stringifyIdent(o),l=await ul(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new _e(z.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await xP(this,{configuration:e,report:n,target:r}),await SP(c,this,{project:s,report:n,target:r})})).exitCode()}};Np.paths=[["plugin","import","from","sources"]],Np.usage=he.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` - This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. - - The plugins can be referenced by their short name if sourced from the official Yarn repository. - `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var Mte=Np;async function SP(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo(z.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await Fp(tHe({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=D.resolve(s,`packages/${o}/bundles/${t}.js`),c=await L.readFilePromise(l);await kP(t,c,{project:i,report:n})}var Lp=class extends ye{constructor(){super(...arguments);this.name=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=w.parseIdent(s);if(!e.plugins.has(s))throw new me(`${w.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=D.resolve(r.cwd,a);L.existsSync(l)&&(n.reportInfo(z.UNNAMED,`Removing ${Ae.pretty(e,a,Ae.Type.PATH)}...`),await L.removePromise(l)),n.reportInfo(z.UNNAMED,"Updating the configuration..."),await le.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:V(v({},c),{plugins:u})})})).exitCode()}};Lp.paths=[["plugin","remove"]],Lp.usage=he.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` - This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. - - **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. - `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Tte=Lp;var Mp=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};Mp.paths=[["plugin","runtime"]],Mp.usage=he.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` - This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. - `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Ote=Mp;var Tp=class extends ye{constructor(){super(...arguments);this.idents=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(w.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new Br}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await xe.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Tp.paths=[["rebuild"]],Tp.usage=he.Usage({description:"rebuild the project's native packages",details:` - This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. - - Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). - - By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. - `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var Kte=Tp;var vP=te(Yi());Pn();var Op=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[er.REGULAR,er.DEVELOPMENT,er.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=w.parseIdent(h);for(let I of s){let y=[...I.manifest.peerDependenciesMeta.keys()];for(let B of(0,vP.default)(y,h))I.manifest.peerDependenciesMeta.delete(B),l=!0,p=!0;for(let B of o){let x=I.manifest.getForScope(B),F=[...x.values()].map(N=>w.stringifyIdent(N));for(let N of(0,vP.default)(F,w.stringifyIdent(m))){let{identHash:O}=w.parseIdent(N),P=x.get(O);if(typeof P=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");I.manifest[B].delete(O),c.push([I,B,P]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new me(`${u} ${Ae.prettyList(e,a,ds.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await xe.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};Op.paths=[["remove"]],Op.usage=he.Usage({description:"remove dependencies from the project",details:` - This command will remove the packages matching the specified patterns from the current workspace. - - If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: - - - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. - - - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. - - This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. - `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Ute=Op;var Hte=te(require("util")),iB=class extends ye{async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);return(await xe.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=de.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Hte.inspect)(g,l)}`)})).exitCode()}};iB.paths=[["run"]];var Yte=iB;var Kp=class extends ye{constructor(){super(...arguments);this.inspect=j.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=j.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=j.Boolean("-T,--top-level",!1,{hidden:!0});this.binariesOnly=j.Boolean("-B,--binaries-only",!1,{hidden:!0});this.silent=j.Boolean("--silent",{hidden:!0});this.scriptName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await Fe.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Qt.hasPackageScript(s,this.scriptName,{project:r}))return await Qt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Qt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Qt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Qt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new me(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${w.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new me("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of lu)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new me(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new me(`Couldn't find a script named "${this.scriptName}".`)}}};Kp.paths=[["run"]],Kp.usage=he.Usage({description:"run a script defined in the package.json",details:` - This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: - - - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. - - - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. - - - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. - - Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). - `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var jte=Kp;var Up=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=j.String();this.resolution=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new Ze(r.cwd,this.context.cwd);let s=w.parseDescriptor(this.descriptor,!0),o=w.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Up.paths=[["set","resolution"]],Up.usage=he.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Gte=Up;var qte=te(Yi()),Hp=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=D.resolve(this.context.cwd,T.toPortablePath(l));if(de.isPathLike(l)){let u=await le.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await Fe.find(u,c);if(!f)throw new Ze(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(w.stringifyIdent(h.locator));if(o.size===0)throw new me("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new me("The target workspace doesn't have a name and thus cannot be unlinked");o.add(w.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,qte.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Hp.paths=[["unlink"]],Hp.usage=he.Usage({description:"disconnect the local project from another one",details:` - This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. - `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Jte=Hp;var Wte=te(up()),PP=te(Yi());Pn();var xu=class extends ye{constructor(){super(...arguments);this.interactive=j.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=j.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=j.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=j.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=j.String("--mode",{description:"Change what artifacts installs generate",validator:ni(kr)});this.patterns=j.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>w.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(w.parseDescriptor(u).range!=="unknown")throw new me("Ranges aren't allowed when using --recursive");for(let g of(0,PP.default)(o,u)){let f=w.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=gp(this,r),a=s?[or.KEEP,or.REUSE,or.PROJECT,or.LATEST]:[or.PROJECT,or.LATEST],l=[],c=[];for(let I of this.patterns){let y=!1,B=w.parseDescriptor(I);for(let x of r.workspaces)for(let F of[er.REGULAR,er.DEVELOPMENT]){let O=[...x.manifest.getForScope(F).values()].map(P=>w.stringifyIdent(P));for(let P of(0,PP.default)(O,w.stringifyIdent(B))){let J=w.parseIdent(P),oe=x.manifest[F].get(J.identHash);if(typeof oe=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let K=w.makeDescriptor(J,B.range);l.push(Promise.resolve().then(async()=>[x,F,oe,await fp(K,{project:r,workspace:x,cache:n,target:F,modifier:o,strategies:a})])),y=!0}}y||c.push(I)}if(c.length>1)throw new me(`Patterns ${Ae.prettyList(e,c,ds.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new me(`Pattern ${Ae.prettyList(e,c,ds.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uo.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async I=>{for(let[,,y,{suggestions:B,rejections:x}]of u){let F=B.filter(N=>N.descriptor!==null);if(F.length===0){let[N]=x;if(typeof N=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let O=this.cli.error(N);r.configuration.get("enableNetwork")?I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range - -${O}`):I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} can't be resolved to a satisfying range (note: network resolution has been disabled) - -${O}`)}else F.length>1&&!s&&I.reportError(z.CANT_SUGGEST_RESOLUTIONS,`${w.prettyDescriptor(e,y)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[I,y,,{suggestions:B}]of u){let x,F=B.filter(J=>J.descriptor!==null),N=F[0].descriptor,O=F.every(J=>w.areDescriptorsEqual(J.descriptor,N));F.length===1||O?x=N:(f=!0,{answer:x}=await(0,Wte.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${w.prettyWorkspace(e,I)} \u276F ${y}?`,choices:B.map(({descriptor:J,name:oe,reason:K})=>J?{name:oe,hint:K,descriptor:J}:{name:oe,hint:K,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let P=I.manifest[y].get(x.identHash);if(typeof P=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(P.descriptorHash!==x.descriptorHash)I.manifest[y].set(x.identHash,x),h.push([I,y,P,x]);else{let J=e.makeResolver(),oe={project:r,resolver:J},K=J.bindDescriptor(P,I.anchoredLocator,oe);r.forgetResolution(K)}}return await e.triggerMultipleHooks(I=>I.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` -`),(await xe.start({configuration:e,stdout:this.context.stdout},async I=>{await r.install({cache:n,report:I,mode:this.mode})})).exitCode()}};xu.paths=[["up"]],xu.usage=he.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),xu.schema=[DQ("recursive",$a.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var zte=xu;var Yp=class extends ye{constructor(){super(...arguments);this.recursive=j.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=j.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=w.parseIdent(this.package).identHash,s=this.recursive?iHe(r,n,{configuration:e,peers:this.peers}):rHe(r,n,{configuration:e,peers:this.peers});Un.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Yp.paths=[["why"]],Yp.usage=he.Usage({description:"display the reason why a package is needed",details:` - This command prints the exact reasons why a package appears in the dependency tree. - - If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. - `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var Vte=Yp;function rHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.storedPackages.values(),a=>w.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=w.stringifyLocator(a);s[p]={value:[a,Ae.Type.LOCATOR],children:l}}let h=w.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},Ae.Type.DEPENDENT]}}}return o}function iHe(t,e,{configuration:r,peers:i}){let n=de.sortMap(t.workspaces,f=>w.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let I=t.storedPackages.get(m);if(!I)throw new Error("Assertion failed: The package should have been registered");a(I)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?Ae.tuple(Ae.Type.DEPENDENT,{locator:f,descriptor:p}):Ae.tuple(Ae.Type.LOCATOR,f),I={},y={value:m,children:I},B=w.stringifyLocator(f);if(h[B]=y,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let F=t.storedResolutions.get(x.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");g(N,I,x)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var jp=class extends ye{constructor(){super(...arguments);this.verbose=j.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd);return(await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{for(let s of r.workspaces){let{manifest:o}=s,a;if(this.verbose){let l=new Set,c=new Set;for(let u of ze.hardDependencies)for(let[g,f]of o.getForScope(u)){let h=r.tryWorkspaceByDescriptor(f);h===null?r.workspacesByIdent.has(g)&&c.add(f):l.add(h)}a={workspaceDependencies:Array.from(l).map(u=>u.relativeCwd),mismatchedWorkspaceDependencies:Array.from(c).map(u=>w.stringifyDescriptor(u))}}n.reportInfo(null,`${s.relativeCwd}`),n.reportJson(v({location:s.relativeCwd,name:o.name?w.stringifyIdent(o.name):null},a))}})).exitCode()}};jp.paths=[["workspaces","list"]],jp.usage=he.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var Xte=jp;var Gp=class extends he{constructor(){super(...arguments);this.workspaceName=j.String();this.commandName=j.String();this.args=j.Proxy()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=w.convertToIdent(a.locator);return[w.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new me(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: - - ${a.join(` - - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Gp.paths=[["workspace"]],Gp.usage=he.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` - This command will run a given sub-command on a single workspace. - `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var Zte=Gp;var nHe={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:ge.BOOLEAN,default:_te.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:ge.STRING,values:["^","~",""],default:ll.CARET}},commands:[P$,R$,zee,ote,Gte,vte,Ste,Xte,gte,fte,hte,pte,k$,v$,ate,lte,dte,Cte,Ite,Ete,Bte,Jte,wte,Mte,Nte,Tte,Qte,Ote,Kte,Ute,Yte,jte,zte,Vte,Zte]},sHe=nHe;var MP={};et(MP,{default:()=>aHe});var Me={optional:!0},$te=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Me,zenObservable:Me}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Me}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Me,["postcss-jsx"]:Me,["postcss-less"]:Me,["postcss-markdown"]:Me,["postcss-scss"]:Me}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Me}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Me}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@*",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Me,"vue-template-compiler":Me}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Me,"utf-8-validate":Me}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@*",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@*",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me,"vuetify-loader":Me}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Me}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Me}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Me}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Me,tinyliquid:Me,"liquid-node":Me,jade:Me,"then-jade":Me,dust:Me,"dustjs-helpers":Me,"dustjs-linkedin":Me,swig:Me,"swig-templates":Me,"razor-tmpl":Me,atpl:Me,liquor:Me,twig:Me,ejs:Me,eco:Me,jazz:Me,jqtpl:Me,hamljs:Me,hamlet:Me,whiskers:Me,"haml-coffee":Me,"hogan.js":Me,templayed:Me,handlebars:Me,underscore:Me,lodash:Me,pug:Me,"then-pug":Me,qejs:Me,walrus:Me,mustache:Me,just:Me,ect:Me,mote:Me,toffee:Me,dot:Me,"bracket-template":Me,ractive:Me,nunjucks:Me,htmling:Me,"babel-core":Me,plates:Me,"react-dom":Me,react:Me,"arc-templates":Me,vash:Me,slm:Me,marko:Me,teacup:Me,"coffee-script":Me,squirrelly:Me,twing:Me}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}]];var RP;function ere(){return typeof RP=="undefined"&&(RP=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),RP}var NP;function tre(){return typeof NP=="undefined"&&(NP=require("zlib").brotliDecompressSync(Buffer.from("G1QTIIzURnVBnGa0VPvr81orV8AFIqdU0sqrdcVgCdukgAZwi8a50gLk9+19Z2NcUILjmzXkzt4dzm5a6Yoys+/9qnKiaApXukOiuoyUaMcynG4X7X4vBaIE/PL30gwG6HSGJkLxb9PnLjfMr+748n7sM6C/NycK6ber/bX1reVVxta6W/31tZIhfrS+upoE/TPRHj0S/l0T59gTGdtKOp1OmMOJt9rhfucDdLJ2tgyfnO+u4YMkQAcYq/nebTcDmbXhqhgo6iQA4M3m4xya4Cos3p6klmkmQT+S4DLDZfwfMF+sUCx36KleOtaHLQfEIz0Bmncj/Ngi3lqOl4391EWEfIss6gVp3oDUGwsSZJKeOVONJWZg+Mue3KUMV3aMqYJ+7b2219D+GFDi8EV5y/Y+5J+He0oNjKAgqLsJziEsS9uIaCu3BHBKSXxNKKa2ShbfglcWoiiVT2kfGI7Gw+YJ/Sqy1H6wdFWtyVUQIa82JPwbeV25YKLzc5ZIFM6GCPSA+J9dTvJbs5LuuKnLP3f09gCu2jxqsAv6CA+ZySVaUJr2d3A70BC/uBCKr2OVrWgC3fSwb7NlfkgSEEiejrMGvhya9lMbVI6lMsFKN330A1/FOaefHQdNGLEZ3IwFF87H3xVlM0Xxsmbi/7A60oymRcIe0tH90alG6ez/yA7jwYotxuHWZdR+1HlMcddGHAV6QD/gXYPV0wnNv47I+5FGevzZFMqWSO8GU4nQ3FjsdgdJcD+c1rvudERKuLyd7bxiBpnsMDHsvPP4nXdXkld/gUNks3GAE1Otmb90bavDyiw4Mrx496Iw+jbLTgsCZGZXSZ9vM55C7KGe4HyJAKXEk0iT/Cj/PFwLJBN7pcP7ZFfYtUApGTWKkYhI9IE2zt/5ByH72wdvH+88b71zuv/FMCX3w6x5nzhY44Cg5IYv9LeKwHuHIWgPbfgrAcUxOlKkPRdQOIDF/aBuLPJAXD+TgxCNXx4jQxeR/qlBWVikFPfEI4rXMUc4kZ2w9KbPKYRvFUag0dVlVoyUP4zfidbTXAdZF88jAckl+NHjLFCNdX7EQ1PbLSOl+P+MqgwEOCi6dxgWZ7NCwJBjWKpk1LaxwKrhZ4aEC/0lMPJYe5S8xAakDcmA2kSS86GjEMTrv3VEu0S0YGZcxToMV524G4WAc4CReePePdipvs4aXRL5p+aeN96yfMGjsiTbQNxgbdRKc+keQ+NxYIEm1mBtEO29WrcbrqNbQRMR66KpGG4aG0NtmRyZ2JhUvu0paCklRlID8PT3gSiwZrqr4XZXoBBzBMrveWCuOg7iTgGDXDdbGi8XHkQf5KXDGFUxWueu5wkSa6gMWY1599g2piQjwBKIAPt4N5cOZdFBidz2feGwEAy1j1UydGxDSCCUsh314cUIIRV/dWCheceubL2gU8CibewmP7UxmN5kN4I7zfQhPxkP0NCcei8GXQpw4c3krEzW7PR2hgi/hqqqR58UJ/ZVfWxfcH5ZKMo4itkmPK0FCGxzzIRP20lK/gz28Y03sY233KvSVWUKl9rcbX6MbHjpUG8MvNlw72p6FwTejv92zgpnCxVJnIHHZhCBxNcHF5RTveRp513hUtTHHq4BIndlytZT5xoTSYfHKqKNr4o9kcGINIz6tZSKRdtbON3Ydr9cgqxHIeisMNIsvPg/IFMZuBbSqqDLeSO5dak1cGr76FtH2PC7hs0S0Oq3GsmF1Ga4YABAMGcdPAWzTk26B7cKV91I2b0V/GYvnsEQ1YGntRqi5EQqTlgZszbV/32GuZtUF49JOA/r4jAdwUOsbPo6mNoBlJPYjM5axrZaWQf33bFsLWqiyvvDOM4x0Ng802T7cuP2a3q98GWq6yiq6q3M77hcZlOUnmryctRYmI4Hb2F5XixFohkBmySCjU+M7/WQVE5YAtnlxiUJDhFN0y1tNeMWY9E0MfZi2rQ4eC72WXjsAA==","base64")).toString()),NP}var LP;function rre(){return typeof LP=="undefined"&&(LP=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),LP}var ire=new Map([[w.makeIdent(null,"fsevents").identHash,ere],[w.makeIdent(null,"resolve").identHash,tre],[w.makeIdent(null,"typescript").identHash,rre]]),oHe={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of $te)e(w.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=w.parseIdent(e.slice(r.length)),n=(s=ire.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof ire.get(t.identHash)=="undefined"?t:w.makeDescriptor(t,w.makeRange({protocol:"patch:",source:w.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},aHe=oHe;var TP={};et(TP,{default:()=>lHe});var nB=class extends ye{constructor(){super(...arguments);this.pkg=j.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=w.parseIdent(this.command),i=w.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,w.stringifyIdent(i),...this.args])}};nB.paths=[["create"]];var nre=nB;var qp=class extends ye{constructor(){super(...arguments);this.packages=j.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=j.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=j.String();this.args=j.Proxy()}async execute(){return le.telemetry=null,await L.mktempPromise(async e=>{var p;let r=D.join(e,`dlx-${process.pid}`);await L.mkdirPromise(r),await L.writeFilePromise(D.join(r,"package.json"),`{} -`),await L.writeFilePromise(D.join(r,"yarn.lock"),"");let i=D.join(r,".yarnrc.yml"),n=await le.findProjectCwd(this.context.cwd,xt.lockfile),s=!(await le.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?D.join(n,".yarnrc.yml"):null;o!==null&&L.existsSync(o)?(await L.copyFilePromise(o,i),await le.updateConfiguration(r,m=>{let I=V(v({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(I.plugins=m.plugins.map(y=>{let B=typeof y=="string"?y:y.path,x=T.isAbsolute(B)?B:T.resolve(T.fromPortablePath(n),B);return typeof y=="string"?x:{path:x,spec:y.spec}})),I})):await L.writeFilePromise(i,`enableGlobalCache: ${s} -enableTelemetry: false -`);let a=(p=this.packages)!=null?p:[this.command],l=w.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` -`);let u=await le.find(r,this.context.plugins),{project:g,workspace:f}=await Fe.find(u,r);if(f===null)throw new Ze(g.cwd,r);await g.restoreInstallState();let h=await Qt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Qt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};qp.paths=[["dlx"]],qp.usage=he.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]});var sre=qp;var AHe={commands:[nre,sre]},lHe=AHe;var JP={};et(JP,{default:()=>gHe,fileUtils:()=>OP});var ku=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Jp=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,ar="file:";var OP={};et(OP,{makeArchiveFromLocator:()=>sB,makeBufferFromLocator:()=>HP,makeLocator:()=>UP,makeSpec:()=>ore,parseSpec:()=>KP});function KP(t){let{params:e,selector:r}=w.parseRange(t),i=T.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?w.parseLocator(e.locator):null,path:i}}function ore({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:w.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return w.makeRange({protocol:i,source:e,selector:e,params:v(v({},s),n)})}function UP(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return w.makeLocator(t,ore({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function sB(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=w.parseFileStyleRange(t.reference,{protocol:e}),o=D.isAbsolute(s)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=D.join(a.prefixPath,s);return await de.releaseAfterUseAsync(async()=>await hr.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:w.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function HP(t,{protocol:e,fetchOptions:r}){return(await sB(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var YP=class{supports(e,r){return!!e.reference.startsWith(ar)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:ar});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return sB(e,{protocol:ar,fetchOptions:r})}};var cHe=1,jP=class{supportsDescriptor(e,r){return e.range.match(ku)?!0:!!e.range.startsWith(ar)}supportsLocator(e,r){return!!e.reference.startsWith(ar)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return ku.test(e.range)&&(e=w.makeDescriptor(e,`${ar}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=KP(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await HP(w.makeLocator(e,w.makeRange({protocol:ar,source:n,selector:n,params:{locator:w.stringifyLocator(s)}})),{protocol:ar,fetchOptions:i.fetchOptions}),a=Di.makeHash(`${cHe}`,o).slice(0,6);return[UP(e,{parentLocator:s,path:n,folderHash:a,protocol:ar})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var GP=class{supports(e,r){return Jp.test(e.reference)?!!e.reference.startsWith(ar):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:ar}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n),c=await a.readFilePromise(l);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var qP=class{supportsDescriptor(e,r){return Jp.test(e.range)?!!(e.range.startsWith(ar)||ku.test(e.range)):!1}supportsLocator(e,r){return Jp.test(e.reference)?!!e.reference.startsWith(ar):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return ku.test(e.range)&&(e=w.makeDescriptor(e,`${ar}${e.range}`)),w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(ar)&&(n=n.slice(ar.length)),[w.makeLocator(e,`${ar}${T.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var uHe={fetchers:[GP,YP],resolvers:[qP,jP]},gHe=uHe;var iF={};et(iF,{default:()=>kHe,gitUtils:()=>Wp});var Wp={};et(Wp,{TreeishProtocols:()=>Ni,clone:()=>eF,isGitUrl:()=>Pu,lsRemote:()=>Qre,normalizeLocator:()=>_P,normalizeRepoUrl:()=>zp,resolveUrl:()=>$P,splitRepoUrl:()=>Vp});var XP=te(yre()),vu=te(require("querystring")),ZP=te(cr()),Bre=te(require("url"));function wre(){return V(v({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var SHe=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],Ni;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(Ni||(Ni={}));function Pu(t){return t?SHe.some(e=>!!t.match(e)):!1}function Vp(t){t=zp(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:Ni.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=vu.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(Ni).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=Ni.Head,a="HEAD");for(let l of Object.values(Ni))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function zp(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=Bre.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function _P(t){return w.makeLocator(t,zp(t.reference))}async function Qre(t,e){let r=zp(t,{git:!0});if(!Rt.getNetworkSettings(`https://${(0,XP.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n;try{n=await Lr.execvp("git",["ls-remote",r],{cwd:e.startingCwd,env:wre(),strict:!0})}catch(l){throw l.message=`Listing the refs for ${t} failed`,l}let s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function $P(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Vp(t),o=await Qre(r,e),a=(c,u)=>{switch(c){case Ni.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return vu.default.stringify(V(v({},s),{commit:u}))}case Ni.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return vu.default.stringify(V(v({},s),{commit:g}))}case Ni.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return vu.default.stringify(V(v({},s),{commit:g}))}case Ni.Semver:{let g=vt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[ZP.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=ZP.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return vu.default.stringify(V(v({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(Ni.Commit,u))!==null||(g=l(Ni.Tag,u))!==null||(g=l(Ni.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function eF(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Vp(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=zp(r,{git:!0});if(Rt.getNetworkSettings(`https://${(0,XP.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await L.mktempPromise(),a={cwd:o,env:wre(),strict:!0};try{await Lr.execvp("git",["clone","-c core.autocrlf=false",s,T.fromPortablePath(o)],a),await Lr.execvp("git",["checkout",`${n}`],a)}catch(l){throw l.message=`Repository clone failed: ${l.message}`,l}return o})}var tF=class{supports(e,r){return Pu(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=_P(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=V(v({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:l,releaseFs:c,prefixPath:w.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await eF(e.reference,r.project.configuration),n=Vp(e.reference),s=D.join(i,"package.tgz");await Qt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await L.readFilePromise(s);return await de.releaseAfterUseAsync(async()=>await hr.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1}))}};var rF=class{supportsDescriptor(e,r){return Pu(e.range)}supportsLocator(e,r){return Pu(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await $P(e.range,i.project.configuration);return[w.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var xHe={configuration:{cloneConcurrency:{description:"Maximal number of concurrent clones",type:ge.NUMBER,default:2}},fetchers:[tF],resolvers:[rF]};var kHe=xHe;var sF={};et(sF,{default:()=>FHe});var bre=te(require("querystring")),Dre=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function Sre(t){return t?Dre.some(e=>!!t.match(e)):!1}function xre(t){let e;for(let a of Dre)if(e=t.match(a),e)break;if(!e)throw new Error(vHe(t));let[,r,i,n,s="master"]=e,{commit:o}=bre.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function vHe(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var nF=class{supports(e,r){return!!Sre(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Rt.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await L.mktempPromise(async n=>{let s=new yt(n);await hr.extractArchiveTo(i,s,{stripComponents:1});let o=Wp.splitRepoUrl(e.reference),a=D.join(n,"package.tgz");await Qt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await L.readFilePromise(a);return await hr.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=xre(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var PHe={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new nF;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},FHe=PHe;var AF={};et(AF,{default:()=>NHe});var Xp=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Zp=/^https?:/;var oF=class{supports(e,r){return Xp.test(e.reference)?!!Zp.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await Rt.get(e.reference,{configuration:r.project.configuration});return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var aF=class{supportsDescriptor(e,r){return Xp.test(e.range)?!!Zp.test(e.range):!1}supportsLocator(e,r){return Xp.test(e.reference)?!!Zp.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[w.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.HARD,dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var RHe={fetchers:[oF],resolvers:[aF]},NHe=RHe;var gF={};et(gF,{default:()=>LYe});var tie=te(eie()),uF=te(require("util")),_p=class extends ye{constructor(){super(...arguments);this.private=j.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=j.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=j.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=j.Boolean("-2",!1,{hidden:!0});this.yes=j.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=j.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new me("Cannot use the --install flag from within a project subdirectory");L.existsSync(this.context.cwd)||await L.mkdirPromise(this.context.cwd,{recursive:!0});let i=D.join(this.context.cwd,e.get("lockfileFilename"));L.existsSync(i)||await L.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;this.context.stdout.write(` -`);let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await L.mktempPromise(async o=>{let{code:a}=await Lr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Qt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await Fe.find(e,this.context.cwd)).project}catch{r=null}L.existsSync(this.context.cwd)||await L.mkdirPromise(this.context.cwd,{recursive:!0});let i=await ze.tryFind(this.context.cwd)||new ze,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:w.makeIdent(e.get("initScope"),D.basename(this.context.cwd)),i.packageManager=Er&&de.isTaggedYarnVersion(Er)?`yarn@${Er}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await L.mkdirPromise(D.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),uF.inspect.styles.name="cyan",this.context.stdout.write(`${(0,uF.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} -`);let o=D.join(this.context.cwd,ze.fileName);await L.changeFilePromise(o,`${JSON.stringify(s,null,2)} -`,{automaticNewlines:!0});let a=D.join(this.context.cwd,"README.md");if(L.existsSync(a)||await L.writeFilePromise(a,`# ${w.stringifyIdent(i.name)} -`),!r||r.cwd===this.context.cwd){let c=D.join(this.context.cwd,xt.lockfile);L.existsSync(c)||await L.writeFilePromise(c,"");let g=["/.yarn/*","!/.yarn/patches","!/.yarn/plugins","!/.yarn/releases","!/.yarn/sdks","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!/.yarn/cache","#/.pnp.*"].map(I=>`${I} -`).join(""),f=D.join(this.context.cwd,".gitignore");L.existsSync(f)||await L.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,tie.default)(h,e.get("initEditorConfig"));let p=`root = true -`;for(let[I,y]of Object.entries(h)){p+=` -[${I}] -`;for(let[B,x]of Object.entries(y))p+=`${B.replace(/[A-Z]/g,N=>`_${N.toLowerCase()}`)} = ${x} -`}let m=D.join(this.context.cwd,".editorconfig");L.existsSync(m)||await L.writeFilePromise(m,p),L.existsSync(D.join(this.context.cwd,".git"))||await Lr.execvp("git",["init"],{cwd:this.context.cwd})}}};_p.paths=[["init"]],_p.usage=he.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var rie=_p;var NYe={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:ge.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:ge.MAP,valueDefinition:{description:"",type:ge.ANY}}},commands:[rie]},LYe=NYe;var CF={};et(CF,{default:()=>TYe});var Io="portal:",Eo="link:";var fF=class{supports(e,r){return!!e.reference.startsWith(Io)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Io}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot}}};var hF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Io)}supportsLocator(e,r){return!!e.reference.startsWith(Io)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Io.length);return[w.makeLocator(e,`${Io}${T.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await de.releaseAfterUseAsync(async()=>await ze.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return V(v({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:lt.SOFT,dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var pF=class{supports(e,r){return!!e.reference.startsWith(Eo)}getLocalPath(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo});if(D.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:D.resolve(s,n)}async fetch(e,r){let{parentLocator:i,path:n}=w.parseFileStyleRange(e.reference,{protocol:Eo}),s=D.isAbsolute(n)?{packageFs:new yt(we.root),prefixPath:we.dot,localPath:we.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=D.join(o.prefixPath,n);return s.localPath?{packageFs:new yt(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Ls(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:we.dot,discardFromLookup:!0}}};var dF=class{supportsDescriptor(e,r){return!!e.range.startsWith(Eo)}supportsLocator(e,r){return!!e.reference.startsWith(Eo)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Eo.length);return[w.makeLocator(e,`${Eo}${T.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return V(v({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:lt.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var MYe={fetchers:[pF,fF],resolvers:[dF,hF]},TYe=MYe;var GF={};et(GF,{default:()=>Hje});var yo;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(yo||(yo={}));var mF=(t,e)=>`${t}@${e}`,iie=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return mF(t,i)},Xi;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Xi||(Xi={}));var sie=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=OYe(t,s),l=!1,c=0;do l=IF(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=$p(a);if(IF(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: -${u}, next tree: -${$p(a)}`);let f=nie(a);if(f)throw new Error(`${f}, after hoisting finished: -${$p(a)}`)}return s.debugLevel>=2&&console.log($p(a)),KYe(a)},UYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},HYe=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Map;for(let a of t)for(let l of a.dependencies.values())n.set(l.name,l);let s=new Set,o=(a,l)=>{if(i.has(a))return;i.add(a);for(let u of a.hoistedDependencies.values())if(!l.has(u.name)){let g=n.get(u.name);g&&r.set(g.name,g)}let c=new Set;for(let u of a.dependencies.values())c.add(u.name);for(let u of a.dependencies.values())a.peerNames.has(u.name)||o(u,c)};return o(e,s),r},oie=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g}=e,f={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistedFrom:[]},h=f.dependencies.get(r);return h&&h.ident==f.ident&&f.dependencies.set(r,f),t.dependencies.set(f.name,f),f},YYe=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},EF=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},IF=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=GYe(o),l=YYe(o,a),c=t==o?new Map:n.fastLookupPossible?UYe(e):HYe(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,I])=>[m,I[0]])),p=new Map;do{let m=jYe(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[I,y]of l)y.length>1&&!o.dependencies.has(I)&&(h.delete(I),y.shift(),h.set(I,y[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let I=IF(t,[...e,m],r,p,n);I.isGraphChanged&&(f=!0),I.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},qYe=(t,e,r,i,n,s,o,a,{outputReason:l})=>{let c,u=null,g=new Set;l&&(c=`${Array.from(e).map(m=>Li(m)).join("\u2192")}`);let f=r[r.length-1],p=!(i.ident===f.ident);if(l&&!p&&(u="- self-reference"),p&&(p=!t.peerNames.has(i.name),l&&!p&&(u=`- cannot shadow peer: ${Li(t.originalDependencies.get(i.name).locator)} at ${c}`)),p){let m=!1,I=n.get(i.name);if(m=!I||I.ident===i.ident,l&&!m&&(u=`- filled by: ${Li(I.locator)} at ${c}`),m)for(let y=r.length-1;y>=1;y--){let x=r[y].dependencies.get(i.name);if(x&&x.ident!==i.ident){m=!1;let F=a.get(f);F||(F=new Set,a.set(f,F)),F.add(i.name),l&&(u=`- filled by ${Li(x.locator)} at ${r.slice(0,y).map(N=>Li(N.locator)).join("\u2192")}`);break}}p=m}if(p&&(p=s.get(i.name)===i.ident,l&&!p&&(u=`- filled by: ${Li(o.get(i.name)[0])} at ${c}`)),p){let m=!0,I=new Set(i.peerNames);for(let y=r.length-1;y>=1;y--){let B=r[y];for(let x of I){if(B.peerNames.has(x)&&B.originalDependencies.has(x))continue;let F=B.dependencies.get(x);F&&t.dependencies.get(x)!==F&&(y===r.length-1?g.add(F):(g=null,m=!1,l&&(u=`- peer dependency ${Li(F.locator)} from parent ${Li(B.locator)} was not hoisted to ${c}`))),I.delete(x)}if(!m)break}p=m}return g!==null&&g.size>0?{isHoistable:2,dependsOn:g,reason:u}:{isHoistable:p?0:1,reason:u}},jYe=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(I,y,B,x)=>{if(u.has(B))return;let F=[...y,B.locator],N=new Map,O=new Map;for(let K of EF(B)){let A=qYe(c,r,[c,...I,B],K,i,n,s,a,{outputReason:l.debugLevel>=2});if(O.set(K,A),A.isHoistable===2)for(let W of A.dependsOn){let ee=N.get(W.name)||new Set;ee.add(K.name),N.set(W.name,ee)}}let P=new Set,J=(K,A,W)=>{if(!P.has(K)){P.add(K),O.set(K,{isHoistable:1,reason:W});for(let ee of N.get(K.name)||[])J(B.dependencies.get(ee),A,l.debugLevel>=2?`- peer dependency ${Li(K.locator)} from parent ${Li(B.locator)} was not hoisted`:"")}};for(let[K,A]of O)A.isHoistable===1&&J(K,A,A.reason);for(let K of O.keys())if(!P.has(K)){f=!0;let A=o.get(B);A&&A.has(K.name)&&(g=!0),B.dependencies.delete(K.name),B.hoistedDependencies.set(K.name,K),B.reasons.delete(K.name);let W=c.dependencies.get(K.name),ee=null;if(l.debugLevel>=2&&(ee=Array.from(y).concat([B.locator]).map(re=>Li(re)).join("\u2192")),!W)c.ident!==K.ident&&(c.dependencies.set(K.name,K),l.debugLevel>=2&&K.hoistedFrom.push(ee),x.add(K));else for(let re of K.references)W.references.add(re),l.debugLevel>=2&&W.hoistedFrom.push(ee)}if(l.check){let K=nie(t);if(K)throw new Error(`${K}, after hoisting dependencies of ${[c,...I,B].map(A=>Li(A.locator)).join("\u2192")}: -${$p(t)}`)}let oe=EF(B);for(let K of oe)if(P.has(K)){let A=O.get(K);if((n.get(K.name)===K.ident||!B.reasons.has(K.name))&&A.isHoistable!==0&&B.reasons.set(K.name,A.reason),!K.isHoistBorder&&F.indexOf(K.locator)<0){u.add(B);let ee=oie(B,K);h([...I,B],[...y,B.locator],ee,m),u.delete(B)}}},p,m=new Set(EF(c));do{p=m,m=new Set;for(let I of p){if(I.locator===c.locator||I.isHoistBorder)continue;let y=oie(c,I);h([],Array.from(r),y,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},nie=t=>{let e=[],r=new Set,i=new Set,n=(s,o)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let a=new Map(o);for(let l of s.dependencies.values())s.peerNames.has(l.name)||a.set(l.name,l);for(let l of s.originalDependencies.values()){let c=a.get(l.name),u=()=>`${Array.from(i).concat([s]).map(g=>Li(g.locator)).join("\u2192")}`;if(s.peerNames.has(l.name)){let g=o.get(l.name);(g!==c||!g||g.ident!==l.ident)&&e.push(`${u()} - broken peer promise: expected ${l.ident} but found ${g&&g.ident}`)}else c?c.ident!==l.ident&&e.push(`${u()} - broken require promise for ${l.name}: expected ${l.ident}, but found: ${c.ident}`):e.push(`${u()} - broken require promise: no required dependency ${l.locator} found`)}i.add(s);for(let l of s.dependencies.values())s.peerNames.has(l.name)||n(l,a);i.delete(s)};return n(t,t.dependencies),e.join(` -`)},OYe=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:mF(r,n),ident:iie(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistedFrom:[]},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:I}=c,y=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:mF(p,m),ident:iie(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(I),reasons:new Map,decoupled:!0,isHoistBorder:y?y.has(h):!1,hoistedFrom:[]},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let I of m.dependencies.values())m.peerNames.has(I.name)||p(I)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},yF=t=>t.substring(0,t.indexOf("@",1)),KYe=t=>{let e={name:t.name,identName:yF(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:yF(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},GYe=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values())a.peerNames.has(u.name)?n(u).peerDependents.add(a.ident):s(a,u)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Li=t=>{let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},aie=5e4,$p=t=>{let e=0,r=(n,s,o="")=>{if(e>aie||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name.localeCompare(u.name)),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Li(u.locator)+(g?` ${g}`:"")+(u!==n&&u.hoistedFrom.length>0?`, hoisted from: ${u.hoistedFrom.join(", ")}`:"")} -`,l+=r(u,s,`${o}${caie?` -Tree is too large, part of the tree has been dunped -`:"")};var ed;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(ed||(ed={}));var Mi;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mi||(Mi={}));var Aie="node_modules",oB="$wsroot$";var td=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=JYe(t,e),o=null;if(n.length===0){let a=sie(r,{hoistingLimits:i});o=WYe(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},Bs=t=>`${t.name}@${t.reference}`,BF=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(D.delimiter).length,o=n.split(D.delimiter).length;return s!==o?o-s:n.localeCompare(i)});return e},lie=(t,e)=>{let r=w.isVirtualLocator(t)?w.devirtualizeLocator(t):t,i=w.isVirtualLocator(e)?w.devirtualizeLocator(e):e;return w.areLocatorsEqual(r,i)},JYe=(t,e)=>{let r=t.getDependencyTreeRoots(),i=[],n=!1,s=new Map,o=new Map,a=t.getPackageInformation(t.topLevel);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let l=t.findPackageLocator(a.packageLocation);if(l===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let c=T.toPortablePath(a.packageLocation),u=Bs(l);if(e.project){let I={children:new Map},y=e.project.cwd.split(D.sep);for(let[x,F]of e.project.workspacesByCwd){let N=x.split(D.sep).slice(y.length),O=I;for(let P of N){let J=O.children.get(P);J||(J={children:new Map},O.children.set(P,J)),O=J}O.workspaceLocator={name:w.stringifyIdent(F.anchoredLocator),reference:F.anchoredLocator.reference}}let B=(x,F)=>{if(x.workspaceLocator){let N=Bs(F),O=o.get(N);O||(O=new Set,o.set(N,O)),O.add(x.workspaceLocator)}for(let N of x.children.values())B(N,x.workspaceLocator||F)};for(let x of I.children.values())B(x,I.workspaceLocator)}else for(let I of r)if(I.name!==l.name||I.reference!==l.reference){let y=o.get(u);y||(y=new Set,o.set(u,y)),y.add(I)}let g={name:l.name,identName:l.name,reference:l.reference,peerNames:a.packagePeers,dependencies:new Set},f=new Map,h=(I,y)=>`${Bs(y)}:${I}`,p=(I,y)=>{if(I.linkType!==ed.SOFT||!e.project)return!1;let B=T.toPortablePath(t.resolveVirtual&&y.reference&&y.reference.startsWith("virtual:")?t.resolveVirtual(I.packageLocation):I.packageLocation);return D.contains(e.project.cwd,B)===null},m=(I,y,B,x,F,N,O)=>{var ee,re;let P=h(I,B),J=f.get(P),oe=!!J;if(!oe&&B.name===l.name&&B.reference===l.reference&&(J=g,f.set(P,g)),J||(J={name:I,identName:B.name,reference:B.reference,dependencies:new Set,peerNames:y.packagePeers},f.set(P,J)),O&&!p(y,B)){let H=Bs({name:x.identName,reference:x.reference}),R=s.get(H)||new Set;s.set(H,R),R.add(J.name)}let K=new Map(y.packageDependencies);if(e.project){let H=e.project.workspacesByCwd.get(T.toPortablePath(y.packageLocation.slice(0,-1)));if(H){let R=new Set([...Array.from(H.manifest.peerDependencies.values(),ve=>w.stringifyIdent(ve)),...Array.from(H.manifest.peerDependenciesMeta.keys())]);for(let ve of R)K.has(ve)||(K.set(ve,F.get(ve)||null),J.peerNames.add(ve))}}let A=Bs(B),W=o.get(A);if(W)for(let H of W)K.set(`${H.name}${oB}`,H.reference);if(x.dependencies.add(J),!oe){let H=new Map;for(let[R,ve]of K)if(ve!==null){let Ne=t.getLocator(R,ve),Je=t.getLocator(R.replace(oB,""),ve),Ke=t.getPackageInformation(Je);if(Ke===null)throw new Error("Assertion failed: Expected the package to have been registered");let ie=p(Ke,Ne);if(e.validateExternalSoftLinks&&e.project&&ie){Ke.packageDependencies.size>0&&(n=!0);for(let[pe,Qe]of Ke.packageDependencies)if(Qe!==null){let Z=w.parseLocator(Array.isArray(Qe)?`${Qe[0]}@${Qe[1]}`:`${pe}@${Qe}`);if(Bs(Z)!==Bs(Ne)){let X=K.get(pe);if(X){let ae=w.parseLocator(Array.isArray(X)?`${X[0]}@${X[1]}`:`${pe}@${X}`);lie(ae,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with parent dependency ${w.prettyLocator(e.project.configuration,ae)}`})}else{let ae=H.get(pe);if(ae){let ue=ae.target,Be=w.parseLocator(Array.isArray(ue)?`${ue[0]}@${ue[1]}`:`${pe}@${ue}`);lie(Be,Z)||i.push({messageName:z.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${w.prettyIdent(e.project.configuration,w.parseIdent(Ne.name))} into ${w.prettyLocator(e.project.configuration,w.parseLocator(`${B.name}@${B.reference}`))} dependency ${w.prettyLocator(e.project.configuration,Z)} conflicts with dependency ${w.prettyLocator(e.project.configuration,Be)} from sibling portal ${w.prettyIdent(e.project.configuration,w.parseIdent(ae.portal.name))}`})}else H.set(pe,{target:Z.reference,portal:Ne})}}}}let ce=(ee=e.hoistingLimitsByCwd)==null?void 0:ee.get(N),Se=ie?N:D.relative(c,T.toPortablePath(Ke.packageLocation))||we.dot,fe=(re=e.hoistingLimitsByCwd)==null?void 0:re.get(Se),Ie=ce===Mi.DEPENDENCIES||fe===Mi.DEPENDENCIES||fe===Mi.WORKSPACES;m(Bs(Ne)===Bs(B)?I:R,Ke,Ne,J,K,Se,Ie)}}};return m(l.name,a,l,g,a.packageDependencies,we.dot,!1),{packageTree:g,hoistingLimits:s,errors:i,preserveSymlinksRequired:n}};function zYe(t,e,r){let i=e.getLocator(t.name.replace(oB,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;if(r.pnpifyFs)o=T.toPortablePath(n.packageLocation),s=ed.SOFT;else{let a=e.resolveVirtual&&t.reference&&t.reference.startsWith("virtual:")?e.resolveVirtual(n.packageLocation):n.packageLocation;o=T.toPortablePath(a||n.packageLocation),s=n.linkType}return{linkType:s,target:o}}var WYe=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=zYe(u,t,r);return{locator:Bs(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:rr(g),name:rr(f)}:{scope:null,name:rr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:I,scope:y}=s(h.name),B=y?[y,I]:[I],x=D.join(g,Aie),F=D.join(x,...B),N=`${f}/${m.name}`,O=n(m,f,p.slice(1));if(!h.name.endsWith(oB)){let P=i.get(F);if(P){if(P.dirList)throw new Error(`Assertion failed: ${F} cannot merge dir node with leaf node`);{let A=w.parseLocator(P.locator),W=w.parseLocator(O.locator);if(P.linkType!==O.linkType)throw new Error(`Assertion failed: ${F} cannot merge nodes with different link types ${P.nodePath}/${w.stringifyLocator(A)} and ${f}/${w.stringifyLocator(W)}`);if(A.identHash!==W.identHash)throw new Error(`Assertion failed: ${F} cannot merge nodes with different idents ${P.nodePath}/${w.stringifyLocator(A)} and ${f}/s${w.stringifyLocator(W)}`);O.aliases=[...O.aliases,...P.aliases,w.parseLocator(P.locator).reference]}}i.set(F,O);let J=F.split("/"),oe=J.indexOf(Aie),K=J.length-1;for(;oe>=0&&K>oe;){let A=T.toPortablePath(J.slice(0,K).join(D.sep)),W=rr(J[K]),ee=i.get(A);if(!ee)i.set(A,{dirList:new Set([W])});else if(ee.dirList){if(ee.dirList.has(W))break;ee.dirList.add(W)}K--}}a(h,O.linkType===ed.SOFT?O.target:F,N)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var FF={};et(FF,{PnpInstaller:()=>Nu,PnpLinker:()=>fl,default:()=>pje,getPnpPath:()=>Qa,jsInstallUtils:()=>wa,pnpUtils:()=>vF,quotePathIfNeeded:()=>vie});var kie=te(cr());var cie;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(cie||(cie={}));var Dt;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(Dt||(Dt={}));var uie={[Dt.DEFAULT]:{collapsed:!1,next:{["*"]:Dt.DEFAULT}},[Dt.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:Dt.FALLBACK_EXCLUSION_LIST,packageRegistryData:Dt.PACKAGE_REGISTRY_DATA,["*"]:Dt.DEFAULT}},[Dt.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:Dt.FALLBACK_EXCLUSION_ENTRIES}},[Dt.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.FALLBACK_EXCLUSION_DATA}},[Dt.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}},[Dt.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_REGISTRY_ENTRIES}},[Dt.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_STORE_DATA}},[Dt.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_STORE_ENTRIES}},[Dt.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:Dt.PACKAGE_INFORMATION_DATA}},[Dt.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:Dt.PACKAGE_DEPENDENCIES,["*"]:Dt.DEFAULT}},[Dt.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:Dt.PACKAGE_DEPENDENCY}},[Dt.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:Dt.DEFAULT}}};function VYe(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function $Ye(t){let e=new Map,r=rd(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function eje(t){return rd(t.fallbackPool||[],([e])=>e)}function tje(t){let e=[];for(let[r,i]of rd(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of rd(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of rd(a.entries(),([I])=>I))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function id(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:$Ye(t),fallbackPool:eje(t),packageRegistryData:tje(t)}}var die=te(pie());function Cie(t,e){return[t?`${t} -`:"",`/* eslint-disable */ - -`,`try { -`,` Object.freeze({}).detectStrictMode = true; -`,`} catch (error) { -`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} -`,` -`,`var __non_webpack_module__ = module; -`,` -`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { -`,e.replace(/^/gm," "),`} -`,` -`,(0,die.default)()].join("")}function rje(t){return JSON.stringify(t,null,2)}function ije(t){return[`return hydrateRuntimeState(${fie(t)}, {basePath: basePath || __dirname}); -`].join("")}function nje(t){return[`var path = require('path'); -`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); -`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); -`].join("")}function mie(t){let e=id(t),r=ije(e);return Cie(t.shebang,r)}function Iie(t){let e=id(t),r=nje(t.dataLocation),i=Cie(t.shebang,r);return{dataFile:rje(e),loaderFile:i}}var wie=te(require("fs")),Aje=te(require("path")),Qie=te(require("util"));function QF(t,{basePath:e}){let r=T.toPortablePath(e),i=D.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,I={name:g,reference:h},y=s.get(p.packageLocation);y?(y.discardFromLookup=y.discardFromLookup&&m,m||(y.locator=I)):s.set(p.packageLocation,{locator:I,discardFromLookup:m});let B=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return B||(B=D.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Ru=te(require("module")),Bie=te(yie()),DF=te(require("util"));var qt;(function(l){l.API_ERROR="API_ERROR",l.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",l.MISSING_DEPENDENCY="MISSING_DEPENDENCY",l.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",l.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",l.INTERNAL="INTERNAL",l.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",l.UNSUPPORTED="UNSUPPORTED"})(qt||(qt={}));var aje=new Set([qt.BUILTIN_NODE_RESOLUTION_FAILED,qt.MISSING_DEPENDENCY,qt.MISSING_PEER_DEPENDENCY,qt.QUALIFIED_PATH_RESOLUTION_FAILED,qt.UNDECLARED_DEPENDENCY]);function Pr(t,e,r={}){let i=aje.has(t)?"MODULE_NOT_FOUND":t,n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:V(v({},n),{value:i}),pnpCode:V(v({},n),{value:t}),data:V(v({},n),{value:r})})}function Ba(t){return T.normalize(T.fromPortablePath(t))}function SF(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=new Set(Ru.Module.builtinModules||Object.keys(process.binding("natives"))),s=ie=>n.has(ie)||ie.startsWith("node:"),o=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,a=/^(\/|\.{1,2}(\/|$))/,l=/\/$/,c=/^\.{0,2}\//,u={name:null,reference:null},g=[],f=new Set;if(t.enableTopLevelFallback===!0&&g.push(u),e.compatibilityMode!==!1)for(let ie of["react-scripts","gatsby"]){let ce=t.packageRegistry.get(ie);if(ce)for(let Se of ce.keys()){if(Se===null)throw new Error("Assertion failed: This reference shouldn't be null");g.push({name:ie,reference:Se})}}let{ignorePattern:h,packageRegistry:p,packageLocatorsByLocations:m}=t;function I(ie,ce){return{fn:ie,args:ce,error:null,result:null}}function y(ie){var pe,Qe,Z,X,ae,ue;let ce=(Z=(Qe=(pe=process.stderr)==null?void 0:pe.hasColors)==null?void 0:Qe.call(pe))!=null?Z:process.stdout.isTTY,Se=(Be,ct)=>`[${Be}m${ct}`,fe=ie.error;console.error(fe?Se("31;1",`\u2716 ${(X=ie.error)==null?void 0:X.message.replace(/\n.*/s,"")}`):Se("33;1","\u203C Resolution")),ie.args.length>0&&console.error();for(let Be of ie.args)console.error(` ${Se("37;1","In \u2190")} ${(0,DF.inspect)(Be,{colors:ce,compact:!0})}`);ie.result&&(console.error(),console.error(` ${Se("37;1","Out \u2192")} ${(0,DF.inspect)(ie.result,{colors:ce,compact:!0})}`));let Ie=(ue=(ae=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:ae.slice(2))!=null?ue:[];if(Ie.length>0){console.error();for(let Be of Ie)console.error(` ${Se("38;5;244",Be)}`)}console.error()}function B(ie,ce){if(e.allowDebug===!1)return ce;if(Number.isFinite(i)){if(i>=2)return(...Se)=>{let fe=I(ie,Se);try{return fe.result=ce(...Se)}catch(Ie){throw fe.error=Ie}finally{y(fe)}};if(i>=1)return(...Se)=>{try{return ce(...Se)}catch(fe){let Ie=I(ie,Se);throw Ie.error=fe,y(Ie),fe}}}return ce}function x(ie){let ce=W(ie);if(!ce)throw Pr(qt.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return ce}function F(ie){if(ie.name===null)return!0;for(let ce of t.dependencyTreeRoots)if(ce.name===ie.name&&ce.reference===ie.reference)return!0;return!1}function N(ie){let ce=H(D.join(ie,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(ce===null)throw Pr(qt.INTERNAL,`The locator that owns the "${ie}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=x(ce),fe=D.join(Se,xt.manifest);if(!e.fakeFs.existsSync(fe))return null;let Ie=JSON.parse(e.fakeFs.readFileSync(fe,"utf8")),pe=D.contains(Se,ie);if(pe===null)throw Pr(qt.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");c.test(pe)||(pe=`./${pe}`);let Qe=(0,Bie.resolve)(Ie,D.normalize(pe),{browser:!1,require:!0,conditions:[]});return typeof Qe=="string"?D.join(Se,Qe):null}function O(ie,ce,{extensions:Se}){let fe;try{ce.push(ie),fe=e.fakeFs.statSync(ie)}catch(Ie){}if(fe&&!fe.isDirectory())return e.fakeFs.realpathSync(ie);if(fe&&fe.isDirectory()){let Ie;try{Ie=JSON.parse(e.fakeFs.readFileSync(D.join(ie,xt.manifest),"utf8"))}catch(Qe){}let pe;if(Ie&&Ie.main&&(pe=D.resolve(ie,Ie.main)),pe&&pe!==ie){let Qe=O(pe,ce,{extensions:Se});if(Qe!==null)return Qe}}for(let Ie=0,pe=Se.length;Ie{let Z=JSON.stringify(Qe.name);if(fe.has(Z))return;fe.add(Z);let X=ee(Qe);for(let ae of X)if(x(ae).packagePeers.has(ie))Ie(ae);else{let Be=Se.get(ae.name);typeof Be=="undefined"&&Se.set(ae.name,Be=new Set),Be.add(ae.reference)}};Ie(ce);let pe=[];for(let Qe of[...Se.keys()].sort())for(let Z of[...Se.get(Qe)].sort())pe.push({name:Qe,reference:Z});return pe}function H(ie,{resolveIgnored:ce=!1,includeDiscardFromLookup:Se=!1}={}){if(oe(ie)&&!ce)return null;let fe=D.relative(t.basePath,ie);fe.match(a)||(fe=`./${fe}`),fe.endsWith("/")||(fe=`${fe}/`);do{let Ie=m.get(fe);if(typeof Ie=="undefined"||Ie.discardFromLookup&&!Se){fe=fe.substring(0,fe.lastIndexOf("/",fe.length-2)+1);continue}return Ie.locator}while(fe!=="");return null}function R(ie,ce,{considerBuiltins:Se=!0}={}){if(ie==="pnpapi")return T.toPortablePath(e.pnpapiResolution);if(Se&&s(ie))return null;let fe=Ba(ie),Ie=ce&&Ba(ce);if(ce&&oe(ce)&&(!D.isAbsolute(ie)||H(ie)===null)){let Z=J(ie,ce);if(Z===!1)throw Pr(qt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${fe}" -Required by: ${Ie} -`,{request:fe,issuer:Ie});return T.toPortablePath(Z)}let pe,Qe=ie.match(o);if(Qe){if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let[,Z,X]=Qe,ae=H(ce);if(!ae){let Xt=J(ie,ce);if(Xt===!1)throw Pr(qt.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${fe}" -Required by: ${Ie} -`,{request:fe,issuer:Ie});return T.toPortablePath(Xt)}let Be=x(ae).packageDependencies.get(Z),ct=null;if(Be==null&&ae.name!==null){let Xt=t.fallbackExclusionList.get(ae.name);if(!Xt||!Xt.has(ae.reference)){for(let zn=0,_u=g.length;zn<_u;++zn){let xs=x(g[zn]).packageDependencies.get(Z);if(xs!=null){r?ct=xs:Be=xs;break}}if(t.enableTopLevelFallback&&Be==null&&ct===null){let zn=t.fallbackPool.get(Z);zn!=null&&(ct=zn)}}}let mt=null;if(Be===null)if(F(ae))mt=Pr(qt.MISSING_PEER_DEPENDENCY,`Your application tried to access ${Z} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${Ie} -`,{request:fe,issuer:Ie,dependencyName:Z});else{let Xt=re(Z,ae);Xt.every(_i=>F(_i))?mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${ae.name}@${ae.reference} (via ${Ie}) -${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} -`).join("")} -`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt}):mt=Pr(qt.MISSING_PEER_DEPENDENCY,`${ae.name} tried to access ${Z} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${ae.name}@${ae.reference} (via ${Ie}) - -${Xt.map(_i=>`Ancestor breaking the chain: ${_i.name}@${_i.reference} -`).join("")} -`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z,brokenAncestors:Xt})}else Be===void 0&&(!Se&&s(ie)?F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${Ie} -`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${Z} isn't otherwise declared in ${ae.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${Ie} -`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}):F(ae)?mt=Pr(qt.UNDECLARED_DEPENDENCY,`Your application tried to access ${Z}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${Ie} -`,{request:fe,issuer:Ie,dependencyName:Z}):mt=Pr(qt.UNDECLARED_DEPENDENCY,`${ae.name} tried to access ${Z}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${Z}${Z!==fe?` (via "${fe}")`:""} -Required by: ${ae.name}@${ae.reference} (via ${Ie}) -`,{request:fe,issuer:Ie,issuerLocator:Object.assign({},ae),dependencyName:Z}));if(Be==null){if(ct===null||mt===null)throw mt||new Error("Assertion failed: Expected an error to have been set");Be=ct;let Xt=mt.message.replace(/\n.*/g,"");mt.message=Xt,!f.has(Xt)&&i!==0&&(f.add(Xt),process.emitWarning(mt))}let St=Array.isArray(Be)?{name:Be[0],reference:Be[1]}:{name:Z,reference:Be},xn=x(St);if(!xn.packageLocation)throw Pr(qt.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${St.name}@${St.reference}${St.name!==fe?` (via "${fe}")`:""} -Required by: ${ae.name}@${ae.reference} (via ${Ie}) -`,{request:fe,issuer:Ie,dependencyLocator:Object.assign({},St)});let Ii=xn.packageLocation;X?pe=D.join(Ii,X):pe=Ii}else if(D.isAbsolute(ie))pe=D.normalize(ie);else{if(!ce)throw Pr(qt.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:fe,issuer:Ie});let Z=D.resolve(ce);ce.match(l)?pe=D.normalize(D.join(Z,ie)):pe=D.normalize(D.join(D.dirname(Z),ie))}return D.normalize(pe)}function ve(ie,ce){if(a.test(ie))return ce;let Se=N(ce);return Se?D.normalize(Se):ce}function Ne(ie,{extensions:ce=Object.keys(Ru.Module._extensions)}={}){let Se=[],fe=O(ie,Se,{extensions:ce});if(fe)return D.normalize(fe);{let Ie=Ba(ie),pe=H(ie);if(pe){let{packageLocation:Qe}=x(pe);if(!e.fakeFs.existsSync(Qe)){let Z=Qe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`${Z} - -Missing package: ${pe.name}@${pe.reference} -Expected package location: ${Ba(Qe)} -`,{unqualifiedPath:Ie})}}throw Pr(qt.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of those files can be found on the disk. - -Source path: ${Ie} -${Se.map(Qe=>`Not found: ${Ba(Qe)} -`).join("")}`,{unqualifiedPath:Ie})}}function Je(ie,ce,{considerBuiltins:Se,extensions:fe}={}){let Ie=R(ie,ce,{considerBuiltins:Se});if(Ie===null)return null;let pe=()=>ce!==null?oe(ce):!1,Qe=(!Se||!s(ie))&&!pe()?ve(ie,Ie):Ie;try{return Ne(Qe,{extensions:fe})}catch(Z){throw Z.pnpCode==="QUALIFIED_PATH_RESOLUTION_FAILED"&&Object.assign(Z.data,{request:Ba(ie),issuer:ce&&Ba(ce)}),Z}}function Ke(ie){let ce=D.normalize(ie),Se=ir.resolveVirtual(ce);return Se!==ce?Se:null}return{VERSIONS:K,topLevel:A,getLocator:(ie,ce)=>Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ie,reference:ce},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let ie=[];for(let[ce,Se]of p)for(let fe of Se.keys())ce!==null&&fe!==null&&ie.push({name:ce,reference:fe});return ie},getPackageInformation:ie=>{let ce=W(ie);if(ce===null)return null;let Se=T.fromPortablePath(ce.packageLocation);return V(v({},ce),{packageLocation:Se})},findPackageLocator:ie=>H(T.toPortablePath(ie)),resolveToUnqualified:B("resolveToUnqualified",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=R(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveUnqualified:B("resolveUnqualified",(ie,ce)=>T.fromPortablePath(Ne(T.toPortablePath(ie),ce))),resolveRequest:B("resolveRequest",(ie,ce,Se)=>{let fe=ce!==null?T.toPortablePath(ce):null,Ie=Je(T.toPortablePath(ie),fe,Se);return Ie===null?null:T.fromPortablePath(Ie)}),resolveVirtual:B("resolveVirtual",ie=>{let ce=Ke(T.toPortablePath(ie));return ce!==null?T.fromPortablePath(ce):null})}}var dCt=(0,Qie.promisify)(wie.readFile);var bie=(t,e,r)=>{let i=id(t),n=QF(i,{basePath:e}),s=T.join(e,xt.pnpCjs);return SF(n,{fakeFs:r,pnpapiResolution:s})};var wa={};et(wa,{checkAndReportManifestCompatibility:()=>Die,extractBuildScripts:()=>AB,getExtractHint:()=>xF,hasBindingGyp:()=>kF});function Die(t,e,r,{configuration:i,report:n}){return ze.isManifestFieldCompatible(e.manifest.os,process.platform)?ze.isManifestFieldCompatible(e.manifest.cpu,process.arch)?!0:(n==null||n.reportWarningOnce(z.INCOMPATIBLE_CPU,`${w.prettyLocator(i,t)} The CPU architecture ${process.arch} is incompatible with this module, ${r} skipped.`),!1):(n==null||n.reportWarningOnce(z.INCOMPATIBLE_OS,`${w.prettyLocator(i,t)} The platform ${process.platform} is incompatible with this module, ${r} skipped.`),!1)}function AB(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([Vi.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([Vi.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==lt.HARD?(n==null||n.reportWarningOnce(z.SOFT_LINK_BUILD,`${w.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce(z.BUILD_DISABLED,`${w.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce(z.DISABLED_BUILD_SCRIPTS,`${w.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Die(t,e,"build",{configuration:i,report:n})?s:[]}var lje=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function xF(t){return t.packageFs.getExtractHint({relevantExtensions:lje})}function kF(t){let e=D.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var vF={};et(vF,{getUnpluggedPath:()=>nd});function nd(t,{configuration:e}){return D.resolve(e.get("pnpUnpluggedFolder"),w.slugifyLocator(t))}var cje=new Set([w.makeIdent(null,"nan").identHash,w.makeIdent(null,"node-gyp").identHash,w.makeIdent(null,"node-pre-gyp").identHash,w.makeIdent(null,"node-addon-api").identHash,w.makeIdent(null,"fsevents").identHash]),fl=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return!(r.project.configuration.get("nodeLinker")!=="pnp"||r.project.configuration.get("pnpMode")!==this.mode)}async findPackageLocation(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))throw new me(`The project in ${Ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,Ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})),s={name:w.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return T.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){let i=Qa(r.project).cjs;if(!L.existsSync(i))return null;let s=de.getFactoryWithDefault(this.pnpCache,i,()=>de.dynamicRequire(i,{cachingStrategy:de.CachingStrategy.FsTime})).findPackageLocator(T.fromPortablePath(e));return s?w.makeLocator(w.parseIdent(s.name),s.reference):null}makeInstaller(e){return new Nu(e)}},Nu=class{constructor(e){this.opts=e;this.mode="strict";this.packageRegistry=new Map;this.virtualTemplates=new Map;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){let i=w.stringifyIdent(e),n=e.reference,s=!!this.opts.project.tryWorkspaceByLocator(e),o=e.peerDependencies.size>0&&!w.isVirtualLocator(e),a=!o&&!s,l=!o&&e.linkType!==lt.SOFT,c,u;(a||l)&&(c=this.customData.store.get(e.locatorHash),typeof c=="undefined"&&(c=await uje(e,r),e.linkType===lt.HARD&&this.customData.store.set(e.locatorHash,c)),u=this.opts.project.getDependencyMeta(e,e.version));let g=a?AB(e,c,u,{configuration:this.opts.project.configuration,report:this.opts.report}):[],f=l?await this.unplugPackageIfNeeded(e,c,r,u):r.packageFs;if(D.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let h=D.resolve(f.getRealPath(),r.prefixPath),p=PF(this.opts.project.cwd,h),m=new Map,I=new Set;if(w.isVirtualLocator(e)){for(let y of e.peerDependencies.values())m.set(w.stringifyIdent(y),null),I.add(w.stringifyIdent(y));if(!this.opts.project.tryWorkspaceByLocator(e)){let y=w.devirtualizeLocator(e);this.virtualTemplates.set(y.locatorHash,{location:PF(this.opts.project.cwd,ir.resolveVirtual(h)),locator:y})}}return de.getMapWithDefault(this.packageRegistry,i).set(n,{packageLocation:p,packageDependencies:m,packagePeers:I,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:h,buildDirective:g.length>0?g:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(w.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Qa(this.opts.project);if(L.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning(z.UNNAMED,`Removing the old ${Ae.pretty(this.opts.project.configuration,xt.pnpJs,Ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${Ae.pretty(this.opts.project.configuration,xt.pnpCjs,Ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${Ae.pretty(this.opts.project.configuration,"yarn sdks",Ae.Type.CODE)}.`),await L.removePromise(e.cjsLegacy)),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await L.removePromise(e.cjs),await L.removePromise(this.opts.project.configuration.get("pnpDataPath"));return}for(let{locator:u,location:g}of this.virtualTemplates.values())de.getMapWithDefault(this.packageRegistry,w.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:lt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:w.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=de.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:w.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),{customData:this.customData}}async transformPnpSettings(e){}async finalizeInstallWithPnp(e){let r=Qa(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning(z.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await L.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=mie(e);await L.changeFilePromise(r.cjs,o,{automaticNewlines:!0}),await L.chmodPromise(r.cjs,493),await L.removePromise(i)}else{let o=D.relative(D.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Iie(V(v({},e),{dataLocation:o}));await L.changeFilePromise(r.cjs,l,{automaticNewlines:!0}),await L.chmodPromise(r.cjs,493),await L.changeFilePromise(i,a,{automaticNewlines:!0}),await L.chmodPromise(i,420)}let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await L.removePromise(s);else for(let o of await L.readdirPromise(s)){let a=D.resolve(s,o);this.unpluggedPaths.has(a)||await L.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=D.join(n.cwd,"node_modules");if(i&&i.test(D.relative(this.opts.project.cwd,n.cwd))||!L.existsSync(s))continue;let o=await L.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(D.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:cje.has(e.identHash)?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(AB(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r){let i=nd(e,{configuration:this.opts.project.configuration});this.unpluggedPaths.add(i);let n=D.join(i,r.prefixPath,".ready");return await L.existsPromise(n)?new yt(i):(this.opts.project.storedBuildState.delete(e.locatorHash),await L.mkdirPromise(i,{recursive:!0}),await L.copyPromise(i,we.dot,{baseFs:r.packageFs,overwrite:!1}),await L.writeFilePromise(n,""),new yt(i))}getPackageInformation(e){let r=w.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${w.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${w.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=de.getMapWithDefault(this.packageRegistry,"@@disk"),i=PF(this.opts.project.cwd,e);return de.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:lt.SOFT,discardFromLookup:!1}))}};function PF(t,e){let r=D.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function uje(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{os:r.os,cpu:r.cpu,scripts:r.scripts,preferUnplugged:r.preferUnplugged},misc:{extractHint:xF(e),hasBindingGyp:kF(e)}}}var Sie=te(Yi());var sd=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new me("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=w.parseDescriptor(f),p=h.range!=="unknown"?h:w.makeDescriptor(h,"*");if(!vt.validRange(p.range))throw new me(`The range of the descriptor patterns must be a valid semver range (${w.prettyDescriptor(e,p)})`);return m=>{let I=w.stringifyIdent(m);return!Sie.default.isMatch(I,w.stringifyIdent(p))||m.version&&!vt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!w.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(I,y)=>{if(!h.has(I.locatorHash)&&(h.add(I.locatorHash),!r.tryWorkspaceByLocator(I)&&o.some(B=>B(I))&&p.push(I),!(y>0&&!this.recursive)))for(let B of I.dependencies.values()){let x=r.storedResolutions.get(B.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let F=r.storedPackages.get(x);if(!F)throw new Error("Assertion failed: The package should have been registered");m(F,y+1)}};for(let I of f){let y=r.storedPackages.get(I.anchoredLocator.locatorHash);if(!y)throw new Error("Assertion failed: The package should have been registered");m(y,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new me(`Patterns ${Ae.prettyList(e,s,Ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new me(`Pattern ${Ae.prettyList(e,s,Ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=de.sortMap(c,f=>w.stringifyLocator(f)),(await xe.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",I=r.topLevelWorkspace.manifest.ensureDependencyMeta(w.makeDescriptor(p,m));I.unplugged=!0,f.reportInfo(z.UNNAMED,`Will unpack ${w.prettyLocator(e,p)} to ${Ae.pretty(e,nd(p,{configuration:e}),Ae.Type.PATH)}`),f.reportJson({locator:w.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};sd.paths=[["unplug"]],sd.usage=he.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var xie=sd;var Qa=t=>({cjs:D.join(t.cwd,xt.pnpCjs),cjsLegacy:D.join(t.cwd,xt.pnpJs)}),vie=t=>/\s/.test(t)?JSON.stringify(t):t;async function gje(t,e,r){let i=Qa(t).cjs,n=`--require ${vie(T.fromPortablePath(i))}`;if(i.includes(" ")&&kie.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(L.existsSync(i)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g;s=s.replace(o," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function fje(t,e){e(Qa(t).cjs),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var hje={hooks:{populateYarnPaths:fje,setupScriptEnvironment:gje},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:ge.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:ge.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:ge.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:ge.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:ge.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:ge.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:ge.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:ge.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[fl],commands:[xie]},pje=hje;var Mie=te(Lie());var TF=te(require("crypto")),Tie=te(require("fs")),Oie=1,Fr="node_modules",OF=".bin",Kie=".yarn-state.yml",Ti;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Ti||(Ti={}));var KF=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return r.project.configuration.get("nodeLinker")==="node-modules"}async findPackageLocation(e,r){let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await UF(r.project,{unrollAliases:!0}));if(n===null)throw new me("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(w.stringifyLocator(e));if(!s){let a=new me(`Couldn't find ${w.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>D.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){let i=await de.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await UF(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=lB(D.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return w.parseLocator(a)}makeInstaller(e){return new Uie(e)}},Uie=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:1})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=D.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await Fje(e,r),e.linkType===lt.HARD&&this.customData.store.set(e.locatorHash,n)),!wa.checkAndReportManifestCompatibility(e,n,"link",{configuration:this.opts.project.configuration,report:this.opts.report}))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(w.stringifyIdent(e))||s.set(w.stringifyIdent(e),e.reference);let a=e;if(w.isVirtualLocator(e)){a=w.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(w.stringifyIdent(g),null),o.add(w.stringifyIdent(g))}let l={packageLocation:`${T.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=w.areIdentsEqual(n,s)?s.reference:[w.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(w.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new ir({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await UF(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(g=>{var h,p;let f=this.opts.project.configuration.get("nmHoistingLimits");try{f=de.validateEnum(Mi,(p=(h=g.manifest.installConfig)==null?void 0:h.hoistingLimits)!=null?p:f)}catch(m){let I=w.prettyWorkspace(this.opts.project.configuration,g);this.opts.report.reportWarning(z.INVALID_MANIFEST,`${I}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Mi).join(", ")}, using default: "${f}"`)}return[g.relativeCwd,f]})),s={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(g,f)=>Array.isArray(f)?{name:f[0],reference:f[1]}:{name:g,reference:f},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(g=>{let f=g.anchoredLocator;return{name:w.stringifyIdent(g.locator),reference:f.reference}}),getPackageInformation:g=>{let f=g.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:w.makeLocator(w.parseIdent(g.name),g.reference),h=this.localStore.get(f.locatorHash);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return h.pnpNode},findPackageLocator:g=>{let f=this.opts.project.tryWorkspaceByCwd(T.toPortablePath(g));if(f!==null){let h=f.anchoredLocator;return{name:w.stringifyIdent(h),reference:h.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:g=>T.fromPortablePath(ir.resolveVirtual(T.toPortablePath(g)))},{tree:o,errors:a,preserveSymlinksRequired:l}=td(s,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project});if(!o){for(let{messageName:g,text:f}of a)this.opts.report.reportError(g,f);return}let c=BF(o);await Rje(r,c,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async g=>{let f=w.parseLocator(g),h=this.localStore.get(f.locatorHash);if(typeof h=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return h.customPackageData.manifest}});let u=[];for(let[g,f]of c.entries()){if(Hie(g))continue;let h=w.parseLocator(g),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(p.pkg))continue;let m=wa.extractBuildScripts(p.pkg,p.customPackageData,p.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});m.length!==0&&u.push({buildLocations:f.locations,locatorHash:h.locatorHash,buildDirective:m})}return l&&this.opts.report.reportWarning(z.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${Ae.pretty(this.opts.project.configuration,"--preserve-symlinks",Ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:u}}};async function Fje(t,e){var n;let r=(n=await ze.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new ze,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,os:r.os,cpu:r.cpu,scripts:r.scripts},misc:{extractHint:wa.getExtractHint(e),hasBindingGyp:wa.hasBindingGyp(e)}}}async function Nje(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will -`,n+=`# cause your node_modules installation to become invalidated. -`,n+=` -`,n+=`__metadata: -`,n+=` version: ${Oie} -`,n+=` nmMode: ${i} -`;let s=Array.from(e.keys()).sort(),o=w.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` -`,n+=`${JSON.stringify(c)}: -`,n+=` locations: -`;for(let g of u.locations){let f=D.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} -`}if(u.aliases.length>0){n+=` aliases: -`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} -`}if(c===o&&r.size>0){n+=` bin: -`;for(let[g,f]of r){let h=D.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: -`;for(let[p,m]of f){let I=D.relative(D.join(g,Fr),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(I)} -`}}}}let a=t.cwd,l=D.join(a,Fr,Kie);await L.changeFilePromise(l,n,{automaticNewlines:!0})}async function UF(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=D.join(r,Fr,Kie);if(!L.existsSync(i))return null;let n=Kr(await L.readFilePromise(i,"utf8"));if(n.__metadata.version>Oie)return null;let s=n.__metadata.nmMode||Ti.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>D.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=D.join(r,T.toPortablePath(f)),m=de.getMapWithDefault(a,p);for(let[I,y]of Object.entries(h))m.set(rr(I),T.toPortablePath([p,Fr,y].join(D.delimiter)))}if(o.set(l,{target:we.dot,linkType:lt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=w.parseLocator(l),m=w.makeLocator(w.makeIdent(h,p),f),I=w.stringifyLocator(m);o.set(I,{target:we.dot,linkType:lt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:Yie(o,{skipPrefix:t.cwd}),nmMode:s}}var Mu=async(t,e)=>{if(t.split(D.sep).indexOf(Fr)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop&&(await L.lstatPromise(t)).isSymbolicLink()){await L.unlinkPromise(t);return}let r=await L.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=D.join(t,rr(i.name));i.isDirectory()?(i.name!==Fr||e&&e.innerLoop)&&await Mu(n,{innerLoop:!0,contentsOnly:!1}):await L.unlinkPromise(n)}e.contentsOnly||await L.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},jie=4,lB=(t,{skipPrefix:e})=>{let r=D.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(D.sep).filter(l=>l!==""),n=i.indexOf(Fr),s=i.slice(0,n).join(D.sep),o=D.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},Yie=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:lt.HARD});for(let[n,s]of t.entries()){if(s.linkType===lt.SOFT&&D.contains(e,s.target)!==null){let a=de.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=lB(o,{skipPrefix:e}),c=de.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await L.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await L.symlinkPromise(t,e,"junction"):await L.symlinkPromise(D.relative(D.dirname(e),t),e)};async function Gie(t,e,r){let i=D.join(t,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));try{await L.writeFilePromise(i,r);try{await L.linkPromise(i,e)}catch(n){}}finally{await L.unlinkPromise(i)}}async function Lje({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s===Ti.HARDLINKS_GLOBAL&&i&&o){let l=D.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Di.checksumFile(l,{baseFs:L,algorithm:"sha1"})!==o){let g=D.join(i,rr(`${TF.default.randomBytes(16).toString("hex")}.tmp`));await L.renamePromise(l,g);let f=await n.readFilePromise(t);await L.writeFilePromise(g,f);try{await L.linkPromise(g,l),await L.unlinkPromise(g)}catch(h){}}await L.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await Gie(i,l,u),await L.linkPromise(l,e)}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await L.chmodPromise(e,a)}var ba;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(ba||(ba={}));var Mje=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await L.mkdirPromise(t,{recursive:!0});let o=async(l=we.dot)=>{let c=D.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=D.join(l,f.name),p,m=D.join(c,f.name);if(f.isFile()){if(p={kind:ba.FILE,mode:(await r.lstatPromise(m)).mode},n===Ti.HARDLINKS_GLOBAL){let I=await Di.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=I}}else if(f.isDirectory())p={kind:ba.DIRECTORY};else if(f.isSymbolicLink())p={kind:ba.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==Fr){let I=await o(h);for(let[y,B]of I)g.set(y,B)}}return g},a;if(n===Ti.HARDLINKS_GLOBAL&&i&&s){let l=D.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await L.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await Gie(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=D.join(e,l),g=D.join(t,l);c.kind===ba.DIRECTORY?await L.mkdirPromise(g,{recursive:!0}):c.kind===ba.FILE?await Lje({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===ba.SYMLINK&&await HF(D.resolve(D.dirname(g),c.symlinkTo),g)}};function Tje(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=D.join(n,Fr);if(!L.existsSync(o)){s.children.delete(Fr);for(let a of i.keys())D.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function Hie(t){let e=w.parseDescriptor(t);return w.isVirtualDescriptor(e)&&(e=w.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function Oje(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=Hie(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=D.join(l[0],f);f!==""&&L.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=D.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=D.join(a,T.toPortablePath(p));u.set(rr(h),m)}for(let[h,p]of c.children){let m=D.join(a,h),I=o(m,m,p);I.size>0&&s.set(a,new Map([...s.get(a)||new Map,...I]))}}else for(let[f,h]of c.children){let p=o(D.join(a,f),l,h);for(let[m,I]of p)u.set(m,I)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var qie=(t,e)=>{if(!t||!e)return t===e;let r=w.parseLocator(t);w.isVirtualLocator(r)&&(r=w.devirtualizeLocator(r));let i=w.parseLocator(e);return w.isVirtualLocator(i)&&(i=w.devirtualizeLocator(i)),w.areLocatorsEqual(r,i)};function YF(t){return D.join(t.get("globalFolder"),"store")}async function Rje(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=D.join(i.cwd,Fr),{locationTree:l,binSymlinks:c}=Tje(t.locationTree,t.binSymlinks),u=Yie(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:N,dstDir:O,linkType:P,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})=>{let A=(async()=>{try{P===lt.SOFT?(await L.mkdirPromise(D.dirname(O),{recursive:!0}),await HF(D.resolve(N),O)):await Mje(O,N,{baseFs:r,globalHardlinksStore:J,nmMode:oe,packageChecksum:K})}catch(W){throw W.message=`While persisting ${N} -> ${O} ${W.message}`,W}finally{B.tick()}})().then(()=>g.splice(g.indexOf(A),1));g.push(A),g.length>jie&&await Promise.race(g)},h=async(N,O,P)=>{let J=(async()=>{let oe=async(K,A,W)=>{try{W.innerLoop||await L.mkdirPromise(A,{recursive:!0});let ee=await L.readdirPromise(K,{withFileTypes:!0});for(let re of ee){if(!W.innerLoop&&re.name===OF)continue;let H=D.join(K,re.name),R=D.join(A,re.name);re.isDirectory()?(re.name!==Fr||W&&W.innerLoop)&&(await L.mkdirPromise(R,{recursive:!0}),await oe(H,R,V(v({},W),{innerLoop:!0}))):F===Ti.HARDLINKS_LOCAL||F===Ti.HARDLINKS_GLOBAL?await L.linkPromise(H,R):await L.copyFilePromise(H,R,Tie.default.constants.COPYFILE_FICLONE)}}catch(ee){throw W.innerLoop||(ee.message=`While cloning ${K} -> ${A} ${ee.message}`),ee}finally{W.innerLoop||B.tick()}};await oe(N,O,P)})().then(()=>g.splice(g.indexOf(J),1));g.push(J),g.length>jie&&await Promise.race(g)},p=async(N,O,P)=>{if(!P)O.children.has(Fr)&&await Mu(D.join(N,Fr),{contentsOnly:!1}),await Mu(N,{contentsOnly:N===a});else for(let[J,oe]of O.children){let K=P.children.get(J);await p(D.join(N,J),oe,K)}};for(let[N,O]of l){let P=u.get(N);for(let[J,oe]of O.children){if(J===".")continue;let K=P&&P.children.get(J);await p(D.join(N,J),oe,K)}}let m=async(N,O,P)=>{if(!P)O.children.has(Fr)&&await Mu(D.join(N,Fr),{contentsOnly:!0}),await Mu(N,{contentsOnly:O.linkType===lt.HARD});else{qie(O.locator,P.locator)||await Mu(N,{contentsOnly:O.linkType===lt.HARD});for(let[J,oe]of O.children){let K=P.children.get(J);await m(D.join(N,J),oe,K)}}};for(let[N,O]of u){let P=l.get(N);for(let[J,oe]of O.children){if(J===".")continue;let K=P&&P.children.get(J);await m(D.join(N,J),oe,K)}}let I=new Map,y=[];for(let[N,{locations:O}]of t.locatorMap.entries())for(let P of O){let{locationRoot:J,segments:oe}=lB(P,{skipPrefix:i.cwd}),K=u.get(J),A=J;if(K){for(let W of oe)if(A=D.join(A,W),K=K.children.get(W),!K)break;if(K){let W=qie(K.locator,N),ee=e.get(K.locator),re=ee.target,H=A,R=ee.linkType;if(W)I.has(re)||I.set(re,H);else if(re!==H){let ve=w.parseLocator(K.locator);w.isVirtualLocator(ve)&&(ve=w.devirtualizeLocator(ve)),y.push({srcDir:re,dstDir:H,linkType:R,realLocatorHash:ve.locatorHash})}}}}for(let[N,{locations:O}]of e.entries())for(let P of O){let{locationRoot:J,segments:oe}=lB(P,{skipPrefix:i.cwd}),K=l.get(J),A=u.get(J),W=J,ee=e.get(N),re=w.parseLocator(N);w.isVirtualLocator(re)&&(re=w.devirtualizeLocator(re));let H=re.locatorHash,R=ee.target,ve=P;if(R===ve)continue;let Ne=ee.linkType;for(let Je of oe)A=A.children.get(Je);if(!K)y.push({srcDir:R,dstDir:ve,linkType:Ne,realLocatorHash:H});else for(let Je of oe)if(W=D.join(W,Je),K=K.children.get(Je),!K){y.push({srcDir:R,dstDir:ve,linkType:Ne,realLocatorHash:H});break}}let B=ci.progressViaCounter(y.length),x=n.reportProgress(B),F=i.configuration.get("nmMode");try{let N=F===Ti.HARDLINKS_GLOBAL?`${YF(i.configuration)}/v1`:null;if(N&&!await L.existsPromise(N)){await L.mkdirpPromise(N);for(let P=0;P<256;P++)await L.mkdirPromise(D.join(N,P.toString(16).padStart(2,"0")))}for(let P of y)(P.linkType===lt.SOFT||!I.has(P.srcDir))&&(I.set(P.srcDir,P.dstDir),await f(V(v({},P),{globalHardlinksStore:N,nmMode:F,packageChecksum:o.get(P.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let P of y){let J=I.get(P.srcDir);P.linkType!==lt.SOFT&&P.dstDir!==J&&await h(J,P.dstDir,{nmMode:F})}await Promise.all(g),await L.mkdirPromise(a,{recursive:!0});let O=await Oje(e,u,i.cwd,{loadManifest:s});await Kje(c,O,i.cwd),await Nje(i,e,O,F)}finally{x.stop()}}async function Kje(t,e,r){for(let i of t.keys()){if(D.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=D.join(i,Fr,OF);await L.removePromise(n)}}for(let[i,n]of e){if(D.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=D.join(i,Fr,OF),o=t.get(i)||new Map;await L.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await L.removePromise(D.join(s,a)),process.platform==="win32"&&await L.removePromise(D.join(s,rr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=D.join(s,a);c!==l&&(process.platform==="win32"?await(0,Mie.default)(T.fromPortablePath(l),T.fromPortablePath(u),{createPwshFile:!1}):(await L.removePromise(u),await HF(l,u),D.contains(r,await L.realpathPromise(l))!==null&&await L.chmodPromise(l,493)))}}}var jF=class extends fl{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Jie(e)}},Jie=class extends Nu{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new ir({baseFs:new nn({libzip:await gi(),maxOpenFiles:80,readOnlyArchives:!0})}),i=bie(e,this.opts.project.cwd,r),{tree:n,errors:s}=td(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=w.parseLocator(g.locator),h=w.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=D.join(this.opts.project.cwd,xt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=D.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=D.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var Uje={hooks:{cleanGlobalArtifacts:async t=>{let e=YF(t);await L.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:ge.STRING,values:[Mi.WORKSPACES,Mi.DEPENDENCIES,Mi.NONE],default:Mi.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:ge.STRING,values:[Ti.CLASSIC,Ti.HARDLINKS_LOCAL,Ti.HARDLINKS_GLOBAL],default:Ti.CLASSIC}},linkers:[KF,jF]},Hje=Uje;var WR={};et(WR,{default:()=>zJe,npmConfigUtils:()=>Jt,npmHttpUtils:()=>Bt,npmPublishUtils:()=>Bd});var Xie=te(cr());var Mt="npm:";var Bt={};et(Bt,{AuthType:()=>Zi,customPackageError:()=>Gje,del:()=>Wje,get:()=>Gn,getIdentUrl:()=>xa,handleInvalidAuthenticationError:()=>Sa,post:()=>qje,put:()=>Jje});var zie=te(up()),Vie=te(require("url"));var Jt={};et(Jt,{RegistryType:()=>Da,getAuthConfiguration:()=>JF,getDefaultRegistry:()=>cB,getPublishRegistry:()=>Yje,getRegistryConfiguration:()=>Wie,getScopeConfiguration:()=>qF,getScopeRegistry:()=>Bo,normalizeRegistry:()=>hl});var Da;(function(r){r.FETCH_REGISTRY="npmRegistryServer",r.PUBLISH_REGISTRY="npmPublishRegistry"})(Da||(Da={}));function hl(t){return t.replace(/\/$/,"")}function Yje(t,{configuration:e}){return t.publishConfig&&t.publishConfig.registry?hl(t.publishConfig.registry):t.name?Bo(t.name.scope,{configuration:e,type:Da.PUBLISH_REGISTRY}):cB({configuration:e,type:Da.PUBLISH_REGISTRY})}function Bo(t,{configuration:e,type:r=Da.FETCH_REGISTRY}){let i=qF(t,{configuration:e});if(i===null)return cB({configuration:e,type:r});let n=i.get(r);return n===null?cB({configuration:e,type:r}):hl(n)}function cB({configuration:t,type:e=Da.FETCH_REGISTRY}){let r=t.get(e);return hl(r!==null?r:t.get(Da.FETCH_REGISTRY))}function Wie(t,{configuration:e}){let r=e.get("npmRegistries"),i=hl(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function qF(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function JF(t,{configuration:e,ident:r}){let i=r&&qF(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:Wie(t,{configuration:e})||e}var Zi;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(Zi||(Zi={}));async function Sa(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new _e(z.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await jje(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function Gje(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function xa(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Gn(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Rr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=Bo(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await uB(s,{authType:n,configuration:e,ident:i});c&&(r=V(v({},r),{authorization:c}));try{return await Rt.get(t.charAt(0)==="/"?`${s}${t}`:t,v({configuration:e,headers:r},o))}catch(u){throw await Sa(u,{registry:s,configuration:e,headers:r}),u}}async function qje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Rr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await uB(a,{authType:o,configuration:i,ident:s});g&&(n=V(v({},n),{authorization:g}));try{return await Rt.post(a+t,e,v({configuration:i,headers:n},l))}catch(f){if(!zF(f))throw await Sa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await WF(),p=v(v({},n),VF(h));try{return await Rt.post(`${a}${t}`,e,v({configuration:i,headers:p},l))}catch(m){throw await Sa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Jje(t,e,c){var u=c,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a}=u,l=Rr(u,["attemptedAs","configuration","headers","ident","authType","registry"]);if(s&&typeof a=="undefined"&&(a=Bo(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let g=await uB(a,{authType:o,configuration:i,ident:s});g&&(n=V(v({},n),{authorization:g}));try{return await Rt.put(a+t,e,v({configuration:i,headers:n},l))}catch(f){if(!zF(f))throw await Sa(f,{attemptedAs:r,registry:a,configuration:i,headers:n}),f;let h=await WF(),p=v(v({},n),VF(h));try{return await Rt.put(`${a}${t}`,e,v({configuration:i,headers:p},l))}catch(m){throw await Sa(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function Wje(t,l){var c=l,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o}=c,a=Rr(c,["attemptedAs","configuration","headers","ident","authType","registry"]);if(n&&typeof o=="undefined"&&(o=Bo(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let u=await uB(o,{authType:s,configuration:r,ident:n});u&&(i=V(v({},i),{authorization:u}));try{return await Rt.del(o+t,v({configuration:r,headers:i},a))}catch(g){if(!zF(g))throw await Sa(g,{attemptedAs:e,registry:o,configuration:r,headers:i}),g;let f=await WF(),h=v(v({},i),VF(f));try{return await Rt.del(`${o}${t}`,v({configuration:r,headers:h},a))}catch(p){throw await Sa(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function uB(t,{authType:e=2,configuration:r,ident:i}){let n=JF(t,{configuration:r,ident:i}),s=zje(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new _e(z.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function zje(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function jje(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await Rt.get(new Vie.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function WF(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,zie.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function zF(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function VF(t){return{["npm-otp"]:t}}var XF=class{supports(e,r){if(!e.reference.startsWith(Mt))return!1;let{selector:i,params:n}=w.parseRange(e.reference);return!(!Xie.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=w.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Gn(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await hr.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}};var ZF=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Mt)||!w.tryParseDescriptor(e.range.slice(Mt.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=w.parseDescriptor(e.range.slice(Mt.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=w.parseDescriptor(e.range.slice(Mt.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=w.parseDescriptor(e.range.slice(Mt.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var _F=te(cr()),Zie=te(require("url"));var qn=class{supports(e,r){if(!e.reference.startsWith(Mt))return!1;let i=new Zie.URL(e.reference);return!(!_F.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Gn(qn.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Gn(qn.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await hr.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:w.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=Bo(e.scope,{configuration:i}),s=qn.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=_F.default.clean(e.reference.slice(Mt.length));if(r===null)throw new _e(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${xa(e)}/-/${e.name}-${r}.tgz`}};var $F=te(cr());var gB=w.makeIdent(null,"node-gyp"),Vje=/\b(node-gyp|prebuild-install)\b/,eR=class{supportsDescriptor(e,r){return e.range.startsWith(Mt)?!!vt.validRange(e.range.slice(Mt.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Mt))return!1;let{selector:i}=w.parseRange(e.reference);return!!$F.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=vt.validRange(e.range.slice(Mt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Mt.length)}`);let s=await Gn(xa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=de.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new vt.SemVer(c);if(n.test(u))return u}catch{}return de.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=w.makeLocator(e,`${Mt}${c.raw}`),g=s.versions[c.raw].dist.tarball;return qn.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:w.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=vt.validRange(e.range.slice(Mt.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Mt.length)}`);return de.mapAndFilter(r,s=>{try{let{selector:o}=w.parseRange(s,{requireProtocol:Mt}),a=new vt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return de.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>w.makeLocator(e,s))}async resolve(e,r){let{selector:i}=w.parseRange(e.reference),n=$F.default.clean(i);if(n===null)throw new _e(z.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Gn(xa(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new _e(z.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new ze;if(o.load(s.versions[n]),!o.dependencies.has(gB.identHash)&&!o.peerDependencies.has(gB.identHash)){for(let a of o.scripts.values())if(a.match(Vje)){o.dependencies.set(gB.identHash,w.makeDescriptor(gB,"latest")),r.report.reportWarning(z.NODE_GYP_INJECTED,`${w.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}return typeof o.raw.deprecated=="string"&&r.report.reportWarningOnce(z.DEPRECATED_PACKAGE,`${w.prettyLocator(r.project.configuration,e)} is deprecated: ${o.raw.deprecated}`),V(v({},e),{version:n,languageName:"node",linkType:lt.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var tR=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Mt)||!Zc.test(e.range.slice(Mt.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Mt.length),s=await Gn(xa(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new _e(z.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=w.makeLocator(e,`${Mt}${a}`),c=s.versions[a].dist.tarball;return qn.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[w.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var Bd={};et(Bd,{makePublishBody:()=>JJe});var jR={};et(jR,{default:()=>xJe,packUtils:()=>Do});var Do={};et(Do,{genPackList:()=>NB,genPackStream:()=>YR,genPackageManifest:()=>bse,hasPackScripts:()=>UR,prepareForPack:()=>HR});var KR=te(Yi()),wse=te(Bse()),Qse=te(require("zlib")),CJe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],mJe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function UR(t){return!!(Qt.hasWorkspaceScript(t,"prepack")||Qt.hasWorkspaceScript(t,"postpack"))}async function HR(t,{report:e},r){await Qt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{await r()}finally{await Qt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function YR(t,e){var s,o;typeof e=="undefined"&&(e=await NB(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(D.normalize(a));for(let a of t.manifest.bin.values())r.add(D.normalize(a));let i=wse.default.pack();process.nextTick(async()=>{for(let a of e){let l=D.normalize(a),c=D.resolve(t.cwd,l),u=D.join("package",l),g=await L.lstatPromise(c),f={name:u,mtime:new Date(hr.safeTime*1e3)},h=r.has(l)?493:420,p,m,I=new Promise((B,x)=>{p=B,m=x}),y=B=>{B?m(B):p()};if(g.isFile()){let B;l==="package.json"?B=Buffer.from(JSON.stringify(await bse(t),null,2)):B=await L.readFilePromise(c),i.entry(V(v({},f),{mode:h,type:"file"}),B,y)}else g.isSymbolicLink()?i.entry(V(v({},f),{mode:h,type:"symlink",linkname:await L.readlinkPromise(c)}),y):y(new Error(`Unsupported file type ${g.mode} for ${T.fromPortablePath(l)}`));await I}i.finalize()});let n=(0,Qse.createGzip)();return i.pipe(n),n}async function bse(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function NB(t){var g,f,h,p,m,I,y,B;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of mJe)i.reject.push(x);for(let x of CJe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let F=D.relative(t.cwd,x),N=D.resolve(we.root,F);i.reject.push(N)};n(D.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let F=D.relative(t.cwd,x.cwd);F!==""&&!F.match(/^(\.\.)?\//)&&i.reject.push(`/${F}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(I=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?I:t.manifest.browser,c=(B=(y=t.manifest.publishConfig)==null?void 0:y.bin)!=null?B:t.manifest.bin;o!=null&&s.accept.push(D.resolve(we.root,o)),a!=null&&s.accept.push(D.resolve(we.root,a)),typeof l=="string"&&s.accept.push(D.resolve(we.root,l));for(let x of c.values())s.accept.push(D.resolve(we.root,x));if(l instanceof Map)for(let[x,F]of l.entries())s.accept.push(D.resolve(we.root,x)),typeof F=="string"&&s.accept.push(D.resolve(we.root,F));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)Dse(s.accept,x,{cwd:we.root})}return await IJe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function IJe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Ls(t),o=[[we.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!xse(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==we.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await Sse(s,a,".npmignore"):g?await Sse(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;xse(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([D.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(D.relative(we.root,a))}return n.sort()}async function Sse(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(D.join(e,r),"utf8");for(let s of n.split(/\n/g))Dse(i.reject,s,{cwd:e});return i}function EJe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=D.resolve(e,t)),r&&(t=`!${t}`),t}function Dse(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(EJe(i,{cwd:r}))}function xse(t,{globalList:e,ignoreLists:r}){if(LB(t,e.accept))return!1;if(LB(t,e.reject))return!0;if(r!==null)for(let i of r){if(LB(t,i.accept))return!1;if(LB(t,i.reject))return!0}return!1}function LB(t,e){let r=e,i=[];for(let n=0;n{await HR(i,{report:l},async()=>{l.reportJson({base:i.cwd});let c=await NB(i);for(let u of c)l.reportInfo(null,u),l.reportJson({location:u});if(!this.dryRun){let u=await YR(i,c),g=L.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo(z.UNNAMED,`Package archive generated in ${Ae.pretty(e,s,Ae.Type.PATH)}`),l.reportJson({output:s}))})).exitCode()}};Id.paths=[["pack"]],Id.usage=he.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var vse=Id;function yJe(t,{workspace:e}){let r=t.replace("%s",BJe(e)).replace("%v",wJe(e));return T.toPortablePath(r)}function BJe(t){return t.manifest.name!==null?w.slugifyIdent(t.manifest.name):"package"}function wJe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var QJe=["dependencies","devDependencies","peerDependencies"],bJe="workspace:",DJe=(t,e)=>{var i;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let n of QJe)for(let s of t.manifest.getForScope(n).values()){let o=r.tryWorkspaceByDescriptor(s),a=w.parseRange(s.range);if(a.protocol===bJe)if(o===null){if(r.tryWorkspaceByIdent(s)===null)throw new _e(z.WORKSPACE_NOT_FOUND,`${w.prettyDescriptor(r.configuration,s)}: No local workspace found for this range`)}else{let l;w.areDescriptorsEqual(s,o.anchoredDescriptor)||a.selector==="*"?l=(i=o.manifest.version)!=null?i:"0.0.0":l=a.selector,e[n][w.stringifyIdent(s)]=l}}},SJe={hooks:{beforeWorkspacePacking:DJe},commands:[vse]},xJe=SJe;var Kse=te(require("crypto")),Use=te(Ose()),Hse=te(require("url"));async function JJe(t,e,{access:r,tag:i,registry:n}){let s=t.project.configuration,o=t.manifest.name,a=t.manifest.version,l=w.stringifyIdent(o),c=(0,Kse.createHash)("sha1").update(e).digest("hex"),u=Use.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:s.get("npmPublishAccess")!==null?r=s.get("npmPublishAccess"):o.scope?r="restricted":r="public");let g=await Do.genPackageManifest(t),f=`${l}-${a}.tgz`,h=new Hse.URL(`${l}/-/${f}`,n);return{_id:l,_attachments:{[f]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:l,access:r,["dist-tags"]:{[i]:a},versions:{[a]:V(v({},g),{_id:`${l}@${a}`,name:l,version:a,dist:{shasum:c,integrity:u,tarball:h.toString()}})}}}var zR={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:ge.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:ge.SECRET,default:null}},Yse={npmPublishRegistry:{description:"Registry to push packages to",type:ge.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:ge.STRING,default:"https://registry.yarnpkg.com"}},WJe={configuration:V(v(v({},zR),Yse),{npmScopes:{description:"Settings per package scope",type:ge.MAP,valueDefinition:{description:"",type:ge.SHAPE,properties:v(v({},zR),Yse)}},npmRegistries:{description:"Settings per registry",type:ge.MAP,normalizeKeys:hl,valueDefinition:{description:"",type:ge.SHAPE,properties:v({},zR)}}}),fetchers:[XF,qn],resolvers:[ZF,eR,tR]},zJe=WJe;var _R={};et(_R,{default:()=>iWe});Pn();var Ss;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ss||(Ss={}));var Wn;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(Wn||(Wn={}));var MB=[Wn.Info,Wn.Low,Wn.Moderate,Wn.High,Wn.Critical];function jse(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function VJe(t,e){return new Set([...t].filter(r=>!e.has(r)))}function XJe(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=jse(t,l),g=jse(t,c);return VJe(g,u)}function Gse(t){let e={};for(let r of t)e[w.stringifyIdent(r)]=w.parseRange(r.range).selector;return e}function qse(t){if(typeof t=="undefined")return new Set;let e=MB.indexOf(t),r=MB.slice(e);return new Set(r)}function ZJe(t,e){let r=qse(e),i={};for(let n of r)i[n]=t[n];return i}function Jse(t,e){var i;let r=ZJe(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function Wse(t,e){let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let s=qse(e);n=n.filter(o=>s.has(o.severity))}for(let s of de.sortMap(n,o=>o.module_name))r[s.module_name]={label:s.module_name,value:Ae.tuple(Ae.Type.RANGE,s.findings.map(o=>o.version).join(", ")),children:{Issue:{label:"Issue",value:Ae.tuple(Ae.Type.NO_HINT,s.title)},URL:{label:"URL",value:Ae.tuple(Ae.Type.URL,s.url)},Severity:{label:"Severity",value:Ae.tuple(Ae.Type.NO_HINT,s.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:Ae.tuple(Ae.Type.RANGE,s.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:Ae.tuple(Ae.Type.RANGE,s.patched_versions)},Via:{label:"Via",value:Ae.tuple(Ae.Type.NO_HINT,Array.from(new Set(s.findings.map(o=>o.paths).flat().map(o=>o.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:Ae.tuple(Ae.Type.NO_HINT,s.recommendation.replace(/\n/g," "))}}};return i}function zse(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ss.All,Ss.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ss.All,Ss.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return Gse([...o,...l].filter(c=>w.parseRange(c.range).protocol===null))}function Vse(t,e,{all:r}){var s;let i=XJe(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[w.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:Gse(o.dependencies.values()),dev:i.has(w.convertLocatorToDescriptor(o).descriptorHash)};return n}var wd=class extends ye{constructor(){super(...arguments);this.all=j.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=j.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=j.String("--environment",Ss.All,{description:"Which environments to cover",validator:ni(Ss)});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=j.String("--severity",Wn.Info,{description:"Minimal severity requested for packages to be displayed",validator:ni(Wn)})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=zse(r,i,{all:this.all,environment:this.environment}),s=Vse(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=Jt.getPublishRegistry(i.manifest,{configuration:e}),l,c=await uo.start({configuration:e,stdout:this.context.stdout},async()=>{l=await Bt.post("/-/npm/v1/security/audits/quick",o,{authType:Bt.AuthType.NO_AUTH,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=Jse(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(Un.emitTree(Wse(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo(z.EXCEPTION,"No audit suggestions")})).exitCode()}};wd.paths=[["npm","audit"]],wd.usage=he.Usage({description:"perform a vulnerability audit against the installed packages",details:` - This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). - - For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. - - Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${MB.map(e=>`\`${e}\``).join(", ")}. - - If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. - - To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. - `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var Xse=wd;var Zse=te(require("path")),VR=te(cr()),XR=te(require("util")),Qd=class extends ye{constructor(){super(...arguments);this.fields=j.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=j.Rest()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r}=await Fe.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await xe.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new me(`Missing 'name' field in ${Zse.default.join(x.cwd,"package.json")}`);c=w.makeDescriptor(x.manifest.name,"unknown")}else c=w.parseDescriptor(l);let u=Bt.getIdentUrl(c),g=ZR(await Bt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:Bt.customPackageError})),f=Object.keys(g.versions).sort(VR.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=vt.validRange(c.range);if(m){let x=VR.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning(z.UNNAMED,`Unmet range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else c.range!=="unknown"&&(a.reportWarning(z.UNNAMED,`Invalid range ${w.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let I=g.versions[p],y=V(v(v({},g),I),{version:p,versions:f}),B;if(i!==null){B={};for(let x of i){let F=y[x];if(typeof F!="undefined")B[x]=F;else{a.reportWarning(z.EXCEPTION,`The '${x}' field doesn't exist inside ${w.prettyIdent(e,c)}'s informations`),s=!0;continue}}}else this.json||(delete y.dist,delete y.readme,delete y.users),B=y;a.reportJson(B),this.json||n.push(B)}});XR.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` -`),this.context.stdout.write(`${(0,XR.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} -`);return o.exitCode()}};Qd.paths=[["npm","info"]],Qd.usage=he.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var _se=Qd;function ZR(t){if(Array.isArray(t)){let e=[];for(let r of t)r=ZR(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=ZR(t[r]);i&&(e[r]=i)}return e}else return t||null}var $se=te(up()),bd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await $Je({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await Bt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:Bt.AuthType.NO_AUTH});return await _Je(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo(z.UNNAMED,"Successfully logged in")})).exitCode()}};bd.paths=[["npm","login"]],bd.usage=he.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var eoe=bd;async function TB({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?Jt.getScopeRegistry(t,{configuration:r,type:Jt.RegistryType.PUBLISH_REGISTRY}):t?Jt.getScopeRegistry(t,{configuration:r}):e?Jt.getPublishRegistry((await yu(r,i)).manifest,{configuration:r}):Jt.getDefaultRegistry({configuration:r})}async function _Je(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=de.isIndexableObject(a)?a:{},c=l[o],u=de.isIndexableObject(c)?c:{};return V(v({},l),{[o]:V(v({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await le.updateHomeConfiguration(s)}async function $Je({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo(z.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo(z.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,$se.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var Vu=new Set(["npmAuthIdent","npmAuthToken"]),Dd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=j.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await le.find(this.context.cwd,this.context.plugins),o=w.makeIdent((l=this.scope)!=null?l:null,"pkg");return!Jt.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await eWe(),n.reportInfo(z.UNNAMED,"Successfully logged out from everything")),this.scope){await toe("npmScopes",this.scope),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning(z.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await TB({configuration:e,cwd:this.context.cwd,publish:this.publish});await toe("npmRegistries",s),await r()?n.reportInfo(z.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning(z.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Dd.paths=[["npm","logout"]],Dd.usage=he.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var roe=Dd;function tWe(t,e){let r=t[e];if(!de.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...Vu].every(s=>!i.has(s)))return!1;for(let s of Vu)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=v({},r);for(let s of Vu)delete n[s];return t[e]=n,!0}async function eWe(){let t=e=>{let r=!1,i=de.isIndexableObject(e)?v({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))tWe(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await le.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function toe(t,e){return await le.updateHomeConfiguration({[t]:r=>{let i=de.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=de.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...Vu].every(l=>!o.has(l)))return r;for(let l of Vu)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:V(v({},i),{[e]:void 0});let a={};for(let l of Vu)a[l]=void 0;return V(v({},i),{[e]:v(v({},s),a)})}})}var Sd=class extends ye{constructor(){super(...arguments);this.access=j.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=j.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=j.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);if(i.manifest.private)throw new me("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new me("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=Jt.getPublishRegistry(i.manifest,{configuration:e});return(await xe.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await Bt.get(Bt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new _e(z.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning(z.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Qt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await Do.prepareForPack(i,{report:l},async()=>{let g=await Do.genPackList(i);for(let m of g)l.reportInfo(null,m);let f=await Do.genPackStream(i,g),h=await de.bufferStream(f),p=await Bd.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o});await Bt.put(Bt.getIdentUrl(n),p,{configuration:e,registry:o,ident:n,jsonResponse:!0})}),l.reportInfo(z.UNNAMED,"Package archive published")})).exitCode()}};Sd.paths=[["npm","publish"]],Sd.usage=he.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var ioe=Sd;var soe=te(cr());var xd=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String({required:!1})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=w.parseIdent(this.package);else{if(!i)throw new Ze(r.cwd,this.context.cwd);if(!i.manifest.name)throw new me(`Missing 'name' field in ${D.join(i.cwd,xt.manifest)}`);n=i.manifest.name}let s=await kd(n,e),a={children:de.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:Ae.tuple(Ae.Type.RESOLUTION,{descriptor:w.makeDescriptor(n,l),locator:w.makeLocator(n,c)})}))};return Un.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};xd.paths=[["npm","tag","list"]],xd.usage=he.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` - This command will list all tags of a package from the npm registry. - - If the package is not specified, Yarn will default to the current workspace. - `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var noe=xd;async function kd(t,e){let r=`/-/package${Bt.getIdentUrl(t)}/dist-tags`;return Bt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Bt.customPackageError})}var vd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseDescriptor(this.package,!0),s=n.range;if(!soe.default.valid(s))throw new me(`The range ${Ae.pretty(e,n.range,Ae.Type.RANGE)} must be a valid semver version`);let o=Jt.getPublishRegistry(i.manifest,{configuration:e}),a=Ae.pretty(e,n,Ae.Type.IDENT),l=Ae.pretty(e,s,Ae.Type.RANGE),c=Ae.pretty(e,this.tag,Ae.Type.CODE);return(await xe.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await kd(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning(z.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo(z.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};vd.paths=[["npm","tag","add"]],vd.usage=he.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` - This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. - `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var ooe=vd;var Pd=class extends ye{constructor(){super(...arguments);this.package=j.String();this.tag=j.String()}async execute(){if(this.tag==="latest")throw new me("The 'latest' tag cannot be removed.");let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);let n=w.parseIdent(this.package),s=Jt.getPublishRegistry(i.manifest,{configuration:e}),o=Ae.pretty(e,this.tag,Ae.Type.CODE),a=Ae.pretty(e,n,Ae.Type.IDENT),l=await kd(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new me(`${o} is not a tag of package ${a}`);return(await xe.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${Bt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Bt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo(z.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};Pd.paths=[["npm","tag","remove"]],Pd.usage=he.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` - This command will remove a tag from a package from the npm registry. - `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var aoe=Pd;var Fd=class extends ye{constructor(){super(...arguments);this.scope=j.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=j.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=Jt.getScopeRegistry(this.scope,{configuration:e,type:Jt.RegistryType.PUBLISH_REGISTRY}):this.scope?r=Jt.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=Jt.getPublishRegistry((await yu(e,this.context.cwd)).manifest,{configuration:e}):r=Jt.getDefaultRegistry({configuration:e}),(await xe.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await Bt.get("/-/whoami",{configuration:e,registry:r,authType:Bt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?w.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError(z.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo(z.UNNAMED,s.username)})).exitCode()}};Fd.paths=[["npm","whoami"]],Fd.usage=he.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Aoe=Fd;var rWe={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:ge.STRING,default:null}},commands:[Xse,_se,eoe,roe,ioe,ooe,noe,aoe,Aoe]},iWe=rWe;var oN={};et(oN,{default:()=>IWe,patchUtils:()=>$R});var $R={};et($R,{applyPatchFile:()=>HB,diffFolders:()=>iN,extractPackageToDisk:()=>rN,extractPatchFlags:()=>doe,isParentRequired:()=>tN,loadPatchFiles:()=>Md,makeDescriptor:()=>dWe,makeLocator:()=>eN,parseDescriptor:()=>Nd,parseLocator:()=>Ld,parsePatchFile:()=>KB});var Rd=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var nWe=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Xu(t){return D.relative(we.root,D.resolve(we.root,T.toPortablePath(t)))}function sWe(t){let e=t.trim().match(nWe);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var oWe=420,aWe=493,Ar;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Ar||(Ar={}));var loe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),AWe=t=>({header:sWe(t),parts:[]}),lWe={["@"]:"header",["-"]:Ar.Deletion,["+"]:Ar.Insertion,[" "]:Ar.Context,["\\"]:"pragma",undefined:Ar.Context};function uWe(t){let e=[],r=loe(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=loe()}for(let l=0;l0?"patch":"mode change",B=null;switch(y){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Xu(u),toPath:Xu(g)}),B=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:I&&I[0]||null,path:Xu(x),mode:OB(l),hash:f})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:I&&I[0]||null,path:Xu(x),mode:OB(c),hash:h})}break;case"patch":case"mode change":B=m||s;break;default:de.assertNever(y);break}B&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Xu(B),oldMode:OB(o),newMode:OB(a)}),B&&I&&I.length&&e.push({type:"patch",semverExclusivity:i,path:Xu(B),hunks:I,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function OB(t){let e=parseInt(t,8)&511;if(e!==oWe&&e!==aWe)throw new Error(`Unexpected file mode string: ${t}`);return e}function KB(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),gWe(uWe(e))}function cWe(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Ar.Context:r+=n.length,e+=n.length;break;case Ar.Deletion:e+=n.length;break;case Ar.Insertion:r+=n.length;break;default:de.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}var UB=315532800;async function Zu(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function HB(t,{baseFs:e=new Ft,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!vt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await Zu(e,D.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await Zu(e,D.dirname(n.fromPath),async()=>{await Zu(e,D.dirname(n.toPath),async()=>{await Zu(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` -`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` -`):"";await e.mkdirpPromise(D.dirname(n.path),{chmod:493,utimes:[UB,UB]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,UB,UB)}break;case"patch":await Zu(e,n.path,async()=>{await fWe(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(coe(n.newMode)!==coe(o))continue;await Zu(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:de.assertNever(n);break}}function coe(t){return(t&64)>0}function uoe(t){return t.replace(/\s+$/,"")}function hWe(t,e){return uoe(t)===uoe(e)}async function fWe({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),I=0,y=0,B=null;for(;I<=m;){if(I<=h&&(y=f-I,B=goe(g,o,y),B!==null)){I=-I;break}if(I<=p&&(y=f+I,B=goe(g,o,y),B!==null))break;I+=1}if(B===null)throw new Rd(t.indexOf(g),g);a.push(B),l+=I,c=y+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:de.assertNever(f);break}await r.writeFilePromise(e,o.join(` -`),{mode:n})}function goe(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Ar.Context:case Ar.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!hWe(o,s))return null;r+=1}n.type===Ar.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Ar.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:de.assertNever(n.type);break}return i}var pWe=/^builtin<([^>]+)>$/;function foe(t,e){let{source:r,selector:i,params:n}=w.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>T.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?w.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function Nd(t){let i=foe(t.range,w.parseDescriptor),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceDescriptor:e})}function Ld(t){let i=foe(t.reference,w.parseLocator),{sourceItem:e}=i,r=Rr(i,["sourceItem"]);return V(v({},r),{sourceLocator:e})}function hoe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:w.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return w.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:v(v(v({},a),l),o)})}function dWe(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,patchPaths:i},w.stringifyDescriptor))}function eN(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return w.makeLocator(t,hoe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},w.stringifyLocator))}function poe({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(pWe);return s!==null?r(s[1]):D.isAbsolute(i)?t(i):e(i)}function doe(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function tN(t){return poe({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function Md(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new yt(we.root),prefixPath:D.relative(we.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await de.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=doe(o),l=await poe({onAbsolute:async()=>await L.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(D.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return V(v({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` -`));return s}async function rN(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new Br,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await L.mktempPromise(),c=D.join(l,"source"),u=D.join(l,"user"),g=D.join(l,".yarn-patch.json");return await Promise.all([L.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),L.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),L.writeJsonPromise(g,{locator:w.stringifyLocator(t),version:i.version})]),L.detachTemp(l),u}async function iN(t,e){let r=T.fromPortablePath(t).replace(/\\/g,"/"),i=T.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Lr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:T.toPortablePath(process.cwd()),env:V(v({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. -The following error was reported by 'git': -${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${de.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${de.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(de.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(de.escapeRegExp(`${i}/`),"g"),"")}function Coe(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Ar.Context:r.reportInfo(null,` ${Ae.pretty(e,n,"grey")}`);break;case Ar.Deletion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`- ${Ae.pretty(e,n,Ae.Type.REMOVED)}`);break;case Ar.Insertion:r.reportError(z.FROZEN_LOCKFILE_EXCEPTION,`+ ${Ae.pretty(e,n,Ae.Type.ADDED)}`);break;default:de.assertNever(i.type)}}var nN=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${w.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck});return{packageFs:n,releaseFs:s,prefixPath:w.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=Ld(e),a=await Md(i,o,r),l=await L.mktempPromise(),c=D.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=w.getIdentVendorPath(e),f=await gi(),h=new Qr(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await h.mkdirpPromise(g),await de.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let I=new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),y=new yt(D.resolve(we.root,g),{baseFs:I});try{await HB(KB(p),{baseFs:y,version:s})}catch(B){if(!(B instanceof Rd))throw B;let x=r.project.configuration.get("enableInlineHunks"),F=!x&&!m?" (set enableInlineHunks for details)":"",N=`${w.prettyLocator(r.project.configuration,e)}: ${B.message}${F}`,O=P=>{!x||Coe(B.hunk,{configuration:r.project.configuration,report:P})};if(I.discardAndClose(),m){r.report.reportWarningOnce(z.PATCH_HUNK_FAILED,N,{reportExtra:O});continue}else throw new _e(z.PATCH_HUNK_FAILED,N,O)}I.saveAndClose()}return new Qr(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var CWe=2,sN=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=Nd(e);return n.every(s=>!tN(s))?e:w.bindDescriptor(e,{locator:w.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=Nd(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=Nd(e),a=await Md(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Di.makeHash(`${CWe}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[eN(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=Ld(e),n=await r.resolver.resolve(i,r);return v(v({},n),e)}};var Td=class extends ye{constructor(){super(...arguments);this.save=j.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let n=D.resolve(this.context.cwd,T.toPortablePath(this.patchFolder)),s=D.join(n,"../source"),o=D.join(n,"../.yarn-patch.json");if(!L.existsSync(s))throw new me("The argument folder didn't get created by 'yarn patch'");let a=await iN(s,n),l=await L.readJsonPromise(o),c=w.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new me("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=D.join(u,w.slugifyLocator(c));await L.mkdirPromise(u,{recursive:!0}),await L.writeFilePromise(g,a);let f=D.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:w.stringifyIdent(c),description:l.version}},reference:`patch:${w.stringifyLocator(c)}#${f}`}),await r.persist()}};Td.paths=[["patch-commit"]],Td.usage=he.Usage({description:"generate a patch out of a directory",details:"\n This will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n Only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var moe=Td;var Od=class extends ye{constructor(){super(...arguments);this.json=j.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=j.String()}async execute(){let e=await le.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await Fe.find(e,this.context.cwd),n=await ft.find(e);if(!i)throw new Ze(r.cwd,this.context.cwd);await r.restoreInstallState();let s=w.parseLocator(this.package);if(s.reference==="unknown"){let o=de.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?de.mapAndFilter.skip:w.isVirtualLocator(a)?de.mapAndFilter.skip:a);if(o.length===0)throw new me("No package found in the project for the given locator");if(o.length>1)throw new me(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): -${o.map(a=>` -- ${w.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new me("No package found in the project for the given locator");await xe.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await rN(s,{cache:n,project:r});o.reportJson({locator:w.stringifyLocator(s),path:T.fromPortablePath(a)}),o.reportInfo(z.UNNAMED,`Package ${w.prettyLocator(e,s)} got extracted with success!`),o.reportInfo(z.UNNAMED,`You can now edit the following folder: ${Ae.pretty(e,T.fromPortablePath(a),"magenta")}`),o.reportInfo(z.UNNAMED,`Once you are done run ${Ae.pretty(e,`yarn patch-commit ${process.platform==="win32"?'"':""}${T.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};Od.paths=[["patch"]],Od.usage=he.Usage({description:"prepare a package for patching",details:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '});var Ioe=Od;var mWe={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:ge.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:ge.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[moe,Ioe],fetchers:[nN],resolvers:[sN]},IWe=mWe;var jy=()=>({modules:new Map([["@yarnpkg/cli",ap],["@yarnpkg/core",Th],["@yarnpkg/fslib",kg],["@yarnpkg/libzip",Of],["@yarnpkg/parsers",Jf],["@yarnpkg/shell",zf],["clipanion",a6(Jg)],["semver",EWe],["typanion",Tl],["yup",yWe],["@yarnpkg/plugin-essentials",FP],["@yarnpkg/plugin-compat",MP],["@yarnpkg/plugin-dlx",TP],["@yarnpkg/plugin-file",JP],["@yarnpkg/plugin-git",iF],["@yarnpkg/plugin-github",sF],["@yarnpkg/plugin-http",AF],["@yarnpkg/plugin-init",gF],["@yarnpkg/plugin-link",CF],["@yarnpkg/plugin-nm",GF],["@yarnpkg/plugin-npm",WR],["@yarnpkg/plugin-npm-cli",_R],["@yarnpkg/plugin-pack",jR],["@yarnpkg/plugin-patch",oN],["@yarnpkg/plugin-pnp",FF]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])});fy({binaryVersion:Er||"",pluginConfiguration:jy()});})(); -/*! - * buildToken - * Builds OAuth token prefix (helper function) - * - * @name buildToken - * @function - * @param {GitUrl} obj The parsed Git url object. - * @return {String} token prefix - */ -/*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-extglob - * - * Copyright (c) 2014-2016, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-glob - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * is-windows - * - * Copyright © 2015-2018, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ diff --git a/.yarn/releases/yarn-3.2.0.cjs b/.yarn/releases/yarn-3.2.0.cjs new file mode 100644 index 00000000000..59267757f98 --- /dev/null +++ b/.yarn/releases/yarn-3.2.0.cjs @@ -0,0 +1,785 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var afe=Object.create,Oh=Object.defineProperty,Afe=Object.defineProperties,lfe=Object.getOwnPropertyDescriptor,cfe=Object.getOwnPropertyDescriptors,ufe=Object.getOwnPropertyNames,OE=Object.getOwnPropertySymbols,gfe=Object.getPrototypeOf,lQ=Object.prototype.hasOwnProperty,iM=Object.prototype.propertyIsEnumerable;var nM=(t,e,r)=>e in t?Oh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))lQ.call(e,r)&&nM(t,r,e[r]);if(OE)for(var r of OE(e))iM.call(e,r)&&nM(t,r,e[r]);return t},te=(t,e)=>Afe(t,cfe(e)),ffe=t=>Oh(t,"__esModule",{value:!0});var Tr=(t,e)=>{var r={};for(var i in t)lQ.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&OE)for(var i of OE(t))e.indexOf(i)<0&&iM.call(t,i)&&(r[i]=t[i]);return r},hfe=(t,e)=>()=>(t&&(e=t(t=0)),e),w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ft=(t,e)=>{for(var r in e)Oh(t,r,{get:e[r],enumerable:!0})},pfe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ufe(e))!lQ.call(t,i)&&i!=="default"&&Oh(t,i,{get:()=>e[i],enumerable:!(r=lfe(e,i))||r.enumerable});return t},ge=t=>pfe(ffe(Oh(t!=null?afe(gfe(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var PM=w(($Xe,vM)=>{vM.exports=SM;SM.sync=Rfe;var kM=require("fs");function Ffe(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var i=0;i{DM.exports=RM;RM.sync=Nfe;var FM=require("fs");function RM(t,e,r){FM.stat(t,function(i,n){r(i,i?!1:NM(n,e))})}function Nfe(t,e){return NM(FM.statSync(t),e)}function NM(t,e){return t.isFile()&&Lfe(t,e)}function Lfe(t,e){var r=t.mode,i=t.uid,n=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=r&c||r&l&&n===o||r&a&&i===s||r&u&&s===0;return g}});var OM=w((rZe,TM)=>{var tZe=require("fs"),XE;process.platform==="win32"||global.TESTING_WINDOWS?XE=PM():XE=LM();TM.exports=vQ;vQ.sync=Tfe;function vQ(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){vQ(t,e||{},function(s,o){s?n(s):i(o)})})}XE(t,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),r(i,n)})}function Tfe(t,e){try{return XE.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var YM=w((iZe,MM)=>{var Ju=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",UM=require("path"),Ofe=Ju?";":":",KM=OM(),HM=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),jM=(t,e)=>{let r=e.colon||Ofe,i=t.match(/\//)||Ju&&t.match(/\\/)?[""]:[...Ju?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],n=Ju?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ju?n.split(r):[""];return Ju&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},GM=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=jM(t,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(HM(t));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=UM.join(h,t),m=!h&&/^\.[\\\/]/.test(t)?t.slice(0,2)+p:p;u(l(m,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];KM(c+p,{pathExt:s},(m,y)=>{if(!m&&y)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return r?a(0).then(c=>r(null,c),r):a(0)},Mfe=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:i,pathExtExe:n}=jM(t,e),s=[];for(let o=0;o{"use strict";var qM=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};SQ.exports=qM;SQ.exports.default=qM});var VM=w((sZe,WM)=>{"use strict";var zM=require("path"),Ufe=YM(),Kfe=JM();function _M(t,e){let r=t.options.env||process.env,i=process.cwd(),n=t.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch(a){}let o;try{o=Ufe.sync(t.command,{path:r[Kfe({env:r})],pathExt:e?zM.delimiter:void 0})}catch(a){}finally{s&&process.chdir(i)}return o&&(o=zM.resolve(n?t.options.cwd:"",o)),o}function Hfe(t){return _M(t)||_M(t,!0)}WM.exports=Hfe});var XM=w((oZe,kQ)=>{"use strict";var xQ=/([()\][%!^"`<>&|;, *?])/g;function jfe(t){return t=t.replace(xQ,"^$1"),t}function Gfe(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace(xQ,"^$1"),e&&(t=t.replace(xQ,"^$1")),t}kQ.exports.command=jfe;kQ.exports.argument=Gfe});var $M=w((aZe,ZM)=>{"use strict";ZM.exports=/^#!(.*)/});var t1=w((AZe,e1)=>{"use strict";var Yfe=$M();e1.exports=(t="")=>{let e=t.match(Yfe);if(!e)return null;let[r,i]=e[0].replace(/#! ?/,"").split(" "),n=r.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var i1=w((lZe,r1)=>{"use strict";var PQ=require("fs"),qfe=t1();function Jfe(t){let e=150,r=Buffer.alloc(e),i;try{i=PQ.openSync(t,"r"),PQ.readSync(i,r,0,e,0),PQ.closeSync(i)}catch(n){}return qfe(r.toString())}r1.exports=Jfe});var a1=w((cZe,n1)=>{"use strict";var Wfe=require("path"),s1=VM(),o1=XM(),zfe=i1(),_fe=process.platform==="win32",Vfe=/\.(?:com|exe)$/i,Xfe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Zfe(t){t.file=s1(t);let e=t.file&&zfe(t.file);return e?(t.args.unshift(t.file),t.command=e,s1(t)):t.file}function $fe(t){if(!_fe)return t;let e=Zfe(t),r=!Vfe.test(e);if(t.options.forceShell||r){let i=Xfe.test(e);t.command=Wfe.normalize(t.command),t.command=o1.command(t.command),t.args=t.args.map(s=>o1.argument(s,i));let n=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${n}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function ehe(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let i={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?i:$fe(i)}n1.exports=ehe});var c1=w((uZe,A1)=>{"use strict";var DQ=process.platform==="win32";function RQ(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function the(t,e){if(!DQ)return;let r=t.emit;t.emit=function(i,n){if(i==="exit"){let s=l1(n,e,"spawn");if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function l1(t,e){return DQ&&t===1&&!e.file?RQ(e.original,"spawn"):null}function rhe(t,e){return DQ&&t===1&&!e.file?RQ(e.original,"spawnSync"):null}A1.exports={hookChildProcess:the,verifyENOENT:l1,verifyENOENTSync:rhe,notFoundError:RQ}});var LQ=w((gZe,Wu)=>{"use strict";var u1=require("child_process"),FQ=a1(),NQ=c1();function g1(t,e,r){let i=FQ(t,e,r),n=u1.spawn(i.command,i.args,i.options);return NQ.hookChildProcess(n,i),n}function ihe(t,e,r){let i=FQ(t,e,r),n=u1.spawnSync(i.command,i.args,i.options);return n.error=n.error||NQ.verifyENOENTSync(n.status,i),n}Wu.exports=g1;Wu.exports.spawn=g1;Wu.exports.sync=ihe;Wu.exports._parse=FQ;Wu.exports._enoent=NQ});var h1=w((fZe,f1)=>{"use strict";function nhe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function nc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,nc)}nhe(nc,Error);nc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",ce=Ce(">>",!1),fe=">&",gt=Ce(">&",!1),Ht=">",Mt=Ce(">",!1),mi="<<<",jt=Ce("<<<",!1),Qr="<&",Ti=Ce("<&",!1),_s="<",Un=Ce("<",!1),Kn=function(C){return{type:"argument",segments:[].concat(...C)}},vr=function(C){return C},Hn="$'",us=Ce("$'",!1),Ia="'",SA=Ce("'",!1),Du=function(C){return[{type:"text",text:C}]},gs='""',kA=Ce('""',!1),ya=function(){return{type:"text",text:""}},Ru='"',xA=Ce('"',!1),PA=function(C){return C},Sr=function(C){return{type:"arithmetic",arithmetic:C,quoted:!0}},jl=function(C){return{type:"shell",shell:C,quoted:!0}},Fu=function(C){return te(N({type:"variable"},C),{quoted:!0})},So=function(C){return{type:"text",text:C}},Nu=function(C){return{type:"arithmetic",arithmetic:C,quoted:!1}},Qh=function(C){return{type:"shell",shell:C,quoted:!1}},vh=function(C){return te(N({type:"variable"},C),{quoted:!1})},oe=function(C){return{type:"glob",pattern:C}},Oi=/^[^']/,ko=_e(["'"],!0,!1),jn=function(C){return C.join("")},Lu=/^[^$"]/,vt=_e(["$",'"'],!0,!1),Gl=`\\ +`,Gn=Ce(`\\ +`,!1),fs=function(){return""},hs="\\",pt=Ce("\\",!1),xo=/^[\\$"`]/,lt=_e(["\\","$",'"',"`"],!1,!1),mn=function(C){return C},v="\\a",Tt=Ce("\\a",!1),Tu=function(){return"a"},Yl="\\b",Sh=Ce("\\b",!1),kh=function(){return"\b"},xh=/^[Ee]/,Ph=_e(["E","e"],!1,!1),Dh=function(){return""},G="\\f",yt=Ce("\\f",!1),DA=function(){return"\f"},$i="\\n",ql=Ce("\\n",!1),$e=function(){return` +`},wa="\\r",Ou=Ce("\\r",!1),SE=function(){return"\r"},Rh="\\t",kE=Ce("\\t",!1),gr=function(){return" "},Yn="\\v",Jl=Ce("\\v",!1),Fh=function(){return"\v"},Vs=/^[\\'"?]/,Ba=_e(["\\","'",'"',"?"],!1,!1),En=function(C){return String.fromCharCode(parseInt(C,16))},Oe="\\x",Mu=Ce("\\x",!1),Wl="\\u",Xs=Ce("\\u",!1),zl="\\U",RA=Ce("\\U",!1),Uu=function(C){return String.fromCodePoint(parseInt(C,16))},Ku=/^[0-7]/,ba=_e([["0","7"]],!1,!1),Qa=/^[0-9a-fA-f]/,it=_e([["0","9"],["a","f"],["A","f"]],!1,!1),Po=ot(),FA="-",_l=Ce("-",!1),Zs="+",Vl=Ce("+",!1),xE=".",Nh=Ce(".",!1),Hu=function(C,b,F){return{type:"number",value:(C==="-"?-1:1)*parseFloat(b.join("")+"."+F.join(""))}},Lh=function(C,b){return{type:"number",value:(C==="-"?-1:1)*parseInt(b.join(""))}},PE=function(C){return N({type:"variable"},C)},Xl=function(C){return{type:"variable",name:C}},DE=function(C){return C},ju="*",NA=Ce("*",!1),Lr="/",RE=Ce("/",!1),$s=function(C,b,F){return{type:b==="*"?"multiplication":"division",right:F}},eo=function(C,b){return b.reduce((F,H)=>N({left:F},H),C)},Gu=function(C,b,F){return{type:b==="+"?"addition":"subtraction",right:F}},LA="$((",R=Ce("$((",!1),q="))",de=Ce("))",!1),He=function(C){return C},Te="$(",Xe=Ce("$(",!1),Et=function(C){return C},Rt="${",qn=Ce("${",!1),Jb=":-",xO=Ce(":-",!1),PO=function(C,b){return{name:C,defaultValue:b}},Wb=":-}",DO=Ce(":-}",!1),RO=function(C){return{name:C,defaultValue:[]}},zb=":+",FO=Ce(":+",!1),NO=function(C,b){return{name:C,alternativeValue:b}},_b=":+}",LO=Ce(":+}",!1),TO=function(C){return{name:C,alternativeValue:[]}},Vb=function(C){return{name:C}},OO="$",MO=Ce("$",!1),UO=function(C){return e.isGlobPattern(C)},KO=function(C){return C},Xb=/^[a-zA-Z0-9_]/,Zb=_e([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),$b=function(){return O()},eQ=/^[$@*?#a-zA-Z0-9_\-]/,tQ=_e(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),HO=/^[(){}<>$|&; \t"']/,Yu=_e(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),rQ=/^[<>&; \t"']/,iQ=_e(["<",">","&",";"," "," ",'"',"'"],!1,!1),FE=/^[ \t]/,NE=_e([" "," "],!1,!1),B=0,Ke=0,TA=[{line:1,column:1}],d=0,E=[],I=0,D;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function O(){return t.substring(Ke,B)}function V(){return It(Ke,B)}function ie(C,b){throw b=b!==void 0?b:It(Ke,B),Mi([ut(C)],t.substring(Ke,B),b)}function Be(C,b){throw b=b!==void 0?b:It(Ke,B),Jn(C,b)}function Ce(C,b){return{type:"literal",text:C,ignoreCase:b}}function _e(C,b,F){return{type:"class",parts:C,inverted:b,ignoreCase:F}}function ot(){return{type:"any"}}function wt(){return{type:"end"}}function ut(C){return{type:"other",description:C}}function nt(C){var b=TA[C],F;if(b)return b;for(F=C-1;!TA[F];)F--;for(b=TA[F],b={line:b.line,column:b.column};Fd&&(d=B,E=[]),E.push(C))}function Jn(C,b){return new nc(C,null,null,b)}function Mi(C,b,F){return new nc(nc.buildMessage(C,b),C,b,F)}function OA(){var C,b;return C=B,b=Gr(),b===r&&(b=null),b!==r&&(Ke=C,b=s(b)),C=b,C}function Gr(){var C,b,F,H,ue;if(C=B,b=Yr(),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();F!==r?(H=va(),H!==r?(ue=ps(),ue===r&&(ue=null),ue!==r?(Ke=C,b=o(b,H,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;if(C===r)if(C=B,b=Yr(),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();F!==r?(H=va(),H===r&&(H=null),H!==r?(Ke=C,b=a(b,H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function ps(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=Gr(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=l(F),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function va(){var C;return t.charCodeAt(B)===59?(C=c,B++):(C=r,I===0&&ke(u)),C===r&&(t.charCodeAt(B)===38?(C=g,B++):(C=r,I===0&&ke(f))),C}function Yr(){var C,b,F;return C=B,b=jO(),b!==r?(F=Yge(),F===r&&(F=null),F!==r?(Ke=C,b=h(b,F),C=b):(B=C,C=r)):(B=C,C=r),C}function Yge(){var C,b,F,H,ue,De,Ct;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=qge(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Yr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=p(F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function qge(){var C;return t.substr(B,2)===m?(C=m,B+=2):(C=r,I===0&&ke(y)),C===r&&(t.substr(B,2)===Q?(C=Q,B+=2):(C=r,I===0&&ke(S))),C}function jO(){var C,b,F;return C=B,b=zge(),b!==r?(F=Jge(),F===r&&(F=null),F!==r?(Ke=C,b=x(b,F),C=b):(B=C,C=r)):(B=C,C=r),C}function Jge(){var C,b,F,H,ue,De,Ct;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(F=Wge(),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=jO(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=M(F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;return C}function Wge(){var C;return t.substr(B,2)===Y?(C=Y,B+=2):(C=r,I===0&&ke(U)),C===r&&(t.charCodeAt(B)===124?(C=J,B++):(C=r,I===0&&ke(W))),C}function LE(){var C,b,F,H,ue,De;if(C=B,b=eM(),b!==r)if(t.charCodeAt(B)===61?(F=ee,B++):(F=r,I===0&&ke(Z)),F!==r)if(H=qO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(Ke=C,b=A(b,H),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;else B=C,C=r;if(C===r)if(C=B,b=eM(),b!==r)if(t.charCodeAt(B)===61?(F=ee,B++):(F=r,I===0&&ke(Z)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=ne(b),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r;return C}function zge(){var C,b,F,H,ue,De,Ct,bt,Zr,Ei,ds;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(t.charCodeAt(B)===40?(F=le,B++):(F=r,I===0&&ke(Ae)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Gr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===41?(Ct=T,B++):(Ct=r,I===0&&ke(L)),Ct!==r){for(bt=[],Zr=je();Zr!==r;)bt.push(Zr),Zr=je();if(bt!==r){for(Zr=[],Ei=Th();Ei!==r;)Zr.push(Ei),Ei=Th();if(Zr!==r){for(Ei=[],ds=je();ds!==r;)Ei.push(ds),ds=je();Ei!==r?(Ke=C,b=Ee(ue,Zr),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r)if(t.charCodeAt(B)===123?(F=we,B++):(F=r,I===0&&ke(qe)),F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r)if(ue=Gr(),ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();if(De!==r)if(t.charCodeAt(B)===125?(Ct=re,B++):(Ct=r,I===0&&ke(se)),Ct!==r){for(bt=[],Zr=je();Zr!==r;)bt.push(Zr),Zr=je();if(bt!==r){for(Zr=[],Ei=Th();Ei!==r;)Zr.push(Ei),Ei=Th();if(Zr!==r){for(Ei=[],ds=je();ds!==r;)Ei.push(ds),ds=je();Ei!==r?(Ke=C,b=Qe(ue,Zr),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r}else B=C,C=r;else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){for(F=[],H=LE();H!==r;)F.push(H),H=LE();if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();if(H!==r){if(ue=[],De=YO(),De!==r)for(;De!==r;)ue.push(De),De=YO();else ue=r;if(ue!==r){for(De=[],Ct=je();Ct!==r;)De.push(Ct),Ct=je();De!==r?(Ke=C,b=he(F,ue),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}else B=C,C=r}else B=C,C=r;if(C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){if(F=[],H=LE(),H!==r)for(;H!==r;)F.push(H),H=LE();else F=r;if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=Fe(F),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r}}}return C}function GO(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r){if(F=[],H=TE(),H!==r)for(;H!==r;)F.push(H),H=TE();else F=r;if(F!==r){for(H=[],ue=je();ue!==r;)H.push(ue),ue=je();H!==r?(Ke=C,b=Ue(F),C=b):(B=C,C=r)}else B=C,C=r}else B=C,C=r;return C}function YO(){var C,b,F;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();if(b!==r?(F=Th(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r),C===r){for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();b!==r?(F=TE(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r)}return C}function Th(){var C,b,F,H,ue;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();return b!==r?(ve.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(pe)),F===r&&(F=null),F!==r?(H=_ge(),H!==r?(ue=TE(),ue!==r?(Ke=C,b=X(F,H,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function _ge(){var C;return t.substr(B,2)===be?(C=be,B+=2):(C=r,I===0&&ke(ce)),C===r&&(t.substr(B,2)===fe?(C=fe,B+=2):(C=r,I===0&&ke(gt)),C===r&&(t.charCodeAt(B)===62?(C=Ht,B++):(C=r,I===0&&ke(Mt)),C===r&&(t.substr(B,3)===mi?(C=mi,B+=3):(C=r,I===0&&ke(jt)),C===r&&(t.substr(B,2)===Qr?(C=Qr,B+=2):(C=r,I===0&&ke(Ti)),C===r&&(t.charCodeAt(B)===60?(C=_s,B++):(C=r,I===0&&ke(Un))))))),C}function TE(){var C,b,F;for(C=B,b=[],F=je();F!==r;)b.push(F),F=je();return b!==r?(F=qO(),F!==r?(Ke=C,b=xe(F),C=b):(B=C,C=r)):(B=C,C=r),C}function qO(){var C,b,F;if(C=B,b=[],F=JO(),F!==r)for(;F!==r;)b.push(F),F=JO();else b=r;return b!==r&&(Ke=C,b=Kn(b)),C=b,C}function JO(){var C,b;return C=B,b=Vge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=Xge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=Zge(),b!==r&&(Ke=C,b=vr(b)),C=b,C===r&&(C=B,b=$ge(),b!==r&&(Ke=C,b=vr(b)),C=b))),C}function Vge(){var C,b,F,H;return C=B,t.substr(B,2)===Hn?(b=Hn,B+=2):(b=r,I===0&&ke(us)),b!==r?(F=rfe(),F!==r?(t.charCodeAt(B)===39?(H=Ia,B++):(H=r,I===0&&ke(SA)),H!==r?(Ke=C,b=Du(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Xge(){var C,b,F,H;return C=B,t.charCodeAt(B)===39?(b=Ia,B++):(b=r,I===0&&ke(SA)),b!==r?(F=efe(),F!==r?(t.charCodeAt(B)===39?(H=Ia,B++):(H=r,I===0&&ke(SA)),H!==r?(Ke=C,b=Du(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function Zge(){var C,b,F,H;if(C=B,t.substr(B,2)===gs?(b=gs,B+=2):(b=r,I===0&&ke(kA)),b!==r&&(Ke=C,b=ya()),C=b,C===r)if(C=B,t.charCodeAt(B)===34?(b=Ru,B++):(b=r,I===0&&ke(xA)),b!==r){for(F=[],H=WO();H!==r;)F.push(H),H=WO();F!==r?(t.charCodeAt(B)===34?(H=Ru,B++):(H=r,I===0&&ke(xA)),H!==r?(Ke=C,b=PA(F),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;return C}function $ge(){var C,b,F;if(C=B,b=[],F=zO(),F!==r)for(;F!==r;)b.push(F),F=zO();else b=r;return b!==r&&(Ke=C,b=PA(b)),C=b,C}function WO(){var C,b;return C=B,b=ZO(),b!==r&&(Ke=C,b=Sr(b)),C=b,C===r&&(C=B,b=$O(),b!==r&&(Ke=C,b=jl(b)),C=b,C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=Fu(b)),C=b,C===r&&(C=B,b=tfe(),b!==r&&(Ke=C,b=So(b)),C=b))),C}function zO(){var C,b;return C=B,b=ZO(),b!==r&&(Ke=C,b=Nu(b)),C=b,C===r&&(C=B,b=$O(),b!==r&&(Ke=C,b=Qh(b)),C=b,C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=vh(b)),C=b,C===r&&(C=B,b=sfe(),b!==r&&(Ke=C,b=oe(b)),C=b,C===r&&(C=B,b=nfe(),b!==r&&(Ke=C,b=So(b)),C=b)))),C}function efe(){var C,b,F;for(C=B,b=[],Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));F!==r;)b.push(F),Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko));return b!==r&&(Ke=C,b=jn(b)),C=b,C}function tfe(){var C,b,F;if(C=B,b=[],F=_O(),F===r&&(Lu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt))),F!==r)for(;F!==r;)b.push(F),F=_O(),F===r&&(Lu.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(vt)));else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function _O(){var C,b,F;return C=B,t.substr(B,2)===Gl?(b=Gl,B+=2):(b=r,I===0&&ke(Gn)),b!==r&&(Ke=C,b=fs()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(xo.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(lt)),F!==r?(Ke=C,b=mn(F),C=b):(B=C,C=r)):(B=C,C=r)),C}function rfe(){var C,b,F;for(C=B,b=[],F=VO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));F!==r;)b.push(F),F=VO(),F===r&&(Oi.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(ko)));return b!==r&&(Ke=C,b=jn(b)),C=b,C}function VO(){var C,b,F;return C=B,t.substr(B,2)===v?(b=v,B+=2):(b=r,I===0&&ke(Tt)),b!==r&&(Ke=C,b=Tu()),C=b,C===r&&(C=B,t.substr(B,2)===Yl?(b=Yl,B+=2):(b=r,I===0&&ke(Sh)),b!==r&&(Ke=C,b=kh()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(xh.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Ph)),F!==r?(Ke=C,b=Dh(),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===G?(b=G,B+=2):(b=r,I===0&&ke(yt)),b!==r&&(Ke=C,b=DA()),C=b,C===r&&(C=B,t.substr(B,2)===$i?(b=$i,B+=2):(b=r,I===0&&ke(ql)),b!==r&&(Ke=C,b=$e()),C=b,C===r&&(C=B,t.substr(B,2)===wa?(b=wa,B+=2):(b=r,I===0&&ke(Ou)),b!==r&&(Ke=C,b=SE()),C=b,C===r&&(C=B,t.substr(B,2)===Rh?(b=Rh,B+=2):(b=r,I===0&&ke(kE)),b!==r&&(Ke=C,b=gr()),C=b,C===r&&(C=B,t.substr(B,2)===Yn?(b=Yn,B+=2):(b=r,I===0&&ke(Jl)),b!==r&&(Ke=C,b=Fh()),C=b,C===r&&(C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(Vs.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Ba)),F!==r?(Ke=C,b=mn(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=ife()))))))))),C}function ife(){var C,b,F,H,ue,De,Ct,bt,Zr,Ei,ds,AQ;return C=B,t.charCodeAt(B)===92?(b=hs,B++):(b=r,I===0&&ke(pt)),b!==r?(F=nQ(),F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Oe?(b=Oe,B+=2):(b=r,I===0&&ke(Mu)),b!==r?(F=B,H=B,ue=nQ(),ue!==r?(De=Wn(),De!==r?(ue=[ue,De],H=ue):(B=H,H=r)):(B=H,H=r),H===r&&(H=nQ()),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Wl?(b=Wl,B+=2):(b=r,I===0&&ke(Xs)),b!==r?(F=B,H=B,ue=Wn(),ue!==r?(De=Wn(),De!==r?(Ct=Wn(),Ct!==r?(bt=Wn(),bt!==r?(ue=[ue,De,Ct,bt],H=ue):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=En(F),C=b):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===zl?(b=zl,B+=2):(b=r,I===0&&ke(RA)),b!==r?(F=B,H=B,ue=Wn(),ue!==r?(De=Wn(),De!==r?(Ct=Wn(),Ct!==r?(bt=Wn(),bt!==r?(Zr=Wn(),Zr!==r?(Ei=Wn(),Ei!==r?(ds=Wn(),ds!==r?(AQ=Wn(),AQ!==r?(ue=[ue,De,Ct,bt,Zr,Ei,ds,AQ],H=ue):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r)):(B=H,H=r),H!==r?F=t.substring(F,B):F=H,F!==r?(Ke=C,b=Uu(F),C=b):(B=C,C=r)):(B=C,C=r)))),C}function nQ(){var C;return Ku.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(ba)),C}function Wn(){var C;return Qa.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(it)),C}function nfe(){var C,b,F,H,ue;if(C=B,b=[],F=B,t.charCodeAt(B)===92?(H=hs,B++):(H=r,I===0&&ke(pt)),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,H=B,I++,ue=tM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r)),F!==r)for(;F!==r;)b.push(F),F=B,t.charCodeAt(B)===92?(H=hs,B++):(H=r,I===0&&ke(pt)),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F===r&&(F=B,H=B,I++,ue=tM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r));else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function sQ(){var C,b,F,H,ue,De;if(C=B,t.charCodeAt(B)===45?(b=FA,B++):(b=r,I===0&&ke(_l)),b===r&&(t.charCodeAt(B)===43?(b=Zs,B++):(b=r,I===0&&ke(Vl))),b===r&&(b=null),b!==r){if(F=[],ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe)),H!==r)for(;H!==r;)F.push(H),ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe));else F=r;if(F!==r)if(t.charCodeAt(B)===46?(H=xE,B++):(H=r,I===0&&ke(Nh)),H!==r){if(ue=[],ve.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(pe)),De!==r)for(;De!==r;)ue.push(De),ve.test(t.charAt(B))?(De=t.charAt(B),B++):(De=r,I===0&&ke(pe));else ue=r;ue!==r?(Ke=C,b=Hu(b,F,ue),C=b):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;if(C===r){if(C=B,t.charCodeAt(B)===45?(b=FA,B++):(b=r,I===0&&ke(_l)),b===r&&(t.charCodeAt(B)===43?(b=Zs,B++):(b=r,I===0&&ke(Vl))),b===r&&(b=null),b!==r){if(F=[],ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe)),H!==r)for(;H!==r;)F.push(H),ve.test(t.charAt(B))?(H=t.charAt(B),B++):(H=r,I===0&&ke(pe));else F=r;F!==r?(Ke=C,b=Lh(b,F),C=b):(B=C,C=r)}else B=C,C=r;if(C===r&&(C=B,b=aQ(),b!==r&&(Ke=C,b=PE(b)),C=b,C===r&&(C=B,b=Zl(),b!==r&&(Ke=C,b=Xl(b)),C=b,C===r)))if(C=B,t.charCodeAt(B)===40?(b=le,B++):(b=r,I===0&&ke(Ae)),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();if(F!==r)if(H=XO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.charCodeAt(B)===41?(De=T,B++):(De=r,I===0&&ke(L)),De!==r?(Ke=C,b=DE(H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r}return C}function oQ(){var C,b,F,H,ue,De,Ct,bt;if(C=B,b=sQ(),b!==r){for(F=[],H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(NA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(RE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=sQ(),bt!==r?(Ke=H,ue=$s(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r;for(;H!==r;){for(F.push(H),H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===42?(De=ju,B++):(De=r,I===0&&ke(NA)),De===r&&(t.charCodeAt(B)===47?(De=Lr,B++):(De=r,I===0&&ke(RE))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=sQ(),bt!==r?(Ke=H,ue=$s(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r}F!==r?(Ke=C,b=eo(b,F),C=b):(B=C,C=r)}else B=C,C=r;return C}function XO(){var C,b,F,H,ue,De,Ct,bt;if(C=B,b=oQ(),b!==r){for(F=[],H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=Zs,B++):(De=r,I===0&&ke(Vl)),De===r&&(t.charCodeAt(B)===45?(De=FA,B++):(De=r,I===0&&ke(_l))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=oQ(),bt!==r?(Ke=H,ue=Gu(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r;for(;H!==r;){for(F.push(H),H=B,ue=[],De=je();De!==r;)ue.push(De),De=je();if(ue!==r)if(t.charCodeAt(B)===43?(De=Zs,B++):(De=r,I===0&&ke(Vl)),De===r&&(t.charCodeAt(B)===45?(De=FA,B++):(De=r,I===0&&ke(_l))),De!==r){for(Ct=[],bt=je();bt!==r;)Ct.push(bt),bt=je();Ct!==r?(bt=oQ(),bt!==r?(Ke=H,ue=Gu(b,De,bt),H=ue):(B=H,H=r)):(B=H,H=r)}else B=H,H=r;else B=H,H=r}F!==r?(Ke=C,b=eo(b,F),C=b):(B=C,C=r)}else B=C,C=r;return C}function ZO(){var C,b,F,H,ue,De;if(C=B,t.substr(B,3)===LA?(b=LA,B+=3):(b=r,I===0&&ke(R)),b!==r){for(F=[],H=je();H!==r;)F.push(H),H=je();if(F!==r)if(H=XO(),H!==r){for(ue=[],De=je();De!==r;)ue.push(De),De=je();ue!==r?(t.substr(B,2)===q?(De=q,B+=2):(De=r,I===0&&ke(de)),De!==r?(Ke=C,b=He(H),C=b):(B=C,C=r)):(B=C,C=r)}else B=C,C=r;else B=C,C=r}else B=C,C=r;return C}function $O(){var C,b,F,H;return C=B,t.substr(B,2)===Te?(b=Te,B+=2):(b=r,I===0&&ke(Xe)),b!==r?(F=Gr(),F!==r?(t.charCodeAt(B)===41?(H=T,B++):(H=r,I===0&&ke(L)),H!==r?(Ke=C,b=Et(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C}function aQ(){var C,b,F,H,ue,De;return C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,2)===Jb?(H=Jb,B+=2):(H=r,I===0&&ke(xO)),H!==r?(ue=GO(),ue!==r?(t.charCodeAt(B)===125?(De=re,B++):(De=r,I===0&&ke(se)),De!==r?(Ke=C,b=PO(F,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,3)===Wb?(H=Wb,B+=3):(H=r,I===0&&ke(DO)),H!==r?(Ke=C,b=RO(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,2)===zb?(H=zb,B+=2):(H=r,I===0&&ke(FO)),H!==r?(ue=GO(),ue!==r?(t.charCodeAt(B)===125?(De=re,B++):(De=r,I===0&&ke(se)),De!==r?(Ke=C,b=NO(F,ue),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.substr(B,3)===_b?(H=_b,B+=3):(H=r,I===0&&ke(LO)),H!==r?(Ke=C,b=TO(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.substr(B,2)===Rt?(b=Rt,B+=2):(b=r,I===0&&ke(qn)),b!==r?(F=Zl(),F!==r?(t.charCodeAt(B)===125?(H=re,B++):(H=r,I===0&&ke(se)),H!==r?(Ke=C,b=Vb(F),C=b):(B=C,C=r)):(B=C,C=r)):(B=C,C=r),C===r&&(C=B,t.charCodeAt(B)===36?(b=OO,B++):(b=r,I===0&&ke(MO)),b!==r?(F=Zl(),F!==r?(Ke=C,b=Vb(F),C=b):(B=C,C=r)):(B=C,C=r)))))),C}function sfe(){var C,b,F;return C=B,b=ofe(),b!==r?(Ke=B,F=UO(b),F?F=void 0:F=r,F!==r?(Ke=C,b=KO(b),C=b):(B=C,C=r)):(B=C,C=r),C}function ofe(){var C,b,F,H,ue;if(C=B,b=[],F=B,H=B,I++,ue=rM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r),F!==r)for(;F!==r;)b.push(F),F=B,H=B,I++,ue=rM(),I--,ue===r?H=void 0:(B=H,H=r),H!==r?(t.length>B?(ue=t.charAt(B),B++):(ue=r,I===0&&ke(Po)),ue!==r?(Ke=F,H=mn(ue),F=H):(B=F,F=r)):(B=F,F=r);else b=r;return b!==r&&(Ke=C,b=jn(b)),C=b,C}function eM(){var C,b,F;if(C=B,b=[],Xb.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Zb)),F!==r)for(;F!==r;)b.push(F),Xb.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(Zb));else b=r;return b!==r&&(Ke=C,b=$b()),C=b,C}function Zl(){var C,b,F;if(C=B,b=[],eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ)),F!==r)for(;F!==r;)b.push(F),eQ.test(t.charAt(B))?(F=t.charAt(B),B++):(F=r,I===0&&ke(tQ));else b=r;return b!==r&&(Ke=C,b=$b()),C=b,C}function tM(){var C;return HO.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(Yu)),C}function rM(){var C;return rQ.test(t.charAt(B))?(C=t.charAt(B),B++):(C=r,I===0&&ke(iQ)),C}function je(){var C,b;if(C=[],FE.test(t.charAt(B))?(b=t.charAt(B),B++):(b=r,I===0&&ke(NE)),b!==r)for(;b!==r;)C.push(b),FE.test(t.charAt(B))?(b=t.charAt(B),B++):(b=r,I===0&&ke(NE));else C=r;return C}if(D=n(),D!==r&&B===t.length)return D;throw D!==r&&B{"use strict";function ohe(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function oc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,oc)}ohe(oc,Error);oc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gY&&(Y=S,U=[]),U.push(pe))}function se(pe,X){return new oc(pe,null,null,X)}function Qe(pe,X,be){return new oc(oc.buildMessage(pe,X),pe,X,be)}function he(){var pe,X,be,ce;return pe=S,X=Fe(),X!==r?(t.charCodeAt(S)===47?(be=s,S++):(be=r,J===0&&re(o)),be!==r?(ce=Fe(),ce!==r?(x=pe,X=a(X,ce),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=Fe(),X!==r&&(x=pe,X=l(X)),pe=X),pe}function Fe(){var pe,X,be,ce;return pe=S,X=Ue(),X!==r?(t.charCodeAt(S)===64?(be=c,S++):(be=r,J===0&&re(u)),be!==r?(ce=ve(),ce!==r?(x=pe,X=g(X,ce),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=Ue(),X!==r&&(x=pe,X=f(X)),pe=X),pe}function Ue(){var pe,X,be,ce,fe;return pe=S,t.charCodeAt(S)===64?(X=c,S++):(X=r,J===0&&re(u)),X!==r?(be=xe(),be!==r?(t.charCodeAt(S)===47?(ce=s,S++):(ce=r,J===0&&re(o)),ce!==r?(fe=xe(),fe!==r?(x=pe,X=h(),pe=X):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r)):(S=pe,pe=r),pe===r&&(pe=S,X=xe(),X!==r&&(x=pe,X=h()),pe=X),pe}function xe(){var pe,X,be;if(pe=S,X=[],p.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(m)),be!==r)for(;be!==r;)X.push(be),p.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(m));else X=r;return X!==r&&(x=pe,X=h()),pe=X,pe}function ve(){var pe,X,be;if(pe=S,X=[],y.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(Q)),be!==r)for(;be!==r;)X.push(be),y.test(t.charAt(S))?(be=t.charAt(S),S++):(be=r,J===0&&re(Q));else X=r;return X!==r&&(x=pe,X=h()),pe=X,pe}if(W=n(),W!==r&&S===t.length)return W;throw W!==r&&S{"use strict";function E1(t){return typeof t=="undefined"||t===null}function Ahe(t){return typeof t=="object"&&t!==null}function lhe(t){return Array.isArray(t)?t:E1(t)?[]:[t]}function che(t,e){var r,i,n,s;if(e)for(s=Object.keys(e),r=0,i=s.length;r{"use strict";function ep(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ep.prototype=Object.create(Error.prototype);ep.prototype.constructor=ep;ep.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};I1.exports=ep});var B1=w((DZe,y1)=>{"use strict";var w1=Ac();function HQ(t,e,r,i,n){this.name=t,this.buffer=e,this.position=r,this.line=i,this.column=n}HQ.prototype.getSnippet=function(e,r){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,r=r||75,i="",n=this.position;n>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>r/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;or/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),w1.repeat(" ",e)+i+a+s+` +`+w1.repeat(" ",e+this.position-n+i.length)+"^"};HQ.prototype.toString=function(e){var r,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(i+=`: +`+r)),i};y1.exports=HQ});var li=w((RZe,b1)=>{"use strict";var Q1=Vu(),fhe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],hhe=["scalar","sequence","mapping"];function phe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(i){e[String(i)]=r})}),e}function dhe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(fhe.indexOf(r)===-1)throw new Q1('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=phe(e.styleAliases||null),hhe.indexOf(this.kind)===-1)throw new Q1('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}b1.exports=dhe});var lc=w((FZe,v1)=>{"use strict";var S1=Ac(),nI=Vu(),Che=li();function jQ(t,e,r){var i=[];return t.include.forEach(function(n){r=jQ(n,e,r)}),t[e].forEach(function(n){r.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),r.push(n)}),r.filter(function(n,s){return i.indexOf(s)===-1})}function mhe(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function i(n){t[n.kind][n.tag]=t.fallback[n.tag]=n}for(e=0,r=arguments.length;e{"use strict";var Ehe=li();k1.exports=new Ehe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var D1=w((LZe,P1)=>{"use strict";var Ihe=li();P1.exports=new Ihe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var F1=w((TZe,R1)=>{"use strict";var yhe=li();R1.exports=new yhe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var sI=w((OZe,N1)=>{"use strict";var whe=lc();N1.exports=new whe({explicit:[x1(),D1(),F1()]})});var T1=w((MZe,L1)=>{"use strict";var Bhe=li();function bhe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function Qhe(){return null}function vhe(t){return t===null}L1.exports=new Bhe("tag:yaml.org,2002:null",{kind:"scalar",resolve:bhe,construct:Qhe,predicate:vhe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var M1=w((UZe,O1)=>{"use strict";var She=li();function khe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function xhe(t){return t==="true"||t==="True"||t==="TRUE"}function Phe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}O1.exports=new She("tag:yaml.org,2002:bool",{kind:"scalar",resolve:khe,construct:xhe,predicate:Phe,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var K1=w((KZe,U1)=>{"use strict";var Dhe=Ac(),Rhe=li();function Fhe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Nhe(t){return 48<=t&&t<=55}function Lhe(t){return 48<=t&&t<=57}function The(t){if(t===null)return!1;var e=t.length,r=0,i=!1,n;if(!e)return!1;if(n=t[r],(n==="-"||n==="+")&&(n=t[++r]),n==="0"){if(r+1===e)return!0;if(n=t[++r],n==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var G1=w((HZe,H1)=>{"use strict";var j1=Ac(),Uhe=li(),Khe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Hhe(t){return!(t===null||!Khe.test(t)||t[t.length-1]==="_")}function jhe(t){var e,r,i,n;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),r*e):r*parseFloat(e,10)}var Ghe=/^[-+]?[0-9]+e/;function Yhe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(j1.isNegativeZero(t))return"-0.0";return r=t.toString(10),Ghe.test(r)?r.replace("e",".e"):r}function qhe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!=0||j1.isNegativeZero(t))}H1.exports=new Uhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Hhe,construct:jhe,predicate:qhe,represent:Yhe,defaultStyle:"lowercase"})});var GQ=w((jZe,Y1)=>{"use strict";var Jhe=lc();Y1.exports=new Jhe({include:[sI()],implicit:[T1(),M1(),K1(),G1()]})});var YQ=w((GZe,q1)=>{"use strict";var Whe=lc();q1.exports=new Whe({include:[GQ()]})});var _1=w((YZe,J1)=>{"use strict";var zhe=li(),W1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),z1=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function _he(t){return t===null?!1:W1.exec(t)!==null||z1.exec(t)!==null}function Vhe(t){var e,r,i,n,s,o,a,l=0,c=null,u,g,f;if(e=W1.exec(t),e===null&&(e=z1.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(r,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function Xhe(t){return t.toISOString()}J1.exports=new zhe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:_he,construct:Vhe,instanceOf:Date,represent:Xhe})});var X1=w((qZe,V1)=>{"use strict";var Zhe=li();function $he(t){return t==="<<"||t===null}V1.exports=new Zhe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:$he})});var eU=w((JZe,Z1)=>{"use strict";var cc;try{$1=require,cc=$1("buffer").Buffer}catch(t){}var $1,epe=li(),qQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function tpe(t){if(t===null)return!1;var e,r,i=0,n=t.length,s=qQ;for(r=0;r64)){if(e<0)return!1;i+=6}return i%8==0}function rpe(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=qQ,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return r=n%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),cc?cc.from?cc.from(a):new cc(a):a}function ipe(t){var e="",r=0,i,n,s=t.length,o=qQ;for(i=0;i>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[i];return n=s%3,n===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):n===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):n===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function npe(t){return cc&&cc.isBuffer(t)}Z1.exports=new epe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:tpe,construct:rpe,predicate:npe,represent:ipe})});var rU=w((WZe,tU)=>{"use strict";var spe=li(),ope=Object.prototype.hasOwnProperty,ape=Object.prototype.toString;function Ape(t){if(t===null)return!0;var e=[],r,i,n,s,o,a=t;for(r=0,i=a.length;r{"use strict";var cpe=li(),upe=Object.prototype.toString;function gpe(t){if(t===null)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e{"use strict";var hpe=li(),ppe=Object.prototype.hasOwnProperty;function dpe(t){if(t===null)return!0;var e,r=t;for(e in r)if(ppe.call(r,e)&&r[e]!==null)return!1;return!0}function Cpe(t){return t!==null?t:{}}sU.exports=new hpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:dpe,construct:Cpe})});var Zu=w((VZe,aU)=>{"use strict";var mpe=lc();aU.exports=new mpe({include:[YQ()],implicit:[_1(),X1()],explicit:[eU(),rU(),nU(),oU()]})});var lU=w((XZe,AU)=>{"use strict";var Epe=li();function Ipe(){return!0}function ype(){}function wpe(){return""}function Bpe(t){return typeof t=="undefined"}AU.exports=new Epe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ipe,construct:ype,predicate:Bpe,represent:wpe})});var uU=w((ZZe,cU)=>{"use strict";var bpe=li();function Qpe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),i="";return!(e[0]==="/"&&(r&&(i=r[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function vpe(t){var e=t,r=/\/([gim]*)$/.exec(t),i="";return e[0]==="/"&&(r&&(i=r[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Spe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function kpe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}cU.exports=new bpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Qpe,construct:vpe,predicate:kpe,represent:Spe})});var hU=w(($Ze,gU)=>{"use strict";var oI;try{fU=require,oI=fU("esprima")}catch(t){typeof window!="undefined"&&(oI=window.esprima)}var fU,xpe=li();function Ppe(t){if(t===null)return!1;try{var e="("+t+")",r=oI.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch(i){return!1}}function Dpe(t){var e="("+t+")",r=oI.parse(e,{range:!0}),i=[],n;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Rpe(t){return t.toString()}function Fpe(t){return Object.prototype.toString.call(t)==="[object Function]"}gU.exports=new xpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Ppe,construct:Dpe,predicate:Fpe,represent:Rpe})});var tp=w((e$e,pU)=>{"use strict";var dU=lc();pU.exports=dU.DEFAULT=new dU({include:[Zu()],explicit:[lU(),uU(),hU()]})});var LU=w((t$e,rp)=>{"use strict";var Fa=Ac(),CU=Vu(),Npe=B1(),mU=Zu(),Lpe=tp(),HA=Object.prototype.hasOwnProperty,aI=1,EU=2,IU=3,AI=4,JQ=1,Tpe=2,yU=3,Ope=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Mpe=/[\x85\u2028\u2029]/,Upe=/[,\[\]\{\}]/,wU=/^(?:!|!!|![a-z\-]+!)$/i,BU=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function bU(t){return Object.prototype.toString.call(t)}function Ro(t){return t===10||t===13}function uc(t){return t===9||t===32}function yn(t){return t===9||t===32||t===10||t===13}function $u(t){return t===44||t===91||t===93||t===123||t===125}function Kpe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function Hpe(t){return t===120?2:t===117?4:t===85?8:0}function jpe(t){return 48<=t&&t<=57?t-48:-1}function QU(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function Gpe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var vU=new Array(256),SU=new Array(256);for(var eg=0;eg<256;eg++)vU[eg]=QU(eg)?1:0,SU[eg]=QU(eg);function Ype(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Lpe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function kU(t,e){return new CU(e,new Npe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function dt(t,e){throw kU(t,e)}function lI(t,e){t.onWarning&&t.onWarning.call(null,kU(t,e))}var xU={YAML:function(e,r,i){var n,s,o;e.version!==null&&dt(e,"duplication of %YAML directive"),i.length!==1&&dt(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&&dt(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&&dt(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&lI(e,"unsupported YAML version of the document")},TAG:function(e,r,i){var n,s;i.length!==2&&dt(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],wU.test(n)||dt(e,"ill-formed tag handle (first argument) of the TAG directive"),HA.call(e.tagMap,n)&&dt(e,'there is a previously declared suffix for "'+n+'" tag handle'),BU.test(s)||dt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function jA(t,e,r,i){var n,s,o,a;if(e1&&(t.result+=Fa.repeat(` +`,e-1))}function qpe(t,e,r){var i,n,s,o,a,l,c,u,g=t.kind,f=t.result,h;if(h=t.input.charCodeAt(t.position),yn(h)||$u(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=t.input.charCodeAt(t.position+1),yn(n)||r&&$u(n)))return!1;for(t.kind="scalar",t.result="",s=o=t.position,a=!1;h!==0;){if(h===58){if(n=t.input.charCodeAt(t.position+1),yn(n)||r&&$u(n))break}else if(h===35){if(i=t.input.charCodeAt(t.position-1),yn(i))break}else{if(t.position===t.lineStart&&cI(t)||r&&$u(h))break;if(Ro(h))if(l=t.line,c=t.lineStart,u=t.lineIndent,$r(t,!1,-1),t.lineIndent>=e){a=!0,h=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=l,t.lineStart=c,t.lineIndent=u;break}}a&&(jA(t,s,o,!1),zQ(t,t.line-l),s=o=t.position,a=!1),uc(h)||(o=t.position+1),h=t.input.charCodeAt(++t.position)}return jA(t,s,o,!1),t.result?!0:(t.kind=g,t.result=f,!1)}function Jpe(t,e){var r,i,n;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(jA(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)i=t.position,t.position++,n=t.position;else return!0;else Ro(r)?(jA(t,i,n,!0),zQ(t,$r(t,!1,e)),i=n=t.position):t.position===t.lineStart&&cI(t)?dt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);dt(t,"unexpected end of the stream within a single quoted scalar")}function Wpe(t,e){var r,i,n,s,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return jA(t,r,t.position,!0),t.position++,!0;if(a===92){if(jA(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),Ro(a))$r(t,!1,e);else if(a<256&&vU[a])t.result+=SU[a],t.position++;else if((o=Hpe(a))>0){for(n=o,s=0;n>0;n--)a=t.input.charCodeAt(++t.position),(o=Kpe(a))>=0?s=(s<<4)+o:dt(t,"expected hexadecimal character");t.result+=Gpe(s),t.position++}else dt(t,"unknown escape sequence");r=i=t.position}else Ro(a)?(jA(t,r,i,!0),zQ(t,$r(t,!1,e)),r=i=t.position):t.position===t.lineStart&&cI(t)?dt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}dt(t,"unexpected end of the stream within a double quoted scalar")}function zpe(t,e){var r=!0,i,n=t.tag,s,o=t.anchor,a,l,c,u,g,f={},h,p,m,y;if(y=t.input.charCodeAt(t.position),y===91)l=93,g=!1,s=[];else if(y===123)l=125,g=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),y=t.input.charCodeAt(++t.position);y!==0;){if($r(t,!0,e),y=t.input.charCodeAt(t.position),y===l)return t.position++,t.tag=n,t.anchor=o,t.kind=g?"mapping":"sequence",t.result=s,!0;r||dt(t,"missed comma between flow collection entries"),p=h=m=null,c=u=!1,y===63&&(a=t.input.charCodeAt(t.position+1),yn(a)&&(c=u=!0,t.position++,$r(t,!0,e))),i=t.line,rg(t,e,aI,!1,!0),p=t.tag,h=t.result,$r(t,!0,e),y=t.input.charCodeAt(t.position),(u||t.line===i)&&y===58&&(c=!0,y=t.input.charCodeAt(++t.position),$r(t,!0,e),rg(t,e,aI,!1,!0),m=t.result),g?tg(t,s,f,p,h,m):c?s.push(tg(t,null,f,p,h,m)):s.push(h),$r(t,!0,e),y=t.input.charCodeAt(t.position),y===44?(r=!0,y=t.input.charCodeAt(++t.position)):r=!1}dt(t,"unexpected end of the stream within a flow collection")}function _pe(t,e){var r,i,n=JQ,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=t.input.charCodeAt(t.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(t.kind="scalar",t.result="";g!==0;)if(g=t.input.charCodeAt(++t.position),g===43||g===45)JQ===n?n=g===43?yU:Tpe:dt(t,"repeat of a chomping mode identifier");else if((u=jpe(g))>=0)u===0?dt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?dt(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(uc(g)){do g=t.input.charCodeAt(++t.position);while(uc(g));if(g===35)do g=t.input.charCodeAt(++t.position);while(!Ro(g)&&g!==0)}for(;g!==0;){for(WQ(t),t.lineIndent=0,g=t.input.charCodeAt(t.position);(!o||t.lineIndenta&&(a=t.lineIndent),Ro(g)){l++;continue}if(t.lineIndente)&&l!==0)dt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(rg(t,e,AI,!0,n)&&(p?f=t.result:h=t.result),p||(tg(t,c,u,g,f,h,s,o),g=f=h=null),$r(t,!0,-1),y=t.input.charCodeAt(t.position)),t.lineIndent>e&&y!==0)dt(t,"bad indentation of a mapping entry");else if(t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndente?l=1:t.lineIndent===e?l=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),g=0,f=t.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+t.kind+'"'),h.resolve(t.result)?(t.result=h.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):dt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):dt(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||u}function ede(t){var e=t.position,r,i,n,s=!1,o;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(o=t.input.charCodeAt(t.position))!==0&&($r(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||o!==37));){for(s=!0,o=t.input.charCodeAt(++t.position),r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);for(i=t.input.slice(r,t.position),n=[],i.length<1&&dt(t,"directive name must not be less than one character in length");o!==0;){for(;uc(o);)o=t.input.charCodeAt(++t.position);if(o===35){do o=t.input.charCodeAt(++t.position);while(o!==0&&!Ro(o));break}if(Ro(o))break;for(r=t.position;o!==0&&!yn(o);)o=t.input.charCodeAt(++t.position);n.push(t.input.slice(r,t.position))}o!==0&&WQ(t),HA.call(xU,i)?xU[i](t,i,n):lI(t,'unknown document directive "'+i+'"')}if($r(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,$r(t,!0,-1)):s&&dt(t,"directives end mark is expected"),rg(t,t.lineIndent-1,AI,!1,!0),$r(t,!0,-1),t.checkLineBreaks&&Mpe.test(t.input.slice(e,t.position))&&lI(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&cI(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,$r(t,!0,-1));return}if(t.position{"use strict";var ip=Ac(),np=Vu(),ide=tp(),nde=Zu(),TU=Object.prototype.toString,OU=Object.prototype.hasOwnProperty,sde=9,sp=10,ode=13,ade=32,Ade=33,lde=34,MU=35,cde=37,ude=38,gde=39,fde=42,UU=44,hde=45,KU=58,pde=61,dde=62,Cde=63,mde=64,HU=91,jU=93,Ede=96,GU=123,Ide=124,YU=125,Ui={};Ui[0]="\\0";Ui[7]="\\a";Ui[8]="\\b";Ui[9]="\\t";Ui[10]="\\n";Ui[11]="\\v";Ui[12]="\\f";Ui[13]="\\r";Ui[27]="\\e";Ui[34]='\\"';Ui[92]="\\\\";Ui[133]="\\N";Ui[160]="\\_";Ui[8232]="\\L";Ui[8233]="\\P";var yde=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function wde(t,e){var r,i,n,s,o,a,l;if(e===null)return{};for(r={},i=Object.keys(e),n=0,s=i.length;n0?t.charCodeAt(s-1):null,f=f&&WU(o,a)}else{for(s=0;si&&t[g+1]!==" ",g=s);else if(!ig(o))return uI;a=s>0?t.charCodeAt(s-1):null,f=f&&WU(o,a)}c=c||u&&s-g-1>i&&t[g+1]!==" "}return!l&&!c?f&&!n(t)?_U:VU:r>9&&zU(t)?uI:c?ZU:XU}function Pde(t,e,r,i){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&yde.indexOf(e)!==-1)return"'"+e+"'";var n=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),o=i||t.flowLevel>-1&&r>=t.flowLevel;function a(l){return bde(t,l)}switch(Sde(e,o,t.indent,s,a)){case _U:return e;case VU:return"'"+e.replace(/'/g,"''")+"'";case XU:return"|"+$U(e,t.indent)+eK(JU(e,n));case ZU:return">"+$U(e,t.indent)+eK(JU(kde(e,s),n));case uI:return'"'+xde(e,s)+'"';default:throw new np("impossible error: invalid scalar style")}}()}function $U(t,e){var r=zU(t)?String(e):"",i=t[t.length-1]===` +`,n=i&&(t[t.length-2]===` +`||t===` +`),s=n?"+":i?"":"-";return r+s+` +`}function eK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function kde(t,e){for(var r=/(\n+)([^\n]*)/g,i=function(){var c=t.indexOf(` +`);return c=c!==-1?c:t.length,r.lastIndex=c,tK(t.slice(0,c),e)}(),n=t[0]===` +`||t[0]===" ",s,o;o=r.exec(t);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` +`:"")+tK(l,e),n=s}return i}function tK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=r.exec(t);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` +`+t.slice(n,s),n=s+1),o=a;return l+=` +`,t.length-n>e&&o>n?l+=t.slice(n,o)+` +`+t.slice(o+1):l+=t.slice(n),l.slice(1)}function xde(t){for(var e="",r,i,n,s=0;s=55296&&r<=56319&&(i=t.charCodeAt(s+1),i>=56320&&i<=57343)){e+=qU((r-55296)*1024+i-56320+65536),s++;continue}n=Ui[r],e+=!n&&ig(r)?t[s]:n||qU(r)}return e}function Dde(t,e,r){var i="",n=t.tag,s,o;for(s=0,o=r.length;s1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),!!gc(t,e,c,!1,!1)&&(u+=t.dump,i+=u));t.tag=n,t.dump="{"+i+"}"}function Nde(t,e,r,i){var n="",s=t.tag,o=Object.keys(r),a,l,c,u,g,f;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new np("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(t.dump&&sp===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,g&&(f+=VQ(t,e)),!!gc(t,e+1,u,!0,g)&&(t.dump&&sp===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,n+=f));t.tag=s,t.dump=n||"{}"}function rK(t,e,r){var i,n,s,o,a,l;for(n=r?t.explicitTypes:t.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');t.dump=i}return!0}return!1}function gc(t,e,r,i,n,s){t.tag=null,t.dump=r,rK(t,r,!1)||rK(t,r,!0);var o=TU.call(t.dump);i&&(i=t.flowLevel<0||t.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=t.duplicates.indexOf(r),c=l!==-1),(t.tag!==null&&t.tag!=="?"||c||t.indent!==2&&e>0)&&(n=!1),c&&t.usedDuplicates[l])t.dump="*ref_"+l;else{if(a&&c&&!t.usedDuplicates[l]&&(t.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(t.dump).length!==0?(Nde(t,e,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Fde(t,e,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump));else if(o==="[object Array]"){var u=t.noArrayIndent&&e>0?e-1:e;i&&t.dump.length!==0?(Rde(t,u,t.dump,n),c&&(t.dump="&ref_"+l+t.dump)):(Dde(t,u,t.dump),c&&(t.dump="&ref_"+l+" "+t.dump))}else if(o==="[object String]")t.tag!=="?"&&Pde(t,t.dump,e,s);else{if(t.skipInvalid)return!1;throw new np("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function Lde(t,e){var r=[],i=[],n,s;for(ZQ(t,r,i),n=0,s=i.length;n{"use strict";var gI=LU(),sK=nK();function fI(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}Or.exports.Type=li();Or.exports.Schema=lc();Or.exports.FAILSAFE_SCHEMA=sI();Or.exports.JSON_SCHEMA=GQ();Or.exports.CORE_SCHEMA=YQ();Or.exports.DEFAULT_SAFE_SCHEMA=Zu();Or.exports.DEFAULT_FULL_SCHEMA=tp();Or.exports.load=gI.load;Or.exports.loadAll=gI.loadAll;Or.exports.safeLoad=gI.safeLoad;Or.exports.safeLoadAll=gI.safeLoadAll;Or.exports.dump=sK.dump;Or.exports.safeDump=sK.safeDump;Or.exports.YAMLException=Vu();Or.exports.MINIMAL_SCHEMA=sI();Or.exports.SAFE_SCHEMA=Zu();Or.exports.DEFAULT_SCHEMA=tp();Or.exports.scan=fI("scan");Or.exports.parse=fI("parse");Or.exports.compose=fI("compose");Or.exports.addConstructor=fI("addConstructor")});var AK=w((n$e,aK)=>{"use strict";var Ode=oK();aK.exports=Ode});var cK=w((s$e,lK)=>{"use strict";function Mde(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function fc(t,e,r,i){this.message=t,this.expected=e,this.found=r,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,fc)}Mde(fc,Error);fc.buildMessage=function(t,e){var r={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[He]:de})))},Y=function(R){return R},U=function(R){return R},J=Vs("correct indentation"),W=" ",ee=gr(" ",!1),Z=function(R){return R.length===LA*Gu},A=function(R){return R.length===(LA+1)*Gu},ne=function(){return LA++,!0},le=function(){return LA--,!0},Ae=function(){return Ou()},T=Vs("pseudostring"),L=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,Ee=Yn(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),we=/^[^\r\n\t ,\][{}:#"']/,qe=Yn(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),re=function(){return Ou().replace(/^ *| *$/g,"")},se="--",Qe=gr("--",!1),he=/^[a-zA-Z\/0-9]/,Fe=Yn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ue=/^[^\r\n\t :,]/,xe=Yn(["\r",` +`," "," ",":",","],!0,!1),ve="null",pe=gr("null",!1),X=function(){return null},be="true",ce=gr("true",!1),fe=function(){return!0},gt="false",Ht=gr("false",!1),Mt=function(){return!1},mi=Vs("string"),jt='"',Qr=gr('"',!1),Ti=function(){return""},_s=function(R){return R},Un=function(R){return R.join("")},Kn=/^[^"\\\0-\x1F\x7F]/,vr=Yn(['"',"\\",["\0",""],"\x7F"],!0,!1),Hn='\\"',us=gr('\\"',!1),Ia=function(){return'"'},SA="\\\\",Du=gr("\\\\",!1),gs=function(){return"\\"},kA="\\/",ya=gr("\\/",!1),Ru=function(){return"/"},xA="\\b",PA=gr("\\b",!1),Sr=function(){return"\b"},jl="\\f",Fu=gr("\\f",!1),So=function(){return"\f"},Nu="\\n",Qh=gr("\\n",!1),vh=function(){return` +`},oe="\\r",Oi=gr("\\r",!1),ko=function(){return"\r"},jn="\\t",Lu=gr("\\t",!1),vt=function(){return" "},Gl="\\u",Gn=gr("\\u",!1),fs=function(R,q,de,He){return String.fromCharCode(parseInt(`0x${R}${q}${de}${He}`))},hs=/^[0-9a-fA-F]/,pt=Yn([["0","9"],["a","f"],["A","F"]],!1,!1),xo=Vs("blank space"),lt=/^[ \t]/,mn=Yn([" "," "],!1,!1),v=Vs("white space"),Tt=/^[ \t\n\r]/,Tu=Yn([" "," ",` +`,"\r"],!1,!1),Yl=`\r +`,Sh=gr(`\r +`,!1),kh=` +`,xh=gr(` +`,!1),Ph="\r",Dh=gr("\r",!1),G=0,yt=0,DA=[{line:1,column:1}],$i=0,ql=[],$e=0,wa;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Ou(){return t.substring(yt,G)}function SE(){return En(yt,G)}function Rh(R,q){throw q=q!==void 0?q:En(yt,G),Wl([Vs(R)],t.substring(yt,G),q)}function kE(R,q){throw q=q!==void 0?q:En(yt,G),Mu(R,q)}function gr(R,q){return{type:"literal",text:R,ignoreCase:q}}function Yn(R,q,de){return{type:"class",parts:R,inverted:q,ignoreCase:de}}function Jl(){return{type:"any"}}function Fh(){return{type:"end"}}function Vs(R){return{type:"other",description:R}}function Ba(R){var q=DA[R],de;if(q)return q;for(de=R-1;!DA[de];)de--;for(q=DA[de],q={line:q.line,column:q.column};de$i&&($i=G,ql=[]),ql.push(R))}function Mu(R,q){return new fc(R,null,null,q)}function Wl(R,q,de){return new fc(fc.buildMessage(R,q),R,q,de)}function Xs(){var R;return R=Uu(),R}function zl(){var R,q,de;for(R=G,q=[],de=RA();de!==r;)q.push(de),de=RA();return q!==r&&(yt=R,q=s(q)),R=q,R}function RA(){var R,q,de,He,Te;return R=G,q=Qa(),q!==r?(t.charCodeAt(G)===45?(de=o,G++):(de=r,$e===0&&Oe(a)),de!==r?(He=Lr(),He!==r?(Te=ba(),Te!==r?(yt=R,q=l(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R}function Uu(){var R,q,de;for(R=G,q=[],de=Ku();de!==r;)q.push(de),de=Ku();return q!==r&&(yt=R,q=c(q)),R=q,R}function Ku(){var R,q,de,He,Te,Xe,Et,Rt,qn;if(R=G,q=Lr(),q===r&&(q=null),q!==r){if(de=G,t.charCodeAt(G)===35?(He=u,G++):(He=r,$e===0&&Oe(g)),He!==r){if(Te=[],Xe=G,Et=G,$e++,Rt=eo(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Oe(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r),Xe!==r)for(;Xe!==r;)Te.push(Xe),Xe=G,Et=G,$e++,Rt=eo(),$e--,Rt===r?Et=void 0:(G=Et,Et=r),Et!==r?(t.length>G?(Rt=t.charAt(G),G++):(Rt=r,$e===0&&Oe(f)),Rt!==r?(Et=[Et,Rt],Xe=Et):(G=Xe,Xe=r)):(G=Xe,Xe=r);else Te=r;Te!==r?(He=[He,Te],de=He):(G=de,de=r)}else G=de,de=r;if(de===r&&(de=null),de!==r){if(He=[],Te=$s(),Te!==r)for(;Te!==r;)He.push(Te),Te=$s();else He=r;He!==r?(yt=R,q=h(),R=q):(G=R,R=r)}else G=R,R=r}else G=R,R=r;if(R===r&&(R=G,q=Qa(),q!==r?(de=_l(),de!==r?(He=Lr(),He===r&&(He=null),He!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Oe(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=ba(),Et!==r?(yt=R,q=y(de,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=Qa(),q!==r?(de=Zs(),de!==r?(He=Lr(),He===r&&(He=null),He!==r?(t.charCodeAt(G)===58?(Te=p,G++):(Te=r,$e===0&&Oe(m)),Te!==r?(Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(Et=ba(),Et!==r?(yt=R,q=y(de,Et),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))){if(R=G,q=Qa(),q!==r)if(de=Zs(),de!==r)if(He=Lr(),He!==r)if(Te=xE(),Te!==r){if(Xe=[],Et=$s(),Et!==r)for(;Et!==r;)Xe.push(Et),Et=$s();else Xe=r;Xe!==r?(yt=R,q=y(de,Te),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;else G=R,R=r;else G=R,R=r;if(R===r)if(R=G,q=Qa(),q!==r)if(de=Zs(),de!==r){if(He=[],Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=Q,G++):(Et=r,$e===0&&Oe(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(qn=Zs(),qn!==r?(yt=Te,Xe=x(de,qn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r),Te!==r)for(;Te!==r;)He.push(Te),Te=G,Xe=Lr(),Xe===r&&(Xe=null),Xe!==r?(t.charCodeAt(G)===44?(Et=Q,G++):(Et=r,$e===0&&Oe(S)),Et!==r?(Rt=Lr(),Rt===r&&(Rt=null),Rt!==r?(qn=Zs(),qn!==r?(yt=Te,Xe=x(de,qn),Te=Xe):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r)):(G=Te,Te=r);else He=r;He!==r?(Te=Lr(),Te===r&&(Te=null),Te!==r?(t.charCodeAt(G)===58?(Xe=p,G++):(Xe=r,$e===0&&Oe(m)),Xe!==r?(Et=Lr(),Et===r&&(Et=null),Et!==r?(Rt=ba(),Rt!==r?(yt=R,q=M(de,He,Rt),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)}else G=R,R=r;else G=R,R=r}return R}function ba(){var R,q,de,He,Te,Xe,Et;if(R=G,q=G,$e++,de=G,He=eo(),He!==r?(Te=it(),Te!==r?(t.charCodeAt(G)===45?(Xe=o,G++):(Xe=r,$e===0&&Oe(a)),Xe!==r?(Et=Lr(),Et!==r?(He=[He,Te,Xe,Et],de=He):(G=de,de=r)):(G=de,de=r)):(G=de,de=r)):(G=de,de=r),$e--,de!==r?(G=q,q=void 0):q=r,q!==r?(de=$s(),de!==r?(He=Po(),He!==r?(Te=zl(),Te!==r?(Xe=FA(),Xe!==r?(yt=R,q=Y(Te),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,q=eo(),q!==r?(de=Po(),de!==r?(He=Uu(),He!==r?(Te=FA(),Te!==r?(yt=R,q=Y(He),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r),R===r))if(R=G,q=Vl(),q!==r){if(de=[],He=$s(),He!==r)for(;He!==r;)de.push(He),He=$s();else de=r;de!==r?(yt=R,q=U(q),R=q):(G=R,R=r)}else G=R,R=r;return R}function Qa(){var R,q,de;for($e++,R=G,q=[],t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));de!==r;)q.push(de),t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));return q!==r?(yt=G,de=Z(q),de?de=void 0:de=r,de!==r?(q=[q,de],R=q):(G=R,R=r)):(G=R,R=r),$e--,R===r&&(q=r,$e===0&&Oe(J)),R}function it(){var R,q,de;for(R=G,q=[],t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));de!==r;)q.push(de),t.charCodeAt(G)===32?(de=W,G++):(de=r,$e===0&&Oe(ee));return q!==r?(yt=G,de=A(q),de?de=void 0:de=r,de!==r?(q=[q,de],R=q):(G=R,R=r)):(G=R,R=r),R}function Po(){var R;return yt=G,R=ne(),R?R=void 0:R=r,R}function FA(){var R;return yt=G,R=le(),R?R=void 0:R=r,R}function _l(){var R;return R=Xl(),R===r&&(R=Nh()),R}function Zs(){var R,q,de;if(R=Xl(),R===r){if(R=G,q=[],de=Hu(),de!==r)for(;de!==r;)q.push(de),de=Hu();else q=r;q!==r&&(yt=R,q=Ae()),R=q}return R}function Vl(){var R;return R=Lh(),R===r&&(R=PE(),R===r&&(R=Xl(),R===r&&(R=Nh()))),R}function xE(){var R;return R=Lh(),R===r&&(R=Xl(),R===r&&(R=Hu())),R}function Nh(){var R,q,de,He,Te,Xe;if($e++,R=G,L.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Ee)),q!==r){for(de=[],He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(we.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Oe(qe)),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);He!==r;)de.push(He),He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(we.test(t.charAt(G))?(Xe=t.charAt(G),G++):(Xe=r,$e===0&&Oe(qe)),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);de!==r?(yt=R,q=re(),R=q):(G=R,R=r)}else G=R,R=r;return $e--,R===r&&(q=r,$e===0&&Oe(T)),R}function Hu(){var R,q,de,He,Te;if(R=G,t.substr(G,2)===se?(q=se,G+=2):(q=r,$e===0&&Oe(Qe)),q===r&&(q=null),q!==r)if(he.test(t.charAt(G))?(de=t.charAt(G),G++):(de=r,$e===0&&Oe(Fe)),de!==r){for(He=[],Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Oe(xe));Te!==r;)He.push(Te),Ue.test(t.charAt(G))?(Te=t.charAt(G),G++):(Te=r,$e===0&&Oe(xe));He!==r?(yt=R,q=re(),R=q):(G=R,R=r)}else G=R,R=r;else G=R,R=r;return R}function Lh(){var R,q;return R=G,t.substr(G,4)===ve?(q=ve,G+=4):(q=r,$e===0&&Oe(pe)),q!==r&&(yt=R,q=X()),R=q,R}function PE(){var R,q;return R=G,t.substr(G,4)===be?(q=be,G+=4):(q=r,$e===0&&Oe(ce)),q!==r&&(yt=R,q=fe()),R=q,R===r&&(R=G,t.substr(G,5)===gt?(q=gt,G+=5):(q=r,$e===0&&Oe(Ht)),q!==r&&(yt=R,q=Mt()),R=q),R}function Xl(){var R,q,de,He;return $e++,R=G,t.charCodeAt(G)===34?(q=jt,G++):(q=r,$e===0&&Oe(Qr)),q!==r?(t.charCodeAt(G)===34?(de=jt,G++):(de=r,$e===0&&Oe(Qr)),de!==r?(yt=R,q=Ti(),R=q):(G=R,R=r)):(G=R,R=r),R===r&&(R=G,t.charCodeAt(G)===34?(q=jt,G++):(q=r,$e===0&&Oe(Qr)),q!==r?(de=DE(),de!==r?(t.charCodeAt(G)===34?(He=jt,G++):(He=r,$e===0&&Oe(Qr)),He!==r?(yt=R,q=_s(de),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)),$e--,R===r&&(q=r,$e===0&&Oe(mi)),R}function DE(){var R,q,de;if(R=G,q=[],de=ju(),de!==r)for(;de!==r;)q.push(de),de=ju();else q=r;return q!==r&&(yt=R,q=Un(q)),R=q,R}function ju(){var R,q,de,He,Te,Xe;return Kn.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Oe(vr)),R===r&&(R=G,t.substr(G,2)===Hn?(q=Hn,G+=2):(q=r,$e===0&&Oe(us)),q!==r&&(yt=R,q=Ia()),R=q,R===r&&(R=G,t.substr(G,2)===SA?(q=SA,G+=2):(q=r,$e===0&&Oe(Du)),q!==r&&(yt=R,q=gs()),R=q,R===r&&(R=G,t.substr(G,2)===kA?(q=kA,G+=2):(q=r,$e===0&&Oe(ya)),q!==r&&(yt=R,q=Ru()),R=q,R===r&&(R=G,t.substr(G,2)===xA?(q=xA,G+=2):(q=r,$e===0&&Oe(PA)),q!==r&&(yt=R,q=Sr()),R=q,R===r&&(R=G,t.substr(G,2)===jl?(q=jl,G+=2):(q=r,$e===0&&Oe(Fu)),q!==r&&(yt=R,q=So()),R=q,R===r&&(R=G,t.substr(G,2)===Nu?(q=Nu,G+=2):(q=r,$e===0&&Oe(Qh)),q!==r&&(yt=R,q=vh()),R=q,R===r&&(R=G,t.substr(G,2)===oe?(q=oe,G+=2):(q=r,$e===0&&Oe(Oi)),q!==r&&(yt=R,q=ko()),R=q,R===r&&(R=G,t.substr(G,2)===jn?(q=jn,G+=2):(q=r,$e===0&&Oe(Lu)),q!==r&&(yt=R,q=vt()),R=q,R===r&&(R=G,t.substr(G,2)===Gl?(q=Gl,G+=2):(q=r,$e===0&&Oe(Gn)),q!==r?(de=NA(),de!==r?(He=NA(),He!==r?(Te=NA(),Te!==r?(Xe=NA(),Xe!==r?(yt=R,q=fs(de,He,Te,Xe),R=q):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)):(G=R,R=r)))))))))),R}function NA(){var R;return hs.test(t.charAt(G))?(R=t.charAt(G),G++):(R=r,$e===0&&Oe(pt)),R}function Lr(){var R,q;if($e++,R=[],lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(mn)),q!==r)for(;q!==r;)R.push(q),lt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(mn));else R=r;return $e--,R===r&&(q=r,$e===0&&Oe(xo)),R}function RE(){var R,q;if($e++,R=[],Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Tu)),q!==r)for(;q!==r;)R.push(q),Tt.test(t.charAt(G))?(q=t.charAt(G),G++):(q=r,$e===0&&Oe(Tu));else R=r;return $e--,R===r&&(q=r,$e===0&&Oe(v)),R}function $s(){var R,q,de,He,Te,Xe;if(R=G,q=eo(),q!==r){for(de=[],He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=eo(),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);He!==r;)de.push(He),He=G,Te=Lr(),Te===r&&(Te=null),Te!==r?(Xe=eo(),Xe!==r?(Te=[Te,Xe],He=Te):(G=He,He=r)):(G=He,He=r);de!==r?(q=[q,de],R=q):(G=R,R=r)}else G=R,R=r;return R}function eo(){var R;return t.substr(G,2)===Yl?(R=Yl,G+=2):(R=r,$e===0&&Oe(Sh)),R===r&&(t.charCodeAt(G)===10?(R=kh,G++):(R=r,$e===0&&Oe(xh)),R===r&&(t.charCodeAt(G)===13?(R=Ph,G++):(R=r,$e===0&&Oe(Dh)))),R}let Gu=2,LA=0;if(wa=n(),wa!==r&&G===t.length)return wa;throw wa!==r&&G{"use strict";var Yde=t=>{let e=!1,r=!1,i=!1;for(let n=0;n{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(t)?t=t.map(n=>n.trim()).filter(n=>n.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=Yde(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),r(t))};tv.exports=pK;tv.exports.default=pK});var mK=w((u$e,CK)=>{CK.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var hc=w(_n=>{"use strict";var EK=mK(),Fo=process.env;Object.defineProperty(_n,"_vendors",{value:EK.map(function(t){return t.constant})});_n.name=null;_n.isPR=null;EK.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(i){return IK(i)});if(_n[t.constant]=r,r)switch(_n.name=t.name,typeof t.pr){case"string":_n.isPR=!!Fo[t.pr];break;case"object":"env"in t.pr?_n.isPR=t.pr.env in Fo&&Fo[t.pr.env]!==t.pr.ne:"any"in t.pr?_n.isPR=t.pr.any.some(function(i){return!!Fo[i]}):_n.isPR=IK(t.pr);break;default:_n.isPR=null}});_n.isCI=!!(Fo.CI||Fo.CONTINUOUS_INTEGRATION||Fo.BUILD_NUMBER||Fo.RUN_ID||_n.name);function IK(t){return typeof t=="string"?!!Fo[t]:Object.keys(t).every(function(e){return Fo[e]===t[e]})}});var sg={};ft(sg,{KeyRelationship:()=>Cc,applyCascade:()=>fp,base64RegExp:()=>QK,colorStringAlphaRegExp:()=>bK,colorStringRegExp:()=>BK,computeKey:()=>GA,getPrintable:()=>ei,hasExactLength:()=>PK,hasForbiddenKeys:()=>wCe,hasKeyRelationship:()=>lv,hasMaxLength:()=>sCe,hasMinLength:()=>nCe,hasMutuallyExclusiveKeys:()=>BCe,hasRequiredKeys:()=>yCe,hasUniqueItems:()=>oCe,isArray:()=>Vde,isAtLeast:()=>lCe,isAtMost:()=>cCe,isBase64:()=>ECe,isBoolean:()=>Wde,isDate:()=>_de,isDict:()=>Zde,isEnum:()=>nn,isHexColor:()=>mCe,isISO8601:()=>CCe,isInExclusiveRange:()=>gCe,isInInclusiveRange:()=>uCe,isInstanceOf:()=>eCe,isInteger:()=>fCe,isJSON:()=>ICe,isLiteral:()=>qde,isLowerCase:()=>hCe,isNegative:()=>aCe,isNullable:()=>iCe,isNumber:()=>zde,isObject:()=>$de,isOneOf:()=>tCe,isOptional:()=>rCe,isPositive:()=>ACe,isString:()=>gp,isTuple:()=>Xde,isUUID4:()=>dCe,isUnknown:()=>xK,isUpperCase:()=>pCe,iso8601RegExp:()=>Av,makeCoercionFn:()=>dc,makeSetter:()=>kK,makeTrait:()=>SK,makeValidator:()=>St,matchesRegExp:()=>hp,plural:()=>CI,pushError:()=>mt,simpleKeyRegExp:()=>wK,uuid4RegExp:()=>vK});function St({test:t}){return SK(t)()}function ei(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":JSON.stringify(t)}function GA(t,e){var r,i,n;return typeof e=="number"?`${(r=t==null?void 0:t.p)!==null&&r!==void 0?r:"."}[${e}]`:wK.test(e)?`${(i=t==null?void 0:t.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=t==null?void 0:t.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function dc(t,e){return r=>{let i=t[e];return t[e]=r,dc(t,e).bind(null,i)}}function kK(t,e){return r=>{t[e]=r}}function CI(t,e,r){return t===1?e:r}function mt({errors:t,p:e}={},r){return t==null||t.push(`${e!=null?e:"."}: ${r}`),!1}function qde(t){return St({test:(e,r)=>e!==t?mt(r,`Expected a literal (got ${ei(t)})`):!0})}function nn(t){let e=Array.isArray(t)?t:Object.values(t),r=new Set(e);return St({test:(i,n)=>r.has(i)?!0:mt(n,`Expected a valid enumeration value (got ${ei(i)})`)})}var wK,BK,bK,QK,vK,Av,SK,xK,gp,Jde,Wde,zde,_de,Vde,Xde,Zde,$de,eCe,tCe,fp,rCe,iCe,nCe,sCe,PK,oCe,aCe,ACe,lCe,cCe,uCe,gCe,fCe,hp,hCe,pCe,dCe,CCe,mCe,ECe,ICe,yCe,wCe,BCe,Cc,bCe,lv,Es=hfe(()=>{wK=/^[a-zA-Z_][a-zA-Z0-9_]*$/,BK=/^#[0-9a-f]{6}$/i,bK=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,QK=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,vK=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,Av=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,SK=t=>()=>t;xK=()=>St({test:(t,e)=>!0});gp=()=>St({test:(t,e)=>typeof t!="string"?mt(e,`Expected a string (got ${ei(t)})`):!0});Jde=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),Wde=()=>St({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i=Jde.get(t);if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a boolean (got ${ei(t)})`)}return!0}}),zde=()=>St({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch(s){}if(typeof n=="number")if(JSON.stringify(n)===t)i=n;else return mt(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a number (got ${ei(t)})`)}return!0}}),_de=()=>St({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof(e==null?void 0:e.coercions)!="undefined"){if(typeof(e==null?void 0:e.coercion)=="undefined")return mt(e,"Unbound coercion result");let i;if(typeof t=="string"&&Av.test(t))i=new Date(t);else{let n;if(typeof t=="string"){let s;try{s=JSON.parse(t)}catch(o){}typeof s=="number"&&(n=s)}else typeof t=="number"&&(n=t);if(typeof n!="undefined")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return mt(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof i!="undefined")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,i)]),!0}return mt(e,`Expected a date (got ${ei(t)})`)}return!0}}),Vde=(t,{delimiter:e}={})=>St({test:(r,i)=>{var n;if(typeof r=="string"&&typeof e!="undefined"&&typeof(i==null?void 0:i.coercions)!="undefined"){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");r=r.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,r)])}if(!Array.isArray(r))return mt(i,`Expected an array (got ${ei(r)})`);let s=!0;for(let o=0,a=r.length;o{let r=PK(t.length);return St({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e!="undefined"&&typeof(n==null?void 0:n.coercions)!="undefined"){if(typeof(n==null?void 0:n.coercion)=="undefined")return mt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return mt(n,`Expected a tuple (got ${ei(i)})`);let o=r(i,Object.assign({},n));for(let a=0,l=i.length;aSt({test:(r,i)=>{if(typeof r!="object"||r===null)return mt(i,`Expected an object (got ${ei(r)})`);let n=Object.keys(r),s=!0;for(let o=0,a=n.length;o{let r=Object.keys(t);return St({test:(i,n)=>{if(typeof i!="object"||i===null)return mt(n,`Expected an object (got ${ei(i)})`);let s=new Set([...r,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=mt(Object.assign(Object.assign({},n),{p:GA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(t,l)?t[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c!="undefined"?a=c(u,Object.assign(Object.assign({},n),{p:GA(n,l),coercion:dc(i,l)}))&&a:e===null?a=mt(Object.assign(Object.assign({},n),{p:GA(n,l)}),`Extraneous property (got ${ei(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:kK(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},eCe=t=>St({test:(e,r)=>e instanceof t?!0:mt(r,`Expected an instance of ${t.name} (got ${ei(e)})`)}),tCe=(t,{exclusive:e=!1}={})=>St({test:(r,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)!="undefined"?[]:void 0;for(let c=0,u=t.length;c1?mt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),fp=(t,e)=>St({test:(r,i)=>{var n,s;let o={value:r},a=typeof(i==null?void 0:i.coercions)!="undefined"?dc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)!="undefined"?[]:void 0;if(!t(r,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l!="undefined")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)!="undefined"){if(o.value!==r){if(typeof(i==null?void 0:i.coercion)=="undefined")return mt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),rCe=t=>St({test:(e,r)=>typeof e=="undefined"?!0:t(e,r)}),iCe=t=>St({test:(e,r)=>e===null?!0:t(e,r)}),nCe=t=>St({test:(e,r)=>e.length>=t?!0:mt(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)}),sCe=t=>St({test:(e,r)=>e.length<=t?!0:mt(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)}),PK=t=>St({test:(e,r)=>e.length!==t?mt(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0}),oCe=({map:t}={})=>St({test:(e,r)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sSt({test:(t,e)=>t<=0?!0:mt(e,`Expected to be negative (got ${t})`)}),ACe=()=>St({test:(t,e)=>t>=0?!0:mt(e,`Expected to be positive (got ${t})`)}),lCe=t=>St({test:(e,r)=>e>=t?!0:mt(r,`Expected to be at least ${t} (got ${e})`)}),cCe=t=>St({test:(e,r)=>e<=t?!0:mt(r,`Expected to be at most ${t} (got ${e})`)}),uCe=(t,e)=>St({test:(r,i)=>r>=t&&r<=e?!0:mt(i,`Expected to be in the [${t}; ${e}] range (got ${r})`)}),gCe=(t,e)=>St({test:(r,i)=>r>=t&&rSt({test:(e,r)=>e!==Math.round(e)?mt(r,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:mt(r,`Expected to be a safe integer (got ${e})`)}),hp=t=>St({test:(e,r)=>t.test(e)?!0:mt(r,`Expected to match the pattern ${t.toString()} (got ${ei(e)})`)}),hCe=()=>St({test:(t,e)=>t!==t.toLowerCase()?mt(e,`Expected to be all-lowercase (got ${t})`):!0}),pCe=()=>St({test:(t,e)=>t!==t.toUpperCase()?mt(e,`Expected to be all-uppercase (got ${t})`):!0}),dCe=()=>St({test:(t,e)=>vK.test(t)?!0:mt(e,`Expected to be a valid UUID v4 (got ${ei(t)})`)}),CCe=()=>St({test:(t,e)=>Av.test(t)?!1:mt(e,`Expected to be a valid ISO 8601 date string (got ${ei(t)})`)}),mCe=({alpha:t=!1})=>St({test:(e,r)=>(t?BK.test(e):bK.test(e))?!0:mt(r,`Expected to be a valid hexadecimal color string (got ${ei(e)})`)}),ECe=()=>St({test:(t,e)=>QK.test(t)?!0:mt(e,`Expected to be a valid base 64 string (got ${ei(t)})`)}),ICe=(t=xK())=>St({test:(e,r)=>{let i;try{i=JSON.parse(e)}catch(n){return mt(r,`Expected to be a valid JSON string (got ${ei(e)})`)}return t(i,r)}}),yCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?mt(i,`Missing required ${CI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},wCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?mt(i,`Forbidden ${CI(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},BCe=t=>{let e=new Set(t);return St({test:(r,i)=>{let n=new Set(Object.keys(r)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?mt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Cc||(Cc={}));bCe={[Cc.Forbids]:{expect:!1,message:"forbids using"},[Cc.Requires]:{expect:!0,message:"requires using"}},lv=(t,e,r,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(r),o=bCe[e];return St({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(t)||n.has(a[t]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?mt(l,`Property "${t}" ${o.message} ${CI(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})}});var _K=w((fet,zK)=>{"use strict";zK.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var ag=w((het,dv)=>{"use strict";var HCe=_K(),VK=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,i=()=>{r--,e.length>0&&e.shift()()},n=(a,l,...c)=>{r++;let u=HCe(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{rnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),o};dv.exports=VK;dv.exports.default=VK});var mp=w((det,XK)=>{var jCe="2.0.0",GCe=256,YCe=Number.MAX_SAFE_INTEGER||9007199254740991,qCe=16;XK.exports={SEMVER_SPEC_VERSION:jCe,MAX_LENGTH:GCe,MAX_SAFE_INTEGER:YCe,MAX_SAFE_COMPONENT_LENGTH:qCe}});var Ep=w((Cet,ZK)=>{var JCe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};ZK.exports=JCe});var mc=w((qA,$K)=>{var{MAX_SAFE_COMPONENT_LENGTH:Cv}=mp(),WCe=Ep();qA=$K.exports={};var zCe=qA.re=[],tt=qA.src=[],rt=qA.t={},_Ce=0,kt=(t,e,r)=>{let i=_Ce++;WCe(i,e),rt[t]=i,tt[i]=e,zCe[i]=new RegExp(e,r?"g":void 0)};kt("NUMERICIDENTIFIER","0|[1-9]\\d*");kt("NUMERICIDENTIFIERLOOSE","[0-9]+");kt("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");kt("MAINVERSION",`(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})\\.(${tt[rt.NUMERICIDENTIFIER]})`);kt("MAINVERSIONLOOSE",`(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})\\.(${tt[rt.NUMERICIDENTIFIERLOOSE]})`);kt("PRERELEASEIDENTIFIER",`(?:${tt[rt.NUMERICIDENTIFIER]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASEIDENTIFIERLOOSE",`(?:${tt[rt.NUMERICIDENTIFIERLOOSE]}|${tt[rt.NONNUMERICIDENTIFIER]})`);kt("PRERELEASE",`(?:-(${tt[rt.PRERELEASEIDENTIFIER]}(?:\\.${tt[rt.PRERELEASEIDENTIFIER]})*))`);kt("PRERELEASELOOSE",`(?:-?(${tt[rt.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${tt[rt.PRERELEASEIDENTIFIERLOOSE]})*))`);kt("BUILDIDENTIFIER","[0-9A-Za-z-]+");kt("BUILD",`(?:\\+(${tt[rt.BUILDIDENTIFIER]}(?:\\.${tt[rt.BUILDIDENTIFIER]})*))`);kt("FULLPLAIN",`v?${tt[rt.MAINVERSION]}${tt[rt.PRERELEASE]}?${tt[rt.BUILD]}?`);kt("FULL",`^${tt[rt.FULLPLAIN]}$`);kt("LOOSEPLAIN",`[v=\\s]*${tt[rt.MAINVERSIONLOOSE]}${tt[rt.PRERELEASELOOSE]}?${tt[rt.BUILD]}?`);kt("LOOSE",`^${tt[rt.LOOSEPLAIN]}$`);kt("GTLT","((?:<|>)?=?)");kt("XRANGEIDENTIFIERLOOSE",`${tt[rt.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);kt("XRANGEIDENTIFIER",`${tt[rt.NUMERICIDENTIFIER]}|x|X|\\*`);kt("XRANGEPLAIN",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:\\.(${tt[rt.XRANGEIDENTIFIER]})(?:${tt[rt.PRERELEASE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGEPLAINLOOSE",`[v=\\s]*(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:\\.(${tt[rt.XRANGEIDENTIFIERLOOSE]})(?:${tt[rt.PRERELEASELOOSE]})?${tt[rt.BUILD]}?)?)?`);kt("XRANGE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAIN]}$`);kt("XRANGELOOSE",`^${tt[rt.GTLT]}\\s*${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COERCE",`(^|[^\\d])(\\d{1,${Cv}})(?:\\.(\\d{1,${Cv}}))?(?:\\.(\\d{1,${Cv}}))?(?:$|[^\\d])`);kt("COERCERTL",tt[rt.COERCE],!0);kt("LONETILDE","(?:~>?)");kt("TILDETRIM",`(\\s*)${tt[rt.LONETILDE]}\\s+`,!0);qA.tildeTrimReplace="$1~";kt("TILDE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAIN]}$`);kt("TILDELOOSE",`^${tt[rt.LONETILDE]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("LONECARET","(?:\\^)");kt("CARETTRIM",`(\\s*)${tt[rt.LONECARET]}\\s+`,!0);qA.caretTrimReplace="$1^";kt("CARET",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAIN]}$`);kt("CARETLOOSE",`^${tt[rt.LONECARET]}${tt[rt.XRANGEPLAINLOOSE]}$`);kt("COMPARATORLOOSE",`^${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]})$|^$`);kt("COMPARATOR",`^${tt[rt.GTLT]}\\s*(${tt[rt.FULLPLAIN]})$|^$`);kt("COMPARATORTRIM",`(\\s*)${tt[rt.GTLT]}\\s*(${tt[rt.LOOSEPLAIN]}|${tt[rt.XRANGEPLAIN]})`,!0);qA.comparatorTrimReplace="$1$2$3";kt("HYPHENRANGE",`^\\s*(${tt[rt.XRANGEPLAIN]})\\s+-\\s+(${tt[rt.XRANGEPLAIN]})\\s*$`);kt("HYPHENRANGELOOSE",`^\\s*(${tt[rt.XRANGEPLAINLOOSE]})\\s+-\\s+(${tt[rt.XRANGEPLAINLOOSE]})\\s*$`);kt("STAR","(<|>)?=?\\s*\\*");kt("GTE0","^\\s*>=\\s*0.0.0\\s*$");kt("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Ip=w((met,e2)=>{var VCe=["includePrerelease","loose","rtl"],XCe=t=>t?typeof t!="object"?{loose:!0}:VCe.filter(e=>t[e]).reduce((e,r)=>(e[r]=!0,e),{}):{};e2.exports=XCe});var bI=w((Eet,t2)=>{var r2=/^[0-9]+$/,i2=(t,e)=>{let r=r2.test(t),i=r2.test(e);return r&&i&&(t=+t,e=+e),t===e?0:r&&!i?-1:i&&!r?1:ti2(e,t);t2.exports={compareIdentifiers:i2,rcompareIdentifiers:ZCe}});var Hi=w((Iet,n2)=>{var QI=Ep(),{MAX_LENGTH:s2,MAX_SAFE_INTEGER:vI}=mp(),{re:o2,t:a2}=mc(),$Ce=Ip(),{compareIdentifiers:yp}=bI(),ys=class{constructor(e,r){if(r=$Ce(r),e instanceof ys){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>s2)throw new TypeError(`version is longer than ${s2} characters`);QI("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=e.trim().match(r.loose?o2[a2.LOOSE]:o2[a2.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>vI||this.major<0)throw new TypeError("Invalid major version");if(this.minor>vI||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>vI||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}r&&(this.prerelease[0]===r?isNaN(this.prerelease[1])&&(this.prerelease=[r,0]):this.prerelease=[r,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};n2.exports=ys});var Ec=w((yet,A2)=>{var{MAX_LENGTH:eme}=mp(),{re:l2,t:c2}=mc(),u2=Hi(),tme=Ip(),rme=(t,e)=>{if(e=tme(e),t instanceof u2)return t;if(typeof t!="string"||t.length>eme||!(e.loose?l2[c2.LOOSE]:l2[c2.FULL]).test(t))return null;try{return new u2(t,e)}catch(i){return null}};A2.exports=rme});var f2=w((wet,g2)=>{var ime=Ec(),nme=(t,e)=>{let r=ime(t,e);return r?r.version:null};g2.exports=nme});var p2=w((Bet,h2)=>{var sme=Ec(),ome=(t,e)=>{let r=sme(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};h2.exports=ome});var C2=w((bet,d2)=>{var ame=Hi(),Ame=(t,e,r,i)=>{typeof r=="string"&&(i=r,r=void 0);try{return new ame(t,r).inc(e,i).version}catch(n){return null}};d2.exports=Ame});var ws=w((Qet,m2)=>{var E2=Hi(),lme=(t,e,r)=>new E2(t,r).compare(new E2(e,r));m2.exports=lme});var SI=w((vet,I2)=>{var cme=ws(),ume=(t,e,r)=>cme(t,e,r)===0;I2.exports=ume});var B2=w((ket,y2)=>{var w2=Ec(),gme=SI(),fme=(t,e)=>{if(gme(t,e))return null;{let r=w2(t),i=w2(e),n=r.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in r)if((a==="major"||a==="minor"||a==="patch")&&r[a]!==i[a])return s+a;return o}};y2.exports=fme});var Q2=w((xet,b2)=>{var hme=Hi(),pme=(t,e)=>new hme(t,e).major;b2.exports=pme});var S2=w((Pet,v2)=>{var dme=Hi(),Cme=(t,e)=>new dme(t,e).minor;v2.exports=Cme});var x2=w((Det,k2)=>{var mme=Hi(),Eme=(t,e)=>new mme(t,e).patch;k2.exports=Eme});var D2=w((Ret,P2)=>{var Ime=Ec(),yme=(t,e)=>{let r=Ime(t,e);return r&&r.prerelease.length?r.prerelease:null};P2.exports=yme});var F2=w((Fet,R2)=>{var wme=ws(),Bme=(t,e,r)=>wme(e,t,r);R2.exports=Bme});var L2=w((Net,N2)=>{var bme=ws(),Qme=(t,e)=>bme(t,e,!0);N2.exports=Qme});var kI=w((Let,T2)=>{var O2=Hi(),vme=(t,e,r)=>{let i=new O2(t,r),n=new O2(e,r);return i.compare(n)||i.compareBuild(n)};T2.exports=vme});var U2=w((Tet,M2)=>{var Sme=kI(),kme=(t,e)=>t.sort((r,i)=>Sme(r,i,e));M2.exports=kme});var H2=w((Oet,K2)=>{var xme=kI(),Pme=(t,e)=>t.sort((r,i)=>xme(i,r,e));K2.exports=Pme});var wp=w((Met,j2)=>{var Dme=ws(),Rme=(t,e,r)=>Dme(t,e,r)>0;j2.exports=Rme});var xI=w((Uet,G2)=>{var Fme=ws(),Nme=(t,e,r)=>Fme(t,e,r)<0;G2.exports=Nme});var mv=w((Ket,Y2)=>{var Lme=ws(),Tme=(t,e,r)=>Lme(t,e,r)!==0;Y2.exports=Tme});var PI=w((Het,q2)=>{var Ome=ws(),Mme=(t,e,r)=>Ome(t,e,r)>=0;q2.exports=Mme});var DI=w((jet,J2)=>{var Ume=ws(),Kme=(t,e,r)=>Ume(t,e,r)<=0;J2.exports=Kme});var Ev=w((Get,W2)=>{var Hme=SI(),jme=mv(),Gme=wp(),Yme=PI(),qme=xI(),Jme=DI(),Wme=(t,e,r,i)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Hme(t,r,i);case"!=":return jme(t,r,i);case">":return Gme(t,r,i);case">=":return Yme(t,r,i);case"<":return qme(t,r,i);case"<=":return Jme(t,r,i);default:throw new TypeError(`Invalid operator: ${e}`)}};W2.exports=Wme});var _2=w((Yet,z2)=>{var zme=Hi(),_me=Ec(),{re:RI,t:FI}=mc(),Vme=(t,e)=>{if(t instanceof zme)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(RI[FI.COERCE]);else{let i;for(;(i=RI[FI.COERCERTL].exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),RI[FI.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;RI[FI.COERCERTL].lastIndex=-1}return r===null?null:_me(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,e)};z2.exports=Vme});var X2=w((qet,V2)=>{"use strict";V2.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Bp=w((Jet,Z2)=>{"use strict";Z2.exports=Gt;Gt.Node=Ic;Gt.create=Gt;function Gt(t){var e=this;if(e instanceof Gt||(e=new Gt),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=t(r,i.value,n),i=i.next;return r};Gt.prototype.reduceReverse=function(t,e){var r,i=this.tail;if(arguments.length>1)r=e;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=t(r,i.value,n),i=i.prev;return r};Gt.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Gt.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Gt.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Gt;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>t;i--,n=n.prev)r.push(n.value);return r};Gt.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var i=0,n=this.head;n!==null&&i{"use strict";var eEe=Bp(),yc=Symbol("max"),Ta=Symbol("length"),Ag=Symbol("lengthCalculator"),bp=Symbol("allowStale"),wc=Symbol("maxAge"),Oa=Symbol("dispose"),eH=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),no=Symbol("cache"),tH=Symbol("updateAgeOnGet"),Iv=()=>1,rH=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[yc]=e.max||Infinity,i=e.length||Iv;if(this[Ag]=typeof i!="function"?Iv:i,this[bp]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[wc]=e.maxAge||0,this[Oa]=e.dispose,this[eH]=e.noDisposeOnSet||!1,this[tH]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[yc]=e||Infinity,Qp(this)}get max(){return this[yc]}set allowStale(e){this[bp]=!!e}get allowStale(){return this[bp]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[wc]=e,Qp(this)}get maxAge(){return this[wc]}set lengthCalculator(e){typeof e!="function"&&(e=Iv),e!==this[Ag]&&(this[Ag]=e,this[Ta]=0,this[Ii].forEach(r=>{r.length=this[Ag](r.value,r.key),this[Ta]+=r.length})),Qp(this)}get lengthCalculator(){return this[Ag]}get length(){return this[Ta]}get itemCount(){return this[Ii].length}rforEach(e,r){r=r||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;nH(this,e,i,r),i=n}}forEach(e,r){r=r||this;for(let i=this[Ii].head;i!==null;){let n=i.next;nH(this,e,i,r),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[Oa]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[Oa](e.key,e.value)),this[no]=new Map,this[Ii]=new eEe,this[Ta]=0}dump(){return this[Ii].map(e=>NI(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,r,i){if(i=i||this[wc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[Ag](r,e);if(this[no].has(e)){if(s>this[yc])return lg(this,this[no].get(e)),!1;let l=this[no].get(e).value;return this[Oa]&&(this[eH]||this[Oa](e,l.value)),l.now=n,l.maxAge=i,l.value=r,this[Ta]+=s-l.length,l.length=s,this.get(e),Qp(this),!0}let o=new iH(e,r,s,n,i);return o.length>this[yc]?(this[Oa]&&this[Oa](e,r),!1):(this[Ta]+=o.length,this[Ii].unshift(o),this[no].set(e,this[Ii].head),Qp(this),!0)}has(e){if(!this[no].has(e))return!1;let r=this[no].get(e).value;return!NI(this,r)}get(e){return yv(this,e,!0)}peek(e){return yv(this,e,!1)}pop(){let e=this[Ii].tail;return e?(lg(this,e),e.value):null}del(e){lg(this,this[no].get(e))}load(e){this.reset();let r=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-r;o>0&&this.set(n.k,n.v,o)}}}prune(){this[no].forEach((e,r)=>yv(this,r,!1))}},yv=(t,e,r)=>{let i=t[no].get(e);if(i){let n=i.value;if(NI(t,n)){if(lg(t,i),!t[bp])return}else r&&(t[tH]&&(i.value.now=Date.now()),t[Ii].unshiftNode(i));return n.value}},NI=(t,e)=>{if(!e||!e.maxAge&&!t[wc])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[wc]&&r>t[wc]},Qp=t=>{if(t[Ta]>t[yc])for(let e=t[Ii].tail;t[Ta]>t[yc]&&e!==null;){let r=e.prev;lg(t,e),e=r}},lg=(t,e)=>{if(e){let r=e.value;t[Oa]&&t[Oa](r.key,r.value),t[Ta]-=r.length,t[no].delete(r.key),t[Ii].removeNode(e)}},iH=class{constructor(e,r,i,n,s){this.key=e,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},nH=(t,e,r,i)=>{let n=r.value;NI(t,n)&&(lg(t,r),t[bp]||(n=void 0)),n&&e.call(i,n.value,n.key,t)};$2.exports=rH});var Bs=w((zet,oH)=>{var cg=class{constructor(e,r){if(r=tEe(r),e instanceof cg)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new cg(e.raw,r);if(e instanceof wv)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!AH(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&oEe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=aH.get(i);if(n)return n;let s=this.options.loose,o=s?ji[ki.HYPHENRANGELOOSE]:ji[ki.HYPHENRANGE];e=e.replace(o,lEe(this.options.includePrerelease)),Wr("hyphen replace",e),e=e.replace(ji[ki.COMPARATORTRIM],iEe),Wr("comparator trim",e,ji[ki.COMPARATORTRIM]),e=e.replace(ji[ki.TILDETRIM],nEe),e=e.replace(ji[ki.CARETTRIM],sEe),e=e.split(/\s+/).join(" ");let a=s?ji[ki.COMPARATORLOOSE]:ji[ki.COMPARATOR],l=e.split(" ").map(f=>aEe(f,this.options)).join(" ").split(/\s+/).map(f=>AEe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new wv(f,this.options)),c=l.length,u=new Map;for(let f of l){if(AH(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return aH.set(i,g),g}intersects(e,r){if(!(e instanceof cg))throw new TypeError("a Range is required");return this.set.some(i=>lH(i,r)&&e.set.some(n=>lH(n,r)&&i.every(s=>n.every(o=>s.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new rEe(e,this.options)}catch(r){return!1}for(let r=0;rt.value==="<0.0.0-0",oEe=t=>t.value==="",lH=(t,e)=>{let r=!0,i=t.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,e)),n=i.pop();return r},aEe=(t,e)=>(Wr("comp",t,e),t=fEe(t,e),Wr("caret",t),t=gEe(t,e),Wr("tildes",t),t=hEe(t,e),Wr("xrange",t),t=pEe(t,e),Wr("stars",t),t),on=t=>!t||t.toLowerCase()==="x"||t==="*",gEe=(t,e)=>t.trim().split(/\s+/).map(r=>dEe(r,e)).join(" "),dEe=(t,e)=>{let r=e.loose?ji[ki.TILDELOOSE]:ji[ki.TILDE];return t.replace(r,(i,n,s,o,a)=>{Wr("tilde",t,i,n,s,o,a);let l;return on(n)?l="":on(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:on(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(Wr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,Wr("tilde return",l),l})},fEe=(t,e)=>t.trim().split(/\s+/).map(r=>CEe(r,e)).join(" "),CEe=(t,e)=>{Wr("caret",t,e);let r=e.loose?ji[ki.CARETLOOSE]:ji[ki.CARET],i=e.includePrerelease?"-0":"";return t.replace(r,(n,s,o,a,l)=>{Wr("caret",t,n,s,o,a,l);let c;return on(s)?c="":on(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:on(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(Wr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(Wr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),Wr("caret return",c),c})},hEe=(t,e)=>(Wr("replaceXRanges",t,e),t.split(/\s+/).map(r=>mEe(r,e)).join(" ")),mEe=(t,e)=>{t=t.trim();let r=e.loose?ji[ki.XRANGELOOSE]:ji[ki.XRANGE];return t.replace(r,(i,n,s,o,a,l)=>{Wr("xRange",t,i,n,s,o,a,l);let c=on(s),u=c||on(o),g=u||on(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),Wr("xRange return",i),i})},pEe=(t,e)=>(Wr("replaceStars",t,e),t.trim().replace(ji[ki.STAR],"")),AEe=(t,e)=>(Wr("replaceGTE0",t,e),t.trim().replace(ji[e.includePrerelease?ki.GTE0PRE:ki.GTE0],"")),lEe=t=>(e,r,i,n,s,o,a,l,c,u,g,f,h)=>(on(i)?r="":on(n)?r=`>=${i}.0.0${t?"-0":""}`:on(s)?r=`>=${i}.${n}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,on(c)?l="":on(u)?l=`<${+c+1}.0.0-0`:on(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:t?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${r} ${l}`.trim()),cEe=(t,e,r)=>{for(let i=0;i0){let n=t[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var vp=w((_et,cH)=>{var Sp=Symbol("SemVer ANY"),kp=class{static get ANY(){return Sp}constructor(e,r){if(r=EEe(r),e instanceof kp){if(e.loose===!!r.loose)return e;e=e.value}bv("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===Sp?this.value="":this.value=this.operator+this.semver.version,bv("comp",this)}parse(e){let r=this.options.loose?uH[gH.COMPARATORLOOSE]:uH[gH.COMPARATOR],i=e.match(r);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new fH(i[2],this.options.loose):this.semver=Sp}toString(){return this.value}test(e){if(bv("Comparator.test",e,this.options.loose),this.semver===Sp||e===Sp)return!0;if(typeof e=="string")try{e=new fH(e,this.options)}catch(r){return!1}return Bv(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof kp))throw new TypeError("a Comparator is required");if((!r||typeof r!="object")&&(r={loose:!!r,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new hH(e.value,r).test(this.value);if(e.operator==="")return e.value===""?!0:new hH(this.value,r).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=Bv(this.semver,"<",e.semver,r)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=Bv(this.semver,">",e.semver,r)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};cH.exports=kp;var EEe=Ip(),{re:uH,t:gH}=mc(),Bv=Ev(),bv=Ep(),fH=Hi(),hH=Bs()});var xp=w((Vet,pH)=>{var IEe=Bs(),yEe=(t,e,r)=>{try{e=new IEe(e,r)}catch(i){return!1}return e.test(t)};pH.exports=yEe});var CH=w((Xet,dH)=>{var wEe=Bs(),BEe=(t,e)=>new wEe(t,e).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));dH.exports=BEe});var EH=w((Zet,mH)=>{var bEe=Hi(),QEe=Bs(),vEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new QEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new bEe(i,r))}),i};mH.exports=vEe});var yH=w(($et,IH)=>{var SEe=Hi(),kEe=Bs(),xEe=(t,e,r)=>{let i=null,n=null,s=null;try{s=new kEe(e,r)}catch(o){return null}return t.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new SEe(i,r))}),i};IH.exports=xEe});var bH=w((ett,wH)=>{var Qv=Hi(),PEe=Bs(),BH=wp(),DEe=(t,e)=>{t=new PEe(t,e);let r=new Qv("0.0.0");if(t.test(r)||(r=new Qv("0.0.0-0"),t.test(r)))return r;r=null;for(let i=0;i{let a=new Qv(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||BH(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!r||BH(r,s))&&(r=s)}return r&&t.test(r)?r:null};wH.exports=DEe});var vH=w((ttt,QH)=>{var REe=Bs(),FEe=(t,e)=>{try{return new REe(t,e).range||"*"}catch(r){return null}};QH.exports=FEe});var LI=w((rtt,SH)=>{var NEe=Hi(),kH=vp(),{ANY:LEe}=kH,TEe=Bs(),OEe=xp(),xH=wp(),PH=xI(),MEe=DI(),UEe=PI(),KEe=(t,e,r,i)=>{t=new NEe(t,i),e=new TEe(e,i);let n,s,o,a,l;switch(r){case">":n=xH,s=MEe,o=PH,a=">",l=">=";break;case"<":n=PH,s=UEe,o=xH,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(OEe(t,e,i))return!1;for(let c=0;c{h.semver===LEe&&(h=new kH(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(t,f.semver))return!1;if(f.operator===l&&o(t,f.semver))return!1}return!0};SH.exports=KEe});var RH=w((itt,DH)=>{var HEe=LI(),jEe=(t,e,r)=>HEe(t,e,">",r);DH.exports=jEe});var NH=w((ntt,FH)=>{var GEe=LI(),YEe=(t,e,r)=>GEe(t,e,"<",r);FH.exports=YEe});var OH=w((stt,LH)=>{var TH=Bs(),qEe=(t,e,r)=>(t=new TH(t,r),e=new TH(e,r),t.intersects(e));LH.exports=qEe});var UH=w((ott,MH)=>{var JEe=xp(),WEe=ws();MH.exports=(t,e,r)=>{let i=[],n=null,s=null,o=t.sort((u,g)=>WEe(u,g,r));for(let u of o)JEe(u,e,r)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var HH=Bs(),TI=vp(),{ANY:vv}=TI,Pp=xp(),Sv=ws(),_Ee=(t,e,r={})=>{if(t===e)return!0;t=new HH(t,r),e=new HH(e,r);let i=!1;e:for(let n of t.set){for(let s of e.set){let o=zEe(n,s,r);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},zEe=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===vv){if(e.length===1&&e[0].semver===vv)return!0;r.includePrerelease?t=[new TI(">=0.0.0-0")]:t=[new TI(">=0.0.0")]}if(e.length===1&&e[0].semver===vv){if(r.includePrerelease)return!0;e=[new TI(">=0.0.0")]}let i=new Set,n,s;for(let h of t)h.operator===">"||h.operator===">="?n=jH(n,h,r):h.operator==="<"||h.operator==="<="?s=GH(s,h,r):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=Sv(n.semver,s.semver,r),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!Pp(h,String(n),r)||s&&!Pp(h,String(s),r))return null;for(let p of e)if(!Pp(h,String(p),r))return!1;return!0}let a,l,c,u,g=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=jH(n,h,r),a===h&&a!==n)return!1}else if(n.operator===">="&&!Pp(n.semver,String(h),r))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=GH(s,h,r),l===h&&l!==s)return!1}else if(s.operator==="<="&&!Pp(s.semver,String(h),r))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},jH=(t,e,r)=>{if(!t)return e;let i=Sv(t.semver,e.semver,r);return i>0?t:i<0||e.operator===">"&&t.operator===">="?e:t},GH=(t,e,r)=>{if(!t)return e;let i=Sv(t.semver,e.semver,r);return i<0?t:i>0||e.operator==="<"&&t.operator==="<="?e:t};KH.exports=_Ee});var ti=w((Att,qH)=>{var kv=mc();qH.exports={re:kv.re,src:kv.src,tokens:kv.t,SEMVER_SPEC_VERSION:mp().SEMVER_SPEC_VERSION,SemVer:Hi(),compareIdentifiers:bI().compareIdentifiers,rcompareIdentifiers:bI().rcompareIdentifiers,parse:Ec(),valid:f2(),clean:p2(),inc:C2(),diff:B2(),major:Q2(),minor:S2(),patch:x2(),prerelease:D2(),compare:ws(),rcompare:F2(),compareLoose:L2(),compareBuild:kI(),sort:U2(),rsort:H2(),gt:wp(),lt:xI(),eq:SI(),neq:mv(),gte:PI(),lte:DI(),cmp:Ev(),coerce:_2(),Comparator:vp(),Range:Bs(),satisfies:xp(),toComparators:CH(),maxSatisfying:EH(),minSatisfying:yH(),minVersion:bH(),validRange:vH(),outside:LI(),gtr:RH(),ltr:NH(),intersects:OH(),simplifyRange:UH(),subset:YH()}});var xv=w(OI=>{"use strict";Object.defineProperty(OI,"__esModule",{value:!0});OI.VERSION=void 0;OI.VERSION="9.1.0"});var Yt=w((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i{(function(t,e){typeof define=="function"&&define.amd?define([],e):typeof MI=="object"&&MI.exports?MI.exports=e():t.regexpToAst=e()})(typeof self!="undefined"?self:JH,function(){function t(){}t.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},t.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},t.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var m=this.disjunction();this.consumeChar("/");for(var y={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(y,"global");break;case"i":o(y,"ignoreCase");break;case"m":o(y,"multiLine");break;case"u":o(y,"unicode");break;case"y":o(y,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:y,value:m,loc:this.loc(0)}},t.prototype.disjunction=function(){var p=[],m=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(m)}},t.prototype.alternative=function(){for(var p=[],m=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(m)}},t.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},t.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var m;switch(this.popChar()){case"=":m="Lookahead";break;case"!":m="NegativeLookahead";break}a(m);var y=this.disjunction();return this.consumeChar(")"),{type:m,value:y,loc:this.loc(p)}}l()},t.prototype.quantifier=function(p){var m,y=this.idx;switch(this.popChar()){case"*":m={atLeast:0,atMost:Infinity};break;case"+":m={atLeast:1,atMost:Infinity};break;case"?":m={atLeast:0,atMost:1};break;case"{":var Q=this.integerIncludingZero();switch(this.popChar()){case"}":m={atLeast:Q,atMost:Q};break;case",":var S;this.isDigit()?(S=this.integerIncludingZero(),m={atLeast:Q,atMost:S}):m={atLeast:Q,atMost:Infinity},this.consumeChar("}");break}if(p===!0&&m===void 0)return;a(m);break}if(!(p===!0&&m===void 0))return a(m),this.peekChar(0)==="?"?(this.consumeChar("?"),m.greedy=!1):m.greedy=!0,m.type="Quantifier",m.loc=this.loc(y),m},t.prototype.atom=function(){var p,m=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(m),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},t.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` +`),n("\r"),n("\u2028"),n("\u2029")]}},t.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},t.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},t.prototype.characterClassEscape=function(){var p,m=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,m=!0;break;case"s":p=f;break;case"S":p=f,m=!0;break;case"w":p=g;break;case"W":p=g,m=!0;break}return a(p),{type:"Set",value:p,complement:m}},t.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` +`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},t.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var m=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:m}},t.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},t.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},t.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},t.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},t.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},t.prototype.characterClass=function(){var p=[],m=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),m=!0);this.isClassAtom();){var y=this.classAtom(),Q=y.type==="Character";if(Q&&this.isRangeDash()){this.consumeChar("-");var S=this.classAtom(),x=S.type==="Character";if(x){if(S.value=this.input.length)throw Error("Unexpected end of input");this.idx++},t.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,r=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,m){p.length!==void 0?p.forEach(function(y){m.push(y)}):m.push(p)}function o(p,m){if(p[m]===!0)throw"duplicate flag "+m;p[m]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` +`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var m in p){var y=p[m];p.hasOwnProperty(m)&&(y.type!==void 0?this.visit(y):Array.isArray(y)&&y.forEach(function(Q){this.visit(Q)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:t,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var HI=w(ug=>{"use strict";Object.defineProperty(ug,"__esModule",{value:!0});ug.clearRegExpParserCache=ug.getRegExpAst=void 0;var VEe=UI(),KI={},XEe=new VEe.RegExpParser;function ZEe(t){var e=t.toString();if(KI.hasOwnProperty(e))return KI[e];var r=XEe.pattern(e);return KI[e]=r,r}ug.getRegExpAst=ZEe;function $Ee(){KI={}}ug.clearRegExpParserCache=$Ee});var XH=w(Bn=>{"use strict";var eIe=Bn&&Bn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Bn,"__esModule",{value:!0});Bn.canMatchCharCode=Bn.firstCharOptimizedIndices=Bn.getOptimizedStartCodesIndices=Bn.failedOptimizationPrefixMsg=void 0;var WH=UI(),bs=Yt(),zH=HI(),Ma=Pv(),_H="Complement Sets are not supported for first char optimization";Bn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: +`;function tIe(t,e){e===void 0&&(e=!1);try{var r=(0,zH.getRegExpAst)(t),i=jI(r.value,{},r.flags.ignoreCase);return i}catch(s){if(s.message===_H)e&&(0,bs.PRINT_WARNING)(""+Bn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+t.toString()+` > +`)+` Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,bs.PRINT_ERROR)(Bn.failedOptimizationPrefixMsg+` +`+(" Failed parsing: < "+t.toString()+` > +`)+(" Using the regexp-to-ast library version: "+WH.VERSION+` +`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}Bn.getOptimizedStartCodesIndices=tIe;function jI(t,e,r){switch(t.type){case"Disjunction":for(var i=0;i=Ma.minOptimizationVal)for(var f=u.from>=Ma.minOptimizationVal?u.from:Ma.minOptimizationVal,h=u.to,p=(0,Ma.charCodeToOptimizedIndex)(f),m=(0,Ma.charCodeToOptimizedIndex)(h),y=p;y<=m;y++)e[y]=y}}});break;case"Group":jI(o.value,e,r);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&Dv(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,bs.values)(e)}Bn.firstCharOptimizedIndices=jI;function GI(t,e,r){var i=(0,Ma.charCodeToOptimizedIndex)(t);e[i]=i,r===!0&&rIe(t,e)}function rIe(t,e){var r=String.fromCharCode(t),i=r.toUpperCase();if(i!==r){var n=(0,Ma.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=r.toLowerCase();if(s!==r){var n=(0,Ma.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function VH(t,e){return(0,bs.find)(t.value,function(r){if(typeof r=="number")return(0,bs.contains)(e,r);var i=r;return(0,bs.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function Dv(t){return t.quantifier&&t.quantifier.atLeast===0?!0:t.value?(0,bs.isArray)(t.value)?(0,bs.every)(t.value,Dv):Dv(t.value):!1}var iIe=function(t){eIe(e,t);function e(r){var i=t.call(this)||this;return i.targetCharCodes=r,i.found=!1,i}return e.prototype.visitChildren=function(r){if(this.found!==!0){switch(r.type){case"Lookahead":this.visitLookahead(r);return;case"NegativeLookahead":this.visitNegativeLookahead(r);return}t.prototype.visitChildren.call(this,r)}},e.prototype.visitCharacter=function(r){(0,bs.contains)(this.targetCharCodes,r.value)&&(this.found=!0)},e.prototype.visitSet=function(r){r.complement?VH(r,this.targetCharCodes)===void 0&&(this.found=!0):VH(r,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(WH.BaseRegExpVisitor);function nIe(t,e){if(e instanceof RegExp){var r=(0,zH.getRegExpAst)(e),i=new iIe(t);return i.visit(r),i.found}else return(0,bs.find)(e,function(n){return(0,bs.contains)(t,n.charCodeAt(0))})!==void 0}Bn.canMatchCharCode=nIe});var Pv=w(Ze=>{"use strict";var ZH=Ze&&Ze.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Ze,"__esModule",{value:!0});Ze.charCodeToOptimizedIndex=Ze.minOptimizationVal=Ze.buildLineBreakIssueMessage=Ze.LineTerminatorOptimizedTester=Ze.isShortPattern=Ze.isCustomPattern=Ze.cloneEmptyGroups=Ze.performWarningRuntimeChecks=Ze.performRuntimeChecks=Ze.addStickyFlag=Ze.addStartOfInput=Ze.findUnreachablePatterns=Ze.findModesThatDoNotExist=Ze.findInvalidGroupType=Ze.findDuplicatePatterns=Ze.findUnsupportedFlags=Ze.findStartOfInputAnchor=Ze.findEmptyMatchRegExps=Ze.findEndOfInputAnchor=Ze.findInvalidPatterns=Ze.findMissingPatterns=Ze.validatePatterns=Ze.analyzeTokenTypes=Ze.enableSticky=Ze.disableSticky=Ze.SUPPORT_STICKY=Ze.MODES=Ze.DEFAULT_MODE=void 0;var $H=UI(),Ar=Dp(),Ne=Yt(),gg=XH(),ej=HI(),Lo="PATTERN";Ze.DEFAULT_MODE="defaultMode";Ze.MODES="modes";Ze.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function sIe(){Ze.SUPPORT_STICKY=!1}Ze.disableSticky=sIe;function oIe(){Ze.SUPPORT_STICKY=!0}Ze.enableSticky=oIe;function AIe(t,e){e=(0,Ne.defaults)(e,{useSticky:Ze.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:function(S,x){return x()}});var r=e.tracer;r("initCharCodeToOptimizedIndexMap",function(){aIe()});var i;r("Reject Lexer.NA",function(){i=(0,Ne.reject)(t,function(S){return S[Lo]===Ar.Lexer.NA})});var n=!1,s;r("Transform Patterns",function(){n=!1,s=(0,Ne.map)(i,function(S){var x=S[Lo];if((0,Ne.isRegExp)(x)){var M=x.source;return M.length===1&&M!=="^"&&M!=="$"&&M!=="."&&!x.ignoreCase?M:M.length===2&&M[0]==="\\"&&!(0,Ne.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],M[1])?M[1]:e.useSticky?Fv(x):Rv(x)}else{if((0,Ne.isFunction)(x))return n=!0,{exec:x};if((0,Ne.has)(x,"exec"))return n=!0,x;if(typeof x=="string"){if(x.length===1)return x;var Y=x.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),U=new RegExp(Y);return e.useSticky?Fv(U):Rv(U)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;r("misc mapping",function(){o=(0,Ne.map)(i,function(S){return S.tokenTypeIdx}),a=(0,Ne.map)(i,function(S){var x=S.GROUP;if(x!==Ar.Lexer.SKIPPED){if((0,Ne.isString)(x))return x;if((0,Ne.isUndefined)(x))return!1;throw Error("non exhaustive match")}}),l=(0,Ne.map)(i,function(S){var x=S.LONGER_ALT;if(x){var M=(0,Ne.isArray)(x)?(0,Ne.map)(x,function(Y){return(0,Ne.indexOf)(i,Y)}):[(0,Ne.indexOf)(i,x)];return M}}),c=(0,Ne.map)(i,function(S){return S.PUSH_MODE}),u=(0,Ne.map)(i,function(S){return(0,Ne.has)(S,"POP_MODE")})});var g;r("Line Terminator Handling",function(){var S=ij(e.lineTerminatorCharacters);g=(0,Ne.map)(i,function(x){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Ne.map)(i,function(x){if((0,Ne.has)(x,"LINE_BREAKS"))return x.LINE_BREAKS;if(rj(x,S)===!1)return(0,gg.canMatchCharCode)(S,x.PATTERN)}))});var f,h,p,m;r("Misc Mapping #2",function(){f=(0,Ne.map)(i,Nv),h=(0,Ne.map)(s,tj),p=(0,Ne.reduce)(i,function(S,x){var M=x.GROUP;return(0,Ne.isString)(M)&&M!==Ar.Lexer.SKIPPED&&(S[M]=[]),S},{}),m=(0,Ne.map)(s,function(S,x){return{pattern:s[x],longerAlt:l[x],canLineTerminator:g[x],isCustom:f[x],short:h[x],group:a[x],push:c[x],pop:u[x],tokenTypeIdx:o[x],tokenType:i[x]}})});var y=!0,Q=[];return e.safeMode||r("First Char Optimization",function(){Q=(0,Ne.reduce)(i,function(S,x,M){if(typeof x.PATTERN=="string"){var Y=x.PATTERN.charCodeAt(0),U=Tv(Y);Lv(S,U,m[M])}else if((0,Ne.isArray)(x.START_CHARS_HINT)){var J;(0,Ne.forEach)(x.START_CHARS_HINT,function(ee){var Z=typeof ee=="string"?ee.charCodeAt(0):ee,A=Tv(Z);J!==A&&(J=A,Lv(S,A,m[M]))})}else if((0,Ne.isRegExp)(x.PATTERN))if(x.PATTERN.unicode)y=!1,e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+gg.failedOptimizationPrefixMsg+(" Unable to analyze < "+x.PATTERN.toString()+` > pattern. +`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var W=(0,gg.getOptimizedStartCodesIndices)(x.PATTERN,e.ensureOptimizations);(0,Ne.isEmpty)(W)&&(y=!1),(0,Ne.forEach)(W,function(ee){Lv(S,ee,m[M])})}else e.ensureOptimizations&&(0,Ne.PRINT_ERROR)(""+gg.failedOptimizationPrefixMsg+(" TokenType: <"+x.name+`> is using a custom token pattern without providing parameter. +`)+` This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),y=!1;return S},[])}),r("ArrayPacking",function(){Q=(0,Ne.packArray)(Q)}),{emptyGroups:p,patternIdxToConfig:m,charCodeToPatternIdxToConfig:Q,hasCustom:n,canBeOptimized:y}}Ze.analyzeTokenTypes=AIe;function cIe(t,e){var r=[],i=nj(t);r=r.concat(i.errors);var n=sj(i.valid),s=n.valid;return r=r.concat(n.errors),r=r.concat(lIe(s)),r=r.concat(oj(s)),r=r.concat(aj(s,e)),r=r.concat(Aj(s)),r}Ze.validatePatterns=cIe;function lIe(t){var e=[],r=(0,Ne.filter)(t,function(i){return(0,Ne.isRegExp)(i[Lo])});return e=e.concat(lj(r)),e=e.concat(uj(r)),e=e.concat(gj(r)),e=e.concat(fj(r)),e=e.concat(cj(r)),e}function nj(t){var e=(0,Ne.filter)(t,function(n){return!(0,Ne.has)(n,Lo)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:Ar.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findMissingPatterns=nj;function sj(t){var e=(0,Ne.filter)(t,function(n){var s=n[Lo];return!(0,Ne.isRegExp)(s)&&!(0,Ne.isFunction)(s)&&!(0,Ne.has)(s,"exec")&&!(0,Ne.isString)(s)}),r=(0,Ne.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ar.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Ne.difference)(t,e);return{errors:r,valid:i}}Ze.findInvalidPatterns=sj;var uIe=/[^\\][\$]/;function lj(t){var e=function(n){ZH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}($H.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,ej.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return uIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findEndOfInputAnchor=lj;function cj(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n.test("")}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:Ar.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return r}Ze.findEmptyMatchRegExps=cj;var gIe=/[^\\[][\^]|^\^/;function uj(t){var e=function(n){ZH(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}($H.BaseRegExpVisitor),r=(0,Ne.filter)(t,function(n){var s=n[Lo];try{var o=(0,ej.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch(l){return gIe.test(s.source)}}),i=(0,Ne.map)(r,function(n){return{message:`Unexpected RegExp Anchor Error: + Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ar.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Ze.findStartOfInputAnchor=uj;function gj(t){var e=(0,Ne.filter)(t,function(i){var n=i[Lo];return n instanceof RegExp&&(n.multiline||n.global)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ar.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return r}Ze.findUnsupportedFlags=gj;function fj(t){var e=[],r=(0,Ne.map)(t,function(s){return(0,Ne.reduce)(t,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Ne.contains)(e,a)&&a.PATTERN!==Ar.Lexer.NA&&(e.push(a),o.push(a)),o},[])});r=(0,Ne.compact)(r);var i=(0,Ne.filter)(r,function(s){return s.length>1}),n=(0,Ne.map)(i,function(s){var o=(0,Ne.map)(s,function(l){return l.name}),a=(0,Ne.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:Ar.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Ze.findDuplicatePatterns=fj;function oj(t){var e=(0,Ne.filter)(t,function(i){if(!(0,Ne.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==Ar.Lexer.SKIPPED&&n!==Ar.Lexer.NA&&!(0,Ne.isString)(n)}),r=(0,Ne.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ar.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return r}Ze.findInvalidGroupType=oj;function aj(t,e){var r=(0,Ne.filter)(t,function(n){return n.PUSH_MODE!==void 0&&!(0,Ne.contains)(e,n.PUSH_MODE)}),i=(0,Ne.map)(r,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:Ar.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Ze.findModesThatDoNotExist=aj;function Aj(t){var e=[],r=(0,Ne.reduce)(t,function(i,n,s){var o=n.PATTERN;return o===Ar.Lexer.NA||((0,Ne.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Ne.isRegExp)(o)&&hIe(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Ne.forEach)(t,function(i,n){(0,Ne.forEach)(r,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:Ar.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Ze.findUnreachablePatterns=Aj;function fIe(t,e){if((0,Ne.isRegExp)(e)){var r=e.exec(t);return r!==null&&r.index===0}else{if((0,Ne.isFunction)(e))return e(t,0,[],{});if((0,Ne.has)(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function hIe(t){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Ne.find)(e,function(r){return t.source.indexOf(r)!==-1})===void 0}function Rv(t){var e=t.ignoreCase?"i":"";return new RegExp("^(?:"+t.source+")",e)}Ze.addStartOfInput=Rv;function Fv(t){var e=t.ignoreCase?"iy":"y";return new RegExp(""+t.source,e)}Ze.addStickyFlag=Fv;function pIe(t,e,r){var i=[];return(0,Ne.has)(t,Ze.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.DEFAULT_MODE+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Ne.has)(t,Ze.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ze.MODES+`> property in its definition +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.has)(t,Ze.DEFAULT_MODE)&&!(0,Ne.has)(t.modes,t.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Ze.DEFAULT_MODE+": <"+t.defaultMode+`>which does not exist +`,type:Ar.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Ne.has)(t,Ze.MODES)&&(0,Ne.forEach)(t.modes,function(n,s){(0,Ne.forEach)(n,function(o,a){(0,Ne.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> +`),type:Ar.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Ze.performRuntimeChecks=pIe;function dIe(t,e,r){var i=[],n=!1,s=(0,Ne.compact)((0,Ne.flatten)((0,Ne.mapValues)(t.modes,function(l){return l}))),o=(0,Ne.reject)(s,function(l){return l[Lo]===Ar.Lexer.NA}),a=ij(r);return e&&(0,Ne.forEach)(o,function(l){var c=rj(l,a);if(c!==!1){var u=hj(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Ne.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,gg.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Ar.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Ze.performWarningRuntimeChecks=dIe;function CIe(t){var e={},r=(0,Ne.keys)(t);return(0,Ne.forEach)(r,function(i){var n=t[i];if((0,Ne.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Ze.cloneEmptyGroups=CIe;function Nv(t){var e=t.PATTERN;if((0,Ne.isRegExp)(e))return!1;if((0,Ne.isFunction)(e))return!0;if((0,Ne.has)(e,"exec"))return!0;if((0,Ne.isString)(e))return!1;throw Error("non exhaustive match")}Ze.isCustomPattern=Nv;function tj(t){return(0,Ne.isString)(t)&&t.length===1?t.charCodeAt(0):!1}Ze.isShortPattern=tj;Ze.LineTerminatorOptimizedTester={test:function(t){for(var e=t.length,r=this.lastIndex;r Token Type +`)+(" Root cause: "+e.errMsg+`. +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===Ar.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. +`+(" The problem is in the <"+t.name+`> Token Type +`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Ze.buildLineBreakIssueMessage=hj;function ij(t){var e=(0,Ne.map)(t,function(r){return(0,Ne.isString)(r)&&r.length>0?r.charCodeAt(0):r});return e}function Lv(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}Ze.minOptimizationVal=256;var YI=[];function Tv(t){return t255?255+~~(t/255):t}}});var fg=w(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.isTokenType=Ft.hasExtendingTokensTypesMapProperty=Ft.hasExtendingTokensTypesProperty=Ft.hasCategoriesProperty=Ft.hasShortKeyProperty=Ft.singleAssignCategoriesToksMap=Ft.assignCategoriesMapProp=Ft.assignCategoriesTokensProp=Ft.assignTokenDefaultProps=Ft.expandCategories=Ft.augmentTokenTypes=Ft.tokenIdxToClass=Ft.tokenShortNameIdx=Ft.tokenStructuredMatcherNoCategories=Ft.tokenStructuredMatcher=void 0;var ri=Yt();function mIe(t,e){var r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}Ft.tokenStructuredMatcher=mIe;function EIe(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}Ft.tokenStructuredMatcherNoCategories=EIe;Ft.tokenShortNameIdx=1;Ft.tokenIdxToClass={};function IIe(t){var e=pj(t);dj(e),mj(e),Cj(e),(0,ri.forEach)(e,function(r){r.isParent=r.categoryMatches.length>0})}Ft.augmentTokenTypes=IIe;function pj(t){for(var e=(0,ri.cloneArr)(t),r=t,i=!0;i;){r=(0,ri.compact)((0,ri.flatten)((0,ri.map)(r,function(s){return s.CATEGORIES})));var n=(0,ri.difference)(r,e);e=e.concat(n),(0,ri.isEmpty)(n)?i=!1:r=n}return e}Ft.expandCategories=pj;function dj(t){(0,ri.forEach)(t,function(e){Ej(e)||(Ft.tokenIdxToClass[Ft.tokenShortNameIdx]=e,e.tokenTypeIdx=Ft.tokenShortNameIdx++),Ov(e)&&!(0,ri.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),Ov(e)||(e.CATEGORIES=[]),Ij(e)||(e.categoryMatches=[]),yj(e)||(e.categoryMatchesMap={})})}Ft.assignTokenDefaultProps=dj;function Cj(t){(0,ri.forEach)(t,function(e){e.categoryMatches=[],(0,ri.forEach)(e.categoryMatchesMap,function(r,i){e.categoryMatches.push(Ft.tokenIdxToClass[i].tokenTypeIdx)})})}Ft.assignCategoriesTokensProp=Cj;function mj(t){(0,ri.forEach)(t,function(e){Mv([],e)})}Ft.assignCategoriesMapProp=mj;function Mv(t,e){(0,ri.forEach)(t,function(r){e.categoryMatchesMap[r.tokenTypeIdx]=!0}),(0,ri.forEach)(e.CATEGORIES,function(r){var i=t.concat(e);(0,ri.contains)(i,r)||Mv(i,r)})}Ft.singleAssignCategoriesToksMap=Mv;function Ej(t){return(0,ri.has)(t,"tokenTypeIdx")}Ft.hasShortKeyProperty=Ej;function Ov(t){return(0,ri.has)(t,"CATEGORIES")}Ft.hasCategoriesProperty=Ov;function Ij(t){return(0,ri.has)(t,"categoryMatches")}Ft.hasExtendingTokensTypesProperty=Ij;function yj(t){return(0,ri.has)(t,"categoryMatchesMap")}Ft.hasExtendingTokensTypesMapProperty=yj;function yIe(t){return(0,ri.has)(t,"tokenTypeIdx")}Ft.isTokenType=yIe});var Uv=w(qI=>{"use strict";Object.defineProperty(qI,"__esModule",{value:!0});qI.defaultLexerErrorProvider=void 0;qI.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(t){return"Unable to pop Lexer Mode after encountering Token ->"+t.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(t,e,r,i,n){return"unexpected character: ->"+t.charAt(e)+"<- at offset: "+e+","+(" skipped "+r+" characters.")}}});var Dp=w(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.Lexer=Bc.LexerDefinitionErrorType=void 0;var so=Pv(),lr=Yt(),wIe=fg(),BIe=Uv(),bIe=HI(),QIe;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(QIe=Bc.LexerDefinitionErrorType||(Bc.LexerDefinitionErrorType={}));var Rp={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:BIe.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Rp);var vIe=function(){function t(e,r){var i=this;if(r===void 0&&(r=Rp),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=(0,lr.merge)(Rp,r);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=Infinity,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Rp.lineTerminatorsPattern)i.config.lineTerminatorsPattern=so.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Rp.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,lr.isArray)(e)?(s={modes:{}},s.modes[so.DEFAULT_MODE]=(0,lr.cloneArr)(e),s[so.DEFAULT_MODE]=so.DEFAULT_MODE):(o=!1,s=(0,lr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,so.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,so.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,lr.forEach)(s.modes,function(u,g){s.modes[g]=(0,lr.reject)(u,function(f){return(0,lr.isUndefined)(f)})});var a=(0,lr.keys)(s.modes);if((0,lr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,so.validatePatterns)(u,a))}),(0,lr.isEmpty)(i.lexerDefinitionErrors)){(0,wIe.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,so.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,lr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,lr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,lr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+c)}(0,lr.forEach)(i.lexerDefinitionWarning,function(u){(0,lr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(so.SUPPORT_STICKY?(i.chopInput=lr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=lr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=lr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=lr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=lr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,lr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(r.ensureOptimizations&&!(0,lr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,bIe.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,lr.toFastProperties)(i)})})}return t.prototype.tokenize=function(e,r){if(r===void 0&&(r=this.defaultMode),!(0,lr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,lr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+n)}var s=this.tokenizeInternal(e,r);return s},t.prototype.tokenizeInternal=function(e,r){var i=this,n,s,o,a,l,c,u,g,f,h,p,m,y,Q,S,x,M=e,Y=M.length,U=0,J=0,W=this.hasCustom?0:Math.floor(e.length/10),ee=new Array(W),Z=[],A=this.trackStartLines?1:void 0,ne=this.trackStartLines?1:void 0,le=(0,so.cloneEmptyGroups)(this.emptyGroups),Ae=this.trackStartLines,T=this.config.lineTerminatorsPattern,L=0,Ee=[],we=[],qe=[],re=[];Object.freeze(re);var se=void 0;function Qe(){return Ee}function he(vr){var Hn=(0,so.charCodeToOptimizedIndex)(vr),us=we[Hn];return us===void 0?re:us}var Fe=function(vr){if(qe.length===1&&vr.tokenType.PUSH_MODE===void 0){var Hn=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(vr);Z.push({offset:vr.startOffset,line:vr.startLine!==void 0?vr.startLine:void 0,column:vr.startColumn!==void 0?vr.startColumn:void 0,length:vr.image.length,message:Hn})}else{qe.pop();var us=(0,lr.last)(qe);Ee=i.patternIdxToConfig[us],we=i.charCodeToPatternIdxToConfig[us],L=Ee.length;var Ia=i.canModeBeOptimized[us]&&i.config.safeMode===!1;we&&Ia?se=he:se=Qe}};function Ue(vr){qe.push(vr),we=this.charCodeToPatternIdxToConfig[vr],Ee=this.patternIdxToConfig[vr],L=Ee.length,L=Ee.length;var Hn=this.canModeBeOptimized[vr]&&this.config.safeMode===!1;we&&Hn?se=he:se=Qe}Ue.call(this,r);for(var xe;Uc.length){c=a,u=g,xe=gt;break}}}break}}if(c!==null){if(f=c.length,h=xe.group,h!==void 0&&(p=xe.tokenTypeIdx,m=this.createTokenInstance(c,U,p,xe.tokenType,A,ne,f),this.handlePayload(m,u),h===!1?J=this.addToken(ee,J,m):le[h].push(m)),e=this.chopInput(e,f),U=U+f,ne=this.computeNewColumn(ne,f),Ae===!0&&xe.canLineTerminator===!0){var Mt=0,mi=void 0,jt=void 0;T.lastIndex=0;do mi=T.test(c),mi===!0&&(jt=T.lastIndex-1,Mt++);while(mi===!0);Mt!==0&&(A=A+Mt,ne=f-jt,this.updateTokenEndLineColumnLocation(m,h,jt,Mt,A,ne,f))}this.handleModes(xe,Fe,Ue,m)}else{for(var Qr=U,Ti=A,_s=ne,Un=!1;!Un&&U <"+e+">");var n=(0,lr.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",t.NA=/NOT_APPLICABLE/,t}();Bc.Lexer=vIe});var JA=w(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});xi.tokenMatcher=xi.createTokenInstance=xi.EOF=xi.createToken=xi.hasTokenLabel=xi.tokenName=xi.tokenLabel=void 0;var oo=Yt(),SIe=Dp(),Kv=fg();function kIe(t){return wj(t)?t.LABEL:t.name}xi.tokenLabel=kIe;function xIe(t){return t.name}xi.tokenName=xIe;function wj(t){return(0,oo.isString)(t.LABEL)&&t.LABEL!==""}xi.hasTokenLabel=wj;var PIe="parent",Bj="categories",bj="label",Qj="group",vj="push_mode",Sj="pop_mode",kj="longer_alt",xj="line_breaks",Pj="start_chars_hint";function Dj(t){return DIe(t)}xi.createToken=Dj;function DIe(t){var e=t.pattern,r={};if(r.name=t.name,(0,oo.isUndefined)(e)||(r.PATTERN=e),(0,oo.has)(t,PIe))throw`The parent property is no longer supported. +See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,oo.has)(t,Bj)&&(r.CATEGORIES=t[Bj]),(0,Kv.augmentTokenTypes)([r]),(0,oo.has)(t,bj)&&(r.LABEL=t[bj]),(0,oo.has)(t,Qj)&&(r.GROUP=t[Qj]),(0,oo.has)(t,Sj)&&(r.POP_MODE=t[Sj]),(0,oo.has)(t,vj)&&(r.PUSH_MODE=t[vj]),(0,oo.has)(t,kj)&&(r.LONGER_ALT=t[kj]),(0,oo.has)(t,xj)&&(r.LINE_BREAKS=t[xj]),(0,oo.has)(t,Pj)&&(r.START_CHARS_HINT=t[Pj]),r}xi.EOF=Dj({name:"EOF",pattern:SIe.Lexer.NA});(0,Kv.augmentTokenTypes)([xi.EOF]);function RIe(t,e,r,i,n,s,o,a){return{image:e,startOffset:r,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}xi.createTokenInstance=RIe;function FIe(t,e){return(0,Kv.tokenStructuredMatcher)(t,e)}xi.tokenMatcher=FIe});var bn=w(Vt=>{"use strict";var Ua=Vt&&Vt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.serializeProduction=Vt.serializeGrammar=Vt.Terminal=Vt.Alternation=Vt.RepetitionWithSeparator=Vt.Repetition=Vt.RepetitionMandatoryWithSeparator=Vt.RepetitionMandatory=Vt.Option=Vt.Alternative=Vt.Rule=Vt.NonTerminal=Vt.AbstractProduction=void 0;var fr=Yt(),NIe=JA(),To=function(){function t(e){this._definition=e}return Object.defineProperty(t.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),t.prototype.accept=function(e){e.visit(this),(0,fr.forEach)(this.definition,function(r){r.accept(e)})},t}();Vt.AbstractProduction=To;var Rj=function(t){Ua(e,t);function e(r){var i=t.call(this,[])||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(r){},enumerable:!1,configurable:!0}),e.prototype.accept=function(r){r.visit(this)},e}(To);Vt.NonTerminal=Rj;var Fj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.orgText="",(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Rule=Fj;var Nj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.ignoreAmbiguities=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Alternative=Nj;var Lj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Option=Lj;var Tj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatory=Tj;var Oj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionMandatoryWithSeparator=Oj;var Mj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.Repetition=Mj;var Uj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return e}(To);Vt.RepetitionWithSeparator=Uj;var Kj=function(t){Ua(e,t);function e(r){var i=t.call(this,r.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,fr.assign)(i,(0,fr.pick)(r,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(r){this._definition=r},enumerable:!1,configurable:!0}),e}(To);Vt.Alternation=Kj;var JI=function(){function t(e){this.idx=1,(0,fr.assign)(this,(0,fr.pick)(e,function(r){return r!==void 0}))}return t.prototype.accept=function(e){e.visit(this)},t}();Vt.Terminal=JI;function LIe(t){return(0,fr.map)(t,Fp)}Vt.serializeGrammar=LIe;function Fp(t){function e(s){return(0,fr.map)(s,Fp)}if(t instanceof Rj){var r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,fr.isString)(t.label)&&(r.label=t.label),r}else{if(t instanceof Nj)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Lj)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Tj)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Oj)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Fp(new JI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Uj)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Fp(new JI({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Mj)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Kj)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof JI){var i={type:"Terminal",name:t.terminalType.name,label:(0,NIe.tokenLabel)(t.terminalType),idx:t.idx};(0,fr.isString)(t.label)&&(i.terminalLabel=t.label);var n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(i.pattern=(0,fr.isRegExp)(n)?n.source:n),i}else{if(t instanceof Fj)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}Vt.serializeProduction=Fp});var zI=w(WI=>{"use strict";Object.defineProperty(WI,"__esModule",{value:!0});WI.RestWalker=void 0;var Hv=Yt(),Qn=bn(),TIe=function(){function t(){}return t.prototype.walk=function(e,r){var i=this;r===void 0&&(r=[]),(0,Hv.forEach)(e.definition,function(n,s){var o=(0,Hv.drop)(e.definition,s+1);if(n instanceof Qn.NonTerminal)i.walkProdRef(n,o,r);else if(n instanceof Qn.Terminal)i.walkTerminal(n,o,r);else if(n instanceof Qn.Alternative)i.walkFlat(n,o,r);else if(n instanceof Qn.Option)i.walkOption(n,o,r);else if(n instanceof Qn.RepetitionMandatory)i.walkAtLeastOne(n,o,r);else if(n instanceof Qn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,r);else if(n instanceof Qn.RepetitionWithSeparator)i.walkManySep(n,o,r);else if(n instanceof Qn.Repetition)i.walkMany(n,o,r);else if(n instanceof Qn.Alternation)i.walkOr(n,o,r);else throw Error("non exhaustive match")})},t.prototype.walkTerminal=function(e,r,i){},t.prototype.walkProdRef=function(e,r,i){},t.prototype.walkFlat=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkOption=function(e,r,i){var n=r.concat(i);this.walk(e,n)},t.prototype.walkAtLeastOne=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkAtLeastOneSep=function(e,r,i){var n=Hj(e,r,i);this.walk(e,n)},t.prototype.walkMany=function(e,r,i){var n=[new Qn.Option({definition:e.definition})].concat(r,i);this.walk(e,n)},t.prototype.walkManySep=function(e,r,i){var n=Hj(e,r,i);this.walk(e,n)},t.prototype.walkOr=function(e,r,i){var n=this,s=r.concat(i);(0,Hv.forEach)(e.definition,function(o){var a=new Qn.Alternative({definition:[o]});n.walk(a,s)})},t}();WI.RestWalker=TIe;function Hj(t,e,r){var i=[new Qn.Option({definition:[new Qn.Terminal({terminalType:t.separator})].concat(t.definition)})],n=i.concat(e,r);return n}});var hg=w(_I=>{"use strict";Object.defineProperty(_I,"__esModule",{value:!0});_I.GAstVisitor=void 0;var Oo=bn(),OIe=function(){function t(){}return t.prototype.visit=function(e){var r=e;switch(r.constructor){case Oo.NonTerminal:return this.visitNonTerminal(r);case Oo.Alternative:return this.visitAlternative(r);case Oo.Option:return this.visitOption(r);case Oo.RepetitionMandatory:return this.visitRepetitionMandatory(r);case Oo.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(r);case Oo.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(r);case Oo.Repetition:return this.visitRepetition(r);case Oo.Alternation:return this.visitAlternation(r);case Oo.Terminal:return this.visitTerminal(r);case Oo.Rule:return this.visitRule(r);default:throw Error("non exhaustive match")}},t.prototype.visitNonTerminal=function(e){},t.prototype.visitAlternative=function(e){},t.prototype.visitOption=function(e){},t.prototype.visitRepetition=function(e){},t.prototype.visitRepetitionMandatory=function(e){},t.prototype.visitRepetitionMandatoryWithSeparator=function(e){},t.prototype.visitRepetitionWithSeparator=function(e){},t.prototype.visitAlternation=function(e){},t.prototype.visitTerminal=function(e){},t.prototype.visitRule=function(e){},t}();_I.GAstVisitor=OIe});var Lp=w(Gi=>{"use strict";var MIe=Gi&&Gi.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Gi,"__esModule",{value:!0});Gi.collectMethods=Gi.DslMethodsCollectorVisitor=Gi.getProductionDslName=Gi.isBranchingProd=Gi.isOptionalProd=Gi.isSequenceProd=void 0;var Np=Yt(),kr=bn(),UIe=hg();function KIe(t){return t instanceof kr.Alternative||t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionMandatory||t instanceof kr.RepetitionMandatoryWithSeparator||t instanceof kr.RepetitionWithSeparator||t instanceof kr.Terminal||t instanceof kr.Rule}Gi.isSequenceProd=KIe;function jv(t,e){e===void 0&&(e=[]);var r=t instanceof kr.Option||t instanceof kr.Repetition||t instanceof kr.RepetitionWithSeparator;return r?!0:t instanceof kr.Alternation?(0,Np.some)(t.definition,function(i){return jv(i,e)}):t instanceof kr.NonTerminal&&(0,Np.contains)(e,t)?!1:t instanceof kr.AbstractProduction?(t instanceof kr.NonTerminal&&e.push(t),(0,Np.every)(t.definition,function(i){return jv(i,e)})):!1}Gi.isOptionalProd=jv;function HIe(t){return t instanceof kr.Alternation}Gi.isBranchingProd=HIe;function jIe(t){if(t instanceof kr.NonTerminal)return"SUBRULE";if(t instanceof kr.Option)return"OPTION";if(t instanceof kr.Alternation)return"OR";if(t instanceof kr.RepetitionMandatory)return"AT_LEAST_ONE";if(t instanceof kr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(t instanceof kr.RepetitionWithSeparator)return"MANY_SEP";if(t instanceof kr.Repetition)return"MANY";if(t instanceof kr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Gi.getProductionDslName=jIe;var jj=function(t){MIe(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.separator="-",r.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},r}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(r){var i=r.terminalType.name+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitNonTerminal=function(r){var i=r.nonTerminalName+this.separator+"Terminal";(0,Np.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(r)},e.prototype.visitOption=function(r){this.dslMethods.option.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.dslMethods.repetitionWithSeparator.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.dslMethods.repetitionMandatory.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.dslMethods.repetitionMandatoryWithSeparator.push(r)},e.prototype.visitRepetition=function(r){this.dslMethods.repetition.push(r)},e.prototype.visitAlternation=function(r){this.dslMethods.alternation.push(r)},e}(UIe.GAstVisitor);Gi.DslMethodsCollectorVisitor=jj;var VI=new jj;function GIe(t){VI.reset(),t.accept(VI);var e=VI.dslMethods;return VI.reset(),e}Gi.collectMethods=GIe});var Yv=w(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.firstForTerminal=Mo.firstForBranching=Mo.firstForSequence=Mo.first=void 0;var XI=Yt(),Gj=bn(),Gv=Lp();function ZI(t){if(t instanceof Gj.NonTerminal)return ZI(t.referencedRule);if(t instanceof Gj.Terminal)return Jj(t);if((0,Gv.isSequenceProd)(t))return Yj(t);if((0,Gv.isBranchingProd)(t))return qj(t);throw Error("non exhaustive match")}Mo.first=ZI;function Yj(t){for(var e=[],r=t.definition,i=0,n=r.length>i,s,o=!0;n&&o;)s=r[i],o=(0,Gv.isOptionalProd)(s),e=e.concat(ZI(s)),i=i+1,n=r.length>i;return(0,XI.uniq)(e)}Mo.firstForSequence=Yj;function qj(t){var e=(0,XI.map)(t.definition,function(r){return ZI(r)});return(0,XI.uniq)((0,XI.flatten)(e))}Mo.firstForBranching=qj;function Jj(t){return[t.terminalType]}Mo.firstForTerminal=Jj});var qv=w($I=>{"use strict";Object.defineProperty($I,"__esModule",{value:!0});$I.IN=void 0;$I.IN="_~IN~_"});var Xj=w(Qs=>{"use strict";var YIe=Qs&&Qs.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Qs,"__esModule",{value:!0});Qs.buildInProdFollowPrefix=Qs.buildBetweenProdsFollowPrefix=Qs.computeAllProdsFollows=Qs.ResyncFollowsWalker=void 0;var qIe=zI(),JIe=Yv(),Wj=Yt(),zj=qv(),WIe=bn(),Vj=function(t){YIe(e,t);function e(r){var i=t.call(this)||this;return i.topProd=r,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(r,i,n){},e.prototype.walkProdRef=function(r,i,n){var s=_j(r.referencedRule,r.idx)+this.topProd.name,o=i.concat(n),a=new WIe.Alternative({definition:o}),l=(0,JIe.first)(a);this.follows[s]=l},e}(qIe.RestWalker);Qs.ResyncFollowsWalker=Vj;function zIe(t){var e={};return(0,Wj.forEach)(t,function(r){var i=new Vj(r).startWalking();(0,Wj.assign)(e,i)}),e}Qs.computeAllProdsFollows=zIe;function _j(t,e){return t.name+e+zj.IN}Qs.buildBetweenProdsFollowPrefix=_j;function _Ie(t){var e=t.terminalType.name;return e+t.idx+zj.IN}Qs.buildInProdFollowPrefix=_Ie});var Tp=w(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});Ka.defaultGrammarValidatorErrorProvider=Ka.defaultGrammarResolverErrorProvider=Ka.defaultParserErrorProvider=void 0;var pg=JA(),VIe=Yt(),ao=Yt(),Jv=bn(),Zj=Lp();Ka.defaultParserErrorProvider={buildMismatchTokenMessage:function(t){var e=t.expected,r=t.actual,i=t.previous,n=t.ruleName,s=(0,pg.hasTokenLabel)(e),o=s?"--> "+(0,pg.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+r.image+"' <--";return a},buildNotAllInputParsedMessage:function(t){var e=t.firstRedundant,r=t.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(t){var e=t.expectedPathsPerAlt,r=t.actual,i=t.previous,n=t.customUserDescription,s=t.ruleName,o="Expecting: ",a=(0,ao.first)(r).image,l=` +but found: '`+a+"'";if(n)return o+n+l;var c=(0,ao.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,ao.map)(c,function(h){return"["+(0,ao.map)(h,function(p){return(0,pg.tokenLabel)(p)}).join(", ")+"]"}),g=(0,ao.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: +`+g.join(` +`);return o+f+l},buildEarlyExitMessage:function(t){var e=t.expectedIterationPaths,r=t.actual,i=t.customUserDescription,n=t.ruleName,s="Expecting: ",o=(0,ao.first)(r).image,a=` +but found: '`+o+"'";if(i)return s+i+a;var l=(0,ao.map)(e,function(u){return"["+(0,ao.map)(u,function(g){return(0,pg.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: + `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ka.defaultParserErrorProvider);Ka.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(t,e){var r="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-";return r}};Ka.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(t,e){function r(u){return u instanceof Jv.Terminal?u.terminalType.name:u instanceof Jv.NonTerminal?u.nonTerminalName:""}var i=t.name,n=(0,ao.first)(e),s=n.idx,o=(0,Zj.getProductionDslName)(n),a=r(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` + appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` +`),c},buildNamespaceConflictError:function(t){var e=`Namespace conflict found in grammar. +`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+t.name+`>. +`)+`To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(t){var e=(0,ao.map)(t.prefixPath,function(n){return(0,pg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous alternatives: <"+t.ambiguityIndices.join(" ,")+`> due to common lookahead prefix +`+("in inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`;return i},buildAlternationAmbiguityError:function(t){var e=(0,ao.map)(t.prefixPath,function(n){return(0,pg.tokenLabel)(n)}).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,i="Ambiguous Alternatives Detected: <"+t.ambiguityIndices.join(" ,")+"> in "+(" inside <"+t.topLevelRule.name+`> Rule, +`)+("<"+e+`> may appears as a prefix path in all these alternatives. +`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,i},buildEmptyRepetitionError:function(t){var e=(0,Zj.getProductionDslName)(t.repetition);t.repetition.idx!==0&&(e+=t.repetition.idx);var r="The repetition <"+e+"> within Rule <"+t.topLevelRule.name+`> can never consume any tokens. +This could lead to an infinite loop.`;return r},buildTokenNameError:function(t){return"deprecated"},buildEmptyAlternationError:function(t){var e="Ambiguous empty alternative: <"+(t.emptyChoiceIdx+1)+">"+(" in inside <"+t.topLevelRule.name+`> Rule. +`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(t){var e=`An Alternation cannot have more than 256 alternatives: +`+(" inside <"+t.topLevelRule.name+`> Rule. + has `+(t.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(t){var e=t.topLevelRule.name,r=VIe.map(t.leftRecursionPath,function(s){return s.name}),i=e+" --> "+r.concat([e]).join(" --> "),n=`Left Recursion found in grammar. +`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) +`)+(`without consuming any Tokens. The grammar path that causes this is: + `+i+` +`)+` To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(t){return"deprecated"},buildDuplicateRuleNameError:function(t){var e;t.topLevelRule instanceof Jv.Rule?e=t.topLevelRule.name:e=t.topLevelRule;var r="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+t.grammarName+"<-";return r}}});var tG=w(WA=>{"use strict";var XIe=WA&&WA.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(WA,"__esModule",{value:!0});WA.GastRefResolverVisitor=WA.resolveGrammar=void 0;var ZIe=Xn(),$j=Yt(),$Ie=hg();function eye(t,e){var r=new eG(t,e);return r.resolveRefs(),r.errors}WA.resolveGrammar=eye;var eG=function(t){XIe(e,t);function e(r,i){var n=t.call(this)||this;return n.nameToTopRule=r,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var r=this;(0,$j.forEach)((0,$j.values)(this.nameToTopRule),function(i){r.currTopLevel=i,i.accept(r)})},e.prototype.visitNonTerminal=function(r){var i=this.nameToTopRule[r.nonTerminalName];if(i)r.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,r);this.errors.push({message:n,type:ZIe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:r.nonTerminalName})}},e}($Ie.GAstVisitor);WA.GastRefResolverVisitor=eG});var Mp=w(Mr=>{"use strict";var bc=Mr&&Mr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Mr,"__esModule",{value:!0});Mr.nextPossibleTokensAfter=Mr.possiblePathsFrom=Mr.NextTerminalAfterAtLeastOneSepWalker=Mr.NextTerminalAfterAtLeastOneWalker=Mr.NextTerminalAfterManySepWalker=Mr.NextTerminalAfterManyWalker=Mr.AbstractNextTerminalAfterProductionWalker=Mr.NextAfterTokenWalker=Mr.AbstractNextPossibleTokensWalker=void 0;var rG=zI(),Ut=Yt(),tye=Yv(),Dt=bn(),iG=function(t){bc(e,t);function e(r,i){var n=t.call(this)||this;return n.topProd=r,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(r,i){i===void 0&&(i=[]),this.found||t.prototype.walk.call(this,r,i)},e.prototype.walkProdRef=function(r,i,n){if(r.referencedRule.name===this.nextProductionName&&r.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(r.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(rG.RestWalker);Mr.AbstractNextPossibleTokensWalker=iG;var rye=function(t){bc(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(r,i,n){if(this.isAtEndOfPath&&r.terminalType.name===this.nextTerminalName&&r.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,tye.first)(o),this.found=!0}},e}(iG);Mr.NextAfterTokenWalker=rye;var Op=function(t){bc(e,t);function e(r,i){var n=t.call(this)||this;return n.topRule=r,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(rG.RestWalker);Mr.AbstractNextTerminalAfterProductionWalker=Op;var iye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkMany=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkMany.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterManyWalker=iye;var nye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkManySep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkManySep.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterManySepWalker=nye;var sye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOne.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterAtLeastOneWalker=sye;var oye=function(t){bc(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(r,i,n){if(r.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else t.prototype.walkAtLeastOneSep.call(this,r,i,n)},e}(Op);Mr.NextTerminalAfterAtLeastOneSepWalker=oye;function nG(t,e,r){r===void 0&&(r=[]),r=(0,Ut.cloneArr)(r);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(t,n+1))}function o(c){var u=nG(s(c),e,r);return i.concat(u)}for(;r.length=0;le--){var Ae=Q.definition[le],T={idx:p,def:Ae.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y};g.push(T),g.push(o)}else if(Q instanceof Dt.Alternative)g.push({idx:p,def:Q.definition.concat((0,Ut.drop)(h)),ruleStack:m,occurrenceStack:y});else if(Q instanceof Dt.Rule)g.push(aye(Q,p,m,y));else throw Error("non exhaustive match")}}return u}Mr.nextPossibleTokensAfter=Aye;function aye(t,e,r,i){var n=(0,Ut.cloneArr)(r);n.push(t.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:t.definition,ruleStack:n,occurrenceStack:s}}});var Up=w(tr=>{"use strict";var sG=tr&&tr.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(tr,"__esModule",{value:!0});tr.areTokenCategoriesNotUsed=tr.isStrictPrefixOfPath=tr.containsPath=tr.getLookaheadPathsForOptionalProd=tr.getLookaheadPathsForOr=tr.lookAheadSequenceFromAlternatives=tr.buildSingleAlternativeLookaheadFunction=tr.buildAlternativesLookAheadFunc=tr.buildLookaheadFuncForOptionalProd=tr.buildLookaheadFuncForOr=tr.getProdType=tr.PROD_TYPE=void 0;var cr=Yt(),oG=Mp(),lye=zI(),ey=fg(),zA=bn(),cye=hg(),ci;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ci=tr.PROD_TYPE||(tr.PROD_TYPE={}));function uye(t){if(t instanceof zA.Option)return ci.OPTION;if(t instanceof zA.Repetition)return ci.REPETITION;if(t instanceof zA.RepetitionMandatory)return ci.REPETITION_MANDATORY;if(t instanceof zA.RepetitionMandatoryWithSeparator)return ci.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof zA.RepetitionWithSeparator)return ci.REPETITION_WITH_SEPARATOR;if(t instanceof zA.Alternation)return ci.ALTERNATION;throw Error("non exhaustive match")}tr.getProdType=uye;function gye(t,e,r,i,n,s){var o=aG(t,e,r),a=Wv(o)?ey.tokenStructuredMatcherNoCategories:ey.tokenStructuredMatcher;return s(o,i,a,n)}tr.buildLookaheadFuncForOr=gye;function fye(t,e,r,i,n,s){var o=AG(t,e,n,r),a=Wv(o)?ey.tokenStructuredMatcherNoCategories:ey.tokenStructuredMatcher;return s(o[0],a,i)}tr.buildLookaheadFuncForOptionalProd=fye;function hye(t,e,r,i){var n=t.length,s=(0,cr.every)(t,function(l){return(0,cr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,cr.map)(l,function(x){return x.GATE}),u=0;u{"use strict";var Vv=Xt&&Xt.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Xt,"__esModule",{value:!0});Xt.checkPrefixAlternativesAmbiguities=Xt.validateSomeNonEmptyLookaheadPath=Xt.validateTooManyAlts=Xt.RepetionCollector=Xt.validateAmbiguousAlternationAlternatives=Xt.validateEmptyOrAlternative=Xt.getFirstNoneTerminal=Xt.validateNoLeftRecursion=Xt.validateRuleIsOverridden=Xt.validateRuleDoesNotAlreadyExist=Xt.OccurrenceValidationCollector=Xt.identifyProductionForDuplicates=Xt.validateGrammar=void 0;var nr=Yt(),xr=Yt(),Uo=Xn(),Xv=Lp(),dg=Up(),Eye=Mp(),Ao=bn(),Zv=hg();function wye(t,e,r,i,n){var s=nr.map(t,function(h){return Iye(h,i)}),o=nr.map(t,function(h){return $v(h,h,i)}),a=[],l=[],c=[];(0,xr.every)(o,xr.isEmpty)&&(a=(0,xr.map)(t,function(h){return fG(h,i)}),l=(0,xr.map)(t,function(h){return hG(h,e,i)}),c=dG(t,e,i));var u=yye(t,r,i),g=(0,xr.map)(t,function(h){return pG(h,i)}),f=(0,xr.map)(t,function(h){return gG(h,t,n,i)});return nr.flatten(s.concat(c,o,a,l,u,g,f))}Xt.validateGrammar=wye;function Iye(t,e){var r=new EG;t.accept(r);var i=r.allProductions,n=nr.groupBy(i,CG),s=nr.pick(n,function(a){return a.length>1}),o=nr.map(nr.values(s),function(a){var l=nr.first(a),c=e.buildDuplicateFoundError(t,a),u=(0,Xv.getProductionDslName)(l),g={message:c,type:Uo.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:l.idx},f=mG(l);return f&&(g.parameter=f),g});return o}function CG(t){return(0,Xv.getProductionDslName)(t)+"_#_"+t.idx+"_#_"+mG(t)}Xt.identifyProductionForDuplicates=CG;function mG(t){return t instanceof Ao.Terminal?t.terminalType.name:t instanceof Ao.NonTerminal?t.nonTerminalName:""}var EG=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitNonTerminal=function(r){this.allProductions.push(r)},e.prototype.visitOption=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e.prototype.visitAlternation=function(r){this.allProductions.push(r)},e.prototype.visitTerminal=function(r){this.allProductions.push(r)},e}(Zv.GAstVisitor);Xt.OccurrenceValidationCollector=EG;function gG(t,e,r,i){var n=[],s=(0,xr.reduce)(e,function(a,l){return l.name===t.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});n.push({message:o,type:Uo.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:t.name})}return n}Xt.validateRuleDoesNotAlreadyExist=gG;function Bye(t,e,r){var i=[],n;return nr.contains(e,t)||(n="Invalid rule override, rule: ->"+t+"<- cannot be overridden in the grammar: ->"+r+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:Uo.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:t})),i}Xt.validateRuleIsOverridden=Bye;function $v(t,e,r,i){i===void 0&&(i=[]);var n=[],s=Kp(e.definition);if(nr.isEmpty(s))return[];var o=t.name,a=nr.contains(s,t);a&&n.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:Uo.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=nr.difference(s,i.concat([t])),c=nr.map(l,function(u){var g=nr.cloneArr(i);return g.push(u),$v(t,u,r,g)});return n.concat(nr.flatten(c))}Xt.validateNoLeftRecursion=$v;function Kp(t){var e=[];if(nr.isEmpty(t))return e;var r=nr.first(t);if(r instanceof Ao.NonTerminal)e.push(r.referencedRule);else if(r instanceof Ao.Alternative||r instanceof Ao.Option||r instanceof Ao.RepetitionMandatory||r instanceof Ao.RepetitionMandatoryWithSeparator||r instanceof Ao.RepetitionWithSeparator||r instanceof Ao.Repetition)e=e.concat(Kp(r.definition));else if(r instanceof Ao.Alternation)e=nr.flatten(nr.map(r.definition,function(o){return Kp(o.definition)}));else if(!(r instanceof Ao.Terminal))throw Error("non exhaustive match");var i=(0,Xv.isOptionalProd)(r),n=t.length>1;if(i&&n){var s=nr.drop(t);return e.concat(Kp(s))}else return e}Xt.getFirstNoneTerminal=Kp;var eS=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.alternations=[],r}return e.prototype.visitAlternation=function(r){this.alternations.push(r)},e}(Zv.GAstVisitor);function fG(t,e){var r=new eS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){var a=nr.dropRight(o.definition),l=nr.map(a,function(c,u){var g=(0,Eye.nextPossibleTokensAfter)([c],[],null,1);return nr.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:u}),type:Uo.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(nr.compact(l))},[]);return n}Xt.validateEmptyOrAlternative=fG;function hG(t,e,r){var i=new eS;t.accept(i);var n=i.alternations;n=(0,xr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=nr.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,dg.getLookaheadPathsForOr)(l,t,c,a),g=bye(u,a,t,r),f=IG(u,a,t,r);return o.concat(g,f)},[]);return s}Xt.validateAmbiguousAlternationAlternatives=hG;var yG=function(t){Vv(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.allProductions=[],r}return e.prototype.visitRepetitionWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatory=function(r){this.allProductions.push(r)},e.prototype.visitRepetitionMandatoryWithSeparator=function(r){this.allProductions.push(r)},e.prototype.visitRepetition=function(r){this.allProductions.push(r)},e}(Zv.GAstVisitor);Xt.RepetionCollector=yG;function pG(t,e){var r=new eS;t.accept(r);var i=r.alternations,n=nr.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:Uo.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}),s},[]);return n}Xt.validateTooManyAlts=pG;function dG(t,e,r){var i=[];return(0,xr.forEach)(t,function(n){var s=new yG;n.accept(s);var o=s.allProductions;(0,xr.forEach)(o,function(a){var l=(0,dg.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,dg.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,xr.isEmpty)((0,xr.flatten)(f))){var h=r.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:Uo.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}Xt.validateSomeNonEmptyLookaheadPath=dG;function bye(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,xr.forEach)(l,function(u){var g=[c];(0,xr.forEach)(t,function(f,h){c!==h&&(0,dg.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,dg.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=nr.map(s,function(a){var l=(0,xr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:Uo.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function IG(t,e,r,i){var n=[],s=(0,xr.reduce)(t,function(o,a,l){var c=(0,xr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,xr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,xr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(Cg,"__esModule",{value:!0});Cg.validateGrammar=Cg.resolveGrammar=void 0;var rS=Yt(),Qye=tG(),vye=tS(),wG=Tp();function Sye(t){t=(0,rS.defaults)(t,{errMsgProvider:wG.defaultGrammarResolverErrorProvider});var e={};return(0,rS.forEach)(t.rules,function(r){e[r.name]=r}),(0,Qye.resolveGrammar)(e,t.errMsgProvider)}Cg.resolveGrammar=Sye;function kye(t){return t=(0,rS.defaults)(t,{errMsgProvider:wG.defaultGrammarValidatorErrorProvider}),(0,vye.validateGrammar)(t.rules,t.maxLookahead,t.tokenTypes,t.errMsgProvider,t.grammarName)}Cg.validateGrammar=kye});var mg=w(vn=>{"use strict";var Hp=vn&&vn.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(vn,"__esModule",{value:!0});vn.EarlyExitException=vn.NotAllInputParsedException=vn.NoViableAltException=vn.MismatchedTokenException=vn.isRecognitionException=void 0;var xye=Yt(),bG="MismatchedTokenException",QG="NoViableAltException",vG="EarlyExitException",SG="NotAllInputParsedException",kG=[bG,QG,vG,SG];Object.freeze(kG);function Pye(t){return(0,xye.contains)(kG,t.name)}vn.isRecognitionException=Pye;var ty=function(t){Hp(e,t);function e(r,i){var n=this.constructor,s=t.call(this,r)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Dye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=bG,s}return e}(ty);vn.MismatchedTokenException=Dye;var Rye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=QG,s}return e}(ty);vn.NoViableAltException=Rye;var Fye=function(t){Hp(e,t);function e(r,i){var n=t.call(this,r,i)||this;return n.name=SG,n}return e}(ty);vn.NotAllInputParsedException=Fye;var Nye=function(t){Hp(e,t);function e(r,i,n){var s=t.call(this,r,i)||this;return s.previousToken=n,s.name=vG,s}return e}(ty);vn.EarlyExitException=Nye});var nS=w(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.attemptInRepetitionRecovery=Yi.Recoverable=Yi.InRuleRecoveryException=Yi.IN_RULE_RECOVERY_EXCEPTION=Yi.EOF_FOLLOW_KEY=void 0;var ry=JA(),vs=Yt(),Lye=mg(),Tye=qv(),Oye=Xn();Yi.EOF_FOLLOW_KEY={};Yi.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function iS(t){this.name=Yi.IN_RULE_RECOVERY_EXCEPTION,this.message=t}Yi.InRuleRecoveryException=iS;iS.prototype=Error.prototype;var Mye=function(){function t(){}return t.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,vs.has)(e,"recoveryEnabled")?e.recoveryEnabled:Oye.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=xG)},t.prototype.getTokenToInsert=function(e){var r=(0,ry.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r},t.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},t.prototype.tryInRepetitionRecovery=function(e,r,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),m=new Lye.MismatchedTokenException(p,u,s.LA(0));m.resyncedTokens=(0,vs.dropRight)(l),s.SAVE_ERROR(m)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},t.prototype.shouldInRepetitionRecoveryBeTried=function(e,r,i){return!(i===!1||e===void 0||r===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))},t.prototype.getFollowsForInRuleRecovery=function(e,r){var i=this.getCurrentGrammarPath(e,r),n=this.getNextPossibleTokenTypes(i);return n},t.prototype.tryInRuleRecovery=function(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new iS("sad sad panda")},t.prototype.canPerformInRuleRecovery=function(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)},t.prototype.canRecoverWithSingleTokenInsertion=function(e,r){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,vs.isEmpty)(r))return!1;var n=this.LA(1),s=(0,vs.find)(r,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},t.prototype.canRecoverWithSingleTokenDeletion=function(e){var r=this.tokenMatcher(this.LA(2),e);return r},t.prototype.isInCurrentRuleReSyncSet=function(e){var r=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(r);return(0,vs.contains)(i,e)},t.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),r=this.LA(1),i=2;;){var n=r.tokenType;if((0,vs.contains)(e,n))return n;r=this.LA(i),i++}},t.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Yi.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(i)}},t.prototype.buildFullFollowKeyStack=function(){var e=this,r=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,vs.map)(r,function(n,s){return s===0?Yi.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(r[s-1])}})},t.prototype.flattenFollowSet=function(){var e=this,r=(0,vs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,vs.flatten)(r)},t.prototype.getFollowSetFromFollowKey=function(e){if(e===Yi.EOF_FOLLOW_KEY)return[ry.EOF];var r=e.ruleName+e.idxInCallingRule+Tye.IN+e.inRule;return this.resyncFollows[r]},t.prototype.addToResyncTokens=function(e,r){return this.tokenMatcher(e,ry.EOF)||r.push(e),r},t.prototype.reSyncTo=function(e){for(var r=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,r);return(0,vs.dropRight)(r)},t.prototype.attemptInRepetitionRecovery=function(e,r,i,n,s,o,a){},t.prototype.getCurrentGrammarPath=function(e,r){var i=this.getHumanReadableRuleStack(),n=(0,vs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:r};return s},t.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,vs.map)(this.RULE_STACK,function(r){return e.shortRuleNameToFullName(r)})},t}();Yi.Recoverable=Mye;function xG(t,e,r,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=ry.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(t,e,r,f)}Yi.attemptInRepetitionRecovery=xG});var iy=w(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.getKeyForAutomaticLookahead=Jt.AT_LEAST_ONE_SEP_IDX=Jt.MANY_SEP_IDX=Jt.AT_LEAST_ONE_IDX=Jt.MANY_IDX=Jt.OPTION_IDX=Jt.OR_IDX=Jt.BITS_FOR_ALT_IDX=Jt.BITS_FOR_RULE_IDX=Jt.BITS_FOR_OCCURRENCE_IDX=Jt.BITS_FOR_METHOD_TYPE=void 0;Jt.BITS_FOR_METHOD_TYPE=4;Jt.BITS_FOR_OCCURRENCE_IDX=8;Jt.BITS_FOR_RULE_IDX=12;Jt.BITS_FOR_ALT_IDX=8;Jt.OR_IDX=1<{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.LooksAhead=void 0;var Ha=Up(),lo=Yt(),PG=Xn(),ja=iy(),Qc=Lp(),Kye=function(){function t(){}return t.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,lo.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:PG.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,lo.has)(e,"maxLookahead")?e.maxLookahead:PG.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,lo.isES2015MapSupported)()?new Map:[],(0,lo.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},t.prototype.preComputeLookaheadFunctions=function(e){var r=this;(0,lo.forEach)(e,function(i){r.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Qc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,lo.forEach)(s,function(g){var f=g.idx===0?"":g.idx;r.TRACE_INIT(""+(0,Qc.getProductionDslName)(g)+f,function(){var h=(0,Ha.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||r.maxLookahead,g.hasPredicates,r.dynamicTokensEnabled,r.lookAheadBuilderForAlternatives),p=(0,ja.getKeyForAutomaticLookahead)(r.fullRuleNameToShort[i.name],ja.OR_IDX,g.idx);r.setLaFuncCache(p,h)})}),(0,lo.forEach)(o,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_IDX,Ha.PROD_TYPE.REPETITION,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(a,function(g){r.computeLookaheadFunc(i,g.idx,ja.OPTION_IDX,Ha.PROD_TYPE.OPTION,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(l,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_IDX,Ha.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(c,function(g){r.computeLookaheadFunc(i,g.idx,ja.AT_LEAST_ONE_SEP_IDX,Ha.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Qc.getProductionDslName)(g))}),(0,lo.forEach)(u,function(g){r.computeLookaheadFunc(i,g.idx,ja.MANY_SEP_IDX,Ha.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Qc.getProductionDslName)(g))})})})},t.prototype.computeLookaheadFunc=function(e,r,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(r===0?"":r),function(){var l=(0,Ha.buildLookaheadFuncForOptionalProd)(r,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,ja.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,r);a.setLaFuncCache(c,l)})},t.prototype.lookAheadBuilderForOptional=function(e,r,i){return(0,Ha.buildSingleAlternativeLookaheadFunction)(e,r,i)},t.prototype.lookAheadBuilderForAlternatives=function(e,r,i,n){return(0,Ha.buildAlternativesLookAheadFunc)(e,r,i,n)},t.prototype.getKeyForAutomaticLookahead=function(e,r){var i=this.getLastExplicitRuleShortName();return(0,ja.getKeyForAutomaticLookahead)(i,e,r)},t.prototype.getLaFuncFromCache=function(e){},t.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},t.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},t.prototype.setLaFuncCache=function(e,r){},t.prototype.setLaFuncCacheUsingMap=function(e,r){this.lookAheadFuncsCache.set(e,r)},t.prototype.setLaFuncUsingObj=function(e,r){this.lookAheadFuncsCache[e]=r},t}();ny.LooksAhead=Kye});var RG=w(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.addNoneTerminalToCst=Ko.addTerminalToCst=Ko.setNodeLocationFull=Ko.setNodeLocationOnlyOffset=void 0;function Hye(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";Object.defineProperty(_A,"__esModule",{value:!0});_A.defineNameProp=_A.functionName=_A.classNameFromInstance=void 0;var qye=Yt();function Jye(t){return FG(t.constructor)}_A.classNameFromInstance=Jye;var NG="name";function FG(t){var e=t.name;return e||"anonymous"}_A.functionName=FG;function Wye(t,e){var r=Object.getOwnPropertyDescriptor(t,NG);return(0,qye.isUndefined)(r)||r.configurable?(Object.defineProperty(t,NG,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}_A.defineNameProp=Wye});var UG=w(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.validateRedundantMethods=Pi.validateMissingCstMethods=Pi.validateVisitor=Pi.CstVisitorDefinitionError=Pi.createBaseVisitorConstructorWithDefaults=Pi.createBaseSemanticVisitorConstructor=Pi.defaultVisit=void 0;var Ss=Yt(),jp=sS();function LG(t,e){for(var r=(0,Ss.keys)(t),i=r.length,n=0;n: + `+(""+s.join(` + +`).replace(/\n/g,` + `)))}}};return r.prototype=i,r.prototype.constructor=r,r._RULE_NAMES=e,r}Pi.createBaseSemanticVisitorConstructor=zye;function _ye(t,e,r){var i=function(){};(0,jp.defineNameProp)(i,t+"BaseSemanticsWithDefaults");var n=Object.create(r.prototype);return(0,Ss.forEach)(e,function(s){n[s]=LG}),i.prototype=n,i.prototype.constructor=i,i}Pi.createBaseVisitorConstructorWithDefaults=_ye;var oS;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(oS=Pi.CstVisitorDefinitionError||(Pi.CstVisitorDefinitionError={}));function TG(t,e){var r=OG(t,e),i=MG(t,e);return r.concat(i)}Pi.validateVisitor=TG;function OG(t,e){var r=(0,Ss.map)(e,function(i){if(!(0,Ss.isFunction)(t[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+" CST Visitor.",type:oS.MISSING_METHOD,methodName:i}});return(0,Ss.compact)(r)}Pi.validateMissingCstMethods=OG;var Vye=["constructor","visit","validateVisitor"];function MG(t,e){var r=[];for(var i in t)(0,Ss.isFunction)(t[i])&&!(0,Ss.contains)(Vye,i)&&!(0,Ss.contains)(e,i)&&r.push({msg:"Redundant visitor method: <"+i+"> on "+(0,jp.functionName)(t.constructor)+` CST Visitor +There is no Grammar Rule corresponding to this method's name. +`,type:oS.REDUNDANT_METHOD,methodName:i});return r}Pi.validateRedundantMethods=MG});var HG=w(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:!0});sy.TreeBuilder=void 0;var Eg=RG(),ii=Yt(),KG=UG(),Xye=Xn(),Zye=function(){function t(){}return t.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ii.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:Xye.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ii.NOOP,this.cstFinallyStateUpdate=ii.NOOP,this.cstPostTerminal=ii.NOOP,this.cstPostNonTerminal=ii.NOOP,this.cstPostRule=ii.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eg.setNodeLocationFull,this.setNodeLocationFromNode=Eg.setNodeLocationFull,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Eg.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=Eg.setNodeLocationOnlyOffset,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ii.NOOP,this.setNodeLocationFromNode=ii.NOOP,this.cstPostRule=ii.NOOP,this.setInitialNodeLocation=ii.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},t.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},t.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},t.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.setInitialNodeLocationFullRegular=function(e){var r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},t.prototype.cstInvocationStateUpdate=function(e,r){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},t.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},t.prototype.cstPostRuleFull=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?(i.endOffset=r.endOffset,i.endLine=r.endLine,i.endColumn=r.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},t.prototype.cstPostRuleOnlyOffset=function(e){var r=this.LA(0),i=e.location;i.startOffset<=r.startOffset?i.endOffset=r.endOffset:i.startOffset=NaN},t.prototype.cstPostTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Eg.addTerminalToCst)(i,r,e),this.setNodeLocationFromToken(i.location,r)},t.prototype.cstPostNonTerminal=function(e,r){var i=this.CST_STACK[this.CST_STACK.length-1];(0,Eg.addNoneTerminalToCst)(i,r,e),this.setNodeLocationFromNode(i.location,e.location)},t.prototype.getBaseCstVisitorConstructor=function(){if((0,ii.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,KG.createBaseSemanticVisitorConstructor)(this.className,(0,ii.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},t.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ii.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,KG.createBaseVisitorConstructorWithDefaults)(this.className,(0,ii.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},t.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},t.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},t.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},t}();sy.TreeBuilder=Zye});var GG=w(oy=>{"use strict";Object.defineProperty(oy,"__esModule",{value:!0});oy.LexerAdapter=void 0;var jG=Xn(),$ye=function(){function t(){}return t.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(t.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),t.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):jG.END_OF_FILE},t.prototype.LA=function(e){var r=this.currIdx+e;return r<0||this.tokVectorLength<=r?jG.END_OF_FILE:this.tokVector[r]},t.prototype.consumeToken=function(){this.currIdx++},t.prototype.exportLexerState=function(){return this.currIdx},t.prototype.importLexerState=function(e){this.currIdx=e},t.prototype.resetLexerState=function(){this.currIdx=-1},t.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},t.prototype.getLexerPosition=function(){return this.exportLexerState()},t}();oy.LexerAdapter=$ye});var qG=w(ay=>{"use strict";Object.defineProperty(ay,"__esModule",{value:!0});ay.RecognizerApi=void 0;var YG=Yt(),ewe=mg(),aS=Xn(),twe=Tp(),rwe=tS(),iwe=bn(),nwe=function(){function t(){}return t.prototype.ACTION=function(e){return e.call(this)},t.prototype.consume=function(e,r,i){return this.consumeInternal(r,e,i)},t.prototype.subrule=function(e,r,i){return this.subruleInternal(r,e,i)},t.prototype.option=function(e,r){return this.optionInternal(r,e)},t.prototype.or=function(e,r){return this.orInternal(r,e)},t.prototype.many=function(e,r){return this.manyInternal(e,r)},t.prototype.atLeastOne=function(e,r){return this.atLeastOneInternal(e,r)},t.prototype.CONSUME=function(e,r){return this.consumeInternal(e,0,r)},t.prototype.CONSUME1=function(e,r){return this.consumeInternal(e,1,r)},t.prototype.CONSUME2=function(e,r){return this.consumeInternal(e,2,r)},t.prototype.CONSUME3=function(e,r){return this.consumeInternal(e,3,r)},t.prototype.CONSUME4=function(e,r){return this.consumeInternal(e,4,r)},t.prototype.CONSUME5=function(e,r){return this.consumeInternal(e,5,r)},t.prototype.CONSUME6=function(e,r){return this.consumeInternal(e,6,r)},t.prototype.CONSUME7=function(e,r){return this.consumeInternal(e,7,r)},t.prototype.CONSUME8=function(e,r){return this.consumeInternal(e,8,r)},t.prototype.CONSUME9=function(e,r){return this.consumeInternal(e,9,r)},t.prototype.SUBRULE=function(e,r){return this.subruleInternal(e,0,r)},t.prototype.SUBRULE1=function(e,r){return this.subruleInternal(e,1,r)},t.prototype.SUBRULE2=function(e,r){return this.subruleInternal(e,2,r)},t.prototype.SUBRULE3=function(e,r){return this.subruleInternal(e,3,r)},t.prototype.SUBRULE4=function(e,r){return this.subruleInternal(e,4,r)},t.prototype.SUBRULE5=function(e,r){return this.subruleInternal(e,5,r)},t.prototype.SUBRULE6=function(e,r){return this.subruleInternal(e,6,r)},t.prototype.SUBRULE7=function(e,r){return this.subruleInternal(e,7,r)},t.prototype.SUBRULE8=function(e,r){return this.subruleInternal(e,8,r)},t.prototype.SUBRULE9=function(e,r){return this.subruleInternal(e,9,r)},t.prototype.OPTION=function(e){return this.optionInternal(e,0)},t.prototype.OPTION1=function(e){return this.optionInternal(e,1)},t.prototype.OPTION2=function(e){return this.optionInternal(e,2)},t.prototype.OPTION3=function(e){return this.optionInternal(e,3)},t.prototype.OPTION4=function(e){return this.optionInternal(e,4)},t.prototype.OPTION5=function(e){return this.optionInternal(e,5)},t.prototype.OPTION6=function(e){return this.optionInternal(e,6)},t.prototype.OPTION7=function(e){return this.optionInternal(e,7)},t.prototype.OPTION8=function(e){return this.optionInternal(e,8)},t.prototype.OPTION9=function(e){return this.optionInternal(e,9)},t.prototype.OR=function(e){return this.orInternal(e,0)},t.prototype.OR1=function(e){return this.orInternal(e,1)},t.prototype.OR2=function(e){return this.orInternal(e,2)},t.prototype.OR3=function(e){return this.orInternal(e,3)},t.prototype.OR4=function(e){return this.orInternal(e,4)},t.prototype.OR5=function(e){return this.orInternal(e,5)},t.prototype.OR6=function(e){return this.orInternal(e,6)},t.prototype.OR7=function(e){return this.orInternal(e,7)},t.prototype.OR8=function(e){return this.orInternal(e,8)},t.prototype.OR9=function(e){return this.orInternal(e,9)},t.prototype.MANY=function(e){this.manyInternal(0,e)},t.prototype.MANY1=function(e){this.manyInternal(1,e)},t.prototype.MANY2=function(e){this.manyInternal(2,e)},t.prototype.MANY3=function(e){this.manyInternal(3,e)},t.prototype.MANY4=function(e){this.manyInternal(4,e)},t.prototype.MANY5=function(e){this.manyInternal(5,e)},t.prototype.MANY6=function(e){this.manyInternal(6,e)},t.prototype.MANY7=function(e){this.manyInternal(7,e)},t.prototype.MANY8=function(e){this.manyInternal(8,e)},t.prototype.MANY9=function(e){this.manyInternal(9,e)},t.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},t.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},t.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},t.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},t.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},t.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},t.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},t.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},t.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},t.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},t.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},t.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},t.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},t.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},t.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},t.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},t.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},t.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},t.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},t.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},t.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},t.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},t.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},t.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},t.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},t.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},t.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},t.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},t.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},t.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},t.prototype.RULE=function(e,r,i){if(i===void 0&&(i=aS.DEFAULT_RULE_CONFIG),(0,YG.contains)(this.definedRulesNames,e)){var n=twe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:aS.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,r,i);return this[e]=o,o},t.prototype.OVERRIDE_RULE=function(e,r,i){i===void 0&&(i=aS.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,rwe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,r,i);return this[e]=s,s},t.prototype.BACKTRACK=function(e,r){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,r),!0}catch(n){if((0,ewe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},t.prototype.getGAstProductions=function(){return this.gastProductionsCache},t.prototype.getSerializedGastProductions=function(){return(0,iwe.serializeGrammar)((0,YG.values)(this.gastProductionsCache))},t}();ay.RecognizerApi=nwe});var _G=w(Ay=>{"use strict";Object.defineProperty(Ay,"__esModule",{value:!0});Ay.RecognizerEngine=void 0;var Rr=Yt(),Zn=iy(),ly=mg(),JG=Up(),Ig=Mp(),WG=Xn(),swe=nS(),zG=JA(),Gp=fg(),owe=sS(),awe=function(){function t(){}return t.prototype.initRecognizerEngine=function(e,r){if(this.className=(0,owe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Gp.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,Rr.has)(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if((0,Rr.isArray)(e)){if((0,Rr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if((0,Rr.isArray)(e))this.tokensMap=(0,Rr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,Rr.has)(e,"modes")&&(0,Rr.every)((0,Rr.flatten)((0,Rr.values)(e.modes)),Gp.isTokenType)){var i=(0,Rr.flatten)((0,Rr.values)(e.modes)),n=(0,Rr.uniq)(i);this.tokensMap=(0,Rr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,Rr.isObject)(e))this.tokensMap=(0,Rr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=zG.EOF;var s=(0,Rr.every)((0,Rr.values)(e),function(o){return(0,Rr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?Gp.tokenStructuredMatcherNoCategories:Gp.tokenStructuredMatcher,(0,Gp.augmentTokenTypes)((0,Rr.values)(this.tokensMap))},t.prototype.defineRule=function(e,r,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,Rr.has)(i,"resyncEnabled")?i.resyncEnabled:WG.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,Rr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:WG.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<r},t.prototype.orInternal=function(e,r){var i=this.getKeyForAutomaticLookahead(Zn.OR_IDX,r),n=(0,Rr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(r,e.ERR_MSG)},t.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new ly.NotAllInputParsedException(r,e))}},t.prototype.subruleInternal=function(e,r,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,r,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},t.prototype.subruleInternalError=function(e,r,i){throw(0,ly.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:i),delete e.partialCstResult),e},t.prototype.consumeInternal=function(e,r,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},t.prototype.consumeInternalError=function(e,r,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new ly.MismatchedTokenException(n,r,s))},t.prototype.consumeInternalRecovery=function(e,r,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===swe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},t.prototype.saveRecogState=function(){var e=this.errors,r=(0,Rr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}},t.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},t.prototype.ruleInvocationStateUpdate=function(e,r,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r,e)},t.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},t.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},t.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},t.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),zG.EOF)},t.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},t}();Ay.RecognizerEngine=awe});var XG=w(cy=>{"use strict";Object.defineProperty(cy,"__esModule",{value:!0});cy.ErrorHandler=void 0;var AS=mg(),lS=Yt(),VG=Up(),Awe=Xn(),lwe=function(){function t(){}return t.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,lS.has)(e,"errorMessageProvider")?e.errorMessageProvider:Awe.DEFAULT_PARSER_CONFIG.errorMessageProvider},t.prototype.SAVE_ERROR=function(e){if((0,AS.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,lS.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(t.prototype,"errors",{get:function(){return(0,lS.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),t.prototype.raiseEarlyExitException=function(e,r,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,VG.getLookaheadPathsForOptionalProd)(e,s,r,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new AS.EarlyExitException(u,this.LA(1),this.LA(0)))},t.prototype.raiseNoAltException=function(e,r){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,VG.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new AS.NoViableAltException(c,this.LA(1),l))},t}();cy.ErrorHandler=lwe});var eY=w(uy=>{"use strict";Object.defineProperty(uy,"__esModule",{value:!0});uy.ContentAssist=void 0;var ZG=Mp(),$G=Yt(),cwe=function(){function t(){}return t.prototype.initContentAssist=function(){},t.prototype.computeContentAssist=function(e,r){var i=this.gastProductionsCache[e];if((0,$G.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,ZG.nextPossibleTokensAfter)([i],r,this.tokenMatcher,this.maxLookahead)},t.prototype.getNextPossibleTokenTypes=function(e){var r=(0,$G.first)(e.ruleStack),i=this.getGAstProductions(),n=i[r],s=new ZG.NextAfterTokenWalker(n,e).startWalking();return s},t}();uy.ContentAssist=cwe});var AY=w(gy=>{"use strict";Object.defineProperty(gy,"__esModule",{value:!0});gy.GastRecorder=void 0;var Sn=Yt(),Ho=bn(),uwe=Dp(),tY=fg(),rY=JA(),gwe=Xn(),fwe=iy(),fy={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(fy);var iY=!0,nY=Math.pow(2,fwe.BITS_FOR_OCCURRENCE_IDX)-1,sY=(0,rY.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:uwe.Lexer.NA});(0,tY.augmentTokenTypes)([sY]);var oY=(0,rY.createTokenInstance)(sY,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(oY);var hwe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},dwe=function(){function t(){}return t.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},t.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var r=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)r(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},t.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var r=0;r<10;r++){var i=r>0?r:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},t.prototype.ACTION_RECORD=function(e){},t.prototype.BACKTRACK_RECORD=function(e,r){return function(){return!0}},t.prototype.LA_RECORD=function(e){return gwe.END_OF_FILE},t.prototype.topLevelRuleRecord=function(e,r){try{var i=new Ho.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),r.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch(s){throw n}throw n}},t.prototype.optionInternalRecord=function(e,r){return Yp.call(this,Ho.Option,e,r)},t.prototype.atLeastOneInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionMandatory,r,e)},t.prototype.atLeastOneSepFirstInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionMandatoryWithSeparator,r,e,iY)},t.prototype.manyInternalRecord=function(e,r){Yp.call(this,Ho.Repetition,r,e)},t.prototype.manySepFirstInternalRecord=function(e,r){Yp.call(this,Ho.RepetitionWithSeparator,r,e,iY)},t.prototype.orInternalRecord=function(e,r){return pwe.call(this,e,r)},t.prototype.subruleInternalRecord=function(e,r,i){if(hy(r),!e||(0,Sn.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=e.ruleName,a=new Ho.NonTerminal({idx:r,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?hwe:fy},t.prototype.consumeInternalRecord=function(e,r,i){if(hy(r),!(0,tY.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` + inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,Sn.peek)(this.recordingProdStack),o=new Ho.Terminal({idx:r,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),oY},t}();gy.GastRecorder=dwe;function Yp(t,e,r,i){i===void 0&&(i=!1),hy(r);var n=(0,Sn.peek)(this.recordingProdStack),s=(0,Sn.isFunction)(e)?e:e.DEF,o=new t({definition:[],idx:r});return i&&(o.separator=e.SEP),(0,Sn.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),fy}function pwe(t,e){var r=this;hy(e);var i=(0,Sn.peek)(this.recordingProdStack),n=(0,Sn.isArray)(t)===!1,s=n===!1?t:t.DEF,o=new Ho.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});(0,Sn.has)(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);var a=(0,Sn.some)(s,function(l){return(0,Sn.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,Sn.forEach)(s,function(l){var c=new Ho.Alternative({definition:[]});o.definition.push(c),(0,Sn.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,Sn.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),r.recordingProdStack.push(c),l.ALT.call(r),r.recordingProdStack.pop()}),fy}function aY(t){return t===0?"":""+t}function hy(t){if(t<0||t>nY){var e=new Error("Invalid DSL Method idx value: <"+t+`> + `+("Idx value must be a none negative value smaller than "+(nY+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var cY=w(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.PerformanceTracer=void 0;var lY=Yt(),Cwe=Xn(),mwe=function(){function t(){}return t.prototype.initPerformanceTracer=function(e){if((0,lY.has)(e,"traceInitPerf")){var r=e.traceInitPerf,i=typeof r=="number";this.traceInitMaxIdent=i?r:Infinity,this.traceInitPerf=i?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Cwe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},t.prototype.TRACE_INIT=function(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,lY.timer)(r),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return r()},t}();py.PerformanceTracer=mwe});var uY=w(dy=>{"use strict";Object.defineProperty(dy,"__esModule",{value:!0});dy.applyMixins=void 0;function Ewe(t,e){e.forEach(function(r){var i=r.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(t.prototype,n,s):t.prototype[n]=r.prototype[n]}})})}dy.applyMixins=Ewe});var Xn=w(Er=>{"use strict";var gY=Er&&Er.__extends||function(){var t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},t(e,r)};return function(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(e,r);function i(){this.constructor=e}e.prototype=r===null?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EmbeddedActionsParser=Er.CstParser=Er.Parser=Er.EMPTY_ALT=Er.ParserDefinitionErrorType=Er.DEFAULT_RULE_CONFIG=Er.DEFAULT_PARSER_CONFIG=Er.END_OF_FILE=void 0;var an=Yt(),Iwe=Xj(),fY=JA(),hY=Tp(),pY=BG(),ywe=nS(),wwe=DG(),Bwe=HG(),bwe=GG(),Qwe=qG(),vwe=_G(),Swe=XG(),kwe=eY(),xwe=AY(),Pwe=cY(),Dwe=uY();Er.END_OF_FILE=(0,fY.createTokenInstance)(fY.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Er.END_OF_FILE);Er.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:hY.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Er.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var Rwe;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(Rwe=Er.ParserDefinitionErrorType||(Er.ParserDefinitionErrorType={}));function Fwe(t){return t===void 0&&(t=void 0),function(){return t}}Er.EMPTY_ALT=Fwe;var Cy=function(){function t(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(r),i.initLexerAdapter(),i.initLooksAhead(r),i.initRecognizerEngine(e,r),i.initRecoverable(r),i.initTreeBuilder(r),i.initContentAssist(),i.initGastRecorder(r),i.initPerformanceTracer(r),(0,an.has)(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=(0,an.has)(r,"skipValidations")?r.skipValidations:Er.DEFAULT_PARSER_CONFIG.skipValidations}return t.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},t.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var r;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,an.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,an.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,pY.resolveGrammar)({rules:(0,an.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,an.isEmpty)(n)&&e.skipValidations===!1){var s=(0,pY.validateGrammar)({rules:(0,an.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,an.values)(e.tokensMap),errMsgProvider:hY.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,an.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,Iwe.computeAllProdsFollows)((0,an.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,an.values)(e.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,an.isEmpty)(e.definitionErrors))throw r=(0,an.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: + `+r.join(` +------------------------------- +`))})},t.DEFER_DEFINITION_ERRORS_HANDLING=!1,t}();Er.Parser=Cy;(0,Dwe.applyMixins)(Cy,[ywe.Recoverable,wwe.LooksAhead,Bwe.TreeBuilder,bwe.LexerAdapter,vwe.RecognizerEngine,Qwe.RecognizerApi,Swe.ErrorHandler,kwe.ContentAssist,xwe.GastRecorder,Pwe.PerformanceTracer]);var Nwe=function(t){gY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!0,n=t.call(this,r,s)||this,n}return e}(Cy);Er.CstParser=Nwe;var Lwe=function(t){gY(e,t);function e(r,i){i===void 0&&(i=Er.DEFAULT_PARSER_CONFIG);var n=this,s=(0,an.cloneObj)(i);return s.outputCst=!1,n=t.call(this,r,s)||this,n}return e}(Cy);Er.EmbeddedActionsParser=Lwe});var CY=w(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.createSyntaxDiagramsCode=void 0;var dY=xv();function Twe(t,e){var r=e===void 0?{}:e,i=r.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+dY.VERSION+"/diagrams/":i,s=r.css,o=s===void 0?"https://unpkg.com/chevrotain@"+dY.VERSION+"/diagrams/diagrams.css":s,a=` + + + + + +`,l=` + +`,c=` + + + + +`,u=` +
+`,g=` + +`,f=` + +`;return a+l+c+u+g+f}my.createSyntaxDiagramsCode=Twe});var IY=w(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Parser=Ve.createSyntaxDiagramsCode=Ve.clearCache=Ve.GAstVisitor=Ve.serializeProduction=Ve.serializeGrammar=Ve.Terminal=Ve.Rule=Ve.RepetitionWithSeparator=Ve.RepetitionMandatoryWithSeparator=Ve.RepetitionMandatory=Ve.Repetition=Ve.Option=Ve.NonTerminal=Ve.Alternative=Ve.Alternation=Ve.defaultLexerErrorProvider=Ve.NoViableAltException=Ve.NotAllInputParsedException=Ve.MismatchedTokenException=Ve.isRecognitionException=Ve.EarlyExitException=Ve.defaultParserErrorProvider=Ve.tokenName=Ve.tokenMatcher=Ve.tokenLabel=Ve.EOF=Ve.createTokenInstance=Ve.createToken=Ve.LexerDefinitionErrorType=Ve.Lexer=Ve.EMPTY_ALT=Ve.ParserDefinitionErrorType=Ve.EmbeddedActionsParser=Ve.CstParser=Ve.VERSION=void 0;var Owe=xv();Object.defineProperty(Ve,"VERSION",{enumerable:!0,get:function(){return Owe.VERSION}});var Ey=Xn();Object.defineProperty(Ve,"CstParser",{enumerable:!0,get:function(){return Ey.CstParser}});Object.defineProperty(Ve,"EmbeddedActionsParser",{enumerable:!0,get:function(){return Ey.EmbeddedActionsParser}});Object.defineProperty(Ve,"ParserDefinitionErrorType",{enumerable:!0,get:function(){return Ey.ParserDefinitionErrorType}});Object.defineProperty(Ve,"EMPTY_ALT",{enumerable:!0,get:function(){return Ey.EMPTY_ALT}});var mY=Dp();Object.defineProperty(Ve,"Lexer",{enumerable:!0,get:function(){return mY.Lexer}});Object.defineProperty(Ve,"LexerDefinitionErrorType",{enumerable:!0,get:function(){return mY.LexerDefinitionErrorType}});var yg=JA();Object.defineProperty(Ve,"createToken",{enumerable:!0,get:function(){return yg.createToken}});Object.defineProperty(Ve,"createTokenInstance",{enumerable:!0,get:function(){return yg.createTokenInstance}});Object.defineProperty(Ve,"EOF",{enumerable:!0,get:function(){return yg.EOF}});Object.defineProperty(Ve,"tokenLabel",{enumerable:!0,get:function(){return yg.tokenLabel}});Object.defineProperty(Ve,"tokenMatcher",{enumerable:!0,get:function(){return yg.tokenMatcher}});Object.defineProperty(Ve,"tokenName",{enumerable:!0,get:function(){return yg.tokenName}});var Mwe=Tp();Object.defineProperty(Ve,"defaultParserErrorProvider",{enumerable:!0,get:function(){return Mwe.defaultParserErrorProvider}});var qp=mg();Object.defineProperty(Ve,"EarlyExitException",{enumerable:!0,get:function(){return qp.EarlyExitException}});Object.defineProperty(Ve,"isRecognitionException",{enumerable:!0,get:function(){return qp.isRecognitionException}});Object.defineProperty(Ve,"MismatchedTokenException",{enumerable:!0,get:function(){return qp.MismatchedTokenException}});Object.defineProperty(Ve,"NotAllInputParsedException",{enumerable:!0,get:function(){return qp.NotAllInputParsedException}});Object.defineProperty(Ve,"NoViableAltException",{enumerable:!0,get:function(){return qp.NoViableAltException}});var Uwe=Uv();Object.defineProperty(Ve,"defaultLexerErrorProvider",{enumerable:!0,get:function(){return Uwe.defaultLexerErrorProvider}});var jo=bn();Object.defineProperty(Ve,"Alternation",{enumerable:!0,get:function(){return jo.Alternation}});Object.defineProperty(Ve,"Alternative",{enumerable:!0,get:function(){return jo.Alternative}});Object.defineProperty(Ve,"NonTerminal",{enumerable:!0,get:function(){return jo.NonTerminal}});Object.defineProperty(Ve,"Option",{enumerable:!0,get:function(){return jo.Option}});Object.defineProperty(Ve,"Repetition",{enumerable:!0,get:function(){return jo.Repetition}});Object.defineProperty(Ve,"RepetitionMandatory",{enumerable:!0,get:function(){return jo.RepetitionMandatory}});Object.defineProperty(Ve,"RepetitionMandatoryWithSeparator",{enumerable:!0,get:function(){return jo.RepetitionMandatoryWithSeparator}});Object.defineProperty(Ve,"RepetitionWithSeparator",{enumerable:!0,get:function(){return jo.RepetitionWithSeparator}});Object.defineProperty(Ve,"Rule",{enumerable:!0,get:function(){return jo.Rule}});Object.defineProperty(Ve,"Terminal",{enumerable:!0,get:function(){return jo.Terminal}});var EY=bn();Object.defineProperty(Ve,"serializeGrammar",{enumerable:!0,get:function(){return EY.serializeGrammar}});Object.defineProperty(Ve,"serializeProduction",{enumerable:!0,get:function(){return EY.serializeProduction}});var Kwe=hg();Object.defineProperty(Ve,"GAstVisitor",{enumerable:!0,get:function(){return Kwe.GAstVisitor}});function Hwe(){console.warn(`The clearCache function was 'soft' removed from the Chevrotain API. + It performs no action other than printing this message. + Please avoid using it as it will be completely removed in the future`)}Ve.clearCache=Hwe;var jwe=CY();Object.defineProperty(Ve,"createSyntaxDiagramsCode",{enumerable:!0,get:function(){return jwe.createSyntaxDiagramsCode}});var Gwe=function(){function t(){throw new Error(`The Parser class has been deprecated, use CstParser or EmbeddedActionsParser instead. +See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`)}return t}();Ve.Parser=Gwe});var BY=w((Vtt,yY)=>{var Iy=IY(),Ga=Iy.createToken,wY=Iy.tokenMatcher,cS=Iy.Lexer,Ywe=Iy.EmbeddedActionsParser;yY.exports=t=>{let e=Ga({name:"LogicalOperator",pattern:cS.NA}),r=Ga({name:"Or",pattern:/\|/,categories:e}),i=Ga({name:"Xor",pattern:/\^/,categories:e}),n=Ga({name:"And",pattern:/&/,categories:e}),s=Ga({name:"Not",pattern:/!/}),o=Ga({name:"LParen",pattern:/\(/}),a=Ga({name:"RParen",pattern:/\)/}),l=Ga({name:"Query",pattern:t}),u=[Ga({name:"WhiteSpace",pattern:/\s+/,group:cS.SKIPPED}),r,i,n,o,a,s,e,l],g=new cS(u);class f extends Ywe{constructor(p){super(u);this.RULE("expression",()=>this.SUBRULE(this.logicalExpression)),this.RULE("logicalExpression",()=>{let y=this.SUBRULE(this.atomicExpression);return this.MANY(()=>{let Q=y,S=this.CONSUME(e),x=this.SUBRULE2(this.atomicExpression);wY(S,r)?y=M=>Q(M)||x(M):wY(S,i)?y=M=>!!(Q(M)^x(M)):y=M=>Q(M)&&x(M)}),y}),this.RULE("atomicExpression",()=>this.OR([{ALT:()=>this.SUBRULE(this.parenthesisExpression)},{ALT:()=>{let{image:m}=this.CONSUME(l);return y=>y(m)}},{ALT:()=>{this.CONSUME(s);let m=this.SUBRULE(this.atomicExpression);return y=>!m(y)}}])),this.RULE("parenthesisExpression",()=>{let m;return this.CONSUME(o),m=this.SUBRULE(this.expression),this.CONSUME(a),m}),this.performSelfAnalysis()}}return{TinylogicLexer:g,TinylogicParser:f}}});var bY=w(yy=>{var qwe=BY();yy.makeParser=(t=/[a-z]+/)=>{let{TinylogicLexer:e,TinylogicParser:r}=qwe(t),i=new r;return(n,s)=>{let o=e.tokenize(n);return i.input=o.tokens,i.expression()(s)}};yy.parse=yy.makeParser()});var vY=w((Ztt,QY)=>{"use strict";QY.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var uS=w(($tt,SY)=>{var Jp=vY(),kY={};for(let t of Object.keys(Jp))kY[Jp[t]]=t;var at={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};SY.exports=at;for(let t of Object.keys(at)){if(!("channels"in at[t]))throw new Error("missing channels property: "+t);if(!("labels"in at[t]))throw new Error("missing channel labels property: "+t);if(at[t].labels.length!==at[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=at[t];delete at[t].channels,delete at[t].labels,Object.defineProperty(at[t],"channels",{value:e}),Object.defineProperty(at[t],"labels",{value:r})}at.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(e,r,i),s=Math.max(e,r,i),o=s-n,a,l;s===n?a=0:e===s?a=(r-i)/o:r===s?a=2+(i-e)/o:i===s&&(a=4+(e-r)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(n+s)/2;return s===n?l=0:c<=.5?l=o/(s+n):l=o/(2-s-n),[a,l*100,c*100]};at.rgb.hsv=function(t){let e,r,i,n,s,o=t[0]/255,a=t[1]/255,l=t[2]/255,c=Math.max(o,a,l),u=c-Math.min(o,a,l),g=function(f){return(c-f)/6/u+1/2};return u===0?(n=0,s=0):(s=u/c,e=g(o),r=g(a),i=g(l),o===c?n=i-r:a===c?n=1/3+e-i:l===c&&(n=2/3+r-e),n<0?n+=1:n>1&&(n-=1)),[n*360,s*100,c*100]};at.rgb.hwb=function(t){let e=t[0],r=t[1],i=t[2],n=at.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,i));return i=1-1/255*Math.max(e,Math.max(r,i)),[n,s*100,i*100]};at.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.min(1-e,1-r,1-i),s=(1-e-n)/(1-n)||0,o=(1-r-n)/(1-n)||0,a=(1-i-n)/(1-n)||0;return[s*100,o*100,a*100,n*100]};function Jwe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}at.rgb.keyword=function(t){let e=kY[t];if(e)return e;let r=Infinity,i;for(let n of Object.keys(Jp)){let s=Jp[n],o=Jwe(t,s);o.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;let n=e*.4124+r*.3576+i*.1805,s=e*.2126+r*.7152+i*.0722,o=e*.0193+r*.1192+i*.9505;return[n*100,s*100,o*100]};at.rgb.lab=function(t){let e=at.rgb.xyz(t),r=e[0],i=e[1],n=e[2];r/=95.047,i/=100,n/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let s=116*i-16,o=500*(r-i),a=200*(i-n);return[s,o,a]};at.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n,s,o;if(r===0)return o=i*255,[o,o,o];i<.5?n=i*(1+r):n=i+r-i*r;let a=2*i-n,l=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(n-a)*6*s:2*s<1?o=n:3*s<2?o=a+(n-a)*(2/3-s)*6:o=a,l[c]=o*255;return l};at.hsl.hsv=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=r,s=Math.max(i,.01);i*=2,r*=i<=1?i:2-i,n*=s<=1?s:2-s;let o=(i+r)/2,a=i===0?2*n/(s+n):2*r/(i+r);return[e,a*100,o*100]};at.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,i=t[2]/100,n=Math.floor(e)%6,s=e-Math.floor(e),o=255*i*(1-r),a=255*i*(1-r*s),l=255*i*(1-r*(1-s));switch(i*=255,n){case 0:return[i,l,o];case 1:return[a,i,o];case 2:return[o,i,l];case 3:return[o,a,i];case 4:return[l,o,i];case 5:return[i,o,a]}};at.hsv.hsl=function(t){let e=t[0],r=t[1]/100,i=t[2]/100,n=Math.max(i,.01),s,o;o=(2-r)*i;let a=(2-r)*n;return s=r*n,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};at.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100,n=r+i,s;n>1&&(r/=n,i/=n);let o=Math.floor(6*e),a=1-i;s=6*e-o,(o&1)!=0&&(s=1-s);let l=r+s*(a-r),c,u,g;switch(o){default:case 6:case 0:c=a,u=l,g=r;break;case 1:c=l,u=a,g=r;break;case 2:c=r,u=a,g=l;break;case 3:c=r,u=l,g=a;break;case 4:c=l,u=r,g=a;break;case 5:c=a,u=r,g=l;break}return[c*255,u*255,g*255]};at.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n=t[3]/100,s=1-Math.min(1,e*(1-n)+n),o=1-Math.min(1,r*(1-n)+n),a=1-Math.min(1,i*(1-n)+n);return[s*255,o*255,a*255]};at.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,i=t[2]/100,n,s,o;return n=e*3.2406+r*-1.5372+i*-.4986,s=e*-.9689+r*1.8758+i*.0415,o=e*.0557+r*-.204+i*1.057,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,n=Math.min(Math.max(0,n),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[n*255,s*255,o*255]};at.xyz.lab=function(t){let e=t[0],r=t[1],i=t[2];e/=95.047,r/=100,i/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let n=116*r-16,s=500*(e-r),o=200*(r-i);return[n,s,o]};at.lab.xyz=function(t){let e=t[0],r=t[1],i=t[2],n,s,o;s=(e+16)/116,n=r/500+s,o=s-i/200;let a=s**3,l=n**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,n=l>.008856?l:(n-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,n*=95.047,s*=100,o*=108.883,[n,s,o]};at.lab.lch=function(t){let e=t[0],r=t[1],i=t[2],n;n=Math.atan2(i,r)*360/2/Math.PI,n<0&&(n+=360);let o=Math.sqrt(r*r+i*i);return[e,o,n]};at.lch.lab=function(t){let e=t[0],r=t[1],n=t[2]/360*2*Math.PI,s=r*Math.cos(n),o=r*Math.sin(n);return[e,s,o]};at.rgb.ansi16=function(t,e=null){let[r,i,n]=t,s=e===null?at.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(n/255)<<2|Math.round(i/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};at.hsv.ansi16=function(t){return at.rgb.ansi16(at.hsv.rgb(t),t[2])};at.rgb.ansi256=function(t){let e=t[0],r=t[1],i=t[2];return e===r&&r===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5)};at.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,i=(e&1)*r*255,n=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[i,n,s]};at.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,i=Math.floor((e=t%36)/6)/5*255,n=e%6/5*255;return[r,i,n]};at.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};at.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(a=>a+a).join(""));let i=parseInt(r,16),n=i>>16&255,s=i>>8&255,o=i&255;return[n,s,o]};at.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,i=t[2]/255,n=Math.max(Math.max(e,r),i),s=Math.min(Math.min(e,r),i),o=n-s,a,l;return o<1?a=s/(1-o):a=0,o<=0?l=0:n===e?l=(r-i)/o%6:n===r?l=2+(i-e)/o:l=4+(e-r)/o,l/=6,l%=1,[l*360,o*100,a*100]};at.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=r<.5?2*e*r:2*e*(1-r),n=0;return i<1&&(n=(r-.5*i)/(1-i)),[t[0],i*100,n*100]};at.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=e*r,n=0;return i<1&&(n=(r-i)/(1-i)),[t[0],i*100,n*100]};at.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,i=t[2]/100;if(r===0)return[i*255,i*255,i*255];let n=[0,0,0],s=e%1*6,o=s%1,a=1-o,l=0;switch(Math.floor(s)){case 0:n[0]=1,n[1]=o,n[2]=0;break;case 1:n[0]=a,n[1]=1,n[2]=0;break;case 2:n[0]=0,n[1]=1,n[2]=o;break;case 3:n[0]=0,n[1]=a,n[2]=1;break;case 4:n[0]=o,n[1]=0,n[2]=1;break;default:n[0]=1,n[1]=0,n[2]=a}return l=(1-r)*i,[(r*n[0]+l)*255,(r*n[1]+l)*255,(r*n[2]+l)*255]};at.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e),n=0;return i>0&&(n=e/i),[t[0],n*100,i*100]};at.hcg.hsl=function(t){let e=t[1]/100,i=t[2]/100*(1-e)+.5*e,n=0;return i>0&&i<.5?n=e/(2*i):i>=.5&&i<1&&(n=e/(2*(1-i))),[t[0],n*100,i*100]};at.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,i=e+r*(1-e);return[t[0],(i-e)*100,(1-i)*100]};at.hwb.hcg=function(t){let e=t[1]/100,r=t[2]/100,i=1-r,n=i-e,s=0;return n<1&&(s=(i-n)/(1-n)),[t[0],n*100,s*100]};at.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};at.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};at.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};at.gray.hsl=function(t){return[0,0,t[0]]};at.gray.hsv=at.gray.hsl;at.gray.hwb=function(t){return[0,100,t[0]]};at.gray.cmyk=function(t){return[0,0,0,t[0]]};at.gray.lab=function(t){return[t[0],0,0]};at.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,i=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(i.length)+i};at.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var PY=w((ert,xY)=>{var wy=uS();function Wwe(){let t={},e=Object.keys(wy);for(let r=e.length,i=0;i{var gS=uS(),Xwe=PY(),wg={},Zwe=Object.keys(gS);function $we(t){let e=function(...r){let i=r[0];return i==null?i:(i.length>1&&(r=i),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function eBe(t){let e=function(...r){let i=r[0];if(i==null)return i;i.length>1&&(r=i);let n=t(r);if(typeof n=="object")for(let s=n.length,o=0;o{wg[t]={},Object.defineProperty(wg[t],"channels",{value:gS[t].channels}),Object.defineProperty(wg[t],"labels",{value:gS[t].labels});let e=Xwe(t);Object.keys(e).forEach(i=>{let n=e[i];wg[t][i]=eBe(n),wg[t][i].raw=$we(n)})});DY.exports=wg});var MY=w((rrt,FY)=>{"use strict";var NY=(t,e)=>(...r)=>`[${t(...r)+e}m`,LY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};5;${i}m`},TY=(t,e)=>(...r)=>{let i=t(...r);return`[${38+e};2;${i[0]};${i[1]};${i[2]}m`},By=t=>t,OY=(t,e,r)=>[t,e,r],Bg=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let i=r();return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0}),i},enumerable:!0,configurable:!0})},fS,bg=(t,e,r,i)=>{fS===void 0&&(fS=RY());let n=i?10:0,s={};for(let[o,a]of Object.entries(fS)){let l=o==="ansi16"?"ansi":o;o===e?s[l]=t(r,n):typeof a=="object"&&(s[l]=t(a[e],n))}return s};function tBe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,i]of Object.entries(e)){for(let[n,s]of Object.entries(i))e[n]={open:`[${s[0]}m`,close:`[${s[1]}m`},i[n]=e[n],t.set(s[0],s[1]);Object.defineProperty(e,r,{value:i,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="",e.bgColor.close="",Bg(e.color,"ansi",()=>bg(NY,"ansi16",By,!1)),Bg(e.color,"ansi256",()=>bg(LY,"ansi256",By,!1)),Bg(e.color,"ansi16m",()=>bg(TY,"rgb",OY,!1)),Bg(e.bgColor,"ansi",()=>bg(NY,"ansi16",By,!0)),Bg(e.bgColor,"ansi256",()=>bg(LY,"ansi256",By,!0)),Bg(e.bgColor,"ansi16m",()=>bg(TY,"rgb",OY,!0)),e}Object.defineProperty(FY,"exports",{enumerable:!0,get:tBe})});var KY=w((irt,UY)=>{"use strict";UY.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(r+t),n=e.indexOf("--");return i!==-1&&(n===-1||i{"use strict";var rBe=require("os"),jY=require("tty"),ks=KY(),{env:ui}=process,VA;ks("no-color")||ks("no-colors")||ks("color=false")||ks("color=never")?VA=0:(ks("color")||ks("colors")||ks("color=true")||ks("color=always"))&&(VA=1);"FORCE_COLOR"in ui&&(ui.FORCE_COLOR==="true"?VA=1:ui.FORCE_COLOR==="false"?VA=0:VA=ui.FORCE_COLOR.length===0?1:Math.min(parseInt(ui.FORCE_COLOR,10),3));function hS(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function pS(t,e){if(VA===0)return 0;if(ks("color=16m")||ks("color=full")||ks("color=truecolor"))return 3;if(ks("color=256"))return 2;if(t&&!e&&VA===void 0)return 0;let r=VA||0;if(ui.TERM==="dumb")return r;if(process.platform==="win32"){let i=rBe.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in ui)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(i=>i in ui)||ui.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in ui)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ui.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in ui)return 1;if(ui.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ui){let i=parseInt((ui.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ui.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ui.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ui.TERM)||"COLORTERM"in ui?1:r}function iBe(t){let e=pS(t,t&&t.isTTY);return hS(e)}HY.exports={supportsColor:iBe,stdout:hS(pS(!0,jY.isatty(1))),stderr:hS(pS(!0,jY.isatty(2)))}});var qY=w((srt,YY)=>{"use strict";var nBe=(t,e,r)=>{let i=t.indexOf(e);if(i===-1)return t;let n=e.length,s=0,o="";do o+=t.substr(s,i-s)+e+r,s=i+n,i=t.indexOf(e,s);while(i!==-1);return o+=t.substr(s),o},sBe=(t,e,r,i)=>{let n=0,s="";do{let o=t[i-1]==="\r";s+=t.substr(n,(o?i-1:i)-n)+e+(o?`\r +`:` +`)+r,n=i+1,i=t.indexOf(` +`,n)}while(i!==-1);return s+=t.substr(n),s};YY.exports={stringReplaceAll:nBe,stringEncaseCRLFWithFirstIndex:sBe}});var VY=w((ort,JY)=>{"use strict";var oBe=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,WY=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,aBe=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,ABe=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,lBe=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function zY(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):lBe.get(t)||t}function cBe(t,e){let r=[],i=e.trim().split(/\s*,\s*/g),n;for(let s of i){let o=Number(s);if(!Number.isNaN(o))r.push(o);else if(n=s.match(aBe))r.push(n[2].replace(ABe,(a,l,c)=>l?zY(l):c));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${t}')`)}return r}function uBe(t){WY.lastIndex=0;let e=[],r;for(;(r=WY.exec(t))!==null;){let i=r[1];if(r[2]){let n=cBe(i,r[2]);e.push([i].concat(n))}else e.push([i])}return e}function _Y(t,e){let r={};for(let n of e)for(let s of n.styles)r[s[0]]=n.inverse?null:s.slice(1);let i=t;for(let[n,s]of Object.entries(r))if(!!Array.isArray(s)){if(!(n in i))throw new Error(`Unknown Chalk style: ${n}`);i=s.length>0?i[n](...s):i[n]}return i}JY.exports=(t,e)=>{let r=[],i=[],n=[];if(e.replace(oBe,(s,o,a,l,c,u)=>{if(o)n.push(zY(o));else if(l){let g=n.join("");n=[],i.push(r.length===0?g:_Y(t,r)(g)),r.push({inverse:a,styles:uBe(l)})}else if(c){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");i.push(_Y(t,r)(n.join(""))),n=[],r.pop()}else n.push(u)}),i.push(n.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return i.join("")}});var IS=w((art,XY)=>{"use strict";var Wp=MY(),{stdout:dS,stderr:CS}=GY(),{stringReplaceAll:gBe,stringEncaseCRLFWithFirstIndex:fBe}=qY(),ZY=["ansi","ansi","ansi256","ansi16m"],Qg=Object.create(null),hBe=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=dS?dS.level:0;t.level=e.level===void 0?r:e.level},$Y=class{constructor(e){return eq(e)}},eq=t=>{let e={};return hBe(e,t),e.template=(...r)=>pBe(e.template,...r),Object.setPrototypeOf(e,by.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=$Y,e.template};function by(t){return eq(t)}for(let[t,e]of Object.entries(Wp))Qg[t]={get(){let r=Qy(this,mS(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Qg.visible={get(){let t=Qy(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var tq=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of tq)Qg[t]={get(){let{level:e}=this;return function(...r){let i=mS(Wp.color[ZY[e]][t](...r),Wp.color.close,this._styler);return Qy(this,i,this._isEmpty)}}};for(let t of tq){let e="bg"+t[0].toUpperCase()+t.slice(1);Qg[e]={get(){let{level:r}=this;return function(...i){let n=mS(Wp.bgColor[ZY[r]][t](...i),Wp.bgColor.close,this._styler);return Qy(this,n,this._isEmpty)}}}}var dBe=Object.defineProperties(()=>{},te(N({},Qg),{level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}})),mS=(t,e,r)=>{let i,n;return r===void 0?(i=t,n=e):(i=r.openAll+t,n=e+r.closeAll),{open:t,close:e,openAll:i,closeAll:n,parent:r}},Qy=(t,e,r)=>{let i=(...n)=>CBe(i,n.length===1?""+n[0]:n.join(" "));return i.__proto__=dBe,i._generator=t,i._styler=e,i._isEmpty=r,i},CBe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:i,closeAll:n}=r;if(e.indexOf("")!==-1)for(;r!==void 0;)e=gBe(e,r.close,r.open),r=r.parent;let s=e.indexOf(` +`);return s!==-1&&(e=fBe(e,n,i,s)),i+e+n},ES,pBe=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let i=e.slice(1),n=[r.raw[0]];for(let s=1;s{"use strict";xs.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;xs.find=(t,e)=>t.nodes.find(r=>r.type===e);xs.exceedsLimit=(t,e,r=1,i)=>i===!1||!xs.isInteger(t)||!xs.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=i;xs.escapeNode=(t,e=0,r)=>{let i=t.nodes[e];!i||(r&&i.type===r||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)};xs.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0==0?(t.invalid=!0,!0):!1;xs.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0==0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;xs.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;xs.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);xs.flatten=(...t)=>{let e=[],r=i=>{for(let n=0;n{"use strict";var iq=vy();rq.exports=(t,e={})=>{let r=(i,n={})=>{let s=e.escapeInvalid&&iq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a="";if(i.value)return(s||o)&&iq.isOpenOrClose(i)?"\\"+i.value:i.value;if(i.value)return i.value;if(i.nodes)for(let l of i.nodes)a+=r(l);return a};return r(t)}});var sq=w((crt,nq)=>{"use strict";nq.exports=function(t){return typeof t=="number"?t-t==0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var hq=w((urt,oq)=>{"use strict";var aq=sq(),vc=(t,e,r)=>{if(aq(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(aq(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let i=N({relaxZeros:!0},r);typeof i.strictZeros=="boolean"&&(i.relaxZeros=i.strictZeros===!1);let n=String(i.relaxZeros),s=String(i.shorthand),o=String(i.capture),a=String(i.wrap),l=t+":"+e+"="+n+s+o+a;if(vc.cache.hasOwnProperty(l))return vc.cache[l].result;let c=Math.min(t,e),u=Math.max(t,e);if(Math.abs(c-u)===1){let m=t+"|"+e;return i.capture?`(${m})`:i.wrap===!1?m:`(?:${m})`}let g=lq(t)||lq(e),f={min:t,max:e,a:c,b:u},h=[],p=[];if(g&&(f.isPadded=g,f.maxLen=String(f.max).length),c<0){let m=u<0?Math.abs(u):1;p=Aq(m,Math.abs(c),f,i),c=f.a=0}return u>=0&&(h=Aq(c,u,f,i)),f.negatives=p,f.positives=h,f.result=mBe(p,h,i),i.capture===!0?f.result=`(${f.result})`:i.wrap!==!1&&h.length+p.length>1&&(f.result=`(?:${f.result})`),vc.cache[l]=f,f.result};function mBe(t,e,r){let i=yS(t,e,"-",!1,r)||[],n=yS(e,t,"",!1,r)||[],s=yS(t,e,"-?",!0,r)||[];return i.concat(s).concat(n).join("|")}function IBe(t,e){let r=1,i=1,n=cq(t,r),s=new Set([e]);for(;t<=n&&n<=e;)s.add(n),r+=1,n=cq(t,r);for(n=uq(e+1,i)-1;t1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+gq(a.count),o=c+1;continue}r.isPadded&&(g=bBe(c,r,i)),u.string=g+u.pattern+gq(u.count),s.push(u),o=c+1,a=u}return s}function yS(t,e,r,i,n){let s=[];for(let o of t){let{string:a}=o;!i&&!fq(e,"string",a)&&s.push(r+a),i&&fq(e,"string",a)&&s.push(r+a)}return s}function yBe(t,e){let r=[];for(let i=0;ie?1:e>t?-1:0}function fq(t,e,r){return t.some(i=>i[e]===r)}function cq(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function uq(t,e){return t-t%Math.pow(10,e)}function gq(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function wBe(t,e,r){return`[${t}${e-t==1?"":"-"}${e}]`}function lq(t){return/^-?(0+)\d/.test(t)}function bBe(t,e,r){if(!e.isPadded)return t;let i=Math.abs(e.maxLen-String(t).length),n=r.relaxZeros!==!1;switch(i){case 0:return"";case 1:return n?"0?":"0";case 2:return n?"0{0,2}":"00";default:return n?`0{0,${i}}`:`0{${i}}`}}vc.cache={};vc.clearCache=()=>vc.cache={};oq.exports=vc});var bS=w((grt,pq)=>{"use strict";var QBe=require("util"),dq=hq(),Cq=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),vBe=t=>e=>t===!0?Number(e):String(e),wS=t=>typeof t=="number"||typeof t=="string"&&t!=="",_p=t=>Number.isInteger(+t),BS=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},SBe=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,kBe=(t,e,r)=>{if(e>0){let i=t[0]==="-"?"-":"";i&&(t=t.slice(1)),t=i+t.padStart(i?e-1:e,"0")}return r===!1?String(t):t},mq=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((o,a)=>oa?1:0),t.positives.sort((o,a)=>oa?1:0);let r=e.capture?"":"?:",i="",n="",s;return t.positives.length&&(i=t.positives.join("|")),t.negatives.length&&(n=`-(${r}${t.negatives.join("|")})`),i&&n?s=`${i}|${n}`:s=i||n,e.wrap?`(${r}${s})`:s},Eq=(t,e,r,i)=>{if(r)return dq(t,e,N({wrap:!1},i));let n=String.fromCharCode(t);if(t===e)return n;let s=String.fromCharCode(e);return`[${n}-${s}]`},Iq=(t,e,r)=>{if(Array.isArray(t)){let i=r.wrap===!0,n=r.capture?"":"?:";return i?`(${n}${t.join("|")})`:t.join("|")}return dq(t,e,r)},yq=(...t)=>new RangeError("Invalid range arguments: "+QBe.inspect(...t)),wq=(t,e,r)=>{if(r.strictRanges===!0)throw yq([t,e]);return[]},PBe=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},DBe=(t,e,r=1,i={})=>{let n=Number(t),s=Number(e);if(!Number.isInteger(n)||!Number.isInteger(s)){if(i.strictRanges===!0)throw yq([t,e]);return[]}n===0&&(n=0),s===0&&(s=0);let o=n>s,a=String(t),l=String(e),c=String(r);r=Math.max(Math.abs(r),1);let u=BS(a)||BS(l)||BS(c),g=u?Math.max(a.length,l.length,c.length):0,f=u===!1&&SBe(t,e,i)===!1,h=i.transform||vBe(f);if(i.toRegex&&r===1)return Eq(mq(t,g),mq(e,g),!0,i);let p={negatives:[],positives:[]},m=S=>p[S<0?"negatives":"positives"].push(Math.abs(S)),y=[],Q=0;for(;o?n>=s:n<=s;)i.toRegex===!0&&r>1?m(n):y.push(kBe(h(n,Q),g,f)),n=o?n-r:n+r,Q++;return i.toRegex===!0?r>1?xBe(p,i):Iq(y,null,N({wrap:!1},i)):y},RBe=(t,e,r=1,i={})=>{if(!_p(t)&&t.length>1||!_p(e)&&e.length>1)return wq(t,e,i);let n=i.transform||(f=>String.fromCharCode(f)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,l=Math.min(s,o),c=Math.max(s,o);if(i.toRegex&&r===1)return Eq(l,c,!1,i);let u=[],g=0;for(;a?s>=o:s<=o;)u.push(n(s,g)),s=a?s-r:s+r,g++;return i.toRegex===!0?Iq(u,null,{wrap:!1,options:i}):u},ky=(t,e,r,i={})=>{if(e==null&&wS(t))return[t];if(!wS(t)||!wS(e))return wq(t,e,i);if(typeof r=="function")return ky(t,e,1,{transform:r});if(Cq(r))return ky(t,e,0,r);let n=N({},i);return n.capture===!0&&(n.wrap=!0),r=r||n.step||1,_p(r)?_p(t)&&_p(e)?DBe(t,e,r,n):RBe(t,e,Math.max(Math.abs(r),1),n):r!=null&&!Cq(r)?PBe(r,n):ky(t,e,1,r)};pq.exports=ky});var Qq=w((frt,Bq)=>{"use strict";var FBe=bS(),bq=vy(),NBe=(t,e={})=>{let r=(i,n={})=>{let s=bq.isInvalidBrace(n),o=i.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,l=e.escapeInvalid===!0?"\\":"",c="";if(i.isOpen===!0||i.isClose===!0)return l+i.value;if(i.type==="open")return a?l+i.value:"(";if(i.type==="close")return a?l+i.value:")";if(i.type==="comma")return i.prev.type==="comma"?"":a?i.value:"|";if(i.value)return i.value;if(i.nodes&&i.ranges>0){let u=bq.reduce(i.nodes),g=FBe(...u,te(N({},e),{wrap:!1,toRegex:!0}));if(g.length!==0)return u.length>1&&g.length>1?`(${g})`:g}if(i.nodes)for(let u of i.nodes)c+=r(u,i);return c};return r(t)};Bq.exports=NBe});var kq=w((hrt,vq)=>{"use strict";var LBe=bS(),Sq=Sy(),vg=vy(),Sc=(t="",e="",r=!1)=>{let i=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?vg.flatten(e).map(n=>`{${n}}`):e;for(let n of t)if(Array.isArray(n))for(let s of n)i.push(Sc(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),i.push(Array.isArray(s)?Sc(n,s,r):n+s);return vg.flatten(i)},TBe=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,i=(n,s={})=>{n.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(n.invalid||n.dollar){a.push(Sc(a.pop(),Sq(n,e)));return}if(n.type==="brace"&&n.invalid!==!0&&n.nodes.length===2){a.push(Sc(a.pop(),["{}"]));return}if(n.nodes&&n.ranges>0){let g=vg.reduce(n.nodes);if(vg.exceedsLimit(...g,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let f=LBe(...g,e);f.length===0&&(f=Sq(n,e)),a.push(Sc(a.pop(),f)),n.nodes=[];return}let l=vg.encloseBrace(n),c=n.queue,u=n;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,c=u.queue;for(let g=0;g{"use strict";xq.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Lq=w((drt,Dq)=>{"use strict";var OBe=Sy(),{MAX_LENGTH:Rq,CHAR_BACKSLASH:QS,CHAR_BACKTICK:MBe,CHAR_COMMA:UBe,CHAR_DOT:KBe,CHAR_LEFT_PARENTHESES:HBe,CHAR_RIGHT_PARENTHESES:jBe,CHAR_LEFT_CURLY_BRACE:GBe,CHAR_RIGHT_CURLY_BRACE:YBe,CHAR_LEFT_SQUARE_BRACKET:Fq,CHAR_RIGHT_SQUARE_BRACKET:Nq,CHAR_DOUBLE_QUOTE:qBe,CHAR_SINGLE_QUOTE:JBe,CHAR_NO_BREAK_SPACE:WBe,CHAR_ZERO_WIDTH_NOBREAK_SPACE:zBe}=Pq(),_Be=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},i=typeof r.maxLength=="number"?Math.min(Rq,r.maxLength):Rq;if(t.length>i)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${i})`);let n={type:"root",input:t,nodes:[]},s=[n],o=n,a=n,l=0,c=t.length,u=0,g=0,f,h={},p=()=>t[u++],m=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(m({type:"bos"});u0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:OBe(o)}]}m({type:"comma",value:f}),o.commas++;continue}if(f===KBe&&g>0&&o.commas===0){let y=o.nodes;if(g===0||y.length===0){m({type:"text",value:f});continue}if(a.type==="dot"){if(o.range=[],a.value+=f,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let Q=y[y.length-1];Q.value+=a.value+f,a=Q,o.ranges--;continue}m({type:"dot",value:f});continue}m({type:"text",value:f})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(S=>{S.nodes||(S.type==="open"&&(S.isOpen=!0),S.type==="close"&&(S.isClose=!0),S.nodes||(S.type="text"),S.invalid=!0)});let y=s[s.length-1],Q=y.nodes.indexOf(o);y.nodes.splice(Q,1,...o.nodes)}while(s.length>0);return m({type:"eos"}),n};Dq.exports=_Be});var Mq=w((Crt,Tq)=>{"use strict";var Oq=Sy(),VBe=Qq(),XBe=kq(),ZBe=Lq(),$n=(t,e={})=>{let r=[];if(Array.isArray(t))for(let i of t){let n=$n.create(i,e);Array.isArray(n)?r.push(...n):r.push(n)}else r=[].concat($n.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};$n.parse=(t,e={})=>ZBe(t,e);$n.stringify=(t,e={})=>typeof t=="string"?Oq($n.parse(t,e),e):Oq(t,e);$n.compile=(t,e={})=>(typeof t=="string"&&(t=$n.parse(t,e)),VBe(t,e));$n.expand=(t,e={})=>{typeof t=="string"&&(t=$n.parse(t,e));let r=XBe(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};$n.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?$n.compile(t,e):$n.expand(t,e);Tq.exports=$n});var Vp=w((mrt,Uq)=>{"use strict";var $Be=require("path"),Go="\\\\/",Kq=`[^${Go}]`,Ya="\\.",e0e="\\+",t0e="\\?",xy="\\/",r0e="(?=.)",Hq="[^/]",vS=`(?:${xy}|$)`,jq=`(?:^|${xy})`,SS=`${Ya}{1,2}${vS}`,i0e=`(?!${Ya})`,n0e=`(?!${jq}${SS})`,s0e=`(?!${Ya}{0,1}${vS})`,o0e=`(?!${SS})`,a0e=`[^.${xy}]`,A0e=`${Hq}*?`,Gq={DOT_LITERAL:Ya,PLUS_LITERAL:e0e,QMARK_LITERAL:t0e,SLASH_LITERAL:xy,ONE_CHAR:r0e,QMARK:Hq,END_ANCHOR:vS,DOTS_SLASH:SS,NO_DOT:i0e,NO_DOTS:n0e,NO_DOT_SLASH:s0e,NO_DOTS_SLASH:o0e,QMARK_NO_DOT:a0e,STAR:A0e,START_ANCHOR:jq},l0e=te(N({},Gq),{SLASH_LITERAL:`[${Go}]`,QMARK:Kq,STAR:`${Kq}*?`,DOTS_SLASH:`${Ya}{1,2}(?:[${Go}]|$)`,NO_DOT:`(?!${Ya})`,NO_DOTS:`(?!(?:^|[${Go}])${Ya}{1,2}(?:[${Go}]|$))`,NO_DOT_SLASH:`(?!${Ya}{0,1}(?:[${Go}]|$))`,NO_DOTS_SLASH:`(?!${Ya}{1,2}(?:[${Go}]|$))`,QMARK_NO_DOT:`[^.${Go}]`,START_ANCHOR:`(?:^|[${Go}])`,END_ANCHOR:`(?:[${Go}]|$)`}),c0e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Uq.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:c0e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:$Be.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?l0e:Gq}}});var Xp=w(kn=>{"use strict";var u0e=require("path"),g0e=process.platform==="win32",{REGEX_BACKSLASH:f0e,REGEX_REMOVE_BACKSLASH:h0e,REGEX_SPECIAL_CHARS:p0e,REGEX_SPECIAL_CHARS_GLOBAL:d0e}=Vp();kn.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);kn.hasRegexChars=t=>p0e.test(t);kn.isRegexChar=t=>t.length===1&&kn.hasRegexChars(t);kn.escapeRegex=t=>t.replace(d0e,"\\$1");kn.toPosixSlashes=t=>t.replace(f0e,"/");kn.removeBackslashes=t=>t.replace(h0e,e=>e==="\\"?"":e);kn.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};kn.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:g0e===!0||u0e.sep==="\\";kn.escapeLast=(t,e,r)=>{let i=t.lastIndexOf(e,r);return i===-1?t:t[i-1]==="\\"?kn.escapeLast(t,e,i-1):`${t.slice(0,i)}\\${t.slice(i)}`};kn.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};kn.wrapOutput=(t,e={},r={})=>{let i=r.contains?"":"^",n=r.contains?"":"$",s=`${i}(?:${t})${n}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Xq=w((Irt,Yq)=>{"use strict";var qq=Xp(),{CHAR_ASTERISK:kS,CHAR_AT:C0e,CHAR_BACKWARD_SLASH:Zp,CHAR_COMMA:m0e,CHAR_DOT:xS,CHAR_EXCLAMATION_MARK:PS,CHAR_FORWARD_SLASH:Jq,CHAR_LEFT_CURLY_BRACE:DS,CHAR_LEFT_PARENTHESES:RS,CHAR_LEFT_SQUARE_BRACKET:E0e,CHAR_PLUS:I0e,CHAR_QUESTION_MARK:Wq,CHAR_RIGHT_CURLY_BRACE:y0e,CHAR_RIGHT_PARENTHESES:zq,CHAR_RIGHT_SQUARE_BRACKET:w0e}=Vp(),_q=t=>t===Jq||t===Zp,Vq=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?Infinity:1)},B0e=(t,e)=>{let r=e||{},i=t.length-1,n=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],l=t,c=-1,u=0,g=0,f=!1,h=!1,p=!1,m=!1,y=!1,Q=!1,S=!1,x=!1,M=!1,Y=!1,U=0,J,W,ee={value:"",depth:0,isGlob:!1},Z=()=>c>=i,A=()=>l.charCodeAt(c+1),ne=()=>(J=W,l.charCodeAt(++c));for(;c0&&(Ae=l.slice(0,u),l=l.slice(u),g-=u),le&&p===!0&&g>0?(le=l.slice(0,g),T=l.slice(g)):p===!0?(le="",T=l):le=l,le&&le!==""&&le!=="/"&&le!==l&&_q(le.charCodeAt(le.length-1))&&(le=le.slice(0,-1)),r.unescape===!0&&(T&&(T=qq.removeBackslashes(T)),le&&S===!0&&(le=qq.removeBackslashes(le)));let L={prefix:Ae,input:t,start:u,base:le,glob:T,isBrace:f,isBracket:h,isGlob:p,isExtglob:m,isGlobstar:y,negated:x,negatedExtglob:M};if(r.tokens===!0&&(L.maxDepth=0,_q(W)||o.push(ee),L.tokens=o),r.parts===!0||r.tokens===!0){let Ee;for(let we=0;we{"use strict";var Py=Vp(),es=Xp(),{MAX_LENGTH:Dy,POSIX_REGEX_SOURCE:b0e,REGEX_NON_SPECIAL_CHARS:Q0e,REGEX_SPECIAL_CHARS_BACKREF:v0e,REPLACEMENTS:$q}=Py,S0e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch(i){return t.map(n=>es.escapeRegex(n)).join("..")}return r},Sg=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,eJ=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=$q[t]||t;let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Dy,r.maxLength):Dy,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",l=es.isWindows(e),c=Py.globChars(l),u=Py.extglobChars(c),{DOT_LITERAL:g,PLUS_LITERAL:f,SLASH_LITERAL:h,ONE_CHAR:p,DOTS_SLASH:m,NO_DOT:y,NO_DOT_SLASH:Q,NO_DOTS_SLASH:S,QMARK:x,QMARK_NO_DOT:M,STAR:Y,START_ANCHOR:U}=c,J=X=>`(${a}(?:(?!${U}${X.dot?m:g}).)*?)`,W=r.dot?"":y,ee=r.dot?x:M,Z=r.bash===!0?J(r):Y;r.capture&&(Z=`(${Z})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let A={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=es.removePrefix(t,A),n=t.length;let ne=[],le=[],Ae=[],T=s,L,Ee=()=>A.index===n-1,we=A.peek=(X=1)=>t[A.index+X],qe=A.advance=()=>t[++A.index]||"",re=()=>t.slice(A.index+1),se=(X="",be=0)=>{A.consumed+=X,A.index+=be},Qe=X=>{A.output+=X.output!=null?X.output:X.value,se(X.value)},he=()=>{let X=1;for(;we()==="!"&&(we(2)!=="("||we(3)==="?");)qe(),A.start++,X++;return X%2==0?!1:(A.negated=!0,A.start++,!0)},Fe=X=>{A[X]++,Ae.push(X)},Ue=X=>{A[X]--,Ae.pop()},xe=X=>{if(T.type==="globstar"){let be=A.braces>0&&(X.type==="comma"||X.type==="brace"),ce=X.extglob===!0||ne.length&&(X.type==="pipe"||X.type==="paren");X.type!=="slash"&&X.type!=="paren"&&!be&&!ce&&(A.output=A.output.slice(0,-T.output.length),T.type="star",T.value="*",T.output=Z,A.output+=T.output)}if(ne.length&&X.type!=="paren"&&(ne[ne.length-1].inner+=X.value),(X.value||X.output)&&Qe(X),T&&T.type==="text"&&X.type==="text"){T.value+=X.value,T.output=(T.output||"")+X.value;return}X.prev=T,o.push(X),T=X},ve=(X,be)=>{let ce=te(N({},u[be]),{conditions:1,inner:""});ce.prev=T,ce.parens=A.parens,ce.output=A.output;let fe=(r.capture?"(":"")+ce.open;Fe("parens"),xe({type:X,value:be,output:A.output?"":p}),xe({type:"paren",extglob:!0,value:qe(),output:fe}),ne.push(ce)},pe=X=>{let be=X.close+(r.capture?")":""),ce;if(X.type==="negate"){let fe=Z;X.inner&&X.inner.length>1&&X.inner.includes("/")&&(fe=J(r)),(fe!==Z||Ee()||/^\)+$/.test(re()))&&(be=X.close=`)$))${fe}`),X.inner.includes("*")&&(ce=re())&&/^\.[^\\/.]+$/.test(ce)&&(be=X.close=`)${ce})${fe})`),X.prev.type==="bos"&&(A.negatedExtglob=!0)}xe({type:"paren",extglob:!0,value:L,output:be}),Ue("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let X=!1,be=t.replace(v0e,(ce,fe,gt,Ht,Mt,mi)=>Ht==="\\"?(X=!0,ce):Ht==="?"?fe?fe+Ht+(Mt?x.repeat(Mt.length):""):mi===0?ee+(Mt?x.repeat(Mt.length):""):x.repeat(gt.length):Ht==="."?g.repeat(gt.length):Ht==="*"?fe?fe+Ht+(Mt?Z:""):Z:fe?ce:`\\${ce}`);return X===!0&&(r.unescape===!0?be=be.replace(/\\/g,""):be=be.replace(/\\+/g,ce=>ce.length%2==0?"\\\\":ce?"\\":"")),be===t&&r.contains===!0?(A.output=t,A):(A.output=es.wrapOutput(be,A,e),A)}for(;!Ee();){if(L=qe(),L==="\0")continue;if(L==="\\"){let ce=we();if(ce==="/"&&r.bash!==!0||ce==="."||ce===";")continue;if(!ce){L+="\\",xe({type:"text",value:L});continue}let fe=/^\\+/.exec(re()),gt=0;if(fe&&fe[0].length>2&&(gt=fe[0].length,A.index+=gt,gt%2!=0&&(L+="\\")),r.unescape===!0?L=qe():L+=qe(),A.brackets===0){xe({type:"text",value:L});continue}}if(A.brackets>0&&(L!=="]"||T.value==="["||T.value==="[^")){if(r.posix!==!1&&L===":"){let ce=T.value.slice(1);if(ce.includes("[")&&(T.posix=!0,ce.includes(":"))){let fe=T.value.lastIndexOf("["),gt=T.value.slice(0,fe),Ht=T.value.slice(fe+2),Mt=b0e[Ht];if(Mt){T.value=gt+Mt,A.backtrack=!0,qe(),!s.output&&o.indexOf(T)===1&&(s.output=p);continue}}}(L==="["&&we()!==":"||L==="-"&&we()==="]")&&(L=`\\${L}`),L==="]"&&(T.value==="["||T.value==="[^")&&(L=`\\${L}`),r.posix===!0&&L==="!"&&T.value==="["&&(L="^"),T.value+=L,Qe({value:L});continue}if(A.quotes===1&&L!=='"'){L=es.escapeRegex(L),T.value+=L,Qe({value:L});continue}if(L==='"'){A.quotes=A.quotes===1?0:1,r.keepQuotes===!0&&xe({type:"text",value:L});continue}if(L==="("){Fe("parens"),xe({type:"paren",value:L});continue}if(L===")"){if(A.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Sg("opening","("));let ce=ne[ne.length-1];if(ce&&A.parens===ce.parens+1){pe(ne.pop());continue}xe({type:"paren",value:L,output:A.parens?")":"\\)"}),Ue("parens");continue}if(L==="["){if(r.nobracket===!0||!re().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Sg("closing","]"));L=`\\${L}`}else Fe("brackets");xe({type:"bracket",value:L});continue}if(L==="]"){if(r.nobracket===!0||T&&T.type==="bracket"&&T.value.length===1){xe({type:"text",value:L,output:`\\${L}`});continue}if(A.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Sg("opening","["));xe({type:"text",value:L,output:`\\${L}`});continue}Ue("brackets");let ce=T.value.slice(1);if(T.posix!==!0&&ce[0]==="^"&&!ce.includes("/")&&(L=`/${L}`),T.value+=L,Qe({value:L}),r.literalBrackets===!1||es.hasRegexChars(ce))continue;let fe=es.escapeRegex(T.value);if(A.output=A.output.slice(0,-T.value.length),r.literalBrackets===!0){A.output+=fe,T.value=fe;continue}T.value=`(${a}${fe}|${T.value})`,A.output+=T.value;continue}if(L==="{"&&r.nobrace!==!0){Fe("braces");let ce={type:"brace",value:L,output:"(",outputIndex:A.output.length,tokensIndex:A.tokens.length};le.push(ce),xe(ce);continue}if(L==="}"){let ce=le[le.length-1];if(r.nobrace===!0||!ce){xe({type:"text",value:L,output:L});continue}let fe=")";if(ce.dots===!0){let gt=o.slice(),Ht=[];for(let Mt=gt.length-1;Mt>=0&&(o.pop(),gt[Mt].type!=="brace");Mt--)gt[Mt].type!=="dots"&&Ht.unshift(gt[Mt].value);fe=S0e(Ht,r),A.backtrack=!0}if(ce.comma!==!0&&ce.dots!==!0){let gt=A.output.slice(0,ce.outputIndex),Ht=A.tokens.slice(ce.tokensIndex);ce.value=ce.output="\\{",L=fe="\\}",A.output=gt;for(let Mt of Ht)A.output+=Mt.output||Mt.value}xe({type:"brace",value:L,output:fe}),Ue("braces"),le.pop();continue}if(L==="|"){ne.length>0&&ne[ne.length-1].conditions++,xe({type:"text",value:L});continue}if(L===","){let ce=L,fe=le[le.length-1];fe&&Ae[Ae.length-1]==="braces"&&(fe.comma=!0,ce="|"),xe({type:"comma",value:L,output:ce});continue}if(L==="/"){if(T.type==="dot"&&A.index===A.start+1){A.start=A.index+1,A.consumed="",A.output="",o.pop(),T=s;continue}xe({type:"slash",value:L,output:h});continue}if(L==="."){if(A.braces>0&&T.type==="dot"){T.value==="."&&(T.output=g);let ce=le[le.length-1];T.type="dots",T.output+=L,T.value+=L,ce.dots=!0;continue}if(A.braces+A.parens===0&&T.type!=="bos"&&T.type!=="slash"){xe({type:"text",value:L,output:g});continue}xe({type:"dot",value:L,output:g});continue}if(L==="?"){if(!(T&&T.value==="(")&&r.noextglob!==!0&&we()==="("&&we(2)!=="?"){ve("qmark",L);continue}if(T&&T.type==="paren"){let fe=we(),gt=L;if(fe==="<"&&!es.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(T.value==="("&&!/[!=<:]/.test(fe)||fe==="<"&&!/<([!=]|\w+>)/.test(re()))&&(gt=`\\${L}`),xe({type:"text",value:L,output:gt});continue}if(r.dot!==!0&&(T.type==="slash"||T.type==="bos")){xe({type:"qmark",value:L,output:M});continue}xe({type:"qmark",value:L,output:x});continue}if(L==="!"){if(r.noextglob!==!0&&we()==="("&&(we(2)!=="?"||!/[!=<:]/.test(we(3)))){ve("negate",L);continue}if(r.nonegate!==!0&&A.index===0){he();continue}}if(L==="+"){if(r.noextglob!==!0&&we()==="("&&we(2)!=="?"){ve("plus",L);continue}if(T&&T.value==="("||r.regex===!1){xe({type:"plus",value:L,output:f});continue}if(T&&(T.type==="bracket"||T.type==="paren"||T.type==="brace")||A.parens>0){xe({type:"plus",value:L});continue}xe({type:"plus",value:f});continue}if(L==="@"){if(r.noextglob!==!0&&we()==="("&&we(2)!=="?"){xe({type:"at",extglob:!0,value:L,output:""});continue}xe({type:"text",value:L});continue}if(L!=="*"){(L==="$"||L==="^")&&(L=`\\${L}`);let ce=Q0e.exec(re());ce&&(L+=ce[0],A.index+=ce[0].length),xe({type:"text",value:L});continue}if(T&&(T.type==="globstar"||T.star===!0)){T.type="star",T.star=!0,T.value+=L,T.output=Z,A.backtrack=!0,A.globstar=!0,se(L);continue}let X=re();if(r.noextglob!==!0&&/^\([^?]/.test(X)){ve("star",L);continue}if(T.type==="star"){if(r.noglobstar===!0){se(L);continue}let ce=T.prev,fe=ce.prev,gt=ce.type==="slash"||ce.type==="bos",Ht=fe&&(fe.type==="star"||fe.type==="globstar");if(r.bash===!0&&(!gt||X[0]&&X[0]!=="/")){xe({type:"star",value:L,output:""});continue}let Mt=A.braces>0&&(ce.type==="comma"||ce.type==="brace"),mi=ne.length&&(ce.type==="pipe"||ce.type==="paren");if(!gt&&ce.type!=="paren"&&!Mt&&!mi){xe({type:"star",value:L,output:""});continue}for(;X.slice(0,3)==="/**";){let jt=t[A.index+4];if(jt&&jt!=="/")break;X=X.slice(3),se("/**",3)}if(ce.type==="bos"&&Ee()){T.type="globstar",T.value+=L,T.output=J(r),A.output=T.output,A.globstar=!0,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&!Ht&&Ee()){A.output=A.output.slice(0,-(ce.output+T.output).length),ce.output=`(?:${ce.output}`,T.type="globstar",T.output=J(r)+(r.strictSlashes?")":"|$)"),T.value+=L,A.globstar=!0,A.output+=ce.output+T.output,se(L);continue}if(ce.type==="slash"&&ce.prev.type!=="bos"&&X[0]==="/"){let jt=X[1]!==void 0?"|$":"";A.output=A.output.slice(0,-(ce.output+T.output).length),ce.output=`(?:${ce.output}`,T.type="globstar",T.output=`${J(r)}${h}|${h}${jt})`,T.value+=L,A.output+=ce.output+T.output,A.globstar=!0,se(L+qe()),xe({type:"slash",value:"/",output:""});continue}if(ce.type==="bos"&&X[0]==="/"){T.type="globstar",T.value+=L,T.output=`(?:^|${h}|${J(r)}${h})`,A.output=T.output,A.globstar=!0,se(L+qe()),xe({type:"slash",value:"/",output:""});continue}A.output=A.output.slice(0,-T.output.length),T.type="globstar",T.output=J(r),T.value+=L,A.output+=T.output,A.globstar=!0,se(L);continue}let be={type:"star",value:L,output:Z};if(r.bash===!0){be.output=".*?",(T.type==="bos"||T.type==="slash")&&(be.output=W+be.output),xe(be);continue}if(T&&(T.type==="bracket"||T.type==="paren")&&r.regex===!0){be.output=L,xe(be);continue}(A.index===A.start||T.type==="slash"||T.type==="dot")&&(T.type==="dot"?(A.output+=Q,T.output+=Q):r.dot===!0?(A.output+=S,T.output+=S):(A.output+=W,T.output+=W),we()!=="*"&&(A.output+=p,T.output+=p)),xe(be)}for(;A.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing","]"));A.output=es.escapeLast(A.output,"["),Ue("brackets")}for(;A.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing",")"));A.output=es.escapeLast(A.output,"("),Ue("parens")}for(;A.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Sg("closing","}"));A.output=es.escapeLast(A.output,"{"),Ue("braces")}if(r.strictSlashes!==!0&&(T.type==="star"||T.type==="bracket")&&xe({type:"maybe_slash",value:"",output:`${h}?`}),A.backtrack===!0){A.output="";for(let X of A.tokens)A.output+=X.output!=null?X.output:X.value,X.suffix&&(A.output+=X.suffix)}return A};eJ.fastpaths=(t,e)=>{let r=N({},e),i=typeof r.maxLength=="number"?Math.min(Dy,r.maxLength):Dy,n=t.length;if(n>i)throw new SyntaxError(`Input length: ${n}, exceeds maximum allowed length: ${i}`);t=$q[t]||t;let s=es.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:l,DOTS_SLASH:c,NO_DOT:u,NO_DOTS:g,NO_DOTS_SLASH:f,STAR:h,START_ANCHOR:p}=Py.globChars(s),m=r.dot?g:u,y=r.dot?f:u,Q=r.capture?"":"?:",S={negated:!1,prefix:""},x=r.bash===!0?".*?":h;r.capture&&(x=`(${x})`);let M=W=>W.noglobstar===!0?x:`(${Q}(?:(?!${p}${W.dot?c:o}).)*?)`,Y=W=>{switch(W){case"*":return`${m}${l}${x}`;case".*":return`${o}${l}${x}`;case"*.*":return`${m}${x}${o}${l}${x}`;case"*/*":return`${m}${x}${a}${l}${y}${x}`;case"**":return m+M(r);case"**/*":return`(?:${m}${M(r)}${a})?${y}${l}${x}`;case"**/*.*":return`(?:${m}${M(r)}${a})?${y}${x}${o}${l}${x}`;case"**/.*":return`(?:${m}${M(r)}${a})?${o}${l}${x}`;default:{let ee=/^(.*?)\.(\w+)$/.exec(W);if(!ee)return;let Z=Y(ee[1]);return Z?Z+o+ee[2]:void 0}}},U=es.removePrefix(t,S),J=Y(U);return J&&r.strictSlashes!==!0&&(J+=`${a}?`),J};Zq.exports=eJ});var iJ=w((wrt,rJ)=>{"use strict";var k0e=require("path"),x0e=Xq(),FS=tJ(),NS=Xp(),P0e=Vp(),D0e=t=>t&&typeof t=="object"&&!Array.isArray(t),zr=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(f=>zr(f,e,r));return f=>{for(let h of u){let p=h(f);if(p)return p}return!1}}let i=D0e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!i)throw new TypeError("Expected pattern to be a non-empty string");let n=e||{},s=NS.isWindows(e),o=i?zr.compileRe(t,e):zr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let l=()=>!1;if(n.ignore){let u=te(N({},e),{ignore:null,onMatch:null,onResult:null});l=zr(n.ignore,u,r)}let c=(u,g=!1)=>{let{isMatch:f,match:h,output:p}=zr.test(u,o,e,{glob:t,posix:s}),m={glob:t,state:a,regex:o,posix:s,input:u,output:p,match:h,isMatch:f};return typeof n.onResult=="function"&&n.onResult(m),f===!1?(m.isMatch=!1,g?m:!1):l(u)?(typeof n.onIgnore=="function"&&n.onIgnore(m),m.isMatch=!1,g?m:!1):(typeof n.onMatch=="function"&&n.onMatch(m),g?m:!0)};return r&&(c.state=a),c};zr.test=(t,e,r,{glob:i,posix:n}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(n?NS.toPosixSlashes:null),a=t===i,l=a&&o?o(t):t;return a===!1&&(l=o?o(t):t,a=l===i),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=zr.matchBase(t,e,r,n):a=e.exec(l)),{isMatch:Boolean(a),match:a,output:l}};zr.matchBase=(t,e,r,i=NS.isWindows(r))=>(e instanceof RegExp?e:zr.makeRe(e,r)).test(k0e.basename(t));zr.isMatch=(t,e,r)=>zr(e,r)(t);zr.parse=(t,e)=>Array.isArray(t)?t.map(r=>zr.parse(r,e)):FS(t,te(N({},e),{fastpaths:!1}));zr.scan=(t,e)=>x0e(t,e);zr.compileRe=(t,e,r=!1,i=!1)=>{if(r===!0)return t.output;let n=e||{},s=n.contains?"":"^",o=n.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let l=zr.toRegex(a,e);return i===!0&&(l.state=t),l};zr.makeRe=(t,e={},r=!1,i=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let n={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(n.output=FS.fastpaths(t,e)),n.output||(n=FS(t,e)),zr.compileRe(n,e,r,i)};zr.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};zr.constants=P0e;rJ.exports=zr});var LS=w((Brt,nJ)=>{"use strict";nJ.exports=iJ()});var ts=w((brt,sJ)=>{"use strict";var oJ=require("util"),aJ=Mq(),Yo=LS(),TS=Xp(),AJ=t=>t===""||t==="./",Pr=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let i=new Set,n=new Set,s=new Set,o=0,a=u=>{s.add(u.output),r&&r.onResult&&r.onResult(u)};for(let u=0;u!i.has(u));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(u=>u.replace(/\\/g,"")):e}return c};Pr.match=Pr;Pr.matcher=(t,e)=>Yo(t,e);Pr.isMatch=(t,e,r)=>Yo(e,r)(t);Pr.any=Pr.isMatch;Pr.not=(t,e,r={})=>{e=[].concat(e).map(String);let i=new Set,n=[],s=a=>{r.onResult&&r.onResult(a),n.push(a.output)},o=Pr(t,e,te(N({},r),{onResult:s}));for(let a of n)o.includes(a)||i.add(a);return[...i]};Pr.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oJ.inspect(t)}"`);if(Array.isArray(e))return e.some(i=>Pr.contains(t,i,r));if(typeof e=="string"){if(AJ(t)||AJ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return Pr.isMatch(t,e,te(N({},r),{contains:!0}))};Pr.matchKeys=(t,e,r)=>{if(!TS.isObject(t))throw new TypeError("Expected the first argument to be an object");let i=Pr(Object.keys(t),e,r),n={};for(let s of i)n[s]=t[s];return n};Pr.some=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(i.some(o=>s(o)))return!0}return!1};Pr.every=(t,e,r)=>{let i=[].concat(t);for(let n of[].concat(e)){let s=Yo(String(n),r);if(!i.every(o=>s(o)))return!1}return!0};Pr.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${oJ.inspect(t)}"`);return[].concat(e).every(i=>Yo(i,r)(t))};Pr.capture=(t,e,r)=>{let i=TS.isWindows(r),s=Yo.makeRe(String(t),te(N({},r),{capture:!0})).exec(i?TS.toPosixSlashes(e):e);if(s)return s.slice(1).map(o=>o===void 0?"":o)};Pr.makeRe=(...t)=>Yo.makeRe(...t);Pr.scan=(...t)=>Yo.scan(...t);Pr.parse=(t,e)=>{let r=[];for(let i of[].concat(t||[]))for(let n of aJ(String(i),e))r.push(Yo.parse(n,e));return r};Pr.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:aJ(t,e)};Pr.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return Pr.braces(t,te(N({},e),{expand:!0}))};sJ.exports=Pr});var cJ=w((Qrt,lJ)=>{"use strict";lJ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var gJ=w((vrt,uJ)=>{"use strict";var R0e=cJ();uJ.exports=t=>typeof t=="string"?t.replace(R0e(),""):t});var kJ=w((Yrt,SJ)=>{"use strict";SJ.exports=(...t)=>[...new Set([].concat(...t))]});var XS=w((qrt,xJ)=>{"use strict";var Y0e=require("stream"),PJ=Y0e.PassThrough,q0e=Array.prototype.slice;xJ.exports=J0e;function J0e(){let t=[],e=!1,r=q0e.call(arguments),i=r[r.length-1];i&&!Array.isArray(i)&&i.pipe==null?r.pop():i={};let n=i.end!==!1;i.objectMode==null&&(i.objectMode=!0),i.highWaterMark==null&&(i.highWaterMark=64*1024);let s=PJ(i);function o(){for(let c=0,u=arguments.length;c0||(e=!1,a())}function f(h){function p(){h.removeListener("merge2UnpipeEnd",p),h.removeListener("end",p),g()}if(h._readableState.endEmitted)return g();h.on("merge2UnpipeEnd",p),h.on("end",p),h.pipe(s,{end:!1}),h.resume()}for(let h=0;h{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});function W0e(t){return t.reduce((e,r)=>[].concat(e,r),[])}Ty.flatten=W0e;function z0e(t,e){let r=[[]],i=0;for(let n of t)e(n)?(i++,r[i]=[]):r[i].push(n);return r}Ty.splitWhen=z0e});var FJ=w(ZS=>{"use strict";Object.defineProperty(ZS,"__esModule",{value:!0});function _0e(t){return t.code==="ENOENT"}ZS.isEnoentCodeError=_0e});var LJ=w($S=>{"use strict";Object.defineProperty($S,"__esModule",{value:!0});var NJ=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function V0e(t,e){return new NJ(t,e)}$S.createDirentFromStats=V0e});var TJ=w(Ng=>{"use strict";Object.defineProperty(Ng,"__esModule",{value:!0});var X0e=require("path"),Z0e=2,$0e=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function ebe(t){return t.replace(/\\/g,"/")}Ng.unixify=ebe;function tbe(t,e){return X0e.resolve(t,e)}Ng.makeAbsolute=tbe;function rbe(t){return t.replace($0e,"\\$2")}Ng.escape=rbe;function ibe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(Z0e)}return t}Ng.removeLeadingDotSegment=ibe});var MJ=w((Vrt,OJ)=>{OJ.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var HJ=w((Xrt,UJ)=>{var nbe=MJ(),KJ={"{":"}","(":")","[":"]"},sbe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,i=-2,n=-2,s=-2,o=-2;ee&&(o===-1||o>i||(o=t.indexOf("\\",e),o===-1||o>i)))||n!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(n=t.indexOf("}",e),n>e&&(o=t.indexOf("\\",e),o===-1||o>n))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var l=KJ[a];if(l){var c=t.indexOf(l,e);c!==-1&&(e=c+1)}if(t[e]==="!")return!0}else e++}return!1},obe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var abe=HJ(),Abe=require("path").posix.dirname,lbe=require("os").platform()==="win32",ek="/",cbe=/\\/g,ube=/[\{\[].*[\}\]]$/,gbe=/(^|[^\\])([\{\[]|\([^\)]+$)/,fbe=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jJ.exports=function(e,r){var i=Object.assign({flipBackslashes:!0},r);i.flipBackslashes&&lbe&&e.indexOf(ek)<0&&(e=e.replace(cbe,ek)),ube.test(e)&&(e+=ek),e+="a";do e=Abe(e);while(abe(e)||gbe.test(e));return e.replace(fbe,"$1")}});var ZJ=w(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});var hbe=require("path"),pbe=GJ(),YJ=ts(),dbe=LS(),qJ="**",Cbe="\\",mbe=/[*?]|^!/,Ebe=/\[.*]/,Ibe=/(?:^|[^!*+?@])\(.*\|.*\)/,ybe=/[!*+?@]\(.*\)/,wbe=/{.*(?:,|\.\.).*}/;function WJ(t,e={}){return!JJ(t,e)}ni.isStaticPattern=WJ;function JJ(t,e={}){return!!(e.caseSensitiveMatch===!1||t.includes(Cbe)||mbe.test(t)||Ebe.test(t)||Ibe.test(t)||e.extglob!==!1&&ybe.test(t)||e.braceExpansion!==!1&&wbe.test(t))}ni.isDynamicPattern=JJ;function Bbe(t){return Oy(t)?t.slice(1):t}ni.convertToPositivePattern=Bbe;function bbe(t){return"!"+t}ni.convertToNegativePattern=bbe;function Oy(t){return t.startsWith("!")&&t[1]!=="("}ni.isNegativePattern=Oy;function zJ(t){return!Oy(t)}ni.isPositivePattern=zJ;function Qbe(t){return t.filter(Oy)}ni.getNegativePatterns=Qbe;function vbe(t){return t.filter(zJ)}ni.getPositivePatterns=vbe;function Sbe(t){return pbe(t,{flipBackslashes:!1})}ni.getBaseDirectory=Sbe;function kbe(t){return t.includes(qJ)}ni.hasGlobStar=kbe;function _J(t){return t.endsWith("/"+qJ)}ni.endsWithSlashGlobStar=_J;function xbe(t){let e=hbe.basename(t);return _J(t)||WJ(e)}ni.isAffectDepthOfReadingPattern=xbe;function Pbe(t){return t.reduce((e,r)=>e.concat(VJ(r)),[])}ni.expandPatternsWithBraceExpansion=Pbe;function VJ(t){return YJ.braces(t,{expand:!0,nodupes:!0})}ni.expandBraceExpansion=VJ;function Dbe(t,e){let r=dbe.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.parts.length===0?[t]:r.parts}ni.getPatternParts=Dbe;function XJ(t,e){return YJ.makeRe(t,e)}ni.makeRe=XJ;function Rbe(t,e){return t.map(r=>XJ(r,e))}ni.convertPatternsToRe=Rbe;function Fbe(t,e){return e.some(r=>r.test(t))}ni.matchAny=Fbe});var e3=w(tk=>{"use strict";Object.defineProperty(tk,"__esModule",{value:!0});var Nbe=XS();function Lbe(t){let e=Nbe(t);return t.forEach(r=>{r.once("error",i=>e.emit("error",i))}),e.once("close",()=>$J(t)),e.once("end",()=>$J(t)),e}tk.merge=Lbe;function $J(t){t.forEach(e=>e.emit("close"))}});var t3=w(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});function Tbe(t){return typeof t=="string"}My.isString=Tbe;function Obe(t){return t===""}My.isEmpty=Obe});var Wa=w(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var Mbe=RJ();Ja.array=Mbe;var Ube=FJ();Ja.errno=Ube;var Kbe=LJ();Ja.fs=Kbe;var Hbe=TJ();Ja.path=Hbe;var jbe=ZJ();Ja.pattern=jbe;var Gbe=e3();Ja.stream=Gbe;var Ybe=t3();Ja.string=Ybe});var o3=w(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var Rc=Wa();function qbe(t,e){let r=r3(t),i=i3(t,e.ignore),n=r.filter(l=>Rc.pattern.isStaticPattern(l,e)),s=r.filter(l=>Rc.pattern.isDynamicPattern(l,e)),o=rk(n,i,!1),a=rk(s,i,!0);return o.concat(a)}za.generate=qbe;function rk(t,e,r){let i=n3(t);return"."in i?[ik(".",t,e,r)]:s3(i,e,r)}za.convertPatternsToTasks=rk;function r3(t){return Rc.pattern.getPositivePatterns(t)}za.getPositivePatterns=r3;function i3(t,e){return Rc.pattern.getNegativePatterns(t).concat(e).map(Rc.pattern.convertToPositivePattern)}za.getNegativePatternsAsPositive=i3;function n3(t){let e={};return t.reduce((r,i)=>{let n=Rc.pattern.getBaseDirectory(i);return n in r?r[n].push(i):r[n]=[i],r},e)}za.groupPatternsByBaseDirectory=n3;function s3(t,e,r){return Object.keys(t).map(i=>ik(i,t[i],e,r))}za.convertPatternGroupsToTasks=s3;function ik(t,e,r,i){return{dynamic:i,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Rc.pattern.convertToNegativePattern))}}za.convertPatternGroupToTask=ik});var A3=w(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.read=void 0;function Jbe(t,e,r){e.fs.lstat(t,(i,n)=>{if(i!==null){a3(r,i);return}if(!n.isSymbolicLink()||!e.followSymbolicLink){nk(r,n);return}e.fs.stat(t,(s,o)=>{if(s!==null){if(e.throwErrorOnBrokenSymbolicLink){a3(r,s);return}nk(r,n);return}e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),nk(r,o)})})}Uy.read=Jbe;function a3(t,e){t(e)}function nk(t,e){t(null,e)}});var l3=w(Ky=>{"use strict";Object.defineProperty(Ky,"__esModule",{value:!0});Ky.read=void 0;function Wbe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let i=e.fs.statSync(t);return e.markSymbolicLink&&(i.isSymbolicLink=()=>!0),i}catch(i){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw i}}Ky.read=Wbe});var c3=w(XA=>{"use strict";Object.defineProperty(XA,"__esModule",{value:!0});XA.createFileSystemAdapter=XA.FILE_SYSTEM_ADAPTER=void 0;var Hy=require("fs");XA.FILE_SYSTEM_ADAPTER={lstat:Hy.lstat,stat:Hy.stat,lstatSync:Hy.lstatSync,statSync:Hy.statSync};function zbe(t){return t===void 0?XA.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},XA.FILE_SYSTEM_ADAPTER),t)}XA.createFileSystemAdapter=zbe});var g3=w(sk=>{"use strict";Object.defineProperty(sk,"__esModule",{value:!0});var _be=c3(),u3=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=_be.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e!=null?e:r}};sk.default=u3});var Fc=w(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.statSync=ZA.stat=ZA.Settings=void 0;var f3=A3(),Vbe=l3(),ok=g3();ZA.Settings=ok.default;function Xbe(t,e,r){if(typeof e=="function"){f3.read(t,ak(),e);return}f3.read(t,ak(e),r)}ZA.stat=Xbe;function Zbe(t,e){let r=ak(e);return Vbe.read(t,r)}ZA.statSync=Zbe;function ak(t={}){return t instanceof ok.default?t:new ok.default(t)}});var p3=w((lit,h3)=>{h3.exports=$be;function $be(t,e){var r,i,n,s=!0;Array.isArray(t)?(r=[],i=t.length):(n=Object.keys(t),r={},i=n.length);function o(l){function c(){e&&e(l,r),e=null}s?process.nextTick(c):c()}function a(l,c,u){r[l]=u,(--i==0||c)&&o(c)}i?n?n.forEach(function(l){t[l](function(c,u){a(l,c,u)})}):t.forEach(function(l,c){l(function(u,g){a(c,u,g)})}):o(null),s=!1}});var Ak=w(jy=>{"use strict";Object.defineProperty(jy,"__esModule",{value:!0});jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var Gy=process.versions.node.split(".");if(Gy[0]===void 0||Gy[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var d3=Number.parseInt(Gy[0],10),eQe=Number.parseInt(Gy[1],10),C3=10,tQe=10,rQe=d3>C3,iQe=d3===C3&&eQe>=tQe;jy.IS_SUPPORT_READDIR_WITH_FILE_TYPES=rQe||iQe});var E3=w(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.createDirentFromStats=void 0;var m3=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function nQe(t,e){return new m3(t,e)}Yy.createDirentFromStats=nQe});var lk=w(qy=>{"use strict";Object.defineProperty(qy,"__esModule",{value:!0});qy.fs=void 0;var sQe=E3();qy.fs=sQe});var ck=w(Jy=>{"use strict";Object.defineProperty(Jy,"__esModule",{value:!0});Jy.joinPathSegments=void 0;function oQe(t,e,r){return t.endsWith(r)?t+e:t+r+e}Jy.joinPathSegments=oQe});var Q3=w($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.readdir=$A.readdirWithFileTypes=$A.read=void 0;var aQe=Fc(),I3=p3(),AQe=Ak(),y3=lk(),w3=ck();function lQe(t,e,r){if(!e.stats&&AQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES){B3(t,e,r);return}b3(t,e,r)}$A.read=lQe;function B3(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(i,n)=>{if(i!==null){Wy(r,i);return}let s=n.map(a=>({dirent:a,name:a.name,path:w3.joinPathSegments(t,a.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){uk(r,s);return}let o=s.map(a=>cQe(a,e));I3(o,(a,l)=>{if(a!==null){Wy(r,a);return}uk(r,l)})})}$A.readdirWithFileTypes=B3;function cQe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(i,n)=>{if(i!==null){if(e.throwErrorOnBrokenSymbolicLink){r(i);return}r(null,t);return}t.dirent=y3.fs.createDirentFromStats(t.name,n),r(null,t)})}}function b3(t,e,r){e.fs.readdir(t,(i,n)=>{if(i!==null){Wy(r,i);return}let s=n.map(o=>{let a=w3.joinPathSegments(t,o,e.pathSegmentSeparator);return l=>{aQe.stat(a,e.fsStatSettings,(c,u)=>{if(c!==null){l(c);return}let g={name:o,path:a,dirent:y3.fs.createDirentFromStats(o,u)};e.stats&&(g.stats=u),l(null,g)})}});I3(s,(o,a)=>{if(o!==null){Wy(r,o);return}uk(r,a)})})}$A.readdir=b3;function Wy(t,e){t(e)}function uk(t,e){t(null,e)}});var P3=w(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});el.readdir=el.readdirWithFileTypes=el.read=void 0;var uQe=Fc(),gQe=Ak(),v3=lk(),S3=ck();function fQe(t,e){return!e.stats&&gQe.IS_SUPPORT_READDIR_WITH_FILE_TYPES?k3(t,e):x3(t,e)}el.read=fQe;function k3(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(i=>{let n={dirent:i,name:i.name,path:S3.joinPathSegments(t,i.name,e.pathSegmentSeparator)};if(n.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let s=e.fs.statSync(n.path);n.dirent=v3.fs.createDirentFromStats(n.name,s)}catch(s){if(e.throwErrorOnBrokenSymbolicLink)throw s}return n})}el.readdirWithFileTypes=k3;function x3(t,e){return e.fs.readdirSync(t).map(i=>{let n=S3.joinPathSegments(t,i,e.pathSegmentSeparator),s=uQe.statSync(n,e.fsStatSettings),o={name:i,path:n,dirent:v3.fs.createDirentFromStats(i,s)};return e.stats&&(o.stats=s),o})}el.readdir=x3});var D3=w(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});tl.createFileSystemAdapter=tl.FILE_SYSTEM_ADAPTER=void 0;var Lg=require("fs");tl.FILE_SYSTEM_ADAPTER={lstat:Lg.lstat,stat:Lg.stat,lstatSync:Lg.lstatSync,statSync:Lg.statSync,readdir:Lg.readdir,readdirSync:Lg.readdirSync};function hQe(t){return t===void 0?tl.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},tl.FILE_SYSTEM_ADAPTER),t)}tl.createFileSystemAdapter=hQe});var F3=w(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});var pQe=require("path"),dQe=Fc(),CQe=D3(),R3=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=CQe.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,pQe.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new dQe.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};gk.default=R3});var zy=w(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.Settings=rl.scandirSync=rl.scandir=void 0;var N3=Q3(),mQe=P3(),fk=F3();rl.Settings=fk.default;function EQe(t,e,r){if(typeof e=="function"){N3.read(t,hk(),e);return}N3.read(t,hk(e),r)}rl.scandir=EQe;function IQe(t,e){let r=hk(e);return mQe.read(t,r)}rl.scandirSync=IQe;function hk(t={}){return t instanceof fk.default?t:new fk.default(t)}});var T3=w((Eit,L3)=>{"use strict";function yQe(t){var e=new t,r=e;function i(){var s=e;return s.next?e=s.next:(e=new t,r=e),s.next=null,s}function n(s){r.next=s,r=s}return{get:i,release:n}}L3.exports=yQe});var M3=w((Iit,pk)=>{"use strict";var wQe=T3();function O3(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var i=wQe(BQe),n=null,s=null,o=0,a=null,l={push:m,drain:Wo,saturated:Wo,pause:u,paused:!1,concurrency:r,running:c,resume:h,idle:p,length:g,getQueue:f,unshift:y,empty:Wo,kill:S,killAndDrain:x,error:M};return l;function c(){return o}function u(){l.paused=!0}function g(){for(var Y=n,U=0;Y;)Y=Y.next,U++;return U}function f(){for(var Y=n,U=[];Y;)U.push(Y.value),Y=Y.next;return U}function h(){if(!!l.paused){l.paused=!1;for(var Y=0;Y{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.joinPathSegments=zo.replacePathSegmentSeparator=zo.isAppliedFilter=zo.isFatalError=void 0;function QQe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}zo.isFatalError=QQe;function vQe(t,e){return t===null||t(e)}zo.isAppliedFilter=vQe;function SQe(t,e){return t.split(/[/\\]/).join(e)}zo.replacePathSegmentSeparator=SQe;function kQe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}zo.joinPathSegments=kQe});var Ck=w(dk=>{"use strict";Object.defineProperty(dk,"__esModule",{value:!0});var xQe=_y(),U3=class{constructor(e,r){this._root=e,this._settings=r,this._root=xQe.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};dk.default=U3});var Ek=w(mk=>{"use strict";Object.defineProperty(mk,"__esModule",{value:!0});var PQe=require("events"),DQe=zy(),RQe=M3(),Vy=_y(),FQe=Ck(),K3=class extends FQe.default{constructor(e,r){super(e,r);this._settings=r,this._scandir=DQe.scandir,this._emitter=new PQe.EventEmitter,this._queue=RQe(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let i={directory:e,base:r};this._queue.push(i,n=>{n!==null&&this._handleError(n)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(i,n)=>{if(i!==null){r(i,void 0);return}for(let s of n)this._handleEntry(s,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!Vy.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let i=e.path;r!==void 0&&(e.path=Vy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Vy.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&Vy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};mk.default=K3});var j3=w(Ik=>{"use strict";Object.defineProperty(Ik,"__esModule",{value:!0});var NQe=Ek(),H3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new NQe.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(r=>{LQe(e,r)}),this._reader.onEntry(r=>{this._storage.add(r)}),this._reader.onEnd(()=>{TQe(e,[...this._storage])}),this._reader.read()}};Ik.default=H3;function LQe(t,e){t(e)}function TQe(t,e){t(null,e)}});var Y3=w(yk=>{"use strict";Object.defineProperty(yk,"__esModule",{value:!0});var OQe=require("stream"),MQe=Ek(),G3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new MQe.default(this._root,this._settings),this._stream=new OQe.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};yk.default=G3});var J3=w(wk=>{"use strict";Object.defineProperty(wk,"__esModule",{value:!0});var UQe=zy(),Xy=_y(),KQe=Ck(),q3=class extends KQe.default{constructor(){super(...arguments);this._scandir=UQe.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let i=this._scandir(e,this._settings.fsScandirSettings);for(let n of i)this._handleEntry(n,r)}catch(i){this._handleError(i)}}_handleError(e){if(!!Xy.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let i=e.path;r!==void 0&&(e.path=Xy.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),Xy.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&Xy.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(i,e.path)}_pushToStorage(e){this._storage.add(e)}};wk.default=q3});var z3=w(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});var HQe=J3(),W3=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new HQe.default(this._root,this._settings)}read(){return this._reader.read()}};Bk.default=W3});var V3=w(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});var jQe=require("path"),GQe=zy(),_3=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,jQe.sep),this.fsScandirSettings=new GQe.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e!=null?e:r}};bk.default=_3});var vk=w(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.Settings=_o.walkStream=_o.walkSync=_o.walk=void 0;var X3=j3(),YQe=Y3(),qQe=z3(),Qk=V3();_o.Settings=Qk.default;function JQe(t,e,r){if(typeof e=="function"){new X3.default(t,Zy()).read(e);return}new X3.default(t,Zy(e)).read(r)}_o.walk=JQe;function WQe(t,e){let r=Zy(e);return new qQe.default(t,r).read()}_o.walkSync=WQe;function zQe(t,e){let r=Zy(e);return new YQe.default(t,r).read()}_o.walkStream=zQe;function Zy(t={}){return t instanceof Qk.default?t:new Qk.default(t)}});var kk=w(Sk=>{"use strict";Object.defineProperty(Sk,"__esModule",{value:!0});var _Qe=require("path"),VQe=Fc(),Z3=Wa(),$3=class{constructor(e){this._settings=e,this._fsStatSettings=new VQe.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return _Qe.resolve(this._settings.cwd,e)}_makeEntry(e,r){let i={name:r,path:r,dirent:Z3.fs.createDirentFromStats(r,e)};return this._settings.stats&&(i.stats=e),i}_isFatalError(e){return!Z3.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};Sk.default=$3});var Pk=w(xk=>{"use strict";Object.defineProperty(xk,"__esModule",{value:!0});var XQe=require("stream"),ZQe=Fc(),$Qe=vk(),eve=kk(),eW=class extends eve.default{constructor(){super(...arguments);this._walkStream=$Qe.walkStream,this._stat=ZQe.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let i=e.map(this._getFullEntryPath,this),n=new XQe.PassThrough({objectMode:!0});n._write=(s,o,a)=>this._getEntry(i[s],e[s],r).then(l=>{l!==null&&r.entryFilter(l)&&n.push(l),s===i.length-1&&n.end(),a()}).catch(a);for(let s=0;sthis._makeEntry(n,r)).catch(n=>{if(i.errorFilter(n))return null;throw n})}_getStat(e){return new Promise((r,i)=>{this._stat(e,this._fsStatSettings,(n,s)=>n===null?r(s):i(n))})}};xk.default=eW});var rW=w(Dk=>{"use strict";Object.defineProperty(Dk,"__esModule",{value:!0});var Tg=Wa(),tW=class{constructor(e,r,i){this._patterns=e,this._settings=r,this._micromatchOptions=i,this._storage=[],this._fillStorage()}_fillStorage(){let e=Tg.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let i=this._getPatternSegments(r),n=this._splitSegmentsIntoSections(i);this._storage.push({complete:n.length<=1,pattern:r,segments:i,sections:n})}}_getPatternSegments(e){return Tg.pattern.getPatternParts(e,this._micromatchOptions).map(i=>Tg.pattern.isDynamicPattern(i,this._settings)?{dynamic:!0,pattern:i,patternRe:Tg.pattern.makeRe(i,this._micromatchOptions)}:{dynamic:!1,pattern:i})}_splitSegmentsIntoSections(e){return Tg.array.splitWhen(e,r=>r.dynamic&&Tg.pattern.hasGlobStar(r.pattern))}};Dk.default=tW});var nW=w(Rk=>{"use strict";Object.defineProperty(Rk,"__esModule",{value:!0});var tve=rW(),iW=class extends tve.default{match(e){let r=e.split("/"),i=r.length,n=this._storage.filter(s=>!s.complete||s.segments.length>i);for(let s of n){let o=s.sections[0];if(!s.complete&&i>o.length||r.every((l,c)=>{let u=s.segments[c];return!!(u.dynamic&&u.patternRe.test(l)||!u.dynamic&&u.pattern===l)}))return!0}return!1}};Rk.default=iW});var oW=w(Fk=>{"use strict";Object.defineProperty(Fk,"__esModule",{value:!0});var $y=Wa(),rve=nW(),sW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,i){let n=this._getMatcher(r),s=this._getNegativePatternsRe(i);return o=>this._filter(e,o,n,s)}_getMatcher(e){return new rve.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter($y.pattern.isAffectDepthOfReadingPattern);return $y.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,i,n){let s=this._getEntryLevel(e,r.path);if(this._isSkippedByDeep(s)||this._isSkippedSymbolicLink(r))return!1;let o=$y.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(o,i)?!1:this._isSkippedByNegativePatterns(o,n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,r){let i=e.split("/").length;return r.split("/").length-(e===""?0:i)}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!$y.pattern.matchAny(e,r)}};Fk.default=sW});var AW=w(Nk=>{"use strict";Object.defineProperty(Nk,"__esModule",{value:!0});var sd=Wa(),aW=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let i=sd.pattern.convertPatternsToRe(e,this._micromatchOptions),n=sd.pattern.convertPatternsToRe(r,this._micromatchOptions);return s=>this._filter(s,i,n)}_filter(e,r,i){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e,i))return!1;let n=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(n,r)&&!this._isMatchToPatterns(e.path,i)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let i=sd.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(i,r)}_isMatchToPatterns(e,r){let i=sd.path.removeLeadingDotSegment(e);return sd.pattern.matchAny(i,r)}};Nk.default=aW});var cW=w(Lk=>{"use strict";Object.defineProperty(Lk,"__esModule",{value:!0});var ive=Wa(),lW=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return ive.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};Lk.default=lW});var fW=w(Tk=>{"use strict";Object.defineProperty(Tk,"__esModule",{value:!0});var uW=Wa(),gW=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=uW.path.makeAbsolute(this._settings.cwd,r),r=uW.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};Tk.default=gW});var ew=w(Ok=>{"use strict";Object.defineProperty(Ok,"__esModule",{value:!0});var nve=require("path"),sve=oW(),ove=AW(),ave=cW(),Ave=fW(),hW=class{constructor(e){this._settings=e,this.errorFilter=new ave.default(this._settings),this.entryFilter=new ove.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new sve.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Ave.default(this._settings)}_getRootDirectory(e){return nve.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Ok.default=hW});var dW=w(Mk=>{"use strict";Object.defineProperty(Mk,"__esModule",{value:!0});var lve=Pk(),cve=ew(),pW=class extends cve.default{constructor(){super(...arguments);this._reader=new lve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=[];return new Promise((s,o)=>{let a=this.api(r,e,i);a.once("error",o),a.on("data",l=>n.push(i.transform(l))),a.once("end",()=>s(n))})}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Mk.default=pW});var mW=w(Uk=>{"use strict";Object.defineProperty(Uk,"__esModule",{value:!0});var uve=require("stream"),gve=Pk(),fve=ew(),CW=class extends fve.default{constructor(){super(...arguments);this._reader=new gve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e),n=this.api(r,e,i),s=new uve.Readable({objectMode:!0,read:()=>{}});return n.once("error",o=>s.emit("error",o)).on("data",o=>s.emit("data",i.transform(o))).once("end",()=>s.emit("end")),s.once("close",()=>n.destroy()),s}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Uk.default=CW});var IW=w(Kk=>{"use strict";Object.defineProperty(Kk,"__esModule",{value:!0});var hve=Fc(),pve=vk(),dve=kk(),EW=class extends dve.default{constructor(){super(...arguments);this._walkSync=pve.walkSync,this._statSync=hve.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let i=[];for(let n of e){let s=this._getFullEntryPath(n),o=this._getEntry(s,n,r);o===null||!r.entryFilter(o)||i.push(o)}return i}_getEntry(e,r,i){try{let n=this._getStat(e);return this._makeEntry(n,r)}catch(n){if(i.errorFilter(n))return null;throw n}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};Kk.default=EW});var wW=w(Hk=>{"use strict";Object.defineProperty(Hk,"__esModule",{value:!0});var Cve=IW(),mve=ew(),yW=class extends mve.default{constructor(){super(...arguments);this._reader=new Cve.default(this._settings)}read(e){let r=this._getRootDirectory(e),i=this._getReaderOptions(e);return this.api(r,e,i).map(i.transform)}api(e,r,i){return r.dynamic?this._reader.dynamic(e,i):this._reader.static(r.patterns,i)}};Hk.default=yW});var bW=w(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});var Og=require("fs"),Eve=require("os"),Ive=Eve.cpus().length;od.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Og.lstat,lstatSync:Og.lstatSync,stat:Og.stat,statSync:Og.statSync,readdir:Og.readdir,readdirSync:Og.readdirSync};var BW=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Ive),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,Infinity),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},od.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};od.default=BW});var tw=w((Yit,QW)=>{"use strict";var vW=o3(),yve=dW(),wve=mW(),Bve=wW(),jk=bW(),Nc=Wa();async function Yk(t,e){Mg(t);let r=Gk(t,yve.default,e),i=await Promise.all(r);return Nc.array.flatten(i)}(function(t){function e(o,a){Mg(o);let l=Gk(o,Bve.default,a);return Nc.array.flatten(l)}t.sync=e;function r(o,a){Mg(o);let l=Gk(o,wve.default,a);return Nc.stream.merge(l)}t.stream=r;function i(o,a){Mg(o);let l=[].concat(o),c=new jk.default(a);return vW.generate(l,c)}t.generateTasks=i;function n(o,a){Mg(o);let l=new jk.default(a);return Nc.pattern.isDynamicPattern(o,l)}t.isDynamicPattern=n;function s(o){return Mg(o),Nc.path.escape(o)}t.escapePath=s})(Yk||(Yk={}));function Gk(t,e,r){let i=[].concat(t),n=new jk.default(r),s=vW.generate(i,n),o=new e(n);return s.map(o.read,o)}function Mg(t){if(![].concat(t).every(i=>Nc.string.isString(i)&&!Nc.string.isEmpty(i)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}QW.exports=Yk});var kW=w(Lc=>{"use strict";var{promisify:bve}=require("util"),SW=require("fs");async function qk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await bve(SW[t])(r))[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}function Jk(t,e,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return SW[t](r)[e]()}catch(i){if(i.code==="ENOENT")return!1;throw i}}Lc.isFile=qk.bind(null,"stat","isFile");Lc.isDirectory=qk.bind(null,"stat","isDirectory");Lc.isSymlink=qk.bind(null,"lstat","isSymbolicLink");Lc.isFileSync=Jk.bind(null,"statSync","isFile");Lc.isDirectorySync=Jk.bind(null,"statSync","isDirectory");Lc.isSymlinkSync=Jk.bind(null,"lstatSync","isSymbolicLink")});var FW=w((Jit,Wk)=>{"use strict";var Tc=require("path"),xW=kW(),PW=t=>t.length>1?`{${t.join(",")}}`:t[0],DW=(t,e)=>{let r=t[0]==="!"?t.slice(1):t;return Tc.isAbsolute(r)?r:Tc.join(e,r)},Qve=(t,e)=>Tc.extname(t)?`**/${t}`:`**/${t}.${PW(e)}`,RW=(t,e)=>{if(e.files&&!Array.isArray(e.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof e.files}\``);if(e.extensions&&!Array.isArray(e.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof e.extensions}\``);return e.files&&e.extensions?e.files.map(r=>Tc.posix.join(t,Qve(r,e.extensions))):e.files?e.files.map(r=>Tc.posix.join(t,`**/${r}`)):e.extensions?[Tc.posix.join(t,`**/*.${PW(e.extensions)}`)]:[Tc.posix.join(t,"**")]};Wk.exports=async(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=await Promise.all([].concat(t).map(async i=>await xW.isDirectory(DW(i,e.cwd))?RW(i,e):i));return[].concat.apply([],r)};Wk.exports.sync=(t,e)=>{if(e=N({cwd:process.cwd()},e),typeof e.cwd!="string")throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof e.cwd}\``);let r=[].concat(t).map(i=>xW.isDirectorySync(DW(i,e.cwd))?RW(i,e):i);return[].concat.apply([],r)}});var GW=w((Wit,NW)=>{function LW(t){return Array.isArray(t)?t:[t]}var TW="",OW=" ",zk="\\",vve=/^\s+$/,Sve=/^\\!/,kve=/^\\#/,xve=/\r?\n/g,Pve=/^\.*\/|^\.+$/,_k="/",MW=typeof Symbol!="undefined"?Symbol.for("node-ignore"):"node-ignore",Dve=(t,e,r)=>Object.defineProperty(t,e,{value:r}),Rve=/([0-z])-([0-z])/g,Fve=t=>t.replace(Rve,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:TW),Nve=t=>{let{length:e}=t;return t.slice(0,e-e%2)},Lve=[[/\\?\s+$/,t=>t.indexOf("\\")===0?OW:TW],[/\\\s/g,()=>OW],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6`${e}[^\\/]*`],[/\\\\\\(?=[$.|*+(){^])/g,()=>zk],[/\\\\/g,()=>zk],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===zk?`\\[${r}${Nve(i)}${n}`:n==="]"&&i.length%2==0?`[${Fve(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],UW=Object.create(null),Tve=(t,e)=>{let r=UW[t];return r||(r=Lve.reduce((i,n)=>i.replace(n[0],n[1].bind(t)),t),UW[t]=r),e?new RegExp(r,"i"):new RegExp(r)},Vk=t=>typeof t=="string",Ove=t=>t&&Vk(t)&&!vve.test(t)&&t.indexOf("#")!==0,Mve=t=>t.split(xve),KW=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},Uve=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(Sve,"!").replace(kve,"#");let n=Tve(t,e);return new KW(r,t,i,n)},Kve=(t,e)=>{throw new e(t)},_a=(t,e,r)=>Vk(t)?t?_a.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),HW=t=>Pve.test(t);_a.isNotRelative=HW;_a.convert=t=>t;var jW=class{constructor({ignorecase:e=!0}={}){Dve(this,MW,!0),this._rules=[],this._ignorecase=e,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[MW]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(Ove(e)){let r=Uve(e,this._ignorecase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,LW(Vk(e)?Mve(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:o}=s;if(n===o&&i!==n||o&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!o,n=o)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&_a.convert(e);return _a(s,e,Kve),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(_k)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(_k)+_k,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return LW(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},rw=t=>new jW(t),Hve=()=>!1,jve=t=>_a(t&&_a.convert(t),t,Hve);rw.isPathValid=jve;rw.default=rw;NW.exports=rw;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");_a.convert=t;let e=/^[a-z]:\//i;_a.isNotRelative=r=>e.test(r)||HW(r)}});var qW=w((zit,YW)=>{"use strict";YW.exports=t=>{let e=/^\\\\\?\\/.test(t),r=/[^\u0000-\u0080]+/.test(t);return e||r?t:t.replace(/\\/g,"/")}});var ZW=w((_it,Xk)=>{"use strict";var{promisify:Gve}=require("util"),JW=require("fs"),Va=require("path"),WW=tw(),Yve=GW(),ad=qW(),zW=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],qve=Gve(JW.readFile),Jve=t=>e=>e.startsWith("!")?"!"+Va.posix.join(t,e.slice(1)):Va.posix.join(t,e),Wve=(t,e)=>{let r=ad(Va.relative(e.cwd,Va.dirname(e.fileName)));return t.split(/\r?\n/).filter(Boolean).filter(i=>!i.startsWith("#")).map(Jve(r))},_W=t=>{let e=Yve();for(let r of t)e.add(Wve(r.content,{cwd:r.cwd,fileName:r.filePath}));return e},zve=(t,e)=>{if(t=ad(t),Va.isAbsolute(e)){if(ad(e).startsWith(t))return e;throw new Error(`Path ${e} is not in cwd ${t}`)}return Va.join(t,e)},VW=(t,e)=>r=>t.ignores(ad(Va.relative(e,zve(e,r.path||r)))),_ve=async(t,e)=>{let r=Va.join(e,t),i=await qve(r,"utf8");return{cwd:e,filePath:r,content:i}},Vve=(t,e)=>{let r=Va.join(e,t),i=JW.readFileSync(r,"utf8");return{cwd:e,filePath:r,content:i}},XW=({ignore:t=[],cwd:e=ad(process.cwd())}={})=>({ignore:t,cwd:e});Xk.exports=async t=>{t=XW(t);let e=await WW("**/.gitignore",{ignore:zW.concat(t.ignore),cwd:t.cwd}),r=await Promise.all(e.map(n=>_ve(n,t.cwd))),i=_W(r);return VW(i,t.cwd)};Xk.exports.sync=t=>{t=XW(t);let r=WW.sync("**/.gitignore",{ignore:zW.concat(t.ignore),cwd:t.cwd}).map(n=>Vve(n,t.cwd)),i=_W(r);return VW(i,t.cwd)}});var r8=w((Vit,$W)=>{"use strict";var{Transform:Xve}=require("stream"),Zk=class extends Xve{constructor(){super({objectMode:!0})}},e8=class extends Zk{constructor(e){super();this._filter=e}_transform(e,r,i){this._filter(e)&&this.push(e),i()}},t8=class extends Zk{constructor(){super();this._pushed=new Set}_transform(e,r,i){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),i()}};$W.exports={FilterStream:e8,UniqueStream:t8}});var rx=w((Xit,Oc)=>{"use strict";var i8=require("fs"),iw=kJ(),Zve=XS(),nw=tw(),sw=FW(),$k=ZW(),{FilterStream:$ve,UniqueStream:eSe}=r8(),n8=()=>!1,s8=t=>t[0]==="!",tSe=t=>{if(!t.every(e=>typeof e=="string"))throw new TypeError("Patterns must be a string or an array of strings")},rSe=(t={})=>{if(!t.cwd)return;let e;try{e=i8.statSync(t.cwd)}catch{return}if(!e.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},iSe=t=>t.stats instanceof i8.Stats?t.path:t,ow=(t,e)=>{t=iw([].concat(t)),tSe(t),rSe(e);let r=[];e=N({ignore:[],expandDirectories:!0},e);for(let[i,n]of t.entries()){if(s8(n))continue;let s=t.slice(i).filter(a=>s8(a)).map(a=>a.slice(1)),o=te(N({},e),{ignore:e.ignore.concat(s)});r.push({pattern:n,options:o})}return r},nSe=(t,e)=>{let r={};return t.options.cwd&&(r.cwd=t.options.cwd),Array.isArray(t.options.expandDirectories)?r=te(N({},r),{files:t.options.expandDirectories}):typeof t.options.expandDirectories=="object"&&(r=N(N({},r),t.options.expandDirectories)),e(t.pattern,r)},ex=(t,e)=>t.options.expandDirectories?nSe(t,e):[t.pattern],o8=t=>t&&t.gitignore?$k.sync({cwd:t.cwd,ignore:t.ignore}):n8,tx=t=>e=>{let{options:r}=t;return r.ignore&&Array.isArray(r.ignore)&&r.expandDirectories&&(r.ignore=sw.sync(r.ignore)),{pattern:e,options:r}};Oc.exports=async(t,e)=>{let r=ow(t,e),i=async()=>e&&e.gitignore?$k({cwd:e.cwd,ignore:e.ignore}):n8,n=async()=>{let l=await Promise.all(r.map(async c=>{let u=await ex(c,sw);return Promise.all(u.map(tx(c)))}));return iw(...l)},[s,o]=await Promise.all([i(),n()]),a=await Promise.all(o.map(l=>nw(l.pattern,l.options)));return iw(...a).filter(l=>!s(iSe(l)))};Oc.exports.sync=(t,e)=>{let r=ow(t,e),i=[];for(let o of r){let a=ex(o,sw.sync).map(tx(o));i.push(...a)}let n=o8(e),s=[];for(let o of i)s=iw(s,nw.sync(o.pattern,o.options));return s.filter(o=>!n(o))};Oc.exports.stream=(t,e)=>{let r=ow(t,e),i=[];for(let a of r){let l=ex(a,sw.sync).map(tx(a));i.push(...l)}let n=o8(e),s=new $ve(a=>!n(a)),o=new eSe;return Zve(i.map(a=>nw.stream(a.pattern,a.options))).pipe(s).pipe(o)};Oc.exports.generateGlobTasks=ow;Oc.exports.hasMagic=(t,e)=>[].concat(t).some(r=>nw.isDynamicPattern(r,e));Oc.exports.gitignore=$k});var Rn=w((bnt,y8)=>{function CSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}y8.exports=CSe});var ux=w((Qnt,w8)=>{var mSe=typeof global=="object"&&global&&global.Object===Object&&global;w8.exports=mSe});var Rs=w((vnt,B8)=>{var ESe=ux(),ISe=typeof self=="object"&&self&&self.Object===Object&&self,ySe=ESe||ISe||Function("return this")();B8.exports=ySe});var Q8=w((Snt,b8)=>{var wSe=Rs(),BSe=function(){return wSe.Date.now()};b8.exports=BSe});var S8=w((knt,v8)=>{var bSe=/\s/;function QSe(t){for(var e=t.length;e--&&bSe.test(t.charAt(e)););return e}v8.exports=QSe});var x8=w((xnt,k8)=>{var vSe=S8(),SSe=/^\s+/;function kSe(t){return t&&t.slice(0,vSe(t)+1).replace(SSe,"")}k8.exports=kSe});var Kc=w((Pnt,P8)=>{var xSe=Rs(),PSe=xSe.Symbol;P8.exports=PSe});var N8=w((Dnt,D8)=>{var R8=Kc(),F8=Object.prototype,DSe=F8.hasOwnProperty,RSe=F8.toString,Ed=R8?R8.toStringTag:void 0;function FSe(t){var e=DSe.call(t,Ed),r=t[Ed];try{t[Ed]=void 0;var i=!0}catch(s){}var n=RSe.call(t);return i&&(e?t[Ed]=r:delete t[Ed]),n}D8.exports=FSe});var T8=w((Rnt,L8)=>{var NSe=Object.prototype,LSe=NSe.toString;function TSe(t){return LSe.call(t)}L8.exports=TSe});var Hc=w((Fnt,O8)=>{var M8=Kc(),OSe=N8(),MSe=T8(),USe="[object Null]",KSe="[object Undefined]",U8=M8?M8.toStringTag:void 0;function HSe(t){return t==null?t===void 0?KSe:USe:U8&&U8 in Object(t)?OSe(t):MSe(t)}O8.exports=HSe});var Zo=w((Nnt,K8)=>{function jSe(t){return t!=null&&typeof t=="object"}K8.exports=jSe});var Id=w((Lnt,H8)=>{var GSe=Hc(),YSe=Zo(),qSe="[object Symbol]";function JSe(t){return typeof t=="symbol"||YSe(t)&&GSe(t)==qSe}H8.exports=JSe});var q8=w((Tnt,j8)=>{var WSe=x8(),G8=Rn(),zSe=Id(),Y8=0/0,_Se=/^[-+]0x[0-9a-f]+$/i,VSe=/^0b[01]+$/i,XSe=/^0o[0-7]+$/i,ZSe=parseInt;function $Se(t){if(typeof t=="number")return t;if(zSe(t))return Y8;if(G8(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=G8(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=WSe(t);var r=VSe.test(t);return r||XSe.test(t)?ZSe(t.slice(2),r?2:8):_Se.test(t)?Y8:+t}j8.exports=$Se});var z8=w((Ont,J8)=>{var eke=Rn(),gx=Q8(),W8=q8(),tke="Expected a function",rke=Math.max,ike=Math.min;function nke(t,e,r){var i,n,s,o,a,l,c=0,u=!1,g=!1,f=!0;if(typeof t!="function")throw new TypeError(tke);e=W8(e)||0,eke(r)&&(u=!!r.leading,g="maxWait"in r,s=g?rke(W8(r.maxWait)||0,e):s,f="trailing"in r?!!r.trailing:f);function h(U){var J=i,W=n;return i=n=void 0,c=U,o=t.apply(W,J),o}function p(U){return c=U,a=setTimeout(Q,e),u?h(U):o}function m(U){var J=U-l,W=U-c,ee=e-J;return g?ike(ee,s-W):ee}function y(U){var J=U-l,W=U-c;return l===void 0||J>=e||J<0||g&&W>=s}function Q(){var U=gx();if(y(U))return S(U);a=setTimeout(Q,m(U))}function S(U){return a=void 0,f&&i?h(U):(i=n=void 0,o)}function x(){a!==void 0&&clearTimeout(a),c=0,i=l=n=a=void 0}function M(){return a===void 0?o:S(gx())}function Y(){var U=gx(),J=y(U);if(i=arguments,n=this,l=U,J){if(a===void 0)return p(l);if(g)return clearTimeout(a),a=setTimeout(Q,e),h(l)}return a===void 0&&(a=setTimeout(Q,e)),o}return Y.cancel=x,Y.flush=M,Y}J8.exports=nke});var V8=w((Mnt,_8)=>{var ske=z8(),oke=Rn(),ake="Expected a function";function Ake(t,e,r){var i=!0,n=!0;if(typeof t!="function")throw new TypeError(ake);return oke(r)&&(i="leading"in r?!!r.leading:i,n="trailing"in r?!!r.trailing:n),ske(t,e,{leading:i,maxWait:e,trailing:n})}_8.exports=Ake});var $a=w((Za,vw)=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var nz=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function yke(t){return nz.includes(t)}var wke=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...nz];function Bke(t){return wke.includes(t)}var bke=["null","undefined","string","number","bigint","boolean","symbol"];function Qke(t){return bke.includes(t)}function Jg(t){return e=>typeof e===t}var{toString:sz}=Object.prototype,Sd=t=>{let e=sz.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&_.domElement(t))return"HTMLElement";if(Bke(e))return e},hr=t=>e=>Sd(e)===t;function _(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(_.observable(t))return"Observable";if(_.array(t))return"Array";if(_.buffer(t))return"Buffer";let e=Sd(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}_.undefined=Jg("undefined");_.string=Jg("string");var vke=Jg("number");_.number=t=>vke(t)&&!_.nan(t);_.bigint=Jg("bigint");_.function_=Jg("function");_.null_=t=>t===null;_.class_=t=>_.function_(t)&&t.toString().startsWith("class ");_.boolean=t=>t===!0||t===!1;_.symbol=Jg("symbol");_.numericString=t=>_.string(t)&&!_.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));_.array=(t,e)=>Array.isArray(t)?_.function_(e)?t.every(e):!0:!1;_.buffer=t=>{var e,r,i,n;return(n=(i=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||i===void 0?void 0:i.call(r,t))!==null&&n!==void 0?n:!1};_.nullOrUndefined=t=>_.null_(t)||_.undefined(t);_.object=t=>!_.null_(t)&&(typeof t=="object"||_.function_(t));_.iterable=t=>{var e;return _.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};_.asyncIterable=t=>{var e;return _.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};_.generator=t=>_.iterable(t)&&_.function_(t.next)&&_.function_(t.throw);_.asyncGenerator=t=>_.asyncIterable(t)&&_.function_(t.next)&&_.function_(t.throw);_.nativePromise=t=>hr("Promise")(t);var Ske=t=>{var e,r;return _.function_((e=t)===null||e===void 0?void 0:e.then)&&_.function_((r=t)===null||r===void 0?void 0:r.catch)};_.promise=t=>_.nativePromise(t)||Ske(t);_.generatorFunction=hr("GeneratorFunction");_.asyncGeneratorFunction=t=>Sd(t)==="AsyncGeneratorFunction";_.asyncFunction=t=>Sd(t)==="AsyncFunction";_.boundFunction=t=>_.function_(t)&&!t.hasOwnProperty("prototype");_.regExp=hr("RegExp");_.date=hr("Date");_.error=hr("Error");_.map=t=>hr("Map")(t);_.set=t=>hr("Set")(t);_.weakMap=t=>hr("WeakMap")(t);_.weakSet=t=>hr("WeakSet")(t);_.int8Array=hr("Int8Array");_.uint8Array=hr("Uint8Array");_.uint8ClampedArray=hr("Uint8ClampedArray");_.int16Array=hr("Int16Array");_.uint16Array=hr("Uint16Array");_.int32Array=hr("Int32Array");_.uint32Array=hr("Uint32Array");_.float32Array=hr("Float32Array");_.float64Array=hr("Float64Array");_.bigInt64Array=hr("BigInt64Array");_.bigUint64Array=hr("BigUint64Array");_.arrayBuffer=hr("ArrayBuffer");_.sharedArrayBuffer=hr("SharedArrayBuffer");_.dataView=hr("DataView");_.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;_.urlInstance=t=>hr("URL")(t);_.urlString=t=>{if(!_.string(t))return!1;try{return new URL(t),!0}catch(e){return!1}};_.truthy=t=>Boolean(t);_.falsy=t=>!t;_.nan=t=>Number.isNaN(t);_.primitive=t=>_.null_(t)||Qke(typeof t);_.integer=t=>Number.isInteger(t);_.safeInteger=t=>Number.isSafeInteger(t);_.plainObject=t=>{if(sz.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};_.typedArray=t=>yke(Sd(t));var kke=t=>_.safeInteger(t)&&t>=0;_.arrayLike=t=>!_.nullOrUndefined(t)&&!_.function_(t)&&kke(t.length);_.inRange=(t,e)=>{if(_.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(_.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var xke=1,Pke=["innerHTML","ownerDocument","style","attributes","nodeValue"];_.domElement=t=>_.object(t)&&t.nodeType===xke&&_.string(t.nodeName)&&!_.plainObject(t)&&Pke.every(e=>e in t);_.observable=t=>{var e,r,i,n;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((n=(i=t)["@@observable"])===null||n===void 0?void 0:n.call(i)):!1};_.nodeStream=t=>_.object(t)&&_.function_(t.pipe)&&!_.observable(t);_.infinite=t=>t===Infinity||t===-Infinity;var oz=t=>e=>_.integer(e)&&Math.abs(e%2)===t;_.evenInteger=oz(0);_.oddInteger=oz(1);_.emptyArray=t=>_.array(t)&&t.length===0;_.nonEmptyArray=t=>_.array(t)&&t.length>0;_.emptyString=t=>_.string(t)&&t.length===0;_.nonEmptyString=t=>_.string(t)&&t.length>0;var Dke=t=>_.string(t)&&!/\S/.test(t);_.emptyStringOrWhitespace=t=>_.emptyString(t)||Dke(t);_.emptyObject=t=>_.object(t)&&!_.map(t)&&!_.set(t)&&Object.keys(t).length===0;_.nonEmptyObject=t=>_.object(t)&&!_.map(t)&&!_.set(t)&&Object.keys(t).length>0;_.emptySet=t=>_.set(t)&&t.size===0;_.nonEmptySet=t=>_.set(t)&&t.size>0;_.emptyMap=t=>_.map(t)&&t.size===0;_.nonEmptyMap=t=>_.map(t)&&t.size>0;_.propertyKey=t=>_.any([_.string,_.number,_.symbol],t);_.formData=t=>hr("FormData")(t);_.urlSearchParams=t=>hr("URLSearchParams")(t);var az=(t,e,r)=>{if(!_.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};_.any=(t,...e)=>(_.array(t)?t:[t]).some(i=>az(Array.prototype.some,i,e));_.all=(t,...e)=>az(Array.prototype.every,t,e);var We=(t,e,r,i={})=>{if(!t){let{multipleValues:n}=i,s=n?`received values of types ${[...new Set(r.map(o=>`\`${_(o)}\``))].join(", ")}`:`received value of type \`${_(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${s}.`)}};Za.assert={undefined:t=>We(_.undefined(t),"undefined",t),string:t=>We(_.string(t),"string",t),number:t=>We(_.number(t),"number",t),bigint:t=>We(_.bigint(t),"bigint",t),function_:t=>We(_.function_(t),"Function",t),null_:t=>We(_.null_(t),"null",t),class_:t=>We(_.class_(t),"Class",t),boolean:t=>We(_.boolean(t),"boolean",t),symbol:t=>We(_.symbol(t),"symbol",t),numericString:t=>We(_.numericString(t),"string with a number",t),array:(t,e)=>{We(_.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>We(_.buffer(t),"Buffer",t),nullOrUndefined:t=>We(_.nullOrUndefined(t),"null or undefined",t),object:t=>We(_.object(t),"Object",t),iterable:t=>We(_.iterable(t),"Iterable",t),asyncIterable:t=>We(_.asyncIterable(t),"AsyncIterable",t),generator:t=>We(_.generator(t),"Generator",t),asyncGenerator:t=>We(_.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>We(_.nativePromise(t),"native Promise",t),promise:t=>We(_.promise(t),"Promise",t),generatorFunction:t=>We(_.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>We(_.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>We(_.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>We(_.boundFunction(t),"Function",t),regExp:t=>We(_.regExp(t),"RegExp",t),date:t=>We(_.date(t),"Date",t),error:t=>We(_.error(t),"Error",t),map:t=>We(_.map(t),"Map",t),set:t=>We(_.set(t),"Set",t),weakMap:t=>We(_.weakMap(t),"WeakMap",t),weakSet:t=>We(_.weakSet(t),"WeakSet",t),int8Array:t=>We(_.int8Array(t),"Int8Array",t),uint8Array:t=>We(_.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>We(_.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>We(_.int16Array(t),"Int16Array",t),uint16Array:t=>We(_.uint16Array(t),"Uint16Array",t),int32Array:t=>We(_.int32Array(t),"Int32Array",t),uint32Array:t=>We(_.uint32Array(t),"Uint32Array",t),float32Array:t=>We(_.float32Array(t),"Float32Array",t),float64Array:t=>We(_.float64Array(t),"Float64Array",t),bigInt64Array:t=>We(_.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>We(_.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>We(_.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>We(_.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>We(_.dataView(t),"DataView",t),urlInstance:t=>We(_.urlInstance(t),"URL",t),urlString:t=>We(_.urlString(t),"string with a URL",t),truthy:t=>We(_.truthy(t),"truthy",t),falsy:t=>We(_.falsy(t),"falsy",t),nan:t=>We(_.nan(t),"NaN",t),primitive:t=>We(_.primitive(t),"primitive",t),integer:t=>We(_.integer(t),"integer",t),safeInteger:t=>We(_.safeInteger(t),"integer",t),plainObject:t=>We(_.plainObject(t),"plain object",t),typedArray:t=>We(_.typedArray(t),"TypedArray",t),arrayLike:t=>We(_.arrayLike(t),"array-like",t),domElement:t=>We(_.domElement(t),"HTMLElement",t),observable:t=>We(_.observable(t),"Observable",t),nodeStream:t=>We(_.nodeStream(t),"Node.js Stream",t),infinite:t=>We(_.infinite(t),"infinite number",t),emptyArray:t=>We(_.emptyArray(t),"empty array",t),nonEmptyArray:t=>We(_.nonEmptyArray(t),"non-empty array",t),emptyString:t=>We(_.emptyString(t),"empty string",t),nonEmptyString:t=>We(_.nonEmptyString(t),"non-empty string",t),emptyStringOrWhitespace:t=>We(_.emptyStringOrWhitespace(t),"empty string or whitespace",t),emptyObject:t=>We(_.emptyObject(t),"empty object",t),nonEmptyObject:t=>We(_.nonEmptyObject(t),"non-empty object",t),emptySet:t=>We(_.emptySet(t),"empty set",t),nonEmptySet:t=>We(_.nonEmptySet(t),"non-empty set",t),emptyMap:t=>We(_.emptyMap(t),"empty map",t),nonEmptyMap:t=>We(_.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>We(_.propertyKey(t),"PropertyKey",t),formData:t=>We(_.formData(t),"FormData",t),urlSearchParams:t=>We(_.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>We(_.evenInteger(t),"even integer",t),oddInteger:t=>We(_.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>We(_.directInstanceOf(t,e),"T",t),inRange:(t,e)=>We(_.inRange(t,e),"in range",t),any:(t,...e)=>We(_.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>We(_.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(_,{class:{value:_.class_},function:{value:_.function_},null:{value:_.null_}});Object.defineProperties(Za.assert,{class:{value:Za.assert.class_},function:{value:Za.assert.function_},null:{value:Za.assert.null_}});Za.default=_;vw.exports=_;vw.exports.default=_;vw.exports.assert=Za.assert});var Az=w((Gst,Rx)=>{"use strict";var Fx=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},kd=class{static fn(e){return(...r)=>new kd((i,n,s)=>{r.push(s),e(...r).then(i,n)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,i)=>{this._reject=i;let n=a=>{this._isPending=!1,r(a)},s=a=>{this._isPending=!1,i(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(n,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new Fx(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(kd.prototype,Promise.prototype);Rx.exports=kd;Rx.exports.CancelError=Fx});var lz=w((Nx,Lx)=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0});var Rke=require("tls"),Tx=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let i=typeof r.connect=="function",n=typeof r.secureConnect=="function",s=typeof r.close=="function",o=()=>{i&&r.connect(),t instanceof Rke.TLSSocket&&n&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),s&&t.once("close",r.close)};t.writable&&!t.connecting?o():t.connecting?t.once("connect",o):t.destroyed&&s&&r.close(t._hadError)};Nx.default=Tx;Lx.exports=Tx;Lx.exports.default=Tx});var cz=w((Ox,Mx)=>{"use strict";Object.defineProperty(Ox,"__esModule",{value:!0});var Fke=lz(),Nke=Number(process.versions.node.split(".")[0]),Ux=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=o=>{let a=o.emit.bind(o);o.emit=(l,...c)=>(l==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,o.emit=a),a(l,...c))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Nke>=13)&&(e.phases.total=Date.now()-e.start)});let i=o=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let a=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};o.prependOnceListener("lookup",a),Fke.default(o,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(o.removeListener("lookup",a),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?i(t.socket):t.prependOnceListener("socket",i);let n=()=>{var o;e.upload=Date.now(),e.phases.request=e.upload-(o=e.secureConnect,o!=null?o:e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?n():t.prependOnceListener("finish",n),t.prependOnceListener("response",o=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,o.timings=e,r(o),o.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};Ox.default=Ux;Mx.exports=Ux;Mx.exports.default=Ux});var Cz=w((Yst,Kx)=>{"use strict";var{V4MAPPED:Lke,ADDRCONFIG:Tke,ALL:uz,promises:{Resolver:gz},lookup:Oke}=require("dns"),{promisify:Hx}=require("util"),Mke=require("os"),Wg=Symbol("cacheableLookupCreateConnection"),jx=Symbol("cacheableLookupInstance"),fz=Symbol("expires"),Uke=typeof uz=="number",hz=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},Kke=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},pz=()=>{let t=!1,e=!1;for(let r of Object.values(Mke.networkInterfaces()))for(let i of r)if(!i.internal&&(i.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},Hke=t=>Symbol.iterator in t,dz={ttl:!0},jke={all:!0},Gx=class{constructor({cache:e=new Map,maxTtl:r=Infinity,fallbackDuration:i=3600,errorTtl:n=.15,resolver:s=new gz,lookup:o=Oke}={}){if(this.maxTtl=r,this.errorTtl=n,this._cache=e,this._resolver=s,this._dnsLookup=Hx(o),this._resolver instanceof gz?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=Hx(this._resolver.resolve4.bind(this._resolver)),this._resolve6=Hx(this._resolver.resolve6.bind(this._resolver))),this._iface=pz(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,i<1)this._fallback=!1;else{this._fallback=!0;let a=setInterval(()=>{this._hostnamesToFallback.clear()},i*1e3);a.unref&&a.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,i){if(typeof r=="function"?(i=r,r={}):typeof r=="number"&&(r={family:r}),!i)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(n=>{r.all?i(null,n):i(null,n.address,n.family,n.expires,n.ttl)},i)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let i=await this.query(e);if(r.family===6){let n=i.filter(s=>s.family===6);r.hints&Lke&&(Uke&&r.hints&uz||n.length===0)?Kke(i):i=n}else r.family===4&&(i=i.filter(n=>n.family===4));if(r.hints&Tke){let{_iface:n}=this;i=i.filter(s=>s.family===6?n.has6:n.has4)}if(i.length===0){let n=new Error(`cacheableLookup ENOTFOUND ${e}`);throw n.code="ENOTFOUND",n.hostname=e,n}return r.all?i:i[0]}async query(e){let r=await this._cache.get(e);if(!r){let i=this._pending[e];if(i)r=await i;else{let n=this.queryAndCache(e);this._pending[e]=n,r=await n}}return r=r.map(i=>N({},i)),r}async _resolve(e){let r=async c=>{try{return await c}catch(u){if(u.code==="ENODATA"||u.code==="ENOTFOUND")return[];throw u}},[i,n]=await Promise.all([this._resolve4(e,dz),this._resolve6(e,dz)].map(c=>r(c))),s=0,o=0,a=0,l=Date.now();for(let c of i)c.family=4,c.expires=l+c.ttl*1e3,s=Math.max(s,c.ttl);for(let c of n)c.family=6,c.expires=l+c.ttl*1e3,o=Math.max(o,c.ttl);return i.length>0?n.length>0?a=Math.min(s,o):a=s:a=o,{entries:[...i,...n],cacheTtl:a}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch(r){return{entries:[],cacheTtl:0}}}async _set(e,r,i){if(this.maxTtl>0&&i>0){i=Math.min(i,this.maxTtl)*1e3,r[fz]=Date.now()+i;try{await this._cache.set(e,r,i)}catch(n){this.lookupAsync=async()=>{let s=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw s.cause=n,s}}Hke(this._cache)&&this._tick(i)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,jke);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let i=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,i),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let i=Infinity,n=Date.now();for(let[s,o]of this._cache){let a=o[fz];n>=a?this._cache.delete(s):a("lookup"in r||(r.lookup=this.lookup),e[Wg](r,i))}uninstall(e){if(hz(e),e[Wg]){if(e[jx]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[Wg],delete e[Wg],delete e[jx]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=pz(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};Kx.exports=Gx;Kx.exports.default=Gx});var Iz=w((qst,Yx)=>{"use strict";var Gke=typeof URL=="undefined"?require("url").URL:URL,Yke="text/plain",qke="us-ascii",mz=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),Jke=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let i=r[1].split(";"),n=r[2],s=e?"":r[3],o=!1;i[i.length-1]==="base64"&&(i.pop(),o=!0);let a=(i.shift()||"").toLowerCase(),c=[...i.map(u=>{let[g,f=""]=u.split("=").map(h=>h.trim());return g==="charset"&&(f=f.toLowerCase(),f===qke)?"":`${g}${f?`=${f}`:""}`}).filter(Boolean)];return o&&c.push("base64"),(c.length!==0||a&&a!==Yke)&&c.unshift(a),`data:${c.join(";")},${o?n.trim():n}${s?`#${s}`:""}`},Ez=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return Jke(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new Gke(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash&&(n.hash=""),n.pathname&&(n.pathname=n.pathname.replace(/((?!:).|^)\/{2,}/g,(s,o)=>/^(?!\/)/g.test(o)?`${o}/`:"/")),n.pathname&&(n.pathname=decodeURI(n.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let s=n.pathname.split("/"),o=s[s.length-1];mz(o,e.removeDirectoryIndex)&&(s=s.slice(0,s.length-1),n.pathname=s.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let s of[...n.searchParams.keys()])mz(s,e.removeQueryParameters)&&n.searchParams.delete(s);return e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,"")),t=n.toString(),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};Yx.exports=Ez;Yx.exports.default=Ez});var Bz=w((Jst,yz)=>{yz.exports=wz;function wz(t,e){if(t&&e)return wz(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(i){r[i]=t[i]}),r;function r(){for(var i=new Array(arguments.length),n=0;n{var bz=Bz();qx.exports=bz(Sw);qx.exports.strict=bz(Qz);Sw.proto=Sw(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Sw(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Qz(this)},configurable:!0})});function Sw(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function Qz(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var Wx=w((zst,vz)=>{var Wke=Jx(),zke=function(){},_ke=function(t){return t.setHeader&&typeof t.abort=="function"},Vke=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},Sz=function(t,e,r){if(typeof e=="function")return Sz(t,null,e);e||(e={}),r=Wke(r||zke);var i=t._writableState,n=t._readableState,s=e.readable||e.readable!==!1&&t.readable,o=e.writable||e.writable!==!1&&t.writable,a=function(){t.writable||l()},l=function(){o=!1,s||r.call(t)},c=function(){s=!1,o||r.call(t)},u=function(p){r.call(t,p?new Error("exited with error code: "+p):null)},g=function(p){r.call(t,p)},f=function(){if(s&&!(n&&n.ended))return r.call(t,new Error("premature close"));if(o&&!(i&&i.ended))return r.call(t,new Error("premature close"))},h=function(){t.req.on("finish",l)};return _ke(t)?(t.on("complete",l),t.on("abort",f),t.req?h():t.on("request",h)):o&&!i&&(t.on("end",a),t.on("close",a)),Vke(t)&&t.on("exit",u),t.on("end",c),t.on("finish",l),e.error!==!1&&t.on("error",g),t.on("close",f),function(){t.removeListener("complete",l),t.removeListener("abort",f),t.removeListener("request",h),t.req&&t.req.removeListener("finish",l),t.removeListener("end",a),t.removeListener("close",a),t.removeListener("finish",l),t.removeListener("exit",u),t.removeListener("end",c),t.removeListener("error",g),t.removeListener("close",f)}};vz.exports=Sz});var Pz=w((_st,kz)=>{var Xke=Jx(),Zke=Wx(),zx=require("fs"),xd=function(){},$ke=/^v?\.0/.test(process.version),kw=function(t){return typeof t=="function"},exe=function(t){return!$ke||!zx?!1:(t instanceof(zx.ReadStream||xd)||t instanceof(zx.WriteStream||xd))&&kw(t.close)},txe=function(t){return t.setHeader&&kw(t.abort)},rxe=function(t,e,r,i){i=Xke(i);var n=!1;t.on("close",function(){n=!0}),Zke(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,exe(t))return t.close(xd);if(txe(t))return t.abort();if(kw(t.destroy))return t.destroy();i(o||new Error("stream was destroyed"))}}},xz=function(t){t()},ixe=function(t,e){return t.pipe(e)},nxe=function(){var t=Array.prototype.slice.call(arguments),e=kw(t[t.length-1]||xd)&&t.pop()||xd;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,i=t.map(function(n,s){var o=s0;return rxe(n,o,a,function(l){r||(r=l),l&&i.forEach(xz),!o&&(i.forEach(xz),e(r))})});return t.reduce(ixe)};kz.exports=nxe});var Rz=w((Vst,Dz)=>{"use strict";var{PassThrough:sxe}=require("stream");Dz.exports=t=>{t=N({},t);let{array:e}=t,{encoding:r}=t,i=r==="buffer",n=!1;e?n=!(r||i):r=r||"utf8",i&&(r=null);let s=new sxe({objectMode:n});r&&s.setEncoding(r);let o=0,a=[];return s.on("data",l=>{a.push(l),n?o=a.length:o+=l.length}),s.getBufferedValue=()=>e?a:i?Buffer.concat(a,o):a.join(""),s.getBufferedLength=()=>o,s}});var Fz=w((Xst,zg)=>{"use strict";var oxe=Pz(),axe=Rz(),_x=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function xw(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e=N({maxBuffer:Infinity},e);let{maxBuffer:r}=e,i;return await new Promise((n,s)=>{let o=a=>{a&&(a.bufferedData=i.getBufferedValue()),s(a)};i=oxe(t,axe(e),a=>{if(a){o(a);return}n()}),i.on("data",()=>{i.getBufferedLength()>r&&o(new _x)})}),i.getBufferedValue()}zg.exports=xw;zg.exports.default=xw;zg.exports.buffer=(t,e)=>xw(t,te(N({},e),{encoding:"buffer"}));zg.exports.array=(t,e)=>xw(t,te(N({},e),{array:!0}));zg.exports.MaxBufferError=_x});var Lz=w(($st,Nz)=>{"use strict";var Axe=[200,203,204,206,300,301,404,405,410,414,501],lxe=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],cxe={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},uxe={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Vx(t){let e={};if(!t)return e;let r=t.trim().split(/\s*,\s*/);for(let i of r){let[n,s]=i.split(/\s*=\s*/,2);e[n]=s===void 0?!0:s.replace(/^"|"$/g,"")}return e}function gxe(t){let e=[];for(let r in t){let i=t[r];e.push(i===!0?r:r+"="+i)}if(!!e.length)return e.join(", ")}Nz.exports=class{constructor(e,r,{shared:i,cacheHeuristic:n,immutableMinTimeToLive:s,ignoreCargoCult:o,trustServerDate:a,_fromObject:l}={}){if(l){this._fromObject(l);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=i!==!1,this._trustServerDate=a!==void 0?a:!0,this._cacheHeuristic=n!==void 0?n:.1,this._immutableMinTtl=s!==void 0?s:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=Vx(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=Vx(e.headers["cache-control"]),o&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":gxe(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!r.headers["cache-control"]&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&lxe.indexOf(this._status)!==-1&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||Axe.indexOf(this._status)!==-1))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=Vx(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let i of r)if(e.headers[i]!==this._reqHeaders[i])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let i in e)cxe[i]||(r[i]=e[i]);if(e.connection){let i=e.connection.trim().split(/\s*,\s*/);for(let n of i)delete r[n]}if(r.warning){let i=r.warning.split(/,/).filter(n=>!/^\s*1[0-9][0-9]/.test(n));i.length?r.warning=i.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){let e=Date.parse(this._resHeaders.date);if(isFinite(e)){let r=8*3600*1e3;if(Math.abs(this._responseTime-e)e&&(e=i)}let r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){let e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this._serverDate();if(this._resHeaders.expires){let i=Date.parse(this._resHeaders.expires);return Number.isNaN(i)||ii)return Math.max(e,(r-i)/1e3*this._cacheHeuristic)}return e}timeToLive(){return Math.max(0,this.maxAge()-this.age())*1e3}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let n=r["if-none-match"].split(/,/).filter(s=>!/^\s*W\//.test(s));n.length?r["if-none-match"]=n.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),!r||!r.headers)throw Error("Response headers missing");let i=!1;if(r.status!==void 0&&r.status!=304?i=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?i=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?i=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?i=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(i=!0),!i)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let n={};for(let o in this._resHeaders)n[o]=o in r.headers&&!uxe[o]?r.headers[o]:this._resHeaders[o];let s=Object.assign({},r,{status:this._status,method:this._method,headers:n});return{policy:new this.constructor(e,s,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}});var Pw=w((eot,Tz)=>{"use strict";Tz.exports=t=>{let e={};for(let[r,i]of Object.entries(t))e[r.toLowerCase()]=i;return e}});var Uz=w((tot,Oz)=>{"use strict";var fxe=require("stream").Readable,hxe=Pw(),Mz=class extends fxe{constructor(e,r,i,n){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(i instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof n!="string")throw new TypeError("Argument `url` should be a string");super();this.statusCode=e,this.headers=hxe(r),this.body=i,this.url=n}_read(){this.push(this.body),this.push(null)}};Oz.exports=Mz});var Hz=w((rot,Kz)=>{"use strict";var pxe=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Kz.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(pxe));for(let i of r)i in e||(e[i]=typeof t[i]=="function"?t[i].bind(t):t[i])}});var Gz=w((iot,jz)=>{"use strict";var dxe=require("stream").PassThrough,Cxe=Hz(),mxe=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new dxe;return Cxe(t,e),t.pipe(e)};jz.exports=mxe});var Yz=w(Xx=>{Xx.stringify=function t(e){if(typeof e=="undefined")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",i=Array.isArray(e);r=i?"[":"{";var n=!0;for(var s in e){var o=typeof e[s]=="function"||!i&&typeof e[s]=="undefined";Object.hasOwnProperty.call(e,s)&&!o&&(n||(r+=","),n=!1,i?e[s]==null?r+="null":r+=t(e[s]):e[s]!==void 0&&(r+=t(s)+":"+t(e[s])))}return r+=i?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e=="undefined"?"null":JSON.stringify(e)};Xx.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var zz=w((sot,qz)=>{"use strict";var Exe=require("events"),Jz=Yz(),Ixe=t=>{let e={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(t.adapter||t.uri){let r=t.adapter||/^[^:]*/.exec(t.uri)[0];return new(require(e[r]))(t)}return new Map},Wz=class extends Exe{constructor(e,r){super();if(this.opts=Object.assign({namespace:"keyv",serialize:Jz.stringify,deserialize:Jz.parse},typeof e=="string"?{uri:e}:e,r),!this.opts.store){let i=Object.assign({},this.opts);this.opts.store=Ixe(i)}typeof this.opts.store.on=="function"&&this.opts.store.on("error",i=>this.emit("error",i)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,r){e=this._getKeyPrefix(e);let{store:i}=this.opts;return Promise.resolve().then(()=>i.get(e)).then(n=>typeof n=="string"?this.opts.deserialize(n):n).then(n=>{if(n!==void 0){if(typeof n.expires=="number"&&Date.now()>n.expires){this.delete(e);return}return r&&r.raw?n:n.value}})}set(e,r,i){e=this._getKeyPrefix(e),typeof i=="undefined"&&(i=this.opts.ttl),i===0&&(i=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let s=typeof i=="number"?Date.now()+i:null;return r={value:r,expires:s},this.opts.serialize(r)}).then(s=>n.set(e,s,i)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);let{store:r}=this.opts;return Promise.resolve().then(()=>r.delete(e))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}};qz.exports=Wz});var Xz=w((oot,_z)=>{"use strict";var yxe=require("events"),Dw=require("url"),wxe=Iz(),Bxe=Fz(),Zx=Lz(),Vz=Uz(),bxe=Pw(),Qxe=Gz(),vxe=zz(),ea=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new vxe({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,i)=>{let n;if(typeof r=="string")n=$x(Dw.parse(r)),r={};else if(r instanceof Dw.URL)n=$x(Dw.parse(r.toString())),r={};else{let[g,...f]=(r.path||"").split("?"),h=f.length>0?`?${f.join("?")}`:"";n=$x(te(N({},r),{pathname:g,search:h}))}r=N(N({headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1},r),Sxe(n)),r.headers=bxe(r.headers);let s=new yxe,o=wxe(Dw.format(n),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),a=`${r.method}:${o}`,l=!1,c=!1,u=g=>{c=!0;let f=!1,h,p=new Promise(y=>{h=()=>{f||(f=!0,y())}}),m=y=>{if(l&&!g.forceRefresh){y.status=y.statusCode;let S=Zx.fromObject(l.cachePolicy).revalidatedPolicy(g,y);if(!S.modified){let x=S.policy.responseHeaders();y=new Vz(l.statusCode,x,l.body,l.url),y.cachePolicy=S.policy,y.fromCache=!0}}y.fromCache||(y.cachePolicy=new Zx(g,y,g),y.fromCache=!1);let Q;g.cache&&y.cachePolicy.storable()?(Q=Qxe(y),(async()=>{try{let S=Bxe.buffer(y);if(await Promise.race([p,new Promise(U=>y.once("end",U))]),f)return;let x=await S,M={cachePolicy:y.cachePolicy.toObject(),url:y.url,statusCode:y.fromCache?l.statusCode:y.statusCode,body:x},Y=g.strictTtl?y.cachePolicy.timeToLive():void 0;g.maxTtl&&(Y=Y?Math.min(Y,g.maxTtl):g.maxTtl),await this.cache.set(a,M,Y)}catch(S){s.emit("error",new ea.CacheError(S))}})()):g.cache&&l&&(async()=>{try{await this.cache.delete(a)}catch(S){s.emit("error",new ea.CacheError(S))}})(),s.emit("response",Q||y),typeof i=="function"&&i(Q||y)};try{let y=e(g,m);y.once("error",h),y.once("abort",h),s.emit("request",y)}catch(y){s.emit("error",new ea.RequestError(y))}};return(async()=>{let g=async h=>{await Promise.resolve();let p=h.cache?await this.cache.get(a):void 0;if(typeof p=="undefined")return u(h);let m=Zx.fromObject(p.cachePolicy);if(m.satisfiesWithoutRevalidation(h)&&!h.forceRefresh){let y=m.responseHeaders(),Q=new Vz(p.statusCode,y,p.body,p.url);Q.cachePolicy=m,Q.fromCache=!0,s.emit("response",Q),typeof i=="function"&&i(Q)}else l=p,h.headers=m.revalidationHeaders(h),u(h)},f=h=>s.emit("error",new ea.CacheError(h));this.cache.once("error",f),s.on("response",()=>this.cache.removeListener("error",f));try{await g(r)}catch(h){r.automaticFailover&&!c&&u(r),s.emit("error",new ea.CacheError(h))}})(),s}}};function Sxe(t){let e=N({},t);return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function $x(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}ea.RequestError=class extends Error{constructor(t){super(t.message);this.name="RequestError",Object.assign(this,t)}};ea.CacheError=class extends Error{constructor(t){super(t.message);this.name="CacheError",Object.assign(this,t)}};_z.exports=ea});var $z=w((aot,Zz)=>{"use strict";var kxe=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Zz.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(kxe)),i={};for(let n of r)n in e||(i[n]={get(){let s=t[n];return typeof s=="function"?s.bind(t):s},set(s){t[n]=s},enumerable:!0,configurable:!1});return Object.defineProperties(e,i),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var t4=w((Aot,e4)=>{"use strict";var{Transform:xxe,PassThrough:Pxe}=require("stream"),eP=require("zlib"),Dxe=$z();e4.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof eP.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let i=!0,n=new xxe({transform(a,l,c){i=!1,c(null,a)},flush(a){a()}}),s=new Pxe({autoDestroy:!1,destroy(a,l){t.destroy(),l(a)}}),o=r?eP.createBrotliDecompress():eP.createUnzip();return o.once("error",a=>{if(i&&!t.readable){s.end();return}s.destroy(a)}),Dxe(t,s),t.pipe(n).pipe(o).pipe(s),s}});var tP=w((lot,r4)=>{"use strict";var i4=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[i,n]of this.oldCache.entries())this.onEviction(i,n);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};r4.exports=i4});var iP=w((cot,n4)=>{"use strict";var Rxe=require("events"),Fxe=require("tls"),Nxe=require("http2"),Lxe=tP(),gn=Symbol("currentStreamsCount"),s4=Symbol("request"),Fs=Symbol("cachedOriginSet"),_g=Symbol("gracefullyClosing"),Txe=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],Oxe=(t,e,r)=>{let i=0,n=t.length;for(;i>>1;r(t[s],e)?i=s+1:n=s}return i},Mxe=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,rP=(t,e)=>{for(let r of t)r[Fs].lengthe[Fs].includes(i))&&r[gn]+e[gn]<=e.remoteSettings.maxConcurrentStreams&&o4(r)},Uxe=(t,e)=>{for(let r of t)e[Fs].lengthr[Fs].includes(i))&&e[gn]+r[gn]<=r.remoteSettings.maxConcurrentStreams&&o4(e)},a4=({agent:t,isFree:e})=>{let r={};for(let i in t.sessions){let s=t.sessions[i].filter(o=>{let a=o[eA.kCurrentStreamsCount]{t[_g]=!0,t[gn]===0&&t.close()},eA=class extends Rxe{constructor({timeout:e=6e4,maxSessions:r=Infinity,maxFreeSessions:i=10,maxCachedTlsSessions:n=100}={}){super();this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=i,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Lxe({maxSize:n})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let i of Txe)e[i]&&(r+=`:${e[i]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let i=this.queue[e][r];this._sessionsCount{Array.isArray(i)?(i=[...i],n()):i=[{resolve:n,reject:s}];let o=this.normalizeOptions(r),a=eA.normalizeOrigin(e,r&&r.servername);if(a===void 0){for(let{reject:u}of i)u(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(o in this.sessions){let u=this.sessions[o],g=-1,f=-1,h;for(let p of u){let m=p.remoteSettings.maxConcurrentStreams;if(m=m||p[_g]||p.destroyed)continue;h||(g=m),y>f&&(h=p,f=y)}}if(h){if(i.length!==1){for(let{reject:p}of i){let m=new Error(`Expected the length of listeners to be 1, got ${i.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);p(m)}return}i[0].resolve(h);return}}if(o in this.queue){if(a in this.queue[o]){this.queue[o][a].listeners.push(...i),this._tryToCreateNewSession(o,a);return}}else this.queue[o]={};let l=()=>{o in this.queue&&this.queue[o][a]===c&&(delete this.queue[o][a],Object.keys(this.queue[o]).length===0&&delete this.queue[o])},c=()=>{let u=`${a}:${o}`,g=!1;try{let f=Nxe.connect(e,N({createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(u)},r));f[gn]=0,f[_g]=!1;let h=()=>f[gn]{this.tlsSessionCache.set(u,y)}),f.once("error",y=>{for(let{reject:Q}of i)Q(y);this.tlsSessionCache.delete(u)}),f.setTimeout(this.timeout,()=>{f.destroy()}),f.once("close",()=>{if(g){p&&this._freeSessionsCount--,this._sessionsCount--;let y=this.sessions[o];y.splice(y.indexOf(f),1),y.length===0&&delete this.sessions[o]}else{let y=new Error("Session closed without receiving a SETTINGS frame");y.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:Q}of i)Q(y);l()}this._tryToCreateNewSession(o,a)});let m=()=>{if(!(!(o in this.queue)||!h())){for(let y of f[Fs])if(y in this.queue[o]){let{listeners:Q}=this.queue[o][y];for(;Q.length!==0&&h();)Q.shift().resolve(f);let S=this.queue[o];if(S[y].listeners.length===0&&(delete S[y],Object.keys(S).length===0)){delete this.queue[o];break}if(!h())break}}};f.on("origin",()=>{f[Fs]=f.originSet,!!h()&&(m(),rP(this.sessions[o],f))}),f.once("remoteSettings",()=>{if(f.ref(),f.unref(),this._sessionsCount++,c.destroyed){let y=new Error("Agent has been destroyed");for(let Q of i)Q.reject(y);f.destroy();return}f[Fs]=f.originSet;{let y=this.sessions;if(o in y){let Q=y[o];Q.splice(Oxe(Q,f,Mxe),0,f)}else y[o]=[f]}this._freeSessionsCount+=1,g=!0,this.emit("session",f),m(),l(),f[gn]===0&&this._freeSessionsCount>this.maxFreeSessions&&f.close(),i.length!==0&&(this.getSession(a,r,i),i.length=0),f.on("remoteSettings",()=>{m(),rP(this.sessions[o],f)})}),f[s4]=f.request,f.request=(y,Q)=>{if(f[_g])throw new Error("The session is gracefully closing. No new streams are allowed.");let S=f[s4](y,Q);return f.ref(),++f[gn],f[gn]===f.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,S.once("close",()=>{if(p=h(),--f[gn],!f.destroyed&&!f.closed&&(Uxe(this.sessions[o],f),h()&&!f.closed)){p||(this._freeSessionsCount++,p=!0);let x=f[gn]===0;x&&f.unref(),x&&(this._freeSessionsCount>this.maxFreeSessions||f[_g])?f.close():(rP(this.sessions[o],f),m())}}),S}}catch(f){for(let h of i)h.reject(f);l()}};c.listeners=i,c.completed=!1,c.destroyed=!1,this.queue[o][a]=c,this._tryToCreateNewSession(o,a)})}request(e,r,i,n){return new Promise((s,o)=>{this.getSession(e,r,[{reject:o,resolve:a=>{try{s(a.request(i,n))}catch(l){o(l)}}}])})}createConnection(e,r){return eA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let i=e.port||443,n=e.hostname||e.host;return typeof r.servername=="undefined"&&(r.servername=n),Fxe.connect(i,n,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[gn]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let i of r)i.destroy(e);for(let r of Object.values(this.queue))for(let i of Object.values(r))i.destroyed=!0;this.queue={}}get freeSessions(){return a4({agent:this,isFree:!0})}get busySessions(){return a4({agent:this,isFree:!1})}};eA.kCurrentStreamsCount=gn;eA.kGracefullyClosing=_g;n4.exports={Agent:eA,globalAgent:new eA}});var nP=w((uot,A4)=>{"use strict";var{Readable:Kxe}=require("stream"),l4=class extends Kxe{constructor(e,r){super({highWaterMark:r,autoDestroy:!1});this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};A4.exports=l4});var sP=w((got,c4)=>{"use strict";c4.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var g4=w((fot,u4)=>{"use strict";u4.exports=(t,e,r)=>{for(let i of r)t.on(i,(...n)=>e.emit(i,...n))}});var h4=w((hot,f4)=>{"use strict";f4.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var d4=w((dot,p4)=>{"use strict";var Vg=(t,e,r)=>{p4.exports[e]=class extends t{constructor(...n){super(typeof r=="string"?r:r(n));this.name=`${super.name} [${e}]`,this.code=e}}};Vg(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],i=Array.isArray(r);return i&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${i?"one of":"of"} type ${r}. Received ${typeof t[2]}`});Vg(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);Vg(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);Vg(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);Vg(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);Vg(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var lP=w((Cot,C4)=>{"use strict";var Hxe=require("http2"),{Writable:jxe}=require("stream"),{Agent:m4,globalAgent:Gxe}=iP(),Yxe=nP(),qxe=sP(),Jxe=g4(),Wxe=h4(),{ERR_INVALID_ARG_TYPE:oP,ERR_INVALID_PROTOCOL:zxe,ERR_HTTP_HEADERS_SENT:E4,ERR_INVALID_HTTP_TOKEN:_xe,ERR_HTTP_INVALID_HEADER_VALUE:Vxe,ERR_INVALID_CHAR:Xxe}=d4(),{HTTP2_HEADER_STATUS:I4,HTTP2_HEADER_METHOD:y4,HTTP2_HEADER_PATH:w4,HTTP2_METHOD_CONNECT:Zxe}=Hxe.constants,Wi=Symbol("headers"),aP=Symbol("origin"),AP=Symbol("session"),B4=Symbol("options"),Rw=Symbol("flushedHeaders"),Pd=Symbol("jobs"),$xe=/^[\^`\-\w!#$%&*+.|~]+$/,ePe=/[^\t\u0020-\u007E\u0080-\u00FF]/,b4=class extends jxe{constructor(e,r,i){super({autoDestroy:!1});let n=typeof e=="string"||e instanceof URL;if(n&&(e=qxe(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(i=r,r=n?e:N({},e)):r=N(N({},e),r),r.h2session)this[AP]=r.h2session;else if(r.agent===!1)this.agent=new m4({maxFreeSessions:0});else if(typeof r.agent=="undefined"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new m4({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=Gxe;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new oP("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new zxe(r.protocol,"https:");let s=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,o=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:a}=r;if(r.timeout=void 0,this[Wi]=Object.create(null),this[Pd]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[l,c]of Object.entries(r.headers))this.setHeader(l,c);r.auth&&!("authorization"in this[Wi])&&(this[Wi].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[B4]=r,s===443?(this[aP]=`https://${o}`,":authority"in this[Wi]||(this[Wi][":authority"]=o)):(this[aP]=`https://${o}:${s}`,":authority"in this[Wi]||(this[Wi][":authority"]=`${o}:${s}`)),a&&this.setTimeout(a),i&&this.once("response",i),this[Rw]=!1}get method(){return this[Wi][y4]}set method(e){e&&(this[Wi][y4]=e.toUpperCase())}get path(){return this[Wi][w4]}set path(e){e&&(this[Wi][w4]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,i){if(this._mustNotHaveABody){i(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let n=()=>this._request.write(e,r,i);this._request?n():this[Pd].push(n)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[Pd].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[Rw]||this.destroyed)return;this[Rw]=!0;let e=this.method===Zxe,r=i=>{if(this._request=i,this.destroyed){i.destroy();return}e||Jxe(i,this,["timeout","continue","close","error"]);let n=o=>(...a)=>{!this.writable&&!this.destroyed?o(...a):this.once("finish",()=>{o(...a)})};i.once("response",n((o,a,l)=>{let c=new Yxe(this.socket,i.readableHighWaterMark);this.res=c,c.req=this,c.statusCode=o[I4],c.headers=o,c.rawHeaders=l,c.once("end",()=>{this.aborted?(c.aborted=!0,c.emit("aborted")):(c.complete=!0,c.socket=null,c.connection=null)}),e?(c.upgrade=!0,this.emit("connect",c,i,Buffer.alloc(0))?this.emit("close"):i.destroy()):(i.on("data",u=>{!c._dumped&&!c.push(u)&&i.pause()}),i.once("end",()=>{c.push(null)}),this.emit("response",c)||c._dump())})),i.once("headers",n(o=>this.emit("information",{statusCode:o[I4]}))),i.once("trailers",n((o,a,l)=>{let{res:c}=this;c.trailers=o,c.rawTrailers=l}));let{socket:s}=i.session;this.socket=s,this.connection=s;for(let o of this[Pd])o();this.emit("socket",this.socket)};if(this[AP])try{r(this[AP].request(this[Wi]))}catch(i){this.emit("error",i)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[aP],this[B4],this[Wi]))}catch(i){this.emit("error",i)}}}getHeader(e){if(typeof e!="string")throw new oP("name","string",e);return this[Wi][e.toLowerCase()]}get headersSent(){return this[Rw]}removeHeader(e){if(typeof e!="string")throw new oP("name","string",e);if(this.headersSent)throw new E4("remove");delete this[Wi][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new E4("set");if(typeof e!="string"||!$xe.test(e)&&!Wxe(e))throw new _xe("Header name",e);if(typeof r=="undefined")throw new Vxe(r,e);if(ePe.test(r))throw new Xxe("header content",e);this[Wi][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let i=()=>this._request.setTimeout(e,r);return this._request?i():this[Pd].push(i),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};C4.exports=b4});var v4=w((mot,Q4)=>{"use strict";var tPe=require("tls");Q4.exports=(t={})=>new Promise((e,r)=>{let i=tPe.connect(t,()=>{t.resolveSocket?(i.off("error",r),e({alpnProtocol:i.alpnProtocol,socket:i})):(i.destroy(),e({alpnProtocol:i.alpnProtocol}))});i.on("error",r)})});var k4=w((Eot,S4)=>{"use strict";var rPe=require("net");S4.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),rPe.isIP(e)?"":e}});var D4=w((Iot,cP)=>{"use strict";var x4=require("http"),uP=require("https"),iPe=v4(),nPe=tP(),sPe=lP(),oPe=k4(),aPe=sP(),Fw=new nPe({maxSize:100}),Dd=new Map,P4=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let i=()=>{t.emit("free",e,r)};e.on("free",i);let n=()=>{t.removeSocket(e,r)};e.on("close",n);let s=()=>{t.removeSocket(e,r),e.off("close",n),e.off("free",i),e.off("agentRemove",s)};e.on("agentRemove",s),t.emit("free",e,r)},APe=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!Fw.has(e)){if(Dd.has(e))return(await Dd.get(e)).alpnProtocol;let{path:r,agent:i}=t;t.path=t.socketPath;let n=iPe(t);Dd.set(e,n);try{let{socket:s,alpnProtocol:o}=await n;if(Fw.set(e,o),t.path=r,o==="h2")s.destroy();else{let{globalAgent:a}=uP,l=uP.Agent.prototype.createConnection;i?i.createConnection===l?P4(i,s,t):s.destroy():a.createConnection===l?P4(a,s,t):s.destroy()}return Dd.delete(e),o}catch(s){throw Dd.delete(e),s}}return Fw.get(e)};cP.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=aPe(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e=te(N(N({ALPNProtocols:["h2","http/1.1"]},t),e),{resolveSocket:!0}),!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let i=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||oPe(e),e.port=e.port||(i?443:80),e._defaultAgent=i?uP.globalAgent:x4.globalAgent;let n=e.agent;if(n){if(n.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=n[i?"https":"http"]}return i&&await APe(e)==="h2"?(n&&(e.agent=n.http2),new sPe(e,r)):x4.request(e,r)};cP.exports.protocolCache=Fw});var F4=w((yot,R4)=>{"use strict";var lPe=require("http2"),cPe=iP(),gP=lP(),uPe=nP(),gPe=D4(),fPe=(t,e,r)=>new gP(t,e,r),hPe=(t,e,r)=>{let i=new gP(t,e,r);return i.end(),i};R4.exports=te(N(te(N({},lPe),{ClientRequest:gP,IncomingMessage:uPe}),cPe),{request:fPe,get:hPe,auto:gPe})});var hP=w(fP=>{"use strict";Object.defineProperty(fP,"__esModule",{value:!0});var N4=$a();fP.default=t=>N4.default.nodeStream(t)&&N4.default.function_(t.getBoundary)});var M4=w(pP=>{"use strict";Object.defineProperty(pP,"__esModule",{value:!0});var L4=require("fs"),T4=require("util"),O4=$a(),pPe=hP(),dPe=T4.promisify(L4.stat);pP.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(O4.default.string(t))return Buffer.byteLength(t);if(O4.default.buffer(t))return t.length;if(pPe.default(t))return T4.promisify(t.getLength.bind(t))();if(t instanceof L4.ReadStream){let{size:r}=await dPe(t.path);return r===0?void 0:r}}});var CP=w(dP=>{"use strict";Object.defineProperty(dP,"__esModule",{value:!0});function CPe(t,e,r){let i={};for(let n of r)i[n]=(...s)=>{e.emit(n,...s)},t.on(n,i[n]);return()=>{for(let n of r)t.off(n,i[n])}}dP.default=CPe});var U4=w(mP=>{"use strict";Object.defineProperty(mP,"__esModule",{value:!0});mP.default=()=>{let t=[];return{once(e,r,i){e.once(r,i),t.push({origin:e,event:r,fn:i})},unhandleAll(){for(let e of t){let{origin:r,event:i,fn:n}=e;r.removeListener(i,n)}t.length=0}}}});var H4=w(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.TimeoutError=void 0;var mPe=require("net"),EPe=U4(),K4=Symbol("reentry"),IPe=()=>{},EP=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`);this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};Rd.TimeoutError=EP;Rd.default=(t,e,r)=>{if(K4 in t)return IPe;t[K4]=!0;let i=[],{once:n,unhandleAll:s}=EPe.default(),o=(g,f,h)=>{var p;let m=setTimeout(f,g,g,h);(p=m.unref)===null||p===void 0||p.call(m);let y=()=>{clearTimeout(m)};return i.push(y),y},{host:a,hostname:l}=r,c=(g,f)=>{t.destroy(new EP(g,f))},u=()=>{for(let g of i)g();s()};if(t.once("error",g=>{if(u(),t.listenerCount("error")===0)throw g}),t.once("close",u),n(t,"response",g=>{n(g,"end",u)}),typeof e.request!="undefined"&&o(e.request,c,"request"),typeof e.socket!="undefined"){let g=()=>{c(e.socket,"socket")};t.setTimeout(e.socket,g),i.push(()=>{t.removeListener("timeout",g)})}return n(t,"socket",g=>{var f;let{socketPath:h}=t;if(g.connecting){let p=Boolean(h!=null?h:mPe.isIP((f=l!=null?l:a)!==null&&f!==void 0?f:"")!==0);if(typeof e.lookup!="undefined"&&!p&&typeof g.address().address=="undefined"){let m=o(e.lookup,c,"lookup");n(g,"lookup",m)}if(typeof e.connect!="undefined"){let m=()=>o(e.connect,c,"connect");p?n(g,"connect",m()):n(g,"lookup",y=>{y===null&&n(g,"connect",m())})}typeof e.secureConnect!="undefined"&&r.protocol==="https:"&&n(g,"connect",()=>{let m=o(e.secureConnect,c,"secureConnect");n(g,"secureConnect",m)})}if(typeof e.send!="undefined"){let p=()=>o(e.send,c,"send");g.connecting?n(g,"connect",()=>{n(t,"upload-complete",p())}):n(t,"upload-complete",p())}}),typeof e.response!="undefined"&&n(t,"upload-complete",()=>{let g=o(e.response,c,"response");n(t,"response",g)}),u}});var G4=w(IP=>{"use strict";Object.defineProperty(IP,"__esModule",{value:!0});var j4=$a();IP.default=t=>{t=t;let e={protocol:t.protocol,hostname:j4.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return j4.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Y4=w(yP=>{"use strict";Object.defineProperty(yP,"__esModule",{value:!0});var yPe=require("url"),wPe=["protocol","host","hostname","port","pathname","search"];yP.default=(t,e)=>{var r,i;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(i=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&i!==void 0?i:""}`}let n=new yPe.URL(t);if(e.path){let s=e.path.indexOf("?");s===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,s),e.search=e.path.slice(s+1)),delete e.path}for(let s of wPe)e[s]&&(n[s]=e[s].toString());return n}});var J4=w(wP=>{"use strict";Object.defineProperty(wP,"__esModule",{value:!0});var q4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};wP.default=q4});var bP=w(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});var BPe=async t=>{let e=[],r=0;for await(let i of t)e.push(i),r+=Buffer.byteLength(i);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};BP.default=BPe});var z4=w(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.dnsLookupIpVersionToFamily=Yc.isDnsLookupIpVersion=void 0;var W4={auto:0,ipv4:4,ipv6:6};Yc.isDnsLookupIpVersion=t=>t in W4;Yc.dnsLookupIpVersionToFamily=t=>{if(Yc.isDnsLookupIpVersion(t))return W4[t];throw new Error("Invalid DNS lookup IP version")}});var QP=w(Nw=>{"use strict";Object.defineProperty(Nw,"__esModule",{value:!0});Nw.isResponseOk=void 0;Nw.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var V4=w(vP=>{"use strict";Object.defineProperty(vP,"__esModule",{value:!0});var _4=new Set;vP.default=t=>{_4.has(t)||(_4.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var X4=w(SP=>{"use strict";Object.defineProperty(SP,"__esModule",{value:!0});var Ir=$a(),bPe=(t,e)=>{if(Ir.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ir.assert.any([Ir.default.string,Ir.default.undefined],t.encoding),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.resolveBodyOnly),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.methodRewriting),Ir.assert.any([Ir.default.boolean,Ir.default.undefined],t.isStream),Ir.assert.any([Ir.default.string,Ir.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry=N({},e.retry):t.retry={calculateDelay:i=>i.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ir.default.object(r)?(t.retry=N(N({},t.retry),r),t.retry.methods=[...new Set(t.retry.methods.map(i=>i.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ir.default.number(r)&&(t.retry.limit=r),Ir.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ir.default.number))),Ir.default.object(t.pagination)){e&&(t.pagination=N(N({},e.pagination),t.pagination));let{pagination:i}=t;if(!Ir.default.function_(i.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ir.default.function_(i.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ir.default.function_(i.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ir.default.function_(i.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};SP.default=bPe});var Z4=w(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.retryAfterStatusCodes=void 0;Fd.retryAfterStatusCodes=new Set([413,429,503]);var QPe=({attemptCount:t,retryOptions:e,error:r,retryAfter:i})=>{if(t>e.limit)return 0;let n=e.methods.includes(r.options.method),s=e.errorCodes.includes(r.code),o=r.response&&e.statusCodes.includes(r.response.statusCode);if(!n||!s&&!o)return 0;if(r.response){if(i)return e.maxRetryAfter===void 0||i>e.maxRetryAfter?0:i;if(r.response.statusCode===413)return 0}let a=Math.random()*100;return 2**(t-1)*1e3+a};Fd.default=QPe});var Ld=w(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.UnsupportedProtocolError=qt.ReadError=qt.TimeoutError=qt.UploadError=qt.CacheError=qt.HTTPError=qt.MaxRedirectsError=qt.RequestError=qt.setNonEnumerableProperties=qt.knownHookEvents=qt.withoutBody=qt.kIsNormalizedAlready=void 0;var $4=require("util"),e_=require("stream"),vPe=require("fs"),al=require("url"),t_=require("http"),kP=require("http"),SPe=require("https"),kPe=cz(),xPe=Cz(),r_=Xz(),PPe=t4(),DPe=F4(),RPe=Pw(),me=$a(),FPe=M4(),i_=hP(),NPe=CP(),n_=H4(),LPe=G4(),s_=Y4(),TPe=J4(),OPe=bP(),o_=z4(),MPe=QP(),Al=V4(),UPe=X4(),KPe=Z4(),xP,Ri=Symbol("request"),Lw=Symbol("response"),Xg=Symbol("responseSize"),Zg=Symbol("downloadedSize"),$g=Symbol("bodySize"),ef=Symbol("uploadedSize"),Tw=Symbol("serverResponsesPiped"),a_=Symbol("unproxyEvents"),A_=Symbol("isFromCache"),PP=Symbol("cancelTimeouts"),l_=Symbol("startedReading"),tf=Symbol("stopReading"),Ow=Symbol("triggerRead"),ll=Symbol("body"),Nd=Symbol("jobs"),c_=Symbol("originalResponse"),u_=Symbol("retryTimeout");qt.kIsNormalizedAlready=Symbol("isNormalizedAlready");var HPe=me.default.string(process.versions.brotli);qt.withoutBody=new Set(["GET","HEAD"]);qt.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function jPe(t){for(let e in t){let r=t[e];if(!me.default.string(r)&&!me.default.number(r)&&!me.default.boolean(r)&&!me.default.null_(r)&&!me.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function GPe(t){return me.default.object(t)&&!("statusCode"in t)}var DP=new TPe.default,YPe=async t=>new Promise((e,r)=>{let i=n=>{r(n)};t.pending||e(),t.once("error",i),t.once("ready",()=>{t.off("error",i),e()})}),qPe=new Set([300,301,302,303,304,307,308]),JPe=["context","body","json","form"];qt.setNonEnumerableProperties=(t,e)=>{let r={};for(let i of t)if(!!i)for(let n of JPe)n in i&&(r[n]={writable:!0,configurable:!0,enumerable:!1,value:i[n]});Object.defineProperties(e,r)};var fi=class extends Error{constructor(e,r,i){var n;super(e);if(Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,i instanceof RP?(Object.defineProperty(this,"request",{enumerable:!1,value:i}),Object.defineProperty(this,"response",{enumerable:!1,value:i[Lw]}),Object.defineProperty(this,"options",{enumerable:!1,value:i.options})):Object.defineProperty(this,"options",{enumerable:!1,value:i}),this.timings=(n=this.request)===null||n===void 0?void 0:n.timings,me.default.string(r.stack)&&me.default.string(this.stack)){let s=this.stack.indexOf(this.message)+this.message.length,o=this.stack.slice(s).split(` +`).reverse(),a=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;a.length!==0&&a[0]===o[0];)o.shift();this.stack=`${this.stack.slice(0,s)}${o.reverse().join(` +`)}${a.reverse().join(` +`)}`}}};qt.RequestError=fi;var FP=class extends fi{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e);this.name="MaxRedirectsError"}};qt.MaxRedirectsError=FP;var NP=class extends fi{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request);this.name="HTTPError"}};qt.HTTPError=NP;var LP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="CacheError"}};qt.CacheError=LP;var TP=class extends fi{constructor(e,r){super(e.message,e,r);this.name="UploadError"}};qt.UploadError=TP;var OP=class extends fi{constructor(e,r,i){super(e.message,e,i);this.name="TimeoutError",this.event=e.event,this.timings=r}};qt.TimeoutError=OP;var Mw=class extends fi{constructor(e,r){super(e.message,e,r);this.name="ReadError"}};qt.ReadError=Mw;var MP=class extends fi{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e);this.name="UnsupportedProtocolError"}};qt.UnsupportedProtocolError=MP;var WPe=["socket","connect","continue","information","upgrade","timeout"],RP=class extends e_.Duplex{constructor(e,r={},i){super({autoDestroy:!1,highWaterMark:0});this[Zg]=0,this[ef]=0,this.requestInitialized=!1,this[Tw]=new Set,this.redirects=[],this[tf]=!1,this[Ow]=!1,this[Nd]=[],this.retryCount=0,this._progressCallbacks=[];let n=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on("pipe",c=>{c.prependListener("data",n),c.on("data",s),c.prependListener("end",n),c.on("end",s)}),this.on("unpipe",c=>{c.off("data",n),c.off("data",s),c.off("end",n),c.off("end",s)}),this.on("pipe",c=>{c instanceof kP.IncomingMessage&&(this.options.headers=N(N({},c.headers),this.options.headers))});let{json:o,body:a,form:l}=r;if((o||a||l)&&this._lockWrite(),qt.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,i)}catch(c){me.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(c);return}(async()=>{var c;try{this.options.body instanceof vPe.ReadStream&&await YPe(this.options.body);let{url:u}=this.options;if(!u)throw new TypeError("Missing `url` property");if(this.requestUrl=u.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(c=this[Ri])===null||c===void 0||c.destroy();return}for(let g of this[Nd])g();this[Nd].length=0,this.requestInitialized=!0}catch(u){if(u instanceof fi){this._beforeError(u);return}this.destroyed||this.destroy(u)}})()}static normalizeArguments(e,r,i){var n,s,o,a,l;let c=r;if(me.default.object(e)&&!me.default.urlInstance(e))r=N(N(N({},i),e),r);else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r=N(N({},i),r),e!==void 0&&(r.url=e),me.default.urlInstance(r.url)&&(r.url=new al.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),me.assert.any([me.default.string,me.default.undefined],r.method),me.assert.any([me.default.object,me.default.undefined],r.headers),me.assert.any([me.default.string,me.default.urlInstance,me.default.undefined],r.prefixUrl),me.assert.any([me.default.object,me.default.undefined],r.cookieJar),me.assert.any([me.default.object,me.default.string,me.default.undefined],r.searchParams),me.assert.any([me.default.object,me.default.string,me.default.undefined],r.cache),me.assert.any([me.default.object,me.default.number,me.default.undefined],r.timeout),me.assert.any([me.default.object,me.default.undefined],r.context),me.assert.any([me.default.object,me.default.undefined],r.hooks),me.assert.any([me.default.boolean,me.default.undefined],r.decompress),me.assert.any([me.default.boolean,me.default.undefined],r.ignoreInvalidCookies),me.assert.any([me.default.boolean,me.default.undefined],r.followRedirect),me.assert.any([me.default.number,me.default.undefined],r.maxRedirects),me.assert.any([me.default.boolean,me.default.undefined],r.throwHttpErrors),me.assert.any([me.default.boolean,me.default.undefined],r.http2),me.assert.any([me.default.boolean,me.default.undefined],r.allowGetBody),me.assert.any([me.default.string,me.default.undefined],r.localAddress),me.assert.any([o_.isDnsLookupIpVersion,me.default.undefined],r.dnsLookupIpVersion),me.assert.any([me.default.object,me.default.undefined],r.https),me.assert.any([me.default.boolean,me.default.undefined],r.rejectUnauthorized),r.https&&(me.assert.any([me.default.boolean,me.default.undefined],r.https.rejectUnauthorized),me.assert.any([me.default.function_,me.default.undefined],r.https.checkServerIdentity),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.certificateAuthority),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.key),me.assert.any([me.default.string,me.default.object,me.default.array,me.default.undefined],r.https.certificate),me.assert.any([me.default.string,me.default.undefined],r.https.passphrase),me.assert.any([me.default.string,me.default.buffer,me.default.array,me.default.undefined],r.https.pfx)),me.assert.any([me.default.object,me.default.undefined],r.cacheOptions),me.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===(i==null?void 0:i.headers)?r.headers=N({},r.headers):r.headers=RPe(N(N({},i==null?void 0:i.headers),r.headers)),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==(i==null?void 0:i.searchParams)){let h;if(me.default.string(r.searchParams)||r.searchParams instanceof al.URLSearchParams)h=new al.URLSearchParams(r.searchParams);else{jPe(r.searchParams),h=new al.URLSearchParams;for(let p in r.searchParams){let m=r.searchParams[p];m===null?h.append(p,""):m!==void 0&&h.append(p,m)}}(n=i==null?void 0:i.searchParams)===null||n===void 0||n.forEach((p,m)=>{h.has(m)||h.append(m,p)}),r.searchParams=h}if(r.username=(s=r.username)!==null&&s!==void 0?s:"",r.password=(o=r.password)!==null&&o!==void 0?o:"",me.default.undefined(r.prefixUrl)?r.prefixUrl=(a=i==null?void 0:i.prefixUrl)!==null&&a!==void 0?a:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),me.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=s_.default(r.prefixUrl+r.url,r)}else(me.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=s_.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:h}=r;Object.defineProperty(r,"prefixUrl",{set:m=>{let y=r.url;if(!y.href.startsWith(m))throw new Error(`Cannot change \`prefixUrl\` from ${h} to ${m}: ${y.href}`);r.url=new al.URL(m+y.href.slice(h.length)),h=m},get:()=>h});let{protocol:p}=r.url;if(p==="unix:"&&(p="http:",r.url=new al.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),p!=="http:"&&p!=="https:")throw new MP(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:u}=r;if(u){let{setCookie:h,getCookieString:p}=u;me.assert.function_(h),me.assert.function_(p),h.length===4&&p.length===0&&(h=$4.promisify(h.bind(r.cookieJar)),p=$4.promisify(p.bind(r.cookieJar)),r.cookieJar={setCookie:h,getCookieString:p})}let{cache:g}=r;if(g&&(DP.has(g)||DP.set(g,new r_((h,p)=>{let m=h[Ri](h,p);return me.default.promise(m)&&(m.once=(y,Q)=>{if(y==="error")m.catch(Q);else if(y==="abort")(async()=>{try{(await m).once("abort",Q)}catch(S){}})();else throw new Error(`Unknown HTTP2 promise event: ${y}`);return m}),m},g))),r.cacheOptions=N({},r.cacheOptions),r.dnsCache===!0)xP||(xP=new xPe.default),r.dnsCache=xP;else if(!me.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${me.default(r.dnsCache)}`);me.default.number(r.timeout)?r.timeout={request:r.timeout}:i&&r.timeout!==i.timeout?r.timeout=N(N({},i.timeout),r.timeout):r.timeout=N({},r.timeout),r.context||(r.context={});let f=r.hooks===(i==null?void 0:i.hooks);r.hooks=N({},r.hooks);for(let h of qt.knownHookEvents)if(h in r.hooks)if(me.default.array(r.hooks[h]))r.hooks[h]=[...r.hooks[h]];else throw new TypeError(`Parameter \`${h}\` must be an Array, got ${me.default(r.hooks[h])}`);else r.hooks[h]=[];if(i&&!f)for(let h of qt.knownHookEvents)i.hooks[h].length>0&&(r.hooks[h]=[...i.hooks[h],...r.hooks[h]]);if("family"in r&&Al.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),(i==null?void 0:i.https)&&(r.https=N(N({},i.https),r.https)),"rejectUnauthorized"in r&&Al.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&Al.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&Al.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&Al.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&Al.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&Al.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&Al.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let h in r.agent)if(h!=="http"&&h!=="https"&&h!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${h}\``)}return r.maxRedirects=(l=r.maxRedirects)!==null&&l!==void 0?l:0,qt.setNonEnumerableProperties([i,c],r),UPe.default(r,i)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,i=!me.default.undefined(e.form),n=!me.default.undefined(e.json),s=!me.default.undefined(e.body),o=i||n||s,a=qt.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=a,o){if(a)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,i,n].filter(l=>l).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof e_.Readable)&&!me.default.string(e.body)&&!me.default.buffer(e.body)&&!i_.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(i&&!me.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let l=!me.default.string(r["content-type"]);s?(i_.default(e.body)&&l&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[ll]=e.body):i?(l&&(r["content-type"]="application/x-www-form-urlencoded"),this[ll]=new al.URLSearchParams(e.form).toString()):(l&&(r["content-type"]="application/json"),this[ll]=e.stringifyJson(e.json));let c=await FPe.default(this[ll],e.headers);me.default.undefined(r["content-length"])&&me.default.undefined(r["transfer-encoding"])&&!a&&!me.default.undefined(c)&&(r["content-length"]=String(c))}}else a?this._lockWrite():this._unlockWrite();this[$g]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:i}=r;this[c_]=e,r.decompress&&(e=PPe(e));let n=e.statusCode,s=e;s.statusMessage=s.statusMessage?s.statusMessage:t_.STATUS_CODES[n],s.url=r.url.toString(),s.requestUrl=this.requestUrl,s.redirectUrls=this.redirects,s.request=this,s.isFromCache=e.fromCache||!1,s.ip=this.ip,s.retryCount=this.retryCount,this[A_]=s.isFromCache,this[Xg]=Number(e.headers["content-length"])||void 0,this[Lw]=e,e.once("end",()=>{this[Xg]=this[Zg],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",a=>{e.destroy(),this._beforeError(new Mw(a,this))}),e.once("aborted",()=>{this._beforeError(new Mw({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let o=e.headers["set-cookie"];if(me.default.object(r.cookieJar)&&o){let a=o.map(async l=>r.cookieJar.setCookie(l,i.toString()));r.ignoreInvalidCookies&&(a=a.map(async l=>l.catch(()=>{})));try{await Promise.all(a)}catch(l){this._beforeError(l);return}}if(r.followRedirect&&e.headers.location&&qPe.has(n)){if(e.resume(),this[Ri]&&(this[PP](),delete this[Ri],this[a_]()),(n===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[ll]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new FP(this));return}try{let l=Buffer.from(e.headers.location,"binary").toString(),c=new al.URL(l,i),u=c.toString();decodeURI(u),c.hostname!==i.hostname||c.port!==i.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(c.username=r.username,c.password=r.password),this.redirects.push(u),r.url=c;for(let g of r.hooks.beforeRedirect)await g(r,s);this.emit("redirect",s,r),await this._makeRequest()}catch(l){this._beforeError(l);return}return}if(r.isStream&&r.throwHttpErrors&&!MPe.isResponseOk(s)){this._beforeError(new NP(s));return}e.on("readable",()=>{this[Ow]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let a of this[Tw])if(!a.headersSent){for(let l in e.headers){let c=r.decompress?l!=="content-encoding":!0,u=e.headers[l];c&&a.setHeader(l,u)}a.statusCode=n}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:i,url:n}=r;kPe.default(e),this[PP]=n_.default(e,i,n);let s=r.cache?"cacheableResponse":"response";e.once(s,l=>{this._onResponse(l)}),e.once("error",l=>{var c;e.destroy(),(c=e.res)===null||c===void 0||c.removeAllListeners("end"),l=l instanceof n_.TimeoutError?new OP(l,this.timings,this):new fi(l.message,l,this),this._beforeError(l)}),this[a_]=NPe.default(e,this,WPe),this[Ri]=e,this.emit("uploadProgress",this.uploadProgress);let o=this[ll],a=this.redirects.length===0?this:e;me.default.nodeStream(o)?(o.pipe(a),o.once("error",l=>{this._beforeError(new TP(l,this))})):(this._unlockWrite(),me.default.undefined(o)?(this._cannotHaveBody||this._noPipe)&&(a.end(),this._lockWrite()):(this._writeRequest(o,void 0,()=>{}),a.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((i,n)=>{Object.assign(r,LPe.default(e)),delete r.url;let s,o=DP.get(r.cache)(r,async a=>{a._readableState.autoDestroy=!1,s&&(await s).emit("cacheableResponse",a),i(a)});r.url=e,o.once("error",n),o.once("request",async a=>{s=a,i(s)})})}async _makeRequest(){var e,r,i,n,s;let{options:o}=this,{headers:a}=o;for(let Q in a)if(me.default.undefined(a[Q]))delete a[Q];else if(me.default.null_(a[Q]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${Q}\` header`);if(o.decompress&&me.default.undefined(a["accept-encoding"])&&(a["accept-encoding"]=HPe?"gzip, deflate, br":"gzip, deflate"),o.cookieJar){let Q=await o.cookieJar.getCookieString(o.url.toString());me.default.nonEmptyString(Q)&&(o.headers.cookie=Q)}for(let Q of o.hooks.beforeRequest){let S=await Q(o);if(!me.default.undefined(S)){o.request=()=>S;break}}o.body&&this[ll]!==o.body&&(this[ll]=o.body);let{agent:l,request:c,timeout:u,url:g}=o;if(o.dnsCache&&!("lookup"in o)&&(o.lookup=o.dnsCache.lookup),g.hostname==="unix"){let Q=/(?.+?):(?.+)/.exec(`${g.pathname}${g.search}`);if(Q==null?void 0:Q.groups){let{socketPath:S,path:x}=Q.groups;Object.assign(o,{socketPath:S,path:x,host:""})}}let f=g.protocol==="https:",h;o.http2?h=DPe.auto:h=f?SPe.request:t_.request;let p=(e=o.request)!==null&&e!==void 0?e:h,m=o.cache?this._createCacheableRequest:p;l&&!o.http2&&(o.agent=l[f?"https":"http"]),o[Ri]=p,delete o.request,delete o.timeout;let y=o;if(y.shared=(r=o.cacheOptions)===null||r===void 0?void 0:r.shared,y.cacheHeuristic=(i=o.cacheOptions)===null||i===void 0?void 0:i.cacheHeuristic,y.immutableMinTimeToLive=(n=o.cacheOptions)===null||n===void 0?void 0:n.immutableMinTimeToLive,y.ignoreCargoCult=(s=o.cacheOptions)===null||s===void 0?void 0:s.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{y.family=o_.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch(Q){throw new Error("Invalid `dnsLookupIpVersion` option value")}o.https&&("rejectUnauthorized"in o.https&&(y.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(y.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(y.ca=o.https.certificateAuthority),o.https.certificate&&(y.cert=o.https.certificate),o.https.key&&(y.key=o.https.key),o.https.passphrase&&(y.passphrase=o.https.passphrase),o.https.pfx&&(y.pfx=o.https.pfx));try{let Q=await m(g,y);me.default.undefined(Q)&&(Q=h(g,y)),o.request=c,o.timeout=u,o.agent=l,o.https&&("rejectUnauthorized"in o.https&&delete y.rejectUnauthorized,o.https.checkServerIdentity&&delete y.checkServerIdentity,o.https.certificateAuthority&&delete y.ca,o.https.certificate&&delete y.cert,o.https.key&&delete y.key,o.https.passphrase&&delete y.passphrase,o.https.pfx&&delete y.pfx),GPe(Q)?this._onRequest(Q):this.writable?(this.once("finish",()=>{this._onResponse(Q)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(Q)}catch(Q){throw Q instanceof r_.CacheError?new LP(Q,this):new fi(Q.message,Q,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new fi(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[tf])return;let{options:r}=this,i=this.retryCount+1;this[tf]=!0,e instanceof fi||(e=new fi(e.message,e,this));let n=e,{response:s}=n;(async()=>{if(s&&!s.body){s.setEncoding(this._readableState.encoding);try{s.rawBody=await OPe.default(s),s.body=s.rawBody.toString()}catch(o){}}if(this.listenerCount("retry")!==0){let o;try{let a;s&&"retry-after"in s.headers&&(a=Number(s.headers["retry-after"]),Number.isNaN(a)?(a=Date.parse(s.headers["retry-after"])-Date.now(),a<=0&&(a=1)):a*=1e3),o=await r.retry.calculateDelay({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:KPe.default({attemptCount:i,retryOptions:r.retry,error:n,retryAfter:a,computedValue:0})})}catch(a){this._error(new fi(a.message,a,this));return}if(o){let a=async()=>{try{for(let l of this.options.hooks.beforeRetry)await l(this.options,n,i)}catch(l){this._error(new fi(l.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",i,e))};this[u_]=setTimeout(a,o);return}}this._error(n)})()}_read(){this[Ow]=!0;let e=this[Lw];if(e&&!this[tf]){e.readableLength&&(this[Ow]=!1);let r;for(;(r=e.read())!==null;){this[Zg]+=r.length,this[l_]=!0;let i=this.downloadProgress;i.percent<1&&this.emit("downloadProgress",i),this.push(r)}}}_write(e,r,i){let n=()=>{this._writeRequest(e,r,i)};this.requestInitialized?n():this[Nd].push(n)}_writeRequest(e,r,i){this[Ri].destroyed||(this._progressCallbacks.push(()=>{this[ef]+=Buffer.byteLength(e,r);let n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[Ri].write(e,r,n=>{!n&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),i(n)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Ri in this)){e();return}if(this[Ri].destroyed){e();return}this[Ri].end(i=>{i||(this[$g]=this[ef],this.emit("uploadProgress",this.uploadProgress),this[Ri].emit("upload-complete")),e(i)})};this.requestInitialized?r():this[Nd].push(r)}_destroy(e,r){var i;this[tf]=!0,clearTimeout(this[u_]),Ri in this&&(this[PP](),((i=this[Lw])===null||i===void 0?void 0:i.complete)||this[Ri].destroy()),e!==null&&!me.default.undefined(e)&&!(e instanceof fi)&&(e=new fi(e.message,e,this)),r(e)}get _isAboutToError(){return this[tf]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,i;return((r=(e=this[Ri])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!((i=this[c_])===null||i===void 0?void 0:i.complete)}get socket(){var e,r;return(r=(e=this[Ri])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[Xg]?e=this[Zg]/this[Xg]:this[Xg]===this[Zg]?e=1:e=0,{percent:e,transferred:this[Zg],total:this[Xg]}}get uploadProgress(){let e;return this[$g]?e=this[ef]/this[$g]:this[$g]===this[ef]?e=1:e=0,{percent:e,transferred:this[ef],total:this[$g]}}get timings(){var e;return(e=this[Ri])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[A_]}pipe(e,r){if(this[l_])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof kP.ServerResponse&&this[Tw].add(e),super.pipe(e,r)}unpipe(e){return e instanceof kP.ServerResponse&&this[Tw].delete(e),super.unpipe(e),this}};qt.default=RP});var Td=w(ho=>{"use strict";var zPe=ho&&ho.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),_Pe=ho&&ho.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&zPe(e,t,r)};Object.defineProperty(ho,"__esModule",{value:!0});ho.CancelError=ho.ParseError=void 0;var g_=Ld(),f_=class extends g_.RequestError{constructor(e,r){let{options:i}=r.request;super(`${e.message} in "${i.url.toString()}"`,e,r.request);this.name="ParseError"}};ho.ParseError=f_;var h_=class extends g_.RequestError{constructor(e){super("Promise was canceled",{},e);this.name="CancelError"}get isCanceled(){return!0}};ho.CancelError=h_;_Pe(Ld(),ho)});var d_=w(UP=>{"use strict";Object.defineProperty(UP,"__esModule",{value:!0});var p_=Td(),VPe=(t,e,r,i)=>{let{rawBody:n}=t;try{if(e==="text")return n.toString(i);if(e==="json")return n.length===0?"":r(n.toString());if(e==="buffer")return n;throw new p_.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(s){throw new p_.ParseError(s,t)}};UP.default=VPe});var KP=w(cl=>{"use strict";var XPe=cl&&cl.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ZPe=cl&&cl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&XPe(e,t,r)};Object.defineProperty(cl,"__esModule",{value:!0});var $Pe=require("events"),eDe=$a(),tDe=Az(),Uw=Td(),C_=d_(),m_=Ld(),rDe=CP(),iDe=bP(),E_=QP(),nDe=["request","response","redirect","uploadProgress","downloadProgress"];function I_(t){let e,r,i=new $Pe.EventEmitter,n=new tDe((o,a,l)=>{let c=u=>{let g=new m_.default(void 0,t);g.retryCount=u,g._noPipe=!0,l(()=>g.destroy()),l.shouldReject=!1,l(()=>a(new Uw.CancelError(g))),e=g,g.once("response",async p=>{var m;if(p.retryCount=u,p.request.aborted)return;let y;try{y=await iDe.default(g),p.rawBody=y}catch(M){return}if(g._isAboutToError)return;let Q=((m=p.headers["content-encoding"])!==null&&m!==void 0?m:"").toLowerCase(),S=["gzip","deflate","br"].includes(Q),{options:x}=g;if(S&&!x.decompress)p.body=y;else try{p.body=C_.default(p,x.responseType,x.parseJson,x.encoding)}catch(M){if(p.body=y.toString(),E_.isResponseOk(p)){g._beforeError(M);return}}try{for(let[M,Y]of x.hooks.afterResponse.entries())p=await Y(p,async U=>{let J=m_.default.normalizeArguments(void 0,te(N({},U),{retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1}),x);J.hooks.afterResponse=J.hooks.afterResponse.slice(0,M);for(let ee of J.hooks.beforeRetry)await ee(J);let W=I_(J);return l(()=>{W.catch(()=>{}),W.cancel()}),W})}catch(M){g._beforeError(new Uw.RequestError(M.message,M,g));return}if(!E_.isResponseOk(p)){g._beforeError(new Uw.HTTPError(p));return}r=p,o(g.options.resolveBodyOnly?p.body:p)});let f=p=>{if(n.isCanceled)return;let{options:m}=g;if(p instanceof Uw.HTTPError&&!m.throwHttpErrors){let{response:y}=p;o(g.options.resolveBodyOnly?y.body:y);return}a(p)};g.once("error",f);let h=g.options.body;g.once("retry",(p,m)=>{var y,Q;if(h===((y=m.request)===null||y===void 0?void 0:y.options.body)&&eDe.default.nodeStream((Q=m.request)===null||Q===void 0?void 0:Q.options.body)){f(m);return}c(p)}),rDe.default(g,i,nDe)};c(0)});n.on=(o,a)=>(i.on(o,a),n);let s=o=>{let a=(async()=>{await n;let{options:l}=r.request;return C_.default(r,o,l.parseJson,l.encoding)})();return Object.defineProperties(a,Object.getOwnPropertyDescriptors(n)),a};return n.json=()=>{let{headers:o}=e.options;return!e.writableFinished&&o.accept===void 0&&(o.accept="application/json"),s("json")},n.buffer=()=>s("buffer"),n.text=()=>s("text"),n}cl.default=I_;ZPe(Td(),cl)});var y_=w(HP=>{"use strict";Object.defineProperty(HP,"__esModule",{value:!0});var sDe=Td();function oDe(t,...e){let r=(async()=>{if(t instanceof sDe.RequestError)try{for(let n of e)if(n)for(let s of n)t=await s(t)}catch(n){t=n}throw t})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}HP.default=oDe});var b_=w(jP=>{"use strict";Object.defineProperty(jP,"__esModule",{value:!0});var w_=$a();function B_(t){for(let e of Object.values(t))(w_.default.plainObject(e)||w_.default.array(e))&&B_(e);return Object.freeze(t)}jP.default=B_});var v_=w(Q_=>{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0})});var GP=w(Ns=>{"use strict";var aDe=Ns&&Ns.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),ADe=Ns&&Ns.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&aDe(e,t,r)};Object.defineProperty(Ns,"__esModule",{value:!0});Ns.defaultHandler=void 0;var S_=$a(),Ls=KP(),lDe=y_(),Kw=Ld(),cDe=b_(),uDe={RequestError:Ls.RequestError,CacheError:Ls.CacheError,ReadError:Ls.ReadError,HTTPError:Ls.HTTPError,MaxRedirectsError:Ls.MaxRedirectsError,TimeoutError:Ls.TimeoutError,ParseError:Ls.ParseError,CancelError:Ls.CancelError,UnsupportedProtocolError:Ls.UnsupportedProtocolError,UploadError:Ls.UploadError},gDe=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Hw}=Kw.default,k_=(...t)=>{let e;for(let r of t)e=Hw(void 0,r,e);return e},fDe=t=>t.isStream?new Kw.default(void 0,t):Ls.default(t),hDe=t=>"defaults"in t&&"options"in t.defaults,pDe=["get","post","put","patch","head","delete"];Ns.defaultHandler=(t,e)=>e(t);var x_=(t,e)=>{if(t)for(let r of t)r(e)},P_=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(i=>(n,s)=>{let o,a=i(n,l=>(o=s(l),o));if(a!==o&&!n.isStream&&o){let l=a,{then:c,catch:u,finally:g}=l;Object.setPrototypeOf(l,Object.getPrototypeOf(o)),Object.defineProperties(l,Object.getOwnPropertyDescriptors(o)),l.then=c,l.catch=u,l.finally=g}return a});let e=(i,n={},s)=>{var o,a;let l=0,c=u=>t.handlers[l++](u,l===t.handlers.length?fDe:c);if(S_.default.plainObject(i)){let u=N(N({},i),n);Kw.setNonEnumerableProperties([i,n],u),n=u,i=void 0}try{let u;try{x_(t.options.hooks.init,n),x_((o=n.hooks)===null||o===void 0?void 0:o.init,n)}catch(f){u=f}let g=Hw(i,n,s!=null?s:t.options);if(g[Kw.kIsNormalizedAlready]=!0,u)throw new Ls.RequestError(u.message,u,g);return c(g)}catch(u){if(n.isStream)throw u;return lDe.default(u,t.options.hooks.beforeError,(a=n.hooks)===null||a===void 0?void 0:a.beforeError)}};e.extend=(...i)=>{let n=[t.options],s=[...t._rawHandlers],o;for(let a of i)hDe(a)?(n.push(a.defaults.options),s.push(...a.defaults._rawHandlers),o=a.defaults.mutableDefaults):(n.push(a),"handlers"in a&&s.push(...a.handlers),o=a.mutableDefaults);return s=s.filter(a=>a!==Ns.defaultHandler),s.length===0&&s.push(Ns.defaultHandler),P_({options:k_(...n),handlers:s,mutableDefaults:Boolean(o)})};let r=async function*(i,n){let s=Hw(i,n,t.options);s.resolveBodyOnly=!1;let o=s.pagination;if(!S_.default.object(o))throw new TypeError("`options.pagination` must be implemented");let a=[],{countLimit:l}=o,c=0;for(;c{let s=[];for await(let o of r(i,n))s.push(o);return s},e.paginate.each=r,e.stream=(i,n)=>e(i,te(N({},n),{isStream:!0}));for(let i of pDe)e[i]=(n,s)=>e(n,te(N({},s),{method:i})),e.stream[i]=(n,s)=>e(n,te(N({},s),{method:i,isStream:!0}));return Object.assign(e,uDe),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:cDe.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=k_,e};Ns.default=P_;ADe(v_(),Ns)});var Gw=w((tA,jw)=>{"use strict";var dDe=tA&&tA.__createBinding||(Object.create?function(t,e,r,i){i===void 0&&(i=r),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}),D_=tA&&tA.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&dDe(e,t,r)};Object.defineProperty(tA,"__esModule",{value:!0});var CDe=require("url"),R_=GP(),mDe={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let i of e){let n=i.split(";");if(n[1].includes("next")){r=n[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new CDe.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Infinity,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[R_.defaultHandler],mutableDefaults:!1},YP=R_.default(mDe);tA.default=YP;jw.exports=YP;jw.exports.default=YP;jw.exports.__esModule=!0;D_(GP(),tA);D_(KP(),tA)});var T_=w(rf=>{"use strict";var Yot=require("net"),EDe=require("tls"),qP=require("http"),F_=require("https"),IDe=require("events"),qot=require("assert"),yDe=require("util");rf.httpOverHttp=wDe;rf.httpsOverHttp=BDe;rf.httpOverHttps=bDe;rf.httpsOverHttps=QDe;function wDe(t){var e=new rA(t);return e.request=qP.request,e}function BDe(t){var e=new rA(t);return e.request=qP.request,e.createSocket=N_,e.defaultPort=443,e}function bDe(t){var e=new rA(t);return e.request=F_.request,e}function QDe(t){var e=new rA(t);return e.request=F_.request,e.createSocket=N_,e.defaultPort=443,e}function rA(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||qP.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(i,n,s,o){for(var a=L_(n,s,o),l=0,c=e.requests.length;l=this.maxSockets){s.requests.push(o);return}s.createSocket(o,function(a){a.on("free",l),a.on("close",c),a.on("agentRemove",c),e.onSocket(a);function l(){s.emit("free",a,o)}function c(u){s.removeSocket(a),a.removeListener("free",l),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};rA.prototype.createSocket=function(e,r){var i=this,n={};i.sockets.push(n);var s=JP({},i.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(s.localAddress=e.localAddress),s.proxyAuth&&(s.headers=s.headers||{},s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")),ul("making CONNECT request");var o=i.request(s);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",l),o.once("connect",c),o.once("error",u),o.end();function a(g){g.upgrade=!0}function l(g,f,h){process.nextTick(function(){c(g,f,h)})}function c(g,f,h){if(o.removeAllListeners(),f.removeAllListeners(),g.statusCode!==200){ul("tunneling socket could not be established, statusCode=%d",g.statusCode),f.destroy();var p=new Error("tunneling socket could not be established, statusCode="+g.statusCode);p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}if(h.length>0){ul("got illegal response body from proxy"),f.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),i.removeSocket(n);return}return ul("tunneling connection has established"),i.sockets[i.sockets.indexOf(n)]=f,r(f)}function u(g){o.removeAllListeners(),ul(`tunneling socket could not be established, cause=%s +`,g.message,g.stack);var f=new Error("tunneling socket could not be established, cause="+g.message);f.code="ECONNRESET",e.request.emit("error",f),i.removeSocket(n)}};rA.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var i=this.requests.shift();i&&this.createSocket(i,function(n){i.request.onSocket(n)})}};function N_(t,e){var r=this;rA.prototype.createSocket.call(r,t,function(i){var n=t.request.getHeader("host"),s=JP({},r.options,{socket:i,servername:n?n.replace(/:.*$/,""):t.host}),o=EDe.connect(0,s);r.sockets[r.sockets.indexOf(i)]=o,e(o)})}function L_(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function JP(t){for(var e=1,r=arguments.length;e{O_.exports=T_()});var z_=w((Jw,XP)=>{var W_=Object.assign({},require("fs")),ZP=function(){var t=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename!="undefined"&&(t=t||__filename),function(e){e=e||{};var r=typeof e!="undefined"?e:{},i,n;r.ready=new Promise(function(d,E){i=d,n=E});var s={},o;for(o in r)r.hasOwnProperty(o)&&(s[o]=r[o]);var a=[],l="./this.program",c=function(d,E){throw E},u=!1,g=!0,f="";function h(d){return r.locateFile?r.locateFile(d,f):f+d}var p,m,y,Q;g&&(u?f=require("path").dirname(f)+"/":f=__dirname+"/",p=function(E,I){var D=ba(E);return D?I?D:D.toString():(y||(y=W_),Q||(Q=require("path")),E=Q.normalize(E),y.readFileSync(E,I?null:"utf8"))},m=function(E){var I=p(E,!0);return I.buffer||(I=new Uint8Array(I)),Ae(I.buffer),I},process.argv.length>1&&(l=process.argv[1].replace(/\\/g,"/")),a=process.argv.slice(2),c=function(d){process.exit(d)},r.inspect=function(){return"[Emscripten Module object]"});var S=r.print||console.log.bind(console),x=r.printErr||console.warn.bind(console);for(o in s)s.hasOwnProperty(o)&&(r[o]=s[o]);s=null,r.arguments&&(a=r.arguments),r.thisProgram&&(l=r.thisProgram),r.quit&&(c=r.quit);var M=16;function Y(d,E){return E||(E=M),Math.ceil(d/E)*E}var U=0,J=function(d){U=d},W;r.wasmBinary&&(W=r.wasmBinary);var ee=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Sr("no native wasm support detected");function Z(d,E,I){switch(E=E||"i8",E.charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":return pe[d>>0];case"i8":return pe[d>>0];case"i16":return be[d>>1];case"i32":return fe[d>>2];case"i64":return fe[d>>2];case"float":return Ht[d>>2];case"double":return Mt[d>>3];default:Sr("invalid type for getValue: "+E)}return null}var A,ne=!1,le;function Ae(d,E){d||Sr("Assertion failed: "+E)}function T(d){var E=r["_"+d];return Ae(E,"Cannot call unknown function "+d+", make sure it is exported"),E}function L(d,E,I,D,O){var V={string:function(nt){var It=0;if(nt!=null&&nt!==0){var ke=(nt.length<<2)+1;It=B(ke),Qe(nt,It,ke)}return It},array:function(nt){var It=B(nt.length);return Ue(nt,It),It}};function ie(nt){return E==="string"?re(nt):E==="boolean"?Boolean(nt):nt}var Be=T(d),Ce=[],_e=0;if(D)for(var ot=0;ot=D);)++O;if(O-E>16&&d.subarray&&we)return we.decode(d.subarray(E,O));for(var V="";E>10,56320|_e&1023)}}return V}function re(d,E){return d?qe(X,d,E):""}function se(d,E,I,D){if(!(D>0))return 0;for(var O=I,V=I+D-1,ie=0;ie=55296&&Be<=57343){var Ce=d.charCodeAt(++ie);Be=65536+((Be&1023)<<10)|Ce&1023}if(Be<=127){if(I>=V)break;E[I++]=Be}else if(Be<=2047){if(I+1>=V)break;E[I++]=192|Be>>6,E[I++]=128|Be&63}else if(Be<=65535){if(I+2>=V)break;E[I++]=224|Be>>12,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}else{if(I+3>=V)break;E[I++]=240|Be>>18,E[I++]=128|Be>>12&63,E[I++]=128|Be>>6&63,E[I++]=128|Be&63}}return E[I]=0,I-O}function Qe(d,E,I){return se(d,X,E,I)}function he(d){for(var E=0,I=0;I=55296&&D<=57343&&(D=65536+((D&1023)<<10)|d.charCodeAt(++I)&1023),D<=127?++E:D<=2047?E+=2:D<=65535?E+=3:E+=4}return E}function Fe(d){var E=he(d)+1,I=Et(E);return I&&se(d,pe,I,E),I}function Ue(d,E){pe.set(d,E)}function xe(d,E){return d%E>0&&(d+=E-d%E),d}var ve,pe,X,be,ce,fe,gt,Ht,Mt;function mi(d){ve=d,r.HEAP8=pe=new Int8Array(d),r.HEAP16=be=new Int16Array(d),r.HEAP32=fe=new Int32Array(d),r.HEAPU8=X=new Uint8Array(d),r.HEAPU16=ce=new Uint16Array(d),r.HEAPU32=gt=new Uint32Array(d),r.HEAPF32=Ht=new Float32Array(d),r.HEAPF64=Mt=new Float64Array(d)}var jt=r.INITIAL_MEMORY||16777216,Qr,Ti=[],_s=[],Un=[],Kn=!1;function vr(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Ia(r.preRun.shift());ko(Ti)}function Hn(){Kn=!0,!r.noFSInit&&!v.init.initialized&&v.init(),fs.init(),ko(_s)}function us(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Du(r.postRun.shift());ko(Un)}function Ia(d){Ti.unshift(d)}function SA(d){_s.unshift(d)}function Du(d){Un.unshift(d)}var gs=0,kA=null,ya=null;function Ru(d){return d}function xA(d){gs++,r.monitorRunDependencies&&r.monitorRunDependencies(gs)}function PA(d){if(gs--,r.monitorRunDependencies&&r.monitorRunDependencies(gs),gs==0&&(kA!==null&&(clearInterval(kA),kA=null),ya)){var E=ya;ya=null,E()}}r.preloadedImages={},r.preloadedAudios={};function Sr(d){r.onAbort&&r.onAbort(d),d+="",x(d),ne=!0,le=1,d="abort("+d+"). Build with -s ASSERTIONS=1 for more info.";var E=new WebAssembly.RuntimeError(d);throw n(E),E}var jl="data:application/octet-stream;base64,";function Fu(d){return d.startsWith(jl)}var So="data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCGCABKAIUSQtBAXENAAsgASgCKEGCAiABKAIUIAEoAhhrazYCYCABKAIoKAJgIAEoAigoAnRLBEAgASgCKCABKAIoKAJ0NgJgCwsLAkAgASgCKCgCYEEDTwRAIAEgASgCKCgCYEEDazoAEyABQQE7ARAgASgCKCICKAKkLSACKAKgLUEBdGogAS8BEDsBACABLQATIQMgASgCKCICKAKYLSEEIAIgAigCoC0iAkEBajYCoC0gAiAEaiADOgAAIAEgAS8BEEEBazsBECABKAIoIAEtABNB0N0Aai0AAEECdGpBmAlqIgIgAi8BAEEBajsBACABKAIoQYgTagJ/IAEvARBBgAJJBEAgAS8BEC0A0FkMAQsgAS8BEEEHdkGAAmotANBZC0ECdGoiAiACLwEAQQFqOwEAIAEgASgCKCgCoC0gASgCKCgCnC1BAWtGNgIgIAEoAigiAiACKAJ0IAEoAigoAmBrNgJ0IAEoAigiAiABKAIoKAJgIAIoAmxqNgJsIAEoAihBADYCYAwBCyABIAEoAigiAigCOCACKAJsai0AADoADyABKAIoIgIoAqQtIAIoAqAtQQF0akEAOwEAIAEtAA8hAyABKAIoIgIoApgtIQQgAiACKAKgLSICQQFqNgKgLSACIARqIAM6AAAgASgCKCABLQAPQQJ0aiICIAIvAZQBQQFqOwGUASABIAEoAigoAqAtIAEoAigoApwtQQFrRjYCICABKAIoIgIgAigCdEEBazYCdCABKAIoIgIgAigCbEEBajYCbAsgASgCIARAIAEoAigCfyABKAIoKAJcQQBOBEAgASgCKCgCOCABKAIoKAJcagwBC0EACyABKAIoKAJsIAEoAigoAlxrQQAQKCABKAIoIAEoAigoAmw2AlwgASgCKCgCABAcIAEoAigoAgAoAhBFBEAgAUEANgIsDAQLCwwBCwsgASgCKEEANgK0LSABKAIkQQRGBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBARAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQI2AiwMAgsgAUEDNgIsDAELIAEoAigoAqAtBEAgASgCKAJ/IAEoAigoAlxBAE4EQCABKAIoKAI4IAEoAigoAlxqDAELQQALIAEoAigoAmwgASgCKCgCXGtBABAoIAEoAiggASgCKCgCbDYCXCABKAIoKAIAEBwgASgCKCgCACgCEEUEQCABQQA2AiwMAgsLIAFBATYCLAsgASgCLCECIAFBMGokACACDAELIAAoAiwgACgCNCAAKAIsKAKEAUEMbEGA7wBqKAIIEQMACwsLNgIEAkAgACgCBEECRwRAIAAoAgRBA0cNAQsgACgCLEGaBTYCBAsCQCAAKAIEBEAgACgCBEECRw0BCyAAKAI4KAIQRQRAIAAoAixBfzYCKAsgAEEANgI8DAILIAAoAgRBAUYEQAJAIAAoAjRBAUYEQCAAKAIsIQIjAEEgayIBJAAgASACNgIcIAFBAzYCGAJAIAEoAhwoArwtQRAgASgCGGtKBEAgAUECNgIUIAEoAhwiAiACLwG4LSABKAIUQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAhRB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIYQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQQIgASgCHCgCvC10cjsBuC0gASgCHCICIAEoAhggAigCvC1qNgK8LQsgAUGS6AAvAQA2AhACQCABKAIcKAK8LUEQIAEoAhBrSgRAIAFBkOgALwEANgIMIAEoAhwiAiACLwG4LSABKAIMQf//A3EgASgCHCgCvC10cjsBuC0gASgCHC8BuC1B/wFxIQMgASgCHCgCCCEEIAEoAhwiBigCFCECIAYgAkEBajYCFCACIARqIAM6AAAgASgCHC8BuC1BCHYhAyABKAIcKAIIIQQgASgCHCIGKAIUIQIgBiACQQFqNgIUIAIgBGogAzoAACABKAIcIAEoAgxB//8DcUEQIAEoAhwoArwta3U7AbgtIAEoAhwiAiACKAK8LSABKAIQQRBrajYCvC0MAQsgASgCHCICIAIvAbgtQZDoAC8BACABKAIcKAK8LXRyOwG4LSABKAIcIgIgASgCECACKAK8LWo2ArwtCyABKAIcELwBIAFBIGokAAwBCyAAKAI0QQVHBEAgACgCLEEAQQBBABBdIAAoAjRBA0YEQCAAKAIsKAJEIAAoAiwoAkxBAWtBAXRqQQA7AQAgACgCLCgCREEAIAAoAiwoAkxBAWtBAXQQMyAAKAIsKAJ0RQRAIAAoAixBADYCbCAAKAIsQQA2AlwgACgCLEEANgK0LQsLCwsgACgCOBAcIAAoAjgoAhBFBEAgACgCLEF/NgIoIABBADYCPAwDCwsLIAAoAjRBBEcEQCAAQQA2AjwMAQsgACgCLCgCGEEATARAIABBATYCPAwBCwJAIAAoAiwoAhhBAkYEQCAAKAI4KAIwQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAjBBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIwQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAI4KAIIQQh2Qf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAjgoAghBEHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCCEEYdiECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAADAELIAAoAiwgACgCOCgCMEEQdhBLIAAoAiwgACgCOCgCMEH//wNxEEsLIAAoAjgQHCAAKAIsKAIYQQBKBEAgACgCLEEAIAAoAiwoAhhrNgIYCyAAIAAoAiwoAhRFNgI8CyAAKAI8IQEgAEFAayQAIAUgATYCCAwBCyAFKAIMQRBqIQEjAEHgAGsiACQAIAAgATYCWCAAQQI2AlQCQAJAAkAgACgCWBBKDQAgACgCWCgCDEUNACAAKAJYKAIADQEgACgCWCgCBEUNAQsgAEF+NgJcDAELIAAgACgCWCgCHDYCUCAAKAJQKAIEQb/+AEYEQCAAKAJQQcD+ADYCBAsgACAAKAJYKAIMNgJIIAAgACgCWCgCEDYCQCAAIAAoAlgoAgA2AkwgACAAKAJYKAIENgJEIAAgACgCUCgCPDYCPCAAIAAoAlAoAkA2AjggACAAKAJENgI0IAAgACgCQDYCMCAAQQA2AhADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAJQKAIEQbT+AGsOHwABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fCyAAKAJQKAIMRQRAIAAoAlBBwP4ANgIEDCELA0AgACgCOEEQSQRAIAAoAkRFDSEgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgACgCUCgCDEECcUUNACAAKAI8QZ+WAkcNACAAKAJQKAIoRQRAIAAoAlBBDzYCKAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAIAAoAjw6AAwgACAAKAI8QQh2OgANIAAoAlAoAhwgAEEMakECEBohASAAKAJQIAE2AhwgAEEANgI8IABBADYCOCAAKAJQQbX+ADYCBAwhCyAAKAJQQQA2AhQgACgCUCgCJARAIAAoAlAoAiRBfzYCMAsCQCAAKAJQKAIMQQFxBEAgACgCPEH/AXFBCHQgACgCPEEIdmpBH3BFDQELIAAoAlhBmgw2AhggACgCUEHR/gA2AgQMIQsgACgCPEEPcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIQsgACAAKAI8QQR2NgI8IAAgACgCOEEEazYCOCAAIAAoAjxBD3FBCGo2AhQgACgCUCgCKEUEQCAAKAJQIAAoAhQ2AigLAkAgACgCFEEPTQRAIAAoAhQgACgCUCgCKE0NAQsgACgCWEGTDTYCGCAAKAJQQdH+ADYCBAwhCyAAKAJQQQEgACgCFHQ2AhhBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG9/gBBv/4AIAAoAjxBgARxGzYCBCAAQQA2AjwgAEEANgI4DCALA0AgACgCOEEQSQRAIAAoAkRFDSAgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCFCAAKAJQKAIUQf8BcUEIRwRAIAAoAlhBmw82AhggACgCUEHR/gA2AgQMIAsgACgCUCgCFEGAwANxBEAgACgCWEGgCTYCGCAAKAJQQdH+ADYCBAwgCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8QQh2QQFxNgIACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4IAAoAlBBtv4ANgIECwNAIAAoAjhBIEkEQCAAKAJERQ0fIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIECwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAIAAoAjxBEHY6AA4gACAAKAI8QRh2OgAPIAAoAlAoAhwgAEEMakEEEBohASAAKAJQIAE2AhwLIABBADYCPCAAQQA2AjggACgCUEG3/gA2AgQLA0AgACgCOEEQSQRAIAAoAkRFDR4gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAoAiQEQCAAKAJQKAIkIAAoAjxB/wFxNgIIIAAoAlAoAiQgACgCPEEIdjYCDAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAgACgCPDoADCAAIAAoAjxBCHY6AA0gACgCUCgCHCAAQQxqQQIQGiEBIAAoAlAgATYCHAsgAEEANgI8IABBADYCOCAAKAJQQbj+ADYCBAsCQCAAKAJQKAIUQYAIcQRAA0AgACgCOEEQSQRAIAAoAkRFDR8gACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPDYCRCAAKAJQKAIkBEAgACgCUCgCJCAAKAI8NgIUCwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACAAKAI8OgAMIAAgACgCPEEIdjoADSAAKAJQKAIcIABBDGpBAhAaIQEgACgCUCABNgIcCyAAQQA2AjwgAEEANgI4DAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AhALCyAAKAJQQbn+ADYCBAsgACgCUCgCFEGACHEEQCAAIAAoAlAoAkQ2AiwgACgCLCAAKAJESwRAIAAgACgCRDYCLAsgACgCLARAAkAgACgCUCgCJEUNACAAKAJQKAIkKAIQRQ0AIAAgACgCUCgCJCgCFCAAKAJQKAJEazYCFCAAKAJQKAIkKAIQIAAoAhRqIAAoAkwCfyAAKAJQKAIkKAIYIAAoAhQgACgCLGpJBEAgACgCUCgCJCgCGCAAKAIUawwBCyAAKAIsCxAZGgsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCUCIBIAEoAkQgACgCLGs2AkQLIAAoAlAoAkQNGwsgACgCUEEANgJEIAAoAlBBuv4ANgIECwJAIAAoAlAoAhRBgBBxBEAgACgCREUNGyAAQQA2AiwDQCAAKAJMIQEgACAAKAIsIgJBAWo2AiwgACABIAJqLQAANgIUAkAgACgCUCgCJEUNACAAKAJQKAIkKAIcRQ0AIAAoAlAoAkQgACgCUCgCJCgCIE8NACAAKAIUIQIgACgCUCgCJCgCHCEDIAAoAlAiBCgCRCEBIAQgAUEBajYCRCABIANqIAI6AAALIAAoAhQEfyAAKAIsIAAoAkRJBUEAC0EBcQ0ACwJAIAAoAlAoAhRBgARxRQ0AIAAoAlAoAgxBBHFFDQAgACgCUCgCHCAAKAJMIAAoAiwQGiEBIAAoAlAgATYCHAsgACAAKAJEIAAoAixrNgJEIAAgACgCLCAAKAJMajYCTCAAKAIUDRsMAQsgACgCUCgCJARAIAAoAlAoAiRBADYCHAsLIAAoAlBBADYCRCAAKAJQQbv+ADYCBAsCQCAAKAJQKAIUQYAgcQRAIAAoAkRFDRogAEEANgIsA0AgACgCTCEBIAAgACgCLCICQQFqNgIsIAAgASACai0AADYCFAJAIAAoAlAoAiRFDQAgACgCUCgCJCgCJEUNACAAKAJQKAJEIAAoAlAoAiQoAihPDQAgACgCFCECIAAoAlAoAiQoAiQhAyAAKAJQIgQoAkQhASAEIAFBAWo2AkQgASADaiACOgAACyAAKAIUBH8gACgCLCAAKAJESQVBAAtBAXENAAsCQCAAKAJQKAIUQYAEcUUNACAAKAJQKAIMQQRxRQ0AIAAoAlAoAhwgACgCTCAAKAIsEBohASAAKAJQIAE2AhwLIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACgCFA0aDAELIAAoAlAoAiQEQCAAKAJQKAIkQQA2AiQLCyAAKAJQQbz+ADYCBAsgACgCUCgCFEGABHEEQANAIAAoAjhBEEkEQCAAKAJERQ0aIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCwJAIAAoAlAoAgxBBHFFDQAgACgCPCAAKAJQKAIcQf//A3FGDQAgACgCWEH7DDYCGCAAKAJQQdH+ADYCBAwaCyAAQQA2AjwgAEEANgI4CyAAKAJQKAIkBEAgACgCUCgCJCAAKAJQKAIUQQl1QQFxNgIsIAAoAlAoAiRBATYCMAtBAEEAQQAQGiEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQMGAsDQCAAKAI4QSBJBEAgACgCREUNGCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCUCAAKAI8QQh2QYD+A3EgACgCPEEYdmogACgCPEGA/gNxQQh0aiAAKAI8Qf8BcUEYdGoiATYCHCAAKAJYIAE2AjAgAEEANgI8IABBADYCOCAAKAJQQb7+ADYCBAsgACgCUCgCEEUEQCAAKAJYIAAoAkg2AgwgACgCWCAAKAJANgIQIAAoAlggACgCTDYCACAAKAJYIAAoAkQ2AgQgACgCUCAAKAI8NgI8IAAoAlAgACgCODYCQCAAQQI2AlwMGAtBAEEAQQAQPSEBIAAoAlAgATYCHCAAKAJYIAE2AjAgACgCUEG//gA2AgQLIAAoAlRBBUYNFCAAKAJUQQZGDRQLIAAoAlAoAggEQCAAIAAoAjwgACgCOEEHcXY2AjwgACAAKAI4IAAoAjhBB3FrNgI4IAAoAlBBzv4ANgIEDBULA0AgACgCOEEDSQRAIAAoAkRFDRUgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAlAgACgCPEEBcTYCCCAAIAAoAjxBAXY2AjwgACAAKAI4QQFrNgI4AkACQAJAAkACQCAAKAI8QQNxDgQAAQIDBAsgACgCUEHB/gA2AgQMAwsjAEEQayIBIAAoAlA2AgwgASgCDEGw8gA2AlAgASgCDEEJNgJYIAEoAgxBsIIBNgJUIAEoAgxBBTYCXCAAKAJQQcf+ADYCBCAAKAJUQQZGBEAgACAAKAI8QQJ2NgI8IAAgACgCOEECazYCOAwXCwwCCyAAKAJQQcT+ADYCBAwBCyAAKAJYQfANNgIYIAAoAlBB0f4ANgIECyAAIAAoAjxBAnY2AjwgACAAKAI4QQJrNgI4DBQLIAAgACgCPCAAKAI4QQdxdjYCPCAAIAAoAjggACgCOEEHcWs2AjgDQCAAKAI4QSBJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACgCPEH//wNxIAAoAjxBEHZB//8Dc0cEQCAAKAJYQaEKNgIYIAAoAlBB0f4ANgIEDBQLIAAoAlAgACgCPEH//wNxNgJEIABBADYCPCAAQQA2AjggACgCUEHC/gA2AgQgACgCVEEGRg0SCyAAKAJQQcP+ADYCBAsgACAAKAJQKAJENgIsIAAoAiwEQCAAKAIsIAAoAkRLBEAgACAAKAJENgIsCyAAKAIsIAAoAkBLBEAgACAAKAJANgIsCyAAKAIsRQ0RIAAoAkggACgCTCAAKAIsEBkaIAAgACgCRCAAKAIsazYCRCAAIAAoAiwgACgCTGo2AkwgACAAKAJAIAAoAixrNgJAIAAgACgCLCAAKAJIajYCSCAAKAJQIgEgASgCRCAAKAIsazYCRAwSCyAAKAJQQb/+ADYCBAwRCwNAIAAoAjhBDkkEQCAAKAJERQ0RIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAKAJQIAAoAjxBH3FBgQJqNgJkIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QR9xQQFqNgJoIAAgACgCPEEFdjYCPCAAIAAoAjhBBWs2AjggACgCUCAAKAI8QQ9xQQRqNgJgIAAgACgCPEEEdjYCPCAAIAAoAjhBBGs2AjgCQCAAKAJQKAJkQZ4CTQRAIAAoAlAoAmhBHk0NAQsgACgCWEH9CTYCGCAAKAJQQdH+ADYCBAwRCyAAKAJQQQA2AmwgACgCUEHF/gA2AgQLA0AgACgCUCgCbCAAKAJQKAJgSQRAA0AgACgCOEEDSQRAIAAoAkRFDRIgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLIAAoAjxBB3EhAiAAKAJQQfQAaiEDIAAoAlAiBCgCbCEBIAQgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgA2ogAjsBACAAIAAoAjxBA3Y2AjwgACAAKAI4QQNrNgI4DAELCwNAIAAoAlAoAmxBE0kEQCAAKAJQQfQAaiECIAAoAlAiAygCbCEBIAMgAUEBajYCbCABQQF0QYDyAGovAQBBAXQgAmpBADsBAAwBCwsgACgCUCAAKAJQQbQKajYCcCAAKAJQIAAoAlAoAnA2AlAgACgCUEEHNgJYIABBACAAKAJQQfQAakETIAAoAlBB8ABqIAAoAlBB2ABqIAAoAlBB9AVqEHU2AhAgACgCEARAIAAoAlhBhwk2AhggACgCUEHR/gA2AgQMEAsgACgCUEEANgJsIAAoAlBBxv4ANgIECwNAAkAgACgCUCgCbCAAKAJQKAJkIAAoAlAoAmhqTw0AA0ACQCAAIAAoAlAoAlAgACgCPEEBIAAoAlAoAlh0QQFrcUECdGooAQA2ASAgAC0AISAAKAI4TQ0AIAAoAkRFDREgACAAKAJEQQFrNgJEIAAgACgCTCIBQQFqNgJMIAAgACgCPCABLQAAIAAoAjh0ajYCPCAAIAAoAjhBCGo2AjgMAQsLAkAgAC8BIkEQSQRAIAAgACgCPCAALQAhdjYCPCAAIAAoAjggAC0AIWs2AjggAC8BIiECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwJAIAAvASJBEEYEQANAIAAoAjggAC0AIUECakkEQCAAKAJERQ0UIAAgACgCREEBazYCRCAAIAAoAkwiAUEBajYCTCAAIAAoAjwgAS0AACAAKAI4dGo2AjwgACAAKAI4QQhqNgI4DAELCyAAIAAoAjwgAC0AIXY2AjwgACAAKAI4IAAtACFrNgI4IAAoAlAoAmxFBEAgACgCWEHPCTYCGCAAKAJQQdH+ADYCBAwECyAAIAAoAlAgACgCUCgCbEEBdGovAXI2AhQgACAAKAI8QQNxQQNqNgIsIAAgACgCPEECdjYCPCAAIAAoAjhBAms2AjgMAQsCQCAALwEiQRFGBEADQCAAKAI4IAAtACFBA2pJBEAgACgCREUNFSAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8QQdxQQNqNgIsIAAgACgCPEEDdjYCPCAAIAAoAjhBA2s2AjgMAQsDQCAAKAI4IAAtACFBB2pJBEAgACgCREUNFCAAIAAoAkRBAWs2AkQgACAAKAJMIgFBAWo2AkwgACAAKAI8IAEtAAAgACgCOHRqNgI8IAAgACgCOEEIajYCOAwBCwsgACAAKAI8IAAtACF2NgI8IAAgACgCOCAALQAhazYCOCAAQQA2AhQgACAAKAI8Qf8AcUELajYCLCAAIAAoAjxBB3Y2AjwgACAAKAI4QQdrNgI4CwsgACgCUCgCbCAAKAIsaiAAKAJQKAJkIAAoAlAoAmhqSwRAIAAoAlhBzwk2AhggACgCUEHR/gA2AgQMAgsDQCAAIAAoAiwiAUEBazYCLCABBEAgACgCFCECIAAoAlBB9ABqIQMgACgCUCIEKAJsIQEgBCABQQFqNgJsIAFBAXQgA2ogAjsBAAwBCwsLDAELCyAAKAJQKAIEQdH+AEYNDiAAKAJQLwH0BEUEQCAAKAJYQfULNgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUEG0Cmo2AnAgACgCUCAAKAJQKAJwNgJQIAAoAlBBCTYCWCAAQQEgACgCUEH0AGogACgCUCgCZCAAKAJQQfAAaiAAKAJQQdgAaiAAKAJQQfQFahB1NgIQIAAoAhAEQCAAKAJYQesINgIYIAAoAlBB0f4ANgIEDA8LIAAoAlAgACgCUCgCcDYCVCAAKAJQQQY2AlwgAEECIAAoAlBB9ABqIAAoAlAoAmRBAXRqIAAoAlAoAmggACgCUEHwAGogACgCUEHcAGogACgCUEH0BWoQdTYCECAAKAIQBEAgACgCWEG5CTYCGCAAKAJQQdH+ADYCBAwPCyAAKAJQQcf+ADYCBCAAKAJUQQZGDQ0LIAAoAlBByP4ANgIECwJAIAAoAkRBBkkNACAAKAJAQYICSQ0AIAAoAlggACgCSDYCDCAAKAJYIAAoAkA2AhAgACgCWCAAKAJMNgIAIAAoAlggACgCRDYCBCAAKAJQIAAoAjw2AjwgACgCUCAAKAI4NgJAIAAoAjAhAiMAQeAAayIBIAAoAlg2AlwgASACNgJYIAEgASgCXCgCHDYCVCABIAEoAlwoAgA2AlAgASABKAJQIAEoAlwoAgRBBWtqNgJMIAEgASgCXCgCDDYCSCABIAEoAkggASgCWCABKAJcKAIQa2s2AkQgASABKAJIIAEoAlwoAhBBgQJrajYCQCABIAEoAlQoAiw2AjwgASABKAJUKAIwNgI4IAEgASgCVCgCNDYCNCABIAEoAlQoAjg2AjAgASABKAJUKAI8NgIsIAEgASgCVCgCQDYCKCABIAEoAlQoAlA2AiQgASABKAJUKAJUNgIgIAFBASABKAJUKAJYdEEBazYCHCABQQEgASgCVCgCXHRBAWs2AhgDQCABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiQgASgCLCABKAIccUECdGooAQA2ARACQAJAA0AgASABLQARNgIMIAEgASgCLCABKAIMdjYCLCABIAEoAiggASgCDGs2AiggASABLQAQNgIMIAEoAgxFBEAgAS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8=";Fu(So)||(So=h(So));function Nu(d){try{if(d==So&&W)return new Uint8Array(W);var E=ba(d);if(E)return E;if(m)return m(d);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(I){Sr(I)}}function Qh(d,E){var I,D,O;try{O=Nu(d),D=new WebAssembly.Module(O),I=new WebAssembly.Instance(D,E)}catch(ie){var V=ie.toString();throw x("failed to compile wasm module: "+V),(V.includes("imported Memory")||V.includes("memory import"))&&x("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),ie}return[I,D]}function vh(){var d={a:Qa};function E(O,V){var ie=O.exports;r.asm=ie,A=r.asm.u,mi(A.buffer),Qr=r.asm.pa,SA(r.asm.v),PA("wasm-instantiate")}if(xA("wasm-instantiate"),r.instantiateWasm)try{var I=r.instantiateWasm(d,E);return I}catch(O){return x("Module.instantiateWasm callback failed with error: "+O),!1}var D=Qh(So,d);return E(D[0]),r.asm}var oe,Oi;function ko(d){for(;d.length>0;){var E=d.shift();if(typeof E=="function"){E(r);continue}var I=E.func;typeof I=="number"?E.arg===void 0?Qr.get(I)():Qr.get(I)(E.arg):I(E.arg===void 0?null:E.arg)}}function jn(d,E){var I=new Date(fe[d>>2]*1e3);fe[E>>2]=I.getUTCSeconds(),fe[E+4>>2]=I.getUTCMinutes(),fe[E+8>>2]=I.getUTCHours(),fe[E+12>>2]=I.getUTCDate(),fe[E+16>>2]=I.getUTCMonth(),fe[E+20>>2]=I.getUTCFullYear()-1900,fe[E+24>>2]=I.getUTCDay(),fe[E+36>>2]=0,fe[E+32>>2]=0;var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),O=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[E+28>>2]=O,jn.GMTString||(jn.GMTString=Fe("GMT")),fe[E+40>>2]=jn.GMTString,E}function Lu(d,E){return jn(d,E)}var vt={splitPath:function(d){var E=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return E.exec(d).slice(1)},normalizeArray:function(d,E){for(var I=0,D=d.length-1;D>=0;D--){var O=d[D];O==="."?d.splice(D,1):O===".."?(d.splice(D,1),I++):I&&(d.splice(D,1),I--)}if(E)for(;I;I--)d.unshift("..");return d},normalize:function(d){var E=d.charAt(0)==="/",I=d.substr(-1)==="/";return d=vt.normalizeArray(d.split("/").filter(function(D){return!!D}),!E).join("/"),!d&&!E&&(d="."),d&&I&&(d+="/"),(E?"/":"")+d},dirname:function(d){var E=vt.splitPath(d),I=E[0],D=E[1];return!I&&!D?".":(D&&(D=D.substr(0,D.length-1)),I+D)},basename:function(d){if(d==="/")return"/";d=vt.normalize(d),d=d.replace(/\/$/,"");var E=d.lastIndexOf("/");return E===-1?d:d.substr(E+1)},extname:function(d){return vt.splitPath(d)[3]},join:function(){var d=Array.prototype.slice.call(arguments,0);return vt.normalize(d.join("/"))},join2:function(d,E){return vt.normalize(d+"/"+E)}};function Gl(){if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function"){var d=new Uint8Array(1);return function(){return crypto.getRandomValues(d),d[0]}}else if(g)try{var E=require("crypto");return function(){return E.randomBytes(1)[0]}}catch(I){}return function(){Sr("randomDevice")}}var Gn={resolve:function(){for(var d="",E=!1,I=arguments.length-1;I>=-1&&!E;I--){var D=I>=0?arguments[I]:v.cwd();if(typeof D!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!D)return"";d=D+"/"+d,E=D.charAt(0)==="/"}return d=vt.normalizeArray(d.split("/").filter(function(O){return!!O}),!E).join("/"),(E?"/":"")+d||"."},relative:function(d,E){d=Gn.resolve(d).substr(1),E=Gn.resolve(E).substr(1);function I(_e){for(var ot=0;ot<_e.length&&_e[ot]==="";ot++);for(var wt=_e.length-1;wt>=0&&_e[wt]==="";wt--);return ot>wt?[]:_e.slice(ot,wt-ot+1)}for(var D=I(d.split("/")),O=I(E.split("/")),V=Math.min(D.length,O.length),ie=V,Be=0;Be0?E=D.slice(0,O).toString("utf-8"):E=null}else typeof window!="undefined"&&typeof window.prompt=="function"?(E=window.prompt("Input: "),E!==null&&(E+=` +`)):typeof readline=="function"&&(E=readline(),E!==null&&(E+=` +`));if(!E)return null;d.input=RA(E,!0)}return d.input.shift()},put_char:function(d,E){E===null||E===10?(S(qe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(S(qe(d.output,0)),d.output=[])}},default_tty1_ops:{put_char:function(d,E){E===null||E===10?(x(qe(d.output,0)),d.output=[]):E!=0&&d.output.push(E)},flush:function(d){d.output&&d.output.length>0&&(x(qe(d.output,0)),d.output=[])}}};function hs(d){for(var E=Y(d,65536),I=Et(E);d=E)){var D=1024*1024;E=Math.max(E,I*(I>>0),I!=0&&(E=Math.max(E,256));var O=d.contents;d.contents=new Uint8Array(E),d.usedBytes>0&&d.contents.set(O.subarray(0,d.usedBytes),0)}},resizeFileStorage:function(d,E){if(d.usedBytes!=E)if(E==0)d.contents=null,d.usedBytes=0;else{var I=d.contents;d.contents=new Uint8Array(E),I&&d.contents.set(I.subarray(0,Math.min(E,d.usedBytes))),d.usedBytes=E}},node_ops:{getattr:function(d){var E={};return E.dev=v.isChrdev(d.mode)?d.id:1,E.ino=d.id,E.mode=d.mode,E.nlink=1,E.uid=0,E.gid=0,E.rdev=d.rdev,v.isDir(d.mode)?E.size=4096:v.isFile(d.mode)?E.size=d.usedBytes:v.isLink(d.mode)?E.size=d.link.length:E.size=0,E.atime=new Date(d.timestamp),E.mtime=new Date(d.timestamp),E.ctime=new Date(d.timestamp),E.blksize=4096,E.blocks=Math.ceil(E.size/E.blksize),E},setattr:function(d,E){E.mode!==void 0&&(d.mode=E.mode),E.timestamp!==void 0&&(d.timestamp=E.timestamp),E.size!==void 0&&pt.resizeFileStorage(d,E.size)},lookup:function(d,E){throw v.genericErrors[44]},mknod:function(d,E,I,D){return pt.createNode(d,E,I,D)},rename:function(d,E,I){if(v.isDir(d.mode)){var D;try{D=v.lookupNode(E,I)}catch(V){}if(D)for(var O in D.contents)throw new v.ErrnoError(55)}delete d.parent.contents[d.name],d.parent.timestamp=Date.now(),d.name=I,E.contents[I]=d,E.timestamp=d.parent.timestamp,d.parent=E},unlink:function(d,E){delete d.contents[E],d.timestamp=Date.now()},rmdir:function(d,E){var I=v.lookupNode(d,E);for(var D in I.contents)throw new v.ErrnoError(55);delete d.contents[E],d.timestamp=Date.now()},readdir:function(d){var E=[".",".."];for(var I in d.contents)!d.contents.hasOwnProperty(I)||E.push(I);return E},symlink:function(d,E,I){var D=pt.createNode(d,E,511|40960,0);return D.link=I,D},readlink:function(d){if(!v.isLink(d.mode))throw new v.ErrnoError(28);return d.link}},stream_ops:{read:function(d,E,I,D,O){var V=d.node.contents;if(O>=d.node.usedBytes)return 0;var ie=Math.min(d.node.usedBytes-O,D);if(ie>8&&V.subarray)E.set(V.subarray(O,O+ie),I);else for(var Be=0;Be0||D+I>2)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}return E.mode},realPath:function(d){for(var E=[];d.parent!==d;)E.push(d.name),d=d.parent;return E.push(d.mount.opts.root),E.reverse(),vt.join.apply(null,E)},flagsForNode:function(d){d&=~2097152,d&=~2048,d&=~32768,d&=~524288;var E=0;for(var I in lt.flagsForNodeMap)d&I&&(E|=lt.flagsForNodeMap[I],d^=I);if(d)throw new v.ErrnoError(28);return E},node_ops:{getattr:function(d){var E=lt.realPath(d),I;try{I=Oe.lstatSync(E)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}return lt.isWindows&&!I.blksize&&(I.blksize=4096),lt.isWindows&&!I.blocks&&(I.blocks=(I.size+I.blksize-1)/I.blksize|0),{dev:I.dev,ino:I.ino,mode:I.mode,nlink:I.nlink,uid:I.uid,gid:I.gid,rdev:I.rdev,size:I.size,atime:I.atime,mtime:I.mtime,ctime:I.ctime,blksize:I.blksize,blocks:I.blocks}},setattr:function(d,E){var I=lt.realPath(d);try{if(E.mode!==void 0&&(Oe.chmodSync(I,E.mode),d.mode=E.mode),E.timestamp!==void 0){var D=new Date(E.timestamp);Oe.utimesSync(I,D,D)}E.size!==void 0&&Oe.truncateSync(I,E.size)}catch(O){throw O.code?new v.ErrnoError(lt.convertNodeCode(O)):O}},lookup:function(d,E){var I=vt.join2(lt.realPath(d),E),D=lt.getMode(I);return lt.createNode(d,E,D)},mknod:function(d,E,I,D){var O=lt.createNode(d,E,I,D),V=lt.realPath(O);try{v.isDir(O.mode)?Oe.mkdirSync(V,O.mode):Oe.writeFileSync(V,"",{mode:O.mode})}catch(ie){throw ie.code?new v.ErrnoError(lt.convertNodeCode(ie)):ie}return O},rename:function(d,E,I){var D=lt.realPath(d),O=vt.join2(lt.realPath(E),I);try{Oe.renameSync(D,O)}catch(V){throw V.code?new v.ErrnoError(lt.convertNodeCode(V)):V}d.name=I},unlink:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Oe.unlinkSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},rmdir:function(d,E){var I=vt.join2(lt.realPath(d),E);try{Oe.rmdirSync(I)}catch(D){throw D.code?new v.ErrnoError(lt.convertNodeCode(D)):D}},readdir:function(d){var E=lt.realPath(d);try{return Oe.readdirSync(E)}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},symlink:function(d,E,I){var D=vt.join2(lt.realPath(d),E);try{Oe.symlinkSync(I,D)}catch(O){throw O.code?new v.ErrnoError(lt.convertNodeCode(O)):O}},readlink:function(d){var E=lt.realPath(d);try{return E=Oe.readlinkSync(E),E=Mu.relative(Mu.resolve(d.mount.opts.root),E),E}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}}},stream_ops:{open:function(d){var E=lt.realPath(d.node);try{v.isFile(d.node.mode)&&(d.nfd=Oe.openSync(E,lt.flagsForNode(d.flags)))}catch(I){throw I.code?new v.ErrnoError(lt.convertNodeCode(I)):I}},close:function(d){try{v.isFile(d.node.mode)&&d.nfd&&Oe.closeSync(d.nfd)}catch(E){throw E.code?new v.ErrnoError(lt.convertNodeCode(E)):E}},read:function(d,E,I,D,O){if(D===0)return 0;try{return Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O)}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}},write:function(d,E,I,D,O){try{return Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O)}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}},llseek:function(d,E,I){var D=E;if(I===1)D+=d.position;else if(I===2&&v.isFile(d.node.mode))try{var O=Oe.fstatSync(d.nfd);D+=O.size}catch(V){throw new v.ErrnoError(lt.convertNodeCode(V))}if(D<0)throw new v.ErrnoError(28);return D},mmap:function(d,E,I,D,O,V){if(E!==0)throw new v.ErrnoError(28);if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);var ie=hs(I);return lt.stream_ops.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,O){if(!v.isFile(d.node.mode))throw new v.ErrnoError(43);if(O&2)return 0;var V=lt.stream_ops.write(d,E,0,D,I,!1);return 0}}},mn={lookupPath:function(d){return{path:d,node:{mode:lt.getMode(d)}}},createStandardStreams:function(){v.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var d=1;d<3;d++)v.streams[d]={fd:d,nfd:d,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(d,E){v.isDir(d)?Oe.mkdirSync(d,E):Oe.writeFileSync(d,"",{mode:E})},mkdir:function(){Oe.mkdirSync.apply(void 0,arguments)},symlink:function(){Oe.symlinkSync.apply(void 0,arguments)},rename:function(){Oe.renameSync.apply(void 0,arguments)},rmdir:function(){Oe.rmdirSync.apply(void 0,arguments)},readdir:function(){Oe.readdirSync.apply(void 0,arguments)},unlink:function(){Oe.unlinkSync.apply(void 0,arguments)},readlink:function(){return Oe.readlinkSync.apply(void 0,arguments)},stat:function(){return Oe.statSync.apply(void 0,arguments)},lstat:function(){return Oe.lstatSync.apply(void 0,arguments)},chmod:function(){Oe.chmodSync.apply(void 0,arguments)},fchmod:function(){Oe.fchmodSync.apply(void 0,arguments)},chown:function(){Oe.chownSync.apply(void 0,arguments)},fchown:function(){Oe.fchownSync.apply(void 0,arguments)},truncate:function(){Oe.truncateSync.apply(void 0,arguments)},ftruncate:function(d,E){if(E<0)throw new v.ErrnoError(28);Oe.ftruncateSync.apply(void 0,arguments)},utime:function(){Oe.utimesSync.apply(void 0,arguments)},open:function(d,E,I,D){typeof E=="string"&&(E=Xs.modeStringToFlags(E));var O=Oe.openSync(d,lt.flagsForNode(E),I),V=D!=null?D:v.nextfd(O),ie={fd:V,nfd:O,position:0,path:d,flags:E,seekable:!0};return v.streams[V]=ie,ie},close:function(d){d.stream_ops||Oe.closeSync(d.nfd),v.closeStream(d.fd)},llseek:function(d,E,I){if(d.stream_ops)return Xs.llseek(d,E,I);var D=E;if(I===1)D+=d.position;else if(I===2)D+=Oe.fstatSync(d.nfd).size;else if(I!==0)throw new v.ErrnoError(xo.EINVAL);if(D<0)throw new v.ErrnoError(xo.EINVAL);return d.position=D,D},read:function(d,E,I,D,O){if(d.stream_ops)return Xs.read(d,E,I,D,O);var V=typeof O!="undefined";!V&&d.seekable&&(O=d.position);var ie=Oe.readSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O);return V||(d.position+=ie),ie},write:function(d,E,I,D,O){if(d.stream_ops)return Xs.write(d,E,I,D,O);d.flags&+"1024"&&v.llseek(d,0,+"2");var V=typeof O!="undefined";!V&&d.seekable&&(O=d.position);var ie=Oe.writeSync(d.nfd,lt.bufferFrom(E.buffer),I,D,O);return V||(d.position+=ie),ie},allocate:function(){throw new v.ErrnoError(xo.EOPNOTSUPP)},mmap:function(d,E,I,D,O,V){if(d.stream_ops)return Xs.mmap(d,E,I,D,O,V);if(E!==0)throw new v.ErrnoError(28);var ie=hs(I);return v.read(d,pe,ie,I,D),{ptr:ie,allocated:!0}},msync:function(d,E,I,D,O){return d.stream_ops?Xs.msync(d,E,I,D,O):(O&2||v.write(d,E,0,D,I),0)},munmap:function(){return 0},ioctl:function(){throw new v.ErrnoError(xo.ENOTTY)}},v={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(d,E){if(d=Gn.resolve(v.cwd(),d),E=E||{},!d)return{path:"",node:null};var I={follow_mount:!0,recurse_count:0};for(var D in I)E[D]===void 0&&(E[D]=I[D]);if(E.recurse_count>8)throw new v.ErrnoError(32);for(var O=vt.normalizeArray(d.split("/").filter(function(ut){return!!ut}),!1),V=v.root,ie="/",Be=0;Be40)throw new v.ErrnoError(32)}}return{path:ie,node:V}},getPath:function(d){for(var E;;){if(v.isRoot(d)){var I=d.mount.mountpoint;return E?I[I.length-1]!=="/"?I+"/"+E:I+E:I}E=E?d.name+"/"+E:d.name,d=d.parent}},hashName:function(d,E){for(var I=0,D=0;D>>0)%v.nameTable.length},hashAddNode:function(d){var E=v.hashName(d.parent.id,d.name);d.name_next=v.nameTable[E],v.nameTable[E]=d},hashRemoveNode:function(d){var E=v.hashName(d.parent.id,d.name);if(v.nameTable[E]===d)v.nameTable[E]=d.name_next;else for(var I=v.nameTable[E];I;){if(I.name_next===d){I.name_next=d.name_next;break}I=I.name_next}},lookupNode:function(d,E){var I=v.mayLookup(d);if(I)throw new v.ErrnoError(I,d);for(var D=v.hashName(d.id,E),O=v.nameTable[D];O;O=O.name_next){var V=O.name;if(O.parent.id===d.id&&V===E)return O}return v.lookup(d,E)},createNode:function(d,E,I,D){var O=new v.FSNode(d,E,I,D);return v.hashAddNode(O),O},destroyNode:function(d){v.hashRemoveNode(d)},isRoot:function(d){return d===d.parent},isMountpoint:function(d){return!!d.mounted},isFile:function(d){return(d&61440)==32768},isDir:function(d){return(d&61440)==16384},isLink:function(d){return(d&61440)==40960},isChrdev:function(d){return(d&61440)==8192},isBlkdev:function(d){return(d&61440)==24576},isFIFO:function(d){return(d&61440)==4096},isSocket:function(d){return(d&49152)==49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(d){var E=v.flagModes[d];if(typeof E=="undefined")throw new Error("Unknown file open mode: "+d);return E},flagsToPermissionString:function(d){var E=["r","w","rw"][d&3];return d&512&&(E+="w"),E},nodePermissions:function(d,E){return v.ignorePermissions?0:E.includes("r")&&!(d.mode&292)||E.includes("w")&&!(d.mode&146)||E.includes("x")&&!(d.mode&73)?2:0},mayLookup:function(d){var E=v.nodePermissions(d,"x");return E||(d.node_ops.lookup?0:2)},mayCreate:function(d,E){try{var I=v.lookupNode(d,E);return 20}catch(D){}return v.nodePermissions(d,"wx")},mayDelete:function(d,E,I){var D;try{D=v.lookupNode(d,E)}catch(V){return V.errno}var O=v.nodePermissions(d,"wx");if(O)return O;if(I){if(!v.isDir(D.mode))return 54;if(v.isRoot(D)||v.getPath(D)===v.cwd())return 10}else if(v.isDir(D.mode))return 31;return 0},mayOpen:function(d,E){return d?v.isLink(d.mode)?32:v.isDir(d.mode)&&(v.flagsToPermissionString(E)!=="r"||E&512)?31:v.nodePermissions(d,v.flagsToPermissionString(E)):44},MAX_OPEN_FDS:4096,nextfd:function(d,E){d=d||0,E=E||v.MAX_OPEN_FDS;for(var I=d;I<=E;I++)if(!v.streams[I])return I;throw new v.ErrnoError(33)},getStream:function(d){return v.streams[d]},createStream:function(d,E,I){v.FSStream||(v.FSStream=function(){},v.FSStream.prototype={object:{get:function(){return this.node},set:function(ie){this.node=ie}},isRead:{get:function(){return(this.flags&2097155)!=1}},isWrite:{get:function(){return(this.flags&2097155)!=0}},isAppend:{get:function(){return this.flags&1024}}});var D=new v.FSStream;for(var O in d)D[O]=d[O];d=D;var V=v.nextfd(E,I);return d.fd=V,v.streams[V]=d,d},closeStream:function(d){v.streams[d]=null},chrdev_stream_ops:{open:function(d){var E=v.getDevice(d.node.rdev);d.stream_ops=E.stream_ops,d.stream_ops.open&&d.stream_ops.open(d)},llseek:function(){throw new v.ErrnoError(70)}},major:function(d){return d>>8},minor:function(d){return d&255},makedev:function(d,E){return d<<8|E},registerDevice:function(d,E){v.devices[d]={stream_ops:E}},getDevice:function(d){return v.devices[d]},getMounts:function(d){for(var E=[],I=[d];I.length;){var D=I.pop();E.push(D),I.push.apply(I,D.mounts)}return E},syncfs:function(d,E){typeof d=="function"&&(E=d,d=!1),v.syncFSRequests++,v.syncFSRequests>1&&x("warning: "+v.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var I=v.getMounts(v.root.mount),D=0;function O(ie){return v.syncFSRequests--,E(ie)}function V(ie){if(ie)return V.errored?void 0:(V.errored=!0,O(ie));++D>=I.length&&O(null)}I.forEach(function(ie){if(!ie.type.syncfs)return V(null);ie.type.syncfs(ie,d,V)})},mount:function(d,E,I){var D=I==="/",O=!I,V;if(D&&v.root)throw new v.ErrnoError(10);if(!D&&!O){var ie=v.lookupPath(I,{follow_mount:!1});if(I=ie.path,V=ie.node,v.isMountpoint(V))throw new v.ErrnoError(10);if(!v.isDir(V.mode))throw new v.ErrnoError(54)}var Be={type:d,opts:E,mountpoint:I,mounts:[]},Ce=d.mount(Be);return Ce.mount=Be,Be.root=Ce,D?v.root=Ce:V&&(V.mounted=Be,V.mount&&V.mount.mounts.push(Be)),Ce},unmount:function(d){var E=v.lookupPath(d,{follow_mount:!1});if(!v.isMountpoint(E.node))throw new v.ErrnoError(28);var I=E.node,D=I.mounted,O=v.getMounts(D);Object.keys(v.nameTable).forEach(function(ie){for(var Be=v.nameTable[ie];Be;){var Ce=Be.name_next;O.includes(Be.mount)&&v.destroyNode(Be),Be=Ce}}),I.mounted=null;var V=I.mount.mounts.indexOf(D);I.mount.mounts.splice(V,1)},lookup:function(d,E){return d.node_ops.lookup(d,E)},mknod:function(d,E,I){var D=v.lookupPath(d,{parent:!0}),O=D.node,V=vt.basename(d);if(!V||V==="."||V==="..")throw new v.ErrnoError(28);var ie=v.mayCreate(O,V);if(ie)throw new v.ErrnoError(ie);if(!O.node_ops.mknod)throw new v.ErrnoError(63);return O.node_ops.mknod(O,V,E,I)},create:function(d,E){return E=E!==void 0?E:438,E&=4095,E|=32768,v.mknod(d,E,0)},mkdir:function(d,E){return E=E!==void 0?E:511,E&=511|512,E|=16384,v.mknod(d,E,0)},mkdirTree:function(d,E){for(var I=d.split("/"),D="",O=0;Othis.length-1||ut<0)){var nt=ut%this.chunkSize,It=ut/this.chunkSize|0;return this.getter(It)[nt]}},V.prototype.setDataGetter=function(ut){this.getter=ut},V.prototype.cacheLength=function(){var ut=new XMLHttpRequest;if(ut.open("HEAD",I,!1),ut.send(null),!(ut.status>=200&&ut.status<300||ut.status===304))throw new Error("Couldn't load "+I+". Status: "+ut.status);var nt=Number(ut.getResponseHeader("Content-length")),It,ke=(It=ut.getResponseHeader("Accept-Ranges"))&&It==="bytes",Jn=(It=ut.getResponseHeader("Content-Encoding"))&&It==="gzip",Mi=1024*1024;ke||(Mi=nt);var OA=function(ps,va){if(ps>va)throw new Error("invalid range ("+ps+", "+va+") or no bytes requested!");if(va>nt-1)throw new Error("only "+nt+" bytes available! programmer error!");var Yr=new XMLHttpRequest;if(Yr.open("GET",I,!1),nt!==Mi&&Yr.setRequestHeader("Range","bytes="+ps+"-"+va),typeof Uint8Array!="undefined"&&(Yr.responseType="arraybuffer"),Yr.overrideMimeType&&Yr.overrideMimeType("text/plain; charset=x-user-defined"),Yr.send(null),!(Yr.status>=200&&Yr.status<300||Yr.status===304))throw new Error("Couldn't load "+I+". Status: "+Yr.status);return Yr.response!==void 0?new Uint8Array(Yr.response||[]):RA(Yr.responseText||"",!0)},Gr=this;Gr.setDataGetter(function(ps){var va=ps*Mi,Yr=(ps+1)*Mi-1;if(Yr=Math.min(Yr,nt-1),typeof Gr.chunks[ps]=="undefined"&&(Gr.chunks[ps]=OA(va,Yr)),typeof Gr.chunks[ps]=="undefined")throw new Error("doXHR failed!");return Gr.chunks[ps]}),(Jn||!nt)&&(Mi=nt=1,nt=this.getter(0).length,Mi=nt,S("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=nt,this._chunkSize=Mi,this.lengthKnown=!0},typeof XMLHttpRequest!="undefined"){if(!u)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var ie=new V;Object.defineProperties(ie,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var Be={isDevice:!1,contents:ie}}else var Be={isDevice:!1,url:I};var Ce=v.createFile(d,E,Be,D,O);Be.contents?Ce.contents=Be.contents:Be.url&&(Ce.contents=null,Ce.url=Be.url),Object.defineProperties(Ce,{usedBytes:{get:function(){return this.contents.length}}});var _e={},ot=Object.keys(Ce.stream_ops);return ot.forEach(function(wt){var ut=Ce.stream_ops[wt];_e[wt]=function(){return v.forceLoadFile(Ce),ut.apply(null,arguments)}}),_e.read=function(ut,nt,It,ke,Jn){v.forceLoadFile(Ce);var Mi=ut.node.contents;if(Jn>=Mi.length)return 0;var OA=Math.min(Mi.length-Jn,ke);if(Mi.slice)for(var Gr=0;Gr>2]=D.dev,fe[I+4>>2]=0,fe[I+8>>2]=D.ino,fe[I+12>>2]=D.mode,fe[I+16>>2]=D.nlink,fe[I+20>>2]=D.uid,fe[I+24>>2]=D.gid,fe[I+28>>2]=D.rdev,fe[I+32>>2]=0,Oi=[D.size>>>0,(oe=D.size,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[I+40>>2]=Oi[0],fe[I+44>>2]=Oi[1],fe[I+48>>2]=4096,fe[I+52>>2]=D.blocks,fe[I+56>>2]=D.atime.getTime()/1e3|0,fe[I+60>>2]=0,fe[I+64>>2]=D.mtime.getTime()/1e3|0,fe[I+68>>2]=0,fe[I+72>>2]=D.ctime.getTime()/1e3|0,fe[I+76>>2]=0,Oi=[D.ino>>>0,(oe=D.ino,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[I+80>>2]=Oi[0],fe[I+84>>2]=Oi[1],0},doMsync:function(d,E,I,D,O){var V=X.slice(d,d+I);v.msync(E,V,O,I,D)},doMkdir:function(d,E){return d=vt.normalize(d),d[d.length-1]==="/"&&(d=d.substr(0,d.length-1)),v.mkdir(d,E,0),0},doMknod:function(d,E,I){switch(E&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return v.mknod(d,E,I),0},doReadlink:function(d,E,I){if(I<=0)return-28;var D=v.readlink(d),O=Math.min(I,he(D)),V=pe[E+O];return Qe(D,E,I+1),pe[E+O]=V,O},doAccess:function(d,E){if(E&~7)return-28;var I,D=v.lookupPath(d,{follow:!0});if(I=D.node,!I)return-44;var O="";return E&4&&(O+="r"),E&2&&(O+="w"),E&1&&(O+="x"),O&&v.nodePermissions(I,O)?-2:0},doDup:function(d,E,I){var D=v.getStream(I);return D&&v.close(D),v.open(d,E,0,I,I).fd},doReadv:function(d,E,I,D){for(var O=0,V=0;V>2],Be=fe[E+(V*8+4)>>2],Ce=v.read(d,pe,ie,Be,D);if(Ce<0)return-1;if(O+=Ce,Ce>2],Be=fe[E+(V*8+4)>>2],Ce=v.write(d,pe,ie,Be,D);if(Ce<0)return-1;O+=Ce}return O},varargs:void 0,get:function(){Tt.varargs+=4;var d=fe[Tt.varargs-4>>2];return d},getStr:function(d){var E=re(d);return E},getStreamFromFD:function(d){var E=v.getStream(d);if(!E)throw new v.ErrnoError(8);return E},get64:function(d,E){return d}};function Tu(d,E){try{return d=Tt.getStr(d),v.chmod(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function Yl(d){return fe[Rt()>>2]=d,d}function Sh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 0:{var O=Tt.get();if(O<0)return-28;var V;return V=v.open(D.path,D.flags,0,O),V.fd}case 1:case 2:return 0;case 3:return D.flags;case 4:{var O=Tt.get();return D.flags|=O,0}case 12:{var O=Tt.get(),ie=0;return be[O+ie>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Yl(28),-1;default:return-28}}catch(Be){return(typeof v=="undefined"||!(Be instanceof v.ErrnoError))&&Sr(Be),-Be.errno}}function kh(d,E){try{var I=Tt.getStreamFromFD(d);return Tt.doStat(v.stat,I.path,E)}catch(D){return(typeof v=="undefined"||!(D instanceof v.ErrnoError))&&Sr(D),-D.errno}}function xh(d,E,I){Tt.varargs=I;try{var D=Tt.getStreamFromFD(d);switch(E){case 21509:case 21505:return D.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return D.tty?0:-59;case 21519:{if(!D.tty)return-59;var O=Tt.get();return fe[O>>2]=0,0}case 21520:return D.tty?-28:-59;case 21531:{var O=Tt.get();return v.ioctl(D,E,O)}case 21523:return D.tty?0:-59;case 21524:return D.tty?0:-59;default:Sr("bad ioctl syscall "+E)}}catch(V){return(typeof v=="undefined"||!(V instanceof v.ErrnoError))&&Sr(V),-V.errno}}function Ph(d,E,I){Tt.varargs=I;try{var D=Tt.getStr(d),O=I?Tt.get():0,V=v.open(D,E,O);return V.fd}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),-ie.errno}}function Dh(d,E){try{return d=Tt.getStr(d),E=Tt.getStr(E),v.rename(d,E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function G(d){try{return d=Tt.getStr(d),v.rmdir(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function yt(d,E){try{return d=Tt.getStr(d),Tt.doStat(v.stat,d,E)}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),-I.errno}}function DA(d){try{return d=Tt.getStr(d),v.unlink(d),0}catch(E){return(typeof v=="undefined"||!(E instanceof v.ErrnoError))&&Sr(E),-E.errno}}function $i(d,E,I){X.copyWithin(d,E,E+I)}function ql(d){try{return A.grow(d-ve.byteLength+65535>>>16),mi(A.buffer),1}catch(E){}}function $e(d){var E=X.length;d=d>>>0;var I=2147483648;if(d>I)return!1;for(var D=1;D<=4;D*=2){var O=E*(1+.2/D);O=Math.min(O,d+100663296);var V=Math.min(I,xe(Math.max(d,O),65536)),ie=ql(V);if(ie)return!0}return!1}function wa(d){try{var E=Tt.getStreamFromFD(d);return v.close(E),0}catch(I){return(typeof v=="undefined"||!(I instanceof v.ErrnoError))&&Sr(I),I.errno}}function Ou(d,E){try{var I=Tt.getStreamFromFD(d),D=I.tty?2:v.isDir(I.mode)?3:v.isLink(I.mode)?7:4;return pe[E>>0]=D,0}catch(O){return(typeof v=="undefined"||!(O instanceof v.ErrnoError))&&Sr(O),O.errno}}function SE(d,E,I,D){try{var O=Tt.getStreamFromFD(d),V=Tt.doReadv(O,E,I);return fe[D>>2]=V,0}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),ie.errno}}function Rh(d,E,I,D,O){try{var V=Tt.getStreamFromFD(d),ie=4294967296,Be=I*ie+(E>>>0),Ce=9007199254740992;return Be<=-Ce||Be>=Ce?-61:(v.llseek(V,Be,D),Oi=[V.position>>>0,(oe=V.position,+Math.abs(oe)>=1?oe>0?(Math.min(+Math.floor(oe/4294967296),4294967295)|0)>>>0:~~+Math.ceil((oe-+(~~oe>>>0))/4294967296)>>>0:0)],fe[O>>2]=Oi[0],fe[O+4>>2]=Oi[1],V.getdents&&Be===0&&D===0&&(V.getdents=null),0)}catch(_e){return(typeof v=="undefined"||!(_e instanceof v.ErrnoError))&&Sr(_e),_e.errno}}function kE(d,E,I,D){try{var O=Tt.getStreamFromFD(d),V=Tt.doWritev(O,E,I);return fe[D>>2]=V,0}catch(ie){return(typeof v=="undefined"||!(ie instanceof v.ErrnoError))&&Sr(ie),ie.errno}}function gr(d){J(d)}function Yn(d){var E=Date.now()/1e3|0;return d&&(fe[d>>2]=E),E}function Jl(){if(Jl.called)return;Jl.called=!0;var d=new Date().getFullYear(),E=new Date(d,0,1),I=new Date(d,6,1),D=E.getTimezoneOffset(),O=I.getTimezoneOffset(),V=Math.max(D,O);fe[iQ()>>2]=V*60,fe[rQ()>>2]=Number(D!=O);function ie(wt){var ut=wt.toTimeString().match(/\(([A-Za-z ]+)\)$/);return ut?ut[1]:"GMT"}var Be=ie(E),Ce=ie(I),_e=Fe(Be),ot=Fe(Ce);O>2]=_e,fe[Yu()+4>>2]=ot):(fe[Yu()>>2]=ot,fe[Yu()+4>>2]=_e)}function Fh(d){Jl();var E=Date.UTC(fe[d+20>>2]+1900,fe[d+16>>2],fe[d+12>>2],fe[d+8>>2],fe[d+4>>2],fe[d>>2],0),I=new Date(E);fe[d+24>>2]=I.getUTCDay();var D=Date.UTC(I.getUTCFullYear(),0,1,0,0,0,0),O=(I.getTime()-D)/(1e3*60*60*24)|0;return fe[d+28>>2]=O,I.getTime()/1e3|0}var Vs=function(d,E,I,D){d||(d=this),this.parent=d,this.mount=d.mount,this.mounted=null,this.id=v.nextInode++,this.name=E,this.mode=I,this.node_ops={},this.stream_ops={},this.rdev=D},Ba=292|73,En=146;if(Object.defineProperties(Vs.prototype,{read:{get:function(){return(this.mode&Ba)===Ba},set:function(d){d?this.mode|=Ba:this.mode&=~Ba}},write:{get:function(){return(this.mode&En)===En},set:function(d){d?this.mode|=En:this.mode&=~En}},isFolder:{get:function(){return v.isDir(this.mode)}},isDevice:{get:function(){return v.isChrdev(this.mode)}}}),v.FSNode=Vs,v.staticInit(),g){var Oe=W_,Mu=require("path");lt.staticInit()}if(g){var Wl=function(d){return function(){try{return d.apply(this,arguments)}catch(E){throw E.code?new v.ErrnoError(xo[E.code]):E}}},Xs=Object.assign({},v);for(var zl in mn)v[zl]=Wl(mn[zl])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function RA(d,E,I){var D=I>0?I:he(d)+1,O=new Array(D),V=se(d,O,0,O.length);return E&&(O.length=V),O}var Uu=typeof atob=="function"?atob:function(d){var E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",I="",D,O,V,ie,Be,Ce,_e,ot=0;d=d.replace(/[^A-Za-z0-9\+\/\=]/g,"");do ie=E.indexOf(d.charAt(ot++)),Be=E.indexOf(d.charAt(ot++)),Ce=E.indexOf(d.charAt(ot++)),_e=E.indexOf(d.charAt(ot++)),D=ie<<2|Be>>4,O=(Be&15)<<4|Ce>>2,V=(Ce&3)<<6|_e,I=I+String.fromCharCode(D),Ce!==64&&(I=I+String.fromCharCode(O)),_e!==64&&(I=I+String.fromCharCode(V));while(ot0||(vr(),gs>0))return;function E(){Ke||(Ke=!0,r.calledRun=!0,!ne&&(Hn(),i(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),us()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),E()},1)):E()}if(r.run=TA,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return TA(),e}}();typeof Jw=="object"&&typeof XP=="object"?XP.exports=ZP:typeof define=="function"&&define.amd?define([],function(){return ZP}):typeof Jw=="object"&&(Jw.createModule=ZP)});var E5=w((Pat,m5)=>{function GDe(t,e){for(var r=-1,i=t==null?0:t.length,n=Array(i);++r{var YDe=Array.isArray;I5.exports=YDe});var v5=w((Rat,y5)=>{var w5=Kc(),qDe=E5(),JDe=Os(),WDe=Id(),zDe=1/0,B5=w5?w5.prototype:void 0,b5=B5?B5.toString:void 0;function Q5(t){if(typeof t=="string")return t;if(JDe(t))return qDe(t,Q5)+"";if(WDe(t))return b5?b5.call(t):"";var e=t+"";return e=="0"&&1/t==-zDe?"-0":e}y5.exports=Q5});var nf=w((Fat,S5)=>{var _De=v5();function VDe(t){return t==null?"":_De(t)}S5.exports=VDe});var sD=w((Nat,k5)=>{function XDe(t,e,r){var i=-1,n=t.length;e<0&&(e=-e>n?0:n+e),r=r>n?n:r,r<0&&(r+=n),n=e>r?0:r-e>>>0,e>>>=0;for(var s=Array(n);++i{var ZDe=sD();function $De(t,e,r){var i=t.length;return r=r===void 0?i:r,!e&&r>=i?t:ZDe(t,e,r)}x5.exports=$De});var oD=w((Tat,D5)=>{var eRe="\\ud800-\\udfff",tRe="\\u0300-\\u036f",rRe="\\ufe20-\\ufe2f",iRe="\\u20d0-\\u20ff",nRe=tRe+rRe+iRe,sRe="\\ufe0e\\ufe0f",oRe="\\u200d",aRe=RegExp("["+oRe+eRe+nRe+sRe+"]");function ARe(t){return aRe.test(t)}D5.exports=ARe});var F5=w((Oat,R5)=>{function lRe(t){return t.split("")}R5.exports=lRe});var H5=w((Mat,N5)=>{var L5="\\ud800-\\udfff",cRe="\\u0300-\\u036f",uRe="\\ufe20-\\ufe2f",gRe="\\u20d0-\\u20ff",fRe=cRe+uRe+gRe,hRe="\\ufe0e\\ufe0f",pRe="["+L5+"]",aD="["+fRe+"]",AD="\\ud83c[\\udffb-\\udfff]",dRe="(?:"+aD+"|"+AD+")",T5="[^"+L5+"]",O5="(?:\\ud83c[\\udde6-\\uddff]){2}",M5="[\\ud800-\\udbff][\\udc00-\\udfff]",CRe="\\u200d",U5=dRe+"?",K5="["+hRe+"]?",mRe="(?:"+CRe+"(?:"+[T5,O5,M5].join("|")+")"+K5+U5+")*",ERe=K5+U5+mRe,IRe="(?:"+[T5+aD+"?",aD,O5,M5,pRe].join("|")+")",yRe=RegExp(AD+"(?="+AD+")|"+IRe+ERe,"g");function wRe(t){return t.match(yRe)||[]}N5.exports=wRe});var G5=w((Uat,j5)=>{var BRe=F5(),bRe=oD(),QRe=H5();function vRe(t){return bRe(t)?QRe(t):BRe(t)}j5.exports=vRe});var q5=w((Kat,Y5)=>{var SRe=P5(),kRe=oD(),xRe=G5(),PRe=nf();function DRe(t){return function(e){e=PRe(e);var r=kRe(e)?xRe(e):void 0,i=r?r[0]:e.charAt(0),n=r?SRe(r,1).join(""):e.slice(1);return i[t]()+n}}Y5.exports=DRe});var W5=w((Hat,J5)=>{var RRe=q5(),FRe=RRe("toUpperCase");J5.exports=FRe});var tB=w((jat,z5)=>{var NRe=nf(),LRe=W5();function TRe(t){return LRe(NRe(t).toLowerCase())}z5.exports=TRe});var _5=w((Gat,rB)=>{function ORe(){var t=0,e=1,r=2,i=3,n=4,s=5,o=6,a=7,l=8,c=9,u=10,g=11,f=12,h=13,p=14,m=15,y=16,Q=17,S=0,x=1,M=2,Y=3,U=4;function J(A,ne){return 55296<=A.charCodeAt(ne)&&A.charCodeAt(ne)<=56319&&56320<=A.charCodeAt(ne+1)&&A.charCodeAt(ne+1)<=57343}function W(A,ne){ne===void 0&&(ne=0);var le=A.charCodeAt(ne);if(55296<=le&&le<=56319&&ne=1){var Ae=A.charCodeAt(ne-1),T=le;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(T-56320)+65536:T}return le}function ee(A,ne,le){var Ae=[A].concat(ne).concat([le]),T=Ae[Ae.length-2],L=le,Ee=Ae.lastIndexOf(p);if(Ee>1&&Ae.slice(1,Ee).every(function(re){return re==i})&&[i,h,Q].indexOf(A)==-1)return M;var we=Ae.lastIndexOf(n);if(we>0&&Ae.slice(1,we).every(function(re){return re==n})&&[f,n].indexOf(T)==-1)return Ae.filter(function(re){return re==n}).length%2==1?Y:U;if(T==t&&L==e)return S;if(T==r||T==t||T==e)return L==p&&ne.every(function(re){return re==i})?M:x;if(L==r||L==t||L==e)return x;if(T==o&&(L==o||L==a||L==c||L==u))return S;if((T==c||T==a)&&(L==a||L==l))return S;if((T==u||T==l)&&L==l)return S;if(L==i||L==m)return S;if(L==s)return S;if(T==f)return S;var qe=Ae.indexOf(i)!=-1?Ae.lastIndexOf(i)-1:Ae.length-2;return[h,Q].indexOf(Ae[qe])!=-1&&Ae.slice(qe+1,-1).every(function(re){return re==i})&&L==p||T==m&&[y,Q].indexOf(L)!=-1?S:ne.indexOf(n)!=-1?M:T==n&&L==n?S:x}this.nextBreak=function(A,ne){if(ne===void 0&&(ne=0),ne<0)return 0;if(ne>=A.length-1)return A.length;for(var le=Z(W(A,ne)),Ae=[],T=ne+1;T{var MRe=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,iB;function URe(){if(iB)return iB;if(typeof Intl.Segmenter!="undefined"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return iB=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=_5(),e=new t;return iB=r=>e.splitGraphemes(r)}}V5.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let i=r-e,n="",s=0,o=0;for(;t.length>0;){let a=t.match(MRe)||[t,t,void 0],l=URe()(a[1]),c=Math.min(e-s,l.length);l=l.slice(c);let u=Math.min(i-o,l.length);n+=l.slice(0,u).join(""),s+=c,o+=u,typeof a[2]!="undefined"&&(n+=a[2]),t=t.slice(a[0].length)}return n}});var sf=w((EAt,u6)=>{"use strict";var g6=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]),mAt=u6.exports=t=>t?Object.keys(t).map(e=>[g6.has(e)?g6.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var of=w((IAt,f6)=>{"use strict";var ZRe=require("events"),h6=require("stream"),qd=Bp(),p6=require("string_decoder").StringDecoder,sA=Symbol("EOF"),Jd=Symbol("maybeEmitEnd"),hl=Symbol("emittedEnd"),lB=Symbol("emittingEnd"),cB=Symbol("closed"),d6=Symbol("read"),gD=Symbol("flush"),C6=Symbol("flushChunk"),Nn=Symbol("encoding"),oA=Symbol("decoder"),uB=Symbol("flowing"),Wd=Symbol("paused"),zd=Symbol("resume"),pn=Symbol("bufferLength"),m6=Symbol("bufferPush"),fD=Symbol("bufferShift"),_i=Symbol("objectMode"),Vi=Symbol("destroyed"),E6=global._MP_NO_ITERATOR_SYMBOLS_!=="1",$Re=E6&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),eFe=E6&&Symbol.iterator||Symbol("iterator not implemented"),I6=t=>t==="end"||t==="finish"||t==="prefinish",tFe=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,rFe=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);f6.exports=class y6 extends h6{constructor(e){super();this[uB]=!1,this[Wd]=!1,this.pipes=new qd,this.buffer=new qd,this[_i]=e&&e.objectMode||!1,this[_i]?this[Nn]=null:this[Nn]=e&&e.encoding||null,this[Nn]==="buffer"&&(this[Nn]=null),this[oA]=this[Nn]?new p6(this[Nn]):null,this[sA]=!1,this[hl]=!1,this[lB]=!1,this[cB]=!1,this.writable=!0,this.readable=!0,this[pn]=0,this[Vi]=!1}get bufferLength(){return this[pn]}get encoding(){return this[Nn]}set encoding(e){if(this[_i])throw new Error("cannot set encoding in objectMode");if(this[Nn]&&e!==this[Nn]&&(this[oA]&&this[oA].lastNeed||this[pn]))throw new Error("cannot change encoding");this[Nn]!==e&&(this[oA]=e?new p6(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[oA].write(r)))),this[Nn]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[_i]}set objectMode(e){this[_i]=this[_i]||!!e}write(e,r,i){if(this[sA])throw new Error("write after end");return this[Vi]?(this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0):(typeof r=="function"&&(i=r,r="utf8"),r||(r="utf8"),!this[_i]&&!Buffer.isBuffer(e)&&(rFe(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):tFe(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),!this.objectMode&&!e.length?(this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing):(typeof e=="string"&&!this[_i]&&!(r===this[Nn]&&!this[oA].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[Nn]&&(e=this[oA].write(e)),this.flowing?(this[pn]!==0&&this[gD](!0),this.emit("data",e)):this[m6](e),this[pn]!==0&&this.emit("readable"),i&&i(),this.flowing))}read(e){if(this[Vi])return null;try{return this[pn]===0||e===0||e>this[pn]?null:(this[_i]&&(e=null),this.buffer.length>1&&!this[_i]&&(this.encoding?this.buffer=new qd([Array.from(this.buffer).join("")]):this.buffer=new qd([Buffer.concat(Array.from(this.buffer),this[pn])])),this[d6](e||null,this.buffer.head.value))}finally{this[Jd]()}}[d6](e,r){return e===r.length||e===null?this[fD]():(this.buffer.head.value=r.slice(e),r=r.slice(0,e),this[pn]-=e),this.emit("data",r),!this.buffer.length&&!this[sA]&&this.emit("drain"),r}end(e,r,i){return typeof e=="function"&&(i=e,e=null),typeof r=="function"&&(i=r,r="utf8"),e&&this.write(e,r),i&&this.once("end",i),this[sA]=!0,this.writable=!1,(this.flowing||!this[Wd])&&this[Jd](),this}[zd](){this[Vi]||(this[Wd]=!1,this[uB]=!0,this.emit("resume"),this.buffer.length?this[gD]():this[sA]?this[Jd]():this.emit("drain"))}resume(){return this[zd]()}pause(){this[uB]=!1,this[Wd]=!0}get destroyed(){return this[Vi]}get flowing(){return this[uB]}get paused(){return this[Wd]}[m6](e){return this[_i]?this[pn]+=1:this[pn]+=e.length,this.buffer.push(e)}[fD](){return this.buffer.length&&(this[_i]?this[pn]-=1:this[pn]-=this.buffer.head.value.length),this.buffer.shift()}[gD](e){do;while(this[C6](this[fD]()));!e&&!this.buffer.length&&!this[sA]&&this.emit("drain")}[C6](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Vi])return;let i=this[hl];r=r||{},e===process.stdout||e===process.stderr?r.end=!1:r.end=r.end!==!1;let n={dest:e,opts:r,ondrain:s=>this[zd]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[zd](),i&&n.opts.end&&n.dest.end(),e}addListener(e,r){return this.on(e,r)}on(e,r){try{return super.on(e,r)}finally{e==="data"&&!this.pipes.length&&!this.flowing?this[zd]():I6(e)&&this[hl]&&(super.emit(e),this.removeAllListeners(e))}}get emittedEnd(){return this[hl]}[Jd](){!this[lB]&&!this[hl]&&!this[Vi]&&this.buffer.length===0&&this[sA]&&(this[lB]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[cB]&&this.emit("close"),this[lB]=!1)}emit(e,r){if(e!=="error"&&e!=="close"&&e!==Vi&&this[Vi])return;if(e==="data"){if(!r)return;this.pipes.length&&this.pipes.forEach(n=>n.dest.write(r)===!1&&this.pause())}else if(e==="end"){if(this[hl]===!0)return;this[hl]=!0,this.readable=!1,this[oA]&&(r=this[oA].end(),r&&(this.pipes.forEach(n=>n.dest.write(r)),super.emit("data",r))),this.pipes.forEach(n=>{n.dest.removeListener("drain",n.ondrain),n.opts.end&&n.dest.end()})}else if(e==="close"&&(this[cB]=!0,!this[hl]&&!this[Vi]))return;let i=new Array(arguments.length);if(i[0]=e,i[1]=r,arguments.length>2)for(let n=2;n{e.push(i),this[_i]||(e.dataLength+=i.length)}),r.then(()=>e)}concat(){return this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[_i]?Promise.reject(new Error("cannot concat in objectMode")):this[Nn]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Vi,()=>r(new Error("stream destroyed"))),this.on("end",()=>e()),this.on("error",i=>r(i))})}[$Re](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[sA])return Promise.resolve({done:!0});let i=null,n=null,s=c=>{this.removeListener("data",o),this.removeListener("end",a),n(c)},o=c=>{this.removeListener("error",s),this.removeListener("end",a),this.pause(),i({value:c,done:!!this[sA]})},a=()=>{this.removeListener("error",s),this.removeListener("data",o),i({done:!0})},l=()=>s(new Error("stream destroyed"));return new Promise((c,u)=>{n=u,i=c,this.once(Vi,l),this.once("error",s),this.once("end",a),this.once("data",o)})}}}[eFe](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Vi]?(e?this.emit("error",e):this.emit(Vi),this):(this[Vi]=!0,this.buffer=new qd,this[pn]=0,typeof this.close=="function"&&!this[cB]&&this.close(),e?this.emit("error",e):this.emit(Vi),this)}static isStream(e){return!!e&&(e instanceof y6||e instanceof h6||e instanceof ZRe&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var B6=w((yAt,w6)=>{var iFe=require("zlib").constants||{ZLIB_VERNUM:4736};w6.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},iFe))});var wD=w(ss=>{"use strict";var hD=require("assert"),pl=require("buffer").Buffer,b6=require("zlib"),Wc=ss.constants=B6(),nFe=of(),Q6=pl.concat,zc=Symbol("_superWrite"),_d=class extends Error{constructor(e){super("zlib: "+e.message);this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},sFe=Symbol("opts"),Vd=Symbol("flushFlag"),v6=Symbol("finishFlushFlag"),pD=Symbol("fullFlushFlag"),pr=Symbol("handle"),gB=Symbol("onError"),af=Symbol("sawError"),dD=Symbol("level"),CD=Symbol("strategy"),mD=Symbol("ended"),wAt=Symbol("_defaultFullFlush"),ED=class extends nFe{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e);this[af]=!1,this[mD]=!1,this[sFe]=e,this[Vd]=e.flush,this[v6]=e.finishFlush;try{this[pr]=new b6[r](e)}catch(i){throw new _d(i)}this[gB]=i=>{this[af]||(this[af]=!0,this.close(),this.emit("error",i))},this[pr].on("error",i=>this[gB](new _d(i))),this.once("end",()=>this.close)}close(){this[pr]&&(this[pr].close(),this[pr]=null,this.emit("close"))}reset(){if(!this[af])return hD(this[pr],"zlib binding closed"),this[pr].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[pD]),this.write(Object.assign(pl.alloc(0),{[Vd]:e})))}end(e,r,i){return e&&this.write(e,r),this.flush(this[v6]),this[mD]=!0,super.end(null,null,i)}get ended(){return this[mD]}write(e,r,i){if(typeof r=="function"&&(i=r,r="utf8"),typeof e=="string"&&(e=pl.from(e,r)),this[af])return;hD(this[pr],"zlib binding closed");let n=this[pr]._handle,s=n.close;n.close=()=>{};let o=this[pr].close;this[pr].close=()=>{},pl.concat=c=>c;let a;try{let c=typeof e[Vd]=="number"?e[Vd]:this[Vd];a=this[pr]._processChunk(e,c),pl.concat=Q6}catch(c){pl.concat=Q6,this[gB](new _d(c))}finally{this[pr]&&(this[pr]._handle=n,n.close=s,this[pr].close=o,this[pr].removeAllListeners("error"))}this[pr]&&this[pr].on("error",c=>this[gB](new _d(c)));let l;if(a)if(Array.isArray(a)&&a.length>0){l=this[zc](pl.from(a[0]));for(let c=1;c{this.flush(n),s()};try{this[pr].params(e,r)}finally{this[pr].flush=i}this[pr]&&(this[dD]=e,this[CD]=r)}}}},S6=class extends dl{constructor(e){super(e,"Deflate")}},k6=class extends dl{constructor(e){super(e,"Inflate")}},ID=Symbol("_portable"),x6=class extends dl{constructor(e){super(e,"Gzip");this[ID]=e&&!!e.portable}[zc](e){return this[ID]?(this[ID]=!1,e[9]=255,super[zc](e)):super[zc](e)}},P6=class extends dl{constructor(e){super(e,"Gunzip")}},D6=class extends dl{constructor(e){super(e,"DeflateRaw")}},R6=class extends dl{constructor(e){super(e,"InflateRaw")}},F6=class extends dl{constructor(e){super(e,"Unzip")}},yD=class extends ED{constructor(e,r){e=e||{},e.flush=e.flush||Wc.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Wc.BROTLI_OPERATION_FINISH,super(e,r),this[pD]=Wc.BROTLI_OPERATION_FLUSH}},N6=class extends yD{constructor(e){super(e,"BrotliCompress")}},L6=class extends yD{constructor(e){super(e,"BrotliDecompress")}};ss.Deflate=S6;ss.Inflate=k6;ss.Gzip=x6;ss.Gunzip=P6;ss.DeflateRaw=D6;ss.InflateRaw=R6;ss.Unzip=F6;typeof b6.BrotliCompress=="function"?(ss.BrotliCompress=N6,ss.BrotliDecompress=L6):ss.BrotliCompress=ss.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Xd=w(fB=>{"use strict";fB.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);fB.code=new Map(Array.from(fB.name).map(t=>[t[1],t[0]]))});var Zd=w((SAt,T6)=>{"use strict";var QAt=Xd(),oFe=of(),BD=Symbol("slurp");T6.exports=class extends oFe{constructor(e,r,i){super();switch(this.pause(),this.extended=r,this.globalExtended=i,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,r&&this[BD](r),i&&this[BD](i,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,n=this.blockRemain;return this.remain=Math.max(0,i-r),this.blockRemain=Math.max(0,n-r),this.ignore?!0:i>=r?super.write(e):super.write(e.slice(0,i))}[BD](e,r){for(let i in e)e[i]!==null&&e[i]!==void 0&&!(r&&i==="path")&&(this[i]=e[i])}}});var U6=w(bD=>{"use strict";var kAt=bD.encode=(t,e)=>{if(Number.isSafeInteger(t))t<0?AFe(t,e):aFe(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},aFe=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},AFe=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var i=e.length;i>1;i--){var n=t&255;t=Math.floor(t/256),r?e[i-1]=O6(n):n===0?e[i-1]=0:(r=!0,e[i-1]=M6(n))}},xAt=bD.parse=t=>{var e=t[t.length-1],r=t[0],i;if(r===128)i=cFe(t.slice(1,t.length));else if(r===255)i=lFe(t);else throw Error("invalid base256 encoding");if(!Number.isSafeInteger(i))throw Error("parsed number outside of javascript safe integer range");return i},lFe=t=>{for(var e=t.length,r=0,i=!1,n=e-1;n>-1;n--){var s=t[n],o;i?o=O6(s):s===0?o=s:(i=!0,o=M6(s)),o!==0&&(r-=o*Math.pow(256,e-n-1))}return r},cFe=t=>{for(var e=t.length,r=0,i=e-1;i>-1;i--){var n=t[i];n!==0&&(r+=n*Math.pow(256,e-i-1))}return r},O6=t=>(255^t)&255,M6=t=>(255^t)+1&255});var lf=w((DAt,K6)=>{"use strict";var QD=Xd(),Af=require("path").posix,H6=U6(),vD=Symbol("slurp"),os=Symbol("type"),j6=class{constructor(e,r,i,n){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[os]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,i,n):e&&this.set(e)}decode(e,r,i,n){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=_c(e,r,100),this.mode=Cl(e,r+100,8),this.uid=Cl(e,r+108,8),this.gid=Cl(e,r+116,8),this.size=Cl(e,r+124,12),this.mtime=SD(e,r+136,12),this.cksum=Cl(e,r+148,12),this[vD](i),this[vD](n,!0),this[os]=_c(e,r+156,1),this[os]===""&&(this[os]="0"),this[os]==="0"&&this.path.substr(-1)==="/"&&(this[os]="5"),this[os]==="5"&&(this.size=0),this.linkpath=_c(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=_c(e,r+265,32),this.gname=_c(e,r+297,32),this.devmaj=Cl(e,r+329,8),this.devmin=Cl(e,r+337,8),e[r+475]!==0){let o=_c(e,r+345,155);this.path=o+"/"+this.path}else{let o=_c(e,r+345,130);o&&(this.path=o+"/"+this.path),this.atime=SD(e,r+476,12),this.ctime=SD(e,r+488,12)}let s=8*32;for(let o=r;o=r+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,n=uFe(this.path||"",i),s=n[0],o=n[1];this.needPax=n[2],this.needPax=Vc(e,r,100,s)||this.needPax,this.needPax=ml(e,r+100,8,this.mode)||this.needPax,this.needPax=ml(e,r+108,8,this.uid)||this.needPax,this.needPax=ml(e,r+116,8,this.gid)||this.needPax,this.needPax=ml(e,r+124,12,this.size)||this.needPax,this.needPax=kD(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[os].charCodeAt(0),this.needPax=Vc(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Vc(e,r+265,32,this.uname)||this.needPax,this.needPax=Vc(e,r+297,32,this.gname)||this.needPax,this.needPax=ml(e,r+329,8,this.devmaj)||this.needPax,this.needPax=ml(e,r+337,8,this.devmin)||this.needPax,this.needPax=Vc(e,r+345,i,o)||this.needPax,e[r+475]!==0?this.needPax=Vc(e,r+345,155,o)||this.needPax:(this.needPax=Vc(e,r+345,130,o)||this.needPax,this.needPax=kD(e,r+476,12,this.atime)||this.needPax,this.needPax=kD(e,r+488,12,this.ctime)||this.needPax);let a=8*32;for(let l=r;l{let r=100,i=t,n="",s,o=Af.parse(t).root||".";if(Buffer.byteLength(i)r&&Buffer.byteLength(n)<=e?s=[i.substr(0,r-1),n,!0]:(i=Af.join(Af.basename(n),i),n=Af.dirname(n));while(n!==o&&!s);s||(s=[t.substr(0,r-1),"",!0])}return s},_c=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),SD=(t,e,r)=>gFe(Cl(t,e,r)),gFe=t=>t===null?null:new Date(t*1e3),Cl=(t,e,r)=>t[e]&128?H6.parse(t.slice(e,e+r)):fFe(t,e,r),hFe=t=>isNaN(t)?null:t,fFe=(t,e,r)=>hFe(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),pFe={12:8589934591,8:2097151},ml=(t,e,r,i)=>i===null?!1:i>pFe[r]||i<0?(H6.encode(i,t.slice(e,e+r)),!0):(dFe(t,e,r,i),!1),dFe=(t,e,r,i)=>t.write(CFe(i,r),e,r,"ascii"),CFe=(t,e)=>mFe(Math.floor(t).toString(8),e),mFe=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",kD=(t,e,r,i)=>i===null?!1:ml(t,e,r,i.getTime()/1e3),EFe=new Array(156).join("\0"),Vc=(t,e,r,i)=>i===null?!1:(t.write(i+EFe,e,r,"utf8"),i.length!==Buffer.byteLength(i)||i.length>r);K6.exports=j6});var pB=w((RAt,G6)=>{"use strict";var IFe=lf(),yFe=require("path"),hB=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),i=512*Math.ceil(1+r/512),n=Buffer.allocUnsafe(i);for(let s=0;s<512;s++)n[s]=0;new IFe({path:("PaxHeader/"+yFe.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(n),n.write(e,512,r,"utf8");for(let s=r+512;s=Math.pow(10,s)&&(s+=1),s+n+i}};hB.parse=(t,e,r)=>new hB(wFe(BFe(t),e),r);var wFe=(t,e)=>e?Object.keys(t).reduce((r,i)=>(r[i]=t[i],r),e):t,BFe=t=>t.replace(/\n$/,"").split(` +`).reduce(bFe,Object.create(null)),bFe=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let i=e.split("="),n=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!n)return t;let s=i.join("=");return t[n]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(n)?new Date(s*1e3):/^[0-9]+$/.test(s)?+s:s,t};G6.exports=hB});var dB=w((FAt,Y6)=>{"use strict";Y6.exports=t=>class extends t{warn(e,r,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=r instanceof Error&&r.code||e,i.tarCode=e,!this.strict&&i.recoverable!==!1?(r instanceof Error&&(i=Object.assign(r,i),r=r.message),this.emit("warn",i.tarCode,r,i)):r instanceof Error?this.emit("error",Object.assign(r,i)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),i))}}});var PD=w((NAt,q6)=>{"use strict";var CB=["|","<",">","?",":"],xD=CB.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),QFe=new Map(CB.map((t,e)=>[t,xD[e]])),vFe=new Map(xD.map((t,e)=>[t,CB[e]]));q6.exports={encode:t=>CB.reduce((e,r)=>e.split(r).join(QFe.get(r)),t),decode:t=>xD.reduce((e,r)=>e.split(r).join(vFe.get(r)),t)}});var W6=w((LAt,J6)=>{"use strict";J6.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&~18),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var OD=w((KAt,z6)=>{"use strict";var _6=of(),V6=pB(),X6=lf(),TAt=Zd(),ra=require("fs"),cf=require("path"),OAt=Xd(),SFe=16*1024*1024,Z6=Symbol("process"),$6=Symbol("file"),eV=Symbol("directory"),DD=Symbol("symlink"),tV=Symbol("hardlink"),$d=Symbol("header"),mB=Symbol("read"),RD=Symbol("lstat"),EB=Symbol("onlstat"),FD=Symbol("onread"),ND=Symbol("onreadlink"),LD=Symbol("openfile"),TD=Symbol("onopenfile"),Xc=Symbol("close"),IB=Symbol("mode"),rV=dB(),kFe=PD(),iV=W6(),yB=rV(class extends _6{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=e,this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid(),this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||SFe,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=r.cwd||process.cwd(),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(!this.preservePaths&&cf.win32.isAbsolute(e)){let n=cf.win32.parse(e);this.path=e.substr(n.root.length),i=n.root}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=kFe.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=r.absolute||cf.resolve(this.cwd,e),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[EB](this.statCache.get(this.absolute)):this[RD]()}[RD](){ra.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[EB](r)})}[EB](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=xFe(e),this.emit("stat",e),this[Z6]()}[Z6](){switch(this.type){case"File":return this[$6]();case"Directory":return this[eV]();case"SymbolicLink":return this[DD]();default:return this.end()}}[IB](e){return iV(e,this.type==="Directory",this.portable)}[$d](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new X6({path:this.path,linkpath:this.linkpath,mode:this[IB](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new V6({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[eV](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[$d](),this.end()}[DD](){ra.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[ND](r)})}[ND](e){this.linkpath=e.replace(/\\/g,"/"),this[$d](),this.end()}[tV](e){this.type="Link",this.linkpath=cf.relative(this.cwd,e).replace(/\\/g,"/"),this.stat.size=0,this[$d](),this.end()}[$6](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[tV](r)}this.linkCache.set(e,this.absolute)}if(this[$d](),this.stat.size===0)return this.end();this[LD]()}[LD](){ra.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[TD](r)})}[TD](e){let r=512*Math.ceil(this.stat.size/512),i=Math.min(r,this.maxReadSize),n=Buffer.allocUnsafe(i);this[mB](e,n,0,n.length,0,this.stat.size,r)}[mB](e,r,i,n,s,o,a){ra.read(e,r,i,n,s,(l,c)=>{if(l)return this[Xc](e,()=>this.emit("error",l));this[FD](e,r,i,n,s,o,a,c)})}[Xc](e,r){ra.close(e,r)}[FD](e,r,i,n,s,o,a,l){if(l<=0&&o>0){let u=new Error("encountered unexpected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Xc](e,()=>this.emit("error",u))}if(l>o){let u=new Error("did not encounter expected EOF");return u.path=this.absolute,u.syscall="read",u.code="EOF",this[Xc](e,()=>this.emit("error",u))}if(l===o)for(let u=l;uu?this.emit("error",u):this.end());i>=n&&(r=Buffer.allocUnsafe(n),i=0),n=r.length-i,this[mB](e,r,i,n,s,o,a)}}),nV=class extends yB{constructor(e,r){super(e,r)}[RD](){this[EB](ra.lstatSync(this.absolute))}[DD](){this[ND](ra.readlinkSync(this.absolute))}[LD](){this[TD](ra.openSync(this.absolute,"r"))}[mB](e,r,i,n,s,o,a){let l=!0;try{let c=ra.readSync(e,r,i,n,s);this[FD](e,r,i,n,s,o,a,c),l=!1}finally{if(l)try{this[Xc](e,()=>{})}catch(c){}}}[Xc](e,r){ra.closeSync(e),r()}},PFe=rV(class extends _6{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[IB](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let i=!1;if(cf.isAbsolute(this.path)&&!this.preservePaths){let n=cf.parse(this.path);i=n.root,this.path=this.path.substr(n.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new X6({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new V6({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[IB](e){return iV(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&this.write(Buffer.alloc(this.blockRemain)),super.end()}});yB.Sync=nV;yB.Tar=PFe;var xFe=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";z6.exports=yB});var xB=w((jAt,sV)=>{"use strict";var MD=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},DFe=of(),RFe=wD(),FFe=Zd(),UD=OD(),NFe=UD.Sync,LFe=UD.Tar,TFe=Bp(),oV=Buffer.alloc(1024),wB=Symbol("onStat"),BB=Symbol("ended"),ia=Symbol("queue"),uf=Symbol("current"),Zc=Symbol("process"),bB=Symbol("processing"),aV=Symbol("processJob"),na=Symbol("jobs"),KD=Symbol("jobDone"),QB=Symbol("addFSEntry"),AV=Symbol("addTarEntry"),HD=Symbol("stat"),jD=Symbol("readdir"),vB=Symbol("onreaddir"),SB=Symbol("pipe"),lV=Symbol("entry"),GD=Symbol("entryOpt"),YD=Symbol("writeEntryClass"),cV=Symbol("write"),qD=Symbol("ondrain"),kB=require("fs"),uV=require("path"),OFe=dB(),JD=OFe(class extends DFe{constructor(e){super(e);e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[YD]=UD,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new RFe.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[qD]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[qD]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[ia]=new TFe,this[na]=0,this.jobs=+e.jobs||4,this[bB]=!1,this[BB]=!1}[cV](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[BB]=!0,this[Zc](),this}write(e){if(this[BB])throw new Error("write after end");return e instanceof FFe?this[AV](e):this[QB](e),this.flowing}[AV](e){let r=uV.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),!this.filter(e.path,e))e.resume();else{let i=new MD(e.path,r,!1);i.entry=new LFe(e,this[GD](i)),i.entry.on("end",n=>this[KD](i)),this[na]+=1,this[ia].push(i)}this[Zc]()}[QB](e){let r=uV.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[ia].push(new MD(e,r)),this[Zc]()}[HD](e){e.pending=!0,this[na]+=1;let r=this.follow?"stat":"lstat";kB[r](e.absolute,(i,n)=>{e.pending=!1,this[na]-=1,i?this.emit("error",i):this[wB](e,n)})}[wB](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Zc]()}[jD](e){e.pending=!0,this[na]+=1,kB.readdir(e.absolute,(r,i)=>{if(e.pending=!1,this[na]-=1,r)return this.emit("error",r);this[vB](e,i)})}[vB](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Zc]()}[Zc](){if(!this[bB]){this[bB]=!0;for(let e=this[ia].head;e!==null&&this[na]this.warn(r,i,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[lV](e){this[na]+=1;try{return new this[YD](e.path,this[GD](e)).on("end",()=>this[KD](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[qD](){this[uf]&&this[uf].entry&&this[uf].entry.resume()}[SB](e){e.piped=!0,e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[QB](o+n)});let r=e.entry,i=this.zip;i?r.on("data",n=>{i.write(n)||r.pause()}):r.on("data",n=>{super.write(n)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),gV=class extends JD{constructor(e){super(e);this[YD]=NFe}pause(){}resume(){}[HD](e){let r=this.follow?"statSync":"lstatSync";this[wB](e,kB[r](e.absolute))}[jD](e,r){this[vB](e,kB.readdirSync(e.absolute))}[SB](e){let r=e.entry,i=this.zip;e.readdir&&e.readdir.forEach(n=>{let s=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,o=s==="./"?"":s.replace(/\/*$/,"/");this[QB](o+n)}),i?r.on("data",n=>{i.write(n)}):r.on("data",n=>{super[cV](n)})}};JD.Sync=gV;sV.exports=JD});var Cf=w(eC=>{"use strict";var MFe=of(),UFe=require("events").EventEmitter,Ms=require("fs"),PB=process.binding("fs"),GAt=PB.writeBuffers,KFe=PB.FSReqWrap||PB.FSReqCallback,gf=Symbol("_autoClose"),sa=Symbol("_close"),tC=Symbol("_ended"),or=Symbol("_fd"),fV=Symbol("_finished"),$c=Symbol("_flags"),WD=Symbol("_flush"),zD=Symbol("_handleChunk"),_D=Symbol("_makeBuf"),VD=Symbol("_mode"),DB=Symbol("_needDrain"),ff=Symbol("_onerror"),hf=Symbol("_onopen"),XD=Symbol("_onread"),eu=Symbol("_onwrite"),El=Symbol("_open"),Il=Symbol("_path"),tu=Symbol("_pos"),oa=Symbol("_queue"),pf=Symbol("_read"),hV=Symbol("_readSize"),yl=Symbol("_reading"),RB=Symbol("_remain"),pV=Symbol("_size"),FB=Symbol("_write"),df=Symbol("_writing"),NB=Symbol("_defaultFlag"),ZD=class extends MFe{constructor(e,r){if(r=r||{},super(r),this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[or]=typeof r.fd=="number"?r.fd:null,this[Il]=e,this[hV]=r.readSize||16*1024*1024,this[yl]=!1,this[pV]=typeof r.size=="number"?r.size:Infinity,this[RB]=this[pV],this[gf]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[or]=="number"?this[pf]():this[El]()}get fd(){return this[or]}get path(){return this[Il]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[El](){Ms.open(this[Il],"r",(e,r)=>this[hf](e,r))}[hf](e,r){e?this[ff](e):(this[or]=r,this.emit("open",r),this[pf]())}[_D](){return Buffer.allocUnsafe(Math.min(this[hV],this[RB]))}[pf](){if(!this[yl]){this[yl]=!0;let e=this[_D]();if(e.length===0)return process.nextTick(()=>this[XD](null,0,e));Ms.read(this[or],e,0,e.length,null,(r,i,n)=>this[XD](r,i,n))}}[XD](e,r,i){this[yl]=!1,e?this[ff](e):this[zD](r,i)&&this[pf]()}[sa](){this[gf]&&typeof this[or]=="number"&&(Ms.close(this[or],e=>this.emit("close")),this[or]=null)}[ff](e){this[yl]=!0,this[sa](),this.emit("error",e)}[zD](e,r){let i=!1;return this[RB]-=e,e>0&&(i=super.write(ethis[hf](e,r))}[hf](e,r){this[NB]&&this[$c]==="r+"&&e&&e.code==="ENOENT"?(this[$c]="w",this[El]()):e?this[ff](e):(this[or]=r,this.emit("open",r),this[WD]())}end(e,r){e&&this.write(e,r),this[tC]=!0,!this[df]&&!this[oa].length&&typeof this[or]=="number"&&this[eu](null,0)}write(e,r){return typeof e=="string"&&(e=new Buffer(e,r)),this[tC]?(this.emit("error",new Error("write() after end()")),!1):this[or]===null||this[df]||this[oa].length?(this[oa].push(e),this[DB]=!0,!1):(this[df]=!0,this[FB](e),!0)}[FB](e){Ms.write(this[or],e,0,e.length,this[tu],(r,i)=>this[eu](r,i))}[eu](e,r){e?this[ff](e):(this[tu]!==null&&(this[tu]+=r),this[oa].length?this[WD]():(this[df]=!1,this[tC]&&!this[fV]?(this[fV]=!0,this[sa](),this.emit("finish")):this[DB]&&(this[DB]=!1,this.emit("drain"))))}[WD](){if(this[oa].length===0)this[tC]&&this[eu](null,0);else if(this[oa].length===1)this[FB](this[oa].pop());else{let e=this[oa];this[oa]=[],HFe(this[or],e,this[tu],(r,i)=>this[eu](r,i))}}[sa](){this[gf]&&typeof this[or]=="number"&&(Ms.close(this[or],e=>this.emit("close")),this[or]=null)}},CV=class extends $D{[El](){let e;try{e=Ms.openSync(this[Il],this[$c],this[VD])}catch(r){if(this[NB]&&this[$c]==="r+"&&r&&r.code==="ENOENT")return this[$c]="w",this[El]();throw r}this[hf](null,e)}[sa](){if(this[gf]&&typeof this[or]=="number"){try{Ms.closeSync(this[or])}catch(e){}this[or]=null,this.emit("close")}}[FB](e){try{this[eu](null,Ms.writeSync(this[or],e,0,e.length,this[tu]))}catch(r){this[eu](r,0)}}},HFe=(t,e,r,i)=>{let n=(o,a)=>i(o,a,e),s=new KFe;s.oncomplete=n,PB.writeBuffers(t,e,r,s)};eC.ReadStream=ZD;eC.ReadStreamSync=dV;eC.WriteStream=$D;eC.WriteStreamSync=CV});var nC=w((WAt,mV)=>{"use strict";var jFe=dB(),qAt=require("path"),GFe=lf(),YFe=require("events"),qFe=Bp(),JFe=1024*1024,WFe=Zd(),EV=pB(),zFe=wD(),eR=Buffer.from([31,139]),Us=Symbol("state"),ru=Symbol("writeEntry"),aA=Symbol("readEntry"),tR=Symbol("nextEntry"),IV=Symbol("processEntry"),Ks=Symbol("extendedHeader"),rC=Symbol("globalExtendedHeader"),wl=Symbol("meta"),yV=Symbol("emitMeta"),yr=Symbol("buffer"),AA=Symbol("queue"),iu=Symbol("ended"),wV=Symbol("emittedEnd"),nu=Symbol("emit"),Ln=Symbol("unzip"),LB=Symbol("consumeChunk"),TB=Symbol("consumeChunkSub"),rR=Symbol("consumeBody"),BV=Symbol("consumeMeta"),bV=Symbol("consumeHeader"),OB=Symbol("consuming"),iR=Symbol("bufferConcat"),nR=Symbol("maybeEnd"),iC=Symbol("writing"),Bl=Symbol("aborted"),MB=Symbol("onDone"),su=Symbol("sawValidEntry"),UB=Symbol("sawNullBlock"),KB=Symbol("sawEOF"),_Fe=t=>!0;mV.exports=jFe(class extends YFe{constructor(e){e=e||{},super(e),this.file=e.file||"",this[su]=null,this.on(MB,r=>{(this[Us]==="begin"||this[su]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(MB,e.ondone):this.on(MB,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||JFe,this.filter=typeof e.filter=="function"?e.filter:_Fe,this.writable=!0,this.readable=!1,this[AA]=new qFe,this[yr]=null,this[aA]=null,this[ru]=null,this[Us]="begin",this[wl]="",this[Ks]=null,this[rC]=null,this[iu]=!1,this[Ln]=null,this[Bl]=!1,this[UB]=!1,this[KB]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[bV](e,r){this[su]===null&&(this[su]=!1);let i;try{i=new GFe(e,r,this[Ks],this[rC])}catch(n){return this.warn("TAR_ENTRY_INVALID",n)}if(i.nullBlock)this[UB]?(this[KB]=!0,this[Us]==="begin"&&(this[Us]="header"),this[nu]("eof")):(this[UB]=!0,this[nu]("nullBlock"));else if(this[UB]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let n=i.type;if(/^(Symbolic)?Link$/.test(n)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(n)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let s=this[ru]=new WFe(i,this[Ks],this[rC]);if(!this[su])if(s.remain){let o=()=>{s.invalid||(this[su]=!0)};s.on("end",o)}else this[su]=!0;s.meta?s.size>this.maxMetaEntrySize?(s.ignore=!0,this[nu]("ignoredEntry",s),this[Us]="ignore",s.resume()):s.size>0&&(this[wl]="",s.on("data",o=>this[wl]+=o),this[Us]="meta"):(this[Ks]=null,s.ignore=s.ignore||!this.filter(s.path,s),s.ignore?(this[nu]("ignoredEntry",s),this[Us]=s.remain?"ignore":"header",s.resume()):(s.remain?this[Us]="body":(this[Us]="header",s.end()),this[aA]?this[AA].push(s):(this[AA].push(s),this[tR]())))}}}[IV](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[aA]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",i=>this[tR]()),r=!1)):(this[aA]=null,r=!1),r}[tR](){do;while(this[IV](this[AA].shift()));if(!this[AA].length){let e=this[aA];!e||e.flowing||e.size===e.remain?this[iC]||this.emit("drain"):e.once("drain",i=>this.emit("drain"))}}[rR](e,r){let i=this[ru],n=i.blockRemain,s=n>=e.length&&r===0?e:e.slice(r,r+n);return i.write(s),i.blockRemain||(this[Us]="header",this[ru]=null,i.end()),s.length}[BV](e,r){let i=this[ru],n=this[rR](e,r);return this[ru]||this[yV](i),n}[nu](e,r,i){!this[AA].length&&!this[aA]?this.emit(e,r,i):this[AA].push([e,r,i])}[yV](e){switch(this[nu]("meta",this[wl]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[Ks]=EV.parse(this[wl],this[Ks],!1);break;case"GlobalExtendedHeader":this[rC]=EV.parse(this[wl],this[rC],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[Ks]=this[Ks]||Object.create(null),this[Ks].path=this[wl].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[Ks]=this[Ks]||Object.create(null),this[Ks].linkpath=this[wl].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[Bl]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[Bl])return;if(this[Ln]===null&&e){if(this[yr]&&(e=Buffer.concat([this[yr],e]),this[yr]=null),e.lengththis[LB](s)),this[Ln].on("error",s=>this.abort(s)),this[Ln].on("end",s=>{this[iu]=!0,this[LB]()}),this[iC]=!0;let n=this[Ln][i?"end":"write"](e);return this[iC]=!1,n}}this[iC]=!0,this[Ln]?this[Ln].write(e):this[LB](e),this[iC]=!1;let r=this[AA].length?!1:this[aA]?this[aA].flowing:!0;return!r&&!this[AA].length&&this[aA].once("drain",i=>this.emit("drain")),r}[iR](e){e&&!this[Bl]&&(this[yr]=this[yr]?Buffer.concat([this[yr],e]):e)}[nR](){if(this[iu]&&!this[wV]&&!this[Bl]&&!this[OB]){this[wV]=!0;let e=this[ru];if(e&&e.blockRemain){let r=this[yr]?this[yr].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[yr]&&e.write(this[yr]),e.end()}this[nu](MB)}}[LB](e){if(this[OB])this[iR](e);else if(!e&&!this[yr])this[nR]();else{if(this[OB]=!0,this[yr]){this[iR](e);let r=this[yr];this[yr]=null,this[TB](r)}else this[TB](e);for(;this[yr]&&this[yr].length>=512&&!this[Bl]&&!this[KB];){let r=this[yr];this[yr]=null,this[TB](r)}this[OB]=!1}(!this[yr]||this[iu])&&this[nR]()}[TB](e){let r=0,i=e.length;for(;r+512<=i&&!this[Bl]&&!this[KB];)switch(this[Us]){case"begin":case"header":this[bV](e,r),r+=512;break;case"ignore":case"body":r+=this[rR](e,r);break;case"meta":r+=this[BV](e,r);break;default:throw new Error("invalid state: "+this[Us])}r{"use strict";var VFe=sf(),vV=nC(),mf=require("fs"),XFe=Cf(),SV=require("path"),zAt=QV.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=VFe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&$Fe(i,e),i.noResume||ZFe(i),i.file&&i.sync?eNe(i):i.file?tNe(i,r):kV(i)},ZFe=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},$Fe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||SV.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(SV.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},eNe=t=>{let e=kV(t),r=t.file,i=!0,n;try{let s=mf.statSync(r),o=t.maxReadSize||16*1024*1024;if(s.size{let r=new vV(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("end",o),mf.stat(n,(l,c)=>{if(l)a(l);else{let u=new XFe.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},kV=t=>new vV(t)});var NV=w((ZAt,xV)=>{"use strict";var rNe=sf(),jB=xB(),VAt=require("fs"),PV=Cf(),DV=HB(),RV=require("path"),XAt=xV.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let i=rNe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?iNe(i,e):i.file?nNe(i,e,r):i.sync?sNe(i,e):oNe(i,e)},iNe=(t,e)=>{let r=new jB.Sync(t),i=new PV.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(i),FV(r,e)},nNe=(t,e,r)=>{let i=new jB(t),n=new PV.WriteStream(t.file,{mode:t.mode||438});i.pipe(n);let s=new Promise((o,a)=>{n.on("error",a),n.on("close",o),i.on("error",a)});return sR(i,e),r?s.then(r,r):s},FV=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?DV({file:RV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},sR=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return DV({file:RV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>sR(t,e));t.add(r)}t.end()},sNe=(t,e)=>{let r=new jB.Sync(t);return FV(r,e),r},oNe=(t,e)=>{let r=new jB(t);return sR(r,e),r}});var oR=w((tlt,LV)=>{"use strict";var aNe=sf(),TV=xB(),$At=nC(),Hs=require("fs"),OV=Cf(),MV=HB(),UV=require("path"),KV=lf(),elt=LV.exports=(t,e,r)=>{let i=aNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),i.sync?ANe(i,e):lNe(i,e,r)},ANe=(t,e)=>{let r=new TV.Sync(t),i=!0,n,s;try{try{n=Hs.openSync(t.file,"r+")}catch(l){if(l.code==="ENOENT")n=Hs.openSync(t.file,"w+");else throw l}let o=Hs.fstatSync(n),a=Buffer.alloc(512);e:for(s=0;so.size)break;s+=c,t.mtimeCache&&t.mtimeCache.set(l.path,l.mtime)}i=!1,cNe(t,r,s,n,e)}finally{if(i)try{Hs.closeSync(n)}catch(o){}}},cNe=(t,e,r,i,n)=>{let s=new OV.WriteStreamSync(t.file,{fd:i,start:r});e.pipe(s),uNe(e,n)},lNe=(t,e,r)=>{e=Array.from(e);let i=new TV(t),n=(o,a,l)=>{let c=(p,m)=>{p?Hs.close(o,y=>l(p)):l(null,m)},u=0;if(a===0)return c(null,0);let g=0,f=Buffer.alloc(512),h=(p,m)=>{if(p)return c(p);if(g+=m,g<512&&m)return Hs.read(o,f,g,f.length-g,u+g,h);if(u===0&&f[0]===31&&f[1]===139)return c(new Error("cannot append to compressed archives"));if(g<512)return c(null,u);let y=new KV(f);if(!y.cksumValid)return c(null,u);let Q=512*Math.ceil(y.size/512);if(u+Q+512>a||(u+=Q+512,u>=a))return c(null,u);t.mtimeCache&&t.mtimeCache.set(y.path,y.mtime),g=0,Hs.read(o,f,0,512,u,h)};Hs.read(o,f,0,512,u,h)},s=new Promise((o,a)=>{i.on("error",a);let l="r+",c=(u,g)=>{if(u&&u.code==="ENOENT"&&l==="r+")return l="w+",Hs.open(t.file,l,c);if(u)return a(u);Hs.fstat(g,(f,h)=>{if(f)return a(f);n(g,h.size,(p,m)=>{if(p)return a(p);let y=new OV.WriteStream(t.file,{fd:g,start:m});i.pipe(y),y.on("error",a),y.on("close",o),HV(i,e)})})};Hs.open(t.file,l,c)});return r?s.then(r,r):s},uNe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?MV({file:UV.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:i=>t.add(i)}):t.add(r)}),t.end()},HV=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return MV({file:UV.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:i=>t.add(i)}).then(i=>HV(t,e));t.add(r)}t.end()}});var GV=w((ilt,jV)=>{"use strict";var gNe=sf(),fNe=oR(),rlt=jV.exports=(t,e,r)=>{let i=gNe(t);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),hNe(i),fNe(i,e,r)},hNe=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,i)=>e(r,i)&&!(t.mtimeCache.get(r)>i.mtime):(r,i)=>!(t.mtimeCache.get(r)>i.mtime)}});var JV=w((nlt,YV)=>{var{promisify:qV}=require("util"),bl=require("fs"),pNe=t=>{if(!t)t={mode:511,fs:bl};else if(typeof t=="object")t=N({mode:511,fs:bl},t);else if(typeof t=="number")t={mode:t,fs:bl};else if(typeof t=="string")t={mode:parseInt(t,8),fs:bl};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||bl.mkdir,t.mkdirAsync=qV(t.mkdir),t.stat=t.stat||t.fs.stat||bl.stat,t.statAsync=qV(t.stat),t.statSync=t.statSync||t.fs.statSync||bl.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||bl.mkdirSync,t};YV.exports=pNe});var zV=w((slt,WV)=>{var dNe=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:CNe,parse:mNe}=require("path"),ENe=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=CNe(t),dNe==="win32"){let e=/[*|"<>?:]/,{root:r}=mNe(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};WV.exports=ENe});var $V=w((olt,_V)=>{var{dirname:VV}=require("path"),XV=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(i=>i.isDirectory()?r:void 0,i=>i.code==="ENOENT"?XV(t,VV(e),e):void 0),ZV=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(i){return i.code==="ENOENT"?ZV(t,VV(e),e):void 0}};_V.exports={findMade:XV,findMadeSync:ZV}});var lR=w((alt,e9)=>{var{dirname:t9}=require("path"),aR=(t,e,r)=>{e.recursive=!1;let i=t9(t);return i===t?e.mkdirAsync(t,e).catch(n=>{if(n.code!=="EISDIR")throw n}):e.mkdirAsync(t,e).then(()=>r||t,n=>{if(n.code==="ENOENT")return aR(i,e).then(s=>aR(t,e,s));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;return e.statAsync(t).then(s=>{if(s.isDirectory())return r;throw n},()=>{throw n})})},AR=(t,e,r)=>{let i=t9(t);if(e.recursive=!1,i===t)try{return e.mkdirSync(t,e)}catch(n){if(n.code!=="EISDIR")throw n;return}try{return e.mkdirSync(t,e),r||t}catch(n){if(n.code==="ENOENT")return AR(t,e,AR(i,e,r));if(n.code!=="EEXIST"&&n.code!=="EROFS")throw n;try{if(!e.statSync(t).isDirectory())throw n}catch(s){throw n}}};e9.exports={mkdirpManual:aR,mkdirpManualSync:AR}});var n9=w((Alt,r9)=>{var{dirname:i9}=require("path"),{findMade:INe,findMadeSync:yNe}=$V(),{mkdirpManual:wNe,mkdirpManualSync:BNe}=lR(),bNe=(t,e)=>(e.recursive=!0,i9(t)===t?e.mkdirAsync(t,e):INe(e,t).then(i=>e.mkdirAsync(t,e).then(()=>i).catch(n=>{if(n.code==="ENOENT")return wNe(t,e);throw n}))),QNe=(t,e)=>{if(e.recursive=!0,i9(t)===t)return e.mkdirSync(t,e);let i=yNe(e,t);try{return e.mkdirSync(t,e),i}catch(n){if(n.code==="ENOENT")return BNe(t,e);throw n}};r9.exports={mkdirpNative:bNe,mkdirpNativeSync:QNe}});var A9=w((llt,s9)=>{var o9=require("fs"),vNe=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,cR=vNe.replace(/^v/,"").split("."),a9=+cR[0]>10||+cR[0]==10&&+cR[1]>=12,SNe=a9?t=>t.mkdir===o9.mkdir:()=>!1,kNe=a9?t=>t.mkdirSync===o9.mkdirSync:()=>!1;s9.exports={useNative:SNe,useNativeSync:kNe}});var h9=w((clt,l9)=>{var Ef=JV(),If=zV(),{mkdirpNative:c9,mkdirpNativeSync:u9}=n9(),{mkdirpManual:g9,mkdirpManualSync:f9}=lR(),{useNative:xNe,useNativeSync:PNe}=A9(),yf=(t,e)=>(t=If(t),e=Ef(e),xNe(e)?c9(t,e):g9(t,e)),DNe=(t,e)=>(t=If(t),e=Ef(e),PNe(e)?u9(t,e):f9(t,e));yf.sync=DNe;yf.native=(t,e)=>c9(If(t),Ef(e));yf.manual=(t,e)=>g9(If(t),Ef(e));yf.nativeSync=(t,e)=>u9(If(t),Ef(e));yf.manualSync=(t,e)=>f9(If(t),Ef(e));l9.exports=yf});var y9=w((ult,p9)=>{"use strict";var js=require("fs"),ou=require("path"),RNe=js.lchown?"lchown":"chown",FNe=js.lchownSync?"lchownSync":"chownSync",d9=js.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),C9=(t,e,r)=>{try{return js[FNe](t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},NNe=(t,e,r)=>{try{return js.chownSync(t,e,r)}catch(i){if(i.code!=="ENOENT")throw i}},LNe=d9?(t,e,r,i)=>n=>{!n||n.code!=="EISDIR"?i(n):js.chown(t,e,r,i)}:(t,e,r,i)=>i,uR=d9?(t,e,r)=>{try{return C9(t,e,r)}catch(i){if(i.code!=="EISDIR")throw i;NNe(t,e,r)}}:(t,e,r)=>C9(t,e,r),TNe=process.version,m9=(t,e,r)=>js.readdir(t,e,r),ONe=(t,e)=>js.readdirSync(t,e);/^v4\./.test(TNe)&&(m9=(t,e,r)=>js.readdir(t,r));var GB=(t,e,r,i)=>{js[RNe](t,e,r,LNe(t,e,r,n=>{i(n&&n.code!=="ENOENT"?n:null)}))},E9=(t,e,r,i,n)=>{if(typeof e=="string")return js.lstat(ou.resolve(t,e),(s,o)=>{if(s)return n(s.code!=="ENOENT"?s:null);o.name=e,E9(t,o,r,i,n)});if(e.isDirectory())gR(ou.resolve(t,e.name),r,i,s=>{if(s)return n(s);let o=ou.resolve(t,e.name);GB(o,r,i,n)});else{let s=ou.resolve(t,e.name);GB(s,r,i,n)}},gR=(t,e,r,i)=>{m9(t,{withFileTypes:!0},(n,s)=>{if(n){if(n.code==="ENOENT")return i();if(n.code!=="ENOTDIR"&&n.code!=="ENOTSUP")return i(n)}if(n||!s.length)return GB(t,e,r,i);let o=s.length,a=null,l=c=>{if(!a){if(c)return i(a=c);if(--o==0)return GB(t,e,r,i)}};s.forEach(c=>E9(t,c,e,r,l))})},MNe=(t,e,r,i)=>{if(typeof e=="string")try{let n=js.lstatSync(ou.resolve(t,e));n.name=e,e=n}catch(n){if(n.code==="ENOENT")return;throw n}e.isDirectory()&&I9(ou.resolve(t,e.name),r,i),uR(ou.resolve(t,e.name),r,i)},I9=(t,e,r)=>{let i;try{i=ONe(t,{withFileTypes:!0})}catch(n){if(n.code==="ENOENT")return;if(n.code==="ENOTDIR"||n.code==="ENOTSUP")return uR(t,e,r);throw n}return i&&i.length&&i.forEach(n=>MNe(t,n,e,r)),uR(t,e,r)};p9.exports=gR;gR.sync=I9});var Q9=w((hlt,fR)=>{"use strict";var w9=h9(),Gs=require("fs"),YB=require("path"),B9=y9(),hR=class extends Error{constructor(e,r){super("Cannot extract through symbolic link");this.path=r,this.symlink=e}get name(){return"SylinkError"}},sC=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'");this.path=e,this.code=r}get name(){return"CwdError"}},glt=fR.exports=(t,e,r)=>{let i=e.umask,n=e.mode|448,s=(n&i)!=0,o=e.uid,a=e.gid,l=typeof o=="number"&&typeof a=="number"&&(o!==e.processUid||a!==e.processGid),c=e.preserve,u=e.unlink,g=e.cache,f=e.cwd,h=(y,Q)=>{y?r(y):(g.set(t,!0),Q&&l?B9(Q,o,a,S=>h(S)):s?Gs.chmod(t,n,r):r())};if(g&&g.get(t)===!0)return h();if(t===f)return Gs.stat(t,(y,Q)=>{(y||!Q.isDirectory())&&(y=new sC(t,y&&y.code||"ENOTDIR")),h(y)});if(c)return w9(t,{mode:n}).then(y=>h(null,y),h);let m=YB.relative(f,t).split(/\/|\\/);qB(f,m,n,g,u,f,null,h)},qB=(t,e,r,i,n,s,o,a)=>{if(!e.length)return a(null,o);let l=e.shift(),c=t+"/"+l;if(i.get(c))return qB(c,e,r,i,n,s,o,a);Gs.mkdir(c,r,b9(c,e,r,i,n,s,o,a))},b9=(t,e,r,i,n,s,o,a)=>l=>{if(l){if(l.path&&YB.dirname(l.path)===s&&(l.code==="ENOTDIR"||l.code==="ENOENT"))return a(new sC(s,l.code));Gs.lstat(t,(c,u)=>{if(c)a(c);else if(u.isDirectory())qB(t,e,r,i,n,s,o,a);else if(n)Gs.unlink(t,g=>{if(g)return a(g);Gs.mkdir(t,r,b9(t,e,r,i,n,s,o,a))});else{if(u.isSymbolicLink())return a(new hR(t,t+"/"+e.join("/")));a(l)}})}else o=o||t,qB(t,e,r,i,n,s,o,a)},flt=fR.exports.sync=(t,e)=>{let r=e.umask,i=e.mode|448,n=(i&r)!=0,s=e.uid,o=e.gid,a=typeof s=="number"&&typeof o=="number"&&(s!==e.processUid||o!==e.processGid),l=e.preserve,c=e.unlink,u=e.cache,g=e.cwd,f=y=>{u.set(t,!0),y&&a&&B9.sync(y,s,o),n&&Gs.chmodSync(t,i)};if(u&&u.get(t)===!0)return f();if(t===g){let y=!1,Q="ENOTDIR";try{y=Gs.statSync(t).isDirectory()}catch(S){Q=S.code}finally{if(!y)throw new sC(t,Q)}f();return}if(l)return f(w9.sync(t,i));let p=YB.relative(g,t).split(/\/|\\/),m=null;for(let y=p.shift(),Q=g;y&&(Q+="/"+y);y=p.shift())if(!u.get(Q))try{Gs.mkdirSync(Q,i),m=m||Q,u.set(Q,!0)}catch(S){if(S.path&&YB.dirname(S.path)===g&&(S.code==="ENOTDIR"||S.code==="ENOENT"))return new sC(g,S.code);let x=Gs.lstatSync(Q);if(x.isDirectory()){u.set(Q,!0);continue}else if(c){Gs.unlinkSync(Q),Gs.mkdirSync(Q,i),m=m||Q,u.set(Q,!0);continue}else if(x.isSymbolicLink())return new hR(Q,Q+"/"+p.join("/"))}return f(m)}});var k9=w((plt,v9)=>{var S9=require("assert");v9.exports=()=>{let t=new Map,e=new Map,{join:r}=require("path"),i=u=>r(u).split(/[\\\/]/).slice(0,-1).reduce((g,f)=>g.length?g.concat(r(g[g.length-1],f)):[f],[]),n=new Set,s=u=>{let g=e.get(u);if(!g)throw new Error("function does not have any path reservations");return{paths:g.paths.map(f=>t.get(f)),dirs:[...g.dirs].map(f=>t.get(f))}},o=u=>{let{paths:g,dirs:f}=s(u);return g.every(h=>h[0]===u)&&f.every(h=>h[0]instanceof Set&&h[0].has(u))},a=u=>n.has(u)||!o(u)?!1:(n.add(u),u(()=>l(u)),!0),l=u=>{if(!n.has(u))return!1;let{paths:g,dirs:f}=e.get(u),h=new Set;return g.forEach(p=>{let m=t.get(p);S9.equal(m[0],u),m.length===1?t.delete(p):(m.shift(),typeof m[0]=="function"?h.add(m[0]):m[0].forEach(y=>h.add(y)))}),f.forEach(p=>{let m=t.get(p);S9(m[0]instanceof Set),m[0].size===1&&m.length===1?t.delete(p):m[0].size===1?(m.shift(),h.add(m[0])):m[0].delete(u)}),n.delete(u),h.forEach(p=>a(p)),!0};return{check:o,reserve:(u,g)=>{let f=new Set(u.map(h=>i(h)).reduce((h,p)=>h.concat(p)));return e.set(g,{dirs:f,paths:u}),u.forEach(h=>{let p=t.get(h);p?p.push(g):t.set(h,[g])}),f.forEach(h=>{let p=t.get(h);p?p[p.length-1]instanceof Set?p[p.length-1].add(g):p.push(new Set([g])):t.set(h,[new Set([g])])}),a(g)}}}});var D9=w((dlt,x9)=>{var UNe=process.env.__FAKE_PLATFORM__||process.platform,KNe=UNe==="win32",HNe=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:jNe,O_TRUNC:GNe,O_WRONLY:YNe,UV_FS_O_FILEMAP:P9=0}=HNe.constants,qNe=KNe&&!!P9,JNe=512*1024,WNe=P9|GNe|jNe|YNe;x9.exports=qNe?t=>t"w"});var BR=w((Ilt,R9)=>{"use strict";var zNe=require("assert"),Clt=require("events").EventEmitter,_Ne=nC(),$t=require("fs"),VNe=Cf(),lA=require("path"),pR=Q9(),mlt=pR.sync,F9=PD(),XNe=k9(),N9=Symbol("onEntry"),dR=Symbol("checkFs"),L9=Symbol("checkFs2"),CR=Symbol("isReusable"),cA=Symbol("makeFs"),mR=Symbol("file"),ER=Symbol("directory"),JB=Symbol("link"),T9=Symbol("symlink"),O9=Symbol("hardlink"),M9=Symbol("unsupported"),Elt=Symbol("unknown"),U9=Symbol("checkPath"),wf=Symbol("mkdir"),dn=Symbol("onError"),WB=Symbol("pending"),K9=Symbol("pend"),Bf=Symbol("unpend"),IR=Symbol("ended"),yR=Symbol("maybeClose"),wR=Symbol("skip"),oC=Symbol("doChown"),aC=Symbol("uid"),AC=Symbol("gid"),H9=require("crypto"),j9=D9(),zB=()=>{throw new Error("sync function called cb somehow?!?")},ZNe=(t,e)=>{if(process.platform!=="win32")return $t.unlink(t,e);let r=t+".DELETE."+H9.randomBytes(16).toString("hex");$t.rename(t,r,i=>{if(i)return e(i);$t.unlink(r,e)})},$Ne=t=>{if(process.platform!=="win32")return $t.unlinkSync(t);let e=t+".DELETE."+H9.randomBytes(16).toString("hex");$t.renameSync(t,e),$t.unlinkSync(e)},G9=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,_B=class extends _Ne{constructor(e){if(e||(e={}),e.ondone=r=>{this[IR]=!0,this[yR]()},super(e),this.reservations=XNe(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[WB]=0,this[IR]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||process.platform==="win32",this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=lA.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[N9](r))}warn(e,r,i={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(i.recoverable=!1),super.warn(e,r,i)}[yR](){this[IR]&&this[WB]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[U9](e){if(this.strip){let r=e.path.split(/\/|\\/);if(r.length=this.strip&&(e.linkpath=i.slice(this.strip).join("/"))}}if(!this.preservePaths){let r=e.path;if(r.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;if(lA.win32.isAbsolute(r)){let i=lA.win32.parse(r);e.path=r.substr(i.root.length);let n=i.root;this.warn("TAR_ENTRY_INFO",`stripping ${n} from absolute path`,{entry:e,path:r})}}if(this.win32){let r=lA.win32.parse(e.path);e.path=r.root===""?F9.encode(e.path):r.root+F9.encode(e.path.substr(r.root.length))}return lA.isAbsolute(e.path)?e.absolute=e.path:e.absolute=lA.resolve(this.cwd,e.path),!0}[N9](e){if(!this[U9](e))return e.resume();switch(zNe.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[dR](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[M9](e)}}[dn](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[Bf](),r.resume())}[wf](e,r,i){pR(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r},i)}[oC](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[aC](e){return G9(this.uid,e.uid,this.processUid)}[AC](e){return G9(this.gid,e.gid,this.processGid)}[mR](e,r){let i=e.mode&4095||this.fmode,n=new VNe.WriteStream(e.absolute,{flags:j9(e.size),mode:i,autoClose:!1});n.on("error",l=>this[dn](l,e));let s=1,o=l=>{if(l)return this[dn](l,e);--s==0&&$t.close(n.fd,c=>{r(),c?this[dn](c,e):this[Bf]()})};n.on("finish",l=>{let c=e.absolute,u=n.fd;if(e.mtime&&!this.noMtime){s++;let g=e.atime||new Date,f=e.mtime;$t.futimes(u,g,f,h=>h?$t.utimes(c,g,f,p=>o(p&&h)):o())}if(this[oC](e)){s++;let g=this[aC](e),f=this[AC](e);$t.fchown(u,g,f,h=>h?$t.chown(c,g,f,p=>o(p&&h)):o())}o()});let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.pipe(n)}[ER](e,r){let i=e.mode&4095||this.dmode;this[wf](e.absolute,i,n=>{if(n)return r(),this[dn](n,e);let s=1,o=a=>{--s==0&&(r(),this[Bf](),e.resume())};e.mtime&&!this.noMtime&&(s++,$t.utimes(e.absolute,e.atime||new Date,e.mtime,o)),this[oC](e)&&(s++,$t.chown(e.absolute,this[aC](e),this[AC](e),o)),o()})}[M9](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[T9](e,r){this[JB](e,e.linkpath,"symlink",r)}[O9](e,r){this[JB](e,lA.resolve(this.cwd,e.linkpath),"link",r)}[K9](){this[WB]++}[Bf](){this[WB]--,this[yR]()}[wR](e){this[Bf](),e.resume()}[CR](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&process.platform!=="win32"}[dR](e){this[K9]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,i=>this[L9](e,i))}[L9](e,r){this[wf](lA.dirname(e.absolute),this.dmode,i=>{if(i)return r(),this[dn](i,e);$t.lstat(e.absolute,(n,s)=>{s&&(this.keep||this.newer&&s.mtime>e.mtime)?(this[wR](e),r()):n||this[CR](e,s)?this[cA](null,e,r):s.isDirectory()?e.type==="Directory"?!e.mode||(s.mode&4095)===e.mode?this[cA](null,e,r):$t.chmod(e.absolute,e.mode,o=>this[cA](o,e,r)):$t.rmdir(e.absolute,o=>this[cA](o,e,r)):ZNe(e.absolute,o=>this[cA](o,e,r))})})}[cA](e,r,i){if(e)return this[dn](e,r);switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[mR](r,i);case"Link":return this[O9](r,i);case"SymbolicLink":return this[T9](r,i);case"Directory":case"GNUDumpDir":return this[ER](r,i)}}[JB](e,r,i,n){$t[i](r,e.absolute,s=>{if(s)return this[dn](s,e);n(),this[Bf](),e.resume()})}},Y9=class extends _B{constructor(e){super(e)}[dR](e){let r=this[wf](lA.dirname(e.absolute),this.dmode,zB);if(r)return this[dn](r,e);try{let i=$t.lstatSync(e.absolute);if(this.keep||this.newer&&i.mtime>e.mtime)return this[wR](e);if(this[CR](e,i))return this[cA](null,e,zB);try{return i.isDirectory()?e.type==="Directory"?e.mode&&(i.mode&4095)!==e.mode&&$t.chmodSync(e.absolute,e.mode):$t.rmdirSync(e.absolute):$Ne(e.absolute),this[cA](null,e,zB)}catch(n){return this[dn](n,e)}}catch(i){return this[cA](null,e,zB)}}[mR](e,r){let i=e.mode&4095||this.fmode,n=l=>{let c;try{$t.closeSync(o)}catch(u){c=u}(l||c)&&this[dn](l||c,e)},s,o;try{o=$t.openSync(e.absolute,j9(e.size),i)}catch(l){return n(l)}let a=this.transform&&this.transform(e)||e;a!==e&&(a.on("error",l=>this[dn](l,e)),e.pipe(a)),a.on("data",l=>{try{$t.writeSync(o,l,0,l.length)}catch(c){n(c)}}),a.on("end",l=>{let c=null;if(e.mtime&&!this.noMtime){let u=e.atime||new Date,g=e.mtime;try{$t.futimesSync(o,u,g)}catch(f){try{$t.utimesSync(e.absolute,u,g)}catch(h){c=f}}}if(this[oC](e)){let u=this[aC](e),g=this[AC](e);try{$t.fchownSync(o,u,g)}catch(f){try{$t.chownSync(e.absolute,u,g)}catch(h){c=c||f}}}n(c)})}[ER](e,r){let i=e.mode&4095||this.dmode,n=this[wf](e.absolute,i);if(n)return this[dn](n,e);if(e.mtime&&!this.noMtime)try{$t.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(s){}if(this[oC](e))try{$t.chownSync(e.absolute,this[aC](e),this[AC](e))}catch(s){}e.resume()}[wf](e,r){try{return pR.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(i){return i}}[JB](e,r,i,n){try{$t[i+"Sync"](r,e.absolute),e.resume()}catch(s){return this[dn](s,e)}}};_B.Sync=Y9;R9.exports=_B});var _9=w((wlt,q9)=>{"use strict";var eLe=sf(),VB=BR(),J9=require("fs"),W9=Cf(),z9=require("path"),ylt=q9.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let i=eLe(t);if(i.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&tLe(i,e),i.file&&i.sync?rLe(i):i.file?iLe(i,r):i.sync?nLe(i):sLe(i)},tLe=(t,e)=>{let r=new Map(e.map(s=>[s.replace(/\/+$/,""),!0])),i=t.filter,n=(s,o)=>{let a=o||z9.parse(s).root||".",l=s===a?!1:r.has(s)?r.get(s):n(z9.dirname(s),a);return r.set(s,l),l};t.filter=i?(s,o)=>i(s,o)&&n(s.replace(/\/+$/,"")):s=>n(s.replace(/\/+$/,""))},rLe=t=>{let e=new VB.Sync(t),r=t.file,i=!0,n,s=J9.statSync(r),o=t.maxReadSize||16*1024*1024;new W9.ReadStreamSync(r,{readSize:o,size:s.size}).pipe(e)},iLe=(t,e)=>{let r=new VB(t),i=t.maxReadSize||16*1024*1024,n=t.file,s=new Promise((o,a)=>{r.on("error",a),r.on("close",o),J9.stat(n,(l,c)=>{if(l)a(l);else{let u=new W9.ReadStream(n,{readSize:i,size:c.size});u.on("error",a),u.pipe(r)}})});return e?s.then(e,e):s},nLe=t=>new VB.Sync(t),sLe=t=>new VB(t)});var V9=w(hi=>{"use strict";hi.c=hi.create=NV();hi.r=hi.replace=oR();hi.t=hi.list=HB();hi.u=hi.update=GV();hi.x=hi.extract=_9();hi.Pack=xB();hi.Unpack=BR();hi.Parse=nC();hi.ReadEntry=Zd();hi.WriteEntry=OD();hi.Header=lf();hi.Pax=pB();hi.types=Xd()});var t7=w((Qlt,e7)=>{var QR;e7.exports.getContent=()=>(typeof QR=="undefined"&&(QR=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),QR)});var a7=w((vR,o7)=>{(function(t,e){typeof vR=="object"?o7.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(vR,function(){function t(n,s){var o=s?"\u2514":"\u251C";return n?o+="\u2500 ":o+="\u2500\u2500\u2510",o}function e(n,s){var o=[];for(var a in n)!n.hasOwnProperty(a)||s&&typeof n[a]=="function"||o.push(a);return o}function r(n,s,o,a,l,c,u){var g="",f=0,h,p,m=a.slice(0);if(m.push([s,o])&&a.length>0&&(a.forEach(function(Q,S){S>0&&(g+=(Q[1]?" ":"\u2502")+" "),!p&&Q[0]===s&&(p=!0)}),g+=t(n,o)+n,l&&(typeof s!="object"||s instanceof Date)&&(g+=": "+s),p&&(g+=" (circular ref.)"),u(g)),!p&&typeof s=="object"){var y=e(s,c);y.forEach(function(Q){h=++f===y.length,r(Q,s[Q],h,m,l,c,u)})}}var i={};return i.asLines=function(n,s,o,a){var l=typeof o!="function"?o:!1;r(".",n,!1,[],s,l,a||o)},i.asTree=function(n,s,o){var a="";return r(".",n,!1,[],s,o,function(l){a+=l+` +`}),a},i})});var gA=w(xR=>{"use strict";Object.defineProperty(xR,"__esModule",{value:!0});xR.default=f7;function f7(){}f7.prototype={diff:function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=i.callback;typeof i=="function"&&(n=i,i={}),this.options=i;var s=this;function o(m){return n?(setTimeout(function(){n(void 0,m)},0),!0):m}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var a=r.length,l=e.length,c=1,u=a+l,g=[{newPos:-1,components:[]}],f=this.extractCommon(g[0],r,e,0);if(g[0].newPos+1>=a&&f+1>=l)return o([{value:this.join(r),count:r.length}]);function h(){for(var m=-1*c;m<=c;m+=2){var y=void 0,Q=g[m-1],S=g[m+1],x=(S?S.newPos:0)-m;Q&&(g[m-1]=void 0);var M=Q&&Q.newPos+1=a&&x+1>=l)return o(fLe(s,y.components,r,e,s.useLongestToken));g[m]=y}c++}if(n)(function m(){setTimeout(function(){if(c>u)return n();h()||m()},0)})();else for(;c<=u;){var p=h();if(p)return p}},pushComponent:function(e,r,i){var n=e[e.length-1];n&&n.added===r&&n.removed===i?e[e.length-1]={count:n.count+1,added:r,removed:i}:e.push({count:1,added:r,removed:i})},extractCommon:function(e,r,i,n){for(var s=r.length,o=i.length,a=e.newPos,l=a-n,c=0;a+1h.length?m:h}),c.value=t.join(u)}else c.value=t.join(r.slice(a,a+c.count));a+=c.count,c.added||(l+=c.count)}}var f=e[o-1];return o>1&&typeof f.value=="string"&&(f.added||f.removed)&&t.equals("",f.value)&&(e[o-2].value+=f.value,e.pop()),e}function hLe(t){return{newPos:t.newPos,components:t.components.slice(0)}}});var p7=w(lC=>{"use strict";Object.defineProperty(lC,"__esModule",{value:!0});lC.diffChars=pLe;lC.characterDiff=void 0;var CLe=dLe(gA());function dLe(t){return t&&t.__esModule?t:{default:t}}var h7=new CLe.default;lC.characterDiff=h7;function pLe(t,e,r){return h7.diff(t,e,r)}});var DR=w(PR=>{"use strict";Object.defineProperty(PR,"__esModule",{value:!0});PR.generateOptions=mLe;function mLe(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}});var m7=w(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.diffWords=ELe;bf.diffWordsWithSpace=ILe;bf.wordDiff=void 0;var wLe=yLe(gA()),BLe=DR();function yLe(t){return t&&t.__esModule?t:{default:t}}var d7=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,C7=/\S/,cC=new wLe.default;bf.wordDiff=cC;cC.equals=function(t,e){return this.options.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t===e||this.options.ignoreWhitespace&&!C7.test(t)&&!C7.test(e)};cC.tokenize=function(t){for(var e=t.split(/(\s+|[()[\]{}'"]|\b)/),r=0;r{"use strict";Object.defineProperty(Qf,"__esModule",{value:!0});Qf.diffLines=bLe;Qf.diffTrimmedLines=QLe;Qf.lineDiff=void 0;var SLe=vLe(gA()),kLe=DR();function vLe(t){return t&&t.__esModule?t:{default:t}}var XB=new SLe.default;Qf.lineDiff=XB;XB.tokenize=function(t){var e=[],r=t.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(var i=0;i{"use strict";Object.defineProperty(uC,"__esModule",{value:!0});uC.diffSentences=xLe;uC.sentenceDiff=void 0;var DLe=PLe(gA());function PLe(t){return t&&t.__esModule?t:{default:t}}var RR=new DLe.default;uC.sentenceDiff=RR;RR.tokenize=function(t){return t.split(/(\S.+?[.!?])(?=\s+|$)/)};function xLe(t,e,r){return RR.diff(t,e,r)}});var I7=w(gC=>{"use strict";Object.defineProperty(gC,"__esModule",{value:!0});gC.diffCss=RLe;gC.cssDiff=void 0;var NLe=FLe(gA());function FLe(t){return t&&t.__esModule?t:{default:t}}var FR=new NLe.default;gC.cssDiff=FR;FR.tokenize=function(t){return t.split(/([{}:;,]|\s+)/)};function RLe(t,e,r){return FR.diff(t,e,r)}});var w7=w(vf=>{"use strict";Object.defineProperty(vf,"__esModule",{value:!0});vf.diffJson=LLe;vf.canonicalize=$B;vf.jsonDiff=void 0;var y7=TLe(gA()),OLe=ZB();function TLe(t){return t&&t.__esModule?t:{default:t}}function e0(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?e0=function(r){return typeof r}:e0=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},e0(t)}var MLe=Object.prototype.toString,au=new y7.default;vf.jsonDiff=au;au.useLongestToken=!0;au.tokenize=OLe.lineDiff.tokenize;au.castInput=function(t){var e=this.options,r=e.undefinedReplacement,i=e.stringifyReplacer,n=i===void 0?function(s,o){return typeof o=="undefined"?r:o}:i;return typeof t=="string"?t:JSON.stringify($B(t,null,null,n),n," ")};au.equals=function(t,e){return y7.default.prototype.equals.call(au,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};function LLe(t,e,r){return au.diff(t,e,r)}function $B(t,e,r,i,n){e=e||[],r=r||[],i&&(t=i(n,t));var s;for(s=0;s{"use strict";Object.defineProperty(fC,"__esModule",{value:!0});fC.diffArrays=ULe;fC.arrayDiff=void 0;var HLe=KLe(gA());function KLe(t){return t&&t.__esModule?t:{default:t}}var hC=new HLe.default;fC.arrayDiff=hC;hC.tokenize=function(t){return t.slice()};hC.join=hC.removeEmpty=function(t){return t};function ULe(t,e,r){return hC.diff(t,e,r)}});var t0=w(NR=>{"use strict";Object.defineProperty(NR,"__esModule",{value:!0});NR.parsePatch=jLe;function jLe(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.split(/\r\n|[\n\v\f\r\x85]/),i=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],n=[],s=0;function o(){var c={};for(n.push(c);s{"use strict";Object.defineProperty(LR,"__esModule",{value:!0});LR.default=GLe;function GLe(t,e,r){var i=!0,n=!1,s=!1,o=1;return function a(){if(i&&!s){if(n?o++:i=!1,t+o<=r)return o;s=!0}if(!n)return s||(i=!0),e<=t-o?-o++:(n=!0,a())}}});var S7=w(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});r0.applyPatch=Q7;r0.applyPatches=YLe;var v7=t0(),JLe=qLe(b7());function qLe(t){return t&&t.__esModule?t:{default:t}}function Q7(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof e=="string"&&(e=(0,v7.parsePatch)(e)),Array.isArray(e)){if(e.length>1)throw new Error("applyPatch only works with a single input.");e=e[0]}var i=t.split(/\r\n|[\n\v\f\r\x85]/),n=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=e.hunks,o=r.compareLine||function(T,L,Ee,we){return L===we},a=0,l=r.fuzzFactor||0,c=0,u=0,g,f;function h(T,L){for(var Ee=0;Ee0?we[0]:" ",re=we.length>0?we.substr(1):we;if(qe===" "||qe==="-"){if(!o(L+1,i[L],qe,re)&&(a++,a>l))return!1;L++}}return!0}for(var p=0;p0?ee[0]:" ",A=ee.length>0?ee.substr(1):ee,ne=U.linedelimiters[W];if(Z===" ")J++;else if(Z==="-")i.splice(J,1),n.splice(J,1);else if(Z==="+")i.splice(J,0,A),n.splice(J,0,ne),J++;else if(Z==="\\"){var le=U.lines[W-1]?U.lines[W-1][0]:null;le==="+"?g=!0:le==="-"&&(f=!0)}}}if(g)for(;!i[i.length-1];)i.pop(),n.pop();else f&&(i.push(""),n.push(` +`));for(var Ae=0;Ae{"use strict";Object.defineProperty(pC,"__esModule",{value:!0});pC.structuredPatch=k7;pC.createTwoFilesPatch=x7;pC.createPatch=WLe;var zLe=ZB();function TR(t){return XLe(t)||VLe(t)||_Le()}function _Le(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function VLe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function XLe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e0?l(U.lines.slice(-o.context)):[],u-=f.length,g-=f.length)}(Y=f).push.apply(Y,TR(M.map(function(Ae){return(x.added?"+":"-")+Ae}))),x.added?p+=M.length:h+=M.length}else{if(u)if(M.length<=o.context*2&&S=a.length-2&&M.length<=o.context){var A=/\n$/.test(r),ne=/\n$/.test(i),le=M.length==0&&f.length>Z.oldLines;!A&&le&&f.splice(Z.oldLines,0,"\\ No newline at end of file"),(!A&&!le||!ne)&&f.push("\\ No newline at end of file")}c.push(Z),u=0,g=0,f=[]}h+=M.length,p+=M.length}},y=0;y{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});i0.arrayEqual=ZLe;i0.arrayStartsWith=P7;function ZLe(t,e){return t.length!==e.length?!1:P7(t,e)}function P7(t,e){if(e.length>t.length)return!1;for(var r=0;r{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});n0.calcLineCount=R7;n0.merge=$Le;var eTe=OR(),tTe=t0(),MR=D7();function Sf(t){return nTe(t)||iTe(t)||rTe()}function rTe(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function iTe(t){if(Symbol.iterator in Object(t)||Object.prototype.toString.call(t)==="[object Arguments]")return Array.from(t)}function nTe(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e{"use strict";Object.defineProperty(HR,"__esModule",{value:!0});HR.convertChangesToDMP=ATe;function ATe(t){for(var e=[],r,i,n=0;n{"use strict";Object.defineProperty(jR,"__esModule",{value:!0});jR.convertChangesToXML=lTe;function lTe(t){for(var e=[],r=0;r"):i.removed&&e.push(""),e.push(cTe(i.value)),i.added?e.push(""):i.removed&&e.push("")}return e.join("")}function cTe(t){var e=t;return e=e.replace(/&/g,"&"),e=e.replace(//g,">"),e=e.replace(/"/g,"""),e}});var _7=w(Kr=>{"use strict";Object.defineProperty(Kr,"__esModule",{value:!0});Object.defineProperty(Kr,"Diff",{enumerable:!0,get:function(){return uTe.default}});Object.defineProperty(Kr,"diffChars",{enumerable:!0,get:function(){return gTe.diffChars}});Object.defineProperty(Kr,"diffWords",{enumerable:!0,get:function(){return q7.diffWords}});Object.defineProperty(Kr,"diffWordsWithSpace",{enumerable:!0,get:function(){return q7.diffWordsWithSpace}});Object.defineProperty(Kr,"diffLines",{enumerable:!0,get:function(){return J7.diffLines}});Object.defineProperty(Kr,"diffTrimmedLines",{enumerable:!0,get:function(){return J7.diffTrimmedLines}});Object.defineProperty(Kr,"diffSentences",{enumerable:!0,get:function(){return fTe.diffSentences}});Object.defineProperty(Kr,"diffCss",{enumerable:!0,get:function(){return hTe.diffCss}});Object.defineProperty(Kr,"diffJson",{enumerable:!0,get:function(){return W7.diffJson}});Object.defineProperty(Kr,"canonicalize",{enumerable:!0,get:function(){return W7.canonicalize}});Object.defineProperty(Kr,"diffArrays",{enumerable:!0,get:function(){return pTe.diffArrays}});Object.defineProperty(Kr,"applyPatch",{enumerable:!0,get:function(){return z7.applyPatch}});Object.defineProperty(Kr,"applyPatches",{enumerable:!0,get:function(){return z7.applyPatches}});Object.defineProperty(Kr,"parsePatch",{enumerable:!0,get:function(){return dTe.parsePatch}});Object.defineProperty(Kr,"merge",{enumerable:!0,get:function(){return CTe.merge}});Object.defineProperty(Kr,"structuredPatch",{enumerable:!0,get:function(){return GR.structuredPatch}});Object.defineProperty(Kr,"createTwoFilesPatch",{enumerable:!0,get:function(){return GR.createTwoFilesPatch}});Object.defineProperty(Kr,"createPatch",{enumerable:!0,get:function(){return GR.createPatch}});Object.defineProperty(Kr,"convertChangesToDMP",{enumerable:!0,get:function(){return mTe.convertChangesToDMP}});Object.defineProperty(Kr,"convertChangesToXML",{enumerable:!0,get:function(){return ETe.convertChangesToXML}});var uTe=ITe(gA()),gTe=p7(),q7=m7(),J7=ZB(),fTe=E7(),hTe=I7(),W7=w7(),pTe=B7(),z7=S7(),dTe=t0(),CTe=j7(),GR=OR(),mTe=G7(),ETe=Y7();function ITe(t){return t&&t.__esModule?t:{default:t}}});var o0=w((Cct,V7)=>{var yTe=Os(),wTe=Id(),BTe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,bTe=/^\w*$/;function QTe(t,e){if(yTe(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wTe(t)?!0:bTe.test(t)||!BTe.test(t)||e!=null&&t in Object(e)}V7.exports=QTe});var a0=w((mct,X7)=>{var vTe=Hc(),STe=Rn(),kTe="[object AsyncFunction]",xTe="[object Function]",PTe="[object GeneratorFunction]",DTe="[object Proxy]";function RTe(t){if(!STe(t))return!1;var e=vTe(t);return e==xTe||e==PTe||e==kTe||e==DTe}X7.exports=RTe});var $7=w((Ect,Z7)=>{var FTe=Rs(),NTe=FTe["__core-js_shared__"];Z7.exports=NTe});var rX=w((Ict,eX)=>{var YR=$7(),tX=function(){var t=/[^.]+$/.exec(YR&&YR.keys&&YR.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function LTe(t){return!!tX&&tX in t}eX.exports=LTe});var qR=w((yct,iX)=>{var TTe=Function.prototype,OTe=TTe.toString;function MTe(t){if(t!=null){try{return OTe.call(t)}catch(e){}try{return t+""}catch(e){}}return""}iX.exports=MTe});var sX=w((wct,nX)=>{var UTe=a0(),KTe=rX(),HTe=Rn(),jTe=qR(),GTe=/[\\^$.*+?()[\]{}|]/g,YTe=/^\[object .+?Constructor\]$/,qTe=Function.prototype,JTe=Object.prototype,WTe=qTe.toString,zTe=JTe.hasOwnProperty,_Te=RegExp("^"+WTe.call(zTe).replace(GTe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VTe(t){if(!HTe(t)||KTe(t))return!1;var e=UTe(t)?_Te:YTe;return e.test(jTe(t))}nX.exports=VTe});var aX=w((Bct,oX)=>{function XTe(t,e){return t==null?void 0:t[e]}oX.exports=XTe});var vl=w((bct,AX)=>{var ZTe=sX(),$Te=aX();function eOe(t,e){var r=$Te(t,e);return ZTe(r)?r:void 0}AX.exports=eOe});var dC=w((Qct,lX)=>{var tOe=vl(),rOe=tOe(Object,"create");lX.exports=rOe});var gX=w((vct,cX)=>{var uX=dC();function iOe(){this.__data__=uX?uX(null):{},this.size=0}cX.exports=iOe});var hX=w((Sct,fX)=>{function nOe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}fX.exports=nOe});var dX=w((kct,pX)=>{var sOe=dC(),oOe="__lodash_hash_undefined__",aOe=Object.prototype,AOe=aOe.hasOwnProperty;function lOe(t){var e=this.__data__;if(sOe){var r=e[t];return r===oOe?void 0:r}return AOe.call(e,t)?e[t]:void 0}pX.exports=lOe});var mX=w((xct,CX)=>{var cOe=dC(),uOe=Object.prototype,gOe=uOe.hasOwnProperty;function fOe(t){var e=this.__data__;return cOe?e[t]!==void 0:gOe.call(e,t)}CX.exports=fOe});var IX=w((Pct,EX)=>{var hOe=dC(),pOe="__lodash_hash_undefined__";function dOe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=hOe&&e===void 0?pOe:e,this}EX.exports=dOe});var wX=w((Dct,yX)=>{var COe=gX(),mOe=hX(),EOe=dX(),IOe=mX(),yOe=IX();function kf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{function wOe(){this.__data__=[],this.size=0}BX.exports=wOe});var xf=w((Fct,QX)=>{function BOe(t,e){return t===e||t!==t&&e!==e}QX.exports=BOe});var CC=w((Nct,vX)=>{var bOe=xf();function QOe(t,e){for(var r=t.length;r--;)if(bOe(t[r][0],e))return r;return-1}vX.exports=QOe});var kX=w((Lct,SX)=>{var vOe=CC(),SOe=Array.prototype,kOe=SOe.splice;function xOe(t){var e=this.__data__,r=vOe(e,t);if(r<0)return!1;var i=e.length-1;return r==i?e.pop():kOe.call(e,r,1),--this.size,!0}SX.exports=xOe});var PX=w((Tct,xX)=>{var POe=CC();function DOe(t){var e=this.__data__,r=POe(e,t);return r<0?void 0:e[r][1]}xX.exports=DOe});var RX=w((Oct,DX)=>{var ROe=CC();function FOe(t){return ROe(this.__data__,t)>-1}DX.exports=FOe});var NX=w((Mct,FX)=>{var NOe=CC();function LOe(t,e){var r=this.__data__,i=NOe(r,t);return i<0?(++this.size,r.push([t,e])):r[i][1]=e,this}FX.exports=LOe});var mC=w((Uct,LX)=>{var TOe=bX(),OOe=kX(),MOe=PX(),UOe=RX(),KOe=NX();function Pf(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var HOe=vl(),jOe=Rs(),GOe=HOe(jOe,"Map");TX.exports=GOe});var UX=w((Hct,OX)=>{var MX=wX(),YOe=mC(),qOe=A0();function JOe(){this.size=0,this.__data__={hash:new MX,map:new(qOe||YOe),string:new MX}}OX.exports=JOe});var HX=w((jct,KX)=>{function WOe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}KX.exports=WOe});var EC=w((Gct,jX)=>{var zOe=HX();function _Oe(t,e){var r=t.__data__;return zOe(e)?r[typeof e=="string"?"string":"hash"]:r.map}jX.exports=_Oe});var YX=w((Yct,GX)=>{var VOe=EC();function XOe(t){var e=VOe(this,t).delete(t);return this.size-=e?1:0,e}GX.exports=XOe});var JX=w((qct,qX)=>{var ZOe=EC();function $Oe(t){return ZOe(this,t).get(t)}qX.exports=$Oe});var zX=w((Jct,WX)=>{var eMe=EC();function tMe(t){return eMe(this,t).has(t)}WX.exports=tMe});var VX=w((Wct,_X)=>{var rMe=EC();function iMe(t,e){var r=rMe(this,t),i=r.size;return r.set(t,e),this.size+=r.size==i?0:1,this}_X.exports=iMe});var l0=w((zct,XX)=>{var nMe=UX(),sMe=YX(),oMe=JX(),aMe=zX(),AMe=VX();function Df(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var $X=l0(),lMe="Expected a function";function JR(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(lMe);var r=function(){var i=arguments,n=e?e.apply(this,i):i[0],s=r.cache;if(s.has(n))return s.get(n);var o=t.apply(this,i);return r.cache=s.set(n,o)||s,o};return r.cache=new(JR.Cache||$X),r}JR.Cache=$X;ZX.exports=JR});var rZ=w((Vct,tZ)=>{var cMe=eZ(),uMe=500;function gMe(t){var e=cMe(t,function(i){return r.size===uMe&&r.clear(),i}),r=e.cache;return e}tZ.exports=gMe});var nZ=w((Xct,iZ)=>{var fMe=rZ(),hMe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pMe=/\\(\\)?/g,dMe=fMe(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(hMe,function(r,i,n,s){e.push(n?s.replace(pMe,"$1"):i||r)}),e});iZ.exports=dMe});var Rf=w((Zct,sZ)=>{var CMe=Os(),mMe=o0(),EMe=nZ(),IMe=nf();function yMe(t,e){return CMe(t)?t:mMe(t,e)?[t]:EMe(IMe(t))}sZ.exports=yMe});var lu=w(($ct,oZ)=>{var wMe=Id(),BMe=1/0;function bMe(t){if(typeof t=="string"||wMe(t))return t;var e=t+"";return e=="0"&&1/t==-BMe?"-0":e}oZ.exports=bMe});var IC=w((eut,aZ)=>{var QMe=Rf(),vMe=lu();function SMe(t,e){e=QMe(e,t);for(var r=0,i=e.length;t!=null&&r{var kMe=vl(),xMe=function(){try{var t=kMe(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();AZ.exports=xMe});var Ff=w((rut,lZ)=>{var cZ=WR();function PMe(t,e,r){e=="__proto__"&&cZ?cZ(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}lZ.exports=PMe});var c0=w((iut,uZ)=>{var DMe=Ff(),RMe=xf(),FMe=Object.prototype,NMe=FMe.hasOwnProperty;function LMe(t,e,r){var i=t[e];(!(NMe.call(t,e)&&RMe(i,r))||r===void 0&&!(e in t))&&DMe(t,e,r)}uZ.exports=LMe});var yC=w((nut,gZ)=>{var TMe=9007199254740991,OMe=/^(?:0|[1-9]\d*)$/;function MMe(t,e){var r=typeof t;return e=e==null?TMe:e,!!e&&(r=="number"||r!="symbol"&&OMe.test(t))&&t>-1&&t%1==0&&t{var UMe=c0(),KMe=Rf(),HMe=yC(),hZ=Rn(),jMe=lu();function GMe(t,e,r,i){if(!hZ(t))return t;e=KMe(e,t);for(var n=-1,s=e.length,o=s-1,a=t;a!=null&&++n{var YMe=IC(),qMe=zR(),JMe=Rf();function WMe(t,e,r){for(var i=-1,n=e.length,s={};++i{function zMe(t,e){return t!=null&&e in Object(t)}CZ.exports=zMe});var IZ=w((Aut,EZ)=>{var _Me=Hc(),VMe=Zo(),XMe="[object Arguments]";function ZMe(t){return VMe(t)&&_Me(t)==XMe}EZ.exports=ZMe});var wC=w((lut,yZ)=>{var wZ=IZ(),$Me=Zo(),BZ=Object.prototype,e1e=BZ.hasOwnProperty,t1e=BZ.propertyIsEnumerable,r1e=wZ(function(){return arguments}())?wZ:function(t){return $Me(t)&&e1e.call(t,"callee")&&!t1e.call(t,"callee")};yZ.exports=r1e});var u0=w((cut,bZ)=>{var i1e=9007199254740991;function n1e(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=i1e}bZ.exports=n1e});var _R=w((uut,QZ)=>{var s1e=Rf(),o1e=wC(),a1e=Os(),A1e=yC(),l1e=u0(),c1e=lu();function u1e(t,e,r){e=s1e(e,t);for(var i=-1,n=e.length,s=!1;++i{var g1e=mZ(),f1e=_R();function h1e(t,e){return t!=null&&f1e(t,e,g1e)}vZ.exports=h1e});var kZ=w((fut,SZ)=>{var p1e=dZ(),d1e=VR();function C1e(t,e){return p1e(t,e,function(r,i){return d1e(t,i)})}SZ.exports=C1e});var g0=w((hut,xZ)=>{function m1e(t,e){for(var r=-1,i=e.length,n=t.length;++r{var DZ=Kc(),E1e=wC(),I1e=Os(),RZ=DZ?DZ.isConcatSpreadable:void 0;function y1e(t){return I1e(t)||E1e(t)||!!(RZ&&t&&t[RZ])}PZ.exports=y1e});var TZ=w((dut,NZ)=>{var w1e=g0(),B1e=FZ();function LZ(t,e,r,i,n){var s=-1,o=t.length;for(r||(r=B1e),n||(n=[]);++s0&&r(a)?e>1?LZ(a,e-1,r,i,n):w1e(n,a):i||(n[n.length]=a)}return n}NZ.exports=LZ});var MZ=w((Cut,OZ)=>{var b1e=TZ();function Q1e(t){var e=t==null?0:t.length;return e?b1e(t,1):[]}OZ.exports=Q1e});var KZ=w((mut,UZ)=>{function v1e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}UZ.exports=v1e});var XR=w((Eut,HZ)=>{var S1e=KZ(),jZ=Math.max;function k1e(t,e,r){return e=jZ(e===void 0?t.length-1:e,0),function(){for(var i=arguments,n=-1,s=jZ(i.length-e,0),o=Array(s);++n{function x1e(t){return function(){return t}}GZ.exports=x1e});var f0=w((yut,qZ)=>{function P1e(t){return t}qZ.exports=P1e});var zZ=w((wut,JZ)=>{var D1e=YZ(),WZ=WR(),R1e=f0(),F1e=WZ?function(t,e){return WZ(t,"toString",{configurable:!0,enumerable:!1,value:D1e(e),writable:!0})}:R1e;JZ.exports=F1e});var VZ=w((But,_Z)=>{var N1e=800,L1e=16,T1e=Date.now;function O1e(t){var e=0,r=0;return function(){var i=T1e(),n=L1e-(i-r);if(r=i,n>0){if(++e>=N1e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}_Z.exports=O1e});var ZR=w((but,XZ)=>{var M1e=zZ(),U1e=VZ(),K1e=U1e(M1e);XZ.exports=K1e});var $Z=w((Qut,ZZ)=>{var H1e=MZ(),j1e=XR(),G1e=ZR();function Y1e(t){return G1e(j1e(t,void 0,H1e),t+"")}ZZ.exports=Y1e});var t$=w((vut,e$)=>{var q1e=kZ(),J1e=$Z(),W1e=J1e(function(t,e){return t==null?{}:q1e(t,e)});e$.exports=W1e});var h$=w((wft,u$)=>{"use strict";var AF;try{AF=Map}catch(t){}var lF;try{lF=Set}catch(t){}function g$(t,e,r){if(!t||typeof t!="object"||typeof t=="function")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t);if(Array.isArray(t))return t.map(f$);if(AF&&t instanceof AF)return new Map(Array.from(t.entries()));if(lF&&t instanceof lF)return new Set(Array.from(t.values()));if(t instanceof Object){e.push(t);var i=Object.create(t);r.push(i);for(var n in t){var s=e.findIndex(function(o){return o===t[n]});i[n]=s>-1?r[s]:g$(t[n],e,r)}return i}return t}function f$(t){return g$(t,[],[])}u$.exports=f$});var vC=w(cF=>{"use strict";Object.defineProperty(cF,"__esModule",{value:!0});cF.default=rUe;var iUe=Object.prototype.toString,nUe=Error.prototype.toString,sUe=RegExp.prototype.toString,oUe=typeof Symbol!="undefined"?Symbol.prototype.toString:()=>"",aUe=/^Symbol\((.*)\)(.*)$/;function AUe(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function p$(t,e=!1){if(t==null||t===!0||t===!1)return""+t;let r=typeof t;if(r==="number")return AUe(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return oUe.call(t).replace(aUe,"Symbol($1)");let i=iUe.call(t).slice(8,-1);return i==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):i==="Error"||t instanceof Error?"["+nUe.call(t)+"]":i==="RegExp"?sUe.call(t):null}function rUe(t,e){let r=p$(t,e);return r!==null?r:JSON.stringify(t,function(i,n){let s=p$(this[i],e);return s!==null?s:n},2)}});var fA=w(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.default=Bi.array=Bi.object=Bi.boolean=Bi.date=Bi.number=Bi.string=Bi.mixed=void 0;var d$=lUe(vC());function lUe(t){return t&&t.__esModule?t:{default:t}}var C$={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:i})=>{let n=i!=null&&i!==r,s=`${t} must be a \`${e}\` type, but the final value was: \`${(0,d$.default)(r,!0)}\``+(n?` (cast from the value \`${(0,d$.default)(i,!0)}\`).`:".");return r===null&&(s+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),s},defined:"${path} must be defined"};Bi.mixed=C$;var m$={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};Bi.string=m$;var E$={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};Bi.number=E$;var I$={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};Bi.date=I$;var y$={isValue:"${path} field must be ${value}"};Bi.boolean=y$;var w$={noUnknown:"${path} field has unspecified keys: ${unknown}"};Bi.object=w$;var B$={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Bi.array=B$;var cUe=Object.assign(Object.create(null),{mixed:C$,string:m$,number:E$,date:I$,object:w$,array:B$,boolean:y$});Bi.default=cUe});var Q$=w((Qft,b$)=>{var uUe=Object.prototype,gUe=uUe.hasOwnProperty;function fUe(t,e){return t!=null&&gUe.call(t,e)}b$.exports=fUe});var SC=w((vft,v$)=>{var hUe=Q$(),pUe=_R();function dUe(t,e){return t!=null&&pUe(t,e,hUe)}v$.exports=dUe});var Lf=w(C0=>{"use strict";Object.defineProperty(C0,"__esModule",{value:!0});C0.default=void 0;var CUe=t=>t&&t.__isYupSchema__;C0.default=CUe});var x$=w(m0=>{"use strict";Object.defineProperty(m0,"__esModule",{value:!0});m0.default=void 0;var mUe=S$(SC()),EUe=S$(Lf());function S$(t){return t&&t.__esModule?t:{default:t}}var k$=class{constructor(e,r){if(this.refs=e,this.refs=e,typeof r=="function"){this.fn=r;return}if(!(0,mUe.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:i,then:n,otherwise:s}=r,o=typeof i=="function"?i:(...a)=>a.every(l=>l===i);this.fn=function(...a){let l=a.pop(),c=a.pop(),u=o(...a)?n:s;if(!!u)return typeof u=="function"?u(c):c.concat(u.resolve(l))}}resolve(e,r){let i=this.refs.map(s=>s.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),n=this.fn.apply(e,i.concat(e,r));if(n===void 0||n===e)return e;if(!(0,EUe.default)(n))throw new TypeError("conditions must return a schema object");return n.resolve(r)}},IUe=k$;m0.default=IUe});var gF=w(uF=>{"use strict";Object.defineProperty(uF,"__esModule",{value:!0});uF.default=yUe;function yUe(t){return t==null?[]:[].concat(t)}});var cu=w(E0=>{"use strict";Object.defineProperty(E0,"__esModule",{value:!0});E0.default=void 0;var wUe=P$(vC()),BUe=P$(gF());function P$(t){return t&&t.__esModule?t:{default:t}}function fF(){return fF=Object.assign||function(t){for(var e=1;e(0,wUe.default)(r[s])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,i,n){super();this.name="ValidationError",this.value=r,this.path=i,this.type=n,this.errors=[],this.inner=[],(0,BUe.default)(e).forEach(s=>{kC.isError(s)?(this.errors.push(...s.errors),this.inner=this.inner.concat(s.inner.length?s.inner:s)):this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,kC)}};E0.default=kC});var I0=w(hF=>{"use strict";Object.defineProperty(hF,"__esModule",{value:!0});hF.default=QUe;var pF=vUe(cu());function vUe(t){return t&&t.__esModule?t:{default:t}}var SUe=t=>{let e=!1;return(...r)=>{e||(e=!0,t(...r))}};function QUe(t,e){let{endEarly:r,tests:i,args:n,value:s,errors:o,sort:a,path:l}=t,c=SUe(e),u=i.length,g=[];if(o=o||[],!u)return o.length?c(new pF.default(o,s,l)):c(null,s);for(let f=0;f{function kUe(t){return function(e,r,i){for(var n=-1,s=Object(e),o=i(e),a=o.length;a--;){var l=o[t?a:++n];if(r(s[l],l,s)===!1)break}return e}}D$.exports=kUe});var dF=w((Fft,F$)=>{var xUe=R$(),PUe=xUe();F$.exports=PUe});var L$=w((Nft,N$)=>{function DUe(t,e){for(var r=-1,i=Array(t);++r{function RUe(){return!1}T$.exports=RUe});var PC=w((xC,Tf)=>{var FUe=Rs(),NUe=O$(),M$=typeof xC=="object"&&xC&&!xC.nodeType&&xC,U$=M$&&typeof Tf=="object"&&Tf&&!Tf.nodeType&&Tf,LUe=U$&&U$.exports===M$,K$=LUe?FUe.Buffer:void 0,TUe=K$?K$.isBuffer:void 0,OUe=TUe||NUe;Tf.exports=OUe});var j$=w((Tft,H$)=>{var MUe=Hc(),UUe=u0(),KUe=Zo(),HUe="[object Arguments]",jUe="[object Array]",GUe="[object Boolean]",YUe="[object Date]",qUe="[object Error]",JUe="[object Function]",WUe="[object Map]",zUe="[object Number]",_Ue="[object Object]",VUe="[object RegExp]",XUe="[object Set]",ZUe="[object String]",$Ue="[object WeakMap]",eKe="[object ArrayBuffer]",tKe="[object DataView]",rKe="[object Float32Array]",iKe="[object Float64Array]",nKe="[object Int8Array]",sKe="[object Int16Array]",oKe="[object Int32Array]",aKe="[object Uint8Array]",AKe="[object Uint8ClampedArray]",lKe="[object Uint16Array]",cKe="[object Uint32Array]",wr={};wr[rKe]=wr[iKe]=wr[nKe]=wr[sKe]=wr[oKe]=wr[aKe]=wr[AKe]=wr[lKe]=wr[cKe]=!0;wr[HUe]=wr[jUe]=wr[eKe]=wr[GUe]=wr[tKe]=wr[YUe]=wr[qUe]=wr[JUe]=wr[WUe]=wr[zUe]=wr[_Ue]=wr[VUe]=wr[XUe]=wr[ZUe]=wr[$Ue]=!1;function uKe(t){return KUe(t)&&UUe(t.length)&&!!wr[MUe(t)]}H$.exports=uKe});var y0=w((Oft,G$)=>{function gKe(t){return function(e){return t(e)}}G$.exports=gKe});var w0=w((DC,Of)=>{var fKe=ux(),Y$=typeof DC=="object"&&DC&&!DC.nodeType&&DC,RC=Y$&&typeof Of=="object"&&Of&&!Of.nodeType&&Of,hKe=RC&&RC.exports===Y$,CF=hKe&&fKe.process,pKe=function(){try{var t=RC&&RC.require&&RC.require("util").types;return t||CF&&CF.binding&&CF.binding("util")}catch(e){}}();Of.exports=pKe});var B0=w((Mft,q$)=>{var dKe=j$(),CKe=y0(),J$=w0(),W$=J$&&J$.isTypedArray,mKe=W$?CKe(W$):dKe;q$.exports=mKe});var mF=w((Uft,z$)=>{var EKe=L$(),IKe=wC(),yKe=Os(),wKe=PC(),BKe=yC(),bKe=B0(),QKe=Object.prototype,vKe=QKe.hasOwnProperty;function SKe(t,e){var r=yKe(t),i=!r&&IKe(t),n=!r&&!i&&wKe(t),s=!r&&!i&&!n&&bKe(t),o=r||i||n||s,a=o?EKe(t.length,String):[],l=a.length;for(var c in t)(e||vKe.call(t,c))&&!(o&&(c=="length"||n&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||BKe(c,l)))&&a.push(c);return a}z$.exports=SKe});var b0=w((Kft,_$)=>{var kKe=Object.prototype;function xKe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||kKe;return t===r}_$.exports=xKe});var EF=w((Hft,V$)=>{function PKe(t,e){return function(r){return t(e(r))}}V$.exports=PKe});var Z$=w((jft,X$)=>{var DKe=EF(),RKe=DKe(Object.keys,Object);X$.exports=RKe});var eee=w((Gft,$$)=>{var FKe=b0(),NKe=Z$(),LKe=Object.prototype,TKe=LKe.hasOwnProperty;function OKe(t){if(!FKe(t))return NKe(t);var e=[];for(var r in Object(t))TKe.call(t,r)&&r!="constructor"&&e.push(r);return e}$$.exports=OKe});var FC=w((Yft,tee)=>{var MKe=a0(),UKe=u0();function KKe(t){return t!=null&&UKe(t.length)&&!MKe(t)}tee.exports=KKe});var Mf=w((qft,ree)=>{var HKe=mF(),jKe=eee(),GKe=FC();function YKe(t){return GKe(t)?HKe(t):jKe(t)}ree.exports=YKe});var IF=w((Jft,iee)=>{var qKe=dF(),JKe=Mf();function WKe(t,e){return t&&qKe(t,e,JKe)}iee.exports=WKe});var see=w((Wft,nee)=>{var zKe=mC();function _Ke(){this.__data__=new zKe,this.size=0}nee.exports=_Ke});var aee=w((zft,oee)=>{function VKe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}oee.exports=VKe});var lee=w((_ft,Aee)=>{function XKe(t){return this.__data__.get(t)}Aee.exports=XKe});var uee=w((Vft,cee)=>{function ZKe(t){return this.__data__.has(t)}cee.exports=ZKe});var fee=w((Xft,gee)=>{var $Ke=mC(),e2e=A0(),t2e=l0(),r2e=200;function i2e(t,e){var r=this.__data__;if(r instanceof $Ke){var i=r.__data__;if(!e2e||i.length{var n2e=mC(),s2e=see(),o2e=aee(),a2e=lee(),A2e=uee(),l2e=fee();function Uf(t){var e=this.__data__=new n2e(t);this.size=e.size}Uf.prototype.clear=s2e;Uf.prototype.delete=o2e;Uf.prototype.get=a2e;Uf.prototype.has=A2e;Uf.prototype.set=l2e;hee.exports=Uf});var dee=w(($ft,pee)=>{var c2e="__lodash_hash_undefined__";function u2e(t){return this.__data__.set(t,c2e),this}pee.exports=u2e});var mee=w((eht,Cee)=>{function g2e(t){return this.__data__.has(t)}Cee.exports=g2e});var Iee=w((tht,Eee)=>{var f2e=l0(),h2e=dee(),p2e=mee();function Q0(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new f2e;++e{function d2e(t,e){for(var r=-1,i=t==null?0:t.length;++r{function C2e(t,e){return t.has(e)}Bee.exports=C2e});var yF=w((nht,Qee)=>{var m2e=Iee(),E2e=wee(),I2e=bee(),y2e=1,w2e=2;function B2e(t,e,r,i,n,s){var o=r&y2e,a=t.length,l=e.length;if(a!=l&&!(o&&l>a))return!1;var c=s.get(t),u=s.get(e);if(c&&u)return c==e&&u==t;var g=-1,f=!0,h=r&w2e?new m2e:void 0;for(s.set(t,e),s.set(e,t);++g{var b2e=Rs(),Q2e=b2e.Uint8Array;vee.exports=Q2e});var kee=w((oht,See)=>{function v2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i,n){r[++e]=[n,i]}),r}See.exports=v2e});var Pee=w((aht,xee)=>{function S2e(t){var e=-1,r=Array(t.size);return t.forEach(function(i){r[++e]=i}),r}xee.exports=S2e});var Lee=w((Aht,Dee)=>{var Ree=Kc(),Fee=wF(),k2e=xf(),x2e=yF(),P2e=kee(),D2e=Pee(),R2e=1,F2e=2,N2e="[object Boolean]",L2e="[object Date]",T2e="[object Error]",O2e="[object Map]",M2e="[object Number]",U2e="[object RegExp]",K2e="[object Set]",H2e="[object String]",j2e="[object Symbol]",G2e="[object ArrayBuffer]",Y2e="[object DataView]",Nee=Ree?Ree.prototype:void 0,BF=Nee?Nee.valueOf:void 0;function q2e(t,e,r,i,n,s,o){switch(r){case Y2e:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case G2e:return!(t.byteLength!=e.byteLength||!s(new Fee(t),new Fee(e)));case N2e:case L2e:case M2e:return k2e(+t,+e);case T2e:return t.name==e.name&&t.message==e.message;case U2e:case H2e:return t==e+"";case O2e:var a=P2e;case K2e:var l=i&R2e;if(a||(a=D2e),t.size!=e.size&&!l)return!1;var c=o.get(t);if(c)return c==e;i|=F2e,o.set(t,e);var u=x2e(a(t),a(e),i,n,s,o);return o.delete(t),u;case j2e:if(BF)return BF.call(t)==BF.call(e)}return!1}Dee.exports=q2e});var bF=w((lht,Tee)=>{var J2e=g0(),W2e=Os();function z2e(t,e,r){var i=e(t);return W2e(t)?i:J2e(i,r(t))}Tee.exports=z2e});var Mee=w((cht,Oee)=>{function _2e(t,e){for(var r=-1,i=t==null?0:t.length,n=0,s=[];++r{function V2e(){return[]}Uee.exports=V2e});var v0=w((ght,Kee)=>{var X2e=Mee(),Z2e=QF(),$2e=Object.prototype,eHe=$2e.propertyIsEnumerable,Hee=Object.getOwnPropertySymbols,tHe=Hee?function(t){return t==null?[]:(t=Object(t),X2e(Hee(t),function(e){return eHe.call(t,e)}))}:Z2e;Kee.exports=tHe});var vF=w((fht,jee)=>{var rHe=bF(),iHe=v0(),nHe=Mf();function sHe(t){return rHe(t,nHe,iHe)}jee.exports=sHe});var qee=w((hht,Gee)=>{var Yee=vF(),oHe=1,aHe=Object.prototype,AHe=aHe.hasOwnProperty;function lHe(t,e,r,i,n,s){var o=r&oHe,a=Yee(t),l=a.length,c=Yee(e),u=c.length;if(l!=u&&!o)return!1;for(var g=l;g--;){var f=a[g];if(!(o?f in e:AHe.call(e,f)))return!1}var h=s.get(t),p=s.get(e);if(h&&p)return h==e&&p==t;var m=!0;s.set(t,e),s.set(e,t);for(var y=o;++g{var cHe=vl(),uHe=Rs(),gHe=cHe(uHe,"DataView");Jee.exports=gHe});var _ee=w((dht,zee)=>{var fHe=vl(),hHe=Rs(),pHe=fHe(hHe,"Promise");zee.exports=pHe});var Xee=w((Cht,Vee)=>{var dHe=vl(),CHe=Rs(),mHe=dHe(CHe,"Set");Vee.exports=mHe});var $ee=w((mht,Zee)=>{var EHe=vl(),IHe=Rs(),yHe=EHe(IHe,"WeakMap");Zee.exports=yHe});var LC=w((Eht,ete)=>{var SF=Wee(),kF=A0(),xF=_ee(),PF=Xee(),DF=$ee(),tte=Hc(),Kf=qR(),rte="[object Map]",wHe="[object Object]",ite="[object Promise]",nte="[object Set]",ste="[object WeakMap]",ote="[object DataView]",BHe=Kf(SF),bHe=Kf(kF),QHe=Kf(xF),vHe=Kf(PF),SHe=Kf(DF),uu=tte;(SF&&uu(new SF(new ArrayBuffer(1)))!=ote||kF&&uu(new kF)!=rte||xF&&uu(xF.resolve())!=ite||PF&&uu(new PF)!=nte||DF&&uu(new DF)!=ste)&&(uu=function(t){var e=tte(t),r=e==wHe?t.constructor:void 0,i=r?Kf(r):"";if(i)switch(i){case BHe:return ote;case bHe:return rte;case QHe:return ite;case vHe:return nte;case SHe:return ste}return e});ete.exports=uu});var hte=w((Iht,ate)=>{var RF=NC(),kHe=yF(),xHe=Lee(),PHe=qee(),Ate=LC(),lte=Os(),cte=PC(),DHe=B0(),RHe=1,ute="[object Arguments]",gte="[object Array]",S0="[object Object]",FHe=Object.prototype,fte=FHe.hasOwnProperty;function NHe(t,e,r,i,n,s){var o=lte(t),a=lte(e),l=o?gte:Ate(t),c=a?gte:Ate(e);l=l==ute?S0:l,c=c==ute?S0:c;var u=l==S0,g=c==S0,f=l==c;if(f&&cte(t)){if(!cte(e))return!1;o=!0,u=!1}if(f&&!u)return s||(s=new RF),o||DHe(t)?kHe(t,e,r,i,n,s):xHe(t,e,l,r,i,n,s);if(!(r&RHe)){var h=u&&fte.call(t,"__wrapped__"),p=g&&fte.call(e,"__wrapped__");if(h||p){var m=h?t.value():t,y=p?e.value():e;return s||(s=new RF),n(m,y,r,i,s)}}return f?(s||(s=new RF),PHe(t,e,r,i,n,s)):!1}ate.exports=NHe});var FF=w((yht,pte)=>{var LHe=hte(),dte=Zo();function Cte(t,e,r,i,n){return t===e?!0:t==null||e==null||!dte(t)&&!dte(e)?t!==t&&e!==e:LHe(t,e,r,i,Cte,n)}pte.exports=Cte});var Ete=w((wht,mte)=>{var THe=NC(),OHe=FF(),MHe=1,UHe=2;function KHe(t,e,r,i){var n=r.length,s=n,o=!i;if(t==null)return!s;for(t=Object(t);n--;){var a=r[n];if(o&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++n{var HHe=Rn();function jHe(t){return t===t&&!HHe(t)}Ite.exports=jHe});var wte=w((bht,yte)=>{var GHe=NF(),YHe=Mf();function qHe(t){for(var e=YHe(t),r=e.length;r--;){var i=e[r],n=t[i];e[r]=[i,n,GHe(n)]}return e}yte.exports=qHe});var LF=w((Qht,Bte)=>{function JHe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}Bte.exports=JHe});var Qte=w((vht,bte)=>{var WHe=Ete(),zHe=wte(),_He=LF();function VHe(t){var e=zHe(t);return e.length==1&&e[0][2]?_He(e[0][0],e[0][1]):function(r){return r===t||WHe(r,t,e)}}bte.exports=VHe});var k0=w((Sht,vte)=>{var XHe=IC();function ZHe(t,e,r){var i=t==null?void 0:XHe(t,e);return i===void 0?r:i}vte.exports=ZHe});var kte=w((kht,Ste)=>{var $He=FF(),eje=k0(),tje=VR(),rje=o0(),ije=NF(),nje=LF(),sje=lu(),oje=1,aje=2;function Aje(t,e){return rje(t)&&ije(e)?nje(sje(t),e):function(r){var i=eje(r,t);return i===void 0&&i===e?tje(r,t):$He(e,i,oje|aje)}}Ste.exports=Aje});var Pte=w((xht,xte)=>{function lje(t){return function(e){return e==null?void 0:e[t]}}xte.exports=lje});var Rte=w((Pht,Dte)=>{var cje=IC();function uje(t){return function(e){return cje(e,t)}}Dte.exports=uje});var Nte=w((Dht,Fte)=>{var gje=Pte(),fje=Rte(),hje=o0(),pje=lu();function dje(t){return hje(t)?gje(pje(t)):fje(t)}Fte.exports=dje});var TF=w((Rht,Lte)=>{var Cje=Qte(),mje=kte(),Eje=f0(),Ije=Os(),yje=Nte();function wje(t){return typeof t=="function"?t:t==null?Eje:typeof t=="object"?Ije(t)?mje(t[0],t[1]):Cje(t):yje(t)}Lte.exports=wje});var OF=w((Fht,Tte)=>{var Bje=Ff(),bje=IF(),Qje=TF();function vje(t,e){var r={};return e=Qje(e,3),bje(t,function(i,n,s){Bje(r,n,e(i,n,s))}),r}Tte.exports=vje});var TC=w((Nht,Ote)=>{"use strict";function gu(t){this._maxSize=t,this.clear()}gu.prototype.clear=function(){this._size=0,this._values=Object.create(null)};gu.prototype.get=function(t){return this._values[t]};gu.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var Sje=/[^.^\]^[]+|(?=\[\]|\.\.)/g,Mte=/^\d+$/,kje=/^\d/,xje=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,Pje=/^\s*(['"]?)(.*?)(\1)\s*$/,MF=512,Ute=new gu(MF),Kte=new gu(MF),Hte=new gu(MF);Ote.exports={Cache:gu,split:KF,normalizePath:UF,setter:function(t){var e=UF(t);return Kte.get(t)||Kte.set(t,function(i,n){for(var s=0,o=e.length,a=i;s{"use strict";Object.defineProperty(OC,"__esModule",{value:!0});OC.create=Lje;OC.default=void 0;var Tje=TC(),x0={context:"$",value:"."};function Lje(t,e){return new P0(t,e)}var P0=class{constructor(e,r={}){if(typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===x0.context,this.isValue=this.key[0]===x0.value,this.isSibling=!this.isContext&&!this.isValue;let i=this.isContext?x0.context:this.isValue?x0.value:"";this.path=this.key.slice(i.length),this.getter=this.path&&(0,Tje.getter)(this.path,!0),this.map=r.map}getValue(e,r,i){let n=this.isContext?i:this.isValue?e:r;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}};OC.default=P0;P0.prototype.__isYupRef=!0});var jte=w(jF=>{"use strict";Object.defineProperty(jF,"__esModule",{value:!0});jF.default=Oje;var Mje=GF(OF()),D0=GF(cu()),Uje=GF(fu());function GF(t){return t&&t.__esModule?t:{default:t}}function R0(){return R0=Object.assign||function(t){for(var e=1;e=0)&&(r[n]=t[n]);return r}function Oje(t){function e(r,i){let{value:n,path:s="",label:o,options:a,originalValue:l,sync:c}=r,u=Kje(r,["value","path","label","options","originalValue","sync"]),{name:g,test:f,params:h,message:p}=t,{parent:m,context:y}=a;function Q(U){return Uje.default.isRef(U)?U.getValue(n,m,y):U}function S(U={}){let J=(0,Mje.default)(R0({value:n,originalValue:l,label:o,path:U.path||s},h,U.params),Q),W=new D0.default(D0.default.formatError(U.message||p,J),n,J.path,U.type||g);return W.params=J,W}let x=R0({path:s,parent:m,type:g,createError:S,resolve:Q,options:a,originalValue:l},u);if(!c){try{Promise.resolve(f.call(x,n,x)).then(U=>{D0.default.isError(U)?i(U):U?i(null,U):i(S())})}catch(U){i(U)}return}let M;try{var Y;if(M=f.call(x,n,x),typeof((Y=M)==null?void 0:Y.then)=="function")throw new Error(`Validation test of type: "${x.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(U){i(U);return}D0.default.isError(M)?i(M):M?i(null,M):i(S())}return e.OPTIONS=t,e}});var YF=w(MC=>{"use strict";Object.defineProperty(MC,"__esModule",{value:!0});MC.getIn=Gte;MC.default=void 0;var Hje=TC(),jje=t=>t.substr(0,t.length-1).substr(1);function Gte(t,e,r,i=r){let n,s,o;return e?((0,Hje.forEach)(e,(a,l,c)=>{let u=l?jje(a):a;if(t=t.resolve({context:i,parent:n,value:r}),t.innerType){let g=c?parseInt(u,10):0;if(r&&g>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${a}, in the path: ${e}. because there is no value at that index. `);n=r,r=r&&r[g],t=t.innerType}if(!c){if(!t.fields||!t.fields[u])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${o} which is a type: "${t._type}")`);n=r,r=r&&r[u],t=t.fields[u]}s=u,o=l?"["+a+"]":"."+a}),{schema:t,parent:n,parentPath:s}):{parent:n,parentPath:e,schema:t}}var Gje=(t,e,r,i)=>Gte(t,e,r,i).schema,Yje=Gje;MC.default=Yje});var qte=w(F0=>{"use strict";Object.defineProperty(F0,"__esModule",{value:!0});F0.default=void 0;var Yte=qje(fu());function qje(t){return t&&t.__esModule?t:{default:t}}var N0=class{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let r of this.list)e.push(r);for(let[,r]of this.refs)e.push(r.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){Yte.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){Yte.default.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,r){if(this.list.has(e))return!0;let i,n=this.refs.values();for(;i=n.next(),!i.done;)if(r(i.value)===e)return!0;return!1}clone(){let e=new N0;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,r){let i=this.clone();return e.list.forEach(n=>i.add(n)),e.refs.forEach(n=>i.add(n)),r.list.forEach(n=>i.delete(n)),r.refs.forEach(n=>i.delete(n)),i}};F0.default=N0});var pA=w(L0=>{"use strict";Object.defineProperty(L0,"__esModule",{value:!0});L0.default=void 0;var Jte=hA(h$()),Hf=fA(),Jje=hA(x$()),Wte=hA(I0()),T0=hA(jte()),zte=hA(vC()),Wje=hA(fu()),zje=YF(),_je=hA(gF()),_te=hA(cu()),Vte=hA(qte());function hA(t){return t&&t.__esModule?t:{default:t}}function Ys(){return Ys=Object.assign||function(t){for(var e=1;e{this.typeError(Hf.mixed.notType)}),this.type=(e==null?void 0:e.type)||"mixed",this.spec=Ys({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},e==null?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=Ys({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,Jte.default)(Ys({},this.spec,e)),r}label(e){var r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let i=e(this);return this._mutate=r,i}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,i=e.clone(),n=Ys({},r.spec,i.spec);return i.spec=n,i._typeError||(i._typeError=r._typeError),i._whitelistError||(i._whitelistError=r._whitelistError),i._blacklistError||(i._blacklistError=r._blacklistError),i._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),i._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),i.tests=r.tests,i.exclusiveTests=r.exclusiveTests,i.withMutation(s=>{e.tests.forEach(o=>{s.test(o.OPTIONS)})}),i}isType(e){return this.spec.nullable&&e===null?!0:this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let i=r.conditions;r=r.clone(),r.conditions=[],r=i.reduce((n,s)=>s.resolve(n,e),r),r=r.resolve(e)}return r}cast(e,r={}){let i=this.resolve(Ys({value:e},r)),n=i._cast(e,r);if(e!==void 0&&r.assert!==!1&&i.isType(n)!==!0){let s=(0,zte.default)(e),o=(0,zte.default)(n);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${i._type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return n}_cast(e,r){let i=e===void 0?e:this.transforms.reduce((n,s)=>s.call(this,n,e,this),e);return i===void 0&&(i=this.getDefault()),i}_validate(e,r={},i){let{sync:n,path:s,from:o=[],originalValue:a=e,strict:l=this.spec.strict,abortEarly:c=this.spec.abortEarly}=r,u=e;l||(u=this._cast(u,Ys({assert:!1},r)));let g={value:u,path:s,options:r,originalValue:a,schema:this,label:this.spec.label,sync:n,from:o},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),(0,Wte.default)({args:g,value:u,path:s,sync:n,tests:f,endEarly:c},h=>{if(h)return void i(h,u);(0,Wte.default)({tests:this.tests,args:g,path:s,sync:n,value:u,endEarly:c},i)})}validate(e,r,i){let n=this.resolve(Ys({},r,{value:e}));return typeof i=="function"?n._validate(e,r,i):new Promise((s,o)=>n._validate(e,r,(a,l)=>{a?o(a):s(l)}))}validateSync(e,r){let i=this.resolve(Ys({},r,{value:e})),n;return i._validate(e,Ys({},r,{sync:!0}),(s,o)=>{if(s)throw s;n=o}),n}isValid(e,r){return this.validate(e,r).then(()=>!0,i=>{if(_te.default.isError(i))return!1;throw i})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(i){if(_te.default.isError(i))return!1;throw i}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Jte.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=Hf.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Hf.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(i){return this.schema._isPresent(i)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=Hf.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let i=this.clone(),n=(0,T0.default)(r),s=r.exclusive||r.name&&i.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(i.exclusiveTests[r.name]=!!r.exclusive),i.tests=i.tests.filter(o=>!(o.OPTIONS.name===r.name&&(s||o.OPTIONS.test===n.OPTIONS.test))),i.tests.push(n),i}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let i=this.clone(),n=(0,_je.default)(e).map(s=>new Wje.default(s));return n.forEach(s=>{s.isSibling&&i.deps.push(s.key)}),i.conditions.push(new Jje.default(n,r)),i}typeError(e){var r=this.clone();return r._typeError=(0,T0.default)({message:e,name:"typeError",test(i){return i!==void 0&&!this.schema.isType(i)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=Hf.mixed.oneOf){var i=this.clone();return e.forEach(n=>{i._whitelist.add(n),i._blacklist.delete(n)}),i._whitelistError=(0,T0.default)({message:r,name:"oneOf",test(n){if(n===void 0)return!0;let s=this.schema._whitelist;return s.has(n,this.resolve)?!0:this.createError({params:{values:s.toArray().join(", ")}})}}),i}notOneOf(e,r=Hf.mixed.notOneOf){var i=this.clone();return e.forEach(n=>{i._blacklist.add(n),i._whitelist.delete(n)}),i._blacklistError=(0,T0.default)({message:r,name:"notOneOf",test(n){let s=this.schema._blacklist;return s.has(n,this.resolve)?this.createError({params:{values:s.toArray().join(", ")}}):!0}}),i}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:i}=e.spec;return{meta:i,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(s=>({name:s.OPTIONS.name,params:s.OPTIONS.params})).filter((s,o,a)=>a.findIndex(l=>l.name===s.name)===o)}}};L0.default=Aa;Aa.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])Aa.prototype[`${t}At`]=function(e,r,i={}){let{parent:n,parentPath:s,schema:o}=(0,zje.getIn)(this,e,r,i.context);return o[t](n&&n[s],Ys({},i,{parent:n,path:e}))};for(let t of["equals","is"])Aa.prototype[t]=Aa.prototype.oneOf;for(let t of["not","nope"])Aa.prototype[t]=Aa.prototype.notOneOf;Aa.prototype.optional=Aa.prototype.notRequired});var Zte=w(UC=>{"use strict";Object.defineProperty(UC,"__esModule",{value:!0});UC.create=Xte;UC.default=void 0;var Xje=Vje(pA());function Vje(t){return t&&t.__esModule?t:{default:t}}var qF=Xje.default,Zje=qF;UC.default=Zje;function Xte(){return new qF}Xte.prototype=qF.prototype});var jf=w(O0=>{"use strict";Object.defineProperty(O0,"__esModule",{value:!0});O0.default=void 0;var $je=t=>t==null;O0.default=$je});var ire=w(KC=>{"use strict";Object.defineProperty(KC,"__esModule",{value:!0});KC.create=$te;KC.default=void 0;var eGe=ere(pA()),tre=fA(),rre=ere(jf());function ere(t){return t&&t.__esModule?t:{default:t}}function $te(){return new M0}var M0=class extends eGe.default{constructor(){super({type:"boolean"});this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=tre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,rre.default)(r)||r===!0}})}isFalse(e=tre.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,rre.default)(r)||r===!1}})}};KC.default=M0;$te.prototype=M0.prototype});var ore=w(HC=>{"use strict";Object.defineProperty(HC,"__esModule",{value:!0});HC.create=nre;HC.default=void 0;var la=fA(),dA=sre(jf()),tGe=sre(pA());function sre(t){return t&&t.__esModule?t:{default:t}}var rGe=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,iGe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,nGe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,sGe=t=>(0,dA.default)(t)||t===t.trim(),oGe={}.toString();function nre(){return new U0}var U0=class extends tGe.default{constructor(){super({type:"string"});this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===oGe?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=la.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,dA.default)(i)||i.length===this.resolve(e)}})}min(e,r=la.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,dA.default)(i)||i.length>=this.resolve(e)}})}max(e,r=la.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(i){return(0,dA.default)(i)||i.length<=this.resolve(e)}})}matches(e,r){let i=!1,n,s;return r&&(typeof r=="object"?{excludeEmptyString:i=!1,message:n,name:s}=r:n=r),this.test({name:s||"matches",message:n||la.string.matches,params:{regex:e},test:o=>(0,dA.default)(o)||o===""&&i||o.search(e)!==-1})}email(e=la.string.email){return this.matches(rGe,{name:"email",message:e,excludeEmptyString:!0})}url(e=la.string.url){return this.matches(iGe,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=la.string.uuid){return this.matches(nGe,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=la.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:sGe})}lowercase(e=la.string.lowercase){return this.transform(r=>(0,dA.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,dA.default)(r)||r===r.toLowerCase()})}uppercase(e=la.string.uppercase){return this.transform(r=>(0,dA.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,dA.default)(r)||r===r.toUpperCase()})}};HC.default=U0;nre.prototype=U0.prototype});var lre=w(jC=>{"use strict";Object.defineProperty(jC,"__esModule",{value:!0});jC.create=are;jC.default=void 0;var hu=fA(),pu=Are(jf()),aGe=Are(pA());function Are(t){return t&&t.__esModule?t:{default:t}}var AGe=t=>t!=+t;function are(){return new K0}var K0=class extends aGe.default{constructor(){super({type:"number"});this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!AGe(e)}min(e,r=hu.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,pu.default)(i)||i>=this.resolve(e)}})}max(e,r=hu.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,pu.default)(i)||i<=this.resolve(e)}})}lessThan(e,r=hu.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(i){return(0,pu.default)(i)||ithis.resolve(e)}})}positive(e=hu.number.positive){return this.moreThan(0,e)}negative(e=hu.number.negative){return this.lessThan(0,e)}integer(e=hu.number.integer){return this.test({name:"integer",message:e,test:r=>(0,pu.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,pu.default)(e)?e:e|0)}round(e){var r,i=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(i.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+i.join(", "));return this.transform(n=>(0,pu.default)(n)?n:Math[e](n))}};jC.default=K0;are.prototype=K0.prototype});var cre=w(JF=>{"use strict";Object.defineProperty(JF,"__esModule",{value:!0});JF.default=lGe;var cGe=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function lGe(t){var e=[1,4,5,6,7,10,11],r=0,i,n;if(n=cGe.exec(t)){for(var s=0,o;o=e[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(n[8]===void 0||n[8]==="")&&(n[9]===void 0||n[9]==="")?i=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):(n[8]!=="Z"&&n[9]!==void 0&&(r=n[10]*60+n[11],n[9]==="+"&&(r=0-r)),i=Date.UTC(n[1],n[2],n[3],n[4],n[5]+r,n[6],n[7]))}else i=Date.parse?Date.parse(t):NaN;return i}});var fre=w(GC=>{"use strict";Object.defineProperty(GC,"__esModule",{value:!0});GC.create=WF;GC.default=void 0;var uGe=H0(cre()),ure=fA(),gre=H0(jf()),gGe=H0(fu()),fGe=H0(pA());function H0(t){return t&&t.__esModule?t:{default:t}}var zF=new Date(""),hGe=t=>Object.prototype.toString.call(t)==="[object Date]";function WF(){return new YC}var YC=class extends fGe.default{constructor(){super({type:"date"});this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,uGe.default)(e),isNaN(e)?zF:new Date(e))})})}_typeCheck(e){return hGe(e)&&!isNaN(e.getTime())}prepareParam(e,r){let i;if(gGe.default.isRef(e))i=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);i=n}return i}min(e,r=ure.date.min){let i=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,gre.default)(n)||n>=this.resolve(i)}})}max(e,r=ure.date.max){var i=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,gre.default)(n)||n<=this.resolve(i)}})}};GC.default=YC;YC.INVALID_DATE=zF;WF.prototype=YC.prototype;WF.INVALID_DATE=zF});var pre=w((Wht,hre)=>{function pGe(t,e,r,i){var n=-1,s=t==null?0:t.length;for(i&&s&&(r=t[++n]);++n{function dGe(t){return function(e){return t==null?void 0:t[e]}}dre.exports=dGe});var Ere=w((_ht,mre)=>{var CGe=Cre(),mGe={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},EGe=CGe(mGe);mre.exports=EGe});var yre=w((Vht,Ire)=>{var IGe=Ere(),yGe=nf(),wGe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,BGe="\\u0300-\\u036f",bGe="\\ufe20-\\ufe2f",QGe="\\u20d0-\\u20ff",vGe=BGe+bGe+QGe,SGe="["+vGe+"]",kGe=RegExp(SGe,"g");function xGe(t){return t=yGe(t),t&&t.replace(wGe,IGe).replace(kGe,"")}Ire.exports=xGe});var Bre=w((Xht,wre)=>{var PGe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function DGe(t){return t.match(PGe)||[]}wre.exports=DGe});var Qre=w((Zht,bre)=>{var RGe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function FGe(t){return RGe.test(t)}bre.exports=FGe});var Yre=w(($ht,vre)=>{var Sre="\\ud800-\\udfff",NGe="\\u0300-\\u036f",LGe="\\ufe20-\\ufe2f",TGe="\\u20d0-\\u20ff",OGe=NGe+LGe+TGe,kre="\\u2700-\\u27bf",xre="a-z\\xdf-\\xf6\\xf8-\\xff",MGe="\\xac\\xb1\\xd7\\xf7",UGe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",KGe="\\u2000-\\u206f",HGe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Pre="A-Z\\xc0-\\xd6\\xd8-\\xde",jGe="\\ufe0e\\ufe0f",Dre=MGe+UGe+KGe+HGe,Rre="['\u2019]",Fre="["+Dre+"]",GGe="["+OGe+"]",Nre="\\d+",YGe="["+kre+"]",Lre="["+xre+"]",Tre="[^"+Sre+Dre+Nre+kre+xre+Pre+"]",qGe="\\ud83c[\\udffb-\\udfff]",JGe="(?:"+GGe+"|"+qGe+")",WGe="[^"+Sre+"]",Ore="(?:\\ud83c[\\udde6-\\uddff]){2}",Mre="[\\ud800-\\udbff][\\udc00-\\udfff]",Gf="["+Pre+"]",zGe="\\u200d",Ure="(?:"+Lre+"|"+Tre+")",_Ge="(?:"+Gf+"|"+Tre+")",Kre="(?:"+Rre+"(?:d|ll|m|re|s|t|ve))?",Hre="(?:"+Rre+"(?:D|LL|M|RE|S|T|VE))?",jre=JGe+"?",Gre="["+jGe+"]?",VGe="(?:"+zGe+"(?:"+[WGe,Ore,Mre].join("|")+")"+Gre+jre+")*",XGe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ZGe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",$Ge=Gre+jre+VGe,eYe="(?:"+[YGe,Ore,Mre].join("|")+")"+$Ge,tYe=RegExp([Gf+"?"+Lre+"+"+Kre+"(?="+[Fre,Gf,"$"].join("|")+")",_Ge+"+"+Hre+"(?="+[Fre,Gf+Ure,"$"].join("|")+")",Gf+"?"+Ure+"+"+Kre,Gf+"+"+Hre,ZGe,XGe,Nre,eYe].join("|"),"g");function rYe(t){return t.match(tYe)||[]}vre.exports=rYe});var Jre=w((ept,qre)=>{var iYe=Bre(),nYe=Qre(),sYe=nf(),oYe=Yre();function aYe(t,e,r){return t=sYe(t),e=r?void 0:e,e===void 0?nYe(t)?oYe(t):iYe(t):t.match(e)||[]}qre.exports=aYe});var _F=w((tpt,Wre)=>{var AYe=pre(),lYe=yre(),cYe=Jre(),uYe="['\u2019]",gYe=RegExp(uYe,"g");function fYe(t){return function(e){return AYe(cYe(lYe(e).replace(gYe,"")),t,"")}}Wre.exports=fYe});var _re=w((rpt,zre)=>{var hYe=_F(),pYe=hYe(function(t,e,r){return t+(r?"_":"")+e.toLowerCase()});zre.exports=pYe});var Xre=w((ipt,Vre)=>{var dYe=tB(),CYe=_F(),mYe=CYe(function(t,e,r){return e=e.toLowerCase(),t+(r?dYe(e):e)});Vre.exports=mYe});var $re=w((npt,Zre)=>{var EYe=Ff(),IYe=IF(),yYe=TF();function wYe(t,e){var r={};return e=yYe(e,3),IYe(t,function(i,n,s){EYe(r,e(i,n,s),i)}),r}Zre.exports=wYe});var tie=w((spt,VF)=>{VF.exports=function(t){return eie(BYe(t),t)};VF.exports.array=eie;function eie(t,e){var r=t.length,i=new Array(r),n={},s=r,o=bYe(e),a=QYe(t);for(e.forEach(function(c){if(!a.has(c[0])||!a.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)n[s]||l(t[s],s,new Set);return i;function l(c,u,g){if(g.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch(m){f=""}throw new Error("Cyclic dependency"+f)}if(!a.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!n[u]){n[u]=!0;var h=o.get(c)||new Set;if(h=Array.from(h),u=h.length){g.add(c);do{var p=h[--u];l(p,a.get(p),g)}while(u);g.delete(c)}i[--r]=c}}}function BYe(t){for(var e=new Set,r=0,i=t.length;r{"use strict";Object.defineProperty(XF,"__esModule",{value:!0});XF.default=vYe;var SYe=j0(SC()),kYe=j0(tie()),xYe=TC(),PYe=j0(fu()),DYe=j0(Lf());function j0(t){return t&&t.__esModule?t:{default:t}}function vYe(t,e=[]){let r=[],i=[];function n(s,o){var a=(0,xYe.split)(s)[0];~i.indexOf(a)||i.push(a),~e.indexOf(`${o}-${a}`)||r.push([o,a])}for(let s in t)if((0,SYe.default)(t,s)){let o=t[s];~i.indexOf(s)||i.push(s),PYe.default.isRef(o)&&o.isSibling?n(o.path,s):(0,DYe.default)(o)&&"deps"in o&&o.deps.forEach(a=>n(a,s))}return kYe.default.array(i,r).reverse()}});var nie=w(ZF=>{"use strict";Object.defineProperty(ZF,"__esModule",{value:!0});ZF.default=RYe;function iie(t,e){let r=Infinity;return t.some((i,n)=>{var s;if(((s=e.path)==null?void 0:s.indexOf(i))!==-1)return r=n,!0}),r}function RYe(t){return(e,r)=>iie(t,e)-iie(t,r)}});var uie=w(qC=>{"use strict";Object.defineProperty(qC,"__esModule",{value:!0});qC.create=sie;qC.default=void 0;var oie=ca(SC()),aie=ca(_re()),FYe=ca(Xre()),NYe=ca($re()),LYe=ca(OF()),TYe=TC(),Aie=fA(),OYe=ca(rie()),lie=ca(nie()),MYe=ca(I0()),UYe=ca(cu()),$F=ca(pA());function ca(t){return t&&t.__esModule?t:{default:t}}function Yf(){return Yf=Object.assign||function(t){for(var e=1;eObject.prototype.toString.call(t)==="[object Object]";function KYe(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(i=>r.indexOf(i)===-1)}var HYe=(0,lie.default)([]),G0=class extends $F.default{constructor(e){super({type:"object"});this.fields=Object.create(null),this._sortErrors=HYe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(i){if(typeof i=="string")try{i=JSON.parse(i)}catch(n){i=null}return this.isType(i)?i:null}),e&&this.shape(e)})}_typeCheck(e){return cie(e)||typeof e=="function"}_cast(e,r={}){var i;let n=super._cast(e,r);if(n===void 0)return this.getDefault();if(!this._typeCheck(n))return n;let s=this.fields,o=(i=r.stripUnknown)!=null?i:this.spec.noUnknown,a=this._nodes.concat(Object.keys(n).filter(g=>this._nodes.indexOf(g)===-1)),l={},c=Yf({},r,{parent:l,__validating:r.__validating||!1}),u=!1;for(let g of a){let f=s[g],h=(0,oie.default)(n,g);if(f){let p,m=n[g];c.path=(r.path?`${r.path}.`:"")+g,f=f.resolve({value:m,context:r.context,parent:l});let y="spec"in f?f.spec:void 0,Q=y==null?void 0:y.strict;if(y==null?void 0:y.strip){u=u||g in n;continue}p=!r.__validating||!Q?f.cast(n[g],c):n[g],p!==void 0&&(l[g]=p)}else h&&!o&&(l[g]=n[g]);l[g]!==n[g]&&(u=!0)}return u?l:n}_validate(e,r={},i){let n=[],{sync:s,from:o=[],originalValue:a=e,abortEarly:l=this.spec.abortEarly,recursive:c=this.spec.recursive}=r;o=[{schema:this,value:a},...o],r.__validating=!0,r.originalValue=a,r.from=o,super._validate(e,r,(u,g)=>{if(u){if(!UYe.default.isError(u)||l)return void i(u,g);n.push(u)}if(!c||!cie(g)){i(n[0]||null,g);return}a=a||g;let f=this._nodes.map(h=>(p,m)=>{let y=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,Q=this.fields[h];if(Q&&"validate"in Q){Q.validate(g[h],Yf({},r,{path:y,from:o,strict:!0,parent:g,originalValue:a[h]}),m);return}m(null)});(0,MYe.default)({sync:s,tests:f,value:g,errors:n,endEarly:l,sort:this._sortErrors,path:r.path},i)})}clone(e){let r=super.clone(e);return r.fields=Yf({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),i=r.fields;for(let[n,s]of Object.entries(this.fields)){let o=i[n];o===void 0?i[n]=s:o instanceof $F.default&&s instanceof $F.default&&(i[n]=s.concat(o))}return r.withMutation(()=>r.shape(i))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let i=this.fields[r];e[r]="default"in i?i.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(!!this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let i=this.clone(),n=Object.assign(i.fields,e);if(i.fields=n,i._sortErrors=(0,lie.default)(Object.keys(n)),r.length){Array.isArray(r[0])||(r=[r]);let s=r.map(([o,a])=>`${o}-${a}`);i._excludedEdges=i._excludedEdges.concat(s)}return i._nodes=(0,OYe.default)(n,i._excludedEdges),i}pick(e){let r={};for(let i of e)this.fields[i]&&(r[i]=this.fields[i]);return this.clone().withMutation(i=>(i.fields={},i.shape(r)))}omit(e){let r=this.clone(),i=r.fields;r.fields={};for(let n of e)delete i[n];return r.withMutation(()=>r.shape(i))}from(e,r,i){let n=(0,TYe.getter)(e,!0);return this.transform(s=>{if(s==null)return s;let o=s;return(0,oie.default)(s,e)&&(o=Yf({},s),i||delete o[e],o[r]=n(s)),o})}noUnknown(e=!0,r=Aie.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let i=this.test({name:"noUnknown",exclusive:!0,message:r,test(n){if(n==null)return!0;let s=KYe(this.schema,n);return!e||s.length===0||this.createError({params:{unknown:s.join(", ")}})}});return i.spec.noUnknown=e,i}unknown(e=!0,r=Aie.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,NYe.default)(r,(i,n)=>e(n)))}camelCase(){return this.transformKeys(FYe.default)}snakeCase(){return this.transformKeys(aie.default)}constantCase(){return this.transformKeys(e=>(0,aie.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,LYe.default)(this.fields,r=>r.describe()),e}};qC.default=G0;function sie(t){return new G0(t)}sie.prototype=G0.prototype});var fie=w(JC=>{"use strict";Object.defineProperty(JC,"__esModule",{value:!0});JC.create=gie;JC.default=void 0;var eN=qf(jf()),jYe=qf(Lf()),GYe=qf(vC()),tN=fA(),YYe=qf(I0()),qYe=qf(cu()),JYe=qf(pA());function qf(t){return t&&t.__esModule?t:{default:t}}function Y0(){return Y0=Object.assign||function(t){for(var e=1;e{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch(i){r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let i=super._cast(e,r);if(!this._typeCheck(i)||!this.innerType)return i;let n=!1,s=i.map((o,a)=>{let l=this.innerType.cast(o,Y0({},r,{path:`${r.path||""}[${a}]`}));return l!==o&&(n=!0),l});return n?s:i}_validate(e,r={},i){var n,s;let o=[],a=r.sync,l=r.path,c=this.innerType,u=(n=r.abortEarly)!=null?n:this.spec.abortEarly,g=(s=r.recursive)!=null?s:this.spec.recursive,f=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,p)=>{if(h){if(!qYe.default.isError(h)||u)return void i(h,p);o.push(h)}if(!g||!c||!this._typeCheck(p)){i(o[0]||null,p);return}f=f||p;let m=new Array(p.length);for(let y=0;yc.validate(Q,x,Y)}(0,YYe.default)({sync:a,path:l,value:p,errors:o,endEarly:u,tests:m},i)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,jYe.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,GYe.default)(e));return r.innerType=e,r}length(e,r=tN.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(i){return(0,eN.default)(i)||i.length===this.resolve(e)}})}min(e,r){return r=r||tN.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,eN.default)(i)||i.length>=this.resolve(e)}})}max(e,r){return r=r||tN.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,eN.default)(i)||i.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(i,n,s)=>!e(i,n,s):i=>!!i;return this.transform(i=>i!=null?i.filter(r):i)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};JC.default=q0;gie.prototype=q0.prototype});var hie=w(WC=>{"use strict";Object.defineProperty(WC,"__esModule",{value:!0});WC.create=WYe;WC.default=void 0;var _Ye=zYe(Lf());function zYe(t){return t&&t.__esModule?t:{default:t}}function WYe(t){return new rN(t)}var rN=class{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,i={})=>{let n=this.builder(r,i);if(!(0,_Ye.default)(n))throw new TypeError("lazy() functions must return a valid schema");return n.resolve(i)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,i){return this._resolve(e,r).validate(e,r,i)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,i){return this._resolve(r,i).validateAt(e,r,i)}validateSyncAt(e,r,i){return this._resolve(r,i).validateSyncAt(e,r,i)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},VYe=rN;WC.default=VYe});var pie=w(iN=>{"use strict";Object.defineProperty(iN,"__esModule",{value:!0});iN.default=XYe;var $Ye=ZYe(fA());function ZYe(t){return t&&t.__esModule?t:{default:t}}function XYe(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{$Ye.default[e][r]=t[e][r]})})}});var sN=w(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.addMethod=eqe;Object.defineProperty(Br,"MixedSchema",{enumerable:!0,get:function(){return die.default}});Object.defineProperty(Br,"mixed",{enumerable:!0,get:function(){return die.create}});Object.defineProperty(Br,"BooleanSchema",{enumerable:!0,get:function(){return nN.default}});Object.defineProperty(Br,"bool",{enumerable:!0,get:function(){return nN.create}});Object.defineProperty(Br,"boolean",{enumerable:!0,get:function(){return nN.create}});Object.defineProperty(Br,"StringSchema",{enumerable:!0,get:function(){return Cie.default}});Object.defineProperty(Br,"string",{enumerable:!0,get:function(){return Cie.create}});Object.defineProperty(Br,"NumberSchema",{enumerable:!0,get:function(){return mie.default}});Object.defineProperty(Br,"number",{enumerable:!0,get:function(){return mie.create}});Object.defineProperty(Br,"DateSchema",{enumerable:!0,get:function(){return Eie.default}});Object.defineProperty(Br,"date",{enumerable:!0,get:function(){return Eie.create}});Object.defineProperty(Br,"ObjectSchema",{enumerable:!0,get:function(){return Iie.default}});Object.defineProperty(Br,"object",{enumerable:!0,get:function(){return Iie.create}});Object.defineProperty(Br,"ArraySchema",{enumerable:!0,get:function(){return yie.default}});Object.defineProperty(Br,"array",{enumerable:!0,get:function(){return yie.create}});Object.defineProperty(Br,"ref",{enumerable:!0,get:function(){return tqe.create}});Object.defineProperty(Br,"lazy",{enumerable:!0,get:function(){return rqe.create}});Object.defineProperty(Br,"ValidationError",{enumerable:!0,get:function(){return iqe.default}});Object.defineProperty(Br,"reach",{enumerable:!0,get:function(){return nqe.default}});Object.defineProperty(Br,"isSchema",{enumerable:!0,get:function(){return wie.default}});Object.defineProperty(Br,"setLocale",{enumerable:!0,get:function(){return sqe.default}});Object.defineProperty(Br,"BaseSchema",{enumerable:!0,get:function(){return oqe.default}});var die=du(Zte()),nN=du(ire()),Cie=du(ore()),mie=du(lre()),Eie=du(fre()),Iie=du(uie()),yie=du(fie()),tqe=fu(),rqe=hie(),iqe=zC(cu()),nqe=zC(YF()),wie=zC(Lf()),sqe=zC(pie()),oqe=zC(pA());function zC(t){return t&&t.__esModule?t:{default:t}}function Bie(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Bie=function(){return t},t}function du(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Bie();if(e&&e.has(t))return e.get(t);var r={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var s=i?Object.getOwnPropertyDescriptor(t,n):null;s&&(s.get||s.set)?Object.defineProperty(r,n,s):r[n]=t[n]}return r.default=t,e&&e.set(t,r),r}function eqe(t,e,r){if(!t||!(0,wie.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}});var kie=w((Qpt,VC)=>{"use strict";var lqe=process.env.TERM_PROGRAM==="Hyper",cqe=process.platform==="win32",Qie=process.platform==="linux",oN={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},vie=Object.assign({},oN,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),Sie=Object.assign({},oN,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Qie?"\u25B8":"\u276F",pointerSmall:Qie?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});VC.exports=cqe&&!lqe?vie:Sie;Reflect.defineProperty(VC.exports,"common",{enumerable:!1,value:oN});Reflect.defineProperty(VC.exports,"windows",{enumerable:!1,value:vie});Reflect.defineProperty(VC.exports,"other",{enumerable:!1,value:Sie})});var Co=w((vpt,aN)=>{"use strict";var uqe=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),gqe=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,xie=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=s=>{let o=s.open=`[${s.codes[0]}m`,a=s.close=`[${s.codes[1]}m`,l=s.regex=new RegExp(`\\u001b\\[${s.codes[1]}m`,"g");return s.wrap=(c,u)=>{c.includes(a)&&(c=c.replace(l,a+o));let g=o+c+a;return u?g.replace(/\r*\n/g,`${a}$&${o}`):g},s},r=(s,o,a)=>typeof s=="function"?s(o):s.wrap(o,a),i=(s,o)=>{if(s===""||s==null)return"";if(t.enabled===!1)return s;if(t.visible===!1)return"";let a=""+s,l=a.includes(` +`),c=o.length;for(c>0&&o.includes("unstyle")&&(o=[...new Set(["unstyle",...o])].reverse());c-- >0;)a=r(t.styles[o[c]],a,l);return a},n=(s,o,a)=>{t.styles[s]=e({name:s,codes:o}),(t.keys[a]||(t.keys[a]=[])).push(s),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(c){t.alias(s,c)},get(){let c=u=>i(u,c.stack);return Reflect.setPrototypeOf(c,t),c.stack=this.stack?this.stack.concat(s):[s],c}})};return n("reset",[0,0],"modifier"),n("bold",[1,22],"modifier"),n("dim",[2,22],"modifier"),n("italic",[3,23],"modifier"),n("underline",[4,24],"modifier"),n("inverse",[7,27],"modifier"),n("hidden",[8,28],"modifier"),n("strikethrough",[9,29],"modifier"),n("black",[30,39],"color"),n("red",[31,39],"color"),n("green",[32,39],"color"),n("yellow",[33,39],"color"),n("blue",[34,39],"color"),n("magenta",[35,39],"color"),n("cyan",[36,39],"color"),n("white",[37,39],"color"),n("gray",[90,39],"color"),n("grey",[90,39],"color"),n("bgBlack",[40,49],"bg"),n("bgRed",[41,49],"bg"),n("bgGreen",[42,49],"bg"),n("bgYellow",[43,49],"bg"),n("bgBlue",[44,49],"bg"),n("bgMagenta",[45,49],"bg"),n("bgCyan",[46,49],"bg"),n("bgWhite",[47,49],"bg"),n("blackBright",[90,39],"bright"),n("redBright",[91,39],"bright"),n("greenBright",[92,39],"bright"),n("yellowBright",[93,39],"bright"),n("blueBright",[94,39],"bright"),n("magentaBright",[95,39],"bright"),n("cyanBright",[96,39],"bright"),n("whiteBright",[97,39],"bright"),n("bgBlackBright",[100,49],"bgBright"),n("bgRedBright",[101,49],"bgBright"),n("bgGreenBright",[102,49],"bgBright"),n("bgYellowBright",[103,49],"bgBright"),n("bgBlueBright",[104,49],"bgBright"),n("bgMagentaBright",[105,49],"bgBright"),n("bgCyanBright",[106,49],"bgBright"),n("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=gqe,t.hasColor=t.hasAnsi=s=>(t.ansiRegex.lastIndex=0,typeof s=="string"&&s!==""&&t.ansiRegex.test(s)),t.alias=(s,o)=>{let a=typeof o=="string"?t[o]:o;if(typeof a!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");a.stack||(Reflect.defineProperty(a,"name",{value:s}),t.styles[s]=a,a.stack=[s]),Reflect.defineProperty(t,s,{configurable:!0,enumerable:!0,set(l){t.alias(s,l)},get(){let l=c=>i(c,l.stack);return Reflect.setPrototypeOf(l,t),l.stack=this.stack?this.stack.concat(a.stack):a.stack,l}})},t.theme=s=>{if(!uqe(s))throw new TypeError("Expected theme to be an object");for(let o of Object.keys(s))t.alias(o,s[o]);return t},t.alias("unstyle",s=>typeof s=="string"&&s!==""?(t.ansiRegex.lastIndex=0,s.replace(t.ansiRegex,"")):""),t.alias("noop",s=>s),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=kie(),t.define=n,t};aN.exports=xie();aN.exports.create=xie});var Xi=w(Lt=>{"use strict";var fqe=Object.prototype.toString,qs=Co(),Pie=!1,AN=[],Die={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Lt.longest=(t,e)=>t.reduce((r,i)=>Math.max(r,e?i[e].length:i.length),0);Lt.hasColor=t=>!!t&&qs.hasColor(t);var W0=Lt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Lt.nativeType=t=>fqe.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");Lt.isAsyncFn=t=>Lt.nativeType(t)==="asyncfunction";Lt.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";Lt.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;Lt.scrollDown=(t=[])=>[...t.slice(1),t[0]];Lt.scrollUp=(t=[])=>[t.pop(),...t];Lt.reorder=(t=[])=>{let e=t.slice();return e.sort((r,i)=>r.index>i.index?1:r.index{let i=t.length,n=r===i?0:r<0?i-1:r,s=t[e];t[e]=t[n],t[n]=s};Lt.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};Lt.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};Lt.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:i=` +`+r,width:n=80}=e;n-=((i+r).match(/[^\S\n]/g)||[]).length;let o=`.{1,${n}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=t.trim(),l=new RegExp(o,"g"),c=a.match(l)||[];return c=c.map(u=>u.replace(/\n$/,"")),e.padEnd&&(c=c.map(u=>u.padEnd(n," "))),e.padStart&&(c=c.map(u=>u.padStart(n," "))),r+c.join(i)};Lt.unmute=t=>{let e=t.stack.find(i=>qs.keys.color.includes(i));return e?qs[e]:t.stack.find(i=>i.slice(2)==="bg")?qs[e.slice(2)]:i=>i};Lt.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";Lt.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>qs.keys.color.includes(i));if(e){let i=qs["bg"+Lt.pascal(e)];return i?i.black:t}let r=t.stack.find(i=>i.slice(0,2)==="bg");return r?qs[r.slice(2).toLowerCase()]||t:qs.none};Lt.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(i=>qs.keys.color.includes(i)),r=t.stack.find(i=>i.slice(0,2)==="bg");if(e&&!r)return qs[Die[e]||e];if(r){let i=r.slice(2).toLowerCase(),n=Die[i];return n&&qs["bg"+Lt.pascal(n)]||t}return qs.none};Lt.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),i=e>=12?"pm":"am";e=e%12;let n=e===0?12:e,s=r<10?"0"+r:r;return n+":"+s+" "+i};Lt.set=(t={},e="",r)=>e.split(".").reduce((i,n,s,o)=>{let a=o.length-1>s?i[n]||{}:r;return!Lt.isObject(a)&&s{let i=t[e]==null?e.split(".").reduce((n,s)=>n&&n[s],t):t[e];return i==null?r:i};Lt.mixin=(t,e)=>{if(!W0(t))return e;if(!W0(e))return t;for(let r of Object.keys(e)){let i=Object.getOwnPropertyDescriptor(e,r);if(i.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&W0(i.value)){let n=Object.getOwnPropertyDescriptor(t,r);W0(n.value)?t[r]=Lt.merge({},t[r],e[r]):Reflect.defineProperty(t,r,i)}else Reflect.defineProperty(t,r,i);else Reflect.defineProperty(t,r,i)}return t};Lt.merge=(...t)=>{let e={};for(let r of t)Lt.mixin(e,r);return e};Lt.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let i of Object.keys(r)){let n=r[i];typeof n=="function"?Lt.define(t,i,n.bind(e)):Lt.define(t,i,n)}};Lt.onExit=t=>{let e=(r,i)=>{Pie||(Pie=!0,AN.forEach(n=>n()),r===!0&&process.exit(128+i))};AN.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),AN.push(t)};Lt.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};Lt.defineExport=(t,e,r)=>{let i;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(n){i=n},get(){return i?i():r()}})}});var Rie=w(Wf=>{"use strict";Wf.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};Wf.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};Wf.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};Wf.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};Wf.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Lie=w((xpt,Fie)=>{"use strict";var Nie=require("readline"),hqe=Rie(),pqe=/^(?:\x1b)([a-zA-Z0-9])$/,dqe=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,Cqe={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function mqe(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function Eqe(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var z0=(t="",e={})=>{let r,i=N({name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t},e);if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t=""+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=i.sequence||""),i.sequence=i.sequence||t||i.name,t==="\r")i.raw=void 0,i.name="return";else if(t===` +`)i.name="enter";else if(t===" ")i.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x7F"||t==="\b")i.name="backspace",i.meta=t.charAt(0)==="";else if(t===""||t==="")i.name="escape",i.meta=t.length===2;else if(t===" "||t===" ")i.name="space",i.meta=t.length===2;else if(t<="")i.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),i.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")i.name="number";else if(t.length===1&&t>="a"&&t<="z")i.name=t;else if(t.length===1&&t>="A"&&t<="Z")i.name=t.toLowerCase(),i.shift=!0;else if(r=pqe.exec(t))i.meta=!0,i.shift=/^[A-Z]$/.test(r[1]);else if(r=dqe.exec(t)){let n=[...t];n[0]===""&&n[1]===""&&(i.option=!0);let s=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),o=(r[3]||r[5]||1)-1;i.ctrl=!!(o&4),i.meta=!!(o&10),i.shift=!!(o&1),i.code=s,i.name=Cqe[s],i.shift=mqe(s)||i.shift,i.ctrl=Eqe(s)||i.ctrl}return i};z0.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let i=Nie.createInterface({terminal:!0,input:r});Nie.emitKeypressEvents(r,i);let n=(a,l)=>e(a,z0(a,l),i),s=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",n),i.resume(),()=>{r.isTTY&&r.setRawMode(s),r.removeListener("keypress",n),i.pause(),i.close()}};z0.action=(t,e,r)=>{let i=N(N({},hqe),r);return e.ctrl?(e.action=i.ctrl[e.name],e):e.option&&i.option?(e.action=i.option[e.name],e):e.shift?(e.action=i.shift[e.name],e):(e.action=i.keys[e.name],e)};Fie.exports=z0});var Oie=w((Ppt,Tie)=>{"use strict";Tie.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let i=e[r];typeof i=="number"&&(i={interval:i}),Iqe(t,r,i)}};function Iqe(t,e,r={}){let i=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},n=r.interval||120;i.frames=r.frames||[],i.loading=!0;let s=setInterval(()=>{i.ms=Date.now()-i.start,i.tick++,t.render()},n);return i.stop=()=>{i.loading=!1,clearInterval(s)},Reflect.defineProperty(i,"interval",{value:s}),t.once("close",()=>i.stop()),i.stop}});var Kie=w((Dpt,Mie)=>{"use strict";var{define:yqe,width:wqe}=Xi(),Uie=class{constructor(e){let r=e.options;yqe(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=wqe(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e=N({},this);return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};Mie.exports=Uie});var jie=w((Rpt,Hie)=>{"use strict";var lN=Xi(),Fi=Co(),cN={default:Fi.noop,noop:Fi.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||lN.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||lN.complement(this.primary)},primary:Fi.cyan,success:Fi.green,danger:Fi.magenta,strong:Fi.bold,warning:Fi.yellow,muted:Fi.dim,disabled:Fi.gray,dark:Fi.dim.gray,underline:Fi.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};cN.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&(Fi.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&(Fi.visible=t.styles.visible);let e=lN.merge({},cN,t.styles);delete e.merge;for(let r of Object.keys(Fi))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});for(let r of Object.keys(Fi.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>Fi[r]});return e};Hie.exports=cN});var Yie=w((Fpt,Gie)=>{"use strict";var uN=process.platform==="win32",CA=Co(),Bqe=Xi(),gN=te(N({},CA.symbols),{upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:CA.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:CA.symbols.question,submitted:CA.symbols.check,cancelled:CA.symbols.cross},separator:{pending:CA.symbols.pointerSmall,submitted:CA.symbols.middot,cancelled:CA.symbols.middot},radio:{off:uN?"( )":"\u25EF",on:uN?"(*)":"\u25C9",disabled:uN?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]});gN.merge=t=>{let e=Bqe.merge({},CA.symbols,gN,t.symbols);return delete e.merge,e};Gie.exports=gN});var Jie=w((Npt,qie)=>{"use strict";var bqe=jie(),Qqe=Yie(),vqe=Xi();qie.exports=t=>{t.options=vqe.merge({},t.options.theme,t.options),t.symbols=Qqe.merge(t.options),t.styles=bqe.merge(t.options)}});var Xie=w((Wie,zie)=>{"use strict";var _ie=process.env.TERM_PROGRAM==="Apple_Terminal",Sqe=Co(),fN=Xi(),mo=zie.exports=Wie,Nr="[",Vie="\x07",hN=!1,Sl=mo.code={bell:Vie,beep:Vie,beginning:`${Nr}G`,down:`${Nr}J`,esc:Nr,getPosition:`${Nr}6n`,hide:`${Nr}?25l`,line:`${Nr}2K`,lineEnd:`${Nr}K`,lineStart:`${Nr}1K`,restorePosition:Nr+(_ie?"8":"u"),savePosition:Nr+(_ie?"7":"s"),screen:`${Nr}2J`,show:`${Nr}?25h`,up:`${Nr}1J`},Cu=mo.cursor={get hidden(){return hN},hide(){return hN=!0,Sl.hide},show(){return hN=!1,Sl.show},forward:(t=1)=>`${Nr}${t}C`,backward:(t=1)=>`${Nr}${t}D`,nextLine:(t=1)=>`${Nr}E`.repeat(t),prevLine:(t=1)=>`${Nr}F`.repeat(t),up:(t=1)=>t?`${Nr}${t}A`:"",down:(t=1)=>t?`${Nr}${t}B`:"",right:(t=1)=>t?`${Nr}${t}C`:"",left:(t=1)=>t?`${Nr}${t}D`:"",to(t,e){return e?`${Nr}${e+1};${t+1}H`:`${Nr}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?Cu.left(-t):t>0?Cu.right(t):"",r+=e<0?Cu.up(-e):e>0?Cu.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:i,input:n,prompt:s,size:o,value:a}=t;if(i=fN.isPrimitive(i)?String(i):"",n=fN.isPrimitive(n)?String(n):"",a=fN.isPrimitive(a)?String(a):"",o){let l=mo.cursor.up(o)+mo.cursor.to(s.length),c=n.length-r;return c>0&&(l+=mo.cursor.left(c)),l}if(a||e){let l=!n&&!!i?-i.length:-n.length+r;return e&&(l-=e.length),n===""&&i&&!s.includes(i)&&(l+=i.length),mo.cursor.move(l)}}},pN=mo.erase={screen:Sl.screen,up:Sl.up,down:Sl.down,line:Sl.line,lineEnd:Sl.lineEnd,lineStart:Sl.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return pN.line+Cu.to(0);let r=s=>[...Sqe.unstyle(s)].length,i=t.split(/\r?\n/),n=0;for(let s of i)n+=1+Math.floor(Math.max(r(s)-1,0)/e);return(pN.line+Cu.prevLine()).repeat(n-1)+pN.line+Cu.to(0)}});var zf=w((Lpt,Zie)=>{"use strict";var kqe=require("events"),$ie=Co(),dN=Lie(),xqe=Oie(),Pqe=Kie(),Dqe=Jie(),Tn=Xi(),mu=Xie(),_0=class extends kqe{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Dqe(this),xqe(this),this.state=new Pqe(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Fqe(this.options.margin),this.setMaxListeners(0),Rqe(this)}async keypress(e,r={}){this.keypressed=!0;let i=dN.action(e,dN(e,r),this.options.actions);this.state.keypress=i,this.emit("keypress",e,i),this.emit("state",this.state.clone());let n=this.options[i.action]||this[i.action]||this.dispatch;if(typeof n=="function")return await n.call(this,e,i);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(mu.code.beep)}cursorHide(){this.stdout.write(mu.cursor.hide()),Tn.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(mu.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(mu.cursor.down(e)+mu.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:i}=this.sections(),{cursor:n,initial:s="",input:o="",value:a=""}=this,l=this.state.size=i.length,c={after:r,cursor:n,initial:s,input:o,prompt:e,size:l,value:a},u=mu.cursor.restore(c);u&&this.stdout.write(u)}sections(){let{buffer:e,input:r,prompt:i}=this.state;i=$ie.unstyle(i);let n=$ie.unstyle(e),s=n.indexOf(i),o=n.slice(0,s),l=n.slice(s).split(` +`),c=l[0],u=l[l.length-1],f=(i+(r?" "+r:"")).length,h=fe.call(this,this.value),this.result=()=>i.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let n=r.onSubmit.bind(this),s=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await n(this.name,this.value,this),s())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,i){let{options:n,state:s,symbols:o,timers:a}=this,l=a&&a[e];s.timer=l;let c=n[e]||s[e]||o[e],u=r&&r[e]!=null?r[e]:await c;if(u==="")return u;let g=await this.resolve(u,s,r,i);return!g&&r&&r[e]?this.resolve(c,s,r,i):g}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,i=this.state;return i.timer=r,Tn.isObject(e)&&(e=e[i.status]||e.pending),Tn.hasColor(e)?e:(this.styles[i.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Tn.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,i=this.state;i.timer=r;let n=e[i.status]||e.pending||i.separator,s=await this.resolve(n,i);return Tn.isObject(s)&&(s=s[i.status]||s.pending),Tn.hasColor(s)?s:this.styles.muted(s)}async pointer(e,r){let i=await this.element("pointer",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=this.index===r,o=s?n.primary:c=>c,a=await this.resolve(i[s?"on":"off"]||i,this.state),l=Tn.hasColor(a)?a:o(a);return s?l:" ".repeat(a.length)}}async indicator(e,r){let i=await this.element("indicator",e,r);if(typeof i=="string"&&Tn.hasColor(i))return i;if(i){let n=this.styles,s=e.enabled===!0,o=s?n.success:n.dark,a=i[s?"on":"off"]||i;return Tn.hasColor(a)?a:o(a)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Tn.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Tn.resolve(this,e,...r)}get base(){return _0.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Tn.height(this.stdout,25)}get width(){return this.options.columns||Tn.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,i=[r,e].find(this.isValue.bind(this));return this.isValue(i)?i:this.initial}static get prompt(){return e=>new this(e).run()}};function Rqe(t){let e=n=>t[n]===void 0||typeof t[n]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],i=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let n of Object.keys(t.options)){if(r.includes(n)||/^on[A-Z]/.test(n))continue;let s=t.options[n];typeof s=="function"&&e(n)?i.includes(n)||(t[n]=s.bind(t)):typeof t[n]!="function"&&(t[n]=s)}}function Fqe(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=n=>n%2==0?` +`:" ",i=[];for(let n=0;n<4;n++){let s=r(n);e[n]?i.push(s.repeat(e[n])):i.push("")}return i}Zie.exports=_0});var rne=w((Tpt,ene)=>{"use strict";var Nqe=Xi(),tne={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return tne.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};ene.exports=(t,e={})=>{let r=Nqe.merge({},tne,e.roles);return r[t]||r.default}});var XC=w((Opt,ine)=>{"use strict";var Lqe=Co(),Tqe=zf(),Oqe=rne(),V0=Xi(),{reorder:CN,scrollUp:Mqe,scrollDown:Uqe,isObject:nne,swap:Kqe}=V0,sne=class extends Tqe{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||Infinity,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:i,suggest:n}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(s=>s.enabled=!1),typeof n!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");nne(r)&&(r=Object.keys(r)),Array.isArray(r)?(i!=null&&(this.index=this.findIndex(i)),r.forEach(s=>this.enable(this.find(s))),await this.render()):(i!=null&&(r=i),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let i=[],n=0,s=async(o,a)=>{typeof o=="function"&&(o=await o.call(this)),o instanceof Promise&&(o=await o);for(let l=0;l(this.state.loadingChoices=!1,o))}async toChoice(e,r,i){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let n=e.value;if(e=Oqe(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,V0.define(e,"parent",i),e.level=i?i.level+1:1,e.indent==null&&(e.indent=i?i.indent+" ":e.indent||""),e.path=i?i.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,Lqe.unstyle(e.message).length));let o=N({},e);return e.reset=(a=o.input,l=o.value)=>{for(let c of Object.keys(o))e[c]=o[c];e.input=a,e.value=l},n==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,i){let n=await this.toChoice(e,r,i);return this.choices.push(n),this.index=this.choices.length-1,this.limit=this.choices.length,n}async newItem(e,r,i){let n=N({name:"New choice name?",editable:!0,newChoice:!0},e),s=await this.addChoice(n,r,i);return s.updateChoice=()=>{delete s.newChoice,s.name=s.message=s.input,s.input="",s.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(n=>this.toggle(n,r));let i=e.parent;for(;i;){let n=i.choices.filter(s=>this.isDisabled(s));i.enabled=n.every(s=>s.enabled===!0),i=i.parent}return one(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=i=>{let n=Number(i);if(n>this.choices.length-1)return this.alert();let s=this.focused,o=this.choices.find(a=>n===a.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let a=CN(this.choices),l=a.indexOf(o);if(s.index>l){let c=a.slice(l,l+this.limit),u=a.filter(g=>!c.includes(g));this.choices=c.concat(u)}else{let c=l-this.limit+1;this.choices=a.slice(c).concat(a.slice(0,c))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(i=>{let n=this.choices.length,s=this.num,o=(a=!1,l)=>{clearTimeout(this.numberTimeout),a&&(l=r(s)),this.num="",i(l)};if(s==="0"||s.length===1&&Number(s+"0")>n)return o(!0);if(Number(s)>n)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=CN(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=CN(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===0?this.alert():e>r&&i===0?this.scrollUp():(this.index=(i-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,i=this.index;return this.options.scroll===!1&&i===r-1?this.alert():e>r&&i===r-1?this.scrollDown():(this.index=(i+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Mqe(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=Uqe(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){Kqe(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(i=>e[i]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(i=>!this.isDisabled(i));return e.enabled&&r.every(i=>this.isEnabled(i))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((i,n)=>(i[n]=this.find(n,r),i),{})}filter(e,r){let i=(a,l)=>[a.name,l].includes(e),n=typeof e=="function"?e:i,o=(this.options.multiple?this.state._choices:this.choices).filter(n);return r?o.map(a=>a[r]):o}find(e,r){if(nne(e))return r?e[r]:e;let i=(o,a)=>[o.name,a].includes(e),n=typeof e=="function"?e:i,s=this.choices.find(n);if(s)return r?s[r]:s}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(o=>o.newChoice))return this.alert();let{reorder:r,sort:i}=this.options,n=this.multiple===!0,s=this.selected;return s===void 0?this.alert():(Array.isArray(s)&&r!==!1&&i!==!0&&(s=V0.reorder(s)),this.value=n?s.map(o=>o.name):s.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(i=>i.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let i=this.find(r);i&&(this.initial=i.index,this.focus(i,!0))}}}get choices(){return one(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:i}=this,n=e.limit||this._limit||r.limit||i.length;return Math.min(n,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function one(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(V0.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let i=r.choices.filter(n=>!t.isDisabled(n));r.enabled=i.every(n=>n.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}ine.exports=sne});var kl=w((Mpt,ane)=>{"use strict";var Hqe=XC(),mN=Xi(),Ane=class extends Hqe{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let i=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!mN.hasColor(i)&&(i=this.styles.strong(i)),this.resolve(i,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await this.indicator(e,r)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,r);o&&!mN.hasColor(o)&&(o=this.styles.muted(o));let a=this.indent(e),l=await this.choiceMessage(e,r),c=()=>[this.margin[3],a+n+s,l,this.margin[1],o].filter(Boolean).join(" ");return e.role==="heading"?c():e.disabled?(mN.hasColor(l)||(l=this.styles.disabled(l)),c()):(i&&(l=this.styles.em(l)),c())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(s,o)=>await this.renderChoice(s,o)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let i=this.margin[0]+r.join(` +`),n;return this.options.choicesHeader&&(n=await this.resolve(this.options.choicesHeader,this.state)),[n,i].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,i="",n=await this.header(),s=await this.prefix(),o=await this.separator(),a=await this.message();this.options.promptLine!==!1&&(i=[s,a,o,""].join(" "),this.state.prompt=i);let l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();l&&(i+=l),c&&!i.includes(c)&&(i+=" "+c),e&&!l&&!u.trim()&&this.multiple&&this.emptyError!=null&&(i+=this.styles.danger(this.emptyError)),this.clear(r),this.write([n,i,u,g].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};ane.exports=Ane});var une=w((Upt,lne)=>{"use strict";var jqe=kl(),Gqe=(t,e)=>{let r=t.toLowerCase();return i=>{let s=i.toLowerCase().indexOf(r),o=e(i.slice(s,s+r.length));return s>=0?i.slice(0,s)+o+i.slice(s+r.length):i}},cne=class extends jqe{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:i}=this.state;return this.input=i.slice(0,r)+e+i.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let i=e.toLowerCase();return r.filter(n=>n.message.toLowerCase().includes(i))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=Gqe(this.input,e),i=this.choices;this.choices=i.map(n=>te(N({},n),{message:r(n.message)})),await super.render(),this.choices=i}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};lne.exports=cne});var IN=w((Kpt,gne)=>{"use strict";var EN=Xi();gne.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:i="",pos:n,showCursor:s=!0,color:o}=e,a=o||t.styles.placeholder,l=EN.inverse(t.styles.primary),c=m=>l(t.styles.black(m)),u=r,g=" ",f=c(g);if(t.blink&&t.blink.off===!0&&(c=m=>m,f=""),s&&n===0&&i===""&&r==="")return c(g);if(s&&n===0&&(r===i||r===""))return c(i[0])+a(i.slice(1));i=EN.isPrimitive(i)?`${i}`:"",r=EN.isPrimitive(r)?`${r}`:"";let h=i&&i.startsWith(r)&&i!==r,p=h?c(i[r.length]):f;if(n!==r.length&&s===!0&&(u=r.slice(0,n)+c(r[n])+r.slice(n+1),p=""),s===!1&&(p=""),h){let m=t.styles.unstyle(u+p);return u+p+a(i.slice(m.length))}return u+p}});var X0=w((Hpt,fne)=>{"use strict";var Yqe=Co(),qqe=kl(),Jqe=IN(),hne=class extends qqe{constructor(e){super(te(N({},e),{multiple:!0}));this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:i,input:n}=r;return r.value=r.input=n.slice(0,i)+e+n.slice(i),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:i}=e;return e.value=e.input=i.slice(0,r-1)+i.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:i}=e;if(i[r]===void 0)return this.alert();let n=`${i}`.slice(0,r)+`${i}`.slice(r+1);return e.value=e.input=n,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:i}=e;return r&&r.startsWith(i)&&i!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let i=await this.resolve(e.separator,this.state,e,r)||":";return i?" "+this.styles.disabled(i):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:i,styles:n}=this,{cursor:s,initial:o="",name:a,hint:l,input:c=""}=e,{muted:u,submitted:g,primary:f,danger:h}=n,p=l,m=this.index===r,y=e.validate||(()=>!0),Q=await this.choiceSeparator(e,r),S=e.message;this.align==="right"&&(S=S.padStart(this.longest+1," ")),this.align==="left"&&(S=S.padEnd(this.longest+1," "));let x=this.values[a]=c||o,M=c?"success":"dark";await y.call(e,x,this.state)!==!0&&(M="danger");let U=n[M](await this.indicator(e,r))+(e.pad||""),J=this.indent(e),W=()=>[J,U,S+Q,c,p].filter(Boolean).join(" ");if(i.submitted)return S=Yqe.unstyle(S),c=g(c),p="",W();if(e.format)c=await e.format.call(this,c,e,r);else{let ee=this.styles.muted;c=Jqe(this,{input:c,initial:o,pos:s,showCursor:m,color:ee})}return this.isValue(c)||(c=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[a]=await e.result.call(this,x,e,r)),m&&(S=f(S)),e.error?c+=(c?" ":"")+h(e.error.trim()):e.hint&&(c+=(c?" ":"")+u(e.hint.trim())),W()}async submit(){return this.value=this.values,super.base.submit.call(this)}};fne.exports=hne});var yN=w((jpt,pne)=>{"use strict";var Wqe=X0(),zqe=()=>{throw new Error("expected prompt to have a custom authenticate method")},dne=(t=zqe)=>{class e extends Wqe{constructor(i){super(i)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(i){return dne(i)}}return e};pne.exports=dne()});var Ene=w((Gpt,Cne)=>{"use strict";var _qe=yN();function Vqe(t,e){return t.username===this.options.username&&t.password===this.options.password}var mne=(t=Vqe)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(i){return this.options.showPassword?i:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(i.length))}}];class r extends _qe.create(t){constructor(n){super(te(N({},n),{choices:e}))}static create(n){return mne(n)}}return r};Cne.exports=mne()});var Z0=w((Ypt,Ine)=>{"use strict";var Xqe=zf(),{isPrimitive:Zqe,hasColor:$qe}=Xi(),yne=class extends Xqe{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:i}=this;return i.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Zqe(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return $qe(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=this.styles.muted(this.default),a=[i,s,o,n].filter(Boolean).join(" ");this.state.prompt=a;let l=await this.header(),c=this.value=this.cast(e),u=await this.format(c),g=await this.error()||await this.hint(),f=await this.footer();g&&!a.includes(g)&&(u+=" "+g),a+=" "+u,this.clear(r),this.write([l,a,f].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Ine.exports=yne});var bne=w((qpt,wne)=>{"use strict";var eJe=Z0(),Bne=class extends eJe{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};wne.exports=Bne});var Sne=w((Jpt,Qne)=>{"use strict";var tJe=kl(),rJe=X0(),_f=rJe.prototype,vne=class extends tJe{constructor(e){super(te(N({},e),{multiple:!0}));this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let i=this.focused,n=i.parent||{};return!i.editable&&!n.editable&&(e==="a"||e==="i")?super[e]():_f.dispatch.call(this,e,r)}append(e,r){return _f.append.call(this,e,r)}delete(e,r){return _f.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?_f.next.call(this):super.next()}prev(){return this.focused.editable?_f.prev.call(this):super.prev()}async indicator(e,r){let i=e.indicator||"",n=e.editable?i:super.indicator(e,r);return await this.resolve(n,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?_f.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let i=r.parent?this.value[r.parent.name]:this.value;if(r.editable?i=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(i=r.enabled===!0),e=await r.validate(i,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};Qne.exports=vne});var Eu=w((Wpt,kne)=>{"use strict";var iJe=zf(),nJe=IN(),{isPrimitive:sJe}=Xi(),xne=class extends iJe{constructor(e){super(e);this.initial=sJe(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let i=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!i||i.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:i}=this.state;this.input=`${i}`.slice(0,r)+e+`${i}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),i=this.input.slice(e),n=r.split(" ");this.state.clipboard.push(n.pop()),this.input=n.join(" "),this.cursor=this.input.length,this.input+=i,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):nJe(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),i=await this.separator(),n=await this.message(),s=[r,n,i].filter(Boolean).join(" ");this.state.prompt=s;let o=await this.header(),a=await this.format(),l=await this.error()||await this.hint(),c=await this.footer();l&&!a.includes(l)&&(a+=" "+l),s+=" "+a,this.clear(e),this.write([o,s,c].filter(Boolean).join(` +`)),this.restore()}};kne.exports=xne});var Dne=w((zpt,Pne)=>{"use strict";var oJe=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),$0=t=>oJe(t).filter(Boolean);Pne.exports=(t,e={},r="")=>{let{past:i=[],present:n=""}=e,s,o;switch(t){case"prev":case"undo":return s=i.slice(0,i.length-1),o=i[i.length-1]||"",{past:$0([r,...s]),present:o};case"next":case"redo":return s=i.slice(1),o=i[0]||"",{past:$0([...s,r]),present:o};case"save":return{past:$0([...i,r]),present:""};case"remove":return o=$0(i.filter(a=>a!==r)),n="",o.length&&(n=o.pop()),{past:o,present:n};default:throw new Error(`Invalid action: "${t}"`)}}});var wN=w((_pt,Rne)=>{"use strict";var aJe=Eu(),Fne=Dne(),Nne=class extends aJe{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let i=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:i},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=Fne(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=Fne("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};Rne.exports=Nne});var One=w((Vpt,Lne)=>{"use strict";var AJe=Eu(),Tne=class extends AJe{format(){return""}};Lne.exports=Tne});var Kne=w((Xpt,Mne)=>{"use strict";var lJe=Eu(),Une=class extends lJe{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};Mne.exports=Une});var Gne=w((Zpt,Hne)=>{"use strict";var cJe=kl(),jne=class extends cJe{constructor(e){super(te(N({},e),{multiple:!0}))}};Hne.exports=jne});var BN=w(($pt,Yne)=>{"use strict";var uJe=Eu(),qne=class extends uJe{constructor(e={}){super(N({style:"number"},e));this.min=this.isValue(e.min)?this.toNumber(e.min):-Infinity,this.max=this.isValue(e.max)?this.toNumber(e.max):Infinity,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,i=this.toNumber(this.input);return i>this.max+r?this.alert():(this.input=`${i+r}`,this.render())}down(e){let r=e||this.minor,i=this.toNumber(this.input);return ithis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};Yne.exports=qne});var Wne=w((edt,Jne)=>{Jne.exports=BN()});var Vne=w((tdt,zne)=>{"use strict";var gJe=Eu(),_ne=class extends gJe{constructor(e){super(e);this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};zne.exports=_ne});var ese=w((rdt,Xne)=>{"use strict";var fJe=Co(),hJe=XC(),Zne=Xi(),$ne=class extends hJe{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((i,n)=>({name:n+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let i=0;i=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1||this.state.submitted)return"";let e=this.scale.map(i=>` ${i.name} - ${i.message}`);return["",...e].map(i=>this.styles.muted(i)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(l=>l.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let i=this.scaleLength-r.join("").length,n=Math.round(i/(r.length-1)),o=r.map(l=>this.styles.strong(l)).join(" ".repeat(n)),a=" ".repeat(this.widths[0]);return this.margin[3]+a+this.margin[1]+o}scaleIndicator(e,r,i){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,i);let n=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):n?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let i=e.scale.map(s=>this.scaleIndicator(e,s,r)),n=this.term==="Hyper"?"":" ";return i.join(n+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=await this.pointer(e,r),s=await e.hint;s&&!Zne.hasColor(s)&&(s=this.styles.muted(s));let o=p=>this.margin[3]+p.replace(/\s+$/,"").padEnd(this.widths[0]," "),a=this.newline,l=this.indent(e),c=await this.resolve(e.message,this.state,e,r),u=await this.renderScale(e,r),g=this.margin[1]+this.margin[3];this.scaleLength=fJe.unstyle(u).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-g.length);let h=Zne.wordWrap(c,{width:this.widths[0],newline:a}).split(` +`).map(p=>o(p)+this.margin[1]);return i&&(u=this.styles.info(u),h=h.map(p=>this.styles.info(p))),h[0]+=u,this.linebreak&&h.push(""),[l+n,h.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(n,s)=>await this.renderChoice(n,s)),r=await Promise.all(e),i=await this.renderScaleHeading();return this.margin[0]+[i,...r.map(n=>n.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o="";this.options.promptLine!==!1&&(o=[i,s,n,""].join(" "),this.state.prompt=o);let a=await this.header(),l=await this.format(),c=await this.renderScaleKey(),u=await this.error()||await this.hint(),g=await this.renderChoices(),f=await this.footer(),h=this.emptyError;l&&(o+=l),u&&!o.includes(u)&&(o+=" "+u),e&&!l&&!g.trim()&&this.multiple&&h!=null&&(o+=this.styles.danger(h)),this.clear(r),this.write([a,o,c,g,f].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};Xne.exports=$ne});var nse=w((idt,tse)=>{"use strict";var rse=Co(),pJe=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",ise=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=pJe(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},dJe=async(t={},e={},r=i=>i)=>{let i=new Set,n=t.fields||[],s=t.template,o=[],a=[],l=[],c=1;typeof s=="function"&&(s=await s());let u=-1,g=()=>s[++u],f=()=>s[u+1],h=p=>{p.line=c,o.push(p)};for(h({type:"bos",value:""});uM.name===Q.key);Q.field=n.find(M=>M.name===Q.key),x||(x=new ise(Q),a.push(x)),x.lines.push(Q.line-1);continue}let m=o[o.length-1];m.type==="text"&&m.line===c?m.value+=p:h({type:"text",value:p})}return h({type:"eos",value:""}),{input:s,tabstops:o,unique:i,keys:l,items:a}};tse.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),i=N(N({},e.values),e.initial),{tabstops:n,items:s,keys:o}=await dJe(e,i),a=bN("result",t,e),l=bN("format",t,e),c=bN("validate",t,e,!0),u=t.isValue.bind(t);return async(g={},f=!1)=>{let h=0;g.required=r,g.items=s,g.keys=o,g.output="";let p=async(S,x,M,Y)=>{let U=await c(S,x,M,Y);return U===!1?"Invalid field "+M.name:U};for(let S of n){let x=S.value,M=S.key;if(S.type!=="template"){x&&(g.output+=x);continue}if(S.type==="template"){let Y=s.find(Z=>Z.name===M);e.required===!0&&g.required.add(Y.name);let U=[Y.input,g.values[Y.value],Y.value,x].find(u),W=(Y.field||{}).message||S.inner;if(f){let Z=await p(g.values[M],g,Y,h);if(Z&&typeof Z=="string"||Z===!1){g.invalid.set(M,Z);continue}g.invalid.delete(M);let A=await a(g.values[M],g,Y,h);g.output+=rse.unstyle(A);continue}Y.placeholder=!1;let ee=x;x=await l(x,g,Y,h),U!==x?(g.values[M]=U,x=t.styles.typing(U),g.missing.delete(W)):(g.values[M]=void 0,U=`<${W}>`,x=t.styles.primary(U),Y.placeholder=!0,g.required.has(M)&&g.missing.add(W)),g.missing.has(W)&&g.validating&&(x=t.styles.warning(U)),g.invalid.has(M)&&g.validating&&(x=t.styles.danger(U)),h===g.index&&(ee!==x?x=t.styles.underline(x):x=t.styles.heading(rse.unstyle(x))),h++}x&&(g.output+=x)}let m=g.output.split(` +`).map(S=>" "+S),y=s.length,Q=0;for(let S of s)g.invalid.has(S.name)&&S.lines.forEach(x=>{m[x][0]===" "&&(m[x]=g.styles.danger(g.symbols.bullet)+m[x].slice(1))}),t.isValue(g.values[S.name])&&Q++;return g.completed=(Q/y*100).toFixed(0),g.output=m.join(` +`),g.output}};function bN(t,e,r,i){return(n,s,o,a)=>typeof o.field[t]=="function"?o.field[t].call(e,n,s,o,a):[i,n].find(l=>e.isValue(l))}});var ase=w((ndt,sse)=>{"use strict";var CJe=Co(),mJe=nse(),EJe=zf(),ose=class extends EJe{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await mJe(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let i=this.getItem(),n=i.input.slice(0,this.cursor),s=i.input.slice(this.cursor);this.input=i.input=`${n}${e}${s}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),i=e.input.slice(0,this.cursor-1);this.input=e.input=`${i}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:i,size:n}=this.state,s=[this.options.newline,` +`].find(S=>S!=null),o=await this.prefix(),a=await this.separator(),l=await this.message(),c=[o,l,a].filter(Boolean).join(" ");this.state.prompt=c;let u=await this.header(),g=await this.error()||"",f=await this.hint()||"",h=i?"":await this.interpolate(this.state),p=this.state.key=r[e]||"",m=await this.format(p),y=await this.footer();m&&(c+=" "+m),f&&!m&&this.state.completed===0&&(c+=" "+f),this.clear(n);let Q=[u,c,h,y,g.trim()];this.write(Q.filter(Boolean).join(s)),this.restore()}getItem(e){let{items:r,keys:i,index:n}=this.state,s=r.find(o=>o.name===i[n]);return s&&s.input!=null&&(this.input=s.input,this.cursor=s.cursor),s}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:i,values:n}=this.state;if(e.size){let a="";for(let[l,c]of e)a+=`Invalid ${l}: ${c} +`;return this.state.error=a,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let o=CJe.unstyle(i).split(` +`).map(a=>a.slice(1)).join(` +`);return this.value={values:n,result:o},super.submit()}};sse.exports=ose});var cse=w((sdt,Ase)=>{"use strict";var IJe="(Use + to sort)",yJe=kl(),lse=class extends yJe{constructor(e){super(te(N({},e),{reorder:!1,sort:!0,multiple:!0}));this.state.hint=[this.options.hint,IJe].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let i=await super.renderChoice(e,r),n=this.symbols.identicalTo+" ",s=this.index===r&&this.sorting?this.styles.muted(n):" ";return this.options.drag===!1&&(s=""),this.options.numbered===!0?s+`${r+1} - `+i:s+i}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};Ase.exports=lse});var fse=w((odt,use)=>{"use strict";var wJe=XC(),gse=class extends wJe{constructor(e={}){super(e);if(this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(i=>this.styles.muted(i)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let i of r)i.scale=BJe(5,this.options),i.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],i=r.selected;return e.scale.forEach(n=>n.selected=!1),r.selected=!i,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let i=this.index===r,n=this.term==="Hyper",s=n?9:8,o=n?"":" ",a=this.symbols.line.repeat(s),l=" ".repeat(s+(n?0:1)),c=x=>(x?this.styles.success("\u25C9"):"\u25EF")+o,u=r+1+".",g=i?this.styles.heading:this.styles.noop,f=await this.resolve(e.message,this.state,e,r),h=this.indent(e),p=h+e.scale.map((x,M)=>c(M===e.scaleIdx)).join(a),m=x=>x===e.scaleIdx?g(x):x,y=h+e.scale.map((x,M)=>m(M)).join(l),Q=()=>[u,f].filter(Boolean).join(" "),S=()=>[Q(),p,y," "].filter(Boolean).join(` +`);return i&&(p=this.styles.cyan(p),y=this.styles.cyan(y)),S()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(i,n)=>await this.renderChoice(i,n)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,i=await this.prefix(),n=await this.separator(),s=await this.message(),o=[i,s,n].filter(Boolean).join(" ");this.state.prompt=o;let a=await this.header(),l=await this.format(),c=await this.error()||await this.hint(),u=await this.renderChoices(),g=await this.footer();(l||!c)&&(o+=" "+l),c&&!o.includes(c)&&(o+=" "+c),e&&!l&&!u&&this.multiple&&this.type!=="form"&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([o,a,u,g].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function BJe(t,e={}){if(Array.isArray(e.scale))return e.scale.map(i=>N({},i));let r=[];for(let i=1;i{hse.exports=wN()});var mse=w((Adt,dse)=>{"use strict";var bJe=Z0(),Cse=class extends bJe{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=i=>this.styles.primary.underline(i);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),i=await this.prefix(),n=await this.separator(),s=await this.message(),o=await this.format(),a=await this.error()||await this.hint(),l=await this.footer(),c=[i,s,n,o].join(" ");this.state.prompt=c,a&&!c.includes(a)&&(c+=" "+a),this.clear(e),this.write([r,c,l].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};dse.exports=Cse});var yse=w((ldt,Ese)=>{"use strict";var QJe=kl(),Ise=class extends QJe{constructor(e){super(e);if(typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let i=await super.toChoices(e,r);if(i.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>i.length)throw new Error("Please specify the index of the correct answer from the list of choices");return i}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};Ese.exports=Ise});var Bse=w(QN=>{"use strict";var wse=Xi(),Ci=(t,e)=>{wse.defineExport(QN,t,e),wse.defineExport(QN,t.toLowerCase(),e)};Ci("AutoComplete",()=>une());Ci("BasicAuth",()=>Ene());Ci("Confirm",()=>bne());Ci("Editable",()=>Sne());Ci("Form",()=>X0());Ci("Input",()=>wN());Ci("Invisible",()=>One());Ci("List",()=>Kne());Ci("MultiSelect",()=>Gne());Ci("Numeral",()=>Wne());Ci("Password",()=>Vne());Ci("Scale",()=>ese());Ci("Select",()=>kl());Ci("Snippet",()=>ase());Ci("Sort",()=>cse());Ci("Survey",()=>fse());Ci("Text",()=>pse());Ci("Toggle",()=>mse());Ci("Quiz",()=>yse())});var Qse=w((udt,bse)=>{bse.exports={ArrayPrompt:XC(),AuthPrompt:yN(),BooleanPrompt:Z0(),NumberPrompt:BN(),StringPrompt:Eu()}});var $C=w((gdt,vse)=>{"use strict";var Sse=require("assert"),vN=require("events"),xl=Xi(),ua=class extends vN{constructor(e,r){super();this.options=xl.merge({},e),this.answers=N({},r)}register(e,r){if(xl.isObject(e)){for(let n of Object.keys(e))this.register(n,e[n]);return this}Sse.equal(typeof r,"function","expected a function");let i=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[i]=r:this.prompts[i]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(xl.merge({},this.options,r))}catch(i){return Promise.reject(i)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=xl.merge({},this.options,e),{type:i,name:n}=e,{set:s,get:o}=xl;if(typeof i=="function"&&(i=await i.call(this,e,this.answers)),!i)return this.answers[n];Sse(this.prompts[i],`Prompt "${i}" is not registered`);let a=new this.prompts[i](r),l=o(this.answers,n);a.state.answers=this.answers,a.enquirer=this,n&&a.on("submit",u=>{this.emit("answer",n,u,a),s(this.answers,n,u)});let c=a.emit.bind(a);return a.emit=(...u)=>(this.emit.call(this,...u),c(...u)),this.emit("prompt",a,this),r.autofill&&l!=null?(a.value=a.input=l,r.autofill==="show"&&await a.submit()):l=a.value=await a.run(),l}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||zf()}static get prompts(){return Bse()}static get types(){return Qse()}static get prompt(){let e=(r,...i)=>{let n=new this(...i),s=n.emit.bind(n);return n.emit=(...o)=>(e.emit(...o),s(...o)),n.prompt(r)};return xl.mixinEmitter(e,new vN),e}};xl.mixinEmitter(ua,new vN);var SN=ua.prompts;for(let t of Object.keys(SN)){let e=t.toLowerCase(),r=i=>new SN[t](i).run();ua.prompt[e]=r,ua[e]=r,ua[t]||Reflect.defineProperty(ua,t,{get:()=>SN[t]})}var ZC=t=>{xl.defineExport(ua,t,()=>ua.types[t])};ZC("ArrayPrompt");ZC("AuthPrompt");ZC("BooleanPrompt");ZC("NumberPrompt");ZC("StringPrompt");vse.exports=ua});var Kse=w((tCt,Use)=>{function PJe(t,e){for(var r=-1,i=t==null?0:t.length;++r{var DJe=c0(),RJe=Ff();function FJe(t,e,r,i){var n=!r;r||(r={});for(var s=-1,o=e.length;++s{var NJe=Xf(),LJe=Mf();function TJe(t,e){return t&&NJe(e,LJe(e),t)}jse.exports=TJe});var qse=w((nCt,Yse)=>{function OJe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Yse.exports=OJe});var Wse=w((sCt,Jse)=>{var MJe=Rn(),UJe=b0(),KJe=qse(),HJe=Object.prototype,jJe=HJe.hasOwnProperty;function GJe(t){if(!MJe(t))return KJe(t);var e=UJe(t),r=[];for(var i in t)i=="constructor"&&(e||!jJe.call(t,i))||r.push(i);return r}Jse.exports=GJe});var Zf=w((oCt,zse)=>{var YJe=mF(),qJe=Wse(),JJe=FC();function WJe(t){return JJe(t)?YJe(t,!0):qJe(t)}zse.exports=WJe});var Vse=w((aCt,_se)=>{var zJe=Xf(),_Je=Zf();function VJe(t,e){return t&&zJe(e,_Je(e),t)}_se.exports=VJe});var FN=w((om,$f)=>{var XJe=Rs(),Xse=typeof om=="object"&&om&&!om.nodeType&&om,Zse=Xse&&typeof $f=="object"&&$f&&!$f.nodeType&&$f,ZJe=Zse&&Zse.exports===Xse,$se=ZJe?XJe.Buffer:void 0,eoe=$se?$se.allocUnsafe:void 0;function $Je(t,e){if(e)return t.slice();var r=t.length,i=eoe?eoe(r):new t.constructor(r);return t.copy(i),i}$f.exports=$Je});var NN=w((ACt,toe)=>{function e3e(t,e){var r=-1,i=t.length;for(e||(e=Array(i));++r{var t3e=Xf(),r3e=v0();function i3e(t,e){return t3e(t,r3e(t),e)}roe.exports=i3e});var eb=w((cCt,noe)=>{var n3e=EF(),s3e=n3e(Object.getPrototypeOf,Object);noe.exports=s3e});var LN=w((uCt,soe)=>{var o3e=g0(),a3e=eb(),A3e=v0(),l3e=QF(),c3e=Object.getOwnPropertySymbols,u3e=c3e?function(t){for(var e=[];t;)o3e(e,A3e(t)),t=a3e(t);return e}:l3e;soe.exports=u3e});var aoe=w((gCt,ooe)=>{var g3e=Xf(),f3e=LN();function h3e(t,e){return g3e(t,f3e(t),e)}ooe.exports=h3e});var loe=w((fCt,Aoe)=>{var p3e=bF(),d3e=LN(),C3e=Zf();function m3e(t){return p3e(t,C3e,d3e)}Aoe.exports=m3e});var uoe=w((hCt,coe)=>{var E3e=Object.prototype,I3e=E3e.hasOwnProperty;function y3e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&I3e.call(t,"index")&&(r.index=t.index,r.input=t.input),r}coe.exports=y3e});var tb=w((pCt,goe)=>{var foe=wF();function w3e(t){var e=new t.constructor(t.byteLength);return new foe(e).set(new foe(t)),e}goe.exports=w3e});var poe=w((dCt,hoe)=>{var B3e=tb();function b3e(t,e){var r=e?B3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}hoe.exports=b3e});var Coe=w((CCt,doe)=>{var Q3e=/\w*$/;function v3e(t){var e=new t.constructor(t.source,Q3e.exec(t));return e.lastIndex=t.lastIndex,e}doe.exports=v3e});var woe=w((mCt,moe)=>{var Eoe=Kc(),Ioe=Eoe?Eoe.prototype:void 0,yoe=Ioe?Ioe.valueOf:void 0;function S3e(t){return yoe?Object(yoe.call(t)):{}}moe.exports=S3e});var TN=w((ECt,Boe)=>{var k3e=tb();function x3e(t,e){var r=e?k3e(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}Boe.exports=x3e});var Qoe=w((ICt,boe)=>{var P3e=tb(),D3e=poe(),R3e=Coe(),F3e=woe(),N3e=TN(),L3e="[object Boolean]",T3e="[object Date]",O3e="[object Map]",M3e="[object Number]",U3e="[object RegExp]",K3e="[object Set]",H3e="[object String]",j3e="[object Symbol]",G3e="[object ArrayBuffer]",Y3e="[object DataView]",q3e="[object Float32Array]",J3e="[object Float64Array]",W3e="[object Int8Array]",z3e="[object Int16Array]",_3e="[object Int32Array]",V3e="[object Uint8Array]",X3e="[object Uint8ClampedArray]",Z3e="[object Uint16Array]",$3e="[object Uint32Array]";function eWe(t,e,r){var i=t.constructor;switch(e){case G3e:return P3e(t);case L3e:case T3e:return new i(+t);case Y3e:return D3e(t,r);case q3e:case J3e:case W3e:case z3e:case _3e:case V3e:case X3e:case Z3e:case $3e:return N3e(t,r);case O3e:return new i;case M3e:case H3e:return new i(t);case U3e:return R3e(t);case K3e:return new i;case j3e:return F3e(t)}}boe.exports=eWe});var koe=w((yCt,voe)=>{var tWe=Rn(),Soe=Object.create,rWe=function(){function t(){}return function(e){if(!tWe(e))return{};if(Soe)return Soe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();voe.exports=rWe});var ON=w((wCt,xoe)=>{var iWe=koe(),nWe=eb(),sWe=b0();function oWe(t){return typeof t.constructor=="function"&&!sWe(t)?iWe(nWe(t)):{}}xoe.exports=oWe});var Doe=w((BCt,Poe)=>{var aWe=LC(),AWe=Zo(),lWe="[object Map]";function cWe(t){return AWe(t)&&aWe(t)==lWe}Poe.exports=cWe});var Loe=w((bCt,Roe)=>{var uWe=Doe(),gWe=y0(),Foe=w0(),Noe=Foe&&Foe.isMap,fWe=Noe?gWe(Noe):uWe;Roe.exports=fWe});var Ooe=w((QCt,Toe)=>{var hWe=LC(),pWe=Zo(),dWe="[object Set]";function CWe(t){return pWe(t)&&hWe(t)==dWe}Toe.exports=CWe});var Hoe=w((vCt,Moe)=>{var mWe=Ooe(),EWe=y0(),Uoe=w0(),Koe=Uoe&&Uoe.isSet,IWe=Koe?EWe(Koe):mWe;Moe.exports=IWe});var Joe=w((SCt,joe)=>{var yWe=NC(),wWe=Kse(),BWe=c0(),bWe=Gse(),QWe=Vse(),vWe=FN(),SWe=NN(),kWe=ioe(),xWe=aoe(),PWe=vF(),DWe=loe(),RWe=LC(),FWe=uoe(),NWe=Qoe(),LWe=ON(),TWe=Os(),OWe=PC(),MWe=Loe(),UWe=Rn(),KWe=Hoe(),HWe=Mf(),jWe=Zf(),GWe=1,YWe=2,qWe=4,Goe="[object Arguments]",JWe="[object Array]",WWe="[object Boolean]",zWe="[object Date]",_We="[object Error]",Yoe="[object Function]",VWe="[object GeneratorFunction]",XWe="[object Map]",ZWe="[object Number]",qoe="[object Object]",$We="[object RegExp]",e8e="[object Set]",t8e="[object String]",r8e="[object Symbol]",i8e="[object WeakMap]",n8e="[object ArrayBuffer]",s8e="[object DataView]",o8e="[object Float32Array]",a8e="[object Float64Array]",A8e="[object Int8Array]",l8e="[object Int16Array]",c8e="[object Int32Array]",u8e="[object Uint8Array]",g8e="[object Uint8ClampedArray]",f8e="[object Uint16Array]",h8e="[object Uint32Array]",dr={};dr[Goe]=dr[JWe]=dr[n8e]=dr[s8e]=dr[WWe]=dr[zWe]=dr[o8e]=dr[a8e]=dr[A8e]=dr[l8e]=dr[c8e]=dr[XWe]=dr[ZWe]=dr[qoe]=dr[$We]=dr[e8e]=dr[t8e]=dr[r8e]=dr[u8e]=dr[g8e]=dr[f8e]=dr[h8e]=!0;dr[_We]=dr[Yoe]=dr[i8e]=!1;function rb(t,e,r,i,n,s){var o,a=e&GWe,l=e&YWe,c=e&qWe;if(r&&(o=n?r(t,i,n,s):r(t)),o!==void 0)return o;if(!UWe(t))return t;var u=TWe(t);if(u){if(o=FWe(t),!a)return SWe(t,o)}else{var g=RWe(t),f=g==Yoe||g==VWe;if(OWe(t))return vWe(t,a);if(g==qoe||g==Goe||f&&!n){if(o=l||f?{}:LWe(t),!a)return l?xWe(t,QWe(o,t)):kWe(t,bWe(o,t))}else{if(!dr[g])return n?t:{};o=NWe(t,g,a)}}s||(s=new yWe);var h=s.get(t);if(h)return h;s.set(t,o),KWe(t)?t.forEach(function(y){o.add(rb(y,e,r,y,t,s))}):MWe(t)&&t.forEach(function(y,Q){o.set(Q,rb(y,e,r,Q,t,s))});var p=c?l?DWe:PWe:l?jWe:HWe,m=u?void 0:p(t);return wWe(m||t,function(y,Q){m&&(Q=y,y=t[Q]),BWe(o,Q,rb(y,e,r,Q,t,s))}),o}joe.exports=rb});var MN=w((kCt,Woe)=>{var p8e=Joe(),d8e=1,C8e=4;function m8e(t){return p8e(t,d8e|C8e)}Woe.exports=m8e});var _oe=w((xCt,zoe)=>{var E8e=zR();function I8e(t,e,r){return t==null?t:E8e(t,e,r)}zoe.exports=I8e});var tae=w((LCt,eae)=>{function y8e(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}eae.exports=y8e});var iae=w((TCt,rae)=>{var w8e=IC(),B8e=sD();function b8e(t,e){return e.length<2?t:w8e(t,B8e(e,0,-1))}rae.exports=b8e});var sae=w((OCt,nae)=>{var Q8e=Rf(),v8e=tae(),S8e=iae(),k8e=lu();function x8e(t,e){return e=Q8e(e,t),t=S8e(t,e),t==null||delete t[k8e(v8e(e))]}nae.exports=x8e});var aae=w((MCt,oae)=>{var P8e=sae();function D8e(t,e){return t==null?!0:P8e(t,e)}oae.exports=D8e});var dae=w((hmt,pae)=>{pae.exports={name:"@yarnpkg/cli",version:"3.2.0",license:"BSD-2-Clause",main:"./sources/index.ts",dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/shell":"workspace:^",chalk:"^3.0.0","ci-info":"^3.2.0",clipanion:"^3.2.0-rc.4",semver:"^7.1.2",tslib:"^1.13.0",typanion:"^3.3.0",yup:"^0.32.9"},devDependencies:{"@types/semver":"^7.1.0","@types/yup":"^0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^",micromatch:"^4.0.2"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",types:"./lib/index.d.ts",bin:null},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=12 <14 || 14.2 - 14.9 || >14.10.0"}}});var VN=w((Jyt,rAe)=>{"use strict";rAe.exports=function(e,r){r===!0&&(r=0);var i=e.indexOf("://"),n=e.substring(0,i).split("+").filter(Boolean);return typeof r=="number"?n[r]:n}});var XN=w((Wyt,iAe)=>{"use strict";var Z8e=VN();function nAe(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=Z8e(t);return t=t.substring(t.indexOf("://")+3),nAe(e)?!0:t.indexOf("@"){"use strict";var $8e=VN(),eze=XN(),tze=require("querystring");function rze(t){t=(t||"").trim();var e={protocols:$8e(t),protocol:null,port:null,resource:"",user:"",pathname:"",hash:"",search:"",href:t,query:Object.create(null)},r=t.indexOf("://"),i=-1,n=null,s=null;t.startsWith(".")&&(t.startsWith("./")&&(t=t.substring(2)),e.pathname=t,e.protocol="file");var o=t.charAt(1);return e.protocol||(e.protocol=e.protocols[0],e.protocol||(eze(t)?e.protocol="ssh":((o==="/"||o==="~")&&(t=t.substring(2)),e.protocol="file"))),r!==-1&&(t=t.substring(r+3)),s=t.split("/"),e.protocol!=="file"?e.resource=s.shift():e.resource="",n=e.resource.split("@"),n.length===2&&(e.user=n[0],e.resource=n[1]),n=e.resource.split(":"),n.length===2&&(e.resource=n[0],n[1]?(e.port=Number(n[1]),isNaN(e.port)&&(e.port=null,s.unshift(n[1]))):e.port=null),s=s.filter(Boolean),e.protocol==="file"?e.pathname=e.href:e.pathname=e.pathname||(e.protocol!=="file"||e.href[0]==="/"?"/":"")+s.join("/"),n=e.pathname.split("#"),n.length===2&&(e.pathname=n[0],e.hash=n[1]),n=e.pathname.split("?"),n.length===2&&(e.pathname=n[0],e.search=n[1]),e.query=tze.parse(e.search),e.href=e.href.replace(/\/$/,""),e.pathname=e.pathname.replace(/\/$/,""),e}sAe.exports=rze});var lAe=w((_yt,aAe)=>{"use strict";var ize="text/plain",nze="us-ascii",AAe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),sze=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:i,data:n,hash:s}=r.groups,o=i.split(";");s=e?"":s;let a=!1;o[o.length-1]==="base64"&&(o.pop(),a=!0);let l=(o.shift()||"").toLowerCase(),u=[...o.map(g=>{let[f,h=""]=g.split("=").map(p=>p.trim());return f==="charset"&&(h=h.toLowerCase(),h===nze)?"":`${f}${h?`=${h}`:""}`}).filter(Boolean)];return a&&u.push("base64"),(u.length!==0||l&&l!==ize)&&u.unshift(l),`data:${u.join(";")},${a?n.trim():n}${s?`#${s}`:""}`},oze=(t,e)=>{if(e=N({defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0},e),t=t.trim(),/^data:/i.test(t))return sze(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let n=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&n.protocol==="https:"&&(n.protocol="http:"),e.forceHttps&&n.protocol==="http:"&&(n.protocol="https:"),e.stripAuthentication&&(n.username="",n.password=""),e.stripHash?n.hash="":e.stripTextFragment&&(n.hash=n.hash.replace(/#?:~:text.*?$/i,"")),n.pathname&&(n.pathname=n.pathname.replace(/(?0){let o=n.pathname.split("/"),a=o[o.length-1];AAe(a,e.removeDirectoryIndex)&&(o=o.slice(0,o.length-1),n.pathname=o.slice(1).join("/")+"/")}if(n.hostname&&(n.hostname=n.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(n.hostname)&&(n.hostname=n.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let o of[...n.searchParams.keys()])AAe(o,e.removeQueryParameters)&&n.searchParams.delete(o);e.removeQueryParameters===!0&&(n.search=""),e.sortQueryParameters&&n.searchParams.sort(),e.removeTrailingSlash&&(n.pathname=n.pathname.replace(/\/$/,""));let s=t;return t=n.toString(),!e.removeSingleSlash&&n.pathname==="/"&&!s.endsWith("/")&&n.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||n.pathname==="/")&&n.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};aAe.exports=oze});var uAe=w((Vyt,cAe)=>{"use strict";var aze=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Aze=oAe(),lze=lAe();function cze(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(typeof t!="string"||!t.trim())throw new Error("Invalid url.");e&&((typeof e=="undefined"?"undefined":aze(e))!=="object"&&(e={stripHash:!1}),t=lze(t,e));var r=Aze(t);return r}cAe.exports=cze});var hAe=w((Xyt,gAe)=>{"use strict";var uze=uAe(),fAe=XN();function gze(t){var e=uze(t);e.token="";var r=e.user.split(":");return r.length===2&&(r[1]==="x-oauth-basic"?e.token=r[0]:r[0]==="x-token-auth"&&(e.token=r[1])),fAe(e.protocols)||fAe(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:e.protocol="file",e.href=e.href.replace(/\/$/,""),e}gAe.exports=gze});var dAe=w((Zyt,pAe)=>{"use strict";var fze=hAe();function ZN(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=fze(t),r=e.resource.split("."),i=null;switch(e.toString=function(l){return ZN.stringify(this,l)},e.source=r.length>2?r.slice(1-r.length).join("."):e.source=e.resource,e.git_suffix=/\.git$/.test(e.pathname),e.name=decodeURIComponent(e.pathname.replace(/^\//,"").replace(/\.git$/,"")),e.owner=decodeURIComponent(e.user),e.source){case"git.cloudforge.com":e.owner=e.user,e.organization=r[0],e.source="cloudforge.com";break;case"visualstudio.com":if(e.resource==="vs-ssh.visualstudio.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3],e.full_name=i[2]+"/"+i[3]);break}else{i=e.name.split("/"),i.length===2?(e.owner=i[1],e.name=i[1],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}case"dev.azure.com":case"azure.com":if(e.resource==="ssh.dev.azure.com"){i=e.name.split("/"),i.length===4&&(e.organization=i[1],e.owner=i[2],e.name=i[3]);break}else{i=e.name.split("/"),i.length===5?(e.organization=i[0],e.owner=i[1],e.name=i[4],e.full_name="_git/"+e.name):i.length===3?(e.name=i[2],i[0]==="DefaultCollection"?(e.owner=i[2],e.organization=i[0],e.full_name=e.organization+"/_git/"+e.name):(e.owner=i[0],e.full_name=e.owner+"/_git/"+e.name)):i.length===4&&(e.organization=i[0],e.owner=i[1],e.name=i[3],e.full_name=e.organization+"/"+e.owner+"/_git/"+e.name);break}default:i=e.name.split("/");var n=i.length-1;if(i.length>=2){var s=i.indexOf("blob",2),o=i.indexOf("tree",2),a=i.indexOf("commit",2);n=s>0?s-1:o>0?o-1:a>0?a-1:n,e.owner=i.slice(0,n).join("/"),e.name=i[n],a&&(e.commit=i[n+2])}e.ref="",e.filepathtype="",e.filepath="",i.length>n+2&&["blob","tree"].indexOf(i[n+1])>=0&&(e.filepathtype=i[n+1],e.ref=i[n+2],i.length>n+3&&(e.filepath=i.slice(n+3).join("/"))),e.organization=e.owner;break}return e.full_name||(e.full_name=e.owner,e.name&&(e.full_name&&(e.full_name+="/"),e.full_name+=e.name)),e}ZN.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",i=t.user||"git",n=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+i+"@"+t.resource+r+"/"+t.full_name+n:i+"@"+t.resource+":"+t.full_name+n;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+i+"@"+t.resource+r+"/"+t.full_name+n;case"http":case"https":var s=t.token?hze(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+s+t.resource+r+"/"+t.full_name+n;default:return t.href}};function hze(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}pAe.exports=ZN});var kL=w((nbt,UAe)=>{var Fze=Ff(),Nze=xf();function Lze(t,e,r){(r!==void 0&&!Nze(t[e],r)||r===void 0&&!(e in t))&&Fze(t,e,r)}UAe.exports=Lze});var HAe=w((sbt,KAe)=>{var Tze=FC(),Oze=Zo();function Mze(t){return Oze(t)&&Tze(t)}KAe.exports=Mze});var YAe=w((obt,jAe)=>{var Uze=Hc(),Kze=eb(),Hze=Zo(),jze="[object Object]",Gze=Function.prototype,Yze=Object.prototype,GAe=Gze.toString,qze=Yze.hasOwnProperty,Jze=GAe.call(Object);function Wze(t){if(!Hze(t)||Uze(t)!=jze)return!1;var e=Kze(t);if(e===null)return!0;var r=qze.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&GAe.call(r)==Jze}jAe.exports=Wze});var xL=w((abt,qAe)=>{function zze(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}qAe.exports=zze});var WAe=w((Abt,JAe)=>{var _ze=Xf(),Vze=Zf();function Xze(t){return _ze(t,Vze(t))}JAe.exports=Xze});var $Ae=w((lbt,zAe)=>{var _Ae=kL(),Zze=FN(),$ze=TN(),e4e=NN(),t4e=ON(),VAe=wC(),XAe=Os(),r4e=HAe(),i4e=PC(),n4e=a0(),s4e=Rn(),o4e=YAe(),a4e=B0(),ZAe=xL(),A4e=WAe();function l4e(t,e,r,i,n,s,o){var a=ZAe(t,r),l=ZAe(e,r),c=o.get(l);if(c){_Ae(t,r,c);return}var u=s?s(a,l,r+"",t,e,o):void 0,g=u===void 0;if(g){var f=XAe(l),h=!f&&i4e(l),p=!f&&!h&&a4e(l);u=l,f||h||p?XAe(a)?u=a:r4e(a)?u=e4e(a):h?(g=!1,u=Zze(l,!0)):p?(g=!1,u=$ze(l,!0)):u=[]:o4e(l)||VAe(l)?(u=a,VAe(a)?u=A4e(a):(!s4e(a)||n4e(a))&&(u=t4e(l))):g=!1}g&&(o.set(l,u),n(u,l,i,s,o),o.delete(l)),_Ae(t,r,u)}zAe.exports=l4e});var rle=w((cbt,ele)=>{var c4e=NC(),u4e=kL(),g4e=dF(),f4e=$Ae(),h4e=Rn(),p4e=Zf(),d4e=xL();function tle(t,e,r,i,n){t!==e&&g4e(e,function(s,o){if(n||(n=new c4e),h4e(s))f4e(t,e,o,r,tle,i,n);else{var a=i?i(d4e(t,o),s,o+"",t,e,n):void 0;a===void 0&&(a=s),u4e(t,o,a)}},p4e)}ele.exports=tle});var nle=w((ubt,ile)=>{var C4e=f0(),m4e=XR(),E4e=ZR();function I4e(t,e){return E4e(m4e(t,e,C4e),t+"")}ile.exports=I4e});var ole=w((gbt,sle)=>{var y4e=xf(),w4e=FC(),B4e=yC(),b4e=Rn();function Q4e(t,e,r){if(!b4e(r))return!1;var i=typeof e;return(i=="number"?w4e(r)&&B4e(e,r.length):i=="string"&&e in r)?y4e(r[e],t):!1}sle.exports=Q4e});var Ale=w((fbt,ale)=>{var v4e=nle(),S4e=ole();function k4e(t){return v4e(function(e,r){var i=-1,n=r.length,s=n>1?r[n-1]:void 0,o=n>2?r[2]:void 0;for(s=t.length>3&&typeof s=="function"?(n--,s):void 0,o&&S4e(r[0],r[1],o)&&(s=n<3?void 0:s,n=1),e=Object(e);++i{var x4e=rle(),P4e=Ale(),D4e=P4e(function(t,e,r){x4e(t,e,r)});lle.exports=D4e});var vle=w((EQt,Qle)=>{var GL;Qle.exports=()=>(typeof GL=="undefined"&&(GL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),GL)});var Rle=w(qL=>{function nh(t,e){if(typeof t=="string")return t;if(t){let r,i;if(Array.isArray(t)){for(r=0;r0)return(f=nh(n[g],u))?f.replace("*",c.substring(g.length-1)):bu(i,c,1)}return bu(i,c)}}function o_e(t,e={}){let r=0,i,n=e.browser,s=e.fields||["module","main"];for(n&&!s.includes("browser")&&s.unshift("browser");r{var zL;Mle.exports=()=>(typeof zL=="undefined"&&(zL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),zL)});var Wle=w((tT,rT)=>{(function(t){tT&&typeof tT=="object"&&typeof rT!="undefined"?rT.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window!="undefined"?window.isWindows=t():typeof global!="undefined"?global.isWindows=t():typeof self!="undefined"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var Xle=w((iSt,zle)=>{"use strict";iT.ifExists=E_e;var oh=require("util"),Js=require("path"),_le=Wle(),I_e=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,y_e={createPwshFile:!0,createCmdFile:_le(),fs:require("fs")},w_e=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function Vle(t){let e=N(N({},y_e),t),r=e.fs;return e.fs_={chmod:r.chmod?oh.promisify(r.chmod):async()=>{},mkdir:oh.promisify(r.mkdir),readFile:oh.promisify(r.readFile),stat:oh.promisify(r.stat),unlink:oh.promisify(r.unlink),writeFile:oh.promisify(r.writeFile)},e}async function iT(t,e,r){let i=Vle(r);await i.fs_.stat(t),await B_e(t,e,i)}function E_e(t,e,r){return iT(t,e,r).catch(()=>{})}function b_e(t,e){return e.fs_.unlink(t).catch(()=>{})}async function B_e(t,e,r){let i=await S_e(t,r);return await Q_e(e,r),v_e(t,e,i,r)}function Q_e(t,e){return e.fs_.mkdir(Js.dirname(t),{recursive:!0})}function v_e(t,e,r,i){let n=Vle(i),s=[{generator:P_e,extension:""}];return n.createCmdFile&&s.push({generator:x_e,extension:".cmd"}),n.createPwshFile&&s.push({generator:D_e,extension:".ps1"}),Promise.all(s.map(o=>k_e(t,e+o.extension,r,o.generator,n)))}function R_e(t,e){return b_e(t,e)}function N_e(t,e){return F_e(t,e)}async function S_e(t,e){let n=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(I_e);if(!n){let s=Js.extname(t).toLowerCase();return{program:w_e.get(s)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}async function k_e(t,e,r,i,n){let s=n.preserveSymlinks?"--preserve-symlinks":"",o=[r.additionalArgs,s].filter(a=>a).join(" ");return n=Object.assign({},n,{prog:r.program,args:o}),await R_e(e,n),await n.fs_.writeFile(e,i(t,e,n),"utf8"),N_e(e,n)}function x_e(t,e,r){let n=Js.relative(Js.dirname(e),t).split("/").join("\\"),s=Js.isAbsolute(n)?`"${n}"`:`"%~dp0\\${n}"`,o,a=r.prog,l=r.args||"",c=nT(r.nodePath).win32;a?(o=`"%~dp0\\${a}.exe"`,n=s):(a=s,l="",n="");let u=r.progArgs?`${r.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r +`:"";return o?g+=`@IF EXIST ${o} (\r + ${o} ${l} ${n} ${u}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${a} ${l} ${n} ${u}%*\r +)\r +`:g+=`@${a} ${l} ${n} ${u}%*\r +`,g}function P_e(t,e,r){let i=Js.relative(Js.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s;i=i.split("\\").join("/");let o=Js.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,a=r.args||"",l=nT(r.nodePath).posix;n?(s=`"$basedir/${r.prog}"`,i=o):(n=o,a="",i="");let c=r.progArgs?`${r.progArgs.join(" ")} `:"",u=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,g=r.nodePath?`export NODE_PATH="${l}" +`:"";return s?u+=`${g}if [ -x ${s} ]; then + exec ${s} ${a} ${i} ${c}"$@" +else + exec ${n} ${a} ${i} ${c}"$@" +fi +`:u+=`${g}${n} ${a} ${i} ${c}"$@" +exit $? +`,u}function D_e(t,e,r){let i=Js.relative(Js.dirname(e),t),n=r.prog&&r.prog.split("\\").join("/"),s=n&&`"${n}$exe"`,o;i=i.split("\\").join("/");let a=Js.isAbsolute(i)?`"${i}"`:`"$basedir/${i}"`,l=r.args||"",c=nT(r.nodePath),u=c.win32,g=c.posix;s?(o=`"$basedir/${r.prog}$exe"`,i=a):(s=a,l="",i="");let f=r.progArgs?`${r.progArgs.join(" ")} `:"",h=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${u}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(h+=` else { + $env:NODE_PATH="${g}" +}`),o?h+=` +$ret=0 +if (Test-Path ${o}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${o} ${l} ${i} ${f}$args + } else { + & ${o} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args + } else { + & ${s} ${l} ${i} ${f}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:h+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${s} ${l} ${i} ${f}$args +} else { + & ${s} ${l} ${i} ${f}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,h}function F_e(t,e){return e.fs_.chmod(t,493)}function nT(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(Js.delimiter):Array.from(t),r={};for(let i=0;i`/mnt/${a.toLowerCase()}`):e[i];r.win32=r.win32?`${r.win32};${n}`:n,r.posix=r.posix?`${r.posix}:${s}`:s,r[i]={win32:n,posix:s}}return r}zle.exports=iT});var IT=w((Ukt,Cce)=>{Cce.exports=require("stream")});var yce=w((Kkt,mce)=>{"use strict";function Ece(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function e5e(t){for(var e=1;e0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function(r){var i={data:r,next:this.head};this.length===0&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var i=this.head,n=""+i.data;i=i.next;)n+=r+i.data;return n}},{key:"concat",value:function(r){if(this.length===0)return mb.alloc(0);for(var i=mb.allocUnsafe(r>>>0),n=this.head,s=0;n;)o5e(n.data,i,s),s+=n.data.length,n=n.next;return i}},{key:"consume",value:function(r,i){var n;return ro.length?o.length:r;if(a===o.length?s+=o:s+=o.slice(0,r),r-=a,r===0){a===o.length?(++n,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(a));break}++n}return this.length-=n,s}},{key:"_getBuffer",value:function(r){var i=mb.allocUnsafe(r),n=this.head,s=1;for(n.data.copy(i),r-=n.data.length;n=n.next;){var o=n.data,a=r>o.length?o.length:r;if(o.copy(i,i.length-r,0,a),r-=a,r===0){a===o.length?(++s,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(a));break}++s}return this.length-=s,i}},{key:s5e,value:function(r,i){return yT(this,e5e({},i,{depth:0,customInspect:!1}))}}]),t}()});var BT=w((Hkt,wce)=>{"use strict";function a5e(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(wT,this,t)):process.nextTick(wT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(s){!e&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(Eb,r):(r._writableState.errorEmitted=!0,process.nextTick(Bce,r,s)):process.nextTick(Bce,r,s):e?(process.nextTick(Eb,r),e(s)):process.nextTick(Eb,r)}),this)}function Bce(t,e){wT(t,e),Eb(t)}function Eb(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function A5e(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function wT(t,e){t.emit("error",e)}function l5e(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}wce.exports={destroy:a5e,undestroy:A5e,errorOrDestroy:l5e}});var Nl=w((jkt,bce)=>{"use strict";var Qce={};function Ws(t,e,r){r||(r=Error);function i(s,o,a){return typeof e=="string"?e:e(s,o,a)}class n extends r{constructor(o,a,l){super(i(o,a,l))}}n.prototype.name=r.name,n.prototype.code=t,Qce[t]=n}function vce(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(i=>String(i)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function c5e(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function u5e(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function g5e(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ws("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ws("ERR_INVALID_ARG_TYPE",function(t,e,r){let i;typeof e=="string"&&c5e(e,"not ")?(i="must not be",e=e.replace(/^not /,"")):i="must be";let n;if(u5e(t," argument"))n=`The ${t} ${i} ${vce(e,"type")}`;else{let s=g5e(t,".")?"property":"argument";n=`The "${t}" ${s} ${i} ${vce(e,"type")}`}return n+=`. Received type ${typeof r}`,n},TypeError);Ws("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ws("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ws("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ws("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ws("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ws("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ws("ERR_STREAM_WRITE_AFTER_END","write after end");Ws("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ws("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ws("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");bce.exports.codes=Qce});var bT=w((Gkt,Sce)=>{"use strict";var f5e=Nl().codes.ERR_INVALID_OPT_VALUE;function h5e(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function p5e(t,e,r,i){var n=h5e(e,i,r);if(n!=null){if(!(isFinite(n)&&Math.floor(n)===n)||n<0){var s=i?r:"highWaterMark";throw new f5e(s,n)}return Math.floor(n)}return t.objectMode?16:16*1024}Sce.exports={getHighWaterMark:p5e}});var kce=w((Ykt,QT)=>{typeof Object.create=="function"?QT.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:QT.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var Ll=w((qkt,vT)=>{try{if(ST=require("util"),typeof ST.inherits!="function")throw"";vT.exports=ST.inherits}catch(t){vT.exports=kce()}var ST});var Pce=w((Jkt,xce)=>{xce.exports=require("util").deprecate});var PT=w((Wkt,Dce)=>{"use strict";Dce.exports=jr;function Rce(t){var e=this;this.next=null,this.entry=null,this.finish=function(){d5e(e,t)}}var lh;jr.WritableState=_m;var C5e={deprecate:Pce()},Fce=IT(),Ib=require("buffer").Buffer,m5e=global.Uint8Array||function(){};function E5e(t){return Ib.from(t)}function I5e(t){return Ib.isBuffer(t)||t instanceof m5e}var kT=BT(),y5e=bT(),w5e=y5e.getHighWaterMark,Tl=Nl().codes,B5e=Tl.ERR_INVALID_ARG_TYPE,b5e=Tl.ERR_METHOD_NOT_IMPLEMENTED,Q5e=Tl.ERR_MULTIPLE_CALLBACK,v5e=Tl.ERR_STREAM_CANNOT_PIPE,S5e=Tl.ERR_STREAM_DESTROYED,k5e=Tl.ERR_STREAM_NULL_VALUES,x5e=Tl.ERR_STREAM_WRITE_AFTER_END,P5e=Tl.ERR_UNKNOWN_ENCODING,ch=kT.errorOrDestroy;Ll()(jr,Fce);function D5e(){}function _m(t,e,r){lh=lh||vu(),t=t||{},typeof r!="boolean"&&(r=e instanceof lh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=w5e(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=t.decodeStrings===!1;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){R5e(e,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Rce(this)}_m.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(_m.prototype,"buffer",{get:C5e.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}})();var yb;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(yb=Function.prototype[Symbol.hasInstance],Object.defineProperty(jr,Symbol.hasInstance,{value:function(e){return yb.call(this,e)?!0:this!==jr?!1:e&&e._writableState instanceof _m}})):yb=function(e){return e instanceof this};function jr(t){lh=lh||vu();var e=this instanceof lh;if(!e&&!yb.call(jr,this))return new jr(t);this._writableState=new _m(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Fce.call(this)}jr.prototype.pipe=function(){ch(this,new v5e)};function F5e(t,e){var r=new x5e;ch(t,r),process.nextTick(e,r)}function N5e(t,e,r,i){var n;return r===null?n=new k5e:typeof r!="string"&&!e.objectMode&&(n=new B5e("chunk",["string","Buffer"],r)),n?(ch(t,n),process.nextTick(i,n),!1):!0}jr.prototype.write=function(t,e,r){var i=this._writableState,n=!1,s=!i.objectMode&&I5e(t);return s&&!Ib.isBuffer(t)&&(t=E5e(t)),typeof e=="function"&&(r=e,e=null),s?e="buffer":e||(e=i.defaultEncoding),typeof r!="function"&&(r=D5e),i.ending?F5e(this,r):(s||N5e(this,i,t,r))&&(i.pendingcb++,n=L5e(this,i,s,t,e,r)),n};jr.prototype.cork=function(){this._writableState.corked++};jr.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&Nce(this,t))};jr.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new P5e(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(jr.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function T5e(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=Ib.from(e,r)),e}Object.defineProperty(jr.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5e(t,e,r,i,n,s){if(!r){var o=T5e(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length{"use strict";var G5e=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};Oce.exports=pa;var Mce=DT(),RT=PT();Ll()(pa,Mce);for(FT=G5e(RT.prototype),wb=0;wb{var bb=require("buffer"),BA=bb.Buffer;function Kce(t,e){for(var r in t)e[r]=t[r]}BA.from&&BA.alloc&&BA.allocUnsafe&&BA.allocUnsafeSlow?Uce.exports=bb:(Kce(bb,NT),NT.Buffer=uh);function uh(t,e,r){return BA(t,e,r)}Kce(BA,uh);uh.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return BA(t,e,r)};uh.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=BA(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};uh.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return BA(t)};uh.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bb.SlowBuffer(t)}});var OT=w(jce=>{"use strict";var LT=Hce().Buffer,Gce=LT.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function J5e(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function W5e(t){var e=J5e(t);if(typeof e!="string"&&(LT.isEncoding===Gce||!Gce(t)))throw new Error("Unknown encoding: "+t);return e||t}jce.StringDecoder=Xm;function Xm(t){this.encoding=W5e(t);var e;switch(this.encoding){case"utf16le":this.text=_5e,this.end=V5e,e=4;break;case"utf8":this.fillLast=z5e,e=4;break;case"base64":this.text=X5e,this.end=Z5e,e=3;break;default:this.write=$5e,this.end=e6e;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=LT.allocUnsafe(e)}Xm.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function i6e(t,e,r){var i=e.length-1;if(i=0?(n>0&&(t.lastNeed=n-1),n):--i=0?(n>0&&(t.lastNeed=n-2),n):--i=0?(n>0&&(n===2?n=0:t.lastNeed=n-3),n):0))}function n6e(t,e,r){if((e[0]&192)!=128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!=128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!=128)return t.lastNeed=2,"\uFFFD"}}function z5e(t){var e=this.lastTotal-this.lastNeed,r=n6e(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function r6e(t,e){var r=i6e(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function t6e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function _5e(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function V5e(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function X5e(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function Z5e(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function $5e(t){return t.toString(this.encoding)}function e6e(t){return t&&t.length?this.write(t):""}});var Qb=w((Vkt,Yce)=>{"use strict";var qce=Nl().codes.ERR_STREAM_PREMATURE_CLOSE;function s6e(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n{"use strict";var vb;function Ol(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var A6e=Qb(),Ml=Symbol("lastResolve"),Su=Symbol("lastReject"),Zm=Symbol("error"),Sb=Symbol("ended"),ku=Symbol("lastPromise"),MT=Symbol("handlePromise"),xu=Symbol("stream");function Ul(t,e){return{value:t,done:e}}function l6e(t){var e=t[Ml];if(e!==null){var r=t[xu].read();r!==null&&(t[ku]=null,t[Ml]=null,t[Su]=null,e(Ul(r,!1)))}}function c6e(t){process.nextTick(l6e,t)}function u6e(t,e){return function(r,i){t.then(function(){if(e[Sb]){r(Ul(void 0,!0));return}e[MT](r,i)},i)}}var g6e=Object.getPrototypeOf(function(){}),f6e=Object.setPrototypeOf((vb={get stream(){return this[xu]},next:function(){var e=this,r=this[Zm];if(r!==null)return Promise.reject(r);if(this[Sb])return Promise.resolve(Ul(void 0,!0));if(this[xu].destroyed)return new Promise(function(o,a){process.nextTick(function(){e[Zm]?a(e[Zm]):o(Ul(void 0,!0))})});var i=this[ku],n;if(i)n=new Promise(u6e(i,this));else{var s=this[xu].read();if(s!==null)return Promise.resolve(Ul(s,!1));n=new Promise(this[MT])}return this[ku]=n,n}},Ol(vb,Symbol.asyncIterator,function(){return this}),Ol(vb,"return",function(){var e=this;return new Promise(function(r,i){e[xu].destroy(null,function(n){if(n){i(n);return}r(Ul(void 0,!0))})})}),vb),g6e),h6e=function(e){var r,i=Object.create(f6e,(r={},Ol(r,xu,{value:e,writable:!0}),Ol(r,Ml,{value:null,writable:!0}),Ol(r,Su,{value:null,writable:!0}),Ol(r,Zm,{value:null,writable:!0}),Ol(r,Sb,{value:e._readableState.endEmitted,writable:!0}),Ol(r,MT,{value:function(s,o){var a=i[xu].read();a?(i[ku]=null,i[Ml]=null,i[Su]=null,s(Ul(a,!1))):(i[Ml]=s,i[Su]=o)},writable:!0}),r));return i[ku]=null,A6e(e,function(n){if(n&&n.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=i[Su];s!==null&&(i[ku]=null,i[Ml]=null,i[Su]=null,s(n)),i[Zm]=n;return}var o=i[Ml];o!==null&&(i[ku]=null,i[Ml]=null,i[Su]=null,o(Ul(void 0,!0))),i[Sb]=!0}),e.on("readable",c6e.bind(null,i)),i};Wce.exports=h6e});var Zce=w((Zkt,_ce)=>{"use strict";function Vce(t,e,r,i,n,s,o){try{var a=t[s](o),l=a.value}catch(c){r(c);return}a.done?e(l):Promise.resolve(l).then(i,n)}function p6e(t){return function(){var e=this,r=arguments;return new Promise(function(i,n){var s=t.apply(e,r);function o(l){Vce(s,i,n,o,a,"next",l)}function a(l){Vce(s,i,n,o,a,"throw",l)}o(void 0)})}}function Xce(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function C6e(t){for(var e=1;e{"use strict";$ce.exports=Kt;var gh;Kt.ReadableState=eue;var $kt=require("events").EventEmitter,tue=function(e,r){return e.listeners(r).length},$m=IT(),kb=require("buffer").Buffer,I6e=global.Uint8Array||function(){};function y6e(t){return kb.from(t)}function w6e(t){return kb.isBuffer(t)||t instanceof I6e}var UT=require("util"),xt;UT&&UT.debuglog?xt=UT.debuglog("stream"):xt=function(){};var B6e=yce(),KT=BT(),b6e=bT(),Q6e=b6e.getHighWaterMark,xb=Nl().codes,v6e=xb.ERR_INVALID_ARG_TYPE,S6e=xb.ERR_STREAM_PUSH_AFTER_EOF,k6e=xb.ERR_METHOD_NOT_IMPLEMENTED,x6e=xb.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,fh,HT,jT;Ll()(Kt,$m);var eE=KT.errorOrDestroy,GT=["error","close","destroy","pause","resume"];function P6e(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function eue(t,e,r){gh=gh||vu(),t=t||{},typeof r!="boolean"&&(r=e instanceof gh),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Q6e(this,t,"readableHighWaterMark",r),this.buffer=new B6e,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(fh||(fh=OT().StringDecoder),this.decoder=new fh(t.encoding),this.encoding=t.encoding)}function Kt(t){if(gh=gh||vu(),!(this instanceof Kt))return new Kt(t);var e=this instanceof gh;this._readableState=new eue(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),$m.call(this)}Object.defineProperty(Kt.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});Kt.prototype.destroy=KT.destroy;Kt.prototype._undestroy=KT.undestroy;Kt.prototype._destroy=function(t,e){e(t)};Kt.prototype.push=function(t,e){var r=this._readableState,i;return r.objectMode?i=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=kb.from(t,e),e=""),i=!0),rue(this,t,e,!1,i)};Kt.prototype.unshift=function(t){return rue(this,t,null,!0,!1)};function rue(t,e,r,i,n){xt("readableAddChunk",e);var s=t._readableState;if(e===null)s.reading=!1,R6e(t,s);else{var o;if(n||(o=D6e(s,e)),o)eE(t,o);else if(s.objectMode||e&&e.length>0)if(typeof e!="string"&&!s.objectMode&&Object.getPrototypeOf(e)!==kb.prototype&&(e=y6e(e)),i)s.endEmitted?eE(t,new x6e):YT(t,s,e,!0);else if(s.ended)eE(t,new S6e);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||e.length!==0?YT(t,s,e,!1):qT(t,s)):YT(t,s,e,!1)}else i||(s.reading=!1,qT(t,s))}return!s.ended&&(s.length=iue?t=iue:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function nue(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=F6e(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}Kt.prototype.read=function(t){xt("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return xt("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?JT(this):Pb(this),null;if(t=nue(t,e),t===0&&e.ended)return e.length===0&&JT(this),null;var i=e.needReadable;xt("need readable",i),(e.length===0||e.length-t0?n=sue(t,e):n=null,n===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&JT(this)),n!==null&&this.emit("data",n),n};function R6e(t,e){if(xt("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?Pb(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,oue(t)))}}function Pb(t){var e=t._readableState;xt("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(xt("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(oue,t))}function oue(t){var e=t._readableState;xt("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,WT(t)}function qT(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(N6e,t,e))}function N6e(t,e){for(;!e.reading&&!e.ended&&(e.length1&&aue(i.pipes,t)!==-1)&&!c&&(xt("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(y){xt("onerror",y),m(),t.removeListener("error",f),tue(t,"error")===0&&eE(t,y)}P6e(t,"error",f);function h(){t.removeListener("finish",p),m()}t.once("close",h);function p(){xt("onfinish"),t.removeListener("close",h),m()}t.once("finish",p);function m(){xt("unpipe"),r.unpipe(t)}return t.emit("pipe",r),i.flowing||(xt("pipe resume"),r.resume()),t};function L6e(t){return function(){var r=t._readableState;xt("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&tue(t,"data")&&(r.flowing=!0,WT(t))}}Kt.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s0,i.flowing!==!1&&this.resume()):t==="readable"&&!i.endEmitted&&!i.readableListening&&(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,xt("on readable",i.length,i.reading),i.length?Pb(this):i.reading||process.nextTick(T6e,this)),r};Kt.prototype.addListener=Kt.prototype.on;Kt.prototype.removeListener=function(t,e){var r=$m.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(Aue,this),r};Kt.prototype.removeAllListeners=function(t){var e=$m.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(Aue,this),e};function Aue(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function T6e(t){xt("readable nexttick read 0"),t.read(0)}Kt.prototype.resume=function(){var t=this._readableState;return t.flowing||(xt("resume"),t.flowing=!t.readableListening,O6e(this,t)),t.paused=!1,this};function O6e(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(M6e,t,e))}function M6e(t,e){xt("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),WT(t),e.flowing&&!e.reading&&t.read(0)}Kt.prototype.pause=function(){return xt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(xt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function WT(t){var e=t._readableState;for(xt("flow",e.flowing);e.flowing&&t.read()!==null;);}Kt.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;t.on("end",function(){if(xt("wrapped end"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&e.push(o)}e.push(null)}),t.on("data",function(o){if(xt("wrapped data"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var a=e.push(o);a||(i=!0,t.pause())}});for(var n in t)this[n]===void 0&&typeof t[n]=="function"&&(this[n]=function(a){return function(){return t[a].apply(t,arguments)}}(n));for(var s=0;s=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function JT(t){var e=t._readableState;xt("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(U6e,e,t))}function U6e(t,e){if(xt("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(Kt.from=function(t,e){return jT===void 0&&(jT=Zce()),jT(Kt,t,e)});function aue(t,e){for(var r=0,i=t.length;r{"use strict";lue.exports=bA;var Db=Nl().codes,K6e=Db.ERR_METHOD_NOT_IMPLEMENTED,H6e=Db.ERR_MULTIPLE_CALLBACK,j6e=Db.ERR_TRANSFORM_ALREADY_TRANSFORMING,G6e=Db.ERR_TRANSFORM_WITH_LENGTH_0,Rb=vu();Ll()(bA,Rb);function Y6e(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(i===null)return this.emit("error",new H6e);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length{"use strict";uue.exports=tE;var gue=zT();Ll()(tE,gue);function tE(t){if(!(this instanceof tE))return new tE(t);gue.call(this,t)}tE.prototype._transform=function(t,e,r){r(null,t)}});var mue=w((ixt,hue)=>{"use strict";var _T;function J6e(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var pue=Nl().codes,W6e=pue.ERR_MISSING_ARGS,z6e=pue.ERR_STREAM_DESTROYED;function due(t){if(t)throw t}function _6e(t){return t.setHeader&&typeof t.abort=="function"}function V6e(t,e,r,i){i=J6e(i);var n=!1;t.on("close",function(){n=!0}),_T===void 0&&(_T=Qb()),_T(t,{readable:e,writable:r},function(o){if(o)return i(o);n=!0,i()});var s=!1;return function(o){if(!n&&!s){if(s=!0,_6e(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();i(o||new z6e("pipe"))}}}function Cue(t){t()}function X6e(t,e){return t.pipe(e)}function Z6e(t){return!t.length||typeof t[t.length-1]!="function"?due:t.pop()}function $6e(){for(var t=arguments.length,e=new Array(t),r=0;r0;return V6e(o,l,c,function(u){n||(n=u),u&&s.forEach(Cue),!l&&(s.forEach(Cue),i(n))})});return e.reduce(X6e)}hue.exports=$6e});var hh=w((zs,rE)=>{var iE=require("stream");process.env.READABLE_STREAM==="disable"&&iE?(rE.exports=iE.Readable,Object.assign(rE.exports,iE),rE.exports.Stream=iE):(zs=rE.exports=DT(),zs.Stream=iE||zs,zs.Readable=zs,zs.Writable=PT(),zs.Duplex=vu(),zs.Transform=zT(),zs.PassThrough=fue(),zs.finished=Qb(),zs.pipeline=mue())});var yue=w((nxt,Eue)=>{"use strict";var{Buffer:Qo}=require("buffer"),Iue=Symbol.for("BufferList");function mr(t){if(!(this instanceof mr))return new mr(t);mr._init.call(this,t)}mr._init=function(e){Object.defineProperty(this,Iue,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};mr.prototype._new=function(e){return new mr(e)};mr.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let i=0;ithis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};mr.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};mr.prototype.copy=function(e,r,i,n){if((typeof i!="number"||i<0)&&(i=0),(typeof n!="number"||n>this.length)&&(n=this.length),i>=this.length||n<=0)return e||Qo.alloc(0);let s=!!e,o=this._offset(i),a=n-i,l=a,c=s&&r||0,u=o[1];if(i===0&&n===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Qo.concat(this._bufs,this.length);for(let g=0;gf)this._bufs[g].copy(e,c,u),c+=f;else{this._bufs[g].copy(e,c,u,u+l),c+=f;break}l-=f,u&&(u=0)}return e.length>c?e.slice(0,c):e};mr.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let i=this._offset(e),n=this._offset(r),s=this._bufs.slice(i[0],n[0]+1);return n[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,n[1]),i[1]!==0&&(s[0]=s[0].slice(i[1])),this._new(s)};mr.prototype.toString=function(e,r,i){return this.slice(r,i).toString(e)};mr.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};mr.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let i=this._offset(e),n=i[0],s=i[1];for(;n=t.length){let l=o.indexOf(t,s);if(l!==-1)return this._reverseOffset([n,l]);s=o.length-t.length+1}else{let l=this._reverseOffset([n,s]);if(this._match(l,t))return l;s++}s=0}return-1};mr.prototype._match=function(t,e){if(this.length-t{"use strict";var VT=hh().Duplex,eVe=Ll(),nE=yue();function Zi(t){if(!(this instanceof Zi))return new Zi(t);if(typeof t=="function"){this._callback=t;let e=function(i){this._callback&&(this._callback(i),this._callback=null)}.bind(this);this.on("pipe",function(i){i.on("error",e)}),this.on("unpipe",function(i){i.removeListener("error",e)}),t=null}nE._init.call(this,t),VT.call(this)}eVe(Zi,VT);Object.assign(Zi.prototype,nE.prototype);Zi.prototype._new=function(e){return new Zi(e)};Zi.prototype._write=function(e,r,i){this._appendBuffer(e),typeof i=="function"&&i()};Zi.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Zi.prototype.end=function(e){VT.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Zi.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Zi.prototype._isBufferList=function(e){return e instanceof Zi||e instanceof nE||Zi.isBufferList(e)};Zi.isBufferList=nE.isBufferList;Fb.exports=Zi;Fb.exports.BufferListStream=Zi;Fb.exports.BufferList=nE});var $T=w(ph=>{var tVe=Buffer.alloc,rVe="0000000000000000000",iVe="7777777777777777777",Bue="0".charCodeAt(0),bue=Buffer.from("ustar\0","binary"),nVe=Buffer.from("00","binary"),sVe=Buffer.from("ustar ","binary"),oVe=Buffer.from(" \0","binary"),aVe=parseInt("7777",8),sE=257,XT=263,AVe=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},lVe=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},cVe=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},Que=function(t,e,r,i){for(;re?iVe.slice(0,e)+" ":rVe.slice(0,e-t.length)+t+" "};function uVe(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],i=t.length-1;i>0;i--){var n=t[i];e?r.push(n):r.push(255-n)}var s=0,o=r.length;for(i=0;i=Math.pow(10,r)&&r++,e+r+t};ph.decodeLongPath=function(t,e){return dh(t,0,t.length,e)};ph.encodePax=function(t){var e="";t.name&&(e+=ZT(" path="+t.name+` +`)),t.linkname&&(e+=ZT(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var i in r)e+=ZT(" "+i+"="+r[i]+` +`);return Buffer.from(e)};ph.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var n=r.indexOf("/");if(n===-1)return null;i+=i?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(i)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(Kl(t.mode&aVe,6),100),e.write(Kl(t.uid,6),108),e.write(Kl(t.gid,6),116),e.write(Kl(t.size,11),124),e.write(Kl(t.mtime.getTime()/1e3|0,11),136),e[156]=Bue+cVe(t.type),t.linkname&&e.write(t.linkname,157),bue.copy(e,sE),nVe.copy(e,XT),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(Kl(t.devmajor||0,6),329),e.write(Kl(t.devminor||0,6),337),i&&e.write(i,345),e.write(Kl(vue(e),6),148),e)};ph.decode=function(t,e,r){var i=t[156]===0?0:t[156]-Bue,n=dh(t,0,100,e),s=Hl(t,100,8),o=Hl(t,108,8),a=Hl(t,116,8),l=Hl(t,124,12),c=Hl(t,136,12),u=lVe(i),g=t[157]===0?null:dh(t,157,100,e),f=dh(t,265,32),h=dh(t,297,32),p=Hl(t,329,8),m=Hl(t,337,8),y=vue(t);if(y===8*32)return null;if(y!==Hl(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(bue.compare(t,sE,sE+6)===0)t[345]&&(n=dh(t,345,155,e)+"/"+n);else if(!(sVe.compare(t,sE,sE+6)===0&&oVe.compare(t,XT,XT+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return i===0&&n&&n[n.length-1]==="/"&&(i=5),{name:n,mode:s,uid:o,gid:a,size:l,mtime:new Date(1e3*c),type:u,linkname:g,uname:f,gname:h,devmajor:p,devminor:m}}});var Fue=w((axt,Sue)=>{var kue=require("util"),gVe=wue(),oE=$T(),xue=hh().Writable,Pue=hh().PassThrough,Due=function(){},Rue=function(t){return t&=511,t&&512-t},fVe=function(t,e){var r=new Nb(t,e);return r.end(),r},hVe=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},Nb=function(t,e){this._parent=t,this.offset=e,Pue.call(this,{autoDestroy:!1})};kue.inherits(Nb,Pue);Nb.prototype.destroy=function(t){this._parent.destroy(t)};var QA=function(t){if(!(this instanceof QA))return new QA(t);xue.call(this,t),t=t||{},this._offset=0,this._buffer=gVe(),this._missing=0,this._partial=!1,this._onparse=Due,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,i=function(){e._continue()},n=function(f){if(e._locked=!1,f)return e.destroy(f);e._stream||i()},s=function(){e._stream=null;var f=Rue(e._header.size);f?e._parse(f,o):e._parse(512,g),e._locked||i()},o=function(){e._buffer.consume(Rue(e._header.size)),e._parse(512,g),i()},a=function(){var f=e._header.size;e._paxGlobal=oE.decodePax(r.slice(0,f)),r.consume(f),s()},l=function(){var f=e._header.size;e._pax=oE.decodePax(r.slice(0,f)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(f),s()},c=function(){var f=e._header.size;this._gnuLongPath=oE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},u=function(){var f=e._header.size;this._gnuLongLinkPath=oE.decodeLongPath(r.slice(0,f),t.filenameEncoding),r.consume(f),s()},g=function(){var f=e._offset,h;try{h=e._header=oE.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(p){e.emit("error",p)}if(r.consume(512),!h){e._parse(512,g),i();return}if(h.type==="gnu-long-path"){e._parse(h.size,c),i();return}if(h.type==="gnu-long-link-path"){e._parse(h.size,u),i();return}if(h.type==="pax-global-header"){e._parse(h.size,a),i();return}if(h.type==="pax-header"){e._parse(h.size,l),i();return}if(e._gnuLongPath&&(h.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(h.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=h=hVe(h,e._pax),e._pax=null),e._locked=!0,!h.size||h.type==="directory"){e._parse(512,g),e.emit("entry",h,fVe(e,f),n);return}e._stream=new Nb(e,f),e.emit("entry",h,e._stream,n),e._parse(h.size,s),i()};this._onheader=g,this._parse(512,g)};kue.inherits(QA,xue);QA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};QA.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};QA.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=Due,this._overflow?this._write(this._overflow,void 0,t):t()}};QA.prototype._write=function(t,e,r){if(!this._destroyed){var i=this._stream,n=this._buffer,s=this._missing;if(t.length&&(this._partial=!0),t.lengths&&(o=t.slice(s),t=t.slice(0,s)),i?i.end(t):n.append(t),this._overflow=o,this._onparse()}};QA.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};Sue.exports=QA});var Lue=w((Axt,Nue)=>{Nue.exports=require("fs").constants||require("constants")});var Kue=w((lxt,Tue)=>{var Ch=Lue(),Oue=Wx(),Lb=Ll(),pVe=Buffer.alloc,Mue=hh().Readable,mh=hh().Writable,dVe=require("string_decoder").StringDecoder,Tb=$T(),CVe=parseInt("755",8),mVe=parseInt("644",8),Uue=pVe(1024),eO=function(){},tO=function(t,e){e&=511,e&&t.push(Uue.slice(0,512-e))};function EVe(t){switch(t&Ch.S_IFMT){case Ch.S_IFBLK:return"block-device";case Ch.S_IFCHR:return"character-device";case Ch.S_IFDIR:return"directory";case Ch.S_IFIFO:return"fifo";case Ch.S_IFLNK:return"symlink"}return"file"}var Ob=function(t){mh.call(this),this.written=0,this._to=t,this._destroyed=!1};Lb(Ob,mh);Ob.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};Ob.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var Mb=function(){mh.call(this),this.linkname="",this._decoder=new dVe("utf-8"),this._destroyed=!1};Lb(Mb,mh);Mb.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};Mb.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var aE=function(){mh.call(this),this._destroyed=!1};Lb(aE,mh);aE.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};aE.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var da=function(t){if(!(this instanceof da))return new da(t);Mue.call(this,t),this._drain=eO,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};Lb(da,Mue);da.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=eO);var i=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=EVe(t.mode)),t.mode||(t.mode=t.type==="directory"?CVe:mVe),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var n=this.push(e);return tO(i,t.size),n?process.nextTick(r):this._drain=r,new aE}if(t.type==="symlink"&&!t.linkname){var s=new Mb;return Oue(s,function(a){if(a)return i.destroy(),r(a);t.linkname=s.linkname,i._encode(t),r()}),s}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new aE;var o=new Ob(this);return this._stream=o,Oue(o,function(a){if(i._stream=null,a)return i.destroy(),r(a);if(o.written!==t.size)return i.destroy(),r(new Error("size mismatch"));tO(i,t.size),i._finalizing&&i.finalize(),r()}),o}};da.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(Uue),this.push(null))};da.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};da.prototype._encode=function(t){if(!t.pax){var e=Tb.encode(t);if(e){this.push(e);return}}this._encodePax(t)};da.prototype._encodePax=function(t){var e=Tb.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(Tb.encode(r)),this.push(e),tO(this,e.length),r.size=t.size,r.type=t.type,this.push(Tb.encode(r))};da.prototype._read=function(t){var e=this._drain;this._drain=eO,e()};Tue.exports=da});var Hue=w(rO=>{rO.extract=Fue();rO.pack=Kue()});var ege=w((Rxt,Vue)=>{"use strict";var Eh=class{constructor(e,r,i){this.__specs=e||{},Object.keys(this.__specs).forEach(n=>{if(typeof this.__specs[n]=="string"){let s=this.__specs[n],o=this.__specs[s];if(o){let a=o.aliases||[];a.push(n,s),o.aliases=[...new Set(a)],this.__specs[n]=o}else throw new Error(`Alias refers to invalid key: ${s} -> ${n}`)}}),this.__opts=r||{},this.__providers=Zue(i.filter(n=>n!=null&&typeof n=="object")),this.__isFiggyPudding=!0}get(e){return AO(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[i,n]of this.entries())e.call(r,n,i,this)}toJSON(){let e={};return this.forEach((r,i)=>{e[i]=r}),e}*entries(e){for(let i of Object.keys(this.__specs))yield[i,this.get(i)];let r=e||this.__opts.other;if(r){let i=new Set;for(let n of this.__providers){let s=n.entries?n.entries(r):RVe(n);for(let[o,a]of s)r(o)&&!i.has(o)&&(i.add(o),yield[o,a])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Eh(this.__specs,this.__opts,Zue(this.__providers).concat(e)),Xue)}};try{let t=require("util");Eh.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch(t){}function FVe(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function AO(t,e,r){let i=t.__specs[e];if(r&&!i&&(!t.__opts.other||!t.__opts.other(e)))FVe(e);else{i||(i={});let n;for(let s of t.__providers){if(n=$ue(e,s),n===void 0&&i.aliases&&i.aliases.length){for(let o of i.aliases)if(o!==e&&(n=$ue(o,s),n!==void 0))break}if(n!==void 0)break}return n===void 0&&i.default!==void 0?typeof i.default=="function"?i.default(t):i.default:n}}function $ue(t,e){let r;return e.__isFiggyPudding?r=AO(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var Xue={has(t,e){return e in t.__specs&&AO(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Eh.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};Vue.exports=NVe;function NVe(t,e){function r(...i){return new Proxy(new Eh(t,e,i),Xue)}return r}function Zue(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function RVe(t){return Object.keys(t).map(e=>[e,t[e]])}});var ige=w((Fxt,Ca)=>{"use strict";var lE=require("crypto"),LVe=ege(),TVe=require("stream").Transform,tge=["sha256","sha384","sha512"],OVe=/^[a-z0-9+/]+(?:=?=?)$/i,MVe=/^([^-]+)-([^?]+)([?\S*]*)$/,UVe=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,KVe=/^[\x21-\x7E]+$/,Cn=LVe({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>HVe},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),Pu=class{get isHash(){return!0}constructor(e,r){r=Cn(r);let i=!!r.strict;this.source=e.trim();let n=this.source.match(i?UVe:MVe);if(!n||i&&!tge.some(o=>o===n[1]))return;this.algorithm=n[1],this.digest=n[2];let s=n[3];this.options=s?s.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=Cn(e),e.strict&&!(tge.some(i=>i===this.algorithm)&&this.digest.match(OVe)&&(this.options||[]).every(i=>i.match(KVe))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},Ih=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=Cn(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(i=>this[i].map(n=>Pu.prototype.toString.call(n,e)).filter(n=>n.length).join(r)).filter(i=>i.length).join(r)}concat(e,r){r=Cn(r);let i=typeof e=="string"?e:cE(e,r);return ma(`${this.toString(r)} ${i}`,r)}hexDigest(){return ma(this,{single:!0}).hexDigest()}match(e,r){r=Cn(r);let i=ma(e,r),n=i.pickAlgorithm(r);return this[n]&&i[n]&&this[n].find(s=>i[n].find(o=>s.digest===o.digest))||!1}pickAlgorithm(e){e=Cn(e);let r=e.pickAlgorithm,i=Object.keys(this);if(!i.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return i.reduce((n,s)=>r(n,s)||n)}};Ca.exports.parse=ma;function ma(t,e){if(e=Cn(e),typeof t=="string")return lO(t,e);if(t.algorithm&&t.digest){let r=new Ih;return r[t.algorithm]=[t],lO(cE(r,e),e)}else return lO(cE(t,e),e)}function lO(t,e){return e.single?new Pu(t,e):t.trim().split(/\s+/).reduce((r,i)=>{let n=new Pu(i,e);if(n.algorithm&&n.digest){let s=n.algorithm;r[s]||(r[s]=[]),r[s].push(n)}return r},new Ih)}Ca.exports.stringify=cE;function cE(t,e){return e=Cn(e),t.algorithm&&t.digest?Pu.prototype.toString.call(t,e):typeof t=="string"?cE(ma(t,e),e):Ih.prototype.toString.call(t,e)}Ca.exports.fromHex=jVe;function jVe(t,e,r){r=Cn(r);let i=r.options&&r.options.length?`?${r.options.join("?")}`:"";return ma(`${e}-${Buffer.from(t,"hex").toString("base64")}${i}`,r)}Ca.exports.fromData=GVe;function GVe(t,e){e=Cn(e);let r=e.algorithms,i=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((n,s)=>{let o=lE.createHash(s).update(t).digest("base64"),a=new Pu(`${s}-${o}${i}`,e);if(a.algorithm&&a.digest){let l=a.algorithm;n[l]||(n[l]=[]),n[l].push(a)}return n},new Ih)}Ca.exports.fromStream=YVe;function YVe(t,e){e=Cn(e);let r=e.Promise||Promise,i=cO(e);return new r((n,s)=>{t.pipe(i),t.on("error",s),i.on("error",s);let o;i.on("integrity",a=>{o=a}),i.on("end",()=>n(o)),i.on("data",()=>{})})}Ca.exports.checkData=qVe;function qVe(t,e,r){if(r=Cn(r),e=ma(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let i=e.pickAlgorithm(r),n=lE.createHash(i).update(t).digest("base64"),s=ma({algorithm:i,digest:n}),o=s.match(e,r);if(o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${i}: Wanted ${e}, but got ${s}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=s,a.expected=e,a.algorithm=i,a.sri=e,a}}Ca.exports.checkStream=JVe;function JVe(t,e,r){r=Cn(r);let i=r.Promise||Promise,n=cO(r.concat({integrity:e}));return new i((s,o)=>{t.pipe(n),t.on("error",o),n.on("error",o);let a;n.on("verified",l=>{a=l}),n.on("end",()=>s(a)),n.on("data",()=>{})})}Ca.exports.integrityStream=cO;function cO(t){t=Cn(t);let e=t.integrity&&ma(t.integrity,t),r=e&&Object.keys(e).length,i=r&&e.pickAlgorithm(t),n=r&&e[i],s=Array.from(new Set(t.algorithms.concat(i?[i]:[]))),o=s.map(lE.createHash),a=0,l=new TVe({transform(c,u,g){a+=c.length,o.forEach(f=>f.update(c,u)),g(null,c,u)}}).on("end",()=>{let c=t.options&&t.options.length?`?${t.options.join("?")}`:"",u=ma(o.map((f,h)=>`${s[h]}-${f.digest("base64")}${c}`).join(" "),t),g=r&&u.match(e,t);if(typeof t.size=="number"&&a!==t.size){let f=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${a}`);f.code="EBADSIZE",f.found=a,f.expected=t.size,f.sri=e,l.emit("error",f)}else if(t.integrity&&!g){let f=new Error(`${e} integrity checksum failed when using ${i}: wanted ${n} but got ${u}. (${a} bytes)`);f.code="EINTEGRITY",f.found=u,f.expected=n,f.algorithm=i,f.sri=e,l.emit("error",f)}else l.emit("size",a),l.emit("integrity",u),g&&l.emit("verified",g)});return l}Ca.exports.create=WVe;function WVe(t){t=Cn(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",i=e.map(lE.createHash);return{update:function(n,s){return i.forEach(o=>o.update(n,s)),this},digest:function(n){return e.reduce((o,a)=>{let l=i.shift().digest("base64"),c=new Pu(`${a}-${l}${r}`,t);if(c.algorithm&&c.digest){let u=c.algorithm;o[u]||(o[u]=[]),o[u].push(c)}return o},new Ih)}}}var zVe=new Set(lE.getHashes()),rge=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>zVe.has(t));function HVe(t,e){return rge.indexOf(t.toLowerCase())>=rge.indexOf(e.toLowerCase())?t:e}});var QC={};ft(QC,{BuildType:()=>As,Cache:()=>Nt,Configuration:()=>ye,DEFAULT_LOCK_FILENAME:()=>wx,DEFAULT_RC_FILENAME:()=>yx,FormatType:()=>Di,InstallMode:()=>di,LightReport:()=>uA,LinkType:()=>Qt,Manifest:()=>At,MessageName:()=>$,MultiFetcher:()=>yd,PackageExtensionStatus:()=>qi,PackageExtensionType:()=>yi,Project:()=>ze,ProjectLookup:()=>ol,Report:()=>Ji,ReportError:()=>ct,SettingsType:()=>Ie,StreamReport:()=>Je,TAG_REGEXP:()=>Gg,TelemetryManager:()=>bC,ThrowReport:()=>pi,VirtualFetcher:()=>Bd,Workspace:()=>BC,WorkspaceFetcher:()=>bd,WorkspaceResolver:()=>si,YarnVersion:()=>Ur,execUtils:()=>Fr,folderUtils:()=>hx,formatUtils:()=>ae,hashUtils:()=>Dn,httpUtils:()=>ir,miscUtils:()=>Se,nodeUtils:()=>qg,parseMessageName:()=>BI,scriptUtils:()=>Zt,semverUtils:()=>Wt,stringifyMessageName:()=>YA,structUtils:()=>P,tgzUtils:()=>wi,treeUtils:()=>as});var Fr={};ft(Fr,{EndStrategy:()=>is,ExecError:()=>xx,PipeError:()=>Qw,execvp:()=>Eke,pipevp:()=>$o});var Zh={};ft(Zh,{AliasFS:()=>Pa,CwdFS:()=>_t,DEFAULT_COMPRESSION_LEVEL:()=>ic,FakeFS:()=>KA,Filename:()=>Pt,JailFS:()=>Da,LazyFS:()=>zh,LinkStrategy:()=>jh,NoFS:()=>zE,NodeFS:()=>ar,PortablePath:()=>Me,PosixFS:()=>_h,ProxiedFS:()=>bi,VirtualFS:()=>Jr,ZipFS:()=>Ai,ZipOpenFS:()=>ms,constants:()=>Dr,extendFs:()=>VE,normalizeLineEndings:()=>$l,npath:()=>j,opendir:()=>qE,patchFs:()=>bQ,ppath:()=>k,statUtils:()=>uQ,toFilename:()=>qr,xfs:()=>K});var Dr={};ft(Dr,{SAFE_TIME:()=>cQ,S_IFDIR:()=>Sa,S_IFLNK:()=>xa,S_IFMT:()=>zn,S_IFREG:()=>ka});var zn=61440,Sa=16384,ka=32768,xa=40960,cQ=456789e3;var uQ={};ft(uQ,{BigIntStatsEntry:()=>Uh,DEFAULT_MODE:()=>Mh,DirEntry:()=>sM,StatEntry:()=>MA,areStatsEqual:()=>fQ,clearStats:()=>ME,convertToBigIntStats:()=>UE,makeDefaultStats:()=>Kh,makeEmptyStats:()=>dfe});var gQ=ge(require("util"));var Mh=ka|420,sM=class{constructor(){this.name="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&zn)===Sa}isFIFO(){return!1}isFile(){return(this.mode&zn)===ka}isSocket(){return!1}isSymbolicLink(){return(this.mode&zn)===xa}},MA=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=Mh;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&zn)===Sa}isFIFO(){return!1}isFile(){return(this.mode&zn)===ka}isSocket(){return!1}isSymbolicLink(){return(this.mode&zn)===xa}},Uh=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(Mh);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(zn))===BigInt(Sa)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(zn))===BigInt(ka)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(zn))===BigInt(xa)}};function Kh(){return new MA}function dfe(){return ME(Kh())}function ME(t){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):gQ.types.isDate(r)&&(t[e]=new Date(0))}return t}function UE(t){let e=new Uh;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];typeof i=="number"?e[r]=BigInt(i):gQ.types.isDate(i)&&(e[r]=new Date(i))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function fQ(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,i=e;return!(r.atimeNs!==i.atimeNs||r.mtimeNs!==i.mtimeNs||r.ctimeNs!==i.ctimeNs||r.birthtimeNs!==i.birthtimeNs)}var HE=ge(require("fs"));var Hh=ge(require("path")),oM;(function(i){i[i.File=0]="File",i[i.Portable=1]="Portable",i[i.Native=2]="Native"})(oM||(oM={}));var Me={root:"/",dot:"."},Pt={nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",rc:".yarnrc.yml"},j=Object.create(Hh.default),k=Object.create(Hh.default.posix);j.cwd=()=>process.cwd();k.cwd=()=>hQ(process.cwd());k.resolve=(...t)=>t.length>0&&k.isAbsolute(t[0])?Hh.default.posix.resolve(...t):Hh.default.posix.resolve(k.cwd(),...t);var aM=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};j.fromPortablePath=AM;j.toPortablePath=hQ;j.contains=(t,e)=>aM(j,t,e);k.contains=(t,e)=>aM(k,t,e);var Cfe=/^([a-zA-Z]:.*)$/,mfe=/^\/\/(\.\/)?(.*)$/,Efe=/^\/([a-zA-Z]:.*)$/,Ife=/^\/unc\/(\.dot\/)?(.*)$/;function AM(t){if(process.platform!=="win32")return t;let e,r;if(e=t.match(Efe))t=e[1];else if(r=t.match(Ife))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function hQ(t){if(process.platform!=="win32")return t;t=t.replace(/\\/g,"/");let e,r;return(e=t.match(Cfe))?t=`/${e[1]}`:(r=t.match(mfe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function KE(t,e){return t===j?AM(e):hQ(e)}function qr(t){if(j.parse(t).dir!==""||k.parse(t).dir!=="")throw new Error(`Invalid filename: "${t}"`);return t}var jE=new Date(cQ*1e3),jh;(function(r){r.Allow="allow",r.ReadOnly="readOnly"})(jh||(jh={}));async function lM(t,e,r,i,n){let s=t.pathUtils.normalize(e),o=r.pathUtils.normalize(i),a=[],l=[],{atime:c,mtime:u}=n.stableTime?{atime:jE,mtime:jE}:await r.lstatPromise(o);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[c,u]});let g=typeof t.lutimesPromise=="function"?t.lutimesPromise.bind(t):t.utimesPromise.bind(t);await pQ(a,l,g,t,s,r,o,te(N({},n),{didParentExist:!0}));for(let f of a)await f();await Promise.all(l.map(f=>f()))}async function pQ(t,e,r,i,n,s,o,a){var h,p;let l=a.didParentExist?await yfe(i,n):null,c=await s.lstatPromise(o),{atime:u,mtime:g}=a.stableTime?{atime:jE,mtime:jE}:c,f;switch(!0){case c.isDirectory():f=await wfe(t,e,r,i,n,l,s,o,c,a);break;case c.isFile():f=await Bfe(t,e,r,i,n,l,s,o,c,a);break;case c.isSymbolicLink():f=await bfe(t,e,r,i,n,l,s,o,c,a);break;default:throw new Error(`Unsupported file type (${c.mode})`)}return(f||((h=l==null?void 0:l.mtime)==null?void 0:h.getTime())!==g.getTime()||((p=l==null?void 0:l.atime)==null?void 0:p.getTime())!==u.getTime())&&(e.push(()=>r(n,u,g)),f=!0),(l===null||(l.mode&511)!=(c.mode&511))&&(e.push(()=>i.chmodPromise(n,c.mode&511)),f=!0),f}async function yfe(t,e){try{return await t.lstatPromise(e)}catch(r){return null}}async function wfe(t,e,r,i,n,s,o,a,l,c){if(s!==null&&!s.isDirectory())if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=!1;s===null&&(t.push(async()=>{try{await i.mkdirPromise(n,{mode:l.mode})}catch(h){if(h.code!=="EEXIST")throw h}}),u=!0);let g=await o.readdirPromise(a),f=c.didParentExist&&!s?te(N({},c),{didParentExist:!1}):c;if(c.stableSort)for(let h of g.sort())await pQ(t,e,r,i,i.pathUtils.join(n,h),o,o.pathUtils.join(a,h),f)&&(u=!0);else(await Promise.all(g.map(async p=>{await pQ(t,e,r,i,i.pathUtils.join(n,p),o,o.pathUtils.join(a,p),f)}))).some(p=>p)&&(u=!0);return u}var dQ=new WeakMap;function CQ(t,e,r,i,n){return async()=>{await t.linkPromise(r,e),n===jh.ReadOnly&&(i.mode&=~146,await t.chmodPromise(e,i.mode))}}function Qfe(t,e,r,i,n){let s=dQ.get(t);return typeof s=="undefined"?async()=>{try{await t.copyFilePromise(r,e,HE.default.constants.COPYFILE_FICLONE_FORCE),dQ.set(t,!0)}catch(o){if(o.code==="ENOSYS"||o.code==="ENOTSUP")dQ.set(t,!1),await CQ(t,e,r,i,n)();else throw o}}:s?async()=>t.copyFilePromise(r,e,HE.default.constants.COPYFILE_FICLONE_FORCE):CQ(t,e,r,i,n)}async function Bfe(t,e,r,i,n,s,o,a,l,c){var f;if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;let u=(f=c.linkStrategy)!=null?f:null,g=i===o?u!==null?Qfe(i,n,a,l,u):async()=>i.copyFilePromise(a,n,HE.default.constants.COPYFILE_FICLONE):u!==null?CQ(i,n,a,l,u):async()=>i.writeFilePromise(n,await o.readFilePromise(a));return t.push(async()=>g()),!0}async function bfe(t,e,r,i,n,s,o,a,l,c){if(s!==null)if(c.overwrite)t.push(async()=>i.removePromise(n)),s=null;else return!1;return t.push(async()=>{await i.symlinkPromise(KE(i.pathUtils,await o.readlinkPromise(a)),n)}),!0}function Cs(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function GE(t){return Cs("EBUSY",t)}function Gh(t,e){return Cs("ENOSYS",`${t}, ${e}`)}function UA(t){return Cs("EINVAL",`invalid argument, ${t}`)}function en(t){return Cs("EBADF",`bad file descriptor, ${t}`)}function to(t){return Cs("ENOENT",`no such file or directory, ${t}`)}function Do(t){return Cs("ENOTDIR",`not a directory, ${t}`)}function Yh(t){return Cs("EISDIR",`illegal operation on a directory, ${t}`)}function YE(t){return Cs("EEXIST",`file already exists, ${t}`)}function In(t){return Cs("EROFS",`read-only filesystem, ${t}`)}function cM(t){return Cs("ENOTEMPTY",`directory not empty, ${t}`)}function uM(t){return Cs("EOPNOTSUPP",`operation not supported, ${t}`)}function gM(){return Cs("ERR_DIR_CLOSED","Directory handle was closed")}var mQ=class extends Error{constructor(e,r){super(e);this.name="Libzip Error",this.code=r}};var fM=class{constructor(e,r,i={}){this.path=e;this.nextDirent=r;this.opts=i;this.closed=!1}throwIfClosed(){if(this.closed)throw gM()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e!="undefined"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e!="undefined"?e(null):Promise.resolve()}closeSync(){var e,r;this.throwIfClosed(),(r=(e=this.opts).onClose)==null||r.call(e),this.closed=!0}};function qE(t,e,r,i){let n=()=>{let s=r.shift();return typeof s=="undefined"?null:Object.assign(t.statSync(t.pathUtils.join(e,s)),{name:s})};return new fM(e,n,i)}var hM=ge(require("os"));var KA=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let i=[e];for(;i.length>0;){let n=i.shift();if((await this.lstatPromise(n)).isDirectory()){let o=await this.readdirPromise(n);if(r)for(let a of o.sort())i.push(this.pathUtils.join(n,a));else throw new Error("Not supported")}else yield n}}async removePromise(e,{recursive:r=!0,maxRetries:i=5}={}){let n;try{n=await this.lstatPromise(e)}catch(s){if(s.code==="ENOENT")return;throw s}if(n.isDirectory()){if(r){let s=await this.readdirPromise(e);await Promise.all(s.map(o=>this.removePromise(this.pathUtils.resolve(e,o))))}for(let s=0;s<=i;s++)try{await this.rmdirPromise(e);break}catch(o){if(o.code!=="EBUSY"&&o.code!=="ENOTEMPTY")throw o;ssetTimeout(a,s*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let i;try{i=this.lstatSync(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(i.isDirectory()){if(r)for(let n of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,n));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{await this.mkdirPromise(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&await this.chmodPromise(o,r),i!=null)await this.utimesPromise(o,i[0],i[1]);else{let a=await this.statPromise(this.pathUtils.dirname(o));await this.utimesPromise(o,a.atime,a.mtime)}}}}mkdirpSync(e,{chmod:r,utimes:i}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let n=e.split(this.pathUtils.sep);for(let s=2;s<=n.length;++s){let o=n.slice(0,s).join(this.pathUtils.sep);if(!this.existsSync(o)){try{this.mkdirSync(o)}catch(a){if(a.code==="EEXIST")continue;throw a}if(r!=null&&this.chmodSync(o,r),i!=null)this.utimesSync(o,i[0],i[1]);else{let a=this.statSync(this.pathUtils.dirname(o));this.utimesSync(o,a.atime,a.mtime)}}}}async copyPromise(e,r,{baseFs:i=this,overwrite:n=!0,stableSort:s=!1,stableTime:o=!1,linkStrategy:a=null}={}){return await lM(this,e,i,r,{overwrite:n,stableSort:s,stableTime:o,linkStrategy:a})}copySync(e,r,{baseFs:i=this,overwrite:n=!0}={}){let s=i.lstatSync(r),o=this.existsSync(e);if(s.isDirectory()){this.mkdirpSync(e);let l=i.readdirSync(r);for(let c of l)this.copySync(this.pathUtils.join(e,c),i.pathUtils.join(r,c),{baseFs:i,overwrite:n})}else if(s.isFile()){if(!o||n){o&&this.removeSync(e);let l=i.readFileSync(r);this.writeFileSync(e,l)}}else if(s.isSymbolicLink()){if(!o||n){o&&this.removeSync(e);let l=i.readlinkSync(r);this.symlinkSync(KE(this.pathUtils,l),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${s.mode.toString(8).padStart(6,"0")})`);let a=s.mode&511;this.chmodSync(e,a)}async changeFilePromise(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,i):this.changeFileTextPromise(e,r,i)}async changeFileBufferPromise(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=await this.readFilePromise(e)}catch(s){}Buffer.compare(n,r)!==0&&await this.writeFilePromise(e,r,{mode:i})}async changeFileTextPromise(e,r,{automaticNewlines:i,mode:n}={}){let s="";try{s=await this.readFilePromise(e,"utf8")}catch(a){}let o=i?$l(s,r):r;s!==o&&await this.writeFilePromise(e,o,{mode:n})}changeFileSync(e,r,i={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,i):this.changeFileTextSync(e,r,i)}changeFileBufferSync(e,r,{mode:i}={}){let n=Buffer.alloc(0);try{n=this.readFileSync(e)}catch(s){}Buffer.compare(n,r)!==0&&this.writeFileSync(e,r,{mode:i})}changeFileTextSync(e,r,{automaticNewlines:i=!1,mode:n}={}){let s="";try{s=this.readFileSync(e,"utf8")}catch(a){}let o=i?$l(s,r):r;s!==o&&this.writeFileSync(e,o,{mode:n})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(i){if(i.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw i}}moveSync(e,r){try{this.renameSync(e,r)}catch(i){if(i.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw i}}async lockPromise(e,r){let i=`${e}.flock`,n=1e3/60,s=Date.now(),o=null,a=async()=>{let l;try{[l]=await this.readJsonPromise(i)}catch(c){return Date.now()-s<500}try{return process.kill(l,0),!0}catch(c){return!1}};for(;o===null;)try{o=await this.openPromise(i,"wx")}catch(l){if(l.code==="EEXIST"){if(!await a())try{await this.unlinkPromise(i);continue}catch(c){}if(Date.now()-s<60*1e3)await new Promise(c=>setTimeout(c,n));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${i})`)}else throw l}await this.writePromise(o,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(o),await this.unlinkPromise(i)}catch(l){}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(i){throw i.message+=` (in ${e})`,i}}async writeJsonPromise(e,r){return await this.writeFilePromise(e,`${JSON.stringify(r,null,2)} +`)}writeJsonSync(e,r){return this.writeFileSync(e,`${JSON.stringify(r,null,2)} +`)}async preserveTimePromise(e,r){let i=await this.lstatPromise(e),n=await r();typeof n!="undefined"&&(e=n),this.lutimesPromise?await this.lutimesPromise(e,i.atime,i.mtime):i.isSymbolicLink()||await this.utimesPromise(e,i.atime,i.mtime)}async preserveTimeSync(e,r){let i=this.lstatSync(e),n=r();typeof n!="undefined"&&(e=n),this.lutimesSync?this.lutimesSync(e,i.atime,i.mtime):i.isSymbolicLink()||this.utimesSync(e,i.atime,i.mtime)}},ec=class extends KA{constructor(){super(k)}};function vfe(t){let e=t.match(/\r?\n/g);if(e===null)return hM.EOL;let r=e.filter(n=>n===`\r +`).length,i=e.length-r;return r>i?`\r +`:` +`}function $l(t,e){return e.replace(/\r?\n/g,vfe(t))}var qu=ge(require("fs")),EQ=ge(require("stream")),mM=ge(require("util")),IQ=ge(require("zlib"));var pM=ge(require("fs"));var ar=class extends ec{constructor(e=pM.default){super();this.realFs=e,typeof this.realFs.lutimes!="undefined"&&(this.lutimesPromise=this.lutimesPromiseImpl,this.lutimesSync=this.lutimesSyncImpl)}getExtractHint(){return!1}getRealPath(){return Me.root}resolve(e){return k.resolve(e)}async openPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.open(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}openSync(e,r,i){return this.realFs.openSync(j.fromPortablePath(e),r,i)}async opendirPromise(e,r){return await new Promise((i,n)=>{typeof r!="undefined"?this.realFs.opendir(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.opendir(j.fromPortablePath(e),this.makeCallback(i,n))}).then(i=>Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0}))}opendirSync(e,r){let i=typeof r!="undefined"?this.realFs.opendirSync(j.fromPortablePath(e),r):this.realFs.opendirSync(j.fromPortablePath(e));return Object.defineProperty(i,"path",{value:e,configurable:!0,writable:!0})}async readPromise(e,r,i=0,n=0,s=-1){return await new Promise((o,a)=>{this.realFs.read(e,r,i,n,s,(l,c)=>{l?a(l):o(c)})})}readSync(e,r,i,n,s){return this.realFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return await new Promise((o,a)=>typeof r=="string"?this.realFs.write(e,r,i,this.makeCallback(o,a)):this.realFs.write(e,r,i,n,s,this.makeCallback(o,a)))}writeSync(e,r,i,n,s){return typeof r=="string"?this.realFs.writeSync(e,r,i):this.realFs.writeSync(e,r,i,n,s)}async closePromise(e){await new Promise((r,i)=>{this.realFs.close(e,this.makeCallback(r,i))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let i=e!==null?j.fromPortablePath(e):e;return this.realFs.createReadStream(i,r)}createWriteStream(e,r){let i=e!==null?j.fromPortablePath(e):e;return this.realFs.createWriteStream(i,r)}async realpathPromise(e){return await new Promise((r,i)=>{this.realFs.realpath(j.fromPortablePath(e),{},this.makeCallback(r,i))}).then(r=>j.toPortablePath(r))}realpathSync(e){return j.toPortablePath(this.realFs.realpathSync(j.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(j.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(j.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((i,n)=>{this.realFs.access(j.fromPortablePath(e),r,this.makeCallback(i,n))})}existsSync(e){return this.realFs.existsSync(j.fromPortablePath(e))}async statPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.stat(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.stat(j.fromPortablePath(e),this.makeCallback(i,n))})}statSync(e,r){return r?this.realFs.statSync(j.fromPortablePath(e),r):this.realFs.statSync(j.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.fstat(e,r,this.makeCallback(i,n)):this.realFs.fstat(e,this.makeCallback(i,n))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.lstat(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.lstat(j.fromPortablePath(e),this.makeCallback(i,n))})}lstatSync(e,r){return r?this.realFs.lstatSync(j.fromPortablePath(e),r):this.realFs.lstatSync(j.fromPortablePath(e))}async chmodPromise(e,r){return await new Promise((i,n)=>{this.realFs.chmod(j.fromPortablePath(e),r,this.makeCallback(i,n))})}chmodSync(e,r){return this.realFs.chmodSync(j.fromPortablePath(e),r)}async chownPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.chown(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}chownSync(e,r,i){return this.realFs.chownSync(j.fromPortablePath(e),r,i)}async renamePromise(e,r){return await new Promise((i,n)=>{this.realFs.rename(j.fromPortablePath(e),j.fromPortablePath(r),this.makeCallback(i,n))})}renameSync(e,r){return this.realFs.renameSync(j.fromPortablePath(e),j.fromPortablePath(r))}async copyFilePromise(e,r,i=0){return await new Promise((n,s)=>{this.realFs.copyFile(j.fromPortablePath(e),j.fromPortablePath(r),i,this.makeCallback(n,s))})}copyFileSync(e,r,i=0){return this.realFs.copyFileSync(j.fromPortablePath(e),j.fromPortablePath(r),i)}async appendFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.appendFile(o,r,i,this.makeCallback(n,s)):this.realFs.appendFile(o,r,this.makeCallback(n,s))})}appendFileSync(e,r,i){let n=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.appendFileSync(n,r,i):this.realFs.appendFileSync(n,r)}async writeFilePromise(e,r,i){return await new Promise((n,s)=>{let o=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.writeFile(o,r,i,this.makeCallback(n,s)):this.realFs.writeFile(o,r,this.makeCallback(n,s))})}writeFileSync(e,r,i){let n=typeof e=="string"?j.fromPortablePath(e):e;i?this.realFs.writeFileSync(n,r,i):this.realFs.writeFileSync(n,r)}async unlinkPromise(e){return await new Promise((r,i)=>{this.realFs.unlink(j.fromPortablePath(e),this.makeCallback(r,i))})}unlinkSync(e){return this.realFs.unlinkSync(j.fromPortablePath(e))}async utimesPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.utimes(j.fromPortablePath(e),r,i,this.makeCallback(n,s))})}utimesSync(e,r,i){this.realFs.utimesSync(j.fromPortablePath(e),r,i)}async lutimesPromiseImpl(e,r,i){let n=this.realFs.lutimes;if(typeof n=="undefined")throw Gh("unavailable Node binding",`lutimes '${e}'`);return await new Promise((s,o)=>{n.call(this.realFs,j.fromPortablePath(e),r,i,this.makeCallback(s,o))})}lutimesSyncImpl(e,r,i){let n=this.realFs.lutimesSync;if(typeof n=="undefined")throw Gh("unavailable Node binding",`lutimes '${e}'`);n.call(this.realFs,j.fromPortablePath(e),r,i)}async mkdirPromise(e,r){return await new Promise((i,n)=>{this.realFs.mkdir(j.fromPortablePath(e),r,this.makeCallback(i,n))})}mkdirSync(e,r){return this.realFs.mkdirSync(j.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((i,n)=>{r?this.realFs.rmdir(j.fromPortablePath(e),r,this.makeCallback(i,n)):this.realFs.rmdir(j.fromPortablePath(e),this.makeCallback(i,n))})}rmdirSync(e,r){return this.realFs.rmdirSync(j.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((i,n)=>{this.realFs.link(j.fromPortablePath(e),j.fromPortablePath(r),this.makeCallback(i,n))})}linkSync(e,r){return this.realFs.linkSync(j.fromPortablePath(e),j.fromPortablePath(r))}async symlinkPromise(e,r,i){return await new Promise((n,s)=>{this.realFs.symlink(j.fromPortablePath(e.replace(/\/+$/,"")),j.fromPortablePath(r),i,this.makeCallback(n,s))})}symlinkSync(e,r,i){return this.realFs.symlinkSync(j.fromPortablePath(e.replace(/\/+$/,"")),j.fromPortablePath(r),i)}async readFilePromise(e,r){return await new Promise((i,n)=>{let s=typeof e=="string"?j.fromPortablePath(e):e;this.realFs.readFile(s,r,this.makeCallback(i,n))})}readFileSync(e,r){let i=typeof e=="string"?j.fromPortablePath(e):e;return this.realFs.readFileSync(i,r)}async readdirPromise(e,r){return await new Promise((i,n)=>{(r==null?void 0:r.withFileTypes)?this.realFs.readdir(j.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(i,n)):this.realFs.readdir(j.fromPortablePath(e),this.makeCallback(s=>i(s),n))})}readdirSync(e,r){return(r==null?void 0:r.withFileTypes)?this.realFs.readdirSync(j.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(j.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,i)=>{this.realFs.readlink(j.fromPortablePath(e),this.makeCallback(r,i))}).then(r=>j.toPortablePath(r))}readlinkSync(e){return j.toPortablePath(this.realFs.readlinkSync(j.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((i,n)=>{this.realFs.truncate(j.fromPortablePath(e),r,this.makeCallback(i,n))})}truncateSync(e,r){return this.realFs.truncateSync(j.fromPortablePath(e),r)}watch(e,r,i){return this.realFs.watch(j.fromPortablePath(e),r,i)}watchFile(e,r,i){return this.realFs.watchFile(j.fromPortablePath(e),r,i)}unwatchFile(e,r){return this.realFs.unwatchFile(j.fromPortablePath(e),r)}makeCallback(e,r){return(i,n)=>{i?r(i):e(n)}}};var dM=ge(require("events"));var tc;(function(r){r.Change="change",r.Stop="stop"})(tc||(tc={}));var rc;(function(i){i.Ready="ready",i.Running="running",i.Stopped="stopped"})(rc||(rc={}));function CM(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var qh=class extends dM.EventEmitter{constructor(e,r,{bigint:i=!1}={}){super();this.status=rc.Ready;this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=e,this.path=r,this.bigint=i,this.lastStats=this.stat()}static create(e,r,i){let n=new qh(e,r,i);return n.start(),n}start(){CM(this.status,rc.Ready),this.status=rc.Running,this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit(tc.Change,this.lastStats,this.lastStats)},3)}stop(){CM(this.status,rc.Running),this.status=rc.Stopped,this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit(tc.Stop)}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch(e){let r=this.bigint?new Uh:new MA;return ME(r)}}makeInterval(e){let r=setInterval(()=>{let i=this.stat(),n=this.lastStats;fQ(i,n)||(this.lastStats=i,this.emit(tc.Change,i,n))},e.interval);return e.persistent?r:r.unref()}registerChangeListener(e,r){this.addListener(tc.Change,e),this.changeListeners.set(e,this.makeInterval(r))}unregisterChangeListener(e){this.removeListener(tc.Change,e);let r=this.changeListeners.get(e);typeof r!="undefined"&&clearInterval(r),this.changeListeners.delete(e)}unregisterAllChangeListeners(){for(let e of this.changeListeners.keys())this.unregisterChangeListener(e)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let e of this.changeListeners.values())e.ref();return this}unref(){for(let e of this.changeListeners.values())e.unref();return this}};var JE=new WeakMap;function WE(t,e,r,i){let n,s,o,a;switch(typeof r){case"function":n=!1,s=!0,o=5007,a=r;break;default:({bigint:n=!1,persistent:s=!0,interval:o=5007}=r),a=i;break}let l=JE.get(t);typeof l=="undefined"&&JE.set(t,l=new Map);let c=l.get(e);return typeof c=="undefined"&&(c=qh.create(t,e,{bigint:n}),l.set(e,c)),c.registerChangeListener(a,{persistent:s,interval:o}),c}function Jh(t,e,r){let i=JE.get(t);if(typeof i=="undefined")return;let n=i.get(e);typeof n!="undefined"&&(typeof r=="undefined"?n.unregisterAllChangeListeners():n.unregisterChangeListener(r),n.hasChangeListeners()||(n.stop(),i.delete(e)))}function Wh(t){let e=JE.get(t);if(typeof e!="undefined")for(let r of e.keys())Jh(t,r)}var ic="mixed";function Sfe(t){if(typeof t=="string"&&String(+t)===t)return+t;if(Number.isFinite(t))return t<0?Date.now()/1e3:t;if(mM.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function EM(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var Ai=class extends ec{constructor(e,r){super();this.lzSource=null;this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;this.libzip=r.libzip;let i=r;if(this.level=typeof i.level!="undefined"?i.level:ic,e!=null||(e=EM()),typeof e=="string"){let{baseFs:o=new ar}=i;this.baseFs=o,this.path=e}else this.path=null,this.baseFs=null;if(r.stats)this.stats=r.stats;else if(typeof e=="string")try{this.stats=this.baseFs.statSync(e)}catch(o){if(o.code==="ENOENT"&&i.create)this.stats=Kh();else throw o}else this.stats=Kh();let n=this.libzip.malloc(4);try{let o=0;if(typeof e=="string"&&i.create&&(o|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),r.readOnly&&(o|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof e=="string")this.zip=this.libzip.open(j.fromPortablePath(e),o,n);else{let a=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(a,o,n),this.lzSource=a}catch(l){throw this.libzip.source.free(a),l}}if(this.zip===0){let a=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(a,this.libzip.getValue(n,"i32")),this.makeLibzipError(a)}}finally{this.libzip.free(n)}this.listings.set(Me.root,new Set);let s=this.libzip.getNumEntries(this.zip,0);for(let o=0;oe)throw new Error("Overread");let n=this.libzip.HEAPU8.subarray(r,r+e);return Buffer.from(n)}finally{this.libzip.free(r)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}prepareClose(){if(!this.ready)throw GE("archive closed, close");Wh(this)}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.prepareClose(),this.readOnly){this.discardAndClose();return}let e=this.baseFs.existsSync(this.path)||this.stats.mode===Mh?void 0:this.stats.mode;if(this.entries.size===0)this.discardAndClose(),this.baseFs.writeFileSync(this.path,EM(),{mode:e});else{if(this.libzip.close(this.zip)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));typeof e!="undefined"&&this.baseFs.chmodSync(this.path,e)}this.ready=!1}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}resolve(e){return k.resolve(Me.root,e)}async openPromise(e,r,i){return this.openSync(e,r,i)}openSync(e,r,i){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:e}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(e,r){return this.opendirSync(e,r)}opendirSync(e,r={}){let i=this.resolveFilename(`opendir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`opendir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`opendir '${e}'`);let s=[...n],o=this.openSync(i,"r");return qE(this,i,s,{onClose:()=>{this.closeSync(o)}})}async readPromise(e,r,i,n,s){return this.readSync(e,r,i,n,s)}readSync(e,r,i=0,n=r.byteLength,s=-1){let o=this.fds.get(e);if(typeof o=="undefined")throw en("read");let a=s===-1||s===null?o.cursor:s,l=this.readFileSync(o.p);l.copy(r,i,a,a+n);let c=Math.max(0,Math.min(l.length-a,n));return(s===-1||s===null)&&(o.cursor+=c),c}async writePromise(e,r,i,n,s){return typeof r=="string"?this.writeSync(e,r,s):this.writeSync(e,r,i,n,s)}writeSync(e,r,i,n,s){throw typeof this.fds.get(e)=="undefined"?en("read"):new Error("Unimplemented")}async closePromise(e){return this.closeSync(e)}closeSync(e){if(typeof this.fds.get(e)=="undefined")throw en("read");this.fds.delete(e)}createReadStream(e,{encoding:r}={}){if(e===null)throw new Error("Unimplemented");let i=this.openSync(e,"r"),n=Object.assign(new EQ.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(o,a)=>{clearImmediate(s),this.closeSync(i),a(o)}}),{close(){n.destroy()},bytesRead:0,path:e}),s=setImmediate(async()=>{try{let o=await this.readFilePromise(e,r);n.bytesRead=o.length,n.end(o)}catch(o){n.destroy(o)}});return n}createWriteStream(e,{encoding:r}={}){if(this.readOnly)throw In(`open '${e}'`);if(e===null)throw new Error("Unimplemented");let i=[],n=this.openSync(e,"w"),s=Object.assign(new EQ.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(o,a)=>{try{o?a(o):(this.writeFileSync(e,Buffer.concat(i),r),a(null))}catch(l){a(l)}finally{this.closeSync(n)}}}),{bytesWritten:0,path:e,close(){s.destroy()}});return s.on("data",o=>{let a=Buffer.from(o);s.bytesWritten+=a.length,i.push(a)}),s}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){let r=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(r)&&!this.listings.has(r))throw to(`lstat '${e}'`);return r}async existsPromise(e){return this.existsSync(e)}existsSync(e){if(!this.ready)throw GE(`archive closed, existsSync '${e}'`);if(this.symlinkCount===0){let i=k.resolve(Me.root,e);return this.entries.has(i)||this.listings.has(i)}let r;try{r=this.resolveFilename(`stat '${e}'`,e)}catch(i){return!1}return this.entries.has(r)||this.listings.has(r)}async accessPromise(e,r){return this.accessSync(e,r)}accessSync(e,r=qu.constants.F_OK){let i=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`access '${e}'`);if(this.readOnly&&r&qu.constants.W_OK)throw In(`access '${e}'`)}async statPromise(e,r){return this.statSync(e,r)}statSync(e,r){let i=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`stat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`stat '${e}'`);return this.statImpl(`stat '${e}'`,i,r)}async fstatPromise(e,r){return this.fstatSync(e,r)}fstatSync(e,r){let i=this.fds.get(e);if(typeof i=="undefined")throw en("fstatSync");let{p:n}=i,s=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(s)&&!this.listings.has(s))throw to(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(s))throw Do(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,s,r)}async lstatPromise(e,r){return this.lstatSync(e,r)}lstatSync(e,r){let i=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`lstat '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,i,r)}statImpl(e,r,i={}){let n=this.entries.get(r);if(typeof n!="undefined"){let s=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,s)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let a=this.stats.uid,l=this.stats.gid,c=this.libzip.struct.statSize(s)>>>0,u=512,g=Math.ceil(c/u),f=(this.libzip.struct.statMtime(s)>>>0)*1e3,h=f,p=f,m=f,y=new Date(h),Q=new Date(p),S=new Date(m),x=new Date(f),M=this.listings.has(r)?Sa:this.isSymbolicLink(n)?xa:ka,Y=M===Sa?493:420,U=M|this.getUnixMode(n,Y)&511,J=this.libzip.struct.statCrc(s),W=Object.assign(new MA,{uid:a,gid:l,size:c,blksize:u,blocks:g,atime:y,birthtime:Q,ctime:S,mtime:x,atimeMs:h,birthtimeMs:p,ctimeMs:m,mtimeMs:f,mode:U,crc:J});return i.bigint===!0?UE(W):W}if(this.listings.has(r)){let s=this.stats.uid,o=this.stats.gid,a=0,l=512,c=0,u=this.stats.mtimeMs,g=this.stats.mtimeMs,f=this.stats.mtimeMs,h=this.stats.mtimeMs,p=new Date(u),m=new Date(g),y=new Date(f),Q=new Date(h),S=Sa|493,x=0,M=Object.assign(new MA,{uid:s,gid:o,size:a,blksize:l,blocks:c,atime:p,birthtime:m,ctime:y,mtime:Q,atimeMs:u,birthtimeMs:g,ctimeMs:f,mtimeMs:h,mode:S,crc:x});return i.bigint===!0?UE(M):M}throw new Error("Unreachable")}getUnixMode(e,r){if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?r:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let r=this.listings.get(e);if(r)return r;this.registerListing(k.dirname(e)).add(k.basename(e));let n=new Set;return this.listings.set(e,n),n}registerEntry(e,r){this.registerListing(k.dirname(e)).add(k.basename(e)),this.entries.set(e,r)}unregisterListing(e){this.listings.delete(e);let r=this.listings.get(k.dirname(e));r==null||r.delete(k.basename(e))}unregisterEntry(e){this.unregisterListing(e);let r=this.entries.get(e);this.entries.delete(e),typeof r!="undefined"&&(this.fileSources.delete(r),this.isSymbolicLink(r)&&this.symlinkCount--)}deleteEntry(e,r){if(this.unregisterEntry(e),this.libzip.delete(this.zip,r)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(e,r,i=!0){if(!this.ready)throw GE(`archive closed, ${e}`);let n=k.resolve(Me.root,r);if(n==="/")return Me.root;let s=this.entries.get(n);if(i&&s!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(s)){let o=this.getFileSource(s).toString();return this.resolveFilename(e,k.resolve(k.dirname(n),o),!0)}else return n;for(;;){let o=this.resolveFilename(e,k.dirname(n),!0),a=this.listings.has(o),l=this.entries.has(o);if(!a&&!l)throw to(e);if(!a)throw Do(e);if(n=k.resolve(o,k.basename(n)),!i||this.symlinkCount===0)break;let c=this.libzip.name.locate(this.zip,n.slice(1));if(c===-1)break;if(this.isSymbolicLink(c)){let u=this.getFileSource(c).toString();n=k.resolve(k.dirname(n),u)}else break}return n}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libzip.malloc(e.byteLength);if(!r)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,r,e.byteLength).set(e),{buffer:r,byteLength:e.byteLength}}allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:i,byteLength:n}=this.allocateBuffer(e),s=this.libzip.source.fromUnattachedBuffer(i,n,0,!0,r);if(s===0)throw this.libzip.free(r),this.makeLibzipError(r);return s}allocateSource(e){let{buffer:r,byteLength:i}=this.allocateBuffer(e),n=this.libzip.source.fromBuffer(this.zip,r,i,0,!0);if(n===0)throw this.libzip.free(r),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(e,r){let i=Buffer.isBuffer(r)?r:Buffer.from(r),n=k.relative(Me.root,e),s=this.allocateSource(r);try{let o=this.libzip.file.add(this.zip,n,s,this.libzip.ZIP_FL_OVERWRITE);if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let a=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,o,0,a,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(o,i),o}catch(o){throw this.libzip.source.free(s),o}}isSymbolicLink(e){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&zn)===xa}getFileSource(e,r={asyncDecompress:!1}){let i=this.fileSources.get(e);if(typeof i!="undefined")return i;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,e,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let o=this.libzip.struct.statCompSize(n),a=this.libzip.struct.statCompMethod(n),l=this.libzip.malloc(o);try{let c=this.libzip.fopenIndex(this.zip,e,0,this.libzip.ZIP_FL_COMPRESSED);if(c===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let u=this.libzip.fread(c,l,o,0);if(u===-1)throw this.makeLibzipError(this.libzip.file.getError(c));if(uo)throw new Error("Overread");let g=this.libzip.HEAPU8.subarray(l,l+o),f=Buffer.from(g);if(a===0)return this.fileSources.set(e,f),f;if(r.asyncDecompress)return new Promise((h,p)=>{IQ.default.inflateRaw(f,(m,y)=>{m?p(m):(this.fileSources.set(e,y),h(y))})});{let h=IQ.default.inflateRawSync(f);return this.fileSources.set(e,h),h}}finally{this.libzip.fclose(c)}}finally{this.libzip.free(l)}}async chmodPromise(e,r){return this.chmodSync(e,r)}chmodSync(e,r){if(this.readOnly)throw In(`chmod '${e}'`);r&=493;let i=this.resolveFilename(`chmod '${e}'`,e,!1),n=this.entries.get(i);if(typeof n=="undefined")throw new Error(`Assertion failed: The entry should have been registered (${i})`);let o=this.getUnixMode(n,ka|0)&~511|r;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,o<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async chownPromise(e,r,i){return this.chownSync(e,r,i)}chownSync(e,r,i){throw new Error("Unimplemented")}async renamePromise(e,r){return this.renameSync(e,r)}renameSync(e,r){throw new Error("Unimplemented")}async copyFilePromise(e,r,i){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=await this.getFileSource(n,{asyncDecompress:!0}),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}copyFileSync(e,r,i=0){let{indexSource:n,indexDest:s,resolvedDestP:o}=this.prepareCopyFile(e,r,i),a=this.getFileSource(n),l=this.setFileSource(o,a);l!==s&&this.registerEntry(o,l)}prepareCopyFile(e,r,i=0){if(this.readOnly)throw In(`copyfile '${e} -> '${r}'`);if((i&qu.constants.COPYFILE_FICLONE_FORCE)!=0)throw Gh("unsupported clone operation",`copyfile '${e}' -> ${r}'`);let n=this.resolveFilename(`copyfile '${e} -> ${r}'`,e),s=this.entries.get(n);if(typeof s=="undefined")throw UA(`copyfile '${e}' -> '${r}'`);let o=this.resolveFilename(`copyfile '${e}' -> ${r}'`,r),a=this.entries.get(o);if((i&(qu.constants.COPYFILE_EXCL|qu.constants.COPYFILE_FICLONE_FORCE))!=0&&typeof a!="undefined")throw YE(`copyfile '${e}' -> '${r}'`);return{indexSource:s,resolvedDestP:o,indexDest:a}}async appendFilePromise(e,r,i){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFilePromise(e,r,i)}appendFileSync(e,r,i={}){if(this.readOnly)throw In(`open '${e}'`);return typeof i=="undefined"?i={flag:"a"}:typeof i=="string"?i={flag:"a",encoding:i}:typeof i.flag=="undefined"&&(i=N({flag:"a"},i)),this.writeFileSync(e,r,i)}fdToPath(e,r){var n;let i=(n=this.fds.get(e))==null?void 0:n.p;if(typeof i=="undefined")throw en(r);return i}async writeFilePromise(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([await this.getFileSource(o,{asyncDecompress:!0}),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&await this.chmodPromise(a,s)}writeFileSync(e,r,i){let{encoding:n,mode:s,index:o,resolvedP:a}=this.prepareWriteFile(e,i);o!==void 0&&typeof i=="object"&&i.flag&&i.flag.includes("a")&&(r=Buffer.concat([this.getFileSource(o),Buffer.from(r)])),n!==null&&(r=r.toString(n));let l=this.setFileSource(a,r);l!==o&&this.registerEntry(a,l),s!==null&&this.chmodSync(a,s)}prepareWriteFile(e,r){if(typeof e=="number"&&(e=this.fdToPath(e,"read")),this.readOnly)throw In(`open '${e}'`);let i=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(i))throw Yh(`open '${e}'`);let n=null,s=null;typeof r=="string"?n=r:typeof r=="object"&&({encoding:n=null,mode:s=null}=r);let o=this.entries.get(i);return{encoding:n,mode:s,resolvedP:i,index:o}}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){if(this.readOnly)throw In(`unlink '${e}'`);let r=this.resolveFilename(`unlink '${e}'`,e);if(this.listings.has(r))throw Yh(`unlink '${e}'`);let i=this.entries.get(r);if(typeof i=="undefined")throw UA(`unlink '${e}'`);this.deleteEntry(r,i)}async utimesPromise(e,r,i){return this.utimesSync(e,r,i)}utimesSync(e,r,i){if(this.readOnly)throw In(`utimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(n,i)}async lutimesPromise(e,r,i){return this.lutimesSync(e,r,i)}lutimesSync(e,r,i){if(this.readOnly)throw In(`lutimes '${e}'`);let n=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(n,i)}utimesImpl(e,r){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));let i=this.entries.get(e);if(i===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,i,0,Sfe(r),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(e,r){return this.mkdirSync(e,r)}mkdirSync(e,{mode:r=493,recursive:i=!1}={}){if(i){this.mkdirpSync(e,{chmod:r});return}if(this.readOnly)throw In(`mkdir '${e}'`);let n=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(n)||this.listings.has(n))throw YE(`mkdir '${e}'`);this.hydrateDirectory(n),this.chmodSync(n,r)}async rmdirPromise(e,r){return this.rmdirSync(e,r)}rmdirSync(e,{recursive:r=!1}={}){if(this.readOnly)throw In(`rmdir '${e}'`);if(r){this.removeSync(e);return}let i=this.resolveFilename(`rmdir '${e}'`,e),n=this.listings.get(i);if(!n)throw Do(`rmdir '${e}'`);if(n.size>0)throw cM(`rmdir '${e}'`);let s=this.entries.get(i);if(typeof s=="undefined")throw UA(`rmdir '${e}'`);this.deleteEntry(e,s)}hydrateDirectory(e){let r=this.libzip.dir.add(this.zip,k.relative(Me.root,e));if(r===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(e),this.registerEntry(e,r),r}async linkPromise(e,r){return this.linkSync(e,r)}linkSync(e,r){throw uM(`link '${e}' -> '${r}'`)}async symlinkPromise(e,r){return this.symlinkSync(e,r)}symlinkSync(e,r){if(this.readOnly)throw In(`symlink '${e}' -> '${r}'`);let i=this.resolveFilename(`symlink '${e}' -> '${r}'`,r);if(this.listings.has(i))throw Yh(`symlink '${e}' -> '${r}'`);if(this.entries.has(i))throw YE(`symlink '${e}' -> '${r}'`);let n=this.setFileSource(i,e);if(this.registerEntry(i,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(xa|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=await this.readFileBuffer(e,{asyncDecompress:!0});return r?i.toString(r):i}readFileSync(e,r){typeof r=="object"&&(r=r?r.encoding:void 0);let i=this.readFileBuffer(e);return r?i.toString(r):i}readFileBuffer(e,r={asyncDecompress:!1}){typeof e=="number"&&(e=this.fdToPath(e,"read"));let i=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`open '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(i))throw Do(`open '${e}'`);if(this.listings.has(i))throw Yh("read");let n=this.entries.get(i);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,r)}async readdirPromise(e,r){return this.readdirSync(e,r)}readdirSync(e,r){let i=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(i)&&!this.listings.has(i))throw to(`scandir '${e}'`);let n=this.listings.get(i);if(!n)throw Do(`scandir '${e}'`);let s=[...n];return(r==null?void 0:r.withFileTypes)?s.map(o=>Object.assign(this.statImpl("lstat",k.join(e,o)),{name:o})):s}async readlinkPromise(e){let r=this.prepareReadlink(e);return(await this.getFileSource(r,{asyncDecompress:!0})).toString()}readlinkSync(e){let r=this.prepareReadlink(e);return this.getFileSource(r).toString()}prepareReadlink(e){let r=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(r)&&!this.listings.has(r))throw to(`readlink '${e}'`);if(e[e.length-1]==="/"&&!this.listings.has(r))throw Do(`open '${e}'`);if(this.listings.has(r))throw UA(`readlink '${e}'`);let i=this.entries.get(r);if(i===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(i))throw UA(`readlink '${e}'`);return i}async truncatePromise(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=await this.getFileSource(n,{asyncDecompress:!0}),o=Buffer.alloc(r,0);return s.copy(o),await this.writeFilePromise(e,o)}truncateSync(e,r=0){let i=this.resolveFilename(`open '${e}'`,e),n=this.entries.get(i);if(typeof n=="undefined")throw UA(`open '${e}'`);let s=this.getFileSource(n),o=Buffer.alloc(r,0);return s.copy(o),this.writeFileSync(e,o)}watch(e,r,i){let n;switch(typeof r){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=r);break}if(!n)return{on:()=>{},close:()=>{}};let s=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(s)}}}watchFile(e,r,i){let n=k.resolve(Me.root,e);return WE(this,n,r,i)}unwatchFile(e,r){let i=k.resolve(Me.root,e);return Jh(this,i,r)}};var bi=class extends KA{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,i){return this.baseFs.openPromise(this.mapToBase(e),r,i)}openSync(e,r,i){return this.baseFs.openSync(this.mapToBase(e),r,i)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,i,n,s){return await this.baseFs.readPromise(e,r,i,n,s)}readSync(e,r,i,n,s){return this.baseFs.readSync(e,r,i,n,s)}async writePromise(e,r,i,n,s){return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s)}writeSync(e,r,i,n,s){return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}async lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async chownPromise(e,r,i){return this.baseFs.chownPromise(this.mapToBase(e),r,i)}chownSync(e,r,i){return this.baseFs.chownSync(this.mapToBase(e),r,i)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,i=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),i)}copyFileSync(e,r,i=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),i)}async appendFilePromise(e,r,i){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,i)}appendFileSync(e,r,i){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,i)}async writeFilePromise(e,r,i){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,i)}writeFileSync(e,r,i){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,i)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,i){return this.baseFs.utimesPromise(this.mapToBase(e),r,i)}utimesSync(e,r,i){return this.baseFs.utimesSync(this.mapToBase(e),r,i)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkPromise(o,n,i)}symlinkSync(e,r,i){let n=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),n,i);let s=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),o=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(n),s);return this.baseFs.symlinkSync(o,n,i)}async readFilePromise(e,r){return r==="utf8"?this.baseFs.readFilePromise(this.fsMapToBase(e),r):this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return r==="utf8"?this.baseFs.readFileSync(this.fsMapToBase(e),r):this.baseFs.readFileSync(this.fsMapToBase(e),r)}async readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}watch(e,r,i){return this.baseFs.watch(this.mapToBase(e),r,i)}watchFile(e,r,i){return this.baseFs.watchFile(this.mapToBase(e),r,i)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}};var Pa=class extends bi{constructor(e,{baseFs:r,pathUtils:i}){super(i);this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}};var _t=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(k);this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?k.normalize(e):this.baseFs.resolve(k.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}};var IM=Me.root,Da=class extends bi{constructor(e,{baseFs:r=new ar}={}){super(k);this.target=this.pathUtils.resolve(Me.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Me.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(IM,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(IM,this.pathUtils.relative(this.target,e))}};var zh=class extends bi{constructor(e,r){super(r);this.instance=null;this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}};var st=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),yQ=class extends KA{constructor(){super(k)}getExtractHint(){throw st()}getRealPath(){throw st()}resolve(){throw st()}async openPromise(){throw st()}openSync(){throw st()}async opendirPromise(){throw st()}opendirSync(){throw st()}async readPromise(){throw st()}readSync(){throw st()}async writePromise(){throw st()}writeSync(){throw st()}async closePromise(){throw st()}closeSync(){throw st()}createWriteStream(){throw st()}createReadStream(){throw st()}async realpathPromise(){throw st()}realpathSync(){throw st()}async readdirPromise(){throw st()}readdirSync(){throw st()}async existsPromise(e){throw st()}existsSync(e){throw st()}async accessPromise(){throw st()}accessSync(){throw st()}async statPromise(){throw st()}statSync(){throw st()}async fstatPromise(e){throw st()}fstatSync(e){throw st()}async lstatPromise(e){throw st()}lstatSync(e){throw st()}async chmodPromise(){throw st()}chmodSync(){throw st()}async chownPromise(){throw st()}chownSync(){throw st()}async mkdirPromise(){throw st()}mkdirSync(){throw st()}async rmdirPromise(){throw st()}rmdirSync(){throw st()}async linkPromise(){throw st()}linkSync(){throw st()}async symlinkPromise(){throw st()}symlinkSync(){throw st()}async renamePromise(){throw st()}renameSync(){throw st()}async copyFilePromise(){throw st()}copyFileSync(){throw st()}async appendFilePromise(){throw st()}appendFileSync(){throw st()}async writeFilePromise(){throw st()}writeFileSync(){throw st()}async unlinkPromise(){throw st()}unlinkSync(){throw st()}async utimesPromise(){throw st()}utimesSync(){throw st()}async readFilePromise(){throw st()}readFileSync(){throw st()}async readlinkPromise(){throw st()}readlinkSync(){throw st()}async truncatePromise(){throw st()}truncateSync(){throw st()}watch(){throw st()}watchFile(){throw st()}unwatchFile(){throw st()}},zE=yQ;zE.instance=new yQ;var _h=class extends bi{constructor(e){super(j);this.baseFs=e}mapFromBase(e){return j.fromPortablePath(e)}mapToBase(e){return j.toPortablePath(e)}};var kfe=/^[0-9]+$/,wQ=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,xfe=/^([^/]+-)?[a-f0-9]+$/,Jr=class extends bi{static makeVirtualPath(e,r,i){if(k.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!k.basename(r).match(xfe))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let s=k.relative(k.dirname(e),i).split("/"),o=0;for(;o{let r=t.indexOf(e);if(r<=0)return null;let i=r;for(;r>=0&&(i=r+e.length,t[i]!==k.sep);){if(t[r-1]===k.sep)return null;r=t.indexOf(e,i)}return t.length>i&&t[i]!==k.sep?null:t.slice(0,i)},ms=class extends ec{constructor({libzip:e,baseFs:r=new ar,filter:i=null,maxOpenFiles:n=Infinity,readOnlyArchives:s=!1,useCache:o=!0,maxAge:a=5e3,fileExtensions:l=null}){super();this.fdMap=new Map;this.nextFd=3;this.isZip=new Set;this.notZip=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.libzipFactory=typeof e!="function"?()=>e:e,this.baseFs=r,this.zipInstances=o?new Map:null,this.filter=i,this.maxOpenFiles=n,this.readOnlyArchives=s,this.maxAge=a,this.fileExtensions=l}static async openPromise(e,r){let i=new ms(r);try{return await e(i)}finally{i.saveAndClose()}}get libzip(){return typeof this.libzipInstance=="undefined"&&(this.libzipInstance=this.libzipFactory()),this.libzipInstance}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(Wh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.saveAndClose(),this.zipInstances.delete(e)}discardAndClose(){if(Wh(this),this.zipInstances)for(let[e,{zipFs:r}]of this.zipInstances.entries())r.discardAndClose(),this.zipInstances.delete(e)}resolve(e){return this.baseFs.resolve(e)}remapFd(e,r){let i=this.nextFd++|Ra;return this.fdMap.set(i,[e,r]),i}async openPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.openPromise(e,r,i),async(n,{subPath:s})=>this.remapFd(n,await n.openPromise(s,r,i)))}openSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.openSync(e,r,i),(n,{subPath:s})=>this.remapFd(n,n.openSync(s,r,i)))}async opendirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.opendirPromise(e,r),async(i,{subPath:n})=>await i.opendirPromise(n,r),{requireSubpath:!1})}opendirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.opendirSync(e,r),(i,{subPath:n})=>i.opendirSync(n,r),{requireSubpath:!1})}async readPromise(e,r,i,n,s){if((e&Ra)==0)return await this.baseFs.readPromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("read");let[a,l]=o;return await a.readPromise(l,r,i,n,s)}readSync(e,r,i,n,s){if((e&Ra)==0)return this.baseFs.readSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("readSync");let[a,l]=o;return a.readSync(l,r,i,n,s)}async writePromise(e,r,i,n,s){if((e&Ra)==0)return typeof r=="string"?await this.baseFs.writePromise(e,r,i):await this.baseFs.writePromise(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("write");let[a,l]=o;return typeof r=="string"?await a.writePromise(l,r,i):await a.writePromise(l,r,i,n,s)}writeSync(e,r,i,n,s){if((e&Ra)==0)return typeof r=="string"?this.baseFs.writeSync(e,r,i):this.baseFs.writeSync(e,r,i,n,s);let o=this.fdMap.get(e);if(typeof o=="undefined")throw en("writeSync");let[a,l]=o;return typeof r=="string"?a.writeSync(l,r,i):a.writeSync(l,r,i,n,s)}async closePromise(e){if((e&Ra)==0)return await this.baseFs.closePromise(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("close");this.fdMap.delete(e);let[i,n]=r;return await i.closePromise(n)}closeSync(e){if((e&Ra)==0)return this.baseFs.closeSync(e);let r=this.fdMap.get(e);if(typeof r=="undefined")throw en("closeSync");this.fdMap.delete(e);let[i,n]=r;return i.closeSync(n)}createReadStream(e,r){return e===null?this.baseFs.createReadStream(e,r):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,r),(i,{archivePath:n,subPath:s})=>{let o=i.createReadStream(s,r);return o.path=j.fromPortablePath(this.pathUtils.join(n,s)),o})}createWriteStream(e,r){return e===null?this.baseFs.createWriteStream(e,r):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,r),(i,{subPath:n})=>i.createWriteStream(n,r))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=await this.baseFs.realpathPromise(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,await r.realpathPromise(n)))})}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(r,{archivePath:i,subPath:n})=>{let s=this.realPaths.get(i);return typeof s=="undefined"&&(s=this.baseFs.realpathSync(i),this.realPaths.set(i,s)),this.pathUtils.join(s,this.pathUtils.relative(Me.root,r.realpathSync(n)))})}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(r,{subPath:i})=>await r.existsPromise(i))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(r,{subPath:i})=>r.existsSync(i))}async accessPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,r),async(i,{subPath:n})=>await i.accessPromise(n,r))}accessSync(e,r){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,r),(i,{subPath:n})=>i.accessSync(n,r))}async statPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e,r),async(i,{subPath:n})=>await i.statPromise(n,r))}statSync(e,r){return this.makeCallSync(e,()=>this.baseFs.statSync(e,r),(i,{subPath:n})=>i.statSync(n,r))}async fstatPromise(e,r){if((e&Ra)==0)return this.baseFs.fstatPromise(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstat");let[n,s]=i;return n.fstatPromise(s,r)}fstatSync(e,r){if((e&Ra)==0)return this.baseFs.fstatSync(e,r);let i=this.fdMap.get(e);if(typeof i=="undefined")throw en("fstatSync");let[n,s]=i;return n.fstatSync(s,r)}async lstatPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e,r),async(i,{subPath:n})=>await i.lstatPromise(n,r))}lstatSync(e,r){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e,r),(i,{subPath:n})=>i.lstatSync(n,r))}async chmodPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,r),async(i,{subPath:n})=>await i.chmodPromise(n,r))}chmodSync(e,r){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,r),(i,{subPath:n})=>i.chmodSync(n,r))}async chownPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.chownPromise(e,r,i),async(n,{subPath:s})=>await n.chownPromise(s,r,i))}chownSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.chownSync(e,r,i),(n,{subPath:s})=>n.chownSync(s,r,i))}async renamePromise(e,r){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.renamePromise(e,r),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(i,{subPath:n})=>await this.makeCallPromise(r,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await i.renamePromise(n,o)}))}renameSync(e,r){return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.renameSync(e,r),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(i,{subPath:n})=>this.makeCallSync(r,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(s,{subPath:o})=>{if(i!==s)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return i.renameSync(n,o)}))}async copyFilePromise(e,r,i=0){let n=async(s,o,a,l)=>{if((i&Vh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Vh.constants.COPYFILE_EXCL&&await this.existsPromise(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=await s.readFilePromise(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}await a.writeFilePromise(l,c)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(r,async()=>await this.baseFs.copyFilePromise(e,r,i),async(s,{subPath:o})=>await n(this.baseFs,e,s,o)),async(s,{subPath:o})=>await this.makeCallPromise(r,async()=>await n(s,o,this.baseFs,r),async(a,{subPath:l})=>s!==a?await n(s,o,a,l):await s.copyFilePromise(o,l,i)))}copyFileSync(e,r,i=0){let n=(s,o,a,l)=>{if((i&Vh.constants.COPYFILE_FICLONE_FORCE)!=0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${o}' -> ${l}'`),{code:"EXDEV"});if(i&Vh.constants.COPYFILE_EXCL&&this.existsSync(o))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${o}' -> '${l}'`),{code:"EEXIST"});let c;try{c=s.readFileSync(o)}catch(u){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${o}' -> '${l}'`),{code:"EINVAL"})}a.writeFileSync(l,c)};return this.makeCallSync(e,()=>this.makeCallSync(r,()=>this.baseFs.copyFileSync(e,r,i),(s,{subPath:o})=>n(this.baseFs,e,s,o)),(s,{subPath:o})=>this.makeCallSync(r,()=>n(s,o,this.baseFs,r),(a,{subPath:l})=>s!==a?n(s,o,a,l):s.copyFileSync(o,l,i)))}async appendFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,r,i),async(n,{subPath:s})=>await n.appendFilePromise(s,r,i))}appendFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,r,i),(n,{subPath:s})=>n.appendFileSync(s,r,i))}async writeFilePromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,r,i),async(n,{subPath:s})=>await n.writeFilePromise(s,r,i))}writeFileSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,r,i),(n,{subPath:s})=>n.writeFileSync(s,r,i))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(r,{subPath:i})=>await r.unlinkPromise(i))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(r,{subPath:i})=>r.unlinkSync(i))}async utimesPromise(e,r,i){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,r,i),async(n,{subPath:s})=>await n.utimesPromise(s,r,i))}utimesSync(e,r,i){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,r,i),(n,{subPath:s})=>n.utimesSync(s,r,i))}async mkdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,r),async(i,{subPath:n})=>await i.mkdirPromise(n,r))}mkdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,r),(i,{subPath:n})=>i.mkdirSync(n,r))}async rmdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e,r),async(i,{subPath:n})=>await i.rmdirPromise(n,r))}rmdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e,r),(i,{subPath:n})=>i.rmdirSync(n,r))}async linkPromise(e,r){return await this.makeCallPromise(r,async()=>await this.baseFs.linkPromise(e,r),async(i,{subPath:n})=>await i.linkPromise(e,n))}linkSync(e,r){return this.makeCallSync(r,()=>this.baseFs.linkSync(e,r),(i,{subPath:n})=>i.linkSync(e,n))}async symlinkPromise(e,r,i){return await this.makeCallPromise(r,async()=>await this.baseFs.symlinkPromise(e,r,i),async(n,{subPath:s})=>await n.symlinkPromise(e,s))}symlinkSync(e,r,i){return this.makeCallSync(r,()=>this.baseFs.symlinkSync(e,r,i),(n,{subPath:s})=>n.symlinkSync(e,s))}async readFilePromise(e,r){return this.makeCallPromise(e,async()=>{switch(r){case"utf8":return await this.baseFs.readFilePromise(e,r);default:return await this.baseFs.readFilePromise(e,r)}},async(i,{subPath:n})=>await i.readFilePromise(n,r))}readFileSync(e,r){return this.makeCallSync(e,()=>{switch(r){case"utf8":return this.baseFs.readFileSync(e,r);default:return this.baseFs.readFileSync(e,r)}},(i,{subPath:n})=>i.readFileSync(n,r))}async readdirPromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,r),async(i,{subPath:n})=>await i.readdirPromise(n,r),{requireSubpath:!1})}readdirSync(e,r){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,r),(i,{subPath:n})=>i.readdirSync(n,r),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(r,{subPath:i})=>await r.readlinkPromise(i))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(r,{subPath:i})=>r.readlinkSync(i))}async truncatePromise(e,r){return await this.makeCallPromise(e,async()=>await this.baseFs.truncatePromise(e,r),async(i,{subPath:n})=>await i.truncatePromise(n,r))}truncateSync(e,r){return this.makeCallSync(e,()=>this.baseFs.truncateSync(e,r),(i,{subPath:n})=>i.truncateSync(n,r))}watch(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watch(e,r,i),(n,{subPath:s})=>n.watch(s,r,i))}watchFile(e,r,i){return this.makeCallSync(e,()=>this.baseFs.watchFile(e,r,i),()=>WE(this,e,r,i))}unwatchFile(e,r){return this.makeCallSync(e,()=>this.baseFs.unwatchFile(e,r),()=>Jh(this,e,r))}async makeCallPromise(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return await r();let s=this.resolve(e),o=this.findZip(s);return o?n&&o.subPath==="/"?await r():await this.getZipPromise(o.archivePath,async a=>await i(a,o)):await r()}makeCallSync(e,r,i,{requireSubpath:n=!0}={}){if(typeof e!="string")return r();let s=this.resolve(e),o=this.findZip(s);return!o||n&&o.subPath==="/"?r():this.getZipSync(o.archivePath,a=>i(a,o))}findZip(e){if(this.filter&&!this.filter.test(e))return null;let r="";for(;;){let i=e.substring(r.length),n;if(!this.fileExtensions)n=yM(i,".zip");else for(let s of this.fileExtensions)if(n=yM(i,s),n)break;if(!n)return null;if(r=this.pathUtils.join(r,n),this.isZip.has(r)===!1){if(this.notZip.has(r))continue;try{if(!this.baseFs.lstatSync(r).isFile()){this.notZip.add(r);continue}}catch{return null}this.isZip.add(r)}return{archivePath:r,subPath:this.pathUtils.join(Me.root,e.substring(r.length))}}}limitOpenFiles(e){if(this.zipInstances===null)return;let r=Date.now(),i=r+this.maxAge,n=e===null?0:this.zipInstances.size-e;for(let[s,{zipFs:o,expiresAt:a,refCount:l}]of this.zipInstances.entries())if(!(l!==0||o.hasOpenFileHandles())){if(r>=a){o.saveAndClose(),this.zipInstances.delete(s),n-=1;continue}else if(e===null||n<=0){i=a;break}o.saveAndClose(),this.zipInstances.delete(s),n-=1}this.limitOpenFilesTimeout===null&&(e===null&&this.zipInstances.size>0||e!==null)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},i-r).unref())}async getZipPromise(e,r){let i=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let n=this.zipInstances.get(e);if(!n){let s=await i();n=this.zipInstances.get(e),n||(n={zipFs:new Ai(e,s),expiresAt:0,refCount:0})}this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,n.refCount+=1;try{return await r(n.zipFs)}finally{n.refCount-=1}}else{let n=new Ai(e,await i());try{return await r(n)}finally{n.saveAndClose()}}}getZipSync(e,r){let i=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let n=this.zipInstances.get(e);return n||(n={zipFs:new Ai(e,i()),expiresAt:0,refCount:0}),this.zipInstances.delete(e),this.limitOpenFiles(this.maxOpenFiles-1),this.zipInstances.set(e,n),n.expiresAt=Date.now()+this.maxAge,r(n.zipFs)}else{let n=new Ai(e,i());try{return r(n)}finally{n.saveAndClose()}}}};var Xh=ge(require("util"));var _E=ge(require("url"));var BQ=class extends bi{constructor(e){super(j);this.baseFs=e}mapFromBase(e){return e}mapToBase(e){return e instanceof _E.URL?(0,_E.fileURLToPath)(e):e}};var Pfe=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","chownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),wM=new Set(["accessPromise","appendFilePromise","chmodPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","truncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),Dfe=new Set(["appendFilePromise","chmodPromise","chownPromise","closePromise","readPromise","readFilePromise","statPromise","truncatePromise","utimesPromise","writePromise","writeFilePromise"]);function bQ(t,e){e=new BQ(e);let r=(i,n,s)=>{let o=i[n];i[n]=s,typeof(o==null?void 0:o[Xh.promisify.custom])!="undefined"&&(s[Xh.promisify.custom]=o[Xh.promisify.custom])};{r(t,"exists",(i,...n)=>{let o=typeof n[n.length-1]=="function"?n.pop():()=>{};process.nextTick(()=>{e.existsPromise(i).then(a=>{o(a)},()=>{o(!1)})})}),r(t,"read",(...i)=>{let[n,s,o,a,l,c]=i;if(i.length<=3){let u={};i.length<3?c=i[1]:(u=i[1],c=i[2]),{buffer:s=Buffer.alloc(16384),offset:o=0,length:a=s.byteLength,position:l}=u}if(o==null&&(o=0),a|=0,a===0){process.nextTick(()=>{c(null,0,s)});return}l==null&&(l=-1),process.nextTick(()=>{e.readPromise(n,s,o,a,l).then(u=>{c(null,u,s)},u=>{c(u,0,s)})})});for(let i of wM){let n=i.replace(/Promise$/,"");if(typeof t[n]=="undefined")continue;let s=e[i];if(typeof s=="undefined")continue;r(t,n,(...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{s.apply(e,a).then(u=>{c(null,u)},u=>{c(u)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",i=>{try{return e.existsSync(i)}catch(n){return!1}}),r(t,"readSync",(...i)=>{let[n,s,o,a,l]=i;return i.length<=3&&({offset:o=0,length:a=s.byteLength,position:l}=i[2]||{}),o==null&&(o=0),a|=0,a===0?0:(l==null&&(l=-1),e.readSync(n,s,o,a,l))});for(let i of Pfe){let n=i;if(typeof t[n]=="undefined")continue;let s=e[i];typeof s!="undefined"&&r(t,n,s.bind(e))}t.realpathSync.native=t.realpathSync}{let i=process.emitWarning;process.emitWarning=()=>{};let n;try{n=t.promises}finally{process.emitWarning=i}if(typeof n!="undefined"){for(let o of wM){let a=o.replace(/Promise$/,"");if(typeof n[a]=="undefined")continue;let l=e[o];typeof l!="undefined"&&o!=="open"&&r(n,a,l.bind(e))}class s{constructor(a){this.fd=a}}for(let o of Dfe){let a=o.replace(/Promise$/,""),l=e[o];typeof l!="undefined"&&r(s.prototype,a,function(...c){return l.call(e,this.fd,...c)})}r(n,"open",async(...o)=>{let a=await e.openPromise(...o);return new s(a)})}}t.read[Xh.promisify.custom]=async(i,n,...s)=>({bytesRead:await e.readPromise(i,n,...s),buffer:n})}function VE(t,e){let r=Object.create(t);return bQ(r,e),r}var BM=ge(require("os"));function bM(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}var ro=new Set,QQ=null;function QM(){if(QQ)return QQ;let t=j.toPortablePath(BM.default.tmpdir()),e=K.realpathSync(t);return process.once("exit",()=>{K.rmtempSync()}),QQ={tmpdir:t,realTmpdir:e}}var K=Object.assign(new ar,{detachTemp(t){ro.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=QM();for(;;){let i=bM("xfs-");try{this.mkdirSync(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(r,i);if(ro.add(n),typeof t=="undefined")return n;try{return t(n)}finally{if(ro.has(n)){ro.delete(n);try{this.removeSync(n)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=QM();for(;;){let i=bM("xfs-");try{await this.mkdirPromise(k.join(e,i))}catch(s){if(s.code==="EEXIST")continue;throw s}let n=k.join(r,i);if(ro.add(n),typeof t=="undefined")return n;try{return await t(n)}finally{if(ro.has(n)){ro.delete(n);try{await this.removePromise(n)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(ro.values()).map(async t=>{try{await K.removePromise(t,{maxRetries:0}),ro.delete(t)}catch{}}))},rmtempSync(){for(let t of ro)try{K.removeSync(t),ro.delete(t)}catch{}}});var Sx=ge(LQ());var op={};ft(op,{parseResolution:()=>rI,parseShell:()=>ZE,parseSyml:()=>Qi,stringifyArgument:()=>UQ,stringifyArgumentSegment:()=>KQ,stringifyArithmeticExpression:()=>tI,stringifyCommand:()=>MQ,stringifyCommandChain:()=>_u,stringifyCommandChainThen:()=>OQ,stringifyCommandLine:()=>$E,stringifyCommandLineThen:()=>TQ,stringifyEnvSegment:()=>eI,stringifyRedirectArgument:()=>$h,stringifyResolution:()=>iI,stringifyShell:()=>zu,stringifyShellLine:()=>zu,stringifySyml:()=>Na,stringifyValueArgument:()=>sc});var p1=ge(h1());function ZE(t,e={isGlobPattern:()=>!1}){try{return(0,p1.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function zu(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:i},n)=>`${$E(r)}${i===";"?n!==t.length-1||e?";":"":" &"}`).join(" ")}function $E(t){return`${_u(t.chain)}${t.then?` ${TQ(t.then)}`:""}`}function TQ(t){return`${t.type} ${$E(t.line)}`}function _u(t){return`${MQ(t)}${t.then?` ${OQ(t.then)}`:""}`}function OQ(t){return`${t.type} ${_u(t.chain)}`}function MQ(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>eI(e)).join(" ")} `:""}${t.args.map(e=>UQ(e)).join(" ")}`;case"subshell":return`(${zu(t.subshell)})${t.args.length>0?` ${t.args.map(e=>$h(e)).join(" ")}`:""}`;case"group":return`{ ${zu(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>$h(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>eI(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function eI(t){return`${t.name}=${t.args[0]?sc(t.args[0]):""}`}function UQ(t){switch(t.type){case"redirection":return $h(t);case"argument":return sc(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function $h(t){return`${t.subtype} ${t.args.map(e=>sc(e)).join(" ")}`}function sc(t){return t.segments.map(e=>KQ(e)).join("")}function KQ(t){let e=(i,n)=>n?`"${i}"`:i,r=i=>i===""?'""':i.match(/[(){}<>$|&; \t"']/)?`$'${i.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0")}'`:i;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`\${${zu(t.shell)}}`,t.quoted);case"variable":return e(typeof t.defaultValue=="undefined"?typeof t.alternativeValue=="undefined"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(i=>sc(i)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(i=>sc(i)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${tI(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function tI(t){let e=n=>{switch(n){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${n}"`)}},r=(n,s)=>s?`( ${n} )`:n,i=n=>r(tI(n),!["number","variable"].includes(n.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${i(t.left)} ${e(t.type)} ${i(t.right)}`}}var m1=ge(C1());function rI(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The override for '${t}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${e[1]}' instead.`);try{return(0,m1.parse)(t)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function iI(t){let e="";return t.from&&(e+=t.from.fullName,t.from.description&&(e+=`@${t.from.description}`),e+="/"),e+=t.descriptor.fullName,t.descriptor.description&&(e+=`@${t.descriptor.description}`),e}var hI=ge(AK()),uK=ge(cK()),Kde=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,gK=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],$Q=class{constructor(e){this.data=e}};function fK(t){return t.match(Kde)?t:JSON.stringify(t)}function hK(t){return typeof t=="undefined"?!0:typeof t=="object"&&t!==null?Object.keys(t).every(e=>hK(t[e])):!1}function ev(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${fK(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let i=" ".repeat(e);return` +${t.map(s=>`${i}- ${ev(s,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let i,n;t instanceof $Q?(i=t.data,n=!1):(i=t,n=!0);let s=" ".repeat(e),o=Object.keys(i);n&&o.sort((l,c)=>{let u=gK.indexOf(l),g=gK.indexOf(c);return u===-1&&g===-1?lc?1:0:u!==-1&&g===-1?-1:u===-1&&g!==-1?1:u-g});let a=o.filter(l=>!hK(i[l])).map((l,c)=>{let u=i[l],g=fK(l),f=ev(u,e+1,!0),h=c>0||r?s:"";return f.startsWith(` +`)?`${h}${g}:${f}`:`${h}${g}: ${f}`}).join(e===0?` +`:"")||` +`;return r?` +${a}`:`${a}`}throw new Error(`Unsupported value type (${t})`)}function Na(t){try{let e=ev(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}Na.PreserveOrdering=$Q;function Hde(t){return t.endsWith(` +`)||(t+=` +`),(0,uK.parse)(t)}var jde=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function Gde(t){if(jde.test(t))return Hde(t);let e=(0,hI.safeLoad)(t,{schema:hI.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Qi(t){return Gde(t)}var rz=ge(dK()),yw=ge(hc());var Cp={};ft(Cp,{Builtins:()=>pv,Cli:()=>Is,Command:()=>Re,Option:()=>z,UsageError:()=>Pe,formatMarkdownish:()=>Ki});var pc=0,ap=1,tn=2,rv="",vi="\0",ng=-1,iv=/^(-h|--help)(?:=([0-9]+))?$/,pI=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,yK=/^-[a-zA-Z]{2,}$/,nv=/^([^=]+)=([\s\S]*)$/,sv=process.env.DEBUG_CLI==="1";var Pe=class extends Error{constructor(e){super(e);this.clipanion={type:"usage"},this.name="UsageError"}},Ap=class extends Error{constructor(e,r){super();if(this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===r[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} + +${this.candidates.map(({usage:n})=>`$ ${n}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${i} +${ov(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${ov(e)}`}},av=class extends Error{constructor(e,r){super();this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` +`)} + +${ov(e)}`}},ov=t=>`While running ${t.filter(e=>e!==vi).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`;var lp=Symbol("clipanion/isOption");function rn(t){return te(N({},t),{[lp]:!0})}function No(t,e){return typeof t=="undefined"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function dI(t,e=!1){let r=t.replace(/^\.: /,"");return e&&(r=r[0].toLowerCase()+r.slice(1)),r}function cp(t,e){return e.length===1?new Pe(`${t}: ${dI(e[0],!0)}`):new Pe(`${t}: +${e.map(r=>` +- ${dI(r)}`).join("")}`)}function up(t,e,r){if(typeof r=="undefined")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!r(e,{errors:i,coercions:n,coercion:s}))throw cp(`Invalid value for ${t}`,i);for(let[,a]of n)a();return e}var Re=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(()=>(Es(),sg)),a=o(n(s()),r),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw cp("Invalid option schema",l);for(let[,g]of c)g()}else if(r!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i!="undefined"?i:0}};Re.isOption=lp;Re.Default=[];var DK=80,cv=Array(DK).fill("\u2501");for(let t=0;t<=24;++t)cv[cv.length-t]=`[38;5;${232+t}m\u2501`;var uv={header:t=>`\u2501\u2501\u2501 ${t}${t.length`${t}`,error:t=>`${t}`,code:t=>`${t}`},RK={header:t=>t,bold:t=>t,error:t=>t,code:t=>t};function QCe(t){let e=t.split(` +`),r=e.filter(n=>n.match(/\S/)),i=r.length>0?r.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` +`)}function Ki(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=QCe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,"$1"),r&&(t=t.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` +`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),t?`${t} +`:""}var hv=ge(require("tty"));function wn(t){sv&&console.log(t)}var FK={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:ng};function NK(){return{nodes:[sn(),sn(),sn()]}}function SCe(t){let e=NK(),r=[],i=e.nodes.length;for(let n of t){r.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=t.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)r(a);for(let[,{to:o}]of n.dynamics)r(o);for(let{to:o}of n.shortcuts)r(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=t.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};r(pc)}function xCe(t,{prefix:e=""}={}){if(sv){wn(`${e}Nodes are:`);for(let r=0;rl!==tn).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===tn))throw new Ap(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=PCe(a)}if(i.length>0){wn(" Results:");for(let s of i)wn(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else wn(" No results");return i}function DCe(t,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(t.statics,vi)){for(let{to:r}of t.statics[vi])if(r===ap)return!0}return!1}function FCe(t,e,r){let i=r&&e.length>0?[""]:[],n=TK(t,e,r),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let m=t.nodes[p],y=Object.keys(m.statics);for(let Q of Object.keys(m.statics)){let S=y[0];for(let{to:x,reducer:M}of m.statics[S])M==="pushPath"&&(u||l.push(S),g.push(x))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=t.nodes[l],g=DCe(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==vi||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===tn)continue;let p=RCe(f,c);if(p!==null)for(let m of p)a([...i,m],l)}}return[...s].sort()}function LCe(t,e){let r=TK(t,[...e,vi]);return NCe(e,r.map(({state:i})=>i))}function PCe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function NCe(t,e){let r=e.filter(g=>g.selectedIndex!==null);if(r.length===0)throw new Error;let i=r.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new Ap(t,r.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=TCe(c);if(u.length>1)throw new av(t,u.map(g=>g.candidateUsage));return u[0]}function TCe(t){let e=[],r=[];for(let i of t)i.selectedIndex===ng?r.push(i):e.push(i);return r.length>0&&e.push(te(N({},FK),{path:OK(...r.map(i=>i.path)),options:r.reduce((i,n)=>i.concat(n.options),[])})),e}function OK(t,e,...r){return e===void 0?Array.from(t):OK(t.filter((i,n)=>i===e[n]),...r)}function sn(){return{dynamics:[],shortcuts:[],statics:{}}}function LK(t){return t===ap||t===tn}function fv(t,e=0){return{to:LK(t.to)?t.to:t.to>2?t.to+e-2:t.to+e,reducer:t.reducer}}function vCe(t,e=0){let r=sn();for(let[i,n]of t.dynamics)r.dynamics.push([i,fv(n,e)]);for(let i of t.shortcuts)r.shortcuts.push(fv(i,e));for(let[i,n]of Object.entries(t.statics))r.statics[i]=n.map(s=>fv(s,e));return r}function Si(t,e,r,i,n){t.nodes[e].dynamics.push([r,{to:i,reducer:n}])}function og(t,e,r,i){t.nodes[e].shortcuts.push({to:r,reducer:i})}function La(t,e,r,i,n){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:i,reducer:n})}function mI(t,e,r,i){if(Array.isArray(e)){let[n,...s]=e;return t[n](r,i,...s)}else return t[e](r,i)}function RCe(t,e){let r=Array.isArray(t)?EI[t[0]]:EI[t];if(typeof r.suggest=="undefined")return null;let i=Array.isArray(t)?t.slice(1):[];return r.suggest(e,...i)}var EI={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,i)=>!t.ignoreOptions&&e===r,isBatchOption:(t,e,r)=>!t.ignoreOptions&&yK.test(e)&&[...e.slice(1)].every(i=>r.includes(`-${i}`)),isBoundOption:(t,e,r,i)=>{let n=e.match(nv);return!t.ignoreOptions&&!!n&&pI.test(n[1])&&r.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(t,e,r)=>!t.ignoreOptions&&e===`--no-${r.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&iv.test(e),isUnsupportedOption:(t,e,r)=>!t.ignoreOptions&&e.startsWith("-")&&pI.test(e)&&!r.includes(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!pI.test(e)};EI.isOption.suggest=(t,e,r=!0)=>r?null:[e];var gv={setCandidateState:(t,e,r)=>N(N({},t),r),setSelectedIndex:(t,e,r)=>te(N({},t),{selectedIndex:r}),pushBatch:(t,e)=>te(N({},t),{options:t.options.concat([...e.slice(1)].map(r=>({name:`-${r}`,value:!0})))}),pushBound:(t,e)=>{let[,r,i]=e.match(nv);return te(N({},t),{options:t.options.concat({name:r,value:i})})},pushPath:(t,e)=>te(N({},t),{path:t.path.concat(e)}),pushPositional:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:!1})}),pushExtra:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(t,e)=>te(N({},t),{positionals:t.positionals.concat({value:e,extra:Vn})}),pushTrue:(t,e,r=e)=>te(N({},t),{options:t.options.concat({name:e,value:!0})}),pushFalse:(t,e,r=e)=>te(N({},t),{options:t.options.concat({name:r,value:!1})}),pushUndefined:(t,e)=>te(N({},t),{options:t.options.concat({name:e,value:void 0})}),pushStringValue:(t,e)=>{var r;let i=te(N({},t),{options:[...t.options]}),n=t.options[t.options.length-1];return n.value=((r=n.value)!==null&&r!==void 0?r:[]).concat([e]),i},setStringValue:(t,e)=>{let r=te(N({},t),{options:[...t.options]}),i=t.options[t.options.length-1];return i.value=e,r},inhibateOptions:t=>te(N({},t),{ignoreOptions:!0}),useHelp:(t,e,r)=>{let[,,i]=e.match(iv);return typeof i!="undefined"?te(N({},t),{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):te(N({},t),{options:[{name:"-c",value:String(r)}]})},setError:(t,e,r)=>e===vi?te(N({},t),{errorMessage:`${r}.`}):te(N({},t),{errorMessage:`${r} ("${e}").`}),setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return te(N({},t),{errorMessage:`Not enough arguments to option ${r.name}.`})}},Vn=Symbol(),MK=class{constructor(e,r){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:i,proxy:n})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===Vn)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==Vn?this.arity.extra.push(e):this.arity.extra!==Vn&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Vn)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:r,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Vn?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context=="undefined")throw new Error("Assertion failed: No context attached");let e=NK(),r=pc,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);r=io(e,sn()),La(e,pc,rv,r,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=r;if(a.length>0){let f=io(e,sn());og(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=io(e,sn());Si(e,l,"isHelp",f,["useHelp",this.cliIndex]),La(e,f,vi,ap,["setSelectedIndex",ng]),this.registerOptions(e,l)}this.arity.leading.length>0&&La(e,l,vi,tn,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&La(e,h,vi,tn,["setError","Not enough positional arguments"]),Si(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Vn||this.arity.extra.length>0){let f=io(e,sn());if(og(e,c,f),this.arity.extra===Vn){let h=io(e,sn());this.arity.proxy||this.registerOptions(e,h),Si(e,c,s,h,"pushExtraNoLimits"),Si(e,h,s,h,"pushExtraNoLimits"),og(e,h,f)}else for(let h=0;h0&&La(e,u,vi,tn,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Si(e,r,["isOption",s,i.hidden||s!==n],r,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Si(e,r,["isNegatedOption",s],r,["pushFalse",s]);else{let s=io(e,sn());for(let o of i.names)Si(e,r,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eLCe(i,n),suggest:(n,s)=>FCe(i,n,s)}}};var dp=class extends Re{constructor(e){super();this.contexts=e,this.commands=[]}static from(e,r){let i=new dp(r);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index!="undefined"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}};var UK=Symbol("clipanion/errorCommand");function OCe(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout!="undefined"&&process.stdout.isTTY?8:1}var Is=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new pp({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,r={}){let i=new Is(r);for(let n of e)i.register(n);return i}register(e){var r;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[Re.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(r=e.paths)!==null&&r!==void 0?r:n.paths;if(typeof a!="undefined")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:r,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case ng:return dp.from(n,r);default:{let{commandClass:s}=r[n.selectedIndex],o=this.registrations.get(s);if(typeof o=="undefined")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[UK]=a,l}}break}}async run(e,r){var i;let n,s=N(N({},Is.defaultContext),r),o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,N(N({},s),u)),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?MCe(s):KK,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,r){process.exitCode=await this.run(e,r)}suggest(e,r){let{suggest:i}=this.builder.compile();return i(e,r)}definitions({colored:e=!1}={}){let r=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage=="undefined")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category!="undefined"?Ki(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description!="undefined"?Ki(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details!="undefined"?Ki(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples!="undefined"?i.usage.examples.map(([f,h])=>[Ki(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;r.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return r}usage(e=null,{colored:r,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage!="undefined";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof Re?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=Ki(l,{format:this.format(r),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` +`),(c!==""||u.length>0)&&(a+=`${this.format(r).header("Usage")} +`,a+=` +`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(r).bold(n)}${g} +`,f.length>0){a+=` +`,a+=`${uv.header("Options")} +`;let h=f.reduce((p,m)=>Math.max(p,m.definition.length),0);a+=` +`;for(let{definition:p,description:m}of f)a+=` ${this.format(r).bold(p.padEnd(h))} ${Ki(m,{format:this.format(r),paragraphs:!1})}`}if(c!==""&&(a+=` +`,a+=`${this.format(r).header("Details")} +`,a+=` +`,a+=Ki(c,{format:this.format(r),paragraphs:!0})),u.length>0){a+=` +`,a+=`${this.format(r).header("Examples")} +`;for(let[h,p]of u)a+=` +`,a+=Ki(h,{format:this.format(r),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(r).bold(n)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(r).bold(n)}${l} +`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage=="undefined")continue;let p=typeof f.usage.category!="undefined"?Ki(f.usage.category,{format:this.format(r),paragraphs:!1}):null,m=l.get(p);typeof m=="undefined"&&l.set(p,m=[]);let{usage:y}=this.getUsageByIndex(h);m.push({commandClass:f,usage:y})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel!="undefined",g=typeof this.binaryVersion!="undefined";u||g?(u&&g?a+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:u?a+=`${this.format(r).header(`${this.binaryLabel}`)} +`:a+=`${this.format(r).header(`${this.binaryVersion}`)} +`,a+=` ${this.format(r).bold(n)}${this.binaryName} +`):a+=`${this.format(r).bold(n)}${this.binaryName} +`;for(let f of c){let h=l.get(f).slice().sort((m,y)=>m.usage.localeCompare(y.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` +`,a+=`${this.format(r).header(`${p}`)} +`;for(let{commandClass:m,usage:y}of h){let Q=m.usage.description||"undocumented";a+=` +`,a+=` ${this.format(r).bold(y)} +`,a+=` ${Ki(Q,{format:this.format(r),paragraphs:!1})}`}}a+=` +`,a+=Ki("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return a}error(e,r){var i,{colored:n,command:s=(i=e[UK])!==null&&i!==void 0?i:null}=r===void 0?{}:r;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} +`;let l=e.clipanion;return typeof l!="undefined"?l.type==="usage"&&(o+=` +`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} +`),o}format(e){var r;return((r=e!=null?e:this.enableColors)!==null&&r!==void 0?r:Is.defaultContext.colorDepth>1)?uv:RK}getUsageByRegistration(e,r){let i=this.registrations.get(e);if(typeof i=="undefined")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};Is.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in hv.default.WriteStream.prototype?hv.default.WriteStream.prototype.getColorDepth():OCe()};var HK;function MCe(t){let e=HK;if(typeof e=="undefined"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return KK;let{AsyncLocalStorage:r}=require("async_hooks");e=HK=new r;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l=="undefined"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return r=>e.run(t,r)}function KK(t){return t()}var pv={};ft(pv,{DefinitionsCommand:()=>II,HelpCommand:()=>yI,VersionCommand:()=>wI});var II=class extends Re{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};II.paths=[["--clipanion=definitions"]];var yI=class extends Re{async execute(){this.context.stdout.write(this.cli.usage())}};yI.paths=[["-h"],["--help"]];var wI=class extends Re{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};wI.paths=[["-v"],["--version"]];var z={};ft(z,{Array:()=>jK,Boolean:()=>GK,Counter:()=>YK,Proxy:()=>qK,Rest:()=>JK,String:()=>WK,applyValidator:()=>up,cleanValidationError:()=>dI,formatError:()=>cp,isOptionSymbol:()=>lp,makeCommandOption:()=>rn,rerouteArguments:()=>No});function jK(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i!="undefined"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}function GK(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}function YK(t,e,r){let[i,n]=No(e,r!=null?r:{}),s=t.split(","),o=new Set(s);return rn({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}function qK(t={}){return rn({definition(e,r){var i;e.addProxy({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){return i.positionals.map(({value:n})=>n)}})}function JK(t={}){return rn({definition(e,r){var i;e.addRest({name:(i=t.name)!==null&&i!==void 0?i:r,required:t.required})},transformer(e,r,i){let n=o=>{let a=i.positionals[o];return a.extra===Vn||a.extra===!1&&oo)}})}function UCe(t,e,r){let[i,n]=No(e,r!=null?r:{}),{arity:s=1}=n,o=t.split(","),a=new Set(o);return rn({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?up(g!=null?g:c,f,n.validator):f}})}function KCe(t={}){let{required:e=!0}=t;return rn({definition(r,i){var n;r.addPositional({name:(n=t.name)!==null&&n!==void 0?n:i,required:t.required})},transformer(r,i,n){var s;for(let o=0;oc8,areIdentsEqual:()=>fd,areLocatorsEqual:()=>hd,areVirtualPackagesEquivalent:()=>uSe,bindDescriptor:()=>lSe,bindLocator:()=>cSe,convertDescriptorToLocator:()=>uw,convertLocatorToDescriptor:()=>nx,convertPackageToLocator:()=>ASe,convertToIdent:()=>aSe,convertToManifestRange:()=>hSe,copyPackage:()=>cd,devirtualizeDescriptor:()=>ud,devirtualizeLocator:()=>gd,getIdentVendorPath:()=>lx,isPackageCompatible:()=>pw,isVirtualDescriptor:()=>il,isVirtualLocator:()=>Xo,makeDescriptor:()=>rr,makeIdent:()=>Vo,makeLocator:()=>cn,makeRange:()=>fw,parseDescriptor:()=>nl,parseFileStyleRange:()=>gSe,parseIdent:()=>An,parseLocator:()=>Mc,parseRange:()=>Kg,prettyDependent:()=>YS,prettyDescriptor:()=>sr,prettyIdent:()=>gi,prettyLocator:()=>Bt,prettyLocatorNoColors:()=>Ax,prettyRange:()=>cw,prettyReference:()=>dd,prettyResolution:()=>qS,prettyWorkspace:()=>Cd,renamePackage:()=>ld,slugifyIdent:()=>ax,slugifyLocator:()=>Hg,sortDescriptors:()=>jg,stringifyDescriptor:()=>Pn,stringifyIdent:()=>Ot,stringifyLocator:()=>Ps,tryParseDescriptor:()=>pd,tryParseIdent:()=>u8,tryParseLocator:()=>gw,virtualizeDescriptor:()=>sx,virtualizePackage:()=>ox});var Ug=ge(require("querystring")),a8=ge(ti()),A8=ge(bY());var ae={};ft(ae,{LogLevel:()=>go,Style:()=>Pc,Type:()=>Ge,addLogFilterSupport:()=>nd,applyColor:()=>rs,applyHyperlink:()=>Fg,applyStyle:()=>Ly,json:()=>Dc,jsonOrPretty:()=>G0e,mark:()=>VS,pretty:()=>et,prettyField:()=>Jo,prettyList:()=>_S,supportsColor:()=>Fy,supportsHyperlinks:()=>WS,tuple:()=>uo});var rd=ge(IS()),id=ge(hc());var QJ=ge(ts()),vJ=ge(gJ());var Se={};ft(Se,{AsyncActions:()=>EJ,BufferStream:()=>mJ,CachingStrategy:()=>xc,DefaultStream:()=>IJ,allSettledSafe:()=>co,assertNever:()=>US,bufferStream:()=>Dg,buildIgnorePattern:()=>U0e,convertMapsToIndexableObjects:()=>Ry,dynamicRequire:()=>Rg,escapeRegExp:()=>N0e,getArrayWithDefault:()=>kg,getFactoryWithDefault:()=>qa,getMapWithDefault:()=>xg,getSetWithDefault:()=>kc,isIndexableObject:()=>KS,isPathLike:()=>K0e,isTaggedYarnVersion:()=>F0e,mapAndFilter:()=>qo,mapAndFind:()=>$p,overrideType:()=>MS,parseBoolean:()=>td,parseOptionalBoolean:()=>bJ,prettifyAsyncErrors:()=>Pg,prettifySyncErrors:()=>HS,releaseAfterUseAsync:()=>T0e,replaceEnvVariables:()=>jS,sortMap:()=>xn,tryParseOptionalBoolean:()=>GS,validateEnum:()=>L0e});var fJ=ge(ts()),hJ=ge(ag()),pJ=ge(ti()),OS=ge(require("stream"));function F0e(t){return!!(pJ.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function N0e(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MS(t){}function US(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function L0e(t,e){let r=Object.values(t);if(!r.includes(e))throw new Pe(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(i=>JSON.stringify(i)).join(", ")})`);return e}function qo(t,e){let r=[];for(let i of t){let n=e(i);n!==dJ&&r.push(n)}return r}var dJ=Symbol();qo.skip=dJ;function $p(t,e){for(let r of t){let i=e(r);if(i!==CJ)return i}}var CJ=Symbol();$p.skip=CJ;function KS(t){return typeof t=="object"&&t!==null}async function co(t){let e=await Promise.allSettled(t),r=[];for(let i of e){if(i.status==="rejected")throw i.reason;r.push(i.value)}return r}function Ry(t){if(t instanceof Map&&(t=Object.fromEntries(t)),KS(t))for(let e of Object.keys(t)){let r=t[e];KS(r)&&(t[e]=Ry(r))}return t}function qa(t,e,r){let i=t.get(e);return typeof i=="undefined"&&t.set(e,i=r()),i}function kg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=[]),r}function kc(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Set),r}function xg(t,e){let r=t.get(e);return typeof r=="undefined"&&t.set(e,r=new Map),r}async function T0e(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Pg(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function HS(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Dg(t){return await new Promise((e,r)=>{let i=[];t.on("error",n=>{r(n)}),t.on("data",n=>{i.push(n)}),t.on("end",()=>{e(Buffer.concat(i))})})}var mJ=class extends OS.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),i(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}};function O0e(){let t,e;return{promise:new Promise((i,n)=>{t=i,e=n}),resolve:t,reject:e}}var EJ=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,hJ.default)(e)}set(e,r){let i=this.deferred.get(e);typeof i=="undefined"&&this.deferred.set(e,i=O0e());let n=this.limit(()=>r());return this.promises.set(e,n),n.then(()=>{this.promises.get(e)===n&&i.resolve()},s=>{this.promises.get(e)===n&&i.reject(s)}),i.promise}reduce(e,r){var n;let i=(n=this.promises.get(e))!=null?n:Promise.resolve();this.set(e,()=>r(i))}async wait(){await Promise.all(this.promises.values())}},IJ=class extends OS.Transform{constructor(e=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=e}_transform(e,r,i){if(r!=="buffer"||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,i(null,e)}_flush(e){this.active&&this.ifEmpty.length>0?e(null,this.ifEmpty):e(null)}},ed=eval("require");function yJ(t){return ed(j.fromPortablePath(t))}function wJ(path){let physicalPath=j.fromPortablePath(path),currentCacheEntry=ed.cache[physicalPath];delete ed.cache[physicalPath];let result;try{result=yJ(physicalPath);let freshCacheEntry=ed.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{ed.cache[physicalPath]=currentCacheEntry}return result}var BJ=new Map;function M0e(t){let e=BJ.get(t),r=K.statSync(t);if((e==null?void 0:e.mtime)===r.mtimeMs)return e.instance;let i=wJ(t);return BJ.set(t,{mtime:r.mtimeMs,instance:i}),i}var xc;(function(i){i[i.NoCache=0]="NoCache",i[i.FsTime=1]="FsTime",i[i.Node=2]="Node"})(xc||(xc={}));function Rg(t,{cachingStrategy:e=2}={}){switch(e){case 0:return wJ(t);case 1:return M0e(t);case 2:return yJ(t);default:throw new Error("Unsupported caching strategy")}}function xn(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let i=[];for(let s of e)i.push(r.map(o=>s(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function U0e(t){return t.length===0?null:t.map(e=>`(${fJ.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function jS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...i)=>{let{variableName:n,colon:s,fallback:o}=i[i.length-1],a=Object.prototype.hasOwnProperty.call(e,n),l=e[n];if(l||a&&!s)return l;if(o!=null)return o;throw new Pe(`Environment variable not found (${n})`)})}function td(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function bJ(t){return typeof t=="undefined"?t:td(t)}function GS(t){try{return bJ(t)}catch{return null}}function K0e(t){return!!(j.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}var Qt;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Qt||(Qt={}));var yi;(function(i){i.Dependency="Dependency",i.PeerDependency="PeerDependency",i.PeerDependencyMeta="PeerDependencyMeta"})(yi||(yi={}));var qi;(function(i){i.Inactive="inactive",i.Redundant="redundant",i.Active="active"})(qi||(qi={}));var Ge={NO_HINT:"NO_HINT",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",DURATION:"DURATION",SIZE:"SIZE",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN"},Pc;(function(e){e[e.BOLD=2]="BOLD"})(Pc||(Pc={}));var JS=id.default.GITHUB_ACTIONS?{level:2}:rd.default.supportsColor?{level:rd.default.supportsColor.level}:{level:0},Fy=JS.level!==0,WS=Fy&&!id.default.GITHUB_ACTIONS&&!id.default.CIRCLE&&!id.default.GITLAB,zS=new rd.default.Instance(JS),H0e=new Map([[Ge.NO_HINT,null],[Ge.NULL,["#a853b5",129]],[Ge.SCOPE,["#d75f00",166]],[Ge.NAME,["#d7875f",173]],[Ge.RANGE,["#00afaf",37]],[Ge.REFERENCE,["#87afff",111]],[Ge.NUMBER,["#ffd700",220]],[Ge.PATH,["#d75fd7",170]],[Ge.URL,["#d75fd7",170]],[Ge.ADDED,["#5faf00",70]],[Ge.REMOVED,["#d70000",160]],[Ge.CODE,["#87afff",111]],[Ge.SIZE,["#ffd700",220]]]),Ds=t=>t,Ny={[Ge.NUMBER]:Ds({pretty:(t,e)=>`${e}`,json:t=>t}),[Ge.IDENT]:Ds({pretty:(t,e)=>gi(t,e),json:t=>Ot(t)}),[Ge.LOCATOR]:Ds({pretty:(t,e)=>Bt(t,e),json:t=>Ps(t)}),[Ge.DESCRIPTOR]:Ds({pretty:(t,e)=>sr(t,e),json:t=>Pn(t)}),[Ge.RESOLUTION]:Ds({pretty:(t,{descriptor:e,locator:r})=>qS(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Pn(t),locator:e!==null?Ps(e):null})}),[Ge.DEPENDENT]:Ds({pretty:(t,{locator:e,descriptor:r})=>YS(t,e,r),json:({locator:t,descriptor:e})=>({locator:Ps(t),descriptor:Pn(e)})}),[Ge.PACKAGE_EXTENSION]:Ds({pretty:(t,e)=>{switch(e.type){case yi.Dependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"dependencies",Ge.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependency:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"peerDependencies",Ge.CODE)} \u27A4 ${gi(t,e.descriptor)}`;case yi.PeerDependencyMeta:return`${gi(t,e.parentDescriptor)} \u27A4 ${rs(t,"peerDependenciesMeta",Ge.CODE)} \u27A4 ${gi(t,An(e.selector))} \u27A4 ${rs(t,e.key,Ge.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case yi.Dependency:return`${Ot(t.parentDescriptor)} > ${Ot(t.descriptor)}`;case yi.PeerDependency:return`${Ot(t.parentDescriptor)} >> ${Ot(t.descriptor)}`;case yi.PeerDependencyMeta:return`${Ot(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[Ge.SETTING]:Ds({pretty:(t,e)=>(t.get(e),Fg(t,rs(t,e,Ge.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[Ge.DURATION]:Ds({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),i=Math.ceil((e-r*60*1e3)/1e3);return i===0?`${r}m`:`${r}m ${i}s`}else{let r=Math.floor(e/1e3),i=e-r*1e3;return i===0?`${r}s`:`${r}s ${i}ms`}},json:t=>t}),[Ge.SIZE]:Ds({pretty:(t,e)=>{let r=["KB","MB","GB","TB"],i=r.length;for(;i>1&&e<1024**i;)i-=1;let n=1024**i,s=Math.floor(e*100/n)/100;return rs(t,`${s} ${r[i-1]}`,Ge.NUMBER)},json:t=>t}),[Ge.PATH]:Ds({pretty:(t,e)=>rs(t,j.fromPortablePath(e),Ge.PATH),json:t=>j.fromPortablePath(t)}),[Ge.MARKDOWN]:Ds({pretty:(t,{text:e,format:r,paragraphs:i})=>Ki(e,{format:r,paragraphs:i}),json:({text:t})=>t})};function uo(t,e){return[e,t]}function Ly(t,e,r){return t.get("enableColors")&&r&2&&(e=rd.default.bold(e)),e}function rs(t,e,r){if(!t.get("enableColors"))return e;let i=H0e.get(r);if(i===null)return e;let n=typeof i=="undefined"?r:JS.level>=3?i[0]:i[1],s=typeof n=="number"?zS.ansi256(n):n.startsWith("#")?zS.hex(n):zS[n];if(typeof s!="function")throw new Error(`Invalid format type ${n}`);return s(e)}var j0e=!!process.env.KONSOLE_VERSION;function Fg(t,e,r){return t.get("enableHyperlinks")?j0e?`]8;;${r}\\${e}]8;;\\`:`]8;;${r}\x07${e}]8;;\x07`:e}function et(t,e,r){if(e===null)return rs(t,"null",Ge.NULL);if(Object.prototype.hasOwnProperty.call(Ny,r))return Ny[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return rs(t,e,r)}function _S(t,e,r,{separator:i=", "}={}){return[...e].map(n=>et(t,n,r)).join(i)}function Dc(t,e){if(t===null)return null;if(Object.prototype.hasOwnProperty.call(Ny,e))return MS(e),Ny[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function G0e(t,e,[r,i]){return t?Dc(r,i):et(e,r,i)}function VS(t){return{Check:rs(t,"\u2713","green"),Cross:rs(t,"\u2718","red"),Question:rs(t,"?","cyan")}}function Jo(t,{label:e,value:[r,i]}){return`${et(t,e,Ge.CODE)}: ${et(t,r,i)}`}var go;(function(n){n.Error="error",n.Warning="warning",n.Info="info",n.Discard="discard"})(go||(go={}));function nd(t,{configuration:e}){let r=e.get("logFilters"),i=new Map,n=new Map,s=[];for(let g of r){let f=g.get("level");if(typeof f=="undefined")continue;let h=g.get("code");typeof h!="undefined"&&i.set(h,f);let p=g.get("text");typeof p!="undefined"&&n.set(p,f);let m=g.get("pattern");typeof m!="undefined"&&s.push([QJ.default.matcher(m,{contains:!0}),f])}s.reverse();let o=(g,f,h)=>{if(g===null||g===$.UNNAMED)return h;let p=n.size>0||s.length>0?(0,vJ.default)(f):f;if(n.size>0){let m=n.get(p);if(typeof m!="undefined")return m!=null?m:h}if(s.length>0){for(let[m,y]of s)if(m(p))return y!=null?y:h}if(i.size>0){let m=i.get(YA(g));if(typeof m!="undefined")return m!=null?m:h}return h},a=t.reportInfo,l=t.reportWarning,c=t.reportError,u=function(g,f,h,p){switch(o(f,h,p)){case go.Info:a.call(g,f,h);break;case go.Warning:l.call(g,f!=null?f:$.UNNAMED,h);break;case go.Error:c.call(g,f!=null?f:$.UNNAMED,h);break}};t.reportInfo=function(...g){return u(this,...g,go.Info)},t.reportWarning=function(...g){return u(this,...g,go.Warning)},t.reportError=function(...g){return u(this,...g,go.Error)}}var Dn={};ft(Dn,{checksumFile:()=>Aw,checksumPattern:()=>lw,makeHash:()=>ln});var aw=ge(require("crypto")),ix=ge(rx());function ln(...t){let e=(0,aw.createHash)("sha512"),r="";for(let i of t)typeof i=="string"?r+=i:i&&(r&&(e.update(r),r=""),e.update(i));return r&&e.update(r),e.digest("hex")}async function Aw(t,{baseFs:e,algorithm:r}={baseFs:K,algorithm:"sha512"}){let i=await e.openPromise(t,"r");try{let n=65536,s=Buffer.allocUnsafeSlow(n),o=(0,aw.createHash)(r),a=0;for(;(a=await e.readPromise(i,s,0,n))!==0;)o.update(a===n?s:s.slice(0,a));return o.digest("hex")}finally{await e.closePromise(i)}}async function lw(t,{cwd:e}){let i=(await(0,ix.default)(t,{cwd:j.fromPortablePath(e),expandDirectories:!1,onlyDirectories:!0,unique:!0})).map(a=>`${a}/**/*`),n=await(0,ix.default)([t,...i],{cwd:j.fromPortablePath(e),expandDirectories:!1,onlyFiles:!1,unique:!0});n.sort();let s=await Promise.all(n.map(async a=>{let l=[Buffer.from(a)],c=j.toPortablePath(a),u=await K.lstatPromise(c);return u.isSymbolicLink()?l.push(Buffer.from(await K.readlinkPromise(c))):u.isFile()&&l.push(await K.readFilePromise(c)),l.join("\0")})),o=(0,aw.createHash)("sha512");for(let a of s)o.update(a);return o.digest("hex")}var Ad="virtual:",sSe=5,l8=/(os|cpu|libc)=([a-z0-9_-]+)/,oSe=(0,A8.makeParser)(l8);function Vo(t,e){if(t==null?void 0:t.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:ln(t,e),scope:t,name:e}}function rr(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:ln(t.identHash,e),range:e}}function cn(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:ln(t.identHash,e),reference:e}}function aSe(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function uw(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function nx(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ASe(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function ld(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function cd(t){return ld(t,t)}function sx(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return rr(t,`virtual:${e}#${t.range}`)}function ox(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return ld(t,cn(t,`virtual:${e}#${t.reference}`))}function il(t){return t.range.startsWith(Ad)}function Xo(t){return t.reference.startsWith(Ad)}function ud(t){if(!il(t))throw new Error("Not a virtual descriptor");return rr(t,t.range.replace(/^[^#]*#/,""))}function gd(t){if(!Xo(t))throw new Error("Not a virtual descriptor");return cn(t,t.reference.replace(/^[^#]*#/,""))}function lSe(t,e){return t.range.includes("::")?t:rr(t,`${t.range}::${Ug.default.stringify(e)}`)}function cSe(t,e){return t.reference.includes("::")?t:cn(t,`${t.reference}::${Ug.default.stringify(e)}`)}function fd(t,e){return t.identHash===e.identHash}function c8(t,e){return t.descriptorHash===e.descriptorHash}function hd(t,e){return t.locatorHash===e.locatorHash}function uSe(t,e){if(!Xo(t))throw new Error("Invalid package type");if(!Xo(e))throw new Error("Invalid package type");if(!fd(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let i=e.dependencies.get(r.identHash);if(!i||!c8(r,i))return!1}return!0}function An(t){let e=u8(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function u8(t){let e=t.match(/^(?:@([^/]+?)\/)?([^/]+)$/);if(!e)return null;let[,r,i]=e,n=typeof r!="undefined"?r:null;return Vo(n,i)}function nl(t,e=!1){let r=pd(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function pd(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid range (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return rr(Vo(o,n),a)}function Mc(t,e=!1){let r=gw(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function gw(t,e=!1){let r=e?t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))$/):t.match(/^(?:@([^/]+?)\/)?([^/]+?)(?:@(.+))?$/);if(!r)return null;let[,i,n,s]=r;if(s==="unknown")throw new Error(`Invalid reference (${t})`);let o=typeof i!="undefined"?i:null,a=typeof s!="undefined"?s:"unknown";return cn(Vo(o,n),a)}function Kg(t,e){let r=t.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(r===null)throw new Error(`Invalid range (${t})`);let i=typeof r[1]!="undefined"?r[1]:null;if(typeof(e==null?void 0:e.requireProtocol)=="string"&&i!==e.requireProtocol)throw new Error(`Invalid protocol (${i})`);if((e==null?void 0:e.requireProtocol)&&i===null)throw new Error(`Missing protocol (${i})`);let n=typeof r[3]!="undefined"?decodeURIComponent(r[2]):null;if((e==null?void 0:e.requireSource)&&n===null)throw new Error(`Missing source (${t})`);let s=typeof r[3]!="undefined"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),o=(e==null?void 0:e.parseSelector)?Ug.default.parse(s):s,a=typeof r[4]!="undefined"?Ug.default.parse(r[4]):null;return{protocol:i,source:n,selector:o,params:a}}function gSe(t,{protocol:e}){let{selector:r,params:i}=Kg(t,{requireProtocol:e,requireBindings:!0});if(typeof i.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:Mc(i.locator,!0),path:r}}function g8(t){return t=t.replace(/%/g,"%25"),t=t.replace(/:/g,"%3A"),t=t.replace(/#/g,"%23"),t}function fSe(t){return t===null?!1:Object.entries(t).length>0}function fw({protocol:t,source:e,selector:r,params:i}){let n="";return t!==null&&(n+=`${t}`),e!==null&&(n+=`${g8(e)}#`),n+=g8(r),fSe(i)&&(n+=`::${Ug.default.stringify(i)}`),n}function hSe(t){let{params:e,protocol:r,source:i,selector:n}=Kg(t);for(let s in e)s.startsWith("__")&&delete e[s];return fw({protocol:r,source:i,params:e,selector:n})}function Ot(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Pn(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function Ps(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ax(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function Hg(t){let{protocol:e,selector:r}=Kg(t.reference),i=e!==null?e.replace(/:$/,""):"exotic",n=a8.default.valid(r),s=n!==null?`${i}-${n}`:`${i}`,o=10,a=t.scope?`${ax(t)}-${s}-${t.locatorHash.slice(0,o)}`:`${ax(t)}-${s}-${t.locatorHash.slice(0,o)}`;return qr(a)}function gi(t,e){return e.scope?`${et(t,`@${e.scope}/`,Ge.SCOPE)}${et(t,e.name,Ge.NAME)}`:`${et(t,e.name,Ge.NAME)}`}function hw(t){if(t.startsWith(Ad)){let e=hw(t.substring(t.indexOf("#")+1)),r=t.substring(Ad.length,Ad.length+sSe);return`${e} [${r}]`}else return t.replace(/\?.*/,"?[...]")}function cw(t,e){return`${et(t,hw(e),Ge.RANGE)}`}function sr(t,e){return`${gi(t,e)}${et(t,"@",Ge.RANGE)}${cw(t,e.range)}`}function dd(t,e){return`${et(t,hw(e),Ge.REFERENCE)}`}function Bt(t,e){return`${gi(t,e)}${et(t,"@",Ge.REFERENCE)}${dd(t,e.reference)}`}function Ax(t){return`${Ot(t)}@${hw(t.reference)}`}function jg(t){return xn(t,[e=>Ot(e),e=>e.range])}function Cd(t,e){return gi(t,e.locator)}function qS(t,e,r){let i=il(e)?ud(e):e;return r===null?`${sr(t,i)} \u2192 ${VS(t).Cross}`:i.identHash===r.identHash?`${sr(t,i)} \u2192 ${dd(t,r.reference)}`:`${sr(t,i)} \u2192 ${Bt(t,r)}`}function YS(t,e,r){return r===null?`${Bt(t,e)}`:`${Bt(t,e)} (via ${cw(t,r.range)})`}function lx(t){return`node_modules/${Ot(t)}`}function pw(t,e){return t.conditions?oSe(t.conditions,r=>{let[,i,n]=r.match(l8),s=e[i];return s?s.includes(n):!0}):!0}var f8={hooks:{reduceDependency:(t,e,r,i,{resolver:n,resolveOptions:s})=>{for(let{pattern:o,reference:a}of e.topLevelWorkspace.manifest.resolutions){if(o.from&&o.from.fullName!==Ot(r)||o.from&&o.from.description&&o.from.description!==r.reference||o.descriptor.fullName!==Ot(t)||o.descriptor.description&&o.descriptor.description!==t.range)continue;return n.bindDescriptor(rr(t,a),e.topLevelWorkspace.anchoredLocator,s)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let i=Cd(t.configuration,r);await t.configuration.triggerHook(n=>n.validateWorkspace,r,{reportWarning:(n,s)=>e.reportWarning(n,`${i}: ${s}`),reportError:(n,s)=>e.reportError(n,`${i}: ${s}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let i of r.errors)e.reportWarning($.INVALID_MANIFEST,i.message)}}};var C8=ge(ti());var md=class{supportsDescriptor(e,r){return!!(e.range.startsWith(md.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(md.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[i.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.getWorkspaceByCwd(e.reference.slice(md.protocol.length));return te(N({},e),{version:i.manifest.version||"0.0.0",languageName:"unknown",linkType:Qt.SOFT,conditions:null,dependencies:new Map([...i.manifest.dependencies,...i.manifest.devDependencies]),peerDependencies:new Map([...i.manifest.peerDependencies]),dependenciesMeta:i.manifest.dependenciesMeta,peerDependenciesMeta:i.manifest.peerDependenciesMeta,bin:i.manifest.bin})}},si=md;si.protocol="workspace:";var Wt={};ft(Wt,{SemVer:()=>h8.SemVer,clean:()=>dSe,satisfiesWithPrereleases:()=>Uc,validRange:()=>fo});var dw=ge(ti()),h8=ge(ti()),p8=new Map;function Uc(t,e,r=!1){if(!t)return!1;let i=`${e}${r}`,n=p8.get(i);if(typeof n=="undefined")try{n=new dw.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{p8.set(i,n||null)}else if(n===null)return!1;let s;try{s=new dw.default.SemVer(t,n)}catch(o){return!1}return n.test(s)?!0:(s.prerelease&&(s.prerelease=[]),n.set.some(o=>{for(let a of o)a.semver.prerelease&&(a.semver.prerelease=[]);return o.every(a=>a.test(s))}))}var d8=new Map;function fo(t){if(t.indexOf(":")!==-1)return null;let e=d8.get(t);if(typeof e!="undefined")return e;try{e=new dw.default.Range(t)}catch{e=null}return d8.set(t,e),e}var pSe=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;function dSe(t){let e=pSe.exec(t);return e?e[1]:null}var sl=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new ar}={}){let i=k.join(e,"package.json");try{return await sl.fromFile(i,{baseFs:r})}catch(n){if(n.code==="ENOENT")return null;throw n}}static async find(e,{baseFs:r}={}){let i=await sl.tryFind(e,{baseFs:r});if(i===null)throw new Error("Manifest not found");return i}static async fromFile(e,{baseFs:r=new ar}={}){let i=new sl;return await i.loadFile(e,{baseFs:r}),i}static fromText(e){let r=new sl;return r.loadFromText(e),r}static isManifestFieldCompatible(e,r){if(e===null)return!0;let i=!0,n=!1;for(let s of e)if(s[0]==="!"){if(n=!0,r===s.slice(1))return!1}else if(i=!1,s===r)return!0;return n&&i}loadFromText(e){let r;try{r=JSON.parse(E8(e)||"{}")}catch(i){throw i.message+=` (when parsing ${e})`,i}this.load(r),this.indent=m8(e)}async loadFile(e,{baseFs:r=new ar}){let i=await r.readFilePromise(e,"utf8"),n;try{n=JSON.parse(E8(i)||"{}")}catch(s){throw s.message+=` (when parsing ${e})`,s}this.load(n),this.indent=m8(i)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let i=[];if(this.name=null,typeof e.name=="string")try{this.name=An(e.name)}catch(s){i.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let s=[];this.os=s;for(let o of e.os)typeof o!="string"?i.push(new Error("Parsing failed for the 'os' field")):s.push(o)}else this.os=null;if(Array.isArray(e.cpu)){let s=[];this.cpu=s;for(let o of e.cpu)typeof o!="string"?i.push(new Error("Parsing failed for the 'cpu' field")):s.push(o)}else this.cpu=null;if(Array.isArray(e.libc)){let s=[];this.libc=s;for(let o of e.libc)typeof o!="string"?i.push(new Error("Parsing failed for the 'libc' field")):s.push(o)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=un(e.main):this.main=null,typeof e.module=="string"?this.module=un(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=un(e.browser);else{this.browser=new Map;for(let[s,o]of Object.entries(e.browser))this.browser.set(un(s),typeof o=="string"?un(o):o)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")this.name!==null?this.bin.set(this.name.name,un(e.bin)):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[s,o]of Object.entries(e.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}let a=An(s);this.bin.set(a.name,un(o))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[s,o]of Object.entries(e.scripts)){if(typeof o!="string"){i.push(new Error(`Invalid script definition for '${s}'`));continue}this.scripts.set(s,o)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[s,o]of Object.entries(e.dependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[s,o]of Object.entries(e.devDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.devDependencies.set(l.identHash,l)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[s,o]of Object.entries(e.peerDependencies)){let a;try{a=An(s)}catch(c){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}(typeof o!="string"||!o.startsWith(si.protocol)&&!fo(o))&&(i.push(new Error(`Invalid dependency range for '${s}'`)),o="*");let l=rr(a,o);this.peerDependencies.set(l.identHash,l)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&i.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let n=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let s of n){if(typeof s!="string"){i.push(new Error(`Invalid workspace definition for '${s}'`));continue}this.workspaceDefinitions.push({pattern:s})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[s,o]of Object.entries(e.dependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}`));continue}let a=nl(s),l=this.ensureDependencyMeta(a),c=Cw(o.built,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid built meta field for '${s}'`));continue}let u=Cw(o.optional,{yamlCompatibilityMode:r});if(u===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}let g=Cw(o.unplugged,{yamlCompatibilityMode:r});if(g===null){i.push(new Error(`Invalid unplugged meta field for '${s}'`));continue}Object.assign(l,{built:c,optional:u,unplugged:g})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[s,o]of Object.entries(e.peerDependenciesMeta)){if(typeof o!="object"||o===null){i.push(new Error(`Invalid meta field for '${s}'`));continue}let a=nl(s),l=this.ensurePeerDependencyMeta(a),c=Cw(o.optional,{yamlCompatibilityMode:r});if(c===null){i.push(new Error(`Invalid optional meta field for '${s}'`));continue}Object.assign(l,{optional:c})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[s,o]of Object.entries(e.resolutions)){if(typeof o!="string"){i.push(new Error(`Invalid resolution entry for '${s}'`));continue}try{this.resolutions.push({pattern:rI(s),reference:o})}catch(a){i.push(a);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let s of e.files){if(typeof s!="string"){i.push(new Error(`Invalid files entry for '${s}'`));continue}this.files.add(s)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=un(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=un(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=un(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[s,o]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set(un(s),typeof o=="string"?un(o):o)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,un(e.publishConfig.bin)]]):i.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[s,o]of Object.entries(e.publishConfig.bin)){if(typeof o!="string"){i.push(new Error(`Invalid bin definition for '${s}'`));continue}this.publishConfig.bin.set(s,un(o))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let s of e.publishConfig.executableFiles){if(typeof s!="string"){i.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add(un(s))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let s of Object.keys(e.installConfig))s==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:i.push(new Error("Invalid hoisting limits definition")):s=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:i.push(new Error("Invalid selfReferences definition, must be a boolean value")):i.push(new Error(`Unrecognized installConfig key: ${s}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[s,o]of Object.entries(e.optionalDependencies)){if(typeof o!="string"){i.push(new Error(`Invalid dependency range for '${s}'`));continue}let a;try{a=An(s)}catch(g){i.push(new Error(`Parsing failed for the dependency name '${s}'`));continue}let l=rr(a,o);this.dependencies.set(l.identHash,l);let c=rr(a,"unknown"),u=this.ensureDependencyMeta(c);Object.assign(u,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=i}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(cx("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(cx("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(cx("libc",this.libc)),e.length>0?e.join(" & "):null}isCompatibleWithOS(e){return sl.isManifestFieldCompatible(this.os,e)}isCompatibleWithCPU(e){return sl.isManifestFieldCompatible(this.cpu,e)}ensureDependencyMeta(e){if(e.range!=="unknown"&&!C8.default.valid(e.range))throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=e.range!=="unknown"?e.range:null,n=this.dependenciesMeta.get(r);n||this.dependenciesMeta.set(r,n=new Map);let s=n.get(i);return s||n.set(i,s={}),s}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Pn(e)}'`);let r=Ot(e),i=this.peerDependenciesMeta.get(r);return i||this.peerDependenciesMeta.set(r,i={}),i}setRawField(e,r,{after:i=[]}={}){let n=new Set(i.filter(s=>Object.prototype.hasOwnProperty.call(this.raw,s)));if(n.size===0||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=r;else{let s=this.raw,o=this.raw={},a=!1;for(let l of Object.keys(s))o[l]=s[l],a||(n.delete(l),n.size===0&&(o[e]=r,a=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){var s;if(Object.assign(e,this.raw),this.name!==null?e.name=Ot(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let o=this.browser;typeof o=="string"?e.browser=o:o instanceof Map&&(e.browser=Object.assign({},...Array.from(o.keys()).sort().map(a=>({[a]:o.get(a)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(o=>({[o]:this.bin.get(o)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces=te(N({},this.raw.workspaces),{packages:this.workspaceDefinitions.map(({pattern:o})=>o)}):e.workspaces=this.workspaceDefinitions.map(({pattern:o})=>o):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let i=[],n=[];for(let o of this.dependencies.values()){let a=this.dependenciesMeta.get(Ot(o)),l=!1;if(r&&a){let c=a.get(null);c&&c.optional&&(l=!0)}l?n.push(o):i.push(o)}i.length>0?e.dependencies=Object.assign({},...jg(i).map(o=>({[Ot(o)]:o.range}))):delete e.dependencies,n.length>0?e.optionalDependencies=Object.assign({},...jg(n).map(o=>({[Ot(o)]:o.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...jg(this.devDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...jg(this.peerDependencies.values()).map(o=>({[Ot(o)]:o.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[o,a]of xn(this.dependenciesMeta.entries(),([l,c])=>l))for(let[l,c]of xn(a.entries(),([u,g])=>u!==null?`0${u}`:"1")){let u=l!==null?Pn(rr(An(o),l)):o,g=N({},c);r&&l===null&&delete g.optional,Object.keys(g).length!==0&&(e.dependenciesMeta[u]=g)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...xn(this.peerDependenciesMeta.entries(),([o,a])=>o).map(([o,a])=>({[o]:a}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:o,reference:a})=>({[iI(o)]:a}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){(s=e.scripts)!=null||(e.scripts={});for(let o of Object.keys(e.scripts))this.scripts.has(o)||delete e.scripts[o];for(let[o,a]of this.scripts.entries())e.scripts[o]=a}else delete e.scripts;return e}},At=sl;At.fileName="package.json",At.allDependencies=["dependencies","devDependencies","peerDependencies"],At.hardDependencies=["dependencies","devDependencies"];function m8(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function E8(t){return t.charCodeAt(0)===65279?t.slice(1):t}function un(t){return t.replace(/\\/g,"/")}function Cw(t,{yamlCompatibilityMode:e}){return e?GS(t):typeof t=="undefined"||typeof t=="boolean"?t:null}function I8(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let i=r%2==0?"":"!",n=e.slice(r);return`${i}${t}=${n}`}function cx(t,e){return e.length===1?I8(t,e[0]):`(${e.map(r=>I8(t,r)).join(" | ")})`}var X8=ge(V8()),Z8=ge(require("stream")),$8=ge(require("string_decoder"));var lke=15,ct=class extends Error{constructor(e,r,i){super(r);this.reportExtra=i;this.reportCode=e}};function cke(t){return typeof t.reportCode!="undefined"}var Ji=class{constructor(){this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}static progressViaCounter(e){let r=0,i,n=new Promise(l=>{i=l}),s=l=>{let c=i;n=new Promise(u=>{i=u}),r=l,c()},o=(l=0)=>{s(r+1)},a=async function*(){for(;r{r=o}),n=(0,X8.default)(o=>{let a=r;i=new Promise(l=>{r=l}),e=o,a()},1e3/lke),s=async function*(){for(;;)await i,yield{title:e}}();return{[Symbol.asyncIterator](){return s},hasProgress:!1,hasTitle:!0,setTitle:n}}async startProgressPromise(e,r){let i=this.reportProgress(e);try{return await r(e)}finally{i.stop()}}startProgressSync(e,r){let i=this.reportProgress(e);try{return r(e)}finally{i.stop()}}reportInfoOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedInfos.has(n)||(this.reportedInfos.add(n),this.reportInfo(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportWarningOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedWarnings.has(n)||(this.reportedWarnings.add(n),this.reportWarning(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportErrorOnce(e,r,i){var s;let n=i&&i.key?i.key:r;this.reportedErrors.has(n)||(this.reportedErrors.add(n),this.reportError(e,r),(s=i==null?void 0:i.reportExtra)==null||s.call(i,this))}reportExceptionOnce(e){cke(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce($.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new Z8.PassThrough,i=new $8.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",e!==null?this.reportInfo(null,`${e} ${l}`):this.reportInfo(null,l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&(e!==null?this.reportInfo(null,`${e} ${s}`):this.reportInfo(null,s))}),r}};var yd=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));return i||null}getFetcher(e,r){let i=this.fetchers.find(n=>n.supports(e,r));if(!i)throw new ct($.FETCHER_NOT_FOUND,`${Bt(r.project.configuration,e)} isn't supported by any available fetcher`);return i}};var wd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.getResolverByDescriptor(e,i).bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,i){return await this.getResolverByDescriptor(e,i).getCandidates(e,r,i)}async getSatisfying(e,r,i){return this.getResolverByDescriptor(e,i).getSatisfying(e,r,i)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));return i||null}getResolverByDescriptor(e,r){let i=this.resolvers.find(n=>n.supportsDescriptor(e,r));if(!i)throw new Error(`${sr(r.project.configuration,e)} isn't supported by any available resolver`);return i}tryResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));return i||null}getResolverByLocator(e,r){let i=this.resolvers.find(n=>n.supportsLocator(e,r));if(!i)throw new Error(`${Bt(r.project.configuration,e)} isn't supported by any available resolver`);return i}};var ez=ge(ti());var Gg=/^(?!v)[a-z0-9._-]+$/i,fx=class{supportsDescriptor(e,r){return!!(fo(e.range)||Gg.test(e.range))}supportsLocator(e,r){return!!(ez.default.valid(e.reference)||Gg.test(e.reference))}shouldPersistResolution(e,r){return r.resolver.shouldPersistResolution(this.forwardLocator(e,r),r)}bindDescriptor(e,r,i){return i.resolver.bindDescriptor(this.forwardDescriptor(e,i),r,i)}getResolutionDependencies(e,r){return r.resolver.getResolutionDependencies(this.forwardDescriptor(e,r),r)}async getCandidates(e,r,i){return await i.resolver.getCandidates(this.forwardDescriptor(e,i),r,i)}async getSatisfying(e,r,i){return await i.resolver.getSatisfying(this.forwardDescriptor(e,i),r,i)}async resolve(e,r){let i=await r.resolver.resolve(this.forwardLocator(e,r),r);return ld(i,e)}forwardDescriptor(e,r){return rr(e,`${r.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,r){return cn(e,`${r.project.configuration.get("defaultProtocol")}${e.reference}`)}};var Bd=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n);return r.fetcher.getLocalPath(s,r)}async fetch(e,r){let i=e.reference.indexOf("#");if(i===-1)throw new Error("Invalid virtual package reference");let n=e.reference.slice(i+1),s=cn(e,n),o=await r.fetcher.fetch(s,r);return await this.ensureVirtualLink(e,o,r)}getLocatorFilename(e){return Hg(e)}async ensureVirtualLink(e,r,i){let n=r.packageFs.getRealPath(),s=i.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),a=Jr.makeVirtualPath(s,o,n),l=new Pa(a,{baseFs:r.packageFs,pathUtils:k});return te(N({},r),{packageFs:l})}};var Yg=class{static isVirtualDescriptor(e){return!!e.range.startsWith(Yg.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(Yg.protocol)}supportsDescriptor(e,r){return Yg.isVirtualDescriptor(e)}supportsLocator(e,r){return Yg.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,i){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,i){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},mw=Yg;mw.protocol="virtual:";var bd=class{supports(e){return!!e.reference.startsWith(si.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let i=this.getWorkspace(e,r).cwd;return{packageFs:new _t(i),prefixPath:Me.dot,localPath:i}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(si.protocol.length))}};var hx={};ft(hx,{getDefaultGlobalFolder:()=>dx,getHomeFolder:()=>Qd,isFolderInside:()=>Cx});var px=ge(require("os"));function dx(){if(process.platform==="win32"){let t=j.toPortablePath(process.env.LOCALAPPDATA||j.join((0,px.homedir)(),"AppData","Local"));return k.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=j.toPortablePath(process.env.XDG_DATA_HOME);return k.resolve(t,"yarn/berry")}return k.resolve(Qd(),".yarn/berry")}function Qd(){return j.toPortablePath((0,px.homedir)()||"/usr/local/share")}function Cx(t,e){let r=k.relative(e,t);return r&&!r.startsWith("..")&&!k.isAbsolute(r)}var qg={};ft(qg,{builtinModules:()=>mx,getArchitecture:()=>vd,getArchitectureName:()=>gke,getArchitectureSet:()=>Ex});var tz=ge(require("module"));function mx(){return new Set(tz.default.builtinModules||Object.keys(process.binding("natives")))}function uke(){var i,n,s,o;if(process.platform==="win32")return null;let e=(s=((n=(i=process.report)==null?void 0:i.getReport())!=null?n:{}).sharedObjects)!=null?s:[],r=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return(o=$p(e,a=>{let l=a.match(r);if(!l)return $p.skip;if(l[1])return"glibc";if(l[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")}))!=null?o:null}var Ew,Iw;function vd(){return Ew=Ew!=null?Ew:{os:process.platform,cpu:process.arch,libc:uke()}}function gke(t=vd()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function Ex(){let t=vd();return Iw=Iw!=null?Iw:{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}var fke=new Set(["binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir"]),ww="yarn_",yx=".yarnrc.yml",wx="yarn.lock",hke="********",Ie;(function(u){u.ANY="ANY",u.BOOLEAN="BOOLEAN",u.ABSOLUTE_PATH="ABSOLUTE_PATH",u.LOCATOR="LOCATOR",u.LOCATOR_LOOSE="LOCATOR_LOOSE",u.NUMBER="NUMBER",u.STRING="STRING",u.SECRET="SECRET",u.SHAPE="SHAPE",u.MAP="MAP"})(Ie||(Ie={}));var Di=Ge,Bx={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:Ie.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:Ie.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:Ie.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:Ie.BOOLEAN,default:!1},cacheKeyOverride:{description:"A global cache key override; used only for test purposes",type:Ie.STRING,default:null},globalFolder:{description:"Folder where all system-global files are stored",type:Ie.ABSOLUTE_PATH,default:dx()},cacheFolder:{description:"Folder where the cache files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:Ie.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:ic},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:Ie.ABSOLUTE_PATH,default:"./.yarn/__virtual__"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:Ie.STRING,default:wx},installStatePath:{description:"Path of the file where the install state will be persisted",type:Ie.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:Ie.STRING,default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:Ie.STRING,default:Bw()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:Ie.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:Ie.BOOLEAN,default:Fy,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:Ie.BOOLEAN,default:WS,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:Ie.BOOLEAN,default:yw.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:Ie.BOOLEAN,default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:Ie.BOOLEAN,default:!yw.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:Ie.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:Ie.BOOLEAN,default:yw.isCI},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:Ie.BOOLEAN,default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:Ie.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:Ie.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:Ie.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:Ie.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:Ie.BOOLEAN,default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:Ie.SHAPE,properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:Ie.STRING,isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:Ie.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:Ie.STRING,default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:Ie.NUMBER,default:6e4},httpRetry:{description:"Retry times on http failure",type:Ie.NUMBER,default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:Ie.NUMBER,default:50},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:{caFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:Ie.BOOLEAN,default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:Ie.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:Ie.STRING,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null}}}},caFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:Ie.ABSOLUTE_PATH,default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:Ie.ABSOLUTE_PATH,default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:Ie.ABSOLUTE_PATH,default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:Ie.BOOLEAN,default:!0},logFilters:{description:"Overrides for log levels",type:Ie.SHAPE,isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:Ie.STRING,default:void 0},text:{description:"Code of the texts covered by this override",type:Ie.STRING,default:void 0},pattern:{description:"Code of the patterns covered by this override",type:Ie.STRING,default:void 0},level:{description:"Log level override, set to null to remove override",type:Ie.STRING,values:Object.values(go),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:Ie.BOOLEAN,default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:Ie.NUMBER,default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:Ie.STRING,default:null},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:Ie.BOOLEAN,default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:Ie.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:Ie.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:Ie.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:Ie.MAP,valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:Ie.SHAPE,properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:Ie.MAP,valueDefinition:{description:"A range",type:Ie.STRING}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:Ie.MAP,valueDefinition:{description:"A semver range",type:Ie.STRING}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:Ie.MAP,valueDefinition:{description:"The peerDependency meta",type:Ie.SHAPE,properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:Ie.BOOLEAN,default:!1}}}}}}}};function Qx(t,e,r,i,n){if(i.isArray||i.type===Ie.ANY&&Array.isArray(r))return Array.isArray(r)?r.map((s,o)=>bx(t,`${e}[${o}]`,s,i,n)):String(r).split(/,/).map(s=>bx(t,e,s,i,n));if(Array.isArray(r))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return bx(t,e,r,i,n)}function bx(t,e,r,i,n){var a;switch(i.type){case Ie.ANY:return r;case Ie.SHAPE:return pke(t,e,r,i,n);case Ie.MAP:return dke(t,e,r,i,n)}if(r===null&&!i.isNullable&&i.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if((a=i.values)==null?void 0:a.includes(r))return r;let o=(()=>{if(i.type===Ie.BOOLEAN&&typeof r!="string")return td(r);if(typeof r!="string")throw new Error(`Expected value (${r}) to be a string`);let l=jS(r,{env:process.env});switch(i.type){case Ie.ABSOLUTE_PATH:return k.resolve(n,j.toPortablePath(l));case Ie.LOCATOR_LOOSE:return Mc(l,!1);case Ie.NUMBER:return parseInt(l);case Ie.LOCATOR:return Mc(l);case Ie.BOOLEAN:return td(l);default:return l}})();if(i.values&&!i.values.includes(o))throw new Error(`Invalid value, expected one of ${i.values.join(", ")}`);return o}function pke(t,e,r,i,n){if(typeof r!="object"||Array.isArray(r))throw new Pe(`Object configuration settings "${e}" must be an object`);let s=vx(t,i,{ignoreArrays:!0});if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=`${e}.${o}`;if(!i.properties[o])throw new Pe(`Unrecognized configuration settings found: ${e}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);s.set(o,Qx(t,l,a,i.properties[o],n))}return s}function dke(t,e,r,i,n){let s=new Map;if(typeof r!="object"||Array.isArray(r))throw new Pe(`Map configuration settings "${e}" must be an object`);if(r===null)return s;for(let[o,a]of Object.entries(r)){let l=i.normalizeKeys?i.normalizeKeys(o):o,c=`${e}['${l}']`,u=i.valueDefinition;s.set(l,Qx(t,c,a,u,n))}return s}function vx(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case Ie.SHAPE:{if(e.isArray&&!r)return[];let i=new Map;for(let[n,s]of Object.entries(e.properties))i.set(n,vx(t,s));return i}break;case Ie.MAP:return e.isArray&&!r?[]:new Map;case Ie.ABSOLUTE_PATH:return e.default===null?null:t.projectCwd===null?k.isAbsolute(e.default)?k.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(i=>k.resolve(t.projectCwd,i)):k.resolve(t.projectCwd,e.default);default:return e.default}}function bw(t,e,r){if(e.type===Ie.SECRET&&typeof t=="string"&&r.hideSecrets)return hke;if(e.type===Ie.ABSOLUTE_PATH&&typeof t=="string"&&r.getNativePaths)return j.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let i=[];for(let n of t)i.push(bw(n,e,r));return i}if(e.type===Ie.MAP&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries())i.set(n,bw(s,e.valueDefinition,r));return i}if(e.type===Ie.SHAPE&&t instanceof Map){let i=new Map;for(let[n,s]of t.entries()){let o=e.properties[n];i.set(n,bw(s,o,r))}return i}return t}function Cke(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),!!e.startsWith(ww)&&(e=(0,rz.default)(e.slice(ww.length)),t[e]=r);return t}function Bw(){let t=`${ww}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return yx}var ol;(function(i){i[i.LOCKFILE=0]="LOCKFILE",i[i.MANIFEST=1]="MANIFEST",i[i.NONE=2]="NONE"})(ol||(ol={}));var Xa=class{constructor(e){this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.packageExtensions=new Map;this.limits=new Map;this.startingCwd=e}static create(e,r,i){let n=new Xa(e);typeof r!="undefined"&&!(r instanceof Map)&&(n.projectCwd=r),n.importSettings(Bx);let s=typeof i!="undefined"?i:r instanceof Map?r:new Map;for(let[o,a]of s)n.activatePlugin(o,a);return n}static async find(e,r,{lookup:i=0,strict:n=!0,usePath:s=!1,useRc:o=!0}={}){let a=Cke();delete a.rcFilename;let l=await Xa.findRcFiles(e),c=await Xa.findHomeRcFile();if(c){let Q=l.find(S=>S.path===c.path);Q?Q.strict=!1:l.push(te(N({},c),{strict:!1}))}let u=({ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M})=>({ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M}),g=U=>{var J=U,{ignoreCwd:Q,yarnPath:S,ignorePath:x,lockfileFilename:M}=J,Y=Tr(J,["ignoreCwd","yarnPath","ignorePath","lockfileFilename"]);return Y},f=new Xa(e);f.importSettings(u(Bx)),f.useWithSource("",u(a),e,{strict:!1});for(let{path:Q,cwd:S,data:x}of l)f.useWithSource(Q,u(x),S,{strict:!1});if(s){let Q=f.get("yarnPath"),S=f.get("ignorePath");if(Q!==null&&!S)return f}let h=f.get("lockfileFilename"),p;switch(i){case 0:p=await Xa.findProjectCwd(e,h);break;case 1:p=await Xa.findProjectCwd(e,null);break;case 2:K.existsSync(k.join(e,"package.json"))?p=k.resolve(e):p=null;break}f.startingCwd=e,f.projectCwd=p,f.importSettings(g(Bx));let m=new Map([["@@core",f8]]),y=Q=>"default"in Q?Q.default:Q;if(r!==null){for(let M of r.plugins.keys())m.set(M,y(r.modules.get(M)));let Q=new Map;for(let M of mx())Q.set(M,()=>Rg(M));for(let[M,Y]of r.modules)Q.set(M,()=>Y);let S=new Set,x=async(M,Y)=>{let{factory:U,name:J}=Rg(M);if(S.has(J))return;let W=new Map(Q),ee=A=>{if(W.has(A))return W.get(A)();throw new Pe(`This plugin cannot access the package referenced via ${A} which is neither a builtin, nor an exposed entry`)},Z=await Pg(async()=>y(await U(ee)),A=>`${A} (when initializing ${J}, defined in ${Y})`);Q.set(J,()=>Z),S.add(J),m.set(J,Z)};if(a.plugins)for(let M of a.plugins.split(";")){let Y=k.resolve(e,j.toPortablePath(M));await x(Y,"")}for(let{path:M,cwd:Y,data:U}of l)if(!!o&&!!Array.isArray(U.plugins))for(let J of U.plugins){let W=typeof J!="string"?J.path:J,ee=k.resolve(Y,j.toPortablePath(W));await x(ee,M)}}for(let[Q,S]of m)f.activatePlugin(Q,S);f.useWithSource("",g(a),e,{strict:n});for(let{path:Q,cwd:S,data:x,strict:M}of l)f.useWithSource(Q,g(x),S,{strict:M!=null?M:n});return f.get("enableGlobalCache")&&(f.values.set("cacheFolder",`${f.get("globalFolder")}/cache`),f.sources.set("cacheFolder","")),await f.refreshPackageExtensions(),f}static async findRcFiles(e){let r=Bw(),i=[],n=e,s=null;for(;n!==s;){s=n;let o=k.join(s,r);if(K.existsSync(o)){let a=await K.readFilePromise(o,"utf8"),l;try{l=Qi(a)}catch(c){let u="";throw a.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(u=" (in particular, make sure you list the colons after each key name)"),new Pe(`Parse error when loading ${o}; please check it's proper Yaml${u}`)}i.push({path:o,cwd:s,data:l})}n=k.dirname(s)}return i}static async findHomeRcFile(){let e=Bw(),r=Qd(),i=k.join(r,e);if(K.existsSync(i)){let n=await K.readFilePromise(i,"utf8"),s=Qi(n);return{path:i,cwd:r,data:s}}return null}static async findProjectCwd(e,r){let i=null,n=e,s=null;for(;n!==s;){if(s=n,K.existsSync(k.join(s,"package.json"))&&(i=s),r!==null){if(K.existsSync(k.join(s,r))){i=s;break}}else if(i!==null)break;n=k.dirname(s)}return i}static async updateConfiguration(e,r){let i=Bw(),n=k.join(e,i),s=K.existsSync(n)?Qi(await K.readFilePromise(n,"utf8")):{},o=!1,a;if(typeof r=="function"){try{a=r(s)}catch{a=r({})}if(a===s)return}else{a=s;for(let l of Object.keys(r)){let c=s[l],u=r[l],g;if(typeof u=="function")try{g=u(c)}catch{g=u(void 0)}else g=u;c!==g&&(a[l]=g,o=!0)}if(!o)return}await K.changeFilePromise(n,Na(a),{automaticNewlines:!0})}static async updateHomeConfiguration(e){let r=Qd();return await Xa.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration!="undefined"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,i]of Object.entries(e))if(i!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,i),this.values.set(r,vx(this,i))}}useWithSource(e,r,i,n){try{this.use(e,r,i,n)}catch(s){throw s.message+=` (in ${et(this,e,Ge.PATH)})`,s}}use(e,r,i,{strict:n=!0,overwrite:s=!1}={}){n=n&&this.get("enableStrictSettings");for(let o of["enableStrictSettings",...Object.keys(r)]){if(typeof r[o]=="undefined"||o==="plugins"||e===""&&fke.has(o))continue;if(o==="rcFilename")throw new Pe(`The rcFilename settings can only be set via ${`${ww}RC_FILENAME`.toUpperCase()}, not via a rc file`);let l=this.settings.get(o);if(!l){if(n)throw new Pe(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e);continue}if(this.sources.has(o)&&!(s||l.type===Ie.MAP||l.isArray&&l.concatenateValues))continue;let c;try{c=Qx(this,o,r[o],l,i)}catch(u){throw u.message+=` in ${et(this,e,Ge.PATH)}`,u}if(o==="enableStrictSettings"&&e!==""){n=c;continue}if(l.type===Ie.MAP){let u=this.values.get(o);this.values.set(o,new Map(s?[...u,...c]:[...c,...u])),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else if(l.isArray&&l.concatenateValues){let u=this.values.get(o);this.values.set(o,s?[...u,...c]:[...c,...u]),this.sources.set(o,`${this.sources.get(o)}, ${e}`)}else this.values.set(o,c),this.sources.set(o,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:i=!1}){let n=this.get(e),s=this.settings.get(e);if(typeof s=="undefined")throw new Pe(`Couldn't find a configuration settings named "${e}"`);return bw(n,s,{hideSecrets:r,getNativePaths:i})}getSubprocessStreams(e,{header:r,prefix:i,report:n}){let s,o,a=K.createWriteStream(e);if(this.get("enableInlineBuilds")){let l=n.createStreamReporter(`${i} ${et(this,"STDOUT","green")}`),c=n.createStreamReporter(`${i} ${et(this,"STDERR","red")}`);s=new Ix.PassThrough,s.pipe(l),s.pipe(a),o=new Ix.PassThrough,o.pipe(c),o.pipe(a)}else s=a,o=a,typeof r!="undefined"&&s.write(`${r} +`);return{stdout:s,stderr:o}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let i of r.resolvers||[])e.push(new i);return new wd([new mw,new si,new fx,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let i of r.fetchers||[])e.push(new i);return new yd([new Bd,new bd,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let i of r.linkers||[])e.push(new i);return e}getSupportedArchitectures(){let e=vd(),r=this.get("supportedArchitectures"),i=r.get("os");i!==null&&(i=i.map(o=>o==="current"?e.os:o));let n=r.get("cpu");n!==null&&(n=n.map(o=>o==="current"?e.cpu:o));let s=r.get("libc");return s!==null&&(s=qo(s,o=>{var a;return o==="current"?(a=e.libc)!=null?a:qo.skip:o})),{os:i,cpu:n,libc:s}}async refreshPackageExtensions(){this.packageExtensions=new Map;let e=this.packageExtensions,r=(i,n,{userProvided:s=!1}={})=>{if(!fo(i.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let o=new At;o.load(n,{yamlCompatibilityMode:!0});let a=kg(e,i.identHash),l=[];a.push([i.range,l]);let c={status:qi.Inactive,userProvided:s,parentDescriptor:i};for(let u of o.dependencies.values())l.push(te(N({},c),{type:yi.Dependency,descriptor:u}));for(let u of o.peerDependencies.values())l.push(te(N({},c),{type:yi.PeerDependency,descriptor:u}));for(let[u,g]of o.peerDependenciesMeta)for(let[f,h]of Object.entries(g))l.push(te(N({},c),{type:yi.PeerDependencyMeta,selector:u,key:f,value:h}))};await this.triggerHook(i=>i.registerPackageExtensions,this,r);for(let[i,n]of this.get("packageExtensions"))r(nl(i,!0),Ry(n),{userProvided:!0})}normalizePackage(e){let r=cd(e);if(this.packageExtensions==null)throw new Error("refreshPackageExtensions has to be called before normalizing packages");let i=this.packageExtensions.get(e.identHash);if(typeof i!="undefined"){let s=e.version;if(s!==null){for(let[o,a]of i)if(!!Uc(s,o))for(let l of a)switch(l.status===qi.Inactive&&(l.status=qi.Redundant),l.type){case yi.Dependency:typeof r.dependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.dependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependency:typeof r.peerDependencies.get(l.descriptor.identHash)=="undefined"&&(l.status=qi.Active,r.peerDependencies.set(l.descriptor.identHash,l.descriptor));break;case yi.PeerDependencyMeta:{let c=r.peerDependenciesMeta.get(l.selector);(typeof c=="undefined"||!Object.prototype.hasOwnProperty.call(c,l.key)||c[l.key]!==l.value)&&(l.status=qi.Active,qa(r.peerDependenciesMeta,l.selector,()=>({}))[l.key]=l.value)}break;default:US(l);break}}}let n=s=>s.scope?`${s.scope}__${s.name}`:`${s.name}`;for(let s of r.peerDependenciesMeta.keys()){let o=An(s);r.peerDependencies.has(o.identHash)||r.peerDependencies.set(o.identHash,rr(o,"*"))}for(let s of r.peerDependencies.values()){if(s.scope==="types")continue;let o=n(s),a=Vo("types",o),l=Ot(a);r.peerDependencies.has(a.identHash)||r.peerDependenciesMeta.has(l)||(r.peerDependencies.set(a.identHash,rr(a,"*")),r.peerDependenciesMeta.set(l,{optional:!0}))}return r.dependencies=new Map(xn(r.dependencies,([,s])=>Pn(s))),r.peerDependencies=new Map(xn(r.peerDependencies,([,s])=>Pn(s))),r}getLimit(e){return qa(this.limits,e,()=>(0,iz.default)(this.get(e)))}async triggerHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);!s||await s(...r)}}async triggerMultipleHooks(e,r){for(let i of r)await this.triggerHook(e,...i)}async reduceHook(e,r,...i){let n=r;for(let s of this.plugins.values()){let o=s.hooks;if(!o)continue;let a=e(o);!a||(n=await a(n,...i))}return n}async firstHook(e,...r){for(let i of this.plugins.values()){let n=i.hooks;if(!n)continue;let s=e(n);if(!s)continue;let o=await s(...r);if(typeof o!="undefined")return o}return null}},ye=Xa;ye.telemetry=null;var is;(function(i){i[i.Never=0]="Never",i[i.ErrorCode=1]="ErrorCode",i[i.Always=2]="Always"})(is||(is={}));var Qw=class extends ct{constructor({fileName:e,code:r,signal:i}){let n=ye.create(k.cwd()),s=et(n,e,Ge.PATH);super($.EXCEPTION,`Child ${s} reported an error`,o=>{mke(r,i,{configuration:n,report:o})});this.code=kx(r,i)}},xx=class extends Qw{constructor({fileName:e,code:r,signal:i,stdout:n,stderr:s}){super({fileName:e,code:r,signal:i});this.stdout=n,this.stderr=s}};function jc(t){return t!==null&&typeof t.fd=="number"}var Gc=new Set;function Px(){}function Dx(){for(let t of Gc)t.kill()}async function $o(t,e,{cwd:r,env:i=process.env,strict:n=!1,stdin:s=null,stdout:o,stderr:a,end:l=2}){let c=["pipe","pipe","pipe"];s===null?c[0]="ignore":jc(s)&&(c[0]=s),jc(o)&&(c[1]=o),jc(a)&&(c[2]=a);let u=(0,Sx.default)(t,e,{cwd:j.fromPortablePath(r),env:te(N({},i),{PWD:j.fromPortablePath(r)}),stdio:c});Gc.add(u),Gc.size===1&&(process.on("SIGINT",Px),process.on("SIGTERM",Dx)),!jc(s)&&s!==null&&s.pipe(u.stdin),jc(o)||u.stdout.pipe(o,{end:!1}),jc(a)||u.stderr.pipe(a,{end:!1});let g=()=>{for(let f of new Set([o,a]))jc(f)||f.end()};return new Promise((f,h)=>{u.on("error",p=>{Gc.delete(u),Gc.size===0&&(process.off("SIGINT",Px),process.off("SIGTERM",Dx)),(l===2||l===1)&&g(),h(p)}),u.on("close",(p,m)=>{Gc.delete(u),Gc.size===0&&(process.off("SIGINT",Px),process.off("SIGTERM",Dx)),(l===2||l===1&&p>0)&&g(),p===0||!n?f({code:kx(p,m)}):h(new Qw({fileName:t,code:p,signal:m}))})})}async function Eke(t,e,{cwd:r,env:i=process.env,encoding:n="utf8",strict:s=!1}){let o=["ignore","pipe","pipe"],a=[],l=[],c=j.fromPortablePath(r);typeof i.PWD!="undefined"&&(i=te(N({},i),{PWD:c}));let u=(0,Sx.default)(t,e,{cwd:c,env:i,stdio:o});return u.stdout.on("data",g=>{a.push(g)}),u.stderr.on("data",g=>{l.push(g)}),await new Promise((g,f)=>{u.on("error",h=>{let p=ye.create(r),m=et(p,t,Ge.PATH);f(new ct($.EXCEPTION,`Process ${m} failed to spawn`,y=>{y.reportError($.EXCEPTION,` ${Jo(p,{label:"Thrown Error",value:uo(Ge.NO_HINT,h.message)})}`)}))}),u.on("close",(h,p)=>{let m=n==="buffer"?Buffer.concat(a):Buffer.concat(a).toString(n),y=n==="buffer"?Buffer.concat(l):Buffer.concat(l).toString(n);h===0||!s?g({code:kx(h,p),stdout:m,stderr:y}):f(new xx({fileName:t,code:h,signal:p,stdout:m,stderr:y}))})})}var Ike=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]]);function kx(t,e){let r=Ike.get(e);return typeof r!="undefined"?128+r:t!=null?t:1}function mke(t,e,{configuration:r,report:i}){i.reportError($.EXCEPTION,` ${Jo(r,t!==null?{label:"Exit Code",value:uo(Ge.NUMBER,t)}:{label:"Exit Signal",value:uo(Ge.CODE,e)})}`)}var ir={};ft(ir,{Method:()=>gl,RequestError:()=>j_.RequestError,del:()=>RDe,get:()=>PDe,getNetworkSettings:()=>J_,post:()=>VP,put:()=>DDe,request:()=>Od});var U_=ge(Gw()),K_=ge(require("https")),H_=ge(require("http")),WP=ge(ts()),zP=ge(M_()),Yw=ge(require("url"));var j_=ge(Gw()),G_=new Map,Y_=new Map,vDe=new H_.Agent({keepAlive:!0}),SDe=new K_.Agent({keepAlive:!0});function q_(t){let e=new Yw.URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),{proxy:r}}async function _P(t){return qa(Y_,t,()=>K.readFilePromise(t).then(e=>(Y_.set(t,e),e)))}function kDe({statusCode:t,statusMessage:e},r){let i=et(r,t,Ge.NUMBER),n=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Fg(r,`${i}${e?` (${e})`:""}`,n)}async function qw(t,{configuration:e,customErrorMessage:r}){var i,n;try{return await t}catch(s){if(s.name!=="HTTPError")throw s;let o=(n=r==null?void 0:r(s))!=null?n:(i=s.response.body)==null?void 0:i.error;o==null&&(s.message.startsWith("Response code")?o="The remote server failed to provide the requested resource":o=s.message),s instanceof U_.TimeoutError&&s.event==="socket"&&(o+=`(can be increased via ${et(e,"httpTimeout",Ge.SETTING)})`);let a=new ct($.NETWORK_ERROR,o,l=>{s.response&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Response Code",value:uo(Ge.NO_HINT,kDe(s.response,e))})}`),s.request&&(l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Method",value:uo(Ge.NO_HINT,s.request.options.method)})}`),l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request URL",value:uo(Ge.URL,s.request.requestUrl)})}`)),s.request.redirects.length>0&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Redirects",value:uo(Ge.NO_HINT,_S(e,s.request.redirects,Ge.URL))})}`),s.request.retryCount===s.request.options.retry.limit&&l.reportError($.NETWORK_ERROR,` ${Jo(e,{label:"Request Retry Count",value:uo(Ge.NO_HINT,`${et(e,s.request.retryCount,Ge.NUMBER)} (can be increased via ${et(e,"httpRetry",Ge.SETTING)})`)})}`)});throw a.originalError=s,a}}function J_(t,e){let r=[...e.configuration.get("networkSettings")].sort(([o],[a])=>a.length-o.length),i={enableNetwork:void 0,caFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},n=Object.keys(i),s=typeof t=="string"?new Yw.URL(t):t;for(let[o,a]of r)if(WP.default.isMatch(s.hostname,o))for(let l of n){let c=a.get(l);c!==null&&typeof i[l]=="undefined"&&(i[l]=c)}for(let o of n)typeof i[o]=="undefined"&&(i[o]=e.configuration.get(o));return i}var gl;(function(n){n.GET="GET",n.PUT="PUT",n.POST="POST",n.DELETE="DELETE"})(gl||(gl={}));async function Od(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=gl.GET}){let a=async()=>await xDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o});return await(await r.reduceHook(c=>c.wrapNetworkRequest,a,{target:t,body:e,configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o}))()}async function PDe(t,n){var s=n,{configuration:e,jsonResponse:r}=s,i=Tr(s,["configuration","jsonResponse"]);let o=qa(G_,t,()=>qw(Od(t,null,N({configuration:e},i)),{configuration:e}).then(a=>(G_.set(t,a.body),a.body)));return Buffer.isBuffer(o)===!1&&(o=await o),r?JSON.parse(o.toString()):o}async function DDe(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await qw(Od(t,e,te(N({},i),{method:gl.PUT})),i)).body}async function VP(t,e,n){var s=n,{customErrorMessage:r}=s,i=Tr(s,["customErrorMessage"]);return(await qw(Od(t,e,te(N({},i),{method:gl.POST})),i)).body}async function RDe(t,i){var n=i,{customErrorMessage:e}=n,r=Tr(n,["customErrorMessage"]);return(await qw(Od(t,null,te(N({},r),{method:gl.DELETE})),r)).body}async function xDe(t,e,{configuration:r,headers:i,jsonRequest:n,jsonResponse:s,method:o=gl.GET}){let a=typeof t=="string"?new Yw.URL(t):t,l=J_(a,{configuration:r});if(l.enableNetwork===!1)throw new Error(`Request to '${a.href}' has been blocked because of your configuration settings`);if(a.protocol==="http:"&&!WP.default.isMatch(a.hostname,r.get("unsafeHttpWhitelist")))throw new Error(`Unsafe http requests must be explicitly whitelisted in your configuration (${a.hostname})`);let u={agent:{http:l.httpProxy?zP.default.httpOverHttp(q_(l.httpProxy)):vDe,https:l.httpsProxy?zP.default.httpsOverHttp(q_(l.httpsProxy)):SDe},headers:i,method:o};u.responseType=s?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!n&&typeof e=="string"?u.body=e:u.json=e);let g=r.get("httpTimeout"),f=r.get("httpRetry"),h=r.get("enableStrictSsl"),p=l.caFilePath,m=l.httpsCertFilePath,y=l.httpsKeyFilePath,{default:Q}=await Promise.resolve().then(()=>ge(Gw())),S=p?await _P(p):void 0,x=m?await _P(m):void 0,M=y?await _P(y):void 0,Y=Q.extend(N({timeout:{socket:g},retry:f,https:{rejectUnauthorized:h,certificateAuthority:S,certificate:x,key:M}},u));return r.getLimit("networkConcurrency")(()=>Y(a))}var Zt={};ft(Zt,{PackageManager:()=>hn,detectPackageManager:()=>s6,executePackageAccessibleBinary:()=>c6,executePackageScript:()=>aB,executePackageShellcode:()=>uD,executeWorkspaceAccessibleBinary:()=>XRe,executeWorkspaceLifecycleScript:()=>l6,executeWorkspaceScript:()=>A6,getPackageAccessibleBinaries:()=>AB,getWorkspaceAccessibleBinaries:()=>a6,hasPackageScript:()=>zRe,hasWorkspaceScript:()=>cD,makeScriptEnv:()=>Yd,maybeExecuteWorkspaceLifecycleScript:()=>VRe,prepareExternalProject:()=>WRe});var Md={};ft(Md,{getLibzipPromise:()=>fn,getLibzipSync:()=>X_});var V_=ge(z_());var fl=["number","number"],$P;(function(L){L[L.ZIP_ER_OK=0]="ZIP_ER_OK",L[L.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",L[L.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",L[L.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",L[L.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",L[L.ZIP_ER_READ=5]="ZIP_ER_READ",L[L.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",L[L.ZIP_ER_CRC=7]="ZIP_ER_CRC",L[L.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",L[L.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",L[L.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",L[L.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",L[L.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",L[L.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",L[L.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",L[L.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",L[L.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",L[L.ZIP_ER_EOF=17]="ZIP_ER_EOF",L[L.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",L[L.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",L[L.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",L[L.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",L[L.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",L[L.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",L[L.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",L[L.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",L[L.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",L[L.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",L[L.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",L[L.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",L[L.ZIP_ER_TELL=30]="ZIP_ER_TELL",L[L.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})($P||($P={}));var __=t=>({get HEAP8(){return t.HEAP8},get HEAPU8(){return t.HEAPU8},errors:$P,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint16S:t._malloc(2),uint32S:t._malloc(4),uint64S:t._malloc(8),malloc:t._malloc,free:t._free,getValue:t.getValue,open:t.cwrap("zip_open","number",["string","number","number"]),openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),stat:t.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...fl,"number","number"]),fopen:t.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...fl,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...fl,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...fl,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...fl,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...fl,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...fl,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...fl,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"]),setMtime:t.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:t.cwrap("zipstruct_stat","number",[]),statS:t.cwrap("zipstruct_statS","number",[]),statName:t.cwrap("zipstruct_stat_name","string",["number"]),statIndex:t.cwrap("zipstruct_stat_index","number",["number"]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),error:t.cwrap("zipstruct_error","number",[]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}});var eD=null;function X_(){return eD===null&&(eD=__((0,V_.default)())),eD}async function fn(){return X_()}var Kd={};ft(Kd,{ShellError:()=>Ts,execute:()=>eB,globUtils:()=>Ww});var l5=ge(IS()),c5=ge(require("os")),ns=ge(require("stream")),u5=ge(require("util"));var Ts=class extends Error{constructor(e){super(e);this.name="ShellError"}};var Ww={};ft(Ww,{fastGlobOptions:()=>e5,isBraceExpansion:()=>t5,isGlobPattern:()=>FDe,match:()=>NDe,micromatchOptions:()=>_w});var Z_=ge(tw()),$_=ge(require("fs")),zw=ge(ts()),_w={strictBrackets:!0},e5={onlyDirectories:!1,onlyFiles:!1};function FDe(t){if(!zw.default.scan(t,_w).isGlob)return!1;try{zw.default.parse(t,_w)}catch{return!1}return!0}function NDe(t,{cwd:e,baseFs:r}){return(0,Z_.default)(t,te(N({},e5),{cwd:j.fromPortablePath(e),fs:VE($_.default,new _h(r))}))}function t5(t){return zw.default.scan(t,_w).isBrace}var r5=ge(LQ()),ta=ge(require("stream")),i5=ge(require("string_decoder")),Fn;(function(i){i[i.STDIN=0]="STDIN",i[i.STDOUT=1]="STDOUT",i[i.STDERR=2]="STDERR"})(Fn||(Fn={}));var qc=new Set;function tD(){}function rD(){for(let t of qc)t.kill()}function n5(t,e,r,i){return n=>{let s=n[0]instanceof ta.Transform?"pipe":n[0],o=n[1]instanceof ta.Transform?"pipe":n[1],a=n[2]instanceof ta.Transform?"pipe":n[2],l=(0,r5.default)(t,e,te(N({},i),{stdio:[s,o,a]}));return qc.add(l),qc.size===1&&(process.on("SIGINT",tD),process.on("SIGTERM",rD)),n[0]instanceof ta.Transform&&n[0].pipe(l.stdin),n[1]instanceof ta.Transform&&l.stdout.pipe(n[1],{end:!1}),n[2]instanceof ta.Transform&&l.stderr.pipe(n[2],{end:!1}),{stdin:l.stdin,promise:new Promise(c=>{l.on("error",u=>{switch(qc.delete(l),qc.size===0&&(process.off("SIGINT",tD),process.off("SIGTERM",rD)),u.code){case"ENOENT":n[2].write(`command not found: ${t} +`),c(127);break;case"EACCES":n[2].write(`permission denied: ${t} +`),c(128);break;default:n[2].write(`uncaught error: ${u.message} +`),c(1);break}}),l.on("exit",u=>{qc.delete(l),qc.size===0&&(process.off("SIGINT",tD),process.off("SIGTERM",rD)),c(u!==null?u:129)})})}}}function s5(t){return e=>{let r=e[0]==="pipe"?new ta.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}var po=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},o5=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},Ud=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:i,stderr:n}){let s=new Ud(null,e);return s.stdin=r,s.stdout=i,s.stderr=n,s}pipeTo(e,r=1){let i=new Ud(this,e),n=new o5;return i.pipe=n,i.stdout=this.stdout,i.stderr=this.stderr,(r&1)==1?this.stdout=n:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)==2?this.stderr=n:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),i}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let i;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");i=this.stderr,e[2]=i.get();let n=this.implementation(e);return this.pipe&&this.pipe.attach(n.stdin),await n.promise.then(s=>(r.close(),i.close(),s))}async run(){let e=[];for(let i=this;i;i=i.ancestor)e.push(i.exec());return(await Promise.all(e))[0]}};function Vw(t,e){return Ud.start(t,e)}function a5(t,e=null){let r=new ta.PassThrough,i=new i5.StringDecoder,n="";return r.on("data",s=>{let o=i.write(s),a;do if(a=o.indexOf(` +`),a!==-1){let l=n+o.substring(0,a);o=o.substring(a+1),n="",t(e!==null?`${e} ${l}`:l)}while(a!==-1);n+=o}),r.on("end",()=>{let s=i.end();s!==""&&t(e!==null?`${e} ${s}`:s)}),r}function A5(t,{prefix:e}){return{stdout:a5(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:a5(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var LDe=(0,u5.promisify)(setTimeout);var zi;(function(r){r[r.Readable=1]="Readable",r[r.Writable=2]="Writable"})(zi||(zi={}));function g5(t,e,r){let i=new ns.PassThrough({autoDestroy:!0});switch(t){case Fn.STDIN:(e&1)==1&&r.stdin.pipe(i,{end:!1}),(e&2)==2&&r.stdin instanceof ns.Writable&&i.pipe(r.stdin,{end:!1});break;case Fn.STDOUT:(e&1)==1&&r.stdout.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stdout,{end:!1});break;case Fn.STDERR:(e&1)==1&&r.stderr.pipe(i,{end:!1}),(e&2)==2&&i.pipe(r.stderr,{end:!1});break;default:throw new Ts(`Bad file descriptor: "${t}"`)}return i}function Xw(t,e={}){let r=N(N({},t),e);return r.environment=N(N({},t.environment),e.environment),r.variables=N(N({},t.variables),e.variables),r}var TDe=new Map([["cd",async([t=(0,c5.homedir)(),...e],r,i)=>{let n=k.resolve(i.cwd,j.toPortablePath(t));if(!(await r.baseFs.statPromise(n).catch(o=>{throw o.code==="ENOENT"?new Ts(`cd: no such file or directory: ${t}`):o})).isDirectory())throw new Ts(`cd: not a directory: ${t}`);return i.cwd=n,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${j.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,i)=>i.exitCode=parseInt(t!=null?t:i.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t=="undefined")throw new Ts("sleep: missing operand");let i=Number(t);if(Number.isNaN(i))throw new Ts(`sleep: invalid time interval '${t}'`);return await LDe(1e3*i,0)}],["__ysh_run_procedure",async(t,e,r)=>{let i=r.procedures[t[0]];return await Vw(i,{stdin:new po(r.stdin),stdout:new po(r.stdout),stderr:new po(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let i=r.stdin,n=r.stdout,s=r.stderr,o=[],a=[],l=[],c=0;for(;t[c]!=="--";){let g=t[c++],{type:f,fd:h}=JSON.parse(g),p=S=>{switch(h){case null:case 0:o.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},m=S=>{switch(h){case null:case 1:a.push(S);break;case 2:l.push(S);break;default:throw new Error(`Unsupported file descriptor: "${h}"`)}},y=Number(t[c++]),Q=c+y;for(let S=c;Se.baseFs.createReadStream(k.resolve(r.cwd,j.toPortablePath(t[S]))));break;case"<<<":p(()=>{let x=new ns.PassThrough;return process.nextTick(()=>{x.write(`${t[S]} +`),x.end()}),x});break;case"<&":p(()=>g5(Number(t[S]),1,r));break;case">":case">>":{let x=k.resolve(r.cwd,j.toPortablePath(t[S]));m(x==="/dev/null"?new ns.Writable({autoDestroy:!0,emitClose:!0,write(M,Y,U){setImmediate(U)}}):e.baseFs.createWriteStream(x,f===">>"?{flags:"a"}:void 0))}break;case">&":m(g5(Number(t[S]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${f}"`)}}if(o.length>0){let g=new ns.PassThrough;i=g;let f=h=>{if(h===o.length)g.end();else{let p=o[h]();p.pipe(g,{end:!1}),p.on("end",()=>{f(h+1)})}};f(0)}if(a.length>0){let g=new ns.PassThrough;n=g;for(let f of a)g.pipe(f)}if(l.length>0){let g=new ns.PassThrough;s=g;for(let f of l)g.pipe(f)}let u=await Vw(Hd(t.slice(c+1),e,r),{stdin:new po(i),stdout:new po(n),stderr:new po(s)}).run();return await Promise.all(a.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),await Promise.all(l.map(g=>new Promise((f,h)=>{g.on("error",p=>{h(p)}),g.on("close",()=>{f()}),g.end()}))),u}]]);async function ODe(t,e,r){let i=[],n=new ns.PassThrough;return n.on("data",s=>i.push(s)),await Zw(t,e,Xw(r,{stdout:n})),Buffer.concat(i).toString().replace(/[\r\n]+$/,"")}async function f5(t,e,r){let i=t.map(async s=>{let o=await iA(s.args,e,r);return{name:s.name,value:o.join(" ")}});return(await Promise.all(i)).reduce((s,o)=>(s[o.name]=o.value,s),{})}function $w(t){return t.match(/[^ \r\n\t]+/g)||[]}async function h5(t,e,r,i,n=i){switch(t.name){case"$":i(String(process.pid));break;case"#":i(String(e.args.length));break;case"@":if(t.quoted)for(let s of e.args)n(s);else for(let s of e.args){let o=$w(s);for(let a=0;a=0&&st+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)};async function jd(t,e,r){if(t.type==="number"){if(Number.isInteger(t.value))return t.value;throw new Error(`Invalid number: "${t.value}", only integers are allowed`)}else if(t.type==="variable"){let i=[];await h5(te(N({},t),{quoted:!0}),e,r,s=>i.push(s));let n=Number(i.join(" "));return Number.isNaN(n)?jd({type:"variable",name:i.join(" ")},e,r):jd({type:"number",value:n},e,r)}else return MDe[t.type](await jd(t.left,e,r),await jd(t.right,e,r))}async function iA(t,e,r){let i=new Map,n=[],s=[],o=u=>{s.push(u)},a=()=>{s.length>0&&n.push(s.join("")),s=[]},l=u=>{o(u),a()},c=(u,g,f)=>{let h=JSON.stringify({type:u,fd:g}),p=i.get(h);typeof p=="undefined"&&i.set(h,p=[]),p.push(f)};for(let u of t){let g=!1;switch(u.type){case"redirection":{let f=await iA(u.args,e,r);for(let h of f)c(u.subtype,u.fd,h)}break;case"argument":for(let f of u.segments)switch(f.type){case"text":o(f.text);break;case"glob":o(f.pattern),g=!0;break;case"shell":{let h=await ODe(f.shell,e,r);if(f.quoted)o(h);else{let p=$w(h);for(let m=0;m0){let u=[];for(let[g,f]of i.entries())u.splice(u.length,0,g,String(f.length),...f);n.splice(0,0,"__ysh_set_redirects",...u,"--")}return n}function Hd(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let i=j.fromPortablePath(r.cwd),n=r.environment;typeof n.PWD!="undefined"&&(n=te(N({},n),{PWD:i}));let[s,...o]=t;if(s==="command")return n5(o[0],o.slice(1),e,{cwd:i,env:n});let a=e.builtins.get(s);if(typeof a=="undefined")throw new Error(`Assertion failed: A builtin should exist for "${s}"`);return s5(async({stdin:l,stdout:c,stderr:u})=>{let{stdin:g,stdout:f,stderr:h}=r;r.stdin=l,r.stdout=c,r.stderr=u;try{return await a(o,e,r)}finally{r.stdin=g,r.stdout=f,r.stderr=h}})}function UDe(t,e,r){return i=>{let n=new ns.PassThrough,s=Zw(t,e,Xw(r,{stdin:n}));return{stdin:n,promise:s}}}function KDe(t,e,r){return i=>{let n=new ns.PassThrough,s=Zw(t,e,r);return{stdin:n,promise:s}}}function p5(t,e,r,i){if(e.length===0)return t;{let n;do n=String(Math.random());while(Object.prototype.hasOwnProperty.call(i.procedures,n));return i.procedures=N({},i.procedures),i.procedures[n]=t,Hd([...e,"__ysh_run_procedure",n],r,i)}}async function d5(t,e,r){let i=t,n=null,s=null;for(;i;){let o=i.then?N({},r):r,a;switch(i.type){case"command":{let l=await iA(i.args,e,r),c=await f5(i.envs,e,r);a=i.envs.length?Hd(l,e,Xw(o,{environment:c})):Hd(l,e,o)}break;case"subshell":{let l=await iA(i.args,e,r),c=UDe(i.subshell,e,o);a=p5(c,l,e,o)}break;case"group":{let l=await iA(i.args,e,r),c=KDe(i.group,e,o);a=p5(c,l,e,o)}break;case"envs":{let l=await f5(i.envs,e,r);o.environment=N(N({},o.environment),l),a=Hd(["true"],e,o)}break}if(typeof a=="undefined")throw new Error("Assertion failed: An action should have been generated");if(n===null)s=Vw(a,{stdin:new po(o.stdin),stdout:new po(o.stdout),stderr:new po(o.stderr)});else{if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(n){case"|":s=s.pipeTo(a,Fn.STDOUT);break;case"|&":s=s.pipeTo(a,Fn.STDOUT|Fn.STDERR);break}}i.then?(n=i.then.type,i=i.then.chain):i=null}if(s===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await s.run()}async function HDe(t,e,r,{background:i=!1}={}){function n(s){let o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],a=o[s%o.length];return l5.default.hex(a)}if(i){let s=r.nextBackgroundJobIndex++,o=n(s),a=`[${s}]`,l=o(a),{stdout:c,stderr:u}=A5(r,{prefix:l});return r.backgroundJobs.push(d5(t,e,Xw(r,{stdout:c,stderr:u})).catch(g=>u.write(`${g.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${l}, '${o(_u(t))}' has ended +`)})),0}return await d5(t,e,r)}async function jDe(t,e,r,{background:i=!1}={}){let n,s=a=>{n=a,r.variables["?"]=String(a)},o=async a=>{try{return await HDe(a.chain,e,r,{background:i&&typeof a.then=="undefined"})}catch(l){if(!(l instanceof Ts))throw l;return r.stderr.write(`${l.message} +`),1}};for(s(await o(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":n===0&&s(await o(t.then.line));break;case"||":n!==0&&s(await o(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return n}async function Zw(t,e,r){let i=r.backgroundJobs;r.backgroundJobs=[];let n=0;for(let{command:s,type:o}of t){if(n=await jDe(s,e,r,{background:o==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(n)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=i,n}function C5(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>Gd(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>Gd(e));case"arithmetic":return iD(t.arithmetic);case"shell":return nD(t.shell);default:return!1}}function Gd(t){switch(t.type){case"redirection":return t.args.some(e=>Gd(e));case"argument":return t.segments.some(e=>C5(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function iD(t){switch(t.type){case"variable":return C5(t);case"number":return!1;default:return iD(t.left)||iD(t.right)}}function nD(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let i;switch(r.type){case"subshell":i=nD(r.subshell);break;case"command":i=r.envs.some(n=>n.args.some(s=>Gd(s)))||r.args.some(n=>Gd(n));break}if(i)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function eB(t,e=[],{baseFs:r=new ar,builtins:i={},cwd:n=j.toPortablePath(process.cwd()),env:s=process.env,stdin:o=process.stdin,stdout:a=process.stdout,stderr:l=process.stderr,variables:c={},glob:u=Ww}={}){let g={};for(let[p,m]of Object.entries(s))typeof m!="undefined"&&(g[p]=m);let f=new Map(TDe);for(let[p,m]of Object.entries(i))f.set(p,m);o===null&&(o=new ns.PassThrough,o.end());let h=ZE(t,u);if(!nD(h)&&h.length>0&&e.length>0){let{command:p}=h[h.length-1];for(;p.then;)p=p.then.line;let m=p.chain;for(;m.then;)m=m.then.chain;m.type==="command"&&(m.args=m.args.concat(e.map(y=>({type:"argument",segments:[{type:"text",text:y}]}))))}return await Zw(h,{args:e,baseFs:r,builtins:f,initialStdin:o,initialStdout:a,initialStderr:l,glob:u},{cwd:n,environment:g,exitCode:null,procedures:{},stdin:o,stdout:a,stderr:l,variables:Object.assign({},c,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var i6=ge(tB()),n6=ge(ag()),Jc=ge(require("stream"));var Z5=ge(X5()),nB=ge(hc());var $5=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],e6=80,KRe=new Set([$.FETCH_NOT_CACHED,$.UNUSED_CACHE_ENTRY]),HRe=5,sB=nB.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:nB.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:nB.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r`}:null,t6=new Date,jRe=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,GRe=t=>t,oB=GRe({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),YRe=jRe&&Object.keys(oB).find(t=>{let e=oB[t];return!(e.date&&(e.date[0]!==t6.getDate()||e.date[1]!==t6.getMonth()+1))})||"default";function r6(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let n=YA(t===null?0:t);return!r&&t===null?et(e,n,"grey"):n}function lD(t,{configuration:e,json:r}){let i=r6(t,{configuration:e,json:r});if(!i||t===null||t===$.UNNAMED)return i;let n=$[t],s=`https://yarnpkg.com/advanced/error-codes#${i}---${n}`.toLowerCase();return Fg(e,i,s)}var Je=class extends Ji{constructor({configuration:e,stdout:r,json:i=!1,includeFooter:n=!0,includeLogs:s=!i,includeInfos:o=s,includeWarnings:a=s,forgettableBufferSize:l=HRe,forgettableNames:c=new Set}){super();this.uncommitted=new Set;this.cacheHitCount=0;this.cacheMissCount=0;this.lastCacheMiss=null;this.warningCount=0;this.errorCount=0;this.startTime=Date.now();this.indent=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;this.forgettableLines=[];if(nd(this,{configuration:e}),this.configuration=e,this.forgettableBufferSize=l,this.forgettableNames=new Set([...c,...KRe]),this.includeFooter=n,this.includeInfos=o,this.includeWarnings=a,this.json=i,this.stdout=r,e.get("enableProgressBars")&&!i&&r.isTTY&&r.columns>22){let u=e.get("progressBarStyle")||YRe;if(!Object.prototype.hasOwnProperty.call(oB,u))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=oB[u];let g="\u27A4 YN0000: \u250C ".length,f=Math.max(0,Math.min(r.columns-g,80));this.progressMaxScaledSize=Math.floor(this.progressStyle.size*f/80)}}static async start(e,r){let i=new this(e),n=process.emitWarning;process.emitWarning=(s,o)=>{if(typeof s!="string"){let l=s;s=l.message,o=o!=null?o:l.name}let a=typeof o!="undefined"?`${o}: ${s}`:s;i.reportWarning($.UNNAMED,a)};try{await r(i)}catch(s){i.reportExceptionOnce(s)}finally{await i.finalize(),process.emitWarning=n}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,r){this.lastCacheMiss=e,this.cacheMissCount+=1,typeof r!="undefined"&&!this.configuration.get("preferAggregateCacheInfo")&&this.reportInfo($.FETCH_NOT_CACHED,r)}startSectionSync({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}async startSectionPromise({reportHeader:e,reportFooter:r,skipIfEmpty:i},n){let s={committed:!1,action:()=>{e==null||e()}};i?this.uncommitted.add(s):(s.action(),s.committed=!0);let o=Date.now();try{return await n()}catch(a){throw this.reportExceptionOnce(a),a}finally{let a=Date.now();this.uncommitted.delete(s),s.committed&&(r==null||r(a-o))}}startTimerImpl(e,r,i){let n=typeof r=="function"?{}:r;return{cb:typeof r=="function"?r:i,reportHeader:()=>{this.reportInfo(null,`\u250C ${e}`),this.indent+=1,sB!==null&&!this.json&&this.includeInfos&&this.stdout.write(sB.start(e))},reportFooter:o=>{this.indent-=1,sB!==null&&!this.json&&this.includeInfos&&this.stdout.write(sB.end(e)),this.configuration.get("enableTimers")&&o>200?this.reportInfo(null,`\u2514 Completed in ${et(this.configuration,o,Ge.DURATION)}`):this.reportInfo(null,"\u2514 Completed")},skipIfEmpty:n.skipIfEmpty}}startTimerSync(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionSync(s,n)}async startTimerPromise(e,r,i){let o=this.startTimerImpl(e,r,i),{cb:n}=o,s=Tr(o,["cb"]);return this.startSectionPromise(s,n)}async startCacheReport(e){let r=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(i){throw this.reportExceptionOnce(i),i}finally{r!==null&&this.reportCacheChanges(r)}}reportSeparator(){this.indent===0?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,r){if(!this.includeInfos)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"",s=`${et(this.configuration,"\u27A4","blueBright")} ${n}${this.formatIndent()}${r}`;if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r});else if(this.forgettableNames.has(e))if(this.forgettableLines.push(s),this.forgettableLines.length>this.forgettableBufferSize){for(;this.forgettableLines.length>this.forgettableBufferSize;)this.forgettableLines.shift();this.writeLines(this.forgettableLines,{truncate:!0})}else this.writeLine(s,{truncate:!0});else this.writeLineWithForgettableReset(s)}reportWarning(e,r){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","yellowBright")} ${n}${this.formatIndent()}${r}`)}reportError(e,r){this.errorCount+=1,this.commit();let i=this.formatNameWithHyperlink(e),n=i?`${i}: `:"";this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:r}):this.writeLineWithForgettableReset(`${et(this.configuration,"\u27A4","redBright")} ${n}${this.formatIndent()}${r}`,{truncate:!1})}reportProgress(e){if(this.progressStyle===null)return te(N({},Promise.resolve()),{stop:()=>{}});if(e.hasProgress&&e.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let r=!1,i=Promise.resolve().then(async()=>{let s={progress:e.hasProgress?0:void 0,title:e.hasTitle?"":void 0};this.progress.set(e,{definition:s,lastScaledSize:e.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:o,title:a}of e)r||s.progress===o&&s.title===a||(s.progress=o,s.title=a,this.refreshProgress());n()}),n=()=>{r||(r=!0,this.progress.delete(e),this.refreshProgress({delta:1}))};return te(N({},i),{stop:n})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";this.errorCount>0?e="Failed with errors":this.warningCount>0?e="Done with warnings":e="Done";let r=et(this.configuration,Date.now()-this.startTime,Ge.DURATION),i=this.configuration.get("enableTimers")?`${e} in ${r}`:e;this.errorCount>0?this.reportError($.UNNAMED,i):this.warningCount>0?this.reportWarning($.UNNAMED,i):this.reportInfo($.UNNAMED,i)}writeLine(e,{truncate:r}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(e,{truncate:r})} +`),this.writeProgress()}writeLineWithForgettableReset(e,{truncate:r}={}){this.forgettableLines=[],this.writeLine(e,{truncate:r})}writeLines(e,{truncate:r}={}){this.clearProgress({delta:e.length});for(let i of e)this.stdout.write(`${this.truncate(i,{truncate:r})} +`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:r}){let i=this.cacheHitCount-e,n=this.cacheMissCount-r;if(i===0&&n===0)return;let s="";this.cacheHitCount>1?s+=`${this.cacheHitCount} packages were already cached`:this.cacheHitCount===1?s+=" - one package was already cached":s+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?s+=`, ${this.cacheMissCount} had to be fetched`:this.cacheMissCount===1&&(s+=`, one had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`):this.cacheMissCount>1?s+=` - ${this.cacheMissCount} packages had to be fetched`:this.cacheMissCount===1&&(s+=` - one package had to be fetched (${Bt(this.configuration,this.lastCacheMiss)})`),this.reportInfo($.FETCH_NOT_CACHED,s)}commit(){let e=this.uncommitted;this.uncommitted=new Set;for(let r of e)r.committed=!0,r.action()}clearProgress({delta:e=0,clear:r=!1}){this.progressStyle!==null&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||r)&&this.stdout.write(""))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let e=Date.now();e-this.progressTime>e6&&(this.progressFrame=(this.progressFrame+1)%$5.length,this.progressTime=e);let r=$5[this.progressFrame];for(let i of this.progress.values()){let n="";if(typeof i.lastScaledSize!="undefined"){let l=this.progressStyle.chars[0].repeat(i.lastScaledSize),c=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-i.lastScaledSize);n=` ${l}${c}`}let s=this.formatName(null),o=s?`${s}: `:"",a=i.definition.title?` ${i.definition.title}`:"";this.stdout.write(`${et(this.configuration,"\u27A4","blueBright")} ${o}${r}${n}${a} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},e6)}refreshProgress({delta:e=0,force:r=!1}={}){let i=!1,n=!1;if(r||this.progress.size===0)i=!0;else for(let s of this.progress.values()){let o=typeof s.definition.progress!="undefined"?Math.trunc(this.progressMaxScaledSize*s.definition.progress):void 0,a=s.lastScaledSize;s.lastScaledSize=o;let l=s.lastTitle;if(s.lastTitle=s.definition.title,o!==a||(n=l!==s.definition.title)){i=!0;break}}i&&(this.clearProgress({delta:e,clear:n}),this.writeProgress())}truncate(e,{truncate:r}={}){return this.progressStyle===null&&(r=!1),typeof r=="undefined"&&(r=this.configuration.get("preferTruncatedLines")),r&&(e=(0,Z5.default)(e,0,this.stdout.columns-1)),e}formatName(e){return r6(e,{configuration:this.configuration,json:this.json})}formatNameWithHyperlink(e){return lD(e,{configuration:this.configuration,json:this.json})}formatIndent(){return"\u2502 ".repeat(this.indent)}};var Ur="3.2.0";var hn;(function(n){n.Yarn1="Yarn Classic",n.Yarn2="Yarn",n.Npm="npm",n.Pnpm="pnpm"})(hn||(hn={}));async function nA(t,e,r,i=[]){if(process.platform==="win32"){let n=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${i.map(s=>`"${s.replace('"','""')}"`).join(" ")} %*`;await K.writeFilePromise(k.format({dir:t,name:e,ext:".cmd"}),n)}await K.writeFilePromise(k.join(t,e),`#!/bin/sh +exec "${r}" ${i.map(n=>`'${n.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function s6(t){let e=await At.tryFind(t);if(e==null?void 0:e.packageManager){let i=gw(e.packageManager);if(i==null?void 0:i.name){let n=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[s]=i.reference.split(".");switch(i.name){case"yarn":return{packageManager:Number(s)===1?hn.Yarn1:hn.Yarn2,reason:n};case"npm":return{packageManager:hn.Npm,reason:n};case"pnpm":return{packageManager:hn.Pnpm,reason:n}}}}let r;try{r=await K.readFilePromise(k.join(t,Pt.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:hn.Yarn2,reason:'"__metadata" key found in yarn.lock'}:{packageManager:hn.Yarn1,reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:K.existsSync(k.join(t,"package-lock.json"))?{packageManager:hn.Npm,reason:`found npm's "package-lock.json" lockfile`}:K.existsSync(k.join(t,"pnpm-lock.yaml"))?{packageManager:hn.Pnpm,reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function Yd({project:t,locator:e,binFolder:r,lifecycleScript:i}){var l,c;let n={};for(let[u,g]of Object.entries(process.env))typeof g!="undefined"&&(n[u.toLowerCase()!=="path"?u:"PATH"]=g);let s=j.fromPortablePath(r);n.BERRY_BIN_FOLDER=j.fromPortablePath(s);let o=process.env.COREPACK_ROOT?j.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([nA(r,"node",process.execPath),...Ur!==null?[nA(r,"run",process.execPath,[o,"run"]),nA(r,"yarn",process.execPath,[o]),nA(r,"yarnpkg",process.execPath,[o]),nA(r,"node-gyp",process.execPath,[o,"run","--top-level","node-gyp"])]:[]]),t&&(n.INIT_CWD=j.fromPortablePath(t.configuration.startingCwd),n.PROJECT_CWD=j.fromPortablePath(t.cwd)),n.PATH=n.PATH?`${s}${j.delimiter}${n.PATH}`:`${s}`,n.npm_execpath=`${s}${j.sep}yarn`,n.npm_node_execpath=`${s}${j.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let u=t.tryWorkspaceByLocator(e),g=u?(l=u.manifest.version)!=null?l:"":(c=t.storedPackages.get(e.locatorHash).version)!=null?c:"";n.npm_package_name=Ot(e),n.npm_package_version=g}let a=Ur!==null?`yarn/${Ur}`:`yarn/${Rg("@yarnpkg/core").version}-core`;return n.npm_config_user_agent=`${a} npm/? node/${process.version} ${process.platform} ${process.arch}`,i&&(n.npm_lifecycle_event=i),t&&await t.configuration.triggerHook(u=>u.setupScriptEnvironment,t,n,async(u,g,f)=>await nA(r,qr(u),g,f)),n}var qRe=2,JRe=(0,n6.default)(qRe);async function WRe(t,e,{configuration:r,report:i,workspace:n=null,locator:s=null}){await JRe(async()=>{await K.mktempPromise(async o=>{let a=k.join(o,"pack.log"),l=null,{stdout:c,stderr:u}=r.getSubprocessStreams(a,{prefix:j.fromPortablePath(t),report:i}),g=s&&Xo(s)?gd(s):s,f=g?Ps(g):"an external project";c.write(`Packing ${f} from sources +`);let h=await s6(t),p;h!==null?(c.write(`Using ${h.packageManager} for bootstrap. Reason: ${h.reason} + +`),p=h.packageManager):(c.write(`No package manager configuration detected; defaulting to Yarn + +`),p=hn.Yarn2),await K.mktempPromise(async m=>{let y=await Yd({binFolder:m}),S=new Map([[hn.Yarn1,async()=>{let M=n!==null?["workspace",n]:[],Y=await $o("yarn",["set","version","classic","--only-if-needed"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(Y.code!==0)return Y.code;await K.appendFilePromise(k.join(t,".npmignore"),`/.yarn +`),c.write(` +`);let U=await $o("yarn",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(U.code!==0)return U.code;c.write(` +`);let J=await $o("yarn",[...M,"pack","--filename",j.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return J.code!==0?J.code:0}],[hn.Yarn2,async()=>{let M=n!==null?["workspace",n]:[];y.YARN_ENABLE_INLINE_BUILDS="1";let Y=k.join(t,Pt.lockfile);await K.existsPromise(Y)||await K.writeFilePromise(Y,"");let U=await $o("yarn",[...M,"pack","--install-if-needed","--filename",j.fromPortablePath(e)],{cwd:t,env:y,stdin:l,stdout:c,stderr:u});return U.code!==0?U.code:0}],[hn.Npm,async()=>{if(n!==null){let A=new Jc.PassThrough,ne=Dg(A);A.pipe(c,{end:!1});let le=await $o("npm",["--version"],{cwd:t,env:y,stdin:l,stdout:A,stderr:u,end:is.Never});if(A.end(),le.code!==0)return c.end(),u.end(),le.code;let Ae=(await ne).toString().trim();if(!Uc(Ae,">=7.x")){let T=Vo(null,"npm"),L=rr(T,Ae),Ee=rr(T,">=7.x");throw new Error(`Workspaces aren't supported by ${sr(r,L)}; please upgrade to ${sr(r,Ee)} (npm has been detected as the primary package manager for ${et(r,t,Ge.PATH)})`)}}let M=n!==null?["--workspace",n]:[];delete y.npm_config_user_agent;let Y=await $o("npm",["install"],{cwd:t,env:y,stdin:l,stdout:c,stderr:u,end:is.ErrorCode});if(Y.code!==0)return Y.code;let U=new Jc.PassThrough,J=Dg(U);U.pipe(c);let W=await $o("npm",["pack","--silent",...M],{cwd:t,env:y,stdin:l,stdout:U,stderr:u});if(W.code!==0)return W.code;let ee=(await J).toString().trim().replace(/^.*\n/s,""),Z=k.resolve(t,j.toPortablePath(ee));return await K.renamePromise(Z,e),0}]]).get(p);if(typeof S=="undefined")throw new Error("Assertion failed: Unsupported workflow");let x=await S();if(!(x===0||typeof x=="undefined"))throw K.detachTemp(o),new ct($.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${x}, logs can be found here: ${et(r,a,Ge.PATH)})`)})})})}async function zRe(t,e,{project:r}){let i=r.tryWorkspaceByLocator(t);if(i!==null)return cD(i,e);let n=r.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r.configuration,t)} not found in the project`);return await ms.openPromise(async s=>{let o=r.configuration,a=r.configuration.getLinkers(),l={project:r,report:new Je({stdout:new Jc.PassThrough,configuration:o})},c=a.find(h=>h.supportsPackage(n,l));if(!c)throw new Error(`The package ${Bt(r.configuration,n)} isn't supported by any of the available linkers`);let u=await c.findPackageLocation(n,l),g=new _t(u,{baseFs:s});return(await At.find(Me.dot,{baseFs:g})).scripts.has(e)},{libzip:await fn()})}async function aB(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{manifest:c,env:u,cwd:g}=await o6(t,{project:n,binFolder:l,cwd:i,lifecycleScript:e}),f=c.scripts.get(e);if(typeof f=="undefined")return 1;let h=async()=>await eB(f,r,{cwd:g,env:u,stdin:s,stdout:o,stderr:a});return await(await n.configuration.reduceHook(m=>m.wrapScriptExecution,h,n,t,e,{script:f,args:r,cwd:g,env:u,stdin:s,stdout:o,stderr:a}))()})}async function uD(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a}){return await K.mktempPromise(async l=>{let{env:c,cwd:u}=await o6(t,{project:n,binFolder:l,cwd:i});return await eB(e,r,{cwd:u,env:c,stdin:s,stdout:o,stderr:a})})}async function _Re(t,{binFolder:e,cwd:r,lifecycleScript:i}){let n=await Yd({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:i});return await Promise.all(Array.from(await a6(t),([s,[,o]])=>nA(e,qr(s),process.execPath,[o]))),typeof r=="undefined"&&(r=k.dirname(await K.realpathPromise(k.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:n,cwd:r}}async function o6(t,{project:e,binFolder:r,cwd:i,lifecycleScript:n}){let s=e.tryWorkspaceByLocator(t);if(s!==null)return _Re(s,{binFolder:r,cwd:i,lifecycleScript:n});let o=e.storedPackages.get(t.locatorHash);if(!o)throw new Error(`Package for ${Bt(e.configuration,t)} not found in the project`);return await ms.openPromise(async a=>{let l=e.configuration,c=e.configuration.getLinkers(),u={project:e,report:new Je({stdout:new Jc.PassThrough,configuration:l})},g=c.find(y=>y.supportsPackage(o,u));if(!g)throw new Error(`The package ${Bt(e.configuration,o)} isn't supported by any of the available linkers`);let f=await Yd({project:e,locator:t,binFolder:r,lifecycleScript:n});await Promise.all(Array.from(await AB(t,{project:e}),([y,[,Q]])=>nA(r,qr(y),process.execPath,[Q])));let h=await g.findPackageLocation(o,u),p=new _t(h,{baseFs:a}),m=await At.find(Me.dot,{baseFs:p});return typeof i=="undefined"&&(i=h),{manifest:m,binFolder:r,env:f,cwd:i}},{libzip:await fn()})}async function A6(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o}){return await aB(t.anchoredLocator,e,r,{cwd:i,project:t.project,stdin:n,stdout:s,stderr:o})}function cD(t,e){return t.manifest.scripts.has(e)}async function l6(t,e,{cwd:r,report:i}){let{configuration:n}=t.project,s=null;await K.mktempPromise(async o=>{let a=k.join(o,`${e}.log`),l=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${j.fromPortablePath(t.cwd)}") +`,{stdout:c,stderr:u}=n.getSubprocessStreams(a,{report:i,prefix:Bt(n,t.anchoredLocator),header:l});i.reportInfo($.LIFECYCLE_SCRIPT,`Calling the "${e}" lifecycle script`);let g=await A6(t,e,[],{cwd:r,stdin:s,stdout:c,stderr:u});if(c.end(),u.end(),g!==0)throw K.detachTemp(o),new ct($.LIFECYCLE_SCRIPT,`${(0,i6.default)(e)} script failed (exit code ${et(n,g,Ge.NUMBER)}, logs can be found here: ${et(n,a,Ge.PATH)}); run ${et(n,`yarn ${e}`,Ge.CODE)} to investigate`)})}async function VRe(t,e,r){cD(t,e)&&await l6(t,e,r)}async function AB(t,{project:e}){let r=e.configuration,i=new Map,n=e.storedPackages.get(t.locatorHash);if(!n)throw new Error(`Package for ${Bt(r,t)} not found in the project`);let s=new Jc.Writable,o=r.getLinkers(),a={project:e,report:new Je({configuration:r,stdout:s})},l=new Set([t.locatorHash]);for(let u of n.dependencies.values()){let g=e.storedResolutions.get(u.descriptorHash);if(!g)throw new Error(`Assertion failed: The resolution (${sr(r,u)}) should have been registered`);l.add(g)}let c=await Promise.all(Array.from(l,async u=>{let g=e.storedPackages.get(u);if(!g)throw new Error(`Assertion failed: The package (${u}) should have been registered`);if(g.bin.size===0)return qo.skip;let f=o.find(p=>p.supportsPackage(g,a));if(!f)return qo.skip;let h=null;try{h=await f.findPackageLocation(g,a)}catch(p){if(p.code==="LOCATOR_NOT_INSTALLED")return qo.skip;throw p}return{dependency:g,packageLocation:h}}));for(let u of c){if(u===qo.skip)continue;let{dependency:g,packageLocation:f}=u;for(let[h,p]of g.bin)i.set(h,[g,j.fromPortablePath(k.resolve(f,p))])}return i}async function a6(t){return await AB(t.anchoredLocator,{project:t.project})}async function c6(t,e,r,{cwd:i,project:n,stdin:s,stdout:o,stderr:a,nodeArgs:l=[],packageAccessibleBinaries:c}){c!=null||(c=await AB(t,{project:n}));let u=c.get(e);if(!u)throw new Error(`Binary not found (${e}) for ${Bt(n.configuration,t)}`);return await K.mktempPromise(async g=>{let[,f]=u,h=await Yd({project:n,locator:t,binFolder:g});await Promise.all(Array.from(c,([m,[,y]])=>nA(h.BERRY_BIN_FOLDER,qr(m),process.execPath,[y])));let p;try{p=await $o(process.execPath,[...l,f,...r],{cwd:i,env:h,stdin:s,stdout:o,stderr:a})}finally{await K.removePromise(h.BERRY_BIN_FOLDER)}return p.code})}async function XRe(t,e,r,{cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a}){return await c6(t.anchoredLocator,e,r,{project:t.project,cwd:i,stdin:n,stdout:s,stderr:o,packageAccessibleBinaries:a})}var wi={};ft(wi,{convertToZip:()=>aLe,extractArchiveTo:()=>lLe,makeArchiveFromDirectory:()=>oLe});var r7=ge(require("stream")),i7=ge(V9());var X9=ge(require("os")),Z9=ge(ag()),$9=ge(require("worker_threads")),Ql=Symbol("kTaskInfo"),bR=class{constructor(e){this.source=e;this.workers=[];this.limit=(0,Z9.default)(Math.max(1,(0,X9.cpus)().length));this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let r=this.workers.pop();r?r.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new $9.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Ql])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Ql].resolve(r),e[Ql]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{var i;(i=e[Ql])==null||i.reject(r),e[Ql]=null}),e.on("exit",r=>{var i;r!==0&&((i=e[Ql])==null||i.reject(new Error(`Worker exited with code ${r}`))),e[Ql]=null}),e}run(e){return this.limit(()=>{var i;let r=(i=this.workers.pop())!=null?i:this.createWorker();return r.ref(),new Promise((n,s)=>{r[Ql]={resolve:n,reject:s},r.postMessage(e)})})}};var n7=ge(t7());async function oLe(t,{baseFs:e=new ar,prefixPath:r=Me.root,compressionLevel:i,inMemory:n=!1}={}){let s=await fn(),o;if(n)o=new Ai(null,{libzip:s,level:i});else{let l=await K.mktempPromise(),c=k.join(l,"archive.zip");o=new Ai(c,{create:!0,libzip:s,level:i})}let a=k.resolve(Me.root,r);return await o.copyPromise(a,t,{baseFs:e,stableTime:!0,stableSort:!0}),o}var s7;async function aLe(t,e){let r=await K.mktempPromise(),i=k.join(r,"archive.zip");return s7||(s7=new bR((0,n7.getContent)())),await s7.run({tmpFile:i,tgz:t,opts:e}),new Ai(i,{libzip:await fn(),level:e.compressionLevel})}async function*ALe(t){let e=new i7.default.Parse,r=new r7.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",i=>{r.write(i)}),e.on("error",i=>{r.destroy(i)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let i of r){let n=i;yield n,n.resume()}}async function lLe(t,e,{stripComponents:r=0,prefixPath:i=Me.dot}={}){var s,o;function n(a){if(a.path[0]==="/")return!0;let l=a.path.split(/\//g);return!!(l.some(c=>c==="..")||l.length<=r)}for await(let a of ALe(t)){if(n(a))continue;let l=k.normalize(j.toPortablePath(a.path)).replace(/\/$/,"").split(/\//g);if(l.length<=r)continue;let c=l.slice(r).join("/"),u=k.join(i,c),g=420;switch((a.type==="Directory"||(((s=a.mode)!=null?s:0)&73)!=0)&&(g|=73),a.type){case"Directory":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.mkdirSync(u,{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.writeFileSync(u,await Dg(a),{mode:g}),e.utimesSync(u,Dr.SAFE_TIME,Dr.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(k.dirname(u),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),e.symlinkSync(a.linkpath,u),(o=e.lutimesSync)==null||o.call(e,u,Dr.SAFE_TIME,Dr.SAFE_TIME);break}}return e}var as={};ft(as,{emitList:()=>cLe,emitTree:()=>u7,treeNodeToJson:()=>c7,treeNodeToTreeify:()=>l7});var A7=ge(a7());function l7(t,{configuration:e}){let r={},i=(n,s)=>{let o=Array.isArray(n)?n.entries():Object.entries(n);for(let[a,{label:l,value:c,children:u}]of o){let g=[];typeof l!="undefined"&&g.push(Ly(e,l,Pc.BOLD)),typeof c!="undefined"&&g.push(et(e,c[0],c[1])),g.length===0&&g.push(Ly(e,`${a}`,Pc.BOLD));let f=g.join(": "),h=s[f]={};typeof u!="undefined"&&i(u,h)}};if(typeof t.children=="undefined")throw new Error("The root node must only contain children");return i(t.children,r),r}function c7(t){let e=r=>{var s;if(typeof r.children=="undefined"){if(typeof r.value=="undefined")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Dc(r.value[0],r.value[1])}let i=Array.isArray(r.children)?r.children.entries():Object.entries((s=r.children)!=null?s:{}),n=Array.isArray(r.children)?[]:{};for(let[o,a]of i)n[o]=e(a);return typeof r.value=="undefined"?n:{value:Dc(r.value[0],r.value[1]),children:n}};return e(t)}function cLe(t,{configuration:e,stdout:r,json:i}){let n=t.map(s=>({value:s}));u7({children:n},{configuration:e,stdout:r,json:i})}function u7(t,{configuration:e,stdout:r,json:i,separators:n=0}){var o;if(i){let a=Array.isArray(t.children)?t.children.values():Object.values((o=t.children)!=null?o:{});for(let l of a)r.write(`${JSON.stringify(c7(l))} +`);return}let s=(0,A7.asTree)(l7(t,{configuration:e}),!1,!1);if(n>=1&&(s=s.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),n>=2)for(let a=0;a<2;++a)s=s.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(n>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(s)}var g7=ge(require("crypto")),SR=ge(require("fs"));var uLe=8,Nt=class{constructor(e,{configuration:r,immutable:i=r.get("enableImmutableCache"),check:n=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,g7.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=i,this.check=n;let s=r.get("cacheKeyOverride");if(s!==null)this.cacheKey=`${s}`;else{let o=r.get("compressionLevel"),a=o!==ic?`c${o}`:"";this.cacheKey=[uLe,a].join("")}}static async find(e,{immutable:r,check:i}={}){let n=new Nt(e.get("cacheFolder"),{configuration:e,immutable:r,check:i});return await n.setup(),n}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${Hg(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let n=gLe(r).slice(0,10);return`${Hg(e)}-${n}.zip`}getLocatorPath(e,r,i={}){var s;return this.mirrorCwd===null||((s=i.unstablePackages)==null?void 0:s.has(e.locatorHash))?k.resolve(this.cwd,this.getVersionFilename(e)):r===null||kR(r)!==this.cacheKey?null:k.resolve(this.cwd,this.getChecksumFilename(e,r))}getLocatorMirrorPath(e){let r=this.mirrorCwd;return r!==null?k.resolve(r,this.getVersionFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache"))if(this.immutable){if(!await K.existsPromise(this.cwd))throw new ct($.IMMUTABLE_CACHE,"Cache path does not exist.")}else{await K.mkdirPromise(this.cwd,{recursive:!0});let e=k.resolve(this.cwd,".gitignore");await K.changeFilePromise(e,`/.gitignore +*.flock +*.tmp +`)}(this.mirrorCwd||!this.immutable)&&await K.mkdirPromise(this.mirrorCwd||this.cwd,{recursive:!0})}async fetchPackageFromCache(e,r,a){var l=a,{onHit:i,onMiss:n,loader:s}=l,o=Tr(l,["onHit","onMiss","loader"]);var A;let c=this.getLocatorMirrorPath(e),u=new ar,g=()=>{let ne=new Ai(null,{libzip:Y}),le=k.join(Me.root,lx(e));return ne.mkdirSync(le,{recursive:!0}),ne.writeJsonSync(k.join(le,Pt.manifest),{name:Ot(e),mocked:!0}),ne},f=async(ne,le=null)=>{var T;if(le===null&&((T=o.unstablePackages)==null?void 0:T.has(e.locatorHash)))return null;let Ae=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Aw(ne)}`:r;if(le!==null){let L=!o.skipIntegrityCheck||!r?`${this.cacheKey}/${await Aw(le)}`:r;if(Ae!==L)throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(r!==null&&Ae!==r){let L;switch(this.check?L="throw":kR(r)!==kR(Ae)?L="update":L=this.configuration.get("checksumBehavior"),L){case"ignore":return r;case"update":return Ae;default:case"throw":throw new ct($.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return Ae},h=async ne=>{if(!s)throw new Error(`Cache check required but no loader configured for ${Bt(this.configuration,e)}`);let le=await s(),Ae=le.getRealPath();return le.saveAndClose(),await K.chmodPromise(Ae,420),await f(ne,Ae)},p=async()=>{if(c===null||!await K.existsPromise(c)){let ne=await s(),le=ne.getRealPath();return ne.saveAndClose(),{source:"loader",path:le}}return{source:"mirror",path:c}},m=async()=>{if(!s)throw new Error(`Cache entry required but missing for ${Bt(this.configuration,e)}`);if(this.immutable)throw new ct($.IMMUTABLE_CACHE,`Cache entry required but missing for ${Bt(this.configuration,e)}`);let{path:ne,source:le}=await p(),Ae=await f(ne),T=this.getLocatorPath(e,Ae,o);if(!T)throw new Error("Assertion failed: Expected the cache path to be available");let L=[];le!=="mirror"&&c!==null&&L.push(async()=>{let we=`${c}${this.cacheId}`;await K.copyFilePromise(ne,we,SR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(we,420),await K.renamePromise(we,c)}),(!o.mirrorWriteOnly||c===null)&&L.push(async()=>{let we=`${T}${this.cacheId}`;await K.copyFilePromise(ne,we,SR.default.constants.COPYFILE_FICLONE),await K.chmodPromise(we,420),await K.renamePromise(we,T)});let Ee=o.mirrorWriteOnly&&c!=null?c:T;return await Promise.all(L.map(we=>we())),[!1,Ee,Ae]},y=async()=>{let le=(async()=>{var qe;let Ae=this.getLocatorPath(e,r,o),T=Ae!==null?await u.existsPromise(Ae):!1,L=!!((qe=o.mockedPackages)==null?void 0:qe.has(e.locatorHash))&&(!this.check||!T),Ee=L||T,we=Ee?i:n;if(we&&we(),Ee){let re=null,se=Ae;return L||(re=this.check?await h(se):await f(se)),[L,se,re]}else return m()})();this.mutexes.set(e.locatorHash,le);try{return await le}finally{this.mutexes.delete(e.locatorHash)}};for(let ne;ne=this.mutexes.get(e.locatorHash);)await ne;let[Q,S,x]=await y();this.markedFiles.add(S);let M,Y=await fn(),U=Q?()=>g():()=>new Ai(S,{baseFs:u,libzip:Y,readOnly:!0}),J=new zh(()=>HS(()=>M=U(),ne=>`Failed to open the cache entry for ${Bt(this.configuration,e)}: ${ne}`),k),W=new Pa(S,{baseFs:J,pathUtils:k}),ee=()=>{M==null||M.discardAndClose()},Z=((A=o.unstablePackages)==null?void 0:A.has(e.locatorHash))?null:x;return[W,ee,Z]}};function kR(t){let e=t.indexOf("/");return e!==-1?t.slice(0,e):null}function gLe(t){let e=t.indexOf("/");return e!==-1?t.slice(e+1):t}var As;(function(r){r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE"})(As||(As={}));var uA=class extends Ji{constructor({configuration:e,stdout:r,suggestInstall:i=!0}){super();this.errorCount=0;nd(this,{configuration:e}),this.configuration=e,this.stdout=r,this.suggestInstall=i}static async start(e,r){let i=new this(e);try{await r(i)}catch(n){i.reportExceptionOnce(n)}finally{await i.finalize()}return i}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){this.errorCount+=1,this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(e)}: ${r} +`)}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},r),{stop:i})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${et(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(e){return lD(e,{configuration:this.configuration,json:!1})}};var h0=ge(require("crypto")),i$=ge(_7()),p0=ge(t$()),n$=ge(ag()),s$=ge(ti()),rF=ge(require("util")),iF=ge(require("v8")),nF=ge(require("zlib"));var z1e=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,i)=>`${r}#commit=${i}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",i,n)=>`https://${r}github.com/${i}.git#commit=${n}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/(?:[^\\.]+)\.jfrog\.io\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>fw({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],$R=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let i=k.join(e.cwd,e.configuration.get("lockfileFilename"));if(!K.existsSync(i))return;let n=await K.readFilePromise(i,"utf8"),s=Qi(n);if(Object.prototype.hasOwnProperty.call(s,"__metadata"))return;let o=this.resolutions=new Map;for(let a of Object.keys(s)){let l=pd(a);if(!l){r.reportWarning($.YARN_IMPORT_FAILED,`Failed to parse the string "${a}" into a proper descriptor`);continue}fo(l.range)&&(l=rr(l,`npm:${l.range}`));let{version:c,resolved:u}=s[a];if(!u)continue;let g;for(let[h,p]of z1e){let m=u.match(h);if(m){g=p(c,...m);break}}if(!g){r.reportWarning($.YARN_IMPORT_FAILED,`${sr(e.configuration,l)}: Only some patterns can be imported from legacy lockfiles (not "${u}")`);continue}let f=l;try{let h=Kg(l.range),p=pd(h.selector,!0);p&&(f=p)}catch{}o.set(l.descriptorHash,cn(f,g))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let n=this.resolutions.get(e.descriptorHash);if(!n)throw new Error("Assertion failed: The resolution should have been registered");return await this.resolver.getCandidates(nx(n),r,i)}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}};var eF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(uw(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){let n=i.project.originalPackages.get(uw(e).locatorHash);if(n)return[n];let s=i.project.storedResolutions.get(e.descriptorHash);if(!s)throw new Error("Expected the resolution to have been successful - resolution not found");if(n=i.project.originalPackages.get(s),!n)throw new Error("Expected the resolution to have been successful - package not found");return[n]}async getSatisfying(e,r,i){return null}async resolve(e,r){let i=r.project.originalPackages.get(e.locatorHash);if(!i)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return i}};var tF=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,i){return this.resolver.bindDescriptor(e,r,i)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,i){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new ct($.MISSING_LOCKFILE_ENTRY,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}};var pi=class extends Ji{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,i){return(typeof r=="function"?r:i)()}async startTimerPromise(e,r,i){return await(typeof r=="function"?r:i)()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){let r=Promise.resolve().then(async()=>{for await(let{}of e);}),i=()=>{};return te(N({},r),{stop:i})}reportJson(e){}async finalize(){}};var r$=ge(rx());var BC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.dependencies=new Map;this.project=r,this.cwd=e}async setup(){var s;this.manifest=(s=await At.tryFind(this.cwd))!=null?s:new At,this.relativeCwd=k.relative(this.project.cwd,this.cwd)||Me.dot;let e=this.manifest.name?this.manifest.name:Vo(null,`${this.computeCandidateName()}-${ln(this.relativeCwd).substring(0,6)}`),r=this.manifest.version?this.manifest.version:"0.0.0";this.locator=cn(e,r),this.anchoredDescriptor=rr(this.locator,`${si.protocol}${this.relativeCwd}`),this.anchoredLocator=cn(this.locator,`${si.protocol}${this.relativeCwd}`);let i=this.manifest.workspaceDefinitions.map(({pattern:o})=>o),n=await(0,r$.default)(i,{cwd:j.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1,ignore:["**/node_modules","**/.git","**/.yarn"]});n.sort();for(let o of n){let a=k.resolve(this.cwd,j.toPortablePath(o));K.existsSync(k.join(a,"package.json"))&&this.workspacesCwds.add(a)}}accepts(e){var o;let r=e.indexOf(":"),i=r!==-1?e.slice(0,r+1):null,n=r!==-1?e.slice(r+1):e;if(i===si.protocol&&k.normalize(n)===this.relativeCwd||i===si.protocol&&(n==="*"||n==="^"||n==="~"))return!0;let s=fo(n);return s?i===si.protocol?s.test((o=this.manifest.version)!=null?o:"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?s.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${k.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of e)for(let o of n.manifest[s].values()){let a=this.project.tryWorkspaceByDescriptor(o);a===null||r.has(a)||(r.add(a),i(a))}};return i(this),r}getRecursiveWorkspaceDependents({dependencies:e=At.hardDependencies}={}){let r=new Set,i=n=>{for(let s of this.project.workspaces)e.some(a=>[...s.manifest[a].values()].some(l=>{let c=this.project.tryWorkspaceByDescriptor(l);return c!==null&&hd(c.anchoredLocator,n.anchoredLocator)}))&&!r.has(s)&&(r.add(s),i(s))};return i(this),r}getRecursiveWorkspaceChildren(){let e=[];for(let r of this.workspacesCwds){let i=this.project.workspacesByCwd.get(r);i&&e.push(i,...i.getRecursiveWorkspaceChildren())}return e}async persistManifest(){let e={};this.manifest.exportTo(e);let r=k.join(this.cwd,At.fileName),i=`${JSON.stringify(e,null,this.manifest.indent)} +`;await K.changeFilePromise(r,i,{automaticNewlines:!0}),this.manifest.raw=e}};var o$=6,_1e=1,V1e=/ *, */g,a$=/\/$/,X1e=32,Z1e=(0,rF.promisify)(nF.default.gzip),$1e=(0,rF.promisify)(nF.default.gunzip),di;(function(r){r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build"})(di||(di={}));var sF={restoreInstallersCustomData:["installersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["storedBuildState"]},A$=t=>ln(`${_1e}`,t),ze=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.installersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){var p,m,y;if(!e.projectCwd)throw new Pe(`No project found in ${r}`);let i=e.projectCwd,n=r,s=null;for(;s!==e.projectCwd;){if(s=n,K.existsSync(k.join(s,Pt.manifest))){i=s;break}n=k.dirname(s)}let o=new ze(e.projectCwd,{configuration:e});(p=ye.telemetry)==null||p.reportProject(o.cwd),await o.setupResolutions(),await o.setupWorkspaces(),(m=ye.telemetry)==null||m.reportWorkspaceCount(o.workspaces.length),(y=ye.telemetry)==null||y.reportDependencyCount(o.workspaces.reduce((Q,S)=>Q+S.manifest.dependencies.size+S.manifest.devDependencies.size,0));let a=o.tryWorkspaceByCwd(i);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};let l=await o.findLocatorForLocation(`${i}/`,{strict:!0});if(l)return{project:o,locator:l,workspace:null};let c=et(e,o.cwd,Ge.PATH),u=et(e,k.relative(o.cwd,i),Ge.PATH),g=`- If ${c} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,f=`- If ${c} is intended to be a project, it might be that you forgot to list ${u} in its workspace configuration.`,h=`- Finally, if ${c} is fine and you intend ${u} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new Pe(`The nearest package directory (${et(e,i,Ge.PATH)}) doesn't seem to be part of the project declared in ${et(e,o.cwd,Ge.PATH)}. + +${[g,f,h].join(` +`)}`)}async setupResolutions(){var i;this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),r=this.configuration.get("defaultLanguageName");if(K.existsSync(e)){let n=await K.readFilePromise(e,"utf8");this.lockFileChecksum=A$(n);let s=Qi(n);if(s.__metadata){let o=s.__metadata.version,a=s.__metadata.cacheKey;this.lockfileNeedsRefresh=o0;){let r=e;e=[];for(let i of r){if(this.workspacesByCwd.has(i))continue;let n=await this.addWorkspace(i),s=this.storedPackages.get(n.anchoredLocator.locatorHash);s&&(n.dependencies=s.dependencies);for(let o of n.workspacesCwds)e.push(o)}}}async addWorkspace(e){let r=new BC(e,{project:this});await r.setup();let i=this.workspacesByIdent.get(r.locator.identHash);if(typeof i!="undefined")throw new Error(`Duplicate workspace name ${gi(this.configuration,r.locator)}: ${j.fromPortablePath(e)} conflicts with ${j.fromPortablePath(i.cwd)}`);return this.workspaces.push(r),this.workspacesByCwd.set(e,r),this.workspacesByIdent.set(r.locator.identHash,r),r}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){k.isAbsolute(e)||(e=k.resolve(this.cwd,e)),e=k.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let i of this.workspaces)k.relative(i.cwd,e).startsWith("../")||r&&r.cwd.length>=i.cwd.length||(r=i);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r=="undefined"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${gi(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){let r=this.tryWorkspaceByIdent(e);return r===null||(il(e)&&(e=ud(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${sr(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(Xo(e)&&(e=gd(e)),r.locator.locatorHash!==e.locatorHash&&r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${Bt(this.configuration,e)})`);return r}refreshWorkspaceDependencies(){for(let e of this.workspaces){let r=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!r)throw new Error(`Assertion failed: Expected workspace ${Cd(this.configuration,e)} (${et(this.configuration,k.join(e.cwd,Pt.manifest),Ge.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);e.dependencies=new Map(r.dependencies)}}forgetResolution(e){let r=n=>{this.storedResolutions.delete(n),this.storedDescriptors.delete(n)},i=n=>{this.originalPackages.delete(n),this.storedPackages.delete(n),this.accessibleLocators.delete(n)};if("descriptorHash"in e){let n=this.storedResolutions.get(e.descriptorHash);r(e.descriptorHash);let s=new Set(this.storedResolutions.values());typeof n!="undefined"&&!s.has(n)&&i(n)}if("locatorHash"in e){i(e.locatorHash);for(let[n,s]of this.storedResolutions)s===e.locatorHash&&r(n)}}forgetTransientResolutions(){let e=this.configuration.makeResolver();for(let r of this.originalPackages.values()){let i;try{i=e.shouldPersistResolution(r,{project:this,resolver:e})}catch{i=!1}i||this.forgetResolution(r)}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,i]of e.dependencies)il(i)&&e.dependencies.set(r,ud(i))}getDependencyMeta(e,r){let i={},s=this.topLevelWorkspace.manifest.dependenciesMeta.get(Ot(e));if(!s)return i;let o=s.get(null);if(o&&Object.assign(i,o),r===null||!s$.default.valid(r))return i;for(let[a,l]of s)a!==null&&a===r&&Object.assign(i,l);return i}async findLocatorForLocation(e,{strict:r=!1}={}){let i=new pi,n=this.configuration.getLinkers(),s={project:this,report:i};for(let o of n){let a=await o.findPackageLocator(e,s);if(a){if(r&&(await o.findPackageLocation(a,s)).replace(a$,"")!==e.replace(a$,""))continue;return a}}return null}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();let r=e.resolver||this.configuration.makeResolver(),i=new $R(r);await i.setup(this,{report:e.report});let n=e.lockfileOnly?[new tF(r)]:[i,r],s=new wd([new eF(r),...n]),o=this.configuration.makeFetcher(),a=e.lockfileOnly?{project:this,report:e.report,resolver:s}:{project:this,report:e.report,resolver:s,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:o,cacheOptions:{mirrorWriteOnly:!0}}},l=new Map,c=new Map,u=new Map,g=new Map,f=new Map,h=new Map,p=this.topLevelWorkspace.anchoredLocator,m=new Set,y=[],Q=Ex(),S=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Ji.progressViaTitle(),async ee=>{let Z=async T=>{let L=await Pg(async()=>await s.resolve(T,a),qe=>`${Bt(this.configuration,T)}: ${qe}`);if(!hd(T,L))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${Bt(this.configuration,T)} to ${Bt(this.configuration,L)})`);g.set(L.locatorHash,L);let Ee=this.configuration.normalizePackage(L);for(let[qe,re]of Ee.dependencies){let se=await this.configuration.reduceHook(he=>he.reduceDependency,re,this,Ee,re,{resolver:s,resolveOptions:a});if(!fd(re,se))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let Qe=s.bindDescriptor(se,T,a);Ee.dependencies.set(qe,Qe)}let we=co([...Ee.dependencies.values()].map(qe=>Ae(qe)));return y.push(we),we.catch(()=>{}),c.set(Ee.locatorHash,Ee),Ee},A=async T=>{let L=f.get(T.locatorHash);if(typeof L!="undefined")return L;let Ee=Promise.resolve().then(()=>Z(T));return f.set(T.locatorHash,Ee),Ee},ne=async(T,L)=>{let Ee=await Ae(L);return l.set(T.descriptorHash,T),u.set(T.descriptorHash,Ee.locatorHash),Ee},le=async T=>{ee.setTitle(sr(this.configuration,T));let L=this.resolutionAliases.get(T.descriptorHash);if(typeof L!="undefined")return ne(T,this.storedDescriptors.get(L));let Ee=s.getResolutionDependencies(T,a),we=new Map(await co(Ee.map(async se=>{let Qe=s.bindDescriptor(se,p,a),he=await Ae(Qe);return m.add(he.locatorHash),[se.descriptorHash,he]}))),re=(await Pg(async()=>await s.getCandidates(T,we,a),se=>`${sr(this.configuration,T)}: ${se}`))[0];if(typeof re=="undefined")throw new Error(`${sr(this.configuration,T)}: No candidates found`);return l.set(T.descriptorHash,T),u.set(T.descriptorHash,re.locatorHash),A(re)},Ae=T=>{let L=h.get(T.descriptorHash);if(typeof L!="undefined")return L;l.set(T.descriptorHash,T);let Ee=Promise.resolve().then(()=>le(T));return h.set(T.descriptorHash,Ee),Ee};for(let T of this.workspaces){let L=T.anchoredDescriptor;y.push(Ae(L))}for(;y.length>0;){let T=[...y];y.length=0,await co(T)}});let x=new Set(this.resolutionAliases.values()),M=new Set(c.keys()),Y=new Set,U=new Map;eUe({project:this,report:e.report,accessibleLocators:Y,volatileDescriptors:x,optionalBuilds:M,peerRequirements:U,allDescriptors:l,allResolutions:u,allPackages:c});for(let ee of m)M.delete(ee);for(let ee of x)l.delete(ee),u.delete(ee);let J=new Set,W=new Set;for(let ee of c.values())ee.conditions!=null&&(!M.has(ee.locatorHash)||(pw(ee,S)||(pw(ee,Q)&&e.report.reportWarningOnce($.GHOST_ARCHITECTURE,`${Bt(this.configuration,ee)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${et(this.configuration,"supportedArchitectures",Di.SETTING)} setting`),W.add(ee.locatorHash)),J.add(ee.locatorHash)));this.storedResolutions=u,this.storedDescriptors=l,this.storedPackages=c,this.accessibleLocators=Y,this.conditionalLocators=J,this.disabledLocators=W,this.originalPackages=g,this.optionalBuilds=M,this.peerRequirements=U,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:r,fetcher:i,mode:n}){let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,cacheOptions:s},l=Array.from(new Set(xn(this.storedResolutions.values(),[f=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");return Ps(h)}])));n===di.UpdateLockfile&&(l=l.filter(f=>!this.storedChecksums.has(f)));let c=!1,u=Ji.progressViaCounter(l.length);r.reportProgress(u);let g=(0,n$.default)(X1e);if(await r.startCacheReport(async()=>{await co(l.map(f=>g(async()=>{let h=this.storedPackages.get(f);if(!h)throw new Error("Assertion failed: The locator should have been registered");if(Xo(h))return;let p;try{p=await o.fetch(h,a)}catch(m){m.message=`${Bt(this.configuration,h)}: ${m.message}`,r.reportExceptionOnce(m),c=m;return}p.checksum!=null?this.storedChecksums.set(h.locatorHash,p.checksum):this.storedChecksums.delete(h.locatorHash),p.releaseFs&&p.releaseFs()}).finally(()=>{u.tick()})))}),c)throw c}async linkEverything({cache:e,report:r,fetcher:i,mode:n}){var A,ne,le;let s={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},o=i||this.configuration.makeFetcher(),a={checksums:this.storedChecksums,project:this,cache:e,fetcher:o,report:r,skipIntegrityCheck:!0,cacheOptions:s},l=this.configuration.getLinkers(),c={project:this,report:r},u=new Map(l.map(Ae=>{let T=Ae.makeInstaller(c),L=T.getCustomDataKey(),Ee=this.installersCustomData.get(L);return typeof Ee!="undefined"&&T.attachCustomData(Ee),[Ae,T]})),g=new Map,f=new Map,h=new Map,p=new Map(await co([...this.accessibleLocators].map(async Ae=>{let T=this.storedPackages.get(Ae);if(!T)throw new Error("Assertion failed: The locator should have been registered");return[Ae,await o.fetch(T,a)]}))),m=[];for(let Ae of this.accessibleLocators){let T=this.storedPackages.get(Ae);if(typeof T=="undefined")throw new Error("Assertion failed: The locator should have been registered");let L=p.get(T.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The fetch result should have been registered");let Ee=[],we=re=>{Ee.push(re)},qe=this.tryWorkspaceByLocator(T);if(qe!==null){let re=[],{scripts:se}=qe.manifest;for(let he of["preinstall","install","postinstall"])se.has(he)&&re.push([As.SCRIPT,he]);try{for(let[he,Fe]of u)if(he.supportsPackage(T,c)&&(await Fe.installPackage(T,L,{holdFetchResult:we})).buildDirective!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Ee.length===0?(A=L.releaseFs)==null||A.call(L):m.push(co(Ee).catch(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}let Qe=k.join(L.packageFs.getRealPath(),L.prefixPath);f.set(T.locatorHash,Qe),!Xo(T)&&re.length>0&&h.set(T.locatorHash,{directives:re,buildLocations:[Qe]})}else{let re=l.find(he=>he.supportsPackage(T,c));if(!re)throw new ct($.LINKER_NOT_FOUND,`${Bt(this.configuration,T)} isn't supported by any available linker`);let se=u.get(re);if(!se)throw new Error("Assertion failed: The installer should have been registered");let Qe;try{Qe=await se.installPackage(T,L,{holdFetchResult:we})}finally{Ee.length===0?(ne=L.releaseFs)==null||ne.call(L):m.push(co(Ee).then(()=>{}).then(()=>{var he;(he=L.releaseFs)==null||he.call(L)}))}g.set(T.locatorHash,re),f.set(T.locatorHash,Qe.packageLocation),Qe.buildDirective&&Qe.buildDirective.length>0&&Qe.packageLocation&&h.set(T.locatorHash,{directives:Qe.buildDirective,buildLocations:[Qe.packageLocation]})}}let y=new Map;for(let Ae of this.accessibleLocators){let T=this.storedPackages.get(Ae);if(!T)throw new Error("Assertion failed: The locator should have been registered");let L=this.tryWorkspaceByLocator(T)!==null,Ee=async(we,qe)=>{let re=f.get(T.locatorHash);if(typeof re=="undefined")throw new Error(`Assertion failed: The package (${Bt(this.configuration,T)}) should have been registered`);let se=[];for(let Qe of T.dependencies.values()){let he=this.storedResolutions.get(Qe.descriptorHash);if(typeof he=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,Qe)}, from ${Bt(this.configuration,T)})should have been registered`);let Fe=this.storedPackages.get(he);if(typeof Fe=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,Qe)}) should have been registered`);let Ue=this.tryWorkspaceByLocator(Fe)===null?g.get(he):null;if(typeof Ue=="undefined")throw new Error(`Assertion failed: The package (${he}, resolved from ${sr(this.configuration,Qe)}) should have been registered`);Ue===we||Ue===null?f.get(Fe.locatorHash)!==null&&se.push([Qe,Fe]):!L&&re!==null&&kg(y,he).push(re)}re!==null&&await qe.attachInternalDependencies(T,se)};if(L)for(let[we,qe]of u)we.supportsPackage(T,c)&&await Ee(we,qe);else{let we=g.get(T.locatorHash);if(!we)throw new Error("Assertion failed: The linker should have been found");let qe=u.get(we);if(!qe)throw new Error("Assertion failed: The installer should have been registered");await Ee(we,qe)}}for(let[Ae,T]of y){let L=this.storedPackages.get(Ae);if(!L)throw new Error("Assertion failed: The package should have been registered");let Ee=g.get(L.locatorHash);if(!Ee)throw new Error("Assertion failed: The linker should have been found");let we=u.get(Ee);if(!we)throw new Error("Assertion failed: The installer should have been registered");await we.attachExternalDependents(L,T)}let Q=new Map;for(let Ae of u.values()){let T=await Ae.finalizeInstall();for(let L of(le=T==null?void 0:T.records)!=null?le:[])h.set(L.locatorHash,{directives:L.buildDirective,buildLocations:L.buildLocations});typeof(T==null?void 0:T.customData)!="undefined"&&Q.set(Ae.getCustomDataKey(),T.customData)}if(this.installersCustomData=Q,await co(m),n===di.SkipBuild)return;let S=new Set(this.storedPackages.keys()),x=new Set(h.keys());for(let Ae of x)S.delete(Ae);let M=(0,h0.createHash)("sha512");M.update(process.versions.node),await this.configuration.triggerHook(Ae=>Ae.globalHashGeneration,this,Ae=>{M.update("\0"),M.update(Ae)});let Y=M.digest("hex"),U=new Map,J=Ae=>{let T=U.get(Ae.locatorHash);if(typeof T!="undefined")return T;let L=this.storedPackages.get(Ae.locatorHash);if(typeof L=="undefined")throw new Error("Assertion failed: The package should have been registered");let Ee=(0,h0.createHash)("sha512");Ee.update(Ae.locatorHash),U.set(Ae.locatorHash,"");for(let we of L.dependencies.values()){let qe=this.storedResolutions.get(we.descriptorHash);if(typeof qe=="undefined")throw new Error(`Assertion failed: The resolution (${sr(this.configuration,we)}) should have been registered`);let re=this.storedPackages.get(qe);if(typeof re=="undefined")throw new Error("Assertion failed: The package should have been registered");Ee.update(J(re))}return T=Ee.digest("hex"),U.set(Ae.locatorHash,T),T},W=(Ae,T)=>{let L=(0,h0.createHash)("sha512");L.update(Y),L.update(J(Ae));for(let Ee of T)L.update(Ee);return L.digest("hex")},ee=new Map,Z=!1;for(;x.size>0;){let Ae=x.size,T=[];for(let L of x){let Ee=this.storedPackages.get(L);if(!Ee)throw new Error("Assertion failed: The package should have been registered");let we=!0;for(let se of Ee.dependencies.values()){let Qe=this.storedResolutions.get(se.descriptorHash);if(!Qe)throw new Error(`Assertion failed: The resolution (${sr(this.configuration,se)}) should have been registered`);if(x.has(Qe)){we=!1;break}}if(!we)continue;x.delete(L);let qe=h.get(Ee.locatorHash);if(!qe)throw new Error("Assertion failed: The build directive should have been registered");let re=W(Ee,qe.buildLocations);if(this.storedBuildState.get(Ee.locatorHash)===re){ee.set(Ee.locatorHash,re);continue}Z||(await this.persistInstallStateFile(),Z=!0),this.storedBuildState.has(Ee.locatorHash)?r.reportInfo($.MUST_REBUILD,`${Bt(this.configuration,Ee)} must be rebuilt because its dependency tree changed`):r.reportInfo($.MUST_BUILD,`${Bt(this.configuration,Ee)} must be built because it never has been before or the last one failed`);for(let se of qe.buildLocations){if(!k.isAbsolute(se))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${se})`);T.push((async()=>{for(let[Qe,he]of qe.directives){let Fe=`# This file contains the result of Yarn building a package (${Ps(Ee)}) +`;switch(Qe){case As.SCRIPT:Fe+=`# Script name: ${he} +`;break;case As.SHELLCODE:Fe+=`# Script code: ${he} +`;break}let Ue=null;if(!await K.mktempPromise(async ve=>{let pe=k.join(ve,"build.log"),{stdout:X,stderr:be}=this.configuration.getSubprocessStreams(pe,{header:Fe,prefix:Bt(this.configuration,Ee),report:r}),ce;try{switch(Qe){case As.SCRIPT:ce=await aB(Ee,he,[],{cwd:se,project:this,stdin:Ue,stdout:X,stderr:be});break;case As.SHELLCODE:ce=await uD(Ee,he,[],{cwd:se,project:this,stdin:Ue,stdout:X,stderr:be});break}}catch(gt){be.write(gt.stack),ce=1}if(X.end(),be.end(),ce===0)return ee.set(Ee.locatorHash,re),!0;K.detachTemp(ve);let fe=`${Bt(this.configuration,Ee)} couldn't be built successfully (exit code ${et(this.configuration,ce,Ge.NUMBER)}, logs can be found here: ${et(this.configuration,pe,Ge.PATH)})`;return this.optionalBuilds.has(Ee.locatorHash)?(r.reportInfo($.BUILD_FAILED,fe),ee.set(Ee.locatorHash,re),!0):(r.reportError($.BUILD_FAILED,fe),!1)}))return}})())}}if(await co(T),Ae===x.size){let L=Array.from(x).map(Ee=>{let we=this.storedPackages.get(Ee);if(!we)throw new Error("Assertion failed: The package should have been registered");return Bt(this.configuration,we)}).join(", ");r.reportError($.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${L})`);break}}this.storedBuildState=ee}async install(e){var a,l;let r=this.configuration.get("nodeLinker");(a=ye.telemetry)==null||a.reportInstall(r),await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{await this.configuration.triggerHook(c=>c.validateProject,this,{reportWarning:e.report.reportWarning.bind(e.report),reportError:e.report.reportError.bind(e.report)})});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.status=qi.Inactive;let i=k.join(this.cwd,this.configuration.get("lockfileFilename")),n=null;if(e.immutable)try{n=await K.readFilePromise(i,"utf8")}catch(c){throw c.code==="ENOENT"?new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):c}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{for(let[,c]of this.configuration.packageExtensions)for(let[,u]of c)for(let g of u)if(g.userProvided){let f=et(this.configuration,g,Ge.PACKAGE_EXTENSION);switch(g.status){case qi.Inactive:e.report.reportWarning($.UNUSED_PACKAGE_EXTENSION,`${f}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case qi.Redundant:e.report.reportWarning($.REDUNDANT_PACKAGE_EXTENSION,`${f}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(n!==null){let c=$l(n,this.generateLockfile());if(c!==n){let u=(0,i$.structuredPatch)(i,i,n,c);e.report.reportSeparator();for(let g of u.hunks){e.report.reportInfo(null,`@@ -${g.oldStart},${g.oldLines} +${g.newStart},${g.newLines} @@`);for(let f of g.lines)f.startsWith("+")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ge.ADDED)):f.startsWith("-")?e.report.reportError($.FROZEN_LOCKFILE_EXCEPTION,et(this.configuration,f,Ge.REMOVED)):e.report.reportInfo(null,et(this.configuration,f,"grey"))}throw e.report.reportSeparator(),new ct($.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let c of this.configuration.packageExtensions.values())for(let[,u]of c)for(let g of u)g.userProvided&&g.status===qi.Active&&((l=ye.telemetry)==null||l.reportPackageExtension(Dc(g,Ge.PACKAGE_EXTENSION)));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(typeof e.persistProject=="undefined"||e.persistProject)&&e.mode!==di.UpdateLockfile&&await this.cacheCleanup(e)});let s=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],o=await Promise.all(s.map(async c=>lw(c,{cwd:this.cwd})));(typeof e.persistProject=="undefined"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode===di.UpdateLockfile){e.report.reportWarning($.UPDATE_LOCKFILE_ONLY_SKIP_LINK,`Skipped due to ${et(this.configuration,"mode=update-lockfile",Ge.CODE)}`);return}await this.linkEverything(e);let c=await Promise.all(s.map(async u=>lw(u,{cwd:this.cwd})));for(let u=0;uc.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,s]of this.storedResolutions.entries()){let o=e.get(s);o||e.set(s,o=new Set),o.add(n)}let r={};r.__metadata={version:o$,cacheKey:void 0};for(let[n,s]of e.entries()){let o=this.originalPackages.get(n);if(!o)continue;let a=[];for(let f of s){let h=this.storedDescriptors.get(f);if(!h)throw new Error("Assertion failed: The descriptor should have been registered");a.push(h)}let l=a.map(f=>Pn(f)).sort().join(", "),c=new At;c.version=o.linkType===Qt.HARD?o.version:"0.0.0-use.local",c.languageName=o.languageName,c.dependencies=new Map(o.dependencies),c.peerDependencies=new Map(o.peerDependencies),c.dependenciesMeta=new Map(o.dependenciesMeta),c.peerDependenciesMeta=new Map(o.peerDependenciesMeta),c.bin=new Map(o.bin);let u,g=this.storedChecksums.get(o.locatorHash);if(typeof g!="undefined"){let f=g.indexOf("/");if(f===-1)throw new Error("Assertion failed: Expected the checksum to reference its cache key");let h=g.slice(0,f),p=g.slice(f+1);typeof r.__metadata.cacheKey=="undefined"&&(r.__metadata.cacheKey=h),h===r.__metadata.cacheKey?u=p:u=g}r[l]=te(N({},c.exportTo({},{compatibilityMode:!1})),{linkType:o.linkType.toLowerCase(),resolution:Ps(o),checksum:u,conditions:o.conditions||void 0})}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Na(r)}async persistLockfile(){let e=k.join(this.cwd,this.configuration.get("lockfileFilename")),r="";try{r=await K.readFilePromise(e,"utf8")}catch(s){}let i=this.generateLockfile(),n=$l(r,i);n!==r&&(await K.writeFilePromise(e,n),this.lockFileChecksum=A$(n),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let o of Object.values(sF))e.push(...o);let r=(0,p0.default)(this,e),i=iF.default.serialize(r),n=ln(i);if(this.installStateChecksum===n)return;let s=this.configuration.get("installStatePath");await K.mkdirPromise(k.dirname(s),{recursive:!0}),await K.writeFilePromise(s,await Z1e(i)),this.installStateChecksum=n}async restoreInstallState({restoreInstallersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:i=!0}={}){let n=this.configuration.get("installStatePath"),s;try{let o=await $1e(await K.readFilePromise(n));s=iF.default.deserialize(o),this.installStateChecksum=ln(o)}catch{r&&await this.applyLightResolution();return}e&&typeof s.installersCustomData!="undefined"&&(this.installersCustomData=s.installersCustomData),i&&Object.assign(this,(0,p0.default)(s,sF.restoreBuildState)),r&&(s.lockFileChecksum===this.lockFileChecksum?(Object.assign(this,(0,p0.default)(s,sF.restoreResolutions)),this.refreshWorkspaceDependencies()):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new pi}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile();for(let e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:r}){let i=new Set([".gitignore"]);if(!Cx(e.cwd,this.cwd)||!await K.existsPromise(e.cwd))return;let n=this.configuration.get("preferAggregateCacheInfo"),s=0,o=null;for(let a of await K.readdirPromise(e.cwd)){if(i.has(a))continue;let l=k.resolve(e.cwd,a);e.markedFiles.has(l)||(o=a,e.immutable?r.reportError($.IMMUTABLE_CACHE,`${et(this.configuration,k.basename(l),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):(n?s+=1:r.reportInfo($.UNUSED_CACHE_ENTRY,`${et(this.configuration,k.basename(l),"magenta")} appears to be unused - removing`),await K.removePromise(l)))}n&&s!==0&&r.reportInfo($.UNUSED_CACHE_ENTRY,s>1?`${s} packages appeared to be unused and were removed`:`${o} appeared to be unused and was removed`),e.markedFiles.clear()}};function eUe({project:t,allDescriptors:e,allResolutions:r,allPackages:i,accessibleLocators:n=new Set,optionalBuilds:s=new Set,peerRequirements:o=new Map,volatileDescriptors:a=new Set,report:l,tolerateMissingPackages:c=!1}){var ee;let u=new Map,g=[],f=new Map,h=new Map,p=new Map,m=new Map,y=new Map,Q=new Map(t.workspaces.map(Z=>{let A=Z.anchoredLocator.locatorHash,ne=i.get(A);if(typeof ne=="undefined"){if(c)return[A,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[A,cd(ne)]})),S=()=>{let Z=K.mktempSync(),A=k.join(Z,"stacktrace.log"),ne=String(g.length+1).length,le=g.map((Ae,T)=>`${`${T+1}.`.padStart(ne," ")} ${Ps(Ae)} +`).join("");throw K.writeFileSync(A,le),K.detachTemp(Z),new ct($.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${j.fromPortablePath(A)}`)},x=Z=>{let A=r.get(Z.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: The resolution should have been registered");let ne=i.get(A);if(!ne)throw new Error("Assertion failed: The package could not be found");return ne},M=(Z,A,ne,{top:le,optional:Ae})=>{g.length>1e3&&S(),g.push(A);let T=Y(Z,A,ne,{top:le,optional:Ae});return g.pop(),T},Y=(Z,A,ne,{top:le,optional:Ae})=>{if(n.has(A.locatorHash))return;n.add(A.locatorHash),Ae||s.delete(A.locatorHash);let T=i.get(A.locatorHash);if(!T){if(c)return;throw new Error(`Assertion failed: The package (${Bt(t.configuration,A)}) should have been registered`)}let L=[],Ee=[],we=[],qe=[],re=[];for(let Qe of Array.from(T.dependencies.values())){if(T.peerDependencies.has(Qe.identHash)&&T.locatorHash!==le)continue;if(il(Qe))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");a.delete(Qe.descriptorHash);let he=Ae;if(!he){let be=T.dependenciesMeta.get(Ot(Qe));if(typeof be!="undefined"){let ce=be.get(null);typeof ce!="undefined"&&ce.optional&&(he=!0)}}let Fe=r.get(Qe.descriptorHash);if(!Fe){if(c)continue;throw new Error(`Assertion failed: The resolution (${sr(t.configuration,Qe)}) should have been registered`)}let Ue=Q.get(Fe)||i.get(Fe);if(!Ue)throw new Error(`Assertion failed: The package (${Fe}, resolved from ${sr(t.configuration,Qe)}) should have been registered`);if(Ue.peerDependencies.size===0){M(Qe,Ue,new Map,{top:le,optional:he});continue}let xe,ve,pe=new Set,X;Ee.push(()=>{xe=sx(Qe,A.locatorHash),ve=ox(Ue,A.locatorHash),T.dependencies.delete(Qe.identHash),T.dependencies.set(xe.identHash,xe),r.set(xe.descriptorHash,ve.locatorHash),e.set(xe.descriptorHash,xe),i.set(ve.locatorHash,ve),L.push([Ue,xe,ve])}),we.push(()=>{var be;X=new Map;for(let ce of ve.peerDependencies.values()){let fe=T.dependencies.get(ce.identHash);if(!fe&&fd(A,ce)&&(Z.identHash===A.identHash?fe=Z:(fe=rr(A,Z.range),e.set(fe.descriptorHash,fe),r.set(fe.descriptorHash,A.locatorHash),a.delete(fe.descriptorHash))),(!fe||fe.range==="missing:")&&ve.dependencies.has(ce.identHash)){ve.peerDependencies.delete(ce.identHash);continue}fe||(fe=rr(ce,"missing:")),ve.dependencies.set(fe.identHash,fe),il(fe)&&kc(p,fe.descriptorHash).add(ve.locatorHash),f.set(fe.identHash,fe),fe.range==="missing:"&&pe.add(fe.identHash),X.set(ce.identHash,(be=ne.get(ce.identHash))!=null?be:ve.locatorHash)}ve.dependencies=new Map(xn(ve.dependencies,([ce,fe])=>Ot(fe)))}),qe.push(()=>{if(!i.has(ve.locatorHash))return;let be=u.get(Ue.locatorHash);typeof be=="number"&&be>=2&&S();let ce=u.get(Ue.locatorHash),fe=typeof ce!="undefined"?ce+1:1;u.set(Ue.locatorHash,fe),M(xe,ve,X,{top:le,optional:he}),u.set(Ue.locatorHash,fe-1)}),re.push(()=>{let be=T.dependencies.get(Qe.identHash);if(typeof be=="undefined")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let ce=r.get(be.descriptorHash);if(typeof ce=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");if(kc(y,ce).add(A.locatorHash),!!i.has(ve.locatorHash)){for(let fe of ve.peerDependencies.values()){let gt=X.get(fe.identHash);if(typeof gt=="undefined")throw new Error("Assertion failed: Expected the peer dependency ident to be registered");kg(xg(m,gt),Ot(fe)).push(ve.locatorHash)}for(let fe of pe)ve.dependencies.delete(fe)}})}for(let Qe of[...Ee,...we])Qe();let se;do{se=!0;for(let[Qe,he,Fe]of L){let Ue=xg(h,Qe.locatorHash),xe=ln(...[...Fe.dependencies.values()].map(be=>{let ce=be.range!=="missing:"?r.get(be.descriptorHash):"missing:";if(typeof ce=="undefined")throw new Error(`Assertion failed: Expected the resolution for ${sr(t.configuration,be)} to have been registered`);return ce===le?`${ce} (top)`:ce}),he.identHash),ve=Ue.get(xe);if(typeof ve=="undefined"){Ue.set(xe,he);continue}if(ve===he)continue;i.delete(Fe.locatorHash),e.delete(he.descriptorHash),r.delete(he.descriptorHash),n.delete(Fe.locatorHash);let pe=p.get(he.descriptorHash)||[],X=[T.locatorHash,...pe];p.delete(he.descriptorHash);for(let be of X){let ce=i.get(be);typeof ce!="undefined"&&(ce.dependencies.get(he.identHash).descriptorHash!==ve.descriptorHash&&(se=!1),ce.dependencies.set(he.identHash,ve))}}}while(!se);for(let Qe of[...qe,...re])Qe()};for(let Z of t.workspaces){let A=Z.anchoredLocator;a.delete(Z.anchoredDescriptor.descriptorHash),M(Z.anchoredDescriptor,A,new Map,{top:A.locatorHash,optional:!1})}var U;(function(ne){ne[ne.NotProvided=0]="NotProvided",ne[ne.NotCompatible=1]="NotCompatible"})(U||(U={}));let J=[];for(let[Z,A]of y){let ne=i.get(Z);if(typeof ne=="undefined")throw new Error("Assertion failed: Expected the root to be registered");let le=m.get(Z);if(typeof le!="undefined")for(let Ae of A){let T=i.get(Ae);if(typeof T!="undefined")for(let[L,Ee]of le){let we=An(L);if(T.peerDependencies.has(we.identHash))continue;let qe=`p${ln(Ae,L,Z).slice(0,5)}`;o.set(qe,{subject:Ae,requested:we,rootRequester:Z,allRequesters:Ee});let re=ne.dependencies.get(we.identHash);if(typeof re!="undefined"){let se=x(re),Qe=(ee=se.version)!=null?ee:"0.0.0",he=new Set;for(let Ue of Ee){let xe=i.get(Ue);if(typeof xe=="undefined")throw new Error("Assertion failed: Expected the link to be registered");let ve=xe.peerDependencies.get(we.identHash);if(typeof ve=="undefined")throw new Error("Assertion failed: Expected the ident to be registered");he.add(ve.range)}[...he].every(Ue=>{if(Ue.startsWith(si.protocol)){if(!t.tryWorkspaceByLocator(se))return!1;Ue=Ue.slice(si.protocol.length),(Ue==="^"||Ue==="~")&&(Ue="*")}return Uc(Qe,Ue)})||J.push({type:1,subject:T,requested:we,requester:ne,version:Qe,hash:qe,requirementCount:Ee.length})}else{let se=ne.peerDependenciesMeta.get(L);(se==null?void 0:se.optional)||J.push({type:0,subject:T,requested:we,requester:ne,hash:qe})}}}}let W=[Z=>Ax(Z.subject),Z=>Ot(Z.requested),Z=>`${Z.type}`];l==null||l.startSectionSync({reportFooter:()=>{l.reportWarning($.UNNAMED,`Some peer dependencies are incorrectly met; run ${et(t.configuration,"yarn explain peer-requirements ",Ge.CODE)} for details, where ${et(t.configuration,"",Ge.CODE)} is the six-letter p-prefixed code`)},skipIfEmpty:!0},()=>{for(let Z of xn(J,W))switch(Z.type){case 0:l.reportWarning($.MISSING_PEER_DEPENDENCY,`${Bt(t.configuration,Z.subject)} doesn't provide ${gi(t.configuration,Z.requested)} (${et(t.configuration,Z.hash,Ge.CODE)}), requested by ${gi(t.configuration,Z.requester)}`);break;case 1:{let A=Z.requirementCount>1?"and some of its descendants request":"requests";l.reportWarning($.INCOMPATIBLE_PEER_DEPENDENCY,`${Bt(t.configuration,Z.subject)} provides ${gi(t.configuration,Z.requested)} (${et(t.configuration,Z.hash,Ge.CODE)}) with version ${dd(t.configuration,Z.version)}, which doesn't satisfy what ${gi(t.configuration,Z.requester)} ${A}`)}break}})}var aa;(function(l){l.VERSION="version",l.COMMAND_NAME="commandName",l.PLUGIN_NAME="pluginName",l.INSTALL_COUNT="installCount",l.PROJECT_COUNT="projectCount",l.WORKSPACE_COUNT="workspaceCount",l.DEPENDENCY_COUNT="dependencyCount",l.EXTENSION="packageExtension"})(aa||(aa={}));var bC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.configuration=e;let i=this.getRegistryPath();this.isNew=!K.existsSync(i),this.sendReport(r),this.startBuffer()}reportVersion(e){this.reportValue(aa.VERSION,e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue(aa.COMMAND_NAME,e||"")}reportPluginName(e){this.reportValue(aa.PLUGIN_NAME,e)}reportProject(e){this.reportEnumerator(aa.PROJECT_COUNT,e)}reportInstall(e){this.reportHit(aa.INSTALL_COUNT,e)}reportPackageExtension(e){this.reportValue(aa.EXTENSION,e)}reportWorkspaceCount(e){this.reportValue(aa.WORKSPACE_COUNT,String(e))}reportDependencyCount(e){this.reportValue(aa.DEPENDENCY_COUNT,String(e))}reportValue(e,r){kc(this.values,e).add(r)}reportEnumerator(e,r){kc(this.enumerators,e).add(ln(r))}reportHit(e,r="*"){let i=xg(this.hits,e),n=qa(i,r,()=>0);i.set(r,n+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return k.join(e,"telemetry.json")}sendReport(e){var u,g,f;let r=this.getRegistryPath(),i;try{i=K.readJsonSync(r)}catch{i={}}let n=Date.now(),s=this.configuration.get("telemetryInterval")*24*60*60*1e3,a=((u=i.lastUpdate)!=null?u:n+s+Math.floor(s*Math.random()))+s;if(a>n&&i.lastUpdate!=null)return;try{K.mkdirSync(k.dirname(r),{recursive:!0}),K.writeJsonSync(r,{lastUpdate:n})}catch{return}if(a>n||!i.blocks)return;let l=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,c=h=>VP(l,h,{configuration:this.configuration}).catch(()=>{});for(let[h,p]of Object.entries((g=i.blocks)!=null?g:{})){if(Object.keys(p).length===0)continue;let m=p;m.userId=h,m.reportType="primary";for(let S of Object.keys((f=m.enumerators)!=null?f:{}))m.enumerators[S]=m.enumerators[S].length;c(m);let y=new Map,Q=20;for(let[S,x]of Object.entries(m.values))x.length>0&&y.set(S,x.slice(0,Q));for(;y.size>0;){let S={};S.userId=h,S.reportType="secondary",S.metrics={};for(let[x,M]of y)S.metrics[x]=M.shift(),M.length===0&&y.delete(x);c(S)}}}applyChanges(){var o,a,l,c,u,g,f,h,p;let e=this.getRegistryPath(),r;try{r=K.readJsonSync(e)}catch{r={}}let i=(o=this.configuration.get("telemetryUserId"))!=null?o:"*",n=r.blocks=(a=r.blocks)!=null?a:{},s=n[i]=(l=n[i])!=null?l:{};for(let m of this.hits.keys()){let y=s.hits=(c=s.hits)!=null?c:{},Q=y[m]=(u=y[m])!=null?u:{};for(let[S,x]of this.hits.get(m))Q[S]=((g=Q[S])!=null?g:0)+x}for(let m of["values","enumerators"])for(let y of this[m].keys()){let Q=s[m]=(f=s[m])!=null?f:{};Q[y]=[...new Set([...(h=Q[y])!=null?h:[],...(p=this[m].get(y))!=null?p:[]])]}K.mkdirSync(k.dirname(e),{recursive:!0}),K.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}};var oF=ge(require("child_process")),l$=ge(hc());var aF=ge(require("fs"));var Nf=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["exec",[]],["interactive-tools",[["search"],["upgrade-interactive"]]],["stage",[["stage"]]],["typescript",[]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","focus"],["workspaces","foreach"]]]]);function tUe(t){let e=j.fromPortablePath(t);process.on("SIGINT",()=>{}),e?(0,oF.execFileSync)(process.execPath,[e,...process.argv.slice(2)],{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):(0,oF.execFileSync)(e,process.argv.slice(2),{stdio:"inherit",env:te(N({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}async function d0({binaryVersion:t,pluginConfiguration:e}){async function r(){let n=new Is({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:t});try{await i(n)}catch(s){process.stdout.write(n.error(s)),process.exitCode=1}}async function i(n){var m,y,Q,S,x;let s=process.versions.node,o=">=12 <14 || 14.2 - 14.9 || >14.10.0";if(!Se.parseOptionalBoolean(process.env.YARN_IGNORE_NODE)&&!Wt.satisfiesWithPrereleases(s,o))throw new Pe(`This tool requires a Node version compatible with ${o} (got ${s}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);let l=await ye.find(j.toPortablePath(process.cwd()),e,{usePath:!0,strict:!1}),c=l.get("yarnPath"),u=l.get("ignorePath"),g=l.get("ignoreCwd"),f=j.toPortablePath(j.resolve(process.argv[1])),h=M=>K.readFilePromise(M).catch(()=>Buffer.of());if(!u&&!g&&await(async()=>c===f||Buffer.compare(...await Promise.all([h(c),h(f)]))===0)()){process.env.YARN_IGNORE_PATH="1",process.env.YARN_IGNORE_CWD="1",await i(n);return}else if(c!==null&&!u)if(!K.existsSync(c))process.stdout.write(n.error(new Error(`The "yarn-path" option has been set (in ${l.sources.get("yarnPath")}), but the specified location doesn't exist (${c}).`))),process.exitCode=1;else try{tUe(c)}catch(M){process.exitCode=M.code||1}else{u&&delete process.env.YARN_IGNORE_PATH,l.get("enableTelemetry")&&!l$.isCI&&process.stdout.isTTY&&(ye.telemetry=new bC(l,"puba9cdc10ec5790a2cf4969dd413a47270")),(m=ye.telemetry)==null||m.reportVersion(t);for(let[J,W]of l.plugins.entries()){Nf.has((Q=(y=J.match(/^@yarnpkg\/plugin-(.*)$/))==null?void 0:y[1])!=null?Q:"")&&((S=ye.telemetry)==null||S.reportPluginName(J));for(let ee of W.commands||[])n.register(ee)}let Y=n.process(process.argv.slice(2));Y.help||(x=ye.telemetry)==null||x.reportCommandName(Y.path.join(" "));let U=Y.cwd;if(typeof U!="undefined"&&!g){let J=(0,aF.realpathSync)(process.cwd()),W=(0,aF.realpathSync)(U);if(J!==W){process.chdir(U),await r();return}}await n.runExit(Y,{cwd:j.toPortablePath(process.cwd()),plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}}return r().catch(n=>{process.stdout.write(n.stack||n.message),process.exitCode=1}).finally(()=>K.rmtempPromise())}function c$(t){t.Command.Path=(...e)=>r=>{r.paths=r.paths||[],r.paths.push(e)};for(let e of["Array","Boolean","String","Proxy","Rest","Counter"])t.Command[e]=(...r)=>(i,n)=>{let s=t.Option[e](...r);Object.defineProperty(i,`__${n}`,{configurable:!1,enumerable:!0,get(){return s},set(o){this[n]=o}})};return t}var _C={};ft(_C,{BaseCommand:()=>Le,WorkspaceRequiredError:()=>ht,getDynamicLibs:()=>bie,getPluginConfiguration:()=>J0,main:()=>d0,openWorkspace:()=>Jf,pluginCommands:()=>Nf});var Le=class extends Re{constructor(){super(...arguments);this.cwd=z.String("--cwd",{hidden:!0})}};var ht=class extends Pe{constructor(e,r){let i=k.relative(e,r),n=k.join(e,At.fileName);super(`This command can only be run from within a workspace of your project (${i} isn't a workspace of ${n}).`)}};var aqe=ge(ti());Es();var Aqe=ge(sN()),bie=()=>new Map([["@yarnpkg/cli",_C],["@yarnpkg/core",QC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Kd],["clipanion",Cp],["semver",aqe],["typanion",sg],["yup",Aqe]]);async function Jf(t,e){let{project:r,workspace:i}=await ze.find(t,e);if(!i)throw new ht(r.cwd,e);return i}var S9e=ge(ti());Es();var k9e=ge(sN());var AL={};ft(AL,{dedupeUtils:()=>HN,default:()=>Ize,suggestUtils:()=>kN});var vAe=ge(hc());var Fse=ge($C());Es();var kN={};ft(kN,{Modifier:()=>ga,Strategy:()=>_r,Target:()=>Hr,WorkspaceModifier:()=>Vf,applyModifier:()=>xse,extractDescriptorFromPath:()=>DN,extractRangeModifier:()=>kse,fetchDescriptorFrom:()=>PN,findProjectDescriptors:()=>Rse,getModifier:()=>em,getSuggestedDescriptors:()=>tm,makeWorkspaceDescriptor:()=>Dse,toWorkspaceModifier:()=>Pse});var xN=ge(ti()),vJe="workspace:",Hr;(function(i){i.REGULAR="dependencies",i.DEVELOPMENT="devDependencies",i.PEER="peerDependencies"})(Hr||(Hr={}));var ga;(function(i){i.CARET="^",i.TILDE="~",i.EXACT=""})(ga||(ga={}));var Vf;(function(i){i.CARET="^",i.TILDE="~",i.EXACT="*"})(Vf||(Vf={}));var _r;(function(s){s.KEEP="keep",s.REUSE="reuse",s.PROJECT="project",s.LATEST="latest",s.CACHE="cache"})(_r||(_r={}));function em(t,e){return t.exact?ga.EXACT:t.caret?ga.CARET:t.tilde?ga.TILDE:e.configuration.get("defaultSemverRangePrefix")}var SJe=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function kse(t,{project:e}){let r=t.match(SJe);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function xse(t,e){let{protocol:r,source:i,params:n,selector:s}=P.parseRange(t.range);return xN.default.valid(s)&&(s=`${e}${t.range}`),P.makeDescriptor(t,P.makeRange({protocol:r,source:i,params:n,selector:s}))}function Pse(t){switch(t){case ga.CARET:return Vf.CARET;case ga.TILDE:return Vf.TILDE;case ga.EXACT:return Vf.EXACT;default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function Dse(t,e){return P.makeDescriptor(t.anchoredDescriptor,`${vJe}${Pse(e)}`)}async function Rse(t,{project:e,target:r}){let i=new Map,n=s=>{let o=i.get(s.descriptorHash);return o||i.set(s.descriptorHash,o={descriptor:s,locators:[]}),o};for(let s of e.workspaces)if(r===Hr.PEER){let o=s.manifest.peerDependencies.get(t.identHash);o!==void 0&&n(o).locators.push(s.locator)}else{let o=s.manifest.dependencies.get(t.identHash),a=s.manifest.devDependencies.get(t.identHash);r===Hr.DEVELOPMENT?a!==void 0?n(a).locators.push(s.locator):o!==void 0&&n(o).locators.push(s.locator):o!==void 0?n(o).locators.push(s.locator):a!==void 0&&n(a).locators.push(s.locator)}return i}async function DN(t,{cwd:e,workspace:r}){return await kJe(async i=>{k.isAbsolute(t)||(t=k.relative(r.cwd,k.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:n}=r,s=await PN(P.makeIdent(null,"archive"),t,{project:r.project,cache:i,workspace:r});if(!s)throw new Error("Assertion failed: The descriptor should have been found");let o=new pi,a=n.configuration.makeResolver(),l=n.configuration.makeFetcher(),c={checksums:n.storedChecksums,project:n,cache:i,fetcher:l,report:o,resolver:a},u=a.bindDescriptor(s,r.anchoredLocator,c),g=P.convertDescriptorToLocator(u),f=await l.fetch(g,c),h=await At.find(f.prefixPath,{baseFs:f.packageFs});if(!h.name)throw new Error("Target path doesn't have a name");return P.makeDescriptor(h.name,t)})}async function tm(t,{project:e,workspace:r,cache:i,target:n,modifier:s,strategies:o,maxResults:a=Infinity}){if(!(a>=0))throw new Error(`Invalid maxResults (${a})`);if(t.range!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${P.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let l=typeof r!="undefined"&&r!==null&&r.manifest[n].get(t.identHash)||null,c=[],u=[],g=async f=>{try{await f()}catch(h){u.push(h)}};for(let f of o){if(c.length>=a)break;switch(f){case _r.KEEP:await g(async()=>{l&&c.push({descriptor:l,name:`Keep ${P.prettyDescriptor(e.configuration,l)}`,reason:"(no changes)"})});break;case _r.REUSE:await g(async()=>{for(let{descriptor:h,locators:p}of(await Rse(t,{project:e,target:n})).values()){if(p.length===1&&p[0].locatorHash===r.anchoredLocator.locatorHash&&o.includes(_r.KEEP))continue;let m=`(originally used by ${P.prettyLocator(e.configuration,p[0])}`;m+=p.length>1?` and ${p.length-1} other${p.length>2?"s":""})`:")",c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:m})}});break;case _r.CACHE:await g(async()=>{for(let h of e.storedDescriptors.values())h.identHash===t.identHash&&c.push({descriptor:h,name:`Reuse ${P.prettyDescriptor(e.configuration,h)}`,reason:"(already used somewhere in the lockfile)"})});break;case _r.PROJECT:await g(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let h=e.tryWorkspaceByIdent(t);if(h===null)return;let p=Dse(h,s);c.push({descriptor:p,name:`Attach ${P.prettyDescriptor(e.configuration,p)}`,reason:`(local workspace at ${ae.pretty(e.configuration,h.relativeCwd,ae.Type.PATH)})`})});break;case _r.LATEST:await g(async()=>{if(t.range!=="unknown")c.push({descriptor:t,name:`Use ${P.prettyRange(e.configuration,t.range)}`,reason:"(explicit range requested)"});else if(n===Hr.PEER)c.push({descriptor:P.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!e.configuration.get("enableNetwork"))c.push({descriptor:null,name:"Resolve from latest",reason:ae.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let h=await PN(t,"latest",{project:e,cache:i,workspace:r,preserveModifier:!1});h&&(h=xse(h,s),c.push({descriptor:h,name:`Use ${P.prettyDescriptor(e.configuration,h)}`,reason:"(resolved from latest)"}))}});break}}return{suggestions:c.slice(0,a),rejections:u.slice(0,a)}}async function PN(t,e,{project:r,cache:i,workspace:n,preserveModifier:s=!0}){let o=P.makeDescriptor(t,e),a=new pi,l=r.configuration.makeFetcher(),c=r.configuration.makeResolver(),u={project:r,fetcher:l,cache:i,checksums:r.storedChecksums,report:a,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},g=te(N({},u),{resolver:c,fetchOptions:u}),f=c.bindDescriptor(o,n.anchoredLocator,g),h=await c.getCandidates(f,new Map,g);if(h.length===0)return null;let p=h[0],{protocol:m,source:y,params:Q,selector:S}=P.parseRange(P.convertToManifestRange(p.reference));if(m===r.configuration.get("defaultProtocol")&&(m=null),xN.default.valid(S)&&s!==!1){let x=typeof s=="string"?s:o.range;S=kse(x,{project:r})+S}return P.makeDescriptor(p,P.makeRange({protocol:m,source:y,params:Q,selector:S}))}async function kJe(t){return await K.mktempPromise(async e=>{let r=ye.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nt(e,{configuration:r,check:!1,immutable:!1}))})}var rm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=z.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=z.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=z.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=z.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=z.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=z.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.silent=z.Boolean("--silent",{hidden:!0});this.packages=z.Rest()}async execute(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=em(this,r),a=[...s?[_r.REUSE]:[],_r.PROJECT,...this.cached?[_r.CACHE]:[],_r.LATEST],l=s?Infinity:1,c=await Promise.all(this.packages.map(async y=>{let Q=y.match(/^\.{0,2}\//)?await DN(y,{cwd:this.context.cwd,workspace:i}):P.tryParseDescriptor(y),S=y.match(/^(https?:|git@github)/);if(S)throw new Pe(`It seems you are trying to add a package using a ${ae.pretty(e,`${S[0]}...`,Di.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${ae.pretty(e,"yarn add",Di.CODE)} ${ae.pretty(e,P.makeDescriptor(P.makeIdent(null,"my-package"),`${S[0]}...`),Di.DESCRIPTOR)}`);if(!Q)throw new Pe(`The ${ae.pretty(e,y,Di.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let x=xJe(i,Q,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional}),M=await tm(Q,{project:r,workspace:i,cache:n,target:x,modifier:o,strategies:a,maxResults:l});return[Q,M,x]})),u=await uA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[Q,{suggestions:S,rejections:x}]of c)if(S.filter(Y=>Y.descriptor!==null).length===0){let[Y]=x;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),y.reportSeparator(),y.reportExceptionOnce(Y)}});if(u.hasErrors())return u.exitCode();let g=!1,f=[],h=[];for(let[,{suggestions:y},Q]of c){let S,x=y.filter(J=>J.descriptor!==null),M=x[0].descriptor,Y=x.every(J=>P.areDescriptorsEqual(J.descriptor,M));x.length===1||Y?S=M:(g=!0,{answer:S}=await(0,Fse.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:y.map(({descriptor:J,name:W,reason:ee})=>J?{name:W,hint:ee,descriptor:J}:{name:W,hint:ee,disabled:!0}),onCancel:()=>process.exit(130),result(J){return this.find(J,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let U=i.manifest[Q].get(S.identHash);(typeof U=="undefined"||U.descriptorHash!==S.descriptorHash)&&(i.manifest[Q].set(S.identHash,S),this.optional&&(Q==="dependencies"?i.manifest.ensureDependencyMeta(te(N({},S),{range:"unknown"})).optional=!0:Q==="peerDependencies"&&(i.manifest.ensurePeerDependencyMeta(te(N({},S),{range:"unknown"})).optional=!0)),typeof U=="undefined"?f.push([i,Q,S,a]):h.push([i,Q,U,S]))}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyAddition,f),await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),g&&this.context.stdout.write(` +`),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};rm.paths=[["add"]],rm.usage=Re.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/features/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});var Nse=rm;function xJe(t,e,{dev:r,peer:i,preferDev:n,optional:s}){let o=t.manifest[Hr.REGULAR].has(e.identHash),a=t.manifest[Hr.DEVELOPMENT].has(e.identHash),l=t.manifest[Hr.PEER].has(e.identHash);if((r||i)&&o)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(s&&a)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(s&&!i&&l)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||n)&&s)throw new Pe(`Package "${P.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);return i?Hr.PEER:r||n?Hr.DEVELOPMENT:o?Hr.REGULAR:a?Hr.DEVELOPMENT:Hr.REGULAR}var im=class extends Le{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=z.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);if(await r.restoreInstallState(),this.name){let o=(await Zt.getPackageAccessibleBinaries(i,{project:r})).get(this.name);if(!o)throw new Pe(`Couldn't find a binary named "${this.name}" for package "${P.prettyLocator(e,i)}"`);let[,a]=o;return this.context.stdout.write(`${a} +`),0}return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async s=>{let o=await Zt.getPackageAccessibleBinaries(i,{project:r}),l=Array.from(o.keys()).reduce((c,u)=>Math.max(c,u.length),0);for(let[c,[u,g]]of o)s.reportJson({name:c,source:P.stringifyIdent(u),path:g});if(this.verbose)for(let[c,[u]]of o)s.reportInfo(null,`${c.padEnd(l," ")} ${P.prettyLocator(e,u)}`);else for(let c of o.keys())s.reportInfo(null,c)})).exitCode()}};im.paths=[["bin"]],im.usage=Re.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});var Lse=im;var nm=class extends Le{constructor(){super(...arguments);this.mirror=z.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=z.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=await Nt.find(e);return(await Je.start({configuration:e,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&r.mirrorCwd!==null,s=!this.mirror;n&&(await K.removePromise(r.mirrorCwd),await e.triggerHook(o=>o.cleanGlobalArtifacts,e)),s&&await K.removePromise(r.cwd)})).exitCode()}};nm.paths=[["cache","clean"],["cache","clear"]],nm.usage=Re.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});var Tse=nm;var Ose=ge(k0()),RN=ge(require("util")),sm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=z.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=this.name.replace(/[.[].*$/,""),i=this.name.replace(/^[^.[]*/,"");if(typeof e.settings.get(r)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${r}"`);let s=e.getSpecial(r,{hideSecrets:!this.unsafe,getNativePaths:!0}),o=Se.convertMapsToIndexableObjects(s),a=i?(0,Ose.default)(o,i):o,l=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async c=>{c.reportJson(a)});if(!this.json){if(typeof a=="string")return this.context.stdout.write(`${a} +`),l.exitCode();RN.inspect.styles.name="cyan",this.context.stdout.write(`${(0,RN.inspect)(a,{depth:Infinity,colors:e.get("enableColors"),compact:!1})} +`)}return l.exitCode()}};sm.paths=[["config","get"]],sm.usage=Re.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});var Mse=sm;var Voe=ge(MN()),Xoe=ge(k0()),Zoe=ge(_oe()),UN=ge(require("util")),am=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String();this.value=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);if(i==="enableStrictSettings")throw new Pe("This setting only affects the file it's in, and thus cannot be set from the CLI");let o=this.json?JSON.parse(this.value):this.value;await(this.home?h=>ye.updateHomeConfiguration(h):h=>ye.updateConfiguration(r(),h))(h=>{if(n){let p=(0,Voe.default)(h);return(0,Zoe.default)(p,this.name,o),p}else return te(N({},h),{[i]:o})});let c=(await ye.find(this.context.cwd,this.context.plugins)).getSpecial(i,{hideSecrets:!0,getNativePaths:!0}),u=Se.convertMapsToIndexableObjects(c),g=n?(0,Xoe.default)(u,n):u;return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async h=>{UN.inspect.styles.name="cyan",h.reportInfo($.UNNAMED,`Successfully set ${this.name} to ${(0,UN.inspect)(g,{depth:Infinity,colors:e.get("enableColors"),compact:!1})}`)})).exitCode()}};am.paths=[["config","set"]],am.usage=Re.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});var $oe=am;var Aae=ge(MN()),lae=ge(SC()),cae=ge(aae()),Am=class extends Le{constructor(){super(...arguments);this.home=z.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=()=>{if(!e.projectCwd)throw new Pe("This command must be run from within a project folder");return e.projectCwd},i=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof e.settings.get(i)=="undefined")throw new Pe(`Couldn't find a configuration settings named "${i}"`);let o=this.home?l=>ye.updateHomeConfiguration(l):l=>ye.updateConfiguration(r(),l);return(await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async l=>{let c=!1;await o(u=>{if(!(0,lae.default)(u,this.name))return l.reportWarning($.UNNAMED,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),c=!0,u;let g=n?(0,Aae.default)(u):N({},u);return(0,cae.default)(g,this.name),g}),c||l.reportInfo($.UNNAMED,`Successfully unset ${this.name}`)})).exitCode()}};Am.paths=[["config","unset"]],Am.usage=Re.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});var uae=Am;var KN=ge(require("util")),lm=class extends Le{constructor(){super(...arguments);this.verbose=z.Boolean("-v,--verbose",!1,{description:"Print the setting description on top of the regular key/value information"});this.why=z.Boolean("--why",!1,{description:"Print the reason why a setting is set a particular way"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins,{strict:!1});return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{if(e.invalid.size>0&&!this.json){for(let[n,s]of e.invalid)i.reportError($.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${s}`);i.reportSeparator()}if(this.json){let n=Se.sortMap(e.settings.keys(),s=>s);for(let s of n){let o=e.settings.get(s),a=e.getSpecial(s,{hideSecrets:!0,getNativePaths:!0}),l=e.sources.get(s);this.verbose?i.reportJson({key:s,effective:a,source:l}):i.reportJson(N({key:s,effective:a,source:l},o))}}else{let n=Se.sortMap(e.settings.keys(),a=>a),s=n.reduce((a,l)=>Math.max(a,l.length),0),o={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){let a=n.map(c=>{let u=e.settings.get(c);if(!u)throw new Error(`Assertion failed: This settings ("${c}") should have been registered`);let g=this.why?e.sources.get(c)||"":u.description;return[c,g]}),l=a.reduce((c,[,u])=>Math.max(c,u.length),0);for(let[c,u]of a)i.reportInfo(null,`${c.padEnd(s," ")} ${u.padEnd(l," ")} ${(0,KN.inspect)(e.getSpecial(c,{hideSecrets:!0,getNativePaths:!0}),o)}`)}else for(let a of n)i.reportInfo(null,`${a.padEnd(s," ")} ${(0,KN.inspect)(e.getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),o)}`)}})).exitCode()}};lm.paths=[["config"]],lm.usage=Re.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});var gae=lm;Es();var HN={};ft(HN,{Strategy:()=>Iu,acceptedStrategies:()=>R8e,dedupe:()=>jN});var fae=ge(ts()),Iu;(function(e){e.HIGHEST="highest"})(Iu||(Iu={}));var R8e=new Set(Object.values(Iu)),F8e={highest:async(t,e,{resolver:r,fetcher:i,resolveOptions:n,fetchOptions:s})=>{let o=new Map;for(let[a,l]of t.storedResolutions){let c=t.storedDescriptors.get(a);if(typeof c=="undefined")throw new Error(`Assertion failed: The descriptor (${a}) should have been registered`);Se.getSetWithDefault(o,c.identHash).add(l)}return Array.from(t.storedDescriptors.values(),async a=>{if(e.length&&!fae.default.isMatch(P.stringifyIdent(a),e))return null;let l=t.storedResolutions.get(a.descriptorHash);if(typeof l=="undefined")throw new Error(`Assertion failed: The resolution (${a.descriptorHash}) should have been registered`);let c=t.originalPackages.get(l);if(typeof c=="undefined"||!r.shouldPersistResolution(c,n))return null;let u=o.get(a.identHash);if(typeof u=="undefined")throw new Error(`Assertion failed: The resolutions (${a.identHash}) should have been registered`);if(u.size===1)return null;let g=[...u].map(y=>{let Q=t.originalPackages.get(y);if(typeof Q=="undefined")throw new Error(`Assertion failed: The package (${y}) should have been registered`);return Q.reference}),f=await r.getSatisfying(a,g,n),h=f==null?void 0:f[0];if(typeof h=="undefined")return null;let p=h.locatorHash,m=t.originalPackages.get(p);if(typeof m=="undefined")throw new Error(`Assertion failed: The package (${p}) should have been registered`);return p===l?null:{descriptor:a,currentPackage:c,updatedPackage:m}})}};async function jN(t,{strategy:e,patterns:r,cache:i,report:n}){let{configuration:s}=t,o=new pi,a=s.makeResolver(),l=s.makeFetcher(),c={cache:i,checksums:t.storedChecksums,fetcher:l,project:t,report:o,skipIntegrityCheck:!0,cacheOptions:{skipIntegrityCheck:!0}},u={project:t,resolver:a,report:o,fetchOptions:c};return await n.startTimerPromise("Deduplication step",async()=>{let f=await F8e[e](t,r,{resolver:a,resolveOptions:u,fetcher:l,fetchOptions:c}),h=Ji.progressViaCounter(f.length);n.reportProgress(h);let p=0;await Promise.all(f.map(Q=>Q.then(S=>{if(S===null)return;p++;let{descriptor:x,currentPackage:M,updatedPackage:Y}=S;n.reportInfo($.UNNAMED,`${P.prettyDescriptor(s,x)} can be deduped from ${P.prettyLocator(s,M)} to ${P.prettyLocator(s,Y)}`),n.reportJson({descriptor:P.stringifyDescriptor(x),currentResolution:P.stringifyLocator(M),updatedResolution:P.stringifyLocator(Y)}),t.storedResolutions.set(x.descriptorHash,Y.locatorHash)}).finally(()=>h.tick())));let m;switch(p){case 0:m="No packages";break;case 1:m="One package";break;default:m=`${p} packages`}let y=ae.pretty(s,e,ae.Type.CODE);return n.reportInfo($.UNNAMED,`${m} can be deduped using the ${y} strategy`),p})}var cm=class extends Le{constructor(){super(...arguments);this.strategy=z.String("-s,--strategy",Iu.HIGHEST,{description:"The strategy to use when deduping dependencies",validator:nn(Iu)});this.check=z.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=await Nt.find(e);await r.restoreInstallState({restoreResolutions:!1});let n=0,s=await Je.start({configuration:e,includeFooter:!1,stdout:this.context.stdout,json:this.json},async o=>{n=await jN(r,{strategy:this.strategy,patterns:this.patterns,cache:i,report:o})});return s.hasErrors()?s.exitCode():this.check?n?1:0:(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async a=>{await r.install({cache:i,report:a,mode:this.mode})})).exitCode()}};cm.paths=[["dedupe"]],cm.usage=Re.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});var hae=cm;var ib=class extends Le{async execute(){let{plugins:e}=await ye.find(this.context.cwd,this.context.plugins),r=[];for(let o of e){let{commands:a}=o[1];if(a){let c=Is.from(a).definitions();r.push([o[0],c])}}let i=this.cli.definitions(),n=(o,a)=>o.split(" ").slice(1).join()===a.split(" ").slice(1).join(),s=dae()["@yarnpkg/builder"].bundles.standard;for(let o of r){let a=o[1];for(let l of a)i.find(c=>n(c.path,l.path)).plugin={name:o[0],isDefault:s.includes(o[0])}}this.context.stdout.write(`${JSON.stringify(i,null,2)} +`)}};ib.paths=[["--clipanion=definitions"]];var Cae=ib;var nb=class extends Le{async execute(){this.context.stdout.write(this.cli.usage(null))}};nb.paths=[["help"],["--help"],["-h"]];var mae=nb;var GN=class extends Le{constructor(){super(...arguments);this.leadingArgument=z.String();this.args=z.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!P.tryParseIdent(this.leadingArgument)){let e=k.resolve(this.context.cwd,j.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}},Eae=GN;var sb=class extends Le{async execute(){this.context.stdout.write(`${Ur||""} +`)}};sb.paths=[["-v"],["--version"]];var Iae=sb;var um=class extends Le{constructor(){super(...arguments);this.commandName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,locator:i}=await ze.find(e,this.context.cwd);return await r.restoreInstallState(),await Zt.executePackageShellcode(i,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:r})}};um.paths=[["exec"]],um.usage=Re.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});var yae=um;Es();var gm=class extends Le{constructor(){super(...arguments);this.hash=z.String({required:!1,validator:fp(gp(),[hp(/^p[0-9a-f]{5}$/)])})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return await r.restoreInstallState({restoreResolutions:!1}),await r.applyLightResolution(),typeof this.hash!="undefined"?await N8e(this.hash,r,{stdout:this.context.stdout}):(await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async n=>{var o;let s=[([,a])=>P.stringifyLocator(r.storedPackages.get(a.subject)),([,a])=>P.stringifyIdent(a.requested)];for(let[a,l]of Se.sortMap(r.peerRequirements,s)){let c=r.storedPackages.get(l.subject);if(typeof c=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let u=r.storedPackages.get(l.rootRequester);if(typeof u=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let g=(o=c.dependencies.get(l.requested.identHash))!=null?o:null,f=ae.pretty(e,a,ae.Type.CODE),h=P.prettyLocator(e,c),p=P.prettyIdent(e,l.requested),m=P.prettyIdent(e,u),y=l.allRequesters.length-1,Q=`descendant${y===1?"":"s"}`,S=y>0?` and ${y} ${Q}`:"",x=g!==null?"provides":"doesn't provide";n.reportInfo(null,`${f} \u2192 ${h} ${x} ${p} to ${m}${S}`)}})).exitCode()}};gm.paths=[["explain","peer-requirements"]],gm.usage=Re.Usage({description:"explain a set of peer requirements",details:` + A set of peer requirements represents all peer requirements that a dependent must satisfy when providing a given peer request to a requester and its descendants. + + When the hash argument is specified, this command prints a detailed explanation of all requirements of the set corresponding to the hash and whether they're satisfied or not. + + When used without arguments, this command lists all sets of peer requirements and the corresponding hash that can be used to get detailed information about a given set. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding set of peer requirements for a hash","$0 explain peer-requirements p1a4ed"],["List all sets of peer requirements","$0 explain peer-requirements"]]});var wae=gm;async function N8e(t,e,r){let{configuration:i}=e,n=e.peerRequirements.get(t);if(typeof n=="undefined")throw new Error(`No peerDependency requirements found for hash: "${t}"`);return(await Je.start({configuration:i,stdout:r.stdout,includeFooter:!1},async o=>{var Q,S;let a=e.storedPackages.get(n.subject);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the subject package to have been registered");let l=e.storedPackages.get(n.rootRequester);if(typeof l=="undefined")throw new Error("Assertion failed: Expected the root package to have been registered");let c=(Q=a.dependencies.get(n.requested.identHash))!=null?Q:null,u=c!==null?e.storedResolutions.get(c.descriptorHash):null;if(typeof u=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let g=u!==null?e.storedPackages.get(u):null;if(typeof g=="undefined")throw new Error("Assertion failed: Expected the provided package to have been registered");let f=[...n.allRequesters.values()].map(x=>{let M=e.storedPackages.get(x);if(typeof M=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let Y=P.devirtualizeLocator(M),U=e.storedPackages.get(Y.locatorHash);if(typeof U=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let J=U.peerDependencies.get(n.requested.identHash);if(typeof J=="undefined")throw new Error("Assertion failed: Expected the peer dependency to be registered");return{pkg:M,peerDependency:J}});if(g!==null){let x=f.every(({peerDependency:M})=>Wt.satisfiesWithPrereleases(g.version,M.range));o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} provides ${P.prettyLocator(i,g)} with version ${P.prettyReference(i,(S=g.version)!=null?S:"")}, which ${x?"satisfies":"doesn't satisfy"} the following requirements:`)}else o.reportInfo($.UNNAMED,`${P.prettyLocator(i,a)} doesn't provide ${P.prettyIdent(i,n.requested)}, breaking the following requirements:`);o.reportSeparator();let h=ae.mark(i),p=[];for(let{pkg:x,peerDependency:M}of Se.sortMap(f,Y=>P.stringifyLocator(Y.pkg))){let U=(g!==null?Wt.satisfiesWithPrereleases(g.version,M.range):!1)?h.Check:h.Cross;p.push({stringifiedLocator:P.stringifyLocator(x),prettyLocator:P.prettyLocator(i,x),prettyRange:P.prettyRange(i,M.range),mark:U})}let m=Math.max(...p.map(({stringifiedLocator:x})=>x.length)),y=Math.max(...p.map(({prettyRange:x})=>x.length));for(let{stringifiedLocator:x,prettyLocator:M,prettyRange:Y,mark:U}of Se.sortMap(p,({stringifiedLocator:J})=>J))o.reportInfo(null,`${M.padEnd(m+(M.length-x.length)," ")} \u2192 ${Y.padEnd(y," ")} ${U}`);p.length>1&&(o.reportSeparator(),o.reportInfo($.UNNAMED,`Note: these requirements start with ${P.prettyLocator(e.configuration,l)}`))})).exitCode()}Es();var Bae=ge(ti()),fm=class extends Le{constructor(){super(...arguments);this.onlyIfNeeded=z.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return 0;let r=()=>{if(typeof Ur=="undefined")throw new Pe("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},i;if(this.version==="self")i=r();else if(this.version==="latest"||this.version==="berry"||this.version==="stable")i=`https://repo.yarnpkg.com/${await hm(e,"stable")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="canary")i=`https://repo.yarnpkg.com/${await hm(e,"canary")}/packages/yarnpkg-cli/bin/yarn.js`;else if(this.version==="classic")i="https://nightly.yarnpkg.com/latest.js";else if(this.version.match(/^https?:/))i=this.version;else if(this.version.match(/^\.{0,2}[\\/]/)||j.isAbsolute(this.version))i=`file://${j.resolve(this.version)}`;else if(Wt.satisfiesWithPrereleases(this.version,">=2.0.0"))i=`https://repo.yarnpkg.com/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else if(Wt.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))i=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`;else if(Wt.validRange(this.version))i=`https://repo.yarnpkg.com/${await L8e(e,this.version)}/packages/yarnpkg-cli/bin/yarn.js`;else throw new Pe(`Invalid version descriptor "${this.version}"`);return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async s=>{let o="file://",a;i.startsWith(o)?(s.reportInfo($.UNNAMED,`Downloading ${ae.pretty(e,i,Di.URL)}`),a=await K.readFilePromise(j.toPortablePath(i.slice(o.length)))):(s.reportInfo($.UNNAMED,`Retrieving ${ae.pretty(e,i,Di.PATH)}`),a=await ir.get(i,{configuration:e})),await YN(e,null,a,{report:s})})).exitCode()}};fm.paths=[["set","version"]],fm.usage=Re.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});var bae=fm;async function L8e(t,e){let i=(await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(n=>Wt.satisfiesWithPrereleases(n,e));if(i.length===0)throw new Pe(`No matching release found for range ${ae.pretty(t,e,ae.Type.RANGE)}.`);return i[0]}async function hm(t,e){let r=await ir.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new Pe(`Tag ${ae.pretty(t,e,ae.Type.RANGE)} not found`);return r.latest[e]}async function YN(t,e,r,{report:i}){var g;e===null&&await K.mktempPromise(async f=>{let h=k.join(f,"yarn.cjs");await K.writeFilePromise(h,r);let{stdout:p}=await Fr.execvp(process.execPath,[j.fromPortablePath(h),"--version"],{cwd:f,env:te(N({},process.env),{YARN_IGNORE_PATH:"1"})});if(e=p.trim(),!Bae.default.valid(e))throw new Error(`Invalid semver version. ${ae.pretty(t,"yarn --version",ae.Type.CODE)} returned: +${e}`)});let n=(g=t.projectCwd)!=null?g:t.startingCwd,s=k.resolve(n,".yarn/releases"),o=k.resolve(s,`yarn-${e}.cjs`),a=k.relative(t.startingCwd,o),l=k.relative(n,o),c=t.get("yarnPath"),u=c===null||c.startsWith(`${s}/`);if(i.reportInfo($.UNNAMED,`Saving the new release in ${ae.pretty(t,a,"magenta")}`),await K.removePromise(k.dirname(o)),await K.mkdirPromise(k.dirname(o),{recursive:!0}),await K.writeFilePromise(o,r,{mode:493}),u){await ye.updateConfiguration(n,{yarnPath:l});let f=await At.tryFind(n)||new At;f.packageManager=`yarn@${e&&Se.isTaggedYarnVersion(e)?e:await hm(t,"stable")}`;let h={};f.exportTo(h);let p=k.join(n,At.fileName),m=`${JSON.stringify(h,null,f.indent)} +`;await K.changeFilePromise(p,m,{automaticNewlines:!0})}}function Qae(t){return $[BI(t)]}var T8e=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function O8e(t){let r=`https://repo.yarnpkg.com/${Se.isTaggedYarnVersion(Ur)?Ur:await hm(t,"canary")}/packages/gatsby/content/advanced/error-codes.md`,i=await ir.get(r,{configuration:t});return new Map(Array.from(i.toString().matchAll(T8e),({groups:n})=>{if(!n)throw new Error("Assertion failed: Expected the match to have been successful");let s=Qae(n.code);if(n.name!==s)throw new Error(`Assertion failed: Invalid error code data: Expected "${n.name}" to be named "${s}"`);return[n.code,n.details]}))}var pm=class extends Le{constructor(){super(...arguments);this.code=z.String({required:!1,validator:fp(gp(),[hp(/^YN[0-9]{4}$/)])});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);if(typeof this.code!="undefined"){let r=Qae(this.code),i=ae.pretty(e,r,ae.Type.CODE),n=this.cli.format().header(`${this.code} - ${i}`),o=(await O8e(e)).get(this.code),a=typeof o!="undefined"?ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.MARKDOWN,{text:o,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${ae.jsonOrPretty(this.json,e,ae.tuple(ae.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/gatsby/content/advanced/error-codes.md"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:r,details:a})} +`):this.context.stdout.write(`${n} + +${a} +`)}else{let r={children:Se.mapAndFilter(Object.entries($),([i,n])=>Number.isNaN(Number(i))?Se.mapAndFilter.skip:{label:YA(Number(i)),value:ae.tuple(ae.Type.CODE,n)})};as.emitTree(r,{configuration:e,stdout:this.context.stdout,json:this.json})}}};pm.paths=[["explain"]],pm.usage=Re.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});var vae=pm;var Sae=ge(ts()),dm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=z.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=z.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=z.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=z.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=z.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=z.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i&&!this.all)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=new Set(this.extra);this.cache&&s.add("cache"),this.dependents&&s.add("dependents"),this.manifest&&s.add("manifest");let o=(x,{recursive:M})=>{let Y=x.anchoredLocator.locatorHash,U=new Map,J=[Y];for(;J.length>0;){let W=J.shift();if(U.has(W))continue;let ee=r.storedPackages.get(W);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the package to be registered");if(U.set(W,ee),P.isVirtualLocator(ee)&&J.push(P.devirtualizeLocator(ee).locatorHash),!(!M&&W!==Y))for(let Z of ee.dependencies.values()){let A=r.storedResolutions.get(Z.descriptorHash);if(typeof A=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");J.push(A)}}return U.values()},a=({recursive:x})=>{let M=new Map;for(let Y of r.workspaces)for(let U of o(Y,{recursive:x}))M.set(U.locatorHash,U);return M.values()},l=({all:x,recursive:M})=>x&&M?r.storedPackages.values():x?a({recursive:M}):o(i,{recursive:M}),c=({all:x,recursive:M})=>{let Y=l({all:x,recursive:M}),U=this.patterns.map(ee=>{let Z=P.parseLocator(ee),A=Sae.default.makeRe(P.stringifyIdent(Z)),ne=P.isVirtualLocator(Z),le=ne?P.devirtualizeLocator(Z):Z;return Ae=>{let T=P.stringifyIdent(Ae);if(!A.test(T))return!1;if(Z.reference==="unknown")return!0;let L=P.isVirtualLocator(Ae),Ee=L?P.devirtualizeLocator(Ae):Ae;return!(ne&&L&&Z.reference!==Ae.reference||le.reference!==Ee.reference)}}),J=Se.sortMap([...Y],ee=>P.stringifyLocator(ee));return{selection:J.filter(ee=>U.length===0||U.some(Z=>Z(ee))),sortedLookup:J}},{selection:u,sortedLookup:g}=c({all:this.all,recursive:this.recursive});if(u.length===0)throw new Pe("No package matched your request");let f=new Map;if(this.dependents)for(let x of g)for(let M of x.dependencies.values()){let Y=r.storedResolutions.get(M.descriptorHash);if(typeof Y=="undefined")throw new Error("Assertion failed: Expected the resolution to be registered");Se.getArrayWithDefault(f,Y).push(x)}let h=new Map;for(let x of g){if(!P.isVirtualLocator(x))continue;let M=P.devirtualizeLocator(x);Se.getArrayWithDefault(h,M.locatorHash).push(x)}let p={},m={children:p},y=e.makeFetcher(),Q={project:r,fetcher:y,cache:n,checksums:r.storedChecksums,report:new pi,cacheOptions:{skipIntegrityCheck:!0},skipIntegrityCheck:!0},S=[async(x,M,Y)=>{var W,ee;if(!M.has("manifest"))return;let U=await y.fetch(x,Q),J;try{J=await At.find(U.prefixPath,{baseFs:U.packageFs})}finally{(W=U.releaseFs)==null||W.call(U)}Y("Manifest",{License:ae.tuple(ae.Type.NO_HINT,J.license),Homepage:ae.tuple(ae.Type.URL,(ee=J.raw.homepage)!=null?ee:null)})},async(x,M,Y)=>{var A;if(!M.has("cache"))return;let U={mockedPackages:r.disabledLocators,unstablePackages:r.conditionalLocators},J=(A=r.storedChecksums.get(x.locatorHash))!=null?A:null,W=n.getLocatorPath(x,J,U),ee;if(W!==null)try{ee=K.statSync(W)}catch{}let Z=typeof ee!="undefined"?[ee.size,ae.Type.SIZE]:void 0;Y("Cache",{Checksum:ae.tuple(ae.Type.NO_HINT,J),Path:ae.tuple(ae.Type.PATH,W),Size:Z})}];for(let x of u){let M=P.isVirtualLocator(x);if(!this.virtuals&&M)continue;let Y={},U={value:[x,ae.Type.LOCATOR],children:Y};if(p[P.stringifyLocator(x)]=U,this.nameOnly){delete U.children;continue}let J=h.get(x.locatorHash);typeof J!="undefined"&&(Y.Instances={label:"Instances",value:ae.tuple(ae.Type.NUMBER,J.length)}),Y.Version={label:"Version",value:ae.tuple(ae.Type.NO_HINT,x.version)};let W=(Z,A)=>{let ne={};if(Y[Z]=ne,Array.isArray(A))ne.children=A.map(le=>({value:le}));else{let le={};ne.children=le;for(let[Ae,T]of Object.entries(A))typeof T!="undefined"&&(le[Ae]={label:Ae,value:T})}};if(!M){for(let Z of S)await Z(x,s,W);await e.triggerHook(Z=>Z.fetchPackageInfo,x,s,W)}x.bin.size>0&&!M&&W("Exported Binaries",[...x.bin.keys()].map(Z=>ae.tuple(ae.Type.PATH,Z)));let ee=f.get(x.locatorHash);typeof ee!="undefined"&&ee.length>0&&W("Dependents",ee.map(Z=>ae.tuple(ae.Type.LOCATOR,Z))),x.dependencies.size>0&&!M&&W("Dependencies",[...x.dependencies.values()].map(Z=>{var le;let A=r.storedResolutions.get(Z.descriptorHash),ne=typeof A!="undefined"&&(le=r.storedPackages.get(A))!=null?le:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:Z,locator:ne})})),x.peerDependencies.size>0&&M&&W("Peer dependencies",[...x.peerDependencies.values()].map(Z=>{var Ae,T;let A=x.dependencies.get(Z.identHash),ne=typeof A!="undefined"&&(Ae=r.storedResolutions.get(A.descriptorHash))!=null?Ae:null,le=ne!==null&&(T=r.storedPackages.get(ne))!=null?T:null;return ae.tuple(ae.Type.RESOLUTION,{descriptor:Z,locator:le})}))}as.emitTree(m,{configuration:e,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};dm.paths=[["info"]],dm.usage=Re.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});var kae=dm;var ob=ge(hc());Es();var Cm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=z.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=z.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.checkCache=z.Boolean("--check-cache",!1,{description:"Always refetch the packages and ensure that their checksums are consistent"});this.inlineBuilds=z.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.cacheFolder=z.String("--cache-folder",{hidden:!0});this.frozenLockfile=z.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=z.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=z.Boolean("--non-interactive",{hidden:!0});this.preferOffline=z.Boolean("--prefer-offline",{hidden:!0});this.production=z.Boolean("--production",{hidden:!0});this.registry=z.String("--registry",{hidden:!0});this.silent=z.Boolean("--silent",{hidden:!0});this.networkTimeout=z.String("--network-timeout",{hidden:!0})}async execute(){var g;let e=await ye.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds!="undefined"&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});let r=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,i=async(f,{error:h})=>{let p=await Je.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async m=>{h?m.reportError($.DEPRECATED_CLI_SETTINGS,f):m.reportWarning($.DEPRECATED_CLI_SETTINGS,f)});return p.hasErrors()?p.exitCode():null};if(typeof this.ignoreEngines!="undefined"){let f=await i("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!ob.default.VERCEL});if(f!==null)return f}if(typeof this.registry!="undefined"){let f=await i("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(f!==null)return f}if(typeof this.preferOffline!="undefined"){let f=await i("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!ob.default.VERCEL});if(f!==null)return f}if(typeof this.production!="undefined"){let f=await i("The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",{error:!0});if(f!==null)return f}if(typeof this.nonInteractive!="undefined"){let f=await i("The --non-interactive option is deprecated",{error:!r});if(f!==null)return f}if(typeof this.frozenLockfile!="undefined"&&(await i("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!1}),this.immutable=this.frozenLockfile),typeof this.cacheFolder!="undefined"){let f=await i("The cache-folder option has been deprecated; use rc settings instead",{error:!ob.default.NETLIFY});if(f!==null)return f}let n=this.mode===di.UpdateLockfile;if(n&&(this.immutable||this.immutableCache))throw new Pe(`${ae.pretty(e,"--immutable",ae.Type.CODE)} and ${ae.pretty(e,"--immutable-cache",ae.Type.CODE)} cannot be used with ${ae.pretty(e,"--mode=update-lockfile",ae.Type.CODE)}`);let s=((g=this.immutable)!=null?g:e.get("enableImmutableInstalls"))&&!n,o=this.immutableCache&&!n;if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{await M8e(e,s)&&(h.reportInfo($.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts \u{1F44D}"),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}if(e.projectCwd!==null&&typeof e.sources.get("nodeLinker")=="undefined"){let f=e.projectCwd,h;try{h=await K.readFilePromise(k.join(f,Pt.lockfile),"utf8")}catch{}if(h==null?void 0:h.includes("yarn lockfile v1")){let p=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async m=>{m.reportInfo($.AUTO_NM_SUCCESS,"Migrating from Yarn 1; automatically enabling the compatibility node-modules linker \u{1F44D}"),m.reportSeparator(),e.use("",{nodeLinker:"node-modules"},f,{overwrite:!0}),await ye.updateConfiguration(f,{nodeLinker:"node-modules"})});if(p.hasErrors())return p.exitCode()}}if(e.projectCwd!==null){let f=await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async h=>{var p;((p=ye.telemetry)==null?void 0:p.isNew)&&(h.reportInfo($.TELEMETRY_NOTICE,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),h.reportInfo($.TELEMETRY_NOTICE,`Run ${ae.pretty(e,"yarn config set --home enableTelemetry 0",ae.Type.CODE)} to disable`),h.reportSeparator())});if(f.hasErrors())return f.exitCode()}let{project:a,workspace:l}=await ze.find(e,this.context.cwd),c=await Nt.find(e,{immutable:o,check:this.checkCache});if(!l)throw new ht(a.cwd,this.context.cwd);return await a.restoreInstallState({restoreResolutions:!1}),(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async f=>{await a.install({cache:c,report:f,immutable:s,mode:this.mode})})).exitCode()}};Cm.paths=[["install"],Re.Default],Cm.usage=Re.Usage({description:"install the project dependencies",details:` + This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics: + + - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ). + + - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of \`cacheFolder\` in \`yarn config\` to see where the cache files are stored). + + - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the .pnp.cjs file you might know). + + - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail. + + Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.cjs file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches. + + If the \`--immutable\` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the \`immutablePatterns\` configuration setting). For backward compatibility we offer an alias under the name of \`--frozen-lockfile\`, but it will be removed in a later release. + + If the \`--immutable-cache\` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed). + + If the \`--check-cache\` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them. + + If the \`--inline-builds\` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + `,examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var xae=Cm,U8e="|||||||",K8e=">>>>>>>",H8e="=======",Pae="<<<<<<<";async function M8e(t,e){if(!t.projectCwd)return!1;let r=k.join(t.projectCwd,t.get("lockfileFilename"));if(!await K.existsPromise(r))return!1;let i=await K.readFilePromise(r,"utf8");if(!i.includes(Pae))return!1;if(e)throw new ct($.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");let[n,s]=j8e(i),o,a;try{o=Qi(n),a=Qi(s)}catch(c){throw new ct($.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}let l=N(N({},o),a);for(let[c,u]of Object.entries(l))typeof u=="string"&&delete l[c];return await K.changeFilePromise(r,Na(l),{automaticNewlines:!0}),!0}function j8e(t){let e=[[],[]],r=t.split(/\r?\n/g),i=!1;for(;r.length>0;){let n=r.shift();if(typeof n=="undefined")throw new Error("Assertion failed: Some lines should remain");if(n.startsWith(Pae)){for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s===H8e){i=!1;break}else if(i||s.startsWith(U8e)){i=!0;continue}else e[0].push(s)}for(;r.length>0;){let s=r.shift();if(typeof s=="undefined")throw new Error("Assertion failed: Some lines should remain");if(s.startsWith(K8e))break;e[1].push(s)}}else e[0].push(n),e[1].push(n)}return[e[0].join(` +`),e[1].join(` +`)]}var mm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target project to the current one"});this.private=z.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target project to the current one"});this.relative=z.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destination=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=k.resolve(this.context.cwd,j.toPortablePath(this.destination)),o=await ye.find(s,this.context.plugins,{useRc:!1,strict:!1}),{project:a,workspace:l}=await ze.find(o,s);if(r.cwd===a.cwd)throw new Pe("Invalid destination; Can't link the project to itself");if(!l)throw new ht(a.cwd,s);let c=r.topLevelWorkspace,u=[];if(this.all){for(let f of a.workspaces)f.manifest.name&&(!f.manifest.private||this.private)&&u.push(f);if(u.length===0)throw new Pe("No workspace found to be linked in the target project")}else{if(!l.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be linked");if(l.manifest.private&&!this.private)throw new Pe("The target workspace is marked private - use the --private flag to link it anyway");u.push(l)}for(let f of u){let h=P.stringifyIdent(f.locator),p=this.relative?k.relative(r.cwd,f.cwd):f.cwd;c.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${p}`})}return(await Je.start({configuration:e,stdout:this.context.stdout},async f=>{await r.install({cache:n,report:f})})).exitCode()}};mm.paths=[["link"]],mm.usage=Re.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});var Dae=mm;var Em=class extends Le{constructor(){super(...arguments);this.args=z.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Em.paths=[["node"]],Em.usage=Re.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});var Rae=Em;var Hae=ge(require("os"));var Nae=ge(require("os"));var G8e="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function yu(t){let e=await ir.get(G8e,{configuration:t});return Qi(e.toString())}var Im=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{let n=await yu(e);for(let s of Object.entries(n)){let[l,o]=s,a=o,{experimental:c}=a,u=Tr(a,["experimental"]);let g=l;c&&(g+=" [experimental]"),i.reportJson(N({name:l,experimental:c},u)),i.reportInfo(null,g)}})).exitCode()}};Im.paths=[["plugin","list"]],Im.usage=Re.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Fae=Im;var Y8e=/^[0-9]+$/;function Lae(t){return Y8e.test(t)?`pull/${t}/head`:t}var q8e=({repository:t,branch:e},r)=>[["git","init",j.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",Lae(e)],["git","reset","--hard","FETCH_HEAD"]],J8e=({branch:t})=>[["git","fetch","origin","--depth=1",Lae(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],W8e=({plugins:t,noMinify:e},r)=>[["yarn","build:cli",...new Array().concat(...t.map(i=>["--plugin",k.resolve(r,i)])),...e?["--no-minify"]:[],"|"]],ym=class extends Le{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=z.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=z.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,j.toPortablePath(this.installPath)):k.resolve(j.toPortablePath((0,Nae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{await JN(this,{configuration:e,report:s,target:i}),s.reportSeparator(),s.reportInfo($.UNNAMED,"Building a fresh bundle"),s.reportSeparator(),await wm(W8e(this,i),{configuration:e,context:this.context,target:i}),s.reportSeparator();let o=k.resolve(i,"packages/yarnpkg-cli/bundles/yarn.js"),a=await K.readFilePromise(o);await YN(e,"sources",a,{report:s}),this.skipPlugins||await z8e(this,{project:r,report:s,target:i})})).exitCode()}};ym.paths=[["set","version","from","sources"]],ym.usage=Re.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});var Tae=ym;async function wm(t,{configuration:e,context:r,target:i}){for(let[n,...s]of t){let o=s[s.length-1]==="|";if(o&&s.pop(),o)await Fr.pipevp(n,s,{cwd:i,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${ae.pretty(e,` $ ${[n,...s].join(" ")}`,"grey")} +`);try{await Fr.execvp(n,s,{cwd:i,strict:!0})}catch(a){throw r.stdout.write(a.stdout||a.stack),a}}}}async function JN(t,{configuration:e,report:r,target:i}){let n=!1;if(!t.force&&K.existsSync(k.join(i,".git"))){r.reportInfo($.UNNAMED,"Fetching the latest commits"),r.reportSeparator();try{await wm(J8e(t),{configuration:e,context:t.context,target:i}),n=!0}catch(s){r.reportSeparator(),r.reportWarning($.UNNAMED,"Repository update failed; we'll try to regenerate it")}}n||(r.reportInfo($.UNNAMED,"Cloning the remote repository"),r.reportSeparator(),await K.removePromise(i),await K.mkdirPromise(i,{recursive:!0}),await wm(q8e(t,i),{configuration:e,context:t.context,target:i}))}async function z8e(t,{project:e,report:r,target:i}){let n=await yu(e.configuration),s=new Set(Object.keys(n));for(let o of e.configuration.plugins.keys())!s.has(o)||await qN(o,t,{project:e,report:r,target:i})}var Oae=ge(ti()),Mae=ge(require("url")),Uae=ge(require("vm"));var Bm=class extends Le{constructor(){super(...arguments);this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,stdout:this.context.stdout},async i=>{let{project:n}=await ze.find(e,this.context.cwd),s,o;if(this.name.match(/^\.{0,2}[\\/]/)||j.isAbsolute(this.name)){let a=k.resolve(this.context.cwd,j.toPortablePath(this.name));i.reportInfo($.UNNAMED,`Reading ${ae.pretty(e,a,ae.Type.PATH)}`),s=k.relative(n.cwd,a),o=await K.readFilePromise(a)}else{let a;if(this.name.match(/^https?:/)){try{new Mae.URL(this.name)}catch{throw new ct($.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}s=this.name,a=this.name}else{let l=P.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(l.reference!=="unknown"&&!Oae.default.valid(l.reference))throw new ct($.UNNAMED,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let c=P.stringifyIdent(l),u=await yu(e);if(!Object.prototype.hasOwnProperty.call(u,c))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${c}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);s=c,a=u[c].url,l.reference!=="unknown"?a=a.replace(/\/master\//,`/${c}/${l.reference}/`):Ur!==null&&(a=a.replace(/\/master\//,`/@yarnpkg/cli/${Ur}/`))}i.reportInfo($.UNNAMED,`Downloading ${ae.pretty(e,a,"green")}`),o=await ir.get(a,{configuration:e})}await WN(s,o,{project:n,report:i})})).exitCode()}};Bm.paths=[["plugin","import"]],Bm.usage=Re.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});var Kae=Bm;async function WN(t,e,{project:r,report:i}){let{configuration:n}=r,s={},o={exports:s};(0,Uae.runInNewContext)(e.toString(),{module:o,exports:s});let a=o.exports.name,l=`.yarn/plugins/${a}.cjs`,c=k.resolve(r.cwd,l);i.reportInfo($.UNNAMED,`Saving the new plugin in ${ae.pretty(n,l,"magenta")}`),await K.mkdirPromise(k.dirname(c),{recursive:!0}),await K.writeFilePromise(c,e);let u={path:l,spec:t};await ye.updateConfiguration(r.cwd,g=>{let f=[],h=!1;for(let p of g.plugins||[]){let m=typeof p!="string"?p.path:p,y=k.resolve(r.cwd,j.toPortablePath(m)),{name:Q}=Se.dynamicRequire(y);Q!==a?f.push(p):(f.push(u),h=!0)}return h||f.push(u),te(N({},g),{plugins:f})})}var _8e=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],bm=class extends Le{constructor(){super(...arguments);this.installPath=z.String("--path",{description:"The path where the repository should be cloned to"});this.repository=z.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=z.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=z.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=z.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=typeof this.installPath!="undefined"?k.resolve(this.context.cwd,j.toPortablePath(this.installPath)):k.resolve(j.toPortablePath((0,Hae.tmpdir)()),"yarnpkg-sources",Dn.makeHash(this.repository).slice(0,6));return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let{project:s}=await ze.find(e,this.context.cwd),o=P.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),a=P.stringifyIdent(o),l=await yu(e);if(!Object.prototype.hasOwnProperty.call(l,a))throw new ct($.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${a}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let c=a;await JN(this,{configuration:e,report:n,target:r}),await qN(c,this,{project:s,report:n,target:r})})).exitCode()}};bm.paths=[["plugin","import","from","sources"]],bm.usage=Re.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});var jae=bm;async function qN(t,{context:e,noMinify:r},{project:i,report:n,target:s}){let o=t.replace(/@yarnpkg\//,""),{configuration:a}=i;n.reportSeparator(),n.reportInfo($.UNNAMED,`Building a fresh ${o}`),n.reportSeparator(),await wm(_8e({pluginName:o,noMinify:r},s),{configuration:a,context:e,target:s}),n.reportSeparator();let l=k.resolve(s,`packages/${o}/bundles/${t}.js`),c=await K.readFilePromise(l);await WN(t,c,{project:i,report:n})}var Qm=class extends Le{constructor(){super(...arguments);this.name=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=this.name,o=P.parseIdent(s);if(!e.plugins.has(s))throw new Pe(`${P.prettyIdent(e,o)} isn't referenced by the current configuration`);let a=`.yarn/plugins/${s}.cjs`,l=k.resolve(r.cwd,a);K.existsSync(l)&&(n.reportInfo($.UNNAMED,`Removing ${ae.pretty(e,a,ae.Type.PATH)}...`),await K.removePromise(l)),n.reportInfo($.UNNAMED,"Updating the configuration..."),await ye.updateConfiguration(r.cwd,c=>{if(!Array.isArray(c.plugins))return c;let u=c.plugins.filter(g=>g.path!==a);return c.plugins.length===u.length?c:te(N({},c),{plugins:u})})})).exitCode()}};Qm.paths=[["plugin","remove"]],Qm.usage=Re.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});var Gae=Qm;var vm=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async i=>{for(let n of e.plugins.keys()){let s=this.context.plugins.plugins.has(n),o=n;s&&(o+=" [builtin]"),i.reportJson({name:n,builtin:s}),i.reportInfo(null,`${o}`)}})).exitCode()}};vm.paths=[["plugin","runtime"]],vm.usage=Re.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});var Yae=vm;var Sm=class extends Le{constructor(){super(...arguments);this.idents=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=new Set;for(let a of this.idents)s.add(P.parseIdent(a).identHash);if(await r.restoreInstallState({restoreResolutions:!1}),await r.resolveEverything({cache:n,report:new pi}),s.size>0)for(let a of r.storedPackages.values())s.has(a.identHash)&&r.storedBuildState.delete(a.locatorHash);else r.storedBuildState.clear();return(await Je.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async a=>{await r.install({cache:n,report:a})})).exitCode()}};Sm.paths=[["rebuild"]],Sm.usage=Re.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});var qae=Sm;var zN=ge(ts());Es();var km=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=this.all?r.workspaces:[i],o=[Hr.REGULAR,Hr.DEVELOPMENT,Hr.PEER],a=[],l=!1,c=[];for(let h of this.patterns){let p=!1,m=P.parseIdent(h);for(let y of s){let Q=[...y.manifest.peerDependenciesMeta.keys()];for(let S of(0,zN.default)(Q,h))y.manifest.peerDependenciesMeta.delete(S),l=!0,p=!0;for(let S of o){let x=y.manifest.getForScope(S),M=[...x.values()].map(Y=>P.stringifyIdent(Y));for(let Y of(0,zN.default)(M,P.stringifyIdent(m))){let{identHash:U}=P.parseIdent(Y),J=x.get(U);if(typeof J=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");y.manifest[S].delete(U),c.push([y,S,J]),l=!0,p=!0}}}p||a.push(h)}let u=a.length>1?"Patterns":"Pattern",g=a.length>1?"don't":"doesn't",f=this.all?"any":"this";if(a.length>0)throw new Pe(`${u} ${ae.prettyList(e,a,Di.CODE)} ${g} match any packages referenced by ${f} workspace`);return l?(await e.triggerMultipleHooks(p=>p.afterWorkspaceDependencyRemoval,c),(await Je.start({configuration:e,stdout:this.context.stdout},async p=>{await r.install({cache:n,report:p,mode:this.mode})})).exitCode()):0}};km.paths=[["remove"]],km.usage=Re.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});var Jae=km;var Wae=ge(require("util")),ab=class extends Le{async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);return(await Je.start({configuration:e,stdout:this.context.stdout},async s=>{let o=i.manifest.scripts,a=Se.sortMap(o.keys(),u=>u),l={breakLength:Infinity,colors:e.get("enableColors"),maxArrayLength:2},c=a.reduce((u,g)=>Math.max(u,g.length),0);for(let[u,g]of o.entries())s.reportInfo(null,`${u.padEnd(c," ")} ${(0,Wae.inspect)(g,l)}`)})).exitCode()}};ab.paths=[["run"]];var zae=ab;var xm=class extends Le{constructor(){super(...arguments);this.inspect=z.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=z.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=z.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=z.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.silent=z.Boolean("--silent",{hidden:!0});this.scriptName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i,locator:n}=await ze.find(e,this.context.cwd);await r.restoreInstallState();let s=this.topLevel?r.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await Zt.hasPackageScript(s,this.scriptName,{project:r}))return await Zt.executePackageScript(s,this.scriptName,this.args,{project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let o=await Zt.getPackageAccessibleBinaries(s,{project:r});if(o.get(this.scriptName)){let l=[];return this.inspect&&(typeof this.inspect=="string"?l.push(`--inspect=${this.inspect}`):l.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?l.push(`--inspect-brk=${this.inspectBrk}`):l.push("--inspect-brk")),await Zt.executePackageAccessibleBinary(s,this.scriptName,this.args,{cwd:this.context.cwd,project:r,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:l,packageAccessibleBinaries:o})}if(!this.topLevel&&!this.binariesOnly&&i&&this.scriptName.includes(":")){let c=(await Promise.all(r.workspaces.map(async u=>u.manifest.scripts.has(this.scriptName)?u:null))).filter(u=>u!==null);if(c.length===1)return await Zt.executeWorkspaceScript(c[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new Pe(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${P.prettyLocator(e,n)}).`);{if(this.scriptName==="global")throw new Pe("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let l=[this.scriptName].concat(this.args);for(let[c,u]of Nf)for(let g of u)if(l.length>=g.length&&JSON.stringify(l.slice(0,g.length))===JSON.stringify(g))throw new Pe(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${c} plugin. You can install it with "yarn plugin import ${c}".`);throw new Pe(`Couldn't find a script named "${this.scriptName}".`)}}};xm.paths=[["run"]],xm.usage=Re.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});var _ae=xm;var Pm=class extends Le{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Persist the resolution inside the top-level manifest"});this.descriptor=z.String();this.resolution=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(await r.restoreInstallState({restoreResolutions:!1}),!i)throw new ht(r.cwd,this.context.cwd);let s=P.parseDescriptor(this.descriptor,!0),o=P.makeDescriptor(s,this.resolution);return r.storedDescriptors.set(s.descriptorHash,s),r.storedDescriptors.set(o.descriptorHash,o),r.resolutionAliases.set(s.descriptorHash,o.descriptorHash),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Pm.paths=[["set","resolution"]],Pm.usage=Re.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});var Vae=Pm;var Xae=ge(ts()),Dm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);let s=r.topLevelWorkspace,o=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:l,reference:c}of s.manifest.resolutions)c.startsWith("portal:")&&o.add(l.descriptor.fullName);if(this.leadingArguments.length>0)for(let l of this.leadingArguments){let c=k.resolve(this.context.cwd,j.toPortablePath(l));if(Se.isPathLike(l)){let u=await ye.find(c,this.context.plugins,{useRc:!1,strict:!1}),{project:g,workspace:f}=await ze.find(u,c);if(!f)throw new ht(g.cwd,c);if(this.all){for(let h of g.workspaces)h.manifest.name&&o.add(P.stringifyIdent(h.locator));if(o.size===0)throw new Pe("No workspace found to be unlinked in the target project")}else{if(!f.manifest.name)throw new Pe("The target workspace doesn't have a name and thus cannot be unlinked");o.add(P.stringifyIdent(f.locator))}}else{let u=[...s.manifest.resolutions.map(({pattern:g})=>g.descriptor.fullName)];for(let g of(0,Xae.default)(u,l))o.add(g)}}return s.manifest.resolutions=s.manifest.resolutions.filter(({pattern:l})=>!o.has(l.descriptor.fullName)),(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{await r.install({cache:n,report:l})})).exitCode()}};Dm.paths=[["unlink"]],Dm.usage=Re.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});var Zae=Dm;var $ae=ge($C()),_N=ge(ts());Es();var eh=class extends Le{constructor(){super(...arguments);this.interactive=z.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.exact=z.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=z.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=z.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=z.String("--mode",{description:"Change what artifacts installs generate",validator:nn(di)});this.patterns=z.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=[...r.storedDescriptors.values()],o=s.map(u=>P.stringifyIdent(u)),a=new Set;for(let u of this.patterns){if(P.parseDescriptor(u).range!=="unknown")throw new Pe("Ranges aren't allowed when using --recursive");for(let g of(0,_N.default)(o,u)){let f=P.parseIdent(g);a.add(f.identHash)}}let l=s.filter(u=>a.has(u.identHash));for(let u of l)r.storedDescriptors.delete(u.descriptorHash),r.storedResolutions.delete(u.descriptorHash);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{await r.install({cache:n,report:u})})).exitCode()}async executeUpClassic(){var m;let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState({restoreResolutions:!1});let s=(m=this.interactive)!=null?m:e.get("preferInteractive"),o=em(this,r),a=s?[_r.KEEP,_r.REUSE,_r.PROJECT,_r.LATEST]:[_r.PROJECT,_r.LATEST],l=[],c=[];for(let y of this.patterns){let Q=!1,S=P.parseDescriptor(y);for(let x of r.workspaces)for(let M of[Hr.REGULAR,Hr.DEVELOPMENT]){let U=[...x.manifest.getForScope(M).values()].map(J=>P.stringifyIdent(J));for(let J of(0,_N.default)(U,P.stringifyIdent(S))){let W=P.parseIdent(J),ee=x.manifest[M].get(W.identHash);if(typeof ee=="undefined")throw new Error("Assertion failed: Expected the descriptor to be registered");let Z=P.makeDescriptor(W,S.range);l.push(Promise.resolve().then(async()=>[x,M,ee,await tm(Z,{project:r,workspace:x,cache:n,target:M,modifier:o,strategies:a})])),Q=!0}}Q||c.push(y)}if(c.length>1)throw new Pe(`Patterns ${ae.prettyList(e,c,Di.CODE)} don't match any packages referenced by any workspace`);if(c.length>0)throw new Pe(`Pattern ${ae.prettyList(e,c,Di.CODE)} doesn't match any packages referenced by any workspace`);let u=await Promise.all(l),g=await uA.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async y=>{for(let[,,Q,{suggestions:S,rejections:x}]of u){let M=S.filter(Y=>Y.descriptor!==null);if(M.length===0){let[Y]=x;if(typeof Y=="undefined")throw new Error("Assertion failed: Expected an error to have been set");let U=this.cli.error(Y);r.configuration.get("enableNetwork")?y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range + +${U}`):y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${U}`)}else M.length>1&&!s&&y.reportError($.CANT_SUGGEST_RESOLUTIONS,`${P.prettyDescriptor(e,Q)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(g.hasErrors())return g.exitCode();let f=!1,h=[];for(let[y,Q,,{suggestions:S}]of u){let x,M=S.filter(W=>W.descriptor!==null),Y=M[0].descriptor,U=M.every(W=>P.areDescriptorsEqual(W.descriptor,Y));M.length===1||U?x=Y:(f=!0,{answer:x}=await(0,$ae.prompt)({type:"select",name:"answer",message:`Which range to you want to use in ${P.prettyWorkspace(e,y)} \u276F ${Q}?`,choices:S.map(({descriptor:W,name:ee,reason:Z})=>W?{name:ee,hint:Z,descriptor:W}:{name:ee,hint:Z,disabled:!0}),onCancel:()=>process.exit(130),result(W){return this.find(W,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let J=y.manifest[Q].get(x.identHash);if(typeof J=="undefined")throw new Error("Assertion failed: This descriptor should have a matching entry");if(J.descriptorHash!==x.descriptorHash)y.manifest[Q].set(x.identHash,x),h.push([y,Q,J,x]);else{let W=e.makeResolver(),ee={project:r,resolver:W},Z=W.bindDescriptor(J,y.anchoredLocator,ee);r.forgetResolution(Z)}}return await e.triggerMultipleHooks(y=>y.afterWorkspaceDependencyReplacement,h),f&&this.context.stdout.write(` +`),(await Je.start({configuration:e,stdout:this.context.stdout},async y=>{await r.install({cache:n,report:y,mode:this.mode})})).exitCode()}};eh.paths=[["up"]],eh.usage=Re.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the later will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),eh.schema=[lv("recursive",Cc.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];var eAe=eh;var Rm=class extends Le{constructor(){super(...arguments);this.recursive=z.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=z.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=P.parseIdent(this.package).identHash,s=this.recursive?X8e(r,n,{configuration:e,peers:this.peers}):V8e(r,n,{configuration:e,peers:this.peers});as.emitTree(s,{configuration:e,stdout:this.context.stdout,json:this.json,separators:1})}};Rm.paths=[["why"]],Rm.usage=Re.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});var tAe=Rm;function V8e(t,e,{configuration:r,peers:i}){let n=Se.sortMap(t.storedPackages.values(),a=>P.stringifyLocator(a)),s={},o={children:s};for(let a of n){let l={},c=null;for(let u of a.dependencies.values()){if(!i&&a.peerDependencies.has(u.identHash))continue;let g=t.storedResolutions.get(u.descriptorHash);if(!g)throw new Error("Assertion failed: The resolution should have been registered");let f=t.storedPackages.get(g);if(!f)throw new Error("Assertion failed: The package should have been registered");if(f.identHash!==e)continue;if(c===null){let p=P.stringifyLocator(a);s[p]={value:[a,ae.Type.LOCATOR],children:l}}let h=P.stringifyLocator(f);l[h]={value:[{descriptor:u,locator:f},ae.Type.DEPENDENT]}}}return o}function X8e(t,e,{configuration:r,peers:i}){let n=Se.sortMap(t.workspaces,f=>P.stringifyLocator(f.anchoredLocator)),s=new Set,o=new Set,a=f=>{if(s.has(f.locatorHash))return o.has(f.locatorHash);if(s.add(f.locatorHash),f.identHash===e)return o.add(f.locatorHash),!0;let h=!1;f.identHash===e&&(h=!0);for(let p of f.dependencies.values()){if(!i&&f.peerDependencies.has(p.identHash))continue;let m=t.storedResolutions.get(p.descriptorHash);if(!m)throw new Error("Assertion failed: The resolution should have been registered");let y=t.storedPackages.get(m);if(!y)throw new Error("Assertion failed: The package should have been registered");a(y)&&(h=!0)}return h&&o.add(f.locatorHash),h};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");a(h)}let l=new Set,c={},u={children:c},g=(f,h,p)=>{if(!o.has(f.locatorHash))return;let m=p!==null?ae.tuple(ae.Type.DEPENDENT,{locator:f,descriptor:p}):ae.tuple(ae.Type.LOCATOR,f),y={},Q={value:m,children:y},S=P.stringifyLocator(f);if(h[S]=Q,!l.has(f.locatorHash)&&(l.add(f.locatorHash),!(p!==null&&t.tryWorkspaceByLocator(f))))for(let x of f.dependencies.values()){if(!i&&f.peerDependencies.has(x.identHash))continue;let M=t.storedResolutions.get(x.descriptorHash);if(!M)throw new Error("Assertion failed: The resolution should have been registered");let Y=t.storedPackages.get(M);if(!Y)throw new Error("Assertion failed: The package should have been registered");g(Y,y,x)}};for(let f of n){let h=t.storedPackages.get(f.anchoredLocator.locatorHash);if(!h)throw new Error("Assertion failed: The package should have been registered");g(h,c,null)}return u}var aL={};ft(aL,{default:()=>mze,gitUtils:()=>wu});var wu={};ft(wu,{TreeishProtocols:()=>On,clone:()=>nL,fetchBase:()=>wAe,fetchChangedFiles:()=>BAe,fetchChangedWorkspaces:()=>dze,fetchRoot:()=>yAe,isGitUrl:()=>rh,lsRemote:()=>IAe,normalizeLocator:()=>tL,normalizeRepoUrl:()=>Fm,resolveUrl:()=>iL,splitRepoUrl:()=>Nm});var $N=ge(dAe()),CAe=ge(tB()),th=ge(require("querystring")),eL=ge(ti()),mAe=ge(require("url"));function EAe(){return te(N({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}var pze=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],On;(function(n){n.Commit="commit",n.Head="head",n.Tag="tag",n.Semver="semver"})(On||(On={}));function rh(t){return t?pze.some(e=>!!t.match(e)):!1}function Nm(t){t=Fm(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:On.Head,request:"HEAD"},extra:{}};let r=t.slice(0,e),i=t.slice(e+1);if(i.match(/^[a-z]+=/)){let n=th.default.parse(i);for(let[l,c]of Object.entries(n))if(typeof c!="string")throw new Error(`Assertion failed: The ${l} parameter must be a literal string`);let s=Object.values(On).find(l=>Object.prototype.hasOwnProperty.call(n,l)),o,a;typeof s!="undefined"?(o=s,a=n[s]):(o=On.Head,a="HEAD");for(let l of Object.values(On))delete n[l];return{repo:r,treeish:{protocol:o,request:a},extra:n}}else{let n=i.indexOf(":"),s,o;return n===-1?(s=null,o=i):(s=i.slice(0,n),o=i.slice(n+1)),{repo:r,treeish:{protocol:s,request:o},extra:{}}}}function Fm(t,{git:e=!1}={}){var r;if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){t=t.replace(/^git\+([^:]+):/,"$1:");let i;try{i=mAe.default.parse(t)}catch{i=null}i&&i.protocol==="ssh:"&&((r=i.path)==null?void 0:r.startsWith("/:"))&&(t=t.replace(/^ssh:\/\//,""))}return t}function tL(t){return P.makeLocator(t,Fm(t.reference))}async function IAe(t,e){let r=Fm(t,{git:!0});if(!ir.getNetworkSettings(`https://${(0,$N.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Error(`Request to '${r}' has been blocked because of your configuration settings`);let n=await rL("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:EAe()},{configuration:e,normalizedRepoUrl:r}),s=new Map,o=/^([a-f0-9]{40})\t([^\n]+)/gm,a;for(;(a=o.exec(n.stdout))!==null;)s.set(a[2],a[1]);return s}async function iL(t,e){let{repo:r,treeish:{protocol:i,request:n},extra:s}=Nm(t),o=await IAe(r,e),a=(c,u)=>{switch(c){case On.Commit:{if(!u.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return th.default.stringify(te(N({},s),{commit:u}))}case On.Head:{let g=o.get(u==="HEAD"?u:`refs/heads/${u}`);if(typeof g=="undefined")throw new Error(`Unknown head ("${u}")`);return th.default.stringify(te(N({},s),{commit:g}))}case On.Tag:{let g=o.get(`refs/tags/${u}`);if(typeof g=="undefined")throw new Error(`Unknown tag ("${u}")`);return th.default.stringify(te(N({},s),{commit:g}))}case On.Semver:{let g=Wt.validRange(u);if(!g)throw new Error(`Invalid range ("${u}")`);let f=new Map([...o.entries()].filter(([p])=>p.startsWith("refs/tags/")).map(([p,m])=>[eL.default.parse(p.slice(10)),m]).filter(p=>p[0]!==null)),h=eL.default.maxSatisfying([...f.keys()],g);if(h===null)throw new Error(`No matching range ("${u}")`);return th.default.stringify(te(N({},s),{commit:f.get(h)}))}case null:{let g;if((g=l(On.Commit,u))!==null||(g=l(On.Tag,u))!==null||(g=l(On.Head,u))!==null)return g;throw u.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${u}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${c}")`)}},l=(c,u)=>{try{return a(c,u)}catch(g){return null}};return`${r}#${a(i,n)}`}async function nL(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:i,request:n}}=Nm(t);if(i!=="commit")throw new Error("Invalid treeish protocol when cloning");let s=Fm(r,{git:!0});if(ir.getNetworkSettings(`https://${(0,$N.default)(s).resource}`,{configuration:e}).enableNetwork===!1)throw new Error(`Request to '${s}' has been blocked because of your configuration settings`);let o=await K.mktempPromise(),a={cwd:o,env:EAe()};return await rL("cloning the repository",["clone","-c core.autocrlf=false",s,j.fromPortablePath(o)],a,{configuration:e,normalizedRepoUrl:s}),await rL("switching branch",["checkout",`${n}`],a,{configuration:e,normalizedRepoUrl:s}),o})}async function yAe(t){let e=null,r,i=t;do r=i,await K.existsPromise(k.join(r,".git"))&&(e=r),i=k.dirname(r);while(e===null&&i!==r);return e}async function wAe(t,{baseRefs:e}){if(e.length===0)throw new Pe("Can't run this command with zero base refs specified.");let r=[];for(let a of e){let{code:l}=await Fr.execvp("git",["merge-base",a,"HEAD"],{cwd:t});l===0&&r.push(a)}if(r.length===0)throw new Pe(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:i}=await Fr.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),n=i.trim(),{stdout:s}=await Fr.execvp("git",["show","--quiet","--pretty=format:%s",n],{cwd:t,strict:!0}),o=s.trim();return{hash:n,title:o}}async function BAe(t,{base:e,project:r}){let i=Se.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:n}=await Fr.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),s=n.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(t,j.toPortablePath(c))),{stdout:o}=await Fr.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),a=o.split(/\r\n|\r|\n/).filter(c=>c.length>0).map(c=>k.resolve(t,j.toPortablePath(c))),l=[...new Set([...s,...a].sort())];return i?l.filter(c=>!k.relative(r.cwd,c).match(i)):l}async function dze({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new Pe("This command can only be run from within a Yarn project");let r=[k.resolve(e.cwd,e.configuration.get("cacheFolder")),k.resolve(e.cwd,e.configuration.get("installStatePath")),k.resolve(e.cwd,e.configuration.get("lockfileFilename")),k.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(o=>o.populateYarnPaths,e,o=>{o!=null&&r.push(o)});let i=await yAe(e.configuration.projectCwd);if(i==null)throw new Pe("This command can only be run on Git repositories");let n=await wAe(i,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),s=await BAe(i,{base:n.hash,project:e});return new Set(Se.mapAndFilter(s,o=>{let a=e.tryWorkspaceByFilePath(o);return a===null?Se.mapAndFilter.skip:r.some(l=>o.startsWith(l))?Se.mapAndFilter.skip:a}))}async function rL(t,e,r,{configuration:i,normalizedRepoUrl:n}){try{return await Fr.execvp("git",e,te(N({},r),{strict:!0}))}catch(s){if(!(s instanceof Fr.ExecError))throw s;let o=s.reportExtra,a=s.stderr.toString();throw new ct($.EXCEPTION,`Failed ${t}`,l=>{l.reportError($.EXCEPTION,` ${ae.prettyField(i,{label:"Repository URL",value:ae.tuple(ae.Type.URL,n)})}`);for(let c of a.matchAll(/^(.+?): (.*)$/gm)){let[,u,g]=c;u=u.toLowerCase();let f=u==="error"?"Error":`${(0,CAe.default)(u)} Error`;l.reportError($.EXCEPTION,` ${ae.prettyField(i,{label:f,value:ae.tuple(ae.Type.NO_HINT,g)})}`)}o==null||o(l)})}}var sL=class{supports(e,r){return rh(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,n=tL(e),s=new Map(r.checksums);s.set(n.locatorHash,i);let o=te(N({},r),{checksums:s}),a=await this.downloadHosted(n,o);if(a!==null)return a;let[l,c,u]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(n,o),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:l,releaseFs:c,prefixPath:P.getIdentVendorPath(e),checksum:u}}async downloadHosted(e,r){return r.project.configuration.reduceHook(i=>i.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let i=await nL(e.reference,r.project.configuration),n=Nm(e.reference),s=k.join(i,"package.tgz");await Zt.prepareExternalProject(i,s,{configuration:r.project.configuration,report:r.report,workspace:n.extra.workspace,locator:e});let o=await K.readFilePromise(s);return await Se.releaseAfterUseAsync(async()=>await wi.convertToZip(o,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}))}};var oL=class{supportsDescriptor(e,r){return rh(e.range)}supportsLocator(e,r){return rh(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=await iL(e.range,i.project.configuration);return[P.makeLocator(e,n)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Cze={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:Ie.STRING,isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:Ie.STRING,default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:Ie.NUMBER,default:2}},fetchers:[sL],resolvers:[oL]};var mze=Cze;var Lm=class extends Le{constructor(){super(...arguments);this.since=z.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.verbose=z.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd);return(await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async n=>{let s=this.since?await wu.fetchChangedWorkspaces({ref:this.since,project:r}):r.workspaces,o=new Set(s);if(this.recursive)for(let a of[...s].map(l=>l.getRecursiveWorkspaceDependents()))for(let l of a)o.add(l);for(let a of o){let{manifest:l}=a,c;if(this.verbose){let u=new Set,g=new Set;for(let f of At.hardDependencies)for(let[h,p]of l.getForScope(f)){let m=r.tryWorkspaceByDescriptor(p);m===null?r.workspacesByIdent.has(h)&&g.add(p):u.add(m)}c={workspaceDependencies:Array.from(u).map(f=>f.relativeCwd),mismatchedWorkspaceDependencies:Array.from(g).map(f=>P.stringifyDescriptor(f))}}n.reportInfo(null,`${a.relativeCwd}`),n.reportJson(N({location:a.relativeCwd,name:l.name?P.stringifyIdent(l.name):null},c))}})).exitCode()}};Lm.paths=[["workspaces","list"]],Lm.usage=Re.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});var bAe=Lm;var Tm=class extends Le{constructor(){super(...arguments);this.workspaceName=z.String();this.commandName=z.String();this.args=z.Proxy()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=r.workspaces,s=new Map(n.map(a=>{let l=P.convertToIdent(a.locator);return[P.stringifyIdent(l),a]})),o=s.get(this.workspaceName);if(o===void 0){let a=Array.from(s.keys()).sort();throw new Pe(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${a.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:o.cwd})}};Tm.paths=[["workspace"]],Tm.usage=Re.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var QAe=Tm;var Eze={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:Ie.BOOLEAN,default:vAe.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:Ie.STRING,values:["^","~",""],default:ga.CARET}},commands:[Tse,Mse,$oe,uae,Vae,Tae,bae,bAe,Cae,mae,Eae,Iae,Nse,Lse,gae,hae,yae,wae,vae,kae,xae,Dae,Zae,Rae,jae,Kae,Gae,Fae,Yae,qae,Jae,zae,_ae,eAe,tAe,QAe]},Ize=Eze;var gL={};ft(gL,{default:()=>wze});var Ye={optional:!0},SAe=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:Ye,zenObservable:Ye}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:Ye,zenObservable:Ye}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:Ye}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:Ye,["postcss-jsx"]:Ye,["postcss-less"]:Ye,["postcss-markdown"]:Ye,["postcss-scss"]:Ye}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:Ye}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:Ye}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@*",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:Ye,"vue-template-compiler":Ye}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:Ye,"utf-8-validate":Ye}}],["react-portal@*",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ye,"vuetify-loader":Ye}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":Ye}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":Ye}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":Ye}}],["consolidate@*",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:Ye,tinyliquid:Ye,"liquid-node":Ye,jade:Ye,"then-jade":Ye,dust:Ye,"dustjs-helpers":Ye,"dustjs-linkedin":Ye,swig:Ye,"swig-templates":Ye,"razor-tmpl":Ye,atpl:Ye,liquor:Ye,twig:Ye,ejs:Ye,eco:Ye,jazz:Ye,jqtpl:Ye,hamljs:Ye,hamlet:Ye,whiskers:Ye,"haml-coffee":Ye,"hogan.js":Ye,templayed:Ye,handlebars:Ye,underscore:Ye,lodash:Ye,pug:Ye,"then-pug":Ye,qejs:Ye,walrus:Ye,mustache:Ye,just:Ye,ect:Ye,mote:Ye,toffee:Ye,dot:Ye,"bracket-template":Ye,ractive:Ye,nunjucks:Ye,htmling:Ye,"babel-core":Ye,plates:Ye,"react-dom":Ye,react:Ye,"arc-templates":Ye,vash:Ye,slm:Ye,marko:Ye,teacup:Ye,"coffee-script":Ye,squirrelly:Ye,twing:Ye}}],["vue-loader@<=16.3.1",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"}}],["scss-parser@*",{dependencies:{lodash:"^4.17.21"}}],["query-ast@*",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:Ye}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:Ye}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":Ye,"webpack-command":Ye}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":Ye}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":Ye}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:Ye,jimp:Ye}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":Ye,"eslint-import-resolver-typescript":Ye,"eslint-import-resolver-webpack":Ye,"@typescript-eslint/parser":Ye}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":Ye}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":Ye}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.0"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:Ye}}],["@vue/eslint-config-typescript@*",{peerDependenciesMeta:{typescript:Ye}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}]];var lL;function kAe(){return typeof lL=="undefined"&&(lL=require("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),lL}var cL;function xAe(){return typeof cL=="undefined"&&(cL=require("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),cL}var uL;function PAe(){return typeof uL=="undefined"&&(uL=require("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),uL}var DAe=new Map([[P.makeIdent(null,"fsevents").identHash,kAe],[P.makeIdent(null,"resolve").identHash,xAe],[P.makeIdent(null,"typescript").identHash,PAe]]),yze={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,i]of SAe)e(P.parseDescriptor(r,!0),i)},getBuiltinPatch:async(t,e)=>{var s;let r="compat/";if(!e.startsWith(r))return;let i=P.parseIdent(e.slice(r.length)),n=(s=DAe.get(i.identHash))==null?void 0:s();return typeof n!="undefined"?n:null},reduceDependency:async(t,e,r,i)=>typeof DAe.get(t.identHash)=="undefined"?t:P.makeDescriptor(t,P.makeRange({protocol:"patch:",source:P.stringifyDescriptor(t),selector:`~builtin`,params:null}))}},wze=yze;var fL={};ft(fL,{default:()=>bze});var Ab=class extends Le{constructor(){super(...arguments);this.pkg=z.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){let e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");let r=P.parseIdent(this.command),i=P.makeIdent(r.scope,`create-${r.name}`);return this.cli.run(["dlx",...e,P.stringifyIdent(i),...this.args])}};Ab.paths=[["create"]];var RAe=Ab;var Om=class extends Le{constructor(){super(...arguments);this.packages=z.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=z.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=z.String();this.args=z.Proxy()}async execute(){return ye.telemetry=null,await K.mktempPromise(async e=>{var p;let r=k.join(e,`dlx-${process.pid}`);await K.mkdirPromise(r),await K.writeFilePromise(k.join(r,"package.json"),`{} +`),await K.writeFilePromise(k.join(r,"yarn.lock"),"");let i=k.join(r,".yarnrc.yml"),n=await ye.findProjectCwd(this.context.cwd,Pt.lockfile),s=!(await ye.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),o=n!==null?k.join(n,".yarnrc.yml"):null;o!==null&&K.existsSync(o)?(await K.copyFilePromise(o,i),await ye.updateConfiguration(r,m=>{let y=te(N({},m),{enableGlobalCache:s,enableTelemetry:!1});return Array.isArray(m.plugins)&&(y.plugins=m.plugins.map(Q=>{let S=typeof Q=="string"?Q:Q.path,x=j.isAbsolute(S)?S:j.resolve(j.fromPortablePath(n),S);return typeof Q=="string"?x:{path:x,spec:Q.spec}})),y})):await K.writeFilePromise(i,`enableGlobalCache: ${s} +enableTelemetry: false +`);let a=(p=this.packages)!=null?p:[this.command],l=P.parseDescriptor(this.command).name,c=await this.cli.run(["add","--",...a],{cwd:r,quiet:this.quiet});if(c!==0)return c;this.quiet||this.context.stdout.write(` +`);let u=await ye.find(r,this.context.plugins),{project:g,workspace:f}=await ze.find(u,r);if(f===null)throw new ht(g.cwd,r);await g.restoreInstallState();let h=await Zt.getWorkspaceAccessibleBinaries(f);return h.has(l)===!1&&h.size===1&&typeof this.packages=="undefined"&&(l=Array.from(h)[0][0]),await Zt.executeWorkspaceAccessibleBinary(f,l,this.args,{packageAccessibleBinaries:h,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};Om.paths=[["dlx"]],Om.usage=Re.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var FAe=Om;var Bze={commands:[RAe,FAe]},bze=Bze;var wL={};ft(wL,{default:()=>Sze,fileUtils:()=>hL});var ih=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,Mm=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Vr="file:";var hL={};ft(hL,{makeArchiveFromLocator:()=>lb,makeBufferFromLocator:()=>CL,makeLocator:()=>dL,makeSpec:()=>NAe,parseSpec:()=>pL});function pL(t){let{params:e,selector:r}=P.parseRange(t),i=j.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?P.parseLocator(e.locator):null,path:i}}function NAe({parentLocator:t,path:e,folderHash:r,protocol:i}){let n=t!==null?{locator:P.stringifyLocator(t)}:{},s=typeof r!="undefined"?{hash:r}:{};return P.makeRange({protocol:i,source:e,selector:e,params:N(N({},s),n)})}function dL(t,{parentLocator:e,path:r,folderHash:i,protocol:n}){return P.makeLocator(t,NAe({parentLocator:e,path:r,folderHash:i,protocol:n}))}async function lb(t,{protocol:e,fetchOptions:r,inMemory:i=!1}){let{parentLocator:n,path:s}=P.parseFileStyleRange(t.reference,{protocol:e}),o=k.isAbsolute(s)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(n,r),a=o.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,o.localPath)}:o;o!==a&&o.releaseFs&&o.releaseFs();let l=a.packageFs,c=k.join(a.prefixPath,s);return await Se.releaseAfterUseAsync(async()=>await wi.makeArchiveFromDirectory(c,{baseFs:l,prefixPath:P.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:i}),a.releaseFs)}async function CL(t,{protocol:e,fetchOptions:r}){return(await lb(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var mL=class{supports(e,r){return!!e.reference.startsWith(Vr)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Vr});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async fetchFromDisk(e,r){return lb(e,{protocol:Vr,fetchOptions:r})}};var Qze=2,EL=class{supportsDescriptor(e,r){return e.range.match(ih)?!0:!!e.range.startsWith(Vr)}supportsLocator(e,r){return!!e.reference.startsWith(Vr)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return ih.test(e.range)&&(e=P.makeDescriptor(e,`${Vr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:n,parentLocator:s}=pL(e.range);if(s===null)throw new Error("Assertion failed: The descriptor should have been bound");let o=await CL(P.makeLocator(e,P.makeRange({protocol:Vr,source:n,selector:n,params:{locator:P.stringifyLocator(s)}})),{protocol:Vr,fetchOptions:i.fetchOptions}),a=Dn.makeHash(`${Qze}`,o).slice(0,6);return[dL(e,{parentLocator:s,path:n,folderHash:a,protocol:Vr})]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var IL=class{supports(e,r){return Mm.test(e.reference)?!!e.reference.startsWith(Vr):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:Vr}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath)}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.join(o.prefixPath,n),c=await a.readFilePromise(l);return await Se.releaseAfterUseAsync(async()=>await wi.convertToZip(c,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1}),o.releaseFs)}};var yL=class{supportsDescriptor(e,r){return Mm.test(e.range)?!!(e.range.startsWith(Vr)||ih.test(e.range)):!1}supportsLocator(e,r){return Mm.test(e.reference)?!!e.reference.startsWith(Vr):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return ih.test(e.range)&&(e=P.makeDescriptor(e,`${Vr}${e.range}`)),P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range;return n.startsWith(Vr)&&(n=n.slice(Vr.length)),[P.makeLocator(e,`${Vr}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var vze={fetchers:[IL,mL],resolvers:[yL,EL]},Sze=vze;var bL={};ft(bL,{default:()=>Pze});var LAe=ge(require("querystring")),TAe=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function OAe(t){return t?TAe.some(e=>!!t.match(e)):!1}function MAe(t){let e;for(let a of TAe)if(e=t.match(a),e)break;if(!e)throw new Error(kze(t));let[,r,i,n,s="master"]=e,{commit:o}=LAe.default.parse(s);return s=o||s.replace(/[^:]*:/,""),{auth:r,username:i,reponame:n,treeish:s}}function kze(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var BL=class{supports(e,r){return!!OAe(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await K.mktempPromise(async n=>{let s=new _t(n);await wi.extractArchiveTo(i,s,{stripComponents:1});let o=wu.splitRepoUrl(e.reference),a=k.join(n,"package.tgz");await Zt.prepareExternalProject(n,a,{configuration:r.project.configuration,report:r.report,workspace:o.extra.workspace,locator:e});let l=await K.readFilePromise(a);return await wi.convertToZip(l,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:i,username:n,reponame:s,treeish:o}=MAe(e.reference);return`https://${i?`${i}@`:""}github.com/${n}/${s}/archive/${o}.tar.gz`}};var xze={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let i=new BL;if(!i.supports(e,r))return null;try{return await i.fetch(e,r)}catch(n){return null}}}},Pze=xze;var SL={};ft(SL,{default:()=>Rze});var Um=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,Km=/^https?:/;var QL=class{supports(e,r){return Um.test(e.reference)?!!Km.test(e.reference):!1}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i=await ir.get(e.reference,{configuration:r.project.configuration});return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var vL=class{supportsDescriptor(e,r){return Um.test(e.range)?!!Km.test(e.range):!1}supportsLocator(e,r){return Um.test(e.reference)?!!Km.test(e.reference):!1}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){return[P.convertDescriptorToLocator(e)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.HARD,conditions:n.getConditions(),dependencies:n.dependencies,peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var Dze={fetchers:[QL],resolvers:[vL]},Rze=Dze;var DL={};ft(DL,{default:()=>F4e});var ule=ge(cle()),PL=ge(require("util")),Hm=class extends Le{constructor(){super(...arguments);this.private=z.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=z.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=z.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.usev2=z.Boolean("-2",!1,{hidden:!0});this.yes=z.Boolean("-y,--yes",{hidden:!0});this.assumeFreshProject=z.Boolean("--assume-fresh-project",!1,{hidden:!0})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return r!==null?await this.executeProxy(e,r):await this.executeRegular(e)}async executeProxy(e,r){if(e.projectCwd!==null&&e.projectCwd!==this.context.cwd)throw new Pe("Cannot use the --install flag from within a project subdirectory");K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=k.join(this.context.cwd,e.get("lockfileFilename"));K.existsSync(i)||await K.writeFilePromise(i,"");let n=await this.cli.run(["set","version",r],{quiet:!0});if(n!==0)return n;let s=[];return this.private&&s.push("-p"),this.workspace&&s.push("-w"),this.yes&&s.push("-y"),await K.mktempPromise(async o=>{let{code:a}=await Fr.pipevp("yarn",["init",...s],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await Zt.makeScriptEnv({binFolder:o})});return a})}async executeRegular(e){var l;let r=null;try{r=(await ze.find(e,this.context.cwd)).project}catch{r=null}K.existsSync(this.context.cwd)||await K.mkdirPromise(this.context.cwd,{recursive:!0});let i=await At.tryFind(this.context.cwd)||new At,n=Object.fromEntries(e.get("initFields").entries());i.load(n),i.name=(l=i.name)!=null?l:P.makeIdent(e.get("initScope"),k.basename(this.context.cwd)),i.packageManager=Ur&&Se.isTaggedYarnVersion(Ur)?`yarn@${Ur}`:null,typeof i.raw.private=="undefined"&&(this.private||this.workspace&&i.workspaceDefinitions.length===0)&&(i.private=!0),this.workspace&&i.workspaceDefinitions.length===0&&(await K.mkdirPromise(k.join(this.context.cwd,"packages"),{recursive:!0}),i.workspaceDefinitions=[{pattern:"packages/*"}]);let s={};i.exportTo(s),PL.inspect.styles.name="cyan",this.context.stdout.write(`${(0,PL.inspect)(s,{depth:Infinity,colors:!0,compact:!1})} +`);let o=k.join(this.context.cwd,At.fileName);await K.changeFilePromise(o,`${JSON.stringify(s,null,2)} +`,{automaticNewlines:!0});let a=k.join(this.context.cwd,"README.md");if(K.existsSync(a)||await K.writeFilePromise(a,`# ${P.stringifyIdent(i.name)} +`),!r||r.cwd===this.context.cwd){let c=k.join(this.context.cwd,Pt.lockfile);K.existsSync(c)||await K.writeFilePromise(c,"");let g=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you don't wish to use zero-installs","# Documentation here: https://yarnpkg.com/features/zero-installs","!.yarn/cache","#.pnp.*"].map(y=>`${y} +`).join(""),f=k.join(this.context.cwd,".gitignore");K.existsSync(f)||await K.writeFilePromise(f,g);let h={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};(0,ule.default)(h,e.get("initEditorConfig"));let p=`root = true +`;for(let[y,Q]of Object.entries(h)){p+=` +[${y}] +`;for(let[S,x]of Object.entries(Q))p+=`${S.replace(/[A-Z]/g,Y=>`_${Y.toLowerCase()}`)} = ${x} +`}let m=k.join(this.context.cwd,".editorconfig");K.existsSync(m)||await K.writeFilePromise(m,p),K.existsSync(k.join(this.context.cwd,".git"))||await Fr.execvp("git",["init"],{cwd:this.context.cwd})}}};Hm.paths=[["init"]],Hm.usage=Re.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var gle=Hm;var R4e={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:Ie.STRING,default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:Ie.MAP,valueDefinition:{description:"",type:Ie.ANY}}},commands:[gle]},F4e=R4e;var TL={};ft(TL,{default:()=>L4e});var mA="portal:",EA="link:";var RL=class{supports(e,r){return!!e.reference.startsWith(mA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:mA});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:mA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,localPath:l}:{packageFs:new Da(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot}}};var FL=class{supportsDescriptor(e,r){return!!e.range.startsWith(mA)}supportsLocator(e,r){return!!e.reference.startsWith(mA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(mA.length);return[P.makeLocator(e,`${mA}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let i=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),n=await Se.releaseAfterUseAsync(async()=>await At.find(i.prefixPath,{baseFs:i.packageFs}),i.releaseFs);return te(N({},e),{version:n.version||"0.0.0",languageName:n.languageName||r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:n.getConditions(),dependencies:new Map([...n.dependencies]),peerDependencies:n.peerDependencies,dependenciesMeta:n.dependenciesMeta,peerDependenciesMeta:n.peerDependenciesMeta,bin:n.bin})}};var NL=class{supports(e,r){return!!e.reference.startsWith(EA)}getLocalPath(e,r){let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA});if(k.isAbsolute(n))return n;let s=r.fetcher.getLocalPath(i,r);return s===null?null:k.resolve(s,n)}async fetch(e,r){var c;let{parentLocator:i,path:n}=P.parseFileStyleRange(e.reference,{protocol:EA}),s=k.isAbsolute(n)?{packageFs:new _t(Me.root),prefixPath:Me.dot,localPath:Me.root}:await r.fetcher.fetch(i,r),o=s.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,s.localPath),localPath:Me.root}:s;s!==o&&s.releaseFs&&s.releaseFs();let a=o.packageFs,l=k.resolve((c=o.localPath)!=null?c:o.packageFs.getRealPath(),o.prefixPath,n);return s.localPath?{packageFs:new _t(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0,localPath:l}:{packageFs:new Da(l,{baseFs:a}),releaseFs:o.releaseFs,prefixPath:Me.dot,discardFromLookup:!0}}};var LL=class{supportsDescriptor(e,r){return!!e.range.startsWith(EA)}supportsLocator(e,r){return!!e.reference.startsWith(EA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){return P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(EA.length);return[P.makeLocator(e,`${EA}${j.toPortablePath(n)}`)]}async getSatisfying(e,r,i){return null}async resolve(e,r){return te(N({},e),{version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:Qt.SOFT,conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}};var N4e={fetchers:[NL,RL],resolvers:[LL,FL]},L4e=N4e;var gT={};ft(gT,{default:()=>Y_e});var ls;(function(i){i[i.REGULAR=0]="REGULAR",i[i.WORKSPACE=1]="WORKSPACE",i[i.EXTERNAL_SOFT_LINK=2]="EXTERNAL_SOFT_LINK"})(ls||(ls={}));var IA;(function(i){i[i.YES=0]="YES",i[i.NO=1]="NO",i[i.DEPENDS=2]="DEPENDS"})(IA||(IA={}));var OL=(t,e)=>`${t}@${e}`,fle=(t,e)=>{let r=e.indexOf("#"),i=r>=0?e.substring(r+1):e;return OL(t,i)},Eo;(function(s){s[s.NONE=-1]="NONE",s[s.PERF=0]="PERF",s[s.CHECK=1]="CHECK",s[s.REASONS=2]="REASONS",s[s.INTENSIVE_CHECK=9]="INTENSIVE_CHECK"})(Eo||(Eo={}));var ple=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),i=e.check||r>=9,n=e.hoistingLimits||new Map,s={check:i,debugLevel:r,hoistingLimits:n,fastLookupPossible:!0},o;s.debugLevel>=0&&(o=Date.now());let a=T4e(t,s),l=!1,c=0;do l=ML(a,[a],new Set([a.locator]),new Map,s).anotherRoundNeeded,s.fastLookupPossible=!1,c++;while(l);if(s.debugLevel>=0&&console.log(`hoist time: ${Date.now()-o}ms, rounds: ${c}`),s.debugLevel>=1){let u=jm(a);if(ML(a,[a],new Set([a.locator]),new Map,s).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${u}, next tree: +${jm(a)}`);let f=hle(a);if(f)throw new Error(`${f}, after hoisting finished: +${jm(a)}`)}return s.debugLevel>=2&&console.log(jm(a)),O4e(a)},M4e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=s=>{if(!i.has(s)){i.add(s);for(let o of s.hoistedDependencies.values())r.set(o.name,o);for(let o of s.dependencies.values())s.peerNames.has(o.name)||n(o)}};return n(e),r},U4e=t=>{let e=t[t.length-1],r=new Map,i=new Set,n=new Set,s=(o,a)=>{if(i.has(o))return;i.add(o);for(let c of o.hoistedDependencies.values())if(!a.has(c.name)){let u;for(let g of t)u=g.dependencies.get(c.name),u&&r.set(u.name,u)}let l=new Set;for(let c of o.dependencies.values())l.add(c.name);for(let c of o.dependencies.values())o.peerNames.has(c.name)||s(c,l)};return s(e,n),r},dle=(t,e)=>{if(e.decoupled)return e;let{name:r,references:i,ident:n,locator:s,dependencies:o,originalDependencies:a,hoistedDependencies:l,peerNames:c,reasons:u,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:p,hoistedTo:m}=e,y={name:r,references:new Set(i),ident:n,locator:s,dependencies:new Map(o),originalDependencies:new Map(a),hoistedDependencies:new Map(l),peerNames:new Set(c),reasons:new Map(u),decoupled:!0,isHoistBorder:g,hoistPriority:f,dependencyKind:h,hoistedFrom:new Map(p),hoistedTo:new Map(m)},Q=y.dependencies.get(r);return Q&&Q.ident==y.ident&&y.dependencies.set(r,y),t.dependencies.set(y.name,y),y},K4e=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let n of t.dependencies.values())t.peerNames.has(n.name)||r.set(n.name,[n.ident]);let i=Array.from(e.keys());i.sort((n,s)=>{let o=e.get(n),a=e.get(s);return a.hoistPriority!==o.hoistPriority?a.hoistPriority-o.hoistPriority:a.peerDependents.size!==o.peerDependents.size?a.peerDependents.size-o.peerDependents.size:a.dependents.size-o.dependents.size});for(let n of i){let s=n.substring(0,n.indexOf("@",1)),o=n.substring(s.length+1);if(!t.peerNames.has(s)){let a=r.get(s);a||(a=[],r.set(s,a)),a.indexOf(o)<0&&a.push(o)}}return r},UL=t=>{let e=new Set,r=(i,n=new Set)=>{if(!n.has(i)){n.add(i);for(let s of i.peerNames)if(!t.peerNames.has(s)){let o=t.dependencies.get(s);o&&!e.has(o)&&r(o,n)}e.add(i)}};for(let i of t.dependencies.values())t.peerNames.has(i.name)||r(i);return e},ML=(t,e,r,i,n,s=new Set)=>{let o=e[e.length-1];if(s.has(o))return{anotherRoundNeeded:!1,isGraphChanged:!1};s.add(o);let a=j4e(o),l=K4e(o,a),c=t==o?new Map:n.fastLookupPossible?M4e(e):U4e(e),u,g=!1,f=!1,h=new Map(Array.from(l.entries()).map(([m,y])=>[m,y[0]])),p=new Map;do{let m=H4e(t,e,r,c,h,l,i,p,n);m.isGraphChanged&&(f=!0),m.anotherRoundNeeded&&(g=!0),u=!1;for(let[y,Q]of l)Q.length>1&&!o.dependencies.has(y)&&(h.delete(y),Q.shift(),h.set(y,Q[0]),u=!0)}while(u);for(let m of o.dependencies.values())if(!o.peerNames.has(m.name)&&!r.has(m.locator)){r.add(m.locator);let y=ML(t,[...e,m],r,p,n);y.isGraphChanged&&(f=!0),y.anotherRoundNeeded&&(g=!0),r.delete(m.locator)}return{anotherRoundNeeded:g,isGraphChanged:f}},G4e=(t,e,r,i,n,s,o,a,{outputReason:l,fastLookupPossible:c})=>{let u,g=null,f=new Set;l&&(u=`${Array.from(e).map(y=>Ni(y)).join("\u2192")}`);let h=r[r.length-1],m=!(i.ident===h.ident);if(l&&!m&&(g="- self-reference"),m&&(m=i.dependencyKind!==1,l&&!m&&(g="- workspace")),m&&(m=i.dependencyKind!==2||i.dependencies.size===0,l&&!m&&(g="- external soft link with unhoisted dependencies")),m&&(m=h.dependencyKind!==1||h.hoistedFrom.has(i.name)||e.size===1,l&&!m&&(g=h.reasons.get(i.name))),m&&(m=!t.peerNames.has(i.name),l&&!m&&(g=`- cannot shadow peer: ${Ni(t.originalDependencies.get(i.name).locator)} at ${u}`)),m){let y=!1,Q=n.get(i.name);if(y=!Q||Q.ident===i.ident,l&&!y&&(g=`- filled by: ${Ni(Q.locator)} at ${u}`),y)for(let S=r.length-1;S>=1;S--){let M=r[S].dependencies.get(i.name);if(M&&M.ident!==i.ident){y=!1;let Y=a.get(h);Y||(Y=new Set,a.set(h,Y)),Y.add(i.name),l&&(g=`- filled by ${Ni(M.locator)} at ${r.slice(0,S).map(U=>Ni(U.locator)).join("\u2192")}`);break}}m=y}if(m&&(m=s.get(i.name)===i.ident,l&&!m&&(g=`- filled by: ${Ni(o.get(i.name)[0])} at ${u}`)),m){let y=!0,Q=new Set(i.peerNames);for(let S=r.length-1;S>=1;S--){let x=r[S];for(let M of Q){if(x.peerNames.has(M)&&x.originalDependencies.has(M))continue;let Y=x.dependencies.get(M);Y&&t.dependencies.get(M)!==Y&&(S===r.length-1?f.add(Y):(f=null,y=!1,l&&(g=`- peer dependency ${Ni(Y.locator)} from parent ${Ni(x.locator)} was not hoisted to ${u}`))),Q.delete(M)}if(!y)break}m=y}if(m&&!c)for(let y of i.hoistedDependencies.values()){let Q=n.get(y.name);if(!Q||y.ident!==Q.ident){m=!1,l&&(g=`- previously hoisted dependency mismatch, needed: ${Ni(y.locator)}, available: ${Ni(Q==null?void 0:Q.locator)}`);break}}return f!==null&&f.size>0?{isHoistable:2,dependsOn:f,reason:g}:{isHoistable:m?0:1,reason:g}},H4e=(t,e,r,i,n,s,o,a,l)=>{let c=e[e.length-1],u=new Set,g=!1,f=!1,h=(y,Q,S,x)=>{if(u.has(S))return;let M=[...Q,S.locator],Y=new Map,U=new Map;for(let Z of UL(S)){let A=G4e(c,r,[c,...y,S],Z,i,n,s,a,{outputReason:l.debugLevel>=2,fastLookupPossible:l.fastLookupPossible});if(U.set(Z,A),A.isHoistable===2)for(let ne of A.dependsOn){let le=Y.get(ne.name)||new Set;le.add(Z.name),Y.set(ne.name,le)}}let J=new Set,W=(Z,A,ne)=>{if(!J.has(Z)){J.add(Z),U.set(Z,{isHoistable:1,reason:ne});for(let le of Y.get(Z.name)||[])W(S.dependencies.get(le),A,l.debugLevel>=2?`- peer dependency ${Ni(Z.locator)} from parent ${Ni(S.locator)} was not hoisted`:"")}};for(let[Z,A]of U)A.isHoistable===1&&W(Z,A,A.reason);for(let Z of U.keys())if(!J.has(Z)){f=!0;let A=o.get(S);A&&A.has(Z.name)&&(g=!0),S.dependencies.delete(Z.name),S.hoistedDependencies.set(Z.name,Z),S.reasons.delete(Z.name);let ne=c.dependencies.get(Z.name);if(l.debugLevel>=2){let le=Array.from(Q).concat([S.locator]).map(T=>Ni(T)).join("\u2192"),Ae=c.hoistedFrom.get(Z.name);Ae||(Ae=[],c.hoistedFrom.set(Z.name,Ae)),Ae.push(le),S.hoistedTo.set(Z.name,Array.from(e).map(T=>Ni(T.locator)).join("\u2192"))}if(!ne)c.ident!==Z.ident&&(c.dependencies.set(Z.name,Z),x.add(Z));else for(let le of Z.references)ne.references.add(le)}if(l.check){let Z=hle(t);if(Z)throw new Error(`${Z}, after hoisting dependencies of ${[c,...y,S].map(A=>Ni(A.locator)).join("\u2192")}: +${jm(t)}`)}let ee=UL(S);for(let Z of ee)if(J.has(Z)){let A=U.get(Z);if((n.get(Z.name)===Z.ident||!S.reasons.has(Z.name))&&A.isHoistable!==0&&S.reasons.set(Z.name,A.reason),!Z.isHoistBorder&&M.indexOf(Z.locator)<0){u.add(S);let le=dle(S,Z);h([...y,S],[...Q,S.locator],le,m),u.delete(S)}}},p,m=new Set(UL(c));do{p=m,m=new Set;for(let y of p){if(y.locator===c.locator||y.isHoistBorder)continue;let Q=dle(c,y);h([],Array.from(r),Q,m)}}while(m.size>0);return{anotherRoundNeeded:g,isGraphChanged:f}},hle=t=>{let e=[],r=new Set,i=new Set,n=(s,o,a)=>{if(r.has(s)||(r.add(s),i.has(s)))return;let l=new Map(o);for(let c of s.dependencies.values())s.peerNames.has(c.name)||l.set(c.name,c);for(let c of s.originalDependencies.values()){let u=l.get(c.name),g=()=>`${Array.from(i).concat([s]).map(f=>Ni(f.locator)).join("\u2192")}`;if(s.peerNames.has(c.name)){let f=o.get(c.name);(f!==u||!f||f.ident!==c.ident)&&e.push(`${g()} - broken peer promise: expected ${c.ident} but found ${f&&f.ident}`)}else{let f=a.hoistedFrom.get(s.name),h=s.hoistedTo.get(c.name),p=`${f?` hoisted from ${f.join(", ")}`:""}`,m=`${h?` hoisted to ${h}`:""}`,y=`${g()}${p}`;u?u.ident!==c.ident&&e.push(`${y} - broken require promise for ${c.name}${m}: expected ${c.ident}, but found: ${u.ident}`):e.push(`${y} - broken require promise: no required dependency ${c.name}${m} found`)}}i.add(s);for(let c of s.dependencies.values())s.peerNames.has(c.name)||n(c,l,s);i.delete(s)};return n(t,t.dependencies,t),e.join(` +`)},T4e=(t,e)=>{let{identName:r,name:i,reference:n,peerNames:s}=t,o={name:i,references:new Set([n]),locator:OL(r,n),ident:fle(r,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(s),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},a=new Map([[t,o]]),l=(c,u)=>{let g=a.get(c),f=!!g;if(!g){let{name:h,identName:p,reference:m,peerNames:y,hoistPriority:Q,dependencyKind:S}=c,x=e.hoistingLimits.get(u.locator);g={name:h,references:new Set([m]),locator:OL(p,m),ident:fle(p,m),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(y),reasons:new Map,decoupled:!0,isHoistBorder:x?x.has(h):!1,hoistPriority:Q||0,dependencyKind:S||0,hoistedFrom:new Map,hoistedTo:new Map},a.set(c,g)}if(u.dependencies.set(c.name,g),u.originalDependencies.set(c.name,g),f){let h=new Set,p=m=>{if(!h.has(m)){h.add(m),m.decoupled=!1;for(let y of m.dependencies.values())m.peerNames.has(y.name)||p(y)}};p(g)}else for(let h of c.dependencies)l(h,g)};for(let c of t.dependencies)l(c,o);return o},KL=t=>t.substring(0,t.indexOf("@",1)),O4e=t=>{let e={name:t.name,identName:KL(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),i=(n,s,o)=>{let a=r.has(n),l;if(s===n)l=o;else{let{name:c,references:u,locator:g}=n;l={name:c,identName:KL(g),references:u,dependencies:new Set}}if(o.dependencies.add(l),!a){r.add(n);for(let c of n.dependencies.values())n.peerNames.has(c.name)||i(c,n,l);r.delete(n)}};for(let n of t.dependencies.values())i(n,t,e);return e},j4e=t=>{let e=new Map,r=new Set([t]),i=o=>`${o.name}@${o.ident}`,n=o=>{let a=i(o),l=e.get(a);return l||(l={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(a,l)),l},s=(o,a)=>{let l=!!r.has(a);if(n(a).dependents.add(o.ident),!l){r.add(a);for(let u of a.dependencies.values()){let g=n(u);g.hoistPriority=Math.max(g.hoistPriority,u.hoistPriority),a.peerNames.has(u.name)?g.peerDependents.add(a.ident):s(a,u)}}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||s(t,o);return e},Ni=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let i=t.substring(e+1);if(i==="workspace:.")return".";if(i){let n=(i.indexOf("#")>0?i.split("#")[1]:i).replace("npm:","");return i.startsWith("virtual")&&(r=`v:${r}`),n.startsWith("workspace")&&(r=`w:${r}`,n=""),`${r}${n?`@${n}`:""}`}else return`${r}`},Cle=5e4,jm=t=>{let e=0,r=(n,s,o="")=>{if(e>Cle||s.has(n))return"";e++;let a=Array.from(n.dependencies.values()).sort((c,u)=>c.name===u.name?0:c.name>u.name?1:-1),l="";s.add(n);for(let c=0;c":"")+(f!==u.name?`a:${u.name}:`:"")+Ni(u.locator)+(g?` ${g}`:"")+(u!==n&&h.length>0?`, hoisted from: ${h.join(", ")}`:"")} +`,l+=r(u,s,`${o}${cCle?` +Tree is too large, part of the tree has been dunped +`:"")};var Io;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(Io||(Io={}));var Mn;(function(i){i.WORKSPACES="workspaces",i.DEPENDENCIES="dependencies",i.NONE="none"})(Mn||(Mn={}));var mle="node_modules",Bu="$wsroot$";var Gm=(t,e)=>{let{packageTree:r,hoistingLimits:i,errors:n,preserveSymlinksRequired:s}=Y4e(t,e),o=null;if(n.length===0){let a=ple(r,{hoistingLimits:i});o=q4e(t,a,e)}return{tree:o,errors:n,preserveSymlinksRequired:s}},fa=t=>`${t.name}@${t.reference}`,HL=t=>{let e=new Map;for(let[r,i]of t.entries())if(!i.dirList){let n=e.get(i.locator);n||(n={target:i.target,linkType:i.linkType,locations:[],aliases:i.aliases},e.set(i.locator,n)),n.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((i,n)=>{let s=i.split(k.delimiter).length,o=n.split(k.delimiter).length;return n===i?0:s!==o?o-s:n>i?1:-1});return e},Ele=(t,e)=>{let r=P.isVirtualLocator(t)?P.devirtualizeLocator(t):t,i=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e;return P.areLocatorsEqual(r,i)},jL=(t,e,r,i)=>{if(t.linkType!==Io.SOFT)return!1;let n=j.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return k.contains(i,n)===null},J4e=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let i=j.toPortablePath(e.packageLocation.slice(0,-1)),n=new Map,s={children:new Map},o=t.getDependencyTreeRoots(),a=new Map,l=new Set,c=(f,h)=>{let p=fa(f);if(l.has(p))return;l.add(p);let m=t.getPackageInformation(f);if(m){let y=h?fa(h):"";if(fa(f)!==y&&m.linkType===Io.SOFT&&!jL(m,f,t,i)){let Q=Ile(m,f,t);(!a.get(Q)||f.reference.startsWith("workspace:"))&&a.set(Q,f)}for(let[Q,S]of m.packageDependencies)S!==null&&(m.packagePeers.has(Q)||c(t.getLocator(Q,S),f))}};for(let f of o)c(f,null);let u=i.split(k.sep);for(let f of a.values()){let h=t.getPackageInformation(f),m=j.toPortablePath(h.packageLocation.slice(0,-1)).split(k.sep).slice(u.length),y=s;for(let Q of m){let S=y.children.get(Q);S||(S={children:new Map},y.children.set(Q,S)),y=S}y.workspaceLocator=f}let g=(f,h)=>{if(f.workspaceLocator){let p=fa(h),m=n.get(p);m||(m=new Set,n.set(p,m)),m.add(f.workspaceLocator)}for(let p of f.children.values())g(p,f.workspaceLocator||h)};for(let f of s.children.values())g(f,s.workspaceLocator);return n},Y4e=(t,e)=>{let r=[],i=!1,n=new Map,s=J4e(t),o=t.getPackageInformation(t.topLevel);if(o===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let a=t.findPackageLocator(o.packageLocation);if(a===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let l=j.toPortablePath(o.packageLocation.slice(0,-1)),c={name:a.name,identName:a.name,reference:a.reference,peerNames:o.packagePeers,dependencies:new Set,dependencyKind:ls.WORKSPACE},u=new Map,g=(h,p)=>`${fa(p)}:${h}`,f=(h,p,m,y,Q,S,x,M)=>{var Ae,T;let Y=g(h,m),U=u.get(Y),J=!!U;!J&&m.name===a.name&&m.reference===a.reference&&(U=c,u.set(Y,c));let W=jL(p,m,t,l);if(!U){let L=ls.REGULAR;W?L=ls.EXTERNAL_SOFT_LINK:p.linkType===Io.SOFT&&m.name.endsWith(Bu)&&(L=ls.WORKSPACE),U={name:h,identName:m.name,reference:m.reference,dependencies:new Set,peerNames:L===ls.WORKSPACE?new Set:p.packagePeers,dependencyKind:L},u.set(Y,U)}let ee;if(W?ee=2:Q.linkType===Io.SOFT?ee=1:ee=0,U.hoistPriority=Math.max(U.hoistPriority||0,ee),M&&!W){let L=fa({name:y.identName,reference:y.reference}),Ee=n.get(L)||new Set;n.set(L,Ee),Ee.add(U.name)}let Z=new Map(p.packageDependencies);if(e.project){let L=e.project.workspacesByCwd.get(j.toPortablePath(p.packageLocation.slice(0,-1)));if(L){let Ee=new Set([...Array.from(L.manifest.peerDependencies.values(),we=>P.stringifyIdent(we)),...Array.from(L.manifest.peerDependenciesMeta.keys())]);for(let we of Ee)Z.has(we)||(Z.set(we,S.get(we)||null),U.peerNames.add(we))}}let A=fa({name:m.name.replace(Bu,""),reference:m.reference}),ne=s.get(A);if(ne)for(let L of ne)Z.set(`${L.name}${Bu}`,L.reference);(p!==Q||p.linkType!==Io.SOFT||!e.selfReferencesByCwd||e.selfReferencesByCwd.get(x))&&y.dependencies.add(U);let le=m!==a&&p.linkType===Io.SOFT&&!m.name.endsWith(Bu)&&!W;if(!J&&!le){let L=new Map;for(let[Ee,we]of Z)if(we!==null){let qe=t.getLocator(Ee,we),re=t.getLocator(Ee.replace(Bu,""),we),se=t.getPackageInformation(re);if(se===null)throw new Error("Assertion failed: Expected the package to have been registered");let Qe=jL(se,qe,t,l);if(e.validateExternalSoftLinks&&e.project&&Qe){se.packageDependencies.size>0&&(i=!0);for(let[ve,pe]of se.packageDependencies)if(pe!==null){let X=P.parseLocator(Array.isArray(pe)?`${pe[0]}@${pe[1]}`:`${ve}@${pe}`);if(fa(X)!==fa(qe)){let be=Z.get(ve);if(be){let ce=P.parseLocator(Array.isArray(be)?`${be[0]}@${be[1]}`:`${ve}@${be}`);Ele(ce,X)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(qe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,X)} conflicts with parent dependency ${P.prettyLocator(e.project.configuration,ce)}`})}else{let ce=L.get(ve);if(ce){let fe=ce.target,gt=P.parseLocator(Array.isArray(fe)?`${fe[0]}@${fe[1]}`:`${ve}@${fe}`);Ele(gt,X)||r.push({messageName:$.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK,text:`Cannot link ${P.prettyIdent(e.project.configuration,P.parseIdent(qe.name))} into ${P.prettyLocator(e.project.configuration,P.parseLocator(`${m.name}@${m.reference}`))} dependency ${P.prettyLocator(e.project.configuration,X)} conflicts with dependency ${P.prettyLocator(e.project.configuration,gt)} from sibling portal ${P.prettyIdent(e.project.configuration,P.parseIdent(ce.portal.name))}`})}else L.set(ve,{target:X.reference,portal:qe})}}}}let he=(Ae=e.hoistingLimitsByCwd)==null?void 0:Ae.get(x),Fe=Qe?x:k.relative(l,j.toPortablePath(se.packageLocation))||Me.dot,Ue=(T=e.hoistingLimitsByCwd)==null?void 0:T.get(Fe),xe=he===Mn.DEPENDENCIES||Ue===Mn.DEPENDENCIES||Ue===Mn.WORKSPACES;f(Ee,se,qe,U,p,Z,Fe,xe)}}};return f(a.name,o,a,c,o,o.packageDependencies,Me.dot,!1),{packageTree:c,hoistingLimits:n,errors:r,preserveSymlinksRequired:i}};function Ile(t,e,r){let i=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return j.toPortablePath(i||t.packageLocation)}function W4e(t,e,r){let i=e.getLocator(t.name.replace(Bu,""),t.reference),n=e.getPackageInformation(i);if(n===null)throw new Error("Assertion failed: Expected the package to be registered");let s,o;return r.pnpifyFs?(o=j.toPortablePath(n.packageLocation),s=Io.SOFT):(o=Ile(n,t,e),s=n.linkType),{linkType:s,target:o}}var q4e=(t,e,r)=>{let i=new Map,n=(u,g,f)=>{let{linkType:h,target:p}=W4e(u,t,r);return{locator:fa(u),nodePath:g,target:p,linkType:h,aliases:f}},s=u=>{let[g,f]=u.split("/");return f?{scope:qr(g),name:qr(f)}:{scope:null,name:qr(g)}},o=new Set,a=(u,g,f)=>{if(!o.has(u)){o.add(u);for(let h of u.dependencies){if(h===u)continue;let p=Array.from(h.references).sort(),m={name:h.identName,reference:p[0]},{name:y,scope:Q}=s(h.name),S=Q?[Q,y]:[y],x=k.join(g,mle),M=k.join(x,...S),Y=`${f}/${m.name}`,U=n(m,f,p.slice(1)),J=!1;if(U.linkType===Io.SOFT&&r.project){let W=r.project.workspacesByCwd.get(U.target.slice(0,-1));J=!!(W&&!W.manifest.name)}if(!h.name.endsWith(Bu)&&!J){let W=i.get(M);if(W){if(W.dirList)throw new Error(`Assertion failed: ${M} cannot merge dir node with leaf node`);{let ne=P.parseLocator(W.locator),le=P.parseLocator(U.locator);if(W.linkType!==U.linkType)throw new Error(`Assertion failed: ${M} cannot merge nodes with different link types ${W.nodePath}/${P.stringifyLocator(ne)} and ${f}/${P.stringifyLocator(le)}`);if(ne.identHash!==le.identHash)throw new Error(`Assertion failed: ${M} cannot merge nodes with different idents ${W.nodePath}/${P.stringifyLocator(ne)} and ${f}/s${P.stringifyLocator(le)}`);U.aliases=[...U.aliases,...W.aliases,P.parseLocator(W.locator).reference]}}i.set(M,U);let ee=M.split("/"),Z=ee.indexOf(mle),A=ee.length-1;for(;Z>=0&&A>Z;){let ne=j.toPortablePath(ee.slice(0,A).join(k.sep)),le=qr(ee[A]),Ae=i.get(ne);if(!Ae)i.set(ne,{dirList:new Set([le])});else if(Ae.dirList){if(Ae.dirList.has(le))break;Ae.dirList.add(le)}A--}}a(h,U.linkType===Io.SOFT?U.target:M,Y)}}},l=n({name:e.name,reference:Array.from(e.references)[0]},"",[]),c=l.target;return i.set(c,l),a(e,c,""),i};var eT={};ft(eT,{PnpInstaller:()=>sh,PnpLinker:()=>Qu,default:()=>m_e,getPnpPath:()=>Pl,jsInstallUtils:()=>wo,pnpUtils:()=>ZL,quotePathIfNeeded:()=>Jle});var Yle=ge(ti()),qle=ge(require("url"));var yle;(function(r){r.HARD="HARD",r.SOFT="SOFT"})(yle||(yle={}));var er;(function(f){f.DEFAULT="DEFAULT",f.TOP_LEVEL="TOP_LEVEL",f.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",f.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",f.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",f.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",f.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",f.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",f.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",f.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",f.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",f.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"})(er||(er={}));var wle={[er.DEFAULT]:{collapsed:!1,next:{["*"]:er.DEFAULT}},[er.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:er.FALLBACK_EXCLUSION_LIST,packageRegistryData:er.PACKAGE_REGISTRY_DATA,["*"]:er.DEFAULT}},[er.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{["*"]:er.FALLBACK_EXCLUSION_ENTRIES}},[er.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{["*"]:er.FALLBACK_EXCLUSION_DATA}},[er.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{["*"]:er.DEFAULT}},[er.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_REGISTRY_ENTRIES}},[er.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_STORE_DATA}},[er.PACKAGE_STORE_DATA]:{collapsed:!1,next:{["*"]:er.PACKAGE_STORE_ENTRIES}},[er.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{["*"]:er.PACKAGE_INFORMATION_DATA}},[er.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:er.PACKAGE_DEPENDENCIES,["*"]:er.DEFAULT}},[er.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{["*"]:er.PACKAGE_DEPENDENCY}},[er.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{["*"]:er.DEFAULT}}};function z4e(t,e,r){let i="";i+="[";for(let n=0,s=t.length;ns(o)));let n=r.map((s,o)=>o);return n.sort((s,o)=>{for(let a of i){let l=a[s]a[o]?1:0;if(l!==0)return l}return 0}),n.map(s=>r[s])}function Z4e(t){let e=new Map,r=Ym(t.fallbackExclusionList||[],[({name:i,reference:n})=>i,({name:i,reference:n})=>n]);for(let{name:i,reference:n}of r){let s=e.get(i);typeof s=="undefined"&&e.set(i,s=new Set),s.add(n)}return Array.from(e).map(([i,n])=>[i,Array.from(n)])}function $4e(t){return Ym(t.fallbackPool||[],([e])=>e)}function e_e(t){let e=[];for(let[r,i]of Ym(t.packageRegistry,([n])=>n===null?"0":`1${n}`)){let n=[];e.push([r,n]);for(let[s,{packageLocation:o,packageDependencies:a,packagePeers:l,linkType:c,discardFromLookup:u}]of Ym(i,([g])=>g===null?"0":`1${g}`)){let g=[];r!==null&&s!==null&&!a.has(r)&&g.push([r,s]);for(let[p,m]of Ym(a.entries(),([y])=>y))g.push([p,m]);let f=l&&l.size>0?Array.from(l):void 0,h=u||void 0;n.push([s,{packageLocation:o,packageDependencies:g,packagePeers:f,linkType:c,discardFromLookup:h}])}}return e}function qm(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:Z4e(t),fallbackPool:$4e(t),packageRegistryData:e_e(t)}}var Sle=ge(vle());function kle(t,e){return[t?`${t} +`:"",`/* eslint-disable */ + +`,`try { +`,` Object.freeze({}).detectStrictMode = true; +`,`} catch (error) { +`," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n",`} +`,` +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,e.replace(/^/gm," "),`} +`,` +`,(0,Sle.default)()].join("")}function t_e(t){return JSON.stringify(t,null,2)}function r_e(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function i_e(t){return[`return hydrateRuntimeState(JSON.parse(${r_e(ble(t))}), {basePath: basePath || __dirname}); +`].join("")}function n_e(t){return[`var path = require('path'); +`,`var dataLocation = path.resolve(__dirname, ${JSON.stringify(t)}); +`,`return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)}); +`].join("")}function xle(t){let e=qm(t),r=i_e(e);return kle(t.shebang,r)}function Ple(t){let e=qm(t),r=n_e(t.dataLocation),i=kle(t.shebang,r);return{dataFile:t_e(e),loaderFile:i}}var Lle=ge(require("fs")),u_e=ge(require("path")),Tle=ge(require("util"));function YL(t,{basePath:e}){let r=j.toPortablePath(e),i=k.resolve(r),n=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,s=new Map,o=new Map(t.packageRegistryData.map(([g,f])=>[g,new Map(f.map(([h,p])=>{var x;if(g===null!=(h===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let m=(x=p.discardFromLookup)!=null?x:!1,y={name:g,reference:h},Q=s.get(p.packageLocation);Q?(Q.discardFromLookup=Q.discardFromLookup&&m,m||(Q.locator=y)):s.set(p.packageLocation,{locator:y,discardFromLookup:m});let S=null;return[h,{packageDependencies:new Map(p.packageDependencies),packagePeers:new Set(p.packagePeers),linkType:p.linkType,discardFromLookup:m,get packageLocation(){return S||(S=k.join(i,p.packageLocation))}}]}))])),a=new Map(t.fallbackExclusionList.map(([g,f])=>[g,new Set(f)])),l=new Map(t.fallbackPool),c=t.dependencyTreeRoots,u=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:c,enableTopLevelFallback:u,fallbackExclusionList:a,fallbackPool:l,ignorePattern:n,packageLocatorsByLocations:s,packageRegistry:o}}var Jm=ge(require("module")),Nle=ge(Rle()),JL=ge(require("util"));var ur;(function(c){c.API_ERROR="API_ERROR",c.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",c.EXPORTS_RESOLUTION_FAILED="EXPORTS_RESOLUTION_FAILED",c.MISSING_DEPENDENCY="MISSING_DEPENDENCY",c.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",c.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",c.INTERNAL="INTERNAL",c.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",c.UNSUPPORTED="UNSUPPORTED"})(ur||(ur={}));var a_e=new Set([ur.BUILTIN_NODE_RESOLUTION_FAILED,ur.MISSING_DEPENDENCY,ur.MISSING_PEER_DEPENDENCY,ur.QUALIFIED_PATH_RESOLUTION_FAILED,ur.UNDECLARED_DEPENDENCY]);function oi(t,e,r={},i){i!=null||(i=a_e.has(t)?"MODULE_NOT_FOUND":t);let n={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:te(N({},n),{value:i}),pnpCode:te(N({},n),{value:t}),data:te(N({},n),{value:r})})}function yo(t){return j.normalize(j.fromPortablePath(t))}var A_e=ge(require("fs")),Fle=ge(require("module")),l_e=ge(require("path")),c_e=new Set(Fle.Module.builtinModules||Object.keys(process.binding("natives"))),ub=t=>t.startsWith("node:")||c_e.has(t);function WL(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,i=Number(process.env.PNP_DEBUG_LEVEL),n=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,s=/^(\/|\.{1,2}(\/|$))/,o=/\/$/,a=/^\.{0,2}\//,l={name:null,reference:null},c=[],u=new Set;if(t.enableTopLevelFallback===!0&&c.push(l),e.compatibilityMode!==!1)for(let re of["react-scripts","gatsby"]){let se=t.packageRegistry.get(re);if(se)for(let Qe of se.keys()){if(Qe===null)throw new Error("Assertion failed: This reference shouldn't be null");c.push({name:re,reference:Qe})}}let{ignorePattern:g,packageRegistry:f,packageLocatorsByLocations:h}=t;function p(re,se){return{fn:re,args:se,error:null,result:null}}function m(re){var Ue,xe,ve,pe,X,be;let se=(ve=(xe=(Ue=process.stderr)==null?void 0:Ue.hasColors)==null?void 0:xe.call(Ue))!=null?ve:process.stdout.isTTY,Qe=(ce,fe)=>`[${ce}m${fe}`,he=re.error;console.error(he?Qe("31;1",`\u2716 ${(pe=re.error)==null?void 0:pe.message.replace(/\n.*/s,"")}`):Qe("33;1","\u203C Resolution")),re.args.length>0&&console.error();for(let ce of re.args)console.error(` ${Qe("37;1","In \u2190")} ${(0,JL.inspect)(ce,{colors:se,compact:!0})}`);re.result&&(console.error(),console.error(` ${Qe("37;1","Out \u2192")} ${(0,JL.inspect)(re.result,{colors:se,compact:!0})}`));let Fe=(be=(X=new Error().stack.match(/(?<=^ +)at.*/gm))==null?void 0:X.slice(2))!=null?be:[];if(Fe.length>0){console.error();for(let ce of Fe)console.error(` ${Qe("38;5;244",ce)}`)}console.error()}function y(re,se){if(e.allowDebug===!1)return se;if(Number.isFinite(i)){if(i>=2)return(...Qe)=>{let he=p(re,Qe);try{return he.result=se(...Qe)}catch(Fe){throw he.error=Fe}finally{m(he)}};if(i>=1)return(...Qe)=>{try{return se(...Qe)}catch(he){let Fe=p(re,Qe);throw Fe.error=he,m(Fe),he}}}return se}function Q(re){let se=A(re);if(!se)throw oi(ur.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return se}function S(re){if(re.name===null)return!0;for(let se of t.dependencyTreeRoots)if(se.name===re.name&&se.reference===re.reference)return!0;return!1}let x=new Set(["default","node","require"]);function M(re,se=x){let Qe=Ae(k.join(re,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Qe===null)throw oi(ur.INTERNAL,`The locator that owns the "${re}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:he}=Q(Qe),Fe=k.join(he,Pt.manifest);if(!e.fakeFs.existsSync(Fe))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(Fe,"utf8")),xe=k.contains(he,re);if(xe===null)throw oi(ur.INTERNAL,"unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");a.test(xe)||(xe=`./${xe}`);let ve;try{ve=(0,Nle.resolve)(Ue,k.normalize(xe),{conditions:se,unsafe:!0})}catch(pe){throw oi(ur.EXPORTS_RESOLUTION_FAILED,pe.message,{unqualifiedPath:yo(re),locator:Qe,pkgJson:Ue,subpath:yo(xe),conditions:se},"ERR_PACKAGE_PATH_NOT_EXPORTED")}return typeof ve=="string"?k.join(he,ve):null}function Y(re,se,{extensions:Qe}){let he;try{se.push(re),he=e.fakeFs.statSync(re)}catch(Fe){}if(he&&!he.isDirectory())return e.fakeFs.realpathSync(re);if(he&&he.isDirectory()){let Fe;try{Fe=JSON.parse(e.fakeFs.readFileSync(k.join(re,Pt.manifest),"utf8"))}catch(xe){}let Ue;if(Fe&&Fe.main&&(Ue=k.resolve(re,Fe.main)),Ue&&Ue!==re){let xe=Y(Ue,se,{extensions:Qe});if(xe!==null)return xe}}for(let Fe=0,Ue=Qe.length;Fe{let ve=JSON.stringify(xe.name);if(he.has(ve))return;he.add(ve);let pe=ne(xe);for(let X of pe)if(Q(X).packagePeers.has(re))Fe(X);else{let ce=Qe.get(X.name);typeof ce=="undefined"&&Qe.set(X.name,ce=new Set),ce.add(X.reference)}};Fe(se);let Ue=[];for(let xe of[...Qe.keys()].sort())for(let ve of[...Qe.get(xe)].sort())Ue.push({name:xe,reference:ve});return Ue}function Ae(re,{resolveIgnored:se=!1,includeDiscardFromLookup:Qe=!1}={}){if(W(re)&&!se)return null;let he=k.relative(t.basePath,re);he.match(s)||(he=`./${he}`),he.endsWith("/")||(he=`${he}/`);do{let Fe=h.get(he);if(typeof Fe=="undefined"||Fe.discardFromLookup&&!Qe){he=he.substring(0,he.lastIndexOf("/",he.length-2)+1);continue}return Fe.locator}while(he!=="");return null}function T(re,se,{considerBuiltins:Qe=!0}={}){if(re==="pnpapi")return j.toPortablePath(e.pnpapiResolution);if(Qe&&ub(re))return null;let he=yo(re),Fe=se&&yo(se);if(se&&W(se)&&(!k.isAbsolute(re)||Ae(re)===null)){let ve=J(re,se);if(ve===!1)throw oi(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return j.toPortablePath(ve)}let Ue,xe=re.match(n);if(xe){if(!se)throw oi(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let[,ve,pe]=xe,X=Ae(se);if(!X){let jt=J(re,se);if(jt===!1)throw oi(ur.BUILTIN_NODE_RESOLUTION_FAILED,`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${he}" +Required by: ${Fe} +`,{request:he,issuer:Fe});return j.toPortablePath(jt)}let ce=Q(X).packageDependencies.get(ve),fe=null;if(ce==null&&X.name!==null){let jt=t.fallbackExclusionList.get(X.name);if(!jt||!jt.has(X.reference)){for(let Ti=0,_s=c.length;Ti<_s;++Ti){let Kn=Q(c[Ti]).packageDependencies.get(ve);if(Kn!=null){r?fe=Kn:ce=Kn;break}}if(t.enableTopLevelFallback&&ce==null&&fe===null){let Ti=t.fallbackPool.get(ve);Ti!=null&&(fe=Ti)}}}let gt=null;if(ce===null)if(S(X))gt=oi(ur.MISSING_PEER_DEPENDENCY,`Your application tried to access ${ve} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve});else{let jt=le(ve,X);jt.every(Qr=>S(Qr))?gt=oi(ur.MISSING_PEER_DEPENDENCY,`${X.name} tried to access ${ve} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve,brokenAncestors:jt}):gt=oi(ur.MISSING_PEER_DEPENDENCY,`${X.name} tried to access ${ve} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) + +${jt.map(Qr=>`Ancestor breaking the chain: ${Qr.name}@${Qr.reference} +`).join("")} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve,brokenAncestors:jt})}else ce===void 0&&(!Qe&&ub(re)?S(X)?gt=oi(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=oi(ur.UNDECLARED_DEPENDENCY,`${X.name} tried to access ${ve}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${ve} isn't otherwise declared in ${X.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve}):S(X)?gt=oi(ur.UNDECLARED_DEPENDENCY,`Your application tried to access ${ve}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${Fe} +`,{request:he,issuer:Fe,dependencyName:ve}):gt=oi(ur.UNDECLARED_DEPENDENCY,`${X.name} tried to access ${ve}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${ve}${ve!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +`,{request:he,issuer:Fe,issuerLocator:Object.assign({},X),dependencyName:ve}));if(ce==null){if(fe===null||gt===null)throw gt||new Error("Assertion failed: Expected an error to have been set");ce=fe;let jt=gt.message.replace(/\n.*/g,"");gt.message=jt,!u.has(jt)&&i!==0&&(u.add(jt),process.emitWarning(gt))}let Ht=Array.isArray(ce)?{name:ce[0],reference:ce[1]}:{name:ve,reference:ce},Mt=Q(Ht);if(!Mt.packageLocation)throw oi(ur.MISSING_DEPENDENCY,`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${Ht.name}@${Ht.reference}${Ht.name!==he?` (via "${he}")`:""} +Required by: ${X.name}@${X.reference} (via ${Fe}) +`,{request:he,issuer:Fe,dependencyLocator:Object.assign({},Ht)});let mi=Mt.packageLocation;pe?Ue=k.join(mi,pe):Ue=mi}else if(k.isAbsolute(re))Ue=k.normalize(re);else{if(!se)throw oi(ur.API_ERROR,"The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:he,issuer:Fe});let ve=k.resolve(se);se.match(o)?Ue=k.normalize(k.join(ve,re)):Ue=k.normalize(k.join(k.dirname(ve),re))}return k.normalize(Ue)}function L(re,se,Qe=x){if(s.test(re))return se;let he=M(se,Qe);return he?k.normalize(he):se}function Ee(re,{extensions:se=Object.keys(Jm.Module._extensions)}={}){var Fe,Ue;let Qe=[],he=Y(re,Qe,{extensions:se});if(he)return k.normalize(he);{let xe=yo(re),ve=Ae(re);if(ve){let{packageLocation:pe}=Q(ve),X=!0;try{e.fakeFs.accessSync(pe)}catch(be){if((be==null?void 0:be.code)==="ENOENT")X=!1;else{let ce=((Ue=(Fe=be==null?void 0:be.message)!=null?Fe:be)!=null?Ue:"empty exception thrown").replace(/^[A-Z]/,fe=>fe.toLowerCase());throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Required package exists but could not be accessed (${ce}). + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${yo(pe)} +`,{unqualifiedPath:xe,extensions:se})}}if(!X){let be=pe.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`${be} + +Missing package: ${ve.name}@${ve.reference} +Expected package location: ${yo(pe)} +`,{unqualifiedPath:xe,extensions:se})}}throw oi(ur.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${xe} +${Qe.map(pe=>`Not found: ${yo(pe)} +`).join("")}`,{unqualifiedPath:xe,extensions:se})}}function we(re,se,{considerBuiltins:Qe,extensions:he,conditions:Fe}={}){try{let Ue=T(re,se,{considerBuiltins:Qe});if(re==="pnpapi")return Ue;if(Ue===null)return null;let xe=()=>se!==null?W(se):!1,ve=(!Qe||!ub(re))&&!xe()?L(re,Ue,Fe):Ue;return Ee(ve,{extensions:he})}catch(Ue){throw Object.prototype.hasOwnProperty.call(Ue,"pnpCode")&&Object.assign(Ue.data,{request:yo(re),issuer:se&&yo(se)}),Ue}}function qe(re){let se=k.normalize(re),Qe=Jr.resolveVirtual(se);return Qe!==se?Qe:null}return{VERSIONS:ee,topLevel:Z,getLocator:(re,se)=>Array.isArray(se)?{name:se[0],reference:se[1]}:{name:re,reference:se},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let re=[];for(let[se,Qe]of f)for(let he of Qe.keys())se!==null&&he!==null&&re.push({name:se,reference:he});return re},getPackageInformation:re=>{let se=A(re);if(se===null)return null;let Qe=j.fromPortablePath(se.packageLocation);return te(N({},se),{packageLocation:Qe})},findPackageLocator:re=>Ae(j.toPortablePath(re)),resolveToUnqualified:y("resolveToUnqualified",(re,se,Qe)=>{let he=se!==null?j.toPortablePath(se):null,Fe=T(j.toPortablePath(re),he,Qe);return Fe===null?null:j.fromPortablePath(Fe)}),resolveUnqualified:y("resolveUnqualified",(re,se)=>j.fromPortablePath(Ee(j.toPortablePath(re),se))),resolveRequest:y("resolveRequest",(re,se,Qe)=>{let he=se!==null?j.toPortablePath(se):null,Fe=we(j.toPortablePath(re),he,Qe);return Fe===null?null:j.fromPortablePath(Fe)}),resolveVirtual:y("resolveVirtual",re=>{let se=qe(j.toPortablePath(re));return se!==null?j.fromPortablePath(se):null})}}var YQt=(0,Tle.promisify)(Lle.readFile);var Ole=(t,e,r)=>{let i=qm(t),n=YL(i,{basePath:e}),s=j.join(e,Pt.pnpCjs);return WL(n,{fakeFs:r,pnpapiResolution:s})};var _L=ge(Ule());var wo={};ft(wo,{checkAndReportManifestCompatibility:()=>Hle,checkManifestCompatibility:()=>Kle,extractBuildScripts:()=>gb,getExtractHint:()=>VL,hasBindingGyp:()=>XL});function Kle(t){return P.isPackageCompatible(t,qg.getArchitectureSet())}function Hle(t,e,{configuration:r,report:i}){return Kle(t)?!0:(i==null||i.reportWarningOnce($.INCOMPATIBLE_ARCHITECTURE,`${P.prettyLocator(r,t)} The ${qg.getArchitectureName()} architecture is incompatible with this package, ${e} skipped.`),!1)}function gb(t,e,r,{configuration:i,report:n}){let s=[];for(let a of["preinstall","install","postinstall"])e.manifest.scripts.has(a)&&s.push([As.SCRIPT,a]);return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&s.push([As.SHELLCODE,"node-gyp rebuild"]),s.length===0?[]:t.linkType!==Qt.HARD?(n==null||n.reportWarningOnce($.SOFT_LINK_BUILD,`${P.prettyLocator(i,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),[]):r&&r.built===!1?(n==null||n.reportInfoOnce($.BUILD_DISABLED,`${P.prettyLocator(i,t)} lists build scripts, but its build has been explicitly disabled through configuration.`),[]):!i.get("enableScripts")&&!r.built?(n==null||n.reportWarningOnce($.DISABLED_BUILD_SCRIPTS,`${P.prettyLocator(i,t)} lists build scripts, but all build scripts have been disabled.`),[]):Hle(t,"build",{configuration:i,report:n})?s:[]}var g_e=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function VL(t){return t.packageFs.getExtractHint({relevantExtensions:g_e})}function XL(t){let e=k.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var ZL={};ft(ZL,{getUnpluggedPath:()=>Wm});function Wm(t,{configuration:e}){return k.resolve(e.get("pnpUnpluggedFolder"),P.slugifyLocator(t))}var f_e=new Set([P.makeIdent(null,"nan").identHash,P.makeIdent(null,"node-gyp").identHash,P.makeIdent(null,"node-pre-gyp").identHash,P.makeIdent(null,"node-addon-api").identHash,P.makeIdent(null,"fsevents").identHash]),Qu=class{constructor(){this.mode="strict";this.pnpCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let i=Pl(r.project).cjs;if(!K.existsSync(i))throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})),s={name:P.stringifyIdent(e),reference:e.reference},o=n.getPackageInformation(s);if(!o)throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return j.toPortablePath(o.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=Pl(r.project).cjs;if(!K.existsSync(i))return null;let s=Se.getFactoryWithDefault(this.pnpCache,i,()=>Se.dynamicRequire(i,{cachingStrategy:Se.CachingStrategy.FsTime})).findPackageLocator(j.fromPortablePath(e));return s?P.makeLocator(P.parseIdent(s.name),s.reference):null}makeInstaller(e){return new sh(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},sh=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new Se.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}getCustomDataKey(){return JSON.stringify({name:"PnpInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r,i){let n=P.stringifyIdent(e),s=e.reference,o=!!this.opts.project.tryWorkspaceByLocator(e),a=P.isVirtualLocator(e),l=e.peerDependencies.size>0&&!a,c=!l&&!o,u=!l&&e.linkType!==Qt.SOFT,g,f;if(c||u){let x=a?P.devirtualizeLocator(e):e;g=this.customData.store.get(x.locatorHash),typeof g=="undefined"&&(g=await h_e(r),e.linkType===Qt.HARD&&this.customData.store.set(x.locatorHash,g)),g.manifest.type==="module"&&(this.isESMLoaderRequired=!0),f=this.opts.project.getDependencyMeta(x,e.version)}let h=c?gb(e,g,f,{configuration:this.opts.project.configuration,report:this.opts.report}):[],p=u?await this.unplugPackageIfNeeded(e,g,r,f,i):r.packageFs;if(k.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let m=k.resolve(p.getRealPath(),r.prefixPath),y=$L(this.opts.project.cwd,m),Q=new Map,S=new Set;if(a){for(let x of e.peerDependencies.values())Q.set(P.stringifyIdent(x),null),S.add(P.stringifyIdent(x));if(!o){let x=P.devirtualizeLocator(e);this.virtualTemplates.set(x.locatorHash,{location:$L(this.opts.project.cwd,Jr.resolveVirtual(m)),locator:x})}}return Se.getMapWithDefault(this.packageRegistry,n).set(s,{packageLocation:y,packageDependencies:Q,packagePeers:S,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:m,buildDirective:h.length>0?h:null}}async attachInternalDependencies(e,r){let i=this.getPackageInformation(e);for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){for(let i of r)this.getDiskInformation(i).packageDependencies.set(P.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=Pl(this.opts.project);if(K.existsSync(e.cjsLegacy)&&(this.opts.report.reportWarning($.UNNAMED,`Removing the old ${ae.pretty(this.opts.project.configuration,Pt.pnpJs,ae.Type.PATH)} file. You might need to manually update existing references to reference the new ${ae.pretty(this.opts.project.configuration,Pt.pnpCjs,ae.Type.PATH)} file. If you use Editor SDKs, you'll have to rerun ${ae.pretty(this.opts.project.configuration,"yarn sdks",ae.Type.CODE)}.`),await K.removePromise(e.cjsLegacy)),this.isEsmEnabled()||await K.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await K.removePromise(e.cjs),await K.removePromise(this.opts.project.configuration.get("pnpDataPath")),await K.removePromise(e.esmLoader);return}for(let{locator:u,location:g}of this.virtualTemplates.values())Se.getMapWithDefault(this.packageRegistry,P.stringifyIdent(u)).set(u.reference,{packageLocation:g,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),i=this.opts.project.workspaces.map(({anchoredLocator:u})=>({name:P.stringifyIdent(u),reference:u.reference})),n=r!=="none",s=[],o=new Map,a=Se.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),l=this.packageRegistry,c=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let u of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(u)&&s.push({name:P.stringifyIdent(u),reference:u.reference});return await this.finalizeInstallWithPnp({dependencyTreeRoots:i,enableTopLevelFallback:n,fallbackExclusionList:s,fallbackPool:o,ignorePattern:a,packageRegistry:l,shebang:c}),await this.asyncActions.wait(),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=Pl(this.opts.project),i=this.opts.project.configuration.get("pnpDataPath"),n=await this.locateNodeModules(e.ignorePattern);if(n.length>0){this.opts.report.reportWarning($.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let o of n)await K.removePromise(o)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let o=xle(e);await K.changeFilePromise(r.cjs,o,{automaticNewlines:!0,mode:493}),await K.removePromise(i)}else{let o=k.relative(k.dirname(r.cjs),i),{dataFile:a,loaderFile:l}=Ple(te(N({},e),{dataLocation:o}));await K.changeFilePromise(r.cjs,l,{automaticNewlines:!0,mode:493}),await K.changeFilePromise(i,a,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning($.UNNAMED,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await K.changeFilePromise(r.esmLoader,(0,_L.default)(),{automaticNewlines:!0,mode:420}));let s=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await K.removePromise(s);else for(let o of await K.readdirPromise(s)){let a=k.resolve(s,o);this.unpluggedPaths.has(a)||await K.removePromise(a)}}async locateNodeModules(e){let r=[],i=e?new RegExp(e):null;for(let n of this.opts.project.workspaces){let s=k.join(n.cwd,"node_modules");if(i&&i.test(k.relative(this.opts.project.cwd,n.cwd))||!K.existsSync(s))continue;let o=await K.readdirPromise(s,{withFileTypes:!0}),a=o.filter(l=>!l.isDirectory()||l.name===".bin"||!l.name.startsWith("."));if(a.length===o.length)r.push(s);else for(let l of a)r.push(k.join(s,l.name))}return r}async unplugPackageIfNeeded(e,r,i,n,s){return this.shouldBeUnplugged(e,r,n)?this.unplugPackage(e,i,s):i.packageFs}shouldBeUnplugged(e,r,i){return typeof i.unplugged!="undefined"?i.unplugged:f_e.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(gb(e,r,i,{configuration:this.opts.project.configuration}).length>0||r.misc.extractHint)}async unplugPackage(e,r,i){let n=Wm(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new Pa(n,{baseFs:r.packageFs,pathUtils:k}):(this.unpluggedPaths.add(n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let s=k.join(n,r.prefixPath,".ready");await K.existsPromise(s)||(this.opts.project.storedBuildState.delete(e.locatorHash),await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,Me.dot,{baseFs:r.packageFs,overwrite:!1}),await K.writeFilePromise(s,""))})),new _t(n))}getPackageInformation(e){let r=P.stringifyIdent(e),i=e.reference,n=this.packageRegistry.get(r);if(!n)throw new Error(`Assertion failed: The package information store should have been available (for ${P.prettyIdent(this.opts.project.configuration,e)})`);let s=n.get(i);if(!s)throw new Error(`Assertion failed: The package information should have been available (for ${P.prettyLocator(this.opts.project.configuration,e)})`);return s}getDiskInformation(e){let r=Se.getMapWithDefault(this.packageRegistry,"@@disk"),i=$L(this.opts.project.cwd,e);return Se.getFactoryWithDefault(r,i,()=>({packageLocation:i,packageDependencies:new Map,packagePeers:new Set,linkType:Qt.SOFT,discardFromLookup:!1}))}};function $L(t,e){let r=k.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function h_e(t){var i;let e=(i=await At.tryFind(t.prefixPath,{baseFs:t.packageFs}))!=null?i:new At,r=new Set(["preinstall","install","postinstall"]);for(let n of e.scripts.keys())r.has(n)||e.scripts.delete(n);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:VL(t),hasBindingGyp:XL(t)}}}var jle=ge(ts());var zm=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);if(e.get("nodeLinker")!=="pnp")throw new Pe("This command can only be used if the `nodeLinker` option is set to `pnp`");await r.restoreInstallState();let s=new Set(this.patterns),o=this.patterns.map(f=>{let h=P.parseDescriptor(f),p=h.range!=="unknown"?h:P.makeDescriptor(h,"*");if(!Wt.validRange(p.range))throw new Pe(`The range of the descriptor patterns must be a valid semver range (${P.prettyDescriptor(e,p)})`);return m=>{let y=P.stringifyIdent(m);return!jle.default.isMatch(y,P.stringifyIdent(p))||m.version&&!Wt.satisfiesWithPrereleases(m.version,p.range)?!1:(s.delete(f),!0)}}),a=()=>{let f=[];for(let h of r.storedPackages.values())!r.tryWorkspaceByLocator(h)&&!P.isVirtualLocator(h)&&o.some(p=>p(h))&&f.push(h);return f},l=f=>{let h=new Set,p=[],m=(y,Q)=>{if(!h.has(y.locatorHash)&&(h.add(y.locatorHash),!r.tryWorkspaceByLocator(y)&&o.some(S=>S(y))&&p.push(y),!(Q>0&&!this.recursive)))for(let S of y.dependencies.values()){let x=r.storedResolutions.get(S.descriptorHash);if(!x)throw new Error("Assertion failed: The resolution should have been registered");let M=r.storedPackages.get(x);if(!M)throw new Error("Assertion failed: The package should have been registered");m(M,Q+1)}};for(let y of f){let Q=r.storedPackages.get(y.anchoredLocator.locatorHash);if(!Q)throw new Error("Assertion failed: The package should have been registered");m(Q,0)}return p},c,u;if(this.all&&this.recursive?(c=a(),u="the project"):this.all?(c=l(r.workspaces),u="any workspace"):(c=l([i]),u="this workspace"),s.size>1)throw new Pe(`Patterns ${ae.prettyList(e,s,ae.Type.CODE)} don't match any packages referenced by ${u}`);if(s.size>0)throw new Pe(`Pattern ${ae.prettyList(e,s,ae.Type.CODE)} doesn't match any packages referenced by ${u}`);return c=Se.sortMap(c,f=>P.stringifyLocator(f)),(await Je.start({configuration:e,stdout:this.context.stdout,json:this.json},async f=>{var h;for(let p of c){let m=(h=p.version)!=null?h:"unknown",y=r.topLevelWorkspace.manifest.ensureDependencyMeta(P.makeDescriptor(p,m));y.unplugged=!0,f.reportInfo($.UNNAMED,`Will unpack ${P.prettyLocator(e,p)} to ${ae.pretty(e,Wm(p,{configuration:e}),ae.Type.PATH)}`),f.reportJson({locator:P.stringifyLocator(p),version:m})}await r.topLevelWorkspace.persistManifest(),f.reportSeparator(),await r.install({cache:n,report:f})})).exitCode()}};zm.paths=[["unplug"]],zm.usage=Re.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var Gle=zm;var Pl=t=>({cjs:k.join(t.cwd,Pt.pnpCjs),cjsLegacy:k.join(t.cwd,Pt.pnpJs),esmLoader:k.join(t.cwd,".pnp.loader.mjs")}),Jle=t=>/\s/.test(t)?JSON.stringify(t):t;async function p_e(t,e,r){let i=Pl(t),n=`--require ${Jle(j.fromPortablePath(i.cjs))}`;if(K.existsSync(i.esmLoader)&&(n=`${n} --experimental-loader ${(0,qle.pathToFileURL)(j.fromPortablePath(i.esmLoader)).href}`),i.cjs.includes(" ")&&Yle.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(K.existsSync(i.cjs)){let s=e.NODE_OPTIONS||"",o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/;s=s.replace(o," ").replace(a," ").trim(),s=s?`${n} ${s}`:n,e.NODE_OPTIONS=s}}async function d_e(t,e){let r=Pl(t);e(r.cjs),e(r.esmLoader),e(t.configuration.get("pnpDataPath")),e(t.configuration.get("pnpUnpluggedFolder"))}var C_e={hooks:{populateYarnPaths:d_e,setupScriptEnvironment:p_e},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:Ie.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:Ie.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:Ie.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:Ie.STRING,default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:Ie.BOOLEAN,default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:Ie.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:Ie.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:Ie.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:Ie.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[Qu],commands:[Gle]},m_e=C_e;var Zle=ge(Xle());var sT=ge(require("crypto")),$le=ge(require("fs")),ece=1,ai="node_modules",oT=".bin",tce=".yarn-state.yml",Li;(function(i){i.CLASSIC="classic",i.HARDLINKS_LOCAL="hardlinks-local",i.HARDLINKS_GLOBAL="hardlinks-global"})(Li||(Li={}));var aT=class{constructor(){this.installStateCache=new Map}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let i=r.project.tryWorkspaceByLocator(e);if(i)return i.cwd;let n=await Se.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AT(r.project,{unrollAliases:!0}));if(n===null)throw new Pe("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let s=n.locatorMap.get(P.stringifyLocator(e));if(!s){let a=new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw a.code="LOCATOR_NOT_INSTALLED",a}let o=r.project.configuration.startingCwd;return s.locations.find(a=>k.contains(o,a))||s.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=await Se.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await AT(r.project,{unrollAliases:!0}));if(i===null)return null;let{locationRoot:n,segments:s}=fb(k.resolve(e),{skipPrefix:r.project.cwd}),o=i.locationTree.get(n);if(!o)return null;let a=o.locator;for(let l of s){if(o=o.children.get(l),!o)break;a=o.locator||a}return P.parseLocator(a)}makeInstaller(e){return new rce(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},rce=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}getCustomDataKey(){return JSON.stringify({name:"NodeModulesInstaller",version:2})}attachCustomData(e){this.customData=e}async installPackage(e,r){var u;let i=k.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.customData.store.get(e.locatorHash);if(typeof n=="undefined"&&(n=await L_e(e,r),e.linkType===Qt.HARD&&this.customData.store.set(e.locatorHash,n)),!wo.checkManifestCompatibility(e))return{packageLocation:null,buildDirective:null};let s=new Map,o=new Set;s.has(P.stringifyIdent(e))||s.set(P.stringifyIdent(e),e.reference);let a=e;if(P.isVirtualLocator(e)){a=P.devirtualizeLocator(e);for(let g of e.peerDependencies.values())s.set(P.stringifyIdent(g),null),o.add(P.stringifyIdent(g))}let l={packageLocation:`${j.fromPortablePath(i)}/`,packageDependencies:s,packagePeers:o,linkType:e.linkType,discardFromLookup:(u=r.discardFromLookup)!=null?u:!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:n,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:l});let c=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(a.locatorHash,c),{packageLocation:i,buildDirective:null}}async attachInternalDependencies(e,r){let i=this.localStore.get(e.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected information object to have been registered");for(let[n,s]of r){let o=P.areIdentsEqual(n,s)?s.reference:[P.stringifyIdent(s),s.reference];i.pnpNode.packageDependencies.set(P.stringifyIdent(n),o)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new Jr({baseFs:new ms({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),r=await AT(this.opts.project),i=this.opts.project.configuration.get("nmMode");(r===null||i!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:i});let n=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmHoistingLimits");try{h=Se.validateEnum(Mn,(m=(p=f.manifest.installConfig)==null?void 0:p.hoistingLimits)!=null?m:h)}catch(y){let Q=P.prettyWorkspace(this.opts.project.configuration,f);this.opts.report.reportWarning($.INVALID_MANIFEST,`${Q}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(Mn).join(", ")}, using default: "${h}"`)}return[f.relativeCwd,h]})),s=new Map(this.opts.project.workspaces.map(f=>{var p,m;let h=this.opts.project.configuration.get("nmSelfReferences");return h=(m=(p=f.manifest.installConfig)==null?void 0:p.selfReferences)!=null?m:h,[f.relativeCwd,h]})),o={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(f,h)=>Array.isArray(h)?{name:h[0],reference:h[1]}:{name:f,reference:h},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(f=>{let h=f.anchoredLocator;return{name:P.stringifyIdent(f.locator),reference:h.reference}}),getPackageInformation:f=>{let h=f.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:P.makeLocator(P.parseIdent(f.name),f.reference),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the package reference to have been registered");return p.pnpNode},findPackageLocator:f=>{let h=this.opts.project.tryWorkspaceByCwd(j.toPortablePath(f));if(h!==null){let p=h.anchoredLocator;return{name:P.stringifyIdent(p),reference:p.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:f=>j.fromPortablePath(Jr.resolveVirtual(j.toPortablePath(f)))},{tree:a,errors:l,preserveSymlinksRequired:c}=Gm(o,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:n,project:this.opts.project,selfReferencesByCwd:s});if(!a){for(let{messageName:f,text:h}of l)this.opts.report.reportError(f,h);return}let u=HL(a);await T_e(r,u,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async f=>{let h=P.parseLocator(f),p=this.localStore.get(h.locatorHash);if(typeof p=="undefined")throw new Error("Assertion failed: Expected the slot to exist");return p.customPackageData.manifest}});let g=[];for(let[f,h]of u.entries()){if(ice(f))continue;let p=P.parseLocator(f),m=this.localStore.get(p.locatorHash);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(m.pkg))continue;let y=wo.extractBuildScripts(m.pkg,m.customPackageData,m.dependencyMeta,{configuration:this.opts.project.configuration,report:this.opts.report});y.length!==0&&g.push({buildLocations:h.locations,locatorHash:p.locatorHash,buildDirective:y})}return c&&this.opts.report.reportWarning($.NM_PRESERVE_SYMLINKS_REQUIRED,`The application uses portals and that's why ${ae.pretty(this.opts.project.configuration,"--preserve-symlinks",ae.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:g}}};async function L_e(t,e){var n;let r=(n=await At.tryFind(e.prefixPath,{baseFs:e.packageFs}))!=null?n:new At,i=new Set(["preinstall","install","postinstall"]);for(let s of r.scripts.keys())i.has(s)||r.scripts.delete(s);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{extractHint:wo.getExtractHint(e),hasBindingGyp:wo.hasBindingGyp(e)}}}async function O_e(t,e,r,i){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${ece} +`,n+=` nmMode: ${i.value} +`;let s=Array.from(e.keys()).sort(),o=P.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let c of s){let u=e.get(c);n+=` +`,n+=`${JSON.stringify(c)}: +`,n+=` locations: +`;for(let g of u.locations){let f=k.contains(t.cwd,g);if(f===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` - ${JSON.stringify(f)} +`}if(u.aliases.length>0){n+=` aliases: +`;for(let g of u.aliases)n+=` - ${JSON.stringify(g)} +`}if(c===o&&r.size>0){n+=` bin: +`;for(let[g,f]of r){let h=k.contains(t.cwd,g);if(h===null)throw new Error(`Assertion failed: Expected the path to be within the project (${g})`);n+=` ${JSON.stringify(h)}: +`;for(let[p,m]of f){let y=k.relative(k.join(g,ai),m);n+=` ${JSON.stringify(p)}: ${JSON.stringify(y)} +`}}}}let a=t.cwd,l=k.join(a,ai,tce);await K.changeFilePromise(l,n,{automaticNewlines:!0})}async function AT(t,{unrollAliases:e=!1}={}){let r=t.cwd,i=k.join(r,ai,tce);if(!K.existsSync(i))return null;let n=Qi(await K.readFilePromise(i,"utf8"));if(n.__metadata.version>ece)return null;let s=n.__metadata.nmMode||Li.CLASSIC,o=new Map,a=new Map;delete n.__metadata;for(let[l,c]of Object.entries(n)){let u=c.locations.map(f=>k.join(r,f)),g=c.bin;if(g)for(let[f,h]of Object.entries(g)){let p=k.join(r,j.toPortablePath(f)),m=Se.getMapWithDefault(a,p);for(let[y,Q]of Object.entries(h))m.set(qr(y),j.toPortablePath([p,ai,Q].join(k.delimiter)))}if(o.set(l,{target:Me.dot,linkType:Qt.HARD,locations:u,aliases:c.aliases||[]}),e&&c.aliases)for(let f of c.aliases){let{scope:h,name:p}=P.parseLocator(l),m=P.makeLocator(P.makeIdent(h,p),f),y=P.stringifyLocator(m);o.set(y,{target:Me.dot,linkType:Qt.HARD,locations:u,aliases:[]})}}return{locatorMap:o,binSymlinks:a,locationTree:nce(o,{skipPrefix:t.cwd}),nmMode:s}}var ah=async(t,e)=>{if(t.split(k.sep).indexOf(ai)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let i=e.allowSymlink?await K.statPromise(t):await K.lstatPromise(t);if(e.allowSymlink&&!i.isDirectory()||!e.allowSymlink&&i.isSymbolicLink()){await K.unlinkPromise(t);return}}let r=await K.readdirPromise(t,{withFileTypes:!0});for(let i of r){let n=k.join(t,qr(i.name));i.isDirectory()?(i.name!==ai||e&&e.innerLoop)&&await ah(n,{innerLoop:!0,contentsOnly:!1}):await K.unlinkPromise(n)}e.contentsOnly||await K.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},sce=4,fb=(t,{skipPrefix:e})=>{let r=k.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let i=r.split(k.sep).filter(l=>l!==""),n=i.indexOf(ai),s=i.slice(0,n).join(k.sep),o=k.join(e,s),a=i.slice(n);return{locationRoot:o,segments:a}},nce=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let i=()=>({children:new Map,linkType:Qt.HARD});for(let[n,s]of t.entries()){if(s.linkType===Qt.SOFT&&k.contains(e,s.target)!==null){let a=Se.getFactoryWithDefault(r,s.target,i);a.locator=n,a.linkType=s.linkType}for(let o of s.locations){let{locationRoot:a,segments:l}=fb(o,{skipPrefix:e}),c=Se.getFactoryWithDefault(r,a,i);for(let u=0;u{let r;try{process.platform==="win32"&&(r=await K.lstatPromise(t))}catch(i){}process.platform=="win32"&&(!r||r.isDirectory())?await K.symlinkPromise(t,e,"junction"):await K.symlinkPromise(k.relative(k.dirname(e),t),e)};async function oce(t,e,r){let i=k.join(t,qr(`${sT.default.randomBytes(16).toString("hex")}.tmp`));try{await K.writeFilePromise(i,r);try{await K.linkPromise(i,e)}catch(n){}}finally{await K.unlinkPromise(i)}}async function M_e({srcPath:t,dstPath:e,srcMode:r,globalHardlinksStore:i,baseFs:n,nmMode:s,digest:o}){if(s.value===Li.HARDLINKS_GLOBAL&&i&&o){let l=k.join(i,o.substring(0,2),`${o.substring(2)}.dat`),c;try{if(await Dn.checksumFile(l,{baseFs:K,algorithm:"sha1"})!==o){let g=k.join(i,qr(`${sT.default.randomBytes(16).toString("hex")}.tmp`));await K.renamePromise(l,g);let f=await n.readFilePromise(t);await K.writeFilePromise(g,f);try{await K.linkPromise(g,l),await K.unlinkPromise(g)}catch(h){}}await K.linkPromise(l,e),c=!0}catch(u){c=!1}if(!c){let u=await n.readFilePromise(t);await oce(i,l,u);try{await K.linkPromise(l,e)}catch(g){g&&g.code&&g.code=="EXDEV"&&(s.value=Li.HARDLINKS_LOCAL,await n.copyFilePromise(t,e))}}}else await n.copyFilePromise(t,e);let a=r&511;a!==420&&await K.chmodPromise(e,a)}var Dl;(function(i){i.FILE="file",i.DIRECTORY="directory",i.SYMLINK="symlink"})(Dl||(Dl={}));var U_e=async(t,e,{baseFs:r,globalHardlinksStore:i,nmMode:n,packageChecksum:s})=>{await K.mkdirPromise(t,{recursive:!0});let o=async(l=Me.dot)=>{let c=k.join(e,l),u=await r.readdirPromise(c,{withFileTypes:!0}),g=new Map;for(let f of u){let h=k.join(l,f.name),p,m=k.join(c,f.name);if(f.isFile()){if(p={kind:Dl.FILE,mode:(await r.lstatPromise(m)).mode},n.value===Li.HARDLINKS_GLOBAL){let y=await Dn.checksumFile(m,{baseFs:r,algorithm:"sha1"});p.digest=y}}else if(f.isDirectory())p={kind:Dl.DIRECTORY};else if(f.isSymbolicLink())p={kind:Dl.SYMLINK,symlinkTo:await r.readlinkPromise(m)};else throw new Error(`Unsupported file type (file: ${m}, mode: 0o${await r.statSync(m).mode.toString(8).padStart(6,"0")})`);if(g.set(h,p),f.isDirectory()&&h!==ai){let y=await o(h);for(let[Q,S]of y)g.set(Q,S)}}return g},a;if(n.value===Li.HARDLINKS_GLOBAL&&i&&s){let l=k.join(i,s.substring(0,2),`${s.substring(2)}.json`);try{a=new Map(Object.entries(JSON.parse(await K.readFilePromise(l,"utf8"))))}catch(c){a=await o(),await oce(i,l,Buffer.from(JSON.stringify(Object.fromEntries(a))))}}else a=await o();for(let[l,c]of a){let u=k.join(e,l),g=k.join(t,l);c.kind===Dl.DIRECTORY?await K.mkdirPromise(g,{recursive:!0}):c.kind===Dl.FILE?await M_e({srcPath:u,dstPath:g,srcMode:c.mode,digest:c.digest,nmMode:n,baseFs:r,globalHardlinksStore:i}):c.kind===Dl.SYMLINK&&await lT(k.resolve(k.dirname(g),c.symlinkTo),g)}};function K_e(t,e){let r=new Map([...t]),i=new Map([...e]);for(let[n,s]of t){let o=k.join(n,ai);if(!K.existsSync(o)){s.children.delete(ai);for(let a of i.keys())k.contains(o,a)!==null&&i.delete(a)}}return{locationTree:r,binSymlinks:i}}function ice(t){let e=P.parseDescriptor(t);return P.isVirtualDescriptor(e)&&(e=P.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function H_e(t,e,r,{loadManifest:i}){let n=new Map;for(let[a,{locations:l}]of t){let c=ice(a)?null:await i(a,l[0]),u=new Map;if(c)for(let[g,f]of c.bin){let h=k.join(l[0],f);f!==""&&K.existsSync(h)&&u.set(g,f)}n.set(a,u)}let s=new Map,o=(a,l,c)=>{let u=new Map,g=k.contains(r,a);if(c.locator&&g!==null){let f=n.get(c.locator);for(let[h,p]of f){let m=k.join(a,j.toPortablePath(p));u.set(qr(h),m)}for(let[h,p]of c.children){let m=k.join(a,h),y=o(m,m,p);y.size>0&&s.set(a,new Map([...s.get(a)||new Map,...y]))}}else for(let[f,h]of c.children){let p=o(k.join(a,f),l,h);for(let[m,y]of p)u.set(m,y)}return u};for(let[a,l]of e){let c=o(a,a,l);c.size>0&&s.set(a,new Map([...s.get(a)||new Map,...c]))}return s}var ace=(t,e)=>{if(!t||!e)return t===e;let r=P.parseLocator(t);P.isVirtualLocator(r)&&(r=P.devirtualizeLocator(r));let i=P.parseLocator(e);return P.isVirtualLocator(i)&&(i=P.devirtualizeLocator(i)),P.areLocatorsEqual(r,i)};function cT(t){return k.join(t.get("globalFolder"),"store")}async function T_e(t,e,{baseFs:r,project:i,report:n,loadManifest:s,realLocatorChecksums:o}){let a=k.join(i.cwd,ai),{locationTree:l,binSymlinks:c}=K_e(t.locationTree,t.binSymlinks),u=nce(e,{skipPrefix:i.cwd}),g=[],f=async({srcDir:U,dstDir:J,linkType:W,globalHardlinksStore:ee,nmMode:Z,packageChecksum:A})=>{let ne=(async()=>{try{W===Qt.SOFT?(await K.mkdirPromise(k.dirname(J),{recursive:!0}),await lT(k.resolve(U),J)):await U_e(J,U,{baseFs:r,globalHardlinksStore:ee,nmMode:Z,packageChecksum:A})}catch(le){throw le.message=`While persisting ${U} -> ${J} ${le.message}`,le}finally{S.tick()}})().then(()=>g.splice(g.indexOf(ne),1));g.push(ne),g.length>sce&&await Promise.race(g)},h=async(U,J,W)=>{let ee=(async()=>{let Z=async(A,ne,le)=>{try{le.innerLoop||await K.mkdirPromise(ne,{recursive:!0});let Ae=await K.readdirPromise(A,{withFileTypes:!0});for(let T of Ae){if(!le.innerLoop&&T.name===oT)continue;let L=k.join(A,T.name),Ee=k.join(ne,T.name);T.isDirectory()?(T.name!==ai||le&&le.innerLoop)&&(await K.mkdirPromise(Ee,{recursive:!0}),await Z(L,Ee,te(N({},le),{innerLoop:!0}))):Y.value===Li.HARDLINKS_LOCAL||Y.value===Li.HARDLINKS_GLOBAL?await K.linkPromise(L,Ee):await K.copyFilePromise(L,Ee,$le.default.constants.COPYFILE_FICLONE)}}catch(Ae){throw le.innerLoop||(Ae.message=`While cloning ${A} -> ${ne} ${Ae.message}`),Ae}finally{le.innerLoop||S.tick()}};await Z(U,J,W)})().then(()=>g.splice(g.indexOf(ee),1));g.push(ee),g.length>sce&&await Promise.race(g)},p=async(U,J,W)=>{if(W)for(let[ee,Z]of J.children){let A=W.children.get(ee);await p(k.join(U,ee),Z,A)}else{J.children.has(ai)&&await ah(k.join(U,ai),{contentsOnly:!1});let ee=k.basename(U)===ai&&u.has(k.join(k.dirname(U),k.sep));await ah(U,{contentsOnly:U===a,allowSymlink:ee})}};for(let[U,J]of l){let W=u.get(U);for(let[ee,Z]of J.children){if(ee===".")continue;let A=W&&W.children.get(ee),ne=k.join(U,ee);await p(ne,Z,A)}}let m=async(U,J,W)=>{if(W){ace(J.locator,W.locator)||await ah(U,{contentsOnly:J.linkType===Qt.HARD});for(let[ee,Z]of J.children){let A=W.children.get(ee);await m(k.join(U,ee),Z,A)}}else{J.children.has(ai)&&await ah(k.join(U,ai),{contentsOnly:!0});let ee=k.basename(U)===ai&&u.has(k.join(k.dirname(U),k.sep));await ah(U,{contentsOnly:J.linkType===Qt.HARD,allowSymlink:ee})}};for(let[U,J]of u){let W=l.get(U);for(let[ee,Z]of J.children){if(ee===".")continue;let A=W&&W.children.get(ee);await m(k.join(U,ee),Z,A)}}let y=new Map,Q=[];for(let[U,{locations:J}]of t.locatorMap.entries())for(let W of J){let{locationRoot:ee,segments:Z}=fb(W,{skipPrefix:i.cwd}),A=u.get(ee),ne=ee;if(A){for(let le of Z)if(ne=k.join(ne,le),A=A.children.get(le),!A)break;if(A){let le=ace(A.locator,U),Ae=e.get(A.locator),T=Ae.target,L=ne,Ee=Ae.linkType;if(le)y.has(T)||y.set(T,L);else if(T!==L){let we=P.parseLocator(A.locator);P.isVirtualLocator(we)&&(we=P.devirtualizeLocator(we)),Q.push({srcDir:T,dstDir:L,linkType:Ee,realLocatorHash:we.locatorHash})}}}}for(let[U,{locations:J}]of e.entries())for(let W of J){let{locationRoot:ee,segments:Z}=fb(W,{skipPrefix:i.cwd}),A=l.get(ee),ne=u.get(ee),le=ee,Ae=e.get(U),T=P.parseLocator(U);P.isVirtualLocator(T)&&(T=P.devirtualizeLocator(T));let L=T.locatorHash,Ee=Ae.target,we=W;if(Ee===we)continue;let qe=Ae.linkType;for(let re of Z)ne=ne.children.get(re);if(!A)Q.push({srcDir:Ee,dstDir:we,linkType:qe,realLocatorHash:L});else for(let re of Z)if(le=k.join(le,re),A=A.children.get(re),!A){Q.push({srcDir:Ee,dstDir:we,linkType:qe,realLocatorHash:L});break}}let S=Ji.progressViaCounter(Q.length),x=n.reportProgress(S),M=i.configuration.get("nmMode"),Y={value:M};try{let U=Y.value===Li.HARDLINKS_GLOBAL?`${cT(i.configuration)}/v1`:null;if(U&&!await K.existsPromise(U)){await K.mkdirpPromise(U);for(let W=0;W<256;W++)await K.mkdirPromise(k.join(U,W.toString(16).padStart(2,"0")))}for(let W of Q)(W.linkType===Qt.SOFT||!y.has(W.srcDir))&&(y.set(W.srcDir,W.dstDir),await f(te(N({},W),{globalHardlinksStore:U,nmMode:Y,packageChecksum:o.get(W.realLocatorHash)||null})));await Promise.all(g),g.length=0;for(let W of Q){let ee=y.get(W.srcDir);W.linkType!==Qt.SOFT&&W.dstDir!==ee&&await h(ee,W.dstDir,{nmMode:Y})}await Promise.all(g),await K.mkdirPromise(a,{recursive:!0});let J=await H_e(e,u,i.cwd,{loadManifest:s});await j_e(c,J,i.cwd),await O_e(i,e,J,Y),M==Li.HARDLINKS_GLOBAL&&Y.value==Li.HARDLINKS_LOCAL&&n.reportWarningOnce($.NM_HARDLINKS_MODE_DOWNGRADED,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{x.stop()}}async function j_e(t,e,r){for(let i of t.keys()){if(k.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);if(!e.has(i)){let n=k.join(i,ai,oT);await K.removePromise(n)}}for(let[i,n]of e){if(k.contains(r,i)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${i}`);let s=k.join(i,ai,oT),o=t.get(i)||new Map;await K.mkdirPromise(s,{recursive:!0});for(let a of o.keys())n.has(a)||(await K.removePromise(k.join(s,a)),process.platform==="win32"&&await K.removePromise(k.join(s,qr(`${a}.cmd`))));for(let[a,l]of n){let c=o.get(a),u=k.join(s,a);c!==l&&(process.platform==="win32"?await(0,Zle.default)(j.fromPortablePath(l),j.fromPortablePath(u),{createPwshFile:!1}):(await K.removePromise(u),await lT(l,u),k.contains(r,await K.realpathPromise(l))!==null&&await K.chmodPromise(l,493)))}}}var uT=class extends Qu{constructor(){super(...arguments);this.mode="loose"}makeInstaller(e){return new Ace(e)}},Ace=class extends sh{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(e){let r=new Jr({baseFs:new ms({libzip:await fn(),maxOpenFiles:80,readOnlyArchives:!0})}),i=Ole(e,this.opts.project.cwd,r),{tree:n,errors:s}=Gm(i,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:u,text:g}of s)this.opts.report.reportError(u,g);return}let o=new Map;e.fallbackPool=o;let a=(u,g)=>{let f=P.parseLocator(g.locator),h=P.stringifyIdent(f);h===u?o.set(u,f.reference):o.set(u,[h,f.reference])},l=k.join(this.opts.project.cwd,Pt.nodeModules),c=n.get(l);if(typeof c!="undefined"){if("target"in c)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let u of c.dirList){let g=k.join(l,u),f=n.get(g);if(typeof f=="undefined")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in f)a(u,f);else for(let h of f.dirList){let p=k.join(g,h),m=n.get(p);if(typeof m=="undefined")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in m)a(`${u}/${h}`,m);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var G_e={hooks:{cleanGlobalArtifacts:async t=>{let e=cT(t);await K.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevent packages to be hoisted past specific levels",type:Ie.STRING,values:[Mn.WORKSPACES,Mn.DEPENDENCIES,Mn.NONE],default:Mn.NONE},nmMode:{description:'If set to "hardlinks-local" Yarn will utilize hardlinks to reduce disk space consumption inside "node_modules" directories. With "hardlinks-global" Yarn will use global content addressable storage to reduce "node_modules" size across all the projects using this option.',type:Ie.STRING,values:[Li.CLASSIC,Li.HARDLINKS_LOCAL,Li.HARDLINKS_GLOBAL],default:Li.CLASSIC},nmSelfReferences:{description:"If set to 'false' the workspace will not be allowed to require itself and corresponding self-referencing symlink will not be created",type:Ie.BOOLEAN,default:!0}},linkers:[aT,uT]},Y_e=G_e;var uO={};ft(uO,{default:()=>ZVe,npmConfigUtils:()=>br,npmHttpUtils:()=>zt,npmPublishUtils:()=>yh});var fce=ge(ti());var Cr="npm:";var zt={};ft(zt,{AuthType:()=>cs,customPackageError:()=>W_e,del:()=>V_e,get:()=>Bo,getIdentUrl:()=>Fl,handleInvalidAuthenticationError:()=>Rl,post:()=>z_e,put:()=>__e});var uce=ge($C()),gce=ge(require("url"));var br={};ft(br,{RegistryType:()=>yA,getAuditRegistry:()=>q_e,getAuthConfiguration:()=>hT,getDefaultRegistry:()=>hb,getPublishRegistry:()=>lce,getRegistryConfiguration:()=>cce,getScopeConfiguration:()=>fT,getScopeRegistry:()=>wA,normalizeRegistry:()=>ha});var yA;(function(i){i.AUDIT_REGISTRY="npmAuditRegistry",i.FETCH_REGISTRY="npmRegistryServer",i.PUBLISH_REGISTRY="npmPublishRegistry"})(yA||(yA={}));function ha(t){return t.replace(/\/$/,"")}function q_e(t,{configuration:e}){let r=e.get(yA.AUDIT_REGISTRY);return r!==null?ha(r):lce(t,{configuration:e})}function lce(t,{configuration:e}){var r;return((r=t.publishConfig)==null?void 0:r.registry)?ha(t.publishConfig.registry):t.name?wA(t.name.scope,{configuration:e,type:yA.PUBLISH_REGISTRY}):hb({configuration:e,type:yA.PUBLISH_REGISTRY})}function wA(t,{configuration:e,type:r=yA.FETCH_REGISTRY}){let i=fT(t,{configuration:e});if(i===null)return hb({configuration:e,type:r});let n=i.get(r);return n===null?hb({configuration:e,type:r}):ha(n)}function hb({configuration:t,type:e=yA.FETCH_REGISTRY}){let r=t.get(e);return ha(r!==null?r:t.get(yA.FETCH_REGISTRY))}function cce(t,{configuration:e}){let r=e.get("npmRegistries"),i=ha(t),n=r.get(i);if(typeof n!="undefined")return n;let s=r.get(i.replace(/^[a-z]+:/,""));return typeof s!="undefined"?s:null}function fT(t,{configuration:e}){if(t===null)return null;let i=e.get("npmScopes").get(t);return i||null}function hT(t,{configuration:e,ident:r}){let i=r&&fT(r.scope,{configuration:e});return(i==null?void 0:i.get("npmAuthIdent"))||(i==null?void 0:i.get("npmAuthToken"))?i:cce(t,{configuration:e})||e}var cs;(function(n){n[n.NO_AUTH=0]="NO_AUTH",n[n.BEST_EFFORT=1]="BEST_EFFORT",n[n.CONFIGURATION=2]="CONFIGURATION",n[n.ALWAYS_AUTH=3]="ALWAYS_AUTH"})(cs||(cs={}));async function Rl(t,{attemptedAs:e,registry:r,headers:i,configuration:n}){var s,o;if(pb(t))throw new ct($.AUTHENTICATION_INVALID,"Invalid OTP token");if(((s=t.originalError)==null?void 0:s.name)==="HTTPError"&&((o=t.originalError)==null?void 0:o.response.statusCode)===401)throw new ct($.AUTHENTICATION_INVALID,`Invalid authentication (${typeof e!="string"?`as ${await J_e(r,i,{configuration:n})}`:`attempted as ${e}`})`)}function W_e(t){var e;return((e=t.response)==null?void 0:e.statusCode)===404?"Package not found":null}function Fl(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}async function Bo(t,a){var l=a,{configuration:e,headers:r,ident:i,authType:n,registry:s}=l,o=Tr(l,["configuration","headers","ident","authType","registry"]);if(i&&typeof s=="undefined"&&(s=wA(i.scope,{configuration:e})),i&&i.scope&&typeof n=="undefined"&&(n=1),typeof s!="string")throw new Error("Assertion failed: The registry should be a string");let c=await db(s,{authType:n,configuration:e,ident:i});c&&(r=te(N({},r),{authorization:c}));try{return await ir.get(t.charAt(0)==="/"?`${s}${t}`:t,N({configuration:e,headers:r},o))}catch(u){throw await Rl(u,{registry:s,configuration:e,headers:r}),u}}async function z_e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=wA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await db(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),Ah(l)));try{return await ir.post(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!pb(h)||l)throw await Rl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await pT();let p=N(N({},n),Ah(l));try{return await ir.post(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Rl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function __e(t,e,u){var g=u,{attemptedAs:r,configuration:i,headers:n,ident:s,authType:o=3,registry:a,otp:l}=g,c=Tr(g,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(s&&typeof a=="undefined"&&(a=wA(s.scope,{configuration:i})),typeof a!="string")throw new Error("Assertion failed: The registry should be a string");let f=await db(a,{authType:o,configuration:i,ident:s});f&&(n=te(N({},n),{authorization:f})),l&&(n=N(N({},n),Ah(l)));try{return await ir.put(a+t,e,N({configuration:i,headers:n},c))}catch(h){if(!pb(h))throw await Rl(h,{attemptedAs:r,registry:a,configuration:i,headers:n}),h;l=await pT();let p=N(N({},n),Ah(l));try{return await ir.put(`${a}${t}`,e,N({configuration:i,headers:p},c))}catch(m){throw await Rl(m,{attemptedAs:r,registry:a,configuration:i,headers:n}),m}}}async function V_e(t,c){var u=c,{attemptedAs:e,configuration:r,headers:i,ident:n,authType:s=3,registry:o,otp:a}=u,l=Tr(u,["attemptedAs","configuration","headers","ident","authType","registry","otp"]);if(n&&typeof o=="undefined"&&(o=wA(n.scope,{configuration:r})),typeof o!="string")throw new Error("Assertion failed: The registry should be a string");let g=await db(o,{authType:s,configuration:r,ident:n});g&&(i=te(N({},i),{authorization:g})),a&&(i=N(N({},i),Ah(a)));try{return await ir.del(o+t,N({configuration:r,headers:i},l))}catch(f){if(!pb(f)||a)throw await Rl(f,{attemptedAs:e,registry:o,configuration:r,headers:i}),f;a=await pT();let h=N(N({},i),Ah(a));try{return await ir.del(`${o}${t}`,N({configuration:r,headers:h},l))}catch(p){throw await Rl(p,{attemptedAs:e,registry:o,configuration:r,headers:i}),p}}}async function db(t,{authType:e=2,configuration:r,ident:i}){let n=hT(t,{configuration:r,ident:i}),s=X_e(n,e);if(!s)return null;let o=await r.reduceHook(a=>a.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:i});if(o)return o;if(n.get("npmAuthToken"))return`Bearer ${n.get("npmAuthToken")}`;if(n.get("npmAuthIdent")){let a=n.get("npmAuthIdent");return a.includes(":")?`Basic ${Buffer.from(a).toString("base64")}`:`Basic ${a}`}if(s&&e!==1)throw new ct($.AUTHENTICATION_NOT_FOUND,"No authentication configured for request");return null}function X_e(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function J_e(t,e,{configuration:r}){var i;if(typeof e=="undefined"||typeof e.authorization=="undefined")return"an anonymous user";try{return(i=(await ir.get(new gce.URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username)!=null?i:"an unknown user"}catch{return"an unknown user"}}async function pT(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";let{otp:t}=await(0,uce.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return t}function pb(t){var e,r;if(((e=t.originalError)==null?void 0:e.name)!=="HTTPError")return!1;try{return((r=t.originalError)==null?void 0:r.response.headers["www-authenticate"].split(/,\s*/).map(n=>n.toLowerCase())).includes("otp")}catch(i){return!1}}function Ah(t){return{["npm-otp"]:t}}var dT=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i,params:n}=P.parseRange(e.reference);return!(!fce.default.valid(i)||n===null||typeof n.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let{params:i}=P.parseRange(e.reference);if(i===null||typeof i.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let n=await Bo(i.__archiveUrl,{configuration:r.project.configuration,ident:e});return await wi.convertToZip(n,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}};var CT=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!P.tryParseDescriptor(e.range.slice(Cr.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){let i=P.parseDescriptor(e.range.slice(Cr.length),!0);return r.resolver.getResolutionDependencies(i,r)}async getCandidates(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return await i.resolver.getCandidates(n,r,i)}async getSatisfying(e,r,i){let n=P.parseDescriptor(e.range.slice(Cr.length),!0);return i.resolver.getSatisfying(n,r,i)}resolve(e,r){throw new Error("Unreachable")}};var hce=ge(ti()),pce=ge(require("url"));var bo=class{supports(e,r){if(!e.reference.startsWith(Cr))return!1;let i=new pce.URL(e.reference);return!(!hce.default.valid(i.pathname)||i.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,r){let i;try{i=await Bo(bo.getLocatorUrl(e),{configuration:r.project.configuration,ident:e})}catch(n){i=await Bo(bo.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:r.project.configuration,ident:e})}return await wi.convertToZip(i,{compressionLevel:r.project.configuration.get("compressionLevel"),prefixPath:P.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:i}){let n=wA(e.scope,{configuration:i}),s=bo.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),n=n.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===n+s||r===n+s.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Wt.clean(e.reference.slice(Cr.length));if(r===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${Fl(e)}/-/${e.name}-${r}.tgz`}};var dce=ge(ti());var Cb=P.makeIdent(null,"node-gyp"),Z_e=/\b(node-gyp|prebuild-install)\b/,mT=class{supportsDescriptor(e,r){return e.range.startsWith(Cr)?!!Wt.validRange(e.range.slice(Cr.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Cr))return!1;let{selector:i}=P.parseRange(e.reference);return!!dce.default.valid(i)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);let s=await Bo(Fl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0}),o=Se.mapAndFilter(Object.keys(s.versions),c=>{try{let u=new Wt.SemVer(c);if(n.test(u))return u}catch{}return Se.mapAndFilter.skip}),a=o.filter(c=>!s.versions[c.raw].deprecated),l=a.length>0?a:o;return l.sort((c,u)=>-c.compare(u)),l.map(c=>{let u=P.makeLocator(e,`${Cr}${c.raw}`),g=s.versions[c.raw].dist.tarball;return bo.isConventionalTarballUrl(u,g,{configuration:i.project.configuration})?u:P.bindLocator(u,{__archiveUrl:g})})}async getSatisfying(e,r,i){let n=Wt.validRange(e.range.slice(Cr.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Cr.length)}`);return Se.mapAndFilter(r,s=>{try{let{selector:o}=P.parseRange(s,{requireProtocol:Cr}),a=new Wt.SemVer(o);if(n.test(a))return{reference:s,version:a}}catch{}return Se.mapAndFilter.skip}).sort((s,o)=>-s.version.compare(o.version)).map(({reference:s})=>P.makeLocator(e,s))}async resolve(e,r){let{selector:i}=P.parseRange(e.reference),n=Wt.clean(i);if(n===null)throw new ct($.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");let s=await Bo(Fl(e),{configuration:r.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(s.versions,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return reference "${n}"`);let o=new At;if(o.load(s.versions[n]),!o.dependencies.has(Cb.identHash)&&!o.peerDependencies.has(Cb.identHash)){for(let a of o.scripts.values())if(a.match(Z_e)){o.dependencies.set(Cb.identHash,P.makeDescriptor(Cb,"latest")),r.report.reportWarningOnce($.NODE_GYP_INJECTED,`${P.prettyLocator(r.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}}if(typeof o.raw.deprecated=="string"&&o.raw.deprecated!==""){let a=P.prettyLocator(r.project.configuration,e),l=o.raw.deprecated.match(/\S/)?`${a} is deprecated: ${o.raw.deprecated}`:`${a} is deprecated`;r.report.reportWarningOnce($.DEPRECATED_PACKAGE,l)}return te(N({},e),{version:n,languageName:"node",linkType:Qt.HARD,conditions:o.getConditions(),dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}};var ET=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Cr)||!Gg.test(e.range.slice(Cr.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,i){return e}getResolutionDependencies(e,r){return[]}async getCandidates(e,r,i){let n=e.range.slice(Cr.length),s=await Bo(Fl(e),{configuration:i.project.configuration,ident:e,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(s,"dist-tags"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');let o=s["dist-tags"];if(!Object.prototype.hasOwnProperty.call(o,n))throw new ct($.REMOTE_NOT_FOUND,`Registry failed to return tag "${n}"`);let a=o[n],l=P.makeLocator(e,`${Cr}${a}`),c=s.versions[a].dist.tarball;return bo.isConventionalTarballUrl(l,c,{configuration:i.project.configuration})?[l]:[P.bindLocator(l,{__archiveUrl:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){throw new Error("Unreachable")}};var yh={};ft(yh,{getGitHead:()=>VVe,makePublishBody:()=>_Ve});var aO={};ft(aO,{default:()=>DVe,packUtils:()=>vA});var vA={};ft(vA,{genPackList:()=>Ub,genPackStream:()=>oO,genPackageManifest:()=>Yue,hasPackScripts:()=>nO,prepareForPack:()=>sO});var iO=ge(ts()),jue=ge(Hue()),Gue=ge(require("zlib")),IVe=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],yVe=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function nO(t){return!!(Zt.hasWorkspaceScript(t,"prepack")||Zt.hasWorkspaceScript(t,"postpack"))}async function sO(t,{report:e},r){await Zt.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let i=k.join(t.cwd,At.fileName);await K.existsPromise(i)&&await t.manifest.loadFile(i,{baseFs:K}),await r()}finally{await Zt.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function oO(t,e){var s,o;typeof e=="undefined"&&(e=await Ub(t));let r=new Set;for(let a of(o=(s=t.manifest.publishConfig)==null?void 0:s.executableFiles)!=null?o:new Set)r.add(k.normalize(a));for(let a of t.manifest.bin.values())r.add(k.normalize(a));let i=jue.default.pack();process.nextTick(async()=>{for(let a of e){let l=k.normalize(a),c=k.resolve(t.cwd,l),u=k.join("package",l),g=await K.lstatPromise(c),f={name:u,mtime:new Date(Dr.SAFE_TIME*1e3)},h=r.has(l)?493:420,p,m,y=new Promise((S,x)=>{p=S,m=x}),Q=S=>{S?m(S):p()};if(g.isFile()){let S;l==="package.json"?S=Buffer.from(JSON.stringify(await Yue(t),null,2)):S=await K.readFilePromise(c),i.entry(te(N({},f),{mode:h,type:"file"}),S,Q)}else g.isSymbolicLink()?i.entry(te(N({},f),{mode:h,type:"symlink",linkname:await K.readlinkPromise(c)}),Q):Q(new Error(`Unsupported file type ${g.mode} for ${j.fromPortablePath(l)}`));await y}i.finalize()});let n=(0,Gue.createGzip)();return i.pipe(n),n}async function Yue(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function Ub(t){var g,f,h,p,m,y,Q,S;let e=t.project,r=e.configuration,i={accept:[],reject:[]};for(let x of yVe)i.reject.push(x);for(let x of IVe)i.accept.push(x);i.reject.push(r.get("rcFilename"));let n=x=>{if(x===null||!x.startsWith(`${t.cwd}/`))return;let M=k.relative(t.cwd,x),Y=k.resolve(Me.root,M);i.reject.push(Y)};n(k.resolve(e.cwd,r.get("lockfileFilename"))),n(r.get("cacheFolder")),n(r.get("globalFolder")),n(r.get("installStatePath")),n(r.get("virtualFolder")),n(r.get("yarnPath")),await r.triggerHook(x=>x.populateYarnPaths,e,x=>{n(x)});for(let x of e.workspaces){let M=k.relative(t.cwd,x.cwd);M!==""&&!M.match(/^(\.\.)?\//)&&i.reject.push(`/${M}`)}let s={accept:[],reject:[]},o=(f=(g=t.manifest.publishConfig)==null?void 0:g.main)!=null?f:t.manifest.main,a=(p=(h=t.manifest.publishConfig)==null?void 0:h.module)!=null?p:t.manifest.module,l=(y=(m=t.manifest.publishConfig)==null?void 0:m.browser)!=null?y:t.manifest.browser,c=(S=(Q=t.manifest.publishConfig)==null?void 0:Q.bin)!=null?S:t.manifest.bin;o!=null&&s.accept.push(k.resolve(Me.root,o)),a!=null&&s.accept.push(k.resolve(Me.root,a)),typeof l=="string"&&s.accept.push(k.resolve(Me.root,l));for(let x of c.values())s.accept.push(k.resolve(Me.root,x));if(l instanceof Map)for(let[x,M]of l.entries())s.accept.push(k.resolve(Me.root,x)),typeof M=="string"&&s.accept.push(k.resolve(Me.root,M));let u=t.manifest.files!==null;if(u){s.reject.push("/*");for(let x of t.manifest.files)que(s.accept,x,{cwd:Me.root})}return await wVe(t.cwd,{hasExplicitFileList:u,globalList:i,ignoreList:s})}async function wVe(t,{hasExplicitFileList:e,globalList:r,ignoreList:i}){let n=[],s=new Da(t),o=[[Me.root,[i]]];for(;o.length>0;){let[a,l]=o.pop(),c=await s.lstatPromise(a);if(!Wue(a,{globalList:r,ignoreLists:c.isDirectory()?null:l}))if(c.isDirectory()){let u=await s.readdirPromise(a),g=!1,f=!1;if(!e||a!==Me.root)for(let m of u)g=g||m===".gitignore",f=f||m===".npmignore";let h=f?await Jue(s,a,".npmignore"):g?await Jue(s,a,".gitignore"):null,p=h!==null?[h].concat(l):l;Wue(a,{globalList:r,ignoreLists:l})&&(p=[...l,{accept:[],reject:["**/*"]}]);for(let m of u)o.push([k.resolve(a,m),p])}else(c.isFile()||c.isSymbolicLink())&&n.push(k.relative(Me.root,a))}return n.sort()}async function Jue(t,e,r){let i={accept:[],reject:[]},n=await t.readFilePromise(k.join(e,r),"utf8");for(let s of n.split(/\n/g))que(i.reject,s,{cwd:e});return i}function BVe(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=k.resolve(e,t)),r&&(t=`!${t}`),t}function que(t,e,{cwd:r}){let i=e.trim();i===""||i[0]==="#"||t.push(BVe(i,{cwd:r}))}function Wue(t,{globalList:e,ignoreLists:r}){if(Kb(t,e.accept))return!1;if(Kb(t,e.reject))return!0;if(r!==null)for(let i of r){if(Kb(t,i.accept))return!1;if(Kb(t,i.reject))return!0}return!1}function Kb(t,e){let r=e,i=[];for(let n=0;n{await sO(i,{report:l},async()=>{l.reportJson({base:j.fromPortablePath(i.cwd)});let c=await Ub(i);for(let u of c)l.reportInfo(null,j.fromPortablePath(u)),l.reportJson({location:j.fromPortablePath(u)});if(!this.dryRun){let u=await oO(i,c),g=K.createWriteStream(s);u.pipe(g),await new Promise(f=>{g.on("finish",f)})}}),this.dryRun||(l.reportInfo($.UNNAMED,`Package archive generated in ${ae.pretty(e,s,ae.Type.PATH)}`),l.reportJson({output:j.fromPortablePath(s)}))})).exitCode()}};AE.paths=[["pack"]],AE.usage=Re.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});var _ue=AE;function bVe(t,{workspace:e}){let r=t.replace("%s",QVe(e)).replace("%v",vVe(e));return j.toPortablePath(r)}function QVe(t){return t.manifest.name!==null?P.slugifyIdent(t.manifest.name):"package"}function vVe(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var SVe=["dependencies","devDependencies","peerDependencies"],kVe="workspace:",xVe=(t,e)=>{var i,n;e.publishConfig&&(e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let s of SVe)for(let o of t.manifest.getForScope(s).values()){let a=r.tryWorkspaceByDescriptor(o),l=P.parseRange(o.range);if(l.protocol===kVe)if(a===null){if(r.tryWorkspaceByIdent(o)===null)throw new ct($.WORKSPACE_NOT_FOUND,`${P.prettyDescriptor(r.configuration,o)}: No local workspace found for this range`)}else{let c;P.areDescriptorsEqual(o,a.anchoredDescriptor)||l.selector==="*"?c=(i=a.manifest.version)!=null?i:"0.0.0":l.selector==="~"||l.selector==="^"?c=`${l.selector}${(n=a.manifest.version)!=null?n:"0.0.0"}`:c=l.selector;let u=s==="dependencies"?P.makeDescriptor(o,"unknown"):null,g=u!==null&&t.manifest.ensureDependencyMeta(u).optional?"optionalDependencies":s;e[g][P.stringifyIdent(o)]=c}}},PVe={hooks:{beforeWorkspacePacking:xVe},commands:[_ue]},DVe=PVe;var nge=ge(require("crypto")),sge=ge(ige()),oge=ge(require("url"));async function _Ve(t,e,{access:r,tag:i,registry:n,gitHead:s}){let o=t.project.configuration,a=t.manifest.name,l=t.manifest.version,c=P.stringifyIdent(a),u=(0,nge.createHash)("sha1").update(e).digest("hex"),g=sge.default.fromData(e).toString();typeof r=="undefined"&&(t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?r=t.manifest.publishConfig.access:o.get("npmPublishAccess")!==null?r=o.get("npmPublishAccess"):a.scope?r="restricted":r="public");let f=await vA.genPackageManifest(t),h=`${c}-${l}.tgz`,p=new oge.URL(`${ha(n)}/${c}/-/${h}`);return{_id:c,_attachments:{[h]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:c,access:r,["dist-tags"]:{[i]:l},versions:{[l]:te(N({},f),{_id:`${c}@${l}`,name:c,version:l,gitHead:s,dist:{shasum:u,integrity:g,tarball:p.toString()}})}}}async function VVe(t){try{let{stdout:e}=await Fr.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}var gO={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:Ie.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:Ie.SECRET,default:null}},age={npmAuditRegistry:{description:"Registry to query for audit reports",type:Ie.STRING,default:null},npmPublishRegistry:{description:"Registry to push packages to",type:Ie.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:Ie.STRING,default:"https://registry.yarnpkg.com"}},XVe={configuration:te(N(N({},gO),age),{npmScopes:{description:"Settings per package scope",type:Ie.MAP,valueDefinition:{description:"",type:Ie.SHAPE,properties:N(N({},gO),age)}},npmRegistries:{description:"Settings per registry",type:Ie.MAP,normalizeKeys:ha,valueDefinition:{description:"",type:Ie.SHAPE,properties:N({},gO)}}}),fetchers:[dT,bo],resolvers:[CT,mT,ET]},ZVe=XVe;var dO={};ft(dO,{default:()=>a9e});Es();var Ea;(function(i){i.All="all",i.Production="production",i.Development="development"})(Ea||(Ea={}));var vo;(function(s){s.Info="info",s.Low="low",s.Moderate="moderate",s.High="high",s.Critical="critical"})(vo||(vo={}));var Hb=[vo.Info,vo.Low,vo.Moderate,vo.High,vo.Critical];function Age(t,e){let r=[],i=new Set,n=o=>{i.has(o)||(i.add(o),r.push(o))};for(let o of e)n(o);let s=new Set;for(;r.length>0;){let o=r.shift(),a=t.storedResolutions.get(o);if(typeof a=="undefined")throw new Error("Assertion failed: Expected the resolution to have been registered");let l=t.storedPackages.get(a);if(!!l){s.add(o);for(let c of l.dependencies.values())n(c.descriptorHash)}}return s}function $Ve(t,e){return new Set([...t].filter(r=>!e.has(r)))}function e9e(t,e,{all:r}){let i=r?t.workspaces:[e],n=i.map(f=>f.manifest),s=new Set(n.map(f=>[...f.dependencies].map(([h,p])=>h)).flat()),o=new Set(n.map(f=>[...f.devDependencies].map(([h,p])=>h)).flat()),a=i.map(f=>[...f.dependencies.values()]).flat(),l=a.filter(f=>s.has(f.identHash)).map(f=>f.descriptorHash),c=a.filter(f=>o.has(f.identHash)).map(f=>f.descriptorHash),u=Age(t,l),g=Age(t,c);return $Ve(g,u)}function lge(t){let e={};for(let r of t)e[P.stringifyIdent(r)]=P.parseRange(r.range).selector;return e}function cge(t){if(typeof t=="undefined")return new Set;let e=Hb.indexOf(t),r=Hb.slice(e);return new Set(r)}function t9e(t,e){let r=cge(e),i={};for(let n of r)i[n]=t[n];return i}function uge(t,e){var i;let r=t9e(t,e);for(let n of Object.keys(r))if((i=r[n])!=null?i:0>0)return!0;return!1}function gge(t,e){var s;let r={},i={children:r},n=Object.values(t.advisories);if(e!=null){let o=cge(e);n=n.filter(a=>o.has(a.severity))}for(let o of Se.sortMap(n,a=>a.module_name))r[o.module_name]={label:o.module_name,value:ae.tuple(ae.Type.RANGE,o.findings.map(a=>a.version).join(", ")),children:{Issue:{label:"Issue",value:ae.tuple(ae.Type.NO_HINT,o.title)},URL:{label:"URL",value:ae.tuple(ae.Type.URL,o.url)},Severity:{label:"Severity",value:ae.tuple(ae.Type.NO_HINT,o.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:ae.tuple(ae.Type.RANGE,o.vulnerable_versions)},["Patched Versions"]:{label:"Patched Versions",value:ae.tuple(ae.Type.RANGE,o.patched_versions)},Via:{label:"Via",value:ae.tuple(ae.Type.NO_HINT,Array.from(new Set(o.findings.map(a=>a.paths).flat().map(a=>a.split(">")[0]))).join(", "))},Recommendation:{label:"Recommendation",value:ae.tuple(ae.Type.NO_HINT,(s=o.recommendation)==null?void 0:s.replace(/\n/g," "))}}};return i}function fge(t,e,{all:r,environment:i}){let n=r?t.workspaces:[e],s=[Ea.All,Ea.Production].includes(i),o=[];if(s)for(let c of n)for(let u of c.manifest.dependencies.values())o.push(u);let a=[Ea.All,Ea.Development].includes(i),l=[];if(a)for(let c of n)for(let u of c.manifest.devDependencies.values())l.push(u);return lge([...o,...l].filter(c=>P.parseRange(c.range).protocol===null))}function hge(t,e,{all:r}){var s;let i=e9e(t,e,{all:r}),n={};for(let o of t.storedPackages.values())n[P.stringifyIdent(o)]={version:(s=o.version)!=null?s:"0.0.0",integrity:o.identHash,requires:lge(o.dependencies.values()),dev:i.has(P.convertLocatorToDescriptor(o).descriptorHash)};return n}var uE=class extends Le{constructor(){super(...arguments);this.all=z.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=z.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=z.String("--environment",Ea.All,{description:"Which environments to cover",validator:nn(Ea)});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.severity=z.String("--severity",vo.Info,{description:"Minimal severity requested for packages to be displayed",validator:nn(vo)})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=fge(r,i,{all:this.all,environment:this.environment}),s=hge(r,i,{all:this.all});if(!this.recursive)for(let f of Object.keys(s))Object.prototype.hasOwnProperty.call(n,f)?s[f].requires={}:delete s[f];let o={requires:n,dependencies:s},a=br.getAuditRegistry(i.manifest,{configuration:e}),l,c=await uA.start({configuration:e,stdout:this.context.stdout},async()=>{l=await zt.post("/-/npm/v1/security/audits/quick",o,{authType:zt.AuthType.BEST_EFFORT,configuration:e,jsonResponse:!0,registry:a})});if(c.hasErrors())return c.exitCode();let u=uge(l.metadata.vulnerabilities,this.severity);return!this.json&&u?(as.emitTree(gge(l,this.severity),{configuration:e,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async f=>{f.reportJson(l),u||f.reportInfo($.EXCEPTION,"No audit suggestions")})).exitCode()}};uE.paths=[["npm","audit"]],uE.usage=Re.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${Hb.map(e=>`\`${e}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why \` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"]]});var pge=uE;var fO=ge(ti()),hO=ge(require("util")),gE=class extends Le{constructor(){super(...arguments);this.fields=z.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=z.Rest()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r}=await ze.find(e,this.context.cwd),i=typeof this.fields!="undefined"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],s=!1,o=await Je.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async a=>{for(let l of this.packages){let c;if(l==="."){let x=r.topLevelWorkspace;if(!x.manifest.name)throw new Pe(`Missing ${ae.pretty(e,"name",ae.Type.CODE)} field in ${j.fromPortablePath(k.join(x.cwd,Pt.manifest))}`);c=P.makeDescriptor(x.manifest.name,"unknown")}else c=P.parseDescriptor(l);let u=zt.getIdentUrl(c),g=pO(await zt.get(u,{configuration:e,ident:c,jsonResponse:!0,customErrorMessage:zt.customPackageError})),f=Object.keys(g.versions).sort(fO.default.compareLoose),p=g["dist-tags"].latest||f[f.length-1],m=Wt.validRange(c.range);if(m){let x=fO.default.maxSatisfying(f,m);x!==null?p=x:(a.reportWarning($.UNNAMED,`Unmet range ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0)}else Object.prototype.hasOwnProperty.call(g["dist-tags"],c.range)?p=g["dist-tags"][c.range]:c.range!=="unknown"&&(a.reportWarning($.UNNAMED,`Unknown tag ${P.prettyRange(e,c.range)}; falling back to the latest version`),s=!0);let y=g.versions[p],Q=te(N(N({},g),y),{version:p,versions:f}),S;if(i!==null){S={};for(let x of i){let M=Q[x];if(typeof M!="undefined")S[x]=M;else{a.reportWarning($.EXCEPTION,`The ${ae.pretty(e,x,ae.Type.CODE)} field doesn't exist inside ${P.prettyIdent(e,c)}'s information`),s=!0;continue}}}else this.json||(delete Q.dist,delete Q.readme,delete Q.users),S=Q;a.reportJson(S),this.json||n.push(S)}});hO.inspect.styles.name="cyan";for(let a of n)(a!==n[0]||s)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,hO.inspect)(a,{depth:Infinity,colors:!0,compact:!1})} +`);return o.exitCode()}};gE.paths=[["npm","info"]],gE.usage=Re.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});var dge=gE;function pO(t){if(Array.isArray(t)){let e=[];for(let r of t)r=pO(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let i=pO(t[r]);i&&(e[r]=i)}return e}else return t||null}var Cge=ge($C()),fE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Login to the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{let s=await i9e({registry:r,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),o=`/-/user/org.couchdb.user:${encodeURIComponent(s.name)}`,a=await zt.put(o,s,{attemptedAs:s.name,configuration:e,registry:r,jsonResponse:!0,authType:zt.AuthType.NO_AUTH});return await r9e(r,a.token,{configuration:e,scope:this.scope}),n.reportInfo($.UNNAMED,"Successfully logged in")})).exitCode()}};fE.paths=[["npm","login"]],fE.usage=Re.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});var mge=fE;async function jb({scope:t,publish:e,configuration:r,cwd:i}){return t&&e?br.getScopeRegistry(t,{configuration:r,type:br.RegistryType.PUBLISH_REGISTRY}):t?br.getScopeRegistry(t,{configuration:r}):e?br.getPublishRegistry((await Jf(r,i)).manifest,{configuration:r}):br.getDefaultRegistry({configuration:r})}async function r9e(t,e,{configuration:r,scope:i}){let n=o=>a=>{let l=Se.isIndexableObject(a)?a:{},c=l[o],u=Se.isIndexableObject(c)?c:{};return te(N({},l),{[o]:te(N({},u),{npmAuthToken:e})})},s=i?{npmScopes:n(i)}:{npmRegistries:n(t)};return await ye.updateHomeConfiguration(s)}async function i9e({registry:t,report:e,stdin:r,stdout:i}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};e.reportInfo($.UNNAMED,`Logging in to ${t}`);let n=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(e.reportInfo($.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),e.reportSeparator();let{username:s,password:o}=await(0,Cge.prompt)([{type:"input",name:"username",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:r,stdout:i}]);return e.reportSeparator(),{name:s,password:o}}var wh=new Set(["npmAuthIdent","npmAuthToken"]),hE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=z.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r=async()=>{var l;let n=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),s=await ye.find(this.context.cwd,this.context.plugins),o=P.makeIdent((l=this.scope)!=null?l:null,"pkg");return!br.getAuthConfiguration(n,{configuration:s,ident:o}).get("npmAuthToken")};return(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{if(this.all&&(await n9e(),n.reportInfo($.UNNAMED,"Successfully logged out from everything")),this.scope){await Ege("npmScopes",this.scope),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${this.scope}`):n.reportWarning($.UNNAMED,"Scope authentication settings removed, but some other ones settings still apply to it");return}let s=await jb({configuration:e,cwd:this.context.cwd,publish:this.publish});await Ege("npmRegistries",s),await r()?n.reportInfo($.UNNAMED,`Successfully logged out from ${s}`):n.reportWarning($.UNNAMED,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};hE.paths=[["npm","logout"]],hE.usage=Re.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});var Ige=hE;function s9e(t,e){let r=t[e];if(!Se.isIndexableObject(r))return!1;let i=new Set(Object.keys(r));if([...wh].every(s=>!i.has(s)))return!1;for(let s of wh)i.delete(s);if(i.size===0)return t[e]=void 0,!0;let n=N({},r);for(let s of wh)delete n[s];return t[e]=n,!0}async function n9e(){let t=e=>{let r=!1,i=Se.isIndexableObject(e)?N({},e):{};i.npmAuthToken&&(delete i.npmAuthToken,r=!0);for(let n of Object.keys(i))s9e(i,n)&&(r=!0);if(Object.keys(i).length!==0)return r?i:e};return await ye.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function Ege(t,e){return await ye.updateHomeConfiguration({[t]:r=>{let i=Se.isIndexableObject(r)?r:{};if(!Object.prototype.hasOwnProperty.call(i,e))return r;let n=i[e],s=Se.isIndexableObject(n)?n:{},o=new Set(Object.keys(s));if([...wh].every(l=>!o.has(l)))return r;for(let l of wh)o.delete(l);if(o.size===0)return Object.keys(i).length===1?void 0:te(N({},i),{[e]:void 0});let a={};for(let l of wh)a[l]=void 0;return te(N({},i),{[e]:N(N({},s),a)})}})}var pE=class extends Le{constructor(){super(...arguments);this.access=z.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=z.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=z.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=z.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);if(i.manifest.private)throw new Pe("Private workspaces cannot be published");if(i.manifest.name===null||i.manifest.version===null)throw new Pe("Workspaces must have valid names and versions to be published on an external registry");await r.restoreInstallState();let n=i.manifest.name,s=i.manifest.version,o=br.getPublishRegistry(i.manifest,{configuration:e});return(await Je.start({configuration:e,stdout:this.context.stdout},async l=>{var c,u;if(this.tolerateRepublish)try{let g=await zt.get(zt.getIdentUrl(n),{configuration:e,registry:o,ident:n,jsonResponse:!0});if(!Object.prototype.hasOwnProperty.call(g,"versions"))throw new ct($.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(g.versions,s)){l.reportWarning($.UNNAMED,`Registry already knows about version ${s}; skipping.`);return}}catch(g){if(((u=(c=g.originalError)==null?void 0:c.response)==null?void 0:u.statusCode)!==404)throw g}await Zt.maybeExecuteWorkspaceLifecycleScript(i,"prepublish",{report:l}),await vA.prepareForPack(i,{report:l},async()=>{let g=await vA.genPackList(i);for(let y of g)l.reportInfo(null,y);let f=await vA.genPackStream(i,g),h=await Se.bufferStream(f),p=await yh.getGitHead(i.cwd),m=await yh.makePublishBody(i,h,{access:this.access,tag:this.tag,registry:o,gitHead:p});await zt.put(zt.getIdentUrl(n),m,{configuration:e,registry:o,ident:n,otp:this.otp,jsonResponse:!0})}),l.reportInfo($.UNNAMED,"Package archive published")})).exitCode()}};pE.paths=[["npm","publish"]],pE.usage=Re.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});var yge=pE;var Bge=ge(ti());var dE=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String({required:!1})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n;if(typeof this.package!="undefined")n=P.parseIdent(this.package);else{if(!i)throw new ht(r.cwd,this.context.cwd);if(!i.manifest.name)throw new Pe(`Missing 'name' field in ${j.fromPortablePath(k.join(i.cwd,Pt.manifest))}`);n=i.manifest.name}let s=await CE(n,e),a={children:Se.sortMap(Object.entries(s),([l])=>l).map(([l,c])=>({value:ae.tuple(ae.Type.RESOLUTION,{descriptor:P.makeDescriptor(n,l),locator:P.makeLocator(n,c)})}))};return as.emitTree(a,{configuration:e,json:this.json,stdout:this.context.stdout})}};dE.paths=[["npm","tag","list"]],dE.usage=Re.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});var wge=dE;async function CE(t,e){let r=`/-/package${zt.getIdentUrl(t)}/dist-tags`;return zt.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:zt.customPackageError})}var mE=class extends Le{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseDescriptor(this.package,!0),s=n.range;if(!Bge.default.valid(s))throw new Pe(`The range ${ae.pretty(e,n.range,ae.Type.RANGE)} must be a valid semver version`);let o=br.getPublishRegistry(i.manifest,{configuration:e}),a=ae.pretty(e,n,ae.Type.IDENT),l=ae.pretty(e,s,ae.Type.RANGE),c=ae.pretty(e,this.tag,ae.Type.CODE);return(await Je.start({configuration:e,stdout:this.context.stdout},async g=>{let f=await CE(n,e);Object.prototype.hasOwnProperty.call(f,this.tag)&&f[this.tag]===s&&g.reportWarning($.UNNAMED,`Tag ${c} is already set to version ${l}`);let h=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.put(h,s,{configuration:e,registry:o,ident:n,jsonRequest:!0,jsonResponse:!0}),g.reportInfo($.UNNAMED,`Tag ${c} added to version ${l} of package ${a}`)})).exitCode()}};mE.paths=[["npm","tag","add"]],mE.usage=Re.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});var bge=mE;var EE=class extends Le{constructor(){super(...arguments);this.package=z.String();this.tag=z.String()}async execute(){if(this.tag==="latest")throw new Pe("The 'latest' tag cannot be removed.");let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);let n=P.parseIdent(this.package),s=br.getPublishRegistry(i.manifest,{configuration:e}),o=ae.pretty(e,this.tag,ae.Type.CODE),a=ae.pretty(e,n,ae.Type.IDENT),l=await CE(n,e);if(!Object.prototype.hasOwnProperty.call(l,this.tag))throw new Pe(`${o} is not a tag of package ${a}`);return(await Je.start({configuration:e,stdout:this.context.stdout},async u=>{let g=`/-/package${zt.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await zt.del(g,{configuration:e,registry:s,ident:n,jsonResponse:!0}),u.reportInfo($.UNNAMED,`Tag ${o} removed from package ${a}`)})).exitCode()}};EE.paths=[["npm","tag","remove"]],EE.usage=Re.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});var Qge=EE;var IE=class extends Le{constructor(){super(...arguments);this.scope=z.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=z.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),r;return this.scope&&this.publish?r=br.getScopeRegistry(this.scope,{configuration:e,type:br.RegistryType.PUBLISH_REGISTRY}):this.scope?r=br.getScopeRegistry(this.scope,{configuration:e}):this.publish?r=br.getPublishRegistry((await Jf(e,this.context.cwd)).manifest,{configuration:e}):r=br.getDefaultRegistry({configuration:e}),(await Je.start({configuration:e,stdout:this.context.stdout},async n=>{var o,a;let s;try{s=await zt.get("/-/whoami",{configuration:e,registry:r,authType:zt.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?P.makeIdent(this.scope,""):void 0})}catch(l){if(((o=l.response)==null?void 0:o.statusCode)===401||((a=l.response)==null?void 0:a.statusCode)===403){n.reportError($.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired");return}else throw l}n.reportInfo($.UNNAMED,s.username)})).exitCode()}};IE.paths=[["npm","whoami"]],IE.usage=Re.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var vge=IE;var o9e={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:Ie.STRING,default:null}},commands:[pge,dge,mge,Ige,yge,bge,wge,Qge,vge]},a9e=o9e;var bO={};ft(bO,{default:()=>B9e,patchUtils:()=>CO});var CO={};ft(CO,{applyPatchFile:()=>qb,diffFolders:()=>yO,extractPackageToDisk:()=>IO,extractPatchFlags:()=>Nge,isParentRequired:()=>EO,loadPatchFiles:()=>bE,makeDescriptor:()=>I9e,makeLocator:()=>mO,parseDescriptor:()=>wE,parseLocator:()=>BE,parsePatchFile:()=>Yb});var yE=class extends Error{constructor(e,r){super(`Cannot apply hunk #${e+1}`);this.hunk=r}};var A9e=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function Bh(t){return k.relative(Me.root,k.resolve(Me.root,j.toPortablePath(t)))}function l9e(t){let e=t.trim().match(A9e);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var c9e=420,u9e=493,Xr;(function(i){i.Context="context",i.Insertion="insertion",i.Deletion="deletion"})(Xr||(Xr={}));var Sge=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),g9e=t=>({header:l9e(t),parts:[]}),f9e={["@"]:"header",["-"]:Xr.Deletion,["+"]:Xr.Insertion,[" "]:Xr.Context,["\\"]:"pragma",undefined:Xr.Context};function p9e(t){let e=[],r=Sge(),i="parsing header",n=null,s=null;function o(){n&&(s&&(n.parts.push(s),s=null),r.hunks.push(n),n=null)}function a(){o(),e.push(r),r=Sge()}for(let l=0;l0?"patch":"mode change",S=null;switch(Q){case"rename":{if(!u||!g)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:i,fromPath:Bh(u),toPath:Bh(g)}),S=g}break;case"file deletion":{let x=n||p;if(!x)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:i,hunk:y&&y[0]||null,path:Bh(x),mode:Gb(l),hash:f})}break;case"file creation":{let x=s||m;if(!x)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:i,hunk:y&&y[0]||null,path:Bh(x),mode:Gb(c),hash:h})}break;case"patch":case"mode change":S=m||s;break;default:Se.assertNever(Q);break}S&&o&&a&&o!==a&&e.push({type:"mode change",semverExclusivity:i,path:Bh(S),oldMode:Gb(o),newMode:Gb(a)}),S&&y&&y.length&&e.push({type:"patch",semverExclusivity:i,path:Bh(S),hunks:y,beforeHash:f,afterHash:h})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function Gb(t){let e=parseInt(t,8)&511;if(e!==c9e&&e!==u9e)throw new Error(`Unexpected file mode string: ${t}`);return e}function Yb(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),d9e(p9e(e))}function h9e(t){let e=0,r=0;for(let{type:i,lines:n}of t.parts)switch(i){case Xr.Context:r+=n.length,e+=n.length;break;case Xr.Deletion:e+=n.length;break;case Xr.Insertion:r+=n.length;break;default:Se.assertNever(i);break}if(e!==t.header.original.length||r!==t.header.patched.length){let i=n=>n<0?n:`+${n}`;throw new Error(`hunk header integrity check failed (expected @@ ${i(t.header.original.length)} ${i(t.header.patched.length)} @@, got @@ ${i(e)} ${i(r)} @@)`)}}async function bh(t,e,r){let i=await t.lstatPromise(e),n=await r();if(typeof n!="undefined"&&(e=n),t.lutimesPromise)await t.lutimesPromise(e,i.atime,i.mtime);else if(!i.isSymbolicLink())await t.utimesPromise(e,i.atime,i.mtime);else throw new Error("Cannot preserve the time values of a symlink")}async function qb(t,{baseFs:e=new ar,dryRun:r=!1,version:i=null}={}){for(let n of t)if(!(n.semverExclusivity!==null&&i!==null&&!Wt.satisfiesWithPrereleases(i,n.semverExclusivity)))switch(n.type){case"file deletion":if(r){if(!e.existsSync(n.path))throw new Error(`Trying to delete a file that doesn't exist: ${n.path}`)}else await bh(e,k.dirname(n.path),async()=>{await e.unlinkPromise(n.path)});break;case"rename":if(r){if(!e.existsSync(n.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${n.fromPath}`)}else await bh(e,k.dirname(n.fromPath),async()=>{await bh(e,k.dirname(n.toPath),async()=>{await bh(e,n.fromPath,async()=>(await e.movePromise(n.fromPath,n.toPath),n.toPath))})});break;case"file creation":if(r){if(e.existsSync(n.path))throw new Error(`Trying to create a file that already exists: ${n.path}`)}else{let s=n.hunk?n.hunk.parts[0].lines.join(` +`)+(n.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(k.dirname(n.path),{chmod:493,utimes:[Dr.SAFE_TIME,Dr.SAFE_TIME]}),await e.writeFilePromise(n.path,s,{mode:n.mode}),await e.utimesPromise(n.path,Dr.SAFE_TIME,Dr.SAFE_TIME)}break;case"patch":await bh(e,n.path,async()=>{await C9e(n,{baseFs:e,dryRun:r})});break;case"mode change":{let o=(await e.statPromise(n.path)).mode;if(kge(n.newMode)!==kge(o))continue;await bh(e,n.path,async()=>{await e.chmodPromise(n.path,n.newMode)})}break;default:Se.assertNever(n);break}}function kge(t){return(t&64)>0}function xge(t){return t.replace(/\s+$/,"")}function m9e(t,e){return xge(t)===xge(e)}async function C9e({hunks:t,path:e},{baseFs:r,dryRun:i=!1}){let n=await r.statSync(e).mode,o=(await r.readFileSync(e,"utf8")).split(/\n/),a=[],l=0,c=0;for(let g of t){let f=Math.max(c,g.header.patched.start+l),h=Math.max(0,f-c),p=Math.max(0,o.length-f-g.header.original.length),m=Math.max(h,p),y=0,Q=0,S=null;for(;y<=m;){if(y<=h&&(Q=f-y,S=Pge(g,o,Q),S!==null)){y=-y;break}if(y<=p&&(Q=f+y,S=Pge(g,o,Q),S!==null))break;y+=1}if(S===null)throw new yE(t.indexOf(g),g);a.push(S),l+=y,c=Q+g.header.original.length}if(i)return;let u=0;for(let g of a)for(let f of g)switch(f.type){case"splice":{let h=f.index+u;o.splice(h,f.numToDelete,...f.linesToInsert),u+=f.linesToInsert.length-f.numToDelete}break;case"pop":o.pop();break;case"push":o.push(f.line);break;default:Se.assertNever(f);break}await r.writeFilePromise(e,o.join(` +`),{mode:n})}function Pge(t,e,r){let i=[];for(let n of t.parts)switch(n.type){case Xr.Context:case Xr.Deletion:{for(let s of n.lines){let o=e[r];if(o==null||!m9e(o,s))return null;r+=1}n.type===Xr.Deletion&&(i.push({type:"splice",index:r-n.lines.length,numToDelete:n.lines.length,linesToInsert:[]}),n.noNewlineAtEndOfFile&&i.push({type:"push",line:""}))}break;case Xr.Insertion:i.push({type:"splice",index:r,numToDelete:0,linesToInsert:n.lines}),n.noNewlineAtEndOfFile&&i.push({type:"pop"});break;default:Se.assertNever(n.type);break}return i}var E9e=/^builtin<([^>]+)>$/;function Dge(t,e){let{source:r,selector:i,params:n}=P.parseRange(t);if(r===null)throw new Error("Patch locators must explicitly define their source");let s=i?i.split(/&/).map(c=>j.toPortablePath(c)):[],o=n&&typeof n.locator=="string"?P.parseLocator(n.locator):null,a=n&&typeof n.version=="string"?n.version:null,l=e(r);return{parentLocator:o,sourceItem:l,patchPaths:s,sourceVersion:a}}function wE(t){let i=Dge(t.range,P.parseDescriptor),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return te(N({},r),{sourceDescriptor:e})}function BE(t){let i=Dge(t.reference,P.parseLocator),{sourceItem:e}=i,r=Tr(i,["sourceItem"]);return te(N({},r),{sourceLocator:e})}function Rge({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:i,patchHash:n},s){let o=t!==null?{locator:P.stringifyLocator(t)}:{},a=typeof i!="undefined"?{version:i}:{},l=typeof n!="undefined"?{hash:n}:{};return P.makeRange({protocol:"patch:",source:s(e),selector:r.join("&"),params:N(N(N({},a),l),o)})}function I9e(t,{parentLocator:e,sourceDescriptor:r,patchPaths:i}){return P.makeLocator(t,Rge({parentLocator:e,sourceItem:r,patchPaths:i},P.stringifyDescriptor))}function mO(t,{parentLocator:e,sourcePackage:r,patchPaths:i,patchHash:n}){return P.makeLocator(t,Rge({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:i,patchHash:n},P.stringifyLocator))}function Fge({onAbsolute:t,onRelative:e,onBuiltin:r},i){i.startsWith("~")&&(i=i.slice(1));let s=i.match(E9e);return s!==null?r(s[1]):k.isAbsolute(i)?t(i):e(i)}function Nge(t){let e=t.startsWith("~");return e&&(t=t.slice(1)),{optional:e}}function EO(t){return Fge({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},t)}async function bE(t,e,r){let i=t!==null?await r.fetcher.fetch(t,r):null,n=i&&i.localPath?{packageFs:new _t(Me.root),prefixPath:k.relative(Me.root,i.localPath)}:i;i&&i!==n&&i.releaseFs&&i.releaseFs();let s=await Se.releaseAfterUseAsync(async()=>await Promise.all(e.map(async o=>{let a=Nge(o),l=await Fge({onAbsolute:async()=>await K.readFilePromise(o,"utf8"),onRelative:async()=>{if(n===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await n.packageFs.readFilePromise(k.join(n.prefixPath,o),"utf8")},onBuiltin:async c=>await r.project.configuration.firstHook(u=>u.getBuiltinPatch,r.project,c)},o);return te(N({},a),{source:l})})));for(let o of s)typeof o.source=="string"&&(o.source=o.source.replace(/\r\n?/g,` +`));return s}async function IO(t,{cache:e,project:r}){let i=r.storedPackages.get(t.locatorHash);if(typeof i=="undefined")throw new Error("Assertion failed: Expected the package to be registered");let n=r.storedChecksums,s=new pi,o=r.configuration.makeFetcher(),a=await o.fetch(t,{cache:e,project:r,fetcher:o,checksums:n,report:s}),l=await K.mktempPromise(),c=k.join(l,"source"),u=k.join(l,"user"),g=k.join(l,".yarn-patch.json");return await Promise.all([K.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),K.copyPromise(u,a.prefixPath,{baseFs:a.packageFs}),K.writeJsonPromise(g,{locator:P.stringifyLocator(t),version:i.version})]),K.detachTemp(l),u}async function yO(t,e){let r=j.fromPortablePath(t).replace(/\\/g,"/"),i=j.fromPortablePath(e).replace(/\\/g,"/"),{stdout:n,stderr:s}=await Fr.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--text",r,i],{cwd:j.toPortablePath(process.cwd()),env:te(N({},process.env),{GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""})});if(s.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${s}`);let o=r.startsWith("/")?a=>a.slice(1):a=>a;return n.replace(new RegExp(`(a|b)(${Se.escapeRegExp(`/${o(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${Se.escapeRegExp(`/${o(i)}/`)}`,"g"),"$1/").replace(new RegExp(Se.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(Se.escapeRegExp(`${i}/`),"g"),"")}function Lge(t,{configuration:e,report:r}){for(let i of t.parts)for(let n of i.lines)switch(i.type){case Xr.Context:r.reportInfo(null,` ${ae.pretty(e,n,"grey")}`);break;case Xr.Deletion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`- ${ae.pretty(e,n,ae.Type.REMOVED)}`);break;case Xr.Insertion:r.reportError($.FROZEN_LOCKFILE_EXCEPTION,`+ ${ae.pretty(e,n,ae.Type.ADDED)}`);break;default:Se.assertNever(i.type)}}var wO=class{supports(e,r){return!!e.reference.startsWith("patch:")}getLocalPath(e,r){return null}async fetch(e,r){let i=r.checksums.get(e.locatorHash)||null,[n,s,o]=await r.cache.fetchPackageFromCache(e,i,N({onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${P.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),skipIntegrityCheck:r.skipIntegrityCheck},r.cacheOptions));return{packageFs:n,releaseFs:s,prefixPath:P.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:o}}async patchPackage(e,r){let{parentLocator:i,sourceLocator:n,sourceVersion:s,patchPaths:o}=BE(e),a=await bE(i,o,r),l=await K.mktempPromise(),c=k.join(l,"current.zip"),u=await r.fetcher.fetch(n,r),g=P.getIdentVendorPath(e),f=await fn(),h=new Ai(c,{libzip:f,create:!0,level:r.project.configuration.get("compressionLevel")});await Se.releaseAfterUseAsync(async()=>{await h.copyPromise(g,u.prefixPath,{baseFs:u.packageFs,stableSort:!0})},u.releaseFs),h.saveAndClose();for(let{source:p,optional:m}of a){if(p===null)continue;let y=new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")}),Q=new _t(k.resolve(Me.root,g),{baseFs:y});try{await qb(Yb(p),{baseFs:Q,version:s})}catch(S){if(!(S instanceof yE))throw S;let x=r.project.configuration.get("enableInlineHunks"),M=!x&&!m?" (set enableInlineHunks for details)":"",Y=`${P.prettyLocator(r.project.configuration,e)}: ${S.message}${M}`,U=J=>{!x||Lge(S.hunk,{configuration:r.project.configuration,report:J})};if(y.discardAndClose(),m){r.report.reportWarningOnce($.PATCH_HUNK_FAILED,Y,{reportExtra:U});continue}else throw new ct($.PATCH_HUNK_FAILED,Y,U)}y.saveAndClose()}return new Ai(c,{libzip:f,level:r.project.configuration.get("compressionLevel")})}};var y9e=3,BO=class{supportsDescriptor(e,r){return!!e.range.startsWith("patch:")}supportsLocator(e,r){return!!e.reference.startsWith("patch:")}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,i){let{patchPaths:n}=wE(e);return n.every(s=>!EO(s))?e:P.bindDescriptor(e,{locator:P.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:i}=wE(e);return[i]}async getCandidates(e,r,i){if(!i.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:n,sourceDescriptor:s,patchPaths:o}=wE(e),a=await bE(n,o,i.fetchOptions),l=r.get(s.descriptorHash);if(typeof l=="undefined")throw new Error("Assertion failed: The dependency should have been resolved");let c=Dn.makeHash(`${y9e}`,...a.map(u=>JSON.stringify(u))).slice(0,6);return[mO(e,{parentLocator:n,sourcePackage:l,patchPaths:o,patchHash:c})]}async getSatisfying(e,r,i){return null}async resolve(e,r){let{sourceLocator:i}=BE(e),n=await r.resolver.resolve(i,r);return N(N({},n),e)}};var QE=class extends Le{constructor(){super(...arguments);this.save=z.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let n=k.resolve(this.context.cwd,j.toPortablePath(this.patchFolder)),s=k.join(n,"../source"),o=k.join(n,"../.yarn-patch.json");if(!K.existsSync(s))throw new Pe("The argument folder didn't get created by 'yarn patch'");let a=await yO(s,n),l=await K.readJsonPromise(o),c=P.parseLocator(l.locator,!0);if(!r.storedPackages.has(c.locatorHash))throw new Pe("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(a);return}let u=e.get("patchFolder"),g=k.join(u,`${P.slugifyLocator(c)}.patch`);await K.mkdirPromise(u,{recursive:!0}),await K.writeFilePromise(g,a);let f=k.relative(r.cwd,g);r.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:P.stringifyIdent(c),description:l.version}},reference:`patch:${P.stringifyLocator(c)}#${f}`}),await r.persist()}};QE.paths=[["patch-commit"]],QE.usage=Re.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});var Tge=QE;var vE=class extends Le{constructor(){super(...arguments);this.json=z.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=z.String()}async execute(){let e=await ye.find(this.context.cwd,this.context.plugins),{project:r,workspace:i}=await ze.find(e,this.context.cwd),n=await Nt.find(e);if(!i)throw new ht(r.cwd,this.context.cwd);await r.restoreInstallState();let s=P.parseLocator(this.package);if(s.reference==="unknown"){let o=Se.mapAndFilter([...r.storedPackages.values()],a=>a.identHash!==s.identHash?Se.mapAndFilter.skip:P.isVirtualLocator(a)?Se.mapAndFilter.skip:a);if(o.length===0)throw new Pe("No package found in the project for the given locator");if(o.length>1)throw new Pe(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${o.map(a=>` +- ${P.prettyLocator(e,a)}`).join("")}`);s=o[0]}if(!r.storedPackages.has(s.locatorHash))throw new Pe("No package found in the project for the given locator");await Je.start({configuration:e,json:this.json,stdout:this.context.stdout},async o=>{let a=await IO(s,{cache:n,project:r});o.reportJson({locator:P.stringifyLocator(s),path:j.fromPortablePath(a)}),o.reportInfo($.UNNAMED,`Package ${P.prettyLocator(e,s)} got extracted with success!`),o.reportInfo($.UNNAMED,`You can now edit the following folder: ${ae.pretty(e,j.fromPortablePath(a),"magenta")}`),o.reportInfo($.UNNAMED,`Once you are done run ${ae.pretty(e,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${j.fromPortablePath(a)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};vE.paths=[["patch"]],vE.usage=Re.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n \n Once you're done with your changes, run `yarn patch-commit -s ` (with `` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n "});var Oge=vE;var w9e={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:Ie.BOOLEAN,default:!1},patchFolder:{description:"Folder where the patch files must be written",type:Ie.ABSOLUTE_PATH,default:"./.yarn/patches"}},commands:[Tge,Oge],fetchers:[wO],resolvers:[BO]},B9e=w9e;var kO={};ft(kO,{default:()=>v9e});var QO=class{supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let i=vO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=n.pathByLocator.get(e.locatorHash);if(typeof s=="undefined")throw new Pe(`Couldn't find ${P.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return s}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let i=vO(),n=r.project.installersCustomData.get(i);if(!n)throw new Pe(`The project in ${ae.pretty(r.project.configuration,`${r.project.cwd}/package.json`,ae.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let s=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(s){let l=n.locatorByPath.get(s[1]);if(l)return l}let o=e,a=e;do{a=o,o=k.dirname(a);let l=n.locatorByPath.get(a);if(l)return l}while(o!==a);return null}makeInstaller(e){return new Mge(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Mge=class{constructor(e){this.opts=e;this.asyncActions=new Se.AsyncActions(10);this.customData={pathByLocator:new Map,locatorByPath:new Map}}getCustomDataKey(){return vO()}attachCustomData(e){}async installPackage(e,r,i){switch(e.linkType){case Qt.SOFT:return this.installPackageSoft(e,r,i);case Qt.HARD:return this.installPackageHard(e,r,i)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,i){let n=k.resolve(r.packageFs.getRealPath(),r.prefixPath);return this.customData.pathByLocator.set(e.locatorHash,n),{packageLocation:n,buildDirective:null}}async installPackageHard(e,r,i){var u;let n=b9e(e,{project:this.opts.project});this.customData.locatorByPath.set(n,P.stringifyLocator(e)),this.customData.pathByLocator.set(e.locatorHash,n),i.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await K.mkdirPromise(n,{recursive:!0}),await K.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1})}));let o=P.isVirtualLocator(e)?P.devirtualizeLocator(e):e,a={manifest:(u=await At.tryFind(r.prefixPath,{baseFs:r.packageFs}))!=null?u:new At,misc:{hasBindingGyp:wo.hasBindingGyp(r)}},l=this.opts.project.getDependencyMeta(o,e.version),c=wo.extractBuildScripts(e,a,l,{configuration:this.opts.project.configuration,report:this.opts.report});return{packageLocation:n,buildDirective:c}}async attachInternalDependencies(e,r){this.opts.project.configuration.get("nodeLinker")==="pnpm"&&(!Hge(e,{project:this.opts.project})||this.asyncActions.reduce(e.locatorHash,async i=>{await i;let n=this.customData.pathByLocator.get(e.locatorHash);if(typeof n=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(e)})`);let s=k.join(n,Pt.nodeModules),o=[],a=await jge(s);for(let[l,c]of r){let u=c;Hge(c,{project:this.opts.project})||(this.opts.report.reportWarning($.UNNAMED,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),u=P.devirtualizeLocator(c));let g=this.customData.pathByLocator.get(u.locatorHash);if(typeof g=="undefined")throw new Error(`Assertion failed: Expected the package to have been registered (${P.stringifyLocator(c)})`);let f=P.stringifyIdent(l),h=k.join(s,f),p=k.relative(k.dirname(h),g),m=a.get(f);a.delete(f),o.push(Promise.resolve().then(async()=>{if(m){if(m.isSymbolicLink()&&await K.readlinkPromise(h)===p)return;await K.removePromise(h)}await K.mkdirpPromise(k.dirname(h)),process.platform=="win32"?await K.symlinkPromise(g,h,"junction"):await K.symlinkPromise(p,h)}))}o.push(Gge(s,a)),await Promise.all(o)}))}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=Kge(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await K.removePromise(e);else{let r=[],i=new Set;for(let s of this.customData.pathByLocator.values()){let o=k.contains(e,s);if(o!==null){let[a,,...l]=o.split(k.sep);i.add(a);let c=k.join(e,a);r.push(K.readdirPromise(c).then(u=>Promise.all(u.map(async g=>{let f=k.join(c,g);if(g===Pt.nodeModules){let h=await jge(f);return h.delete(l.join(k.sep)),Gge(f,h)}else return K.removePromise(f)}))).catch(u=>{if(u.code!=="ENOENT")throw u}))}}let n;try{n=await K.readdirPromise(e)}catch{n=[]}for(let s of n)i.has(s)||r.push(K.removePromise(k.join(e,s)));await Promise.all(r)}return await this.asyncActions.wait(),await SO(e),await SO(Uge(this.opts.project)),{customData:this.customData}}};function vO(){return JSON.stringify({name:"PnpmInstaller",version:2})}function Uge(t){return k.join(t.cwd,Pt.nodeModules)}function Kge(t){return k.join(Uge(t),".store")}function b9e(t,{project:e}){let r=P.slugifyLocator(t),i=P.getIdentVendorPath(t);return k.join(Kge(e),r,i)}function Hge(t,{project:e}){return!P.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function jge(t){let e=new Map,r=[];try{r=await K.readdirPromise(t,{withFileTypes:!0})}catch(i){if(i.code!=="ENOENT")throw i}try{for(let i of r)if(!i.name.startsWith("."))if(i.name.startsWith("@")){let n=await K.readdirPromise(k.join(t,i.name),{withFileTypes:!0});if(n.length===0)e.set(i.name,i);else for(let s of n)e.set(`${i.name}/${s.name}`,s)}else e.set(i.name,i)}catch(i){if(i.code!=="ENOENT")throw i}return e}async function Gge(t,e){var n;let r=[],i=new Set;for(let s of e.keys()){r.push(K.removePromise(k.join(t,s)));let o=(n=P.tryParseIdent(s))==null?void 0:n.scope;o&&i.add(`@${o}`)}return Promise.all(r).then(()=>Promise.all([...i].map(s=>SO(k.join(t,s)))))}async function SO(t){try{await K.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var Q9e={linkers:[QO]},v9e=Q9e;var J0=()=>({modules:new Map([["@yarnpkg/cli",_C],["@yarnpkg/core",QC],["@yarnpkg/fslib",Zh],["@yarnpkg/libzip",Md],["@yarnpkg/parsers",op],["@yarnpkg/shell",Kd],["clipanion",c$(Cp)],["semver",S9e],["typanion",sg],["yup",k9e],["@yarnpkg/plugin-essentials",AL],["@yarnpkg/plugin-compat",gL],["@yarnpkg/plugin-dlx",fL],["@yarnpkg/plugin-file",wL],["@yarnpkg/plugin-git",aL],["@yarnpkg/plugin-github",bL],["@yarnpkg/plugin-http",SL],["@yarnpkg/plugin-init",DL],["@yarnpkg/plugin-link",TL],["@yarnpkg/plugin-nm",gT],["@yarnpkg/plugin-npm",uO],["@yarnpkg/plugin-npm-cli",dO],["@yarnpkg/plugin-pack",aO],["@yarnpkg/plugin-patch",bO],["@yarnpkg/plugin-pnp",eT],["@yarnpkg/plugin-pnpm",kO]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm"])});d0({binaryVersion:Ur||"",pluginConfiguration:J0()});})(); +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ diff --git a/.yarnrc.yml b/.yarnrc.yml index e5779134475..52f13c02472 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,3 +1,3 @@ nodeLinker: node-modules -yarnPath: .yarn/releases/yarn-3.0.2.cjs +yarnPath: .yarn/releases/yarn-3.2.0.cjs diff --git a/Build/Build.csproj b/Build/Build.csproj index 0d30df02632..503ec220826 100644 --- a/Build/Build.csproj +++ b/Build/Build.csproj @@ -1,7 +1,7 @@ Exe - net4.8 + netcoreapp3.1 true $(MSBuildProjectDirectory) @@ -14,21 +14,20 @@ - - - - - - + + + + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + \ No newline at end of file diff --git a/Build/BuildScripts/AEModule.build b/Build/BuildScripts/AEModule.build index e43e44646c4..1516b277eff 100644 --- a/Build/BuildScripts/AEModule.build +++ b/Build/BuildScripts/AEModule.build @@ -1,7 +1,7 @@  - - + + $(MSBuildProjectDirectory)\Package\Resources\admin\personaBar @@ -17,7 +17,7 @@ - + diff --git a/Build/Context.cs b/Build/Context.cs index 8ab85f1ebc4..3f01c3916e9 100644 --- a/Build/Context.cs +++ b/Build/Context.cs @@ -12,16 +12,16 @@ namespace DotNetNuke.Build using Cake.Common.IO.Paths; using Cake.Common.Tools.GitVersion; using Cake.Core; - using Cake.Frosting.Issues.Recipe; + using Cake.Frosting; using Cake.Json; /// - public class Context : IssuesContext + public class Context : FrostingContext { /// Initializes a new instance of the class. /// The base context. public Context(ICakeContext context) - : base(context, RepositoryInfoProviderType.CakeGit) + : base(context) { try { diff --git a/Build/Program.cs b/Build/Program.cs index 205d55b793c..aca1d8cd9b8 100644 --- a/Build/Program.cs +++ b/Build/Program.cs @@ -8,7 +8,6 @@ namespace DotNetNuke.Build using Cake.AzurePipelines.Module; using Cake.Frosting; - using Cake.Frosting.Issues.Recipe; /// Runs the build process. public class Program @@ -17,7 +16,7 @@ public class Program internal const string MicrosoftTestPlatformVersion = "16.11.0"; /// The version of the NUnit3TestAdapter NuGet package. - internal const string NUnit3TestAdapterVersion = "4.0.0"; + internal const string NUnit3TestAdapterVersion = "4.2.1"; /// Runs the build process. /// The arguments from the command line. @@ -34,7 +33,6 @@ public static int Main(string[] args) .InstallTool(new Uri("nuget:?package=NUnit3TestAdapter&version=" + NUnit3TestAdapterVersion)) .InstallTool(new Uri("nuget:?package=NuGet.CommandLine&version=5.10.0")) .InstallTool(new Uri("nuget:?package=Cake.Issues.MsBuild&version=1.0.0")) - .AddAssembly(Assembly.GetAssembly(typeof(IssuesTask))) .Run(args); } } diff --git a/Build/Symbols/DotNetNuke_Symbols.dnn b/Build/Symbols/DotNetNuke_Symbols.dnn index 28970149c60..d2f13b6dabd 100644 --- a/Build/Symbols/DotNetNuke_Symbols.dnn +++ b/Build/Symbols/DotNetNuke_Symbols.dnn @@ -1,11 +1,11 @@  - + DNN Platform Symbols This package contains Debug Symbols and Intellisense files for DNN Platform. - DNN Corporation - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/Build/Tasks/Build.cs b/Build/Tasks/Build.cs index 783ccdf6689..634401d535b 100644 --- a/Build/Tasks/Build.cs +++ b/Build/Tasks/Build.cs @@ -3,17 +3,22 @@ // See the LICENSE file in the project root for more information namespace DotNetNuke.Build.Tasks { + using System; + using System.Linq; + + using Cake.Common.Build; + using Cake.Common.Build.AzurePipelines.Data; + using Cake.Common.IO; using Cake.Common.Tools.MSBuild; using Cake.Core.IO; using Cake.Frosting; - using Cake.Frosting.Issues.Recipe; - + using Cake.Issues; + using Cake.Issues.MsBuild; using DotNetNuke.Build; /// A cake task to compile the platform. - [Dependency(typeof(CleanWebsite))] - [Dependency(typeof(RestoreNuGetPackages))] - [IsDependeeOf(typeof(ReadIssuesTask))] + [IsDependentOn(typeof(CleanWebsite))] + [IsDependentOn(typeof(RestoreNuGetPackages))] public sealed class Build : FrostingTask { /// @@ -36,8 +41,29 @@ public override void Run(Context context) } finally { - context.Parameters.InputFiles.AddMsBuildBinaryLogFile(cleanLog); - context.Parameters.InputFiles.AddMsBuildBinaryLogFile(buildLog); + var issueProviders = + from logFilePath in new[] { cleanLog, buildLog, } + where context.FileExists(logFilePath) + let settings = new MsBuildIssuesSettings(logFilePath, context.MsBuildBinaryLogFileFormat()) + select new MsBuildIssuesProvider(context.Log, settings); + var issues = context.ReadIssues(issueProviders, context.Directory(".")); + foreach (var issue in issues) + { + var messageData = new AzurePipelinesMessageData + { + SourcePath = issue.AffectedFileRelativePath?.FullPath, + LineNumber = issue.Line, + }; + + if (string.Equals(issue.PriorityName, "Error", StringComparison.Ordinal)) + { + context.AzurePipelines().Commands.WriteError(issue.MessageText, messageData); + } + else + { + context.AzurePipelines().Commands.WriteWarning(issue.MessageText, messageData); + } + } } } diff --git a/Build/Tasks/BuildAll.cs b/Build/Tasks/BuildAll.cs index 27fec8f90c1..f3e74b5315e 100644 --- a/Build/Tasks/BuildAll.cs +++ b/Build/Tasks/BuildAll.cs @@ -4,21 +4,19 @@ namespace DotNetNuke.Build.Tasks { using Cake.Frosting; - using Cake.Frosting.Issues.Recipe; /// A cake task to compile the platform and create all of the packages. /// This is the task run during CI. - [Dependency(typeof(CleanArtifacts))] - [Dependency(typeof(UpdateDnnManifests))] - [Dependency(typeof(GenerateSecurityAnalyzerChecksums))] - [Dependency(typeof(SetPackageVersions))] - [Dependency(typeof(CreateInstall))] - [Dependency(typeof(CreateUpgrade))] - [Dependency(typeof(CreateDeploy))] - [Dependency(typeof(CreateSymbols))] - [Dependency(typeof(CreateNugetPackages))] - [Dependency(typeof(GeneratePackagesChecksums))] - [IsDependentOn(typeof(IssuesTask))] + [IsDependentOn(typeof(CleanArtifacts))] + [IsDependentOn(typeof(UpdateDnnManifests))] + [IsDependentOn(typeof(GenerateSecurityAnalyzerChecksums))] + [IsDependentOn(typeof(SetPackageVersions))] + [IsDependentOn(typeof(CreateInstall))] + [IsDependentOn(typeof(CreateUpgrade))] + [IsDependentOn(typeof(CreateDeploy))] + [IsDependentOn(typeof(CreateSymbols))] + [IsDependentOn(typeof(CreateNugetPackages))] + [IsDependentOn(typeof(GeneratePackagesChecksums))] public sealed class BuildAll : FrostingTask { /// diff --git a/Build/Tasks/BuildServerSetVersion.cs b/Build/Tasks/BuildServerSetVersion.cs index d0ac4b28ba2..69a76d86fa2 100644 --- a/Build/Tasks/BuildServerSetVersion.cs +++ b/Build/Tasks/BuildServerSetVersion.cs @@ -9,7 +9,7 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to update the build number in CI. - [Dependency(typeof(SetVersion))] + [IsDependentOn(typeof(SetVersion))] public sealed class BuildServerSetVersion : FrostingTask { /// diff --git a/Build/Tasks/BuildToTempFolder.cs b/Build/Tasks/BuildToTempFolder.cs index ae1133b5aa8..0b431b01959 100644 --- a/Build/Tasks/BuildToTempFolder.cs +++ b/Build/Tasks/BuildToTempFolder.cs @@ -9,11 +9,11 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to build the platform. - [Dependency(typeof(SetVersion))] - [Dependency(typeof(UpdateDnnManifests))] - [Dependency(typeof(ResetDatabase))] - [Dependency(typeof(PreparePackaging))] - [Dependency(typeof(OtherPackages))] + [IsDependentOn(typeof(SetVersion))] + [IsDependentOn(typeof(UpdateDnnManifests))] + [IsDependentOn(typeof(ResetDatabase))] + [IsDependentOn(typeof(PreparePackaging))] + [IsDependentOn(typeof(OtherPackages))] public sealed class BuildToTempFolder : FrostingTask { } diff --git a/Build/Tasks/BuildWithDatabase.cs b/Build/Tasks/BuildWithDatabase.cs index 367cd96ecb1..779c10faa1a 100644 --- a/Build/Tasks/BuildWithDatabase.cs +++ b/Build/Tasks/BuildWithDatabase.cs @@ -9,13 +9,13 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to compile the platform and create a localdb database. - [Dependency(typeof(CleanArtifacts))] - [Dependency(typeof(UpdateDnnManifests))] - [Dependency(typeof(CreateInstall))] - [Dependency(typeof(CreateUpgrade))] - [Dependency(typeof(CreateDeploy))] - [Dependency(typeof(CreateSymbols))] - [Dependency(typeof(CreateDatabase))] + [IsDependentOn(typeof(CleanArtifacts))] + [IsDependentOn(typeof(UpdateDnnManifests))] + [IsDependentOn(typeof(CreateInstall))] + [IsDependentOn(typeof(CreateUpgrade))] + [IsDependentOn(typeof(CreateDeploy))] + [IsDependentOn(typeof(CreateSymbols))] + [IsDependentOn(typeof(CreateDatabase))] public sealed class BuildWithDatabase : FrostingTask { } diff --git a/Build/Tasks/CopyWebConfigToDevSite.cs b/Build/Tasks/CopyWebConfigToDevSite.cs index fe6af0a11a9..ad57c98a166 100644 --- a/Build/Tasks/CopyWebConfigToDevSite.cs +++ b/Build/Tasks/CopyWebConfigToDevSite.cs @@ -17,6 +17,11 @@ public sealed class CopyWebConfigToDevSite : FrostingTask /// public override void Run(Context context) { + if (string.IsNullOrWhiteSpace(context.Settings.DnnConnectionString)) + { + throw new InvalidOperationException("DnnConnectionString was blank and must have a value when the CopyWebConfigToDevSite task is run"); + } + var conf = context.FileReadText("./Website/web.config"); var transFile = "./Build/Tasks/webconfig-transform.local.xsl"; if (!context.FileExists(transFile)) diff --git a/Build/Tasks/CopyWebsite.cs b/Build/Tasks/CopyWebsite.cs index 016df4af832..0d3924d85e7 100644 --- a/Build/Tasks/CopyWebsite.cs +++ b/Build/Tasks/CopyWebsite.cs @@ -10,8 +10,8 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to copy the built website folder. - [Dependency(typeof(CleanWebsite))] - [Dependency(typeof(GenerateSqlDataProvider))] + [IsDependentOn(typeof(CleanWebsite))] + [IsDependentOn(typeof(GenerateSqlDataProvider))] public sealed class CopyWebsite : FrostingTask { /// diff --git a/Build/Tasks/CreateDeploy.cs b/Build/Tasks/CreateDeploy.cs index 266e512040a..2cf8a761932 100644 --- a/Build/Tasks/CreateDeploy.cs +++ b/Build/Tasks/CreateDeploy.cs @@ -13,8 +13,8 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to crete the Deploy package. - [Dependency(typeof(PreparePackaging))] - [Dependency(typeof(OtherPackages))] + [IsDependentOn(typeof(PreparePackaging))] + [IsDependentOn(typeof(OtherPackages))] public sealed class CreateDeploy : FrostingTask { /// diff --git a/Build/Tasks/CreateInstall.cs b/Build/Tasks/CreateInstall.cs index 5e9cd80902a..1b228f8d000 100644 --- a/Build/Tasks/CreateInstall.cs +++ b/Build/Tasks/CreateInstall.cs @@ -13,8 +13,8 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to create the Install package. - [Dependency(typeof(PreparePackaging))] - [Dependency(typeof(OtherPackages))] + [IsDependentOn(typeof(PreparePackaging))] + [IsDependentOn(typeof(OtherPackages))] public sealed class CreateInstall : FrostingTask { /// diff --git a/Build/Tasks/CreateNugetPackages.cs b/Build/Tasks/CreateNugetPackages.cs index 7e2d2a2e4a9..a0092a31b18 100644 --- a/Build/Tasks/CreateNugetPackages.cs +++ b/Build/Tasks/CreateNugetPackages.cs @@ -16,7 +16,7 @@ namespace DotNetNuke.Build.Tasks using DotNetNuke.Build; /// A cake task to create the platform's NuGet packages. - [Dependency(typeof(PreparePackaging))] + [IsDependentOn(typeof(PreparePackaging))] public sealed class CreateNugetPackages : FrostingTask { /// diff --git a/Build/Tasks/CreateSymbols.cs b/Build/Tasks/CreateSymbols.cs index 2fb92e75906..7e1b897ae38 100644 --- a/Build/Tasks/CreateSymbols.cs +++ b/Build/Tasks/CreateSymbols.cs @@ -12,8 +12,8 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to create the Symbols package. - [Dependency(typeof(PreparePackaging))] - [Dependency(typeof(OtherPackages))] + [IsDependentOn(typeof(PreparePackaging))] + [IsDependentOn(typeof(OtherPackages))] public sealed class CreateSymbols : FrostingTask { /// diff --git a/Build/Tasks/CreateUpgrade.cs b/Build/Tasks/CreateUpgrade.cs index 3976db0f02e..690a69380b7 100644 --- a/Build/Tasks/CreateUpgrade.cs +++ b/Build/Tasks/CreateUpgrade.cs @@ -14,50 +14,25 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to create the Upgrade package. - [Dependency(typeof(PreparePackaging))] - [Dependency(typeof(OtherPackages))] - [Dependency(typeof(CreateInstall))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed - [Dependency(typeof(CreateSymbols))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed - [Dependency(typeof(CreateDeploy))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed + [IsDependentOn(typeof(PreparePackaging))] + [IsDependentOn(typeof(OtherPackages))] + [IsDependentOn(typeof(CreateInstall))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed + [IsDependentOn(typeof(CreateSymbols))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed + [IsDependentOn(typeof(CreateDeploy))] // This is to ensure CreateUpgrade runs last and not in parallel, can be removed when we get to v10 where the telerik workaround is no longer needed public sealed class CreateUpgrade : FrostingTask { /// public override void Run(Context context) { - this.RenameResourcesFor98xUpgrades(context); context.CreateDirectory(context.ArtifactsFolder); var excludes = new string[context.PackagingPatterns.InstallExclude.Length + context.PackagingPatterns.UpgradeExclude.Length]; context.PackagingPatterns.InstallExclude.CopyTo(excludes, 0); context.PackagingPatterns.UpgradeExclude.CopyTo(excludes, context.PackagingPatterns.InstallExclude.Length); var files = context.GetFilesByPatterns(context.WebsiteFolder, new[] { "**/*" }, excludes); - files.Add(context.GetFiles("./Website/Install/Module/DNNCE_Website.Deprecated_*_Install.zip")); context.Information("Zipping {0} files for Upgrade zip", files.Count); var packageZip = $"{context.ArtifactsFolder}DNN_Platform_{context.GetBuildNumber()}_Upgrade.zip"; context.Zip(context.WebsiteFolder, packageZip, files); } - - [Obsolete( - "Workaround to support upgrades from 9.8.0 which may or may not still have Telerik installed." - + "This method is to be removed in v10.0.0 and we should also implement a solution to remove these .resources files" - + "from the available extensions to make sure people don't install them by mistake.")] - private void RenameResourcesFor98xUpgrades(Context context) - { - var telerikPackages = new[] - { - $"{context.WebsiteFolder}Install/Module/DNNCE_DigitalAssetsManagement*.zip", - $"{context.WebsiteFolder}Install/Module/Telerik*.zip", - $"{context.WebsiteFolder}Install/Library/DNNCE_Web.Deprecated*.zip", - $"{context.WebsiteFolder}Install/Library/DNNCE_Website.Deprecated*.zip", - }; - - var filesToRename = context.GetFilesByPatterns(telerikPackages); - foreach (var fileToRename in filesToRename) - { - File.Move( - fileToRename.ToString(), - fileToRename.ChangeExtension("resources").ToString()); - } - } } } diff --git a/Build/Tasks/Default.cs b/Build/Tasks/Default.cs index 74aedacfec3..d5e82b2f190 100644 --- a/Build/Tasks/Default.cs +++ b/Build/Tasks/Default.cs @@ -10,12 +10,12 @@ namespace DotNetNuke.Build.Tasks /// A cake task to build the platform and create packages. /// This is the default Cake target if no target is supplied. - [Dependency(typeof(CleanArtifacts))] - [Dependency(typeof(UpdateDnnManifests))] - [Dependency(typeof(CreateInstall))] - [Dependency(typeof(CreateUpgrade))] - [Dependency(typeof(CreateDeploy))] - [Dependency(typeof(CreateSymbols))] + [IsDependentOn(typeof(CleanArtifacts))] + [IsDependentOn(typeof(UpdateDnnManifests))] + [IsDependentOn(typeof(CreateInstall))] + [IsDependentOn(typeof(CreateUpgrade))] + [IsDependentOn(typeof(CreateDeploy))] + [IsDependentOn(typeof(CreateSymbols))] public sealed class Default : FrostingTask { } diff --git a/Build/Tasks/GeneratePackagesChecksums.cs b/Build/Tasks/GeneratePackagesChecksums.cs index 09a71c295b8..dee3de466e3 100644 --- a/Build/Tasks/GeneratePackagesChecksums.cs +++ b/Build/Tasks/GeneratePackagesChecksums.cs @@ -15,12 +15,12 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to generate a checksums.md file with the artifact checksums. - [Dependency(typeof(CleanArtifacts))] - [Dependency(typeof(UpdateDnnManifests))] - [Dependency(typeof(CreateInstall))] - [Dependency(typeof(CreateUpgrade))] - [Dependency(typeof(CreateDeploy))] - [Dependency(typeof(CreateSymbols))] + [IsDependentOn(typeof(CleanArtifacts))] + [IsDependentOn(typeof(UpdateDnnManifests))] + [IsDependentOn(typeof(CreateInstall))] + [IsDependentOn(typeof(CreateUpgrade))] + [IsDependentOn(typeof(CreateDeploy))] + [IsDependentOn(typeof(CreateSymbols))] public sealed class GeneratePackagesChecksums : FrostingTask { /// diff --git a/Build/Tasks/GenerateSecurityAnalyzerChecksums.cs b/Build/Tasks/GenerateSecurityAnalyzerChecksums.cs index 877a565f7bd..5cef37cd84d 100644 --- a/Build/Tasks/GenerateSecurityAnalyzerChecksums.cs +++ b/Build/Tasks/GenerateSecurityAnalyzerChecksums.cs @@ -12,7 +12,7 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to generate the Default.aspx checksum for the Security Analyzer. - [Dependency(typeof(SetVersion))] + [IsDependentOn(typeof(SetVersion))] public sealed class GenerateSecurityAnalyzerChecksums : FrostingTask { /// diff --git a/Build/Tasks/GenerateSqlDataProvider.cs b/Build/Tasks/GenerateSqlDataProvider.cs index 6212713a43e..fb80272f1df 100644 --- a/Build/Tasks/GenerateSqlDataProvider.cs +++ b/Build/Tasks/GenerateSqlDataProvider.cs @@ -10,7 +10,7 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to generate a SQL Data Provider script if it doesn't exist. - [Dependency(typeof(SetVersion))] + [IsDependentOn(typeof(SetVersion))] public sealed class GenerateSqlDataProvider : FrostingTask { /// diff --git a/Build/Tasks/OtherPackages.cs b/Build/Tasks/OtherPackages.cs index 45784a1754c..4eef3e9023b 100644 --- a/Build/Tasks/OtherPackages.cs +++ b/Build/Tasks/OtherPackages.cs @@ -16,12 +16,14 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to include other 3rd party packages. - [Dependency(typeof(PackageNewtonsoft))] - [Dependency(typeof(PackageMailKit))] - [Dependency(typeof(PackageAspNetWebApi))] - [Dependency(typeof(PackageAspNetWebPages))] - [Dependency(typeof(PackageAspNetMvc))] - [Dependency(typeof(PackageMicrosoftGlobbing))] + [IsDependentOn(typeof(PackageNewtonsoft))] + [IsDependentOn(typeof(PackageMailKit))] + [IsDependentOn(typeof(PackageAspNetWebApi))] + [IsDependentOn(typeof(PackageAspNetWebPages))] + [IsDependentOn(typeof(PackageAspNetMvc))] + [IsDependentOn(typeof(PackageMicrosoftGlobbing))] + [IsDependentOn(typeof(PackageWebFormsMvp))] + [IsDependentOn(typeof(PackageSharpZipLib))] public sealed class OtherPackages : FrostingTask { /// diff --git a/Build/Tasks/PackageSharpZipLib.cs b/Build/Tasks/PackageSharpZipLib.cs new file mode 100644 index 00000000000..4396939b865 --- /dev/null +++ b/Build/Tasks/PackageSharpZipLib.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information +namespace DotNetNuke.Build.Tasks +{ + using System.Diagnostics; + using System.Linq; + using System.Xml; + + using Cake.Common.Diagnostics; + using Cake.Common.IO; + using Cake.Frosting; + using Dnn.CakeUtils; + + /// A cake task to generate the SharpZipLib package. + public sealed class PackageSharpZipLib : FrostingTask + { + /// + public override void Run(Context context) + { + var binDir = context.WebsiteDir.Path.Combine("bin"); + var mainAssemblyPath = binDir.CombineWithFilePath("ICSharpCode.SharpZipLib.dll"); + var packageVersion = FileVersionInfo.GetVersionInfo(context.MakeAbsolute(mainAssemblyPath).FullPath).FileVersion; + + var packageZip = context.WebsiteDir.Path.CombineWithFilePath($"Install/Library/SharpZipLib_{packageVersion}_Install.zip"); + var packageDir = context.Directory("DNN Platform/Components/SharpZipLib"); + + context.Information($"Creating {packageZip}"); + context.Zip( + packageDir.ToString(), + packageZip, + context.GetFilesByPatterns(packageDir, new[] { "*" }, new[] { "*.dnn" })); + + var manifestPath = context.GetFiles(packageDir.Path.CombineWithFilePath("*.dnn").ToString()).Single(); + context.Information($"Reading manifest from {manifestPath}"); + var manifest = new XmlDocument(); + manifest.LoadXml(context.ReadFile(manifestPath)); + var assemblies = + from XmlNode assemblyNode in manifest.SelectNodes("//assembly") + from XmlNode childNode in assemblyNode.ChildNodes + where childNode.LocalName.Equals("name") + select childNode; + + foreach (var assemblyNameNode in assemblies) + { + var assemblyPath = binDir.CombineWithFilePath(assemblyNameNode.InnerText); + context.Information($"Adding {assemblyPath} to {packageZip}"); + context.AddFilesToZip( + packageZip, + context.MakeAbsolute(context.WebsiteDir.Path), + context.GetFiles(assemblyPath.ToString()), + append: true); + + var versionNode = assemblyNameNode.ParentNode.ChildNodes.Cast() + .SingleOrDefault(childNode => childNode.LocalName.Equals("version")); + if (versionNode != null) + { + versionNode.InnerText = FileVersionInfo.GetVersionInfo(context.MakeAbsolute(assemblyPath).FullPath).FileVersion; + context.Information($"Set {assemblyPath} version to {versionNode.InnerText}"); + } + } + + manifest.SelectSingleNode("//package[@version]").Attributes["version"].Value = packageVersion; + + context.AddXmlFileToZip(packageZip, manifest, manifestPath.GetFilename().ToString(), append: true); + } + } +} diff --git a/Build/Tasks/PackageWebFormsMvp.cs b/Build/Tasks/PackageWebFormsMvp.cs new file mode 100644 index 00000000000..4e4af65e70e --- /dev/null +++ b/Build/Tasks/PackageWebFormsMvp.cs @@ -0,0 +1,68 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information +namespace DotNetNuke.Build.Tasks +{ + using System.Diagnostics; + using System.Linq; + using System.Xml; + + using Cake.Common.Diagnostics; + using Cake.Common.IO; + using Cake.Frosting; + using Dnn.CakeUtils; + + /// A cake task to generate the WebFormsMvp package. + public sealed class PackageWebFormsMvp : FrostingTask + { + /// + public override void Run(Context context) + { + var binDir = context.WebsiteDir.Path.Combine("bin"); + var mainAssemblyPath = binDir.CombineWithFilePath("WebFormsMvp.dll"); + var packageVersion = FileVersionInfo.GetVersionInfo(context.MakeAbsolute(mainAssemblyPath).FullPath).FileVersion; + + var packageZip = context.WebsiteDir.Path.CombineWithFilePath($"Install/Library/WebFormsMvp_{packageVersion}_Install.zip"); + var packageDir = context.Directory("DNN Platform/Components/WebFormsMvp"); + + context.Information($"Creating {packageZip}"); + context.Zip( + packageDir.ToString(), + packageZip, + context.GetFilesByPatterns(packageDir, new[] { "*" }, new[] { "*.dnn" })); + + var manifestPath = context.GetFiles(packageDir.Path.CombineWithFilePath("*.dnn").ToString()).Single(); + context.Information($"Reading manifest from {manifestPath}"); + var manifest = new XmlDocument(); + manifest.LoadXml(context.ReadFile(manifestPath)); + var assemblies = + from XmlNode assemblyNode in manifest.SelectNodes("//assembly") + from XmlNode childNode in assemblyNode.ChildNodes + where childNode.LocalName.Equals("name") + select childNode; + + foreach (var assemblyNameNode in assemblies) + { + var assemblyPath = binDir.CombineWithFilePath(assemblyNameNode.InnerText); + context.Information($"Adding {assemblyPath} to {packageZip}"); + context.AddFilesToZip( + packageZip, + context.MakeAbsolute(context.WebsiteDir.Path), + context.GetFiles(assemblyPath.ToString()), + append: true); + + var versionNode = assemblyNameNode.ParentNode.ChildNodes.Cast() + .SingleOrDefault(childNode => childNode.LocalName.Equals("version")); + if (versionNode != null) + { + versionNode.InnerText = FileVersionInfo.GetVersionInfo(context.MakeAbsolute(assemblyPath).FullPath).FileVersion; + context.Information($"Set {assemblyPath} version to {versionNode.InnerText}"); + } + } + + manifest.SelectSingleNode("//package[@version]").Attributes["version"].Value = packageVersion; + + context.AddXmlFileToZip(packageZip, manifest, manifestPath.GetFilename().ToString(), append: true); + } + } +} diff --git a/Build/Tasks/PreparePackaging.cs b/Build/Tasks/PreparePackaging.cs index 6b111ecaf2c..181cfada3b2 100644 --- a/Build/Tasks/PreparePackaging.cs +++ b/Build/Tasks/PreparePackaging.cs @@ -11,10 +11,10 @@ namespace DotNetNuke.Build.Tasks using Cake.Json; /// A cake task to prepare for packaging (by building the platform and copying files). - [Dependency(typeof(CopyWebsite))] - [Dependency(typeof(Build))] - [Dependency(typeof(CopyWebConfig))] - [Dependency(typeof(CopyWebsiteBinFolder))] + [IsDependentOn(typeof(CopyWebsite))] + [IsDependentOn(typeof(Build))] + [IsDependentOn(typeof(CopyWebConfig))] + [IsDependentOn(typeof(CopyWebsiteBinFolder))] public sealed class PreparePackaging : FrostingTask { /// diff --git a/Build/Tasks/ResetDatabase.cs b/Build/Tasks/ResetDatabase.cs index d23560e4f3f..d05247ca6b9 100644 --- a/Build/Tasks/ResetDatabase.cs +++ b/Build/Tasks/ResetDatabase.cs @@ -5,6 +5,7 @@ namespace DotNetNuke.Build.Tasks { using System; using System.Data.SqlClient; + using System.IO; using System.Linq; using Cake.Common.Diagnostics; @@ -46,8 +47,12 @@ private static string LoadScript(ICakeContext context, string scriptName) private static string ReplaceScriptVariables(Context context, string script) { + var dbPath = context.FileSystem.GetDirectory(context.Settings.DatabasePath); + dbPath.Create(); + var fullDbPath = Path.GetFullPath(dbPath.Path.FullPath); + return script.Replace("{DBName}", context.Settings.DnnDatabaseName) - .Replace("{DBPath}", context.Settings.DatabasePath) + .Replace("{DBPath}", fullDbPath) .Replace("{DBLogin}", context.Settings.DnnSqlUsername); } diff --git a/Build/Tasks/ResetDevSite.cs b/Build/Tasks/ResetDevSite.cs index b338ad4b377..27b7f07a682 100644 --- a/Build/Tasks/ResetDevSite.cs +++ b/Build/Tasks/ResetDevSite.cs @@ -9,9 +9,9 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to reset a local dev site. - [Dependency(typeof(BuildToTempFolder))] - [Dependency(typeof(CopyToDevSite))] - [Dependency(typeof(CopyWebConfigToDevSite))] + [IsDependentOn(typeof(BuildToTempFolder))] + [IsDependentOn(typeof(CopyToDevSite))] + [IsDependentOn(typeof(CopyWebConfigToDevSite))] public sealed class ResetDevSite : FrostingTask { } diff --git a/Build/Tasks/RunUnitTests.cs b/Build/Tasks/RunUnitTests.cs index e090871360e..c081b98daae 100644 --- a/Build/Tasks/RunUnitTests.cs +++ b/Build/Tasks/RunUnitTests.cs @@ -11,7 +11,7 @@ namespace DotNetNuke.Build.Tasks /// A cake task to run NUnit 3 tests. /// This task is not used (NUnit 3 is not used by DNN), you probably want . - [Dependency(typeof(Build))] + [IsDependentOn(typeof(Build))] public sealed class RunUnitTests : FrostingTask { /// diff --git a/Build/Tasks/SetPackageVersions.cs b/Build/Tasks/SetPackageVersions.cs index ac6f4fbe21b..91a7d32c097 100644 --- a/Build/Tasks/SetPackageVersions.cs +++ b/Build/Tasks/SetPackageVersions.cs @@ -12,7 +12,7 @@ namespace DotNetNuke.Build.Tasks using Cake.Frosting; /// A cake task to set the version of client-side packages. - [Dependency(typeof(SetVersion))] + [IsDependentOn(typeof(SetVersion))] public sealed class SetPackageVersions : FrostingTask { /// diff --git a/Build/Tasks/UpdateDnnManifests.cs b/Build/Tasks/UpdateDnnManifests.cs index 1abc2bdbd34..9e17f815b0b 100644 --- a/Build/Tasks/UpdateDnnManifests.cs +++ b/Build/Tasks/UpdateDnnManifests.cs @@ -16,8 +16,8 @@ namespace DotNetNuke.Build.Tasks using Dnn.CakeUtils; /// A cake task to set the version attribute in all of the .dnn manifest files. - [Dependency(typeof(SetVersion))] - [Dependency(typeof(SetPackageVersions))] + [IsDependentOn(typeof(SetVersion))] + [IsDependentOn(typeof(SetPackageVersions))] public sealed class UpdateDnnManifests : FrostingTask { /// Gets the version from the context and formats it as a string. diff --git a/Build/Tasks/packaging.json b/Build/Tasks/packaging.json index a74acbad267..edcf5bd7403 100644 --- a/Build/Tasks/packaging.json +++ b/Build/Tasks/packaging.json @@ -11,6 +11,7 @@ "/development.config", "/packages.config", "/release.config", + "/web.*.config", "/App_Data/RadSpell/en-US.tdf", "/bin/Dnn.AuthServices.Jwt.*", "/bin/Dnn.EditBar.*", @@ -40,7 +41,8 @@ "/bin/System.Web.WebPages.Razor.dll", "/bin/WebMatrix.Data.dll", "/bin/WebMatrix.WebData.dll", - "/Install/Module/DNNCE_Website.Deprecated_*_Install.zip" + "/Install/Module/DNNCE_Website.Deprecated_*_Install.zip", + "/bin/WebFormsMvp.dll" ], "installInclude": ["/Install/InstallWizard.aspx.cs"], "upgradeExclude": [ @@ -52,7 +54,8 @@ "/bin/Providers/DotNetNuke.Providers.AspNetClientCapabilityProvider.dll", "/bin/Newtonsoft.Json.dll", "/Config/DotNetNuke.config", - "/Install/InstallWizard.aspx" + "/Install/InstallWizard.aspx", + "/bin/WebFormsMvp.dll" ], "symbolsInclude": [ "/bin/*.pdb", diff --git a/Build/Tasks/thirdparty.json b/Build/Tasks/thirdparty.json index 5b405f0d66d..02980cfe3bf 100644 --- a/Build/Tasks/thirdparty.json +++ b/Build/Tasks/thirdparty.json @@ -1,10 +1,4 @@ [ - { - "name": "Telerik", - "folder": "DNN Platform/Components/Telerik/", - "destination": "Install/Module", - "excludes": [ "**/*.xml" ] - }, { "name": "jQuery", "folder": "DNN Platform/JavaScript Libraries/jQuery/", diff --git a/Build/Tasks/unversionedManifests.txt b/Build/Tasks/unversionedManifests.txt index c1174e1c4bc..5ed96c08ad5 100644 --- a/Build/Tasks/unversionedManifests.txt +++ b/Build/Tasks/unversionedManifests.txt @@ -1,5 +1,7 @@ DNN Platform/Components/MailKit/*.dnn DNN Platform/Components/Microsoft.*/**/*.dnn DNN Platform/Components/Newtonsoft/*.dnn +DNN Platform/Components/WebFormsMvp/*.dnn +DNN Platform/Components/SharpZipLib/*.dnn DNN Platform/JavaScript Libraries/**/*.dnn Temp/**/*.dnn \ No newline at end of file diff --git a/Build/Tools/NuGet/DotNetNuke.Bundle.nuspec b/Build/Tools/NuGet/DotNetNuke.Bundle.nuspec index 86acd523d07..1ca94e870ad 100644 --- a/Build/Tools/NuGet/DotNetNuke.Bundle.nuspec +++ b/Build/Tools/NuGet/DotNetNuke.Bundle.nuspec @@ -30,9 +30,6 @@ - - - diff --git a/Build/Tools/NuGet/DotNetNuke.Web.Deprecated.nuspec b/Build/Tools/NuGet/DotNetNuke.Web.Deprecated.nuspec deleted file mode 100644 index 0f99a1b8ac8..00000000000 --- a/Build/Tools/NuGet/DotNetNuke.Web.Deprecated.nuspec +++ /dev/null @@ -1,27 +0,0 @@ - - - - DotNetNuke.Web.Deprecated - $version$ - DNN Platform (Deprecated Components) - DNN Corp - DNN Corp - MIT - false - images\logo-for-nuget.png - https://github.com/dnnsoftware/Dnn.Platform - - Provides API references for deprecated items removed from the primary API's, such as DNN's Telerik component. These elements may not be distributed with DNN in the future - - Copyright (c) .NET Foundation and Contributors, All Rights Reserved. - - - - - - - - - - - diff --git a/Build/Tools/NuGet/DotNetNuke.Web.Mvc.nuspec b/Build/Tools/NuGet/DotNetNuke.Web.Mvc.nuspec index c00d5df1a55..81904a77308 100644 --- a/Build/Tools/NuGet/DotNetNuke.Web.Mvc.nuspec +++ b/Build/Tools/NuGet/DotNetNuke.Web.Mvc.nuspec @@ -18,9 +18,9 @@ - - - + + + diff --git a/Build/Tools/NuGet/DotNetNuke.Web.nuspec b/Build/Tools/NuGet/DotNetNuke.Web.nuspec index 35ac2dd311f..3dd7aa7cd4a 100644 --- a/Build/Tools/NuGet/DotNetNuke.Web.nuspec +++ b/Build/Tools/NuGet/DotNetNuke.Web.nuspec @@ -16,7 +16,7 @@ Copyright (c) .NET Foundation and Contributors, All Rights Reserved. - + diff --git a/Build/Tools/NuGet/DotNetNuke.WebApi.nuspec b/Build/Tools/NuGet/DotNetNuke.WebApi.nuspec index c184209d2f6..a2df755b3dd 100644 --- a/Build/Tools/NuGet/DotNetNuke.WebApi.nuspec +++ b/Build/Tools/NuGet/DotNetNuke.WebApi.nuspec @@ -15,8 +15,8 @@ Copyright (c) .NET Foundation and Contributors, All Rights Reserved. - - + + diff --git a/DNN Platform/Admin Modules/Dnn.Modules.Console/dnn_Console.dnn b/DNN Platform/Admin Modules/Dnn.Modules.Console/dnn_Console.dnn index 3b316789f0d..83654b7f442 100644 --- a/DNN Platform/Admin Modules/Dnn.Modules.Console/dnn_Console.dnn +++ b/DNN Platform/Admin Modules/Dnn.Modules.Console/dnn_Console.dnn @@ -1,12 +1,12 @@  - + Console Display children pages as icon links for navigation. ~/DesktopModules/Admin/Console/console.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Admin Modules/Dnn.Modules.Console/web.config b/DNN Platform/Admin Modules/Dnn.Modules.Console/web.config index 931974a0ba4..17af53ce56d 100644 --- a/DNN Platform/Admin Modules/Dnn.Modules.Console/web.config +++ b/DNN Platform/Admin Modules/Dnn.Modules.Console/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Components/MailKit/MailKit.dnn b/DNN Platform/Components/MailKit/MailKit.dnn index cd31ca2a7ea..35687ade324 100644 --- a/DNN Platform/Components/MailKit/MailKit.dnn +++ b/DNN Platform/Components/MailKit/MailKit.dnn @@ -5,8 +5,8 @@ Libraries required for MailKit. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Components/Microsoft.AspNetMvc/Microsoft.AspNetMvc.dnn b/DNN Platform/Components/Microsoft.AspNetMvc/Microsoft.AspNetMvc.dnn index 07929cb4a94..51666a51f5c 100644 --- a/DNN Platform/Components/Microsoft.AspNetMvc/Microsoft.AspNetMvc.dnn +++ b/DNN Platform/Components/Microsoft.AspNetMvc/Microsoft.AspNetMvc.dnn @@ -1,12 +1,12 @@ - + ASP.NET MVC Components Libraries required for ASP.NET MVC. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org @@ -23,7 +23,7 @@ bin System.Web.Mvc.dll - 5.2.7 + 5.2.8 diff --git a/DNN Platform/Components/Microsoft.AspNetWebApi/Microsoft.AspNetWebApi.dnn b/DNN Platform/Components/Microsoft.AspNetWebApi/Microsoft.AspNetWebApi.dnn index b59923285da..6219fe670a5 100644 --- a/DNN Platform/Components/Microsoft.AspNetWebApi/Microsoft.AspNetWebApi.dnn +++ b/DNN Platform/Components/Microsoft.AspNetWebApi/Microsoft.AspNetWebApi.dnn @@ -1,12 +1,12 @@ - + ASP.NET Web API Components Libraries required for ASP.NET Web API. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org @@ -18,17 +18,17 @@ bin System.Net.Http.Formatting.dll - 5.2.7 + 5.2.8 bin System.Web.Http.dll - 5.2.7 + 5.2.8 bin System.Web.Http.WebHost.dll - 5.2.7 + 5.2.8 diff --git a/DNN Platform/Components/Microsoft.AspNetWebPages/Microsoft.AspNetWebPages.dnn b/DNN Platform/Components/Microsoft.AspNetWebPages/Microsoft.AspNetWebPages.dnn index 46021bbd7ad..f33e9d9805f 100644 --- a/DNN Platform/Components/Microsoft.AspNetWebPages/Microsoft.AspNetWebPages.dnn +++ b/DNN Platform/Components/Microsoft.AspNetWebPages/Microsoft.AspNetWebPages.dnn @@ -1,12 +1,12 @@ - + ASP.NET Web Pages Components Libraries required for ASP.NET Web Pages (i.e. Razor and helpers). - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org @@ -18,42 +18,42 @@ bin System.Web.Helpers.dll - 3.2.7 + 3.2.8 bin Microsoft.Web.Helpers.dll - 3.2.7 + 3.2.8 bin System.Web.Razor.dll - 3.2.7 + 3.2.8 bin System.Web.WebPages.dll - 3.2.7 + 3.2.8 bin System.Web.WebPages.Deployment.dll - 3.2.7 + 3.2.8 bin System.Web.WebPages.Razor.dll - 3.2.7 + 3.2.8 bin WebMatrix.Data.dll - 3.2.7 + 3.2.8 bin WebMatrix.WebData.dll - 3.2.7 + 3.2.8 diff --git a/DNN Platform/Components/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dnn b/DNN Platform/Components/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dnn index 1eaf7d360c0..4db82256e1f 100644 --- a/DNN Platform/Components/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dnn +++ b/DNN Platform/Components/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dnn @@ -5,8 +5,8 @@ Provides compiler support for C# 7.3 and VB 15. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Components/Microsoft.Extensions.FileSystemGlobbing/Microsoft.Extensions.FileSystemGlobbing.dnn b/DNN Platform/Components/Microsoft.Extensions.FileSystemGlobbing/Microsoft.Extensions.FileSystemGlobbing.dnn index 13c497584ea..847471fb442 100644 --- a/DNN Platform/Components/Microsoft.Extensions.FileSystemGlobbing/Microsoft.Extensions.FileSystemGlobbing.dnn +++ b/DNN Platform/Components/Microsoft.Extensions.FileSystemGlobbing/Microsoft.Extensions.FileSystemGlobbing.dnn @@ -5,8 +5,8 @@ Provides file globbing support for DotNetNuke. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Components/Newtonsoft/DotNetNuke.Newtonsoft.Json.dnn b/DNN Platform/Components/Newtonsoft/DotNetNuke.Newtonsoft.Json.dnn index 1cdb93fbb3b..23edde1a7ee 100644 --- a/DNN Platform/Components/Newtonsoft/DotNetNuke.Newtonsoft.Json.dnn +++ b/DNN Platform/Components/Newtonsoft/DotNetNuke.Newtonsoft.Json.dnn @@ -1,30 +1,30 @@ - - - - Newtonsoft Json Components - Provides Newtonsoft Json Components for DotNetNuke. - - - DNN - .NET Foundation - https://dnncommunity.org - info@dnncommunity.org - - License.txt - - This package includes Newtonsoft.Json assembly version 10.0.3. - Please go to https://www.newtonsoft.com/json to view release notes on this particular version. - - - - - bin - Newtonsoft.Json.dll - 10.0.3 - - - - - - - + + + + Newtonsoft Json Components + Provides Newtonsoft Json Components for DotNetNuke. + + + .NET Foundation and Contributors + DNN Community + https://dnncommunity.org + info@dnncommunity.org + + License.txt + + This package includes Newtonsoft.Json assembly version 13.0.1. + Please go to https://www.newtonsoft.com/json to view release notes on this particular version. + + + + + bin + Newtonsoft.Json.dll + 13.0.1 + + + + + + + diff --git a/DNN Platform/Components/SharpZipLib/License.txt b/DNN Platform/Components/SharpZipLib/License.txt new file mode 100644 index 00000000000..f693de8bc2c --- /dev/null +++ b/DNN Platform/Components/SharpZipLib/License.txt @@ -0,0 +1,17 @@ +Copyright © 2000-2018 SharpZipLib Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/DNN Platform/Components/SharpZipLib/SharpZipLib.dnn b/DNN Platform/Components/SharpZipLib/SharpZipLib.dnn new file mode 100644 index 00000000000..1777bf4b442 --- /dev/null +++ b/DNN Platform/Components/SharpZipLib/SharpZipLib.dnn @@ -0,0 +1,28 @@ + + + + SharpZipLib + Library for managing zip archives. + + + DNN + .NET Foundation + https://dnncommunity.org + info@dnncommunity.org + + + https://github.com/icsharpcode/SharpZipLib/wiki/Release-History + + + + + bin + ICSharpCode.SharpZipLib.dll + 1.3.3 + + + + + + + diff --git a/DNN Platform/Components/Telerik/App_Data/RadSpell/en-US.tdf b/DNN Platform/Components/Telerik/App_Data/RadSpell/en-US.tdf deleted file mode 100644 index 89dcd72057a..00000000000 --- a/DNN Platform/Components/Telerik/App_Data/RadSpell/en-US.tdf +++ /dev/null @@ -1,155034 +0,0 @@ -a:A:A -I:A:A -s:S:S -t:T:T -aa:A:A -ac:AK:AK -ad:AT:AT -ag:AK:AK -ah:A:A -ai:A:A -ak:AK:AK -al:AL:AL -am:AM:AM -an:AN:AN -ap:AP:AP -ar:AR:AR -as:AS:AS -at:AT:AT -au:A:A -ax:AKS:AKS -ay:A:A -az:AS:AS -ba:P:P -bc:PK:PK -bd:PT:PT -be:P:P -bi:P:P -bk:PK:PK -bo:P:P -bp:PP:PP -bs:PS:PS -bx:PKS:PKS -by:P:P -ca:K:K -cb:KP:KP -cc:K:K -cd:KT:KT -ce:S:S -ci:S:S -cm:KM:KM -co:K:K -cs:KS:KS -ct:KT:KT -cu:K:K -cv:KF:KF -cy:S:S -cz:S:X -da:T:T -db:TP:TP -dc:TK:TK -de:T:T -dj:TJ:T -dl:TL:TL -do:T:T -dr:TR:TR -dt:T:T -du:T:T -dv:TF:TF -dx:TKS:TKS -dy:T:T -dz:TS:TS -ea:A:A -ed:AT:AT -eg:AK:AK -eh:A:A -el:AL:AL -em:AM:AM -en:AN:AN -er:AR:AR -es:AS:AS -et:AT:AT -eu:A:A -ex:AKS:AKS -fa:F:F -fc:FK:FK -fd:FT:FT -fe:F:F -ff:F:F -fl:FL:FL -fm:FM:FM -fr:FR:FR -fs:FS:FS -ft:FT:FT -fu:F:F -ga:K:K -gb:KP:KP -ge:J:K -gi:J:K -gm:KM:KM -go:K:K -gp:KP:KP -gu:K:K -ha:H:H -he:H:H -hi:H:H -ho:H:H -hp:P:P -hq:K:K -hr:R:R -hz:S:S -ia:A:A -ic:AK:AK -id:AT:AT -ie:A:A -if:AF:AF -ii:A:A -il:AL:AL -in:AN:AN -ip:AP:AP -iq:AK:AK -ir:AR:AR -is:AS:AS -it:AT:AT -iv:AF:AF -ix:AKS:AKS -jr:JR:AR -kc:KK:KK -kg:KK:KK -kl:KL:KL -km:KM:KM -ko:K:K -ks:KS:KS -ku:K:K -kw:K:K -ky:K:K -la:L:L -lb:LP:LP -li:L:L -ll:L:L -ln:LN:LN -lo:L:L -lp:LP:LP -lt:LT:LT -lu:L:L -lw:L:L -ma:M:M -mc:MK:MK -md:MT:MT -me:M:M -mi:M:M -mo:M:M -mr:MR:MR -ms:MS:MS -mu:M:M -my:M:M -na:N:N -nb:NP:NP -nc:NK:NK -nd:NT:NT -ne:N:N -nf:NF:NF -nh:N:N -ni:N:N -nj:NJ:N -nm:NM:NM -no:N:N -np:NP:NP -nr:NR:NR -nt:NT:NT -nu:N:N -nv:NF:NF -nw:N:N -ny:N:N -od:AT:AT -of:AF:AF -oh:A:A -ok:AK:AK -on:AN:AN -op:AP:AP -or:AR:AR -os:AS:AS -ow:A:AF -ox:AKS:AKS -oz:AS:AS -pa:P:P -pc:PK:PK -pd:PT:PT -pe:P:P -pg:PK:PK -ph:F:F -pi:P:P -pj:PJ:P -pl:PL:PL -pm:PM:PM -po:P:P -pp:P:P -pq:PK:PK -pr:PR:PR -ps:S:S -pt:PT:PT -pu:P:P -px:PKS:PKS -qt:KT:KT -ra:R:R -rd:RT:RT -re:R:R -rh:R:R -rn:RN:RN -ro:R:R -rr:R:R -rt:RT:RT -rv:RF:RF -rx:RKS:RKS -sa:S:S -sc:SK:SK -sd:ST:ST -se:S:S -sf:SF:SF -sh:X:X -so:S:S -sq:SK:SK -st:ST:ST -sw:S:X -ta:T:T -tb:TP:TP -ti:T:T -tn:TN:TN -to:T:T -tt:T:T -tv:TF:TF -tx:TKS:TKS -ua:A:A -uh:A:A -uk:AK:AK -un:AN:AN -up:AP:AP -us:AS:AS -ut:AT:AT -uv:AF:AF -va:F:F -vc:FK:FK -vd:FT:FT -vi:F:F -vp:FP:FP -vt:FT:FT -wa:A:F -we:A:F -wi:A:F -wp:P:P -wt:T:T -wv:F:F -wy:A:F -xi:S:S -xs:SS:SS -xt:ST:ST -xv:SF:SF -xx:SKS:SKS -yd:AT:AT -ye:A:A -yo:A:A -yr:AR:AR -zn:SN:SN -abc:APK:APK -abe:AP:AP -ace:AS:AS -act:AKT:AKT -add:AT:AT -ado:AT:AT -aft:AFT:AFT -age:AJ:AK -ago:AK:AK -aha:AH:AH -aid:AT:AT -ail:AL:AL -aim:AM:AM -air:AR:AR -alb:ALP:ALP -ale:AL:AL -ali:AL:AL -all:AL:AL -alm:ALM:ALM -alp:ALP:ALP -alt:ALT:ALT -ama:AM:AM -ami:AM:AM -amp:AMP:AMP -amt:AMT:AMT -amu:AM:AM -amy:AM:AM -ana:AN:AN -and:ANT:ANT -ani:AN:AN -ann:AN:AN -ant:ANT:ANT -any:AN:AN -ape:AP:AP -apo:AP:AP -apt:APT:APT -arc:ARK:ARK -are:AR:AR -ark:ARK:ARK -arm:ARM:ARM -art:ART:ART -ash:AX:AX -ask:ASK:ASK -asp:ASP:ASP -ass:AS:AS -ate:AT:AT -aug:AK:AK -auk:AK:AK -aut:AT:AT -ave:AF:AF -awe:A:A -awl:AL:AL -awn:AN:AN -axe:AKS:AKS -aye:A:A -baa:P:P -bad:PT:PT -bag:PK:PK -bah:P:P -ban:PN:PN -bar:PR:PR -bas:PS:PS -bat:PT:PT -bay:P:P -bed:PT:PT -bee:P:P -beg:PK:PK -ben:PN:PN -bet:PT:PT -bey:P:P -bib:PP:PP -bid:PT:PT -big:PK:PK -bin:PN:PN -bio:P:P -bit:PT:PT -boa:P:P -bob:PP:PP -bog:PK:PK -bon:PN:PN -boo:P:P -bop:PP:PP -bow:P:PF -box:PKS:PKS -boy:P:P -bra:PR:PR -bro:PR:PR -bud:PT:PT -bug:PK:PK -bum:PM:PM -bun:PN:PN -bur:PR:PR -bus:PS:PS -but:PT:PT -buy:P:P -bye:P:P -byu:P:P -cab:KP:KP -cad:KT:KT -cam:KM:KM -can:KN:KN -cap:KP:KP -car:KR:KR -cat:KT:KT -caw:K:KF -cay:K:K -ceo:S:S -chi:X:X -cio:S:X -cit:ST:ST -cob:KP:KP -cod:KT:KT -cog:KK:KK -col:KL:KL -com:KM:KM -con:KN:KN -coo:K:K -cop:KP:KP -cot:KT:KT -cow:K:KF -coy:K:K -cpu:KP:KP -crt:KRT:KRT -cry:KR:KR -cub:KP:KP -cud:KT:KT -cue:K:K -cul:KL:KL -cum:KM:KM -cup:KP:KP -cur:KR:KR -cut:KT:KT -dab:TP:TP -dad:TT:TT -dam:TM:TM -dan:TN:TN -day:T:T -deb:TP:TP -dec:TK:TK -def:TF:TF -dei:T:T -del:TL:TL -den:TN:TN -des:TS:TS -dew:T:TF -did:TT:TT -die:T:T -dig:TK:TK -dim:TM:TM -din:TN:TN -dip:TP:TP -dir:TR:TR -dna:TN:TN -doa:T:T -doc:TK:TK -doe:T:T -dog:TK:TK -don:TN:TN -dos:TS:TS -dot:TT:TT -dow:T:TF -doz:TS:TS -dry:TR:TR -dub:TP:TP -dud:TT:TT -due:T:T -dug:TK:TK -dun:TN:TN -duo:T:T -dup:TP:TP -dye:T:T -ear:AR:AR -eat:AT:AT -ebb:AP:AP -ecg:AK:AK -eeg:AK:AK -eel:AL:AL -eft:AFT:AFT -egg:AK:AK -ego:AK:AK -eke:AK:AK -elf:ALF:ALF -elk:ALK:ALK -ell:AL:AL -elm:ALM:ALM -emu:AM:AM -enc:ANK:ANK -end:ANT:ANT -ene:AN:AN -eon:AN:AN -epa:AP:AP -era:AR:AR -ere:AR:AR -erg:ARK:ARK -ese:AS:AS -esp:ASP:ASP -est:AST:AST -eta:AT:AT -etc:ATK:ATK -eve:AF:AF -ewe:A:A -ext:AKST:AKST -eye:A:A -fad:FT:FT -fag:FK:FK -fan:FN:FN -far:FR:FR -fat:FT:FT -fax:FKS:FKS -fay:F:F -fee:F:F -fen:FN:FN -few:F:FF -fey:F:F -fez:FS:FS -fib:FP:FP -fie:F:F -fig:FK:FK -fin:FN:FN -fir:FR:FR -fit:FT:FT -fix:FKS:FKS -fly:FL:FL -fob:FP:FP -foe:F:F -fog:FK:FK -fop:FP:FP -for:FR:FR -fox:FKS:FKS -fri:FR:FR -fry:FR:FR -fun:FN:FN -fur:FR:FR -gab:KP:KP -gad:KT:KT -gag:KK:KK -gal:KL:KL -gam:KM:KM -gao:K:K -gap:KP:KP -gar:KR:KR -gas:KS:KS -gee:J:K -gel:KL:JL -gem:JM:KM -gen:JN:KN -get:KT:KT -gig:JK:KK -gin:KN:JN -gnu:N:N -gob:KP:KP -god:KT:KT -gop:KP:KP -got:KT:KT -gov:KF:KF -gum:KM:KM -gun:KN:KN -gut:KT:KT -guy:K:K -gym:KM:JM -gyp:KP:JP -hac:HK:HK -had:HT:HT -hag:HK:HK -hah:H:H -ham:HM:HM -hap:HP:HP -has:HS:HS -hat:HT:HT -haw:H:HF -hay:H:H -hem:HM:HM -hen:HN:HN -hep:HP:HP -her:HR:HR -hew:H:HF -hex:HKS:HKS -hey:H:H -hid:HT:HT -hie:H:H -him:HM:HM -hip:HP:HP -his:HS:HS -hit:HT:HT -hob:HP:HP -hoc:HK:HK -hod:HT:HT -hoe:H:H -hog:HK:HK -hon:HN:HN -hop:HP:HP -hot:HT:HT -how:H:HF -hub:HP:HP -hue:H:H -hug:HK:HK -huh:H:H -hum:HM:HM -hun:HN:HN -hut:HT:HT -ice:AS:AS -icy:AS:AS -ida:AT:AT -ifs:AFS:AFS -ilk:ALK:ALK -ill:AL:AL -i'm:AM:AM -inc:ANK:ANK -ind:ANT:ANT -ink:ANK:ANK -inn:AN:AN -ins:ANS:ANS -int:ANT:ANT -ion:AN:AN -iou:A:A -ire:AR:AR -irk:ARK:ARK -irs:ARS:ARS -ism:ASM:ASM -its:ATS:ATS -iud:AT:AT -ivs:AFS:AFS -ivy:AF:AF -iwo:A:A -jab:JP:AP -jag:JK:AK -jam:JM:AM -jan:JN:AN -jap:JP:AP -jar:JR:AR -jaw:J:AF -jay:J:A -jet:JT:AT -jew:J:AF -jib:JP:AP -jig:JK:AK -jim:JM:AM -job:JP:AP -joe:J:A -jog:JK:AK -jot:JT:AT -joy:J:A -jug:JK:AK -jul:JL:AL -jun:JN:AN -jus:JS:AS -jut:JT:AT -kat:KT:KT -keg:KK:KK -ken:KN:KN -key:K:K -kid:KT:KT -kin:KN:KN -kip:KP:KP -kit:KT:KT -lab:LP:LP -lad:LT:LT -lag:LK:LK -lam:LM:LM -lap:LP:LP -las:LS:LS -lat:LT:LT -law:L:LF -lax:LKS:LKS -lay:L:L -led:LT:LT -lee:L:L -leg:LK:LK -lei:L:L -lek:LK:LK -leo:L:L -let:LT:LT -leu:L:L -lex:LKS:LKS -lib:LP:LP -lid:LT:LT -lie:L:L -lip:LP:LP -lit:LT:LT -liz:LS:LS -lob:LP:LP -log:LK:LK -lop:LP:LP -los:LS:LS -lot:LT:LT -low:L:LF -lox:LKS:LKS -lug:LK:LK -lye:L:L -mad:MT:MT -mae:M:M -mag:MK:MK -maj:MJ:M -mal:ML:ML -man:MN:MN -mao:M:M -map:MP:MP -mar:MR:MR -mat:MT:MT -maw:M:MF -max:MKS:MKS -may:M:M -med:MT:MT -meg:MK:MK -men:MN:MN -met:MT:MT -mew:M:MF -mia:M:M -mid:MT:MT -mig:MK:MK -mil:ML:ML -min:MN:MN -mit:MT:MT -mix:MKS:MKS -mob:MP:MP -mod:MT:MT -moi:M:M -mom:MM:MM -mon:MN:MN -moo:M:M -mop:MP:MP -mow:M:MF -mrs:MRS:MRS -mud:MT:MT -mug:MK:MK -mum:MM:MM -nab:NP:NP -nag:NK:NK -nap:NP:NP -nay:N:N -nea:N:N -neb:NP:NP -net:NT:NT -nev:NF:NF -new:N:NF -nib:NP:NP -nil:NL:NL -nip:NP:NP -nit:NT:NT -nix:NKS:NKS -nod:NT:NT -nog:NK:NK -nol:NL:NL -non:NN:NN -nor:NR:NR -nos:NS:NS -not:NT:NT -nov:NF:NF -now:N:NF -nub:NP:NP -nun:NN:NN -nut:NT:NT -nyc:NK:NK -oaf:AF:AF -oak:AK:AK -oar:AR:AR -oat:AT:AT -obi:AP:AP -odd:AT:AT -ode:AT:AT -oem:AM:AM -off:AF:AF -oft:AFT:AFT -ohm:AM:AM -ohs:AS:AS -oil:AL:AL -old:ALT:ALT -ole:AL:AL -one:AN:AN -ont:ANT:ANT -opt:APT:APT -orb:ARP:ARP -ore:AR:AR -oui:A:A -our:AR:AR -out:AT:AT -ova:AF:AF -owe:A:A -owl:AL:AL -own:AN:AN -pad:PT:PT -pal:PL:PL -pan:PN:PN -pap:PP:PP -par:PR:PR -pas:PS:PS -pat:PT:PT -paw:P:PF -pay:P:P -pea:P:P -peg:PK:PK -pen:PN:PN -pep:PP:PP -per:PR:PR -pet:PT:PT -pew:P:PF -phi:F:F -pie:P:P -pig:PK:PK -pin:PN:PN -pip:PP:PP -pit:PT:PT -pix:PKS:PKS -plo:PL:PL -ply:PL:PL -pob:PP:PP -pod:PT:PT -poe:P:P -poi:P:P -pop:PP:PP -pos:PS:PS -pot:PT:PT -pow:P:PF -pox:PKS:PKS -pre:PR:PR -pro:PR:PR -pry:PR:PR -psi:S:S -pub:PP:PP -pug:PK:PK -pun:PN:PN -pup:PP:PP -pus:PS:PS -put:PT:PT -pvc:PFK:PFK -qat:KT:KT -qed:KT:KT -que:K:K -qui:K:K -quo:K:K -rad:RT:RT -raf:RF:RF -rag:RK:RK -rah:R:R -ram:RM:RM -ran:RN:RN -rap:RP:RP -rat:RT:RT -raw:R:RF -ray:R:R -rec:RK:RK -red:RT:RT -ref:RF:RF -reg:RK:RK -rei:R:R -rem:RM:RM -reo:R:R -rep:RP:RP -res:RS:RS -ret:RT:RT -rev:RF:RF -rex:RKS:RKS -rho:R:R -rib:RP:RP -rid:RT:RT -rig:RK:RK -rim:RM:RM -rio:R:R -rip:RP:RP -rna:RN:RN -rob:RP:RP -rod:RT:RT -roe:R:R -rom:RM:RM -rot:RT:RT -row:R:RF -rub:RP:RP -rue:R:R -rug:RK:RK -rum:RM:RM -run:RN:RN -rut:RT:RT -rya:R:R -rye:R:R -sac:SK:SK -sad:ST:ST -sag:SK:SK -sam:SM:SM -san:SN:SN -sao:S:S -sap:SP:SP -sat:ST:ST -saw:S:SF -sax:SKS:SKS -say:S:S -sci:S:S -sea:S:S -sec:SK:SK -see:S:S -sen:SN:SN -sep:SP:SP -seq:SK:SK -set:ST:ST -sew:S:SF -sex:SKS:SKS -she:X:X -shy:X:X -sic:SK:SK -sid:ST:ST -sin:SN:SN -sip:SP:SP -sir:SR:SR -sis:SS:SS -sit:ST:ST -six:SKS:SKS -ski:SK:SK -sky:SK:SK -sly:SL:XL -sob:SP:SP -sod:ST:ST -sol:SL:SL -son:SN:SN -sop:SP:SP -sos:SS:SS -sot:ST:ST -sow:S:SF -sox:SKS:SKS -soy:S:S -spa:SP:SP -spy:SP:SP -sri:SR:SR -sty:ST:ST -sub:SP:SP -sue:S:S -sui:S:S -sum:SM:SM -sun:SN:SN -sup:SP:SP -tab:TP:TP -tad:TT:TT -tag:TK:TK -taj:TJ:T -tan:TN:TN -tao:T:T -tap:TP:TP -tar:TR:TR -tat:TT:TT -tau:T:T -taw:T:TF -tax:TKS:TKS -tay:T:T -tea:T:T -ted:TT:TT -tee:T:T -tel:TL:TL -ten:TN:TN -tex:TKS:TKS -the:0:T -tho:0:T -thy:0:T -tic:TK:TK -tie:T:T -tim:TM:TM -tin:TN:TN -tip:TP:TP -tit:TT:TT -tnt:TNT:TNT -toe:T:T -tog:TK:TK -tom:TM:TM -ton:TN:TN -too:T:T -top:TP:TP -tot:TT:TT -tov:TF:TF -tow:T:TF -toy:T:T -try:TR:TR -tub:TP:TP -tue:T:T -tug:TK:TK -tux:TKS:TKS -tvs:TFS:TFS -two:T:T -ubi:AP:AP -ufo:AF:AF -ugh:AK:AK -uke:AK:AK -ump:AMP:AMP -una:AN:AN -uno:AN:AN -upi:AP:AP -ups:APS:APS -urb:ARP:ARP -urn:ARN:ARN -usa:AS:AS -use:AS:AS -uso:AS:AS -uss:AS:AS -ute:AT:AT -vag:FK:FK -val:FL:FL -van:FN:FN -vas:FS:FS -vat:FT:FT -vet:FT:FT -vex:FKS:FKS -via:F:F -vie:F:F -vim:FM:FM -vip:FP:FP -vis:FS:FS -viz:FS:FS -vol:FL:FL -von:FN:FN -vow:F:FF -vox:FKS:FKS -wac:AK:FK -wad:AT:FT -wag:AK:FK -wan:AN:FN -war:AR:FR -was:AS:FS -wax:AKS:FKS -way:A:F -web:AP:FP -wed:AT:FT -wee:A:F -wet:AT:FT -who:A:A -why:A:A -wig:AK:FK -win:AN:FN -wit:AT:FT -woe:A:F -wok:AK:FK -won:AN:FN -woo:A:F -wow:A:FF -wry:R:R -yak:AK:AK -yam:AM:AM -yap:AP:AP -yaw:A:AF -yds:ATS:ATS -yea:A:A -yen:AN:AN -yes:AS:AS -yet:AT:AT -yew:A:AF -yin:AN:AN -yip:AP:AP -yod:AT:AT -yom:AM:AM -yon:AN:AN -you:A:A -yrs:ARS:ARS -ytd:AT:AT -zap:SP:SP -zed:ST:ST -zen:SN:SN -zip:SP:SP -zit:ST:ST -zoo:S:S -aaas:AS:AS -abac:APK:APK -abba:AP:AP -abbe:AP:AP -abbr:APR:APR -abby:AP:AP -abcs:APKS:APKS -abed:APT:APT -abeg:APK:APK -abet:APT:APT -able:APL:APL -ably:APL:APL -abri:APR:APR -abut:APT:APT -acct:AKT:AKT -aced:AST:AST -aces:ASS:ASS -ache:AX:AK -achy:AX:AK -acid:AST:AST -aclu:AKL:AKL -acme:AKM:AKM -acne:AKN:AKN -acre:AKR:AKR -acta:AKT:AKT -acto:AKT:AKT -acts:AKTS:AKTS -acyl:ASL:ASL -adam:ATM:ATM -adar:ATR:ATR -adds:ATS:ATS -aden:ATN:ATN -adit:ATT:ATT -advt:ATFT:ATFT -adze:ATS:ATS -aeon:AN:AN -aero:AR:AR -aery:AR:AR -afar:AFR:AFR -afro:AFR:AFR -afto:AFT:AFT -agar:AKR:AKR -aged:AJT:AKT -ager:AKR:AJR -ages:AJS:AKS -agio:AJ:AK -agog:AKK:AKK -ague:AK:AK -ahem:AHM:AHM -ahoy:AH:AH -aide:AT:AT -aids:ATS:ATS -aiel:AL:AL -ails:ALS:ALS -aims:AMS:AMS -ainu:AN:AN -airs:ARS:ARS -airy:AR:AR -ajar:AJR:AHR -akin:AKN:AKN -alae:AL:AL -alan:ALN:ALN -alar:ALR:ALR -alas:ALS:ALS -alba:ALP:ALP -alec:ALK:ALK -alee:AL:AL -ales:ALS:ALS -alex:ALKS:ALKS -alga:ALK:ALK -alia:AL:AL -alii:AL:AL -alit:ALT:ALT -alls:ALS:ALS -ally:AL:AL -alma:ALM:ALM -alms:ALMS:ALMS -aloe:AL:AL -alon:ALN:ALN -alow:AL:ALF -alps:ALPS:ALPS -also:ALS:ALS -alta:ALT:ALT -alto:ALT:ALT -alum:ALM:ALM -amah:AM:AM -ambo:AMP:AMP -amen:AMN:AMN -amex:AMKS:AMKS -amid:AMT:AMT -ammo:AM:AM -amok:AMK:AMK -amon:AMN:AMN -amor:AMR:AMR -amos:AMS:AMS -amps:AMPS:AMPS -amyl:AML:AML -anal:ANL:ANL -andy:ANT:ANT -anew:AN:ANF -ankh:ANK:ANK -anna:AN:AN -anne:AN:AN -anno:AN:AN -anoa:AN:AN -anon:ANN:ANN -ansa:ANS:ANS -anta:ANT:ANT -ante:ANT:ANT -anti:ANT:ANT -ants:ANTS:ANTS -anum:ANM:ANM -anus:ANS:ANS -apdu:APT:APT -aped:APT:APT -apes:APS:APS -apex:APKS:APKS -apse:APS:APS -aqua:AK:AK -arab:ARP:ARP -arak:ARK:ARK -aral:ARL:ARL -aran:ARN:ARN -arch:ARX:ARK -arck:ARK:ARK -arcs:ARKS:ARKS -area:AR:AR -areg:ARK:ARK -ares:ARS:ARS -argo:ARK:ARK -aria:AR:AR -arid:ART:ART -aril:ARL:ARL -ariz:ARS:ARS -arks:ARKS:ARKS -arms:ARMS:ARMS -army:ARM:ARM -arse:ARS:ARS -arts:ARTS:ARTS -arty:ART:ART -arum:ARM:ARM -aryl:ARL:ARL -asap:ASP:ASP -asce:AS:AS -asci:AS:AS -ases:ASS:ASS -ashy:AX:AX -asia:AS:AX -asks:ASKS:ASKS -asme:ASM:ASM -assn:ASN:ASN -asst:AST:AST -aste:AST:AST -asti:AST:AST -astr:ASTR:ASTR -atom:ATM:ATM -atop:ATP:ATP -attn:ATN:ATN -atty:AT:AT -auks:AKS:AKS -aula:AL:AL -auld:ALT:ALT -aunt:ANT:ANT -aura:AR:AR -auth:A0:AT -auto:AT:AT -aver:AFR:AFR -avid:AFT:AFT -avis:AFS:AFS -aviv:AFF:AFF -avon:AFN:AFN -avow:AF:AFF -away:A:A -awed:AT:AT -awes:AS:AS -awls:ALS:ALS -awns:ANS:ANS -awol:AL:AL -awry:AR:AR -axal:AKSL:AKSL -axed:AKST:AKST -axel:AKSL:AKSL -axer:AKSR:AKSR -axes:AKSS:AKSS -axil:AKSL:AKSL -axis:AKSS:AKSS -axle:AKSL:AKSL -axon:AKSN:AKSN -ayah:A:A -ayes:AS:AS -azan:ASN:ASN -azar:ASR:ASR -baal:PL:PL -baas:PS:PS -baba:PP:PP -babe:PP:PP -babs:PPS:PPS -babu:PP:PP -baby:PP:PP -bach:PK:PK -back:PK:PK -bade:PT:PT -bags:PKS:PKS -baht:PT:PT -bail:PL:PL -bait:PT:PT -bake:PK:PK -bald:PLT:PLT -bale:PL:PL -bali:PL:PL -balk:PLK:PLK -ball:PL:PL -balm:PLM:PLM -banc:PNK:PNK -band:PNT:PNT -bane:PN:PN -bang:PNK:PNK -bank:PNK:PNK -bans:PNS:PNS -bant:PNT:PNT -baps:PPS:PPS -bapt:PPT:PPT -barb:PRP:PRP -bard:PRT:PRT -bare:PR:PR -barf:PRF:PRF -bark:PRK:PRK -barm:PRM:PRM -barn:PRN:PRN -baro:PR:PR -barr:PR:PR -bars:PRS:PRS -bart:PRT:PRT -base:PS:PS -bash:PX:PX -bask:PSK:PSK -bass:PS:PS -bast:PST:PST -bate:PT:PT -bath:P0:PT -bats:PTS:PTS -batt:PT:PT -baud:PT:PT -bawd:PT:PT -bawl:PL:PL -bays:PS:PS -bdrm:PTRM:PTRM -bead:PT:PT -beak:PK:PK -beam:PM:PM -bean:PN:PN -bear:PR:PR -beat:PT:PT -beau:P:P -beck:PK:PK -beds:PTS:PTS -beeb:PP:PP -beef:PF:PF -been:PN:PN -beep:PP:PP -beer:PR:PR -bees:PS:PS -beet:PT:PT -begs:PKS:PKS -belg:PLK:PLK -bell:PL:PL -belt:PLT:PLT -bely:PL:PL -bema:PM:PM -bend:PNT:PNT -bene:PN:PN -beng:PNK:PNK -bent:PNT:PNT -benz:PNS:PNS -berg:PRK:PRK -berk:PRK:PRK -berm:PRM:PRM -bern:PRN:PRN -bert:PRT:PRT -bess:PS:PS -best:PST:PST -beta:PT:PT -bete:PT:PT -beth:P0:PT -bets:PTS:PTS -betz:PTS:PTS -bevy:PF:PF -beys:PS:PS -bhan:PN:PN -bias:PS:PS -bibs:PPS:PPS -bice:PS:PS -bide:PT:PT -bids:PTS:PTS -biel:PL:PL -bier:P:PR -biff:PF:PF -bike:PK:PK -bile:PL:PL -bilk:PLK:PLK -bill:PL:PL -bind:PNT:PNT -bine:PN:PN -bing:PNK:PNK -bins:PNS:PNS -biog:PK:PK -bioi:P:P -biol:PL:PL -bios:PS:PS -bird:PRT:PRT -biro:PR:PR -bise:PS:PS -bisk:PSK:PSK -bite:PT:PT -bits:PTS:PTS -bitt:PT:PT -blab:PLP:PLP -blah:PL:PL -bldg:PLTK:PLTK -bleb:PLP:PLP -bled:PLT:PLT -blet:PLT:PLT -blew:PL:PLF -blip:PLP:PLP -blob:PLP:PLP -bloc:PLK:PLK -blot:PLT:PLT -blow:PL:PLF -blub:PLP:PLP -blue:PL:PL -blur:PLR:PLR -blvd:PLFT:PLFT -boac:PK:PK -boar:PR:PR -boas:PS:PS -boat:PT:PT -bobs:PPS:PPS -bock:PK:PK -bode:PT:PT -bodo:PT:PT -body:PT:PT -boer:PR:PR -bogs:PKS:PKS -bogy:PJ:PK -bohr:PR:PR -boil:PL:PL -bois:P:PS -bola:PL:PL -bold:PLT:PLT -bole:PL:PL -boll:PL:PL -bolo:PL:PL -bolt:PLT:PLT -bomb:PMP:PMP -bona:PN:PN -bond:PNT:PNT -bone:PN:PN -bong:PNK:PNK -boni:PN:PN -bonn:PN:PN -bono:PN:PN -bons:PNS:PNS -bony:PN:PN -boob:PP:PP -book:PK:PK -boom:PM:PM -boon:PN:PN -boor:PR:PR -boos:PS:PS -boot:PT:PT -bops:PPS:PPS -bora:PR:PR -bore:PR:PR -borg:PRK:PRK -born:PRN:PRN -bort:PRT:PRT -bosh:PX:PX -bosk:PSK:PSK -boss:PS:PS -bote:PT:PT -both:P0:PT -bout:PT:PT -bowl:PL:PL -bows:PS:PS -boys:PS:PS -brab:PRP:PRP -brad:PRT:PRT -brae:PR:PR -brag:PRK:PRK -bran:PRN:PRN -bras:PRS:PRS -brat:PRT:PRT -braw:PR:PRF -bray:PR:PR -bred:PRT:PRT -brei:PR:PR -bren:PRN:PRN -brew:PR:PRF -bric:PRK:PRK -brie:PR:PR -brig:PRK:PRK -brim:PRM:PRM -brio:PR:PR -brit:PRT:PRT -brix:PRKS:PRKS -bros:PRS:PRS -brow:PR:PRF -brut:PRT:PRT -bubo:PP:PP -buck:PK:PK -buds:PTS:PTS -buff:PF:PF -bugs:PKS:PKS -bulb:PLP:PLP -bulg:PLK:PLK -bulk:PLK:PLK -bull:PL:PL -buln:PLN:PLN -bump:PMP:PMP -bums:PMS:PMS -buna:PN:PN -bung:PNK:PNK -bunk:PNK:PNK -buns:PNS:PNS -bunt:PNT:PNT -buoy:P:P -burg:PRK:PRK -burk:PRK:PRK -burl:PRL:PRL -burn:PRN:PRN -burp:PRP:PRP -burr:PR:PR -burs:PRS:PRS -bury:PR:PR -bush:PX:PX -busk:PSK:PSK -buss:PS:PS -bust:PST:PST -busy:PS:PS -butt:PT:PT -buys:PS:PS -buzz:PS:PS -byes:PS:PS -byre:PR:PR -byte:PT:PT -cabs:KPS:KPS -cade:KT:KT -cads:KTS:KTS -cafe:KF:KF -café:KF:KF -caff:KF:KF -cage:KJ:KK -cagy:KK:KJ -cain:KN:KN -cake:KK:KK -caky:KK:KK -calc:KLK:KLK -calf:KLF:KLF -calk:KLK:KLK -call:KL:KL -calm:KLM:KLM -calx:KLKS:KLKS -camb:KMP:KMP -came:KM:KM -camp:KMP:KMP -cams:KMS:KMS -cane:KN:KN -cans:KNS:KNS -cant:KNT:KNT -cape:KP:KP -capo:KP:KP -caps:KPS:KPS -capt:KPT:KPT -card:KRT:KRT -care:KR:KR -carl:KRL:KRL -carp:KRP:KRP -cars:KRS:KRS -cart:KRT:KRT -case:KS:KS -cash:KX:KX -cask:KSK:KSK -cast:KST:KST -casu:KS:KS -cats:KTS:KTS -caul:KL:KL -cava:KF:KF -cave:KF:KF -cavy:KF:KF -caws:KS:KS -cays:KS:KS -ceca:SK:SK -cede:ST:ST -ceil:SL:SL -cell:SL:SL -celt:SLT:SLT -cent:SNT:SNT -cera:SR:SR -cere:SR:SR -cert:SRT:SRT -cess:SS:SS -cete:ST:ST -chad:XT:XT -chap:XP:XP -char:XR:XR -chat:XT:XT -chef:XF:XF -chem:KM:KM -chew:X:XF -chez:XS:XS -chic:XK:XK -chid:XT:XT -chin:XN:XN -chip:XP:XP -chit:XT:XT -chiv:XF:XF -chop:XP:XP -chow:X:XF -chub:XP:XP -chug:XK:XK -chum:XM:XM -ciao:S:X -cigs:SKS:SKS -cill:SL:SL -cine:SN:SN -cion:SN:XN -circ:SRK:SRK -cire:SR:SR -cist:SST:SST -cite:ST:ST -city:ST:ST -clad:KLT:KLT -clam:KLM:KLM -clan:KLN:KLN -clap:KLP:KLP -claw:KL:KLF -clay:KL:KL -clef:KLF:KLF -cleg:KLK:KLK -clem:KLM:KLM -clew:KL:KLF -clip:KLP:KLP -clod:KLT:KLT -clog:KLK:KLK -clop:KLP:KLP -clot:KLT:KLT -cloy:KL:KL -club:KLP:KLP -clue:KL:KL -clun:KLN:KLN -coal:KL:KL -coat:KT:KT -coax:KKS:KKS -cobb:KP:KP -cobs:KPS:KPS -coca:KK:KK -cock:KK:KK -coco:KK:KK -coda:KT:KT -code:KT:KT -cods:KTS:KTS -coed:KT:KT -cogs:KKS:KKS -coho:KH:KH -coif:KF:KF -coil:KL:KL -coin:KN:KN -coir:KR:KR -coke:KK:KK -cola:KL:KL -cold:KLT:KLT -cole:KL:KL -coli:KL:KL -coll:KL:KL -colo:KL:KL -colt:KLT:KLT -coly:KL:KL -coma:KM:KM -comb:KMP:KMP -come:KM:KM -comm:KM:KM -comp:KMP:KMP -conc:KNK:KNK -cone:KN:KN -conf:KNF:KNF -cong:KNK:KNK -coni:KN:KN -conj:KNJ:KN -conk:KNK:KNK -conn:KN:KN -cons:KNS:KNS -cont:KNT:KNT -cony:KN:KN -cook:KK:KK -cool:KL:KL -coon:KN:KN -coop:KP:KP -coos:KS:KS -coot:KT:KT -cope:KP:KP -cops:KPS:KPS -copt:KPT:KPT -copy:KP:KP -cord:KRT:KRT -core:KR:KR -corf:KRF:KRF -cork:KRK:KRK -corm:KRM:KRM -corn:KRN:KRN -corp:KRP:KRP -corr:KR:KR -cors:KRS:KRS -cosa:KS:KS -cosh:KX:KX -cost:KST:KST -cosy:KS:KS -cote:KT:KT -coth:K0:KT -cots:KTS:KTS -coup:KP:KP -cove:KF:KF -cowl:KL:KL -cows:KS:KS -coxa:KKS:KKS -cozy:KS:KS -cpus:KPS:KPS -crab:KRP:KRP -crag:KRK:KRK -cram:KRM:KRM -cran:KRN:KRN -crap:KRP:KRP -craw:KR:KRF -cree:KR:KR -cres:KRS:KRS -crew:KR:KRF -crib:KRP:KRP -cris:KRS:KRS -crit:KRT:KRT -crop:KRP:KRP -crow:KR:KRF -crud:KRT:KRT -crus:KRS:KRS -crux:KRKS:KRKS -ctge:KTJ:KTK -ctrl:KTRL:KTRL -cuba:KP:KP -cube:KP:KP -cubs:KPS:KPS -cuds:KTS:KTS -cued:KT:KT -cues:KS:KS -cuff:KF:KF -cull:KL:KL -culm:KLM:KLM -culs:KLS:KLS -cult:KLT:KLT -cunt:KNT:KNT -cups:KPS:KPS -curb:KRP:KRP -curd:KRT:KRT -cure:KR:KR -curl:KRL:KRL -curs:KRS:KRS -curt:KRT:KRT -cush:KX:KX -cusp:KSP:KSP -cuss:KS:KS -cute:KT:KT -cuts:KTS:KTS -cyan:SN:SN -cyma:SM:SM -cyme:SM:SM -cyst:SST:SST -czar:SR:XR -dabs:TPS:TPS -dace:TS:TS -dada:TT:TT -dado:TT:TT -dads:TTS:TTS -daft:TFT:TFT -dago:TK:TK -dags:TKS:TKS -dail:TL:TL -dais:T:TS -dale:TL:TL -dals:TLS:TLS -dame:TM:TM -damn:TMN:TMN -damp:TMP:TMP -dams:TMS:TMS -dane:TN:TN -dank:TNK:TNK -daps:TPS:TPS -dard:TRT:TRT -dare:TR:TR -dark:TRK:TRK -darn:TRN:TRN -dart:TRT:TRT -dash:TX:TX -data:TT:TT -date:TT:TT -datu:TT:TT -daub:TP:TP -davy:TF:TF -dawn:TN:TN -days:TS:TS -daze:TS:TS -dces:TSS:TSS -dead:TT:TT -deaf:TF:TF -deal:TL:TL -dean:TN:TN -dear:TR:TR -debs:TPS:TPS -debt:TPT:TPT -debu:TP:TP -deck:TK:TK -decl:TKL:TKL -deco:TK:TK -dedi:TT:TT -deed:TT:TT -deem:TM:TM -deep:TP:TP -deer:TR:TR -dees:TS:TS -defo:TF:TF -deft:TFT:TFT -defy:TF:TF -deit:TT:TT -deja:TJ:TH -dele:TL:TL -delf:TLF:TLF -deli:TL:TL -dell:TL:TL -deme:TM:TM -demo:TM:TM -demy:TM:TM -dene:TN:TN -dens:TNS:TNS -dent:TNT:TNT -deny:TN:TN -dept:TPT:TPT -derv:TRF:TRF -desc:TSK:TSK -desk:TSK:TSK -deus:TS:TS -deut:TT:TT -deux:TKS:TKS -deva:TF:TF -dewy:T:T -dhow:T:TF -dhss:TS:TS -diad:TT:TT -diag:TK:TK -dial:TL:TL -diam:TM:TM -dias:TS:TS -dibs:TPS:TPS -dice:TS:TS -dict:TKT:TKT -dido:TT:TT -died:TT:TT -diem:TM:TM -dies:TS:TS -diet:TT:TT -diff:TF:TF -digs:TKS:TKS -dike:TK:TK -diks:TKS:TKS -dill:TL:TL -dime:TM:TM -dims:TMS:TMS -dine:TN:TN -ding:TNK:TNK -dink:TNK:TNK -dins:TNS:TNS -dint:TNT:TNT -diol:TL:TL -dipl:TPL:TPL -dips:TPS:TPS -dire:TR:TR -dirk:TRK:TRK -dirt:TRT:TRT -disc:TSK:TSK -dish:TX:TX -disk:TSK:TSK -dist:TST:TST -diva:TF:TF -dive:TF:TF -divi:TF:TF -dlit:TLT:TLT -doch:TK:TK -dock:TK:TK -docs:TKS:TKS -dodo:TT:TT -doer:TR:TR -does:TS:TS -doff:TF:TF -doge:TJ:TK -dogs:TKS:TKS -dole:TL:TL -doli:TL:TL -doll:TL:TL -dolo:TL:TL -dolt:TLT:TLT -dome:TM:TM -dona:TN:TN -done:TN:TN -dong:TNK:TNK -doni:TN:TN -dons:TNS:TNS -doom:TM:TM -door:TR:TR -dopa:TP:TP -dope:TP:TP -dorm:TRM:TRM -dory:TR:TR -dose:TS:TS -doss:TS:TS -dost:TST:TST -dote:TT:TT -doth:T0:TT -dots:TTS:TTS -doug:TK:TK -dour:TR:TR -dove:TF:TF -down:TN:TN -doxy:TKS:TKS -doze:TS:TS -dozy:TS:TS -drab:TRP:TRP -drag:TRK:TRK -dram:TRM:TRM -drat:TRT:TRT -draw:TR:TRF -dray:TR:TR -dreg:TRK:TRK -drew:TR:TRF -drey:TR:TR -drip:TRP:TRP -drop:TRP:TRP -drub:TRP:TRP -drug:TRK:TRK -drum:TRM:TRM -drys:TRS:TRS -dsto:TST:TST -dt's:TS:TS -duad:TT:TT -dual:TL:TL -dubs:TPS:TPS -duce:TS:TS -duck:TK:TK -duct:TKT:TKT -dude:TT:TT -duds:TTS:TTS -duel:TL:TL -dues:TS:TS -duet:TT:TT -duff:TF:TF -dugs:TKS:TKS -duke:TK:TK -dull:TL:TL -duly:TL:TL -dumb:TM:TM -dump:TMP:TMP -dune:TN:TN -dung:TNK:TNK -dunk:TNK:TNK -duns:TNS:TNS -dunt:TNT:TNT -duos:TS:TS -dupe:TP:TP -dura:TR:TR -dusk:TSK:TSK -dust:TST:TST -duty:TT:TT -dyad:TT:TT -dyak:TK:TK -dyed:TT:TT -dyer:TR:TR -dyes:TS:TS -dyke:TK:TK -dyne:TN:TN -each:AK:AK -earl:ARL:ARL -earn:ARN:ARN -ears:ARS:ARS -ease:AS:AS -east:AST:AST -easy:AS:AS -eats:ATS:ATS -eave:AF:AF -ebbs:APS:APS -ebon:APN:APN -ecad:AKT:AKT -echo:AX:AK -econ:AKN:AKN -ecru:AKR:AKR -edam:ATM:ATM -eddy:AT:AT -eden:ATN:ATN -edge:AJ:AJ -edgy:AJ:AJ -edit:ATT:ATT -eels:ALS:ALS -eely:AL:AL -eery:AR:AR -efts:AFTS:AFTS -egad:AKT:AKT -eggs:AKS:AKS -eggy:AK:AK -egos:AKS:AKS -eire:AR:AR -eked:AKT:AKT -ekes:AKS:AKS -elan:ALN:ALN -elhi:AL:AL -elks:ALKS:ALKS -ells:ALS:ALS -elms:ALMS:ALMS -else:ALS:ALS -emir:AMR:AMR -emit:AMT:AMT -emmy:AM:AM -empt:AMPT:AMPT -emus:AMS:AMS -ends:ANTS:ANTS -enol:ANL:ANL -envy:ANF:ANF -eons:ANS:ANS -epee:AP:AP -epha:AF:AF -epic:APK:APK -epos:APS:APS -eras:ARS:ARS -erev:ARF:ARF -ergo:ARK:ARK -ergs:ARKS:ARKS -eric:ARK:ARK -erie:AR:AR -erin:ARN:ARN -erne:ARN:ARN -erns:ARNS:ARNS -eros:ARS:ARS -errs:ARS:ARS -erse:ARS:ARS -erst:ARST:ARST -espy:ASP:ASP -esse:AS:AS -etch:AX:AX -eton:ATN:ATN -etui:AT:AT -euro:AR:AR -even:AFN:AFN -ever:AFR:AFR -eves:AFS:AFS -evil:AFL:AFL -ewer:AR:AR -ewes:AS:AS -exam:AKSM:AKSM -exec:AKSK:AKSK -exes:AKSS:AKSS -exit:AKST:AKST -exon:AKSN:AKSN -expo:AKSP:AKSP -eyas:AS:AS -eyed:AT:AT -eyer:AR:AR -eyes:AS:AS -eyot:AT:AT -eyra:AR:AR -eyre:AR:AR -ezra:ASR:ASR -face:FS:FS -fact:FKT:FKT -fade:FT:FT -fado:FT:FT -fads:FTS:FTS -faec:FK:FK -faff:FF:FF -fags:FKS:FKS -fahr:FR:FR -fail:FL:FL -fain:FN:FN -fair:FR:FR -fait:FT:FT -fake:FK:FK -fall:FL:FL -falx:FLKS:FLKS -fame:FM:FM -fane:FN:FN -fang:FNK:FNK -fans:FNS:FNS -fare:FR:FR -farl:FRL:FRL -farm:FRM:FRM -faro:FR:FR -fart:FRT:FRT -fash:FX:FX -fast:FST:FST -fata:FT:FT -fate:FT:FT -fatl:FTL:FTL -fats:FTS:FTS -faun:FN:FN -faut:FT:FT -faux:F:F -fawn:FN:FN -fays:FS:FS -faze:FS:FS -fddi:FT:FT -fdic:FTK:FTK -fear:FR:FR -feat:FT:FT -feci:FS:FS -feds:FTS:FTS -feed:FT:FT -feel:FL:FL -fees:FS:FS -feet:FT:FT -fehl:FL:FL -feil:FL:FL -fell:FL:FL -felo:FL:FL -felt:FLT:FLT -feme:FM:FM -fend:FNT:FNT -fens:FNS:FNS -fern:FRN:FRN -fess:FS:FS -feta:FT:FT -fete:FT:FT -feud:FT:FT -fiat:FT:FT -fibs:FPS:FPS -fica:FK:FK -fide:FT:FT -fido:FT:FT -fids:FTS:FTS -fief:FF:FF -fife:FF:FF -fifi:FF:FF -fifo:FF:FF -figs:FKS:FKS -fiji:FJ:FJ -fila:FL:FL -file:FL:FL -fill:FL:FL -film:FLM:FLM -fils:FLS:FLS -find:FNT:FNT -fine:FN:FN -fink:FNK:FNK -finn:FN:FN -fins:FNS:FNS -fire:FR:FR -firm:FRM:FRM -firs:FRS:FRS -fisc:FSK:FSK -fish:FX:FX -fisk:FSK:FSK -fist:FST:FST -fits:FTS:FTS -five:FF:FF -fixe:FKS:FKS -fizz:FS:FS -flab:FLP:FLP -flag:FLK:FLK -flak:FLK:FLK -flam:FLM:FLM -flan:FLN:FLN -flap:FLP:FLP -flat:FLT:FLT -flaw:FL:FLF -flax:FLKS:FLKS -flay:FL:FL -flea:FL:FL -fled:FLT:FLT -flee:FL:FL -flem:FLM:FLM -flew:FL:FLF -flex:FLKS:FLKS -flip:FLP:FLP -flit:FLT:FLT -floc:FLK:FLK -floe:FL:FL -flog:FLK:FLK -flop:FLP:FLP -flor:FLR:FLR -flow:FL:FLF -flub:FLP:FLP -flue:FL:FL -flun:FLN:FLN -flux:FLKS:FLKS -foal:FL:FL -foam:FM:FM -fobs:FPS:FPS -foci:FS:FS -foes:FS:FS -fogs:FKS:FKS -fogy:FJ:FK -fohn:FN:FN -foie:F:F -foil:FL:FL -fold:FLT:FLT -folk:FLK:FLK -foll:FL:FL -fond:FNT:FNT -fons:FNS:FNS -font:FNT:FNT -food:FT:FT -fool:FL:FL -foot:FT:FT -fops:FPS:FPS -fora:FR:FR -forb:FRP:FRP -ford:FRT:FRT -fore:FR:FR -fori:FR:FR -fork:FRK:FRK -form:FRM:FRM -foro:FR:FR -fort:FRT:FRT -foss:FS:FS -foul:FL:FL -four:FR:FR -fowl:FL:FL -foxy:FKS:FKS -fran:FRN:FRN -frap:FRP:FRP -frau:FR:FR -fray:FR:FR -frcm:FRKM:FRKM -frco:FRK:FRK -frcp:FRKP:FRKP -frcs:FRKS:FRKS -fred:FRT:FRT -free:FR:FR -freq:FRK:FRK -fret:FRT:FRT -frgs:FRKS:FRKS -frit:FRT:FRT -friz:FRS:FRS -froe:FR:FR -frog:FRK:FRK -from:FRM:FRM -frow:FR:FRF -frps:FRPS:FRPS -frsc:FRSK:FRSK -fuel:FL:FL -fuga:FK:FK -fuji:FJ:FJ -full:FL:FL -fume:FM:FM -fumy:FM:FM -fund:FNT:FNT -funk:FNK:FNK -furl:FRL:FRL -furs:FRS:FRS -fury:FR:FR -fuse:FS:FS -fuss:FS:FS -fuze:FS:FS -fuzz:FS:FS -gabs:KPS:KPS -gaby:KP:KP -gads:KTS:KTS -gael:KL:KL -gaff:KF:KF -gage:KJ:KK -gags:KKS:KKS -gain:KN:KN -gait:KT:KT -gala:KL:KL -gale:KL:KL -gall:KL:KL -gals:KLS:KLS -gama:KM:KM -game:KM:KM -gamp:KMP:KMP -gams:KMS:KMS -gamy:KM:KM -gang:KNK:KNK -gant:KNT:KNT -gaol:KL:KL -gape:KP:KP -gaps:KPS:KPS -gapy:KP:KP -garb:KRP:KRP -gars:KRS:KRS -gary:KR:KR -gash:KX:KX -gasp:KSP:KSP -gate:KT:KT -gats:KTS:KTS -gaud:KT:KT -gaul:KL:KL -gaup:KP:KP -gaur:KR:KR -gave:KF:KF -gawk:KK:KK -gawp:KP:KP -gaza:KS:KS -gaze:KS:KS -gean:JN:KN -gear:JR:KR -geek:JK:KK -geld:KLT:JLT -gels:KLS:JLS -gelt:KLT:JLT -gems:JMS:KMS -gena:JN:KN -gene:JN:KN -gens:JNS:KNS -gent:JNT:KNT -genu:JN:KN -geog:JK:KK -geos:JS:KS -germ:KRM:JRM -gets:KTS:KTS -geum:JM:KM -ghat:KT:KT -ghee:K:K -gibe:KP:JP -gibs:KPS:JPS -gift:JFT:KFT -gigs:JKS:KKS -gila:KL:JL -gild:KLT:JLT -gill:KL:JL -gilt:KLT:JLT -gimp:JMP:KMP -gink:KNK:JNK -gins:KNS:JNS -gios:JS:KS -gips:JPS:KPS -gird:JRT:KRT -girl:JRL:KRL -girn:JRN:KRN -giro:JR:KR -girt:JRT:KRT -gist:JST:KST -gits:JTS:KTS -give:JF:KF -glad:KLT:KLT -glam:KLM:KLM -gled:KLT:KLT -glee:KL:KL -glen:KLN:KLN -gley:KL:KL -glia:KL:L -glib:KLP:LP -glim:KLM:LM -glob:KLP:KLP -glop:KLP:KLP -glow:KL:KLF -glue:KL:KL -glum:KLM:KLM -glut:KLT:KLT -gnat:NT:NT -gnaw:N:NF -gnow:N:NF -gnus:NS:NS -goad:KT:KT -goal:KL:KL -goas:KS:KS -goat:KT:KT -gobi:KP:KP -gobo:KP:KP -gobs:KPS:KPS -goby:KP:KP -gods:KTS:KTS -goer:KR:KR -goes:KS:KS -gogh:KK:KK -gogo:KK:KK -gold:KLT:KLT -golf:KLF:KLF -gone:KN:KN -gong:KNK:KNK -good:KT:KT -goof:KF:KF -gook:KK:KK -goon:KN:KN -gore:KR:KR -gory:KR:KR -gosh:KX:KX -goth:K0:KT -goto:KT:KT -gout:KT:KT -govt:KFT:KFT -gowk:KK:KK -gown:KN:KN -goys:KS:KS -grab:KRP:KRP -grad:KRT:KRT -gram:KRM:KRM -gras:KRS:KRS -grav:KRF:KRF -gray:KR:KR -greg:KRK:KRK -grep:KRP:KRP -grew:KR:KRF -grey:KR:KR -grid:KRT:KRT -grig:KRK:KRK -grim:KRM:KRM -grin:KRN:KRN -grip:KRP:KRP -grit:KRT:KRT -grog:KRK:KRK -grot:KRT:KRT -grow:KR:KRF -grub:KRP:KRP -gual:KL:KL -guam:KM:KM -guan:KN:KN -guck:KK:KK -guff:KF:KF -gulf:KLF:KLF -gull:KL:KL -gulp:KLP:KLP -gums:KMS:KMS -gung:KNK:KNK -gunk:KNK:KNK -guns:KNS:KNS -guru:KR:KR -gush:KX:KX -gust:KST:KST -guts:KTS:KTS -guys:KS:KS -gybe:KP:JP -gyms:KMS:JMS -gyps:KPS:JPS -gyre:KR:JR -gyri:KR:JR -gyro:KR:JR -gyve:KF:JF -haaf:HF:HF -haar:HR:HR -habu:HP:HP -hack:HK:HK -hade:HT:HT -hadj:HTJ:HT -haec:HK:HK -haem:HM:HM -haft:HFT:HFT -hags:HKS:HKS -haik:HK:HK -hail:HL:HL -hair:HR:HR -hajj:HJ:HJ -haka:HK:HK -hake:HK:HK -hale:HL:HL -half:HLF:HLF -hall:HL:HL -halm:HLM:HLM -halo:HL:HL -halt:HLT:HLT -hame:HM:HM -hamm:HM:HM -hams:HMS:HMS -hand:HNT:HNT -hang:HNK:HNK -hank:HNK:HNK -hard:HRT:HRT -hare:HR:HR -hark:HRK:HRK -harl:HRL:HRL -harm:HRM:HRM -harp:HRP:HRP -hart:HRT:HRT -hash:HX:HX -hasp:HSP:HSP -hast:HST:HST -hate:HT:HT -hath:H0:HT -hats:HTS:HTS -haul:HL:HL -have:HF:HF -hawk:HK:HK -haws:HS:HS -hays:HS:HS -haze:HS:HS -hazy:HS:HS -head:HT:HT -heal:HL:HL -heap:HP:HP -hear:HR:HR -heat:HT:HT -heck:HK:HK -he'd:HT:HT -heed:HT:HT -heel:HL:HL -heft:HFT:HFT -heir:HR:HR -held:HLT:HLT -hele:HL:HL -hell:HL:HL -helm:HLM:HLM -help:HLP:HLP -heme:HM:HM -hemp:HMP:HMP -hems:HMS:HMS -hens:HNS:HNS -herb:HRP:HRP -herd:HRT:HRT -here:HR:HR -herl:HRL:HRL -herm:HRM:HRM -hern:HRN:HRN -hero:HR:HR -herr:HR:HR -hers:HRS:HRS -he's:HS:HS -heth:H0:HT -hewn:HN:HN -hews:HS:HS -hick:HK:HK -hide:HT:HT -hied:HT:HT -hies:HS:HS -hifi:HF:HF -high:H:H -hike:HK:HK -hila:HL:HL -hili:HL:HL -hill:HL:HL -hilt:HLT:HLT -hind:HNT:HNT -hint:HNT:HNT -hips:HPS:HPS -hire:HR:HR -hiss:HS:HS -hist:HST:HST -hits:HTS:HTS -hive:HF:HF -hoar:HR:HR -hoax:HKS:HKS -hobo:HP:HP -hobs:HPS:HPS -hock:HK:HK -hods:HTS:HTS -hoed:HT:HT -hoer:HR:HR -hoes:HS:HS -hogs:HKS:HKS -hoik:HK:HK -hoke:HK:HK -hold:HLT:HLT -hole:HL:HL -holm:HLM:HLM -holt:HLT:HLT -holy:HL:HL -home:HM:HM -homo:HM:HM -homy:HM:HM -hone:HN:HN -hong:HNK:HNK -honk:HNK:HNK -hood:HT:HT -hoof:HF:HF -hook:HK:HK -hoop:HP:HP -hoot:HT:HT -hope:HP:HP -hopi:HP:HP -hops:HPS:HPS -hord:HRT:HRT -horm:HRM:HRM -horn:HRN:HRN -hors:HRS:HRS -hose:HS:HS -hosp:HSP:HSP -host:HST:HST -hour:HR:HR -hove:HF:HF -howl:HL:HL -hubs:HPS:HPS -hued:HT:HT -hues:HS:HS -huff:HF:HF -huge:HJ:HK -hugh:H:H -hugo:HK:HK -hugs:HKS:HKS -hula:HL:HL -hulk:HLK:HLK -hull:HL:HL -hump:HMP:HMP -hums:HMS:HMS -hung:HNK:HNK -hunk:HNK:HNK -huns:HNS:HNS -hunt:HNT:HNT -hurl:HRL:HRL -hurt:HRT:HRT -hush:HX:HX -husk:HSK:HSK -huss:HS:HS -huts:HTS:HTS -hyde:HT:HT -hymn:HMN:HMN -hype:HP:HP -hypo:HP:HP -iaea:A:A -iamb:AMP:AMP -iata:AT:AT -ibex:APKS:APKS -ibid:APT:APT -ibis:APS:APS -ibos:APS:APS -icao:AK:AK -icbm:AKPM:AKPM -iced:AST:AST -ices:ASS:ASS -icky:AK:AK -icon:AKN:AKN -icsh:AKX:AKX -idea:AT:AT -idee:AT:AT -idem:ATM:ATM -ideo:AT:AT -ides:ATS:ATS -idle:ATL:ATL -idly:ATL:ATL -idol:ATL:ATL -ieee:A:A -iffy:AF:AF -ikon:AKN:AKN -ilea:AL:AL -ilex:ALKS:ALKS -ilia:AL:AL -ilks:ALKS:ALKS -i'll:AL:AL -ills:ALS:ALS -illy:AL:AL -imam:AMM:AMM -impf:AMPF:AMPF -imps:AMPS:AMPS -inca:ANK:ANK -inch:ANX:ANK -incr:ANKR:ANKR -indo:ANT:ANT -info:ANF:ANF -inks:ANKS:ANKS -inky:ANK:ANK -inns:ANS:ANS -insp:ANSP:ANSP -inst:ANST:ANST -intl:ANTL:ANTL -into:ANT:ANT -intr:ANTR:ANTR -ions:ANS:ANS -iota:AT:AT -ious:AS:AS -iowa:A:A -ipsa:APS:APS -ipse:APS:APS -ipso:APS:APS -iran:ARN:ARN -iraq:ARK:ARK -ires:ARS:ARS -iris:ARS:ARS -irks:ARKS:ARKS -iron:ARN:ARN -isbn:ASPN:ASPN -isis:ASS:ASS -isle:AL:AL -isms:ASMS:ASMS -ital:ATL:ATL -itch:AX:AX -it'd:ATT:ATT -item:ATM:ATM -iter:ATR:ATR -it's:ATS:ATS -itsy:ATS:ATS -itty:AT:AT -iuds:ATS:ATS -iura:AR:AR -i've:AF:AF -jabs:JPS:APS -jack:JK:AK -jade:JT:AT -jags:JKS:AKS -jail:JL:AL -jain:JN:AN -jake:JK:AK -jamb:JMP:AMP -jams:JMS:AMS -jane:JN:AN -jape:JP:AP -jars:JRS:ARS -jato:JT:AT -java:JF:AF -jaws:JS:AS -jays:JS:AS -jazz:JS:AS -jean:JN:AN -jeep:JP:AP -jeer:JR:AR -jell:JL:AL -jerk:JRK:ARK -jess:JS:AS -jest:JST:AST -jete:JT:AT -jets:JTS:ATS -jews:JS:AS -jibe:JP:AP -jibs:JPS:APS -jiff:JF:AF -jigs:JKS:AKS -jill:JL:AL -jilt:JLT:ALT -jima:JM:AM -jimp:JMP:AMP -jink:JNK:ANK -jinn:JN:AN -jinx:JNKS:ANKS -jive:JF:AF -jizz:JS:AS -joan:JN:AN -jobs:JPS:APS -jock:JK:AK -joel:JL:AL -joey:J:A -jogs:JKS:AKS -john:JN:AN -joie:J:A -join:JN:AN -joke:JK:AK -joky:JK:AK -jolt:JLT:ALT -jose:HS:HS -josh:JX:AX -joss:JS:AS -jota:JT:AT -jots:JTS:ATS -jour:JR:AR -jove:JF:AF -jowl:JL:AL -joys:JS:AS -juan:JN:AN -jube:JP:AP -jude:JT:AT -judo:JT:AT -judy:JT:AT -juga:JK:AK -jugs:JKS:AKS -juju:JJ:AJ -july:JL:AL -jump:JMP:AMP -june:JN:AN -junk:JNK:ANK -juno:JN:AN -jupe:JP:AP -jura:JR:AR -jure:JR:AR -juri:JR:AR -jury:JR:AR -just:JST:AST -jute:JT:AT -juts:JTS:ATS -kadi:KT:KT -kagu:KK:KK -kahn:KN:KN -kaka:KK:KK -kaki:KK:KK -kala:KL:KL -kale:KL:KL -kama:KM:KM -kame:KM:KM -kana:KN:KN -kans:KNS:KNS -kant:KNT:KNT -kaon:KN:KN -kara:KR:KR -kart:KRT:KRT -kata:KT:KT -kate:KT:KT -kats:KTS:KTS -kava:KF:KF -kayo:K:K -kcal:KKL:KKL -keas:KS:KS -keel:KL:KL -keen:KN:KN -keep:KP:KP -kegs:KKS:KKS -kelp:KLP:KLP -kelt:KLT:KLT -kemp:KMP:KMP -keno:KN:KN -kens:KNS:KNS -kent:KNT:KNT -kepi:KP:KP -kept:KPT:KPT -kerb:KRP:KRP -kerf:KRF:KRF -kern:KRN:KRN -kerr:KR:KR -kesh:KX:KX -keto:KT:KT -keys:KS:KS -khan:KN:KN -khat:KT:KT -kibe:KP:KP -kick:KK:KK -kids:KTS:KTS -kier:KR:KR -kiev:KF:KF -kill:KL:KL -kiln:KLN:KLN -kilo:KL:KL -kilt:KLT:KLT -kind:KNT:KNT -kine:KN:KN -king:KNK:KNK -kink:KNK:KNK -kino:KN:KN -kips:KPS:KPS -kirk:KRK:KRK -kish:KX:KX -kiss:KS:KS -kite:KT:KT -kith:K0:KT -kits:KTS:KTS -kiva:KF:KF -kiwi:K:K -klan:KLN:KLN -klei:KL:KL -klie:KL:KL -klux:KLKS:KLKS -knag:NK:NK -knap:NP:NP -knar:NR:NR -knee:N:N -knew:N:NF -knit:NT:NT -knob:NP:NP -knop:NP:NP -knot:NT:NT -know:N:NF -knox:NKS:NKS -koan:KN:KN -kobs:KPS:KPS -koch:KK:KK -koel:KL:KL -kohl:KL:KL -kola:KL:KL -kong:KNK:KNK -kook:KK:KK -kops:KPS:KPS -koso:KS:KS -koto:KT:KT -kris:KRS:KRS -kroo:KR:KR -kudu:KT:KT -kung:KNK:KNK -kurd:KRT:KRT -kuru:KR:KR -kwhr:KR:KR -kyat:KT:KT -kype:KP:KP -labs:LPS:LPS -lace:LS:LS -lack:LK:LK -lacy:LS:LS -lade:LT:LT -lads:LTS:LTS -lady:LT:LT -lags:LKS:LKS -laic:LK:LK -laid:LT:LT -lain:LN:LN -lair:LR:LR -lait:LT:LT -lake:LK:LK -lakh:LK:LK -laky:LK:LK -lama:LM:LM -lamb:LMP:LMP -lame:LM:LM -lamp:LMP:LMP -lams:LMS:LMS -land:LNT:LNT -lane:LN:LN -lang:LNK:LNK -lank:LNK:LNK -lans:LNS:LNS -laos:LS:LS -lapp:LP:LP -laps:LPS:LPS -lard:LRT:LRT -lark:LRK:LRK -lase:LS:LS -lash:LX:LX -lass:LS:LS -last:LST:LST -lata:LT:LT -late:LT:LT -lath:L0:LT -lats:LTS:LTS -laud:LT:LT -lava:LF:LF -lave:LF:LF -lawn:LN:LN -laws:LS:LS -lays:LS:LS -laze:LS:LS -lazy:LS:LS -lead:LT:LT -leaf:LF:LF -leak:LK:LK -lean:LN:LN -leap:LP:LP -leas:LS:LS -leat:LT:LT -leek:LK:LK -leer:LR:LR -lees:LS:LS -left:LFT:LFT -lege:LJ:LK -legs:LKS:LKS -lehr:LR:LR -leio:L:L -leis:LS:LS -leks:LKS:LKS -lema:LM:LM -lend:LNT:LNT -leno:LN:LN -lens:LNS:LNS -lent:LNT:LNT -lenz:LNS:LNS -leon:LN:LN -leos:LS:LS -lese:LS:LS -less:LS:LS -lest:LST:LST -lets:LTS:LTS -lett:LT:LT -levi:LF:LF -levy:LF:LF -lewd:LT:LT -liar:LR:LR -lias:LS:LS -libs:LPS:LPS -lice:LS:LS -lich:LX:LK -lick:LK:LK -lido:LT:LT -lids:LTS:LTS -lied:LT:LT -lief:LF:LF -lien:LN:LN -lies:LS:LS -lieu:L:L -life:LF:LF -lifo:LF:LF -lift:LFT:LFT -like:LK:LK -li'l:LL:LL -lilt:LLT:LLT -lily:LL:LL -lima:LM:LM -limb:LMP:LMP -lime:LM:LM -limn:LMN:LMN -limo:LM:LM -limp:LMP:LMP -limy:LM:LM -line:LN:LN -ling:LNK:LNK -link:LNK:LNK -lino:LN:LN -lint:LNT:LNT -liny:LN:LN -lion:LN:LN -lips:LPS:LPS -lira:LR:LR -lire:LR:LR -lisp:LSP:LSP -list:LST:LST -lite:LT:LT -lith:L0:LT -live:LF:LF -load:LT:LT -loaf:LF:LF -loam:LM:LM -loan:LN:LN -lobe:LP:LP -lobi:LP:LP -lobs:LPS:LPS -loch:LK:LK -loci:LS:LS -lock:LK:LK -loco:LK:LK -lode:LT:LT -loft:LFT:LFT -loge:LJ:LK -logo:LK:LK -logs:LKS:LKS -logy:LJ:LK -loin:LN:LN -loll:LL:LL -lone:LN:LN -long:LNK:LNK -look:LK:LK -loom:LM:LM -loon:LN:LN -loop:LP:LP -loos:LS:LS -loot:LT:LT -lope:LP:LP -lops:LPS:LPS -lord:LRT:LRT -lore:LR:LR -lorn:LRN:LRN -lory:LR:LR -lose:LS:LS -loss:LS:LS -lost:LST:LST -loth:L0:LT -lots:LTS:LTS -loud:LT:LT -lour:LR:LR -lout:LT:LT -love:LF:LF -lows:LS:LS -luau:L:L -lube:LP:LP -luck:LK:LK -lucy:LS:LS -ludo:LT:LT -luer:LR:LR -lues:LS:LS -luff:LF:LF -luge:LJ:LK -lugs:LKS:LKS -luke:LK:LK -lull:LL:LL -lump:LMP:LMP -lune:LN:LN -lung:LNK:LNK -lure:LR:LR -lurk:LRK:LRK -lush:LX:LX -lust:LST:LST -lute:LT:LT -lyes:LS:LS -lyme:LM:LM -lynx:LNKS:LNKS -lyon:LN:LN -lyra:LR:LR -lyre:LR:LR -lyse:LS:LS -maar:MR:MR -mace:MS:MS -mach:MK:MK -macy:MS:MS -made:MT:MT -mado:MT:MT -magi:MJ:MK -mags:MKS:MKS -maid:MT:MT -mail:ML:ML -maim:MM:MM -main:MN:MN -make:MK:MK -mako:MK:MK -mala:ML:ML -male:ML:ML -mali:ML:ML -mall:ML:ML -malm:MLM:MLM -malo:ML:ML -malt:MLT:MLT -mama:MM:MM -mana:MN:MN -mane:MN:MN -mann:MN:MN -mans:MNS:MNS -manu:MN:MN -manx:MNKS:MNKS -many:MN:MN -maps:MPS:MPS -mara:MR:MR -marc:MRK:MRK -mare:MR:MR -mark:MRK:MRK -marl:MRL:MRL -mars:MRS:MRS -mart:MRT:MRT -marx:MRKS:MRKS -mary:MR:MR -mash:MX:MX -mask:MSK:MSK -mass:MS:MS -mast:MST:MST -mate:MT:MT -math:M0:MT -mats:MTS:MTS -matt:MT:MT -maud:MT:MT -maul:ML:ML -maws:MS:MS -maxi:MKS:MKS -maya:M:M -mayo:M:M -mays:MS:MS -maze:MS:MS -mazy:MS:MS -mead:MT:MT -meal:ML:ML -mean:MN:MN -meas:MS:MS -meat:MT:MT -meed:MT:MT -meek:MK:MK -meet:MT:MT -mega:MK:MK -mein:MN:MN -meld:MLT:MLT -mell:ML:ML -melt:MLT:MLT -memo:MM:MM -mend:MNT:MNT -mens:MNS:MNS -menu:MN:MN -meow:M:MF -mere:MR:MR -mesa:MS:MS -mesh:MX:MX -mess:MS:MS -mete:MT:MT -mets:MTS:MTS -meum:MM:MM -mewl:ML:ML -mews:MS:MS -mhos:MS:MS -mica:MK:MK -mice:MS:MS -mich:MX:MK -midi:MT:MT -mien:MN:MN -miff:MF:MF -migs:MKS:MKS -mike:MK:MK -mild:MLT:MLT -mile:ML:ML -milk:MLK:MLK -mill:ML:ML -mils:MLS:MLS -milt:MLT:MLT -mime:MM:MM -mind:MNT:MNT -mine:MN:MN -ming:MNK:MNK -minh:MN:MN -mini:MN:MN -mink:MNK:MNK -minn:MN:MN -mins:MNS:MNS -mint:MNT:MNT -minx:MNKS:MNKS -mire:MR:MR -mirv:MRF:MRF -miry:MR:MR -misc:MSK:MSK -mise:MS:MS -miss:MS:MS -mist:MST:MST -mite:MT:MT -mitt:MT:MT -moan:MN:MN -moat:MT:MT -mobs:MPS:MPS -mock:MK:MK -mode:MT:MT -modi:MT:MT -modo:MT:MT -mods:MTS:MTS -mohs:MS:MS -moil:ML:ML -mold:MLT:MLT -mole:ML:ML -moll:ML:ML -molt:MLT:MLT -moms:MMS:MMS -monk:MNK:MNK -mono:MN:MN -mons:MNS:MNS -mont:MNT:MNT -mood:MT:MT -moon:MN:MN -moor:MR:MR -moos:MS:MS -moot:MT:MT -mope:MP:MP -mops:MPS:MPS -mopy:MP:MP -mora:MR:MR -more:MR:MR -morn:MRN:MRN -moro:MR:MR -mort:MRT:MRT -moss:MS:MS -most:MST:MST -mota:MT:MT -mote:MT:MT -moth:M0:MT -mots:MTS:MTS -motu:MT:MT -move:MF:MF -mown:MN:MN -mows:MS:MS -moxa:MKS:MKS -much:MK:MK -muck:MK:MK -muff:MF:MF -mugs:MKS:MKS -mule:ML:ML -mull:ML:ML -mums:MMS:MMS -muon:MN:MN -murk:MRK:MRK -muse:MS:MS -mush:MX:MX -musk:MSK:MSK -muss:MS:MS -must:MST:MST -mute:MT:MT -mutt:MT:MT -myna:MN:MN -myth:M0:MT -nabs:NPS:NPS -naff:NF:NF -nags:NKS:NKS -naif:NF:NF -nail:NL:NL -naja:NJ:NH -name:NM:NM -nana:NN:NN -nape:NP:NP -naps:NPS:NPS -narc:NRK:NRK -nard:NRT:NRT -nark:NRK:NRK -nary:NR:NR -nasa:NS:NS -nasi:NS:NS -nata:NT:NT -natl:NTL:NTL -nato:NT:NT -nave:NF:NF -navy:NF:NF -nays:NS:NS -naze:NS:NS -nazi:NS:NS -neap:NP:NP -near:NR:NR -neat:NT:NT -nebr:NPR:NPR -nebs:NPS:NPS -neck:NK:NK -need:NT:NT -neel:NL:NL -neon:NN:NN -nerd:NRT:NRT -nero:NR:NR -ness:NS:NS -nest:NST:NST -nets:NTS:NTS -nett:NT:NT -neve:NF:NF -nevi:NF:NF -newf:NF:NF -news:NS:NS -newt:NT:NT -next:NKST:NKST -nibs:NPS:NPS -nice:NS:NS -nick:NK:NK -nidi:NT:NT -nife:NF:NF -niff:NF:NF -nigh:N:N -nile:NL:NL -nina:NN:NN -nine:NN:NN -nips:NPS:NPS -nisi:NS:NS -nits:NTS:NTS -nixe:NKS:NKS -nixy:NKS:NKS -noah:N:N -nobs:NPS:NPS -nock:NK:NK -node:NT:NT -nodi:NT:NT -nods:NTS:NTS -noel:NL:NL -noes:NS:NS -nogs:NKS:NKS -noil:NL:NL -noli:NL:NL -nolo:NL:NL -noma:NM:NM -nome:NM:NM -noms:NMS:NMS -none:NN:NN -nons:NNS:NNS -nook:NK:NK -noon:NN:NN -nope:NP:NP -norm:NRM:NRM -nose:NS:NS -nosh:NX:NX -nosy:NS:NS -nota:NT:NT -note:NT:NT -noth:N0:NT -noun:NN:NN -nous:NS:NS -nova:NF:NF -novo:NF:NF -noxa:NKS:NKS -nubs:NPS:NPS -nuda:NT:NT -nude:NT:NT -nuke:NK:NK -null:NL:NL -numb:NM:NM -nunc:NNK:NNK -nuns:NNS:NNS -nurs:NRS:NRS -nuts:NTS:NTS -oafs:AFS:AFS -oaks:AKS:AKS -oars:ARS:ARS -oast:AST:AST -oath:A0:AT -oats:ATS:ATS -obex:APKS:APKS -obey:AP:AP -obis:APS:APS -obit:APT:APT -oboe:AP:AP -oche:AX:AK -octo:AKT:AKT -od'd:ATT:ATT -oddi:AT:AT -odds:ATS:ATS -odes:ATS:ATS -odin:ATN:ATN -odor:ATR:ATR -oems:AMS:AMS -o'er:AR:AR -offs:AFS:AFS -ogee:AJ:AK -ogle:AKL:AKL -ogre:AKR:AKR -ohio:AH:AH -ohms:AMS:AMS -oils:ALS:ALS -oily:AL:AL -oink:ANK:ANK -okay:AK:AK -ok'd:AKT:AKT -okey:AK:AK -okie:AK:AK -okla:AKL:AKL -okra:AKR:AKR -ok's:AKS:AKS -okta:AKT:AKT -olea:AL:AL -oleo:AL:AL -oles:ALS:ALS -olid:ALT:ALT -olio:AL:AL -oman:AMN:AMN -omen:AMN:AMN -omit:AMT:AMT -once:ANS:ANS -ones:ANS:ANS -only:ANL:ANL -onto:ANT:ANT -onus:ANS:ANS -onyx:ANKS:ANKS -oohs:AS:AS -oops:APS:APS -ooze:AS:AS -oozy:AS:AS -opah:AP:AP -opal:APL:APL -opec:APK:APK -open:APN:APN -opts:APTS:APTS -opus:APS:APS -orad:ART:ART -orae:AR:AR -oral:ARL:ARL -orbs:ARPS:ARPS -orem:ARM:ARM -ores:ARS:ARS -orgy:ARJ:ARK -orig:ARK:ARK -oris:ARS:ARS -orle:ARL:ARL -orly:ARL:ARL -orth:AR0:ART -oryx:ARKS:ARKS -oslo:ASL:ASL -ossa:AS:AS -otic:ATK:ATK -ouch:AK:AK -ours:ARS:ARS -oust:AST:AST -outs:ATS:ATS -ouzo:AS:AS -oval:AFL:AFL -oven:AFN:AFN -over:AFR:AFR -ovid:AFT:AFT -ovum:AFM:AFM -owed:AT:AT -owes:AS:AS -owls:ALS:ALS -owns:ANS:ANS -oxen:AKSN:AKSN -oyer:AR:AR -oyez:AS:AS -paca:PK:PK -pace:PS:PS -pack:PK:PK -pact:PKT:PKT -pads:PTS:PTS -page:PJ:PK -paid:PT:PT -pail:PL:PL -pain:PN:PN -pair:PR:PR -pais:P:PS -pale:PL:PL -pall:PL:PL -palm:PLM:PLM -palp:PLP:PLP -pals:PLS:PLS -palt:PLT:PLT -paly:PL:PL -pand:PNT:PNT -pane:PN:PN -pang:PNK:PNK -pans:PNS:PNS -pant:PNT:PNT -papa:PP:PP -para:PR:PR -pard:PRT:PRT -pare:PR:PR -pari:PR:PR -park:PRK:PRK -parr:PR:PR -pars:PRS:PRS -part:PRT:PRT -pase:PS:PS -paso:PS:PS -pass:PS:PS -past:PST:PST -pate:PT:PT -path:P0:PT -pats:PTS:PTS -paua:P:P -paul:PL:PL -pave:PF:PF -pawl:PL:PL -pawn:PN:PN -paws:PS:PS -pays:PS:PS -peak:PK:PK -peal:PL:PL -pean:PN:PN -pear:PR:PR -peas:PS:PS -peat:PT:PT -peck:PK:PK -pede:PT:PT -peed:PT:PT -peek:PK:PK -peel:PL:PL -peen:PN:PN -peep:PP:PP -peer:PR:PR -pees:PS:PS -pegs:PKS:PKS -peip:PP:PP -peke:PK:PK -pele:PL:PL -pelf:PLF:PLF -pell:PL:PL -pelt:PLT:PLT -pend:PNT:PNT -penh:PN:PN -penn:PN:PN -pens:PNS:PNS -pent:PNT:PNT -peon:PN:PN -pepo:PP:PP -peps:PPS:PPS -pere:PR:PR -peri:PR:PR -perk:PRK:PRK -perm:PRM:PRM -pert:PRT:PRT -peru:PR:PR -peso:PS:PS -pest:PST:PST -pete:PT:PT -pets:PTS:PTS -pews:PS:PS -phew:F:FF -phil:FL:FL -phon:FN:FN -phot:FT:FT -phut:FT:FT -phys:FS:FS -pial:PL:PL -pian:PN:PN -pica:PK:PK -pick:PK:PK -pics:PKS:PKS -pict:PKT:PKT -pied:PT:PT -pier:P:PR -pies:PS:PS -pigs:PKS:PKS -pika:PK:PK -pike:PK:PK -pile:PL:PL -pili:PL:PL -pill:PL:PL -pimp:PMP:PMP -pina:PN:PN -pine:PN:PN -ping:PNK:PNK -pink:PNK:PNK -pins:PNS:PNS -pint:PNT:PNT -piny:PN:PN -pion:PN:PN -pipe:PP:PP -pips:PPS:PPS -pisa:PS:PS -pise:PS:PS -pish:PX:PX -piss:PS:PS -pith:P0:PT -pits:PTS:PTS -pity:PT:PT -pius:PS:PS -pixy:PKS:PKS -pkwy:PK:PK -plan:PLN:PLN -plat:PLT:PLT -play:PL:PL -plea:PL:PL -pleb:PLP:PLP -pled:PLT:PLT -plie:PL:PL -plod:PLT:PLT -plop:PLP:PLP -plot:PLT:PLT -plow:PL:PLF -ploy:PL:PL -plug:PLK:PLK -plum:PLM:PLM -plus:PLS:PLS -pock:PK:PK -poco:PK:PK -pods:PTS:PTS -poem:PM:PM -poet:PT:PT -pogo:PK:PK -poke:PK:PK -poky:PK:PK -pole:PL:PL -polk:PLK:PLK -poll:PL:PL -polo:PL:PL -pols:PLS:PLS -poly:PL:PL -pome:PM:PM -pomp:PMP:PMP -pond:PNT:PNT -pone:PN:PN -pong:PNK:PNK -pons:PNS:PNS -pony:PN:PN -pood:PT:PT -pooh:P:P -pool:PL:PL -poop:PP:PP -poor:PR:PR -pope:PP:PP -pops:PPS:PPS -pore:PR:PR -pori:PR:PR -pork:PRK:PRK -porn:PRN:PRN -port:PRT:PRT -pose:PS:PS -posh:PX:PX -poss:PS:PS -post:PST:PST -posy:PS:PS -pots:PTS:PTS -pott:PT:PT -pour:PR:PR -pout:PT:PT -pows:PS:PS -poxy:PKS:PKS -pram:PRM:PRM -pray:PR:PR -prep:PRP:PRP -pres:PRS:PRS -prey:PR:PR -prig:PRK:PRK -prim:PRM:PRM -prix:PRKS:PRKS -prob:PRP:PRP -proc:PRK:PRK -prod:PRT:PRT -prof:PRF:PRF -prog:PRK:PRK -prom:PRM:PRM -pron:PRN:PRN -prop:PRP:PRP -pros:PRS:PRS -prot:PRT:PRT -prow:PR:PRF -prox:PRKS:PRKS -psst:ST:ST -ptas:PTS:PTS -pubs:PPS:PPS -puce:PS:PS -puck:PK:PK -pudu:PT:PT -puff:PF:PF -pugs:PKS:PKS -puis:PS:PS -puke:PK:PK -puku:PK:PK -pule:PL:PL -pull:PL:PL -pulp:PLP:PLP -puma:PM:PM -pump:PMP:PMP -puna:PN:PN -punk:PNK:PNK -puns:PNS:PNS -punt:PNT:PNT -puny:PN:PN -pupa:PP:PP -pups:PPS:PPS -pure:PR:PR -purl:PRL:PRL -purr:PR:PR -push:PX:PX -puss:PS:PS -puts:PTS:PTS -putt:PT:PT -pyla:PL:PL -pyre:PR:PR -quad:KT:KT -quae:K:K -quag:KK:KK -qual:KL:KL -quam:KM:KM -quat:KT:KT -quay:K:K -quem:KM:KM -quer:KR:KR -ques:KS:KS -quia:K:K -quid:KT:KT -quin:KN:KN -quip:KP:KP -quit:KT:KT -quiz:KS:KS -quod:KT:KT -quos:KS:KS -raaf:RF:RF -race:RS:RS -rack:RK:RK -racy:RS:RS -raft:RFT:RFT -raga:RK:RK -rage:RJ:RK -rags:RKS:RKS -raid:RT:RT -rail:RL:RL -rain:RN:RN -raja:RJ:RH -rake:RK:RK -rale:RL:RL -rami:RM:RM -ramp:RMP:RMP -rams:RMS:RMS -rand:RNT:RNT -rang:RNK:RNK -rani:RN:RN -rank:RNK:RNK -rant:RNT:RNT -rape:RP:RP -raps:RPS:RPS -rapt:RPT:RPT -rare:RR:RR -rase:RS:RS -rash:RX:RX -rasp:RSP:RSP -rata:RT:RT -rate:RT:RT -rats:RTS:RTS -rave:RF:RF -rays:RS:RS -raze:RS:RS -razz:RS:RS -rbis:RPS:RPS -rcmp:RKMP:RKMP -rcpt:RKPT:RKPT -read:RT:RT -real:RL:RL -ream:RM:RM -reap:RP:RP -rear:RR:RR -rebs:RPS:RPS -recd:RKT:RKT -reck:RK:RK -rect:RKT:RKT -redd:RT:RT -redo:RT:RT -reds:RTS:RTS -reed:RT:RT -reef:RF:RF -reek:RK:RK -reel:RL:RL -refs:RFS:RFS -reil:RL:RL -rein:RN:RN -reit:RT:RT -rely:RL:RL -rems:RMS:RMS -rend:RNT:RNT -rene:RN:RN -reno:RN:RN -rent:RNT:RNT -repp:RP:RP -reps:RPS:RPS -reqd:RKT:RKT -resp:RSP:RSP -rest:RST:RST -retd:RT:RT -rete:RT:RT -rety:RT:RT -reus:RS:RS -revs:RFS:RFS -reye:R:R -rhea:R:R -rhus:RS:RS -rial:RL:RL -rias:RS:RS -ribs:RPS:RPS -rica:RK:RK -rice:RS:RS -rich:RX:RK -rick:RK:RK -rico:RK:RK -ride:RT:RT -rids:RTS:RTS -riel:RL:RL -rife:RF:RF -riff:RF:RF -rift:RFT:RFT -rigs:RKS:RKS -rile:RL:RL -rill:RL:RL -rima:RM:RM -rime:RM:RM -rims:RMS:RMS -rimu:RM:RM -rimy:RM:RM -rind:RNT:RNT -ring:RNK:RNK -rink:RNK:RNK -riot:RT:RT -ripe:RP:RP -rips:RPS:RPS -rise:RS:RS -risk:RSK:RSK -rite:RT:RT -rive:RF:RF -road:RT:RT -roam:RM:RM -roan:RN:RN -roar:RR:RR -robe:RP:RP -robs:RPS:RPS -rock:RK:RK -rode:RT:RT -rods:RTS:RTS -roed:RT:RT -roes:RS:RS -roil:RL:RL -role:RL:RL -roll:RL:RL -rome:RM:RM -romp:RMP:RMP -roms:RMS:RMS -rood:RT:RT -roof:RF:RF -rook:RK:RK -room:RM:RM -roos:RS:RS -root:RT:RT -rope:RP:RP -ropm:RPM:RPM -ropy:RP:RP -rosa:RS:RS -rose:RS:RS -rosh:RX:RX -ross:RS:RS -rosy:RS:RS -rota:RT:RT -rotc:RTK:RTK -rote:RT:RT -rotl:RTL:RTL -rots:RTS:RTS -roue:R:R -roup:RP:RP -rous:RS:RS -rout:RT:RT -roux:R:R -rove:RF:RF -rows:RS:RS -rpcs:RPKS:RPKS -rspb:RSP:RSP -rspv:RSPF:RSPF -rsvp:RSFP:RSFP -rtls:RTLS:RTLS -rtpm:RTPM:RTPM -rtse:RTS:RTS -rtus:RTS:RTS -rube:RP:RP -rubs:RPS:RPS -ruby:RP:RP -ruck:RK:RK -rudd:RT:RT -rude:RT:RT -rued:RT:RT -ruer:RR:RR -rues:RS:RS -ruff:RF:RF -ruga:RK:RK -rugs:RKS:RKS -ruhr:RR:RR -ruin:RN:RN -rule:RL:RL -rump:RMP:RMP -rums:RMS:RMS -rune:RN:RN -rung:RNK:RNK -runs:RNS:RNS -runt:RNT:RNT -ruse:RS:RS -rush:RX:RX -rusk:RSK:RSK -rust:RST:RST -ruth:R0:RT -ruts:RTS:RTS -ryas:RS:RS -ryes:RS:RS -ryot:RT:RT -sack:SK:SK -sacs:SKS:SKS -safe:SF:SF -saga:SK:SK -sage:SJ:SK -sago:SK:SK -sags:SKS:SKS -said:ST:ST -sail:SL:SL -sake:SK:SK -saki:SK:SK -sale:SL:SL -salk:SLK:SLK -salt:SLT:SLT -same:SM:SM -sand:SNT:SNT -sane:SN:SN -sang:SNK:SNK -sank:SNK:SNK -sans:SNS:SNS -sanz:SNS:SNS -sapo:SP:SP -saps:SPS:SPS -sard:SRT:SRT -sari:SR:SR -sark:SRK:SRK -sash:SX:SX -sass:SS:SS -sate:ST:ST -sats:STS:STS -saul:SL:SL -save:SF:SF -sawn:SN:SN -saws:SS:SS -saxe:SKS:SKS -says:SS:SS -scab:SKP:SKP -scad:SKT:SKT -scag:SKK:SKK -scam:SKM:SKM -scan:SKN:SKN -scar:SKR:SKR -scat:SKT:SKT -scil:SL:SL -scop:SKP:SKP -scot:SKT:SKT -scow:SK:SKF -scry:SK:SK -scsi:SK:SK -scud:SKT:SKT -scum:SKM:SKM -scup:SKP:SKP -scut:SKT:SKT -seal:SL:SL -seam:SM:SM -sear:SR:SR -seas:SS:SS -seat:ST:ST -sech:SK:SK -seck:SK:SK -sect:SKT:SKT -seed:ST:ST -seek:SK:SK -seel:SL:SL -seem:SM:SM -seen:SN:SN -seep:SP:SP -seer:SR:SR -sees:SS:SS -seif:SF:SF -self:SLF:SLF -sell:SL:SL -seme:SM:SM -semi:SM:SM -send:SNT:SNT -sent:SNT:SNT -sept:SPT:SPT -sera:SR:SR -serb:SRP:SRP -sere:SR:SR -serf:SRF:SRF -serg:SRK:SRK -serv:SRF:SRF -sese:SS:SS -seta:ST:ST -sets:STS:STS -sewn:SN:SN -sews:SS:SS -sexe:SKS:SKS -sext:SKST:SKST -sexy:SKS:SKS -shad:XT:XT -shag:XK:XK -shah:X:X -sham:XM:XM -shan:XN:XN -shaw:X:XF -shay:X:X -shea:X:X -shed:XT:XT -sher:XR:XR -shes:XS:XS -shew:X:XF -shih:X:X -shim:XM:XM -shin:XN:XN -ship:XP:XP -shiv:XF:XF -shod:XT:XT -shoe:X:X -shoo:X:X -shop:XP:XP -shot:XT:XT -show:X:XF -shun:XN:XN -shut:XT:XT -sial:SL:XL -siam:SM:XM -sice:SS:SS -sick:SK:SK -side:ST:ST -sift:SFT:SFT -sigh:S:S -sign:SN:SKN -sikh:SK:SK -sild:SLT:SLT -silk:SLK:SLK -sill:SL:SL -silo:SL:SL -silt:SLT:SLT -sima:SM:SM -sine:SN:SN -sing:SNK:SNK -sinh:SN:SN -sink:SNK:SNK -sinn:SN:SN -sins:SNS:SNS -sips:SPS:SPS -sire:SR:SR -sirs:SRS:SRS -site:ST:ST -sits:STS:STS -situ:ST:ST -sitz:STS:STS -siwe:S:S -size:SS:SS -sizy:SS:SS -skag:SKK:SKK -skat:SKT:SKT -skeg:SKK:SKK -skep:SKP:SKP -skew:SK:SKF -skid:SKT:SKT -skim:SKM:SKM -skin:SKN:SKN -skip:SKP:SKP -skis:SKS:SKS -skit:SKT:SKT -skua:SK:SK -skye:SK:SK -slab:SLP:XLP -slad:SLT:XLT -slag:SLK:XLK -slam:SLM:XLM -slap:SLP:XLP -slat:SLT:XLT -slav:SLF:XLF -slaw:SL:XLF -slay:SL:XL -sled:SLT:XLT -slew:SL:XLF -slid:SLT:XLT -slim:SLM:XLM -slip:SLP:XLP -slit:SLT:XLT -slob:SLP:XLP -sloe:SL:XL -slog:SLK:XLK -slop:SLP:XLP -slot:SLT:XLT -slow:SL:XLF -slub:SLP:XLP -slue:SL:XL -slug:SLK:XLK -slum:SLM:XLM -slur:SLR:XLR -smew:SM:XMF -smog:SMK:XMK -smug:SMK:XMK -smut:SMT:XMT -snag:SNK:XNK -snap:SNP:XNP -snib:SNP:XNP -snip:SNP:XNP -snob:SNP:XNP -snot:SNT:XNT -snow:SN:XNF -snub:SNP:XNP -snug:SNK:XNK -soak:SK:SK -soap:SP:SP -soar:SR:SR -sobs:SPS:SPS -sock:SK:SK -soda:ST:ST -sods:STS:STS -sofa:SF:SF -soft:SFT:SFT -soho:SH:SH -soia:S:S -soil:SL:SL -soir:SR:SR -soit:ST:ST -soja:SJ:SH -soke:SK:SK -sola:SL:SL -sold:SLT:SLT -sole:SL:SL -soli:SL:SL -solo:SL:SL -soma:SM:SM -some:SM:SM -sone:SN:SN -song:SNK:SNK -sons:SNS:SNS -sook:SK:SK -sool:SL:SL -soon:SN:SN -soot:ST:ST -soph:SF:SF -sops:SPS:SPS -sorb:SRP:SRP -sore:SR:SR -sori:SR:SR -sort:SRT:SRT -soso:SS:SS -sots:STS:STS -soul:SL:SL -soup:SP:SP -sour:SR:SR -sown:SN:SN -sows:SS:SS -soya:S:S -spam:SPM:SPM -span:SPN:SPN -spar:SPR:SPR -spas:SPS:SPS -spat:SPT:SPT -spay:SP:SP -spca:SPK:SPK -spcc:SPK:SPK -spec:SPK:SPK -sped:SPT:SPT -spes:SPS:SPS -spew:SP:SPF -spin:SPN:SPN -spit:SPT:SPT -spiv:SPF:SPF -spot:SPT:SPT -spri:SPR:SPR -spry:SPR:SPR -spud:SPT:SPT -spue:SP:SP -spun:SPN:SPN -spur:SPR:SPR -sqls:SKLS:SKLS -ssts:STS:STS -stab:STP:STP -stag:STK:STK -stan:STN:STN -star:STR:STR -stat:STT:STT -stay:ST:ST -stem:STM:STM -sten:STN:STN -step:STP:STP -stet:STT:STT -stew:ST:STF -stir:STR:STR -stoa:ST:ST -stop:STP:STP -stow:ST:STF -stub:STP:STP -stud:STT:STT -stum:STM:STM -stun:STN:STN -stye:ST:ST -styx:STKS:STKS -subs:SPS:SPS -such:SK:SK -suck:SK:SK -sudd:ST:ST -suds:STS:STS -sued:ST:ST -suer:SR:SR -sues:SS:SS -suet:ST:ST -suey:S:S -suez:SS:SS -suit:ST:ST -sulk:SLK:SLK -sumo:SM:SM -sump:SMP:SMP -sums:SMS:SMS -sung:SNK:SNK -sunk:SNK:SNK -suns:SNS:SNS -sups:SPS:SPS -supt:SPT:SPT -sura:SR:SR -surd:SRT:SRT -sure:SR:SR -surf:SRF:SRF -suus:SS:SS -swab:SP:XP -swag:SK:XK -swam:SM:XM -swan:SN:XN -swap:SP:XP -swat:ST:XT -sway:S:X -swed:ST:XT -swig:SK:XK -swim:SM:XM -swob:SP:XP -swop:SP:XP -swot:ST:XT -swum:SM:XM -sync:SNK:SNK -syne:SN:SN -tabs:TPS:TPS -tabu:TP:TP -tach:TK:TK -tack:TK:TK -taco:TK:TK -tact:TKT:TKT -tads:TTS:TTS -taft:TFT:TFT -tags:TKS:TKS -tail:TL:TL -tain:TN:TN -taka:TK:TK -take:TK:TK -talc:TLK:TLK -tale:TL:TL -tali:TL:TL -talk:TLK:TLK -tall:TL:TL -tame:TM:TM -tamp:TMP:TMP -tams:TMS:TMS -tana:TN:TN -tang:TNK:TNK -tanh:TN:TN -tank:TNK:TNK -tans:TNS:TNS -tapa:TP:TP -tape:TP:TP -taps:TPS:TPS -tapu:TP:TP -tare:TR:TR -tarn:TRN:TRN -taro:TR:TR -tarp:TRP:TRP -tars:TRS:TRS -tart:TRT:TRT -task:TSK:TSK -tass:TS:TS -tats:TTS:TTS -taut:TT:TT -tawa:T:T -taws:TS:TS -taxa:TKS:TKS -taxi:TKS:TKS -taxy:TKS:TKS -tbsp:TPSP:TPSP -teak:TK:TK -teal:TL:TL -team:TM:TM -tear:TR:TR -teas:TS:TS -teat:TT:TT -tech:TK:TK -teds:TTS:TTS -teed:TT:TT -teem:TM:TM -teen:TN:TN -tees:TS:TS -tela:TL:TL -tell:TL:TL -temp:TMP:TMP -tend:TNT:TNT -tenn:TN:TN -tens:TNS:TNS -tent:TNT:TNT -tepa:TP:TP -tera:TR:TR -term:TRM:TRM -tern:TRN:TRN -terr:TR:TR -test:TST:TST -tete:TT:TT -text:TKST:TKST -tgif:TJF:TKF -thai:0:T -than:0N:TN -that:0T:TT -thaw:0:TF -thee:0:T -them:0M:TM -then:0N:TN -thew:0:TF -they:0:T -thin:0N:TN -this:0S:TS -tho':0:T -thon:0N:TN -thor:0R:TR -thou:0:T -thud:0T:TT -thug:0K:TK -thur:0R:TR -thus:0S:TS -tick:TK:TK -tics:TKS:TKS -tide:TT:TT -tidy:TT:TT -tied:TT:TT -tiel:TL:TL -tier:T:TR -ties:TS:TS -tiff:TF:TF -tiki:TK:TK -tile:TL:TL -till:TL:TL -tilt:TLT:TLT -time:TM:TM -tine:TN:TN -ting:TNK:TNK -tins:TNS:TNS -tint:TNT:TNT -tiny:TN:TN -tipi:TP:TP -tips:TPS:TPS -tire:TR:TR -tiro:TR:TR -titi:TT:TT -tits:TTS:TTS -tium:TM:TM -tnpk:TNPK:TNPK -toad:TT:TT -toby:TP:TP -toch:TK:TK -todo:TT:TT -tods:TTS:TTS -tody:TT:TT -toea:T:T -toed:TT:TT -toes:TS:TS -toff:TF:TF -toft:TFT:TFT -tofu:TF:TF -toga:TK:TK -togo:TK:TK -togs:TKS:TKS -toil:TL:TL -toke:TK:TK -tola:TL:TL -told:TLT:TLT -toll:TL:TL -tolu:TL:TL -tomb:TMP:TMP -tome:TM:TM -toms:TMS:TMS -tone:TN:TN -tong:TNK:TNK -tonk:TNK:TNK -tons:TNS:TNS -tony:TN:TN -took:TK:TK -tool:TL:TL -toot:TT:TT -tope:TP:TP -topi:TP:TP -topo:TP:TP -tops:TPS:TPS -torc:TRK:TRK -tore:TR:TR -tori:TR:TR -torn:TRN:TRN -torr:TR:TR -tors:TRS:TRS -tort:TRT:TRT -tory:TR:TR -tosh:TX:TX -toss:TS:TS -tote:TT:TT -toto:TT:TT -tots:TTS:TTS -tour:TR:TR -tout:TT:TT -town:TN:TN -tows:TS:TS -toys:TS:TS -trad:TRT:TRT -tram:TRM:TRM -trap:TRP:TRP -tray:TR:TR -tree:TR:TR -trek:TRK:TRK -tret:TRT:TRT -trew:TR:TRF -trey:TR:TR -trig:TRK:TRK -trim:TRM:TRM -trio:TR:TR -trip:TRP:TRP -trod:TRT:TRT -tron:TRN:TRN -trop:TRP:TRP -trot:TRT:TRT -trow:TR:TRF -troy:TR:TR -true:TR:TR -trug:TRK:TRK -tsar:TSR:TSR -tuan:TN:TN -tuba:TP:TP -tube:TP:TP -tubo:TP:TP -tubs:TPS:TPS -tuck:TK:TK -tues:TS:TS -tufa:TF:TF -tuff:TF:TF -tuft:TFT:TFT -tugs:TKS:TKS -tuis:TS:TS -tuna:TN:TN -tunc:TNK:TNK -tune:TN:TN -tung:TNK:TNK -turd:TRT:TRT -turf:TRF:TRF -turk:TRK:TRK -turn:TRN:TRN -tush:TX:TX -tusk:TSK:TSK -tutu:TT:TT -tuum:TM:TM -twan:TN:TN -twas:TS:TS -twee:T:T -twig:TK:TK -twin:TN:TN -twit:TT:TT -twos:TS:TS -tyke:TK:TK -type:TP:TP -typo:TP:TP -tyre:TR:TR -tyro:TR:TR -tzar:TSR:TSR -uart:ART:ART -ucla:AKL:AKL -udal:ATL:ATL -ufos:AFS:AFS -ugly:AKL:AKL -ulna:ALN:ALN -umbo:AMP:AMP -umps:AMPS:AMPS -unci:ANS:ANS -unco:ANK:ANK -undo:ANT:ANT -undy:ANT:ANT -unit:ANT:ANT -univ:ANF:ANF -unix:ANKS:ANKS -unto:ANT:ANT -unum:ANM:ANM -upon:APN:APN -ural:ARL:ARL -urbs:ARPS:ARPS -urdu:ART:ART -urea:AR:AR -urge:ARJ:ARK -uria:AR:AR -uric:ARK:ARK -urim:ARM:ARM -urns:ARNS:ARNS -ursa:ARS:ARS -usaf:ASF:ASF -uscg:ASK:ASK -usda:AST:AST -used:AST:AST -usee:AS:AS -user:ASR:ASR -uses:ASS:ASS -usmc:ASMK:ASMK -ussr:ASR:ASR -usus:ASS:ASS -utah:AT:AT -uvea:AF:AF -uxor:AKSR:AKSR -uzbe:ASP:ASP -vade:FT:FT -vagi:FJ:FK -vail:FL:FL -vain:FN:FN -vale:FL:FL -vamp:FMP:FMP -vane:FN:FN -vang:FNK:FNK -vans:FNS:FNS -vary:FR:FR -vasa:FS:FS -vase:FS:FS -vast:FST:FST -vats:FTS:FTS -veal:FL:FL -veda:FT:FT -veep:FP:FP -veer:FR:FR -veil:FL:FL -vein:FN:FN -vela:FL:FL -veld:FLT:FLT -vena:FN:FN -vend:FNT:FNT -venn:FN:FN -vent:FNT:FNT -vera:FR:FR -verb:FRP:FRP -veri:FR:FR -vert:FRT:FRT -very:FR:FR -vest:FST:FST -veta:FT:FT -veto:FT:FT -vets:FTS:FTS -viae:F:F -vial:FL:FL -vias:FS:FS -vice:FS:FS -vide:FT:FT -vidi:FT:FT -vied:FT:FT -vier:F:FR -vies:FS:FS -view:F:FF -viii:F:F -viis:FS:FS -vile:FL:FL -vine:FN:FN -viny:FN:FN -viol:FL:FL -vips:FPS:FPS -visa:FS:FS -vise:FS:FS -vita:FT:FT -viva:FF:FF -vive:FF:FF -vivo:FF:FF -vlsi:FLS:FLS -voce:FS:FS -voge:FJ:FK -void:FT:FT -voir:FR:FR -voix:FKS:FKS -vola:FL:FL -vole:FL:FL -volt:FLT:FLT -vote:FT:FT -vows:FS:FS -vult:FLT:FLT -wacs:AKS:FKS -wade:AT:FT -wadi:AT:FT -wads:ATS:FTS -waft:AFT:FFT -wage:AJ:FK -wags:AKS:FKS -waif:AF:FF -wail:AL:FL -wain:AN:FN -wait:AT:FT -wake:AK:FK -wale:AL:FL -walk:ALK:FLK -wall:AL:FL -walt:ALT:FLT -wand:ANT:FNT -wane:AN:FN -wang:ANK:FNK -want:ANT:FNT -ward:ART:FRT -ware:AR:FR -warm:ARM:FRM -warn:ARN:FRN -warp:ARP:FRP -wars:ARS:FRS -wart:ART:FRT -wary:AR:FR -wash:AX:FX -wasp:ASP:FSP -wats:ATS:FTS -watt:AT:FT -wave:AF:FF -wavy:AF:FF -waxy:AKS:FKS -ways:AS:FS -wctu:KT:KT -weak:AK:FK -weal:AL:FL -wean:AN:FN -wear:AR:FR -webs:APS:FPS -we'd:AT:FT -weds:ATS:FTS -weed:AT:FT -week:AK:FK -weep:AP:FP -weer:AR:FR -weft:AFT:FFT -weil:AL:FL -weir:AR:FR -weld:ALT:FLT -well:AL:FL -welt:ALT:FLT -wend:ANT:FNT -wens:ANS:FNS -went:ANT:FNT -wept:APT:FPT -were:AR:FR -wert:ART:FRT -west:AST:FST -wets:ATS:FTS -wham:AM:AM -what:AT:AT -when:AN:AN -whet:AT:AT -whew:A:AF -whey:A:A -whig:AK:AK -whim:AM:AM -whin:AN:AN -whip:AP:AP -whir:AR:AR -whit:AT:AT -whiz:AS:ATS -whoa:A:A -whom:AM:AM -whop:AP:AP -whys:AS:AS -wick:AK:FK -wide:AT:FT -wife:AF:FF -wigs:AKS:FKS -wild:ALT:FLT -wile:AL:FL -will:AL:FL -wilt:ALT:FLT -wily:AL:FL -wimp:AMP:FMP -wind:ANT:FNT -wine:AN:FN -wing:ANK:FNK -wink:ANK:FNK -wino:AN:FN -wins:ANS:FNS -winy:AN:FN -wipe:AP:FP -wire:AR:FR -wiry:AR:FR -wise:AS:FS -wish:AX:FX -wisp:ASP:FSP -with:A0:FT -wits:ATS:FTS -wive:AF:FF -wkly:KL:KL -woad:AT:FT -woes:AS:FS -woke:AK:FK -woks:AKS:FKS -wold:ALT:FLT -wolf:ALF:FLF -womb:AMP:FMP -wont:ANT:FNT -wood:AT:FT -woof:AF:FF -wool:AL:FL -woos:AS:FS -word:ART:FRT -wore:AR:FR -work:ARK:FRK -worm:ARM:FRM -worn:ARN:FRN -wort:ART:FRT -wove:AF:FF -wows:AS:FS -wrap:RP:RP -wren:RN:RN -writ:RT:RT -wrnt:RNT:RNT -wron:RN:RN -wych:AX:FK -wynd:ANT:FNT -wyom:AM:FM -xfig:SFK:SFK -xiii:S:S -xing:SNK:SNK -xlib:SLP:SLP -xmas:SMS:SMS -xray:SR:SR -xvii:SF:SF -xyst:SST:SST -yacc:AK:AK -yack:AK:AK -yair:AR:AR -yaks:AKS:AKS -yale:AL:AL -yams:AMS:AMS -yang:ANK:ANK -yank:ANK:ANK -yaps:APS:APS -yard:ART:ART -yarn:ARN:ARN -yawl:AL:AL -yawn:AN:AN -yawp:AP:AP -yaws:AS:AS -yeah:A:A -yean:AN:AN -year:AR:AR -yeas:AS:AS -yegg:AK:AK -yell:AL:AL -yelp:ALP:ALP -yens:ANS:ANS -yeti:AT:AT -yews:AS:AS -yilt:ALT:ALT -yips:APS:APS -ylem:ALM:ALM -ymca:AMK:AMK -yobs:APS:APS -yoga:AK:AK -yogi:AJ:AK -yoke:AK:AK -yolk:ALK:ALK -yore:AR:AR -york:ARK:ARK -youn:AN:AN -your:AR:AR -yowl:AL:AL -yuan:AN:AN -yuck:AK:AK -yule:AL:AL -yurt:ART:ART -ywca:AK:AK -ywha:A:A -zany:SN:SN -zaps:SPS:SPS -zeal:SL:SL -zebu:SP:SP -zein:SN:SN -zero:SR:SR -zest:SST:SST -zeta:ST:ST -zeus:SS:SS -zinc:SNK:SNK -zing:SNK:SNK -zinn:SN:SN -zion:SN:SN -zips:SPS:SPS -ziti:ST:ST -zoea:S:S -zoic:SK:SK -zoll:SL:SL -zona:SN:SN -zone:SN:SN -zonk:SNK:SNK -zoom:SM:SM -zoos:SS:SS -zulu:SL:SL -zuni:SN:SN -aaron:ARN:ARN -abaca:APK:APK -abaci:APS:APS -aback:APK:APK -abaft:APFT:APFT -abase:APS:APS -abash:APX:APX -abate:APT:APT -abbes:APS:APS -abbey:AP:AP -abbot:APT:APT -abeam:APM:APM -abegg:APK:APK -abets:APTS:APTS -abhor:APR:APR -abide:APT:APT -abies:APS:APS -abler:APLR:APLR -abner:APNR:APNR -abode:APT:APT -aborn:APRN:APRN -abort:APRT:APRT -about:APT:APT -above:APF:APF -abrus:APRS:APRS -abuse:APS:APS -abuts:APTS:APTS -abuzz:APS:APS -abwab:APP:APP -abysm:APSM:APSM -abyss:APS:APS -acari:AKR:AKR -accts:AKTS:AKTS -acerb:ASRP:ASRP -aceta:AST:AST -ached:AXT:AKT -aches:AXS:AKS -acids:ASTS:ASTS -acidy:AST:AST -acing:ASNK:ASNK -acini:ASN:ASN -ackee:AK:AK -acmes:AKMS:AKMS -acnae:AKN:AKN -acned:AKNT:AKNT -acnes:AKNS:AKNS -acoin:AKN:AKN -acorn:AKRN:AKRN -acral:AKRL:AKRL -acred:AKRT:AKRT -acres:AKRS:AKRS -acrid:AKRT:AKRT -acted:AKTT:AKTT -actin:AKTN:AKTN -actio:AKT:AKT -actor:AKTR:AKTR -actus:AKTS:AKTS -acute:AKT:AKT -adage:ATJ:ATK -adams:ATMS:ATMS -adapt:ATPT:ATPT -added:ATT:ATT -adder:ATR:ATR -addle:ATL:ATL -adeem:ATM:ATM -adeps:ATPS:ATPS -adept:ATPT:ATPT -adieu:AT:AT -adios:ATS:ATS -adlib:ATLP:ATLP -adman:ATMN:ATMN -admen:ATMN:ATMN -admin:ATMN:ATMN -admit:ATMT:ATMT -admix:ATMK:ATMK -adobe:ATP:ATP -adolf:ATLF:ATLF -adopt:ATPT:ATPT -adore:ATR:ATR -adorn:ATRN:ATRN -aduki:ATK:ATK -adult:ATLT:ATLT -adzes:ATSS:ATSS -aegis:AJS:AKS -aeons:ANS:ANS -aequo:AK:AK -aerie:AR:AR -aesop:ASP:ASP -aetas:ATS:ATS -affix:AFKS:AFKS -afire:AFR:AFR -afoot:AFT:AFT -afore:AFR:AFR -afoul:AFL:AFL -afros:AFRS:AFRS -after:AFTR:AFTR -again:AKN:AKN -agape:AKP:AKP -agate:AKT:AKT -agave:AKF:AKF -agent:AJNT:AKNT -agers:AKRS:AJRS -agger:AKR:AKR -aggie:AJ:AK -aggro:AKR:AKR -agile:AJL:AKL -aging:AJNK:AKNK -agios:AJS:AKS -agist:AJST:AKST -agley:AKL:AKL -aglow:AKL:AKLF -agnus:AKNS:ANS -agony:AKN:AKN -agree:AKR:AKR -agues:AKS:AKS -ahead:AHT:AHT -ahems:AHMS:AHMS -aided:ATT:ATT -aider:ATR:ATR -aides:ATS:ATS -ailed:ALT:ALT -aimed:AMT:AMT -aimer:AMR:AMR -ain't:ANT:ANT -ainus:ANS:ANS -aioli:AL:AL -aired:ART:ART -airer:ARR:ARR -aires:ARS:ARS -aisle:AL:AL -aitch:AX:AX -akela:AKL:AKL -akron:AKRN:AKRN -alack:ALK:ALK -alaes:ALS:ALS -alamo:ALM:ALM -alarm:ALRM:ALRM -alary:ALR:ALR -alate:ALT:ALT -albae:ALP:ALP -album:ALPM:ALPM -alden:ALTN:ALTN -alder:ALTR:ALTR -aldol:ALTL:ALTL -alees:ALS:ALS -alert:ALRT:ALRT -aleut:ALT:ALT -algae:ALK:ALK -algal:ALKL:ALKL -algas:ALKS:ALKS -algid:ALJT:ALKT -algin:ALJN:ALKN -algol:ALKL:ALKL -algor:ALKR:ALKR -alias:ALS:ALS -alibi:ALP:ALP -alice:ALS:ALS -alien:ALN:ALN -align:ALN:ALKN -alike:ALK:ALK -aline:ALN:ALN -alios:ALS:ALS -alive:ALF:ALF -alkyd:ALKT:ALKT -alkyl:ALKL:ALKL -allah:AL:AL -allan:ALN:ALN -allay:AL:AL -allen:ALN:ALN -alley:AL:AL -allod:ALT:ALT -allot:ALT:ALT -allow:AL:ALF -alloy:AL:AL -allyl:ALL:ALL -aloes:ALS:ALS -aloft:ALFT:ALFT -aloha:ALH:ALH -aloin:ALN:ALN -alone:ALN:ALN -along:ALNK:ALNK -aloof:ALF:ALF -aloud:ALT:ALT -alpha:ALF:ALF -altar:ALTR:ALTR -alter:ALTR:ALTR -altos:ALTS:ALTS -altum:ALTM:ALTM -alvei:ALF:ALF -amaas:AMS:AMS -amahs:AMS:AMS -amain:AMN:AMN -amass:AMS:AMS -amaze:AMS:AMS -amber:AMPR:AMPR -ambit:AMPT:AMPT -amble:AMPL:AMPL -ambon:AMPN:AMPN -ambos:AMPS:AMPS -ambry:AMPR:AMPR -ameba:AMP:AMP -ameli:AML:AML -amend:AMNT:AMNT -amens:AMNS:AMNS -amice:AMS:AMS -amici:AMS:AMS -amide:AMT:AMT -amigo:AMK:AMK -amine:AMN:AMN -amino:AMN:AMN -amish:AMX:AMX -amiss:AMS:AMS -amity:AMT:AMT -amman:AMN:AMN -amnia:AMN:AMN -amnii:AMN:AMN -among:AMNK:AMNK -amors:AMRS:AMRS -amove:AMF:AMF -ample:AMPL:AMPL -amply:AMPL:AMPL -ampul:AMPL:AMPL -amtex:AMTK:AMTK -amuck:AMK:AMK -amuse:AMS:AMS -andes:ANTS:ANTS -andre:ANTR:ANTR -anent:ANNT:ANNT -angel:ANJL:ANKL -anger:ANKR:ANJR -angle:ANKL:ANKL -anglo:ANKL:ANKL -angry:ANKR:ANKR -angst:ANKS:ANKS -angus:ANKS:ANKS -anile:ANL:ANL -anima:ANM:ANM -animo:ANM:ANM -anion:ANN:ANN -anise:ANS:ANS -anita:ANT:ANT -ankhs:ANKS:ANKS -ankle:ANKL:ANKL -annal:ANL:ANL -annas:ANS:ANS -annat:ANT:ANT -annex:ANKS:ANKS -annie:AN:AN -annoy:AN:AN -annul:ANL:ANL -annum:ANM:ANM -anode:ANT:ANT -anoia:AN:AN -anomy:ANM:ANM -ansae:ANS:ANS -antae:ANT:ANT -anted:ANTT:ANTT -antes:ANTS:ANTS -antic:ANTK:ANTK -antis:ANTS:ANTS -antra:ANTR:ANTR -antsy:ANTS:ANTS -anvil:ANFL:ANFL -anzac:ANSK:ANSK -aorta:ART:ART -apace:APS:APS -apart:APRT:APRT -apdus:APTS:APTS -apeak:APK:APK -apery:APR:APR -aphid:AFT:AFT -aphis:AFS:AFS -apian:APN:APN -aping:APNK:APNK -apish:APX:APX -apium:APM:APM -apnea:APN:APN -aport:APRT:APRT -appal:APL:APL -appel:APL:APL -apple:APL:APL -apply:APL:APL -appro:APR:APR -april:APRL:APRL -apron:APRN:APRN -apses:APSS:APSS -apsis:APSS:APSS -apter:APTR:APTR -aptly:APTL:APTL -aquae:AK:AK -arabs:ARPS:ARPS -araby:ARP:ARP -arbor:ARPR:ARPR -arced:ARST:ARST -arcos:ARKS:ARKS -arcus:ARKS:ARKS -ardor:ARTR:ARTR -areal:ARL:ARL -areas:ARS:ARS -areca:ARK:ARK -arena:ARN:ARN -arete:ART:ART -argal:ARKL:ARKL -argas:ARKS:ARKS -argil:ARJL:ARKL -argon:ARKN:ARKN -argos:ARKS:ARKS -argot:ARKT:ARKT -argue:ARK:ARK -argus:ARKS:ARKS -arian:ARN:ARN -arias:ARS:ARS -ariel:ARL:ARL -aries:ARS:ARS -arils:ARLS:ARLS -arise:ARS:ARS -armed:ARMT:ARMT -armer:ARMR:ARMR -armis:ARMS:ARMS -armor:ARMR:ARMR -aroma:ARM:ARM -arose:ARS:ARS -aroyl:ARL:ARL -arran:ARN:ARN -arras:ARS:ARS -array:AR:AR -arret:ART:ART -arrha:AR:AR -arris:ARS:ARS -arrow:AR:ARF -arson:ARSN:ARSN -arums:ARMS:ARMS -aryan:ARN:ARN -asana:ASN:ASN -ascii:AS:AS -ascot:ASKT:ASKT -ascus:ASKS:ASKS -asdic:ASTK:ASTK -ashen:AXN:AXN -asher:AXR:AXR -ashes:AXS:AXS -ashet:AXT:AXT -asian:ASN:AXN -aside:AST:AST -asked:ASKT:ASKT -asker:ASKR:ASKR -askew:ASK:ASKF -aspca:ASPK:ASPK -aspen:ASPN:ASPN -aspic:ASPK:ASPK -assam:ASM:ASM -assay:AS:AS -asses:ASS:ASS -asset:AST:AST -assoc:ASK:ASK -ass's:ASS:ASS -aster:ASTR:ASTR -astir:ASTR:ASTR -astro:ASTR:ASTR -ataxy:ATKS:ATKS -atilt:ATLT:ATLT -atlas:ATLS:ATLS -atoll:ATL:ATL -atoms:ATMS:ATMS -atone:ATN:ATN -atony:ATN:ATN -atopy:ATP:ATP -atria:ATR:ATR -atrip:ATRP:ATRP -attar:ATR:ATR -attic:ATK:ATK -audio:AT:AT -audit:ATT:ATT -auger:AKR:AJR -aught:AKT:AKT -augur:AKR:AKR -aulae:AL:AL -aulas:ALS:ALS -aunts:ANTS:ANTS -aunty:ANT:ANT -aurae:AR:AR -aural:ARL:ARL -auras:ARS:ARS -auric:ARK:ARK -aurin:ARN:ARN -auris:ARS:ARS -aurum:ARM:ARM -autos:ATS:ATS -autre:ATR:ATR -auxin:AKSN:AKSN -avail:AFL:AFL -avant:AFNT:AFNT -avast:AFST:AFST -avena:AFN:AFN -avens:AFNS:AFNS -avers:AFRS:AFRS -avert:AFRT:AFRT -avian:AFN:AFN -avion:AFN:AFN -avium:AFM:AFM -avoid:AFT:AFT -avows:AFS:AFS -awacs:AKS:AKS -await:AT:AT -awake:AK:AK -award:ART:ART -aware:AR:AR -awash:AX:AX -awful:AFL:AFL -awing:ANK:ANK -awned:ANT:ANT -awoke:AK:AK -axels:AKSL:AKSL -axers:AKSR:AKSR -axial:AKSL:AKSL -axile:AKSL:AKSL -axing:AKSN:AKSN -axiom:AKSM:AKSM -axite:AKST:AKST -axles:AKSL:AKSL -axone:AKSN:AKSN -axons:AKSN:AKSN -ayahs:AS:AS -ayers:ARS:ARS -azide:AST:AST -azoic:ASK:ASK -azole:ASL:ASL -azote:AST:AST -azoth:AS0:AST -aztec:ASTK:ASTK -azure:ASR:ASR -baaed:PT:PT -babas:PPS:PPS -babel:PPL:PPL -babes:PPS:PPS -baccy:PK:PK -backs:PKS:PKS -bacon:PKN:PKN -baddy:PT:PT -badge:PJ:PJ -badly:PTL:PTL -baffy:PF:PF -bagel:PJL:PKL -baggy:PK:PK -bahai:PH:PH -bahts:PTS:PTS -bails:PLS:PLS -bairn:PRN:PRN -baits:PTS:PTS -baize:PS:PS -baked:PKT:PKT -baker:PKR:PKR -bakes:PKS:PKS -balas:PLS:PLS -baled:PLT:PLT -baler:PLR:PLR -bales:PLS:PLS -balks:PLKS:PLKS -balky:PLK:PLK -balls:PLS:PLS -bally:PL:PL -balms:PLMS:PLMS -balmy:PLM:PLM -balsa:PLS:PLS -balun:PLN:PLN -banal:PNL:PNL -banco:PNK:PNK -bands:PNTS:PNTS -bandy:PNT:PNT -banes:PNS:PNS -bangs:PNKS:PNKS -banjo:PNJ:PNJ -banks:PNKS:PNKS -banns:PNS:PNS -banti:PNT:PNT -bantu:PNT:PNT -barbi:PRP:PRP -barbs:PRPS:PRPS -bards:PRTS:PRTS -bardy:PRT:PRT -bared:PRT:PRT -barer:PRR:PRR -bares:PRS:PRS -baret:PRT:PRT -barfs:PRFS:PRFS -barge:PRJ:PRK -baric:PRK:PRK -barit:PRT:PRT -barks:PRKS:PRKS -barmy:PRM:PRM -barns:PRNS:PRNS -baron:PRN:PRN -barre:PR:PR -barry:PR:PR -barye:PR:PR -basad:PST:PST -basal:PSL:PSL -based:PST:PST -basel:PSL:PSL -baser:PSR:PSR -bases:PSS:PSS -basic:PSK:PSK -basil:PSL:PSL -basin:PSN:PSN -basis:PSS:PSS -basks:PSKS:PSKS -bason:PSN:PSN -bassi:PS:PS -basso:PS:PS -baste:PST:PST -batch:PX:PX -bated:PTT:PTT -bates:PTS:PTS -bathe:P0:PT -baths:P0S:PTS -batik:PTK:PTK -baton:PTN:PTN -batty:PT:PT -batyl:PTL:PTL -bauds:PTS:PTS -baulk:PLK:PLK -bawds:PTS:PTS -bawdy:PT:PT -bawls:PLS:PLS -bayed:PT:PT -bayou:P:P -beach:PK:PK -beads:PTS:PTS -beady:PT:PT -beaks:PKS:PKS -beaky:PK:PK -beams:PMS:PMS -beamy:PM:PM -beano:PN:PN -beans:PNS:PNS -beard:PRT:PRT -bears:PRS:PRS -beast:PST:PST -beats:PTS:PTS -beaus:PS:PS -beaut:PT:PT -beaux:P:P -bedbu:PTP:PTP -bedew:PT:PTF -bedim:PTM:PTM -beech:PK:PK -beefs:PFS:PFS -beefy:PF:PF -beeps:PPS:PPS -beers:PRS:PRS -beets:PTS:PTS -befit:PFT:PFT -befog:PFK:PFK -began:PKN:PKN -beget:PKT:PKT -begin:PJN:PKN -begot:PKT:PKT -begum:PKM:PKM -begun:PKN:PKN -beige:PJ:PK -being:PNK:PNK -bejel:PJL:PJL -belah:PL:PL -belay:PL:PL -belch:PLX:PLK -belie:PL:PL -bella:PL:PL -belle:PL:PL -belli:PL:PL -bello:PL:PL -bells:PLS:PLS -belly:PL:PL -belon:PLN:PLN -below:PL:PLF -belts:PLTS:PLTS -bemas:PMS:PMS -bemba:PMP:PMP -bembo:PMP:PMP -bence:PNS:PNS -bench:PNX:PNK -bends:PNTS:PNTS -bendy:PNT:PNT -benne:PN:PN -benny:PN:PN -bents:PNTS:PNTS -beret:PRT:PRT -bergh:PRK:PRK -bergs:PRKS:PRKS -berks:PRKS:PRKS -berne:PRN:PRN -berry:PR:PR -berth:PR0:PRT -beryl:PRL:PRL -beset:PST:PST -besom:PSM:PSM -besot:PST:PST -bests:PSTS:PSTS -betas:PTS:PTS -betel:PTL:PTL -betes:PTS:PTS -betsy:PTS:PTS -betty:PT:PT -bevel:PFL:PFL -bezel:PSL:PSL -bhang:PNK:PNK -bialy:PL:PL -bible:PPL:PPL -bicep:PSP:PSP -biddy:PT:PT -bided:PTT:PTT -bides:PTS:PTS -bidet:PTT:PTT -biens:PNS:PNS -biers:PRS:PRS -biffs:PFS:PFS -bifid:PFT:PFT -bight:PT:PT -bigot:PKT:PKT -bigwi:PK:PK -bijou:PJ:PH -biked:PKT:PKT -biker:PKR:PKR -bikes:PKS:PKS -bikie:PK:PK -bilby:PLP:PLP -bilge:PLJ:PLK -bilks:PLKS:PLKS -bills:PLS:PLS -billy:PL:PL -bindi:PNT:PNT -binds:PNTS:PNTS -binet:PNT:PNT -binge:PNJ:PNK -bingo:PNK:PNK -bingy:PNK:PNJ -biome:PM:PM -biota:PT:PT -biped:PPT:PPT -bipod:PPT:PPT -birch:PRX:PRK -birds:PRTS:PRTS -birth:PR0:PRT -bison:PSN:PSN -bited:PTT:PTT -biter:PTR:PTR -bites:PTS:PTS -bitot:PTT:PTT -bitsy:PTS:PTS -bitts:PTS:PTS -bitty:PT:PT -bixin:PKSN:PKSN -blabs:PLPS:PLPS -black:PLK:PLK -blade:PLT:PLT -blahs:PLS:PLS -blain:PLN:PLN -blame:PLM:PLM -blanc:PLNK:PLNK -bland:PLNT:PLNT -blank:PLNK:PLNK -blare:PLR:PLR -blase:PLS:PLS -blast:PLST:PLST -blaud:PLT:PLT -blaze:PLS:PLS -bleak:PLK:PLK -blear:PLR:PLR -bleat:PLT:PLT -blebs:PLPS:PLPS -bleed:PLT:PLT -bleep:PLP:PLP -blend:PLNT:PLNT -blent:PLNT:PLNT -bless:PLS:PLS -blest:PLST:PLST -blimp:PLMP:PLMP -blind:PLNT:PLNT -blini:PLN:PLN -blink:PLNK:PLNK -blips:PLPS:PLPS -bliss:PLS:PLS -blitz:PLTS:PLTS -bloat:PLT:PLT -blobs:PLPS:PLPS -block:PLK:PLK -blocs:PLKS:PLKS -bloke:PLK:PLK -blond:PLNT:PLNT -blood:PLT:PLT -bloom:PLM:PLM -blots:PLTS:PLTS -blown:PLN:PLN -blows:PLS:PLS -blowy:PL:PL -blubs:PLPS:PLPS -blued:PLT:PLT -bluer:PLR:PLR -blues:PLS:PLS -bluey:PL:PL -bluff:PLF:PLF -blunt:PLNT:PLNT -blurb:PLRP:PLRP -blurs:PLRS:PLRS -blurt:PLRT:PLRT -blush:PLX:PLX -board:PRT:PRT -boars:PRS:PRS -boast:PST:PST -boats:PTS:PTS -bobby:PP:PP -bobsy:PPS:PPS -boche:PX:PK -boded:PTT:PTT -bodes:PTS:PTS -boeck:PK:PK -boers:PRS:PRS -boeuf:PF:PF -bogey:PJ:PK -boggy:PK:PK -bogie:PJ:PK -bogus:PKS:PKS -boils:PLS:PLS -boing:PNK:PNK -boise:PS:PS -bolas:PLS:PLS -boles:PLS:PLS -bolls:PLS:PLS -bolly:PL:PL -bolos:PLS:PLS -bolts:PLTS:PLTS -bolus:PLS:PLS -bombe:PMP:PMP -bombs:PMPS:PMPS -bonae:PN:PN -bonce:PNS:PNS -bonds:PNTS:PNTS -boned:PNT:PNT -boner:PNR:PNR -bones:PNS:PNS -bongo:PNK:PNK -bongs:PNKS:PNKS -bonis:PNS:PNS -bonne:PN:PN -bonny:PN:PN -bonos:PNS:PNS -bonum:PNM:PNM -bonus:PNS:PNS -bonze:PNS:PNS -booay:P:P -boobs:PPS:PPS -booby:PP:PP -booed:PT:PT -booer:PR:PR -books:PKS:PKS -booms:PMS:PMS -boong:PNK:PNK -boons:PNS:PNS -boors:PRS:PRS -boose:PS:PS -boost:PST:PST -booth:P0:PT -boots:PTS:PTS -booty:PT:PT -booze:PS:PS -boozy:PS:PS -borak:PRK:PRK -borax:PRKS:PRKS -bored:PRT:PRT -boree:PR:PR -borer:PRR:PRR -bores:PRS:PRS -boric:PRK:PRK -boris:PRS:PRS -borne:PRN:PRN -boron:PRN:PRN -borts:PRTS:PRTS -borty:PRT:PRT -bosie:PS:PS -bosky:PSK:PSK -bosom:PSM:PSM -boson:PSN:PSN -bossa:PS:PS -bossy:PS:PS -bosun:PSN:PSN -botch:PX:PX -bothy:P0:PT -bough:P:P -bouin:PN:PN -boule:PL:PL -bound:PNT:PNT -bourn:PRN:PRN -bouts:PTS:PTS -bovid:PFT:PFT -bowed:PT:PT -bowel:PL:PL -bowen:PN:PN -bower:PR:PR -bowie:P:P -bowls:PLS:PLS -boxed:PKST:PKST -boxer:PKSR:PKSR -boxes:PKSS:PKSS -boyle:PL:PL -brace:PRS:PRS -bract:PRKT:PRKT -brads:PRTS:PRTS -braes:PRS:PRS -brags:PRKS:PRKS -braid:PRT:PRT -brail:PRL:PRL -brain:PRN:PRN -brake:PRK:PRK -brand:PRNT:PRNT -brans:PRNS:PRNS -brash:PRX:PRX -brass:PRS:PRS -brats:PRTS:PRTS -brave:PRF:PRF -bravo:PRF:PRF -brawl:PRL:PRL -brawn:PRN:PRN -braxy:PRKS:PRKS -brays:PRS:PRS -braze:PRS:PRS -bread:PRT:PRT -break:PRK:PRK -bream:PRM:PRM -breed:PRT:PRT -breis:PRS:PRS -brent:PRNT:PRNT -breve:PRF:PRF -brevi:PRF:PRF -brews:PRS:PRS -brian:PRN:PRN -briar:PRR:PRR -bribe:PRP:PRP -brick:PRK:PRK -bride:PRT:PRT -brief:PRF:PRF -brier:PR:PRR -brigs:PRKS:PRKS -brill:PRL:PRL -brims:PRMS:PRMS -brine:PRN:PRN -bring:PRNK:PRNK -brink:PRNK:PRNK -briny:PRN:PRN -brisk:PRSK:PRSK -brits:PRTS:PRTS -broad:PRT:PRT -broca:PRK:PRK -broch:PRK:PRK -brock:PRK:PRK -broid:PRT:PRT -broil:PRL:PRL -broke:PRK:PRK -bromo:PRM:PRM -bronx:PRNK:PRNK -brood:PRT:PRT -brook:PRK:PRK -broom:PRM:PRM -broth:PR0:PRT -brown:PRN:PRN -brows:PRS:PRS -bruce:PRS:PRS -bruin:PRN:PRN -bruit:PRT:PRT -brunn:PRN:PRN -brunt:PRNT:PRNT -brush:PRX:PRX -brusk:PRSK:PRSK -brute:PRT:PRT -bryan:PRN:PRN -bucca:PK:PK -buchu:PX:PK -bucks:PKS:PKS -budda:PT:PT -buddy:PT:PT -budge:PJ:PJ -buffs:PFS:PFS -buffy:PF:PF -buggy:PK:PK -bugle:PKL:PKL -buick:PK:PK -build:PLT:PLT -built:PLT:PLT -bulbi:PLP:PLP -bulbs:PLPS:PLPS -bulge:PLJ:PLK -bulgy:PLK:PLJ -bulks:PLKS:PLKS -bulky:PLK:PLK -bulla:PL:PL -bulls:PLS:PLS -bully:PL:PL -bumbo:PMP:PMP -bumph:PMF:PMF -bumps:PMPS:PMPS -bumpy:PMP:PMP -bunch:PNX:PNK -bunco:PNK:PNK -bungs:PNKS:PNKS -bunko:PNK:PNK -bunks:PNKS:PNKS -bunny:PN:PN -bunts:PNTS:PNTS -bunya:PN:PN -buoys:PS:PS -buren:PRN:PRN -buret:PRT:PRT -burgh:PRK:PRK -burgs:PRKS:PRKS -burin:PRN:PRN -burke:PRK:PRK -burks:PRKS:PRKS -burls:PRLS:PRLS -burly:PRL:PRL -burma:PRM:PRM -burns:PRNS:PRNS -burnt:PRNT:PRNT -burps:PRPS:PRPS -burro:PR:PR -burrs:PRS:PRS -burry:PR:PR -bursa:PRS:PRS -burse:PRS:PRS -burst:PRST:PRST -busby:PSP:PSP -bused:PST:PST -buses:PSS:PSS -bushy:PX:PX -busks:PSKS:PSKS -busts:PSTS:PSTS -busty:PST:PST -butch:PX:PX -butte:PT:PT -butts:PTS:PTS -butty:PT:PT -butyl:PTL:PTL -buxom:PKSM:PKSM -buyer:PR:PR -buzzy:PS:PS -bwana:PN:PN -bylaw:PL:PLF -byres:PRS:PRS -byron:PRN:PRN -bytes:PTS:PTS -byway:P:P -cabal:KPL:KPL -cabby:KP:KP -caber:KPR:KPR -cabin:KPN:KPN -cable:KPL:KPL -cabot:KPT:KPT -cacao:KK:KK -cache:KX:KK -cacti:KKT:KKT -caddy:KT:KT -cades:KTS:KTS -cadet:KTT:KTT -cadge:KJ:KJ -cadit:KTT:KTT -cadre:KTR:KTR -caeca:KK:KK -cafes:KFS:KFS -caffs:KFS:KFS -caged:KJT:KKT -cagel:KJL:KKL -cager:KKR:KJR -cages:KJS:KKS -cagey:KJ:KK -cairn:KRN:KRN -cairo:KR:KR -cajun:KJN:KJN -caked:KKT:KKT -cakes:KKS:KKS -cakey:KK:KK -calif:KLF:KLF -calix:KLKS:KLKS -calks:KLKS:KLKS -calla:KL:KL -calli:KL:KL -calls:KLS:KLS -calms:KLMS:KLMS -calor:KLR:KLR -calve:KLF:KLF -calyx:KLKS:KLKS -cambo:KMP:KMP -camel:KML:KML -cameo:KM:KM -cames:KMS:KMS -campi:KMP:KMP -camps:KMPS:KMPS -campy:KMP:KMP -canal:KNL:KNL -candy:KNT:KNT -caned:KNT:KNT -caner:KNR:KNR -canes:KNS:KNS -canis:KNS:KNS -canna:KN:KN -canny:KN:KN -canoe:KN:KN -canon:KNN:KNN -canst:KNST:KNST -can't:KNT:KNT -canto:KNT:KNT -cants:KNTS:KNTS -capax:KPKS:KPKS -caped:KPT:KPT -caper:KPR:KPR -capes:KPS:KPS -capiz:KPS:KPS -capon:KPN:KPN -capos:KPS:KPS -cappy:KP:KP -caput:KPT:KPT -carat:KRT:KRT -carbo:KRP:KRP -cards:KRTS:KRTS -cared:KRT:KRT -carer:KRR:KRR -cares:KRS:KRS -caret:KRT:KRT -cargo:KRK:KRK -carib:KRP:KRP -carlo:KRL:KRL -carne:KRN:KRN -carny:KRN:KRN -carob:KRP:KRP -carol:KRL:KRL -carom:KRM:KRM -carpe:KRP:KRP -carpi:KRP:KRP -carps:KRPS:KRPS -carry:KR:KR -carte:KRT:KRT -carts:KRTS:KRTS -carum:KRM:KRM -carve:KRF:KRF -cased:KST:KST -casei:KS:KS -cases:KSS:KSS -casks:KSKS:KSKS -casta:KST:KST -caste:KST:KST -casts:KSTS:KSTS -casus:KSS:KSS -catch:KX:KX -cater:KTR:KTR -catha:K0:KT -cathy:K0:KT -catty:KT:KT -cauda:KT:KT -caulk:KLK:KLK -causa:KS:KS -cause:KS:KS -cavae:KF:KF -caval:KFL:KFL -caved:KFT:KFT -caver:KFR:KFR -caves:KFS:KFS -cavia:KF:KF -cavil:KFL:KFL -cavum:KFM:KFM -cawed:KT:KT -ccitt:XT:XT -cease:SS:SS -cecal:SKL:SKL -cecil:SSL:SSL -cecum:SKM:SKM -cedar:STR:STR -ceded:STT:STT -ceder:STR:STR -cedes:STS:STS -ceils:SLS:SLS -cella:SL:SL -cello:SL:SL -cells:SLS:SLS -celom:SLM:SLM -celts:SLTS:SLTS -cense:SNS:SNS -cento:SNT:SNT -cents:SNTS:SNTS -ceorl:SRL:SRL -cepit:SPT:SPT -cerci:SRS:SRS -cerea:SR:SR -cered:SRT:SRT -ceres:SRS:SRS -ceria:SR:SR -ceryl:SRL:SRL -c'est:KST:KST -cetes:STS:STS -cetyl:STL:STL -chace:XS:XS -chafe:XF:XF -chaff:XF:XF -chain:XN:XN -chair:XR:XR -chalk:XLK:XLK -champ:XMP:XMP -chanc:XNK:XNK -chant:XNT:XNT -chaos:XS:XS -chape:XP:XP -chaps:XPS:XPS -chard:XRT:XRT -charm:XRM:XRM -charr:XR:XR -chars:XRS:XRS -chart:XRT:XRT -chary:XR:XR -chase:XS:XS -chasm:XSM:XSM -chats:XTS:XTS -cheap:XP:XP -cheat:XT:XT -check:XK:XK -cheek:XK:XK -cheep:XP:XP -cheer:XR:XR -chefs:XFS:XFS -chela:XL:XL -chert:XRT:XRT -chess:XS:XS -chest:XST:XST -chews:XS:XS -chewy:X:X -chick:XK:XK -chico:XK:XK -chide:XT:XT -chief:XF:XF -chiff:XF:XF -child:XLT:XLT -chile:XL:XL -chili:XL:XL -chill:XL:XL -chime:XM:XM -chimp:XMP:XMP -china:XN:XN -chine:XN:XN -chink:XNK:XNK -chino:XN:XN -chins:XNS:XNS -chips:XPS:XPS -chirm:XRM:XRM -chirp:XRP:XRP -chirr:XR:XR -chits:XTS:XTS -chive:XF:XF -chivs:XFS:XFS -chivy:XF:XF -chloe:KL:KL -chock:XK:XK -choir:XR:XR -choke:XK:XK -choko:XK:XK -choky:XK:XK -chomp:XMP:XMP -chops:XPS:XPS -chord:KRT:KRT -chore:XR:XR -chose:XS:XS -choux:X:X -chows:XS:XS -chris:KRS:KRS -chubs:XPS:XPS -chuck:XK:XK -chuff:XF:XF -chugs:XKS:XKS -chump:XMP:XMP -chums:XMS:XMS -chunk:XNK:XNK -churl:XRL:XRL -churn:XRN:XRN -chute:XT:XT -chyle:XL:XL -chyli:XL:XL -chyme:KM:KM -cider:STR:STR -cigar:SKR:SKR -ciggy:SK:SK -cilia:SL:SL -cills:SLS:SLS -cimex:SMKS:SMKS -cinch:SNX:SNK -cines:SNS:SNS -circa:SRK:SRK -circs:SRKS:SRKS -cirri:SR:SR -cissy:SS:SS -cists:SSTS:SSTS -cited:STT:STT -citer:STR:STR -cites:STS:STS -civet:SFT:SFT -civic:SFK:SFK -civil:SFL:SFL -civvy:SF:SF -clack:KLK:KLK -clade:KLT:KLT -clads:KLTS:KLTS -claim:KLM:KLM -clair:KLR:KLR -clamp:KLMP:KLMP -clams:KLMS:KLMS -clang:KLNK:KLNK -clank:KLNK:KLNK -clans:KLNS:KLNS -claps:KLPS:KLPS -clare:KLR:KLR -clark:KLRK:KLRK -claro:KLR:KLR -clary:KLR:KLR -clash:KLX:KLX -clasp:KLSP:KLSP -class:KLS:KLS -claud:KLT:KLT -claus:KLS:KLS -clava:KLF:KLF -clavi:KLF:KLF -claws:KLS:KLS -clays:KLS:KLS -clean:KLN:KLN -clear:KLR:KLR -cleat:KLT:KLT -cleek:KLK:KLK -clefs:KLFS:KLFS -cleft:KLFT:KLFT -clegs:KLKS:KLKS -clerk:KLRK:KLRK -clews:KLS:KLS -click:KLK:KLK -cliff:KLF:KLF -climb:KLMP:KLMP -clime:KLM:KLM -cline:KLN:KLN -cling:KLNK:KLNK -clink:KLNK:KLNK -clint:KLNT:KLNT -clips:KLPS:KLPS -clive:KLF:KLF -clivi:KLF:KLF -cloak:KLK:KLK -clock:KLK:KLK -clods:KLTS:KLTS -clogs:KLKS:KLKS -cloke:KLK:KLK -clomp:KLMP:KLMP -clone:KLN:KLN -clops:KLPS:KLPS -close:KLS:KLS -cloth:KL0:KLT -clots:KLTS:KLTS -cloud:KLT:KLT -clout:KLT:KLT -clove:KLF:KLF -clown:KLN:KLN -cloys:KLS:KLS -cloze:KLS:KLS -clubs:KLPS:KLPS -cluck:KLK:KLK -clued:KLT:KLT -clues:KLS:KLS -clump:KLMP:KLMP -clung:KLNK:KLNK -clunk:KLNK:KLNK -coach:KK:KK -coact:KKT:KKT -coals:KLS:KLS -coapt:KPT:KPT -coast:KST:KST -coati:KT:KT -coats:KTS:KTS -coble:KPL:KPL -cobol:KPL:KPL -cobra:KPR:KPR -cocao:KK:KK -cocci:KX:KX -cocks:KKS:KKS -cocky:KK:KK -cocoa:KK:KK -cocos:KKS:KKS -codal:KTL:KTL -codas:KTS:KTS -codec:KTK:KTK -coded:KTT:KTT -coder:KTR:KTR -codes:KTS:KTS -codex:KTKS:KTKS -codon:KTN:KTN -coeds:KTS:KTS -cohen:KHN:KHN -coifs:KFS:KFS -coign:KN:KKN -coils:KLS:KLS -coins:KNS:KNS -coked:KKT:KKT -cokes:KKS:KKS -colas:KLS:KLS -colds:KLTS:KLTS -coley:KL:KL -colic:KLK:KLK -colin:KLN:KLN -colla:KL:KL -colog:KLK:KLK -colon:KLN:KLN -color:KLR:KLR -colte:KLT:KLT -colts:KLTS:KLTS -colza:KLS:KLS -comae:KM:KM -comal:KML:KML -comas:KMS:KMS -combe:KMP:KMP -combo:KMP:KMP -combs:KMPS:KMPS -comdg:KMTK:KMTK -comdr:KMTR:KMTR -comdt:KMT:KMT -comer:KMR:KMR -comes:KMS:KMS -comet:KMT:KMT -comfy:KMF:KMF -comic:KMK:KMK -comma:KM:KM -comme:KM:KM -comps:KMPS:KMPS -conch:KNX:KNK -condo:KNT:KNT -cones:KNS:KNS -coney:KN:KN -conga:KNK:KNK -congo:KNK:KNK -conic:KNK:KNK -conks:KNKS:KNKS -const:KNST:KNST -contd:KNT:KNT -conte:KNT:KNT -contr:KNTR:KNTR -conus:KNS:KNS -cooed:KT:KT -cooee:K:K -cooks:KKS:KKS -cooky:KK:KK -cools:KLS:KLS -cooly:KL:KL -coomb:KMP:KMP -coons:KNS:KNS -coops:KPS:KPS -coopt:KPT:KPT -coots:KTS:KTS -copal:KPL:KPL -coped:KPT:KPT -coper:KPR:KPR -copes:KPS:KPS -copra:KPR:KPR -copse:KPS:KPS -copts:KPTS:KPTS -coral:KRL:KRL -coram:KRM:KRM -cords:KRTS:KRTS -cored:KRT:KRT -corer:KRR:KRR -cores:KRS:KRS -corgi:KRJ:KRK -coria:KR:KR -corks:KRKS:KRKS -corky:KRK:KRK -corms:KRMS:KRMS -corns:KRNS:KRNS -cornu:KRN:KRN -corny:KRN:KRN -corol:KRL:KRL -corps:KRPS:KRPS -corti:KRT:KRT -cosec:KSK:KSK -coset:KST:KST -cosmo:KSM:KSM -costa:KST:KST -costs:KSTS:KSTS -cotan:KTN:KTN -cotes:KTS:KTS -cotta:KT:KT -couch:KK:KK -cough:KF:KF -could:KLT:KLT -count:KNT:KNT -coupe:KP:KP -coups:KPS:KPS -court:KRT:KRT -coved:KFT:KFT -coven:KFN:KFN -cover:KFR:KFR -coves:KFS:KFS -covet:KFT:KFT -covey:KF:KF -covin:KFN:KFN -cowan:KN:KN -cowed:KT:KT -cower:KR:KR -cowls:KLS:KLS -coxae:KKS:KKS -coxal:KKSL:KKSL -coyer:KR:KR -coyly:KL:KL -coypu:KP:KP -cozen:KSN:KSN -crabs:KRPS:KRPS -crack:KRK:KRK -craft:KRFT:KRFT -crags:KRKS:KRKS -crake:KRK:KRK -cramp:KRMP:KRMP -crams:KRMS:KRMS -crane:KRN:KRN -crank:KRNK:KRNK -crape:KRP:KRP -craps:KRPS:KRPS -crash:KRX:KRX -crass:KRS:KRS -crate:KRT:KRT -crave:KRF:KRF -crawl:KRL:KRL -craws:KRS:KRS -craze:KRS:KRS -crazy:KRS:KRS -creak:KRK:KRK -cream:KRM:KRM -credo:KRT:KRT -creed:KRT:KRT -creek:KRK:KRK -creel:KRL:KRL -creep:KRP:KRP -crees:KRS:KRS -creme:KRM:KRM -crena:KRN:KRN -crepe:KRP:KRP -crept:KRPT:KRPT -crepy:KRP:KRP -cress:KRS:KRS -crest:KRST:KRST -creta:KRT:KRT -crete:KRT:KRT -crews:KRS:KRS -cribs:KRPS:KRPS -crick:KRK:KRK -cried:KRT:KRT -crier:KR:KRR -cries:KRS:KRS -crime:KRM:KRM -crimp:KRMP:KRMP -crisp:KRSP:KRSP -crith:KR0:KRT -croak:KRK:KRK -croat:KRT:KRT -crock:KRK:KRK -croft:KRFT:KRFT -crohn:KRN:KRN -crone:KRN:KRN -cronk:KRNK:KRNK -crony:KRN:KRN -crook:KRK:KRK -croon:KRN:KRN -crops:KRPS:KRPS -crore:KRR:KRR -cross:KRS:KRS -croup:KRP:KRP -crowd:KRT:KRT -crown:KRN:KRN -crows:KRS:KRS -croze:KRS:KRS -cruck:KRK:KRK -crude:KRT:KRT -cruel:KRL:KRL -cruet:KRT:KRT -crumb:KRM:KRM -crump:KRMP:KRMP -crura:KRR:KRR -cruse:KRS:KRS -crush:KRX:KRX -crust:KRST:KRST -crypt:KRPT:KRPT -csiro:KSR:KSR -cuban:KPN:KPN -cubby:KP:KP -cubeb:KPP:KPP -cubed:KPT:KPT -cuber:KPR:KPR -cubes:KPS:KPS -cubic:KPK:KPK -cubit:KPT:KPT -cuddy:KT:KT -cuffs:KFS:KFS -cuing:KNK:KNK -culch:KLX:KLK -culet:KLT:KLT -culex:KLKS:KLKS -culls:KLS:KLS -culpa:KLP:KLP -cults:KLTS:KLTS -cumin:KMN:KMN -cunei:KN:KN -cunni:KN:KN -cupel:KPL:KPL -cupid:KPT:KPT -cuppa:KP:KP -cupsa:KPS:KPS -curbs:KRPS:KRPS -curds:KRTS:KRTS -curdy:KRT:KRT -cured:KRT:KRT -curer:KRR:KRR -cures:KRS:KRS -curet:KRT:KRT -curia:KR:KR -curie:KR:KR -curio:KR:KR -curls:KRLS:KRLS -curly:KRL:KRL -curry:KR:KR -curse:KRS:KRS -curst:KRST:KRST -cursu:KRS:KRS -curve:KRF:KRF -curvy:KRF:KRF -cusec:KSK:KSK -cushy:KX:KX -cusps:KSPS:KSPS -cuter:KTR:KTR -cutes:KTS:KTS -cutey:KT:KT -cutie:KT:KT -cutin:KTN:KTN -cutis:KTS:KTS -cutty:KT:KT -cutup:KTP:KTP -cybor:SPR:SPR -cycad:SKT:SKT -cycle:SKL:SKL -cyder:STR:STR -cylex:SLKS:SLKS -cymae:SM:SM -cymas:SMS:SMS -cymba:SMP:SMP -cymes:SMS:SMS -cymru:SMR:SMR -cymry:SMR:SMR -cynic:SNK:SNK -cyril:SRL:SRL -cysts:SSTS:SSTS -cyton:STN:STN -czars:SRS:XRS -czech:SK:XK -daces:TSS:TSS -dacha:TK:TK -dadda:TT:TT -daddy:TT:TT -dados:TTS:TTS -daffy:TF:TF -daggy:TK:TK -dagos:TKS:TKS -daily:TL:TL -dairy:TR:TR -daisy:TS:TS -dakin:TKN:TKN -dalai:TL:TL -dalek:TLK:TLK -dales:TLS:TLS -dally:TL:TL -dames:TMS:TMS -damna:TMN:TMN -damno:TMN:TMN -damns:TMNS:TMNS -damps:TMPS:TMPS -dance:TNS:TNS -dandy:TNT:TNT -danes:TNS:TNS -dante:TNT:TNT -daraf:TRF:TRF -darby:TRP:TRP -dards:TRTS:TRTS -dared:TRT:TRT -darer:TRR:TRR -dares:TRS:TRS -darns:TRNS:TRNS -darts:TRTS:TRTS -datal:TTL:TTL -dated:TTT:TTT -dater:TTR:TTR -dates:TTS:TTS -datum:TTM:TTM -daubs:TPS:TPS -dauby:TP:TP -daunt:TNT:TNT -david:TFT:TFT -davis:TFS:TFS -davit:TFT:TFT -dawns:TNS:TNS -dazed:TST:TST -dazes:TSS:TSS -deaco:TK:TK -deals:TLS:TLS -dealt:TLT:TLT -deans:TNS:TNS -dears:TRS:TRS -death:T0:TT -debar:TPR:TPR -debet:TPT:TPT -debit:TPT:TPT -debts:TPTS:TPTS -debug:TPK:TPK -debut:TPT:TPT -decal:TKL:TKL -decay:TK:TK -decem:TSM:TSM -decks:TKS:TKS -decor:TKR:TKR -decoy:TK:TK -decpc:TKPK:TKPK -decry:TKR:TKR -decus:TKS:TKS -dedit:TTT:TTT -deeds:TTS:TTS -deems:TMS:TMS -deeps:TPS:TPS -deers:TRS:TRS -defat:TFT:TFT -defer:TFR:TFR -defoe:TF:TF -defog:TFK:TFK -degas:TKS:TKS -deice:TS:TS -deify:TF:TF -deign:TN:TKN -deism:TSM:TSM -deist:TST:TST -deity:TT:TT -dekka:TK:TK -dekko:TK:TK -delay:TL:TL -deled:TLT:TLT -deles:TLS:TLS -delft:TLFT:TLFT -delhi:TL:TL -delis:TLS:TLS -delle:TL:TL -dells:TLS:TLS -delta:TLT:TLT -delve:TLF:TLF -demes:TMS:TMS -demit:TMT:TMT -demob:TMP:TMP -demon:TMN:TMN -demos:TMS:TMS -demur:TMR:TMR -denes:TNS:TNS -denim:TNM:TNM -denom:TNM:TNM -dense:TNS:TNS -dents:TNTS:TNTS -depot:TPT:TPT -depth:TP0:TPT -derby:TRP:TRP -deriv:TRF:TRF -derma:TRM:TRM -derry:TR:TR -desex:TSKS:TSKS -desks:TSKS:TSKS -deter:TTR:TTR -deuce:TS:TS -devas:TFS:TFS -devil:TFL:TFL -devon:TFN:TFN -devor:TFR:TFR -dewar:TR:TR -dhall:TL:TL -dhobi:TP:TP -dhole:TL:TL -dhoti:TT:TT -dhows:TS:TS -dials:TLS:TLS -diana:TN:TN -diane:TN:TN -diary:TR:TR -diazo:TS:TS -diced:TST:TST -dicer:TSR:TSR -dices:TSS:TSS -dicey:TS:TS -dicit:TST:TST -dicot:TKT:TKT -dicta:TKT:TKT -didos:TTS:TTS -didst:TTST:TTST -diego:TK:TK -diels:TLS:TLS -dietl:TTL:TTL -diets:TTS:TTS -diffs:TFS:TFS -dight:TT:TT -digit:TJT:TKT -dikes:TKS:TKS -dildo:TLT:TLT -dills:TLS:TLS -dilly:TL:TL -dimer:TMR:TMR -dimes:TMS:TMS -dimly:TML:TML -dinar:TNR:TNR -dined:TNT:TNT -diner:TNR:TNR -dines:TNS:TNS -dingo:TNK:TNK -dings:TNKS:TNKS -dingy:TNK:TNJ -dinky:TNK:TNK -dints:TNTS:TNTS -diode:TT:TT -diols:TLS:TLS -diose:TS:TS -dippy:TP:TP -dipus:TPS:TPS -dirac:TRK:TRK -direr:TRR:TRR -dirge:TRJ:TRK -dirks:TRKS:TRKS -dirts:TRTS:TRTS -dirty:TRT:TRT -disci:TS:TS -disco:TSK:TSK -discs:TSK:TSK -dishy:TX:TX -disks:TSKS:TSKS -disto:TST:TST -distr:TSTR:TSTR -ditch:TX:TX -ditto:TT:TT -ditty:TT:TT -divan:TFN:TFN -divas:TFS:TFS -dived:TFT:TFT -diver:TFR:TFR -dives:TFS:TFS -divot:TFT:TFT -divvy:TF:TF -dixie:TKS:TKS -dixit:TKST:TKST -dizzy:TS:TS -djinn:TJN:TJN -dlitt:TLT:TLT -dnase:TNS:TNS -dobby:TP:TP -docks:TKS:TKS -dodge:TJ:TJ -dodgy:TJ:TJ -dodos:TTS:TTS -doers:TRS:TRS -doest:TST:TST -doeth:T0:TT -doffs:TFS:TFS -doges:TJS:TKS -doggo:TK:TK -doggy:TK:TK -dogie:TJ:TK -dogle:TKL:TKL -dogma:TKM:TKM -doily:TL:TL -doing:TNK:TNK -dolby:TLP:TLP -dolce:TLS:TLS -doled:TLT:TLT -doles:TLS:TLS -dolls:TLS:TLS -dolly:TL:TL -dolor:TLR:TLR -dolts:TLTS:TLTS -dolus:TLS:TLS -domed:TMT:TMT -domes:TMS:TMS -donah:TN:TN -donee:TN:TN -dongs:TNKS:TNKS -donna:TN:TN -donor:TNR:TNR -don't:TNT:TNT -donut:TNT:TNT -dooms:TMS:TMS -doomy:TM:TM -doors:TRS:TRS -doped:TPT:TPT -doper:TPR:TPR -dopes:TPS:TPS -dopey:TP:TP -doric:TRK:TRK -doris:TRS:TRS -dorms:TRMS:TRMS -dormy:TRM:TRM -dorsa:TRS:TRS -dorsi:TRS:TRS -dosed:TST:TST -doser:TSR:TSR -doses:TSS:TSS -dotal:TTL:TTL -doted:TTT:TTT -doter:TTR:TTR -dotes:TTS:TTS -dotty:TT:TT -douay:T:T -doubt:TPT:TPT -dough:T:T -douse:TS:TS -dover:TFR:TFR -doves:TFS:TFS -dowdy:TT:TT -dowel:TL:TL -dower:TR:TR -downs:TNS:TNS -downy:TN:TN -dowry:TR:TR -dowse:TS:TS -doyen:TN:TN -doyly:TL:TL -dozed:TST:TST -dozen:TSN:TSN -dozer:TSR:TSR -dozes:TSS:TSS -dphil:TFL:TFL -drabs:TRPS:TRPS -draco:TRK:TRK -draff:TRF:TRF -draft:TRFT:TRFT -drags:TRKS:TRKS -drail:TRL:TRL -drain:TRN:TRN -drake:TRK:TRK -drama:TRM:TRM -drams:TRMS:TRMS -drank:TRNK:TRNK -drape:TRP:TRP -drawl:TRL:TRL -drawn:TRN:TRN -draws:TRS:TRS -drays:TRS:TRS -dread:TRT:TRT -dream:TRM:TRM -drear:TRR:TRR -dregs:TRKS:TRKS -dress:TRS:TRS -dribs:TRPS:TRPS -dried:TRT:TRT -drier:TR:TRR -dries:TRS:TRS -drift:TRFT:TRFT -drill:TRL:TRL -drily:TRL:TRL -drink:TRNK:TRNK -drips:TRPS:TRPS -dript:TRPT:TRPT -drive:TRF:TRF -droit:TRT:TRT -droll:TRL:TRL -drone:TRN:TRN -drool:TRL:TRL -droop:TRP:TRP -drops:TRPS:TRPS -dross:TRS:TRS -drove:TRF:TRF -drown:TRN:TRN -drubs:TRPS:TRPS -drugs:TRKS:TRKS -druid:TRT:TRT -drums:TRMS:TRMS -drunk:TRNK:TRNK -drupe:TRP:TRP -druse:TRS:TRS -dryad:TRT:TRT -dryer:TRR:TRR -dryly:TRL:TRL -duads:TTS:TTS -dubio:TP:TP -ducal:TKL:TKL -ducat:TKT:TKT -duces:TSS:TSS -duchy:TX:TK -ducks:TKS:TKS -ducky:TK:TK -ducts:TKTS:TKTS -duddy:TT:TT -dudes:TTS:TTS -duels:TLS:TLS -duely:TL:TL -duets:TTS:TTS -duffy:TF:TF -dukes:TKS:TKS -dulia:TL:TL -dulls:TLS:TLS -dully:TL:TL -dulon:TLN:TLN -dulse:TLS:TLS -dummy:TM:TM -dumps:TMPS:TMPS -dumpy:TMP:TMP -dunce:TNS:TNS -dunes:TNS:TNS -dungs:TNKS:TNKS -dungy:TNK:TNJ -dunks:TNKS:TNKS -dunny:TN:TN -duped:TPT:TPT -duper:TPR:TPR -dupes:TPS:TPS -duple:TPL:TPL -dural:TRL:TRL -durra:TR:TR -durst:TRST:TRST -durum:TRM:TRM -dusks:TSKS:TSKS -dusky:TSK:TSK -dusts:TSTS:TSTS -dusty:TST:TST -dutch:TX:TX -duvet:TFT:TFT -dwarf:TRF:TRF -dwell:TL:TL -dwelt:TLT:TLT -dyads:TTS:TTS -dyers:TRS:TRS -dying:TNK:TNK -dykes:TKS:TKS -dynel:TNL:TNL -dynes:TNS:TNS -eadem:ATM:ATM -eager:AKR:AJR -eagle:AKL:AKL -eagre:AKR:AKR -eared:ART:ART -earls:ARLS:ARLS -early:ARL:ARL -earns:ARNS:ARNS -earth:AR0:ART -earwi:AR:AR -eased:AST:AST -easel:ASL:ASL -easer:ASR:ASR -eases:ASS:ASS -eaten:ATN:ATN -eater:ATR:ATR -eaved:AFT:AFT -eaves:AFS:AFS -ebbed:APT:APT -ebony:APN:APN -echis:AXS:AKS -eclat:AKLT:AKLT -ecoid:AKT:AKT -ectad:AKTT:AKTT -ectal:AKTL:AKTL -edema:ATM:ATM -edgar:ATKR:ATKR -edged:AJT:AJT -edger:AJR:AJR -edges:AJS:AJS -edict:ATKT:ATKT -edify:ATF:ATF -edith:AT0:ATT -edits:ATTS:ATTS -educe:ATS:ATS -educt:ATKT:ATKT -eerie:AR:AR -egest:AJST:AKST -egged:AKT:AKT -egger:AKR:AKR -eggno:AKN:AKN -egret:AKRT:AKRT -egypt:AJPT:AKPT -eider:ATR:ATR -eight:AT:AT -eigne:AN:AKN -eject:AJKT:AJKT -eking:AKNK:AKNK -eland:ALNT:ALNT -elate:ALT:ALT -elbow:ALP:ALPF -elder:ALTR:ALTR -elect:ALKT:ALKT -elegy:ALJ:ALK -elemi:ALM:ALM -elfin:ALFN:ALFN -elide:ALT:ALT -elite:ALT:ALT -ellen:ALN:ALN -elmer:ALMR:ALMR -elope:ALP:ALP -elude:ALT:ALT -elute:ALT:ALT -elvan:ALFN:ALFN -elver:ALFR:ALFR -elves:ALFS:ALFS -elvis:ALFS:ALFS -email:AML:AML -embay:AMP:AMP -embed:AMPT:AMPT -ember:AMPR:AMPR -embow:AMP:AMPF -embus:AMPS:AMPS -emcee:AMS:AMS -emend:AMNT:AMNT -emery:AMR:AMR -emily:AML:AML -emirs:AMRS:AMRS -emits:AMTS:AMTS -emmer:AMR:AMR -emmet:AMT:AMT -emmys:AMS:AMS -emote:AMT:AMT -empty:AMPT:AMPT -enact:ANKT:ANKT -enate:ANT:ANT -ended:ANTT:ANTT -ender:ANTR:ANTR -endow:ANT:ANTF -endue:ANT:ANT -enema:ANM:ANM -enemy:ANM:ANM -enjoy:ANJ:ANJ -ennui:AN:AN -enols:ANLS:ANLS -enrol:ANRL:ANRL -ensue:ANS:ANS -entad:ANTT:ANTT -ental:ANTL:ANTL -enter:ANTR:ANTR -entia:ANX:ANX -entre:ANTR:ANTR -entry:ANTR:ANTR -enure:ANR:ANR -envoi:ANF:ANF -envoy:ANF:ANF -enzed:ANST:ANST -eosin:ASN:ASN -epact:APKT:APKT -epees:APS:APS -ephah:AF:AF -ephas:AFS:AFS -ephod:AFT:AFT -ephor:AFR:AFR -epics:APKS:APKS -epoch:APK:APK -epode:APT:APT -epoxy:APKS:APKS -epsom:APSM:APSM -equal:AKL:AKL -equip:AKP:AKP -erase:ARS:ARS -erect:ARKT:ARKT -ergon:ARKN:ARKN -ergot:ARKT:ARKT -erica:ARK:ARK -eries:ARS:ARS -ernes:ARNS:ARNS -erode:ART:ART -erose:ARS:ARS -erred:ART:ART -error:ARR:ARR -eruct:ARKT:ARKT -erupt:ARPT:ARPT -escro:ASK:ASK -esker:ASKR:ASKR -essay:AS:AS -essex:ASKS:ASKS -ester:ASTR:ASTR -estop:ASTP:ASTP -ethel:A0L:ATL -ether:A0R:ATR -ethic:A0K:ATK -ethos:A0S:ATS -ethyl:A0L:ATL -etude:ATT:ATT -etuis:ATS:ATS -etyma:ATM:ATM -euler:ALR:ALR -euros:ARS:ARS -evade:AFT:AFT -evans:AFNS:AFNS -evens:AFNS:AFNS -event:AFNT:AFNT -evert:AFRT:AFRT -every:AFR:AFR -evict:AFKT:AFKT -evils:AFLS:AFLS -evoke:AFK:AFK -ewers:ARS:ARS -ewing:ANK:ANK -exact:AKSK:AKSK -exalt:AKSL:AKSL -exams:AKSM:AKSM -excel:AKSL:AKSL -exeat:AKST:AKST -exert:AKSR:AKSR -exigi:AKSJ:AKSK -exile:AKSL:AKSL -exine:AKSN:AKSN -exist:AKSS:AKSS -exits:AKST:AKST -exons:AKSN:AKSN -expel:AKSP:AKSP -expos:AKSP:AKSP -expwy:AKSP:AKSP -extol:AKST:AKST -extra:AKST:AKST -exude:AKST:AKST -exult:AKSL:AKSL -exurb:AKSR:AKSR -exxon:AKSN:AKSN -eyers:ARS:ARS -eying:ANK:ANK -eyrie:AR:AR -eyrir:ARR:ARR -fable:FPL:FPL -fabry:FPR:FPR -faced:FST:FST -facer:FSR:FSR -faces:FSS:FSS -facet:FST:FST -facia:FS:FX -facie:FS:FX -facio:FS:FX -facta:FKT:FKT -facti:FKT:FKT -facto:FKT:FKT -facts:FKTS:FKTS -faddy:FT:FT -faded:FTT:FTT -fader:FTR:FTR -fades:FTS:FTS -fados:FTS:FTS -faery:FR:FR -faffs:FFS:FFS -fagot:FKT:FKT -fails:FLS:FLS -faint:FNT:FNT -faire:FR:FR -fairs:FRS:FRS -fairy:FR:FR -faith:F0:FT -faits:FTS:FTS -faked:FKT:FKT -faker:FKR:FKR -fakes:FKS:FKS -fakir:FKR:FKR -falls:FLS:FLS -false:FLS:FLS -falsi:FLS:FLS -famed:FMT:FMT -fames:FMS:FMS -fancy:FNS:FNS -fango:FNK:FNK -fangs:FNKS:FNKS -fanny:FN:FN -fanon:FNN:FNN -farad:FRT:FRT -farce:FRS:FRS -farci:FRS:FRS -farcy:FRS:FRS -fared:FRT:FRT -farer:FRR:FRR -fares:FRS:FRS -farls:FRLS:FRLS -farms:FRMS:FRMS -farsi:FRS:FRS -farth:FR0:FRT -fasts:FSTS:FSTS -fatal:FTL:FTL -fated:FTT:FTT -fates:FTS:FTS -fatly:FTL:FTL -fatso:FTS:FTS -fatty:FT:FT -fatui:FT:FT -fault:FLT:FLT -fauna:FN:FN -fauns:FNS:FNS -faust:FST:FST -fauve:FF:FF -favor:FFR:FFR -favus:FFS:FFS -fawns:FNS:FNS -faxed:FKST:FKST -faxes:FKSS:FKSS -fazed:FST:FST -fazes:FSS:FSS -fears:FRS:FRS -feast:FST:FST -feats:FTS:FTS -feaze:FS:FS -fecal:FKL:FKL -feces:FSS:FSS -fecit:FST:FST -feeds:FTS:FTS -feels:FLS:FLS -feign:FN:FKN -feing:FNK:FNK -feint:FNT:FNT -felix:FLKS:FLKS -fells:FLS:FLS -felly:FL:FL -felon:FLN:FLN -felos:FLS:FLS -felts:FLTS:FLTS -femes:FMS:FMS -femme:FM:FM -femur:FMR:FMR -fence:FNS:FNS -fends:FNTS:FNTS -fenny:FN:FN -feoff:FF:FF -ferae:FR:FR -feral:FRL:FRL -feria:FR:FR -fermi:FRM:FRM -ferns:FRNS:FRNS -ferny:FRN:FRN -ferri:FR:FR -ferry:FR:FR -fesse:FS:FS -fetal:FTL:FTL -fetch:FX:FX -feted:FTT:FTT -fetes:FTS:FTS -fetid:FTT:FTT -fetor:FTR:FTR -fetus:FTS:FTS -feuar:FR:FR -feuds:FTS:FTS -fever:FFR:FFR -fewer:FR:FR -fezes:FSS:FSS -fiats:FTS:FTS -fiber:FPR:FPR -fibre:FPR:FPR -fiche:FX:FK -fichu:FX:FK -ficin:FSN:FSN -ficus:FKS:FKS -fidei:FT:FT -fidel:FTL:FTL -fidem:FTM:FTM -fides:FTS:FTS -fiefs:FFS:FFS -field:FLT:FLT -fiend:FNT:FNT -fieri:FR:FR -fiery:FR:FR -fifer:FFR:FFR -fifes:FFS:FFS -fifth:FF0:FFT -fifty:FFT:FFT -figgy:FK:FK -fight:FT:FT -fijis:FJS:FJS -filar:FLR:FLR -filch:FLX:FLK -filed:FLT:FLT -filer:FLR:FLR -files:FLS:FLS -filet:FLT:FLT -filii:FL:FL -fills:FLS:FLS -filly:FL:FL -films:FLMS:FLMS -filmy:FLM:FLM -filth:FL0:FLT -filum:FLM:FLM -final:FNL:FNL -finch:FNX:FNK -finds:FNTS:FNTS -fined:FNT:FNT -finer:FNR:FNR -fines:FNS:FNS -finis:FNS:FNS -finks:FNKS:FNKS -finno:FN:FN -finns:FNS:FNS -finny:FN:FN -fiord:FRT:FRT -fired:FRT:FRT -firer:FRR:FRR -fires:FRS:FRS -firma:FRM:FRM -firms:FRMS:FRMS -firry:FR:FR -first:FRST:FRST -firth:FR0:FRT -fishy:FX:FX -fists:FSTS:FSTS -fitch:FX:FX -fitly:FTL:FTL -fiver:FFR:FFR -fives:FFS:FFS -fixed:FKST:FKST -fixer:FKSR:FKSR -fixes:FKSS:FKSS -fixup:FKSP:FKSP -fizzy:FS:FS -fjeld:FJLT:FJLT -fjord:FJRT:FJRT -flack:FLK:FLK -flags:FLKS:FLKS -flail:FLL:FLL -flair:FLR:FLR -flake:FLK:FLK -flaky:FLK:FLK -flame:FLM:FLM -flams:FLMS:FLMS -flamy:FLM:FLM -flank:FLNK:FLNK -flans:FLNS:FLNS -flaps:FLPS:FLPS -flare:FLR:FLR -flash:FLX:FLX -flask:FLSK:FLSK -flats:FLTS:FLTS -flatu:FLT:FLT -flava:FLF:FLF -flaws:FLS:FLS -flawy:FL:FL -flaxy:FLKS:FLKS -flays:FLS:FLS -fleam:FLM:FLM -fleas:FLS:FLS -fleck:FLK:FLK -fleer:FLR:FLR -flees:FLS:FLS -fleet:FLT:FLT -flesh:FLX:FLX -flews:FLS:FLS -flexo:FLKS:FLKS -flick:FLK:FLK -flied:FLT:FLT -flier:FL:FLR -flies:FLS:FLS -fling:FLNK:FLNK -flint:FLNT:FLNT -flips:FLPS:FLPS -flirt:FLRT:FLRT -flits:FLTS:FLTS -float:FLT:FLT -flocc:FLK:FLK -flock:FLK:FLK -flocs:FLKS:FLKS -floes:FLS:FLS -flogs:FLKS:FLKS -flong:FLNK:FLNK -flood:FLT:FLT -floor:FLR:FLR -flops:FLPS:FLPS -flora:FLR:FLR -flory:FLR:FLR -floss:FLS:FLS -flote:FLT:FLT -flour:FLR:FLR -flout:FLT:FLT -flown:FLN:FLN -flows:FLS:FLS -flubs:FLPS:FLPS -flues:FLS:FLS -fluff:FLF:FLF -fluid:FLT:FLT -fluke:FLK:FLK -fluky:FLK:FLK -flume:FLM:FLM -flump:FLMP:FLMP -flung:FLNK:FLNK -flunk:FLNK:FLNK -fluor:FLR:FLR -flush:FLX:FLX -flute:FLT:FLT -fluty:FLT:FLT -flyby:FLP:FLP -flyer:FLR:FLR -foals:FLS:FLS -foams:FMS:FMS -foamy:FM:FM -focal:FKL:FKL -focus:FKS:FKS -foehn:FN:FN -foeti:FT:FT -fogey:FJ:FK -foggy:FK:FK -foils:FLS:FLS -foist:FST:FST -folds:FLTS:FLTS -folia:FL:FL -folic:FLK:FLK -folie:FL:FL -folio:FL:FL -folks:FLKS:FLKS -folky:FLK:FLK -folly:FL:FL -fonda:FNT:FNT -fonds:FNTS:FNTS -fonts:FNTS:FNTS -foods:FTS:FTS -foody:FT:FT -fools:FLS:FLS -foots:FTS:FTS -foray:FR:FR -force:FRS:FRS -fords:FRTS:FRTS -forel:FRL:FRL -fores:FRS:FRS -forge:FRJ:FRK -forgo:FRK:FRK -forks:FRKS:FRKS -forma:FRM:FRM -forme:FRM:FRM -forms:FRMS:FRMS -forte:FRT:FRT -forth:FR0:FRT -forti:FRT:FRT -forts:FRTS:FRTS -forty:FRT:FRT -forum:FRM:FRM -fossa:FS:FS -fouls:FLS:FLS -found:FNT:FNT -fount:FNT:FNT -fours:FRS:FRS -fovea:FF:FF -fowls:FLS:FLS -foxed:FKST:FKST -foxes:FKSS:FKSS -foyer:FR:FR -frags:FRKS:FRKS -frail:FRL:FRL -frame:FRM:FRM -franc:FRNK:FRNK -frank:FRNK:FRNK -franz:FRNS:FRNS -fraps:FRPS:FRPS -frass:FRS:FRS -fraud:FRT:FRT -fraus:FRS:FRS -frays:FRS:FRS -frcvs:FRKF:FRKF -freck:FRK:FRK -freed:FRT:FRT -freer:FRR:FRR -frees:FRS:FRS -frena:FRN:FRN -freon:FRN:FRN -fresh:FRX:FRX -freta:FRT:FRT -frets:FRTS:FRTS -freud:FRT:FRT -friar:FRR:FRR -frics:FRKS:FRKS -fried:FRT:FRT -frier:FR:FRR -fries:FRS:FRS -frill:FRL:FRL -frisk:FRSK:FRSK -frits:FRTS:FRTS -fritt:FRT:FRT -fritz:FRTS:FRTS -frock:FRK:FRK -froes:FRS:FRS -frogs:FRKS:FRKS -frond:FRNT:FRNT -frons:FRNS:FRNS -front:FRNT:FRNT -frosh:FRX:FRX -frost:FRST:FRST -froth:FR0:FRT -frown:FRN:FRN -frows:FRS:FRS -froze:FRS:FRS -fruit:FRT:FRT -frump:FRMP:FRMP -fryer:FRR:FRR -fucus:FKS:FKS -fuddy:FT:FT -fudge:FJ:FJ -fuels:FLS:FLS -fugae:FK:FK -fugal:FKL:FKL -fuggy:FK:FK -fugit:FJT:FKT -fugue:FK:FK -fulls:FLS:FLS -fully:FL:FL -fumed:FMT:FMT -fumer:FMR:FMR -fumes:FMS:FMS -fumet:FMT:FMT -fundi:FNT:FNT -funds:FNTS:FNTS -fungi:FNJ:FNK -funic:FNK:FNK -funis:FNS:FNS -funks:FNKS:FNKS -funky:FNK:FNK -funny:FN:FN -furan:FRN:FRN -furls:FRLS:FRLS -furor:FRR:FRR -furry:FR:FR -furta:FRT:FRT -furze:FRS:FRS -furzy:FRS:FRS -fused:FST:FST -fusee:FS:FS -fusel:FSL:FSL -fuses:FSS:FSS -fusil:FSL:FSL -fussy:FS:FS -fusty:FST:FST -futon:FTN:FTN -fuzed:FST:FST -fuzes:FSS:FSS -fuzzy:FS:FS -gabby:KP:KP -gable:KPL:KPL -gabon:KPN:KPN -gadid:KTT:KTT -gadus:KTS:KTS -gaels:KLS:KLS -gaffe:KF:KF -gaffs:KFS:KFS -gaged:KJT:KKT -gager:KKR:KJR -gages:KJS:KKS -gaily:KL:KL -gains:KNS:KNS -gaits:KTS:KTS -gaius:KS:KS -galah:KL:KL -galas:KLS:KLS -galea:KL:KL -galee:KL:KL -gales:KLS:KLS -galla:KL:KL -galls:KLS:KLS -galop:KLP:KLP -galvo:KLF:KLF -gamba:KMP:KMP -gamed:KMT:KMT -gamer:KMR:KMR -games:KMS:KMS -gamey:KM:KM -gamic:KMK:KMK -gamin:KMN:KMN -gamma:KM:KM -gammy:KM:KM -gamut:KMT:KMT -gange:KNJ:KNK -gangs:KNKS:KNKS -gaols:KLS:KLS -gaped:KPT:KPT -gaper:KPR:KPR -gapes:KPS:KPS -gappy:KP:KP -garbo:KRP:KRP -garbs:KRPS:KRPS -garde:KRT:KRT -garth:KR0:KRT -gased:KST:KST -gases:KSS:KSS -gasps:KSPS:KSPS -gassy:KS:KS -gatch:KX:KX -gated:KTT:KTT -gates:KTS:KTS -gator:KTR:KTR -gauds:KTS:KTS -gaudy:KT:KT -gauge:KJ:KK -gauls:KLS:KLS -gault:KLT:KLT -gaunt:KNT:KNT -gaups:KPS:KPS -gaurs:KRS:KRS -gauss:KS:KS -gauze:KS:KS -gauzy:KS:KS -gavel:KFL:KFL -gawks:KKS:KKS -gawky:KK:KK -gawps:KPS:KPS -gayal:KL:KL -gayer:KR:KR -gayly:KL:KL -gazed:KST:KST -gazer:KSR:KSR -gazes:KSS:KSS -gdiff:KTF:KTF -geans:JNS:KNS -gears:JRS:KRS -gecko:JK:KK -geeks:JKS:KKS -geese:JS:KS -geest:JST:KST -gehri:JR:KR -gelds:KLTS:JLTS -gelid:KLT:JLT -gemma:JM:KM -gemmy:JM:KM -gemot:JMT:KMT -genae:JN:KN -genal:JNL:KNL -genes:JNS:KNS -genet:JNT:KNT -genic:JNK:KNK -genie:JN:KN -genii:JN:KN -genip:JNP:KNP -genoa:JN:KN -genom:JNM:KNM -genre:JNR:KNR -genro:JNR:KNR -gents:JNTS:KNTS -genua:JN:KN -genus:JNS:KNS -geode:JT:KT -geoid:JT:KT -gerah:KR:JR -germs:KRMS:JRMS -germy:KRM:JRM -gesso:KS:JS -geste:KST:JST -getup:KTP:KTP -ghana:KN:KN -ghats:KTS:KTS -ghaut:KT:KT -ghazi:KS:KS -ghees:KS:KS -ghost:KST:KST -ghoul:KL:KL -ghyll:KL:KL -giant:JNT:KNT -gibed:KPT:JPT -giber:KPR:JPR -gibes:KPS:JPS -gibli:KPL:JPL -gibus:KPS:JPS -giddy:JT:KT -gifts:JFTS:KFTS -gigot:JKT:KKT -gigue:JK:KK -gilds:KLTS:JLTS -gilet:KLT:JLT -gills:KLS:JLS -gilts:KLTS:JLTS -gimel:JML:KML -gimps:JMPS:KMPS -gimpy:JMP:KMP -gipon:JPN:KPN -gippo:JP:KP -gippy:JP:KP -gipsy:JPS:KPS -girds:JRTS:KRTS -girls:JRLS:KRLS -girly:JRL:KRL -girns:JRNS:KRNS -giron:JRN:KRN -giros:JRS:KRS -girth:JR0:KRT -girts:JRTS:KRTS -gists:JSTS:KSTS -given:JFN:KFN -giver:JFR:KFR -gives:JFS:KFS -gizmo:JSM:KSM -glace:KLS:KLS -glade:KLT:KLT -glads:KLTS:KLTS -glair:KLR:KLR -gland:KLNT:KLNT -glans:KLNS:KLNS -glare:KLR:KLR -glary:KLR:KLR -glass:KLS:KLS -glaze:KLS:KLS -glazy:KLS:KLS -gleam:KLM:KLM -glean:KLN:KLN -glebe:KLP:KLP -glede:KLT:KLT -glees:KLS:KLS -gleet:KLT:KLT -glens:KLNS:KLNS -glial:KLL:LL -glide:KLT:LT -glims:KLMS:LMS -glint:KLNT:LNT -glitz:KLTS:LTS -gloat:KLT:KLT -globe:KLP:KLP -globs:KLPS:KLPS -glogg:KLK:KLK -glome:KLM:KLM -glomi:KLM:KLM -gloom:KLM:KLM -glory:KLR:KLR -gloss:KLS:KLS -glove:KLF:KLF -glows:KLS:KLS -gloze:KLS:KLS -glued:KLT:KLT -gluer:KLR:KLR -glues:KLS:KLS -gluey:KL:KL -glume:KLM:KLM -gluon:KLN:KLN -gluts:KLTS:KLTS -glyph:KLF:KLF -gnarl:NRL:NRL -gnash:NX:NX -gnats:NTS:NTS -gnawn:NN:NN -gnaws:NS:NS -gnome:NM:NM -gnows:NS:NS -goads:KTS:KTS -goals:KLS:KLS -goats:KTS:KTS -goaty:KT:KT -gobos:KPS:KPS -godet:KTT:KTT -godly:KTL:KTL -goers:KRS:KRS -gofer:KFR:KFR -gogga:KK:KK -going:KNK:KNK -golds:KLTS:KLTS -golem:KLM:KLM -golfs:KLFS:KLFS -golgi:KLJ:KLK -golly:KL:KL -gonad:KNT:KNT -goner:KNR:KNR -gongs:KNKS:KNKS -gonia:KN:KN -gooch:KK:KK -goodo:KT:KT -goods:KTS:KTS -goody:KT:KT -gooey:K:K -goofs:KFS:KFS -goofy:KF:KF -gooks:KKS:KKS -gooly:KL:KL -goons:KNS:KNS -goose:KS:KS -goosy:KS:KS -gopak:KPK:KPK -goral:KRL:KRL -gored:KRT:KRT -gores:KRS:KRS -gorge:KRJ:KRK -gorki:KRK:KRK -gorse:KRS:KRS -gorsy:KRS:KRS -goths:K0S:KTS -gouda:KT:KT -gouge:KJ:KK -gourd:KRT:KRT -gouty:KT:KT -gowan:KN:KN -gower:KR:KR -gowks:KKS:KKS -gowns:KNS:KNS -goyim:KM:KM -grabs:KRPS:KRPS -grace:KRS:KRS -grade:KRT:KRT -grads:KRTS:KRTS -graft:KRFT:KRFT -grail:KRL:KRL -grain:KRN:KRN -graip:KRP:KRP -grama:KRM:KRM -grams:KRMS:KRMS -grana:KRN:KRN -grand:KRNT:KRNT -grant:KRNT:KRNT -grape:KRP:KRP -graph:KRF:KRF -grapy:KRP:KRP -grasp:KRSP:KRSP -grass:KRS:KRS -grata:KRT:KRT -grate:KRT:KRT -grato:KRT:KRT -grave:KRF:KRF -gravs:KRFS:KRFS -gravy:KRF:KRF -grays:KRS:KRS -graze:KRS:KRS -great:KRT:KRT -grebe:KRP:KRP -greco:KRK:KRK -greed:KRT:KRT -greek:KRK:KRK -green:KRN:KRN -greet:KRT:KRT -greta:KRT:KRT -greys:KRS:KRS -gride:KRT:KRT -grids:KRTS:KRTS -grief:KRF:KRF -griff:KRF:KRF -grift:KRFT:KRFT -grigs:KRKS:KRKS -grike:KRK:KRK -grill:KRL:KRL -grime:KRM:KRM -grimm:KRM:KRM -grimy:KRM:KRM -grind:KRNT:KRNT -grins:KRNS:KRNS -gripe:KRP:KRP -grips:KRPS:KRPS -gripy:KRP:KRP -grist:KRST:KRST -grith:KR0:KRT -grits:KRTS:KRTS -groan:KRN:KRN -groat:KRT:KRT -grogs:KRKS:KRKS -groin:KRN:KRN -groom:KRM:KRM -grope:KRP:KRP -gross:KRS:KRS -grosz:KRS:KRX -grots:KRTS:KRTS -group:KRP:KRP -grout:KRT:KRT -grove:KRF:KRF -growl:KRL:KRL -grown:KRN:KRN -grows:KRS:KRS -grubb:KRP:KRP -grubs:KRPS:KRPS -gruel:KRL:KRL -gruff:KRF:KRF -grume:KRM:KRM -grump:KRMP:KRMP -grunt:KRNT:KRNT -gryke:KRK:KRK -guaco:KK:KK -guano:KN:KN -guard:KRT:KRT -guava:KF:KF -guess:KS:KS -guest:KST:KST -guide:KT:KT -guild:KLT:KLT -guile:KL:KL -guilt:KLT:KLT -guise:KS:KS -gular:KLR:KLR -gulch:KLX:KLK -gules:KLS:KLS -gulfs:KLFS:KLFS -gulfy:KLF:KLF -gulls:KLS:KLS -gully:KL:KL -gulps:KLPS:KLPS -gulpy:KLP:KLP -gumbo:KMP:KMP -gumma:KM:KM -gummy:KM:KM -gunge:KNJ:KNK -gungy:KNK:KNJ -gunny:KN:KN -gunya:KN:KN -guppy:KP:KP -gurus:KRS:KRS -gushy:KX:KX -gussy:KS:KS -gusto:KST:KST -gusts:KSTS:KSTS -gusty:KST:KST -gutsy:KTS:KTS -gutta:KT:KT -gutty:KT:KT -guyed:KT:KT -guyer:KR:KR -guyot:KT:KT -gwent:KNT:KNT -gybed:KPT:JPT -gybes:KPS:JPS -gypsy:KPS:JPS -gyral:KRL:JRL -gyred:KRT:JRT -gyres:KRS:JRS -gyron:KRN:JRN -gyros:KRS:JRS -gyrus:KRS:JRS -gyved:KFT:JFT -gyver:KFR:JFR -gyves:KFS:JFS -habet:HPT:HPT -habit:HPT:HPT -habus:HPS:HPS -hacek:HSK:HSK -hacks:HKS:HKS -hadal:HTL:HTL -haded:HTT:HTT -hades:HTS:HTS -hadji:HTJ:HTJ -hadst:HTST:HTST -hafiz:HFS:HFS -hafts:HFTS:HFTS -hague:HK:HK -haiks:HKS:HKS -haiku:HK:HK -hails:HLS:HLS -hairs:HRS:HRS -hairy:HR:HR -haiti:HT:HT -hajji:HJ:HJ -hakea:HK:HK -hakes:HKS:HKS -hakim:HKM:HKM -halal:HLL:HLL -haled:HLT:HLT -haler:HLR:HLR -hales:HLS:HLS -halid:HLT:HLT -hallo:HL:HL -halls:HLS:HLS -halma:HLM:HLM -halms:HLMS:HLMS -halos:HLS:HLS -halts:HLTS:HLTS -halva:HLF:HLF -halve:HLF:HLF -hamal:HML:HML -hames:HMS:HMS -hammy:HM:HM -hamza:HMS:HMS -hance:HNS:HNS -hands:HNTS:HNTS -handy:HNT:HNT -hangi:HNJ:HNK -hangs:HNKS:HNKS -hanks:HNKS:HNKS -hanky:HNK:HNK -hanoi:HN:HN -hapax:HPKS:HPKS -haply:HPL:HPL -happy:HP:HP -hardy:HRT:HRT -harem:HRM:HRM -hares:HRS:HRS -harks:HRKS:HRKS -harms:HRMS:HRMS -harpo:HRP:HRP -harps:HRPS:HRPS -harpy:HRP:HRP -harry:HR:HR -harsh:HRX:HRX -harts:HRTS:HRTS -harum:HRM:HRM -hasid:HST:HST -hasps:HSPS:HSPS -haste:HST:HST -hasty:HST:HST -hatch:HX:HX -hated:HTT:HTT -hater:HTR:HTR -hates:HTS:HTS -haugh:H:H -haulm:HLM:HLM -hauls:HLS:HLS -haunt:HNT:HNT -haute:HT:HT -haven:HFN:HFN -haver:HFR:HFR -haves:HFS:HFS -havoc:HFK:HFK -hawed:HT:HT -hawks:HKS:HKS -hawse:HS:HS -haydn:HTN:HTN -hayed:HT:HT -hayes:HS:HS -hazed:HST:HST -hazel:HSL:HSL -hazer:HSR:HSR -hazes:HSS:HSS -heads:HTS:HTS -heady:HT:HT -heals:HLS:HLS -heaps:HPS:HPS -heard:HRT:HRT -hears:HRS:HRS -heart:HRT:HRT -heath:H0:HT -heats:HTS:HTS -heave:HF:HF -heavy:HF:HF -hedge:HJ:HJ -hedgy:HJ:HJ -heeds:HTS:HTS -heels:HLS:HLS -hefts:HFTS:HFTS -hefty:HFT:HFT -heidi:HT:HT -heirs:HRS:HRS -heist:HST:HST -heled:HLT:HLT -helen:HLN:HLN -helix:HLKS:HLKS -he'll:HL:HL -hello:HL:HL -hells:HLS:HLS -helms:HLMS:HLMS -helot:HLT:HLT -helps:HLPS:HLPS -helve:HLF:HLF -hemad:HMT:HMT -hemal:HML:HML -hemic:HMK:HMK -hemin:HMN:HMN -hemps:HMPS:HMPS -hence:HNS:HNS -henge:HNJ:HNK -henle:HNL:HNL -henna:HN:HN -henry:HNR:HNR -hepar:HPR:HPR -herbs:HRPS:HRPS -herby:HRP:HRP -herds:HRTS:HRTS -heres:HRS:HRS -herls:HRLS:HRLS -herma:HRM:HRM -herms:HRMS:HRMS -heron:HRN:HRN -heros:HRS:HRS -hertz:HRTS:HRTS -hevea:HF:HF -hewed:HT:HT -hewer:HR:HR -hexad:HKST:HKST -hexed:HKST:HKST -hexes:HKSS:HKSS -hexyl:HKSL:HKSL -hicks:HKS:HKS -hider:HTR:HTR -hides:HTS:HTS -highs:HS:HS -hight:HT:HT -hiked:HKT:HKT -hiker:HKR:HKR -hikes:HKS:HKS -hilar:HLR:HLR -hills:HLS:HLS -hilly:HL:HL -hilts:HLTS:HLTS -hilum:HLM:HLM -hilus:HLS:HLS -hinau:HN:HN -hindi:HNT:HNT -hinds:HNTS:HNTS -hindu:HNT:HNT -hinge:HNJ:HNK -hinny:HN:HN -hints:HNTS:HNTS -hippo:HP:HP -hippy:HP:HP -hired:HRT:HRT -hirer:HRR:HRR -hires:HRS:HRS -hises:HSS:HSS -hists:HSTS:HSTS -hitch:HX:HX -hived:HFT:HFT -hives:HFS:HFS -hoagy:HK:HJ -hoard:HRT:HRT -hoary:HR:HR -hobby:HP:HP -hobos:HPS:HPS -hocks:HKS:HKS -hocus:HKS:HKS -hoers:HRS:HRS -hogan:HKN:HKN -hogty:HKT:HKT -hoing:HNK:HNK -hoise:HS:HS -hoist:HST:HST -hoked:HKT:HKT -hokes:HKS:HKS -hokey:HK:HK -hokum:HKM:HKM -holds:HLTS:HLTS -holed:HLT:HLT -holer:HLR:HLR -holes:HLS:HLS -holey:HL:HL -hollo:HL:HL -holly:HL:HL -holme:HLM:HLM -holts:HLTS:HLTS -homan:HMN:HMN -homed:HMT:HMT -homer:HMR:HMR -homes:HMS:HMS -homey:HM:HM -homos:HMS:HMS -honda:HNT:HNT -honed:HNT:HNT -honer:HNR:HNR -hones:HNS:HNS -honey:HN:HN -hongi:HNJ:HNK -honks:HNKS:HNKS -honky:HNK:HNK -honor:HNR:HNR -hooch:HK:HK -hoods:HTS:HTS -hooey:H:H -hoofs:HFS:HFS -hooke:HK:HK -hooks:HKS:HKS -hooky:HK:HK -hoops:HPS:HPS -hoots:HTS:HTS -hoped:HPT:HPT -hoper:HPR:HPR -hopes:HPS:HPS -hopis:HPS:HPS -horae:HR:HR -horde:HRT:HRT -horns:HRNS:HRNS -horny:HRN:HRN -horol:HRL:HRL -horse:HRS:HRS -horst:HRST:HRST -horsy:HRS:HRS -hosea:HS:HS -hosed:HST:HST -hoses:HSS:HSS -hosta:HST:HST -hosts:HSTS:HSTS -hotel:HTL:HTL -hotly:HTL:HTL -hough:H:H -hound:HNT:HNT -houri:HR:HR -hours:HRS:HRS -house:HS:HS -hovel:HFL:HFL -hover:HFR:HFR -howdy:HT:HT -howls:HLS:HLS -hoyle:HL:HL -hubby:HP:HP -huffs:HFS:HFS -huffy:HF:HF -huger:HKR:HJR -huges:HJS:HKS -hulas:HLS:HLS -hulks:HLKS:HLKS -hulky:HLK:HLK -hulls:HLS:HLS -human:HMN:HMN -humic:HMK:HMK -humid:HMT:HMT -humin:HMN:HMN -humor:HMR:HMR -humph:HMF:HMF -humps:HMPS:HMPS -humpy:HMP:HMP -humus:HMS:HMS -hunch:HNX:HNK -hunks:HNKS:HNKS -hunky:HNK:HNK -hunts:HNTS:HNTS -hurls:HRLS:HRLS -hurly:HRL:HRL -huron:HRN:HRN -hurry:HR:HR -hurst:HRST:HRST -hurts:HRTS:HRTS -husks:HSKS:HSKS -husky:HSK:HSK -hussy:HS:HS -hutch:HX:HX -hydra:HTR:HTR -hydro:HTR:HTR -hyena:HN:HN -hying:HNK:HNK -hymen:HMN:HMN -hymns:HMNS:HMNS -hyoid:HT:HT -hyped:HPT:HPT -hyper:HPR:HPR -hypes:HPS:HPS -hypha:HF:HF -hypos:HPS:HPS -hyrax:HRKS:HRKS -hyson:HSN:HSN -iambs:AMPS:AMPS -ibiza:APS:APS -ibsen:APSN:APSN -iceni:ASN:ASN -ichor:AXR:AKR -icier:AS:AXR -icily:ASL:ASL -icing:ASNK:ASNK -icons:AKNS:AKNS -ictal:AKTL:AKTL -ictus:AKTS:AKTS -idaho:ATH:ATH -ideal:ATL:ATL -ideas:ATS:ATS -idees:ATS:ATS -idems:ATMS:ATMS -idiom:ATM:ATM -idled:ATLT:ATLT -idler:ATLR:ATLR -idles:ATLS:ATLS -idols:ATLS:ATLS -idose:ATS:ATS -idyll:ATL:ATL -igfet:AKFT:AKFT -igloo:AKL:AKL -ignes:AKNS:ANS -ignis:AKNS:ANS -ilang:ALNK:ALNK -ileac:ALK:ALK -ileal:ALL:ALL -ileum:ALM:ALM -ileus:ALS:ALS -iliac:ALK:ALK -iliad:ALT:ALT -ilium:ALM:ALM -iller:ALR:ALR -illus:ALS:ALS -image:AMJ:AMK -imago:AMK:AMK -imams:AMMS:AMMS -imbed:AMPT:AMPT -imbue:AMP:AMP -imide:AMT:AMT -imido:AMT:AMT -imine:AMN:AMN -imino:AMN:AMN -imped:AMPT:AMPT -impel:AMPL:AMPL -imper:AMPR:AMPR -imply:AMPL:AMPL -inane:ANN:ANN -inapt:ANPT:ANPT -incan:ANKN:ANKN -incas:ANKS:ANKS -incog:ANKK:ANKK -incur:ANKR:ANKR -incus:ANKS:ANKS -indef:ANTF:ANTF -index:ANTK:ANTK -india:ANT:ANT -indic:ANTK:ANTK -indiv:ANTF:ANTF -indri:ANTR:ANTR -indus:ANTS:ANTS -inept:ANPT:ANPT -inert:ANRT:ANRT -infer:ANFR:ANFR -infin:ANFN:ANFN -infix:ANFK:ANFK -infra:ANFR:ANFR -ingot:ANKT:ANKT -iniac:ANK:ANK -inial:ANL:ANL -inion:ANN:ANN -inked:ANKT:ANKT -inker:ANKR:ANKR -inkle:ANKL:ANKL -inlaw:ANL:ANLF -inlay:ANL:ANL -inlet:ANLT:ANLT -inner:ANR:ANR -inops:ANPS:ANPS -inorg:ANRK:ANRK -input:ANPT:ANPT -inset:ANST:ANST -instr:ANST:ANST -inter:ANTR:ANTR -intra:ANTR:ANTR -intro:ANTR:ANTR -inuit:ANT:ANT -inure:ANR:ANR -inver:ANFR:ANFR -iodic:ATK:ATK -iodin:ATN:ATN -ionic:ANK:ANK -iotas:ATS:ATS -iowan:AN:AN -iraqi:ARK:ARK -irate:ART:ART -irene:ARN:ARN -irish:ARX:ARX -irked:ARKT:ARKT -irons:ARNS:ARNS -irony:ARN:ARN -irreg:ARK:ARK -isaac:ASK:ASK -islam:ALM:ALM -isles:ALS:ALS -islet:ALT:ALT -isn't:ASNT:ASNT -isolo:ASL:ASL -issei:AS:AS -issue:AS:AS -italo:ATL:ATL -italy:ATL:ATL -itchy:AX:AX -items:ATMS:ATMS -it'll:ATL:ATL -ivied:AFT:AFT -ivies:AFS:AFS -ivory:AFR:AFR -izard:ASRT:ASRT -jabot:JPT:APT -jacks:JKS:AKS -jacob:JKP:AKP -jaded:JTT:ATT -jades:JTS:ATS -jaffa:JF:AF -jaggy:JK:AK -jails:JLS:ALS -jalap:JLP:ALP -jambe:JMP:AMP -jambs:JMPS:AMPS -james:JMS:AMS -jammy:JM:AM -janet:JNT:ANT -janus:JNS:ANS -japan:JPN:APN -japed:JPT:APT -japer:JPR:APR -japes:JPS:APS -jared:JRT:ART -jason:JSN:ASN -jaspe:JSP:ASP -jatos:JTS:ATS -jaunt:JNT:ANT -javan:JFN:AFN -javel:JFL:AFL -jawed:JT:AT -jazzy:JS:AS -jeans:JNS:ANS -jeeps:JPS:APS -jeers:JRS:ARS -jells:JLS:ALS -jelly:JL:AL -jemmy:JM:AM -jenny:JN:AN -jerks:JRKS:ARKS -jerky:JRK:ARK -jerry:JR:AR -jesse:JS:AS -jests:JSTS:ASTS -jesus:JSS:ASS -jetes:JTS:ATS -jetty:JT:AT -jewel:JL:AL -jewry:JR:AR -jibed:JPT:APT -jiber:JPR:APR -jibes:JPS:APS -jiffs:JFS:AFS -jiffy:JF:AF -jihad:JHT:AHT -jilts:JLTS:ALTS -jimmy:JM:AM -jingo:JNK:ANK -jinks:JNKS:ANKS -jinni:JN:AN -jinns:JNS:ANS -jived:JFT:AFT -jiver:JFR:AFR -jives:JFS:AFS -jocks:JKS:AKS -joeys:JS:AS -johne:JN:AN -johns:JNS:ANS -joins:JNS:ANS -joint:JNT:ANT -joist:JST:AST -joked:JKT:AKT -joker:JKR:AKR -jokes:JKS:AKS -jokey:JK:AK -jolie:JL:AL -jolly:JL:AL -jolts:JLTS:ALTS -jolty:JLT:ALT -jonah:JN:AN -jones:JNS:ANS -jorum:JRM:ARM -joses:JSS:HSS -joule:JL:AL -joust:JST:AST -jowls:JLS:ALS -jowly:JL:AL -joyce:JS:AS -juans:JNS:ANS -jubes:JPS:APS -judah:JT:AT -judas:JTS:ATS -judex:JTKS:ATKS -judge:JJ:AJ -jugal:JKL:AKL -jugum:JKM:AKM -juice:JS:AS -juicy:JS:AS -julep:JLP:ALP -julia:JL:AL -jumar:JMR:AMR -jumbo:JMP:AMP -jumps:JMPS:AMPS -jumpy:JMP:AMP -junco:JNK:ANK -junks:JNKS:ANKS -junky:JNK:ANK -junta:JNT:ANT -junto:JNT:ANT -jural:JRL:ARL -jurat:JRT:ART -jured:JRT:ART -jurel:JRL:ARL -juris:JRS:ARS -juror:JRR:ARR -justa:JST:AST -juste:JST:AST -justo:JST:AST -jutes:JTS:ATS -juxta:JKST:AKST -kabob:KPP:KPP -kafka:KFK:KFK -kagus:KKS:KKS -kakas:KKS:KKS -kakis:KKS:KKS -kales:KLS:KLS -kames:KMS:KMS -kanga:KNK:KNK -kanji:KNJ:KNJ -kanzu:KNS:KNTS -kaons:KNS:KNS -kapok:KPK:KPK -kappa:KP:KP -kaput:KPT:KPT -karas:KRS:KRS -karat:KRT:KRT -karen:KRN:KRN -karma:KRM:KRM -karri:KR:KR -karst:KRST:KRST -karts:KRTS:KRTS -kasha:KX:KX -kathy:K0:KT -kauri:KR:KR -kayak:KK:KK -kayos:KS:KS -kazoo:KS:KTS -keats:KTS:KTS -kebab:KPP:KPP -kedge:KJ:KJ -keels:KLS:KLS -keens:KNS:KNS -keeps:KPS:KPS -kefir:KFR:KFR -kelly:KL:KL -kelps:KLPS:KLPS -kelpy:KLP:KLP -kelts:KLTS:KLTS -kempt:KMPT:KMPT -kempy:KMP:KMP -kenny:KN:KN -kente:KNT:KNT -kenya:KN:KN -kepis:KPS:KPS -kerbs:KRPS:KRPS -kerfs:KRFS:KRFS -kerma:KRM:KRM -kerns:KRNS:KRNS -kerry:KR:KR -ketal:KTL:KTL -ketch:KX:KX -kevel:KFL:KFL -keyed:KT:KT -khaki:KK:KK -khans:KNS:KNS -kheda:KT:KT -kiaat:KT:KT -kiang:KNK:KNK -kibei:KP:KP -kibes:KPS:KPS -kicks:KKS:KKS -kicky:KK:KK -kiddy:KT:KT -kiers:KRS:KRS -kills:KLS:KLS -kilns:KLNS:KLNS -kilos:KLS:KLS -kilts:KLTS:KLTS -kinds:KNTS:KNTS -kings:KNKS:KNKS -kinin:KNN:KNN -kinks:KNKS:KNKS -kinky:KNK:KNK -kiosk:KSK:KSK -kiowa:K:K -kippa:KP:KP -kirby:KRP:KRP -kirks:KRKS:KRKS -kited:KTT:KTT -kiter:KTR:KTR -kites:KTS:KTS -kithe:K0:KT -kitty:KT:KT -kivas:KFS:KFS -kiwis:KS:KS -klans:KLNS:KLNS -klebs:KLPS:KLPS -kleig:KLK:KLK -klieg:KLK:KLK -kline:KLN:KLN -kloof:KLF:KLF -klutz:KLTS:KLTS -knack:NK:NK -knags:NKS:NKS -knave:NF:NF -knead:NT:NT -kneed:NT:NT -kneel:NL:NL -knees:NS:NS -knell:NL:NL -knelt:NLT:NLT -knife:NF:NF -knish:NX:NX -knits:NTS:NTS -knobs:NPS:NPS -knock:NK:NK -knoll:NL:NL -knoop:NP:NP -knots:NTS:NTS -knout:NT:NT -known:NN:NN -knows:NS:NS -knuri:NR:NR -knurl:NRL:NRL -knurr:NR:NR -koala:KL:KL -koans:KNS:KNS -kodak:KTK:KTK -kofta:KFT:KFT -koine:KN:KN -kojic:KJK:KJK -kooks:KKS:KKS -kooky:KK:KK -koori:KR:KR -kopek:KPK:KPK -kopje:KPJ:KPJ -koran:KRN:KRN -korea:KR:KR -korma:KRM:KRM -kosin:KSN:KSN -kosso:KS:KS -kotos:KTS:KTS -kraal:KRL:KRL -kraft:KRFT:KRFT -krait:KRT:KRT -krans:KRNS:KRNS -kraut:KRT:KRT -krebs:KRPS:KRPS -krill:KRL:KRL -krona:KRN:KRN -krone:KRN:KRN -kudos:KTS:KTS -kudzu:KTS:KTTS -kukri:KKR:KKR -kulak:KLK:KLK -kulan:KLN:KLN -kumys:KMS:KMS -kurta:KRT:KRT -kurus:KRS:KRS -kvass:KFS:KFS -kwela:KL:KL -kyats:KTS:KTS -kylie:KL:KL -kylin:KLN:KLN -kylix:KLKS:KLKS -kyoto:KT:KT -kypes:KPS:KPS -kyrie:KR:KR -label:LPL:LPL -labia:LP:LP -labor:LPR:LPR -labra:LPR:LPR -laced:LST:LST -lacer:LSR:LSR -laces:LSS:LSS -lacks:LKS:LKS -laddy:LT:LT -laded:LTT:LTT -laden:LTN:LTN -lader:LTR:LTR -lades:LTS:LTS -ladle:LTL:LTL -laesa:LS:LS -lagan:LKN:LKN -lager:LKR:LJR -lagon:LKN:LKN -laird:LRT:LRT -lairs:LRS:LRS -lairy:LR:LR -laity:LT:LT -laked:LKT:LKT -laker:LKR:LKR -lakes:LKS:LKS -lakhs:LKS:LKS -lamas:LMS:LMS -lambs:LMPS:LMPS -lamed:LMT:LMT -lamer:LMR:LMR -lames:LMS:LMS -lamia:LM:LM -lamps:LMPS:LMPS -lanae:LN:LN -lanai:LN:LN -lance:LNS:LNS -lands:LNTS:LNTS -lanes:LNS:LNS -lange:LNJ:LNK -lanka:LNK:LNK -lanky:LNK:LNK -lapdo:LPT:LPT -lapel:LPL:LPL -lapin:LPN:LPN -lapis:LPS:LPS -lappa:LP:LP -lapps:LPS:LPS -lapse:LPS:LPS -larch:LRX:LRK -lards:LRTS:LRTS -lardy:LRT:LRT -lares:LRS:LRS -large:LRJ:LRK -largo:LRK:LRK -larks:LRKS:LRKS -larky:LRK:LRK -larry:LR:LR -larva:LRF:LRF -lased:LST:LST -laser:LSR:LSR -lases:LSS:LSS -lassa:LS:LS -lasso:LS:LS -lasts:LSTS:LSTS -latah:LT:LT -latch:LX:LX -laten:LTN:LTN -later:LTR:LTR -latex:LTKS:LTKS -lathe:L0:LT -laths:L0S:LTS -lathy:L0:LT -latin:LTN:LTN -latus:LTS:LTS -laude:LT:LT -lauds:LTS:LTS -laugh:LF:LF -lavas:LFS:LFS -laved:LFT:LFT -laver:LFR:LFR -laves:LFS:LFS -lawns:LNS:LNS -lawny:LN:LN -laxer:LKSR:LKSR -laxly:LKSL:LKSL -layer:LR:LR -lazar:LSR:LSR -lazed:LST:LST -lazes:LSS:LSS -leach:LK:LK -leads:LTS:LTS -leady:LT:LT -leafs:LFS:LFS -leafy:LF:LF -leaks:LKS:LKS -leaky:LK:LK -leans:LNS:LNS -leant:LNT:LNT -leaps:LPS:LPS -leapt:LPT:LPT -learn:LRN:LRN -lease:LS:LS -leash:LX:LX -least:LST:LST -leats:LTS:LTS -leave:LF:LF -ledge:LJ:LJ -ledgy:LJ:LJ -leech:LK:LK -leeks:LKS:LKS -leers:LRS:LRS -leery:LR:LR -lefty:LFT:LFT -legal:LKL:LKL -legem:LJM:LKM -leger:LJR:LKR -leges:LJS:LKS -leggy:LK:LK -legis:LJS:LKS -legit:LJT:LKT -legum:LKM:LKM -lehrs:LRS:LRS -lemma:LM:LM -lemon:LMN:LMN -lemur:LMR:LMR -lends:LNTS:LNTS -lenes:LNS:LNS -lenin:LNN:LNN -lenis:LNS:LNS -lenos:LNS:LNS -leone:LN:LN -leper:LPR:LPR -lepra:LPR:LPR -leses:LSS:LSS -lethe:L0:LT -letup:LTP:LTP -levee:LF:LF -level:LFL:LFL -lever:LFR:LFR -levin:LFN:LFN -levis:LFS:LFS -lewis:LS:LS -lexis:LKSS:LKSS -leydi:LT:LT -liana:LN:LN -liars:LRS:LRS -libel:LPL:LPL -libra:LPR:LPR -libre:LPR:LPR -libya:LP:LP -licit:LST:LST -licks:LKS:LKS -lidos:LTS:LTS -liege:LJ:LK -liens:LNS:LNS -lieut:LT:LT -lifer:LFR:LFR -lifts:LFTS:LFTS -ligan:LKN:LKN -ligen:LJN:LKN -liger:LJR:LKR -light:LT:LT -ligna:LN:LKN -ligon:LKN:LKN -liked:LKT:LKT -liken:LKN:LKN -likes:LKS:LKS -lilac:LLK:LLK -lilts:LLTS:LLTS -limas:LMS:LMS -limbo:LMP:LMP -limbs:LMPS:LMPS -limed:LMT:LMT -limen:LMN:LMN -limes:LMS:LMS -limey:LM:LM -limit:LMT:LMT -limns:LMNS:LMNS -limon:LMN:LMN -limos:LMS:LMS -limps:LMPS:LMPS -linac:LNK:LNK -linda:LNT:LNT -linea:LN:LN -lined:LNT:LNT -linen:LNN:LNN -liner:LNR:LNR -lines:LNS:LNS -liney:LN:LN -lingo:LNK:LNK -lings:LNKS:LNKS -lingy:LNK:LNJ -linin:LNN:LNN -links:LNKS:LNKS -lints:LNTS:LNTS -linty:LNT:LNT -lions:LNS:LNS -lipid:LPT:LPT -lippy:LP:LP -liras:LRS:LRS -lisle:LL:LL -lisps:LSPS:LSPS -lists:LSTS:LSTS -liszt:LST:LXT -litem:LTM:LTM -liter:LTR:LTR -lites:LTS:LTS -lithe:L0:LT -litis:LTS:LTS -lived:LFT:LFT -liven:LFN:LFN -liver:LFR:LFR -lives:LFS:LFS -livid:LFT:LFT -llama:LM:LM -llano:LN:LN -loach:LK:LK -loads:LTS:LTS -loafs:LFS:LFS -loams:LMS:LMS -loamy:LM:LM -loans:LNS:LNS -loath:L0:LT -lobar:LPR:LPR -lobby:LP:LP -lobed:LPT:LPT -lobes:LPS:LPS -lobus:LPS:LPS -local:LKL:LKL -lochs:LKS:LKS -locke:LK:LK -locks:LKS:LKS -locos:LKS:LKS -locum:LKM:LKM -locus:LKS:LKS -loden:LTN:LTN -lodes:LTS:LTS -lodge:LJ:LJ -loess:LS:LS -lofts:LFTS:LFTS -lofty:LFT:LFT -logan:LKN:LKN -loges:LJS:LKS -logia:LJ:LK -logic:LJK:LKK -logie:LJ:LK -logos:LKS:LKS -loins:LNS:LNS -lolls:LLS:LLS -lolly:LL:LL -loner:LNR:LNR -longs:LNKS:LNKS -looks:LKS:LKS -looms:LMS:LMS -loons:LNS:LNS -loony:LN:LN -loops:LPS:LPS -loopy:LP:LP -loose:LS:LS -loots:LTS:LTS -loped:LPT:LPT -loper:LPR:LPR -lopes:LPS:LPS -loran:LRN:LRN -lords:LRTS:LRTS -lorry:LR:LR -loser:LSR:LSR -loses:LSS:LSS -lossy:LS:LS -lotic:LTK:LTK -lotio:LT:LT -lotto:LT:LT -lotus:LTS:LTS -lough:LF:LF -louis:LS:LS -loupe:LP:LP -louse:LS:LS -lousy:LS:LS -louts:LTS:LTS -loved:LFT:LFT -lover:LFR:LFR -loves:LFS:LFS -lovey:LF:LF -lowan:LN:LN -lowed:LT:LT -lower:LR:LR -lowly:LL:LL -loxia:LKS:LKS -loyal:LL:LL -luaus:LS:LS -lubes:LPS:LPS -lubra:LPR:LPR -lucan:LKN:LKN -lucia:LS:LX -lucid:LST:LST -lucks:LKS:LKS -lucky:LK:LK -lucre:LKR:LKR -lucri:LKR:LKR -ludwi:LT:LT -luffs:LFS:LFS -luged:LJT:LKT -luges:LJS:LKS -lugol:LKL:LKL -lulls:LLS:LLS -lumen:LMN:LMN -lumps:LMPS:LMPS -lumpy:LMP:LMP -lunar:LNR:LNR -lunch:LNX:LNK -lunge:LNJ:LNK -lungs:LNKS:LNKS -lupin:LPN:LPN -lupus:LPS:LPS -lurch:LRX:LRK -lured:LRT:LRT -lurer:LRR:LRR -lures:LRS:LRS -lurid:LRT:LRT -lurks:LRKS:LRKS -lusts:LSTS:LSTS -lusty:LST:LST -lusus:LSS:LSS -lutea:LT:LT -lutes:LTS:LTS -luxus:LKSS:LKSS -lyase:LS:LS -lying:LNK:LNK -lymph:LMF:LMF -lynch:LNX:LNK -lyons:LNS:LNS -lyres:LRS:LRS -lyric:LRK:LRK -lysed:LST:LST -lyses:LSS:LSS -lysin:LSN:LSN -lysis:LSS:LSS -lysol:LSL:LSL -lyssa:LS:LS -lytic:LTK:LTK -lytta:LT:LT -ma'am:MM:MM -maana:MN:MN -maare:MR:MR -maars:MRS:MRS -macaw:MK:MKF -maced:MST:MST -macer:MSR:MSR -maces:MSS:MSS -macho:MK:MK -macle:MKL:MKL -macro:MKR:MKR -madam:MTM:MTM -madly:MTL:MTL -mafia:MF:MF -magic:MJK:MKK -magis:MJS:MKS -magma:MKM:MKM -magna:MN:MKN -magot:MKT:MKT -magus:MKS:MKS -mahoe:MH:MH -maids:MTS:MTS -mails:MLS:MLS -maims:MMS:MMS -maine:MN:MN -mains:MNS:MNS -maire:MR:MR -maize:MS:MS -major:MJR:MHR -maker:MKR:MKR -makes:MKS:MKS -makos:MKS:MKS -malar:MLR:MLR -malay:ML:ML -males:MLS:MLS -malic:MLK:MLK -malls:MLS:MLS -malta:MLT:MLT -malts:MLTS:MLTS -malty:MLT:MLT -malum:MLM:MLM -malus:MLS:MLS -mamas:MMS:MMS -mamba:MMP:MMP -mambo:MMP:MMP -mamma:MM:MM -mammy:MM:MM -maned:MNT:MNT -manes:MNS:MNS -mange:MNJ:MNK -mango:MNK:MNK -mangy:MNK:MNJ -mania:MN:MN -manic:MNK:MNK -manit:MNT:MNT -manky:MNK:MNK -manly:MNL:MNL -manna:MN:MN -manor:MNR:MNR -manse:MNS:MNS -manta:MNT:MNT -manum:MNM:MNM -manus:MNS:MNS -maori:MR:MR -mapau:MP:MP -maple:MPL:MPL -marae:MR:MR -maras:MRS:MRS -march:MRX:MRK -mardi:MRT:MRT -mardy:MRT:MRT -marek:MRK:MRK -mares:MRS:MRS -marey:MR:MR -marge:MRJ:MRK -maria:MR:MR -marie:MR:MR -marks:MRKS:MRKS -marls:MRLS:MRLS -marly:MRL:MRL -marri:MR:MR -marry:MR:MR -marsh:MRX:MRX -marts:MRTS:MRTS -maser:MSR:MSR -mashy:MX:MX -masks:MSKS:MSKS -mason:MSN:MSN -masse:MS:MS -massy:MS:MS -masts:MSTS:MSTS -matai:MT:MT -match:MX:MX -mated:MTT:MTT -mater:MTR:MTR -mates:MTS:MTS -matey:MT:MT -maths:M0S:MTS -matin:MTN:MTN -matte:MT:MT -matzo:MTS:MTS -mauds:MTS:MTS -mauls:MLS:MLS -maund:MNT:MNT -mauve:MF:MF -maven:MFN:MFN -mavin:MFN:MFN -mavis:MFS:MFS -maxim:MKSM:MKSM -maxis:MKSS:MKSS -mayan:MN:MN -mayas:MS:MS -maybe:MP:MP -mayor:MR:MR -mazed:MST:MST -mazel:MSL:MSL -mazer:MSR:MSR -mazes:MSS:MSS -mazic:MSK:MSK -mccoy:MK:MK -meads:MTS:MTS -meals:MLS:MLS -mealy:ML:ML -means:MNS:MNS -meant:MNT:MNT -meany:MN:MN -meats:MTS:MTS -meaty:MT:MT -mecca:MK:MK -medal:MTL:MTL -media:MT:MT -medic:MTK:MTK -medii:MT:MT -medoc:MTK:MTK -meeds:MTS:MTS -meets:MTS:MTS -meith:M0:MT -mekon:MKN:MKN -melba:MLP:MLP -melds:MLTS:MLTS -melee:ML:ML -melic:MLK:MLK -melon:MLN:MLN -melts:MLTS:MLTS -memos:MMS:MMS -mends:MNTS:MNTS -mensa:MNS:MNS -menta:MNT:MNT -mente:MNT:MNT -menus:MNS:MNS -meows:MS:MS -merci:MRS:MRS -mercy:MRS:MRS -meres:MRS:MRS -merge:MRJ:MRK -merit:MRT:MRT -merry:MR:MR -mesad:MST:MST -mesal:MSL:MSL -mesas:MSS:MSS -meshy:MX:MX -mesne:MSN:MSN -meson:MSN:MSN -messy:MS:MS -metal:MTL:MTL -meted:MTT:MTT -meter:MTR:MTR -metes:MTS:MTS -metra:MTR:MTR -metro:MTR:MTR -mewed:MT:MT -mewls:MLS:MLS -miami:MM:MM -miaow:M:MF -miasm:MSM:MSM -micah:MK:MK -micra:MKR:MKR -micro:MKR:MKR -midas:MTS:MTS -middy:MT:MT -midge:MJ:MJ -midis:MTS:MTS -midst:MTST:MTST -miens:MNS:MNS -miffs:MFS:MFS -might:MT:MT -mikes:MKS:MKS -milan:MLN:MLN -milch:MLX:MLK -miler:MLR:MLR -miles:MLS:MLS -milia:ML:ML -milks:MLKS:MLKS -milky:MLK:MLK -mills:MLS:MLS -mimed:MMT:MMT -mimeo:MM:MM -mimer:MMR:MMR -mimes:MMS:MMS -mimic:MMK:MMK -mince:MNS:MNS -minds:MNTS:MNTS -mined:MNT:MNT -miner:MNR:MNR -mines:MNS:MNS -minim:MNM:MNM -minis:MNS:MNS -minks:MNKS:MNKS -minor:MNR:MNR -mints:MNTS:MNTS -minty:MNT:MNT -minus:MNS:MNS -mired:MRT:MRT -mires:MRS:MRS -mirth:MR0:MRT -mirvs:MRFS:MRFS -misdo:MST:MST -miser:MSR:MSR -mists:MSTS:MSTS -misty:MST:MST -miter:MTR:MTR -mites:MTS:MTS -mitis:MTS:MTS -mitts:MTS:MTS -mixed:MKST:MKST -mixer:MKSR:MKSR -mixes:MKSS:MKSS -mixup:MKSP:MKSP -moans:MNS:MNS -moats:MTS:MTS -mobil:MPL:MPL -mocha:MX:MK -mocks:MKS:MKS -modal:MTL:MTL -model:MTL:MTL -modem:MTM:MTM -modes:MTS:MTS -modis:MTS:MTS -modus:MTS:MTS -mogul:MKL:MKL -moils:MLS:MLS -moire:MR:MR -moist:MST:MST -molal:MLL:MLL -molar:MLR:MLR -molds:MLTS:MLTS -moldy:MLT:MLT -moles:MLS:MLS -molls:MLS:MLS -molts:MLTS:MLTS -mommy:MM:MM -monad:MNT:MNT -monas:MNS:MNS -monde:MNT:MNT -money:MN:MN -monks:MNKS:MNKS -monte:MNT:MNT -month:MN0:MNT -mooch:MK:MK -moods:MTS:MTS -moody:MT:MT -mooed:MT:MT -moons:MNS:MNS -moors:MRS:MRS -moose:MS:MS -moots:MTS:MTS -moped:MPT:MPT -moper:MPR:MPR -mopes:MPS:MPS -mopey:MP:MP -morae:MR:MR -moral:MRL:MRL -moras:MRS:MRS -morax:MRKS:MRKS -moray:MR:MR -morbi:MRP:MRP -morel:MRL:MRL -mores:MRS:MRS -moria:MR:MR -morns:MRNS:MRNS -moron:MRN:MRN -morse:MRS:MRS -moses:MSS:MSS -mosey:MS:MS -mossy:MS:MS -motel:MTL:MTL -motes:MTS:MTS -moths:M0S:MTS -motif:MTF:MTF -motor:MTR:MTR -motto:MT:MT -mould:MLT:MLT -moult:MLT:MLT -mound:MNT:MNT -mount:MNT:MNT -mourn:MRN:MRN -mouse:MS:MS -mousy:MS:MS -mouth:M0:MT -moved:MFT:MFT -mover:MFR:MFR -moves:MFS:MFS -movie:MF:MF -mowed:MT:MT -mower:MR:MR -moxie:MKS:MKS -mucic:MSK:MSK -mucin:MSN:MSN -mucks:MKS:MKS -mucky:MK:MK -mucor:MKR:MKR -mucro:MKR:MKR -mucus:MKS:MKS -muddy:MT:MT -muffs:MFS:MFS -mufti:MFT:MFT -muggy:MK:MK -mulch:MLX:MLK -mulct:MLKT:MLKT -mules:MLS:MLS -mulls:MLS:MLS -multi:MLT:MLT -multo:MLT:MLT -mumbo:MMP:MMP -mummy:MM:MM -mumps:MMPS:MMPS -munch:MNX:MNK -muons:MNS:MNS -mural:MRL:MRL -murky:MRK:MRK -musca:MSK:MSK -mused:MST:MST -muser:MSR:MSR -muses:MSS:MSS -mushy:MX:MX -music:MSK:MSK -musks:MSKS:MSKS -musky:MSK:MSK -mussy:MS:MS -musts:MSTS:MSTS -musty:MST:MST -muted:MTT:MTT -mutes:MTS:MTS -mutts:MTS:MTS -mutua:MT:MT -mutus:MTS:MTS -mylar:MLR:MLR -mynas:MNS:MNS -myoid:MT:MT -myoma:MM:MM -myope:MP:MP -myrrh:MR:MR -myths:M0S:MTS -naacp:NKP:NKP -nabob:NPP:NPP -nacre:NKR:NKR -nadir:NTR:NTR -naevi:NF:NF -naffs:NFS:NFS -nahum:NHM:NHM -naiad:NT:NT -nails:NLS:NLS -naive:NF:NF -naked:NKT:NKT -naker:NKR:NKR -namby:NMP:NMP -named:NMT:NMT -namer:NMR:NMR -names:NMS:NMS -namma:NM:NM -nancy:NNS:NNS -nanna:NN:NN -nanny:NN:NN -napes:NPS:NPS -napoo:NP:NP -nappa:NP:NP -nappe:NP:NP -nappy:NP:NP -narcs:NRKS:NRKS -nares:NRS:NRS -naris:NRS:NRS -narks:NRKS:NRKS -narky:NRK:NRK -nasal:NSL:NSL -nasty:NST:NST -nasus:NSS:NSS -natal:NTL:NTL -nates:NTS:NTS -natis:NTS:NTS -natty:NT:NT -naval:NFL:NFL -navar:NFR:NFR -navel:NFL:NFL -naves:NFS:NFS -navig:NFK:NFK -navis:NFS:NFS -navvy:NF:NF -nawab:NP:NP -nazis:NSS:NSS -neaps:NPS:NPS -nears:NRS:NRS -neath:N0:NT -necks:NKS:NKS -needs:NTS:NTS -needy:NT:NT -negri:NKR:NKR -negro:NKR:NKR -negus:NKS:NKS -nehru:NR:NR -neigh:N:N -nelly:NL:NL -nepal:NPL:NPL -neper:NPR:NPR -nepos:NPS:NPS -nerds:NRTS:NRTS -nerve:NRF:NRF -nervi:NRF:NRF -nervy:NRF:NRF -nests:NSTS:NSTS -never:NFR:NFR -nevus:NFS:NFS -newel:NL:NL -newer:NR:NR -newly:NL:NL -newsy:NS:NS -newts:NTS:NTS -nexus:NKSS:NKSS -ngaio:NK:NK -nicer:NSR:NSR -niche:NX:NK -nicks:NKS:NKS -nicol:NKL:NKL -nidal:NTL:NTL -nidus:NTS:NTS -niece:NS:NS -niffy:NF:NF -nifty:NFT:NFT -night:NT:NT -nigra:NKR:NKR -nihil:NHL:NHL -nikau:NK:NK -nimbi:NMP:NMP -nines:NNS:NNS -ninny:NN:NN -ninon:NNN:NNN -ninth:NN0:NNT -nippy:NP:NP -nisei:NS:NS -nisin:NSN:NSN -nissl:NSL:NSL -nisus:NSS:NSS -niter:NTR:NTR -nitre:NTR:NTR -nitty:NT:NT -nival:NFL:NFL -nixed:NKST:NKST -nixes:NKSS:NKSS -nixie:NKS:NKS -nixon:NKSN:NKSN -nobby:NP:NP -nobel:NPL:NPL -nobis:NPS:NPS -noble:NPL:NPL -nobly:NPL:NPL -nocks:NKS:NKS -nodal:NTL:NTL -noddy:NT:NT -nodes:NTS:NTS -nodus:NTS:NTS -noels:NLS:NLS -nohow:NH:NHF -noire:NR:NR -noise:NS:NS -noisy:NS:NS -nolle:NL:NL -nomad:NMT:NMT -nomen:NMN:NMN -nomes:NMS:NMS -nomic:NMK:NMK -nomoi:NM:NM -nomos:NMS:NMS -nonce:NNS:NNS -nones:NNS:NNS -nooks:NKS:NKS -noons:NNS:NNS -noose:NS:NS -norma:NRM:NRM -norms:NRMS:NRMS -norse:NRS:NRS -north:NR0:NRT -nosed:NST:NST -noser:NSR:NSR -noses:NSS:NSS -nosey:NS:NS -notal:NTL:NTL -notch:NX:NX -noted:NTT:NTT -notes:NTS:NTS -notre:NTR:NTR -notum:NTM:NTM -nouns:NNS:NNS -novae:NF:NF -novas:NFS:NFS -novel:NFL:NFL -noway:N:N -noxae:NKS:NKS -noxal:NKSL:NKSL -nubby:NP:NP -nubus:NPS:NPS -nucha:NX:NK -nuder:NTR:NTR -nudes:NTS:NTS -nudge:NJ:NJ -nudum:NTM:NTM -nukes:NKS:NKS -nulla:NL:NL -nulli:NL:NL -nullo:NL:NL -nulls:NLS:NLS -numbs:NMPS:NMPS -numen:NMN:NMN -numis:NMS:NMS -nurse:NRS:NRS -nutty:NT:NT -nylon:NLN:NLN -nymph:NMF:NMF -nyxes:NKSS:NKSS -nyxis:NKSS:NKSS -oaken:AKN:AKN -oakum:AKM:AKM -oared:ART:ART -oases:ASS:ASS -oasis:ASS:ASS -oaten:ATN:ATN -oaths:A0S:ATS -obeah:AP:AP -obeli:APL:APL -obese:APS:APS -obeys:APS:APS -obiit:APT:APT -obits:APTS:APTS -objet:APJT:APJT -oboes:APS:APS -oboli:APL:APL -obsta:APST:APST -occur:AKR:AKR -ocean:ASN:ASN -ocher:AXR:AKR -ochre:AKR:AKR -ochry:AKR:AKR -ocrea:AKR:AKR -octad:AKTT:AKTT -octal:AKTL:AKTL -octet:AKTT:AKTT -oculi:AKL:AKL -odder:ATR:ATR -oddly:ATL:ATL -odeon:ATN:ATN -odium:ATM:ATM -odors:ATRS:ATRS -offal:AFL:AFL -offer:AFR:AFR -often:AFTN:AFTN -ogham:AKM:AKM -ogive:AJF:AKF -ogled:AKLT:AKLT -ogler:AKLR:AKLR -ogles:AKLS:AKLS -ogres:AKRS:AKRS -ohmic:AMK:AMK -oidia:AT:AT -oiled:ALT:ALT -oiler:ALR:ALR -oinks:ANKS:ANKS -okapi:AKP:AKP -okays:AKS:AKS -okras:AKRS:AKRS -oktas:AKTS:AKTS -olden:ALTN:ALTN -older:ALTR:ALTR -oldie:ALT:ALT -oleic:ALK:ALK -olein:ALN:ALN -oleum:ALM:ALM -oleyl:ALL:ALL -olios:ALS:ALS -olive:ALF:ALF -ology:ALJ:ALK -omaha:AMH:AMH -omasa:AMS:AMS -ombre:AMPR:AMPR -omega:AMK:AMK -omens:AMNS:AMNS -omits:AMTS:AMTS -omnia:AMN:AMN -oncer:ANSR:ANSR -onely:ANL:ANL -onere:ANR:ANR -onion:ANN:ANN -onium:ANM:ANM -onset:ANST:ANST -oomph:AMF:AMF -ootid:ATT:ATT -oozed:AST:AST -oozes:ASS:ASS -opaca:APK:APK -opals:APLS:APLS -opens:APNS:APNS -opera:APR:APR -opere:APR:APR -opine:APN:APN -opium:APM:APM -opsin:APSN:APSN -opted:APTT:APTT -optic:APTK:APTK -oracy:ARS:ARS -orale:ARL:ARL -orals:ARLS:ARLS -orate:ART:ART -orbed:ARPT:ARPT -orbit:ARPT:ARPT -orcin:ARSN:ARSN -order:ARTR:ARTR -organ:ARKN:ARKN -oribi:ARP:ARP -oriel:ARL:ARL -orion:ARN:ARN -orlon:ARLN:ARLN -orlop:ARLP:ARLP -ormer:ARMR:ARMR -oroya:AR:AR -orris:ARS:ARS -osage:ASJ:ASK -osaka:ASK:ASK -oscar:ASKR:ASKR -osier:AS:ASR -osmic:ASMK:ASMK -osmol:ASML:ASML -ossea:AS:AS -ostia:ASX:ASX -other:A0R:ATR -otter:ATR:ATR -ought:AKT:AKT -ouija:AJ:AH -ounce:ANS:ANS -ousel:ASL:ASL -ousts:ASTS:ASTS -outdo:AT:AT -outer:ATR:ATR -outgo:ATK:ATK -outre:ATR:ATR -ovale:AFL:AFL -ovals:AFLS:AFLS -ovary:AFR:AFR -ovate:AFT:AFT -ovens:AFNS:AFNS -overs:AFRS:AFRS -overt:AFRT:AFRT -ovine:AFN:AFN -ovoid:AFT:AFT -ovoli:AFL:AFL -ovolo:AFL:AFL -ovule:AFL:AFL -owing:ANK:ANK -owlet:ALT:ALT -owned:ANT:ANT -owner:ANR:ANR -oxbow:AKSP:AKSP -oxide:AKST:AKST -oxime:AKSM:AKSM -oxter:AKST:AKST -ozena:ASN:ASN -ozone:ASN:ASN -paced:PST:PST -pacem:PSM:PSM -pacer:PSR:PSR -paces:PSS:PSS -pacey:PS:PS -packs:PKS:PKS -pacta:PKT:PKT -pacts:PKTS:PKTS -paddy:PT:PT -padre:PTR:PTR -paean:PN:PN -paeon:PN:PN -pagan:PKN:PKN -paged:PJT:PKT -pager:PKR:PJR -pages:PJS:PKS -paget:PKT:PKT -pails:PLS:PLS -paine:PN:PN -pains:PNS:PNS -paint:PNT:PNT -pairs:PRS:PRS -paisa:PS:PS -paise:PS:PS -paled:PLT:PLT -paler:PLR:PLR -pales:PLS:PLS -palls:PLS:PLS -pally:PL:PL -palmi:PLM:PLM -palms:PLMS:PLMS -palmy:PLM:PLM -palps:PLPS:PLPS -palsy:PLS:PLS -palts:PLTS:PLTS -pampa:PMP:PMP -panda:PNT:PNT -panel:PNL:PNL -panes:PNS:PNS -panga:PNK:PNK -pangs:PNKS:PNKS -panic:PNK:PNK -panne:PN:PN -panni:PN:PN -pansy:PNS:PNS -panto:PNT:PNT -pants:PNTS:PNTS -panty:PNT:PNT -papal:PPL:PPL -papas:PPS:PPS -papaw:PP:PPF -paper:PPR:PPR -pappi:PP:PP -pappy:PP:PP -papua:PP:PP -parae:PR:PR -paras:PRS:PRS -parch:PRX:PRK -parco:PRK:PRK -pards:PRTS:PRTS -pared:PRT:PRT -paren:PRN:PRN -parer:PRR:PRR -pares:PRS:PRS -paris:PRS:PRS -parka:PRK:PRK -parks:PRKS:PRKS -parky:PRK:PRK -parma:PRM:PRM -parol:PRL:PRL -parry:PR:PR -parse:PRS:PRS -parte:PRT:PRT -parti:PRT:PRT -parts:PRTS:PRTS -party:PRT:PRT -parve:PRF:PRF -pases:PSS:PSS -pasha:PX:PX -pashm:PXM:PXM -passe:PS:PS -passu:PS:PS -pasta:PST:PST -paste:PST:PST -pasts:PSTS:PSTS -pasty:PST:PST -patch:PX:PX -pated:PTT:PTT -paten:PTN:PTN -pater:PTR:PTR -pates:PTS:PTS -paths:P0S:PTS -patio:PT:PT -patsy:PTS:PTS -patty:PT:PT -pauli:PL:PL -paulo:PL:PL -pause:PS:PS -paved:PFT:PFT -paver:PFR:PFR -paves:PFS:PFS -pavis:PFS:PFS -pavor:PFR:PFR -pawed:PT:PT -pawky:PK:PK -pawls:PLS:PLS -pawns:PNS:PNS -payed:PT:PT -payee:P:P -payer:PR:PR -payor:PR:PR -peace:PS:PS -peach:PK:PK -peaks:PKS:PKS -peaky:PK:PK -peals:PLS:PLS -pearl:PRL:PRL -pears:PRS:PRS -pease:PS:PS -peaty:PT:PT -pecan:PKN:PKN -peche:PX:PK -pecks:PKS:PKS -pedal:PTL:PTL -pedes:PTS:PTS -pedis:PTS:PTS -peeks:PKS:PKS -peels:PLS:PLS -peens:PNS:PNS -peeps:PPS:PPS -peers:PRS:PRS -peeve:PF:PF -peggy:PK:PK -peing:PNK:PNK -pekan:PKN:PKN -pekes:PKS:PKS -pekoe:PK:PK -pelts:PLTS:PLTS -penal:PNL:PNL -pence:PNS:PNS -pends:PNTS:PNTS -penes:PNS:PNS -penna:PN:PN -penni:PN:PN -penny:PN:PN -pense:PNS:PNS -peons:PNS:PNS -peony:PN:PN -pepos:PPS:PPS -peppy:PP:PP -pepsi:PPS:PPS -perch:PRX:PRK -peril:PRL:PRL -perks:PRKS:PRKS -perky:PRK:PRK -perry:PR:PR -perse:PRS:PRS -perth:PR0:PRT -pesky:PSK:PSK -pesos:PSS:PSS -pests:PSTS:PSTS -petal:PTL:PTL -peter:PTR:PTR -petit:PTT:PTT -petri:PTR:PTR -petro:PTR:PTR -petty:PT:PT -peyer:PR:PR -phage:FJ:FK -pharm:FRM:FRM -phase:FS:FS -phial:FL:FL -phlox:FLKS:FLKS -phone:FN:FN -phono:FN:FN -phons:FNS:FNS -phony:FN:FN -phose:FS:FS -photo:FT:FT -phren:FRN:FRN -phyla:FL:FL -phyma:FM:FM -piano:PN:PN -picas:PKS:PKS -pichi:PX:PK -picks:PKS:PKS -picky:PK:PK -picot:PKT:PKT -picts:PKTS:PKTS -picul:PKL:PKL -pidog:PTK:PTK -piece:PS:PS -piers:PRS:PRS -pieta:PT:PT -piety:PT:PT -piggy:PK:PK -pigmy:PKM:PKM -pikas:PKS:PKS -piked:PKT:PKT -piker:PKR:PKR -pikes:PKS:PKS -pilaf:PLF:PLF -pilar:PLR:PLR -pilau:PL:PL -pilch:PLX:PLK -pilea:PL:PL -piled:PLT:PLT -pilei:PL:PL -piles:PLS:PLS -pills:PLS:PLS -pilot:PLT:PLT -pilus:PLS:PLS -pimps:PMPS:PMPS -pinch:PNX:PNK -pined:PNT:PNT -pines:PNS:PNS -pingo:PNK:PNK -pings:PNKS:PNKS -pinko:PNK:PNK -pinks:PNKS:PNKS -pinky:PNK:PNK -pinna:PN:PN -pinny:PN:PN -pinon:PNN:PNN -pinta:PNT:PNT -pinto:PNT:PNT -pints:PNTS:PNTS -pinup:PNP:PNP -pious:PS:PS -piped:PPT:PPT -piper:PPR:PPR -pipes:PPS:PPS -pipet:PPT:PPT -pipit:PPT:PPT -pippy:PP:PP -pique:PK:PK -piste:PST:PST -pitch:PX:PX -piths:P0S:PTS -pithy:P0:PT -piton:PTN:PTN -pitot:PTT:PTT -pitta:PT:PT -pivot:PFT:PFT -pixel:PKSL:PKSL -pixie:PKS:PKS -pizza:PS:PTS -place:PLS:PLS -plage:PLJ:PLK -plaid:PLT:PLT -plain:PLN:PLN -plait:PLT:PLT -plana:PLN:PLN -plane:PLN:PLN -plank:PLNK:PLNK -plano:PLN:PLN -plans:PLNS:PLNS -plant:PLNT:PLNT -plash:PLX:PLX -plasm:PLSM:PLSM -plate:PLT:PLT -plato:PLT:PLT -plats:PLTS:PLTS -platy:PLT:PLT -plays:PLS:PLS -plaza:PLS:PLS -plead:PLT:PLT -pleas:PLS:PLS -pleat:PLT:PLT -plebe:PLP:PLP -plebs:PLPS:PLPS -plena:PLN:PLN -plene:PLN:PLN -plica:PLK:PLK -plied:PLT:PLT -plier:PL:PLR -plies:PLS:PLS -plink:PLNK:PLNK -plods:PLTS:PLTS -plonk:PLNK:PLNK -plops:PLPS:PLPS -plots:PLTS:PLTS -plows:PLS:PLS -ploys:PLS:PLS -pluck:PLK:PLK -plugs:PLKS:PLKS -plumb:PLM:PLM -plume:PLM:PLM -plump:PLMP:PLMP -plums:PLMS:PLMS -plumy:PLM:PLM -plunk:PLNK:PLNK -plush:PLX:PLX -pluto:PLT:PLT -poach:PK:PK -poaka:PK:PK -pocks:PKS:PKS -pocus:PKS:PKS -poddy:PT:PT -podge:PJ:PJ -podgy:PJ:PJ -podia:PT:PT -poems:PMS:PMS -poena:PN:PN -poesy:PS:PS -poets:PTS:PTS -pogge:PK:PK -pogos:PKS:PKS -poilu:PL:PL -poind:PNT:PNT -point:PNT:PNT -poise:PS:PS -poked:PKT:PKT -poker:PKR:PKR -pokes:PKS:PKS -polar:PLR:PLR -poled:PLT:PLT -poler:PLR:PLR -poles:PLS:PLS -polio:PL:PL -polje:PL:PL -polka:PLK:PLK -polks:PLKS:PLKS -polls:PLS:PLS -polyp:PLP:PLP -polys:PLS:PLS -pommy:PM:PM -ponce:PNS:PNS -ponds:PNTS:PNTS -pones:PNS:PNS -pongo:PNK:PNK -pongy:PNK:PNJ -pooch:PK:PK -poohs:PS:PS -pools:PLS:PLS -poops:PPS:PPS -popes:PPS:PPS -poppy:PP:PP -porch:PRX:PRK -pored:PRT:PRT -pores:PRS:PRS -porgy:PRJ:PRK -poria:PR:PR -porky:PRK:PRK -porno:PRN:PRN -porta:PRT:PRT -ports:PRTS:PRTS -porus:PRS:PRS -posed:PST:PST -poser:PSR:PSR -poses:PSS:PSS -posey:PS:PS -posit:PST:PST -posix:PSKS:PSKS -posse:PS:PS -posts:PSTS:PSTS -potto:PT:PT -potty:PT:PT -pouch:PK:PK -poult:PLT:PLT -pound:PNT:PNT -pours:PRS:PRS -pouts:PTS:PTS -powan:PN:PN -power:PR:PR -poxes:PKSS:PKSS -prams:PRMS:PRMS -prang:PRNK:PRNK -prank:PRNK:PRNK -prase:PRS:PRS -prate:PRT:PRT -prawn:PRN:PRN -prays:PRS:PRS -preen:PRN:PRN -preps:PRPS:PRPS -presa:PRS:PRS -press:PRS:PRS -prexy:PRKS:PRKS -preys:PRS:PRS -price:PRS:PRS -prick:PRK:PRK -pride:PRT:PRT -pried:PRT:PRT -prier:PR:PRR -pries:PRS:PRS -prigs:PRKS:PRKS -prill:PRL:PRL -prima:PRM:PRM -prime:PRM:PRM -primo:PRM:PRM -primp:PRMP:PRMP -prims:PRMS:PRMS -prink:PRNK:PRNK -print:PRNT:PRNT -prion:PRN:PRN -prior:PRR:PRR -prise:PRS:PRS -prism:PRSM:PRSM -prist:PRST:PRST -prius:PRS:PRS -privy:PRF:PRF -prize:PRS:PRS -proal:PRL:PRL -probe:PRP:PRP -prods:PRTS:PRTS -proem:PRM:PRM -profs:PRFS:PRFS -prole:PRL:PRL -promo:PRM:PRM -proms:PRMS:PRMS -prone:PRN:PRN -prong:PRNK:PRNK -proof:PRF:PRF -props:PRPS:PRPS -prose:PRS:PRS -pross:PRS:PRS -prosy:PRS:PRS -proud:PRT:PRT -prove:PRF:PRF -prowl:PRL:PRL -prows:PRS:PRS -proxy:PRKS:PRKS -prude:PRT:PRT -prune:PRN:PRN -psalm:SLM:SLM -pseud:ST:ST -psfig:SFK:SFK -pshaw:X:XF -psoae:S:S -psoai:S:S -psoas:SS:SS -psora:SR:SR -psych:SX:SK -pubes:PPS:PPS -pubic:PPK:PPK -pubis:PPS:PPS -pucks:PKS:PKS -pudge:PJ:PJ -pudgy:PJ:PJ -pudic:PTK:PTK -pudus:PTS:PTS -puffs:PFS:PFS -puffy:PF:PF -puggy:PK:PK -puked:PKT:PKT -pukes:PKS:PKS -pukka:PK:PK -puled:PLT:PLT -puler:PLR:PLR -pules:PLS:PLS -pulex:PLKS:PLKS -pulls:PLS:PLS -pulps:PLPS:PLPS -pulpy:PLP:PLP -pulse:PLS:PLS -pumas:PMS:PMS -pumps:PMPS:PMPS -punch:PNX:PNK -punka:PNK:PNK -punks:PNKS:PNKS -punts:PNTS:PNTS -punty:PNT:PNT -pupae:PP:PP -pupal:PPL:PPL -pupas:PPS:PPS -pupil:PPL:PPL -puppy:PP:PP -puree:PR:PR -purer:PRR:PRR -purge:PRJ:PRK -purim:PRM:PRM -purls:PRLS:PRLS -purrs:PRS:PRS -purse:PRS:PRS -pursy:PRS:PRS -pusan:PSN:PSN -pushy:PX:PX -putts:PTS:PTS -putty:PT:PT -pygal:PKL:PKL -pygmy:PKM:PKM -pylae:PL:PL -pylar:PLR:PLR -pylas:PLS:PLS -pylic:PLK:PLK -pylon:PLN:PLN -pyoid:PT:PT -pyran:PRN:PRN -pyres:PRS:PRS -pyrex:PRKS:PRKS -pyxed:PKST:PKST -pyxes:PKSS:PKSS -pyxie:PKS:PKS -pyxis:PKSS:PKSS -pzazz:PSS:PSS -qatar:KTR:KTR -qiana:KN:KN -quack:KK:KK -quads:KTS:KTS -quaff:KF:KF -quaho:KH:KH -quail:KL:KL -quake:KK:KK -quaky:KK:KK -quale:KL:KL -qualm:KLM:KLM -quant:KNT:KNT -quare:KR:KR -quark:KRK:KRK -quart:KRT:KRT -quash:KX:KX -quasi:KS:KS -quays:KS:KS -queen:KN:KN -queer:KR:KR -quell:KL:KL -quern:KRN:KRN -quers:KRS:KRS -query:KR:KR -quest:KST:KST -queue:K:K -quick:KK:KK -quids:KTS:KTS -quiet:KT:KT -quiff:KF:KF -quill:KL:KL -quilt:KLT:KLT -quina:KN:KN -quins:KNS:KNS -quint:KNT:KNT -quips:KPS:KPS -quire:KR:KR -quirk:KRK:KRK -quirt:KRT:KRT -quite:KT:KT -quito:KT:KT -quits:KTS:KTS -quoad:KT:KT -quoin:KN:KN -quoit:KT:KT -quota:KT:KT -quote:KT:KT -quoth:K0:KT -rabat:RPT:RPT -rabbi:RP:RP -rabic:RPK:RPK -rabid:RPT:RPT -raced:RST:RST -racer:RSR:RSR -races:RSS:RSS -racks:RKS:RKS -radar:RTR:RTR -radii:RT:RT -radio:RT:RT -radix:RTKS:RTKS -radon:RTN:RTN -rafts:RFTS:RFTS -ragas:RKS:RKS -raged:RJT:RKT -rages:RJS:RKS -ragta:RKT:RKT -raids:RTS:RTS -rails:RLS:RLS -rains:RNS:RNS -rainy:RN:RN -raise:RS:RS -rajah:RJ:RH -rajas:RJS:RHS -raked:RKT:RKT -raker:RKR:RKR -rakes:RKS:RKS -rally:RL:RL -ralph:RLF:RLF -ramal:RML:RML -raman:RMN:RMN -ramie:RM:RM -ramps:RMPS:RMPS -ramus:RMS:RMS -rance:RNS:RNS -ranch:RNX:RNK -randy:RNT:RNT -ranee:RN:RN -range:RNJ:RNK -rangy:RNK:RNJ -ranis:RNS:RNS -ranks:RNKS:RNKS -rants:RNTS:RNTS -raped:RPT:RPT -raper:RPR:RPR -rapes:RPS:RPS -raphe:RF:RF -rapid:RPT:RPT -raree:RR:RR -rarer:RRR:RRR -rased:RST:RST -rasps:RSPS:RSPS -raspy:RSP:RSP -ratal:RTL:RTL -rated:RTT:RTT -ratel:RTL:RTL -rater:RTR:RTR -rates:RTS:RTS -ratio:RT:RT -ratty:RT:RT -raved:RFT:RFT -ravel:RFL:RFL -raven:RFN:RFN -raver:RFR:RFR -raves:RFS:RFS -rawer:RR:RR -rawly:RL:RL -rayed:RT:RT -rayon:RN:RN -razed:RST:RST -razer:RSR:RSR -razes:RSS:RSS -razor:RSR:RSR -reach:RK:RK -react:RKT:RKT -readd:RT:RT -reads:RTS:RTS -ready:RT:RT -realm:RLM:RLM -reals:RLS:RLS -reams:RMS:RMS -reaps:RPS:RPS -rearm:RRM:RRM -rears:RRS:RRS -rebel:RPL:RPL -rebid:RPT:RPT -rebus:RPS:RPS -rebut:RPT:RPT -recap:RKP:RKP -recce:RX:RX -recta:RKT:RKT -recti:RKT:RKT -recto:RKT:RKT -recur:RKR:RKR -redan:RTN:RTN -redia:RT:RT -redid:RTT:RTT -redly:RTL:RTL -redox:RTKS:RTKS -redry:RTR:RTR -redux:RTKS:RTKS -redye:RT:RT -reeds:RTS:RTS -reedy:RT:RT -reefs:RFS:RFS -reefy:RF:RF -reeks:RKS:RKS -reeky:RK:RK -reels:RLS:RLS -reeve:RF:RF -refer:RFR:RFR -reffo:RF:RF -refit:RFT:RFT -refry:RFR:RFR -regal:RKL:RKL -regia:RJ:RK -regie:RJ:RK -regno:RN:RKN -rehab:RHP:RHP -rehan:RHN:RHN -rehem:RHM:RHM -rehun:RHN:RHN -reich:RX:RK -reify:RF:RF -reign:RN:RKN -reins:RNS:RNS -rejig:RJK:RJK -rekey:RK:RK -relax:RLKS:RLKS -relay:RL:RL -relet:RLT:RLT -relic:RLK:RLK -relit:RLT:RLT -remak:RMK:RMK -reman:RMN:RMN -remex:RMKS:RMKS -remit:RMT:RMT -remix:RMKS:RMKS -renal:RNL:RNL -rends:RNTS:RNTS -renew:RN:RNF -renin:RNN:RNN -rents:RNTS:RNTS -reoil:RL:RL -reord:RRT:RRT -repay:RP:RP -repel:RPL:RPL -repin:RPN:RPN -reply:RPL:RPL -repot:RPT:RPT -reran:RRN:RRN -rerum:RRM:RRM -rerun:RRN:RRN -resat:RST:RST -reset:RST:RST -resin:RSN:RSN -resit:RST:RST -resow:RS:RSF -rests:RSTS:RSTS -retch:RX:RX -retia:RX:RX -retie:RT:RT -retro:RTR:RTR -retry:RTR:RTR -reuse:RS:RS -revel:RFL:RFL -revet:RFT:RFT -revue:RF:RF -rewed:RT:RT -rheas:RS:RS -rhein:RN:RN -rheme:RM:RM -rheum:RM:RM -rhine:RN:RN -rhino:RN:RN -rhode:RT:RT -rhone:RN:RN -rhumb:RM:RM -rhyme:RM:RM -rials:RLS:RLS -riata:RT:RT -ribes:RPS:RPS -rican:RKN:RKN -ricco:RK:RK -riced:RST:RST -rices:RSS:RSS -riche:RX:RK -ricin:RSN:RSN -ricks:RKS:RKS -rider:RTR:RTR -rides:RTS:RTS -ridge:RJ:RJ -ridgy:RJ:RJ -riels:RLS:RLS -riffs:RFS:RFS -rifle:RFL:RFL -rifts:RFTS:RFTS -riggs:RKS:RKS -right:RT:RT -rigid:RJT:RKT -rigor:RKR:RKR -riled:RLT:RLT -riles:RLS:RLS -rille:RL:RL -rills:RLS:RLS -rimae:RM:RM -rimed:RMT:RMT -rimer:RMR:RMR -rimes:RMS:RMS -rinds:RNTS:RNTS -rings:RNKS:RNKS -rinks:RNKS:RNKS -rinse:RNS:RNS -riots:RTS:RTS -ripen:RPN:RPN -riper:RPR:RPR -ripes:RPS:RPS -risen:RSN:RSN -riser:RSR:RSR -rises:RSS:RSS -risks:RSKS:RSKS -risky:RSK:RSK -risus:RSS:RSS -rites:RTS:RTS -ritzy:RTS:RTS -rival:RFL:RFL -rived:RFT:RFT -riven:RFN:RFN -river:RFR:RFR -rives:RFS:RFS -rivet:RFT:RFT -riyal:RL:RL -rnase:RNS:RNS -roach:RK:RK -roads:RTS:RTS -roams:RMS:RMS -roars:RRS:RRS -roast:RST:RST -robed:RPT:RPT -robes:RPS:RPS -robin:RPN:RPN -roble:RPL:RPL -robot:RPT:RPT -roche:RX:RK -rocks:RKS:RKS -rocky:RK:RK -rodeo:RT:RT -rodin:RTN:RTN -roger:RKR:RJR -roget:RKT:RKT -rogue:RK:RK -roils:RLS:RLS -roist:RST:RST -roles:RLS:RLS -rolls:RLS:RLS -roman:RMN:RMN -romeo:RM:RM -romes:RMS:RMS -romps:RMPS:RMPS -rondo:RNT:RNT -roneo:RN:RN -roods:RTS:RTS -roofs:RFS:RFS -rooks:RKS:RKS -rooky:RK:RK -rooms:RMS:RMS -roomy:RM:RM -roost:RST:RST -roots:RTS:RTS -rooty:RT:RT -roped:RPT:RPT -roper:RPR:RPR -ropes:RPS:RPS -rorty:RRT:RRT -roses:RSS:RSS -rosie:RS:RS -rosin:RSN:RSN -rotes:RTS:RTS -rotls:RTLS:RTLS -rotor:RTR:RTR -rotty:RT:RT -roues:RS:RS -rouge:RJ:RK -rough:RF:RF -round:RNT:RNT -roupy:RP:RP -rouse:RS:RS -roust:RST:RST -route:RT:RT -routs:RTS:RTS -roved:RFT:RFT -rover:RFR:RFR -roves:RFS:RFS -rowan:RN:RN -rowdy:RT:RT -rowed:RT:RT -rowel:RL:RL -rower:RR:RR -royal:RL:RL -rspca:RSPK:RSPK -rsvps:RSFP:RSFP -rubes:RPS:RPS -rubin:RPN:RPN -ruble:RPL:RPL -rubor:RPR:RPR -rubus:RPS:RPS -ruche:RX:RK -rucks:RKS:RKS -ruddy:RT:RT -ruder:RTR:RTR -ruffe:RF:RF -ruffs:RFS:RFS -rugae:RK:RK -rugal:RKL:RKL -rugby:RKP:RKP -ruing:RNK:RNK -ruins:RNS:RNS -ruled:RLT:RLT -ruler:RLR:RLR -rules:RLS:RLS -rumba:RMP:RMP -rumen:RMN:RMN -rumex:RMKS:RMKS -rumly:RML:RML -rummy:RM:RM -rumor:RMR:RMR -rumps:RMPS:RMPS -rumpy:RMP:RMP -runes:RNS:RNS -rungs:RNKS:RNKS -runic:RNK:RNK -runny:RN:RN -runts:RNTS:RNTS -runty:RNT:RNT -rupee:RP:RP -rupia:RP:RP -rural:RRL:RRL -ruses:RSS:RSS -rushy:RX:RX -rusks:RSKS:RSKS -russe:RS:RS -rusts:RSTS:RSTS -rusty:RST:RST -rutin:RTN:RTN -rutty:RT:RT -saber:SPR:SPR -sabin:SPN:SPN -sable:SPL:SPL -sably:SPL:SPL -sabot:SPT:SPT -sabra:SPR:SPR -sabre:SPR:SPR -sacci:SX:SX -sachs:SKS:SKS -sacks:SKS:SKS -sacra:SKR:SKR -sadhu:ST:ST -sadly:STL:STL -safer:SFR:SFR -safes:SFS:SFS -sagas:SKS:SKS -sager:SKR:SJR -sages:SJS:SKS -saggy:SK:SK -sahib:SHP:SHP -saiga:SK:SK -sails:SLS:SLS -saint:SNT:SNT -saith:S0:ST -saker:SKR:SKR -sakes:SKS:SKS -salad:SLT:SLT -salem:SLM:SLM -salep:SLP:SLP -sales:SLS:SLS -salic:SLK:SLK -sally:SL:SL -salmi:SLM:SLM -salol:SLL:SLL -salon:SLN:SLN -salop:SLP:SLP -salpa:SLP:SLP -salsa:SLS:SLS -salts:SLTS:SLTS -salty:SLT:SLT -salve:SLF:SLF -salvo:SLF:SLF -samba:SMP:SMP -sambo:SMP:SMP -samoa:SM:SM -samos:SMS:SMS -sanae:SN:SN -sands:SNTS:SNTS -sandy:SNT:SNT -saner:SNR:SNR -sanka:SNK:SNK -santa:SNT:SNT -sapid:SPT:SPT -sapos:SPS:SPS -sappy:SP:SP -sarah:SR:SR -saran:SRN:SRN -saree:SR:SR -sarge:SRJ:SRK -sarin:SRN:SRN -saris:SRS:SRS -sarky:SRK:SRK -saron:SRN:SRN -saros:SRS:SRS -sarum:SRM:SRM -sassy:SS:SS -satan:STN:STN -satay:ST:ST -sated:STT:STT -satem:STM:STM -sates:STS:STS -satin:STN:STN -satre:STR:STR -satyr:STR:STR -sauce:SS:SS -sauch:SK:SK -saucy:SS:SS -saudi:ST:ST -sauna:SN:SN -saury:SR:SR -saute:ST:ST -saved:SFT:SFT -saver:SFR:SFR -saves:SFS:SFS -savin:SFN:SFN -savor:SFR:SFR -savoy:SF:SF -savvy:SF:SF -sawed:ST:ST -sawer:SR:SR -saxes:SKSS:SKSS -saxon:SKSN:SKSN -sayee:S:S -sayer:SR:SR -scabs:SKPS:SKPS -scads:SKTS:SKTS -scala:SKL:SKL -scald:SKLT:SKLT -scale:SKL:SKL -scalp:SKLP:SKLP -scaly:SKL:SKL -scamp:SKMP:SKMP -scams:SKMS:SKMS -scans:SKNS:SKNS -scant:SKNT:SKNT -scape:SKP:SKP -scapi:SKP:SKP -scare:SKR:SKR -scarf:SKRF:SKRF -scarp:SKRP:SKRP -scars:SKRS:SKRS -scary:SKR:SKR -scats:SKTS:SKTS -scena:SN:SN -scend:SNT:SNT -scene:SN:SN -scent:SNT:SNT -schmo:XM:SM -schwa:X:XF -scion:SN:SN -scire:SR:SR -scoff:SKF:SKF -scold:SKLT:SKLT -scone:SKN:SKN -scoop:SKP:SKP -scoot:SKT:SKT -scopa:SKP:SKP -scope:SKP:SKP -score:SKR:SKR -scorn:SKRN:SKRN -scots:SKTS:SKTS -scott:SKT:SKT -scour:SKR:SKR -scout:SKT:SKT -scowl:SKL:SKL -scows:SKS:SKS -scrag:SKK:SKK -scram:SKM:SKM -scran:SKN:SKN -scrap:SKP:SKP -scraw:SK:SKF -scree:SK:SK -screw:SK:SKF -scrim:SKM:SKM -scrip:SKP:SKP -scrod:SKT:SKT -scrub:SKP:SKP -scrum:SKM:SKM -scuba:SKP:SKP -scuds:SKTS:SKTS -scuff:SKF:SKF -scull:SKL:SKL -scums:SKMS:SKMS -scups:SKPS:SKPS -scurf:SKRF:SKRF -scuta:SKT:SKT -scute:SKT:SKT -seago:SK:SK -seals:SLS:SLS -sealy:SL:SL -seams:SMS:SMS -seamy:SM:SM -sears:SRS:SRS -seats:STS:STS -sebum:SPM:SPM -secco:SK:SK -sects:SKTS:SKTS -secus:SKS:SKS -sedan:STN:STN -seder:STR:STR -sedge:SJ:SJ -sedgy:SJ:SJ -sedum:STM:STM -seeds:STS:STS -seedy:ST:ST -seeks:SKS:SKS -seels:SLS:SLS -seems:SMS:SMS -seeps:SPS:SPS -seers:SRS:SRS -segni:SN:SKN -segno:SN:SKN -segue:SK:SK -seige:SJ:SK -seign:SN:SKN -seine:SN:SN -seing:SNK:SNK -seise:SS:SS -seize:SS:SS -sella:SL:SL -sells:SLS:SLS -selva:SLF:SLF -semen:SMN:SMN -sends:SNTS:SNTS -senna:SN:SN -senor:SNR:SNR -señor:SNR:SNR -sensa:SNS:SNS -sense:SNS:SNS -sensu:SNS:SNS -senza:SNS:SNS -seoul:SL:SL -sepal:SPL:SPL -sepia:SP:SP -sepoy:SP:SP -septa:SPT:SPT -serac:SRK:SRK -serbs:SRPS:SRPS -serfs:SRFS:SRFS -serge:SRJ:SRK -serif:SRF:SRF -serin:SRN:SRN -serow:SR:SRF -serra:SR:SR -serum:SRM:SRM -serve:SRF:SRF -servo:SRF:SRF -setae:ST:ST -setal:STL:STL -seton:STN:STN -setts:STS:STS -setup:STP:STP -seven:SFN:SFN -sever:SFR:SFR -sevum:SFM:SFM -sewed:ST:ST -sewer:SR:SR -sexed:SKST:SKST -sexes:SKSS:SKSS -seyor:SR:SR -shack:XK:XK -shade:XT:XT -shads:XTS:XTS -shady:XT:XT -shaft:XFT:XFT -shags:XKS:XKS -shahs:XS:XS -shake:XK:XK -shako:XK:XK -shaky:XK:XK -shale:XL:XL -shall:XL:XL -shalt:XLT:XLT -shame:XM:XM -shams:XMS:XMS -shank:XNK:XNK -shape:XP:XP -shard:XRT:XRT -share:XR:XR -shark:XRK:XRK -sharp:XRP:XRP -shave:XF:XF -shawl:XL:XL -shawm:XM:XM -shays:XS:XS -shead:XT:XT -sheaf:XF:XF -shear:XR:XR -she'd:XT:XT -sheds:XTS:XTS -sheen:XN:XN -sheep:XP:XP -sheer:XR:XR -sheet:XT:XT -sheik:XK:XK -shelf:XLF:XLF -shell:XL:XL -shelt:XLT:XLT -sheol:XL:XL -sherd:XRT:XRT -shers:XRS:XRS -she's:XS:XS -shiai:X:X -shied:XT:XT -shier:X:XR -shies:XS:XS -shift:XFT:XFT -shiga:XK:XK -shill:XL:XL -shily:XL:XL -shims:XMS:XMS -shine:XN:XN -shins:XNS:XNS -shiny:XN:XN -ships:XPS:XPS -shire:XR:XR -shirk:XRK:XRK -shirr:XR:XR -shirt:XRT:XRT -shish:XX:XX -shiva:XF:XF -shive:XF:XF -shivs:XFS:XFS -shoal:XL:XL -shoat:XT:XT -shock:XK:XK -shoed:XT:XT -shoer:XR:XR -shoes:XS:XS -shoji:XJ:XJ -shone:XN:XN -shook:XK:XK -shoos:XS:XS -shoot:XT:XT -shope:XP:XP -shops:XPS:XPS -shore:XR:XR -shorn:XRN:XRN -short:XRT:XRT -shots:XTS:XTS -shott:XT:XT -shout:XT:XT -shove:XF:XF -shown:XN:XN -shows:XS:XS -showy:X:X -shred:XRT:XRT -shrew:XR:XRF -shrub:XRP:XRP -shrug:XRK:XRK -shuck:XK:XK -shuns:XNS:XNS -shunt:XNT:XNT -shush:XX:XX -shuts:XTS:XTS -shyer:XR:XR -shyly:XL:XL -sibyl:SPL:SPL -sicks:SKS:SKS -sided:STT:STT -sides:STS:STS -sidle:STL:STL -siege:SJ:SK -sieve:SF:SF -sifts:SFTS:SFTS -sighs:SS:SS -sight:ST:ST -sigla:SKL:SKL -sigma:SKM:SKM -signa:SN:SKN -signs:SNS:SKNS -sikhs:SKS:SKS -silex:SLKS:SLKS -silks:SLKS:SLKS -silky:SLK:SLK -sills:SLS:SLS -silly:SL:SL -silos:SLS:SLS -silts:SLTS:SLTS -silty:SLT:SLT -simon:SMN:SMN -sinai:SN:SN -sinal:SNL:SNL -since:SNS:SNS -sines:SNS:SNS -sinew:SN:SNF -singe:SNJ:SNK -sings:SNKS:SNKS -sinks:SNKS:SNKS -sinus:SNS:SNS -sioux:S:X -sippy:SP:SP -sired:SRT:SRT -siren:SRN:SRN -sires:SRS:SRS -sirup:SRP:SRP -sisal:SSL:SSL -sissy:SS:SS -sitae:ST:ST -sitar:STR:STR -sited:STT:STT -sites:STS:STS -sitka:STK:STK -situp:STP:STP -situs:STS:STS -sixed:SKST:SKST -sixer:SKSR:SKSR -sixes:SKSS:SKSS -sixmo:SKSM:SKSM -sixth:SKS0:SKST -sixty:SKST:SKST -sizar:SSR:SSR -sized:SST:SST -sizer:SSR:SSR -sizes:SSS:SSS -skate:SKT:SKT -skeet:SKT:SKT -skegs:SKKS:SKKS -skein:SKN:SKN -skelp:SKLP:SKLP -skene:SKN:SKN -skews:SKS:SKS -skids:SKTS:SKTS -skied:SKT:SKT -skier:SKR:SKR -skies:SKS:SKS -skiff:SKF:SKF -skiis:SKS:SKS -skill:SKL:SKL -skimp:SKMP:SKMP -skims:SKMS:SKMS -skink:SKNK:SKNK -skins:SKNS:SKNS -skint:SKNT:SKNT -skips:SKPS:SKPS -skirl:SKRL:SKRL -skirr:SKR:SKR -skirt:SKRT:SKRT -skite:SKT:SKT -skits:SKTS:SKTS -skive:SKF:SKF -skulk:SKLK:SKLK -skull:SKL:SKL -skunk:SKNK:SKNK -skyed:SKT:SKT -slabs:SLPS:XLPS -slack:SLK:XLK -slain:SLN:XLN -slake:SLK:XLK -slams:SLMS:XLMS -slang:SLNK:XLNK -slant:SLNT:XLNT -slaps:SLPS:XLPS -slash:SLX:XLX -slate:SLT:XLT -slats:SLTS:XLTS -slaty:SLT:XLT -slave:SLF:XLF -slavs:SLFS:XLFS -slays:SLS:XLS -sleds:SLTS:XLTS -sleek:SLK:XLK -sleep:SLP:XLP -sleet:SLT:XLT -slept:SLPT:XLPT -slews:SLS:XLS -slice:SLS:XLS -slick:SLK:XLK -slide:SLT:XLT -slier:SL:XLR -slily:SLL:XLL -slime:SLM:XLM -slims:SLMS:XLMS -slimy:SLM:XLM -sling:SLNK:XLNK -slink:SLNK:XLNK -slips:SLPS:XLPS -slits:SLTS:XLTS -slobs:SLPS:XLPS -slogs:SLKS:XLKS -sloop:SLP:XLP -slope:SLP:XLP -slops:SLPS:XLPS -slosh:SLX:XLX -sloth:SL0:XLT -slots:SLTS:XLTS -slows:SLS:XLS -slubs:SLPS:XLPS -slued:SLT:XLT -slues:SLS:XLS -sluff:SLF:XLF -slugs:SLKS:XLKS -slump:SLMP:XLMP -slums:SLMS:XLMS -slung:SLNK:XLNK -slunk:SLNK:XLNK -slurp:SLRP:XLRP -slurs:SLRS:XLRS -slush:SLX:XLX -slyer:SLR:XLR -slyke:SLK:XLK -slyly:SLL:XLL -slype:SLP:XLP -smack:SMK:XMK -small:SML:XML -smalt:SMLT:XMLT -smarm:SMRM:XMRM -smart:SMRT:XMRT -smash:SMX:XMX -smear:SMR:XMR -smell:SML:XML -smelt:SMLT:XMLT -smile:SML:XML -smirk:SMRK:XMRK -smite:SMT:XMT -smith:SM0:XMT -smock:SMK:XMK -smoke:SMK:XMK -smoko:SMK:XMK -smoky:SMK:XMK -smolt:SMLT:XMLT -smote:SMT:XMT -snack:SNK:XNK -snafu:SNF:XNF -snags:SNKS:XNKS -snail:SNL:XNL -snake:SNK:XNK -snaky:SNK:XNK -snaps:SNPS:XNPS -snare:SNR:XNR -snarl:SNRL:XNRL -snath:SN0:XNT -sneak:SNK:XNK -sneck:SNK:XNK -sneer:SNR:XNR -snell:SNL:XNL -snick:SNK:XNK -snide:SNT:XNT -sniff:SNF:XNF -snipe:SNP:XNP -snips:SNPS:XNPS -snobs:SNPS:XNPS -snoek:SNK:XNK -snood:SNT:XNT -snook:SNK:XNK -snoop:SNP:XNP -snoot:SNT:XNT -snore:SNR:XNR -snort:SNRT:XNRT -snout:SNT:XNT -snows:SNS:XNS -snowy:SN:XN -snubs:SNPS:XNPS -snuck:SNK:XNK -snuff:SNF:XNF -soaks:SKS:SKS -soaps:SPS:SPS -soapy:SP:SP -soars:SRS:SRS -sober:SPR:SPR -socii:SS:SS -socks:SKS:SKS -socle:SKL:SKL -sodas:STS:STS -sodom:STM:STM -sofar:SFR:SFR -sofas:SFS:SFS -sofia:SF:SF -softy:SFT:SFT -soggy:SK:SK -soils:SLS:SLS -solar:SLR:SLR -soled:SLT:SLT -solei:SL:SL -soles:SLS:SLS -solfa:SLF:SLF -solid:SLT:SLT -solip:SLP:SLP -solon:SLN:SLN -solos:SLS:SLS -solum:SLM:SLM -solus:SLS:SLS -solve:SLF:SLF -somas:SMS:SMS -sonar:SNR:SNR -sonde:SNT:SNT -sones:SNS:SNS -songs:SNKS:SNKS -sonic:SNK:SNK -sonny:SN:SN -sonsy:SNS:SNS -sooky:SK:SK -sooth:S0:ST -sooty:ST:ST -sophs:SFS:SFS -sopor:SPR:SPR -soppy:SP:SP -sorer:SRR:SRR -sores:SRS:SRS -sorra:SR:SR -sorry:SR:SR -sorts:SRTS:SRTS -sorus:SRS:SRS -sotto:ST:ST -sough:SK:SK -souls:SLS:SLS -sound:SNT:SNT -soups:SPS:SPS -soupy:SP:SP -sours:SRS:SRS -souse:SS:SS -south:S0:ST -sowed:ST:ST -sower:SR:SR -space:SPS:SPS -spade:SPT:SPT -spain:SPN:SPN -spake:SPK:SPK -spall:SPL:SPL -spang:SPNK:SPNK -spank:SPNK:SPNK -spans:SPNS:SPNS -sparc:SPRK:SPRK -spare:SPR:SPR -spark:SPRK:SPRK -spars:SPRS:SPRS -spasm:SPSM:SPSM -spate:SPT:SPT -spats:SPTS:SPTS -spawn:SPN:SPN -spays:SPS:SPS -speak:SPK:SPK -spear:SPR:SPR -speck:SPK:SPK -specs:SPKS:SPKS -speed:SPT:SPT -speel:SPL:SPL -spell:SPL:SPL -spelt:SPLT:SPLT -spend:SPNT:SPNT -spent:SPNT:SPNT -sperm:SPRM:SPRM -spews:SPS:SPS -spica:SPK:SPK -spice:SPS:SPS -spick:SPK:SPK -spicy:SPS:SPS -spied:SPT:SPT -spiel:SPL:SPL -spier:SP:SPR -spies:SPS:SPS -spiff:SPF:SPF -spike:SPK:SPK -spiky:SPK:SPK -spile:SPL:SPL -spill:SPL:SPL -spilt:SPLT:SPLT -spina:SPN:SPN -spine:SPN:SPN -spino:SPN:SPN -spins:SPNS:SPNS -spiny:SPN:SPN -spire:SPR:SPR -spirt:SPRT:SPRT -spiry:SPR:SPR -spite:SPT:SPT -spits:SPTS:SPTS -spitz:SPTS:SPTS -splat:SPLT:SPLT -splay:SPL:SPL -split:SPLT:SPLT -spode:SPT:SPT -spoil:SPL:SPL -spoke:SPK:SPK -spoof:SPF:SPF -spook:SPK:SPK -spool:SPL:SPL -spoon:SPN:SPN -spoor:SPR:SPR -spore:SPR:SPR -sport:SPRT:SPRT -spots:SPTS:SPTS -spout:SPT:SPT -sprag:SPRK:SPRK -sprat:SPRT:SPRT -spray:SPR:SPR -spree:SPR:SPR -sprig:SPRK:SPRK -sprit:SPRT:SPRT -sprue:SPR:SPR -spuds:SPTS:SPTS -spued:SPT:SPT -spume:SPM:SPM -spumy:SPM:SPM -spunk:SPNK:SPNK -spurn:SPRN:SPRN -spurs:SPRS:SPRS -spurt:SPRT:SPRT -sputa:SPT:SPT -squab:SKP:SKP -squad:SKT:SKT -squat:SKT:SKT -squaw:SK:SKF -squib:SKP:SKP -squid:SKT:SKT -squit:SKT:SKT -squiz:SKS:SKS -stabs:STPS:STPS -stack:STK:STK -staff:STF:STF -stage:STJ:STK -stags:STKS:STKS -stagy:STK:STJ -staid:STT:STT -stain:STN:STN -stair:STR:STR -stake:STK:STK -stale:STL:STL -stalk:STLK:STLK -stall:STL:STL -stamp:STMP:STMP -stand:STNT:STNT -stank:STNK:STNK -staph:STF:STF -stare:STR:STR -stark:STRK:STRK -stars:STRS:STRS -start:STRT:STRT -stash:STX:STX -state:STT:STT -stats:STTS:STTS -statu:STT:STT -stave:STF:STF -stays:STS:STS -stead:STT:STT -steak:STK:STK -steal:STL:STL -steam:STM:STM -steed:STT:STT -steel:STL:STL -steep:STP:STP -steer:STR:STR -stein:STN:STN -stele:STL:STL -stems:STMS:STMS -steno:STN:STN -stens:STNS:STNS -steps:STPS:STPS -stere:STR:STR -stern:STRN:STRN -steve:STF:STF -stews:STS:STS -stich:STX:STK -stick:STK:STK -sties:STS:STS -stiff:STF:STF -stile:STL:STL -stili:STL:STL -still:STL:STL -stilt:STLT:STLT -sting:STNK:STNK -stink:STNK:STNK -stint:STNT:STNT -stipe:STP:STP -stirk:STRK:STRK -stirp:STRP:STRP -stirs:STRS:STRS -stoae:ST:ST -stoat:STT:STT -stock:STK:STK -stoep:STP:STP -stoic:STK:STK -stoke:STK:STK -stole:STL:STL -stoma:STM:STM -stomp:STMP:STMP -stone:STN:STN -stonk:STNK:STNK -stony:STN:STN -stood:STT:STT -stook:STK:STK -stool:STL:STL -stoop:STP:STP -stope:STP:STP -stops:STPS:STPS -store:STR:STR -stork:STRK:STRK -storm:STRM:STRM -story:STR:STR -stoss:STS:STS -stoup:STP:STP -stout:STT:STT -stove:STF:STF -stows:STS:STS -strad:STRT:STRT -strap:STRP:STRP -straw:STR:STRF -stray:STR:STR -strep:STRP:STRP -strew:STR:STRF -stria:STR:STR -strip:STRP:STRP -strop:STRP:STRP -strum:STRM:STRM -strut:STRT:STRT -stubs:STPS:STPS -stuck:STK:STK -studs:STTS:STTS -study:STT:STT -stuff:STF:STF -stull:STL:STL -stump:STMP:STMP -stums:STMS:STMS -stung:STNK:STNK -stunk:STNK:STNK -stuns:STNS:STNS -stunt:STNT:STNT -stupe:STP:STP -style:STL:STL -styli:STL:STL -suave:SF:SF -succi:SX:SX -sucks:SKS:SKS -sucre:SKR:SKR -sudan:STN:STN -sudsy:STS:STS -suede:ST:ST -suers:SRS:SRS -suety:ST:ST -sugar:XKR:SKR -suing:SNK:SNK -suint:SNT:SNT -suite:ST:ST -suits:STS:STS -sulci:SLS:SLS -sulfa:SLF:SLF -sulfo:SLF:SLF -sulks:SLKS:SLKS -sulky:SLK:SLK -sully:SL:SL -sumac:SMK:SMK -summa:SM:SM -sumps:SMPS:SMPS -sunny:SN:SN -sunup:SNP:SNP -super:SPR:SPR -supra:SPR:SPR -surah:SR:SR -sural:SRL:SRL -surds:SRTS:SRTS -surer:SRR:SRR -surfs:SRFS:SRFS -surfy:SRF:SRF -surge:SRJ:SRK -surly:SRL:SRL -surra:SR:SR -susan:SSN:SSN -sushi:SX:SX -sutra:STR:STR -swabs:SPS:XPS -swage:SJ:XK -swags:SKS:XKS -swain:SN:XN -swale:SL:XL -swami:SM:XM -swamp:SMP:XMP -swang:SNK:XNK -swank:SNK:XNK -swans:SNS:XNS -swaps:SPS:XPS -sward:SRT:XRT -swarf:SRF:XRF -swarm:SRM:XRM -swart:SRT:XRT -swash:SX:XX -swath:S0:XT -swats:STS:XTS -sways:SS:XS -swear:SR:XR -sweat:ST:XT -swede:ST:XT -sweep:SP:XP -sweet:ST:XT -swell:SL:XL -swelt:SLT:XLT -swept:SPT:XPT -swift:SFT:XFT -swigs:SKS:XKS -swill:SL:XL -swims:SMS:XMS -swine:SN:XN -swing:SNK:XNK -swipe:SP:XP -swirl:SRL:XRL -swish:SX:XX -swiss:SS:XS -swobs:SPS:XPS -swoon:SN:XN -swoop:SP:XP -swops:SPS:XPS -sword:SRT:XRT -swore:SR:XR -sworn:SRN:XRN -swots:STS:XTS -swung:SNK:XNK -sylph:SLF:SLF -sylva:SLF:SLF -synch:SNX:SNK -syncs:SNKS:SNKS -synod:SNT:SNT -syria:SR:SR -syrup:SRP:SRP -tabby:TP:TP -tabes:TPS:TPS -tabid:TPT:TPT -table:TPL:TPL -taboo:TP:TP -tabor:TPR:TPR -tabun:TPN:TPN -tabus:TPS:TPS -tacet:TST:TST -tache:TX:TK -tacho:TK:TK -tachs:TKS:TKS -tacit:TST:TST -tacks:TKS:TKS -tacky:TK:TK -tacos:TKS:TKS -taffy:TF:TF -taiga:TK:TK -tails:TLS:TLS -taint:TNT:TNT -taipo:TP:TP -takas:TKS:TKS -taken:TKN:TKN -taker:TKR:TKR -takes:TKS:TKS -takin:TKN:TKN -tales:TLS:TLS -talks:TLKS:TLKS -talky:TLK:TLK -tally:TL:TL -talon:TLN:TLN -talus:TLS:TLS -tamed:TMT:TMT -tamer:TMR:TMR -tames:TMS:TMS -tamil:TML:TML -tammy:TM:TM -tampa:TMP:TMP -tamps:TMPS:TMPS -tanga:TNK:TNK -tangi:TNJ:TNK -tango:TNK:TNK -tangs:TNKS:TNKS -tangy:TNK:TNJ -tanka:TNK:TNK -tanks:TNKS:TNKS -tansy:TNS:TNS -tanto:TNT:TNT -taped:TPT:TPT -taper:TPR:TPR -tapes:TPS:TPS -tapir:TPR:TPR -tapis:TPS:TPS -tarde:TRT:TRT -tardy:TRT:TRT -tared:TRT:TRT -tares:TRS:TRS -tarns:TRNS:TRNS -taros:TRS:TRS -tarot:TRT:TRT -tarry:TR:TR -tarsi:TRS:TRS -tarts:TRTS:TRTS -tasks:TSKS:TSKS -taste:TST:TST -tasty:TST:TST -tatar:TTR:TTR -tater:TTR:TTR -tatoo:TT:TT -tatty:TT:TT -taunt:TNT:TNT -taupe:TP:TP -tawai:T:T -tawed:TT:TT -tawer:TR:TR -tawny:TN:TN -tawse:TS:TS -taxed:TKST:TKST -taxer:TKSR:TKSR -taxes:TKSS:TKSS -taxin:TKSN:TKSN -taxis:TKSS:TKSS -taxon:TKSN:TKSN -teach:TK:TK -teaks:TKS:TKS -teals:TLS:TLS -teams:TMS:TMS -tears:TRS:TRS -teart:TRT:TRT -teary:TR:TR -tease:TS:TS -teats:TTS:TTS -tecta:TKT:TKT -tecum:TKM:TKM -teddy:TT:TT -teems:TMS:TMS -teens:TNS:TNS -teeny:TN:TN -teeth:T0:TT -teind:TNT:TNT -teing:TNK:TNK -telae:TL:TL -telex:TLKS:TLKS -telia:TL:TL -telic:TLK:TLK -tells:TLS:TLS -telly:TL:TL -tempi:TMP:TMP -tempo:TMP:TMP -temps:TMPS:TMPS -tempt:TMPT:TMPT -tench:TNX:TNK -tendo:TNT:TNT -tends:TNTS:TNTS -tenet:TNT:TNT -tenia:TN:TN -tenon:TNN:TNN -tenor:TNR:TNR -tense:TNS:TNS -tenth:TN0:TNT -tents:TNTS:TNTS -tenus:TNS:TNS -tepal:TPL:TPL -tepee:TP:TP -tepid:TPT:TPT -terai:TR:TR -teras:TRS:TRS -terce:TRS:TRS -teres:TRS:TRS -terga:TRK:TRK -tergo:TRK:TRK -terms:TRMS:TRMS -terne:TRN:TRN -terns:TRNS:TRNS -terra:TR:TR -terre:TR:TR -terry:TR:TR -terse:TRS:TRS -terza:TRS:TRS -tesla:TSL:TSL -testa:TST:TST -teste:TST:TST -tests:TSTS:TSTS -testy:TST:TST -tetra:TTR:TTR -texan:TKSN:TKSN -texas:TKSS:TKSS -texis:TKSS:TKSS -texts:TKST:TKST -thais:0:TS -thana:0N:TN -thane:0N:TN -thank:0NK:TNK -thats:0TS:TTS -thaws:0S:TS -theca:0K:TK -theft:0FT:TFT -thegn:0N:TKN -their:0R:TR -theme:0M:TM -there:0R:TR -therm:0RM:TRM -these:0S:TS -theta:0T:TT -thews:0S:TS -thewy:0:T -thick:0K:TK -thief:0F:TF -thigh:0:T -thill:0L:TL -thine:0N:TN -thing:0NK:TNK -think:0NK:TNK -thins:0NS:TNS -thiol:0L:TL -third:0RT:TRT -thole:0L:TL -thong:0NK:TNK -thorn:0RN:TRN -thoro:0R:TR -thorp:0RP:TRP -those:0S:TS -three:0R:TR -threw:0R:TRF -thro':0R:TR -throb:0RP:TRP -throe:0R:TR -thron:0RN:TRN -throw:0R:TRF -thrum:0RM:TRM -thuds:0TS:TTS -thugs:0KS:TKS -thuja:0J:TH -thumb:0M:TM -thump:0MP:TMP -thurs:0RS:TRS -thyme:0M:TM -thymi:0M:TM -thymy:0M:TM -tiara:XR:XR -tiber:TPR:TPR -tibet:TPT:TPT -tibia:TP:TP -ticks:TKS:TKS -tidal:TTL:TTL -tided:TTT:TTT -tides:TTS:TTS -tiers:TRS:TRS -tiffs:TFS:TFS -tiger:TJR:TKR -tight:TT:TT -tigon:TKN:TKN -tilde:TLT:TLT -tiled:TLT:TLT -tiler:TLR:TLR -tiles:TLS:TLS -tills:TLS:TLS -tilth:TL0:TLT -tilts:TLTS:TLTS -timed:TMT:TMT -timer:TMR:TMR -times:TMS:TMS -timid:TMT:TMT -tinea:TN:TN -tined:TNT:TNT -tines:TNS:TNS -tinge:TNJ:TNK -tings:TNKS:TNKS -tinny:TN:TN -tints:TNTS:TNTS -tinty:TNT:TNT -tipsy:TPS:TPS -tired:TRT:TRT -tires:TRS:TRS -tiros:TRS:TRS -titan:TTN:TTN -titer:TTR:TTR -tithe:T0:TT -titis:TTS:TTS -title:TTL:TTL -titre:TTR:TTR -titus:TTS:TTS -tizzy:TS:TS -toads:TTS:TTS -toady:TT:TT -toast:TST:TST -today:TT:TT -toddy:TT:TT -toeas:TS:TS -togae:TK:TK -togas:TKS:TKS -toile:TL:TL -toils:TLS:TLS -toing:TNK:TNK -tokay:TK:TK -toked:TKT:TKT -token:TKN:TKN -tokes:TKS:TKS -tokyo:TK:TK -tolan:TLN:TLN -tolas:TLS:TLS -tolls:TLS:TLS -tolyl:TLL:TLL -tombs:TMPS:TMPS -tomes:TMS:TMS -tommy:TM:TM -tonal:TNL:TNL -tondi:TNT:TNT -tondo:TNT:TNT -toned:TNT:TNT -toner:TNR:TNR -tones:TNS:TNS -tonga:TNK:TNK -tongs:TNKS:TNKS -tonic:TNK:TNK -tonka:TNK:TNK -tonks:TNKS:TNKS -tonne:TN:TN -tonus:TNS:TNS -tools:TLS:TLS -tooth:T0:TT -toots:TTS:TTS -topaz:TPS:TPS -toped:TPT:TPT -topee:TP:TP -toper:TPR:TPR -topes:TPS:TPS -tophi:TF:TF -topic:TPK:TPK -topis:TPS:TPS -topoi:TP:TP -topos:TPS:TPS -topsy:TPS:TPS -toque:TK:TK -torah:TR:TR -torch:TRX:TRK -toric:TRK:TRK -torii:TR:TR -torsi:TRS:TRS -torsk:TRSK:TRSK -torso:TRS:TRS -torte:TRT:TRT -torts:TRTS:TRTS -torus:TRS:TRS -total:TTL:TTL -toted:TTT:TTT -totem:TTM:TTM -toter:TTR:TTR -totes:TTS:TTS -touch:TK:TK -tough:TF:TF -tours:TRS:TRS -touts:TTS:TTS -towed:TT:TT -towel:TL:TL -tower:TR:TR -towns:TNS:TNS -towny:TN:TN -toxic:TKSK:TKSK -toxin:TKSN:TKSN -toyed:TT:TT -toyer:TR:TR -trace:TRS:TRS -track:TRK:TRK -tract:TRKT:TRKT -tracy:TRS:TRS -trade:TRT:TRT -tragi:TRJ:TRK -trail:TRL:TRL -train:TRN:TRN -trait:TRT:TRT -tramp:TRMP:TRMP -trams:TRMS:TRMS -trans:TRNS:TRNS -traps:TRPS:TRPS -trash:TRX:TRX -trass:TRS:TRS -trave:TRF:TRF -trawl:TRL:TRL -trays:TRS:TRS -tread:TRT:TRT -treat:TRT:TRT -treed:TRT:TRT -treen:TRN:TRN -trees:TRS:TRS -treks:TRKS:TRKS -trend:TRNT:TRNT -tress:TRS:TRS -trews:TRS:TRS -triad:TRT:TRT -trial:TRL:TRL -trias:TRS:TRS -tribe:TRP:TRP -trice:TRS:TRS -trick:TRK:TRK -tried:TRT:TRT -trier:TR:TRR -tries:TRS:TRS -trigs:TRKS:TRKS -trike:TRK:TRK -trill:TRL:TRL -trims:TRMS:TRMS -trine:TRN:TRN -triol:TRL:TRL -trior:TRR:TRR -trios:TRS:TRS -tripe:TRP:TRP -trips:TRPS:TRPS -trite:TRT:TRT -trois:TR:TRS -troll:TRL:TRL -tromp:TRMP:TRMP -trona:TRN:TRN -trons:TRNS:TRNS -troop:TRP:TRP -trope:TRP:TRP -troth:TR0:TRT -trots:TRTS:TRTS -trout:TRT:TRT -trove:TRF:TRF -truce:TRS:TRS -truck:TRK:TRK -trued:TRT:TRT -truer:TRR:TRR -trues:TRS:TRS -trugs:TRKS:TRKS -truly:TRL:TRL -trump:TRMP:TRMP -trunk:TRNK:TRNK -truss:TRS:TRS -trust:TRST:TRST -truth:TR0:TRT -tryma:TRM:TRM -tryst:TRST:TRST -tsars:TSRS:TSRS -tuans:TNS:TNS -tuart:TRT:TRT -tubae:TP:TP -tubal:TPL:TPL -tubas:TPS:TPS -tubby:TP:TP -tubed:TPT:TPT -tuber:TPR:TPR -tubes:TPS:TPS -tucks:TKS:TKS -tudor:TTR:TTR -tufts:TFTS:TFTS -tufty:TFT:TFT -tulip:TLP:TLP -tulle:TL:TL -tulsa:TLS:TLS -tumid:TMT:TMT -tummy:TM:TM -tumor:TMR:TMR -tunas:TNS:TNS -tuned:TNT:TNT -tuner:TNR:TNR -tunes:TNS:TNS -tunga:TNK:TNK -tunic:TNK:TNK -tunis:TNS:TNS -tunny:TN:TN -tupik:TPK:TPK -tuple:TPL:TPL -tuque:TK:TK -turbo:TRP:TRP -turds:TRTS:TRTS -turfs:TRFS:TRFS -turfy:TRF:TRF -turin:TRN:TRN -turks:TRKS:TRKS -turns:TRNS:TRNS -turps:TRPS:TRPS -turvy:TRF:TRF -tusks:TSKS:TSKS -tusky:TSK:TSK -tutee:TT:TT -tutor:TTR:TTR -tutti:TT:TT -tutty:TT:TT -tutus:TTS:TTS -tuxes:TKSS:TKSS -twain:TN:TN -twang:TNK:TNK -tweak:TK:TK -tweed:TT:TT -tween:TN:TN -tweet:TT:TT -twerp:TRP:TRP -twice:TS:TS -twigs:TKS:TKS -twill:TL:TL -twine:TN:TN -twins:TNS:TNS -twirl:TRL:TRL -twirp:TRP:TRP -twist:TST:TST -twits:TTS:TTS -tying:TNK:TNK -tykes:TKS:TKS -tyler:TLR:TLR -typal:TPL:TPL -typed:TPT:TPT -types:TPS:TPS -typog:TPK:TPK -typos:TPS:TPS -tyres:TRS:TRS -tyrol:TRL:TRL -tyros:TRS:TRS -tzars:TSRS:TSRS -uboat:APT:APT -udder:ATR:ATR -uhuru:AHR:AHR -ukase:AKS:AKS -ulcer:ALSR:ALSR -ulcus:ALKS:ALKS -ulnad:ALNT:ALNT -ulnae:ALN:ALN -ulnar:ALNR:ALNR -ulnas:ALNS:ALNS -uloid:ALT:ALT -ultra:ALTR:ALTR -umbed:AMPT:AMPT -umbel:AMPL:AMPL -umber:AMR:AMR -umbos:AMPS:AMPS -umbra:AMPR:AMPR -umiak:AMK:AMK -unage:ANJ:ANK -unaid:ANT:ANT -unaim:ANM:ANM -unair:ANR:ANR -unapt:ANPT:ANPT -unarm:ANRM:ANRM -unary:ANR:ANR -unawe:AN:AN -unbar:ANPR:ANPR -unbow:ANP:ANPF -uncal:ANKL:ANKL -uncap:ANKP:ANKP -uncia:ANS:ANX -uncle:ANKL:ANKL -unclo:ANKL:ANKL -uncus:ANKS:ANKS -uncut:ANKT:ANKT -under:ANTR:ANTR -undid:ANTT:ANTT -undue:ANT:ANT -unfed:ANFT:ANFT -unfit:ANFT:ANFT -unfix:ANFK:ANFK -ungod:ANKT:ANKT -unhar:ANR:ANR -unhun:ANN:ANN -unify:ANF:ANF -union:ANN:ANN -unite:ANT:ANT -units:ANTS:ANTS -unity:ANT:ANT -unlaw:ANL:ANLF -unlay:ANL:ANL -unlet:ANLT:ANLT -unlit:ANLT:ANLT -unman:ANMN:ANMN -unmet:ANMT:ANMT -unmix:ANMK:ANMK -unown:ANN:ANN -unpay:ANP:ANP -unpeg:ANPK:ANPK -unpin:ANPN:ANPN -unplu:ANPL:ANPL -unrig:ANRK:ANRK -unrip:ANRP:ANRP -unsay:ANS:ANS -unsee:ANS:ANS -unset:ANST:ANST -unsex:ANSK:ANSK -unsun:ANSN:ANSN -untax:ANTK:ANTK -untie:ANT:ANT -until:ANTL:ANTL -unvex:ANFK:ANFK -unvow:ANF:ANFF -unwax:ANKS:ANKS -unwed:ANT:ANT -unwon:ANN:ANN -unzip:ANSP:ANSP -upcom:APKM:APKM -upend:APNT:APNT -upish:APX:APX -upped:APT:APT -upper:APR:APR -upset:APST:APST -upzon:APSN:APSN -urate:ART:ART -urban:ARPN:ARPN -ureal:ARL:ARL -urged:ARJT:ARKT -urger:ARKR:ARJR -urges:ARJS:ARKS -urine:ARN:ARN -usage:ASJ:ASK -usees:ASS:ASS -users:ASRS:ASRS -usher:AXR:AXR -using:ASNK:ASNK -usque:ASK:ASK -usual:ASL:ASL -usura:ASR:ASR -usurp:ASRP:ASRP -usury:ASR:ASR -utahn:ATN:ATN -uteri:ATR:ATR -utero:ATR:ATR -utile:ATL:ATL -utili:ATL:ATL -utrum:ATRM:ATRM -utter:ATR:ATR -uveal:AFL:AFL -uvula:AFL:AFL -uzbeg:ASPK:ASPK -uzbek:ASPK:ATSP -vacua:FK:FK -vacuo:FK:FK -vades:FTS:FTS -vadis:FTS:FTS -vagal:FKL:FKL -vague:FK:FK -vagus:FKS:FKS -vakil:FKL:FKL -vales:FLS:FLS -valet:FLT:FLT -valid:FLT:FLT -valor:FLR:FLR -valse:FLS:FLS -value:FL:FL -valva:FLF:FLF -valve:FLF:FLF -vamps:FMPS:FMPS -vaned:FNT:FNT -vanes:FNS:FNS -vapid:FPT:FPT -vapor:FPR:FPR -varia:FR:FR -varix:FRKS:FRKS -varum:FRM:FRM -varus:FRS:FRS -varve:FRF:FRF -vasal:FSL:FSL -vases:FSS:FSS -vasto:FST:FST -vater:FTR:FTR -vatic:FTK:FTK -vault:FLT:FLT -vaunt:FNT:FNT -vaxen:FKSN:FKSN -vedic:FTK:FTK -veeps:FPS:FPS -veers:FRS:FRS -vegan:FKN:FKN -vegas:FKS:FKS -veils:FLS:FLS -veins:FNS:FNS -veiny:FN:FN -velar:FLR:FLR -veldt:FLT:FLT -velum:FLM:FLM -venae:FN:FN -venal:FNL:FNL -vendi:FNT:FNT -vends:FNTS:FNTS -venin:FNN:FNN -venit:FNT:FNT -venom:FNM:FNM -vente:FNT:FNT -vents:FNTS:FNTS -venue:FN:FN -venus:FNS:FNS -verae:FR:FR -verba:FRP:FRP -verbs:FRPS:FRPS -verde:FRT:FRT -verdi:FRT:FRT -verge:FRJ:FRK -versa:FRS:FRS -verse:FRS:FRS -verso:FRS:FRS -verst:FRST:FRST -verve:FRF:FRF -vesta:FST:FST -vests:FSTS:FSTS -vetch:FX:FX -vexed:FKST:FKST -vexer:FKSR:FKSR -vexes:FKSS:FKSS -viaes:FS:FS -vials:FLS:FLS -viand:FNT:FNT -vibes:FPS:FPS -vibex:FPKS:FPKS -vicar:FKR:FKR -vices:FSS:FSS -vichy:FX:FK -video:FT:FT -views:FS:FS -viewy:F:F -vigil:FJL:FKL -vigor:FKR:FKR -viler:FLR:FLR -villa:FL:FL -villi:FL:FL -vimen:FMN:FMN -vinca:FNK:FNK -vinci:FNS:FNS -vined:FNT:FNT -vines:FNS:FNS -vinic:FNK:FNK -vinyl:FNL:FNL -viola:FL:FL -viols:FLS:FLS -viper:FPR:FPR -viral:FRL:FRL -vireo:FR:FR -vires:FRS:FRS -virga:FRK:FRK -virgo:FRK:FRK -virtu:FRT:FRT -virum:FRM:FRM -virus:FRS:FRS -visas:FSS:FSS -vised:FST:FST -vises:FSS:FSS -visit:FST:FST -visne:FSN:FSN -visor:FSR:FSR -vista:FST:FST -visum:FSM:FSM -vitae:FT:FT -vital:FTL:FTL -vitam:FTM:FTM -vitro:FTR:FTR -vitta:FT:FT -vitus:FTS:FTS -vivax:FFKS:FFKS -vivid:FFT:FFT -vivos:FFS:FFS -vivre:FFR:FFR -vivum:FFM:FFM -vixen:FKSN:FKSN -vizor:FSR:FSR -vobis:FPS:FPS -vocal:FKL:FKL -vocat:FKT:FKT -voces:FSS:FSS -vodka:FTK:FTK -voges:FJS:FKS -vogue:FK:FK -voice:FS:FS -voids:FTS:FTS -voila:FL:FL -voile:FL:FL -volar:FLR:FLR -voles:FLS:FLS -volet:FLT:FLT -volga:FLK:FLK -volta:FLT:FLT -volte:FLT:FLT -volts:FLTS:FLTS -volva:FLF:FLF -vomer:FMR:FMR -vomit:FMT:FMT -voted:FTT:FTT -voter:FTR:FTR -votes:FTS:FTS -vouch:FK:FK -vowed:FT:FT -vowel:FL:FL -vower:FR:FR -vults:FLTS:FLTS -vying:FNK:FNK -wacky:AK:FK -waddy:AT:FT -waded:ATT:FTT -wader:ATR:FTR -wades:ATS:FTS -wadis:ATS:FTS -wafer:AFR:FFR -wafts:AFTS:FFTS -waged:AJT:FKT -wager:AKR:FJR -wages:AJS:FKS -wagga:AK:FK -wagon:AKN:FKN -wahoo:AH:FH -waifs:AFS:FFS -wails:ALS:FLS -waist:AST:FST -waits:ATS:FTS -waive:AF:FF -waked:AKT:FKT -waken:AKN:FKN -wakes:AKS:FKS -waled:ALT:FLT -wales:ALS:FLS -walks:ALKS:FLKS -walls:ALS:FLS -waltz:ALTS:FLTS -wands:ANTS:FNTS -waned:ANT:FNT -wanes:ANS:FNS -waney:AN:FN -wanly:ANL:FNL -wants:ANTS:FNTS -wards:ARTS:FRTS -wares:ARS:FRS -warms:ARMS:FRMS -warns:ARNS:FRNS -warps:ARPS:FRPS -warts:ARTS:FRTS -warty:ART:FRT -washy:AX:FX -wasps:ASPS:FSPS -waspy:ASP:FSP -waste:AST:FST -wasty:AST:FST -watch:AX:FX -water:ATR:FTR -watts:ATS:FTS -waugh:AK:FK -waved:AFT:FFT -waver:AFR:FFR -waves:AFS:FFS -waxed:AKST:FKST -waxen:AKSN:FKSN -waxer:AKSR:FKSR -waxes:AKSS:FKSS -wayne:AN:FN -weald:ALT:FLT -weals:ALS:FLS -weans:ANS:FNS -wears:ARS:FRS -weary:AR:FR -weave:AF:FF -webby:AP:FP -weber:APR:FPR -wedge:AJ:FJ -wedgy:AJ:FJ -weeds:ATS:FTS -weedy:AT:FT -weeks:AKS:FKS -weeny:AN:FN -weeps:APS:FPS -weepy:AP:FP -weest:AST:FST -wefts:AFTS:FFTS -weigh:A:F -weird:ART:FRT -weirs:ARS:FRS -welch:ALX:FLK -welds:ALTS:FLTS -we'll:AL:FL -wells:ALS:FLS -welly:AL:FL -welsh:ALX:FLX -welts:ALTS:FLTS -wench:ANX:FNK -wends:ANTS:FNTS -we're:AR:FR -wetly:ATL:FTL -we've:AF:FF -whack:AK:AK -whale:AL:AL -whams:AMS:AMS -whang:ANK:ANK -wharf:ARF:ARF -whaup:AP:AP -wheal:AL:AL -wheat:AT:AT -wheel:AL:AL -whelk:ALK:ALK -whelm:ALM:ALM -whelp:ALP:ALP -where:AR:AR -whets:ATS:ATS -which:AX:AK -whies:AS:AS -whiff:AF:AF -whigs:AKS:AKS -while:AL:AL -whims:AMS:AMS -whine:AN:AN -whiny:AN:AN -whips:APS:APS -whirl:ARL:ARL -whirr:AR:AR -whirs:ARS:ARS -whisk:ASK:ASK -whist:AST:AST -white:AT:AT -whity:AT:AT -who'd:AT:AT -whole:AL:AL -whoop:AP:AP -whorl:ARL:ARL -who's:AS:AS -whose:AS:AS -whoso:AS:AS -wicks:AKS:FKS -widal:ATL:FTL -widen:ATN:FTN -wider:ATR:FTR -widow:AT:FTF -width:AT:FT -wield:ALT:FLT -wifed:AFT:FFT -wight:AT:FT -wigwa:AK:FK -wilds:ALTS:FLTS -wiled:ALT:FLT -wiles:ALS:FLS -wilga:ALK:FLK -wills:ALS:FLS -willy:AL:FL -wilms:ALMS:FLMS -wilts:ALTS:FLTS -wince:ANS:FNS -winch:ANX:FNK -winds:ANTS:FNTS -windy:ANT:FNT -wined:ANT:FNT -winer:ANR:FNR -wines:ANS:FNS -wings:ANKS:FNKS -winks:ANKS:FNKS -winos:ANS:FNS -wiped:APT:FPT -wiper:APR:FPR -wipes:APS:FPS -wired:ART:FRT -wirer:ARR:FRR -wires:ARS:FRS -wised:AST:FST -wiser:ASR:FSR -wishy:AX:FX -wisps:ASPS:FSPS -wispy:ASP:FSP -witan:ATN:FTN -witch:AX:FX -withe:A0:FT -withy:A0:FT -witty:AT:FT -wived:AFT:FFT -wives:AFS:FFS -wizen:ASN:FTSN -woads:ATS:FTS -wodge:AJ:FJ -woken:AKN:FKN -wokes:AKS:FKS -woman:AMN:FMN -wombs:AMPS:FMPS -women:AMN:FMN -wonga:ANK:FNK -wonky:ANK:FNK -won't:ANT:FNT -wonts:ANTS:FNTS -woods:ATS:FTS -woody:AT:FT -wooed:AT:FT -wooer:AR:FR -woofs:AFS:FFS -woolf:ALF:FLF -wools:ALS:FLS -wooly:AL:FL -woozy:AS:FTS -words:ARTS:FRTS -wordy:ART:FRT -works:ARKS:FRKS -world:ARLT:FRLT -worms:ARMS:FRMS -wormy:ARM:FRM -worry:AR:FR -worse:ARS:FRS -worst:ARST:FRST -worth:AR0:FRT -would:ALT:FLT -wound:ANT:FNT -woven:AFN:FFN -wowed:AT:FT -wrack:RK:RK -wraps:RPS:RPS -wrath:R0:RT -wreak:RK:RK -wreck:RK:RK -wrens:RNS:RNS -wrest:RST:RST -wrier:RR:RR -wring:RNK:RNK -wrist:RST:RST -write:RT:RT -writs:RTS:RTS -wrong:RNK:RNK -wrote:RT:RT -wroth:R0:RT -wrung:RNK:RNK -wryer:RR:RR -wryly:RL:RL -wurst:ARST:FRST -xebec:SPK:SPK -xenia:SN:SN -xenic:SNK:SNK -xenon:SNN:SNN -xeric:SRK:SRK -xerox:SRKS:SRKS -xrays:SRS:SRS -xviii:SF:SF -xylan:SLN:SLN -xylem:SLM:SLM -xylol:SLL:SLL -xylyl:SLL:SLL -xysma:SSM:SSM -yacht:AKT:AKT -yahoo:AH:AH -yakka:AK:AK -yanks:ANKS:ANKS -yapok:APK:APK -yappy:AP:AP -yards:ARTS:ARTS -yarns:ARNS:ARNS -yawed:AT:AT -yawls:ALS:ALS -yawns:ANS:ANS -yawps:APS:APS -yeans:ANS:ANS -yearn:ARN:ARN -years:ARS:ARS -yeast:AST:AST -yeggs:AKS:AKS -yells:ALS:ALS -yelps:ALPS:ALPS -yemen:AMN:AMN -yeses:ASS:ASS -yetis:ATS:ATS -yield:ALT:ALT -yobbo:AP:AP -yodel:ATL:ATL -yogis:AJS:AKS -yoked:AKT:AKT -yokel:AKL:AKL -yokes:AKS:AKS -yolks:ALKS:ALKS -yolky:ALK:ALK -yorks:ARKS:ARKS -you'd:AT:AT -young:ANK:ANK -yours:ARS:ARS -youth:A0:AT -yowls:ALS:ALS -yucca:AK:AK -yucky:AK:AK -yukon:AKN:AKN -yulan:ALN:ALN -yummy:AM:AM -yurts:ARTS:ARTS -zaire:SR:SR -zamia:SM:SM -zappy:SP:SP -zebra:SPR:SPR -zebus:SPS:SPS -zener:SNR:SNR -zeros:SRS:SRS -zesty:SST:SST -zibet:SPT:SPT -zilch:SLX:SLK -zincs:SNKS:SNKS -zincy:SNS:SNS -zings:SNKS:SNKS -zingy:SNK:SNJ -zinky:SNK:SNK -zippy:SP:SP -zloty:SLT:SLT -zoeae:S:S -zonae:SN:SN -zonal:SNL:SNL -zonas:SNS:SNS -zoned:SNT:SNT -zones:SNS:SNS -zooid:ST:ST -zooms:SMS:SMS -zulus:SLS:SLS -zunis:SNS:SNS -zygia:SJ:SK -abacus:APKS:APKS -abased:APST:APST -abaser:APSR:APSR -abases:APSS:APSS -abasia:APS:APX -abated:APTT:APTT -abater:APTR:APTR -abates:APTS:APTS -abatis:APTS:APTS -abator:APTR:APTR -abbacy:APS:APS -abbess:APS:APS -abbeys:APS:APS -abbots:APTS:APTS -abbott:APT:APT -abbrev:APRF:APRF -abduce:APTS:APTS -abduct:APTK:APTK -abhors:APRS:APRS -abided:APTT:APTT -abider:APTR:APTR -abides:APTS:APTS -abient:APNT:APNT -abject:APJK:APJK -abjure:APJR:APJR -ablate:APLT:APLT -ablaze:APLS:APLS -ablest:APLS:APLS -abloom:APLM:APLM -ablute:APLT:APLT -aboard:APRT:APRT -abodes:APTS:APTS -aborad:APRT:APRT -aboral:APRL:APRL -aborts:APRT:APRT -abound:APNT:APNT -abrade:APRT:APRT -abroad:APRT:APRT -abrupt:APRP:APRP -abscam:APSK:APSK -abseil:APSL:APSL -absent:APSN:APSN -absorb:APSR:APSR -absque:APSK:APSK -absurd:APSR:APSR -abulia:APL:APL -abulic:APLK:APLK -abused:APST:APST -abuser:APSR:APSR -abuses:APSS:APSS -abysms:APSM:APSM -acacia:AKS:AKX -acadia:AKT:AKT -acarid:AKRT:AKRT -acarus:AKRS:AKRS -accede:AKST:AKST -accent:AKSN:AKSN -accept:AKSP:AKSP -access:AKSS:AKSS -accord:AKRT:AKRT -accost:AKST:AKST -accrue:AKR:AKR -accuse:AKS:AKS -acedia:AST:AST -acetal:ASTL:ASTL -acetic:ASTK:ASTK -acetin:ASTN:ASTN -acetol:ASTL:ASTL -acetum:ASTM:ASTM -acetyl:ASTL:ASTL -achene:AXN:AKN -achier:AX:AKR -aching:AXNK:AKNK -acidic:ASTK:ASTK -acidly:ASTL:ASTL -acidyl:ASTL:ASTL -acinar:ASNR:ASNR -acinic:ASNK:ASNK -acinus:ASNS:ASNS -ackees:AKS:AKS -acoine:AKN:AKN -acorns:AKRN:AKRN -acquit:AKT:AKT -acrose:AKRS:AKRS -across:AKRS:AKRS -actaea:AKT:AKT -actant:AKTN:AKTN -acting:AKTN:AKTN -action:AKXN:AKXN -active:AKTF:AKTF -actors:AKTR:AKTR -actual:AKTL:AKTL -acuity:AKT:AKT -acumen:AKMN:AKMN -acuter:AKTR:AKTR -adages:ATJS:ATKS -adagio:ATJ:ATK -adapts:ATPT:ATPT -addend:ATNT:ATNT -adders:ATRS:ATRS -addict:ATKT:ATKT -adding:ATNK:ATNK -addled:ATLT:ATLT -addles:ATLS:ATLS -adduce:ATS:ATS -adduct:ATKT:ATKT -adenyl:ATNL:ATNL -adeste:ATST:ATST -adhere:ATR:ATR -adient:ATNT:ATNT -adieus:ATS:ATS -adieux:ATKS:ATKS -adipes:ATPS:ATPS -adipic:ATPK:ATPK -aditio:ATT:ATT -aditus:ATTS:ATTS -adjoin:ATJN:ATJN -adjure:ATJR:ATJR -adjust:ATJS:ATJS -admass:ATMS:ATMS -admire:ATMR:ATMR -admits:ATMT:ATMT -adnate:ATNT:ATNT -adnexa:ATNK:ATNK -adnoun:ATNN:ATNN -adobes:ATPS:ATPS -adolph:ATLF:ATLF -adonis:ATNS:ATNS -adopts:ATPT:ATPT -adoral:ATRL:ATRL -adored:ATRT:ATRT -adorer:ATRR:ATRR -adores:ATRS:ATRS -adorns:ATRN:ATRN -adrian:ATRN:ATRN -adrift:ATRF:ATRF -adroit:ATRT:ATRT -adsorb:ATSR:ATSR -adults:ATLT:ATLT -advent:ATFN:ATFN -adverb:ATFR:ATFR -advert:ATFR:ATFR -advice:ATFS:ATFS -advise:ATFS:ATFS -adzuki:ATSK:ATTS -aegean:AJN:AKN -aeneas:ANS:ANS -aeolic:ALK:ALK -aerate:ART:ART -aerial:ARL:ARL -aeries:ARS:ARS -aerify:ARF:ARF -aerobe:ARP:ARP -aerugo:ARK:ARK -affair:AFR:AFR -affect:AFKT:AFKT -affine:AFN:AFN -affirm:AFRM:AFRM -afflux:AFLK:AFLK -afford:AFRT:AFRT -affray:AFR:AFR -afghan:AFKN:AFKN -afield:AFLT:AFLT -aflame:AFLM:AFLM -afloat:AFLT:AFLT -afraid:AFRT:AFRT -afresh:AFRX:AFRX -africa:AFRK:AFRK -aftosa:AFTS:AFTS -agamic:AKMK:AKMK -agaric:AKRK:AKRK -agates:AKTS:AKTS -agatha:AK0:AKT -agaves:AKFS:AKFS -ageing:AJNK:AKNK -ageism:AJSM:AKSM -ageist:AJST:AKST -agency:AJNS:AKNS -agenda:AJNT:AKNT -agents:AJNT:AKNT -aggers:AKRS:AKRS -aghast:AKST:AKST -agilon:AJLN:AKLN -agists:AJST:AKST -agleam:AKLM:AKLM -agnail:AKNL:ANL -agnate:AKNT:ANT -agnise:AKNS:ANS -agonal:AKNL:AKNL -agonic:AKNK:AKNK -agouti:AKT:AKT -agouty:AKT:AKT -agrafe:AKRF:AKRF -agreed:AKRT:AKRT -agreer:AKRR:AKRR -agrees:AKRS:AKRS -aguish:AKX:AKX -aiders:ATRS:ATRS -aiding:ATNK:ATNK -aidman:ATMN:ATMN -aidmen:ATMN:ATMN -aigret:AKRT:AKRT -aikido:AKT:AKT -ailing:ALNK:ALNK -aimers:AMRS:AMRS -aiming:AMNK:AMNK -ainhum:ANM:ANM -airbag:ARPK:ARPK -airers:ARRS:ARRS -airier:AR:ARR -airily:ARL:ARL -airing:ARNK:ARNK -airman:ARMN:ARMN -airmen:ARMN:ARMN -airway:AR:AR -aisled:ALT:ALT -aisles:ALS:ALS -aiwain:AN:AN -ajowan:AJN:AJN -akimbo:AKMP:AKMP -alalia:ALL:ALL -alanyl:ALNL:ALNL -alares:ALRS:ALRS -alaris:ALRS:ALRS -alarms:ALRM:ALRM -alarum:ALRM:ALRM -alaska:ALSK:ALSK -alated:ALTT:ALTT -albans:ALPN:ALPN -albany:ALPN:ALPN -albedo:ALPT:ALPT -albeit:ALPT:ALPT -albert:ALPR:ALPR -albino:ALPN:ALPN -albugo:ALPK:ALPK -albums:ALPM:ALPM -alcock:ALKK:ALKK -alcove:ALKF:ALKF -alders:ALTR:ALTR -aldose:ALTS:ALTS -aldrin:ALTR:ALTR -alerts:ALRT:ALRT -alevin:ALFN:ALFN -alexia:ALKS:ALKS -alexic:ALKS:ALKS -alexin:ALKS:ALKS -alfred:ALFR:ALFR -algaes:ALKS:ALKS -algoid:ALKT:ALKT -alibis:ALPS:ALPS -aliena:ALN:ALN -alieni:ALN:ALN -alieno:ALN:ALN -aliens:ALNS:ALNS -alight:ALT:ALT -aligns:ALNS:ALKN -alikes:ALKS:ALKS -aliped:ALPT:ALPT -alison:ALSN:ALSN -alkali:ALKL:ALKL -alkane:ALKN:ALKN -alkene:ALKN:ALKN -alkide:ALKT:ALKT -alkyds:ALKT:ALKT -alkyne:ALKN:ALKN -allays:ALS:ALS -allege:ALJ:ALK -allele:ALL:ALL -alleys:ALS:ALS -allied:ALT:ALT -allies:ALS:ALS -alliin:ALN:ALN -allium:ALM:ALM -allods:ALTS:ALTS -allose:ALS:ALS -allots:ALTS:ALTS -allows:ALS:ALS -alloys:ALS:ALS -allude:ALT:ALT -allure:ALR:ALR -almoin:ALMN:ALMN -almond:ALMN:ALMN -almost:ALMS:ALMS -alnico:ALNK:ALNK -alogia:ALJ:ALK -alohas:ALHS:ALHS -alpaca:ALPK:ALPK -alpine:ALPN:ALPN -alsace:ALSS:ALSS -altars:ALTR:ALTR -altere:ALTR:ALTR -alters:ALTR:ALTR -althea:AL0:ALT -altius:ALTS:ALTS -alumna:ALMN:ALMN -alumni:ALMN:ALMN -alveus:ALFS:ALFS -always:ALS:ALS -amahes:AMHS:AMHS -amanda:AMNT:AMNT -amarga:AMRK:AMRK -amazed:AMST:AMST -amazer:AMSR:AMSR -amazes:AMSS:AMSS -amazon:AMSN:AMSN -ambled:AMPL:AMPL -ambler:AMPL:AMPL -ambles:AMPL:AMPL -ambush:AMPX:AMPX -amebas:AMPS:AMPS -amebic:AMPK:AMPK -amelia:AML:AML -amelus:AMLS:AMLS -amende:AMNT:AMNT -amends:AMNT:AMNT -amerce:AMRS:AMRS -amicus:AMKS:AMKS -amides:AMTS:AMTS -amidic:AMTK:AMTK -amidst:AMTS:AMTS -amigos:AMKS:AMKS -amimia:AMM:AMM -amixia:AMKS:AMKS -amnion:AMNN:AMNN -amoeba:AMP:AMP -amoral:AMRL:AMRL -amount:AMNT:AMNT -amoved:AMFT:AMFT -amoves:AMFS:AMFS -ampere:AMPR:AMPR -ampler:AMPL:AMPL -ampule:AMPL:AMPL -ampuls:AMPL:AMPL -amtrac:AMTR:AMTR -amtrak:AMTR:AMTR -amulet:AMLT:AMLT -amused:AMST:AMST -amuser:AMSR:AMSR -amuses:AMSS:AMSS -amusia:AMS:AMX -amylum:AMLM:AMLM -anadem:ANTM:ANTM -anally:ANL:ANL -analog:ANLK:ANLK -anchor:ANXR:ANKR -ancien:ANSN:ANXN -andean:ANTN:ANTN -anders:ANTR:ANTR -anding:ANTN:ANTN -andira:ANTR:ANTR -andrew:ANTR:ANTR -anemia:ANM:ANM -anemic:ANMK:ANMK -anergy:ANRJ:ANRK -angary:ANKR:ANKR -angela:ANJL:ANKL -angels:ANJL:ANKL -angers:ANKR:ANJR -angina:ANJN:ANKN -angled:ANKL:ANKL -angler:ANKL:ANKL -angles:ANKL:ANKL -anglos:ANKL:ANKL -angola:ANKL:ANKL -angora:ANKR:ANKR -anguli:ANKL:ANKL -anhalt:ANLT:ANLT -animal:ANML:ANML -animus:ANMS:ANMS -anions:ANNS:ANNS -anises:ANSS:ANSS -anisic:ANSK:ANSK -ankara:ANKR:ANKR -ankles:ANKL:ANKL -anklet:ANKL:ANKL -anlage:ANLJ:ANLK -annals:ANLS:ANLS -anneal:ANL:ANL -annexa:ANKS:ANKS -annexe:ANKS:ANKS -annexo:ANKS:ANKS -annoys:ANS:ANS -annual:ANL:ANL -annuli:ANL:ANL -annuls:ANLS:ANLS -anodal:ANTL:ANTL -anodes:ANTS:ANTS -anodic:ANTK:ANTK -anoint:ANNT:ANNT -anomer:ANMR:ANMR -anomia:ANM:ANM -anomic:ANMK:ANMK -anomie:ANM:ANM -anonym:ANNM:ANNM -anopia:ANP:ANP -anorak:ANRK:ANRK -anoxia:ANKS:ANKS -anoxic:ANKS:ANKS -ansate:ANST:ANST -answer:ANSR:ANSR -anteed:ANTT:ANTT -anthea:AN0:ANT -anthem:AN0M:ANTM -anther:AN0R:ANTR -antick:ANTK:ANTK -antics:ANTK:ANTK -anting:ANTN:ANTN -antler:ANTL:ANTL -antony:ANTN:ANTN -antral:ANTR:ANTR -antrim:ANTR:ANTR -antrum:ANTR:ANTR -anuria:ANR:ANR -anuses:ANSS:ANSS -anvils:ANFL:ANFL -anyhow:ANH:ANHF -anyone:ANN:ANN -anyway:AN:AN -anzaas:ANSS:ANSS -aorist:ARST:ARST -aortae:ART:ART -aortal:ARTL:ARTL -aortas:ARTS:ARTS -aortic:ARTK:ARTK -aoudad:ATT:ATT -apache:APX:APK -apathy:AP0:APT -apeman:APMN:APMN -apemen:APMN:APMN -apercu:APRK:APRK -apexes:APKS:APKS -aphids:AFTS:AFTS -aphony:AFN:AFN -aphtha:AF0:AFT -apiary:APR:APR -apical:APKL:APKL -apices:APSS:APSS -apiece:APS:APS -aplomb:APLM:APLM -apneic:APNK:APNK -apnoea:APN:APN -apodal:APTL:APTL -apodia:APT:APT -apogee:APJ:APK -apolar:APLR:APLR -apollo:APL:APL -aporia:APR:APR -apozem:APSM:APSM -appall:APL:APL -appals:APLS:APLS -appeal:APL:APL -appear:APR:APR -appels:APLS:APLS -append:APNT:APNT -appian:APN:APN -apples:APLS:APLS -apport:APRT:APRT -appose:APS:APS -approx:APRK:APRK -aprons:APRN:APRN -aptest:APTS:APTS -araban:ARPN:ARPN -arabia:ARP:ARP -arabic:ARPK:ARPK -arabis:ARPS:ARPS -arable:ARPL:ARPL -aralia:ARL:ARL -ararat:ARRT:ARRT -arbors:ARPR:ARPR -arcade:ARKT:ARKT -arcady:ARKT:ARKT -arcana:ARKN:ARKN -arcane:ARKN:ARKN -arched:ARXT:ARKT -archei:ARX:ARK -archer:ARXR:ARKR -arches:ARXS:ARKS -archil:ARXL:ARKL -archly:ARXL:ARKL -archon:ARXN:ARKN -arcing:ARSN:ARSN -arcked:ARKT:ARKT -arctic:ARKT:ARKT -arcual:ARKL:ARKL -ardent:ARTN:ARTN -ardors:ARTR:ARTR -areata:ART:ART -arenas:ARNS:ARNS -aren't:ARNT:ARNT -areola:ARL:ARL -aretes:ARTS:ARTS -argali:ARKL:ARKL -argals:ARKL:ARKL -argent:ARJN:ARKN -argosy:ARKS:ARKS -argots:ARKT:ARKT -argued:ARKT:ARKT -arguer:ARKR:ARKR -argues:ARKS:ARKS -argyle:ARJL:ARKL -argyll:ARJL:ARKL -aridly:ARTL:ARTL -aright:ART:ART -arisen:ARSN:ARSN -ariser:ARSR:ARSR -arises:ARSS:ARSS -arista:ARST:ARST -armada:ARMT:ARMT -armagh:ARMK:ARMK -armers:ARMR:ARMR -armful:ARMF:ARMF -armies:ARMS:ARMS -arming:ARMN:ARMN -armlet:ARML:ARML -armors:ARMR:ARMR -armory:ARMR:ARMR -armpit:ARMP:ARMP -armure:ARMR:ARMR -army's:ARMS:ARMS -arnhem:ARNM:ARNM -arnica:ARNK:ARNK -arnold:ARNL:ARNL -aromas:ARMS:ARMS -around:ARNT:ARNT -arouse:ARS:ARS -arrack:ARK:ARK -arrame:ARM:ARM -arrant:ARNT:ARNT -arrays:ARS:ARS -arrear:ARR:ARR -arrent:ARNT:ARNT -arrest:ARST:ARST -arrhae:AR:AR -arrive:ARF:ARF -arrows:ARS:ARS -arroyo:AR:AR -arsine:ARSN:ARSN -artery:ARTR:ARTR -artful:ARTF:ARTF -arthur:AR0R:ARTR -arthus:AR0S:ARTS -artiad:ARXT:ARXT -artier:ART:ARTR -artily:ARTL:ARTL -artist:ARTS:ARTS -aryans:ARNS:ARNS -asanas:ASNS:ASNS -asarum:ASRM:ASRM -ascend:ASNT:ASNT -ascent:ASNT:ASNT -ascots:ASKT:ASKT -asemia:ASM:ASM -ashame:AXM:AXM -ashets:AXTS:AXTS -ashier:AX:AXR -ashkey:AXK:AXK -ashlar:AXLR:AXLR -ashman:AXMN:AXMN -ashore:AXR:AXR -ashram:AXRM:AXRM -ashton:AXTN:AXTN -asians:ASNS:AXNS -asides:ASTS:ASTS -askant:ASKN:ASKN -askari:ASKR:ASKR -askers:ASKR:ASKR -asking:ASKN:ASKN -aslant:ASLN:ASLN -asleep:ASLP:ASLP -aspect:ASPK:ASPK -aspens:ASPN:ASPN -aspics:ASPK:ASPK -aspire:ASPR:ASPR -assail:ASL:ASL -assart:ASRT:ASRT -assays:ASS:ASS -assent:ASNT:ASNT -assert:ASRT:ASRT -assess:ASS:ASS -assets:ASTS:ASTS -assign:ASN:ASKN -assisi:ASS:ASS -assist:ASST:ASST -assize:ASS:ASS -assort:ASRT:ASRT -assume:ASM:ASM -assure:ASR:ASR -astern:ASTR:ASTR -asters:ASTR:ASTR -asthma:AS0M:ASTM -astral:ASTR:ASTR -astray:ASTR:ASTR -astrol:ASTR:ASTR -astute:ASTT:ASTT -aswarm:ASRM:ASRM -asylum:ASLM:ASLM -atavic:ATFK:ATFK -ataxia:ATKS:ATKS -ataxic:ATKS:ATKS -athena:A0N:ATN -athens:A0NS:ATNS -atloid:ATLT:ATLT -atocia:ATS:ATX -atolls:ATLS:ATLS -atomic:ATMK:ATMK -atonal:ATNL:ATNL -atoned:ATNT:ATNT -atoner:ATNR:ATNR -atones:ATNS:ATNS -atonia:ATN:ATN -atonic:ATNK:ATNK -atopen:ATPN:ATPN -atopic:ATPK:ATPK -atoxic:ATKS:ATKS -atpase:ATPS:ATPS -atrial:ATRL:ATRL -atrium:ATRM:ATRM -atropa:ATRP:ATRP -attach:ATK:ATK -attack:ATK:ATK -attain:ATN:ATN -attars:ATRS:ATRS -attend:ATNT:ATNT -attest:ATST:ATST -attics:ATKS:ATKS -attila:ATL:ATL -attire:ATR:ATR -attorn:ATRN:ATRN -attrib:ATRP:ATRP -attune:ATN:ATN -atypia:ATP:ATP -aubrey:APR:APR -auburn:APRN:APRN -auctor:AKTR:AKTR -audile:ATL:ATL -audita:ATT:ATT -audits:ATTS:ATTS -audrey:ATR:ATR -augean:AJN:AKN -augend:AJNT:AKNT -augers:AKRS:AJRS -augurs:AKRS:AKRS -augury:AKR:AKR -august:AKST:AKST -auklet:AKLT:AKLT -aulaes:ALS:ALS -auntie:ANT:ANT -auraes:ARS:ARS -aurist:ARST:ARST -aurora:ARR:ARR -aurous:ARS:ARS -aussie:AS:AS -austin:ASTN:ASTN -author:A0R:ATR -autism:ATSM:ATSM -autumn:ATMN:ATMN -auxins:AKSN:AKSN -avails:AFLS:AFLS -avatar:AFTR:AFTR -avaunt:AFNT:AFNT -avenge:AFNJ:AFNK -avenin:AFNN:AFNN -avenue:AFN:AFN -averse:AFRS:AFRS -averts:AFRT:AFRT -aviary:AFR:AFR -aviate:AFT:AFT -avidin:AFTN:AFTN -avidly:AFTL:AFTL -avocet:AFST:AFST -avoids:AFTS:AFTS -avouch:AFK:AFK -avowal:AFL:AFL -avowed:AFT:AFT -avower:AFR:AFR -avowry:AFR:AFR -avulse:AFLS:AFLS -awaits:ATS:ATS -awaked:AKT:AKT -awaken:AKN:AKN -awakes:AKS:AKS -awards:ARTS:ARTS -aweary:AR:AR -aweigh:A:A -awhile:AL:AL -awhirl:ARL:ARL -awning:ANNK:ANNK -awoken:AKN:AKN -axenic:AKSN:AKSN -axilla:AKSL:AKSL -axioms:AKSM:AKSM -axonal:AKSN:AKSN -axones:AKSN:AKSN -axseed:AKSS:AKSS -ayahes:AHS:AHS -ayerza:ARS:ARS -azalea:ASL:ASL -azonal:ASNL:ASNL -azores:ASRS:ASRS -azotic:ASTK:ASTK -aztecs:ASTK:ASTK -azygos:ASKS:ASKS -baaing:PNK:PNK -baalim:PLM:PLM -babble:PPL:PPL -babied:PPT:PPT -babies:PPS:PPS -baboon:PPN:PPN -backed:PKT:PKT -backer:PKR:PKR -backlo:PKL:PKL -backup:PKP:PKP -bacula:PKL:PKL -baddie:PT:PT -badger:PJR:PJR -badges:PJS:PJS -badmen:PTMN:PTMN -baffin:PFN:PFN -baffle:PFL:PFL -bagels:PJLS:PKLS -bagful:PKFL:PKFL -bagged:PKT:PKT -bagger:PKR:PKR -bagman:PKMN:PKMN -bagmen:PKMN:PKMN -bagnio:PN:PKN -bahama:PHM:PHM -baikal:PKL:PKL -bailed:PLT:PLT -bailee:PL:PL -bailer:PLR:PLR -bailey:PL:PL -bailie:PL:PL -bailor:PLR:PLR -bairns:PRNS:PRNS -baited:PTT:PTT -baiter:PTR:PTR -bakers:PKRS:PKRS -bakery:PKR:PKR -baking:PKNK:PKNK -balboa:PLP:PLP -balder:PLTR:PLTR -baldly:PLTL:PLTL -baleen:PLN:PLN -balers:PLRS:PLRS -baling:PLNK:PLNK -balkan:PLKN:PLKN -balked:PLKT:PLKT -balker:PLKR:PLKR -ballad:PLT:PLT -balled:PLT:PLT -baller:PLR:PLR -ballet:PLT:PLT -ballot:PLT:PLT -balsam:PLSM:PLSM -balsas:PLSS:PLSS -baltic:PLTK:PLTK -baluns:PLNS:PLNS -balust:PLST:PLST -bamboo:PMP:PMP -banana:PNN:PNN -banded:PNTT:PNTT -bander:PNTR:PNTR -bandit:PNTT:PNTT -banged:PNJT:PNKT -banger:PNKR:PNJR -bangle:PNKL:PNKL -banish:PNX:PNX -banjos:PNJS:PNJS -banked:PNKT:PNKT -banker:PNKR:PNKR -banket:PNKT:PNKT -banned:PNT:PNT -banner:PNR:PNR -bantam:PNTM:PNTM -banter:PNTR:PNTR -bantus:PNTS:PNTS -banyan:PNN:PNN -banzai:PNS:PNS -baobab:PPP:PPP -bappsc:PPSK:PPSK -barbae:PRP:PRP -barbed:PRPT:PRPT -barbel:PRPL:PRPL -barber:PRPR:PRPR -barbet:PRPT:PRPT -bardic:PRTK:PRTK -barely:PRL:PRL -barest:PRST:PRST -barfed:PRFT:PRFT -barfly:PRFL:PRFL -barged:PRJT:PRKT -bargee:PRJ:PRK -barges:PRJS:PRKS -baring:PRNK:PRNK -barite:PRT:PRT -barium:PRM:PRM -barked:PRKT:PRKT -barker:PRKR:PRKR -barley:PRL:PRL -barman:PRMN:PRMN -barmen:PRMN:PRMN -barnet:PRNT:PRNT -barney:PRN:PRN -barons:PRNS:PRNS -barony:PRN:PRN -barque:PRK:PRK -barrat:PRT:PRT -barred:PRT:PRT -barrel:PRL:PRL -barren:PRN:PRN -barres:PRS:PRS -barret:PRT:PRT -barrio:PR:PR -barrow:PR:PRF -barter:PRTR:PRTR -barton:PRTN:PRTN -baryes:PRS:PRS -baryon:PRN:PRN -baryta:PRT:PRT -basalt:PSLT:PSLT -basely:PSL:PSL -bashed:PXT:PXT -basher:PXR:PXR -bashes:PXS:PXS -basics:PSKS:PSKS -basify:PSF:PSF -basils:PSLS:PSLS -basing:PSNK:PSNK -basins:PSNS:PSNS -basion:PSN:PXN -basked:PSKT:PSKT -basket:PSKT:PSKT -basque:PSK:PSK -basses:PSS:PSS -basset:PST:PST -bassos:PSS:PSS -basted:PSTT:PSTT -bastes:PSTS:PSTS -bateau:PT:PT -bathed:P0T:PTT -bather:P0R:PTR -bathes:P0S:PTS -bathos:P0S:PTS -batiks:PTKS:PTKS -bating:PTNK:PTNK -batman:PTMN:PTMN -batmen:PTMN:PTMN -batons:PTNS:PTNS -batted:PTT:PTT -batten:PTN:PTN -batter:PTR:PTR -battle:PTL:PTL -bauble:PPL:PPL -bauhin:PHN:PHN -bawbee:PP:PP -bawdry:PTR:PTR -bawled:PLT:PLT -bawler:PLR:PLR -baying:PNK:PNK -bayous:PS:PS -bazaar:PSR:PSR -beacon:PKN:PKN -beaded:PTT:PTT -beadle:PTL:PTL -beagle:PKL:PKL -beaked:PKT:PKT -beaker:PKR:PKR -beamed:PMT:PMT -beamer:PMR:PMR -beanba:PNP:PNP -beaned:PNT:PNT -beaner:PNR:PNR -beanie:PN:PN -beanos:PNS:PNS -beards:PRTS:PRTS -bearer:PRR:PRR -beasts:PSTS:PSTS -beaten:PTN:PTN -beater:PTR:PTR -beatty:PT:PT -beaune:PN:PN -beauts:PTS:PTS -beauty:PT:PT -beaver:PFR:PFR -becalm:PKLM:PKLM -became:PKM:PKM -becket:PKT:PKT -beckon:PKN:PKN -become:PKM:PKM -bedaub:PTP:PTP -bedbug:PTPK:PTPK -bedded:PTT:PTT -bedder:PTR:PTR -bedeck:PTK:PTK -bedews:PTS:PTS -bedims:PTMS:PTMS -bedlam:PTLM:PTLM -bedpan:PTPN:PTPN -beechy:PX:PK -beefed:PFT:PFT -beefer:PFR:PFR -beeped:PPT:PPT -beeper:PPR:PPR -beetle:PTL:PTL -beeves:PFS:PFS -beezer:PSR:PSR -befall:PFL:PFL -befell:PFL:PFL -befits:PFTS:PFTS -befogs:PFKS:PFKS -before:PFR:PFR -befoul:PFL:PFL -begets:PKTS:PKTS -beggar:PKR:PKR -begged:PKT:PKT -begins:PJNS:PKNS -begone:PKN:PKN -begums:PKMS:PKMS -behalf:PHLF:PHLF -behave:PHF:PHF -behead:PHT:PHT -beheld:PHLT:PHLT -behest:PHST:PHST -behind:PHNT:PHNT -behold:PHLT:PHLT -behoof:PHF:PHF -behove:PHF:PHF -beigel:PJL:PKL -beings:PNKS:PNKS -beirut:PRT:PRT -belays:PLS:PLS -beldam:PLTM:PLTM -belfry:PLFR:PLFR -belial:PLL:PLL -belied:PLT:PLT -belief:PLF:PLF -belier:PL:PLR -belies:PLS:PLS -belike:PLK:PLK -belled:PLT:PLT -belles:PLS:PLS -bellow:PL:PLF -belong:PLNK:PLNK -belove:PLF:PLF -belsen:PLSN:PLSN -belted:PLTT:PLTT -beluga:PLK:PLK -bemata:PMT:PMT -bembas:PMPS:PMPS -bemire:PMR:PMR -bemoan:PMN:PMN -bemuse:PMS:PMS -bender:PNTR:PNTR -bengal:PNKL:PNKL -benign:PNN:PNKN -bennet:PNT:PNT -benumb:PNM:PNM -benzin:PNSN:PNSN -benzol:PNSL:PNSL -benzyl:PNSL:PNSL -berate:PRT:PRT -berber:PRPR:PRPR -bereft:PRFT:PRFT -berets:PRTS:PRTS -bering:PRNK:PRNK -berlin:PRLN:PRLN -bernie:PRN:PRN -bertha:PR0:PRT -berths:PR0S:PRTS -bertin:PRTN:PRTN -beryls:PRLS:PRLS -beseem:PSM:PSM -besets:PSTS:PSTS -beside:PST:PST -besoms:PSMS:PSMS -besots:PSTS:PSTS -bessel:PSL:PSL -bested:PSTT:PSTT -bestir:PSTR:PSTR -bestow:PST:PSTF -betake:PTK:PTK -betels:PTLS:PTLS -bethel:P0L:PTL -betide:PTT:PTT -betise:PTS:PTS -betony:PTN:PTN -betook:PTK:PTK -betray:PTR:PTR -betted:PTT:PTT -better:PTR:PTR -bettor:PTR:PTR -betula:PTL:PTL -bevels:PFLS:PFLS -bevies:PFS:PFS -bewail:PL:PL -beware:PR:PR -bewick:PK:PK -bexley:PKSL:PKSL -beyond:PNT:PNT -bezant:PSNT:PSNT -bezazz:PSS:PSS -bezels:PSLS:PSLS -bezoar:PSR:PSR -bhutan:PTN:PTN -bialys:PLS:PLS -biased:PST:PST -biases:PSS:PSS -bibbed:PPT:PPT -bibber:PPR:PPR -bibles:PPLS:PPLS -biblio:PPL:PPL -biceps:PSPS:PSPS -bicker:PKR:PKR -bicorn:PKRN:PKRN -bidden:PTN:PTN -bidder:PTR:PTR -bidets:PTTS:PTTS -biding:PTNK:PTNK -bienne:PN:PN -biffed:PFT:PFT -biffin:PFN:PFN -bifida:PFT:PFT -bigamy:PKM:PKM -bigger:PKR:PKR -biggie:PK:PK -biggin:PKN:PKN -bights:PTS:PTS -bigots:PKTS:PKTS -bigwig:PKK:PKK -bijoux:PJ:PH -bikers:PKRS:PKRS -bikies:PKS:PKS -biking:PKNK:PKNK -bikini:PKN:PKN -bilged:PLJT:PLKT -bilges:PLJS:PLKS -bilked:PLKT:PLKT -bilker:PLKR:PLKR -billed:PLT:PLT -biller:PLR:PLR -billet:PLT:PLT -billow:PL:PLF -billyo:PL:PL -binary:PNR:PNR -binder:PNTR:PNTR -binged:PNJT:PNKT -binges:PNJS:PNKS -binghi:PNK:PNK -bingos:PNKS:PNKS -biogas:PKS:PKS -biogen:PJN:PKN -biomes:PMS:PMS -bionic:PNK:PNK -biopsy:PPS:PPS -bioses:PSS:PSS -biotic:PTK:PTK -biotin:PTN:PTN -bipeds:PPTS:PPTS -bipods:PPTS:PPTS -birder:PRTR:PRTR -birdie:PRT:PRT -bireme:PRM:PRM -births:PR0S:PRTS -bisect:PSKT:PSKT -bishop:PXP:PXP -bisons:PSNS:PSNS -bisque:PSK:PSK -bistre:PSTR:PSTR -bistro:PSTR:PSTR -biters:PTRS:PTRS -biting:PTNK:PTNK -bitmap:PTMP:PTMP -bitted:PTT:PTT -bitten:PTN:PTN -bitter:PTR:PTR -biuret:PRT:PRT -biweek:PK:PK -biyear:PR:PR -blacks:PLKS:PLKS -bladed:PLTT:PLTT -blades:PLTS:PLTS -blahes:PLHS:PLHS -blains:PLNS:PLNS -blamed:PLMT:PLMT -blamer:PLMR:PLMR -blames:PLMS:PLMS -blanch:PLNX:PLNK -blanks:PLNK:PLNK -blared:PLRT:PLRT -blares:PLRS:PLRS -blasto:PLST:PLST -blasts:PLST:PLST -blatta:PLT:PLT -blazed:PLST:PLST -blazer:PLSR:PLSR -blazes:PLSS:PLSS -blazon:PLSN:PLSN -bleach:PLK:PLK -blears:PLRS:PLRS -bleary:PLR:PLR -bleats:PLTS:PLTS -blebby:PLP:PLP -bleeds:PLTS:PLTS -bleeps:PLPS:PLPS -blench:PLNX:PLNK -blende:PLNT:PLNT -blends:PLNT:PLNT -blenny:PLN:PLN -blight:PLT:PLT -blimey:PLM:PLM -blimps:PLMP:PLMP -blinds:PLNT:PLNT -blinis:PLNS:PLNS -blinks:PLNK:PLNK -blintz:PLNT:PLNT -blithe:PL0:PLT -bloats:PLTS:PLTS -blobby:PLP:PLP -blocks:PLKS:PLKS -blocky:PLK:PLK -blokes:PLKS:PLKS -blonde:PLNT:PLNT -blonds:PLNT:PLNT -bloods:PLTS:PLTS -bloody:PLT:PLT -blooms:PLMS:PLMS -bloomy:PLM:PLM -blotch:PLX:PLX -blotto:PLT:PLT -blouse:PLS:PLS -blower:PLR:PLR -blowsy:PLS:PLS -blowup:PLP:PLP -blowzy:PLS:PLTS -bludge:PLJ:PLJ -bluely:PLL:PLL -bluest:PLST:PLST -bluesy:PLS:PLS -bluffs:PLFS:PLFS -bluing:PLNK:PLNK -bluish:PLX:PLX -blumba:PLMP:PLMP -blunge:PLNJ:PLNK -blunts:PLNT:PLNT -blurbs:PLRP:PLRP -blurry:PLR:PLR -blurts:PLRT:PLRT -boards:PRTS:PRTS -boasts:PSTS:PSTS -boated:PTT:PTT -boatel:PTL:PTL -boater:PTR:PTR -bobbed:PPT:PPT -bobber:PPR:PPR -bobbin:PPN:PPN -bobble:PPL:PPL -bobcat:PPKT:PPKT -boblet:PPLT:PPLT -bocage:PKJ:PKK -boccie:PX:PX -bodega:PTK:PTK -bodger:PJR:PJR -bodgie:PJ:PJ -bodice:PTS:PTS -bodied:PTT:PTT -bodies:PTS:PTS -bodily:PTL:PTL -boding:PTNK:PTNK -bodkin:PTKN:PTKN -bodmin:PTMN:PTMN -boeing:PNK:PNK -boffin:PFN:PFN -bofors:PFRS:PFRS -bogart:PKRT:PKRT -bogeys:PJS:PKS -bogged:PKT:PKT -boggle:PKL:PKL -bogong:PKNK:PKNK -bogota:PKT:PKT -boiled:PLT:PLT -boiler:PLR:PLR -bolded:PLTT:PLTT -bolder:PLTR:PLTR -boldly:PLTL:PLTL -bolero:PLR:PLR -bolita:PLT:PLT -bolito:PLT:PLT -bolshy:PLX:PLX -bolted:PLTT:PLTT -bolter:PLTR:PLTR -bombay:PMP:PMP -bombed:PMPT:PMPT -bomber:PMPR:PMPR -bonbon:PNPN:PNPN -bonded:PNTT:PNTT -bonder:PNTR:PNTR -boners:PNRS:PNRS -bonged:PNJT:PNKT -bongos:PNKS:PNKS -bonier:PN:PNR -boning:PNNK:PNNK -bonism:PNSM:PNSM -bonist:PNST:PNST -bonito:PNT:PNT -bonnes:PNS:PNS -bonnet:PNT:PNT -bonnie:PN:PN -bonsai:PNS:PNS -bonyes:PNS:PNS -bonzer:PNSR:PNSR -bonzes:PNSS:PNSS -boobed:PPT:PPT -booboo:PP:PP -boodie:PT:PT -boodle:PTL:PTL -boogie:PJ:PK -booing:PNK:PNK -booked:PKT:PKT -booker:PKR:PKR -bookie:PK:PK -boomed:PMT:PMT -boosts:PSTS:PSTS -booted:PTT:PTT -bootee:PT:PT -booths:P0S:PTS -bootie:PT:PT -bootle:PTL:PTL -boozed:PST:PST -boozer:PSR:PSR -boozes:PSS:PSS -bopped:PPT:PPT -bopper:PPR:PPR -borage:PRJ:PRK -borate:PRT:PRT -border:PRTR:PRTR -bordet:PRTT:PRTT -boreal:PRL:PRL -borees:PRS:PRS -borers:PRRS:PRRS -boride:PRT:PRT -boring:PRNK:PRNK -borneo:PRN:PRN -borrel:PRL:PRL -borrow:PR:PRF -borsch:PRX:PRX -borzoi:PRS:PRS -bosket:PSKT:PSKT -bosnia:PSN:PSN -bosoms:PSMS:PSMS -bosomy:PSM:PSM -bosons:PSNS:PSNS -bossed:PST:PST -bosses:PSS:PSS -bossom:PSM:PSM -boston:PSTN:PSTN -bosuns:PSNS:PSNS -botany:PTN:PTN -botchy:PX:PX -botfly:PTFL:PTFL -bother:P0R:PTR -bottle:PTL:PTL -bottom:PTM:PTM -boucle:PKL:PKL -boughs:PS:PS -bought:PT:PT -bougie:PJ:PK -boules:PLS:PLS -boulle:PL:PL -bounce:PNS:PNS -bouncy:PNS:PNS -bounds:PNTS:PNTS -bounty:PNT:PNT -bourns:PRNS:PRNS -bourse:PRS:PRS -bouton:PTN:PTN -bovine:PFN:PFN -bovver:PFR:PFR -bowels:PLS:PLS -bowers:PRS:PRS -bowery:PR:PR -bowing:PNK:PNK -bowled:PLT:PLT -bowleg:PLK:PLK -bowler:PLR:PLR -bowman:PMN:PMN -bowmen:PMN:PMN -bowsaw:PS:PSF -bowser:PSR:PSR -bowyer:PR:PR -boxcar:PKSR:PKSR -boxers:PKSR:PKSR -boxful:PKSF:PKSF -boxing:PKSN:PKSN -boxtop:PKST:PKST -boyang:PNK:PNK -boyish:PX:PX -braced:PRST:PRST -bracer:PRSR:PRSR -braces:PRSS:PRSS -bracts:PRKT:PRKT -brahma:PRM:PRM -brahms:PRMS:PRMS -braids:PRTS:PRTS -brails:PRLS:PRLS -brains:PRNS:PRNS -brainy:PRN:PRN -braise:PRS:PRS -braked:PRKT:PRKT -brakes:PRKS:PRKS -branch:PRNX:PRNK -brando:PRNT:PRNT -brands:PRNT:PRNT -brandy:PRNT:PRNT -brashy:PRX:PRX -brassy:PRS:PRS -bratty:PRT:PRT -braved:PRFT:PRFT -braver:PRFR:PRFR -braves:PRFS:PRFS -bravos:PRFS:PRFS -brawls:PRLS:PRLS -brawly:PRL:PRL -brawny:PRN:PRN -brayed:PRT:PRT -brayer:PRR:PRR -brazed:PRST:PRST -brazen:PRSN:PRSN -brazer:PRSR:PRSR -brazes:PRSS:PRSS -brazil:PRSL:PRSL -breach:PRK:PRK -breads:PRTS:PRTS -breaks:PRKS:PRKS -breams:PRMS:PRMS -breast:PRST:PRST -breath:PR0:PRT -brecon:PRKN:PRKN -breech:PRK:PRK -breeds:PRTS:PRTS -breeze:PRS:PRS -breezy:PRS:PRS -bregma:PRKM:PRKM -bremen:PRMN:PRMN -brenda:PRNT:PRNT -breton:PRTN:PRTN -breves:PRFS:PRFS -brevet:PRFT:PRFT -brevia:PRF:PRF -brevis:PRFS:PRFS -brewed:PRT:PRT -brewer:PRR:PRR -brewis:PRS:PRS -briard:PRRT:PRRT -briars:PRRS:PRRS -briary:PRR:PRR -bribed:PRPT:PRPT -bribee:PRP:PRP -briber:PRPR:PRPR -bribes:PRPS:PRPS -bricks:PRKS:PRKS -bridal:PRTL:PRTL -brides:PRTS:PRTS -bridge:PRJ:PRJ -bridle:PRTL:PRTL -briefs:PRFS:PRFS -briers:PRRS:PRRS -briery:PRR:PRR -bright:PRT:PRT -brings:PRNK:PRNK -brinks:PRNK:PRNK -briony:PRN:PRN -b'rith:PR0:PRT -briton:PRTN:PRTN -broach:PRK:PRK -broads:PRTS:PRTS -broche:PRX:PRK -brogan:PRKN:PRKN -brogue:PRK:PRK -broils:PRLS:PRLS -broken:PRKN:PRKN -broker:PRKR:PRKR -brolga:PRLK:PRLK -brolly:PRL:PRL -bromic:PRMK:PRMK -bromos:PRMS:PRMS -bronco:PRNK:PRNK -bronze:PRNS:PRNS -bronzy:PRNS:PRNS -brooch:PRK:PRK -broods:PRTS:PRTS -broody:PRT:PRT -brooks:PRKS:PRKS -broome:PRM:PRM -brooms:PRMS:PRMS -broomy:PRM:PRM -broths:PR0S:PRTS -brothy:PR0:PRT -browed:PRT:PRT -browns:PRNS:PRNS -browse:PRS:PRS -bruins:PRNS:PRNS -bruise:PRS:PRS -bruits:PRTS:PRTS -brumal:PRML:PRML -brumby:PRMP:PRMP -brunch:PRNX:PRNK -brushy:PRX:PRX -brutal:PRTL:PRTL -brutes:PRTS:PRTS -brutum:PRTM:PRTM -bryony:PRN:PRN -bubble:PPL:PPL -bubbly:PPL:PPL -buboes:PPS:PPS -buccal:PKL:PKL -bucked:PKT:PKT -bucker:PKR:PKR -bucket:PKT:PKT -buckle:PKL:PKL -budded:PTT:PTT -budder:PTR:PTR -buddha:PT:PT -budged:PJT:PJT -budger:PJR:PJR -budges:PJS:PJS -budget:PJT:PJT -budgie:PJ:PJ -buenos:PNS:PNS -buffed:PFT:PFT -buffer:PFR:PFR -buffet:PFT:PFT -bugged:PKT:PKT -bugger:PKR:PKR -bugled:PKLT:PKLT -bugler:PKLR:PKLR -bugles:PKLS:PKLS -buicks:PKS:PKS -builds:PLTS:PLTS -bulbar:PLPR:PLPR -bulbul:PLPL:PLPL -bulbus:PLPS:PLPS -bulged:PLJT:PLKT -bulges:PLJS:PLKS -bulgur:PLKR:PLKR -bulked:PLKT:PLKT -bullae:PL:PL -bullas:PLS:PLS -bulldo:PLT:PLT -bulled:PLT:PLT -bullet:PLT:PLT -bumble:PMPL:PMPL -bummed:PMT:PMT -bummer:PMR:PMR -bumped:PMPT:PMPT -bumper:PMPR:PMPR -bunchy:PNX:PNK -buncos:PNKS:PNKS -bundle:PNTL:PNTL -bunged:PNJT:PNKT -bungle:PNKL:PNKL -bunion:PNN:PNN -bunked:PNKT:PNKT -bunker:PNKR:PNKR -bunkum:PNKM:PNKM -bunsen:PNSN:PNSN -bunted:PNTT:PNTT -bunter:PNTR:PNTR -bunyan:PNN:PNN -bunyip:PNP:PNP -buoyed:PT:PT -burble:PRPL:PRPL -burbot:PRPT:PRPT -burden:PRTN:PRTN -bureau:PR:PR -burgee:PRJ:PRK -burger:PRKR:PRJR -burghs:PRKS:PRKS -burgle:PRKL:PRKL -burial:PRL:PRL -buried:PRT:PRT -burier:PR:PRR -buries:PRS:PRS -burins:PRNS:PRNS -burked:PRKT:PRKT -burlap:PRLP:PRLP -burled:PRLT:PRLT -burler:PRLR:PRLR -burley:PRL:PRL -burned:PRNT:PRNT -burner:PRNR:PRNR -burnet:PRNT:PRNT -burped:PRPT:PRPT -burred:PRT:PRT -burros:PRS:PRS -burrow:PR:PRF -bursae:PRS:PRS -bursal:PRSL:PRSL -bursar:PRSR:PRSR -bursas:PRSS:PRSS -burses:PRSS:PRSS -bursts:PRST:PRST -burton:PRTN:PRTN -busbar:PSPR:PSPR -busboy:PSP:PSP -bushed:PXT:PXT -bushel:PXL:PXL -bushes:PXS:PXS -bushie:PX:PX -busied:PST:PST -busier:PS:PSR -busies:PSS:PSS -busily:PSL:PSL -busing:PSNK:PSNK -busked:PSKT:PSKT -busker:PSKR:PSKR -buskin:PSKN:PSKN -busman:PSMN:PSMN -busmen:PSMN:PSMN -bussed:PST:PST -busses:PSS:PSS -busted:PSTT:PSTT -buster:PSTR:PSTR -bustle:PSTL:PSTL -butane:PTN:PTN -butler:PTLR:PTLR -butted:PTT:PTT -butter:PTR:PTR -buttes:PTS:PTS -button:PTN:PTN -buyers:PRS:PRS -buying:PNK:PNK -buzzed:PST:PST -buzzer:PSR:PSR -buzzes:PSS:PSS -bwanas:PNS:PNS -byelaw:PL:PLF -bygone:PKN:PKN -bylaws:PLS:PLS -byline:PLN:PLN -bypass:PPS:PPS -bypath:PP0:PPT -byplay:PPL:PPL -byroad:PRT:PRT -byways:PS:PS -byword:PRT:PRT -cabala:KPL:KPL -cabals:KPLS:KPLS -cabana:KPN:KPN -cabers:KPRS:KPRS -cabins:KPNS:KPNS -cabled:KPLT:KPLT -cables:KPLS:KPLS -cablet:KPLT:KPLT -cacaos:KKS:KKS -cached:KXT:KKT -caches:KXS:KKS -cachet:KXT:KKT -cachou:KK:KK -cackle:KKL:KKL -cactus:KKTS:KKTS -caddie:KT:KT -caddis:KTS:KTS -cadent:KTNT:KTNT -cadets:KTTS:KTTS -cadged:KJT:KJT -cadger:KJR:KJR -cadish:KTX:KTX -cadres:KTRS:KTRS -caduca:KTK:KTK -caecal:KKL:KKL -caecum:KKM:KKM -caesar:SSR:SSR -caftan:KFTN:KFTN -cagers:KKRS:KJRS -cagier:KJ:KKR -cagily:KJL:KKL -caging:KJNK:KKNK -cahoot:KHT:KHT -caiman:KMN:KMN -cainca:KNK:KNK -caique:KK:KK -cairns:KRNS:KRNS -cajole:KJL:KHL -cajuns:KJNS:KJNS -caking:KKNK:KKNK -calais:KL:KLS -calami:KLM:KLM -calash:KLX:KLX -calcar:KLKR:KLKR -calces:KLSS:KLSS -calcic:KLSK:KLSK -calcis:KLSS:KLSS -calico:KLK:KLK -caliph:KLF:KLF -calked:KLKT:KLKT -calker:KLKR:KLKR -calkin:KLKN:KLKN -callas:KLS:KLS -called:KLT:KLT -caller:KLR:KLR -callow:KL:KLF -callus:KLS:KLS -calmed:KLMT:KLMT -calmer:KLMR:KLMR -calmly:KLML:KLML -calory:KLR:KLR -calque:KLK:KLK -calved:KLFT:KLFT -calves:KLFS:KLFS -calvin:KLFN:KLFN -calxes:KLKS:KLKS -camail:KML:KML -camber:KMPR:KMPR -cambia:KMP:KMP -camden:KMTN:KMTN -camels:KMLS:KMLS -cameos:KMS:KMS -camera:KMR:KMR -camise:KMS:KMS -camped:KMPT:KMPT -camper:KMPR:KMPR -campus:KMPS:KMPS -canaan:KNN:KNN -canada:KNT:KNT -canals:KNLS:KNLS -canape:KNP:KNP -canard:KNRT:KNRT -canary:KNR:KNR -cancan:KNKN:KNKN -cancel:KNSL:KNSL -cancer:KNSR:KNSR -cancra:KNKR:KNKR -candid:KNTT:KNTT -candle:KNTL:KNTL -candor:KNTR:KNTR -caners:KNRS:KNRS -canful:KNFL:KNFL -canine:KNN:KNN -caning:KNNK:KNNK -canker:KNKR:KNKR -cannas:KNS:KNS -canned:KNT:KNT -cannel:KNL:KNL -canner:KNR:KNR -cannes:KNS:KNS -cannon:KNN:KNN -cannot:KNT:KNT -canoed:KNT:KNT -canoes:KNS:KNS -canons:KNNS:KNNS -canopy:KNP:KNP -canted:KNTT:KNTT -canter:KNTR:KNTR -canthi:KN0:KNT -cantle:KNTL:KNTL -canton:KNTN:KNTN -cantor:KNTR:KNTR -cantos:KNTS:KNTS -cantus:KNTS:KNTS -canula:KNL:KNL -canvas:KNFS:KNFS -canyon:KNN:KNN -capers:KPRS:KPRS -capful:KPFL:KPFL -capias:KPS:KPS -capita:KPT:KPT -capite:KPT:KPT -caplin:KPLN:KPLN -capone:KPN:KPN -capons:KPNS:KPNS -capote:KPT:KPT -capped:KPT:KPT -capper:KPR:KPR -capric:KPRK:KPRK -caprin:KPRN:KPRN -capsid:KPST:KPST -captor:KPTR:KPTR -captus:KPTS:KPTS -carafe:KRF:KRF -carate:KRT:KRT -carats:KRTS:KRTS -carbon:KRPN:KRPN -carboy:KRP:KRP -carcea:KRS:KRS -cardan:KRTN:KRTN -carded:KRTT:KRTT -carder:KRTR:KRTR -cardia:KRT:KRT -careen:KRN:KRN -career:KRR:KRR -carers:KRRS:KRRS -caress:KRS:KRS -carets:KRTS:KRTS -carfax:KRFK:KRFK -cargos:KRKS:KRKS -carhop:KRP:KRP -caribs:KRPS:KRPS -carica:KRK:KRK -caries:KRS:KRS -carina:KRN:KRN -caring:KRNK:KRNK -carlin:KRLN:KRLN -carlos:KRLS:KRLS -carlot:KRLT:KRLT -carnal:KRNL:KRNL -carnet:KRNT:KRNT -carols:KRLS:KRLS -caroms:KRMS:KRMS -carpal:KRPL:KRPL -carped:KRPT:KRPT -carpel:KRPL:KRPL -carper:KRPR:KRPR -carpes:KRPS:KRPS -carpet:KRPT:KRPT -carpic:KRPK:KRPK -carpus:KRPS:KRPS -carrel:KRL:KRL -carron:KRN:KRN -carrot:KRT:KRT -carson:KRSN:KRSN -carted:KRTT:KRTT -cartel:KRTL:KRTL -carter:KRTR:KRTR -cartes:KRTS:KRTS -carton:KRTN:KRTN -cartop:KRTP:KRTP -carved:KRFT:KRFT -carvel:KRFL:KRFL -carver:KRFR:KRFR -carves:KRFS:KRFS -casaba:KSP:KSP -casbah:KSP:KSP -casefy:KSF:KSF -casein:KSN:KSN -cashed:KXT:KXT -casher:KXR:KXR -cashes:KXS:KXS -cashew:KX:KXF -casing:KSNK:KSNK -casino:KSN:KSN -casion:KSN:KXN -casket:KSKT:KSKT -caspar:KSPR:KSPR -casper:KSPR:KSPR -casque:KSK:KSK -cassia:KS:KS -cassis:KSS:KSS -casted:KSTT:KSTT -caster:KSTR:KSTR -castes:KSTS:KSTS -castle:KSTL:KSTL -castor:KSTR:KSTR -castro:KSTR:KSTR -casual:KSL:KSL -catalo:KTL:KTL -catchy:KX:KX -catena:KTN:KTN -caters:KTRS:KTRS -catgut:KTKT:KTKT -cathar:K0R:KTR -cathay:K0:KT -cation:KXN:KXN -catkin:KTKN:KTKN -catnap:KTNP:KTNP -catnep:KTNP:KTNP -catnip:KTNP:KTNP -catsup:KTSP:KTSP -catted:KTT:KTT -cattle:KTL:KTL -cauchy:KX:KK -caucus:KKS:KKS -caudad:KTT:KTT -caudae:KT:KT -caudal:KTL:KTL -caudex:KTKS:KTKS -caudle:KTL:KTL -caught:KFT:KFT -caulks:KLKS:KLKS -causae:KS:KS -causal:KSL:KSL -caused:KST:KST -causer:KSR:KSR -causes:KSS:KSS -cauter:KTR:KTR -cautio:KT:KT -caveat:KFT:KFT -cavern:KFRN:KFRN -cavers:KFRS:KFRS -caviar:KFR:KFR -cavies:KFS:KFS -cavils:KFLS:KFLS -caving:KFNK:KFNK -cavity:KFT:KFT -cavort:KFRT:KFRT -cawing:KNK:KNK -cayman:KMN:KMN -cayuga:KK:KK -cayuse:KS:KS -ceased:SST:SST -ceases:SSS:SSS -cecily:SSL:SSL -cedars:STRS:STRS -cedens:STNS:STNS -cedent:STNT:STNT -ceders:STRS:STRS -ceding:STNK:STNK -cedric:STRK:STRK -ceiled:SLT:SLT -celery:SLR:SLR -celiac:SLK:SLK -cellae:SL:SL -cellar:SLR:SLR -celled:SLT:SLT -cellos:SLS:SLS -celoms:SLMS:SLMS -celtic:SLTK:SLTK -cement:SMNT:SMNT -censed:SNST:SNST -censer:SNSR:SNSR -censes:SNSS:SNSS -censor:SNSR:SNSR -census:SNSS:SNSS -cental:SNTL:SNTL -center:SNTR:SNTR -centos:SNTS:SNTS -centra:SNTR:SNTR -centum:SNTM:SNTM -ceorls:SRLS:SRLS -cerate:SRT:SRT -cercal:SRKL:SRKL -cercus:SRKS:SRKS -cereal:SRL:SRL -cereus:SRS:SRS -cering:SRNK:SRNK -cerise:SRS:SRS -cerium:SRM:SRM -cermet:SRMT:SRMT -ceroid:SRT:SRT -cerous:SRS:SRS -ceruse:SRS:SRS -cervid:SRFT:SRFT -cervix:SRFK:SRFK -cesium:SSM:SSM -cesser:SSR:SSR -cesset:SST:SST -cessio:SS:SS -cestui:SST:SST -cesura:SSR:SSR -cetane:STN:STN -cetera:STR:STR -ceylon:SLN:SLN -chaced:XST:XST -chaeta:XT:XT -chafed:XFT:XFT -chafer:XFR:XFR -chafes:XFS:XFS -chaffs:XFS:XFS -chaffy:XF:XF -chagas:XKS:XKS -chains:XNS:XNS -chairs:XRS:XRS -chaise:XS:XS -chalet:XLT:XLT -chalks:XLKS:XLKS -chalky:XLK:XLK -champs:XMPS:XMPS -chance:XNS:XNS -chancy:XNS:XNS -change:XNJ:XNK -chants:XNTS:XNTS -chanty:XNT:XNT -chapel:XPL:XPL -chapes:XPS:XPS -charas:XRS:XRS -charge:XRJ:XRK -charms:XRMS:XRMS -charon:XRN:XRN -charrs:XRS:XRS -charta:XRT:XRT -charts:XRTS:XRTS -chased:XST:XST -chaser:XSR:XSR -chases:XSS:XSS -chasms:XSMS:XSMS -chasse:XS:XS -chaste:XST:XST -chatty:XT:XT -cheats:XTS:XTS -checks:XKS:XKS -checky:XK:XK -cheeks:XKS:XKS -cheeky:XK:XK -cheeps:XPS:XPS -cheers:XRS:XRS -cheery:XR:XR -cheese:XS:XS -cheesy:XS:XS -chelae:XL:XL -chemin:KMN:KMN -chemmy:KM:KM -cheong:XNK:XNK -cheops:XPS:XPS -cheque:XK:XK -cherry:XR:XR -cherty:XRT:XRT -cherub:XRP:XRP -chests:XSTS:XSTS -chesty:XST:XST -cheval:XFL:XFL -chevet:XFT:XFT -chevon:XFN:XFN -chewed:XT:XT -chewer:XR:XR -cheyne:XN:XN -chiasm:KSM:KSM -chichi:XX:XK -chicks:XKS:XKS -chicle:XKL:XKL -chicly:XKL:XKL -chicos:XKS:XKS -chided:XTT:XTT -chider:XTR:XTR -chides:XTS:XTS -chiefs:XFS:XFS -chigoe:XK:XK -chilli:XL:XL -chills:XLS:XLS -chilly:XL:XL -chimar:XMR:XMR -chimed:XMT:XMT -chimer:XMR:XMR -chimes:XMS:XMS -chimps:XMPS:XMPS -chimyl:XML:XML -chinch:XNX:XNK -chined:XNT:XNT -chines:XNS:XNS -chinks:XNKS:XNKS -chinos:XNS:XNS -chintz:XNTS:XNTS -chippy:XP:XP -chiral:XRL:XRL -chirms:XRMS:XRMS -chirps:XRPS:XRPS -chirpy:XRP:XRP -chirrs:XRS:XRS -chisel:XSL:XSL -chitin:XTN:XTN -chitty:XT:XT -chives:XFS:XFS -chivvy:XF:XF -choana:XN:XN -chocks:XKS:XKS -choice:XS:XS -choirs:XRS:XRS -choked:XKT:XKT -choker:XKR:XKR -chokes:XKS:XKS -chokey:XK:XK -choler:XLR:XLR -chomps:XMPS:XMPS -choose:XS:XS -choosy:XS:XS -chopin:XPN:XPN -choppy:XP:XP -choral:KRL:KRL -chorda:KRT:KRT -chords:KRTS:KRTS -chorea:XR:XR -chores:XRS:XRS -choric:KRK:KRK -chorus:KRS:KRS -chosen:XSN:XSN -chough:X:X -chouse:XS:XS -chrism:KRSM:KRSM -christ:KRST:KRST -chroma:KRM:KRM -chrome:KRM:KRM -chromo:KRM:KRM -chubby:XP:XP -chucks:XKS:XKS -chuffs:XFS:XFS -chukka:XK:XK -chummy:XM:XM -chumps:XMPS:XMPS -chungk:XNKK:XNKK -chunks:XNKS:XNKS -chunky:XNK:XNK -church:XRX:XRK -churls:XRLS:XRLS -churns:XRNS:XRNS -churus:XRS:XRS -chutes:XTS:XTS -chypre:XPR:XPR -cicada:SKT:SKT -cicala:SKL:SKL -cicero:SSR:SSR -ciders:STRS:STRS -cigars:SKRS:SKRS -cilium:SLM:SLM -cinder:SNTR:SNTR -cinema:SNM:SNM -cineol:SNL:SNL -cinque:SNK:SNK -cipher:SFR:SFR -circle:SRKL:SRKL -circum:SRKM:SRKM -circus:SRKS:SRKS -cirque:SRK:SRK -cirrus:SRS:SRS -cistus:SSTS:SSTS -citata:STT:STT -citato:STT:STT -citers:STRS:STRS -cither:S0R:STR -cities:STS:STS -citify:STF:STF -citing:STNK:STNK -citral:STRL:STRL -citric:STRK:STRK -citrin:STRN:STRN -citron:STRN:STRN -citrus:STRS:STRS -civets:SFTS:SFTS -civics:SFKS:SFKS -civile:SFL:SFL -civils:SFLS:SFLS -clacks:KLKS:KLKS -clades:KLTS:KLTS -claims:KLMS:KLMS -clammi:KLM:KLM -clammy:KLM:KLM -clamor:KLMR:KLMR -clamps:KLMP:KLMP -clangs:KLNK:KLNK -clanks:KLNK:KLNK -claque:KLK:KLK -claret:KLRT:KLRT -clarke:KLRK:KLRK -claros:KLRS:KLRS -clasps:KLSP:KLSP -classy:KLS:KLS -claude:KLT:KLT -clause:KLS:KLS -clavae:KLF:KLF -claval:KLFL:KLFL -clavus:KLFS:KLFS -clawed:KLT:KLT -clawer:KLR:KLR -clayey:KL:KL -cleans:KLNS:KLNS -clears:KLRS:KLRS -cleats:KLTS:KLTS -cleave:KLF:KLF -cleeks:KLKS:KLKS -clefts:KLFT:KLFT -clench:KLNX:KLNK -cleoid:KLT:KLT -clergy:KLRJ:KLRK -cleric:KLRK:KLRK -clerks:KLRK:KLRK -clerky:KLRK:KLRK -clever:KLFR:KLFR -clevis:KLFS:KLFS -clewed:KLT:KLT -cliche:KLX:KLK -clicks:KLKS:KLKS -client:KLNT:KLNT -cliffs:KLFS:KLFS -climax:KLMK:KLMK -climbs:KLMP:KLMP -climes:KLMS:KLMS -clinal:KLNL:KLNL -clinch:KLNX:KLNK -clings:KLNK:KLNK -clingy:KLNK:KLNJ -clinic:KLNK:KLNK -clinks:KLNK:KLNK -clints:KLNT:KLNT -clippy:KLP:KLP -clique:KLK:KLK -cliquy:KLK:KLK -clitia:KLX:KLX -clitic:KLTK:KLTK -clivus:KLFS:KLFS -cloaca:KLK:KLK -cloaks:KLKS:KLKS -cloche:KLX:KLK -clocks:KLKS:KLKS -cloddy:KLT:KLT -cloggy:KLK:KLK -cloked:KLKT:KLKT -clonal:KLNL:KLNL -cloned:KLNT:KLNT -clones:KLNS:KLNS -clonic:KLNK:KLNK -clonus:KLNS:KLNS -closed:KLST:KLST -closer:KLSR:KLSR -closes:KLSS:KLSS -closet:KLST:KLST -clothe:KL0:KLT -cloths:KL0S:KLTS -clouds:KLTS:KLTS -cloudy:KLT:KLT -clough:KLF:KLF -clouts:KLTS:KLTS -cloven:KLFN:KLFN -clover:KLFR:KLFR -cloves:KLFS:KLFS -clowns:KLNS:KLNS -cloyed:KLT:KLT -clubby:KLP:KLP -clucks:KLKS:KLKS -cluing:KLNK:KLNK -clumps:KLMP:KLMP -clumpy:KLMP:KLMP -clumsy:KLMS:KLMS -clunch:KLNX:KLNK -clunks:KLNK:KLNK -clutch:KLX:KLX -clyses:KLSS:KLSS -clysis:KLSS:KLSS -clysma:KLSM:KLSM -cnemis:KNMS:KNMS -coarct:KRKT:KRKT -coarse:KRS:KRS -coasts:KSTS:KSTS -coated:KTT:KTT -coatee:KT:KT -coatis:KTS:KTS -coaxal:KKSL:KKSL -coaxed:KKST:KKST -coaxer:KKSR:KKSR -coaxes:KKSS:KKSS -cobalt:KPLT:KPLT -cobbed:KPT:KPT -cobber:KPR:KPR -cobble:KPL:KPL -cobham:KPM:KPM -cobles:KPLS:KPLS -cobnut:KPNT:KPNT -cobras:KPRS:KPRS -cobweb:KPP:KPP -coccal:KKL:KKL -coccic:KXK:KXK -coccus:KKS:KKS -coccyx:KKKS:KKKS -cocked:KKT:KKT -cocker:KKR:KKR -cockle:KKL:KKL -cockup:KKP:KKP -cocoon:KKN:KKN -codded:KTT:KTT -codder:KTR:KTR -coddle:KTL:KTL -coders:KTRS:KTRS -codger:KJR:KJR -codify:KTF:KTF -coding:KTNK:KTNK -codlin:KTLN:KTLN -codons:KTNS:KTNS -coedit:KTT:KTT -coelom:KLM:KLM -coelum:KLM:KLM -coerce:KRS:KRS -coeval:KFL:KFL -coffee:KF:KF -coffer:KFR:KFR -coffin:KFN:KFN -coffle:KFL:KFL -cogent:KJNT:KKNT -cogged:KKT:KKT -cogito:KJT:KKT -cognac:KNK:KKNK -coheir:KHR:KHR -cohere:KHR:KHR -cohoba:KHP:KHP -cohort:KHRT:KHRT -coigns:KNS:KKNS -coiled:KLT:KLT -coiler:KLR:KLR -coined:KNT:KNT -coiner:KNR:KNR -coital:KTL:KTL -coitus:KTS:KTS -coking:KKNK:KKNK -colder:KLTR:KLTR -coldly:KLTL:KLTL -coleus:KLS:KLS -collar:KLR:KLR -collat:KLT:KLT -colles:KLS:KLS -collet:KLT:KLT -collie:KL:KL -collop:KLP:KLP -colloq:KLK:KLK -collum:KLM:KLM -cologs:KLKS:KLKS -colons:KLNS:KLNS -colony:KLN:KLN -colore:KLR:KLR -colors:KLRS:KLRS -colory:KLR:KLR -colter:KLTR:KLTR -column:KLMN:KLMN -colure:KLR:KLR -combat:KMPT:KMPT -combed:KMPT:KMPT -comber:KMPR:KMPR -combos:KMPS:KMPS -comedo:KMT:KMT -comedy:KMT:KMT -comely:KML:KML -comers:KMRS:KMRS -comets:KMTS:KMTS -comfit:KMFT:KMFT -comics:KMKS:KMKS -coming:KMNK:KMNK -comity:KMT:KMT -commas:KMS:KMS -commie:KM:KM -commis:KMS:KMS -commit:KMT:KMT -common:KMN:KMN -comoro:KMR:KMR -comose:KMS:KMS -compar:KMPR:KMPR -compel:KMPL:KMPL -comply:KMPL:KMPL -compos:KMPS:KMPS -compte:KMPT:KMPT -comsat:KMST:KMST -concha:KNX:KNK -conchs:KNKS:KNKS -conchy:KNX:KNK -concur:KNKR:KNKR -condom:KNTM:KNTM -condor:KNTR:KNTR -condos:KNTS:KNTS -coneys:KNS:KNS -confab:KNFP:KNFP -confer:KNFR:KNFR -congas:KNKS:KNKS -conger:KNKR:KNJR -conics:KNKS:KNKS -conies:KNS:KNS -conine:KNN:KNN -conium:KNM:KNM -conked:KNKT:KNKT -conker:KNKR:KNKR -conned:KNT:KNT -connie:KN:KN -conoid:KNT:KNT -conrod:KNRT:KNRT -constr:KNST:KNST -consul:KNSL:KNSL -contra:KNTR:KNTR -convex:KNFK:KNFK -convey:KNF:KNF -convoy:KNF:KNF -cooeed:KT:KT -cooees:KS:KS -cooing:KNK:KNK -cooked:KKT:KKT -cooker:KKR:KKR -cookie:KK:KK -cooled:KLT:KLT -cooler:KLR:KLR -cooley:KL:KL -coolie:KL:KL -coolly:KL:KL -cooped:KPT:KPT -cooper:KPR:KPR -coopts:KPTS:KPTS -cootie:KT:KT -copalm:KPLM:KPLM -copeck:KPK:KPK -copers:KPRS:KPRS -copied:KPT:KPT -copier:KP:KPR -copies:KPS:KPS -coping:KPNK:KPNK -copita:KPT:KPT -copout:KPT:KPT -copped:KPT:KPT -copper:KPR:KPR -copsed:KPST:KPST -copses:KPSS:KPSS -copter:KPTR:KPTR -coptic:KPTK:KPTK -copula:KPL:KPL -coquet:KKT:KKT -corals:KRLS:KRLS -corbel:KRPL:KRPL -corbie:KRP:KRP -corded:KRTT:KRTT -corder:KRTR:KRTR -cordia:KRT:KRT -cordon:KRTN:KRTN -corers:KRRS:KRRS -corgis:KRJS:KRKS -coring:KRNK:KRNK -corium:KRM:KRM -corked:KRKT:KRKT -corker:KRKR:KRKR -cormel:KRML:KRML -cornea:KRN:KRN -corned:KRNT:KRNT -cornel:KRNL:KRNL -corner:KRNR:KRNR -cornet:KRNT:KRNT -cornua:KRN:KRN -corody:KRT:KRT -coroll:KRL:KRL -corona:KRN:KRN -corpse:KRPS:KRPS -corpus:KRPS:KRPS -corral:KRL:KRL -correl:KRL:KRL -corrie:KR:KR -corset:KRST:KRST -cortes:KRTS:KRTS -cortex:KRTK:KRTK -cortin:KRTN:KRTN -corves:KRFS:KRFS -coryza:KRS:KRS -cosech:KSK:KSK -coshed:KXT:KXT -cosher:KXR:KXR -cosier:KS:KSR -cosies:KSS:KSS -cosily:KSL:KSL -cosine:KSN:KSN -cosmic:KSMK:KSMK -cosmin:KSMN:KSMN -cosmos:KSMS:KSMS -cosset:KST:KST -costae:KST:KST -costal:KSTL:KSTL -costed:KSTT:KSTT -coster:KSTR:KSTR -costly:KSTL:KSTL -cotter:KTR:KTR -cotton:KTN:KTN -coubah:KP:KP -cougar:KKR:KKR -coughs:KFS:KFS -coulee:KL:KL -counts:KNTS:KNTS -county:KNT:KNT -coupes:KPS:KPS -couple:KPL:KPL -coupon:KPN:KPN -course:KRS:KRS -courts:KRTS:KRTS -cousin:KSN:KSN -covens:KFNS:KFNS -covers:KFRS:KFRS -covert:KFRT:KFRT -covets:KFTS:KFTS -coveys:KFS:KFS -covine:KFN:KFN -coving:KFNK:KFNK -cowage:KJ:KK -coward:KRT:KRT -cowboy:KP:KP -cowers:KRS:KRS -cowing:KNK:KNK -cowled:KLT:KLT -cowman:KMN:KMN -cowmen:KMN:KMN -cowork:KRK:KRK -cowpat:KPT:KPT -cowper:KPR:KPR -cowpox:KPKS:KPKS -cowrie:KR:KR -coyest:KST:KST -coyote:KT:KT -coypus:KPS:KPS -cozens:KSNS:KSNS -cozier:KS:KSR -cozies:KSS:KSS -cozily:KSL:KSL -crabby:KRP:KRP -cracks:KRKS:KRKS -cracky:KRK:KRK -cradle:KRTL:KRTL -crafts:KRFT:KRFT -crafty:KRFT:KRFT -craggy:KRK:KRK -crakes:KRKS:KRKS -cramps:KRMP:KRMP -craned:KRNT:KRNT -cranes:KRNS:KRNS -crania:KRN:KRN -cranks:KRNK:KRNK -cranky:KRNK:KRNK -cranny:KRN:KRN -crappy:KRP:KRP -crases:KRSS:KRSS -crasis:KRSS:KRSS -cratch:KRX:KRX -crated:KRTT:KRTT -crater:KRTR:KRTR -crates:KRTS:KRTS -craton:KRTN:KRTN -cravat:KRFT:KRFT -craved:KRFT:KRFT -craven:KRFN:KRFN -craver:KRFR:KRFR -craves:KRFS:KRFS -crawls:KRLS:KRLS -crawly:KRL:KRL -crayon:KRN:KRN -crazed:KRST:KRST -crazes:KRSS:KRSS -creaks:KRKS:KRKS -creaky:KRK:KRK -creams:KRMS:KRMS -creamy:KRM:KRM -crease:KRS:KRS -creasy:KRS:KRS -create:KRT:KRT -creche:KRX:KRK -credal:KRTL:KRTL -credit:KRTT:KRTT -credos:KRTS:KRTS -creeds:KRTS:KRTS -creeks:KRKS:KRKS -creels:KRLS:KRLS -creeps:KRPS:KRPS -creepy:KRP:KRP -creese:KRS:KRS -cremes:KRMS:KRMS -crenae:KRN:KRN -crenel:KRNL:KRNL -creole:KRL:KRL -crepes:KRPS:KRPS -crepey:KRP:KRP -cresol:KRSL:KRSL -crests:KRST:KRST -cretan:KRTN:KRTN -cretin:KRTN:KRTN -crewed:KRT:KRT -crewel:KRL:KRL -cricks:KRKS:KRKS -criers:KRRS:KRRS -crikey:KRK:KRK -crimea:KRM:KRM -crimen:KRMN:KRMN -crimes:KRMS:KRMS -crimps:KRMP:KRMP -crimpy:KRMP:KRMP -cringe:KRNJ:KRNK -crises:KRSS:KRSS -crisis:KRSS:KRSS -crispy:KRSP:KRSP -crissa:KRS:KRS -crista:KRST:KRST -critic:KRTK:KRTK -croaks:KRKS:KRKS -croaky:KRK:KRK -croats:KRTS:KRTS -crocke:KRK:KRK -crocks:KRKS:KRKS -crocus:KRKS:KRKS -crofts:KRFT:KRFT -crones:KRNS:KRNS -crooks:KRKS:KRKS -croons:KRNS:KRNS -crores:KRRS:KRRS -crosby:KRSP:KRSP -crosse:KRS:KRS -crotch:KRX:KRX -crotin:KRTN:KRTN -croton:KRTN:KRTN -crouch:KRK:KRK -croupy:KRP:KRP -croute:KRT:KRT -crowds:KRTS:KRTS -crowed:KRT:KRT -crower:KRR:KRR -crowns:KRNS:KRNS -crozes:KRSS:KRSS -cruces:KRSS:KRSS -crucks:KRKS:KRKS -cruddy:KRT:KRT -cruder:KRTR:KRTR -cruets:KRTS:KRTS -cruise:KRS:KRS -crumbs:KRMP:KRMP -crumby:KRMP:KRMP -crummy:KRM:KRM -crumps:KRMP:KRMP -crunch:KRNX:KRNK -crural:KRRL:KRRL -cruris:KRRS:KRRS -cruses:KRSS:KRSS -crusta:KRST:KRST -crusts:KRST:KRST -crusty:KRST:KRST -crutch:KRX:KRX -cruxes:KRKS:KRKS -crying:KRNK:KRNK -crylor:KRLR:KRLR -crypts:KRPT:KRPT -cubage:KPJ:KPK -cubans:KPNS:KPNS -cubbed:KPT:KPT -cubers:KPRS:KPRS -cubing:KPNK:KPNK -cubism:KPSM:KPSM -cubist:KPST:KPST -cubiti:KPT:KPT -cubits:KPTS:KPTS -cuboid:KPT:KPT -cuckoo:KK:KK -cuddle:KTL:KTL -cuddly:KTL:KTL -cudgel:KJL:KJL -cuesta:KST:KST -cuffed:KFT:KFT -culets:KLTS:KLTS -culled:KLT:KLT -culler:KLR:KLR -cullet:KLT:KLT -cullis:KLS:KLS -culmen:KLMN:KLMN -culpae:KLP:KLP -culpam:KLPM:KLPM -culpas:KLPS:KLPS -cultch:KLX:KLX -cultic:KLTK:KLTK -cultus:KLTS:KLTS -cumber:KMR:KMR -cumins:KMNS:KMNS -cummin:KMN:KMN -cumuli:KML:KML -cuneal:KNL:KNL -cuneus:KNS:KNS -cunnus:KNS:KNS -cupels:KPLS:KPLS -cupful:KPFL:KPFL -cupids:KPTS:KPTS -cupola:KPL:KPL -cuppas:KPS:KPS -cupped:KPT:KPT -cupric:KPRK:KPRK -cupula:KPL:KPL -cupule:KPL:KPL -curacy:KRS:KRS -curare:KRR:KRR -curari:KRR:KRR -curate:KRT:KRT -curbed:KRPT:KRPT -curdle:KRTL:KRTL -curely:KRL:KRL -curers:KRRS:KRRS -curets:KRTS:KRTS -curfew:KRF:KRFF -curiae:KR:KR -curial:KRL:KRL -curiam:KRM:KRM -curies:KRS:KRS -curine:KRN:KRN -curing:KRNK:KRNK -curios:KRS:KRS -curium:KRM:KRM -curled:KRLT:KRLT -curler:KRLR:KRLR -curlew:KRL:KRLF -cursed:KRST:KRST -curser:KRSR:KRSR -curses:KRSS:KRSS -cursor:KRSR:KRSR -cursus:KRSS:KRSS -curter:KRTR:KRTR -curtin:KRTN:KRTN -curtly:KRTL:KRTL -curtsy:KRTS:KRTS -curved:KRFT:KRFT -curves:KRFS:KRFS -curvet:KRFT:KRFT -cuscus:KSKS:KSKS -cusecs:KSKS:KSKS -cushat:KXT:KXT -cusped:KSPT:KSPT -cuspid:KSPT:KSPT -cussed:KST:KST -cusser:KSR:KSR -cusses:KSS:KSS -custom:KSTM:KSTM -custos:KSTS:KSTS -cutely:KTL:KTL -cutest:KTST:KTST -cutesy:KTS:KTS -cuties:KTS:KTS -cutler:KTLR:KTLR -cutlet:KTLT:KTLT -cutoff:KTF:KTF -cutout:KTT:KTT -cutter:KTR:KTR -cuttle:KTL:KTL -cutups:KTPS:KTPS -cyanic:SNK:SNK -cyanin:SNN:SNN -cyasma:SSM:SSM -cyborg:SPRK:SPRK -cycled:SKLT:SKLT -cycler:SKLR:SKLR -cycles:SKLS:SKLS -cyclic:SKLK:SKLK -cyders:STRS:STRS -cyeses:SSS:SSS -cyesis:SSS:SSS -cygnet:SNT:SKNT -cymbae:SMP:SMP -cymbal:SMPL:SMPL -cymoid:SMT:SMT -cymose:SMS:SMS -cymric:SMRK:SMRK -cynics:SNKS:SNKS -cypher:SFR:SFR -cyprus:SPRS:SPRS -cystic:SSTK:SSTK -czechs:SKS:XKS -dabbed:TPT:TPT -dabber:TPR:TPR -dabble:TPL:TPL -daboia:TP:TP -dacapo:TKP:TKP -dachas:TKS:TKS -dacoit:TKT:TKT -dacron:TKRN:TKRN -dacrya:TKR:TKR -dactyl:TKTL:TKTL -dadoed:TTT:TTT -dadoes:TTS:TTS -daemon:TMN:TMN -dafter:TFTR:TFTR -daftly:TFTL:TFTL -dagged:TKT:TKT -dagger:TKR:TKR -dagoes:TKS:TKS -dahlia:TL:TL -dahlin:TLN:TLN -dainty:TNT:TNT -daises:TSS:TSS -dakota:TKT:TKT -daleks:TLKS:TLKS -dalely:TLL:TLL -dallas:TLS:TLS -dalton:TLTN:TLTN -damage:TMJ:TMK -damask:TMSK:TMSK -dammed:TMT:TMT -dammit:TMT:TMT -damned:TMNT:TMNT -damnum:TMNM:TMNM -damped:TMPT:TMPT -dampen:TMPN:TMPN -damper:TMPR:TMPR -damply:TMPL:TMPL -damsel:TMSL:TMSL -damson:TMSN:TMSN -danced:TNST:TNST -dancer:TNSR:TNSR -dances:TNSS:TNSS -dander:TNTR:TNTR -dandie:TNT:TNT -dandle:TNTL:TNTL -danger:TNJR:TNKR -dangle:TNKL:TNKL -daniel:TNL:TNL -danish:TNX:TNX -danker:TNKR:TNKR -dankly:TNKL:TNKL -danube:TNP:TNP -danysz:TNS:TNX -daphne:TFN:TFN -dapped:TPT:TPT -dappen:TPN:TPN -dapper:TPR:TPR -dapple:TPL:TPL -darafs:TRFS:TRFS -dardic:TRTK:TRTK -darers:TRRS:TRRS -daring:TRNK:TRNK -darken:TRKN:TRKN -darker:TRKR:TRKR -darkly:TRKL:TRKL -darned:TRNT:TRNT -darnel:TRNL:TRNL -darner:TRNR:TRNR -darted:TRTT:TRTT -darter:TRTR:TRTR -dartle:TRTL:TRTL -dartos:TRTS:TRTS -darvon:TRFN:TRFN -darwin:TRN:TRN -dashed:TXT:TXT -dasher:TXR:TXR -dashes:TXS:TXS -datary:TTR:TTR -daters:TTRS:TTRS -dating:TTNK:TTNK -dation:TXN:TXN -dative:TTF:TTF -datsun:TTSN:TTSN -datums:TTMS:TTMS -datura:TTR:TTR -daubed:TPT:TPT -dauber:TPR:TPR -daunts:TNTS:TNTS -davits:TFTS:TFTS -dawdle:TTL:TTL -dawned:TNT:TNT -daybed:TPT:TPT -dayboy:TP:TP -dayfly:TFL:TFL -dayton:TTN:TTN -dazing:TSNK:TSNK -dazzle:TSL:TSL -deacon:TKN:TKN -deaden:TTN:TTN -deader:TTR:TTR -deadly:TTL:TTL -deafen:TFN:TFN -deafer:TFR:TFR -deafly:TFL:TFL -deakin:TKN:TKN -dealer:TLR:TLR -dearer:TRR:TRR -dearie:TR:TR -dearly:TRL:TRL -dearth:TR0:TRT -deaths:T0S:TTS -debark:TPRK:TPRK -debars:TPRS:TPRS -debase:TPS:TPS -debate:TPT:TPT -debbie:TP:TP -debita:TPT:TPT -debito:TPT:TPT -debits:TPTS:TPTS -debris:TPRS:TPRS -debtee:TPT:TPT -debtor:TPTR:TPTR -debugs:TPKS:TPKS -debunk:TPNK:TPNK -debuts:TPTS:TPTS -decade:TKT:TKT -decals:TKLS:TKLS -decamp:TKMP:TKMP -decani:TKN:TKN -decant:TKNT:TKNT -decare:TKR:TKR -decays:TKS:TKS -deccan:TKN:TKN -deceit:TST:TST -decent:TSNT:TSNT -decern:TSRN:TSRN -decide:TST:TST -decile:TSL:TSL -decked:TKT:TKT -decker:TKR:TKR -deckle:TKL:TKL -decnet:TKNT:TKNT -decoct:TKKT:TKKT -decode:TKT:TKT -decoke:TKK:TKK -decoys:TKS:TKS -decpcs:TKPK:TKPK -decree:TKR:TKR -decury:TKR:TKR -deduce:TTS:TTS -deduct:TTKT:TTKT -deeded:TTT:TTT -deejay:TJ:TH -deemed:TMT:TMT -deepen:TPN:TPN -deeper:TPR:TPR -deeply:TPL:TPL -deface:TFS:TFS -defalk:TFLK:TFLK -defame:TFM:TFM -defats:TFTS:TFTS -defeat:TFT:TFT -defect:TFKT:TFKT -defend:TFNT:TFNT -defers:TFRS:TFRS -defied:TFT:TFT -defier:TF:TFR -defies:TFS:TFS -defile:TFL:TFL -define:TFN:TFN -defogg:TFK:TFK -defogs:TFKS:TFKS -deform:TFRM:TFRM -defray:TFR:TFR -defter:TFTR:TFTR -deftly:TFTL:TFTL -defuse:TFS:TFS -defuze:TFS:TFS -degage:TKJ:TKK -deglov:TKLF:TKLF -degree:TKR:TKR -dehorn:THRN:THRN -dehors:THRS:THRS -deiced:TST:TST -deicer:TSR:TSR -deices:TSS:TSS -deific:TFK:TFK -deigns:TNS:TKNS -deists:TSTS:TSTS -deject:TJKT:TJKT -dejure:TJR:TJR -dekkos:TKS:TKS -delate:TLT:TLT -delays:TLS:TLS -delead:TLT:TLT -delete:TLT:TLT -delict:TLKT:TLKT -deling:TLNK:TLNK -delles:TLS:TLS -delphi:TLF:TLF -deltas:TLTS:TLTS -deltic:TLTK:TLTK -delude:TLT:TLT -deluge:TLJ:TLK -deluxe:TLKS:TLKS -delved:TLFT:TLFT -delver:TLFR:TLFR -delves:TLFS:TLFS -demand:TMNT:TMNT -demean:TMN:TMN -dement:TMNT:TMNT -demies:TMS:TMS -demise:TMS:TMS -demisi:TMS:TMS -demist:TMST:TMST -demits:TMTS:TMTS -demobs:TMPS:TMPS -demode:TMT:TMT -demons:TMNS:TMNS -demote:TMT:TMT -demure:TMR:TMR -demurs:TMRS:TMRS -denary:TNR:TNR -dendra:TNTR:TNTR -dengue:TNK:TNK -denial:TNL:TNL -denied:TNT:TNT -denier:TN:TNR -denies:TNS:TNS -denims:TNMS:TNMS -denned:TNT:TNT -dennis:TNS:TNS -denote:TNT:TNT -denovo:TNF:TNF -denser:TNSR:TNSR -dental:TNTL:TNTL -dented:TNTT:TNTT -dentes:TNTS:TNTS -dentil:TNTL:TNTL -dentin:TNTN:TNTN -denude:TNT:TNT -denver:TNFR:TNFR -deodar:TTR:TTR -depart:TPRT:TPRT -depend:TPNT:TPNT -depict:TPKT:TPKT -deploy:TPL:TPL -depone:TPN:TPN -deport:TPRT:TPRT -depose:TPS:TPS -depots:TPTS:TPTS -depths:TP0S:TPTS -depute:TPT:TPT -deputy:TPT:TPT -derail:TRL:TRL -derate:TRT:TRT -deride:TRT:TRT -derive:TRF:TRF -dermal:TRML:TRML -dermic:TRMK:TRMK -dermis:TRMS:TRMS -derris:TRS:TRS -desalt:TSLT:TSLT -descry:TSK:TSK -desert:TSRT:TSRT -design:TSN:TSKN -desire:TSR:TSR -desist:TSST:TSST -desorb:TSRP:TSRP -despot:TSPT:TSPT -detach:TTK:TTK -detail:TTL:TTL -detain:TTN:TTN -d'etat:TTT:TTT -detect:TTKT:TTKT -detent:TTNT:TTNT -deters:TTRS:TTRS -detest:TTST:TTST -detour:TTR:TTR -d'etre:TTR:TTR -detrop:TTRP:TTRP -deuced:TST:TST -deuces:TSS:TSS -deuton:TTN:TTN -devest:TFST:TFST -device:TFS:TFS -devils:TFLS:TFLS -devise:TFS:TFS -devoid:TFT:TFT -devoir:TFR:TFR -devors:TFRS:TFRS -devote:TFT:TFT -devout:TFT:TFT -dewier:TR:TR -dewily:TL:TL -dewlap:TLP:TLP -deworm:TRM:TRM -dexter:TKST:TKST -dhalls:TLS:TLS -dharma:TRM:TRM -dholes:TLS:TLS -d'hote:TT:TT -dhotis:TTS:TTS -diacid:TST:TST -diadem:TTM:TTM -diadic:TTK:TTK -dialed:TLT:TLT -dialer:TLR:TLR -dialog:TLK:TLK -diaper:TPR:TPR -diapir:TPR:TPR -diarch:TRX:TRK -diatom:TTM:TTM -diaxon:TKSN:TKSN -diazin:TSN:TSN -diazos:TSS:TSS -dibase:TPS:TPS -dibbed:TPT:TPT -dibber:TPR:TPR -dibble:TPL:TPL -dicere:TSR:TSR -dicers:TSRS:TSRS -dicier:TS:TXR -dicing:TSNK:TSNK -dicker:TKR:TKR -dickey:TK:TK -dictum:TKTM:TKTM -diddle:TTL:TTL -didn't:TTNT:TTNT -didoes:TTS:TTS -diedre:TTR:TTR -diener:TNR:TNR -diesel:TSL:TSL -dieses:TSS:TSS -diesis:TSS:TSS -dieted:TTT:TTT -dieter:TTR:TTR -differ:TFR:TFR -digamy:TKM:TKM -digest:TJST:TKST -digger:TKR:TKR -digiti:TJT:TKT -digits:TJTS:TKTS -dilate:TLT:TLT -dildos:TLTS:TLTS -dilute:TLT:TLT -dimely:TML:TML -dimers:TMRS:TMRS -dimisi:TMS:TMS -dimity:TMT:TMT -dimmed:TMT:TMT -dimmer:TMR:TMR -dimple:TMPL:TMPL -dimply:TMPL:TMPL -dimwit:TMT:TMT -dinars:TNRS:TNRS -diners:TNRS:TNRS -dinged:TNJT:TNKT -dinghy:TNK:TNK -dingle:TNKL:TNKL -dingus:TNKS:TNKS -dining:TNNK:TNNK -dinkum:TNKM:TNKM -dinned:TNT:TNT -dinner:TNR:TNR -diodes:TTS:TTS -diotic:TTK:TTK -dioxin:TKSN:TKSN -diplex:TPLK:TPLK -diploe:TPL:TPL -dipole:TPL:TPL -dipped:TPT:TPT -dipper:TPR:TPR -direct:TRKT:TRKT -direly:TRL:TRL -direst:TRST:TRST -dirges:TRJS:TRKS -dirndl:TRNT:TRNT -disarm:TSRM:TSRM -disbar:TSPR:TSPR -disbud:TSPT:TSPT -disced:TST:TST -discos:TSKS:TSKS -discus:TSKS:TSKS -diseur:TSR:TSR -dished:TXT:TXT -dishes:TXS:TXS -dishra:TXR:TXR -dismal:TSML:TSML -dismay:TSM:TSM -disney:TSN:TSN -disown:TSN:TSN -dispel:TSPL:TSPL -distad:TSTT:TSTT -distal:TSTL:TSTL -distil:TSTL:TSTL -disuse:TSS:TSS -dither:T0R:TTR -dittay:TT:TT -dittos:TTS:TTS -divans:TFNS:TFNS -divers:TFRS:TFRS -divert:TFRT:TFRT -divest:TFST:TFST -divide:TFT:TFT -divine:TFN:TFN -diving:TFNK:TFNK -divino:TFN:TFN -divots:TFTS:TFTS -dixies:TKSS:TKSS -djinns:TJNS:TJNS -dnaase:TNS:TNS -doable:TPL:TPL -dobbin:TPN:TPN -dobell:TPL:TPL -docent:TSNT:TSNT -docile:TSL:TSL -docked:TKT:TKT -docker:TKR:TKR -docket:TKT:TKT -doctor:TKTR:TKTR -dodder:TTR:TTR -doddle:TTL:TTL -dodged:TJT:TJT -dodger:TJR:TJR -dodges:TJS:TJS -dodoes:TTS:TTS -doffed:TFT:TFT -doffer:TFR:TFR -dogear:TJR:TKR -dogged:TKT:TKT -dogger:TKR:TKR -doggie:TJ:TK -dogies:TJS:TKS -dogleg:TKLK:TKLK -dogmas:TKMS:TKMS -doings:TNKS:TNKS -dolely:TLL:TLL -dolens:TLNS:TLNS -doline:TLN:TLN -doling:TLNK:TLNK -dollar:TLR:TLR -dolled:TLT:TLT -dollop:TLP:TLP -dolman:TLMN:TLMN -dolmen:TLMN:TLMN -dolors:TLRS:TLRS -domain:TMN:TMN -domina:TMN:TMN -doming:TMNK:TMNK -domini:TMN:TMN -domino:TMN:TMN -donald:TNLT:TNLT -donate:TNT:TNT -donees:TNS:TNS -dongle:TNKL:TNKL -donkey:TNK:TNK -donnan:TNN:TNN -donnas:TNS:TNS -donned:TNT:TNT -donors:TNRS:TNRS -don'ts:TNTS:TNTS -donuts:TNTS:TNTS -doodad:TTT:TTT -doodah:TT:TT -doodle:TTL:TTL -doomed:TMT:TMT -dopant:TPNT:TPNT -dopers:TPRS:TPRS -dopier:TP:TPR -dopily:TPL:TPL -doping:TPNK:TPNK -dorado:TRT:TRT -dorian:TRN:TRN -dories:TRS:TRS -dormer:TRMR:TRMR -dormie:TRM:TRM -dorsad:TRST:TRST -dorsal:TRSL:TRSL -dorsum:TRSM:TRSM -dorter:TRTR:TRTR -dosage:TSJ:TSK -dosers:TSRS:TSRS -dosing:TSNK:TSNK -dossal:TSL:TSL -dossed:TST:TST -dossel:TSL:TSL -dosser:TSR:TSR -dosses:TSS:TSS -dotage:TTJ:TTK -dotard:TTRT:TTRT -doters:TTRS:TTRS -doting:TTNK:TTNK -dotted:TTT:TTT -dottel:TTL:TTL -dotter:TTR:TTR -dottle:TTL:TTL -double:TPL:TPL -doubly:TPL:TPL -doubts:TPTS:TPTS -douche:TX:TK -douchy:TX:TK -doughs:TS:TS -doughy:T:T -dourly:TRL:TRL -doused:TST:TST -douser:TSR:TSR -douses:TSS:TSS -dovish:TFX:TFX -dowels:TLS:TLS -dowers:TRS:TRS -dowlas:TLS:TLS -downed:TNT:TNT -downer:TNR:TNR -dowsed:TST:TST -dowser:TSR:TSR -dowses:TSS:TSS -doxies:TKSS:TKSS -doyens:TNS:TNS -doyley:TL:TL -dozens:TSNS:TSNS -dozers:TSRS:TSRS -dozier:TS:TSR -dozily:TSL:TSL -dozing:TSNK:TSNK -drably:TRPL:TRPL -drachm:TRKM:TRKM -draffy:TRF:TRF -drafts:TRFT:TRFT -drafty:TRFT:TRFT -dragee:TRJ:TRK -draggy:TRK:TRK -dragon:TRKN:TRKN -drails:TRLS:TRLS -drains:TRNS:TRNS -drakes:TRKS:TRKS -dramas:TRMS:TRMS -draped:TRPT:TRPT -draper:TRPR:TRPR -drapes:TRPS:TRPS -drapey:TRP:TRP -drawee:TR:TR -drawer:TRR:TRR -drawls:TRLS:TRLS -drawly:TRL:TRL -dreads:TRTS:TRTS -dreams:TRMS:TRMS -dreamt:TRMT:TRMT -dreamy:TRM:TRM -dreary:TRR:TRR -dredge:TRJ:TRJ -dreggy:TRK:TRK -drench:TRNX:TRNK -dressy:TRS:TRS -driers:TRRS:TRRS -driest:TRST:TRST -drifts:TRFT:TRFT -drifty:TRFT:TRFT -drills:TRLS:TRLS -drinks:TRNK:TRNK -drippy:TRP:TRP -drivel:TRFL:TRFL -driven:TRFN:TRFN -driver:TRFR:TRFR -drives:TRFS:TRFS -drogue:TRK:TRK -droits:TRTS:TRTS -drolly:TRL:TRL -droned:TRNT:TRNT -droner:TRNR:TRNR -drones:TRNS:TRNS -drongo:TRNK:TRNK -drools:TRLS:TRLS -droops:TRPS:TRPS -droopy:TRP:TRP -dropsy:TRPS:TRPS -drosky:TRSK:TRSK -drossy:TRS:TRS -drover:TRFR:TRFR -droves:TRFS:TRFS -drowns:TRNS:TRNS -drowse:TRS:TRS -drowsy:TRS:TRS -drudge:TRJ:TRJ -druggy:TRK:TRK -druids:TRTS:TRTS -drunks:TRNK:TRNK -drupel:TRPL:TRPL -drupes:TRPS:TRPS -drusen:TRSN:TRSN -dryads:TRTS:TRTS -dryers:TRRS:TRRS -drying:TRNK:TRNK -dryish:TRX:TRX -dryrot:TRRT:TRRT -dually:TL:TL -dubbed:TPT:TPT -dubber:TPR:TPR -dubbin:TPN:TPN -dublin:TPLN:TPLN -ducats:TKTS:TKTS -ducked:TKT:TKT -ducker:TKR:TKR -duckie:TK:TK -ducrey:TKR:TKR -ductal:TKTL:TKTL -ductus:TKTS:TKTS -dudish:TTX:TTX -dueled:TLT:TLT -dueler:TLR:TLR -duello:TL:TL -duenna:TN:TN -duffed:TFT:TFT -duffel:TFL:TFL -duffer:TFR:TFR -duffle:TFL:TFL -dugong:TKNK:TKNK -dugout:TKT:TKT -dulcet:TLST:TLST -dulled:TLT:TLT -duller:TLR:TLR -dulong:TLNK:TLNK -duluth:TL0:TLT -dumber:TMR:TMR -dumbly:TMPL:TMPL -dumdum:TMTM:TMTM -dumped:TMPT:TMPT -dumper:TMPR:TMPR -dunces:TNSS:TNSS -dunged:TNJT:TNKT -dunham:TNM:TNM -dunked:TNKT:TNKT -dunker:TNKR:TNKR -dunlin:TNLN:TNLN -dunned:TNT:TNT -dunted:TNTT:TNTT -dupers:TPRS:TPRS -dupery:TPR:TPR -duping:TPNK:TPNK -duplet:TPLT:TPLT -duplex:TPLK:TPLK -durbar:TRPR:TRPR -duress:TRS:TRS -durham:TRM:TRM -durian:TRN:TRN -during:TRNK:TRNK -dusted:TSTT:TSTT -duster:TSTR:TSTR -duties:TTS:TTS -duvets:TFTS:TFTS -dwarfs:TRFS:TRFS -dwells:TLS:TLS -dwight:TT:TT -dyadic:TTK:TTK -dybbuk:TPK:TPK -dyeing:TNK:TNK -dynamo:TNM:TNM -dynast:TNST:TNST -dynode:TNT:TNT -eagles:AKLS:AKLS -eaglet:AKLT:AKLT -eagres:AKRS:AKRS -earful:ARFL:ARFL -earing:ARNK:ARNK -earned:ARNT:ARNT -earner:ARNR:ARNR -earplu:ARPL:ARPL -earths:AR0S:ARTS -earthy:AR0:ART -earwax:ARKS:ARKS -earwig:ARK:ARK -earwit:ART:ART -easels:ASLS:ASLS -easers:ASRS:ASRS -easied:AST:AST -easier:AS:ASR -easies:ASS:ASS -easily:ASL:ASL -easing:ASNK:ASNK -easter:ASTR:ASTR -easygo:ASK:ASK -eatage:ATJ:ATK -eaters:ATRS:ATRS -eatery:ATR:ATR -eating:ATNK:ATNK -ebbing:APNK:APNK -ecarte:AKRT:AKRT -ecesis:ASSS:ASSS -echard:AXRT:AKRT -echini:AXN:AKN -echium:AXM:AKM -echoed:AXT:AKT -echoer:AXR:AKR -echoes:AXS:AKS -echoic:AXK:AKK -eclair:AKLR:AKLR -ectype:AKTP:AKTP -ecurie:AKR:AKR -eczema:ASM:AXM -eddied:ATT:ATT -eddies:ATS:ATS -edemas:ATMS:ATMS -edgers:AJRS:AJRS -edgier:AJ:AJR -edgily:AJL:AJL -edging:AJNK:AJNK -edible:ATPL:ATPL -edicts:ATKT:ATKT -edison:ATSN:ATSN -edited:ATTT:ATTT -editor:ATTR:ATTR -educed:ATST:ATST -educes:ATSS:ATSS -edward:ATRT:ATRT -eerier:AR:ARR -eerily:ARL:ARL -efface:AFS:AFS -effect:AFKT:AFKT -effete:AFT:AFT -effigy:AFJ:AFK -efflux:AFLK:AFLK -effort:AFRT:AFRT -effuse:AFS:AFS -egesta:AJST:AKST -egests:AJST:AKST -eggers:AKRS:AKRS -egging:AKNK:AKNK -eggnog:AKNK:AKNK -egoism:AKSM:AKSM -egoist:AKST:AKST -egress:AKRS:AKRS -egrets:AKRT:AKRT -eiders:ATRS:ATRS -eidola:ATL:ATL -eiffel:AFL:AFL -eighth:A0:AT -eights:ATS:ATS -eighty:AT:AT -eirann:ARN:ARN -either:A0R:ATR -ejecta:AJKT:AJKT -ejects:AJKT:AJKT -elaine:ALN:ALN -elands:ALNT:ALNT -elapid:ALPT:ALPT -elapse:ALPS:ALPS -elated:ALTT:ALTT -elates:ALTS:ALTS -elbows:ALPS:ALPS -elders:ALTR:ALTR -eldest:ALTS:ALTS -elects:ALKT:ALKT -elegit:ALJT:ALKT -elemis:ALMS:ALMS -eleven:ALFN:ALFN -elevon:ALFN:ALFN -elfish:ALFX:ALFX -elicit:ALST:ALST -elided:ALTT:ALTT -elides:ALTS:ALTS -elijah:ALJ:ALH -elisor:ALSR:ALSR -elites:ALTS:ALTS -elixir:ALKS:ALKS -eloign:ALN:ALKN -eloped:ALPT:ALPT -eloper:ALPR:ALPR -elopes:ALPS:ALPS -eluant:ALNT:ALNT -eluate:ALT:ALT -eluded:ALTT:ALTT -eluder:ALTR:ALTR -eludes:ALTS:ALTS -eluent:ALNT:ALNT -eluted:ALTT:ALTT -elutes:ALTS:ALTS -eluvia:ALF:ALF -elvers:ALFR:ALFR -elvish:ALFX:ALFX -elytra:ALTR:ALTR -embalm:AMPL:AMPL -embank:AMPN:AMPN -embark:AMPR:AMPR -embays:AMPS:AMPS -embeds:AMPT:AMPT -embers:AMPR:AMPR -emblem:AMPL:AMPL -embody:AMPT:AMPT -embole:AMPL:AMPL -emboli:AMPL:AMPL -emboly:AMPL:AMPL -emboss:AMPS:AMPS -embows:AMPS:AMPS -embrue:AMPR:AMPR -embryo:AMPR:AMPR -emceed:AMST:AMST -emcees:AMSS:AMSS -emends:AMNT:AMNT -emerge:AMRJ:AMRK -emeses:AMSS:AMSS -emesis:AMSS:AMSS -emetic:AMTK:AMTK -emigre:AMKR:AMKR -emmies:AMS:AMS -emmins:AMNS:AMNS -emodin:AMTN:AMTN -emoted:AMTT:AMTT -emoter:AMTR:AMTR -emotes:AMTS:AMTS -emparl:AMPR:AMPR -empire:AMPR:AMPR -employ:AMPL:AMPL -emptio:AMPT:AMPT -emptor:AMPT:AMPT -enable:ANPL:ANPL -enacts:ANKT:ANKT -enamel:ANML:ANML -enamor:ANMR:ANMR -enatic:ANTK:ANTK -encage:ANKJ:ANKK -encamp:ANKM:ANKM -encase:ANKS:ANKS -encash:ANKX:ANKX -encode:ANKT:ANKT -encore:ANKR:ANKR -encyst:ANSS:ANSS -endear:ANTR:ANTR -enders:ANTR:ANTR -ending:ANTN:ANTN -endive:ANTF:ANTF -endows:ANTS:ANTS -endued:ANTT:ANTT -endues:ANTS:ANTS -endure:ANTR:ANTR -enduro:ANTR:ANTR -endyma:ANTM:ANTM -enemas:ANMS:ANMS -energy:ANRJ:ANRK -enface:ANFS:ANFS -enfant:ANFN:ANFN -enfete:ANFT:ANFT -enfold:ANFL:ANFL -engage:ANKJ:ANKK -engine:ANJN:ANKN -englut:ANKL:ANKL -engram:ANKR:ANKR -engulf:ANKL:ANKL -enigma:ANKM:ANKM -enisle:ANL:ANL -enjoin:ANJN:ANJN -enjoys:ANJS:ANJS -enlace:ANLS:ANLS -enlist:ANLS:ANLS -enmesh:ANMX:ANMX -enmity:ANMT:ANMT -ennage:ANJ:ANK -ennead:ANT:ANT -ennuye:AN:AN -enolic:ANLK:ANLK -enosis:ANSS:ANSS -enough:ANK:ANK -enrage:ANRJ:ANRK -enrich:ANRX:ANRK -enrobe:ANRP:ANRP -enroll:ANRL:ANRL -enrols:ANRL:ANRL -enroot:ANRT:ANRT -ensign:ANSN:ANSK -ensile:ANSL:ANSL -ensoul:ANSL:ANSL -ensued:ANST:ANST -ensues:ANSS:ANSS -ensure:ANSR:ANSR -entail:ANTL:ANTL -entera:ANTR:ANTR -enters:ANTR:ANTR -entice:ANTS:ANTS -entire:ANTR:ANTR -entity:ANTT:ANTT -entomb:ANTM:ANTM -entrap:ANTR:ANTR -entree:ANTR:ANTR -entrée:ANTR:ANTR -entypy:ANTP:ANTP -enured:ANRT:ANRT -enures:ANRS:ANRS -envied:ANFT:ANFT -envier:ANF:ANFR -envies:ANFS:ANFS -envois:ANF:ANFS -envoys:ANFS:ANFS -enwind:ANNT:ANNT -enwomb:ANMP:ANMP -enwrap:ANRP:ANRP -enzyme:ANSM:ANSM -eocene:ASN:ASN -eolian:ALN:ALN -eolith:AL0:ALT -eonism:ANSM:ANSM -eosine:ASN:ASN -eozoic:ASK:ASK -epacts:APKT:APKT -eparch:APRX:APRK -ephahs:AFS:AFS -ephebe:AFP:AFP -ephods:AFTS:AFTS -ephori:AFR:AFR -ephors:AFRS:AFRS -epical:APKL:APKL -epilog:APLK:APLK -epizoa:APS:APS -epochs:APKS:APKS -epodes:APTS:APTS -eponym:APNM:APNM -epopee:APP:APP -epulis:APLS:APLS -equali:AKL:AKL -equals:AKLS:AKLS -equate:AKT:AKT -equina:AKN:AKN -equine:AKN:AKN -equips:AKPS:AKPS -equity:AKT:AKT -erased:ARST:ARST -eraser:ARSR:ARSR -erases:ARSS:ARSS -erbium:ARPM:ARPM -erects:ARKT:ARKT -erelon:ARLN:ARLN -eriach:ARK:ARK -ericas:ARKS:ARKS -eringo:ARNK:ARNK -erinus:ARNS:ARNS -ermine:ARMN:ARMN -ernest:ARNS:ARNS -eroded:ARTT:ARTT -erodes:ARTS:ARTS -erotic:ARTK:ARTK -errand:ARNT:ARNT -errant:ARNT:ARNT -errata:ART:ART -erring:ARNK:ARNK -errors:ARRS:ARRS -ersatz:ARST:ARST -erucic:ARSK:ARSK -eructs:ARKT:ARKT -erupts:ARPT:ARPT -eryngo:ARNK:ARNK -escape:ASKP:ASKP -escarp:ASKR:ASKR -eschar:AXR:AXR -eschew:AX:AXF -escort:ASKR:ASKR -escrow:ASK:ASKF -escudo:ASKT:ASKT -eskers:ASKR:ASKR -eskimo:ASKM:ASKM -esodic:ASTK:ASTK -espial:ASPL:ASPL -espied:ASPT:ASPT -espier:ASP:ASPR -espies:ASPS:ASPS -esprit:ASPR:ASPR -essays:ASS:ASS -essoin:ASN:ASN -estate:ASTT:ASTT -esteem:ASTM:ASTM -esters:ASTR:ASTR -esther:AS0R:ASTR -estops:ASTP:ASTP -estral:ASTR:ASTR -estray:ASTR:ASTR -estrin:ASTR:ASTR -estrum:ASTR:ASTR -estrus:ASTR:ASTR -etalon:ATLN:ATLN -etamin:ATMN:ATMN -etched:AXT:AXT -etcher:AXR:AXR -etches:AXS:AXS -ethane:A0N:ATN -ethene:A0N:ATN -ethers:A0RS:ATRS -ethics:A0KS:ATKS -ethnic:A0NK:ATNK -ethnol:A0NL:ATNL -ethyne:A0N:ATN -etrier:ATR:ATRR -etudes:ATTS:ATTS -etymon:ATMN:ATMN -euchre:AKR:AKR -euclid:AKLT:AKLT -eugene:AJN:AKN -eulogy:ALJ:ALK -eundem:ANTM:ANTM -eunuch:ANK:ANK -eupnea:APN:APN -eureka:ARK:ARK -euripi:ARP:ARP -europe:ARP:ARP -euryon:ARN:ARN -evaded:AFTT:AFTT -evader:AFTR:AFTR -evades:AFTS:AFTS -evened:AFNT:AFNT -evener:AFNR:AFNR -evenly:AFNL:AFNL -events:AFNT:AFNT -everts:AFRT:AFRT -evicts:AFKT:AFKT -evilly:AFL:AFL -evince:AFNS:AFNS -evoked:AFKT:AFKT -evoker:AFKR:AFKR -evokes:AFKS:AFKS -evolve:AFLF:AFLF -evzone:AFSN:AFSN -exacts:AKSK:AKSK -exacum:AKSK:AKSK -exalts:AKSL:AKSL -examen:AKSM:AKSM -exarch:AKSR:AKSR -excamb:AKSM:AKSM -exceed:AKST:AKST -excels:AKSL:AKSL -except:AKSP:AKSP -excess:AKSS:AKSS -excise:AKSS:AKSS -excite:AKST:AKST -excuse:AKSS:AKSS -exedra:AKST:AKST -exempt:AKSM:AKSM -exequy:AKSK:AKSK -exerts:AKSR:AKSR -exeter:AKST:AKST -exeunt:AKSN:AKSN -exhale:AKSL:AKSL -exhort:AKSR:AKSR -exhume:AKSM:AKSM -exiled:AKSL:AKSL -exiles:AKSL:AKSL -exilic:AKSL:AKSL -exines:AKSN:AKSN -exists:AKSS:AKSS -exited:AKST:AKST -exitus:AKST:AKST -exmoor:AKSM:AKSM -exodic:AKST:AKST -exodus:AKST:AKST -exogen:AKSJ:AKSK -exonic:AKSN:AKSN -exonym:AKSN:AKSN -exotic:AKST:AKST -expand:AKSP:AKSP -expect:AKSP:AKSP -expels:AKSP:AKSP -expend:AKSP:AKSP -expert:AKSP:AKSP -expire:AKSP:AKSP -expiry:AKSP:AKSP -export:AKSP:AKSP -expose:AKSP:AKSP -exsect:AKSS:AKSS -exsert:AKSS:AKSS -extant:AKST:AKST -extend:AKST:AKST -extent:AKST:AKST -extern:AKST:AKST -extima:AKST:AKST -extine:AKST:AKST -extols:AKST:AKST -extort:AKST:AKST -extras:AKST:AKST -exuded:AKST:AKST -exudes:AKST:AKST -exults:AKSL:AKSL -exurbs:AKSR:AKSR -eyases:ASS:ASS -eyecup:AKP:AKP -eyeful:AFL:AFL -eyeing:ANK:ANK -eyelet:ALT:ALT -eyelid:ALT:ALT -eyewit:AT:AT -eyries:ARS:ARS -fabian:FPN:FPN -fabled:FPLT:FPLT -fabler:FPLR:FPLR -fables:FPLS:FPLS -fabric:FPRK:FPRK -facade:FKT:FKT -facers:FSRS:FSRS -facets:FSTS:FSTS -faceup:FSP:FSP -facial:FSL:FXL -facias:FSS:FXS -facies:FSS:FXS -facile:FSL:FSL -facing:FSNK:FSNK -factor:FKTR:FKTR -factum:FKTM:FKTM -factus:FKTS:FKTS -facula:FKL:FKL -faddle:FTL:FTL -faders:FTRS:FTRS -fading:FTNK:FTNK -faecal:FKL:FKL -faeces:FSS:FSS -faerie:FR:FR -faffed:FFT:FFT -fagged:FKT:FKT -faggot:FKT:FKT -fagots:FKTS:FKTS -failed:FLT:FLT -faille:FL:FL -faints:FNTS:FNTS -fairer:FRR:FRR -faires:FRS:FRS -fairly:FRL:FRL -faiths:F0S:FTS -fakers:FKRS:FKRS -fakery:FKR:FKR -faking:FKNK:FKNK -fakirs:FKRS:FKRS -falces:FLSS:FLSS -falcon:FLKN:FLKN -fallen:FLN:FLN -faller:FLR:FLR -fallot:FLT:FLT -fallow:FL:FLF -falser:FLSR:FLSR -falsie:FLS:FLS -falter:FLTR:FLTR -family:FML:FML -famine:FMN:FMN -famish:FMX:FMX -famous:FMS:FMS -fandom:FNTM:FNTM -fanged:FNJT:FNKT -fangos:FNKS:FNKS -fanion:FNN:FNN -fanjet:FNJT:FNJT -fanned:FNT:FNT -fanner:FNR:FNR -fannia:FN:FN -fanons:FNNS:FNNS -fantom:FNTM:FNTM -farads:FRTS:FRTS -farces:FRSS:FRSS -farers:FRRS:FRRS -farina:FRN:FRN -faring:FRNK:FRNK -farmed:FRMT:FRMT -farmer:FRMR:FRMR -farrow:FR:FRF -farsee:FRS:FRS -farted:FRTT:FRTT -fasces:FSS:FSS -fascia:FS:FS -fashed:FXT:FXT -fasted:FSTT:FSTT -fasten:FSTN:FSTN -faster:FSTR:FSTR -fatale:FTL:FTL -fatals:FTLS:FTLS -fately:FTL:FTL -father:F0R:FTR -fathom:FTM:FTM -fating:FTNK:FTNK -fatsos:FTSS:FTSS -fatted:FTT:FTT -fatten:FTN:FTN -fatter:FTR:FTR -fatuus:FTS:FTS -faucal:FKL:FKL -fauces:FSS:FSS -faucet:FST:FST -faults:FLTS:FLTS -faulty:FLT:FLT -faunae:FN:FN -faunal:FNL:FNL -faunas:FNS:FNS -fauves:FFS:FFS -favism:FFSM:FFSM -favors:FFRS:FFRS -fawned:FNT:FNT -fawner:FNR:FNR -faxing:FKSN:FKSN -fazing:FSNK:FSNK -fealty:FLT:FLT -feared:FRT:FRT -fearer:FRR:FRR -feasor:FSR:FSR -feasts:FSTS:FSTS -feazed:FST:FST -feazes:FSS:FSS -febris:FPRS:FPRS -fecula:FKL:FKL -fecund:FKNT:FKNT -fedora:FTR:FTR -feeble:FPL:FPL -feebly:FPL:FPL -feeded:FTT:FTT -feeder:FTR:FTR -feeing:FNK:FNK -feeler:FLR:FLR -feigns:FNS:FKNS -feints:FNTS:FNTS -feisty:FST:FST -feline:FLN:FLN -fellah:FL:FL -felled:FLT:FLT -feller:FLR:FLR -felloe:FL:FL -fellow:FL:FLF -felons:FLNS:FLNS -felony:FLN:FLN -felted:FLTT:FLTT -female:FML:FML -femmes:FMS:FMS -femora:FMR:FMR -femurs:FMRS:FMRS -fenced:FNST:FNST -fencer:FNSR:FNSR -fences:FNSS:FNSS -fended:FNTT:FNTT -fender:FNTR:FNTR -fenian:FNN:FNN -fennel:FNL:FNL -feodal:FTL:FTL -feoffs:FFS:FFS -ferial:FRL:FRL -ferine:FRN:FRN -fermat:FRMT:FRMT -fermer:FRMR:FRMR -fermis:FRMS:FRMS -ferrel:FRL:FRL -ferret:FRT:FRT -ferric:FRK:FRK -ferris:FRS:FRS -ferula:FRL:FRL -ferule:FRL:FRL -fervet:FRFT:FRFT -fervid:FRFT:FRFT -fervor:FRFR:FRFR -fescue:FSK:FSK -festal:FSTL:FSTL -fester:FSTR:FSTR -fetich:FTX:FTK -feting:FTNK:FTNK -fetish:FTX:FTX -fetter:FTR:FTR -fettle:FTL:FTL -feuars:FRS:FRS -feudal:FTL:FTL -feuded:FTT:FTT -fevers:FFRS:FFRS -fewest:FST:FST -fezzes:FSS:FSS -fiacre:FKR:FKR -fiance:FNS:FNS -fianna:FN:FN -fiasco:FSK:FSK -fibbed:FPT:FPT -fibber:FPR:FPR -fibers:FPRS:FPRS -fibred:FPRT:FPRT -fibres:FPRS:FPRS -fibril:FPRL:FPRL -fibrin:FPRN:FPRN -fibula:FPL:FPL -fiches:FXS:FKS -fichus:FXS:FKS -fickle:FKL:FKL -fiddle:FTL:FTL -fiddly:FTL:FTL -fidget:FJT:FJT -fiefee:FF:FF -fiefor:FFR:FFR -fields:FLTS:FLTS -fiends:FNTS:FNTS -fierce:FRS:FRS -fiesta:FST:FST -fifers:FFRS:FFRS -fifths:FF0S:FFTS -figged:FKT:FKT -fights:FTS:FTS -figure:FKR:FKR -fijian:FJN:FJN -filely:FLL:FLL -filers:FLRS:FLRS -filets:FLTS:FLTS -filial:FLL:FLL -filing:FLNK:FLNK -filius:FLS:FLS -filled:FLT:FLT -filler:FLR:FLR -fillet:FLT:FLT -fillip:FLP:FLP -filmed:FLMT:FLMT -filmic:FLMK:FLMK -filose:FLS:FLS -filter:FLTR:FLTR -filthy:FL0:FLT -fimble:FMPL:FMPL -finale:FNL:FNL -finals:FNLS:FNLS -finder:FNTR:FNTR -finely:FNL:FNL -finery:FNR:FNR -finest:FNST:FNST -fingal:FNKL:FNKL -finger:FNKR:FNJR -finial:FNL:FNL -fining:FNNK:FNNK -finish:FNX:FNX -finite:FNT:FNT -finked:FNKT:FNKT -finnan:FNN:FNN -finned:FNT:FNT -finnic:FNK:FNK -fiords:FRTS:FRTS -fipple:FPL:FPL -firedo:FRT:FRT -firers:FRRS:FRRS -firing:FRNK:FRNK -firkin:FRKN:FRKN -firmed:FRMT:FRMT -firmer:FRMR:FRMR -firmly:FRML:FRML -firsts:FRST:FRST -firths:FR0S:FRTS -fiscal:FSKL:FSKL -fished:FXT:FXT -fisher:FXR:FXR -fishes:FXS:FXS -fisted:FSTT:FSTT -fitful:FTFL:FTFL -fitted:FTT:FTT -fitter:FTR:FTR -fivers:FFRS:FFRS -fixate:FKST:FKST -fixers:FKSR:FKSR -fixing:FKSN:FKSN -fixity:FKST:FKST -fixups:FKSP:FKSP -fizzed:FST:FST -fizzer:FSR:FSR -fizzes:FSS:FSS -fizzle:FSL:FSL -fjelds:FJLT:FJLT -fjords:FJRT:FJRT -flabby:FLP:FLP -flacks:FLKS:FLKS -flacon:FLKN:FLKN -flaggy:FLK:FLK -flagon:FLKN:FLKN -flails:FLLS:FLLS -flairs:FLRS:FLRS -flaked:FLKT:FLKT -flaker:FLKR:FLKR -flakes:FLKS:FLKS -flambe:FLMP:FLMP -flamed:FLMT:FLMT -flamer:FLMR:FLMR -flames:FLMS:FLMS -flange:FLNJ:FLNK -flanks:FLNK:FLNK -flappy:FLP:FLP -flared:FLRT:FLRT -flares:FLRS:FLRS -flashy:FLX:FLX -flasks:FLSK:FLSK -flatly:FLTL:FLTL -flatus:FLTS:FLTS -flaunt:FLNT:FLNT -flavin:FLFN:FLFN -flavor:FLFR:FLFR -flavum:FLFM:FLFM -flawed:FLT:FLT -flaxen:FLKS:FLKS -flaxes:FLKS:FLKS -flaxse:FLKS:FLKS -flayed:FLT:FLT -flayer:FLR:FLR -fleaba:FLP:FLP -fleams:FLMS:FLMS -fleche:FLX:FLK -flecks:FLKS:FLKS -flecky:FLK:FLK -fledge:FLJ:FLJ -fleece:FLS:FLS -fleecy:FLS:FLS -fleers:FLRS:FLRS -fleets:FLTS:FLTS -fleing:FLNK:FLNK -flense:FLNS:FLNS -fleshy:FLX:FLX -fletch:FLX:FLX -flexed:FLKS:FLKS -flexes:FLKS:FLKS -flexor:FLKS:FLKS -flexos:FLKS:FLKS -flicks:FLKS:FLKS -fliers:FLRS:FLRS -flight:FLT:FLT -flimsy:FLMS:FLMS -flinch:FLNX:FLNK -flings:FLNK:FLNK -flints:FLNT:FLNT -flinty:FLNT:FLNT -flirts:FLRT:FLRT -flirty:FLRT:FLRT -flitch:FLX:FLX -floats:FLTS:FLTS -floaty:FLT:FLT -flocci:FLX:FLX -flocks:FLKS:FLKS -flocky:FLK:FLK -floods:FLTS:FLTS -floors:FLRS:FLRS -floozy:FLS:FLS -floppy:FLP:FLP -florae:FLR:FLR -floral:FLRL:FLRL -floras:FLRS:FLRS -floret:FLRT:FLRT -florid:FLRT:FLRT -florin:FLRN:FLRN -flossy:FLS:FLS -flotel:FLTL:FLTL -flours:FLRS:FLRS -floury:FLR:FLR -flouts:FLTS:FLTS -flowed:FLT:FLT -flower:FLR:FLR -fluent:FLNT:FLNT -fluffs:FLFS:FLFS -fluffy:FLF:FLF -fluids:FLTS:FLTS -fluked:FLKT:FLKT -flukes:FLKS:FLKS -flumes:FLMS:FLMS -flunks:FLNK:FLNK -flunky:FLNK:FLNK -flurry:FLR:FLR -fluted:FLTT:FLTT -flutes:FLTS:FLTS -fluxed:FLKS:FLKS -fluxes:FLKS:FLKS -flybys:FLPS:FLPS -flyers:FLRS:FLRS -flying:FLNK:FLNK -flyman:FLMN:FLMN -flymen:FLMN:FLMN -flyway:FL:FL -foaled:FLT:FLT -foamed:FMT:FMT -fobbed:FPT:FPT -focuss:FKS:FKS -fodder:FTR:FTR -foehns:FNS:FNS -foeman:FMN:FMN -foemen:FMN:FMN -foetal:FTL:FTL -foetor:FTR:FTR -foetus:FTS:FTS -fogbow:FKP:FKPF -fogdog:FKTK:FKTK -fogeys:FJS:FKS -fogged:FKT:FKT -fogies:FJS:FKS -foible:FPL:FPL -foiled:FLT:FLT -foists:FSTS:FSTS -folate:FLT:FLT -folded:FLTT:FLTT -folder:FLTR:FLTR -foliar:FLR:FLR -folios:FLS:FLS -folium:FLM:FLM -folkie:FLK:FLK -folksy:FLKS:FLKS -follow:FL:FLF -foment:FMNT:FMNT -fonder:FNTR:FNTR -fondle:FNTL:FNTL -fondly:FNTL:FNTL -fondue:FNT:FNT -fontal:FNTL:FNTL -foodie:FT:FT -fooled:FLT:FLT -footed:FTT:FTT -footer:FTR:FTR -footle:FTL:FTL -foozle:FSL:FSL -forage:FRJ:FRK -forays:FRS:FRS -forbad:FRPT:FRPT -forbid:FRPT:FRPT -forbye:FRP:FRP -forced:FRST:FRST -forcer:FRSR:FRSR -forces:FRSS:FRSS -forded:FRTT:FRTT -forego:FRK:FRK -forele:FRL:FRL -forest:FRST:FRST -forged:FRJT:FRKT -forger:FRKR:FRJR -forges:FRJS:FRKS -forget:FRKT:FRKT -forgot:FRKT:FRKT -forint:FRNT:FRNT -forked:FRKT:FRKT -formal:FRML:FRML -formam:FRMM:FRMM -format:FRMT:FRMT -formed:FRMT:FRMT -former:FRMR:FRMR -formes:FRMS:FRMS -formic:FRMK:FRMK -formyl:FRML:FRML -fornix:FRNK:FRNK -fortes:FRTS:FRTS -fortis:FRTS:FRTS -forums:FRMS:FRMS -fossae:FS:FS -fosses:FSS:FSS -fossil:FSL:FSL -foster:FSTR:FSTR -fottle:FTL:FTL -fought:FKT:FKT -fouled:FLT:FLT -fouler:FLR:FLR -foully:FL:FL -founds:FNTS:FNTS -founts:FNTS:FNTS -fourth:FR0:FRT -foveae:FF:FF -foveal:FFL:FFL -fowled:FLT:FLT -fowler:FLR:FLR -foxier:FKS:FKSR -foxily:FKSL:FKSL -foxing:FKSN:FKSN -foyers:FRS:FRS -fracas:FRKS:FRKS -fracto:FRKT:FRKT -frails:FRLS:FRLS -fraise:FRS:FRS -framed:FRMT:FRMT -framer:FRMR:FRMR -frames:FRMS:FRMS -france:FRNS:FRNS -franco:FRNK:FRNK -francs:FRNK:FRNK -franks:FRNK:FRNK -frappe:FRP:FRP -fraser:FRSR:FRSR -frater:FRTR:FRTR -frauds:FRTS:FRTS -frauen:FRN:FRN -frayed:FRT:FRT -frazil:FRSL:FRSL -freaks:FRKS:FRKS -freaky:FRK:FRK -freely:FRL:FRL -freest:FRST:FRST -freeze:FRS:FRS -fregit:FRJT:FRKT -freing:FRNK:FRNK -frenal:FRNL:FRNL -french:FRNX:FRNK -frenum:FRNM:FRNM -frenzy:FRNS:FRNS -fresco:FRSK:FRSK -fresno:FRSN:FRSN -fretum:FRTM:FRTM -freund:FRNT:FRNT -friars:FRRS:FRRS -friary:FRR:FRR -friday:FRT:FRT -fridge:FRJ:FRJ -friend:FRNT:FRNT -friers:FRRS:FRRS -frieze:FRS:FRS -fright:FRT:FRT -frigid:FRJT:FRKT -frills:FRLS:FRLS -frilly:FRL:FRL -fringe:FRNJ:FRNK -fringy:FRNK:FRNJ -frisks:FRSK:FRSK -frisky:FRSK:FRSK -fritts:FRTS:FRTS -frivol:FRFL:FRFL -frizzy:FRS:FRS -frocks:FRKS:FRKS -froggy:FRK:FRK -frolic:FRLK:FRLK -fronds:FRNT:FRNT -fronto:FRNT:FRNT -fronts:FRNT:FRNT -frosts:FRST:FRST -frosty:FRST:FRST -froths:FR0S:FRTS -frothy:FR0:FRT -froude:FRT:FRT -frowns:FRNS:FRNS -frowst:FRST:FRST -frowsy:FRS:FRS -frowzy:FRS:FRTS -frozen:FRSN:FRSN -frugal:FRKL:FRKL -fruits:FRTS:FRTS -fruity:FRT:FRT -frumps:FRMP:FRMP -frumpy:FRMP:FRMP -frusta:FRST:FRST -fruste:FRST:FRST -frutex:FRTK:FRTK -fryers:FRRS:FRRS -frying:FRNK:FRNK -fucoid:FKT:FKT -fucose:FKS:FKS -fuddle:FTL:FTL -fudged:FJT:FJT -fudges:FJS:FJS -fueled:FLT:FLT -fueler:FLR:FLR -fugues:FKS:FKS -fuhrer:FRR:FRR -fulcra:FLKR:FLKR -fulfil:FLFL:FLFL -fulled:FLT:FLT -fuller:FLR:FLR -fulmar:FLMR:FLMR -fulmen:FLMN:FLMN -fumble:FMPL:FMPL -fumers:FMRS:FMRS -fumier:FM:FMR -fuming:FMNK:FMNK -fundal:FNTL:FNTL -funded:FNTT:FNTT -funder:FNTR:FNTR -fundic:FNTK:FNTK -fundus:FNTS:FNTS -fungal:FNKL:FNKL -fungic:FNJK:FNKK -fungus:FNKS:FNKS -funked:FNKT:FNKT -funker:FNKR:FNKR -funnel:FNL:FNL -furcal:FRKL:FRKL -furfur:FRFR:FRFR -furies:FRS:FRS -furled:FRLT:FRLT -furler:FRLR:FRLR -furlon:FRLN:FRLN -furore:FRR:FRR -furors:FRRS:FRRS -furred:FRT:FRT -furrow:FR:FRF -furtum:FRTM:FRTM -furzes:FRSS:FRSS -fusain:FSN:FSN -fusees:FSS:FSS -fusile:FSL:FSL -fusils:FSLS:FSLS -fusing:FSNK:FSNK -fusion:FSN:FXN -fussed:FST:FST -fusser:FSR:FSR -fusses:FSS:FSS -futile:FTL:FTL -futons:FTNS:FTNS -future:FTR:FTR -futuro:FTR:FTR -fuzing:FSNK:FSNK -fuzzed:FST:FST -fuzzes:FSS:FSS -fylfot:FLFT:FLFT -gabbed:KPT:KPT -gabber:KPR:KPR -gabble:KPL:KPL -gabbro:KPR:KPR -gabies:KPS:KPS -gabion:KPN:KPN -gabled:KPLT:KPLT -gabler:KPLR:KPLR -gables:KPLS:KPLS -gablet:KPLT:KPLT -gadded:KTT:KTT -gadder:KTR:KTR -gadfly:KTFL:KTFL -gadget:KJT:KJT -gadoid:KTT:KTT -gaelic:KLK:KLK -gaffed:KFT:KFT -gaffer:KFR:KFR -gaffes:KFS:KFS -gagged:KKT:KKT -gaggle:KKL:KKL -gaging:KJNK:KKNK -gaiety:KT:KT -gained:KNT:KNT -gainer:KNR:KNR -gainst:KNST:KNST -gaited:KTT:KTT -gaiter:KTR:KTR -galago:KLK:KLK -galaxy:KLKS:KLKS -galeae:KL:KL -galees:KLS:KLS -galena:KLN:KLN -galiot:KLT:KLT -galled:KLT:KLT -galley:KL:KL -gallic:KLK:KLK -gallon:KLN:KLN -gallop:KLP:KLP -gallup:KLP:KLP -gallus:KLS:KLS -galore:KLR:KLR -galosh:KLX:KLX -galvos:KLFS:KLFS -galyak:KLK:KLK -gambia:KMP:KMP -gambit:KMPT:KMPT -gamble:KMPL:KMPL -gambol:KMPL:KMPL -gamely:KML:KML -gamest:KMST:KMST -gamete:KMT:KMT -gamier:KM:KMR -gamily:KML:KML -gamine:KMN:KMN -gaming:KMNK:KMNK -gamins:KMNS:KMNS -gammer:KMR:KMR -gammon:KMN:KMN -gamone:KMN:KMN -gamont:KMNT:KMNT -gamuts:KMTS:KMTS -gander:KNTR:KNTR -gandhi:KNT:KNT -ganged:KNJT:KNKT -ganger:KNKR:KNJR -ganges:KNJS:KNKS -gangly:KNKL:KNKL -gangue:KNK:KNK -gannet:KNT:KNT -ganoid:KNT:KNT -ganser:KNSR:KNSR -gansey:KNS:KNS -gantry:KNTR:KNTR -gaoled:KLT:KLT -gaoler:KLR:KLR -gapers:KPRS:KPRS -gaping:KPNK:KPNK -gapped:KPT:KPT -garage:KRJ:KRK -garbed:KRPT:KRPT -garble:KRPL:KRPL -garbos:KRPS:KRPS -garcia:KRS:KRX -garcon:KRKN:KRKN -garçon:KRSN:KRSN -garden:KRTN:KRTN -garget:KRKT:KRKT -gargle:KRKL:KRKL -garish:KRX:KRX -garlic:KRLK:KRLK -garner:KRNR:KRNR -garnet:KRNT:KRNT -garret:KRT:KRT -garron:KRN:KRN -garrya:KR:KR -garter:KRTR:KRTR -garths:KR0S:KRTS -gasbag:KSPK:KSPK -gascon:KSKN:KSKN -gashed:KXT:KXT -gashes:KXS:KXS -gasify:KSF:KSF -gasing:KSNK:KSNK -gasket:KSKT:KSKT -gaskin:KSKN:KSKN -gasman:KSMN:KSMN -gasmen:KSMN:KSMN -gasped:KSPT:KSPT -gasper:KSPR:KSPR -gassed:KST:KST -gasser:KSR:KSR -gasses:KSS:KSS -gaster:KSTR:KSTR -gather:K0R:KTR -gating:KTNK:KTNK -gatsby:KTSP:KTSP -gauche:KX:KK -gaucho:KX:KK -gauged:KJT:KKT -gauger:KKR:KJR -gauges:KJS:KKS -gaulle:KL:KL -gauped:KPT:KPT -gavage:KFJ:KFK -gavels:KFLS:KFLS -gavial:KFL:KFL -gawked:KKT:KKT -gawped:KPT:KPT -gayals:KLS:KLS -gayest:KST:KST -gayety:KT:KT -gazebo:KSP:KSP -gazers:KSRS:KSRS -gazing:KSNK:KSNK -gazump:KSMP:KSMP -geared:JRT:KRT -gedact:JTKT:KTKT -geezer:JSR:KSR -gehrig:JRK:KRK -geiger:KJR:JKR -geisha:KX:JX -gelada:KLT:JLT -gelate:KLT:JLT -gelded:KLTT:JLTT -gelder:KLTR:JLTR -gelled:KLT:JLT -gelose:KLS:JLS -gemini:JMN:KMN -gemmae:JM:KM -gemmed:JMT:KMT -gemots:JMTS:KMTS -gender:JNTR:KNTR -genera:JNR:KNR -geneva:JNF:KNF -genial:JNL:KNL -genies:JNS:KNS -genion:JNN:KNN -genips:JNPS:KNPS -genius:JNS:KNS -genome:JNM:KNM -genoms:JNMS:KNMS -genres:JNRS:KNRS -genros:JNRS:KNRS -gentes:JNTS:KNTS -gentle:JNTL:KNTL -gently:JNTL:KNTL -gentry:JNTR:KNTR -genual:JNL:KNL -geodes:JTS:KTS -geodic:JTK:KTK -geoids:JTS:KTS -george:JRJ:KRK -gerahs:KRS:JRS -gerald:KRLT:JRLT -gerbil:KRPL:JRPL -german:KRMN:JRMN -germen:KRMN:JRMN -gerund:KRNT:JRNT -gestae:KST:JST -gestes:KSTS:JSTS -gestio:KST:JST -gestor:KSTR:JSTR -getter:KTR:KTR -getups:KTPS:KTPS -gewgaw:JK:KKF -geyser:KSR:JSR -gharry:KR:KR -ghauts:KTS:KTS -ghazis:KSS:KSS -gherao:KR:KR -ghetto:KT:KT -ghibli:JPL:JPL -ghosts:KSTS:KSTS -ghosty:KST:KST -ghouls:KLS:KLS -giants:JNTS:KNTS -giaour:JR:KR -gibbed:KPT:JPT -gibber:KPR:JPR -gibbet:KPT:JPT -gibbon:KPN:JPN -gibbus:KPS:JPS -gibers:KPRS:JPRS -gibing:KPNK:JPNK -giblet:KPLT:JPLT -gibson:KPSN:JPSN -gidgee:JJ:KJ -gifted:JFTT:KFTT -giftie:JFT:KFT -gigged:JKT:KKT -giggle:JKL:KKL -giggly:JKL:KKL -gigolo:JKL:KKL -gigots:JKTS:KKTS -gigues:JKS:KKS -gilded:KLTT:JLTT -gilder:KLTR:JLTR -gilets:KLTS:JLTS -gilgai:KLK:JLK -gilled:KLT:JLT -gillie:KL:JL -gimbal:JMPL:KMPL -gimlet:JMLT:KMLT -gimmer:JMR:KMR -ginger:KNKR:JNJR -ginkgo:KNKK:JNKK -ginned:KNT:JNT -ginnel:KNL:JNL -ginsen:KNSN:JNSN -gipons:JPNS:KPNS -gipped:JPT:KPT -girard:JRRT:KRRT -girded:JRTT:KRTT -girder:JRTR:KRTR -girdle:JRTL:KRTL -girlie:JRL:KRL -girned:JRNT:KRNT -girons:JRNS:KRNS -girted:JRTT:KRTT -girths:JR0S:KRTS -giusto:JST:KST -givers:JFRS:KFRS -giving:JFNK:KFNK -gizmos:JSMS:KSMS -glabra:KLPR:KLPR -glaced:KLST:KLST -glaces:KLSS:KLSS -glacis:KLSS:KLSS -glades:KLTS:KLTS -gladly:KLTL:KLTL -glairs:KLRS:KLRS -glairy:KLR:KLR -glamor:KLMR:KLMR -glance:KLNS:KLNS -glands:KLNT:KLNT -glared:KLRT:KLRT -glares:KLRS:KLRS -glassy:KLS:KLS -glazed:KLST:KLST -glazer:KLSR:KLSR -glazes:KLSS:KLSS -gleams:KLMS:KLMS -gleamy:KLM:KLM -gleans:KLNS:KLNS -gleety:KLT:KLT -glibly:KLPL:LPL -glided:KLTT:LTT -glider:KLTR:LTR -glides:KLTS:LTS -glints:KLNT:LNTS -glioma:KLM:LM -glisse:KLS:LS -glitch:KLX:LX -glitzy:KLTS:LTS -gloats:KLTS:KLTS -global:KLPL:KLPL -globed:KLPT:KLPT -globes:KLPS:KLPS -globin:KLPN:KLPN -globus:KLPS:KLPS -glomal:KLML:KLML -glomus:KLMS:KLMS -glooms:KLMS:KLMS -gloomy:KLM:KLM -gloria:KLR:KLR -glossa:KLS:KLS -glossy:KLS:KLS -gloved:KLFT:KLFT -glover:KLFR:KLFR -gloves:KLFS:KLFS -glowed:KLT:KLT -glower:KLR:KLR -glozed:KLST:KLST -gluers:KLRS:KLRS -gluier:KL:KLR -gluing:KLNK:KLNK -glumes:KLMS:KLMS -glumly:KLML:KLML -gluons:KLNS:KLNS -glutei:KLT:KLT -gluten:KLTN:KLTN -glycan:KLKN:KLKN -glycol:KLKL:KLKL -gnarls:NRLS:NRLS -gnarly:NRL:NRL -gnawed:NT:NT -gnawer:NR:NR -gneiss:NS:NS -gnomes:NMS:NMS -gnomic:NMK:NMK -gnomon:NMN:NMN -gnoses:NSS:NSS -gnosis:NSS:NSS -goaded:KTT:KTT -goalie:KL:KL -goanna:KN:KN -goatee:KT:KT -gobbed:KPT:KPT -gobber:KPR:KPR -gobbet:KPT:KPT -gobble:KPL:KPL -gobies:KPS:KPS -goblet:KPLT:KPLT -goblin:KPLN:KPLN -goboes:KPS:KPS -godets:KTTS:KTTS -godown:KTN:KTN -godson:KTSN:KTSN -godwit:KTT:KTT -goethe:K0:KT -gofers:KFRS:KFRS -goffer:KFR:KFR -goggas:KKS:KKS -goggle:KKL:KKL -goggly:KKL:KKL -goglet:KKLT:KKLT -goings:KNKS:KNKS -goiter:KTR:KTR -golden:KLTN:KLTN -golems:KLMS:KLMS -golfed:KLFT:KLFT -golfer:KLFR:KLFR -gollop:KLP:KLP -gomuti:KMT:KMT -gonads:KNTS:KNTS -goners:KNRS:KNRS -gonged:KNJT:KNKT -gonion:KNN:KNN -goober:KPR:KPR -goodby:KTP:KTP -gooder:KTR:KTR -goodie:KT:KT -goodly:KTL:KTL -goofed:KFT:KFT -googly:KKL:KKL -googol:KKL:KKL -gooier:K:KR -goorie:KR:KR -goosed:KST:KST -gooses:KSS:KSS -goosey:KS:KS -gopaks:KPKS:KPKS -gopher:KFR:KFR -gorals:KRLS:KRLS -gorged:KRJT:KRKT -gorger:KRKR:KRJR -gorges:KRJS:KRKS -gorget:KRKT:KRKT -gorgon:KRKN:KRKN -gorier:KR:KRR -gorily:KRL:KRL -goring:KRNK:KRNK -gospel:KSPL:KSPL -gossip:KSP:KSP -gothes:K0S:KTS -gothic:K0K:KTK -gotten:KTN:KTN -gouged:KJT:KKT -gouger:KKR:KJR -gouges:KJS:KKS -gourde:KRT:KRT -gourds:KRTS:KRTS -govern:KFRN:KFRN -gowans:KNS:KNS -gowany:KN:KN -gowned:KNT:KNT -goyish:KX:KX -grabby:KRP:KRP -graben:KRPN:KRPN -graced:KRST:KRST -graces:KRSS:KRSS -graded:KRTT:KRTT -grader:KRTR:KRTR -grades:KRTS:KRTS -gradin:KRTN:KRTN -gradus:KRTS:KRTS -grafts:KRFT:KRFT -graham:KRHM:KRHM -grains:KRNS:KRNS -grainy:KRN:KRN -gramin:KRMN:KRMN -gramme:KRM:KRM -grammy:KRM:KRM -grande:KRNT:KRNT -grands:KRNT:KRNT -grange:KRNJ:KRNK -granny:KRN:KRN -grants:KRNT:KRNT -granum:KRNM:KRNM -grapes:KRPS:KRPS -grapey:KRP:KRP -graphs:KRFS:KRFS -grappa:KRP:KRP -grasps:KRSP:KRSP -grassy:KRS:KRS -gratae:KRT:KRT -grated:KRTT:KRTT -grater:KRTR:KRTR -grates:KRTS:KRTS -gratia:KRX:KRX -gratin:KRTN:KRTN -gratis:KRTS:KRTS -graved:KRFT:KRFT -gravel:KRFL:KRFL -graven:KRFN:KRFN -graver:KRFR:KRFR -graves:KRFS:KRFS -gravid:KRFT:KRFT -gravis:KRFS:KRFS -grayed:KRT:KRT -grayer:KRR:KRR -grayly:KRL:KRL -grazed:KRST:KRST -grazer:KRSR:KRSR -grazes:KRSS:KRSS -grazie:KRS:KRS -grease:KRS:KRS -greasy:KRS:KRS -greave:KRF:KRF -grebes:KRPS:KRPS -greece:KRS:KRS -greedy:KRT:KRT -greeks:KRKS:KRKS -greens:KRNS:KRNS -greeny:KRN:KRN -greets:KRTS:KRTS -gremio:KRM:KRM -greyed:KRT:KRT -greyer:KRR:KRR -greyla:KRL:KRL -greyly:KRL:KRL -gricer:KRSR:KRSR -grided:KRTT:KRTT -grides:KRTS:KRTS -griefs:KRFS:KRFS -grieve:KRF:KRF -griffe:KRF:KRF -grigri:KRKR:KRKR -grikes:KRKS:KRKS -grille:KRL:KRL -grills:KRLS:KRLS -grilse:KRLS:KRLS -grimed:KRMT:KRMT -grimly:KRML:KRML -grinds:KRNT:KRNT -gringo:KRNK:KRNK -griped:KRPT:KRPT -griper:KRPR:KRPR -gripes:KRPS:KRPS -grippe:KRP:KRP -grippy:KRP:KRP -grisly:KRL:KRL -grison:KRSN:KRSN -gritty:KRT:KRT -grivet:KRFT:KRFT -groans:KRNS:KRNS -groats:KRTS:KRTS -grocer:KRSR:KRSR -groggy:KRK:KRK -groins:KRNS:KRNS -grooms:KRMS:KRMS -groove:KRF:KRF -groovy:KRF:KRF -groped:KRPT:KRPT -groper:KRPR:KRPR -gropes:KRPS:KRPS -grosse:KRS:KRS -groszy:KRS:KRX -grotto:KRT:KRT -grotty:KRT:KRT -grouch:KRK:KRK -grough:KRF:KRF -ground:KRNT:KRNT -groups:KRPS:KRPS -grouse:KRS:KRS -grouts:KRTS:KRTS -grouty:KRT:KRT -grovel:KRFL:KRFL -grover:KRFR:KRFR -groves:KRFS:KRFS -grovet:KRFT:KRFT -grower:KRR:KRR -growls:KRLS:KRLS -growth:KR0:KRT -groyne:KRN:KRN -grubby:KRP:KRP -grudge:KRJ:KRJ -gruels:KRLS:KRLS -grugru:KRKR:KRKR -grumpy:KRMP:KRMP -grungy:KRNK:KRNJ -grunts:KRNT:KRNT -grykes:KRKS:KRKS -guacos:KKS:KKS -guaiac:KK:KK -guanos:KNS:KNS -guards:KRTS:KRTS -guavas:KFS:KFS -guddle:KTL:KTL -guenon:KNN:KNN -guerre:KR:KR -guests:KSTS:KSTS -guffaw:KF:KFF -guiana:KN:KN -guided:KTT:KTT -guider:KTR:KTR -guides:KTS:KTS -guidon:KTN:KTN -guilds:KLTS:KLTS -guilty:KLT:KLT -guimpe:KMP:KMP -guinea:KN:KN -guised:KST:KST -guiser:KSR:KSR -guises:KSS:KSS -guitar:KTR:KTR -gulden:KLTN:KLTN -gulfed:KLFT:KLFT -gulled:KLT:KLT -gullet:KLT:KLT -gulley:KL:KL -gulose:KLS:KLS -gulped:KLPT:KLPT -gulper:KLPR:KLPR -gumbos:KMPS:KMPS -gummas:KMS:KMS -gummed:KMT:KMT -gunged:KNJT:KNKT -gunges:KNJS:KNKS -gunite:KNT:KNT -gunman:KNMN:KNMN -gunmen:KNMN:KNMN -gunnar:KNR:KNR -gunned:KNT:KNT -gunnel:KNL:KNL -gunner:KNR:KNR -gunter:KNTR:KNTR -gurges:KRJS:KRKS -gurgle:KRKL:KRKL -gurjun:KRJN:KRJN -gurkha:KRK:KRK -gurnet:KRNT:KRNT -gurney:KRN:KRN -gushed:KXT:KXT -gusher:KXR:KXR -gushes:KXS:KXS -gusset:KST:KST -gusted:KSTT:KSTT -guttae:KT:KT -gutted:KTT:KTT -gutter:KTR:KTR -guttie:KT:KT -guyana:KN:KN -guyers:KRS:KRS -guying:KNK:KNK -guzzle:KSL:KSL -gybing:KPNK:JPNK -gympie:KMP:JMP -gypped:KPT:JPT -gypsum:KPSM:JPSM -gyrate:KRT:JRT -gyring:KRNK:JRNK -gyrons:KRNS:JRNS -gyrose:KRS:JRS -gyving:KFNK:JFNK -habana:HPN:HPN -habeas:HPS:HPS -habere:HPR:HPR -habits:HPTS:HPTS -habuit:HPT:HPT -haceks:HSKS:HSKS -hacked:HKT:HKT -hacker:HKR:HKR -hackle:HKL:HKL -hackly:HKL:HKL -hading:HTNK:HTNK -hadjes:HTJS:HTJS -hadjis:HTJS:HTJS -hadn't:HTNT:HTNT -hadron:HTRN:HTRN -haemal:HML:HML -haemic:HMK:HMK -haemin:HMN:HMN -haeres:HRS:HRS -hafted:HFTT:HFTT -hafter:HFTR:HFTR -hagbut:HKPT:HKPT -haggai:HK:HK -haggis:HJS:HKS -haggle:HKL:HKL -hailed:HLT:HLT -hailer:HLR:HLR -haines:HNS:HNS -hairdo:HRT:HRT -haired:HRT:HRT -hairif:HRF:HRF -hajjes:HJS:HJS -hajjis:HJS:HJS -hakeas:HKS:HKS -hakims:HKMS:HKMS -halals:HLLS:HLLS -halers:HLRS:HLRS -haleru:HLR:HLR -halide:HLT:HLT -haling:HLNK:HLNK -halite:HLT:HLT -hallah:HL:HL -halloa:HL:HL -halloo:HL:HL -hallos:HLS:HLS -hallow:HL:HLF -hallux:HLKS:HLKS -haloed:HLT:HLT -haloes:HLS:HLS -haloid:HLT:HLT -halted:HLTT:HLTT -halter:HLTR:HLTR -halvah:HLF:HLF -halved:HLFT:HLFT -halves:HLFS:HLFS -hamata:HMT:HMT -hamate:HMT:HMT -hambur:HMPR:HMPR -hamite:HMT:HMT -hamlet:HMLT:HMLT -hammed:HMT:HMT -hammer:HMR:HMR -hamper:HMPR:HMPR -hamuli:HML:HML -hances:HNSS:HNSS -handba:HNTP:HNTP -handed:HNTT:HNTT -handel:HNTL:HNTL -hander:HNTR:HNTR -handle:HNTL:HNTL -hangar:HNKR:HNKR -hangdo:HNKT:HNKT -hanged:HNJT:HNKT -hanger:HNKR:HNJR -hangis:HNJS:HNKS -hanker:HNKR:HNKR -hankie:HNK:HNK -hansel:HNSL:HNSL -hansen:HNSN:HNSN -hansom:HNSM:HNSM -happen:HPN:HPN -hapten:HPTN:HPTN -haptic:HPTK:HPTK -harass:HRS:HRS -harbor:HRPR:HRPR -harden:HRTN:HRTN -harder:HRTR:HRTR -hardly:HRTL:HRTL -harems:HRMS:HRMS -harked:HRKT:HRKT -harken:HRKN:HRKN -harlem:HRLM:HRLM -harmed:HRMT:HRMT -harmer:HRMR:HRMR -harold:HRLT:HRLT -harped:HRPT:HRPT -harper:HRPR:HRPR -harris:HRS:HRS -harrow:HR:HRF -hartal:HRTL:HRTL -hashed:HXT:HXT -hasher:HXR:HXR -hashes:HXS:HXS -haslet:HSLT:HSLT -hasner:HSNR:HSNR -hasn't:HSNT:HSNT -hasped:HSPT:HSPT -hassal:HSL:HSL -hassle:HSL:HSL -hasten:HSTN:HSTN -hatbox:HTPK:HTPK -haters:HTRS:HTRS -hating:HTNK:HTNK -hatpin:HTPN:HTPN -hatred:HTRT:HTRT -hatted:HTT:HTT -hatter:HTR:HTR -hauled:HLT:HLT -hauler:HLR:HLR -haulms:HLMS:HLMS -haunch:HNX:HNK -haunts:HNTS:HNTS -havana:HFN:HFN -havens:HFNS:HFNS -havers:HFRS:HFRS -having:HFNK:HFNK -havock:HFK:HFK -havocs:HFKS:HFKS -hawaii:H:H -hawing:HNK:HNK -hawked:HKT:HKT -hawker:HKR:HKR -hawser:HSR:HSR -haybox:HPKS:HPKS -haying:HNK:HNK -haymow:HM:HMF -hazard:HSRT:HSRT -hazels:HSLS:HSLS -hazier:HS:HSR -hazily:HSL:HSL -hazing:HSNK:HSNK -headed:HTT:HTT -header:HTR:HTR -healed:HLT:HLT -healer:HLR:HLR -health:HL0:HLT -heaped:HPT:HPT -heaper:HPR:HPR -hearer:HRR:HRR -hearse:HRS:HRS -hearth:HR0:HRT -hearts:HRTS:HRTS -hearty:HRT:HRT -heated:HTT:HTT -heater:HTR:HTR -heaths:H0S:HTS -heathy:H0:HT -heaume:HM:HM -heaved:HFT:HFT -heaven:HFN:HFN -heaver:HFR:HFR -heaves:HFS:HFS -hebrew:HPR:HPRF -heckle:HKL:HKL -hectic:HKTK:HKTK -hector:HKTR:HKTR -heddle:HTL:HTL -hedged:HJT:HJT -hedger:HJR:HJR -hedges:HJS:HJS -heeded:HTT:HTT -heeder:HTR:HTR -heeled:HLT:HLT -heeler:HLR:HLR -hefted:HFTT:HFTT -hefter:HFTR:HFTR -hegira:HJR:HKR -heifer:HFR:HFR -height:HT:HT -heists:HSTS:HSTS -helena:HLN:HLN -helens:HLNS:HLNS -heling:HLNK:HLNK -helium:HLM:HLM -heller:HLR:HLR -hellos:HLS:HLS -helmet:HLMT:HLMT -heloma:HLM:HLM -helots:HLTS:HLTS -helped:HLPT:HLPT -helper:HLPR:HLPR -helter:HLTR:HLTR -helved:HLFT:HLFT -helves:HLFS:HLFS -hemmed:HMT:HMT -hemmer:HMR:HMR -hempen:HMPN:HMPN -henbit:HNPT:HNPT -henges:HNJS:HNKS -hennas:HNS:HNS -henrik:HNRK:HNRK -henrys:HNRS:HNRS -hepcat:HPKT:HPKT -heptad:HPTT:HPTT -herald:HRLT:HRLT -herbal:HRPL:HRPL -herbst:HRPS:HRPS -herded:HRTT:HRTT -herder:HRTR:HRTR -herdic:HRTK:HRTK -hereby:HRP:HRP -herein:HRN:HRN -hereof:HRF:HRF -hereon:HRN:HRN -heresy:HRS:HRS -hereto:HRT:HRT -heriot:HRT:HRT -hermae:HRM:HRM -hermes:HRMS:HRMS -hermit:HRMT:HRMT -hernia:HRN:HRN -heroes:HRS:HRS -heroic:HRK:HRK -heroin:HRN:HRN -herons:HRNS:HRNS -herpes:HRPS:HRPS -herren:HRN:HRN -hetman:HTMN:HTMN -heveas:HFS:HFS -hewers:HRS:HRS -hewing:HNK:HNK -hexade:HKST:HKST -hexads:HKST:HKST -hexane:HKSN:HKSN -hexing:HKSN:HKSN -hexone:HKSN:HKSN -hexose:HKSS:HKSS -heyday:HT:HT -hiatal:HTL:HTL -hiatus:HTS:HTS -hiccup:HKP:HKP -hickey:HK:HK -hidden:HTN:HTN -hiders:HTRS:HTRS -hiding:HTNK:HTNK -hieing:HNK:HNK -hiemal:HML:HML -higgle:HKL:HKL -higher:HR:HR -highes:HS:HS -highly:HL:HL -hijack:HJK:HJK -hikers:HKRS:HKRS -hiking:HKNK:HKNK -hilary:HLR:HLR -hiller:HLR:HLR -hilted:HLTT:HLTT -hinder:HNTR:HNTR -hindus:HNTS:HNTS -hinged:HNJT:HNKT -hinges:HNJS:HNKS -hinted:HNTT:HNTT -hinter:HNTR:HNTR -hipped:HPT:HPT -hipper:HPR:HPR -hippie:HP:HP -hippos:HPS:HPS -hippus:HPS:HPS -hirers:HRRS:HRRS -hiring:HRNK:HRNK -hirsel:HRSL:HRSL -hirudo:HRT:HRT -hispid:HSPT:HSPT -hissed:HST:HST -hisser:HSR:HSR -hisses:HSS:HSS -hither:H0R:HTR -hitler:HTLR:HTLR -hitter:HTR:HTR -hiving:HFNK:HFNK -hoagie:HJ:HK -hoards:HRTS:HRTS -hoarse:HRS:HRS -hoaxed:HKST:HKST -hoaxer:HKSR:HKSR -hoaxes:HKSS:HKSS -hobart:HPRT:HPRT -hobbed:HPT:HPT -hobbit:HPT:HPT -hobble:HPL:HPL -hobday:HPT:HPT -hobnob:HPNP:HPNP -hoboes:HPS:HPS -hobson:HPSN:HPSN -hocked:HKT:HKT -hockey:HK:HK -hodden:HTN:HTN -hodman:HTMN:HTMN -hodmen:HTMN:HTMN -hoeing:HNK:HNK -hogans:HKNS:HKNS -hogged:HKT:HKT -hogger:HKR:HKR -hogget:HKT:HKT -hoggin:HJN:HKN -hogtie:HKT:HKT -hoiked:HKT:HKT -hoised:HST:HST -hoists:HSTS:HSTS -hokier:HKR:HKR -hoking:HKNK:HKNK -holden:HLTN:HLTN -holder:HLTR:HLTR -holdup:HLTP:HLTP -holely:HLL:HLL -holier:HL:HLR -holies:HLS:HLS -holily:HLL:HLL -holing:HLNK:HLNK -holism:HLSM:HLSM -holist:HLST:HLST -holler:HLR:HLR -holloa:HL:HL -hollos:HLS:HLS -hollow:HL:HLF -holmes:HLMS:HLMS -holmic:HLMK:HLMK -homage:HMJ:HMK -hombre:HMPR:HMPR -hombur:HMPR:HMPR -homely:HML:HML -homers:HMRS:HMRS -homier:HM:HMR -homily:HML:HML -homing:HMNK:HMNK -hominy:HMN:HMN -homolo:HML:HML -honcho:HNX:HNK -hondas:HNTS:HNTS -honers:HNRS:HNRS -honest:HNST:HNST -honeys:HNS:HNS -honied:HNT:HNT -honing:HNNK:HNNK -honked:HNKT:HNKT -honker:HNKR:HNKR -honkey:HNK:HNK -honkie:HNK:HNK -honors:HNRS:HNRS -honshu:HNX:HNX -hooded:HTT:HTT -hoodie:HT:HT -hoodoo:HT:HT -hoofed:HFT:HFT -hoofer:HFR:HFR -hookah:HK:HK -hooked:HKT:HKT -hooker:HKR:HKR -hookey:HK:HK -hookup:HKP:HKP -hooped:HPT:HPT -hooper:HPR:HPR -hoopla:HPL:HPL -hoopoe:HP:HP -hooray:HR:HR -hoorne:HRN:HRN -hootch:HX:HX -hooted:HTT:HTT -hooter:HTR:HTR -hoover:HFR:HFR -hooves:HFS:HFS -hopers:HPRS:HPRS -hoping:HPNK:HPNK -hopped:HPT:HPT -hopper:HPR:HPR -horace:HRS:HRS -horded:HRTT:HRTT -hordes:HRTS:HRTS -hormic:HRMK:HRMK -horned:HRNT:HRNT -horner:HRNR:HRNR -hornet:HRNT:HRNT -horrid:HRT:HRT -horror:HRR:HRR -horsed:HRST:HRST -horses:HRSS:HRSS -horsey:HRS:HRS -hosier:HS:HSR -hosing:HSNK:HSNK -hosted:HSTT:HSTT -hostel:HSTL:HSTL -hotbed:HTPT:HTPT -hotbox:HTPK:HTPK -hotels:HTLS:HTLS -hotpot:HTPT:HTPT -hotrod:HTRT:HTRT -hotter:HTR:HTR -hounds:HNTS:HNTS -hourly:HRL:HRL -housed:HST:HST -housel:HSL:HSL -houses:HSS:HSS -hovels:HFLS:HFLS -hovers:HFRS:HFRS -howdah:HT:HT -howled:HLT:HLT -howler:HLR:HLR -hoyden:HTN:HTN -hubble:HPL:HPL -hubbub:HPP:HPP -hubcap:HPKP:HPKP -hubris:HPRS:HPRS -huckle:HKL:HKL -huddle:HTL:HTL -hudson:HTSN:HTSN -huffed:HFT:HFT -hugely:HJL:HKL -hugest:HJST:HKST -hugged:HKT:HKT -hugger:HKR:HKR -huhner:HNR:HNR -hulled:HLT:HLT -huller:HLR:HLR -humane:HMN:HMN -humans:HMNS:HMNS -humate:HMT:HMT -humble:HMPL:HMPL -humbly:HMPL:HMPL -humbug:HMPK:HMPK -humeri:HMR:HMR -hummed:HMT:HMT -hummer:HMR:HMR -hummus:HMS:HMS -humors:HMRS:HMRS -humped:HMPT:HMPT -humpty:HMPT:HMPT -hunger:HNKR:HNJR -hungry:HNKR:HNKR -hunker:HNKR:HNKR -hunted:HNTT:HNTT -hunter:HNTR:HNTR -hurdle:HRTL:HRTL -hurled:HRLT:HRLT -hurler:HRLR:HRLR -hurley:HRL:HRL -hurons:HRNS:HRNS -hurrah:HR:HR -hurray:HR:HR -hurter:HRTR:HRTR -hurtle:HRTL:HRTL -hushed:HXT:HXT -hushes:HXS:HXS -husked:HSKT:HSKT -husker:HSKR:HSKR -hussar:HSR:HSR -hustle:HSTL:HSTL -hutted:HTT:HTT -huzzah:HS:HTS -hyaena:HN:HN -hyalin:HLN:HLN -hybrid:HPRT:HPRT -hybris:HPRS:HPRS -hydrae:HTR:HTR -hydras:HTRS:HTRS -hydria:HTR:HTR -hydric:HTRK:HTRK -hydroa:HTR:HTR -hydros:HTRS:HTRS -hyenas:HNS:HNS -hyenic:HNK:HNK -hyetal:HTL:HTL -hygric:HKRK:HKRK -hymens:HMNS:HMNS -hymnal:HMNL:HMNL -hyphae:HF:HF -hyphal:HFL:HFL -hyphen:HFN:HFN -hyping:HPNK:HPNK -hypoid:HPT:HPT -hyssop:HSP:HSP -iambic:AMPK:AMPK -iambus:AMPS:AMPS -iatric:ATRK:ATRK -ibadan:APTN:APTN -iberia:APR:APR -ibexes:APKS:APKS -ibices:APSS:APSS -ibidem:APTM:APTM -ibises:APSS:APSS -iceber:ASPR:ASPR -icebox:ASPK:ASPK -icecap:ASKP:ASKP -iceman:ASMN:ASMN -icemen:ASMN:ASMN -icicle:ASKL:ASKL -iciest:ASST:AXST -icings:ASNK:ASNK -ickier:AKR:AKR -iconic:AKNK:AKNK -ideals:ATLS:ATLS -ideata:ATT:ATT -ideate:ATT:ATT -idiocy:ATS:ATS -idioms:ATMS:ATMS -iditol:ATTL:ATTL -idlers:ATLR:ATLR -idlest:ATLS:ATLS -idling:ATLN:ATLN -idylls:ATLS:ATLS -igloos:AKLS:AKLS -ignite:AKNT:ANT -ignore:AKNR:ANR -iguana:AKN:AKN -ikonic:AKNK:AKNK -iliaci:ALS:ALS -illata:ALT:ALT -illest:ALST:ALST -illude:ALT:ALT -illust:ALST:ALST -imaged:AMJT:AMKT -images:AMJS:AMKS -imagos:AMKS:AMKS -imbeds:AMPT:AMPT -imbibe:AMPP:AMPP -imbrue:AMPR:AMPR -imbued:AMPT:AMPT -imbues:AMPS:AMPS -imiate:AMT:AMT -immune:AMN:AMN -immure:AMR:AMR -impact:AMPK:AMPK -impair:AMPR:AMPR -impala:AMPL:AMPL -impale:AMPL:AMPL -imparl:AMPR:AMPR -impart:AMPR:AMPR -impede:AMPT:AMPT -impels:AMPL:AMPL -impend:AMPN:AMPN -imperf:AMPR:AMPR -impers:AMPR:AMPR -imping:AMPN:AMPN -impish:AMPX:AMPX -impled:AMPL:AMPL -import:AMPR:AMPR -impose:AMPS:AMPS -impost:AMPS:AMPS -impugn:AMPN:AMPK -impure:AMPR:AMPR -impute:AMPT:AMPT -inarch:ANRX:ANRK -inborn:ANPR:ANPR -inbred:ANPR:ANPR -incase:ANKS:ANKS -incept:ANSP:ANSP -incest:ANSS:ANSS -inched:ANXT:ANKT -inches:ANXS:ANKS -incise:ANSS:ANSS -incite:ANST:ANST -income:ANKM:ANKM -incorp:ANKR:ANKR -incubi:ANKP:ANKP -incurs:ANKR:ANKR -incuse:ANKS:ANKS -indebt:ANTP:ANTP -indeed:ANTT:ANTT -indene:ANTN:ANTN -indent:ANTN:ANTN -indian:ANTN:ANTN -indica:ANTK:ANTK -indict:ANTK:ANTK -indies:ANTS:ANTS -indigo:ANTK:ANTK -indite:ANTT:ANTT -indium:ANTM:ANTM -indole:ANTL:ANTL -indoor:ANTR:ANTR -indris:ANTR:ANTR -induce:ANTS:ANTS -induct:ANTK:ANTK -indult:ANTL:ANTL -inedit:ANTT:ANTT -infamy:ANFM:ANFM -infant:ANFN:ANFN -infect:ANFK:ANFK -infeft:ANFF:ANFF -infers:ANFR:ANFR -infest:ANFS:ANFS -infill:ANFL:ANFL -infirm:ANFR:ANFR -inflow:ANFL:ANFL -influx:ANFL:ANFL -infold:ANFL:ANFL -inform:ANFR:ANFR -infuse:ANFS:ANFS -ingest:ANJS:ANKS -ingots:ANKT:ANKT -ingrid:ANKR:ANKR -ingrow:ANKR:ANKR -inguen:ANKN:ANKN -inhale:ANL:ANL -inhaul:ANL:ANL -inhere:ANR:ANR -inhold:ANLT:ANLT -inhume:ANM:ANM -initio:ANT:ANT -inject:ANJK:ANJK -injure:ANJR:ANJR -injury:ANJR:ANJR -inkers:ANKR:ANKR -inkier:ANKR:ANKR -inking:ANKN:ANKN -inlaid:ANLT:ANLT -inland:ANLN:ANLN -inlaws:ANLS:ANLS -inlays:ANLS:ANLS -inlets:ANLT:ANLT -inlier:ANL:ANLR -inline:ANLN:ANLN -inmate:ANMT:ANMT -inmost:ANMS:ANMS -innate:ANT:ANT -inning:ANNK:ANNK -innuit:ANT:ANT -inputs:ANPT:ANPT -inroad:ANRT:ANRT -inrush:ANRX:ANRX -insane:ANSN:ANSN -inseam:ANSM:ANSM -insect:ANSK:ANSK -insert:ANSR:ANSR -insets:ANST:ANST -inside:ANST:ANST -insist:ANSS:ANSS -insole:ANSL:ANSL -inspan:ANSP:ANSP -instal:ANST:ANST -instar:ANST:ANST -instep:ANST:ANST -instil:ANST:ANST -insula:ANSL:ANSL -insult:ANSL:ANSL -insure:ANSR:ANSR -intact:ANTK:ANTK -intake:ANTK:ANTK -intend:ANTN:ANTN -intens:ANTN:ANTN -intent:ANTN:ANTN -interj:ANTR:ANTR -intern:ANTR:ANTR -inters:ANTR:ANTR -intima:ANTM:ANTM -intine:ANTN:ANTN -intoed:ANTT:ANTT -intone:ANTN:ANTN -intron:ANTR:ANTR -intuit:ANTT:ANTT -inuits:ANTS:ANTS -inulin:ANLN:ANLN -inured:ANRT:ANRT -inures:ANRS:ANRS -invade:ANFT:ANFT -invent:ANFN:ANFN -invert:ANFR:ANFR -invest:ANFS:ANFS -invite:ANFT:ANFT -invito:ANFT:ANFT -invoke:ANFK:ANFK -inward:ANRT:ANRT -inwove:ANF:ANF -iodate:ATT:ATT -iodide:ATT:ATT -iodine:ATN:ATN -iodism:ATSM:ATSM -iodize:ATS:ATS -iodous:ATS:ATS -iolite:ALT:ALT -ionian:ANN:ANN -ionium:ANM:ANM -ionize:ANS:ANS -ionone:ANN:ANN -iowans:ANS:ANS -ipecac:APKK:APKK -ipomea:APM:APM -iraqis:ARKS:ARKS -ireful:ARFL:ARFL -irenic:ARNK:ARNK -iridal:ARTL:ARTL -irides:ARTS:ARTS -iridic:ARTK:ARTK -iridin:ARTN:ARTN -irises:ARSS:ARSS -irisin:ARSN:ARSN -iritic:ARTK:ARTK -iritis:ARTS:ARTS -irking:ARKN:ARKN -ironed:ARNT:ARNT -ironer:ARNR:ARNR -ironic:ARNK:ARNK -irrupt:ARPT:ARPT -isaiah:AS:AS -ischia:AX:AX -island:ALNT:ALNT -islets:ALTS:ALTS -isobar:ASPR:ASPR -isogon:ASKN:ASKN -isohel:ASHL:ASHL -isolex:ASLK:ASLK -isolog:ASLK:ASLK -isomer:ASMR:ASMR -isopia:ASP:ASP -isopod:ASPT:ASPT -israel:ASRL:ASRL -isseis:ASS:ASS -issued:AST:AST -issuer:ASR:ASR -issues:ASS:ASS -isthmi:AS0M:ASTM -italic:ATLK:ATLK -itched:AXT:AXT -itches:AXS:AXS -itself:ATSL:ATSL -iturve:ATRF:ATRF -ixodes:AKST:AKST -ixodic:AKST:AKST -ixodid:AKST:AKST -jabbed:JPT:APT -jabber:JPR:APR -jabots:JPTS:APTS -jacana:JKN:AKN -jacens:JSNS:ASNS -jackal:JKL:AKL -jacked:JKT:AKT -jacker:JKR:AKR -jacket:JKT:AKT -jackie:JK:AK -jackle:JKL:AKL -jactus:JKTS:AKTS -jading:JTNK:ATNK -jadish:JTX:ATX -jaeger:JJR:AKR -jaffas:JFS:AFS -jagged:JKT:AKT -jagger:JKR:AKR -jaguar:JKR:AKR -jailed:JLT:ALT -jailer:JLR:ALR -jailor:JLR:ALR -jalapa:JLP:ALP -jalaps:JLPS:ALPS -jalopy:JLP:ALP -jambes:JMPS:AMPS -jammed:JMT:AMT -jammer:JMR:AMR -jampan:JMPN:AMPN -jangle:JNKL:ANKL -jangly:JNKL:ANKL -japans:JPNS:APNS -japers:JPRS:APRS -japery:JPR:APR -japing:JPNK:APNK -jarful:JRFL:ARFL -jargon:JRKN:ARKN -jarrah:JR:AR -jarred:JRT:ART -jarvey:JRF:ARF -jasper:JSPR:ASPR -jaunts:JNTS:ANTS -jaunty:JNT:ANT -jawing:JNK:ANK -jaycee:JS:AS -jayvee:JF:AF -jazzed:JST:AST -jazzes:JSS:ASS -jeanne:JN:AN -jeered:JRT:ART -jeerer:JRR:ARR -jejuna:JJN:AJN -jejune:JJN:AJN -jekyll:JKL:AKL -jelled:JLT:ALT -jennet:JNT:ANT -jerbil:JRPL:ARPL -jerboa:JRP:ARP -jerked:JRKT:ARKT -jerkin:JRKN:ARKN -jersey:JRS:ARS -jessed:JST:AST -jesses:JSS:ASS -jested:JSTT:ASTT -jester:JSTR:ASTR -jesuit:JST:AST -jetsam:JTSM:ATSM -jetted:JTT:ATT -jetton:JTN:ATN -jewels:JLS:ALS -jewess:JS:AS -jewish:JX:AX -jhatka:JTK:ATK -jibbah:JP:AP -jibbed:JPT:APT -jibber:JPR:APR -jibers:JPRS:APRS -jibing:JPNK:APNK -jicama:JKM:AKM -jigged:JKT:AKT -jigger:JKR:AKR -jiggle:JKL:AKL -jiggly:JKL:AKL -jigsaw:JKS:AKSF -jihads:JHTS:AHTS -jilted:JLTT:ALTT -jilter:JLTR:ALTR -jingle:JNKL:ANKL -jingly:JNKL:ANKL -jinked:JNKT:ANKT -jinker:JNKR:ANKR -jinnee:JN:AN -jinxed:JNKS:ANKS -jinxes:JNKS:ANKS -jitney:JTN:ATN -jitter:JTR:ATR -jivers:JFRS:AFRS -jiving:JFNK:AFNK -joanne:JN:AN -jobbed:JPT:APT -jobber:JPR:APR -jockey:JK:AK -jocose:JKS:AKS -jocund:JKNT:AKNT -jogged:JKT:AKT -jogger:JKR:AKR -joggle:JKL:AKL -johnin:JNN:ANN -johnny:JN:AN -joined:JNT:ANT -joiner:JNR:ANR -joints:JNTS:ANTS -joists:JSTS:ASTS -jojoba:JJP:AHP -jokers:JKRS:AKRS -joking:JKNK:AKNK -jolted:JLTT:ALTT -jolter:JLTR:ALTR -jonahs:JNS:ANS -jonson:JNSN:ANSN -jordan:JRTN:ARTN -joseph:JSF:HSF -joshed:JXT:AXT -josher:JXR:AXR -joshes:JXS:AXS -joshua:JX:AX -josser:JSR:ASR -josses:JSS:ASS -jostle:JSTL:ASTL -jotted:JTT:ATT -jotter:JTR:ATR -joules:JLS:ALS -jounce:JNS:ANS -jouncy:JNS:ANS -jousts:JSTS:ASTS -jovial:JFL:AFL -jowled:JLT:ALT -joyful:JFL:AFL -joyous:JS:AS -joypop:JPP:APP -jubbah:JP:AP -judaic:JTK:ATK -judded:JTT:ATT -judder:JTR:ATR -judged:JJT:AJT -judger:JJR:AJR -judges:JJS:AJS -judice:JTS:ATS -judies:JTS:ATS -judith:JT0:ATT -judogi:JTJ:ATK -judoka:JTK:ATK -jugale:JKL:AKL -jugate:JKT:AKT -jugful:JKFL:AKFL -jugged:JKT:AKT -juggle:JKL:AKL -jugula:JKL:AKL -jugums:JKMS:AKMS -juiced:JST:AST -juicer:JSR:ASR -juices:JSS:ASS -jujube:JJP:AJP -juleps:JLPS:ALPS -julian:JLN:ALN -julies:JLS:ALS -julius:JLS:ALS -jumars:JMRS:AMRS -jumble:JMPL:AMPL -jumbos:JMPS:AMPS -jumped:JMPT:AMPT -jumper:JMPR:AMPR -juncos:JNKS:ANKS -juneau:JN:AN -jungle:JNKL:ANKL -jungly:JNKL:ANKL -junior:JNR:ANR -junked:JNKT:ANKT -junker:JNKR:ANKR -junket:JNKT:ANKT -junkie:JNK:ANK -juntas:JNTS:ANTS -juntos:JNTS:ANTS -jupons:JPNS:APNS -jurare:JRR:ARR -juries:JRS:ARS -juring:JRNK:ARNK -jurist:JRST:ARST -jurors:JRRS:ARRS -juster:JSTR:ASTR -justly:JSTL:ASTL -jutted:JTT:ATT -kabuki:KPK:KPK -kaffir:KFR:KFR -kaftan:KFTN:KFTN -kagoul:KKL:KKL -kainga:KNK:KNK -kainit:KNT:KNT -kaiser:KSR:KSR -kakapo:KKP:KKP -kalium:KLM:KLM -kalmis:KLMS:KLMS -kalong:KLNK:KLNK -kamahi:KMH:KMH -kamala:KML:KML -kamela:KML:KML -kamila:KML:KML -kanaka:KNK:KNK -kangha:KNK:KNK -kanjis:KNJS:KNJS -kansan:KNSN:KNSN -kansas:KNSS:KNSS -kanzus:KNSS:KNTS -kaolin:KLN:KLN -kaposi:KPS:KPS -kappas:KPS:KPS -karaka:KRK:KRK -karamu:KRM:KRM -karate:KRT:KRT -karats:KRTS:KRTS -karaya:KR:KR -karmas:KRMS:KRMS -karmen:KRMN:KRMN -karmic:KRMK:KRMK -kaross:KRS:KRS -karpov:KRPF:KRPF -karris:KRS:KRS -karroo:KR:KR -karsts:KRST:KRST -kasbah:KSP:KSP -kation:KXN:KXN -katipo:KTP:KTP -kauris:KRS:KRS -kayaks:KKS:KKS -kayoed:KT:KT -kazoos:KSS:KTSS -keaton:KTN:KTN -kebabs:KPPS:KPPS -kedged:KJT:KJT -kedges:KJS:KJS -keeled:KLT:KLT -keeler:KLR:KLR -keened:KNT:KNT -keener:KNR:KNR -keenly:KNL:KNL -keeper:KPR:KPR -kegler:KKLR:KKLR -kekule:KKL:KKL -kellin:KLN:KLN -keloid:KLT:KLT -keloma:KLM:KLM -kelpie:KLP:KLP -kelson:KLSN:KLSN -keltic:KLTK:KLTK -kelvin:KLFN:KLFN -kenned:KNT:KNT -kennel:KNL:KNL -kentia:KNX:KNX -kenyan:KNN:KNN -kepler:KPLR:KPLR -kerbed:KRPT:KRPT -kerckr:KRKR:KRKR -kerion:KRN:KRN -kermes:KRMS:KRMS -kermis:KRMS:KRMS -kerned:KRNT:KRNT -kernel:KRNL:KRNL -kernig:KRNK:KRNK -kersey:KRS:KRS -ketene:KTN:KTN -ketone:KTN:KTN -ketose:KTS:KTS -kettle:KTL:KTL -kevels:KFLS:KFLS -keyage:KJ:KK -keying:KNK:KNK -keyman:KMN:KMN -keypad:KPT:KPT -keyway:K:K -khakis:KKS:KKS -khedas:KTS:KTS -khyber:KPR:KPR -kiaora:KR:KR -kibble:KPL:KPL -kibeis:KPS:KPS -kibitz:KPTS:KPTS -kiblah:KPL:KPL -kibosh:KPX:KPX -kicked:KKT:KKT -kicker:KKR:KKR -kickup:KKP:KKP -kidded:KTT:KTT -kidder:KTR:KTR -kiddie:KT:KT -kiddle:KTL:KTL -kidnap:KTNP:KTNP -kidney:KTN:KTN -kidvid:KTFT:KTFT -kiekie:KK:KK -killed:KLT:KLT -killer:KLR:KLR -kilted:KLTT:KLTT -kilter:KLTR:KLTR -kiltie:KLT:KLT -kimchi:KMX:KMK -kimono:KMN:KMN -kinase:KNS:KNS -kincob:KNKP:KNKP -kinder:KNTR:KNTR -kindle:KNTL:KNTL -kindly:KNTL:KNTL -kingly:KNKL:KNKL -kinked:KNKT:KNKT -kiosks:KSKS:KSKS -kiowas:KS:KS -kippas:KPS:KPS -kipped:KPT:KPT -kipper:KPR:KPR -kippur:KPR:KPR -kirpan:KRPN:KRPN -kirsch:KRX:KRX -kirtle:KRTL:KRTL -kishke:KXK:KXK -kismet:KSMT:KSMT -kissed:KST:KST -kisser:KSR:KSR -kisses:KSS:KSS -kitbag:KTPK:KTPK -kitcat:KTKT:KTKT -kiters:KTRS:KTRS -kithed:K0T:KTT -kiting:KTNK:KTNK -kitsch:KTX:KTX -kitted:KTT:KTT -kitten:KTN:KTN -kittle:KTL:KTL -klatch:KLX:KLX -klaxon:KLKS:KLKS -kludge:KLJ:KLJ -klutzy:KLTS:KLTS -knacks:NKS:NKS -knaves:NFS:NFS -kneads:NTS:NTS -kneels:NLS:NLS -kneing:NNK:NNK -knells:NLS:NLS -knifed:NFT:NFT -knifer:NFR:NFR -knifes:NFS:NFS -knight:NT:NT -knives:NFS:NFS -knobby:NP:NP -knocks:NKS:NKS -knolls:NLS:NLS -knolly:NL:NL -knotty:NT:NT -knouts:NTS:NTS -knower:NR:NR -knucks:NKS:NKS -knurls:NRLS:NRLS -koalas:KLS:KLS -kobold:KPLT:KPLT -kochia:KK:KK -kodiak:KTK:KTK -kohler:KLR:KLR -kokako:KKK:KKK -kolmer:KLMR:KLMR -kookie:KK:KK -kopeck:KPK:KPK -kopeks:KPKS:KPKS -koplik:KPLK:KPLK -korean:KRN:KRN -kormas:KRMS:KRMS -koruna:KRN:KRN -koruny:KRN:KRN -kosher:KXR:KXR -kotuku:KTK:KTK -koumis:KMS:KMS -kousso:KS:KS -kowtow:KT:KTF -kraals:KRLS:KRLS -krabbe:KRP:KRP -kraken:KRKN:KRKN -krause:KRS:KRS -krauts:KRTS:KRTS -kronen:KRNN:KRNN -kroner:KRNR:KRNR -krones:KRNS:KRNS -kronor:KRNR:KRNR -kronur:KRNR:KRNR -kuchen:KXN:KKN -kudzus:KTSS:KTTS -kukris:KKRS:KKRS -kulaks:KLKS:KLKS -kulans:KLNS:KLNS -kumara:KMR:KMR -kumiss:KMS:KMS -kummel:KML:KML -kumyss:KMS:KMS -kurtas:KRTS:KRTS -kuwait:KT:KT -kwacha:KK:KK -kwanza:KNS:KNTS -kylins:KLNS:KLNS -laager:LKR:LJR -labara:LPR:LPR -labels:LPLS:LPLS -labial:LPL:LPL -labile:LPL:LPL -labium:LPM:LPM -labors:LPRS:LPRS -labret:LPRT:LPRT -labrum:LPRM:LPRM -lacers:LSRS:LSRS -laches:LXS:LKS -lacier:LS:LXR -lacily:LSL:LSL -lacing:LSNK:LSNK -lacked:LKT:LKT -lackey:LK:LK -lactam:LKTM:LKTM -lactic:LKTK:LKTK -lactim:LKTM:LKTM -lacuna:LKN:LKN -ladder:LTR:LTR -laddie:LT:LT -laders:LTRS:LTRS -ladida:LTT:LTT -ladies:LTS:LTS -ladify:LTF:LTF -lading:LTNK:LTNK -ladled:LTLT:LTLT -ladler:LTLR:LTLR -ladles:LTLS:LTLS -laesae:LS:LS -lagena:LJN:LKN -lagend:LJNT:LKNT -lagers:LKRS:LJRS -lagged:LKT:LKT -lagoon:LKN:LKN -laguna:LKN:LKN -lahore:LHR:LHR -laical:LKL:LKL -lairds:LRTS:LRTS -lakers:LKRS:LKRS -lakier:LKR:LKR -laking:LKNK:LKNK -lamaze:LMS:LMS -lambda:LMPT:LMPT -lambed:LMPT:LMPT -lamely:LML:LML -lament:LMNT:LMNT -lamest:LMST:LMST -lamias:LMS:LMS -lamina:LMN:LMN -laming:LMNK:LMNK -lammas:LMS:LMS -lammed:LMT:LMT -lampas:LMPS:LMPS -lanais:LN:LNS -lanate:LNT:LNT -lanced:LNST:LNST -lancer:LNSR:LNSR -lances:LNSS:LNSS -lancet:LNST:LNST -landau:LNT:LNT -landed:LNTT:LNTT -lander:LNTR:LNTR -landry:LNTR:LNTR -langue:LNK:LNK -langur:LNKR:LNKR -lankan:LNKN:LNKN -lanker:LNKR:LNKR -lanner:LNR:LNR -lanose:LNS:LNS -lanugo:LNK:LNK -lapdog:LPTK:LPTK -lapels:LPLS:LPLS -lapful:LPFL:LPFL -lapped:LPT:LPT -lapper:LPR:LPR -lappet:LPT:LPT -lapsed:LPST:LPST -lapser:LPSR:LPSR -lapses:LPSS:LPSS -lapsus:LPSS:LPSS -laptop:LPTP:LPTP -laputa:LPT:LPT -larded:LRTT:LRTT -larder:LRTR:LRTR -largen:LRJN:LRKN -larger:LRKR:LRJR -largos:LRKS:LRKS -lariat:LRT:LRT -larine:LRN:LRN -larked:LRKT:LRKT -larker:LRKR:LRKR -larrup:LRP:LRP -larvae:LRF:LRF -larval:LRFL:LRFL -larvas:LRFS:LRFS -larynx:LRNK:LRNK -lascar:LSKR:LSKR -lasers:LSRS:LSRS -lashed:LXT:LXT -lasher:LXR:LXR -lashes:LXS:LXS -lasing:LSNK:LSNK -lasket:LSKT:LSKT -lasses:LSS:LSS -lassie:LS:LS -lassos:LSS:LSS -lasted:LSTT:LSTT -laster:LSTR:LSTR -lastex:LSTK:LSTK -lastly:LSTL:LSTL -lateen:LTN:LTN -lately:LTL:LTL -latent:LTNT:LTNT -latest:LTST:LTST -lathed:L0T:LTT -lather:L0R:LTR -lathes:L0S:LTS -latino:LTN:LTN -latins:LTNS:LTNS -latish:LTX:LTX -latten:LTN:LTN -latter:LTR:LTR -latvia:LTF:LTF -lauded:LTT:LTT -lauder:LTR:LTR -laughs:LFS:LFS -launch:LNX:LNK -laurel:LRL:LRL -lauric:LRK:LRK -lavabo:LFP:LFP -lavage:LFJ:LFK -lavers:LFRS:LFRS -laving:LFNK:LFNK -lavish:LFX:LFX -lawful:LFL:LFL -lawman:LMN:LMN -lawmen:LMN:LMN -lawyer:LR:LR -laxest:LKSS:LKSS -laxity:LKST:LKST -layday:LT:LT -layers:LRS:LRS -laying:LNK:LNK -layman:LMN:LMN -laymen:LMN:LMN -layoff:LF:LF -layout:LT:LT -lazars:LSRS:LSRS -lazier:LS:LSR -lazily:LSL:LSL -lazing:LSNK:LSNK -lazuli:LSL:LSL -leaded:LTT:LTT -leaden:LTN:LTN -leader:LTR:LTR -leafed:LFT:LFT -league:LK:LK -leaked:LKT:LKT -leaker:LKR:LKR -leaned:LNT:LNT -leaner:LNR:LNR -leanly:LNL:LNL -leaped:LPT:LPT -leaper:LPR:LPR -learns:LRNS:LRNS -learnt:LRNT:LRNT -leased:LST:LST -leaser:LSR:LSR -leases:LSS:LSS -leaved:LFT:LFT -leaven:LFN:LFN -leaver:LFR:LFR -leaves:LFS:LFS -lecher:LXR:LKR -lectin:LKTN:LKTN -lector:LKTR:LKTR -ledged:LJT:LJT -ledger:LJR:LJR -ledges:LJS:LJS -leered:LRT:LRT -leeway:L:L -legacy:LKS:LKS -legale:LKL:LKL -legals:LKLS:LKLS -legate:LKT:LKT -legato:LKT:LKT -legend:LJNT:LKNT -legers:LJRS:LKRS -legged:LKT:LKT -legion:LJN:LKN -legist:LJST:LKST -legman:LKMN:LKMN -legmen:LKMN:LKMN -legume:LKM:LKM -leipzi:LPS:LPS -lemmas:LMS:LMS -lemons:LMNS:LMNS -lemony:LMN:LMN -lemurs:LMRS:LMRS -lender:LNTR:LNTR -length:LNK0:LNKT -lenity:LNT:LNT -lenses:LNSS:LNSS -lenten:LNTN:LNTN -lentic:LNTK:LNTK -lentil:LNTL:LNTL -leones:LNS:LNS -leonid:LNT:LNT -lepers:LPRS:LPRS -leprid:LPRT:LPRT -lepton:LPTN:LPTN -lesion:LSN:LXN -lessee:LS:LS -lessen:LSN:LSN -lesser:LSR:LSR -lesson:LSN:LSN -lessor:LSR:LSR -lester:LSTR:LSTR -l'etat:LTT:LTT -lethal:L0L:LTL -letter:LTR:LTR -letups:LTPS:LTPS -leukon:LKN:LKN -levant:LFNT:LFNT -levari:LFR:LFR -levees:LFS:LFS -levels:LFLS:LFLS -levers:LFRS:LFRS -levied:LFT:LFT -levier:LF:LFR -levies:LFS:LFS -levine:LFN:LFN -levite:LFT:LFT -levity:LFT:LFT -lewder:LTR:LTR -lewdly:LTL:LTL -lexeme:LKSM:LKSM -leyden:LTN:LTN -leydig:LTK:LTK -liable:LPL:LPL -liaise:LS:LS -libbed:LPT:LPT -libber:LPR:LPR -libels:LPLS:LPLS -libido:LPT:LPT -libran:LPRN:LPRN -libras:LPRS:LPRS -libris:LPRS:LPRS -libyan:LPN:LPN -lichen:LXN:LKN -licked:LKT:LKT -licker:LKR:LKR -lidded:LTT:LTT -lieder:LTR:LTR -liefer:LFR:LFR -lieges:LJS:LKS -lienal:LNL:LNL -lienee:LN:LN -lienor:LNR:LNR -lierne:LRN:LRN -lifers:LFRS:LFRS -lifted:LFTT:LFTT -lifter:LFTR:LFTR -ligand:LKNT:LKNT -ligase:LKS:LKS -ligate:LKT:LKT -ligers:LJRS:LKRS -lights:LTS:LTS -lignin:LNN:LKNN -lignum:LNM:LKNM -ligula:LKL:LKL -ligule:LKL:LKL -ligure:LKR:LKR -likely:LKL:LKL -likens:LKNS:LKNS -liking:LKNK:LKNK -lilacs:LLKS:LLKS -lilied:LLT:LLT -lilies:LLS:LLS -lilted:LLTT:LLTT -limbed:LMPT:LMPT -limber:LMPR:LMPR -limbic:LMPK:LMPK -limbos:LMPS:LMPS -limbus:LMPS:LMPS -limens:LMNS:LMNS -limier:LM:LMR -limies:LMS:LMS -limina:LMN:LMN -limine:LMN:LMN -liming:LMNK:LMNK -limits:LMTS:LMTS -limned:LMNT:LMNT -limner:LMNR:LMNR -limped:LMPT:LMPT -limper:LMPR:LMPR -limpet:LMPT:LMPT -limpid:LMPT:LMPT -limply:LMPL:LMPL -linacs:LNKS:LNKS -linage:LNJ:LNK -linden:LNTN:LNTN -lineae:LN:LN -lineal:LNL:LNL -linear:LNR:LNR -linens:LNNS:LNNS -lineny:LNN:LNN -liners:LNRS:LNRS -lineup:LNP:LNP -linger:LNKR:LNJR -lingua:LNK:LNK -lining:LNNK:LNNK -linked:LNKT:LNKT -linker:LNKR:LNKR -linkup:LNKP:LNKP -linnet:LNT:LNT -linsey:LNS:LNS -lintel:LNTL:LNTL -linter:LNTR:LNTR -lipase:LPS:LPS -lipide:LPT:LPT -lipids:LPTS:LPTS -lipoic:LPK:LPK -lipoid:LPT:LPT -lipoma:LPM:LPM -lipped:LPT:LPT -lippes:LPS:LPS -liquet:LKT:LKT -liquid:LKT:LKT -liquor:LKR:LKR -lisbon:LSPN:LSPN -lisped:LSPT:LSPT -lisper:LSPR:LSPR -lissom:LSM:LSM -listed:LSTT:LSTT -listen:LSTN:LSTN -lister:LSTR:LSTR -litany:LTN:LTN -litchi:LX:LX -litera:LTR:LTR -liters:LTRS:LTRS -lither:L0R:LTR -lithia:L0:LT -lithic:L0K:LTK -litmus:LTMS:LTMS -litter:LTR:LTR -little:LTL:LTL -littre:LTR:LTR -livedo:LFT:LFT -lively:LFL:LFL -livens:LFNS:LFNS -livers:LFRS:LFRS -livery:LFR:LFR -living:LFNK:LFNK -lizard:LSRT:LSRT -llamas:LMS:LMS -llanos:LNS:LNS -loaded:LTT:LTT -loader:LTR:LTR -loafed:LFT:LFT -loafer:LFR:LFR -loaned:LNT:LNT -loaner:LNR:LNR -loathe:L0:LT -loaves:LFS:LFS -lobate:LPT:LPT -lobbed:LPT:LPT -lobber:LPR:LPR -lobule:LPL:LPL -lobuli:LPL:LPL -locale:LKL:LKL -locals:LKLS:LKLS -locate:LKT:LKT -loches:LXS:LKS -lochia:LK:LK -locked:LKT:LKT -locker:LKR:LKR -locket:LKT:LKT -lockup:LKP:LKP -locoed:LKT:LKT -locoes:LKS:LKS -locule:LKL:LKL -loculi:LKL:LKL -locust:LKST:LKST -lodged:LJT:LJT -lodger:LJR:LJR -lodges:LJS:LJS -lofted:LFTT:LFTT -lofter:LFTR:LFTR -logged:LKT:LKT -logger:LKR:LKR -loggia:LJ:LK -logics:LJKS:LKKS -logier:LJ:LKR -logion:LJN:LKN -logjam:LKJM:LKJM -loglog:LKLK:LKLK -loiter:LTR:LTR -lolled:LLT:LLT -lollop:LLP:LLP -loment:LMNT:LMNT -london:LNTN:LNTN -lonely:LNL:LNL -loners:LNRS:LNRS -longed:LNJT:LNKT -longer:LNKR:LNJR -longus:LNKS:LNKS -loofah:LF:LF -looked:LKT:LKT -looker:LKR:LKR -lookup:LKP:LKP -loomed:LMT:LMT -looped:LPT:LPT -looper:LPR:LPR -loosed:LST:LST -loosen:LSN:LSN -looser:LSR:LSR -looses:LSS:LSS -looted:LTT:LTT -looter:LTR:LTR -lopers:LPRS:LPRS -loping:LPNK:LPNK -lopped:LPT:LPT -lopper:LPR:LPR -loquat:LKT:LKT -lorans:LRNS:LRNS -lorcha:LRX:LRK -lorded:LRTT:LRTT -lordly:LRTL:LRTL -lorenz:LRNS:LRNS -lorica:LRK:LRK -lories:LRS:LRS -losers:LSRS:LSRS -losing:LSNK:LSNK -losses:LSS:LSS -lotion:LXN:LXN -lotios:LTS:LTS -louche:LX:LK -louden:LTN:LTN -louder:LTR:LTR -loudly:LTL:LTL -louise:LS:LS -lounge:LNJ:LNK -loupes:LPS:LPS -loured:LRT:LRT -loused:LST:LST -louses:LSS:LSS -louver:LFR:LFR -louvre:LFR:LFR -lovely:LFL:LFL -lovers:LFRS:LFRS -loving:LFNK:LFNK -lowboy:LP:LP -lowers:LRS:LRS -lowery:LR:LR -lowest:LST:LST -lowing:LNK:LNK -lubber:LPR:LPR -lucent:LSNT:LSNT -lucida:LST:LST -lucite:LST:LST -lucked:LKT:LKT -lucrum:LKRM:LKRM -ludwig:LTK:LTK -luetic:LTK:LTK -luetin:LTN:LTN -luffed:LFT:LFT -lugged:LKT:LKT -lugger:LKR:LKR -luging:LJNK:LKNK -lulled:LLT:LLT -lumbar:LMPR:LMPR -lumber:LMR:LMR -lumens:LMNS:LMNS -lumina:LMN:LMN -lummox:LMKS:LMKS -lumped:LMPT:LMPT -lunacy:LNS:LNS -lunare:LNR:LNR -lunata:LNT:LNT -lunate:LNT:LNT -lunati:LNT:LNT -lunged:LNJT:LNKT -lunger:LNKR:LNJR -lunges:LNJS:LNKS -lunula:LNL:LNL -lunule:LNL:LNL -lupine:LPN:LPN -lupoid:LPT:LPT -lurers:LRRS:LRRS -luring:LRNK:LRNK -lurked:LRKT:LRKT -lushed:LXT:LXT -lushes:LXS:LXS -lushly:LXL:LXL -lusted:LSTT:LSTT -luster:LSTR:LSTR -lustra:LSTR:LSTR -luteae:LT:LT -luteal:LTL:LTL -lutein:LTN:LTN -luteum:LTM:LTM -luther:L0R:LTR -lutist:LTST:LTST -luxate:LKST:LKST -luxury:LKSR:LKSR -lyceum:LSM:LSM -lychee:LX:LK -lyings:LNKS:LNKS -lymphs:LMFS:LMFS -lynxes:LNKS:LNKS -lyrate:LRT:LRT -lyrics:LRKS:LRKS -lyrism:LRSM:LRSM -lyrist:LRST:LRST -lysate:LST:LST -lysine:LSN:LSN -lysing:LSNK:LSNK -lysins:LSNS:LSNS -lyttae:LT:LT -lyttas:LTS:LTS -macaco:MKK:MKK -macaws:MKS:MKS -machan:MKN:MKN -machos:MKS:MKS -mackle:MKL:MKL -macron:MKRN:MKRN -macros:MKRS:MKRS -macula:MKL:MKL -macule:MKL:MKL -madame:MTM:MTM -madams:MTMS:MTMS -madcap:MTKP:MTKP -madden:MTN:MTN -madder:MTR:MTR -maddox:MTKS:MTKS -madely:MTL:MTL -madman:MTMN:MTMN -madmen:MTMN:MTMN -madras:MTRS:MTRS -madrid:MTRT:MTRT -madura:MTR:MTR -maduro:MTR:MTR -maenad:MNT:MNT -maffia:MF:MF -maggie:MJ:MK -maggot:MKT:MKT -magian:MJN:MKN -magics:MJKS:MKKS -maglev:MKLF:MKLF -magmas:MKMS:MKMS -magnae:MN:MKN -magnet:MNT:MKNT -magnox:MNKS:MKNK -magnum:MNM:MKNM -magnus:MNS:MKNS -magpie:MKP:MKP -magyar:MKR:MJR -mahout:MHT:MHT -mahuan:MHN:MHN -maidan:MTN:MTN -maiden:MTN:MTN -maigre:MKR:MKR -mailba:MLP:MLP -mailed:MLT:MLT -mailer:MLR:MLR -maills:MLS:MLS -maimai:MM:MM -maimed:MMT:MMT -maimer:MMR:MMR -maines:MNS:MNS -mainly:MNL:MNL -maitre:MTR:MTR -majora:MJR:MHR -majors:MJRS:MHRS -makers:MKRS:MKRS -makeup:MKP:MKP -making:MKNK:MKNK -malady:MLT:MLT -malate:MLT:MLT -malawi:ML:ML -malaya:ML:ML -malays:MLS:MLS -maleic:MLK:MLK -malian:MLN:MLN -malice:MLS:MLS -malign:MLN:MLKN -mallee:ML:ML -mallei:ML:ML -mallet:MLT:MLT -mallow:ML:MLF -malpos:MLPS:MLPS -malted:MLTT:MLTT -maltha:ML0:MLT -mambas:MMPS:MMPS -mambos:MMPS:MMPS -mammae:MM:MM -mammal:MML:MML -mammas:MMS:MMS -mammon:MMN:MMN -manage:MNJ:MNK -manaia:MN:MN -manana:MNN:MNN -mañana:MNN:MNN -manchu:MNX:MNK -manege:MNJ:MNK -manful:MNFL:MNFL -mangel:MNJL:MNKL -manger:MNJR:MNKR -mangle:MNKL:MNKL -mangos:MNKS:MNKS -maniac:MNK:MNK -manias:MNS:MNS -manila:MNL:MNL -manioc:MNK:MNK -manned:MNT:MNT -manner:MNR:MNR -manors:MNRS:MNRS -manque:MNK:MNK -manses:MNSS:MNSS -manson:MNSN:MNSN -mantas:MNTS:MNTS -mantel:MNTL:MNTL -mantes:MNTS:MNTS -mantic:MNTK:MNTK -mantis:MNTS:MNTS -mantle:MNTL:MNTL -mantra:MNTR:MNTR -manual:MNL:MNL -manuka:MNK:MNK -manure:MNR:MNR -maoism:MSM:MSM -maoist:MST:MST -maomao:MM:MM -maoris:MRS:MRS -maples:MPLS:MPLS -mapped:MPT:MPT -mapper:MPR:MPR -maquis:MKS:MKS -maraca:MRK:MRK -maraud:MRT:MRT -marble:MRPL:MRPL -marbly:MRPL:MRPL -marcan:MRKN:MRKN -marcel:MRSL:MRSL -marcia:MRS:MRX -marfan:MRFN:MRFN -margay:MRK:MRK -margin:MRJN:MRKN -marian:MRN:MRN -marina:MRN:MRN -marine:MRN:MRN -marino:MRN:MRN -marist:MRST:MRST -mariti:MRT:MRT -marked:MRKT:MRKT -marker:MRKR:MRKR -market:MRKT:MRKT -markka:MRK:MRK -markup:MRKP:MRKP -marled:MRLT:MRLT -marlin:MRLN:MRLN -marmot:MRMT:MRMT -maroon:MRN:MRN -marque:MRK:MRK -marram:MRM:MRM -marred:MRT:MRT -marrow:MR:MRF -marsha:MRX:MRX -marshy:MRX:MRX -marten:MRTN:MRTN -martha:MR0:MRT -martin:MRTN:MRTN -martyr:MRTR:MRTR -marvel:MRFL:MRFL -mascle:MSK:MSK -mascon:MSKN:MSKN -mascot:MSKT:MSKT -masers:MSRS:MSRS -mashed:MXT:MXT -masher:MXR:MXR -mashes:MXS:MXS -mashie:MX:MX -masked:MSKT:MSKT -masker:MSKR:MSKR -masons:MSNS:MSNS -masque:MSK:MSK -massed:MST:MST -masses:MSS:MSS -massif:MSF:MSF -masted:MSTT:MSTT -master:MSTR:MSTR -mastic:MSTK:MSTK -matico:MTK:MTK -matier:MT:MTR -matima:MTM:MTM -mating:MTNK:MTNK -matins:MTNS:MTNS -matlow:MTL:MTLF -matric:MTRK:MTRK -matrix:MTRK:MTRK -matron:MTRN:MTRN -matted:MTT:MTT -matter:MTR:MTR -mattes:MTS:MTS -mature:MTR:MTR -matzos:MTSS:MTSS -mauled:MLT:MLT -mauler:MLR:MLR -maundy:MNT:MNT -maurer:MRR:MRR -mavens:MFNS:MFNS -mavins:MFNS:MFNS -maxima:MKSM:MKSM -maxims:MKSM:MKSM -mayans:MNS:MNS -mayday:MT:MT -mayfly:MFL:MFL -mayhap:MHP:MHP -mayhem:MHM:MHM -mayn't:MNT:MNT -mayors:MRS:MRS -mazard:MSRT:MSRT -mazier:MS:MSR -mazily:MSL:MSL -mccall:MKL:MKL -mcgill:MKL:MKL -meadow:MT:MTF -meager:MKR:MJR -meagre:MKR:MKR -meaner:MNR:MNR -meanly:MNL:MNL -measle:MSL:MSL -measly:MSL:MSL -meatal:MTL:MTL -meatus:MTS:MTS -meccan:MKN:MKN -meccas:MKS:MKS -mecism:MSSM:MSSM -meckel:MKL:MKL -medals:MTLS:MTLS -meddle:MTL:MTL -mediad:MTT:MTT -mediae:MT:MT -medial:MTL:MTL -median:MTN:MTN -medias:MTS:MTS -medica:MTK:MTK -medick:MTK:MTK -medico:MTK:MTK -medics:MTKS:MTKS -medina:MTN:MTN -medium:MTM:MTM -medius:MTS:MTS -medlar:MTLR:MTLR -medley:MTL:MTL -medusa:MTS:MTS -meeker:MKR:MKR -meekly:MKL:MKL -meeter:MTR:MTR -meetly:MTL:MTL -megara:MKR:MKR -megilp:MJLP:MKLP -megohm:MKM:MKM -megrim:MKRM:MKRM -mehlis:MLS:MLS -mekong:MKNK:MKNK -melded:MLTT:MLTT -melees:MLS:MLS -melena:MLN:MLN -melick:MLK:MLK -melior:MLR:MLR -mellon:MLN:MLN -mellow:ML:MLF -melody:MLT:MLT -meloid:MLT:MLT -melons:MLNS:MLNS -melted:MLTT:MLTT -melter:MLTR:MLTR -melton:MLTN:MLTN -member:MMPR:MMPR -membra:MMPR:MMPR -memoir:MMR:MMR -memory:MMR:MMR -menace:MNS:MNS -menage:MNJ:MNK -mended:MNTT:MNTT -mendel:MNTL:MNTL -mender:MNTR:MNTR -menhir:MNR:MNR -menial:MNL:MNL -meninx:MNNK:MNNK -mensae:MNS:MNS -mensas:MNSS:MNSS -mensch:MNX:MNX -menses:MNSS:MNSS -mental:MNTL:MNTL -mentes:MNTS:MNTS -mentha:MN0:MNT -menthe:MN0:MNT -mentis:MNTS:MNTS -menton:MNTN:MNTN -mentor:MNTR:MNTR -mentum:MNTM:MNTM -meowed:MT:MT -mercer:MRSR:MRSR -merely:MRL:MRL -merest:MRST:MRST -merged:MRJT:MRKT -merger:MRKR:MRJR -merges:MRJS:MRKS -merino:MRN:MRN -merits:MRTS:MRTS -merkel:MRKL:MRKL -merlin:MRLN:MRLN -merman:MRMN:MRMN -mermen:MRMN:MRMN -meruit:MRT:MRT -mescal:MSKL:MSKL -meshed:MXT:MXT -meshes:MXS:MXS -mesiad:MST:MXT -mesial:MSL:MXL -mesque:MSK:MSK -messed:MST:MST -messes:MSS:MSS -messrs:MSRS:MSRS -metage:MTJ:MTK -metals:MTLS:MTLS -meteor:MTR:MTR -meters:MTRS:MTRS -method:M0T:MTT -methyl:M0L:MTL -metier:MT:MTR -meting:MTNK:MTNK -metrae:MTR:MTR -metria:MTR:MTR -metric:MTRK:MTRK -metros:MTRS:MTRS -mettle:MTL:MTL -mewing:MNK:MNK -mewled:MLT:MLT -mexico:MKSK:MKSK -miaows:MS:MS -miasma:MSM:MSM -miasms:MSMS:MSMS -mickey:MK:MK -micron:MKRN:MKRN -midair:MTR:MTR -midday:MT:MT -midden:MTN:MTN -middle:MTL:MTL -midges:MJS:MJS -midget:MJT:MJT -midgut:MTKT:MTKT -midrib:MTRP:MTRP -midsts:MTST:MTST -midway:MT:MT -miffed:MFT:MFT -mights:MTS:MTS -mighty:MT:MT -mikado:MKT:MKT -milady:MLT:MLT -milage:MLJ:MLK -milder:MLTR:MLTR -mildew:MLT:MLTF -mildly:MLTL:MLTL -milers:MLRS:MLRS -milieu:ML:ML -milium:MLM:MLM -milked:MLKT:MLKT -milker:MLKR:MLKR -milled:MLT:MLT -miller:MLR:MLR -millet:MLT:MLT -millie:ML:ML -millon:MLN:MLN -milroy:MLR:MLR -milton:MLTN:MLTN -mimeos:MMS:MMS -mimers:MMRS:MMRS -mimics:MMKS:MMKS -miming:MMNK:MMNK -mimosa:MMS:MMS -minced:MNST:MNST -mincer:MNSR:MNSR -minces:MNSS:MNSS -minded:MNTT:MNTT -miners:MNRS:MNRS -mingle:MNKL:MNKL -minima:MNM:MNM -minims:MNMS:MNMS -mining:MNNK:MNNK -minion:MNN:MNN -minnie:MN:MN -minnow:MN:MNF -minora:MNR:MNR -minors:MNRS:MNRS -minted:MNTT:MNTT -minter:MNTR:MNTR -minuet:MNT:MNT -minute:MNT:MNT -minxes:MNKS:MNKS -miopus:MPS:MPS -mioses:MSS:MSS -miosis:MSS:MSS -miotic:MTK:MTK -mirage:MRJ:MRK -miriam:MRM:MRM -mirier:MR:MRR -miring:MRNK:MRNK -mirror:MRR:MRR -miscue:MSK:MSK -misdid:MSTT:MSTT -misers:MSRS:MSRS -misery:MSR:MSR -misfit:MSFT:MSFT -mishap:MXP:MXP -mislay:ML:ML -misled:MLT:MLT -missal:MSL:MSL -missed:MST:MST -misses:MSS:MSS -misted:MSTT:MSTT -mister:MSTR:MSTR -misuse:MSS:MSS -miters:MTRS:MTRS -mitior:MTR:MTR -mitome:MTM:MTM -mitral:MTRL:MTRL -mitten:MTN:MTN -mixers:MKSR:MKSR -mixing:MKSN:MKSN -mixups:MKSP:MKSP -mizzen:MSN:MSN -mnemic:MNMK:MNMK -moaned:MNT:MNT -mobbed:MPT:MPT -mobile:MPL:MPL -mobles:MPLS:MPLS -mocked:MKT:MKT -mocker:MKR:MKR -mockup:MKP:MKP -models:MTLS:MTLS -modems:MTMS:MTMS -modern:MTRN:MTRN -Modern:MTRN:MTRN -modest:MTST:MTST -modify:MTF:MTF -modish:MTX:MTX -modula:MTL:MTL -module:MTL:MTL -modulo:MTL:MTL -moguls:MKLS:MKLS -mohair:MHR:MHR -mohawk:MHK:MHK -moiety:MT:MT -moiled:MLT:MLT -moines:MNS:MNS -molars:MLRS:MLRS -molded:MLTT:MLTT -molder:MLTR:MLTR -molest:MLST:MLST -molted:MLTT:MLTT -molten:MLTN:MLTN -molter:MLTR:MLTR -moment:MMNT:MMNT -monaco:MNK:MNK -monads:MNTS:MNTS -monday:MNT:MNT -mondor:MNTR:MNTR -monera:MNR:MNR -moneta:MNT:MNT -moneys:MNS:MNS -monger:MNKR:MNJR -mongol:MNKL:MNKL -monied:MNT:MNT -monies:MNS:MNS -monish:MNX:MNX -monism:MNSM:MNSM -monist:MNST:MNST -monkey:MNK:MNK -monody:MNT:MNT -monroe:MNR:MNR -montes:MNTS:MNTS -months:MN0S:MNTS -mooing:MNK:MNK -mooned:MNT:MNT -moonie:MN:MN -moored:MRT:MRT -mooted:MTT:MTT -mopeds:MPTS:MPTS -mopers:MPRS:MPRS -mopier:MP:MPR -moping:MPNK:MPNK -mopish:MPX:MPX -mopped:MPT:MPT -moppet:MPT:MPT -morale:MRL:MRL -morals:MRLS:MRLS -morass:MRS:MRS -morays:MRS:MRS -morbid:MRPT:MRPT -morbus:MRPS:MRPS -morels:MRLS:MRLS -morgan:MRKN:MRKN -morgue:MRK:MRK -mormon:MRMN:MRMN -morons:MRNS:MRNS -morose:MRS:MRS -morris:MRS:MRS -morrow:MR:MRF -morsel:MRSL:MRSL -morsus:MRSS:MRSS -mortal:MRTL:MRTL -mortar:MRTR:MRTR -mortem:MRTM:MRTM -mortis:MRTS:MRTS -morton:MRTN:MRTN -mortua:MRT:MRT -morula:MRL:MRL -mosaic:MSK:MSK -moscow:MSK:MSKF -moseys:MSS:MSS -moslem:MSLM:MSLM -mosque:MSK:MSK -mosses:MSS:MSS -mostly:MSTL:MSTL -motels:MTLS:MTLS -mother:M0R:MTR -motifs:MTFS:MTFS -motile:MTL:MTL -motion:MXN:MXN -motive:MTF:MTF -motley:MTL:MTL -motors:MTRS:MTRS -mottle:MTL:MTL -mottos:MTS:MTS -mouldy:MLT:MLT -mounds:MNTS:MNTS -mounts:MNTS:MNTS -mourns:MRNS:MRNS -moused:MST:MST -mouser:MSR:MSR -mouses:MSS:MSS -mousey:MS:MS -mousse:MS:MS -mouthe:M0:MT -mouths:M0S:MTS -mouthy:M0:MT -mouton:MTN:MTN -movant:MFNT:MFNT -movent:MFNT:MFNT -movere:MFR:MFR -movers:MFRS:MFRS -movies:MFS:MFS -moving:MFNK:MFNK -mowers:MRS:MRS -mowing:MNK:MNK -mozart:MSRT:MSRT -mucify:MSF:MSF -mucked:MKT:MKT -mucker:MKR:MKR -mucoid:MKT:MKT -mucosa:MKS:MKS -mucous:MKS:MKS -mucros:MKRS:MKRS -mucuna:MKN:MKN -muddle:MTL:MTL -muffed:MFT:MFT -muffin:MFN:MFN -muffle:MFL:MFL -mugged:MKT:MKT -mugger:MKR:MKR -mukluk:MKLK:MKLK -mulcts:MLKT:MLKT -mulier:ML:MLR -mulish:MLX:MLX -mullah:ML:ML -mulled:MLT:MLT -muller:MLR:MLR -mullet:MLT:MLT -mumble:MMPL:MMPL -mummer:MMR:MMR -munchy:MNX:MNK -munich:MNX:MNK -murals:MRLS:MRLS -murder:MRTR:MRTR -murein:MRN:MRN -murine:MRN:MRN -murmur:MRMR:MRMR -murphy:MRF:MRF -muscae:MSK:MSK -muscat:MSKT:MSKT -muscle:MSK:MSK -musers:MSRS:MSRS -museum:MSM:MSM -mushed:MXT:MXT -mushes:MXS:MXS -musing:MSNK:MSNK -muskeg:MSKK:MSKK -musket:MSKT:MSKT -muslim:MSLM:MSLM -muslin:MSLN:MSLN -mussed:MST:MST -mussel:MSL:MSL -musses:MSS:MSS -muster:MSTR:MSTR -mutant:MTNT:MTNT -mutase:MTS:MTS -mutate:MTT:MTT -mutely:MTL:MTL -muting:MTNK:MTNK -mutiny:MTN:MTN -mutism:MTSM:MTSM -mutter:MTR:MTR -mutton:MTN:MTN -mutual:MTL:MTL -mutuel:MTL:MTL -mutuum:MTM:MTM -muumuu:MM:MM -muzzle:MSL:MSL -myelic:MLK:MLK -myelin:MLN:MLN -myogen:MJN:MKN -myomas:MMS:MMS -myopia:MP:MP -myopic:MPK:MPK -myoses:MSS:MSS -myosin:MSN:MSN -myosis:MSS:MSS -myotic:MTK:MTK -myriad:MRT:MRT -myrtle:MRTL:MRTL -myself:MSLF:MSLF -mystic:MSTK:MSTK -mythic:M0K:MTK -myxoma:MKSM:MKSM -nabbed:NPT:NPT -nabobs:NPPS:NPPS -nacred:NKRT:NKRT -nadirs:NTRS:NTRS -naevus:NFS:NFS -naffed:NFT:NFT -nagana:NKN:NKN -nagged:NKT:NKT -nagger:NKR:NKR -naiads:NTS:NTS -nailed:NLT:NLT -nailer:NLR:NLR -naiver:NFR:NFR -nakers:NKRS:NKRS -namely:NML:NML -namers:NMRS:NMRS -naming:NMNK:NMNK -namium:NMM:NMM -nanism:NNSM:NNSM -nankin:NNKN:NNKN -nannie:NN:NN -nanoid:NNT:NNT -napalm:NPLM:NPLM -napery:NPR:NPR -napkin:NPKN:NPKN -naples:NPLS:NPLS -napped:NPT:NPT -napper:NPR:NPR -nappes:NPS:NPS -nardoo:NRT:NRT -narial:NRL:NRL -narine:NRN:NRN -narked:NRKT:NRKT -narrow:NR:NRF -nasion:NSN:NXN -nastic:NSTK:NSTK -natant:NTNT:NTNT -nation:NXN:NXN -native:NTF:NTF -natron:NTRN:NTRN -natter:NTR:NTR -natura:NTR:NTR -nature:NTR:NTR -naught:NKT:NKT -nausea:NS:NS -nautch:NX:NX -navaho:NFH:NFH -navajo:NFJ:NFH -navels:NFLS:NFLS -navied:NFT:NFT -navies:NFS:NFS -nawabs:NPS:NPS -nazify:NSF:NSF -nazism:NSSM:NSSM -nearby:NRP:NRP -neared:NRT:NRT -nearer:NRR:NRR -nearly:NRL:NRL -neaten:NTN:NTN -neater:NTR:NTR -neatly:NTL:NTL -nebula:NPL:NPL -necked:NKT:NKT -necker:NKR:NKR -nectar:NKTR:NKTR -needed:NTT:NTT -needer:NTR:NTR -needle:NTL:NTL -negate:NKT:NKT -neighs:NS:NS -neinei:NN:NN -nekton:NKTN:NKTN -nelson:NLSN:NLSN -nemine:NMN:NMN -nepali:NPL:NPL -nepers:NPRS:NPRS -nephew:NF:NFF -neptis:NPTS:NPTS -nereid:NRT:NRT -nernst:NRNS:NRNS -neroli:NRL:NRL -nerved:NRFT:NRFT -nerves:NRFS:NRFS -nervus:NRFS:NRFS -nested:NSTT:NSTT -nester:NSTR:NSTR -nestle:NSTL:NSTL -nether:N0R:NTR -netted:NTT:NTT -netter:NTR:NTR -nettle:NTL:NTL -nettly:NTL:NTL -neurad:NRT:NRT -neural:NRL:NRL -neurin:NRN:NRN -neuron:NRN:NRN -neuter:NTR:NTR -nevada:NFT:NFT -nevoid:NFT:NFT -newark:NRK:NRK -newels:NLS:NLS -newest:NST:NST -newish:NX:NX -newton:NTN:NTN -nextly:NKST:NKST -n'gana:NKN:NKN -niacin:NSN:NSN -nibbed:NPT:NPT -nibble:NPL:NPL -nicely:NSL:NSL -nicest:NSST:NSST -nicety:NST:NST -niches:NXS:NKS -nicish:NSX:NSX -nicked:NKT:NKT -nickel:NKL:NKL -nicker:NKR:NKR -nidify:NTF:NTF -nieces:NSS:NSS -niello:NL:NL -nigger:NKR:NKR -niggle:NKL:NKL -niggly:NKL:NKL -nigher:NR:NR -nights:NTS:NTS -nighty:NT:NT -nigrae:NKR:NKR -nimble:NMPL:NMPL -nimbly:NMPL:NMPL -nimbus:NMPS:NMPS -niminy:NMN:NMN -nimrod:NMRT:NMRT -ninety:NNT:NNT -ninths:NN0S:NNTS -nipped:NPT:NPT -nipper:NPR:NPR -nipple:NPL:NPL -nippon:NPN:NPN -niseis:NSS:NSS -nissan:NSN:NSN -nitric:NTRK:NTRK -nitryl:NTRL:NTRL -nitwit:NTT:NTT -nixies:NKSS:NKSS -nixing:NKSN:NKSN -nobble:NPL:NPL -nobile:NPL:NPL -nobill:NPL:NPL -nobler:NPLR:NPLR -nobles:NPLS:NPLS -nobody:NPT:NPT -nocked:NKT:NKT -nodded:NTT:NTT -nodder:NTR:NTR -noddle:NTL:NTL -nodose:NTS:NTS -nodous:NTS:NTS -nodule:NTL:NTL -noduli:NTL:NTL -noesis:NSS:NSS -noetic:NTK:NTK -noggin:NJN:NKN -noires:NRS:NRS -noised:NST:NST -noises:NSS:NSS -nolens:NLNS:NLNS -nomads:NMTS:NMTS -nomina:NMN:NMN -nomine:NMN:NMN -nomism:NMSM:NMSM -nonage:NNJ:NNK -nonary:NNR:NNR -noncom:NNKM:NNKM -nondry:NNTR:NNTR -nonego:NNK:NNK -nonfat:NNFT:NNFT -nonpar:NNPR:NNPR -nonpay:NNP:NNP -nonuse:NNS:NNS -noodle:NTL:NTL -noosed:NST:NST -nooses:NSS:NSS -nordic:NRTK:NRTK -normae:NRM:NRM -normal:NRML:NRML -norman:NRMN:NRMN -norway:NR:NR -nosema:NSM:NSM -noshed:NXT:NXT -nosher:NXR:NXR -noshes:NXS:NXS -nosier:NS:NSR -nosily:NSL:NSL -nosing:NSNK:NSNK -noster:NSTR:NSTR -nostra:NSTR:NSTR -notary:NTR:NTR -notate:NTT:NTT -notchy:NX:NX -notice:NTS:NTS -notify:NTF:NTF -noting:NTNK:NTNK -notion:NXN:NXN -notour:NTR:NTR -nougat:NKT:NKT -nought:NKT:NKT -nounal:NNL:NNL -novaes:NFS:NFS -novate:NFT:NFT -novels:NFLS:NFLS -novena:NFN:NFN -novice:NFS:NFS -nowise:NS:NS -nozzle:NSL:NSL -nuance:NNS:NNS -nubbin:NPN:NPN -nubble:NPL:NPL -nubbly:NPL:NPL -nubile:NPL:NPL -nuchae:NK:NX -nuchal:NXL:NKL -nuclei:NKL:NKL -nudely:NTL:NTL -nudest:NTST:NTST -nudged:NJT:NJT -nudger:NJR:NJR -nudges:NJS:NJS -nudism:NTSM:NTSM -nudist:NTST:NTST -nudity:NTT:NTT -nugget:NKT:NKT -nulled:NLT:NLT -numbed:NMPT:NMPT -number:NMR:NMR -numbly:NMPL:NMPL -numina:NMN:NMN -nuncio:NNS:NNX -nuphar:NFR:NFR -nursed:NRST:NRST -nurser:NRSR:NRSR -nurses:NRSS:NRSS -nutant:NTNT:NTNT -nutate:NTT:NTT -nutlet:NTLT:NTLT -nutmeg:NTMK:NTMK -nutria:NTR:NTR -nutted:NTT:NTT -nutter:NTR:NTR -nuzzle:NSL:NSL -nylons:NLNS:NLNS -nympha:NMF:NMF -nympho:NMF:NMF -nymphs:NMFS:NMFS -oafish:AFX:AFX -oamaru:AMR:AMR -oaring:ARNK:ARNK -oathes:A0S:ATS -obelia:APL:APL -obelus:APLS:APLS -obeyed:APT:APT -obeyer:APR:APR -obfusc:APFS:APFS -obiter:APTR:APTR -object:APJK:APJK -objets:APJT:APJT -oblast:APLS:APLS -oblate:APLT:APLT -oblige:APLJ:APLK -oblong:APLN:APLN -oboist:APST:APST -obolus:APLS:APLS -obsess:APSS:APSS -obtain:APTN:APTN -obtect:APTK:APTK -obtest:APTS:APTS -obtund:APTN:APTN -obtuse:APTS:APTS -obvert:APFR:APFR -occult:AKLT:AKLT -occupy:AKP:AKP -occurs:AKRS:AKRS -oceans:ASNS:ASNS -ocelli:ASL:ASL -ocelot:ASLT:ASLT -ocreae:AKR:AKR -octane:AKTN:AKTN -octant:AKTN:AKTN -octave:AKTF:AKTF -octavo:AKTF:AKTF -octets:AKTT:AKTT -octopi:AKTP:AKTP -octose:AKTS:AKTS -octroi:AKTR:AKTR -octroy:AKTR:AKTR -ocular:AKLR:AKLR -oculus:AKLS:AKLS -oddest:ATST:ATST -oddity:ATT:ATT -odessa:ATS:ATS -od'ing:ATNK:ATNK -odious:ATS:ATS -odored:ATRT:ATRT -oecoid:AKT:AKT -oedema:ATM:ATM -oeuvre:AFR:AFR -offcut:AFKT:AFKT -offend:AFNT:AFNT -offers:AFRS:AFRS -office:AFS:AFS -offici:AFS:AFS -offing:AFNK:AFNK -offish:AFX:AFX -offpay:AFP:AFP -offset:AFST:AFST -offspr:AFSP:AFSP -ogdoad:AKTT:AKTT -ogival:AJFL:AKFL -oglers:AKLR:AKLR -ogling:AKLN:ALNK -ogress:AKRS:AKRS -ohioan:AHN:AHN -ohmage:AMJ:AMK -oidium:ATM:ATM -oilcan:ALKN:ALKN -oilcup:ALKP:ALKP -oilers:ALRS:ALRS -oilier:AL:ALR -oilily:ALL:ALL -oiling:ALNK:ALNK -oilman:ALMN:ALMN -oilmen:ALMN:ALMN -oinked:ANKT:ANKT -ojibwa:AJP:AJP -okapis:AKPS:AKPS -okayed:AKT:AKT -ok'ing:AKNK:AKNK -oldest:ALTS:ALTS -oldies:ALTS:ALTS -oldish:ALTX:ALTX -oleate:ALT:ALT -olefin:ALFN:ALFN -oliver:ALFR:ALFR -olives:ALFS:ALFS -omahas:AMHS:AMHS -omasum:AMSM:AMSM -omelet:AMLT:AMLT -omened:AMNT:AMNT -omenta:AMNT:AMNT -omissi:AMS:AMS -omnium:AMNM:AMNM -onager:ANKR:ANJR -onbeat:ANPT:ANPT -oncost:ANKS:ANKS -oneida:ANT:ANT -onions:ANNS:ANNS -oniony:ANN:ANN -online:ANLN:ANLN -onrush:ANRX:ANRX -onsets:ANST:ANST -onside:ANST:ANST -onuses:ANSS:ANSS -onward:ANRT:ANRT -onyxis:ANKS:ANKS -oocyst:ASST:ASST -oocyte:AST:AST -oodles:ATLS:ATLS -oogamy:AKM:AKM -oolite:ALT:ALT -oology:ALJ:ALK -oolong:ALNK:ALNK -oompah:AMP:AMP -ootype:ATP:ATP -oozier:AS:ASR -oozily:ASL:ASL -oozing:ASNK:ASNK -opaque:APK:APK -opcode:APKT:APKT -opened:APNT:APNT -opener:APNR:APNR -openly:APNL:APNL -operas:APRS:APRS -operis:APRS:APRS -operon:APRN:APRN -ophite:AFT:AFT -opiate:APT:APT -opined:APNT:APNT -opiner:APNR:APNR -opines:APNS:APNS -oppose:APS:APS -oppugn:APN:APKN -optant:APTN:APTN -optate:APTT:APTT -optics:APTK:APTK -optima:APTM:APTM -opting:APTN:APTN -option:APXN:APXN -optive:APTF:APTF -opuses:APSS:APSS -oracle:ARKL:ARKL -orales:ARLS:ARLS -orally:ARL:ARL -orange:ARNJ:ARNK -orated:ARTT:ARTT -orates:ARTS:ARTS -oratio:ART:ART -orator:ARTR:ARTR -orbits:ARPT:ARPT -orcein:ARSN:ARSN -orchid:ARKT:ARKT -orchil:ARXL:ARKL -orchin:ARXN:ARKN -orchis:ARXS:ARKS -ordain:ARTN:ARTN -ordeal:ARTL:ARTL -orders:ARTR:ARTR -ordure:ARTR:ARTR -oregon:ARKN:ARKN -oreide:ART:ART -orexia:ARKS:ARKS -orexis:ARKS:ARKS -organa:ARKN:ARKN -organs:ARKN:ARKN -orgasm:ARKS:ARKS -orgies:ARJS:ARKS -oribis:ARPS:ARPS -oriels:ARLS:ARLS -orient:ARNT:ARNT -origan:ARKN:ARKN -origin:ARJN:ARKN -oriole:ARL:ARL -orison:ARSN:ARSN -ormolu:ARML:ARML -ornate:ARNT:ARNT -ornery:ARNR:ARNR -oroide:ART:ART -orotic:ARTK:ARTK -orphan:ARFN:ARFN -orphic:ARFK:ARFK -orpine:ARPN:ARPN -orrery:ARR:ARR -orwell:ARL:ARL -oryxes:ARKS:ARKS -osages:ASJS:ASKS -oscars:ASKR:ASKR -oscine:ASN:ASN -oscula:ASKL:ASKL -osiers:ASRS:ASRS -osmate:ASMT:ASMT -osmics:ASMK:ASMK -osmium:ASMM:ASMM -osmose:ASMS:ASMS -osmous:ASMS:ASMS -osmund:ASMN:ASMN -osprey:ASPR:ASPR -ossein:ASN:ASN -osseum:ASM:ASM -osseus:ASS:ASS -ossify:ASF:ASF -ossium:ASM:ASM -osteal:ASTL:ASTL -ostein:ASTN:ASTN -osteon:ASTN:ASTN -ostial:ASXL:ASXL -ostium:ASTM:ASTM -ostler:ASTL:ASTL -ostomy:ASTM:ASTM -oswego:ASK:ASK -others:A0RS:ATRS -otiose:ATS:ATS -otitic:ATTK:ATTK -otitis:ATTS:ATTS -otoses:ATSS:ATSS -otosis:ATSS:ATSS -ottava:ATF:ATF -ottawa:AT:AT -otters:ATRS:ATRS -ounces:ANSS:ANSS -ousted:ASTT:ASTT -ouster:ASTR:ASTR -outact:ATKT:ATKT -outage:ATJ:ATK -outate:ATT:ATT -outbid:ATPT:ATPT -outbox:ATPK:ATPK -outbye:ATP:ATP -outcry:ATKR:ATKR -outdid:ATT:ATT -outeat:ATT:ATT -outfit:ATFT:ATFT -outfly:ATFL:ATFL -outfox:ATFK:ATFK -outgas:ATKS:ATKS -outgun:ATKN:ATKN -outhit:A0T:ATT -outing:ATNK:ATNK -outlaw:ATL:ATLF -outlay:ATL:ATL -outlet:ATLT:ATLT -outlot:ATLT:ATLT -outman:ATMN:ATMN -output:ATPT:ATPT -outran:ATRN:ATRN -outrun:ATRN:ATRN -outsat:ATST:ATST -outset:ATST:ATST -outsit:ATST:ATST -outwit:ATT:ATT -ovales:AFLS:AFLS -ovally:AFL:AFL -overdo:AFRT:AFRT -overfe:AFRF:AFRF -overly:AFRL:AFRL -ovisac:AFSK:AFSK -ovoids:AFTS:AFTS -ovular:AFLR:AFLR -ovules:AFLS:AFLS -owelty:ALT:ALT -owlets:ALTS:ALTS -owlish:ALX:ALX -owners:ANRS:ANRS -owning:ANNK:ANNK -oxalic:AKSL:AKSL -oxalis:AKSL:AKSL -oxalyl:AKSL:AKSL -oxbows:AKSP:AKSP -oxcart:AKSR:AKSR -oxford:AKSF:AKSF -oxgall:AKSK:AKSK -oxhide:AKST:AKST -oxides:AKST:AKST -oxidic:AKST:AKST -oxtail:AKST:AKST -oxygen:AKSJ:AKSK -oxymel:AKSM:AKSM -oxyopy:AKSP:AKSP -oyster:ASTR:ASTR -ozaena:ASN:ASN -ozoena:ASN:ASN -ozonic:ASNK:ASNK -pablum:PPLM:PPLM -pacers:PSRS:PSRS -pacier:PS:PXR -pacify:PSF:PSF -pacing:PSNK:PSNK -pacini:PSN:PSN -packed:PKT:PKT -packer:PKR:PKR -packet:PKT:PKT -pactio:PKT:PKT -pactum:PKTM:PKTM -padded:PTT:PTT -padder:PTR:PTR -paddle:PTL:PTL -padres:PTRS:PTRS -padsaw:PTS:PTSF -paeans:PNS:PNS -paella:PL:PL -pagans:PKNS:PKNS -pagers:PKRS:PJRS -paging:PJNK:PKNK -pagoda:PKT:PKT -pained:PNT:PNT -paints:PNTS:PNTS -painty:PNT:PNT -paired:PRT:PRT -pajama:PJM:PHM -pakeha:PKH:PKH -palace:PLS:PLS -palais:PL:PLS -palata:PLT:PLT -palate:PLT:PLT -palely:PLL:PLL -palest:PLST:PLST -paling:PLNK:PLNK -palish:PLX:PLX -palled:PLT:PLT -pallet:PLT:PLT -pallia:PL:PL -pallid:PLT:PLT -pallor:PLR:PLR -palmar:PLMR:PLMR -palmed:PLMT:PLMT -palmer:PLMR:PLMR -palmus:PLMS:PLMS -palpal:PLPL:PLPL -palpus:PLPS:PLPS -palter:PLTR:PLTR -paltry:PLTR:PLTR -pampas:PMPS:PMPS -pamper:PMPR:PMPR -panada:PNT:PNT -panama:PNM:PNM -pandas:PNTS:PNTS -pander:PNTR:PNTR -pandit:PNTT:PNTT -pandor:PNTR:PNTR -panels:PNLS:PNLS -panick:PNK:PNK -panics:PNKS:PNKS -panned:PNT:PNT -pannus:PNS:PNS -panted:PNTT:PNTT -pantos:PNTS:PNTS -pantry:PNTR:PNTR -panzer:PNSR:PNSR -papacy:PPS:PPS -papain:PPN:PPN -papaws:PPS:PPS -papaya:PP:PP -papers:PPRS:PPRS -papery:PPR:PPR -papier:PP:PPR -papist:PPST:PPST -pappus:PPS:PPS -papuan:PPN:PPN -papule:PPL:PPL -papyri:PPR:PPR -parade:PRT:PRT -parage:PRJ:PRK -paramo:PRM:PRM -parang:PRNK:PRNK -paraph:PRF:PRF -parcel:PRSL:PRSL -pardon:PRTN:PRTN -parens:PRNS:PRNS -parent:PRNT:PRNT -parera:PRR:PRR -parers:PRRS:PRRS -parget:PRKT:PRKT -pariah:PR:PR -paries:PRS:PRS -paring:PRNK:PRNK -parish:PRX:PRX -parity:PRT:PRT -parium:PRM:PRM -parkas:PRKS:PRKS -parked:PRKT:PRKT -parker:PRKR:PRKR -parkin:PRKN:PRKN -parlay:PRL:PRL -parley:PRL:PRL -parlor:PRLR:PRLR -parody:PRT:PRT -parole:PRL:PRL -parous:PRS:PRS -parred:PRT:PRT -parrel:PRL:PRL -parrot:PRT:PRT -parsec:PRSK:PRSK -parsed:PRST:PRST -parsee:PRS:PRS -parser:PRSR:PRSR -parses:PRSS:PRSS -parson:PRSN:PRSN -partan:PRTN:PRTN -parted:PRTT:PRTT -parter:PRTR:PRTR -partes:PRTS:PRTS -partly:PRTL:PRTL -parton:PRTN:PRTN -parure:PRR:PRR -parvis:PRFS:PRFS -pascal:PSKL:PSKL -pashas:PXS:PXS -passed:PST:PST -passee:PS:PS -passel:PSL:PSL -passer:PSR:PSR -passes:PSS:PSS -passim:PSM:PSM -passus:PSS:PSS -pastas:PSTS:PSTS -pasted:PSTT:PSTT -pastel:PSTL:PSTL -paster:PSTR:PSTR -pastes:PSTS:PSTS -pastil:PSTL:PSTL -pastis:PSTS:PSTS -pastor:PSTR:PSTR -pastry:PSTR:PSTR -pataka:PTK:PTK -patchy:PX:PX -patens:PTNS:PTNS -patent:PTNT:PTNT -pathes:P0S:PTS -pathic:P0K:PTK -pathos:P0S:PTS -patina:PTN:PTN -patios:PTS:PTS -patois:PT:PTS -patrol:PTRL:PTRL -patron:PTRN:PTRN -patted:PTT:PTT -pattee:PT:PT -patten:PTN:PTN -patter:PTR:PTR -paucal:PKL:PKL -paunch:PNX:PNK -pauper:PPR:PPR -pausal:PSL:PSL -paused:PST:PST -pauses:PSS:PSS -pavage:PFJ:PFK -pavane:PFN:PFN -pavers:PFRS:PFRS -paving:PFNK:PFNK -pavior:PFR:PFR -pavlov:PFLF:PFLF -pawing:PNK:PNK -pawned:PNT:PNT -pawnee:PN:PN -pawner:PNR:PNR -pawpaw:PP:PPF -payday:PT:PT -payees:PS:PS -payers:PRS:PRS -paying:PNK:PNK -payoff:PF:PF -payola:PL:PL -payout:PT:PT -peachy:PX:PK -peahen:PHN:PHN -peaked:PKT:PKT -pealed:PLT:PLT -peanut:PNT:PNT -pearls:PRLS:PRLS -pearly:PRL:PRL -pebble:PPL:PPL -pebbly:PPL:PPL -pecans:PKNS:PKNS -pecked:PKT:PKT -pecker:PKR:PKR -pecten:PKTN:PKTN -pectic:PKTK:PKTK -pectin:PKTN:PKTN -pectus:PKTS:PKTS -pedalo:PTL:PTL -pedals:PTLS:PTLS -pedant:PTNT:PTNT -pedate:PTT:PTT -peddle:PTL:PTL -pedlar:PTLR:PTLR -peeing:PNK:PNK -peeked:PKT:PKT -peeled:PLT:PLT -peeler:PLR:PLR -peened:PNT:PNT -peeped:PPT:PPT -peeper:PPR:PPR -peepul:PPL:PPL -peered:PRT:PRT -peeved:PFT:PFT -peeves:PFS:PFS -peewee:P:P -peewit:PT:PT -pegged:PKT:PKT -peking:PKNK:PKNK -pelage:PLJ:PLK -pelham:PLM:PLM -pelite:PLT:PLT -pellet:PLT:PLT -pelmet:PLMT:PLMT -peloid:PLT:PLT -pelota:PLT:PLT -pelted:PLTT:PLTT -pelter:PLTR:PLTR -peltry:PLTR:PLTR -pelves:PLFS:PLFS -pelvic:PLFK:PLFK -pelvis:PLFS:PLFS -pencil:PNSL:PNSL -pended:PNTT:PNTT -penial:PNL:PNL -penile:PNL:PNL -penman:PNMN:PNMN -penmen:PNMN:PNMN -pennae:PN:PN -penned:PNT:PNT -penney:PN:PN -pennia:PN:PN -pennon:PNN:PNN -pentad:PNTT:PNTT -pentyl:PNTL:PNTL -penult:PNLT:PNLT -penury:PNR:PNR -people:PPL:PPL -peplum:PPLM:PPLM -pepped:PPT:PPT -pepper:PPR:PPR -pepsin:PPSN:PPSN -peptic:PPTK:PPTK -percha:PRX:PRK -perdue:PRT:PRT -perils:PRLS:PRLS -period:PRT:PRT -perish:PRX:PRX -periwi:PR:PR -perked:PRKT:PRKT -permit:PRMT:PRMT -pernio:PRN:PRN -perron:PRN:PRN -persia:PRS:PRX -person:PRSN:PRSN -perter:PRTR:PRTR -pertly:PRTL:PRTL -peruke:PRK:PRK -peruse:PRS:PRS -pesade:PST:PST -peseta:PST:PST -pester:PSTR:PSTR -pestis:PSTS:PSTS -pestle:PSTL:PSTL -petals:PTLS:PTLS -petard:PTRT:PTRT -peteer:PTR:PTR -peters:PTRS:PTRS -petite:PTT:PTT -petits:PTTS:PTTS -petrel:PTRL:PTRL -petrol:PTRL:PTRL -petted:PTT:PTT -petter:PTR:PTR -pewter:PTR:PTR -peyote:PT:PT -peyotl:PTL:PTL -phages:FJS:FKS -phalli:FL:FL -pharos:FRS:FRS -phased:FST:FST -phaser:FSR:FSR -phases:FSS:FSS -phasic:FSK:FSK -phatic:FTK:FTK -phenol:FNL:FNL -phenyl:FNL:FNL -phials:FLS:FLS -philip:FLP:FLP -philos:FLS:FLS -phlegm:FLKM:FLKM -phloem:FLM:FLM -phobia:FP:FP -phobic:FPK:FPK -phoebe:FP:FP -phonal:FNL:FNL -phoned:FNT:FNT -phoner:FNR:FNR -phones:FNS:FNS -phoney:FN:FN -phonic:FNK:FNK -phonon:FNN:FNN -phonos:FNS:FNS -phooey:F:F -phoria:FR:FR -phossy:FS:FS -photic:FTK:FTK -photon:FTN:FTN -photos:FTS:FTS -phrase:FRS:FRS -phylum:FLM:FLM -phymas:FMS:FMS -physic:FSK:FSK -physio:FS:FX -phytol:FTL:FTL -phyton:FTN:FTN -phytyl:FTL:FTL -piaffe:PF:PF -pianos:PNS:PNS -piazza:PS:PTS -piazze:PS:PS -pickax:PKKS:PKKS -picked:PKT:PKT -picker:PKR:PKR -picket:PKT:PKT -pickle:PKL:PKL -pickup:PKP:PKP -picnic:PKNK:PKNK -picots:PKTS:PKTS -picric:PKRK:PKRK -picryl:PKRL:PKRL -piculs:PKLS:PKLS -piddle:PTL:PTL -pidgin:PJN:PJN -pieced:PST:PST -piecer:PSR:PSR -pieces:PSS:PSS -piedra:PTR:PTR -pierce:PRS:PRS -pieris:PRS:PRS -pierre:PR:PR -pietas:PTS:PTS -piffle:PFL:PFL -pigeon:PJN:PKN -pigged:PKT:PKT -piglet:PKLT:PKLT -pignet:PNT:PKNT -pignus:PNS:PKNS -pigpen:PKPN:PKPN -pigsty:PKST:PKST -pikers:PKRS:PKRS -piking:PKNK:PKNK -pilaff:PLF:PLF -pilafs:PLFS:PLFS -pilary:PLR:PLR -pilast:PLST:PLST -pilate:PLT:PLT -pilaus:PLS:PLS -pilers:PLRS:PLRS -pileum:PLM:PLM -pileup:PLP:PLP -pileus:PLS:PLS -pilfer:PLFR:PLFR -piling:PLNK:PLNK -pillar:PLR:PLR -pilled:PLT:PLT -pillet:PLT:PLT -pillow:PL:PLF -pilose:PLS:PLS -pilots:PLTS:PLTS -pilule:PLL:PLL -pimped:PMPT:PMPT -pimple:PMPL:PMPL -pimply:PMPL:PMPL -pincer:PNSR:PNSR -pineal:PNL:PNL -pinene:PNN:PNN -pinery:PNR:PNR -pineta:PNT:PNT -pinged:PNJT:PNKT -pinger:PNKR:PNJR -pingos:PNKS:PNKS -pinier:PN:PNR -pining:PNNK:PNNK -pinion:PNN:PNN -pinite:PNT:PNT -pinked:PNKT:PNKT -pinker:PNKR:PNKR -pinkie:PNK:PNK -pinkly:PNKL:PNKL -pinkos:PNKS:PNKS -pinnae:PN:PN -pinnal:PNL:PNL -pinnas:PNS:PNS -pinned:PNT:PNT -pinner:PNR:PNR -pinons:PNNS:PNNS -pintid:PNTT:PNTT -pintle:PNTL:PNTL -pintos:PNTS:PNTS -pinups:PNPS:PNPS -piolet:PLT:PLT -piopio:PP:PP -pipage:PPJ:PPK -pipers:PPRS:PPRS -piping:PPNK:PPNK -pipits:PPTS:PPTS -pipkin:PPKN:PPKN -pipped:PPT:PPT -pippin:PPN:PPN -piqued:PKT:PKT -piques:PKS:PKS -piquet:PKT:PKT -piracy:PRS:PRS -pirate:PRT:PRT -pisces:PSS:PSS -pissed:PST:PST -pisser:PSR:PSR -pistes:PSTS:PSTS -pistil:PSTL:PSTL -pistol:PSTL:PSTL -piston:PSTN:PSTN -pitchi:PX:PX -pitchy:PX:PX -pithed:P0T:PTT -pithes:P0S:PTS -pitied:PTT:PTT -pitier:PT:PTR -pities:PTS:PTS -pitons:PTNS:PTNS -pitsaw:PTS:PTSF -pitted:PTT:PTT -pitter:PTR:PTR -pituri:PTR:PTR -piupiu:PP:PP -pivots:PFTS:PFTS -pixels:PKSL:PKSL -pixies:PKSS:PKSS -pixmap:PKSM:PKSM -pizazz:PSS:PSS -pizzas:PSS:PTSS -pizzle:PSL:PSL -placed:PLST:PLST -placer:PLSR:PLSR -places:PLSS:PLSS -placet:PLST:PLST -placid:PLST:PLST -plagal:PLKL:PLKL -plague:PLK:PLK -plaguy:PLK:PLK -plaice:PLS:PLS -plaids:PLTS:PLTS -plains:PLNS:PLNS -plaint:PLNT:PLNT -plaits:PLTS:PLTS -planar:PLNR:PLNR -planck:PLNK:PLNK -planed:PLNT:PLNT -planer:PLNR:PLNR -planes:PLNS:PLNS -planet:PLNT:PLNT -planks:PLNK:PLNK -plants:PLNT:PLNT -planum:PLNM:PLNM -planus:PLNS:PLNS -plaque:PLK:PLK -plashy:PLX:PLX -plasma:PLSM:PLSM -plasty:PLST:PLST -plated:PLTT:PLTT -platen:PLTN:PLTN -plater:PLTR:PLTR -plates:PLTS:PLTS -platys:PLTS:PLTS -played:PLT:PLT -player:PLR:PLR -plazas:PLSS:PLSS -pleach:PLK:PLK -pleads:PLTS:PLTS -please:PLS:PLS -pleats:PLTS:PLTS -plebes:PLPS:PLPS -pledge:PLJ:PLJ -pleiad:PLT:PLT -plenty:PLNT:PLNT -plenum:PLNM:PLNM -pleura:PLR:PLR -plevin:PLFN:PLFN -plexor:PLKS:PLKS -plexus:PLKS:PLKS -pliant:PLNT:PLNT -plicae:PLK:PLK -plical:PLKL:PLKL -pliers:PLRS:PLRS -plight:PLT:PLT -plinks:PLNK:PLNK -plinth:PLN0:PLNT -plisse:PLS:PLS -ploidy:PLT:PLT -plough:PLF:PLF -plover:PLFR:PLFR -plowed:PLT:PLT -plower:PLR:PLR -plucks:PLKS:PLKS -plucky:PLK:PLK -plumbs:PLMP:PLMP -plumed:PLMT:PLMT -plumes:PLMS:PLMS -plumis:PLMS:PLMS -plummy:PLM:PLM -plumps:PLMP:PLMP -plunge:PLNJ:PLNK -plunks:PLNK:PLNK -plural:PLRL:PLRL -pluses:PLSS:PLSS -plushy:PLX:PLX -pluton:PLTN:PLTN -plying:PLNK:PLNK -pneuma:NM:NM -pocked:PKT:PKT -pocket:PKT:PKT -podded:PTT:PTT -podium:PTM:PTM -podsol:PTSL:PTSL -podzol:PTSL:PTSL -poetic:PTK:PTK -poetry:PTR:PTR -pogges:PKS:PKS -pogoed:PKT:PKT -pogoer:PKR:PKR -pogrom:PKRM:PKRM -poilus:PLS:PLS -points:PNTS:PNTS -pointy:PNT:PNT -poised:PST:PST -poises:PSS:PSS -poison:PSN:PSN -pokers:PKRS:PKRS -pokier:PKR:PKR -pokily:PKL:PKL -poking:PKNK:PKNK -poland:PLNT:PLNT -polder:PLTR:PLTR -polers:PLRS:PLRS -poleyn:PLN:PLN -police:PLS:PLS -policy:PLS:PLS -poling:PLNK:PLNK -polish:PLX:PLX -polite:PLT:PLT -polity:PLT:PLT -poljes:PLS:PLS -polkas:PLKS:PLKS -polled:PLT:PLT -pollen:PLN:PLN -poller:PLR:PLR -pollex:PLKS:PLKS -pollly:PLL:PLL -polloi:PL:PL -polony:PLN:PLN -polypi:PLP:PLP -polyps:PLPS:PLPS -pomace:PMS:PMS -pomade:PMT:PMT -pomelo:PML:PML -pommel:PML:PML -pommie:PM:PM -pompey:PMP:PMP -pompom:PMPM:PMPM -pompon:PMPN:PMPN -poncho:PNX:PNK -ponded:PNTT:PNTT -ponder:PNTR:PNTR -pongee:PNJ:PNK -pongid:PNJT:PNKT -pongos:PNKS:PNKS -ponies:PNS:PNS -pontes:PNTS:PNTS -pontic:PNTK:PNTK -poodle:PTL:PTL -poohes:PHS:PHS -pooled:PLT:PLT -pooped:PPT:PPT -pooper:PPR:PPR -poorer:PRR:PRR -poorly:PRL:PRL -popery:PPR:PPR -popeye:PP:PP -popgun:PPKN:PPKN -popish:PPX:PPX -poplar:PPLR:PPLR -poplin:PPLN:PPLN -popped:PPT:PPT -popper:PPR:PPR -poppet:PPT:PPT -popple:PPL:PPL -popply:PPL:PPL -populi:PPL:PPL -populo:PPL:PPL -poring:PRNK:PRNK -porion:PRN:PRN -porker:PRKR:PRKR -porous:PRS:PRS -portae:PRT:PRT -portal:PRTL:PRTL -ported:PRTT:PRTT -porter:PRTR:PRTR -portio:PRT:PRT -portly:PRTL:PRTL -posers:PSRS:PSRS -poseur:PSR:PSR -posher:PXR:PXR -poshly:PXL:PXL -posies:PSS:PSS -posing:PSNK:PSNK -posits:PSTS:PSTS -possed:PST:PST -posses:PSS:PSS -posset:PST:PST -possum:PSM:PSM -postal:PSTL:PSTL -postea:PST:PST -posted:PSTT:PSTT -poster:PSTR:PSTR -postil:PSTL:PSTL -potage:PTJ:PTK -potash:PTX:PTX -potato:PTT:PTT -poteen:PTN:PTN -potent:PTNT:PTNT -potful:PTFL:PTFL -pother:P0R:PTR -potion:PXN:PXN -potpie:PTP:PTP -potted:PTT:PTT -potter:PTR:PTR -pottos:PTS:PTS -pouchy:PX:PK -pouffe:PF:PF -poults:PLTS:PLTS -pounce:PNS:PNS -pounds:PNTS:PNTS -poured:PRT:PRT -pourer:PRR:PRR -pouted:PTT:PTT -pouter:PTR:PTR -powder:PTR:PTR -powers:PRS:PRS -powwow:P:PF -poxier:PKS:PKSR -prague:PRK:PRK -praise:PRS:PRS -prance:PRNS:PRNS -pranks:PRNK:PRNK -prated:PRTT:PRTT -prater:PRTR:PRTR -prates:PRTS:PRTS -prawns:PRNS:PRNS -praxes:PRKS:PRKS -praxis:PRKS:PRKS -prayed:PRT:PRT -prayer:PRR:PRR -preach:PRK:PRK -prearm:PRRM:PRRM -precis:PRSS:PRSS -precox:PRKK:PRKK -precut:PRKT:PRKT -preens:PRNS:PRNS -prefab:PRFP:PRFP -prefer:PRFR:PRFR -prefix:PRFK:PRFK -prelaw:PRL:PRLF -prelim:PRLM:PRLM -premed:PRMT:PRMT -premia:PRM:PRM -premix:PRMK:PRMK -prepay:PRP:PRP -preppy:PRP:PRP -preset:PRST:PRST -presto:PRST:PRST -pretia:PRX:PRX -pretty:PRT:PRT -previa:PRF:PRF -prewar:PRR:PRR -preyed:PRT:PRT -preyer:PRR:PRR -priapi:PRP:PRP -priced:PRST:PRST -pricer:PRSR:PRSR -prices:PRSS:PRSS -pricey:PRS:PRS -pricks:PRKS:PRKS -prided:PRTT:PRTT -prides:PRTS:PRTS -priers:PRRS:PRRS -priest:PRST:PRST -prills:PRLS:PRLS -primae:PRM:PRM -primal:PRML:PRML -primam:PRMM:PRMM -primed:PRMT:PRMT -primer:PRMR:PRMR -primes:PRMS:PRMS -primly:PRML:PRML -primos:PRMS:PRMS -primps:PRMP:PRMP -primus:PRMS:PRMS -prince:PRNS:PRNS -prinks:PRNK:PRNK -prints:PRNT:PRNT -prions:PRNS:PRNS -priori:PRR:PRR -priors:PRRS:PRRS -priory:PRR:PRR -prised:PRST:PRST -prises:PRSS:PRSS -prisms:PRSM:PRSM -prison:PRSN:PRSN -prissy:PRS:PRS -prists:PRST:PRST -privet:PRFT:PRFT -prized:PRST:PRST -prizer:PRSR:PRSR -prizes:PRSS:PRSS -proban:PRPN:PRPN -probed:PRPT:PRPT -prober:PRPR:PRPR -probes:PRPS:PRPS -profit:PRFT:PRFT -projet:PRJT:PRJT -prolan:PRLN:PRLN -proleg:PRLK:PRLK -prolix:PRLK:PRLK -prolon:PRLN:PRLN -promos:PRMS:PRMS -prompt:PRMP:PRMP -prongs:PRNK:PRNK -pronto:PRNT:PRNT -proofs:PRFS:PRFS -propel:PRPL:PRPL -proper:PRPR:PRPR -propyl:PRPL:PRPL -prosed:PRST:PRST -proses:PRSS:PRSS -protei:PRT:PRT -proton:PRTN:PRTN -proved:PRFT:PRFT -proven:PRFN:PRFN -prover:PRFR:PRFR -proves:PRFS:PRFS -prowar:PRR:PRR -prowed:PRT:PRT -prowls:PRLS:PRLS -prudes:PRTS:PRTS -pruned:PRNT:PRNT -pruner:PRNR:PRNR -prunes:PRNS:PRNS -prusik:PRSK:PRSK -prying:PRNK:PRNK -psalms:SLMS:SLMS -pseudo:ST:ST -psoaes:SS:SS -psyche:SX:SK -psycho:SX:SK -psychs:SKS:SKS -ptisan:PTSN:PTSN -ptosed:PTST:PTST -ptoses:PTSS:PTSS -ptosis:PTSS:PTSS -ptotic:PTTK:PTTK -public:PPLK:PPLK -pucker:PKR:PKR -puddle:PTL:PTL -puddly:PTL:PTL -pueblo:PPL:PPL -puerto:PRT:PRT -puffed:PFT:PFT -puffer:PFR:PFR -puffin:PFN:PFN -pugged:PKT:PKT -puisne:PSN:PSN -pukeko:PKK:PKK -puking:PKNK:PKNK -puling:PLNK:PLNK -pulled:PLT:PLT -puller:PLR:PLR -pullet:PLT:PLT -pulley:PL:PL -pullus:PLS:PLS -pulpal:PLPL:PLPL -pulpar:PLPR:PLPR -pulped:PLPT:PLPT -pulper:PLPR:PLPR -pulpit:PLPT:PLPT -pulque:PLK:PLK -pulsar:PLSR:PLSR -pulsed:PLST:PLST -pulses:PLSS:PLSS -pulsus:PLSS:PLSS -pumice:PMS:PMS -pummel:PML:PML -pumped:PMPT:PMPT -pumper:PMPR:PMPR -punchy:PNX:PNK -puncta:PNKT:PNKT -pundit:PNTT:PNTT -punier:PN:PNR -punily:PNL:PNL -punish:PNX:PNX -punkah:PNK:PNK -punkas:PNKS:PNKS -punned:PNT:PNT -punner:PNR:PNR -punnet:PNT:PNT -punted:PNTT:PNTT -punter:PNTR:PNTR -pupaes:PPS:PPS -pupate:PPT:PPT -pupils:PPLS:PPLS -pupped:PPT:PPT -puppet:PPT:PPT -purdah:PRT:PRT -pureed:PRT:PRT -purees:PRS:PRS -purely:PRL:PRL -purest:PRST:PRST -purfle:PRFL:PRFL -purged:PRJT:PRKT -purger:PRKR:PRJR -purges:PRJS:PRKS -purify:PRF:PRF -purine:PRN:PRN -puriri:PRR:PRR -purism:PRSM:PRSM -purist:PRST:PRST -purity:PRT:PRT -purled:PRLT:PRLT -purler:PRLR:PRLR -purlin:PRLN:PRLN -purple:PRPL:PRPL -purply:PRPL:PRPL -purred:PRT:PRT -pursed:PRST:PRST -purser:PRSR:PRSR -purses:PRSS:PRSS -pursue:PRS:PRS -purvey:PRF:PRF -pushed:PXT:PXT -pusher:PXR:PXR -pushes:PXS:PXS -pushup:PXP:PXP -putlog:PTLK:PTLK -putout:PTT:PTT -putrid:PTRT:PTRT -putsch:PTX:PTX -putted:PTT:PTT -puttee:PT:PT -putter:PTR:PTR -puzzle:PSL:PSL -pyalla:PL:PL -pycnic:PKNK:PKNK -pyelic:PLK:PLK -pyemia:PM:PM -pyemic:PMK:PMK -pyesis:PSS:PSS -pyknic:PKNK:PKNK -pylaes:PLS:PLS -pylons:PLNS:PLNS -pylori:PLR:PLR -pyogen:PJN:PKN -pyosis:PSS:PSS -pyrene:PRN:PRN -pyrite:PRT:PRT -pyrone:PRN:PRN -pyrope:PRP:PRP -python:P0N:PTN -pyuria:PR:PR -pyxing:PKSN:PKSN -qantas:KNTS:KNTS -quacks:KKS:KKS -quacky:KK:KK -quaere:KR:KR -quaffs:KFS:KFS -quagga:KK:KK -quaggy:KK:KK -quahog:KHK:KHK -quails:KLS:KLS -quaint:KNT:KNT -quaked:KKT:KKT -quaker:KKR:KKR -quakes:KKS:KKS -qualia:KL:KL -qualms:KLMS:KLMS -quando:KNT:KNT -quango:KNK:KNK -quanta:KNT:KNT -quanti:KNT:KNT -quants:KNTS:KNTS -quarks:KRKS:KRKS -quarry:KR:KR -quarto:KRT:KRT -quarts:KRTS:KRTS -quartz:KRTS:KRTS -quasar:KSR:KSR -quatre:KTR:KTR -quaver:KFR:KFR -queasy:KS:KS -queazy:KS:KS -quebec:KPK:KPK -queens:KNS:KNS -queers:KRS:KRS -quells:KLS:KLS -quench:KNX:KNK -querns:KRNS:KRNS -quests:KSTS:KSTS -queued:KT:KT -queuer:KR:KR -queues:KS:KS -quiche:KX:KK -quieta:KT:KT -quieti:KT:KT -quiets:KTS:KTS -quiffs:KFS:KFS -quills:KLS:KLS -quilts:KLTS:KLTS -quince:KNS:KNS -quinic:KNK:KNK -quinne:KN:KN -quinsy:KNS:KNS -quints:KNTS:KNTS -quinze:KNS:KNS -quires:KRS:KRS -quirks:KRKS:KRKS -quirky:KRK:KRK -quirts:KRTS:KRTS -quitch:KX:KX -quites:KTS:KTS -quiver:KFR:KFR -quoins:KNS:KNS -quoits:KTS:KTS -quoque:KK:KK -quorum:KRM:KRM -quotas:KTS:KTS -quoted:KTT:KTT -quoter:KTR:KTR -quotes:KTS:KTS -qwerty:KRT:KRT -rabbet:RPT:RPT -rabbis:RPS:RPS -rabbit:RPT:RPT -rabble:RPL:RPL -rabies:RPS:RPS -raceme:RSM:RSM -racers:RSRS:RSRS -rachel:RXL:RKL -rachet:RXT:RKT -rachis:RXS:RKS -racial:RSL:RXL -racier:RS:RXR -racily:RSL:RSL -racine:RSN:RSN -racing:RSNK:RSNK -racism:RSSM:RSSM -racist:RSST:RSST -racked:RKT:RKT -racket:RKT:RKT -racoon:RKN:RKN -radars:RTRS:RTRS -raddle:RTL:RTL -radial:RTL:RTL -radian:RTN:RTN -radios:RTS:RTS -radish:RTX:RTX -radium:RTM:RTM -radius:RTS:RTS -radome:RTM:RTM -radula:RTL:RTL -raffia:RF:RF -raffle:RFL:RFL -rafted:RFTT:RFTT -rafter:RFTR:RFTR -ragbag:RKPK:RKPK -ragged:RKT:RKT -raging:RJNK:RKNK -raglan:RKLN:RKLN -ragout:RKT:RKT -ragtag:RKTK:RKTK -raided:RTT:RTT -raider:RTR:RTR -railed:RLT:RLT -railer:RLR:RLR -rained:RNT:RNT -rainey:RN:RN -raised:RST:RST -raiser:RSR:RSR -raises:RSS:RSS -raisin:RSN:RSN -raison:RSN:RSN -rajahs:RJS:RHS -rakers:RKRS:RKRS -raking:RKNK:RKNK -rakish:RKX:RKX -ramble:RMPL:RMPL -ramify:RMF:RMF -ramjet:RMJT:RMJT -rammed:RMT:RMT -rammer:RMR:RMR -ramose:RMS:RMS -ramped:RMPT:RMPT -ramrod:RMRT:RMRT -ramson:RMSN:RMSN -ramuli:RML:RML -rancid:RNST:RNST -rancor:RNKR:RNKR -randan:RNTN:RNTN -randem:RNTM:RNTM -random:RNTM:RNTM -ranees:RNS:RNS -ranged:RNJT:RNKT -ranger:RNJR:RNKR -ranges:RNJS:RNKS -ranine:RNN:RNN -ranked:RNKT:RNKT -ranker:RNKR:RNKR -rankle:RNKL:RNKL -rankly:RNKL:RNKL -ransom:RNSM:RNSM -ranted:RNTT:RNTT -ranter:RNTR:RNTR -ranula:RNL:RNL -raoult:RLT:RLT -rapers:RPRS:RPRS -rapids:RPTS:RPTS -rapier:RP:RPR -rapine:RPN:RPN -raping:RPNK:RPNK -rapist:RPST:RPST -rapped:RPT:RPT -rappel:RPL:RPL -rapper:RPR:RPR -raptly:RPTL:RPTL -raptor:RPTR:RPTR -raptus:RPTS:RPTS -rarefy:RRF:RRF -rarely:RRL:RRL -rarest:RRST:RRST -rarety:RRT:RRT -rarify:RRF:RRF -raring:RRNK:RRNK -rarity:RRT:RRT -rascal:RSKL:RSKL -rasher:RXR:RXR -rashes:RXS:RXS -rashly:RXL:RXL -rasing:RSNK:RSNK -rasped:RSPT:RSPT -rasper:RSPR:RSPR -raster:RSTR:RSTR -rasure:RSR:RSR -raters:RTRS:RTRS -ratfor:RTFR:RTFR -rather:R0R:RTR -rathke:R0K:RTK -ratify:RTF:RTF -ratine:RTN:RTN -rating:RTNK:RTNK -ration:RXN:RXN -ratios:RTS:RTS -ratite:RTT:RTT -ratoon:RTN:RTN -rattan:RTN:RTN -rattat:RTT:RTT -ratted:RTT:RTT -ratten:RTN:RTN -ratter:RTR:RTR -rattle:RTL:RTL -rattly:RTL:RTL -rattus:RTS:RTS -ravage:RFJ:RFK -ravels:RFLS:RFLS -ravens:RFNS:RFNS -ravers:RFRS:RFRS -ravine:RFN:RFN -raving:RFNK:RFNK -ravish:RFX:RFX -rawbon:RPN:RPN -rawest:RST:RST -rawish:RX:RX -raying:RNK:RNK -raylet:RLT:RLT -rayons:RNS:RNS -razers:RSRS:RSRS -razing:RSNK:RSNK -razors:RSRS:RSRS -razzed:RST:RST -razzes:RSS:RSS -razzle:RSL:RSL -reacts:RKTS:RKTS -readds:RTS:RTS -reader:RTR:RTR -reagan:RKN:RKN -reagin:RJN:RKN -realer:RLR:RLR -realia:RL:RL -really:RL:RL -realms:RLMS:RLMS -realty:RLT:RLT -reamed:RMT:RMT -reamer:RMR:RMR -reaped:RPT:RPT -reaper:RPR:RPR -reared:RRT:RRT -rearer:RRR:RRR -rearms:RRMS:RRMS -reason:RSN:RSN -reavow:RF:RFF -rebate:RPT:RPT -rebels:RPLS:RPLS -rebids:RPTS:RPTS -rebill:RPL:RPL -rebind:RPNT:RPNT -reboil:RPL:RPL -reboot:RPT:RPT -rebore:RPR:RPR -reborn:RPRN:RPRN -rebuff:RPF:RPF -rebuke:RPK:RPK -rebury:RPR:RPR -rebuts:RPTS:RPTS -recall:RKL:RKL -recant:RKNT:RKNT -recaps:RKPS:RKPS -recast:RKST:RKST -recede:RST:RST -recent:RSNT:RSNT -recept:RSPT:RSPT -recess:RSS:RSS -recipe:RSP:RSP -recite:RST:RST -recked:RKT:RKT -reckon:RKN:RKN -reclad:RKLT:RKLT -recode:RKT:RKT -recoil:RKL:RKL -recoin:RKN:RKN -recomb:RKMP:RKMP -recook:RKK:RKK -recopy:RKP:RKP -record:RKRT:RKRT -recoup:RKP:RKP -rectal:RKTL:RKTL -rector:RKTR:RKTR -rectos:RKTS:RKTS -rectum:RKTM:RKTM -rectus:RKTS:RKTS -recurs:RKRS:RKRS -recuse:RKS:RKS -redact:RTKT:RTKT -redans:RTNS:RTNS -redbud:RTPT:RTPT -redcap:RTKP:RTKP -reddat:RTT:RTT -redden:RTN:RTN -redder:RTR:RTR -redeem:RTM:RTM -redefy:RTF:RTF -redfin:RTFN:RTFN -rediae:RT:RT -redial:RTL:RTL -redias:RTS:RTS -redock:RTK:RTK -redoes:RTS:RTS -redone:RTN:RTN -redout:RTT:RTT -redraw:RTR:RTRF -redrew:RTR:RTRF -reduce:RTS:RTS -redyed:RTT:RTT -redyes:RTS:RTS -reecho:RX:RK -reedit:RTT:RTT -reefed:RFT:RFT -reefer:RFR:RFR -reeked:RKT:RKT -reeker:RKR:RKR -reeled:RLT:RLT -reeler:RLR:RLR -reeved:RFT:RFT -reeves:RFS:RFS -reface:RFS:RFS -refers:RFRS:RFRS -refile:RFL:RFL -refill:RFL:RFL -refilm:RFLM:RFLM -refine:RFN:RFN -refire:RFR:RFR -refits:RFTS:RFTS -reflet:RFLT:RFLT -reflex:RFLK:RFLK -reflow:RFL:RFLF -reflux:RFLK:RFLK -refold:RFLT:RFLT -reform:RFRM:RFRM -refuel:RFL:RFL -refuge:RFJ:RFK -refund:RFNT:RFNT -refuse:RFS:RFS -refute:RFT:RFT -regain:RKN:RKN -regale:RKL:RKL -regard:RKRT:RKRT -regear:RJR:RKR -regent:RJNT:RKNT -reggae:RK:RK -regild:RJLT:RKLT -regilt:RJLT:RKLT -regime:RJM:RKM -regina:RJN:RKN -region:RJN:RKN -reglet:RKLT:RKLT -reglue:RKL:RKL -regnal:RNL:RKNL -regret:RKRT:RKRT -regrew:RKR:RKRF -regrow:RKR:RKRF -regula:RKL:RKL -reguli:RKL:RKL -regulo:RKL:RKL -rehang:RHNK:RHNK -rehash:RHX:RHX -rehear:RHR:RHR -reheat:RHT:RHT -reheel:RHL:RHL -rehems:RHMS:RHMS -rehire:RHR:RHR -rehung:RHNK:RHNK -reigns:RNS:RKNS -reined:RNT:RNT -reiter:RTR:RTR -reject:RJKT:RJKT -rejigs:RJKS:RJKS -rejoin:RJN:RHN -rekeys:RKS:RKS -relata:RLT:RLT -relate:RLT:RLT -relays:RLS:RLS -relent:RLNT:RLNT -relets:RLTS:RLTS -relics:RLKS:RLKS -relict:RLKT:RLKT -relied:RLT:RLT -relief:RLF:RLF -relies:RLS:RLS -reline:RLN:RLN -relink:RLNK:RLNK -relish:RLX:RLX -relist:RLST:RLST -relive:RLF:RLF -reload:RLT:RLT -reloan:RLN:RLN -relock:RLK:RLK -remade:RMT:RMT -remail:RML:RML -remain:RMN:RMN -remake:RMK:RMK -remand:RMNT:RMNT -remans:RMNS:RMNS -remark:RMRK:RMRK -remedy:RMT:RMT -remelt:RMLT:RMLT -remend:RMNT:RMNT -remere:RMR:RMR -remind:RMNT:RMNT -remint:RMNT:RMNT -remise:RMS:RMS -remiss:RMS:RMS -remits:RMTS:RMTS -remold:RMLT:RMLT -remora:RMR:RMR -remota:RMT:RMT -remote:RMT:RMT -remove:RMF:RMF -rename:RNM:RNM -rended:RNTT:RNTT -render:RNTR:RNTR -renege:RNJ:RNK -renews:RNS:RNS -rennet:RNT:RNT -rennin:RNN:RNN -renoir:RNR:RNR -renown:RNN:RNN -rental:RNTL:RNTL -rented:RNTT:RNTT -renter:RNTR:RNTR -renvoi:RNF:RNF -reoils:RLS:RLS -reopen:RPN:RPN -reords:RRTS:RRTS -repack:RPK:RPK -repaid:RPT:RPT -repair:RPR:RPR -repand:RPNT:RPNT -repass:RPS:RPS -repast:RPST:RPST -repave:RPF:RPF -repays:RPS:RPS -repeal:RPL:RPL -repeat:RPT:RPT -repels:RPLS:RPLS -repent:RPNT:RPNT -repine:RPN:RPN -repins:RPNS:RPNS -replan:RPLN:RPLN -replay:RPL:RPL -repled:RPLT:RPLT -repone:RPN:RPN -report:RPRT:RPRT -repose:RPS:RPS -repost:RPST:RPST -repots:RPTS:RPTS -repute:RPT:RPT -reread:RRT:RRT -reroll:RRL:RRL -reroof:RRF:RRF -reruns:RRNS:RRNS -resale:RSL:RSL -rescue:RSK:RSK -reseal:RSL:RSL -reseat:RST:RST -reseau:RS:RS -resect:RSKT:RSKT -reseda:RST:RST -reseed:RST:RST -resell:RSL:RSL -resend:RSNT:RSNT -resent:RSNT:RSNT -resets:RSTS:RSTS -reship:RXP:RXP -reshoe:RX:RX -reside:RST:RST -resift:RSFT:RSFT -resign:RSN:RSKN -resile:RSL:RSL -resina:RSN:RSN -resins:RSNS:RSNS -resist:RSST:RSST -resite:RST:RST -resits:RSTS:RSTS -resize:RSS:RSS -resold:RSLT:RSLT -resole:RSL:RSL -resorb:RSRP:RSRP -resort:RSRT:RSRT -resown:RSN:RSN -resows:RSS:RSS -rested:RSTT:RSTT -rester:RSTR:RSTR -restor:RSTR:RSTR -result:RSLT:RSLT -resume:RSM:RSM -résumé:RSM:RSM -retail:RTL:RTL -retain:RTN:RTN -retake:RTK:RTK -retard:RTRT:RTRT -retell:RTL:RTL -retene:RTN:RTN -retest:RTST:RTST -retial:RXL:RXL -retied:RTT:RTT -reties:RTS:RTS -retina:RTN:RTN -retire:RTR:RTR -retold:RTLT:RTLT -retook:RTK:RTK -retool:RTL:RTL -retort:RTRT:RTRT -retour:RTR:RTR -retrad:RTRT:RTRT -retrim:RTRM:RTRM -retted:RTT:RTT -retter:RTR:RTR -returf:RTRF:RTRF -return:RTRN:RTRN -retuse:RTS:RTS -retype:RTP:RTP -reused:RST:RST -reuses:RSS:RSS -revamp:RFMP:RFMP -reveal:RFL:RFL -revels:RFLS:RFLS -reverb:RFRP:RFRP -revere:RFR:RFR -revers:RFRS:RFRS -revert:RFRT:RFRT -revery:RFR:RFR -revest:RFST:RFST -review:RF:RFF -revile:RFL:RFL -revise:RFS:RFS -revive:RFF:RFF -revoir:RFR:RFR -revoke:RFK:RFK -revolt:RFLT:RFLT -revues:RFS:RFS -revved:RFT:RFT -rewake:RK:RK -reward:RRT:RRT -rewarm:RRM:RRM -rewash:RX:RX -reweds:RTS:RTS -reweld:RLT:RLT -rewind:RNT:RNT -rewire:RR:RR -rewoke:RK:RK -reword:RRT:RRT -rework:RRK:RRK -rewove:RF:RF -rewrap:RRP:RRP -rezone:RSN:RSN -rhaphe:RF:RF -rhebok:RPK:RPK -rhemes:RMS:RMS -rhesus:RSS:RSS -rhetor:RTR:RTR -rheumy:RM:RM -rhexes:RKSS:RKSS -rhexis:RKSS:RKSS -rhinal:RNL:RNL -rhinos:RNS:RNS -rhodes:RTS:RTS -rhodic:RTK:RTK -rhombi:RMP:RMP -rhotic:RTK:RTK -rhumba:RMP:RMP -rhumbs:RMPS:RMPS -rhuses:RSS:RSS -rhymed:RMT:RMT -rhymer:RMR:RMR -rhymes:RMS:RMS -rhythm:R0M:RTM -rialto:RLT:RLT -ribald:RPLT:RPLT -riband:RPNT:RPNT -ribbed:RPT:RPT -ribber:RPR:RPR -ribbon:RPN:RPN -ribose:RPS:RPS -ricans:RKNS:RKNS -richer:RXR:RKR -riches:RXS:RKS -richly:RXL:RKL -ricing:RSNK:RSNK -ricked:RKT:RKT -ricker:RKR:RKR -ricket:RKT:RKT -rickey:RK:RK -rictal:RKTL:RKTL -rictus:RKTS:RKTS -ridded:RTT:RTT -ridden:RTN:RTN -ridder:RTR:RTR -riddle:RTL:RTL -riders:RTRS:RTRS -ridged:RJT:RJT -ridgel:RJL:RJL -ridges:RJS:RJS -riding:RTNK:RTNK -rifely:RFL:RFL -riffed:RFT:RFT -riffle:RFL:RFL -rifled:RFLT:RFLT -rifler:RFLR:RFLR -rifles:RFLS:RFLS -rifted:RFTT:RFTT -rigged:RKT:RKT -rigger:RKR:RKR -rights:RTS:RTS -rigors:RKRS:RKRS -riling:RLNK:RLNK -rilles:RLS:RLS -rillet:RLT:RLT -rimier:RM:RMR -riming:RMNK:RMNK -rimmed:RMT:RMT -rimose:RMS:RMS -rimous:RMS:RMS -rimula:RML:RML -rinded:RNTT:RNTT -ringed:RNJT:RNKT -ringer:RNKR:RNJR -rinker:RNKR:RNKR -rinsed:RNST:RNST -rinser:RNSR:RNSR -rinses:RNSS:RNSS -rioted:RTT:RTT -rioter:RTR:RTR -ripely:RPL:RPL -ripens:RPNS:RPNS -ripest:RPST:RPST -ripped:RPT:RPT -ripper:RPR:RPR -ripple:RPL:RPL -ripply:RPL:RPL -ripsaw:RPS:RPSF -risers:RSRS:RSRS -rising:RSNK:RSNK -risked:RSKT:RSKT -risker:RSKR:RSKR -risque:RSK:RSK -ritual:RTL:RTL -rivals:RFLS:RFLS -rivers:RFRS:RFRS -rivets:RFTS:RFTS -riving:RFNK:RFNK -riyadh:RT:RT -riyals:RLS:RLS -rnaase:RNS:RNS -roader:RTR:RTR -roadie:RT:RT -roamed:RMT:RMT -roamer:RMR:RMR -roared:RRT:RRT -roarer:RRR:RRR -roasts:RSTS:RSTS -robalo:RPL:RPL -roband:RPNT:RPNT -robbed:RPT:RPT -robber:RPR:RPR -robbin:RPN:RPN -robert:RPRT:RPRT -robing:RPNK:RPNK -robins:RPNS:RPNS -robots:RPTS:RPTS -robust:RPST:RPST -rochet:RXT:RKT -rocked:RKT:RKT -rocker:RKR:RKR -rocket:RKT:RKT -rococo:RKK:RKK -rodded:RTT:RTT -rodent:RTNT:RTNT -rodeos:RTS:RTS -roding:RTNK:RTNK -rogers:RKRS:RJRS -rognon:RNN:RKNN -rogues:RKS:RKS -roiled:RLT:RLT -roists:RSTS:RSTS -rolled:RLT:RLT -roller:RLR:RLR -romans:RMNS:RMNS -romany:RMN:RMN -romber:RMPR:RMPR -romped:RMPT:RMPT -romper:RMPR:RMPR -ronald:RNLT:RNLT -rondel:RNTL:RNTL -rondos:RNTS:RNTS -ronnel:RNL:RNL -roofed:RFT:RFT -roofer:RFR:RFR -rooked:RKT:RKT -rookie:RK:RK -roomed:RMT:RMT -roomer:RMR:RMR -roosts:RSTS:RSTS -rooted:RTT:RTT -rooter:RTR:RTR -rootle:RTL:RTL -ropers:RPRS:RPRS -ropier:RP:RPR -ropily:RPL:RPL -roping:RPNK:RPNK -roquet:RKT:RKT -rosary:RSR:RSR -rosery:RSR:RSR -rosier:RS:RSR -rosily:RSL:RSL -rosins:RSNS:RSNS -rosiny:RSN:RSN -roster:RSTR:RSTR -rostra:RSTR:RSTR -rotary:RTR:RTR -rotate:RTT:RTT -rotors:RTRS:RTRS -rotted:RTT:RTT -rotten:RTN:RTN -rotter:RTR:RTR -rotund:RTNT:RTNT -rouble:RPL:RPL -rouche:RX:RK -rouged:RJT:RKT -rouges:RJS:RKS -rouget:RKT:RKT -roughs:RFS:RFS -rounds:RNTS:RNTS -roused:RST:RST -rouser:RSR:RSR -rouses:RSS:RSS -rousts:RSTS:RSTS -routed:RTT:RTT -router:RTR:RTR -routes:RTS:RTS -rovers:RFRS:RFRS -roving:RFNK:RFNK -rowels:RLS:RLS -rowers:RRS:RRS -rowing:RNK:RNK -rubato:RPT:RPT -rubbed:RPT:RPT -rubber:RPR:RPR -rubble:RPL:RPL -rubbly:RPL:RPL -rubedo:RPT:RPT -rubefy:RPF:RPF -rubens:RPNS:RPNS -rubies:RPS:RPS -rubles:RPLS:RPLS -rubout:RPT:RPT -rubric:RPRK:RPRK -ruches:RXS:RKS -rucked:RKT:RKT -ruckle:RKL:RKL -ruckus:RKS:RKS -rudder:RTR:RTR -ruddle:RTL:RTL -rudely:RTL:RTL -ruders:RTRS:RTRS -rudery:RTR:RTR -rudest:RTST:RTST -rudish:RTX:RTX -rueful:RFL:RFL -ruffed:RFT:RFT -ruffle:RFL:RFL -ruffly:RFL:RFL -rufous:RFS:RFS -rugate:RKT:RKT -rugged:RKT:RKT -rugger:RKR:RKR -rugose:RKS:RKS -rugous:RKS:RKS -ruined:RNT:RNT -ruiner:RNR:RNR -rulers:RLRS:RLRS -ruling:RLNK:RLNK -rumbas:RMPS:RMPS -rumble:RMPL:RMPL -rumbly:RMPL:RMPL -rumens:RMNS:RMNS -rumina:RMN:RMN -rummer:RMR:RMR -rumors:RMRS:RMRS -rumple:RMPL:RMPL -rumply:RMPL:RMPL -rumpus:RMPS:RMPS -rundle:RNTL:RNTL -runlet:RNLT:RNLT -runnel:RNL:RNL -runner:RNR:RNR -runoff:RNF:RNF -runway:RN:RN -rupees:RPS:RPS -rupiah:RP:RP -rupial:RPL:RPL -rushed:RXT:RXT -rusher:RXR:RXR -rushes:RXS:RXS -russet:RST:RST -russia:RS:RS -rusted:RSTT:RSTT -rustic:RSTK:RSTK -rustle:RSTL:RSTL -rutile:RTL:RTL -rutted:RTT:RTT -rwanda:RNT:RNT -ryukyu:RK:RK -sabers:SPRS:SPRS -sabled:SPLT:SPLT -sables:SPLS:SPLS -sabots:SPTS:SPTS -sabras:SPRS:SPRS -sabred:SPRT:SPRT -sabres:SPRS:SPRS -saccus:SKS:SKS -sachem:SXM:SKM -sachet:SXT:SKT -sacked:SKT:SKT -sacker:SKR:SKR -sacrad:SKRT:SKRT -sacral:SKRL:SKRL -sacred:SKRT:SKRT -sacrum:SKRM:SKRM -sadden:STN:STN -sadder:STR:STR -saddle:STL:STL -sadism:STSM:STSM -sadist:STST:STST -safari:SFR:SFR -safely:SFL:SFL -safers:SFRS:SFRS -safest:SFST:SFST -safety:SFT:SFT -sagely:SJL:SKL -sagers:SKRS:SJRS -sagest:SJST:SKST -saggar:SKR:SKR -sagged:SKT:SKT -sahara:SHR:SHR -sahibs:SHPS:SHPS -saigas:SKS:SKS -saigon:SKN:SKN -sailed:SLT:SLT -sailer:SLR:SLR -sailor:SLR:SLR -saints:SNTS:SNTS -sakers:SKRS:SKRS -salaam:SLM:SLM -salads:SLTS:SLTS -salami:SLM:SLM -salary:SLR:SLR -salify:SLF:SLF -salina:SLN:SLN -saline:SLN:SLN -saliva:SLF:SLF -sallee:SL:SL -sallet:SLT:SLT -sallow:SL:SLF -salmis:SLMS:SLMS -salmon:SLMN:SLMN -salons:SLNS:SLNS -saloon:SLN:SLN -saloop:SLP:SLP -salpae:SLP:SLP -salted:SLTT:SLTT -salter:SLTR:SLTR -saltus:SLTS:SLTS -saluki:SLK:SLK -salute:SLT:SLT -salved:SLFT:SLFT -salver:SLFR:SLFR -salves:SLFS:SLFS -salvia:SLF:SLF -salvor:SLFR:SLFR -salvos:SLFS:SLFS -samara:SMR:SMR -sambar:SMPR:SMPR -sambas:SMPS:SMPS -sambur:SMPR:SMPR -samian:SMN:SMN -samite:SMT:SMT -samlet:SMLT:SMLT -samoan:SMN:SMN -samosa:SMS:SMS -sampan:SMPN:SMPN -sample:SMPL:SMPL -samshu:SMX:SMX -samuel:SML:SML -sancta:SNKT:SNKT -sandal:SNTL:SNTL -sandba:SNTP:SNTP -sanded:SNTT:SNTT -sander:SNTR:SNTR -sandhi:SNT:SNT -sandho:SNT:SNT -sandra:SNTR:SNTR -sanely:SNL:SNL -sanest:SNST:SNST -sangar:SNKR:SNKR -sanies:SNS:SNS -sanity:SNT:SNT -sansei:SNS:SNS -sapele:SPL:SPL -sapota:SPT:SPT -sappan:SPN:SPN -sapped:SPT:SPT -sapper:SPR:SPR -sappho:SP:SP -sarees:SRS:SRS -sarong:SRNK:SRNK -sarsen:SRSN:SRSN -sashay:SX:SX -sashed:SXT:SXT -sashes:SXS:SXS -sasine:SSN:SSN -sassed:SST:SST -sasses:SSS:SSS -satang:STNK:STNK -sateen:STN:STN -sating:STNK:STNK -satins:STNS:STNS -satiny:STN:STN -satire:STR:STR -sativa:STF:STF -satori:STR:STR -satrap:STRP:STRP -saturn:STRN:STRN -satyrs:STRS:STRS -sauced:SST:SST -saucer:SSR:SSR -sauces:SSS:SSS -saudis:STS:STS -sauger:SKR:SJR -saunas:SNS:SNS -sauted:STT:STT -sautee:ST:ST -sautes:STS:STS -savage:SFJ:SFK -savant:SFNT:SFNT -savate:SFT:SFT -savers:SFRS:SFRS -saving:SFNK:SFNK -savins:SFNS:SFNS -savior:SFR:SFR -savoir:SFR:SFR -savors:SFRS:SFRS -savory:SFR:SFR -savoys:SFS:SFS -sawder:STR:STR -sawers:SRS:SRS -sawfly:SFL:SFL -sawing:SNK:SNK -sawyer:SR:SR -saxons:SKSN:SKSN -saxony:SKSN:SKSN -saxton:SKST:SKST -sayees:SS:SS -sayers:SRS:SRS -saying:SNK:SNK -scabby:SKP:SKP -scalae:SKL:SKL -scalar:SKLR:SKLR -scalds:SKLT:SKLT -scaled:SKLT:SKLT -scaler:SKLR:SKLR -scales:SKLS:SKLS -scalps:SKLP:SKLP -scampi:SKMP:SKMP -scamps:SKMP:SKMP -scants:SKNT:SKNT -scanty:SKNT:SKNT -scapha:SKF:SKF -scapus:SKPS:SKPS -scarab:SKRP:SKRP -scarce:SKRS:SKRS -scared:SKRT:SKRT -scarer:SKRR:SKRR -scares:SKRS:SKRS -scarfs:SKRF:SKRF -scarpa:SKRP:SKRP -scarps:SKRP:SKRP -scathe:SK0:SKT -scatty:SKT:SKT -scends:SNTS:SNTS -scenes:SNS:SNS -scenic:SNK:SNK -scents:SNTS:SNTS -schema:SKM:SKM -scheme:SKM:SKM -schick:XK:XK -schiff:XF:XF -schill:XL:XL -schism:XSM:XSM -schist:XST:XST -schizo:XS:XS -schlep:XLP:SLP -schmoe:XM:SM -school:SKL:SKL -schorl:XRL:XRL -schott:XT:XT -schuss:XS:XS -schwas:XS:XFS -sciage:SJ:SK -scient:SNT:SNT -scilla:SL:SL -scilly:SL:SL -scions:SNS:SNS -sclaff:SKF:SKF -sclera:SKR:SKR -scoffs:SKFS:SKFS -scolds:SKLT:SKLT -scolex:SKLK:SKLK -sconce:SKNS:SKNS -scones:SKNS:SKNS -scoops:SKPS:SKPS -scoots:SKTS:SKTS -scopae:SKP:SKP -scoped:SKPT:SKPT -scopes:SKPS:SKPS -scorch:SKRX:SKRK -scored:SKRT:SKRT -scorer:SKRR:SKRR -scores:SKRS:SKRS -scoria:SKR:SKR -scorns:SKRN:SKRN -scotch:SKX:SKX -scoter:SKTR:SKTR -scotia:SKX:SKX -scours:SKRS:SKRS -scouse:SKS:SKS -scouts:SKTS:SKTS -scowls:SKLS:SKLS -scrams:SKMS:SKMS -scrape:SKP:SKP -scraps:SKPS:SKPS -scrawl:SKL:SKL -scream:SKM:SKM -screed:SKT:SKT -screen:SKN:SKN -screes:SKS:SKS -screws:SKS:SKS -screwy:SK:SK -scribe:SKP:SKP -scried:SKT:SKT -scries:SKS:SKS -scrimp:SKMP:SKMP -scrims:SKMS:SKMS -scrips:SKPS:SKPS -script:SKPT:SKPT -scrods:SKTS:SKTS -scroll:SKL:SKL -scrota:SKT:SKT -scrubs:SKPS:SKPS -scruff:SKF:SKF -scrump:SKMP:SKMP -scrums:SKMS:SKMS -scubas:SKPS:SKPS -scuffs:SKFS:SKFS -sculls:SKLS:SKLS -sculpt:SKLP:SKLP -scummy:SKM:SKM -scurfy:SKRF:SKRF -scurry:SKR:SKR -scurvy:SKRF:SKRF -scutch:SKX:SKX -scutes:SKTS:SKTS -scutum:SKTM:SKTM -scythe:S0:ST -seabed:SPT:SPT -seadog:STK:STK -sealed:SLT:SLT -sealer:SLR:SLR -seaman:SMN:SMN -seamed:SMT:SMT -seamen:SMN:SMN -seamer:SMR:SMR -seance:SNS:SNS -search:SRX:SRK -seared:SRT:SRT -season:SSN:SSN -seated:STT:STT -seater:STR:STR -seaway:S:S -secant:SKNT:SKNT -seccos:SKS:SKS -secede:SST:SST -secern:SSRN:SSRN -second:SKNT:SKNT -secret:SKRT:SKRT -sectam:SKTM:SKTM -sector:SKTR:SKTR -secund:SKNT:SKNT -secure:SKR:SKR -sedans:STNS:STNS -sedate:STT:STT -seders:STRS:STRS -sedges:SJS:SJS -seduce:STS:STS -seeded:STT:STT -seeder:STR:STR -seeing:SNK:SNK -seeker:SKR:SKR -seeled:SLT:SLT -seemed:SMT:SMT -seemer:SMR:SMR -seemly:SML:SML -seeped:SPT:SPT -seesaw:SS:SSF -seethe:S0:ST -segued:SKT:SKT -segues:SKS:SKS -seiche:SX:SK -seined:SNT:SNT -seiner:SNR:SNR -seines:SNS:SNS -seised:SST:SST -seiser:SSR:SSR -seises:SSS:SSS -seisin:SSN:SSN -seized:SST:SST -seizer:SSR:SSR -seizes:SSS:SSS -seizin:SSN:SSN -seizor:SSR:SSR -sejant:SJNT:SHNT -seldom:SLTM:SLTM -select:SLKT:SLKT -sellae:SL:SL -sellar:SLR:SLR -sellas:SLS:SLS -seller:SLR:SLR -selves:SLFS:SLFS -semble:SMPL:SMPL -sememe:SMM:SMM -semens:SMNS:SMNS -semina:SMN:SMN -semite:SMT:SMT -semper:SMPR:SMPR -sempre:SMPR:SMPR -senary:SNR:SNR -senate:SNT:SNT -sendee:SNT:SNT -sender:SNTR:SNTR -seneca:SNK:SNK -senega:SNK:SNK -senhor:SNR:SNR -senile:SNL:SNL -senior:SNR:SNR -senium:SNM:SNM -sennas:SNS:SNS -sennet:SNT:SNT -sennit:SNT:SNT -senora:SNR:SNR -señora:SNR:SNR -senors:SNRS:SNRS -señors:SNRS:SNRS -sensed:SNST:SNST -senses:SNSS:SNSS -sensor:SNSR:SNSR -sensum:SNSM:SNSM -sensus:SNSS:SNSS -sentry:SNTR:SNTR -sepals:SPLS:SPLS -sepmag:SPMK:SPMK -sepses:SPSS:SPSS -sepsis:SPSS:SPSS -septal:SPTL:SPTL -septet:SPTT:SPTT -septic:SPTK:SPTK -septum:SPTM:SPTM -sequel:SKL:SKL -sequin:SKN:SKN -seracs:SRKS:SRKS -serape:SRP:SRP -seraph:SRF:SRF -serbia:SRP:SRP -serdab:SRTP:SRTP -serein:SRN:SRN -serene:SRN:SRN -serial:SRL:SRL -series:SRS:SRS -serifs:SRFS:SRFS -serine:SRN:SRN -serins:SRNS:SRNS -sermon:SRMN:SRMN -serosa:SRS:SRS -serous:SRS:SRS -serrae:SR:SR -serums:SRMS:SRMS -serval:SRFL:SRFL -served:SRFT:SRFT -server:SRFR:SRFR -serves:SRFS:SRFS -servos:SRFS:SRFS -sesame:SSM:SSM -seseli:SSL:SSL -sestet:SSTT:SSTT -setose:STS:STS -setout:STT:STT -settee:ST:ST -setter:STR:STR -settle:STL:STL -setups:STPS:STPS -sevens:SFNS:SFNS -severe:SFR:SFR -severs:SFRS:SFRS -sevres:SFRS:SFRS -sewage:SJ:SK -sewers:SRS:SRS -sewing:SNK:SNK -sexier:SKS:SKSR -sexily:SKSL:SKSL -sexing:SKSN:SKSN -sexism:SKSS:SKSS -sexist:SKSS:SKSS -sexpot:SKSP:SKSP -sextan:SKST:SKST -sextet:SKST:SKST -sexton:SKST:SKST -sexual:SKSL:SKSL -seyora:SR:SR -seyors:SRS:SRS -shabby:XP:XP -shacks:XKS:XKS -shaded:XTT:XTT -shader:XTR:XTR -shades:XTS:XTS -shadow:XT:XTF -shafts:XFTS:XFTS -shaggy:XK:XK -shahes:XHS:XHS -shaken:XKN:XKN -shaker:XKR:XKR -shakes:XKS:XKS -shakos:XKS:XKS -shales:XLS:XLS -shalom:XLM:XLM -shaman:XMN:XMN -shamed:XMT:XMT -shames:XMS:XMS -shammy:XM:XM -shandy:XNT:XNT -shanks:XNKS:XNKS -shanny:XN:XN -shan't:XNT:XNT -shanty:XNT:XNT -shaped:XPT:XPT -shaper:XPR:XPR -shapes:XPS:XPS -shards:XRTS:XRTS -shared:XRT:XRT -sharer:XRR:XRR -shares:XRS:XRS -sharks:XRKS:XRKS -sharps:XRPS:XRPS -shaved:XFT:XFT -shaven:XFN:XFN -shaver:XFR:XFR -shaves:XFS:XFS -shawls:XLS:XLS -shears:XRS:XRS -sheath:X0:XT -sheave:XF:XF -sheens:XNS:XNS -sheeny:XN:XN -sheers:XRS:XRS -sheets:XTS:XTS -sheikh:XK:XK -sheiks:XKS:XKS -sheila:XL:XL -shekel:XKL:XKL -she'll:XL:XL -shells:XLS:XLS -shelly:XL:XL -shelty:XLT:XLT -shelve:XLF:XLF -sherpa:XRP:XRP -sherry:XR:XR -shewed:XT:XT -shicer:XSR:XSR -shield:XLT:XLT -shiers:XRS:XRS -shiest:XST:XST -shifts:XFTS:XFTS -shifty:XFT:XFT -shiite:XT:XT -shikar:XKR:XKR -shills:XLS:XLS -shimmy:XM:XM -shindi:XNT:XNT -shindy:XNT:XNT -shined:XNT:XNT -shiner:XNR:XNR -shines:XNS:XNS -shinny:XN:XN -shinto:XNT:XNT -shinty:XNT:XNT -shires:XRS:XRS -shirks:XRKS:XRKS -shirrs:XRS:XRS -shirts:XRTS:XRTS -shirty:XRT:XRT -shiver:XFR:XFR -shivoo:XF:XF -shoals:XLS:XLS -shoaly:XL:XL -shoats:XTS:XTS -shocks:XKS:XKS -shoddy:XT:XT -shoers:XRS:XRS -shogun:XKN:XKN -shoing:XNK:XNK -shojis:XJS:XJS -sholom:XLM:XLM -shooed:XT:XT -shoots:XTS:XTS -shopes:XPS:XPS -shoppy:XP:XP -shoran:XRN:XRN -shored:XRT:XRT -shores:XRS:XRS -shorts:XRTS:XRTS -shorty:XRT:XRT -shotts:XTS:XTS -should:XLT:XLT -shouts:XTS:XTS -shoved:XFT:XFT -shovel:XFL:XFL -shover:XFR:XFR -shoves:XFS:XFS -showed:XT:XT -shower:XR:XR -showup:XP:XP -shrank:XRNK:XRNK -shreds:XRTS:XRTS -shrewd:XRT:XRT -shrews:XRS:XRS -shriek:XRK:XRK -shrift:XRFT:XRFT -shrike:XRK:XRK -shrill:XRL:XRL -shrimp:XRMP:XRMP -shrine:XRN:XRN -shrink:XRNK:XRNK -shrive:XRF:XRF -shroud:XRT:XRT -shrove:XRF:XRF -shrubs:XRPS:XRPS -shrugs:XRKS:XRKS -shrunk:XRNK:XRNK -shtick:XTK:XTK -shucks:XKS:XKS -shunts:XNTS:XNTS -shyers:XRS:XRS -shyest:XST:XST -shying:XNK:XNK -sialic:SLK:XLK -sibyls:SPLS:SPLS -sicced:SXT:SXT -siccus:SKS:SKS -sicily:SSL:SSL -sicked:SKT:SKT -sicken:SKN:SKN -sicker:SKR:SKR -sickle:SKL:SKL -sickly:SKL:SKL -siding:STNK:STNK -sidled:STLT:STLT -sidler:STLR:STLR -sidles:STLS:STLS -sidney:STN:STN -siecle:SKL:SKL -sieged:SJT:SKT -sieges:SJS:SKS -sienna:SN:SN -sierra:SR:SR -siesta:SST:SST -sieved:SFT:SFT -sieves:SFS:SFS -sifted:SFTT:SFTT -sifter:SFTR:SFTR -sighed:ST:ST -sigher:SR:SR -sighes:SS:SS -sights:STS:STS -signal:SNL:SKNL -signed:SNT:SKNT -signee:SN:SKN -signer:SNR:SKNR -signet:SNT:SKNT -signor:SNR:SKNR -signum:SNM:SKNM -sikhes:SKS:SKS -sikkim:SKM:SKM -silage:SLJ:SLK -silene:SLN:SLN -silent:SLNT:SLNT -silica:SLK:SLK -silken:SLKN:SLKN -silted:SLTT:SLTT -silvan:SLFN:SLFN -silver:SLFR:SLFR -simian:SMN:SMN -simile:SML:SML -simmer:SMR:SMR -simnel:SMNL:SMNL -simony:SMN:SMN -simoom:SMM:SMM -simper:SMPR:SMPR -simple:SMPL:SMPL -simply:SMPL:SMPL -sinews:SNS:SNS -sinewy:SN:SN -sinful:SNFL:SNFL -singed:SNJT:SNKT -singer:SNKR:SNJR -singes:SNJS:SNKS -single:SNKL:SNKL -singly:SNKL:SNKL -sinked:SNKT:SNKT -sinker:SNKR:SNKR -sinned:SNT:SNT -sinner:SNR:SNR -sinter:SNTR:SNTR -siphon:SFN:SFN -sipped:SPT:SPT -sipper:SPR:SPR -sippet:SPT:SPT -sirens:SRNS:SRNS -siring:SRNK:SRNK -siskin:SSKN:SSKN -sister:SSTR:SSTR -sitars:STRS:STRS -sitcom:STKM:STKM -siting:STNK:STNK -sitter:STR:STR -situps:STPS:STPS -sixain:SKSN:SKSN -sixing:SKSN:SKSN -sixmos:SKSM:SKSM -sixths:SKS0:SKST -sizers:SSRS:SSRS -sizing:SSNK:SSNK -sizzle:SSL:SSL -skated:SKTT:SKTT -skater:SKTR:SKTR -skates:SKTS:SKTS -skatol:SKTL:SKTL -skeins:SKNS:SKNS -skelly:SKL:SKL -skerry:SKR:SKR -sketch:SKX:SKX -skewed:SKT:SKT -skewer:SKR:SKR -skibob:SKPP:SKPP -skiddy:SKT:SKT -skiers:SKRS:SKRS -skiffs:SKFS:SKFS -skiing:SKNK:SKNK -skills:SKLS:SKLS -skilly:SKL:SKL -skimps:SKMP:SKMP -skimpy:SKMP:SKMP -skinny:SKN:SKN -skirrs:SKRS:SKRS -skirts:SKRT:SKRT -skiter:SKTR:SKTR -skived:SKFT:SKFT -skiver:SKFR:SKFR -skives:SKFS:SKFS -skivvy:SKF:SKF -skulks:SKLK:SKLK -skulls:SKLS:SKLS -skunks:SKNK:SKNK -skycap:SKKP:SKKP -skying:SKNK:SKNK -skylab:SKLP:SKLP -skyway:SK:SK -slacks:SLKS:XLKS -slaggy:SLK:XLK -slaked:SLKT:XLKT -slaker:SLKR:XLKR -slakes:SLKS:XLKS -slalom:SLLM:XLLM -slangy:SLNK:XLNJ -slants:SLNT:XLNT -slated:SLTT:XLTT -slater:SLTR:XLTR -slates:SLTS:XLTS -slaved:SLFT:XLFT -slaver:SLFR:XLFR -slaves:SLFS:XLFS -slavic:SLFK:XLFK -slayer:SLR:XLR -sleave:SLF:XLF -sleazy:SLS:XLS -sledge:SLJ:XLJ -sleeky:SLK:XLK -sleeps:SLPS:XLPS -sleepy:SLP:XLP -sleets:SLTS:XLTS -sleety:SLT:XLT -sleeve:SLF:XLF -sleigh:SL:XL -sleuth:SL0:XLT -slewed:SLT:XLT -sliced:SLST:XLST -slicer:SLSR:XLSR -slices:SLSS:XLSS -slicks:SLKS:XLKS -slider:SLTR:XLTR -slides:SLTS:XLTS -sliest:SLST:XLST -slight:SLT:XLT -slimed:SLMT:XLMT -slimes:SLMS:XLMS -slimly:SLML:XLML -slings:SLNK:XLNK -slinks:SLNK:XLNK -slinky:SLNK:XLNK -slippy:SLP:XLP -slipup:SLPP:XLPP -sliver:SLFR:XLFR -sloane:SLN:XLN -slogan:SLKN:XLKN -sloops:SLPS:XLPS -sloped:SLPT:XLPT -sloper:SLPR:XLPR -slopes:SLPS:XLPS -sloppy:SLP:XLP -sloshy:SLX:XLX -sloths:SL0S:XLTS -slouch:SLK:XLK -slough:SLF:XLF -slovak:SLFK:XLFK -sloven:SLFN:XLFN -slowed:SLT:XLT -slower:SLR:XLR -slowly:SLL:XLL -sludge:SLJ:XLJ -sludgy:SLJ:XLJ -sluice:SLS:XLS -sluing:SLNK:XLNK -slummy:SLM:XLM -slumps:SLMP:XLMP -slurps:SLRP:XLRP -slurry:SLR:XLR -slushy:SLX:XLX -slyest:SLST:XLST -smacks:SMKS:XMKS -smalti:SMLT:XMLT -smalto:SMLT:XMLT -smarmy:SMRM:XMRM -smarts:SMRT:XMRT -smarty:SMRT:XMRT -smears:SMRS:XMRS -smeary:SMR:XMR -smeech:SMK:XMK -smegma:SMKM:XMKM -smells:SMLS:XMLS -smelly:SML:XML -smelts:SMLT:XMLT -smilax:SMLK:XMLK -smiled:SMLT:XMLT -smiler:SMLR:XMLR -smiles:SMLS:XMLS -smirch:SMRX:XMRK -smirks:SMRK:XMRK -smiter:SMTR:XMTR -smites:SMTS:XMTS -smiths:SM0S:XMTS -smithy:SM0:XMT -smocks:SMKS:XMKS -smoggy:SMK:XMK -smoked:SMKT:XMKT -smoker:SMKR:XMKR -smokes:SMKS:XMKS -smokey:SMK:XMK -smokos:SMKS:XMKS -smooch:SMK:XMK -smooth:SM0:XMT -smudge:SMJ:XMJ -smudgy:SMJ:XMJ -smugly:SMKL:XMKL -smutch:SMX:XMX -smutty:SMT:XMT -smyrna:SMRN:XMRN -snacks:SNKS:XNKS -snaggy:SNK:XNK -snails:SNLS:XNLS -snaked:SNKT:XNKT -snakes:SNKS:XNKS -snappy:SNP:XNP -snared:SNRT:XNRT -snarer:SNRR:XNRR -snares:SNRS:XNRS -snarls:SNRL:XNRL -snarly:SNRL:XNRL -snatch:SNX:XNX -snathe:SN0:XNT -snazzy:SNS:XNS -sneaks:SNKS:XNKS -sneaky:SNK:XNK -snecks:SNKS:XNKS -sneers:SNRS:XNRS -sneeze:SNS:XNS -sneezy:SNS:XNS -snicks:SNKS:XNKS -snider:SNTR:XNTR -sniffs:SNFS:XNFS -sniffy:SNF:XNF -sniped:SNPT:XNPT -sniper:SNPR:XNPR -snipes:SNPS:XNPS -snippy:SNP:XNP -snitch:SNX:XNX -snivel:SNFL:XNFL -snobby:SNP:XNP -snoops:SNPS:XNPS -snoopy:SNP:XNP -snoots:SNTS:XNTS -snooty:SNT:XNT -snooze:SNS:XNS -snoozy:SNS:XNS -snored:SNRT:XNRT -snorer:SNRR:XNRR -snores:SNRS:XNRS -snorts:SNRT:XNRT -snotty:SNT:XNT -snouts:SNTS:XNTS -snowed:SNT:XNT -snubby:SNP:XNP -snuffs:SNFS:XNFS -snuffy:SNF:XNF -snugly:SNKL:XNKL -soaked:SKT:SKT -soaker:SKR:SKR -soaped:SPT:SPT -soaper:SPR:SPR -soared:SRT:SRT -soarer:SRR:SRR -sobbed:SPT:SPT -sobber:SPR:SPR -sobers:SPRS:SPRS -sobole:SPL:SPL -socage:SKJ:SKK -soccer:SXR:SXR -social:SSL:SXL -sociis:SSS:SSS -socius:SSS:SSS -socked:SKT:SKT -socket:SKT:SKT -socman:SKMN:SKMN -socmen:SKMN:SKMN -sodded:STT:STT -sodden:STN:STN -sodium:STM:STM -sodoku:STK:STK -sodomy:STM:STM -soever:SFR:SFR -soffit:SFT:SFT -soften:SFTN:SFTN -softer:SFTR:SFTR -softie:SFT:SFT -softly:SFTL:SFTL -soigne:SN:SKN -soiled:SLT:SLT -soiler:SLR:SLR -soiree:SR:SR -solace:SLS:SLS -solder:SLTR:SLTR -solely:SLL:SLL -solemn:SLMN:SLMN -soleus:SLS:SLS -solidi:SLT:SLT -solido:SLT:SLT -solids:SLTS:SLTS -soling:SLNK:SLNK -soloed:SLT:SLT -solute:SLT:SLT -solved:SLFT:SLFT -solver:SLFR:SLFR -solves:SLFS:SLFS -somali:SML:SML -somata:SMT:SMT -somber:SMPR:SMPR -sombre:SMPR:SMPR -somite:SMT:SMT -sonans:SNNS:SNNS -sonant:SNNT:SNNT -sonata:SNT:SNT -sonnet:SNT:SNT -sookie:SK:SK -sooner:SNR:SNR -sooted:STT:STT -soothe:S0:ST -sophes:SFS:SFS -sopite:SPT:SPT -sopped:SPT:SPT -sorbet:SRPT:SRPT -sorbic:SRPK:SRPK -sordes:SRTS:SRTS -sordid:SRTT:SRTT -sorely:SRL:SRL -sorest:SRST:SRST -sorrel:SRL:SRL -sorrow:SR:SRF -sortal:SRTL:SRTL -sorted:SRTT:SRTT -sorter:SRTR:SRTR -sortie:SRT:SRT -soughs:SKS:SKS -sought:SKT:SKT -souled:SLT:SLT -sounds:SNTS:SNTS -souped:SPT:SPT -source:SRS:SRS -soured:SRT:SRT -sourer:SRR:SRR -sourly:SRL:SRL -soused:SST:SST -souses:SSS:SSS -souter:STR:STR -soviet:SFT:SFT -sowers:SRS:SRS -sowing:SNK:SNK -sozzle:SSL:SSL -spaced:SPST:SPST -spacer:SPSR:SPSR -spaces:SPSS:SPSS -spaded:SPTT:SPTT -spader:SPTR:SPTR -spades:SPTS:SPTS -spadix:SPTK:SPTK -spalls:SPLS:SPLS -spangs:SPNK:SPNK -spanks:SPNK:SPNK -spared:SPRT:SPRT -sparer:SPRR:SPRR -spares:SPRS:SPRS -sparid:SPRT:SPRT -sparks:SPRK:SPRK -sparky:SPRK:SPRK -sparry:SPR:SPR -sparse:SPRS:SPRS -sparta:SPRT:SPRT -spasms:SPSM:SPSM -spates:SPTS:SPTS -spathe:SP0:SPT -spatia:SPX:SPX -spavin:SPFN:SPFN -spawns:SPNS:SPNS -spayed:SPT:SPT -speaks:SPKS:SPKS -spears:SPRS:SPRS -specie:SPS:SPX -specks:SPKS:SPKS -speech:SPK:SPK -speedo:SPT:SPT -speeds:SPTS:SPTS -speedy:SPT:SPT -speiss:SPS:SPS -spells:SPLS:SPLS -spends:SPNT:SPNT -sperms:SPRM:SPRM -spewed:SPT:SPT -spewer:SPR:SPR -sphene:SFN:SFN -spheno:SFN:SFN -sphere:SFR:SFR -sphinx:SFNK:SFNK -spicae:SPK:SPK -spicas:SPKS:SPKS -spiced:SPST:SPST -spicer:SPSR:SPSR -spices:SPSS:SPSS -spider:SPTR:SPTR -spiels:SPLS:SPLS -spiffy:SPF:SPF -spigot:SPKT:SPKT -spiked:SPKT:SPKT -spikes:SPKS:SPKS -spiled:SPLT:SPLT -spiles:SPLS:SPLS -spills:SPLS:SPLS -spilus:SPLS:SPLS -spinae:SPN:SPN -spinal:SPNL:SPNL -spined:SPNT:SPNT -spinel:SPNL:SPNL -spines:SPNS:SPNS -spinet:SPNT:SPNT -spiral:SPRL:SPRL -spirea:SPR:SPR -spirem:SPRM:SPRM -spires:SPRS:SPRS -spirit:SPRT:SPRT -spital:SPTL:SPTL -spited:SPTT:SPTT -spites:SPTS:SPTS -spivvy:SPF:SPF -splake:SPLK:SPLK -splash:SPLX:SPLX -splats:SPLT:SPLT -splays:SPLS:SPLS -spleen:SPLN:SPLN -splice:SPLS:SPLS -spline:SPLN:SPLN -splint:SPLN:SPLN -splits:SPLT:SPLT -splosh:SPLX:SPLX -spoils:SPLS:SPLS -spoilt:SPLT:SPLT -spoked:SPKT:SPKT -spoken:SPKN:SPKN -spokes:SPKS:SPKS -spolia:SPL:SPL -sponge:SPNJ:SPNK -spongy:SPNK:SPNJ -sponte:SPNT:SPNT -spoofs:SPFS:SPFS -spooks:SPKS:SPKS -spooky:SPK:SPK -spools:SPLS:SPLS -spoons:SPNS:SPNS -spoors:SPRS:SPRS -spored:SPRT:SPRT -spores:SPRS:SPRS -sports:SPRT:SPRT -sporty:SPRT:SPRT -spotty:SPT:SPT -spouse:SPS:SPS -spouts:SPTS:SPTS -sprags:SPRK:SPRK -sprain:SPRN:SPRN -sprang:SPRN:SPRN -sprats:SPRT:SPRT -sprawl:SPRL:SPRL -sprays:SPRS:SPRS -spread:SPRT:SPRT -sprees:SPRS:SPRS -sprier:SPR:SPRR -sprigg:SPRK:SPRK -sprigs:SPRK:SPRK -spring:SPRN:SPRN -sprint:SPRN:SPRN -sprite:SPRT:SPRT -sprits:SPRT:SPRT -sprout:SPRT:SPRT -spruce:SPRS:SPRS -spruik:SPRK:SPRK -spruit:SPRT:SPRT -sprung:SPRN:SPRN -spryer:SPRR:SPRR -spryly:SPRL:SPRL -spuddy:SPT:SPT -spuing:SPNK:SPNK -spumed:SPMT:SPMT -spumes:SPMS:SPMS -spunky:SPNK:SPNK -spurge:SPRJ:SPRK -spurns:SPRN:SPRN -spurry:SPR:SPR -spurts:SPRT:SPRT -sputum:SPTM:SPTM -spying:SPNK:SPNK -squabs:SKPS:SKPS -squads:SKTS:SKTS -squall:SKL:SKL -squama:SKM:SKM -squame:SKM:SKM -squamo:SKM:SKM -squand:SKNT:SKNT -square:SKR:SKR -squash:SKX:SKX -squats:SKTS:SKTS -squawk:SKK:SKK -squaws:SKS:SKS -squeak:SKK:SKK -squeal:SKL:SKL -squibs:SKPS:SKPS -squids:SKTS:SKTS -squill:SKL:SKL -squint:SKNT:SKNT -squire:SKR:SKR -squirm:SKRM:SKRM -squirt:SKRT:SKRT -squish:SKX:SKX -stable:STPL:STPL -stably:STPL:STPL -stacks:STKS:STKS -stader:STTR:STTR -stadia:STT:STT -staffs:STFS:STFS -staged:STJT:STKT -stager:STKR:STJR -stages:STJS:STKS -stagna:STN:STKN -stains:STNS:STNS -stairs:STRS:STRS -staith:ST0:STT -staked:STKT:STKT -stakes:STKS:STKS -staled:STLT:STLT -staler:STLR:STLR -stales:STLS:STLS -stalin:STLN:STLN -stalks:STLK:STLK -stalky:STLK:STLK -stalls:STLS:STLS -stamen:STMN:STMN -stamps:STMP:STMP -stance:STNS:STNS -stanch:STNX:STNK -standi:STNT:STNT -stands:STNT:STNT -stante:STNT:STNT -stanza:STNS:STNS -stapes:STPS:STPS -staple:STPL:STPL -starch:STRX:STRK -stared:STRT:STRT -starer:STRR:STRR -stares:STRS:STRS -starry:STR:STR -starts:STRT:STRT -starve:STRF:STRF -stases:STSS:STSS -stasis:STSS:STSS -statal:STTL:STTL -stated:STTT:STTT -staten:STTN:STTN -states:STTS:STTS -static:STTK:STTK -statim:STTM:STTM -statio:STT:STT -stator:STTR:STTR -statue:STT:STT -statui:STT:STT -status:STTS:STTS -staved:STFT:STFT -staves:STFS:STFS -staxis:STKS:STKS -stayed:STT:STT -stayer:STR:STR -steady:STT:STT -steaks:STKS:STKS -steals:STLS:STLS -steams:STMS:STMS -steamy:STM:STM -steeds:STTS:STTS -steels:STLS:STLS -steely:STL:STL -steeps:STPS:STPS -steers:STRS:STRS -steeve:STF:STF -steins:STNS:STNS -stelae:STL:STL -stelar:STLR:STLR -stemma:STM:STM -stench:STNX:STNK -stenia:STN:STN -stenos:STNS:STNS -steppe:STP:STP -sterad:STRT:STRT -stereo:STR:STR -steric:STRK:STRK -sterid:STRT:STRT -sterna:STRN:STRN -sterni:STRN:STRN -sterno:STRN:STRN -sterns:STRN:STRN -sterol:STRL:STRL -steven:STFN:STFN -stewed:STT:STT -stewer:STR:STR -sticks:STKS:STKS -sticky:STK:STK -stiffs:STFS:STFS -stifle:STFL:STFL -stigma:STKM:STKM -stiles:STLS:STLS -stilet:STLT:STLT -stills:STLS:STLS -stilts:STLT:STLT -stilus:STLS:STLS -stingo:STNK:STNK -stings:STNK:STNK -stingy:STNK:STNJ -stinks:STNK:STNK -stinky:STNK:STNK -stints:STNT:STNT -stipel:STPL:STPL -stipes:STPS:STPS -stirps:STRP:STRP -stitch:STX:STX -stithy:ST0:STT -stiver:STFR:STFR -stoats:STTS:STTS -stocks:STKS:STKS -stocky:STK:STK -stodge:STJ:STJ -stodgy:STJ:STJ -stoics:STKS:STKS -stoked:STKT:STKT -stoker:STKR:STKR -stokes:STKS:STKS -stolen:STLN:STLN -stoles:STLS:STLS -stolid:STLT:STLT -stolon:STLN:STLN -stomal:STML:STML -stomas:STMS:STMS -stomps:STMP:STMP -stoned:STNT:STNT -stoner:STNR:STNR -stones:STNS:STNS -stonks:STNK:STNK -stooge:STJ:STK -stooks:STKS:STKS -stools:STLS:STLS -stoops:STPS:STPS -stopes:STPS:STPS -storax:STRK:STRK -stored:STRT:STRT -storer:STRR:STRR -stores:STRS:STRS -storey:STR:STR -storks:STRK:STRK -storms:STRM:STRM -stormy:STRM:STRM -stoush:STX:STX -stouts:STTS:STTS -stover:STFR:STFR -stoves:STFS:STFS -stowed:STT:STT -strafe:STRF:STRF -strain:STRN:STRN -strait:STRT:STRT -strake:STRK:STRK -strand:STRN:STRN -straps:STRP:STRP -strass:STRS:STRS -strata:STRT:STRT -strath:STR0:STRT -strati:STRT:STRT -straws:STRS:STRS -strawy:STR:STR -strays:STRS:STRS -streak:STRK:STRK -stream:STRM:STRM -street:STRT:STRT -stress:STRS:STRS -strewn:STRN:STRN -strews:STRS:STRS -striae:STR:STR -strick:STRK:STRK -strict:STRK:STRK -stride:STRT:STRT -strife:STRF:STRF -strike:STRK:STRK -string:STRN:STRN -stripe:STRP:STRP -strips:STRP:STRP -stripy:STRP:STRP -strive:STRF:STRF -strobe:STRP:STRP -strode:STRT:STRT -stroke:STRK:STRK -stroll:STRL:STRL -stroma:STRM:STRM -strong:STRN:STRN -strops:STRP:STRP -stroud:STRT:STRT -strove:STRF:STRF -struck:STRK:STRK -struma:STRM:STRM -strums:STRM:STRM -strung:STRN:STRN -struts:STRT:STRT -stuart:STRT:STRT -stubby:STP:STP -stucco:STK:STK -studio:STT:STT -stuffs:STFS:STFS -stuffy:STF:STF -stulls:STLS:STLS -stumer:STMR:STMR -stumps:STMP:STMP -stumpy:STMP:STMP -stunts:STNT:STNT -stupid:STPT:STPT -stupor:STPR:STPR -sturdy:STRT:STRT -sturin:STRN:STRN -stylar:STLR:STLR -styled:STLT:STLT -styler:STLR:STLR -styles:STLS:STLS -stylet:STLT:STLT -stylus:STLS:STLS -stymie:STM:STM -styrax:STRK:STRK -styrol:STRL:STRL -suable:SPL:SPL -suably:SPL:SPL -subbed:SPT:SPT -subbre:SPR:SPR -subdeb:SPTP:SPTP -subdue:SPT:SPT -subito:SPT:SPT -sublet:SPLT:SPLT -submit:SPMT:SPMT -suborn:SPRN:SPRN -subset:SPST:SPST -subtle:SPTL:SPTL -subtly:SPTL:SPTL -suburb:SPRP:SPRP -subway:SP:SP -succor:SKR:SKR -succus:SKS:SKS -sucked:SKT:SKT -sucker:SKR:SKR -suckle:SKL:SKL -sudden:STN:STN -suedes:STS:STS -suffer:SFR:SFR -suffix:SFKS:SFKS -sugars:XKRS:SKRS -sugary:XKR:SKR -suited:STT:STT -suites:STS:STS -suitor:STR:STR -sukkot:SKT:SKT -sulcal:SLKL:SLKL -sulcar:SLKR:SLKR -sulcus:SLKS:SLKS -sulfur:SLFR:SLFR -sulked:SLKT:SLKT -sulker:SLKR:SLKR -sullen:SLN:SLN -sulpha:SLF:SLF -sulpho:SLF:SLF -sultan:SLTN:SLTN -sultry:SLTR:SLTR -sumach:SMK:SMK -sumacs:SMKS:SMKS -summae:SM:SM -summed:SMT:SMT -summer:SMR:SMR -summit:SMT:SMT -summon:SMN:SMN -summum:SMM:SMM -sunbow:SNP:SNPF -sundae:SNT:SNT -sunday:SNT:SNT -sunder:SNTR:SNTR -sundry:SNTR:SNTR -sunhat:SNT:SNT -sunken:SNKN:SNKN -sunlit:SNLT:SNLT -sunned:SNT:SNT -sunray:SNR:SNR -sunset:SNST:SNST -suntan:SNTN:SNTN -sunups:SNPS:SNPS -superb:SPRP:SPRP -supers:SPRS:SPRS -supine:SPN:SPN -suplex:SPLK:SPLK -supped:SPT:SPT -supper:SPR:SPR -supple:SPL:SPL -supply:SPL:SPL -surdus:SRTS:SRTS -surely:SRL:SRL -surers:SRRS:SRRS -surest:SRST:SRST -surety:SRT:SRT -surfed:SRFT:SRFT -surfer:SRFR:SRFR -surged:SRJT:SRKT -surger:SRKR:SRJR -surges:SRJS:SRKS -surrah:SR:SR -surrey:SR:SR -surtax:SRTK:SRTK -survey:SRF:SRF -susans:SSNS:SSNS -sussex:SSKS:SSKS -sutler:STLR:STLR -sutras:STRS:STRS -suttee:ST:ST -suture:STR:STR -svelte:SFLT:SFLT -swaged:SJT:XKT -swager:SKR:XJR -swages:SJS:XKS -swains:SNS:XNS -swaled:SLT:XLT -swamis:SMS:XMS -swamps:SMPS:XMPS -swampy:SMP:XMP -swanky:SNK:XNK -swaped:SPT:XPT -swards:SRTS:XRTS -swarms:SRMS:XRMS -swatch:SX:XX -swathe:S0:XT -swaths:S0S:XTS -swayed:ST:XT -swayer:SR:XR -swears:SRS:XRS -sweats:STS:XTS -sweaty:ST:XT -sweden:STN:XTN -swedes:STS:XTS -sweeny:SN:XN -sweeps:SPS:XPS -sweepy:SP:XP -sweets:STS:XTS -sweety:ST:XT -swells:SLS:XLS -swerve:SRF:XRF -swifts:SFTS:XFTS -swills:SLS:XLS -swines:SNS:XNS -swinge:SNJ:XNK -swings:SNKS:XNKS -swingy:SNK:XNJ -swiped:SPT:XPT -swiper:SPR:XPR -swipes:SPS:XPS -swirls:SRLS:XRLS -swirly:SRL:XRL -swishy:SX:XX -switch:SX:XX -swivel:SFL:XFL -swoons:SNS:XNS -swoops:SPS:XPS -swoosh:SX:XX -swords:SRTS:XRTS -sydney:STN:STN -sylphs:SLFS:SLFS -sylvan:SLFN:SLFN -sylvas:SLFS:SLFS -sylvia:SLF:SLF -symbol:SMPL:SMPL -sympus:SMPS:SMPS -synago:SNK:SNK -synced:SNST:SNST -syndic:SNTK:SNTK -synods:SNTS:SNTS -synroc:SNRK:SNRK -syntax:SNTK:SNTK -sypher:SFR:SFR -syphon:SFN:SFN -syriac:SRK:SRK -syrian:SRN:SRN -syrinx:SRNK:SRNK -syrups:SRPS:SRPS -syrupy:SRP:SRP -system:SSTM:SSTM -syzygy:SSK:SSJ -tabard:TPRT:TPRT -tabbed:TPT:TPT -tabled:TPLT:TPLT -tabler:TPLR:TPLR -tables:TPLS:TPLS -tablet:TPLT:TPLT -taboos:TPS:TPS -tabors:TPRS:TPRS -tabour:TPR:TPR -tabued:TPT:TPT -tabula:TPL:TPL -taches:TXS:TKS -tachos:TKS:TKS -tacite:TST:TST -tacked:TKT:TKT -tacker:TKR:TKR -tackle:TKL:TKL -tacoma:TKM:TKM -tactic:TKTK:TKTK -taenia:TN:TN -tagalo:TKL:TKL -tagged:TKT:TKT -tagger:TKR:TKR -taguan:TKN:TKN -tahiti:THT:THT -tahsil:TSL:TSL -taikoa:TK:TK -tailed:TLT:TLT -tailer:TLR:TLR -tailor:TLR:TLR -taints:TNTS:TNTS -taipan:TPN:TPN -taipei:TP:TP -taiwan:TN:TN -takers:TKRS:TKRS -taketh:TK0:TKT -taking:TKNK:TKNK -takins:TKNS:TKNS -talbot:TLPT:TLPT -talcum:TLKM:TLKM -talely:TLL:TLL -talent:TLNT:TLNT -talion:TLN:TLN -talked:TLKT:TLKT -talker:TLKR:TLKR -talkie:TLK:TLK -taller:TLR:TLR -tallow:TL:TLF -talmud:TLMT:TLMT -talons:TLNS:TLNS -tamale:TML:TML -tambor:TMPR:TMPR -tamely:TML:TML -tamers:TMRS:TMRS -tamest:TMST:TMST -tamils:TMLS:TMLS -taming:TMNK:TMNK -tammar:TMR:TMR -tamped:TMPT:TMPT -tamper:TMPR:TMPR -tampon:TMPN:TMPN -tandem:TNTM:TNTM -tanged:TNJT:TNKT -tangle:TNKL:TNKL -tangly:TNKL:TNKL -tangos:TNKS:TNKS -tanked:TNKT:TNKT -tanker:TNKR:TNKR -tanned:TNT:TNT -tanner:TNR:TNR -tannic:TNK:TNK -tannin:TNN:TNN -tannoy:TN:TN -taoism:TSM:TSM -taoist:TST:TST -tapers:TPRS:TPRS -tapeta:TPT:TPT -taping:TPNK:TPNK -tapirs:TPRS:TPRS -tapped:TPT:TPT -tapper:TPR:TPR -tappet:TPT:TPT -target:TRKT:TRKT -targum:TRKM:TRKM -tariff:TRF:TRF -taring:TRNK:TRNK -tarmac:TRMK:TRMK -tarpan:TRPN:TRPN -tarpon:TRPN:TRPN -tarred:TRT:TRT -tarsal:TRSL:TRSL -tarsus:TRSS:TRSS -tartan:TRTN:TRTN -tartar:TRTR:TRTR -tarter:TRTR:TRTR -tartly:TRTL:TRTL -tarzan:TRSN:TRSN -tasked:TSKT:TSKT -tasker:TSKR:TSKR -taslan:TSLN:TSLN -tassel:TSL:TSL -tassie:TS:TS -tasted:TSTT:TSTT -taster:TSTR:TSTR -tastes:TSTS:TSTS -tatami:TTM:TTM -tatoos:TTS:TTS -tatted:TTT:TTT -tatter:TTR:TTR -tattle:TTL:TTL -tattoo:TT:TT -taught:TFT:TFT -taunts:TNTS:TNTS -taurus:TRS:TRS -taussi:TS:TS -tauten:TTN:TTN -tauter:TTR:TTR -tautly:TTL:TTL -tavern:TFRN:TFRN -tawdry:TTR:TTR -tawhai:T:T -tawing:TNK:TNK -taxeme:TKSM:TKSM -taxers:TKSR:TKSR -taxied:TKST:TKST -taxies:TKSS:TKSS -taxing:TKSN:TKSN -taxons:TKSN:TKSN -taxpay:TKSP:TKSP -taylor:TLR:TLR -teacup:TKP:TKP -teamed:TMT:TMT -teamer:TMR:TMR -teapot:TPT:TPT -teapoy:TP:TP -teared:TRT:TRT -tearer:TRR:TRR -teased:TST:TST -teasel:TSL:TSL -teaser:TSR:TSR -teases:TSS:TSS -teasle:TSL:TSL -teated:TTT:TTT -teazel:TSL:TSL -tectum:TKTM:TKTM -tedded:TTT:TTT -tedder:TTR:TTR -tedeum:TTM:TTM -tedium:TTM:TTM -teeing:TNK:TNK -teemed:TMT:TMT -teemer:TMR:TMR -teepee:TP:TP -teeter:TTR:TTR -teethe:T0:TT -teflon:TFLN:TFLN -tegmen:TKMN:TKMN -tehran:TRN:TRN -teledu:TLT:TLT -telial:TLL:TLL -telium:TLM:TLM -teller:TLR:TLR -tellin:TLN:TLN -telson:TLSN:TLSN -temper:TMPR:TMPR -temple:TMPL:TMPL -tempos:TMPS:TMPS -tempts:TMPT:TMPT -tempus:TMPS:TMPS -tenace:TNS:TNS -tenant:TNNT:TNNT -tended:TNTT:TNTT -tender:TNTR:TNTR -tendon:TNTN:TNTN -tenens:TNNS:TNNS -tenere:TNR:TNR -teneri:TNR:TNR -tenets:TNTS:TNTS -tenias:TNS:TNS -tenner:TNR:TNR -tennis:TNS:TNS -tenons:TNNS:TNNS -tenore:TNR:TNR -tenors:TNRS:TNRS -tenpin:TNPN:TNPN -tenrec:TNRK:TNRK -tensed:TNST:TNST -tenser:TNSR:TNSR -tenses:TNSS:TNSS -tensor:TNSR:TNSR -tented:TNTT:TNTT -tenter:TNTR:TNTR -tenths:TN0S:TNTS -tenuit:TNT:TNT -tenure:TNR:TNR -tenuto:TNT:TNT -tepees:TPS:TPS -tepefy:TPF:TPF -terata:TRT:TRT -tercel:TRSL:TRSL -tercer:TRSR:TRSR -tercet:TRST:TRST -teredo:TRT:TRT -terete:TRT:TRT -tergal:TRKL:TRKL -tergum:TRKM:TRKM -termed:TRMT:TRMT -termer:TRMR:TRMR -termly:TRML:TRML -termon:TRMN:TRMN -termor:TRMR:TRMR -terpin:TRPN:TRPN -terrae:TR:TR -terret:TRT:TRT -terror:TRR:TRR -terser:TRSR:TRSR -tertii:TRT:TRT -testae:TST:TST -tested:TSTT:TSTT -tester:TSTR:TSTR -testes:TSTS:TSTS -testis:TSTS:TSTS -tetany:TTN:TTN -tetchy:TX:TX -tether:T0R:TTR -tetrad:TTRT:TTRT -tetryl:TTRL:TTRL -tetter:TTR:TTR -teuton:TTN:TTN -texaco:TKSK:TKSK -texans:TKSN:TKSN -texsis:TKSS:TKSS -thalli:0L:TL -thalwe:0L:TL -thames:TMS:TMS -thanes:0NS:TNS -thanks:0NKS:TNKS -thatch:0X:TX -that's:0TS:TTS -thawed:0T:TT -thawer:0R:TR -thecae:0K:TK -thecal:0KL:TKL -thefts:0FTS:TFTS -theine:0N:TN -theirs:0RS:TRS -theism:0SM:TSM -theist:0ST:TST -thelia:0L:TL -themes:0MS:TMS -thenar:0NR:TNR -thence:0NS:TNS -theory:0R:TR -theses:0SS:TSS -thesis:0SS:TSS -thewed:0T:TT -they'd:0T:TT -thieve:0F:TF -thighs:0S:TS -thines:0NS:TNS -things:0NKS:TNKS -thinks:0NKS:TNKS -thinly:0NL:TNL -thirds:0RTS:TRTS -thirst:0RST:TRST -thirty:0RT:TRT -tholed:0LT:TLT -thomas:TMS:TMS -thongs:0NKS:TNKS -thorax:0RKS:TRKS -thorns:0RNS:TRNS -thorny:0RN:TRN -thoron:0RN:TRN -thorpe:0RP:TRP -thorps:0RPS:TRPS -though:0:T -thrall:0RL:TRL -thrash:0RX:TRX -thread:0RT:TRT -threat:0RT:TRT -threes:0RS:TRS -thresh:0RX:TRX -thrice:0RS:TRS -thrift:0RFT:TRFT -thrill:0RL:TRL -thrips:0RPS:TRPS -thrive:0RF:TRF -throat:0RT:TRT -throbs:0RPS:TRPS -throes:0RS:TRS -throne:0RN:TRN -throng:0RNK:TRNK -throve:0RF:TRF -thrown:0RN:TRN -throws:0RS:TRS -thrums:0RMS:TRMS -thrush:0RX:TRX -thrust:0RST:TRST -thumbs:0MPS:TMPS -thumps:0MPS:TMPS -thusly:0SL:TSL -thwack:0K:TK -thwart:0RT:TRT -thymes:0MS:TMS -thymic:0MK:TMK -thymol:0ML:TML -thymus:0MS:TMS -thysus:0SS:TSS -tiaras:XRS:XRS -tibiae:TP:TP -tibial:TPL:TPL -tibias:TPS:TPS -ticked:TKT:TKT -ticker:TKR:TKR -ticket:TKT:TKT -tickle:TKL:TKL -tickly:TKL:TKL -tidbit:TTPT:TTPT -tiddly:TTL:TTL -tidied:TTT:TTT -tidier:TT:TTR -tidies:TTS:TTS -tidily:TTL:TTL -tiding:TTNK:TTNK -tieing:TNK:TNK -tiepin:TPN:TPN -tierce:TRS:TRS -tiered:TRT:TRT -tiffed:TFT:TFT -tiffin:TFN:TFN -tigers:TJRS:TKRS -tights:TTS:TTS -tiglic:TKLK:TLK -tiglon:TKLN:TKLN -tigris:TKRS:TKRS -tildes:TLTS:TLTS -tilers:TLRS:TLRS -tilery:TLR:TLR -tiling:TLNK:TLNK -tilled:TLT:TLT -tiller:TLR:TLR -tilted:TLTT:TLTT -tilter:TLTR:TLTR -timbal:TMPL:TMPL -timber:TMPR:TMPR -timbre:TMPR:TMPR -timely:TML:TML -timers:TMRS:TMRS -timing:TMNK:TMNK -tindal:TNTL:TNTL -tinder:TNTR:TNTR -tineal:TNL:TNL -tineid:TNT:TNT -tinged:TNJT:TNKT -tinges:TNJS:TNKS -tingle:TNKL:TNKL -tingly:TNKL:TNKL -tinier:TN:TNR -tinily:TNL:TNL -tinker:TNKR:TNKR -tinkle:TNKL:TNKL -tinkly:TNKL:TNKL -tinned:TNT:TNT -tinner:TNR:TNR -tinsel:TNSL:TNSL -tinted:TNTT:TNTT -tinter:TNTR:TNTR -tipoff:TPF:TPF -tipped:TPT:TPT -tippee:TP:TP -tipper:TPR:TPR -tippet:TPT:TPT -tipple:TPL:TPL -tiptoe:TPT:TPT -tiptop:TPTP:TPTP -tirade:TRT:TRT -tiring:TRNK:TRNK -tisane:TSN:TSN -tissue:TS:TS -titans:TTNS:TTNS -titbit:TTPT:TTPT -titchy:TX:TX -titers:TTRS:TTRS -tithed:T0T:TTT -tither:T0R:TTR -tithes:T0S:TTS -titled:TTLT:TTLT -titles:TTLS:TTLS -titman:TTMN:TTMN -titmen:TTMN:TTMN -titter:TTR:TTR -tittle:TTL:TTL -tittup:TTP:TTP -titulo:TTL:TTL -toasts:TSTS:TSTS -toasty:TST:TST -tobago:TPK:TPK -tocher:TXR:TKR -tocsin:TKSN:TKSN -toddle:TTL:TTL -toecap:TKP:TKP -toeing:TNK:TNK -toerag:TRK:TRK -toffee:TF:TF -togaed:TKT:TKT -togaes:TKS:TKS -togged:TKT:TKT -toggle:TKL:TKL -toiled:TLT:TLT -toiler:TLR:TLR -toilet:TLT:TLT -toitoi:TT:TT -tokays:TKS:TKS -tokens:TKNS:TKNS -toking:TKNK:TKNK -toledo:TLT:TLT -tolled:TLT:TLT -toller:TLR:TLR -tolsey:TLS:TLS -toluic:TLK:TLK -toluol:TLL:TLL -toluyl:TLL:TLL -tolzey:TLS:TLS -tomato:TMT:TMT -tombed:TMPT:TMPT -tomboy:TMP:TMP -tomcat:TMKT:TMKT -tomtit:TMTT:TMTT -tomtom:TMTM:TMTM -toneme:TNM:TNM -toners:TNRS:TNRS -tonged:TNJT:TNKT -tongue:TNK:TNK -tonics:TNKS:TNKS -tonier:TN:TNR -tonies:TNS:TNS -toning:TNNK:TNNK -tonner:TNR:TNR -tonnes:TNS:TNS -tonsil:TNSL:TNSL -tooled:TLT:TLT -tooler:TLR:TLR -tooted:TTT:TTT -tooter:TTR:TTR -toothy:T0:TT -tootle:TTL:TTL -tootsy:TTS:TTS -topeka:TPK:TPK -topers:TPRS:TPRS -tophus:TFS:TFS -topics:TPKS:TPKS -toping:TPNK:TPNK -topman:TPMN:TPMN -topmen:TPMN:TPMN -topped:TPT:TPT -topper:TPR:TPR -topple:TPL:TPL -toques:TKS:TKS -torahs:TRS:TRS -tories:TRS:TRS -toroid:TRT:TRT -torose:TRS:TRS -torpid:TRPT:TRPT -torpor:TRPR:TRPR -torque:TRK:TRK -torrid:TRT:TRT -torsos:TRSS:TRSS -torten:TRTN:TRTN -tortes:TRTS:TRTS -torula:TRL:TRL -toruli:TRL:TRL -tossed:TST:TST -tosser:TSR:TSR -tosses:TSS:TSS -tossup:TSP:TSP -totals:TTLS:TTLS -totaly:TTL:TTL -totara:TTR:TTR -totems:TTMS:TTMS -toters:TTRS:TTRS -toties:TTS:TTS -toting:TTNK:TTNK -totted:TTT:TTT -totten:TTN:TTN -totter:TTR:TTR -toucan:TKN:TKN -touche:TX:TK -touchy:TX:TK -toughs:TFS:TFS -toupee:TP:TP -toured:TRT:TRT -tourer:TRR:TRR -tousle:TSL:TSL -touted:TTT:TTT -touter:TTR:TTR -towage:TJ:TK -toward:TRT:TRT -towbar:TPR:TPR -towels:TLS:TLS -towers:TRS:TRS -towhee:T:T -towing:TNK:TNK -townee:TN:TN -towner:TNR:TNR -toxify:TKSF:TKSF -toxins:TKSN:TKSN -toxoid:TKST:TKST -toying:TNK:TNK -toyota:TT:TT -traced:TRST:TRST -tracer:TRSR:TRSR -traces:TRSS:TRSS -tracks:TRKS:TRKS -tracts:TRKT:TRKT -tradal:TRTL:TRTL -traded:TRTT:TRTT -trader:TRTR:TRTR -trades:TRTS:TRTS -tragal:TRKL:TRKL -tragic:TRJK:TRKK -tragus:TRKS:TRKS -trails:TRLS:TRLS -trains:TRNS:TRNS -traits:TRTS:TRTS -tramps:TRMP:TRMP -trance:TRNS:TRNS -trashy:TRX:TRX -trauma:TRM:TRM -travel:TRFL:TRFL -trawls:TRLS:TRLS -treads:TRTS:TRTS -treats:TRTS:TRTS -treaty:TRT:TRT -treble:TRPL:TRPL -trebly:TRPL:TRPL -treing:TRNK:TRNK -treitz:TRTS:TRTS -tremie:TRM:TRM -tremor:TRMR:TRMR -trench:TRNX:TRNK -trends:TRNT:TRNT -trendy:TRNT:TRNT -trepan:TRPN:TRPN -treppe:TRP:TRP -tressy:TRS:TRS -triads:TRTS:TRTS -triage:TRJ:TRK -trials:TRLS:TRLS -tribal:TRPL:TRPL -tribes:TRPS:TRPS -triced:TRST:TRST -tricel:TRSL:TRSL -tricks:TRKS:TRKS -tricky:TRK:TRK -tricot:TRKT:TRKT -triene:TRN:TRN -triers:TRRS:TRRS -trifid:TRFT:TRFT -trifle:TRFL:TRFL -trigon:TRKN:TRKN -trikes:TRKS:TRKS -trilby:TRLP:TRLP -trills:TRLS:TRLS -trimer:TRMR:TRMR -trimly:TRML:TRML -trinal:TRNL:TRNL -trines:TRNS:TRNS -triode:TRT:TRT -triose:TRS:TRS -tripes:TRPS:TRPS -triple:TRPL:TRPL -triply:TRPL:TRPL -tripod:TRPT:TRPT -tripos:TRPS:TRPS -triter:TRTR:TRTR -triton:TRTN:TRTN -triune:TRN:TRN -trivet:TRFT:TRFT -trivia:TRF:TRF -trocar:TRKR:TRKR -troche:TRX:TRK -trogon:TRKN:TRKN -troika:TRK:TRK -trojan:TRJN:TRHN -trolls:TRLS:TRLS -tromba:TRMP:TRMP -trompe:TRMP:TRMP -tromps:TRMP:TRMP -troops:TRPS:TRPS -tropes:TRPS:TRPS -trophy:TRF:TRF -tropia:TRP:TRP -tropic:TRPK:TRPK -troppo:TRP:TRP -troths:TR0S:TRTS -trotyl:TRTL:TRTL -trough:TRF:TRF -troupe:TRP:TRP -trouts:TRTS:TRTS -trover:TRFR:TRFR -troves:TRFS:TRFS -trowel:TRL:TRL -truant:TRNT:TRNT -truces:TRSS:TRSS -trucks:TRKS:TRKS -trudge:TRJ:TRJ -truers:TRRS:TRRS -truest:TRST:TRST -truing:TRNK:TRNK -truism:TRSM:TRSM -truman:TRMN:TRMN -trumps:TRMP:TRMP -trunci:TRNS:TRNS -trunks:TRNK:TRNK -trusts:TRST:TRST -trusty:TRST:TRST -truths:TR0S:TRTS -trying:TRNK:TRNK -tryout:TRT:TRT -trypan:TRPN:TRPN -trysts:TRST:TRST -tsetse:TSTS:TSTS -tubage:TPJ:TPK -tubbed:TPT:TPT -tubber:TPR:TPR -tubers:TPRS:TPRS -tubful:TPFL:TPFL -tubing:TPNK:TPNK -tubule:TPL:TPL -tubuli:TPL:TPL -tucked:TKT:TKT -tucker:TKR:TKR -tucson:TKSN:TKSN -tuffet:TFT:TFT -tufted:TFTT:TFTT -tufter:TFTR:TFTR -tugged:TKT:TKT -tugger:TKR:TKR -tugman:TKMN:TKMN -tugmen:TKMN:TKMN -tulips:TLPS:TLPS -tumble:TMPL:TMPL -tumefy:TMF:TMF -tumors:TMRS:TMRS -tumuli:TML:TML -tumult:TMLT:TMLT -tundra:TNTR:TNTR -tuners:TNRS:TNRS -tuneup:TNP:TNP -tunica:TNK:TNK -tunics:TNKS:TNKS -tuning:TNNK:TNNK -tunnel:TNL:TNL -tunney:TN:TN -tuples:TPLS:TPLS -tupped:TPT:TPT -tuques:TKS:TKS -turban:TRPN:TRPN -turbid:TRPT:TRPT -turbit:TRPT:TRPT -turbot:TRPT:TRPT -tureen:TRN:TRN -turfed:TRFT:TRFT -turgid:TRJT:TRKT -turgor:TRKR:TRKR -turing:TRNK:TRNK -turion:TRN:TRN -turkey:TRK:TRK -turkic:TRKK:TRKK -turned:TRNT:TRNT -turner:TRNR:TRNR -turnip:TRNP:TRNP -turnup:TRNP:TRNP -turpis:TRPS:TRPS -turret:TRT:TRT -turtle:TRTL:TRTL -turves:TRFS:TRFS -tuscan:TSKN:TSKN -tusche:TX:TX -tusked:TSKT:TSKT -tusker:TSKR:TSKR -tussal:TSL:TSL -tusser:TSR:TSR -tussis:TSS:TSS -tussle:TSL:TSL -tutela:TTL:TTL -tutors:TTRS:TTRS -tutory:TTR:TTR -tutrix:TTRK:TTRK -tuwhit:TT:TT -tuxedo:TKST:TKST -tuyere:TR:TR -twangs:TNKS:TNKS -twangy:TNK:TNJ -tweaks:TKS:TKS -tweaky:TK:TK -tweeds:TTS:TTS -tweedy:TT:TT -tweeny:TN:TN -tweets:TTS:TTS -tweeze:TS:TTS -twelve:TLF:TLF -twenty:TNT:TNT -twerps:TRPS:TRPS -twicer:TSR:TSR -twiggy:TK:TK -twills:TLS:TLS -twined:TNT:TNT -twiner:TNR:TNR -twines:TNS:TNS -twinge:TNJ:TNK -twirls:TRLS:TRLS -twists:TSTS:TSTS -twisty:TST:TST -twitch:TX:TX -twofer:TFR:TFR -tycoon:TKN:TKN -tyloma:TLM:TLM -tympan:TMPN:TMPN -typhus:TFS:TFS -typify:TPF:TPF -typing:TPNK:TPNK -typist:TPST:TPST -tyrant:TRNT:TRNT -tyrode:TRT:TRT -tyroid:TRT:TRT -tzetze:TSTS:TSTS -uberty:APRT:APRT -ubiety:APT:APT -uboats:APTS:APTS -udders:ATRS:ATRS -uganda:AKNT:AKNT -uglier:AKL:ALR -uglify:AKLF:ALF -uglily:AKLL:ALL -ukases:AKSS:AKSS -ukiyoe:AK:AK -ulcera:ALSR:ALSR -ulcers:ALSR:ALSR -uletic:ALTK:ALTK -ulitis:ALTS:ALTS -ullage:ALJ:ALK -ulnaes:ALNS:ALNS -uloses:ALSS:ALSS -ulosis:ALSS:ALSS -ulotic:ALTK:ALTK -ulster:ALST:ALST -ultima:ALTM:ALTM -ultimo:ALTM:ALTM -umbels:AMPL:AMPL -umbers:AMRS:AMRS -umbles:AMPL:AMPL -umbrae:AMPR:AMPR -umbral:AMPR:AMPR -umbras:AMPR:AMPR -umiaks:AMKS:AMKS -umlaut:AMLT:AMLT -umpire:AMPR:AMPR -unable:ANPL:ANPL -unaged:ANJT:ANKT -unakin:ANKN:ANKN -unavow:ANF:ANFF -unawed:ANT:ANT -unback:ANPK:ANPK -unbake:ANPK:ANPK -unbars:ANPR:ANPR -unbelt:ANPL:ANPL -unbend:ANPN:ANPN -unbent:ANPN:ANPN -unbias:ANPS:ANPS -unbind:ANPN:ANPN -unbolt:ANPL:ANPL -unborn:ANPR:ANPR -unbred:ANPR:ANPR -unbudg:ANPT:ANPT -unburn:ANPR:ANPR -uncaps:ANKP:ANKP -uncare:ANKR:ANKR -uncash:ANKX:ANKX -unceas:ANSS:ANSS -unciae:ANS:ANX -uncial:ANSL:ANXL -unclad:ANKL:ANKL -uncles:ANKL:ANKL -unclog:ANKL:ANKL -uncoil:ANKL:ANKL -uncomb:ANKM:ANKM -uncook:ANKK:ANKK -uncool:ANKL:ANKL -uncork:ANKR:ANKR -unctad:ANKT:ANKT -uncurb:ANKR:ANKR -uncure:ANKR:ANKR -uncurl:ANKR:ANKR -undamp:ANTM:ANTM -undate:ANTT:ANTT -undied:ANTT:ANTT -undies:ANTS:ANTS -undine:ANTN:ANTN -undock:ANTK:ANTK -undoer:ANTR:ANTR -undoes:ANTS:ANTS -undone:ANTN:ANTN -undraw:ANTR:ANTR -unduly:ANTL:ANTL -undyed:ANTT:ANTT -unearn:ANRN:ANRN -unease:ANS:ANS -uneasy:ANS:ANS -unedit:ANTT:ANTT -unesco:ANSK:ANSK -uneven:ANFN:ANFN -unfade:ANFT:ANFT -unfail:ANFL:ANFL -unfair:ANFR:ANFR -unfaze:ANFS:ANFS -unfear:ANFR:ANFR -unfeel:ANFL:ANFL -unfelt:ANFL:ANFL -unfeue:ANF:ANF -unfill:ANFL:ANFL -unfits:ANFT:ANFT -unfold:ANFL:ANFL -unform:ANFR:ANFR -unfree:ANFR:ANFR -unfund:ANFN:ANFN -unfurl:ANFR:ANFR -ungent:ANJN:ANKN -unglue:ANKL:ANKL -ungual:ANKL:ANKL -ungues:ANKS:ANKS -unguis:ANKS:ANKS -ungula:ANKL:ANKL -unhair:ANR:ANR -unhand:ANNT:ANNT -unharm:ANRM:ANRM -unheal:ANL:ANL -unheat:ANT:ANT -unheed:ANT:ANT -unhelm:ANLM:ANLM -unhewn:ANN:ANN -unholy:ANL:ANL -unhook:ANK:ANK -unhung:ANNK:ANNK -unhurt:ANRT:ANRT -unicef:ANSF:ANSF -unions:ANNS:ANNS -unipod:ANPT:ANPT -unique:ANK:ANK -uniron:ANRN:ANRN -unisex:ANSK:ANSK -unison:ANSN:ANSN -united:ANTT:ANTT -uniter:ANTR:ANTR -unites:ANTS:ANTS -unixes:ANKS:ANKS -unjust:ANJS:ANJS -unkept:ANKP:ANKP -unkind:ANKN:ANKN -unking:ANKN:ANKN -unkiss:ANKS:ANKS -unknit:ANKN:ANKN -unknot:ANKN:ANKN -unlace:ANLS:ANLS -unlaid:ANLT:ANLT -unland:ANLN:ANLN -unlash:ANLX:ANLX -unlead:ANLT:ANLT -unless:ANLS:ANLS -unlike:ANLK:ANLK -unlink:ANLN:ANLN -unlist:ANLS:ANLS -unlive:ANLF:ANLF -unload:ANLT:ANLT -unlock:ANLK:ANLK -unlook:ANLK:ANLK -unlove:ANLF:ANLF -unmade:ANMT:ANMT -unmake:ANMK:ANMK -unmans:ANMN:ANMN -unmark:ANMR:ANMR -unmask:ANMS:ANMS -unmean:ANMN:ANMN -unmelt:ANML:ANML -unmend:ANMN:ANMN -unmill:ANML:ANML -unmold:ANML:ANML -unmoor:ANMR:ANMR -unmove:ANMF:ANMF -unmown:ANMN:ANMN -unname:ANM:ANM -unnote:ANT:ANT -unopen:ANPN:ANPN -unpack:ANPK:ANPK -unpaid:ANPT:ANPT -unpair:ANPR:ANPR -unpave:ANPF:ANPF -unpick:ANPK:ANPK -unpile:ANPL:ANPL -unpins:ANPN:ANPN -unpity:ANPT:ANPT -unplay:ANPL:ANPL -unplug:ANPL:ANPL -unrank:ANRN:ANRN -unrate:ANRT:ANRT -unread:ANRT:ANRT -unreal:ANRL:ANRL -unreel:ANRL:ANRL -unrent:ANRN:ANRN -unrest:ANRS:ANRS -unrigs:ANRK:ANRK -unripe:ANRP:ANRP -unrips:ANRP:ANRP -unroll:ANRL:ANRL -unroof:ANRF:ANRF -unruly:ANRL:ANRL -unrush:ANRX:ANRX -unsafe:ANSF:ANSF -unsaid:ANST:ANST -unsalt:ANSL:ANSL -unsave:ANSF:ANSF -unsays:ANSS:ANSS -unseal:ANSL:ANSL -unseam:ANSM:ANSM -unseat:ANST:ANST -unseed:ANST:ANST -unseen:ANSN:ANSN -unself:ANSL:ANSL -unsent:ANSN:ANSN -unsets:ANST:ANST -unsewn:ANSN:ANSN -unshed:ANXT:ANXT -unship:ANXP:ANXP -unshod:ANXT:ANXT -unshut:ANXT:ANXT -unsift:ANSF:ANSF -unsign:ANSN:ANSK -unsnap:ANSN:ANSN -unsoil:ANSL:ANSL -unsold:ANSL:ANSL -unsort:ANSR:ANSR -unsown:ANSN:ANSN -unstep:ANST:ANST -unstop:ANST:ANST -unsuit:ANST:ANST -unsung:ANSN:ANSN -unsure:ANSR:ANSR -unsway:ANS:ANS -untack:ANTK:ANTK -untame:ANTM:ANTM -untest:ANTS:ANTS -untidy:ANTT:ANTT -untied:ANTT:ANTT -unties:ANTS:ANTS -untime:ANTM:ANTM -untold:ANTL:ANTL -untrod:ANTR:ANTR -untrue:ANTR:ANTR -untuck:ANTK:ANTK -unused:ANST:ANST -unvary:ANFR:ANFR -unveil:ANFL:ANFL -unwant:ANNT:ANNT -unwary:ANR:ANR -unwash:ANX:ANX -unwean:ANN:ANN -unwell:ANL:ANL -unwept:ANPT:ANPT -unwind:ANNT:ANNT -unwise:ANS:ANS -unwish:ANX:ANX -unwork:ANRK:ANRK -unworn:ANRN:ANRN -unwove:ANF:ANF -unwrap:ANRP:ANRP -unyoke:ANK:ANK -unzips:ANSP:ANSP -upbeat:APT:APT -upcast:APKS:APKS -update:APTT:APTT -upends:APNT:APNT -upheld:AFLT:AFLT -uphill:AFL:AFL -uphold:AFLT:AFLT -upkeep:APKP:APKP -upland:APLN:APLN -uplift:APLF:APLF -uplink:APLN:APLN -upload:APLT:APLT -upmost:APMS:APMS -uppers:APRS:APRS -upping:APNK:APNK -uppish:APX:APX -uppity:APT:APT -uprate:APRT:APRT -uprear:APRR:APRR -uprise:APRS:APRS -uproar:APRR:APRR -uproot:APRT:APRT -uprose:APRS:APRS -uprush:APRX:APRX -upsets:APST:APST -upshot:APXT:APXT -upside:APST:APST -uptake:APTK:APTK -uptilt:APTL:APTL -uptime:APTM:APTM -uptown:APTN:APTN -upturn:APTR:APTR -upward:APRT:APRT -upwind:APNT:APNT -uracil:ARSL:ARSL -uramil:ARML:ARML -uranic:ARNK:ARNK -uranin:ARNN:ARNN -uranus:ARNS:ARNS -uranyl:ARNL:ARNL -uratic:ARTK:ARTK -urbana:ARPN:ARPN -urbane:ARPN:ARPN -urchin:ARXN:ARKN -urease:ARS:ARS -uredia:ART:ART -ureide:ART:ART -uremia:ARM:ARM -uremic:ARMK:ARMK -uresis:ARSS:ARSS -ureted:ARTT:ARTT -ureter:ARTR:ARTR -uretic:ARTK:ARTK -urgent:ARJN:ARKN -urging:ARJN:ARKN -urinae:ARN:ARN -urinal:ARNL:ARNL -uropod:ARPT:ARPT -ursine:ARSN:ARSN -ursula:ARSL:ARSL -usable:ASPL:ASPL -usably:ASPL:ASPL -usages:ASJS:ASKS -usance:ASNS:ASNS -useful:ASFL:ASFL -usenix:ASNK:ASNK -ushers:AXRS:AXRS -usuary:ASR:ASR -usurae:ASR:ASR -usurer:ASRR:ASRR -usurps:ASRP:ASRP -utahan:ATHN:ATHN -utahns:ATNS:ATNS -utendi:ATNT:ATNT -uterus:ATRS:ATRS -utmost:ATMS:ATMS -utopia:ATP:ATP -utters:ATRS:ATRS -uvulae:AFL:AFL -uvular:AFLR:AFLR -uvulas:AFLS:AFLS -uxorem:AKSR:AKSR -uxoris:AKSR:AKSR -vacans:FKNS:FKNS -vacant:FKNT:FKNT -vacate:FKT:FKT -vacuum:FKM:FKM -vadium:FTM:FTM -vadose:FTS:FTS -vagary:FKR:FKR -vagged:FKT:FKT -vagina:FJN:FKN -vaguer:FKR:FKR -vagues:FKS:FKS -vainly:FNL:FNL -vakeel:FKL:FKL -valent:FLNT:FLNT -valets:FLTS:FLTS -valgum:FLKM:FLKM -valgus:FLKS:FLKS -valine:FLN:FLN -valise:FLS:FLS -valium:FLM:FLM -valley:FL:FL -vallum:FLM:FLM -valses:FLSS:FLSS -valued:FLT:FLT -valuer:FLR:FLR -values:FLS:FLS -valvae:FLF:FLF -valvar:FLFR:FLFR -valved:FLFT:FLFT -valves:FLFS:FLFS -vamped:FMPT:FMPT -vamper:FMPR:FMPR -vandal:FNTL:FNTL -vanish:FNX:FNX -vanity:FNT:FNT -vapors:FPRS:FPRS -vapory:FPR:FPR -vaquez:FKS:FKS -varied:FRT:FRT -varies:FRS:FRS -varlet:FRLT:FRLT -vassal:FSL:FSL -vassar:FSR:FSR -vaster:FSTR:FSTR -vastly:FSTL:FSTL -vastum:FSTM:FSTM -vastus:FSTS:FSTS -vaters:FTRS:FTRS -vatful:FTFL:FTFL -vatted:FTT:FTT -vaults:FLTS:FLTS -vaulty:FLT:FLT -vaunts:FNTS:FNTS -vector:FKTR:FKTR -veered:FRT:FRT -veiled:FLT:FLT -veinal:FNL:FNL -veined:FNT:FNT -velate:FLT:FLT -velcro:FLKR:FLKR -vellum:FLM:FLM -veloce:FLS:FLS -velour:FLR:FLR -velure:FLR:FLR -velvet:FLFT:FLFT -vended:FNTT:FNTT -vendee:FNT:FNT -vender:FNTR:FNTR -vendor:FNTR:FNTR -vendue:FNT:FNT -veneer:FNR:FNR -venery:FNR:FNR -venial:FNL:FNL -venice:FNS:FNS -venire:FNR:FNR -venite:FNT:FNT -venoms:FNMS:FNMS -venose:FNS:FNS -venous:FNS:FNS -vented:FNTT:FNTT -venter:FNTR:FNTR -ventil:FNTL:FNTL -venues:FNS:FNS -venula:FNL:FNL -venule:FNL:FNL -verbal:FRPL:FRPL -verbid:FRPT:FRPT -verbis:FRPS:FRPS -verbum:FRPM:FRPM -verder:FRTR:FRTR -verged:FRJT:FRKT -verger:FRKR:FRJR -verges:FRJS:FRKS -verify:FRF:FRF -verily:FRL:FRL -verism:FRSM:FRSM -verite:FRT:FRT -verity:FRT:FRT -vermes:FRMS:FRMS -vermin:FRMN:FRMN -vermis:FRMS:FRMS -vermix:FRMK:FRMK -vernal:FRNL:FRNL -vernix:FRNK:FRNK -verona:FRN:FRN -versed:FRST:FRST -verses:FRSS:FRSS -versos:FRSS:FRSS -versus:FRSS:FRSS -vertex:FRTK:FRTK -vervet:FRFT:FRFT -vesica:FSK:FSK -vesper:FSPR:FSPR -vespid:FSPT:FSPT -vessel:FSL:FSL -vestal:FSTL:FSTL -vested:FSTT:FSTT -vestee:FST:FST -vestry:FSTR:FSTR -vetchy:FX:FX -vetoed:FTT:FTT -vetoer:FTR:FTR -vetoes:FTS:FTS -vetted:FTT:FTT -vexata:FKST:FKST -vexing:FKSN:FKSN -viable:FPL:FPL -viably:FPL:FPL -vialed:FLT:FLT -viands:FNTS:FNTS -vibrio:FPR:FPR -vicars:FKRS:FKRS -vicini:FSN:FSN -victim:FKTM:FKTM -victor:FKTR:FKTR -vicuna:FKN:FKN -videos:FTS:FTS -vidian:FTN:FTN -vidkid:FTKT:FTKT -vidual:FTL:FTL -vienna:FN:FN -viewed:FT:FT -viewer:FR:FR -vigils:FJLS:FKLS -vigore:FKR:FKR -viking:FKNK:FKNK -vilely:FLL:FLL -vilest:FLST:FLST -vilify:FLF:FLF -villas:FLS:FLS -villus:FLS:FLS -vimina:FMN:FMN -vinery:FNR:FNR -vinous:FNS:FNS -vinson:FNSN:FNSN -violas:FLS:FLS -violet:FLT:FLT -violin:FLN:FLN -vipers:FPRS:FPRS -virago:FRK:FRK -vireos:FRS:FRS -virgil:FRJL:FRKL -virgin:FRJN:FRKN -virgos:FRKS:FRKS -virile:FRL:FRL -virion:FRN:FRN -viroid:FRT:FRT -virous:FRS:FRS -virtue:FRT:FRT -visaed:FST:FST -visage:FSJ:FSK -viscid:FST:FST -viscus:FSKS:FSKS -vishnu:FXN:FXN -vising:FSNK:FSNK -vision:FSN:FXN -visits:FSTS:FSTS -visors:FSRS:FSRS -vistas:FSTS:FSTS -visual:FSL:FSL -vitals:FTLS:FTLS -vitric:FTRK:FTRK -vittae:FT:FT -vivace:FFS:FFS -vivant:FFNT:FFNT -vivary:FFR:FFR -vivify:FFF:FFF -vixens:FKSN:FKSN -vizard:FSRT:FSRT -vizier:FS:FSR -vizors:FSRS:FSRS -vizsla:FSSL:FSSL -vocals:FKLS:FKLS -vodkas:FTKS:FTKS -vogues:FKS:FKS -voiced:FST:FST -voicer:FSR:FSR -voices:FSS:FSS -voided:FTT:FTT -voider:FTR:FTR -voidly:FTL:FTL -volant:FLNT:FLNT -volens:FLNS:FLNS -volent:FLNT:FLNT -volley:FL:FL -volume:FLM:FLM -volute:FLT:FLT -volvae:FLF:FLF -volvox:FLFK:FLFK -vomica:FMK:FMK -vomits:FMTS:FMTS -voodoo:FT:FT -vortex:FRTK:FRTK -votary:FTR:FTR -voters:FTRS:FTRS -voting:FTNK:FTNK -votive:FTF:FTF -vowels:FLS:FLS -vowers:FRS:FRS -vowing:FNK:FNK -voyage:FJ:FK -voyeur:FR:FR -vulcan:FLKN:FLKN -vulgar:FLKR:FLKR -vulgus:FLKS:FLKS -vulvae:FLF:FLF -vulval:FLFL:FLFL -vulvar:FLFR:FLFR -vulvas:FLFS:FLFS -wadded:ATT:FTT -wadder:ATR:FTR -waddle:ATL:FTL -waddly:ATL:FTL -waders:ATRS:FTRS -wadies:ATS:FTS -wading:ATNK:FTNK -wadset:ATST:FTST -wafers:AFRS:FFRS -wafery:AFR:FFR -waffle:AFL:FFL -waffly:AFL:FFL -wafted:AFTT:FFTT -wafter:AFTR:FFTR -wagers:AKRS:FJRS -wagged:AKT:FKT -wagger:AKR:FKR -waggle:AKL:FKL -waggly:AKL:FKL -waggon:AKN:FKN -waging:AJNK:FKNK -wagner:AKNR:FKNR -wagons:AKNS:FKNS -wahine:AHN:FHN -wahoos:AHS:FHS -waiata:AT:FT -wailed:ALT:FLT -wailer:ALR:FLR -waists:ASTS:FSTS -waited:ATT:FTT -waiter:ATR:FTR -waived:AFT:FFT -waiver:AFR:FFR -waives:AFS:FFS -wakens:AKNS:FKNS -waking:AKNK:FKNK -waldey:ALT:FLT -waling:ALNK:FLNK -walked:ALKT:FLKT -walker:ALKR:FLKR -walkie:ALK:FLK -walkup:ALKP:FLKP -wallah:AL:FL -walled:ALT:FLT -waller:ALR:FLR -wallet:ALT:FLT -wallop:ALP:FLP -wallow:AL:FLF -walnut:ALNT:FLNT -walrus:ALRS:FLRS -walter:ALTR:FLTR -wampum:AMPM:FMPM -wander:ANTR:FNTR -wandoo:ANT:FNT -wangle:ANKL:FNKL -waning:ANNK:FNNK -wankel:ANKL:FNKL -wanned:ANT:FNT -wanner:ANR:FNR -wanted:ANTT:FNTT -wanter:ANTR:FNTR -wanton:ANTN:FNTN -wapiti:APT:FPT -wapper:APR:FPR -warble:ARPL:FRPL -warbur:ARPR:FRPR -warded:ARTT:FRTT -warden:ARTN:FRTN -warder:ARTR:FRTR -warier:ARR:FRR -warily:ARL:FRL -warmed:ARMT:FRMT -warmer:ARMR:FRMR -warmly:ARML:FRML -warmth:ARM0:FRMT -warmup:ARMP:FRMP -warned:ARNT:FRNT -warner:ARNR:FRNR -warped:ARPT:FRPT -warper:ARPR:FRPR -warred:ART:FRT -warren:ARN:FRN -warsaw:ARS:FRSF -warted:ARTT:FRTT -washed:AXT:FXT -washer:AXR:FXR -washes:AXS:FXS -washin:AXN:FXN -washra:AXR:FXR -wasn't:ASNT:FSNT -wasted:ASTT:FSTT -waster:ASTR:FSTR -wastes:ASTS:FSTS -waters:ATRS:FTRS -watery:ATR:FTR -watson:ATSN:FTSN -wattle:ATL:FTL -wavers:AFRS:FFRS -wavian:AFN:FFN -wavier:AFR:FFR -wavily:AFL:FFL -waving:AFNK:FFNK -waxers:AKSR:FKSR -waxier:AKSR:FKSR -waxily:AKSL:FKSL -waxing:AKSN:FKSN -waylay:AL:FL -weaken:AKN:FKN -weaker:AKR:FKR -weakly:AKL:FKL -wealth:AL0:FLT -weaned:ANT:FNT -weaner:ANR:FNR -weapon:APN:FPN -wearer:ARR:FRR -weasel:ASL:FSL -weaved:AFT:FFT -weaver:AFR:FFR -weaves:AFS:FFS -webbed:APT:FPT -wedded:ATT:FTT -wedeln:ATLN:FTLN -wedged:AJT:FJT -wedges:AJS:FJS -weeded:ATT:FTT -weeder:ATR:FTR -weekly:AKL:FKL -weeped:APT:FPT -weeper:APR:FPR -weevil:AFL:FFL -weighs:AS:FS -weight:AT:FT -weirdo:ART:FRT -welded:ALTT:FLTT -welder:ALTR:FLTR -welkin:ALKN:FLKN -welled:ALT:FLT -welted:ALTT:FLTT -welter:ALTR:FLTR -wended:ANTT:FNTT -weskit:ASKT:FSKT -wesley:ASL:FSL -wester:ASTR:FSTR -wether:A0R:FTR -wetted:ATT:FTT -wetter:ATR:FTR -whacks:AKS:AKS -whaled:ALT:ALT -whaler:ALR:ALR -whales:ALS:ALS -whammy:AM:AM -whangs:ANKS:ANKS -wharfs:ARFS:ARFS -wharfy:ARF:ARF -wharve:ARF:ARF -wheals:ALS:ALS -wheats:ATS:ATS -wheels:ALS:ALS -wheeze:AS:ATS -wheezy:AS:ATS -whelks:ALKS:ALKS -whelms:ALMS:ALMS -whelps:ALPS:ALPS -whence:ANS:ANS -wherry:AR:AR -wheyey:A:A -whiffs:AFS:AFS -whiffy:AF:AF -whiled:ALT:ALT -whiles:ALS:ALS -whilom:ALM:ALM -whilst:ALST:ALST -whimsy:AMS:AMS -whined:ANT:ANT -whiner:ANR:ANR -whines:ANS:ANS -whinny:AN:AN -whippy:AP:AP -whirls:ARLS:ARLS -whisks:ASKS:ASKS -whisky:ASK:ASK -whited:ATT:ATT -whiten:ATN:ATN -whiter:ATR:ATR -whites:ATS:ATS -whitey:AT:AT -wholes:ALS:ALS -who'll:AL:AL -wholly:AL:AL -whoops:APS:APS -whoosh:AX:AX -whorls:ARLS:ARLS -wicked:AKT:FKT -wicker:AKR:FKR -wicket:AKT:FKT -widely:ATL:FTL -widens:ATNS:FTNS -widest:ATST:FTST -widget:AJT:FJT -widgie:AJ:FJ -widish:ATX:FTX -widows:ATS:FTS -widths:ATS:FTS -wields:ALTS:FLTS -wieldy:ALT:FLT -wiener:ANR:FNR -wifely:AFL:FFL -wifing:AFNK:FFNK -wigged:AKT:FKT -wiggle:AKL:FKL -wiggly:AKL:FKL -wights:ATS:FTS -wiglet:AKLT:FKLT -wigwag:AKK:FKK -wigwam:AKM:FKM -wilder:ALTR:FLTR -wildly:ALTL:FLTL -wilful:ALFL:FLFL -wilgas:ALKS:FLKS -wilier:ALR:FLR -wilily:ALL:FLL -wiling:ALNK:FLNK -willed:ALT:FLT -willis:ALS:FLS -willow:AL:FLF -wilson:ALSN:FLSN -wilted:ALTT:FLTT -wilton:ALTN:FLTN -wimble:AMPL:FMPL -wimple:AMPL:FMPL -winced:ANST:FNST -wincer:ANSR:FNSR -winces:ANSS:FNSS -wincey:ANS:FNS -windba:ANTP:FNTP -winded:ANTT:FNTT -winder:ANTR:FNTR -window:ANT:FNTF -windup:ANTP:FNTP -winers:ANRS:FNRS -winery:ANR:FNR -winged:ANJT:FNKT -winger:ANKR:FNJR -winier:ANR:FNR -wining:ANNK:FNNK -winked:ANKT:FNKT -winker:ANKR:FNKR -winkle:ANKL:FNKL -winner:ANR:FNR -winnow:AN:FNF -winter:ANTR:FNTR -wintry:ANTR:FNTR -wipers:APRS:FPRS -wiping:APNK:FPNK -wirers:ARRS:FRRS -wirier:ARR:FRR -wirily:ARL:FRL -wiring:ARNK:FRNK -wisdom:ASTM:FSTM -wisely:ASL:FSL -wisest:ASST:FSST -wished:AXT:FXT -wisher:AXR:FXR -wishes:AXS:FXS -withal:A0L:FTL -wither:A0R:FTR -withes:A0S:FTS -within:A0N:FTN -witted:ATT:FTT -witter:ATR:FTR -wivern:AFRN:FFRN -wiving:AFNK:FFNK -wizard:ASRT:FTSR -woaded:ATT:FTT -wobble:APL:FPL -wobbly:APL:FPL -woeful:AFL:FFL -wolfed:ALFT:FLFT -wolver:ALFR:FLFR -wolves:ALFS:FLFS -wombat:AMPT:FMPT -wombed:AMPT:FMPT -wonder:ANTR:FNTR -wonted:ANTT:FNTT -wooded:ATT:FTT -wooden:ATN:FTN -woodsy:ATS:FTS -wooers:ARS:FRS -woofed:AFT:FFT -woofer:AFR:FFR -wooing:ANK:FNK -wooled:ALT:FLT -woolen:ALN:FLN -woolly:AL:FL -worded:ARTT:FRTT -worked:ARKT:FRKT -worker:ARKR:FRKR -workup:ARKP:FRKP -worlds:ARLT:FRLT -wormed:ARMT:FRMT -worsen:ARSN:FRSN -worsts:ARST:FRST -worths:AR0S:FRTS -worthy:AR0:FRT -woulfe:ALF:FLF -woulff:ALF:FLF -wounds:ANTS:FNTS -wowing:ANK:FNK -wowser:ASR:FSR -wracks:RKS:RKS -wraith:R0:RT -wrasse:RS:RS -wreaks:RKS:RKS -wreath:R0:RT -wrecks:RKS:RKS -wrench:RNX:RNK -wrests:RSTS:RSTS -wretch:RX:RX -wriers:RRS:RRS -wriest:RST:RST -wright:RT:RT -wrings:RNKS:RNKS -wrists:RSTS:RSTS -writer:RTR:RTR -writes:RTS:RTS -writhe:R0:RT -wrongs:RNKS:RNKS -wryest:RST:RST -wurley:ARL:FRL -wyvern:AFRN:FFRN -xavier:SF:SFR -xebecs:SPKS:SPKS -xenial:SNL:SNL -xmases:SMSS:SMSS -xrayed:SRT:SRT -xylene:SLN:SLN -xyloid:SLT:SLT -xylose:SLS:SLS -xyster:SSTR:SSTR -xystos:SSTS:SSTS -xystus:SSTS:SSTS -yabber:APR:APR -yachts:AKTS:AKTS -yaffle:AFL:AFL -yahoos:AHS:AHS -yahweh:A:A -yakked:AKT:AKT -yammer:AMR:AMR -yanked:ANKT:ANKT -yankee:ANK:ANK -yanqui:ANK:ANK -yapoks:APKS:APKS -yapped:APT:APT -yapper:APR:APR -yarned:ARNT:ARNT -yarner:ARNR:ARNR -yarran:ARN:ARN -yarrow:AR:ARF -yaupon:APN:APN -yautia:AX:AX -yawing:ANK:ANK -yawned:ANT:ANT -yawner:ANR:ANR -yawped:APT:APT -yawper:APR:APR -yclept:AKLP:AKLP -yeaned:ANT:ANT -yearly:ARL:ARL -yearns:ARNS:ARNS -yeasts:ASTS:ASTS -yeasty:AST:AST -yelled:ALT:ALT -yeller:ALR:ALR -yellow:AL:ALF -yelped:ALPT:ALPT -yemeni:AMN:AMN -yenned:ANT:ANT -yeoman:AMN:AMN -yeomen:AMN:AMN -yesman:ASMN:ASMN -yesmen:ASMN:ASMN -yields:ALTS:ALTS -yipped:APT:APT -yippee:AP:AP -yippie:AP:AP -yobbos:APS:APS -yodels:ATLS:ATLS -yogism:AJSM:AKSM -yogurt:AKRT:AKRT -yoicks:AKS:AKS -yokels:AKLS:AKLS -yoking:AKNK:AKNK -yolked:ALKT:ALKT -yonder:ANTR:ANTR -yorked:ARKT:ARKT -yorker:ARKR:ARKR -you'll:AL:AL -you're:AR:AR -youths:A0S:ATS -you've:AF:AF -yowled:ALT:ALT -yowler:ALR:ALR -yttric:ATRK:ATRK -yuccas:AKS:AKS -yulans:ALNS:ALNS -yuppie:AP:AP -zaffer:SFR:SFR -zambia:SMP:SMP -zamias:SMS:SMS -zander:SNTR:SNTR -zanier:SN:SNR -zanies:SNS:SNS -zanily:SNL:SNL -zapped:SPT:SPT -zareba:SRP:SRP -zariba:SRP:SRP -zealot:SLT:SLT -zeatin:STN:STN -zebras:SPRS:SPRS -zeeman:SMN:SMN -zenana:SNN:SNN -zenith:SN0:SNT -zenker:SNKR:SNKR -zephyr:SFR:SFR -zeroed:SRT:SRT -zeroes:SRS:SRS -zeroth:SR0:SRT -zeugma:SKM:SKM -zibets:SPTS:SPTS -zigzag:SKSK:SKSK -zinced:SNST:SNST -zincic:SNSK:SNSK -zincky:SNK:SNK -zinged:SNJT:SNKT -zinked:SNKT:SNKT -zinnia:SN:SN -zipped:SPT:SPT -zipper:SPR:SPR -zircon:SRKN:SRKN -zither:S0R:STR -zlotys:SLTS:SLTS -zodiac:STK:STK -zoetic:STK:STK -zombie:SMP:SMP -zonaes:SNS:SNS -zonary:SNR:SNR -zonate:SNT:SNT -zondek:SNTK:SNTK -zoning:SNNK:SNNK -zonked:SNKT:SNKT -zonula:SNL:SNL -zonule:SNL:SNL -zoomed:SMT:SMT -zoster:SSTR:SSTR -zouave:SF:SF -zounds:SNTS:SNTS -zoysia:SS:SX -zunian:SNN:SNN -zurich:SRX:SRK -zygion:SJN:SKN -zygoma:SKM:SKM -zygote:SKT:SKT -zymase:SMS:SMS -zymoid:SMT:SMT -aaronic:ARNK:ARNK -ababise:APPS:APPS -abalone:APLN:APLN -abandon:APNT:APNT -abasers:APSR:APSR -abashed:APXT:APXT -abashes:APXS:APXS -abasing:APSN:APSN -abaters:APTR:APTR -abating:APTN:APTN -abators:APTR:APTR -abattis:APTS:APTS -abaxial:APKS:APKS -abaxile:APKS:APKS -abbotcy:APTS:APTS -abdomen:APTM:APTM -abduced:APTS:APTS -abduces:APTS:APTS -abducts:APTK:APTK -abettal:APTL:APTL -abetted:APTT:APTT -abetter:APTR:APTR -abettor:APTR:APTR -abeyant:APNT:APNT -abfarad:APFR:APFR -abhenry:APNR:APNR -abiders:APTR:APTR -abideth:APT0:APTT -abiding:APTN:APTN -abietic:APTK:APTK -abigail:APKL:APKL -abilene:APLN:APLN -ability:APLT:APLT -abioses:APSS:APSS -abiosis:APSS:APSS -abiotic:APTK:APTK -abjudge:APJJ:APJJ -abjured:APJR:APJR -abjurer:APJR:APJR -abjures:APJR:APJR -ablated:APLT:APLT -ablates:APLT:APLT -ablatio:APLT:APLT -ablator:APLT:APLT -abolish:APLX:APLX -abomasa:APMS:APMS -abomasi:APMS:APMS -aborted:APRT:APRT -aborter:APRT:APRT -abortus:APRT:APRT -aboulia:APL:APL -abounds:APNT:APNT -abraded:APRT:APRT -abrader:APRT:APRT -abrades:APRT:APRT -abraham:APRH:APRH -abrasax:APRS:APRS -abraxas:APRK:APRK -abreact:APRK:APRK -abreast:APRS:APRS -abridge:APRJ:APRJ -abroach:APRK:APRK -abscess:APSS:APSS -abscise:APSS:APSS -abscond:APSK:APSK -abseils:APSL:APSL -absence:APSN:APSN -absente:APSN:APSN -absents:APSN:APSN -absinth:APSN:APSN -absolve:APSL:APSL -absorbs:APSR:APSR -abstain:APST:APST -abusage:APSJ:APSK -abusers:APSR:APSR -abusing:APSN:APSN -abusive:APSF:APSF -abuttal:APTL:APTL -abutted:APTT:APTT -abutter:APTR:APTR -abysmal:APSM:APSM -abyssal:APSL:APSL -abysses:APSS:APSS -acacias:AKSS:AKXS -academe:AKTM:AKTM -academy:AKTM:AKTM -acadian:AKTN:AKTN -acantha:AKN0:AKNT -acanthi:AKN0:AKNT -acapnia:AKPN:AKPN -acardia:AKRT:AKRT -acarina:AKRN:AKRN -acaroid:AKRT:AKRT -acaudal:AKTL:AKTL -accedas:AKST:AKST -acceded:AKST:AKST -acceder:AKST:AKST -accedes:AKST:AKST -accents:AKSN:AKSN -accepts:AKSP:AKSP -accidie:AKST:AKST -accipit:AKSP:AKSP -acclaim:AKLM:AKLM -accords:AKRT:AKRT -accosts:AKST:AKST -account:AKNT:AKNT -accrete:AKRT:AKRT -accrual:AKRL:AKRL -accrued:AKRT:AKRT -accrues:AKRS:AKRS -accurse:AKRS:AKRS -accurst:AKRS:AKRS -accusal:AKSL:AKSL -accused:AKST:AKST -accuser:AKSR:AKSR -accuses:AKSS:AKSS -accusor:AKSR:AKSR -acerbic:ASRP:ASRP -acerola:ASRL:ASRL -acerose:ASRS:ASRS -acerous:ASRS:ASRS -acetate:ASTT:ASTT -acetify:ASTF:ASTF -acetoin:ASTN:ASTN -acetone:ASTN:ASTN -acetous:ASTS:ASTS -achenes:AXNS:AKNS -achiest:AXST:AKST -achieve:AXF:AKF -acholic:AXLK:AKLK -achroma:AKRM:AKRM -achying:AXNK:AKNK -achylia:AXL:AKL -acidify:ASTF:ASTF -acidity:ASTT:ASTT -acinose:ASNS:ASNS -acinous:ASNS:ASNS -aclases:AKLS:AKLS -aclasis:AKLS:AKLS -acolyte:AKLT:AKLT -aconite:AKNT:AKNT -acousma:AKSM:AKSM -acquest:AKST:AKST -acquire:AKR:AKR -acquits:AKTS:AKTS -acrania:AKRN:AKRN -acreage:AKRJ:AKRK -acridly:AKRT:AKRT -acrilan:AKRL:AKRL -acrilic:AKRL:AKRL -acrobat:AKRP:AKRP -acromia:AKRM:AKRM -acronym:AKRN:AKRN -acronyx:AKRN:AKRN -acroses:AKRS:AKRS -acroter:AKRT:AKRT -acrotic:AKRT:AKRT -acrylic:AKRL:AKRL -actable:AKTP:AKTP -actinal:AKTN:AKTN -actinic:AKTN:AKTN -actinon:AKTN:AKTN -actions:AKXN:AKXN -actives:AKTF:AKTF -actress:AKTR:AKTR -actuals:AKTL:AKTL -actuary:AKTR:AKTR -actuate:AKTT:AKTT -acuaria:AKR:AKR -acutely:AKTL:AKTL -acutest:AKTS:AKTS -acyclic:ASKL:ASKL -acylase:ASLS:ASLS -adagios:ATJS:ATKS -adamant:ATMN:ATMN -adamite:ATMT:ATMT -adamson:ATMS:ATMS -adapted:ATPT:ATPT -adapter:ATPT:ATPT -adaptor:ATPT:ATPT -adaxial:ATKS:ATKS -addable:ATPL:ATPL -addenda:ATNT:ATNT -addends:ATNT:ATNT -addible:ATPL:ATPL -addicts:ATKT:ATKT -addison:ATSN:ATSN -additur:ATTR:ATTR -addling:ATLN:ATLN -address:ATRS:ATRS -adduced:ATST:ATST -adduces:ATSS:ATSS -adducts:ATKT:ATKT -adenase:ATNS:ATNS -adenine:ATNN:ATNN -adenoid:ATNT:ATNT -adenoma:ATNM:ATNM -adenose:ATNS:ATNS -adenous:ATNS:ATNS -adeptly:ATPT:ATPT -adhered:ATRT:ATRT -adherer:ATRR:ATRR -adheres:ATRS:ATRS -adinida:ATNT:ATNT -adipose:ATPS:ATPS -adipsia:ATPS:ATPX -aditios:ATTS:ATTS -adjoins:ATJN:ATJN -adjoint:ATJN:ATJN -adjourn:ATJR:ATJR -adjudge:ATJJ:ATJJ -adjunct:ATJN:ATJN -adjured:ATJR:ATJR -adjurer:ATJR:ATJR -adjures:ATJR:ATJR -adjuror:ATJR:ATJR -adjusts:ATJS:ATJS -admiral:ATMR:ATMR -admired:ATMR:ATMR -admirer:ATMR:ATMR -admires:ATMR:ATMR -admixed:ATMK:ATMK -admixes:ATMK:ATMK -adnexal:ATNK:ATNK -adopted:ATPT:ATPT -adoptee:ATPT:ATPT -adopter:ATPT:ATPT -adorers:ATRR:ATRR -adoring:ATRN:ATRN -adorned:ATRN:ATRN -adorner:ATRN:ATRN -adrenal:ATRN:ATRN -adsorbs:ATSR:ATSR -adulate:ATLT:ATLT -adulter:ATLT:ATLT -adultly:ATLT:ATLT -advance:ATFN:ATFN -advents:ATFN:ATFN -adverbs:ATFR:ATFR -adverse:ATFR:ATFR -adverso:ATFR:ATFR -adverts:ATFR:ATFR -advices:ATFS:ATFS -advised:ATFS:ATFS -advisee:ATFS:ATFS -adviser:ATFS:ATFS -advises:ATFS:ATFS -advisor:ATFS:ATFS -advowee:ATF:ATF -aeolian:ALN:ALN -aeonian:ANN:ANN -aequali:AKL:AKL -aerated:ARTT:ARTT -aerates:ARTS:ARTS -aerator:ARTR:ARTR -aerials:ARLS:ARLS -aerobes:ARPS:ARPS -aerobic:ARPK:ARPK -aerogel:ARJL:ARKL -aerosol:ARSL:ARSL -aerugos:ARKS:ARKS -affable:AFPL:AFPL -affably:AFPL:AFPL -affaire:AFR:AFR -affairs:AFRS:AFRS -affects:AFKT:AFKT -affiant:AFNT:AFNT -affinal:AFNL:AFNL -affirms:AFRM:AFRM -affixed:AFKS:AFKS -affixes:AFKS:AFKS -afflict:AFLK:AFLK -afforce:AFRS:AFRS -affords:AFRT:AFRT -affrays:AFRS:AFRS -affront:AFRN:AFRN -afghans:AFKN:AFKN -african:AFRK:AFRK -against:AKNS:AKNS -agamete:AKMT:AKMT -agamont:AKMN:AKMN -agamous:AKMS:AKMS -agarose:AKRS:AKRS -ageists:AJST:AKST -ageless:AJLS:AKLS -agendas:AJNT:AKNT -agendum:AJNT:AKNT -agentry:AJNT:AKNT -ageusia:AJS:AKX -aggiing:AJNK:AKNK -aggrade:AKRT:AKRT -agilely:AJLL:AKLL -agility:AJLT:AKLT -agisted:AJST:AKST -agister:AJST:AKST -agistor:AJST:AKST -agitans:AJTN:AKTN -agitate:AJTT:AKTT -aglucon:AKLK:AKLK -aglycon:AKLK:AKLK -agnatic:AKNT:ANTK -agnised:AKNS:ANST -agnises:AKNS:ANSS -agnosia:AKNS:ANX -agnosic:AKNS:ANSK -agonies:AKNS:AKNS -agonist:AKNS:AKNS -agonize:AKNS:AKNS -agoutis:AKTS:AKTS -agraffe:AKRF:AKRF -agreers:AKRR:AKRR -agreing:AKRN:AKRN -aground:AKRN:AKRN -aigrets:AKRT:AKRT -aileron:ALRN:ALRN -ailment:ALMN:ALMN -aimless:AMLS:AMLS -airbags:ARPK:ARPK -airdrop:ARTR:ARTR -airfare:ARFR:ARFR -airflow:ARFL:ARFL -airfoil:ARFL:ARFL -airiest:ARST:ARST -airings:ARNK:ARNK -airless:ARLS:ARLS -airlift:ARLF:ARLF -airline:ARLN:ARLN -airlock:ARLK:ARLK -airmail:ARML:ARML -airport:ARPR:ARPR -airpost:ARPS:ARPS -airship:ARXP:ARXP -airsick:ARSK:ARSK -airtime:ARTM:ARTM -airwave:ARF:ARF -airways:ARS:ARS -aitches:AXS:AXS -akvavit:AKFF:AKFF -alabama:ALPM:ALPM -aladdin:ALTN:ALTN -alamein:ALMN:ALMN -alanine:ALNN:ALNN -alantin:ALNT:ALNT -alarmed:ALRM:ALRM -alarums:ALRM:ALRM -alaskan:ALSK:ALSK -alation:ALXN:ALXN -albania:ALPN:ALPN -albedos:ALPT:ALPT -alberta:ALPR:ALPR -albinic:ALPN:ALPN -albinos:ALPN:ALPN -albumen:ALPM:ALPM -albumin:ALPM:ALPM -alcalde:ALKL:ALKL -alcazar:ALKS:ALKS -alchemy:ALXM:ALKM -alcogel:ALKJ:ALKK -alcohol:ALKH:ALKH -alcoran:ALKR:ALKR -alcoves:ALKF:ALKF -aldonic:ALTN:ALTN -alembic:ALMP:ALMP -alemmal:ALML:ALML -alerted:ALRT:ALRT -alerter:ALRT:ALRT -alertly:ALRT:ALRT -aletris:ALTR:ALTR -aleuron:ALRN:ALRN -alewife:ALF:ALF -alfalfa:ALFL:ALFL -algebra:ALJP:ALKP -algeria:ALKR:ALJR -algesia:ALJS:ALKX -algesic:ALJS:ALKS -algetic:ALKT:ALKT -algiers:ALJR:ALKR -alginic:ALJN:ALKN -aliased:ALST:ALST -aliases:ALSS:ALSS -alibied:ALPT:ALPT -alibies:ALPS:ALPS -alienee:ALN:ALN -alienor:ALNR:ALNR -alienus:ALNS:ALNS -aliform:ALFR:ALFR -alights:ALTS:ALTS -aligned:ALNT:ALKN -aliment:ALMN:ALMN -alimony:ALMN:ALMN -aliquot:ALKT:ALKT -aliunde:ALNT:ALNT -alkalic:ALKL:ALKL -alkalis:ALKL:ALKL -alkanet:ALKN:ALKN -alkanin:ALKN:ALKN -alkoran:ALKR:ALKR -allayed:ALT:ALT -allayer:ALR:ALR -alleged:ALJT:ALKT -alleger:ALJR:ALKR -alleges:ALJS:ALKS -allegro:ALKR:AL K -alleles:ALLS:ALLS -allelic:ALLK:ALLK -allergy:ALRJ:ALRK -allicin:ALSN:ALSN -allobar:ALPR:ALPR -allonge:ALNJ:ALNK -allonym:ALNM:ALNM -allowed:ALT:ALT -alloxan:ALKS:ALKS -alloyed:ALT:ALT -allseed:ALST:ALST -alluded:ALTT:ALTT -alludes:ALTS:ALTS -allured:ALRT:ALRT -allurer:ALRR:ALRR -allures:ALRS:ALRS -alluvia:ALF:ALF -allying:ALNK:ALNK -almanac:ALMN:ALMN -almoign:ALMN:ALMK -almonds:ALMN:ALMN -almoner:ALMN:ALMN -almonry:ALMN:ALMN -almsman:ALMS:ALMS -alodial:ALTL:ALTL -alodium:ALTM:ALTM -aloetic:ALTK:ALTK -aloofly:ALFL:ALFL -alpacas:ALPK:ALPK -already:ALRT:ALRT -alright:ALRT:ALRT -altered:ALTR:ALTR -alterer:ALTR:ALTR -althaea:AL0:ALT -altmann:ALTM:ALTM -altrose:ALTR:ALTR -alumina:ALMN:ALMN -alumnae:ALMN:ALMN -alumnus:ALMN:ALMN -alundum:ALNT:ALNT -alveole:ALFL:ALFL -alveoli:ALFL:ALFL -alyssum:ALSM:ALSM -amalgam:AMLK:AMLK -amandin:AMNT:AMNT -amanita:AMNT:AMNT -amaroid:AMRT:AMRT -amassed:AMST:AMST -amasser:AMSR:AMSR -amasses:AMSS:AMSS -amastia:AMSX:AMSX -amateur:AMTR:AMTR -amative:AMTF:AMTF -amatory:AMTR:AMTR -amazers:AMSR:AMSR -amazing:AMSN:AMSN -amazona:AMSN:AMSN -amazons:AMSN:AMSN -ambient:AMPN:AMPN -amblers:AMPL:AMPL -ambling:AMPL:AMPL -ambones:AMPN:AMPN -ambrite:AMPR:AMPR -ambsace:AMPS:AMPS -ameboid:AMPT:AMPT -amended:AMNT:AMNT -amender:AMNT:AMNT -amendes:AMNT:AMNT -amenity:AMNT:AMNT -amentia:AMNX:AMNX -amerced:AMRS:AMRS -amercer:AMRS:AMRS -amerces:AMRS:AMRS -america:AMRK:AMRK -amerind:AMRN:AMRN -amerism:AMRS:AMRS -amesace:AMSS:AMSS -ameslan:AMSL:AMSL -amharic:AMRK:AMRK -amiable:AMPL:AMPL -amiably:AMPL:AMPL -amidase:AMTS:AMTS -aminate:AMNT:AMNT -amissae:AMS:AMS -amities:AMTS:AMTS -ammonia:AMN:AMN -amnesia:AMNS:AMNX -amnesic:AMNS:AMNS -amnesty:AMNS:AMNS -amnions:AMNN:AMNN -amniota:AMNT:AMNT -amniote:AMNT:AMNT -amoebae:AMP:AMP -amoebas:AMPS:AMPS -amoebic:AMPK:AMPK -amongst:AMNK:AMNK -amorist:AMRS:AMRS -amorous:AMRS:AMRS -amorphi:AMRF:AMRF -amotion:AMXN:AMXN -amounts:AMNT:AMNT -amoving:AMFN:AMFN -amperes:AMPR:AMPR -amphora:AMFR:AMFR -amplest:AMPL:AMPL -amplify:AMPL:AMPL -ampoule:AMPL:AMPL -ampules:AMPL:AMPL -ampulla:AMPL:AMPL -amputee:AMPT:AMPT -amtrack:AMTR:AMTR -amulets:AMLT:AMLT -amusers:AMSR:AMSR -amusing:AMSN:AMSN -amylase:AMLS:AMLS -amylene:AMLN:AMLN -amyloid:AMLT:AMLT -amylose:AMLS:AMLS -anadems:ANTM:ANTM -anaemia:ANM:ANM -anaemic:ANMK:ANMK -anagram:ANKR:ANKR -anaheim:ANHM:ANHM -anality:ANLT:ANLT -analogs:ANLK:ANLK -analogy:ANLJ:ANLK -analyst:ANLS:ANLS -analyze:ANLS:ANLS -anapest:ANPS:ANPS -anarchy:ANRX:ANRK -anatomy:ANTM:ANTM -anaudia:ANT:ANT -anchors:ANXR:ANKR -anchovy:ANXF:ANKF -anciens:ANSN:ANXN -ancient:ANSN:ANXN -anconal:ANKN:ANKN -anconei:ANKN:ANKN -andaman:ANTM:ANTM -andante:ANTN:ANTN -andiron:ANTR:ANTR -andorra:ANTR:ANTR -android:ANTR:ANTR -anemone:ANMN:ANMN -anergic:ANRJ:ANRK -aneroid:ANRT:ANRT -anestra:ANST:ANST -anestri:ANST:ANST -aneurin:ANRN:ANRN -angaria:ANKR:ANKR -angeles:ANJL:ANKL -angelic:ANJL:ANKL -angelus:ANJL:ANKL -angered:ANKR:ANJR -anginal:ANJN:ANKN -anginas:ANJN:ANKN -angioid:ANJT:ANKT -angioma:ANJM:ANKM -anglers:ANKL:ANKL -anglian:ANKL:ANLN -angling:ANKL:ANLN -angolan:ANKL:ANKL -angoras:ANKR:ANKR -angrier:ANKR:ANKR -angrily:ANKR:ANKR -anguine:ANKN:ANKN -anguish:ANKX:ANKX -angular:ANKL:ANKL -angulus:ANKL:ANKL -anguses:ANKS:ANKS -anilide:ANLT:ANLT -aniline:ANLN:ANLN -anility:ANLT:ANLT -animals:ANML:ANML -animate:ANMT:ANMT -animism:ANMS:ANMS -animist:ANMS:ANMS -anionic:ANNK:ANNK -anisate:ANST:ANST -aniseed:ANST:ANST -anisole:ANSL:ANSL -anklets:ANKL:ANKL -anlagen:ANLJ:ANLK -anlages:ANLJ:ANLK -annabel:ANPL:ANPL -annates:ANTS:ANTS -annatto:ANT:ANT -anneals:ANLS:ANLS -annelid:ANLT:ANLT -annexed:ANKS:ANKS -annexes:ANKS:ANKS -annoyed:ANT:ANT -annoyer:ANR:ANR -annuals:ANLS:ANLS -annuity:ANT:ANT -annular:ANLR:ANLR -annuler:ANLR:ANLR -annulet:ANLT:ANLT -annulus:ANLS:ANLS -anodize:ANTS:ANTS -anodyne:ANTN:ANTN -anoesia:ANS:ANX -anoetic:ANTK:ANTK -anoints:ANNT:ANNT -anomaly:ANML:ANML -anomies:ANMS:ANMS -anonyma:ANNM:ANNM -anonyme:ANNM:ANNM -anonyms:ANNM:ANNM -anopsia:ANPS:ANPX -anoraks:ANRK:ANRK -anosmia:ANSM:ANSM -anosmic:ANSM:ANSM -another:AN0R:ANTR -ansated:ANST:ANST -answers:ANSR:ANSR -antacid:ANTS:ANTS -antares:ANTR:ANTR -antefix:ANTF:ANTF -anteing:ANTN:ANTN -antenna:ANTN:ANTN -anthems:AN0M:ANTM -anthers:AN0R:ANTR -anthill:AN0L:ANTL -anthony:AN0N:ANTN -anthrax:AN0R:ANTR -anthrop:AN0R:ANTR -antibes:ANTP:ANTP -antibus:ANTP:ANTP -anticus:ANTK:ANTK -antigen:ANTJ:ANTK -antigua:ANTK:ANTK -antilog:ANTL:ANTL -antique:ANTK:ANTK -antiquo:ANTK:ANTK -antiwar:ANTR:ANTR -antlers:ANTL:ANTL -antlike:ANTL:ANTL -antlion:ANTL:ANTL -antonio:ANTN:ANTN -antonym:ANTN:ANTN -antwerp:ANTR:ANTR -anurous:ANRS:ANRS -anxiety:ANKS:ANKS -anxious:ANKS:ANKS -anybody:ANPT:ANPT -anymore:ANMR:ANMR -anyroad:ANRT:ANRT -anytime:ANTM:ANTM -anyways:ANS:ANS -anywise:ANS:ANS -aortaes:ARTS:ARTS -aoudads:ATTS:ATTS -apaches:APXS:APKS -apanage:APNJ:APNK -apatite:APTT:APTT -apelike:APLK:APLK -apercus:APRK:APRK -apetaly:APTL:APTL -aphacia:AFS:AFX -aphagia:AFJ:AFK -aphakia:AFK:AFK -aphakic:AFKK:AFKK -aphasia:AFS:AFX -aphasic:AFSK:AFSK -aphelia:AFL:AFL -aphemia:AFM:AFM -aphemic:AFMK:AFMK -aphesis:AFSS:AFSS -aphetic:AFTK:AFTK -aphides:AFTS:AFTS -aphonia:AFN:AFN -aphonic:AFNK:AFNK -aphotic:AFTK:AFTK -aphthae:AF0:AFT -aphylly:AFL:AFL -apishly:APXL:APXL -aplasia:APLS:APLX -aplenty:APLN:APLN -apnoeic:APNK:APNK -apocope:APKP:APKP -apogean:APJN:APKN -apogees:APJS:APKS -apogeic:APJK:APKK -apollos:APLS:APLS -apology:APLJ:APLK -apolune:APLN:APLN -apomict:APMK:APMK -aporiae:APR:APR -aporias:APRS:APRS -apostil:APST:APST -apostle:APST:APST -apothem:AP0M:APTM -apozema:APSM:APSM -appalls:APLS:APLS -apparat:APRT:APRT -apparel:APRL:APRL -appeals:APLS:APLS -appears:APRS:APRS -appease:APS:APS -appends:APNT:APNT -appetit:APTT:APTT -applaud:APLT:APLT -applied:APLT:APLT -applier:APL:APLR -applies:APLS:APLS -appoint:APNT:APNT -apposed:APST:APST -apposes:APSS:APSS -apprise:APRS:APRS -apprize:APRS:APRS -approve:APRF:APRF -apraxia:APRK:APRK -apraxic:APRK:APRK -apricot:APRK:APRK -apropos:APRP:APRP -apsidal:APST:APST -apsides:APST:APST -apteryx:APTR:APTR -aptness:APTN:APTN -apyrase:APRS:APRS -apyrexy:APRK:APRK -aquaria:AKR:AKR -aquatic:AKTK:AKTK -aquavit:AKFT:AKFT -aqueous:AKS:AKS -aquifer:AKFR:AKFR -aquinas:AKNS:AKNS -arabian:ARPN:ARPN -arabist:ARPS:ARPS -arachic:ARXK:ARKK -arachis:ARXS:ARKS -aralkyl:ARLK:ARLK -aramaic:ARMK:ARMK -arapaho:ARPH:ARPH -araroba:ARRP:ARRP -arbiter:ARPT:ARPT -arborol:ARPR:ARPR -arbutin:ARPT:ARPT -arbutus:ARPT:ARPT -arcaded:ARKT:ARKT -arcades:ARKT:ARKT -arcadia:ARKT:ARKT -arcadic:ARKT:ARKT -arcanum:ARKN:ARKN -archaei:ARK:ARX -archaic:ARXK:ARKK -archers:ARXR:ARKR -archery:ARXR:ARKR -archest:ARXS:ARKS -archeus:ARXS:ARKS -archine:ARXN:ARKN -arching:ARXN:ARKN -archive:ARXF:ARKF -archons:ARXN:ARKN -archway:ARX:ARK -arcking:ARKN:ARKN -arclike:ARKL:ARKL -arctics:ARKT:ARKT -arcuate:ARKT:ARKT -ardency:ARTN:ARTN -arduous:ARTS:ARTS -areaway:AR:AR -arenite:ARNT:ARNT -areolae:ARL:ARL -areolar:ARLR:ARLR -areolas:ARLS:ARLS -argonon:ARKN:ARKN -arguers:ARKR:ARKR -arguing:ARKN:ARKN -argyles:ARJL:ARKL -argyria:ARJR:ARKR -argyric:ARJR:ARKR -aridity:ARTT:ARTT -arietta:ART:ART -arising:ARSN:ARSN -arizona:ARSN:ARSN -armadas:ARMT:ARMT -armaria:ARMR:ARMR -armband:ARMP:ARMP -armenia:ARMN:ARMN -armfuls:ARMF:ARMF -armhole:ARML:ARML -armiger:ARMJ:ARMK -armless:ARML:ARML -armlets:ARML:ARML -armlike:ARML:ARML -armload:ARML:ARML -armored:ARMR:ARMR -armorer:ARMR:ARMR -armpits:ARMP:ARMP -armrest:ARMR:ARMR -arnicas:ARNK:ARNK -arousal:ARSL:ARSL -aroused:ARST:ARST -arouser:ARSR:ARSR -arouses:ARSS:ARSS -arraign:ARN:ARKN -arramed:ARMT:ARMT -arrange:ARNJ:ARNK -arrases:ARSS:ARSS -arrayal:ARL:ARL -arrayed:ART:ART -arrears:ARRS:ARRS -arrests:ARST:ARST -arrival:ARFL:ARFL -arrived:ARFT:ARFT -arriver:ARFR:ARFR -arrives:ARFS:ARFS -arrowed:ART:ART -arroyos:ARS:ARS -arsenal:ARSN:ARSN -arsenic:ARSN:ARSN -arsines:ARSN:ARSN -arsonic:ARSN:ARSN -artefac:ARTF:ARTF -artemis:ARTM:ARTM -arteria:ARTR:ARTR -arthral:AR0R:ARTR -article:ARTK:ARTK -artiest:ARTS:ARTS -artisan:ARTS:ARTS -artiste:ARTS:ARTS -artists:ARTS:ARTS -artless:ARTL:ARTL -artwork:ARTR:ARTR -ascarid:ASKR:ASKR -ascaris:ASKR:ASKR -ascends:ASNT:ASNT -ascents:ASNT:ASNT -ascesis:ASSS:ASSS -ascetic:ASTK:ASTK -aschoff:AXF:AXF -ascites:ASTS:ASTS -ascitic:ASTK:ASTK -ascribe:ASKP:ASKP -asepses:ASPS:ASPS -asepsis:ASPS:ASPS -aseptic:ASPT:ASPT -asexual:ASKS:ASKS -ashamed:AXMT:AXMT -ashford:AXFR:AXFR -ashiest:AXST:AXST -ashkeys:AXKS:AXKS -ashlars:AXLR:AXLR -ashrams:AXRM:AXRM -ashtead:AXTT:AXTT -ashtray:AXTR:AXTR -asiatic:ASTK:AXTK -asinine:ASNN:ASNN -askance:ASKN:ASKN -asocial:ASSL:ASXL -aspects:ASPK:ASPK -asperse:ASPR:ASPR -asphalt:ASFL:ASFL -aspidia:ASPT:ASPT -aspired:ASPR:ASPR -aspirer:ASPR:ASPR -aspires:ASPR:ASPR -aspirin:ASPR:ASPR -asquint:ASKN:ASKN -assagai:ASK:ASK -assails:ASLS:ASLS -assault:ASLT:ASLT -assayed:AST:AST -assayer:ASR:ASR -assegai:ASK:ASK -assents:ASNT:ASNT -asserts:ASRT:ASRT -assigns:ASNS:ASKN -assists:ASST:ASST -assizer:ASSR:ASSR -assizes:ASSS:ASSS -assorts:ASRT:ASRT -assuage:ASJ:ASK -assumed:ASMT:ASMT -assumer:ASMR:ASMR -assumes:ASMS:ASMS -assured:ASRT:ASRT -assurer:ASRR:ASRR -assures:ASRS:ASRS -assuror:ASRR:ASRR -assyria:ASR:ASR -astable:ASTP:ASTP -astasia:ASTS:ASTX -astatic:ASTT:ASTT -asteria:ASTR:ASTR -astheny:AS0N:ASTN -astilbe:ASTL:ASTL -astomia:ASTM:ASTM -astound:ASTN:ASTN -astrict:ASTR:ASTR -astride:ASTR:ASTR -astroid:ASTR:ASTR -asunder:ASNT:ASNT -asylums:ASLM:ASLM -atactic:ATKT:ATKT -ataraxy:ATRK:ATRK -atavism:ATFS:ATFS -atavist:ATFS:ATFS -ataxias:ATKS:ATKS -ataxies:ATKS:ATKS -atelier:ATL:ATLR -atheism:A0SM:ATSM -atheist:A0ST:ATST -athelia:A0L:ATL -athirst:A0RS:ATRS -athlete:A0LT:ATLT -athwart:A0RT:ATRT -atlanta:ATLN:ATLN -atlases:ATLS:ATLS -atomics:ATMK:ATMK -atomism:ATMS:ATMS -atomist:ATMS:ATMS -atomize:ATMS:ATMS -atoners:ATNR:ATNR -atonies:ATNS:ATNS -atoning:ATNN:ATNN -atopies:ATPS:ATPS -atremia:ATRM:ATRM -atresia:ATRS:ATRX -atresic:ATRS:ATRS -atretic:ATRT:ATRT -atriums:ATRM:ATRM -atrophy:ATRF:ATRF -attaboy:ATP:ATP -attache:ATX:ATK -attacks:ATKS:ATKS -attains:ATNS:ATNS -attaint:ATNT:ATNT -attempt:ATMP:ATMP -attends:ATNT:ATNT -attests:ATST:ATST -attired:ATRT:ATRT -attires:ATRS:ATRS -attract:ATRK:ATRK -attuned:ATNT:ATNT -attunes:ATNS:ATNS -atypism:ATPS:ATPS -auberge:APRJ:APRK -auction:AKXN:AKXN -auctors:AKTR:AKTR -audible:ATPL:ATPL -audibly:ATPL:ATPL -audited:ATTT:ATTT -auditor:ATTR:ATTR -audubon:ATPN:ATPN -augends:AJNT:AKNT -augment:AKMN:AKMN -augural:AKRL:AKRL -augured:AKRT:AKRT -augusta:AKST:AKST -auguste:AKST:AKST -augusts:AKST:AKST -auklets:AKLT:AKLT -aunties:ANTS:ANTS -aurally:ARL:ARL -aureate:ART:ART -aureole:ARL:ARL -auricle:ARKL:ARKL -aurists:ARST:ARST -aurochs:ARKS:ARKS -auroral:ARRL:ARRL -auroras:ARRS:ARRS -auspice:ASPS:ASPS -aussies:ASS:ASS -austere:ASTR:ASTR -austral:ASTR:ASTR -austria:ASTR:ASTR -autarky:ATRK:ATRK -authors:A0RS:ATRS -autocad:ATKT:ATKT -automat:ATMT:ATMT -autopsy:ATPS:ATPS -autosex:ATSK:ATSK -autumns:ATMN:ATMN -auxeses:AKSS:AKSS -auxesis:AKSS:AKSS -auxetic:AKST:AKST -availed:AFLT:AFLT -availer:AFLR:AFLR -avarice:AFRS:AFRS -avatars:AFTR:AFTR -avenged:AFNJ:AFNK -avenger:AFNK:AFNJ -avenges:AFNJ:AFNK -avenine:AFNN:AFNN -avenues:AFNS:AFNS -average:AFRJ:AFRK -averred:AFRT:AFRT -averrer:AFRR:AFRR -averted:AFRT:AFRT -aviated:AFTT:AFTT -aviates:AFTS:AFTS -aviator:AFTR:AFTR -avidity:AFTT:AFTT -avignon:AFNN:AFKN -avionic:AFNK:AFNK -avocado:AFKT:AFKT -avocets:AFST:AFST -avoided:AFTT:AFTT -avoider:AFTR:AFTR -avowals:AFLS:AFLS -avowant:AFNT:AFNT -avowers:AFRS:AFRS -avowing:AFNK:AFNK -avulsed:AFLS:AFLS -awaited:ATT:ATT -awakens:AKNS:AKNS -awaking:AKNK:AKNK -awarded:ARTT:ARTT -awardee:ART:ART -awarder:ARTR:ARTR -awesome:ASM:ASM -awfully:AFL:AFL -awkward:AKRT:AKRT -awnings:ANNK:ANNK -axially:AKSL:AKSL -axillae:AKSL:AKSL -axillar:AKSL:AKSL -axillas:AKSL:AKSL -axolotl:AKSL:AKSL -axoneme:AKSN:AKSN -axseeds:AKSS:AKSS -azaleas:ASLS:ASLS -azelaic:ASLK:ASLK -azimuth:ASM0:ASMT -azotise:ASTS:ASTS -aztecan:ASTK:ASTK -azygous:ASKS:ASKS -babbitt:PPT:PPT -babbled:PPLT:PPLT -babbler:PPLR:PPLR -babbles:PPLS:PPLS -babcock:PPKK:PPKK -babesia:PPS:PPX -baboons:PPNS:PPNS -babying:PPNK:PPNK -babyish:PPX:PPX -babylon:PPLN:PPLN -babysit:PPST:PPST -baccate:PKT:PKT -bacchic:PXK:PXK -bacchus:PKS:PKS -bacilli:PSL:PSL -backbit:PKPT:PKPT -backers:PKRS:PKRS -backhoe:PK:PK -backing:PKNK:PKNK -backlog:PKLK:PKLK -backups:PKPS:PKPS -baconer:PKNR:PKNR -bacteri:PKTR:PKTR -baculum:PKLM:PKLM -baddies:PTS:PTS -baddish:PTX:PTX -badgers:PJRS:PJRS -badness:PTNS:PTNS -baffled:PFLT:PFLT -baffler:PFLR:PFLR -baffles:PFLS:PFLS -bagasse:PKS:PKS -bagfuls:PKFL:PKFL -baggage:PKJ:PKK -baggers:PKRS:PKRS -baggier:PJ:PKR -baggily:PJL:PKL -bagging:PJNK:PKNK -baghdad:PTT:PTT -bagnios:PNS:PKNS -bagpipe:PKPP:PKPP -bagsful:PKSF:PKSF -bahaism:PHSM:PHSM -bahaist:PHST:PHST -bahaite:PHT:PHT -bahamas:PHMS:PHMS -bahrain:PRN:PRN -bailees:PLS:PLS -bailers:PLRS:PLRS -bailies:PLS:PLS -bailiff:PLF:PLF -bailing:PLNK:PLNK -bailors:PLRS:PLRS -bailout:PLT:PLT -baiters:PTRS:PTRS -baiting:PTNK:PTNK -baklava:PKLF:PKLF -balance:PLNS:PLNS -balanic:PLNK:PLNK -balboas:PLPS:PLPS -balcony:PLKN:PLKN -baldest:PLTS:PLTS -balding:PLTN:PLTN -baldish:PLTX:PLTX -baldric:PLTR:PLTR -baleens:PLNS:PLNS -baleful:PLFL:PLFL -balkans:PLKN:PLKN -balkers:PLKR:PLKR -balkier:PLKR:PLKR -balking:PLKN:PLKN -ballade:PLT:PLT -ballads:PLTS:PLTS -ballast:PLST:PLST -ballers:PLRS:PLRS -ballets:PLTS:PLTS -balling:PLNK:PLNK -ballism:PLSM:PLSM -ballium:PLM:PLM -ballivo:PLF:PLF -balloon:PLN:PLN -ballots:PLTS:PLTS -ballute:PLT:PLT -balmier:PLM:PLMR -balmily:PLML:PLML -balneal:PLNL:PLNL -baloney:PLN:PLN -balsams:PLSM:PLSM -baluchi:PLX:PLK -balusts:PLST:PLST -bambini:PMPN:PMPN -bambino:PMPN:PMPN -bamboos:PMPS:PMPS -banally:PNL:PNL -bananas:PNNS:PNNS -banbury:PNPR:PNPR -bandage:PNTJ:PNTK -bandana:PNTN:PNTN -bandbox:PNTP:PNTP -bandeau:PNT:PNT -banders:PNTR:PNTR -bandied:PNTT:PNTT -bandies:PNTS:PNTS -banding:PNTN:PNTN -bandits:PNTT:PNTT -baneful:PNFL:PNFL -bangers:PNKR:PNJR -banging:PNJN:PNKN -bangkok:PNKK:PNKK -bangles:PNKL:PNKL -banjoes:PNJS:PNJS -bankers:PNKR:PNKR -bankets:PNKT:PNKT -banking:PNKN:PNKN -banksia:PNKS:PNKS -banners:PNRS:PNRS -banning:PNNK:PNNK -bannist:PNST:PNST -bannock:PNK:PNK -banquet:PNKT:PNKT -banshee:PNX:PNX -bantams:PNTM:PNTM -banters:PNTR:PNTR -banting:PNTN:PNTN -banyans:PNNS:PNNS -banzais:PNS:PNSS -baobabs:PPPS:PPPS -baptism:PPTS:PPTS -baptist:PPTS:PPTS -baptize:PPTS:PPTS -barbara:PRPR:PRPR -barbary:PRPR:PRPR -barbate:PRPT:PRPT -barbell:PRPL:PRPL -barbels:PRPL:PRPL -barbers:PRPR:PRPR -barbets:PRPT:PRPT -barbing:PRPN:PRPN -barbola:PRPL:PRPL -barbone:PRPN:PRPN -bardies:PRTS:PRTS -bareleg:PRLK:PRLK -barfing:PRFN:PRFN -bargain:PRKN:PRKN -bargees:PRJS:PRKS -barging:PRJN:PRKN -barilla:PRL:PRL -barkeep:PRKP:PRKP -barkers:PRKR:PRKR -barking:PRKN:PRKN -barleys:PRLS:PRLS -barmaid:PRMT:PRMT -barmier:PRM:PRMR -barmote:PRMT:PRMT -barneys:PRNS:PRNS -baronet:PRNT:PRNT -baroque:PRK:PRK -barosma:PRSM:PRSM -barques:PRKS:PRKS -barrack:PRK:PRK -barrage:PRJ:PRK -barrels:PRLS:PRLS -barrens:PRNS:PRNS -barrets:PRTS:PRTS -barrier:PR:PRR -barring:PRNK:PRNK -barrios:PRS:PRS -barroom:PRM:PRM -barrows:PRS:PRS -bartend:PRTN:PRTN -barters:PRTR:PRTR -baryons:PRNS:PRNS -barytes:PRTS:PRTS -barytic:PRTK:PRTK -basales:PSLS:PSLS -basalis:PSLS:PSLS -basally:PSL:PSL -bascule:PSKL:PSKL -basedow:PST:PSTF -baseman:PSMN:PSMN -basemen:PSMN:PSMN -basenji:PSNJ:PSNJ -bashers:PXRS:PXRS -bashful:PXFL:PXFL -bashing:PXNK:PXNK -basidia:PST:PST -basilar:PSLR:PSLR -basilic:PSLK:PSLK -basinet:PSNT:PSNT -baskets:PSKT:PSKT -basking:PSKN:PSKN -basotho:PS0:PST -basques:PSKS:PSKS -bassets:PSTS:PSTS -bassist:PSST:PSST -bassoon:PSN:PSN -bastard:PSTR:PSTR -bastian:PSXN:PSXN -basting:PSTN:PSTN -bastion:PSXN:PSXN -batched:PXT:PXT -batches:PXS:PXS -bateaux:PT:PT -bathers:P0RS:PTRS -bathing:P0NK:PTNK -bathtub:P0TP:PTTP -bathyal:P0L:PTL -batiste:PTST:PTST -batsman:PTSM:PTSM -batsmen:PTSM:PTSM -battels:PTLS:PTLS -battens:PTNS:PTNS -batters:PTRS:PTRS -battery:PTR:PTR -battier:PT:PTR -batting:PTNK:PTNK -battled:PTLT:PTLT -battler:PTLR:PTLR -battles:PTLS:PTLS -batture:PTR:PTR -batwing:PTNK:PTNK -baubles:PPLS:PPLS -bauxite:PKST:PKST -bawbees:PPS:PPS -bawdier:PTR:PTR -bawdily:PTL:PTL -bawlers:PLRS:PLRS -bawling:PLNK:PLNK -baygall:PKL:PKL -bayonet:PNT:PNT -bazaars:PSRS:PSRS -bazooka:PSK:PTSK -beached:PXT:PKT -beaches:PXS:PKS -beacons:PKNS:PKNS -beadier:PT:PTR -beading:PTNK:PTNK -beadles:PTLS:PTLS -beagles:PKLS:PKLS -beakers:PKRS:PKRS -beakier:PKR:PKR -beamers:PMRS:PMRS -beaming:PMNK:PMNK -beanbag:PNPK:PNPK -beaners:PNRS:PNRS -beanery:PNR:PNR -beanies:PNS:PNS -beaning:PNNK:PNNK -bearcat:PRKT:PRKT -bearded:PRTT:PRTT -bearers:PRRS:PRRS -beareth:PR0:PRT -bearing:PRNK:PRNK -bearish:PRX:PRX -beastly:PSTL:PSTL -beaters:PTRS:PTRS -beatify:PTF:PTF -beating:PTNK:PTNK -beatles:PTLS:PTLS -beatnik:PTNK:PTNK -beavers:PFRS:PFRS -becalms:PKLM:PKLM -because:PKS:PKS -beckons:PKNS:PKNS -becloud:PKLT:PKLT -becomes:PKMS:PKMS -bedaubs:PTPS:PTPS -bedbugs:PTPK:PTPK -bedders:PTRS:PTRS -bedding:PTNK:PTNK -bedecks:PTKS:PTKS -bedevil:PTFL:PTFL -bedewed:PTT:PTT -bedfast:PTFS:PTFS -bedford:PTFR:PTFR -bedizen:PTSN:PTSN -bedouin:PTN:PTN -bedpans:PTPN:PTPN -bedpost:PTPS:PTPS -bedrock:PTRK:PTRK -bedroll:PTRL:PTRL -bedroom:PTRM:PTRM -bedside:PTST:PTST -bedsore:PTSR:PTSR -bedtime:PTM:PTM -beechen:PXN:PKN -beecher:PXR:PKR -beeches:PXS:PKS -beefalo:PFL:PFL -beefers:PFRS:PFRS -beefier:PF:PFR -beefily:PFL:PFL -beefing:PFNK:PFNK -beehive:PHF:PHF -beelike:PLK:PLK -beeline:PLN:PLN -beepers:PPRS:PPRS -beeping:PPNK:PPNK -beeswax:PSKS:PSKS -beetled:PTLT:PTLT -beetles:PTLS:PTLS -beezers:PSRS:PSRS -befalls:PFLS:PFLS -befouls:PFLS:PFLS -beggars:PKRS:PKRS -beggary:PKR:PKR -begging:PKNK:PKNK -begonia:PKN:PKN -begrime:PKRM:PKRM -beguile:PKL:PKL -beguine:PKN:PKN -behaved:PHFT:PHFT -behaves:PHFS:PHFS -beheads:PHTS:PHTS -behenic:PHNK:PHNK -behests:PHST:PHST -behinds:PHNT:PHNT -beholds:PHLT:PHLT -behoove:PHF:PHF -behoved:PHFT:PHFT -behoves:PHFS:PHFS -beigels:PJLS:PKLS -bejewel:PJL:PJL -belabor:PLPR:PLPR -belated:PLTT:PLTT -belayed:PLT:PLT -belched:PLXT:PLKT -belches:PLXS:PLKS -beldams:PLTM:PLTM -belfast:PLFS:PLFS -belgian:PLJN:PLKN -belgium:PLJM:PLKM -belibel:PLPL:PLPL -beliefs:PLFS:PLFS -beliers:PLRS:PLRS -believe:PLF:PLF -belinda:PLNT:PLNT -belisha:PLX:PLX -bellboy:PLP:PLP -bellhop:PLP:PLP -bellied:PLT:PLT -bellies:PLS:PLS -bellini:PLN:PLN -bellman:PLMN:PLMN -bellmen:PLMN:PLMN -bellows:PLS:PLS -belongs:PLNK:PLNK -beloved:PLFT:PLFT -beltane:PLTN:PLTN -belting:PLTN:PLTN -beltway:PLT:PLT -belugas:PLKS:PLKS -belying:PLNK:PLNK -bemired:PMRT:PMRT -bemires:PMRS:PMRS -bemoans:PMNS:PMNS -bemused:PMST:PMST -bemuses:PMSS:PMSS -benched:PNXT:PNKT -bencher:PNXR:PNKR -benches:PNXS:PNKS -benders:PNTR:PNTR -bendier:PNT:PNTR -bending:PNTN:PNTN -beneath:PN0:PNT -benefic:PNFK:PNFK -benefit:PNFT:PNFT -benelux:PNLK:PNLK -bengale:PNKL:PNKL -bengali:PNKL:PNKL -bengals:PNKL:PNKL -benight:PNT:PNT -benison:PNSN:PNSN -bennies:PNS:PNS -benthal:PN0L:PNTL -benthic:PN0K:PNTK -benthon:PN0N:PNTN -benthos:PN0S:PNTS -benumbs:PNMP:PNMP -benzene:PNSN:PNSN -benzine:PNSN:PNSN -benzoic:PNSK:PNSK -benzoin:PNSN:PNSN -benzoyl:PNSL:PNSL -bequest:PKST:PKST -berated:PRTT:PRTT -berates:PRTS:PRTS -berbers:PRPR:PRPR -berbice:PRPS:PRPS -bereave:PRF:PRF -bergere:PRKR:PRJR -bergman:PRKM:PRKM -bermuda:PRMT:PRMT -bernard:PRNR:PRNR -bernese:PRNS:PRNS -berried:PRT:PRT -berries:PRS:PRS -berserk:PRSR:PRSR -berthas:PR0S:PRTS -berthed:PR0T:PRTT -berthes:PR0S:PRTS -berwick:PRK:PRK -beseech:PSK:PSK -beseems:PSMS:PSMS -beseige:PSJ:PSK -beshrew:PXR:PXRF -besides:PSTS:PSTS -besiege:PSJ:PSK -besmear:PSMR:PSMR -bespeak:PSPK:PSPK -bespoke:PSPK:PSPK -bestead:PSTT:PSTT -bestial:PSXL:PSXL -besting:PSTN:PSTN -bestirs:PSTR:PSTR -bestows:PSTS:PSTS -bestrew:PSTR:PSTR -betaine:PTN:PTN -betaken:PTKN:PTKN -betakes:PTKS:PTKS -bethany:P0N:PTN -bethels:P0LS:PTLS -bethink:P0NK:PTNK -betided:PTTT:PTTT -betides:PTTS:PTTS -betimes:PTMS:PTMS -betises:PTSS:PTSS -betoken:PTKN:PTKN -betrays:PTRS:PTRS -betroth:PTR0:PTRT -betters:PTRS:PTRS -betting:PTNK:PTNK -bettong:PTNK:PTNK -bettors:PTRS:PTRS -betulin:PTLN:PTLN -between:PTN:PTN -betwixt:PTKS:PTKS -beveled:PFLT:PFLT -beveler:PFLR:PFLR -bewails:PLS:PLS -bewared:PRT:PRT -bewares:PRS:PRS -bewitch:PX:PX -bezants:PSNT:PSNT -bezique:PSK:PSK -biasing:PSNK:PSNK -biassed:PST:PST -biasses:PSS:PSS -biaxial:PKSL:PKSL -bibbers:PPRS:PPRS -bibbing:PPNK:PPNK -bibcock:PPKK:PPKK -bibelot:PPLT:PPLT -bibliog:PPLK:PPLK -bickers:PKRS:PKRS -bicycle:PSKL:PSKL -bidders:PTRS:PTRS -biddies:PTS:PTS -bidding:PTNK:PTNK -biennia:PN:PN -biermer:PRMR:PRMR -biffing:PFNK:PFNK -biffins:PFNS:PFNS -bifidly:PFTL:PFTL -bifocal:PFKL:PFKL -bigfoot:PKFT:PKFT -biggest:PKST:PKST -biggies:PKS:PKS -biggish:PKX:PKX -bighead:PT:PT -bighorn:PRN:PRN -bigness:PNS:PKNS -bigoted:PKTT:PKTT -bigotry:PKTR:PKTR -bigwigs:PKKS:PKKS -bikeway:PK:PK -bikinis:PKNS:PKNS -bilayer:PLR:PLR -bilbies:PLPS:PLPS -bilboes:PLPS:PLPS -bilging:PLJN:PLKN -biliary:PLR:PLR -bilious:PLS:PLS -bilkers:PLKR:PLKR -bilking:PLKN:PLKN -billers:PLRS:PLRS -billets:PLTS:PLTS -billies:PLS:PLS -billing:PLNK:PLNK -billion:PLN:PLN -billows:PLS:PLS -billowy:PL:PL -bilobed:PLPT:PLPT -biltong:PLTN:PLTN -bimodal:PMTL:PMTL -bimonth:PMN0:PMNT -binders:PNTR:PNTR -bindery:PNTR:PNTR -binding:PNTN:PNTN -binging:PNJN:PNKN -biocide:PST:PST -biogens:PJNS:PKNS -bioherm:PHRM:PHRM -biology:PLJ:PLK -biomass:PMS:PMS -bionics:PNKS:PNKS -bionomy:PNM:PNM -biopsic:PPSK:PPSK -bioptic:PPTK:PPTK -biotite:PTT:PTT -biotope:PTP:PTP -biotron:PTRN:PTRN -biotype:PTP:PTP -bipedal:PPTL:PPTL -biplane:PPLN:PPLN -bipolar:PPLR:PPLR -birched:PRXT:PRKT -birchen:PRXN:PRKN -bircher:PRXR:PRKR -birches:PRXS:PRKS -birders:PRTR:PRTR -birdied:PRTT:PRTT -birdies:PRTS:PRTS -birdman:PRTM:PRTM -birdmen:PRTM:PRTM -biremes:PRMS:PRMS -biretta:PRT:PRT -biriani:PRN:PRN -birthed:PR0T:PRTT -birthes:PR0S:PRTS -biryani:PRN:PRN -biscuit:PSKT:PSKT -bisects:PSKT:PSKT -bisexed:PSKS:PSKS -bishops:PXPS:PXPS -bismark:PSMR:PSMR -bismuth:PSM0:PSMT -bisques:PSKS:PSKS -bistort:PSTR:PSTR -bistros:PSTR:PSTR -bitmaps:PTMP:PTMP -bittern:PTRN:PTRN -bitters:PTRS:PTRS -bittier:PT:PTR -bitting:PTNK:PTNK -bitumen:PTMN:PTMN -bitwise:PTS:PTS -bivalve:PFLF:PFLF -bivouac:PFK:PFK -bizarre:PSR:PSR -blabbed:PLPT:PLPT -blabber:PLPR:PLPR -blacked:PLKT:PLKT -blacken:PLKN:PLKN -blacker:PLKR:PLKR -blackle:PLKL:PLKL -blackly:PLKL:PLKL -bladder:PLTR:PLTR -blalock:PLLK:PLLK -blamers:PLMR:PLMR -blaming:PLMN:PLMN -blanche:PLNX:PLNK -blander:PLNT:PLNT -blandly:PLNT:PLNT -blanked:PLNK:PLNK -blanker:PLNK:PLNK -blanket:PLNK:PLNK -blankly:PLNK:PLNK -blaring:PLRN:PLRN -blarney:PLRN:PLRN -blasted:PLST:PLST -blaster:PLST:PLST -blastic:PLST:PLST -blastin:PLST:PLST -blatant:PLTN:PLTN -blather:PL0R:PLTR -blazers:PLSR:PLSR -blazing:PLSN:PLSN -blazons:PLSN:PLSN -bleaker:PLKR:PLKR -bleakly:PLKL:PLKL -bleared:PLRT:PLRT -bleated:PLTT:PLTT -bleater:PLTR:PLTR -bleeder:PLTR:PLTR -bleeped:PLPT:PLPT -bleeper:PLPR:PLPR -blemish:PLMX:PLMX -blended:PLNT:PLNT -blender:PLNT:PLNT -blessed:PLST:PLST -blesses:PLSS:PLSS -blether:PL0R:PLTR -blights:PLTS:PLTS -blighty:PLT:PLT -blinded:PLNT:PLNT -blinder:PLNT:PLNT -blindly:PLNT:PLNT -blinked:PLNK:PLNK -blinker:PLNK:PLNK -blintze:PLNT:PLNT -blipped:PLPT:PLPT -blipper:PLPR:PLPR -blister:PLST:PLST -blither:PL0R:PLTR -blitzed:PLTS:PLTS -blitzes:PLTS:PLTS -bloated:PLTT:PLTT -bloater:PLTR:PLTR -blobbed:PLPT:PLPT -blocked:PLKT:PLKT -blocker:PLKR:PLKR -blonder:PLNT:PLNT -blondes:PLNT:PLNT -blooded:PLTT:PLTT -bloomed:PLMT:PLMT -bloomer:PLMR:PLMR -blooper:PLPR:PLPR -blossom:PLSM:PLSM -blotchy:PLX:PLX -blotted:PLTT:PLTT -blotter:PLTR:PLTR -bloused:PLST:PLST -blouses:PLSS:PLSS -blouson:PLSN:PLSN -blowers:PLRS:PLRS -blowfly:PLFL:PLFL -blowgun:PLKN:PLKN -blowier:PLR:PLR -blowing:PLNK:PLNK -blowout:PLT:PLT -blowups:PLPS:PLPS -blubbed:PLPT:PLPT -blubber:PLPR:PLPR -blucher:PLXR:PLKR -bludged:PLJT:PLJT -bludger:PLJR:PLJR -blueing:PLNK:PLNK -blueish:PLX:PLX -bluetit:PLTT:PLTT -bluffed:PLFT:PLFT -bluffer:PLFR:PLFR -bluffly:PLFL:PLFL -blunder:PLNT:PLNT -blunged:PLNJ:PLNK -blunger:PLNK:PLNJ -blunges:PLNJ:PLNK -blunted:PLNT:PLNT -blunter:PLNT:PLNT -bluntly:PLNT:PLNT -blurred:PLRT:PLRT -blurted:PLRT:PLRT -blushed:PLXT:PLXT -blusher:PLXR:PLXR -blushes:PLXS:PLXS -bluster:PLST:PLST -boarded:PRTT:PRTT -boarder:PRTR:PRTR -boarish:PRX:PRX -boasted:PSTT:PSTT -boaster:PSTR:PSTR -boatels:PTLS:PTLS -boaters:PTRS:PTRS -boating:PTNK:PTNK -boatman:PTMN:PTMN -boatmen:PTMN:PTMN -bobbers:PPRS:PPRS -bobbery:PPR:PPR -bobbies:PPS:PPS -bobbing:PPNK:PPNK -bobbins:PPNS:PPNS -bobbled:PPLT:PPLT -bobbles:PPLS:PPLS -bobcats:PPKT:PPKT -boblets:PPLT:PPLT -bobsled:PPSL:PPSL -bobstay:PPST:PPST -bobtail:PPTL:PPTL -bodices:PTSS:PTSS -bodkins:PTKN:PTKN -bodying:PTNK:PTNK -boffins:PFNS:PFNS -boggier:PJ:PKR -bogging:PJNK:PKNK -boggled:PKLT:PKLT -boggles:PKLS:PKLS -bogusly:PKSL:PKSL -bogwood:PKT:PKT -bohemia:PHM:PHM -boilary:PLR:PLR -boilers:PLRS:PLRS -boiling:PLNK:PLNK -bolases:PLSS:PLSS -boldest:PLTS:PLTS -boldine:PLTN:PLTN -bolding:PLTN:PLTN -boleros:PLRS:PLRS -bolivar:PLFR:PLFR -bolivia:PLF:PLF -bollard:PLRT:PLRT -bolling:PLNK:PLNK -bologna:PLN:PLKN -boloney:PLN:PLN -bolshie:PLX:PLX -bolster:PLST:PLST -bolters:PLTR:PLTR -bolting:PLTN:PLTN -boluses:PLSS:PLSS -bombard:PMPR:PMPR -bombast:PMPS:PMPS -bombers:PMPR:PMPR -bombing:PMPN:PMPN -bombora:PMPR:PMPR -bonanza:PNNS:PNNS -bonbons:PNPN:PNPN -bondage:PNTJ:PNTK -bonders:PNTR:PNTR -bonding:PNTN:PNTN -bondman:PNTM:PNTM -bondmen:PNTM:PNTM -bonelet:PNLT:PNLT -bonfire:PNFR:PNFR -bonging:PNJN:PNKN -bongoes:PNKS:PNKS -boniest:PNST:PNST -bonists:PNST:PNST -bonitos:PNTS:PNTS -bonjour:PNJR:PNJR -bonkers:PNKR:PNKR -bonnets:PNTS:PNTS -bonnier:PN:PNR -bonnily:PNL:PNL -bonorum:PNRM:PNRM -bonsoir:PNSR:PNSR -bonuses:PNSS:PNSS -boobies:PPS:PPS -boobook:PPK:PPK -booboos:PPS:PPS -boodled:PTLT:PTLT -boodles:PTLS:PTLS -boogied:PJT:PKT -boogies:PJS:PKS -bookend:PKNT:PKNT -bookers:PKRS:PKRS -bookies:PKS:PKS -booking:PKNK:PKNK -bookish:PKX:PKX -booklet:PKLT:PKLT -boolean:PLN:PLN -boomage:PMJ:PMK -booming:PMNK:PMNK -boomkin:PMKN:PMKN -boonies:PNS:PNS -boorish:PRX:PRX -boosted:PSTT:PSTT -booster:PSTR:PSTR -bootees:PTS:PTS -bootery:PTR:PTR -boothes:P0S:PTS -booties:PTS:PTS -booting:PTNK:PTNK -bootleg:PTLK:PTLK -boozers:PSRS:PSRS -boozier:PS:PSR -boozing:PSNK:PSNK -boppers:PPRS:PPRS -bopping:PPNK:PPNK -boraces:PRSS:PRSS -boracic:PRSK:PRSK -borated:PRTT:PRTT -borates:PRTS:PRTS -boraxes:PRKS:PRKS -borders:PRTR:PRTR -bordure:PRTR:PRTR -boredom:PRTM:PRTM -bornane:PRNN:PRNN -borneol:PRNL:PRNL -bornite:PRNT:PRNT -borough:PRF:PRF -borrows:PRS:PRS -borscht:PRXT:PRXT -borstal:PRST:PRST -borzois:PRS:PRSS -boscage:PSKJ:PSKK -boskets:PSKT:PSKT -boskier:PSKR:PSKR -bosnian:PSNN:PSNN -bosomed:PSMT:PSMT -bosquet:PSKT:PSKT -bossier:PS:PSR -bossily:PSL:PSL -bossing:PSNK:PSNK -bossism:PSSM:PSSM -botanic:PTNK:PTNK -botargo:PTRK:PTRK -botched:PXT:PXT -botcher:PXR:PXR -botches:PXS:PXS -bothers:P0RS:PTRS -bothies:P0S:PTS -bothnia:P0N:PTN -bothria:P0R:PTR -bottled:PTLT:PTLT -bottler:PTLR:PTLR -bottles:PTLS:PTLS -bottoms:PTMS:PTMS -botulin:PTLN:PTLN -bouchee:PX:PK -boudoir:PTR:PTR -boughes:PS:PS -bouilli:PL:PL -boulder:PLTR:PLTR -boulter:PLTR:PLTR -bounced:PNST:PNST -bouncer:PNSR:PNSR -bounces:PNSS:PNSS -bounded:PNTT:PNTT -bounden:PNTN:PNTN -bounder:PNTR:PNTR -bouquet:PKT:PKT -bourbon:PRPN:PRPN -bourdon:PRTN:PRTN -boutons:PTNS:PTNS -bouvier:PF:PFR -bovines:PFNS:PFNS -bowknot:PKNT:PKNT -bowlegs:PLKS:PLKS -bowlers:PLRS:PLRS -bowlful:PLFL:PLFL -bowlike:PLK:PLK -bowline:PLN:PLN -bowling:PLNK:PLNK -bowsaws:PSS:PSS -bowsers:PSRS:PSRS -bowyers:PRS:PRS -boxcars:PKSR:PKSR -boxfuls:PKSF:PKSF -boxhaul:PKSL:PKSL -boxlike:PKSL:PKSL -boxroom:PKSR:PKSR -boxtops:PKST:PKST -boxwood:PKST:PKST -boycott:PKT:PKT -boyhood:PHT:PHT -bracero:PRSR:PRSR -bracers:PRSR:PRSR -brachia:PRK:PRK -bracing:PRSN:PRSN -bracken:PRKN:PRKN -bracket:PRKT:PRKT -bradawl:PRTL:PRTL -bradsot:PRTS:PRTS -bragged:PRKT:PRKT -bragger:PRKR:PRKR -brahman:PRMN:PRMN -brahmin:PRMN:PRMN -braided:PRTT:PRTT -braider:PRTR:PRTR -brailed:PRLT:PRLT -braille:PRL:PRL -brained:PRNT:PRNT -braised:PRST:PRST -braises:PRSS:PRSS -braking:PRKN:PRKN -braless:PRLS:PRLS -bramble:PRMP:PRMP -brambly:PRMP:PRMP -bramley:PRML:PRML -branchy:PRNX:PRNK -branded:PRNT:PRNT -brander:PRNT:PRNT -brasher:PRXR:PRXR -brashly:PRXL:PRXL -brasier:PRS:PRSR -brassed:PRST:PRST -brasses:PRSS:PRSS -brassie:PRS:PRS -bravado:PRFT:PRFT -bravely:PRFL:PRFL -bravery:PRFR:PRFR -bravest:PRFS:PRFS -braving:PRFN:PRFN -bravura:PRFR:PRFR -brawled:PRLT:PRLT -brawler:PRLR:PRLR -braxies:PRKS:PRKS -brayera:PRR:PRR -brayers:PRRS:PRRS -braying:PRNK:PRNK -brazers:PRSR:PRSR -brazier:PRS:PRSR -brazing:PRSN:PRSN -breaded:PRTT:PRTT -breadth:PRT:PRT -breaker:PRKR:PRKR -breakup:PRKP:PRKP -breasts:PRST:PRST -breathe:PR0:PRT -breaths:PR0S:PRTS -breathy:PR0:PRT -breccia:PRX:PRX -breeder:PRTR:PRTR -breezed:PRST:PRST -breezes:PRSS:PRSS -bretons:PRTN:PRTN -brevets:PRFT:PRFT -brevity:PRFT:PRFT -brewage:PRJ:PRK -brewers:PRRS:PRRS -brewery:PRR:PRR -brewing:PRNK:PRNK -briards:PRRT:PRRT -bribees:PRPS:PRPS -bribers:PRPR:PRPR -bribery:PRPR:PRPR -bribing:PRPN:PRPN -bricked:PRKT:PRKT -bricker:PRKR:PRKR -brickie:PRK:PRK -brickle:PRKL:PRKL -bricole:PRKL:PRKL -bridged:PRJT:PRJT -bridges:PRJS:PRJS -bridget:PRJT:PRJT -bridled:PRTL:PRTL -bridler:PRTL:PRTL -bridles:PRTL:PRTL -bridoon:PRTN:PRTN -briefed:PRFT:PRFT -briefer:PRFR:PRFR -briefly:PRFL:PRFL -brieing:PRNK:PRNK -brigade:PRKT:PRKT -brigand:PRKN:PRKN -brimful:PRMF:PRMF -brimmed:PRMT:PRMT -brimmer:PRMR:PRMR -brindle:PRNT:PRNT -brinell:PRNL:PRNL -bringed:PRNJ:PRNK -bringer:PRNK:PRNJ -brinier:PRN:PRNR -brinish:PRNX:PRNX -brioche:PRX:PRK -brisant:PRSN:PRSN -brisken:PRSK:PRSK -brisker:PRSK:PRSK -brisket:PRSK:PRSK -briskly:PRSK:PRSK -bristle:PRST:PRST -bristly:PRST:PRST -bristol:PRST:PRST -britain:PRTN:PRTN -british:PRTX:PRTX -britons:PRTN:PRTN -brittle:PRTL:PRTL -brittly:PRTL:PRTL -broaden:PRTN:PRTN -broader:PRTR:PRTR -broadly:PRTL:PRTL -brocade:PRKT:PRKT -brocket:PRKT:PRKT -brogans:PRKN:PRKN -brogues:PRKS:PRKS -broider:PRTR:PRTR -broiled:PRLT:PRLT -broiler:PRLR:PRLR -brokage:PRKJ:PRKK -brokers:PRKR:PRKR -brokery:PRKR:PRKR -broking:PRKN:PRKN -bromate:PRMT:PRMT -bromide:PRMT:PRMT -bromine:PRMN:PRMN -bromism:PRMS:PRMS -bromley:PRML:PRML -bronchi:PRNX:PRNK -broncho:PRNX:PRNK -broncos:PRNK:PRNK -bronzed:PRNS:PRNS -bronzer:PRNS:PRNS -bronzes:PRNS:PRNS -brooded:PRTT:PRTT -brooder:PRTR:PRTR -brooked:PRKT:PRKT -broomed:PRMT:PRMT -broomie:PRM:PRM -brothel:PR0L:PRTL -brother:PR0R:PRTR -brothes:PR0S:PRTS -brought:PRT:PRT -browned:PRNT:PRNT -browner:PRNR:PRNR -brownie:PRN:PRN -browsed:PRST:PRST -browser:PRSR:PRSR -browses:PRSS:PRSS -brucine:PRSN:PRSN -bruised:PRST:PRST -bruiser:PRSR:PRSR -bruises:PRSS:PRSS -bruited:PRTT:PRTT -brumbie:PRMP:PRMP -brummie:PRM:PRM -brunner:PRNR:PRNR -brushed:PRXT:PRXT -brusher:PRXR:PRXR -brushes:PRXS:PRXS -brusker:PRSK:PRSK -bruskly:PRSK:PRSK -brusque:PRSK:PRSK -brutish:PRTX:PRTX -bruxism:PRKS:PRKS -bryonia:PRN:PRN -bubbled:PPLT:PPLT -bubbler:PPLR:PPLR -bubbles:PPLS:PPLS -bubonic:PPNK:PPNK -buccula:PKL:PKL -buckers:PKRS:PKRS -buckets:PKTS:PKTS -buckeye:PK:PK -bucking:PKNK:PKNK -buckish:PKX:PKX -buckled:PKLT:PKLT -buckler:PKLR:PKLR -buckles:PKLS:PKLS -buckram:PKRM:PKRM -bucksaw:PKS:PKSF -bucolic:PKLK:PKLK -budders:PTRS:PTRS -buddies:PTS:PTS -budding:PTNK:PTNK -budgets:PJTS:PJTS -budgies:PJS:PJS -budging:PJNK:PJNK -budlike:PTLK:PTLK -buerger:PRKR:PRJR -bufagin:PFJN:PFKN -buffalo:PFL:PFL -buffers:PFRS:PFRS -buffets:PFTS:PFTS -buffing:PFNK:PFNK -buffoon:PFN:PFN -bugaboo:PKP:PKP -bugbear:PKPR:PKPR -buggers:PKRS:PKRS -buggery:PKR:PKR -buggier:PK:PKR -buggies:PKS:PKS -bugging:PKNK:PKNK -buglers:PKLR:PKLR -bugling:PKLN:PLNK -bugloss:PKLS:PKLS -builded:PLTT:PLTT -builder:PLTR:PLTR -buildup:PLTP:PLTP -bulbous:PLPS:PLPS -bulbuls:PLPL:PLPL -bulgier:PLJ:PLKR -bulging:PLJN:PLKN -bulimia:PLM:PLM -bulimic:PLMK:PLMK -bulkier:PLKR:PLKR -bulkily:PLKL:PLKL -bulking:PLKN:PLKN -bullace:PLS:PLS -bullate:PLT:PLT -bulldog:PLTK:PLTK -bullets:PLTS:PLTS -bullfro:PLFR:PLFR -bullied:PLT:PLT -bullies:PLS:PLS -bulling:PLNK:PLNK -bullion:PLN:PLN -bullish:PLX:PLX -bullock:PLK:PLK -bullose:PLS:PLS -bullous:PLS:PLS -bullpen:PLPN:PLPN -bulrush:PLRX:PLRX -bulwark:PLRK:PLRK -bumbled:PMPL:PMPL -bumbler:PMPL:PMPL -bumbles:PMPL:PMPL -bumboat:PMPT:PMPT -bummers:PMRS:PMRS -bummest:PMST:PMST -bumming:PMNK:PMNK -bumpers:PMPR:PMPR -bumpier:PMP:PMPR -bumpily:PMPL:PMPL -bumping:PMPN:PMPN -bumpkin:PMPK:PMPK -bunched:PNXT:PNKT -bunches:PNXS:PNKS -bundled:PNTL:PNTL -bundler:PNTL:PNTL -bundles:PNTL:PNTL -bunging:PNJN:PNKN -bungled:PNKL:PNKL -bungler:PNKL:PNKL -bungles:PNKL:PNKL -bunions:PNNS:PNNS -bunkers:PNKR:PNKR -bunking:PNKN:PNKN -bunnies:PNS:PNS -bunraku:PNRK:PNRK -bunters:PNTR:PNTR -bunting:PNTN:PNTN -buoyage:PJ:PK -buoyant:PNT:PNT -buoying:PNK:PNK -burbled:PRPL:PRPL -burbler:PRPL:PRPL -burbles:PRPL:PRPL -burdens:PRTN:PRTN -burdock:PRTK:PRTK -bureaus:PRS:PRS -bureaux:PR:PR -burette:PRT:PRT -burgage:PRKJ:PRKK -burgees:PRJS:PRKS -burgeon:PRJN:PRKN -burgers:PRKR:PRJR -burgess:PRJS:PRKS -burghal:PRKL:PRKL -burgher:PRKR:PRKR -burghes:PRKS:PRKS -burglar:PRKL:PRKL -burgled:PRKL:PRKL -burgles:PRKL:PRKL -burials:PRLS:PRLS -buriers:PRRS:PRRS -burking:PRKN:PRKN -burkitt:PRKT:PRKT -burlers:PRLR:PRLR -burleys:PRLS:PRLS -burlier:PRL:PRLR -burling:PRLN:PRLN -burmese:PRMS:PRMS -burners:PRNR:PRNR -burning:PRNN:PRNN -burnish:PRNX:PRNX -burnous:PRNS:PRNS -burnout:PRNT:PRNT -burntly:PRNT:PRNT -burping:PRPN:PRPN -burrier:PR:PRR -burring:PRNK:PRNK -burrows:PRS:PRS -bursaes:PRSS:PRSS -bursars:PRSR:PRSR -bursary:PRSR:PRSR -bursula:PRSL:PRSL -burthen:PR0N:PRTN -burundi:PRNT:PRNT -burweed:PRT:PRT -burying:PRNK:PRNK -busbars:PSPR:PSPR -busbies:PSPS:PSPS -busboys:PSPS:PSPS -bushell:PXL:PXL -bushels:PXLS:PXLS -bushido:PXT:PXT -bushier:PX:PXR -bushing:PXNK:PXNK -bushman:PXMN:PXMN -bushmen:PXMN:PXMN -busiest:PSST:PSST -buskers:PSKR:PSKR -busking:PSKN:PSKN -buskins:PSKN:PSKN -bussing:PSNK:PSNK -bustard:PSTR:PSTR -busters:PSTR:PSTR -bustier:PST:PSTR -busting:PSTN:PSTN -bustled:PSTL:PSTL -bustler:PSTL:PSTL -bustles:PSTL:PSTL -busying:PSNK:PSNK -butanol:PTNL:PTNL -butcher:PXR:PXR -butches:PXS:PXS -butlers:PTLR:PTLR -butlery:PTLR:PTLR -butters:PTRS:PTRS -buttery:PTR:PTR -butties:PTS:PTS -butting:PTNK:PTNK -buttock:PTK:PTK -buttons:PTNS:PTNS -buttony:PTN:PTN -butyric:PTRK:PTRK -butyryl:PTRL:PTRL -buxomly:PKSM:PKSM -buzzard:PSRT:PTSR -buzzers:PSRS:PSRS -buzzing:PSNK:PTSN -byelaws:PLS:PLS -bygones:PKNS:PKNS -bylined:PLNT:PLNT -byliner:PLNR:PLNR -bylines:PLNS:PLNS -bypaths:PP0S:PPTS -byplays:PPLS:PPLS -byroads:PRTS:PRTS -byronic:PRNK:PRNK -bywords:PRTS:PRTS -cabalas:KPLS:KPLS -cabanas:KPNS:KPNS -cabaret:KPRT:KPRT -cabbage:KPJ:KPK -cabbala:KPL:KPL -cabbies:KPS:KPS -cabined:KPNT:KPNT -cabinet:KPNT:KPNT -cablets:KPLT:KPLT -cabling:KPLN:KPLN -caboose:KPS:KPS -cachets:KXTS:KKTS -cachexy:KXKS:KKKS -caching:KXNK:KKNK -cachous:KKS:KKS -cachuca:KKK:KKK -cackled:KKLT:KKLT -cackler:KKLR:KKLR -cackles:KKLS:KKLS -cacodyl:KKTL:KKTL -cadaver:KTFR:KTFR -caddice:KTS:KTS -caddied:KTT:KTT -caddies:KTS:KTS -caddish:KTX:KTX -cadelle:KTL:KTL -cadence:KTNS:KTNS -cadency:KTNS:KTNS -cadenza:KTNS:KTNS -caderas:KTRS:KTRS -cadette:KTT:KTT -cadgers:KJRS:KJRS -cadging:KJNK:KJNK -cadmium:KTMM:KTMM -caducei:KTS:KTS -caesium:KSM:KSM -caesura:KSR:KSR -caffeic:KFK:KFK -caffeol:KFL:KFL -caftans:KFTN:KFTN -cagiest:KJST:KKST -cagoule:KKL:KKL -cahinca:KHNK:KHNK -cahoots:KHTS:KHTS -caimans:KMNS:KMNS -caiques:KKS:KKS -caisson:KSN:KSN -caitiff:KTF:KTF -cajaput:KJPT:KHPT -cajeput:KJPT:KJPT -cajoled:KJLT:KHLT -cajoler:KJLR:KHLR -cajoles:KJLS:KHLS -cajuput:KJPT:KJPT -calamus:KLMS:KLMS -calcify:KLSF:KLSF -calcine:KLSN:KLSN -calcite:KLST:KLST -calcium:KLSM:KLSM -calculi:KLKL:KLKL -caldera:KLTR:KLTR -caldron:KLTR:KLTR -caleche:KLX:KLK -calends:KLNT:KLNT -calgary:KLKR:KLKR -caliber:KLPR:KLPR -calibre:KLPR:KLPR -calices:KLSS:KLSS -caliche:KLX:KLK -calicle:KLKL:KLKL -calicos:KLKS:KLKS -caliper:KLPR:KLPR -caliphs:KLFS:KLFS -calkers:KLKR:KLKR -calking:KLKN:KLKN -calkins:KLKN:KLKN -callboy:KLP:KLP -callers:KLRS:KLRS -calling:KLNK:KLNK -callosa:KLS:KLS -callose:KLS:KLS -callous:KLS:KLS -calmant:KLMN:KLMN -calmest:KLMS:KLMS -calming:KLMN:KLMN -calomel:KLML:KLML -caloric:KLRK:KLRK -calorie:KLR:KLR -calotte:KLT:KLT -calqued:KLKT:KLKT -calques:KLKS:KLKS -calumba:KLMP:KLMP -calumet:KLMT:KLMT -calumny:KLMN:KLMN -calvary:KLFR:KLFR -calving:KLFN:KLFN -calyces:KLSS:KLSS -calycle:KLKL:KLKL -calypso:KLPS:KLPS -calyxes:KLKS:KLKS -camails:KMLS:KMLS -cambers:KMPR:KMPR -cambial:KMPL:KMPL -cambist:KMPS:KMPS -cambium:KMPM:KMPM -cambrel:KMPR:KMPR -cambria:KMPR:KMPR -cambric:KMPR:KMPR -camelot:KMLT:KMLT -camerae:KMR:KMR -cameral:KMRL:KMRL -cameras:KMRS:KMRS -cameron:KMRN:KMRN -camises:KMSS:KMSS -campers:KMPR:KMPR -camphor:KMFR:KMFR -campier:KMP:KMPR -campily:KMPL:KMPL -camping:KMPN:KMPN -campion:KMPN:KMPN -canaled:KNLT:KNLT -canales:KNLS:KNLS -canalis:KNLS:KNLS -canapes:KNPS:KNPS -canards:KNRT:KNRT -canasta:KNST:KNST -cancans:KNKN:KNKN -cancels:KNSL:KNSL -cancers:KNSR:KNSR -cancrum:KNKR:KNKR -candela:KNTL:KNTL -candida:KNTT:KNTT -candied:KNTT:KNTT -candies:KNTS:KNTS -candled:KNTL:KNTL -candler:KNTL:KNTL -candles:KNTL:KNTL -canidae:KNT:KNT -canines:KNNS:KNNS -cankers:KNKR:KNKR -canners:KNRS:KNRS -cannery:KNR:KNR -cannier:KN:KNR -cannily:KNL:KNL -canning:KNNK:KNNK -cannons:KNNS:KNNS -cannula:KNL:KNL -canoing:KNNK:KNNK -canonic:KNNK:KNNK -canonry:KNNR:KNNR -canopic:KNPK:KNPK -cantata:KNTT:KNTT -canteen:KNTN:KNTN -canters:KNTR:KNTR -canthal:KN0L:KNTL -canthus:KN0S:KNTS -canting:KNTN:KNTN -cantles:KNTL:KNTL -cantons:KNTN:KNTN -cantors:KNTR:KNTR -cantrip:KNTR:KNTR -canulae:KNL:KNL -canulas:KNLS:KNLS -canvass:KNFS:KNFS -canyons:KNNS:KNNS -capable:KPPL:KPPL -capably:KPPL:KPPL -capelin:KPLN:KPLN -capella:KPL:KPL -capered:KPRT:KPRT -caperer:KPRR:KPRR -capfuls:KPFL:KPFL -capilli:KPL:KPL -capital:KPTL:KPTL -capitis:KPTS:KPTS -capitol:KPTL:KPTL -caplins:KPLN:KPLN -capones:KPNS:KPNS -caporal:KPRL:KPRL -capotes:KPTS:KPTS -cappers:KPRS:KPRS -capping:KPNK:KPNK -caprate:KPRT:KPRT -caprice:KPRS:KPRS -caprine:KPRN:KPRN -caproic:KPRK:KPRK -caproin:KPRN:KPRN -caproyl:KPRL:KPRL -capsize:KPSS:KPSS -capstan:KPST:KPST -capsula:KPSL:KPSL -capsule:KPSL:KPSL -captain:KPTN:KPTN -caption:KPXN:KPXN -captive:KPTF:KPTF -captors:KPTR:KPTR -capture:KPTR:KPTR -carabao:KRP:KRP -carabid:KRPT:KRPT -caracal:KRKL:KRKL -caracas:KRKS:KRKS -caracul:KRKL:KRKL -carafes:KRFS:KRFS -caramel:KRML:KRML -carates:KRTS:KRTS -caravan:KRFN:KRFN -caravel:KRFL:KRFL -caraway:KR:KR -carbide:KRPT:KRPT -carbine:KRPN:KRPN -carbons:KRPN:KRPN -carboys:KRPS:KRPS -carcase:KRKS:KRKS -carcass:KRKS:KRKS -carceag:KRSK:KRSK -carders:KRTR:KRTR -cardiac:KRTK:KRTK -cardiae:KRT:KRT -cardias:KRTS:KRTS -cardiff:KRTF:KRTF -carding:KRTN:KRTN -cardoon:KRTN:KRTN -careens:KRNS:KRNS -careers:KRRS:KRRS -careful:KRFL:KRFL -carfare:KRFR:KRFR -cargoes:KRKS:KRKS -carhops:KRPS:KRPS -caribou:KRP:KRP -carinae:KRN:KRN -carinas:KRNS:KRNS -cariole:KRL:KRL -carious:KRS:KRS -carline:KRLN:KRLN -carling:KRLN:KRLN -carlins:KRLN:KRLN -carlism:KRLS:KRLS -carlist:KRLS:KRLS -carload:KRLT:KRLT -carmine:KRMN:KRMN -carnage:KRNJ:KRNK -carnets:KRNT:KRNT -carnied:KRNT:KRNT -carnies:KRNS:KRNS -caroche:KRX:KRK -caroled:KRLT:KRLT -caroler:KRLR:KRLR -carolyn:KRLN:KRLN -caromed:KRMT:KRMT -carotic:KRTK:KRTK -carotid:KRTT:KRTT -carotin:KRTN:KRTN -carouse:KRS:KRS -carpale:KRPL:KRPL -carpals:KRPL:KRPL -carpels:KRPL:KRPL -carpers:KRPR:KRPR -carpets:KRPT:KRPT -carping:KRPN:KRPN -carport:KRPR:KRPR -carpous:KRPS:KRPS -carrell:KRL:KRL -carrels:KRLS:KRLS -carrick:KRK:KRK -carried:KRT:KRT -carrier:KR:KRR -carries:KRS:KRS -carrion:KRN:KRN -carrots:KRTS:KRTS -carroty:KRT:KRT -carsick:KRSK:KRSK -cartage:KRTJ:KRTK -cartels:KRTL:KRTL -carters:KRTR:KRTR -cartful:KRTF:KRTF -carting:KRTN:KRTN -cartons:KRTN:KRTN -cartoon:KRTN:KRTN -cartway:KRT:KRT -carvels:KRFL:KRFL -carvers:KRFR:KRFR -carving:KRFN:KRFN -carwash:KRX:KRX -carytic:KRTK:KRTK -casabas:KSPS:KSPS -cascade:KSKT:KSKT -cascara:KSKR:KSKR -casease:KSS:KSS -caseate:KST:KST -caseosa:KSS:KSS -caseose:KSS:KSS -caseous:KSS:KSS -cashers:KXRS:KXRS -cashews:KXS:KXS -cashier:KX:KXR -cashing:KXNK:KXNK -casings:KSNK:KSNK -casinos:KSNS:KSNS -caskets:KSKT:KSKT -caspian:KSPN:KSPN -casqued:KSKT:KSKT -casques:KSKS:KSKS -cassata:KST:KST -cassava:KSF:KSF -cassias:KSS:KSS -cassock:KSK:KSK -casters:KSTR:KSTR -castile:KSTL:KSTL -casting:KSTN:KSTN -castled:KSTL:KSTL -castles:KSTL:KSTL -castoff:KSTF:KSTF -castors:KSTR:KSTR -casuals:KSLS:KSLS -casuist:KSST:KSST -catalan:KTLN:KTLN -catalog:KTLK:KTLK -catalpa:KTLP:KTLP -cataria:KTR:KTR -catarrh:KTR:KTR -catawba:KTP:KTP -catbird:KTPR:KTPR -catboat:KTPT:KTPT -catcall:KTKL:KTKL -catched:KXT:KXT -catcher:KXR:KXR -catches:KXS:KXS -catchup:KXP:KXP -catechu:KTX:KTK -catenae:KTN:KTN -catered:KTRT:KTRT -caterer:KTRR:KTRR -catfall:KTFL:KTFL -catfish:KTFX:KTFX -cathars:K0RS:KTRS -cathead:K0T:KTT -cathect:K0KT:KTKT -cathode:K0T:KTT -cations:KXNS:KXNS -catkins:KTKN:KTKN -catlike:KTLK:KTLK -catling:KTLN:KTLN -catmint:KTMN:KTMN -catnaps:KTNP:KTNP -catnips:KTNP:KTNP -cattail:KTL:KTL -cattalo:KTL:KTL -cattery:KTR:KTR -cattier:KT:KTR -cattily:KTL:KTL -catting:KTNK:KTNK -cattish:KTX:KTX -catwalk:KTLK:KTLK -catworm:KTRM:KTRM -caudate:KTT:KTT -cauline:KLN:KLN -caulked:KLKT:KLKT -caulker:KLKR:KLKR -causers:KSRS:KSRS -causing:KSNK:KSNK -caustic:KSTK:KSTK -cautela:KTL:KTL -cautery:KTR:KTR -caution:KXN:KXN -cavalry:KFLR:KFLR -caveats:KFTS:KFTS -caveman:KFMN:KFMN -cavemen:KFMN:KFMN -caverns:KFRN:KFRN -caviare:KFR:KFR -caviled:KFLT:KFLT -caviler:KFLR:KFLR -cavorts:KFRT:KFRT -cayenne:KN:KN -caymans:KMNS:KMNS -cayugas:KKS:KKS -cayuses:KSS:KSS -ceasing:SSNK:SSNK -cecilia:SSL:SSL -cecitis:SSTS:SSTS -cedents:STNT:STNT -cedilla:STL:STL -ceilidh:SLT:SLT -ceiling:SLNK:SLNK -celadon:SLTN:SLTN -celebre:SLPR:SLPR -celesta:SLST:SLST -celeste:SLST:SLST -cellars:SLRS:SLRS -cellist:SLST:SLST -cellose:SLS:SLS -cellula:SLL:SLL -cellule:SLL:SLL -celomic:SLMK:SLMK -celosia:SLS:SLX -celsius:SLSS:SLSS -celtism:SLTS:SLTS -celtist:SLTS:SLTS -cembalo:SMPL:SMPL -cementa:SMNT:SMNT -cements:SMNT:SMNT -cenacle:SNKL:SNKL -censers:SNSR:SNSR -censing:SNSN:SNSN -censors:SNSR:SNSR -censual:SNSL:SNSL -censure:SNSR:SNSR -centaur:SNTR:SNTR -centavo:SNTF:SNTF -centers:SNTR:SNTR -centile:SNTL:SNTL -centime:SNTM:SNTM -centner:SNTN:SNTN -centrad:SNTR:SNTR -central:SNTR:SNTR -centrex:SNTR:SNTR -centric:SNTR:SNTR -centrum:SNTR:SNTR -century:SNTR:SNTR -cephaly:SFL:SFL -ceramic:SRMK:SRMK -cerasus:SRSS:SRSS -cerated:SRTT:SRTT -ceratin:SRTN:SRTN -cereaed:SRT:SRT -cereals:SRLS:SRLS -cerebra:SRPR:SRPR -cerebri:SRPR:SRPR -ceresin:SRSN:SRSN -cermets:SRMT:SRMT -cerotic:SRTK:SRTK -certain:SRTN:SRTN -certify:SRTF:SRTF -cerumen:SRMN:SRMN -cervine:SRFN:SRFN -cessans:SSNS:SSNS -cession:SSN:SSN -cesspit:SSPT:SSPT -cestoda:SSTT:SSTT -cestode:SSTT:SSTT -cestoid:SSTT:SSTT -cestuis:SSTS:SSTS -cesurae:SSR:SSR -cesural:SSRL:SSRL -cesuras:SSRS:SSRS -ceteris:STRS:STRS -cezanne:SSN:SSN -chablis:XPLS:XPLS -chacing:XSNK:XSNK -chadian:XTN:XTN -chaetae:XT:XT -chaetal:XTL:XTL -chafers:XFRS:XFRS -chaffed:XFT:XFT -chaffer:XFR:XFR -chafing:XFNK:XFNK -chagall:XKL:XKL -chagoma:XKM:XKM -chagrin:XKRN:XKRN -chained:XNT:XNT -chaired:XRT:XRT -chaises:XSS:XSS -chalaza:XLS:XLS -chaldea:XLT:XLT -chalets:XLTS:XLTS -chalice:XLS:XLS -chalked:XLKT:XLKT -challah:XL:XL -challie:XL:XL -challis:XLS:XLS -chalone:XLN:XLN -chamade:XMT:XMT -chamber:XMPR:XMPR -chamfer:XMFR:XMFR -chamois:XM:XMS -champed:XMPT:XMPT -champer:XMPR:XMPR -chanced:XNST:XNST -chancel:XNSL:XNSL -chancer:XNSR:XNSR -chances:XNSS:XNSS -chancre:XNKR:XNKR -changed:XNJT:XNKT -changel:XNJL:XNKL -changer:XNKR:XNJR -changes:XNJS:XNKS -channel:XNL:XNL -chanson:XNSN:XNSN -chanted:XNTT:XNTT -chanter:XNTR:XNTR -chantey:XNT:XNT -chantry:XNTR:XNTR -chaotic:XTK:XTK -chapeau:XP:XP -chapels:XPLS:XPLS -chaplet:XPLT:XPLT -chaplin:XPLN:XPLN -chapman:XPMN:XPMN -chapped:XPT:XPT -chappie:XP:XP -chapter:XPTR:XPTR -charade:XRT:XRT -charbon:XRPN:XRPN -charcot:XRKT:XRKT -charged:XRJT:XRKT -chargee:XRJ:XRK -charger:XRKR:XRJR -charges:XRJS:XRKS -charier:XR:XRR -charily:XRL:XRL -charing:XRNK:XRNK -chariot:XRT:XRT -charism:KRSM:KRSM -charity:XRT:XRT -charles:XRLS:XRLS -charley:XRL:XRL -charlie:XRL:XRL -charmed:XRMT:XRMT -charmer:XRMR:XRMR -charnel:XRNL:XRNL -charpoy:XRP:XRP -charras:XRS:XRS -charred:XRT:XRT -chartae:XRT:XRT -charted:XRTT:XRTT -charter:XRTR:XRTR -chasers:XSRS:XSRS -chasing:XSNK:XSNK -chasmal:XSML:XSML -chasmic:XSMK:XSMK -chassed:XST:XST -chasses:XSS:XSS -chassid:XST:XST -chassis:XSS:XSS -chastek:XSTK:XSTK -chasten:XSTN:XSTN -chaster:XSTR:XSTR -chateau:XT:XT -chatham:XTM:XTM -chatted:XTT:XTT -chattel:XTL:XTL -chatter:XTR:XTR -chaucer:XSR:XSR -cheapen:XPN:XPN -cheaper:XPR:XPR -cheaply:XPL:XPL -cheated:XTT:XTT -cheater:XTR:XTR -cheatry:XTR:XTR -checked:XKT:XKT -checker:XKR:XKR -checkup:XKP:XKP -cheddar:XTR:XTR -cheeped:XPT:XPT -cheeper:XPR:XPR -cheered:XRT:XRT -cheerer:XRR:XRR -cheerio:XR:XR -cheesed:XST:XST -cheeses:XSS:XSS -cheetah:XT:XT -chekhov:XKF:XKF -chelate:XLT:XLT -cheloid:XLT:XLT -chelsea:XLS:XLS -chemins:KMNS:KMNS -chemise:KMS:KMS -chemist:KMST:KMST -chequer:XKR:XKR -cheques:XKS:XKS -cherish:XRX:XRX -cheroot:XRT:XRT -cherubs:XRPS:XRPS -chervil:XRFL:XRFL -chesham:XXM:XXM -chessel:XSL:XSL -chesses:XSS:XSS -chested:XSTT:XSTT -chester:XSTR:XSTR -chevaux:XF:XF -chevets:XFTS:XFTS -cheviot:XFT:XFT -chevron:XFRN:XFRN -chewers:XRS:XRS -chewier:XR:XR -chewing:XNK:XNK -chianti:KNT:KNT -chiasma:KSM:KSM -chiasms:KSMS:KSMS -chicago:XKK:XKK -chicane:XKN:XKN -chicano:XKN:XKN -chicken:XKN:XKN -chicory:XKR:XKR -chidden:XTN:XTN -chiders:XTRS:XTRS -chiding:XTNK:XTNK -chiefly:XFL:XFL -chiffon:XFN:XFN -chigger:XKR:XKR -chignon:XNN:XKNN -chigoes:XKS:XKS -chilean:XLN:XLN -chiliad:XLT:XLT -chilies:XLS:XLS -chilled:XLT:XLT -chiller:XLR:XLR -chimars:XMRS:XMRS -chimera:XMR:XMR -chimere:XMR:XMR -chimers:XMRS:XMRS -chiming:XMNK:XMNK -chimney:XMN:XMN -chindit:XNTT:XNTT -chinese:XNS:XNS -chining:XNNK:XNNK -chinked:XNKT:XNKT -chinned:XNT:XNT -chinner:XNR:XNR -chinook:XNK:XNK -chintzy:XNTS:XNTS -chinwag:XNK:XNK -chipped:XPT:XPT -chipper:XPR:XPR -chirmed:XRMT:XRMT -chirped:XRPT:XRPT -chirred:XRT:XRT -chirrup:XRP:XRP -chisels:XSLS:XSLS -chivved:XFT:XFT -chloral:KLRL:KLRL -choanae:XN:XN -chocked:XKT:XKT -chocker:XKR:XKR -choctaw:XKT:XKTF -choicer:XSR:XSR -choices:XSS:XSS -choired:XRT:XRT -chokers:XKRS:XKRS -choking:XKNK:XKNK -choleic:XLK:XLK -cholent:XLNT:XLNT -cholera:XLR:XLR -choline:XLN:XLN -chomped:XMPT:XMPT -chondri:XNTR:XNTR -chooser:XSR:XSR -chooses:XSS:XSS -choosey:XS:XS -chopart:XPRT:XPRT -chopped:XPT:XPT -chopper:XPR:XPR -chorale:KRL:KRL -chorals:KRLS:KRLS -chordae:KRT:KRT -chordal:KRTL:KRTL -chorded:KRTT:KRTT -chordee:KRT:KRT -choreal:XRL:XRL -choreic:XRK:XRK -chorial:KRL:KRL -chorine:KRN:KRN -choring:KRNK:KRNK -chorion:KRN:KRN -choroid:KRT:KRT -chortle:KRTL:KRTL -choused:XST:XST -chowder:XTR:XTR -chrisom:KRSM:KRSM -christs:KRST:KRST -chromed:KRMT:KRMT -chromes:KRMS:KRMS -chromic:KRMK:KRMK -chromos:KRMS:KRMS -chronic:KRNK:KRNK -chronon:KRNN:KRNN -chucked:XKT:XKT -chucker:XKR:XKR -chuckle:XKL:XKL -chuffed:XFT:XFT -chugged:XKT:XKT -chukkas:XKS:XKS -chukker:XKR:XKR -chummed:XMT:XMT -chunnel:XNL:XNL -churchy:XRX:XRK -churned:XRNT:XRNT -churner:XRNR:XRNR -churrus:XRS:XRS -chutney:XTN:XTN -chutzpa:XTSP:XTSP -chylous:XLS:XLS -chymous:KMS:KMS -cicadae:SKT:SKT -cicadas:SKTS:SKTS -cicalae:SKL:SKL -cicalas:SKLS:SKLS -ciggies:SKS:SKS -ciliary:SLR:SLR -ciliata:SLT:SLT -ciliate:SLT:SLT -cimices:SMSS:SMSS -cinched:SNXT:SNKT -cinches:SNXS:SNKS -cinders:SNTR:SNTR -cindery:SNTR:SNTR -cinemas:SNMS:SNMS -cineole:SNL:SNL -cinerea:SNR:SNR -cinerin:SNRN:SNRN -cineses:SNSS:SNSS -cinesis:SNSS:SNSS -cingula:SNKL:SNKL -ciphers:SFRS:SFRS -cipolin:SPLN:SPLN -circled:SRKL:SRKL -circler:SRKL:SRKL -circles:SRKL:SRKL -circlet:SRKL:SRKL -circlip:SRKL:SRKL -circuit:SRKT:SRKT -circuli:SRKL:SRKL -cirques:SRKS:SRKS -cirrate:SRT:SRT -cirrose:SRS:SRS -cirrous:SRS:SRS -cirsoid:SRST:SRST -cissoid:SST:SST -cistern:SSTR:SSTR -cistron:SSTR:SSTR -citable:STPL:STPL -citadel:STTL:STTL -citator:STTR:STTR -citatum:STTM:STTM -cithara:S0R:STR -cithern:S0RN:STRN -cithers:S0RS:STRS -citizen:STSN:STSN -citrate:STRT:STRT -citrine:STRN:STRN -citrons:STRN:STRN -civiler:SFLR:SFLR -civiles:SFLS:SFLS -civilis:SFLS:SFLS -civilly:SFL:SFL -civitas:SFTS:SFTS -civvies:SFS:SFS -clabber:KLPR:KLPR -clacked:KLKT:KLKT -clacker:KLKR:KLKR -cladode:KLTT:KLTT -claimed:KLMT:KLMT -claimer:KLMR:KLMR -clamant:KLMN:KLMN -clamber:KLMP:KLMP -clammed:KLMT:KLMT -clamors:KLMR:KLMR -clamped:KLMP:KLMP -clamper:KLMP:KLMP -clanged:KLNJ:KLNK -clanger:KLNK:KLNJ -clangor:KLNK:KLNK -clanked:KLNK:KLNK -clapped:KLPT:KLPT -clapper:KLPR:KLPR -claques:KLKS:KLKS -clarets:KLRT:KLRT -claries:KLRS:KLRS -clarify:KLRF:KLRF -clarion:KLRN:KLRN -clarity:KLRT:KLRT -clarkia:KLRK:KLRK -claroes:KLRS:KLRS -clashed:KLXT:KLXT -clasher:KLXR:KLXR -clashes:KLXS:KLXS -clasped:KLSP:KLSP -clasper:KLSP:KLSP -classed:KLST:KLST -classer:KLSR:KLSR -classes:KLSS:KLSS -classic:KLSK:KLSK -classis:KLSS:KLSS -clastic:KLST:KLST -clatter:KLTR:KLTR -clausal:KLSL:KLSL -clauses:KLSS:KLSS -clausum:KLSM:KLSM -clausus:KLSS:KLSS -clavate:KLFT:KLFT -clavier:KLF:KLFR -clawers:KLRS:KLRS -clawing:KLNK:KLNK -clayish:KLX:KLX -claypan:KLPN:KLPN -clayton:KLTN:KLTN -cleaned:KLNT:KLNT -cleaner:KLNR:KLNR -cleanly:KLNL:KLNL -cleanse:KLNS:KLNS -cleanup:KLNP:KLNP -cleared:KLRT:KLRT -clearer:KLRR:KLRR -clearly:KLRL:KLRL -cleated:KLTT:KLTT -cleaved:KLFT:KLFT -cleaver:KLFR:KLFR -cleaves:KLFS:KLFS -clemens:KLMN:KLMN -clement:KLMN:KLMN -clerics:KLRK:KLRK -clerked:KLRK:KLRK -clerkly:KLRK:KLRK -clewing:KLNK:KLNK -cliched:KLXT:KLKT -cliches:KLXS:KLKS -clicked:KLKT:KLKT -clicker:KLKR:KLKR -clients:KLNT:KLNT -climate:KLMT:KLMT -climbed:KLMP:KLMP -climber:KLMP:KLMP -clinger:KLNK:KLNJ -clinics:KLNK:KLNK -clinked:KLNK:KLNK -clinker:KLNK:KLNK -clinoid:KLNT:KLNT -clipped:KLPT:KLPT -clipper:KLPR:KLPR -clippie:KLP:KLP -cliques:KLKS:KLKS -cliquey:KLK:KLK -clition:KLXN:KLXN -cloacae:KLK:KLK -cloacal:KLKL:KLKL -cloaked:KLKT:KLKT -clobber:KLPR:KLPR -cloches:KLXS:KLKS -clocked:KLKT:KLKT -clocker:KLKR:KLKR -clogged:KLKT:KLKT -clogger:KLKR:KLKR -cloking:KLKN:KLKN -cloning:KLNN:KLNN -clonism:KLNS:KLNS -clopped:KLPT:KLPT -closely:KLSL:KLSL -closers:KLSR:KLSR -closest:KLSS:KLSS -closets:KLST:KLST -closeup:KLSP:KLSP -closing:KLSN:KLSN -closure:KLSR:KLSR -clothed:KL0T:KLTT -clothes:KL0S:KLTS -clotted:KLTT:KLTT -cloture:KLTR:KLTR -clouded:KLTT:KLTT -clouted:KLTT:KLTT -clouter:KLTR:KLTR -clovers:KLFR:KLFR -clowned:KLNT:KLNT -cloying:KLNK:KLNK -clubbed:KLPT:KLPT -clubber:KLPR:KLPR -clubman:KLPM:KLPM -clubmen:KLPM:KLPM -clucked:KLKT:KLKT -clueing:KLNK:KLNK -clumber:KLMR:KLMR -clumped:KLMP:KLMP -cluneal:KLNL:KLNL -clunked:KLNK:KLNK -clunker:KLNK:KLNK -clupeid:KLPT:KLPT -clupein:KLPN:KLPN -cluster:KLST:KLST -clutter:KLTR:KLTR -clyster:KLST:KLST -cnemial:KNML:KNML -coached:KXT:KKT -coacher:KXR:KKR -coaches:KXS:KKS -coagula:KKL:KKL -coaltit:KLTT:KLTT -coaming:KMNK:KMNK -coarsen:KRSN:KRSN -coarser:KRSR:KRSR -coastal:KSTL:KSTL -coasted:KSTT:KSTT -coaster:KSTR:KSTR -coatees:KTS:KTS -coating:KTNK:KTNK -coaxers:KKSR:KKSR -coaxial:KKSL:KKSL -coaxing:KKSN:KKSN -cobalic:KPLK:KPLK -cobbers:KPRS:KPRS -cobbing:KPNK:KPNK -cobbled:KPLT:KPLT -cobbler:KPLR:KPLR -cobbles:KPLS:KPLS -cobnuts:KPNT:KPNT -cobwebs:KPPS:KPPS -cocaine:KKN:KKN -coccoid:KKT:KKT -coccous:KKS:KKS -cochlea:KKL:KKL -cockade:KKT:KKT -cockers:KKRS:KKRS -cockeye:KK:KK -cockier:KKR:KKR -cockily:KKL:KKL -cocking:KKNK:KKNK -cockled:KKLT:KKLT -cockles:KKLS:KKLS -cockney:KKN:KKN -cockpit:KKPT:KKPT -cockshy:KKX:KKX -cockups:KKPS:KKPS -coconut:KKNT:KKNT -cocoons:KKNS:KKNS -cocotte:KKT:KKT -codders:KTRS:KTRS -codding:KTNK:KTNK -coddled:KTLT:KTLT -coddler:KTLR:KTLR -coddles:KTLS:KTLS -codeine:KTN:KTN -codfish:KTFX:KTFX -codgers:KJRS:KJRS -codices:KTSS:KTSS -codicil:KTSL:KTSL -codings:KTNK:KTNK -codling:KTLN:KTLN -codlins:KTLN:KTLN -coedits:KTTS:KTTS -coeliac:KLK:KLK -coelome:KLM:KLM -coeloms:KLMS:KLMS -coenuri:KNR:KNR -coequal:KKL:KKL -coerced:KRST:KRST -coercer:KRSR:KRSR -coerces:KRSS:KRSS -coevals:KFLS:KFLS -coexist:KKSS:KKSS -coffees:KFS:KFS -coffers:KFRS:KFRS -coffins:KFNS:KFNS -coffles:KFLS:KFLS -cogence:KJNS:KKNS -cogency:KJNS:KKNS -cogging:KJNK:KKNK -cognacs:KNKS:KKNK -cognate:KNT:KKNT -cognati:KNT:KKNT -cognise:KNS:KKNS -cohabit:KHPT:KHPT -coheirs:KHRS:KHRS -cohered:KHRT:KHRT -coherer:KHRR:KHRR -coheres:KHRS:KHRS -cohorts:KHRT:KHRT -coiffed:KFT:KFT -coilers:KLRS:KLRS -coiling:KLNK:KLNK -coinage:KNJ:KNK -coiners:KNRS:KNRS -coining:KNNK:KNNK -coition:KXN:KXN -cojuror:KJRR:KJRR -coldest:KLTS:KLTS -coldish:KLTX:KLTX -colicin:KLSN:KLSN -colicky:KLK:KLK -colitis:KLTS:KLTS -collage:KLJ:KLK -collard:KLRT:KLRT -collars:KLRS:KLRS -collate:KLT:KLT -collect:KLKT:KLKT -colleen:KLN:KLN -college:KLJ:KLK -collets:KLTS:KLTS -collide:KLT:KLT -collier:KL:KLR -collies:KLS:KLS -collins:KLNS:KLNS -colloid:KLT:KLT -collops:KLPS:KLPS -collude:KLT:KLT -colobus:KLPS:KLPS -cologne:KLN:KLKN -colombo:KLMP:KLMP -colonel:KLNL:KLNL -colones:KLNS:KLNS -colonic:KLNK:KLNK -colored:KLRT:KLRT -colorer:KLRR:KLRR -colossi:KLS:KLS -coltish:KLTX:KLTX -columna:KLMN:KLMN -columns:KLMN:KLMN -colures:KLRS:KLRS -comaker:KMKR:KMKR -combats:KMPT:KMPT -combers:KMPR:KMPR -combine:KMPN:KMPN -combing:KMPN:KMPN -combust:KMPS:KMPS -comedic:KMTK:KMTK -comedos:KMTS:KMTS -cometic:KMTK:KMTK -comfier:KMF:KMFR -comfits:KMFT:KMFT -comfort:KMFR:KMFR -comfrey:KMFR:KMFR -comical:KMKL:KMKL -comings:KMNK:KMNK -comitas:KMTS:KMTS -comites:KMTS:KMTS -comitia:KMX:KMX -command:KMNT:KMNT -commend:KMNT:KMNT -comment:KMNT:KMNT -commere:KMR:KMR -commies:KMS:KMS -commits:KMTS:KMTS -commode:KMT:KMT -commons:KMNS:KMNS -commune:KMN:KMN -communi:KMN:KMN -commute:KMT:KMT -comoros:KMRS:KMRS -compact:KMPK:KMPK -company:KMPN:KMPN -compare:KMPR:KMPR -compass:KMPS:KMPS -compeer:KMPR:KMPR -compels:KMPL:KMPL -compere:KMPR:KMPR -compete:KMPT:KMPT -compile:KMPL:KMPL -complex:KMPL:KMPL -compone:KMPN:KMPN -compony:KMPN:KMPN -comport:KMPR:KMPR -compose:KMPS:KMPS -compost:KMPS:KMPS -compote:KMPT:KMPT -compute:KMPT:KMPT -comrade:KMRT:KMRT -conaria:KNR:KNR -conatus:KNTS:KNTS -concave:KNKF:KNKF -concavo:KNKF:KNKF -conceal:KNSL:KNSL -concede:KNST:KNST -conceit:KNST:KNST -concept:KNSP:KNSP -concern:KNSR:KNSR -concert:KNSR:KNSR -conchae:KNK:KNX -conchal:KNXL:KNKL -conches:KNXS:KNKS -conchie:KNX:KNK -concise:KNSS:KNSS -concoct:KNKK:KNKK -concord:KNKR:KNKR -concurs:KNKR:KNKR -concuss:KNKS:KNKS -condemn:KNTM:KNTM -condign:KNTN:KNTK -condole:KNTL:KNTL -condoms:KNTM:KNTM -condone:KNTN:KNTN -condors:KNTR:KNTR -conduce:KNTS:KNTS -conduct:KNTK:KNTK -conduit:KNTT:KNTT -condyle:KNTL:KNTL -confabs:KNFP:KNFP -confect:KNFK:KNFK -confers:KNFR:KNFR -confess:KNFS:KNFS -confide:KNFT:KNFT -confine:KNFN:KNFN -confirm:KNFR:KNFR -conflux:KNFL:KNFL -conform:KNFR:KNFR -confuse:KNFS:KNFS -confute:KNFT:KNFT -congeal:KNJL:KNKL -congest:KNJS:KNKS -congius:KNJS:KNKS -conical:KNKL:KNKL -conidia:KNT:KNT -conifer:KNFR:KNFR -coniine:KNN:KNN -conjoin:KNJN:KNJN -conjure:KNJR:KNJR -conkers:KNKR:KNKR -conking:KNKN:KNKN -connate:KNT:KNT -connect:KNKT:KNKT -conning:KNNK:KNNK -connive:KNF:KNF -connote:KNT:KNT -conquer:KNKR:KNKR -conrail:KNRL:KNRL -consent:KNSN:KNSN -consign:KNSN:KNSK -consist:KNSS:KNSS -console:KNSL:KNSL -consols:KNSL:KNSL -consort:KNSR:KNSR -constat:KNST:KNST -consuls:KNSL:KNSL -consult:KNSL:KNSL -consume:KNSM:KNSM -contact:KNTK:KNTK -contain:KNTN:KNTN -contemn:KNTM:KNTM -contemp:KNTM:KNTM -contend:KNTN:KNTN -content:KNTN:KNTN -contest:KNTS:KNTS -context:KNTK:KNTK -contort:KNTR:KNTR -contour:KNTR:KNTR -contrib:KNTR:KNTR -control:KNTR:KNTR -contume:KNTM:KNTM -contuse:KNTS:KNTS -conubii:KNP:KNP -convect:KNFK:KNFK -convene:KNFN:KNFN -convent:KNFN:KNFN -convert:KNFR:KNFR -convexo:KNFK:KNFK -conveys:KNFS:KNFS -convict:KNFK:KNFK -convoke:KNFK:KNFK -convoys:KNFS:KNFS -cookers:KKRS:KKRS -cookery:KKR:KKR -cookies:KKS:KKS -cooking:KKNK:KKNK -cookout:KKT:KKT -coolant:KLNT:KLNT -coolers:KLRS:KLRS -coolest:KLST:KLST -coolies:KLS:KLS -cooling:KLNK:KLNK -coopers:KPRS:KPRS -coopery:KPR:KPR -cooping:KPNK:KPNK -coopted:KPTT:KPTT -cooties:KTS:KTS -copaiba:KPP:KPP -coparty:KPRT:KPRT -copepod:KPPT:KPPT -copiers:KPRS:KPRS -copilot:KPLT:KPLT -copings:KPNK:KPNK -copious:KPS:KPS -copitas:KPTS:KPTS -copouts:KPTS:KPTS -coppers:KPRS:KPRS -coppery:KPR:KPR -coppice:KPS:KPS -copping:KPNK:KPNK -copsing:KPSN:KPSN -copters:KPTR:KPTR -copulae:KPL:KPL -copular:KPLR:KPLR -copulas:KPLS:KPLS -copyboy:KPP:KPP -copycat:KPKT:KPKT -copying:KPNK:KPNK -copyist:KPST:KPST -coquets:KKTS:KKTS -coracle:KRKL:KRKL -corbels:KRPL:KRPL -cordage:KRTJ:KRTK -cordate:KRTT:KRTT -corders:KRTR:KRTR -cordial:KRTL:KRTL -cording:KRTN:KRTN -cordite:KRTT:KRTT -cordoba:KRTP:KRTP -cordons:KRTN:KRTN -corella:KRL:KRL -corgies:KRJS:KRKS -corinth:KRN0:KRNT -corkage:KRKJ:KRKK -corkers:KRKR:KRKR -corkier:KRKR:KRKR -corking:KRKN:KRKN -cormels:KRML:KRML -cormous:KRMS:KRMS -corncob:KRNK:KRNK -corneae:KRN:KRN -corneal:KRNL:KRNL -corneas:KRNS:KRNS -cornell:KRNL:KRNL -corners:KRNR:KRNR -cornets:KRNT:KRNT -corneum:KRNM:KRNM -cornice:KRNS:KRNS -cornier:KRN:KRNR -cornify:KRNF:KRNF -corning:KRNN:KRNN -cornish:KRNX:KRNX -cornrow:KRNR:KRNR -cornual:KRNL:KRNL -cornute:KRNT:KRNT -corolla:KRL:KRL -coronae:KRN:KRN -coronal:KRNL:KRNL -coronas:KRNS:KRNS -coroner:KRNR:KRNR -coronet:KRNT:KRNT -coronia:KRN:KRN -corpora:KRPR:KRPR -corpore:KRPR:KRPR -corpses:KRPS:KRPS -corrade:KRT:KRT -corrals:KRLS:KRLS -correal:KRL:KRL -correct:KRKT:KRKT -corrode:KRT:KRT -corrody:KRT:KRT -corrupt:KRPT:KRPT -corsage:KRSJ:KRSK -corsair:KRSR:KRSR -corsets:KRST:KRST -corsica:KRSK:KRSK -corslet:KRSL:KRSL -cortege:KRTJ:KRTK -cortico:KRTK:KRTK -corvine:KRFN:KRFN -coryzal:KRSL:KRSL -coshers:KXRS:KXRS -coshing:KXNK:KXNK -cosiest:KSST:KSST -cosines:KSNS:KSNS -cossack:KSK:KSK -costate:KSTT:KSTT -costers:KSTR:KSTR -costing:KSTN:KSTN -costive:KSTF:KSTF -costume:KSTM:KSTM -coterie:KTR:KTR -cotidal:KTTL:KTTL -cottage:KTJ:KTK -cotters:KTRS:KTRS -cottons:KTNS:KTNS -cottony:KTN:KTN -couched:KXT:KKT -coucher:KXR:KKR -couches:KXS:KKS -cougars:KKRS:KKRS -coughed:KFT:KFT -coughes:KFS:KFS -coulees:KLS:KLS -couloir:KLR:KLR -coulomb:KLMP:KLMP -coulter:KLTR:KLTR -council:KNSL:KNSL -counsel:KNSL:KNSL -counted:KNTT:KNTT -counter:KNTR:KNTR -country:KNTR:KNTR -coupled:KPLT:KPLT -coupler:KPLR:KPLR -couples:KPLS:KPLS -couplet:KPLT:KPLT -coupons:KPNS:KPNS -courage:KRJ:KRK -courant:KRNT:KRNT -courier:KR:KRR -coursed:KRST:KRST -courser:KRSR:KRSR -courses:KRSS:KRSS -courted:KRTT:KRTT -courter:KRTR:KRTR -courtly:KRTL:KRTL -cousins:KSNS:KSNS -couture:KTR:KTR -couvade:KFT:KFT -couvert:KFRT:KFRT -covered:KFRT:KFRT -coverer:KFRR:KFRR -coverup:KFRP:KFRP -coveted:KFTT:KFTT -coveter:KFTR:KFTR -cowards:KRTS:KRTS -cowbane:KPN:KPN -cowbell:KPL:KPL -cowbird:KPRT:KPRT -cowboys:KPS:KPS -cowdria:KTR:KTR -cowered:KRT:KRT -cowerer:KRR:KRR -cowgirl:KJRL:KKRL -cowhage:KJ:KK -cowhand:KNT:KNT -cowherd:KRT:KRT -cowhide:KT:KT -cowlick:KLK:KLK -cowling:KLNK:KLNK -cowpats:KPTS:KPTS -cowpoke:KPK:KPK -cowries:KRS:KRS -cowshed:KXT:KXT -cowslip:KSLP:KSLP -coxalgy:KKSL:KKSL -coxcomb:KKSM:KKSM -coxitis:KKST:KKST -coxless:KKSL:KKSL -coyness:KNS:KNS -coyotes:KTS:KTS -cozened:KSNT:KSNT -cozener:KSNR:KSNR -coziest:KSST:KSST -crabbed:KRPT:KRPT -crabber:KRPR:KRPR -cracked:KRKT:KRKT -cracker:KRKR:KRKR -crackle:KRKL:KRKL -crackly:KRKL:KRKL -crackup:KRKP:KRKP -cradled:KRTL:KRTL -cradler:KRTL:KRTL -cradles:KRTL:KRTL -crafted:KRFT:KRFT -crafter:KRFT:KRFT -cragged:KRKT:KRKT -crammed:KRMT:KRMT -crammer:KRMR:KRMR -cramped:KRMP:KRMP -cramper:KRMP:KRMP -crampon:KRMP:KRMP -cranage:KRNJ:KRNK -cranial:KRNL:KRNL -craning:KRNN:KRNN -cranium:KRNM:KRNM -cranked:KRNK:KRNK -crankle:KRNK:KRNK -crappie:KRP:KRP -crashed:KRXT:KRXT -crasher:KRXR:KRXR -crashes:KRXS:KRXS -crasser:KRSR:KRSR -crassly:KRSL:KRSL -craters:KRTR:KRTR -crating:KRTN:KRTN -cratons:KRTN:KRTN -cravats:KRFT:KRFT -cravers:KRFR:KRFR -craving:KRFN:KRFN -crawled:KRLT:KRLT -crawler:KRLR:KRLR -crayons:KRNS:KRNS -crazier:KRS:KRSR -crazies:KRSS:KRSS -crazily:KRSL:KRSL -crazing:KRSN:KRSN -creaked:KRKT:KRKT -creamed:KRMT:KRMT -creamer:KRMR:KRMR -creased:KRST:KRST -creaser:KRSR:KRSR -creases:KRSS:KRSS -created:KRTT:KRTT -creates:KRTS:KRTS -creator:KRTR:KRTR -creches:KRXS:KRKS -credere:KRTR:KRTR -credits:KRTT:KRTT -creedal:KRTL:KRTL -creeper:KRPR:KRPR -cremast:KRMS:KRMS -cremate:KRMT:KRMT -crenate:KRNT:KRNT -crenels:KRNL:KRNL -creoles:KRLS:KRLS -creosol:KRSL:KRSL -cresses:KRSS:KRSS -cresset:KRST:KRST -crested:KRST:KRST -cretins:KRTN:KRTN -crevice:KRFS:KRFS -crewcut:KRKT:KRKT -crewing:KRNK:KRNK -crewman:KRMN:KRMN -crewmen:KRMN:KRMN -cribbed:KRPT:KRPT -cribber:KRPR:KRPR -cricked:KRKT:KRKT -cricket:KRKT:KRKT -cricoid:KRKT:KRKT -crimean:KRMN:KRMN -crimina:KRMN:KRMN -crimped:KRMP:KRMP -crimper:KRMP:KRMP -crimson:KRMS:KRMS -cringed:KRNJ:KRNK -cringer:KRNK:KRNJ -cringes:KRNJ:KRNK -cringle:KRNK:KRNK -crinite:KRNT:KRNT -crinkle:KRNK:KRNK -crinkly:KRNK:KRNK -crinoid:KRNT:KRNT -cripple:KRPL:KRPL -crisper:KRSP:KRSP -crisply:KRSP:KRSP -crissal:KRSL:KRSL -crissum:KRSM:KRSM -cristae:KRST:KRST -critics:KRTK:KRTK -critter:KRTR:KRTR -croaked:KRKT:KRKT -croaker:KRKR:KRKR -croatia:KRX:KRX -crocein:KRSN:KRSN -crochet:KRXT:KRKT -crocked:KRKT:KRKT -crocket:KRKT:KRKT -crofter:KRFT:KRFT -cronies:KRNS:KRNS -crooked:KRKT:KRKT -crookes:KRKS:KRKS -crooned:KRNT:KRNT -crooner:KRNR:KRNR -cropped:KRPT:KRPT -cropper:KRPR:KRPR -croquet:KRKT:KRKT -crosier:KRS:KRSR -crossed:KRST:KRST -crosser:KRSR:KRSR -crosses:KRSS:KRSS -crossly:KRSL:KRSL -crouton:KRTN:KRTN -crowbar:KRPR:KRPR -crowded:KRTT:KRTT -crowder:KRTR:KRTR -crowdie:KRT:KRT -crowers:KRRS:KRRS -crowing:KRNK:KRNK -crowism:KRSM:KRSM -crowned:KRNT:KRNT -crowner:KRNR:KRNR -crozier:KRS:KRSR -crucial:KRSL:KRXL -crucify:KRSF:KRSF -crudely:KRTL:KRTL -crudest:KRTS:KRTS -crudity:KRTT:KRTT -crueler:KRLR:KRLR -cruelly:KRL:KRL -cruelty:KRLT:KRLT -cruised:KRST:KRST -cruiser:KRSR:KRSR -cruises:KRSS:KRSS -cruller:KRLR:KRLR -crumbed:KRMP:KRMP -crumble:KRMP:KRMP -crumbly:KRMP:KRMP -crumped:KRMP:KRMP -crumpet:KRMP:KRMP -crumple:KRMP:KRMP -crumply:KRMP:KRMP -crunchy:KRNX:KRNK -crunode:KRNT:KRNT -crupper:KRPR:KRPR -crusade:KRST:KRST -crushed:KRXT:KRXT -crusher:KRXR:KRXR -crushes:KRXS:KRXS -crustae:KRST:KRST -crustal:KRST:KRST -crusted:KRST:KRST -crybaby:KRPP:KRPP -cryogen:KRJN:KRKN -cryptal:KRPT:KRPT -cryptic:KRPT:KRPT -crystal:KRST:KRST -cubbies:KPS:KPS -cubbing:KPNK:KPNK -cubbish:KPX:KPX -cubical:KPKL:KPKL -cubicle:KPKL:KPKL -cubists:KPST:KPST -cubital:KPTL:KPTL -cubitus:KPTS:KPTS -cucking:KKNK:KKNK -cuckold:KKLT:KKLT -cuckoos:KKS:KKS -cudbear:KTPR:KTPR -cuddies:KTS:KTS -cuddled:KTLT:KTLT -cuddles:KTLS:KTLS -cudgels:KJLS:KJLS -cudweed:KTT:KTT -cuestas:KSTS:KSTS -cuffing:KFNK:KFNK -cuirass:KRS:KRS -cuisine:KSN:KSN -culches:KLXS:KLKS -culicid:KLST:KLST -cullers:KLRS:KLRS -culling:KLNK:KLNK -culmens:KLMN:KLMN -culmina:KLMN:KLMN -culpaes:KLPS:KLPS -culprit:KLPR:KLPR -cultism:KLTS:KLTS -cultist:KLTS:KLTS -culture:KLTR:KLTR -culvert:KLFR:KLFR -cumarin:KMRN:KMRN -cumbers:KMRS:KMRS -cumbria:KMPR:KMPR -cummins:KMNS:KMNS -cumquat:KMKT:KMKT -cumulet:KMLT:KMLT -cumulus:KMLS:KMLS -cuneate:KNT:KNT -cunning:KNNK:KNNK -cupcake:KPKK:KPKK -cupeled:KPLT:KPLT -cupeler:KPLR:KPLR -cupfuls:KPFL:KPFL -cupolas:KPLS:KPLS -cupping:KPNK:KPNK -cuprite:KPRT:KPRT -cuprous:KPRS:KPRS -cupsful:KPSF:KPSF -cupulae:KPL:KPL -cupular:KPLR:KPLR -cupules:KPLS:KPLS -curable:KRPL:KRPL -curably:KRPL:KRPL -curacoa:KRK:KRK -curates:KRTS:KRTS -curator:KRTR:KRTR -curbing:KRPN:KRPN -curcuma:KRKM:KRKM -curdled:KRTL:KRTL -curdles:KRTL:KRTL -curette:KRT:KRT -curfews:KRFS:KRFS -curious:KRS:KRS -curlers:KRLR:KRLR -curlews:KRLS:KRLS -curlier:KRL:KRLR -curling:KRLN:KRLN -currant:KRNT:KRNT -currare:KRR:KRR -current:KRNT:KRNT -currets:KRTS:KRTS -curried:KRT:KRT -currier:KR:KRR -curries:KRS:KRS -currish:KRX:KRX -cursers:KRSR:KRSR -cursing:KRSN:KRSN -cursive:KRSF:KRSF -cursors:KRSR:KRSR -cursory:KRSR:KRSR -curtail:KRTL:KRTL -curtain:KRTN:KRTN -curtana:KRTN:KRTN -curtate:KRTT:KRTT -curtest:KRTS:KRTS -curtesy:KRTS:KRTS -curtsey:KRTS:KRTS -curvets:KRFT:KRFT -curvier:KRF:KRFR -curving:KRFN:KRFN -cushier:KX:KXR -cushily:KXL:KXL -cushing:KXNK:KXNK -cushion:KXN:KXN -cuspate:KSPT:KSPT -cuspids:KSPT:KSPT -cussing:KSNK:KSNK -custard:KSTR:KSTR -custody:KSTT:KSTT -customs:KSTM:KSTM -cutaway:KT:KT -cutback:KTPK:KTPK -cutdown:KTN:KTN -cuticle:KTKL:KTKL -cutises:KTSS:KTSS -cutlass:KTLS:KTLS -cutlers:KTLR:KTLR -cutlery:KTLR:KTLR -cutlets:KTLT:KTLT -cutoffs:KTFS:KTFS -cutouts:KTTS:KTTS -cutters:KTRS:KTRS -cutting:KTNK:KTNK -cutwork:KTRK:KTRK -cutworm:KTRM:KTRM -cuvette:KFT:KFT -cyanate:SNT:SNT -cyanide:SNT:SNT -cyanine:SNN:SNN -cyanite:SNT:SNT -cycasin:SKSN:SKSN -cyclase:SKLS:SKLS -cyclers:SKLR:SKLR -cycling:SKLN:SKLN -cyclist:SKLS:SKLS -cyclodi:SKLT:SKLT -cycloid:SKLT:SKLT -cyclone:SKLN:SKLN -cyclops:SKLP:SKLP -cyclopy:SKLP:SKLP -cydonia:STN:STN -cygnets:SNTS:SKNT -cylices:SLSS:SLSS -cymarin:SMRN:SMRN -cymatia:SMX:SMX -cymbalo:SMPL:SMPL -cymbals:SMPL:SMPL -cynical:SNKL:SNKL -cynthia:SN0:SNT -cyphers:SFRS:SFRS -cypress:SPRS:SPRS -cyprian:SPRN:SPRN -cypriot:SPRT:SPRT -cysteic:SSTK:SSTK -cystine:SSTN:SSTN -cystoid:SSTT:SSTT -cystoma:SSTM:SSTM -cystous:SSTS:SSTS -cytosol:STSL:STSL -czardas:SRTS:XRTS -czardom:SRTM:XRTM -czarina:SRN:XRN -czarism:SRSM:XRSM -czarist:SRST:XRST -czeches:SXS:XKS -dabbers:TPRS:TPRS -dabbing:TPNK:TPNK -dabbled:TPLT:TPLT -dabbler:TPLR:TPLR -dabbles:TPLS:TPLS -dabster:TPST:TPST -dacoits:TKTS:TKTS -dacoity:TKT:TKT -dacryon:TKRN:TKRN -dactyli:TKTL:TKTL -dactyls:TKTL:TKTL -dadaism:TTSM:TTSM -dadaist:TTST:TTST -daddies:TTS:TTS -dadoing:TTNK:TTNK -daemons:TMNS:TMNS -daffier:TF:TFR -daftest:TFTS:TFTS -daggers:TKRS:TKRS -dagging:TJNK:TKNK -daglock:TKLK:TKLK -dahlias:TLS:TLS -dahomey:THM:THM -dailies:TLS:TLS -daimler:TMLR:TMLR -dairies:TRS:TRS -daisies:TSS:TSS -dakotan:TKTN:TKTN -dakotas:TKTS:TKTS -dallied:TLT:TLT -dallier:TL:TLR -dallies:TLS:TLS -damaged:TMJT:TMKT -damager:TMKR:TMJR -damages:TMJS:TMKS -damasks:TMSK:TMSK -damming:TMNK:TMNK -damnify:TMNF:TMNF -damning:TMNN:TMNN -damnosa:TMNS:TMNS -dampens:TMPN:TMPN -dampers:TMPR:TMPR -dampest:TMPS:TMPS -damping:TMPN:TMPN -dampish:TMPX:TMPX -damsels:TMSL:TMSL -damsons:TMSN:TMSN -danbuoy:TNP:TNP -dancers:TNSR:TNSR -dancing:TNSN:TNSN -danders:TNTR:TNTR -dandier:TNT:TNTR -dandies:TNTS:TNTS -dandify:TNTF:TNTF -dandily:TNTL:TNTL -dandled:TNTL:TNTL -dandles:TNTL:TNTL -danelaw:TNL:TNLF -dangers:TNJR:TNKR -dangled:TNKL:TNKL -dangler:TNKL:TNKL -dangles:TNKL:TNKL -daniell:TNL:TNL -dankest:TNKS:TNKS -danseur:TNSR:TNSR -dantean:TNTN:TNTN -dapping:TPNK:TPNK -dappled:TPLT:TPLT -dapples:TPLS:TPLS -dapsone:TPSN:TPSN -darbies:TRPS:TRPS -daresay:TRS:TRS -dariole:TRL:TRL -darkens:TRKN:TRKN -darkest:TRKS:TRKS -darkish:TRKX:TRKX -darling:TRLN:TRLN -darnels:TRNL:TRNL -darners:TRNR:TRNR -darning:TRNN:TRNN -darrein:TRN:TRN -darters:TRTR:TRTR -darting:TRTN:TRTN -dasheen:TXN:TXN -dashers:TXRS:TXRS -dashiki:TXK:TXK -dashing:TXNK:TXNK -dashpot:TXPT:TXPT -dastard:TSTR:TSTR -dasypus:TSPS:TSPS -datable:TTPL:TTPL -dataria:TTR:TTR -datival:TTFL:TTFL -datives:TTFS:TTFS -datsuns:TTSN:TTSN -daturic:TTRK:TTRK -daubers:TPRS:TPRS -daubery:TPR:TPR -daubing:TPNK:TPNK -daunted:TNTT:TNTT -daunter:TNTR:TNTR -dauphin:TFN:TFN -dawdled:TTLT:TTLT -dawdler:TTLR:TTLR -dawdles:TTLS:TTLS -dawning:TNNK:TNNK -daybeds:TPTS:TPTS -daybook:TPK:TPK -dayboys:TPS:TPS -daycare:TKR:TKR -daylong:TLNK:TLNK -daystar:TSTR:TSTR -daytime:TTM:TTM -dazedly:TSTL:TSTL -dazzled:TSLT:TSLT -dazzler:TSLR:TSLR -dazzles:TSLS:TSLS -deacons:TKNS:TKNS -deadboy:TTP:TTP -deadens:TTNS:TTNS -deadest:TTST:TTST -deadman:TTMN:TTMN -deadmen:TTMN:TTMN -deadpan:TTPN:TTPN -deafens:TFNS:TFNS -deafest:TFST:TFST -dealate:TLT:TLT -dealers:TLRS:TLRS -dealing:TLNK:TLNK -deanery:TNR:TNR -dearest:TRST:TRST -dearies:TRS:TRS -dearths:TR0S:TRTS -deathes:T0S:TTS -deathly:T0L:TTL -debacle:TPKL:TPKL -debarks:TPRK:TPRK -debased:TPST:TPST -debaser:TPSR:TPSR -debases:TPSS:TPSS -debated:TPTT:TPTT -debater:TPTR:TPTR -debates:TPTS:TPTS -debauch:TPK:TPK -debited:TPTT:TPTT -debitum:TPTM:TPTM -debouch:TPK:TPK -debrett:TPRT:TPRT -debride:TPRT:TPRT -debrief:TPRF:TPRF -debtees:TPTS:TPTS -debtors:TPTR:TPTR -debunks:TPNK:TPNK -debussy:TPS:TPS -debuted:TPTT:TPTT -decades:TKTS:TKTS -decagon:TKKN:TKKN -decamps:TKMP:TKMP -decanal:TKNL:TKNL -decants:TKNT:TKNT -decapod:TKPT:TKPT -decares:TKRS:TKRS -decayed:TKT:TKT -decease:TSS:TSS -deceits:TSTS:TSTS -deceive:TSF:TSF -decency:TSNS:TSNS -decerns:TSRN:TSRN -deciare:TSR:TXR -decibel:TSPL:TSPL -decided:TSTT:TSTT -decider:TSTR:TSTR -decides:TSTS:TSTS -decidua:TST:TST -deciles:TSLS:TSLS -decimal:TSML:TSML -decisis:TSSS:TSSS -deckers:TKRS:TKRS -decking:TKNK:TKNK -deckles:TKLS:TKLS -declaim:TKLM:TKLM -declare:TKLR:TKLR -declass:TKLS:TKLS -decline:TKLN:TKLN -declive:TKLF:TKLF -decnets:TKNT:TKNT -decocta:TKKT:TKKT -decocts:TKKT:TKKT -decoded:TKTT:TKTT -decoder:TKTR:TKTR -decodes:TKTS:TKTS -decoked:TKKT:TKKT -decokes:TKKS:TKKS -decolor:TKLR:TKLR -decorum:TKRM:TKRM -decoyed:TKT:TKT -decoyer:TKR:TKR -decreed:TKRT:TKRT -decreer:TKRR:TKRR -decrees:TKRS:TKRS -decreet:TKRT:TKRT -decreta:TKRT:TKRT -decrial:TKRL:TKRL -decried:TKRT:TKRT -decrier:TKR:TKRR -decries:TKRS:TKRS -decrypt:TKRP:TKRP -decuple:TKPL:TKPL -dedimus:TTMS:TTMS -deditio:TTT:TTT -deduced:TTST:TTST -deducer:TTSR:TTSR -deduces:TTSS:TTSS -deducts:TTKT:TTKT -deedbox:TTPK:TTPK -deeding:TTNK:TTNK -deejays:TJS:THS -deeming:TMNK:TMNK -deepens:TPNS:TPNS -deepest:TPST:TPST -deerfly:TRFL:TRFL -defaced:TFST:TFST -defacer:TFSR:TFSR -defaces:TFSS:TFSS -defacto:TFKT:TFKT -defamed:TFMT:TFMT -defamer:TFMR:TFMR -defames:TFMS:TFMS -default:TFLT:TFLT -defeats:TFTS:TFTS -defects:TFKT:TFKT -defence:TFNS:TFNS -defends:TFNT:TFNT -defense:TFNS:TFNS -defiant:TFNT:TFNT -deficit:TFST:TFST -defiers:TFRS:TFRS -defiled:TFLT:TFLT -defiler:TFLR:TFLR -defiles:TFLS:TFLS -defined:TFNT:TFNT -definer:TFNR:TFNR -defines:TFNS:TFNS -deflate:TFLT:TFLT -deflect:TFLK:TFLK -deforce:TFRS:TFRS -deforms:TFRM:TFRM -defraud:TFRT:TFRT -defrays:TFRS:TFRS -defrock:TFRK:TFRK -defrost:TFRS:TFRS -deftest:TFTS:TFTS -defunct:TFNK:TFNK -defused:TFST:TFST -defuses:TFSS:TFSS -defuzed:TFST:TFST -defying:TFNK:TFNK -degauss:TKS:TKS -degrade:TKRT:TKRT -degrees:TKRS:TKRS -dehisce:THS:THS -dehorns:THRN:THRN -deicers:TSRS:TSRS -deicide:TST:TST -deicing:TSNK:TSNK -deictic:TKTK:TKTK -deified:TFT:TFT -deifier:TF:TFR -deifies:TFS:TFS -deiform:TFRM:TFRM -deigned:TNT:TKNT -deindex:TNTK:TNTK -deistic:TSTK:TSTK -deiters:TTRS:TTRS -deities:TTS:TTS -dejecta:TJKT:TJKT -delaine:TLN:TLN -delated:TLTT:TLTT -delator:TLTR:TLTR -delayed:TLT:TLT -delayer:TLR:TLR -deleing:TLNK:TLNK -deleted:TLTT:TLTT -deleter:TLTR:TLTR -deletes:TLTS:TLTS -delicta:TLKT:TLKT -delicti:TLKT:TLKT -delicto:TLKT:TLKT -delight:TLT:TLT -delimit:TLMT:TLMT -deliria:TLR:TLR -deliver:TLFR:TLFR -delouse:TLS:TLS -delphic:TLFK:TLFK -deltaic:TLTK:TLTK -deltoid:TLTT:TLTT -deluded:TLTT:TLTT -deluder:TLTR:TLTR -deludes:TLTS:TLTS -deluged:TLJT:TLKT -deluges:TLJS:TLKS -delvers:TLFR:TLFR -delving:TLFN:TLFN -demands:TMNT:TMNT -demeans:TMNS:TMNS -dementi:TMNT:TMNT -demerge:TMRJ:TMRK -demerit:TMRT:TMRT -demesne:TMSN:TMSN -demeure:TMR:TMR -demigod:TMKT:TMKT -demisan:TMSN:TMSN -demised:TMST:TMST -demises:TMSS:TMSS -demisit:TMST:TMST -demists:TMST:TMST -demonic:TMNK:TMNK -demoted:TMTT:TMTT -demotes:TMTS:TMTS -demotic:TMTK:TMTK -demount:TMNT:TMNT -dempsey:TMPS:TMPS -demurer:TMRR:TMRR -demures:TMRS:TMRS -denarii:TNR:TNR -dendron:TNTR:TNTR -denials:TNLS:TNLS -deniers:TNRS:TNRS -denizen:TNSN:TNSN -denmark:TNMR:TNMR -denning:TNNK:TNNK -denoted:TNTT:TNTT -denotes:TNTS:TNTS -densely:TNSL:TNSL -densest:TNSS:TNSS -density:TNST:TNST -dentate:TNTT:TNTT -dentils:TNTL:TNTL -dentine:TNTN:TNTN -denting:TNTN:TNTN -dentist:TNTS:TNTS -dentoid:TNTT:TNTT -denture:TNTR:TNTR -denuded:TNTT:TNTT -denuder:TNTR:TNTR -denudes:TNTS:TNTS -denying:TNNK:TNNK -deodand:TTNT:TTNT -deodars:TTRS:TTRS -deontic:TNTK:TNTK -departs:TPRT:TPRT -depends:TPNT:TPNT -depicts:TPKT:TPKT -deplane:TPLN:TPLN -deplete:TPLT:TPLT -deplore:TPLR:TPLR -deploys:TPLS:TPLS -deplume:TPLM:TPLM -deponed:TPNT:TPNT -deponer:TPNR:TPNR -depones:TPNS:TPNS -deports:TPRT:TPRT -deposal:TPSL:TPSL -deposed:TPST:TPST -deposer:TPSR:TPSR -deposes:TPSS:TPSS -deposit:TPST:TPST -deprave:TPRF:TPRF -depress:TPRS:TPRS -deprive:TPRF:TPRF -depside:TPST:TPST -depthes:TP0S:TPTS -depurge:TPRJ:TPRK -deputed:TPTT:TPTT -deputes:TPTS:TPTS -dequeue:TK:TK -deraign:TRN:TRKN -derails:TRLS:TRLS -derange:TRNJ:TRNK -derated:TRTT:TRTT -derates:TRTS:TRTS -derbies:TRPS:TRPS -dereism:TRSM:TRSM -derided:TRTT:TRTT -derider:TRTR:TRTR -derides:TRTS:TRTS -derived:TRFT:TRFT -deriver:TRFR:TRFR -derives:TRFS:TRFS -dermoid:TRMT:TRMT -dernier:TRN:TRNR -derrick:TRK:TRK -dervish:TRFX:TRFX -desalts:TSLT:TSLT -descant:TSKN:TSKN -descend:TSNT:TSNT -descent:TSNT:TSNT -deserts:TSRT:TSRT -deserve:TSRF:TSRF -designs:TSNS:TSKN -desired:TSRT:TSRT -desirer:TSRR:TSRR -desires:TSRS:TSRS -desists:TSST:TSST -deskill:TSKL:TSKL -desktop:TSKT:TSKT -desmoid:TSMT:TSMT -desorbs:TSRP:TSRP -despair:TSPR:TSPR -despise:TSPS:TSPS -despite:TSPT:TSPT -despoil:TSPL:TSPL -despond:TSPN:TSPN -despots:TSPT:TSPT -dessert:TSRT:TSRT -destain:TSTN:TSTN -destine:TSTN:TSTN -destiny:TSTN:TSTN -destroy:TSTR:TSTR -details:TTLS:TTLS -detains:TTNS:TTNS -detects:TTKT:TTKT -detente:TTNT:TTNT -detents:TTNT:TTNT -deterge:TTRJ:TTRK -detests:TTST:TTST -detinet:TTNT:TTNT -detinue:TTN:TTN -detours:TTRS:TTRS -detract:TTRK:TTRK -detrain:TTRN:TTRN -detroit:TTRT:TTRT -detrude:TTRT:TTRT -deuceed:TST:TST -devalue:TFL:TFL -develed:TFLT:TFLT -develop:TFLP:TFLP -deviant:TFNT:TFNT -deviate:TFT:TFT -devices:TFSS:TFSS -deviled:TFLT:TFLT -devilry:TFLR:TFLR -devious:TFS:TFS -devisal:TFSL:TFSL -devisat:TFST:TFST -devised:TFST:TFST -devisee:TFS:TFS -deviser:TFSR:TFSR -devises:TFSS:TFSS -devisor:TFSR:TFSR -devoice:TFS:TFS -devoirs:TFRS:TFRS -devolve:TFLF:TFLF -devored:TFRT:TFRT -devorer:TFRR:TFRR -devoted:TFTT:TFTT -devotee:TFT:TFT -devotes:TFTS:TFTS -dewclaw:TKL:TKLF -dewdrop:TTRP:TTRP -dewiest:TST:TST -dewlaps:TLPS:TLPS -dextrad:TKST:TKST -dextral:TKST:TKST -dextran:TKST:TKST -dextrin:TKST:TKST -d'hotel:TTL:TTL -dhotirs:TTRS:TTRS -diabase:TPS:TPS -diabolo:TPL:TPL -diadems:TTMS:TTMS -diagram:TKRM:TKRM -dialect:TLKT:TLKT -dialers:TLRS:TLRS -dialing:TLNK:TLNK -dialled:TLT:TLT -dialler:TLR:TLR -dialogs:TLKS:TLKS -dialyze:TLS:TLS -diamine:TMN:TMN -diamond:TMNT:TMNT -dianoia:TN:TN -diapers:TPRS:TPRS -diapirs:TPRS:TPRS -diarchy:TRX:TRK -diaries:TRS:TRS -diarist:TRST:TRST -diaster:TSTR:TSTR -diatoms:TTMS:TTMS -diaxone:TKSN:TKSN -diazine:TSN:TSN -diazoes:TSS:TSS -diazole:TSL:TSL -dibasic:TPSK:TPSK -dibbers:TPRS:TPRS -dibbing:TPNK:TPNK -dibbled:TPLT:TPLT -dibbler:TPLR:TPLR -dibbles:TPLS:TPLS -diciest:TSST:TXST -dickens:TKNS:TKNS -dickers:TKRS:TKRS -dickeys:TKS:TKS -dickies:TKS:TKS -dicliny:TKLN:TKLN -dictate:TKTT:TKTT -diction:TKXN:TKXN -dictuma:TKTM:TKTM -dictums:TKTM:TKTM -diddled:TTLT:TTLT -diddler:TTLR:TTLR -diddles:TTLS:TTLS -didicoy:TTK:TTK -dieback:TPK:TPK -diedres:TTRS:TTRS -diehard:THRT:THRT -diesels:TSLS:TSLS -diester:TSTR:TSTR -dietary:TTR:TTR -dieters:TTRS:TTRS -dieting:TTNK:TTNK -differs:TFRS:TFRS -diffuse:TFS:TFS -digenea:TJN:TKN -digests:TJST:TKST -diggers:TKRS:TKRS -digging:TKNK:TKNK -digital:TJTL:TKTL -digitus:TJTS:TKTS -dignify:TNF:TKNF -dignity:TNT:TKNT -digoxin:TKKS:TKKS -digraph:TKRF:TKRF -digress:TKRS:TKRS -dilated:TLTT:TLTT -dilater:TLTR:TLTR -dilates:TLTS:TLTS -dilator:TLTR:TLTR -dildoes:TLTS:TLTS -dilemma:TLM:TLM -dillies:TLS:TLS -diluent:TLNT:TLNT -diluted:TLTT:TLTT -dilutee:TLT:TLT -diluter:TLTR:TLTR -dilutes:TLTS:TLTS -diluvia:TLF:TLF -dimmers:TMRS:TMRS -dimmest:TMST:TMST -dimming:TMNK:TMNK -dimmish:TMX:TMX -dimmock:TMK:TMK -dimness:TMNS:TMNS -dimorph:TMRF:TMRF -dimpled:TMPL:TMPL -dimples:TMPL:TMPL -dimwits:TMTS:TMTS -dinaric:TNRK:TNRK -dineric:TNRK:TNRK -dinette:TNT:TNT -dingbat:TNKP:TNKP -dingier:TNJ:TNKR -dingily:TNJL:TNKL -dinging:TNJN:TNKN -dingles:TNKL:TNKL -dingoes:TNKS:TNKS -dinitro:TNTR:TNTR -dinkier:TNKR:TNKR -dinners:TNRS:TNRS -dinning:TNNK:TNNK -diocese:TSS:TSS -diopter:TPTR:TPTR -dioptry:TPTR:TPTR -diorama:TRM:TRM -diorite:TRT:TRT -dioxane:TKSN:TKSN -dioxide:TKST:TKST -diploic:TPLK:TPLK -diploid:TPLT:TPLT -diploma:TPLM:TPLM -diplont:TPLN:TPLN -dipolar:TPLR:TPLR -dipoles:TPLS:TPLS -dippers:TPRS:TPRS -dippier:TP:TPR -dipping:TPNK:TPNK -diptych:TPTX:TPTK -dipygus:TPKS:TPKS -directs:TRKT:TRKT -direful:TRFL:TRFL -dirndls:TRNT:TRNT -dirtied:TRTT:TRTT -dirtier:TRT:TRTR -dirties:TRTS:TRTS -dirtily:TRTL:TRTL -disable:TSPL:TSPL -disarms:TSRM:TSRM -disavow:TSF:TSFF -disband:TSPN:TSPN -disbars:TSPR:TSPR -disbuds:TSPT:TSPT -discard:TSKR:TSKR -discern:TSRN:TSRN -discing:TSNK:TSNK -discoid:TSKT:TSKT -discord:TSKR:TSKR -discuss:TSKS:TSKS -disdain:TSTN:TSTN -disease:TSS:TSS -diseuse:TSS:TSS -disgust:TSKS:TSKS -dishful:TXFL:TXFL -dishier:TX:TXR -dishing:TXNK:TXNK -dishrag:TXRK:TXRK -disject:TSKT:TSKT -disjoin:TSN:TSN -dislike:TLK:TLK -dismast:TSMS:TSMS -dismays:TSMS:TSMS -dismiss:TSMS:TSMS -disobey:TSP:TSP -disowns:TSNS:TSNS -dispels:TSPL:TSPL -display:TSPL:TSPL -dispone:TSPN:TSPN -disport:TSPR:TSPR -dispose:TSPS:TSPS -dispute:TSPT:TSPT -disrate:TSRT:TSRT -disrobe:TSRP:TSRP -disrupt:TSRP:TSRP -dissect:TSKT:TSKT -dissent:TSNT:TSNT -distaff:TSTF:TSTF -distant:TSTN:TSTN -distend:TSTN:TSTN -distent:TSTN:TSTN -distich:TSTX:TSTK -distill:TSTL:TSTL -distils:TSTL:TSTL -distoma:TSTM:TSTM -distort:TSTR:TSTR -disturb:TSTR:TSTR -disused:TSST:TSST -ditched:TXT:TXT -ditcher:TXR:TXR -ditches:TXS:TXS -dithers:T0RS:TTRS -dittany:TTN:TTN -ditties:TTS:TTS -dittoed:TTT:TTT -dittoes:TTS:TTS -diurnal:TRNL:TRNL -diverge:TFRJ:TFRK -diverse:TFRS:TFRS -diverts:TFRT:TFRT -divests:TFST:TFST -divided:TFTT:TFTT -divider:TFTR:TFTR -divides:TFTS:TFTS -divined:TFNT:TFNT -diviner:TFNR:TFNR -divines:TFNS:TFNS -divisor:TFSR:TFSR -divorce:TFRS:TFRS -divulge:TFLJ:TFLK -divulse:TFLS:TFLS -divvied:TFT:TFT -divvies:TFS:TFS -dizzied:TST:TTST -dizzier:TS:TTSR -dizzies:TSS:TTSS -dizzily:TSL:TTSL -djibbah:TJP:TJP -dnieper:TNPR:TNPR -dobbies:TPS:TPS -dobbins:TPNS:TPNS -docents:TSNT:TSNT -dockage:TKJ:TKK -dockers:TKRS:TKRS -dockets:TKTS:TKTS -docking:TKNK:TKNK -doctors:TKTR:TKTR -dodders:TTRS:TTRS -doddery:TTR:TTR -dodgers:TJRS:TJRS -dodgier:TJ:TJR -dodging:TJNK:TJNK -doeskin:TSKN:TSKN -doesn't:TSNT:TSNT -doffers:TFRS:TFRS -doffing:TFNK:TFNK -dogbane:TKPN:TKPN -dogcart:TKKR:TKKR -dogears:TJRS:TKRS -dogface:TKFS:TKFS -dogfish:TKFX:TKFX -doggies:TJS:TKS -dogging:TJNK:TKNK -doggish:TJX:TKX -doggone:TKN:TKN -doglegs:TKLK:TKLK -doglike:TKLK:TKLK -dogmata:TKMT:TKMT -dogtrot:TKTR:TKTR -dogvane:TKFN:TKFN -dogwood:TKT:TKT -doilies:TLS:TLS -doleful:TLFL:TLFL -dolines:TLNS:TLNS -dollars:TLRS:TLRS -dollies:TLS:TLS -dolling:TLNK:TLNK -dollish:TLX:TLX -dollops:TLPS:TLPS -dolmans:TLMN:TLMN -dolmens:TLMN:TLMN -dolores:TLRS:TLRS -dolphin:TLFN:TLFN -doltish:TLTX:TLTX -domains:TMNS:TMNS -domical:TMKL:TMKL -domicil:TMSL:TMSL -dominae:TMN:TMN -dominie:TMN:TMN -dominos:TMNS:TMNS -dominus:TMNS:TMNS -domitae:TMT:TMT -donated:TNTT:TNTT -donatee:TNT:TNT -donates:TNTS:TNTS -donatio:TNT:TNT -donator:TNTR:TNTR -donegal:TNKL:TNKL -dongles:TNKL:TNKL -donkeys:TNKS:TNKS -donning:TNNK:TNNK -donnish:TNX:TNX -donovan:TNFN:TNFN -doodads:TTTS:TTTS -doodahs:TTS:TTS -doodled:TTLT:TTLT -doodler:TTLR:TTLR -doodles:TTLS:TTLS -doomage:TMJ:TMK -dooming:TMNK:TMNK -doorman:TRMN:TRMN -doormat:TRMT:TRMT -doormen:TRMN:TRMN -doorway:TR:TR -dopants:TPNT:TPNT -dopiest:TPST:TPST -doppler:TPLR:TPLR -dormant:TRMN:TRMN -dormers:TRMR:TRMR -dormice:TRMS:TRMS -dornase:TRNS:TRNS -dorothy:TR0:TRT -dosages:TSJS:TSKS -dossals:TSLS:TSLS -dossels:TSLS:TSLS -dossers:TSRS:TSRS -dossier:TS:TSR -dossing:TSNK:TSNK -dotards:TTRT:TTRT -dottels:TTLS:TTLS -dotters:TTRS:TTRS -dottier:TT:TTR -dottily:TTL:TTL -dotting:TTNK:TTNK -dottles:TTLS:TTLS -doubled:TPLT:TPLT -doubler:TPLR:TPLR -doubles:TPLS:TPLS -doublet:TPLT:TPLT -doubted:TPTT:TPTT -doubter:TPTR:TPTR -douched:TXT:TKT -douches:TXS:TKS -doughty:TT:TT -douglas:TKLS:TKLS -dourine:TRN:TRN -dousers:TSRS:TSRS -dousing:TSNK:TSNK -dovekey:TFK:TFK -dowable:TPL:TPL -dowager:TKR:TJR -dowdier:TTR:TTR -dowdily:TTL:TTL -doweled:TLT:TLT -dowered:TRT:TRT -dowment:TMNT:TMNT -downers:TNRS:TNRS -downier:TNR:TNR -downing:TNNK:TNNK -dowries:TRS:TRS -dowsers:TSRS:TSRS -dowsing:TSNK:TSNK -doyenne:TN:TN -doyleys:TLS:TLS -dozenth:TSN0:TSNT -doziest:TSST:TSST -drabbed:TRPT:TRPT -drabber:TRPR:TRPR -drabbet:TRPT:TRPT -drabble:TRPL:TRPL -drachma:TRKM:TRKM -drachms:TRKM:TRKM -dracone:TRKN:TRKN -dracula:TRKL:TRKL -drafted:TRFT:TRFT -draftee:TRFT:TRFT -drafter:TRFT:TRFT -dragees:TRJS:TRKS -dragged:TRKT:TRKT -dragger:TRKR:TRKR -draggle:TRKL:TRKL -dragnet:TRNT:TRKN -dragons:TRKN:TRKN -dragoon:TRKN:TRKN -drailed:TRLT:TRLT -drained:TRNT:TRNT -drainer:TRNR:TRNR -drapers:TRPR:TRPR -drapery:TRPR:TRPR -draping:TRPN:TRPN -drastic:TRST:TRST -dratted:TRTT:TRTT -draught:TRFT:TRFT -drawbar:TRPR:TRPR -drawees:TRS:TRS -drawers:TRRS:TRRS -drawing:TRNK:TRNK -drawled:TRLT:TRLT -drawler:TRLR:TRLR -drawnly:TRNL:TRNL -drayage:TRJ:TRK -dreaded:TRTT:TRTT -dreamed:TRMT:TRMT -dreamer:TRMR:TRMR -dredged:TRJT:TRJT -dredger:TRJR:TRJR -dredges:TRJS:TRJS -dreiser:TRSR:TRSR -dresden:TRST:TRST -dressed:TRST:TRST -dresser:TRSR:TRSR -dresses:TRSS:TRSS -dribble:TRPL:TRPL -dribbly:TRPL:TRPL -driblet:TRPL:TRPL -drifted:TRFT:TRFT -drifter:TRFT:TRFT -drilled:TRLT:TRLT -driller:TRLR:TRLR -driness:TRNS:TRNS -drinker:TRNK:TRNK -dripped:TRPT:TRPT -dripper:TRPR:TRPR -drivels:TRFL:TRFL -drivers:TRFR:TRFR -driving:TRFN:TRFN -drizzle:TRSL:TRSL -drizzly:TRSL:TRSL -drogues:TRKS:TRKS -dromond:TRMN:TRMN -drongos:TRNK:TRNK -droning:TRNN:TRNN -dronish:TRNX:TRNX -drooled:TRLT:TRLT -drooler:TRLR:TRLR -drooped:TRPT:TRPT -droplet:TRPL:TRPL -dropout:TRPT:TRPT -dropped:TRPT:TRPT -dropper:TRPR:TRPR -drought:TRFT:TRFT -drovers:TRFR:TRFR -droving:TRFN:TRFN -drowned:TRNT:TRNT -drowner:TRNR:TRNR -drowsed:TRST:TRST -drowser:TRSR:TRSR -drowses:TRSS:TRSS -drubbed:TRPT:TRPT -drubber:TRPR:TRPR -drudged:TRJT:TRJT -drudges:TRJS:TRJS -drugged:TRKT:TRKT -drugget:TRKT:TRKT -druggie:TRK:TRK -druidic:TRTK:TRTK -drumlin:TRML:TRML -drummed:TRMT:TRMT -drummer:TRMR:TRMR -drunken:TRNK:TRNK -drunker:TRNK:TRNK -drunkly:TRNK:TRNK -drupels:TRPL:TRPL -dryable:TRPL:TRPL -dryness:TRNS:TRNS -drywall:TRL:TRL -dualism:TLSM:TLSM -dualist:TLST:TLST -duality:TLT:TLT -dubbers:TPRS:TPRS -dubbing:TPNK:TPNK -dubiety:TPT:TPT -dubious:TPS:TPS -ducally:TKL:TKL -duchess:TXS:TKS -duchies:TXS:TKS -duckers:TKRS:TKRS -duckier:TKR:TKR -ducking:TKNK:TKNK -duckpin:TKPN:TKPN -ductile:TKTL:TKTL -ducting:TKTN:TKTN -ductule:TKTL:TKTL -dudgeon:TJN:TJN -duelers:TLRS:TLRS -dueling:TLNK:TLNK -duelist:TLST:TLST -duennas:TNS:TNS -duffers:TFRS:TFRS -duffing:TFNK:TFNK -dugongs:TKNK:TKNK -dugouts:TKTS:TKTS -dukedom:TKTM:TKTM -dulcify:TLSF:TLSF -dullard:TLRT:TLRT -dullest:TLST:TLST -dulling:TLNK:TLNK -dullish:TLX:TLX -dulness:TLNS:TLNS -duloses:TLSS:TLSS -dulosis:TLSS:TLSS -dulotic:TLTK:TLTK -dumbest:TMPS:TMPS -dumdums:TMTM:TMTM -dummied:TMT:TMT -dummies:TMS:TMS -dumpers:TMPR:TMPR -dumpier:TMP:TMPR -dumpily:TMPL:TMPL -dumping:TMPN:TMPN -dunedin:TNTN:TNTN -dungeon:TNJN:TNKN -dunging:TNJN:TNKN -dunkers:TNKR:TNKR -dunking:TNKN:TNKN -dunnage:TNJ:TNK -dunnies:TNS:TNS -dunning:TNNK:TNNK -dunnock:TNK:TNK -dunting:TNTN:TNTN -duodena:TTN:TTN -duopoly:TPL:TPL -duotone:TTN:TTN -dupable:TPPL:TPPL -duplets:TPLT:TPLT -durable:TRPL:TRPL -durably:TRPL:TRPL -duramen:TRMN:TRMN -durance:TRNS:TRNS -durante:TRNT:TRNT -durbars:TRPR:TRPR -durians:TRNS:TRNS -duritis:TRTS:TRTS -durmast:TRMS:TRMS -duskier:TSKR:TSKR -duskily:TSKL:TSKL -dustbin:TSTP:TSTP -dusters:TSTR:TSTR -dustier:TST:TSTR -dustily:TSTL:TSTL -dusting:TSTN:TSTN -dustman:TSTM:TSTM -dustmen:TSTM:TSTM -dustpan:TSTP:TSTP -duteous:TTS:TTS -dutiful:TTFL:TTFL -dvandva:TFNT:TFNT -dwarfed:TRFT:TRFT -dwarves:TRFS:TRFS -dwelled:TLT:TLT -dweller:TLR:TLR -dwindle:TNTL:TNTL -dyarchy:TRX:TRK -dybbuks:TPKS:TPKS -dyeable:TPL:TPL -dyeline:TLN:TLN -dyewood:TT:TT -dynamic:TNMK:TNMK -dynamos:TNMS:TNMS -dynasts:TNST:TNST -dynasty:TNST:TNST -dynodes:TNTS:TNTS -dysergy:TSRJ:TSRK -dysnomy:TSNM:TSNM -dyspnea:TSPN:TSPN -dysuria:TSR:TSR -dysuric:TSRK:TSRK -eagerly:AKRL:AJRL -eaglets:AKLT:AKLT -earache:ARX:ARK -eardrop:ARTR:ARTR -eardrum:ARTR:ARTR -earflap:ARFL:ARFL -earldom:ARLT:ARLT -earless:ARLS:ARLS -earlier:ARL:ARLR -earlike:ARLK:ARLK -earlobe:ARLP:ARLP -earmark:ARMR:ARMR -earmuff:ARMF:ARMF -earners:ARNR:ARNR -earnest:ARNS:ARNS -earning:ARNN:ARNN -earplug:ARPL:ARPL -earring:ARNK:ARNK -earshot:ARXT:ARXT -earthen:AR0N:ARTN -earthes:AR0S:ARTS -earthly:AR0L:ARTL -earwigs:ARKS:ARKS -easeful:ASFL:ASFL -easiest:ASST:ASST -eastern:ASTR:ASTR -easting:ASTN:ASTN -eastman:ASTM:ASTM -easying:ASNK:ASNK -eatable:ATPL:ATPL -eatings:ATNK:ATNK -ebonies:APNS:APNS -ebonite:APNT:APNT -ebonize:APNS:APNS -ebriety:APRT:APRT -ecbolic:AKPL:AKPL -eccrine:AKRN:AKRN -ecdemic:AKTM:AKTM -ecdyses:AKTS:AKTS -ecdysis:AKTS:AKTS -echelon:AXLN:AKLN -echidna:AXTN:AKTN -echinus:AXNS:AKNS -echoers:AXRS:AKRS -echoing:AXNK:AKNK -echoism:AXSM:AKSM -eclairs:AKLR:AKLR -eclipse:AKLP:AKLP -eclogue:AKLK:AKLK -ecocide:AKST:AKST -ecology:AKLJ:AKLK -economy:AKNM:AKNM -ecorche:AKRX:AKRK -ecotone:AKTN:AKTN -ecotype:AKTP:AKTP -ecstacy:AKST:AKST -ecstasy:AKST:AKST -ectases:AKTS:AKTS -ectasia:AKTS:AKTX -ectasis:AKTS:AKTS -ectatic:AKTT:AKTT -ecthyma:AK0M:AKTM -ectopia:AKTP:AKTP -ectopic:AKTP:AKTP -ectozoa:AKTS:AKTS -ectypal:AKTP:AKTP -ectypes:AKTP:AKTP -ecuador:AKTR:AKTR -ecuries:AKRS:AKRS -edacity:ATST:ATST -edaphic:ATFK:ATFK -eddying:ATNK:ATNK -edemata:ATMT:ATMT -edgiest:AJST:AJST -edibles:ATPL:ATPL -edictal:ATKT:ATKT -edifice:ATFS:ATFS -edified:ATFT:ATFT -edifier:ATF:ATFR -edifies:ATFS:ATFS -editing:ATTN:ATTN -edition:ATXN:ATXN -editors:ATTR:ATTR -educate:ATKT:ATKT -educing:ATSN:ATSN -edwards:ATRT:ATRT -eelpout:ALPT:ALPT -eelworm:ALRM:ALRM -eeriely:ARL:ARL -eeriest:ARST:ARST -effaced:AFST:AFST -effacer:AFSR:AFSR -effaces:AFSS:AFSS -effects:AFKT:AFKT -effendi:AFNT:AFNT -efforts:AFRT:AFRT -effused:AFST:AFST -effuses:AFSS:AFSS -egghead:AKT:AKT -eggnogs:AKNK:AKNK -egoists:AKST:AKST -egotism:AKTS:AKTS -egotist:AKTS:AKTS -eidetic:ATTK:ATTK -eidolon:ATLN:ATLN -eighths:A0S:ATS -eightvo:ATF:ATF -eijkman:AKMN:AKMN -eimeria:AMR:AMR -einkorn:ANKR:ANKR -ejacula:AJKL:AHKL -ejected:AJKT:AJKT -ejector:AJKT:AJKT -ejectum:AJKT:AJKT -ejusdem:AJST:AJST -ekistic:AKST:AKST -ekpwele:AKPL:AKPL -elapsed:ALPS:ALPS -elapses:ALPS:ALPS -elastic:ALST:ALST -elastin:ALST:ALST -elating:ALTN:ALTN -elation:ALXN:ALXN -elative:ALTF:ALTF -elbowed:ALPT:ALPT -elderly:ALTR:ALTR -eleanor:ALNR:ALNR -elected:ALKT:ALKT -electee:ALKT:ALKT -elector:ALKT:ALKT -electra:ALKT:ALKT -electro:ALKT:ALKT -elegant:ALKN:ALKN -elegiac:ALJK:ALKK -elegies:ALJS:ALKS -elegize:ALJS:ALKS -element:ALMN:ALMN -elenchi:ALNX:ALNK -elevate:ALFT:ALFT -elevens:ALFN:ALFN -elevons:ALFN:ALFN -elfland:ALFL:ALFL -elflock:ALFL:ALFL -elicits:ALST:ALST -eliding:ALTN:ALTN -elision:ALSN:ALXN -elitism:ALTS:ALTS -elitist:ALTS:ALTS -elixirs:ALKS:ALKS -ellipse:ALPS:ALPS -elocute:ALKT:ALKT -elopers:ALPR:ALPR -eloping:ALPN:ALPN -eluders:ALTR:ALTR -eluding:ALTN:ALTN -elusion:ALSN:ALXN -elusive:ALSF:ALSF -elusory:ALSR:ALSR -eluting:ALTN:ALTN -elution:ALXN:ALXN -eluvial:ALFL:ALFL -eluvium:ALFM:ALFM -elysian:ALSN:ALXN -elysium:ALSM:ALSM -elytron:ALTR:ALTR -emanate:AMNT:AMNT -embalms:AMPL:AMPL -embanks:AMPN:AMPN -embargo:AMPR:AMPR -embarks:AMPR:AMPR -embassy:AMPS:AMPS -embayed:AMPT:AMPT -embayer:AMPR:AMPR -embelia:AMPL:AMPL -emblaze:AMPL:AMPL -emblems:AMPL:AMPL -emboles:AMPL:AMPL -embolic:AMPL:AMPL -embolus:AMPL:AMPL -embosom:AMPS:AMPS -embowed:AMPT:AMPT -embowel:AMPL:AMPL -embower:AMPR:AMPR -embrace:AMPR:AMPR -embroil:AMPR:AMPR -embrued:AMPR:AMPR -embrues:AMPR:AMPR -embryol:AMPR:AMPR -embryos:AMPR:AMPR -embused:AMPS:AMPS -embuses:AMPS:AMPS -emceing:AMSN:AMSN -emended:AMNT:AMNT -emenens:AMNN:AMNN -emerald:AMRL:AMRL -emerged:AMRJ:AMRK -emerges:AMRJ:AMRK -emerods:AMRT:AMRT -emersed:AMRS:AMRS -emerson:AMRS:AMRS -emetics:AMTK:AMTK -emetine:AMTN:AMTN -emigree:AMKR:AMKR -emigres:AMKR:AMKR -eminent:AMNN:AMNN -emirate:AMRT:AMRT -emitted:AMTT:AMTT -emitter:AMTR:AMTR -emoters:AMTR:AMTR -emoting:AMTN:AMTN -emotion:AMXN:AMXN -emotive:AMTF:AMTF -empanel:AMPN:AMPN -empathy:AMP0:AMPT -emperor:AMPR:AMPR -empires:AMPR:AMPR -empiric:AMPR:AMPR -emplace:AMPL:AMPL -emplane:AMPL:AMPL -employe:AMPL:AMPL -employs:AMPL:AMPL -emporia:AMPR:AMPR -empower:AMPR:AMPR -empress:AMPR:AMPR -emptied:AMPT:AMPT -emptier:AMPT:AMPT -empties:AMPT:AMPT -emptily:AMPT:AMPT -emption:AMPX:AMPX -empyema:AMPM:AMPM -emulate:AMLT:AMLT -emulous:AMLS:AMLS -emulsin:AMLS:AMLS -enabled:ANPL:ANPL -enabler:ANPL:ANPL -enables:ANPL:ANPL -enacted:ANKT:ANKT -enactor:ANKT:ANKT -enamels:ANML:ANML -enamors:ANMR:ANMR -encaged:ANKJ:ANKK -encages:ANKJ:ANKK -encamps:ANKM:ANKM -encased:ANKS:ANKS -encases:ANKS:ANKS -enchain:ANXN:ANKN -enchant:ANXN:ANKN -enchase:ANXS:ANKS -enclair:ANKL:ANKL -enclasp:ANKL:ANKL -enclave:ANKL:ANKL -enclose:ANKL:ANKL -encoded:ANKT:ANKT -encoder:ANKT:ANKT -encodes:ANKT:ANKT -encolor:ANKL:ANKL -encomia:ANKM:ANKM -encores:ANKR:ANKR -encrust:ANKR:ANKR -encrypt:ANKR:ANKR -encysts:ANSS:ANSS -endarch:ANTR:ANTR -endears:ANTR:ANTR -endemic:ANTM:ANTM -endgame:ANTK:ANTK -endings:ANTN:ANTN -endives:ANTF:ANTF -endless:ANTL:ANTL -endmost:ANTM:ANTM -endnote:ANTN:ANTN -endogen:ANTJ:ANTK -endorse:ANTR:ANTR -endowed:ANTT:ANTT -endower:ANTR:ANTR -endplay:ANTP:ANTP -enduing:ANTN:ANTN -endured:ANTR:ANTR -endures:ANTR:ANTR -enduros:ANTR:ANTR -endways:ANTS:ANTS -endwise:ANTS:ANTS -enemata:ANMT:ANMT -enemies:ANMS:ANMS -energid:ANRJ:ANRK -enfaced:ANFS:ANFS -enfaces:ANFS:ANFS -enfants:ANFN:ANFN -enfeoff:ANFF:ANFF -enflame:ANFL:ANFL -enfolds:ANFL:ANFL -enforce:ANFR:ANFR -engaged:ANKJ:ANKK -engager:ANKK:ANKJ -engages:ANKJ:ANKK -engines:ANJN:ANKN -england:ANKL:ANKL -english:ANKL:ANLX -englobe:ANKL:ANKL -engluts:ANKL:ANKL -engorge:ANKR:ANKR -engraft:ANKR:ANKR -engrail:ANKR:ANKR -engrain:ANKR:ANKR -engrams:ANKR:ANKR -engrave:ANKR:ANKR -engross:ANKR:ANKR -engulfs:ANKL:ANKL -enhance:ANNS:ANNS -enigmas:ANKM:ANKM -enisled:ANLT:ANLT -enisles:ANLS:ANLS -enjoins:ANJN:ANJN -enjoyed:ANJT:ANJT -enjoyer:ANJR:ANJR -enlaced:ANLS:ANLS -enlaces:ANLS:ANLS -enlarge:ANLR:ANLR -enlists:ANLS:ANLS -enliven:ANLF:ANLF -enmasse:ANMS:ANMS -enneads:ANTS:ANTS -ennoble:ANPL:ANPL -ennuied:ANT:ANT -ennuyed:ANT:ANT -enolase:ANLS:ANLS -enology:ANLJ:ANLK -enounce:ANNS:ANNS -enplane:ANPL:ANPL -enqueue:ANK:ANK -enquire:ANKR:ANKR -enquiry:ANKR:ANKR -enraged:ANRJ:ANRK -enrages:ANRJ:ANRK -enrobed:ANRP:ANRP -enrober:ANRP:ANRP -enrobes:ANRP:ANRP -enroled:ANRL:ANRL -enrolle:ANRL:ANRL -enrolls:ANRL:ANRL -enroots:ANRT:ANRT -enroute:ANRT:ANRT -ensigns:ANSN:ANSK -ensiled:ANSL:ANSL -ensiles:ANSL:ANSL -enslave:ANSL:ANSL -ensnare:ANSN:ANSN -ensnarl:ANSN:ANSN -ensouls:ANSL:ANSL -ensuant:ANSN:ANSN -ensuing:ANSN:ANSN -ensured:ANSR:ANSR -ensurer:ANSR:ANSR -ensures:ANSR:ANSR -entails:ANTL:ANTL -entases:ANTS:ANTS -entasia:ANTS:ANTX -entasis:ANTS:ANTS -entente:ANTN:ANTN -enteral:ANTR:ANTR -entered:ANTR:ANTR -enterer:ANTR:ANTR -enteric:ANTR:ANTR -enteron:ANTR:ANTR -enthral:AN0R:ANTR -enthuse:AN0S:ANTS -enticed:ANTS:ANTS -enticer:ANTS:ANTS -entices:ANTS:ANTS -entitle:ANTT:ANTT -entombs:ANTM:ANTM -entomic:ANTM:ANTM -entopic:ANTP:ANTP -entozoa:ANTS:ANTS -entrain:ANTR:ANTR -entrant:ANTR:ANTR -entraps:ANTR:ANTR -entreat:ANTR:ANTR -entrees:ANTR:ANTR -entrées:ANTR:ANTR -entries:ANTR:ANTR -entropy:ANTR:ANTR -entrust:ANTR:ANTR -entryst:ANTR:ANTR -entwine:ANTN:ANTN -enuring:ANRN:ANRN -envelop:ANFL:ANFL -envenom:ANFN:ANFN -enviers:ANFR:ANFR -envious:ANFS:ANFS -environ:ANFR:ANFR -envying:ANFN:ANFN -enwinds:ANNT:ANNT -enwombs:ANMP:ANMP -enwraps:ANRP:ANRP -enzymes:ANSM:ANSM -enzymic:ANSM:ANSM -eobiont:APNT:APNT -eoliths:AL0S:ALTS -eosinic:ASNK:ASNK -epacrid:APKR:APKR -epactal:APKT:APKT -eparchs:APRK:APRK -eparchy:APRX:APRK -epaulet:APLT:APLT -epaxial:APKS:APKS -epeeist:APST:APST -epeiric:APRK:APRK -epergne:APRN:APRK -ephebic:AFPK:AFPK -ephedra:AFTR:AFTR -ephelis:AFLS:AFLS -ephoral:AFRL:AFRL -epibole:APPL:APPL -epiboly:APPL:APPL -epicarp:APKR:APKR -epicene:APSN:APSN -epicure:APKR:APKR -epicyte:APST:APST -epiderm:APTR:APTR -epidote:APTT:APTT -epigeal:APJL:APKL -epigean:APJN:APKN -epigene:APJN:APKN -epigram:APKR:APKR -epigyny:APJN:APKN -epihyal:APHL:APHL -epilogs:APLK:APLK -epiloia:APL:APL -epimere:APMR:APMR -epiotic:APTK:APTK -epipial:APPL:APPL -epiploa:APPL:APPL -episode:APST:APST -episome:APSM:APSM -epistle:APST:APST -epitaph:APTF:APTF -epitaxy:APTK:APTK -epithet:AP0T:APTT -epitome:APTM:APTM -epizoic:APSK:APSK -epizoon:APSN:APSN -epochal:APXL:APKL -epoches:APXS:APKS -eponyms:APNM:APNM -eponymy:APNM:APNM -epoxide:APKS:APKS -epoxies:APKS:APKS -epsilon:APSL:APSL -epstein:APST:APST -epuloid:APLT:APLT -epyllia:APL:APL -equable:AKPL:AKPL -equably:AKPL:AKPL -equaled:AKLT:AKLT -equally:AKL:AKL -equated:AKTT:AKTT -equates:AKTS:AKTS -equator:AKTR:AKTR -equerry:AKR:AKR -equilin:AKLN:AKLN -equinae:AKN:AKN -equinox:AKNK:AKNK -equites:AKTS:AKTS -erasers:ARSR:ARSR -erasing:ARSN:ARSN -erasion:ARSN:ARXN -erasmus:ARSM:ARSM -erasure:ARSR:ARSR -erected:ARKT:ARKT -erecter:ARKT:ARKT -erectly:ARKT:ARKT -erector:ARKT:ARKT -erelong:ARLN:ARLN -eremite:ARMT:ARMT -erepsin:ARPS:ARPS -ergasia:ARKS:ARKX -eriking:ARKN:ARKN -eringos:ARNK:ARNK -eristic:ARST:ARST -erlking:ARLK:ARLK -ermines:ARMN:ARMN -erodent:ARTN:ARTN -eroding:ARTN:ARTN -erosely:ARSL:ARSL -erosion:ARSN:ARXN -erosive:ARSF:ARSF -erotema:ARTM:ARTM -eroteme:ARTM:ARTM -erotica:ARTK:ARTK -erotism:ARTS:ARTS -erotize:ARTS:ARTS -errancy:ARNS:ARNS -errands:ARNT:ARNT -erratic:ARTK:ARTK -erratum:ARTM:ARTM -errhine:ARN:ARN -eructed:ARKT:ARKT -erudite:ARTT:ARTT -erupted:ARPT:ARPT -escaped:ASKP:ASKP -escapee:ASKP:ASKP -escaper:ASKP:ASKP -escapes:ASKP:ASKP -escarps:ASKR:ASKR -eschars:AXRS:AXRS -escheat:AXT:AXT -eschews:AXS:AXS -escolar:ASKL:ASKL -escorts:ASKR:ASKR -escribe:ASKP:ASKP -escrows:ASKS:ASKS -escuage:ASKJ:ASKK -escudos:ASKT:ASKT -esculin:ASKL:ASKL -eserine:ASRN:ASRN -eskimos:ASKM:ASKM -esmarch:ASMR:ASMR -esparto:ASPR:ASPR -espiers:ASPR:ASPR -esplees:ASPL:ASPL -espouse:ASPS:ASPS -espying:ASPN:ASPN -esquire:ASKR:ASKR -essayed:AST:AST -essayer:ASR:ASR -essence:ASNS:ASNS -estates:ASTT:ASTT -esteems:ASTM:ASTM -estival:ASTF:ASTF -estonia:ASTN:ASTN -estover:ASTF:ASTF -estrade:ASTR:ASTR -estrays:ASTR:ASTR -estreat:ASTR:ASTR -estrepe:ASTR:ASTR -estriol:ASTR:ASTR -estrone:ASTR:ASTR -estrous:ASTR:ASTR -estrual:ASTR:ASTR -estuary:ASTR:ASTR -etaerio:ATR:ATR -etagere:ATKR:ATJR -etalons:ATLN:ATLN -etamine:ATMN:ATMN -etchant:AXNT:AXNT -etchers:AXRS:AXRS -etching:AXNK:AXNK -eternal:ATRN:ATRN -etesian:ATSN:ATXN -ethanal:A0NL:ATNL -ethanol:A0NL:ATNL -etheric:A0RK:ATRK -ethical:A0KL:ATKL -ethmoid:A0MT:ATMT -ethnics:A0NK:ATNK -ethylic:A0LK:ATLK -etonian:ATNN:ATNN -etriers:ATRR:ATRR -etruria:ATRR:ATRR -etymons:ATMN:ATMN -eucaine:AKN:AKN -eucaris:AKRS:AKRS -euchred:AKRT:AKRT -euchres:AKRS:AKRS -eudemon:ATMN:ATMN -eugenic:AJNK:AKNK -eugenol:AJNL:AKNL -euglena:AKLN:AKLN -eugonic:AKNK:AKNK -eulogia:ALJ:ALK -eunuchs:ANKS:ANKS -eupepsy:APPS:APPS -euphony:AFN:AFN -euphroe:AFR:AFR -euploid:APLT:APLT -eupnoea:APN:APN -eurasia:ARS:ARX -euripus:ARPS:ARPS -eustasy:ASTS:ASTS -eutocia:ATS:ATX -evacuee:AFK:AFK -evaders:AFTR:AFTR -evading:AFTN:AFTN -evangel:AFNJ:AFNK -evanish:AFNX:AFNX -evasion:AFSN:AFXN -evasive:AFSF:AFSF -eveners:AFNR:AFNR -evening:AFNN:AFNN -evenson:AFNS:AFNS -eventer:AFNT:AFNT -everest:AFRS:AFRS -everted:AFRT:AFRT -evertor:AFRT:AFRT -everyth:AFR0:AFRT -evicted:AFKT:AFKT -evictee:AFKT:AFKT -evictor:AFKT:AFKT -evident:AFTN:AFTN -eviller:AFLR:AFLR -evinced:AFNS:AFNS -evinces:AFNS:AFNS -evirate:AFRT:AFRT -evokers:AFKR:AFKR -evoking:AFKN:AFKN -evolute:AFLT:AFLT -evolved:AFLF:AFLF -evolver:AFLF:AFLF -evolves:AFLF:AFLF -evzones:AFSN:AFSN -exacted:AKSK:AKSK -exacter:AKSK:AKSK -exactly:AKSK:AKSK -exactor:AKSK:AKSK -exalted:AKSL:AKSL -exalter:AKSL:AKSL -examine:AKSM:AKSM -example:AKSM:AKSM -exarate:AKSR:AKSR -exarchs:AKSR:AKSR -exarchy:AKSR:AKSR -exceeds:AKST:AKST -excepts:AKSP:AKSP -excerpt:AKSR:AKSR -excised:AKSS:AKSS -excises:AKSS:AKSS -excited:AKST:AKST -exciter:AKST:AKST -excites:AKST:AKST -exciton:AKST:AKST -excitor:AKST:AKST -exclaim:AKSL:AKSL -exclave:AKSL:AKSL -exclude:AKSL:AKSL -excreta:AKSR:AKSR -excrete:AKSR:AKSR -excused:AKSS:AKSS -excuses:AKSS:AKSS -executa:AKSK:AKSK -execute:AKSK:AKSK -exegete:AKSK:AKSK -exempla:AKSM:AKSM -exempli:AKSM:AKSM -exempts:AKSM:AKSM -exergue:AKSR:AKSR -exerted:AKSR:AKSR -exhaled:AKSL:AKSL -exhales:AKSL:AKSL -exhaust:AKSS:AKSS -exhibit:AKSP:AKSP -exhorts:AKSR:AKSR -exhumed:AKSM:AKSM -exhumer:AKSM:AKSM -exhumes:AKSM:AKSM -exigent:AKSJ:AKSK -exilian:AKSL:AKSL -exiling:AKSL:AKSL -existed:AKSS:AKSS -exiting:AKST:AKST -exocarp:AKSK:AKSK -exoderm:AKST:AKST -exogamy:AKSK:AKSK -exordia:AKSR:AKSR -exosmic:AKSS:AKSS -exotica:AKST:AKST -expands:AKSP:AKSP -expanse:AKSP:AKSP -exparte:AKSP:AKSP -expects:AKSP:AKSP -expends:AKSP:AKSP -expense:AKSP:AKSP -experts:AKSP:AKSP -expiate:AKSP:AKSP -expired:AKSP:AKSP -expiree:AKSP:AKSP -expirer:AKSP:AKSP -expires:AKSP:AKSP -explain:AKSP:AKSP -explant:AKSP:AKSP -explode:AKSP:AKSP -exploit:AKSP:AKSP -explore:AKSP:AKSP -exponas:AKSP:AKSP -exports:AKSP:AKSP -exposal:AKSP:AKSP -exposed:AKSP:AKSP -exposer:AKSP:AKSP -exposes:AKSP:AKSP -expound:AKSP:AKSP -express:AKSP:AKSP -expunge:AKSP:AKSP -exscind:AKSS:AKSS -exsects:AKSS:AKSS -extends:AKST:AKST -extenso:AKST:AKST -extents:AKST:AKST -externa:AKST:AKST -externs:AKST:AKST -extimae:AKST:AKST -extimas:AKST:AKST -extinct:AKST:AKST -extines:AKST:AKST -extorts:AKST:AKST -extract:AKST:AKST -extreme:AKST:AKST -extrude:AKST:AKST -exudate:AKST:AKST -exuding:AKST:AKST -exulted:AKSL:AKSL -exurban:AKSR:AKSR -exurbia:AKSR:AKSR -exuviae:AKSF:AKSF -exuvial:AKSF:AKSF -eyeball:APL:APL -eyebath:AP0:APT -eyebolt:APLT:APLT -eyebrow:APR:APRF -eyehole:AHL:AHL -eyehook:AHK:AHK -eyelash:ALX:ALX -eyeless:ALS:ALS -eyelets:ALTS:ALTS -eyelids:ALTS:ALTS -eyeshot:AXT:AXT -eyesore:ASR:ASR -eyespot:ASPT:ASPT -eyewash:AX:AX -ezekiel:ASKL:ATSK -fabella:FPL:FPL -fabiana:FPN:FPN -fabians:FPNS:FPNS -fablers:FPLR:FPLR -fabrics:FPRK:FPRK -facaded:FKTT:FKTT -facades:FKTS:FKTS -facebar:FSPR:FSPR -facebow:FSP:FSPF -faceted:FSTT:FSTT -facette:FST:FST -facials:FSLS:FXLS -facings:FSNK:FSNK -factful:FKTF:FKTF -factice:FKTS:FKTS -faction:FKXN:FKXN -factive:FKTF:FKTF -factors:FKTR:FKTR -factory:FKTR:FKTR -factual:FKTL:FKTL -factums:FKTM:FKTM -faculae:FKL:FKL -facular:FKLR:FKLR -faculty:FKLT:FKLT -fadable:FTPL:FTPL -faddish:FTX:FTX -faddism:FTSM:FTSM -faddist:FTST:FTST -fadeout:FTT:FTT -faeries:FRS:FRS -faffing:FFNK:FFNK -fagging:FJNK:FKNK -faggots:FKTS:FKTS -faience:FNS:FNS -failing:FLNK:FLNK -failure:FLR:FLR -fainted:FNTT:FNTT -fainter:FNTR:FNTR -faintly:FNTL:FNTL -fairers:FRRS:FRRS -fairest:FRST:FRST -fairies:FRS:FRS -fairing:FRNK:FRNK -fairish:FRX:FRX -fairway:FR:FR -faithes:F0S:FTS -falafel:FLFL:FLFL -falange:FLNJ:FLNK -falcate:FLKT:FLKT -falcial:FLSL:FLXL -falcons:FLKN:FLKN -falcula:FLKL:FLKL -faldage:FLTJ:FLTK -falkirk:FLKR:FLKR -fallacy:FLS:FLS -fallers:FLRS:FLRS -falling:FLNK:FLNK -falloff:FLF:FLF -fallout:FLT:FLT -falsely:FLSL:FLSL -falsest:FLSS:FLSS -falsies:FLSS:FLSS -falsify:FLSF:FLSF -falsity:FLST:FLST -falters:FLTR:FLTR -familia:FML:FML -famines:FMNS:FMNS -fanatic:FNTK:FNTK -fancied:FNST:FNXT -fancier:FNS:FNXR -fancies:FNSS:FNXS -fancily:FNSL:FNSL -fanfare:FNFR:FNFR -fanions:FNNS:FNNS -fanjets:FNJT:FNJT -fanmail:FNML:FNML -fanners:FNRS:FNRS -fannies:FNS:FNS -fanning:FNNK:FNNK -fantail:FNTL:FNTL -fantasm:FNTS:FNTS -fantast:FNTS:FNTS -fantasy:FNTS:FNTS -fanzine:FNSN:FNSN -faraday:FRT:FRT -faradic:FRTK:FRTK -faraway:FR:FR -farceur:FRSR:FRSR -farcies:FRSS:FRXS -fareham:FRHM:FRHM -farmers:FRMR:FRMR -farming:FRMN:FRMN -farmout:FRMT:FRMT -farness:FRNS:FRNS -farnham:FRNM:FRNM -farrago:FRK:FRK -farrari:FRR:FRR -farrier:FR:FRR -farrows:FRS:FRS -farther:FR0R:FRTR -farting:FRTN:FRTN -fasciae:FS:FS -fascial:FSL:FSL -fascias:FSS:FSS -fascine:FSN:FSN -fascism:FSSM:FSSM -fascist:FSST:FSST -fashing:FXNK:FXNK -fashion:FXN:FXN -fastens:FSTN:FSTN -fasters:FSTR:FSTR -fastest:FSTS:FSTS -fasting:FSTN:FSTN -fatales:FTLS:FTLS -fatally:FTL:FTL -fatback:FTPK:FTPK -fateful:FTFL:FTFL -fathead:F0T:FTT -fathers:F0RS:FTRS -fathoms:FTMS:FTMS -fatigue:FTK:FTK -fatless:FTLS:FTLS -fatlike:FTLK:FTLK -fatling:FTLN:FTLN -fatness:FTNS:FTNS -fatsoes:FTSS:FTSS -fattens:FTNS:FTNS -fatters:FTRS:FTRS -fattest:FTST:FTST -fattier:FT:FTR -fatties:FTS:FTS -fattily:FTL:FTL -fatting:FTNK:FTNK -fattish:FTX:FTX -fatuity:FTT:FTT -fatuous:FTS:FTS -faubour:FPR:FPR -faucets:FSTS:FSTS -faucial:FSL:FXL -faulted:FLTT:FLTT -faunaes:FNS:FNS -faunula:FNL:FNL -faustus:FSTS:FSTS -fauvism:FFSM:FFSM -fauvist:FFST:FFST -faveoli:FFL:FFL -favored:FFRT:FFRT -favorer:FFRR:FFRR -fawners:FNRS:FNRS -fawning:FNNK:FNNK -fearers:FRRS:FRRS -fearful:FRFL:FRFL -fearing:FRNK:FRNK -feasant:FSNT:FSNT -feasted:FSTT:FSTT -feaster:FSTR:FSTR -feather:F0R:FTR -feature:FTR:FTR -feazing:FSNK:FSNK -febrile:FPRL:FPRL -fechner:FKNR:FKNR -feculae:FKL:FKL -fedayee:FT:FT -federal:FTRL:FTRL -fedoras:FTRS:FTRS -feebler:FPLR:FPLR -feedbag:FTPK:FTPK -feeders:FTRS:FTRS -feeding:FTNK:FTNK -feedlot:FTLT:FTLT -feelers:FLRS:FLRS -feeless:FLS:FLS -feeling:FLNK:FLNK -fehling:FLNK:FLNK -feigned:FNT:FKNT -feigner:FNR:FKNR -feinted:FNTT:FNTT -felidae:FLT:FLT -felines:FLNS:FLNS -fellahs:FLS:FLS -fellate:FLT:FLT -fellers:FLRS:FLRS -fellies:FLS:FLS -felling:FLNK:FLNK -felloes:FLS:FLS -fellows:FLS:FLS -felones:FLNS:FLNS -felonry:FLNR:FLNR -felsite:FLST:FLST -felting:FLTN:FLTN -felucca:FLK:FLK -females:FMLS:FMLS -femoral:FMRL:FMRL -femoris:FMRS:FMRS -fenagle:FNKL:FNKL -fencers:FNSR:FNSR -fencing:FNSN:FNSN -fenders:FNTR:FNTR -fending:FNTN:FNTN -fenians:FNNS:FNNS -fennels:FNLS:FNLS -feoffed:FFT:FFT -feoffee:FF:FF -feoffer:FFR:FFR -feoffor:FFR:FFR -ferenda:FRNT:FRNT -ferment:FRMN:FRMN -fermion:FRMN:FRMN -fermium:FRMM:FRMM -fernery:FRNR:FRNR -ferrate:FRT:FRT -ferrets:FRTS:FRTS -ferrety:FRT:FRT -ferried:FRT:FRT -ferries:FRS:FRS -ferrite:FRT:FRT -ferrous:FRS:FRS -ferrule:FRL:FRL -fertile:FRTL:FRTL -ferules:FRLS:FRLS -fervent:FRFN:FRFN -fervors:FRFR:FRFR -festers:FSTR:FSTR -festina:FSTN:FSTN -festive:FSTF:FSTF -festoon:FSTN:FSTN -fetalis:FTLS:FTLS -fetched:FXT:FXT -fetcher:FXR:FXR -fetches:FXS:FXS -fetidly:FTTL:FTTL -fetlock:FTLK:FTLK -fetters:FTRS:FTRS -fettled:FTLT:FTLT -fettles:FTLS:FTLS -fetuses:FTSS:FTSS -feuding:FTNK:FTNK -feulgen:FLJN:FLKN -fevered:FFRT:FFRT -fewness:FNS:FNS -fiacres:FKRS:FKRS -fiancee:FNS:FNS -fiances:FNSS:FNSS -fiascos:FSKS:FSKS -fibbers:FPRS:FPRS -fibbing:FPNK:FPNK -fibrils:FPRL:FPRL -fibroid:FPRT:FPRT -fibroin:FPRN:FPRN -fibroma:FPRM:FPRM -fibrosa:FPRS:FPRS -fibrose:FPRS:FPRS -fibrous:FPRS:FPRS -fibulae:FPL:FPL -fibular:FPLR:FPLR -fibulas:FPLS:FPLS -ficelle:FSL:FSL -fictile:FKTL:FKTL -fiction:FKXN:FKXN -fictive:FKTF:FKTF -fiddled:FTLT:FTLT -fiddler:FTLR:FTLR -fiddles:FTLS:FTLS -fideism:FTSM:FTSM -fideist:FTST:FTST -fideles:FTLS:FTLS -fidelis:FTLS:FTLS -fidgets:FJTS:FJTS -fidgety:FJT:FJT -fiefees:FFS:FFS -fielded:FLTT:FLTT -fielder:FLTR:FLTR -fiercer:FRSR:FRSR -fierier:FR:FRR -fierily:FRL:FRL -fiestas:FSTS:FSTS -fifteen:FFTN:FFTN -fifthes:FF0S:FFTS -fifthly:FF0L:FFTL -fifties:FFTS:FFTS -figging:FKNK:FKNK -fighter:FTR:FTR -figment:FKMN:FKMN -figural:FKRL:FKRL -figured:FKRT:FKRT -figurer:FKRR:FKRR -figures:FKRS:FKRS -fijians:FJNS:FJNS -filaria:FLR:FLR -filbert:FLPR:FLPR -filched:FLXT:FLKT -filcher:FLXR:FLKR -filches:FLXS:FLKS -filiate:FLT:FLT -filibeg:FLPK:FLPK -filicic:FLSK:FLSK -filings:FLNK:FLNK -fillers:FLRS:FLRS -fillets:FLTS:FLTS -fillies:FLS:FLS -filling:FLNK:FLNK -fillips:FLPS:FLPS -filmdom:FLMT:FLMT -filmier:FLM:FLMR -filmily:FLML:FLML -filming:FLMN:FLMN -filmset:FLMS:FLMS -filopod:FLPT:FLPT -filters:FLTR:FLTR -filtrum:FLTR:FLTR -fimbria:FMPR:FMPR -finable:FNPL:FNPL -finagle:FNKL:FNKL -finales:FNLS:FNLS -finally:FNL:FNL -finance:FNNS:FNNS -finback:FNPK:FNPK -finches:FNXS:FNKS -finders:FNTR:FNTR -finding:FNTN:FNTN -finesse:FNS:FNS -finfoot:FNFT:FNFT -fingers:FNKR:FNJR -finials:FNLS:FNLS -finical:FNKL:FNKL -finicky:FNK:FNK -finings:FNNK:FNNK -finking:FNKN:FNKN -finland:FNLN:FNLN -finless:FNLS:FNLS -finnier:FN:FNR -finning:FNNK:FNNK -finnish:FNX:FNX -finnock:FNK:FNK -fipples:FPLS:FPLS -firearm:FRRM:FRRM -firebox:FRPK:FRPK -firebug:FRPK:FRPK -firebus:FRPS:FRPS -firedog:FRTK:FRTK -firefly:FRFL:FRFL -fireman:FRMN:FRMN -firemen:FRMN:FRMN -firepan:FRPN:FRPN -fireplu:FRPL:FRPL -firings:FRNK:FRNK -firkins:FRKN:FRKN -firmest:FRMS:FRMS -firming:FRMN:FRMN -firstly:FRST:FRST -firthes:FR0S:FRTS -fishers:FXRS:FXRS -fishery:FXR:FXR -fisheye:FX:FX -fishgig:FXJK:FXKK -fishier:FX:FXR -fishily:FXL:FXL -fishing:FXNK:FXNK -fishnet:FXNT:FXNT -fissile:FSL:FSL -fission:FSN:FSN -fissura:FSR:FSR -fissure:FSR:FSR -fistful:FSTF:FSTF -fisting:FSTN:FSTN -fistula:FSTL:FSTL -fitches:FXS:FXS -fitchet:FXT:FXT -fitment:FTMN:FTMN -fitness:FTNS:FTNS -fitters:FTRS:FTRS -fittest:FTST:FTST -fitting:FTNK:FTNK -fixable:FKSP:FKSP -fixated:FKST:FKST -fixates:FKST:FKST -fixedly:FKST:FKST -fixings:FKSN:FKSN -fixture:FKST:FKST -fizzers:FSRS:FSRS -fizzier:FS:FTSR -fizzing:FSNK:FTSN -fizzled:FSLT:FSLT -fizzles:FSLS:FSLS -flaccid:FLXT:FLXT -flacons:FLKN:FLKN -flagged:FLKT:FLKT -flagger:FLKR:FLKR -flagman:FLKM:FLKM -flagmen:FLKM:FLKM -flagons:FLKN:FLKN -flailed:FLLT:FLLT -flakers:FLKR:FLKR -flakier:FLKR:FLKR -flakily:FLKL:FLKL -flaking:FLKN:FLKN -flambee:FLMP:FLMP -flamers:FLMR:FLMR -flaming:FLMN:FLMN -flamory:FLMR:FLMR -flander:FLNT:FLNT -flanged:FLNJ:FLNK -flanger:FLNK:FLNJ -flanges:FLNJ:FLNK -flanked:FLNK:FLNK -flanker:FLNK:FLNK -flannel:FLNL:FLNL -flapped:FLPT:FLPT -flapper:FLPR:FLPR -flaring:FLRN:FLRN -flashed:FLXT:FLXT -flasher:FLXR:FLXR -flashes:FLXS:FLXS -flasket:FLSK:FLSK -flatbed:FLTP:FLTP -flatcar:FLTK:FLTK -flatted:FLTT:FLTT -flatten:FLTN:FLTN -flatter:FLTR:FLTR -flattop:FLTP:FLTP -flaunch:FLNX:FLNK -flaunts:FLNT:FLNT -flavedo:FLFT:FLFT -flavian:FLFN:FLFN -flavine:FLFN:FLFN -flavone:FLFN:FLFN -flavors:FLFR:FLFR -flawing:FLNK:FLNK -flaxsed:FLKS:FLKS -flayers:FLRS:FLRS -flaying:FLNK:FLNK -fleabag:FLPK:FLPK -fleapit:FLPT:FLPT -fleches:FLXS:FLKS -flecked:FLKT:FLKT -flecker:FLKR:FLKR -fledged:FLJT:FLJT -fledges:FLJS:FLJS -fleeced:FLST:FLST -fleecer:FLSR:FLSR -fleeces:FLSS:FLSS -fleecie:FLS:FLX -fleeing:FLNK:FLNK -fleered:FLRT:FLRT -fleeted:FLTT:FLTT -fleetly:FLTL:FLTL -fleming:FLMN:FLMN -flemish:FLMX:FLMX -flensed:FLNS:FLNS -flenser:FLNS:FLNS -flenses:FLNS:FLNS -fleshed:FLXT:FLXT -flesher:FLXR:FLXR -fleshes:FLXS:FLXS -fleshly:FLXL:FLXL -fleuret:FLRT:FLRT -fleuron:FLRN:FLRN -flexile:FLKS:FLKS -flexing:FLKS:FLKS -flexion:FLKS:FLKS -flexors:FLKS:FLKS -flexure:FLKS:FLKS -flicked:FLKT:FLKT -flicker:FLKR:FLKR -flights:FLTS:FLTS -flighty:FLT:FLT -flinger:FLNK:FLNJ -flinted:FLNT:FLNT -flipped:FLPT:FLPT -flipper:FLPR:FLPR -flirted:FLRT:FLRT -flirter:FLRT:FLRT -flitted:FLTT:FLTT -flitter:FLTR:FLTR -flivver:FLFR:FLFR -floated:FLTT:FLTT -floatel:FLTL:FLTL -floater:FLTR:FLTR -flocced:FLXT:FLXT -floccus:FLKS:FLKS -flocked:FLKT:FLKT -flogged:FLKT:FLKT -flogger:FLKR:FLKR -flooded:FLTT:FLTT -flooder:FLTR:FLTR -floored:FLRT:FLRT -floorer:FLRR:FLRR -floozie:FLS:FLS -flopped:FLPT:FLPT -flopper:FLPR:FLPR -floraes:FLRS:FLRS -florets:FLRT:FLRT -florida:FLRT:FLRT -florins:FLRN:FLRN -florist:FLRS:FLRS -florula:FLRL:FLRL -flossed:FLST:FLST -flosses:FLSS:FLSS -flotage:FLTJ:FLTK -flotels:FLTL:FLTL -flotsam:FLTS:FLTS -flounce:FLNS:FLNS -floured:FLRT:FLRT -flouted:FLTT:FLTT -flouter:FLTR:FLTR -flowage:FLJ:FLK -flowers:FLRS:FLRS -flowery:FLR:FLR -flowing:FLNK:FLNK -flubbed:FLPT:FLPT -fluency:FLNS:FLNS -fluffed:FLFT:FLFT -fluidal:FLTL:FLTL -fluidic:FLTK:FLTK -fluidly:FLTL:FLTL -flukier:FLKR:FLKR -flukily:FLKL:FLKL -fluking:FLKN:FLKN -flummox:FLMK:FLMK -flumped:FLMP:FLMP -flunked:FLNK:FLNK -flunkey:FLNK:FLNK -fluoric:FLRK:FLRK -flushed:FLXT:FLXT -flusher:FLXR:FLXR -flushes:FLXS:FLXS -fluster:FLST:FLST -fluting:FLTN:FLTN -flutist:FLTS:FLTS -flutted:FLTT:FLTT -flutter:FLTR:FLTR -fluvial:FLFL:FLFL -fluxing:FLKS:FLKS -fluxion:FLKS:FLKS -flyable:FLPL:FLPL -flyaway:FL:FL -flyback:FLPK:FLPK -flybelt:FLPL:FLPL -flybies:FLPS:FLPS -flyblew:FLPL:FLPL -flyblow:FLPL:FLPL -flyboat:FLPT:FLPT -flybook:FLPK:FLPK -flyleaf:FLLF:FLLF -flyover:FLFR:FLFR -flytrap:FLTR:FLTR -flyways:FLS:FLS -foaling:FLNK:FLNK -foamier:FM:FMR -foamily:FML:FML -foaming:FMNK:FMNK -fobbing:FPNK:FPNK -focally:FKL:FKL -focused:FKST:FKST -focuser:FKSR:FKSR -focuses:FKSS:FKSS -fodders:FTRS:FTRS -fogbows:FKPS:FKPS -fogdogs:FKTK:FKTK -foggier:FJ:FKR -foggily:FJL:FKL -fogging:FJNK:FKNK -foghorn:FKRN:FKRN -fogless:FKLS:FKLS -fogyish:FJX:FKX -fogyism:FJSM:FKSM -foibles:FPLS:FPLS -foiling:FLNK:FLNK -foisted:FSTT:FSTT -folacin:FLSN:FLSN -foldage:FLTJ:FLTK -folders:FLTR:FLTR -folding:FLTN:FLTN -foldout:FLTT:FLTT -foliage:FLJ:FLK -foliate:FLT:FLT -folicly:FLKL:FLKL -folinic:FLNK:FLNK -foliose:FLS:FLS -folious:FLS:FLS -folkish:FLKX:FLKX -folkway:FLK:FLK -follies:FLS:FLS -follows:FLS:FLS -foments:FMNT:FMNT -fomites:FMTS:FMTS -fondant:FNTN:FNTN -fondest:FNTS:FNTS -fondled:FNTL:FNTL -fondles:FNTL:FNTL -fondues:FNTS:FNTS -fontina:FNTN:FNTN -foodies:FTS:FTS -foolery:FLR:FLR -fooling:FLNK:FLNK -foolish:FLX:FLX -footage:FTJ:FTK -footboy:FTP:FTP -footers:FTRS:FTRS -footing:FTNK:FTNK -footled:FTLT:FTLT -footles:FTLS:FTLS -footman:FTMN:FTMN -footmen:FTMN:FTMN -footpad:FTPT:FTPT -footsie:FTS:FTS -footway:FT:FT -foozled:FSLT:FSLT -foozler:FSLR:FSLR -foozles:FSLS:FSLS -foppery:FPR:FPR -foppish:FPX:FPX -foraged:FRJT:FRKT -forager:FRKR:FRJR -forages:FRJS:FRKS -foramen:FRMN:FRMN -forayed:FRT:FRT -forayer:FRR:FRR -forbade:FRPT:FRPT -forbear:FRPR:FRPR -forbids:FRPT:FRPT -forbode:FRPT:FRPT -forbore:FRPR:FRPR -forceps:FRSP:FRSP -forcers:FRSR:FRSR -forcing:FRSN:FRSN -fording:FRTN:FRTN -fordyce:FRTS:FRTS -forearm:FRRM:FRRM -foregut:FRKT:FRKT -foreign:FRN:FRKN -foreleg:FRLK:FRLK -foreman:FRMN:FRMN -foremen:FRMN:FRMN -forepaw:FRP:FRPF -foreran:FRRN:FRRN -forerun:FRRN:FRRN -foresaw:FRS:FRSF -foresee:FRS:FRS -forests:FRST:FRST -foretop:FRTP:FRTP -forever:FRFR:FRFR -forewat:FRT:FRT -forfeit:FRFT:FRFT -forfend:FRFN:FRFN -forgave:FRKF:FRKF -forgers:FRKR:FRJR -forgery:FRKR:FRJR -forgets:FRKT:FRKT -forging:FRJN:FRKN -forgive:FRJF:FRKF -forgoer:FRKR:FRKR -forgoes:FRKS:FRKS -forgone:FRKN:FRKN -forints:FRNT:FRNT -forkful:FRKF:FRKF -forking:FRKN:FRKN -forlorn:FRLR:FRLR -formals:FRML:FRML -formant:FRMN:FRMN -formate:FRMT:FRMT -formats:FRMT:FRMT -formers:FRMR:FRMR -formica:FRMK:FRMK -formine:FRMN:FRMN -forming:FRMN:FRMN -formula:FRML:FRML -forrard:FRRT:FRRT -forrest:FRST:FRST -forsake:FRSK:FRSK -forsook:FRSK:FRSK -fortier:FRT:FRTR -forties:FRTS:FRTS -fortify:FRTF:FRTF -fortior:FRTR:FRTR -fortran:FRTR:FRTR -fortuit:FRTT:FRTT -fortune:FRTN:FRTN -forward:FRRT:FRRT -forwent:FRNT:FRNT -forworn:FRRN:FRRN -fossick:FSK:FSK -fossils:FSLS:FSLS -fossula:FSL:FSL -fosters:FSTR:FSTR -fottled:FTLT:FTLT -fottler:FTLR:FTLR -fouette:FT:FT -foulard:FLRT:FLRT -foulest:FLST:FLST -fouling:FLNK:FLNK -founded:FNTT:FNTT -founder:FNTR:FNTR -foundry:FNTR:FNTR -fourier:FR:FRR -fourths:FR0S:FRTS -foveate:FFT:FFT -foveola:FFL:FFL -fowlers:FLRS:FLRS -fowling:FLNK:FLNK -foxfire:FKSF:FKSF -foxhole:FKSL:FKSL -foxiest:FKSS:FKSS -foxlike:FKSL:FKSL -foxtrot:FKST:FKST -fractal:FRKT:FRKT -fraenum:FRNM:FRNM -fragged:FRKT:FRKT -fragile:FRJL:FRKL -frailer:FRLR:FRLR -frailly:FRL:FRL -frailty:FRLT:FRLT -fraises:FRSS:FRSS -framers:FRMR:FRMR -framing:FRMN:FRMN -frances:FRNS:FRNS -francis:FRNS:FRNS -franked:FRNK:FRNK -franker:FRNK:FRNK -frankly:FRNK:FRNK -frantic:FRNT:FRNT -frapped:FRPT:FRPT -frappes:FRPS:FRPS -fratchy:FRX:FRX -fraters:FRTR:FRTR -fraudem:FRTM:FRTM -fraught:FRFT:FRFT -fraying:FRNK:FRNK -frazzle:FRSL:FRSL -freaked:FRKT:FRKT -freckle:FRKL:FRKL -freckly:FRKL:FRKL -freebie:FRP:FRP -freedom:FRTM:FRTM -freeing:FRNK:FRNK -freeman:FRMN:FRMN -freemen:FRMN:FRMN -freesia:FRS:FRX -freeway:FR:FR -freezed:FRST:FRST -freezer:FRSR:FRSR -freezes:FRSS:FRSS -freight:FRT:FRT -frenula:FRNL:FRNL -frenums:FRNM:FRNM -frescos:FRSK:FRSK -freshen:FRXN:FRXN -fresher:FRXR:FRXR -freshet:FRXT:FRXT -freshly:FRXL:FRXL -fresnel:FRSN:FRSN -fretful:FRTF:FRTF -fretted:FRTT:FRTT -fretter:FRTR:FRTR -friable:FRPL:FRPL -fribble:FRPL:FRPL -fridays:FRTS:FRTS -fridges:FRJS:FRJS -friends:FRNT:FRNT -friezes:FRSS:FRSS -frigate:FRKT:FRKT -frights:FRTS:FRTS -frilled:FRLT:FRLT -fringed:FRNJ:FRNK -fringes:FRNJ:FRNK -frisbee:FRSP:FRSP -frisian:FRSN:FRXN -frisked:FRSK:FRSK -frisker:FRSK:FRSK -frisket:FRSK:FRSK -frisson:FRSN:FRSN -fritfly:FRTF:FRTF -fritted:FRTT:FRTT -fritter:FRTR:FRTR -frivols:FRFL:FRFL -frizzed:FRST:FRST -frizzer:FRSR:FRSR -frizzes:FRSS:FRSS -frizzle:FRSL:FRSL -frizzly:FRSL:FRSL -frocked:FRKT:FRKT -froebel:FRPL:FRPL -frogged:FRKT:FRKT -frogman:FRKM:FRKM -frogmen:FRKM:FRKM -frolick:FRLK:FRLK -frolics:FRLK:FRLK -fronded:FRNT:FRNT -frontad:FRNT:FRNT -frontal:FRNT:FRNT -fronted:FRNT:FRNT -frontes:FRNT:FRNT -fronton:FRNT:FRNT -frosted:FRST:FRST -frothed:FR0T:FRTT -frothes:FR0S:FRTS -froward:FRRT:FRRT -frowned:FRNT:FRNT -frowner:FRNR:FRNR -frowsty:FRST:FRST -fructus:FRKT:FRKT -fruendi:FRNT:FRNT -fruited:FRTT:FRTT -fruiter:FRTR:FRTR -frustes:FRST:FRST -frustum:FRST:FRST -fuchsia:FKS:FKX -fuchsin:FKSN:FKSN -fuddled:FTLT:FTLT -fuddles:FTLS:FTLS -fudging:FJNK:FJNK -fuegian:FJN:FKN -fuehrer:FRR:FRR -fuelers:FLRS:FLRS -fueling:FLNK:FLNK -fugally:FKL:FKL -fuggier:FK:FKR -fuguist:FKST:FKST -fuhrers:FRRS:FRRS -fulcrum:FLKR:FLKR -fulfill:FLFL:FLFL -fulfils:FLFL:FLFL -fulgent:FLJN:FLKN -fullers:FLRS:FLRS -fullest:FLST:FLST -fulling:FLNK:FLNK -fulmars:FLMR:FLMR -fulsome:FLSM:FLSM -fulvous:FLFS:FLFS -fumaric:FMRK:FMRK -fumbled:FMPL:FMPL -fumbler:FMPL:FMPL -fumbles:FMPL:FMPL -fumiest:FMST:FMST -funchal:FNXL:FNKL -functor:FNKT:FNKT -functus:FNKT:FNKT -funders:FNTR:FNTR -funding:FNTN:FNTN -funeral:FNRL:FNRL -funfair:FNFR:FNFR -fungate:FNKT:FNKT -fungoid:FNKT:FNKT -fungous:FNKS:FNKS -funicle:FNKL:FNKL -funkers:FNKR:FNKR -funkier:FNKR:FNKR -funking:FNKN:FNKN -funnels:FNLS:FNLS -funnier:FN:FNR -funnies:FNS:FNS -funnily:FNL:FNL -furandi:FRNT:FRNT -furbish:FRPX:FRPX -furcate:FRKT:FRKT -furcula:FRKL:FRKL -furious:FRS:FRS -furlers:FRLR:FRLR -furless:FRLS:FRLS -furling:FRLN:FRLN -furlong:FRLN:FRLN -furnace:FRNS:FRNS -furness:FRNS:FRNS -furnish:FRNX:FRNX -furorem:FRRM:FRRM -furores:FRRS:FRRS -furrier:FR:FRR -furrily:FRL:FRL -furring:FRNK:FRNK -furrows:FRS:FRS -furrowy:FR:FR -further:FR0R:FRTR -furtive:FRTF:FRTF -fusains:FSNS:FSNS -fusaria:FSR:FSR -fuscous:FSKS:FSKS -fusible:FSPL:FSPL -fusibly:FSPL:FSPL -fusions:FSNS:FXNS -fussers:FSRS:FSRS -fussier:FS:FSR -fussily:FSL:FSL -fussing:FSNK:FSNK -fusspot:FSPT:FSPT -fustian:FSXN:FSXN -fustier:FST:FSTR -fustily:FSTL:FSTL -futtock:FTK:FTK -futures:FTRS:FTRS -futurum:FTRM:FTRM -fuzzier:FS:FTSR -fuzzily:FSL:FTSL -fuzzing:FSNK:FTSN -fylfots:FLFT:FLFT -gabbers:KPRS:KPRS -gabbier:KP:KPR -gabbing:KPNK:KPNK -gabbled:KPLT:KPLT -gabbler:KPLR:KPLR -gabbles:KPLS:KPLS -gabbros:KPRS:KPRS -gabfest:KPFS:KPFS -gablets:KPLT:KPLT -gabling:KPLN:KPLN -gabriel:KPRL:KPRL -gadders:KTRS:KTRS -gadding:KTNK:KTNK -gadgets:KJTS:KJTS -gadgety:KJT:KJT -gadidae:KTT:KTT -gadroon:KTRN:KTRN -gadwall:KTL:KTL -gadwell:KTL:KTL -gaffers:KFRS:KFRS -gaffing:KFNK:KFNK -gagging:KJNK:KKNK -gaggled:KKLT:KKLT -gaggles:KKLS:KKLS -gahnite:KNT:KNT -gainers:KNRS:KNRS -gainful:KNFL:KNFL -gaining:KNNK:KNNK -gainsay:KNS:KNS -gaiters:KTRS:KTRS -galagos:KLKS:KLKS -galahad:KLHT:KLHT -galatea:KLT:KLT -galeage:KLJ:KLK -galeate:KLT:KLT -galeeny:KLN:KLN -galenic:KLNK:KLNK -galilee:KLL:KLL -galilei:KLL:KLL -galileo:KLL:KLL -galiots:KLTS:KLTS -galipot:KLPT:KLPT -gallant:KLNT:KLNT -gallate:KLT:KLT -gallein:KLN:KLN -galleon:KLN:KLN -gallery:KLR:KLR -galleys:KLS:KLS -gallfly:KLFL:KLFL -galling:KLNK:KLNK -galliot:KLT:KLT -gallium:KLM:KLM -gallnut:KLNT:KLNT -gallons:KLNS:KLNS -galloon:KLN:KLN -gallops:KLPS:KLPS -gallous:KLS:KLS -gallows:KLS:KLS -galumph:KLMF:KLMF -gambade:KMPT:KMPT -gambado:KMPT:KMPT -gambian:KMPN:KMPN -gambier:KMP:KMPR -gambits:KMPT:KMPT -gambled:KMPL:KMPL -gambler:KMPL:KMPL -gambles:KMPL:KMPL -gamboge:KMPJ:KMPK -gambols:KMPL:KMPL -gambrel:KMPR:KMPR -gamelan:KMLN:KMLN -gametal:KMTL:KMTL -gametes:KMTS:KMTS -gametic:KMTK:KMTK -gamiest:KMST:KMST -gamines:KMNS:KMNS -gammers:KMRS:KMRS -gammier:KM:KMR -gammons:KMNS:KMNS -ganders:KNTR:KNTR -gangers:KNKR:KNJR -ganging:KNJN:KNKN -ganglia:KNKL:KNL -gangosa:KNKS:KNKS -gangway:KNK:KNK -gannets:KNTS:KNTS -gantlet:KNTL:KNTL -gaolers:KLRS:KLRS -gaoling:KLNK:KLNK -gapless:KPLS:KPLS -gappier:KP:KPR -gapping:KPNK:KPNK -garaged:KRJT:KRKT -garages:KRJS:KRKS -garbage:KRPJ:KRPK -garbing:KRPN:KRPN -garbled:KRPL:KRPL -garbler:KRPL:KRPL -garbles:KRPL:KRPL -gardant:KRTN:KRTN -gardens:KRTN:KRTN -garfish:KRFX:KRFX -gargety:KRKT:KRKT -gargled:KRKL:KRKL -gargler:KRKL:KRKL -gargles:KRKL:KRKL -garland:KRLN:KRLN -garlics:KRLK:KRLK -garment:KRMN:KRMN -garners:KRNR:KRNR -garnets:KRNT:KRNT -garnish:KRNX:KRNX -garotte:KRT:KRT -garotts:KRTS:KRTS -garpike:KRPK:KRPK -garrets:KRTS:KRTS -garrote:KRT:KRT -garryas:KRS:KRS -garters:KRTR:KRTR -gartner:KRTN:KRTN -gasbags:KSPK:KSPK -gaseous:KSS:KSS -gashing:KXNK:KXNK -gaskets:KSKT:KSKT -gaskins:KSKN:KSKN -gasohol:KSHL:KSHL -gaspers:KSPR:KSPR -gasping:KSPN:KSPN -gassers:KSRS:KSRS -gassier:KS:KSR -gassily:KSL:KSL -gassing:KSNK:KSNK -gastral:KSTR:KSTR -gastric:KSTR:KSTR -gastrin:KSTR:KSTR -gateway:KT:KT -gathers:K0RS:KTRS -gatling:KTLN:KTLN -gaucher:KXR:KKR -gauchos:KXS:KKS -gaudery:KTR:KTR -gaudier:KT:KTR -gaudily:KTL:KTL -gauffer:KFR:KFR -gaugers:KKRS:KJRS -gauging:KJNK:KKNK -gaunter:KNTR:KNTR -gauntly:KNTL:KNTL -gauntry:KNTR:KNTR -gauping:KPNK:KPNK -gauzier:KS:KSR -gauzily:KSL:KSL -gaveled:KFLT:KFLT -gaveler:KFLR:KFLR -gavials:KFLS:KFLS -gavotte:KFT:KFT -gawkier:KKR:KKR -gawkily:KKL:KKL -gawking:KKNK:KKNK -gawkish:KKX:KKX -gawping:KPNK:KPNK -gazania:KSN:KSN -gazebos:KSPS:KSPS -gazelle:KSL:KSL -gazette:KST:KST -gazumps:KSMP:KSMP -gearbox:JRPK:KRPK -gearing:JRNK:KRNK -geckoes:JKS:KKS -gedacts:JTKT:KTKT -geebung:JPNK:KPNK -geelbek:JLPK:KLPK -geezers:JSRS:KSRS -gefilte:JFLT:KFLT -geishas:KXS:JXS -geladas:KLTS:JLTS -gelated:KLTT:JLTT -gelatin:KLTN:JLTN -gelders:KLTR:JLTR -gelding:KLTN:JLTN -gelidly:KLTL:JLTL -gelling:KLNK:JLNK -gemelli:JML:KML -gemfish:JMFX:KMFX -geminis:JMNS:KMNS -gemlike:JMLK:KMLK -gemmate:JMT:KMT -gemming:JMNK:KMNK -gemmule:JML:KML -gemsbok:JMSP:KMSP -genappe:JNP:KNP -genders:JNTR:KNTR -general:JNRL:KNRL -generic:JNRK:KNRK -generis:JNRS:KNRS -geneses:JNSS:KNSS -genesis:JNSS:KNSS -genetic:JNTK:KNTK -genette:JNT:KNT -genghis:JNKS:KNKS -genical:JNKL:KNKL -genipap:JNPP:KNPP -genista:JNST:KNST -genital:JNTL:KNTL -genitor:JNTR:KNTR -genizah:JNS:KNS -genomes:JNMS:KNMS -genomic:JNMK:KNMK -genteel:JNTL:KNTL -gentian:JNXN:KNXN -gentile:JNTL:KNTL -gentium:JNTM:KNTM -gentled:JNTL:KNTL -gentler:JNTL:KNTL -gentles:JNTL:KNTL -genuine:JNN:KNN -genuses:JNSS:KNSS -geodesy:JTS:KTS -geology:JLJ:KLK -georgia:JRJ:KRK -georgic:JRJK:KRKK -geotaxy:JTKS:KTKS -geratic:KRTK:JRTK -gerbera:KRPR:JRPR -gerbils:KRPL:JRPL -gerenuk:KRNK:JRNK -gerlach:KRLK:JRLK -germane:KRMN:JRMN -germans:KRMN:JRMN -germany:KRMN:JRMN -germens:KRMN:JRMN -germier:KRM:JRMR -germina:KRMN:JRMN -gerunds:KRNT:JRNT -gestalt:KSTL:JSTL -gestapo:KSTP:JSTP -gestate:KSTT:JSTT -gestura:KSTR:JSTR -gesture:KSTR:JSTR -getable:KTPL:KTPL -getaway:KT:KT -getters:KTRS:KTRS -getting:KTNK:KTNK -gewgaws:JKS:KKS -geysers:KSRS:JSRS -ghanian:KNN:KNN -gharial:KRL:KRL -ghastly:KSTL:KSTL -gherkin:KRKN:KRKN -ghettos:KTS:KTS -ghillie:JL:JL -ghosted:KSTT:KSTT -ghostly:KSTL:KSTL -giaours:JRS:KRS -giardia:JRT:KRT -gibbers:KPRS:JPRS -gibbets:KPTS:JPTS -gibbing:KPNK:JPNK -gibbons:KPNS:JPNS -gibbose:KPS:JPS -gibbous:KPS:JPS -giblets:KPLT:JPLT -gibsons:KPSN:JPSN -giddied:JTT:KTT -giddier:JT:KTR -giddies:JTS:KTS -giddily:JTL:KTL -gidgees:JJS:KJS -gigabit:JKPT:KKPT -gigging:JKNK:KKNK -giggled:JKLT:KKLT -giggler:JKLR:KKLR -giggles:JKLS:KKLS -gigolos:JKLS:KKLS -gilbert:KLPR:JLPR -gilders:KLTR:JLTR -gilding:KLTN:JLTN -gillies:KLS:JLS -gillion:KLN:JLN -gimbals:JMPL:KMPL -gimlets:JMLT:KMLT -gimmick:JMK:KMK -gimpier:JMP:KMPR -gingers:KNKR:JNJR -gingery:KNKR:JNJR -gingham:KNKM:JNKM -gingili:KNJL:JNKL -gingiva:KNJF:JNKF -ginnels:KNLS:JNLS -ginning:KNNK:JNNK -ginseng:KNSN:JNSN -gippies:JPS:KPS -gipping:JPNK:KPNK -gippoes:JPS:KPS -gipsies:JPSS:KPSS -giraffe:JRF:KRF -girasol:JRSL:KRSL -girders:JRTR:KRTR -girding:JRTN:KRTN -girdled:JRTL:KRTL -girdler:JRTL:KRTL -girdles:JRTL:KRTL -girlish:JRLX:KRLX -girning:JRNN:KRNN -gironny:JRN:KRN -girosol:JRSL:KRSL -girthed:JR0T:KRTT -girthes:JR0S:KRTS -girting:JRTN:KRTN -gisarme:JSRM:KSRM -gitalin:JTLN:KTLN -gittern:JTRN:KTRN -givable:JFPL:KFPL -gizzard:JSRT:KTSR -glaceed:KLST:KLST -glacial:KLSL:KLXL -glacier:KLS:KLXR -glacing:KLSN:KLSN -gladded:KLTT:KLTT -gladden:KLTN:KLTN -gladder:KLTR:KLTR -gladdon:KLTN:KLTN -glaired:KLRT:KLRT -glamors:KLMR:KLMR -glanced:KLNS:KLNS -glances:KLNS:KLNS -glander:KLNT:KLNT -glandes:KLNT:KLNT -glaring:KLRN:KLRN -glasgow:KLSK:KLSK -glassed:KLST:KLST -glasser:KLSR:KLSR -glasses:KLSS:KLSS -glauber:KLPR:KLPR -glazers:KLSR:KLSR -glazier:KLS:KLSR -glazing:KLSN:KLSN -gleamed:KLMT:KLMT -gleaned:KLNT:KLNT -gleaner:KLNR:KLNR -gleeful:KLFL:KLFL -glenoid:KLNT:KLNT -gliadin:KLTN:LTN -glibber:KLPR:LPR -gliders:KLTR:LTRS -gliding:KLTN:LTNK -glimmer:KLMR:LMR -glimpse:KLMP:LMPS -glinted:KLNT:LNTT -gliomas:KLMS:LMS -glioses:KLSS:LSS -gliosis:KLSS:LSS -glisson:KLSN:LSN -glisten:KLST:LSTN -glitter:KLTR:LTR -gloated:KLTT:KLTT -gloater:KLTR:KLTR -globate:KLPT:KLPT -globing:KLPN:KLPN -globoid:KLPT:KLPT -globose:KLPS:KLPS -globous:KLPS:KLPS -globule:KLPL:KLPL -glomera:KLMR:KLMR -gloomed:KLMT:KLMT -gloried:KLRT:KLRT -glories:KLRS:KLRS -glorify:KLRF:KLRF -glossae:KLS:KLS -glossal:KLSL:KLSL -glossas:KLSS:KLSS -glossed:KLST:KLST -glosser:KLSR:KLSR -glosses:KLSS:KLSS -glottal:KLTL:KLTL -glottic:KLTK:KLTK -glottis:KLTS:KLTS -glovers:KLFR:KLFR -gloving:KLFN:KLFN -glowers:KLRS:KLRS -glowing:KLNK:KLNK -glozing:KLSN:KLSN -glucide:KLST:KLST -glucose:KLKS:KLKS -gluiest:KLST:KLST -glummer:KLMR:KLMR -glumose:KLMS:KLMS -glutaei:KLT:KLT -gluteal:KLTL:KLTL -glutens:KLTN:KLTN -gluteus:KLTS:KLTS -glutose:KLTS:KLTS -glutted:KLTT:KLTT -glutton:KLTN:KLTN -glycine:KLSN:KLSN -glycose:KLKS:KLKS -glyoxal:KLKS:KLKS -glyphic:KLFK:KLFK -glyptal:KLPT:KLPT -glyptic:KLPT:KLPT -gnarled:NRLT:NRLT -gnashed:NXT:NXT -gnashes:NXS:NXS -gnathal:N0L:NTL -gnathic:N0K:NTK -gnawers:NRS:NRS -gnawing:NNK:NNK -gnocchi:NX:NX -gnomish:NMX:NMX -gnomons:NMNS:NMNS -gnostic:NSTK:NSTK -gnuplot:NPLT:NPLT -goading:KTNK:KTNK -goalies:KLS:KLS -goannas:KNS:KNS -goateed:KTT:KTT -goatees:KTS:KTS -goatish:KTX:KTX -gobbets:KPTS:KPTS -gobbing:KPNK:KPNK -gobbled:KPLT:KPLT -gobbler:KPLR:KPLR -gobbles:KPLS:KPLS -gobelin:KPLN:KPLN -gobioid:KPT:KPT -goblets:KPLT:KPLT -goblins:KPLN:KPLN -goddess:KTS:KTS -godetia:KTX:KTX -godhead:KTT:KTT -godhood:KTT:KTT -godless:KTLS:KTLS -godlier:KTL:KTLR -godlike:KTLK:KTLK -godowns:KTNS:KTNS -godroon:KTRN:KTRN -godsend:KTSN:KTSN -godsons:KTSN:KTSN -godwits:KTTS:KTTS -gofered:KFRT:KFRT -goffers:KFRS:KFRS -goffily:KFL:KFL -goggled:KKLT:KKLT -goggler:KKLR:KKLR -goggles:KKLS:KKLS -goglets:KKLT:KKLT -goiters:KTRS:KTRS -goldeye:KLT:KLT -golding:KLTN:KLTN -golfers:KLFR:KLFR -golfing:KLFN:KLFN -goliard:KLRT:KLRT -goliath:KL0:KLT -gollied:KLT:KLT -gollies:KLS:KLS -gollops:KLPS:KLPS -gomeril:KMRL:KMRL -gomutis:KMTS:KMTS -gonadal:KNTL:KNTL -gonadic:KNTK:KNTK -gondola:KNTL:KNTL -gonging:KNJN:KNKN -gonidia:KNT:KNT -gonidic:KNTK:KNTK -gonitis:KNTS:KNTS -goobers:KPRS:KPRS -goodbye:KTP:KTP -goodbys:KTPS:KTPS -gooders:KTRS:KTRS -goodies:KTS:KTS -goodish:KTX:KTX -goodman:KTMN:KTMN -goodmen:KTMN:KTMN -goofier:KF:KFR -goofing:KFNK:KFNK -googols:KKLS:KKLS -gooiest:KST:KST -goolies:KLS:KLS -goondie:KNT:KNT -goosier:KS:KSR -goosing:KSNK:KSNK -gophers:KFRS:KFRS -gorcock:KRKK:KRKK -gordian:KRTN:KRTN -gorgers:KRKR:KRJR -gorgets:KRKT:KRKT -gorging:KRJN:KRKN -goriest:KRST:KRST -gorilla:KRL:KRL -gormand:KRMN:KRMN -gorsedd:KRST:KRST -goshawk:KXK:KXK -gosling:KSLN:KSLN -gospels:KSPL:KSPL -gossips:KSPS:KSPS -gossipy:KSP:KSP -gossoon:KSN:KSN -gothics:K0KS:KTKS -gouache:KX:KK -gougers:KKRS:KJRS -gouging:KJNK:KKNK -goulash:KLX:KLX -goundou:KNT:KNT -gourami:KRM:KRM -gourdes:KRTS:KRTS -gourmet:KRMT:KRMT -goutier:KT:KTR -goutily:KTL:KTL -governs:KFRN:KFRN -gowaned:KNT:KNT -gowning:KNNK:KNNK -grabbed:KRPT:KRPT -grabber:KRPR:KRPR -grabble:KRPL:KRPL -grabens:KRPN:KRPN -gracile:KRSL:KRSL -gracing:KRSN:KRSN -grackle:KRKL:KRKL -gradate:KRTT:KRTT -gradely:KRTL:KRTL -graders:KRTR:KRTR -gradine:KRTN:KRTN -grading:KRTN:KRTN -gradins:KRTN:KRTN -gradual:KRTL:KRTL -grafted:KRFT:KRFT -grafter:KRFT:KRFT -grahams:KRHM:KRHM -grained:KRNT:KRNT -grainer:KRNR:KRNR -grammar:KRMR:KRMR -grammes:KRMS:KRMS -grampus:KRMP:KRMP -granary:KRNR:KRNR -grandam:KRNT:KRNT -grandee:KRNT:KRNT -grander:KRNT:KRNT -grandly:KRNT:KRNT -grandma:KRNT:KRNT -grandpa:KRNT:KRNT -granges:KRNJ:KRNK -granite:KRNT:KRNT -grannie:KRN:KRN -grannom:KRNM:KRNM -granola:KRNL:KRNL -granted:KRNT:KRNT -grantee:KRNT:KRNT -granter:KRNT:KRNT -grantor:KRNT:KRNT -granule:KRNL:KRNL -graphed:KRFT:KRFT -graphes:KRFS:KRFS -graphic:KRFK:KRFK -grapnel:KRPN:KRPN -grapple:KRPL:KRPL -grasped:KRSP:KRSP -grasper:KRSP:KRSP -grassed:KRST:KRST -grasser:KRSR:KRSR -grasses:KRSS:KRSS -graters:KRTR:KRTR -gratify:KRTF:KRTF -grating:KRTN:KRTN -graupel:KRPL:KRPL -gravels:KRFL:KRFL -gravely:KRFL:KRFL -gravers:KRFR:KRFR -gravest:KRFS:KRFS -gravida:KRFT:KRFT -gravies:KRFS:KRFS -graving:KRFN:KRFN -gravity:KRFT:KRFT -gravure:KRFR:KRFR -grayest:KRST:KRST -graying:KRNK:KRNK -grayish:KRX:KRX -grayout:KRT:KRT -grazers:KRSR:KRSR -grazier:KRS:KRSR -grazing:KRSN:KRSN -greased:KRST:KRST -greaser:KRSR:KRSR -greases:KRSS:KRSS -greater:KRTR:KRTR -greatly:KRTL:KRTL -greaved:KRFT:KRFT -greaves:KRFS:KRFS -grecian:KRSN:KRXN -greened:KRNT:KRNT -greener:KRNR:KRNR -greenly:KRNL:KRNL -greeted:KRTT:KRTT -greeter:KRTR:KRTR -gregory:KRKR:KRKR -greisen:KRSN:KRSN -gremial:KRML:KRML -gremlin:KRML:KRML -grenada:KRNT:KRNT -grenade:KRNT:KRNT -greyest:KRST:KRST -greyhen:KRHN:KRHN -greying:KRNK:KRNK -greyish:KRX:KRX -greylag:KRLK:KRLK -gribble:KRPL:KRPL -gricers:KRSR:KRSR -gridded:KRTT:KRTT -griddle:KRTL:KRTL -griding:KRTN:KRTN -grieved:KRFT:KRFT -griever:KRFR:KRFR -grieves:KRFS:KRFS -griffes:KRFS:KRFS -griffin:KRFN:KRFN -griffon:KRFN:KRFN -grifter:KRFT:KRFT -grigris:KRKR:KRKR -grilled:KRLT:KRLT -griller:KRLR:KRLR -grilles:KRLS:KRLS -grilses:KRLS:KRLS -grimace:KRMS:KRMS -grimely:KRML:KRML -grimier:KRM:KRMR -grimmer:KRMR:KRMR -grinder:KRNT:KRNT -gringos:KRNK:KRNK -grinned:KRNT:KRNT -grinner:KRNR:KRNR -gripers:KRPR:KRPR -gripier:KRP:KRPR -griping:KRPN:KRPN -grippal:KRPL:KRPL -gripped:KRPT:KRPT -gripper:KRPR:KRPR -griskin:KRSK:KRSK -grisons:KRSN:KRSN -gristle:KRST:KRST -gristly:KRST:KRST -gritted:KRTT:KRTT -gritter:KRTR:KRTR -grivets:KRFT:KRFT -grizzle:KRSL:KRSL -grizzly:KRSL:KRSL -groaned:KRNT:KRNT -groaner:KRNR:KRNR -grocers:KRSR:KRSR -grocery:KRSR:KRSR -grockle:KRKL:KRKL -grogram:KRKR:KRKR -groined:KRNT:KRNT -grommet:KRMT:KRMT -groomed:KRMT:KRMT -groomer:KRMR:KRMR -grooved:KRFT:KRFT -grooves:KRFS:KRFS -gropers:KRPR:KRPR -groping:KRPN:KRPN -grossed:KRST:KRST -grosser:KRSR:KRSR -grosses:KRSS:KRSS -grossly:KRSL:KRSL -grottos:KRTS:KRTS -groucho:KRX:KRK -grouchy:KRX:KRK -groughs:KRFS:KRFS -grounds:KRNT:KRNT -grouped:KRPT:KRPT -grouper:KRPR:KRPR -groupie:KRP:KRP -groused:KRST:KRST -grouser:KRSR:KRSR -grouses:KRSS:KRSS -grouted:KRTT:KRTT -grouter:KRTR:KRTR -grovels:KRFL:KRFL -grovers:KRFR:KRFR -grovets:KRFT:KRFT -growers:KRRS:KRRS -growing:KRNK:KRNK -growled:KRLT:KRLT -growler:KRLR:KRLR -grownup:KRNP:KRNP -growths:KR0S:KRTS -groynes:KRNS:KRNS -grubbed:KRPT:KRPT -grubber:KRPR:KRPR -grudged:KRJT:KRJT -grudger:KRJR:KRJR -grudges:KRJS:KRJS -grueled:KRLT:KRLT -grueler:KRLR:KRLR -gruffer:KRFR:KRFR -gruffly:KRFL:KRFL -grugrus:KRKR:KRKR -grumble:KRMP:KRMP -grumbly:KRMP:KRMP -grummet:KRMT:KRMT -grumous:KRMS:KRMS -grunion:KRNN:KRNN -grunted:KRNT:KRNT -grunter:KRNT:KRNT -gruyere:KRR:KRR -gryphon:KRFN:KRFN -grysbok:KRSP:KRSP -guanaco:KNK:KNK -guanase:KNS:KNS -guanine:KNN:KNN -guarana:KRN:KRN -guarani:KRN:KRN -guarded:KRTT:KRTT -guardee:KRT:KRT -guarder:KRTR:KRTR -guayule:KL:KL -gubbins:KPNS:KPNS -guddled:KTLT:KTLT -guddler:KTLR:KTLR -gudgeon:KJN:KJN -guelder:KLTR:KLTR -guenons:KNNS:KNNS -guerdon:KRTN:KRTN -guereza:KRS:KRS -guessed:KST:KST -guesser:KSR:KSR -guesses:KSS:KSS -guffaws:KFS:KFS -guichet:KXT:KKT -guiders:KTRS:KTRS -guiding:KTNK:KTNK -guidons:KTNS:KTNS -guilder:KLTR:KLTR -guildry:KLTR:KLTR -guimpes:KMPS:KMPS -guinean:KNN:KNN -guineas:KNS:KNS -guipure:KPR:KPR -guisers:KSRS:KSRS -guising:KSNK:KSNK -guitars:KTRS:KTRS -gulches:KLXS:KLKS -guldens:KLTN:KLTN -gulfing:KLFN:KLFN -gullets:KLTS:KLTS -gulleys:KLS:KLS -gullies:KLS:KLS -gulling:KLNK:KLNK -gulpers:KLPR:KLPR -gulping:KLPN:KLPN -gumboil:KMPL:KMPL -gumdrop:KMTR:KMTR -gumless:KMLS:KMLS -gumlike:KMLK:KMLK -gummata:KMT:KMT -gummier:KM:KMR -gummies:KMS:KMS -gumming:KMNK:KMNK -gummite:KMT:KMT -gumshoe:KMX:KMX -gumtree:KMTR:KMTR -gumweed:KMT:KMT -gumwood:KMT:KMT -gunboat:KNPT:KNPT -gunfire:KNFR:KNFR -gunging:KNJN:KNKN -gunlock:KNLK:KNLK -gunnels:KNLS:KNLS -gunnera:KNR:KNR -gunners:KNRS:KNRS -gunnery:KNR:KNR -gunning:KNNK:KNNK -gunplay:KNPL:KNPL -gunshot:KNXT:KNXT -gunwale:KNL:KNL -gunyang:KNNK:KNNK -guppies:KPS:KPS -gurgled:KRKL:KRKL -gurgles:KRKL:KRKL -gurglet:KRKL:KRKL -gurjuns:KRJN:KRJN -gurnard:KRNR:KRNR -gurnets:KRNT:KRNT -gurneys:KRNS:KRNS -gurrier:KR:KRR -gushers:KXRS:KXRS -gushier:KX:KXR -gushily:KXL:KXL -gushing:KXNK:KXNK -gussets:KSTS:KSTS -gussied:KST:KST -gussies:KSS:KSS -gustier:KST:KSTR -gustily:KSTL:KSTL -gusting:KSTN:KSTN -gutless:KTLS:KTLS -gutlike:KTLK:KTLK -gutsier:KTS:KTSR -guttate:KTT:KTT -gutters:KTRS:KTRS -guttier:KT:KTR -gutties:KTS:KTS -gutting:KTNK:KTNK -gutzeit:KTST:KTST -guyoyts:KTS:KTS -guzzled:KSLT:KSLT -guzzler:KSLR:KSLR -guzzles:KSLS:KSLS -gwyniad:KNT:KNT -gymnast:KMNS:JMNS -gympies:KMPS:JMPS -gymslip:KMSL:JMSL -gynecia:KNS:JNX -gypping:KPNK:JPNK -gypsies:KPSS:JPSS -gyrally:KRL:JRL -gyrated:KRTT:JRTT -gyrates:KRTS:JRTS -gyrator:KRTR:JRTR -gyronny:KRN:JRN -habenda:HPNT:HPNT -habendi:HPNT:HPNT -habendo:HPNT:HPNT -habitan:HPTN:HPTN -habitat:HPTT:HPTT -habited:HPTT:HPTT -habitue:HPT:HPT -habitus:HPTS:HPTS -habsbur:HPSP:HPSP -hachure:HKR:HKR -hackbut:HKPT:HKPT -hackers:HKRS:HKRS -hacking:HKNK:HKNK -hackled:HKLT:HKLT -hackler:HKLR:HKLR -hackles:HKLS:HKLS -hackman:HKMN:HKMN -hackmen:HKMN:HKMN -hackney:HKN:HKN -hacksaw:HKS:HKSF -haddock:HTK:HTK -hadedah:HTT:HTT -hadrons:HTRN:HTRN -haemoid:HMT:HMT -hafnium:HFNM:HFNM -hafters:HFTR:HFTR -hafting:HFTN:HFTN -hagbuts:HKPT:HKPT -hagfish:HKFX:HKFX -haggard:HKRT:HKRT -haggish:HJX:HKX -haggled:HKLT:HKLT -haggler:HKLR:HKLR -haggles:HKLS:HKLS -haglike:HKLK:HKLK -hahnium:HNM:HNM -hailers:HLRS:HLRS -hailing:HLNK:HLNK -haircut:HRKT:HRKT -hairdos:HRTS:HRTS -hairier:HR:HRR -hairnet:HRNT:HRNT -hairpin:HRPN:HRPN -haitian:HXN:HXN -halberd:HLPR:HLPR -halcyon:HLSN:HLSN -halfway:HLF:HLF -halfwit:HLFT:HLFT -halibut:HLPT:HLPT -halidom:HLTM:HLTM -halifax:HLFK:HLFK -hallahs:HLS:HLS -halloas:HLS:HLS -halloed:HLT:HLT -halloos:HLS:HLS -hallows:HLS:HLS -hallway:HL:HL -halogen:HLJN:HLKN -haloids:HLTS:HLTS -haloing:HLNK:HLNK -haltere:HLTR:HLTR -halters:HLTR:HLTR -halting:HLTN:HLTN -halvers:HLFR:HLFR -halving:HLFN:HLFN -halyard:HLRT:HLRT -halzoun:HLSN:HLSN -hamatum:HMTM:HMTM -hamburg:HMPR:HMPR -hamitic:HMTK:HMTK -hamlets:HMLT:HMLT -hammers:HMRS:HMRS -hammier:HM:HMR -hamming:HMNK:HMNK -hammock:HMK:HMK -hampers:HMPR:HMPR -hamster:HMST:HMST -hamular:HMLR:HMLR -hamulus:HMLS:HMLS -hanapen:HNPN:HNPN -hanaper:HNPR:HNPR -hancock:HNKK:HNKK -handbag:HNTP:HNTP -handcar:HNTK:HNTK -handers:HNTR:HNTR -handfed:HNTF:HNTF -handful:HNTF:HNTF -handgun:HNTK:HNTK -handier:HNT:HNTR -handily:HNTL:HNTL -handing:HNTN:HNTN -handled:HNTL:HNTL -handler:HNTL:HNTL -handles:HNTL:HNTL -handoff:HNTF:HNTF -handout:HNTT:HNTT -handsaw:HNTS:HNTS -handsel:HNTS:HNTS -handset:HNTS:HNTS -hangars:HNKR:HNKR -hangdog:HNKT:HNKT -hangers:HNKR:HNJR -hanging:HNJN:HNKN -hangman:HNKM:HNKM -hangmen:HNKM:HNKM -hangout:HNKT:HNKT -hankers:HNKR:HNKR -hankies:HNKS:HNKS -hansoms:HNSM:HNSM -hapless:HPLS:HPLS -haplite:HPLT:HPLT -haploid:HPLT:HPLT -haplont:HPLN:HPLN -happens:HPNS:HPNS -happier:HP:HPR -happily:HPL:HPL -happuku:HPK:HPK -hapsbur:HPSP:HPSP -haptene:HPTN:HPTN -haptens:HPTN:HPTN -harbors:HRPR:HRPR -hardens:HRTN:HRTN -hardest:HRTS:HRTS -hardier:HRT:HRTR -hardies:HRTS:HRTS -hardily:HRTL:HRTL -harding:HRTN:HRTN -hardpan:HRTP:HRTP -hardtop:HRTP:HRTP -harelip:HRLP:HRLP -haricot:HRKT:HRKT -harkens:HRKN:HRKN -harking:HRKN:HRKN -harmers:HRMR:HRMR -harmful:HRMF:HRMF -harmine:HRMN:HRMN -harming:HRMN:HRMN -harmony:HRMN:HRMN -harness:HRNS:HRNS -harpers:HRPR:HRPR -harpies:HRPS:HRPS -harping:HRPN:HRPN -harpist:HRPS:HRPS -harpoon:HRPN:HRPN -harried:HRT:HRT -harrier:HR:HRR -harries:HRS:HRS -harriet:HRT:HRT -harrows:HRS:HRS -harshen:HRXN:HRXN -harsher:HRXR:HRXR -harshly:HRXL:HRXL -harslet:HRSL:HRSL -harvard:HRFR:HRFR -harvest:HRFS:HRFS -hashing:HXNK:HXNK -hashish:HXX:HXX -hasidic:HSTK:HSTK -hasidim:HSTM:HSTM -haslets:HSLT:HSLT -hasping:HSPN:HSPN -hassall:HSL:HSL -hassled:HSLT:HSLT -hassles:HSLS:HSLS -hassock:HSK:HSK -hastate:HSTT:HSTT -hastens:HSTN:HSTN -hastier:HST:HSTR -hastily:HSTL:HSTL -hatable:HTPL:HTPL -hatched:HXT:HXT -hatchel:HXL:HXL -hatcher:HXR:HXR -hatches:HXS:HXS -hatchet:HXT:HXT -hateful:HTFL:HTFL -hatless:HTLS:HTLS -hatreds:HTRT:HTRT -hatters:HTRS:HTRS -hatting:HTNK:HTNK -hauberk:HPRK:HPRK -haughty:HT:HT -haulage:HLJ:HLK -haulers:HLRS:HLRS -haulier:HL:HLR -hauling:HLNK:HLNK -haunted:HNTT:HNTT -haunter:HNTR:HNTR -haustra:HSTR:HSTR -haustus:HSTS:HSTS -hautboy:HTP:HTP -hauteur:HTR:HTR -haven't:HFNT:HFNT -havered:HFRT:HFRT -hawkbit:HKPT:HKPT -hawkers:HKRS:HKRS -hawkeye:HK:HK -hawking:HKNK:HKNK -hawkish:HKX:HKX -hawsers:HSRS:HSRS -haybote:HPT:HPT -haycock:HKK:HKK -hayfork:HFRK:HFRK -hayloft:HLFT:HLFT -haymows:HMS:HMS -hayrack:HRK:HRK -hayrick:HRK:HRK -hayride:HRT:HRT -hayseed:HST:HST -hayward:HRT:HRT -haywire:HR:HR -hazards:HSRT:HSRT -haziest:HSST:HSST -headers:HTRS:HTRS -headier:HT:HTR -headily:HTL:HTL -heading:HTNK:HTNK -headman:HTMN:HTMN -headmen:HTMN:HTMN -headpin:HTPN:HTPN -headset:HTST:HTST -headway:HT:HT -healers:HLRS:HLRS -healing:HLNK:HLNK -healths:HL0S:HLTS -healthy:HL0:HLT -heapers:HPRS:HPRS -heaping:HPNK:HPNK -hearers:HRRS:HRRS -hearing:HRNK:HRNK -hearken:HRKN:HRKN -hearsay:HRS:HRS -hearses:HRSS:HRSS -hearted:HRTT:HRTT -hearten:HRTN:HRTN -hearths:HR0S:HRTS -heaters:HTRS:HTRS -heathen:H0N:HTN -heather:H0R:HTR -heathes:H0S:HTS -heating:HTNK:HTNK -heaumes:HMS:HMS -heavens:HFNS:HFNS -heavers:HFRS:HFRS -heavier:HF:HFR -heavies:HFS:HFS -heavily:HFL:HFL -heaving:HFNK:HFNK -hebetic:HPTK:HPTK -hebraic:HPRK:HPRK -hebrews:HPRS:HPRS -heckled:HKLT:HKLT -heckler:HKLR:HKLR -heckles:HKLS:HKLS -hectare:HKTR:HKTR -hectors:HKTR:HKTR -heddles:HTLS:HTLS -hedeoma:HTM:HTM -hedgeho:HJH:HJH -hedgepi:HJP:HJP -hedgers:HJRS:HJRS -hedging:HJNK:HJNK -hedland:HTLN:HTLN -hedonic:HTNK:HTNK -heeders:HTRS:HTRS -heedful:HTFL:HTFL -heeding:HTNK:HTNK -heelers:HLRS:HLRS -heeling:HLNK:HLNK -heeltap:HLTP:HLTP -hefters:HFTR:HFTR -heftier:HFT:HFTR -hefting:HFTN:HFTN -hegemon:HJMN:HKMN -hegiras:HJRS:HKRS -hegumen:HKMN:HKMN -heifers:HFRS:HFRS -heights:HTS:HTS -heinous:HNS:HNS -heirdom:HRTM:HRTM -heiress:HRS:HRS -heisted:HSTT:HSTT -heister:HSTR:HSTR -heitiki:HTK:HTK -helical:HLKL:HLKL -helices:HLSS:HLSS -helicis:HLSS:HLSS -helicon:HLKN:HLKN -helipad:HLPT:HLPT -helixes:HLKS:HLKS -helixin:HLKS:HLKS -hellbox:HLPK:HLPK -hellcat:HLKT:HLKT -hellene:HLN:HLN -hellion:HLN:HLN -hellish:HLX:HLX -helmets:HLMT:HLMT -helomas:HLMS:HLMS -helotry:HLTR:HLTR -helpers:HLPR:HLPR -helpful:HLPF:HLPF -helping:HLPN:HLPN -helving:HLFN:HLFN -hematic:HMTK:HMTK -hematid:HMTT:HMTT -hematin:HMTN:HMTN -hemiola:HML:HML -hemipod:HMPT:HMPT -hemline:HMLN:HMLN -hemlock:HMLK:HMLK -hemmers:HMRS:HMRS -hemming:HMNK:HMNK -hemozoa:HMS:HMS -henbane:HNPN:HNPN -hencoop:HNKP:HNKP -hennaed:HNT:HNT -hennery:HNR:HNR -henpeck:HNPK:HNPK -henries:HNRS:HNRS -heoatis:HTS:HTS -heparin:HPRN:HPRN -hepatic:HPTK:HPTK -hepburn:HPRN:HPRN -hepcats:HPKT:HPKT -heptads:HPTT:HPTT -heptane:HPTN:HPTN -heptose:HPTS:HPTS -heralds:HRLT:HRLT -herbage:HRPJ:HRPK -herbert:HRPR:HRPR -herbier:HRP:HRPR -herders:HRTR:HRTR -herding:HRTN:HRTN -heredes:HRTS:HRTS -heretic:HRTK:HRTK -heritor:HRTR:HRTR -hermite:HRMT:HRMT -hermits:HRMT:HRMT -herniae:HRN:HRN -hernial:HRNL:HRNL -hernias:HRNS:HRNS -heroics:HRKS:HRKS -heroine:HRN:HRN -heroise:HRS:HRS -heroism:HRSM:HRSM -heronry:HRNR:HRNR -herring:HRNK:HRNK -herself:HRSL:HRSL -hershey:HRX:HRX -hessian:HSN:HSN -hessite:HST:HST -hetaera:HTR:HTR -hetaira:HTR:HTR -hetmans:HTMN:HTMN -hexadic:HKST:HKST -hexagon:HKSK:HKSK -hexapod:HKSP:HKSP -hexosan:HKSS:HKSS -hibachi:HPX:HPK -hiccups:HKPS:HKPS -hickeys:HKS:HKS -hickory:HKR:HKR -hidable:HTPL:HTPL -hidalgo:HTLK:HTLK -hideous:HTS:HTS -hideout:HTT:HTT -higgled:HKLT:HKLT -higgler:HKLR:HKLR -highboy:HP:HP -highest:HST:HST -highway:H:H -hijacks:HJKS:HJKS -hilbert:HLPR:HLPR -hillary:HLR:HLR -hillers:HLRS:HLRS -hillier:HL:HLR -hillock:HLK:HLK -hilltop:HLTP:HLTP -himself:HMSL:HMSL -hinders:HNTR:HNTR -hindgut:HNTK:HNTK -hinging:HNJN:HNKN -hinnies:HNS:HNS -hinters:HNTR:HNTR -hinting:HNTN:HNTN -hipbone:HPN:HPN -hipline:HPLN:HPLN -hippest:HPST:HPST -hippier:HP:HPR -hippies:HPS:HPS -hipster:HPST:HPST -hirable:HRPL:HRPL -hircine:HRSN:HRSN -hirings:HRNK:HRNK -hirsute:HRST:HRST -hirudin:HRTN:HRTN -hispano:HSPN:HSPN -hissers:HSRS:HSRS -hissing:HSNK:HSNK -histoid:HSTT:HSTT -histone:HSTN:HSTN -history:HSTR:HSTR -hitched:HXT:HXT -hitcher:HXR:HXR -hitches:HXS:HXS -hitters:HTRS:HTRS -hitting:HTNK:HTNK -hittite:HTT:HTT -hoagies:HJS:HKS -hoarded:HRTT:HRTT -hoarder:HRTR:HRTR -hoarier:HR:HRR -hoarily:HRL:HRL -hoarsen:HRSN:HRSN -hoarser:HRSR:HRSR -hoatzin:HTSN:HTSN -hoaxers:HKSR:HKSR -hoaxing:HKSN:HKSN -hobbies:HPS:HPS -hobbing:HPNK:HPNK -hobbism:HPSM:HPSM -hobbled:HPLT:HPLT -hobbler:HPLR:HPLR -hobbles:HPLS:HPLS -hobdays:HPTS:HPTS -hobnail:HPNL:HPNL -hobnobs:HPNP:HPNP -hocking:HKNK:HKNK -hodgkin:HTKK:HTKK -hoecake:HKK:HKK -hoedown:HTN:HTN -hoelike:HLK:HLK -hogback:HKPK:HKPK -hogfish:HKFX:HKFX -hoggers:HKRS:HKRS -hoggets:HKTS:HKTS -hogging:HJNK:HKNK -hoggish:HJX:HKX -hoglike:HKLK:HKLK -hogtied:HKTT:HKTT -hogties:HKTS:HKTS -hogwash:HKX:HKX -hogweed:HKT:HKT -hoiking:HKNK:HKNK -hoising:HSNK:HSNK -hoisted:HSTT:HSTT -hoister:HSTR:HSTR -hokiest:HKST:HKST -holdall:HLTL:HLTL -holdens:HLTN:HLTN -holders:HLTR:HLTR -holding:HLTN:HLTN -holdout:HLTT:HLTT -holdups:HLTP:HLTP -holiday:HLT:HLT -holidic:HLTK:HLTK -holiest:HLST:HLST -holists:HLST:HLST -holland:HLNT:HLNT -hollers:HLRS:HLRS -hollies:HLS:HLS -holloed:HLT:HLT -hollows:HLS:HLS -holmium:HLMM:HLMM -holster:HLST:HLST -homages:HMJS:HMKS -homburg:HMPR:HMPR -homeric:HMRK:HMRK -homiest:HMST:HMST -hominem:HMNM:HMNM -homines:HMNS:HMNS -hominid:HMNT:HMNT -homolog:HMLK:HMLK -homonym:HMNM:HMNM -honchos:HNXS:HNKS -honesto:HNST:HNST -honesty:HNST:HNST -honeyed:HNT:HNT -honkers:HNKR:HNKR -honkeys:HNKS:HNKS -honkies:HNKS:HNKS -honking:HNKN:HNKN -honored:HNRT:HNRT -honoree:HNR:HNR -honorer:HNRR:HNRR -honoris:HNRS:HNRS -hoodlum:HTLM:HTLM -hoodoos:HTS:HTS -hoofing:HFNK:HFNK -hookahs:HKS:HKS -hookers:HKRS:HKRS -hooking:HKNK:HKNK -hooklet:HKLT:HKLT -hookups:HKPS:HKPS -hooping:HPNK:HPNK -hooplas:HPLS:HPLS -hoorays:HRS:HRS -hoosier:HS:HSR -hooters:HTRS:HTRS -hooting:HTNK:HTNK -hopeful:HPFL:HPFL -hophead:HFT:HFT -hoppers:HPRS:HPRS -hopping:HPNK:HPNK -hopsack:HPSK:HPSK -hordein:HRTN:HRTN -hordeum:HRTM:HRTM -hording:HRTN:HRTN -horizon:HRSN:HRSN -hormone:HRMN:HRMN -hornets:HRNT:HRNT -hornier:HRN:HRNR -hornily:HRNL:HRNL -horning:HRNN:HRNN -horrify:HRF:HRF -horrors:HRRS:HRRS -horsely:HRSL:HRSL -horsier:HRS:HRSR -horsily:HRSL:HRSL -horsing:HRSN:HRSN -hosanna:HSN:HSN -hosiers:HSRS:HSRS -hosiery:HSR:HSR -hoskold:HSKL:HSKL -hospice:HSPS:HSPS -hostage:HSTJ:HSTK -hostels:HSTL:HSTL -hostess:HSTS:HSTS -hostile:HSTL:HSTL -hosting:HSTN:HSTN -hostler:HSTL:HSTL -hotbeds:HTPT:HTPT -hotcake:HTKK:HTKK -hotfoot:HTFT:HTFT -hothead:H0T:HTT -hotness:HTNS:HTNS -hotshot:HTXT:HTXT -hotspur:HTSP:HTSP -hottest:HTST:HTST -hottish:HTX:HTX -hotzone:HTSN:HTSN -houhere:HHR:HHR -hoummos:HMS:HMS -hounded:HNTT:HNTT -hounder:HNTR:HNTR -housing:HSNK:HSNK -houston:HSTN:HSTN -houting:HTNK:HTNK -hoveled:HFLT:HFLT -hoveler:HFLR:HFLR -hovered:HFRT:HFRT -hoverer:HFRR:HFRR -howbeit:HPT:HPT -howdahs:HTS:HTS -however:HFR:HFR -howlers:HLRS:HLRS -howling:HLNK:HLNK -hoydens:HTNS:HTNS -hubbies:HPS:HPS -hubbubs:HPPS:HPPS -hubcaps:HPKP:HPKP -huddled:HTLT:HTLT -huddler:HTLR:HTLR -huddles:HTLS:HTLS -hueless:HLS:HLS -huffier:HF:HFR -huffily:HFL:HFL -huffing:HFNK:HFNK -huffish:HFX:HFX -huggers:HKRS:HKRS -hugging:HKNK:HKNK -hulking:HLKN:HLKN -hullers:HLRS:HLRS -hulling:HLNK:HLNK -humanes:HMNS:HMNS -humanly:HMNL:HMNL -humbled:HMPL:HMPL -humbler:HMPL:HMPL -humbles:HMPL:HMPL -humbugs:HMPK:HMPK -humdrum:HMTR:HMTR -humeral:HMRL:HMRL -humeris:HMRS:HMRS -humerus:HMRS:HMRS -humidly:HMTL:HMTL -humidor:HMTR:HMTR -hummers:HMRS:HMRS -humming:HMNK:HMNK -hummock:HMK:HMK -humoral:HMRL:HMRL -humored:HMRT:HMRT -humorer:HMRR:HMRR -humpier:HMP:HMPR -humping:HMPN:HMPN -humulus:HMLS:HMLS -hunched:HNXT:HNKT -hunches:HNXS:HNKS -hundred:HNTR:HNTR -hungary:HNKR:HNKR -hungers:HNKR:HNJR -hunkers:HNKR:HNKR -hunnish:HNX:HNX -hunters:HNTR:HNTR -hunting:HNTN:HNTN -huntley:HNTL:HNTL -hurdled:HRTL:HRTL -hurdler:HRTL:HRTL -hurdles:HRTL:HRTL -hurlers:HRLR:HRLR -hurling:HRLN:HRLN -hurrahs:HRS:HRS -hurrays:HRS:HRS -hurried:HRT:HRT -hurrier:HR:HRR -hurries:HRS:HRS -hurters:HRTR:HRTR -hurtful:HRTF:HRTF -hurting:HRTN:HRTN -hurtled:HRTL:HRTL -hurtles:HRTL:HRTL -husband:HSPN:HSPN -hushaby:HXP:HXP -hushing:HXNK:HXNK -huskers:HSKR:HSKR -huskier:HSKR:HSKR -huskies:HSKS:HSKS -huskily:HSKL:HSKL -husking:HSKN:HSKN -hussars:HSRS:HSRS -hussies:HSS:HSS -hustled:HSTL:HSTL -hustler:HSTL:HSTL -hustles:HSTL:HSTL -hutches:HXS:HXS -hutment:HTMN:HTMN -hutting:HTNK:HTNK -huygens:HJNS:HKNS -hyaenas:HNS:HNS -hyaenic:HNK:HNK -hyaline:HLN:HLN -hyalite:HLT:HLT -hyaloid:HLT:HLT -hybrids:HPRT:HPRT -hydatid:HTTT:HTTT -hydrago:HTRK:HTRK -hydrant:HTRN:HTRN -hydrase:HTRS:HTRS -hydrate:HTRT:HTRT -hydride:HTRT:HTRT -hydroid:HTRT:HTRT -hydrops:HTRP:HTRP -hydrous:HTRS:HTRS -hydroxy:HTRK:HTRK -hygeian:HJN:HKN -hygiene:HJN:HKN -hygrine:HKRN:HKRN -hygroma:HKRM:HKRM -hymenal:HMNL:HMNL -hymenia:HMN:HMN -hymnals:HMNL:HMNL -hymnist:HMNS:HMNS -hymnody:HMNT:HMNT -hyoidal:HTL:HTL -hyperon:HPRN:HPRN -hyphens:HFNS:HFNS -hypnoid:HPNT:HPNT -hypogea:HPJ:HPK -hyponym:HPNM:HPNM -hypoxia:HPKS:HPKS -hypoxic:HPKS:HPKS -hyraxes:HRKS:HRKS -hyssops:HSPS:HSPS -hystero:HSTR:HSTR -iambics:AMPK:AMPK -iberian:APRN:APRN -iceberg:ASPR:ASPR -iceboat:ASPT:ASPT -icecaps:ASKP:ASKP -icefall:ASFL:ASFL -iceland:ASLN:ASLN -ichnite:AXNT:AKNT -icicled:ASKL:ASKL -icicles:ASKL:ASKL -iciness:ASNS:ASNS -ickiest:AKST:AKST -iconify:AKNF:AKNF -icteric:AKTR:AKTR -icterus:AKTR:AKTR -ictuses:AKTS:AKTS -idahoan:ATHN:ATHN -ideally:ATL:ATL -ideatum:ATTM:ATTM -identic:ATNT:ATNT -idiotic:ATTK:ATTK -idolism:ATLS:ATLS -idolist:ATLS:ATLS -idolize:ATLS:ATLS -idyllic:ATLK:ATLK -ignatia:AKNX:ANX -igneous:AKNS:ANS -ignited:AKNT:ANTT -igniter:AKNT:ANTR -ignites:AKNT:ANTS -ignoble:AKNP:ANPL -ignobly:AKNP:ANPL -ignored:AKNR:ANRT -ignorer:AKNR:ANRR -ignores:AKNR:ANRS -ignotum:AKNT:ANTM -iguanas:AKNS:AKNS -ikebana:AKPN:AKPN -ileitis:ALTS:ALTS -iliacus:ALKS:ALKS -illegal:ALKL:ALKL -illicit:ALST:ALST -illness:ALNS:ALNS -illogic:ALJK:ALKK -illuded:ALTT:ALTT -illudes:ALTS:ALTS -imagery:AMKR:AMJR -imagine:AMJN:AMKN -imaging:AMJN:AMKN -imagism:AMJS:AMKS -imagist:AMJS:AMKS -imagoes:AMKS:AMKS -imamate:AMMT:AMMT -imbargo:AMPR:AMPR -imbibed:AMPP:AMPP -imbiber:AMPP:AMPP -imbibes:AMPP:AMPP -imbrium:AMPR:AMPR -imbrued:AMPR:AMPR -imbrues:AMPR:AMPR -imbuing:AMPN:AMPN -imburse:AMPR:AMPR -imitate:AMTT:AMTT -immense:AMNS:AMNS -immerse:AMRS:AMRS -immoral:AMRL:AMRL -immured:AMRT:AMRT -immures:AMRS:AMRS -impacts:AMPK:AMPK -impairs:AMPR:AMPR -impalas:AMPL:AMPL -impaled:AMPL:AMPL -impaler:AMPL:AMPL -impales:AMPL:AMPL -impanel:AMPN:AMPN -imparts:AMPR:AMPR -impasse:AMPS:AMPS -impaste:AMPS:AMPS -impasto:AMPS:AMPS -impeach:AMPK:AMPK -impearl:AMPR:AMPR -impeded:AMPT:AMPT -impeder:AMPT:AMPT -impedes:AMPT:AMPT -impends:AMPN:AMPN -imperii:AMPR:AMPR -imperil:AMPR:AMPR -imperio:AMPR:AMPR -impetus:AMPT:AMPT -impiety:AMPT:AMPT -impinge:AMPN:AMPN -impious:AMPS:AMPS -implant:AMPL:AMPL -implead:AMPL:AMPL -implied:AMPL:AMPL -implies:AMPL:AMPL -implode:AMPL:AMPL -implore:AMPL:AMPL -imports:AMPR:AMPR -imposed:AMPS:AMPS -imposer:AMPS:AMPS -imposes:AMPS:AMPS -imposts:AMPS:AMPS -impound:AMPN:AMPN -impress:AMPR:AMPR -imprest:AMPR:AMPR -imprint:AMPR:AMPR -improve:AMPR:AMPR -impubic:AMPP:AMPP -impugns:AMPN:AMPK -impulse:AMPL:AMPL -imputed:AMPT:AMPT -imputer:AMPT:AMPT -imputes:AMPT:AMPT -inanely:ANNL:ANNL -inanity:ANNT:ANNT -inaptly:ANPT:ANPT -inbeing:ANPN:ANPN -inboard:ANPR:ANPR -inbound:ANPN:ANPN -inbreed:ANPR:ANPR -incapax:ANKP:ANKP -incased:ANKS:ANKS -incases:ANKS:ANKS -incense:ANSN:ANSN -incepts:ANSP:ANSP -incests:ANSS:ANSS -inching:ANXN:ANKN -incipit:ANSP:ANSP -incisal:ANSS:ANSS -incised:ANSS:ANSS -incises:ANSS:ANSS -incisor:ANSS:ANSS -incited:ANST:ANST -inciter:ANST:ANST -incites:ANST:ANST -incivil:ANSF:ANSF -incline:ANKL:ANKL -inclose:ANKL:ANKL -include:ANKL:ANKL -incomer:ANKM:ANKM -incomes:ANKM:ANKM -incross:ANKR:ANKR -incrust:ANKR:ANKR -incubus:ANKP:ANKP -incudal:ANKT:ANKT -incudes:ANKT:ANKT -incused:ANKS:ANKS -incuses:ANKS:ANKS -indents:ANTN:ANTN -indexed:ANTK:ANTK -indexer:ANTK:ANTK -indexes:ANTK:ANTK -indiana:ANTN:ANTN -indians:ANTN:ANTN -indicae:ANTK:ANTK -indican:ANTK:ANTK -indices:ANTS:ANTS -indicia:ANTS:ANTX -indicts:ANTK:ANTK -indigen:ANTJ:ANTK -indigos:ANTK:ANTK -indited:ANTT:ANTT -indoors:ANTR:ANTR -indorse:ANTR:ANTR -indoxyl:ANTK:ANTK -indrawn:ANTR:ANTR -induced:ANTS:ANTS -inducer:ANTS:ANTS -induces:ANTS:ANTS -inducts:ANTK:ANTK -indulge:ANTL:ANTL -indulin:ANTL:ANTL -indults:ANTL:ANTL -indusia:ANTS:ANTX -indwell:ANTL:ANTL -indwelt:ANTL:ANTL -ineptly:ANPT:ANPT -inertia:ANRX:ANRX -inertly:ANRT:ANRT -inexact:ANKS:ANKS -infamia:ANFM:ANFM -infancy:ANFN:ANFN -infanta:ANFN:ANFN -infants:ANFN:ANFN -infarct:ANFR:ANFR -infects:ANFK:ANFK -inferno:ANFR:ANFR -infests:ANFS:ANFS -infidel:ANFT:ANFT -infield:ANFL:ANFL -infight:ANFT:ANFT -infills:ANFL:ANFL -infixed:ANFK:ANFK -infixes:ANFK:ANFK -inflame:ANFL:ANFL -inflate:ANFL:ANFL -inflect:ANFL:ANFL -inflict:ANFL:ANFL -inflows:ANFL:ANFL -infolds:ANFL:ANFL -informs:ANFR:ANFR -infract:ANFR:ANFR -infused:ANFS:ANFS -infuser:ANFS:ANFS -infuses:ANFS:ANFS -ingenue:ANJN:ANKN -ingesta:ANJS:ANKS -ingests:ANJS:ANKS -ingoing:ANKN:ANKN -ingraft:ANKR:ANKR -ingrain:ANKR:ANKR -ingrate:ANKR:ANKR -ingress:ANKR:ANKR -ingrown:ANKR:ANKR -inguina:ANKN:ANKN -inhabit:ANPT:ANPT -inhaled:ANLT:ANLT -inhaler:ANLR:ANLR -inhales:ANLS:ANLS -inhauls:ANLS:ANLS -inhered:ANRT:ANRT -inheres:ANRS:ANRS -inherit:ANRT:ANRT -inhibit:ANPT:ANPT -inhuman:ANMN:ANMN -inhumed:ANMT:ANMT -inhumer:ANMR:ANMR -inhumes:ANMS:ANMS -initial:ANXL:ANXL -injects:ANJK:ANJK -injunct:ANJN:ANJN -injured:ANJR:ANJR -injurer:ANJR:ANJR -injures:ANJR:ANJR -injuria:ANJR:ANJR -inkblot:ANKP:ANKP -inkiest:ANKS:ANKS -inkings:ANKN:ANKN -inkling:ANKL:ANKL -inkwell:ANKL:ANKL -inlayer:ANLR:ANLR -inliers:ANLR:ANLR -inlying:ANLN:ANLN -inmates:ANMT:ANMT -innards:ANRT:ANRT -innerly:ANRL:ANRL -innerve:ANRF:ANRF -innings:ANNK:ANNK -inocula:ANKL:ANKL -inosine:ANSN:ANSN -inquest:ANKS:ANKS -inquiet:ANKT:ANKT -inquire:ANKR:ANKR -inquiry:ANKR:ANKR -inroads:ANRT:ANRT -inseams:ANSM:ANSM -insecta:ANSK:ANSK -insects:ANSK:ANSK -inserts:ANSR:ANSR -inshore:ANXR:ANXR -insider:ANST:ANST -insides:ANST:ANST -insight:ANST:ANST -insigne:ANSN:ANSK -insipid:ANSP:ANSP -insists:ANSS:ANSS -insofar:ANSF:ANSF -insoles:ANSL:ANSL -inspect:ANSP:ANSP -inspire:ANSP:ANSP -install:ANST:ANST -instals:ANST:ANST -instant:ANST:ANST -instate:ANST:ANST -instead:ANST:ANST -insteps:ANST:ANST -instill:ANST:ANST -instils:ANST:ANST -insulae:ANSL:ANSL -insular:ANSL:ANSL -insulin:ANSL:ANSL -insults:ANSL:ANSL -insured:ANSR:ANSR -insurer:ANSR:ANSR -insures:ANSR:ANSR -inswing:ANSN:ANSN -intakes:ANTK:ANTK -integer:ANTJ:ANTK -integra:ANTK:ANTK -integro:ANTK:ANTK -intends:ANTN:ANTN -intense:ANTN:ANTN -intents:ANTN:ANTN -interim:ANTR:ANTR -interne:ANTR:ANTR -interns:ANTR:ANTR -intimae:ANTM:ANTM -intimal:ANTM:ANTM -intimas:ANTM:ANTM -intines:ANTN:ANTN -intoned:ANTN:ANTN -intoner:ANTN:ANTN -intones:ANTN:ANTN -intrans:ANTR:ANTR -introit:ANTR:ANTR -introns:ANTR:ANTR -intrude:ANTR:ANTR -intrust:ANTR:ANTR -intuito:ANTT:ANTT -intuits:ANTT:ANTT -intuitu:ANTT:ANTT -inulase:ANLS:ANLS -inuring:ANRN:ANRN -invaded:ANFT:ANFT -invader:ANFT:ANFT -invades:ANFT:ANFT -invalid:ANFL:ANFL -invecta:ANFK:ANFK -inveigh:ANF:ANF -invents:ANFN:ANFN -inverse:ANFR:ANFR -inverts:ANFR:ANFR -invests:ANFS:ANFS -invited:ANFT:ANFT -invitee:ANFT:ANFT -inviter:ANFT:ANFT -invites:ANFT:ANFT -invitor:ANFT:ANFT -invitum:ANFT:ANFT -invoice:ANFS:ANFS -invoked:ANFK:ANFK -invoker:ANFK:ANFK -invokes:ANFK:ANFK -involve:ANFL:ANFL -inwards:ANRT:ANRT -inweave:ANF:ANF -inwoven:ANFN:ANFN -iodated:ATTT:ATTT -iodates:ATTS:ATTS -iodides:ATTS:ATTS -iodized:ATST:ATST -iodizer:ATSR:ATSR -iodizes:ATSS:ATSS -ionized:ANST:ANST -ionizer:ANSR:ANSR -ionizes:ANSS:ANSS -ipecacs:APKK:APKK -ipomoea:APM:APM -iranian:ARNN:ARNN -irately:ARTL:ARTL -ireland:ARLN:ARLN -ireless:ARLS:ARLS -irenics:ARNK:ARNK -iridial:ARTL:ARTL -iridian:ARTN:ARTN -iridium:ARTM:ARTM -irksome:ARKS:ARKS -ironers:ARNR:ARNR -ironies:ARNS:ARNS -ironing:ARNN:ARNN -ironist:ARNS:ARNS -ironize:ARNS:ARNS -irrupts:ARPT:ARPT -isagoge:ASKJ:ASKK -ischial:AXL:AXL -ischium:AXM:AXM -islamic:ALMK:ALMK -islands:ALNT:ALNT -ismaili:ASML:ASML -isoamyl:ASML:ASML -isobars:ASPR:ASPR -isobath:ASP0:ASPT -isochor:ASXR:ASKR -isodont:ASTN:ASTN -isodose:ASTS:ASTS -isogamy:ASKM:ASKM -isogeny:ASJN:ASKN -isogons:ASKN:ASKN -isogony:ASKN:ASKN -isogram:ASKR:ASKR -isohels:ASHL:ASHL -isohyet:ASHT:ASHT -isolate:ASLT:ASLT -isoline:ASLN:ASLN -isomers:ASMR:ASMR -isoneph:ASNF:ASNF -isonomy:ASNM:ASNM -isopach:ASPK:ASPK -isopods:ASPT:ASPT -isopter:ASPT:ASPT -isospin:ASSP:ASSP -isoster:ASST:ASST -isotone:ASTN:ASTN -isotope:ASTP:ASTP -isotopy:ASTP:ASTP -isotron:ASTR:ASTR -isozyme:ASSM:ASSM -israeli:ASRL:ASRL -issuant:ASNT:ASNT -issuers:ASRS:ASRS -issuing:ASNK:ASNK -isthmic:AS0M:ASTM -isthmus:AS0M:ASTM -italian:ATLN:ATLN -italics:ATLK:ATLK -itchier:AX:AXR -itching:AXNK:AXNK -itemize:ATMS:ATMS -iterate:ATRT:ATRT -itinere:ATNR:ATNR -ivories:AFRS:AFRS -ixodoid:AKST:AKST -jabbers:JPRS:APRS -jabbing:JPNK:APNK -jacanas:JKNS:AKNS -jacinth:JSN0:ASNT -jackals:JKLS:AKLS -jackdaw:JKT:AKTF -jackets:JKTS:AKTS -jacking:JKNK:AKNK -jackleg:JKLK:AKLK -jackpot:JKPT:AKPT -jackson:JKSN:AKSN -jacobin:JKPN:AKPN -jaconet:JKNT:AKNT -jactura:JKTR:AKTR -jacuzzi:JKS:AKTS -jadedly:JTTL:ATTL -jadeite:JTT:ATT -jaggery:JKR:AKR -jaggier:JJ:AKR -jagging:JJNK:AKNK -jaguars:JKRS:AKRS -jailers:JLRS:ALRS -jailing:JLNK:ALNK -jailors:JLRS:ALRS -jainism:JNSM:ANSM -jainist:JNST:ANST -jakarta:JKRT:AKRT -jalapic:JLPK:ALPK -jalapin:JLPN:ALPN -jamaica:JMK:AMK -jammier:JM:AMR -jamming:JMNK:AMNK -janeiro:JNR:ANR -jangled:JNKL:ANKL -jangler:JNKL:ANKL -jangles:JNKL:ANKL -janitor:JNTR:ANTR -jannock:JNK:ANK -january:JNR:ANR -jargons:JRKN:ARKN -jarisch:JRX:ARX -jarrahs:JRS:ARS -jarring:JRNK:ARNK -jarveys:JRFS:ARFS -jasmine:JSMN:ASMN -jaspers:JSPR:ASPR -jaunted:JNTT:ANTT -javelin:JFLN:AFLN -javelle:JFL:AFL -jawbone:JPN:APN -jawless:JLS:ALS -jawlike:JLK:ALK -jawline:JLN:ALN -jaybird:JPRT:APRT -jaycees:JSS:ASS -jayvees:JFS:AFS -jaywalk:JLK:ALK -jazzier:JS:ATSR -jazzily:JSL:ATSL -jazzing:JSNK:ATSN -jealous:JLS:ALS -jecorin:JKRN:AKRN -jeddart:JTRT:ATRT -jeerers:JRRS:ARRS -jeering:JRNK:ARNK -jehovah:JHF:AHF -jejunal:JJNL:AJNL -jejunum:JJNM:AJNM -jellied:JLT:ALT -jellies:JLS:ALS -jellify:JLF:ALF -jelling:JLNK:ALNK -jemmied:JMT:AMT -jemmies:JMS:AMS -jennets:JNTS:ANTS -jennies:JNS:ANS -jeopard:JPRT:APRT -jerbils:JRPL:ARPL -jerboas:JRPS:ARPS -jerkier:JRKR:ARKR -jerkily:JRKL:ARKL -jerking:JRKN:ARKN -jerkins:JRKN:ARKN -jerries:JRS:ARS -jerseys:JRSS:ARSS -jesters:JSTR:ASTR -jestful:JSTF:ASTF -jesting:JSTN:ASTN -jesuits:JSTS:ASTS -jetport:JTPR:ATPR -jetties:JTS:ATS -jetting:JTNK:ATNK -jettons:JTNS:ATNS -jeweled:JLT:ALT -jeweler:JLR:ALR -jewelry:JLR:ALR -jewfish:JFX:AFX -jezebel:JSPL:ASPL -jhatkas:JTKS:ATKS -jibbers:JPRS:APRS -jibbing:JPNK:APNK -jibboom:JPM:APM -jiffies:JFS:AFS -jiggers:JKRS:AKRS -jiggery:JKR:AKR -jigging:JKNK:AKNK -jiggled:JKLT:AKLT -jiggles:JKLS:AKLS -jigsaws:JKSS:AKSS -jillion:JLN:ALN -jilters:JLTR:ALTR -jilting:JLTN:ALTN -jimjams:JMJM:AMJM -jimmied:JMT:AMT -jimmies:JMS:AMS -jimpson:JMPS:AMPS -jingled:JNKL:ANKL -jingler:JNKL:ANKL -jingles:JNKL:ANKL -jingoes:JNKS:ANKS -jinkers:JNKR:ANKR -jinking:JNKN:ANKN -jinnees:JNS:ANS -jinxing:JNKS:ANKS -jitneys:JTNS:ATNS -jitters:JTRS:ATRS -jittery:JTR:ATR -jobbers:JPRS:APRS -jobbery:JPR:APR -jobbing:JPNK:APNK -jobless:JPLS:APLS -jockeys:JKS:AKS -jocular:JKLR:AKLR -jodhpur:JTPR:ATPR -joggers:JKRS:AKRS -jogging:JJNK:AKNK -joggled:JKLT:AKLT -joggler:JKLR:AKLR -joggles:JKLS:AKLS -johnnie:JN:AN -johnson:JNSN:ANSN -joinder:JNTR:ANTR -joiners:JNRS:ANRS -joinery:JNR:ANR -joining:JNNK:ANNK -jointed:JNTT:ANTT -jointer:JNTR:ANTR -jointly:JNTL:ANTL -joisted:JSTT:ASTT -jollied:JLT:ALT -jollier:JL:ALR -jollies:JLS:ALS -jollify:JLF:ALF -jollily:JLL:ALL -jollity:JLT:ALT -jolters:JLTR:ALTR -jolting:JLTN:ALTN -jonahes:JNHS:ANHS -joneses:JNSS:ANSS -jonquil:JNKL:ANKL -joshers:JXRS:AXRS -joshing:JXNK:AXNK -jossers:JSRS:ASRS -jostled:JSTL:ASTL -jostler:JSTL:ASTL -jostles:JSTL:ASTL -jotters:JTRS:ATRS -jotting:JTNK:ATNK -jounced:JNST:ANST -jounces:JNSS:ANSS -journal:JRNL:ARNL -journey:JRN:ARN -jousted:JSTT:ASTT -jouster:JSTR:ASTR -joyance:JNS:ANS -joyless:JLS:ALS -joypops:JPPS:APPS -joyride:JRT:ART -joyrode:JRT:ART -jubbahs:JPS:APS -jubilee:JPL:APL -judaica:JTK:ATK -judaism:JTSM:ATSM -judaist:JTST:ATST -judaize:JTS:ATS -judases:JTSS:ATSS -judders:JTRS:ATRS -judgers:JJRS:AJRS -judging:JJNK:AJNK -judical:JTKL:ATKL -judices:JTSS:ATSS -judicia:JTS:ATX -judicii:JTS:ATS -judicio:JTS:ATX -judicis:JTSS:ATSS -judogis:JTJS:ATKS -judoist:JTST:ATST -judokas:JTKS:ATKS -jugging:JKNK:AKNK -juggled:JKLT:AKLT -juggler:JKLR:AKLR -juggles:JKLS:AKLS -jugular:JKLR:AKLR -jugulum:JKLM:AKLM -juicers:JSRS:ASRS -juicier:JS:AXR -juicily:JSL:ASL -juicing:JSNK:ASNK -jujitsu:JJTS:AJTS -jujubes:JJPS:AJPS -jujuism:JJSM:AJSM -jujuist:JJST:AJST -jukebox:JKPK:AKPK -jumbled:JMPL:AMPL -jumbler:JMPL:AMPL -jumbles:JMPL:AMPL -jumbuck:JMPK:AMPK -jumpers:JMPR:AMPR -jumpier:JMP:AMPR -jumpily:JMPL:AMPL -jumping:JMPN:AMPN -jungian:JNJN:ANKN -jungles:JNKL:ANKL -juniors:JNRS:ANRS -juniper:JNPR:ANPR -junkers:JNKR:ANKR -junkets:JNKT:ANKT -junkies:JNKS:ANKS -junking:JNKN:ANKN -jupiter:JPTR:APTR -jurally:JRL:ARL -jurator:JRTR:ARTR -juridic:JRTK:ARTK -jurists:JRST:ARST -juryman:JRMN:ARMN -jurymen:JRMN:ARMN -jussive:JSF:ASF -justers:JSTR:ASTR -justest:JSTS:ASTS -justice:JSTS:ASTS -justify:JSTF:ASTF -jutting:JTNK:ATNK -kachang:KKNK:KKNK -kachina:KXN:KKN -kaddish:KTX:KTX -kaftans:KFTN:KFTN -kagouls:KKLS:KKLS -kahawai:KH:KH -kainite:KNT:KNT -kaisers:KSRS:KSRS -kakapos:KKPS:KKPS -kalmuck:KLMK:KLMK -kalongs:KLNK:KLNK -kanghas:KNKS:KNKS -kansans:KNSN:KNSN -kantian:KNXN:KNXN -kaoline:KLN:KLN -kaolins:KLNS:KLNS -karakul:KRKL:KRKL -karates:KRTS:KRTS -karstic:KRST:KRST -kasbahs:KSPS:KSPS -kashmir:KXMR:KXMR -katipos:KTPS:KTPS -katrina:KTRN:KTRN -katydid:KTTT:KTTT -kayoing:KNK:KNK -kedging:KJNK:KJNK -keelage:KLJ:KLK -keeling:KLNK:KLNK -keelson:KLSN:KLSN -keenest:KNST:KNST -keening:KNNK:KNNK -keepers:KPRS:KPRS -keeping:KPNK:KPNK -keepnet:KPNT:KPNT -keglers:KKLR:KKLR -keitloa:KTL:KTL -kelomas:KLMS:KLMS -kelpies:KLPS:KLPS -keltics:KLTK:KLTK -kelvins:KLFN:KLFN -kennedy:KNT:KNT -kennels:KNLS:KNLS -kenneth:KN0:KNT -kenning:KNNK:KNNK -kenosis:KNSS:KNSS -kenotic:KNTK:KNTK -kentish:KNTX:KNTX -kenyans:KNNS:KNNS -kerasin:KRSN:KRSN -keratic:KRTK:KRTK -keratin:KRTN:KRTN -kerbing:KRPN:KRPN -kernels:KRNL:KRNL -kerning:KRNN:KRNN -kernite:KRNT:KRNT -kerogen:KRJN:KRKN -kerries:KRS:KRS -kestrel:KSTR:KSTR -ketches:KXS:KXS -ketchup:KXP:KXP -ketonic:KTNK:KTNK -ketoses:KTSS:KTSS -ketosis:KTSS:KTSS -ketotic:KTTK:KTTK -kettles:KTLS:KTLS -keyhole:KHL:KHL -keyless:KLS:KLS -keynote:KNT:KNT -keypads:KPTS:KPTS -keyways:KS:KS -keyword:KRT:KRT -khaddar:KTR:KTR -khamsin:KMSN:KMSN -khanate:KNT:KNT -khedive:KTF:KTF -khellin:KLN:KLN -kibbled:KPLT:KPLT -kibbles:KPLS:KPLS -kibbutz:KPTS:KPTS -kibitka:KPTK:KPTK -kickers:KKRS:KKRS -kickier:KKR:KKR -kicking:KKNK:KKNK -kickoff:KKF:KKF -kidders:KTRS:KTRS -kiddies:KTS:KTS -kidding:KTNK:KTNK -kiddish:KTX:KTX -kidlike:KTLK:KTLK -kidnaps:KTNP:KTNP -kidneys:KTNS:KTNS -kidskin:KTSK:KTSK -kiekies:KKS:KKS -killers:KLRS:KLRS -killick:KLK:KLK -killing:KLNK:KLNK -killjoy:KL:KL -kiloton:KLTN:KLTN -kilting:KLTN:KLTN -kimbell:KMPL:KMPL -kimchee:KMX:KMK -kimonos:KMNS:KMNS -kindest:KNTS:KNTS -kindled:KNTL:KNTL -kindles:KNTL:KNTL -kindred:KNTR:KNTR -kineses:KNSS:KNSS -kinesia:KNS:KNS -kinesic:KNSK:KNSK -kinesis:KNSS:KNSS -kinetic:KNTK:KNTK -kinetin:KNTN:KNTN -kinfolk:KNFL:KNFL -kingcup:KNKK:KNKK -kingdom:KNKT:KNKT -kinglet:KNKL:KNKL -kingpin:KNKP:KNKP -kinkier:KNKR:KNKR -kinkily:KNKL:KNKL -kinking:KNKN:KNKN -kinless:KNLS:KNLS -kinship:KNXP:KNXP -kinsman:KNSM:KNSM -kinsmen:KNSM:KNSM -kiotomy:KTM:KTM -kippers:KPRS:KPRS -kipping:KPNK:KPNK -kipskin:KPSK:KPSK -kirghiz:KRKS:KRKT -kirlian:KRLN:KRLN -kirpans:KRPN:KRPN -kirtles:KRTL:KRTL -kissers:KSRS:KSRS -kissing:KSNK:KSNK -kitbags:KTPK:KTPK -kitcats:KTKT:KTKT -kitchen:KXN:KXN -kithing:K0NK:KTNK -kitschy:KTX:KTX -kittens:KTNS:KTNS -kitties:KTS:KTS -kitting:KTNK:KTNK -klanism:KLNS:KLNS -klatsch:KLTX:KLTX -klippel:KLPL:KLPL -kludges:KLJS:KLJS -klumpke:KLMP:KLMP -knacker:NKR:NKR -knapped:NPT:NPT -knapper:NPR:NPR -knavery:NFR:NFR -knavish:NFX:NFX -kneaded:NTT:NTT -kneader:NTR:NTR -kneecap:NKP:NKP -kneeing:NNK:NNK -kneeled:NLT:NLT -kneeler:NLR:NLR -kneepad:NPT:NPT -kneepan:NPN:NPN -knelled:NLT:NLT -knesset:NST:NST -knifing:NFNK:NFNK -knights:NTS:NTS -knishes:NXS:NXS -knitted:NTT:NTT -knitter:NTR:NTR -knittle:NTL:NTL -knobbed:NPT:NPT -knobble:NPL:NPL -knobbly:NPL:NPL -knocked:NKT:NKT -knocker:NKR:NKR -knotted:NTT:NTT -knotter:NTR:NTR -knowers:NRS:NRS -knowhow:N:NF -knowing:NNK:NNK -knuckle:NKL:NKL -knuckly:NKL:NKL -knurled:NRLT:NRLT -kobolds:KPLT:KPLT -koftgar:KFTK:KFTK -kokakos:KKKS:KKKS -kokanee:KKN:KKN -kokobeh:KKP:KKP -kolkhoz:KLKS:KLKT -komatik:KMTK:KMTK -kookier:KKR:KKR -koories:KRS:KRS -kopecks:KPKS:KPKS -koradji:KRTJ:KRTJ -koranic:KRNK:KRNK -koreans:KRNS:KRNS -korunas:KRNS:KRNS -koumiss:KMS:KMS -kowtows:KTS:KTS -kremlin:KRML:KRML -krimmer:KRMR:KRMR -krishna:KRXN:KRXN -krooman:KRMN:KRMN -krypton:KRPT:KRPT -kuchens:KXNS:KKNS -kumquat:KMKT:KMKT -kumshaw:KMX:KMXF -kumyses:KMSS:KMSS -kunzite:KNST:KNTS -kupffer:KPFR:KPFR -kurdish:KRTX:KRTX -kursaal:KRSL:KRSL -kwachas:KKS:KKS -kwanzas:KNSS:KNTS -kwinana:KNN:KNN -kyanize:KNS:KNTS -kylikes:KLKS:KLKS -labarum:LPRM:LPRM -labeled:LPLT:LPLT -labeler:LPLR:LPLR -labella:LPL:LPL -labials:LPLS:LPLS -labialy:LPL:LPL -labiate:LPT:LPT -labored:LPRT:LPRT -laborer:LPRR:LPRR -labrets:LPRT:LPRT -laciest:LSST:LXST -lacings:LSNK:LSNK -lackeys:LKS:LKS -lacking:LKNK:LKNK -laconic:LKNK:LKNK -lacquer:LKR:LKR -lactary:LKTR:LKTR -lactase:LKTS:LKTS -lactate:LKTT:LKTT -lacteal:LKTL:LKTL -lactone:LKTN:LKTN -lactose:LKTS:LKTS -lacunae:LKN:LKN -lacunal:LKNL:LKNL -lacunar:LKNR:LKNR -lacunas:LKNS:LKNS -ladders:LTRS:LTRS -laddies:LTS:LTS -ladlers:LTLR:LTLR -ladling:LTLN:LTLN -ladybug:LTPK:LTPK -laennec:LNK:LNK -lagenae:LJN:LKN -laggard:LKRT:LKRT -lagging:LJNK:LKNK -lagneia:LN:LKN -lagoons:LKNS:LKNS -laicism:LSSM:LSSM -laicize:LSS:LSS -lairage:LRJ:LRK -lairier:LR:LRR -laisser:LSR:LSR -laissez:LSS:LSS -lakiest:LKST:LKST -lallyga:LLK:LLK -lamaism:LMSM:LMSM -lambast:LMPS:LMPS -lambent:LMPN:LMPN -lambert:LMPR:LMPR -lambing:LMPN:LMPN -lambkin:LMPK:LMPK -lamblia:LMPL:LMPL -lamella:LML:LML -laments:LMNT:LMNT -laminae:LMN:LMN -laminal:LMNL:LMNL -laminar:LMNR:LMNR -laminas:LMNS:LMNS -lamming:LMNK:LMNK -lampers:LMPR:LMPR -lampoon:LMPN:LMPN -lamprey:LMPR:LMPR -lancers:LNSR:LNSR -lancets:LNST:LNST -lancing:LNSN:LNSN -lancisi:LNSS:LNSS -landaus:LNTS:LNTS -landers:LNTR:LNTR -landing:LNTN:LNTN -landown:LNTN:LNTN -landsat:LNTS:LNTS -langues:LNKS:LNKS -languid:LNKT:LNKT -languor:LNKR:LNKR -laniary:LNR:LNR -lankans:LNKN:LNKN -lankest:LNKS:LNKS -lankier:LNKR:LNKR -lankily:LNKL:LNKL -lanolin:LNLN:LNLN -lansing:LNSN:LNSN -lansker:LNSK:LNSK -lantana:LNTN:LNTN -lantern:LNTR:LNTR -lanugos:LNKS:LNKS -lanyard:LNRT:LNRT -laotian:LXN:LXN -lapdogs:LPTK:LPTK -lapeled:LPLT:LPLT -lapfuls:LPFL:LPFL -lapheld:LFLT:LFLT -lapilli:LPL:LPL -laplace:LPLS:LPLS -lapland:LPLN:LPLN -lappage:LPJ:LPK -lappers:LPRS:LPRS -lappets:LPTS:LPTS -lapping:LPNK:LPNK -lappish:LPX:LPX -lapsers:LPSR:LPSR -lapsing:LPSN:LPSN -laptops:LPTP:LPTP -laputan:LPTN:LPTN -lapwing:LPNK:LPNK -larceny:LRSN:LRSN -larches:LRXS:LRKS -larders:LRTR:LRTR -lardier:LRT:LRTR -larding:LRTN:LRTN -largely:LRJL:LRKL -largens:LRJN:LRKN -largess:LRJS:LRKS -largest:LRJS:LRKS -largish:LRJX:LRKX -lariats:LRTS:LRTS -larkers:LRKR:LRKR -larkier:LRKR:LRKR -larking:LRKN:LRKN -larkish:LRKX:LRKX -larrups:LRPS:LRPS -larvaes:LRFS:LRFS -larvate:LRFT:LRFT -lasagna:LSN:LSKN -lascars:LSKR:LSKR -lashers:LXRS:LXRS -lashing:LXNK:LXNK -laskets:LSKT:LSKT -lassies:LSS:LSS -lassoed:LST:LST -lassoer:LSR:LSR -lassoes:LSS:LSS -lastage:LSTJ:LSTK -lasters:LSTR:LSTR -lasting:LSTN:LSTN -latakia:LTK:LTK -latched:LXT:LXT -latches:LXS:LXS -latchet:LXT:LXT -lateens:LTNS:LTNS -latency:LTNS:LTNS -latened:LTNT:LTNT -laterad:LTRT:LTRT -lateral:LTRL:LTRL -latexes:LTKS:LTKS -lathers:L0RS:LTRS -lathery:L0R:LTR -lathing:L0NK:LTNK -latices:LTSS:LTSS -latinos:LTNS:LTNS -latrine:LTRN:LTRN -latrope:LTRP:LTRP -lattice:LTS:LTS -latvian:LTFN:LTFN -lauders:LTRS:LTRS -lauding:LTNK:LTNK -laughed:LFT:LFT -laugher:LFR:LFR -laughes:LFS:LFS -launder:LNTR:LNTR -laundry:LNTR:LNTR -laurels:LRLS:LRLS -lawbook:LPK:LPK -lawless:LLS:LLS -lawlike:LLK:LLK -lawsuit:LST:LST -lawyers:LRS:LRS -laxness:LKSN:LKSN -layaway:L:L -layered:LRT:LRT -layette:LT:LT -layoffs:LFS:LFS -layouts:LTS:LTS -layover:LFR:LFR -lazaret:LSRT:LSRT -lazarus:LSRS:LSRS -laziest:LSST:LSST -lazyish:LSX:LSX -leached:LXT:LKT -leacher:LXR:LKR -leaches:LXS:LKS -leaders:LTRS:LTRS -leading:LTNK:LTNK -leafage:LFJ:LFK -leafier:LF:LFR -leafing:LFNK:LFNK -leaflet:LFLT:LFLT -leagued:LKT:LKT -leaguer:LKR:LKR -leagues:LKS:LKS -leakage:LKJ:LKK -leakers:LKRS:LKRS -leakier:LKR:LKR -leakily:LKL:LKL -leaking:LKNK:LKNK -leanest:LNST:LNST -leaning:LNNK:LNNK -leapers:LPRS:LPRS -leapfro:LPFR:LPFR -leaping:LPNK:LPNK -learned:LRNT:LRNT -learner:LRNR:LRNR -leasers:LSRS:LSRS -leashed:LXT:LXT -leashes:LXS:LXS -leasing:LSNK:LSNK -leather:L0R:LTR -leavens:LFNS:LFNS -leavers:LFRS:LFRS -leaving:LFNK:LFNK -lebanon:LPNN:LPNN -lechers:LXRS:LKRS -lechery:LXR:LKR -lectern:LKTR:LKTR -lection:LKXN:LKXN -lectors:LKTR:LKTR -lecture:LKTR:LKTR -ledgers:LJRS:LJRS -leeched:LXT:LKT -leeches:LXS:LKS -leerier:LR:LRR -leerily:LRL:LRL -leering:LRNK:LRNK -leeward:LRT:LRT -lefties:LFTS:LFTS -leftish:LFTX:LFTX -leftism:LFTS:LFTS -leftist:LFTS:LFTS -legales:LKLS:LKLS -legalis:LKLS:LKLS -legally:LKL:LKL -legated:LKTT:LKTT -legatee:LKT:LKT -legates:LKTS:LKTS -legator:LKTR:LKTR -legends:LJNT:LKNT -leggier:LK:LKR -legging:LKNK:LKNK -leghorn:LKRN:LKRN -legible:LJPL:LKPL -legibly:LJPL:LKPL -legions:LJNS:LKNS -legists:LJST:LKST -legitim:LJTM:LKTM -legless:LKLS:LKLS -legroom:LKRM:LKRM -legumes:LKMS:LKMS -legumin:LKMN:LKMN -legwork:LKRK:LKRK -leipzig:LPSK:LPSK -leister:LSTR:LSTR -leisure:LSR:LSR -lemmata:LMT:LMT -lemming:LMNK:LMNK -lempira:LMPR:LMPR -lenders:LNTR:LNTR -lending:LNTN:LNTN -lengths:LNK0:LNKT -lengthy:LNK0:LNKT -lenient:LNNT:LNNT -lentigo:LNTK:LNTK -lentils:LNTL:LNTL -lentisk:LNTS:LNTS -lentoid:LNTT:LNTT -leonard:LNRT:LNRT -leonina:LNN:LNN -leonine:LNN:LNN -leopard:LPRT:LPRT -leotard:LTRT:LTRT -leporid:LPRT:LPRT -leproid:LPRT:LPRT -leproma:LPRM:LPRM -leprose:LPRS:LPRS -leprosy:LPRS:LPRS -leprous:LPRS:LPRS -leptons:LPTN:LPTN -leresis:LRSS:LRSS -lesbian:LSPN:LSPN -lesions:LSNS:LXNS -lesotho:LS0:LST -lessees:LSS:LSS -lessens:LSNS:LSNS -lessons:LSNS:LSNS -lessors:LSRS:LSRS -letdown:LTN:LTN -letters:LTRS:LTRS -letting:LTNK:LTNK -lettish:LTX:LTX -lettuce:LTS:LTS -leucine:LSN:LSN -leucoma:LKM:LKM -leukoma:LKM:LKM -levance:LFNS:LFNS -levancy:LFNS:LFNS -levator:LFTR:LFTR -leveled:LFLT:LFLT -leveler:LFLR:LFLR -levelly:LFL:LFL -levered:LFRT:LFRT -leveret:LFRT:LFRT -leviers:LFRS:LFRS -levying:LFNK:LFNK -lewdest:LTST:LTST -lexemes:LKSM:LKSM -lexical:LKSK:LKSK -lexicon:LKSK:LKSK -liaised:LST:LST -liaises:LSS:LSS -liaison:LSN:LSN -libbers:LPRS:LPRS -libbing:LPNK:LPNK -libeled:LPLT:LPLT -libelee:LPL:LPL -libeler:LPLR:LPLR -liberal:LPRL:LPRL -liberia:LPR:LPR -liberos:LPRS:LPRS -liberty:LPRT:LPRT -liberum:LPRM:LPRM -libidos:LPTS:LPTS -libitum:LPTM:LPTM -librans:LPRN:LPRN -library:LPRR:LPRR -librate:LPRT:LPRT -libyans:LPNS:LPNS -licence:LSNS:LSNS -license:LSNS:LSNS -lichens:LXNS:LKNS -licitly:LSTL:LSTL -lickers:LKRS:LKRS -lickety:LKT:LKT -licking:LKNK:LKNK -lidless:LTLS:LTLS -liefest:LFST:LFST -lienees:LNS:LNS -lifelon:LFLN:LFLN -lifters:LFTR:LFTR -lifting:LFTN:LFTN -liftoff:LFTF:LFTF -ligands:LKNT:LKNT -ligated:LKTT:LKTT -ligates:LKTS:LKTS -lighted:LTT:LTT -lighten:LTN:LTN -lighter:LTR:LTR -lightly:LTL:LTL -lignify:LNF:LKNF -lignite:LNT:LKNT -lignums:LNMS:LKNM -ligulae:LKL:LKL -ligular:LKLR:LKLR -ligulas:LKLS:LKLS -ligures:LKRS:LKRS -likable:LKPL:LKPL -likened:LKNT:LKNT -likings:LKNK:LKNK -lilting:LLTN:LLTN -limbate:LMPT:LMPT -limbers:LMPR:LMPR -limeade:LMT:LMT -limiest:LMST:LMST -liminal:LMNL:LMNL -limited:LMTT:LMTT -limiter:LMTR:LMTR -limners:LMNR:LMNR -limning:LMNN:LMNN -limpers:LMPR:LMPR -limpets:LMPT:LMPT -limping:LMPN:LMPN -linable:LNPL:LNPL -linages:LNJS:LNKS -linaria:LNR:LNR -lincoln:LNKL:LNKL -linctus:LNKT:LNKT -lindane:LNTN:LNTN -lindens:LNTN:LNTN -lineage:LNJ:LNK -lineate:LNT:LNT -lineman:LNMN:LNMN -linemen:LNMN:LNMN -lineups:LNPS:LNPS -lingers:LNKR:LNJR -lingoes:LNKS:LNKS -linguae:LNK:LNK -lingual:LNKL:LNKL -lingula:LNKL:LNKL -linings:LNNK:LNNK -linitis:LNTS:LNTS -linkage:LNKJ:LNKK -linkers:LNKR:LNKR -linking:LNKN:LNKN -linkups:LNKP:LNKP -linnets:LNTS:LNTS -linseed:LNST:LNST -lintels:LNTL:LNTL -linters:LNTR:LNTR -lintier:LNT:LNTR -lioness:LNS:LNS -lionize:LNS:LNS -lipemia:LPM:LPM -lipides:LPTS:LPTS -lipidic:LPTK:LPTK -lipless:LPLS:LPLS -liplike:LPLK:LPLK -lipomas:LPMS:LPMS -liposes:LPSS:LPSS -liposis:LPSS:LPSS -lipread:LPRT:LPRT -lipuria:LPR:LPR -liquate:LKT:LKT -liquefy:LKF:LKF -liquets:LKTS:LKTS -liqueur:LKR:LKR -liquids:LKTS:LKTS -liquify:LKF:LKF -liquors:LKRS:LKRS -lispers:LSPR:LSPR -lisping:LSPN:LSPN -lissome:LSM:LSM -listens:LSTN:LSTN -listers:LSTR:LSTR -listing:LSTN:LSTN -litchis:LXS:LXS -literae:LTR:LTR -literal:LTRL:LTRL -lithely:L0L:LTL -lithest:L0ST:LTST -lithium:L0M:LTM -lithoid:L0T:LTT -litotes:LTTS:LTTS -litters:LTRS:LTRS -littler:LTLR:LTLR -liturgy:LTRJ:LTRK -livable:LFPL:LFPL -livably:LFPL:LFPL -livened:LFNT:LFNT -livener:LFNR:LFNR -livered:LFRT:LFRT -lividly:LFTL:LFTL -livings:LFNK:LFNK -lizards:LSRT:LSRT -lloyd's:LTS:LTS -loaders:LTRS:LTRS -loading:LTNK:LTNK -loafers:LFRS:LFRS -loafing:LFNK:LFNK -loamier:LM:LMR -loaners:LNRS:LNRS -loaning:LNNK:LNNK -loathed:L0T:LTT -loather:L0R:LTR -loathes:L0S:LTS -loathly:L0L:LTL -lobated:LPTT:LPTT -lobbers:LPRS:LPRS -lobbied:LPT:LPT -lobbier:LP:LPR -lobbies:LPS:LPS -lobbing:LPNK:LPNK -lobbyer:LPR:LPR -lobelia:LPL:LPL -lobster:LPST:LPST -lobular:LPLR:LPLR -lobules:LPLS:LPLS -lobulus:LPLS:LPLS -lobworm:LPRM:LPRM -locales:LKLS:LKLS -locally:LKL:LKL -located:LKTT:LKTT -locater:LKTR:LKTR -locates:LKTS:LKTS -locatio:LKT:LKT -locator:LKTR:LKTR -lochial:LKL:LKL -lockage:LKJ:LKK -lockers:LKRS:LKRS -lockets:LKTS:LKTS -locking:LKNK:LKNK -lockjaw:LK:LKF -locknut:LKNT:LKNT -lockout:LKT:LKT -lockups:LKPS:LKPS -locoism:LKSM:LKSM -locular:LKLR:LKLR -locules:LKLS:LKLS -loculus:LKLS:LKLS -locusts:LKST:LKST -lodgers:LJRS:LJRS -lodging:LJNK:LJNK -loesses:LSS:LSS -lofters:LFTR:LFTR -loftier:LFT:LFTR -loftily:LFTL:LFTL -lofting:LFTN:LFTN -logbook:LKPK:LKPK -loggers:LKRS:LKRS -loggias:LJS:LKS -logging:LJNK:LKNK -logical:LJKL:LKKL -logiest:LJST:LKST -logjams:LKJM:LKJM -loglogs:LKLK:LKLK -loiases:LSS:LSS -loiasis:LSS:LSS -loiters:LTRS:LTRS -lollies:LLS:LLS -lolling:LLNK:LLNK -lollops:LLPS:LLPS -lollyga:LLK:LLK -lomenta:LMNT:LMNT -loments:LMNT:LMNT -longbow:LNKP:LNKP -longest:LNJS:LNKS -longing:LNJN:LNKN -lookers:LKRS:LKRS -looking:LKNK:LKNK -lookout:LKT:LKT -lookups:LKPS:LKPS -looming:LMNK:LMNK -loonier:LN:LNR -loopers:LPRS:LPRS -loopier:LP:LPR -looping:LPNK:LPNK -loosely:LSL:LSL -loosens:LSNS:LSNS -loosest:LSST:LSST -loosing:LSNK:LSNK -looters:LTRS:LTRS -looting:LTNK:LTNK -loppers:LPRS:LPRS -lopping:LPNK:LPNK -lopwood:LPT:LPT -loquats:LKTS:LKTS -lording:LRTN:LRTN -lorentz:LRNT:LRNT -loricae:LRK:LRK -lorimer:LRMR:LRMR -lorries:LRS:LRS -losable:LSPL:LSPL -losings:LSNK:LSNK -lossier:LS:LSR -lotions:LXNS:LXNS -lottery:LTR:LTR -lotuses:LTSS:LTSS -loudens:LTNS:LTNS -loudest:LTST:LTST -loudish:LTX:LTX -lounged:LNJT:LNKT -lounger:LNKR:LNJR -lounges:LNJS:LNKS -louping:LPNK:LPNK -louring:LRNK:LRNK -lousier:LS:LSR -lousily:LSL:LSL -lousing:LSNK:LSNK -loutish:LTX:LTX -louvers:LFRS:LFRS -louvred:LFRT:LFRT -louvres:LFRS:LFRS -lovable:LFPL:LFPL -lovably:LFPL:LFPL -lovemak:LFMK:LFMK -lowborn:LPRN:LPRN -lowboys:LPS:LPS -lowbred:LPRT:LPRT -lowbrow:LPR:LPRF -lowdown:LTN:LTN -lowered:LRT:LRT -lowland:LLNT:LLNT -lowlier:LLR:LLR -lowlife:LLF:LLF -lowness:LNS:LNS -loyally:LL:LL -loyalty:LLT:LLT -lozenge:LSNJ:LSNK -lozengy:LSNK:LSNJ -lubbers:LPRS:LPRS -lubbock:LPK:LPK -lucerne:LSRN:LSRN -lucidas:LSTS:LSTS -lucidly:LSTL:LSTL -lucidum:LSTM:LSTM -lucifer:LSFR:LSFR -lucille:LSL:LSL -luckier:LKR:LKR -luckily:LKL:LKL -lucking:LKNK:LKNK -luddism:LTSM:LTSM -luddite:LTT:LTT -luffing:LFNK:LFNK -lugeing:LJNK:LKNK -luggage:LKJ:LKK -luggers:LKRS:LKRS -lugging:LKNK:LKNK -lugsail:LKSL:LKSL -lullaby:LLP:LLP -lulling:LLNK:LLNK -lumbago:LMPK:LMPK -lumbers:LMRS:LMRS -lumenal:LMNL:LMNL -luminal:LMNL:LMNL -lumpier:LMP:LMPR -lumpily:LMPL:LMPL -lumping:LMPN:LMPN -lumpish:LMPX:LMPX -lunaria:LNR:LNR -lunated:LNTT:LNTT -lunatic:LNTK:LNTK -lunatum:LNTM:LNTM -lunatus:LNTS:LNTS -lunched:LNXT:LNKT -luncher:LNXR:LNKR -lunches:LNXS:LNKS -lunette:LNT:LNT -lungers:LNKR:LNJR -lunging:LNJN:LNKN -lunulae:LNL:LNL -lunular:LNLR:LNLR -lunules:LNLS:LNLS -lupines:LPNS:LPNS -lurched:LRXT:LRKT -lurcher:LRXR:LRKR -lurches:LRXS:LRKS -luridly:LRTL:LRTL -lurking:LRKN:LRKN -lushing:LXNK:LXNK -lustful:LSTF:LSTF -lustier:LST:LSTR -lustily:LSTL:LSTL -lusting:LSTN:LSTN -lustral:LSTR:LSTR -lustrum:LSTR:LSTR -luteoma:LTM:LTM -lutists:LTST:LTST -luxated:LKST:LKST -luxates:LKST:LKST -lyceums:LSMS:LSMS -lychees:LXS:LKS -lyddite:LTT:LTT -lymnaea:LMN:LMN -lyncean:LNSN:LNSN -lynched:LNXT:LNKT -lyncher:LNXR:LNKR -lynches:LNXS:LNKS -lynchet:LNXT:LNKT -lyophil:LFL:LFL -lyrical:LRKL:LRKL -lyrists:LRST:LRST -lysines:LSNS:LSNS -lysogen:LSJN:LSKN -macabre:MKPR:MKPR -macacos:MKKS:MKKS -macadam:MKTM:MKTM -macaque:MKK:MKK -machans:MKNS:MKNS -machete:MXT:MKT -machina:MXN:MKN -machine:MXN:MKN -mackles:MKLS:MKLS -macrame:MKRM:MKRM -macrons:MKRN:MKRN -maculae:MKL:MKL -macular:MKLR:MKLR -maculas:MKLS:MKLS -madames:MTMS:MTMS -madcaps:MTKP:MTKP -maddens:MTNS:MTNS -madders:MTRS:MTRS -maddest:MTST:MTST -madding:MTNK:MTNK -maddish:MTX:MTX -madeira:MTR:MTR -madison:MTSN:MTSN -madness:MTNS:MTNS -madonna:MTN:MTN -madrona:MTRN:MTRN -maduros:MTRS:MTRS -madwort:MTRT:MTRT -maenads:MNTS:MNTS -maestri:MSTR:MSTR -maestro:MSTR:MSTR -maewest:MST:MST -maffick:MFK:MFK -mafiosi:MFS:MFS -mafioso:MFS:MFS -magenta:MJNT:MKNT -maggots:MKTS:MKTS -maggoty:MKT:MKT -magical:MJKL:MKKL -magmata:MKMT:MKMT -magnate:MNT:MKNT -magneto:MNT:MKNT -magnets:MNTS:MKNT -magnify:MNF:MKNF -magnums:MNMS:MKNM -magpies:MKPS:MKPS -magsman:MKSM:MKSM -magsmen:MKSM:MKSM -magyars:MKRS:MJRS -mahatma:MHTM:MHTM -mahican:MHKN:MHKN -mahomet:MHMT:MHMT -mahonia:MHN:MHN -mahouts:MHTS:MHTS -mahuang:MHNK:MHNK -maidans:MTNS:MTNS -maidens:MTNS:MTNS -maidish:MTX:MTX -mailbag:MLPK:MLPK -mailbox:MLPK:MLPK -mailers:MLRS:MLRS -mailing:MLNK:MLNK -maillot:MLT:MLT -mailman:MLMN:MLMN -mailmen:MLMN:MLMN -maiming:MMNK:MMNK -mainely:MNL:MNL -maintop:MNTP:MNTP -maitres:MTRS:MTRS -majesty:MJST:MJST -majeure:MJR:MJR -majoral:MJRL:MHRL -majored:MJRT:MHRT -majores:MJRS:MHRS -makable:MKPL:MKPL -makeham:MKHM:MKHM -makeups:MKPS:MKPS -makings:MKNK:MKNK -malacca:MLK:MLK -malachi:MLX:MLK -malacia:MLS:MLX -malaise:MLS:MLS -malaria:MLR:MLR -malayan:MLN:MLN -maldive:MLTF:MLTF -malease:MLS:MLS -maleate:MLT:MLT -malefic:MLFK:MLFK -malform:MLFR:MLFR -malians:MLNS:MLNS -maligns:MLNS:MLKN -malines:MLNS:MLNS -malitia:MLX:MLX -mallard:MLRT:MLRT -mallein:MLN:MLN -mallend:MLNT:MLNT -mallets:MLTS:MLTS -malleus:MLS:MLS -mallows:MLS:MLS -malmsey:MLMS:MLMS -maloney:MLN:MLN -malonic:MLNK:MLNK -malonyl:MLNL:MLNL -maltase:MLTS:MLTS -maltese:MLTS:MLTS -malthus:ML0S:MLTS -maltier:MLT:MLTR -malting:MLTN:MLTN -maltose:MLTS:MLTS -malunit:MLNT:MLNT -mamelon:MMLN:MMLN -mamilla:MML:MML -mammals:MMLS:MMLS -mammary:MMR:MMR -mammies:MMS:MMS -mammose:MMS:MMS -mammoth:MM0:MMT -manacle:MNKL:MNKL -managed:MNJT:MNKT -manager:MNKR:MNJR -manages:MNJS:MNKS -manakin:MNKN:MNKN -mananas:MNNS:MNNS -manatee:MNT:MNT -manchus:MNXS:MNKS -mandant:MNTN:MNTN -mandata:MNTT:MNTT -mandate:MNTT:MNTT -mandavi:MNTF:MNTF -mandrel:MNTR:MNTR -mandril:MNTR:MNTR -mandrin:MNTR:MNTR -manendi:MNNT:MNNT -mangeao:MNJ:MNK -mangers:MNJR:MNKR -mangier:MNJ:MNKR -mangily:MNJL:MNKL -mangled:MNKL:MNKL -mangler:MNKL:MNKL -mangles:MNKL:MNKL -mangoes:MNKS:MNKS -manhole:MNL:MNL -manhood:MNT:MNT -manhunt:MNNT:MNNT -maniacs:MNKS:MNKS -manical:MNKL:MNKL -manikin:MNKN:MNKN -manilla:MNL:MNL -manille:MNL:MNL -maniple:MNPL:MNPL -manitou:MNT:MNT -mankier:MNKR:MNKR -mankind:MNKN:MNKN -manlier:MNL:MNLR -manlike:MNLK:MNLK -manmade:MNMT:MNMT -manners:MNRS:MNRS -manning:MNNK:MNNK -mannish:MNX:MNX -mannose:MNS:MNS -manrope:MNRP:MNRP -mansard:MNSR:MNSR -mansion:MNSN:MNXN -mansoni:MNSN:MNSN -mantels:MNTL:MNTL -mantled:MNTL:MNTL -mantles:MNTL:MNTL -mantlet:MNTL:MNTL -mantoux:MNT:MNT -mantrap:MNTR:MNTR -mantras:MNTR:MNTR -manuals:MNLS:MNLS -manumit:MNMT:MNMT -manured:MNRT:MNRT -manurer:MNRR:MNRR -manures:MNRS:MNRS -maoists:MSTS:MSTS -mappers:MPRS:MPRS -mapping:MPNK:MPNK -marabou:MRP:MRP -maracas:MRKS:MRKS -maranta:MRNT:MRNT -marasca:MRSK:MRSK -marasma:MRSM:MRSM -marauds:MRTS:MRTS -marbled:MRPL:MRPL -marbler:MRPL:MRPL -marbles:MRPL:MRPL -marcato:MRKT:MRKT -marcels:MRSL:MRSL -marched:MRXT:MRKT -marcher:MRXR:MRKR -marches:MRXS:MRKS -marconi:MRKN:MRKN -maretum:MRTM:MRTM -margins:MRJN:MRKN -marilyn:MRLN:MRLN -marimba:MRMP:MRMP -marinas:MRNS:MRNS -mariner:MRNR:MRNR -marines:MRNS:MRNS -marists:MRST:MRST -marital:MRTL:MRTL -markers:MRKR:MRKR -markets:MRKT:MRKT -marking:MRKN:MRKN -markkaa:MRK:MRK -markups:MRKP:MRKP -marline:MRLN:MRLN -marling:MRLN:MRLN -marlins:MRLN:MRLN -marlite:MRLT:MRLT -marmite:MRMT:MRMT -marmots:MRMT:MRMT -maroons:MRNS:MRNS -marplot:MRPL:MRPL -marquee:MRK:MRK -marques:MRKS:MRKS -marquin:MRKN:MRKN -marquis:MRKS:MRKS -married:MRT:MRT -marrier:MR:MRR -marries:MRS:MRS -marring:MRNK:MRNK -marrows:MRS:MRS -marrowy:MR:MR -marsala:MRSL:MRSL -marshal:MRXL:MRXL -marshes:MRXS:MRXS -martens:MRTN:MRTN -martial:MRXL:MRXL -martian:MRXN:MRXN -martini:MRTN:MRTN -martins:MRTN:MRTN -martlet:MRTL:MRTL -martyrs:MRTR:MRTR -martyry:MRTR:MRTR -marvels:MRFL:MRFL -marxian:MRKS:MRKS -marxism:MRKS:MRKS -marxist:MRKS:MRKS -mascara:MSKR:MSKR -mascons:MSKN:MSKN -mascots:MSKT:MSKT -mashers:MXRS:MXRS -mashies:MXS:MXS -mashing:MXNK:MXNK -maskers:MSKR:MSKR -masking:MSKN:MSKN -masoned:MSNT:MSNT -masonic:MSNK:MSNK -masonry:MSNR:MSNR -masquer:MSKR:MSKR -masques:MSKS:MSKS -massage:MSJ:MSK -masseur:MSR:MSR -massier:MS:MSR -massifs:MSFS:MSFS -massing:MSNK:MSNK -massive:MSF:MSF -mastaba:MSTP:MSTP -masters:MSTR:MSTR -mastery:MSTR:MSTR -mastich:MSTX:MSTK -mastiff:MSTF:MSTF -mastoid:MSTT:MSTT -matador:MTTR:MTTR -matched:MXT:MXT -matcher:MXR:MXR -matches:MXS:MXS -matchet:MXT:MXT -matelot:MTLT:MTLT -materia:MTR:MTR -materna:MTRN:MTRN -maticos:MTKS:MTKS -matiest:MTST:MTST -matilda:MTLT:MTLT -matinee:MTN:MTN -matings:MTNK:MTNK -matrass:MTRS:MTRS -matrons:MTRN:MTRN -matters:MTRS:MTRS -mattery:MTR:MTR -matthew:M0:MTF -matting:MTNK:MTNK -mattins:MTNS:MTNS -mattock:MTK:MTK -mattoid:MTT:MTT -matured:MTRT:MTRT -maturer:MTRR:MTRR -matures:MTRS:MTRS -matzoon:MTSN:MTSN -matzoth:MTS0:MTST -maudlin:MTLN:MTLN -maulers:MLRS:MLRS -mauling:MLNK:MLNK -maunder:MNTR:MNTR -mawkish:MKX:MKX -mawseed:MST:MST -maxilla:MKSL:MKSL -maximal:MKSM:MKSM -maximin:MKSM:MKSM -maximum:MKSM:MKSM -maximus:MKSM:MKSM -maxwell:MKSL:MKSL -maydays:MTS:MTS -mayoral:MRL:MRL -maypole:MPL:MPL -mayweed:MT:MT -maziest:MSST:MSST -mazurka:MSRK:MTSR -mazzard:MSRT:MTSR -mcenroe:MSNR:MSNR -meadows:MTS:MTS -meadowy:MT:MT -mealier:ML:MLR -mealies:MLS:MLS -mealybu:MLP:MLP -meander:MNTR:MNTR -meanest:MNST:MNST -meanies:MNS:MNS -meaning:MNNK:MNNK -measled:MSLT:MSLT -measles:MSLS:MSLS -measure:MSR:MSR -meataxe:MTKS:MTKS -meatier:MT:MTR -meatily:MTL:MTL -meccano:MKN:MKN -meccans:MKNS:MKNS -meconic:MKNK:MKNK -meddled:MTLT:MTLT -meddler:MTLR:MTLR -meddles:MTLS:MTLS -medevac:MTFK:MTFK -mediacy:MTS:MTS -mediaes:MTS:MTS -medians:MTNS:MTNS -mediant:MTNT:MTNT -mediate:MTT:MTT -medical:MTKL:MTKL -medicos:MTKS:MTKS -mediied:MTT:MTT -mediums:MTMS:MTMS -medleys:MTLS:MTLS -medulla:MTL:MTL -medusae:MTS:MTS -medusan:MTSN:MTSN -medusas:MTSS:MTSS -meekest:MKST:MKST -meerkat:MRKT:MRKT -meeters:MTRS:MTRS -meeting:MTNK:MTNK -megabit:MKPT:MKPT -megasse:MKS:MKS -megaton:MKTN:MKTN -megohms:MKMS:MKMS -meioses:MSS:MSS -meiosis:MSS:MSS -meiotic:MTK:MTK -melaena:MLN:MLN -melange:MLNJ:MLNK -melania:MLN:MLN -melanic:MLNK:MLNK -melanin:MLNN:MLNN -melasma:MLSM:MLSM -melding:MLTN:MLTN -melicks:MLKS:MLKS -melilot:MLLT:MLLT -melisma:MLSM:MLSM -melissa:MLS:MLS -melitis:MLTS:MLTS -mellows:MLS:MLS -melodic:MLTK:MLTK -meloids:MLTS:MLTS -meltage:MLTJ:MLTK -meltemi:MLTM:MLTM -melting:MLTN:MLTN -members:MMPR:MMPR -membrum:MMPR:MMPR -memento:MMNT:MMNT -memoirs:MMRS:MMRS -memoria:MMR:MMR -memphis:MMFS:MMFS -menaced:MNST:MNST -menacer:MNSR:MNSR -menaces:MNSS:MNSS -menacme:MNKM:MNKM -menages:MNJS:MNKS -menazon:MNSN:MNSN -menders:MNTR:MNTR -mending:MNTN:MNTN -menfolk:MNFL:MNFL -menhirs:MNRS:MNRS -menials:MNLS:MNLS -menisci:MNS:MNS -menopon:MNPN:MNPN -menorah:MNR:MNR -mensual:MNSL:MNSL -menthol:MN0L:MNTL -menthyl:MN0L:MNTL -mention:MNXN:MNXN -mentors:MNTR:MNTR -meowing:MNK:MNK -mercers:MRSR:MRSR -mercies:MRSS:MRXS -mercury:MRKR:MRKR -mergers:MRKR:MRJR -merging:MRJN:MRKN -meridic:MRTK:MRTK -merinos:MRNS:MRNS -merited:MRTT:MRTT -mermaid:MRMT:MRMT -merogon:MRKN:MRKN -meropia:MRP:MRP -merrier:MR:MRR -merrily:MRL:MRL -mesally:MSL:MSL -mescals:MSKL:MSKL -mesenna:MSN:MSN -meshing:MXNK:MXNK -mesopic:MSPK:MSPK -mesozoa:MSS:MSS -message:MSJ:MSK -messiah:MS:MS -messier:MS:MSR -messily:MSL:MSL -messing:MSNK:MSNK -mestiza:MSTS:MSTS -mestizo:MSTS:MSTS -metalaw:MTL:MTLF -metayer:MTR:MTR -metazoa:MTS:MTS -meteors:MTRS:MTRS -metered:MTRT:MTRT -methane:M0N:MTN -methene:M0N:MTN -methods:M0TS:MTTS -metiers:MTRS:MTRS -metopic:MTPK:MTPK -metopon:MTPN:MTPN -metrics:MTRK:MTRK -mettles:MTLS:MTLS -meubles:MPLS:MPLS -mewling:MLNK:MLNK -mexican:MKSK:MKSK -miaowed:MT:MT -miasmal:MSML:MSML -miasmas:MSMS:MSMS -miasmic:MSMK:MSMK -micella:MSL:MSL -micelle:MSL:MSL -michael:MKL:MXL -microbe:MKRP:MKRP -microhm:MKRM:MKRM -microns:MKRN:MKRN -miction:MKXN:MKXN -midbody:MTPT:MTPT -middays:MTS:MTS -middens:MTNS:MTNS -middies:MTS:MTS -middled:MTLT:MTLT -middles:MTLS:MTLS -mideast:MTST:MTST -midgets:MJTS:MJTS -midland:MTLN:MTLN -midlife:MTLF:MTLF -midline:MTLN:MTLN -midmost:MTMS:MTMS -midpain:MTPN:MTPN -midribs:MTRP:MTRP -midriff:MTRF:MTRF -midterm:MTRM:MTRM -midtown:MTN:MTN -midways:MTS:MTS -midweek:MTK:MTK -midwest:MTST:MTST -midwife:MTF:MTF -midyear:MTR:MTR -miffing:MFNK:MFNK -migrans:MKRN:MKRN -migrant:MKRN:MKRN -migrate:MKRT:MKRT -mikados:MKTS:MKTS -mildest:MLTS:MLTS -mildews:MLTS:MLTS -mildewy:MLT:MLT -mildred:MLTR:MLTR -mileage:MLJ:MLK -miliary:MLR:MLR -milieus:MLS:MLS -milieux:MLKS:MLKS -militia:MLX:MLX -milkers:MLKR:MLKR -milkier:MLKR:MLKR -milking:MLKN:MLKN -milkman:MLKM:MLKM -milkmen:MLKM:MLKM -milksop:MLKS:MLKS -millage:MLJ:MLK -milldam:MLTM:MLTM -millers:MLRS:MLRS -milling:MLNK:MLNK -million:MLN:MLN -mimeoed:MMT:MMT -mimeses:MMSS:MMSS -mimesis:MMSS:MMSS -mimetic:MMTK:MMTK -mimicry:MMKR:MMKR -mimosas:MMSS:MMSS -minable:MNPL:MNPL -minaret:MNRT:MNRT -mincers:MNSR:MNSR -mincing:MNSN:MNSN -mindful:MNTF:MNTF -minding:MNTN:MNTN -mineral:MNRL:MNRL -minerva:MNRF:MNRF -mingled:MNKL:MNKL -mingler:MNKL:MNKL -mingles:MNKL:MNKL -minibus:MNPS:MNPS -minimal:MNML:MNML -minimis:MNMS:MNMS -minimum:MNMM:MNMM -minions:MNNS:MNNS -minipig:MNPK:MNPK -minnows:MNS:MNS -minoris:MNRS:MNRS -minster:MNST:MNST -mintage:MNTJ:MNTK -minters:MNTR:MNTR -mintier:MNT:MNTR -minting:MNTN:MNTN -minuend:MNNT:MNNT -minuets:MNTS:MNTS -minuses:MNSS:MNSS -minuter:MNTR:MNTR -minutes:MNTS:MNTS -minutia:MNX:MNX -minxish:MNKS:MNKS -miocene:MSN:MSN -miracle:MRKL:MRKL -mirages:MRJS:MRKS -miriest:MRST:MRST -mirrors:MRRS:MRRS -miscall:MSKL:MSKL -miscast:MSKS:MSKS -miscopy:MSKP:MSKP -miscued:MSKT:MSKT -miscues:MSKS:MSKS -misdate:MSTT:MSTT -misdeal:MSTL:MSTL -misdeed:MSTT:MSTT -misdoer:MSTR:MSTR -misdoes:MSTS:MSTS -misdone:MSTN:MSTN -miserly:MSRL:MSRL -misfile:MSFL:MSFL -misfire:MSFR:MSFR -misfits:MSFT:MSFT -misgave:MSKF:MSKF -misgive:MSJF:MSKF -mishaps:MXPS:MXPS -mishear:MXR:MXR -mislaid:MLT:MLT -mislays:MLS:MLS -mislead:MLT:MLT -mismate:MSMT:MSMT -misname:MSNM:MSNM -misplay:MSPL:MSPL -misread:MSRT:MSRT -misrule:MSRL:MSRL -missals:MSLS:MSLS -missile:MSL:MSL -missing:MSNK:MSNK -mission:MSN:MSN -missive:MSF:MSF -missort:MSRT:MSRT -misstep:MSTP:MSTP -mistake:MSTK:MSTK -misterm:MSTR:MSTR -misters:MSTR:MSTR -mistier:MST:MSTR -mistily:MSTL:MSTL -mistime:MSTM:MSTM -misting:MSTN:MSTN -mistook:MSTK:MSTK -mistral:MSTR:MSTR -mistune:MSTN:MSTN -mistype:MSTP:MSTP -misused:MSST:MSST -misuser:MSSR:MSSR -misuses:MSSS:MSSS -mitiori:MTR:MTR -mitogen:MTJN:MTKN -mitoses:MTSS:MTSS -mitosis:MTSS:MTSS -mitotic:MTTK:MTTK -mittens:MTNS:MTNS -mitzvah:MTSF:MTSF -mixable:MKSP:MKSP -mixtion:MKSX:MKSX -mixture:MKST:MKST -mizzens:MSNS:MSNS -moaning:MNNK:MNNK -mobbing:MPNK:MPNK -mobiles:MPLS:MPLS -mobilia:MPL:MPL -mobster:MPST:MPST -mockers:MKRS:MKRS -mockery:MKR:MKR -mocking:MKNK:MKNK -mockups:MKPS:MKPS -modalis:MTLS:MTLS -modally:MTL:MTL -modeled:MTLT:MTLT -modeler:MTLR:MTLR -moderns:MTRN:MTRN -modesty:MTST:MTST -modicum:MTKM:MTKM -modioli:MTL:MTL -modiste:MTST:MTST -modular:MTLR:MTLR -modules:MTLS:MTLS -modulus:MTLS:MTLS -mohairs:MHRS:MHRS -mohawks:MHKS:MHKS -mohegan:MHKN:MHKN -moiling:MLNK:MLNK -moisten:MSTN:MSTN -moister:MSTR:MSTR -moistly:MSTL:MSTL -molders:MLTR:MLTR -moldier:MLT:MLTR -molding:MLTN:MLTN -molests:MLST:MLST -moliere:MLR:MLR -molimen:MLMN:MLMN -molisch:MLX:MLX -mollify:MLF:MLF -mollusc:MLSK:MLSK -mollusk:MLSK:MLSK -molters:MLTR:MLTR -molting:MLTN:MLTN -momenta:MMNT:MMNT -moments:MMNT:MMNT -mommies:MMS:MMS -monades:MNTS:MNTS -monadic:MNTK:MNTK -monarch:MNRX:MNRK -mondays:MNTS:MNTS -moneyed:MNT:MNT -mongers:MNKR:MNJR -mongols:MNKL:MNKL -mongrel:MNKR:MNKR -moniker:MNKR:MNKR -monilia:MNL:MNL -monists:MNST:MNST -monitor:MNTR:MNTR -monkeys:MNKS:MNKS -monkish:MNKX:MNKX -monocle:MNKL:MNKL -monodic:MNTK:MNTK -monomer:MNMR:MNMR -monopus:MNPS:MNPS -monsoon:MNSN:MNSN -monster:MNST:MNST -montage:MNTJ:MNTK -montana:MNTN:MNTN -monthly:MN0L:MNTL -mooched:MXT:MKT -moocher:MXR:MKR -mooches:MXS:MKS -moodier:MT:MTR -moodily:MTL:MTL -mooning:MNNK:MNNK -moonlit:MNLT:MNLT -moorage:MRJ:MRK -mooring:MRNK:MRNK -moorish:MRX:MRX -mooting:MTNK:MTNK -mopeder:MPTR:MPTR -mopiest:MPST:MPST -moppets:MPTS:MPTS -mopping:MPNK:MPNK -moraine:MRN:MRN -morales:MRLS:MRLS -morally:MRL:MRL -moratur:MRTR:MRTR -mordant:MRTN:MRTN -morgues:MRKS:MRKS -moriens:MRNS:MRNS -mormons:MRMN:MRMN -morning:MRNN:MRNN -morocco:MRK:MRK -moronic:MRNK:MRNK -morphea:MRF:MRF -morphia:MRF:MRF -morrows:MRS:MRS -morsels:MRSL:MRSL -mortals:MRTL:MRTL -mortars:MRTR:MRTR -mortary:MRTR:MRTR -mortify:MRTF:MRTF -mortise:MRTS:MRTS -mortons:MRTN:MRTN -mortuam:MRTM:MRTM -mortuum:MRTM:MRTM -mortuus:MRTS:MRTS -morulae:MRL:MRL -morular:MRLR:MRLR -mosaics:MSKS:MSKS -moseyed:MST:MST -moslems:MSLM:MSLM -mosques:MSKS:MSKS -mossier:MS:MSR -mossman:MSMN:MSMN -mothers:M0RS:MTRS -motions:MXNS:MXNS -motives:MTFS:MTFS -motored:MTRT:MTRT -motoria:MTR:MTR -mottled:MTLT:MTLT -mottles:MTLS:MTLS -mottoes:MTS:MTS -moulage:MLJ:MLK -mounded:MNTT:MNTT -mounted:MNTT:MNTT -mounter:MNTR:MNTR -mountie:MNT:MNT -mourned:MRNT:MRNT -mourner:MRNR:MRNR -mousers:MSRS:MSRS -mousier:MS:MSR -mousing:MSNK:MSNK -mousses:MSS:MSS -mouthed:M0T:MTT -mouthes:M0S:MTS -movable:MFPL:MFPL -movably:MFPL:MFPL -movings:MFNK:MFNK -mucific:MSFK:MSFK -mucigen:MSJN:MSKN -muckier:MKR:MKR -mucking:MKNK:MKNK -mucopus:MKPS:MKPS -mucosae:MKS:MKS -mucosal:MKSL:MKSL -mucosas:MKSS:MKSS -mucosin:MKSN:MKSN -muddied:MTT:MTT -muddier:MT:MTR -muddies:MTS:MTS -muddled:MTLT:MTLT -muddler:MTLR:MTLR -muddles:MTLS:MTLS -muezzin:MSN:MTSN -muffing:MFNK:MFNK -muffins:MFNS:MFNS -muffled:MFLT:MFLT -muffler:MFLR:MFLR -muffles:MFLS:MFLS -muggers:MKRS:MKRS -muggier:MK:MKR -muggily:MKL:MKL -mugging:MKNK:MKNK -muggles:MKLS:MKLS -mugwump:MKMP:MKMP -mukluks:MKLK:MKLK -mulatto:MLT:MLT -mulched:MLXT:MLKT -mulches:MLXS:MLKS -mulcted:MLKT:MLKT -muliers:MLRS:MLRS -mullahs:MLS:MLS -mullein:MLN:MLN -mullets:MLTS:MLTS -mulling:MLNK:MLNK -mullion:MLN:MLN -multure:MLTR:MLTR -mumbled:MMPL:MMPL -mumbler:MMPL:MMPL -mumbles:MMPL:MMPL -mummers:MMRS:MMRS -mummery:MMR:MMR -mummies:MMS:MMS -mummify:MMF:MMF -munched:MNXT:MNKT -munches:MNXS:MNKS -mundane:MNTN:MNTN -muramic:MRMK:MRMK -murders:MRTR:MRTR -muriate:MRT:MRT -murkier:MRKR:MRKR -murkily:MRKL:MRKL -murmurs:MRMR:MRMR -murrain:MRN:MRN -murrina:MRN:MRN -muscats:MSKT:MSKT -muscled:MSKT:MSKT -muscles:MSKS:MSKS -musculi:MSKL:MSKL -musenna:MSN:MSN -musette:MST:MST -museums:MSMS:MSMS -mushier:MX:MXR -mushing:MXNK:MXNK -musical:MSKL:MSKL -musings:MSNK:MSNK -muskegs:MSKK:MSKK -muskets:MSKT:MSKT -muskier:MSKR:MSKR -muskrat:MSKR:MSKR -muslims:MSLM:MSLM -mussels:MSLS:MSLS -mussily:MSL:MSL -mussing:MSNK:MSNK -mustang:MSTN:MSTN -mustard:MSTR:MSTR -musters:MSTR:MSTR -mustier:MST:MSTR -mustily:MSTL:MSTL -mutable:MTPL:MTPL -mutably:MTPL:MTPL -mutagen:MTJN:MTKN -mutants:MTNT:MTNT -mutated:MTTT:MTTT -mutates:MTTS:MTTS -mutatis:MTTS:MTTS -mutator:MTTR:MTTR -mutters:MTRS:MTRS -muttons:MTNS:MTNS -muttony:MTN:MTN -mutuant:MTNT:MTNT -mutuary:MTR:MTR -mutuels:MTLS:MTLS -muumuus:MMS:MMS -muzzled:MSLT:MSLT -muzzles:MSLS:MSLS -myalgia:MLJ:MLK -myalgic:MLJK:MLKK -mycelia:MSL:MSL -mycolic:MKLK:MKLK -mycoses:MKSS:MKSS -mycosis:MKSS:MKSS -mycotic:MKTK:MKTK -myeloid:MLT:MLT -myeloma:MLM:MLM -myiases:MSS:MSS -myiasis:MSS:MSS -myocoel:MKL:MKL -myocyte:MST:MST -myogram:MKRM:MKRM -myology:MLJ:MLK -myomata:MMT:MMT -myomere:MMR:MMR -myonema:MNM:MNM -myoneme:MNM:MNM -myotome:MTM:MTM -myotomy:MTM:MTM -myriads:MRTS:MRTS -myringa:MRNK:MRNK -myrrhic:MRK:MRK -myrtles:MRTL:MRTL -mystery:MSTR:MSTR -mystics:MSTK:MSTK -mystify:MSTF:MSTF -myxomas:MKSM:MKSM -nabbing:NPNK:NPNK -nacelle:NSL:NSL -nacrous:NKRS:NKRS -naevoid:NFT:NFT -naffing:NFNK:NFNK -naggers:NKRS:NKRS -nagging:NJNK:NKNK -nahuatl:NHTL:NHTL -naiades:NTS:NTS -nailers:NLRS:NLRS -nailery:NLR:NLR -nailing:NLNK:NLNK -nairobi:NRP:NRP -naively:NFL:NFL -naivest:NFST:NFST -naivete:NFT:NFT -naivety:NFT:NFT -nakedly:NKTL:NKTL -namable:NMPL:NMPL -nancies:NNSS:NNXS -nanitic:NNTK:NNTK -nankeen:NNKN:NNKN -nanking:NNKN:NNKN -nannies:NNS:NNS -napalms:NPLM:NPLM -naphtha:NF0:NFT -napkins:NPKN:NPKN -napless:NPLS:NPLS -nappers:NPRS:NPRS -nappies:NPS:NPS -napping:NPNK:NPNK -narcism:NRSS:NRSS -narcoma:NRKM:NRKM -narcose:NRKS:NRKS -narcous:NRKS:NRKS -narkier:NRKR:NRKR -narking:NRKN:NRKN -narrate:NRT:NRT -narrows:NRS:NRS -narthex:NR0K:NRTK -narwhal:NRL:NRL -nasalis:NSLS:NSLS -nasally:NSL:NSL -nascent:NSNT:NSNT -nasmyth:NSM0:NSMT -nastier:NST:NSTR -nastily:NSTL:NSTL -natally:NTL:NTL -nations:NXNS:NXNS -natives:NTFS:NTFS -natrium:NTRM:NTRM -natters:NTRS:NTRS -nattier:NT:NTR -nattily:NTL:NTL -naturae:NTR:NTR -natural:NTRL:NTRL -natured:NTRT:NTRT -naturel:NTRL:NTRL -natures:NTRS:NTRS -naughts:NKTS:NKTS -naughty:NKT:NKT -nauplii:NPL:NPL -nauseam:NSM:NSM -nautili:NTL:NTL -navahos:NFHS:NFHS -navajos:NFJS:NFHS -navalis:NFLS:NFLS -navally:NFL:NFL -navarin:NFRN:NFRN -navigio:NFJ:NFK -navvies:NFS:NFS -naziism:NSSM:NSSM -nearest:NRST:NRST -nearing:NRNK:NRNK -neatens:NTNS:NTNS -neatest:NTST:NTST -nebbish:NPX:NPX -nebulae:NPL:NPL -nebular:NPLR:NPLR -nebulas:NPLS:NPLS -necator:NKTR:NKTR -neckers:NKRS:NKRS -necking:NKNK:NKNK -necklet:NKLT:NKLT -necktie:NKT:NKT -necrose:NKRS:NKRS -nectars:NKTR:NKTR -nectary:NKTR:NKTR -needers:NTRS:NTRS -needful:NTFL:NTFL -needier:NT:NTR -needily:NTL:NTL -needing:NTNK:NTNK -needled:NTLT:NTLT -needler:NTLR:NTLR -needles:NTLS:NTLS -needn't:NTNT:NTNT -negated:NKTT:NKTT -negates:NKTS:NKTS -negator:NKTR:NKTR -neglect:NKLK:NKLK -neglige:NKLJ:NLK -negress:NKRS:NKRS -negrito:NKRT:NKRT -negroes:NKRS:NKRS -negroid:NKRT:NKRT -neighed:NT:NT -neighes:NS:NS -neither:N0R:NTR -nellies:NLS:NLS -nelsons:NLSN:NLSN -nematic:NMTK:NMTK -nemeses:NMSS:NMSS -nemesis:NMSS:NMSS -neolith:NL0:NLT -neology:NLJ:NLK -neonate:NNT:NNT -neopine:NPN:NPN -neoteny:NTN:NTN -neotype:NTP:NTP -neozoic:NSK:NSK -nepalis:NPLS:NPLS -nephews:NFS:NFS -nephric:NFRK:NFRK -nephron:NFRN:NFRN -nepotal:NPTL:NPTL -nepotes:NPTS:NPTS -nepotic:NPTK:NPTK -neptune:NPTN:NPTN -neritic:NRTK:NRTK -nervate:NRFT:NRFT -nervier:NRF:NRFR -nervily:NRFL:NRFL -nervine:NRFN:NRFN -nerving:NRFN:NRFN -nervosa:NRFS:NRFS -nervous:NRFS:NRFS -nessler:NSLR:NSLR -nesters:NSTR:NSTR -nesting:NSTN:NSTN -nestled:NSTL:NSTL -nestler:NSTL:NSTL -nestles:NSTL:NSTL -netball:NTPL:NTPL -netlike:NTLK:NTLK -netsuke:NTSK:NTSK -netters:NTRS:NTRS -netting:NTNK:NTNK -nettled:NTLT:NTLT -nettler:NTLR:NTLR -nettles:NTLS:NTLS -network:NTRK:NTRK -neurine:NRN:NRN -neurite:NRT:NRT -neuroid:NRT:NRT -neuroma:NRM:NRM -neurone:NRN:NRN -neurons:NRNS:NRNS -neurula:NRL:NRL -neuston:NSTN:NSTN -neuters:NTRS:NTRS -neutral:NTRL:NTRL -neutron:NTRN:NTRN -nevadan:NFTN:NFTN -newborn:NPRN:NPRN -newness:NNS:NNS -newport:NPRT:NPRT -newsboy:NSP:NSP -newsier:NSR:NSR -newsman:NSMN:NSMN -newsmen:NSMN:NSMN -nexuses:NKSS:NKSS -niagara:NKR:NKR -nibbing:NPNK:NPNK -nibbled:NPLT:NPLT -nibbler:NPLR:NPLR -nibbles:NPLS:NPLS -niblick:NPLK:NPLK -niblike:NPLK:NPLK -nickels:NKLS:NKLS -nickers:NKRS:NKRS -nicking:NKNK:NKNK -nictate:NKTT:NKTT -niduses:NTSS:NTSS -niellos:NLS:NLS -nielsen:NLSN:NLSN -niemann:NMN:NMN -niftier:NFT:NFTR -niftily:NFTL:NFTL -nigeria:NJR:NKR -niggard:NKRT:NKRT -niggers:NKRS:NKRS -niggled:NKLT:NKLT -niggler:NKLR:NKLR -niggles:NKLS:NKLS -nighest:NST:NST -nighter:NTR:NTR -nightie:NT:NT -nightly:NTL:NTL -nilotic:NLTK:NLTK -nimbler:NMPL:NMPL -ninnies:NNS:NNS -ninthes:NN0S:NNTS -ninthly:NN0L:NNTL -niobium:NPM:NPM -niobous:NPS:NPS -nippers:NPRS:NPRS -nippier:NP:NPR -nippily:NPL:NPL -nipping:NPNK:NPNK -nipples:NPLS:NPLS -nirvana:NRFN:NRFN -nissans:NSNS:NSNS -nitpick:NTPK:NTPK -nitrate:NTRT:NTRT -nitride:NTRT:NTRT -nitrify:NTRF:NTRF -nitrile:NTRL:NTRL -nitrite:NTRT:NTRT -nitroso:NTRS:NTRS -nitrous:NTRS:NTRS -nittier:NT:NTR -nitwits:NTTS:NTTS -niveous:NFS:NFS -nobbily:NPL:NPL -nobbled:NPLT:NPLT -nobbler:NPLR:NPLR -nobbles:NPLS:NPLS -noblest:NPLS:NPLS -nocking:NKNK:NKNK -noctule:NKTL:NKTL -nocturn:NKTR:NKTR -nocuous:NKS:NKS -nodally:NTL:NTL -nodders:NTRS:NTRS -noddies:NTS:NTS -nodding:NTNK:NTNK -noddles:NTLS:NTLS -nodical:NTKL:NTKL -nodular:NTLR:NTLR -nodules:NTLS:NTLS -nodulus:NTLS:NTLS -noetics:NTKS:NTKS -noggins:NJNS:NKNS -nohoper:NHPR:NHPR -noisier:NS:NSR -noisily:NSL:NSL -noising:NSNK:NSNK -noisome:NSM:NSM -nolpros:NLPR:NLPR -nomadic:NMTK:NMTK -nomarch:NMRX:NMRK -nombril:NMPR:NMPR -nominal:NMNL:NMNL -nominee:NMN:NMN -nominis:NMNS:NMNS -nonagon:NNKN:NNKN -nonbank:NNPN:NNPN -noncash:NNKX:NNKX -noncoms:NNKM:NNKM -nondrip:NNTR:NNTR -nongame:NNKM:NNKM -nonhero:NNR:NNR -noniron:NNRN:NNRN -nonjury:NNJR:NNJR -nonlife:NNLF:NNLF -nonplus:NNPL:NNPL -nonpros:NNPR:NNPR -nonsked:NNSK:NNSK -nonskid:NNSK:NNSK -nonslip:NNSL:NNSL -nonstop:NNST:NNST -nonsuit:NNST:NNST -nonterm:NNTR:NNTR -nontrad:NNTR:NNTR -nonunit:NNNT:NNNT -nonuser:NNSR:NNSR -nonvote:NNFT:NNFT -nonwork:NNRK:NNRK -nonzero:NNSR:NNSR -noodles:NTLS:NTLS -noology:NLJ:NLK -noonday:NNT:NNT -noosing:NSNK:NSNK -norfolk:NRFL:NRFL -normals:NRML:NRML -normans:NRMN:NRMN -northam:NRTM:NRTM -norther:NR0R:NRTR -nosebag:NSPK:NSPK -nosegay:NSK:NSK -noshers:NXRS:NXRS -noshing:NXNK:NXNK -nosiest:NSST:NSST -nosters:NSTR:NSTR -nostril:NSTR:NSTR -nostrum:NSTR:NSTR -notable:NTPL:NTPL -notably:NTPL:NTPL -notanda:NTNT:NTNT -notated:NTTT:NTTT -notates:NTTS:NTTS -notched:NXT:NXT -notches:NXS:NXS -notedly:NTTL:NTTL -notelet:NTLT:NTLT -nothing:N0NK:NTNK -noticed:NTST:NTST -notices:NTSS:NTSS -notions:NXNS:NXNS -notitia:NTX:NTX -nougats:NKTS:NKTS -noughts:NKTS:NKTS -noumena:NMN:NMN -nourish:NRX:NRX -nouveau:NF:NF -novalia:NFL:NFL -novated:NFTT:NFTT -novates:NFTS:NFTS -novella:NFL:NFL -novelle:NFL:NFL -novelly:NFL:NFL -novelty:NFLT:NFLT -novenae:NFN:NFN -novenas:NFNS:NFNS -novices:NFSS:NFSS -nowhere:NR:NR -noxious:NKSS:NKSS -nozzled:NSLT:NSLT -nozzles:NSLS:NSLS -nuanced:NNST:NNST -nuances:NNSS:NNSS -nubbins:NPNS:NPNS -nubibus:NPPS:NPPS -nucelli:NSL:NSL -nucleal:NKLL:NKLL -nuclear:NKLR:NKLR -nucleic:NKLK:NKLK -nuclein:NKLN:NKLN -nucleon:NKLN:NKLN -nucleus:NKLS:NKLS -nuclide:NKLT:NKLT -nudgers:NJRS:NJRS -nudging:NJNK:NJNK -nudists:NTST:NTST -nuggets:NKTS:NKTS -nuggety:NKT:NKT -nullary:NLR:NLR -nullify:NLF:NLF -nullity:NLT:NLT -nullius:NLS:NLS -numbers:NMRS:NMRS -numbest:NMPS:NMPS -numbing:NMPN:NMPN -numbles:NMPL:NMPL -numeral:NMRL:NMRL -numeric:NMRK:NMRK -numerus:NMRS:NMRS -nummary:NMR:NMR -nunatak:NNTK:NNTK -nunbuoy:NNP:NNP -nuncios:NNSS:NNXS -nunhood:NNT:NNT -nunnery:NNR:NNR -nunnish:NNX:NNX -nunquam:NNKM:NNKM -nuptial:NPXL:NPXL -nursers:NRSR:NRSR -nursery:NRSR:NRSR -nursing:NRSN:NRSN -nurture:NRTR:NRTR -nutated:NTTT:NTTT -nutgall:NTKL:NTKL -nutlets:NTLT:NTLT -nutmeat:NTMT:NTMT -nutmegs:NTMK:NTMK -nutpick:NTPK:NTPK -nutrias:NTRS:NTRS -nutters:NTRS:NTRS -nuttier:NT:NTR -nuttily:NTL:NTL -nutting:NTNK:NTNK -nuzzled:NSLT:NSLT -nuzzler:NSLR:NSLR -nuzzles:NSLS:NSLS -nylghau:NLK:NLK -nymphae:NMF:NMF -nymphal:NMFL:NMFL -nymphes:NMFS:NMFS -nymphet:NMFT:NMFT -nymphos:NMFS:NMFS -oakland:AKLN:AKLN -oarfish:ARFX:ARFX -oarless:ARLS:ARLS -oarlike:ARLK:ARLK -oarlock:ARLK:ARLK -oarsman:ARSM:ARSM -oarsmen:ARSM:ARSM -oarweed:ART:ART -oatcake:ATKK:ATKK -oatmeal:ATML:ATML -obadiah:APT:APT -obconic:APKN:APKN -obeliac:APLK:APLK -obelial:APLL:APLL -obelion:APLN:APLN -obelisk:APLS:APLS -obelize:APLS:APLS -oberted:APRT:APRT -obesity:APST:APST -obeyers:APRS:APRS -obeying:APNK:APNK -obitual:APTL:APTL -objects:APJK:APJK -oblatio:APLT:APLT -obliged:APLJ:APLK -obligee:APLJ:APLK -obliger:APLJ:APLK -obliges:APLJ:APLK -obligor:APLK:APLK -oblique:APLK:APLK -oblongs:APLN:APLN -obloquy:APLK:APLK -oboists:APST:APST -obovate:APFT:APFT -obovoid:APFT:APFT -obscene:APSN:APSN -obscura:APSK:APSK -obscure:APSK:APSK -obsequy:APSK:APSK -observe:APSR:APSR -obtains:APTN:APTN -obtrude:APTR:APTR -obverse:APFR:APFR -obverts:APFR:APFR -obviate:APFT:APFT -obvious:APFS:APFS -ocarina:AKRN:AKRN -occiput:AXPT:AXPT -occlude:AKLT:AKLT -oceango:ASNK:ASNK -oceanic:ASNK:ASNK -ocellar:ASLR:ASLR -ocellus:ASLS:ASLS -ocelots:ASLT:ASLT -ochroid:AKRT:AKRT -ochrous:AKRS:AKRS -o'clock:AKLK:AKLK -ocreate:AKRT:AKRT -octadic:AKTT:AKTT -octagon:AKTK:AKTK -octanes:AKTN:AKTN -octants:AKTN:AKTN -octaves:AKTF:AKTF -octavos:AKTF:AKTF -october:AKTP:AKTP -octopod:AKTP:AKTP -octopus:AKTP:AKTP -octuple:AKTP:AKTP -oculist:AKLS:AKLS -oddball:ATPL:ATPL -oddment:ATMN:ATMN -oddness:ATNS:ATNS -odorant:ATRN:ATRN -odorful:ATRF:ATRF -odorous:ATRS:ATRS -odyssey:ATS:ATS -oedemas:ATMS:ATMS -oedipal:ATPL:ATPL -oedipus:ATPS:ATPS -oenomel:ANML:ANML -oersted:ARST:ARST -oestral:ASTR:ASTR -oestrid:ASTR:ASTR -oestrin:ASTR:ASTR -oestrum:ASTR:ASTR -oestrus:ASTR:ASTR -offbeat:AFPT:AFPT -offcuts:AFKT:AFKT -offence:AFNS:AFNS -offends:AFNT:AFNT -offense:AFNS:AFNS -offered:AFRT:AFRT -offeree:AFR:AFR -offerer:AFRR:AFRR -offeror:AFRR:AFRR -offhand:AFNT:AFNT -officer:AFSR:AFSR -offices:AFSS:AFSS -officii:AFS:AFS -officio:AFS:AFX -offsets:AFST:AFST -offside:AFST:AFST -offtake:AFTK:AFTK -oftener:AFTN:AFTN -ogreish:AKRX:AKRX -ogygian:AJJN:AKKN -ohioans:AHNS:AHNS -oilbird:ALPR:ALPR -oilcans:ALKN:ALKN -oilcups:ALKP:ALKP -oilheat:ALT:ALT -oiliest:ALST:ALST -oilseed:ALST:ALST -oilskin:ALSK:ALSK -oinking:ANKN:ANKN -ojibwas:AJPS:AJPS -okaying:AKNK:AKNK -okinawa:AKN:AKN -oldness:ALTN:ALTN -oldster:ALTS:ALTS -olefine:ALFN:ALFN -olivary:ALFR:ALFR -olivers:ALFR:ALFR -olivine:ALFN:ALFN -ologies:ALJS:ALKS -oloroso:ALRS:ALRS -olympia:ALMP:ALMP -olympic:ALMP:ALMP -olympus:ALMP:ALMP -omelets:AMLT:AMLT -omening:AMNN:AMNN -omental:AMNT:AMNT -omentum:AMNT:AMNT -omicron:AMKR:AMKR -ominous:AMNS:AMNS -omissus:AMSS:AMSS -omitted:AMTT:AMTT -omitter:AMTR:AMTR -omnibus:AMNP:AMNP -omphali:AMFL:AMFL -onanism:ANNS:ANNS -onanist:ANNS:ANNS -onboard:ANPR:ANPR -oneidas:ANTS:ANTS -o'neill:ANL:ANL -oneiric:ANRK:ANRK -oneness:ANNS:ANNS -onerous:ANRS:ANRS -oneself:ANSL:ANSL -onetime:ANTM:ANTM -ongoing:ANKN:ANKN -onshore:ANXR:ANXR -ontario:ANTR:ANTR -onwards:ANRT:ANRT -onychia:ANK:ANK -onymous:ANMS:ANMS -ooblast:APLS:APLS -oogonia:AKN:AKN -oolemma:ALM:ALM -oolitic:ALTK:ALTK -oophyte:AFT:AFT -ooplasm:APLS:APLS -oosperm:ASPR:ASPR -oospora:ASPR:ASPR -oospore:ASPR:ASPR -ootheca:A0K:ATK -ooziest:ASST:ASST -opacify:APSF:APSF -opacity:APST:APST -opaline:APLN:APLN -opaqued:APKT:APKT -opaquer:APKR:APKR -opaques:APKS:APKS -openers:APNR:APNR -opening:APNN:APNN -operand:APRN:APRN -operant:APRN:APRN -operata:APRT:APRT -operate:APRT:APRT -ophidia:AFT:AFT -ophitic:AFTK:AFTK -ophryon:AFRN:AFRN -opiated:APTT:APTT -opiates:APTS:APTS -opiners:APNR:APNR -opining:APNN:APNN -opinion:APNN:APNN -opossum:APSM:APSM -oppidan:APTN:APTN -opposed:APST:APST -opposer:APSR:APSR -opposes:APSS:APSS -oppress:APRS:APRS -opsonic:APSN:APSN -opsonin:APSN:APSN -optated:APTT:APTT -optical:APTK:APTK -optimal:APTM:APTM -optimum:APTM:APTM -options:APXN:APXN -opulent:APLN:APLN -opuntia:APNX:APNX -oracles:ARKL:ARKL -orality:ARLT:ARLT -oralogy:ARLJ:ARLK -oranges:ARNJ:ARNK -orating:ARTN:ARTN -oration:ARXN:ARXN -orators:ARTR:ARTR -oratory:ARTR:ARTR -orbital:ARPT:ARPT -orbited:ARPT:ARPT -orbiter:ARPT:ARPT -orchard:ARXR:ARKR -orchids:ARKT:ARKT -orchist:ARXS:ARKS -orcinol:ARSN:ARSN -ordains:ARTN:ARTN -ordeals:ARTL:ARTL -ordered:ARTR:ARTR -orderer:ARTR:ARTR -orderly:ARTR:ARTR -ordinal:ARTN:ARTN -ordinee:ARTN:ARTN -ordinis:ARTN:ARTN -orectic:ARKT:ARKT -oregano:ARKN:ARKN -organdy:ARKN:ARKN -organic:ARKN:ARKN -organon:ARKN:ARKN -organum:ARKN:ARKN -organza:ARKN:ARKN -orgasms:ARKS:ARKS -orients:ARNT:ARNT -orifice:ARFS:ARFS -origami:ARKM:ARKM -origins:ARJN:ARKN -orioles:ARLS:ARLS -orionid:ARNT:ARNT -orisons:ARSN:ARSN -orlando:ARLN:ARLN -orleans:ARLN:ARLN -orogeny:ARJN:ARKN -orology:ARLJ:ARLK -orotund:ARTN:ARTN -orphans:ARFN:ARFN -orphean:ARFN:ARFN -orpheus:ARFS:ARFS -orphrey:ARFR:ARFR -orrises:ARSS:ARSS -ortolan:ARTL:ARTL -osazone:ASSN:ASSN -oscular:ASKL:ASKL -osculum:ASKL:ASKL -osmatic:ASMT:ASMT -osmesis:ASMS:ASMS -osmolal:ASML:ASML -osmolar:ASML:ASML -osmosed:ASMS:ASMS -osmoses:ASMS:ASMS -osmosis:ASMS:ASMS -osmotic:ASMT:ASMT -osmunda:ASMN:ASMN -ospreys:ASPR:ASPR -osselet:ASLT:ASLT -osseous:ASS:ASS -ossicle:ASKL:ASKL -ossific:ASFK:ASFK -ossuary:ASR:ASR -osteoid:ASTT:ASTT -osteoma:ASTM:ASTM -ostiary:ASXR:ASXR -ostiole:ASTL:ASTL -ostmark:ASTM:ASTM -ostosis:ASTS:ASTS -ostrich:ASTR:ASTR -otalgia:ATLJ:ATLK -otalgic:ATLJ:ATLK -otobius:ATPS:ATPS -otocyst:ATSS:ATSS -otolith:ATL0:ATLT -otology:ATLJ:ATLK -ototomy:ATTM:ATTM -ottawas:ATS:ATS -ottoman:ATMN:ATMN -ouabain:APN:APN -ourself:ARSL:ARSL -ousters:ASTR:ASTR -ousting:ASTN:ASTN -outacts:ATKT:ATKT -outages:ATJS:ATKS -outback:ATPK:ATPK -outbidd:ATPT:ATPT -outbids:ATPT:ATPT -outbred:ATPR:ATPR -outcast:ATKS:ATKS -outcome:ATKM:ATKM -outcrop:ATKR:ATKR -outdare:ATR:ATR -outdate:ATT:ATT -outdoes:ATS:ATS -outdone:ATN:ATN -outdoor:ATR:ATR -outeats:ATTS:ATTS -outface:ATFS:ATFS -outfall:ATFL:ATFL -outfits:ATFT:ATFT -outflew:ATFL:ATFL -outflow:ATFL:ATFL -outfoot:ATFT:ATFT -outgoer:ATKR:ATKR -outgoes:ATKS:ATKS -outgone:ATKN:ATKN -outgrew:ATKR:ATKR -outgrow:ATKR:ATKR -outguns:ATKN:ATKN -outhaul:A0L:ATL -outhits:A0TS:ATTS -outings:ATNK:ATNK -outjump:ATJM:ATJM -outlaid:ATLT:ATLT -outland:ATLN:ATLN -outlast:ATLS:ATLS -outlaws:ATLS:ATLS -outlays:ATLS:ATLS -outleap:ATLP:ATLP -outlets:ATLT:ATLT -outlier:ATL:ATLR -outline:ATLN:ATLN -outlive:ATLF:ATLF -outlook:ATLK:ATLK -outmans:ATMN:ATMN -outmode:ATMT:ATMT -outmost:ATMS:ATMS -outness:ATNS:ATNS -outpace:ATPS:ATPS -outplay:ATPL:ATPL -outport:ATPR:ATPR -outpost:ATPS:ATPS -outpour:ATPR:ATPR -outputs:ATPT:ATPT -outrace:ATRS:ATRS -outrage:ATRJ:ATRK -outrank:ATRN:ATRN -outride:ATRT:ATRT -outrode:ATRT:ATRT -outroot:ATRT:ATRT -outruns:ATRN:ATRN -outrush:ATRX:ATRX -outsang:ATSN:ATSN -outsell:ATSL:ATSL -outsert:ATSR:ATSR -outshot:ATXT:ATXT -outside:ATST:ATST -outsing:ATSN:ATSN -outsits:ATST:ATST -outsize:ATSS:ATSS -outsold:ATSL:ATSL -outsole:ATSL:ATSL -outstay:ATST:ATST -outstep:ATST:ATST -outsung:ATSN:ATSN -outswam:ATSM:ATSM -outswim:ATSM:ATSM -outswum:ATSM:ATSM -outtake:ATK:ATK -outtalk:ATLK:ATLK -outturn:ATRN:ATRN -outvote:ATFT:ATFT -outwalk:ATLK:ATLK -outward:ATRT:ATRT -outwash:ATX:ATX -outwear:ATR:ATR -outwill:ATL:ATL -outwith:AT0:ATT -outwits:ATTS:ATTS -outwore:ATR:ATR -outwork:ATRK:ATRK -outworn:ATRN:ATRN -outyell:ATL:ATL -ovality:AFLT:AFLT -ovarial:AFRL:AFRL -ovarian:AFRN:AFRN -ovaries:AFRS:AFRS -ovately:AFTL:AFTL -ovation:AFXN:AFXN -overact:AFRK:AFRK -overage:AFRJ:AFRK -overall:AFRL:AFRL -overarm:AFRR:AFRR -overate:AFRT:AFRT -overawe:AFR:AFR -overbid:AFRP:AFRP -overbuy:AFRP:AFRP -overdid:AFRT:AFRT -overdub:AFRT:AFRT -overdue:AFRT:AFRT -overdye:AFRT:AFRT -overeat:AFRT:AFRT -overfar:AFRF:AFRF -overfed:AFRF:AFRF -overfly:AFRF:AFRF -overhan:AFRN:AFRN -overhun:AFRN:AFRN -overjet:AFRJ:AFRJ -overjoy:AFRJ:AFRJ -overlap:AFRL:AFRL -overlay:AFRL:AFRL -overlie:AFRL:AFRL -overlon:AFRL:AFRL -overman:AFRM:AFRM -overmen:AFRM:AFRM -overpay:AFRP:AFRP -overran:AFRN:AFRN -overrun:AFRN:AFRN -oversaw:AFRS:AFRS -oversee:AFRS:AFRS -overset:AFRS:AFRS -oversew:AFRS:AFRS -oversex:AFRS:AFRS -overtax:AFRT:AFRT -overtly:AFRT:AFRT -overtop:AFRT:AFRT -overuse:AFRS:AFRS -oviduct:AFTK:AFTK -oviform:AFFR:AFFR -ovocyte:AFST:AFST -ovology:AFLJ:AFLK -ovulate:AFLT:AFLT -oxalate:AKSL:AKSL -oxamide:AKSM:AKSM -oxazine:AKSS:AKSS -oxblood:AKSP:AKSP -oxfords:AKSF:AKSF -oxhides:AKST:AKST -oxidant:AKST:AKST -oxidase:AKST:AKST -oxidize:AKST:AKST -oxonian:AKSN:AKSN -oxonium:AKSN:AKSN -oxyacid:AKSS:AKSS -oxygens:AKSJ:AKSK -oxymora:AKSM:AKSM -oxyntic:AKSN:AKSN -oxyopia:AKSP:AKSP -oxyphil:AKSF:AKSF -oxysalt:AKSS:AKSS -oxysome:AKSS:AKSS -oxytone:AKST:AKST -oxyuric:AKSR:AKSR -oxyurid:AKSR:AKSR -oxyuris:AKSR:AKSR -oyesses:ASS:ASS -oysters:ASTR:ASTR -oystery:ASTR:ASTR -ozonide:ASNT:ASNT -ozonize:ASNS:ASNS -ozonous:ASNS:ASNS -pabulum:PPLM:PPLM -paciest:PSST:PXST -pacific:PSFK:PSFK -package:PKJ:PKK -packers:PKRS:PKRS -packets:PKTS:PKTS -packing:PKNK:PKNK -packman:PKMN:PKMN -paction:PKXN:PKXN -padders:PTRS:PTRS -paddies:PTS:PTS -padding:PTNK:PTNK -paddled:PTLT:PTLT -paddler:PTLR:PTLR -paddles:PTLS:PTLS -paddock:PTK:PTK -padlock:PTLK:PTLK -padrone:PTRN:PTRN -paellas:PLS:PLS -paeonic:PNK:PNK -pageant:PJNT:PKNT -pageboy:PJP:PKP -paginal:PJNL:PKNL -pagodas:PKTS:PKTS -pailful:PLFL:PLFL -painful:PNFL:PNFL -paining:PNNK:PNNK -painted:PNTT:PNTT -painter:PNTR:PNTR -pairing:PRNK:PRNK -paisley:PL:PL -pajamas:PJMS:PHMS -palaces:PLSS:PLSS -paladin:PLTN:PLTN -palatal:PLTL:PLTL -palates:PLTS:PLTS -palatum:PLTM:PLTM -palaver:PLFR:PLFR -palette:PLT:PLT -palfrey:PLFR:PLFR -palings:PLNK:PLNK -pallets:PLTS:PLTS -pallial:PLL:PLL -pallier:PL:PLR -palling:PLNK:PLNK -pallium:PLM:PLM -pallors:PLRS:PLRS -palmary:PLMR:PLMR -palmate:PLMT:PLMT -palmers:PLMR:PLMR -palmier:PLM:PLMR -palming:PLMN:PLMN -palmist:PLMS:PLMS -palmyra:PLMR:PLMR -palpate:PLPT:PLPT -palsied:PLST:PLST -palsies:PLSS:PLSS -palters:PLTR:PLTR -paludal:PLTL:PLTL -pampaen:PMPN:PMPN -pampero:PMPR:PMPR -pampers:PMPR:PMPR -panacea:PNS:PNS -panache:PNX:PNK -pancake:PNKK:PNKK -panchax:PNXK:PNKK -pandect:PNTK:PNTK -panders:PNTR:PNTR -pandora:PNTR:PNTR -paneled:PNLT:PNLT -panfish:PNFX:PNFX -panicky:PNK:PNK -panicle:PNKL:PNKL -pannage:PNJ:PNK -pannier:PN:PNR -panning:PNNK:PNNK -panoply:PNPL:PNPL -pansies:PNSS:PNSS -panther:PN0R:PNTR -panties:PNTS:PNTS -pantile:PNTL:PNTL -panting:PNTN:PNTN -pantoum:PNTM:PNTM -panzers:PNSR:PNSR -papains:PPNS:PPNS -papally:PPL:PPL -papaver:PPFR:PPFR -papayan:PPN:PPN -papayas:PPS:PPS -papered:PPRT:PPRT -paperer:PPRR:PPRR -papilla:PPL:PPL -papists:PPST:PPST -papoose:PPS:PPS -pappier:PP:PPR -pappose:PPS:PPS -pappous:PPS:PPS -paprika:PPRK:PPRK -papuans:PPNS:PPNS -papular:PPLR:PPLR -papules:PPLS:PPLS -papyrus:PPRS:PPRS -parable:PRPL:PRPL -paraded:PRTT:PRTT -parader:PRTR:PRTR -parades:PRTS:PRTS -parados:PRTS:PRTS -paradox:PRTK:PRTK -paragon:PRKN:PRKN -paramor:PRMR:PRMR -paramos:PRMS:PRMS -paranee:PRN:PRN -parapet:PRPT:PRPT -parasol:PRSL:PRSL -paratus:PRTS:PRTS -parazoa:PRS:PRS -parboil:PRPL:PRPL -parcels:PRSL:PRSL -parched:PRXT:PRKT -parches:PRXS:PRKS -pardons:PRTN:PRTN -pareira:PRR:PRR -parents:PRNT:PRNT -parerga:PRRK:PRRK -pareses:PRSS:PRSS -paresis:PRSS:PRSS -paretic:PRTK:PRTK -parfait:PRFT:PRFT -pargets:PRKT:PRKT -pariahs:PRS:PRS -paribus:PRPS:PRPS -parieto:PRT:PRT -parings:PRNK:PRNK -parison:PRSN:PRSN -parkers:PRKR:PRKR -parkier:PRKR:PRKR -parking:PRKN:PRKN -parkway:PRK:PRK -parlays:PRLS:PRLS -parleys:PRLS:PRLS -parlors:PRLR:PRLR -parlour:PRLR:PRLR -parlous:PRLS:PRLS -parodic:PRTK:PRTK -paroled:PRLT:PRLT -parolee:PRL:PRL -paroler:PRLR:PRLR -paroles:PRLS:PRLS -paronym:PRNM:PRNM -parotic:PRTK:PRTK -parotid:PRTT:PRTT -parquet:PRKT:PRKT -parrels:PRLS:PRLS -parried:PRT:PRT -parries:PRS:PRS -parring:PRNK:PRNK -parrots:PRTS:PRTS -parsecs:PRSK:PRSK -parsers:PRSR:PRSR -parsing:PRSN:PRSN -parsley:PRSL:PRSL -parsnip:PRSN:PRSN -parsons:PRSN:PRSN -partake:PRTK:PRTK -parters:PRTR:PRTR -partial:PRXL:PRXL -partido:PRTT:PRTT -partied:PRTT:PRTT -parties:PRTS:PRTS -parting:PRTN:PRTN -partita:PRTT:PRTT -partite:PRTT:PRTT -partner:PRTN:PRTN -partons:PRTN:PRTN -partook:PRTK:PRTK -partway:PRT:PRT -parulis:PRLS:PRLS -parvenu:PRFN:PRFN -parvule:PRFL:PRFL -pascals:PSKL:PSKL -paschal:PXL:PXL -passade:PST:PST -passage:PSJ:PSK -passant:PSNT:PSNT -passers:PSRS:PSRS -passing:PSNK:PSNK -passion:PSN:PSN -passive:PSF:PSF -passkey:PSK:PSK -passway:PS:PS -pastels:PSTL:PSTL -pastern:PSTR:PSTR -pasters:PSTR:PSTR -pasteur:PSTR:PSTR -pastier:PST:PSTR -pasties:PSTS:PSTS -pastily:PSTL:PSTL -pastime:PSTM:PSTM -pasting:PSTN:PSTN -pastors:PSTR:PSTR -pasture:PSTR:PSTR -patagia:PTJ:PTK -patched:PXT:PXT -patcher:PXR:PXR -patches:PXS:PXS -patella:PTL:PTL -patency:PTNS:PTNS -patents:PTNT:PTNT -paterna:PTRN:PTRN -pathway:P0:PT -patient:PTNT:PTNT -patinas:PTNS:PTNS -patriae:PTR:PTR -patrial:PTRL:PTRL -patrick:PTRK:PTRK -patriot:PTRT:PTRT -patrols:PTRL:PTRL -patrons:PTRN:PTRN -patsies:PTSS:PTSS -pattern:PTRN:PTRN -patters:PTRS:PTRS -patties:PTS:PTS -patting:PTNK:PTNK -patulin:PTLN:PTLN -paucity:PST:PST -pauline:PLN:PLN -paultry:PLTR:PLTR -paunchy:PNX:PNK -paupers:PPRS:PPRS -pausing:PSNK:PSNK -pavings:PFNK:PFNK -paviors:PFRS:PFRS -pawkily:PKL:PKL -pawnage:PNJ:PNK -pawnees:PNS:PNS -pawning:PNNK:PNNK -pawpaws:PPS:PPS -payable:PPL:PPL -payback:PPK:PPK -payload:PLT:PLT -payment:PMNT:PMNT -payoffs:PFS:PFS -payroll:PRL:PRL -peabody:PPT:PPT -peached:PXT:PKT -peacher:PXR:PKR -peaches:PXS:PKS -peacock:PKK:PKK -peafowl:PFL:PFL -peahens:PHNS:PHNS -peaking:PKNK:PKNK -peakish:PKX:PKX -pealike:PLK:PLK -pealing:PLNK:PLNK -peanuts:PNTS:PNTS -pearing:PRNK:PRNK -pearler:PRLR:PRLR -pearman:PRMN:PRMN -peasant:PSNT:PSNT -peascod:PSKT:PSKT -peatier:PT:PTR -pebbled:PPLT:PPLT -pebbles:PPLS:PPLS -pebrine:PPRN:PPRN -peccant:PKNT:PKNT -peccary:PKR:PKR -peccavi:PKF:PKF -peckers:PKRS:PKRS -pecking:PKNK:PKNK -peckish:PKX:PKX -pectase:PKTS:PKTS -pectate:PKTT:PKTT -pectens:PKTN:PKTN -pectize:PKTS:PKTS -pectora:PKTR:PKTR -pectore:PKTR:PKTR -pectose:PKTS:PKTS -peculia:PKL:PKL -pecunia:PKN:PKN -pedaled:PTLT:PTLT -pedalos:PTLS:PTLS -pedants:PTNT:PTNT -peddlar:PTLR:PTLR -peddled:PTLT:PTLT -peddler:PTLR:PTLR -peddles:PTLS:PTLS -pedicab:PTKP:PTKP -pedicel:PTSL:PTSL -pedicle:PTKL:PTKL -pedlars:PTLR:PTLR -pedlary:PTLR:PTLR -pedocal:PTKL:PTKL -peeking:PKNK:PKNK -peelers:PLRS:PLRS -peeling:PLNK:PLNK -peening:PNNK:PNNK -peepers:PPRS:PPRS -peeping:PPNK:PPNK -peerage:PRJ:PRK -peeress:PRS:PRS -peering:PRNK:PRNK -peeving:PFNK:PFNK -peevish:PFX:PFX -peewees:PS:PS -pegasus:PKSS:PKSS -pegging:PKNK:PKNK -peiping:PPNK:PPNK -pelagic:PLJK:PLKK -pelican:PLKN:PLKN -pelisse:PLS:PLS -pelitic:PLTK:PLTK -pellets:PLTS:PLTS -pelmets:PLMT:PLMT -peloria:PLR:PLR -peloric:PLRK:PLRK -pelorus:PLRS:PLRS -peltate:PLTT:PLTT -pelters:PLTR:PLTR -peltier:PLT:PLTR -pelting:PLTN:PLTN -penally:PNL:PNL -penalty:PNLT:PNLT -penance:PNNS:PNNS -penates:PNTS:PNTS -pencils:PNSL:PNSL -pendant:PNTN:PNTN -pendens:PNTN:PNTN -pendent:PNTN:PNTN -pending:PNTN:PNTN -pendule:PNTL:PNTL -penguin:PNKN:PNKN -penhold:PNLT:PNLT -pennant:PNNT:PNNT -pennate:PNT:PNT -pennies:PNS:PNS -penning:PNNK:PNNK -pennons:PNNS:PNNS -pensile:PNSL:PNSL -pension:PNSN:PNXN -pensive:PNSF:PNSF -pentads:PNTT:PNTT -pentane:PNTN:PNTN -pentene:PNTN:PNTN -pentode:PNTT:PNTT -pentose:PNTS:PNTS -penuche:PNX:PNK -peonage:PNJ:PNK -peonies:PNS:PNS -peopled:PPLT:PPLT -peoples:PPLS:PPLS -peplums:PPLM:PPLM -peppers:PPRS:PPRS -peppery:PPR:PPR -peppier:PP:PPR -peppily:PPL:PPL -pepping:PPNK:PPNK -peptide:PPTT:PPTT -peptize:PPTS:PPTS -peptone:PPTN:PPTN -peracid:PRST:PRST -percale:PRKL:PRKL -percent:PRSN:PRSN -percept:PRSP:PRSP -perched:PRXT:PRKT -percher:PRXR:PRKR -perches:PRXS:PRKS -percoid:PRKT:PRKT -percuss:PRKS:PRKS -perfect:PRFK:PRFK -perfidy:PRFT:PRFT -perform:PRFR:PRFR -perfume:PRFM:PRFM -perfuse:PRFS:PRFS -pergola:PRKL:PRKL -perhaps:PRPS:PRPS -periapt:PRPT:PRPT -peridia:PRT:PRT -peridot:PRTT:PRTT -perigee:PRJ:PRK -perigon:PRKN:PRKN -periled:PRLT:PRLT -perinea:PRN:PRN -periods:PRTS:PRTS -periost:PRST:PRST -perique:PRK:PRK -periwig:PRK:PRK -perjure:PRJR:PRJR -perjury:PRJR:PRJR -perkier:PRKR:PRKR -perkily:PRKL:PRKL -perking:PRKN:PRKN -perlite:PRLT:PRLT -permian:PRMN:PRMN -permits:PRMT:PRMT -permute:PRMT:PRMT -peronei:PRN:PRN -peropus:PRPS:PRPS -peroral:PRRL:PRRL -peroses:PRSS:PRSS -perosis:PRSS:PRSS -perotic:PRTK:PRTK -perpend:PRPN:PRPN -perplex:PRPL:PRPL -perries:PRS:PRS -persalt:PRSL:PRSL -perseid:PRST:PRST -perseus:PRSS:PRSS -persian:PRSN:PRXN -persist:PRSS:PRSS -persona:PRSN:PRSN -persons:PRSN:PRSN -perspex:PRSP:PRSP -pertain:PRTN:PRTN -pertest:PRTS:PRTS -perturb:PRTR:PRTR -peruana:PRN:PRN -perusal:PRSL:PRSL -perused:PRST:PRST -peruser:PRSR:PRSR -peruses:PRSS:PRSS -pervade:PRFT:PRFT -pervert:PRFR:PRFR -pesades:PSTS:PSTS -pesetas:PSTS:PSTS -peskier:PSKR:PSKR -pessary:PSR:PSR -pesters:PSTR:PSTR -pestled:PSTL:PSTL -pestles:PSTL:PSTL -petaled:PTLT:PTLT -petards:PTRT:PTRT -petcock:PTKK:PTKK -peteers:PTRS:PTRS -petered:PTRT:PTRT -petiole:PTL:PTL -petioli:PTL:PTL -petites:PTTS:PTTS -petitio:PTT:PTT -petitur:PTTR:PTTR -petrels:PTRL:PTRL -petrify:PTRF:PTRF -petrosa:PTRS:PTRS -petrous:PTRS:PTRS -petters:PTRS:PTRS -pettier:PT:PTR -pettifo:PTF:PTF -pettily:PTL:PTL -petting:PTNK:PTNK -pettish:PTX:PTX -petunia:PTN:PTN -peugeot:PJT:PKT -pfennig:PFNK:PFNK -phaeton:FTN:FTN -phalanx:FLNK:FLNK -phallic:FLK:FLK -phallus:FLS:FLS -phantom:FNTM:FNTM -pharaoh:FR:FR -pharynx:FRNK:FRNK -phaseal:FSL:FSL -phasers:FSRS:FSRS -phasing:FSNK:FSNK -phasmid:FSMT:FSMT -phellem:FLM:FLM -phenate:FNT:FNT -phenols:FNLS:FNLS -phenoxy:FNKS:FNKS -philate:FLT:FLT -philter:FLTR:FLTR -philtra:FLTR:FLTR -phlegmy:FLKM:FLKM -phloxes:FLKS:FLKS -phobiac:FPK:FPK -phobias:FPS:FPS -phobism:FPSM:FPSM -phocine:FSN:FSN -phoebes:FPS:FPS -phoenix:FNKS:FNKS -phonate:FNT:FNT -phoneme:FNM:FNM -phonics:FNKS:FNKS -phonier:FN:FNR -phonies:FNS:FNS -phoning:FNNK:FNNK -phonism:FNSM:FNSM -phoresy:FRS:FRS -phormia:FRM:FRM -photism:FTSM:FTSM -photons:FTNS:FTNS -phrasal:FRSL:FRSL -phrased:FRST:FRST -phrases:FRSS:FRSS -phratry:FRTR:FRTR -phrenes:FRNS:FRNS -phrenic:FRNK:FRNK -phrensy:FRNS:FRNS -phrynin:FRNN:FRNN -phyllis:FLS:FLS -phymata:FMT:FMT -physick:FSK:FSK -physics:FSKS:FSKS -phytase:FTS:FTS -phytoid:FTT:FTT -piaffes:PFS:PFS -pianism:PNSM:PNSM -pianist:PNST:PNST -pianola:PNL:PNL -piaster:PSTR:PSTR -piazzas:PSS:PTSS -pibroch:PPRK:PPRK -picador:PKTR:PKTR -picasso:PKS:PKS -piccage:PKJ:PKK -piccolo:PKL:PKL -piceous:PSS:PSS -pickage:PKJ:PKK -pickaxe:PKKS:PKKS -pickers:PKRS:PKRS -pickets:PKTS:PKTS -pickier:PKR:PKR -pickily:PKL:PKL -picking:PKNK:PKNK -pickled:PKLT:PKLT -pickler:PKLR:PKLR -pickles:PKLS:PKLS -pickups:PKPS:PKPS -picnics:PKNK:PKNK -picotee:PKT:PKT -picrate:PKRT:PKRT -picrite:PKRT:PKRT -pictish:PKTX:PKTX -picture:PKTR:PKTR -piddled:PTLT:PTLT -piddler:PTLR:PTLR -piddles:PTLS:PTLS -piddock:PTK:PTK -piebald:PPLT:PPLT -piecers:PSRS:PSRS -piecing:PSNK:PSNK -pierage:PRJ:PRK -pierced:PRST:PRST -piercer:PRSR:PRSR -pierces:PRSS:PRSS -pierrot:PRT:PRT -pieties:PTS:PTS -pietism:PTSM:PTSM -pietist:PTST:PTST -pigeons:PJNS:PKNS -pigfish:PKFX:PKFX -piggery:PKR:PKR -piggier:PK:PKR -piggies:PKS:PKS -pigging:PKNK:PKNK -piggish:PKX:PKX -pighead:PT:PT -piglets:PKLT:PKLT -pigling:PKLN:PLNK -pigment:PKMN:PKMN -pigpens:PKPN:PKPN -pigskin:PKSK:PKSK -pigtail:PKTL:PKTL -pigweed:PKT:PKT -pikelet:PKLT:PKLT -pilaffs:PLFS:PLFS -pileate:PLT:PLT -pileous:PLS:PLS -pileups:PLPS:PLPS -pilfers:PLFR:PLFR -pilgrim:PLKR:PLKR -piligan:PLKN:PLKN -pilings:PLNK:PLNK -pillage:PLJ:PLK -pillars:PLRS:PLRS -pillbox:PLPK:PLPK -pilling:PLNK:PLNK -pillion:PLN:PLN -pillory:PLR:PLR -pillows:PLS:PLS -pillowy:PL:PL -pillute:PLT:PLT -pilosis:PLSS:PLSS -piloted:PLTT:PLTT -pilsner:PLSN:PLSN -pilular:PLLR:PLLR -pimelic:PMLK:PMLK -pimento:PMNT:PMNT -pimping:PMPN:PMPN -pimpled:PMPL:PMPL -pimples:PMPL:PMPL -pinball:PNPL:PNPL -pinbone:PNPN:PNPN -pincers:PNSR:PNSR -pinched:PNXT:PNKT -pincher:PNXR:PNKR -pinches:PNXS:PNKS -pinesap:PNSP:PNSP -pinetum:PNTM:PNTM -pinfall:PNFL:PNFL -pinfish:PNFX:PNFX -pinfold:PNFL:PNFL -pingers:PNKR:PNJR -pinging:PNJN:PNKN -pinguid:PNKT:PNKT -pinhead:PNT:PNT -pinhole:PNL:PNL -piniest:PNST:PNST -pinions:PNNS:PNNS -pinkest:PNKS:PNKS -pinkeye:PNK:PNK -pinkies:PNKS:PNKS -pinking:PNKN:PNKN -pinkish:PNKX:PNKX -pinnace:PNS:PNS -pinnaes:PNS:PNS -pinnate:PNT:PNT -pinners:PNRS:PNRS -pinnies:PNS:PNS -pinning:PNNK:PNNK -pinnule:PNL:PNL -pinones:PNNS:PNNS -pintail:PNTL:PNTL -pintoes:PNTS:PNTS -pinwork:PNRK:PNRK -pinworm:PNRM:PNRM -pioneer:PNR:PNR -piously:PSL:PSL -pipette:PPT:PPT -pipless:PPLS:PPLS -pipping:PPNK:PPNK -pippins:PPNS:PPNS -piquant:PKNT:PKNT -piquing:PKNK:PKNK -piranha:PRN:PRN -pirated:PRTT:PRTT -pirates:PRTS:PRTS -pirogue:PRK:PRK -pirquet:PRKT:PRKT -piscary:PSKR:PSKR -piscean:PSN:PSN -piscina:PSN:PSN -piscine:PSN:PSN -pismire:PSMR:PSMR -pissers:PSRS:PSRS -pissing:PSNK:PSNK -pistils:PSTL:PSTL -pistole:PSTL:PSTL -pistols:PSTL:PSTL -pistons:PSTN:PSTN -pitapat:PTPT:PTPT -pitched:PXT:PXT -pitcher:PXR:PXR -pitches:PXS:PXS -piteous:PTS:PTS -pitfall:PTFL:PTFL -pithead:P0T:PTT -pithier:P0:PTR -pithily:P0L:PTL -pithing:P0NK:PTNK -pitiers:PTRS:PTRS -pitiful:PTFL:PTFL -pitsaws:PTSS:PTSS -pitters:PTRS:PTRS -pitting:PTNK:PTNK -pittite:PTT:PTT -pituita:PTT:PTT -pitying:PTNK:PTNK -pivotal:PFTL:PFTL -pivoted:PFTT:PFTT -pixmaps:PKSM:PKSM -pizzazz:PSS:PTSS -placard:PLKR:PLKR -placate:PLKT:PLKT -placebo:PLSP:PLSP -placers:PLSR:PLSR -placets:PLST:PLST -placing:PLSN:PLSN -placito:PLST:PLST -placket:PLKT:PLKT -placode:PLKT:PLKT -placoid:PLKT:PLKT -placque:PLK:PLK -plafond:PLFN:PLFN -plagued:PLKT:PLKT -plaguer:PLKR:PLKR -plagues:PLKS:PLKS -plaices:PLSS:PLSS -plainer:PLNR:PLNR -plainly:PLNL:PLNL -plaints:PLNT:PLNT -plaited:PLTT:PLTT -planers:PLNR:PLNR -planets:PLNT:PLNT -planing:PLNN:PLNN -planish:PLNX:PLNX -planked:PLNK:PLNK -planned:PLNT:PLNT -planner:PLNR:PLNR -plantar:PLNT:PLNT -planted:PLNT:PLNT -planter:PLNT:PLNT -planula:PLNL:PLNL -plaques:PLKS:PLKS -plashed:PLXT:PLXT -plasmal:PLSM:PLSM -plasmas:PLSM:PLSM -plasmic:PLSM:PLSM -plasmid:PLSM:PLSM -plasmin:PLSM:PLSM -plasmon:PLSM:PLSM -plaster:PLST:PLST -plastic:PLST:PLST -plastid:PLST:PLST -plastin:PLST:PLST -plateau:PLT:PLT -platens:PLTN:PLTN -platers:PLTR:PLTR -platier:PLT:PLTR -platina:PLTN:PLTN -plating:PLTN:PLTN -platode:PLTT:PLTT -platoon:PLTN:PLTN -platted:PLTT:PLTT -platter:PLTR:PLTR -platypi:PLTP:PLTP -plaudit:PLTT:PLTT -playact:PLKT:PLKT -playboy:PLP:PLP -players:PLRS:PLRS -playful:PLFL:PLFL -playing:PLNK:PLNK -playlet:PLLT:PLLT -playoff:PLF:PLF -playpen:PLPN:PLPN -pleaded:PLTT:PLTT -pleader:PLTR:PLTR -pleased:PLST:PLST -pleaser:PLSR:PLSR -pleases:PLSS:PLSS -pleated:PLTT:PLTT -pleater:PLTR:PLTR -plebian:PLPN:PLPN -plectra:PLKT:PLKT -pledged:PLJT:PLJT -pledgee:PLJ:PLJ -pledger:PLJR:PLJR -pledges:PLJS:PLJS -pledget:PLJT:PLJT -pledgor:PLTK:PLTK -plenary:PLNR:PLNR -plenums:PLNM:PLNM -plessor:PLSR:PLSR -pleurae:PLR:PLR -pleural:PLRL:PLRL -pleuras:PLRS:PLRS -pliable:PLPL:PLPL -pliably:PLPL:PLPL -pliancy:PLNS:PLNS -plicate:PLKT:PLKT -plights:PLTS:PLTS -plinked:PLNK:PLNK -plinker:PLNK:PLNK -plinths:PLN0:PLNT -plodded:PLTT:PLTT -plodder:PLTR:PLTR -plopped:PLPT:PLPT -plosion:PLSN:PLXN -plosive:PLSF:PLSF -plotted:PLTT:PLTT -plotter:PLTR:PLTR -ploughs:PLFS:PLFS -plovers:PLFR:PLFR -plowboy:PLP:PLP -plowers:PLRS:PLRS -plowing:PLNK:PLNK -plowman:PLMN:PLMN -plowmen:PLMN:PLMN -plucked:PLKT:PLKT -plucker:PLKR:PLKR -plugged:PLKT:PLKT -plugger:PLKR:PLKR -plumage:PLMJ:PLMK -plumate:PLMT:PLMT -plumbed:PLMP:PLMP -plumber:PLMR:PLMR -plumbic:PLMP:PLMP -plumbum:PLMP:PLMP -plumier:PLM:PLMR -pluming:PLMN:PLMN -plummer:PLMR:PLMR -plummet:PLMT:PLMT -plumose:PLMS:PLMS -plumped:PLMP:PLMP -plumper:PLMP:PLMP -plumply:PLMP:PLMP -plumule:PLML:PLML -plunder:PLNT:PLNT -plunged:PLNJ:PLNK -plunger:PLNK:PLNJ -plunges:PLNJ:PLNK -plunked:PLNK:PLNK -plurals:PLRL:PLRL -pluries:PLRS:PLRS -plusher:PLXR:PLXR -plushly:PLXL:PLXL -pluvial:PLFL:PLFL -plywood:PLT:PLT -poached:PXT:PKT -poacher:PXR:PKR -poaches:PXS:PKS -pochard:PXRT:PKRT -pockets:PKTS:PKTS -podagra:PTKR:PTKR -podalic:PTLK:PTLK -podding:PTNK:PTNK -podgier:PJ:PJR -podgily:PJL:PJL -podiums:PTMS:PTMS -poetess:PTS:PTS -poetics:PTKS:PTKS -pogoing:PKNK:PKNK -pogonia:PKN:PKN -pogroms:PKRM:PKRM -poinder:PNTR:PNTR -pointed:PNTT:PNTT -pointer:PNTR:PNTR -poising:PSNK:PSNK -poisons:PSNS:PSNS -poisson:PSN:PSN -pokiest:PKST:PKST -polacre:PLKR:PLKR -polaris:PLRS:PLRS -polders:PLTR:PLTR -poleaxe:PLKS:PLKS -polecat:PLKT:PLKT -polemic:PLMK:PLMK -polenta:PLNT:PLNT -poleyns:PLNS:PLNS -policed:PLST:PLST -polices:PLSS:PLSS -politic:PLTK:PLTK -pollack:PLK:PLK -pollard:PLRT:PLRT -pollens:PLNS:PLNS -pollers:PLRS:PLRS -polling:PLNK:PLNK -polliwo:PL:PL -pollute:PLT:PLT -polyene:PLN:PLN -polygon:PLKN:PLKN -polymer:PLMR:PLMR -polyoma:PLM:PLM -polypod:PLPT:PLPT -polypus:PLPS:PLPS -polyzoa:PLS:PLS -pomaded:PMTT:PMTT -pomades:PMTS:PMTS -pomatum:PMTM:PMTM -pomelos:PMLS:PMLS -pomfret:PMFR:PMFR -pommels:PMLS:PMLS -pommies:PMS:PMS -pompano:PMPN:PMPN -pompeii:PMP:PMP -pompier:PMP:PMPR -pompoms:PMPM:PMPM -pompons:PMPN:PMPN -pompous:PMPS:PMPS -ponchos:PNXS:PNKS -pondage:PNTJ:PNTK -ponders:PNTR:PNTR -ponding:PNTN:PNTN -pongees:PNJS:PNKS -pongids:PNJT:PNKT -pongoid:PNKT:PNKT -poniard:PNRT:PNRT -pontiac:PNXK:PNXK -pontiff:PNTF:PNTF -pontile:PNTL:PNTL -pontine:PNTN:PNTN -pontius:PNTS:PNTS -pontoon:PNTN:PNTN -pooches:PXS:PKS -poodles:PTLS:PTLS -pooling:PLNK:PLNK -pooping:PPNK:PPNK -poorest:PRST:PRST -popcorn:PPKR:PPKR -popedom:PPTM:PPTM -popeish:PPX:PPX -popeyed:PPT:PPT -popguns:PPKN:PPKN -poplars:PPLR:PPLR -popover:PPFR:PPFR -poppers:PPRS:PPRS -poppets:PPTS:PPTS -poppied:PPT:PPT -poppies:PPS:PPS -popping:PPNK:PPNK -poppled:PPLT:PPLT -popples:PPLS:PPLS -popular:PPLR:PPLR -porched:PRXT:PRKT -porches:PRKS:PRKS -porcine:PRSN:PRSN -porgies:PRJS:PRKS -porions:PRNS:PRNS -porkers:PRKR:PRKR -porkier:PRKR:PRKR -porkpie:PRKP:PRKP -poroses:PRSS:PRSS -porosis:PRSS:PRSS -porotic:PRTK:PRTK -porphin:PRFN:PRFN -porrect:PRKT:PRKT -porrigo:PRK:PRK -portaes:PRTS:PRTS -portage:PRTJ:PRTK -portals:PRTL:PRTL -portend:PRTN:PRTN -portent:PRTN:PRTN -porters:PRTR:PRTR -portico:PRTK:PRTK -porting:PRTN:PRTN -portion:PRXN:PRXN -portray:PRTR:PRTR -poruses:PRSS:PRSS -poseurs:PSRS:PSRS -poshest:PXST:PXST -posited:PSTT:PSTT -positif:PSTF:PSTF -possess:PSS:PSS -possing:PSNK:PSNK -possums:PSMS:PSMS -postage:PSTJ:PSTK -postbag:PSTP:PSTP -postbox:PSTP:PSTP -postboy:PSTP:PSTP -postern:PSTR:PSTR -posters:PSTR:PSTR -postfix:PSTF:PSTF -postils:PSTL:PSTL -posting:PSTN:PSTN -postman:PSTM:PSTM -postmen:PSTM:PSTM -posture:PSTR:PSTR -postwar:PSTR:PSTR -potable:PTPL:PTPL -potages:PTJS:PTKS -potamic:PTMK:PTMK -potence:PTNS:PTNS -potency:PTNS:PTNS -potfuls:PTFL:PTFL -pothead:P0T:PTT -potherb:P0RP:PTRP -pothers:P0RS:PTRS -pothole:P0L:PTL -pothook:P0K:PTK -potiche:PTX:PTK -potions:PXNS:PXNS -potluck:PTLK:PTLK -potomac:PTMK:PTMK -potoroo:PTR:PTR -potpies:PTPS:PTPS -potshot:PTXT:PTXT -pottage:PTJ:PTK -potters:PTRS:PTRS -pottery:PTR:PTR -pottier:PT:PTR -potties:PTS:PTS -potting:PTNK:PTNK -pouched:PXT:PKT -pouches:PXS:PKS -poulard:PLRT:PLRT -poultry:PLTR:PLTR -pounced:PNST:PNST -pouncer:PNSR:PNSR -pounces:PNSS:PNSS -pouncet:PNST:PNST -poundal:PNTL:PNTL -pounded:PNTT:PNTT -pounder:PNTR:PNTR -poupart:PPRT:PPRT -pourers:PRRS:PRRS -pouring:PRNK:PRNK -poussin:PSN:PSN -poustie:PST:PST -pouters:PTRS:PTRS -pouting:PTNK:PTNK -poverty:PFRT:PFRT -powders:PTRS:PTRS -powdery:PTR:PTR -powered:PRT:PRT -powerpc:PRPK:PRPK -powwows:PS:PS -poxiest:PKSS:PKSS -praecox:PRKK:PRKK -praedia:PRT:PRT -praesen:PRSN:PRSN -praetor:PRTR:PRTR -prairie:PRR:PRR -praised:PRST:PRST -praiser:PRSR:PRSR -praises:PRSS:PRSS -praline:PRLN:PRLN -pranced:PRNS:PRNS -prancer:PRNS:PRNS -prances:PRNS:PRNS -pranged:PRNJ:PRNK -pranked:PRNK:PRNK -praters:PRTR:PRTR -prating:PRTN:PRTN -prattle:PRTL:PRTL -prawner:PRNR:PRNR -prayers:PRRS:PRRS -praying:PRNK:PRNK -preachy:PRX:PRK -preanal:PRNL:PRNL -prearms:PRRM:PRRM -prebend:PRPN:PRPN -prebill:PRPL:PRPL -preboil:PRPL:PRPL -precast:PRKS:PRKS -precava:PRKF:PRKF -precede:PRST:PRST -precept:PRSP:PRSP -precess:PRSS:PRSS -precipe:PRSP:PRSP -precise:PRSS:PRSS -precook:PRKK:PRKK -predate:PRTT:PRTT -predawn:PRTN:PRTN -predial:PRTL:PRTL -predict:PRTK:PRTK -predoom:PRTM:PRTM -preemie:PRM:PRM -preempt:PRMP:PRMP -preened:PRNT:PRNT -preener:PRNR:PRNR -prefabs:PRFP:PRFP -preface:PRFS:PRFS -prefect:PRFK:PRFK -prefers:PRFR:PRFR -preform:PRFR:PRFR -pregame:PRKM:PRKM -preheat:PRHT:PRHT -prelacy:PRLS:PRLS -prelate:PRLT:PRLT -prelims:PRLM:PRLM -prelude:PRLT:PRLT -premeds:PRMT:PRMT -premier:PRM:PRMR -premise:PRMS:PRMS -premiss:PRMS:PRMS -premium:PRMM:PRMM -premune:PRMN:PRMN -prename:PRNM:PRNM -prendre:PRNT:PRNT -preoral:PRRL:PRRL -prepack:PRPK:PRPK -prepaid:PRPT:PRPT -prepare:PRPR:PRPR -prepays:PRPS:PRPS -preplan:PRPL:PRPL -prepped:PRPT:PRPT -preppie:PRP:PRP -prepuce:PRPS:PRPS -prequel:PRKL:PRKL -presage:PRSJ:PRSK -presell:PRSL:PRSL -present:PRSN:PRSN -presets:PRST:PRST -preside:PRST:PRST -presift:PRSF:PRSF -presley:PRSL:PRSL -presoak:PRSK:PRSK -presold:PRSL:PRSL -pressed:PRST:PRST -presser:PRSR:PRSR -presses:PRSS:PRSS -pressor:PRSR:PRSR -prestos:PRST:PRST -presume:PRSM:PRSM -preteen:PRTN:PRTN -pretend:PRTN:PRTN -pretest:PRTS:PRTS -pretext:PRTK:PRTK -pretium:PRTM:PRTM -pretzel:PRTS:PRTS -prevail:PRFL:PRFL -prevent:PRFN:PRFN -previae:PRF:PRF -preview:PRF:PRFF -prewarm:PRRM:PRRM -prewash:PRX:PRX -prexies:PRKS:PRKS -preyers:PRRS:PRRS -preying:PRNK:PRNK -prezone:PRSN:PRSN -priapic:PRPK:PRPK -priapus:PRPS:PRPS -pricers:PRSR:PRSR -pricing:PRSN:PRSN -pricked:PRKT:PRKT -pricker:PRKR:PRKR -pricket:PRKT:PRKT -prickle:PRKL:PRKL -prickly:PRKL:PRKL -priding:PRTN:PRTN -priests:PRST:PRST -prilled:PRLT:PRLT -primacy:PRMS:PRMS -primage:PRMJ:PRMK -primary:PRMR:PRMR -primate:PRMT:PRMT -primely:PRML:PRML -primers:PRMR:PRMR -primine:PRMN:PRMN -priming:PRMN:PRMN -primite:PRMT:PRMT -primmed:PRMT:PRMT -primmer:PRMR:PRMR -primped:PRMP:PRMP -primula:PRML:PRML -princel:PRNS:PRNS -princes:PRNS:PRNS -prinked:PRNK:PRNK -prinker:PRNK:PRNK -printed:PRNT:PRNT -printer:PRNT:PRNT -prisere:PRSR:PRSR -prising:PRSN:PRSN -prismal:PRSM:PRSM -prisons:PRSN:PRSN -prithee:PR0:PRT -privacy:PRFS:PRFS -privata:PRFT:PRFT -private:PRFT:PRFT -privati:PRFT:PRFT -privets:PRFT:PRFT -privies:PRFS:PRFS -privily:PRFL:PRFL -privity:PRFT:PRFT -prizers:PRSR:PRSR -prizing:PRSN:PRSN -proband:PRPN:PRPN -probang:PRPN:PRPN -probans:PRPN:PRPN -probata:PRPT:PRPT -probate:PRPT:PRPT -probers:PRPR:PRPR -probing:PRPN:PRPN -probity:PRPT:PRPT -problem:PRPL:PRPL -procarp:PRKR:PRKR -proceed:PRST:PRST -process:PRSS:PRSS -proctor:PRKT:PRKT -procure:PRKR:PRKR -prodded:PRTT:PRTT -prodigy:PRTJ:PRTK -produce:PRTS:PRTS -product:PRTK:PRTK -profane:PRFN:PRFN -profert:PRFR:PRFR -profess:PRFS:PRFS -proffer:PRFR:PRFR -profile:PRFL:PRFL -profits:PRFT:PRFT -profuse:PRFS:PRFS -progeny:PRJN:PRKN -program:PRKR:PRKR -project:PRJK:PRJK -projets:PRJT:PRJT -prolate:PRLT:PRLT -proline:PRLN:PRLN -prolong:PRLN:PRLN -promise:PRMS:PRMS -promote:PRMT:PRMT -prompts:PRMP:PRMP -pronase:PRNS:PRNS -pronate:PRNT:PRNT -pronely:PRNL:PRNL -pronged:PRNJ:PRNK -pronoun:PRNN:PRNN -proofed:PRFT:PRFT -prootic:PRTK:PRTK -propane:PRPN:PRPN -propels:PRPL:PRPL -propene:PRPN:PRPN -prophet:PRFT:PRFT -propjet:PRPJ:PRPJ -propman:PRPM:PRPM -propmen:PRPM:PRPM -propose:PRPS:PRPS -propped:PRPT:PRPT -propria:PRPR:PRPR -proprio:PRPR:PRPR -propter:PRPT:PRPT -prorate:PRRT:PRRT -prosaic:PRSK:PRSK -prosect:PRSK:PRSK -prosier:PRS:PRSR -prosily:PRSL:PRSL -prosing:PRSN:PRSN -prosody:PRST:PRST -prosper:PRSP:PRSP -prossed:PRST:PRST -protean:PRTN:PRTN -protect:PRTK:PRTK -protege:PRTJ:PRTK -proteid:PRTT:PRTT -protein:PRTN:PRTN -protest:PRTS:PRTS -proteus:PRTS:PRTS -protide:PRTT:PRTT -protist:PRTS:PRTS -protium:PRTM:PRTM -protons:PRTN:PRTN -protyle:PRTL:PRTL -prouder:PRTR:PRTR -proudly:PRTL:PRTL -proverb:PRFR:PRFR -provers:PRFR:PRFR -provide:PRFT:PRFT -proving:PRFN:PRFN -proviso:PRFS:PRFS -provoke:PRFK:PRFK -provost:PRFS:PRFS -prowess:PRS:PRS -prowled:PRLT:PRLT -prowler:PRLR:PRLR -proxies:PRKS:PRKS -proxima:PRKS:PRKS -proximo:PRKS:PRKS -prozone:PRSN:PRSN -prudent:PRTN:PRTN -prudery:PRTR:PRTR -prudish:PRTX:PRTX -pruners:PRNR:PRNR -pruning:PRNN:PRNN -prurigo:PRRK:PRRK -prussia:PRS:PRS -prussic:PRSK:PRSK -psalmic:SLMK:SLMK -psalter:SLTR:SLTR -psyched:SXT:SKT -psyches:SXS:SKS -psychic:SXK:SKK -psychol:SXL:SKL -psychos:SXS:SKS -psyllid:SLT:SLT -ptarmic:PTRM:PTRM -ptarmus:PTRM:PTRM -pterion:PTRN:PTRN -pteryla:PTRL:PTRL -ptinent:PTNN:PTNN -ptolemy:PTLM:PTLM -ptyalin:PTLN:PTLN -puberal:PPRL:PPRL -puberty:PPRT:PPRT -publica:PPLK:PPLK -publici:PPLS:PPLS -publico:PPLK:PPLK -publics:PPLK:PPLK -publish:PPLX:PPLX -puccini:PXN:PXN -puccoon:PKN:PKN -puckers:PKRS:PKRS -puckish:PKX:PKX -pudding:PTNK:PTNK -puddled:PTLT:PTLT -puddler:PTLR:PTLR -puddles:PTLS:PTLS -pudency:PTNS:PTNS -pudenda:PTNT:PTNT -pudgier:PJ:PJR -pueblos:PPLS:PPLS -puerile:PRL:PRL -puffers:PFRS:PFRS -puffery:PFR:PFR -puffier:PF:PFR -puffily:PFL:PFL -puffing:PFNK:PFNK -puffins:PFNS:PFNS -pugging:PKNK:PKNK -puggish:PKX:PKX -puggree:PKR:PKR -pukatea:PKT:PKT -pukekos:PKKS:PKKS -pullers:PLRS:PLRS -pullets:PLTS:PLTS -pulleys:PLS:PLS -pulling:PLNK:PLNK -pullman:PLMN:PLMN -pullout:PLT:PLT -pulpier:PLP:PLPR -pulpily:PLPL:PLPL -pulping:PLPN:PLPN -pulpits:PLPT:PLPT -pulposi:PLPS:PLPS -pulsars:PLSR:PLSR -pulsate:PLST:PLST -pulsing:PLSN:PLSN -pulsion:PLSN:PLXN -pulvini:PLFN:PLFN -pumiced:PMST:PMST -pumices:PMSS:PMSS -pummels:PMLS:PMLS -pumpers:PMPR:PMPR -pumping:PMPN:PMPN -pumpkin:PMPK:PMPK -punched:PNXT:PNKT -puncher:PNXR:PNKR -punches:PNXS:PNKS -punctum:PNKT:PNKT -pundits:PNTT:PNTT -pungent:PNJN:PNKN -puniest:PNST:PNST -punkish:PNKX:PNKX -punners:PNRS:PNRS -punnets:PNTS:PNTS -punning:PNNK:PNNK -punster:PNST:PNST -punters:PNTR:PNTR -punties:PNTS:PNTS -punting:PNTN:PNTN -puparia:PPR:PPR -pupated:PPTT:PPTT -pupates:PPTS:PPTS -pupilla:PPL:PPL -puppets:PPTS:PPTS -puppies:PPS:PPS -pupping:PPNK:PPNK -purdahs:PRTS:PRTS -pureely:PRL:PRL -pureing:PRNK:PRNK -purfled:PRFL:PRFL -purgers:PRKR:PRJR -purging:PRJN:PRKN -purists:PRST:PRST -puritan:PRTN:PRTN -purlers:PRLR:PRLR -purlieu:PRL:PRL -purling:PRLN:PRLN -purlins:PRLN:PRLN -purloin:PRLN:PRLN -purpart:PRPR:PRPR -purpled:PRPL:PRPL -purpler:PRPL:PRPL -purport:PRPR:PRPR -purpose:PRPS:PRPS -purpura:PRPR:PRPR -purring:PRNK:PRNK -pursers:PRSR:PRSR -pursing:PRSN:PRSN -pursued:PRST:PRST -pursuer:PRSR:PRSR -pursues:PRSS:PRSS -pursuit:PRST:PRST -purveys:PRFS:PRFS -purview:PRF:PRFF -pushers:PXRS:PXRS -pushier:PX:PXR -pushily:PXL:PXL -pushing:PXNK:PXNK -pushrod:PXRT:PXRT -pushups:PXPS:PXPS -pussier:PS:PSR -pussies:PSS:PSS -pustule:PSTL:PSTL -putamen:PTMN:PTMN -putdown:PTN:PTN -putlogs:PTLK:PTLK -putouts:PTTS:PTTS -putrefy:PTRF:PTRF -puttees:PTS:PTS -putters:PTRS:PTRS -puttied:PTT:PTT -putties:PTS:PTS -putting:PTNK:PTNK -puzzled:PSLT:PSLT -puzzler:PSLR:PSLR -puzzles:PSLS:PSLS -pyaemia:PM:PM -pyaemic:PMK:PMK -pygidia:PJT:PKT -pygmies:PKMS:PKMS -pyjamas:PJMS:PHMS -pyloric:PLRK:PLRK -pylorus:PLRS:PLRS -pyocele:PSL:PSL -pyralid:PRLT:PRLT -pyramid:PRMT:PRMT -pyramis:PRMS:PRMS -pyretic:PRTK:PRTK -pyrexia:PRKS:PRKS -pyrexic:PRKS:PRKS -pyrexin:PRKS:PRKS -pyrites:PRTS:PRTS -pyritic:PRTK:PRTK -pyrogen:PRJN:PRKN -pyrosis:PRSS:PRSS -pyrrhic:PRK:PRK -pyrrole:PRL:PRL -pyruvic:PRFK:PRFK -pythons:P0NS:PTNS -pyxidia:PKST:PKST -quacked:KKT:KKT -quadrat:KTRT:KTRT -quadric:KTRK:KTRK -quaffed:KFT:KFT -quaffer:KFR:KFR -quahogs:KHKS:KHKS -quailed:KLT:KLT -quakers:KKRS:KKRS -quakier:KKR:KKR -quakily:KKL:KKL -quaking:KKNK:KKNK -qualify:KLF:KLF -quality:KLT:KLT -quantal:KNTL:KNTL -quanted:KNTT:KNTT -quantic:KNTK:KNTK -quantum:KNTM:KNTM -quarrel:KRL:KRL -quartan:KRTN:KRTN -quarter:KRTR:KRTR -quartet:KRTT:KRTT -quartos:KRTS:KRTS -quasars:KSRS:KSRS -quashed:KXT:KXT -quashes:KXS:KXS -quassia:KS:KS -quatres:KTRS:KTRS -quavers:KFRS:KFRS -quavery:KFR:KFR -quayage:KJ:KK -queened:KNT:KNT -queenly:KNL:KNL -queered:KRT:KRT -queerer:KRR:KRR -queerly:KRL:KRL -quelled:KLT:KLT -queller:KLR:KLR -querela:KRL:KRL -querens:KRNS:KRNS -queried:KRT:KRT -queries:KRS:KRS -querist:KRST:KRST -quested:KSTT:KSTT -quester:KSTR:KSTR -quetzal:KTSL:KTSL -queuers:KRS:KRS -queuing:KNK:KNK -quibble:KPL:KPL -quiches:KXS:KKS -quicken:KKN:KKN -quicker:KKR:KKR -quickie:KK:KK -quickly:KKL:KKL -quieted:KTT:KTT -quieten:KTN:KTN -quieter:KTR:KTR -quietly:KTL:KTL -quietus:KTS:KTS -quilled:KLT:KLT -quilted:KLTT:KLTT -quilter:KLTR:KLTR -quinary:KNR:KNR -quinate:KNT:KNT -quinces:KNSS:KNSS -quinine:KNN:KNN -quinoid:KNT:KNT -quinone:KNN:KNN -quintal:KNTL:KNTL -quintan:KNTN:KNTN -quintet:KNTT:KNTT -quintic:KNTK:KNTK -quipped:KPT:KPT -quitted:KTT:KTT -quitter:KTR:KTR -quittor:KTR:KTR -quivers:KFRS:KFRS -quivery:KFR:KFR -quivive:KFF:KFF -quixote:KKST:KKST -quizzed:KST:KST -quizzer:KSR:KSR -quizzes:KSS:KSS -qunatis:KNTS:KNTS -quomodo:KMT:KMT -quondam:KNTM:KNTM -quonset:KNST:KNST -quorate:KRT:KRT -quorums:KRMS:KRMS -quoters:KTRS:KTRS -quoties:KTS:KTS -quoting:KTNK:KTNK -rabbets:RPTS:RPTS -rabbits:RPTS:RPTS -rabbity:RPT:RPT -rabbler:RPLR:RPLR -rabbles:RPLS:RPLS -rabidly:RPTL:RPTL -raccoon:RKN:RKN -racemic:RSMK:RSMK -raceway:RS:RS -rachial:RKL:RKL -raciest:RSST:RXST -racists:RSST:RSST -rackets:RKTS:RKTS -rackety:RKT:RKT -racking:RKNK:RKNK -raclage:RKLJ:RKLK -racoons:RKNS:RKNS -racquet:RKT:RKT -raddled:RTLT:RTLT -radiale:RTL:RTL -radials:RTLS:RTLS -radians:RTNS:RTNS -radiant:RTNT:RTNT -radiata:RTT:RTT -radiate:RTT:RTT -radical:RTKL:RTKL -radicel:RTSL:RTSL -radices:RTSS:RTSS -radicle:RTKL:RTKL -radioed:RTT:RTT -radixes:RTKS:RTKS -radomes:RTMS:RTMS -radulae:RTL:RTL -radular:RTLR:RTLR -raffish:RFX:RFX -raffled:RFLT:RFLT -raffler:RFLR:RFLR -raffles:RFLS:RFLS -raftage:RFTJ:RFTK -rafters:RFTR:RFTR -rafting:RFTN:RFTN -ragbags:RKPK:RKPK -ragbolt:RKPL:RKPL -ragging:RJNK:RKNK -raglans:RKLN:RKLN -ragouts:RKTS:RKTS -ragtime:RKTM:RKTM -ragweed:RKT:RKT -ragworm:RKRM:RKRM -ragwort:RKRT:RKRT -raiders:RTRS:RTRS -raiding:RTNK:RTNK -railage:RLJ:RLK -railcar:RLKR:RLKR -railers:RLRS:RLRS -railing:RLNK:RLNK -railway:RL:RL -raiment:RMNT:RMNT -rainbow:RNP:RNPF -rainier:RN:RNR -rainily:RNL:RNL -raining:RNNK:RNNK -rainout:RNT:RNT -raisers:RSRS:RSRS -raising:RSNK:RSNK -raisins:RSNS:RSNS -raisiny:RSN:RSN -raisons:RSNS:RSNS -rajahes:RJHS:RHHS -rakeoff:RKF:RKF -raleigh:RL:RL -rallied:RLT:RLT -rallier:RL:RLR -rallies:RLS:RLS -ralline:RLN:RLN -ramadan:RMTN:RMTN -rambled:RMPL:RMPL -rambler:RMPL:RMPL -rambles:RMPL:RMPL -ramekin:RMKN:RMKN -ramenta:RMNT:RMNT -ramjets:RMJT:RMJT -rammers:RMRS:RMRS -ramming:RMNK:RMNK -rammish:RMX:RMX -rampage:RMPJ:RMPK -rampant:RMPN:RMPN -rampart:RMPR:RMPR -ramping:RMPN:RMPN -rampion:RMPN:RMPN -ramrods:RMRT:RMRT -ramsden:RMST:RMST -ramsons:RMSN:RMSN -ramulus:RMLS:RMLS -ranched:RNXT:RNKT -rancher:RNXR:RNKR -ranches:RNXS:RNKS -randans:RNTN:RNTN -randier:RNT:RNTR -randily:RNTL:RNTL -rangers:RNJR:RNKR -rangier:RNJ:RNKR -rangily:RNJL:RNKL -ranging:RNJN:RNKN -rangoon:RNKN:RNKN -rankers:RNKR:RNKR -rankest:RNKS:RNKS -rankine:RNKN:RNKN -ranking:RNKN:RNKN -rankled:RNKL:RNKL -rankles:RNKL:RNKL -ransack:RNSK:RNSK -ransoms:RNSM:RNSM -ranters:RNTR:RNTR -ranting:RNTN:RNTN -ranular:RNLR:RNLR -ranvier:RNF:RNFR -raphael:RFL:RFL -raphide:RFT:RFT -rapidly:RPTL:RPTL -rapiers:RPRS:RPRS -rapists:RPST:RPST -rappers:RPRS:RPRS -rapping:RPNK:RPNK -rapport:RPRT:RPRT -rapture:RPTR:RPTR -rarebit:RRPT:RRPT -rasbora:RSPR:RSPR -rascals:RSKL:RSKL -rasceta:RST:RST -rashers:RXRS:RXRS -rashest:RXST:RXST -raspers:RSPR:RSPR -raspier:RSP:RSPR -rasping:RSPN:RSPN -raspish:RSPX:RSPX -rasters:RSTR:RSTR -ratable:RTPL:RTPL -ratably:RTPL:RTPL -ratafia:RTF:RTF -ratbite:RTPT:RTPT -ratchet:RXT:RXT -ratepay:RTP:RTP -ratfish:RTFX:RTFX -ratings:RTNK:RTNK -ratione:RXN:RXN -rations:RXNS:RXNS -ratites:RTTS:RTTS -ratline:RTLN:RTLN -ratoons:RTNS:RTNS -ratters:RTRS:RTRS -rattier:RT:RTR -rattily:RTL:RTL -ratting:RTNK:RTNK -rattish:RTX:RTX -rattled:RTLT:RTLT -rattler:RTLR:RTLR -rattles:RTLS:RTLS -rattrap:RTRP:RTRP -raucous:RKS:RKS -raughty:RFT:RFT -raunchy:RNX:RNK -rauriki:RRK:RRK -ravaged:RFJT:RFKT -ravager:RFKR:RFJR -ravages:RFJS:RFKS -raveled:RFLT:RFLT -raveler:RFLR:RFLR -ravelin:RFLN:RFLN -ravelly:RFL:RFL -ravened:RFNT:RFNT -ravener:RFNR:RFNR -ravined:RFNT:RFNT -ravines:RFNS:RFNS -ravings:RFNK:RFNK -ravioli:RFL:RFL -rawhide:RT:RT -rawness:RNS:RNS -rayless:RLS:RLS -raylets:RLTS:RLTS -raymond:RMNT:RMNT -raynaud:RNT:RNT -razored:RSRT:RSRT -razzing:RSNK:RTSN -reached:RXT:RKT -reacher:RXR:RKR -reaches:RXS:RKS -reacted:RKTT:RKTT -reactor:RKTR:RKTR -readapt:RTPT:RTPT -readded:RTT:RTT -readers:RTRS:RTRS -readied:RTT:RTT -readier:RT:RTR -readies:RTS:RTS -readily:RTL:RTL -reading:RTNK:RTNK -readmit:RTMT:RTMT -readopt:RTPT:RTPT -readout:RTT:RTT -reagent:RJNT:RKNT -realest:RLST:RLST -realgar:RLKR:RLKR -realign:RLN:RLKN -realism:RLSM:RLSM -realist:RLST:RLST -reality:RLT:RLT -realize:RLS:RLS -reallot:RLT:RLT -realter:RLTR:RLTR -realtor:RLTR:RLTR -reamend:RMNT:RMNT -reamers:RMRS:RMRS -reaming:RMNK:RMNK -reannex:RNKS:RNKS -reapers:RPRS:RPRS -reaping:RPNK:RPNK -reapply:RPL:RPL -rearers:RRRS:RRRS -reargue:RRK:RRK -rearing:RRNK:RRNK -rearmed:RRMT:RRMT -reasons:RSNS:RSNS -reaumur:RMR:RMR -reavows:RFS:RFS -reawake:RK:RK -reawoke:RK:RK -rebated:RPTT:RPTT -rebater:RPTR:RPTR -rebates:RPTS:RPTS -rebeled:RPLT:RPLT -rebills:RPLS:RPLS -rebinds:RPNT:RPNT -rebirth:RPR0:RPRT -reboils:RPLS:RPLS -rebored:RPRT:RPRT -rebores:RPRS:RPRS -rebound:RPNT:RPNT -rebuffs:RPFS:RPFS -rebuild:RPLT:RPLT -rebuilt:RPLT:RPLT -rebuked:RPKT:RPKT -rebuker:RPKR:RPKR -rebukes:RPKS:RPKS -rebuses:RPSS:RPSS -recalls:RKLS:RKLS -recants:RKNT:RKNT -recaped:RKPT:RKPT -recasts:RKST:RKST -receded:RSTT:RSTT -recedes:RSTS:RSTS -receipt:RSPT:RSPT -receive:RSF:RSF -recency:RSNS:RSNS -rechart:RXRT:RKRT -recheck:RXK:RKK -recipes:RSPS:RSPS -recital:RSTL:RSTL -recited:RSTT:RSTT -reciter:RSTR:RSTR -recites:RSTS:RSTS -recking:RKNK:RKNK -reckons:RKNS:RKNS -reclaim:RKLM:RKLM -reclame:RKLM:RKLM -reclean:RKLN:RKLN -recline:RKLN:RKLN -recluse:RKLS:RKLS -recoded:RKTT:RKTT -recodes:RKTS:RKTS -recoils:RKLS:RKLS -recoins:RKNS:RKNS -recolor:RKLR:RKLR -recombs:RKMP:RKMP -recooks:RKKS:RKKS -recorda:RKRT:RKRT -records:RKRT:RKRT -recount:RKNT:RKNT -recoups:RKPS:RKPS -recours:RKRS:RKRS -recover:RKFR:RKFR -recrate:RKRT:RKRT -recross:RKRS:RKRS -recrown:RKRN:RKRN -recruit:RKRT:RKRT -rectify:RKTF:RKTF -rectors:RKTR:RKTR -rectory:RKTR:RKTR -rectrix:RKTR:RKTR -rectums:RKTM:RKTM -recurse:RKRS:RKRS -recurve:RKRF:RKRF -recused:RKST:RKST -recycle:RSKL:RSKL -redacts:RTKT:RTKT -redback:RTPK:RTPK -redbook:RTPK:RTPK -redbuds:RTPT:RTPT -redcaps:RTKP:RTKP -redcoat:RTKT:RTKT -reddens:RTNS:RTNS -reddest:RTST:RTST -reddish:RTX:RTX -redeems:RTMS:RTMS -redfins:RTFN:RTFN -redfish:RTFX:RTFX -redford:RTFR:RTFR -redhead:RTT:RTT -rediaes:RTS:RTS -redials:RTLS:RTLS -reditus:RTTS:RTTS -redline:RTLN:RTLN -redneck:RTNK:RTNK -redness:RTNS:RTNS -redocks:RTKS:RTKS -redoing:RTNK:RTNK -redoubt:RTPT:RTPT -redound:RTNT:RTNT -redpoll:RTPL:RTPL -redraft:RTRF:RTRF -redrawn:RTRN:RTRN -redraws:RTRS:RTRS -redress:RTRS:RTRS -redried:RTRT:RTRT -redries:RTRS:RTRS -redrill:RTRL:RTRL -redroot:RTRT:RTRT -redskin:RTSK:RTSK -reduced:RTST:RTST -reducer:RTSR:RTSR -reduces:RTSS:RTSS -redwing:RTNK:RTNK -redwood:RTT:RTT -redying:RTNK:RTNK -reedier:RT:RTR -reedily:RTL:RTL -reeding:RTNK:RTNK -reedits:RTTS:RTTS -reefers:RFRS:RFRS -reefing:RFNK:RFNK -reekers:RKRS:RKRS -reeking:RKNK:RKNK -reelect:RLKT:RLKT -reelers:RLRS:RLRS -reeling:RLNK:RLNK -reenact:RNKT:RNKT -reendow:RNT:RNTF -reenjoy:RNJ:RNJ -reenter:RNTR:RNTR -reentry:RNTR:RNTR -reequip:RKP:RKP -reerect:RRKT:RRKT -reeving:RFNK:RFNK -reexist:RKSS:RKSS -refaced:RFST:RFST -refaces:RFSS:RFSS -referee:RFR:RFR -refiled:RFLT:RFLT -refiles:RFLS:RFLS -refills:RFLS:RFLS -refilms:RFLM:RFLM -refined:RFNT:RFNT -refiner:RFNR:RFNR -refines:RFNS:RFNS -refired:RFRT:RFRT -refires:RFRS:RFRS -reflate:RFLT:RFLT -reflect:RFLK:RFLK -refloat:RFLT:RFLT -reflood:RFLT:RFLT -reflows:RFLS:RFLS -refocus:RFKS:RFKS -refolds:RFLT:RFLT -reforge:RFRJ:RFRK -reforms:RFRM:RFRM -refract:RFRK:RFRK -refrain:RFRN:RFRN -reframe:RFRM:RFRM -refresh:RFRX:RFRX -refried:RFRT:RFRT -refries:RFRS:RFRS -refroze:RFRS:RFRS -refuels:RFLS:RFLS -refuged:RFJT:RFKT -refugee:RFJ:RFK -refuges:RFJS:RFKS -refugia:RFJ:RFK -refunds:RFNT:RFNT -refusal:RFSL:RFSL -refused:RFST:RFST -refuser:RFSR:RFSR -refuses:RFSS:RFSS -refutal:RFTL:RFTL -refuted:RFTT:RFTT -refuter:RFTR:RFTR -refutes:RFTS:RFTS -regains:RKNS:RKNS -regaled:RKLT:RKLT -regales:RKLS:RKLS -regalia:RKL:RKL -regally:RKL:RKL -regards:RKRT:RKRT -regatta:RKT:RKT -regauge:RKJ:RKK -regears:RJRS:RKRS -regency:RJNS:RKNS -regents:RJNT:RKNT -regilds:RJLT:RKLT -regimen:RJMN:RKMN -regimes:RJMS:RKMS -reginal:RJNL:RKNL -regions:RJNS:RKNS -reglaze:RKLS:RKLS -reglets:RKLT:RKLT -regloss:RKLS:RKLS -reglued:RKLT:RKLT -reglues:RKLS:RKLS -regnant:RNNT:RKNN -regorge:RKRJ:RKRK -regosol:RKSL:RKSL -regrade:RKRT:RKRT -regrant:RKRN:RKRN -regrate:RKRT:RKRT -regress:RKRS:RKRS -regrets:RKRT:RKRT -regroup:RKRP:RKRP -regrown:RKRN:RKRN -regrows:RKRS:RKRS -regulae:RKL:RKL -regular:RKLR:RKLR -regulus:RKLS:RKLS -rehangs:RHNK:RHNK -reheard:RHRT:RHRT -rehears:RHRS:RHRS -reheats:RHTS:RHTS -reheels:RHLS:RHLS -rehfuss:RFS:RFS -rehinge:RHNJ:RHNK -rehired:RHRT:RHRT -rehires:RHRS:RHRS -rehouse:RHS:RHS -reified:RFT:RFT -reifier:RF:RFR -reifies:RFS:RFS -reigned:RNT:RKNT -reincur:RNKR:RNKR -reining:RNNK:RNNK -reinter:RNTR:RNTR -reissue:RS:RS -rejects:RJKT:RJKT -rejoice:RJS:RHS -rejoins:RJNS:RHNS -rejudge:RJJ:RJJ -rekeyed:RKT:RKT -relabel:RLPL:RLPL -relapse:RLPS:RLPS -related:RLTT:RLTT -relater:RLTR:RLTR -relates:RLTS:RLTS -relator:RLTR:RLTR -relatum:RLTM:RLTM -relaxed:RLKS:RLKS -relaxer:RLKS:RLKS -relaxes:RLKS:RLKS -relaxin:RLKS:RLKS -relayed:RLT:RLT -relearn:RLRN:RLRN -release:RLS:RLS -relents:RLNT:RLNT -reliant:RLNT:RLNT -relicti:RLKT:RLKT -reliefs:RLFS:RLFS -relieve:RLF:RLF -relight:RLT:RLT -relined:RLNT:RLNT -relines:RLNS:RLNS -relists:RLST:RLST -relived:RLFT:RLFT -relives:RLFS:RLFS -reloads:RLTS:RLTS -reloans:RLNS:RLNS -relying:RLNK:RLNK -remails:RMLS:RMLS -remaind:RMNT:RMNT -remains:RMNS:RMNS -remakes:RMKS:RMKS -remands:RMNT:RMNT -remanet:RMNT:RMNT -remarks:RMRK:RMRK -remarry:RMR:RMR -rematch:RMX:RMX -remblai:RMPL:RMPL -remelts:RMLT:RMLT -remends:RMNT:RMNT -remiges:RMJS:RMKS -reminds:RMNT:RMNT -remints:RMNT:RMNT -remised:RMST:RMST -remises:RMSS:RMSS -remixed:RMKS:RMKS -remixes:RMKS:RMKS -remnant:RMNN:RMNN -remodel:RMTL:RMTL -remolds:RMLT:RMLT -remoras:RMRS:RMRS -remorse:RMRS:RMRS -remoter:RMTR:RMTR -remould:RMLT:RMLT -remount:RMNT:RMNT -removal:RMFL:RMFL -removed:RMFT:RMFT -remover:RMFR:RMFR -removes:RMFS:RMFS -remploy:RMPL:RMPL -renamed:RNMT:RNMT -renames:RNMS:RNMS -renders:RNTR:RNTR -rending:RNTN:RNTN -reneged:RNJT:RNKT -reneger:RNJR:RNKR -reneges:RNJS:RNKS -renewal:RNL:RNL -renewed:RNT:RNT -renewer:RNR:RNR -rentage:RNTJ:RNTK -rentals:RNTL:RNTL -renters:RNTR:RNTR -renting:RNTN:RNTN -reoccur:RKR:RKR -reoiled:RLT:RLT -reopens:RPNS:RPNS -reorder:RRTR:RRTR -repacks:RPKS:RPKS -repaint:RPNT:RPNT -repairs:RPRS:RPRS -repaper:RPPR:RPPR -repasts:RPST:RPST -repaved:RPFT:RPFT -repaves:RPFS:RPFS -repayed:RPT:RPT -repeals:RPLS:RPLS -repeats:RPTS:RPTS -repents:RPNT:RPNT -repined:RPNT:RPNT -repiner:RPNR:RPNR -repines:RPNS:RPNS -repique:RPK:RPK -replace:RPLS:RPLS -replans:RPLN:RPLN -replant:RPLN:RPLN -replays:RPLS:RPLS -replead:RPLT:RPLT -replete:RPLT:RPLT -replevy:RPLF:RPLF -replica:RPLK:RPLK -replied:RPLT:RPLT -replier:RPL:RPLR -replies:RPLS:RPLS -repoint:RPNT:RPNT -reponed:RPNT:RPNT -repones:RPNS:RPNS -reports:RPRT:RPRT -reposal:RPSL:RPSL -reposed:RPST:RPST -reposer:RPSR:RPSR -reposes:RPSS:RPSS -reposit:RPST:RPST -reposts:RPST:RPST -repress:RPRS:RPRS -reprice:RPRS:RPRS -reprint:RPRN:RPRN -reprise:RPRS:RPRS -reprobe:RPRP:RPRP -reproof:RPRF:RPRF -reprove:RPRF:RPRF -reptant:RPTN:RPTN -reptile:RPTL:RPTL -repulse:RPLS:RPLS -reputed:RPTT:RPTT -reputes:RPTS:RPTS -request:RKST:RKST -requiem:RKM:RKM -require:RKR:RKR -requite:RKT:RKT -rereads:RRTS:RRTS -reredos:RRTS:RRTS -rerolls:RRLS:RRLS -reroofs:RRFS:RRFS -reroute:RRT:RRT -resales:RSLS:RSLS -rescind:RSNT:RSNT -rescous:RSKS:RSKS -rescued:RSKT:RSKT -rescuer:RSKR:RSKR -rescues:RSKS:RSKS -reseals:RSLS:RSLS -reseats:RSTS:RSTS -reseaux:RS:RS -resects:RSKT:RSKT -reseeds:RSTS:RSTS -resells:RSLS:RSLS -resents:RSNT:RSNT -reserve:RSRF:RSRF -reshape:RXP:RXP -reships:RXPS:RXPS -reshoed:RXT:RXT -reshoes:RXS:RXS -resided:RSTT:RSTT -resider:RSTR:RSTR -resides:RSTS:RSTS -residua:RST:RST -residue:RST:RST -resigns:RSNS:RSKN -resiled:RSLT:RSLT -resiles:RSLS:RSLS -resipsy:RSPS:RSPS -resists:RSST:RSST -resited:RSTT:RSTT -resites:RSTS:RSTS -resized:RSST:RSST -resizes:RSSS:RSSS -resoled:RSLT:RSLT -resoles:RSLS:RSLS -resolve:RSLF:RSLF -resorbs:RSRP:RSRP -resorts:RSRT:RSRT -resound:RSNT:RSNT -resowed:RST:RST -respect:RSPK:RSPK -respell:RSPL:RSPL -respire:RSPR:RSPR -respite:RSPT:RSPT -respond:RSPN:RSPN -respray:RSPR:RSPR -restack:RSTK:RSTK -restaff:RSTF:RSTF -restage:RSTJ:RSTK -restamp:RSTM:RSTM -restart:RSTR:RSTR -restate:RSTT:RSTT -restaur:RSTR:RSTR -resters:RSTR:RSTR -restful:RSTF:RSTF -resting:RSTN:RSTN -restive:RSTF:RSTF -restock:RSTK:RSTK -restore:RSTR:RSTR -restrun:RSTR:RSTR -restudy:RSTT:RSTT -restuff:RSTF:RSTF -restyle:RSTL:RSTL -results:RSLT:RSLT -resumed:RSMT:RSMT -resumer:RSMR:RSMR -resumes:RSMS:RSMS -retable:RTPL:RTPL -retails:RTLS:RTLS -retains:RTNS:RTNS -retaken:RTKN:RTKN -retaker:RTKR:RTKR -retakes:RTKS:RTKS -retards:RTRT:RTRT -retched:RXT:RXT -retches:RXS:RXS -reteach:RTK:RTK -retells:RTLS:RTLS -retests:RTST:RTST -rethink:R0NK:RTNK -reticle:RTKL:RTKL -retinae:RTN:RTN -retinal:RTNL:RTNL -retinas:RTNS:RTNS -retinol:RTNL:RTNL -retinue:RTN:RTN -retired:RTRT:RTRT -retiree:RTR:RTR -retires:RTRS:RTRS -retitle:RTTL:RTTL -retools:RTLS:RTLS -retorno:RTRN:RTRN -retorts:RTRT:RTRT -retouch:RTK:RTK -retrace:RTRS:RTRS -retract:RTRK:RTRK -retrain:RTRN:RTRN -retread:RTRT:RTRT -retreat:RTRT:RTRT -retrial:RTRL:RTRL -retried:RTRT:RTRT -retrier:RTR:RTRR -retries:RTRS:RTRS -retrims:RTRM:RTRM -retrude:RTRT:RTRT -retsina:RTSN:RTSN -retters:RTRS:RTRS -rettery:RTR:RTR -retting:RTNK:RTNK -returfs:RTRF:RTRF -returns:RTRN:RTRN -retwist:RTST:RTST -retying:RTNK:RTNK -retyped:RTPT:RTPT -retypes:RTPS:RTPS -retzius:RTSS:RTSS -reunify:RNF:RNF -reunion:RNN:RNN -reunite:RNT:RNT -reusing:RSNK:RSNK -revalue:RFL:RFL -revamps:RFMP:RFMP -reveals:RFLS:RFLS -reveled:RFLT:RFLT -reveler:RFLR:RFLR -revelry:RFLR:RFLR -revenge:RFNJ:RFNK -revenue:RFN:RFN -revered:RFRT:RFRT -reverer:RFRR:RFRR -reveres:RFRS:RFRS -reverie:RFR:RFR -reverse:RFRS:RFRS -reverso:RFRS:RFRS -reverts:RFRT:RFRT -revests:RFST:RFST -reviews:RFS:RFS -reviled:RFLT:RFLT -reviler:RFLR:RFLR -reviles:RFLS:RFLS -revisal:RFSL:RFSL -revised:RFST:RFST -reviser:RFSR:RFSR -revises:RFSS:RFSS -revisit:RFST:RFST -revisor:RFSR:RFSR -revival:RFFL:RFFL -revived:RFFT:RFFT -reviver:RFFR:RFFR -revives:RFFS:RFFS -revivor:RFFR:RFFR -revoice:RFS:RFS -revoked:RFKT:RFKT -revoker:RFKR:RFKR -revokes:RFKS:RFKS -revolts:RFLT:RFLT -revolve:RFLF:RFLF -revving:RFNK:RFNK -rewaked:RKT:RKT -rewaken:RKN:RKN -rewards:RRTS:RRTS -rewarms:RRMS:RRMS -reweave:RF:RF -reweigh:R:R -rewelds:RLTS:RLTS -rewiden:RTN:RTN -rewinds:RNTS:RNTS -rewired:RRT:RRT -rewires:RRS:RRS -rewords:RRTS:RRTS -reworks:RRKS:RRKS -rewound:RNT:RNT -rewoven:RFN:RFN -rewraps:RRPS:RRPS -rewrapt:RRPT:RRPT -rewrite:RRT:RRT -rewrote:RRT:RRT -reymond:RMNT:RMNT -rezoned:RSNT:RSNT -rezones:RSNS:RSNS -rhabdom:RPTM:RPTM -rhaetic:RTK:RTK -rhamnus:RMNS:RMNS -rhatany:RTN:RTN -rheboks:RPKS:RPKS -rhenish:RNX:RNX -rhenium:RNM:RNM -rhinion:RNN:RNN -rhizoid:RST:RST -rhizome:RSM:RSM -rhodium:RTM:RTM -rhombic:RMPK:RMPK -rhombus:RMPS:RMPS -rhonchi:RNX:RNK -rhubarb:RPRP:RPRP -rhumbas:RMPS:RMPS -rhymers:RMRS:RMRS -rhyming:RMNK:RMNK -rhythms:R0MS:RTMS -rialtos:RLTS:RLTS -ribbers:RPRS:RPRS -ribbing:RPNK:RPNK -ribbons:RPNS:RPNS -ribbony:RPN:RPN -ribcage:RPKJ:RPKK -ribitol:RPTL:RPTL -ribless:RPLS:RPLS -riblike:RPLK:RPLK -ribosyl:RPSL:RPSL -ribwort:RPRT:RPRT -richard:RXRT:RKRT -richers:RXRS:RKRS -richest:RXST:RKST -richter:RKTR:RKTR -ricinus:RSNS:RSNS -rickets:RKTS:RKTS -rickety:RKT:RKT -rickeys:RKS:RKS -ricking:RKNK:RKNK -ricksha:RKX:RKX -ricotta:RKT:RKT -ridders:RTRS:RTRS -ridding:RTNK:RTNK -riddled:RTLT:RTLT -riddler:RTLR:RTLR -riddles:RTLS:RTLS -ridging:RJNK:RJNK -riffing:RFNK:RFNK -riffled:RFLT:RFLT -riffler:RFLR:RFLR -riffles:RFLS:RFLS -riflers:RFLR:RFLR -rifling:RFLN:RFLN -rifting:RFTN:RFTN -riggers:RKRS:RKRS -rigging:RKNK:RKNK -righted:RTT:RTT -righten:RTN:RTN -righter:RTR:RTR -rightly:RTL:RTL -rigidly:RJTL:RKTL -rigueur:RKR:RKR -rimiest:RMST:RMST -rimless:RMLS:RMLS -rimming:RMNK:RMNK -rimrock:RMRK:RMRK -rimulae:RML:RML -ringent:RNJN:RNKN -ringers:RNKR:RNJR -ringgit:RNKT:RNKT -ringing:RNJN:RNKN -ringlet:RNKL:RNKL -rinkers:RNKR:RNKR -rinsers:RNSR:RNSR -rinsing:RNSN:RNSN -rioters:RTRS:RTRS -rioting:RTNK:RTNK -riotous:RTS:RTS -ripcord:RPKR:RPKR -ripened:RPNT:RPNT -ripener:RPNR:RPNR -ripieni:RPN:RPN -ripieno:RPN:RPN -riposte:RPST:RPST -rippers:RPRS:RPRS -ripping:RPNK:RPNK -rippled:RPLT:RPLT -rippler:RPLR:RPLR -ripples:RPLS:RPLS -ripplet:RPLT:RPLT -ripsaws:RPSS:RPSS -riptide:RPTT:RPTT -risible:RSPL:RSPL -risibly:RSPL:RSPL -risings:RSNK:RSNK -riskier:RSKR:RSKR -riskily:RSKL:RSKL -risking:RSKN:RSKN -risorii:RSR:RSR -risotto:RST:RST -rissole:RSL:RSL -rituals:RTLS:RTLS -ritzier:RTS:RTSR -ritzily:RTSL:RTSL -rivaled:RFLT:RFLT -rivalry:RFLR:RFLR -riveted:RFTT:RFTT -riveter:RFTR:RFTR -riviera:RFR:RFR -rivulet:RFLT:RFLT -roached:RXT:RKT -roaches:RXS:RKS -roadbed:RTPT:RTPT -roaders:RTRS:RTRS -roadies:RTS:RTS -roadway:RT:RT -roamers:RMRS:RMRS -roaming:RMNK:RMNK -roarers:RRRS:RRRS -roaring:RRNK:RRNK -roasted:RSTT:RSTT -roaster:RSTR:RSTR -robalos:RPLS:RPLS -robands:RPNT:RPNT -robbers:RPRS:RPRS -robbery:RPR:RPR -robbing:RPNK:RPNK -robbins:RPNS:RPNS -roberts:RPRT:RPRT -robotic:RPTK:RPTK -rochets:RXTS:RKTS -rockers:RKRS:RKRS -rockery:RKR:RKR -rockets:RKTS:RKTS -rockier:RKR:RKR -rockies:RKS:RKS -rockily:RKL:RKL -rocking:RKNK:RKNK -rockoon:RKN:RKN -rodding:RTNK:RTNK -rodents:RTNT:RTNT -roebuck:RPK:RPK -rogallo:RKL:RKL -rogatio:RKT:RKT -rognons:RNNS:RKNN -roguery:RKR:RKR -roguish:RKX:RKX -roiling:RLNK:RLNK -roister:RSTR:RSTR -rolando:RLNT:RLNT -rollbar:RLPR:RLPR -rollers:RLRS:RLRS -rollick:RLK:RLK -rolling:RLNK:RLNK -rollmop:RLMP:RLMP -rollway:RL:RL -romaine:RMN:RMN -romance:RMNS:RMNS -romania:RMN:RMN -romanic:RMNK:RMNK -romberg:RMPR:RMPR -rompers:RMPR:RMPR -romping:RMPN:RMPN -rompish:RMPX:RMPX -rondeau:RNT:RNT -rondels:RNTL:RNTL -rondure:RNTR:RNTR -rongeur:RNJR:RNKR -rontgen:RNTJ:RNTK -roofage:RFJ:RFK -roofers:RFRS:RFRS -roofing:RFNK:RFNK -rooftop:RFTP:RFTP -rookery:RKR:RKR -rookier:RKR:RKR -rookies:RKS:RKS -rooking:RKNK:RKNK -roomers:RMRS:RMRS -roomful:RMFL:RMFL -roomier:RM:RMR -roomily:RML:RML -rooming:RMNK:RMNK -roosted:RSTT:RSTT -rooster:RSTR:RSTR -rooters:RTRS:RTRS -rooting:RTNK:RTNK -rootled:RTLT:RTLT -rootlet:RTLT:RTLT -ropable:RPPL:RPPL -ropiest:RPST:RPST -roquets:RKTS:RKTS -rorqual:RRKL:RRKL -rosacea:RSS:RSS -rosalyn:RSLN:RSLN -rosaria:RSR:RSR -roseate:RST:RST -rosebay:RSP:RSP -rosebud:RSPT:RSPT -rosehip:RSHP:RSHP -rosella:RSL:RSL -roseola:RSL:RSL -rosette:RST:RST -rosiest:RSST:RSST -rosined:RSNT:RSNT -rosolic:RSLK:RSLK -rosters:RSTR:RSTR -rostrad:RSTR:RSTR -rostral:RSTR:RSTR -rostrum:RSTR:RSTR -rotated:RTTT:RTTT -rotates:RTTS:RTTS -rotator:RTTR:RTTR -rotifer:RTFR:RTFR -rotters:RTRS:RTRS -rotting:RTNK:RTNK -rotular:RTLR:RTLR -rotunda:RTNT:RTNT -roubles:RPLS:RPLS -rouches:RXS:RKS -roughed:RFT:RFT -roughen:RFN:RFN -rougher:RFR:RFR -roughes:RFS:RFS -roughly:RFL:RFL -rouging:RJNK:RKNK -roulade:RLT:RLT -rouleau:RL:RL -rounded:RNTT:RNTT -roundel:RNTL:RNTL -rounder:RNTR:RNTR -roundly:RNTL:RNTL -roundup:RNTP:RNTP -rousers:RSRS:RSRS -rousing:RSNK:RSNK -rousted:RSTT:RSTT -rouster:RSTR:RSTR -routers:RTRS:RTRS -routine:RTN:RTN -routing:RTNK:RTNK -rowboat:RPT:RPT -rowdier:RTR:RTR -rowdies:RTS:RTS -rowdily:RTL:RTL -roweled:RLT:RLT -rowlock:RLK:RLK -royally:RL:RL -royalty:RLT:RLT -rubarth:RPR0:RPRT -rubbers:RPRS:RPRS -rubbery:RPR:RPR -rubbing:RPNK:RPNK -rubbish:RPX:RPX -rubdown:RPTN:RPTN -rubella:RPL:RPL -rubeola:RPL:RPL -rubicon:RPKN:RPKN -rubidic:RPTK:RPTK -rubious:RPS:RPS -rubrics:RPRK:RPRK -ruching:RXNK:RKNK -rucking:RKNK:RKNK -ruckled:RKLT:RKLT -ruction:RKXN:RKXN -rudders:RTRS:RTRS -ruddier:RT:RTR -ruddily:RTL:RTL -ruddled:RTLT:RTLT -ruddles:RTLS:RTLS -ruddock:RTK:RTK -ruderal:RTRL:RTRL -ruffian:RFN:RFN -ruffing:RFNK:RFNK -ruffled:RFLT:RFLT -ruffler:RFLR:RFLR -ruffles:RFLS:RFLS -ruglike:RKLK:RKLK -ruining:RNNK:RNNK -ruinous:RNS:RNS -rulable:RLPL:RLPL -rulings:RLNK:RLNK -rumania:RMN:RMN -rumansh:RMNX:RMNX -rumbaba:RMPP:RMPP -rumbled:RMPL:RMPL -rumbler:RMPL:RMPL -rumbles:RMPL:RMPL -rummage:RMJ:RMK -rummers:RMRS:RMRS -rummest:RMST:RMST -rummily:RML:RML -rumness:RMNS:RMNS -rumored:RMRT:RMRT -rumorer:RMRR:RMRR -rumpled:RMPL:RMPL -rumples:RMPL:RMPL -runaway:RN:RN -rundale:RNTL:RNTL -rundown:RNTN:RNTN -runless:RNLS:RNLS -runlets:RNLT:RNLT -runnels:RNLS:RNLS -runners:RNRS:RNRS -runnier:RN:RNR -running:RNNK:RNNK -runoffs:RNFS:RNFS -runtier:RNT:RNTR -runtime:RNTM:RNTM -runtish:RNTX:RNTX -runways:RNS:RNS -rupiahs:RPS:RPS -rupture:RPTR:RPTR -ruralis:RRLS:RRLS -rurally:RRL:RRL -rushers:RXRS:RXRS -rushier:RX:RXR -rushing:RXNK:RXNK -russell:RSL:RSL -russets:RSTS:RSTS -russety:RST:RST -russian:RSN:RSN -russify:RSF:RSF -russula:RSL:RSL -rustics:RSTK:RSTK -rustier:RST:RSTR -rustily:RSTL:RSTL -rusting:RSTN:RSTN -rustled:RSTL:RSTL -rustler:RSTL:RSTL -rustles:RSTL:RSTL -ruttier:RT:RTR -ruttily:RTL:RTL -rutting:RTNK:RTNK -ruttish:RTX:RTX -sabayon:SPN:SPN -sabbath:SP0:SPT -sabreur:SPRR:SPRR -sabring:SPRN:SPRN -saburra:SPR:SPR -sacaton:SKTN:SKTN -saccade:SKT:SKT -saccate:SKT:SKT -saccule:SKL:SKL -sacculi:SKL:SKL -sachems:SXMS:SKMS -sachets:SXTS:SKTS -sackbut:SKPT:SKPT -sackers:SKRS:SKRS -sackful:SKFL:SKFL -sacking:SKNK:SKNK -saclike:SKLK:SKLK -sacring:SKRN:SKRN -sacrums:SKRM:SKRM -saddens:STNS:STNS -saddest:STST:STST -saddled:STLT:STLT -saddler:STLR:STLR -saddles:STLS:STLS -sadiron:STRN:STRN -sadists:STST:STST -sadness:STNS:STNS -safaris:SFRS:SFRS -safeway:SF:SF -saffian:SFN:SFN -saffron:SFRN:SFRN -safrole:SFRL:SFRL -saggars:SKRS:SKRS -saggier:SJ:SKR -sagging:SJNK:SKNK -sagitta:SJT:SKT -sagrada:SKRT:SKRT -saguaro:SKR:SKR -saharan:SHRN:SHRN -sailers:SLRS:SLRS -sailing:SLNK:SLNK -sailors:SLRS:SLRS -sainted:SNTT:SNTT -saintly:SNTL:SNTL -salaams:SLMS:SLMS -salable:SLPL:SLPL -salamis:SLMS:SLMS -salchow:SLX:SLKF -salicin:SLSN:SLSN -salient:SLNT:SLNT -salinas:SLNS:SLNS -salines:SLNS:SLNS -sallees:SLS:SLS -sallets:SLTS:SLTS -sallied:SLT:SLT -sallier:SL:SLR -sallies:SLS:SLS -sallowy:SL:SL -salmine:SLMN:SLMN -salmons:SLMN:SLMN -saloons:SLNS:SLNS -salpinx:SLPN:SLPN -salsify:SLSF:SLSF -saltant:SLTN:SLTN -saltbox:SLTP:SLTP -saltern:SLTR:SLTR -salters:SLTR:SLTR -saltest:SLTS:SLTS -saltier:SLT:SLTR -saltily:SLTL:SLTL -saltine:SLTN:SLTN -salting:SLTN:SLTN -saltire:SLTR:SLTR -saltish:SLTX:SLTX -saltpan:SLTP:SLTP -saluted:SLTT:SLTT -saluter:SLTR:SLTR -salutes:SLTS:SLTS -salvage:SLFJ:SLFK -salvers:SLFR:SLFR -salving:SLFN:SLFN -salvoes:SLFS:SLFS -samaria:SMR:SMR -samlets:SMLT:SMLT -samoans:SMNS:SMNS -samosas:SMSS:SMSS -samovar:SMFR:SMFR -samoyed:SMT:SMT -sampans:SMPN:SMPN -sampled:SMPL:SMPL -sampler:SMPL:SMPL -samples:SMPL:SMPL -samsara:SMSR:SMSR -samurai:SMR:SMR -sanctum:SNKT:SNKT -sanctus:SNKT:SNKT -sandals:SNTL:SNTL -sandbag:SNTP:SNTP -sandbar:SNTP:SNTP -sandbox:SNTP:SNTP -sandboy:SNTP:SNTP -sanders:SNTR:SNTR -sandfly:SNTF:SNTF -sandhis:SNTS:SNTS -sandhog:SNTK:SNTK -sandier:SNT:SNTR -sanding:SNTN:SNTN -sandlot:SNTL:SNTL -sandman:SNTM:SNTM -sandmen:SNTM:SNTM -sandpit:SNTP:SNTP -sanford:SNFR:SNFR -sangars:SNKR:SNKR -sangria:SNKR:SNKR -sanguis:SNKS:SNKS -sanicle:SNKL:SNKL -sanious:SNS:SNS -sanseis:SNSS:SNSS -saphead:SFT:SFT -saphena:SFN:SFN -sapiens:SPNS:SPNS -sapient:SPNT:SPNT -sapless:SPLS:SPLS -sapling:SPLN:SPLN -saponin:SPNN:SPNN -sappers:SPRS:SPRS -sapphic:SPK:SPK -sappier:SP:SPR -sappily:SPL:SPL -sapping:SPNK:SPNK -saprobe:SPRP:SPRP -sapsago:SPSK:SPSK -sapwood:SPT:SPT -saracen:SRSN:SRSN -sarangi:SRNJ:SRNK -sarapus:SRPS:SRPS -sarcasm:SRKS:SRKS -sarcina:SRSN:SRSN -sarcoid:SRKT:SRKT -sarcoma:SRKM:SRKM -sarcous:SRKS:SRKS -sardine:SRTN:SRTN -sarkier:SRKR:SRKR -sarongs:SRNK:SRNK -sarsens:SRSN:SRSN -sarsent:SRSN:SRSN -sashays:SXS:SXS -sashing:SXNK:SXNK -sassaby:SSP:SSP -sassier:SS:SSR -sassily:SSL:SSL -sassing:SSNK:SSNK -satanic:STNK:STNK -satchel:SXL:SXL -sateens:STNS:STNS -satiate:SXT:SXT -satiety:STT:STT -satinet:STNT:STNT -satires:STRS:STRS -satiric:STRK:STRK -satisfy:STSF:STSF -sativae:STF:STF -satraps:STRP:STRP -satrapy:STRP:STRP -satsuma:STSM:STSM -satyric:STRK:STRK -satyrid:STRT:STRT -saucers:SSRS:SSRS -saucier:SS:SXR -saucily:SSL:SSL -saucing:SSNK:SSNK -saunter:SNTR:SNTR -saurian:SRN:SRN -sauries:SRS:SRS -sausage:SSJ:SSK -sauteed:STT:STT -sauting:STNK:STNK -savable:SFPL:SFPL -savaged:SFJT:SFKT -savager:SFKR:SFJR -savages:SFJS:SFKS -savanna:SFN:SFN -savante:SFNT:SFNT -savants:SFNT:SFNT -saveloy:SFL:SFL -savings:SFNK:SFNK -saviors:SFRS:SFRS -savored:SFRT:SFRT -savorer:SFRR:SFRR -savvied:SFT:SFT -savvies:SFS:SFS -sawbill:SPL:SPL -sawbuck:SPK:SPK -sawdust:STST:STST -sawfish:SFX:SFX -sawmill:SML:SML -sawyers:SRS:SRS -saxhorn:SKSR:SKSR -sayable:SPL:SPL -sayings:SNKS:SNKS -scabbed:SKPT:SKPT -scabble:SKPL:SKPL -scabies:SKPS:SKPS -scabrid:SKPR:SKPR -scalade:SKLT:SKLT -scalage:SKLJ:SKLK -scalars:SKLR:SKLR -scalawa:SKL:SKL -scalded:SKLT:SKLT -scalder:SKLT:SKLT -scalene:SKLN:SKLN -scaleni:SKLN:SKLN -scalers:SKLR:SKLR -scalier:SKL:SKLR -scaling:SKLN:SKLN -scallop:SKLP:SKLP -scalped:SKLP:SKLP -scalpel:SKLP:SKLP -scalper:SKLP:SKLP -scalpra:SKLP:SKLP -scamped:SKMP:SKMP -scamper:SKMP:SKMP -scandal:SKNT:SKNT -scandic:SKNT:SKNT -scanned:SKNT:SKNT -scanner:SKNR:SKNR -scanted:SKNT:SKNT -scantly:SKNT:SKNT -scapula:SKPL:SKPL -scarabs:SKRP:SKRP -scarcer:SKRS:SKRS -scarers:SKRR:SKRR -scarfed:SKRF:SKRF -scarier:SKR:SKRR -scarify:SKRF:SKRF -scaring:SKRN:SKRN -scarlet:SKRL:SKRL -scarped:SKRP:SKRP -scarper:SKRP:SKRP -scarred:SKRT:SKRT -scarves:SKRF:SKRF -scathed:SK0T:SKTT -scatole:SKTL:SKTL -scatoma:SKTM:SKTM -scatted:SKTT:SKTT -scatter:SKTR:SKTR -scatula:SKTL:SKTL -scended:SNTT:SNTT -scenery:SNR:SNR -scented:SNTT:SNTT -scepter:SPTR:SPTR -sceptic:SPTK:SPTK -schappe:XP:XP -schemas:SKMS:SKMS -schemed:SKMT:SKMT -schemer:SKMR:SKMR -schemes:SKMS:SKMS -scherzi:XRS:SKRS -scherzo:XRS:SKRS -schisms:XSMS:XSMS -schists:XSTS:XSTS -schizos:XSS:XSS -schlemm:XLM:SLM -schleps:XLPS:SLPS -schlock:XLK:SLK -schmalz:XMLS:SMLS -schmidt:XMT:SMT -schmoes:XMS:SMS -schnook:XNK:SNK -scholar:XLR:XLR -scholia:XL:XL -schools:SKLS:SKLS -schultz:XLTS:XLTS -schwann:XN:XFN -sciatic:STK:STK -science:SNS:SNS -scirrhi:SR:SR -scissel:SSL:SSL -scissle:SSL:SSL -scissor:SSR:SSR -sclaffs:SKFS:SKFS -sclerae:SKR:SKR -scleral:SKRL:SKRL -scleras:SKRS:SKRS -scoffed:SKFT:SKFT -scoffer:SKFR:SKFR -scolded:SKLT:SKLT -scolder:SKLT:SKLT -scollop:SKLP:SKLP -sconced:SKNS:SKNS -sconces:SKNS:SKNS -scooped:SKPT:SKPT -scooper:SKPR:SKPR -scooted:SKTT:SKTT -scooter:SKTR:SKTR -scopine:SKPN:SKPN -scoping:SKPN:SKPN -scopola:SKPL:SKPL -scopula:SKPL:SKPL -scorers:SKRR:SKRR -scoriae:SKR:SKR -scorify:SKRF:SKRF -scoring:SKRN:SKRN -scorned:SKRN:SKRN -scorner:SKRN:SKRN -scorper:SKRP:SKRP -scorpio:SKRP:SKRP -scoters:SKTR:SKTR -scotian:SKXN:SKXN -scotias:SKXS:SKXS -scotish:SKTX:SKTX -scotoma:SKTM:SKTM -scotted:SKTT:SKTT -scoured:SKRT:SKRT -scourer:SKRR:SKRR -scourge:SKRJ:SKRK -scouser:SKSR:SKSR -scouted:SKTT:SKTT -scouter:SKTR:SKTR -scowled:SKLT:SKLT -scowler:SKLR:SKLR -scraggy:SKK:SKK -scraped:SKPT:SKPT -scraper:SKPR:SKPR -scrapes:SKPS:SKPS -scrapie:SKP:SKP -scrappy:SKP:SKP -scratch:SKX:SKX -scrawls:SKLS:SKLS -scrawly:SKL:SKL -scrawny:SKN:SKN -screams:SKMS:SKMS -screech:SKK:SKK -screens:SKNS:SKNS -screeve:SKF:SKF -screwed:SKT:SKT -scribed:SKPT:SKPT -scriber:SKPR:SKPR -scribes:SKPS:SKPS -scrimps:SKMP:SKMP -scrimpy:SKMP:SKMP -scripta:SKPT:SKPT -scripts:SKPT:SKPT -scrolls:SKLS:SKLS -scrooge:SKJ:SKK -scrotal:SKTL:SKTL -scrotum:SKTM:SKTM -scrubby:SKP:SKP -scruffs:SKFS:SKFS -scruffy:SKF:SKF -scrumps:SKMP:SKMP -scrumpy:SKMP:SKMP -scrunch:SKNX:SKNK -scruple:SKPL:SKPL -scrying:SKNK:SKNK -scudded:SKTT:SKTT -scuffed:SKFT:SKFT -scuffle:SKFL:SKFL -sculled:SKLT:SKLT -sculler:SKLR:SKLR -sculpts:SKLP:SKLP -scumble:SKMP:SKMP -scummed:SKMT:SKMT -scummer:SKMR:SKMR -scunner:SKNR:SKNR -scupper:SKPR:SKPR -scutage:SKTJ:SKTK -scutate:SKTT:SKTT -scutter:SKTR:SKTR -scuttle:SKTL:SKTL -scutula:SKTL:SKTL -scybala:SPL:SPL -scythed:S0T:STT -scythes:S0S:STS -seabeds:SPTS:SPTS -seabird:SPRT:SPRT -seacock:SKK:SKK -seafood:SFT:SFT -seagirt:SJRT:SKRT -seagull:SKL:SKL -seakale:SKL:SKL -seakeep:SKP:SKP -sealant:SLNT:SLNT -sealers:SLRS:SLRS -sealery:SLR:SLR -sealing:SLNK:SLNK -seamark:SMRK:SMRK -seamers:SMRS:SMRS -seamier:SM:SMR -seaming:SMNK:SMNK -seances:SNSS:SNSS -seaport:SPRT:SPRT -searing:SRNK:SRNK -seasick:SSK:SSK -seaside:SST:SST -seasons:SSNS:SSNS -seaters:STRS:STRS -seating:STNK:STNK -seattle:STL:STL -seawall:SL:SL -seaward:SRT:SRT -seaware:SR:SR -seaways:SS:SS -seaweed:ST:ST -secants:SKNT:SKNT -seceded:SSTT:SSTT -seceder:SSTR:SSTR -secedes:SSTS:SSTS -seclude:SKLT:SKLT -seconal:SKNL:SKNL -seconde:SKNT:SKNT -secondi:SKNT:SKNT -secondo:SKNT:SKNT -seconds:SKNT:SKNT -secrecy:SKRS:SKRS -secreta:SKRT:SKRT -secrete:SKRT:SKRT -secrets:SKRT:SKRT -sectary:SKTR:SKTR -sectile:SKTL:SKTL -section:SKXN:SKXN -sectors:SKTR:SKTR -secular:SKLR:SKLR -secunda:SKNT:SKNT -secured:SKRT:SKRT -securer:SKRR:SKRR -secures:SKRS:SKRS -sedated:STTT:STTT -sedates:STTS:STTS -sedilia:STL:STL -seduced:STST:STST -seducee:STS:STS -seducer:STSR:STSR -seduces:STSS:STSS -seeable:SPL:SPL -seebeck:SPK:SPK -seedbed:STPT:STPT -seeders:STRS:STRS -seedier:ST:STR -seedily:STL:STL -seeding:STNK:STNK -seedpod:STPT:STPT -seekers:SKRS:SKRS -seeking:SKNK:SKNK -seeling:SLNK:SLNK -seeming:SMNK:SMNK -seepage:SPJ:SPK -seeping:SPNK:SPNK -seeress:SRS:SRS -seesaws:SSS:SSS -seethed:S0T:STT -seethes:S0S:STS -segment:SKMN:SKMN -seiners:SNRS:SNRS -seining:SNNK:SNNK -seising:SSNK:SSNK -seismic:SSMK:SSMK -seizers:SSRS:SSRS -seizing:SSNK:SSNK -seizure:SSR:SSR -selects:SLKT:SLKT -selenic:SLNK:SLNK -selfish:SLFX:SLFX -sellaes:SLS:SLS -sellers:SLRS:SLRS -selling:SLNK:SLNK -sellout:SLT:SLT -seltzer:SLTS:SLTS -selvage:SLFJ:SLFK -sematic:SMTK:SMTK -semayne:SMN:SMN -sembled:SMPL:SMPL -semidry:SMTR:SMTR -seminal:SMNL:SMNL -seminar:SMNR:SMNR -semipro:SMPR:SMPR -semites:SMTS:SMTS -semitic:SMTK:SMTK -senates:SNTS:SNTS -senator:SNTR:SNTR -sendees:SNTS:SNTS -senders:SNTR:SNTR -sending:SNTN:SNTN -sendoff:SNTF:SNTF -senecas:SNKS:SNKS -senecio:SNS:SNX -senegal:SNKL:SNKL -senegin:SNJN:SNKN -senhora:SNR:SNR -senilis:SNLS:SNLS -seniors:SNRS:SNRS -senopia:SNP:SNP -senoras:SNRS:SNRS -señoras:SNRS:SNRS -senores:SNRS:SNRS -señores:SNRS:SNRS -sensate:SNST:SNST -sensing:SNSN:SNSN -sensors:SNSR:SNSR -sensory:SNSR:SNSR -sensual:SNSL:SNSL -septate:SPTT:SPTT -septets:SPTT:SPTT -septile:SPTL:SPTL -septime:SPTM:SPTM -septula:SPTL:SPTL -septums:SPTM:SPTM -sequela:SKL:SKL -sequels:SKLS:SKLS -sequens:SKNS:SKNS -sequent:SKNT:SKNT -sequest:SKST:SKST -sequins:SKNS:SKNS -sequoia:SK:SK -serapes:SRPS:SRPS -seraphs:SRFS:SRFS -serbian:SRPN:SRPN -serenoa:SRN:SRN -serfdom:SRFT:SRFT -serials:SRLS:SRLS -seriary:SRR:SRR -seriate:SRT:SRT -sericin:SRSN:SRSN -seriema:SRM:SRM -seringa:SRNK:SRNK -serioso:SRS:SRS -serious:SRS:SRS -sermons:SRMN:SRMN -serosae:SRS:SRS -serosal:SRSL:SRSL -serosas:SRSS:SRSS -serpent:SRPN:SRPN -serpigo:SRPK:SRPK -serpula:SRPL:SRPL -serrata:SRT:SRT -serrate:SRT:SRT -serrati:SRT:SRT -serried:SRT:SRT -sertoli:SRTL:SRTL -serumal:SRML:SRML -servals:SRFL:SRFL -servant:SRFN:SRFN -servers:SRFR:SRFR -servery:SRFR:SRFR -service:SRFS:SRFS -servile:SRFL:SRFL -serving:SRFN:SRFN -sesames:SSMS:SSMS -sessile:SSL:SSL -session:SSN:SSN -sestets:SSTT:SSTT -sestina:SSTN:SSTN -setaria:STR:STR -setback:STPK:STPK -setfast:STFS:STFS -setline:STLN:STLN -setouts:STTS:STTS -settees:STS:STS -setters:STRS:STRS -setting:STNK:STNK -settled:STLT:STLT -settler:STLR:STLR -settles:STLS:STLS -settlor:STLR:STLR -seventh:SFN0:SFNT -seventy:SFNT:SFNT -several:SFRL:SFRL -severed:SFRT:SFRT -severer:SFRR:SFRR -seville:SFL:SFL -sexiest:SKSS:SKSS -sexists:SKSS:SKSS -sexless:SKSL:SKSL -sexpots:SKSP:SKSP -sextans:SKST:SKST -sextant:SKST:SKST -sextets:SKST:SKST -sextile:SKST:SKST -sextons:SKST:SKST -seyoras:SRS:SRS -seyores:SRS:SRS -sfumato:SFMT:SFMT -shacked:XKT:XKT -shacker:XKR:XKR -shackle:XKL:XKL -shadier:XT:XTR -shadily:XTL:XTL -shading:XTNK:XTNK -shadoof:XTF:XTF -shadows:XTS:XTS -shadowy:XT:XT -shafted:XFTT:XFTT -shagged:XKT:XKT -shahdom:XTM:XTM -shakers:XKRS:XKRS -shakeup:XKP:XKP -shakier:XKR:XKR -shakily:XKL:XKL -shaking:XKNK:XKNK -shallop:XLP:XLP -shallot:XLT:XLT -shallow:XL:XLF -shamans:XMNS:XMNS -shamble:XMPL:XMPL -shaming:XMNK:XMNK -shammed:XMT:XMT -shammer:XMR:XMR -shampoo:XMP:XMP -shangri:XNKR:XNKR -shanked:XNKT:XNKT -shapely:XPL:XPL -shapers:XPRS:XPRS -shapeup:XPP:XPP -shaping:XPNK:XPNK -sharers:XRRS:XRRS -sharing:XRNK:XRNK -sharked:XRKT:XRKT -sharped:XRPT:XRPT -sharpen:XRPN:XRPN -sharper:XRPR:XRPR -sharpey:XRP:XRP -sharpie:XRP:XRP -sharply:XRPL:XRPL -shatter:XTR:XTR -shavers:XFRS:XFRS -shavian:XFN:XFN -shaving:XFNK:XFNK -shawled:XLT:XLT -shawnee:XN:XN -sheafed:XFT:XFT -sheared:XRT:XRT -shearer:XRR:XRR -sheathe:X0:XT -sheaths:X0S:XTS -sheaved:XFT:XFT -sheaves:XFS:XFS -shebang:XPNK:XPNK -shebeen:XPN:XPN -shedder:XTR:XTR -sheepdo:XPT:XPT -sheered:XRT:XRT -sheerly:XRL:XRL -sheeted:XTT:XTT -sheikhs:XKS:XKS -shellac:XLK:XLK -shelled:XLT:XLT -sheller:XLR:XLR -shelley:XL:XL -shelter:XLTR:XLTR -sheltie:XLT:XLT -shelved:XLFT:XLFT -shelver:XLFR:XLFR -shelves:XLFS:XLFS -sherbet:XRPT:XRPT -sheriff:XRF:XRF -sherpas:XRPS:XRPS -shewing:XNK:XNK -shiatsu:XTS:XTS -shields:XLTS:XLTS -shifted:XFTT:XFTT -shifter:XFTR:XFTR -shikari:XKR:XKR -shikars:XKRS:XKRS -shimmed:XMT:XMT -shimmer:XMR:XMR -shindig:XNTK:XNTK -shiners:XNRS:XNRS -shiness:XNS:XNS -shingle:XNKL:XNKL -shingly:XNKL:XNKL -shinier:XN:XNR -shinily:XNL:XNL -shining:XNNK:XNNK -shinned:XNT:XNT -shinney:XN:XN -shipman:XPMN:XPMN -shipmen:XPMN:XPMN -shipped:XPT:XPT -shipper:XPR:XPR -shippon:XPN:XPN -shipway:XP:XP -shirked:XRKT:XRKT -shirker:XRKR:XRKR -shirley:XRL:XRL -shirred:XRT:XRT -shivers:XFRS:XFRS -shivery:XFR:XFR -shoaled:XLT:XLT -shocked:XKT:XKT -shocker:XKR:XKR -shoeing:XNK:XNK -shoguns:XKNS:XKNS -shooing:XNK:XNK -shootee:XT:XT -shooter:XTR:XTR -shopped:XPT:XPT -shopper:XPR:XPR -shoring:XRNK:XRNK -shorted:XRTT:XRTT -shorten:XRTN:XRTN -shorter:XRTR:XRTR -shortly:XRTL:XRTL -shotgun:XTKN:XTKN -shotted:XTT:XTT -shotten:XTN:XTN -shouted:XTT:XTT -shouter:XTR:XTR -shovels:XFLS:XFLS -shovers:XFRS:XFRS -shoving:XFNK:XFNK -showers:XRS:XRS -showery:XR:XR -showier:XR:XR -showily:XL:XL -showing:XNK:XNK -showman:XMN:XMN -showmen:XMN:XMN -showoff:XF:XF -shrieks:XRKS:XRKS -shrikes:XRKS:XRKS -shrills:XRLS:XRLS -shrilly:XRL:XRL -shrimps:XRMP:XRMP -shrines:XRNS:XRNS -shrinks:XRNK:XRNK -shrived:XRFT:XRFT -shrivel:XRFL:XRFL -shriven:XRFN:XRFN -shrives:XRFS:XRFS -shrouds:XRTS:XRTS -shrubby:XRP:XRP -shticks:XTKS:XTKS -shucked:XKT:XKT -shucker:XKR:XKR -shudder:XTR:XTR -shuffle:XFL:XFL -shunned:XNT:XNT -shunner:XNR:XNR -shunted:XNTT:XNTT -shunter:XNTR:XNTR -shushed:XXT:XXT -shushes:XXS:XXS -shuteye:XT:XT -shutoff:XTF:XTF -shutout:XTT:XTT -shutter:XTR:XTR -shuttle:XTL:XTL -shylock:XLK:XLK -shyness:XNS:XNS -shyster:XSTR:XSTR -sialoid:SLT:XLT -siamang:SMNK:XMNK -siamese:SMS:XMS -siberia:SPR:SPR -sibling:SPLN:SPLN -sibship:SPXP:SPXP -siccant:SKNT:SKNT -siccing:SXNK:SXNK -sickbay:SKP:SKP -sickbed:SKPT:SKPT -sickens:SKNS:SKNS -sickers:SKRS:SKRS -sickest:SKST:SKST -sicking:SKNK:SKNK -sickish:SKX:SKX -sickled:SKLT:SKLT -sickles:SKLS:SKLS -sickout:SKT:SKT -sidearm:STRM:STRM -sidecar:STKR:STKR -sidedly:STTL:STTL -sidelon:STLN:STLN -sideman:STMN:STMN -sidemen:STMN:STMN -sidings:STNK:STNK -sidling:STLN:STLN -siemens:SMNS:SMNS -sierras:SRS:SRS -siestas:SSTS:SSTS -sievert:SFRT:SFRT -sieving:SFNK:SFNK -sifters:SFTR:SFTR -sifting:SFTN:SFTN -sighers:SRS:SRS -sighing:SNK:SNK -sighted:STT:STT -sighter:STR:STR -sightly:STL:STL -sigilli:SJL:SKL -sigmate:SKMT:SKMT -sigmoid:SKMT:SKMT -signals:SNLS:SKNL -signata:SNT:SKNT -signees:SNS:SKNS -signers:SNRS:SKNR -signets:SNTS:SKNT -signify:SNF:SKNF -signing:SNNK:SKNN -signora:SNR:SKNR -signore:SNR:SKNR -signori:SNR:SKNR -signors:SNRS:SKNR -sikhism:SKSM:SKSM -silence:SLNS:SLNS -silesia:SLS:SLX -silicic:SLSK:SLSK -silicle:SLKL:SLKL -silicon:SLKN:SLKN -siliqua:SLK:SLK -siliqui:SLK:SLK -silkier:SLKR:SLKR -silkily:SLKL:SLKL -silkine:SLKN:SLKN -sillier:SL:SLR -sillily:SLL:SLL -siltier:SLT:SLTR -silting:SLTN:SLTN -silurid:SLRT:SLRT -silvers:SLFR:SLFR -silvery:SLFR:SLFR -simatic:SMTK:SMTK -simians:SMNS:SMNS -similar:SMLR:SMLR -similes:SMLS:SMLS -simmers:SMRS:SMRS -simpers:SMPR:SMPR -simpler:SMPL:SMPL -simples:SMPL:SMPL -simplex:SMPL:SMPL -sinapis:SNPS:SNPS -sinatra:SNTR:SNTR -sincere:SNSR:SNSR -sinedie:SNT:SNT -sinewed:SNT:SNT -singely:SNJL:SNKL -singers:SNKR:SNJR -singing:SNJN:SNKN -singled:SNKL:SNKL -singles:SNKL:SNKL -singlet:SNKL:SNKL -sinitic:SNTK:SNTK -sinkers:SNKR:SNKR -sinking:SNKN:SNKN -sinless:SNLS:SNLS -sinners:SNRS:SNRS -sinning:SNNK:SNNK -sinters:SNTR:SNTR -sinuate:SNT:SNT -sinuous:SNS:SNS -sinuses:SNSS:SNSS -siphons:SFNS:SFNS -sippers:SPRS:SPRS -sipping:SPNK:SPNK -sirloin:SRLN:SRLN -sirocco:SRK:SRK -sissies:SSS:SSS -sisters:SSTR:SSTR -sistine:SSTN:SSTN -sitcoms:STKM:STKM -sitfast:STFS:STFS -sitters:STRS:STRS -sitting:STNK:STNK -situate:STT:STT -sixains:SKSN:SKSN -sixfold:SKSF:SKSF -sixteen:SKST:SKST -sixthes:SKS0:SKST -sixthly:SKS0:SKST -sixties:SKST:SKST -sizable:SSPL:SSPL -sizably:SSPL:SSPL -sizings:SSNK:SSNK -sizzled:SSLT:SSLT -sizzler:SSLR:SSLR -sizzles:SSLS:SSLS -sjogren:SKRN:SKRN -skaters:SKTR:SKTR -skating:SKTN:SKTN -skatole:SKTL:SKTL -skelped:SKLP:SKLP -skeptic:SKPT:SKPT -sketchy:SKX:SKX -skewers:SKRS:SKRS -skewing:SKNK:SKNK -skiable:SKPL:SKPL -skibobs:SKPP:SKPP -skidded:SKTT:SKTT -skidpan:SKTP:SKTP -skiffle:SKFL:SKFL -skilful:SKLF:SKLF -skilled:SKLT:SKLT -skillet:SKLT:SKLT -skimmed:SKMT:SKMT -skimmer:SKMR:SKMR -skimped:SKMP:SKMP -skinned:SKNT:SKNT -skinner:SKNR:SKNR -skipped:SKPT:SKPT -skipper:SKPR:SKPR -skippet:SKPT:SKPT -skirled:SKRL:SKRL -skirred:SKRT:SKRT -skirret:SKRT:SKRT -skirted:SKRT:SKRT -skirter:SKRT:SKRT -skiting:SKTN:SKTN -skitter:SKTR:SKTR -skittle:SKTL:SKTL -skivers:SKFR:SKFR -skiving:SKFN:SKFN -skulked:SKLK:SKLK -skulker:SKLK:SKLK -skulled:SKLT:SKLT -skunked:SKNK:SKNK -skycaps:SKKP:SKKP -skydive:SKTF:SKTF -skyjack:SKJK:SKJK -skylark:SKLR:SKLR -skyline:SKLN:SKLN -skysail:SKSL:SKSL -skywalk:SKLK:SKLK -skyward:SKRT:SKRT -slabbed:SLPT:XLPT -slabber:SLPR:XLPR -slacked:SLKT:XLKT -slacken:SLKN:XLKN -slacker:SLKR:XLKR -slackly:SLKL:XLKL -slading:SLTN:XLTN -slagged:SLKT:XLKT -slaking:SLKN:XLKN -slaloms:SLLM:XLLM -slammed:SLMT:XLMT -slammer:SLMR:XLMR -slander:SLNT:XLNT -slanged:SLNJ:XLNK -slanted:SLNT:XLNT -slantly:SLNT:XLNT -slapped:SLPT:XLPT -slapper:SLPR:XLPR -slashed:SLXT:XLXT -slasher:SLXR:XLXR -slashes:SLXS:XLXS -slather:SL0R:XLTR -slatier:SLT:XLTR -slating:SLTN:XLTN -slatted:SLTT:XLTT -slavers:SLFR:XLFR -slavery:SLFR:XLFR -slaving:SLFN:XLFN -slavish:SLFX:XLFX -slayers:SLRS:XLRS -slaying:SLNK:XLNK -sleaved:SLFT:XLFT -sleaves:SLFS:XLFS -sledded:SLTT:XLTT -sledged:SLJT:XLJT -sledger:SLJR:XLJR -sledges:SLJS:XLJS -sleeker:SLKR:XLKR -sleekly:SLKL:XLKL -sleeper:SLPR:XLPR -sleeted:SLTT:XLTT -sleeved:SLFT:XLFT -sleeves:SLFS:XLFS -sleighs:SLS:XLS -sleight:SLT:XLT -slender:SLNT:XLNT -sleuths:SL0S:XLTS -slewing:SLNK:XLNK -slicers:SLSR:XLSR -slicing:SLSN:XLSN -slicked:SLKT:XLKT -slicker:SLKR:XLKR -slickly:SLKL:XLKL -sliders:SLTR:XLTR -sliding:SLTN:XLTN -slights:SLTS:XLTS -slimely:SLML:XLML -slimier:SLM:XLMR -slimily:SLML:XLML -sliming:SLMN:XLMN -slimmed:SLMT:XLMT -slimmer:SLMR:XLMR -sliness:SLNS:XLNS -slinger:SLNK:XLNJ -sliotar:SLTR:XLTR -slipped:SLPT:XLPT -slipper:SLPR:XLPR -slipups:SLPP:XLPP -slipway:SLP:XLP -slither:SL0R:XLTR -slitted:SLTT:XLTT -slivers:SLFR:XLFR -slobber:SLPR:XLPR -slogans:SLKN:XLKN -slogged:SLKT:XLKT -slogger:SLKR:XLKR -slopers:SLPR:XLPR -sloping:SLPN:XLPN -slopped:SLPT:XLPT -sloshed:SLXT:XLXT -sloshes:SLXS:XLXS -slothes:SL0S:XLTS -slotted:SLTT:XLTT -slouchy:SLX:XLK -sloughs:SLFS:XLFS -sloughy:SLF:XLF -slovaks:SLFK:XLFK -slovene:SLFN:XLFN -slowest:SLST:XLST -slowing:SLNK:XLNK -slubbed:SLPT:XLPT -slubber:SLPR:XLPR -slugged:SLKT:XLKT -slugger:SLKR:XLKR -sluiced:SLST:XLST -sluices:SLSS:XLSS -slumber:SLMR:XLMR -slummed:SLMT:XLMT -slummer:SLMR:XLMR -slumped:SLMP:XLMP -slurped:SLRP:XLRP -slurred:SLRT:XLRT -slusher:SLXR:XLXR -slyness:SLNS:XLNS -smacked:SMKT:XMKT -smacker:SMKR:XMKR -smaller:SMLR:XMLR -smarted:SMRT:XMRT -smarten:SMRT:XMRT -smarter:SMRT:XMRT -smartie:SMRT:XMRT -smartly:SMRT:XMRT -smashed:SMXT:XMXT -smasher:SMXR:XMXR -smashes:SMXS:XMXS -smashup:SMXP:XMXP -smatter:SMTR:XMTR -smeared:SMRT:XMRT -smearer:SMRR:XMRR -smectic:SMKT:XMKT -smelled:SMLT:XMLT -smeller:SMLR:XMLR -smelted:SMLT:XMLT -smelter:SMLT:XMLT -smidgen:SMJN:XMJN -smidgin:SMJN:XMJN -smilers:SMLR:XMLR -smiling:SMLN:XMLN -smirked:SMRK:XMRK -smirker:SMRK:XMRK -smiters:SMTR:XMTR -smithes:SM0S:XMTS -smiting:SMTN:XMTN -smitten:SMTN:XMTN -smocked:SMKT:XMKT -smokers:SMKR:XMKR -smokier:SMKR:XMKR -smokies:SMKS:XMKS -smokily:SMKL:XMKL -smoking:SMKN:XMKN -smolder:SMLT:XMLT -smoodge:SMJ:XMJ -smooths:SM0S:XMTS -smother:SM0R:XMTR -smudged:SMJT:XMJT -smudges:SMJS:XMJS -smugger:SMKR:XMKR -smuggle:SMKL:XMKL -smutchy:SMX:XMX -smutted:SMTT:XMTT -snacked:SNKT:XNKT -snaffle:SNFL:XNFL -snagged:SNKT:XNKT -snakier:SNKR:XNKR -snakily:SNKL:XNKL -snaking:SNKN:XNKN -snapped:SNPT:XNPT -snapper:SNPR:XNPR -snarely:SNRL:XNRL -snarers:SNRR:XNRR -snaring:SNRN:XNRN -snarled:SNRL:XNRL -snarler:SNRL:XNRL -snatchy:SNX:XNX -sneaked:SNKT:XNKT -sneaker:SNKR:XNKR -sneered:SNRT:XNRT -sneerer:SNRR:XNRR -sneezed:SNST:XNST -sneezer:SNSR:XNSR -sneezes:SNSS:XNSS -snellen:SNLN:XNLN -snibbed:SNPT:XNPT -snicked:SNKT:XNKT -snicker:SNKR:XNKR -snidely:SNTL:XNTL -snidest:SNTS:XNTS -sniffed:SNFT:XNFT -sniffer:SNFR:XNFR -sniffle:SNFL:XNFL -sniffly:SNFL:XNFL -snifter:SNFT:XNFT -snigger:SNKR:XNKR -sniggle:SNKL:XNKL -snipers:SNPR:XNPR -sniping:SNPN:XNPN -snipped:SNPT:XNPT -snipper:SNPR:XNPR -snippet:SNPT:XNPT -snivels:SNFL:XNFL -snooker:SNKR:XNKR -snooped:SNPT:XNPT -snooper:SNPR:XNPR -snoozed:SNST:XNST -snoozer:SNSR:XNSR -snoozes:SNSS:XNSS -snorers:SNRR:XNRR -snoring:SNRN:XNRN -snorkel:SNRK:XNRK -snorted:SNRT:XNRT -snorter:SNRT:XNRT -snouted:SNTT:XNTT -snowcap:SNKP:XNKP -snowier:SNR:XNR -snowily:SNL:XNL -snowing:SNNK:XNNK -snowman:SNMN:XNMN -snowmen:SNMN:XNMN -snubbed:SNPT:XNPT -snubber:SNPR:XNPR -snuffed:SNFT:XNFT -snuffer:SNFR:XNFR -snuffle:SNFL:XNFL -snuffly:SNFL:XNFL -snugged:SNKT:XNKT -snugger:SNKR:XNKR -snuggle:SNKL:XNKL -soakage:SKJ:SKK -soakers:SKRS:SKRS -soaking:SKNK:SKNK -soapbox:SPKS:SPKS -soapers:SPRS:SPRS -soapier:SP:SPR -soapily:SPL:SPL -soaping:SPNK:SPNK -soarers:SRRS:SRRS -soaring:SRNK:SRNK -sobbers:SPRS:SPRS -sobbing:SPNK:SPNK -sobered:SPRT:SPRT -soberer:SPRR:SPRR -soberly:SPRL:SPRL -soboles:SPLS:SPLS -sobsris:SPSR:SPSR -socager:SKKR:SKJR -soccage:SKJ:SKK -socials:SSLS:SXLS -society:SST:SXT -sockets:SKTS:SKTS -sockeye:SK:SK -socking:SKNK:SKNK -sodding:STNK:STNK -soffits:SFTS:SFTS -softens:SFTN:SFTN -softers:SFTR:SFTR -softest:SFTS:SFTS -softies:SFTS:SFTS -softish:SFTX:SFTX -soggier:SJ:SKR -soggily:SJL:SKL -soignee:SN:SKN -soilage:SLJ:SLK -soilers:SLRS:SLRS -soiling:SLNK:SLNK -soirees:SRS:SRS -sojourn:SJRN:SHRN -solaced:SLST:SLST -solacer:SLSR:SLSR -solaces:SLSS:SLSS -solanin:SLNN:SLNN -solanum:SLNM:SLNM -solaria:SLR:SLR -solatia:SLX:SLX -solders:SLTR:SLTR -soldier:SLT:SLTR -solfege:SLFJ:SLFK -solicit:SLST:SLST -solider:SLTR:SLTR -solidly:SLTL:SLTL -solidum:SLTM:SLTM -solidus:SLTS:SLTS -soliing:SLNK:SLNK -soliped:SLPT:SLPT -soloing:SLNK:SLNK -soloist:SLST:SLST -solomon:SLMN:SLMN -soluble:SLPL:SLPL -solubly:SLPL:SLPL -solutes:SLTS:SLTS -solutio:SLT:SLT -solvate:SLFT:SLFT -solvent:SLFN:SLFN -solvers:SLFR:SLFR -solving:SLFN:SLFN -somalia:SML:SML -somalis:SMLS:SMLS -somatic:SMTK:SMTK -someday:SMT:SMT -somehow:SMH:SMHF -someone:SMN:SMN -someway:SM:SM -somital:SMTL:SMTL -somitic:SMTK:SMTK -sonatas:SNTS:SNTS -sondage:SNTJ:SNTK -songful:SNKF:SNKF -sonnets:SNTS:SNTS -sonnies:SNS:SNS -sonship:SNXP:SNXP -sooners:SNRS:SNRS -soonest:SNST:SNST -soothed:S0T:STT -soother:S0R:STR -soothes:S0S:STS -sootier:ST:STR -sootily:STL:STL -sooting:STNK:STNK -sophism:SFSM:SFSM -sophist:SFST:SFST -sophora:SFR:SFR -sopited:SPTT:SPTT -soppier:SP:SPR -soppily:SPL:SPL -sopping:SPNK:SPNK -soprani:SPRN:SPRN -soprano:SPRN:SPRN -sorbate:SRPT:SRPT -sorbets:SRPT:SRPT -sorbose:SRPS:SRPS -sorcery:SRSR:SRSR -sordine:SRTN:SRTN -sordini:SRTN:SRTN -sordino:SRTN:SRTN -sorghum:SRKM:SRKM -sorites:SRTS:SRTS -soritic:SRTK:SRTK -soroses:SRSS:SRSS -sorosis:SRSS:SRSS -sorrels:SRLS:SRLS -sorrier:SR:SRR -sorrily:SRL:SRL -sorrows:SRS:SRS -sorters:SRTR:SRTR -sortied:SRTT:SRTT -sorties:SRTS:SRTS -sorting:SRTN:SRTN -sottish:STX:STX -soubise:SPS:SPS -souffle:SFL:SFL -soughed:SKT:SKT -soughes:SKS:SKS -soulful:SLFL:SLFL -sounded:SNTT:SNTT -sounder:SNTR:SNTR -soundly:SNTL:SNTL -soupcon:SPKN:SPKN -soupfin:SPFN:SPFN -soupier:SP:SPR -souping:SPNK:SPNK -sources:SRSS:SRSS -sourers:SRRS:SRRS -sourest:SRST:SRST -souring:SRNK:SRNK -sourish:SRX:SRX -sousing:SSNK:SSNK -soutane:STN:STN -souther:S0R:STR -soviets:SFTS:SFTS -sovkhoz:SFKS:SFKT -sowable:SPL:SPL -sowback:SPK:SPK -soybean:SPN:SPN -sozzled:SSLT:SSLT -sozzler:SSLR:SSLR -spacers:SPSR:SPSR -spacial:SPSL:SPXL -spacing:SPSN:SPSN -spackle:SPKL:SPKL -spading:SPTN:SPTN -spalled:SPLT:SPLT -spancel:SPNS:SPNS -spandex:SPNT:SPNT -spangle:SPNK:SPNK -spangly:SPNK:SPNK -spaniel:SPNL:SPNL -spanish:SPNX:SPNX -spanked:SPNK:SPNK -spanker:SPNK:SPNK -spanned:SPNT:SPNT -spanner:SPNR:SPNR -sparely:SPRL:SPRL -sparest:SPRS:SPRS -sparger:SPRK:SPRJ -sparing:SPRN:SPRN -sparked:SPRK:SPRK -sparker:SPRK:SPRK -sparkle:SPRK:SPRK -sparred:SPRT:SPRT -sparrer:SPRR:SPRR -sparrow:SPR:SPRF -sparser:SPRS:SPRS -spartan:SPRT:SPRT -spasmus:SPSM:SPSM -spastic:SPST:SPST -spathes:SP0S:SPTS -spathic:SP0K:SPTK -spatial:SPXL:SPXL -spatium:SPTM:SPTM -spatted:SPTT:SPTT -spatter:SPTR:SPTR -spatula:SPTL:SPTL -spatule:SPTL:SPTL -spavine:SPFN:SPFN -spawned:SPNT:SPNT -spawner:SPNR:SPNR -spaying:SPNK:SPNK -speaker:SPKR:SPKR -speared:SPRT:SPRT -spearer:SPRR:SPRR -special:SPSL:SPXL -species:SPSS:SPXS -specify:SPSF:SPSF -specked:SPKT:SPKT -speckle:SPKL:SPKL -specter:SPKT:SPKT -spectra:SPKT:SPKT -specula:SPKL:SPKL -speeded:SPTT:SPTT -speeder:SPTR:SPTR -speedos:SPTS:SPTS -speedup:SPTP:SPTP -spelled:SPLT:SPLT -speller:SPLR:SPLR -spelter:SPLT:SPLT -spelunk:SPLN:SPLN -spencer:SPNS:SPNS -spender:SPNT:SPNT -sperate:SPRT:SPRT -spermia:SPRM:SPRM -spewing:SPNK:SPNK -sphagna:SFN:SFKN -sphenic:SFNK:SFNK -spheral:SFRL:SFRL -spheres:SFRS:SFRS -sphygmo:SFKM:SFKM -spicaes:SPKS:SPKS -spicate:SPKT:SPKT -spicery:SPSR:SPSR -spicier:SPS:SPXR -spicily:SPSL:SPSL -spicing:SPSN:SPSN -spicula:SPKL:SPKL -spicule:SPKL:SPKL -spiders:SPTR:SPTR -spidery:SPTR:SPTR -spieler:SPLR:SPLR -spignel:SPNL:SPKN -spigots:SPKT:SPKT -spikier:SPKR:SPKR -spikily:SPKL:SPKL -spiking:SPKN:SPKN -spiling:SPLN:SPLN -spilled:SPLT:SPLT -spiller:SPLR:SPLR -spiloma:SPLM:SPLM -spinach:SPNK:SPNK -spinate:SPNT:SPNT -spindle:SPNT:SPNT -spindly:SPNT:SPNT -spinets:SPNT:SPNT -spinier:SPN:SPNR -spinner:SPNR:SPNR -spinney:SPN:SPN -spinoff:SPNF:SPNF -spinose:SPNS:SPNS -spinous:SPNS:SPNS -spinule:SPNL:SPNL -spiraea:SPR:SPR -spirals:SPRL:SPRL -spireas:SPRS:SPRS -spireme:SPRM:SPRM -spirits:SPRT:SPRT -spiroid:SPRT:SPRT -spirted:SPRT:SPRT -spirula:SPRL:SPRL -spiting:SPTN:SPTN -spitted:SPTT:SPTT -spitter:SPTR:SPTR -spittle:SPTL:SPTL -spivery:SPFR:SPFR -splakes:SPLK:SPLK -splashy:SPLX:SPLX -splayed:SPLT:SPLT -spleens:SPLN:SPLN -splenia:SPLN:SPLN -splenic:SPLN:SPLN -splenii:SPLN:SPLN -spliced:SPLS:SPLS -splicer:SPLS:SPLS -splices:SPLS:SPLS -splines:SPLN:SPLN -splints:SPLN:SPLN -splodge:SPLJ:SPLJ -splodgy:SPLJ:SPLJ -splotch:SPLX:SPLX -splurge:SPLR:SPLR -spoiled:SPLT:SPLT -spoiler:SPLR:SPLR -spokane:SPKN:SPKN -spolium:SPLM:SPLM -spondee:SPNT:SPNT -sponged:SPNJ:SPNK -sponger:SPNK:SPNJ -sponges:SPNJ:SPNK -spongin:SPNJ:SPNK -sponson:SPNS:SPNS -sponsor:SPNS:SPNS -spoofed:SPFT:SPFT -spoofer:SPFR:SPFR -spooked:SPKT:SPKT -spooled:SPLT:SPLT -spooler:SPLR:SPLR -spooned:SPNT:SPNT -spooner:SPNR:SPNR -sporing:SPRN:SPRN -sporont:SPRN:SPRN -sporran:SPRN:SPRN -sported:SPRT:SPRT -sporter:SPRT:SPRT -sporule:SPRL:SPRL -spotlit:SPTL:SPTL -spotted:SPTT:SPTT -spotter:SPTR:SPTR -spousal:SPSL:SPSL -spouses:SPSS:SPSS -spouted:SPTT:SPTT -spouter:SPTR:SPTR -sprague:SPRK:SPRK -sprains:SPRN:SPRN -spraint:SPRN:SPRN -sprawls:SPRL:SPRL -sprawly:SPRL:SPRL -sprayed:SPRT:SPRT -sprayer:SPRR:SPRR -spreads:SPRT:SPRT -spriest:SPRS:SPRS -spriggy:SPRK:SPRK -spright:SPRT:SPRT -springe:SPRN:SPRN -springs:SPRN:SPRN -springy:SPRN:SPRN -sprints:SPRN:SPRN -sprites:SPRT:SPRT -sprouts:SPRT:SPRT -spruced:SPRS:SPRS -sprucer:SPRS:SPRS -spruces:SPRS:SPRS -spryest:SPRS:SPRS -spudded:SPTT:SPTT -spuddle:SPTL:SPTL -spumily:SPML:SPML -spuming:SPMN:SPMN -spumoni:SPMN:SPMN -spurned:SPRN:SPRN -spurner:SPRN:SPRN -spurred:SPRT:SPRT -spurted:SPRT:SPRT -sputnik:SPTN:SPTN -sputter:SPTR:SPTR -spyhole:SPHL:SPHL -squabby:SKP:SKP -squalid:SKLT:SKLT -squalls:SKLS:SKLS -squally:SKL:SKL -squalor:SKLR:SKLR -squamae:SKM:SKM -squared:SKRT:SKRT -squarer:SKRR:SKRR -squares:SKRS:SKRS -squashy:SKX:SKX -squatly:SKTL:SKTL -squatty:SKT:SKT -squawks:SKKS:SKKS -squeaks:SKKS:SKKS -squeaky:SKK:SKK -squeals:SKLS:SKLS -squeeze:SKS:SKS -squelch:SKLX:SKLK -squidgy:SKJ:SKJ -squiffy:SKF:SKF -squilla:SKL:SKL -squinch:SKNX:SKNK -squints:SKNT:SKNT -squinty:SKNT:SKNT -squired:SKRT:SKRT -squires:SKRS:SKRS -squirms:SKRM:SKRM -squirmy:SKRM:SKRM -squirts:SKRT:SKRT -squishy:SKX:SKX -ssidata:STT:STT -stabbed:STPT:STPT -stabber:STPR:STPR -stabile:STPL:STPL -stabled:STPL:STPL -stabler:STPL:STPL -stables:STPL:STPL -stachys:STKS:STKS -stacked:STKT:STKT -stacker:STKR:STKR -staddle:STTL:STTL -stadium:STTM:STTM -staffed:STFT:STFT -staffer:STFR:STFR -staflex:STFL:STFL -stagers:STKR:STJR -stagger:STKR:STKR -stagier:STJ:STKR -stagily:STJL:STKL -staging:STJN:STKN -stagnum:STNM:STKN -staider:STTR:STTR -staidly:STTL:STTL -stained:STNT:STNT -stainer:STNR:STNR -staithe:ST0:STT -staking:STKN:STKN -stalely:STLL:STLL -stalers:STLR:STLR -stalest:STLS:STLS -staling:STLN:STLN -stalked:STLK:STLK -stalker:STLK:STLK -stalled:STLT:STLT -stamens:STMN:STMN -stamina:STMN:STMN -stammel:STML:STML -stammer:STMR:STMR -stamped:STMP:STMP -stamper:STMP:STMP -stances:STNS:STNS -standby:STNT:STNT -standee:STNT:STNT -stanley:STNL:STNL -stannic:STNK:STNK -stannum:STNM:STNM -stanzas:STNS:STNS -stapled:STPL:STPL -stapler:STPL:STPL -staples:STPL:STPL -starchy:STRX:STRK -stardom:STRT:STRT -starers:STRR:STRR -staring:STRN:STRN -starker:STRK:STRK -starkly:STRK:STRK -starlet:STRL:STRL -starlit:STRL:STRL -starred:STRT:STRT -started:STRT:STRT -starter:STRT:STRT -startle:STRT:STRT -startup:STRT:STRT -starved:STRF:STRF -starver:STRF:STRF -starves:STRF:STRF -stashed:STXT:STXT -stashes:STXS:STXS -statant:STTN:STTN -stately:STTL:STTL -statics:STTK:STTK -stating:STTN:STTN -station:STXN:STXN -statism:STTS:STTS -statist:STTS:STTS -stative:STTF:STTF -stators:STTR:STTR -statued:STTT:STTT -statues:STTS:STTS -stature:STTR:STTR -statute:STTT:STTT -statuti:STTT:STTT -statuto:STTT:STTT -staunch:STNX:STNK -staving:STFN:STFN -stayers:STRS:STRS -staying:STNK:STNK -stealer:STLR:STLR -stealth:STL0:STLT -steamed:STMT:STMT -steamer:STMR:STMR -stearic:STRK:STRK -stearin:STRN:STRN -steeled:STLT:STLT -steeped:STPT:STPT -steepen:STPN:STPN -steeper:STPR:STPR -steeple:STPL:STPL -steeply:STPL:STPL -steered:STRT:STRT -steerer:STRR:STRR -steeved:STFT:STFT -steeves:STFS:STFS -stellar:STLR:STLR -stemmed:STMT:STMT -stemmer:STMR:STMR -stemple:STMP:STMP -stemson:STMS:STMS -stencil:STNS:STNS -stender:STNT:STNT -stengun:STNK:STNK -stenion:STNN:STNN -stenose:STNS:STNS -stensen:STNS:STNS -stenson:STNS:STNS -stenter:STNT:STNT -stentor:STNT:STNT -stephen:STFN:STFN -stepped:STPT:STPT -stepper:STPR:STPR -steppes:STPS:STPS -stepson:STPS:STPS -stercus:STRK:STRK -stereos:STRS:STRS -steride:STRT:STRT -sterile:STRL:STRL -sternad:STRN:STRN -sternal:STRN:STRN -sterner:STRN:STRN -sternly:STRN:STRN -sternum:STRN:STRN -steroid:STRT:STRT -stertor:STRT:STRT -stetson:STTS:STTS -stetted:STTT:STTT -steward:STRT:STRT -stewart:STRT:STRT -stewers:STRS:STRS -stewing:STNK:STNK -sthenic:S0NK:STNK -stibine:STPN:STPN -stibium:STPM:STPM -stichic:STXK:STKK -sticken:STKN:STKN -sticker:STKR:STKR -stickit:STKT:STKT -stickle:STKL:STKL -stickup:STKP:STKP -stiffen:STFN:STFN -stiffer:STFR:STFR -stiffly:STFL:STFL -stifled:STFL:STFL -stifler:STFL:STFL -stifles:STFL:STFL -stigmal:STKM:STKM -stigmas:STKM:STKM -stilled:STLT:STLT -stiller:STLR:STLR -stilted:STLT:STLT -stilton:STLT:STLT -stimuli:STML:STML -stinger:STNK:STNJ -stinker:STNK:STNK -stinted:STNT:STNT -stinter:STNT:STNT -stipend:STPN:STPN -stipple:STPL:STPL -stipule:STPL:STPL -stirpes:STRP:STRP -stirred:STRT:STRT -stirrer:STRR:STRR -stirrup:STRP:STRP -stocked:STKT:STKT -stocker:STKR:STKR -stoical:STKL:STKL -stokers:STKR:STKR -stoking:STKN:STKN -stomach:STMK:STMK -stomata:STMT:STMT -stomped:STMP:STMP -stomper:STMP:STMP -stonier:STN:STNR -stonily:STNL:STNL -stoning:STNN:STNN -stonked:STNK:STNK -stonker:STNK:STNK -stooged:STJT:STKT -stooges:STJS:STKS -stooked:STKT:STKT -stooker:STKR:STKR -stooped:STPT:STPT -stooper:STPR:STPR -stopgap:STPK:STPK -stoping:STPN:STPN -stopped:STPT:STPT -stopper:STPR:STPR -stopple:STPL:STPL -storage:STRJ:STRK -storers:STRR:STRR -storeys:STRS:STRS -storied:STRT:STRT -storier:STR:STRR -stories:STRS:STRS -storing:STRN:STRN -stormed:STRM:STRM -stouter:STTR:STTR -stoutly:STTL:STTL -stowage:STJ:STK -stowing:STNK:STNK -strafed:STRF:STRF -strafer:STRF:STRF -strafes:STRF:STRF -strains:STRN:STRN -straits:STRT:STRT -strakes:STRK:STRK -strands:STRN:STRN -strange:STRN:STRN -stratum:STRT:STRT -stratus:STRT:STRT -strauss:STRS:STRS -strayed:STRT:STRT -strayer:STRR:STRR -streaks:STRK:STRK -streaky:STRK:STRK -streams:STRM:STRM -streamy:STRM:STRM -streets:STRT:STRT -stretch:STRX:STRX -strewed:STRT:STRT -strewer:STRR:STRR -striata:STRT:STRT -striate:STRT:STRT -stricti:STRK:STRK -stricto:STRK:STRK -strider:STRT:STRT -strides:STRT:STRT -stridor:STRT:STRT -strigil:STRJ:STRK -striker:STRK:STRK -strikes:STRK:STRK -strings:STRN:STRN -stringy:STRN:STRN -striped:STRP:STRP -striper:STRP:STRP -stripes:STRP:STRP -strived:STRF:STRF -striven:STRF:STRF -striver:STRF:STRF -strives:STRF:STRF -strobed:STRP:STRP -strobes:STRP:STRP -strobic:STRP:STRP -strobil:STRP:STRP -stroked:STRK:STRK -stroker:STRK:STRK -strokes:STRK:STRK -strolls:STRL:STRL -stromal:STRM:STRM -strophe:STRF:STRF -strudel:STRT:STRT -strumae:STRM:STRM -strumas:STRM:STRM -stubbed:STPT:STPT -stubble:STPL:STPL -stubbly:STPL:STPL -stuccos:STKS:STKS -studded:STTT:STTT -student:STTN:STTN -studied:STTT:STTT -studier:STT:STTR -studies:STTS:STTS -studios:STTS:STTS -stuffed:STFT:STFT -stuffer:STFR:STFR -stumble:STMP:STMP -stumers:STMR:STMR -stummed:STMT:STMT -stumped:STMP:STMP -stumper:STMP:STMP -stunned:STNT:STNT -stunner:STNR:STNR -stunted:STNT:STNT -stupefy:STPF:STPF -stupors:STPR:STPR -sturine:STRN:STRN -stutter:STTR:STTR -stygian:STJN:STKN -stylers:STLR:STLR -styling:STLN:STLN -stylish:STLX:STLX -stylist:STLS:STLS -stylite:STLT:STLT -stylize:STLS:STLS -styloid:STLT:STLT -stylops:STLP:STLP -stymied:STMT:STMT -stymies:STMS:STMS -stypsis:STPS:STPS -styptic:STPT:STPT -styrene:STRN:STRN -suasion:SSN:SXN -suasive:SSF:SSF -suavely:SFL:SFL -suavity:SFT:SFT -subacid:SPST:SPST -subaqua:SPK:SPK -subarea:SPR:SPR -subarid:SPRT:SPRT -subbase:SPS:SPS -subbing:SPNK:SPNK -subbred:SPRT:SPRT -subcell:SPSL:SPSL -subclan:SPKL:SPKL -subcoma:SPKM:SPKM -subdebs:SPTP:SPTP -subdual:SPTL:SPTL -subduct:SPTK:SPTK -subdued:SPTT:SPTT -subdues:SPTS:SPTS -subecho:SPX:SPK -subedit:SPTT:SPTT -suberin:SPRN:SPRN -subfile:SPFL:SPFL -subfusc:SPFS:SPFS -subgoal:SPKL:SPKL -subhead:SPT:SPT -subitem:SPTM:SPTM -subject:SPJK:SPJK -subjoin:SPJN:SPJN -sublets:SPLT:SPLT -sublime:SPLM:SPLM -sublist:SPLS:SPLS -submits:SPMT:SPMT -submode:SPMT:SPMT -suboral:SPRL:SPRL -suborns:SPRN:SPRN -subpart:SPPR:SPPR -subpena:SPPN:SPPN -subpial:SPPL:SPPL -subplot:SPPL:SPPL -subrace:SPRS:SPRS -subrule:SPRL:SPRL -subsale:SPSL:SPSL -subsect:SPSK:SPSK -subsere:SPSR:SPSR -subsets:SPST:SPST -subside:SPST:SPST -subsidy:SPST:SPST -subsist:SPSS:SPSS -subsoil:SPSL:SPSL -subsong:SPSN:SPSN -subsume:SPSM:SPSM -subtask:SPTS:SPTS -subteen:SPTN:SPTN -subtend:SPTN:SPTN -subtler:SPTL:SPTL -subtree:SPTR:SPTR -subtype:SPTP:SPTP -subunit:SPNT:SPNT -suburbs:SPRP:SPRP -subvert:SPFR:SPFR -subvola:SPFL:SPFL -subways:SPS:SPS -subzero:SPSR:SPSR -succeed:SKST:SKST -success:SKSS:SKSS -succors:SKRS:SKRS -succory:SKR:SKR -succuba:SKP:SKP -succubi:SKP:SKP -succumb:SKM:SKM -succuss:SKS:SKS -suckers:SKRS:SKRS -sucking:SKNK:SKNK -suckled:SKLT:SKLT -suckler:SKLR:SKLR -suckles:SKLS:SKLS -sucrase:SKRS:SKRS -sucrate:SKRT:SKRT -sucrose:SKRS:SKRS -suction:SKXN:SKXN -sudamen:STMN:STMN -sudsier:STS:STSR -sudsing:STSN:STSN -suffers:SFRS:SFRS -suffice:SFS:SFS -suffolk:SFLK:SFLK -suffuse:SFS:SFS -sugared:XKRT:SKRT -suggest:SKST:SKST -suicide:SST:SST -suiters:STRS:STRS -suiting:STNK:STNK -suitors:STRS:STRS -sukkoth:SK0:SKT -sulcate:SLKT:SLKT -sulculi:SLKL:SLKL -sulfate:SLFT:SLFT -sulfide:SLFT:SLFT -sulfite:SLFT:SLFT -sulfone:SLFN:SLFN -sulfurs:SLFR:SLFR -sulkers:SLKR:SLKR -sulkier:SLKR:SLKR -sulkies:SLKS:SLKS -sulkily:SLKL:SLKL -sulking:SLKN:SLKN -sullage:SLJ:SLK -sullest:SLST:SLST -sullied:SLT:SLT -sullies:SLS:SLS -sulphur:SLFR:SLFR -sultana:SLTN:SLTN -sultans:SLTN:SLTN -sumachs:SMKS:SMKS -sumatra:SMTR:SMTR -summand:SMNT:SMNT -summary:SMR:SMR -summate:SMT:SMT -summers:SMRS:SMRS -summery:SMR:SMR -summing:SMNK:SMNK -summits:SMTS:SMTS -summons:SMNS:SMNS -sumpter:SMPT:SMPT -sunbath:SNP0:SNPT -sunbeam:SNPM:SNPM -sunbelt:SNPL:SNPL -sunburn:SNPR:SNPR -sundaes:SNTS:SNTS -sundays:SNTS:SNTS -sunders:SNTR:SNTR -sundial:SNTL:SNTL -sundown:SNTN:SNTN -sunfish:SNFX:SNFX -sunglow:SNKL:SNKL -sunhats:SNTS:SNTS -sunlamp:SNLM:SNLM -sunless:SNLS:SNLS -sunnier:SN:SNR -sunnily:SNL:SNL -sunning:SNNK:SNNK -sunrise:SNRS:SNRS -sunroof:SNRF:SNRF -sunsets:SNST:SNST -sunspot:SNSP:SNSP -sunstar:SNST:SNST -sunsuit:SNST:SNST -suntans:SNTN:SNTN -suntrap:SNTR:SNTR -sunward:SNRT:SNRT -sunwise:SNS:SNS -suppers:SPRS:SPRS -supping:SPNK:SPNK -suppler:SPLR:SPLR -support:SPRT:SPRT -suppose:SPS:SPS -supreme:SPRM:SPRM -supremo:SPRM:SPRM -suramin:SRMN:SRMN -surbase:SRPS:SRPS -surcoat:SRKT:SRKT -surdity:SRTT:SRTT -surface:SRFS:SRFS -surfeit:SRFT:SRFT -surfers:SRFR:SRFR -surfies:SRFS:SRFS -surfing:SRFN:SRFN -surgeon:SRJN:SRKN -surgery:SRKR:SRJR -surging:SRJN:SRKN -surinam:SRNM:SRNM -surlier:SRL:SRLR -surlily:SRLL:SRLL -surmise:SRMS:SRMS -surname:SRNM:SRNM -surpass:SRPS:SRPS -surplus:SRPL:SRPL -surreal:SRL:SRL -surreys:SRS:SRS -surveys:SRFS:SRFS -survive:SRFF:SRFF -suspect:SSPK:SSPK -suspend:SSPN:SSPN -suspire:SSPR:SSPR -sustain:SSTN:SSTN -sutlers:STLR:STLR -suttees:STS:STS -sutural:STRL:STRL -sutured:STRT:STRT -sutures:STRS:STRS -suzanne:SSN:SSN -suzette:SST:SST -svedber:SFTP:SFTP -svelter:SFLT:SFLT -sveltes:SFLT:SFLT -swabbed:SPT:XPT -swabber:SPR:XPR -swaddle:STL:XTL -swagger:SKR:XKR -swaging:SJNK:XKNK -swahili:SHL:XHL -swaling:SLNK:XLNK -swallet:SLT:XLT -swallow:SL:XLF -swamped:SMPT:XMPT -swanked:SNKT:XNKT -swanker:SNKR:XNKR -swanned:SNT:XNT -swapped:SPT:XPT -swapper:SPR:XPR -swarmed:SRMT:XRMT -swarthy:SR0:XRT -swashed:SXT:XXT -swashes:SXS:XXS -swathed:S0T:XTT -swathes:S0S:XTS -swatted:STT:XTT -swatter:STR:XTR -swayful:SFL:XFL -swaying:SNK:XNK -swearer:SRR:XRR -sweated:STT:XTT -sweater:STR:XTR -swedish:STX:XTX -sweeney:SN:XN -sweeper:SPR:XPR -sweeten:STN:XTN -sweeter:STR:XTR -sweetie:ST:XT -sweetly:STL:XTL -swelled:SLT:XLT -sweller:SLR:XLR -swelter:SLTR:XLTR -swerved:SRFT:XRFT -swerver:SRFR:XRFR -swerves:SRFS:XRFS -swifter:SFTR:XFTR -swiftly:SFTL:XFTL -swigged:SKT:XKT -swilled:SLT:XLT -swiller:SLR:XLR -swimmer:SMR:XMR -swindle:SNTL:XNTL -swinery:SNR:XNR -swinger:SNKR:XNJR -swingle:SNKL:XNKL -swinish:SNX:XNX -swinney:SN:XN -swipers:SPRS:XPRS -swiping:SPNK:XPNK -swipple:SPL:XPL -swirled:SRLT:XRLT -swished:SXT:XXT -swisher:SXR:XXR -swishes:SXS:XXS -swivels:SFLS:XFLS -swizzle:SSL:XTSL -swobbed:SPT:XPT -swollen:SLN:XLN -swooned:SNT:XNT -swooped:SPT:XPT -swopped:SPT:XPT -swopper:SPR:XPR -sworded:SRTT:XRTT -swotted:STT:XTT -swotter:STR:XTR -syconia:SKN:SKN -sycoses:SKSS:SKSS -sycosis:SKSS:SKSS -syenite:SNT:SNT -syllabi:SLP:SLP -sylphes:SLFS:SLFS -sylphic:SLFK:SLFK -sylvian:SLFN:SLFN -sylvite:SLFT:SLFT -sylvius:SLFS:SLFS -symbion:SMPN:SMPN -symbiot:SMPT:SMPT -symbols:SMPL:SMPL -symmeli:SML:SML -symptom:SMPT:SMPT -synagog:SNKK:SNKK -synapse:SNPS:SNPS -syncarp:SNKR:SNKR -synched:SNXT:SNKT -synchro:SNXR:SNKR -syncing:SNSN:SNSN -syncope:SNKP:SNKP -synergy:SNRJ:SNRK -synesis:SNSS:SNSS -synfuel:SNFL:SNFL -syngamy:SNKM:SNKM -synodal:SNTL:SNTL -synodic:SNTK:SNTK -synonym:SNNM:SNNM -synotia:SNX:SNX -synotus:SNTS:SNTS -synovia:SNF:SNF -syntony:SNTN:SNTN -syphers:SFRS:SFRS -syphons:SFNS:SFNS -syrians:SRNS:SRNS -syringa:SRNK:SRNK -syringe:SRNJ:SRNK -syrphid:SRFT:SRFT -systems:SSTM:SSTM -systole:SSTL:SSTL -systyle:SSTL:SSTL -tabanid:TPNT:TPNT -tabanus:TPNS:TPNS -tabaret:TPRT:TPRT -tabasco:TPSK:TPSK -tabbies:TPS:TPS -tabbing:TPNK:TPNK -tabella:TPL:TPL -tabetic:TPTK:TPTK -tabinet:TPNT:TPNT -tableau:TPL:TPL -tablers:TPLR:TPLR -tablets:TPLT:TPLT -tabling:TPLN:TPLN -tabloid:TPLT:TPLT -tabooed:TPT:TPT -tabored:TPRT:TPRT -taborer:TPRR:TPRR -taboret:TPRT:TPRT -tabours:TPRS:TPRS -tabstop:TPST:TPST -tabuing:TPNK:TPNK -tabular:TPLR:TPLR -tachina:TXN:TKN -tachyon:TKN:TKN -tacitly:TSTL:TSTL -tackers:TKRS:TKRS -tackier:TKR:TKR -tackily:TKL:TKL -tacking:TKNK:TKNK -tackled:TKLT:TKLT -tackler:TKLR:TKLR -tackles:TKLS:TKLS -tactful:TKTF:TKTF -tactics:TKTK:TKTK -tactile:TKTL:TKTL -taction:TKXN:TKXN -tactoid:TKTT:TKTT -tactual:TKTL:TKTL -tadpole:TTPL:TTPL -taedium:TTM:TTM -taeniae:TN:TN -taenias:TNS:TNS -taffeta:TFT:TFT -tagalog:TKLK:TKLK -tagalon:TKLN:TKLN -taggers:TKRS:TKRS -tagging:TJNK:TKNK -tagmeme:TKMM:TKMM -tailage:TLJ:TLK -tailers:TLRS:TLRS -tailing:TLNK:TLNK -tailors:TLRS:TLRS -tainted:TNTT:TNTT -takable:TKPL:TKPL -takeing:TKNK:TKNK -takeoff:TKF:TKF -takeout:TKT:TKT -takings:TKNK:TKNK -takosis:TKSS:TKSS -talbots:TLPT:TLPT -talcite:TLST:TLST -talents:TLNT:TLNT -taliped:TLPT:TLPT -talipes:TLPS:TLPS -talipot:TLPT:TLPT -talkers:TLKR:TLKR -talkier:TLKR:TLKR -talkies:TLKS:TLKS -talking:TLKN:TLKN -tallage:TLJ:TLK -tallboy:TLP:TLP -tallest:TLST:TLST -tallied:TLT:TLT -tallier:TL:TLR -tallies:TLS:TLS -tallish:TLX:TLX -tallowy:TL:TL -tallyho:TLH:TLH -taloned:TLNT:TLNT -talonid:TLNT:TLNT -taluses:TLSS:TLSS -tamable:TMPL:TMPL -tamales:TMLS:TMLS -tamarin:TMRN:TMRN -tammies:TMS:TMS -tampers:TMPR:TMPR -tamping:TMPN:TMPN -tampion:TMPN:TMPN -tampons:TMPN:TMPN -tanager:TNKR:TNJR -tanagra:TNKR:TNKR -tanbark:TNPR:TNPR -tandems:TNTM:TNTM -tangelo:TNJL:TNKL -tangent:TNJN:TNKN -tangere:TNKR:TNJR -tangier:TNJ:TNKR -tangily:TNJL:TNKL -tanging:TNJN:TNKN -tangled:TNKL:TNKL -tangler:TNKL:TNKL -tangles:TNKL:TNKL -tangoed:TNKT:TNKT -tangram:TNKR:TNKR -tankage:TNKJ:TNKK -tankard:TNKR:TNKR -tankers:TNKR:TNKR -tankful:TNKF:TNKF -tanking:TNKN:TNKN -tannage:TNJ:TNK -tannase:TNS:TNS -tannate:TNT:TNT -tanners:TNRS:TNRS -tannery:TNR:TNR -tannest:TNST:TNST -tanning:TNNK:TNNK -tannish:TNX:TNX -tansies:TNSS:TNSS -tantara:TNTR:TNTR -tantivy:TNTF:TNTF -tantrum:TNTR:TNTR -taoists:TSTS:TSTS -tapered:TPRT:TPRT -taperer:TPRR:TPRR -tapetal:TPTL:TPTL -tapetum:TPTM:TPTM -taphole:TFL:TFL -tapings:TPNK:TPNK -tapioca:TPK:TPK -tappers:TPRS:TPRS -tappets:TPTS:TPTS -tapping:TPNK:TPNK -taproom:TPRM:TPRM -taproot:TPRT:TPRT -tapster:TPST:TPST -tardier:TRT:TRTR -tardily:TRTL:TRTL -tardive:TRTF:TRTF -targets:TRKT:TRKT -tariffs:TRFS:TRFS -tarmacs:TRMK:TRMK -tarnish:TRNX:TRNX -tarotoc:TRTK:TRTK -tarpans:TRPN:TRPN -tarpons:TRPN:TRPN -tarried:TRT:TRT -tarrier:TR:TRR -tarries:TRS:TRS -tarring:TRNK:TRNK -tarrock:TRK:TRK -tarsale:TRSL:TRSL -tarsier:TRS:TRSR -tartans:TRTN:TRTN -tartare:TRTR:TRTR -tartars:TRTR:TRTR -tartary:TRTR:TRTR -tarters:TRTR:TRTR -tartest:TRTS:TRTS -tartish:TRTX:TRTX -tartlet:TRTL:TRTL -tasking:TSKN:TSKN -tassels:TSLS:TSLS -tasters:TSTR:TSTR -tastier:TST:TSTR -tastily:TSTL:TSTL -tasting:TSTN:TSTN -tatamis:TTMS:TTMS -tatters:TTRS:TTRS -tattier:TT:TTR -tattily:TTL:TTL -tatting:TTNK:TTNK -tattled:TTLT:TTLT -tattler:TTLR:TTLR -tattles:TTLS:TTLS -tattoos:TTS:TTS -taunted:TNTT:TNTT -taunter:TNTR:TNTR -taupata:TPT:TPT -taurean:TRN:TRN -taurine:TRN:TRN -taussig:TSK:TSK -tautens:TTNS:TTNS -tautest:TTST:TTST -taverna:TFRN:TFRN -taverns:TFRN:TFRN -tawhiri:TR:TR -tawnier:TNR:TNR -taxable:TKSP:TKSP -taxably:TKSP:TKSP -taxemic:TKSM:TKSM -taxicab:TKSK:TKSK -taxiing:TKSN:TKSN -taximan:TKSM:TKSM -taximen:TKSM:TKSM -taxiway:TKS:TKS -taxless:TKSL:TKSL -taxying:TKSN:TKSN -taylors:TLRS:TLRS -teacake:TKK:TKK -teacher:TXR:TKR -teaches:TXS:TKS -teacups:TKPS:TKPS -teamers:TMRS:TMRS -teaming:TMNK:TMNK -teapots:TPTS:TPTS -tearers:TRRS:TRRS -tearful:TRFL:TRFL -teargas:TRKS:TRKS -tearier:TR:TRR -tearing:TRNK:TRNK -tearoom:TRM:TRM -teasels:TSLS:TSLS -teasers:TSRS:TSRS -teashop:TXP:TXP -teasing:TSNK:TSNK -teatime:TTM:TTM -technic:TKNK:TKNK -tedders:TTRS:TTRS -teddies:TTS:TTS -tedding:TTNK:TTNK -tedious:TTS:TTS -teemers:TMRS:TMRS -teeming:TMNK:TMNK -teenage:TNJ:TNK -teenier:TN:TNR -teepees:TPS:TPS -teeters:TTRS:TTRS -teethed:T0T:TTT -teethes:T0S:TTS -tegmina:TKMN:TKMN -tegular:TKLR:TKLR -teheran:THRN:THRN -tektite:TKTT:TKTT -telamon:TLMN:TLMN -telecom:TLKM:TLKM -telefax:TLFK:TLFK -teleost:TLST:TLST -telergy:TLRJ:TLRK -teleses:TLSS:TLSS -telesis:TLSS:TLSS -teletex:TLTK:TLTK -telexed:TLKS:TLKS -telexes:TLKS:TLKS -tellers:TLRS:TLRS -telling:TLNK:TLNK -telpher:TLFR:TLFR -tempera:TMPR:TMPR -tempers:TMPR:TMPR -tempest:TMPS:TMPS -templar:TMPL:TMPL -templed:TMPL:TMPL -temples:TMPL:TMPL -templet:TMPL:TMPL -tempore:TMPR:TMPR -temporo:TMPR:TMPR -tempted:TMPT:TMPT -tempter:TMPT:TMPT -tempura:TMPR:TMPR -tenable:TNPL:TNPL -tenably:TNPL:TNPL -tenaces:TNSS:TNSS -tenancy:TNNS:TNNS -tenants:TNNT:TNNT -tenders:TNTR:TNTR -tending:TNTN:TNTN -tendons:TNTN:TNTN -tendril:TNTR:TNTR -tenency:TNNS:TNNS -tenfold:TNFL:TNFL -tenners:TNRS:TNRS -tenpins:TNPN:TNPN -tenrecs:TNRK:TNRK -tensely:TNSL:TNSL -tensers:TNSR:TNSR -tensest:TNSS:TNSS -tensile:TNSL:TNSL -tensing:TNSN:TNSN -tension:TNSN:TNXN -tensity:TNST:TNST -tensors:TNSR:TNSR -tentage:TNTJ:TNTK -tenters:TNTR:TNTR -tenthes:TN0S:TNTS -tenthly:TN0L:TNTL -tenting:TNTN:TNTN -tenuity:TNT:TNT -tenuous:TNS:TNS -tenured:TNRT:TNRT -tenures:TNRS:TNRS -tepidly:TPTL:TPTL -tequila:TKL:TKL -teratic:TRTK:TRTK -terbium:TRPM:TRPM -terceer:TRSR:TRSR -tercels:TRSL:TRSL -tercets:TRST:TRST -terebic:TRPK:TRPK -teretes:TRTS:TRTS -terming:TRMN:TRMN -termini:TRMN:TRMN -termite:TRMT:TRMT -ternary:TRNR:TRNR -ternate:TRNT:TRNT -terpene:TRPN:TRPN -terrace:TRS:TRS -terrain:TRN:TRN -terrane:TRN:TRN -terrene:TRN:TRN -terrets:TRTS:TRTS -terrier:TR:TRR -terries:TRS:TRS -terrify:TRF:TRF -terrine:TRN:TRN -terrors:TRRS:TRRS -tersely:TRSL:TRSL -tersest:TRSS:TRSS -tertian:TRXN:TRXN -tertium:TRTM:TRTM -tertius:TRTS:TRTS -tessera:TSR:TSR -testacy:TSTS:TSTS -testata:TSTT:TSTT -testate:TSTT:TSTT -testers:TSTR:TSTR -testier:TST:TSTR -testify:TSTF:TSTF -testily:TSTL:TSTL -testing:TSTN:TSTN -testium:TSTM:TSTM -testoid:TSTT:TSTT -testudo:TSTT:TSTT -tetanal:TTNL:TTNL -tetanic:TTNK:TTNK -tetanus:TTNS:TTNS -tethers:T0RS:TTRS -tetrode:TTRT:TTRT -tetrose:TTRS:TTRS -teutons:TTNS:TTNS -textile:TKST:TKST -textual:TKST:TKST -texture:TKST:TKST -thalami:0LM:TLM -thallic:0LK:TLK -thallus:0LS:TLS -thalweg:0LK:TLK -thanked:0NKT:TNKT -thanker:0NKR:TNKR -thatchy:0X:TX -that'll:0TL:TTL -thawing:0NK:TNK -theater:0TR:TTR -thebaic:0PK:TPK -thecate:0KT:TKT -thecoma:0KM:TKM -theelin:0LN:TLN -theelol:0LL:TLL -theists:0STS:TSTS -thelium:0LM:TLM -theorbo:0RP:TRP -theorem:0RM:TRM -therapy:0RP:TRP -thereat:0RT:TRT -thereby:0RP:TRP -therein:0RN:TRN -thereof:0RF:TRF -thereon:0RN:TRN -thereto:0RT:TRT -theriac:0RK:TRK -thermae:0RM:TRM -thermal:0RML:TRML -thermic:0RMK:TRMK -thermos:0RMS:TRMS -theroid:0RT:TRT -theurgy:0RJ:TRK -they'll:0L:TL -they're:0R:TR -they've:0F:TF -thiamin:0MN:TMN -thicken:0KN:TKN -thicker:0KR:TKR -thicket:0KT:TKT -thickly:0KL:TKL -thieved:0FT:TFT -thieves:0FS:TFS -thighed:0T:TT -thighes:0S:TS -thimble:0MPL:TMPL -thinely:0NL:TNL -thinker:0NKR:TNKR -thinned:0NT:TNT -thinner:0NR:TNR -thionic:0NK:TNK -thionyl:0NL:TNL -thirdly:0RTL:TRTL -thirsts:0RST:TRST -thirsty:0RST:TRST -thistle:0STL:TSTL -thistly:0STL:TSTL -thither:00R:TTR -tholing:0LNK:TLNK -thomsen:TMSN:TMSN -thonged:0NJT:TNKT -thorite:0RT:TRT -thorium:0RM:TRM -thorons:0RNS:TRNS -thorpes:0RPS:TRPS -thought:0T:TT -thralls:0RLS:TRLS -threads:0RTS:TRTS -thready:0RT:TRT -threats:0RTS:TRTS -threose:0RS:TRS -thrifty:0RFT:TRFT -thrills:0RLS:TRLS -thrived:0RFT:TRFT -thriven:0RFN:TRFN -thriver:0RFR:TRFR -thrives:0RFS:TRFS -throats:0RTS:TRTS -throaty:0RT:TRT -thrombi:0RMP:TRMP -throned:0RNT:TRNT -thrones:0RNS:TRNS -throngs:0RNK:TRNK -through:0R:TR -thrower:0RR:TRR -thrummy:0RM:TRM -thruput:0RPT:TRPT -thrusts:0RST:TRST -thruway:0R:TR -thudded:0TT:TTT -thuggee:0K:TK -thulium:0LM:TLM -thumbed:0MPT:TMPT -thumped:0MPT:TMPT -thumper:0MPR:TMPR -thunder:0NTR:TNTR -thwacks:0KS:TKS -thwaite:0T:TT -thwarts:0RTS:TRTS -thymine:0MN:TMN -thymoma:0MM:TMM -thyroid:0RT:TRT -thyself:0SLF:TSLF -tibetan:TPTN:TPTN -tibiaes:TPS:TPS -tickers:TKRS:TKRS -tickets:TKTS:TKTS -ticking:TKNK:TKNK -tickled:TKLT:TKLT -tickler:TKLR:TKLR -tickles:TKLS:TKLS -tidally:TTL:TTL -tidbits:TTPT:TTPT -tiddler:TTLR:TTLR -tideway:TT:TT -tidiest:TTST:TTST -tidings:TTNK:TTNK -tidying:TTNK:TTNK -tieback:TPK:TPK -tiepins:TPNS:TPNS -tiering:TRNK:TRNK -tiffany:TFN:TFN -tiffing:TFNK:TFNK -tighten:TTN:TTN -tighter:TTR:TTR -tightly:TTL:TTL -tiglons:TKLN:TKLN -tigress:TKRS:TKRS -tigrish:TKRX:TKRX -tigroid:TKRT:TKRT -tijeras:TJRS:TJRS -tilapia:TLP:TLP -tillage:TLJ:TLK -tillers:TLRS:TLRS -tilling:TLNK:TLNK -tilters:TLTR:TLTR -tilting:TLTN:TLTN -timbale:TMPL:TMPL -timbals:TMPL:TMPL -timbers:TMPR:TMPR -timbrel:TMPR:TMPR -timbres:TMPR:TMPR -timeous:TMS:TMS -timeout:TMT:TMT -timider:TMTR:TMTR -timidly:TMTL:TMTL -timings:TMNK:TMNK -timothy:TM0:TMT -timpani:TMPN:TMPN -timpano:TMPN:TMPN -tindery:TNTR:TNTR -tinfoil:TNFL:TNFL -tingely:TNJL:TNKL -tinging:TNJN:TNKN -tingled:TNKL:TNKL -tingler:TNKL:TNKL -tingles:TNKL:TNKL -tinhorn:TNRN:TNRN -tiniest:TNST:TNST -tinkers:TNKR:TNKR -tinkled:TNKL:TNKL -tinkler:TNKL:TNKL -tinkles:TNKL:TNKL -tinners:TNRS:TNRS -tinnier:TN:TNR -tinnily:TNL:TNL -tinning:TNNK:TNNK -tinsels:TNSL:TNSL -tinters:TNTR:TNTR -tinting:TNTN:TNTN -tintype:TNTP:TNTP -tinware:TNR:TNR -tipoffs:TPFS:TPFS -tippees:TPS:TPS -tippers:TPRS:TPRS -tippets:TPTS:TPTS -tipping:TPNK:TPNK -tippled:TPLT:TPLT -tippler:TPLR:TPLR -tipples:TPLS:TPLS -tipsier:TPS:TPSR -tipsily:TPSL:TPSL -tipster:TPST:TPST -tiptoed:TPTT:TPTT -tiptoes:TPTS:TPTS -tiqueur:TKR:TKR -tirades:TRTS:TRTS -tiredly:TRTL:TRTL -tissued:TST:TST -tissues:TSS:TSS -titanic:TTNK:TTNK -titbits:TTPT:TTPT -tithers:T0RS:TTRS -tithing:T0NK:TTNK -titlark:TTLR:TTLR -titling:TTLN:TTLN -titmice:TTMS:TTMS -titrant:TTRN:TTRN -titrate:TTRT:TTRT -titters:TTRS:TTRS -tittles:TTLS:TTLS -titular:TTLR:TTLR -tizzies:TSS:TTSS -toadied:TTT:TTT -toadies:TTS:TTS -toadish:TTX:TTX -toasted:TSTT:TSTT -toaster:TSTR:TSTR -tobacco:TPK:TPK -tobyjug:TPJK:TPJK -toccata:TKT:TKT -tocsins:TKSN:TKSN -toddies:TTS:TTS -toddled:TTLT:TTLT -toddler:TTLR:TTLR -toddles:TTLS:TTLS -toecaps:TKPS:TKPS -toedrop:TTRP:TTRP -toehold:THLT:THLT -toeless:TLS:TLS -toenail:TNL:TNL -toerags:TRKS:TRKS -toffees:TFS:TFS -toffish:TFX:TFX -toggery:TKR:TKR -togging:TJNK:TKNK -toggled:TKLT:TKLT -toggler:TKLR:TKLR -toggles:TKLS:TKLS -toheroa:THR:THR -tohunga:THNK:THNK -toilers:TLRS:TLRS -toilets:TLTS:TLTS -toiling:TLNK:TLNK -tokened:TKNT:TKNT -tollage:TLJ:TLK -tollbar:TLPR:TLPR -tolling:TLNK:TLNK -tollman:TLMN:TLMN -tollmen:TLMN:TLMN -tollway:TL:TL -tolseys:TLSS:TLSS -tolstoy:TLST:TLST -toluate:TLT:TLT -toluene:TLN:TLN -tolzeys:TLSS:TLSS -tombing:TMPN:TMPN -tombola:TMPL:TMPL -tombolo:TMPL:TMPL -tomboys:TMPS:TMPS -tomcats:TMKT:TMKT -tomenta:TMNT:TMNT -tomfool:TMFL:TMFL -tommies:TMS:TMS -tompion:TMPN:TMPN -tomtits:TMTT:TMTT -tomtoms:TMTM:TMTM -tonally:TNL:TNL -tonemic:TNMK:TNMK -tonetic:TNTK:TNTK -tonging:TNJN:TNKN -tongued:TNKT:TNKT -tongues:TNKS:TNKS -toniest:TNST:TNST -tonight:TNT:TNT -tonnage:TNJ:TNK -tonneau:TN:TN -tonners:TNRS:TNRS -tonsils:TNSL:TNSL -tonsure:TNSR:TNSR -tontine:TNTN:TNTN -toolbox:TLPK:TLPK -toolers:TLRS:TLRS -tooling:TLNK:TLNK -toolkit:TLKT:TLKT -tooters:TTRS:TTRS -toothed:T0T:TTT -tooting:TTNK:TTNK -tootled:TTLT:TTLT -topazes:TPSS:TPSS -topcoat:TPKT:TPKT -topiary:TPR:TPR -topical:TPKL:TPKL -topknot:TPKN:TPKN -topless:TPLS:TPLS -topmast:TPMS:TPMS -topmost:TPMS:TPMS -toponym:TPNM:TPNM -toppers:TPRS:TPRS -topping:TPNK:TPNK -toppled:TPLT:TPLT -topples:TPLS:TPLS -topsail:TPSL:TPSL -topside:TPST:TPST -topsoil:TPSL:TPSL -topspin:TPSP:TPSP -torahes:TRHS:TRHS -torched:TRXT:TRKT -torches:TRKS:TRKS -torchon:TRXN:TRKN -torment:TRMN:TRMN -tormina:TRMN:TRMN -tornado:TRNT:TRNT -toronto:TRNT:TRNT -torpedo:TRPT:TRPT -torqued:TRKT:TRKT -torques:TRKS:TRKS -torrefy:TRF:TRF -torrens:TRNS:TRNS -torrent:TRNT:TRNT -torrify:TRF:TRF -torsion:TRSN:TRXN -torsive:TRSF:TRSF -torsoes:TRSS:TRSS -tortoni:TRTN:TRTN -torture:TRTR:TRTR -torulae:TRL:TRL -torulas:TRLS:TRLS -torulus:TRLS:TRLS -toruses:TRSS:TRSS -toryism:TRSM:TRSM -tossing:TSNK:TSNK -tossups:TSPS:TSPS -totaled:TTLT:TTLT -totally:TTL:TTL -totemic:TTMK:TTMK -totidem:TTTM:TTTM -totters:TTRS:TTRS -tottery:TTR:TTR -totting:TTNK:TTNK -toucans:TKNS:TKNS -touched:TXT:TKT -toucher:TXR:TKR -touches:TXS:TKS -toughen:TFN:TFN -tougher:TFR:TFR -toughes:TFS:TFS -toughly:TFL:TFL -toupees:TPS:TPS -tourers:TRRS:TRRS -touring:TRNK:TRNK -tourism:TRSM:TRSM -tourist:TRST:TRST -tourney:TRN:TRN -tousled:TSLT:TSLT -tousles:TSLS:TSLS -touting:TTNK:TTNK -towable:TPL:TPL -towards:TRTS:TRTS -towbars:TPRS:TPRS -towboat:TPT:TPT -toweled:TLT:TLT -towered:TRT:TRT -towhead:TT:TT -towhees:TS:TS -towners:TNRS:TNRS -townier:TNR:TNR -townish:TNX:TNX -towpath:TP0:TPT -towrope:TRP:TRP -toxemia:TKSM:TKSM -toxemic:TKSM:TKSM -toxical:TKSK:TKSK -toyless:TLS:TLS -toylike:TLK:TLK -toyotas:TTS:TTS -tracers:TRSR:TRSR -tracery:TRSR:TRSR -trachea:TRX:TRK -tracing:TRSN:TRSN -tracked:TRKT:TRKT -tracker:TRKR:TRKR -tractal:TRKT:TRKT -tractor:TRKT:TRKT -tractus:TRKT:TRKT -traders:TRTR:TRTR -trading:TRTN:TRTN -traduce:TRTS:TRTS -traffic:TRFK:TRFK -tragedy:TRJT:TRKT -trailed:TRLT:TRLT -trailer:TRLR:TRLR -trained:TRNT:TRNT -trainee:TRN:TRN -trainer:TRNR:TRNR -traipse:TRPS:TRPS -traitor:TRTR:TRTR -tramcar:TRMK:TRMK -trammed:TRMT:TRMT -trammel:TRML:TRML -trammer:TRMR:TRMR -tramped:TRMP:TRMP -tramper:TRMP:TRMP -trample:TRMP:TRMP -tramway:TRM:TRM -trances:TRNS:TRNS -tranche:TRNX:TRNK -transit:TRNS:TRNS -transom:TRNS:TRNS -trapeze:TRPS:TRPS -trapped:TRPT:TRPT -trapper:TRPR:TRPR -trashed:TRXT:TRXT -trashes:TRXS:TRXS -traumas:TRMS:TRMS -travail:TRFL:TRFL -travels:TRFL:TRFL -travois:TRF:TRFS -trawled:TRLT:TRLT -trawler:TRLR:TRLR -trayful:TRFL:TRFL -treacle:TRKL:TRKL -treacly:TRKL:TRKL -treader:TRTR:TRTR -treadle:TRTL:TRTL -treason:TRSN:TRSN -treated:TRTT:TRTT -treater:TRTR:TRTR -trebled:TRPL:TRPL -trebles:TRPL:TRPL -treeing:TRNK:TRNK -treetop:TRTP:TRTP -trefoil:TRFL:TRFL -trehala:TRHL:TRHL -trekked:TRKT:TRKT -trekker:TRKR:TRKR -trellis:TRLS:TRLS -tremble:TRMP:TRMP -trembly:TRMP:TRMP -tremens:TRMN:TRMN -tremies:TRMS:TRMS -tremolo:TRML:TRML -tremors:TRMR:TRMR -trended:TRNT:TRNT -trenton:TRNT:TRNT -trepang:TRPN:TRPN -trepans:TRPN:TRPN -tressed:TRST:TRST -tresses:TRSS:TRSS -trestle:TRST:TRST -triable:TRPL:TRPL -triably:TRPL:TRPL -triacid:TRST:TRST -triadic:TRTK:TRTK -triatic:TRTK:TRTK -tribade:TRPT:TRPT -tribady:TRPT:TRPT -triblet:TRPL:TRPL -tribuna:TRPN:TRPN -tribune:TRPN:TRPN -tribute:TRPT:TRPT -triceps:TRSP:TRSP -tricing:TRSN:TRSN -tricked:TRKT:TRKT -tricker:TRKR:TRKR -trickle:TRKL:TRKL -trickly:TRKL:TRKL -tricksy:TRKS:TRKS -tricorn:TRKR:TRKR -tricots:TRKT:TRKT -trident:TRTN:TRTN -triffid:TRFT:TRFT -trifled:TRFL:TRFL -trifler:TRFL:TRFL -trifles:TRFL:TRFL -trigamy:TRKM:TRKM -trigged:TRKT:TRKT -trigger:TRKR:TRKR -trigona:TRKN:TRKN -trigone:TRKN:TRKN -trilith:TRL0:TRLT -trilled:TRLT:TRLT -triller:TRLR:TRLR -trilogy:TRLJ:TRLK -trimmed:TRMT:TRMT -trimmer:TRMR:TRMR -trinary:TRNR:TRNR -trinity:TRNT:TRNT -trinket:TRNK:TRNK -triodes:TRTS:TRTS -triolet:TRLT:TRLT -tripara:TRPR:TRPR -tripely:TRPL:TRPL -tripery:TRPR:TRPR -tripled:TRPL:TRPL -triples:TRPL:TRPL -triplet:TRPL:TRPL -triplex:TRPL:TRPL -triplly:TRPL:TRPL -tripods:TRPT:TRPT -tripody:TRPT:TRPT -tripoli:TRPL:TRPL -tripped:TRPT:TRPT -tripper:TRPR:TRPR -trippet:TRPT:TRPT -tripsis:TRPS:TRPS -trireme:TRRM:TRRM -trisect:TRSK:TRSK -trismus:TRSM:TRSM -trisomy:TRSM:TRSM -tritely:TRTL:TRTL -triters:TRTR:TRTR -tritest:TRTS:TRTS -tritium:TRTM:TRTM -tritone:TRTN:TRTN -triumph:TRMF:TRMF -trivets:TRFT:TRFT -trivial:TRFL:TRFL -trivium:TRFM:TRFM -trochal:TRXL:TRKL -trochar:TRXR:TRKR -trochee:TRX:TRK -trodden:TRTN:TRTN -troikas:TRKS:TRKS -trojans:TRJN:TRHN -troland:TRLN:TRLN -trolled:TRLT:TRLT -troller:TRLR:TRLR -trolley:TRL:TRL -trollop:TRLP:TRLP -trommel:TRML:TRML -tromped:TRMP:TRMP -trooped:TRPT:TRPT -trooper:TRPR:TRPR -tropane:TRPN:TRPN -tropate:TRPT:TRPT -trophic:TRFK:TRFK -tropics:TRPK:TRPK -tropine:TRPN:TRPN -tropism:TRPS:TRPS -trothes:TR0S:TRTS -trotted:TRTT:TRTT -trotter:TRTR:TRTR -trouble:TRPL:TRPL -troughs:TRFS:TRFS -trounce:TRNS:TRNS -trouper:TRPR:TRPR -troupes:TRPS:TRPS -trouser:TRSR:TRSR -trovers:TRFR:TRFR -trowels:TRLS:TRLS -truancy:TRNS:TRNS -truants:TRNT:TRNT -trucial:TRSL:TRXL -trucked:TRKT:TRKT -trucker:TRKR:TRKR -truckle:TRKL:TRKL -trudeau:TRT:TRT -trudged:TRJT:TRJT -trudgen:TRJN:TRJN -trudger:TRJR:TRJR -trudges:TRJS:TRJS -trueing:TRNK:TRNK -truffle:TRFL:TRFL -truisms:TRSM:TRSM -trumeau:TRM:TRM -trumped:TRMP:TRMP -trumpet:TRMP:TRMP -truncal:TRNK:TRNK -truncus:TRNK:TRNK -trundle:TRNT:TRNT -trunked:TRNK:TRNK -trussed:TRST:TRST -trusser:TRSR:TRSR -trusses:TRSS:TRSS -trusted:TRST:TRST -trustee:TRST:TRST -truster:TRST:TRST -trustor:TRST:TRST -truthes:TR0S:TRTS -trymata:TRMT:TRMT -tryouts:TRTS:TRTS -trypsin:TRPS:TRPS -tryptic:TRPT:TRPT -trysail:TRSL:TRSL -trysted:TRST:TRST -tsardom:TSRT:TSRT -tsarina:TSRN:TSRN -tsarism:TSRS:TSRS -tsarist:TSRS:TSRS -tsetses:TSTS:TSTS -tsunami:TSNM:TSNM -tuatara:TTR:TTR -tubbier:TP:TPR -tubbing:TPNK:TPNK -tubular:TPLR:TPLR -tubules:TPLS:TPLS -tubulus:TPLS:TPLS -tuckers:TKRS:TKRS -tucking:TKNK:TKNK -tuesday:TST:TST -tufting:TFTN:TFTN -tugboat:TKPT:TKPT -tuggers:TKRS:TKRS -tugging:TKNK:TKNK -tuition:TXN:TXN -tumbled:TMPL:TMPL -tumbler:TMPL:TMPL -tumbles:TMPL:TMPL -tumbrel:TMPR:TMPR -tumbril:TMPR:TMPR -tumeric:TMRK:TMRK -tumidly:TMTL:TMTL -tummies:TMS:TMS -tumoral:TMRL:TMRL -tumular:TMLR:TMLR -tumults:TMLT:TMLT -tunable:TNPL:TNPL -tunably:TNPL:TNPL -tuneful:TNFL:TNFL -tuneups:TNPS:TNPS -tunicae:TNK:TNK -tunicin:TNSN:TNSN -tunicle:TNKL:TNKL -tunings:TNNK:TNNK -tunisia:TNS:TNX -tunnage:TNJ:TNK -tunnels:TNLS:TNLS -tunnies:TNS:TNS -tuppeny:TPN:TPN -tupping:TPNK:TPNK -turacin:TRSN:TRSN -turbans:TRPN:TRPN -turbary:TRPR:TRPR -turbine:TRPN:TRPN -turbots:TRPT:TRPT -turcica:TRSK:TRSK -turdine:TRTN:TRTN -turdoid:TRTT:TRTT -tureens:TRNS:TRNS -turfier:TRF:TRFR -turfing:TRFN:TRFN -turgite:TRJT:TRKT -turkeys:TRKS:TRKS -turkish:TRKX:TRKX -turmoil:TRML:TRML -turners:TRNR:TRNR -turnery:TRNR:TRNR -turning:TRNN:TRNN -turnips:TRNP:TRNP -turnkey:TRNK:TRNK -turnoff:TRNF:TRNF -turnout:TRNT:TRNT -turrets:TRTS:TRTS -turtler:TRTL:TRTL -turtles:TRTL:TRTL -tuscany:TSKN:TSKN -tushery:TXR:TXR -tuskers:TSKR:TSKR -tusking:TSKN:TSKN -tussive:TSF:TSF -tussled:TSLT:TSLT -tussles:TSLS:TSLS -tussock:TSK:TSK -tussore:TSR:TSR -tutelae:TTL:TTL -tutelar:TTLR:TTLR -tutored:TTRT:TTRT -tutoris:TTRS:TTRS -tuxedos:TKST:TKST -tuyeres:TRS:TRS -twaddle:TTL:TTL -twaddly:TTL:TTL -twanged:TNJT:TNKT -twankay:TNK:TNK -tweaked:TKT:TKT -tweaker:TKR:TKR -tweeted:TTT:TTT -tweeter:TTR:TTR -tweezed:TST:TTST -tweezes:TSS:TTSS -twelfth:TLF0:TLFT -twelves:TLFS:TLFS -twiddle:TTL:TTL -twigged:TKT:TKT -twilled:TLT:TLT -twiners:TNRS:TNRS -twinged:TNJT:TNKT -twinges:TNJS:TNKS -twining:TNNK:TNNK -twinkle:TNKL:TNKL -twinned:TNT:TNT -twinset:TNST:TNST -twirled:TRLT:TRLT -twirler:TRLR:TRLR -twisted:TSTT:TSTT -twister:TSTR:TSTR -twitchy:TX:TX -twitted:TTT:TTT -twitter:TTR:TTR -twofers:TFRS:TFRS -twofold:TFLT:TFLT -twosome:TSM:TSM -tychism:TXSM:TKSM -tycoons:TKNS:TKNS -tylomas:TLMS:TLMS -tylopod:TLPT:TLPT -tyloses:TLSS:TLSS -tylosin:TLSN:TLSN -tylosis:TLSS:TLSS -tylotic:TLTK:TLTK -tympana:TMPN:TMPN -tympani:TMPN:TMPN -tympany:TMPN:TMPN -tyndall:TNTL:TNTL -tynwald:TNLT:TNLT -typebar:TPPR:TPPR -typeout:TPT:TPT -typeset:TPST:TPST -typhoid:TFT:TFT -typhoon:TFN:TFN -typhous:TFS:TFS -typical:TPKL:TPKL -typists:TPST:TPST -tyranny:TRN:TRN -tyrants:TRNT:TRNT -tzarina:TSRN:TSRN -tzigane:TSKN:TSKN -uberous:APRS:APRS -ufology:AFLJ:AFLK -ugandan:AKNT:AKNT -ugliest:AKLS:ALST -ukelele:AKLL:AKLL -ukraine:AKRN:AKRN -ukulele:AKLL:AKLL -ulcered:ALSR:ALSR -ullaged:ALJT:ALKT -ulotomy:ALTM:ALTM -ulsters:ALST:ALST -ultimum:ALTM:ALTM -ululant:ALLN:ALLN -ululate:ALLT:ALLT -ulysses:ALSS:ALSS -umbered:AMRT:AMRT -umbonal:AMPN:AMPN -umbones:AMPN:AMPN -umbonic:AMPN:AMPN -umbraes:AMPR:AMPR -umbrage:AMPR:AMPR -umlauts:AMLT:AMLT -umpired:AMPR:AMPR -umpires:AMPR:AMPR -umpteen:AMPT:AMPT -unabash:ANPX:ANPX -unacted:ANKT:ANKT -unadapt:ANTP:ANTP -unadorn:ANTR:ANTR -unaging:ANJN:ANKN -unaided:ANTT:ANTT -unaimed:ANMT:ANMT -unaired:ANRT:ANRT -unalarm:ANLR:ANLR -unalign:ANLN:ANLK -unalike:ANLK:ANLK -unallay:ANL:ANL -unallow:ANL:ANLF -unalloy:ANL:ANL -unalter:ANLT:ANLT -unamend:ANMN:ANMN -unamuse:ANMS:ANMS -unaptly:ANPT:ANPT -unarmed:ANRM:ANRM -unarmor:ANRM:ANRM -unasked:ANSK:ANSK -unaspir:ANSP:ANSP -unassum:ANSM:ANSM -unaudit:ANTT:ANTT -unavail:ANFL:ANFL -unawake:ANK:ANK -unaware:ANR:ANR -unbaked:ANPK:ANPK -unbecom:ANPK:ANPK -unbelts:ANPL:ANPL -unbends:ANPN:ANPN -unbigot:ANPK:ANPK -unbinds:ANPN:ANPN -unblame:ANPL:ANPL -unbless:ANPL:ANPL -unblink:ANPL:ANPL -unblock:ANPL:ANPL -unbolts:ANPL:ANPL -unboned:ANPN:ANPN -unbosom:ANPS:ANPS -unbound:ANPN:ANPN -unbowed:ANPT:ANPT -unbrace:ANPR:ANPR -unbrand:ANPR:ANPR -unbribe:ANPR:ANPR -unbruis:ANPR:ANPR -unbrush:ANPR:ANPR -unbuilt:ANPL:ANPL -unburnt:ANPR:ANPR -uncaged:ANKJ:ANKK -uncanny:ANKN:ANKN -uncared:ANKR:ANKR -unchain:ANXN:ANKN -unchart:ANXR:ANKR -uncheck:ANXK:ANKK -uncinal:ANSN:ANSN -uncivil:ANSF:ANSF -unclaim:ANKL:ANKL -unclasp:ANKL:ANKL -unclean:ANKL:ANKL -unclear:ANKL:ANKL -uncloak:ANKL:ANKL -unclogs:ANKL:ANKL -unclose:ANKL:ANKL -uncloud:ANKL:ANKL -uncoils:ANKL:ANKL -uncolor:ANKL:ANKL -uncorks:ANKR:ANKR -uncount:ANKN:ANKN -uncouth:ANK0:ANKT -uncover:ANKF:ANKF -uncrate:ANKR:ANKR -uncross:ANKR:ANKR -uncrowd:ANKR:ANKR -uncrown:ANKR:ANKR -unction:ANKX:ANKX -uncured:ANKR:ANKR -uncurls:ANKR:ANKR -undated:ANTT:ANTT -undaunt:ANTN:ANTN -undecay:ANTK:ANTK -underdo:ANTR:ANTR -undergo:ANTR:ANTR -underly:ANTR:ANTR -undoers:ANTR:ANTR -undoing:ANTN:ANTN -undoubt:ANTP:ANTP -undrape:ANTR:ANTR -undrawn:ANTR:ANTR -undraws:ANTR:ANTR -undream:ANTR:ANTR -undress:ANTR:ANTR -unduely:ANTL:ANTL -undying:ANTN:ANTN -unearth:ANR0:ANRT -uneaten:ANTN:ANTN -unedify:ANTF:ANTF -unended:ANNT:ANNT -unendur:ANNT:ANNT -unenter:ANNT:ANNT -unequal:ANKL:ANKL -unerase:ANRS:ANRS -unerupt:ANRP:ANRP -unevoke:ANFK:ANFK -unexcit:ANKS:ANKS -unfaded:ANFT:ANFT -unfavor:ANFF:ANFF -unfazed:ANFS:ANFS -unfeign:ANFN:ANFK -unfence:ANFN:ANFN -unfeued:ANFT:ANFT -unfired:ANFR:ANFR -unfitly:ANFT:ANFT -unfixed:ANFK:ANFK -unfixes:ANFK:ANFK -unfolds:ANFL:ANFL -unforce:ANFR:ANFR -unfound:ANFN:ANFN -unframe:ANFR:ANFR -unfrock:ANFR:ANFR -unfroze:ANFR:ANFR -unfunny:ANFN:ANFN -unfurls:ANFR:ANFR -unglaze:ANKL:ANKL -unglued:ANKL:ANKL -ungodly:ANKT:ANKT -ungrade:ANKR:ANKR -ungrant:ANKR:ANKR -unguard:ANKR:ANKR -unguent:ANKN:ANKN -unguide:ANKT:ANKT -ungulae:ANKL:ANKL -unhairs:ANRS:ANRS -unhands:ANNT:ANNT -unhandy:ANNT:ANNT -unhappy:ANP:ANP -unhatch:ANX:ANX -unheard:ANRT:ANRT -unhinge:ANNJ:ANNK -unhitch:ANX:ANX -unhonor:ANNR:ANNR -unhooks:ANKS:ANKS -unhoped:ANPT:ANPT -unhorse:ANRS:ANRS -unhuman:ANMN:ANMN -unicorn:ANKR:ANKR -unideal:ANTL:ANTL -unified:ANFT:ANFT -unifier:ANF:ANFR -unifies:ANFS:ANFS -uniform:ANFR:ANFR -unimpos:ANMP:ANMP -unioval:ANFL:ANFL -unipara:ANPR:ANPR -unissue:ANS:ANS -unitary:ANTR:ANTR -unities:ANTS:ANTS -uniting:ANTN:ANTN -unitive:ANTF:ANTF -unitize:ANTS:ANTS -unjoint:ANJN:ANJN -unkempt:ANKM:ANKM -unknits:ANKN:ANKN -unknots:ANKN:ANKN -unknown:ANKN:ANKN -unlabel:ANLP:ANLP -unlabor:ANLP:ANLP -unlaced:ANLS:ANLS -unlaces:ANLS:ANLS -unladen:ANLT:ANLT -unlatch:ANLX:ANLX -unleads:ANLT:ANLT -unlearn:ANLR:ANLR -unlease:ANLS:ANLS -unleash:ANLX:ANLX -unlegal:ANLK:ANLK -unlevel:ANLF:ANLF -unlimit:ANLM:ANLM -unlined:ANLN:ANLN -unlinks:ANLN:ANLN -unlived:ANLF:ANLF -unlives:ANLF:ANLF -unloads:ANLT:ANLT -unlocks:ANLK:ANLK -unloose:ANLS:ANLS -unloved:ANLF:ANLF -unlucky:ANLK:ANLK -unmaker:ANMK:ANMK -unmakes:ANMK:ANMK -unmanly:ANMN:ANMN -unmarry:ANMR:ANMR -unmasks:ANMS:ANMS -unmatch:ANMX:ANMX -unmeant:ANMN:ANMN -unmerge:ANMR:ANMR -unmerit:ANMR:ANMR -unmixed:ANMK:ANMK -unmoors:ANMR:ANMR -unmoral:ANMR:ANMR -unmount:ANMN:ANMN -unmourn:ANMR:ANMR -unmoved:ANMF:ANMF -unnamed:ANMT:ANMT -unnerve:ANRF:ANRF -unnoted:ANTT:ANTT -unoffer:ANFR:ANFR -unorder:ANRT:ANRT -unowned:ANNT:ANNT -unpacks:ANPK:ANPK -unpaged:ANPJ:ANPK -unpaint:ANPN:ANPN -unpaved:ANPF:ANPF -unpicks:ANPK:ANPK -unpiled:ANPL:ANPL -unpiles:ANPL:ANPL -unplace:ANPL:ANPL -unplant:ANPL:ANPL -unplugs:ANPL:ANPL -unpoint:ANPN:ANPN -unpoise:ANPS:ANPS -unposed:ANPS:ANPS -unpress:ANPR:ANPR -unprove:ANPR:ANPR -unprune:ANPR:ANPR -unquiet:ANKT:ANKT -unquote:ANKT:ANKT -unraise:ANRS:ANRS -unrated:ANRT:ANRT -unravel:ANRF:ANRF -unready:ANRT:ANRT -unreels:ANRL:ANRL -unreeve:ANRF:ANRF -unrelax:ANRL:ANRL -unrenew:ANRN:ANRN -unright:ANRT:ANRT -unripen:ANRP:ANRP -unrival:ANRF:ANRF -unrolls:ANRL:ANRL -unroofs:ANRF:ANRF -unruled:ANRL:ANRL -unsated:ANST:ANST -unsaved:ANSF:ANSF -unscrew:ANSK:ANSK -unseals:ANSL:ANSL -unseats:ANST:ANST -unseing:ANSN:ANSN -unserve:ANSR:ANSR -unshade:ANXT:ANXT -unshame:ANXM:ANXM -unshare:ANXR:ANXR -unshave:ANXF:ANXF -unshell:ANXL:ANXL -unshift:ANXF:ANXF -unships:ANXP:ANXP -unshorn:ANXR:ANXR -unsight:ANST:ANST -unsized:ANSS:ANSS -unskill:ANSK:ANSK -unsling:ANSL:ANSL -unslung:ANSL:ANSL -unsnaps:ANSN:ANSN -unsnarl:ANSN:ANSN -unsolve:ANSL:ANSL -unsooth:ANS0:ANST -unsound:ANSN:ANSN -unspent:ANSP:ANSP -unspoil:ANSP:ANSP -unsport:ANSP:ANSP -unsprun:ANSP:ANSP -unstain:ANST:ANST -unstamp:ANST:ANST -unstate:ANST:ANST -unsteel:ANST:ANST -unsteps:ANST:ANST -unstick:ANST:ANST -unstint:ANST:ANST -unstops:ANST:ANST -unstrap:ANST:ANST -unstrun:ANST:ANST -unstuck:ANST:ANST -unswear:ANSR:ANSR -unswore:ANSR:ANSR -unsworn:ANSR:ANSR -untacks:ANTK:ANTK -untaint:ANTN:ANTN -untamed:ANTM:ANTM -untaxed:ANTK:ANTK -untempt:ANTM:ANTM -unthink:AN0N:ANTN -untired:ANTR:ANTR -untitle:ANTT:ANTT -untouch:ANTK:ANTK -untrace:ANTR:ANTR -untrain:ANTR:ANTR -untried:ANTR:ANTR -untruly:ANTR:ANTR -untruss:ANTR:ANTR -untruth:ANTR:ANTR -untucks:ANTK:ANTK -untutor:ANTT:ANTT -untwine:ANTN:ANTN -untwist:ANTS:ANTS -untying:ANTN:ANTN -unusual:ANSL:ANSL -unutter:ANTR:ANTR -unveils:ANFL:ANFL -unverse:ANFR:ANFR -unvexed:ANFK:ANFK -unvisit:ANFS:ANFS -unvoice:ANFS:ANFS -unvouch:ANFK:ANFK -unvowed:ANFT:ANFT -unwaged:ANJT:ANKT -unwatch:ANX:ANX -unwaxed:ANKS:ANKS -unweary:ANR:ANR -unweave:ANF:ANF -unwinds:ANNT:ANNT -unwound:ANNT:ANNT -unwoven:ANFN:ANFN -unwraps:ANRP:ANRP -unyoked:ANKT:ANKT -unyokes:ANKS:ANKS -upbraid:APRT:APRT -upbring:APRN:APRN -upbuild:APLT:APLT -upbuilt:APLT:APLT -upcasts:APKS:APKS -upchuck:APXK:APKK -updated:APTT:APTT -updater:APTT:APTT -updates:APTT:APTT -updraft:APTR:APTR -upended:APNT:APNT -upfront:APFR:APFR -upgrade:APKR:APKR -upheave:AFF:AFF -upholds:AFLT:AFLT -upishly:APXL:APXL -uplands:APLN:APLN -uplifts:APLF:APLF -uploads:APLT:APLT -upraise:APRS:APRS -uprated:APRT:APRT -uprates:APRT:APRT -uprears:APRR:APRR -upright:APRT:APRT -uprisen:APRS:APRS -upriser:APRS:APRS -upriver:APRF:APRF -uproars:APRR:APRR -uproots:APRT:APRT -upscale:APSK:APSK -upshift:APXF:APXF -upshots:APXT:APXT -upsides:APST:APST -upsilon:APSL:APSL -upstage:APST:APST -upstand:APST:APST -upstart:APST:APST -upstate:APST:APST -upsurge:APSR:APSR -upsweep:APSP:APSP -upswept:APSP:APSP -upswing:APSN:APSN -upswung:APSN:APSN -uptakes:APTK:APTK -upthrow:AP0R:APTR -uptight:APTT:APTT -uptilts:APTL:APTL -upturns:APTR:APTR -upwards:APRT:APRT -urachal:ARKL:ARKL -urachus:ARKS:ARKS -uraemia:ARM:ARM -uraemic:ARMK:ARMK -uranian:ARNN:ARNN -uranide:ARNT:ARNT -uranite:ARNT:ARNT -uranium:ARNM:ARNM -uranous:ARNS:ARNS -uraroma:ARRM:ARRM -urbanum:ARPN:ARPN -urchins:ARXN:ARKN -uredema:ARTM:ARTM -uredium:ARTM:ARTM -ureters:ARTR:ARTR -urethan:AR0N:ARTN -urethra:AR0R:ARTR -urgency:ARJN:ARKN -urgings:ARJN:ARKN -uricase:ARKS:ARKS -uridine:ARTN:ARTN -urinals:ARNL:ARNL -urinary:ARNR:ARNR -urinate:ARNT:ARNT -urinoma:ARNM:ARNM -urinous:ARNS:ARNS -urodele:ARTL:ARTL -urogram:ARKR:ARKR -urolith:ARL0:ARLT -urology:ARLJ:ARLK -uruguay:ARK:ARK -useable:ASPL:ASPL -useably:ASPL:ASPL -useless:ASLS:ASLS -ushered:AXRT:AXRT -usually:ASL:ASL -usurers:ASRR:ASRR -usuries:ASRS:ASRS -usurped:ASRP:ASRP -usurper:ASRP:ASRP -utahans:ATHN:ATHN -utensil:ATNS:ATNS -uterine:ATRN:ATRN -utility:ATLT:ATLT -utilize:ATLS:ATLS -utopian:ATPN:ATPN -utopias:ATPS:ATPS -utricle:ATRK:ATRK -uttered:ATRT:ATRT -utterer:ATRR:ATRR -utterly:ATRL:ATRL -uveitis:AFTS:AFTS -uvulaes:AFLS:AFLS -uxorial:AKSR:AKSR -vacancy:FKNS:FKNS -vacandi:FKNT:FKNT -vacated:FKTT:FKTT -vacates:FKTS:FKTS -vacatur:FKTR:FKTR -vaccine:FXN:FXN -vacuity:FKT:FKT -vacuole:FKL:FKL -vacuous:FKS:FKS -vacuums:FKMS:FKMS -vagging:FJNK:FKNK -vaginae:FJN:FKN -vaginal:FJNL:FKNL -vaginas:FJNS:FKNS -vagitus:FJTS:FKTS -vagrant:FKRN:FKRN -vaguely:FKL:FKL -vaguers:FKRS:FKRS -vaguest:FKST:FKST -valance:FLNS:FLNS -valence:FLNS:FLNS -valency:FLNS:FLNS -valeric:FLRK:FLRK -valeted:FLTT:FLTT -valiant:FLNT:FLNT -validly:FLTL:FLTL -valises:FLSS:FLSS -vallate:FLT:FLT -valleys:FLS:FLS -valorem:FLRM:FLRM -valuate:FLT:FLT -valuers:FLRS:FLRS -valuing:FLNK:FLNK -valvate:FLFT:FLFT -valvula:FLFL:FLFL -valvule:FLFL:FLFL -vamoose:FMS:FMS -vampers:FMPR:FMPR -vamping:FMPN:FMPN -vampire:FMPR:FMPR -vampish:FMPX:FMPX -vanadic:FNTK:FNTK -vandals:FNTL:FNTL -vandyke:FNTK:FNTK -vanilla:FNL:FNL -vantage:FNTJ:FNTK -vanward:FNRT:FNRT -vapidly:FPTL:FPTL -vaporer:FPRR:FPRR -vaquero:FKR:FKR -variant:FRNT:FRNT -variate:FRT:FRT -varices:FRSS:FRSS -variety:FRT:FRT -variola:FRL:FRL -variole:FRL:FRL -various:FRS:FRS -varmint:FRMN:FRMN -varnish:FRNX:FRNX -varolii:FRL:FRL -varsity:FRST:FRST -varying:FRNK:FRNK -vasitis:FSTS:FSTS -vasorum:FSRM:FSRM -vassals:FSLS:FSLS -vasters:FSTR:FSTR -vastest:FSTS:FSTS -vastity:FSTT:FSTT -vatical:FTKL:FTKL -vatican:FTKN:FTKN -vatting:FTNK:FTNK -vaulted:FLTT:FLTT -vaulter:FLTR:FLTR -vaunted:FNTT:FNTT -vaunter:FNTR:FNTR -vectors:FKTR:FKTR -vedanta:FTNT:FTNT -vedette:FTT:FTT -veering:FRNK:FRNK -vegetal:FKTL:FKTL -vehicle:FHKL:FHKL -veiling:FLNK:FLNK -veining:FNNK:FNNK -veinlet:FNLT:FNLT -vejours:FJRS:FHRS -velamen:FLMN:FLMN -vellums:FLMS:FLMS -velours:FLRS:FLRS -velpeau:FLP:FLP -velvets:FLFT:FLFT -velvety:FLFT:FLFT -venally:FNL:FNL -venatic:FNTK:FNTK -vendace:FNTS:FNTS -vendees:FNTS:FNTS -venders:FNTR:FNTR -vending:FNTN:FNTN -vendors:FNTR:FNTR -veneers:FNRS:FNRS -veneris:FNRS:FNRS -venires:FNRS:FNRS -venison:FNSN:FNSN -venomed:FNMT:FNMT -venosus:FNSS:FNSS -ventage:FNTJ:FNTK -venters:FNTR:FNTR -venting:FNTN:FNTN -ventrad:FNTR:FNTR -ventral:FNTR:FNTR -venture:FNTR:FNTR -venturi:FNTR:FNTR -venular:FNLR:FNLR -veranda:FRNT:FRNT -verbals:FRPL:FRPL -verbena:FRPN:FRPN -verbify:FRPF:FRPF -verbile:FRPL:FRPL -verbose:FRPS:FRPS -verdant:FRTN:FRTN -verdict:FRTK:FRTK -verdure:FRTR:FRTR -vergers:FRKR:FRJR -verging:FRJN:FRKN -verglas:FRKL:FRKL -verismo:FRSM:FRSM -vermeil:FRML:FRML -vermian:FRMN:FRMN -vermont:FRMN:FRMN -vernier:FRN:FRNR -verruca:FRK:FRK -verruga:FRK:FRK -versant:FRSN:FRSN -versify:FRSF:FRSF -versing:FRSN:FRSN -version:FRSN:FRXN -vertigo:FRTK:FRTK -vervain:FRFN:FRFN -vervets:FRFT:FRFT -vesicae:FSK:FSK -vesical:FSKL:FSKL -vesicle:FSKL:FSKL -vespers:FSPR:FSPR -vespids:FSPT:FSPT -vespine:FSPN:FSPN -vessels:FSLS:FSLS -vestees:FSTS:FSTS -vestige:FSTJ:FSTK -vesting:FSTN:FSTN -vestral:FSTR:FSTR -vesture:FSTR:FSTR -veteran:FTRN:FTRN -vetitum:FTTM:FTTM -vetiver:FTFR:FTFR -vetoers:FTRS:FTRS -vetoing:FTNK:FTNK -vetting:FTNK:FTNK -vexatae:FKST:FKST -vexedly:FKST:FKST -vexilla:FKSL:FKSL -viaduct:FTKT:FTKT -vialing:FLNK:FLNK -vialled:FLT:FLT -viatica:FTK:FTK -vibices:FPSS:FPSS -vibrant:FPRN:FPRN -vibrate:FPRT:FPRT -vibrato:FPRT:FPRT -vibrion:FPRN:FPRN -vicaria:FKR:FKR -vicarly:FKRL:FKRL -viceroy:FSR:FSR -vicinal:FSNL:FSNL -vicious:FSS:FXS -victims:FKTM:FKTM -victors:FKTR:FKTR -victory:FKTR:FKTR -victual:FKTL:FKTL -vicunas:FKNS:FKNS -videoed:FTT:FTT -vidicon:FTKN:FTKN -vidimus:FTMS:FTMS -vidkids:FTKT:FTKT -viduity:FTT:FTT -vietcon:FTKN:FTKN -vietnam:FTNM:FTNM -viewers:FRS:FRS -viewing:FNK:FNK -vifgage:FFKJ:FFKK -vigoure:FKR:FKR -vikings:FKNK:FKNK -village:FLJ:FLK -villain:FLN:FLN -villein:FLN:FLN -villose:FLS:FLS -villous:FLS:FLS -vinasse:FNS:FNS -vincent:FNSN:FNSN -vincula:FNKL:FNKL -vinculo:FNKL:FNKL -vinegar:FNKR:FNKR -vintage:FNTJ:FNTK -vintner:FNTN:FNTN -violate:FLT:FLT -violent:FLNT:FLNT -violets:FLTS:FLTS -violins:FLNS:FLNS -violist:FLST:FLST -violone:FLN:FLN -viragos:FRKS:FRKS -virchow:FRX:FRKF -viremia:FRM:FRM -viremic:FRMK:FRMK -virgate:FRKT:FRKT -virgins:FRJN:FRKN -virgoan:FRKN:FRKN -virgule:FRKL:FRKL -virilly:FRL:FRL -viroses:FRSS:FRSS -virosis:FRSS:FRSS -virtual:FRTL:FRTL -virtues:FRTS:FRTS -virtute:FRTT:FRTT -viruses:FRSS:FRSS -visaged:FSJT:FSKT -visages:FSJS:FSKS -visaing:FSNK:FSNK -visavis:FSFS:FSFS -viscera:FSR:FSR -viscoid:FSKT:FSKT -viscose:FSKS:FSKS -viscous:FSKS:FSKS -viseing:FSNK:FSNK -visible:FSPL:FSPL -visibly:FSPL:FSPL -visions:FSNS:FXNS -visited:FSTT:FSTT -visiter:FSTR:FSTR -visitor:FSTR:FSTR -visored:FSRT:FSRT -vistaed:FSTT:FSTT -visuals:FSLS:FSLS -vitally:FTL:FTL -vitamer:FTMR:FTMR -vitamin:FTMN:FTMN -vitiate:FXT:FXT -vitreum:FTRM:FTRM -vitrify:FTRF:FTRF -vitrina:FTRN:FTRN -vitrine:FTRN:FTRN -vitriol:FTRL:FTRL -vivants:FFNT:FFNT -vivaria:FFR:FFR -vivendi:FFNT:FFNT -vividly:FFTL:FFTL -vixenly:FKSN:FKSN -vizards:FSRT:FSRT -viziers:FSRS:FSRS -vizored:FSRT:FSRT -vizslas:FSSL:FSSL -vocable:FKPL:FKPL -vocably:FKPL:FKPL -vocalic:FKLK:FKLK -vocally:FKL:FKL -vocoder:FKTR:FKTR -voguish:FKX:FKX -voicers:FSRS:FSRS -voicing:FSNK:FSNK -voiders:FTRS:FTRS -voiding:FTNK:FTNK -volcano:FLKN:FLKN -volemic:FLMK:FLMK -volente:FLNT:FLNT -volkman:FLKM:FLKM -volleys:FLS:FLS -vollies:FLS:FLS -voltage:FLTJ:FLTK -voltaic:FLTK:FLTK -voluble:FLPL:FLPL -volubly:FLPL:FLPL -volumed:FLMT:FLMT -volumes:FLMS:FLMS -volutes:FLTS:FLTS -volutin:FLTN:FLTN -vomicae:FMK:FMK -vomited:FMTT:FMTT -vomiter:FMTR:FMTR -vomitus:FMTS:FMTS -voodoos:FTS:FTS -vorlage:FRLJ:FRLK -votable:FTPL:FTPL -vouched:FXT:FKT -vouchee:FX:FK -voucher:FXR:FKR -vouches:FXS:FKS -voweled:FLT:FLT -vowless:FLS:FLS -voyaged:FJT:FKT -voyager:FKR:FJR -voyages:FJS:FKS -voyeurs:FRS:FRS -vulgate:FLKT:FLKT -vulpine:FLPN:FLPN -vulture:FLTR:FLTR -vulvaes:FLFS:FLFS -vulvate:FLFT:FLFT -vyingly:FNKL:FNKL -wackier:AKR:FKR -wackily:AKL:FKL -wadable:ATPL:FTPL -wadding:ATNK:FTNK -waddled:ATLT:FTLT -waddler:ATLR:FTLR -waddles:ATLS:FTLS -wafered:AFRT:FFRT -waffled:AFLT:FFLT -waffler:AFLR:FFLR -waffles:AFLS:FFLS -waftage:AFTJ:FFTK -wafters:AFTR:FFTR -wafting:AFTN:FFTN -wagered:AKRT:FJRT -wagerer:AKRR:FJRR -waggery:AKR:FKR -wagging:AJNK:FKNK -waggish:AJX:FKX -waggled:AKLT:FKLT -waggles:AKLS:FKLS -waggons:AKNS:FKNS -wagoner:AKNR:FKNR -wagtail:AKTL:FKTL -wahines:AHNS:FHNS -wailers:ALRS:FLRS -wailful:ALFL:FLFL -wailing:ALNK:FLNK -waisted:ASTT:FSTT -waiters:ATRS:FTRS -waiting:ATNK:FTNK -waivers:AFRS:FFRS -waiving:AFNK:FFNK -wakeful:AKFL:FKFL -wakened:AKNT:FKNT -wakener:AKNR:FKNR -waldorf:ALTR:FLTR -walkers:ALKR:FLKR -walking:ALKN:FLKN -walkout:ALKT:FLKT -walkups:ALKP:FLKP -walkway:ALK:FLK -wallaby:ALP:FLP -wallahs:ALS:FLS -wallers:ALRS:FLRS -wallets:ALTS:FLTS -walleye:AL:FL -walling:ALNK:FLNK -walloon:ALN:FLN -wallops:ALPS:FLPS -wallows:ALS:FLS -walnuts:ALNT:FLNT -waltzed:ALTS:FLTS -waltzer:ALTS:FLTS -waltzes:ALTS:FLTS -wampler:AMPL:FMPL -wanders:ANTR:FNTR -wangled:ANKL:FNKL -wangler:ANKL:FNKL -wangles:ANKL:FNKL -wanness:ANS:FNS -wannest:ANST:FNST -wanning:ANNK:FNNK -wantage:ANTJ:FNTK -wanting:ANTN:FNTN -wantons:ANTN:FNTN -wapitis:APTS:FPTS -warbled:ARPL:FRPL -warbler:ARPL:FRPL -warbles:ARPL:FRPL -warburg:ARPR:FRPR -wardens:ARTN:FRTN -warders:ARTR:FRTR -wardian:ARTN:FRTN -warding:ARTN:FRTN -warfare:ARFR:FRFR -warhead:ART:FRT -wariest:ARST:FRST -warless:ARLS:FRLS -warlike:ARLK:FRLK -warlock:ARLK:FRLK -warlord:ARLR:FRLR -warmers:ARMR:FRMR -warmest:ARMS:FRMS -warming:ARMN:FRMN -warmish:ARMX:FRMX -warmups:ARMP:FRMP -warning:ARNN:FRNN -warpage:ARPJ:FRPK -warpath:ARP0:FRPT -warpers:ARPR:FRPR -warping:ARPN:FRPN -warrant:ARNT:FRNT -warrens:ARNS:FRNS -warring:ARNK:FRNK -warrior:ARR:FRR -warship:ARXP:FRXP -wartier:ARTR:FRTR -wartime:ARTM:FRTM -washday:AXT:FXT -washers:AXRS:FXRS -washery:AXR:FXR -washier:AXR:FXR -washily:AXL:FXL -washing:AXNK:FXNK -washout:AXT:FXT -washrag:AXRK:FXRK -washtub:AXTP:FXTP -waspily:ASPL:FSPL -waspish:ASPX:FSPX -wassail:ASL:FSL -wastage:ASTJ:FSTK -wasters:ASTR:FSTR -wastier:ASTR:FSTR -wasting:ASTN:FSTN -wastrel:ASTR:FSTR -watchdo:AXT:FXT -watched:AXT:FXT -watcher:AXR:FXR -watches:AXS:FXS -watered:ATRT:FTRT -waterlo:ATRL:FTRL -wattage:ATJ:FTK -wattled:ATLT:FTLT -wattles:ATLS:FTLS -wavelet:AFLT:FFLT -waveoff:AFF:FFF -wavered:AFRT:FFRT -waverer:AFRR:FFRR -waveson:AFSN:FFSN -waviata:AFT:FFT -waviest:AFST:FFST -waxbill:AKSP:FKSP -waxiest:AKSS:FKSS -waxwing:AKSN:FKSN -waxwork:AKSR:FKSR -waybill:APL:FPL -waylaid:ALT:FLT -waylays:ALS:FLS -waymark:AMRK:FMRK -wayside:AST:FST -wayward:ART:FRT -wayworn:ARN:FRN -weakens:AKNS:FKNS -weakest:AKST:FKST -weakish:AKX:FKX -wealden:ALTN:FLTN -wealths:AL0S:FLTS -wealthy:AL0:FLT -weaning:ANNK:FNNK -weapons:APNS:FPNS -wearers:ARRS:FRRS -wearied:ART:FRT -wearier:ARR:FRR -wearies:ARS:FRS -wearily:ARL:FRL -wearing:ARNK:FRNK -weasand:ASNT:FSNT -weasels:ASLS:FSLS -weather:A0R:FTR -weavers:AFRS:FFRS -weaving:AFNK:FFNK -webbier:APR:FPR -webbing:APNK:FPNK -webfoot:APFT:FPFT -webless:APLS:FPLS -weblike:APLK:FPLK -webster:APST:FPST -wedding:ATNK:FTNK -wedging:AJNK:FJNK -wedlock:ATLK:FTLK -weeders:ATRS:FTRS -weedier:ATR:FTR -weedily:ATL:FTL -weeding:ATNK:FTNK -weekday:AKT:FKT -weekend:AKNT:FKNT -weenier:ANR:FNR -weepers:APRS:FPRS -weepier:APR:FPR -weepies:APS:FPS -weepily:APL:FPL -weeping:APNK:FPNK -weevils:AFLS:FFLS -weevily:AFL:FFL -weigela:AJL:FKL -weigert:AJRT:FKRT -weighed:AT:FT -weigher:AR:FR -weighes:AS:FS -weights:ATS:FTS -weighty:AT:FT -weinber:ANPR:FNPR -weirder:ARTR:FRTR -weirdie:ART:FRT -weirdly:ARTL:FRTL -weirdos:ARTS:FRTS -welcome:ALKM:FLKM -welders:ALTR:FLTR -welding:ALTN:FLTN -welfare:ALFR:FLFR -wellies:ALS:FLS -welling:ALNK:FLNK -welshed:ALXT:FLXT -welsher:ALXR:FLXR -welshes:ALXS:FLXS -welters:ALTR:FLTR -welting:ALTN:FLTN -wenched:ANXT:FNKT -wencher:ANXR:FNKR -wenches:ANXS:FNKS -wending:ANTN:FNTN -weren't:ARNT:FRNT -werlhof:ARLF:FRLF -weskits:ASKT:FSKT -western:ASTR:FSTR -westers:ASTR:FSTR -westing:ASTN:FSTN -wetback:ATPK:FTPK -wethers:A0RS:FTRS -wetland:ATLN:FTLN -wetness:ATNS:FTNS -wetsuit:ATST:FTST -wetters:ATRS:FTRS -wettest:ATST:FTST -wetting:ATNK:FTNK -wettish:ATX:FTX -whacked:AKT:AKT -whacker:AKR:AKR -whalers:ALRS:ALRS -whaling:ALNK:ALNK -whammed:AMT:AMT -whanged:ANJT:ANKT -whangee:ANJ:ANK -wharton:ARTN:ARTN -wharves:ARFS:ARFS -whatnot:ATNT:ATNT -wheaten:ATN:ATN -wheedle:ATL:ATL -wheeled:ALT:ALT -wheeler:ALR:ALR -wheelie:AL:AL -wheezed:AST:ATST -wheezer:ASR:ATSR -wheezes:ASS:ATSS -whelmed:ALMT:ALMT -whelped:ALPT:ALPT -whereas:ARS:ARS -whereat:ART:ART -whereby:ARP:ARP -wherein:ARN:ARN -whereof:ARF:ARF -whereon:ARN:ARN -whereto:ART:ART -whether:A0R:ATR -whetted:ATT:ATT -whetter:ATR:ATR -wheyish:AX:AX -whicker:AKR:AKR -whiffed:AFT:AFT -whiffer:AFR:AFR -whiffle:AFL:AFL -whiling:ALNK:ALNK -whimper:AMPR:AMPR -whiners:ANRS:ANRS -whinier:ANR:ANR -whining:ANNK:ANNK -whipped:APT:APT -whipper:APR:APR -whippet:APT:APT -whipsaw:APS:APSF -whirled:ARLT:ARLT -whirler:ARLR:ARLR -whirred:ART:ART -whisked:ASKT:ASKT -whisker:ASKR:ASKR -whiskey:ASK:ASK -whisper:ASPR:ASPR -whistle:ASTL:ASTL -whitely:ATL:ATL -whitens:ATNS:ATNS -whitest:ATST:ATST -whither:A0R:ATR -whiting:ATNK:ATNK -whitish:ATX:ATX -whitley:ATL:ATL -whitlow:ATL:ATLF -whitman:ATMN:ATMN -whitney:ATN:ATN -whitsun:ATSN:ATSN -whittle:ATL:ATL -whizzed:AST:ATST -whizzes:ASS:ATSS -whoever:AFR:AFR -whooped:APT:APT -whoopee:AP:AP -whooper:APR:APR -whopped:APT:APT -whopper:APR:APR -whoring:ARNK:ARNK -whorish:ARX:ARX -whorled:ARLT:ARLT -whyever:AFR:AFR -wichita:AXT:FKT -wickets:AKTS:FKTS -wicking:AKNK:FKNK -wickiup:AKP:FKP -widened:ATNT:FTNT -widener:ATNR:FTNR -widgeon:AJN:FJN -widgets:AJTS:FJTS -widgies:AJS:FJS -widowed:ATT:FTT -widower:ATR:FTR -widthes:ATS:FTS -wielded:ALTT:FLTT -wielder:ALTR:FLTR -wieners:ANRS:FNRS -wigging:AKNK:FKNK -wiggled:AKLT:FKLT -wiggler:AKLR:FKLR -wiggles:AKLS:FKLS -wigless:AKLS:FKLS -wiglets:AKLT:FKLT -wiglike:AKLK:FKLK -wigwags:AKKS:FKKS -wigwams:AKMS:FKMS -wildcat:ALTK:FLTK -wildest:ALTS:FLTS -wilding:ALTN:FLTN -wildish:ALTX:FLTX -wilhelm:ALLM:FLLM -wiliest:ALST:FLST -willard:ALRT:FLRT -willful:ALFL:FLFL -william:ALM:FLM -willies:ALS:FLS -willing:ALNK:FLNK -willows:ALS:FLS -willowy:AL:FL -wilting:ALTN:FLTN -wimbled:AMPL:FMPL -wimbles:AMPL:FMPL -wimples:AMPL:FMPL -wincers:ANSR:FNSR -winched:ANXT:FNKT -wincher:ANXR:FNKR -winches:ANXS:FNKS -wincing:ANSN:FNSN -windage:ANTJ:FNTK -windbag:ANTP:FNTP -winders:ANTR:FNTR -windier:ANTR:FNTR -windily:ANTL:FNTL -winding:ANTN:FNTN -windows:ANTS:FNTS -windrow:ANTR:FNTR -windsor:ANTS:FNTS -windups:ANTP:FNTP -wingers:ANKR:FNJR -winging:ANJN:FNKN -winglet:ANKL:FNKL -winiest:ANST:FNST -winkers:ANKR:FNKR -winking:ANKN:FNKN -winkled:ANKL:FNKL -winkler:ANKL:FNKL -winkles:ANKL:FNKL -winless:ANLS:FNLS -winners:ANRS:FNRS -winning:ANNK:FNNK -winnows:ANS:FNS -winslow:ANSL:FNSL -winsome:ANSM:FNSM -winters:ANTR:FNTR -wintery:ANTR:FNTR -wipeout:APT:FPT -wiretap:ARTP:FRTP -wiriest:ARST:FRST -wirings:ARNK:FRNK -wisdoms:ASTM:FSTM -wishers:AXRS:FXRS -wishful:AXFL:FXFL -wishing:AXNK:FXNK -wispier:ASPR:FSPR -wispily:ASPL:FSPL -wistful:ASTF:FSTF -witched:AXT:FXT -witches:AXS:FXS -withers:A0RS:FTRS -withies:A0S:FTS -without:A0T:FTT -witless:ATLS:FTLS -witness:ATNS:FTNS -witters:ATRS:FTRS -wittier:ATR:FTR -wittily:ATL:FTL -witting:ATNK:FTNK -wizards:ASRT:FTSR -wizened:ASNT:FTSN -wobbled:APLT:FPLT -wobbler:APLR:FPLR -wobbles:APLS:FPLS -wolfing:ALFN:FLFN -wolfish:ALFX:FLFX -wolfram:ALFR:FLFR -womanly:AMNL:FMNL -wombats:AMPT:FMPT -wonders:ANTR:FNTR -wonkier:ANKR:FNKR -wonkily:ANKL:FNKL -woodcut:ATKT:FTKT -woodier:ATR:FTR -woodlot:ATLT:FTLT -woodman:ATMN:FTMN -woodmen:ATMN:FTMN -woofers:AFRS:FFRS -woofing:AFNK:FFNK -woolens:ALNS:FLNS -woollen:ALN:FLN -woolner:ALNR:FLNR -woomera:AMR:FMR -woozier:ASR:FTSR -woozily:ASL:FTSL -wordage:ARTJ:FRTK -wordier:ARTR:FRTR -wordily:ARTL:FRTL -wording:ARTN:FRTN -workbag:ARKP:FRKP -workday:ARKT:FRKT -workers:ARKR:FRKR -working:ARKN:FRKN -workman:ARKM:FRKM -workmen:ARKM:FRKM -workout:ARKT:FRKT -workshy:ARKX:FRKX -worktop:ARKT:FRKT -workups:ARKP:FRKP -worldly:ARLT:FRLT -wormery:ARMR:FRMR -wormfly:ARMF:FRMF -wormian:ARMN:FRMN -wormier:ARMR:FRMR -worming:ARMN:FRMN -worried:ART:FRT -worrier:ARR:FRR -worries:ARS:FRS -worsens:ARSN:FRSN -worship:ARXP:FRXP -worsted:ARST:FRST -wouldbe:ALTP:FLTP -wouldst:ALTS:FLTS -wounded:ANTT:FNTT -wounder:ANTR:FNTR -wowsers:ASRS:FSRS -wracked:RKT:RKT -wraiths:R0S:RTS -wrangle:RNKL:RNKL -wrapped:RPT:RPT -wrapper:RPR:RPR -wrasses:RSS:RSS -wreaked:RKT:RKT -wreaker:RKR:RKR -wreathe:R0:RT -wreaths:R0S:RTS -wrecked:RKT:RKT -wrecker:RKR:RKR -wrested:RSTT:RSTT -wrester:RSTR:RSTR -wrestle:RSTL:RSTL -wriggle:RKL:RKL -wriggly:RKL:RKL -wrights:RTS:RTS -wrigley:RKL:RKL -wriness:RNS:RNS -wringed:RNJT:RNKT -wringer:RNKR:RNJR -wrinkle:RNKL:RNKL -wrinkly:RNKL:RNKL -wrisber:RSPR:RSPR -writers:RTRS:RTRS -writhed:R0T:RTT -writhen:R0N:RTN -writher:R0R:RTR -writhes:R0S:RTS -writing:RTNK:RTNK -written:RTN:RTN -wrongdo:RNKT:RNKT -wronged:RNJT:RNKT -wronger:RNKR:RNJR -wrongly:RNKL:RNKL -wrought:RFT:RFT -wrybill:RPL:RPL -wryneck:RNK:RNK -wryness:RNS:RNS -wyoming:AMNK:FMNK -wyverns:AFRN:FFRN -xanthic:SN0K:SNTK -xanthin:SN0N:SNTN -xenical:SNKL:SNKL -xenopus:SNPS:SNPS -xerarch:SRRX:SRRK -xeroses:SRSS:SRSS -xerosis:SRSS:SRSS -xerotes:SRTS:SRTS -xerotic:SRTK:SRTK -xeroxed:SRKS:SRKS -xeroxes:SRKS:SRKS -xiphoid:SFT:SFT -xraying:SRNK:SRNK -xylitol:SLTL:SLTL -yabbers:APRS:APRS -yachted:AKTT:AKTT -yachter:AKTR:AKTR -yackety:AKT:AKT -yahwist:AST:AST -yakking:AKNK:AKNK -yammers:AMRS:AMRS -yangtze:ANKT:ANKT -yankees:ANKS:ANKS -yanking:ANKN:ANKN -yanquis:ANKS:ANKS -yappers:APRS:APRS -yapping:APNK:APNK -yardage:ARTJ:ARTK -yardarm:ARTR:ARTR -yarding:ARTN:ARTN -yardman:ARTM:ARTM -yardmen:ARTM:ARTM -yarners:ARNR:ARNR -yarning:ARNN:ARNN -yarrans:ARNS:ARNS -yarrows:ARS:ARS -yashmak:AXMK:AXMK -yawners:ANRS:ANRS -yawning:ANNK:ANNK -yawpers:APRS:APRS -yawping:APNK:APNK -yeaning:ANNK:ANNK -yearlon:ARLN:ARLN -yearned:ARNT:ARNT -yearner:ARNR:ARNR -yeggman:AKMN:AKMN -yeggmen:AKMN:AKMN -yellers:ALRS:ALRS -yelling:ALNK:ALNK -yellows:ALS:ALS -yellowy:AL:AL -yelping:ALPN:ALPN -yenning:ANNK:ANNK -yeshiva:AXF:AXF -yiddish:ATX:ATX -yielded:ALTT:ALTT -yielder:ALTR:ALTR -yippees:APS:APS -yippies:APS:APS -yipping:APNK:APNK -yobbish:APX:APX -yodeled:ATLT:ATLT -yodeler:ATLR:ATLR -yoghurt:AKRT:AKRT -yonkers:ANKR:ANKR -yorkers:ARKR:ARKR -yorking:ARKN:ARKN -yorkist:ARKS:ARKS -younger:ANKR:ANJR -youngly:ANKL:ANKL -youthes:A0S:ATS -yowling:ALNK:ALNK -yperite:APRT:APRT -yttrium:ATRM:ATRM -yuckier:AKR:AKR -yummier:AM:AMR -yuppies:APS:APS -zairian:SRN:SRN -zambezi:SMPS:SMPS -zambian:SMPN:SMPN -zanders:SNTR:SNTR -zaniest:SNST:SNST -zanyism:SNSM:SNSM -zapping:SPNK:SPNK -zealand:SLNT:SLNT -zealots:SLTS:SLTS -zealous:SLS:SLS -zebrine:SPRN:SPRN -zedoary:STR:STR -zemstvo:SMST:SMST -zenanas:SNNS:SNNS -zeniths:SN0S:SNTS -zeolite:SLT:SLT -zephyrs:SFRS:SFRS -zeroing:SRNK:SRNK -zestful:SSTF:SSTF -zestier:SST:SSTR -zetetic:STTK:STTK -zigzags:SKSK:SKSK -zillion:SLN:SLN -zincate:SNKT:SNKT -zincing:SNSN:SNSN -zincite:SNST:SNST -zincked:SNKT:SNKT -zincoid:SNKT:SNKT -zinging:SNJN:SNKN -zinking:SNKN:SNKN -zinnias:SNS:SNS -zionism:SNSM:SNSM -zionist:SNST:SNST -zippers:SPRS:SPRS -zippier:SP:SPR -zipping:SPNK:SPNK -zircons:SRKN:SRKN -zithern:S0RN:STRN -zithers:S0RS:STRS -zloties:SLTS:SLTS -zodiacs:STKS:STKS -zoisite:SST:SST -zombies:SMPS:SMPS -zonally:SNL:SNL -zonated:SNTT:SNTT -zonulae:SNL:SNL -zonular:SNLR:SNLR -zonulas:SNLS:SNLS -zoogony:SKN:SKN -zooidal:STL:STL -zoolite:SLT:SLT -zoology:SLJ:SLK -zooming:SMNK:SMNK -zoonomy:SNM:SNM -zoopsia:SPS:SPX -zootomy:STM:STM -zorilla:SRL:SRL -zouaves:SFS:SFS -zoysias:SSS:SXS -zunians:SNNS:SNNS -zygions:SJNS:SKNS -zygomas:SKMS:SKMS -zygoses:SKSS:SKSS -zygosis:SKSS:SKSS -zygotes:SKTS:SKTS -zygotic:SKTK:SKTK -zymogen:SMJN:SMKN -zymosan:SMSN:SMSN -zymoses:SMSS:SMSS -zymosis:SMSS:SMSS -zymotic:SMTK:SMTK -zymurgy:SMRJ:SMRK -aardvark:ARTF:ARTF -aardwolf:ARTL:ARTL -abacuses:APKS:APKS -abalones:APLN:APLN -abandons:APNT:APNT -abashing:APXN:APXN -abatable:APTP:APTP -abatises:APTS:APTS -abattoir:APTR:APTR -abbacies:APSS:APXS -abbatial:APXL:APXL -abbesses:APSS:APSS -abderite:APTR:APTR -abdicate:APTK:APTK -abdomens:APTM:APTM -abdomina:APTM:APTM -abducens:APTS:APTS -abducent:APTS:APTS -abducing:APTS:APTS -abducted:APTK:APTK -abductor:APTK:APTK -aberdeen:APRT:APRT -aberrans:APRN:APRN -aberrant:APRN:APRN -aberrate:APRT:APRT -abetment:APTM:APTM -abetters:APTR:APTR -abetting:APTN:APTN -abettors:APTR:APTR -abeyance:APNS:APNS -abhorred:APRT:APRT -abhorrer:APRR:APRR -abidance:APTN:APTN -abietate:APTT:APTT -abjectly:APJK:APJK -abjudged:APJJ:APJJ -abjudges:APJJ:APJJ -abjurers:APJR:APJR -abjuring:APJR:APJR -ablastin:APLS:APLS -ablating:APLT:APLT -ablation:APLX:APLX -ablative:APLT:APLT -ablators:APLT:APLT -ablution:APLX:APLX -abnegate:APNK:APNK -abnormal:APNR:APNR -abomasal:APMS:APMS -abomasum:APMS:APMS -abomasus:APMS:APMS -aborning:APRN:APRN -aborters:APRT:APRT -aborting:APRT:APRT -abortion:APRX:APRX -abortive:APRT:APRT -abounded:APNT:APNT -abradant:APRT:APRT -abraders:APRT:APRT -abrading:APRT:APRT -abrasion:APRS:APRX -abrasive:APRS:APRS -abreacts:APRK:APRK -abridged:APRJ:APRJ -abridger:APRJ:APRJ -abridges:APRJ:APRJ -abrogate:APRK:APRK -abruptio:APRP:APRP -abruptly:APRP:APRP -abscised:APSS:APSS -abscises:APSS:APSS -abscissa:APSS:APSS -absconds:APSK:APSK -abseiled:APSL:APSL -abseiler:APSL:APSL -absences:APSN:APSN -absented:APSN:APSN -absentee:APSN:APSN -absenter:APSN:APSN -absentia:APSN:APSN -absently:APSN:APSN -absinthe:APSN:APSN -absolute:APSL:APSL -absolved:APSL:APSL -absolver:APSL:APSL -absolves:APSL:APSL -absonant:APSN:APSN -absorbed:APSR:APSR -absorber:APSR:APSR -abstains:APST:APST -abstract:APST:APST -abstruse:APST:APST -absurder:APSR:APSR -absurdly:APSR:APSR -absurdum:APSR:APSR -abundant:APNT:APNT -abusable:APSP:APSP -abutendi:APTN:APTN -abutilon:APTL:APTL -abutment:APTM:APTM -abuttals:APTL:APTL -abutters:APTR:APTR -abutting:APTN:APTN -academia:AKTM:AKTM -academic:AKTM:AKTM -acalypha:AKLF:AKLF -acampsia:AKMP:AKMP -acanthus:AKN0:AKNT -acapulco:AKPL:AKPL -acaridae:AKRT:AKRT -acaridan:AKRT:AKRT -acarpous:AKRP:AKRP -acaudate:AKTT:AKTT -acceders:AKST:AKST -acceding:AKST:AKST -accented:AKSN:AKSN -accentor:AKSN:AKSN -accepted:AKSP:AKSP -accepter:AKSP:AKSP -acceptor:AKSP:AKSP -accessed:AKSS:AKSS -accesses:AKSS:AKSS -accessor:AKSS:AKSS -accidens:AKST:AKST -accident:AKST:AKST -acclaims:AKLM:AKLM -accolade:AKLT:AKLT -accompli:AKMP:AKMP -accorded:AKRT:AKRT -accorder:AKRT:AKRT -accosted:AKST:AKST -accounts:AKNT:AKNT -accouter:AKTR:AKTR -accredit:AKRT:AKRT -accreted:AKRT:AKRT -accretes:AKRT:AKRT -accroach:AKRK:AKRK -accruals:AKRL:AKRL -accruing:AKRN:AKRN -accuracy:AKRS:AKRS -accurate:AKRT:AKRT -accursed:AKRS:AKRS -accusals:AKSL:AKSL -accusant:AKSN:AKSN -accusers:AKSR:AKSR -accusing:AKSN:AKSN -accusive:AKSF:AKSF -accusors:AKSR:AKSR -accustom:AKST:AKST -acentric:ASNT:ASNT -acephali:ASFL:ASFL -acerbate:ASRP:ASRP -acerbity:ASRP:ASRP -acervate:ASRF:ASRF -acervuli:ASRF:ASRF -acescent:ASSN:ASSN -acetates:ASTT:ASTT -acetenyl:ASTN:ASTN -acetonic:ASTN:ASTN -acetract:ASTR:ASTR -achenial:AXNL:AKNL -achieved:AXFT:AKFT -achiever:AXFR:AKFR -achieves:AXFS:AKFS -achillea:AXL:AKL -achilles:AXLS:AKLS -achiness:AXNS:AKNS -achingly:AXNK:AKNK -acholous:AXLS:AKLS -achordal:AXRT:AKRT -achorion:AXRN:AKRN -achromia:AKRM:AKRM -achromic:AKRM:AKRM -acicular:ASKL:ASKL -acidemia:ASTM:ASTM -acidhead:ASTT:ASTT -acidoses:ASTS:ASTS -acidosis:ASTS:ASTS -acidotic:ASTT:ASTT -aciduria:ASTR:ASTR -aciduric:ASTR:ASTR -ackackee:AKK:AKK -acneform:AKNF:AKNF -acolytes:AKLT:AKLT -aconites:AKNT:AKNT -aconitic:AKNT:AKNT -aconitum:AKNT:AKNT -acousmas:AKSM:AKSM -acoustic:AKST:AKST -acquaint:AKNT:AKNT -acquired:AKRT:AKRT -acquires:AKRS:AKRS -acranial:AKRN:AKRN -acridine:AKRT:AKRT -acridity:AKRT:AKRT -acrimony:AKRM:AKRM -acrobats:AKRP:AKRP -acrodont:AKRT:AKRT -acrolein:AKRL:AKRL -acrolith:AKRL:AKRL -acromial:AKRM:AKRM -acromion:AKRM:AKRM -acronyms:AKRN:AKRN -acrosome:AKRS:AKRS -acrostic:AKRS:AKRS -acrylate:AKRL:AKRL -acrylics:AKRL:AKRL -actinism:AKTN:AKTN -actinium:AKTN:AKTN -actionem:AKXN:AKXN -actiones:AKXN:AKXN -activate:AKTF:AKTF -actively:AKTF:AKTF -activism:AKTF:AKTF -activist:AKTF:AKTF -activity:AKTF:AKTF -actually:AKTL:AKTL -actuated:AKTT:AKTT -actuates:AKTT:AKTT -actuator:AKTT:AKTT -acuities:AKTS:AKTS -aculeate:AKLT:AKLT -acustica:AKST:AKST -adamancy:ATMN:ATMN -adamitic:ATMT:ATMT -adapters:ATPT:ATPT -adapting:ATPT:ATPT -adaption:ATPX:ATPX -adaptive:ATPT:ATPT -adaptors:ATPT:ATPT -addendum:ATNT:ATNT -addicted:ATKT:ATKT -addition:ATXN:ATXN -additive:ATTF:ATTF -adducent:ATSN:ATSN -adducing:ATSN:ATSN -adducted:ATKT:ATKT -adductor:ATKT:ATKT -adelaide:ATLT:ATLT -adenitis:ATNT:ATNT -adenoids:ATNT:ATNT -adenomas:ATNM:ATNM -adenylic:ATNL:ATNL -adequacy:ATKS:ATKS -adequate:ATKT:ATKT -adherent:ATRN:ATRN -adherers:ATRR:ATRR -adhering:ATRN:ATRN -adhesion:ATSN:ATXN -adhesive:ATSF:ATSF -adiantum:ATNT:ATNT -adiposes:ATPS:ATPS -adiposis:ATPS:ATPS -adituses:ATTS:ATTS -adjacent:ATJS:ATJS -adjoined:ATJN:ATJN -adjourns:ATJR:ATJR -adjudged:ATJJ:ATJJ -adjudges:ATJJ:ATJJ -adjuncts:ATJN:ATJN -adjurers:ATJR:ATJR -adjuring:ATJR:ATJR -adjurors:ATJR:ATJR -adjusted:ATJS:ATJS -adjuster:ATJS:ATJS -adjustor:ATJS:ATJS -adjutant:ATJT:ATJT -adjuvant:ATJF:ATJF -adlerian:ATLR:ATLR -admedial:ATMT:ATMT -admedian:ATMT:ATMT -admirals:ATMR:ATMR -admirers:ATMR:ATMR -admiring:ATMR:ATMR -admitted:ATMT:ATMT -admitter:ATMT:ATMT -admixing:ATMK:ATMK -admonish:ATMN:ATMN -adonitol:ATNT:ATNT -adoptees:ATPT:ATPT -adopters:ATPT:ATPT -adopting:ATPT:ATPT -adoption:ATPX:ATPX -adoptive:ATPT:ATPT -adorable:ATRP:ATRP -adorably:ATRP:ATRP -adorners:ATRN:ATRN -adorning:ATRN:ATRN -adriatic:ATRT:ATRT -adrogate:ATRK:ATRK -adroitly:ATRT:ATRT -adsessor:ATSS:ATSS -adsorbed:ATSR:ATSR -adulated:ATLT:ATLT -adulates:ATLT:ATLT -adulator:ATLT:ATLT -adultery:ATLT:ATLT -adumbral:ATMP:ATMP -advanced:ATFN:ATFN -advancer:ATFN:ATFN -advances:ATFN:ATFN -adversum:ATFR:ATFR -adversus:ATFR:ATFR -adverted:ATFR:ATFR -advisees:ATFS:ATFS -advisers:ATFS:ATFS -advising:ATFS:ATFS -advisors:ATFS:ATFS -advisory:ATFS:ATFS -advocacy:ATFK:ATFK -advocate:ATFK:ATFK -advowees:ATFS:ATFS -advowson:ATFS:ATFS -adynamia:ATNM:ATNM -adynamic:ATNM:ATNM -aegrotat:AKRT:AKRT -aerating:ARTN:ARTN -aeration:ARXN:ARXN -aerators:ARTR:ARTR -aerially:ARL:ARL -aerified:ARFT:ARFT -aerifies:ARFS:ARFS -aeriform:ARFR:ARFR -aerobics:ARPK:ARPK -aerodyne:ARTN:ARTN -aerofoil:ARFL:ARFL -aerogram:ARKR:ARKR -aerolite:ARLT:ARLT -aerology:ARLJ:ARLK -aeronaut:ARNT:ARNT -aerosols:ARSL:ARSL -aerostat:ARST:ARST -aesculin:ASKL:ASKL -aesopian:ASPN:ASPN -aesthete:AS0T:ASTT -afebrile:AFPR:AFPR -affaires:AFRS:AFRS -affected:AFKT:AFKT -affecter:AFKT:AFKT -affector:AFKT:AFKT -affectum:AFKT:AFKT -afferent:AFRN:AFRN -affiance:AFNS:AFNS -affinity:AFNT:AFNT -affirmed:AFRM:AFRM -affirmer:AFRM:AFRM -affixing:AFKS:AFKS -affixion:AFKS:AFKS -afflatus:AFLT:AFLT -afflicts:AFLK:AFLK -affluent:AFLN:AFLN -afforced:AFRS:AFRS -afforded:AFRT:AFRT -afforest:AFRS:AFRS -affright:AFRT:AFRT -affronts:AFRN:AFRN -affusion:AFSN:AFXN -aflutter:AFLT:AFLT -africans:AFRK:AFRK -agaricin:AKRS:AKRS -agaricus:AKRK:AKRK -agastric:AKST:AKST -agencies:AJNS:AKNX -agendums:AJNT:AKNT -ageneses:AJNS:AKNS -agenesis:AJNS:AKNS -agenetic:AJNT:AKNT -agential:AJNX:AKNX -agentive:AJNT:AKNT -ageratum:AKRT:AJRT -aggraded:AKRT:AKRT -aggrades:AKRT:AKRT -aggrieve:AKRF:AKRF -agiotage:AJTJ:AKTK -agisting:AJST:AKST -agistors:AJST:AKST -agitated:AJTT:AKTT -agitates:AJTT:AKTT -agitator:AJTT:AKTT -aglimmer:AKLM:ALMR -aglitter:AKLT:ALTR -aglossia:AKLS:AKLS -aglucone:AKLK:AKLK -aglycone:AKLK:AKLK -agmatine:AKMT:AKMT -agminate:AKMN:AKMN -agnathia:AKN0:ANT -agnation:AKNX:ANXN -agnising:AKNS:ANSN -agnostic:AKNS:ANST -agonists:AKNS:AKNS -agonized:AKNS:AKNS -agonizes:AKNS:AKNS -agouties:AKTS:AKTS -agraphia:AKRF:AKRF -agraphic:AKRF:AKRF -agrarian:AKRR:AKRR -agreeing:AKRN:AKRN -agrement:AKRM:AKRM -agrestal:AKRS:AKRS -agrestic:AKRS:AKRS -agrimony:AKRM:AKRM -agrology:AKRL:AKRL -agronomy:AKRN:AKRN -agrypnia:AKRP:AKRP -aigrette:AKRT:AKRT -ailerons:ALRN:ALRN -ailments:ALMN:ALMN -airborne:ARPR:ARPR -airbrush:ARPR:ARPR -aircraft:ARKR:ARKR -airdrome:ARTR:ARTR -airdrops:ARTR:ARTR -airedale:ARTL:ARTL -airfares:ARFR:ARFR -airfield:ARFL:ARFL -airflows:ARFL:ARFL -airfoils:ARFL:ARFL -airframe:ARFR:ARFR -airiness:ARNS:ARNS -airlifts:ARLF:ARLF -airliner:ARLN:ARLN -airlines:ARLN:ARLN -airlocks:ARLK:ARLK -airmails:ARML:ARML -airplane:ARPL:ARPL -airports:ARPR:ARPR -airships:ARXP:ARXP -airspace:ARSP:ARSP -airspeed:ARSP:ARSP -airstrip:ARST:ARST -airtight:ARTT:ARTT -airwaves:ARFS:ARFS -akaryote:AKRT:AKRT -akineses:AKNS:AKNS -akinesia:AKNS:AKNS -akinesis:AKNS:AKNS -akinetic:AKNT:AKNT -akvavits:AKFF:AKFF -akyneses:AKNS:AKNS -akynesis:AKNS:AKNS -alabaman:ALPM:ALPM -alacrity:ALKR:ALKR -alarming:ALRM:ALRM -alarmism:ALRM:ALRM -alarmist:ALRM:ALRM -alaskans:ALSK:ALSK -alastrim:ALST:ALST -albacore:ALPK:ALPK -albanian:ALPN:ALPN -albertan:ALPR:ALPR -albicans:ALPK:ALPK -albinism:ALPN:ALPN -albumens:ALPM:ALPM -albumins:ALPM:ALPM -albumose:ALPM:ALPM -alcaldes:ALKL:ALKL -alcapton:ALKP:ALKP -alcatraz:ALKT:ALKT -alcazars:ALKS:ALKS -alchemic:ALXM:ALKM -alcohols:ALKH:ALKH -aldehyde:ALTH:ALTH -alderman:ALTR:ALTR -aldermen:ALTR:ALTR -alderney:ALTR:ALTR -aldolase:ALTL:ALTL -aldoside:ALTS:ALTS -aldoxime:ALTK:ALTK -aleatory:ALTR:ALTR -alehouse:ALHS:ALHS -alembics:ALMP:ALMP -alerters:ALRT:ALRT -alerting:ALRT:ALRT -aleurone:ALRN:ALRN -aleutian:ALXN:ALXN -alewives:ALFS:ALFS -alfalfas:ALFL:ALFL -alfresco:ALFR:ALFR -algebras:ALJP:ALKP -algerian:ALKR:ALJR -algicide:ALJS:ALKS -alginate:ALJN:ALKN -algology:ALKL:ALKL -algorism:ALKR:ALKR -aliasing:ALSN:ALSN -alibiing:ALPN:ALPN -alienage:ALNJ:ALNK -alienate:ALNT:ALNT -alienees:ALNS:ALNS -alienism:ALNS:ALNS -alienist:ALNS:ALNS -alighted:ALTT:ALTT -aligning:ALNN:ALKN -aliments:ALMN:ALMN -alinasal:ALNS:ALNS -aliquant:ALKN:ALKN -alizarin:ALSR:ALSR -alkalies:ALKL:ALKL -alkaline:ALKL:ALKL -alkalize:ALKL:ALKL -alkaloid:ALKL:ALKL -alkamine:ALKM:ALKM -alkannin:ALKN:ALKN -alkapton:ALKP:ALKP -allayers:ALRS:ALRS -allaying:ALNK:ALNK -allegata:ALKT:AL K -allegers:ALJR:ALKR -alleging:ALJN:ALKN -allegory:ALKR:ALKR -allegros:ALKR:ALKR -allelism:ALLS:ALLS -alleluia:ALL:AL L -allergen:ALRJ:ALRK -allergic:ALRJ:ALRK -allergin:ALRJ:ALRK -alleyway:AL:AL -alliable:ALPL:ALPL -alliance:ALNS:ALNS -allocate:ALKT:ALKT -allodial:ALTL:ALTL -allodium:ALTM:ALTM -allogamy:ALKM:ALKM -allonyms:ALNM:ALNM -allopath:ALP0:ALPT -allosome:ALSM:ALSM -allotted:ALTT:ALTT -allottee:ALT:ALT -allotter:ALTR:ALTR -allotype:ALTP:ALTP -allotypy:ALTP:ALTP -allowing:ALNK:ALNK -alloying:ALNK:ALNK -allspice:ALSP:ALSP -alluding:ALTN:ALTN -allulose:ALLS:ALLS -allurers:ALRR:ALRR -alluring:ALRN:ALRN -allusion:ALSN:ALXN -allusive:ALSF:ALSF -alluvial:ALFL:ALFL -alluvion:ALFN:ALFN -alluvium:ALFM:ALFM -almanacs:ALMN:ALMN -almighty:ALMT:ALMT -almoners:ALMN:ALMN -alopecia:ALPS:ALPX -alopecic:ALPS:ALPS -alphabet:ALFP:ALFP -alphosis:ALFS:ALFS -alpinist:ALPN:ALPN -alsatian:ALSX:ALSX -alstonia:ALST:ALST -alterant:ALTR:ALTR -alterers:ALTR:ALTR -altering:ALTR:ALTR -although:AL0:ALT -altitude:ALTT:ALTT -altruism:ALTR:ALTR -altruist:ALTR:ALTR -aluminum:ALMN:ALMN -alveolar:ALFL:ALFL -alveolus:ALFL:ALFL -amacrine:AMKR:AMKR -amalgams:AMLK:AMLK -amaranth:AMRN:AMRN -amaretto:AMRT:AMRT -amarillo:AMRL:AMRL -amassers:AMSR:AMSR -amassing:AMSN:AMSN -amateurs:AMTR:AMTR -amazedly:AMST:AMST -amberoid:AMPR:AMPR -ambiance:AMPN:AMPN -ambience:AMPN:AMPN -ambition:AMPX:AMPX -ambivert:AMPF:AMPF -ambrosia:AMPR:AMPR -ambrosin:AMPR:AMPR -ambulant:AMPL:AMPL -ambulate:AMPL:AMPL -ambushed:AMPX:AMPX -ambusher:AMPX:AMPX -ambushes:AMPX:AMPX -ameioses:AMSS:AMSS -ameiosis:AMSS:AMSS -amenable:AMNP:AMNP -amenably:AMNP:AMNP -amenders:AMNT:AMNT -amending:AMNT:AMNT -amercers:AMRS:AMRS -amercing:AMRS:AMRS -american:AMRK:AMRK -americas:AMRK:AMRK -amerinds:AMRN:AMRN -amersham:AMRX:AMRX -amethyst:AM0S:AMTS -amicable:AMKP:AMKP -amicably:AMKP:AMKP -amidogen:AMTJ:AMTK -amidship:AMTX:AMTX -aminated:AMNT:AMNT -aminates:AMNT:AMNT -amitoses:AMTS:AMTS -amitosis:AMTS:AMTS -amitotic:AMTT:AMTT -ammoniac:AMNK:AMNK -ammonium:AMNM:AMNM -amnesiac:AMNS:AMNX -amnesias:AMNS:AMNX -amnestic:AMNS:AMNS -amniotic:AMNT:AMNT -amoebaes:AMPS:AMPS -amoeboid:AMPT:AMPT -amoebous:AMPS:AMPS -amorally:AMRL:AMRL -amorphus:AMRF:AMRF -amortize:AMRT:AMRT -amounted:AMNT:AMNT -amounter:AMNT:AMNT -amovable:AMFP:AMFP -amperage:AMPR:AMPR -amphioxi:AMFK:AMFK -amphorae:AMFR:AMFR -amphoras:AMFR:AMFR -amphoric:AMFR:AMFR -amplexus:AMPL:AMPL -ampoules:AMPL:AMPL -ampullae:AMPL:AMPL -ampullar:AMPL:AMPL -amputate:AMPT:AMPT -amputees:AMPT:AMPT -amusedly:AMST:AMST -amygdala:AMKT:AMKT -amylases:AMLS:AMLS -amyluria:AMLR:AMLR -anabaena:ANPN:ANPN -anabases:ANPS:ANPS -anabasis:ANPS:ANPS -anabatic:ANPT:ANPT -anabolic:ANPL:ANPL -anabolin:ANPL:ANPL -anaconda:ANKN:ANKN -anacusis:ANKS:ANKS -anaerobe:ANRP:ANRP -anagrams:ANKR:ANKR -analogue:ANLK:ANLK -analysis:ANLS:ANLS -analysts:ANLS:ANLS -analytic:ANLT:ANLT -analyzed:ANLS:ANLS -analyzer:ANLS:ANLS -analyzes:ANLS:ANLS -anapests:ANPS:ANPS -anaphase:ANFS:ANFS -anaphora:ANFR:ANFR -anarchic:ANRX:ANRK -anasarca:ANSR:ANSR -anastate:ANST:ANST -anastral:ANST:ANST -anathema:AN0M:ANTM -anatolia:ANTL:ANTL -anatomic:ANTM:ANTM -anatoxin:ANTK:ANTK -ancestor:ANSS:ANSS -ancestry:ANSS:ANSS -anchored:ANXR:ANKR -ancients:ANSN:ANXN -anconeal:ANKN:ANKN -anconeus:ANKN:ANKN -anconoid:ANKN:ANKN -ancylose:ANSL:ANSL -ancyroid:ANSR:ANSR -andantes:ANTN:ANTN -andersen:ANTR:ANTR -anderson:ANTR:ANTR -andirons:ANTR:ANTR -androgen:ANTR:ANTR -androids:ANTR:ANTR -anecdote:ANKT:ANKT -anechoic:ANXK:ANKK -anemones:ANMN:ANMN -anergies:ANRJ:ANRK -anestric:ANST:ANST -anestrum:ANST:ANST -anestrus:ANST:ANST -anethole:AN0L:ANTL -aneurine:ANRN:ANRN -aneurism:ANRS:ANRS -aneurysm:ANRS:ANRS -angaries:ANKR:ANKR -angelica:ANJL:ANKL -angering:ANKR:ANJR -angiitis:ANJT:ANKT -anginoid:ANJN:ANKN -anginose:ANJN:ANKN -anginous:ANJN:ANKN -angiomas:ANJM:ANKM -anglians:ANKL:ANLN -anglican:ANKL:ANLK -angolans:ANKL:ANKL -angriest:ANKR:ANKR -angstrom:ANKS:ANKS -angulate:ANKL:ANKL -anhistic:ANST:ANST -aniconic:ANKN:ANKN -anilines:ANLN:ANLN -animated:ANMT:ANMT -animater:ANMT:ANMT -animates:ANMT:ANMT -animator:ANMT:ANMT -animists:ANMS:ANMS -animized:ANMS:ANMS -animuses:ANMS:ANMS -aniridia:ANRT:ANRT -aniseeds:ANST:ANST -anisette:ANST:ANST -ankylose:ANKL:ANKL -ankyroid:ANKR:ANKR -annalist:ANLS:ANLS -annealed:ANLT:ANLT -annealer:ANLR:ANLR -annelids:ANLT:ANLT -annexing:ANKS:ANKS -annexion:ANKS:ANKS -annexure:ANKS:ANKS -annotate:ANTT:ANTT -announce:ANNS:ANNS -annoyers:ANRS:ANRS -annoying:ANNK:ANNK -annually:ANL:ANL -annulate:ANLT:ANLT -annulets:ANLT:ANLT -annulled:ANLT:ANLT -annulose:ANLS:ANLS -anodally:ANTL:ANTL -anodical:ANTK:ANTK -anodized:ANTS:ANTS -anodizes:ANTS:ANTS -anodynes:ANTN:ANTN -anodynia:ANTN:ANTN -anoestra:ANST:ANST -anoestri:ANST:ANST -anointed:ANNT:ANNT -anointer:ANNT:ANNT -anonymae:ANNM:ANNM -anonymas:ANNM:ANNM -anonymes:ANNM:ANNM -anoopsia:ANPS:ANPX -anoretic:ANRT:ANRT -anorexia:ANRK:ANRK -anorexic:ANRK:ANRK -anoscope:ANSK:ANSK -anoxemia:ANKS:ANKS -anoxemic:ANKS:ANKS -anserina:ANSR:ANSR -anserine:ANSR:ANSR -anserous:ANSR:ANSR -ansiform:ANSF:ANSF -answered:ANSR:ANSR -answerer:ANSR:ANSR -antacids:ANTS:ANTS -anteater:ANTT:ANTT -antecede:ANTS:ANTS -antedate:ANTT:ANTT -antelope:ANTL:ANTL -antenati:ANTN:ANTN -antennae:ANTN:ANTN -antennal:ANTN:ANTN -antennas:ANTN:ANTN -anterior:ANTR:ANTR -anteroom:ANTR:ANTR -antetype:ANTT:ANTT -antevert:ANTF:ANTF -anthelix:AN0L:ANTL -antheral:AN0R:ANTR -anthesis:AN0S:ANTS -anthills:AN0L:ANTL -anthrone:AN0R:ANTR -antiacid:ANXS:ANXS -antibody:ANTP:ANTP -anticked:ANTK:ANTK -antidote:ANTT:ANTT -antigens:ANTJ:ANTK -antiguan:ANTK:ANTK -antihero:ANTH:ANTH -antilles:ANTL:ANTL -antilogy:ANTL:ANTL -antimere:ANTM:ANTM -antimony:ANTM:ANTM -antinial:ANTN:ANTN -antinion:ANTN:ANTN -antinode:ANTN:ANTN -antinomy:ANTN:ANTN -antinuke:ANTN:ANTN -antiphon:ANTF:ANTF -antipode:ANTP:ANTP -antipole:ANTP:ANTP -antipope:ANTP:ANTP -antiqued:ANTK:ANTK -antiques:ANTK:ANTK -antisera:ANTS:ANTS -antiskid:ANTS:ANTS -antitank:ANTT:ANTT -antitype:ANTT:ANTT -antlered:ANTL:ANTL -antlions:ANTL:ANTL -antonyms:ANTN:ANTN -antrorse:ANTR:ANTR -anureses:ANRS:ANRS -anuresis:ANRS:ANRS -anuretic:ANRT:ANRT -anvilled:ANFL:ANFL -anyplace:ANPL:ANPL -anything:AN0N:ANTN -anywhere:ANR:ANR -aoristic:ARST:ARST -aortitis:ARTT:ARTT -apatetic:APTT:APTT -apathies:AP0S:APTS -aperient:APRN:APRN -aperitif:APRT:APRT -aperture:APRT:APRT -aphanite:AFNT:AFNT -aphasiac:AFSK:AFXK -aphasics:AFSK:AFSK -aphelian:AFLN:AFLN -aphelion:AFLN:AFLN -aphidian:AFTN:AFTN -aphorism:AFRS:AFRS -aphorist:AFRS:AFRS -aphorize:AFRS:AFRS -aphrasia:AFRS:AFRX -aphthoid:AF0T:AFTT -aphthous:AF0S:AFTS -apiarian:APRN:APRN -apiaries:APRS:APRS -apiarist:APRS:APRS -apically:APKL:APKL -apicites:APST:APST -apicitis:APST:APST -apigenin:APJN:APKN -aplastic:APLS:APLS -apneuses:APNS:APNS -apneusis:APNS:APNS -apocrine:APKR:APKR -apocynin:APSN:APSN -apocynum:APSN:APSN -apograph:APKR:APKR -apologia:APLJ:APLK -apologue:APLK:APLK -apolunes:APLN:APLN -apomixes:APMK:APMK -apomixis:APMK:APMK -apophyge:APFJ:APFK -apoplexy:APPL:APPL -aporetic:APRT:APRT -aporiaes:APRS:APRS -apostasy:APST:APST -apostate:APST:APST -aposteme:APST:APST -apostils:APST:APST -apostles:APST:APST -apothegm:AP0K:APTK -apothems:AP0M:APTM -appalled:APLT:APLT -appanage:APNJ:APNK -apparats:APRT:APRT -apparels:APRL:APRL -apparent:APRN:APRN -appealed:APLT:APLT -appealer:APLR:APLR -appeared:APRT:APRT -appearer:APRR:APRR -appeased:APST:APST -appeaser:APSR:APSR -appeases:APSS:APSS -appellee:APL:APL -appellor:APLR:APLR -appended:APNT:APNT -appender:APNT:APNT -appendix:APNT:APNT -appestat:APST:APST -appetise:APTS:APTS -appetite:APTT:APTT -applauds:APLT:APLT -applause:APLS:APLS -appliers:APLR:APLR -applique:APLK:APLK -applying:APLN:APLN -appoints:APNT:APNT -apposing:APSN:APSN -apposite:APST:APST -appraise:APRS:APRS -apprised:APRS:APRS -appriser:APRS:APRS -apprises:APRS:APRS -apprized:APRS:APRS -apprizes:APRS:APRS -approach:APRK:APRK -approval:APRF:APRF -approved:APRF:APRF -approver:APRF:APRF -approves:APRF:APRF -apractic:APRK:APRK -apricots:APRK:APRK -apterous:APTR:APTR -aptitude:APTT:APTT -aptyalia:APTL:APTL -apyretic:APRT:APRT -apyrexia:APRK:APRK -aquacade:AKKT:AKKT -aqualung:AKLN:AKLN -aquanaut:AKNT:AKNT -aquarian:AKRN:AKRN -aquarist:AKRS:AKRS -aquarium:AKRM:AKRM -aquarius:AKRS:AKRS -aquashow:AKX:AKXF -aquatics:AKTK:AKTK -aquavits:AKFT:AKFT -aqueduct:AKTK:AKTK -aquetint:AKTN:AKTN -aquifers:AKFR:AKFR -aquifuge:AKFJ:AKFK -aquiline:AKLN:AKLN -aquosity:AKST:AKST -arabians:ARPN:ARPN -arabised:ARPS:ARPS -arabises:ARPS:ARPS -arabists:ARPS:ARPS -arabitol:ARPT:ARPT -arachnid:ARKN:ARKN -arapahos:ARPH:ARPH -arbalest:ARPL:ARPL -arbiters:ARPT:ARPT -arbitral:ARPT:ARPT -arboreal:ARPR:ARPR -arboreta:ARPR:ARPR -arborist:ARPR:ARPR -arborize:ARPR:ARPR -arbroath:ARPR:ARPR -arcadian:ARKT:ARKT -arcature:ARKT:ARKT -archaeus:ARKS:ARXS -archaism:ARXS:ARKS -archaist:ARXS:ARKS -archaize:ARXS:ARKS -archduke:ARXT:ARKT -archfool:ARXF:ARKF -archival:ARXF:ARKF -archived:ARXF:ARKF -archiver:ARXF:ARKF -archives:ARXF:ARKF -archness:ARXN:ARKN -archways:ARXS:ARKS -arciform:ARSF:ARSF -arcuated:ARKT:ARKT -ardennes:ARTN:ARTN -ardently:ARTN:ARTN -areaways:ARS:ARS -arenitic:ARNT:ARNT -areolaes:ARLS:ARLS -areolate:ARLT:ARLT -argentic:ARJN:ARKN -argentum:ARJN:ARKN -arginase:ARJN:ARKN -arginine:ARJN:ARKN -argonaut:ARKN:ARKN -argosies:ARKS:ARKS -arguable:ARKP:ARKP -arguably:ARKP:ARKP -arguendo:ARKN:ARKN -argument:ARKM:ARKM -arianism:ARNS:ARNS -arianist:ARNS:ARNS -aridness:ARTN:ARTN -ariettas:ARTS:ARTS -arillate:ARLT:ARLT -arillode:ARLT:ARLT -arisings:ARSN:ARSN -aristate:ARST:ARST -arizonan:ARSN:ARSN -arkansan:ARKN:ARKN -arkansas:ARKN:ARKN -armagnac:ARMN:ARMK -armament:ARMM:ARMM -armarium:ARMR:ARMR -armature:ARMT:ARMT -armbands:ARMP:ARMP -armchair:ARMX:ARMK -armenian:ARMN:ARMN -armholes:ARML:ARML -armigers:ARMJ:ARMK -armorers:ARMR:ARMR -armorial:ARMR:ARMR -armories:ARMR:ARMR -armoring:ARMR:ARMR -armrests:ARMR:ARMR -armyworm:ARMR:ARMR -aromatic:ARMT:ARMT -arousals:ARSL:ARSL -arousers:ARSR:ARSR -arousing:ARSN:ARSN -arpeggio:ARPK:ARPK -arquebus:ARKP:ARKP -arraigns:ARNS:ARKN -arraming:ARMN:ARMN -arranged:ARNJ:ARNK -arranger:ARNK:ARNJ -arranges:ARNJ:ARNK -arrantly:ARNT:ARNT -arraying:ARNK:ARNK -arrector:ARKT:ARKT -arrested:ARST:ARST -arrestee:ARST:ARST -arrester:ARST:ARST -arrestor:ARST:ARST -arrivals:ARFL:ARFL -arrivers:ARFR:ARFR -arriving:ARFN:ARFN -arrogant:ARKN:ARKN -arrogate:ARKT:ARKT -arsenals:ARSN:ARSN -arsenate:ARSN:ARSN -arsenide:ARSN:ARSN -arsenite:ARSN:ARSN -arsenium:ARSN:ARSN -arsenous:ARSN:ARSN -arsonist:ARSN:ARSN -arsonium:ARSN:ARSN -arsonous:ARSN:ARSN -artefact:ARTF:ARTF -arterial:ARTR:ARTR -arteries:ARTR:ARTR -artesian:ARTS:ARTX -artfully:ARTF:ARTF -articled:ARTK:ARTK -articles:ARTK:ARTK -articuli:ARTK:ARTK -articulo:ARTK:ARTK -artifact:ARTF:ARTF -artifice:ARTF:ARTF -artiness:ARTN:ARTN -artisans:ARTS:ARTS -artistes:ARTS:ARTS -artistic:ARTS:ARTS -artistry:ARTS:ARTS -artworks:ARTR:ARTR -aryanize:ARNS:ARNS -asbestos:ASPS:ASPS -asbestus:ASPS:ASPS -ascarops:ASKR:ASKR -ascended:ASNT:ASNT -ascender:ASNT:ASNT -ascetics:ASTK:ASTK -aschheim:AXM:AXM -ascidian:ASTN:ASTN -ascidium:ASTM:ASTM -ascocarp:ASKK:ASKK -ascorbic:ASKR:ASKR -ascribed:ASKP:ASKP -ascribes:ASKP:ASKP -aseismic:ASSM:ASSM -asexuals:ASKS:ASKS -ashiness:AXNS:AXNS -ashplant:AXPL:AXPL -ashtrays:AXTR:AXTR -aspartic:ASPR:ASPR -aspartyl:ASPR:ASPR -asperity:ASPR:ASPR -aspermia:ASPR:ASPR -aspersed:ASPR:ASPR -asperser:ASPR:ASPR -asperses:ASPR:ASPR -asphalts:ASFL:ASFL -aspheric:ASFR:ASFR -asphodel:ASFT:ASFT -asphyxia:ASFK:ASFK -aspidium:ASPT:ASPT -aspirant:ASPR:ASPR -aspirate:ASPR:ASPR -aspirers:ASPR:ASPR -aspiring:ASPR:ASPR -aspirins:ASPR:ASPR -asporous:ASPR:ASPR -assailed:ASLT:ASLT -assailer:ASLR:ASLR -assamese:ASMS:ASMS -assassin:ASSN:ASSN -assaults:ASLT:ASLT -assayers:ASRS:ASRS -assaying:ASNK:ASNK -assegais:ASK:ASKS -assemble:ASMP:ASMP -assembly:ASMP:ASMP -assented:ASNT:ASNT -assenter:ASNT:ASNT -assentor:ASNT:ASNT -asserted:ASRT:ASRT -asserter:ASRT:ASRT -assertor:ASRT:ASRT -assessed:ASST:ASST -assessee:ASS:ASS -assesses:ASSS:ASSS -assessor:ASSR:ASSR -assigned:ASNT:ASKN -assignee:ASN:ASKN -assigner:ASNR:ASKN -assignor:ASNR:ASKN -assisted:ASST:ASST -assister:ASST:ASST -assistor:ASST:ASST -assonant:ASNN:ASNN -assorted:ASRT:ASRT -assorter:ASRT:ASRT -assuaged:ASJT:ASKT -assuages:ASJS:ASKS -assumers:ASMR:ASMR -assuming:ASMN:ASMN -assureds:ASRT:ASRT -assurers:ASRR:ASRR -assuring:ASRN:ASRN -assurors:ASRR:ASRR -assyrian:ASRN:ASRN -astatine:ASTT:ASTT -asterion:ASTR:ASTR -asterisk:ASTR:ASTR -asterism:ASTR:ASTR -asternal:ASTR:ASTR -asteroid:ASTR:ASTR -asthenia:AS0N:ASTN -asthenic:AS0N:ASTN -astigmia:ASTK:ASTK -astomous:ASTM:ASTM -astonish:ASTN:ASTN -astounds:ASTN:ASTN -astragal:ASTR:ASTR -astrally:ASTR:ASTR -astringe:ASTR:ASTR -astutely:ASTT:ASTT -asynergy:ASNR:ASNR -asystole:ASST:ASST -ataraxia:ATRK:ATRK -ataraxic:ATRK:ATRK -atavists:ATFS:ATFS -ateliers:ATLR:ATLR -atheists:A0ST:ATST -atheling:A0LN:ATLN -athenian:A0NN:ATNN -athermic:A0RM:ATRM -atheroma:A0RM:ATRM -athetoid:A0TT:ATTT -athletes:A0LT:ATLT -athletic:A0LT:ATLT -atlantad:ATLN:ATLN -atlantic:ATLN:ATLN -atomical:ATMK:ATMK -atomists:ATMS:ATMS -atomized:ATMS:ATMS -atomizer:ATMS:ATMS -atomizes:ATMS:ATMS -atonable:ATNP:ATNP -atonally:ATNL:ATNL -atrichia:ATRK:ATRK -atrocity:ATRS:ATRS -atrophia:ATRF:ATRF -atrophic:ATRF:ATRF -atropine:ATRP:ATRP -attached:ATXT:ATKT -attacher:ATXR:ATKR -attaches:ATXS:ATKS -attacked:ATKT:ATKT -attacker:ATKR:ATKR -attained:ATNT:ATNT -attainer:ATNR:ATNR -attaints:ATNT:ATNT -attempts:ATMP:ATMP -attended:ATNT:ATNT -attendee:ATNT:ATNT -attender:ATNT:ATNT -attentat:ATNT:ATNT -attested:ATST:ATST -attester:ATST:ATST -attestor:ATST:ATST -attiring:ATRN:ATRN -attitude:ATTT:ATTT -attorney:ATRN:ATRN -attracts:ATRK:ATRK -attuning:ATNN:ATNN -atwitter:ATTR:ATTR -atypical:ATPK:ATPK -auberges:APRJ:APRK -aubretia:APRX:APRX -auckland:AKLN:AKLN -auctions:AKXN:AKXN -auctores:AKTR:AKTR -audacity:ATST:ATST -audience:ATNS:ATNS -auditing:ATTN:ATTN -audition:ATXN:ATXN -auditive:ATTF:ATTF -auditors:ATTR:ATTR -auditory:ATTR:ATTR -auerbach:ARPK:ARPK -augments:AKMN:AKMN -auguries:AKRS:AKRS -auguring:AKRN:AKRN -augustan:AKST:AKST -augustes:AKST:AKST -augustly:AKST:AKST -augustus:AKST:AKST -aureoles:ARLS:ARLS -auricled:ARKL:ARKL -auricles:ARKL:ARKL -auricula:ARKL:ARKL -auriform:ARFR:ARFR -auspices:ASPS:ASPS -austrian:ASTR:ASTR -autacoid:ATKT:ATKT -autarchy:ATRX:ATRK -autarkic:ATRK:ATRK -authored:A0RT:ATRT -autistic:ATST:ATST -autobahn:ATPN:ATPN -autocade:ATKT:ATKT -autocrat:ATKR:ATKR -autogamy:ATKM:ATKM -autogeny:ATJN:ATKN -autogiro:ATJR:ATKR -autolyze:ATLS:ATLS -automata:ATMT:ATMT -automate:ATMT:ATMT -automats:ATMT:ATMT -autonomy:ATNM:ATNM -autosite:ATST:ATST -autosome:ATSM:ATSM -autotomy:ATTM:ATTM -autotype:ATTP:ATTP -autotypy:ATTP:ATTP -autumnal:ATMN:ATMN -auxocyte:AKSS:AKSS -availers:AFLR:AFLR -availing:AFLN:AFLN -avengers:AFNK:AFNJ -avenging:AFNJ:AFNK -averaged:AFRJ:AFRK -averages:AFRJ:AFRK -averment:AFRM:AFRM -averring:AFRN:AFRN -aversely:AFRS:AFRS -aversion:AFRS:AFRX -aversive:AFRS:AFRS -averting:AFRT:AFRT -avianize:AFNS:AFNS -aviaries:AFRS:AFRS -aviarist:AFRS:AFRS -aviating:AFTN:AFTN -aviation:AFXN:AFXN -aviators:AFTR:AFTR -aviatrix:AFTR:AFTR -aviemore:AFMR:AFMR -avifauna:AFFN:AFFN -avionics:AFNK:AFNK -avocados:AFKT:AFKT -avogadro:AFKT:AFKT -avoidant:AFTN:AFTN -avoiders:AFTR:AFTR -avoiding:AFTN:AFTN -avouched:AFXT:AFKT -avouches:AFXS:AFKS -avowable:AFPL:AFPL -avowedly:AFTL:AFTL -avowries:AFRS:AFRS -avulsing:AFLS:AFLS -avulsion:AFLS:AFLX -awaiting:ATNK:ATNK -awakened:AKNT:AKNT -awakings:AKNK:AKNK -awardees:ARTS:ARTS -awarders:ARTR:ARTR -awarding:ARTN:ARTN -axenfeld:AKSN:AKSN -axillaes:AKSL:AKSL -axillary:AKSL:AKSL -axiology:AKSL:AKSL -axletree:AKSL:AKSL -axolotls:AKSL:AKSL -axoplasm:AKSP:AKSP -axostyle:AKSS:AKSS -ayrshire:ARXR:ARXR -azimuths:ASM0:ASMT -azotemia:ASTM:ASTM -azotised:ASTS:ASTS -azotises:ASTS:ASTS -azoturia:ASTR:ASTR -babbitts:PPTS:PPTS -babblers:PPLR:PPLR -babbling:PPLN:PPLN -babinski:PPNS:PPNS -babushka:PPXK:PPXK -babyhood:PPHT:PPHT -babysits:PPST:PPST -baccarat:PKRT:PKRT -bacchant:PXNT:PXNT -bachelor:PXLR:PKLR -bacillar:PSLR:PSLR -bacillus:PSLS:PSLS -backache:PKX:PKK -backbear:PKPR:PKPR -backbeat:PKPT:PKPT -backbend:PKPN:PKPN -backbite:PKPT:PKPT -backbone:PKPN:PKPN -backchat:PKXT:PKKT -backcomb:PKKM:PKKM -backdate:PKTT:PKTT -backdrop:PKTR:PKTR -backfill:PKFL:PKFL -backfire:PKFR:PKFR -backhand:PKNT:PKNT -backings:PKNK:PKNK -backlash:PKLX:PKLX -backless:PKLS:PKLS -backlogs:PKLK:PKLK -backpack:PKPK:PKPK -backrest:PKRS:PKRS -backside:PKST:PKST -backslid:PKSL:PKSL -backspin:PKSP:PKSP -backstop:PKST:PKST -backward:PKRT:PKRT -backwash:PKX:PKX -backyard:PKRT:PKRT -baconers:PKNR:PKNR -bacteria:PKTR:PKTR -bacterid:PKTR:PKTR -bacterin:PKTR:PKTR -bacterio:PKTR:PKTR -bactrian:PKTR:PKTR -baculums:PKLM:PKLM -badgered:PJRT:PJRT -badinage:PTNJ:PTNK -badlands:PTLN:PTLN -badmouth:PTM0:PTMT -baedeker:PTKR:PTKR -bafflers:PFLR:PFLR -baffling:PFLN:PFLN -baggages:PKJS:PKKS -baggiest:PJST:PKST -bagpiper:PKPP:PKPP -bagpipes:PKPP:PKPP -baguette:PKT:PKT -bahaists:PHST:PHST -bahaites:PHTS:PHTS -bahamian:PHMN:PHMN -bailable:PLPL:PLPL -bailiffs:PLFS:PLFS -bailment:PLMN:PLMN -bailouts:PLTS:PLTS -bailsman:PLSM:PLSM -bailsmen:PLSM:PLSM -bakelite:PKLT:PKLT -bakeries:PKRS:PKRS -bakeshop:PKXP:PKXP -balanced:PLNS:PLNS -balancer:PLNS:PLNS -balances:PLNS:PLNS -baldness:PLTN:PLTN -baldpate:PLTP:PLTP -baldrics:PLTR:PLTR -balearic:PLRK:PLRK -balinese:PLNS:PLNS -balkiest:PLKS:PLKS -ballader:PLTR:PLTR -ballades:PLTS:PLTS -balladry:PLTR:PLTR -ballasts:PLST:PLST -ballgown:PLKN:PLKN -ballocks:PLKS:PLKS -ballonet:PLNT:PLNT -balloons:PLNS:PLNS -balloted:PLTT:PLTT -balloter:PLTR:PLTR -ballpark:PLPR:PLPR -ballpeen:PLPN:PLPN -ballroom:PLRM:PLRM -ballutes:PLTS:PLTS -ballyhoo:PLH:PLH -balmiest:PLMS:PLMS -balmlike:PLML:PLML -balmoral:PLMR:PLMR -balneary:PLNR:PLNR -balsamic:PLSM:PLSM -baluchis:PLXS:PLKS -baluster:PLST:PLST -banality:PNLT:PNLT -banausic:PNSK:PNSK -bandaged:PNTJ:PNTK -bandages:PNTJ:PNTK -bandanas:PNTN:PNTN -bandanna:PNTN:PNTN -bandeaux:PNT:PNT -banderol:PNTR:PNTR -banditry:PNTT:PNTT -banditti:PNTT:PNTT -bandoler:PNTL:PNTL -bandpass:PNTP:PNTP -bandsman:PNTS:PNTS -bandsmen:PNTS:PNTS -bandying:PNTN:PNTN -bangtail:PNKT:PNKT -banished:PNXT:PNXT -banisher:PNXR:PNXR -banishes:PNXS:PNXS -banister:PNST:PNST -banjoist:PNJS:PNJS -bankable:PNKP:PNKP -bankbook:PNKP:PNKP -banknote:PNKN:PNKN -bankroll:PNKR:PNKR -bankrupt:PNKR:PNKR -banksman:PNKS:PNKS -banksmen:PNKS:PNKS -bannered:PNRT:PNRT -banneret:PNRT:PNRT -bannocks:PNKS:PNKS -banquets:PNKT:PNKT -banshees:PNXS:PNXS -banstead:PNST:PNST -bantered:PNTR:PNTR -banterer:PNTR:PNTR -bantling:PNTL:PNTL -baptisms:PPTS:PPTS -baptists:PPTS:PPTS -baptized:PPTS:PPTS -baptizer:PPTS:PPTS -baptizes:PPTS:PPTS -barathea:PR0:PRT -barbados:PRPT:PRPT -barbaric:PRPR:PRPR -barbecue:PRPK:PRPK -barbells:PRPL:PRPL -barbered:PRPR:PRPR -barberry:PRPR:PRPR -barbette:PRPT:PRPT -barbican:PRPK:PRPK -barbital:PRPT:PRPT -bareback:PRPK:PRPK -bareboat:PRPT:PRPT -bareface:PRFS:PRFS -barefoot:PRFT:PRFT -barehand:PRHN:PRHN -barehead:PRHT:PRHT -bareness:PRNS:PRNS -barflies:PRFL:PRFL -bargains:PRKN:PRKN -bargeman:PRJM:PRKM -bargemen:PRJM:PRKM -baritone:PRTN:PRTN -barkeeps:PRKP:PRKP -barmaids:PRMT:PRMT -barmiest:PRMS:PRMS -barnacle:PRNK:PRNK -barnyard:PRNR:PRNR -barogram:PRKR:PRKR -baronage:PRNJ:PRNK -baroness:PRNS:PRNS -baronets:PRNT:PRNT -baronial:PRNL:PRNL -baronies:PRNS:PRNS -barostat:PRST:PRST -barouche:PRX:PRK -barracks:PRKS:PRKS -barraged:PRJT:PRKT -barrages:PRJS:PRKS -barrater:PRTR:PRTR -barrator:PRTR:PRTR -barratry:PRTR:PRTR -barreled:PRLT:PRLT -barrenly:PRNL:PRNL -barretor:PRTR:PRTR -barretry:PRTR:PRTR -barrette:PRT:PRT -barriers:PRRS:PRRS -barrooms:PRMS:PRMS -barstool:PRST:PRST -bartered:PRTR:PRTR -barterer:PRTR:PRTR -bartlett:PRTL:PRTL -barytone:PRTN:PRTN -basaltic:PSLT:PSLT -bascules:PSKL:PSKL -baseball:PSPL:PSPL -baseband:PSPN:PSPN -baseborn:PSPR:PSPR -baseless:PSLS:PSLS -baseline:PSLN:PSLN -basement:PSMN:PSMN -baseness:PSNS:PSNS -basenjis:PSNJ:PSNJ -basicity:PSST:PSST -basidial:PSTL:PSTL -basidium:PSTM:PSTM -basified:PSFT:PSFT -basifies:PSFS:PSFS -basihyal:PSHL:PSHL -basilary:PSLR:PSLR -basildon:PSLT:PSLT -basilica:PSLK:PSLK -basilisk:PSLS:PSLS -basinets:PSNT:PSNT -basinful:PSNF:PSNF -basketry:PSKT:PSKT -basocyte:PSST:PSST -basophil:PSFL:PSFL -basothos:PS0S:PSTS -basseted:PSTT:PSTT -bassinet:PSNT:PSNT -bassists:PSST:PSST -bassoons:PSNS:PSNS -bassorin:PSRN:PSRN -basswood:PST:PST -bastards:PSTR:PSTR -bastardy:PSTR:PSTR -bastille:PSTL:PSTL -bastions:PSXN:PSXN -bateleur:PTLR:PTLR -batesian:PTSN:PTXN -bathetic:P0TK:PTTK -bathrobe:P0RP:PTRP -bathroom:P0RM:PTRM -bathtubs:P0TP:PTTP -batistes:PTST:PTST -battened:PTNT:PTNT -battered:PTRT:PTRT -batterer:PTRR:PTRR -battiest:PTST:PTST -battings:PTNK:PTNK -battlers:PTLR:PTLR -battling:PTLN:PTLN -batwings:PTNK:PTNK -batwoman:PTMN:PTMN -batwomen:PTMN:PTMN -baudouin:PTN:PTN -bauhinia:PHN:PHN -bavarian:PFRN:PFRN -bawdiest:PTST:PTST -bayberry:PPR:PPR -bayonets:PNTS:PNTS -bazookas:PSKS:PTSK -bdellium:PTLM:PTLM -beaching:PXNK:PKNK -beadiest:PTST:PTST -beadwork:PTRK:PTRK -beagling:PKLN:PLNK -beakiest:PKST:PKST -beakless:PKLS:PKLS -beaklike:PKLK:PKLK -beamless:PMLS:PMLS -beamlike:PMLK:PMLK -beanbags:PNPK:PNPK -beanlike:PNLK:PNLK -bearable:PRPL:PRPL -bearably:PRPL:PRPL -bearcats:PRKT:PRKT -bearding:PRTN:PRTN -bearings:PRNK:PRNK -bearskin:PRSK:PRSK -beatable:PTPL:PTPL -beatably:PTPL:PTPL -beatific:PTFK:PTFK -beatings:PTNK:PTNK -beatniks:PTNK:PTNK -beatrice:PTRS:PTRS -beaucoup:PKP:PKP -beaufort:PFRT:PFRT -beaumont:PMNT:PMNT -beauties:PTS:PTS -beautify:PTF:PTF -becalmed:PKLM:PKLM -bechamel:PXML:PKML -beckoned:PKNT:PKNT -beckoner:PKNR:PKNR -beclouds:PKLT:PKLT -becometh:PKM0:PKMT -becoming:PKMN:PKMN -becudgel:PKJL:PKJL -bedaubed:PTPT:PTPT -bedazzle:PTSL:PTSL -beddable:PTPL:PTPL -bedecked:PTKT:PTKT -bedevils:PTFL:PTFL -bedewing:PTNK:PTNK -bedimmed:PTMT:PTMT -bedizens:PTSN:PTSN -bedouins:PTNS:PTNS -bedposts:PTPS:PTPS -bedquilt:PTKL:PTKL -bedrolls:PTRL:PTRL -bedrooms:PTRM:PTRM -bedsides:PTST:PTST -bedsonia:PTSN:PTSN -bedsores:PTSR:PTSR -bedstead:PTST:PTST -bedtimes:PTMS:PTMS -beebread:PPRT:PPRT -beechnut:PKNT:PKNT -beefiest:PFST:PFST -beehives:PHFS:PHFS -beelines:PLNS:PLNS -beesting:PSTN:PSTN -beeswing:PSNK:PSNK -beetling:PTLN:PTLN -beetroot:PTRT:PTRT -befallen:PFLN:PFLN -befitted:PFTT:PFTT -befogged:PFKT:PFKT -befouled:PFLT:PFLT -befouler:PFLR:PFLR -befriend:PFRN:PFRN -befuddle:PFTL:PFTL -begetter:PKTR:PKTR -beggared:PKRT:PKRT -beggarly:PKRL:PKRL -beginner:PJNR:PKNR -begonias:PKNS:PKNS -begoting:PKTN:PKTN -begotten:PKTN:PKTN -begrimed:PKRM:PKRM -begrimes:PKRM:PKRM -begrudge:PKRJ:PKRJ -beguiled:PKLT:PKLT -beguiler:PKLR:PKLR -beguiles:PKLS:PKLS -beguines:PKNS:PKNS -behalves:PHLF:PHLF -behaving:PHFN:PHFN -behavior:PHFR:PHFR -beheaded:PHTT:PHTT -behemoth:PHM0:PHMT -beholden:PHLT:PHLT -beholder:PHLT:PHLT -behooved:PHFT:PHFT -behooves:PHFS:PHFS -behoving:PHFN:PHFN -bejewels:PJLS:PJLS -belabors:PLPR:PLPR -belaying:PLNK:PLNK -belching:PLXN:PLKN -belfries:PLFR:PLFR -belgians:PLJN:PLKN -belgrade:PLKR:PLKR -believed:PLFT:PLFT -believer:PLFR:PLFR -believes:PLFS:PLFS -belittle:PLTL:PLTL -bellboys:PLPS:PLPS -bellevue:PLF:PLF -bellhops:PLPS:PLPS -bellowed:PLT:PLT -bellower:PLR:PLR -bellyful:PLFL:PLFL -bellying:PLNK:PLNK -belonged:PLNJ:PLNK -beltways:PLTS:PLTS -bemiring:PMRN:PMRN -bemoaned:PMNT:PMNT -bemusing:PMSN:PMSN -benchers:PNXR:PNKR -benching:PNXN:PNKN -bendable:PNTP:PNTP -bendiest:PNTS:PNTS -benedick:PNTK:PNTK -benedict:PNTK:PNTK -benefact:PNFK:PNFK -benefice:PNFS:PNFS -benefits:PNFT:PNFT -bengalis:PNKL:PNKL -benghazi:PNKS:PNKS -benignly:PNNL:PNKN -benisons:PNSN:PNSN -benjamin:PNJM:PNJM -bentwood:PNTT:PNTT -benumbed:PNMP:PNMP -benzoate:PNST:PNST -benzylic:PNSL:PNSL -bequeath:PK0:PKT -bequests:PKST:PKST -berating:PRTN:PRTN -berberis:PRPR:PRPR -berceuse:PRSS:PRSS -berdache:PRTX:PRTK -bereaved:PRFT:PRFT -bereaves:PRFS:PRFS -bergamot:PRKM:PRKM -bergeres:PRKR:PRJR -beriberi:PRPR:PRPR -berkeley:PRKL:PRKL -berliner:PRLN:PRLN -bermudan:PRMT:PRMT -berrying:PRNK:PRNK -berserks:PRSR:PRSR -berthing:PR0N:PRTN -beryline:PRLN:PRLN -beseemed:PSMT:PSMT -besetter:PSTR:PSTR -besieged:PSJT:PSKT -besieger:PSJR:PSKR -besieges:PSJS:PSKS -besmears:PSMR:PSMR -besmirch:PSMR:PSMR -besotted:PSTT:PSTT -besotter:PSTR:PSTR -besought:PSKT:PSKT -bespeaks:PSPK:PSPK -bespoken:PSPK:PSPK -bespread:PSPR:PSPR -bessemer:PSMR:PSMR -bestiary:PSXR:PSXR -bestowal:PSTL:PSTL -bestowed:PSTT:PSTT -bestower:PSTR:PSTR -bestrewn:PSTR:PSTR -bestrews:PSTR:PSTR -bestride:PSTR:PSTR -bestrode:PSTR:PSTR -betacism:PTSS:PTSS -betaking:PTKN:PTKN -betatron:PTTR:PTTR -bethesda:P0ST:PTST -bethinks:P0NK:PTNK -betiding:PTTN:PTTN -betjeman:PTJM:PTJM -betokens:PTKN:PTKN -betonies:PTNS:PTNS -betrayal:PTRL:PTRL -betrayed:PTRT:PTRT -betrayer:PTRR:PTRR -betroths:PTR0:PTRT -bettered:PTRT:PTRT -betweens:PTNS:PTNS -bevelers:PFLR:PFLR -beveling:PFLN:PFLN -beverage:PFRJ:PFRK -bewailed:PLT:PLT -bewailer:PLR:PLR -bewaring:PRNK:PRNK -bewigged:PKT:PKT -bewilder:PLTR:PLTR -biannual:PNL:PNL -biarritz:PRTS:PRTS -biassing:PSNK:PSNK -biathlon:P0LN:PTLN -bibcocks:PPKK:PPKK -bibelots:PPLT:PPLT -biblical:PPLK:PPLK -bibulous:PPLS:PPLS -bicaudal:PKTL:PKTL -bicepses:PSPS:PSPS -bickered:PKRT:PKRT -bickerer:PKRR:PKRR -biconvex:PKNF:PKNF -bicuspid:PKSP:PKSP -bicycled:PSKL:PSKL -bicycler:PSKL:PSKL -bicycles:PSKL:PSKL -bicyclic:PSKL:PSKL -biddable:PTPL:PTPL -biddably:PTPL:PTPL -biebrich:PPRX:PPRK -biennial:PNL:PNL -biennium:PNM:PNM -bifacial:PFSL:PFXL -bifidity:PFTT:PFTT -bifocals:PFKL:PFKL -biforate:PFRT:PFRT -bigamies:PKMS:PKMS -bigamist:PKMS:PKMS -bigamize:PKMS:PKMS -bigamous:PKMS:PKMS -bigeminy:PJMN:PKMN -bigheart:PRT:PRT -bighorns:PRNS:PRNS -bigmouth:PKM0:PKMT -bikeways:PKS:PKS -bilabial:PLPL:PLPL -bilberry:PLPR:PLPR -bilinear:PLNR:PLNR -biliuria:PLR:PLR -billable:PLPL:PLPL -billeted:PLTT:PLTT -billetee:PLT:PLT -billeter:PLTR:PLTR -billfold:PLFL:PLFL -billhead:PLT:PLT -billhook:PLK:PLK -billiard:PLRT:PLRT -billings:PLNK:PLNK -billions:PLNS:PLNS -billowed:PLT:PLT -bilobate:PLPT:PLPT -bimanual:PMNL:PMNL -bimbashi:PMPX:PMPX -binaries:PNRS:PNRS -binaural:PNRL:PNRL -bindable:PNTP:PNTP -bindings:PNTN:PNTN -bindweed:PNTT:PNTT -bingeing:PNJN:PNKN -binnacle:PNKL:PNKL -binomial:PNML:PNML -binoxide:PNKS:PNKS -bioassay:PS:PS -biocidal:PSTL:PSTL -biocides:PSTS:PSTS -bioclean:PKLN:PKLN -biocycle:PSKL:PSKL -biocytin:PSTN:PSTN -biogases:PKSS:PKSS -biogenic:PJNK:PKNK -biologic:PLJK:PLKK -biolyses:PLSS:PLSS -biolysis:PLSS:PLSS -biolytic:PLTK:PLTK -biometry:PMTR:PMTR -bionomic:PNMK:PNMK -biophagy:PFK:PFJ -biophore:PFR:PFR -bioplasm:PPLS:PPLS -biopsies:PPSS:PPSS -bioscope:PSKP:PSKP -bioscopy:PSKP:PSKP -biotical:PTKL:PTKL -biotitic:PTTK:PTTK -biotopes:PTPS:PTPS -biotypic:PTPK:PTPK -biovular:PFLR:PFLR -biparous:PPRS:PPRS -biphasic:PFSK:PFSK -biphenyl:PFNL:PFNL -biplanes:PPLN:PPLN -biracial:PRSL:PRXL -biradial:PRTL:PRTL -biramose:PRMS:PRMS -biramous:PRMS:PRMS -birchers:PRXR:PRKR -birching:PRXN:PRKN -birchism:PRXS:PRKS -birchist:PRXS:PRKS -birchite:PRXT:PRKT -birdbath:PRTP:PRTP -birdcage:PRTK:PRTK -birdlike:PRTL:PRTL -birdlime:PRTL:PRTL -birdseed:PRTS:PRTS -birdseye:PRTS:PRTS -birdsong:PRTS:PRTS -birettas:PRTS:PRTS -birthday:PR0T:PRTT -birthing:PR0N:PRTN -biscuits:PSKT:PSKT -bisected:PSKT:PSKT -bisector:PSKT:PSKT -bisexual:PSKS:PSKS -bismarck:PSMR:PSMR -bistable:PSTP:PSTP -bistoury:PSTR:PSTR -bitewing:PTNK:PTNK -bitingly:PTNK:PTNK -bitstock:PTST:PTST -bitterer:PTRR:PTRR -bitterly:PTRL:PTRL -bitterns:PTRN:PTRN -bittiest:PTST:PTST -bitumens:PTMN:PTMN -bivalent:PFLN:PFLN -bivalved:PFLF:PFLF -bivalves:PFLF:PFLF -biventer:PFNT:PFNT -bivouack:PFK:PFK -bivouacs:PFKS:PFKS -biweekly:PKL:PKL -biyearly:PRL:PRL -blabbers:PLPR:PLPR -blabbing:PLPN:PLPN -blackens:PLKN:PLKN -blackest:PLKS:PLKS -blackfly:PLKF:PLKF -blacking:PLKN:PLKN -blackish:PLKX:PLKX -blackleg:PLKL:PLKL -blackout:PLKT:PLKT -blacktop:PLKT:PLKT -bladders:PLTR:PLTR -bladdery:PLTR:PLTR -blamable:PLMP:PLMP -blamably:PLMP:PLMP -blameful:PLMF:PLMF -blanched:PLNX:PLNK -blanches:PLNX:PLNK -blandest:PLNT:PLNT -blandish:PLNT:PLNT -blankest:PLNK:PLNK -blankets:PLNK:PLNK -blankety:PLNK:PLNK -blanking:PLNK:PLNK -blastema:PLST:PLST -blasters:PLST:PLST -blasting:PLST:PLST -blastoff:PLST:PLST -blastoma:PLST:PLST -blastula:PLST:PLST -blatancy:PLTN:PLTN -blathers:PL0R:PLTR -blazoned:PLSN:PLSN -blazoner:PLSN:PLSN -blazonry:PLSN:PLSN -bleached:PLXT:PLKT -bleacher:PLXR:PLKR -bleaches:PLXS:PLKS -bleakest:PLKS:PLKS -bleakish:PLKX:PLKX -blearier:PLR:PLRR -blearily:PLRL:PLRL -blearing:PLRN:PLRN -bleaters:PLTR:PLTR -bleating:PLTN:PLTN -bleeders:PLTR:PLTR -bleeding:PLTN:PLTN -bleepers:PLPR:PLPR -bleeping:PLPN:PLPN -blenched:PLNX:PLNK -blencher:PLNX:PLNK -blenches:PLNX:PLNK -blenders:PLNT:PLNT -blending:PLNT:PLNT -blennies:PLNS:PLNS -blennoid:PLNT:PLNT -blessing:PLSN:PLSN -blethers:PL0R:PLTR -blighted:PLTT:PLTT -blighter:PLTR:PLTR -blimpish:PLMP:PLMP -blindage:PLNT:PLNT -blinders:PLNT:PLNT -blindest:PLNT:PLNT -blinding:PLNT:PLNT -blinkers:PLNK:PLNK -blinking:PLNK:PLNK -blintzes:PLNT:PLNT -blippers:PLPR:PLPR -blipping:PLPN:PLPN -blissful:PLSF:PLSF -blisters:PLST:PLST -blistery:PLST:PLST -blithely:PL0L:PLTL -blithest:PL0S:PLTS -blitzing:PLTS:PLTS -blizzard:PLSR:PLTS -bloaters:PLTR:PLTR -bloating:PLTN:PLTN -blobbing:PLPN:PLPN -blockade:PLKT:PLKT -blockage:PLKJ:PLKK -blockers:PLKR:PLKR -blocking:PLKN:PLKN -blockish:PLKX:PLKX -blondest:PLNT:PLNT -bloodied:PLTT:PLTT -bloodier:PLT:PLTR -bloodies:PLTS:PLTS -bloodily:PLTL:PLTL -blooding:PLTN:PLTN -bloomers:PLMR:PLMR -bloomery:PLMR:PLMR -bloomier:PLM:PLMR -blooming:PLMN:PLMN -bloopers:PLPR:PLPR -blossoms:PLSM:PLSM -blossomy:PLSM:PLSM -blotched:PLXT:PLXT -blotches:PLXS:PLXS -blotters:PLTR:PLTR -blotting:PLTN:PLTN -blousing:PLSN:PLSN -blousons:PLSN:PLSN -blowback:PLPK:PLPK -blowdown:PLTN:PLTN -blowfish:PLFX:PLFX -blowguns:PLKN:PLKN -blowhard:PLRT:PLRT -blowhole:PLL:PLL -blowiest:PLST:PLST -blowlamp:PLLM:PLLM -blowouts:PLTS:PLTS -blowpipe:PLPP:PLPP -blowsier:PLSR:PLSR -blowsily:PLSL:PLSL -blowzier:PLSR:PLTS -blowzily:PLSL:PLTS -blubbers:PLPR:PLPR -blubbery:PLPR:PLPR -blubbing:PLPN:PLPN -bluchers:PLXR:PLKR -bludgeon:PLJN:PLJN -bludging:PLJN:PLJN -bluebell:PLPL:PLPL -bluebird:PLPR:PLPR -bluebook:PLPK:PLPK -bluefish:PLFX:PLFX -bluegill:PLJL:PLKL -blueness:PLNS:PLNS -bluenose:PLNS:PLNS -bluetits:PLTT:PLTT -bluffers:PLFR:PLFR -bluffing:PLFN:PLFN -blunders:PLNT:PLNT -blungers:PLNK:PLNJ -blunging:PLNJ:PLNK -bluntest:PLNT:PLNT -blunting:PLNT:PLNT -blurrier:PLR:PLRR -blurring:PLRN:PLRN -blurting:PLRT:PLRT -blushers:PLXR:PLXR -blushful:PLXF:PLXF -blushing:PLXN:PLXN -blusters:PLST:PLST -blustery:PLST:PLST -boadicea:PTS:PTS -boarders:PRTR:PRTR -boarding:PRTN:PRTN -boasters:PSTR:PSTR -boastful:PSTF:PSTF -boasting:PSTN:PSTN -boatable:PTPL:PTPL -boathook:P0K:PTK -boatload:PTLT:PTLT -boatsman:PTSM:PTSM -boatsmen:PTSM:PTSM -boatyard:PTRT:PTRT -bobbinet:PPNT:PPNT -bobbling:PPLN:PPLN -bobfloat:PPFL:PPFL -bobolink:PPLN:PPLN -bobsleds:PPSL:PPSL -bobstays:PPST:PPST -bobtails:PPTL:PPTL -bobwhite:PPT:PPT -bodansky:PTNS:PTNS -bodement:PTMN:PTMN -bodiless:PTLS:PTLS -bodleian:PTLN:PTLN -bodysuit:PTST:PTST -bodysurf:PTSR:PTSR -bodywork:PTRK:PTRK -bogeyman:PJMN:PKMN -bogeymen:PJMN:PKMN -boggiest:PJST:PKST -boggling:PKLN:PKLN -bohemian:PHMN:PHMN -boilable:PLPL:PLPL -boldface:PLTF:PLTF -boldness:PLTN:PLTN -bolivars:PLFR:PLFR -bolivian:PLFN:PLFN -bollards:PLRT:PLRT -bollocks:PLKS:PLKS -bollworm:PLRM:PLRM -bolshies:PLXS:PLXS -bolsters:PLST:PLST -bombards:PMPR:PMPR -bombings:PMPN:PMPN -bonanzas:PNNS:PNNS -bondable:PNTP:PNTP -bondager:PNTK:PNTJ -bondless:PNTL:PNTL -bondmaid:PNTM:PNTM -bondsman:PNTS:PNTS -bondsmen:PNTS:PNTS -bonefish:PNFX:PNFX -bonehead:PNHT:PNHT -boneless:PNLS:PNLS -boneyard:PNRT:PNRT -bonfires:PNFR:PNFR -bonhomie:PNM:PNM -boniness:PNNS:PNNS -bonneted:PNTT:PNTT -bonngary:PNKR:PNKR -bonniest:PNST:PNST -bonorums:PNRM:PNRM -boodling:PTLN:PTLN -bookbind:PKPN:PKPN -bookcase:PKKS:PKKS -bookends:PKNT:PKNT -bookings:PKNK:PKNK -bookkeep:PKP:PKP -booklets:PKLT:PKLT -booklice:PKLS:PKLS -booklist:PKLS:PKLS -bookmark:PKMR:PKMR -bookrack:PKRK:PKRK -bookshop:PKXP:PKXP -bookworm:PKRM:PKRM -boomeran:PMRN:PMRN -boomkins:PMKN:PMKN -boomtown:PMTN:PMTN -boosters:PSTR:PSTR -boosting:PSTN:PSTN -bootjack:PTJK:PTJK -bootlace:PTLS:PTLS -bootlegs:PTLK:PTLK -bootless:PTLS:PTLS -bootlick:PTLK:PTLK -booziest:PSST:PSST -boracite:PRST:PRST -bordeaux:PRT:PRT -bordello:PRTL:PRTL -bordered:PRTR:PRTR -borderer:PRTR:PRTR -bordures:PRTR:PRTR -borealis:PRLS:PRLS -borecole:PRKL:PRKL -borehole:PRHL:PRHL -boroughs:PRFS:PRFS -borrelia:PRL:PRL -borrowed:PRT:PRT -borrower:PRR:PRR -borstals:PRST:PRST -boskiest:PSKS:PSKS -bosquets:PSKT:PSKT -bossiest:PSST:PSST -botanist:PTNS:PTNS -botanize:PTNS:PTNS -botchers:PXRS:PXRS -botchier:PX:PXR -botchily:PXL:PXL -botching:PXNK:PXNK -botflies:PTFL:PTFL -bothered:P0RT:PTRT -bothrium:P0RM:PTRM -botryoid:PTRT:PTRT -botswana:PTSN:PTSN -bottlers:PTLR:PTLR -bottling:PTLN:PTLN -bottomed:PTMT:PTMT -bottomry:PTMR:PTMR -botulism:PTLS:PTLS -bouchees:PXS:PKS -boudoirs:PTRS:PTRS -bouffant:PFNT:PFNT -bouillon:PLN:PLN -boulders:PLTR:PLTR -bouldery:PLTR:PLTR -boulimia:PLM:PLM -bouncers:PNSR:PNSR -bouncier:PNS:PNXR -bouncily:PNSL:PNSL -bouncing:PNSN:PNSN -boundary:PNTR:PNTR -bounders:PNTR:PNTR -bounding:PNTN:PNTN -bounties:PNTS:PNTS -bouquets:PKTS:PKTS -bourbons:PRPN:PRPN -bourdons:PRTN:PRTN -boutique:PTK:PTK -bouviers:PFRS:PFRS -bovicola:PFKL:PFKL -bovinely:PFNL:PFNL -boweling:PLNK:PLNK -bowelled:PLT:PLT -bowknots:PKNT:PKNT -bowlfuls:PLFL:PLFL -bowlines:PLNS:PLNS -bowsprit:PSPR:PSPR -boxberry:PKSP:PKSP -boxboard:PKSP:PKSP -boxrooms:PKSR:PKSR -boycotts:PKTS:PKTS -boyishly:PXL:PXL -bracelet:PRSL:PRSL -braceros:PRSR:PRSR -brachial:PRKL:PRKL -brachium:PRXM:PRKM -brackens:PRKN:PRKN -brackets:PRKT:PRKT -brackish:PRKX:PRKX -bracteal:PRKT:PRKT -bractlet:PRKT:PRKT -bradawls:PRTL:PRTL -bradford:PRTF:PRTF -braggart:PRKR:PRKR -braggers:PRKR:PRKR -bragging:PRJN:PRKN -brahmana:PRMN:PRMN -brahmans:PRMN:PRMN -brahmins:PRMN:PRMN -braiders:PRTR:PRTR -braiding:PRTN:PRTN -brailing:PRLN:PRLN -brainbox:PRNP:PRNP -brainier:PRN:PRNR -brainily:PRNL:PRNL -braining:PRNN:PRNN -brainpan:PRNP:PRNP -braising:PRSN:PRSN -brakeage:PRKJ:PRKK -brakeman:PRKM:PRKM -brakemen:PRKM:PRKM -brambles:PRMP:PRMP -branched:PRNX:PRNK -branches:PRNX:PRNK -branchia:PRNK:PRNK -branders:PRNT:PRNT -brandied:PRNT:PRNT -brandies:PRNT:PRNT -branding:PRNT:PRNT -brandish:PRNT:PRNT -brashest:PRXS:PRXS -brashier:PRX:PRXR -brasiers:PRSR:PRSR -brasilia:PRSL:PRSL -brassard:PRSR:PRSR -brassier:PRS:PRSR -brassies:PRSS:PRSS -brassily:PRSL:PRSL -brattice:PRTS:PRTS -brattier:PRT:PRTR -bravados:PRFT:PRFT -bravuras:PRFR:PRFR -brawlers:PRLR:PRLR -brawling:PRLN:PRLN -brawnier:PRNR:PRNR -brawnily:PRNL:PRNL -brazenly:PRSN:PRSN -braziers:PRSR:PRSR -breached:PRXT:PRKT -breacher:PRXR:PRKR -breaches:PRXS:PRKS -breadbox:PRTP:PRTP -breading:PRTN:PRTN -breadths:PRTS:PRTS -breakage:PRKJ:PRKK -breakers:PRKR:PRKR -breaking:PRKN:PRKN -breakout:PRKT:PRKT -breakups:PRKP:PRKP -breasted:PRST:PRST -breathed:PR0T:PRTT -breather:PR0R:PRTR -breathes:PR0S:PRTS -breeches:PRXS:PRKS -breeders:PRTR:PRTR -breeding:PRTN:PRTN -breezier:PRS:PRSR -breezily:PRSL:PRSL -breezing:PRSN:PRSN -bregmata:PRKM:PRKM -brethren:PR0R:PRTR -brevetcy:PRFT:PRFT -breveted:PRFT:PRFT -breviary:PRFR:PRFR -breviate:PRFT:PRFT -brewster:PRST:PRST -brezhnev:PRJN:PRJN -bribable:PRPP:PRPP -brickbat:PRKP:PRKP -brickies:PRKS:PRKS -bricking:PRKN:PRKN -bricklay:PRKL:PRKL -bricktop:PRKT:PRKT -bricoles:PRKL:PRKL -bridally:PRTL:PRTL -bridging:PRJN:PRJN -bridlers:PRTL:PRTL -bridling:PRTL:PRTL -bridoons:PRTN:PRTN -briefest:PRFS:PRFS -briefing:PRFN:PRFN -brigaded:PRKT:PRKT -brigades:PRKT:PRKT -brigalow:PRKL:PRKL -brigands:PRKN:PRKN -brighten:PRTN:PRTN -brighter:PRTR:PRTR -brightly:PRTL:PRTL -brighton:PRTN:PRTN -brimless:PRML:PRML -brimming:PRMN:PRMN -brindled:PRNT:PRNT -bringers:PRNK:PRNJ -bringeth:PRNK:PRNK -bringing:PRNJ:PRNK -briniest:PRNS:PRNS -brioches:PRXS:PRKS -brionies:PRNS:PRNS -brisance:PRSN:PRSN -brisbane:PRSP:PRSP -briskens:PRSK:PRSK -briskest:PRSK:PRSK -briskets:PRSK:PRSK -brisling:PRLN:PRLN -bristled:PRST:PRST -bristles:PRST:PRST -britches:PRXS:PRXS -brittany:PRTN:PRTN -brittley:PRTL:PRTL -broached:PRXT:PRKT -broacher:PRXR:PRKR -broaches:PRXS:PRKS -broadens:PRTN:PRTN -broadest:PRTS:PRTS -broadway:PRT:PRT -brocaded:PRKT:PRKT -brocades:PRKT:PRKT -broccoli:PRKL:PRKL -brochure:PRXR:PRKR -broderie:PRTR:PRTR -brodmann:PRTM:PRTM -broguish:PRKX:PRKX -broiders:PRTR:PRTR -broilers:PRLR:PRLR -broiling:PRLN:PRLN -brokenly:PRKN:PRKN -brokerly:PRKR:PRKR -brollies:PRLS:PRLS -bromelin:PRML:PRML -bromides:PRMT:PRMT -bromidic:PRMT:PRMT -bronchia:PRNK:PRNK -bronchus:PRNX:PRNK -bronzing:PRNS:PRNS -brooches:PRXS:PRKS -brooders:PRTR:PRTR -broodier:PRT:PRTR -brooding:PRTN:PRTN -brooking:PRKN:PRKN -brooklet:PRKL:PRKL -brooklyn:PRKL:PRKL -broomier:PRM:PRMR -brooming:PRMN:PRMN -brothels:PR0L:PRTL -brothers:PR0R:PRTR -brothier:PR0:PRTR -brougham:PRM:PRM -brouhaha:PRHH:PRHH -browband:PRPN:PRPN -browbeat:PRPT:PRPT -brownest:PRNS:PRNS -brownies:PRNS:PRNS -browning:PRNN:PRNN -brownish:PRNX:PRNX -brownout:PRNT:PRNT -browsers:PRSR:PRSR -browsing:PRSN:PRSN -brucella:PRSL:PRSL -bruisers:PRSR:PRSR -bruising:PRSN:PRSN -bruiting:PRTN:PRTN -brummies:PRMS:PRMS -brunched:PRNX:PRNK -brunches:PRNX:PRNK -brunette:PRNT:PRNT -brushers:PRXR:PRXR -brushing:PRXN:PRXN -brushite:PRXT:PRXT -brushoff:PRXF:PRXF -bruskest:PRSK:PRSK -brussels:PRSL:PRSL -brutally:PRTL:PRTL -bryonies:PRNS:PRNS -bubblers:PPLR:PPLR -bubblier:PPL:PPLR -bubbling:PPLN:PPLN -bucculae:PKL:PKL -buchanan:PXNN:PKNN -buckbean:PKPN:PKPN -bucketed:PKTT:PKTT -bucketer:PKTR:PKTR -buckeyes:PKS:PKS -buckhorn:PKRN:PKRN -bucklers:PKLR:PKLR -buckling:PKLN:PKLN -bucksaws:PKSS:PKSS -buckshee:PKX:PKX -buckshot:PKXT:PKXT -buckskin:PKSK:PKSK -bucolics:PKLK:PKLK -budapest:PTPS:PTPS -buddhism:PTSM:PTSM -buddhist:PTST:PTST -buddleia:PTL:PTL -budgeree:PJR:PJR -budgeted:PJTT:PJTT -budgeter:PJTR:PJTR -buffalos:PFLS:PFLS -buffered:PFRT:PFRT -buffeted:PFTT:PFTT -buffeter:PFTR:PFTR -buffoons:PFNS:PFNS -bugbears:PKPR:PKPR -buggered:PKRT:PKRT -buggiest:PKST:PKST -builders:PLTR:PLTR -building:PLTN:PLTN -buildups:PLTP:PLTP -bulgaria:PLKR:PLKR -bulgiest:PLJS:PLKS -bulkhead:PLKT:PLKT -bulkiest:PLKS:PLKS -bullaely:PLL:PLL -bullated:PLTT:PLTT -bulldogs:PLTK:PLTK -bulldoze:PLTS:PLTS -bulletin:PLTN:PLTN -bullfrog:PLFR:PLFR -bullhorn:PLRN:PLRN -bullneck:PLNK:PLNK -bullnose:PLNS:PLNS -bullocks:PLKS:PLKS -bullocky:PLK:PLK -bullpens:PLPN:PLPN -bullring:PLRN:PLRN -bullwhip:PLP:PLP -bullyboy:PLP:PLP -bullying:PLNK:PLNK -bulwarks:PLRK:PLRK -bumblers:PMPL:PMPL -bumbling:PMPL:PMPL -bumboats:PMPT:PMPT -bummaree:PMR:PMR -bumpiest:PMPS:PMPS -bumpkins:PMPK:PMPK -bunchier:PNX:PNKR -bunching:PNXN:PNKN -buncombe:PNKM:PNKM -bundlers:PNTL:PNTL -bundling:PNTL:PNTL -bungalow:PNKL:PNKL -bunghole:PNKL:PNKL -bunglers:PNKL:PNKL -bungling:PNKL:PNLN -bunkered:PNKR:PNKR -bunkmate:PNKM:PNKM -bunodont:PNTN:PNTN -buntline:PNTL:PNTL -buoyancy:PNS:PNS -burberry:PRPR:PRPR -burblers:PRPL:PRPL -burbling:PRPL:PRPL -burchard:PRXR:PRKR -burdened:PRTN:PRTN -burdocks:PRTK:PRTK -burettes:PRTS:PRTS -burgeons:PRJN:PRKN -burghers:PRKR:PRKR -burglars:PRKL:PRKL -burglary:PRKL:PRKL -burgling:PRKL:PRLN -burgundy:PRKN:PRKN -burliest:PRLS:PRLS -burnable:PRNP:PRNP -burnings:PRNN:PRNN -burnoose:PRNS:PRNS -burnouse:PRNS:PRNS -burnouts:PRNT:PRNT -burriest:PRST:PRST -burrkitt:PRKT:PRKT -burrowed:PRT:PRT -burrower:PRR:PRR -bursitis:PRST:PRST -bursting:PRST:PRST -bursulae:PRSL:PRSL -busheled:PXLT:PXLT -busheler:PXLR:PXLR -bushfire:PXFR:PXFR -bushiest:PXST:PXST -bushings:PXNK:PXNK -bushveld:PXFL:PXFL -bushwack:PXK:PXK -business:PSNS:PSNS -bustards:PSTR:PSTR -bustiest:PSTS:PSTS -bustlers:PSTL:PSTL -bustling:PSTL:PSTL -busulfan:PSLF:PSLF -busybody:PSPT:PSPT -busyness:PSNS:PSNS -busywork:PSRK:PSRK -butanoic:PTNK:PTNK -butchers:PXRS:PXRS -butchery:PXR:PXR -buttered:PTRT:PTRT -butterer:PTRR:PTRR -buttocks:PTKS:PTKS -buttoned:PTNT:PTNT -buttoner:PTNR:PTNR -buttress:PTRS:PTRS -butylate:PTLT:PTLT -butyrate:PTRT:PTRT -butyrous:PTRS:PTRS -buzzards:PSRT:PTSR -buzzword:PSRT:PTSR -byliners:PLNR:PLNR -bylining:PLNN:PLNN -bypassed:PPST:PPST -bypasses:PPSS:PPSS -bypathes:PP0S:PPTS -byronism:PRNS:PRNS -bystreet:PSTR:PSTR -cabalism:KPLS:KPLS -cabalist:KPLS:KPLS -caballed:KPLT:KPLT -cabarets:KPRT:KPRT -cabbages:KPJS:KPKS -cabinets:KPNT:KPNT -cableway:KPL:KPL -cabochon:KPXN:KPKN -caboodle:KPTL:KPTL -cabooses:KPSS:KPSS -cabotage:KPTJ:KPTK -cabriole:KPRL:KPRL -cabstand:KPST:KPST -cachalot:KKLT:KKLT -cachepot:KXPT:KKPT -cacheted:KXTT:KKTT -cachexia:KXKS:KKKS -cacklers:KKLR:KKLR -cackling:KKLN:KKLN -cacology:KKLJ:KKLK -cactuses:KKTS:KKTS -cadaster:KTST:KTST -cadavers:KTFR:KTFR -caddises:KTSS:KTSS -caddying:KTNK:KTNK -cadelles:KTLS:KTLS -cadenced:KTNS:KTNS -cadences:KTNS:KTNS -cadenzas:KTNS:KTNS -cadettes:KTTS:KTTS -cadillac:KTLK:KTLK -caducary:KTKR:KTKR -caduceus:KTSS:KTSS -caducity:KTST:KTST -caducous:KTKS:KTKS -caecitis:KSTS:KSTS -caesurae:KSR:KSR -caesural:KSRL:KSRL -caesuras:KSRS:KSRS -caesuric:KSRK:KSRK -caffeine:KFN:KFN -caffeone:KFN:KFN -cageling:KJLN:KKLN -caginess:KJNS:KKNS -cagoules:KKLS:KKLS -caissons:KSNS:KSNS -caitiffs:KTFS:KTFS -cajolers:KJLR:KHLR -cajolery:KJLR:KHLR -cajoling:KJLN:KHLN -cakewalk:KKLK:KKLK -calabash:KLPX:KLPX -caladium:KLTM:KLTM -calamine:KLMN:KLMN -calamint:KLMN:KLMN -calamity:KLMT:KLMT -calcanea:KLKN:KLKN -calcanei:KLKN:KLKN -calcaria:KLKR:KLKR -calcific:KLSF:KLSF -calcined:KLSN:KLSN -calcines:KLSN:KLSN -calcitic:KLST:KLST -calculus:KLKL:KLKL -calcutta:KLKT:KLKT -caldaria:KLTR:KLTR -calderas:KLTR:KLTR -caldrons:KLTR:KLTR -caleches:KLXS:KLKS -calendar:KLNT:KLNT -calender:KLNT:KLNT -calfskin:KLFS:KLFS -calibers:KLPR:KLPR -calibred:KLPR:KLPR -caliceal:KLSL:KLSL -calicles:KLKL:KLKL -calicoes:KLKS:KLKS -calipers:KLPR:KLPR -caliphes:KLFS:KLFS -calisaya:KLS:KLS -callable:KLPL:KLPL -callback:KLPK:KLPK -callboys:KLPS:KLPS -callings:KLNK:KLNK -calliope:KLP:KLP -calliper:KLPR:KLPR -callosal:KLSL:KLSL -callosum:KLSM:KLSM -callused:KLST:KLST -calluses:KLSS:KLSS -calmness:KLMN:KLMN -calories:KLRS:KLRS -calorify:KLRF:KLRF -calottes:KLTS:KLTS -calotype:KLTP:KLTP -calquing:KLKN:KLKN -calumets:KLMT:KLMT -calutron:KLTR:KLTR -calvaria:KLFR:KLFR -calyceal:KLSL:KLSL -calycine:KLSN:KLSN -calyculi:KLKL:KLKL -calypsos:KLPS:KLPS -camargue:KMRK:KMRK -cambered:KMPR:KMPR -cambists:KMPS:KMPS -cambiums:KMPM:KMPM -cambodia:KMPT:KMPT -cambogia:KMPJ:KMPK -cambrian:KMPR:KMPR -cameleer:KMLR:KMLR -camellia:KML:KML -camelots:KMLT:KMLT -cameraes:KMRS:KMRS -cameroon:KMRN:KMRN -camisole:KMSL:KMSL -camomile:KMML:KMML -campaign:KMPN:KMPK -campbell:KMPL:KMPL -campfire:KMPF:KMPF -camphane:KMFN:KMFN -camphene:KMFN:KMFN -campiest:KMPS:KMPS -campions:KMPN:KMPN -camporee:KMPR:KMPR -campsite:KMPS:KMPS -campuses:KMPS:KMPS -camshaft:KMXF:KMXF -canadian:KNTN:KNTN -canadine:KNTN:KNTN -canaille:KNL:KNL -canaline:KNLN:KNLN -canaling:KNLN:KNLN -canalize:KNLS:KNLS -canalled:KNLT:KNLT -canaller:KNLR:KNLR -canaries:KNRS:KNRS -canaster:KNST:KNST -canberra:KNPR:KNPR -canceled:KNSL:KNSL -canceler:KNSL:KNSL -cancelli:KNSL:KNSL -cancered:KNSR:KNSR -cancroid:KNKR:KNKR -candidly:KNTT:KNTT -candlers:KNTL:KNTL -candling:KNTL:KNTL -candying:KNTN:KNTN -canicola:KNKL:KNKL -canicula:KNKL:KNKL -canister:KNST:KNST -canities:KNTS:KNTS -cankered:KNKR:KNKR -cannabes:KNPS:KNPS -cannabic:KNPK:KNPK -cannabin:KNPN:KNPN -cannabis:KNPS:KNPS -cannibal:KNPL:KNPL -canniest:KNST:KNST -cannones:KNNS:KNNS -cannulae:KNL:KNL -cannulas:KNLS:KNLS -canoeing:KNNK:KNNK -canoeist:KNST:KNST -canoness:KNNS:KNNS -canonist:KNNS:KNNS -canonize:KNNS:KNNS -canoodle:KNTL:KNTL -canopied:KNPT:KNPT -canopies:KNPS:KNPS -cantatas:KNTT:KNTT -canteens:KNTN:KNTN -cantered:KNTR:KNTR -canticle:KNTK:KNTK -cantonal:KNTN:KNTN -cantoned:KNTN:KNTN -cantrips:KNTR:KNTR -canulaes:KNLS:KNLS -canvased:KNFS:KNFS -canvases:KNFS:KNFS -canzonet:KNSN:KNSN -capacity:KPST:KPST -capeline:KPLN:KPLN -caperers:KPRR:KPRR -capering:KPRN:KPRN -capeskin:KPSK:KPSK -capetown:KPTN:KPTN -capiases:KPSS:KPSS -capillus:KPLS:KPLS -capitals:KPTL:KPTL -capitare:KPTR:KPTR -capitate:KPTT:KPTT -capitols:KPTL:KPTL -capitula:KPTL:KPTL -caponier:KPN:KPNR -caponize:KPNS:KPNS -cappella:KPL:KPL -caprices:KPRS:KPRS -caprifig:KPRF:KPRF -capriole:KPRL:KPRL -caproate:KPRT:KPRT -caprylic:KPRL:KPRL -capsicum:KPSK:KPSK -capsidal:KPST:KPST -capsized:KPSS:KPSS -capsizes:KPSS:KPSS -capstans:KPST:KPST -capstone:KPST:KPST -capsulae:KPSL:KPSL -capsular:KPSL:KPSL -capsuled:KPSL:KPSL -capsules:KPSL:KPSL -captains:KPTN:KPTN -captions:KPXN:KPXN -captious:KPTS:KPTS -captives:KPTF:KPTF -captress:KPTR:KPTR -captured:KPTR:KPTR -capturer:KPTR:KPTR -captures:KPTR:KPTR -capuchin:KPXN:KPKN -capybara:KPPR:KPPR -carabaos:KRPS:KRPS -caracole:KRKL:KRKL -caraculs:KRKL:KRKL -carageen:KRJN:KRKN -caramels:KRML:KRML -carapace:KRPS:KRPS -caravans:KRFN:KRFN -caravels:KRFL:KRFL -caraways:KRS:KRS -carbamic:KRPM:KRPM -carbamyl:KRPM:KRPM -carbaryl:KRPR:KRPR -carbides:KRPT:KRPT -carbiner:KRPN:KRPN -carbines:KRPN:KRPN -carbinol:KRPN:KRPN -carbolic:KRPL:KRPL -carbonic:KRPN:KRPN -carbonyl:KRPN:KRPN -carboxyl:KRPK:KRPK -carburet:KRPR:KRPR -carcases:KRKS:KRKS -cardamom:KRTM:KRTM -cardamon:KRTM:KRTM -cardamum:KRTM:KRTM -cardhold:KRTL:KRTL -cardiaes:KRTS:KRTS -cardigan:KRTK:KRTK -cardinal:KRTN:KRTN -cardioid:KRTT:KRTT -carditis:KRTT:KRTT -cardroom:KRTR:KRTR -careened:KRNT:KRNT -careener:KRNR:KRNR -careered:KRRT:KRRT -carefree:KRFR:KRFR -careless:KRLS:KRLS -caressed:KRST:KRST -caresser:KRSR:KRSR -caresses:KRSS:KRSS -careworn:KRRN:KRRN -carfares:KRFR:KRFR -caribous:KRPS:KRPS -carillon:KRLN:KRLN -carinaes:KRNS:KRNS -carinate:KRNT:KRNT -carioles:KRLS:KRLS -carlines:KRLN:KRLN -carlings:KRLN:KRLN -carlisle:KRLL:KRLL -carlists:KRLS:KRLS -carloads:KRLT:KRLT -carmalum:KRML:KRML -carminic:KRMN:KRMN -carnally:KRNL:KRNL -carnauba:KRNP:KRNP -carnegie:KRNJ:KRNK -carnival:KRNF:KRNF -carnying:KRNN:KRNN -caroches:KRXS:KRKS -carolean:KRLN:KRLN -carolers:KRLR:KRLR -carolina:KRLN:KRLN -caroline:KRLN:KRLN -caroling:KRLN:KRLN -carolled:KRLT:KRLT -caroller:KRLR:KRLR -caroming:KRMN:KRMN -carotene:KRTN:KRTN -carotids:KRTT:KRTT -carousal:KRSL:KRSL -caroused:KRST:KRST -carousel:KRSL:KRSL -carouser:KRSR:KRSR -carouses:KRSS:KRSS -carpaine:KRPN:KRPN -carpalia:KRPL:KRPL -carpetba:KRPT:KRPT -carpeted:KRPT:KRPT -carpitis:KRPT:KRPT -carports:KRPR:KRPR -carrells:KRLS:KRLS -carriage:KRJ:KRK -carriers:KRRS:KRRS -carriole:KRL:KRL -carryall:KRL:KRL -carrycot:KRKT:KRKT -carrying:KRNK:KRNK -cartable:KRTP:KRTP -cartfuls:KRTF:KRTF -cartoons:KRTN:KRTN -caruncle:KRNK:KRNK -carvings:KRFN:KRFN -caryatid:KRTT:KRTT -casanova:KSNF:KSNF -cascaded:KSKT:KSKT -cascades:KSKT:KSKT -cascaras:KSKR:KSKR -caseated:KSTT:KSTT -caseates:KSTS:KSTS -casebook:KSPK:KSPK -casefied:KSFT:KSFT -casefies:KSFS:KSFS -caseload:KSLT:KSLT -casemate:KSMT:KSMT -casement:KSMN:KSMN -casework:KSRK:KSRK -caseworm:KSRM:KSRM -cashable:KXPL:KXPL -cashbook:KXPK:KXPK -cashiers:KXRS:KXRS -cashless:KXLS:KXLS -cashmere:KXMR:KXMR -cassavas:KSFS:KSFS -cassette:KST:KST -cassocks:KSKS:KSKS -castanea:KSTN:KSTN -castanet:KSTN:KSTN -castaway:KST:KST -castings:KSTN:KSTN -castling:KSTL:KSTL -castoffs:KSTF:KSTF -castrate:KSTR:KSTR -castrato:KSTR:KSTR -casually:KSL:KSL -casualty:KSLT:KSLT -casuists:KSST:KSST -catacomb:KTKM:KTKM -catalase:KTLS:KTLS -catalogs:KTLK:KTLK -catalpas:KTLP:KTLP -catalyst:KTLS:KTLS -catalyze:KTLS:KTLS -catamite:KTMT:KTMT -catapult:KTPL:KTPL -cataract:KTRK:KTRK -catatony:KTTN:KTTN -catawbas:KTPS:KTPS -catbirds:KTPR:KTPR -catboats:KTPT:KTPT -catcalls:KTKL:KTKL -catchall:KXL:KXL -catchers:KXRS:KXRS -catchfly:KXFL:KXFL -catchier:KX:KXR -catching:KXNK:KXNK -catechin:KTXN:KTKN -catechol:KTXL:KTKL -category:KTKR:KTKR -catenary:KTNR:KTNR -catenate:KTNT:KTNT -catenoid:KTNT:KTNT -caterers:KTRR:KTRR -caterham:KTRM:KTRM -catering:KTRN:KTRN -catfalls:KTFL:KTFL -catheads:K0TS:KTTS -cathedra:K0TR:KTTR -catheter:K0TR:KTTR -cathexes:K0KS:KTKS -cathexis:K0KS:KTKS -cathodal:K0TL:KTTL -cathodes:K0TS:KTTS -cathodic:K0TK:KTTK -catholic:K0LK:KTLK -cathouse:K0S:KTS -cationic:KXNK:KXNK -catlings:KTLN:KTLN -catmints:KTMN:KTMN -catskill:KTSK:KTSK -cattails:KTLS:KTLS -cattalos:KTLS:KTLS -cattiest:KTST:KTST -catwalks:KTLK:KTLK -catworms:KTRM:KTRM -caucasia:KKS:KKX -caucasic:KKSK:KKSK -caucasus:KKSS:KKSS -caucused:KKST:KKST -caucuses:KKSS:KKSS -caudally:KTL:KTL -caudated:KTTT:KTTT -caudexes:KTKS:KTKS -caudices:KTSS:KTSS -caudillo:KTL:KTL -cauldron:KLTR:KLTR -caulicle:KLKL:KLKL -caulkers:KLKR:KLKR -caulking:KLKN:KLKN -causable:KSPL:KSPL -causally:KSL:KSL -causerie:KSR:KSR -causeway:KS:KS -caustics:KSTK:KSTK -cautions:KXNS:KXNS -cautious:KTS:KTS -cavalier:KFL:KFLR -cavatina:KFTN:KFTN -caveated:KFTT:KFTT -caveatee:KFT:KFT -caveator:KFTR:KFTR -cavefish:KFFX:KFFX -cavesson:KFSN:KFSN -cavicorn:KFKR:KFKR -caviidae:KFT:KFT -cavilers:KFLR:KFLR -caviling:KFLN:KFLN -cavilled:KFLT:KFLT -caviller:KFLR:KFLR -cavitary:KFTR:KFTR -cavitate:KFTT:KFTT -cavitied:KFTT:KFTT -cavities:KFTS:KFTS -cavorted:KFRT:KFRT -cavorter:KFRT:KFRT -cecopexy:SKPK:SKPK -cecotomy:SKTM:SKTM -cecropia:SKRP:SKRP -cedenses:STNS:STNS -cedillas:STLS:STLS -ceilidhs:SLTS:SLTS -ceilings:SLNK:SLNK -celanese:SLNS:SLNS -celation:SLXN:SLXN -celebres:SLPR:SLPR -celeriac:SLRK:SLRK -celeries:SLRS:SLRS -celerity:SLRT:SLRT -celestas:SLST:SLST -celestes:SLST:SLST -celibacy:SLPS:SLPS -celibate:SLPT:SLPT -cellarer:SLRR:SLRR -cellaret:SLRT:SLRT -cellists:SLST:SLST -cellulae:SLL:SLL -cellular:SLLR:SLLR -cellules:SLLS:SLLS -cellulin:SLLN:SLLN -celtists:SLTS:SLTS -cembalos:SMPL:SMPL -cemented:SMNT:SMNT -cementer:SMNT:SMNT -cementum:SMNT:SMNT -cemetery:SMTR:SMTR -cenacles:SNKL:SNKL -cenobite:SNPT:SNPT -cenosite:SNST:SNST -cenotaph:SNTF:SNTF -cenozoic:SNSK:SNSK -censored:SNSR:SNSR -censured:SNSR:SNSR -censurer:SNSR:SNSR -censures:SNSR:SNSR -censuses:SNSS:SNSS -centauri:SNTR:SNTR -centaurs:SNTR:SNTR -centaury:SNTR:SNTR -centavos:SNTF:SNTF -centered:SNTR:SNTR -centeses:SNTS:SNTS -centesis:SNTS:SNTS -centibar:SNTP:SNTP -centimes:SNTM:SNTM -centners:SNTN:SNTN -centrism:SNTR:SNTR -centrist:SNTR:SNTR -centroid:SNTR:SNTR -centrums:SNTR:SNTR -ceorlish:SRLX:SRLX -cephalad:SFLT:SFLT -cephalic:SFLK:SFLK -cephalin:SFLN:SFLN -ceramics:SRMK:SRMK -ceramist:SRMS:SRMS -ceratoid:SRTT:SRTT -ceratose:SRTS:SRTS -cercaria:SRKR:SRKR -cerclage:SRKL:SRKL -cerebral:SRPR:SRPR -cerebric:SRPR:SRPR -cerebrum:SRPR:SRPR -cerement:SRMN:SRMN -ceremony:SRMN:SRMN -cerenkov:SRNK:SRNK -ceresine:SRSN:SRSN -cereuses:SRSS:SRSS -cerisite:SRST:SRST -cernuous:SRNS:SRNS -cerotype:SRTP:SRTP -cerulean:SRLN:SRLN -cervelat:SRFL:SRFL -cervical:SRFK:SRFK -cervices:SRFS:SRFS -cervixes:SRFK:SRFK -cesarean:SSRN:SSRN -cesarian:SSRN:SSRN -cessions:SSNS:SSNS -cesspits:SSPT:SSPT -cesspool:SSPL:SSPL -cestodan:SSTT:SSTT -cestodes:SSTT:SSTT -cetacean:STSN:STSN -cetaceum:STSM:STSM -cetology:STLJ:STLK -cetraria:STRR:STRR -cevadine:SFTN:SFTN -cevennes:SFNS:SFNS -chadians:XTNS:XTNS -chaffers:XFRS:XFRS -chaffing:XFNK:XFNK -chagomas:XKMS:XKMS -chagrins:XKRN:XKRN -chaining:XNNK:XNNK -chainman:XNMN:XNMN -chainmen:XNMN:XNMN -chairing:XRNK:XRNK -chairman:XRMN:XRMN -chairmen:XRMN:XRMN -chalazae:XLS:XLS -chalazal:XLSL:XLSL -chalazas:XLSS:XLSS -chalazia:XLS:XLS -chalcone:XLKN:XLKN -chaldean:XLTN:XLTN -chaldees:XLTS:XLTS -chaldron:XLTR:XLTR -chalfont:XLFN:XLFN -chaliced:XLST:XLST -chalices:XLSS:XLSS -chalkier:XLKR:XLKR -chalking:XLKN:XLKN -chalkone:XLKN:XLKN -chalkpit:XLKP:XLKP -challahs:XLS:XLS -chamades:XMTS:XMTS -chambers:XMPR:XMPR -chambray:XMPR:XMPR -chamfers:XMFR:XMFR -champers:XMPR:XMPR -champing:XMPN:XMPN -champion:XMPN:XMPN -chancels:XNSL:XNSL -chancers:XNSR:XNSR -chancery:XNSR:XNSR -chancier:XNS:XNXR -chancily:XNSL:XNSL -chancing:XNSN:XNSN -chancres:XNKR:XNKR -chandler:XNTL:XNTL -changers:XNKR:XNJR -changing:XNJN:XNKN -channels:XNLS:XNLS -chansons:XNSN:XNSN -chanters:XNTR:XNTR -chanteys:XNTS:XNTS -chanting:XNTN:XNTN -chanukah:XNK:XNK -chapatti:XPT:XPT -chapbook:XPK:XPK -chapeaus:XPS:XPS -chapeaux:XP:XP -chapelry:XPLR:XPLR -chaperon:XPRN:XPRN -chapiter:XPTR:XPTR -chaplain:XPLN:XPLN -chaplets:XPLT:XPLT -chappies:XPS:XPS -chapping:XPNK:XPNK -chapters:XPTR:XPTR -charades:XRTS:XRTS -charcoal:XRKL:XRKL -chargees:XRJS:XRKS -chargers:XRKR:XRJR -charging:XRJN:XRKN -chariest:XRST:XRST -chariots:XRTS:XRTS -charisma:KRSM:KRSM -charlady:XRLT:XRLT -charlies:XRLS:XRLS -charlock:XRLK:XRLK -charmers:XRMR:XRMR -charming:XRMN:XRMN -charnels:XRNL:XRNL -charpoys:XRPS:XRPS -charring:XRNK:XRNK -charters:XRTR:XRTR -charting:XRTN:XRTN -chartism:XRTS:XRTS -chartist:XRTS:XRTS -chartula:XRTL:XRTL -chasseur:XSR:XSR -chastely:XSTL:XSTL -chastens:XSTN:XSTN -chastest:XSTS:XSTS -chastise:XSTS:XSTS -chastity:XSTT:XSTT -chasuble:XSPL:XSPL -chateaus:XTS:XTS -chateaux:XT:XT -chattels:XTLS:XTLS -chatters:XTRS:XTRS -chattier:XT:XTR -chattily:XTL:XTL -chatting:XTNK:XTNK -cheapens:XPNS:XPNS -cheapest:XPST:XPST -cheapish:XPX:XPX -cheaters:XTRS:XTRS -cheatery:XTR:XTR -cheating:XTNK:XTNK -checkers:XKRS:XKRS -checking:XKNK:XKNK -checkoff:XKF:XKF -checkout:XKT:XKT -checksum:XKSM:XKSM -checkups:XKPS:XKPS -cheekier:XKR:XKR -cheekily:XKL:XKL -cheepers:XPRS:XPRS -cheeping:XPNK:XPNK -cheerers:XRRS:XRRS -cheerful:XRFL:XRFL -cheerier:XR:XRR -cheerily:XRL:XRL -cheering:XRNK:XRNK -cheerios:XRS:XRS -cheesier:XS:XSR -cheetahs:XTS:XTS -cheilion:XLN:XLN -chelator:XLTR:XLTR -cheliped:XLPT:XLPT -chelonia:XLN:XLN -chemical:KMKL:KMKL -chemises:KMSS:KMSS -chemists:KMST:KMST -chemoses:KMSS:KMSS -chemosis:KMSS:KMSS -chemotic:KMTK:KMTK -chemurgy:KMRJ:KMRK -chenille:XNL:XNL -chequers:XKRS:XKRS -cherokee:XRK:XRK -cheroots:XRTS:XRTS -cherries:XRS:XRS -chertsey:XRTS:XRTS -cherubic:XRPK:XRPK -cherubim:XRPM:XRPM -chervils:XRFL:XRFL -cheshire:XXR:XXR -chessels:XSLS:XSLS -chessman:XSMN:XSMN -chessmen:XSMN:XSMN -chestier:XST:XSTR -chestnut:XSTN:XSTN -chevrons:XFRN:XFRN -chewable:XPL:XPL -chewiest:XST:XST -cheyenne:XN:XN -chiasmal:KSML:KSML -chiasmas:KSMS:KSMS -chiasmic:KSMK:KSMK -chicaned:XKNT:XKNT -chicaner:XKNR:XKNR -chicanes:XKNS:XKNS -chicanos:XKNS:XKNS -chickens:XKNS:XKNS -chickpea:XKP:XKP -chicness:XKNS:XKNS -chiffony:XFN:XFN -chiggers:XKRS:XKRS -chignons:XNNS:XKNN -chigwell:XKL:XKL -childbed:XLTP:XLTP -childish:XLTX:XLTX -children:XLTR:XLTR -chileans:XLNS:XLNS -chiliasm:XLSM:XLSM -chiliast:XLST:XLST -chilitis:XLTS:XLTS -chillers:XLRS:XLRS -chillier:XL:XLR -chillily:XLL:XLL -chilling:XLNK:XLNK -chilopod:XLPT:XLPT -chimaera:XMR:XMR -chimeras:XMRS:XMRS -chimeres:XMRS:XMRS -chimeric:XMRK:XMRK -chimneys:XMNS:XMNS -chinaman:XNMN:XNMN -chinamen:XNMN:XNMN -chinbone:XNPN:XNPN -chincona:XNKN:XNKN -chindits:XNTT:XNTT -chinking:XNKN:XNKN -chinless:XNLS:XNLS -chinners:XNRS:XNRS -chinning:XNNK:XNNK -chinooks:XNKS:XNKS -chipmunk:XPMN:XPMN -chippers:XPRS:XPRS -chippewa:XP:XP -chippies:XPS:XPS -chipping:XPNK:XPNK -chirming:XRMN:XRMN -chirpier:XRP:XRPR -chirpily:XRPL:XRPL -chirping:XRPN:XRPN -chirring:XRNK:XRNK -chirrups:XRPS:XRPS -chirrupy:XRP:XRP -chiseled:XSLT:XSLT -chiseler:XSLR:XSLR -chitchat:XXT:XXT -chitlins:XTLN:XTLN -chivalry:XFLR:XFLR -chivvied:XFT:XFT -chivvies:XFS:XFS -chivving:XFNK:XFNK -chloasma:KLSM:KLSM -chlorate:KLRT:KLRT -chlordan:KLRT:KLRT -chloride:KLRT:KLRT -chlorine:KLRN:KLRN -chlorite:KLRT:KLRT -chloroma:KLRM:KLRM -chlorous:KLRS:KLRS -choanate:XNT:XNT -chocking:XKNK:XKNK -choctaws:XKTS:XKTS -choicely:XSL:XSL -choicest:XSST:XSST -choirboy:XRP:XRP -choiring:XRNK:XRNK -cholemia:XLM:XLM -cholemic:XLMK:XLMK -choleric:XLRK:XLRK -choluria:XLR:XLR -chomping:XMPN:XMPN -chondral:XNTR:XNTR -chondrin:XNTR:XNTR -chondrus:XNTR:XNTR -choosers:XSRS:XSRS -choosier:XS:XSR -choosing:XSNK:XSNK -choppers:XPRS:XPRS -choppier:XP:XPR -choppily:XPL:XPL -chopping:XPNK:XPNK -chopsuey:XPS:XPS -chorales:KRLS:KRLS -chorally:KRL:KRL -chordate:KRTT:KRTT -chordees:KRTS:KRTS -chording:KRTN:KRTN -chordoma:KRTM:KRTM -choreoid:XRT:XRT -chorines:KRNS:KRNS -chorioid:KRT:KRT -chorioma:KRM:KRM -chortled:KRTL:KRTL -chortler:KRTL:KRTL -chortles:KRTL:KRTL -chorused:KRST:KRST -choruses:KRSS:KRSS -chousing:XSNK:XSNK -chowders:XTRS:XTRS -chresard:KRSR:KRSR -chrismal:KRSM:KRSM -christen:KRST:KRST -christie:KRST:KRST -christly:KRST:KRST -chromate:KRMT:KRMT -chroming:KRMN:KRMN -chromium:KRMM:KRMM -chronaxy:KRNK:KRNK -chronons:KRNN:KRNN -chrysler:KRLR:KRLR -chrysops:KRSP:KRSP -chthonic:K0NK:KTNK -chubbier:XP:XPR -chuckers:XKRS:XKRS -chucking:XKNK:XKNK -chuckled:XKLT:XKLT -chuckler:XKLR:XKLR -chuckles:XKLS:XKLS -chuffing:XFNK:XFNK -chugging:XKNK:XKNK -chukkers:XKRS:XKRS -chummier:XM:XMR -chummily:XML:XML -chumming:XMNK:XMNK -chunkier:XNKR:XNKR -chunkily:XNKL:XNKL -chupatty:XPT:XPT -churched:XRXT:XRKT -churches:XRXS:XRKS -churchgo:XRXK:XRKK -churchly:XRXL:XRKL -churinga:XRNK:XRNK -churlish:XRLX:XRLX -churners:XRNR:XRNR -churning:XRNN:XRNN -chutneys:XTNS:XTNS -chylemia:XLM:XLM -chyloses:XLSS:XLSS -chylosis:XLSS:XLSS -chyluria:XLR:XLR -chymosin:KMSN:KMSN -ciborium:SPRM:SPRM -cicadaes:SKTS:SKTS -cicatrix:SKTR:SKTR -cicerone:SSRN:SSRN -ciliated:SLTT:SLTT -ciliates:SLTS:SLTS -cillosis:SLSS:SLSS -cinching:SNXN:SNKN -cinchona:SNXN:SNKN -cincture:SNKT:SNKT -cindered:SNTR:SNTR -cineaste:SNST:SNST -cinerama:SNRM:SNRM -cinerary:SNRR:SNRR -cinereal:SNRL:SNRL -cinereum:SNRM:SNRM -cingulum:SNKL:SNKL -cinnabar:SNPR:SNPR -cinnamic:SNMK:SNMK -cinnamon:SNMN:SNMN -cinquain:SNKN:SNKN -ciphered:SFRT:SFRT -circlers:SRKL:SRKL -circlets:SRKL:SRKL -circling:SRKL:SRKL -circlips:SRKL:SRKL -circuite:SRKT:SRKT -circuits:SRKT:SRKT -circuity:SRKT:SRKT -circular:SRKL:SRKL -circulus:SRKL:SRKL -circuses:SRKS:SRKS -cirriped:SRPT:SRPT -cislunar:SLNR:SLNR -cisterna:SSTR:SSTR -cisterns:SSTR:SSTR -cistrons:SSTR:SSTR -citadels:STTL:STTL -citation:STXN:STXN -citatory:STTR:STTR -citeable:STPL:STPL -citharas:S0RS:STRS -citherns:S0RN:STRN -citicorp:STKR:STKR -citified:STFT:STFT -citifies:STFS:STFS -citizens:STSN:STSN -citrates:STRT:STRT -citreous:STRS:STRS -citrines:STRN:STRN -citrinin:STRN:STRN -citruses:STRS:STRS -citywide:STT:STT -civilers:SFLR:SFLR -civilest:SFLS:SFLS -civilian:SFLN:SFLN -civility:SFLT:SFLT -civilize:SFLS:SFLS -clackers:KLKR:KLKR -clacking:KLKN:KLKN -cladding:KLTN:KLTN -cladodes:KLTT:KLTT -claimant:KLMN:KLMN -claimers:KLMR:KLMR -claiming:KLMN:KLMN -clamants:KLMN:KLMN -clambake:KLMP:KLMP -clambers:KLMP:KLMP -clammier:KLM:KLMR -clammily:KLML:KLML -clamming:KLMN:KLMN -clamored:KLMR:KLMR -clamorer:KLMR:KLMR -clampers:KLMP:KLMP -clamping:KLMP:KLMP -clangers:KLNK:KLNJ -clanging:KLNJ:KLNK -clangors:KLNK:KLNK -clanking:KLNK:KLNK -clannish:KLNX:KLNX -clansman:KLNS:KLNS -clansmen:KLNS:KLNS -clappers:KLPR:KLPR -clapping:KLPN:KLPN -claptrap:KLPT:KLPT -clarence:KLRN:KLRN -clarinet:KLRN:KLRN -clashers:KLXR:KLXR -clashing:KLXN:KLXN -claspers:KLSP:KLSP -clasping:KLSP:KLSP -classers:KLSR:KLSR -classici:KLSS:KLSS -classics:KLSK:KLSK -classier:KLS:KLSR -classify:KLSF:KLSF -classily:KLSL:KLSL -classing:KLSN:KLSN -clatters:KLTR:KLTR -clattery:KLTR:KLTR -claudius:KLTS:KLTS -claustra:KLST:KLST -clavacin:KLFS:KLFS -clavated:KLFT:KLFT -clavicle:KLFK:KLFK -claviers:KLFR:KLFR -clawless:KLLS:KLLS -claylike:KLLK:KLLK -claymore:KLMR:KLMR -claypans:KLPN:KLPN -cleaners:KLNR:KLNR -cleanest:KLNS:KLNS -cleaning:KLNN:KLNN -cleansed:KLNS:KLNS -cleanser:KLNS:KLNS -cleanses:KLNS:KLNS -cleanups:KLNP:KLNP -clearers:KLRR:KLRR -clearest:KLRS:KLRS -clearing:KLRN:KLRN -clearway:KLR:KLR -cleating:KLTN:KLTN -cleavage:KLFJ:KLFK -cleavers:KLFR:KLFR -cleaving:KLFN:KLFN -cleidoic:KLTK:KLTK -clematis:KLMT:KLMT -clemency:KLMN:KLMN -clenched:KLNX:KLNK -clenches:KLNX:KLNK -clergies:KLRJ:KLRK -clerical:KLRK:KLRK -clerihew:KLRH:KLRH -clerkdom:KLRK:KLRK -clerking:KLRK:KLRK -clerkish:KLRK:KLRK -cleverer:KLFR:KLFR -cleverly:KLFR:KLFR -clevises:KLFS:KLFS -clickers:KLKR:KLKR -clicking:KLKN:KLKN -cliental:KLNT:KLNT -clifford:KLFR:KLFR -climatal:KLMT:KLMT -climates:KLMT:KLMT -climatic:KLMT:KLMT -climaxed:KLMK:KLMK -climaxes:KLMK:KLMK -climbers:KLMP:KLMP -climbing:KLMP:KLMP -clinally:KLNL:KLNL -clinched:KLNX:KLNK -clincher:KLNX:KLNK -clinches:KLNX:KLNK -clingers:KLNK:KLNJ -clingier:KLNJ:KLNK -clinging:KLNJ:KLNK -clinical:KLNK:KLNK -clinkers:KLNK:KLNK -clinking:KLNK:KLNK -clippers:KLPR:KLPR -clippies:KLPS:KLPS -clipping:KLPN:KLPN -cliquier:KLK:KLKR -cliquish:KLKX:KLKX -clitoral:KLTR:KLTR -clitoric:KLTR:KLTR -clitoris:KLTR:KLTR -cloaking:KLKN:KLKN -clobbers:KLPR:KLPR -clockers:KLKR:KLKR -clocking:KLKN:KLKN -cloddier:KLT:KLTR -cloddish:KLTX:KLTX -cloggier:KLJ:KLKR -clogging:KLJN:KLKN -cloister:KLST:KLST -clonally:KLNL:KLNL -clopping:KLPN:KLPN -closable:KLSP:KLSP -closeout:KLST:KLST -closeted:KLST:KLST -closeups:KLSP:KLSP -closings:KLSN:KLSN -closured:KLSR:KLSR -closures:KLSR:KLSR -clothier:KL0:KLTR -clothing:KL0N:KLTN -clotting:KLTN:KLTN -clottish:KLTX:KLTX -clotured:KLTR:KLTR -clotures:KLTR:KLTR -cloudier:KLT:KLTR -cloudily:KLTL:KLTL -clouding:KLTN:KLTN -cloudlet:KLTL:KLTL -clouters:KLTR:KLTR -clouting:KLTN:KLTN -clownery:KLNR:KLNR -clowning:KLNN:KLNN -clownish:KLNX:KLNX -clubable:KLPP:KLPP -clubbers:KLPR:KLPR -clubbier:KLP:KLPR -clubbily:KLPL:KLPL -clubbing:KLPN:KLPN -clubfeet:KLPF:KLPF -clubfoot:KLPF:KLPF -clubhand:KLPN:KLPN -clubhaul:KLPL:KLPL -clubland:KLPL:KLPL -clubroom:KLPR:KLPR -clucking:KLKN:KLKN -clueless:KLLS:KLLS -clumpier:KLMP:KLMP -clumping:KLMP:KLMP -clumpish:KLMP:KLMP -clumsier:KLMS:KLMS -clumsily:KLMS:KLMS -clunking:KLNK:KLNK -clupeine:KLPN:KLPN -clupeoid:KLPT:KLPT -clusters:KLST:KLST -clustery:KLST:KLST -clutched:KLXT:KLXT -clutches:KLXS:KLXS -clutters:KLTR:KLTR -clysmata:KLSM:KLSM -cnemides:KNMT:KNMT -coachers:KXRS:KKRS -coaching:KXNK:KKNK -coachman:KKMN:KKMN -coachmen:KKMN:KKMN -coaction:KKXN:KKXN -coactive:KKTF:KKTF -coagulin:KKLN:KKLN -coagulum:KKLM:KKLM -coalesce:KLS:KLS -coalface:KLFS:KLFS -coalfish:KLFX:KLFX -coamings:KMNK:KMNK -coarsely:KRSL:KRSL -coarsens:KRSN:KRSN -coarsest:KRSS:KRSS -coasters:KSTR:KSTR -coasting:KSTN:KSTN -coatings:KTNK:KTNK -coattail:KTL:KTL -coauthor:K0R:KTR -cobaltic:KPLT:KPLT -cobblers:KPLR:KPLR -cobbling:KPLN:KPLN -cobwebby:KPP:KPP -coccidia:KXT:KXT -coccygei:KKJ:KKK -coccyges:KKJS:KKKS -coccyxes:KKKS:KKKS -cochleae:KKL:KKL -cochlear:KKLR:KKLR -cochleas:KKLS:KKLS -cockaded:KKTT:KKTT -cockades:KKTS:KKTS -cockatoo:KKT:KKT -cockboat:KKPT:KKPT -cockcrow:KKKR:KKKR -cockerel:KKRL:KKRL -cockeyed:KKT:KKT -cockeyes:KKS:KKS -cockiest:KKST:KKST -cockling:KKLN:KKLN -cockloft:KKLF:KKLF -cockness:KKNS:KKNS -cockneys:KKNS:KKNS -cocknify:KKNF:KKNF -cockpits:KKPT:KKPT -cockshot:KKXT:KKXT -cocksure:KKSR:KKSR -cocktail:KKTL:KKTL -coconuts:KKNT:KKNT -cocooned:KKNT:KKNT -cocottes:KKTS:KKTS -coddlers:KTLR:KTLR -coddling:KTLN:KTLN -codebtor:KTPT:KTPT -codeless:KTLS:KTLS -codename:KTNM:KTNM -codeword:KTRT:KTRT -codicils:KTSL:KTSL -codified:KTFT:KTFT -codifier:KTF:KTFR -codifies:KTFS:KTFS -codlings:KTLN:KTLN -codomain:KTMN:KTMN -codpiece:KTPS:KTPS -coedited:KTTT:KTTT -coeditor:KTTR:KTTR -coelomes:KLMS:KLMS -coelomic:KLMK:KLMK -coemptio:KMPT:KMPT -coenurus:KNRS:KNRS -coenzyme:KNSM:KNSM -coequals:KKLS:KKLS -coercers:KRSR:KRSR -coercing:KRSN:KRSN -coercion:KRSN:KRXN -coercive:KRSF:KRSF -coevally:KFL:KFL -coexists:KKSS:KKSS -coextend:KKST:KKST -cofactor:KFKT:KFKT -coffered:KFRT:KFRT -coffined:KFNT:KFNT -cogences:KJNS:KKNS -cogently:KJNT:KKNT -cogitate:KJTT:KKTT -cognates:KNTS:KKNT -cognatic:KNTK:KKNT -cognatus:KNTS:KKNT -cognised:KNST:KKNS -cognises:KNSS:KKNS -cognomen:KNMN:KKNM -cognosce:KNS:KKNS -cognovit:KNFT:KKNF -cogwheel:KKL:KKL -cohabits:KHPT:KHPT -coherent:KHRN:KHRN -coherers:KHRR:KHRR -cohering:KHRN:KHRN -cohesion:KHSN:KHXN -cohesive:KHSF:KHSF -cohnheim:KNM:KNM -cohobate:KHPT:KHPT -coiffeur:KFR:KFR -coiffing:KFNK:KFNK -coiffure:KFR:KFR -coinable:KNPL:KNPL -coincide:KNST:KNST -coinsure:KNSR:KNSR -coituses:KTSS:KTSS -cokernut:KKRN:KKRN -colamine:KLMN:KLMN -colander:KLNT:KLNT -coldness:KLTN:KLTN -coleslaw:KLSL:KLSL -coleuses:KLSS:KLSS -colewort:KLRT:KLRT -colicine:KLSN:KLSN -coliform:KLFR:KLFR -coliseum:KLSM:KLSM -colistin:KLST:KLST -collagen:KLJN:KLKN -collages:KLJS:KLKS -collapse:KLPS:KLPS -collards:KLRT:KLRT -collared:KLRT:KLRT -collated:KLTT:KLTT -collates:KLTS:KLTS -collatio:KLT:KLT -collator:KLTR:KLTR -collects:KLKT:KLKT -colleens:KLNS:KLNS -colleger:KLJR:KLKR -colleges:KLJS:KLKS -collegia:KLJ:KLK -collided:KLTT:KLTT -collides:KLTS:KLTS -colliers:KLRS:KLRS -colliery:KLR:KLR -collogue:KLK:KLK -colloids:KLTS:KLTS -colloquy:KLK:KLK -colluded:KLTT:KLTT -colluder:KLTR:KLTR -colludes:KLTS:KLTS -colluvia:KLF:KLF -collyria:KLR:KLR -coloboma:KLPM:KLPM -cologned:KLNT:KLKN -colognes:KLNS:KLKN -colombia:KLMP:KLMP -colonels:KLNL:KLNL -colonial:KLNL:KLNL -colonies:KLNS:KLNS -colonist:KLNS:KLNS -colonize:KLNS:KLNS -colopexy:KLPK:KLPK -colophon:KLFN:KLFN -colorado:KLRT:KLRT -colorant:KLRN:KLRN -coloreds:KLRT:KLRT -colorers:KLRR:KLRR -colorful:KLRF:KLRF -coloring:KLRN:KLRN -colorist:KLRS:KLRS -colorize:KLRS:KLRS -colorman:KLRM:KLRM -colormen:KLRM:KLRM -colorway:KLR:KLR -colossal:KLSL:KLSL -colossus:KLSS:KLSS -colotomy:KLTM:KLTM -colpitis:KLPT:KLPT -colubrid:KLPR:KLPR -columbia:KLMP:KLMP -columbic:KLMP:KLMP -columbus:KLMP:KLMP -columnae:KLMN:KLMN -columnar:KLMN:KLMN -columned:KLMN:KLMN -comanche:KMNX:KMNK -comatose:KMTS:KMTS -comatous:KMTS:KMTS -combated:KMPT:KMPT -combater:KMPT:KMPT -combined:KMPN:KMPN -combiner:KMPN:KMPN -combines:KMPN:KMPN -combings:KMPN:KMPN -combusts:KMPS:KMPS -comeback:KMPK:KMPK -comedian:KMTN:KMTN -comedies:KMTS:KMTS -comedown:KMTN:KMTN -comelier:KML:KMLR -cometary:KMTR:KMTR -comfiest:KMFS:KMFS -comforts:KMFR:KMFR -comitate:KMTT:KMTT -comitial:KMXL:KMXL -comities:KMTS:KMTS -commando:KMNT:KMNT -commands:KMNT:KMNT -commence:KMNS:KMNS -commends:KMNT:KMNT -comments:KMNT:KMNT -commerce:KMRS:KMRS -commered:KMRT:KMRT -commeres:KMRS:KMRS -commissa:KMS:KMS -commodes:KMTS:KMTS -commoner:KMNR:KMNR -commonly:KMNL:KMNL -commonty:KMNT:KMNT -commotio:KMT:KMT -communal:KMNL:KMNL -communed:KMNT:KMNT -communes:KMNS:KMNS -communis:KMNS:KMNS -commuted:KMTT:KMTT -commuter:KMTR:KMTR -commutes:KMTS:KMTS -compacta:KMPK:KMPK -compacts:KMPK:KMPK -compadre:KMPT:KMPT -compages:KMPJ:KMPK -compared:KMPR:KMPR -comparer:KMPR:KMPR -compares:KMPR:KMPR -compeers:KMPR:KMPR -compered:KMPR:KMPR -comperes:KMPR:KMPR -competed:KMPT:KMPT -competes:KMPT:KMPT -compiled:KMPL:KMPL -compiler:KMPL:KMPL -compiles:KMPL:KMPL -complain:KMPL:KMPL -compleat:KMPL:KMPL -complect:KMPL:KMPL -complete:KMPL:KMPL -complied:KMPL:KMPL -complies:KMPL:KMPL -compline:KMPL:KMPL -comports:KMPR:KMPR -composed:KMPS:KMPS -composer:KMPS:KMPS -composes:KMPS:KMPS -composts:KMPS:KMPS -compotes:KMPT:KMPT -compound:KMPN:KMPN -compress:KMPR:KMPR -comprise:KMPR:KMPR -computed:KMPT:KMPT -computer:KMPT:KMPT -computes:KMPT:KMPT -computet:KMPT:KMPT -comrades:KMRT:KMRT -conamore:KNMR:KNMR -conarium:KNRM:KNRM -conation:KNXN:KNXN -conative:KNTF:KNTF -conceals:KNSL:KNSL -conceded:KNST:KNST -conceder:KNST:KNST -concedes:KNST:KNST -conceits:KNST:KNST -conceive:KNSF:KNSF -concepti:KNSP:KNSP -concepts:KNSP:KNSP -concerns:KNSR:KNSR -concerti:KNSR:KNSR -concerto:KNSR:KNSR -concerts:KNSR:KNSR -concessi:KNSS:KNSS -conchies:KNXS:KNKS -conchoid:KNXT:KNKT -concises:KNSS:KNSS -conclave:KNKL:KNKL -conclude:KNKL:KNKL -concocts:KNKK:KNKK -concorde:KNKR:KNKR -concords:KNKR:KNKR -concrete:KNKR:KNKR -concreto:KNKR:KNKR -concurso:KNKR:KNKR -condemns:KNTM:KNTM -condense:KNTN:KNTN -conditio:KNTT:KNTT -condoled:KNTL:KNTL -condoler:KNTL:KNTL -condoles:KNTL:KNTL -condoned:KNTN:KNTN -condoner:KNTN:KNTN -condones:KNTN:KNTN -conduced:KNTS:KNTS -conducer:KNTS:KNTS -conduces:KNTS:KNTS -conducts:KNTK:KNTK -conduits:KNTT:KNTT -condylar:KNTL:KNTL -condyles:KNTL:KNTL -confects:KNFK:KNFK -conferee:KNFR:KNFR -confesso:KNFS:KNFS -confetti:KNFT:KNFT -confided:KNFT:KNFT -confider:KNFT:KNFT -confides:KNFT:KNFT -confined:KNFN:KNFN -confiner:KNFN:KNFN -confines:KNFN:KNFN -confirms:KNFR:KNFR -conflate:KNFL:KNFL -conflict:KNFL:KNFL -confocal:KNFK:KNFK -conforms:KNFR:KNFR -confound:KNFN:KNFN -confrere:KNFR:KNFR -confront:KNFR:KNFR -confused:KNFS:KNFS -confuser:KNFS:KNFS -confuses:KNFS:KNFS -confusio:KNFS:KNFX -confuted:KNFT:KNFT -confuter:KNFT:KNFT -confutes:KNFT:KNFT -congeals:KNJL:KNKL -congener:KNJN:KNKN -congests:KNJS:KNKS -congrats:KNKR:KNKR -congress:KNKR:KNKR -conidial:KNTL:KNTL -conidian:KNTN:KNTN -conidium:KNTM:KNTM -conifers:KNFR:KNFR -coniform:KNFR:KNFR -conjoins:KNJN:KNJN -conjoint:KNJN:KNJN -conjugal:KNJK:KNJK -conjunct:KNJN:KNJN -conjured:KNJR:KNJR -conjurer:KNJR:KNJR -conjures:KNJR:KNJR -conjuror:KNJR:KNJR -connects:KNKT:KNKT -connived:KNFT:KNFT -conniver:KNFR:KNFR -connives:KNFS:KNFS -connoted:KNTT:KNTT -connotes:KNTS:KNTS -connubii:KNP:KNP -conoidal:KNTL:KNTL -conquers:KNKR:KNKR -conquest:KNKS:KNKS -consents:KNSN:KNSN -conserve:KNSR:KNSR -consider:KNST:KNST -consigns:KNSN:KNSK -consilii:KNSL:KNSL -consilio:KNSL:KNSL -consists:KNSS:KNSS -consoled:KNSL:KNSL -consoler:KNSL:KNSL -consoles:KNSL:KNSL -consomme:KNSM:KNSM -consorts:KNSR:KNSR -conspire:KNSP:KNSP -constant:KNST:KNST -construe:KNST:KNST -consular:KNSL:KNSL -consults:KNSL:KNSL -consumed:KNSM:KNSM -consumer:KNSM:KNSM -consumes:KNSM:KNSM -contacts:KNTK:KNTK -contagia:KNTJ:KNTK -contains:KNTN:KNTN -contango:KNTN:KNTN -contempt:KNTM:KNTM -contends:KNTN:KNTN -contents:KNTN:KNTN -contests:KNTS:KNTS -contexts:KNTK:KNTK -continua:KNTN:KNTN -continue:KNTN:KNTN -continuo:KNTN:KNTN -contorts:KNTR:KNTR -contours:KNTR:KNTR -contract:KNTR:KNTR -contrail:KNTR:KNTR -contrary:KNTR:KNTR -contrast:KNTR:KNTR -contrate:KNTR:KNTR -contrite:KNTR:KNTR -contrive:KNTR:KNTR -controls:KNTR:KNTR -contused:KNTS:KNTS -contuses:KNTS:KNTS -convects:KNFK:KNFK -convened:KNFN:KNFN -convener:KNFN:KNFN -convenes:KNFN:KNFN -convenor:KNFN:KNFN -convents:KNFN:KNFN -converge:KNFR:KNFR -converse:KNFR:KNFR -converso:KNFR:KNFR -converts:KNFR:KNFR -convexly:KNFK:KNFK -conveyed:KNFT:KNFT -conveyer:KNFR:KNFR -conveyor:KNFR:KNFR -convicts:KNFK:KNFK -convince:KNFN:KNFN -convoked:KNFK:KNFK -convoker:KNFK:KNFK -convokes:KNFK:KNFK -convolve:KNFL:KNFL -convoyed:KNFT:KNFT -convulse:KNFL:KNFL -cooeeing:KNK:KNK -cooingly:KNKL:KNKL -cookable:KKPL:KKPL -cookbook:KKPK:KKPK -cookouts:KKTS:KKTS -coolabah:KLP:KLP -coolamon:KLMN:KLMN -coolants:KLNT:KLNT -coolidge:KLJ:KLJ -coolness:KLNS:KLNS -coonskin:KNSK:KNSK -cooperia:KPR:KPR -cooperid:KPRT:KPRT -coopting:KPTN:KPTN -cooption:KPXN:KPXN -coossify:KSF:KSF -copepoda:KPPT:KPPT -copepods:KPPT:KPPT -copilots:KPLT:KPLT -coplanar:KPLN:KPLN -copperas:KPRS:KPRS -coppered:KPRT:KPRT -coppiced:KPST:KPST -coppices:KPSS:KPSS -coprosma:KPRS:KPRS -copulaes:KPLS:KPLS -copulate:KPLT:KPLT -copybook:KPPK:KPPK -copyboys:KPPS:KPPS -copycats:KPKT:KPKT -copyhold:KPHL:KPHL -copyists:KPST:KPST -copyline:KPLN:KPLN -coquetry:KKTR:KKTR -coquette:KKT:KKT -coquille:KKL:KKL -coracles:KRKL:KRKL -coracoid:KRKT:KRKT -corallin:KRLN:KRLN -corbeled:KRPL:KRPL -cordials:KRTL:KRTL -corditis:KRTT:KRTT -cordless:KRTL:KRTL -cordlike:KRTL:KRTL -cordobas:KRTP:KRTP -cordoned:KRTN:KRTN -cordovan:KRTF:KRTF -corduroy:KRTR:KRTR -cordwood:KRTT:KRTT -coreless:KRLS:KRLS -coriolis:KRLS:KRLS -corkiest:KRKS:KRKS -corklike:KRKL:KRKL -cornball:KRNP:KRNP -corncobs:KRNK:KRNK -corncrib:KRNK:KRNK -corneous:KRNS:KRNS -cornered:KRNR:KRNR -corniced:KRNS:KRNS -cornices:KRNS:KRNS -corniche:KRNX:KRNK -corniest:KRNS:KRNS -cornmeal:KRNM:KRNM -cornrows:KRNR:KRNR -cornuted:KRNT:KRNT -cornwall:KRNL:KRNL -corodies:KRTS:KRTS -corollas:KRLS:KRLS -coronach:KRNK:KRNK -coronaes:KRNS:KRNS -coronale:KRNL:KRNL -coronals:KRNL:KRNL -coronary:KRNR:KRNR -coronate:KRNT:KRNT -coroners:KRNR:KRNR -coronets:KRNT:KRNT -coronion:KRNN:KRNN -coronoid:KRNT:KRNT -corporal:KRPR:KRPR -corporis:KRPR:KRPR -corpsman:KRPS:KRPS -corpsmen:KRPS:KRPS -corraded:KRTT:KRTT -corrades:KRTS:KRTS -corrects:KRKT:KRKT -corridor:KRTR:KRTR -corrigan:KRKN:KRKN -corroded:KRTT:KRTT -corroder:KRTR:KRTR -corrodes:KRTS:KRTS -corrupts:KRPT:KRPT -corsages:KRSJ:KRSK -corsairs:KRSR:KRSR -corseted:KRST:KRST -corsetry:KRST:KRST -corsican:KRSK:KRSK -corteges:KRTJ:KRTK -cortexes:KRTK:KRTK -cortical:KRTK:KRTK -cortices:KRTS:KRTS -cortisol:KRTS:KRTS -corundum:KRNT:KRNT -corvette:KRFT:KRFT -coryphee:KRF:KRF -cosecant:KSKN:KSKN -cosigner:KSNR:KSKN -cosiness:KSNS:KSNS -cosmesis:KSMS:KSMS -cosmetic:KSMT:KSMT -cosmical:KSMK:KSMK -cosmoses:KSMS:KSMS -cossacks:KSKS:KSKS -costless:KSTL:KSTL -costlier:KSTL:KSTL -costumed:KSTM:KSTM -costumer:KSTM:KSTM -costumes:KSTM:KSTM -costumor:KSTM:KSTM -cosurety:KSRT:KSRT -cotenant:KTNN:KTNN -coteries:KTRS:KTRS -cotswold:KTSL:KTSL -cottager:KTKR:KTJR -cottages:KTJS:KTKS -cottered:KTRT:KTRT -cottoned:KTNT:KTNT -cotyloid:KTLT:KTLT -couchant:KXNT:KKNT -couchers:KXRS:KKRS -couching:KXNK:KKNK -coughing:KFNK:KFNK -couldn't:KLTN:KLTN -coulisse:KLS:KLS -couloirs:KLRS:KLRS -coulombs:KLMP:KLMP -coulsdon:KLST:KLST -coulters:KLTR:KLTR -coumaric:KMRK:KMRK -coumarin:KMRN:KMRN -councils:KNSL:KNSL -counsels:KNSL:KNSL -counters:KNTR:KNTR -countess:KNTS:KNTS -counties:KNTS:KNTS -counting:KNTN:KNTN -couplers:KPLR:KPLR -couplets:KPLT:KPLT -coupling:KPLN:KPLN -couriers:KRRS:KRRS -courlene:KRLN:KRLN -coursers:KRSR:KRSR -coursing:KRSN:KRSN -courters:KRTR:KRTR -courtesy:KRTS:KRTS -courtier:KRT:KRTR -courting:KRTN:KRTN -couscous:KSKS:KSKS -cousinly:KSNL:KSNL -covalent:KFLN:KFLN -covenant:KFNN:KFNN -coventry:KFNT:KFNT -coverage:KFRJ:KFRK -coverall:KFRL:KFRL -coverers:KFRR:KFRR -covering:KFRN:KFRN -coverlet:KFRL:KFRL -coversed:KFRS:KFRS -covertly:KFRT:KFRT -coverups:KFRP:KFRP -coveters:KFTR:KFTR -coveting:KFTN:KFTN -covetous:KFTS:KFTS -covinous:KFNS:KFNS -cowardly:KRTL:KRTL -cowbells:KPLS:KPLS -cowbirds:KPRT:KPRT -cowerers:KRRS:KRRS -cowering:KRNK:KRNK -cowgirls:KJRL:KKRL -cowhands:KNTS:KNTS -cowherds:KRTS:KRTS -cowhides:KTS:KTS -cowlicks:KLKS:KLKS -cowlings:KLNK:KLNK -coworker:KRKR:KRKR -cowpokes:KPKS:KPKS -cowpunch:KPNX:KPNK -cowslips:KSLP:KSLP -coxalgia:KKSL:KKSL -coxalgic:KKSL:KKSL -coxcombs:KKSM:KKSM -coxiella:KKSL:KKSL -coxswain:KKSS:KKSS -cozenage:KSNJ:KSNK -cozeners:KSNR:KSNR -cozening:KSNN:KSNN -coziness:KSNS:KSNS -crabbers:KRPR:KRPR -crabbier:KRP:KRPR -crabbily:KRPL:KRPL -crabbing:KRPN:KRPN -crackers:KRKR:KRKR -cracking:KRKN:KRKN -crackled:KRKL:KRKL -crackles:KRKL:KRKL -cracknel:KRKN:KRKN -crackpot:KRKP:KRKP -crackups:KRKP:KRKP -cradlers:KRTL:KRTL -cradling:KRTL:KRTL -craftier:KRFT:KRFT -craftily:KRFT:KRFT -crafting:KRFT:KRFT -craggier:KRJ:KRKR -craggily:KRJL:KRKL -cragsman:KRKS:KRKS -cragsmen:KRKS:KRKS -crammers:KRMR:KRMR -cramming:KRMN:KRMN -crampers:KRMP:KRMP -cramping:KRMP:KRMP -crampons:KRMP:KRMP -craniata:KRNT:KRNT -craniate:KRNT:KRNT -craniums:KRNM:KRNM -crankier:KRNK:KRNK -crankily:KRNK:KRNK -cranking:KRNK:KRNK -crankled:KRNK:KRNK -crankpin:KRNK:KRNK -crannied:KRNT:KRNT -crannies:KRNS:KRNS -crappier:KRP:KRPR -crappies:KRPS:KRPS -crashers:KRXR:KRXR -crashing:KRXN:KRXN -crassest:KRSS:KRSS -cratches:KRXS:KRXS -crateful:KRTF:KRTF -cratonic:KRTN:KRTN -cravenly:KRFN:KRFN -cravings:KRFN:KRFN -crawfish:KRFX:KRFX -crawlers:KRLR:KRLR -crawlier:KRLR:KRLR -crawlies:KRLS:KRLS -crawling:KRLN:KRLN -crayfish:KRFX:KRFX -crayford:KRFR:KRFR -crayoned:KRNT:KRNT -craziest:KRSS:KRSS -creakier:KRKR:KRKR -creakily:KRKL:KRKL -creaking:KRKN:KRKN -creamers:KRMR:KRMR -creamery:KRMR:KRMR -creamier:KRM:KRMR -creamily:KRML:KRML -creaming:KRMN:KRMN -creasers:KRSR:KRSR -creasing:KRSN:KRSN -creatine:KRTN:KRTN -creating:KRTN:KRTN -creation:KRXN:KRXN -creative:KRTF:KRTF -creators:KRTR:KRTR -creature:KRTR:KRTR -credence:KRTN:KRTN -credenda:KRTN:KRTN -credenza:KRTN:KRTN -credible:KRTP:KRTP -credibly:KRTP:KRTP -credited:KRTT:KRTT -creditor:KRTT:KRTT -creepers:KRPR:KRPR -creepier:KRP:KRPR -creepily:KRPL:KRPL -creeping:KRPN:KRPN -cremains:KRMN:KRMN -cremasts:KRMS:KRMS -cremated:KRMT:KRMT -cremates:KRMT:KRMT -cremator:KRMT:KRMT -crenated:KRNT:KRNT -creneled:KRNL:KRNL -crenelle:KRNL:KRNL -creosote:KRST:KRST -crepitus:KRPT:KRPT -crescent:KRSN:KRSN -cressets:KRST:KRST -cresting:KRST:KRST -cresylic:KRSL:KRSL -cretonne:KRTN:KRTN -crevasse:KRFS:KRFS -crevices:KRFS:KRFS -crewcuts:KRKT:KRKT -crewless:KRLS:KRLS -cribbage:KRPJ:KRPK -cribbers:KRPR:KRPR -cribbing:KRPN:KRPN -cribrate:KRPR:KRPR -cribrosa:KRPR:KRPR -cribrous:KRPR:KRPR -cricetid:KRST:KRST -cricetus:KRST:KRST -crickets:KRKT:KRKT -cricking:KRKN:KRKN -criminal:KRMN:KRMN -criminis:KRMN:KRMN -crimpers:KRMP:KRMP -crimping:KRMP:KRMP -crimsons:KRMS:KRMS -cringers:KRNK:KRNJ -cringing:KRNJ:KRNK -cringles:KRNK:KRNK -crinkled:KRNK:KRNK -crinkles:KRNK:KRNK -crippled:KRPL:KRPL -crippler:KRPL:KRPL -cripples:KRPL:KRPL -crispate:KRSP:KRSP -crispers:KRSP:KRSP -crispest:KRSP:KRSP -crispier:KRSP:KRSP -criteria:KRTR:KRTR -critical:KRTK:KRTK -critique:KRTK:KRTK -critters:KRTR:KRTR -croakers:KRKR:KRKR -croakier:KRKR:KRKR -croakily:KRKL:KRKL -croaking:KRKN:KRKN -croatian:KRXN:KRXN -crochets:KRXT:KRKT -crockery:KRKR:KRKR -crockets:KRKT:KRKT -crocuses:KRKS:KRKS -crofters:KRFT:KRFT -crofting:KRFT:KRFT -cromlech:KRML:KRML -cromwell:KRML:KRML -crookery:KRKR:KRKR -crooking:KRKN:KRKN -crooners:KRNR:KRNR -crooning:KRNN:KRNN -cropland:KRPL:KRPL -croppers:KRPR:KRPR -cropping:KRPN:KRPN -croquets:KRKT:KRKT -crosiers:KRSR:KRSR -crossbar:KRSP:KRSP -crossbow:KRSP:KRSP -crosscut:KRSK:KRSK -crossers:KRSR:KRSR -crossest:KRSS:KRSS -crossing:KRSN:KRSN -crosslet:KRSL:KRSL -crossway:KRS:KRS -crosswis:KRSS:KRSS -crotalid:KRTL:KRTL -crotalin:KRTL:KRTL -crotalus:KRTL:KRTL -crotched:KRXT:KRXT -crotches:KRXS:KRXS -crotchet:KRXT:KRXT -crotonic:KRTN:KRTN -crotonyl:KRTN:KRTN -crouched:KRXT:KRKT -croucher:KRXR:KRKR -crouches:KRXS:KRKS -croupier:KRP:KRPR -croupous:KRPS:KRPS -croutons:KRTN:KRTN -crowbars:KRPR:KRPR -crowders:KRTR:KRTR -crowding:KRTN:KRTN -crowfoot:KRFT:KRFT -crowners:KRNR:KRNR -crowning:KRNN:KRNN -croziers:KRSR:KRSR -cruciate:KRST:KRXT -crucible:KRSP:KRSP -crucifer:KRSF:KRSF -crucifix:KRSF:KRSF -cruelest:KRLS:KRLS -crueller:KRLR:KRLR -cruisers:KRSR:KRSR -cruisery:KRSR:KRSR -cruising:KRSN:KRSN -crullers:KRLR:KRLR -crumbier:KRMP:KRMP -crumbing:KRMP:KRMP -crumbled:KRMP:KRMP -crumbles:KRMP:KRMP -crummier:KRM:KRMR -crumpets:KRMP:KRMP -crumping:KRMP:KRMP -crumpled:KRMP:KRMP -crumples:KRMP:KRMP -crunched:KRNX:KRNK -cruncher:KRNX:KRNK -crunches:KRNX:KRNK -cruppers:KRPR:KRPR -crusaded:KRST:KRST -crusader:KRST:KRST -crusades:KRST:KRST -crushers:KRXR:KRXR -crushing:KRXN:KRXN -crustier:KRST:KRST -crustily:KRST:KRST -crusting:KRST:KRST -crutched:KRXT:KRXT -crutches:KRXS:KRXS -cruzeiro:KRSR:KRSR -cryogeny:KRJN:KRKN -cryolite:KRLT:KRLT -cryonics:KRNK:KRNK -cryostat:KRST:KRST -cryotron:KRTR:KRTR -crystals:KRST:KRST -cubature:KPTR:KPTR -cubicles:KPKL:KPKL -cubiform:KPFR:KPFR -cubistic:KPST:KPST -cuboidal:KPTL:KPTL -cuboided:KPTT:KPTT -cuckolds:KKLT:KKLT -cuckooed:KKT:KKT -cucumber:KKMR:KKMR -cuddlier:KTL:KTLR -cuddling:KTLN:KTLN -cudgeled:KJLT:KJLT -cudgeler:KJLR:KJLR -cudgerie:KJR:KJR -cuisines:KSNS:KSNS -culicide:KLST:KLST -culinary:KLNR:KLNR -cullices:KLSS:KLSS -cullises:KLSS:KLSS -culottes:KLTS:KLTS -culpable:KLPP:KLPP -culpably:KLPP:KLPP -culprits:KLPR:KLPR -cultches:KLXS:KLXS -cultists:KLTS:KLTS -cultivar:KLTF:KLTF -cultrate:KLTR:KLTR -cultural:KLTR:KLTR -cultured:KLTR:KLTR -cultures:KLTR:KLTR -culverin:KLFR:KLFR -culverts:KLFR:KLFR -cumbered:KMRT:KMRT -cumbrian:KMPR:KMPR -cumbrous:KMPR:KMPR -cumulate:KMLT:KMLT -cumulets:KMLT:KMLT -cumulous:KMLS:KMLS -cuneated:KNTT:KNTT -cuniculi:KNKL:KNKL -cunjevoi:KNJF:KNJF -cupboard:KPRT:KPRT -cupcakes:KPKK:KPKK -cupelers:KPLR:KPLR -cupeling:KPLN:KPLN -cupidity:KPTT:KPTT -cupreine:KPRN:KPRN -cupreous:KPRS:KPRS -cupulate:KPLT:KPLT -curacies:KRSS:KRXS -curarine:KRRN:KRRN -curarize:KRRS:KRRS -curative:KRTF:KRTF -curators:KRTR:KRTR -curatrix:KRTR:KRTR -curbside:KRPS:KRPS -curdling:KRTL:KRTL -cureless:KRLS:KRLS -curetted:KRTT:KRTT -curettes:KRTS:KRTS -curfewed:KRFT:KRFT -curialis:KRLS:KRLS -curlicue:KRLK:KRLK -curliest:KRLS:KRLS -currants:KRNT:KRNT -currency:KRNS:KRNS -currents:KRNT:KRNT -curricle:KRKL:KRKL -currying:KRNK:KRNK -cursedly:KRST:KRST -curtails:KRTL:KRTL -curtains:KRTN:KRTN -curtness:KRTN:KRTN -curtseys:KRTS:KRTS -curtsied:KRTS:KRTS -curtsies:KRTS:KRTS -curvedly:KRFT:KRFT -curviest:KRFS:KRFS -cushiest:KXST:KXST -cushions:KXNS:KXNS -cushiony:KXN:KXN -cuspated:KSPT:KSPT -cuspidal:KSPT:KSPT -cuspidor:KSPT:KSPT -cussedly:KSTL:KSTL -cussness:KSNS:KSNS -custards:KSTR:KSTR -custodee:KSTT:KSTT -custodes:KSTT:KSTT -custodia:KSTT:KSTT -customer:KSTM:KSTM -cutaways:KTS:KTS -cutbacks:KTPK:KTPK -cuteness:KTNS:KTNS -cuticles:KTKL:KTKL -cuticula:KTKL:KTKL -cutinise:KTNS:KTNS -cutpurse:KTPR:KTPR -cuttings:KTNK:KTNK -cutwater:KTTR:KTTR -cutworms:KTRM:KTRM -cyanamid:SNMT:SNMT -cyanidin:SNTN:SNTN -cyanogen:SNJN:SNKN -cyanosed:SNST:SNST -cyanoses:SNSS:SNSS -cyanosis:SNSS:SNSS -cyanotic:SNTK:SNTK -cyanuric:SNRK:SNRK -cyasters:SSTR:SSTR -cyclamen:SKLM:SKLM -cyclamin:SKLM:SKLM -cyclical:SKLK:SKLK -cyclicly:SKLK:SKLK -cyclists:SKLS:SKLS -cyclitis:SKLT:SKLT -cyclitol:SKLT:SKLT -cycloids:SKLT:SKLT -cyclonal:SKLN:SKLN -cyclones:SKLN:SKLN -cyclonic:SKLN:SKLN -cyclopes:SKLP:SKLP -cyclopia:SKLP:SKLP -cycloses:SKLS:SKLS -cyclosis:SKLS:SKLS -cylinder:SLNT:SLNT -cymarose:SMRS:SMRS -cymatium:SMTM:SMTM -cymbaler:SMPL:SMPL -cymbalos:SMPL:SMPL -cymosely:SMSL:SMSL -cynicism:SNSS:SNSS -cynosure:SNSR:SNSR -cyprians:SPRN:SPRN -cypriote:SPRT:SPRT -cypriots:SPRT:SPRT -cyrillic:SRLK:SRLK -cyrtoses:SRTS:SRTS -cyrtosis:SRTS:SRTS -cysteine:SSTN:SSTN -cystitis:SSTT:SSTT -cystomas:SSTM:SSTM -cytaster:STST:STST -cytidine:STTN:STTN -cytogeny:STJN:STKN -cytology:STLJ:STLK -cytophil:STFL:STFL -cytopyge:STPJ:STPK -cytosine:STSN:STSN -cytosome:STSM:STSM -cytotech:STTK:STTK -czarevna:SRFN:XRFN -czarinas:SRNS:XRNS -czarists:SRST:XRST -czaritsa:SRTS:XRTS -dabblers:TPLR:TPLR -dabbling:TPLN:TPLN -dabchick:TPXK:TPKK -dacryoma:TKRM:TKRM -dacryops:TKRP:TKRP -dactylic:TKTL:TKTL -dactylus:TKTL:TKTL -dadaists:TTST:TTST -daddaism:TTSM:TTSM -daddaist:TTST:TTST -daemonic:TMNK:TMNK -daffiest:TFST:TFST -daffodil:TFTL:TFTL -daftness:TFTN:TFTN -daglocks:TKLK:TKLK -daihatsu:THTS:THTS -daimlers:TMLR:TMLR -daintier:TNT:TNTR -dainties:TNTS:TNTS -daintily:TNTL:TNTL -daiquiri:TKR:TKR -dairying:TRNK:TRNK -dairyman:TRMN:TRMN -dairymen:TRMN:TRMN -dakotans:TKTN:TKTN -dalators:TLTR:TLTR -dalesman:TLSM:TLSM -dalesmen:TLSM:TLSM -dalliers:TLRS:TLRS -dallying:TLNK:TLNK -dalmatia:TLMX:TLMX -dalmatic:TLMT:TLMT -daltonic:TLTN:TLTN -damagers:TMKR:TMJR -damaging:TMJN:TMKN -damascus:TMSK:TMSK -damasked:TMSK:TMSK -damnable:TMNP:TMNP -damnably:TMNP:TMNP -damocles:TMKL:TMKL -dampened:TMPN:TMPN -dampener:TMPN:TMPN -dampness:TMPN:TMPN -dandiest:TNTS:TNTS -dandling:TNTL:TNTL -dandruff:TNTR:TNTR -dandyish:TNTX:TNTX -dandyism:TNTS:TNTS -danegeld:TNJL:TNKL -danglers:TNKL:TNKL -dangling:TNKL:TNLN -dankness:TNKN:TNKN -danseurs:TNSR:TNSR -danseuse:TNSS:TNSS -dapperly:TPRL:TPRL -dappling:TPLN:TPLN -daringly:TRNK:TRNK -darioles:TRLS:TRLS -darkened:TRKN:TRKN -darkener:TRKN:TRKN -darkhair:TRKR:TRKR -darkling:TRKL:TRKL -darkness:TRKN:TRKN -darkroom:TRKR:TRKR -darksome:TRKS:TRKS -darlings:TRLN:TRLN -dartrous:TRTR:TRTR -dasheens:TXNS:TXNS -dashikis:TXKS:TXKS -dashpots:TXPT:TXPT -dastards:TSTR:TSTR -database:TTPS:TTPS -dataflow:TTFL:TTFL -dataries:TTRS:TTRS -dateable:TTPL:TTPL -dateless:TTLS:TTLS -dateline:TTLN:TTLN -datively:TTFL:TTFL -daughter:TTR:TTR -daunters:TNTR:TNTR -daunting:TNTN:TNTN -dauphine:TFN:TFN -dauphins:TFNS:TFNS -dawdlers:TTLR:TTLR -dawdling:TTLN:TTLN -dawnlike:TNLK:TNLK -daybooks:TPKS:TPKS -daybreak:TPRK:TPRK -daydream:TTRM:TTRM -dayflies:TFLS:TFLS -daylight:TLT:TLT -dazzlers:TSLR:TSLR -dazzling:TSLN:TSLN -deaconry:TKNR:TKNR -deadbeat:TTPT:TTPT -deadboys:TTPS:TTPS -deadened:TTNT:TTNT -deadener:TTNR:TTNR -deadfall:TTFL:TTFL -deadhead:TTT:TTT -deadlier:TTL:TTLR -deadline:TTLN:TTLN -deadlock:TTLK:TTLK -deadness:TTNS:TTNS -deadwood:TTT:TTT -deafened:TFNT:TFNT -deafness:TFNS:TFNS -dealated:TLTT:TLTT -dealates:TLTS:TLTS -dealfish:TLFX:TLFX -dealings:TLNK:TLNK -deanship:TNXP:TNXP -dearborn:TRPR:TRPR -dearness:TRNS:TRNS -deathbed:T0PT:TTPT -debacles:TPKL:TPKL -debarked:TPRK:TPRK -debarred:TPRT:TPRT -debasers:TPSR:TPSR -debasing:TPSN:TPSN -debaters:TPTR:TPTR -debating:TPTN:TPTN -debility:TPLT:TPLT -debitant:TPTN:TPTN -debiting:TPTN:TPTN -debonair:TPNR:TPNR -debrided:TPRT:TPRT -debrides:TPRT:TPRT -debriefs:TPRF:TPRF -debugged:TPKT:TPKT -debugger:TPKR:TPKR -debunked:TPNK:TPNK -debunker:TPNK:TPNK -debuting:TPTN:TPTN -decadent:TKTN:TKTN -decagons:TKKN:TKKN -decagram:TKKR:TKKR -decamped:TKMP:TKMP -decanted:TKNT:TKNT -decanter:TKNT:TKNT -decarchy:TKRX:TKRK -decaying:TKNK:TKNK -deceased:TSST:TSST -deceases:TSSS:TSSS -decedent:TSTN:TSTN -deceived:TSFT:TSFT -deceiver:TSFR:TSFR -deceives:TSFS:TSFS -december:TSMP:TSMP -decemvir:TSMF:TSMF -decennia:TSN:TSN -decently:TSNT:TSNT -decerned:TSRN:TSRN -decessit:TSST:TSST -deciares:TSRS:TXRS -decibels:TSPL:TSPL -deciders:TSTR:TSTR -deciding:TSTN:TSTN -deciduae:TST:TST -decidual:TSTL:TSTL -decigram:TSKR:TSKR -decimals:TSML:TSML -decimate:TSMT:TSMT -decipara:TSPR:TSPR -decipher:TSFR:TSFR -decision:TSSN:TSXN -decisive:TSSF:TSSF -deckings:TKNK:TKNK -declaims:TKLM:TKLM -declared:TKLR:TKLR -declarer:TKLR:TKLR -declares:TKLR:TKLR -declasse:TKLS:TKLS -declined:TKLN:TKLN -decliner:TKLN:TKLN -declines:TKLN:TKLN -declutch:TKLX:TKLX -decocted:TKKT:TKKT -decoctum:TKKT:TKKT -decoders:TKTR:TKTR -decoding:TKTN:TKTN -decoking:TKKN:TKKN -decolors:TKLR:TKLR -decorate:TKRT:TKRT -decorous:TKRS:TKRS -decouple:TKPL:TKPL -decoyers:TKRS:TKRS -decoying:TKNK:TKNK -decrease:TKRS:TKRS -decreers:TKRR:TKRR -decreets:TKRT:TKRT -decreing:TKRN:TKRN -decrepid:TKRP:TKRP -decrepit:TKRP:TKRP -decretal:TKRT:TKRT -decretum:TKRT:TKRT -decrials:TKRL:TKRL -decriers:TKRR:TKRR -decrying:TKRN:TKRN -decrypts:TKRP:TKRP -decubiti:TKPT:TKPT -decuries:TKRS:TKRS -decurion:TKRN:TKRN -dedicate:TTKT:TTKT -dedition:TTXN:TTXN -deducing:TTSN:TTSN -deducted:TTKT:TTKT -deemster:TMST:TMST -deepened:TPNT:TPNT -deepener:TPNR:TPNR -deepness:TPNS:TPNS -deerskin:TRSK:TRSK -defacers:TFSR:TFSR -defacing:TFSN:TFSN -defamers:TFMR:TFMR -defaming:TFMN:TFMN -defatted:TFTT:TFTT -defaults:TFLT:TFLT -defeated:TFTT:TFTT -defeater:TFTR:TFTR -defecate:TFKT:TFKT -defected:TFKT:TFKT -defecter:TFKT:TFKT -defector:TFKT:TFKT -defectum:TFKT:TFKT -defences:TFNS:TFNS -defended:TFNT:TFNT -defender:TFNT:TFNT -defenses:TFNS:TFNS -defensor:TFNS:TFNS -deferens:TFRN:TFRN -deferent:TFRN:TFRN -deferral:TFRL:TFRL -deferred:TFRT:TFRT -deferrer:TFRR:TFRR -defiance:TFNS:TFNS -deficits:TFST:TFST -defilers:TFLR:TFLR -defiling:TFLN:TFLN -definers:TFNR:TFNR -defining:TFNN:TFNN -definite:TFNT:TFNT -deflated:TFLT:TFLT -deflates:TFLT:TFLT -deflator:TFLT:TFLT -deflects:TFLK:TFLK -deflexed:TFLK:TFLK -deflower:TFLR:TFLR -defluent:TFLN:TFLN -defogged:TFKT:TFKT -defogger:TFKR:TFKR -deforced:TFRS:TFRS -deforces:TFRS:TFRS -deforest:TFRS:TFRS -deformed:TFRM:TFRM -deformer:TFRM:TFRM -defrauds:TFRT:TFRT -defrayal:TFRL:TFRL -defrayed:TFRT:TFRT -defrayer:TFRR:TFRR -defrocks:TFRK:TFRK -defrosts:TFRS:TFRS -deftness:TFTN:TFTN -defuncti:TFNK:TFNK -defusing:TFSN:TFSN -defuzing:TFSN:TFSN -degassed:TKST:TKST -degasser:TKSR:TKSR -degasses:TKSS:TKSS -degraded:TKRT:TKRT -degrader:TKRT:TKRT -degrades:TKRT:TKRT -degrease:TKRS:TKRS -dehisced:THST:THST -dehisces:THSS:THSS -dehorned:THRN:THRN -dehorner:THRN:THRN -deicidal:TSTL:TSTL -deicides:TSTS:TSTS -deifiers:TFRS:TFRS -deifying:TFNK:TFNK -deigning:TNNK:TKNN -deionize:TNS:TNS -dejected:TJKT:TJKT -dejeuner:TJNR:TJNR -dekagram:TKKR:TKKR -dekarchy:TKRX:TKRK -delating:TLTN:TLTN -delation:TLXN:TLXN -delaware:TLR:TLR -delayers:TLRS:TLRS -delaying:TLNK:TLNK -delectus:TLKT:TLKT -delegacy:TLKS:TLKS -delegant:TLKN:TLKN -delegate:TLKT:TLKT -delegati:TLKT:TLKT -deleting:TLTN:TLTN -deletion:TLXN:TLXN -delicacy:TLKS:TLKS -delicate:TLKT:TLKT -delictum:TLKT:TLKT -delights:TLTS:TLTS -delimits:TLMT:TLMT -delirium:TLRM:TLRM -delivers:TLFR:TLFR -delivery:TLFR:TLFR -deloused:TLST:TLST -delouses:TLSS:TLSS -delphian:TLFN:TLFN -deltoids:TLTT:TLTT -deluders:TLTR:TLTR -deluding:TLTN:TLTN -deluging:TLJN:TLKN -delusion:TLSN:TLXN -delusive:TLSF:TLSF -delusory:TLSR:TLSR -demagogy:TMKJ:TMKK -demanded:TMNT:TMNT -demander:TMNT:TMNT -demarche:TMRX:TMRK -demeaned:TMNT:TMNT -demeanor:TMNR:TMNR -demented:TMNT:TMNT -dementia:TMNX:TMNX -demerara:TMRR:TMRR -demerged:TMRJ:TMRK -demerger:TMRK:TMRJ -demerges:TMRJ:TMRK -demerits:TMRT:TMRT -demersal:TMRS:TMRS -demesnes:TMSN:TMSN -demigods:TMKT:TMKT -demijohn:TMJN:TMHN -demilune:TMLN:TMLN -demisang:TMSN:TMSN -demising:TMSN:TMSN -demisted:TMST:TMST -demister:TMST:TMST -demitted:TMTT:TMTT -demiurge:TMRJ:TMRK -demivolt:TMFL:TMFL -demobbed:TMPT:TMPT -democrat:TMKR:TMKR -demolish:TMLX:TMLX -demoniac:TMNK:TMNK -demonism:TMNS:TMNS -demonist:TMNS:TMNS -demonize:TMNS:TMNS -demoting:TMTN:TMTN -demotion:TMXN:TMXN -demotist:TMTS:TMTS -demounts:TMNT:TMNT -dempster:TMPS:TMPS -demurant:TMRN:TMRN -demurely:TMRL:TMRL -demurest:TMRS:TMRS -demurral:TMRL:TMRL -demurred:TMRT:TMRT -demurrer:TMRR:TMRR -denarius:TNRS:TNRS -denature:TNTR:TNTR -denazify:TNSF:TNSF -dendrime:TNTR:TNTR -dendrite:TNTR:TNTR -dendroid:TNTR:TNTR -dendrons:TNTR:TNTR -deniable:TNPL:TNPL -deniably:TNPL:TNPL -denizens:TNSN:TNSN -denoting:TNTN:TNTN -denotive:TNTF:TNTF -denounce:TNNS:TNNS -dentally:TNTL:TNTL -dentated:TNTT:TNTT -denticle:TNTK:TNTK -dentinal:TNTN:TNTN -dentists:TNTS:TNTS -dentures:TNTR:TNTR -denudate:TNTT:TNTT -denuders:TNTR:TNTR -denuding:TNTN:TNTN -departed:TPRT:TPRT -depended:TPNT:TPNT -depicted:TPKT:TPKT -depicter:TPKT:TPKT -depictor:TPKT:TPKT -depilate:TPLT:TPLT -deplaned:TPLN:TPLN -deplanes:TPLN:TPLN -depleted:TPLT:TPLT -depletes:TPLT:TPLT -deplored:TPLR:TPLR -deplorer:TPLR:TPLR -deplores:TPLR:TPLR -deployed:TPLT:TPLT -deplumed:TPLM:TPLM -deplumes:TPLM:TPLM -deponent:TPNN:TPNN -deponing:TPNN:TPNN -deported:TPRT:TPRT -deportee:TPRT:TPRT -deposals:TPSL:TPSL -deposers:TPSR:TPSR -deposing:TPSN:TPSN -deposita:TPST:TPST -deposits:TPST:TPST -depraved:TPRF:TPRF -depraver:TPRF:TPRF -depraves:TPRF:TPRF -deprival:TPRF:TPRF -deprived:TPRF:TPRF -depriver:TPRF:TPRF -deprives:TPRF:TPRF -depsides:TPST:TPST -depurant:TPRN:TPRN -depurate:TPRT:TPRT -depurged:TPRJ:TPRK -depurges:TPRJ:TPRK -deputies:TPTS:TPTS -deputing:TPTN:TPTN -deputize:TPTS:TPTS -dequeued:TKT:TKT -dequeues:TKS:TKS -deraigns:TRNS:TRKN -derailed:TRLT:TRLT -deranged:TRNJ:TRNK -deranges:TRNJ:TRNK -derating:TRTN:TRTN -deration:TRXN:TRXN -derelict:TRLK:TRLK -deriders:TRTR:TRTR -deriding:TRTN:TRTN -derision:TRSN:TRXN -derisive:TRSF:TRSF -derisory:TRSR:TRSR -derivers:TRFR:TRFR -deriving:TRFN:TRFN -dermatic:TRMT:TRMT -derniers:TRNR:TRNR -derogate:TRKT:TRKT -derricks:TRKS:TRKS -derriere:TRR:TRR -derrises:TRSS:TRSS -desalted:TSLT:TSLT -desalter:TSLT:TSLT -descants:TSKN:TSKN -descemet:TSMT:TSMT -descends:TSNT:TSNT -descents:TSNT:TSNT -deschool:TSKL:TSKL -describe:TSKP:TSKP -descried:TSKT:TSKT -descrier:TSK:TSKR -descries:TSKS:TSKS -deselect:TSLK:TSLK -deserted:TSRT:TSRT -deserter:TSRT:TSRT -deserved:TSRF:TSRF -deserver:TSRF:TSRF -deserves:TSRF:TSRF -designed:TSNT:TSKN -designer:TSNR:TSKN -desinent:TSNN:TSNN -desirers:TSRR:TSRR -desiring:TSRN:TSRN -desirous:TSRS:TSRS -desisted:TSST:TSST -deskills:TSKL:TSKL -desmoids:TSMT:TSMT -desolate:TSLT:TSLT -desorbed:TSRP:TSRP -despairs:TSPR:TSPR -despatch:TSPX:TSPX -despised:TSPS:TSPS -despiser:TSPS:TSPS -despises:TSPS:TSPS -despoils:TSPL:TSPL -desponds:TSPN:TSPN -despotic:TSPT:TSPT -desserts:TSRT:TSRT -destined:TSTN:TSTN -destines:TSTN:TSTN -destrier:TSTR:TSTR -destroys:TSTR:TSTR -destruct:TSTR:TSTR -destrudo:TSTR:TSTR -detached:TTXT:TTKT -detacher:TTXR:TTKR -detaches:TTXS:TTKS -detailed:TTLT:TTLT -detailer:TTLR:TTLR -detained:TTNT:TTNT -detainee:TTN:TTN -detainer:TTNR:TTNR -detected:TTKT:TTKT -detector:TTKT:TTKT -detentes:TTNT:TTNT -deterged:TTRJ:TTRK -deterges:TTRJ:TTRK -deterred:TTRT:TTRT -detested:TTST:TTST -detester:TTST:TTST -dethrone:T0RN:TTRN -detinuit:TTNT:TTNT -detonate:TTNT:TTNT -detoxify:TTKS:TTKS -detracts:TTRK:TTRK -detrains:TTRN:TTRN -detrital:TTRT:TTRT -detritus:TTRT:TTRT -detruded:TTRT:TTRT -detrudes:TTRT:TTRT -detrusor:TTRS:TTRS -deucedly:TSTL:TSTL -deuteron:TTRN:TTRN -deutsche:TTX:TTX -devalued:TFLT:TFLT -devalues:TFLS:TFLS -develing:TFLN:TFLN -develops:TFLP:TFLP -deviance:TFNS:TFNS -deviancy:TFNS:TFNS -deviants:TFNT:TFNT -deviated:TFTT:TFTT -deviates:TFTS:TFTS -deviator:TFTR:TFTR -deviling:TFLN:TFLN -devilish:TFLX:TFLX -devilled:TFLT:TFLT -deviltry:TFLT:TFLT -devisees:TFSS:TFSS -devisers:TFSR:TFSR -devising:TFSN:TFSN -devisors:TFSR:TFSR -devoiced:TFST:TFST -devoices:TFSS:TFSS -devolved:TFLF:TFLF -devolves:TFLF:TFLF -devonian:TFNN:TFNN -devorers:TFRR:TFRR -devoring:TFRN:TFRN -devotees:TFTS:TFTS -devoting:TFTN:TFTN -devotion:TFXN:TFXN -devoutly:TFTL:TFTL -dewberry:TPR:TPR -dewclaws:TKLS:TKLS -dewdrops:TTRP:TTRP -dewiness:TNS:TNS -dextrase:TKST:TKST -dextrine:TKST:TKST -dextrose:TKST:TKST -dextrous:TKST:TKST -diabases:TPSS:TPSS -diabasic:TPSK:TPSK -diabetes:TPTS:TPTS -diabetic:TPTK:TPTK -diabolic:TPLK:TPLK -diabolos:TPLS:TPLS -diacidic:TSTK:TSTK -diacoele:TKL:TKL -diaconal:TKNL:TKNL -diademed:TTMT:TTMT -diagnose:TNS:TKNS -diagonal:TKNL:TKNL -diagrams:TKRM:TKRM -diagraph:TKRF:TKRF -dialects:TLKT:TLKT -diallers:TLRS:TLRS -dialling:TLNK:TLNK -diallist:TLST:TLST -dialogic:TLJK:TLKK -dialogue:TLK:TLK -dialysis:TLSS:TLSS -dialytic:TLTK:TLTK -dialyzed:TLST:TLST -dialyzer:TLSR:TLSR -dialyzes:TLSS:TLSS -diamante:TMNT:TMNT -diamines:TMNS:TMNS -diamonds:TMNT:TMNT -dianthus:TN0S:TNTS -diapason:TPSN:TPSN -diapause:TPS:TPS -diapered:TPRT:TPRT -diaphone:TFN:TFN -diaphony:TFN:TFN -diarchal:TRXL:TRKL -diarchic:TRXK:TRKK -diarists:TRST:TRST -diarrhea:TR:TR -diascope:TSKP:TSKP -diascopy:TSKP:TSKP -diaspora:TSPR:TSPR -diastase:TSTS:TSTS -diastema:TSTM:TSTM -diasters:TSTR:TSTR -diastole:TSTL:TSTL -diastral:TSTR:TSTR -diastyle:TSTL:TSTL -diataxia:TTKS:TTKS -diatomic:TTMK:TTMK -diatonic:TTNK:TTNK -diatribe:TTRP:TTRP -diaxonic:TKSN:TKSN -diazepam:TSPM:TSPM -dibblers:TPLR:TPLR -dibbling:TPLN:TPLN -dichotic:TXTK:TKTK -dichroic:TXRK:TKRK -dickered:TKRT:TKRT -dicrotal:TKRT:TKRT -dicrotic:TKRT:TKRT -dictamen:TKTM:TKTM -dictated:TKTT:TKTT -dictates:TKTT:TKTT -dictator:TKTT:TKTT -dictions:TKXN:TKXN -didactic:TTKT:TTKT -didactyl:TTKT:TTKT -diddicoy:TTK:TTK -diddikoi:TTK:TTK -diddlers:TTLR:TTLR -diddling:TTLN:TTLN -didicoys:TTKS:TTKS -didymium:TTMM:TTMM -didymous:TTMS:TTMS -didynium:TTNM:TTNM -diecious:TSS:TXS -diehards:THRT:THRT -dieldrin:TLTR:TLTR -diereses:TRSS:TRSS -dieresis:TRSS:TRSS -dieretic:TRTK:TRTK -diestock:TSTK:TSTK -diestrum:TSTR:TSTR -diestrus:TSTR:TSTR -dietetic:TTTK:TTTK -differed:TFRT:TFRT -differen:TFRN:TFRN -differer:TFRR:TFRR -diffract:TFRK:TFRK -diffused:TFST:TFST -diffuser:TFSR:TFSR -diffuses:TFSS:TFSS -diffusor:TFSR:TFSR -digamies:TKMS:TKMS -digamist:TKMS:TKMS -digamous:TKMS:TKMS -digested:TJST:TKST -digester:TJST:TKST -diggings:TKNK:TKNK -digitage:TJTJ:TKTK -digitate:TJTT:TKTT -digitize:TJTS:TKTS -digitron:TJTR:TKTR -digraphs:TKRF:TKRF -dihedral:THTR:THTR -dihedron:THTR:THTR -dihybrid:THPR:THPR -dihydric:THTR:THTR -dilantin:TLNT:TLNT -dilatant:TLTN:TLTN -dilaters:TLTR:TLTR -dilating:TLTN:TLTN -dilation:TLXN:TLXN -dilative:TLTF:TLTF -dilators:TLTR:TLTR -dilatory:TLTR:TLTR -dilemmas:TLMS:TLMS -dilemmic:TLMK:TLMK -diligent:TLJN:TLKN -diluents:TLNT:TLNT -dilutees:TLTS:TLTS -diluters:TLTR:TLTR -diluting:TLTN:TLTN -dilution:TLXN:TLXN -diluvial:TLFL:TLFL -diluvian:TLFN:TLFN -diluvium:TLFM:TLFM -dimeness:TMNS:TMNS -dimerise:TMRS:TMRS -dimethyl:TM0L:TMTL -dimetria:TMTR:TMTR -diminish:TMNX:TMNX -dimities:TMTS:TMTS -dimorphs:TMRF:TMRF -dimpling:TMPL:TMPL -dinettes:TNTS:TNTS -dingbats:TNKP:TNKP -dingdong:TNKT:TNKT -dinghies:TNKS:TNKS -dingiest:TNJS:TNKS -dinguses:TNKS:TNKS -dinkiest:TNKS:TNKS -dinornis:TNRN:TNRN -dinosaur:TNSR:TNSR -diocesan:TSSN:TSSN -dioceses:TSSS:TSSS -diogenes:TJNS:TKNS -dionysus:TNSS:TNSS -diopters:TPTR:TPTR -dioptral:TPTR:TPTR -dioptric:TPTR:TPTR -dioramas:TRMS:TRMS -dioramic:TRMK:TRMK -diorites:TRTS:TRTS -dioritic:TRTK:TRTK -diovular:TFLR:TFLR -dioxides:TKST:TKST -diphenan:TFNN:TFNN -diphthon:TF0N:TFTN -diplegia:TPLJ:TPLK -diploidy:TPLT:TPLT -diplomas:TPLM:TPLM -diplomat:TPLM:TPLM -diplonts:TPLN:TPLN -diplopia:TPLP:TPLP -diplopic:TPLP:TPLP -diploses:TPLS:TPLS -diplosis:TPLS:TPLS -dippiest:TPST:TPST -dippings:TPNK:TPNK -dipstick:TPST:TPST -dipteral:TPTR:TPTR -dipteryx:TPTR:TPTR -diptychs:TPTK:TPTK -directed:TRKT:TRKT -directly:TRKT:TRKT -director:TRKT:TRKT -direness:TRNS:TRNS -dirgeful:TRJF:TRKF -dirhinic:TRNK:TRNK -diriment:TRMN:TRMN -dirtiest:TRTS:TRTS -dirtying:TRTN:TRTN -disabled:TSPL:TSPL -disabler:TSPL:TSPL -disables:TSPL:TSPL -disabuse:TSPS:TSPS -disagree:TSKR:TSKR -disallow:TSL:TSLF -disannex:TSNK:TSNK -disannul:TSNL:TSNL -disarmed:TSRM:TSRM -disarmer:TSRM:TSRM -disarray:TSR:TSR -disaster:TSST:TSST -disavows:TSFS:TSFS -disbands:TSPN:TSPN -disbowel:TSPL:TSPL -disburse:TSPR:TSPR -discards:TSKR:TSKR -discerns:TSRN:TSRN -disciple:TSPL:TSPL -disclaim:TSKM:TSKM -disclose:TSKS:TSKS -discoids:TSKT:TSKT -discolor:TSKL:TSKL -discords:TSKR:TSKR -discount:TSKN:TSKN -discover:TSKF:TSKF -discreet:TSKT:TSKT -discrete:TSKT:TSKT -discuses:TSKS:TSKS -disdains:TSTN:TSTN -diseased:TSST:TSST -diseases:TSSS:TSSS -disendow:TSNT:TSNT -disfavor:TSFF:TSFF -disgenic:TSJN:TSKN -disgorge:TSKR:TSKR -disgrace:TSKR:TSKR -disguise:TSKS:TSKS -disgusts:TSKS:TSKS -dishevel:TXFL:TXFL -dishfuls:TXFL:TXFL -dishiest:TXST:TXST -dishonor:TXNR:TXNR -dishrags:TXRK:TXRK -dishumor:TXMR:TXMR -disinter:TSNT:TSNT -disjects:TSKT:TSKT -disjoins:TSNS:TSNS -disjoint:TSNT:TSNT -disjunct:TSNK:TSNK -diskette:TSKT:TSKT -disliked:TLKT:TLKT -dislikes:TLKS:TLKS -dislodge:TLJ:TLJ -disloyal:TLL:TLL -dismally:TSML:TSML -dismasts:TSMS:TSMS -dismayed:TSMT:TSMT -dismount:TSMN:TSMN -disobeys:TSPS:TSPS -disorder:TSRT:TSRT -disowned:TSNT:TSNT -disowner:TSNR:TSNR -dispatch:TSPX:TSPX -dispense:TSPN:TSPN -dispermy:TSPR:TSPR -disperse:TSPR:TSPR -dispirem:TSPR:TSPR -dispirit:TSPR:TSPR -displace:TSPL:TSPL -displays:TSPL:TSPL -disponed:TSPN:TSPN -disponee:TSPN:TSPN -disponer:TSPN:TSPN -disponet:TSPN:TSPN -disports:TSPR:TSPR -disposal:TSPS:TSPS -disposed:TSPS:TSPS -disposer:TSPS:TSPS -disposes:TSPS:TSPS -disproof:TSPR:TSPR -disprove:TSPR:TSPR -disputed:TSPT:TSPT -disputer:TSPT:TSPT -disputes:TSPT:TSPT -disquiet:TSKT:TSKT -disraeli:TSRL:TSRL -disrated:TSRT:TSRT -disrates:TSRT:TSRT -disrobed:TSRP:TSRP -disrober:TSRP:TSRP -disrobes:TSRP:TSRP -disrupts:TSRP:TSRP -dissects:TSKT:TSKT -disseise:TSS:TSS -disseize:TSS:TSS -dissents:TSNT:TSNT -dissever:TSFR:TSFR -dissolve:TSLF:TSLF -dissuade:TST:TST -distaffs:TSTF:TSTF -distally:TSTL:TSTL -distance:TSTN:TSTN -distaste:TSTS:TSTS -distends:TSTN:TSTN -distichs:TSTK:TSTK -distills:TSTL:TSTL -distinct:TSTN:TSTN -distomum:TSTM:TSTM -distorts:TSTR:TSTR -distract:TSTR:TSTR -distrain:TSTR:TSTR -distrait:TSTR:TSTR -distress:TSTR:TSTR -district:TSTR:TSTR -distrust:TSTR:TSTR -disturbs:TSTR:TSTR -disunion:TSNN:TSNN -disunite:TSNT:TSNT -disunity:TSNT:TSNT -ditchers:TXRS:TXRS -ditching:TXNK:TXNK -ditheism:T0SM:TTSM -ditheist:T0ST:TTST -dithered:T0RT:TTRT -ditherer:T0RR:TTRR -dittoing:TTNK:TTNK -diureses:TRSS:TRSS -diuresis:TRSS:TRSS -diuretic:TRTK:TRTK -divagate:TFKT:TFKT -divalent:TFLN:TFLN -diverged:TFRJ:TFRK -diverges:TFRJ:TFRK -diverted:TFRT:TFRT -diverter:TFRT:TFRT -divested:TFST:TFST -dividend:TFTN:TFTN -dividers:TFTR:TFTR -dividing:TFTN:TFTN -dividivi:TFTF:TFTF -divinely:TFNL:TFNL -diviners:TFNR:TFNR -divinest:TFNS:TFNS -divining:TFNN:TFNN -divinise:TFNS:TFNS -divinity:TFNT:TFNT -division:TFSN:TFXN -divisive:TFSF:TFSF -divisors:TFSR:TFSR -divorced:TFRS:TFRS -divorcee:TFRS:TFRS -divorcer:TFRS:TFRS -divorces:TFRS:TFRS -divulged:TFLJ:TFLK -divulger:TFLK:TFLJ -divulges:TFLJ:TFLK -divulsed:TFLS:TFLS -divulsor:TFLS:TFLS -divvying:TFNK:TFNK -dizziest:TSST:TTSS -dizzying:TSNK:TSNK -djakarta:TJKR:TJKR -djibouti:TJPT:TJPT -doberman:TPRM:TPRM -docilely:TSLL:TSLL -docility:TSLT:TSLT -docimasy:TSMS:TSMS -docketed:TKTT:TKTT -dockland:TKLN:TKLN -dockside:TKST:TKST -dockyard:TKRT:TKRT -doctoral:TKTR:TKTR -doctored:TKTR:TKTR -doctrine:TKTR:TKTR -document:TKMN:TKMN -doddered:TTRT:TTRT -dodderer:TTRR:TTRR -dodgiest:TJST:TJST -doeskins:TSKN:TSKN -d'oeuvre:TFR:TFR -dogbanes:TKPN:TKPN -dogcarts:TKKR:TKKR -dogeared:TJRT:TKRT -dogfaces:TKFS:TKFS -dogfight:TKFT:TKFT -doggedly:TKTL:TKTL -doggerel:TKRL:TKRL -doggoned:TKNT:TKNT -doghouse:TS:TS -dogmatic:TKMT:TKMT -dogooder:TKTR:TKTR -dogsbody:TKSP:TKSP -dogteeth:TKT0:TKTT -dogtooth:TKT0:TKTT -dogtrots:TKTR:TKTR -dogvanes:TKFN:TKFN -dogwatch:TKX:TKX -dogwoods:TKTS:TKTS -doldrums:TLTR:TLTR -dolerite:TLRT:TLRT -dolloped:TLPT:TLPT -dolomite:TLMT:TLMT -dolorous:TLRS:TLRS -dolphins:TLFN:TLFN -domelike:TMLK:TMLK -domesday:TMST:TMST -domestic:TMST:TMST -domicile:TMSL:TMSL -dominans:TMNN:TMNN -dominant:TMNN:TMNN -dominate:TMNT:TMNT -domineer:TMNR:TMNR -dominica:TMNK:TMNK -dominici:TMNS:TMNS -dominies:TMNS:TMNS -dominion:TMNN:TMNN -dominium:TMNM:TMNM -dominoes:TMNS:TMNS -donatees:TNTS:TNTS -donating:TNTN:TNTN -donation:TNXN:TNXN -donative:TNTF:TNTF -donators:TNTR:TNTR -doneness:TNNS:TNNS -doodlers:TTLR:TTLR -doodling:TTLN:TTLN -doolally:TLL:TLL -doomsday:TMST:TMST -doomster:TMST:TMST -doorbell:TRPL:TRPL -doorjamb:TRJM:TRJM -doorknob:TRKN:TRKN -doormats:TRMT:TRMT -doornail:TRNL:TRNL -doorpost:TRPS:TRPS -doorsill:TRSL:TRSL -doorstep:TRST:TRST -doorstop:TRST:TRST -doorways:TRS:TRS -dooryard:TRRT:TRRT -dopamine:TPMN:TPMN -dopiness:TPNS:TPNS -dormancy:TRMN:TRMN -dormouse:TRMS:TRMS -dorsales:TRSL:TRSL -dorsalis:TRSL:TRSL -dorsally:TRSL:TRSL -dossiers:TSRS:TSRS -dotation:TTXN:TTXN -dotingly:TTNK:TTNK -dotterel:TTRL:TTRL -dottiest:TTST:TTST -doublers:TPLR:TPLR -doublets:TPLT:TPLT -doubling:TPLN:TPLN -doubloon:TPLN:TPLN -doublure:TPLR:TPLR -doubters:TPTR:TPTR -doubtful:TPTF:TPTF -doubting:TPTN:TPTN -douching:TXNK:TKNK -doughboy:TP:TP -doughier:T:TR -doughnut:TNT:TNT -dourness:TRNS:TRNS -dovecote:TFKT:TFKT -dovekeys:TFKS:TFKS -dovelike:TFLK:TFLK -dovetail:TFTL:TFTL -dowagers:TKRS:TJRS -dowdiest:TTST:TTST -dowdyish:TTX:TTX -doweling:TLNK:TLNK -dowering:TRNK:TRNK -dowments:TMNT:TMNT -downbeat:TNPT:TNPT -downcast:TNKS:TNKS -downcome:TNKM:TNKM -downfall:TNFL:TNFL -downhaul:TNL:TNL -downhill:TNL:TNL -downhole:TNL:TNL -downiest:TNST:TNST -downland:TNLN:TNLN -download:TNLT:TNLT -downpipe:TNPP:TNPP -downplay:TNPL:TNPL -downpour:TNPR:TNPR -downside:TNST:TNST -downsize:TNSS:TNST -downtime:TNTM:TNTM -downtown:TNTN:TNTN -downturn:TNTR:TNTR -downward:TNRT:TNRT -downwash:TNX:TNX -downwind:TNNT:TNNT -doxology:TKSL:TKSL -doyennes:TNS:TNS -doziness:TSNS:TSNS -drabbest:TRPS:TRPS -drabbing:TRPN:TRPN -drabbled:TRPL:TRPL -drabness:TRPN:TRPN -drachmae:TRKM:TRKM -drachmai:TRKM:TRKM -drachmas:TRKM:TRKM -dracones:TRKN:TRKN -draconic:TRKN:TRKN -draftees:TRFT:TRFT -drafters:TRFT:TRFT -draftier:TRFT:TRFT -draftily:TRFT:TRFT -drafting:TRFT:TRFT -draggers:TRKR:TRKR -draggier:TRJ:TRKR -dragging:TRJN:TRKN -draggled:TRKL:TRKL -dragline:TRKL:TRLN -dragnets:TRNT:TRKN -dragoman:TRKM:TRKM -dragomen:TRKM:TRKM -dragoons:TRKN:TRKN -dragrope:TRKR:TRKR -dragster:TRKS:TRKS -drailing:TRLN:TRLN -drainage:TRNJ:TRNK -drainers:TRNR:TRNR -draining:TRNN:TRNN -dramatic:TRMT:TRMT -dramatis:TRMT:TRMT -drapable:TRPP:TRPP -draughts:TRFT:TRFT -draughty:TRFT:TRFT -dravidic:TRFT:TRFT -drawable:TRPL:TRPL -drawback:TRPK:TRPK -drawbars:TRPR:TRPR -drawings:TRNK:TRNK -drawlers:TRLR:TRLR -drawling:TRLN:TRLN -drawtube:TRTP:TRTP -dreadful:TRTF:TRTF -dreading:TRTN:TRTN -dreamers:TRMR:TRMR -dreamful:TRMF:TRMF -dreamier:TRM:TRMR -dreamily:TRML:TRML -dreaming:TRMN:TRMN -drearier:TRR:TRRR -drearily:TRRL:TRRL -dredgers:TRJR:TRJR -dredging:TRJN:TRJN -dreggier:TRK:TRKR -drenched:TRNX:TRNK -drencher:TRNX:TRNK -drenches:TRNX:TRNK -dressage:TRSJ:TRSK -dressers:TRSR:TRSR -dressier:TRS:TRSR -dressily:TRSL:TRSL -dressing:TRSN:TRSN -dribbled:TRPL:TRPL -dribbler:TRPL:TRPL -dribbles:TRPL:TRPL -driblets:TRPL:TRPL -driftage:TRFT:TRFT -drifters:TRFT:TRFT -drifting:TRFT:TRFT -driftway:TRFT:TRFT -drillers:TRLR:TRLR -drilling:TRLN:TRLN -drinkers:TRNK:TRNK -drinking:TRNK:TRNK -dripless:TRPL:TRPL -drippers:TRPR:TRPR -drippier:TRP:TRPR -dripping:TRPN:TRPN -drivable:TRFP:TRFP -driveled:TRFL:TRFL -driveler:TRFL:TRFL -driveway:TRF:TRF -drizzled:TRSL:TRSL -drizzles:TRSL:TRSL -drollery:TRLR:TRLR -dromonds:TRMN:TRMN -droolers:TRLR:TRLR -drooling:TRLN:TRLN -droopier:TRP:TRPR -droopily:TRPL:TRPL -drooping:TRPN:TRPN -drophead:TRFT:TRFT -dropkick:TRPK:TRPK -droplets:TRPL:TRPL -dropouts:TRPT:TRPT -droppers:TRPR:TRPR -dropping:TRPN:TRPN -dropsied:TRPS:TRPS -dropsies:TRPS:TRPS -droughts:TRFT:TRFT -droughty:TRFT:TRFT -drowners:TRNR:TRNR -drowning:TRNN:TRNN -drowsers:TRSR:TRSR -drowsier:TRSR:TRSR -drowsily:TRSL:TRSL -drowsing:TRSN:TRSN -drubbers:TRPR:TRPR -drubbing:TRPN:TRPN -drudgery:TRJR:TRJR -drudging:TRJN:TRJN -drugging:TRKN:TRKN -druggist:TRKS:TRKS -druidess:TRTS:TRTS -druidism:TRTS:TRTS -drumbeat:TRMP:TRMP -drumfire:TRMF:TRMF -drumhead:TRMT:TRMT -drumlins:TRML:TRML -drummers:TRMR:TRMR -drumming:TRMN:TRMN -drunkard:TRNK:TRNK -drunkest:TRNK:TRNK -drupelet:TRPL:TRPL -drywalls:TRLS:TRLS -dualists:TLST:TLST -dubliner:TPLN:TPLN -duboisia:TPS:TPX -duchenne:TXN:TKN -duckbill:TKPL:TKPL -duckfoot:TKFT:TKFT -duckiest:TKST:TKST -duckling:TKLN:TKLN -duckpins:TKPN:TKPN -ducktail:TKTL:TKTL -duckweed:TKT:TKT -ductless:TKTL:TKTL -ductules:TKTL:TKTL -dudishly:TTXL:TTXL -duelings:TLNK:TLNK -duelists:TLST:TLST -duettist:TTST:TTST -dukedoms:TKTM:TKTM -dulcetly:TLST:TLST -dulciana:TLSN:TLXN -dulcimer:TLSM:TLSM -dulcitol:TLST:TLST -dullards:TLRT:TLRT -dullness:TLNS:TLNS -dumbbell:TMPL:TMPL -dumbness:TMPN:TMPN -dumfound:TMFN:TMFN -dummying:TMNK:TMNK -dumpiest:TMPS:TMPS -dumpling:TMPL:TMPL -dungaree:TNKR:TNKR -dungeons:TNJN:TNKN -dunghill:TNKL:TNKL -duodenal:TTNL:TTNL -duodenum:TTNM:TTNM -duologue:TLK:TLK -duotones:TTNS:TTNS -duperies:TPRS:TPRS -duplexes:TPLK:TPLK -duration:TRXN:TRXN -durative:TRTF:TRTF -duskiest:TSKS:TSKS -dustbins:TSTP:TSTP -dustcart:TSTK:TSTK -dustiest:TSTS:TSTS -dustless:TSTL:TSTL -dustpans:TSTP:TSTP -dutchess:TXS:TXS -dutchman:TXMN:TXMN -dutchmen:TXMN:TXMN -dutiable:TXPL:TXPL -dvandvas:TFNT:TFNT -dwarfing:TRFN:TRFN -dwarfish:TRFX:TRFX -dwarfism:TRFS:TRFS -dwellers:TLRS:TLRS -dwelling:TLNK:TLNK -dwindled:TNTL:TNTL -dwindles:TNTL:TNTL -dybbukim:TPKM:TPKM -dyelines:TLNS:TLNS -dyestuff:TSTF:TSTF -dyewoods:TTS:TTS -dynamics:TNMK:TNMK -dynamism:TNMS:TNMS -dynamist:TNMS:TNMS -dynamite:TNMT:TNMT -dynastic:TNST:TNST -dynatron:TNTR:TNTR -dysaphia:TSF:TSF -dysbasia:TSPS:TSPX -dysbulia:TSPL:TSPL -dyscoria:TSKR:TSKR -dysergia:TSRJ:TSRK -dysgenic:TSJN:TSKN -dysgonic:TSKN:TSKN -dyslalia:TLL:TLL -dyslexia:TLKS:TLKS -dyslexic:TLKS:TLKS -dyslogia:TLJ:TLK -dysosmia:TSSM:TSSM -dyspneic:TSPN:TSPN -dyspnoea:TSPN:TSPN -dystaxia:TSTK:TSTK -dystocia:TSTS:TSTX -dystokia:TSTK:TSTK -dystonia:TSTN:TSTN -dystonic:TSTN:TSTN -dystopia:TSTP:TSTP -earaches:ARXS:ARKS -eardrops:ARTR:ARTR -eardrums:ARTR:ARTR -earflaps:ARFL:ARFL -earldoms:ARLT:ARLT -earliest:ARLS:ARLS -earlobes:ARLP:ARLP -earmarks:ARMR:ARMR -earmuffs:ARMF:ARMF -earnable:ARNP:ARNP -earnings:ARNN:ARNN -earphone:ARFN:ARFN -earpiece:ARPS:ARPS -earplugs:ARPL:ARPL -earrings:ARNK:ARNK -earthier:AR0:ARTR -earthily:AR0L:ARTL -earthman:AR0M:ARTM -earthmen:AR0M:ARTM -earthnut:AR0N:ARTN -easement:ASMN:ASMN -easiness:ASNS:ASNS -easterly:ASTR:ASTR -eastward:ASTR:ASTR -eatables:ATPL:ATPL -eateries:ATRS:ATRS -ebonized:APNS:APNS -ebonizes:APNS:APNS -ebullism:APLS:APLS -ecaudate:AKTT:AKTT -ecclesia:AKLS:AKLX -eccyeses:AKSS:AKSS -eccyesis:AKSS:AKSS -ecdysial:AKTS:AKTX -ecdysone:AKTS:AKTS -ecgonine:AKNN:AKNN -echelons:AXLN:AKLN -echidnae:AXTN:AKTN -echidnas:AXTN:AKTN -echinate:AXNT:AKNT -echinite:AXNT:AKNT -echinoid:AXNT:AKNT -echoless:AXLS:AKLS -eclectic:AKLK:AKLK -eclipsed:AKLP:AKLP -eclipser:AKLP:AKLP -eclipses:AKLP:AKLP -eclipsis:AKLP:AKLP -ecliptic:AKLP:AKLP -eclogite:AKLJ:AKLK -eclogues:AKLK:AKLK -eclosion:AKLS:AKLX -ecologic:AKLJ:AKLK -ecomiast:AKMS:AKMS -economic:AKNM:AKNM -ecorches:AKRK:AKRK -ecotonal:AKTN:AKTN -ecotones:AKTN:AKTN -ecotypes:AKTP:AKTP -ecotypic:AKTP:AKTP -ecphoria:AKFR:AKFR -ecraseur:AKRS:AKRS -ecstatic:AKST:AKST -ectocyst:AKTS:AKTS -ectoderm:AKTT:AKTT -ectoloph:AKTL:AKTL -ectomere:AKTM:AKTM -ectosarc:AKTS:AKTS -ectozoon:AKTS:AKTS -ecumenic:AKMN:AKMN -edacious:ATSS:ATXS -edentate:ATNT:ATNT -edgeless:AJLS:AJLS -edgeways:AJS:AJS -edgewise:AJS:AJS -edginess:AJNS:AJNS -edifices:ATFS:ATFS -edifiers:ATFR:ATFR -edifying:ATFN:ATFN -editions:ATXN:ATXN -edmonton:ATMN:ATMN -educable:ATKP:ATKP -educated:ATKT:ATKT -educates:ATKT:ATKT -educator:ATKT:ATKT -educible:ATSP:ATSP -eduction:ATKX:ATKX -eductive:ATKT:ATKT -eelgrass:ALKR:ALKR -eelpouts:ALPT:ALPT -eelworms:ALRM:ALRM -eelyness:ALNS:ALNS -eeriness:ARNS:ARNS -effacers:AFSR:AFSR -effacing:AFSN:AFSN -effected:AFKT:AFKT -effecter:AFKT:AFKT -effector:AFKT:AFKT -effendis:AFNT:AFNT -efferent:AFRN:AFRN -effetely:AFTL:AFTL -efficacy:AFKS:AFKS -effigial:AFJL:AFKL -effigies:AFJS:AFKS -effluent:AFLN:AFLN -effluvia:AFLF:AFLF -effusing:AFSN:AFSN -effusion:AFSN:AFXN -effusive:AFSF:AFSF -eggheads:AKTS:AKTS -eggplant:AKPL:AKPL -eggshell:AKXL:AKXL -egoistic:AKST:AKST -egomania:AKMN:AKMN -egophony:AKFN:AKFN -egotists:AKTS:AKTS -egresses:AKRS:AKRS -egyptian:AJPX:AKPX -eidolons:ATLN:ATLN -eighteen:ATN:ATN -eighthes:A0S:ATS -eighthly:A0L:ATL -eighties:ATS:ATS -eightvos:ATFS:ATFS -einstein:ANST:ANST -ejaculum:AJKL:AHKL -ejecting:AJKT:AJKT -ejection:AJKX:AJKX -ejective:AJKT:AJKT -ejectors:AJKT:AJKT -ekistics:AKST:AKST -ekpweles:AKPL:AKPL -elapidae:ALPT:ALPT -elapsing:ALPS:ALPS -elastase:ALST:ALST -elastica:ALST:ALST -elastics:ALST:ALST -elatedly:ALTT:ALTT -elbowing:ALPN:ALPN -eldritch:ALTR:ALTR -electees:ALKT:ALKT -electing:ALKT:ALKT -election:ALKX:ALKX -elective:ALKT:ALKT -electors:ALKT:ALKT -electret:ALKT:ALKT -electric:ALKT:ALKT -electron:ALKT:ALKT -electros:ALKT:ALKT -electrum:ALKT:ALKT -elegance:ALKN:ALKN -elegancy:ALKN:ALKN -elegized:ALJS:ALKS -elegizes:ALJS:ALKS -elements:ALMN:ALMN -elenchus:ALNX:ALNK -elenctic:ALNK:ALNK -elephant:ALFN:ALFN -elevated:ALFT:ALFT -elevates:ALFT:ALFT -elevator:ALFT:ALFT -eleventh:ALFN:ALFN -elfishly:ALFX:ALFX -elflocks:ALFL:ALFL -elicited:ALST:ALST -elicitor:ALST:ALST -elidible:ALTP:ALTP -eligible:ALJP:ALKP -eligibly:ALJP:ALKP -elisions:ALSN:ALXN -elitists:ALTS:ALTS -elkhound:ALKN:ALKN -ellipses:ALPS:ALPS -ellipsis:ALPS:ALPS -elliptic:ALPT:ALPT -elocuted:ALKT:ALKT -elocutes:ALKT:ALKT -elongate:ALNK:ALNK -eloquent:ALKN:ALKN -elvishly:ALFX:ALFX -elytroid:ALTR:ALTR -elytrous:ALTR:ALTR -emaciate:AMST:AMXT -emanated:AMNT:AMNT -emanates:AMNT:AMNT -emanator:AMNT:AMNT -embalmed:AMPL:AMPL -embalmer:AMPL:AMPL -embanked:AMPN:AMPN -embarked:AMPR:AMPR -embattle:AMPT:AMPT -embayers:AMPR:AMPR -embaying:AMPN:AMPN -embedded:AMPT:AMPT -embedder:AMPT:AMPT -embezzle:AMPS:AMPS -embitter:AMPT:AMPT -emblazed:AMPL:AMPL -emblazer:AMPL:AMPL -emblazes:AMPL:AMPL -emblazon:AMPL:AMPL -embodied:AMPT:AMPT -embodier:AMPT:AMPT -embodies:AMPT:AMPT -embolden:AMPL:AMPL -embolies:AMPL:AMPL -embolism:AMPL:AMPL -embolize:AMPL:AMPL -embossed:AMPS:AMPS -embosser:AMPS:AMPS -embosses:AMPS:AMPS -embowers:AMPR:AMPR -embowing:AMPN:AMPN -embraced:AMPR:AMPR -embracer:AMPR:AMPR -embraces:AMPR:AMPR -embroils:AMPR:AMPR -embruing:AMPR:AMPR -embryoid:AMPR:AMPR -embryoma:AMPR:AMPR -embusing:AMPS:AMPS -embusque:AMPS:AMPS -embussed:AMPS:AMPS -embusses:AMPS:AMPS -emceeing:AMSN:AMSN -emending:AMNT:AMNT -emeralds:AMRL:AMRL -emergent:AMRJ:AMRK -emerging:AMRJ:AMRK -emeritus:AMRT:AMRT -emersion:AMRS:AMRX -emetical:AMTK:AMTK -emigrant:AMKR:AMKR -emigrate:AMKR:AMKR -emigrees:AMKR:AMKR -eminence:AMNN:AMNN -eminency:AMNN:AMNN -emirates:AMRT:AMRT -emissary:AMSR:AMSR -emission:AMSN:AMSN -emissive:AMSF:AMSF -emitters:AMTR:AMTR -emitting:AMTN:AMTN -emotions:AMXN:AMXN -empanels:AMPN:AMPN -empathic:AMP0:AMPT -emperors:AMPR:AMPR -emphases:AMFS:AMFS -emphasis:AMFS:AMFS -emphatic:AMFT:AMFT -emplaced:AMPL:AMPL -emplaces:AMPL:AMPL -emplaned:AMPL:AMPL -emplanes:AMPL:AMPL -employed:AMPL:AMPL -employee:AMPL:AMPL -employer:AMPL:AMPL -empolder:AMPL:AMPL -emporium:AMPR:AMPR -empowers:AMPR:AMPR -emptiest:AMPT:AMPT -emptying:AMPT:AMPT -empurple:AMPR:AMPR -empyemas:AMPM:AMPM -empyemic:AMPM:AMPM -empyrean:AMPR:AMPR -emulated:AMLT:AMLT -emulates:AMLT:AMLT -emulator:AMLT:AMLT -emulgent:AMLJ:AMLK -emulsify:AMLS:AMLS -emulsion:AMLS:AMLX -emulsive:AMLS:AMLS -emulsoid:AMLS:AMLS -enablers:ANPL:ANPL -enabling:ANPL:ANPL -enacting:ANKT:ANKT -enaction:ANKX:ANKX -enactive:ANKT:ANKT -enactors:ANKT:ANKT -enameled:ANML:ANML -enameler:ANML:ANML -enamored:ANMR:ANMR -enanthem:ANN0:ANNT -encaging:ANKJ:ANKK -encamped:ANKM:ANKM -encashed:ANKX:ANKX -encashes:ANKX:ANKX -encasing:ANKS:ANKS -encaster:ANKS:ANKS -enceinte:ANSN:ANSN -enchains:ANXN:ANKN -enchants:ANXN:ANKN -enchased:ANXS:ANKS -enchaser:ANXS:ANKS -enchoric:ANXR:ANKR -encipher:ANSF:ANSF -encircle:ANSR:ANSR -enclasps:ANKL:ANKL -enclaves:ANKL:ANKL -enclitic:ANKL:ANKL -enclosed:ANKL:ANKL -encloser:ANKL:ANKL -encloses:ANKL:ANKL -encoders:ANKT:ANKT -encoding:ANKT:ANKT -encolors:ANKL:ANKL -encomium:ANKM:ANKM -encroach:ANKR:ANKR -encrusts:ANKR:ANKR -encrypts:ANKR:ANKR -encumber:ANKM:ANKM -encyclic:ANSK:ANSK -encysted:ANSS:ANSS -endamage:ANTM:ANTM -endameba:ANTM:ANTM -endanger:ANTN:ANTN -endaural:ANTR:ANTR -endbrain:ANTP:ANTP -endeared:ANTR:ANTR -endeavor:ANTF:ANTF -endemial:ANTM:ANTM -endemism:ANTM:ANTM -endermic:ANTR:ANTR -endgames:ANTK:ANTK -endnotes:ANTN:ANTN -endocarp:ANTK:ANTK -endocyst:ANTS:ANTS -endoderm:ANTT:ANTT -endogamy:ANTK:ANTK -endogeny:ANTJ:ANTK -endorsed:ANTR:ANTR -endorsee:ANTR:ANTR -endorser:ANTR:ANTR -endorses:ANTR:ANTR -endosarc:ANTS:ANTS -endosome:ANTS:ANTS -endostea:ANTS:ANTS -endowers:ANTR:ANTR -endowing:ANTN:ANTN -endpaper:ANTP:ANTP -endplate:ANTP:ANTP -endplays:ANTP:ANTP -endpoint:ANTP:ANTP -enduring:ANTR:ANTR -energies:ANRJ:ANRK -energize:ANRJ:ANRK -enervate:ANRF:ANRF -enfacing:ANFS:ANFS -enfeeble:ANFP:ANFP -enfilade:ANFL:ANFL -enfolded:ANFL:ANFL -enfolder:ANFL:ANFL -enforced:ANFR:ANFR -enforcer:ANFR:ANFR -enforces:ANFR:ANFR -engagers:ANKK:ANKJ -engaging:ANKJ:ANKK -engender:ANJN:ANKN -engineer:ANJN:ANKN -enginery:ANJN:ANKN -englobed:ANKL:ANKL -engorged:ANKR:ANKR -engorges:ANKR:ANKR -engrafts:ANKR:ANKR -engrails:ANKR:ANKR -engrains:ANKR:ANKR -engraved:ANKR:ANKR -engraver:ANKR:ANKR -engraves:ANKR:ANKR -engulfed:ANKL:ANKL -enhanced:ANNS:ANNS -enhancer:ANNS:ANNS -enhances:ANNS:ANNS -enigmata:ANKM:ANKM -enisling:ANLN:ANLN -enjambed:ANJM:ANJM -enjoined:ANJN:ANJN -enjoiner:ANJN:ANJN -enjoyers:ANJR:ANJR -enjoying:ANJN:ANJN -enkindle:ANKN:ANKN -enlacing:ANLS:ANLS -enlarged:ANLR:ANLR -enlarger:ANLR:ANLR -enlarges:ANLR:ANLR -enlisted:ANLS:ANLS -enlistee:ANLS:ANLS -enlister:ANLS:ANLS -enlivens:ANLF:ANLF -enmeshed:ANMX:ANMX -enmeshes:ANMX:ANMX -enmities:ANMT:ANMT -enneadic:ANTK:ANTK -enneagon:ANKN:ANKN -ennobled:ANPL:ANPL -ennobler:ANPL:ANPL -ennobles:ANPL:ANPL -enormity:ANRM:ANRM -enormous:ANRM:ANRM -enounced:ANNS:ANNS -enounces:ANNS:ANNS -enplaned:ANPL:ANPL -enplanes:ANPL:ANPL -enqueued:ANKT:ANKT -enqueues:ANKS:ANKS -enquired:ANKR:ANKR -enquirer:ANKR:ANKR -enquires:ANKR:ANKR -enraging:ANRJ:ANRK -enriched:ANRX:ANRK -enricher:ANRX:ANRK -enriches:ANRX:ANRK -enrobers:ANRP:ANRP -enrobing:ANRP:ANRP -enroling:ANRL:ANRL -enrolled:ANRL:ANRL -enroller:ANRL:ANRL -enrolles:ANRL:ANRL -enrooted:ANRT:ANRT -ensconce:ANSK:ANSK -ensemble:ANSM:ANSM -enshrine:ANXR:ANXR -enshroud:ANXR:ANXR -ensiform:ANSF:ANSF -ensigncy:ANSN:ANSK -ensilage:ANSL:ANSL -ensiling:ANSL:ANSL -enslaved:ANSL:ANSL -enslaver:ANSL:ANSL -enslaves:ANSL:ANSL -ensnared:ANSN:ANSN -ensnarer:ANSN:ANSN -ensnares:ANSN:ANSN -ensorcel:ANSR:ANSR -ensouled:ANSL:ANSL -ensphere:ANSF:ANSF -ensurers:ANSR:ANSR -ensuring:ANSR:ANSR -enswathe:ANS0:ANST -entailed:ANTL:ANTL -entailer:ANTL:ANTL -entameba:ANTM:ANTM -entangle:ANTN:ANTN -entellus:ANTL:ANTL -entendre:ANTN:ANTN -ententes:ANTN:ANTN -enterers:ANTR:ANTR -entering:ANTR:ANTR -enthalpy:AN0L:ANTL -enthatic:AN0T:ANTT -enthrall:AN0R:ANTR -enthrals:AN0R:ANTR -enthrone:AN0R:ANTR -enthused:AN0S:ANTS -enthuses:AN0S:ANTS -enticers:ANTS:ANTS -enticing:ANTS:ANTS -entirely:ANTR:ANTR -entirety:ANTR:ANTR -entities:ANTT:ANTT -entitled:ANTT:ANTT -entitles:ANTT:ANTT -entocoel:ANTK:ANTK -entocone:ANTK:ANTK -entoderm:ANTT:ANTT -entombed:ANTM:ANTM -entoptic:ANTP:ANTP -entosarc:ANTS:ANTS -entozoan:ANTS:ANTS -entozoic:ANTS:ANTS -entozoon:ANTS:ANTS -entrails:ANTR:ANTR -entrains:ANTR:ANTR -entrance:ANTR:ANTR -entrants:ANTR:ANTR -entreats:ANTR:ANTR -entreaty:ANTR:ANTR -entrench:ANTR:ANTR -entrepot:ANTR:ANTR -entresol:ANTR:ANTR -entrusts:ANTR:ANTR -entryism:ANTR:ANTR -entryman:ANTR:ANTR -entrymen:ANTR:ANTR -entryway:ANTR:ANTR -entwined:ANTN:ANTN -entwines:ANTN:ANTN -entypies:ANTP:ANTP -enureses:ANRS:ANRS -enuresis:ANRS:ANRS -enuretic:ANRT:ANRT -envelope:ANFL:ANFL -envelops:ANFL:ANFL -envenoms:ANFN:ANFN -enviable:ANFP:ANFP -enviably:ANFP:ANFP -environs:ANFR:ANFR -envisage:ANFS:ANFS -envision:ANFS:ANFX -enwombed:ANMP:ANMP -enwraped:ANRP:ANRP -enwreath:ANR0:ANRT -enzedder:ANST:ANST -enzootic:ANST:ANST -eobionts:APNT:APNT -eohippus:AHPS:AHPS -eolipile:ALPL:ALPL -eolithic:AL0K:ALTK -epaulets:APLT:APLT -epaxonic:APKS:APKS -epeeists:APST:APST -ependyma:APNT:APNT -epergnes:APRN:APRK -ephedras:AFTR:AFTR -ephedrin:AFTR:AFTR -ephemera:AFMR:AFMR -ephorate:AFRT:AFRT -epiblast:APPL:APPL -epiboles:APPL:APPL -epibolic:APPL:APPL -epically:APKL:APKL -epicalyx:APKL:APKL -epicarps:APKR:APKR -epicotyl:APKT:APKT -epicures:APKR:APKR -epicycle:APSK:APSK -epidemic:APTM:APTM -epidotes:APTT:APTT -epidotic:APTT:APTT -epidural:APTR:APTR -epifocal:APFK:APFK -epigeous:APJS:APKS -epigrams:APKR:APKR -epigraph:APKR:APKR -epilemma:APLM:APLM -epilepsy:APLP:APLP -epilogue:APLK:APLK -epimeres:APMR:APMR -epimeric:APMR:APMR -epimysia:APMS:APMX -epinasty:APNS:APNS -epiphany:APFN:APFN -epiphora:APFR:APFR -epiphyte:APFT:APFT -epiploic:APPL:APPL -epiploon:APPL:APPL -episcope:APSK:APSK -episodes:APST:APST -episodic:APST:APST -episomal:APSM:APSM -epistler:APST:APST -epistles:APST:APST -epistlor:APST:APST -epistyle:APST:APST -epitaphs:APTF:APTF -epitasis:APTS:APTS -epitaxis:APTK:APTK -epithets:AP0T:APTT -epithica:AP0K:APTK -epitomes:APTM:APTM -epitomic:APTM:APTM -epizoism:APSS:APSS -epizoite:APST:APST -eponymic:APNM:APNM -epopoeia:APP:APP -epoxides:APKS:APKS -epulides:APLT:APLT -epyllion:APLN:APLN -equaling:AKLN:AKLN -equality:AKLT:AKLT -equalize:AKLS:AKLS -equalled:AKLT:AKLT -equating:AKTN:AKTN -equation:AKXN:AKXN -equators:AKTR:AKTR -equipage:AKPJ:AKPK -equipped:AKPT:AKPT -equipper:AKPR:AKPR -equiseta:AKST:AKST -equitant:AKTN:AKTN -equities:AKTS:AKTS -equivoke:AKFK:AKFK -eradiate:ARTT:ARTT -erasable:ARSP:ARSP -erasions:ARSN:ARXN -erastian:ARSX:ARSX -erastism:ARST:ARST -erasures:ARSR:ARSR -erecters:ARKT:ARKT -erectile:ARKT:ARKT -erecting:ARKT:ARKT -erection:ARKX:ARKX -erectors:ARKT:ARKT -eremites:ARMT:ARMT -eremitic:ARMT:ARMT -erepsins:ARPS:ARPS -erethism:AR0S:ARTS -ergastic:ARKS:ARKS -ergative:ARKT:ARKT -ergotism:ARKT:ARKT -erigeron:ARJR:ARKR -eringoes:ARNK:ARNK -erlenmey:ARLN:ARLN -erodible:ARTP:ARTP -erogenic:ARJN:ARKN -erosions:ARSN:ARXN -erotesis:ARTS:ARTS -erotetic:ARTT:ARTT -erotical:ARTK:ARTK -erotized:ARTS:ARTS -erotizes:ARTS:ARTS -errantly:ARNT:ARNT -errantry:ARNT:ARNT -erratuma:ARTM:ARTM -errhines:ARNS:ARNS -erringly:ARNK:ARNK -eructate:ARKT:ARKT -eructing:ARKT:ARKT -erupting:ARPT:ARPT -eruption:ARPX:ARPX -eruptive:ARPT:ARPT -eryingos:ARNK:ARNK -eryngium:ARNJ:ARNK -eryngoes:ARNK:ARNK -erysimum:ARSM:ARSM -erythema:AR0M:ARTM -erythron:AR0R:ARTR -escalade:ASKL:ASKL -escalate:ASKL:ASKL -escallop:ASKL:ASKL -escapade:ASKP:ASKP -escapees:ASKP:ASKP -escapers:ASKP:ASKP -escaping:ASKP:ASKP -escapism:ASKP:ASKP -escapist:ASKP:ASKP -escargot:ASKR:ASKR -escarole:ASKR:ASKR -eschalot:AXLT:AXLT -escheats:AXTS:AXTS -eschewal:AXL:AXL -eschewed:AXT:AXT -eschewer:AXR:AXR -escolars:ASKL:ASKL -escorted:ASKR:ASKR -escribed:ASKP:ASKP -escribes:ASKP:ASKP -escrowed:ASKT:ASKT -escrowee:ASK:ASK -escuages:ASKJ:ASKK -esculent:ASKL:ASKL -esophagi:ASFJ:ASFK -esoteric:ASTR:ASTR -espalier:ASPL:ASPL -espartos:ASPR:ASPR -especial:ASPS:ASPX -espousal:ASPS:ASPS -espoused:ASPS:ASPS -espouser:ASPS:ASPS -espouses:ASPS:ASPS -espresso:ASPR:ASPR -espundia:ASPN:ASPN -esquires:ASKR:ASKR -essayers:ASRS:ASRS -essaying:ASNK:ASNK -essayist:ASST:ASST -essences:ASNS:ASNS -essoinee:ASN:ASN -essoiner:ASNR:ASNR -essonite:ASNT:ASNT -estancia:ASTN:ASTN -esteemed:ASTM:ASTM -esterase:ASTR:ASTR -esterify:ASTR:ASTR -estheses:AS0S:ASTS -esthesia:AS0S:ASTX -esthesis:AS0S:ASTS -esthetic:AS0T:ASTT -estimate:ASTM:ASTM -estivate:ASTF:ASTF -estonian:ASTN:ASTN -estopped:ASTP:ASTP -estoppel:ASTP:ASTP -estovers:ASTF:ASTF -estrades:ASTR:ASTR -estragon:ASTR:ASTR -estrange:ASTR:ASTR -estreats:ASTR:ASTR -estrogen:ASTR:ASTR -esturial:ASTR:ASTR -esurient:ASRN:ASRN -etaerios:ATRS:ATRS -etageres:ATKR:ATJR -etcetera:ATST:ATST -etchings:AXNK:AXNK -eternise:ATRN:ATRN -eternity:ATRN:ATRN -ethereal:A0RL:ATRL -etherial:A0RL:ATRL -etherify:A0RF:ATRF -etherize:A0RS:ATRS -ethernet:A0RN:ATRN -ethicise:A0SS:ATSS -ethicist:A0SS:ATSS -ethiopia:A0P:ATP -ethnarch:A0NR:ATNR -ethnical:A0NK:ATNK -ethology:A0LJ:ATLK -ethonone:A0NN:ATNN -ethoxide:A0KS:ATKS -ethylate:A0LT:ATLT -ethylene:A0LN:ATLN -etiolate:ATLT:ATLT -etiology:ATLJ:ATLK -etruscan:ATRS:ATRS -eucalypt:AKLP:AKLP -euchring:AKRN:AKRN -eucrasia:AKRS:AKRX -eudaemon:ATMN:ATMN -eudemons:ATMN:ATMN -eugenics:AJNK:AKNK -eugenism:AJNS:AKNS -eulachan:ALKN:ALKN -eulachon:ALKN:ALKN -eulogies:ALJS:ALKS -eulogist:ALJS:ALKS -eulogize:ALJS:ALKS -eumycete:AMST:AMST -eunuches:ANXS:ANKS -euonymus:ANMS:ANMS -eupatrid:APTR:APTR -eupepsia:APPS:APPX -eupeptic:APPT:APPT -euphenic:AFNK:AFNK -euphonic:AFNK:AFNK -euphoria:AFR:AFR -euphoric:AFRK:AFRK -euphotic:AFTK:AFTK -euphrasy:AFRS:AFRS -euphroes:AFRS:AFRS -euphuism:AFSM:AFSM -euphuist:AFST:AFST -euploidy:APLT:APLT -eupnoeic:APNK:APNK -eupraxia:APRK:APRK -eurasian:ARSN:ARXN -eurocrat:ARKR:ARKR -european:ARPN:ARPN -europium:ARPM:ARPM -eurysome:ARSM:ARSM -eustatic:ASTT:ASTT -eutectic:ATKT:ATKT -euthymia:A0M:ATM -eutrophy:ATRF:ATRF -euxenite:AKSN:AKSN -evacuant:AFKN:AFKN -evacuate:AFKT:AFKT -evacuees:AFKS:AFKS -evadable:AFTP:AFTP -evaluate:AFLT:AFLT -evanesce:AFNS:AFNS -evasions:AFSN:AFXN -evection:AFKX:AFKX -evenings:AFNN:AFNN -evenness:AFNS:AFNS -evensong:AFNS:AFNS -eventers:AFNT:AFNT -eventful:AFNT:AFNT -eventide:AFNT:AFNT -eventing:AFNT:AFNT -eventual:AFNT:AFNT -evermore:AFRM:AFRM -eversion:AFRS:AFRX -everting:AFRT:AFRT -evertors:AFRT:AFRT -everyday:AFRT:AFRT -everyman:AFRM:AFRM -everyone:AFRN:AFRN -evictees:AFKT:AFKT -evicting:AFKT:AFKT -eviction:AFKX:AFKX -evictors:AFKT:AFKT -evidence:AFTN:AFTN -evildoer:AFLT:AFLT -evilness:AFLN:AFLN -evincing:AFNS:AFNS -evincive:AFNS:AFNS -evocable:AFKP:AFKP -evocator:AFKT:AFKT -evolutes:AFLT:AFLT -evolvers:AFLF:AFLF -evolving:AFLF:AFLF -evonymus:AFNM:AFNM -evulsion:AFLS:AFLX -exacters:AKSK:AKSK -exacting:AKSK:AKSK -exaction:AKSK:AKSK -exactors:AKSK:AKSK -exalters:AKSL:AKSL -exalting:AKSL:AKSL -examined:AKSM:AKSM -examinee:AKSM:AKSM -examiner:AKSM:AKSM -examines:AKSM:AKSM -examples:AKSM:AKSM -exanthem:AKSN:AKSN -exarchal:AKSR:AKSR -excavate:AKSF:AKSF -exceeded:AKST:AKST -exceeder:AKST:AKST -excelled:AKSL:AKSL -excepted:AKSP:AKSP -exceptio:AKSP:AKSP -exceptor:AKSP:AKSP -excerpts:AKSR:AKSR -excesses:AKSS:AKSS -exchange:AKSN:AKSN -excising:AKSS:AKSS -excision:AKSS:AKSX -excitant:AKST:AKST -exciters:AKST:AKST -exciting:AKST:AKST -exclaims:AKSL:AKSL -exclaves:AKSL:AKSL -excluded:AKSL:AKSL -excluder:AKSL:AKSL -excludes:AKSL:AKSL -excretal:AKSR:AKSR -excreted:AKSR:AKSR -excreter:AKSR:AKSR -excretes:AKSR:AKSR -excursus:AKSR:AKSR -excusing:AKSS:AKSS -execrate:AKSK:AKSK -executed:AKSK:AKSK -executer:AKSK:AKSK -executes:AKSK:AKSK -executor:AKSK:AKSK -executry:AKSK:AKSK -exegeses:AKSJ:AKSK -exegesis:AKSJ:AKSK -exegetes:AKSK:AKSK -exegetic:AKSK:AKSK -exemplar:AKSM:AKSM -exemplum:AKSM:AKSM -exempted:AKSM:AKSM -exequies:AKSK:AKSK -exercise:AKSR:AKSR -exereses:AKSR:AKSR -exeresis:AKSR:AKSR -exergual:AKSR:AKSR -exergues:AKSR:AKSR -exerting:AKSR:AKSR -exertion:AKSR:AKSR -exertive:AKSR:AKSR -exgratia:AKSK:AKSK -exhalant:AKSL:AKSL -exhalent:AKSL:AKSL -exhaling:AKSL:AKSL -exhausts:AKSS:AKSS -exhibits:AKSP:AKSP -exhorted:AKSR:AKSR -exhorter:AKSR:AKSR -exhumers:AKSM:AKSM -exhuming:AKSM:AKSM -exigence:AKSJ:AKSK -exigency:AKSJ:AKSK -exigible:AKSJ:AKSK -exiguity:AKSK:AKSK -exiguous:AKSK:AKSK -existent:AKSS:AKSS -existing:AKSS:AKSS -exitance:AKST:AKST -exlibris:AKSL:AKSL -exocarps:AKSK:AKSK -exocrine:AKSK:AKSK -exoderms:AKST:AKST -exoergic:AKSR:AKSR -exogamic:AKSK:AKSK -exoplasm:AKSP:AKSP -exorable:AKSR:AKSR -exorcism:AKSR:AKSR -exorcist:AKSR:AKSR -exorcize:AKSR:AKSR -exordial:AKSR:AKSR -exordium:AKSR:AKSR -exospore:AKSS:AKSS -exoteric:AKST:AKST -exotoxic:AKST:AKST -exotoxin:AKST:AKST -expanded:AKSP:AKSP -expander:AKSP:AKSP -expanses:AKSP:AKSP -expected:AKSP:AKSP -expecter:AKSP:AKSP -expedite:AKSP:AKSP -expelled:AKSP:AKSP -expellee:AKSP:AKSP -expeller:AKSP:AKSP -expended:AKSP:AKSP -expender:AKSP:AKSP -expenses:AKSP:AKSP -expertly:AKSP:AKSP -expiable:AKSP:AKSP -expiated:AKSP:AKSP -expiates:AKSP:AKSP -expiator:AKSP:AKSP -expirees:AKSP:AKSP -expirers:AKSP:AKSP -expiries:AKSP:AKSP -expiring:AKSP:AKSP -explains:AKSP:AKSP -explants:AKSP:AKSP -explicit:AKSP:AKSP -exploded:AKSP:AKSP -exploder:AKSP:AKSP -explodes:AKSP:AKSP -exploits:AKSP:AKSP -explored:AKSP:AKSP -explorer:AKSP:AKSP -explores:AKSP:AKSP -exponent:AKSP:AKSP -exported:AKSP:AKSP -exporter:AKSP:AKSP -exposals:AKSP:AKSP -exposers:AKSP:AKSP -exposing:AKSP:AKSP -exposure:AKSP:AKSP -expounds:AKSP:AKSP -expresso:AKSP:AKSP -expunged:AKSP:AKSP -expunger:AKSP:AKSP -expunges:AKSP:AKSP -exscinds:AKSS:AKSS -exsected:AKSS:AKSS -exserted:AKSS:AKSS -extended:AKST:AKST -extender:AKST:AKST -extensor:AKST:AKST -exterior:AKST:AKST -external:AKST:AKST -externus:AKST:AKST -extimaes:AKST:AKST -extolled:AKST:AKST -extoller:AKST:AKST -extorted:AKST:AKST -extorter:AKST:AKST -extracts:AKST:AKST -extrados:AKST:AKST -extranei:AKST:AKST -extremal:AKST:AKST -extremes:AKST:AKST -extremis:AKST:AKST -extremum:AKST:AKST -extrorse:AKST:AKST -extruded:AKST:AKST -extrudes:AKST:AKST -extubate:AKST:AKST -exudates:AKST:AKST -exultant:AKSL:AKSL -exulting:AKSL:AKSL -exuviate:AKSF:AKSF -eyeballs:APLS:APLS -eyebaths:AP0S:APTS -eyebolts:APLT:APLT -eyebrows:APRS:APRS -eyedness:ATNS:ATNS -eyeglass:AKLS:AKLS -eyehooks:AHKS:AHKS -eyelevel:ALFL:ALFL -eyeliner:ALNR:ALNR -eyepiece:APS:APS -eyeshade:AXT:AXT -eyesight:AST:AST -eyesores:ASRS:ASRS -eyespots:ASPT:ASPT -eyestalk:ASTL:ASTL -eyeteeth:AT0:ATT -eyetooth:AT0:ATT -fabellae:FPL:FPL -fabulist:FPLS:FPLS -fabulous:FPLS:FPLS -faceable:FSPL:FSPL -facebars:FSPR:FSPR -facedown:FSTN:FSTN -faceless:FSLS:FSLS -facelift:FSLF:FSLF -faceting:FSTN:FSTN -facetted:FSTT:FSTT -facially:FSL:FXL -faciendi:FSNT:FXNT -facilely:FSLL:FSLL -facility:FSLT:FSLT -factions:FKXN:FKXN -factious:FKTS:FKTS -factored:FKTR:FKTR -factotum:FKTT:FKTT -faculous:FKLS:FKLS -faddisms:FTSM:FTSM -faddists:FTST:FTST -fadeless:FTLS:FTLS -faggoted:FKTT:FKTT -fagoting:FKTN:FKTN -failings:FLNK:FLNK -failsafe:FLSF:FLSF -failures:FLRS:FLRS -fainters:FNTR:FNTR -faintest:FNTS:FNTS -fainting:FNTN:FNTN -faintish:FNTX:FNTX -faireism:FRSM:FRSM -fairings:FRNK:FRNK -fairlead:FRLT:FRLT -fairness:FRNS:FRNS -fairways:FRS:FRS -faithful:F0FL:FTFL -falcated:FLKT:FLKT -falchion:FLXN:FLKN -falconer:FLKN:FLKN -falconet:FLKN:FLKN -falconry:FLKN:FLKN -falcular:FLKL:FLKL -falderal:FLTR:FLTR -falkland:FLKL:FLKL -fallible:FLPL:FLPL -fallibly:FLPL:FLPL -fallings:FLNK:FLNK -falloffs:FLFS:FLFS -fallouts:FLTS:FLTS -falmouth:FLM0:FLMT -falsetto:FLST:FLST -faltboat:FLTP:FLTP -faltered:FLTR:FLTR -falterer:FLTR:FLTR -fameless:FMLS:FMLS -familiae:FML:FML -familial:FMLL:FMLL -familiar:FMLR:FMLR -families:FMLS:FMLS -famished:FMXT:FMXT -famishes:FMXS:FMXS -famously:FMSL:FMSL -fanatica:FNTK:FNTK -fanatics:FNTK:FNTK -fanciers:FNSR:FNXR -fanciest:FNSS:FNXS -fanciful:FNSF:FNSF -fancying:FNSN:FNSN -fandango:FNTN:FNTN -fanfares:FNFR:FNFR -fangless:FNKL:FNKL -fanglike:FNKL:FNKL -fanlight:FNLT:FNLT -fantails:FNTL:FNTL -fantasia:FNTS:FNTX -fantasie:FNTS:FNTS -fantasts:FNTS:FNTS -fanzines:FNSN:FNSN -faradaic:FRTK:FRTK -faradism:FRTS:FRTS -faradize:FRTS:FRTS -farcical:FRSK:FRSK -farewell:FRL:FRL -farfetch:FRFX:FRFX -farinose:FRNS:FRNS -farmable:FRMP:FRMP -farmhand:FRMN:FRMN -farmland:FRML:FRML -farmyard:FRMR:FRMR -farouche:FRX:FRK -farragos:FRKS:FRKS -farraris:FRRS:FRRS -farriers:FRRS:FRRS -farriery:FRR:FRR -farrowed:FRT:FRT -farseing:FRSN:FRSN -farsight:FRST:FRST -farthest:FR0S:FRTS -farthing:FR0N:FRTN -fasciaes:FSS:FSS -fasciate:FST:FST -fascicle:FSKL:FSKL -fascines:FSNS:FSNS -fasciola:FSL:FSL -fascists:FSST:FSST -fascitis:FSTS:FSTS -fashions:FXNS:FXNS -fastback:FSTP:FSTP -fastened:FSTN:FSTN -fastener:FSTN:FSTN -fastness:FSTN:FSTN -fatalely:FTLL:FTLL -fatalism:FTLS:FTLS -fatalist:FTLS:FTLS -fatality:FTLT:FTLT -fateness:FTNS:FTNS -fatheads:F0TS:FTTS -fathered:F0RT:FTRT -fatherly:F0RL:FTRL -fathomed:FTMT:FTMT -fatigued:FTKT:FTKT -fatigues:FTKS:FTKS -fatlings:FTLN:FTLN -fattened:FTNT:FTNT -fattener:FTNR:FTNR -fattiest:FTST:FTST -faubourg:FPRK:FPRK -faulkner:FLKN:FLKN -faultier:FLT:FLTR -faultily:FLTL:FLTL -faulting:FLTN:FLTN -faunally:FNL:FNL -faunlike:FNLK:FNLK -faunulae:FNL:FNL -faustian:FSXN:FSXN -fauvists:FFST:FFST -faveolus:FFLS:FFLS -favonian:FFNN:FFNN -favorers:FFRR:FFRR -favoring:FFRN:FFRN -favorite:FFRT:FFRT -fawnlike:FNLK:FNLK -fealties:FLTS:FLTS -fearless:FRLS:FRLS -fearsome:FRSM:FRSM -feasance:FSNS:FSNS -feasible:FSPL:FSPL -feasibly:FSPL:FSPL -feasters:FSTR:FSTR -feasting:FSTN:FSTN -feathers:F0RS:FTRS -feathery:F0R:FTR -featured:FTRT:FTRT -features:FTRS:FTRS -febrific:FPRF:FPRF -february:FPRR:FPRR -fecalith:FKL0:FKLT -fecaloid:FKLT:FKLT -feckless:FKLS:FKLS -feculent:FKLN:FKLN -fedayeen:FTN:FTN -fedayees:FTS:FTS -federals:FTRL:FTRL -federate:FTRT:FTRT -feeblest:FPLS:FPLS -feedable:FTPL:FTPL -feedback:FTPK:FTPK -feedbags:FTPK:FTPK -feedings:FTNK:FTNK -feedlots:FTLT:FTLT -feelings:FLNK:FLNK -feigners:FNRS:FKNR -feigning:FNNK:FKNN -feinting:FNTN:FNTN -feistier:FST:FSTR -feldspar:FLTS:FLTS -felicity:FLST:FLST -felinity:FLNT:FLNT -fellable:FLPL:FLPL -fellahes:FLHS:FLHS -fellahin:FLHN:FLHN -fellated:FLTT:FLTT -fellatee:FLT:FLT -fellates:FLTS:FLTS -fellatio:FLT:FLT -fellator:FLTR:FLTR -fellness:FLNS:FLNS -felonies:FLNS:FLNS -felsitic:FLST:FLST -felstone:FLST:FLST -felteric:FLTR:FLTR -feltwork:FLTR:FLTR -feluccas:FLKS:FLKS -femicide:FMST:FMST -feminine:FMNN:FMNN -feminism:FMNS:FMNS -feminist:FMNS:FMNS -feminity:FMNT:FMNT -feminize:FMNS:FMNS -fenagled:FNKL:FNKL -fendered:FNTR:FNTR -fenestra:FNST:FNST -fentanyl:FNTN:FNTN -feoffees:FFS:FFS -feoffers:FFRS:FFRS -feoffing:FFNK:FFNK -feoffors:FFRS:FFRS -feretory:FRTR:FRTR -ferments:FRMN:FRMN -fermions:FRMN:FRMN -fernlike:FRNL:FRNL -ferocity:FRST:FRST -ferreled:FRLT:FRLT -ferreous:FRS:FRS -ferreted:FRTT:FRTT -ferreter:FRTR:FRTR -ferriage:FRJ:FRK -ferrites:FRTS:FRTS -ferritin:FRTN:FRTN -ferruled:FRLT:FRLT -ferrules:FRLS:FRLS -ferryage:FRJ:FRK -ferrying:FRNK:FRNK -ferryman:FRMN:FRMN -ferrymen:FRMN:FRMN -fervency:FRFN:FRFN -fervidly:FRFT:FRFT -festally:FSTL:FSTL -festered:FSTR:FSTR -festinum:FSTN:FSTN -festival:FSTF:FSTF -festoons:FSTN:FSTN -fetation:FTXN:FTXN -fetchers:FXRS:FXRS -fetching:FXNK:FXNK -feticide:FTST:FTST -fetishes:FTXS:FTXS -fetlocks:FTLK:FTLK -fetology:FTLJ:FTLK -fettered:FTRT:FTRT -fetterer:FTRR:FTRR -fettling:FTLN:FTLN -feudally:FTL:FTL -feverfew:FFRF:FFRF -feverish:FFRX:FFRX -feverous:FFRS:FFRS -fiancees:FNSS:FNSS -fiascoes:FSKS:FSKS -fibreous:FPRS:FPRS -fibrilae:FPRL:FPRL -fibrilar:FPRL:FPRL -fibrilla:FPRL:FPRL -fibromas:FPRM:FPRM -fibroses:FPRS:FPRS -fibrosis:FPRS:FPRS -fibrosus:FPRS:FPRS -fibrotic:FPRT:FPRT -fibulaes:FPLS:FPLS -fictione:FKXN:FKXN -fictions:FKXN:FKXN -fiddlers:FTLR:FTLR -fiddlier:FTL:FTLR -fiddling:FTLN:FTLN -fideists:FTST:FTST -fidelity:FTLT:FTLT -fidgeted:FJTT:FJTT -fiducial:FTSL:FTXL -fiefment:FFMN:FFMN -fielders:FLTR:FLTR -fielding:FLTN:FLTN -fiendish:FNTX:FNTX -fiercely:FRSL:FRSL -fiercest:FRSS:FRSS -fieriest:FRST:FRST -fifteens:FFTN:FFTN -fiftieth:FFT0:FFTT -fighters:FTRS:FTRS -fighting:FTNK:FTNK -figments:FKMN:FKMN -figurant:FKRN:FKRN -figurate:FKRT:FKRT -figurers:FKRR:FKRR -figurine:FKRN:FKRN -figuring:FKRN:FKRN -filament:FLMN:FLMN -filariae:FLR:FLR -filarial:FLRL:FLRL -filarian:FLRN:FLRN -filariid:FLRT:FLRT -filature:FLTR:FLTR -filberts:FLPR:FLPR -filchers:FLXR:FLKR -filching:FLXN:FLKN -fileable:FLPL:FLPL -filecard:FLKR:FLKR -filename:FLNM:FLNM -filespec:FLSP:FLSP -filially:FLL:FLL -filiated:FLTT:FLTT -filiates:FLTS:FLTS -filicide:FLST:FLST -filiform:FLFR:FLFR -filigree:FLKR:FLKR -filipino:FLPN:FLPN -filister:FLST:FLST -fillable:FLPL:FLPL -filleted:FLTT:FLTT -fillings:FLNK:FLNK -filliped:FLPT:FLPT -fillmore:FLMR:FLMR -filmgoer:FLMK:FLMK -filmiest:FLMS:FLMS -filmsets:FLMS:FLMS -filopods:FLPT:FLPT -filtered:FLTR:FLTR -filthier:FL0:FLTR -filthily:FL0L:FLTL -filtrate:FLTR:FLTR -fimbriae:FMPR:FMPR -finagled:FNKL:FNKL -finagler:FNKL:FNKL -finagles:FNKL:FNKL -finalely:FNLL:FNLL -finalism:FNLS:FNLS -finalist:FNLS:FNLS -finality:FNLT:FNLT -finalize:FNLS:FNLS -financed:FNNS:FNNS -finances:FNNS:FNNS -finbacks:FNPK:FNPK -findable:FNTP:FNTP -findings:FNTN:FNTN -fineable:FNPL:FNPL -fineness:FNNS:FNNS -fineries:FNRS:FNRS -finespun:FNSP:FNSP -finessed:FNST:FNST -finesses:FNSS:FNSS -finfoots:FNFT:FNFT -fingered:FNKR:FNJR -fingerer:FNKR:FNJR -finialed:FNLT:FNLT -finished:FNXT:FNXT -finisher:FNXR:FNXR -finishes:FNXS:FNXS -finitely:FNTL:FNTL -finitism:FNTS:FNTS -finniest:FNST:FNST -finnocks:FNKS:FNKS -firearms:FRRM:FRRM -fireback:FRPK:FRPK -fireball:FRPL:FRPL -firebase:FRPS:FRPS -fireboat:FRPT:FRPT -firebomb:FRPM:FRPM -firebote:FRPT:FRPT -firebrat:FRPR:FRPR -firebugs:FRPK:FRPK -firedamp:FRTM:FRTM -firedogs:FRTK:FRTK -fireless:FRLS:FRLS -firepans:FRPN:FRPN -fireplug:FRPL:FRPL -fireside:FRST:FRST -firetrap:FRTR:FRTR -fireweed:FRT:FRT -firewood:FRT:FRT -firework:FRRK:FRRK -firmness:FRMN:FRMN -firmware:FRMR:FRMR -fiscalia:FSKL:FSKL -fiscalis:FSKL:FSKL -fiscally:FSKL:FSKL -fishable:FXPL:FXPL -fishbolt:FXPL:FXPL -fishbowl:FXPL:FXPL -fisheyes:FXS:FXS -fishgigs:FXJK:FXKK -fishhook:FXK:FXK -fishiest:FXST:FXST -fishlike:FXLK:FXLK -fishnets:FXNT:FXNT -fishpond:FXPN:FXPN -fishskin:FXSK:FXSK -fishtail:FXTL:FXTL -fishwife:FXF:FXF -fissions:FSNS:FSNS -fissiped:FSPT:FSPT -fissurae:FSR:FSR -fissural:FSRL:FSRL -fissured:FSRT:FSRT -fissures:FSRS:FSRS -fistfuls:FSTF:FSTF -fistmele:FSTM:FSTM -fistulae:FSTL:FSTL -fistular:FSTL:FSTL -fistulas:FSTL:FSTL -fitchets:FXTS:FXTS -fitfully:FTFL:FTFL -fitments:FTMN:FTMN -fittings:FTNK:FTNK -fivefold:FFFL:FFFL -fivesome:FFSM:FFSM -fixating:FKST:FKST -fixation:FKSX:FKSX -fixative:FKST:FKST -fixities:FKST:FKST -fixtures:FKST:FKST -fizziest:FSST:FTSS -fizzling:FSLN:FSLN -flabbier:FLP:FLPR -flabbily:FLPL:FLPL -flabella:FLPL:FLPL -flagella:FLJL:FLKL -flaggers:FLKR:FLKR -flagging:FLJN:FLKN -flagless:FLKL:FLKL -flagpole:FLKP:FLKP -flagrant:FLKR:FLKR -flagship:FLKX:FLKX -flailing:FLLN:FLLN -flakiest:FLKS:FLKS -flambeau:FLMP:FLMP -flamelet:FLML:FLML -flamenco:FLMN:FLMN -flameout:FLMT:FLMT -flamingo:FLMN:FLMN -flanders:FLNT:FLNT -flangers:FLNK:FLNJ -flanging:FLNJ:FLNK -flankers:FLNK:FLNK -flanking:FLNK:FLNK -flannels:FLNL:FLNL -flapjack:FLPJ:FLPJ -flappers:FLPR:FLPR -flapping:FLPN:FLPN -flashers:FLXR:FLXR -flashier:FLX:FLXR -flashily:FLXL:FLXL -flashing:FLXN:FLXN -flatbeds:FLTP:FLTP -flatboat:FLTP:FLTP -flatcars:FLTK:FLTK -flatfeet:FLTF:FLTF -flatfish:FLTF:FLTF -flatfoot:FLTF:FLTF -flathead:FL0T:FLTT -flatiron:FLTR:FLTR -flatland:FLTL:FLTL -flatmate:FLTM:FLTM -flatness:FLTN:FLTN -flattens:FLTN:FLTN -flatters:FLTR:FLTR -flattery:FLTR:FLTR -flattest:FLTS:FLTS -flatties:FLTS:FLTS -flatting:FLTN:FLTN -flattish:FLTX:FLTX -flattops:FLTP:FLTP -flatuses:FLTS:FLTS -flatware:FLTR:FLTR -flatways:FLTS:FLTS -flatworm:FLTR:FLTR -flaunted:FLNT:FLNT -flaunter:FLNT:FLNT -flautist:FLTS:FLTS -flavedos:FLFT:FLFT -flavonol:FLFN:FLFN -flavored:FLFR:FLFR -flavorer:FLFR:FLFR -flawless:FLLS:FLLS -flaxseed:FLKS:FLKS -fleabags:FLPK:FLPK -fleabane:FLPN:FLPN -fleabite:FLPT:FLPT -fleapits:FLPT:FLPT -fleawort:FLRT:FLRT -fleckers:FLKR:FLKR -flecking:FLKN:FLKN -flection:FLKX:FLKX -fledging:FLJN:FLJN -fleecers:FLSR:FLSR -fleecier:FLS:FLXR -fleecily:FLSL:FLSL -fleecing:FLSN:FLSN -fleering:FLRN:FLRN -fleetest:FLTS:FLTS -fleeting:FLTN:FLTN -flemings:FLMN:FLMN -flensers:FLNS:FLNS -flensing:FLNS:FLNS -fleshers:FLXR:FLXR -fleshier:FLX:FLXR -fleshing:FLXN:FLXN -fleshpot:FLXP:FLXP -fletcher:FLXR:FLXR -fleurets:FLRT:FLRT -fleurons:FLRN:FLRN -flexible:FLKS:FLKS -flexibly:FLKS:FLKS -flextime:FLKS:FLKS -flexuous:FLKS:FLKS -flexural:FLKS:FLKS -flexures:FLKS:FLKS -flickers:FLKR:FLKR -flickery:FLKR:FLKR -flicking:FLKN:FLKN -flimflam:FLMF:FLMF -flimsier:FLMS:FLMS -flimsily:FLMS:FLMS -flinched:FLNX:FLNK -flincher:FLNX:FLNK -flinches:FLNX:FLNK -flinders:FLNT:FLNT -flingers:FLNK:FLNJ -flinging:FLNJ:FLNK -flintier:FLNT:FLNT -flintily:FLNT:FLNT -flinting:FLNT:FLNT -flippant:FLPN:FLPN -flippers:FLPR:FLPR -flippest:FLPS:FLPS -flipping:FLPN:FLPN -flirters:FLRT:FLRT -flirting:FLRT:FLRT -flirtish:FLRT:FLRT -flitched:FLXT:FLXT -flitches:FLXS:FLXS -flitters:FLTR:FLTR -flitting:FLTN:FLTN -flivvers:FLFR:FLFR -floatage:FLTJ:FLTK -floatels:FLTL:FLTL -floaters:FLTR:FLTR -floatier:FLT:FLTR -floating:FLTN:FLTN -floccing:FLXN:FLXN -floccose:FLKS:FLKS -floccule:FLKL:FLKL -flocculi:FLKL:FLKL -flocking:FLKN:FLKN -floggers:FLKR:FLKR -flogging:FLJN:FLKN -flooders:FLTR:FLTR -flooding:FLTN:FLTN -floodlit:FLTL:FLTL -floodway:FLT:FLT -floorage:FLRJ:FLRK -floorers:FLRR:FLRR -flooring:FLRN:FLRN -floozies:FLSS:FLSS -flopover:FLPF:FLPF -floppers:FLPR:FLPR -floppier:FLP:FLPR -floppies:FLPS:FLPS -floppily:FLPL:FLPL -flopping:FLPN:FLPN -florally:FLRL:FLRL -florence:FLRN:FLRN -floriate:FLRT:FLRT -floridan:FLRT:FLRT -floridly:FLRT:FLRT -florigen:FLRJ:FLRK -florists:FLRS:FLRS -florulae:FLRL:FLRL -flossier:FLS:FLSR -flossing:FLSN:FLSN -flotilla:FLTL:FLTL -flounced:FLNS:FLNS -flounces:FLNS:FLNS -flounder:FLNT:FLNT -flourier:FLR:FLRR -flouring:FLRN:FLRN -flourish:FLRX:FLRX -flouters:FLTR:FLTR -flouting:FLTN:FLTN -flowered:FLRT:FLRT -flowerer:FLRR:FLRR -flubbing:FLPN:FLPN -fluently:FLNT:FLNT -fluffier:FLF:FLFR -fluffily:FLFL:FLFL -fluffing:FLFN:FLFN -fluidics:FLTK:FLTK -fluidity:FLTT:FLTT -fluidize:FLTS:FLTS -fluidram:FLTR:FLTR -flukiest:FLKS:FLKS -flummery:FLMR:FLMR -flumping:FLMP:FLMP -flunkies:FLNK:FLNK -flunking:FLNK:FLNK -fluorene:FLRN:FLRN -fluoride:FLRT:FLRT -fluorine:FLRN:FLRN -fluorite:FLRT:FLRT -flurried:FLRT:FLRT -flurries:FLRS:FLRS -flushers:FLXR:FLXR -flushing:FLXN:FLXN -flusters:FLST:FLST -flutists:FLTS:FLTS -flutters:FLTR:FLTR -fluttery:FLTR:FLTR -flutting:FLTN:FLTN -flyblown:FLPL:FLPL -flyblows:FLPL:FLPL -flyboats:FLPT:FLPT -flybooks:FLPK:FLPK -flyovers:FLFR:FLFR -flypaper:FLPP:FLPP -flyspeck:FLSP:FLSP -flytraps:FLTR:FLTR -flywheel:FLL:FLL -foamiest:FMST:FMST -foamless:FMLS:FMLS -foamlike:FMLK:FMLK -focalize:FKLS:FKLS -focusers:FKSR:FKSR -focusing:FKSN:FKSN -focussed:FKST:FKST -focusses:FKSS:FKSS -foddered:FTRT:FTRT -foederis:FTRS:FTRS -foetuses:FTSS:FTSS -fogbound:FKPN:FKPN -fogeyish:FJX:FKX -fogeyism:FJSM:FKSM -foggiest:FJST:FKST -foghorns:FKRN:FKRN -foilsman:FLSM:FLSM -foilsmen:FLSM:FLSM -foisting:FSTN:FSTN -foldable:FLTP:FLTP -foldaway:FLT:FLT -foldback:FLTP:FLTP -foldboat:FLTP:FLTP -folderol:FLTR:FLTR -foldouts:FLTT:FLTT -foliaged:FLJT:FLKT -foliated:FLTT:FLTT -foliates:FLTS:FLTS -folklike:FLKL:FLKL -folklore:FLKL:FLKL -folksier:FLKS:FLKS -folktale:FLKT:FLKT -folkways:FLKS:FLKS -follicle:FLKL:FLKL -followed:FLT:FLT -follower:FLR:FLR -followup:FLP:FLP -fomented:FMNT:FMNT -fomenter:FMNT:FMNT -fondants:FNTN:FNTN -fondling:FNTL:FNTL -fondness:FNTN:FNTN -fontanel:FNTN:FNTN -foodless:FTLS:FTLS -foolscap:FLSK:FLSK -football:FTPL:FTPL -footbath:FTP0:FTPT -footboys:FTPS:FTPS -footfall:FTFL:FTFL -footgear:FTJR:FTKR -foothill:F0L:FTL -foothold:F0LT:FTLT -footings:FTNK:FTNK -footless:FTLS:FTLS -footling:FTLN:FTLN -footmark:FTMR:FTMR -footnote:FTNT:FTNT -footpads:FTPT:FTPT -footpath:FTP0:FTPT -footrest:FTRS:FTRS -footrope:FTRP:FTRP -footslog:FTSL:FTSL -footsore:FTSR:FTSR -footstep:FTST:FTST -footwall:FTL:FTL -footways:FTS:FTS -footwear:FTR:FTR -footwork:FTRK:FTRK -footworn:FTRN:FTRN -foozlers:FSLR:FSLR -foozling:FSLN:FSLN -foragers:FRKR:FRJR -foraging:FRJN:FRKN -foramens:FRMN:FRMN -foramina:FRMN:FRMN -forayers:FRRS:FRRS -foraying:FRNK:FRNK -forbears:FRPR:FRPR -forborne:FRPR:FRPR -forcedly:FRST:FRST -forceful:FRSF:FRSF -forcible:FRSP:FRSP -forcibly:FRSP:FRSP -forcipes:FRSP:FRSP -fordable:FRTP:FRTP -forearms:FRRM:FRRM -forebear:FRPR:FRPR -forebode:FRPT:FRPT -forecast:FRKS:FRKS -foredeck:FRTK:FRTK -foredoom:FRTM:FRTM -forefeet:FRFT:FRFT -forefoot:FRFT:FRFT -foregift:FRJF:FRKF -foregoer:FRKR:FRKR -foregoes:FRKS:FRKS -foregone:FRKN:FRKN -forehand:FRHN:FRHN -forehead:FRHT:FRHT -forehock:FRHK:FRHK -foreigns:FRNS:FRKN -foreknew:FRKN:FRKN -foreknow:FRKN:FRKN -forelady:FRLT:FRLT -foreland:FRLN:FRLN -forelegs:FRLK:FRLK -forelimb:FRLM:FRLM -forelock:FRLK:FRLK -foremast:FRMS:FRMS -foremilk:FRML:FRML -foremost:FRMS:FRMS -forename:FRNM:FRNM -forenoon:FRNN:FRNN -forensic:FRNS:FRNS -forepart:FRPR:FRPR -forepaws:FRPS:FRPS -forepeak:FRPK:FRPK -foreplay:FRPL:FRPL -foreruns:FRRN:FRRN -foresaid:FRST:FRST -foresail:FRSL:FRSL -foreseen:FRSN:FRSN -foreseer:FRSR:FRSR -foresees:FRSS:FRSS -foreskin:FRSK:FRSK -forestal:FRST:FRST -forestay:FRST:FRST -forested:FRST:FRST -forester:FRST:FRST -forestry:FRST:FRST -foretell:FRTL:FRTL -foretime:FRTM:FRTM -foretold:FRTL:FRTL -foretops:FRTP:FRTP -forewarn:FRRN:FRRN -forewent:FRNT:FRNT -forewind:FRNT:FRNT -forewing:FRNK:FRNK -foreword:FRRT:FRRT -foreyard:FRRT:FRRT -forfeits:FRFT:FRFT -forfends:FRFN:FRFN -forgiven:FRJF:FRKF -forgiver:FRJF:FRKF -forgives:FRJF:FRKF -forgoers:FRKR:FRKR -forgoing:FRKN:FRKN -forjudge:FRJJ:FRJJ -forkedly:FRKT:FRKT -forkfuls:FRKF:FRKF -forklift:FRKL:FRKL -forklike:FRKL:FRKL -forksful:FRKS:FRKS -formable:FRMP:FRMP -formalin:FRML:FRML -formally:FRML:FRML -formants:FRMN:FRMN -formerly:FRMR:FRMR -formfeed:FRMF:FRMF -formless:FRML:FRML -formulae:FRML:FRML -formulas:FRML:FRML -formwork:FRMR:FRMR -fornical:FRNK:FRNK -fornices:FRNS:FRNS -forprise:FRPR:FRPR -forsaken:FRSK:FRSK -forsaker:FRSK:FRSK -forsakes:FRSK:FRSK -forsooth:FRS0:FRST -forswear:FRSR:FRSR -forswore:FRSR:FRSR -forsworn:FRSR:FRSR -fortieth:FRT0:FRTT -fortiori:FRTR:FRTR -fortress:FRTR:FRTR -fortuiti:FRTT:FRTT -fortuity:FRTT:FRTT -fortunes:FRTN:FRTN -forwards:FRRT:FRRT -fossette:FST:FST -fossulae:FSL:FSL -fostered:FSTR:FSTR -fosterer:FSTR:FSTR -fottling:FTLN:FTLN -foucault:FKLT:FKLT -foulards:FLRT:FLRT -foulness:FLNS:FLNS -founders:FNTR:FNTR -founding:FNTN:FNTN -fountain:FNTN:FNTN -fourfold:FRFL:FRFL -foursome:FRSM:FRSM -fourteen:FRTN:FRTN -fourthes:FR0S:FRTS -fourthly:FR0L:FRTL -foveated:FFTT:FFTT -foveolae:FFL:FFL -foveolar:FFLR:FFLR -foveolas:FFLS:FFLS -foxfires:FKSF:FKSF -foxglove:FKSK:FKSK -foxholes:FKSL:FKSL -foxhound:FKSN:FKSN -foxiness:FKSN:FKSN -foxtrots:FKST:FKST -fracases:FRKS:FRKS -fractals:FRKT:FRKT -fraction:FRKX:FRKX -fracture:FRKT:FRKT -fragging:FRJN:FRKN -fragment:FRKM:FRKM -fragrant:FRKR:FRKR -frailest:FRLS:FRLS -framable:FRMP:FRMP -francium:FRNS:FRNS -frankers:FRNK:FRNK -frankest:FRNK:FRNK -franking:FRNK:FRNK -frankish:FRNK:FRNK -franklin:FRNK:FRNK -frapping:FRPN:FRPN -fraulein:FRLN:FRLN -frazzled:FRSL:FRSL -frazzles:FRSL:FRSL -freakier:FRKR:FRKR -freakily:FRKL:FRKL -freaking:FRKN:FRKN -freakish:FRKX:FRKX -freakout:FRKT:FRKT -freckled:FRKL:FRKL -freckles:FRKL:FRKL -freebies:FRPS:FRPS -freeboot:FRPT:FRPT -freeborn:FRPR:FRPR -freedman:FRTM:FRTM -freedmen:FRTM:FRTM -freedoms:FRTM:FRTM -freeform:FRFR:FRFR -freehand:FRHN:FRHN -freehold:FRHL:FRHL -freeings:FRNK:FRNK -freeload:FRLT:FRLT -freeness:FRNS:FRNS -freeport:FRPR:FRPR -freesias:FRSS:FRXS -freeware:FRR:FRR -freeways:FRS:FRS -freewill:FRL:FRL -freezers:FRSR:FRSR -freezing:FRSN:FRSN -freights:FRTS:FRTS -fremitus:FRMT:FRMT -frenetic:FRNT:FRNT -frenulum:FRNL:FRNL -frenzied:FRNS:FRNS -frenzies:FRNS:FRNS -frequent:FRKN:FRKN -frescoer:FRSK:FRSK -frescoes:FRSK:FRSK -freshens:FRXN:FRXN -freshers:FRXR:FRXR -freshest:FRXS:FRXS -freshman:FRXM:FRXM -freshmen:FRXM:FRXM -fresnels:FRSN:FRSN -fretless:FRTL:FRTL -fretters:FRTR:FRTR -fretting:FRTN:FRTN -fretwork:FRTR:FRTR -freudian:FRTN:FRTN -friaries:FRRS:FRRS -fribbled:FRPL:FRPL -fribbler:FRPL:FRPL -fribbles:FRPL:FRPL -fricando:FRKN:FRKN -friction:FRKX:FRKX -friedman:FRTM:FRTM -friendly:FRNT:FRNT -friesian:FRSN:FRXN -frigates:FRKT:FRKT -frighten:FRTN:FRTN -frigidly:FRJT:FRKT -frillies:FRLS:FRLS -frilling:FRLN:FRLN -fringing:FRNJ:FRNK -frippery:FRPR:FRPR -frisbees:FRSP:FRSP -frisians:FRSN:FRXN -friskers:FRSK:FRSK -friskets:FRSK:FRSK -friskier:FRSK:FRSK -friskily:FRSK:FRSK -frisking:FRSK:FRSK -frissons:FRSN:FRSN -fritters:FRTR:FRTR -fritting:FRTN:FRTN -frizzers:FRSR:FRSR -frizzier:FRS:FRTS -frizzily:FRSL:FRTS -frizzing:FRSN:FRTS -frizzled:FRSL:FRSL -frizzles:FRSL:FRSL -frocking:FRKN:FRKN -frogfish:FRKF:FRKF -froggies:FRJS:FRKS -frogging:FRJN:FRKN -frolicky:FRLK:FRLK -fromenty:FRMN:FRMN -frondage:FRNT:FRNT -frondose:FRNT:FRNT -frondous:FRNT:FRNT -frontage:FRNT:FRNT -frontier:FRNT:FRNT -fronting:FRNT:FRNT -frontlet:FRNT:FRNT -frontons:FRNT:FRNT -frostbit:FRST:FRST -frostier:FRST:FRST -frostily:FRST:FRST -frosting:FRST:FRST -frothier:FR0:FRTR -frothily:FR0L:FRTL -frothing:FR0N:FRTN -frottage:FRTJ:FRTK -froufrou:FRFR:FRFR -frowners:FRNR:FRNR -frowning:FRNN:FRNN -frowsier:FRSR:FRSR -frowsily:FRSL:FRSL -frowzier:FRSR:FRTS -frowzily:FRSL:FRTS -frozenly:FRSN:FRSN -fructify:FRKT:FRKT -fructose:FRKT:FRKT -frugally:FRKL:FRKL -fruitage:FRTJ:FRTK -fruiters:FRTR:FRTR -fruitful:FRTF:FRTF -fruitier:FRT:FRTR -fruiting:FRTN:FRTN -fruition:FRXN:FRXN -frumenti:FRMN:FRMN -frumenty:FRMN:FRMN -frumpier:FRMP:FRMP -frumpily:FRMP:FRMP -frumpish:FRMP:FRMP -frustule:FRST:FRST -frustums:FRST:FRST -fuchsias:FKSS:FKXS -fuchsine:FKSN:FKSN -fuddling:FTLN:FTLN -fuegians:FJNS:FKNS -fuehrers:FRRS:FRRS -fugacity:FKST:FKST -fuggiest:FKST:FKST -fugitive:FJTF:FKTF -fugleman:FKLM:FKLM -fuguists:FKST:FKST -fujiyama:FJM:FJM -fulcrums:FLKR:FLKR -fulfills:FLFL:FLFL -fullback:FLPK:FLPK -fullered:FLRT:FLRT -fullness:FLNS:FLNS -fullterm:FLTR:FLTR -fulltime:FLTM:FLTM -fulminic:FLMN:FLMN -fumarase:FMRS:FMRS -fumarate:FMRT:FMRT -fumarole:FMRL:FMRL -fumatory:FMTR:FMTR -fumblers:FMPL:FMPL -fumbling:FMPL:FMPL -fumeless:FMLS:FMLS -fumelike:FMLK:FMLK -fumigant:FMKN:FMKN -fumigate:FMKT:FMKT -fumingly:FMNK:FMNK -fumitory:FMTR:FMTR -function:FNKX:FNKX -functors:FNKT:FNKT -fundulus:FNTL:FNTL -funerals:FNRL:FNRL -funerary:FNRR:FNRR -funereal:FNRL:FNRL -funfairs:FNFR:FNFR -fungated:FNKT:FNKT -fungible:FNJP:FNKP -funguses:FNKS:FNKS -funiculi:FNKL:FNKL -funkiest:FNKS:FNKS -funneled:FNLT:FNLT -funniest:FNST:FNST -furanose:FRNS:FRNS -furbelow:FRPL:FRPL -furcated:FRKT:FRKT -furcates:FRKT:FRKT -furculae:FRKL:FRKL -furcular:FRKL:FRKL -furculas:FRKL:FRKL -furculum:FRKL:FRKL -furfural:FRFR:FRFR -furfuran:FRFR:FRFR -furfures:FRFR:FRFR -furfuryl:FRFR:FRFR -furlable:FRLP:FRLP -furlongs:FRLN:FRLN -furlough:FRLF:FRLF -furnaces:FRNS:FRNS -furriers:FRRS:FRRS -furriery:FRR:FRR -furriest:FRST:FRST -furrowed:FRT:FRT -furrower:FRR:FRR -furthers:FR0R:FRTR -furthest:FR0S:FRTS -furuncle:FRNK:FRNK -fusarium:FSRM:FSRM -fuselage:FSLJ:FSLK -fuseless:FSLS:FSLS -fusiform:FSFR:FSFR -fusilier:FSL:FSLR -fusional:FSNL:FXNL -fussiest:FSST:FSST -fusspots:FSPT:FSPT -fustiest:FSTS:FSTS -futilely:FTLL:FTLL -futility:FTLT:FTLT -futtocks:FTKS:FTKS -futurism:FTRS:FTRS -futurist:FTRS:FTRS -futurity:FTRT:FTRT -fuzziest:FSST:FTSS -gabbiest:KPST:KPST -gabblers:KPLR:KPLR -gabbling:KPLN:KPLN -gabbroic:KPRK:KPRK -gabfests:KPFS:KPFS -gadabout:KTPT:KTPT -gadflies:KTFL:KTFL -gadgeter:KJTR:KJTR -gadgetry:KJTR:KJTR -gadoleic:KTLK:KTLK -gadroons:KTRN:KTRN -gadwalls:KTLS:KTLS -gaffsail:KFSL:KFSL -gaggling:KKLN:KKLN -gaieties:KTS:KTS -gainable:KNPL:KNPL -gainings:KNNK:KNNK -gainless:KNLS:KNLS -gainsaid:KNST:KNST -gainsays:KNSS:KNSS -galactan:KLKT:KLKT -galactic:KLKT:KLKT -galactin:KLKT:KLKT -galahads:KLHT:KLHT -galangal:KLNK:KLNK -galavant:KLFN:KLFN -galaxies:KLKS:KLKS -galbanum:KLPN:KLPN -galeated:KLTT:KLTT -galenism:KLNS:KLNS -galenite:KLNT:KLNT -galilean:KLLN:KLLN -galilees:KLLS:KLLS -galingal:KLNK:KLNK -galivant:KLFN:KLFN -gallants:KLNT:KLNT -galleons:KLNS:KLNS -galleria:KLR:KL R -galliots:KLTS:KLTS -gallipot:KLPT:KLPT -gallnuts:KLNT:KLNT -galloons:KLNS:KLNS -galloped:KLPT:KLPT -galloper:KLPR:KLPR -galloway:KL:KL -galluses:KLSS:KLSS -galoshes:KLXS:KLXS -galtonia:KLTN:KLTN -galumphs:KLMF:KLMF -galvanic:KLFN:KLFN -gambades:KMPT:KMPT -gambados:KMPT:KMPT -gambeson:KMPS:KMPS -gambians:KMPN:KMPN -gamblers:KMPL:KMPL -gambling:KMPL:KMPL -gamboled:KMPL:KMPL -gambrels:KMPR:KMPR -gamecock:KMKK:KMKK -gamelans:KMLN:KMLN -gamelike:KMLK:KMLK -gameness:KMNS:KMNS -gamesman:KMSM:KMSM -gamesome:KMSM:KMSM -gamester:KMST:KMST -gametoid:KMTT:KMTT -gaminess:KMNS:KMNS -gammadia:KMT:KMT -gammiest:KMST:KMST -gammoned:KMNT:KMNT -gammoner:KMNR:KMNR -gangbang:KNKP:KNKP -gangetic:KNKT:KNKT -gangland:KNKL:KNKL -ganglial:KNKL:KNLL -gangliar:KNKL:KNLR -gangling:KNKL:KNLN -ganglion:KNKL:KNLN -gangrene:KNKR:KNKR -gangster:KNKS:KNKS -gangways:KNKS:KNKS -ganister:KNST:KNST -gantlets:KNTL:KNTL -gantline:KNTL:KNTL -gantries:KNTR:KNTR -ganymede:KNMT:KNMT -gaolbird:KLPR:KLPR -gapeworm:KPRM:KPRM -gapingly:KPNK:KPNK -gappiest:KPST:KPST -garaging:KRJN:KRKN -garbages:KRPJ:KRPK -garbanzo:KRPN:KRPN -garblers:KRPL:KRPL -garbless:KRPL:KRPL -garbling:KRPL:KRPL -garboard:KRPR:KRPR -gardened:KRTN:KRTN -gardener:KRTN:KRTN -gardenia:KRTN:KRTN -garfield:KRFL:KRFL -garganey:KRKN:KRKN -garglers:KRKL:KRKL -gargling:KRKL:KRLN -gargoyle:KRKL:KRKL -garishly:KRXL:KRXL -garlands:KRLN:KRLN -garlicky:KRLK:KRLK -garments:KRMN:KRMN -garnered:KRNR:KRNR -garotted:KRTT:KRTT -garotter:KRTR:KRTR -garpikes:KRPK:KRPK -garrison:KRSN:KRSN -garroted:KRTT:KRTT -garroter:KRTR:KRTR -garrotes:KRTS:KRTS -garrotte:KRT:KRT -gartered:KRTR:KRTR -gaselier:KSL:KSLR -gasified:KSFT:KSFT -gasifier:KSF:KSFR -gasifies:KSFS:KSFS -gasiform:KSFR:KSFR -gaslight:KSLT:KSLT -gasolier:KSL:KSLR -gasoline:KSLN:KSLN -gassiest:KSST:KSST -gassings:KSNK:KSNK -gastight:KSTT:KSTT -gastrica:KSTR:KSTR -gastrula:KSTR:KSTR -gasworks:KSRK:KSRK -gatefold:KTFL:KTFL -gatekeep:KTKP:KTKP -gateless:KTLS:KTLS -gatelike:KTLK:KTLK -gatepost:KTPS:KTPS -gateways:KTS:KTS -gathered:K0RT:KTRT -gatherer:K0RR:KTRR -gatlings:KTLN:KTLN -gauchely:KXL:KKL -gaudiest:KTST:KTST -gaumless:KMLS:KMLS -gauntest:KNTS:KNTS -gauntlet:KNTL:KNTL -gaussage:KSJ:KSK -gaussian:KSN:KSN -gauziest:KSST:KSST -gaveling:KFLN:KFLN -gavottes:KFTS:KFTS -gawkiest:KKST:KKST -gazeboes:KSPS:KSPS -gazelles:KSLS:KSLS -gazetted:KSTT:KSTT -gazettes:KSTS:KSTS -gazpacho:KSPK:KSPK -gazumped:KSMP:KSMP -gazumper:KSMP:KSMP -gearless:JRLS:KRLS -geebungs:JPNK:KPNK -geelbeks:JLPK:KLPK -geepound:JPNT:KPNT -geissler:KSLR:JSLR -gelatine:KLTN:JLTN -gelating:KLTN:JLTN -gelatins:KLTN:JLTN -gelation:KLXN:JLXN -geldings:KLTN:JLTN -gelsemia:KLSM:JLSM -gemellus:JMLS:KMLS -geminate:JMNT:KMNT -geminous:JMNS:KMNS -gemmules:JMLS:KMLS -gemology:JMLJ:KMLK -gemsbock:JMSP:KMSP -gemsboks:JMSP:KMSP -gemsbuck:JMSP:KMSP -gemstone:JMST:KMST -gendarme:JNTR:KNTR -generale:JNRL:KNRL -generals:JNRL:KNRL -generate:JNRT:KNRT -generous:JNRS:KNRS -genetics:JNTK:KNTK -genially:JNL:KNL -genicula:JNKL:KNKL -genipaps:JNPP:KNPP -genitals:JNTL:KNTL -genitive:JNTF:KNTF -genitors:JNTR:KNTR -geniuses:JNSS:KNSS -genizahs:JNSS:KNSS -genocide:JNST:KNST -genotype:JNTP:KNTP -gentians:JNXN:KNXN -gentiles:JNTL:KNTL -gentisic:JNTS:KNTS -gentisin:JNTS:KNTS -gentlest:JNTL:KNTL -gentling:JNTL:KNTL -geodesic:JTSK:KTSK -geodetic:JTTK:KTTK -geognosy:JNS:KKNS -geologer:JLKR:KLJR -geologic:JLJK:KLKK -geomancy:JMNS:KMNS -geometry:JMTR:KMTR -geophagy:JFK:KFJ -geophyte:JFT:KFT -geoponic:JPNK:KPNK -georgian:JRJN:KRKN -geotaxes:JTKS:KTKS -geotaxis:JTKS:KTKS -geotherm:J0RM:KTRM -geranial:KRNL:JRNL -geraniol:KRNL:JRNL -geranium:KRNM:JRNM -gerbille:KRPL:JRPL -gerenuks:KRNK:JRNK -germanes:KRMN:JRMN -germanic:KRMN:JRMN -germanin:KRMN:JRMN -germfree:KRMF:JRMF -germiest:KRMS:JRMS -germinal:KRMN:JRMN -gerontal:KRNT:JRNT -gerontic:KRNT:JRNT -gertrude:KRTR:JRTR -gesneria:KSNR:JSNR -gesserit:KSRT:JSRT -gestalts:KSTL:JSTL -gestated:KSTT:JSTT -gestates:KSTT:JSTT -gestoses:KSTS:JSTS -gestosis:KSTS:JSTS -gestural:KSTR:JSTR -gestured:KSTR:JSTR -gesturer:KSTR:JSTR -gestures:KSTR:JSTR -getaways:KTS:KTS -gettable:KTPL:KTPL -ghanaian:KNN:KNN -ghanians:KNNS:KNNS -gharials:KRLS:KRLS -gharries:KRS:KRS -gherkins:KRKN:KRKN -ghettoes:KTS:KTS -ghillies:JLS:JLS -ghosting:KSTN:KSTN -ghoulish:KLX:KLX -giantess:JNTS:KNTS -giantism:JNTS:KNTS -gianuzzi:JNS:KNTS -gibbered:KPRT:JPRT -gibbeted:KPTT:JPTT -gibbsite:KPST:JPST -gibingly:KPNK:JPNK -giddiest:JTST:KTST -giddying:JTNK:KTNK -giftedly:JFTT:KFTT -giftless:JFTL:KFTL -giftwrap:JFTR:KFTR -gigabyte:JKPT:KKPT -gigantic:JKNT:KKNT -gigglers:JKLR:KKLR -giggling:JKLN:KKLN -gilberts:KLPR:JLPR -gillaroo:KLR:JLR -gillions:KLNS:JLNS -gillless:KLLS:JLLS -gilllike:KLLK:JLLK -gillmore:KLMR:JLMR -gilthead:KL0T:JLTT -gimcrack:JMKR:KMKR -gimleted:JMLT:KMLT -gimmicks:JMKS:KMKS -gimmicky:JMK:KMK -gimpiest:JMPS:KMPS -gingelli:KNJL:JNKL -gingelly:KNJL:JNKL -gingered:KNKR:JNJR -gingerly:KNKR:JNJR -ginghams:KNKM:JNKM -gingivae:KNJF:JNKF -gingival:KNJF:JNKF -ginglymi:KNKL:JNKL -ginkgoes:KNKK:JNKK -ginsengs:KNSN:JNSN -gipsydom:JPST:KPST -gipsyish:JPSX:KPSX -giraffes:JRFS:KRFS -girasols:JRSL:KRSL -girdered:JRTR:KRTR -girdlers:JRTL:KRTL -girdling:JRTL:KRTL -girlhood:JRLT:KRLT -girosole:JRSL:KRSL -girosols:JRSL:KRSL -girthing:JR0N:KRTN -gisarmes:JSRM:KSRM -gitterns:JTRN:KTRN -giuseppe:JSP:KSP -giveable:JFPL:KFPL -giveaway:JF:KF -gizzards:JSRT:KTSR -glabella:KLPL:KLPL -glabrate:KLPR:KLPR -glabrous:KLPR:KLPR -glaceing:KLSN:KLSN -glaciate:KLST:KLXT -glaciers:KLSR:KLXR -gladdens:KLTN:KLTN -gladdest:KLTS:KLTS -gladding:KLTN:KLTN -gladdons:KLTN:KLTN -gladiate:KLTT:KLTT -gladioli:KLTL:KLTL -gladness:KLTN:KLTN -gladsome:KLTS:KLTS -glairier:KLR:KLRR -glairing:KLRN:KLRN -glamored:KLMR:KLMR -glancing:KLNS:KLNS -glanders:KLNT:KLNT -glandula:KLNT:KLNT -glandule:KLNT:KLNT -glasises:KLSS:KLSS -glassful:KLSF:KLSF -glassier:KLS:KLSR -glassily:KLSL:KLSL -glassine:KLSN:KLSN -glassing:KLSN:KLSN -glassman:KLSM:KLSM -glassmen:KLSM:KLSM -glaucoma:KLKM:KLKM -glaucous:KLKS:KLKS -glaziers:KLSR:KLSR -glaziery:KLSR:KLSR -gleamier:KLM:KLMR -gleaming:KLMN:KLMN -gleaners:KLNR:KLNR -gleaning:KLNN:KLNN -gleesome:KLSM:KLSM -gleetier:KLT:KLTR -glendale:KLNT:KLNT -glenlike:KLNL:KLNL -glenwood:KLNT:KLNT -gliacyte:KLST:LST -gliadine:KLTN:LTN -glibbest:KLPS:LPST -glibness:KLPN:LPNS -glimmers:KLMR:LMRS -glimpsed:KLMP:LMPS -glimpser:KLMP:LMPS -glimpses:KLMP:LMPS -glinting:KLNT:LNTN -gliomata:KLMT:LMT -glissade:KLST:LST -glistens:KLST:LSTN -glitches:KLXS:LXS -glitters:KLTR:LTRS -glittery:KLTR:LTR -glitzier:KLTS:LTSR -gloaming:KLMN:KLMN -gloaters:KLTR:KLTR -gloating:KLTN:KLTN -globally:KLPL:KLPL -globated:KLPT:KLPT -globular:KLPL:KLPL -globules:KLPL:KLPL -globulin:KLPL:KLPL -gloomful:KLMF:KLMF -gloomier:KLM:KLMR -gloomily:KLML:KLML -glooming:KLMN:KLMN -gloriosa:KLRS:KLRS -glorious:KLRS:KLRS -glorying:KLRN:KLRN -glossaes:KLSS:KLSS -glossary:KLSR:KLSR -glosseme:KLSM:KLSM -glossers:KLSR:KLSR -glossier:KLS:KLSR -glossies:KLSS:KLSS -glossily:KLSL:KLSL -glossina:KLSN:KLSN -glossing:KLSN:KLSN -glossist:KLSS:KLSS -glowered:KLRT:KLRT -glowworm:KLRM:KLRM -gloxinia:KLKS:KLKS -glucagon:KLKK:KLKK -glucaric:KLKR:KLKR -glucinum:KLSN:KLSN -gluconic:KLKN:KLKN -glucosan:KLKS:KLKS -glucosic:KLKS:KLKS -gluelike:KLLK:KLLK -glummest:KLMS:KLMS -glumness:KLMN:KLMN -glutaeal:KLTL:KLTL -glutaeus:KLTS:KLTS -glutamic:KLTM:KLTM -glutaric:KLTR:KLTR -glutelin:KLTL:KLTL -glutenin:KLTN:KLTN -glutting:KLTN:KLTN -gluttons:KLTN:KLTN -gluttony:KLTN:KLTN -glycemia:KLSM:KLSM -glycemic:KLSM:KLSM -glyceric:KLSR:KLSR -glycerin:KLSR:KLSR -glycerol:KLSR:KLSR -glyceryl:KLSR:KLSR -glycogen:KLKJ:KLKK -glycolic:KLKL:KLKL -glyptics:KLPT:KLPT -gnarling:NRLN:NRLN -gnashing:NXNK:NXNK -gnathion:N0N:NTN -gnathite:N0T:NTT -gnathous:N0S:NTS -gnatlike:NTLK:NTLK -gnawable:NPL:NPL -gneissic:NSK:NSK -gnomical:NMKL:NMKL -gnomonic:NMNK:NMNK -goadlike:KTLK:KTLK -goalkeep:KLKP:KLKP -goalless:KLS:KLS -goalpost:KLPS:KLPS -goaltend:KLTN:KLTN -goatherd:K0RT:KTRT -goatlike:KTLK:KTLK -goatskin:KTSK:KTSK -gobblers:KPLR:KPLR -gobbling:KPLN:KPLN -gobelins:KPLN:KPLN -godchild:KTXL:KTKL -godetias:KTXS:KTXS -godliest:KTLS:KTLS -godroons:KTRN:KTRN -godsends:KTSN:KTSN -godspeed:KTSP:KTSP -godzilla:KTSL:KTSL -goebbels:KPLS:KPLS -goethian:K0N:KTN -goethite:K0T:KTT -gofering:KFRN:KFRN -goffered:KFRT:KFRT -gogetter:KKTR:KKTR -goggling:KKLN:KKLN -goitered:KTRT:KTRT -goitrous:KTRS:KTRS -goldenly:KLTN:KLTN -goldeyes:KLTS:KLTS -goldfish:KLTF:KLTF -golgotha:KLK0:KLKT -goliards:KLRT:KLRT -goliaths:KL0S:KLTS -golliwog:KLK:KLK -golloped:KLPT:KLPT -golloper:KLPR:KLPR -gollying:KLNK:KLNK -goloshes:KLXS:KLXS -gombroon:KMPR:KMPR -gomerils:KMRL:KMRL -gomorrah:KMR:KMR -gonadial:KNTL:KNTL -gonaduct:KNTK:KNTK -gonalgia:KNLJ:KNLK -gondolas:KNTL:KNTL -gonfalon:KNFL:KNFL -gonfanon:KNFN:KNFN -gonglike:KNKL:KNKL -gonidial:KNTL:KNTL -gonidium:KNTM:KNTM -gonocyte:KNST:KNST -gonoduct:KNTK:KNTK -gonomery:KNMR:KNMR -gonopore:KNPR:KNPR -gonzales:KNSL:KNSL -gonzalez:KNSL:KNSL -goodbyes:KTPS:KTPS -goodlier:KTL:KTLR -goodness:KTNS:KTNS -goodrich:KTRX:KTRK -goodwife:KTF:KTF -goodwill:KTL:KTL -goodyear:KTR:KTR -goofball:KFPL:KFPL -goofiest:KFST:KFST -googlies:KKLS:KLS -goosegob:KSKP:KSKP -goosegog:KSKK:KSKK -goosiest:KSST:KSST -gophered:KFRT:KFRT -gorcocks:KRKK:KRKK -gorgeous:KRJS:KRKS -gorgerin:KRKR:KRJR -gorgeted:KRKT:KRKT -gorgonia:KRKN:KRKN -gorillas:KRLS:KRLS -goriness:KRNS:KRNS -gormands:KRMN:KRMN -gormless:KRML:KRML -goshawks:KXKS:KXKS -goslings:KSLN:KSLN -gossamer:KSMR:KSMR -gossiped:KSPT:KSPT -gossiper:KSPR:KSPR -gossypol:KSPL:KSPL -gothical:K0KL:KTKL -goundous:KNTS:KNTS -gouramis:KRMS:KRMS -gourmand:KRMN:KRMN -gourmets:KRMT:KRMT -goutiest:KTST:KTST -goutweed:KTT:KTT -governed:KFRN:KFRN -governor:KFRN:KFRN -graafian:KRFN:KRFN -grabbers:KRPR:KRPR -grabbier:KRP:KRPR -grabbing:KRPN:KRPN -grabbled:KRPL:KRPL -grabbler:KRPL:KRPL -grabbles:KRPL:KRPL -graceful:KRSF:KRSF -graciaso:KRSS:KRXS -gracilis:KRSL:KRSL -gracious:KRSS:KRXS -grackles:KRKL:KRKL -gradable:KRTP:KRTP -gradated:KRTT:KRTT -gradates:KRTT:KRTT -gradient:KRTN:KRTN -gradines:KRTN:KRTN -gradings:KRTN:KRTN -graduand:KRTN:KRTN -graduate:KRTT:KRTT -graduses:KRTS:KRTS -graffiti:KRFT:KRFT -graffito:KRFT:KRFT -grafters:KRFT:KRFT -grafting:KRFT:KRFT -grainers:KRNR:KRNR -grainier:KRN:KRNR -graining:KRNN:KRNN -gralloch:KRLK:KRLK -grammars:KRMR:KRMR -grammies:KRMS:KRMS -granatum:KRNT:KRNT -grandame:KRNT:KRNT -grandams:KRNT:KRNT -granddad:KRNT:KRNT -grandees:KRNT:KRNT -grandest:KRNT:KRNT -grandeur:KRNT:KRNT -grandmas:KRNT:KRNT -grandpas:KRNT:KRNT -grandson:KRNT:KRNT -granites:KRNT:KRNT -granitic:KRNT:KRNT -grannies:KRNS:KRNS -grannoms:KRNM:KRNM -grantees:KRNT:KRNT -granters:KRNT:KRNT -granting:KRNT:KRNT -grantors:KRNT:KRNT -granular:KRNL:KRNL -granules:KRNL:KRNL -grapheme:KRFM:KRFM -graphics:KRFK:KRFK -graphing:KRFN:KRFN -graphite:KRFT:KRFT -grapnels:KRPN:KRPN -grappled:KRPL:KRPL -grappler:KRPL:KRPL -grapples:KRPL:KRPL -graspers:KRSP:KRSP -grasping:KRSP:KRSP -grassers:KRSR:KRSR -grassier:KRS:KRSR -grassing:KRSN:KRSN -grateful:KRTF:KRTF -gratings:KRTN:KRTN -grattage:KRTJ:KRTK -gratuity:KRTT:KRTT -gravamen:KRFM:KRFM -gravatus:KRFT:KRFT -graveled:KRFL:KRFL -gravelly:KRFL:KRFL -gravidae:KRFT:KRFT -gravidas:KRFT:KRFT -gravidic:KRFT:KRFT -gravidly:KRFT:KRFT -graviton:KRFT:KRFT -grayfish:KRFX:KRFX -grayling:KRLN:KRLN -grayness:KRNS:KRNS -greasers:KRSR:KRSR -greasier:KRS:KRSR -greasily:KRSL:KRSL -greasing:KRSN:KRSN -greatest:KRTS:KRTS -grecians:KRSN:KRXN -greedier:KRT:KRTR -greedily:KRTL:KRTL -greegree:KRKR:KRKR -greenery:KRNR:KRNR -greenest:KRNS:KRNS -greenfly:KRNF:KRNF -greening:KRNN:KRNN -greenish:KRNX:KRNX -greenlet:KRNL:KRNL -greeters:KRTR:KRTR -greeting:KRTN:KRTN -greffier:KRF:KRFR -gremials:KRML:KRML -gremlins:KRML:KRML -grenades:KRNT:KRNT -grewsome:KRSM:KRSM -greyback:KRPK:KRPK -greyhens:KRHN:KRHN -greyness:KRNS:KRNS -gribbles:KRPL:KRPL -gridding:KRTN:KRTN -griddled:KRTL:KRTL -griddles:KRTL:KRTL -gridiron:KRTR:KRTR -gridlock:KRTL:KRTL -grievant:KRFN:KRFN -grievers:KRFR:KRFR -grieving:KRFN:KRFN -grievous:KRFS:KRFS -griffins:KRFN:KRFN -griffith:KRF0:KRFT -griffons:KRFN:KRFN -grillage:KRLJ:KRLK -grillers:KRLR:KRLR -grilling:KRLN:KRLN -grimaced:KRMS:KRMS -grimacer:KRMS:KRMS -grimaces:KRMS:KRMS -grimiest:KRMS:KRMS -grimmest:KRMS:KRMS -grimness:KRMN:KRMN -grimoire:KRMR:KRMR -grinders:KRNT:KRNT -grindery:KRNT:KRNT -grinding:KRNT:KRNT -grinners:KRNR:KRNR -grinning:KRNN:KRNN -gripiest:KRPS:KRPS -grippers:KRPR:KRPR -grippier:KRP:KRPR -gripping:KRPN:KRPN -grisette:KRST:KRST -grisious:KRSS:KRXS -griskins:KRSK:KRSK -grislier:KRL:KRLR -gritters:KRTR:KRTR -grittier:KRT:KRTR -grittily:KRTL:KRTL -gritting:KRTN:KRTN -grizzled:KRSL:KRSL -grizzles:KRSL:KRSL -groaners:KRNR:KRNR -groaning:KRNN:KRNN -grockles:KRKL:KRKL -groggier:KRJ:KRKR -groggily:KRJL:KRKL -grograms:KRKR:KRKR -grogshop:KRKX:KRKX -groining:KRNN:KRNN -grommets:KRMT:KRMT -gromwell:KRML:KRML -groomers:KRMR:KRMR -grooming:KRMN:KRMN -groovier:KRF:KRFR -grooving:KRFN:KRFN -grosbeak:KRSP:KRSP -groschen:KRXN:KRSK -grossers:KRSR:KRSR -grossest:KRSS:KRSS -grossing:KRSN:KRSN -grottier:KRT:KRTR -grottoes:KRTS:KRTS -grouched:KRXT:KRKT -groucher:KRXR:KRKR -grouches:KRXS:KRKS -grounded:KRNT:KRNT -grounder:KRNT:KRNT -groundho:KRNT:KRNT -groupers:KRPR:KRPR -groupies:KRPS:KRPS -grouping:KRPN:KRPN -grousers:KRSR:KRSR -grousing:KRSN:KRSN -grouters:KRTR:KRTR -groutier:KRT:KRTR -grouting:KRTN:KRTN -groveled:KRFL:KRFL -groveler:KRFL:KRFL -growable:KRPL:KRPL -growlers:KRLR:KRLR -growling:KRLN:KRLN -grownups:KRNP:KRNP -growthes:KR0S:KRTS -grubbers:KRPR:KRPR -grubbier:KRP:KRPR -grubbily:KRPL:KRPL -grubbing:KRPN:KRPN -grudgers:KRJR:KRJR -grudging:KRJN:KRJN -gruelers:KRLR:KRLR -grueling:KRLN:KRLN -gruesome:KRSM:KRSM -gruffest:KRFS:KRFS -gruffish:KRFX:KRFX -grumbled:KRMP:KRMP -grumbler:KRMP:KRMP -grumbles:KRMP:KRMP -grummets:KRMT:KRMT -grummose:KRMS:KRMS -grummous:KRMS:KRMS -grumpier:KRMP:KRMP -grumpily:KRMP:KRMP -grumpish:KRMP:KRMP -grungier:KRNJ:KRNK -grunions:KRNN:KRNN -grunters:KRNT:KRNT -grunting:KRNT:KRNT -gruntled:KRNT:KRNT -gryphons:KRFN:KRFN -gryposes:KRPS:KRPS -gryposis:KRPS:KRPS -guacharo:KXR:KKR -guaiacol:KKL:KKL -guaiacum:KKM:KKM -guaiocum:KKM:KKM -guanacos:KNKS:KNKS -guanidin:KNTN:KNTN -guanylic:KNLK:KNLK -guaranis:KRNS:KRNS -guaranty:KRNT:KRNT -guardant:KRTN:KRTN -guardees:KRTS:KRTS -guarders:KRTR:KRTR -guardian:KRTN:KRTN -guarding:KRTN:KRTN -guayules:KLS:KLS -guddling:KTLN:KTLN -gudgeons:KJNS:KJNS -guerdons:KRTN:KRTN -guerezas:KRSS:KRSS -guerilla:KRL:KRL -guernsey:KRNS:KRNS -guessers:KSRS:KSRS -guessing:KSNK:KSNK -guffawed:KFT:KFT -guichets:KXTS:KKTS -guidable:KTPL:KTPL -guidance:KTNS:KTNS -guilders:KLTR:KLTR -guileful:KLFL:KLFL -guiltier:KLT:KLTR -guiltily:KLTL:KLTL -guineans:KNNS:KNNS -gulflike:KLFL:KLFL -gulfweed:KLFT:KLFT -gullible:KLPL:KLPL -gullibly:KLPL:KLPL -gumboils:KMPL:KMPL -gumboots:KMPT:KMPT -gumbotil:KMPT:KMPT -gumdrops:KMTR:KMTR -gummiest:KMST:KMST -gummosis:KMSS:KMSS -gumption:KMPX:KMPX -gumshoes:KMXS:KMXS -gumtrees:KMTR:KMTR -gumweeds:KMTS:KMTS -gunboats:KNPT:KNPT -gunfight:KNFT:KNFT -gunflint:KNFL:KNFL -gunlocks:KNLK:KNLK -gunmetal:KNMT:KNMT -gunpaper:KNPP:KNPP -gunpoint:KNPN:KNPN -gunshots:KNXT:KNXT -gunsmith:KNSM:KNSM -gunstock:KNST:KNST -gunwales:KNLS:KNLS -gurdwara:KRTR:KRTR -gurgites:KRJT:KRKT -gurglets:KRKL:KRKL -gurgling:KRKL:KRLN -gurnards:KRNR:KRNR -gurriers:KRRS:KRRS -guruship:KRXP:KRXP -gushiest:KXST:KXST -gusseted:KSTT:KSTT -gussying:KSNK:KSNK -gustiest:KSTS:KSTS -gustless:KSTL:KSTL -gutenber:KTNP:KTNP -gutsiest:KTSS:KTSS -guttated:KTTT:KTTT -guttered:KTRT:KTRT -guttiest:KTST:KTST -guttural:KTRL:KTRL -guyanese:KNS:KNS -guzzlers:KSLR:KSLR -guzzling:KSLN:KSLN -gwyniads:KNTS:KNTS -gymkhana:KMKN:JMKN -gymnasia:KMNS:JMNX -gymnasts:KMNS:JMNS -gymnotus:KMNT:JMNT -gymslips:KMSL:JMSL -gynandry:KNNT:JNNT -gynarchy:KNRX:JNRK -gynecium:KNSM:JNSM -gynecoid:KNKT:JNKT -gyniatry:KNTR:JNTR -gynobase:KNPS:JNPS -gynoecia:KNS:JNX -gypseous:KPSS:JPSS -gypsydom:KPST:JPST -gypsyish:KPSX:JPSX -gyrating:KRTN:JRTN -gyration:KRXN:JRXN -gyrators:KRTR:JRTR -gyratory:KRTR:JRTR -gyrostat:KRST:JRST -habakkuk:HPKK:HPKK -habanera:HPNR:HPNR -habendum:HPNT:HPNT -habenula:HPNL:HPNL -habitant:HPTN:HPTN -habitats:HPTT:HPTT -habiting:HPTN:HPTN -habitual:HPTL:HPTL -habitude:HPTT:HPTT -habitues:HPTS:HPTS -habsburg:HPSP:HPSP -hachured:HKRT:HKRT -hachures:HKRS:HKRS -hacienda:HSNT:HXNT -hackbuts:HKPT:HKPT -hackling:HKLN:HKLN -hackmann:HKMN:HKMN -hackneys:HKNS:HKNS -hacksawn:HKSN:HKSN -hacksaws:HKSS:HKSS -hackwork:HKRK:HKRK -haddocks:HTKS:HTKS -hadedahs:HTTS:HTTS -hadronic:HTRN:HTRN -haematic:HMTK:HMTK -haematin:HMTN:HMTN -haeredes:HRTS:HRTS -haeremai:HRM:HRM -hagglers:HKLR:HKLR -haggling:HKLN:HKLN -hairball:HRPL:HRPL -haircuts:HRKT:HRKT -hairgrip:HRKR:HRKR -hairiest:HRST:HRST -hairless:HRLS:HRLS -hairlike:HRLK:HRLK -hairline:HRLN:HRLN -hairnets:HRNT:HRNT -hairpins:HRPN:HRPN -hairtail:HRTL:HRTL -hairworm:HRRM:HRRM -haitians:HXNS:HXNS -halalled:HLLT:HLLT -halation:HLXN:HLXN -halazone:HLSN:HLSN -halberds:HLPR:HLPR -haleness:HLNS:HLNS -halfback:HLFP:HLFP -halfbeak:HLFP:HLFP -halftime:HLFT:HLFT -halftone:HLFT:HLFT -halfwits:HLFT:HLFT -halibuts:HLPT:HLPT -halliard:HLRT:HLRT -hallmark:HLMR:HLMR -halloing:HLNK:HLNK -hallooed:HLT:HLT -hallowed:HLT:HLT -hallower:HLR:HLR -halluces:HLSS:HLSS -hallways:HLS:HLS -halogens:HLJN:HLKN -halophil:HLFL:HLFL -haltered:HLTR:HLTR -halteres:HLTR:HLTR -halyards:HLRT:HLRT -hamartia:HMRX:HMRX -hamatums:HMTM:HMTM -hamburgs:HMPR:HMPR -hamilton:HMLT:HMLT -hammered:HMRT:HMRT -hammerer:HMRR:HMRR -hammiest:HMST:HMST -hammocks:HMKS:HMKS -hampered:HMPR:HMPR -hamperer:HMPR:HMPR -hamsters:HMST:HMST -hamulate:HMLT:HMLT -hamulose:HMLS:HMLS -hamulous:HMLS:HMLS -hanapers:HNPR:HNPR -handbags:HNTP:HNTP -handball:HNTP:HNTP -handbell:HNTP:HNTP -handbill:HNTP:HNTP -handbook:HNTP:HNTP -handcars:HNTK:HNTK -handcart:HNTK:HNTK -handcuff:HNTK:HNTK -handedly:HNTT:HNTT -handfast:HNTF:HNTF -handfeed:HNTF:HNTF -handfuls:HNTF:HNTF -handgrip:HNTK:HNTK -handguns:HNTK:HNTK -handhold:HNTL:HNTL -handicap:HNTK:HNTK -handiest:HNTS:HNTS -handlers:HNTL:HNTL -handless:HNTL:HNTL -handling:HNTL:HNTL -handmade:HNTM:HNTM -handmaid:HNTM:HNTM -handouts:HNTT:HNTT -handover:HNTF:HNTF -handpick:HNTP:HNTP -handrail:HNTR:HNTR -handsale:HNTS:HNTS -handsaws:HNTS:HNTS -handsets:HNTS:HNTS -handsful:HNTS:HNTS -handsome:HNTS:HNTS -handwork:HNTR:HNTR -handyman:HNTM:HNTM -handymen:HNTM:HNTM -hanepoot:HNPT:HNPT -hangable:HNKP:HNKP -hangings:HNJN:HNKN -hangnail:HNNL:HNKN -hangouts:HNKT:HNKT -hangover:HNKF:HNKF -hankered:HNKR:HNKR -hanseled:HNSL:HNSL -hanukkah:HNK:HNK -haplites:HPLT:HPLT -haplitic:HPLT:HPLT -haploidy:HPLT:HPLT -haplosis:HPLS:HPLS -happened:HPNT:HPNT -happiest:HPST:HPST -hapsburg:HPSP:HPSP -haptenes:HPTN:HPTN -haptenic:HPTN:HPTN -hapteron:HPTR:HPTR -haptical:HPTK:HPTK -harakiri:HRKR:HRKR -harambee:HRMP:HRMP -harangue:HRNK:HRNK -harassed:HRST:HRST -harasser:HRSR:HRSR -harasses:HRSS:HRSS -harbored:HRPR:HRPR -harborer:HRPR:HRPR -hardback:HRTP:HRTP -hardbake:HRTP:HRTP -hardball:HRTP:HRTP -hardcore:HRTK:HRTK -hardened:HRTN:HRTN -hardener:HRTN:HRTN -hardhack:HRTK:HRTK -hardhead:HRTT:HRTT -hardiest:HRTS:HRTS -hardness:HRTN:HRTN -hardrock:HRTR:HRTR -hardship:HRTX:HRTX -hardtack:HRTK:HRTK -hardtops:HRTP:HRTP -hardware:HRTR:HRTR -hardwire:HRTR:HRTR -hardwood:HRTT:HRTT -hardwork:HRTR:HRTR -harebell:HRPL:HRPL -harelike:HRLK:HRLK -harelips:HRLP:HRLP -hareness:HRNS:HRNS -haricots:HRKT:HRKT -harkened:HRKN:HRKN -harkener:HRKN:HRKN -harlotry:HRLT:HRLT -harmalol:HRML:HRML -harmless:HRML:HRML -harmonia:HRMN:HRMN -harmonic:HRMN:HRMN -harpings:HRPN:HRPN -harpists:HRPS:HRPS -harpoons:HRPN:HRPN -harridan:HRTN:HRTN -harriers:HRRS:HRRS -harrison:HRSN:HRSN -harrowed:HRT:HRT -harrower:HRR:HRR -harrying:HRNK:HRNK -harshest:HRXS:HRXS -harslets:HRSL:HRSL -hartford:HRTF:HRTF -haruspex:HRSP:HRSP -harvests:HRFS:HRFS -hasidism:HSTS:HSTS -hassling:HSLN:HSLN -hassocks:HSKS:HSKS -hasteful:HSTF:HSTF -hastened:HSTN:HSTN -hastener:HSTN:HSTN -hastiest:HSTS:HSTS -hastings:HSTN:HSTN -hatchels:HXLS:HXLS -hatchers:HXRS:HXRS -hatchery:HXR:HXR -hatchets:HXTS:HXTS -hatching:HXNK:HXNK -hatchway:HX:HX -hateable:HTPL:HTPL -hattings:HTNK:HTNK -hauberks:HPRK:HPRK -haulages:HLJS:HLKS -hauliers:HLRS:HLRS -haunched:HNXT:HNKT -haunches:HNXS:HNKS -haunters:HNTR:HNTR -haunting:HNTN:HNTN -hausfrau:HSFR:HSFR -haustral:HSTR:HSTR -haustrum:HSTR:HSTR -havelock:HFLK:HFLK -havering:HFRN:HFRN -havocked:HFKT:HFKT -havocker:HFKR:HFKR -hawaiian:HN:HN -hawfinch:HFNX:HFNK -hawkbill:HKPL:HKPL -hawkbits:HKPT:HKPT -hawkweed:HKT:HKT -hawthorn:H0RN:HTRN -hayboxes:HPKS:HPKS -haycocks:HKKS:HKKS -hayfield:HFLT:HFLT -hayforks:HFRK:HFRK -haylofts:HLFT:HLFT -haymaker:HMKR:HMKR -hayracks:HRKS:HRKS -hayricks:HRKS:HRKS -hayseeds:HSTS:HSTS -haystack:HSTK:HSTK -hazarded:HSRT:HSRT -hazelhen:HSLN:HSLN -hazelnut:HSLN:HSLN -haziness:HSNS:HSNS -headache:HTX:HTK -headachy:HTK:HTK -headband:HTPN:HTPN -headcase:HTKS:HTKS -headfast:HTFS:HTFS -headgate:HTKT:HTKT -headgear:HJR:HJR -headhunt:HTNT:HTNT -headiest:HTST:HTST -headings:HTNK:HTNK -headlamp:HTLM:HTLM -headland:HTLN:HTLN -headless:HTLS:HTLS -headlike:HTLK:HTLK -headline:HTLN:HTLN -headlock:HTLK:HTLK -headlong:HTLN:HTLN -headmost:HTMS:HTMS -headnote:HTNT:HTNT -headpins:HTPN:HTPN -headrace:HTRS:HTRS -headrail:HTRL:HTRL -headrest:HTRS:HTRS -headroom:HTRM:HTRM -headsail:HTSL:HTSL -headsets:HTST:HTST -headship:HTXP:HTXP -headsman:HTSM:HTSM -headsmen:HTSM:HTSM -headward:HTRT:HTRT -headwind:HTNT:HTNT -headword:HTRT:HTRT -headwork:HTRK:HTRK -healable:HLPL:HLPL -healthes:HL0S:HLTS -hearable:HRPL:HRPL -hearings:HRNK:HRNK -hearkens:HRKN:HRKN -heartens:HRTN:HRTN -hearthes:HR0S:HRTS -heartier:HRT:HRTR -hearties:HRTS:HRTS -heartily:HRTL:HRTL -hearting:HRTN:HRTN -heatable:HTPL:HTPL -heatedly:HTTL:HTTL -heathens:H0NS:HTNS -heathery:H0R:HTR -heatless:HTLS:HTLS -heavenly:HFNL:HFNL -heaviest:HFST:HFST -heavyset:HFST:HFST -hebdomad:HPTM:HPTM -heberden:HPRT:HPRT -hebetate:HPTT:HPTT -hebetude:HPTT:HPTT -hebraism:HPRS:HPRS -hebraist:HPRS:HPRS -hecatomb:HKTM:HKTM -hecklers:HKLR:HKLR -heckling:HKLN:HKLN -hectares:HKTR:HKTR -hectored:HKTR:HKTR -hedgehog:HJHK:HJHK -hedgehop:HJHP:HJHP -hedgepig:HJPK:HJPK -hedgerow:HJR:HJRF -hedonics:HTNK:HTNK -hedonism:HTNS:HTNS -hedonist:HTNS:HTNS -heedless:HTLS:HTLS -heelamon:HLMN:HLMN -heelball:HLPL:HLPL -heelless:HLS:HLS -heelpost:HLPS:HLPS -heeltaps:HLTP:HLTP -heftiest:HFTS:HFTS -hegemony:HJMN:HKMN -heighten:HTN:HTN -heimlich:HMLX:HMLK -heirless:HRLS:HRLS -heirloom:HRLM:HRLM -heirship:HRXP:HRXP -heisting:HSTN:HSTN -helenium:HLNM:HLNM -heliacal:HLKL:HLKL -helicity:HLST:HLST -helicoid:HLKT:HLKT -helicons:HLKN:HLKN -helideck:HLTK:HLTK -helioses:HLSS:HLSS -heliosis:HLSS:HLSS -heliozoa:HLS:HLS -helipads:HLPT:HLPT -heliport:HLPR:HLPR -hellbent:HLPN:HLPN -hellcats:HLKT:HLKT -hellenes:HLNS:HLNS -hellenic:HLNK:HLNK -hellfire:HLFR:HLFR -hellhole:HLL:HLL -hellions:HLNS:HLNS -helloaed:HLT:HLT -helmeted:HLMT:HLMT -helminth:HLMN:HLMN -helmsman:HLMS:HLMS -helmsmen:HLMS:HLMS -helomata:HLMT:HLMT -helotage:HLTJ:HLTK -helotism:HLTS:HLTS -helotomy:HLTM:HLTM -helpable:HLPP:HLPP -helpings:HLPN:HLPN -helpless:HLPL:HLPL -helpmate:HLPM:HLPM -helpmeet:HLPM:HLPM -helsinki:HLSN:HLSN -hematein:HMTN:HMTN -hematite:HMTT:HMTT -hematoid:HMTT:HMTT -hematoma:HMTM:HMTM -hemiolas:HMLS:HMLS -hemiolia:HML:HML -hemiolic:HMLK:HMLK -hemiopia:HMP:HMP -hemiopic:HMPK:HMPK -hemipode:HMPT:HMPT -hemipods:HMPT:HMPT -hemisect:HMSK:HMSK -hemlines:HMLN:HMLN -hemlocks:HMLK:HMLK -hemocyte:HMST:HMST -hemogram:HMKR:HMKR -hemolyze:HMLS:HMLS -hemostat:HMST:HMST -hemozoon:HMSN:HMSN -hemplike:HMPL:HMPL -henchman:HNXM:HNKM -henchmen:HNXM:HNKM -hencoops:HNKP:HNKP -henequen:HNKN:HNKN -henhouse:HNS:HNS -hennaing:HNNK:HNNK -henpecks:HNPK:HNPK -hepatica:HPTK:HPTK -hepatize:HPTS:HPTS -hepatoma:HPTM:HPTM -heptagon:HPTK:HPTK -heptarch:HPTR:HPTR -heracles:HRKL:HRKL -heralded:HRLT:HRLT -heraldic:HRLT:HRLT -heraldry:HRLT:HRLT -herbaria:HRPR:HRPR -herbiest:HRPS:HRPS -hercules:HRKL:HRKL -herdsman:HRTS:HRTS -herdsmen:HRTS:HRTS -heredity:HRTT:HRTT -hereford:HRFR:HRFR -hereinto:HRNT:HRNT -heresies:HRSS:HRSS -heretics:HRTK:HRTK -heretrix:HRTR:HRTR -hereunto:HRNT:HRNT -hereupon:HRPN:HRPN -herewith:HR0:HRT -heritage:HRTJ:HRTK -heritrix:HRTR:HRTR -hermetic:HRMT:HRMT -hermites:HRMT:HRMT -hermitic:HRMT:HRMT -herniaes:HRNS:HRNS -herniate:HRNT:HRNT -hernshaw:HRNX:HRNX -heroical:HRKL:HRKL -heroines:HRNS:HRNS -heroised:HRST:HRST -heroises:HRSS:HRSS -herpetic:HRPT:HRPT -herrings:HRNK:HRNK -hertford:HRTF:HRTF -hertzian:HRTS:HRTS -hesitant:HSTN:HSTN -hesitate:HSTT:HSTT -hetaerae:HTR:HTR -hetaeras:HTRS:HTRS -hetaeric:HTRK:HTRK -hetairai:HTR:HTR -hetairas:HTRS:HTRS -hetairic:HTRK:HTRK -heuchera:HXR:HKR -hexagons:HKSK:HKSK -hexagram:HKSK:HKSK -hexamine:HKSM:HKSM -hexamita:HKSM:HKSM -hexanoic:HKSN:HKSN -hexapods:HKSP:HKSP -hexapody:HKSP:HKSP -hexulose:HKSL:HKSL -hiatuses:HTSS:HTSS -hibachis:HPXS:HPKS -hibernal:HPRN:HPRN -hibernia:HPRN:HPRN -hibiscus:HPSK:HPSK -hiccough:HKF:HKF -hiccuped:HKPT:HKPT -hidalgos:HTLK:HTLK -hiddenly:HTNL:HTNL -hideaway:HT:HT -hideouts:HTTS:HTTS -hidroses:HTRS:HTRS -hidrosis:HTRS:HTRS -hidrotic:HTRT:HTRT -hierarch:HRRX:HRRK -hieratic:HRTK:HRTK -higgledy:HKLT:HKLT -higgling:HKLN:HKLN -highball:HPL:HPL -highborn:HPRN:HPRN -highboys:HPS:HPS -highbred:HPRT:HPRT -highbrow:HPR:HPRF -highhand:HNT:HNT -highland:HLNT:HLNT -highlife:HLF:HLF -highness:HNS:HNS -highroad:HRT:HRT -hightail:HTL:HTL -highveld:HFLT:HFLT -highways:HS:HS -hijacked:HJKT:HJKT -hijacker:HJKR:HJKR -hilarity:HLRT:HLRT -hillfort:HLFR:HLFR -hilliest:HLST:HLST -hillocks:HLKS:HLKS -hillocky:HLK:HLK -hillside:HLST:HLST -hilltops:HLTP:HLTP -himalaya:HML:HML -hindered:HNTR:HNTR -hinderer:HNTR:HNTR -hindmost:HNTM:HNTM -hinduism:HNTS:HNTS -hintings:HNTN:HNTN -hipbones:HPNS:HPNS -hippiest:HPST:HPST -hippuric:HPRK:HPRK -hipsters:HPST:HPST -hireable:HRPL:HRPL -hireling:HRLN:HRLN -hirudine:HRTN:HRTN -hispanic:HSPN:HSPN -hispanos:HSPN:HSPN -histioid:HSTT:HSTT -histogen:HSTJ:HSTK -historic:HSTR:HSTR -hitchers:HXRS:HXRS -hitching:HXNK:HXNK -hitherto:H0RT:HTRT -hivelike:HFLK:HFLK -hoarders:HRTR:HRTR -hoarding:HRTN:HRTN -hoariest:HRST:HRST -hoarsely:HRSL:HRSL -hoarsens:HRSN:HRSN -hoarsest:HRSS:HRSS -hobbitry:HPTR:HPTR -hobblers:HPLR:HPLR -hobbling:HPLN:HPLN -hobbyist:HPST:HPST -hobdayed:HPTT:HPTT -hobnails:HPNL:HPNL -hockshop:HKXP:HKXP -hocussed:HKST:HKST -hoecakes:HKKS:HKKS -hoedowns:HTNS:HTNS -hogbacks:HKPK:HKPK -hogmanay:HKMN:HKMN -hognosed:HNST:HKNS -hogshead:HKXT:HKXT -hogtying:HKTN:HKTN -hoipoloi:HPL:HPL -hoisters:HSTR:HSTR -hoisting:HSTN:HSTN -holandry:HLNT:HLNT -holdable:HLTP:HLTP -holdback:HLTP:HLTP -holdfast:HLTF:HLTF -holdings:HLTN:HLTN -holdover:HLTF:HLTF -holidays:HLTS:HLTS -holiness:HLNS:HLNS -holistic:HLST:HLST -hollands:HLNT:HLNT -hollered:HLRT:HLRT -holloing:HLNK:HLNK -hollowed:HLT:HLT -hollowly:HLL:HLL -holocene:HLSN:HLSN -hologamy:HLKM:HLKM -hologram:HLKR:HLKR -hologyny:HLJN:HLKN -holotype:HLTP:HLTP -holozoic:HLSK:HLSK -holstein:HLST:HLST -holsters:HLST:HLST -homaxial:HMKS:HMKS -homburgs:HMPR:HMPR -homebody:HMPT:HMPT -homebred:HMPR:HMPR -homefolk:HMFL:HMFL -homeland:HMLN:HMLN -homeless:HMLS:HMLS -homelier:HML:HMLR -homelike:HMLK:HMLK -homemade:HMMT:HMMT -homeroom:HMRM:HMRM -homesick:HMSK:HMSK -homesite:HMST:HMST -homespun:HMSP:HMSP -hometown:HMTN:HMTN -homeward:HMRT:HMRT -homework:HMRK:HMRK -homicide:HMST:HMST -homilies:HMLS:HMLS -homilist:HMLS:HMLS -hominess:HMNS:HMNS -hominian:HMNN:HMNN -hominoid:HMNT:HMNT -homodont:HMTN:HMTN -homogamy:HMKM:HMKM -homogeny:HMJN:HMKN -homogony:HMKN:HMKN -homology:HMLJ:HMLK -homonyms:HMNM:HMNM -homonymy:HMNM:HMNM -homotype:HMTP:HMTP -homuncle:HMNK:HMNK -honduran:HNTR:HNTR -honduras:HNTR:HNTR -honestly:HNST:HNST -honewort:HNRT:HNRT -honeybee:HNP:HNP -honeydew:HNT:HNTF -honeying:HNNK:HNNK -hongkong:HNKK:HNKK -honolulu:HNLL:HNLL -honorary:HNRR:HNRR -honorees:HNRS:HNRS -honorers:HNRR:HNRR -honoring:HNRN:HNRN -honouris:HNRS:HNRS -hoodless:HTLS:HTLS -hoodlike:HTLK:HTLK -hoodlums:HTLM:HTLM -hoodwink:HTNK:HTNK -hoofbeat:HFPT:HFPT -hoofless:HFLS:HFLS -hooflike:HFLK:HFLK -hoofmark:HFMR:HFMR -hookahes:HKHS:HKHS -hookless:HKLS:HKLS -hooklike:HKLK:HKLK -hooknose:HKNS:HKNS -hookworm:HKRM:HKRM -hooligan:HLKN:HLKN -hoopless:HPLS:HPLS -hooplike:HPLK:HPLK -hoorayed:HRT:HRT -hoosegow:HSK:HSKF -hoosiers:HSRS:HSRS -hoovered:HFRT:HFRT -hopefuls:HPFL:HPFL -hopeless:HPLS:HPLS -hopheads:HFTS:HFTS -horatian:HRXN:HRXN -hordeola:HRTL:HRTL -horizons:HRSN:HRSN -hormonal:HRMN:HRMN -hormones:HRMN:HRMN -hornbeam:HRNP:HRNP -hornbill:HRNP:HRNP -hornbook:HRNP:HRNP -hornfels:HRNF:HRNF -horniest:HRNS:HRNS -hornless:HRNL:HRNL -hornlike:HRNL:HRNL -hornpipe:HRNP:HRNP -horntail:HRNT:HRNT -hornwort:HRNR:HRNR -horologe:HRLJ:HRLK -horology:HRLJ:HRLK -horopito:HRPT:HRPT -horopter:HRPT:HRPT -horrible:HRPL:HRPL -horribly:HRPL:HRPL -horridly:HRTL:HRTL -horrific:HRFK:HRFK -horsebox:HRSP:HRSP -horsefly:HRSF:HRSF -horseman:HRSM:HRSM -horsemen:HRSM:HRSM -horsepox:HRSP:HRSP -horsiest:HRSS:HRSS -hosannah:HSN:HSN -hosannas:HSNS:HSNS -hospices:HSPS:HSPS -hospital:HSPT:HSPT -hospitia:HSPX:HSPX -hostages:HSTJ:HSTK -hostelry:HSTL:HSTL -hostlers:HSTL:HSTL -hotboxes:HTPK:HTPK -hotcakes:HTKK:HTKK -hotchpot:HXPT:HXPT -hotelier:HTL:HTLR -hotfoots:HTFT:HTFT -hotheads:H0TS:HTTS -hothouse:H0S:HTS -hotplate:HTPL:HTPL -hotshots:HTXT:HTXT -hounders:HNTR:HNTR -hounding:HNTN:HNTN -hourlong:HRLN:HRLN -houseage:HSJ:HSK -houseboy:HSP:HSP -housefly:HSFL:HSFL -houseful:HSFL:HSFL -houseled:HSLT:HSLT -houseman:HSMN:HSMN -housemen:HSMN:HSMN -housesat:HSST:HSST -housesit:HSST:HSST -housetop:HSTP:HSTP -housings:HSNK:HSNK -hovelers:HFLR:HFLR -hoveling:HFLN:HFLN -hovering:HFRN:HFRN -howdahes:HTHS:HTHS -howitzer:HTSR:HFXR -howlback:HLPK:HLPK -huarache:HRX:HRK -huckster:HKST:HKST -huddlers:HTLR:HTLR -huddling:HTLN:HTLN -huffiest:HFST:HFST -hugeness:HJNS:HKNS -huggable:HKPL:HKPL -huguenot:HKNT:HKNT -humanely:HMNL:HMNL -humanism:HMNS:HMNS -humanist:HMNS:HMNS -humanity:HMNT:HMNT -humanize:HMNS:HMNS -humanoid:HMNT:HMNT -humblest:HMPL:HMPL -humbling:HMPL:HMPL -humidify:HMTF:HMTF -humidity:HMTT:HMTT -humidors:HMTR:HMTR -humility:HMLT:HMLT -hummocks:HMKS:HMKS -hummocky:HMK:HMK -humorers:HMRR:HMRR -humorful:HMRF:HMRF -humoring:HMRN:HMRN -humorist:HMRS:HMRS -humorous:HMRS:HMRS -humpback:HMPK:HMPK -humpiest:HMPS:HMPS -humplike:HMPL:HMPL -hunching:HNXN:HNKN -hundreds:HNTR:HNTR -hungered:HNKR:HNJR -hungrier:HNKR:HNKR -hungrily:HNKR:HNKR -hunkered:HNKR:HNKR -huntedly:HNTT:HNTT -huntress:HNTR:HNTR -huntsman:HNTS:HNTS -huntsmen:HNTS:HNTS -hurdlers:HRTL:HRTL -hurdling:HRTL:HRTL -hurrahed:HRHT:HRHT -hurrahes:HRHS:HRHS -hurrayed:HRT:HRT -hurrying:HRNK:HRNK -hurtling:HRTL:HRTL -husbands:HSPN:HSPN -huskiest:HSKS:HSKS -hustings:HSTN:HSTN -hustlers:HSTL:HSTL -hustling:HSTL:HSTL -hutments:HTMN:HTMN -hyacinth:HSN0:HSNT -hyalitis:HLTS:HLTS -hyalogen:HLJN:HLKN -hyalomma:HLM:HLM -hydracid:HTRS:HTRS -hydragog:HTRK:HTRK -hydranth:HTRN:HTRN -hydrants:HTRN:HTRN -hydrated:HTRT:HTRT -hydrates:HTRT:HTRT -hydrator:HTRT:HTRT -hydremia:HTRM:HTRM -hydrides:HTRT:HTRT -hydrilla:HTRL:HTRL -hydrogel:HTRJ:HTRK -hydrogen:HTRJ:HTRK -hydropic:HTRP:HTRP -hydropsy:HTRP:HTRP -hydroski:HTRS:HTRS -hydrosol:HTRS:HTRS -hydroxyl:HTRK:HTRK -hydrozoa:HTRS:HTRS -hydruria:HTRR:HTRR -hygienic:HJNK:HKNK -hygromas:HKRM:HKRM -hylozoic:HLSK:HLSK -hymeneal:HMNL:HMNL -hymenium:HMNM:HMNM -hymenoid:HMNT:HMNT -hymnbook:HMNP:HMNP -hymnlike:HMNL:HMNL -hyoidean:HTN:HTN -hyoscine:HSN:HSN -hypalgia:HPLJ:HPLK -hypaxial:HPKS:HPKS -hyperope:HPRP:HPRP -hyphened:HFNT:HFNT -hypnoses:HPNS:HPNS -hypnosis:HPNS:HPNS -hypnotic:HPNT:HPNT -hypocone:HPKN:HPKN -hypoderm:HPTR:HPTR -hypoergy:HPRJ:HPRK -hypogeal:HPJL:HPKL -hypogene:HPJN:HPKN -hypogeum:HPJM:HPKM -hypogyny:HPJN:HPKN -hyponyms:HPNM:HPNM -hyponymy:HPNM:HPNM -hypopyon:HPPN:HPPN -hypothec:HP0K:HPTK -hypotony:HPTN:HPTN -hyracoid:HRKT:HRKT -hysteria:HSTR:HSTR -hysteric:HSTR:HSTR -hysteron:HSTR:HSTR -iambuses:AMPS:AMPS -iatrical:ATRK:ATRK -iberians:APRN:APRN -ibogaine:APKN:APKN -icebergs:ASPR:ASPR -iceblink:ASPL:ASPL -iceboats:ASPT:ASPT -icebound:ASPN:ASPN -iceboxes:ASPK:ASPK -icebreak:ASPR:ASPR -icehouse:ASHS:ASHS -ichnites:AXNT:AKNT -ichorous:AXRS:AKRS -ichthyic:AK0K:AKTK -icteroid:AKTR:AKTR -idahoans:ATHN:ATHN -idealess:ATLS:ATLS -idealism:ATLS:ATLS -idealist:ATLS:ATLS -ideality:ATLT:ATLT -idealize:ATLS:ATLS -idealogy:ATLJ:ATLK -ideation:ATXN:ATXN -ideefixe:ATFK:ATFK -identate:ATNT:ATNT -identify:ATNT:ATNT -identity:ATNT:ATNT -ideogram:ATKR:ATKR -ideology:ATLJ:ATLK -idiocies:ATSS:ATXS -idiogram:ATKR:ATKR -idiolect:ATLK:ATLK -idiosome:ATSM:ATSM -idleness:ATLN:ATLN -idolater:ATLT:ATLT -idolatry:ATLT:ATLT -idolists:ATLS:ATLS -idolized:ATLS:ATLS -idolizer:ATLS:ATLS -idolizes:ATLS:ATLS -idyllist:ATLS:ATLS -igniters:AKNT:ANTR -igniting:AKNT:ANTN -ignition:AKNX:ANXN -ignitron:AKNT:ANTR -ignominy:AKNM:ANMN -ignorant:AKNR:ANRN -ignorers:AKNR:ANRR -ignoring:AKNR:ANRN -iguanian:AKNN:AKNN -ileoceca:ALSK:ALSK -illation:ALXN:ALXN -illative:ALTF:ALTF -illicite:ALST:ALST -illicium:ALSM:ALSM -illinium:ALNM:ALNM -illinois:ALN:ALNS -illiquid:ALKT:ALKT -illuding:ALTN:ALTN -illumine:ALMN:ALMN -illusion:ALSN:ALXN -illusive:ALSF:ALSF -illusory:ALSR:ALSR -illuvial:ALFL:ALFL -imaginal:AMJN:AMKN -imagined:AMJN:AMKN -imaginer:AMJN:AMKN -imagines:AMJN:AMKN -imagists:AMJS:AMKS -imamates:AMMT:AMMT -imbecile:AMPS:AMPS -imbedded:AMPT:AMPT -imbibers:AMPP:AMPP -imbibing:AMPP:AMPP -imbruing:AMPR:AMPR -imitable:AMTP:AMTP -imitated:AMTT:AMTT -imitatee:AMTT:AMTT -imitates:AMTT:AMTT -imitator:AMTT:AMTT -immanent:AMNN:AMNN -immanuel:AMNL:AMNL -immature:AMTR:AMTR -immersed:AMRS:AMRS -immerser:AMRS:AMRS -immerses:AMRS:AMRS -imminent:AMNN:AMNN -immobile:AMPL:AMPL -immodest:AMTS:AMTS -immolate:AMLT:AMLT -immortal:AMRT:AMRT -immotile:AMTL:AMTL -immunist:AMNS:AMNS -immunity:AMNT:AMNT -immunize:AMNS:AMNS -immuring:AMRN:AMRN -impacted:AMPK:AMPK -impactor:AMPK:AMPK -impaired:AMPR:AMPR -impairer:AMPR:AMPR -impalers:AMPL:AMPL -impaling:AMPL:AMPL -impanels:AMPN:AMPN -imparity:AMPR:AMPR -imparted:AMPR:AMPR -imparter:AMPR:AMPR -impasses:AMPS:AMPS -impasted:AMPS:AMPS -impastes:AMPS:AMPS -impearls:AMPR:AMPR -impeders:AMPT:AMPT -impeding:AMPT:AMPT -impelled:AMPL:AMPL -impeller:AMPL:AMPL -impended:AMPN:AMPN -imperial:AMPR:AMPR -imperils:AMPR:AMPR -imperium:AMPR:AMPR -impetigo:AMPT:AMPT -impinged:AMPN:AMPN -impinger:AMPN:AMPN -impinges:AMPN:AMPN -impishly:AMPX:AMPX -implants:AMPL:AMPL -impleads:AMPL:AMPL -implicit:AMPL:AMPL -imploded:AMPL:AMPL -implodes:AMPL:AMPL -implored:AMPL:AMPL -implorer:AMPL:AMPL -implores:AMPL:AMPL -implying:AMPL:AMPL -impolder:AMPL:AMPL -impolite:AMPL:AMPL -imponent:AMPN:AMPN -imported:AMPR:AMPR -importee:AMPR:AMPR -importer:AMPR:AMPR -imposers:AMPS:AMPS -imposing:AMPS:AMPS -imposter:AMPS:AMPS -impostor:AMPS:AMPS -imposuit:AMPS:AMPS -impotent:AMPT:AMPT -impounds:AMPN:AMPN -impressa:AMPR:AMPR -imprests:AMPR:AMPR -imprimis:AMPR:AMPR -imprints:AMPR:AMPR -imprison:AMPR:AMPR -improper:AMPR:AMPR -improved:AMPR:AMPR -improver:AMPR:AMPR -improves:AMPR:AMPR -impudent:AMPT:AMPT -impugned:AMPN:AMPK -impugner:AMPN:AMPK -impulses:AMPL:AMPL -impunity:AMPN:AMPN -impurely:AMPR:AMPR -impurity:AMPR:AMPR -imputers:AMPT:AMPT -imputing:AMPT:AMPT -inaction:ANKX:ANKX -inactive:ANKT:ANKT -inarched:ANRX:ANRK -inarches:ANRX:ANRK -inasmuch:ANSM:ANSM -inboards:ANPR:ANPR -inbreeds:ANPR:ANPR -incasing:ANKS:ANKS -incensed:ANSN:ANSN -incenses:ANSN:ANSN -incepted:ANSP:ANSP -inceptor:ANSP:ANSP -inchmeal:ANXM:ANKM -inchoate:ANXT:ANKT -inchworm:ANXR:ANKR -incident:ANST:ANST -incising:ANSS:ANSS -incision:ANSS:ANSX -incisive:ANSS:ANSS -incisors:ANSS:ANSS -incisura:ANSS:ANSS -incisure:ANSS:ANSS -incitant:ANST:ANST -inciters:ANST:ANST -inciting:ANST:ANST -incitive:ANST:ANST -incitory:ANST:ANST -inclined:ANKL:ANKL -incliner:ANKL:ANKL -inclines:ANKL:ANKL -inclosed:ANKL:ANKL -incloser:ANKL:ANKL -incloses:ANKL:ANKL -included:ANKL:ANKL -includes:ANKL:ANKL -incomers:ANKM:ANKM -incoming:ANKM:ANKM -increase:ANKR:ANKR -incrusts:ANKR:ANKR -incubate:ANKP:ANKP -incudate:ANKT:ANKT -incumber:ANKM:ANKM -incuriam:ANKR:ANKR -incurred:ANKR:ANKR -incusing:ANKS:ANKS -indamine:ANTM:ANTM -indebted:ANTP:ANTP -indecent:ANTS:ANTS -indented:ANTN:ANTN -indenter:ANTN:ANTN -indentor:ANTN:ANTN -indexers:ANTK:ANTK -indexing:ANTK:ANTK -indiaman:ANTM:ANTM -indiamen:ANTM:ANTM -indianan:ANTN:ANTN -indicant:ANTK:ANTK -indicate:ANTK:ANTK -indicium:ANTS:ANTS -indicted:ANTK:ANTK -indictee:ANTK:ANTK -indicter:ANTK:ANTK -indictor:ANTK:ANTK -indigene:ANTJ:ANTK -indigens:ANTJ:ANTK -indigent:ANTJ:ANTK -indigoes:ANTK:ANTK -indigoid:ANTK:ANTK -indirect:ANTR:ANTR -inditing:ANTT:ANTT -indiviso:ANTF:ANTF -indocile:ANTS:ANTS -indolent:ANTL:ANTL -indology:ANTL:ANTL -indorsed:ANTR:ANTR -indorsee:ANTR:ANTR -indorser:ANTR:ANTR -inducers:ANTS:ANTS -induciae:ANTS:ANTX -inducing:ANTS:ANTS -inducted:ANTK:ANTK -inductee:ANTK:ANTK -inductor:ANTK:ANTK -indulged:ANTL:ANTL -indulger:ANTL:ANTL -indulges:ANTL:ANTL -induline:ANTL:ANTL -indurate:ANTR:ANTR -indusial:ANTS:ANTX -indusium:ANTS:ANTS -industry:ANTS:ANTS -indwells:ANTL:ANTL -inedible:ANTP:ANTP -inedited:ANTT:ANTT -inequity:ANKT:ANKT -inerrant:ANRN:ANRN -inertiae:ANRX:ANRX -inertial:ANRX:ANRX -inertias:ANRX:ANRX -inexpert:ANKS:ANKS -infamies:ANFM:ANFM -infamize:ANFM:ANFM -infamous:ANFM:ANFM -infantas:ANFN:ANFN -infanter:ANFN:ANFN -infantry:ANFN:ANFN -infantum:ANFN:ANFN -infarcts:ANFR:ANFR -infected:ANFK:ANFK -infecter:ANFK:ANFK -infector:ANFK:ANFK -infectum:ANFK:ANFK -infefted:ANFF:ANFF -inferior:ANFR:ANFR -infernal:ANFR:ANFR -infernos:ANFR:ANFR -inferred:ANFR:ANFR -infested:ANFS:ANFS -infester:ANFS:ANFS -infidels:ANFT:ANFT -infields:ANFL:ANFL -infilled:ANFL:ANFL -infinite:ANFN:ANFN -infinity:ANFN:ANFN -infirmly:ANFR:ANFR -infixing:ANFK:ANFK -infixion:ANFK:ANFK -inflamed:ANFL:ANFL -inflamer:ANFL:ANFL -inflames:ANFL:ANFL -inflated:ANFL:ANFL -inflater:ANFL:ANFL -inflates:ANFL:ANFL -inflator:ANFL:ANFL -inflects:ANFL:ANFL -inflexed:ANFL:ANFL -inflicts:ANFL:ANFL -influent:ANFL:ANFL -influxes:ANFL:ANFL -infoglut:ANFK:ANFK -infolded:ANFL:ANFL -infolder:ANFL:ANFL -informal:ANFR:ANFR -informed:ANFR:ANFR -informer:ANFR:ANFR -infracts:ANFR:ANFR -infradig:ANFR:ANFR -infrared:ANFR:ANFR -infringe:ANFR:ANFR -infusers:ANFS:ANFS -infusing:ANFS:ANFS -infusion:ANFS:ANFX -infusive:ANFS:ANFS -infusory:ANFS:ANFS -ingather:ANK0:ANKT -ingenues:ANJN:ANKN -ingested:ANJS:ANKS -ingrafts:ANKR:ANKR -ingrains:ANKR:ANKR -ingrates:ANKR:ANKR -ingrowth:ANKR:ANKR -inguinal:ANKN:ANKN -inhabits:ANPT:ANPT -inhalant:ANLN:ANLN -inhalers:ANLR:ANLR -inhaling:ANLN:ANLN -inhauler:ANLR:ANLR -inherent:ANRN:ANRN -inhering:ANRN:ANRN -inherits:ANRT:ANRT -inhesion:ANSN:ANXN -inhibits:ANPT:ANPT -inhumane:ANMN:ANMN -inhumers:ANMR:ANMR -inhuming:ANMN:ANMN -inimical:ANMK:ANMK -iniquity:ANKT:ANKT -initials:ANXL:ANXL -initiate:ANXT:ANXT -injected:ANJK:ANJK -injector:ANJK:ANJK -injurers:ANJR:ANJR -injuries:ANJR:ANJR -injuring:ANJR:ANJR -inkblots:ANKP:ANKP -inkiness:ANKN:ANKN -inklings:ANKL:ANKL -inkstand:ANKS:ANKS -inkwells:ANKL:ANKL -inlander:ANLN:ANLN -inlayers:ANLR:ANLR -inlaying:ANLN:ANLN -innately:ANTL:ANTL -innerspr:ANRS:ANRS -innerved:ANRF:ANRF -innerves:ANRF:ANRF -innocent:ANSN:ANSN -innovate:ANFT:ANFT -innuendo:ANNT:ANNT -inoculum:ANKL:ANKL -inosinic:ANSN:ANSN -inositol:ANST:ANST -inquests:ANKS:ANKS -inquired:ANKR:ANKR -inquirer:ANKR:ANKR -inquires:ANKR:ANKR -inrushes:ANRX:ANRX -insanely:ANSN:ANSN -insanity:ANSN:ANSN -inscribe:ANSK:ANSK -insecure:ANSK:ANSK -inserted:ANSR:ANSR -inserter:ANSR:ANSR -insetter:ANST:ANST -insiders:ANST:ANST -insights:ANST:ANST -insignia:ANSN:ANSK -insisted:ANSS:ANSS -insister:ANSS:ANSS -insolate:ANSL:ANSL -insolent:ANSL:ANSL -insomnia:ANSM:ANSM -insomuch:ANSM:ANSM -inspects:ANSP:ANSP -inspired:ANSP:ANSP -inspirer:ANSP:ANSP -inspires:ANSP:ANSP -inspirit:ANSP:ANSP -instable:ANST:ANST -installs:ANST:ANST -instance:ANST:ANST -instants:ANST:ANST -instated:ANST:ANST -instates:ANST:ANST -instills:ANST:ANST -instinct:ANST:ANST -institor:ANST:ANST -instruct:ANST:ANST -insulant:ANSL:ANSL -insulate:ANSL:ANSL -insulted:ANSL:ANSL -insulter:ANSL:ANSL -insurant:ANSR:ANSR -insureds:ANSR:ANSR -insurers:ANSR:ANSR -insuring:ANSR:ANSR -intaglio:ANTK:ANTL -intarsia:ANTR:ANTR -integers:ANTJ:ANTK -integral:ANTK:ANTK -integrum:ANTK:ANTK -intelsat:ANTL:ANTL -intended:ANTN:ANTN -intender:ANTN:ANTN -intently:ANTN:ANTN -interact:ANTR:ANTR -intercom:ANTR:ANTR -intercut:ANTR:ANTR -interest:ANTR:ANTR -interims:ANTR:ANTR -interior:ANTR:ANTR -interlap:ANTR:ANTR -interlay:ANTR:ANTR -intermit:ANTR:ANTR -intermix:ANTR:ANTR -internal:ANTR:ANTR -internat:ANTR:ANTR -interned:ANTR:ANTR -internee:ANTR:ANTR -internes:ANTR:ANTR -internet:ANTR:ANTR -internus:ANTR:ANTR -interpel:ANTR:ANTR -interpol:ANTR:ANTR -interred:ANTR:ANTR -interrex:ANTR:ANTR -interrog:ANTR:ANTR -intersex:ANTR:ANTR -interval:ANTR:ANTR -interwar:ANTR:ANTR -intimacy:ANTM:ANTM -intimaes:ANTM:ANTM -intimate:ANTM:ANTM -intitule:ANTT:ANTT -intonate:ANTN:ANTN -intoners:ANTN:ANTN -intoning:ANTN:ANTN -intrados:ANTR:ANTR -intrench:ANTR:ANTR -intrepid:ANTR:ANTR -intrigue:ANTR:ANTR -introits:ANTR:ANTR -intromit:ANTR:ANTR -intruded:ANTR:ANTR -intruder:ANTR:ANTR -intrudes:ANTR:ANTR -intrusts:ANTR:ANTR -intubate:ANTP:ANTP -intuited:ANTT:ANTT -inundant:ANNT:ANNT -inundate:ANNT:ANNT -invaders:ANFT:ANFT -invading:ANFT:ANFT -invalids:ANFL:ANFL -invasion:ANFS:ANFX -invasive:ANFS:ANFS -inveighs:ANFS:ANFS -inveigle:ANFK:ANFK -invented:ANFN:ANFN -inventer:ANFN:ANFN -inventor:ANFN:ANFN -inventus:ANFN:ANFN -inverses:ANFR:ANFR -inversus:ANFR:ANFR -inverted:ANFR:ANFR -inverter:ANFR:ANFR -invertin:ANFR:ANFR -invertor:ANFR:ANFR -invested:ANFS:ANFS -investor:ANFS:ANFS -inviable:ANFP:ANFP -inviably:ANFP:ANFP -invitees:ANFT:ANFT -inviters:ANFT:ANFT -inviting:ANFT:ANFT -invoiced:ANFS:ANFS -invoices:ANFS:ANFS -invoking:ANFK:ANFK -involute:ANFL:ANFL -involved:ANFL:ANFL -involver:ANFL:ANFL -involves:ANFL:ANFL -inwardly:ANRT:ANRT -inweaved:ANFT:ANFT -inweaves:ANFS:ANFS -iodating:ATTN:ATTN -iodation:ATXN:ATXN -iodinate:ATNT:ATNT -iodizers:ATSR:ATSR -iodizing:ATSN:ATSN -iodoform:ATFR:ATFR -iodophor:ATFR:ATFR -iodopsin:ATPS:ATPS -ionizers:ANSR:ANSR -ionizing:ANSN:ANSN -iotacism:ATSS:ATSS -iranians:ARNN:ARNN -irefully:ARFL:ARFL -irenical:ARNK:ARNK -iridemia:ARTM:ARTM -irishism:ARXS:ARXS -irishman:ARXM:ARXM -irishmen:ARXM:ARXM -ironclad:ARNK:ARNK -ironfist:ARNF:ARNF -ironical:ARNK:ARNK -ironings:ARNN:ARNN -ironises:ARNS:ARNS -ironists:ARNS:ARNS -ironized:ARNS:ARNS -ironizes:ARNS:ARNS -ironless:ARNL:ARNL -ironlike:ARNL:ARNL -ironside:ARNS:ARNS -ironware:ARNR:ARNR -ironwood:ARNT:ARNT -ironwork:ARNR:ARNR -iroquois:ARK:ARKS -irrigate:ARKT:ARKT -irritant:ARTN:ARTN -irritate:ARTT:ARTT -irrupted:ARPT:ARPT -isagoges:ASKJ:ASKK -iscariot:ASKR:ASKR -ischemia:ASKM:ASKM -ischemic:ASKM:ASKM -ischuria:AXR:AXR -ishihara:AXHR:AXHR -islamism:ALMS:ALMS -islamite:ALMT:ALMT -islamize:ALMS:ALMS -islander:ALNT:ALNT -ismailis:ASML:ASML -isobaric:ASPR:ASPR -isobaths:ASP0:ASPT -isobutyl:ASPT:ASPT -isocheim:ASXM:ASKM -isochime:ASXM:ASKM -isochore:ASXR:ASKR -isochors:ASXR:ASKR -isocline:ASKL:ASKL -isocoria:ASKR:ASKR -isocracy:ASKR:ASKR -isogamic:ASKM:ASKM -isogenic:ASJN:ASKN -isogloss:ASKL:ASKL -isogonal:ASKN:ASKN -isogonic:ASKN:ASKN -isograft:ASKR:ASKR -isograms:ASKR:ASKR -isohyets:ASHT:ASHT -isolable:ASLP:ASLP -isolated:ASLT:ASLT -isolates:ASLT:ASLT -isolator:ASLT:ASLT -isolexes:ASLK:ASLK -isolines:ASLN:ASLN -isologue:ASLK:ASLK -isomeral:ASMR:ASMR -isomeric:ASMR:ASMR -isometry:ASMT:ASMT -isomorph:ASMR:ASMR -isonomic:ASNM:ASNM -isopathy:ASP0:ASPT -isophone:ASFN:ASFN -isopleth:ASPL:ASPL -isopodan:ASPT:ASPT -isoprene:ASPR:ASPR -isospins:ASSP:ASSP -isospora:ASSP:ASSP -isospory:ASSP:ASSP -isostasy:ASST:ASST -isostere:ASST:ASST -isosters:ASST:ASST -isothere:AS0R:ASTR -isotherm:AS0R:ASTR -isotones:ASTN:ASTN -isotonic:ASTN:ASTN -isotopes:ASTP:ASTP -isotopic:ASTP:ASTP -isotrons:ASTR:ASTR -isotropy:ASTR:ASTR -isozymes:ASSM:ASSM -isozymic:ASSM:ASSM -israelis:ASRL:ASRL -issuable:ASPL:ASPL -issuably:ASPL:ASPL -issuance:ASNS:ASNS -istanbul:ASTN:ASTN -isthmian:AS0M:ASTM -isthmoid:AS0M:ASTM -itaconic:ATKN:ATKN -italians:ATLN:ATLN -itchiest:AXST:AXST -itemized:ATMS:ATMS -itemizer:ATMS:ATMS -itemizes:ATMS:ATMS -iterance:ATRN:ATRN -iterated:ATRT:ATRT -iterates:ATRT:ATRT -iterator:ATRT:ATRT -ixodidae:AKST:AKST -jabbered:JPRT:APRT -jabberer:JPRR:APRR -jackaroo:JKR:AKR -jackboot:JKPT:AKPT -jackdaws:JKTS:AKTS -jacketed:JKTT:AKTT -jackfish:JKFX:AKFX -jackpots:JKPT:AKPT -jackroll:JKRL:AKRL -jackshay:JKX:AKX -jackstay:JKST:AKST -jacobean:JKPN:AKPN -jacobian:JKPN:AKPN -jacobins:JKPN:AKPN -jacobite:JKPT:AKPT -jacobson:JKPS:AKPS -jacquard:JKRT:AKRT -jactivus:JKTF:AKTF -jacuzzis:JKSS:AKTS -jadelike:JTLK:ATLK -jadishly:JTXL:ATXL -jaggedly:JKTL:AKTL -jaggiest:JJST:AKST -jailbait:JLPT:ALPT -jailbird:JLPR:ALPR -jailless:JLS:ALS -jainists:JNST:ANST -jalopies:JLPS:ALPS -jalousie:JLS:ALS -jamaican:JMKN:AMKN -jamboree:JMPR:AMPR -jamesian:JMSN:AMXN -jammiest:JMST:AMST -janglers:JNKL:ANKL -jangling:JNKL:ANLN -janiceps:JNSP:ANSP -janitors:JNTR:ANTR -japanese:JPNS:APNS -japanned:JPNT:APNT -japanner:JPNR:APNR -japeries:JPRS:APRS -japingly:JPNK:APNK -japonica:JPNK:APNK -jarosite:JRST:ARST -jasmines:JSMN:ASMN -jatropha:JTRF:ATRF -jaundice:JNTS:ANTS -jauntier:JNT:ANTR -jauntily:JNTL:ANTL -jaunting:JNTN:ANTN -javanese:JFNS:AFNS -javelins:JFLN:AFLN -jawboned:JPNT:APNT -jawbones:JPNS:APNS -jawbreak:JPRK:APRK -jaybirds:JPRT:APRT -jaywalks:JLKS:ALKS -jazziest:JSST:ATSS -jealousy:JLS:ALS -jecorize:JKRS:AKRS -jedburgh:JTPR:ATPR -jejunely:JJNL:AJNL -jejunity:JJNT:AJNT -jejunums:JJNM:AJNM -jellying:JLNK:ALNK -jemmying:JMNK:AMNK -jeopardy:JPRT:APRT -jereboam:JRPM:ARPM -jeremiad:JRMT:ARMT -jeremiah:JRM:ARM -jerkiest:JRKS:ARKS -jerkings:JRKN:ARKN -jeroboam:JRPM:ARPM -jerrican:JRKN:ARKN -jesuitic:JSTK:ASTK -jesuitry:JSTR:ASTR -jetliner:JTLN:ATLN -jetports:JTPR:ATPR -jettison:JTSN:ATSN -jewelers:JLRS:ALRS -jewelery:JLR:ALR -jeweling:JLNK:ALNK -jezebels:JSPL:ASPL -jibingly:JPNK:APNK -jiggered:JKRT:AKRT -jiggling:JKLN:AKLN -jillions:JLNS:ALNS -jimmying:JMNK:AMNK -jinglers:JNKL:ANKL -jingling:JNKL:ANLN -jingoish:JNKX:ANKX -jingoism:JNKS:ANKS -jingoist:JNKS:ANKS -jipijapa:JPJP:APHP -jittered:JTRT:ATRT -jockeyed:JKT:AKT -jocosely:JKSL:AKSL -jocosity:JKST:AKST -jocundly:JKNT:AKNT -jodhpurs:JTPR:ATPR -jogglers:JKLR:AKLR -joggling:JKLN:AKLN -johnnies:JNS:ANS -jointers:JNTR:ANTR -jointing:JNTN:ANTN -jointist:JNTS:ANTS -jointure:JNTR:ANTR -joisting:JSTN:ASTN -jokingly:JKNK:AKNK -jolliest:JLST:ALST -jollying:JLNK:ALNK -jonathan:JN0N:ANTN -jongleur:JNKL:ANKL -jonquils:JNKL:ANKL -jostlers:JSTL:ASTL -jostling:JSTL:ASTL -jouncier:JNS:ANXR -jouncing:JNSN:ANSN -journals:JRNL:ARNL -journeys:JRNS:ARNS -jousters:JSTR:ASTR -jousting:JSTN:ASTN -jovially:JFL:AFL -joyfully:JFL:AFL -joyously:JSL:ASL -joyrider:JRTR:ARTR -joystick:JSTK:ASTK -jubilant:JPLN:APLN -jubilate:JPLT:APLT -jubilees:JPLS:APLS -judaical:JTKL:ATKL -judaises:JTSS:ATSS -judaists:JTST:ATST -judaized:JTST:ATST -judaizer:JTSR:ATSR -judaizes:JTSS:ATSS -juddered:JTRT:ATRT -judgment:JTKM:ATKM -judicare:JTKR:ATKR -judicata:JTKT:ATKT -judiciae:JTS:ATX -judicial:JTSL:ATXL -judicium:JTSM:ATSM -judithly:JT0L:ATTL -judoists:JTST:ATST -jugglers:JKLR:AKLR -jugglery:JKLR:AKLR -juggling:JKLN:AKLN -jugoslav:JKSL:AKSL -juiciest:JSST:AXST -julienne:JLN:ALN -jumblers:JMPL:AMPL -jumbling:JMPL:AMPL -jumboize:JMPS:AMPS -jumbucks:JMPK:AMPK -jumpable:JMPP:AMPP -jumpiest:JMPS:AMPS -junction:JNKX:ANKX -junctura:JNKT:ANKT -juncture:JNKT:ANKT -junipers:JNPR:ANPR -junketed:JNKT:ANKT -junketer:JNKT:ANKT -junkyard:JNKR:ANKR -jurassic:JRSK:ARSK -juration:JRXN:ARXN -juratory:JRTR:ARTR -juridici:JRTS:ARTS -juristic:JRST:ARST -juryless:JRLS:ARLS -justices:JSTS:ASTS -justitia:JSTX:ASTX -justness:JSTN:ASTN -juvenile:JFNL:AFNL -kakemono:KKMN:KKMN -kallidin:KLTN:KLTN -kamacite:KMST:KMST -kamikaze:KMKS:KMKT -kangaroo:KNKR:KNKR -kantians:KNXN:KNXN -kaolines:KLNS:KLNS -kaolinic:KLNK:KLNK -karakuls:KRKL:KRKL -karratha:KR0:KRT -kashmiri:KXMR:KXMR -katakana:KTKN:KTKN -katayama:KTM:KTM -katmandu:KTMN:KTMN -katydids:KTTT:KTTT -kavakava:KFKF:KFKF -kawakawa:KK:KK -kawasaki:KSK:KSK -kazachok:KSKK:KTSK -kedgeree:KJR:KJR -keelboat:KLPT:KLPT -keelhaul:KLL:KLL -keelless:KLS:KLS -keelsons:KLSN:KLSN -keenness:KNS:KNS -keepnets:KPNT:KPNT -keepsake:KPSK:KPSK -keeshond:KXNT:KXNT -keffiyeh:KF:KF -keftedes:KFTT:KFTT -keloidal:KLTL:KLTL -kelomata:KLMT:KLMT -kenneled:KNLT:KNLT -kentucky:KNTK:KNTK -kephalin:KFLN:KFLN -keratoid:KRTT:KRTT -keratoma:KRTM:KRTM -keratome:KRTM:KRTM -keratose:KRTS:KRTS -kerchief:KRXF:KRKF -kerneled:KRNL:KRNL -kerosene:KRSN:KRSN -kerosine:KRSN:KRSN -kestrels:KSTR:KSTR -ketoside:KTST:KTST -ketoxime:KTKS:KTKS -keyboard:KPRT:KPRT -keyholes:KHLS:KHLS -keynoted:KNTT:KNTT -keynoter:KNTR:KNTR -keynotes:KNTS:KNTS -keypunch:KPNX:KPNK -keystone:KSTN:KSTN -keywords:KRTS:KRTS -khanates:KNTS:KNTS -khartoum:KRTM:KRTM -khedives:KTFS:KTFS -khuskhus:KSKS:KSKS -kibbling:KPLN:KPLN -kibitkas:KPTK:KPTK -kibitzed:KPTS:KPTS -kibitzer:KPTS:KPTS -kibitzes:KPTS:KPTS -kickable:KKPL:KKPL -kickback:KKPK:KKPK -kickdown:KKTN:KKTN -kickiest:KKST:KKST -kickoffs:KKFS:KKFS -kickshaw:KKX:KKXF -kidnaped:KTNP:KTNP -kidnapee:KTNP:KTNP -kidnaper:KTNP:KTNP -kidology:KTLJ:KTLK -kielbasa:KLPS:KLPS -kielbasy:KLPS:KLPS -killdeer:KLTR:KLTR -killicks:KLKS:KLKS -killings:KLNK:KLNK -killjoys:KLS:KLS -kilobyte:KLPT:KLPT -kilogram:KLKR:KLKR -kilotons:KLTN:KLTN -kilovolt:KLFL:KLFL -kilowatt:KLT:KLT -kilurane:KLRN:KLRN -kimchees:KMXS:KMKS -kimonoed:KMNT:KMNT -kindlier:KNTL:KNTL -kindling:KNTL:KNTL -kindness:KNTN:KNTN -kinesics:KNSK:KNSK -kinetics:KNTK:KNTK -kinfolks:KNFL:KNFL -kingbird:KNKP:KNKP -kingbolt:KNKP:KNKP -kingcups:KNKK:KNKK -kingdoms:KNKT:KNKT -kingfish:KNKF:KNKF -kinghood:KNKT:KNKT -kingless:KNKL:KNKL -kinglets:KNKL:KNKL -kinglier:KNKL:KNKL -kinglike:KNKL:KNKL -kingpins:KNKP:KNKP -kingship:KNKX:KNKX -kingwood:KNKT:KNKT -kinkajou:KNKJ:KNKJ -kinkiest:KNKS:KNKS -kinomere:KNMR:KNMR -kinsfolk:KNSF:KNSF -kinships:KNXP:KNXP -kippered:KPRT:KPRT -kirigami:KRKM:KRKM -kissable:KSPL:KSPL -kissably:KSPL:KSPL -kitchens:KXNS:KXNS -kittened:KTNT:KTNT -kjeldahl:KLTL:KLTL -klansman:KLNS:KLNS -klystron:KLST:KLST -knackers:NKRS:NKRS -knackery:NKR:NKR -knapping:NPNK:NPNK -knapsack:NPSK:NPSK -knapweed:NPT:NPT -kneaders:NTRS:NTRS -kneading:NTNK:NTNK -kneebone:NPN:NPN -kneecaps:NKPS:NKPS -kneehole:NHL:NHL -kneelers:NLRS:NLRS -kneeling:NLNK:NLNK -kneepads:NPTS:NPTS -knelling:NLNK:NLNK -knickers:NKRS:NKRS -knifings:NFNK:NFNK -knighted:NTT:NTT -knightly:NTL:NTL -knitters:NTRS:NTRS -knitting:NTNK:NTNK -knitwear:NTR:NTR -knobbier:NPR:NPR -knobbing:NPNK:NPNK -knockers:NKRS:NKRS -knocking:NKNK:NKNK -knockout:NKT:NKT -knothole:N0L:NTL -knotless:NTLS:NTLS -knotters:NTRS:NTRS -knottier:NTR:NTR -knottily:NTL:NTL -knotting:NTNK:NTNK -knotweed:NTT:NTT -knotwork:NTRK:NTRK -knowable:NPL:NPL -knuckled:NKLT:NKLT -knuckles:NKLS:NKLS -knurling:NRLN:NRLN -kohekohe:KHKH:KHKH -kohlrabi:KLRP:KLRP -kohoutek:KHTK:KHTK -kokanees:KKNS:KKNS -kolinsky:KLNS:KLNS -komatiks:KMTK:KMTK -komondor:KMNT:KMNT -kookiest:KKST:KKST -korfball:KRFP:KRFP -korsakow:KRSK:KRSK -kowtowed:KTT:KTT -kowtower:KTR:KTR -krameria:KRMR:KRMR -kreplach:KRPL:KRPL -krispies:KRSP:KRSP -kromesky:KRMS:KRMS -kumbaloi:KMPL:KMPL -kumquats:KMKT:KMKT -kurtosis:KRTS:KRTS -kussmaul:KSML:KSML -kyanises:KNSS:KNSS -kyanized:KNST:KNTS -kyanizes:KNSS:KNTS -kyestein:KSTN:KSTN -kymogram:KMKR:KMKR -kyphoses:KFSS:KFSS -kyphosis:KFSS:KFSS -kyphotic:KFTK:KFTK -labdanum:LPTN:LPTN -labelers:LPLR:LPLR -labeling:LPLN:LPLN -labellum:LPLM:LPLM -labeloid:LPLT:LPLT -labiaise:LPS:LPS -labially:LPL:LPL -labiates:LPTS:LPTS -lability:LPLT:LPLT -laborers:LPRR:LPRR -laboring:LPRN:LPRN -laborism:LPRS:LPRS -laborist:LPRS:LPRS -laborite:LPRT:LPRT -labrador:LPRT:LPRT -laburnum:LPRN:LPRN -lacelike:LSLK:LSLK -lacerant:LSRN:LSRN -lacerate:LSRT:LSRT -lacertus:LSRT:LSRT -lacewing:LSNK:LSNK -lacework:LSRK:LSRK -lacinate:LSNT:LSNT -laciness:LSNS:LSNS -lacquers:LKRS:LKRS -lacrimal:LKRM:LKRM -lacrosse:LKRS:LKRS -lactated:LKTT:LKTT -lactates:LKTT:LKTT -lactogen:LKTJ:LKTK -lacunaes:LKNS:LKNS -lacunary:LKNR:LKNR -lacunate:LKNT:LKNT -lacunule:LKNL:LKNL -laddered:LTRT:LTRT -ladening:LTNN:LTNN -ladified:LTFT:LTFT -ladleful:LTLF:LTLF -ladybird:LTPR:LTPR -ladybugs:LTPK:LTPK -ladyhood:LTHT:LTHT -ladylike:LTLK:LTLK -ladylove:LTLF:LTLF -ladyship:LTXP:LTXP -laesione:LSN:LXN -laetrile:LTRL:LTRL -laggards:LKRT:LKRT -lagoonal:LKNL:LKNL -lagrange:LKRN:LKRN -laically:LKL:LKL -laicises:LSSS:LSSS -laicized:LSST:LSST -laicizes:LSSS:LSSS -lairiest:LRST:LRST -lallygag:LLKK:LLKK -lamasery:LMSR:LMSR -lambaste:LMPS:LMPS -lambasts:LMPS:LMPS -lambdoid:LMPT:LMPT -lambency:LMPN:LMPN -lamberts:LMPR:LMPR -lambkins:LMPK:LMPK -lambskin:LMPS:LMPS -lamellae:LML:LML -lamellar:LMLR:LMLR -lamellas:LMLS:LMLS -lameness:LMNS:LMNS -lamented:LMNT:LMNT -lamenter:LMNT:LMNT -laminaes:LMNS:LMNS -laminate:LMNT:LMNT -lampoons:LMPN:LMPN -lamppost:LMPS:LMPS -lampreys:LMPR:LMPR -lancelot:LNSL:LNSL -lanceted:LNST:LNST -landfall:LNTF:LNTF -landfill:LNTF:LNTF -landform:LNTF:LNTF -landhold:LNTL:LNTL -landings:LNTN:LNTN -landlady:LNTL:LNTL -landless:LNTL:LNTL -landlock:LNTL:LNTL -landlord:LNTL:LNTL -landmark:LNTM:LNTM -landmass:LNTM:LNTM -landside:LNTS:LNTS -landsman:LNTS:LNTS -landsmen:LNTS:LNTS -landward:LNTR:LNTR -langauge:LNKJ:LNKK -langhans:LNKN:LNKN -langlauf:LNKL:LNKL -language:LNKJ:LNKK -languish:LNKX:LNKX -languors:LNKR:LNKR -lankiest:LNKS:LNKS -lanneret:LNRT:LNRT -lanoline:LNLN:LNLN -lanosity:LNST:LNST -lantanas:LNTN:LNTN -lanterns:LNTR:LNTR -lanyards:LNRT:LNRT -laodicea:LTS:LTS -laotians:LXNS:LXNS -lapactic:LPKT:LPKT -lapboard:LPRT:LPRT -lapicide:LPST:LPST -lapidary:LPTR:LPTR -lapidate:LPTT:LPTT -lapidify:LPTF:LPTF -lapillus:LPLS:LPLS -lappeted:LPTT:LPTT -lapsable:LPSP:LPSP -lapsible:LPSP:LPSP -lapwings:LPNK:LPNK -larboard:LRPR:LRPR -larcener:LRSN:LRSN -lardiest:LRTS:LRTS -largened:LRJN:LRKN -largesse:LRJS:LRKS -larkiest:LRKS:LRKS -larkspur:LRKS:LRKS -larrikin:LRKN:LRKN -larruped:LRPT:LRPT -larvated:LRFT:LRFT -larynges:LRNJ:LRNK -larynxes:LRNK:LRNK -laserjet:LSRJ:LSRJ -lashings:LXNK:LXNK -lassoers:LSRS:LSRS -lassoing:LSNK:LSNK -latching:LXNK:LXNK -latchkey:LXK:LXK -lateness:LTNS:LTNS -latening:LTNN:LTNN -latently:LTNT:LTNT -laterals:LTRL:LTRL -lathered:L0RT:LTRT -lathlike:L0LK:LTLK -latinate:LTNT:LTNT -latinism:LTNS:LTNS -latinist:LTNS:LTNS -latinity:LTNT:LTNT -latinize:LTNS:LTNS -latitude:LTTT:LTTT -latrines:LTRN:LTRN -latterly:LTRL:LTRL -latticed:LTST:LTST -lattices:LTSS:LTSS -latvians:LTFN:LTFN -laudable:LTPL:LTPL -laudably:LTPL:LTPL -laudanum:LTNM:LTNM -laughers:LFRS:LFRS -laughing:LFNK:LFNK -laughter:LFTR:LFTR -launched:LNXT:LNKT -launcher:LNXR:LNKR -launches:LNXS:LNKS -launders:LNTR:LNTR -laureate:LRT:LRT -laureled:LRLT:LRLT -lavaboes:LFPS:LFPS -lavation:LFXN:LFXN -lavatory:LFTR:LFTR -lavender:LFNT:LFNT -lavished:LFXT:LFXT -lavisher:LFXR:LFXR -lavishes:LFXS:LFXS -lavishly:LFXL:LFXL -lawbreak:LPRK:LPRK -lawcourt:LKRT:LKRT -lawfully:LFL:LFL -lawgiver:LJFR:LKFR -lawmaker:LMKR:LMKR -lawrence:LRNS:LRNS -lawsuits:LSTS:LSTS -lawyerly:LRL:LRL -laxation:LKSX:LKSX -laxative:LKST:LKST -layering:LRNK:LRNK -layettes:LTS:LTS -layovers:LFRS:LFRS -layshaft:LXFT:LXFT -laywoman:LMN:LMN -laywomen:LMN:LMN -lazarets:LSRT:LSRT -laziness:LSNS:LSNS -leachate:LXT:LKT -leachers:LXRS:LKRS -leaching:LXNK:LKNK -leadenly:LTNL:LTNL -leadings:LTNK:LTNK -leadless:LTLS:LTLS -leadsman:LTSM:LTSM -leadsmen:LTSM:LTSM -leafiest:LFST:LFST -leafless:LFLS:LFLS -leaflets:LFLT:LFLT -leaflike:LFLK:LFLK -leaguers:LKRS:LKRS -leaguing:LKNK:LKNK -leakages:LKJS:LKKS -leakiest:LKST:LKST -leanings:LNNK:LNNK -leanness:LNS:LNS -leapfrog:LPFR:LPFR -leapyear:LPR:LPR -learners:LRNR:LRNR -learning:LRNN:LRNN -leasable:LSPL:LSPL -leaseman:LSMN:LSMN -leasemen:LSMN:LSMN -leashing:LXNK:LXNK -leathern:L0RN:LTRN -leathers:L0RS:LTRS -leathery:L0R:LTR -leavened:LFNT:LFNT -leavings:LFNK:LFNK -lebanese:LPNS:LPNS -lecithal:LS0L:LSTL -lecithic:LS0K:LSTK -lecithin:LS0N:LSTN -lecterns:LKTR:LKTR -lectured:LKTR:LKTR -lecturer:LKTR:LKTR -lectures:LKTR:LKTR -leeboard:LPRT:LPRT -leeching:LXNK:LKNK -leeriest:LRST:LRST -leewards:LRTS:LRTS -leftists:LFTS:LFTS -leftmost:LFTM:LFTM -leftover:LFTF:LFTF -leftward:LFTR:LFTR -legacies:LKSS:LKXS -legalese:LKLS:LKLS -legalism:LKLS:LKLS -legalist:LKLS:LKLS -legality:LKLT:LKLT -legalize:LKLS:LKLS -legatees:LKTS:LKTS -legatine:LKTN:LKTN -legating:LKTN:LKTN -legation:LKXN:LKXN -legators:LKTR:LKTR -legatory:LKTR:LKTR -legendry:LJNT:LKNT -leggiest:LKST:LKST -leggings:LKNK:LKNK -leghorns:LKRN:LKRN -legitime:LJTM:LKTM -legomena:LKMN:LKMN -leibnitz:LPNT:LPNT -leisters:LSTR:LSTR -leisured:LSRT:LSRT -leisures:LSRS:LSRS -lemmings:LMNK:LMNK -lemnisci:LMNS:LMNS -lemonade:LMNT:LMNT -lemonish:LMNX:LMNX -lempiras:LMPR:LMPR -lemurine:LMRN:LMRN -lemuroid:LMRT:LMRT -lengthen:LNK0:LNKT -lengthes:LNK0:LNKT -lengthly:LNK0:LNKT -lenience:LNNS:LNNS -leniency:LNNS:LNNS -leninism:LNNS:LNNS -leninist:LNNS:LNNS -leninite:LNNT:LNNT -lenities:LNTS:LNTS -lenitive:LNTF:LNTF -lenticel:LNTS:LNTS -leonardo:LNRT:LNRT -leopards:LPRT:LPRT -leotards:LTRT:LTRT -lepidine:LPTN:LPTN -lepidote:LPTT:LPTT -leporids:LPRT:LPRT -leporine:LPRN:LPRN -lepromas:LPRM:LPRM -lepromin:LPRM:LPRM -leprotic:LPRT:LPRT -leptonic:LPTN:LPTN -lesbians:LSPN:LSPN -lessened:LSNT:LSNT -letdowns:LTNS:LTNS -lethally:L0L:LTL -lethargy:L0RJ:LTRK -lettered:LTRT:LTRT -letterer:LTRR:LTRR -lettings:LTNK:LTNK -lettuces:LTSS:LTSS -leucemia:LSM:LSM -leucomas:LKMS:LKMS -leucoses:LKSS:LKSS -leucosis:LKSS:LKSS -leukemia:LKM:LKM -leukemic:LKMK:LKMK -leukemid:LKMT:LKMT -leukoses:LKSS:LKSS -leukosis:LKSS:LKSS -levanted:LFNT:LFNT -levanter:LFNT:LFNT -levators:LFTR:LFTR -levelers:LFLR:LFLR -levelest:LFLS:LFLS -leveling:LFLN:LFLN -leverage:LFRJ:LFRK -leverets:LFRT:LFRT -levering:LFRN:LFRN -leviable:LFPL:LFPL -levigate:LFKT:LFKT -levirate:LFRT:LFRT -levitate:LFTT:LFTT -levities:LFTS:LFTS -levogyre:LFJR:LFKR -levulose:LFLS:LFLS -lewdness:LTNS:LTNS -lewisian:LSN:LSN -lewisite:LST:LST -lexicons:LKSK:LKSK -lexigram:LKSK:LKSK -liaising:LSNK:LSNK -liaisons:LSNS:LSNS -libation:LPXN:LPXN -libelant:LPLN:LPLN -libelees:LPLS:LPLS -libelers:LPLR:LPLR -libeling:LPLN:LPLN -libelist:LPLS:LPLS -libelous:LPLS:LPLS -liberals:LPRL:LPRL -liberate:LPRT:LPRT -liberian:LPRN:LPRN -librated:LPRT:LPRT -librates:LPRT:LPRT -libretti:LPRT:LPRT -libretto:LPRT:LPRT -licences:LSNS:LSNS -licensed:LSNS:LSNS -licensee:LSNS:LSNS -licenser:LSNS:LSNS -licenses:LSNS:LSNS -licensor:LSNS:LSNS -lichened:LXNT:LKNT -lichenin:LXNN:LKNN -lichgate:LXKT:LKKT -lickings:LKNK:LKNK -licorice:LKRS:LKRS -liegeman:LJMN:LKMN -liegemen:LJMN:LKMN -lienable:LNPL:LNPL -lienculi:LNKL:LNKL -lienhold:LNLT:LNLT -lienitis:LNTS:LNTS -lientery:LNTR:LNTR -liesegan:LSKN:LSKN -lifeboat:LFPT:LFPT -lifebuoy:LFP:LFP -lifeless:LFLS:LFLS -lifelike:LFLK:LFLK -lifeline:LFLN:LFLN -lifelong:LFLN:LFLN -liferent:LFRN:LFRN -lifespan:LFSP:LFSP -lifetime:LFTM:LFTM -lifework:LFRK:LFRK -liftoffs:LFTF:LFTF -ligament:LKMN:LKMN -ligating:LKTN:LKTN -ligation:LKXN:LKXN -ligative:LKTF:LKTF -ligature:LKTR:LKTR -ligeance:LJNS:LKNS -ligeancy:LJNS:LKNS -lightens:LTNS:LTNS -lighters:LTRS:LTRS -lightest:LTST:LTST -lighting:LTNK:LTNK -lightish:LTX:LTX -ligneous:LNS:LKNS -lignites:LNTS:LKNT -lignitic:LNTK:LKNT -ligulaes:LKLS:LKLS -ligulate:LKLT:LKLT -liguloid:LKLT:LKLT -likeable:LKPL:LKPL -likelier:LKLR:LKLR -likeness:LKNS:LKNS -likening:LKNN:LKNN -likewise:LKS:LKS -lilliput:LLPT:LLPT -limacine:LMSN:LMSN -limbered:LMPR:LMPR -limberly:LMPR:LMPR -limbless:LMPL:LMPL -limeades:LMTS:LMTS -limekiln:LMKL:LMKL -limerick:LMRK:LMRK -liminess:LMNS:LMNS -limitary:LMTR:LMTR -limiters:LMTR:LMTR -limiting:LMTN:LMTN -limonene:LMNN:LMNN -limonite:LMNT:LMNT -limpidly:LMPT:LMPT -limpness:LMPN:LMPN -linalool:LNLL:LNLL -linchpin:LNXP:LNKP -lineable:LNPL:LNPL -lineages:LNJS:LNKS -lineally:LNL:LNL -linearly:LNRL:LNRL -lineated:LNTT:LNTT -lineback:LNPK:LNPK -linefeed:LNFT:LNFT -lineless:LNLS:LNLS -linelike:LNLK:LNLK -linesman:LNSM:LNSM -linesmen:LNSM:LNSM -lingered:LNKR:LNJR -lingerer:LNKR:LNJR -lingerie:LNKR:LNJR -linguini:LNKN:LNKN -linguist:LNKS:LNKS -lingulae:LNKL:LNKL -liniment:LNMN:LNMN -linkable:LNKP:LNKP -linkages:LNKJ:LNKK -linkwork:LNKR:LNKR -linnaean:LNN:LNN -linnaeus:LNS:LNS -linocuts:LNKT:LNKT -linoleic:LNLK:LNLK -linoleum:LNLM:LNLM -linotype:LNTP:LNTP -linstock:LNST:LNST -lintiest:LNTS:LNTS -lionized:LNST:LNST -lionizer:LNSR:LNSR -lionizes:LNSS:LNSS -lionlike:LNLK:LNLK -lipaemia:LPM:LPM -lipocaic:LPKK:LPKK -lipocyte:LPST:LPST -lipoidal:LPTL:LPTL -lipomata:LPMT:LPMT -lipophil:LPFL:LPFL -liposome:LPSM:LPSM -lipoxeny:LPKS:LPKS -lipstick:LPST:LPST -liquated:LKTT:LKTT -liquates:LKTS:LKTS -liquesce:LKS:LKS -liqueurs:LKRS:LKRS -liquidly:LKTL:LKTL -lissauer:LSR:LSR -listened:LSTN:LSTN -listener:LSTN:LSTN -listeria:LSTR:LSTR -listings:LSTN:LSTN -listless:LSTL:LSTL -litanies:LTNS:LTNS -literacy:LTRS:LTRS -literals:LTRL:LTRL -literary:LTRR:LTRR -literate:LTRT:LTRT -literati:LTRT:LTRT -litharge:L0RJ:LTRK -lithemia:L0M:LTM -lithemic:L0MK:LTMK -lithosis:L0SS:LTSS -lithuria:L0R:LTR -litigant:LTKN:LTKN -litigate:LTKT:LTKT -litterbu:LTRP:LTRP -littered:LTRT:LTRT -littlest:LTLS:LTLS -littlish:LTLX:LTLX -littoral:LTRL:LTRL -liveable:LFPL:LFPL -livelier:LFL:LFLR -livelong:LFLN:LFLN -liveners:LFNR:LFNR -liveness:LFNS:LFNS -livening:LFNN:LFNN -liveried:LFRT:LFRT -liveries:LFRS:LFRS -liverish:LFRX:LFRX -livetrap:LFTR:LFTR -liveware:LFR:LFR -lividity:LFTT:LFTT -loadable:LTPL:LTPL -loadings:LTNK:LTNK -loadstar:LTST:LTST -loaiases:LSS:LSS -loaiasis:LSS:LSS -loamiest:LMST:LMST -loanable:LNPL:LNPL -loanword:LNRT:LNRT -loathers:L0RS:LTRS -loathing:L0NK:LTNK -lobately:LPTL:LPTL -lobbyers:LPRS:LPRS -lobbying:LPNK:LPNK -lobbyism:LPSM:LPSM -lobbyist:LPST:LPST -lobeline:LPLN:LPLN -loblolly:LPLL:LPLL -lobotomy:LPTM:LPTM -lobsters:LPST:LPST -lobulate:LPLT:LPLT -lobulose:LPLS:LPLS -lobworms:LPRM:LPRM -localely:LKLL:LKLL -localism:LKLS:LKLS -localist:LKLS:LKLS -locality:LKLT:LKLT -localize:LKLS:LKLS -locaters:LKTR:LKTR -locating:LKTN:LKTN -location:LKXN:LKXN -locative:LKTF:LKTF -locators:LKTR:LKTR -lockable:LKPL:LKPL -lockings:LKNK:LKNK -lockless:LKLS:LKLS -locknuts:LKNT:LKNT -lockouts:LKTS:LKTS -locoweed:LKT:LKT -loculate:LKLT:LKLT -locution:LKXN:LKXN -lodestar:LTST:LTST -lodgings:LJNK:LJNK -lodgment:LTKM:LTKM -loftiest:LFTS:LFTS -loftless:LFTL:LFTL -loftsman:LFTS:LFTS -loftsmen:LFTS:LFTS -logbooks:LKPK:LKPK -logician:LJSN:LKXN -logicise:LJSS:LKSS -logicism:LJSS:LKSS -loginess:LJNS:LKNS -logistic:LJST:LKST -logogram:LKKR:LKKR -logotype:LKTP:LKTP -logotypy:LKTP:LKTP -loitered:LTRT:LTRT -loiterer:LTRR:LTRR -lollipop:LLPP:LLPP -lolloped:LLPT:LLPT -lollygag:LLKK:LLKK -lollypop:LLPP:LLPP -lombroso:LMPR:LMPR -lomentum:LMNT:LMNT -londoner:LNTN:LNTN -lonelier:LNL:LNLR -lonelily:LNLL:LNLL -loneness:LNNS:LNNS -lonesome:LNSM:LNSM -longboat:LNKP:LNKP -longbows:LNKP:LNKP -longcase:LNKK:LNKK -longeron:LNKR:LNJR -longhair:LNKR:LNKR -longhand:LNKN:LNKN -longhorn:LNKR:LNKR -longings:LNJN:LNKN -longship:LNKX:LNKX -longtime:LNKT:LNKT -longways:LNKS:LNKS -longwise:LNKS:LNKS -lookouts:LKTS:LKTS -looniest:LNST:LNST -loophole:LFL:LFL -loopiest:LPST:LPST -loosebox:LSPK:LSPK -loosened:LSNT:LSNT -loosener:LSNR:LSNR -lopsided:LPST:LPST -loquitur:LKTR:LKTR -lordless:LRTL:LRTL -lordlier:LRTL:LRTL -lordlike:LRTL:LRTL -lordling:LRTL:LRTL -lordoses:LRTS:LRTS -lordosis:LRTS:LRTS -lordotic:LRTT:LRTT -lordship:LRTX:LRTX -loricate:LRKT:LRKT -lorimers:LRMR:LRMR -lossiest:LSST:LSST -lossless:LSLS:LSLS -lothario:L0R:LTR -loudened:LTNT:LTNT -loudness:LTNS:LTNS -loungers:LNKR:LNJR -lounging:LNJN:LNKN -lousiest:LSST:LSST -louvered:LFRT:LFRT -louvring:LFRN:LFRN -loveable:LFPL:LFPL -loveably:LFPL:LFPL -lovebird:LFPR:LFPR -loveless:LFLS:LFLS -lovelier:LFL:LFLR -lovelies:LFLS:LFLS -lovelorn:LFLR:LFLR -lovesick:LFSK:LFSK -lovingly:LFNK:LFNK -lowbrows:LPRS:LPRS -lowering:LRNK:LRNK -lowlands:LLNT:LLNT -lowliest:LLST:LLST -loyalism:LLSM:LLSM -loyalist:LLST:LLST -lozenged:LSNJ:LSNK -lozenges:LSNJ:LSNK -lubberly:LPRL:LPRL -lucently:LSNT:LSNT -lucidity:LSTT:LSTT -lucifers:LSFR:LSFR -luckiest:LKST:LKST -luckless:LKLS:LKLS -luculent:LKLN:LKLN -luddites:LTTS:LTTS -lugsails:LKSL:LKSL -lukewarm:LKRM:LKRM -lumbagos:LMPK:LMPK -lumbered:LMRT:LMRT -lumberer:LMRR:LMRR -luminary:LMNR:LMNR -luminous:LMNS:LMNS -lummoxes:LMKS:LMKS -lumpiest:LMPS:LMPS -lunacies:LNSS:LNXS -lunatico:LNTK:LNTK -lunatics:LNTK:LNTK -lunation:LNXN:LNXN -luncheon:LNXN:LNKN -lunchers:LNXR:LNKR -lunching:LNXN:LNKN -lunettes:LNTS:LNTS -lungworm:LNKR:LNKR -lunkhead:LNKT:LNKT -lunulate:LNLT:LNLT -lupiform:LPFR:LPFR -lurchers:LRXR:LRKR -lurching:LRXN:LRKN -luringly:LRNK:LRNK -luscious:LSS:LSS -lushness:LXNS:LXNS -lustiest:LSTS:LSTS -lustrate:LSTR:LSTR -lustrine:LSTR:LSTR -lustrous:LSTR:LSTR -lustrums:LSTR:LSTR -lutanist:LTNS:LTNS -lutecium:LTSM:LTSM -lutenist:LTNS:LTNS -luteomas:LTMS:LTMS -lutetium:LTTM:LTTM -lutheran:L0RN:LTRN -luxating:LKST:LKST -luxation:LKSX:LKSX -luxuries:LKSR:LKSR -lychgate:LXKT:LKKT -lymphoid:LMFT:LMFT -lymphoma:LMFM:LMFM -lynchers:LNXR:LNKR -lynchets:LNXT:LNKT -lynching:LNXN:LNKN -lynxlike:LNKS:LNKS -lyophile:LFL:LFL -lyophobe:LFP:LFP -lyricise:LRSS:LRSS -lyricism:LRSS:LRSS -lyricist:LRSS:LRSS -lysergic:LSRJ:LSRK -lysoform:LSFR:LSFR -lysogeny:LSJN:LSKN -lysosome:LSSM:LSSM -lysozyme:LSSM:LSSM -macaques:MKKS:MKKS -macarise:MKRS:MKRS -macaroni:MKRN:MKRN -macaroon:MKRN:MKRN -macassar:MKSR:MKSR -maccaboy:MKP:MKP -macerate:MSRT:MSRT -machetes:MXTS:MKTS -machined:MXNT:MKNT -machines:MXNS:MKNS -machismo:MXSM:MKSM -mackerel:MKRL:MKRL -mackinaw:MKN:MKNF -macropsy:MKRP:MKRP -macrotia:MKRX:MKRX -macruran:MKRR:MKRR -maculaes:MKLS:MKLS -maculate:MKLT:MKLT -madcaply:MTKP:MTKP -maddened:MTNT:MTNT -madeiras:MTRS:MTRS -madeness:MTNS:MTNS -madhouse:MTS:MTS -madidans:MTTN:MTTN -madonnas:MTNS:MTNS -madrigal:MTRK:MTRK -madwoman:MTMN:MTMN -madwomen:MTMN:MTMN -maecenas:MSNS:MSNS -maenadic:MNTK:MNTK -maestoso:MSTS:MSTS -maestros:MSTR:MSTR -magazine:MKSN:MKSN -magdalen:MKTL:MKTL -magellan:MJLN:MKLN -magician:MJSN:MKXN -magicked:MJKT:MKKT -magister:MJST:MKST -magmatic:MKMT:MKMT -magnates:MNTS:MKNT -magnatum:MNTM:MKNT -magnesia:MNS:MKNX -magnesic:MNSK:MKNS -magnetic:MNTK:MKNT -magneton:MNTN:MKNT -magnetos:MNTS:MKNT -magnolia:MNL:MKNL -mahatmas:MHTM:MHTM -mahicans:MHKN:MHKN -mahjongg:MJNK:MJNK -mahogany:MHKN:MHKN -maidenly:MTNL:MTNL -mailable:MLPL:MLPL -mailcert:MLSR:MLSR -mailings:MLNK:MLNK -maillots:MLTS:MLTS -mailsack:MLSK:MLSK -mainland:MNLN:MNLN -mainline:MNLN:MNLN -mainmast:MNMS:MNMS -mainsail:MNSL:MNSL -mainstay:MNST:MNST -maintain:MNTN:MNTN -maintops:MNTP:MNTP -majestas:MJST:MJST -majestic:MJST:MJST -majolica:MJLK:MHLK -majoress:MJRS:MHRS -majoring:MJRN:MHRN -majority:MJRT:MHRT -makefast:MKFS:MKFS -makomako:MKMK:MKMK -maladapt:MLTP:MLTP -maladies:MLTS:MLTS -malagasy:MLKS:MLKS -malaises:MLSS:MLSS -malamute:MLMT:MLMT -malapert:MLPR:MLPR -malariae:MLR:MLR -malarial:MLRL:MLRL -malarian:MLRN:MLRN -malarkey:MLRK:MLRK -malawian:MLN:MLN -malaxate:MLKS:MLKS -malayans:MLNS:MLNS -malaysia:MLS:MLX -maldemer:MLTM:MLTM -maldives:MLTF:MLTF -maledict:MLTK:MLTK -maleness:MLNS:MLNS -maligned:MLNT:MLKN -malignly:MLNL:MLKN -malinger:MLNK:MLNJ -mallards:MLRT:MLRT -malleoli:MLL:MLL -malonate:MLNT:MLNT -maloprim:MLPR:MLPR -malposed:MLPS:MLPS -maltiest:MLTS:MLTS -maltreat:MLTR:MLTR -maltster:MLTS:MLTS -malunion:MLNN:MLNN -malvasia:MLFS:MLFX -malvoise:MLFS:MLFS -mameluke:MMLK:MMLK -mamillae:MML:MML -mammalia:MML:MML -mammilla:MML:MML -mammitis:MMTS:MMTS -mammogen:MMJN:MMKN -mammoths:MM0S:MMTS -manacled:MNKL:MNKL -manacles:MNKL:MNKL -managers:MNKR:MNJR -managing:MNJN:MNKN -manatees:MNTS:MNTS -manatoid:MNTT:MNTT -manciple:MNSP:MNSP -mancunia:MNKN:MNKN -mandamus:MNTM:MNTM -mandarin:MNTR:MNTR -mandated:MNTT:MNTT -mandatee:MNTT:MNTT -mandates:MNTT:MNTT -mandator:MNTT:MNTT -mandatum:MNTT:MNTT -mandelic:MNTL:MNTL -mandible:MNTP:MNTP -mandolin:MNTL:MNTL -mandorla:MNTR:MNTR -mandrake:MNTR:MNTR -mandrels:MNTR:MNTR -mandrill:MNTR:MNTR -mandurah:MNTR:MNTR -maneless:MNLS:MNLS -maneuver:MNFR:MNFR -manfully:MNFL:MNFL -mangabey:MNKP:MNKP -manganic:MNKN:MNKN -manganin:MNKN:MNKN -mangiest:MNJS:MNKS -manglers:MNKL:MNKL -mangling:MNKL:MNLN -mangonel:MNKN:MNKN -mangrove:MNKR:MNKR -manholes:MNLS:MNLS -manhunts:MNNT:MNNT -maniacal:MNKL:MNKL -manicure:MNKR:MNKR -manifest:MNFS:MNFS -manifold:MNFL:MNFL -manikins:MNKN:MNKN -maniples:MNPL:MNPL -manitoba:MNTP:MNTP -manitous:MNTS:MNTS -mankiest:MNKS:MNKS -manliest:MNLS:MNLS -mannered:MNRT:MNRT -mannerly:MNRL:MNRL -mannikin:MNKN:MNKN -mannitic:MNTK:MNTK -mannitol:MNTL:MNTL -manorial:MNRL:MNRL -manpower:MNPR:MNPR -manropes:MNRP:MNRP -mansards:MNSR:MNSR -mansions:MNSN:MNXN -mansonia:MNSN:MNSN -mansteal:MNST:MNST -mantelet:MNTL:MNTL -mantilla:MNTL:MNTL -mantises:MNTS:MNTS -mantissa:MNTS:MNTS -mantling:MNTL:MNTL -mantraps:MNTR:MNTR -manually:MNL:MNL -manubria:MNPR:MNPR -manumits:MNMT:MNMT -manurers:MNRR:MNRR -manurial:MNRL:MNRL -manuring:MNRN:MNRN -manyfold:MNFL:MNFL -mappable:MPPL:MPPL -mappings:MPNK:MPNK -maquette:MKT:MKT -marabous:MRPS:MRPS -maraging:MRJN:MRKN -marantic:MRNT:MRNT -marasmic:MRSM:MRSM -marasmus:MRSM:MRSM -marathon:MR0N:MRTN -marauded:MRTT:MRTT -marauder:MRTR:MRTR -marbling:MRPL:MRPL -marburgh:MRPR:MRPR -marceled:MRSL:MRSL -marceler:MRSL:MRSL -marchers:MRXR:MRKR -marching:MRXN:MRKN -marettum:MRTM:MRTM -margaret:MRKR:MRKR -margaric:MRKR:MRKR -marginal:MRJN:MRKN -margined:MRJN:MRKN -margrave:MRKR:MRKR -mariachi:MRX:MRK -marigold:MRKL:MRKL -marigram:MRKR:MRKR -marimbas:MRMP:MRMP -marinade:MRNT:MRNT -marinate:MRNT:MRNT -mariners:MRNR:MRNR -mariposa:MRPS:MRPS -maritage:MRTJ:MRTK -maritima:MRTM:MRTM -maritime:MRTM:MRTM -marjoram:MRJR:MRJR -marjorie:MRJR:MRJR -markable:MRKP:MRKP -markdown:MRKT:MRKT -markedly:MRKT:MRKT -marketed:MRKT:MRKT -marketer:MRKT:MRKT -markings:MRKN:MRKN -marksman:MRKS:MRKS -marksmen:MRKS:MRKS -marlines:MRLN:MRLN -marmites:MRMT:MRMT -marmoset:MRMS:MRMS -marocain:MRKN:MRKN -marooned:MRNT:MRNT -marquees:MRKS:MRKS -marquess:MRKS:MRKS -marquise:MRKS:MRKS -marriage:MRJ:MRK -marriers:MRRS:MRRS -marrying:MRNK:MRNK -marshall:MRXL:MRXL -marshals:MRXL:MRXL -marshier:MRX:MRXR -marsupia:MRSP:MRSP -martagon:MRTK:MRTK -martello:MRTL:MRTL -martials:MRXL:MRXL -martians:MRXN:MRXN -martinet:MRTN:MRTN -martinez:MRTN:MRTN -martinis:MRTN:MRTN -martyred:MRTR:MRTR -marveled:MRFL:MRFL -marxians:MRKS:MRKS -marxists:MRKS:MRKS -maryland:MRLN:MRLN -marzipan:MRSP:MRSP -mascaras:MSKR:MSKR -mashgiah:MXJ:MXK -maskable:MSKP:MSKP -maskings:MSKN:MSKN -masklike:MSKL:MSKL -masoning:MSNN:MSNN -massacre:MSKR:MSKR -massaged:MSJT:MSKT -massager:MSKR:MSJR -massages:MSJS:MSKS -masscult:MSKL:MSKL -masseter:MSTR:MSTR -masseurs:MSRS:MSRS -masseuse:MSS:MSS -massicot:MSKT:MSKT -massiest:MSST:MSST -massless:MSLS:MSLS -mastered:MSTR:MSTR -masterly:MSTR:MSTR -masthead:MS0T:MSTT -mastiche:MSTX:MSTK -mastiffs:MSTF:MSTF -mastitic:MSTT:MSTT -mastitis:MSTT:MSTT -mastodon:MSTT:MSTT -mastoids:MSTT:MSTT -matadors:MTTR:MTTR -matchbox:MXPK:MXPK -matchers:MXRS:MXRS -matching:MXNK:MXNK -matelote:MTLT:MTLT -material:MTRL:MTRL -materiel:MTRL:MTRL -maternal:MTRN:MTRN -matinees:MTNS:MTNS -matrical:MTRK:MTRK -matrices:MTRS:MTRS -matrixes:MTRK:MTRK -matronal:MTRN:MTRN -matronly:MTRN:MTRN -mattered:MTRT:MTRT -mattocks:MTKS:MTKS -mattress:MTRS:MTRS -maturate:MTRT:MTRT -maturely:MTRL:MTRL -maturest:MTRS:MTRS -maturing:MTRN:MTRN -maturity:MTRT:MTRT -maunders:MNTR:MNTR -maundies:MNTS:MNTS -mausolea:MSL:MSL -maverick:MFRK:MFRK -maxillae:MKSL:MKSL -maxillar:MKSL:MKSL -maxillas:MKSL:MKSL -maximize:MKSM:MKSM -maximums:MKSM:MKSM -mayflies:MFLS:MFLS -mayhemed:MHMT:MHMT -mayoress:MRS:MRS -maypoles:MPLS:MPLS -mazarine:MSRN:MSRN -mazelike:MSLK:MTSL -mazement:MSMN:MSMN -maziness:MSNS:MSNS -mazurkas:MSRK:MTSR -mcburney:MKPR:MKPR -mccarthy:MKR0:MKRT -mcdonald:MKTN:MKTN -mckinley:MKNL:MKNL -meagerly:MKRL:MJRL -meagrely:MKRL:MKRL -mealiest:MLST:MLST -mealless:MLS:MLS -mealtime:MLTM:MLTM -mealworm:MLRM:MLRM -mealybug:MLPK:MLPK -meanders:MNTR:MNTR -meanings:MNNK:MNNK -meanness:MNS:MNS -meantime:MNTM:MNTM -measlier:MSL:MSLR -measured:MSRT:MSRT -measurer:MSRR:MSRR -measures:MSRS:MSRS -meataxes:MTKS:MTKS -meatball:MTPL:MTPL -meathead:M0T:MTT -meatiest:MTST:MTST -meatless:MTLS:MTLS -meatuses:MTSS:MTSS -mechanic:MXNK:MKNK -meconate:MKNT:MKNT -meconium:MKNM:MKNM -medalist:MTLS:MTLS -medalled:MTLT:MTLT -medallic:MTLK:MTLK -meddlers:MTLR:MTLR -meddling:MTLN:MTLN -medeling:MTLN:MTLN -medelled:MTLT:MTLT -medevacs:MTFK:MTFK -medialis:MTLS:MTLS -medially:MTL:MTL -medianly:MTNL:MTNL -mediated:MTTT:MTTT -mediates:MTTS:MTTS -mediator:MTTR:MTTR -medicaid:MTKT:MTKT -medicant:MTKN:MTKN -medicare:MTKR:MTKR -medicate:MTKT:MTKT -medicine:MTSN:MTSN -medieval:MTFL:MTFL -mediocre:MTKR:MTKR -meditate:MTTT:MTTT -medullae:MTL:MTL -medullar:MTLR:MTLR -medullas:MTLS:MTLS -medullin:MTLN:MTLN -medusoid:MTST:MTST -meekness:MKNS:MKNS -meerkats:MRKT:MRKT -meetings:MTNK:MTNK -meetness:MTNS:MTNS -megabits:MKPT:MKPT -megabyte:MKPT:MKPT -megadont:MKTN:MKTN -megadose:MKTS:MKTS -megaflop:MKFL:MKFL -megalith:MKL0:MKLT -megapode:MKPT:MKPT -megarons:MKRN:MKRN -megastar:MKST:MKST -megatons:MKTN:MKTN -megavolt:MKFL:MKFL -megawatt:MKT:MKT -megillah:MJL:MKL -meilicke:MLK:MLK -meissner:MSNR:MSNR -melalgia:MLLJ:MLLK -melamine:MLMN:MLMN -melanges:MLNJ:MLNK -melanism:MLNS:MLNS -melanite:MLNT:MLNT -melanize:MLNS:MLNS -melanoid:MLNT:MLNT -melanoma:MLNM:MLNM -melanous:MLNS:MLNS -melasmic:MLSM:MLSM -melinite:MLNT:MLNT -melismas:MLSM:MLSM -melissic:MLSK:MLSK -mellific:MLFK:MLFK -mellitus:MLTS:MLTS -mellowed:MLT:MLT -mellower:MLR:MLR -mellowly:MLL:MLL -melodeon:MLTN:MLTN -melodies:MLTS:MLTS -melodist:MLTS:MLTS -melodium:MLTM:MLTM -melodize:MLTS:MLTS -meltable:MLTP:MLTP -meltdown:MLTN:MLTN -melville:MLFL:MLFL -membered:MMPR:MMPR -membrana:MMPR:MMPR -membrane:MMPR:MMPR -mementos:MMNT:MMNT -memorial:MMRL:MMRL -memories:MMRS:MMRS -memorize:MMRS:MMRS -memsahib:MMSH:MMSH -menacing:MNSN:MNSN -menarche:MNRX:MNRK -mendable:MNTP:MNTP -menfolks:MNFL:MNFL -menhaden:MNTN:MNTN -menially:MNL:MNL -meninges:MNNJ:MNNK -meniscus:MNSK:MNSK -menorahs:MNRS:MNRS -menschen:MNXN:MNSK -menstrua:MNST:MNST -mensural:MNSR:MNSR -menswear:MNSR:MNSR -mentales:MNTL:MNTL -mentalis:MNTL:MNTL -mentally:MNTL:MNTL -menthane:MN0N:MNTN -menthols:MN0L:MNTL -mentions:MNXN:MNXN -mephitic:MFTK:MFTK -meralgia:MRLJ:MRLK -merchant:MRXN:MRKN -merciful:MRSF:MRSF -mercuric:MRKR:MRKR -meresman:MRSM:MRSM -meresmen:MRSM:MRSM -meretrix:MRTR:MRTR -mergence:MRJN:MRKN -meridian:MRTN:MRTN -meringue:MRNK:MRNK -meristic:MRST:MRST -meriting:MRTN:MRTN -mermaids:MRMT:MRMT -merogone:MRKN:MRKN -merogony:MRKN:MRKN -merosmia:MRSM:MRSM -merotomy:MRTM:MRTM -merriest:MRST:MRST -mersalyl:MRSL:MRSL -mesaraic:MSRK:MSRK -mesdames:MSTM:MSTM -meshwork:MXRK:MXRK -mesially:MSL:MXL -mesmeric:MSMR:MSMR -mesoceca:MSSK:MSSK -mesoderm:MSTR:MSTR -mesodont:MSTN:MSTN -mesomere:MSMR:MSMR -mesoseme:MSSM:MSSM -mesotron:MSTR:MSTR -mesozoan:MSSN:MSSN -mesozoic:MSSK:MSSK -mesquite:MSKT:MSKT -messages:MSJS:MSKS -messiahs:MSS:MSS -messiest:MSST:MSST -messmate:MSMT:MSMT -messuage:MSJ:MSK -mestizas:MSTS:MSTS -mestizos:MSTS:MSTS -metacone:MTKN:MTKN -metallic:MTLK:MTLK -metamere:MTMR:MTMR -metaphor:MTFR:MTFR -meteoric:MTRK:MTRK -metering:MTRN:MTRN -metewand:MTNT:MTNT -meteyard:MTRT:MTRT -methadon:M0TN:MTTN -methanal:M0NL:MTNL -methanol:M0NL:MTNL -methinks:M0NK:MTNK -methodic:M0TK:MTTK -metopion:MTPN:MTPN -metopism:MTPS:MTPS -metrical:MTRK:MTRK -metritis:MTRT:MTRT -mexicans:MKSK:MKSK -miaouing:MNK:MNK -miaowing:MNK:MNK -miasmata:MSMT:MSMT -micellae:MSL:MSL -micellar:MSLR:MSLR -micelles:MSLS:MSLS -michigan:MXKN:MKKN -microbes:MKRP:MKRP -microbia:MKRP:MKRP -microbic:MKRP:MKRP -micropsy:MKRP:MKRP -microtia:MKRX:MKRX -microtus:MKRT:MKRT -microzoa:MKRS:MKRS -micrurgy:MKRR:MKRR -micrurus:MKRR:MKRR -midbrain:MTPR:MTPR -middling:MTLN:MTLN -midlands:MTLN:MTLN -midnight:MTNT:MTNT -midplane:MTPL:MTPL -midpoint:MTPN:MTPN -midriffs:MTRF:MTRF -midships:MTXP:MTXP -midterms:MTRM:MTRM -midwifed:MTFT:MTFT -midwifes:MTFS:MTFS -midwived:MTFT:MTFT -midwives:MTFS:MTFS -midyears:MTRS:MTRS -mightier:MT:MTR -mightily:MTL:MTL -migraine:MKRN:MKRN -migrants:MKRN:MKRN -migrated:MKRT:MKRT -migrates:MKRT:MKRT -migrator:MKRT:MKRT -miladies:MLTS:MLTS -milanese:MLNS:MLNS -mildewed:MLTT:MLTT -mildness:MLTN:MLTN -milepost:MLPS:MLPS -miliaria:MLR:MLR -militant:MLTN:MLTN -military:MLTR:MLTR -militate:MLTT:MLTT -milkiest:MLKS:MLKS -milkmaid:MLKM:MLKM -milksops:MLKS:MLKS -milkweed:MLKT:MLKT -milldams:MLTM:MLTM -milliard:MLRT:MLRT -millibar:MLPR:MLPR -milliner:MLNR:MLNR -millings:MLNK:MLNK -millions:MLNS:MLNS -millpond:MLPN:MLPN -millrace:MLRS:MLRS -millwork:MLRK:MLRK -mimeoing:MMNK:MMNK -mimicked:MMKT:MMKT -mimicker:MMKR:MMKR -minarets:MNRT:MNRT -minatory:MNTR:MNTR -mindedly:MNTT:MNTT -mindless:MNTL:MNTL -minerals:MNRL:MNRL -minglers:MNKL:MNKL -mingling:MNKL:MNLN -minibike:MNPK:MNPK -miniment:MNMN:MNMN -minimize:MNMS:MNMS -minimums:MNMM:MNMM -minister:MNST:MNST -ministry:MNST:MNST -minority:MNRT:MNRT -minotaur:MNTR:MNTR -minsters:MNST:MNST -minstrel:MNST:MNST -mintiest:MNTS:MNTS -mintmark:MNTM:MNTM -minuends:MNNT:MNNT -minutely:MNTL:MNTL -minutest:MNTS:MNTS -minutiae:MNX:MNX -mirabile:MRPL:MRPL -miracles:MRKL:MRKL -mirrored:MRRT:MRRT -mirthful:MR0F:MRTF -misandry:MSNT:MSNT -misapply:MSPL:MSPL -misbeget:MSPK:MSPK -misbegot:MSPK:MSPK -misbrand:MSPR:MSPR -miscalls:MSKL:MSKL -miscarry:MSKR:MSKR -miscasts:MSKS:MSKS -mischief:MXF:MXF -miscible:MSPL:MSPL -miscount:MSKN:MSKN -miscuing:MSKN:MSKN -misdated:MSTT:MSTT -misdeals:MSTL:MSTL -misdealt:MSTL:MSTL -misdeeds:MSTT:MSTT -misdoers:MSTR:MSTR -misdoing:MSTN:MSTN -miseries:MSRS:MSRS -misfiled:MSFL:MSFL -misfiles:MSFL:MSFL -misfired:MSFR:MSFR -misfires:MSFR:MSFR -misgiven:MSJF:MSKF -misgives:MSJF:MSKF -misguide:MSKT:MSKT -misheard:MXRT:MXRT -mishears:MXRS:MXRS -mishmash:MXMX:MXMX -misjudge:MSJ:MSJ -mislabel:MLPL:MLPL -mislayer:MLR:MLR -misleads:MLTS:MLTS -mismatch:MSMX:MSMX -mismated:MSMT:MSMT -mismates:MSMT:MSMT -misnamed:MSNM:MSNM -misnames:MSNM:MSNM -misnomer:MSNM:MSNM -misogamy:MSKM:MSKM -misogyny:MSJN:MSKN -misology:MSLJ:MSLK -misplace:MSPL:MSPL -misplays:MSPL:MSPL -misprint:MSPR:MSPR -misquote:MSKT:MSKT -misreads:MSRT:MSRT -misruled:MSRL:MSRL -misrules:MSRL:MSRL -missense:MSNS:MSNS -misshape:MSP:MSP -missiles:MSLS:MSLS -missions:MSNS:MSNS -missives:MSFS:MSFS -missmail:MSML:MSML -missorts:MSRT:MSRT -missouri:MSR:MSR -misspell:MSPL:MSPL -misspelt:MSPL:MSPL -misspend:MSPN:MSPN -misspent:MSPN:MSPN -misstate:MSTT:MSTT -missteps:MSTP:MSTP -mistaken:MSTK:MSTK -mistakes:MSTK:MSTK -misterms:MSTR:MSTR -mistiest:MSTS:MSTS -mistimed:MSTM:MSTM -mistimes:MSTM:MSTM -mistitle:MSTT:MSTT -mistrals:MSTR:MSTR -mistreat:MSTR:MSTR -mistress:MSTR:MSTR -mistrial:MSTR:MSTR -mistrust:MSTR:MSTR -mistuned:MSTN:MSTN -mistunes:MSTN:MSTN -mistyped:MSTP:MSTP -mistypes:MSTP:MSTP -misusage:MSSJ:MSSK -misusing:MSSN:MSSN -mitchell:MXL:MXL -miticide:MTST:MTST -mitigant:MTKN:MTKN -mitigate:MTKT:MTKT -mitosome:MTSM:MTSM -mittimus:MTMS:MTMS -mixtures:MKST:MKST -mnaghten:MNKT:MNKT -mnemonic:MNMN:MNMN -mobility:MPLT:MPLT -mobilize:MPLS:MPLS -mobsters:MPST:MPST -moccasin:MKSN:MKSN -modality:MTLT:MTLT -modelers:MTLR:MTLR -modeless:MTLS:MTLS -modeling:MTLN:MTLN -moderate:MTRT:MTRT -moderato:MTRT:MTRT -modernly:MTRN:MTRN -modestly:MTST:MTST -modicums:MTKM:MTKM -modified:MTFT:MTFT -modifier:MTF:MTFR -modifies:MTFS:MTFS -modiolus:MTLS:MTLS -modishly:MTXL:MTXL -modistes:MTST:MTST -modulate:MTLT:MTLT -mohammed:MHMT:MHMT -mohegans:MHKN:MHKN -moieties:MTS:MTS -moistens:MSTN:MSTN -moistest:MSTS:MSTS -moisture:MSTR:MSTR -molality:MLLT:MLLT -molarity:MLRT:MLRT -molasses:MLSS:MLSS -moldable:MLTP:MLTP -moldered:MLTR:MLTR -moldiest:MLTS:MLTS -moldings:MLTN:MLTN -molecule:MLKL:MLKL -molehill:MLHL:MLHL -moleskin:MLSK:MLSK -molested:MLST:MLST -molester:MLST:MLST -molimina:MLMN:MLMN -mollusca:MLSK:MLSK -mollusks:MLSK:MLSK -moltenly:MLTN:MLTN -molybdic:MLPT:MLPT -momentum:MMNT:MMNT -monamine:MNMN:MNMN -monarchs:MNRK:MNRK -monarchy:MNRX:MNRK -monaster:MNST:MNST -monastic:MNST:MNST -monaural:MNRL:MNRL -monetary:MNTR:MNTR -monetite:MNTT:MNTT -monetize:MNTS:MNTS -moneybag:MNPK:MNPK -moneying:MNNK:MNNK -mongolia:MNKL:MNKL -mongolic:MNKL:MNKL -mongoose:MNKS:MNKS -mongrels:MNKR:MNKR -moniezia:MNS:MNS -monikers:MNKR:MNKR -monilial:MNLL:MNLL -monilias:MNLS:MNLS -moniliid:MNLT:MNLT -moniment:MNMN:MNMN -monistic:MNST:MNST -monition:MNXN:MNXN -monitors:MNTR:MNTR -monitory:MNTR:MNTR -monkeyed:MNKT:MNKT -monocled:MNKL:MNKL -monocles:MNKL:MNKL -monoculi:MNKL:MNKL -monocyte:MNST:MNST -monodies:MNTS:MNTS -monodist:MNTS:MNTS -monogamy:MNKM:MNKM -monogram:MNKR:MNKR -monogyny:MNJN:MNKN -monolith:MNL0:MNLT -monomers:MNMR:MNMR -monomial:MNML:MNML -monopole:MNPL:MNPL -monopoly:MNPL:MNPL -monorail:MNRL:MNRL -monosome:MNSM:MNSM -monotone:MNTN:MNTN -monotony:MNTN:MNTN -monoxide:MNKS:MNKS -monsieur:MNSR:MNSR -monsoons:MNSN:MNSN -monsters:MNST:MNST -montages:MNTJ:MNTK -montanan:MNTN:MNTN -montreal:MNTR:MNTR -monument:MNMN:MNMN -moochers:MXRS:MKRS -mooching:MXNK:MKNK -moodiest:MTST:MTST -moonbeam:MNPM:MNPM -moonshot:MNXT:MNXT -moonwalk:MNLK:MNLK -moorings:MRNK:MRNK -moorland:MRLN:MRLN -mopeders:MPTR:MPTR -moraines:MRNS:MRNS -moralism:MRLS:MRLS -moralist:MRLS:MRLS -morality:MRLT:MRLT -moralize:MRLS:MRLS -morasses:MRSS:MRSS -moratory:MRTR:MRTR -morbidly:MRPT:MRPT -morbific:MRPF:MRPF -morbilli:MRPL:MRPL -mordancy:MRTN:MRTN -mordants:MRTN:MRTN -moreover:MRFR:MRFR -morgagni:MRKN:MRKK -moribund:MRPN:MRPN -mornings:MRNN:MRNN -moroccan:MRKN:MRKN -moronism:MRNS:MRNS -moronity:MRNT:MRNT -morosely:MRSL:MRSL -morpheae:MRF:MRF -morpheme:MRFM:MRFM -morphine:MRFN:MRFN -morphism:MRFS:MRFS -morphoea:MRF:MRF -morrison:MRSN:MRSN -mortally:MRTL:MRTL -mortared:MRTR:MRTR -mortgage:MRTK:MRTK -mortises:MRTS:MRTS -mortling:MRTL:MRTL -mortmain:MRTM:MRTM -mortuary:MRTR:MRTR -moseying:MSNK:MSNK -mosquito:MSKT:MSKT -mossback:MSPK:MSPK -mossiest:MSST:MSST -mothball:M0PL:MTPL -mothered:M0RT:MTRT -motherer:M0RR:MTRR -motherly:M0RL:MTRL -motility:MTLT:MTLT -motioned:MXNT:MXNT -motivate:MTFT:MTFT -motorcar:MTRK:MTRK -motorial:MTRL:MTRL -motoring:MTRN:MTRN -motorist:MTRS:MTRS -motorium:MTRM:MTRM -motorize:MTRS:MTRS -motorman:MTRM:MTRM -motormen:MTRM:MTRM -mottling:MTLN:MTLN -mouldier:MLT:MLTR -moulding:MLTN:MLTN -mounding:MNTN:MNTN -mountain:MNTN:MNTN -mounters:MNTR:MNTR -mounties:MNTS:MNTS -mounting:MNTN:MNTN -mourners:MRNR:MRNR -mournful:MRNF:MRNF -mourning:MRNN:MRNN -mousepox:MSPK:MSPK -mousiest:MSST:MSST -moussena:MSN:MSN -mouthful:M0FL:MTFL -mouthier:M0:MTR -mouthily:M0L:MTL -mouthing:M0NK:MTNK -movables:MFPL:MFPL -moveable:MFPL:MFPL -movement:MFMN:MFMN -moveover:MFFR:MFFR -movingly:MFNK:MFNK -mucified:MSFT:MSFT -mucilage:MSLJ:MSLK -mucinoid:MSNT:MSNT -mucinous:MSNS:MSNS -muckiest:MKST:MKST -muckrake:MKRK:MKRK -mucocele:MKSL:MKSL -mucoitin:MKTN:MKTN -mucosity:MKST:MKST -mucrones:MKRN:MKRN -muddiest:MTST:MTST -muddlers:MTLR:MTLR -muddling:MTLN:MTLN -muddying:MTNK:MTNK -mudguard:MTKR:MTKR -muenster:MNST:MNST -muezzins:MSNS:MTSN -mufflers:MFLR:MFLR -muffling:MFLN:MFLN -muggered:MKRT:MKRT -muggiest:MKST:MKST -mugwumps:MKMP:MKMP -muhammad:MHMT:MHMT -muirburn:MRPR:MRPR -mulattos:MLTS:MLTS -mulberry:MLPR:MLPR -mulching:MLXN:MLKN -mulcting:MLKT:MLKT -muleteer:MLTR:MLTR -mulishly:MLXL:MLXL -mulleins:MLNS:MLNS -mulligan:MLKN:MLKN -mullions:MLNS:MLNS -multifid:MLTF:MLTF -multiple:MLTP:MLTP -multiply:MLTP:MLTP -multurer:MLTR:MLTR -mumblers:MMPL:MMPL -mumbling:MMPL:MMPL -munchies:MNXS:MNKS -munching:MNXN:MNKN -muniment:MNMN:MNMN -munition:MNXN:MNXN -muralist:MRLS:MRLS -murdered:MRTR:MRTR -murderee:MRTR:MRTR -murderer:MRTR:MRTR -murexide:MRKS:MRKS -muriatic:MRTK:MRTK -murkiest:MRKS:MRKS -murmured:MRMR:MRMR -murmurer:MRMR:MRMR -muscatel:MSKT:MSKT -muscidae:MST:MST -muscling:MSKN:MSKN -muscular:MSKL:MSKL -musculus:MSKL:MSKL -musettes:MSTS:MSTS -mushiest:MXST:MXST -mushroom:MXRM:MXRM -musicale:MSKL:MSKL -musicals:MSKL:MSKL -musician:MSSN:MSXN -musingly:MSNK:MSNK -musketry:MSKT:MSKT -muskiest:MSKS:MSKS -muskrats:MSKR:MSKR -mustache:MSTX:MSTK -mustangs:MSTN:MSTN -mustered:MSTR:MSTR -mustiest:MSTS:MSTS -mutandis:MTNT:MTNT -mutating:MTTN:MTTN -mutation:MTXN:MTXN -mutative:MTTF:MTTF -muteness:MTNS:MTNS -mutilate:MTLT:MTLT -mutineer:MTNR:MTNR -mutinied:MTNT:MTNT -mutinies:MTNS:MTNS -mutinous:MTNS:MTNS -muttered:MTRT:MTRT -mutterer:MTRR:MTRR -mutually:MTL:MTL -muzzling:MSLN:MSLN -myatonia:MTN:MTN -mycelial:MSLL:MSLL -mycelium:MSLM:MSLM -mycetism:MSTS:MSTS -mycetoid:MSTT:MSTT -mycetoma:MSTM:MSTM -mycocide:MKST:MKST -mycology:MKLJ:MKLK -myectomy:MKTM:MKTM -myelinic:MLNK:MLNK -myelitic:MLTK:MLTK -myelitis:MLTS:MLTS -myelomas:MLMS:MLMS -myelonic:MLNK:MLNK -myeloses:MLSS:MLSS -myelosis:MLSS:MLSS -myoblast:MPLS:MPLS -myocoele:MKL:MKL -myocomma:MKM:MKM -myoedema:MTM:MTM -myogenic:MJNK:MKNK -myograph:MKRF:MKRF -myokymia:MKM:MKM -myolemma:MLM:MLM -myologic:MLJK:MLKK -myomeric:MMRK:MMRK -myopathy:MP0:MPT -myosepta:MSPT:MSPT -myositis:MSTS:MSTS -myotasis:MTSS:MTSS -myotatic:MTTK:MTTK -myotonia:MTN:MTN -myotonic:MTNK:MTNK -myotonus:MTNS:MTNS -myristic:MRST:MRST -myrmidon:MRMT:MRMT -mystical:MSTK:MSTK -mystique:MSTK:MSTK -mytacism:MTSS:MTSS -mythical:M0KL:MTKL -myxedema:MKST:MKST -myxocyte:MKSS:MKSS -myxomata:MKSM:MKSM -nabobish:NPPX:NPPX -nabobism:NPPS:NPPS -nacelles:NSLS:NSLS -nacreous:NKRS:NKRS -nagasaki:NKSK:NKSK -nahuatls:NHTL:NHTL -nailhead:NLT:NLT -nainsook:NNSK:NNSK -naissant:NSNT:NSNT -naloxone:NLKS:NLKS -nameable:NMPL:NMPL -nameless:NMLS:NMLS -namesake:NMSK:NMSK -nannygai:NNK:NNK -nanogram:NNKR:NNKR -napalmed:NPLM:NPLM -naphthol:NF0L:NFTL -naphthyl:NF0L:NFTL -napiform:NPFR:NPFR -napoleon:NPLN:NPLN -narceine:NRSN:NRSN -narcissi:NRSS:NRSS -narcomas:NRKM:NRKM -narcoses:NRKS:NRKS -narcosis:NRKS:NRKS -narcotic:NRKT:NRKT -narkiest:NRKS:NRKS -narrated:NRTT:NRTT -narrater:NRTR:NRTR -narrates:NRTS:NRTS -narratio:NRT:NRT -narrator:NRTR:NRTR -narrigin:NRJN:NRKN -narrowed:NRT:NRT -narrower:NRR:NRR -narrowly:NRL:NRL -narwhals:NRLS:NRLS -nasality:NSLT:NSLT -nasalize:NSLS:NSLS -nascence:NSNS:NSNS -nascency:NSNS:NSNS -nassella:NSL:NSL -nastiest:NSTS:NSTS -natality:NTLT:NTLT -natation:NTXN:NTXN -natatory:NTTR:NTTR -national:NXNL:NXNL -natively:NTFL:NTFL -nativism:NTFS:NTFS -nativist:NTFS:NTFS -nativity:NTFT:NTFT -nattered:NTRT:NTRT -natterer:NTRR:NTRR -nattiest:NTST:NTST -naturale:NTRL:NTRL -naturals:NTRL:NTRL -naturism:NTRS:NTRS -naturist:NTRS:NTRS -nauplius:NPLS:NPLS -nauseant:NSNT:NSNT -nauseate:NST:NST -nauseous:NSS:NSS -nautical:NTKL:NTKL -nautilus:NTLS:NTLS -navahoes:NFHS:NFHS -navicert:NFSR:NFSR -navicula:NFKL:NFKL -navigate:NFKT:NFKT -navvying:NFNK:NFNK -nazarene:NSRN:NSRN -nazareth:NSR0:NSRT -nazarite:NSRT:NSRT -nazified:NSFT:NSFT -nazifies:NSFS:NSFS -nearness:NRNS:NRNS -nearside:NRST:NRST -neatened:NTNT:NTNT -neatness:NTNS:NTNS -nebraska:NPRS:NPRS -nebulaes:NPLS:NPLS -nebulize:NPLS:NPLS -nebulous:NPLS:NPLS -neckband:NKPN:NKPN -necklace:NKLS:NKLS -necklets:NKLT:NKLT -neckline:NKLN:NKLN -neckties:NKTS:NKTS -neckwear:NKR:NKR -necropsy:NKRP:NKRP -necrosed:NKRS:NKRS -necroses:NKRS:NKRS -necrosin:NKRS:NKRS -necrosis:NKRS:NKRS -necrotic:NKRT:NKRT -neediest:NTST:NTST -needlers:NTLR:NTLR -needless:NTLS:NTLS -needling:NTLN:NTLN -negating:NKTN:NKTN -negation:NKXN:NKXN -negative:NKTF:NKTF -negators:NKTR:NKTR -negatory:NKTR:NKTR -neglects:NKLK:NKLK -negligee:NKLJ:NLK -negotium:NKTM:NKTM -negrillo:NKRL:NKRL -negritic:NKRT:NKRT -negritos:NKRT:NKRT -negroids:NKRT:NKRT -negroism:NKRS:NKRS -nehemiah:NHM:NHM -neighbor:NPR:NPR -neighing:NNK:NNK -nektonic:NKTN:NKTN -nematoda:NMTT:NMTT -nematode:NMTT:NMTT -nematoid:NMTT:NMTT -nembutal:NMPT:NMPT -neofetus:NFTS:NFTS -neogenic:NJNK:NKNK -neolalia:NLL:NLL -neoliths:NL0S:NLTS -neomorph:NMRF:NMRF -neomycin:NMSN:NMSN -neonatal:NNTL:NNTL -neonates:NNTS:NNTS -neophobe:NFP:NFP -neophron:NFRN:NFRN -neophyte:NFT:NFT -neoplasm:NPLS:NPLS -neoprene:NPRN:NPRN -neotenic:NTNK:NTNK -neoteric:NTRK:NTRK -neotypes:NTPS:NTPS -nepalese:NPLS:NPLS -nepenthe:NPN0:NPNT -nephrite:NFRT:NFRT -nephroid:NFRT:NFRT -nephroma:NFRM:NFRM -nephrone:NFRN:NFRN -nephrons:NFRN:NFRN -nepotism:NPTS:NPTS -nepotist:NPTS:NPTS -neronian:NRNN:NRNN -nerviest:NRFS:NRFS -nervines:NRFN:NRFN -nescient:NSNT:NSNT -nestings:NSTN:NSTN -nestlers:NSTL:NSTL -nestlike:NSTL:NSTL -nestling:NSTL:NSTL -netballs:NTPL:NTPL -netsukes:NTSK:NTSK -nettable:NTPL:NTPL -nettably:NTPL:NTPL -nettlers:NTLR:NTLR -nettling:NTLN:NTLN -networks:NTRK:NTRK -neurally:NRL:NRL -neuraxes:NRKS:NRKS -neuraxis:NRKS:NRKS -neuraxon:NRKS:NRKS -neuritic:NRTK:NRTK -neuritis:NRTS:NRTS -neurogen:NRJN:NRKN -neuromas:NRMS:NRMS -neuronal:NRNL:NRNL -neurones:NRNS:NRNS -neuronic:NRNK:NRNK -neuropil:NRPL:NRPL -neuroses:NRSS:NRSS -neurosis:NRSS:NRSS -neurotic:NRTK:NRTK -neurulae:NRL:NRL -neurular:NRLR:NRLR -neurulas:NRLS:NRLS -neutered:NTRT:NTRT -neutrals:NTRL:NTRL -neutrino:NTRN:NTRN -neutrons:NTRN:NTRN -nevadans:NFTN:NFTN -nevadian:NFTN:NFTN -newborns:NPRN:NPRN -newcomer:NKMR:NKMR -newfound:NFNT:NFNT -newishly:NXL:NXL -newlywed:NLT:NLT -newsboys:NSPS:NSPS -newscast:NSKS:NSKS -newsgirl:NSJR:NSKR -newshawk:NXK:NXK -newsiest:NSST:NSST -newsless:NSLS:NSLS -newspeak:NSPK:NSPK -newsreel:NSRL:NSRL -newsroom:NSRM:NSRM -newsweek:NSK:NSK -nibblers:NPLR:NPLR -nibbling:NPLN:NPLN -niblicks:NPLK:NPLK -niceness:NSNS:NSNS -niceties:NSTS:NSTS -nicholas:NXLS:NKLS -nickeled:NKLT:NKLT -nickelic:NKLK:NKLK -nickered:NKRT:NKRT -nickname:NKNM:NKNM -nicotian:NKXN:NKXN -nicotine:NKTN:NKTN -nictated:NKTT:NKTT -nidation:NTXN:NTXN -nidified:NTFT:NTFT -nidifies:NTFS:NTFS -niellist:NLST:NLST -nielloed:NLT:NLT -niftiest:NFTS:NFTS -nigerian:NJRN:NKRN -niggards:NKRT:NKRT -nigglers:NKLR:NKLR -niggling:NKLN:NKLN -nightcap:NTKP:NTKP -nighters:NTRS:NTRS -nighties:NTS:NTS -nightjar:NTJR:NTJR -nightlon:NTLN:NTLN -nightman:NTMN:NTMN -nightmen:NTMN:NTMN -nigrosin:NKRS:NKRS -nihilism:NHLS:NHLS -nihilist:NHLS:NHLS -nihility:NHLT:NHLT -nijinsky:NJNS:NJNS -nimblest:NMPL:NMPL -nimbused:NMPS:NMPS -nimbuses:NMPS:NMPS -ninefold:NNFL:NNFL -ninepins:NNPN:NNPN -nineteen:NNTN:NNTN -nineties:NNTS:NNTS -ninnyish:NNX:NNX -nippiest:NPST:NPST -nitpicks:NTPK:NTPK -nitrated:NTRT:NTRT -nitrates:NTRT:NTRT -nitrifis:NTRF:NTRF -nitriles:NTRL:NTRL -nitrites:NTRT:NTRT -nitrogen:NTRJ:NTRK -nitrosyl:NTRS:NTRS -nitroxyl:NTRK:NTRK -nittiest:NTST:NTST -nivation:NFXN:NFXN -nobblers:NPLR:NPLR -nobbling:NPLN:NPLN -nobelist:NPLS:NPLS -nobelium:NPLM:NPLM -nobility:NPLT:NPLT -nobleman:NPLM:NPLM -noblemen:NPLM:NPLM -noblesse:NPLS:NPLS -nobodies:NPTS:NPTS -nocardia:NKRT:NKRT -nocturia:NKTR:NKTR -nocturne:NKTR:NKTR -nocturns:NKTR:NKTR -nodality:NTLT:NTLT -nodosity:NTST:NTST -nodulate:NTLT:NTLT -nodulose:NTLS:NTLS -nodulous:NTLS:NTLS -noematic:NMTK:NMTK -nohopers:NHPR:NHPR -noisette:NST:NST -noisiest:NSST:NSST -nomadise:NMTS:NMTS -nomadism:NMTS:NMTS -nomarchy:NMRX:NMRK -nombrils:NMPR:NMPR -nominata:NMNT:NMNT -nominate:NMNT:NMNT -nominees:NMNS:NMNS -nomistic:NMST:NMST -nomogram:NMKR:NMKR -nomology:NMLJ:NMLK -nonacced:NNXT:NNXT -nonadult:NNTL:NNTL -nonagons:NNKN:NNKN -nonalign:NNLN:NNLK -nonbasic:NNPS:NNPS -nonbeing:NNPN:NNPN -nonboard:NNPR:NNPR -nonclaim:NNKL:NNKL -nondairy:NNTR:NNTR -nondivid:NNTF:NNTF -nonempty:NNMP:NNMP -nonequal:NNKL:NNKL -nonesuch:NNSK:NNSK -nonevent:NNFN:NNFN -nonexist:NNKS:NNKS -nonfatal:NNFT:NNFT -nonfatty:NNFT:NNFT -nonfreez:NNFR:NNFR -nonhuman:NNMN:NNMN -nonjuror:NNJR:NNJR -nonlegal:NNLK:NNLK -nonlocal:NNLK:NNLK -nonmetal:NNMT:NNMT -nonmoral:NNMR:NNMR -nonowner:NNNR:NNNR -nonparty:NNPR:NNPR -nonquota:NNKT:NNKT -nonrigid:NNRJ:NNRK -nonrural:NNRR:NNRR -nonsense:NNSN:NNSN -nonsport:NNSP:NNSP -nonstain:NNST:NNST -nonstick:NNST:NNST -nonsuits:NNST:NNST -nonthink:NN0N:NNTN -nontoxic:NNTK:NNTK -nonunion:NNNN:NNNN -nonusage:NNSJ:NNSK -nonusers:NNSR:NNSR -nonvocal:NNFK:NNFK -nonvoter:NNFT:NNFT -nonwhite:NNT:NNT -nonyield:NNLT:NNLT -nonzebra:NNSP:NNSP -noontide:NNTT:NNTT -noontime:NNTM:NNTM -norfolks:NRFL:NRFL -normalcy:NRML:NRML -normally:NRML:NRML -normandy:NRMN:NRMN -normergy:NRMR:NRMR -norseman:NRSM:NRSM -norsemen:NRSM:NRSM -northern:NR0R:NRTR -northers:NR0R:NRTR -northing:NR0N:NRTN -northron:NR0R:NRTR -noscitur:NSTR:NSTR -nosebags:NSPK:NSPK -noseband:NSPN:NSPN -nosedive:NSTF:NSTF -nosegays:NSKS:NSKS -noseless:NSLS:NSLS -noselike:NSLK:NSLK -nosiness:NSNS:NSNS -nosology:NSLJ:NSLK -nostrils:NSTR:NSTR -nostrums:NSTR:NSTR -notables:NTPL:NTPL -notandum:NTNT:NTNT -notarial:NTRL:NTRL -notaries:NTRS:NTRS -notarize:NTRS:NTRS -notating:NTTN:NTTN -notation:NTXN:NTXN -notching:NXNK:NXNK -notebook:NTPK:NTPK -notecase:NTKS:NTKS -noteless:NTLS:NTLS -notelets:NTLT:NTLT -nothings:N0NK:NTNK -noticing:NTSN:NTSN -notified:NTFT:NTFT -notifier:NTF:NTFR -notifies:NTFS:NTFS -notional:NXNL:NXNL -notitiae:NTX:NTX -notornis:NTRN:NTRN -noumenal:NMNL:NMNL -noumenon:NMNN:NMNN -nounally:NNL:NNL -nounless:NNLS:NNLS -nouvelle:NFL:NFL -novating:NFTN:NFTN -novation:NFXN:NFXN -novelese:NFLS:NFLS -novelist:NFLS:NFLS -novelize:NFLS:NFLS -novellas:NFLS:NFLS -november:NFMP:NFMP -novenaes:NFNS:NFNS -novocain:NFKN:NFKN -nowadays:NTS:NTS -nubility:NPLT:NPLT -nucellar:NSLR:NSLR -nucellus:NSLS:NSLS -nuciform:NSFR:NSFR -nucleary:NKLR:NKLR -nuclease:NKLS:NKLS -nucleate:NKLT:NKLT -nucleoid:NKLT:NKLT -nucleole:NKLL:NKLL -nucleoli:NKLL:NKLL -nucleons:NKLN:NKLN -nuclidic:NKLT:NKLT -nudeness:NTNS:NTNS -nudicaul:NTKL:NTKL -nugatory:NKTR:NKTR -nuisance:NSNS:NSNS -numbered:NMRT:NMRT -numberer:NMRR:NMRR -numbness:NMPN:NMPN -numeracy:NMRS:NMRS -numerals:NMRL:NMRL -numerary:NMRR:NMRR -numerate:NMRT:NMRT -numerics:NMRK:NMRK -numerous:NMRS:NMRS -numinous:NMNS:NMNS -nummular:NMLR:NMLR -numskull:NMSK:NMSK -nuptials:NPXL:NPXL -nursling:NRSL:NRSL -nurtured:NRTR:NRTR -nurturer:NRTR:NRTR -nurtures:NRTR:NRTR -nutating:NTTN:NTTN -nutation:NTXN:NTXN -nutbrown:NTPR:NTPR -nuthatch:N0X:NTX -nutmeats:NTMT:NTMT -nutpicks:NTPK:NTPK -nutrient:NTRN:NTRN -nutshell:NTXL:NTXL -nuttiest:NTST:NTST -nuzzlers:NSLR:NSLR -nuzzling:NSLN:NSLN -nycturia:NKTR:NKTR -nymphean:NMFN:NMFN -nymphets:NMFT:NMFT -nystatin:NSTT:NSTT -oafishly:AFXL:AFXL -oarlocks:ARLK:ARLK -oatcakes:ATKK:ATKK -obduracy:APTR:APTR -obdurate:APTR:APTR -obedient:APTN:APTN -obeisant:APSN:APSN -obelises:APLS:APLS -obelisks:APLS:APLS -obelized:APLS:APLS -obelizes:APLS:APLS -obeyable:APPL:APPL -obeyance:APNS:APNS -obituary:APTR:APTR -objected:APJK:APJK -objectee:APJK:APJK -objecter:APJK:APJK -objector:APJK:APJK -oblately:APLT:APLT -oblation:APLX:APLX -oblatory:APLT:APLT -obligant:APLK:APLK -obligate:APLK:APLK -obligato:APLK:APLK -obligees:APLJ:APLK -obligers:APLJ:APLK -obliging:APLJ:APLK -oblivion:APLF:APLF -oblongly:APLN:APLN -obrogate:APRK:APRK -obscuras:APSK:APSK -obscured:APSK:APSK -obscurer:APSK:APSK -obscures:APSK:APSK -obscurum:APSK:APSK -observed:APSR:APSR -observer:APSR:APSR -observes:APSR:APSR -obsessed:APSS:APSS -obsesses:APSS:APSS -obsessor:APSS:APSS -obsidian:APST:APST -obsolete:APSL:APSL -obstacle:APST:APST -obstante:APST:APST -obstruct:APST:APST -obtained:APTN:APTN -obtainer:APTN:APTN -obtemper:APTM:APTM -obtruded:APTR:APTR -obtruder:APTR:APTR -obtrudes:APTR:APTR -obturate:APTR:APTR -obtusely:APTS:APTS -obtusion:APTS:APTX -obventio:APFN:APFN -obverted:APFR:APFR -obviated:APFT:APFT -obviates:APFT:APFT -obviator:APFT:APFT -obvolute:APFL:APFL -ocarinas:AKRN:AKRN -occasion:AKSN:AKXN -occident:AXTN:AXTN -occipita:AXPT:AXPT -occiputs:AXPT:AXPT -occluded:AKLT:AKLT -occludes:AKLT:AKLT -occlusal:AKLS:AKLS -occlusor:AKLS:AKLS -occulted:AKLT:AKLT -occultly:AKLT:AKLT -occupant:AKPN:AKPN -occupied:AKPT:AKPT -occupier:AKP:AKPR -occupies:AKPS:AKPS -occurred:AKRT:AKRT -oceanaut:ASNT:ASNT -ocellate:ASLT:ASLT -ochreous:AKRS:AKRS -octagons:AKTK:AKTK -octanoic:AKTN:AKTN -octarchy:AKTR:AKTR -octoroon:AKTR:AKTR -octroyed:AKTR:AKTR -octupled:AKTP:AKTP -ocularly:AKLR:AKLR -oculists:AKLS:AKLS -oddballs:ATPL:ATPL -oddities:ATTS:ATTS -oddments:ATMN:ATMN -odiously:ATSL:ATSL -odontoid:ATNT:ATNT -odontoma:ATNT:ATNT -odorless:ATRL:ATRL -odyssean:ATSN:ATSN -odysseus:ATSS:ATSS -odysseys:ATSS:ATSS -oedemata:ATMT:ATMT -oedipean:ATPN:ATPN -oeillade:ALT:ALT -oenology:ANLJ:ANLK -oestriol:ASTR:ASTR -oestrone:ASTR:ASTR -oestrous:ASTR:ASTR -oestrual:ASTR:ASTR -offences:AFNS:AFNS -offended:AFNT:AFNT -offender:AFNT:AFNT -offenses:AFNS:AFNS -offerees:AFRS:AFRS -offerers:AFRR:AFRR -offering:AFRN:AFRN -offerors:AFRR:AFRR -offgrade:AFKR:AFKR -officers:AFSR:AFSR -official:AFSL:AFXL -officiis:AFSS:AFSS -officina:AFSN:AFSN -officium:AFSM:AFSM -offprint:AFPR:AFPR -offshoot:AFXT:AFXT -offshore:AFXR:AFXR -offstage:AFST:AFST -offtrack:AFTR:AFTR -ofttimes:AFTM:AFTM -ogresses:AKRS:AKRS -oilbirds:ALPR:ALPR -oilcloth:ALKL:ALKL -oilfield:ALFL:ALFL -oilfired:ALFR:ALFR -oiliness:ALNS:ALNS -oilseeds:ALST:ALST -oilskins:ALSK:ALSK -oilstone:ALST:ALST -ointment:ANTM:ANTM -okeydoke:AKTK:AKTK -oklahoma:AKLH:AKLH -oldsters:ALTS:ALTS -oleander:ALNT:ALNT -oleaster:ALST:ALST -olefinic:ALFN:ALFN -olibanum:ALPN:ALPN -oligarch:ALKR:ALKR -oligemia:ALJM:ALKM -oligemic:ALJM:ALKM -oligidic:ALJT:ALKT -oligomer:ALKM:ALKM -oliguria:ALKR:ALKR -olograph:ALKR:ALKR -olympiad:ALMP:ALMP -olympian:ALMP:ALMP -olympics:ALMP:ALMP -omaphagy:AMFK:AMFJ -omasitis:AMST:AMST -omelette:AMLT:AMLT -omentula:AMNT:AMNT -omentums:AMNT:AMNT -omission:AMSN:AMSN -omissive:AMSF:AMSF -omitting:AMTN:AMTN -omnivore:AMNF:AMNF -omodynia:AMTN:AMTN -omohyoid:AMHT:AMHT -omphalic:AMFL:AMFL -omphalos:AMFL:AMFL -onanists:ANNS:ANNS -oncocyte:ANKS:ANKS -oncogene:ANKJ:ANKK -oncogeny:ANKJ:ANKK -oncology:ANKL:ANKL -oncoming:ANKM:ANKM -oncotomy:ANKT:ANKT -onesided:ANST:ANST -ongoings:ANKN:ANKN -onlooker:ANLK:ANLK -onondaga:ANNT:ANNT -ontogeny:ANTJ:ANTK -ontology:ANTL:ANTL -ontoness:ANTN:ANTN -onychoid:ANXT:ANKT -oocyeses:ASSS:ASSS -oocyesis:ASSS:ASSS -oogamous:AKMS:AKMS -oogonial:AKNL:AKNL -oogonium:AKNM:AKNM -ookinete:AKNT:AKNT -oologist:ALJS:ALKS -oophoron:AFRN:AFRN -oophorus:AFRS:AFRS -oophytic:AFTK:AFTK -oosphere:ASFR:ASFR -oosporic:ASPR:ASPR -oothecae:A0K:ATK -oothecal:A0KL:ATKL -ooziness:ASNS:ASNS -opalesce:APLS:APLS -opaquely:APKL:APKL -opaquest:APKS:APKS -opaquing:APKN:APKN -openable:APNP:APNP -opencast:APNK:APNK -openhand:APNN:APNN -openings:APNN:APNN -openness:APNS:APNS -openwork:APNR:APNR -operable:APRP:APRP -operably:APRP:APRP -operance:APRN:APRN -operandi:APRN:APRN -operands:APRN:APRN -operated:APRT:APRT -operates:APRT:APRT -operatic:APRT:APRT -operator:APRT:APRT -operatum:APRT:APRT -opercula:APRK:APRK -operetta:APRT:APRT -ophiasis:AFSS:AFSS -ophidian:AFTN:AFTN -opiating:APTN:APTN -opinions:APNN:APNN -opisthia:APS0:APST -opiumism:APMS:APMS -opoponax:APPN:APPN -opossums:APSM:APSM -oppilate:APLT:APLT -opponens:APNN:APNN -opponent:APNN:APNN -opposers:APSR:APSR -opposing:APSN:APSN -opposite:APST:APST -oppugned:APNT:APKN -oppugner:APNR:APKN -opsimath:APSM:APSM -opsonize:APSN:APSN -optating:APTT:APTT -optation:APTX:APTX -optative:APTT:APTT -optician:APTS:APTX -opticoel:APTK:APTK -optimism:APTM:APTM -optimist:APTM:APTM -optimize:APTM:APTM -optimums:APTM:APTM -optional:APXN:APXN -optionee:APXN:APXN -optionor:APXN:APXN -optogram:APTK:APTK -optotype:APTT:APTT -opulence:APLN:APLN -opulency:APLN:APLN -opuscula:APSK:APSK -opuscule:APSK:APSK -oracular:ARKL:ARKL -orangery:ARNK:ARNJ -orations:ARXN:ARXN -oratorio:ARTR:ARTR -orbiters:ARPT:ARPT -orbiting:ARPT:ARPT -orcadian:ARKT:ARKT -orchards:ARXR:ARKR -orchists:ARXS:ARKS -orchitic:ARXT:ARKT -orchitis:ARXT:ARKT -ordained:ARTN:ARTN -ordainer:ARTN:ARTN -orderers:ARTR:ARTR -ordering:ARTR:ARTR -ordinals:ARTN:ARTN -ordinand:ARTN:ARTN -ordinary:ARTN:ARTN -ordinate:ARTN:ARTN -ordinees:ARTN:ARTN -ordnance:ARTN:ARTN -ordurous:ARTR:ARTR -oreganos:ARKN:ARKN -organdie:ARKN:ARKN -organide:ARKN:ARKN -organism:ARKN:ARKN -organist:ARKN:ARKN -organize:ARKN:ARKN -organoid:ARKN:ARKN -orgasmic:ARKS:ARKS -orgastic:ARKS:ARKS -oriental:ARNT:ARNT -oriented:ARNT:ARNT -oriently:ARNT:ARNT -orifices:ARFS:ARFS -origanum:ARKN:ARKN -original:ARJN:ARKN -orinasal:ARNS:ARNS -ormoeter:ARMT:ARMT -ornament:ARNM:ARNM -ornately:ARNT:ARNT -ornithic:ARN0:ARNT -orogenic:ARJN:ARKN -orphaned:ARFN:ARFN -orpiment:ARPM:ARPM -orreries:ARRS:ARRS -orthicon:AR0K:ARTK -orthodox:AR0T:ARTT -orthoepy:AR0P:ARTP -orthoses:AR0S:ARTS -orthosis:AR0S:ARTS -orthotic:AR0T:ARTT -ortolans:ARTL:ARTL -oscitant:ASTN:ASTN -osculant:ASKL:ASKL -osculate:ASKL:ASKL -osmosing:ASMS:ASMS -osnaburg:ASNP:ASNP -ossicula:ASKL:ASKL -ossified:ASFT:ASFT -ossifier:ASF:ASFR -ossifies:ASFS:ASFS -ostalgia:ASTL:ASTL -osteitic:ASTT:ASTT -osteitis:ASTT:ASTT -osteomas:ASTM:ASTM -ostinato:ASTN:ASTN -ostiolar:ASTL:ASTL -ostmarks:ASTM:ASTM -ostomies:ASTM:ASTM -ostracod:ASTR:ASTR -ostracon:ASTR:ASTR -otiosely:ATSL:ATSL -otiosity:ATST:ATST -otitides:ATTT:ATTT -otocepha:ATSF:ATSF -otoconia:ATKN:ATKN -otogenic:ATJN:ATKN -otologic:ATLJ:ATLK -otorrhea:ATR:ATR -otoscope:ATSK:ATSK -otoscopy:ATSK:ATSK -otosteal:ATST:ATST -otosteon:ATST:ATST -ototoxic:ATTK:ATTK -ottomans:ATMN:ATMN -outacted:ATKT:ATKT -outargue:ATRK:ATRK -outbluff:ATPL:ATPL -outboard:ATPR:ATPR -outboast:ATPS:ATPS -outbound:ATPN:ATPN -outboxed:ATPK:ATPK -outboxes:ATPK:ATPK -outbrave:ATPR:ATPR -outbreak:ATPR:ATPR -outbreed:ATPR:ATPR -outburst:ATPR:ATPR -outcaste:ATKS:ATKS -outcasts:ATKS:ATKS -outcavil:ATKF:ATKF -outclass:ATKL:ATKL -outcomes:ATKM:ATKM -outcried:ATKR:ATKR -outcries:ATKR:ATKR -outcrops:ATKR:ATKR -outcross:ATKR:ATKR -outdance:ATNS:ATNS -outdared:ATRT:ATRT -outdares:ATRS:ATRS -outdated:ATTT:ATTT -outdates:ATTS:ATTS -outdodge:ATJ:ATJ -outdoing:ATNK:ATNK -outdoors:ATRS:ATRS -outdrank:ATRN:ATRN -outdrink:ATRN:ATRN -outdrunk:ATRN:ATRN -outeaten:ATTN:ATTN -outfaced:ATFS:ATFS -outfaces:ATFS:ATFS -outfield:ATFL:ATFL -outfight:ATFT:ATFT -outflank:ATFL:ATFL -outflies:ATFL:ATFL -outflown:ATFL:ATFL -outflows:ATFL:ATFL -outfoots:ATFT:ATFT -outfoxed:ATFK:ATFK -outfoxes:ATFK:ATFK -outgoing:ATKN:ATKN -outgrown:ATKR:ATKR -outgrows:ATKR:ATKR -outguess:ATKS:ATKS -outhauls:A0LS:ATLS -outhouse:A0S:ATS -outjumps:ATJM:ATJM -outlasts:ATLS:ATLS -outlaugh:ATLF:ATLF -outlawed:ATLT:ATLT -outlawry:ATLR:ATLR -outleaps:ATLP:ATLP -outleapt:ATLP:ATLP -outliers:ATLR:ATLR -outlined:ATLN:ATLN -outlines:ATLN:ATLN -outlived:ATLF:ATLF -outlives:ATLF:ATLF -outlooks:ATLK:ATLK -outlying:ATLN:ATLN -outmarch:ATMR:ATMR -outmatch:ATMX:ATMX -outmoded:ATMT:ATMT -outmodes:ATMT:ATMT -outpaced:ATPS:ATPS -outpaces:ATPS:ATPS -outplays:ATPL:ATPL -outpoint:ATPN:ATPN -outports:ATPR:ATPR -outposts:ATPS:ATPS -outpours:ATPR:ATPR -outraced:ATRS:ATRS -outraces:ATRS:ATRS -outraged:ATRJ:ATRK -outrager:ATRK:ATRJ -outrages:ATRJ:ATRK -outrange:ATRN:ATRN -outranks:ATRN:ATRN -outreach:ATRK:ATRK -outrider:ATRT:ATRT -outright:ATRT:ATRT -outrival:ATRF:ATRF -outroots:ATRT:ATRT -outscore:ATSK:ATSK -outsells:ATSL:ATSL -outshine:ATXN:ATXN -outshone:ATXN:ATXN -outshoot:ATXT:ATXT -outshout:ATXT:ATXT -outsider:ATST:ATST -outsides:ATST:ATST -outsings:ATSN:ATSN -outsized:ATSS:ATSS -outsmart:ATSM:ATSM -outsoles:ATSL:ATSL -outspeak:ATSP:ATSP -outspell:ATSP:ATSP -outspoke:ATSP:ATSP -outstand:ATST:ATST -outstare:ATST:ATST -outstate:ATST:ATST -outstays:ATST:ATST -outsteps:ATST:ATST -outstood:ATST:ATST -outstrip:ATST:ATST -outswimm:ATSM:ATSM -outswims:ATSM:ATSM -outswing:ATSN:ATSN -outtakes:ATKS:ATKS -outtalks:ATLK:ATLK -outthink:A0NK:ATNK -outvalue:ATFL:ATFL -outvoted:ATFT:ATFT -outvotes:ATFT:ATFT -outwalks:ATLK:ATLK -outwards:ATRT:ATRT -outwears:ATRS:ATRS -outweigh:AT:AT -outwills:ATLS:ATLS -outworks:ATRK:ATRK -outyells:ATLS:ATLS -ovalness:AFLN:AFLN -ovaritis:AFRT:AFRT -ovations:AFXN:AFXN -ovenbird:AFNP:AFNP -ovenware:AFNR:AFNR -overacts:AFRK:AFRK -overages:AFRJ:AFRK -overalls:AFRL:AFRL -overarch:AFRR:AFRR -overawed:AFRT:AFRT -overawes:AFRS:AFRS -overbear:AFRP:AFRP -overbidd:AFRP:AFRP -overbids:AFRP:AFRP -overbite:AFRP:AFRP -overblew:AFRP:AFRP -overblow:AFRP:AFRP -overbold:AFRP:AFRP -overbook:AFRP:AFRP -overboot:AFRP:AFRP -overbore:AFRP:AFRP -overbusy:AFRP:AFRP -overbuys:AFRP:AFRP -overcall:AFRK:AFRK -overcame:AFRK:AFRK -overcast:AFRK:AFRK -overcoat:AFRK:AFRK -overcome:AFRK:AFRK -overcook:AFRK:AFRK -overcool:AFRK:AFRK -overcrop:AFRK:AFRK -overdoes:AFRT:AFRT -overdone:AFRT:AFRT -overdose:AFRT:AFRT -overdraw:AFRT:AFRT -overdrew:AFRT:AFRT -overdubs:AFRT:AFRT -overdyed:AFRT:AFRT -overdyes:AFRT:AFRT -overeats:AFRT:AFRT -overfall:AFRF:AFRF -overfeed:AFRF:AFRF -overfely:AFRF:AFRF -overfill:AFRF:AFRF -overfish:AFRF:AFRF -overflew:AFRF:AFRF -overflow:AFRF:AFRF -overfold:AFRF:AFRF -overfond:AFRF:AFRF -overfull:AFRF:AFRF -overgrew:AFRK:AFRK -overgrow:AFRK:AFRK -overhand:AFRN:AFRN -overhang:AFRN:AFRN -overhaul:AFRL:AFRL -overhead:AFRT:AFRT -overhear:AFRR:AFRR -overheat:AFRT:AFRT -overhung:AFRN:AFRN -overjoys:AFRJ:AFRJ -overkill:AFRK:AFRK -overlaid:AFRL:AFRL -overlain:AFRL:AFRL -overland:AFRL:AFRL -overlaps:AFRL:AFRL -overlays:AFRL:AFRL -overleaf:AFRL:AFRL -overleap:AFRL:AFRL -overlies:AFRL:AFRL -overlive:AFRL:AFRL -overload:AFRL:AFRL -overlong:AFRL:AFRL -overlook:AFRL:AFRL -overlord:AFRL:AFRL -overloud:AFRL:AFRL -overmans:AFRM:AFRM -overmany:AFRM:AFRM -overmuch:AFRM:AFRM -overnice:AFRN:AFRN -overpage:AFRP:AFRP -overpaid:AFRP:AFRP -overpass:AFRP:AFRP -overpays:AFRP:AFRP -overplay:AFRP:AFRP -overplus:AFRP:AFRP -overrate:AFRT:AFRT -overrich:AFRX:AFRK -override:AFRT:AFRT -overripe:AFRP:AFRP -overrode:AFRT:AFRT -overrule:AFRL:AFRL -overruns:AFRN:AFRN -oversalt:AFRS:AFRS -overseas:AFRS:AFRS -overseen:AFRS:AFRS -overseer:AFRS:AFRS -oversees:AFRS:AFRS -oversell:AFRS:AFRS -oversets:AFRS:AFRS -oversewn:AFRS:AFRS -oversews:AFRS:AFRS -overshoe:AFRX:AFRX -overshot:AFRX:AFRX -overside:AFRS:AFRS -oversize:AFRS:AFRS -oversman:AFRS:AFRS -oversmen:AFRS:AFRS -oversold:AFRS:AFRS -overspar:AFRS:AFRS -overstay:AFRS:AFRS -overstep:AFRS:AFRS -overtake:AFRT:AFRT -overtask:AFRT:AFRT -overtime:AFRT:AFRT -overtire:AFRT:AFRT -overtone:AFRT:AFRT -overtook:AFRT:AFRT -overtops:AFRT:AFRT -overture:AFRT:AFRT -overturn:AFRT:AFRT -overused:AFRS:AFRS -overuses:AFRS:AFRS -overview:AFRF:AFRF -overwill:AFRL:AFRL -overwind:AFRN:AFRN -overwise:AFRS:AFRS -overword:AFRR:AFRR -overwork:AFRR:AFRR -ovicidal:AFST:AFST -oviducal:AFTK:AFTK -oviducts:AFTK:AFTK -oviposit:AFPS:AFPS -ovomucin:AFMS:AFMS -ovoplasm:AFPL:AFPL -ovulated:AFLT:AFLT -ovulates:AFLT:AFLT -owelties:ALTS:ALTS -owlishly:ALXL:ALXL -oxaluria:AKSL:AKSL -oxaluric:AKSL:AKSL -oxazepam:AKSS:AKSS -oxidants:AKST:AKST -oxidasic:AKST:AKST -oxidized:AKST:AKST -oxidizer:AKST:AKST -oxidizes:AKST:AKST -oximetry:AKSM:AKSM -oxonians:AKSN:AKSN -oxpecker:AKSP:AKSP -oxtongue:AKST:AKST -oxygenic:AKSJ:AKSK -oxymoron:AKSM:AKSM -oxyopias:AKSP:AKSP -oxyopies:AKSP:AKSP -oxytocia:AKST:AKST -oxytocic:AKST:AKST -oxytocin:AKST:AKST -oystered:ASTR:ASTR -ozonator:ASNT:ASNT -ozonized:ASNS:ASNS -ozonizer:ASNS:ASNS -ozonizes:ASNS:ASNS -pabulums:PPLM:PPLM -pacifica:PSFK:PSFK -pacified:PSFT:PSFT -pacifier:PSF:PSFR -pacifies:PSFS:PSFS -pacifism:PSFS:PSFS -pacifist:PSFS:PSFS -pacinian:PSNN:PSNN -packable:PKPL:PKPL -packaged:PKJT:PKKT -packager:PKKR:PKJR -packages:PKJS:PKKS -paddlers:PTLR:PTLR -paddling:PTLN:PTLN -paddocks:PTKS:PTKS -padlocks:PTLK:PTLK -padrones:PTRN:PTRN -paduasoy:PTS:PTS -pagandom:PKNT:PKNT -paganish:PKNX:PKNX -paganism:PKNS:PKNS -paganist:PKNS:PKNS -paganize:PKNS:PKNS -pageants:PJNT:PKNT -pageboys:PJPS:PKPS -pagesize:PJSS:PKSS -pagetoid:PKTT:PKTT -paginate:PJNT:PKNT -pagurian:PKRN:PKRN -paiement:PMNT:PMNT -pailfuls:PLFL:PLFL -painless:PNLS:PNLS -paintbox:PNTP:PNTP -painters:PNTR:PNTR -painting:PNTN:PNTN -pairings:PRNK:PRNK -pairwise:PRS:PRS -paisleys:PLS:PLS -pajamaed:PJMT:PHMT -pakistan:PKST:PKST -paladins:PLTN:PLTN -palatial:PLXL:PLXL -palatine:PLTN:PLTN -palavers:PLFR:PLFR -paleface:PLFS:PLFS -paleness:PLNS:PLNS -palettes:PLTS:PLTS -palfreys:PLFR:PLFR -palimony:PLMN:PLMN -palinode:PLNT:PLNT -palisade:PLST:PLST -palladia:PLT:PLT -palladic:PLTK:PLTK -palliate:PLT:PLT -pallidal:PLTL:PLTL -pallidly:PLTL:PLTL -pallidus:PLTS:PLTS -palliest:PLST:PLST -palliums:PLMS:PLMS -palmaris:PLMR:PLMR -palmated:PLMT:PLMT -palmette:PLMT:PLMT -palmetto:PLMT:PLMT -palmiest:PLMS:PLMS -palmiped:PLMP:PLMP -palmists:PLMS:PLMS -palmitic:PLMT:PLMT -palmitin:PLMT:PLMT -palmodic:PLMT:PLMT -palomino:PLMN:PLMN -palpable:PLPP:PLPP -palpably:PLPP:PLPP -palpated:PLPT:PLPT -palpates:PLPT:PLPT -palpebra:PLPP:PLPP -palstave:PLST:PLST -palsying:PLSN:PLSN -paltered:PLTR:PLTR -palterer:PLTR:PLTR -paltrier:PLTR:PLTR -paltrily:PLTR:PLTR -paludism:PLTS:PLTS -pamaquin:PMKN:PMKN -pampered:PMPR:PMPR -pamperer:PMPR:PMPR -pamperos:PMPR:PMPR -pamphlet:PMFL:PMFL -panaceas:PNSS:PNSS -pancaked:PNKK:PNKK -pancakes:PNKK:PNKK -pancreas:PNKR:PNKR -pandanus:PNTN:PNTN -pandemic:PNTM:PNTM -pandered:PNTR:PNTR -panderer:PNTR:PNTR -pandowdy:PNTT:PNTT -paneling:PNLN:PNLN -panelist:PNLS:PNLS -pangolin:PNKL:PNKL -panicked:PNKT:PNKT -panicled:PNKL:PNKL -panicles:PNKL:PNKL -panmixia:PNMK:PNMK -panmixis:PNMK:PNMK -panniers:PNRS:PNRS -pannikin:PNKN:PNKN -panoptic:PNPT:PNPT -panorama:PNRM:PNRM -panpipes:PNPP:PNPP -pansophy:PNSF:PNSF -pantheon:PN0N:PNTN -panthers:PN0R:PNTR -pantiles:PNTL:PNTL -pantries:PNTR:PNTR -pantsuit:PNTS:PNTS -papacies:PPSS:PPXS -papalism:PPLS:PPLS -papalist:PPLS:PPLS -paperboy:PPRP:PPRP -paperers:PPRR:PPRR -papering:PPRN:PPRN -papillae:PPL:PPL -papillar:PPLR:PPLR -papillon:PPLN:PPLN -papooses:PPSS:PPSS -pappiest:PPST:PPST -parables:PRPL:PRPL -parabola:PRPL:PRPL -paracone:PRKN:PRKN -paraders:PRTR:PRTR -paradigm:PRTK:PRTK -parading:PRTN:PRTN -paradise:PRTS:PRTS -paradrop:PRTR:PRTR -paradyne:PRTN:PRTN -paraffin:PRFN:PRFN -paragoge:PRKJ:PRKK -paragons:PRKN:PRKN -paraguay:PRK:PRK -parakeet:PRKT:PRKT -parallax:PRLK:PRLK -parallel:PRLL:PRLL -paralyze:PRLS:PRLS -parament:PRMN:PRMN -paramors:PRMR:PRMR -paranees:PRNS:PRNS -paranoia:PRN:PRN -paranoic:PRNK:PRNK -paranoid:PRNT:PRNT -paraoxon:PRKS:PRKS -parapets:PRPT:PRPT -parasite:PRST:PRST -parasols:PRSL:PRSL -paratoid:PRTT:PRTT -paravane:PRFN:PRFN -paraxial:PRKS:PRKS -parazoan:PRSN:PRSN -parboils:PRPL:PRPL -parceled:PRSL:PRSL -parcener:PRSN:PRSN -parching:PRXN:PRKN -parclose:PRKL:PRKL -pardoned:PRTN:PRTN -pardoner:PRTN:PRTN -parental:PRNT:PRNT -parentis:PRNT:PRNT -parergon:PRRK:PRRK -parfaits:PRFT:PRFT -pargeted:PRKT:PRKT -parhelia:PRL:PRL -parhelic:PRLK:PRLK -pariahes:PRHS:PRHS -parietal:PRTL:PRTL -parietes:PRTS:PRTS -parishes:PRXS:PRXS -parisian:PRSN:PRXN -parities:PRTS:PRTS -parkiest:PRKS:PRKS -parkland:PRKL:PRKL -parklike:PRKL:PRKL -parkways:PRKS:PRKS -parlance:PRLN:PRLN -parlando:PRLN:PRLN -parlayed:PRLT:PRLT -parlayer:PRLR:PRLR -parleyed:PRLT:PRLT -parleyer:PRLR:PRLR -parlours:PRLR:PRLR -parmesan:PRMS:PRMS -parodied:PRTT:PRTT -parodies:PRTS:PRTS -parodist:PRTS:PRTS -parolees:PRLS:PRLS -parolers:PRLR:PRLR -paroling:PRLN:PRLN -paroquet:PRKT:PRKT -parosmia:PRSM:PRSM -parousia:PRS:PRX -paroxysm:PRKS:PRKS -parquets:PRKT:PRKT -parroted:PRTT:PRTT -parroter:PRTR:PRTR -parrotry:PRTR:PRTR -parrying:PRNK:PRNK -parsable:PRSP:PRSP -parsings:PRSN:PRSN -parsleys:PRSL:PRSL -parsnips:PRSN:PRSN -parsonic:PRSN:PRSN -partaken:PRTK:PRTK -partaker:PRTK:PRTK -partakes:PRTK:PRTK -parterre:PRTR:PRTR -parthian:PR0N:PRTN -partible:PRTP:PRTP -particle:PRTK:PRTK -partings:PRTN:PRTN -partisan:PRTS:PRTS -partitas:PRTT:PRTT -partizan:PRTS:PRTS -partners:PRTN:PRTN -partying:PRTN:PRTN -parvenus:PRFN:PRFN -pasadena:PSTN:PSTN -paspalum:PSPL:PSPL -passable:PSPL:PSPL -passably:PSPL:PSPL -passades:PSTS:PSTS -passaged:PSJT:PSKT -passages:PSJS:PSKS -passbook:PSPK:PSPK -passerby:PSRP:PSRP -passible:PSPL:PSPL -passings:PSNK:PSNK -passions:PSNS:PSNS -passkeys:PSKS:PSKS -passover:PSFR:PSFR -passport:PSPR:PSPR -passuses:PSSS:PSSS -password:PSRT:PSRT -pasterns:PSTR:PSTR -pastiche:PSTX:PSTK -pastiest:PSTS:PSTS -pastille:PSTL:PSTL -pastimes:PSTM:PSTM -pastness:PSTN:PSTN -pastoral:PSTR:PSTR -pastrami:PSTR:PSTR -pastries:PSTR:PSTR -pastured:PSTR:PSTR -pasturer:PSTR:PSTR -pastures:PSTR:PSTR -patagium:PTJM:PTKM -patchers:PXRS:PXRS -patchier:PX:PXR -patchily:PXL:PXL -patching:PXNK:PXNK -patellae:PTL:PTL -patellar:PTLR:PTLR -patellas:PTLS:PTLS -patented:PTNT:PTNT -patentee:PTNT:PTNT -patenter:PTNT:PTNT -patently:PTNT:PTNT -patentor:PTNT:PTNT -paternal:PTRN:PTRN -paterson:PTRS:PTRS -pathetic:P0TK:PTTK -pathfind:P0FN:PTFN -pathless:P0LS:PTLS -pathogen:P0JN:PTKN -pathoses:P0SS:PTSS -pathosis:P0SS:PTSS -pathways:P0S:PTS -patience:PTNS:PTNS -patients:PTNT:PTNT -patrials:PTRL:PTRL -patricia:PTRS:PTRX -patriots:PTRT:PTRT -patronal:PTRN:PTRN -pattered:PTRT:PTRT -patterer:PTRR:PTRR -patterns:PTRN:PTRN -patulous:PTLS:PTLS -pauldron:PLTR:PLTR -paunched:PNXT:PNKT -paunches:PNXS:PNKS -pauperis:PPRS:PPRS -pauropod:PRPT:PRPT -pavement:PFMN:PFMN -pavilion:PFLN:PFLN -pavonine:PFNN:PFNN -pawnshop:PNXP:PNXP -paycheck:PXK:PKK -payloads:PLTS:PLTS -payments:PMNT:PMNT -payrolls:PRLS:PRLS -peaceful:PSFL:PSFL -peachier:PX:PKR -peachily:PXL:PKL -peaching:PXNK:PKNK -peacocks:PKKS:PKKS -peafowls:PFLS:PFLS -pearlers:PRLR:PRLR -pearlier:PRL:PRLR -pearlies:PRLS:PRLS -pearlite:PRLT:PRLT -pearlize:PRLS:PRLS -pearmain:PRMN:PRMN -peasants:PSNT:PSNT -peashoot:PXT:PXT -peatiest:PTST:PTST -pebblier:PPL:PPLR -pebbling:PPLN:PPLN -peccable:PKPL:PKPL -peccably:PKPL:PKPL -peccancy:PKNS:PKNS -peccavis:PKFS:PKFS -pectinei:PKTN:PKTN -pectines:PKTN:PKTN -pectinic:PKTN:PKTN -pectises:PKTS:PKTS -pectized:PKTS:PKTS -pectizes:PKTS:PKTS -pectoral:PKTR:PKTR -pectoris:PKTR:PKTR -peculate:PKLT:PKLT -peculiar:PKLR:PKLR -peculium:PKLM:PKLM -pedagogy:PTKJ:PTKK -pedalfer:PTLF:PTLF -pedaling:PTLN:PTLN -pedalled:PTLT:PTLT -pedaller:PTLR:PTLR -pedantic:PTNT:PTNT -pedantry:PTNT:PTNT -pedately:PTTL:PTTL -peddlers:PTLR:PTLR -peddling:PTLN:PTLN -pederast:PTRS:PTRS -pedestal:PTST:PTST -pedicabs:PTKP:PTKP -pedicled:PTKL:PTKL -pediculi:PTKL:PTKL -pedicure:PTKR:PTKR -pediform:PTFR:PTFR -pedigree:PTKR:PTKR -pediment:PTMN:PTMN -pedipalp:PTPL:PTPL -pedology:PTLJ:PTLK -peduncle:PTNK:PTNK -peekaboo:PKP:PKP -peelings:PLNK:PLNK -peephole:PFL:PFL -peepshow:PPX:PPXF -peerless:PRLS:PRLS -pegboard:PKPR:PKPR -peignoir:PNR:PKNR -pekinese:PKNS:PKNS -pelagian:PLJN:PLKN -pelerine:PLRN:PLRN -pelicans:PLKN:PLKN -pellagra:PLKR:PLKR -pelleted:PLTT:PLTT -pellicle:PLKL:PLKL -pellmell:PLML:PLML -pellucid:PLST:PLST -peltries:PLTR:PLTR -pelvises:PLFS:PLFS -pemmican:PMKN:PMKN -pemoline:PMLN:PMLN -pemphigi:PMFJ:PMFK -penalize:PNLS:PNLS -penances:PNNS:PNNS -penchant:PNXN:PNKN -penciled:PNSL:PNSL -pendants:PNTN:PNTN -pendency:PNTN:PNTN -pendente:PNTN:PNTN -pendents:PNTN:PNTN -pendular:PNTL:PNTL -pendulum:PNTL:PNTL -penguins:PNKN:PNKN -penitent:PNTN:PNTN -penknife:PNKN:PNKN -penlight:PNLT:PNLT -pennants:PNNT:PNNT -pennated:PNTT:PNTT -pennoned:PNNT:PNNT -penology:PNLJ:PNLK -pensions:PNSN:PNXN -penstock:PNST:PNST -pentacle:PNTK:PNTK -pentagon:PNTK:PNTK -pentodes:PNTT:PNTT -pentomic:PNTM:PNTM -pentosan:PNTS:PNTS -penuches:PNXS:PNKS -penumbra:PNMP:PNMP -peopling:PPLN:PPLN -peppered:PPRT:PPRT -peppiest:PPST:PPST -peptises:PPTS:PPTS -peptized:PPTS:PPTS -peptizer:PPTS:PPTS -peptizes:PPTS:PPTS -peptonic:PPTN:PPTN -peracute:PRKT:PRKT -percales:PRKL:PRKL -perceive:PRSF:PRSF -percents:PRSN:PRSN -percepts:PRSP:PRSP -perchers:PRXR:PRKR -perching:PRXN:PRKN -perfecto:PRFK:PRFK -perfects:PRFK:PRFK -perforce:PRFR:PRFR -performs:PRFR:PRFR -perfumed:PRFM:PRFM -perfumer:PRFM:PRFM -perfumes:PRFM:PRFM -perfused:PRFS:PRFS -perfuses:PRFS:PRFS -pergolas:PRKL:PRKL -perianal:PRNL:PRNL -perianth:PRN0:PRNT -periblem:PRPL:PRPL -pericarp:PRKR:PRKR -pericles:PRKL:PRKL -pericope:PRKP:PRKP -periculo:PRKL:PRKL -pericyte:PRST:PRST -periderm:PRTR:PRTR -peridium:PRTM:PRTM -perigean:PRJN:PRKN -perigees:PRJS:PRKS -perigyny:PRJN:PRKN -periling:PRLN:PRLN -perilled:PRLT:PRLT -perilous:PRLS:PRLS -perilune:PRLN:PRLN -perinaea:PRN:PRN -perineal:PRNL:PRNL -perineum:PRNM:PRNM -periodic:PRTK:PRTK -perionyx:PRNK:PRNK -periople:PRPL:PRPL -perioral:PRRL:PRRL -periotic:PRTK:PRTK -perished:PRXT:PRXT -perisher:PRXR:PRXR -perishes:PRXS:PRXS -peritomy:PRTM:PRTM -peritura:PRTR:PRTR -periwigs:PRKS:PRKS -perjured:PRJR:PRJR -perjurer:PRJR:PRJR -perjures:PRJR:PRJR -perkiest:PRKS:PRKS -perlitic:PRLT:PRLT -permeant:PRMN:PRMN -permease:PRMS:PRMS -permeate:PRMT:PRMT -permuted:PRMT:PRMT -permutes:PRMT:PRMT -pernancy:PRNN:PRNN -peromeli:PRML:PRML -peroneal:PRNL:PRNL -peroneus:PRNS:PRNS -perorate:PRRT:PRRT -perosomi:PRSM:PRSM -peroxide:PRKS:PRKS -persians:PRSN:PRXN -persists:PRSS:PRSS -personae:PRSN:PRSN -personal:PRSN:PRSN -personam:PRSN:PRSN -personas:PRSN:PRSN -perspire:PRSP:PRSP -persuade:PRST:PRST -pertains:PRTN:PRTN -pertness:PRTN:PRTN -perturbs:PRTR:PRTR -perusals:PRSL:PRSL -perusers:PRSR:PRSR -perusing:PRSN:PRSN -peruvian:PRFN:PRFN -pervaded:PRFT:PRFT -pervader:PRFT:PRFT -pervades:PRFT:PRFT -perverse:PRFR:PRFR -perverts:PRFR:PRFR -pervious:PRFS:PRFS -peskiest:PSKS:PSKS -pestered:PSTR:PSTR -pesterer:PSTR:PSTR -pestling:PSTL:PSTL -petaline:PTLN:PTLN -petalled:PTLT:PTLT -petalody:PTLT:PTLT -petaloid:PTLT:PTLT -petcocks:PTKK:PTKK -petechia:PTK:PTK -petering:PTRN:PTRN -peterman:PTRM:PTRM -petermen:PTRM:PTRM -peterson:PTRS:PTRS -petiolar:PTLR:PTLR -petioles:PTLS:PTLS -petiolus:PTLS:PTLS -petition:PTXN:PTXN -petitmal:PTTM:PTTM -petitory:PTTR:PTTR -petrolic:PTRL:PTRL -petrosae:PTRS:PTRS -petrosal:PTRS:PTRS -pettiest:PTST:PTST -pettifog:PTFK:PTFK -petulant:PTLN:PTLN -petunias:PTNS:PTNS -petuntse:PTNT:PTNT -petuntze:PTNT:PTNT -pewterer:PTRR:PTRR -peyerian:PRN:PRN -peyronie:PRN:PRN -pfeiffer:PFFR:PFFR -pfennigs:PFNK:PFNK -phacelia:FSL:FSL -phaetons:FTNS:FTNS -phalange:FLNJ:FLNK -phalloid:FLT:FLT -phantasm:FNTS:FNTS -phantast:FNTS:FNTS -phantasy:FNTS:FNTS -phantoms:FNTM:FNTM -pharaohs:FRS:FRS -pharisee:FRS:FRS -pharmacy:FRMS:FRMS -phaseout:FST:FST -pheasant:FSNT:FSNT -phenetic:FNTK:FNTK -phenolic:FNLK:FNLK -phenylic:FNLK:FNLK -philemon:FLMN:FLMN -phillips:FLPS:FLPS -philters:FLTR:FLTR -philtrum:FLTR:FLTR -phimosed:FMST:FMST -phimoses:FMSS:FMSS -phimosis:FMSS:FMSS -phimotic:FMTK:FMTK -phleboid:FLPT:FLPT -phlegmon:FLKM:FLKM -phloxine:FLKS:FLKS -phonated:FNTT:FNTT -phonemes:FNMS:FNMS -phonemic:FNMK:FNMK -phonetic:FNTK:FNTK -phonical:FNKL:FNKL -phoniest:FNST:FNST -phormium:FRMM:FRMM -phosgene:FSJN:FSKN -phosphor:FSFR:FSFR -photomap:FTMP:FTMP -photopia:FTP:FTP -photopic:FTPK:FTPK -phrasing:FRSN:FRSN -phratric:FRTR:FRTR -phreatic:FRTK:FRTK -phthalic:F0LK:FTLK -phthalin:F0LN:FTLN -phthioic:F0K:FTK -phthises:F0SS:FTSS -phthisic:F0SK:FTSK -phthisis:F0SS:FTSS -phyletic:FLTK:FLTK -phyllite:FLT:FLT -phyllode:FLT:FLT -phylloid:FLT:FLT -phyllome:FLM:FLM -phymatic:FMTK:FMTK -physalis:FSLS:FSLS -physical:FSKL:FSKL -physicks:FSKS:FSKS -physicky:FSK:FSK -physique:FSK:FSK -phytomer:FTMR:FTMR -phytoses:FTSS:FTSS -phytosis:FTSS:FTSS -piacular:PKLR:PKLR -pianists:PNST:PNST -piasters:PSTR:PSTR -piblokto:PPLK:PPLK -pibrochs:PPRK:PPRK -picadors:PKTR:PKTR -picaroon:PKRN:PKRN -picayune:PKN:PKN -piccolos:PKLS:PKLS -pickable:PKPL:PKPL -pickages:PKJS:PKKS -pickaxes:PKKS:PKKS -pickerel:PKRL:PKRL -picketed:PKTT:PKTT -picketer:PKTR:PKTR -pickiest:PKST:PKST -pickings:PKNK:PKNK -picklers:PKLR:PKLR -pickling:PKLN:PKLN -picklock:PKLK:PKLK -pickwick:PKK:PKK -picoline:PKLN:PKLN -picotees:PKTS:PKTS -picrotin:PKRT:PKRT -pictured:PKTR:PKTR -picturer:PKTR:PKTR -pictures:PKTR:PKTR -piddlers:PTLR:PTLR -piddling:PTLN:PTLN -piebalds:PPLT:PPLT -piedmont:PTMN:PTMN -pieplant:PPLN:PPLN -piercers:PRSR:PRSR -piercing:PRSN:PRSN -pierrots:PRTS:PRTS -piffling:PFLN:PFLN -pigeonry:PJNR:PKNR -piggiest:PKST:PKST -pigments:PKMN:PKMN -pigskins:PKSK:PKSK -pigsties:PKST:PKST -pigswill:PKSL:PKSL -pigtails:PKTL:PKTL -pikelets:PKLT:PKLT -pilaster:PLST:PLST -pilchard:PLXR:PLKR -pilewort:PLRT:PLRT -pilfered:PLFR:PLFR -pilferer:PLFR:PLFR -pilgrims:PLKR:PLKR -piliform:PLFR:PLFR -pillaged:PLJT:PLKT -pillager:PLKR:PLJR -pillages:PLJS:PLKS -pillared:PLRT:PLRT -pillions:PLNS:PLNS -pillowed:PLT:PLT -pillular:PLLR:PLLR -pilosity:PLST:PLST -pilotage:PLTJ:PLTK -piloting:PLTN:PLTN -pilsners:PLSN:PLSN -pilulous:PLLS:PLLS -pimentos:PMNT:PMNT -pimiento:PMNT:PMNT -pimplier:PMPL:PMPL -pimpling:PMPL:PMPL -pinafore:PNFR:PNFR -pinaster:PNST:PNST -pincenez:PNSN:PNSN -pinchers:PNXR:PNKR -pinching:PNXN:PNKN -pineries:PNRS:PNRS -pinewood:PNT:PNT -pinfalls:PNFL:PNFL -pingpong:PNKP:PNKP -pinheads:PNTS:PNTS -pinholes:PNLS:PNLS -pinioned:PNNT:PNNT -pinkness:PNKN:PNKN -pinnaces:PNSS:PNSS -pinnacle:PNKL:PNKL -pinnings:PNNK:PNNK -pinniped:PNPT:PNPT -pinnular:PNLR:PNLR -pinnules:PNLS:PNLS -pinochle:PNKL:PNKL -pinpoint:PNPN:PNPN -pinprick:PNPR:PNPR -pinwheel:PNL:PNL -pioneers:PNRS:PNRS -pipeclay:PPKL:PPKL -pipefish:PPFX:PPFX -pipeless:PPLS:PPLS -pipeline:PPLN:PPLN -piperine:PPRN:PPRN -pipettes:PPTS:PPTS -pipewort:PPRT:PPRT -pipingly:PPNK:PPNK -piquancy:PKNS:PKNS -piracies:PRSS:PRXS -piranhas:PRNS:PRNS -pirating:PRTN:PRTN -piriform:PRFR:PRFR -pirogues:PRKS:PRKS -pisaller:PSLR:PSLR -piscaria:PSKR:PSKR -piscinae:PSN:PSN -pisiform:PSFR:PSFR -pismires:PSMR:PSMR -pisolite:PSLT:PSLT -pistoles:PSTL:PSTL -pitapats:PTPT:PTPT -pitchers:PXRS:PXRS -pitchier:PX:PXR -pitching:PXNK:PXNK -pitchman:PXMN:PXMN -pitchmen:PXMN:PXMN -pitfalls:PTFL:PTFL -pitheads:P0TS:PTTS -pithiest:P0ST:PTST -pitiable:PXPL:PXPL -pitiably:PXPL:PXPL -pitiless:PTLS:PTLS -pittance:PTNS:PTNS -pituitae:PTT:PTT -pivoting:PFTN:PFTN -pizzeria:PSR:PSR -placable:PLKP:PLKP -placably:PLKP:PLKP -placards:PLKR:PLKR -placated:PLKT:PLKT -placates:PLKT:PLKT -placebos:PLSP:PLSP -placeman:PLSM:PLSM -placemen:PLSM:PLSM -placenta:PLSN:PLSN -placeted:PLST:PLST -placidly:PLST:PLST -plackets:PLKT:PLKT -plagiary:PLJR:PLKR -plaguier:PLK:PLKR -plaguily:PLKL:PLKL -plaguing:PLKN:PLKN -plainest:PLNS:PLNS -plaiting:PLTN:PLTN -planchet:PLNX:PLNK -planform:PLNF:PLNF -plangent:PLNJ:PLNK -planking:PLNK:PLNK -plankton:PLNK:PLNK -planners:PLNR:PLNR -planning:PLNN:PLNN -planosol:PLNS:PLNS -plantago:PLNT:PLNT -plantain:PLNT:PLNT -planters:PLNT:PLNT -planting:PLNT:PLNT -planulae:PLNL:PLNL -planular:PLNL:PLNL -plashing:PLXN:PLXN -plasmone:PLSM:PLSM -plastein:PLST:PLST -plasters:PLST:PLST -plastery:PLST:PLST -plastics:PLST:PLST -plastral:PLST:PLST -plastron:PLST:PLST -plateaus:PLTS:PLTS -plateaux:PLT:PLT -plateful:PLTF:PLTF -platelet:PLTL:PLTL -platform:PLTF:PLTF -platiest:PLTS:PLTS -platinic:PLTN:PLTN -platinum:PLTN:PLTN -platonic:PLTN:PLTN -platoons:PLTN:PLTN -platters:PLTR:PLTR -platting:PLTN:PLTN -platycne:PLTK:PLTK -platyope:PLTP:PLTP -platypus:PLTP:PLTP -platysma:PLTS:PLTS -plaudits:PLTT:PLTT -plausive:PLSF:PLSF -playable:PLPL:PLPL -playacts:PLKT:PLKT -playback:PLPK:PLPK -playbill:PLPL:PLPL -playboys:PLPS:PLPS -playgirl:PLJR:PLKR -playgoer:PLKR:PLKR -playlets:PLLT:PLLT -playmate:PLMT:PLMT -playoffs:PLFS:PLFS -playpens:PLPN:PLPN -playroom:PLRM:PLRM -playsuit:PLST:PLST -playtime:PLTM:PLTM -pleached:PLXT:PLKT -pleaches:PLXS:PLKS -pleaders:PLTR:PLTR -pleading:PLTN:PLTN -pleasant:PLSN:PLSN -pleasers:PLSR:PLSR -pleasing:PLSN:PLSN -pleasure:PLSR:PLSR -pleaters:PLTR:PLTR -pleating:PLTN:PLTN -plebeian:PLPN:PLPN -plectrum:PLKT:PLKT -pledgees:PLJS:PLJS -pledgeor:PLJR:PLJR -pledgers:PLJR:PLJR -pledgery:PLJR:PLJR -pledging:PLJN:PLJN -plenties:PLNT:PLNT -pleonasm:PLNS:PLNS -plethora:PL0R:PLTR -pleuraes:PLRS:PLRS -pleurisy:PLRS:PLRS -pleuston:PLST:PLST -plexuses:PLKS:PLKS -pliantly:PLNT:PLNT -plicated:PLKT:PLKT -plighted:PLTT:PLTT -plighter:PLTR:PLTR -plimsoll:PLMS:PLMS -plinking:PLNK:PLNK -plinthes:PLN0:PLNT -pliocene:PLSN:PLSN -plodders:PLTR:PLTR -plodding:PLTN:PLTN -ploidies:PLTS:PLTS -plombage:PLMP:PLMP -plopping:PLPN:PLPN -plottage:PLTJ:PLTK -plotters:PLTR:PLTR -plotting:PLTN:PLTN -ploughed:PLFT:PLFT -ploughes:PLFS:PLFS -plowable:PLPL:PLPL -plowbote:PLPT:PLPT -pluckers:PLKR:PLKR -pluckier:PLKR:PLKR -pluckily:PLKL:PLKL -plucking:PLKN:PLKN -plugging:PLKN:PLKN -plughole:PLKL:PLKL -plumbago:PLMP:PLMP -plumbers:PLMR:PLMR -plumbery:PLMR:PLMR -plumbing:PLMP:PLMP -plumbism:PLMP:PLMP -plumbous:PLMP:PLMP -plumiest:PLMS:PLMS -plummers:PLMR:PLMR -plummets:PLMT:PLMT -plummier:PLM:PLMR -plumpest:PLMP:PLMP -plumping:PLMP:PLMP -plumular:PLML:PLML -plunders:PLNT:PLNT -plungers:PLNK:PLNJ -plunging:PLNJ:PLNK -plunking:PLNK:PLNK -plurally:PLRL:PLRL -pluribus:PLRP:PLRP -plushest:PLXS:PLXS -plushier:PLX:PLXR -plutarch:PLTR:PLTR -plutonic:PLTN:PLTN -pluvious:PLFS:PLFS -plymouth:PLM0:PLMT -poachers:PXRS:PKRS -poaching:PXNK:PKNK -pocketed:PKTT:PKTT -pockmark:PKMR:PKMR -podagral:PTKR:PTKR -podagric:PTKR:PTKR -podgiest:PJST:PJST -podiatry:PTTR:PTTR -pododerm:PTTR:PTTR -podology:PTLJ:PTLK -podsolic:PTSL:PTSL -podzolic:PTSL:PTSL -poetical:PTKL:PTKL -poetries:PTRS:PTRS -pogonias:PKNS:PKNS -pogonion:PKNN:PKNN -poignant:PNNT:PKNN -poinding:PNTN:PNTN -pointers:PNTR:PNTR -pointier:PNT:PNTR -pointing:PNTN:PNTN -poisoned:PSNT:PSNT -poisoner:PSNR:PSNR -pokiness:PKNS:PKNS -polacres:PLKR:PLKR -polarity:PLRT:PLRT -polarize:PLRS:PLRS -polaroid:PLRT:PLRT -poldered:PLTR:PLTR -poleaxed:PLKS:PLKS -poleaxes:PLKS:PLKS -polecats:PLKT:PLKT -polemics:PLMK:PLMK -polemise:PLMS:PLMS -polenske:PLNS:PLNS -polestar:PLST:PLST -poleward:PLRT:PLRT -policies:PLSS:PLXS -policing:PLSN:PLSN -polioses:PLSS:PLSS -poliosis:PLSS:PLSS -polished:PLXT:PLXT -polisher:PLXR:PLXR -polishes:PLXS:PLXS -politely:PLTL:PLTL -politest:PLTS:PLTS -politick:PLTK:PLTK -politico:PLTK:PLTK -politics:PLTK:PLTK -polities:PLTS:PLTS -politzer:PLTS:PLTS -pollacks:PLKS:PLKS -pollards:PLRT:PLRT -pollbook:PLPK:PLPK -pollical:PLKL:PLKL -pollices:PLSS:PLSS -pollinia:PLN:PLN -pollinic:PLNK:PLNK -polliwog:PLK:PLK -pollster:PLST:PLST -polluted:PLTT:PLTT -polluter:PLTR:PLTR -pollutes:PLTS:PLTS -polocyte:PLST:PLST -polonica:PLNK:PLNK -polonies:PLNS:PLNS -polonium:PLNM:PLNM -poltroon:PLTR:PLTR -polyacid:PLST:PLST -polyadic:PLTK:PLTK -polyaxon:PLKS:PLKS -polyenic:PLNK:PLNK -polygala:PLKL:PLKL -polygamy:PLKM:PLKM -polygene:PLJN:PLKN -polyglot:PLKL:PLKL -polygons:PLKN:PLKN -polygram:PLKR:PLKR -polygyny:PLKN:PLJN -polymath:PLM0:PLMT -polymeer:PLMR:PLMR -polymely:PLML:PLML -polymers:PLMR:PLMR -polyopia:PLP:PLP -polyopic:PLPK:PLPK -polypary:PLPR:PLPR -polypnea:PLPN:PLPN -polypods:PLPT:PLPT -polypody:PLPT:PLPT -polypoid:PLPT:PLPT -polypous:PLPS:PLPS -polysemy:PLSM:PLSM -polysome:PLSM:PLSM -polysomy:PLSM:PLSM -polytene:PLTN:PLTN -polyuria:PLR:PLR -polyuric:PLRK:PLRK -polyzoic:PLSK:PLSK -pomading:PMTN:PMTN -pomander:PMNT:PMNT -pomfrets:PMFR:PMFR -pommeled:PMLT:PMLT -pomology:PMLJ:PMLK -pompador:PMPT:PMPT -pompanos:PMPN:PMPN -pondered:PNTR:PNTR -ponderer:PNTR:PNTR -pondweed:PNTT:PNTT -poniards:PNRT:PNRT -pontiacs:PNXK:PNXK -pontifex:PNTF:PNTF -pontiffs:PNTF:PNTF -pontoons:PNTN:PNTN -ponytail:PNTL:PNTL -poolroom:PLRM:PLRM -poorness:PRNS:PRNS -popinjay:PPNJ:PPNJ -popishly:PPXL:PPXL -poplitei:PPLT:PPLT -popovers:PPFR:PPFR -poppadom:PPTM:PPTM -poppling:PPLN:PPLN -populace:PPLS:PPLS -populate:PPLT:PPLT -populism:PPLS:PPLS -populist:PPLS:PPLS -populous:PPLS:PPLS -porkiest:PRKS:PRKS -porkling:PRKL:PRKL -poroporo:PRPR:PRPR -porosity:PRST:PRST -porously:PRSL:PRSL -porphine:PRFN:PRFN -porphyry:PRFR:PRFR -porpoise:PRPS:PRPS -porridge:PRJ:PRJ -portable:PRTP:PRTP -portably:PRTP:PRTP -portaged:PRTJ:PRTK -portages:PRTJ:PRTK -portaled:PRTL:PRTL -portends:PRTN:PRTN -portents:PRTN:PRTN -portfire:PRTF:PRTF -porthole:PR0L:PRTL -porticos:PRTK:PRTK -portiere:PRTR:PRTR -portions:PRXN:PRXN -portland:PRTL:PRTL -portlier:PRTL:PRTL -portrait:PRTR:PRTR -portrays:PRTR:PRTR -portress:PRTR:PRTR -portugal:PRTK:PRTK -poseidon:PSTN:PSTN -poshness:PXNS:PXNS -posingly:PSNK:PSNK -positing:PSTN:PSTN -position:PSXN:PSXN -positive:PSTF:PSTF -positivi:PSTF:PSTF -positron:PSTR:PSTR -posology:PSLJ:PSLK -posseman:PSMN:PSMN -possemen:PSMN:PSMN -possible:PSPL:PSPL -possibly:PSPL:PSPL -possumes:PSMS:PSMS -possumus:PSMS:PSMS -postaler:PSTL:PSTL -postbags:PSTP:PSTP -postboys:PSTP:PSTP -postcard:PSTK:PSTK -postcava:PSTK:PSTK -postcode:PSTK:PSTK -postdate:PSTT:PSTT -posterns:PSTR:PSTR -postiche:PSTX:PSTK -postings:PSTN:PSTN -postlude:PSTL:PSTL -postmark:PSTM:PSTM -postoral:PSTR:PSTR -postpaid:PSTP:PSTP -postpone:PSTP:PSTP -postural:PSTR:PSTR -postured:PSTR:PSTR -posturer:PSTR:PSTR -postures:PSTR:PSTR -potables:PTPL:PTPL -potassic:PTSK:PTSK -potation:PTXN:PTXN -potatoes:PTTS:PTTS -potatory:PTTR:PTTR -potbelly:PTPL:PTPL -potentia:PTNX:PTNX -potently:PTNT:PTNT -potheads:P0TS:PTTS -potherbs:P0RP:PTRP -pothered:P0RT:PTRT -potholed:P0LT:PTLT -potholer:P0LR:PTLR -potholes:P0LS:PTLS -pothooks:P0KS:PTKS -potiches:PTXS:PTKS -potlatch:PTLX:PTLX -potsherd:PTXR:PTXR -potshots:PTXT:PTXT -potstone:PTST:PTST -pottered:PTRT:PTRT -potterer:PTRR:PTRR -pottiest:PTST:PTST -pouching:PXNK:PKNK -poulards:PLRT:PLRT -poultice:PLTS:PLTS -pouncing:PNSN:PNSN -poundage:PNTJ:PNTK -poundals:PNTL:PNTL -pounders:PNTR:PNTR -pounding:PNTN:PNTN -poussins:PSNS:PSNS -povidone:PFTN:PFTN -powdered:PTRT:PTRT -powderer:PTRR:PTRR -powerful:PRFL:PRFL -powering:PRNK:PRNK -powerpcs:PRPK:PRPK -powerset:PRST:PRST -poxvirus:PKSF:PKSF -practice:PRKT:PRKT -practise:PRKT:PRKT -praecipe:PRSP:PRSP -praedial:PRTL:PRTL -praedium:PRTM:PRTM -praesens:PRSN:PRSN -praetors:PRTR:PRTR -prairies:PRRS:PRRS -praisers:PRSR:PRSR -praising:PRSN:PRSN -pralines:PRLN:PRLN -prancers:PRNS:PRNS -prancing:PRNS:PRNS -prandial:PRNT:PRNT -pranging:PRNJ:PRNK -pranking:PRNK:PRNK -prankish:PRNK:PRNK -pratfall:PRTF:PRTF -pratique:PRTK:PRTK -prattled:PRTL:PRTL -prattler:PRTL:PRTL -prattles:PRTL:PRTL -prawning:PRNN:PRNN -preached:PRXT:PRKT -preacher:PRXR:PRKR -preaches:PRXS:PRKS -preadapt:PRTP:PRTP -preadult:PRTL:PRTL -preallot:PRLT:PRLT -preamble:PRMP:PRMP -prearmed:PRRM:PRRM -preaxial:PRKS:PRKS -prebends:PRPN:PRPN -prebills:PRPL:PRPL -prebless:PRPL:PRPL -preboils:PRPL:PRPL -precasts:PRKS:PRKS -precavae:PRKF:PRKF -precaval:PRKF:PRKF -preceded:PRST:PRST -precedes:PRST:PRST -precepts:PRSP:PRSP -precheck:PRXK:PRKK -prechill:PRXL:PRKL -precinct:PRSN:PRSN -precious:PRSS:PRXS -preclean:PRKL:PRKL -preclude:PRKL:PRKL -precoces:PRKS:PRKS -precooks:PRKK:PRKK -precornu:PRKR:PRKR -precunei:PRKN:PRKN -predated:PRTT:PRTT -predates:PRTT:PRTT -predator:PRTT:PRTT -predella:PRTL:PRTL -predelle:PRTL:PRTL -predicts:PRTK:PRTK -predooms:PRTM:PRTM -preemies:PRMS:PRMS -preempts:PRMP:PRMP -preeners:PRNR:PRNR -preening:PRNN:PRNN -preexist:PRKS:PRKS -prefaced:PRFS:PRFS -prefacer:PRFS:PRFS -prefaces:PRFS:PRFS -prefects:PRFK:PRFK -prefixal:PRFK:PRFK -prefixed:PRFK:PRFK -prefixes:PRFK:PRFK -preforms:PRFR:PRFR -prefroze:PRFR:PRFR -pregnane:PRNN:PRKN -pregnant:PRNN:PRKN -pregnene:PRNN:PRKN -preheats:PRHT:PRHT -prehuman:PRHM:PRHM -prejudge:PRJJ:PRJJ -prelates:PRLT:PRLT -prelatic:PRLT:PRLT -prelegal:PRLK:PRLK -prelimit:PRLM:PRLM -preluded:PRLT:PRLT -preludes:PRLT:PRLT -premiere:PRMR:PRMR -premiers:PRMR:PRMR -premised:PRMS:PRMS -premises:PRMS:PRMS -premiums:PRMM:PRMM -premixed:PRMK:PRMK -premixes:PRMK:PRMK -premolar:PRML:PRML -premorse:PRMR:PRMR -prenames:PRNM:PRNM -prenares:PRNR:PRNR -prenaris:PRNR:PRNR -prenatal:PRNT:PRNT -prentice:PRNT:PRNT -preoptic:PRPT:PRPT -prepacks:PRPK:PRPK -prepared:PRPR:PRPR -preparer:PRPR:PRPR -prepares:PRPR:PRPR -prepense:PRPN:PRPN -preplans:PRPL:PRPL -preppies:PRPS:PRPS -prepping:PRPN:PRPN -preprint:PRPR:PRPR -prepubic:PRPP:PRPP -preputia:PRPX:PRPX -prequels:PRKL:PRKL -presaged:PRSJ:PRSK -presager:PRSK:PRSJ -presages:PRSJ:PRSK -prescore:PRSK:PRSK -presells:PRSL:PRSL -presence:PRSN:PRSN -presents:PRSN:PRSN -preserve:PRSR:PRSR -preshape:PRXP:PRXP -presided:PRST:PRST -presider:PRST:PRST -presides:PRST:PRST -presifts:PRSF:PRSF -presoaks:PRSK:PRSK -pressers:PRSR:PRSR -pressing:PRSN:PRSN -pressman:PRSM:PRSM -pressmen:PRSM:PRSM -pressure:PRSR:PRSR -prestige:PRST:PRST -presumed:PRSM:PRSM -presumer:PRSM:PRSM -presumes:PRSM:PRSM -preteens:PRTN:PRTN -pretence:PRTN:PRTN -pretends:PRTN:PRTN -pretense:PRTN:PRTN -preterit:PRTR:PRTR -pretests:PRTS:PRTS -pretexts:PRTK:PRTK -pretonic:PRTN:PRTN -pretoria:PRTR:PRTR -pretreat:PRTR:PRTR -pretrial:PRTR:PRTR -prettied:PRTT:PRTT -prettier:PRT:PRTR -pretties:PRTS:PRTS -prettify:PRTF:PRTF -prettily:PRTL:PRTL -pretzels:PRTS:PRTS -preunion:PRNN:PRNN -prevails:PRFL:PRFL -prevents:PRFN:PRFN -previews:PRFS:PRFS -previous:PRFS:PRFS -prewarms:PRRM:PRRM -priapism:PRPS:PRPS -prickers:PRKR:PRKR -prickets:PRKT:PRKT -pricking:PRKN:PRKN -prickled:PRKL:PRKL -prickles:PRKL:PRKL -prideful:PRTF:PRTF -priedieu:PRT:PRT -priestly:PRST:PRST -priggish:PRKX:PRKX -prilling:PRLN:PRLN -primates:PRMT:PRMT -primeval:PRMF:PRMF -primmest:PRMS:PRMS -primming:PRMN:PRMN -primness:PRMN:PRMN -primping:PRMP:PRMP -primrose:PRMR:PRMR -princely:PRNS:PRNS -princeps:PRNS:PRNS -princess:PRNS:PRNS -principe:PRNS:PRNS -prinking:PRNK:PRNK -printers:PRNT:PRNT -printing:PRNT:PRNT -printout:PRNT:PRNT -priorate:PRRT:PRRT -prioress:PRRS:PRRS -priories:PRRS:PRRS -priority:PRRT:PRRT -prismoid:PRSM:PRSM -prisoned:PRSN:PRSN -prisoner:PRSN:PRSN -prissier:PRS:PRSR -prissily:PRSL:PRSL -pristine:PRST:PRST -prithees:PR0S:PRTS -privates:PRFT:PRFT -privatim:PRFT:PRFT -privatum:PRFT:PRFT -proamnia:PRMN:PRMN -proatlas:PRTL:PRTL -probable:PRPP:PRPP -probably:PRPP:PRPP -probandi:PRPN:PRPN -probated:PRPT:PRPT -probates:PRPT:PRPT -probings:PRPN:PRPN -problems:PRPL:PRPL -procaine:PRKN:PRKN -procarps:PRKR:PRKR -proceeds:PRST:PRST -procendi:PRSN:PRSN -prochein:PRXN:PRKN -proclaim:PRKL:PRKL -proctors:PRKT:PRKT -procural:PRKR:PRKR -procured:PRKR:PRKR -procurer:PRKR:PRKR -procures:PRKR:PRKR -prodding:PRTN:PRTN -prodigal:PRTK:PRTK -prodrome:PRTR:PRTR -produced:PRTS:PRTS -producer:PRTS:PRTS -produces:PRTS:PRTS -products:PRTK:PRTK -proemial:PRML:PRML -profaned:PRFN:PRFN -profaner:PRFN:PRFN -profanes:PRFN:PRFN -proffers:PRFR:PRFR -profiled:PRFL:PRFL -profiler:PRFL:PRFL -profiles:PRFL:PRFL -profited:PRFT:PRFT -profiter:PRFT:PRFT -proforma:PRFR:PRFR -profound:PRFN:PRFN -profunda:PRFN:PRFN -progeria:PRKR:PRJR -programm:PRKR:PRKR -programs:PRKR:PRKR -progress:PRKR:PRKR -prohibit:PRHP:PRHP -projects:PRJK:PRJK -prolabia:PRLP:PRLP -prolabor:PRLP:PRLP -prolamin:PRLM:PRLM -prolapse:PRLP:PRLP -prolific:PRLF:PRLF -prolixly:PRLK:PRLK -prologue:PRLK:PRLK -prolongs:PRLN:PRLN -promised:PRMS:PRMS -promisee:PRMS:PRMS -promiser:PRMS:PRMS -promises:PRMS:PRMS -promisor:PRMS:PRMS -promoted:PRMT:PRMT -promoter:PRMT:PRMT -promotes:PRMT:PRMT -promotor:PRMT:PRMT -prompted:PRMP:PRMP -prompter:PRMP:PRMP -promptly:PRMP:PRMP -pronated:PRNT:PRNT -pronates:PRNT:PRNT -pronator:PRNT:PRNT -pronging:PRNJ:PRNK -pronotum:PRNT:PRNT -pronouns:PRNN:PRNN -proofing:PRFN:PRFN -propanol:PRPN:PRPN -propenyl:PRPN:PRPN -properly:PRPR:PRPR -property:PRPR:PRPR -prophage:PRFJ:PRFK -prophase:PRFS:PRFS -prophecy:PRFS:PRFS -prophesy:PRFS:PRFS -prophets:PRFT:PRFT -propjets:PRPJ:PRPJ -propolis:PRPL:PRPL -proposal:PRPS:PRPS -proposed:PRPS:PRPS -proposer:PRPS:PRPS -proposes:PRPS:PRPS -propound:PRPN:PRPN -propping:PRPN:PRPN -propriae:PRPR:PRPR -propriis:PRPR:PRPR -proprius:PRPR:PRPR -prorated:PRRT:PRRT -prorater:PRRT:PRRT -prorates:PRRT:PRRT -prorogue:PRRK:PRRK -prosaism:PRSS:PRSS -prosaist:PRSS:PRSS -prosequi:PRSK:PRSK -prosiest:PRSS:PRSS -prosodic:PRST:PRST -prosopic:PRSP:PRSP -prospect:PRSP:PRSP -prospers:PRSP:PRSP -prossing:PRSN:PRSN -prostate:PRST:PRST -prostyle:PRST:PRST -protagon:PRTK:PRTK -protases:PRTS:PRTS -protasis:PRTS:PRTS -protatic:PRTT:PRTT -protease:PRTS:PRTS -protects:PRTK:PRTK -protegee:PRTJ:PRTK -proteges:PRTJ:PRTK -proteide:PRTT:PRTT -proteins:PRTN:PRTN -proteose:PRTS:PRTS -protests:PRTS:PRTS -protista:PRTS:PRTS -protists:PRTS:PRTS -protocol:PRTK:PRTK -protogen:PRTJ:PRTK -protozoa:PRTS:PRTS -protract:PRTR:PRTR -protrude:PRTR:PRTR -proudest:PRTS:PRTS -prounion:PRNN:PRNN -provable:PRFP:PRFP -provably:PRFP:PRFP -provatae:PRFT:PRFT -provence:PRFN:PRFN -proverbs:PRFR:PRFR -provided:PRFT:PRFT -provider:PRFT:PRFT -provides:PRFT:PRFT -province:PRFN:PRFN -proviral:PRFR:PRFR -provirus:PRFR:PRFR -provisos:PRFS:PRFS -provoked:PRFK:PRFK -provoker:PRFK:PRFK -provokes:PRFK:PRFK -provosts:PRFS:PRFS -prowlers:PRLR:PRLR -prowling:PRLN:PRLN -proximad:PRKS:PRKS -proximal:PRKS:PRKS -prudence:PRTN:PRTN -pruinate:PRNT:PRNT -pruinose:PRNS:PRNS -prunable:PRNP:PRNP -prunella:PRNL:PRNL -prunello:PRNL:PRNL -prurient:PRRN:PRRN -prurigos:PRRK:PRRK -pruritic:PRRT:PRRT -pruritus:PRRT:PRRT -prussian:PRSN:PRSN -pryingly:PRNK:PRNK -psalmist:SLMS:SLMS -psalmody:SLMT:SLMT -psalters:SLTR:SLTR -psaltery:SLTR:SLTR -psammoma:SMM:SMM -psephite:SFT:SFT -psilocin:SLSN:SLSN -psilosis:SLSS:SLSS -psoralea:SRL:SRL -psychics:SXKS:SKKS -psyching:SXNK:SKNK -psyllium:SLM:SLM -pteropod:PTRP:PTRP -pteropus:PTRP:PTRP -pterygia:PTRJ:PTRK -pterylae:PTRL:PTRL -ptiloses:PTLS:PTLS -ptilosis:PTLS:PTLS -ptomaine:PTMN:PTMN -ptyalism:PTLS:PTLS -pubertal:PPRT:PPRT -pubertas:PPRT:PPRT -publicae:PPLK:PPLK -publican:PPLK:PPLK -publicly:PPLK:PPLK -publicum:PPLK:PPLK -publicus:PPLK:PPLK -puckered:PKRT:PKRT -puckeroo:PKR:PKR -puddings:PTNK:PTNK -puddingy:PTNK:PTNJ -puddlers:PTLR:PTLR -puddling:PTLN:PTLN -pudendal:PTNT:PTNT -pudendic:PTNT:PTNT -pudendum:PTNT:PTNT -pudgiest:PJST:PJST -puerpera:PRPR:PRPR -puffball:PFPL:PFPL -puffbird:PFPR:PFPR -puffiest:PFST:PFST -puggaree:PKR:PKR -puggrees:PKRS:PKRS -pugilism:PJLS:PKLS -pugilist:PJLS:PKLS -puissant:PSNT:PSNT -pulicide:PLST:PLST -pulitzer:PLTS:PLTS -pullback:PLPK:PLPK -pullings:PLNK:PLNK -pullmans:PLMN:PLMN -pullorum:PLRM:PLRM -pullouts:PLTS:PLTS -pullover:PLFR:PLFR -pulmonic:PLMN:PLMN -pulmotor:PLMT:PLMT -pulpally:PLPL:PLPL -pulpiest:PLPS:PLPS -pulposus:PLPS:PLPS -pulpwood:PLPT:PLPT -pulsated:PLST:PLST -pulsates:PLST:PLST -pulsator:PLST:PLST -pulsejet:PLSJ:PLSJ -pulvilli:PLFL:PLFL -pulvinar:PLFN:PLFN -pulvinus:PLFN:PLFN -pummeled:PMLT:PMLT -pumpkins:PMPK:PMPK -puncheon:PNXN:PNKN -punchers:PNXR:PNKR -punchess:PNXS:PNKS -punchier:PNX:PNKR -punchily:PNXL:PNKL -punching:PNXN:PNKN -punctate:PNKT:PNKT -punctual:PNKT:PNKT -puncture:PNKT:PNKT -pungency:PNJN:PNKN -puniness:PNNS:PNNS -punished:PNXT:PNXT -punisher:PNXR:PNXR -punishes:PNXS:PNXS -punitive:PNTF:PNTF -punitory:PNTR:PNTR -punsters:PNST:PNST -puparial:PPRL:PPRL -puparium:PPRM:PPRM -pupating:PPTN:PPTN -pupation:PPXN:PPXN -pupillae:PPL:PPL -puppetes:PPTS:PPTS -puppetry:PPTR:PPTR -puppyish:PPX:PPX -purblind:PRPL:PRPL -purchase:PRXS:PRKS -purebred:PRPR:PRPR -pureeing:PRNK:PRNK -pureness:PRNS:PRNS -purfling:PRFL:PRFL -purified:PRFT:PRFT -purifier:PRF:PRFR -purifies:PRFS:PRFS -puriform:PRFR:PRFR -puristic:PRST:PRST -puritans:PRTN:PRTN -purities:PRTS:PRTS -purkinje:PRKN:PRKN -purlieus:PRLS:PRLS -purloins:PRLN:PRLN -purparty:PRPR:PRPR -purplest:PRPL:PRPL -purpling:PRPL:PRPL -purplish:PRPL:PRPL -purports:PRPR:PRPR -purposed:PRPS:PRPS -purposes:PRPS:PRPS -purpuric:PRPR:PRPR -purpurin:PRPR:PRPR -purslane:PRSL:PRSL -pursuant:PRSN:PRSN -pursuers:PRSR:PRSR -pursuing:PRSN:PRSN -pursuits:PRST:PRST -purulent:PRLN:PRLN -puruloid:PRLT:PRLT -purveyed:PRFT:PRFT -purveyor:PRFR:PRFR -purviews:PRFS:PRFS -pushcart:PXKR:PXKR -pushdown:PXTN:PXTN -pushiest:PXST:PXST -pushover:PXFR:PXFR -pushrods:PXRT:PXRT -pussiest:PSST:PSST -pussycat:PSKT:PSKT -pustular:PSTL:PSTL -pustules:PSTL:PSTL -putamina:PTMN:PTMN -putative:PTTF:PTTF -putdowns:PTNS:PTNS -putridly:PTRT:PTRT -putsches:PTXS:PTXS -puttered:PTRT:PTRT -putterer:PTRR:PTRR -puttying:PTNK:PTNK -puzzlers:PSLR:PSLR -puzzling:PSLN:PSLN -pycnidia:PKNT:PKNT -pycnosis:PKNS:PKNS -pycnotic:PKNT:PKNT -pyelitic:PLTK:PLTK -pyelitis:PLTS:PLTS -pygalgia:PKLJ:PKLK -pygidial:PJTL:PKTL -pygidium:PJTM:PKTM -pygopagi:PKPJ:PKPK -pyknosis:PKNS:PKNS -pyknotic:PKNT:PKNT -pyococci:PKX:PKX -pyoderma:PTRM:PTRM -pyogenic:PJNK:PKNK -pyometra:PMTR:PMTR -pyongyan:PNKN:PNJN -pyorrhea:PR:PR -pyralids:PRLT:PRLT -pyramids:PRMT:PRMT -pyranose:PRNS:PRNS -pyrazole:PRSL:PRSL -pyrenean:PRNN:PRNN -pyrenees:PRNS:PRNS -pyrenoid:PRNT:PRNT -pyrexial:PRKS:PRKS -pyridine:PRTN:PRTN -pyriform:PRFR:PRFR -pyritise:PRTS:PRTS -pyritous:PRTS:PRTS -pyrolyse:PRLS:PRLS -pyronine:PRNN:PRNN -pyrostat:PRST:PRST -pyroxene:PRKS:PRKS -pyrrolic:PRLK:PRLK -pyruvate:PRFT:PRFT -pythonic:P0NK:PTNK -pyxidium:PKST:PKST -quaalude:KLT:KLT -quackery:KKR:KKR -quackier:KKR:KKR -quacking:KKNK:KKNK -quackish:KKX:KKX -quackism:KKSM:KKSM -quadrant:KTRN:KTRN -quadrate:KTRT:KTRT -quadrati:KTRT:KTRT -quadrics:KTRK:KTRK -quadroon:KTRN:KTRN -quaestio:KST:KST -quaffers:KFRS:KFRS -quaffing:KFNK:KFNK -quaggier:KJ:KKR -quagmire:KKMR:KKMR -quailing:KLNK:KLNK -quainter:KNTR:KNTR -quaintly:KNTL:KNTL -quakiest:KKST:KKST -qualmish:KLMX:KLMX -quandary:KNTR:KNTR -quandong:KNTN:KNTN -quantify:KNTF:KNTF -quanting:KNTN:KNTN -quantity:KNTT:KNTT -quantize:KNTS:KNTS -quarrels:KRLS:KRLS -quarrian:KRN:KRN -quarried:KRT:KRT -quarrier:KR:KRR -quarries:KRS:KRS -quartern:KRTR:KRTR -quarters:KRTR:KRTR -quartets:KRTT:KRTT -quartile:KRTL:KRTL -quashing:KXNK:KXNK -quatrain:KTRN:KTRN -quavered:KFRT:KFRT -quaverer:KFRR:KFRR -quayside:KST:KST -queasier:KS:KSR -queasily:KSL:KSL -queening:KNNK:KNNK -queerest:KRST:KRST -queering:KRNK:KRNK -queerish:KRX:KRX -quellers:KLRS:KLRS -quelling:KLNK:KLNK -quenched:KNXT:KNKT -quencher:KNXR:KNKR -quenches:KNXS:KNKS -quenelle:KNL:KNL -querelae:KRL:KRL -querente:KRNT:KRNT -querists:KRST:KRST -querying:KRNK:KRNK -questers:KSTR:KSTR -questing:KSTN:KSTN -question:KSXN:KSXN -quetzals:KTSL:KTSL -queueing:KNK:KNK -quibbled:KPLT:KPLT -quibbler:KPLR:KPLR -quibbles:KPLS:KPLS -quickens:KKNS:KKNS -quickest:KKST:KKST -quickies:KKS:KKS -quickset:KKST:KKST -quiddity:KTT:KTT -quidnunc:KTNN:KTNN -quietens:KTNS:KTNS -quietest:KTST:KTST -quieting:KTNK:KTNK -quietism:KTSM:KTSM -quietist:KTST:KTST -quietude:KTT:KTT -quilling:KLNK:KLNK -quillion:KLN:KLN -quilters:KLTR:KLTR -quilting:KLTN:KLTN -quincunx:KNKN:KNKN -quinovin:KNFN:KNFN -quinsied:KNST:KNST -quinsies:KNSS:KNSS -quintain:KNTN:KNTN -quintals:KNTL:KNTL -quintets:KNTT:KNTT -quintile:KNTL:KNTL -quipping:KPNK:KPNK -quipster:KPST:KPST -quirkier:KRKR:KRKR -quirkily:KRKL:KRKL -quisling:KLNK:KLNK -quitrent:KTRN:KTRN -quitters:KTRS:KTRS -quitting:KTNK:KTNK -quivered:KFRT:KFRT -quiverer:KFRR:KFRR -quixotic:KKST:KKST -quixotry:KKST:KKST -quizzers:KSRS:KSRS -quizzing:KSNK:KTSN -quotable:KTPL:KTPL -quotient:KTNT:KTNT -quousque:KSK:KSK -rabbeted:RPTT:RPTT -rabbinic:RPNK:RPNK -rabbitry:RPTR:RPTR -rabblers:RPLR:RPLR -rabelais:RPL:RPLS -rabidity:RPTT:RPTT -rabiform:RPFR:RPFR -raccoons:RKNS:RKNS -racebait:RSPT:RSPT -racecard:RSKR:RSKR -racegoer:RSKR:RSKR -racemase:RSMS:RSMS -racemate:RSMT:RSMT -raceming:RSMN:RSMN -racemize:RSMS:RSMS -racemose:RSMS:RSMS -raceways:RSS:RSS -rachides:RXTS:RKTS -rachises:RXSS:RKSS -rachitic:RXTK:RKTK -rachitis:RXTS:RKTS -racially:RSL:RXL -raciness:RSNS:RSNS -racketed:RKTT:RKTT -racquets:RKTS:RKTS -radarman:RTRM:RTRM -raddling:RTLN:RTLN -radialia:RTL:RTL -radialis:RTLS:RTLS -radially:RTL:RTL -radiance:RTNS:RTNS -radiancy:RTNS:RTNS -radiatae:RTT:RTT -radiated:RTTT:RTTT -radiates:RTTS:RTTS -radiator:RTTR:RTTR -radicals:RTKL:RTKL -radicand:RTKN:RTKN -radicels:RTSL:RTSL -radioing:RTNK:RTNK -radioman:RTMN:RTMN -radiomen:RTMN:RTMN -radishes:RTXS:RTXS -radiuses:RTSS:RTSS -rafflers:RFLR:RFLR -raffling:RFLN:RFLN -ragbolts:RKPL:RKPL -raggedly:RKTL:RKTL -ragingly:RJNK:RKNK -ragouted:RKTT:RKTT -ragstone:RKST:RKST -ragweeds:RKTS:RKTS -ragworms:RKRM:RKRM -railcard:RLKR:RLKR -railcars:RLKR:RLKR -railhead:RLT:RLT -railings:RLNK:RLNK -raillery:RLR:RLR -railless:RLS:RLS -railroad:RLRT:RLRT -railside:RLST:RLST -railways:RLS:RLS -rainband:RNPN:RNPN -rainbird:RNPR:RNPR -rainbows:RNPS:RNPS -raincoat:RNKT:RNKT -raindrop:RNTR:RNTR -rainfall:RNFL:RNFL -rainiest:RNST:RNST -raisable:RSPL:RSPL -rakeoffs:RKFS:RKFS -rakishly:RKXL:RKXL -ralliers:RLRS:RLRS -rallying:RLNK:RLNK -ramblers:RMPL:RMPL -rambling:RMPL:RMPL -rambutin:RMPT:RMPT -ramekins:RMKN:RMKN -ramentum:RMNT:RMNT -ramified:RMFT:RMFT -ramifies:RMFS:RMFS -ramiform:RMFR:RMFR -ramosely:RMSL:RMSL -ramosity:RMST:RMST -rampaged:RMPJ:RMPK -rampager:RMPK:RMPJ -rampages:RMPJ:RMPK -rampancy:RMPN:RMPN -ramparts:RMPR:RMPR -ramshorn:RMXR:RMXR -ramulose:RMLS:RMLS -ranchers:RNXR:RNKR -ranching:RNXN:RNKN -ranchman:RNXM:RNKM -ranchmen:RNXM:RNKM -rancidly:RNST:RNST -rancored:RNKR:RNKR -randiest:RNTS:RNTS -randomly:RNTM:RNTM -rangiest:RNJS:RNKS -rangiora:RNJR:RNKR -rankings:RNKN:RNKN -rankling:RNKL:RNKL -rankness:RNKN:RNKN -ransacks:RNSK:RNSK -ransomed:RNSM:RNSM -ransomer:RNSM:RNSM -rapacity:RPST:RPST -rapeseed:RPST:RPST -raphides:RFTS:RFTS -rapidity:RPTT:RPTT -rapiered:RPRT:RPRT -rappeled:RPLT:RPLT -rapplels:RPLL:RPLL -rapports:RPRT:RPRT -raptness:RPTN:RPTN -raptured:RPTR:RPTR -raptures:RPTR:RPTR -rarefied:RRFT:RRFT -rarefier:RRF:RRFR -rarefies:RRFS:RRFS -rareness:RRNS:RRNS -rareties:RRTS:RRTS -rarified:RRFT:RRFT -rarities:RRTS:RRTS -rascally:RSKL:RSKL -rashlike:RXLK:RXLK -rashness:RXNS:RXNS -rasorial:RSRL:RSRL -raspiest:RSPS:RSPS -raspings:RSPN:RSPN -rataplan:RTPL:RTPL -ratchets:RXTS:RXTS -rateable:RTPL:RTPL -rateably:RTPL:RTPL -rateness:RTNS:RTNS -ratepays:RTPS:RTPS -ratified:RTFT:RTFT -ratifier:RTF:RTFR -ratifies:RTFS:RTFS -rational:RXNL:RXNL -rationed:RXNT:RXNT -rationes:RXNS:RXNS -ratlines:RTLN:RTLN -ratooned:RTNT:RTNT -ratsbane:RTSP:RTSP -rattiest:RTST:RTST -rattlers:RTLR:RTLR -rattlier:RTL:RTLR -rattling:RTLN:RTLN -rattraps:RTRP:RTRP -ravagers:RFKR:RFJR -ravaging:RFJN:RFKN -ravelers:RFLR:RFLR -raveling:RFLN:RFLN -ravelins:RFLN:RFLN -raveners:RFNR:RFNR -ravening:RFNN:RFNN -ravenous:RFNS:RFNS -ravingly:RFNK:RFNK -ravished:RFXT:RFXT -ravisher:RFXR:RFXR -ravishes:RFXS:RFXS -rawboned:RPNT:RPNT -rawhides:RTS:RTS -rayleigh:RL:RL -razoring:RSRN:RSRN -reabsorb:RPSR:RPSR -reaccede:RXT:RXT -reaccent:RXNT:RXNT -reaccept:RXPT:RXPT -reaccuse:RKS:RKS -reaching:RXNK:RKNK -reactant:RKTN:RKTN -reacting:RKTN:RKTN -reaction:RKXN:RKXN -reactive:RKTF:RKTF -reactors:RKTR:RKTR -readable:RTPL:RTPL -readably:RTPL:RTPL -readapts:RTPT:RTPT -readding:RTNK:RTNK -readiest:RTST:RTST -readings:RTNK:RTNK -readjust:RTJS:RTJS -readmits:RTMT:RTMT -readopts:RTPT:RTPT -readouts:RTTS:RTTS -readying:RTNK:RTNK -reaffirm:RFRM:RFRM -reagency:RJNS:RKNS -reagents:RJNT:RKNT -reaginic:RJNK:RKNK -realigns:RLNS:RLKN -realists:RLST:RLST -realized:RLST:RLST -realizer:RLSR:RLSR -realizes:RLSS:RLSS -reallege:RLJ:RLK -reallots:RLTS:RLTS -realness:RLNS:RLNS -realters:RLTR:RLTR -realties:RLTS:RLTS -realtime:RLTM:RLTM -realtors:RLTR:RLTR -reapable:RPPL:RPPL -reappeal:RPL:RPL -reappear:RPR:RPR -reargued:RRKT:RRKT -reargues:RRKS:RRKS -rearming:RRMN:RRMN -rearmost:RRMS:RRMS -rearouse:RRS:RRS -rearrest:RRST:RRST -rearward:RRRT:RRRT -reascend:RSNT:RSNT -reascent:RSNT:RSNT -reasoned:RSNT:RSNT -reasoner:RSNR:RSNR -reassert:RSRT:RSRT -reassess:RSS:RSS -reassign:RSN:RSKN -reassort:RSRT:RSRT -reassume:RSM:RSM -reassure:RSR:RSR -reattach:RTK:RTK -reattain:RTN:RTN -reavowed:RFT:RFT -reawaked:RKT:RKT -reawaken:RKN:RKN -reawakes:RKS:RKS -rebaters:RPTR:RPTR -rebating:RPTN:RPTN -rebeldom:RPLT:RPLT -rebeling:RPLN:RPLN -rebilled:RPLT:RPLT -rebirths:RPR0:RPRT -reboiled:RPLT:RPLT -reboring:RPRN:RPRN -rebounds:RPNT:RPNT -rebranch:RPRN:RPRN -rebuffed:RPFT:RPFT -rebuilds:RPLT:RPLT -rebuking:RPKN:RPKN -reburial:RPRL:RPRL -reburied:RPRT:RPRT -reburies:RPRS:RPRS -rebuttal:RPTL:RPTL -rebutted:RPTT:RPTT -rebutter:RPTR:RPTR -rebutton:RPTN:RPTN -recalled:RKLT:RKLT -recanted:RKNT:RKNT -recanter:RKNT:RKNT -recaping:RKPN:RKPN -recapion:RKPN:RKPN -recapped:RKPT:RKPT -recaptor:RKPT:RKPT -receding:RSTN:RSTN -receipts:RSPT:RSPT -receival:RSFL:RSFL -received:RSFT:RSFT -receiver:RSFR:RSFR -receives:RSFS:RSFS -recently:RSNT:RSNT -receptor:RSPT:RSPT -recessed:RSST:RSST -recesses:RSSS:RSSS -recessus:RSSS:RSSS -recharge:RXRJ:RKRK -recharts:RXRT:RKRT -rechecks:RXKS:RKKS -recision:RSSN:RSXN -recitals:RSTL:RSTL -reciters:RSTR:RSTR -reciting:RSTN:RSTN -reckless:RKLS:RKLS -reckoned:RKNT:RKNT -reckoner:RKNR:RKNR -reclaims:RKLM:RKLM -recleans:RKLN:RKLN -reclined:RKLN:RKLN -recliner:RKLN:RKLN -reclines:RKLN:RKLN -reclothe:RKL0:RKLT -recluses:RKLS:RKLS -recodify:RKTF:RKTF -recoding:RKTN:RKTN -recoiled:RKLT:RKLT -recoiler:RKLR:RKLR -recoined:RKNT:RKNT -recolors:RKLR:RKLR -recombed:RKMP:RKMP -recommit:RKMT:RKMT -recompil:RKMP:RKMP -reconvey:RKNF:RKNF -recooked:RKKT:RKKT -recopied:RKPT:RKPT -recopies:RKPS:RKPS -recorded:RKRT:RKRT -recorder:RKRT:RKRT -recordum:RKRT:RKRT -recounts:RKNT:RKNT -recouped:RKPT:RKPT -recourse:RKRS:RKRS -recovers:RKFR:RKFR -recovery:RKFR:RKFR -recrated:RKRT:RKRT -recrates:RKRT:RKRT -recreant:RKRN:RKRN -recreate:RKRT:RKRT -recrowns:RKRN:RKRN -recruits:RKRT:RKRT -rectally:RKTL:RKTL -recurred:RKRT:RKRT -recursed:RKRS:RKRS -recurses:RKRS:RKRS -recurved:RKRF:RKRF -recurves:RKRF:RKRF -recusant:RKSN:RKSN -recusing:RKSN:RKSN -recycled:RSKL:RSKL -recycles:RSKL:RSKL -redacted:RTKT:RTKT -redactor:RTKT:RTKT -redbirds:RTPR:RTPR -redbrick:RTPR:RTPR -redcoats:RTKT:RTKT -reddenda:RTNT:RTNT -reddened:RTNT:RTNT -reddener:RTNR:RTNR -redeemed:RTMT:RTMT -redeemer:RTMR:RTMR -redefied:RTFT:RTFT -redefies:RTFS:RTFS -redefine:RTFN:RTFN -redemand:RTMN:RTMN -redemise:RTMS:RTMS -redeploy:RTPL:RTPL -redesign:RTSN:RTSK -redheads:RTTS:RTTS -redigest:RTJS:RTKS -redirect:RTRK:RTRK -redivide:RTFT:RTFT -redlined:RTLN:RTLN -redlines:RTLN:RTLN -rednecks:RTNK:RTNK -redocked:RTKT:RTKT -redolent:RTLN:RTLN -redouble:RTPL:RTPL -redoubts:RTPT:RTPT -redounds:RTNT:RTNT -redpolls:RTPL:RTPL -redrafts:RTRF:RTRF -redrills:RTRL:RTRL -redroots:RTRT:RTRT -redrying:RTRN:RTRN -redshank:RTXN:RTXN -redskins:RTSK:RTSK -redstart:RTST:RTST -reducers:RTSR:RTSR -reducing:RTSN:RTSN -reductic:RTKT:RTKT -reductio:RTKT:RTKT -reduviid:RTFT:RTFT -reduvius:RTFS:RTFS -redwings:RTNK:RTNK -redwoods:RTTS:RTTS -redyeing:RTNK:RTNK -reechoed:RXT:RKT -reechoes:RXS:RKS -reedbird:RTPR:RTPR -reedbuck:RTPK:RTPK -reediest:RTST:RTST -reedings:RTNK:RTNK -reedited:RTTT:RTTT -reedling:RTLN:RTLN -reelable:RLPL:RLPL -reelects:RLKT:RLKT -reembark:RMPR:RMPR -reembody:RMPT:RMPT -reemerge:RMRJ:RMRK -reemploy:RMPL:RMPL -reenacts:RNKT:RNKT -reendows:RNTS:RNTS -reengage:RNKJ:RNKK -reenjoys:RNJS:RNJS -reenlist:RNLS:RNLS -reenters:RNTR:RNTR -reequips:RKPS:RKPS -reerects:RRKT:RRKT -reexport:RKSP:RKSP -refacing:RFSN:RFSN -refasten:RFST:RFST -refereed:RFRT:RFRT -referees:RFRS:RFRS -referent:RFRN:RFRN -referral:RFRL:RFRL -referred:RFRT:RFRT -referrer:RFRR:RFRR -refiling:RFLN:RFLN -refilled:RFLT:RFLT -refilmed:RFLM:RFLM -refilter:RFLT:RFLT -refiners:RFNR:RFNR -refinery:RFNR:RFNR -refining:RFNN:RFNN -refinish:RFNX:RFNX -refiring:RFRN:RFRN -refitted:RFTT:RFTT -reflated:RFLT:RFLT -reflates:RFLT:RFLT -reflects:RFLK:RFLK -reflexed:RFLK:RFLK -reflexes:RFLK:RFLK -refloats:RFLT:RFLT -refloods:RFLT:RFLT -reflowed:RFLT:RFLT -reflower:RFLR:RFLR -refluent:RFLN:RFLN -refluxed:RFLK:RFLK -refluxes:RFLK:RFLK -refolded:RFLT:RFLT -reforest:RFRS:RFRS -reforged:RFRJ:RFRK -reforges:RFRJ:RFRK -reformat:RFRM:RFRM -reformed:RFRM:RFRM -reformer:RFRM:RFRM -refracts:RFRK:RFRK -refrains:RFRN:RFRN -reframed:RFRM:RFRM -reframes:RFRM:RFRM -refreeze:RFRS:RFRS -refrozen:RFRS:RFRS -refrying:RFRN:RFRN -refueled:RFLT:RFLT -refueler:RFLR:RFLR -refugees:RFJS:RFKS -refuging:RFJN:RFKN -refugium:RFJM:RFKM -refunded:RFNT:RFNT -refunder:RFNT:RFNT -refusals:RFSL:RFSL -refusing:RFSN:RFSN -refusion:RFSN:RFXN -refuters:RFTR:RFTR -refuting:RFTN:RFTN -regained:RKNT:RKNT -regainer:RKNR:RKNR -regalely:RKLL:RKLL -regaling:RKLN:RKLN -regalism:RKLS:RKLS -regality:RKLT:RKLT -regarded:RKRT:RKRT -regather:RK0R:RKTR -regattas:RKTS:RKTS -regauged:RKJT:RKKT -regauges:RKJS:RKKS -regeared:RJRT:RKRT -regelate:RJLT:RKLT -regental:RJNT:RKNT -regicide:RJST:RKST -regilded:RJLT:RKLT -regimens:RJMN:RKMN -regiment:RJMN:RKMN -regional:RJNL:RKNL -register:RJST:RKST -registry:RJST:RKST -reglazed:RKLS:RKLS -reglazes:RKLS:RKLS -regluing:RKLN:RKLN -regnancy:RNNS:RKNN -regolith:RKL0:RKLT -regorged:RKRJ:RKRK -regorges:RKRJ:RKRK -regraded:RKRT:RKRT -regrades:RKRT:RKRT -regrated:RKRT:RKRT -regrater:RKRT:RKRT -regrates:RKRT:RKRT -regrator:RKRT:RKRT -reground:RKRN:RKRN -regroups:RKRP:RKRP -regrowth:RKR0:RKRT -regulars:RKLR:RKLR -regulate:RKLT:RKLT -reguline:RKLN:RKLN -rehandle:RHNT:RHNT -rehanged:RHNJ:RHNK -reharden:RHRT:RHRT -rehashed:RHXT:RHXT -rehashes:RHXS:RHXS -rehearse:RHRS:RHRS -reheated:RHTT:RHTT -reheater:RHTR:RHTR -reheeled:RHLT:RHLT -rehemmed:RHMT:RHMT -rehinged:RHNJ:RHNK -rehinges:RHNJ:RHNK -rehiring:RHRN:RHRN -rehoboam:RHPM:RHPM -rehoused:RHST:RHST -rehouses:RHSS:RHSS -reichert:RXRT:RKRT -reifying:RFNK:RFNK -reigning:RNNK:RKNN -reignite:RNT:RKNT -reimport:RMPR:RMPR -reimpose:RMPS:RMPS -reincurs:RNKR:RNKR -reindeer:RNTR:RNTR -reindict:RNTK:RNTK -reinduce:RNTS:RNTS -reinduct:RNTK:RNTK -reinfect:RNFK:RNFK -reinfest:RNFS:RNFS -reinform:RNFR:RNFR -reinfuse:RNFS:RNFS -reinless:RNLS:RNLS -reinsert:RNSR:RNSR -reinsman:RNSM:RNSM -reinsure:RNSR:RNSR -reinters:RNTR:RNTR -reinvade:RNFT:RNFT -reinvent:RNFN:RNFN -reinvest:RNFS:RNFS -reinvite:RNFT:RNFT -reinvoke:RNFK:RNFK -reisitae:RST:RST -reissner:RSNR:RSNR -reissued:RST:RST -reissues:RSS:RSS -rejected:RJKT:RJKT -rejecter:RJKT:RJKT -rejector:RJKT:RJKT -rejigged:RJKT:RJKT -rejigger:RJKR:RJKR -rejoiced:RJST:RHST -rejoicer:RJSR:RHSR -rejoices:RJSS:RHSS -rejoined:RJNT:RHNT -rejudged:RJJT:RJJT -rejudges:RJJS:RJJS -rekeying:RKNK:RKNK -rekindle:RKNT:RKNT -relabels:RLPL:RLPL -relapsed:RLPS:RLPS -relapser:RLPS:RLPS -relapses:RLPS:RLPS -relaters:RLTR:RLTR -relating:RLTN:RLTN -relation:RLXN:RLXN -relative:RLTF:RLTF -relatrix:RLTR:RLTR -relaxant:RLKS:RLKS -relaxers:RLKS:RLKS -relaxing:RLKS:RLKS -relaying:RLNK:RLNK -relearns:RLRN:RLRN -relearnt:RLRN:RLRN -released:RLST:RLST -releasee:RLS:RLS -releaser:RLSR:RLSR -releases:RLSS:RLSS -releasor:RLSR:RLSR -relegate:RLKT:RLKT -relented:RLNT:RLNT -relessee:RLS:RLS -relessor:RLSR:RLSR -reletter:RLTR:RLTR -relevant:RLFN:RLFN -reliable:RLPL:RLPL -reliably:RLPL:RLPL -reliance:RLNS:RLNS -relictae:RLKT:RLKT -relieved:RLFT:RLFT -reliever:RLFR:RLFR -relieves:RLFS:RLFS -relights:RLTS:RLTS -religion:RLJN:RLKN -relining:RLNN:RLNN -relinked:RLNK:RLNK -reliquae:RLK:RLK -relished:RLXT:RLXT -relishes:RLXS:RLXS -relisted:RLST:RLST -reliving:RLFN:RLFN -reloaded:RLTT:RLTT -reloader:RLTR:RLTR -reloaned:RLNT:RLNT -relocate:RLKT:RLKT -relocked:RLKT:RLKT -remailed:RMLT:RMLT -remained:RMNT:RMNT -remaking:RMKN:RMKN -remanded:RMNT:RMNT -remanent:RMNN:RMNN -remanned:RMNT:RMNT -remarked:RMRK:RMRK -remarker:RMRK:RMRK -remarque:RMRK:RMRK -remedial:RMTL:RMTL -remedied:RMTT:RMTT -remedies:RMTS:RMTS -remedium:RMTM:RMTM -remelted:RMLT:RMLT -remember:RMMP:RMMP -remended:RMNT:RMNT -reminded:RMNT:RMNT -reminder:RMNT:RMNT -reminted:RMNT:RMNT -remising:RMSN:RMSN -remissly:RMSL:RMSL -remittal:RMTL:RMTL -remitted:RMTT:RMTT -remittee:RMT:RMT -remitter:RMTR:RMTR -remixess:RMKS:RMKS -remixing:RMKS:RMKS -remnants:RMNN:RMNN -remodels:RMTL:RMTL -remodify:RMTF:RMTF -remolded:RMLT:RMLT -remotely:RMTL:RMTL -remotest:RMTS:RMTS -remoulds:RMLT:RMLT -remounts:RMNT:RMNT -removals:RMFL:RMFL -removers:RMFR:RMFR -removing:RMFN:RMFN -renaming:RNMN:RNMN -renature:RNTR:RNTR -rendered:RNTR:RNTR -renderer:RNTR:RNTR -rendible:RNTP:RNTP -rendzina:RNTS:RNTS -renegade:RNKT:RNKT -renegers:RNJR:RNKR -reneging:RNJN:RNKN -renewals:RNLS:RNLS -renewers:RNRS:RNRS -renewing:RNNK:RNNK -reniform:RNFR:RNFR -renogram:RNKR:RNKR -renotify:RNTF:RNTF -renounce:RNNS:RNNS -renovate:RNFT:RNFT -renowned:RNNT:RNNT -rentable:RNTP:RNTP -renumber:RNMR:RNMR -reobtain:RPTN:RPTN -reoccupy:RKP:RKP -reoccurs:RKRS:RKRS -reoiling:RLNK:RLNK -reopened:RPNT:RPNT -reopener:RPNR:RPNR -reorders:RRTR:RRTR -reorient:RRNT:RRNT -reovirus:RFRS:RFRS -repacify:RPSF:RPSF -repacked:RPKT:RPKT -repaints:RPNT:RPNT -repaired:RPRT:RPRT -repairer:RPRR:RPRR -repandly:RPNT:RPNT -repapers:RPPR:RPPR -repartee:RPRT:RPRT -repassed:RPST:RPST -repasses:RPSS:RPSS -repaving:RPFN:RPFN -repaying:RPNK:RPNK -repealed:RPLT:RPLT -repealer:RPLR:RPLR -repeated:RPTT:RPTT -repeater:RPTR:RPTR -repelled:RPLT:RPLT -repeller:RPLR:RPLR -repented:RPNT:RPNT -repenter:RPNT:RPNT -repeople:RPPL:RPPL -repetend:RPTN:RPTN -rephrase:RFRS:RFRS -repiners:RPNR:RPNR -repining:RPNN:RPNN -repinned:RPNT:RPNT -repiques:RPKS:RPKS -replaced:RPLS:RPLS -replacer:RPLS:RPLS -replaces:RPLS:RPLS -replanly:RPLN:RPLN -replants:RPLN:RPLN -replayed:RPLT:RPLT -repledge:RPLJ:RPLJ -replevin:RPLF:RPLF -repliant:RPLN:RPLN -replicas:RPLK:RPLK -repliers:RPLR:RPLR -replying:RPLN:RPLN -repoints:RPNT:RPNT -repolish:RPLX:RPLX -reponing:RPNN:RPNN -reported:RPRT:RPRT -reporter:RPRT:RPRT -reposers:RPSR:RPSR -reposing:RPSN:RPSN -reposits:RPST:RPST -reposted:RPST:RPST -repotted:RPTT:RPTT -repousse:RPS:RPS -repriced:RPRS:RPRS -reprices:RPRS:RPRS -reprieve:RPRF:RPRF -reprints:RPRN:RPRN -reprisal:RPRS:RPRS -reprised:RPRS:RPRS -reprises:RPRS:RPRS -reproach:RPRK:RPRK -reprobed:RPRP:RPRP -reprobes:RPRP:RPRP -reproofs:RPRF:RPRF -reproved:RPRF:RPRF -reprover:RPRF:RPRF -reproves:RPRF:RPRF -reptiles:RPTL:RPTL -reptilia:RPTL:RPTL -republic:RPPL:RPPL -repulsed:RPLS:RPLS -repulser:RPLS:RPLS -repulses:RPLS:RPLS -reputing:RPTN:RPTN -requests:RKST:RKST -requiems:RKMS:RKMS -required:RKRT:RKRT -requirer:RKRR:RKRR -requires:RKRS:RKRS -requital:RKTL:RKTL -requited:RKTT:RKTT -requiter:RKTR:RKTR -requites:RKTS:RKTS -rerecord:RRKR:RRKR -rerolled:RRLT:RRLT -reroofed:RRFT:RRFT -rerouted:RRTT:RRTT -reroutes:RRTS:RRTS -rescinds:RSNT:RSNT -rescript:RSKP:RSKP -rescuers:RSKR:RSKR -rescuing:RSKN:RSKN -resealed:RSLT:RSLT -research:RSRX:RSRK -reseated:RSTT:RSTT -resected:RSKT:RSKT -reseeded:RSTT:RSTT -reselect:RSLK:RSLK -resemble:RSMP:RSMP -resented:RSNT:RSNT -reserved:RSRF:RSRF -reserver:RSRF:RSRF -reserves:RSRF:RSRF -resetter:RSTR:RSTR -resettle:RSTL:RSTL -reshaped:RXPT:RXPT -reshapes:RXPS:RXPS -residant:RSTN:RSTN -resident:RSTN:RSTN -residers:RSTR:RSTR -residing:RSTN:RSTN -residual:RSTL:RSTL -residues:RSTS:RSTS -residuum:RSTM:RSTM -resifted:RSFT:RSFT -resigned:RSNT:RSKN -resignee:RSN:RSKN -resigner:RSNR:RSKN -resiling:RSLN:RSLN -resinate:RSNT:RSNT -resinoid:RSNT:RSNT -resinous:RSNS:RSNS -resisted:RSST:RSST -resister:RSST:RSST -resistor:RSST:RSST -resiting:RSTN:RSTN -resizing:RSSN:RSSN -resoling:RSLN:RSLN -resolute:RSLT:RSLT -resolved:RSLF:RSLF -resolver:RSLF:RSLF -resolves:RSLF:RSLF -resonant:RSNN:RSNN -resonate:RSNT:RSNT -resorbed:RSRP:RSRP -resorcin:RSRS:RSRS -resorted:RSRT:RSRT -resorter:RSRT:RSRT -resounds:RSNT:RSNT -resource:RSRS:RSRS -resowing:RSNK:RSNK -respects:RSPK:RSPK -respells:RSPL:RSPL -respired:RSPR:RSPR -respires:RSPR:RSPR -respited:RSPT:RSPT -respites:RSPT:RSPT -responde:RSPN:RSPN -responds:RSPN:RSPN -response:RSPN:RSPN -resprays:RSPR:RSPR -restacks:RSTK:RSTK -restaffs:RSTF:RSTF -restaged:RSTJ:RSTK -restages:RSTJ:RSTK -restamps:RSTM:RSTM -restarts:RSTR:RSTR -restated:RSTT:RSTT -restates:RSTT:RSTT -restless:RSTL:RSTL -restocks:RSTK:RSTK -restored:RSTR:RSTR -restorer:RSTR:RSTR -restores:RSTR:RSTR -restrain:RSTR:RSTR -restrict:RSTR:RSTR -restring:RSTR:RSTR -restroom:RSTR:RSTR -restrung:RSTR:RSTR -restuffs:RSTF:RSTF -restyled:RSTL:RSTL -restyles:RSTL:RSTL -resubmit:RSPM:RSPM -resulted:RSLT:RSLT -resumers:RSMR:RSMR -resuming:RSMN:RSMN -resummon:RSMN:RSMN -resupply:RSPL:RSPL -resurvey:RSRF:RSRF -retailed:RTLT:RTLT -retailer:RTLR:RTLR -retained:RTNT:RTNT -retainer:RTNR:RTNR -retakers:RTKR:RTKR -retaking:RTKN:RTKN -retarded:RTRT:RTRT -retarder:RTRT:RTRT -retaught:RTFT:RTFT -retching:RXNK:RXNK -retested:RTST:RTST -rethinks:R0NK:RTNK -rethread:R0RT:RTRT -reticent:RTSN:RTSN -reticles:RTKL:RTKL -reticula:RTKL:RTKL -reticule:RTKL:RTKL -retiform:RTFR:RTFR -retinaes:RTNS:RTNS -retinene:RTNN:RTNN -retinite:RTNT:RTNT -retinoid:RTNT:RTNT -retinued:RTNT:RTNT -retinues:RTNS:RTNS -retirees:RTRS:RTRS -retiring:RTRN:RTRN -retitled:RTTL:RTTL -retitles:RTTL:RTTL -retooled:RTLT:RTLT -retorsio:RTRS:RTRX -retorted:RTRT:RTRT -retorter:RTRT:RTRT -retraced:RTRS:RTRS -retraces:RTRS:RTRS -retracts:RTRK:RTRK -retrains:RTRN:RTRN -retraxit:RTRK:RTRK -retreads:RTRT:RTRT -retreats:RTRT:RTRT -retrench:RTRN:RTRN -retrials:RTRL:RTRL -retriers:RTRR:RTRR -retrieve:RTRF:RTRF -retroact:RTRK:RTRK -retrofit:RTRF:RTRF -retrorse:RTRR:RTRR -retruded:RTRT:RTRT -retrying:RTRN:RTRN -returfed:RTRF:RTRF -returned:RTRN:RTRN -returnee:RTRN:RTRN -returner:RTRN:RTRN -retwists:RTST:RTST -retyping:RTPN:RTPN -reunient:RNNT:RNNT -reunions:RNNS:RNNS -reunited:RNTT:RNTT -reuniter:RNTR:RNTR -reunites:RNTS:RNTS -reusable:RSPL:RSPL -revalued:RFLT:RFLT -revalues:RFLS:RFLS -revamped:RFMP:RFMP -revamper:RFMP:RFMP -revealed:RFLT:RFLT -revealer:RFLR:RFLR -reveille:RFL:RFL -revelent:RFLN:RFLN -revelers:RFLR:RFLR -reveling:RFLN:RFLN -revenant:RFNN:RFNN -revenged:RFNJ:RFNK -revenger:RFNK:RFNJ -revenges:RFNJ:RFNK -revenued:RFNT:RFNT -revenuer:RFNR:RFNR -revenues:RFNS:RFNS -reverend:RFRN:RFRN -reverent:RFRN:RFRN -reverers:RFRR:RFRR -reveries:RFRS:RFRS -reverify:RFRF:RFRF -revering:RFRN:RFRN -reversal:RFRS:RFRS -reversed:RFRS:RFRS -reverser:RFRS:RFRS -reverses:RFRS:RFRS -reversor:RFRS:RFRS -reversos:RFRS:RFRS -reverted:RFRT:RFRT -reverter:RFRT:RFRT -revested:RFST:RFST -reviewal:RFL:RFL -reviewed:RFT:RFT -reviewer:RFR:RFR -revilers:RFLR:RFLR -reviling:RFLN:RFLN -revisers:RFSR:RFSR -revising:RFSN:RFSN -revision:RFSN:RFXN -revisits:RFST:RFST -revisors:RFSR:RFSR -revisory:RFSR:RFSR -revivals:RFFL:RFFL -revivers:RFFR:RFFR -revivify:RFFF:RFFF -reviving:RFFN:RFFN -revoiced:RFST:RFST -revoices:RFSS:RFSS -revokers:RFKR:RFKR -revoking:RFKN:RFKN -revolted:RFLT:RFLT -revolter:RFLT:RFLT -revolute:RFLT:RFLT -revolved:RFLF:RFLF -revolver:RFLF:RFLF -revolves:RFLF:RFLF -rewaking:RKNK:RKNK -rewarded:RRTT:RRTT -rewarder:RRTR:RRTR -rewarewa:RR:RR -rewarmed:RRMT:RRMT -rewashed:RXT:RXT -rewashes:RXS:RXS -reweaves:RFS:RFS -rewedded:RTT:RTT -reweighs:RS:RS -rewelded:RLTT:RLTT -rewidens:RTNS:RTNS -rewinder:RNTR:RNTR -rewiring:RRNK:RRNK -reworded:RRTT:RRTT -reworked:RRKT:RRKT -rewriter:RRTR:RRTR -rewrites:RRTS:RRTS -rezoning:RSNN:RSNN -rhabdoid:RPTT:RPTT -rhabdome:RPTM:RPTM -rhaetian:RXN:RXN -rhagades:RKTS:RKTS -rhamnose:RMNS:RMNS -rhapsody:RPST:RPST -rheadine:RTN:RTN -rheobase:RPS:RPS -rheology:RLJ:RLK -rheostat:RSTT:RSTT -rhetoric:RTRK:RTRK -rhinitis:RNTS:RNTS -rhizobia:RSP:RSP -rhizomes:RSMS:RSMS -rhizopod:RSPT:RSPT -rhizopus:RSPS:RSPS -rhodanic:RTNK:RTNK -rhodesia:RTS:RTX -rhomboid:RMPT:RMPT -rhonchus:RNXS:RNKS -rhubarbs:RPRP:RPRP -rhyolite:RLT:RLT -rhythmic:R0MK:RTMK -ribaldly:RPLT:RPLT -ribaldry:RPLT:RPLT -ribanded:RPNT:RPNT -ribcages:RPKJ:RPKK -riboside:RPST:RPST -ribosome:RPSM:RPSM -ribulose:RPLS:RPLS -ricebird:RSPR:RSPR -richards:RXRT:RKRT -richmond:RXMN:RKMN -richness:RXNS:RKNS -ricinine:RSNN:RSNN -rickrack:RKRK:RKRK -rickshas:RKXS:RKXS -rickshaw:RKX:RKXF -ricochet:RKXT:RKKT -rictuses:RKTS:RKTS -riddance:RTNS:RTNS -riddling:RTLN:RTLN -rideable:RTPL:RTPL -ridgeway:RJ:RJ -ridgling:RTKL:RTKL -ridicule:RTKL:RTKL -riesling:RSLN:RSLN -rifampin:RFMP:RFMP -rifeness:RFNS:RFNS -riffling:RFLN:RFLN -riffraff:RFRF:RFRF -rifleman:RFLM:RFLM -riflemen:RFLM:RFLM -rigadoon:RKTN:RKTN -rigatoni:RKTN:RKTN -riggings:RKNK:RKNK -righters:RTRS:RTRS -rightful:RTFL:RTFL -righting:RTNK:RTNK -rightish:RTX:RTX -rightism:RTSM:RTSM -rightist:RTST:RTST -rigidify:RJTF:RKTF -rigidity:RJTT:RKTT -rigorism:RKRS:RKRS -rigorist:RKRS:RKRS -rigorous:RKRS:RKRS -rimester:RMST:RMST -rimosely:RMSL:RMSL -rimosity:RMST:RMST -ringbolt:RNKP:RNKP -ringbone:RNKP:RNKP -ringdove:RNKT:RNKT -ringings:RNJN:RNKN -ringlets:RNKL:RNKL -ringlike:RNKL:RNKL -ringside:RNKS:RNKS -ringster:RNKS:RNKS -ringtail:RNKT:RNKT -ringworm:RNKR:RNKR -rinsable:RNSP:RNSP -riparian:RPRN:RPRN -ripcords:RPKR:RPKR -ripeners:RPNR:RPNR -ripeness:RPNS:RPNS -ripening:RPNN:RPNN -riposted:RPST:RPST -ripostes:RPST:RPST -ripplets:RPLT:RPLT -rippling:RPLN:RPLN -riptides:RPTT:RPTT -riskiest:RSKS:RSKS -risorius:RSRS:RSRS -risottos:RSTS:RSTS -rissoles:RSLS:RSLS -ritenuto:RTNT:RTNT -ritually:RTL:RTL -ritziest:RTSS:RTSS -rivaling:RFLN:RFLN -rivalled:RFLT:RFLT -riverain:RFRN:RFRN -riverine:RFRN:RFRN -riveting:RFTN:RFTN -rivetted:RFTT:RFTT -rivulets:RFLT:RFLT -riziform:RSFR:RSFR -roadbeds:RTPT:RTPT -roadside:RTST:RTST -roadster:RTST:RTST -roadways:RTS:RTS -roadwork:RTRK:RTRK -roasters:RSTR:RSTR -roasting:RSTN:RSTN -robinson:RPNS:RPNS -roborant:RPRN:RPRN -robotics:RPTK:RPTK -robotism:RPTS:RPTS -robotize:RPTS:RPTS -robustly:RPST:RPST -rocaille:RKL:RKL -rochelle:RXL:RKL -rocketed:RKTT:RKTT -rocketry:RKTR:RKTR -rockfall:RKFL:RKFL -rockfish:RKFX:RKFX -rockiest:RKST:RKST -rocklike:RKLK:RKLK -rockling:RKLN:RKLN -rockoons:RKNS:RKNS -rockrose:RKRS:RKRS -rockweed:RKT:RKT -rodentia:RTNX:RTNX -roebucks:RPKS:RPKS -roentgen:RNTJ:RNTK -rogallos:RKLS:RKLS -rogation:RKXN:RKXN -rogatory:RKTR:RKTR -roisters:RSTR:RSTR -rolandic:RLNT:RLNT -rollable:RLPL:RLPL -rollaway:RL:RL -rollback:RLPK:RLPK -rollbars:RLPR:RLPR -rollicks:RLKS:RLKS -rollneck:RLNK:RLNK -rollover:RLFR:RLFR -rollways:RLS:RLS -rolypoly:RLPL:RLPL -romaines:RMNS:RMNS -romanced:RMNS:RMNS -romancer:RMNS:RMNS -romances:RMNS:RMNS -romanian:RMNN:RMNN -romanies:RMNS:RMNS -romanism:RMNS:RMNS -romanist:RMNS:RMNS -romanize:RMNS:RMNS -romantic:RMNT:RMNT -rondeaux:RNT:RNT -rondelet:RNTL:RNTL -roofless:RFLS:RFLS -rooflike:RFLK:RFLK -rooftops:RFTP:RFTP -rooftree:RFTR:RFTR -rookiest:RKST:RKST -rookling:RKLN:RKLN -roomette:RMT:RMT -roomfuls:RMFL:RMFL -roomiest:RMST:RMST -roommate:RMT:RMT -roosters:RSTR:RSTR -roosting:RSTN:RSTN -rootless:RTLS:RTLS -rootlets:RTLT:RTLT -rootlike:RTLK:RTLK -rootling:RTLN:RTLN -ropeable:RPPL:RPPL -ropewalk:RPLK:RPLK -ropiness:RPNS:RPNS -roqueted:RKTT:RKTT -rosaceae:RSS:RSS -rosalind:RSLN:RSLN -rosarian:RSRN:RSRN -rosaries:RSRS:RSRS -rosarium:RSRM:RSRM -rosebuds:RSPT:RSPT -rosebush:RSPX:RSPX -rosefish:RSFX:RSFX -rosehips:RSHP:RSHP -rosellas:RSLS:RSLS -rosemary:RSMR:RSMR -roseolar:RSLR:RSLR -roseries:RSRS:RSRS -rosettes:RSTS:RSTS -rosewood:RST:RST -rosiness:RSNS:RSNS -rosining:RSNN:RSNN -rostella:RSTL:RSTL -rostrate:RSTR:RSTR -rostrums:RSTR:RSTR -rotacism:RTSS:RTSS -rotarian:RTRN:RTRN -rotaries:RTRS:RTRS -rotating:RTTN:RTTN -rotation:RTXN:RTXN -rotative:RTTF:RTTF -rotators:RTTR:RTTR -rotatory:RTTR:RTTR -rotenone:RTNN:RTNN -rotovate:RTFT:RTFT -rottener:RTNR:RTNR -rottenly:RTNL:RTNL -rottlera:RTLR:RTLR -rottnest:RTNS:RTNS -rotundas:RTNT:RTNT -rotundly:RTNT:RTNT -roughage:RFJ:RFK -roughens:RFNS:RFNS -roughers:RFRS:RFRS -roughest:RFST:RFST -roughhew:RF:RFF -roughing:RFNK:RFNK -roughish:RFX:RFX -rouleaus:RLS:RLS -rouleaux:RL:RL -roulette:RLT:RLT -roundels:RNTL:RNTL -rounders:RNTR:RNTR -roundest:RNTS:RNTS -rounding:RNTN:RNTN -roundish:RNTX:RNTX -roundlet:RNTL:RNTL -roundoff:RNTF:RNTF -roundups:RNTP:RNTP -rousseau:RS:RS -rousting:RSTN:RSTN -routines:RTNS:RTNS -routings:RTNK:RTNK -rowboats:RPTS:RPTS -rowdiest:RTST:RTST -rowdyish:RTX:RTX -rowdyism:RTSM:RTSM -roweling:RLNK:RLNK -rowlocks:RLKS:RLKS -royalism:RLSM:RLSM -royalist:RLST:RLST -rubbishy:RPX:RPX -rubdowns:RPTN:RPTN -rubefied:RPFT:RPFT -rubefies:RPFS:RPFS -rubeolar:RPLR:RPLR -rubicund:RPKN:RPKN -rubidium:RPTM:RPTM -rubrical:RPRK:RPRK -rubstone:RPST:RPST -ruckling:RKLN:RKLN -rucksack:RKSK:RKSK -ruckuses:RKSS:RKSS -ructions:RKXN:RKXN -ruddiest:RTST:RTST -ruddling:RTLN:RTLN -rudeness:RTNS:RTNS -rudiment:RTMN:RTMN -ruefully:RFL:RFL -ruffians:RFNS:RFNS -rufflers:RFLR:RFLR -ruffling:RFLN:RFLN -ruggedly:RKTL:RKTL -rugosely:RKSL:RKSL -rugosity:RKST:RKST -ruinable:RNPL:RNPL -ruleless:RLLS:RLLS -rumanian:RMNN:RMNN -rumblers:RMPL:RMPL -rumbling:RMPL:RMPL -ruminant:RMNN:RMNN -ruminate:RMNT:RMNT -rummaged:RMJT:RMKT -rummager:RMKR:RMJR -rummages:RMJS:RMKS -rumorers:RMRR:RMRR -rumoring:RMRN:RMRN -rumpless:RMPL:RMPL -rumpling:RMPL:RMPL -rumpuses:RMPS:RMPS -runabout:RNPT:RNPT -runagate:RNKT:RNKT -runaways:RNS:RNS -runcible:RNSP:RNSP -rundowns:RNTN:RNTN -rungless:RNKL:RNKL -runniest:RNST:RNST -runround:RNRN:RNRN -runtiest:RNTS:RNTS -rupiahes:RPHS:RPHS -ruptured:RPTR:RPTR -ruptures:RPTR:RPTR -ruralism:RRLS:RRLS -ruralist:RRLS:RRLS -rurality:RRLT:RRLT -ruralize:RRLS:RRLS -rushiest:RXST:RXST -rushlike:RXLK:RXLK -russians:RSNS:RSNS -russulas:RSLS:RSLS -rusticum:RSTK:RSTK -rustiest:RSTS:RSTS -rustlers:RSTL:RSTL -rustless:RSTL:RSTL -rustling:RSTL:RSTL -rutabaga:RTPK:RTPK -ruthenic:R0NK:RTNK -ruthless:R0LS:RTLS -rutinose:RTNS:RTNS -ruttiest:RTST:RTST -sabbaths:SP0S:SPTS -sabbatic:SPTK:SPTK -sabotage:SPTJ:SPTK -saboteur:SPTR:SPTR -sabuline:SPLN:SPLN -sabulose:SPLS:SPLS -sabulous:SPLS:SPLS -saburral:SPRL:SPRL -saccadic:SKTK:SKTK -saccular:SKLR:SKLR -sacculus:SKLS:SKLS -sachemic:SXMK:SKMK -sackfuls:SKFL:SKFL -sackless:SKLS:SKLS -sacklike:SKLK:SKLK -sacraria:SKRR:SKRR -sacredly:SKRT:SKRT -sacristy:SKRS:SKRS -saddened:STNT:STNT -saddlers:STLR:STLR -saddlery:STLR:STLR -saddling:STLN:STLN -sadducee:STS:STS -sadirons:STRN:STRN -sadistic:STST:STST -saecular:SKLR:SKLR -saevetia:SFX:SFX -safekeep:SFKP:SFKP -safeness:SFNS:SFNS -safeties:SFTS:SFTS -sagacity:SKST:SKST -sageness:SJNS:SKNS -saggiest:SJST:SKST -sagittal:SJTL:SKTL -saguaros:SKRS:SKRS -sailable:SLPL:SLPL -sailboat:SLPT:SLPT -sailfish:SLFX:SLFX -sailless:SLS:SLS -sailorly:SLRL:SLRL -sainfoin:SNFN:SNFN -saintdom:SNTM:SNTM -salaamed:SLMT:SLMT -salacity:SLST:SLST -salaried:SLRT:SLRT -salaries:SLRS:SLRS -salchows:SLXS:SLKS -saleable:SLPL:SLPL -saleably:SLPL:SLPL -saleroom:SLRM:SLRM -salesman:SLSM:SLSM -salesmen:SLSM:SLSM -saleyard:SLRT:SLRT -salience:SLNS:SLNS -saliency:SLNS:SLNS -salified:SLFT:SLFT -salifies:SLFS:SLFS -salinity:SLNT:SLNT -salivant:SLFN:SLFN -salivary:SLFR:SLFR -salivate:SLFT:SLFT -sallowly:SLL:SLL -sallying:SLNK:SLNK -salopian:SLPN:SLPN -salpicon:SLPK:SLPK -salpingo:SLPN:SLPN -saltbush:SLTP:SLTP -saltiest:SLTS:SLTS -saltines:SLTN:SLTN -saltless:SLTL:SLTL -saltlike:SLTL:SLTL -saltness:SLTN:SLTN -saltuses:SLTS:SLTS -saltwort:SLTR:SLTR -salutary:SLTR:SLTR -saluters:SLTR:SLTR -saluting:SLTN:SLTN -salvable:SLFP:SLFP -salvably:SLFP:SLFP -salvador:SLFT:SLFT -salvaged:SLFJ:SLFK -salvager:SLFK:SLFJ -salvages:SLFJ:SLFK -samarium:SMRM:SMRM -sambucus:SMPK:SMPK -sameness:SMNS:SMNS -samizdat:SMST:SMST -samovars:SMFR:SMFR -samphire:SMFR:SMFR -samplers:SMPL:SMPL -sampling:SMPL:SMPL -sanative:SNTF:SNTF -sanatory:SNTR:SNTR -sanctify:SNKT:SNKT -sanction:SNKX:SNKX -sanctity:SNKT:SNKT -sanctums:SNKT:SNKT -sandaled:SNTL:SNTL -sandbagg:SNTP:SNTP -sandbags:SNTP:SNTP -sandbank:SNTP:SNTP -sandbars:SNTP:SNTP -sandhogs:SNTK:SNTK -sandiest:SNTS:SNTS -sandlots:SNTL:SNTL -sandpile:SNTP:SNTP -sandpits:SNTP:SNTP -sandshoe:SNTX:SNTX -sandsoap:SNTS:SNTS -sandwich:SNTX:SNTK -sandworm:SNTR:SNTR -sandwort:SNTR:SNTR -saneness:SNNS:SNNS -sangaree:SNKR:SNKR -sangrias:SNKR:SNKR -sanguine:SNKN:SNKN -sanidine:SNTN:SNTN -sanitary:SNTR:SNTR -sanitate:SNTT:SNTT -sanities:SNTS:SNTS -sanitize:SNTS:SNTS -sanserif:SNSR:SNSR -sanskrit:SNSK:SNSK -santiago:SNXK:SNXK -santonin:SNTN:SNTN -sapheads:SFTS:SFTS -sapidity:SPTT:SPTT -sapience:SPNS:SPNS -saplings:SPLN:SPLN -saponify:SPNF:SPNF -saponite:SPNT:SPNT -sapphire:SPR:SPR -sapphism:SPSM:SPSM -sapphist:SPST:SPST -sappiest:SPST:SPST -sapremia:SPRM:SPRM -sapremic:SPRM:SPRM -saprobic:SPRP:SPRP -saprogen:SPRJ:SPRK -sapropel:SPRP:SPRP -saraband:SRPN:SRPN -saracens:SRSN:SRSN -sarcasms:SRKS:SRKS -sarcenet:SRSN:SRSN -sarcinae:SRSN:SRSN -sarcinas:SRSN:SRSN -sarcomas:SRKM:SRKM -sardines:SRTN:SRTN -sardinia:SRTN:SRTN -sardonic:SRTN:SRTN -sardonyx:SRTN:SRTN -sargasso:SRKS:SRKS -sarkiest:SRKS:SRKS -sarpanch:SRPN:SRPN -sartorii:SRTR:SRTR -sashayed:SXT:SXT -sassiest:SSST:SSST -sastruga:SSTR:SSTR -sastrugi:SSTR:SSTR -satanism:STNS:STNS -satanist:STNS:STNS -satchels:SXLS:SXLS -satiable:SXPL:SXPL -satiably:SXPL:SXPL -satiated:SXTT:SXTT -satiates:SXTS:SXTS -satirist:STRS:STRS -satirize:STRS:STRS -satsumas:STSM:STSM -saturant:STRN:STRN -saturate:STRT:STRT -saturday:STRT:STRT -saucebox:SSPK:SSPK -saucepan:SSPN:SSPN -sauciest:SSST:SXST -saunters:SNTR:SNTR -sauropod:SRPT:SRPT -sausages:SSJS:SSKS -sauteing:STNK:STNK -sauterne:STRN:STRN -savagely:SFJL:SFKL -savagers:SFKR:SFJR -savagery:SFKR:SFJR -savaging:SFJN:SFKN -savannah:SFN:SFN -savannas:SFNS:SFNS -savantes:SFNT:SFNT -saveable:SFPL:SFPL -saveloys:SFLS:SFLS -savingly:SFNK:SFNK -savorers:SFRR:SFRR -savorier:SFR:SFRR -savories:SFRS:SFRS -savorily:SFRL:SFRL -savoring:SFRN:SFRN -savorous:SFRS:SFRS -savoyard:SFRT:SFRT -savvying:SFNK:SFNK -sawbills:SPLS:SPLS -sawbones:SPNS:SPNS -sawbucks:SPKS:SPKS -sawflies:SFLS:SFLS -sawhorse:SRS:SRS -sawmills:SMLS:SMLS -sawtooth:ST0:STT -saxatile:SKST:SKST -saxhorns:SKSR:SKSR -sayonara:SNR:SNR -scabbard:SKPR:SKPR -scabbier:SKP:SKPR -scabbily:SKPL:SKPL -scabbing:SKPN:SKPN -scabbled:SKPL:SKPL -scabbles:SKPL:SKPL -scabetic:SKPT:SKPT -scabious:SKPS:SKPS -scablike:SKPL:SKPL -scabrous:SKPR:SKPR -scaffold:SKFL:SKFL -scalable:SKLP:SKLP -scalably:SKLP:SKLP -scalades:SKLT:SKLT -scalawag:SKLK:SKLK -scalders:SKLT:SKLT -scalding:SKLT:SKLT -scaleman:SKLM:SKLM -scalemen:SKLM:SKLM -scalenus:SKLN:SKLN -scalepan:SKLP:SKLP -scaliest:SKLS:SKLS -scalings:SKLN:SKLN -scallion:SKLN:SKLN -scallops:SKLP:SKLP -scalpels:SKLP:SKLP -scalpers:SKLP:SKLP -scalping:SKLP:SKLP -scalprum:SKLP:SKLP -scammony:SKMN:SKMN -scampers:SKMP:SKMP -scamping:SKMP:SKMP -scampish:SKMP:SKMP -scandala:SKNT:SKNT -scandals:SKNT:SKNT -scandent:SKNT:SKNT -scandium:SKNT:SKNT -scanners:SKNR:SKNR -scanning:SKNN:SKNN -scansion:SKNS:SKNX -scantier:SKNT:SKNT -scantily:SKNT:SKNT -scanting:SKNT:SKNT -scanzoni:SKNS:SKNS -scaphoid:SKFT:SKFT -scapulae:SKPL:SKPL -scapular:SKPL:SKPL -scapulas:SKPL:SKPL -scarcely:SKRS:SKRS -scarcest:SKRS:SKRS -scarcity:SKRS:SKRS -scarfing:SKRF:SKRF -scariest:SKRS:SKRS -scarious:SKRS:SKRS -scarless:SKRL:SKRL -scarpers:SKRP:SKRP -scarring:SKRN:SKRN -scathing:SK0N:SKTN -scatomas:SKTM:SKTM -scatters:SKTR:SKTR -scattier:SKT:SKTR -scattily:SKTL:SKTL -scatting:SKTN:SKTN -scatulae:SKTL:SKTL -scavenge:SKFN:SKFN -scenario:SNR:SNR -scending:SNTN:SNTN -scenical:SNKL:SNKL -scenting:SNTN:SNTN -scepters:SPTR:SPTR -sceptics:SPTK:SPTK -sceptism:SPTS:SPTS -sceptred:SPTR:SPTR -schedule:SKTL:SKTL -schemata:SKMT:SKMT -schemers:SKMR:SKMR -schemery:SKMR:SKMR -scheming:SKMN:SKMN -scherzos:XRSS:SKRS -schilder:XLTR:XLTR -schiller:XLR:XLR -schirrhi:XR:XR -schizoid:XST:XST -schizont:XSNT:XSNT -schmaltz:XMLT:SMLT -schnapps:XNPS:SNPS -schnooks:XNKS:SNKS -scholars:XLRS:XLRS -scholium:XLM:XLM -schoolba:SKLP:SKLP -schooled:SKLT:SKLT -schooler:SKLR:SKLR -schooner:SKNR:SKNR -schubert:XPRT:XPRT -schuller:XLR:XLR -schussed:XST:XST -schusses:XSS:XSS -sciaenid:SNT:SNT -sciatica:STK:STK -sciences:SNSS:SNSS -scienter:SNTR:SNTR -scilicet:SLST:SLST -scillies:SLS:SLS -scimitar:SMTR:SMTR -scincoid:SNKT:SNKT -scirocco:SRK:SRK -scirrhus:SRS:SRS -scissile:SSL:SSL -scission:SSN:SSN -scissors:SSRS:SSRS -scissura:SSR:SSR -sciurine:SRN:SRN -sciuroid:SRT:SRT -sclaffed:SKFT:SKFT -sclaffer:SKFR:SKFR -scleraes:SKRS:SKRS -sclerema:SKRM:SKRM -sclerite:SKRT:SKRT -scleroid:SKRT:SKRT -scleroma:SKRM:SKRM -sclerose:SKRS:SKRS -sclerous:SKRS:SKRS -scoffers:SKFR:SKFR -scoffing:SKFN:SKFN -scofflaw:SKFL:SKFL -scolding:SKLT:SKLT -scoleces:SKLS:SKLS -scolexes:SKLK:SKLK -scolices:SKLS:SKLS -sconcing:SKNS:SKNS -scoopers:SKPR:SKPR -scoopful:SKPF:SKPF -scooping:SKPN:SKPN -scooters:SKTR:SKTR -scooting:SKTN:SKTN -scoparin:SKPR:SKPR -scopolia:SKPL:SKPL -scopulae:SKPL:SKPL -scopulas:SKPL:SKPL -scorched:SKRX:SKRK -scorcher:SKRX:SKRK -scorches:SKRK:SKRK -scorings:SKRN:SKRN -scorners:SKRN:SKRN -scornful:SKRN:SKRN -scorning:SKRN:SKRN -scorpers:SKRP:SKRP -scorpion:SKRP:SKRP -scorpios:SKRP:SKRP -scotched:SKXT:SKXT -scotches:SKXS:SKXS -scotfree:SKTF:SKTF -scotians:SKXN:SKXN -scotland:SKTL:SKTL -scotomas:SKTM:SKTM -scotopia:SKTP:SKTP -scotopic:SKTP:SKTP -scotsman:SKTS:SKTS -scotsmen:SKTS:SKTS -scotting:SKTN:SKTN -scottish:SKTX:SKTX -scourers:SKRR:SKRR -scourged:SKRJ:SKRK -scourger:SKRK:SKRJ -scourges:SKRJ:SKRK -scouring:SKRN:SKRN -scouters:SKTR:SKTR -scouting:SKTN:SKTN -scowlers:SKLR:SKLR -scowling:SKLN:SKLN -scrabble:SKPL:SKPL -scragged:SKKT:SKKT -scraggly:SKKL:SKKL -scramble:SKMP:SKMP -scrammed:SKMT:SKMT -scrapers:SKPR:SKPR -scraping:SKPN:SKPN -scrapped:SKPT:SKPT -scrapper:SKPR:SKPR -scrapple:SKPL:SKPL -scratchy:SKX:SKX -scrawled:SKLT:SKLT -scrawler:SKLR:SKLR -screamed:SKMT:SKMT -screamer:SKMR:SKMR -screechy:SKX:SKK -screened:SKNT:SKNT -screener:SKNR:SKNR -screeved:SKFT:SKFT -screever:SKFR:SKFR -screeves:SKFS:SKFS -screweye:SK:SK -screwier:SKR:SKR -screwing:SKNK:SKNK -scribble:SKPL:SKPL -scribbly:SKPL:SKPL -scribers:SKPR:SKPR -scribing:SKPN:SKPN -scrimped:SKMP:SKMP -scripted:SKPT:SKPT -scriptum:SKPT:SKPT -scrofula:SKFL:SKFL -scrolled:SKLT:SKLT -scrooges:SKJS:SKKS -scrotums:SKTM:SKTM -scrounge:SKNJ:SKNK -scrubbed:SKPT:SKPT -scrubber:SKPR:SKPR -scrummed:SKMT:SKMT -scrumped:SKMP:SKMP -scrupled:SKPL:SKPL -scruples:SKPL:SKPL -scrutiny:SKTN:SKTN -scudding:SKTN:SKTN -scuffing:SKFN:SKFN -scuffled:SKFL:SKFL -scuffler:SKFL:SKFL -scuffles:SKFL:SKFL -scullers:SKLR:SKLR -scullery:SKLR:SKLR -sculling:SKLN:SKLN -scullion:SKLN:SKLN -sculpsit:SKLP:SKLP -sculpted:SKLP:SKLP -sculptor:SKLP:SKLP -scumbled:SKMP:SKMP -scumbles:SKMP:SKMP -scumlike:SKML:SKML -scummier:SKM:SKMR -scumming:SKMN:SKMN -scuppers:SKPR:SKPR -scurfier:SKRF:SKRF -scurried:SKRT:SKRT -scurries:SKRS:SKRS -scurrile:SKRL:SKRL -scurvied:SKRF:SKRF -scurvier:SKRF:SKRF -scurvies:SKRF:SKRF -scurvily:SKRF:SKRF -scutages:SKTJ:SKTK -scutched:SKXT:SKXT -scutcher:SKXR:SKXR -scutches:SKXS:SKXS -scutella:SKTL:SKTL -scutters:SKTR:SKTR -scuttled:SKTL:SKTL -scuttler:SKTL:SKTL -scuttles:SKTL:SKTL -scutulum:SKTL:SKTL -scybalum:SPLM:SPLM -scything:S0NK:STNK -seabirds:SPRT:SPRT -seablite:SPLT:SPLT -seaboard:SPRT:SPRT -seaborne:SPRN:SPRN -seacoast:SKST:SKST -seacocks:SKKS:SKKS -seacraft:SKRF:SKRF -seafarer:SFRR:SFRR -seafloor:SFLR:SFLR -seafoods:SFTS:SFTS -seafront:SFRN:SFRN -seagirts:SJRT:SKRT -seagoing:SKNK:SKNK -seagulls:SKLS:SKLS -seahorse:SHRS:SHRS -sealable:SLPL:SLPL -sealants:SLNT:SLNT -sealevel:SLFL:SLFL -sealskin:SLSK:SLSK -sealyham:SLHM:SLHM -seamanly:SMNL:SMNL -seamiest:SMST:SMST -seamless:SMLS:SMLS -seamount:SMNT:SMNT -seaplane:SPLN:SPLN -seaports:SPRT:SPRT -seaquake:SKK:SKK -searched:SRXT:SRKT -searcher:SRXR:SRKR -searches:SRXS:SRKS -seascape:SSKP:SSKP -seashell:SXL:SXL -seashore:SXR:SXR -seasider:SSTR:SSTR -seasides:SSTS:SSTS -seasonal:SSNL:SSNL -seasoned:SSNT:SSNT -seasoner:SSNR:SSNR -seatless:STLS:STLS -seatworm:STRM:STRM -seawards:SRTS:SRTS -seawater:STR:STR -seaweeds:STS:STS -secantly:SKNT:SKNT -seceders:SSTR:SSTR -seceding:SSTN:SSTN -secluded:SKLT:SKLT -secludes:SKLT:SKLT -secodont:SKTN:SKTN -seconded:SKNT:SKNT -seconder:SKNT:SKNT -secondly:SKNT:SKNT -secreted:SKRT:SKRT -secretes:SKRT:SKRT -secretin:SKRT:SKRT -secretly:SKRT:SKRT -secretor:SKRT:SKRT -secretum:SKRT:SKRT -sections:SKXN:SKXN -sectoral:SKTR:SKTR -secundum:SKNT:SKNT -securely:SKRL:SKRL -securers:SKRR:SKRR -securest:SKRS:SKRS -securing:SKRN:SKRN -security:SKRT:SKRT -sedately:STTL:STTL -sedating:STTN:STTN -sedation:STXN:STXN -sedative:STTF:STTF -sederunt:STRN:STRN -sediment:STMN:STMN -sedition:STXN:STXN -seducees:STSS:STSS -seducers:STSR:STSR -seducing:STSN:STSN -sedulous:STLS:STLS -seedcake:STKK:STKK -seediest:STST:STST -seedings:STNK:STNK -seedless:STLS:STLS -seedlike:STLK:STLK -seedling:STLN:STLN -seemlier:SML:SMLR -seesawed:SST:SST -seething:S0NK:STNK -segments:SKMN:SKMN -segueing:SKNK:SKNK -seicento:SSNT:SSNT -seidlitz:STLT:STLT -seigneur:SNR:SKNR -seignior:SNR:SKNR -seisable:SSPL:SSPL -seisinam:SSNM:SSNM -seizable:SSPL:SSPL -seizures:SSRS:SSRS -selachyl:SLKL:SLKL -selected:SLKT:SLKT -selectee:SLKT:SLKT -selectly:SLKT:SLKT -selector:SLKT:SLKT -selectus:SLKT:SLKT -selenate:SLNT:SLNT -selenite:SLNT:SLNT -selenium:SLNM:SLNM -selfheal:SLFL:SLFL -selfhood:SLFT:SLFT -selfless:SLFL:SLFL -selfsame:SLFS:SLFS -sellable:SLPL:SLPL -sellouts:SLTS:SLTS -selvaged:SLFJ:SLFK -selvagee:SLFJ:SLFK -semantic:SMNT:SMNT -semation:SMXN:SMXN -sembling:SMPL:SMPL -semester:SMST:SMST -semiarid:SMRT:SMRT -semibold:SMPL:SMPL -semicoma:SMKM:SMKM -semideaf:SMTF:SMTF -semidome:SMTM:SMTM -semiform:SMFR:SMFR -semihard:SMHR:SMHR -seminars:SMNR:SMNR -seminary:SMNR:SMNR -seminate:SMNT:SMNT -seminole:SMNL:SMNL -seminoma:SMNM:SMNM -seminude:SMNT:SMNT -semiotic:SMTK:SMTK -semipros:SMPR:SMPR -semisoft:SMSF:SMSF -semitics:SMTK:SMTK -semitise:SMTS:SMTS -semitism:SMTS:SMTS -semitist:SMTS:SMTS -semitone:SMTN:SMTN -semolina:SMLN:SMLN -semplice:SMPL:SMPL -senators:SNTR:SNTR -sendable:SNTP:SNTP -sendoffs:SNTF:SNTF -senecios:SNSS:SNXS -senilely:SNLL:SNLL -senility:SNLT:SNLT -senorita:SNRT:SNRT -señorita:SNRT:SNRT -sensible:SNSP:SNSP -sensibly:SNSP:SNSP -sensilla:SNSL:SNSL -sensoria:SNSR:SNSR -sensuous:SNSS:SNSS -sentence:SNTN:SNTN -sentient:SNTN:SNTN -sentinel:SNTN:SNTN -sentried:SNTR:SNTR -sentries:SNTR:SNTR -sepaline:SPLN:SPLN -sepalled:SPLT:SPLT -sepaloid:SPLT:SPLT -sepalous:SPLS:SPLS -separate:SPRT:SPRT -septaria:SPTR:SPTR -septated:SPTT:SPTT -septulum:SPTL:SPTL -septuple:SPTP:SPTP -sequelae:SKL:SKL -sequence:SKNS:SKNS -sequined:SKNT:SKNT -sequitur:SKTR:SKTR -sequoias:SKS:SKS -seraglio:SRKL:SRL -seraphes:SRFS:SRFS -seraphic:SRFK:SRFK -seraphim:SRFM:SRFM -serbians:SRPN:SRPN -serenade:SRNT:SRNT -serenata:SRNT:SRNT -serenely:SRNL:SRNL -serenity:SRNT:SRNT -sergeant:SRJN:SRKN -serially:SRL:SRL -seriated:SRTT:SRTT -seriatim:SRTM:SRTM -serjeant:SRJN:SRJN -sermonic:SRMN:SRMN -serology:SRLJ:SRLK -serosaes:SRSS:SRSS -serosity:SRST:SRST -serotine:SRTN:SRTN -serotype:SRTP:SRTP -serpents:SRPN:SRPN -serpigos:SRPK:SRPK -serpulae:SRPL:SRPL -serpulid:SRPL:SRPL -serranid:SRNT:SRNT -serratae:SRT:SRT -serrated:SRTT:SRTT -serrates:SRTS:SRTS -serratia:SRX:SRX -serratus:SRTS:SRTS -servable:SRFP:SRFP -servants:SRFN:SRFN -serviced:SRFS:SRFS -services:SRFS:SRFS -serviens:SRFN:SRFN -servient:SRFN:SRFN -servings:SRFN:SRFN -servitor:SRFT:SRFT -sesamoid:SSMT:SSMT -sessions:SSNS:SSNS -setbacks:STPK:STPK -setiform:STFR:STFR -setlines:STLN:STLN -setscrew:STSK:STSK -settings:STNK:STNK -settlers:STLR:STLR -settling:STLN:STLN -sevenths:SFN0:SFNT -severely:SFRL:SFRL -severest:SFRS:SFRS -severing:SFRN:SFRN -severity:SFRT:SFRT -sewerage:SRJ:SRK -sexiness:SKSN:SKSN -sexology:SKSL:SKSL -sextants:SKST:SKST -sextuple:SKST:SKST -sexually:SKSL:SKSL -seyorita:SRT:SRT -shabbier:XP:XPR -shabbily:XPL:XPL -shabrack:XPRK:XPRK -shacking:XKNK:XKNK -shackled:XKLT:XKLT -shackler:XKLR:XKLR -shackles:XKLS:XKLS -shaddock:XTK:XTK -shadiest:XTST:XTST -shadings:XTNK:XTNK -shadowed:XTT:XTT -shadower:XTR:XTR -shafting:XFTN:XFTN -shagbark:XKPR:XKPR -shaggier:XJ:XKR -shaggily:XJL:XKL -shagging:XJNK:XKNK -shagreen:XKRN:XKRN -shahdoms:XTMS:XTMS -shakable:XKPL:XKPL -shakably:XKPL:XKPL -shakeups:XKPS:XKPS -shakiest:XKST:XKST -shalloon:XLN:XLN -shallops:XLPS:XLPS -shallots:XLTS:XLTS -shallows:XLS:XLS -shamable:XMPL:XMPL -shambled:XMPL:XMPL -shambles:XMPL:XMPL -shameful:XMFL:XMFL -shammers:XMRS:XMRS -shammies:XMS:XMS -shamming:XMNK:XMNK -shampoos:XMPS:XMPS -shamrock:XMRK:XMRK -shandier:XNT:XNTR -shandies:XNTS:XNTS -shanghai:XNK:XNK -shannies:XNS:XNS -shanties:XNTS:XNTS -shantung:XNTN:XNTN -shapable:XPPL:XPPL -shapeups:XPPS:XPPS -sharable:XRPL:XRPL -shareman:XRMN:XRMN -sharemen:XRMN:XRMN -shareout:XRT:XRT -sharking:XRKN:XRKN -sharpens:XRPN:XRPN -sharpers:XRPR:XRPR -sharpest:XRPS:XRPS -sharpies:XRPS:XRPS -sharping:XRPN:XRPN -sharpish:XRPX:XRPX -shatters:XTRS:XTRS -shavable:XFPL:XFPL -shavians:XFNS:XFNS -shavings:XFNK:XFNK -shawnees:XNS:XNS -sheading:XTNK:XTNK -sheafing:XFNK:XFNK -shearers:XRRS:XRRS -shearing:XRNK:XRNK -sheathed:X0T:XTT -sheather:X0R:XTR -sheathes:X0S:XTS -sheaving:XFNK:XFNK -shedders:XTRS:XTRS -shedding:XTNK:XTNK -sheenier:XN:XNR -sheepdog:XPTK:XPTK -sheepish:XPX:XPX -sheering:XRNK:XRNK -sheeting:XTNK:XTNK -sheikdom:XKTM:XKTM -sheikhes:XKS:XKS -shelduck:XLTK:XLTK -shellack:XLK:XLK -shellacs:XLKS:XLKS -shellers:XLRS:XLRS -shelling:XLNK:XLNK -shelters:XLTR:XLTR -shelties:XLTS:XLTS -shelvers:XLFR:XLFR -shelving:XLFN:XLFN -shepherd:XFRT:XFRT -sheraton:XRTN:XRTN -sherbets:XRPT:XRPT -sheriffs:XRFS:XRFS -sherlock:XRLK:XRLK -sherries:XRS:XRS -sherwani:XRN:XRN -shetland:XTLN:XTLN -shielded:XLTT:XLTT -shielder:XLTR:XLTR -shieling:XLNK:XLNK -shifters:XFTR:XFTR -shiftier:XFT:XFTR -shiftily:XFTL:XFTL -shifting:XFTN:XFTN -shiftman:XFTM:XFTM -shiftmen:XFTM:XFTM -shigella:XJL:XKL -shikaris:XKRS:XKRS -shikimic:XKMK:XKMK -shilling:XLNK:XLNK -shimmers:XMRS:XMRS -shimmery:XMR:XMR -shimmied:XMT:XMT -shimmies:XMS:XMS -shimming:XMNK:XMNK -shinbone:XNPN:XNPN -shindies:XNTS:XNTS -shindigs:XNTK:XNTK -shingled:XNKL:XNKL -shingler:XNKL:XNKL -shingles:XNKL:XNKL -shiniest:XNST:XNST -shinnied:XNT:XNT -shinnies:XNS:XNS -shinning:XNNK:XNNK -shintied:XNTT:XNTT -shinties:XNTS:XNTS -shipload:XPLT:XPLT -shipmate:XPMT:XPMT -shipment:XPMN:XPMN -shippage:XPJ:XPK -shippers:XPRS:XPRS -shipping:XPNK:XPNK -shipside:XPST:XPST -shipworm:XPRM:XPRM -shipyard:XPRT:XPRT -shiralee:XRL:XRL -shirkers:XRKR:XRKR -shirking:XRKN:XRKN -shirring:XRNK:XRNK -shirtier:XRT:XRTR -shirtily:XRTL:XRTL -shirting:XRTN:XRTN -shivered:XFRT:XFRT -shiverer:XFRR:XFRR -shoaling:XLNK:XLNK -shockers:XKRS:XKRS -shocking:XKNK:XKNK -shoddier:XT:XTR -shoddies:XTS:XTS -shoddily:XTL:XTL -shoebill:XPL:XPL -shoehorn:XHRN:XHRN -shoelace:XLS:XLS -shoetree:XTR:XTR -shootees:XTS:XTS -shooters:XTRS:XTRS -shooting:XTNK:XTNK -shootout:XTT:XTT -shoplift:XPLF:XPLF -shoppers:XPRS:XPRS -shopping:XPNK:XPNK -shoptalk:XPTL:XPTL -shopworn:XPRN:XPRN -shortage:XRTJ:XRTK -shortcut:XRTK:XRTK -shortens:XRTN:XRTN -shortest:XRTS:XRTS -shorting:XRTN:XRTN -shoshone:XXN:XXN -shoshoni:XXN:XXN -shotguns:XTKN:XTKN -shotting:XTNK:XTNK -shoulder:XLTR:XLTR -shouldst:XLTS:XLTS -shouters:XTRS:XTRS -shouting:XTNK:XTNK -shoveled:XFLT:XFLT -shoveler:XFLR:XFLR -showboat:XPT:XPT -showcase:XKS:XKS -showdown:XTN:XTN -showered:XRT:XRT -showgirl:XJRL:XKRL -showiest:XST:XST -showings:XNKS:XNKS -showoffs:XFS:XFS -showroom:XRM:XRM -shrapnel:XRPN:XRPN -shredded:XRTT:XRTT -shredder:XRTR:XRTR -shrewder:XRTR:XRTR -shrewdly:XRTL:XRTL -shrewish:XRX:XRX -shrieked:XRKT:XRKT -shrieker:XRKR:XRKR -shrieval:XRFL:XRFL -shrilled:XRLT:XRLT -shriller:XRLR:XRLR -shrimped:XRMP:XRMP -shrimper:XRMP:XRMP -shrinker:XRNK:XRNK -shrivels:XRFL:XRFL -shriving:XRFN:XRFN -shrouded:XRTT:XRTT -shrugged:XRKT:XRKT -shrunken:XRNK:XRNK -shuckers:XKRS:XKRS -shucking:XKNK:XKNK -shudders:XTRS:XTRS -shuddery:XTR:XTR -shuffled:XFLT:XFLT -shuffler:XFLR:XFLR -shuffles:XFLS:XFLS -shunners:XNRS:XNRS -shunning:XNNK:XNNK -shunpike:XNPK:XNPK -shunters:XNTR:XNTR -shunting:XNTN:XNTN -shushing:XXNK:XXNK -shutdown:XTN:XTN -shutouts:XTTS:XTTS -shutters:XTRS:XTRS -shutting:XTNK:XTNK -shuttled:XTLT:XTLT -shuttles:XTLS:XTLS -shylocks:XLKS:XLKS -shysters:XSTR:XSTR -siamangs:SMNK:XMNK -siberian:SPRN:SPRN -sibilant:SPLN:SPLN -sibilate:SPLT:SPLT -siblings:SPLN:SPLN -sicilian:SSLN:SSLN -sickbays:SKPS:SKPS -sickbeds:SKPT:SKPT -sickened:SKNT:SKNT -sickener:SKNR:SKNR -sicklier:SKLR:SKLR -sickling:SKLN:SKLN -sickness:SKNS:SKNS -sickouts:SKTS:SKTS -sickroom:SKRM:SKRM -sidearms:STRM:STRM -sideband:STPN:STPN -sideburn:STPR:STPR -sidecars:STKR:STKR -sidehill:STHL:STHL -sidekick:STKK:STKK -sideline:STLN:STLN -sideling:STLN:STLN -sidelong:STLN:STLN -sidereal:STRL:STRL -siderism:STRS:STRS -siderite:STRT:STRT -sideroad:STRT:STRT -sideshow:STX:STXF -sideslip:STSL:STSL -sidesman:STSM:STSM -sidesmen:STSM:STSM -sidestep:STST:STST -sidewalk:STLK:STLK -sidewall:STL:STL -sideward:STRT:STRT -sideways:STS:STS -sidewise:STS:STS -siffleur:SFLR:SFLR -siftings:SFTN:SFTN -sighting:STNK:STNK -sightsaw:STS:STSF -sightsee:STS:STS -sigmatic:SKMT:SKMT -signable:SNPL:SKNP -signaing:SNNK:SKNN -signaled:SNLT:SKNL -signaler:SNLR:SKNL -signally:SNL:SKNL -signandi:SNNT:SKNN -signoras:SNRS:SKNR -signores:SNRS:SKNR -signpost:SNPS:SKNP -silenced:SLNS:SLNS -silencer:SLNS:SLNS -silences:SLNS:SLNS -silentio:SLNT:SLNT -silently:SLNT:SLNT -silesian:SLSN:SLXN -silicate:SLKT:SLKT -silicide:SLST:SLST -silicify:SLSF:SLSF -silicone:SLKN:SLKN -silkiest:SLKS:SLKS -silkweed:SLKT:SLKT -silkworm:SLKR:SLKR -sillabub:SLPP:SLPP -silliest:SLST:SLST -siloxane:SLKS:SLKS -siltiest:SLTS:SLTS -silurian:SLRN:SLRN -silvered:SLFR:SLFR -silverer:SLFR:SLFR -simmered:SMRT:SMRT -simmonds:SMNT:SMNT -simoniac:SMNK:SMNK -simonies:SMNS:SMNS -simonize:SMNS:SMNS -simpered:SMPR:SMPR -simperer:SMPR:SMPR -simplers:SMPL:SMPL -simplest:SMPL:SMPL -simplify:SMPL:SMPL -simplism:SMPL:SMPL -simulant:SMLN:SMLN -simulate:SMLT:SMLT -simulium:SMLM:SMLM -sinaitic:SNTK:SNTK -sinapism:SNPS:SNPS -sincerer:SNSR:SNSR -sinciput:SNSP:SNSP -sinecure:SNKR:SNKR -sinfonia:SNFN:SNFN -sinfonie:SNFN:SNFN -sinfully:SNFL:SNFL -singable:SNKP:SNKP -singeing:SNJN:SNKN -singlets:SNKL:SNKL -singling:SNKL:SNLN -singsong:SNKS:SNKS -singular:SNKL:SNKL -sinicise:SNSS:SNSS -sinigrin:SNKR:SNKR -sinister:SNST:SNST -sinkable:SNKP:SNKP -sinkhole:SNKL:SNKL -sinology:SNLJ:SNLK -sintered:SNTR:SNTR -sinuated:SNTT:SNTT -sinusoid:SNST:SNST -siphonal:SFNL:SFNL -siphoned:SFNT:SFNT -siphonet:SFNT:SFNT -siphonic:SFNK:SFNK -sireless:SRLS:SRLS -sirenian:SRNN:SRNN -siriases:SRSS:SRSS -siriasis:SRSS:SRSS -sirloins:SRLN:SRLN -siroccos:SRKS:SRKS -sirvente:SRFN:SRFN -sisterly:SSTR:SSTR -sistroid:SSTR:SSTR -sisyphus:SSFS:SSFS -sitarist:STRS:STRS -sitology:STLJ:STLK -sittings:STNK:STNK -situated:STTT:STTT -situates:STTS:STTS -sitzbath:STSP:STSP -sitzmark:STSM:STSM -sixpence:SKSP:SKSP -sixpenny:SKSP:SKSP -sixsided:SKSS:SKSS -sixteens:SKST:SKST -sixtieth:SKST:SKST -sizeable:SSPL:SSPL -sizeably:SSPL:SSPL -sizzling:SSLN:SSLN -skeletal:SKLT:SKLT -skeleton:SKLT:SKLT -skellies:SKLS:SKLS -skelping:SKLP:SKLP -skenitis:SKNT:SKNT -skeptics:SKPT:SKPT -skerrick:SKRK:SKRK -skerries:SKRS:SKRS -sketched:SKXT:SKXT -sketcher:SKXR:SKXR -sketches:SKXS:SKXS -skewback:SKPK:SKPK -skewbald:SKPL:SKPL -skewered:SKRT:SKRT -skewness:SKNS:SKNS -skiagram:SKKR:SKKR -skiddies:SKTS:SKTS -skidding:SKTN:SKTN -skijorer:SKJR:SKJR -skilless:SKLS:SKLS -skillets:SKLT:SKLT -skillful:SKLF:SKLF -skillion:SKLN:SKLN -skimmers:SKMR:SKMR -skimming:SKMN:SKMN -skimpier:SKMP:SKMP -skimpily:SKMP:SKMP -skimping:SKMP:SKMP -skindive:SKNT:SKNT -skinhead:SKNT:SKNT -skinless:SKNL:SKNL -skinlike:SKNL:SKNL -skinners:SKNR:SKNR -skinnier:SKNR:SKNR -skinning:SKNN:SKNN -skipjack:SKPJ:SKPJ -skiplane:SKPL:SKPL -skippers:SKPR:SKPR -skipping:SKPN:SKPN -skirling:SKRL:SKRL -skirmish:SKRM:SKRM -skirring:SKRN:SKRN -skirting:SKRT:SKRT -skitters:SKTR:SKTR -skittish:SKTX:SKTX -skittled:SKTL:SKTL -skittler:SKTL:SKTL -skittles:SKTL:SKTL -skivvied:SKFT:SKFT -skivvies:SKFS:SKFS -skulkers:SKLK:SKLK -skulking:SKLK:SKLK -skullcap:SKLK:SKLK -skunking:SKNK:SKNK -skycoach:SKKK:SKKK -skydived:SKTF:SKTF -skydiver:SKTF:SKTF -skydives:SKTF:SKTF -skyjacks:SKJK:SKJK -skylarks:SKLR:SKLR -skylight:SKLT:SKLT -skylines:SKLN:SKLN -skysails:SKSL:SKSL -skyscape:SKSK:SKSK -skywards:SKRT:SKRT -slabbers:SLPR:XLPR -slabbing:SLPN:XLPN -slackage:SLKJ:XLKK -slackens:SLKN:XLKN -slackers:SLKR:XLKR -slacking:SLKN:XLKN -slagging:SLJN:XLKN -slakable:SLKP:XLKP -slalomed:SLLM:XLLM -slammers:SLMR:XLMR -slamming:SLMN:XLMN -slanders:SLNT:XLNT -slangier:SLNJ:XLNK -slangily:SLNJ:XLNK -slanging:SLNJ:XLNK -slanting:SLNT:XLNT -slapdash:SLPT:XLPT -slapjack:SLPJ:XLPJ -slappers:SLPR:XLPR -slapping:SLPN:XLPN -slapshot:SLPX:XLPX -slashers:SLXR:XLXR -slashing:SLXN:XLXN -slathers:SL0R:XLTR -slatiest:SLTS:XLTS -slattern:SLTR:XLTR -slatting:SLTN:XLTN -slavered:SLFR:XLFR -slavonic:SLFN:XLFN -sleazier:SLS:XLSR -sleazily:SLSL:XLSL -sledding:SLTN:XLTN -sledging:SLJN:XLJN -sleekest:SLKS:XLKS -sleepers:SLPR:XLPR -sleepier:SLP:XLPR -sleepily:SLPL:XLPL -sleeping:SLPN:XLPN -sleetier:SLT:XLTR -sleeting:SLTN:XLTN -sleeving:SLFN:XLFN -sleighed:SLT:XLT -sleigher:SLR:XLR -sleighes:SLS:XLS -sleuthed:SL0T:XLTT -sleuthes:SL0S:XLTS -slickers:SLKR:XLKR -slickest:SLKS:XLKS -slicking:SLKN:XLKN -slidable:SLTP:XLTP -slighted:SLTT:XLTT -slighter:SLTR:XLTR -slightly:SLTL:XLTL -slimiest:SLMS:XLMS -slimline:SLML:XLML -slimmers:SLMR:XLMR -slimmest:SLMS:XLMS -slimming:SLMN:XLMN -slimness:SLMN:XLMN -slingers:SLNK:XLNJ -slinging:SLNJ:XLNK -slinkier:SLNK:XLNK -slinkily:SLNK:XLNK -slinking:SLNK:XLNK -slipcase:SLPK:XLPK -slipknot:SLPK:XLPK -slipover:SLPF:XLPF -slippage:SLPJ:XLPK -slippers:SLPR:XLPR -slippery:SLPR:XLPR -slippier:SLP:XLPR -slipping:SLPN:XLPN -slipshod:SLPX:XLPX -slipware:SLPR:XLPR -slithers:SL0R:XLTR -slithery:SL0R:XLTR -slitting:SLTN:XLTN -slivered:SLFR:XLFR -slobbers:SLPR:XLPR -slobbery:SLPR:XLPR -sloggers:SLKR:XLKR -slogging:SLJN:XLKN -sloppier:SLP:XLPR -sloppily:SLPL:XLPL -slopping:SLPN:XLPN -slopwork:SLPR:XLPR -sloshier:SLX:XLXR -sloshing:SLXN:XLXN -slothful:SL0F:XLTF -slotting:SLTN:XLTN -slouched:SLXT:XLKT -sloucher:SLXR:XLKR -slouches:SLXS:XLKS -sloughed:SLFT:XLFT -sloughes:SLFS:XLFS -slovakia:SLFK:XLFK -slovenia:SLFN:XLFN -slovenly:SLFN:XLFN -slowdown:SLTN:XLTN -slowness:SLNS:XLNS -slowpoke:SLPK:XLPK -slowworm:SLRM:XLRM -slubbers:SLPR:XLPR -slubbing:SLPN:XLPN -sludgier:SLJ:XLJR -sluffsly:SLFS:XLFS -slugabed:SLKP:XLKP -sluggard:SLKR:XLKR -sluggers:SLKR:XLKR -slugging:SLKN:XLKN -sluggish:SLKX:XLKX -sluicing:SLSN:XLSN -slumbers:SLMR:XLMR -slumlord:SLML:XLML -slummers:SLMR:XLMR -slumming:SLMN:XLMN -slummock:SLMK:XLMK -slumping:SLMP:XLMP -slurping:SLRP:XLRP -slurries:SLRS:XLRS -slurring:SLRN:XLRN -slushers:SLXR:XLXR -slushier:SLX:XLXR -slushies:SLXS:XLXS -slushily:SLXL:XLXL -sluttery:SLTR:XLTR -sluttish:SLTX:XLTX -smackers:SMKR:XMKR -smacking:SMKN:XMKN -smallage:SMLJ:XMLK -smallers:SMLR:XMLR -smallest:SMLS:XMLS -smallish:SMLX:XMLX -smallpox:SMLP:XMLP -smaltite:SMLT:XMLT -smarmier:SMRM:XMRM -smarmily:SMRM:XMRM -smartens:SMRT:XMRT -smartest:SMRT:XMRT -smarties:SMRT:XMRT -smarting:SMRT:XMRT -smartish:SMRT:XMRT -smashers:SMXR:XMXR -smashing:SMXN:XMXN -smashups:SMXP:XMXP -smearers:SMRR:XMRR -smearier:SMR:XMRR -smearily:SMRL:XMRL -smearing:SMRN:XMRN -smellers:SMLR:XMLR -smellier:SML:XMLR -smelling:SMLN:XMLN -smelters:SMLT:XMLT -smeltery:SMLT:XMLT -smelting:SMLT:XMLT -smidgens:SMJN:XMJN -smidgeon:SMJN:XMJN -smilaxes:SMLK:XMLK -smirched:SMRX:XMRK -smircher:SMRX:XMRK -smirches:SMRX:XMRK -smirkers:SMRK:XMRK -smirking:SMRK:XMRK -smithery:SM0R:XMTR -smithies:SM0S:XMTS -smocking:SMKN:XMKN -smoggier:SMJ:XMKR -smokable:SMKP:XMKP -smokiest:SMKS:XMKS -smolders:SMLT:XMLT -smooched:SMXT:XMKT -smooches:SMXS:XMKS -smoodger:SMJR:XMJR -smoothed:SM0T:XMTT -smoothen:SM0N:XMTN -smoother:SM0R:XMTR -smoothes:SM0S:XMTS -smoothly:SM0L:XMTL -smothers:SM0R:XMTR -smothery:SM0R:XMTR -smoulder:SMLT:XMLT -smudgier:SMJ:XMJR -smudgily:SMJL:XMJL -smudging:SMJN:XMJN -smuggest:SMKS:XMKS -smuggled:SMKL:XMKL -smuggler:SMKL:XMKL -smuggles:SMKL:XMKL -smugness:SMNS:XMKN -smutched:SMXT:XMXT -smutches:SMXS:XMXS -smuttier:SMT:XMTR -smuttily:SMTL:XMTL -smutting:SMTN:XMTN -smyrniot:SMRN:XMRN -snacking:SNKN:XNKN -snaffled:SNFL:XNFL -snaffles:SNFL:XNFL -snagging:SNJN:XNKN -snakiest:SNKS:XNKS -snapback:SNPK:XNPK -snapless:SNPL:XNPL -snappers:SNPR:XNPR -snappier:SNP:XNPR -snappily:SNPL:XNPL -snapping:SNPN:XNPN -snappish:SNPX:XNPX -snapshot:SNPX:XNPX -snarlers:SNRL:XNRL -snarlier:SNRL:XNRL -snarling:SNRL:XNRL -snatched:SNXT:XNXT -snatcher:SNXR:XNXR -snatches:SNXS:XNXS -snazzier:SNS:XNTS -snazzily:SNSL:XNTS -sneakers:SNKR:XNKR -sneakier:SNKR:XNKR -sneakily:SNKL:XNKL -sneaking:SNKN:XNKN -sneerers:SNRR:XNRR -sneerful:SNRF:XNRF -sneering:SNRN:XNRN -sneezers:SNSR:XNSR -sneezier:SNS:XNSR -sneezing:SNSN:XNSN -snibbing:SNPN:XNPN -snickers:SNKR:XNKR -snicking:SNKN:XNKN -sniffers:SNFR:XNFR -sniffier:SNF:XNFR -sniffily:SNFL:XNFL -sniffing:SNFN:XNFN -sniffled:SNFL:XNFL -sniffler:SNFL:XNFL -sniffles:SNFL:XNFL -snifters:SNFT:XNFT -sniggers:SNKR:XNKR -sniggled:SNKL:XNKL -sniggler:SNKL:XNKL -sniggles:SNKL:XNKL -snippers:SNPR:XNPR -snippets:SNPT:XNPT -snippety:SNPT:XNPT -snippier:SNP:XNPR -snippily:SNPL:XNPL -snipping:SNPN:XNPN -snitched:SNXT:XNXT -snitcher:SNXR:XNXR -snitches:SNXS:XNXS -sniveled:SNFL:XNFL -sniveler:SNFL:XNFL -snivelly:SNFL:XNFL -snobbery:SNPR:XNPR -snobbier:SNP:XNPR -snobbish:SNPX:XNPX -snobbism:SNPS:XNPS -snookers:SNKR:XNKR -snoopers:SNPR:XNPR -snoopier:SNP:XNPR -snooping:SNPN:XNPN -snootier:SNT:XNTR -snootily:SNTL:XNTL -snoozers:SNSR:XNSR -snoozing:SNSN:XNSN -snorkels:SNRK:XNRK -snorters:SNRT:XNRT -snorting:SNRT:XNRT -snottier:SNT:XNTR -snotties:SNTS:XNTS -snottily:SNTL:XNTL -snowball:SNPL:XNPL -snowbelt:SNPL:XNPL -snowbird:SNPR:XNPR -snowdrop:SNTR:XNTR -snowfall:SNFL:XNFL -snowiest:SNST:XNST -snowpack:SNPK:XNPK -snowplow:SNPL:XNPL -snowshed:SNXT:XNXT -snowsher:SNXR:XNXR -snowshoe:SNX:XNX -snowsuit:SNST:XNST -snubbers:SNPR:XNPR -snubbing:SNPN:XNPN -snuffbox:SNFP:XNFP -snuffers:SNFR:XNFR -snuffier:SNF:XNFR -snuffily:SNFL:XNFL -snuffing:SNFN:XNFN -snuffled:SNFL:XNFL -snuffler:SNFL:XNFL -snuffles:SNFL:XNFL -snuggery:SNKR:XNKR -snuggest:SNKS:XNKS -snugging:SNKN:XNKN -snuggled:SNKL:XNKL -snuggles:SNKL:XNKL -snugness:SNNS:XNKN -soakaway:SK:SK -soapiest:SPST:SPST -soapless:SPLS:SPLS -soapsuds:SPST:SPST -soapwort:SPRT:SPRT -soberest:SPRS:SPRS -sobering:SPRN:SPRN -soberise:SPRS:SPRS -sobriety:SPRT:SPRT -sobstuff:SPST:SPST -socageer:SKJR:SKKR -sociable:SSPL:SXPL -sociably:SSPL:SXPL -socially:SSL:SXL -societal:SSTL:SXTL -societas:SSTS:SXTS -socketed:SKTT:SKTT -socrates:SKRT:SKRT -socratic:SKRT:SKRT -sodalite:STLT:STLT -sodality:STLT:STLT -sodamide:STMT:STMT -soddenly:STNL:STNL -sodomies:STMS:STMS -sodomite:STMT:STMT -softball:SFTP:SFTP -softened:SFTN:SFTN -softener:SFTN:SFTN -softness:SFTN:SFTN -software:SFTR:SFTR -softwood:SFTT:SFTT -soggiest:SJST:SKST -soignees:SNS:SKNS -soilless:SLS:SLS -sojourns:SJRN:SHRN -solacers:SLSR:SLSR -solacing:SLSN:SLSN -solander:SLNT:SLNT -solanine:SLNN:SLNN -solarism:SLRS:SLRS -solarium:SLRM:SLRM -solarize:SLRS:SLRS -solation:SLXN:SLXN -solatium:SLTM:SLTM -soldered:SLTR:SLTR -solderer:SLTR:SLTR -soldiers:SLTR:SLTR -soldiery:SLTR:SLTR -solecise:SLSS:SLSS -solecism:SLSS:SLSS -solecist:SLSS:SLSS -soleless:SLLS:SLLS -solemnly:SLMN:SLMN -soleness:SLNS:SLNS -solenoid:SLNT:SLNT -soleuses:SLSS:SLSS -solfeggi:SLFK:SLFK -solicits:SLST:SLST -solidago:SLTK:SLTK -solidary:SLTR:SLTR -solidest:SLTS:SLTS -solidify:SLTF:SLTF -solidity:SLTT:SLTT -solitary:SLTR:SLTR -solitude:SLTT:SLTT -soloists:SLST:SLST -solonetz:SLNT:SLNT -solonian:SLNN:SLNN -solstice:SLST:SLST -solubles:SLPL:SLPL -solution:SLXN:SLXN -solvable:SLFP:SLFP -solvated:SLFT:SLFT -solvates:SLFT:SLFT -solvency:SLFN:SLFN -solvendo:SLFN:SLFN -solvents:SLFN:SLFN -somatist:SMTS:SMTS -somatome:SMTM:SMTM -somberly:SMPR:SMPR -sombrely:SMPR:SMPR -sombrero:SMPR:SMPR -sombrous:SMPR:SMPR -somebody:SMPT:SMPT -somerset:SMRS:SMRS -sometime:SMTM:SMTM -somewhat:SMT:SMT -somewhen:SMN:SMN -somewise:SMS:SMS -somnific:SMNF:SMNF -sonantal:SNNT:SNNT -sonantic:SNNT:SNNT -sondages:SNTJ:SNTK -songbird:SNKP:SNKP -songbook:SNKP:SNKP -songfest:SNKF:SNKF -songlike:SNKL:SNKL -songster:SNKS:SNKS -sonicate:SNKT:SNKT -sonobuoy:SNP:SNP -sonorant:SNRN:SNRN -sonority:SNRT:SNRT -sonorous:SNRS:SNRS -soothers:S0RS:STRS -soothing:S0NK:STNK -soothsay:S0S:STS -sootiest:STST:STST -sophisms:SFSM:SFSM -sophists:SFST:SFST -sopiting:SPTN:SPTN -soporose:SPRS:SPRS -soppiest:SPST:SPST -sopranos:SPRN:SPRN -sorbitan:SRPT:SRPT -sorbitol:SRPT:SRPT -sorcerer:SRSR:SRSR -sordidly:SRTT:SRTT -sorehead:SRHT:SRHT -soreness:SRNS:SRNS -soricine:SRSN:SRSN -sororate:SRRT:SRRT -sorority:SRRT:SRRT -sorption:SRPX:SRPX -sorptive:SRPT:SRPT -sorriest:SRST:SRST -sorrowed:SRT:SRT -sortable:SRTP:SRTP -sortably:SRTP:SRTP -souchong:SXNK:SKNK -souffles:SFLS:SFLS -soughing:SKNK:SKNK -soulless:SLS:SLS -soundbox:SNTP:SNTP -sounders:SNTR:SNTR -soundest:SNTS:SNTS -sounding:SNTN:SNTN -soupcons:SPKN:SPKN -soupiest:SPST:SPST -sourdine:SRTN:SRTN -sourness:SRNS:SRNS -sourpuss:SRPS:SRPS -soutache:STX:STK -southern:S0RN:STRN -southers:S0RS:STRS -southing:S0NK:STNK -southpaw:S0P:STPF -southron:S0RN:STRN -souvenir:SFNR:SFNR -sowbread:SPRT:SPRT -soybeans:SPNS:SPNS -sozzlers:SSLR:SSLR -sozzling:SSLN:SSLN -spacelab:SPSL:SPSL -spaceman:SPSM:SPSM -spacemen:SPSM:SPSM -spacings:SPSN:SPSN -spacious:SPSS:SPXS -spadeful:SPTF:SPTF -spadices:SPTS:SPTS -spadille:SPTL:SPTL -spadixes:SPTK:SPTK -spalling:SPLN:SPLN -spancels:SPNS:SPNS -spandrel:SPNT:SPNT -spangled:SPNK:SPNK -spangles:SPNK:SPNK -spaniard:SPNR:SPNR -spaniels:SPNL:SPNL -spankers:SPNK:SPNK -spanking:SPNK:SPNK -spanners:SPNR:SPNR -spanning:SPNN:SPNN -spansule:SPNS:SPNS -sparable:SPRP:SPRP -spargana:SPRK:SPRK -sparkers:SPRK:SPRK -sparking:SPRK:SPRK -sparkish:SPRK:SPRK -sparkled:SPRK:SPRK -sparkler:SPRK:SPRK -sparkles:SPRK:SPRK -sparkplu:SPRK:SPRK -sparling:SPRL:SPRL -sparrers:SPRR:SPRR -sparring:SPRN:SPRN -sparrows:SPRS:SPRS -sparsely:SPRS:SPRS -sparsest:SPRS:SPRS -sparsity:SPRS:SPRS -spartans:SPRT:SPRT -spastics:SPST:SPST -spathose:SP0S:SPTS -spathous:SP0S:SPTS -spatters:SPTR:SPTR -spatting:SPTN:SPTN -spatular:SPTL:SPTL -spatulas:SPTL:SPTL -spavined:SPFN:SPFN -spawners:SPNR:SPNR -spawning:SPNN:SPNN -speakers:SPKR:SPKR -speaking:SPKN:SPKN -spearers:SPRR:SPRR -spearing:SPRN:SPRN -spearman:SPRM:SPRM -spearmen:SPRM:SPRM -specials:SPSL:SPXL -speciate:SPST:SPXT -specific:SPSF:SPSF -specimen:SPSM:SPSM -specious:SPSS:SPXS -specking:SPKN:SPKN -speckled:SPKL:SPKL -speckles:SPKL:SPKL -specmark:SPKM:SPKM -spectate:SPKT:SPKT -specters:SPKT:SPKT -spectral:SPKT:SPKT -spectrum:SPKT:SPKT -specular:SPKL:SPKL -speculum:SPKL:SPKL -speeches:SPXS:SPKS -speeders:SPTR:SPTR -speedier:SPT:SPTR -speedily:SPTL:SPTL -speeding:SPTN:SPTN -speedups:SPTP:SPTP -speedway:SPT:SPT -spelaean:SPLN:SPLN -spellers:SPLR:SPLR -spelling:SPLN:SPLN -spelters:SPLT:SPLT -spencers:SPNS:SPNS -spenders:SPNT:SPNT -spending:SPNT:SPNT -spermary:SPRM:SPRM -spermine:SPRM:SPRM -spermism:SPRM:SPRM -spermist:SPRM:SPRM -spermium:SPRM:SPRM -spermous:SPRM:SPRM -sphagnum:SFNM:SFKN -spheniod:SFNT:SFNT -sphenion:SFNN:SFNN -sphenoid:SFNT:SFNT -spherics:SFRK:SFRK -spheroid:SFRT:SFRT -spherule:SFRL:SFRL -sphinges:SFNJ:SFNK -sphinxes:SFNK:SFNK -sphygmic:SFKM:SFKM -sphygmus:SFKM:SFKM -spiccato:SPKT:SPKT -spiciest:SPSS:SPXS -spicular:SPKL:SPKL -spicules:SPKL:SPKL -spiculum:SPKL:SPKL -spielers:SPLR:SPLR -spiffier:SPF:SPFR -spiffily:SPFL:SPFL -spigelia:SPJL:SPKL -spikelet:SPKL:SPKL -spikiest:SPKS:SPKS -spillage:SPLJ:SPLK -spilling:SPLN:SPLN -spillway:SPL:SPL -spinales:SPNL:SPNL -spinalis:SPNL:SPNL -spinally:SPNL:SPNL -spindles:SPNT:SPNT -spiniest:SPNS:SPNS -spinifex:SPNF:SPNF -spinners:SPNR:SPNR -spinning:SPNN:SPNN -spinoffs:SPNF:SPNF -spinster:SPNS:SPNS -spiracle:SPRK:SPRK -spiraled:SPRL:SPRL -spirales:SPRL:SPRL -spiralis:SPRL:SPRL -spirally:SPRL:SPRL -spirilla:SPRL:SPRL -spirited:SPRT:SPRT -spiritus:SPRT:SPRT -spirting:SPRT:SPRT -spitball:SPTP:SPTP -spiteful:SPTF:SPTF -spitfire:SPTF:SPTF -spitters:SPTR:SPTR -spitting:SPTN:SPTN -spittoon:SPTN:SPTN -spivvery:SPFR:SPFR -spivvish:SPFX:SPFX -splashed:SPLX:SPLX -splasher:SPLX:SPLX -splashes:SPLX:SPLX -splatter:SPLT:SPLT -splaying:SPLN:SPLN -splendid:SPLN:SPLN -splendor:SPLN:SPLN -splenial:SPLN:SPLN -splenium:SPLN:SPLN -splenius:SPLN:SPLN -splenoid:SPLN:SPLN -splenuli:SPLN:SPLN -splicers:SPLS:SPLS -splicing:SPLS:SPLS -splinted:SPLN:SPLN -splinter:SPLN:SPLN -splitter:SPLT:SPLT -splodged:SPLJ:SPLJ -splodges:SPLJ:SPLJ -splotchy:SPLX:SPLX -splurged:SPLR:SPLR -splurges:SPLR:SPLR -splutter:SPLT:SPLT -spoilage:SPLJ:SPLK -spoilers:SPLR:SPLR -spoiling:SPLN:SPLN -spoliate:SPLT:SPLT -spondaic:SPNT:SPNT -spondees:SPNT:SPNT -spondyle:SPNT:SPNT -spongers:SPNK:SPNJ -spongier:SPNJ:SPNK -spongily:SPNJ:SPNK -sponging:SPNJ:SPNK -sponsion:SPNS:SPNX -sponsors:SPNS:SPNS -spoofers:SPFR:SPFR -spoofing:SPFN:SPFN -spookier:SPKR:SPKR -spookily:SPKL:SPKL -spooking:SPKN:SPKN -spookish:SPKX:SPKX -spooling:SPLN:SPLN -spoonful:SPNF:SPNF -spooning:SPNN:SPNN -sporadic:SPRT:SPRT -sporidia:SPRT:SPRT -sporozoa:SPRS:SPRS -sporrans:SPRN:SPRN -sportful:SPRT:SPRT -sportier:SPRT:SPRT -sportily:SPRT:SPRT -sporting:SPRT:SPRT -sportive:SPRT:SPRT -sporular:SPRL:SPRL -spotless:SPTL:SPTL -spotters:SPTR:SPTR -spottier:SPT:SPTR -spottily:SPTL:SPTL -spotting:SPTN:SPTN -spouters:SPTR:SPTR -spouting:SPTN:SPTN -spragged:SPRK:SPRK -sprained:SPRN:SPRN -spraints:SPRN:SPRN -spratter:SPRT:SPRT -sprawled:SPRL:SPRL -sprawler:SPRL:SPRL -sprayers:SPRR:SPRR -spraying:SPRN:SPRN -spreader:SPRT:SPRT -sprigged:SPRK:SPRK -sprigger:SPRK:SPRK -spriness:SPRN:SPRN -springer:SPRN:SPRN -springes:SPRN:SPRN -sprinkle:SPRN:SPRN -sprinted:SPRN:SPRN -sprinter:SPRN:SPRN -sprocket:SPRK:SPRK -sprouted:SPRT:SPRT -sprucely:SPRS:SPRS -sprucest:SPRS:SPRS -sprucing:SPRS:SPRS -spruiker:SPRK:SPRK -spryness:SPRN:SPRN -spudding:SPTN:SPTN -spuddled:SPTL:SPTL -spuddler:SPTL:SPTL -spuddles:SPTL:SPTL -spumante:SPMN:SPMN -spunkier:SPNK:SPNK -spunkily:SPNK:SPNK -spurious:SPRS:SPRS -spurning:SPRN:SPRN -spurrier:SPR:SPRR -spurring:SPRN:SPRN -spurting:SPRT:SPRT -sputniks:SPTN:SPTN -sputters:SPTR:SPTR -spyglass:SPKL:SPKL -spyholes:SPHL:SPHL -squabble:SKPL:SKPL -squaddie:SKT:SKT -squadron:SKTR:SKTR -squalene:SKLN:SKLN -squalled:SKLT:SKLT -squaller:SKLR:SKLR -squaloid:SKLT:SKLT -squamate:SKMT:SKMT -squamoid:SKMT:SKMT -squamosa:SKMS:SKMS -squamose:SKMS:SKMS -squamous:SKMS:SKMS -squander:SKNT:SKNT -squarely:SKRL:SKRL -squarest:SKRS:SKRS -squaring:SKRN:SKRN -squarish:SKRX:SKRX -squashed:SKXT:SKXT -squasher:SKXR:SKXR -squashes:SKXS:SKXS -squatted:SKTT:SKTT -squatter:SKTR:SKTR -squawked:SKKT:SKKT -squawker:SKKR:SKKR -squeaked:SKKT:SKKT -squeaker:SKKR:SKKR -squealed:SKLT:SKLT -squealer:SKLR:SKLR -squeegee:SKJ:SKK -squeezed:SKST:SKST -squeezer:SKSR:SKSR -squeezes:SKSS:SKSS -squelchy:SKLX:SKLK -squiggle:SKKL:SKKL -squiggly:SKKL:SKKL -squillae:SKL:SKL -squinted:SKNT:SKNT -squinter:SKNT:SKNT -squireen:SKRN:SKRN -squiring:SKRN:SKRN -squirmed:SKRM:SKRM -squirmer:SKRM:SKRM -squirrel:SKRL:SKRL -squirted:SKRT:SKRT -squirter:SKRT:SKRT -squished:SKXT:SKXT -squishes:SKXS:SKXS -stabbers:STPR:STPR -stabbing:STPN:STPN -stabiles:STPL:STPL -stablers:STPL:STPL -stablest:STPL:STPL -stabling:STPL:STPL -staccati:STKT:STKT -staccato:STKT:STKT -stacking:STKN:STKN -staddles:STTL:STTL -stadiums:STTM:STTM -staffers:STFR:STFR -staffing:STFN:STFN -staffman:STFM:STFM -staffmen:STFM:STFM -staggard:STKR:STKR -staggers:STKR:STKR -stagiest:STJS:STKS -stagnant:STNN:STKN -stagnate:STNT:STKN -staidest:STTS:STTS -stainers:STNR:STNR -staining:STNN:STNN -stairway:STR:STR -stakeout:STKT:STKT -stalkers:STLK:STLK -stalkier:STLK:STLK -stalkily:STLK:STLK -stalking:STLK:STLK -stallage:STLJ:STLK -stalling:STLN:STLN -stallion:STLN:STLN -stalwart:STLR:STLR -staminal:STMN:STMN -stammers:STMR:STMR -stampede:STMP:STMP -stampers:STMP:STMP -stamping:STMP:STMP -stanched:STNX:STNK -stancher:STNX:STNK -stanches:STNX:STNK -standard:STNT:STNT -standbys:STNT:STNT -standees:STNT:STNT -standing:STNT:STNT -standish:STNT:STNT -standoff:STNT:STNT -standout:STNT:STNT -stanford:STNF:STNF -stannary:STNR:STNR -stannate:STNT:STNT -stannite:STNT:STNT -stannous:STNS:STNS -stanzaed:STNS:STNS -stanzaic:STNS:STNS -stapedes:STPT:STPT -stapedii:STPT:STPT -staplers:STPL:STPL -stapling:STPL:STPL -starched:STRX:STRK -starcher:STRX:STRK -starches:STRX:STRK -stardust:STRT:STRT -starfish:STRF:STRF -stargaze:STRK:STRK -starkers:STRK:STRK -starkest:STRK:STRK -starless:STRL:STRL -starlets:STRL:STRL -starlike:STRL:STRL -starling:STRL:STRL -starrier:STR:STRR -starrily:STRL:STRL -starring:STRN:STRN -starship:STRX:STRX -starters:STRT:STRT -starting:STRT:STRT -startled:STRT:STRT -startler:STRT:STRT -startles:STRT:STRT -startups:STRT:STRT -starving:STRF:STRF -starwort:STRR:STRR -stashing:STXN:STXN -statable:STTP:STTP -statedly:STTT:STTT -stateway:STT:STT -statical:STTK:STTK -stations:STXN:STXN -statuary:STTR:STTR -statured:STTR:STTR -statures:STTR:STTR -statuses:STTS:STTS -statuted:STTT:STTT -statutes:STTT:STTT -staurion:STRN:STRN -staysail:STSL:STSL -steadied:STTT:STTT -steadier:STT:STTR -steadies:STTS:STTS -steadily:STTL:STTL -steading:STTN:STTN -stealage:STLJ:STLK -stealers:STLR:STLR -stealing:STLN:STLN -stealthy:STL0:STLT -steamers:STMR:STMR -steamier:STM:STMR -steamily:STML:STML -steaming:STMN:STMN -steapsin:STPS:STPS -stearate:STRT:STRT -steatite:STTT:STTT -steatoma:STTM:STTM -steelers:STLR:STLR -steelier:STL:STLR -steeling:STLN:STLN -steenbok:STNP:STNP -steepens:STPN:STPN -steepers:STPR:STPR -steepest:STPS:STPS -steeping:STPN:STPN -steepled:STPL:STPL -steeples:STPL:STPL -steerage:STRJ:STRK -steerers:STRR:STRR -steering:STRN:STRN -steeving:STFN:STFN -stegodon:STKT:STKT -stellate:STLT:STLT -stellify:STLF:STLF -stemhead:STMT:STMT -stemless:STML:STML -stemlike:STML:STML -stemmers:STMR:STMR -stemming:STMN:STMN -stemsons:STMS:STMS -stemware:STMR:STMR -stenches:STNX:STNK -stencils:STNS:STNS -stenguns:STNK:STNK -stenosed:STNS:STNS -stenoses:STNS:STNS -stenosis:STNS:STNS -stenotic:STNT:STNT -stenotpy:STNT:STNT -steppage:STPJ:STPK -steppers:STPR:STPR -stepping:STPN:STPN -stepsons:STPS:STPS -stepwise:STPS:STPS -stercora:STRK:STRK -sterigma:STRK:STRK -sterling:STRL:STRL -sternber:STRN:STRN -sterners:STRN:STRN -sternest:STRN:STRN -sternson:STRN:STRN -sternums:STRN:STRN -sternway:STRN:STRN -steroids:STRT:STRT -stetsons:STTS:STTS -stetting:STTN:STTN -stewards:STRT:STRT -stibnite:STPN:STPN -stickers:STKR:STKR -stickful:STKF:STKF -stickier:STKR:STKR -stickily:STKL:STKL -sticking:STKN:STKN -stickled:STKL:STKL -stickler:STKL:STKL -stickles:STKL:STKL -stickpin:STKP:STKP -stickups:STKP:STKP -stiction:STKX:STKX -stiffens:STFN:STFN -stiffers:STFR:STFR -stiffest:STFS:STFS -stiffish:STFX:STFX -stiflers:STFL:STFL -stifling:STFL:STFL -stigmata:STKM:STKM -stilbene:STLP:STLP -stilbite:STLP:STLP -stilette:STLT:STLT -stiletto:STLT:STLT -stillage:STLJ:STLK -stillers:STLR:STLR -stillest:STLS:STLS -stilling:STLN:STLN -stilting:STLT:STLT -stimulus:STML:STML -stingers:STNK:STNJ -stingier:STNJ:STNK -stingily:STNJ:STNK -stinging:STNJ:STNK -stingray:STNK:STNK -stinkard:STNK:STNK -stinkers:STNK:STNK -stinkier:STNK:STNK -stinking:STNK:STNK -stinters:STNT:STNT -stinting:STNT:STNT -stipends:STPN:STPN -stippled:STPL:STPL -stippler:STPL:STPL -stipples:STPL:STPL -stipular:STPL:STPL -stirrers:STRR:STRR -stirring:STRN:STRN -stirrups:STRP:STRP -stitched:STXT:STXT -stitcher:STXR:STXR -stitches:STXS:STXS -stithies:ST0S:STTS -stockade:STKT:STKT -stockate:STKT:STKT -stockers:STKR:STKR -stockier:STKR:STKR -stockily:STKL:STKL -stocking:STKN:STKN -stockish:STKX:STKX -stockist:STKS:STKS -stockman:STKM:STKM -stockmen:STKM:STKM -stockpot:STKP:STKP -stocktak:STKT:STKT -stodgier:STJ:STJR -stodgily:STJL:STJL -stoicism:STSS:STSS -stolidly:STLT:STLT -stomachs:STMK:STMK -stomachy:STMK:STMK -stomatal:STMT:STMT -stomatic:STMT:STMT -stomodea:STMT:STMT -stomoxys:STMK:STMK -stompers:STMP:STMP -stomping:STMP:STMP -stonable:STNP:STNP -stonefly:STNF:STNF -stoniest:STNS:STNS -stonkers:STNK:STNK -stonking:STNK:STNK -stooging:STJN:STKN -stooking:STKN:STKN -stoopers:STPR:STPR -stooping:STPN:STPN -stopcock:STPK:STPK -stopgaps:STPK:STPK -stopover:STPF:STPF -stoppage:STPJ:STPK -stoppers:STPR:STPR -stopping:STPN:STPN -stoppled:STPL:STPL -stopples:STPL:STPL -storable:STRP:STRP -storages:STRJ:STRK -storeyed:STRT:STRT -stormier:STRM:STRM -stormily:STRM:STRM -storming:STRM:STRM -stoushed:STXT:STXT -stoushes:STXS:STXS -stouters:STTR:STTR -stoutest:STTS:STTS -stoutish:STTX:STTX -stowaway:ST:ST -straddle:STRT:STRT -strafers:STRF:STRF -strafing:STRF:STRF -straggle:STRK:STRK -straggly:STRK:STRK -straight:STRT:STRT -strained:STRN:STRN -strainer:STRN:STRN -straiten:STRT:STRT -straitly:STRT:STRT -stranded:STRN:STRN -stranger:STRN:STRN -strangle:STRN:STRN -strapped:STRP:STRP -strapper:STRP:STRP -strategy:STRT:STRT -stratify:STRT:STRT -stratums:STRT:STRT -strayers:STRR:STRR -straying:STRN:STRN -streaked:STRK:STRK -streaker:STRK:STRK -streamed:STRM:STRM -streamer:STRM:STRM -strength:STRN:STRN -stressed:STRS:STRS -stresses:STRS:STRS -stressor:STRS:STRS -stretchy:STRX:STRX -streusel:STRS:STRS -strewing:STRN:STRN -striatal:STRT:STRT -striated:STRT:STRT -striatum:STRT:STRT -stricken:STRK:STRK -strickle:STRK:STRK -stricter:STRK:STRK -strictly:STRK:STRK -strictum:STRK:STRK -stridden:STRT:STRT -strident:STRT:STRT -striders:STRT:STRT -striding:STRT:STRT -striduli:STRT:STRT -strigose:STRK:STRK -strikers:STRK:STRK -striking:STRK:STRK -stringed:STRN:STRN -stringer:STRN:STRN -stripers:STRP:STRP -stripier:STRP:STRP -striping:STRP:STRP -stripped:STRP:STRP -stripper:STRP:STRP -strivers:STRF:STRF -striving:STRF:STRF -strobila:STRP:STRP -strobile:STRP:STRP -strobili:STRP:STRP -strobing:STRP:STRP -strokers:STRK:STRK -stroking:STRK:STRK -strolled:STRL:STRL -stroller:STRL:STRL -stromata:STRM:STRM -stromuhr:STRM:STRM -stronger:STRN:STRN -strongly:STRN:STRN -strongyl:STRN:STRN -strontia:STRN:STRN -strophes:STRF:STRF -strophic:STRF:STRF -stropped:STRP:STRP -stropper:STRP:STRP -strudels:STRT:STRT -struggle:STRK:STRK -strumaes:STRM:STRM -strummed:STRM:STRM -strummer:STRM:STRM -strumous:STRM:STRM -strumpet:STRM:STRM -strutted:STRT:STRT -strutter:STRT:STRT -stubbier:STP:STPR -stubbily:STPL:STPL -stubbing:STPN:STPN -stubbled:STPL:STPL -stubborn:STPR:STPR -stuccoed:STKT:STKT -stuccoer:STKR:STKR -stuccoes:STKS:STKS -studbook:STTP:STTP -studding:STTN:STTN -students:STTN:STTN -studiers:STTR:STTR -studious:STTS:STTS -studwork:STTR:STTR -studying:STTN:STTN -stuffers:STFR:STFR -stuffier:STF:STFR -stuffily:STFL:STFL -stuffing:STFN:STFN -stultify:STLT:STLT -stumbled:STMP:STMP -stumbler:STMP:STMP -stumbles:STMP:STMP -stumming:STMN:STMN -stumpage:STMP:STMP -stumpers:STMP:STMP -stumpier:STMP:STMP -stumping:STMP:STMP -stunners:STNR:STNR -stunning:STNN:STNN -stunting:STNT:STNT -stuntman:STNT:STNT -stupider:STPT:STPT -stupidly:STPT:STPT -sturdier:STRT:STRT -sturdies:STRT:STRT -sturdily:STRT:STRT -sturgeon:STRJ:STRK -stutters:STTR:STTR -styhlsed:STLS:STLS -stylists:STLS:STLS -stylites:STLT:STLT -stylized:STLS:STLS -stylizer:STLS:STLS -stylizes:STLS:STLS -stylopes:STLP:STLP -styluses:STLS:STLS -stymiing:STMN:STMN -styptics:STPT:STPT -styracin:STRS:STRS -suasible:SSPL:SSPL -subabbot:SPPT:SPPT -subacute:SPKT:SPKT -subagent:SPJN:SPKN -subareas:SPRS:SPRS -subbasal:SPSL:SPSL -subbases:SPSS:SPSS -subbreed:SPRT:SPRT -subcells:SPSL:SPSL -subchief:SPXF:SPKF -subclaim:SPKL:SPKL -subclans:SPKL:SPKL -subclass:SPKL:SPKL -subclerk:SPKL:SPKL -subcutes:SPKT:SPKT -subcutis:SPKT:SPKT -subdepot:SPTP:SPTP -subducts:SPTK:SPTK -subduing:SPTN:SPTN -subdural:SPTR:SPTR -subedits:SPTT:SPTT -subentry:SPNT:SPNT -subepoch:SPPK:SPPK -suberize:SPRS:SPRS -suberose:SPRS:SPRS -subfield:SPFL:SPFL -subfiles:SPFL:SPFL -subfloor:SPFL:SPFL -subfreez:SPFR:SPFR -subgenus:SPJN:SPKN -subgoals:SPKL:SPKL -subgrade:SPKR:SPKR -subgraph:SPKR:SPKR -subgroup:SPKR:SPKR -subheads:SPTS:SPTS -subhuman:SPMN:SPMN -subicula:SPKL:SPKL -subimago:SPMK:SPMK -subindex:SPNT:SPNT -subitems:SPTM:SPTM -subjects:SPJK:SPJK -subjoins:SPJN:SPJN -sublease:SPLS:SPLS -sublimed:SPLM:SPLM -sublimer:SPLM:SPLM -sublimes:SPLM:SPLM -sublimis:SPLM:SPLM -sublists:SPLS:SPLS -sublunar:SPLN:SPLN -submerge:SPMR:SPMR -submerse:SPMR:SPMR -submodes:SPMT:SPMT -subnasal:SPNS:SPNS -suborder:SPRT:SPRT -suborned:SPRN:SPRN -suborner:SPRN:SPRN -suboxide:SPKS:SPKS -subparts:SPPR:SPPR -subphyla:SPFL:SPFL -subplots:SPPL:SPPL -subpoena:SPPN:SPPN -subpolar:SPPL:SPPL -subproof:SPPR:SPPR -subpubic:SPPP:SPPP -subraces:SPRS:SPRS -subrange:SPRN:SPRN -subrogee:SPRJ:SPRK -subrogor:SPRK:SPRK -subrules:SPRL:SPRL -subsales:SPSL:SPSL -subsects:SPSK:SPSK -subserve:SPSR:SPSR -subsided:SPST:SPST -subsider:SPST:SPST -subsides:SPST:SPST -subsists:SPSS:SPSS -subsoils:SPSL:SPSL -subsolar:SPSL:SPSL -subsonic:SPSN:SPSN -subspace:SPSP:SPSP -substage:SPST:SPST -subsumed:SPSM:SPSM -subsumes:SPSM:SPSM -subtasks:SPTS:SPTS -subteens:SPTN:SPTN -subtends:SPTN:SPTN -subtense:SPTN:SPTN -subtilin:SPTL:SPTL -subtitle:SPTT:SPTT -subtlest:SPTL:SPTL -subtlety:SPTL:SPTL -subtopia:SPTP:SPTP -subtopic:SPTP:SPTP -subtotal:SPTT:SPTT -subtract:SPTR:SPTR -subtrees:SPTR:SPTR -subtribe:SPTR:SPTR -subtypes:SPTP:SPTP -subulate:SPLT:SPLT -subunits:SPNT:SPNT -suburban:SPRP:SPRP -suburbed:SPRP:SPRP -suburbia:SPRP:SPRP -subverts:SPFR:SPFR -subviral:SPFR:SPFR -succeeds:SKST:SKST -succinct:SXNK:SXNK -succinic:SXNK:SXNK -succored:SKRT:SKRT -succorer:SKRR:SKRR -succubae:SKP:SKP -succubus:SKPS:SKPS -succumbs:SKMP:SKMP -suchlike:SKLK:SKLK -suckless:SKLS:SKLS -suckling:SKLN:SKLN -suctions:SKXN:SKXN -sudamina:STMN:STMN -sudanese:STNS:STNS -sudation:STXN:STXN -sudatory:STTR:STTR -suddenly:STNL:STNL -sudsiest:STSS:STSS -suffered:SFRT:SFRT -sufferer:SFRR:SFRR -sufficed:SFST:SFST -sufficer:SFSR:SFSR -suffices:SFSS:SFSS -suffixal:SFKS:SFKS -suffixed:SFKS:SFKS -suffixer:SFKS:SFKS -suffixes:SFKS:SFKS -suffrage:SFRJ:SFRK -suffused:SFST:SFST -suffuses:SFSS:SFSS -sugaring:XKRN:SKRN -suggests:SKST:SKST -suicidal:SSTL:SSTL -suicides:SSTS:SSTS -suitable:STPL:STPL -suitably:STPL:STPL -suitcase:STKS:STKS -sukiyaki:SKK:SKK -sulcated:SLKT:SLKT -sulculus:SLKL:SLKL -sulfated:SLFT:SLFT -sulfates:SLFT:SLFT -sulfides:SLFT:SLFT -sulfites:SLFT:SLFT -sulfitic:SLFT:SLFT -sulfonic:SLFN:SLFN -sulfonyl:SLFN:SLFN -sulfured:SLFR:SLFR -sulfuret:SLFR:SLFR -sulfuric:SLFR:SLFR -sulfuryl:SLFR:SLFR -sulindac:SLNT:SLNT -sulkiest:SLKS:SLKS -sullener:SLNR:SLNR -sullenly:SLNL:SLNL -sullying:SLNK:SLNK -sulphate:SLFT:SLFT -sulphide:SLFT:SLFT -sulphite:SLFT:SLFT -sulphone:SLFN:SLFN -sultanas:SLTN:SLTN -sultrier:SLTR:SLTR -sultrily:SLTR:SLTR -sumatran:SMTR:SMTR -summands:SMNT:SMNT -summated:SMTT:SMTT -summered:SMRT:SMRT -summerly:SMRL:SMRL -summings:SMNK:SMNK -summital:SMTL:SMTL -summitry:SMTR:SMTR -summoned:SMNT:SMNT -summoner:SMNR:SMNR -sunbaked:SNPK:SNPK -sunbathe:SNP0:SNPT -sunbeams:SNPM:SNPM -sunburns:SNPR:SNPR -sunburnt:SNPR:SNPR -sunburst:SNPR:SNPR -sundered:SNTR:SNTR -sundials:SNTL:SNTL -sundowns:SNTN:SNTN -sundress:SNTR:SNTR -sundries:SNTR:SNTR -sunglass:SNKL:SNKL -sunlamps:SNLM:SNLM -sunlight:SNLT:SNLT -sunniest:SNST:SNST -sunrises:SNRS:SNRS -sunroofs:SNRF:SNRF -sunshade:SNXT:SNXT -sunshine:SNXN:SNXN -sunshiny:SNXN:SNXN -sunspots:SNSP:SNSP -suntraps:SNTR:SNTR -sunwards:SNRT:SNRT -superadd:SPRT:SPRT -superbly:SPRP:SPRP -superego:SPRK:SPRK -superfix:SPRF:SPRF -superhet:SPRT:SPRT -superior:SPRR:SPRR -superman:SPRM:SPRM -supermen:SPRM:SPRM -supernal:SPRN:SPRN -superset:SPRS:SPRS -supersex:SPRS:SPRS -supertax:SPRT:SPRT -supinate:SPNT:SPNT -supinely:SPNL:SPNL -supplant:SPLN:SPLN -supplers:SPLR:SPLR -supplest:SPLS:SPLS -supplied:SPLT:SPLT -supplier:SPL:SPLR -supplies:SPLS:SPLS -supports:SPRT:SPRT -supposed:SPST:SPST -supposer:SPSR:SPSR -supposes:SPSS:SPSS -suppress:SPRS:SPRS -supremos:SPRM:SPRM -surbased:SRPS:SRPS -surcease:SRSS:SRSS -surcoats:SRKT:SRKT -surefire:SRFR:SRFR -surefoot:SRFT:SRFT -sureness:SRNS:SRNS -sureties:SRTS:SRTS -surfable:SRFP:SRFP -surfaced:SRFS:SRFS -surfacer:SRFS:SRFS -surfaces:SRFS:SRFS -surfboat:SRFP:SRFP -surfeits:SRFT:SRFT -surgeons:SRJN:SRKN -surgical:SRJK:SRKK -suriname:SRNM:SRNM -surliest:SRLS:SRLS -surmised:SRMS:SRMS -surmiser:SRMS:SRMS -surmises:SRMS:SRMS -surmount:SRMN:SRMN -surnamed:SRNM:SRNM -surnamer:SRNM:SRNM -surnames:SRNM:SRNM -surplice:SRPL:SRPL -surprint:SRPR:SRPR -surprise:SRPR:SRPR -surrebut:SRPT:SRPT -surround:SRNT:SRNT -surtaxed:SRTK:SRTK -surtaxes:SRTK:SRTK -surveyed:SRFT:SRFT -surveyor:SRFR:SRFR -survival:SRFF:SRFF -survived:SRFF:SRFF -survives:SRFF:SRFF -survivor:SRFF:SRFF -suspects:SSPK:SSPK -suspends:SSPN:SSPN -suspense:SSPN:SSPN -suspired:SSPR:SSPR -suspires:SSPR:SSPR -sustains:SSTN:SSTN -susurrus:SSRS:SSRS -suturing:STRN:STRN -suzerain:SSRN:SSRN -suzettes:SSTS:SSTS -svedberg:SFTP:SFTP -svelters:SFLT:SFLT -sveltest:SFLT:SFLT -swabbers:SPRS:XPRS -swabbing:SPNK:XPNK -swaddled:STLT:XTLT -swaddles:STLS:XTLS -swaggers:SKRS:XKRS -swallets:SLTS:XLTS -swallows:SLS:XLS -swampier:SMPR:XMPR -swampily:SMPL:XMPL -swamping:SMPN:XMPN -swampish:SMPX:XMPX -swanherd:SNRT:XNRT -swankers:SNKR:XNKR -swankier:SNKR:XNKR -swanking:SNKN:XNKN -swanlike:SNLK:XNLK -swannery:SNR:XNR -swanning:SNNK:XNNK -swanskin:SNSK:XNSK -swappers:SPRS:XPRS -swapping:SPNK:XPNK -swarming:SRMN:XRMN -swashing:SXNK:XXNK -swastika:SSTK:XSTK -swatches:SXS:XXS -swathing:S0NK:XTNK -swatters:STRS:XTRS -swatting:STNK:XTNK -swayable:SPL:XPL -swayback:SPK:XPK -swearers:SRRS:XRRS -swearing:SRNK:XRNK -sweatbox:STPK:XTPK -sweaters:STRS:XTRS -sweatier:STR:XTR -sweatily:STL:XTL -sweating:STNK:XTNK -sweeneys:SNS:XNS -sweenies:SNS:XNS -sweepers:SPRS:XPRS -sweeping:SPNK:XPNK -sweetens:STNS:XTNS -sweeters:STRS:XTRS -sweetest:STST:XTST -sweeties:STS:XTS -sweeting:STNK:XTNK -sweetish:STX:XTX -sweetsop:STSP:XTSP -swellers:SLRS:XLRS -swellest:SLST:XLST -swelling:SLNK:XLNK -swelters:SLTR:XLTR -swerving:SRFN:XRFN -swiftest:SFTS:XFTS -swiftian:SFXN:XFXN -swiftlet:SFTL:XFTL -swigging:SKNK:XKNK -swillers:SLRS:XLRS -swilling:SLNK:XLNK -swimmers:SMRS:XMRS -swimming:SMNK:XMNK -swimsuit:SMST:XMST -swindled:SNTL:XNTL -swindler:SNTL:XNTL -swindles:SNTL:XNTL -swinepox:SNPK:XNPK -swingers:SNKR:XNJR -swinging:SNJN:XNKN -swingled:SNKL:XNKL -swingles:SNKL:XNKL -swinneys:SNS:XNS -swirling:SRLN:XRLN -swishing:SXNK:XXNK -switched:SXT:XXT -switcher:SXR:XXR -switches:SXS:XXS -swiveled:SFLT:XFLT -swobbing:SPNK:XPNK -swooning:SNNK:XNNK -swooping:SPNK:XPNK -swoppers:SPRS:XPRS -swopping:SPNK:XPNK -swotters:STRS:XTRS -swotting:STNK:XTNK -sybarite:SPRT:SPRT -sycamore:SKMR:SKMR -syconium:SKNM:SKNM -sydenham:STNM:STNM -syenitic:SNTK:SNTK -syllabic:SLPK:SLPK -syllable:SLPL:SLPL -syllabub:SLPP:SLPP -syllabus:SLPS:SLPS -sylvatic:SLFT:SLFT -symbiont:SMPN:SMPN -symbiote:SMPT:SMPT -symbolic:SMPL:SMPL -symmelus:SMLS:SMLS -symmetry:SMTR:SMTR -sympathy:SMP0:SMPT -symphile:SMFL:SMFL -symphony:SMFN:SMFN -symplasm:SMPL:SMPL -symplast:SMPL:SMPL -sympodia:SMPT:SMPT -symposia:SMPS:SMPX -symptoms:SMPT:SMPT -synanche:SNNX:SNNK -synapsed:SNPS:SNPS -synapses:SNPS:SNPS -synapsis:SNPS:SNPS -synaptic:SNPT:SNPT -synarchy:SNRX:SNRK -synching:SNXN:SNKN -synchros:SNXR:SNKR -syncline:SNKL:SNKL -syncopal:SNKP:SNKP -syncopes:SNKP:SNKP -syncopic:SNKP:SNKP -syncytia:SNSX:SNSX -syndacty:SNTK:SNTK -syndesis:SNTS:SNTS -syndetic:SNTT:SNTT -syndeton:SNTT:SNTT -syndical:SNTK:SNTK -syndrome:SNTR:SNTR -synechia:SNK:SNK -synergia:SNRJ:SNRK -synergic:SNRJ:SNRK -synfuels:SNFL:SNFL -syngamus:SNKM:SNKM -synonyms:SNNM:SNNM -synonymy:SNNM:SNNM -synopses:SNPS:SNPS -synopsis:SNPS:SNPS -synoptic:SNPT:SNPT -synovial:SNFL:SNFL -syntagma:SNTK:SNTK -syntaxes:SNTK:SNTK -syntaxis:SNTK:SNTK -synthase:SN0S:SNTS -syntonic:SNTN:SNTN -syntropy:SNTR:SNTR -syphacia:SFS:SFX -syphered:SFRT:SFRT -syphilid:SFLT:SFLT -syphilis:SFLS:SFLS -syphoned:SFNT:SFNT -syracuse:SRKS:SRKS -syringed:SRNJ:SRNK -syringes:SRNJ:SRNK -syrinxes:SRNK:SRNK -systemic:SSTM:SSTM -systoles:SSTL:SSTL -systolic:SSTL:SSTL -syzygial:SSJL:SSKL -syzygies:SSJS:SSKS -tabellae:TPL:TPL -tableaus:TPLS:TPLS -tableaux:TPL:TPL -tableful:TPLF:TPLF -tabletop:TPLT:TPLT -tabloids:TPLT:TPLT -tabooing:TPNK:TPNK -taborers:TPRR:TPRR -taboring:TPRN:TPRN -tabourer:TPRR:TPRR -tabouret:TPRT:TPRT -tabourin:TPRN:TPRN -tabstops:TPST:TPST -tabulate:TPLT:TPLT -tachetic:TXTK:TKTK -tachisme:TXSM:TKSM -tacitely:TSTL:TSTL -taciturn:TSTR:TSTR -tackiest:TKST:TKST -tacklers:TKLR:TKLR -tackless:TKLS:TKLS -tackling:TKLN:TKLN -tacksman:TKSM:TKSM -tacksmen:TKSM:TKSM -taconite:TKNT:TKNT -tactical:TKTK:TKTK -tactless:TKTL:TKTL -tadpoles:TTPL:TTPL -taeniaes:TNS:TNS -taffrail:TFRL:TFRL -tagalogs:TKLK:TKLK -tagalong:TKLN:TKLN -tagatose:TKTS:TKTS -tagboard:TKPR:TKPR -tahitian:THXN:THXN -tailback:TLPK:TLPK -tailbone:TLPN:TLPN -tailcoat:TLKT:TLKT -tailgate:TLKT:TLKT -tailings:TLNK:TLNK -tailless:TLS:TLS -tailored:TLRT:TLRT -tailpipe:TLPP:TLPP -tailrace:TLRS:TLRS -tailskid:TLSK:TLSK -tailspin:TLSP:TLSP -tailwind:TLNT:TLNT -tainting:TNTN:TNTN -takeable:TKPL:TKPL -takeaway:TK:TK -takedown:TKTN:TKTN -takeoffs:TKFS:TKFS -takeouts:TKTS:TKTS -takeover:TKFR:TKFR -takingly:TKNK:TKNK -talalgia:TLLJ:TLLK -talapoin:TLPN:TLPN -talebear:TLPR:TLPR -talented:TLNT:TLNT -talesman:TLSM:TLSM -talesmen:TLSM:TLSM -talionic:TLNK:TLNK -talionis:TLNS:TLNS -talisman:TLSM:TLSM -talkable:TLKP:TLKP -talkback:TLKP:TLKP -talkiest:TLKS:TLKS -talliage:TLJ:TLK -talliers:TLRS:TLRS -tallness:TLNS:TLNS -tallying:TLNK:TLNK -tallyman:TLMN:TLMN -tallymen:TLMN:TLMN -talmudic:TLMT:TLMT -tamarack:TMRK:TMRK -tamarind:TMRN:TMRN -tamarins:TMRN:TMRN -tamarisk:TMRS:TMRS -tameable:TMPL:TMPL -tameless:TMLS:TMLS -tameness:TMNS:TMNS -tampered:TMPR:TMPR -tamperer:TMPR:TMPR -tampions:TMPN:TMPN -tamponed:TMPN:TMPN -tamworth:TMR0:TMRT -tanagers:TNKR:TNJR -tandoori:TNTR:TNTR -tangelos:TNJL:TNKL -tangency:TNJN:TNKN -tangents:TNJN:TNKN -tangeres:TNKR:TNJR -tangible:TNJP:TNKP -tangibly:TNJP:TNKP -tangiest:TNJS:TNKS -tangling:TNKL:TNLN -tangoing:TNKN:TNKN -tankards:TNKR:TNKR -tankfuls:TNKF:TNKF -tankless:TNKL:TNKL -tannable:TNPL:TNPL -tantalic:TNTL:TNTL -tantalum:TNTL:TNTL -tantalus:TNTL:TNTL -tantieme:TNTM:TNTM -tantrums:TNTR:TNTR -tanzania:TNSN:TNSN -tapadera:TPTR:TPTR -tapeless:TPLS:TPLS -tapering:TPRN:TPRN -tapestry:TPST:TPST -tapeworm:TPRM:TPRM -tapholes:TFLS:TFLS -tapiroid:TPRT:TPRT -tappable:TPPL:TPPL -taprooms:TPRM:TPRM -taproots:TPRT:TPRT -tapsters:TPST:TPST -tarafern:TRFR:TRFR -tarakihi:TRKH:TRKH -tarboosh:TRPX:TRPX -tardiest:TRTS:TRTS -targeted:TRKT:TRKT -tarlatan:TRLT:TRLT -tarpaper:TRPP:TRPP -tarragon:TRKN:TRKN -tarriers:TRRS:TRRS -tarriest:TRST:TRST -tarrying:TRNK:TRNK -tarsalia:TRSL:TRSL -tarsitis:TRST:TRST -tartaned:TRTN:TRTN -tartares:TRTR:TRTR -tartaric:TRTR:TRTR -tartlets:TRTL:TRTL -tartness:TRTN:TRTN -tartrate:TRTR:TRTR -tartuffe:TRTF:TRTF -tarwhine:TRN:TRN -taskless:TSKL:TSKL -taskwork:TSKR:TSKR -tasmania:TSMN:TSMN -tasseled:TSLT:TSLT -tastable:TSTP:TSTP -tasteful:TSTF:TSTF -tastiest:TSTS:TSTS -tattered:TTRT:TTRT -tattiest:TTST:TTST -tattlers:TTLR:TTLR -tattling:TTLN:TTLN -tattooed:TTT:TTT -tattooer:TTR:TTR -taunters:TNTR:TNTR -taunting:TNTN:TNTN -tauruses:TRSS:TRSS -tautened:TTNT:TTNT -tautness:TTNS:TTNS -tautomer:TTMR:TTMR -tautonym:TTNM:TTNM -tavernas:TFRN:TFRN -taverner:TFRN:TFRN -tawdrier:TTRR:TTRR -tawdrily:TTRL:TTRL -tawniest:TNST:TNST -taxation:TKSX:TKSX -taxicabs:TKSK:TKSK -taxingly:TKSN:TKSN -taxonomy:TKSN:TKSN -taxpayer:TKSP:TKSP -tayberry:TPR:TPR -teabread:TPRT:TPRT -teacakes:TKKS:TKKS -teachers:TXRS:TKRS -teaching:TXNK:TKNK -teahouse:THS:THS -teammate:TMT:TMT -teamster:TMST:TMST -teamwork:TMRK:TMRK -tearable:TRPL:TRPL -tearaway:TR:TR -teardrop:TRTR:TRTR -teariest:TRST:TRST -tearless:TRLS:TRLS -tearooms:TRMS:TRMS -teaseled:TSLT:TSLT -teaseler:TSLR:TSLR -teashops:TXPS:TXPS -teaspoon:TSPN:TSPN -teazeled:TSLT:TSLT -technics:TKNK:TKNK -technion:TKNN:TKNN -tectonic:TKTN:TKTN -tectoria:TKTR:TKTR -teejoint:TJNT:THNT -teenaged:TNJT:TNKT -teenager:TNKR:TNJR -teeniest:TNST:TNST -teetered:TTRT:TTRT -teething:T0NK:TTNK -teetotal:TTTL:TTTL -teetotum:TTTM:TTTM -tegmenta:TKMN:TKMN -tegminal:TKMN:TKMN -tegument:TKMN:TKMN -tektites:TKTT:TKTT -telalgia:TLLJ:TLLK -telecast:TLKS:TLKS -telecine:TLSN:TLSN -telegony:TLKN:TLKN -telegram:TLKR:TLKR -telemark:TLMR:TLMR -telepath:TLP0:TLPT -teleplay:TLPL:TLPL -teleport:TLPR:TLPR -teletext:TLTK:TLTK -telethon:TL0N:TLTN -teletype:TLTP:TLTP -teleview:TLF:TLFF -televise:TLFS:TLFS -telexing:TLKS:TLKS -tellable:TLPL:TLPL -telltale:TLTL:TLTL -telluric:TLRK:TLRK -telomere:TLMR:TLMR -telphers:TLFR:TLFR -temerity:TMRT:TMRT -temperas:TMPR:TMPR -tempered:TMPR:TMPR -temperer:TMPR:TMPR -tempests:TMPS:TMPS -template:TMPL:TMPL -templets:TMPL:TMPL -temporal:TMPR:TMPR -tempters:TMPT:TMPT -tempting:TMPT:TMPT -tenacity:TNST:TNST -tenacula:TNKL:TNKL -tenaille:TNL:TNL -tenantry:TNNT:TNNT -tendency:TNTN:TNTN -tendered:TNTR:TNTR -tenderer:TNTR:TNTR -tenderly:TNTR:TNTR -tendinea:TNTN:TNTN -tendines:TNTN:TNTN -tendinis:TNTN:TNTN -tendrils:TNTR:TNTR -tenement:TNMN:TNMN -tenendas:TNNT:TNNT -tenendum:TNNT:TNNT -tenentes:TNNT:TNNT -tenesmic:TNSM:TNSM -tenesmus:TNSM:TNSM -teniasis:TNSS:TNSS -tennyson:TNSN:TNSN -tenorite:TNRT:TNRT -tenotome:TNTM:TNTM -tenotomy:TNTM:TNTM -tensible:TNSP:TNSP -tensibly:TNSP:TNSP -tensiley:TNSL:TNSL -tensions:TNSN:TNXN -tentacle:TNTK:TNTK -tentoria:TNTR:TNTR -tenurial:TNRL:TNRL -tepefied:TPFT:TPFT -tepefies:TPFS:TPFS -tephrite:TFRT:TFRT -tepidity:TPTT:TPTT -tequilas:TKLS:TKLS -terabyte:TRPT:TRPT -teraglin:TRKL:TRLN -teratism:TRTS:TRTS -teratoid:TRTT:TRTT -teratoma:TRTM:TRTM -terebene:TRPN:TRPN -teriyaki:TRK:TRK -terminal:TRMN:TRMN -terminer:TRMN:TRMN -terminus:TRMN:TRMN -termites:TRMT:TRMT -termitic:TRMT:TRMT -termless:TRML:TRML -termwise:TRMS:TRMS -terpenic:TRPN:TRPN -terpinol:TRPN:TRPN -terraced:TRST:TRST -terraces:TRSS:TRSS -terrains:TRNS:TRNS -terrapin:TRPN:TRPN -terraria:TRR:TRR -terrazzo:TRS:TRTS -terrible:TRPL:TRPL -terribly:TRPL:TRPL -terriers:TRRS:TRRS -terrific:TRFK:TRFK -terrines:TRNS:TRNS -terrorem:TRRM:TRRM -tertiary:TRXR:TRXR -terylene:TRLN:TRLN -terzetto:TRST:TRST -tesserae:TSR:TSR -tesseral:TSRL:TSRL -testable:TSTP:TSTP -testamur:TSTM:TSTM -testandi:TSTN:TSTN -testator:TSTT:TSTT -testatum:TSTT:TSTT -testicle:TSTK:TSTK -testiest:TSTS:TSTS -testings:TSTN:TSTN -tetanies:TTNS:TTNS -tetanism:TTNS:TTNS -tetanize:TTNS:TTNS -tetanode:TTNT:TTNT -tetanoid:TTNT:TTNT -tetchier:TX:TXR -tetchily:TXL:TXL -tethered:T0RT:TTRT -tetracid:TTRS:TTRS -tetradic:TTRT:TTRT -tetragon:TTRK:TTRK -tetrapod:TTRP:TTRP -tetrapus:TTRP:TTRP -tetrarch:TTRR:TTRR -tetrodes:TTRT:TTRT -teutonic:TTNK:TTNK -textbook:TKST:TKST -textiles:TKST:TKST -textless:TKST:TKST -textuary:TKST:TKST -textural:TKST:TKST -textured:TKST:TKST -textures:TKST:TKST -thailand:0LNT:TLNT -thalamic:0LMK:TLMK -thalamus:0LMS:TLMS -thallium:0LM:TLM -thalloid:0LT:TLT -thallous:0LS:TLS -thamuria:TMR:TMR -thanadar:0NTR:TNTR -thanatos:0NTS:TNTS -thankers:0NKR:TNKR -thankful:0NKF:TNKF -thanking:0NKN:TNKN -thankyou:0NK:TNK -thatched:0XT:TXT -thatcher:0XR:TXR -thatches:0XS:TXS -thawless:0LS:TLS -theaters:0TRS:TTRS -thebaine:0PN:TPN -thecitis:0STS:TSTS -thecomas:0KMS:TKMS -theistic:0STK:TSTK -thelazia:0LS:TLS -thelitis:0LTS:TLTS -thematic:0MTK:TMTK -theocrat:0KRT:TKRT -theodicy:0TS:TTS -theodore:0TR:TTR -theology:0LJ:TLK -theonomy:0NM:TNM -theorems:0RMS:TRMS -theories:0RS:TRS -theorist:0RST:TRST -theorize:0RS:TRS -therapia:0RP:TRP -therefor:0RFR:TRFR -thereout:0RT:TRT -theriaca:0RK:TRK -therioma:0RM:TRM -thermion:0RMN:TRMN -thermite:0RMT:TRMT -theropod:0RPT:TRPT -thesauri:0SR:TSR -thespian:0SPN:TSPN -thewless:0LS:TLS -thiamine:0MN:TMN -thiazide:0ST:TST -thiazine:0SN:TSN -thiazole:0SL:TSL -thickens:0KNS:TKNS -thickest:0KST:TKST -thickets:0KTS:TKTS -thickish:0KX:TKX -thickset:0KST:TKST -thievery:0FR:TFR -thieving:0FNK:TFNK -thievish:0FX:TFX -thimbles:0MPL:TMPL -thinkers:0NKR:TNKR -thinking:0NKN:TNKN -thinners:0NRS:TNRS -thinness:0NS:TNS -thinnest:0NST:TNST -thinning:0NNK:TNNK -thioacid:0ST:TST -thionate:0NT:TNT -thionine:0NN:TNN -thiotepa:0TP:TTP -thiourea:0R:TR -thirsted:0RST:TRST -thirster:0RST:TRST -thirteen:0RTN:TRTN -thirties:0RTS:TRTS -thistles:0STL:TSTL -tholepin:0LPN:TLPN -thompson:TMPS:TMPS -thonging:0NJN:TNKN -thoraces:0RSS:TRSS -thoracic:0RSK:TRSK -thoraxes:0RKS:TRKS -thornier:0RN:TRNR -thornily:0RNL:TRNL -thorough:0RF:TRF -thoughts:0TS:TTS -thousand:0SNT:TSNT -thraldom:0RLT:TRLT -thralled:0RLT:TRLT -thrashed:0RXT:TRXT -thrasher:0RXR:TRXR -thrashes:0RXS:TRXS -threaded:0RTT:TRTT -threader:0RTR:TRTR -threaten:0RTN:TRTN -threnody:0RNT:TRNT -threshed:0RXT:TRXT -thresher:0RXR:TRXR -threshes:0RXS:TRXS -thrilled:0RLT:TRLT -thriller:0RLR:TRLR -thrivers:0RFR:TRFR -thriving:0RFN:TRFN -throated:0RTT:TRTT -throbbed:0RPT:TRPT -thrombin:0RMP:TRMP -thrombon:0RMP:TRMP -thrombus:0RMP:TRMP -thronged:0RNJ:TRNK -throning:0RNN:TRNN -throstle:0RST:TRST -throttle:0RTL:TRTL -throwers:0RRS:TRRS -throwing:0RNK:TRNK -thrummed:0RMT:TRMT -thrushes:0RXS:TRXS -thrusted:0RST:TRST -thruster:0RST:TRST -thrustor:0RST:TRST -thruways:0RS:TRS -thudding:0TNK:TTNK -thuggees:0KS:TKS -thuggery:0KR:TKR -thuggish:0KX:TKX -thumbing:0MPN:TMPN -thumbnut:0MPN:TMPN -thumpers:0MPR:TMPR -thumping:0MPN:TMPN -thunders:0NTR:TNTR -thundery:0NTR:TNTR -thurible:0RPL:TRPL -thurifer:0RFR:TRFR -thursday:0RST:TRST -thwacked:0KT:TKT -thwacker:0KR:TKR -thwarted:0RTT:TRTT -thwarter:0RTR:TRTR -thymitis:0MTS:TMTS -thymomas:0MMS:TMMS -thymuses:0MSS:TMSS -thyroids:0RTS:TRTS -thyroxin:0RKS:TRKS -tibetans:TPTN:TPTN -tibiales:TPLS:TPLS -tibialis:TPLS:TPLS -ticketed:TKTT:TKTT -ticklers:TKLR:TKLR -tickling:TKLN:TKLN -ticklish:TKLX:TKLX -ticktack:TKTK:TKTK -ticktock:TKTK:TKTK -tiddlers:TTLR:TTLR -tideland:TTLN:TTLN -tideless:TTLS:TTLS -tidelike:TTLK:TTLK -tidemark:TTMR:TTMR -tidiness:TTNS:TTNS -tiebacks:TPKS:TPKS -tientsin:TNTS:TNTS -tigereye:TJR:TKR -tigerish:TJRX:TKRX -tightens:TTNS:TTNS -tightest:TTST:TTST -tightwad:TTT:TTT -tilefish:TLFX:TLFX -tillable:TLPL:TLPL -tillered:TLRT:TLRT -tiltyard:TLTR:TLTR -timbales:TMPL:TMPL -timbered:TMPR:TMPR -timecard:TMKR:TMKR -timekeep:TMKP:TMKP -timeless:TMLS:TMLS -timelier:TML:TMLR -timeouts:TMTS:TMTS -timework:TMRK:TMRK -timeworn:TMRN:TMRN -timidest:TMTS:TMTS -timidity:TMTT:TMTT -timorous:TMRS:TMRS -tinction:TNKX:TNKX -tincture:TNKT:TNKT -tingeing:TNJN:TNKN -tinglers:TNKL:TNKL -tingling:TNKL:TNLN -tininess:TNNS:TNNS -tinkered:TNKR:TNKR -tinkerer:TNKR:TNKR -tinklers:TNKL:TNKL -tinkling:TNKL:TNKL -tinniest:TNST:TNST -tinnitus:TNTS:TNTS -tinseled:TNSL:TNSL -tinselly:TNSL:TNSL -tinsmith:TNSM:TNSM -tintless:TNTL:TNTL -tintypes:TNTP:TNTP -tinworks:TNRK:TNRK -tipplers:TPLR:TPLR -tippling:TPLN:TPLN -tipsiest:TPSS:TPSS -tipstaff:TPST:TPST -tipsters:TPST:TPST -tiptoing:TPTN:TPTN -tireless:TRLS:TRLS -tiresome:TRSM:TRSM -tiringly:TRNK:TRNK -tiselius:TSLS:TSLS -tissular:TSLR:TSLR -titanate:TTNT:TTNT -titanium:TTNM:TTNM -titanous:TTNS:TTNS -tithable:T0PL:TTPL -titivate:TTFT:TTFT -titmouse:TTMS:TTMS -titrated:TTRT:TTRT -tittered:TTRT:TTRT -titterer:TTRR:TTRR -tittuppy:TTP:TTP -titulars:TTLR:TTLR -titulary:TTLR:TTLR -toadflax:TTFL:TTFL -toadying:TTNK:TTNK -toadyism:TTSM:TTSM -toasters:TSTR:TSTR -toasting:TSTN:TSTN -tobaccos:TPKS:TPKS -toboggan:TPKN:TPKN -tobralco:TPRL:TPRL -tobyjugs:TPJK:TPJK -tocology:TKLJ:TKLK -toddlers:TTLR:TTLR -toddling:TTLN:TTLN -toeholds:THLT:THLT -toenails:TNLS:TNLS -together:TK0R:TKTR -toggling:TKLN:TKLN -toiletry:TLTR:TLTR -toilette:TLT:TLT -toilsome:TLSM:TLSM -tokenism:TKNS:TKNS -tokology:TKLJ:TKLK -tokyoite:TKT:TKT -tolerant:TLRN:TLRN -tolerate:TLRT:TLRT -tolidine:TLTN:TLTN -tollable:TLPL:TLPL -tollendi:TLNT:TLNT -tollgate:TLKT:TLKT -tolmetin:TLMT:TLMT -tolonium:TLNM:TLNM -tomahawk:TMHK:TMHK -tomalley:TML:TML -tomatine:TMTN:TMTN -tomatoes:TMTS:TMTS -tomblike:TMPL:TMPL -tombolas:TMPL:TMPL -tombolos:TMPL:TMPL -tomentum:TMNT:TMNT -tommygun:TMKN:TMKN -tommyrot:TMRT:TMRT -tomogram:TMKR:TMKR -tomorrow:TMR:TMRF -tonality:TNLT:TNLT -toneless:TNLS:TNLS -tonguing:TNKN:TNKN -tonicity:TNST:TNST -tonnages:TNJS:TNKS -tonneaus:TNS:TNS -tonogram:TNKR:TNKR -tonsilar:TNSL:TNSL -tonsured:TNSR:TNSR -tonsures:TNSR:TNSR -tontiner:TNTN:TNTN -toolkits:TLKT:TLKT -toolroom:TLRM:TLRM -toolshed:TLXT:TLXT -toolsher:TLXR:TLXR -toothier:T0:TTR -toothily:T0L:TTL -toothing:T0NK:TTNK -tootling:TTLN:TTLN -tootsies:TTSS:TTSS -topalgia:TPLJ:TPLK -topcoats:TPKT:TPKT -topknots:TPKN:TPKN -topmasts:TPMS:TPMS -topnotch:TPNX:TPNX -topology:TPLJ:TPLK -toponomy:TPNM:TPNM -toponymy:TPNM:TPNM -topotype:TPTP:TPTP -toppings:TPNK:TPNK -toppling:TPLN:TPLN -topsails:TPSL:TPSL -topsider:TPST:TPST -topsides:TPST:TPST -topsoils:TPSL:TPSL -torchere:TRXR:TRKR -torchier:TRX:TRKR -torching:TRXN:TRKN -torcular:TRKL:TRKL -toreador:TRTR:TRTR -torments:TRMN:TRMN -tornados:TRNT:TRNT -torpidly:TRPT:TRPT -torquing:TRKN:TRKN -torrents:TRNT:TRNT -torridly:TRTL:TRTL -tortilla:TRTL:TRTL -tortious:TRTS:TRTS -tortoise:TRTS:TRTS -tortuous:TRTS:TRTS -tortured:TRTR:TRTR -torturer:TRTR:TRTR -tortures:TRTR:TRTR -torulaes:TRLS:TRLS -totaling:TTLN:TTLN -totality:TTLT:TTLT -totalize:TTLS:TTLS -totalled:TTLT:TTLT -totaller:TTLR:TTLR -totemism:TTMS:TTMS -tottered:TTRT:TTRT -totterer:TTRR:TTRR -touchers:TXRS:TKRS -toucheur:TXR:TKR -touchier:TX:TKR -touchily:TXL:TKL -touching:TXNK:TKNK -toughens:TFNS:TFNS -toughest:TFST:TFST -toughish:TFX:TFX -tourists:TRST:TRST -touristy:TRST:TRST -tourneys:TRNS:TRNS -tousling:TSLN:TSLN -toweling:TLNK:TLNK -towering:TRNK:TRNK -towheads:TTS:TTS -townhall:TNL:TNL -towniest:TNST:TNST -townless:TNLS:TNLS -township:TNXP:TNXP -townsite:TNST:TNST -townsman:TNSM:TNSM -townsmen:TNSM:TNSM -towpaths:TP0S:TPTS -towropes:TRPS:TRPS -toxaemia:TKSM:TKSM -toxaemic:TKSM:TKSM -toxicant:TKSK:TKSK -toxicity:TKSS:TKSS -toxicoid:TKSK:TKSK -toxified:TKSF:TKSF -toxocara:TKSK:TKSK -tracheae:TRX:TRK -tracheal:TRXL:TRKL -tracheas:TRXS:TRKS -tracheid:TRXT:TRKT -trachoma:TRKM:TRKM -trachyte:TRKT:TRKT -tracings:TRSN:TRSN -trackage:TRKJ:TRKK -trackers:TRKR:TRKR -tracking:TRKN:TRKN -trackman:TRKM:TRKM -trackmen:TRKM:TRKM -trackway:TRK:TRK -tractate:TRKT:TRKT -tractile:TRKT:TRKT -traction:TRKX:TRKX -tractive:TRKT:TRKT -tractors:TRKT:TRKT -tradable:TRTP:TRTP -tradeoff:TRTF:TRTF -traditio:TRTT:TRTT -traditor:TRTT:TRTT -traditur:TRTT:TRTT -traduced:TRTS:TRTS -traducer:TRTS:TRTS -traduces:TRTS:TRTS -traffick:TRFK:TRFK -traffics:TRFK:TRFK -tragical:TRJK:TRKK -tragopan:TRKP:TRKP -trailers:TRLR:TRLR -trailing:TRLN:TRLN -trainees:TRNS:TRNS -trainers:TRNR:TRNR -training:TRNN:TRNN -trainman:TRNM:TRNM -trainmen:TRNM:TRNM -traipsed:TRPS:TRPS -traipses:TRPS:TRPS -traitors:TRTR:TRTR -tramless:TRML:TRML -tramline:TRML:TRML -trammels:TRML:TRML -trammers:TRMR:TRMR -tramming:TRMN:TRMN -trampers:TRMP:TRMP -tramping:TRMP:TRMP -trampish:TRMP:TRMP -trampled:TRMP:TRMP -trampler:TRMP:TRMP -tramples:TRMP:TRMP -tramroad:TRMR:TRMR -tranquil:TRNK:TRNK -transact:TRNS:TRNS -transect:TRNS:TRNS -transept:TRNS:TRNS -transfer:TRNS:TRNS -transfix:TRNS:TRNS -tranship:TRNX:TRNX -transire:TRNS:TRNS -transits:TRNS:TRNS -transitu:TRNS:TRNS -transmit:TRNS:TRNS -transoms:TRNS:TRNS -transude:TRNS:TRNS -trapdoor:TRPT:TRPT -trapezes:TRPS:TRPS -trapezia:TRPS:TRPS -trappers:TRPR:TRPR -trapping:TRPN:TRPN -trappist:TRPS:TRPS -trashier:TRX:TRXR -trashily:TRXL:TRXL -trashing:TRXN:TRXN -traumata:TRMT:TRMT -travails:TRFL:TRFL -traveled:TRFL:TRFL -traveler:TRFL:TRFL -traverse:TRFR:TRFR -travesty:TRFS:TRFS -trawlers:TRLR:TRLR -trawling:TRLN:TRLN -trayfuls:TRFL:TRFL -treacled:TRKL:TRKL -treading:TRTN:TRTN -treadled:TRTL:TRTL -treadler:TRTL:TRTL -treadles:TRTL:TRTL -treasons:TRSN:TRSN -treasure:TRSR:TRSR -treasury:TRSR:TRSR -treaters:TRTR:TRTR -treaties:TRTS:TRTS -treating:TRTN:TRTN -treatise:TRTS:TRTS -trebling:TRPL:TRPL -trecento:TRSN:TRSN -treeless:TRLS:TRLS -treelike:TRLK:TRLK -treenail:TRNL:TRNL -treetops:TRTP:TRTP -trefoils:TRFL:TRFL -trekkers:TRKR:TRKR -trekking:TRKN:TRKN -trembled:TRMP:TRMP -trembler:TRMP:TRMP -trembles:TRMP:TRMP -tremolos:TRML:TRML -trenched:TRNX:TRNK -trencher:TRNX:TRNK -trenches:TRNX:TRNK -trendier:TRNT:TRNT -trendily:TRNT:TRNT -trending:TRNT:TRNT -trephine:TRFN:TRFN -trephone:TRFN:TRFN -trespass:TRSP:TRSP -trestled:TRST:TRST -trestles:TRST:TRST -triadism:TRTS:TRTS -triangle:TRNK:TRNK -triarchy:TRRX:TRRK -triassic:TRSK:TRSK -triatoma:TRTM:TRTM -triaxial:TRKS:TRKS -triazine:TRSN:TRSN -triazole:TRSL:TRSL -tribadic:TRPT:TRPT -tribally:TRPL:TRPL -tribarch:TRPR:TRPR -tribasic:TRPS:TRPS -tribrach:TRPR:TRPR -tribunal:TRPN:TRPN -tribunes:TRPN:TRPN -tributer:TRPT:TRPT -tributes:TRPT:TRPT -tributor:TRPT:TRPT -trichina:TRXN:TRKN -trichion:TRXN:TRKN -trichite:TRXT:TRKT -trichoid:TRXT:TRKT -trichoma:TRXM:TRKM -trichome:TRXM:TRKM -trickers:TRKR:TRKR -trickery:TRKR:TRKR -trickier:TRKR:TRKR -trickily:TRKL:TRKL -tricking:TRKN:TRKN -trickish:TRKX:TRKX -trickled:TRKL:TRKL -trickles:TRKL:TRKL -tricolor:TRKL:TRKL -tricorne:TRKR:TRKR -tricycle:TRSK:TRSK -tridents:TRTN:TRTN -triffids:TRFT:TRFT -triflers:TRFL:TRFL -trifling:TRFL:TRFL -trifocal:TRFK:TRFK -triforia:TRFR:TRFR -triggers:TRKR:TRKR -trigging:TRKN:TRKN -triglyph:TRKL:TRKL -trigonal:TRKN:TRKN -trigonid:TRKN:TRKN -trigonum:TRKN:TRKN -trigraph:TRKR:TRKR -trihedra:TRHT:TRHT -trilbies:TRLP:TRLP -trilemma:TRLM:TRLM -trillers:TRLR:TRLR -trilling:TRLN:TRLN -trillion:TRLN:TRLN -trillium:TRLM:TRLM -trilobed:TRLP:TRLP -trilober:TRLP:TRLP -trimaran:TRMR:TRMR -trimeric:TRMR:TRMR -trimmers:TRMR:TRMR -trimmest:TRMS:TRMS -trimming:TRMN:TRMN -trimness:TRMN:TRMN -trimonth:TRMN:TRMN -trimorph:TRMR:TRMR -trinidad:TRNT:TRNT -trinkets:TRNK:TRNK -triolein:TRLN:TRLN -triolism:TRLS:TRLS -trioxide:TRKS:TRKS -triparae:TRPR:TRPR -triparas:TRPR:TRPR -tripedal:TRPT:TRPT -triplane:TRPL:TRPL -triplets:TRPL:TRPL -tripling:TRPL:TRPL -triploid:TRPL:TRPL -tripodal:TRPT:TRPT -trippers:TRPR:TRPR -trippets:TRPT:TRPT -tripping:TRPN:TRPN -triptane:TRPT:TRPT -triptych:TRPT:TRPT -tripwire:TRPR:TRPR -triradii:TRRT:TRRT -triremes:TRRM:TRRM -trisects:TRSK:TRSK -trisomic:TRSM:TRSM -tristate:TRST:TRST -tristich:TRST:TRST -tritiate:TRXT:TRXT -triticei:TRTS:TRTS -triticum:TRTK:TRTK -tritones:TRTN:TRTN -triumphs:TRMF:TRMF -triumvir:TRMF:TRMF -triunity:TRNT:TRNT -trivalve:TRFL:TRFL -trochaic:TRXK:TRKK -trochees:TRXS:TRKS -trochlea:TRKL:TRKL -trochoid:TRXT:TRKT -trollers:TRLR:TRLR -trolleys:TRLS:TRLS -trollies:TRLS:TRLS -trolling:TRLN:TRLN -trollops:TRLP:TRLP -trollopy:TRLP:TRLP -trombone:TRMP:TRMP -tromping:TRMP:TRMP -troopers:TRPR:TRPR -trooping:TRPN:TRPN -tropeine:TRPN:TRPN -trophema:TRFM:TRFM -trophesy:TRFS:TRFS -trophied:TRFT:TRFT -trophies:TRFS:TRFS -trophism:TRFS:TRFS -tropical:TRPK:TRPK -trotline:TRTL:TRTL -trotters:TRTR:TRTR -trotting:TRTN:TRTN -troubled:TRPL:TRPL -troubler:TRPL:TRPL -troubles:TRPL:TRPL -troughes:TRFS:TRFS -trounced:TRNS:TRNS -trouncer:TRNS:TRNS -trounces:TRNS:TRNS -troupers:TRPR:TRPR -trousers:TRSR:TRSR -troutlet:TRTL:TRTL -troweled:TRLT:TRLT -troweler:TRLR:TRLR -trowsers:TRSR:TRSR -truanted:TRNT:TRNT -truantry:TRNT:TRNT -truckage:TRKJ:TRKK -truckers:TRKR:TRKR -trucking:TRKN:TRKN -truckled:TRKL:TRKL -truckler:TRKL:TRKL -truckles:TRKL:TRKL -truckman:TRKM:TRKM -truckmen:TRKM:TRKM -trudgers:TRJR:TRJR -trudging:TRJN:TRJN -truelove:TRLF:TRLF -trueness:TRNS:TRNS -truffled:TRFL:TRFL -truffles:TRFL:TRFL -trumeaux:TRM:TRM -trumpery:TRMP:TRMP -trumpets:TRMP:TRMP -trumping:TRMP:TRMP -truncate:TRNK:TRNK -trundled:TRNT:TRNT -trundler:TRNT:TRNT -trundles:TRNT:TRNT -trunkful:TRNK:TRNK -trunking:TRNK:TRNK -trunkway:TRNK:TRNK -trunnion:TRNN:TRNN -trussers:TRSR:TRSR -trussing:TRSN:TRSN -trusteed:TRST:TRST -trustees:TRST:TRST -trustent:TRST:TRST -trusters:TRST:TRST -trustful:TRST:TRST -trustier:TRST:TRST -trusties:TRST:TRST -trustify:TRST:TRST -trustily:TRST:TRST -trusting:TRST:TRST -trustman:TRST:TRST -trustmen:TRST:TRST -truthful:TR0F:TRTF -tryingly:TRNK:TRNK -trysails:TRSL:TRSL -trysting:TRST:TRST -tsarinas:TSRN:TSRN -tsarists:TSRS:TSRS -tsunamic:TSNM:TSNM -tsunamis:TSNM:TSNM -tuataras:TTRS:TTRS -tubbable:TPPL:TPPL -tubbiest:TPST:TPST -tubeless:TPLS:TPLS -tubercle:TPRK:TPRK -tuberose:TPRS:TPRS -tuberous:TPRS:TPRS -tubiform:TPFR:TPFR -tubulate:TPLT:TPLT -tubulous:TPLS:TPLS -tuesdays:TSTS:TSTS -tugboats:TKPT:TKPT -tumblers:TMPL:TMPL -tumbling:TMPL:TMPL -tumbrels:TMPR:TMPR -tumbrils:TMPR:TMPR -tumefied:TMFT:TMFT -tumefies:TMFS:TMFS -tumidity:TMTT:TMTT -tumorous:TMRS:TMRS -tumulose:TMLS:TMLS -tumultus:TMLT:TMLT -tuneable:TNPL:TNPL -tuneless:TNLS:TNLS -tungsten:TNKS:TNKS -tungstic:TNKS:TNKS -tunicate:TNKT:TNKT -tunisian:TNSN:TNXN -tunneled:TNLT:TNLT -tunneler:TNLR:TNLR -tuppence:TPNS:TPNS -turbaned:TRPN:TRPN -turbidly:TRPT:TRPT -turbinal:TRPN:TRPN -turbines:TRPN:TRPN -turbocar:TRPK:TRPK -turbofan:TRPF:TRPF -turbojet:TRPJ:TRPJ -turcicae:TRSK:TRSK -turfiest:TRFS:TRFS -turgidly:TRJT:TRKT -turkoman:TRKM:TRKM -turmeric:TRMR:TRMR -turmoils:TRML:TRML -turnable:TRNP:TRNP -turncoat:TRNK:TRNK -turncock:TRNK:TRNK -turndown:TRNT:TRNT -turnings:TRNN:TRNN -turnkeys:TRNK:TRNK -turnoffs:TRNF:TRNF -turnouts:TRNT:TRNT -turnover:TRNF:TRNF -turnpike:TRNP:TRNP -turnsole:TRNS:TRNS -turnspit:TRNS:TRNS -turreted:TRTT:TRTT -turtlers:TRTL:TRTL -turtling:TRTL:TRTL -tusklike:TSKL:TSKL -tussling:TSLN:TSLN -tussocks:TSKS:TSKS -tussocky:TSK:TSK -tutelage:TTLJ:TTLK -tutelary:TTLR:TTLR -tutorage:TTRJ:TTRK -tutorial:TTRL:TTRL -tutoring:TTRN:TTRN -tutrices:TTRS:TTRS -tutrixes:TTRK:TTRK -twaddled:TTLT:TTLT -twaddler:TTLR:TTLR -twaddles:TTLS:TTLS -twangier:TNJR:TNKR -twanging:TNJN:TNKN -tweakers:TKRS:TKRS -tweaking:TKNK:TKNK -tweedier:TTR:TTR -tweenies:TNS:TNS -tweeters:TTRS:TTRS -tweeting:TTNK:TTNK -tweezers:TSRS:TTSR -tweezing:TSNK:TTSN -twelfths:TLF0:TLFT -twenties:TNTS:TNTS -twiddled:TTLT:TTLT -twiddler:TTLR:TTLR -twiddles:TTLS:TTLS -twiggier:TKR:TKR -twigging:TKNK:TKNK -twiglike:TKLK:TKLK -twilight:TLT:TLT -twinborn:TNPR:TNPR -twinging:TNJN:TNKN -twinight:TNT:TNT -twinkled:TNKL:TNKL -twinkler:TNKL:TNKL -twinkles:TNKL:TNKL -twinning:TNNK:TNNK -twinship:TNXP:TNXP -twirlers:TRLR:TRLR -twirling:TRLN:TRLN -twisters:TSTR:TSTR -twisting:TSTN:TSTN -twitched:TXT:TXT -twitcher:TXR:TXR -twitches:TXS:TXS -twitters:TTRS:TTRS -twittery:TTR:TTR -twitting:TTNK:TTNK -twopence:TPNS:TPNS -twopenny:TPN:TPN -twosomes:TSMS:TSMS -tylomata:TLMT:TLMT -tympanal:TMPN:TMPN -tympanic:TMPN:TMPN -tympanum:TMPN:TMPN -typecase:TPKS:TPKS -typecast:TPKS:TPKS -typeface:TPFS:TPFS -typesets:TPST:TPST -typhonic:TFNK:TFNK -typhoons:TFNS:TFNS -typified:TPFT:TPFT -typifier:TPF:TPFR -typifies:TPFS:TPFS -typolite:TPLT:TPLT -typology:TPLJ:TPLK -typonomy:TPNM:TPNM -tyramine:TRMN:TRMN -tyrannic:TRNK:TRNK -tyrannis:TRNS:TRNS -tyranous:TRNS:TRNS -tyrolean:TRLN:TRLN -tyrolese:TRLS:TRLS -tyrosine:TRSN:TRSN -tyrrhene:TRN:TRN -tzarinas:TSRN:TSRN -uberrima:APRM:APRM -uberties:APRT:APRT -ubieties:APTS:APTS -ubiquity:APKT:APKT -udometry:ATMT:ATMT -ugandans:AKNT:AKNT -ugaritic:AKRT:AKRT -uglified:AKLF:ALFT -uglifier:AKLF:ALFR -uglifies:AKLF:ALFS -ugliness:AKLN:ALNS -ukeleles:AKLL:AKLL -ukuleles:AKLL:AKLL -ulcerate:ALSR:ALSR -ulcering:ALSR:ALSR -ulcerous:ALSR:ALSR -ulegyria:ALJR:ALKR -ulosises:ALSS:ALSS -ulterior:ALTR:ALTR -ultimacy:ALTM:ALTM -ultimata:ALTM:ALTM -ultimate:ALTM:ALTM -ultraism:ALTR:ALTR -ultraist:ALTR:ALTR -ululated:ALLT:ALLT -ululates:ALLT:ALLT -umbering:AMRN:AMRN -umbilici:AMPL:AMPL -umbonate:AMPN:AMPN -umbrella:AMPR:AMPR -umlauted:AMLT:AMLT -umpirage:AMPR:AMPR -umpiring:AMPR:AMPR -unabated:ANPT:ANPT -unabsorb:ANPS:ANPS -unaccent:ANXN:ANXN -unaccept:ANXP:ANXP -unadjust:ANTJ:ANTJ -unaffect:ANFK:ANFK -unafraid:ANFR:ANFR -unageing:ANJN:ANKN -unallied:ANLT:ANLT -unamused:ANMS:ANMS -unanchor:ANNX:ANNK -unanswer:ANNS:ANNS -unappeal:ANPL:ANPL -unarrest:ANRS:ANRS -unartful:ANRT:ANRT -unassent:ANSN:ANSN -unassess:ANSS:ANSS -unassign:ANSN:ANSK -unassist:ANSS:ANSS -unassort:ANSR:ANSR -unatoned:ANTN:ANTN -unattach:ANTK:ANTK -unattend:ANTN:ANTN -unattest:ANTS:ANTS -unavenge:ANFN:ANFN -unavowed:ANFT:ANFT -unawaked:ANKT:ANKT -unawaken:ANKN:ANKN -unawares:ANRS:ANRS -unbacked:ANPK:ANPK -unbarred:ANPR:ANPR -unbeaten:ANPT:ANPT -unbelief:ANPL:ANPL -unbelted:ANPL:ANPL -unbiased:ANPS:ANPS -unbidden:ANPT:ANPT -unblamed:ANPL:ANPL -unbleach:ANPL:ANPL -unblocks:ANPL:ANPL -unbodied:ANPT:ANPT -unbolted:ANPL:ANPL -unbosoms:ANPS:ANPS -unbraced:ANPR:ANPR -unbraces:ANPR:ANPR -unbribed:ANPR:ANPR -unbroken:ANPR:ANPR -unbuckle:ANPK:ANPK -unbudget:ANPJ:ANPJ -unbundle:ANPN:ANPN -unburden:ANPR:ANPR -unburied:ANPR:ANPR -unburned:ANPR:ANPR -unbutton:ANPT:ANPT -uncalled:ANKL:ANKL -uncancel:ANKN:ANKN -uncapped:ANKP:ANKP -uncaring:ANKR:ANKR -uncarpet:ANKR:ANKR -uncashed:ANKX:ANKX -uncaught:ANKF:ANKF -uncaused:ANKS:ANKS -uncensor:ANSN:ANSN -unchains:ANXN:ANKN -unchange:ANXN:ANKN -uncharge:ANXR:ANKR -unchaste:ANXS:ANKS -unchosen:ANXS:ANKS -unchurch:ANXR:ANKR -unciform:ANSF:ANSF -uncinata:ANSN:ANSN -uncinate:ANSN:ANSN -unclasps:ANKL:ANKL -unclench:ANKL:ANKL -uncloaks:ANKL:ANKL -unclosed:ANKL:ANKL -uncloses:ANKL:ANKL -unclothe:ANKL:ANKL -uncoiled:ANKL:ANKL -uncoined:ANKN:ANKN -uncombed:ANKM:ANKM -uncommon:ANKM:ANKM -uncomply:ANKM:ANKM -unconsol:ANKN:ANKN -uncooked:ANKK:ANKK -uncooled:ANKL:ANKL -uncorked:ANKR:ANKR -uncouple:ANKP:ANKP -uncovers:ANKF:ANKF -uncrated:ANKR:ANKR -uncrates:ANKR:ANKR -uncredit:ANKR:ANKR -unctions:ANKX:ANKX -unctuous:ANKT:ANKT -uncumber:ANKM:ANKM -uncurbed:ANKR:ANKR -uncurled:ANKR:ANKR -uncustom:ANKS:ANKS -undamage:ANTM:ANTM -undamped:ANTM:ANTM -undecide:ANTS:ANTS -undecked:ANTK:ANTK -undefend:ANTF:ANTF -undefile:ANTF:ANTF -undefine:ANTF:ANTF -undelete:ANTL:ANTL -undemand:ANTM:ANTM -undenied:ANTN:ANTN -underact:ANTR:ANTR -underage:ANTR:ANTR -underarm:ANTR:ANTR -underate:ANTR:ANTR -underbel:ANTR:ANTR -underbid:ANTR:ANTR -underbuy:ANTR:ANTR -undercut:ANTR:ANTR -underdid:ANTR:ANTR -underdog:ANTR:ANTR -undereat:ANTR:ANTR -underfed:ANTR:ANTR -underfur:ANTR:ANTR -undergos:ANTR:ANTR -underlay:ANTR:ANTR -underlet:ANTR:ANTR -underlie:ANTR:ANTR -underlip:ANTR:ANTR -underpay:ANTR:ANTR -underpin:ANTR:ANTR -underran:ANTR:ANTR -underrun:ANTR:ANTR -undersea:ANTR:ANTR -underset:ANTR:ANTR -undersex:ANTR:ANTR -undertoe:ANTR:ANTR -undertow:ANTR:ANTR -underway:ANTR:ANTR -undesign:ANTS:ANTS -undesire:ANTS:ANTS -undetach:ANTT:ANTT -undetect:ANTT:ANTT -undigest:ANTJ:ANTK -undilute:ANTL:ANTL -undimmed:ANTM:ANTM -undirect:ANTR:ANTR -undismay:ANTS:ANTS -undivide:ANTF:ANTF -undoings:ANTN:ANTN -undraped:ANTR:ANTR -undrapes:ANTR:ANTR -undreamt:ANTR:ANTR -undulant:ANTL:ANTL -undulate:ANTL:ANTL -unearned:ANRN:ANRN -unearths:ANR0:ANRT -uneasily:ANSL:ANSL -unedible:ANTP:ANTP -unedited:ANTT:ANTT -unemploy:ANMP:ANMP -unending:ANNT:ANNT -unengage:ANNK:ANNK -unenrich:ANNR:ANNR -unenroll:ANNR:ANNR -unentail:ANNT:ANNT -unerased:ANRS:ANRS -unerring:ANRN:ANRN -unescort:ANSK:ANSK -unevaded:ANFT:ANFT -unevenly:ANFN:ANFN -unevoked:ANFK:ANFK -unexcell:ANKS:ANKS -unexcuse:ANKS:ANKS -unexpect:ANKS:ANKS -unexpend:ANKS:ANKS -unexpire:ANKS:ANKS -unexpose:ANKS:ANKS -unextend:ANKS:ANKS -unfading:ANFT:ANFT -unfairly:ANFR:ANFR -unfalter:ANFL:ANFL -unfasten:ANFS:ANFS -unfathom:ANFT:ANFT -unfeared:ANFR:ANFR -unfenced:ANFN:ANFN -unfetter:ANFT:ANFT -unfilial:ANFL:ANFL -unfilled:ANFL:ANFL -unfilter:ANFL:ANFL -unfinish:ANFN:ANFN -unfitted:ANFT:ANFT -unfixing:ANFK:ANFK -unflavor:ANFL:ANFL -unfledge:ANFL:ANFL -unflinch:ANFL:ANFL -unfolded:ANFL:ANFL -unfolder:ANFL:ANFL -unforced:ANFR:ANFR -unforest:ANFR:ANFR -unforgiv:ANFR:ANFR -unformed:ANFR:ANFR -unfought:ANFK:ANFK -unframed:ANFR:ANFR -unfreeze:ANFR:ANFR -unfriend:ANFR:ANFR -unfrocks:ANFR:ANFR -unfrozen:ANFR:ANFR -unfunded:ANFN:ANFN -unfurled:ANFR:ANFR -ungainly:ANKN:ANKN -ungather:ANK0:ANKT -ungenial:ANJN:ANKN -ungentle:ANJN:ANKN -ungently:ANJN:ANKN -unglazed:ANKL:ANKL -ungovern:ANKF:ANKF -ungraded:ANKR:ANKR -unground:ANKR:ANKR -unguents:ANKN:ANKN -unguided:ANKT:ANKT -unguilty:ANKL:ANKL -unguinal:ANKN:ANKN -ungulata:ANKL:ANKL -ungulate:ANKL:ANKL -unhailed:ANLT:ANLT -unhaired:ANRT:ANRT -unhallow:ANL:ANLF -unhamper:ANMP:ANMP -unhanded:ANNT:ANNT -unharbor:ANRP:ANRP -unharden:ANRT:ANRT -unharmed:ANRM:ANRM -unhealed:ANLT:ANLT -unheated:ANTT:ANTT -unheeded:ANTT:ANTT -unhelped:ANLP:ANLP -unherald:ANRL:ANRL -unheroic:ANRK:ANRK -unhinder:ANNT:ANNT -unhinged:ANNJ:ANNK -unhinges:ANNJ:ANNK -unhooked:ANKT:ANKT -unhorsed:ANRS:ANRS -unhorses:ANRS:ANRS -unhoused:ANST:ANST -unialgal:ANLK:ANLK -uniaxial:ANKS:ANKS -unibasal:ANPS:ANPS -unicolor:ANKL:ANKL -unicorns:ANKR:ANKR -unicycle:ANSK:ANSK -unifiers:ANFR:ANFR -unifilar:ANFL:ANFL -uniforms:ANFR:ANFR -unifying:ANFN:ANFN -unilobar:ANLP:ANLP -unimbued:ANMP:ANMP -unimpair:ANMP:ANMP -unimpede:ANMP:ANMP -uninfect:ANNF:ANNF -uninform:ANNF:ANNF -uninjure:ANNJ:ANNJ -uninsure:ANNS:ANNS -unintend:ANNT:ANNT -uninvest:ANNF:ANNF -unionism:ANNS:ANNS -unionist:ANNS:ANNS -unionize:ANNS:ANNS -uniparae:ANPR:ANPR -uniparas:ANPR:ANPR -unipolar:ANPL:ANPL -uniquely:ANKL:ANKL -unironed:ANRN:ANRN -unissued:ANST:ANST -unitedly:ANTT:ANTT -unitized:ANTS:ANTS -unitizes:ANTS:ANTS -univalve:ANFL:ANFL -universe:ANFR:ANFR -univocal:ANFK:ANFK -unjoined:ANJN:ANJN -unjustly:ANJS:ANJS -unkennel:ANKN:ANKN -unkindly:ANKN:ANKN -unkingly:ANKN:ANKN -unkissed:ANKS:ANKS -unknowns:ANKN:ANKN -unkosher:ANKX:ANKX -unlacing:ANLS:ANLS -unlament:ANLM:ANLM -unlanded:ANLN:ANLN -unlashed:ANLX:ANLX -unlashes:ANLX:ANLX -unlawful:ANLF:ANLF -unlaying:ANLN:ANLN -unleaded:ANLT:ANLT -unlearns:ANLR:ANLR -unlearnt:ANLR:ANLR -unleased:ANLS:ANLS -unleaven:ANLF:ANLF -unletter:ANLT:ANLT -unliable:ANLP:ANLP -unlikely:ANLK:ANLK -unlimber:ANLM:ANLM -unlinked:ANLN:ANLN -unlisted:ANLS:ANLS -unlivery:ANLF:ANLF -unliving:ANLF:ANLF -unloaded:ANLT:ANLT -unloader:ANLT:ANLT -unlocate:ANLK:ANLK -unlocked:ANLK:ANLK -unlooked:ANLK:ANLK -unloosed:ANLS:ANLS -unloosen:ANLS:ANLS -unlooses:ANLS:ANLS -unlovely:ANLF:ANLF -unloving:ANLF:ANLF -unmaking:ANMK:ANMK -unmanned:ANMN:ANMN -unmapped:ANMP:ANMP -unmarked:ANMR:ANMR -unmarred:ANMR:ANMR -unmasked:ANMS:ANMS -unmasker:ANMS:ANMS -unmaster:ANMS:ANMS -unmature:ANMT:ANMT -unmelted:ANML:ANML -unmended:ANMN:ANMN -unmerged:ANMR:ANMR -unmilled:ANML:ANML -unmingle:ANMN:ANMN -unmolded:ANML:ANML -unmolest:ANML:ANML -unmoored:ANMR:ANMR -unmoving:ANMF:ANMF -unmuffle:ANMF:ANMF -unmuzzle:ANMS:ANMS -unneeded:ANTT:ANTT -unnerved:ANRF:ANRF -unnerves:ANRF:ANRF -unnotice:ANTS:ANTS -unnumber:ANMR:ANMR -unoblige:ANPL:ANPL -unobtrud:ANPT:ANPT -unoffend:ANFN:ANFN -unopened:ANPN:ANPN -unoppose:ANPS:ANPS -unordain:ANRT:ANRT -unpacked:ANPK:ANPK -unpacker:ANPK:ANPK -unpaired:ANPR:ANPR -unpardon:ANPR:ANPR -unparsed:ANPR:ANPR -unpatent:ANPT:ANPT -unpaying:ANPN:ANPN -unpegged:ANPK:ANPK -unpeople:ANPP:ANPP -unperson:ANPR:ANPR -unpicked:ANPK:ANPK -unpiling:ANPL:ANPL -unpinned:ANPN:ANPN -unpitied:ANPT:ANPT -unplaced:ANPL:ANPL -unplayed:ANPL:ANPL -unplease:ANPL:ANPL -unpledge:ANPL:ANPL -unplough:ANPL:ANPL -unplowed:ANPL:ANPL -unpoetic:ANPT:ANPT -unpoised:ANPS:ANPS -unpolish:ANPL:ANPL -unpolled:ANPL:ANPL -unprimed:ANPR:ANPR -unprison:ANPR:ANPR -unpromis:ANPR:ANPR -unprompt:ANPR:ANPR -unproved:ANPR:ANPR -unproven:ANPR:ANPR -unprovid:ANPR:ANPR -unpruned:ANPR:ANPR -unpunish:ANPN:ANPN -unquench:ANKN:ANKN -unquoted:ANKT:ANKT -unraised:ANRS:ANRS -unranked:ANRN:ANRN -unravels:ANRF:ANRF -unreally:ANRL:ANRL -unreason:ANRS:ANRS -unrebuke:ANRP:ANRP -unreckon:ANRK:ANRK -unrecord:ANRK:ANRK -unredeem:ANRT:ANRT -unreeled:ANRL:ANRL -unreeved:ANRF:ANRF -unreeves:ANRF:ANRF -unreform:ANRF:ANRF -unrelent:ANRL:ANRL -unremark:ANRM:ANRM -unremove:ANRM:ANRM -unrenown:ANRN:ANRN -unrented:ANRN:ANRN -unrepaid:ANRP:ANRP -unrepair:ANRP:ANRP -unrepeal:ANRP:ANRP -unreport:ANRP:ANRP -unresign:ANRS:ANRS -unresist:ANRS:ANRS -unrested:ANRS:ANRS -unreturn:ANRT:ANRT -unreveal:ANRF:ANRF -unreview:ANRF:ANRF -unreward:ANRR:ANRR -unrhymed:ANRM:ANRM -unridden:ANRT:ANRT -unriddle:ANRT:ANRT -unrifled:ANRF:ANRF -unrigged:ANRK:ANRK -unripped:ANRP:ANRP -unrolled:ANRL:ANRL -unroofed:ANRF:ANRF -unrulier:ANRL:ANRL -unrushed:ANRX:ANRX -unsaddle:ANST:ANST -unsafely:ANSF:ANSF -unsalted:ANSL:ANSL -unsavory:ANSF:ANSF -unsaying:ANSN:ANSN -unscaled:ANSK:ANSK -unscreen:ANSK:ANSK -unscrews:ANSK:ANSK -unsealed:ANSL:ANSL -unseason:ANSS:ANSS -unseated:ANST:ANST -unseeded:ANST:ANST -unseeing:ANSN:ANSN -unseemly:ANSM:ANSM -unserved:ANSR:ANSR -unsettle:ANST:ANST -unshaded:ANXT:ANXT -unshaken:ANXK:ANXK -unshamed:ANXM:ANXM -unshapen:ANXP:ANXP -unshared:ANXR:ANXR -unshaved:ANXF:ANXF -unshaven:ANXF:ANXF -unshield:ANXL:ANXL -unsifted:ANSF:ANSF -unsigned:ANSN:ANSK -unsinful:ANSN:ANSN -unslaked:ANSL:ANSL -unslings:ANSL:ANSL -unsnarls:ANSN:ANSN -unsocial:ANSS:ANSX -unsoiled:ANSL:ANSL -unsolemn:ANSL:ANSL -unsolved:ANSL:ANSL -unsorted:ANSR:ANSR -unsought:ANSK:ANSK -unspoilt:ANSP:ANSP -unspoken:ANSP:ANSP -unsprung:ANSP:ANSP -unstable:ANST:ANST -unstably:ANST:ANST -unstaple:ANST:ANST -unstarch:ANST:ANST -unstated:ANST:ANST -unsteady:ANST:ANST -unsteels:ANST:ANST -unsticks:ANST:ANST -unstitch:ANST:ANST -unstrain:ANST:ANST -unstraps:ANST:ANST -unstress:ANST:ANST -unstring:ANST:ANST -unstrung:ANST:ANST -unsubtle:ANSP:ANSP -unsubtly:ANSP:ANSP -unsuited:ANST:ANST -unsurely:ANSR:ANSR -unsurvey:ANSR:ANSR -unswathe:ANS0:ANST -unswayed:ANST:ANST -unswears:ANSR:ANSR -untacked:ANTK:ANTK -untalent:ANTL:ANTL -untangle:ANTN:ANTN -untanned:ANTN:ANTN -untapped:ANTP:ANTP -untasted:ANTS:ANTS -untaught:ANTF:ANTF -untenant:ANTN:ANTN -untended:ANTN:ANTN -untested:ANTS:ANTS -unthinks:AN0N:ANTN -unthread:AN0R:ANTR -unthrone:AN0R:ANTR -untidier:ANTT:ANTT -untidily:ANTT:ANTT -untilled:ANTL:ANTL -untimely:ANTM:ANTM -untinged:ANTN:ANTN -untiring:ANTR:ANTR -untitled:ANTT:ANTT -untoward:ANTR:ANTR -untraced:ANTR:ANTR -untreate:ANTR:ANTR -untruely:ANTR:ANTR -untruths:ANTR:ANTR -untucked:ANTK:ANTK -unturned:ANTR:ANTR -untwined:ANTN:ANTN -untwines:ANTN:ANTN -untwists:ANTS:ANTS -unusable:ANSP:ANSP -unusably:ANSP:ANSP -unvalued:ANFL:ANFL -unvaried:ANFR:ANFR -unveiled:ANFL:ANFL -unversed:ANFR:ANFR -unviable:ANFP:ANFP -unvoiced:ANFS:ANFS -unwanted:ANNT:ANNT -unwarily:ANRL:ANRL -unwarmed:ANRM:ANRM -unwarned:ANRN:ANRN -unwashed:ANXT:ANXT -unweaken:ANKN:ANKN -unweaned:ANNT:ANNT -unweaves:ANFS:ANFS -unwedded:ANTT:ANTT -unweeded:ANTT:ANTT -unwieldy:ANLT:ANLT -unwifely:ANFL:ANFL -unwilled:ANLT:ANLT -unwinder:ANNT:ANNT -unwisely:ANSL:ANSL -unwished:ANXT:ANXT -unwonted:ANNT:ANNT -unwooded:ANTT:ANTT -unworked:ANRK:ANRK -unworthy:ANR0:ANRT -unyoking:ANKN:ANKN -unzipped:ANSP:ANSP -upastree:APST:APST -upbraids:APRT:APRT -upbuilds:APLT:APLT -upchucks:APXK:APKK -upcoming:APKM:APKM -updating:APTT:APTT -updrafts:APTR:APTR -upending:APNT:APNT -upgraded:APKR:APKR -upgrader:APKR:APKR -upgrades:APKR:APKR -upgrowth:APKR:APKR -upheaval:AFFL:AFFL -upheaved:AFFT:AFFT -upheaves:AFFS:AFFS -upholder:AFLT:AFLT -uplifted:APLF:APLF -uplifter:APLF:APLF -uploaded:APLT:APLT -uppercut:APRK:APRK -upraised:APRS:APRS -upraises:APRS:APRS -uprating:APRT:APRT -upreared:APRR:APRR -uprights:APRT:APRT -uprising:APRS:APRS -uprooted:APRT:APRT -uprushed:APRX:APRX -uprushes:APRX:APRX -upshifts:APXF:APXF -upstaged:APST:APST -upstages:APST:APST -upstairs:APST:APST -upstarts:APST:APST -upstream:APST:APST -upstroke:APST:APST -upsurges:APSR:APSR -upsweeps:APSP:APSP -upswings:APSN:APSN -upthrows:AP0R:APTR -upthrust:AP0R:APTR -uptilted:APTL:APTL -upturned:APTR:APTR -upwardly:APRT:APRT -upzoning:APSN:APSN -uragogue:ARKK:ARKK -uratemia:ARTM:ARTM -uraturia:ARTR:ARTR -urbanely:ARPN:ARPN -urbanism:ARPN:ARPN -urbanite:ARPN:ARPN -urbanity:ARPN:ARPN -urbanize:ARPN:ARPN -uredemas:ARTM:ARTM -ureteral:ARTR:ARTR -ureteric:ARTR:ARTR -urethane:AR0N:ARTN -urethrae:AR0R:ARTR -urethral:AR0R:ARTR -urethras:AR0R:ARTR -urgently:ARJN:ARKN -uricemia:ARSM:ARSM -uridylic:ARTL:ARTL -urinated:ARNT:ARNT -urinates:ARNT:ARNT -urinomas:ARNM:ARNM -urnfield:ARNF:ARNF -urobilin:ARPL:ARPL -urochord:ARXR:ARKR -urologic:ARLJ:ARLK -uropathy:ARP0:ARPT -urophein:ARFN:ARFN -uropodal:ARPT:ARPT -urorubin:ARRP:ARRP -uroscopy:ARSK:ARSK -urostyle:ARST:ARST -urotoxic:ARTK:ARTK -ursuline:ARSL:ARSL -urticant:ARTK:ARTK -urticate:ARTK:ARTK -urushiol:ARXL:ARXL -usefully:ASFL:ASFL -ushering:AXRN:AXRN -usuaries:ASRS:ASRS -usufruct:ASFR:ASFR -usurious:ASRS:ASRS -usurpers:ASRP:ASRP -usurping:ASRP:ASRP -utensils:ATNS:ATNS -uterinus:ATRN:ATRN -uteritis:ATRT:ATRT -uteruses:ATRS:ATRS -utilized:ATLS:ATLS -utilizer:ATLS:ATLS -utilizes:ATLS:ATLS -utopians:ATPN:ATPN -utricles:ATRK:ATRK -utriculi:ATRK:ATRK -utterers:ATRR:ATRR -uttering:ATRN:ATRN -uudecode:ATKT:ATKT -uuencode:ANKT:ANKT -uvularly:AFLR:AFLR -uvulitis:AFLT:AFLT -uxorious:AKSR:AKSR -vacantia:FKNX:FKNX -vacantly:FKNT:FKNT -vacating:FKTN:FKTN -vacation:FKXN:FKXN -vaccinal:FXNL:FXNL -vaccinee:FXN:FXN -vaccines:FXNS:FXNS -vaccinia:FXN:FXN -vacuolar:FKLR:FKLR -vacuoles:FKLS:FKLS -vacuumed:FKMT:FKMT -vadimony:FTMN:FTMN -vagabond:FKPN:FKPN -vagaries:FKRS:FKRS -vaginaes:FJNS:FKNS -vaginate:FJNT:FKNT -vagotomy:FKTM:FKTM -vagotony:FKTN:FKTN -vagrance:FKRN:FKRN -vagrancy:FKRN:FKRN -vagrants:FKRN:FKRN -vainness:FNS:FNS -valanced:FLNS:FLNS -valances:FLNS:FLNS -valebant:FLPN:FLPN -valences:FLNS:FLNS -valencia:FLNS:FLNX -valerate:FLRT:FLRT -valerian:FLRN:FLRN -valeting:FLTN:FLTN -valhalla:FLL:FLL -valiance:FLNS:FLNS -valiancy:FLNS:FLNS -validate:FLTT:FLTT -validity:FLTT:FLTT -valkyrie:FLKR:FLKR -valorize:FLRS:FLRS -valorous:FLRS:FLRS -valourem:FLRM:FLRM -valsalva:FLSL:FLSL -valuable:FLPL:FLPL -valuably:FLPL:FLPL -valuated:FLTT:FLTT -valuates:FLTS:FLTS -valuator:FLTR:FLTR -valvulae:FLFL:FLFL -valvular:FLFL:FLFL -vamoosed:FMST:FMST -vamooses:FMSS:FMSS -vampires:FMPR:FMPR -vampiric:FMPR:FMPR -vanadate:FNTT:FNTT -vanadium:FNTM:FNTM -vanadous:FNTS:FNTS -vandalic:FNTL:FNTL -vaneless:FNLS:FNLS -vanessid:FNST:FNST -vanguard:FNKR:FNKR -vanillas:FNLS:FNLS -vanillic:FNLK:FNLK -vanillin:FNLN:FNLN -vanished:FNXT:FNXT -vanisher:FNXR:FNXR -vanishes:FNXS:FNXS -vanitied:FNTT:FNTT -vanities:FNTS:FNTS -vanquish:FNKX:FNKX -vapidity:FPTT:FPTT -vaporing:FPRN:FPRN -vaporish:FPRX:FPRX -vaporize:FPRS:FPRS -vaporous:FPRS:FPRS -vaqueros:FKRS:FKRS -varactor:FRKT:FRKT -variable:FRPL:FRPL -variably:FRPL:FRPL -variance:FRNS:FRNS -variants:FRNT:FRNT -variceal:FRSL:FRSL -varicoid:FRKT:FRKT -varicose:FRKS:FRKS -varicula:FRKL:FRKL -variedly:FRTL:FRTL -varietal:FRTL:FRTL -varietur:FRTR:FRTR -variform:FRFR:FRFR -variolar:FRLR:FRLR -variolic:FRLK:FRLK -variorum:FRRM:FRRM -varistor:FRST:FRST -varmints:FRMN:FRMN -varolian:FRLN:FRLN -varyings:FRNK:FRNK -vascular:FSKL:FSKL -vasculum:FSKL:FSKL -vaseline:FSLN:FSLN -vasiform:FSFR:FSFR -vastness:FSTN:FSTN -vaulting:FLTN:FLTN -vaunting:FNTN:FNTN -vectored:FKTR:FKTR -vedantic:FTNT:FTNT -veganism:FKNS:FKNS -vegetate:FKTT:FKTT -vehement:FHMN:FHMN -vehicles:FHKL:FHKL -veiledly:FLTL:FLTL -veilless:FLS:FLS -veinless:FNLS:FNLS -veinlets:FNLT:FNLT -velamina:FLMN:FLMN -velarise:FLRS:FLRS -veliform:FLFR:FLFR -velleity:FLT:FLT -velocity:FLST:FLST -venality:FNLT:FNLT -venation:FNXN:FNXN -vendable:FNTP:FNTP -vendetta:FNTT:FNTT -vendeuse:FNTS:FNTS -vendible:FNTP:FNTP -venditio:FNTT:FNTT -venditor:FNTT:FNTT -veneered:FNRT:FNRT -veneerer:FNRR:FNRR -venenate:FNNT:FNNT -venerate:FNRT:FNRT -venereal:FNRL:FNRL -venereum:FNRM:FNRM -veneries:FNRS:FNRS -venetian:FNXN:FNXN -vengeant:FNJN:FNKN -vengeful:FNJF:FNKF -venially:FNL:FNL -venogram:FNKR:FNKR -venomous:FNMS:FNMS -venosity:FNST:FNST -venotomy:FNTM:FNTM -venously:FNSL:FNSL -ventured:FNTR:FNTR -venturer:FNTR:FNTR -ventures:FNTR:FNTR -venusian:FNSN:FNXN -venville:FNFL:FNFL -veracity:FRST:FRST -verandah:FRNT:FRNT -verandas:FRNT:FRNT -veratrum:FRTR:FRTR -verbally:FRPL:FRPL -verbatim:FRPT:FRPT -verbenas:FRPN:FRPN -verbiage:FRPJ:FRPK -verbless:FRPL:FRPL -verboten:FRPT:FRPT -verdancy:FRTN:FRTN -verderer:FRTR:FRTR -verderor:FRTR:FRTR -verdicts:FRTK:FRTK -verditer:FRTT:FRTT -verdured:FRTR:FRTR -vergence:FRJN:FRKN -verified:FRFT:FRFT -verifier:FRF:FRFR -verifies:FRFS:FRFS -verities:FRTS:FRTS -verjuice:FRJS:FRJS -verligte:FRLK:FRLK -vermouth:FRM0:FRMT -vernally:FRNL:FRNL -verniers:FRNR:FRNR -vernonia:FRNN:FRNN -veronese:FRNS:FRNS -veronica:FRNK:FRNK -verrucae:FRK:FRK -verrucal:FRKL:FRKL -versants:FRSN:FRSN -versicle:FRSK:FRSK -versions:FRSN:FRXN -vertebra:FRTP:FRTP -vertexes:FRTK:FRTK -vertical:FRTK:FRTK -vertices:FRTS:FRTS -verticil:FRTS:FRTS -vertigos:FRTK:FRTK -vervains:FRFN:FRFN -vesicant:FSKN:FSKN -vesicate:FSKT:FSKT -vesicles:FSKL:FSKL -vesicula:FSKL:FSKL -vesperal:FSPR:FSPR -vespiary:FSPR:FSPR -vespucci:FSPX:FSPX -vestally:FSTL:FSTL -vestiges:FSTJ:FSTK -vestigia:FSTJ:FSTK -vestment:FSTM:FSTM -vestries:FSTR:FSTR -vestured:FSTR:FSTR -vesturer:FSTR:FSTR -vestures:FSTR:FSTR -vesuvian:FSFN:FSFN -vesuvius:FSFS:FSFS -veterans:FTRN:FTRN -vetoless:FTLS:FTLS -vexation:FKSX:FKSX -vexillum:FKSL:FKSL -vexingly:FKSN:FKSN -viaducts:FTKT:FTKT -vialling:FLNK:FLNK -viaticum:FTKM:FTKM -vibrancy:FPRN:FPRN -vibrated:FPRT:FPRT -vibrates:FPRT:FPRT -vibrator:FPRT:FPRT -vibratos:FPRT:FPRT -vibrissa:FPRS:FPRS -vibronic:FPRN:FPRN -viburnum:FPRN:FPRN -vicarage:FKRJ:FKRK -vicarate:FKRT:FKRT -vicarial:FKRL:FKRL -vicenary:FSNR:FSNR -viceroys:FSRS:FSRS -vicinage:FSNJ:FSNK -vicinity:FSNT:FSNT -victoria:FKTR:FKTR -victuals:FKTL:FKTL -videoing:FTNK:FTNK -vidicons:FTKN:FTKN -viennese:FNS:FNS -vietcong:FTKN:FTKN -viewable:FPL:FPL -viewdata:FTT:FTT -viewless:FLS:FLS -vigilant:FJLN:FKLN -vignette:FNT:FKNT -vigorish:FKRX:FKRX -vigoroso:FKRS:FKRS -vigorous:FKRS:FKRS -vileness:FLNS:FLNS -vilified:FLFT:FLFT -vilifier:FLF:FLFR -vilifies:FLFS:FLFS -villadom:FLTM:FLTM -villager:FLKR:FLJR -villages:FLJS:FLKS -villains:FLNS:FLNS -villainy:FLN:FLN -villeins:FLNS:FLNS -vincible:FNSP:FNSP -vinculis:FNKL:FNKL -vinculum:FNKL:FNKL -vinegars:FNKR:FNKR -vinegary:FNKR:FNKR -vineless:FNLS:FNLS -vineries:FNRS:FNRS -vineyard:FNRT:FNRT -vinosity:FNST:FNST -vintager:FNTK:FNTJ -vintages:FNTJ:FNTK -vintners:FNTN:FNTN -violable:FLPL:FLPL -violably:FLPL:FLPL -violated:FLTT:FLTT -violater:FLTR:FLTR -violates:FLTS:FLTS -violator:FLTR:FLTR -violence:FLNS:FLNS -violists:FLST:FLST -violones:FLNS:FLNS -viomycin:FMSN:FMSN -viperine:FPRN:FPRN -viperish:FPRX:FPRX -viperoid:FPRT:FPRT -viperous:FPRS:FPRS -viraemia:FRM:FRM -viragoes:FRKS:FRKS -virement:FRMN:FRMN -virginal:FRJN:FRKN -virginia:FRJN:FRKN -virgules:FRKL:FRKL -viricide:FRST:FRST -viridian:FRTN:FRTN -viridity:FRTT:FRTT -virilism:FRLS:FRLS -virility:FRLT:FRLT -virilize:FRLS:FRLS -virology:FRLJ:FRLK -virtuosi:FRTS:FRTS -virtuoso:FRTS:FRTS -virtuous:FRTS:FRTS -virucide:FRST:FRST -virulent:FRLN:FRLN -visagist:FSJS:FSKS -viscaria:FSKR:FSKR -visceral:FSRL:FSRL -viscidly:FSTL:FSTL -viscount:FSKN:FSKN -visional:FSNL:FXNL -visioned:FSNT:FXNT -visitant:FSTN:FSTN -visiting:FSTN:FSTN -visitors:FSTR:FSTR -visoring:FSRN:FSRN -visually:FSL:FSL -vitalism:FTLS:FTLS -vitalist:FTLS:FTLS -vitality:FTLT:FTLT -vitalize:FTLS:FTLS -vitamins:FTMN:FTMN -vitellin:FTLN:FTLN -vitellus:FTLS:FTLS -vitiable:FXPL:FXPL -vitiated:FXTT:FXTT -vitiates:FXTS:FXTS -vitiator:FXTR:FXTR -vitiligo:FTLK:FTLK -vitrella:FTRL:FTRL -vitreous:FTRS:FTRS -vitrines:FTRN:FTRN -vitriols:FTRL:FTRL -vituline:FTLN:FTLN -vivacity:FFST:FFST -vivaries:FFRS:FFRS -vivarium:FFRM:FFRM -vivified:FFFT:FFFT -vivifier:FFF:FFFR -vivifies:FFFS:FFFS -vivisect:FFSK:FFSK -vixenish:FKSN:FKSN -vocables:FKPL:FKPL -vocalism:FKLS:FKLS -vocalist:FKLS:FKLS -vocality:FKLT:FKLT -vocalize:FKLS:FKLS -vocation:FKXN:FKXN -vocative:FKTF:FKTF -vocoders:FKTR:FKTR -voidable:FTPL:FTPL -voidance:FTNS:FTNS -voidness:FTNS:FTNS -volatile:FLTL:FLTL -volcanic:FLKN:FLKN -volcanos:FLKN:FLKN -volitant:FLTN:FLTN -volition:FLXN:FLXN -volitive:FLTF:FLTF -volkmann:FLKM:FLKM -volleyed:FLT:FLT -volleyer:FLR:FLR -volplane:FLPL:FLPL -volsella:FLSL:FLSL -voltages:FLTJ:FLTK -voltaire:FLTR:FLTR -voltaism:FLTS:FLTS -volution:FLXN:FLXN -volvulus:FLFL:FLFL -vomerine:FMRN:FMRN -vomiters:FMTR:FMTR -vomiting:FMTN:FMTN -vomitive:FMTF:FMTF -vomitory:FMTR:FMTR -voracity:FRST:FRST -vortexes:FRTK:FRTK -vortical:FRTK:FRTK -vortices:FRTS:FRTS -votaries:FTRS:FTRS -voteable:FTPL:FTPL -voteless:FTLS:FTLS -votively:FTFL:FTFL -vouchees:FXS:FKS -vouchers:FXRS:FKRS -vouching:FXNK:FKNK -voussoir:FSR:FSR -vowelise:FLS:FLS -voyagers:FKRS:FJRS -voyageur:FJR:FKR -voyaging:FJNK:FKNK -vulgares:FLKR:FLKR -vulgaris:FLKR:FLKR -vulgarly:FLKR:FLKR -vulsella:FLSL:FLSL -vultures:FLTR:FLTR -vulvitis:FLFT:FLFT -wackiest:AKST:FKST -waddlers:ATLR:FTLR -waddling:ATLN:FTLN -wadeable:ATPL:FTPL -wafering:AFRN:FFRN -waffling:AFLN:FFLN -wageless:AJLS:FKLS -wagerers:AKRR:FJRR -wagering:AKRN:FJRN -waggling:AKLN:FKLN -waggoner:AKNR:FKNR -wagoners:AKNR:FKNR -wagonlit:AKNL:FKNL -wagtails:AKTL:FKTL -waiflike:AFLK:FFLK -wainscot:ANSK:FNSK -waitress:ATRS:FTRS -wakashan:AKXN:FKXN -wakeless:AKLS:FKLS -wakening:AKNN:FKNN -waldeyer:ALTR:FLTR -walkable:ALKP:FLKP -walkaway:ALK:FLK -walkouts:ALKT:FLKT -walkover:ALKF:FLKF -walkways:ALKS:FLKS -wallaroo:ALR:FLR -walleyed:ALT:FLT -walleyes:ALS:FLS -walloons:ALNS:FLNS -walloped:ALPT:FLPT -walloper:ALPR:FLPR -wallowed:ALT:FLT -wallower:ALR:FLR -walruses:ALRS:FLRS -waltzers:ALTS:FLTS -waltzing:ALTS:FLTS -wandered:ANTR:FNTR -wanderer:ANTR:FNTR -wanderoo:ANTR:FNTR -wanglers:ANKL:FNKL -wangling:ANKL:FNKL -wantoned:ANTN:FNTN -wantonly:ANTN:FNTN -warblers:ARPL:FRPL -warbling:ARPL:FRPL -wardency:ARTN:FRTN -wardenry:ARTN:FRTN -wardians:ARTN:FRTN -wardmote:ARTM:FRTM -wardress:ARTR:FRTR -wardrobe:ARTR:FRTR -wardroom:ARTR:FRTR -wardship:ARTX:FRTX -wareroom:ARRM:FRRM -warfares:ARFR:FRFR -warfarin:ARFR:FRFR -warheads:ARTS:FRTS -warhorse:ARRS:FRRS -wariness:ARNS:FRNS -warlikes:ARLK:FRLK -warlocks:ARLK:FRLK -warlords:ARLR:FRLR -warmness:ARMN:FRMN -warnings:ARNN:FRNN -warplane:ARPL:FRPL -warranto:ARNT:FRNT -warrants:ARNT:FRNT -warranty:ARNT:FRNT -warrigal:ARKL:FRKL -warriors:ARRS:FRRS -warships:ARXP:FRXP -wartiest:ARTS:FRTS -wartlike:ARTL:FRTL -washable:AXPL:FXPL -washably:AXPL:FXPL -washbowl:AXPL:FXPL -washdays:AXTS:FXTS -washiest:AXST:FXST -washings:AXNK:FXNK -washouts:AXTS:FXTS -washrags:AXRK:FXRK -washroom:AXRM:FXRM -washtubs:AXTP:FXTP -wasplike:ASPL:FSPL -wassails:ASLS:FSLS -wastable:ASTP:FSTP -wasteful:ASTF:FSTF -wasteway:AST:FST -wastiest:ASTS:FSTS -wastrels:ASTR:FSTR -watchdog:AXTK:FXTK -watchers:AXRS:FXRS -watchful:AXFL:FXFL -watching:AXNK:FXNK -watchman:AXMN:FXMN -watchmen:AXMN:FXMN -waterage:ATRJ:FTRK -waterbed:ATRP:FTRP -watering:ATRN:FTRN -waterlog:ATRL:FTRL -waterloo:ATRL:FTRL -waterman:ATRM:FTRM -watermen:ATRM:FTRM -waterski:ATRS:FTRS -waterway:ATR:FTR -wattling:ATLN:FTLN -waveband:AFPN:FFPN -waveform:AFFR:FFFR -waveless:AFLS:FFLS -wavelets:AFLT:FFLT -wavelike:AFLK:FFLK -waveoffs:AFFS:FFFS -waverers:AFRR:FFRR -wavering:AFRN:FFRN -waviness:AFNS:FFNS -waxbills:AKSP:FKSP -waxiness:AKSN:FKSN -waxplant:AKSP:FKSP -waxwings:AKSN:FKSN -waxworks:AKSR:FKSR -waybills:APLS:FPLS -wayfarer:AFRR:FFRR -waylayer:ALR:FLR -wayleave:ALF:FLF -weakened:AKNT:FKNT -weakener:AKNR:FKNR -weakfish:AKFX:FKFX -weaklier:AKLR:FKLR -weakling:AKLN:FKLN -weakness:AKNS:FKNS -weanling:ANLN:FNLN -weaponed:APNT:FPNT -weaponry:APNR:FPNR -wearable:ARPL:FRPL -weariest:ARST:FRST -wearying:ARNK:FRNK -weaseled:ASLT:FSLT -weaselly:ASL:FSL -weathers:A0RS:FTRS -webbiest:APST:FPST -webwheel:APL:FPL -wechsler:AKSL:FKSL -weddings:ATNK:FTNK -wedgwood:ATKT:FTKT -weediest:ATST:FTST -weedless:ATLS:FTLS -weedlike:ATLK:FTLK -weekdays:AKTS:FKTS -weekends:AKNT:FKNT -weeklies:AKLS:FKLS -weeniest:ANST:FNST -weepiest:APST:FPST -weevilly:AFL:FFL -weighage:AJ:FK -weighers:ARS:FRS -weighing:ANK:FNK -weighman:AMN:FMN -weighmen:AMN:FMN -weighted:ATT:FTT -weighter:ATR:FTR -weinberg:ANPR:FNPR -weirdest:ARTS:FRTS -welcomed:ALKM:FLKM -welcomer:ALKM:FLKM -welcomes:ALKM:FLKM -weldable:ALTP:FLTP -weldless:ALTL:FLTL -wellborn:ALPR:FLPR -wellhead:ALT:FLT -welshers:ALXR:FLXR -welshing:ALXN:FLXN -welshman:ALXM:FLXM -welshmen:ALXM:FLXM -weltered:ALTR:FLTR -wenchers:ANXR:FNKR -wenching:ANXN:FNKN -werewolf:ARLF:FRLF -wernicke:ARNK:FRNK -wertheim:AR0M:FRTM -wesleyan:ASLN:FSLN -westered:ASTR:FSTR -westerly:ASTR:FSTR -westerns:ASTR:FSTR -westward:ASTR:FSTR -wetbacks:ATPK:FTPK -wetlands:ATLN:FTLN -wetproof:ATPR:FTPR -wettable:ATPL:FTPL -whackers:AKRS:AKRS -whacking:AKNK:AKNK -whammies:AMS:AMS -whamming:AMNK:AMNK -whanging:ANJN:ANKN -wharfage:ARFJ:ARFK -whatever:ATFR:ATFR -whatnots:ATNT:ATNT -wheatear:ATR:ATR -wheaties:ATS:ATS -wheedled:ATLT:ATLT -wheedler:ATLR:ATLR -wheedles:ATLS:ATLS -wheelage:ALJ:ALK -wheelers:ALRS:ALRS -wheelies:ALS:ALS -wheeling:ALNK:ALNK -wheezers:ASRS:ATSR -wheezier:ASR:ATSR -wheezily:ASL:ATSL -wheezing:ASNK:ATSN -whelming:ALMN:ALMN -whelping:ALPN:ALPN -whenever:ANFR:ANFR -wherefor:ARFR:ARFR -whereout:ART:ART -wherever:ARFR:ARFR -wherries:ARS:ARS -whetters:ATRS:ATRS -whetting:ATNK:ATNK -wheyface:AFS:AFS -whickers:AKRS:AKRS -whiffers:AFRS:AFRS -whiffing:AFNK:AFNK -whiffled:AFLT:AFLT -whiffler:AFLR:AFLR -whiffles:AFLS:AFLS -whiggish:AKX:AKX -whimbrel:AMPR:AMPR -whimpers:AMPR:AMPR -whimsies:AMSS:AMSS -whiniest:ANST:ANST -whinnied:ANT:ANT -whinnies:ANS:ANS -whipcord:APKR:APKR -whiplash:APLX:APLX -whippers:APRS:APRS -whippets:APTS:APTS -whipping:APNK:APNK -whipsawn:APSN:APSN -whipsaws:APSS:APSS -whipworm:APRM:APRM -whirlers:ARLR:ARLR -whirligi:ARLJ:ARLK -whirling:ARLN:ARLN -whirring:ARNK:ARNK -whiskers:ASKR:ASKR -whiskery:ASKR:ASKR -whiskeys:ASKS:ASKS -whiskies:ASKS:ASKS -whisking:ASKN:ASKN -whispers:ASPR:ASPR -whistled:ASTL:ASTL -whistler:ASTL:ASTL -whistles:ASTL:ASTL -whitecap:ATKP:ATKP -whitefly:ATFL:ATFL -whitened:ATNT:ATNT -whitener:ATNR:ATNR -whiteout:ATT:ATT -whitings:ATNK:ATNK -whittled:ATLT:ATLT -whittler:ATLR:ATLR -whittles:ATLS:ATLS -whizzing:ASNK:ATSN -whodunit:ATNT:ATNT -whomever:AMFR:AMFR -whoopees:APS:APS -whoopers:APRS:APRS -whooping:APNK:APNK -whooshed:AXT:AXT -whooshes:AXS:AXS -whoppers:APRS:APRS -whopping:APNK:APNK -whoredom:ARTM:ARTM -whoreson:ARSN:ARSN -whosever:ASFR:ASFR -wickeder:AKTR:FKTR -wickedly:AKTL:FKTL -wickered:AKRT:FKRT -wickings:AKNK:FKNK -wickiups:AKPS:FKPS -wideners:ATNR:FTNR -wideness:ATNS:FTNS -widening:ATNN:FTNN -widgeons:AJNS:FJNS -widowers:ATRS:FTRS -widowing:ATNK:FTNK -wielders:ALTR:FLTR -wieldier:ALTR:FLTR -wielding:ALTN:FLTN -wifehood:AFHT:FFHT -wifeless:AFLS:FFLS -wifelike:AFLK:FFLK -wigglers:AKLR:FKLR -wiggling:AKLN:FKLN -wildcard:ALTK:FLTK -wildcats:ALTK:FLTK -wildfire:ALTF:FLTF -wildfowl:ALTF:FLTF -wildings:ALTN:FLTN -wildlife:ALTL:FLTL -wildness:ALTN:FLTN -wilfully:ALFL:FLFL -wiliness:ALNS:FLNS -willable:ALPL:FLPL -williams:ALMS:FLMS -williwaw:AL:FLF -willowed:ALT:FLT -wimbling:AMPL:FMPL -winchers:ANXR:FNKR -winching:ANXN:FNKN -windable:ANTP:FNTP -windbags:ANTP:FNTP -windburn:ANTP:FNTP -windfall:ANTF:FNTF -windgall:ANTK:FNTK -windiest:ANTS:FNTS -windings:ANTN:FNTN -windlass:ANTL:FNTL -windless:ANTL:FNTL -windmill:ANTM:FNTM -windowed:ANTT:FNTT -windpipe:ANTP:FNTP -windrows:ANTR:FNTR -windsail:ANTS:FNTS -windsock:ANTS:FNTS -windsurf:ANTS:FNTS -windward:ANTR:FNTR -wineless:ANLS:FNLS -wineries:ANRS:FNRS -wineskin:ANSK:FNSK -wingback:ANKP:FNKP -wingding:ANKT:FNKT -wingeing:ANJN:FNKN -wingless:ANKL:FNKL -winglets:ANKL:FNKL -winglike:ANKL:FNKL -wingover:ANKF:FNKF -wingspan:ANKS:FNKS -winklers:ANKL:FNKL -winkling:ANKL:FNKL -winnable:ANPL:FNPL -winnings:ANNK:FNNK -winnipeg:ANPK:FNPK -winnowed:ANT:FNT -winnower:ANR:FNR -wintered:ANTR:FNTR -winterer:ANTR:FNTR -winterly:ANTR:FNTR -wintrier:ANTR:FNTR -wintrily:ANTR:FNTR -wipeouts:APTS:FPTS -wiredraw:ARTR:FRTR -wiredrew:ARTR:FRTR -wirehair:ARHR:FRHR -wireless:ARLS:FRLS -wiretaps:ARTP:FRTP -wirework:ARRK:FRRK -wireworm:ARRM:FRRM -wiriness:ARNS:FRNS -wiseacre:ASKR:FSKR -wiseness:ASNS:FSNS -wishbone:AXPN:FXPN -wishless:AXLS:FXLS -wispiest:ASPS:FSPS -wisplike:ASPL:FSPL -wistaria:ASTR:FSTR -wisteria:ASTR:FSTR -witchery:AXR:FXR -witching:AXNK:FXNK -withdraw:A0TR:FTTR -withdrew:A0TR:FTTR -withered:A0RT:FTRT -witherer:A0RR:FTRR -withheld:A0LT:FTLT -withhold:A0LT:FTLT -wittered:ATRT:FTRT -wittiest:ATST:FTST -wittilly:ATL:FTL -wizardly:ASRT:FTSR -wizardry:ASRT:FTSR -wobblers:APLR:FPLR -wobblier:APLR:FPLR -wobbling:APLN:FPLN -woefully:AFL:FFL -wolffian:ALFN:FLFN -wolffish:ALFX:FLFX -wolflike:ALFL:FLFL -womanish:AMNX:FMNX -womanize:AMNS:FMNT -womblike:AMPL:FMPL -wondered:ANTR:FNTR -wonderer:ANTR:FNTR -wondrous:ANTR:FNTR -wonkiest:ANKS:FNKS -woodbine:ATPN:FTPN -woodchat:ATXT:FTKT -woodcock:ATKK:FTKK -woodcuts:ATKT:FTKT -woodenly:ATNL:FTNL -woodfree:ATFR:FTFR -woodiest:ATST:FTST -woodland:ATLN:FTLN -woodlark:ATLR:FTLR -woodless:ATLS:FTLS -woodlice:ATLS:FTLS -woodmans:ATMN:FTMN -woodnote:ATNT:FTNT -woodpile:ATPL:FTPL -woodruff:ATRF:FTRF -woodrush:ATRX:FTRX -woodshed:ATXT:FTXT -woodsher:ATXR:FTXR -woodsier:ATSR:FTSR -woodsman:ATSM:FTSM -woodsmen:ATSM:FTSM -woodward:ATRT:FTRT -woodwind:ATNT:FTNT -woodwork:ATRK:FTRK -woodworm:ATRM:FTRM -woodyard:ATRT:FTRT -wooingly:ANKL:FNKL -woollier:ALR:FLR -woollies:ALS:FLS -woollily:ALL:FLL -woolpack:ALPK:FLPK -woolsack:ALSK:FLSK -wooziest:ASST:FTSS -wordbook:ARTP:FRTP -wordiest:ARTS:FRTS -wordings:ARTN:FRTN -wordless:ARTL:FRTL -wordplay:ARTP:FRTP -wordstar:ARTS:FRTS -workable:ARKP:FRKP -workably:ARKP:FRKP -workaday:ARKT:FRKT -workaway:ARK:FRK -workbags:ARKP:FRKP -workbook:ARKP:FRKP -workdays:ARKT:FRKT -workfolk:ARKF:FRKF -workhand:ARKN:FRKN -workings:ARKN:FRKN -workless:ARKL:FRKL -workload:ARKL:FRKL -workmate:ARKM:FRKM -workouts:ARKT:FRKT -workroom:ARKR:FRKR -workshop:ARKX:FRKX -worktops:ARKT:FRKT -workwear:ARKR:FRKR -workweek:ARKK:FRKK -wormcast:ARMK:FRMK -wormhole:ARML:FRML -wormiest:ARMS:FRMS -wormseed:ARMS:FRMS -wormwood:ARMT:FRMT -wornness:ARNS:FRNS -worriers:ARRS:FRRS -worrying:ARNK:FRNK -worsened:ARSN:FRSN -worships:ARXP:FRXP -worsting:ARST:FRST -worthier:AR0R:FRTR -worthies:AR0S:FRTS -worthily:AR0L:FRTL -wouldest:ALTS:FLTS -wouldn't:ALTN:FLTN -wounding:ANTN:FNTN -wracking:RKNK:RKNK -wraithes:R0S:RTS -wrangled:RNKL:RNKL -wrangler:RNKL:RNKL -wrangles:RNKL:RNKL -wrapover:RPFR:RPFR -wrappage:RPJ:RPK -wrappers:RPRS:RPRS -wrapping:RPNK:RPNK -wrathful:R0FL:RTFL -wreakers:RKRS:RKRS -wreaking:RKNK:RKNK -wreathed:R0T:RTT -wreathes:R0S:RTS -wreckage:RKJ:RKK -wreckers:RKRS:RKRS -wrecking:RKNK:RKNK -wrenched:RNXT:RNKT -wrenches:RNXS:RNKS -wresters:RSTR:RSTR -wresting:RSTN:RSTN -wrestled:RSTL:RSTL -wrestler:RSTL:RSTL -wrestles:RSTL:RSTL -wretched:RXT:RXT -wretches:RXS:RXS -wriggled:RKLT:RKLT -wriggler:RKLR:RKLR -wriggles:RKLS:RKLS -wringers:RNKR:RNJR -wringing:RNJN:RNKN -wrinkled:RNKL:RNKL -wrinkles:RNKL:RNKL -wrisberg:RSPR:RSPR -wristlet:RSTL:RSTL -writable:RTPL:RTPL -writhers:R0RS:RTRS -writhing:R0NK:RTNK -writings:RTNK:RTNK -wrongers:RNKR:RNJR -wrongest:RNJS:RNKS -wrongful:RNKF:RNKF -wronging:RNJN:RNKN -wrongous:RNKS:RNKS -wrybills:RPLS:RPLS -wrynecks:RNKS:RNKS -xanthate:SN0T:SNTT -xanthein:SN0N:SNTN -xanthene:SN0N:SNTN -xanthine:SN0N:SNTN -xanthism:SN0S:SNTS -xanthoma:SNTM:SNTM -xanthone:SN0N:SNTN -xanthous:SN0S:SNTS -xenogamy:SNKM:SNKM -xenolith:SNL0:SNLT -xerantic:SRNT:SRNT -xerosere:SRSR:SRSR -xeroxing:SRKS:SRKS -xylidine:SLTN:SLTN -xylocarp:SLKR:SLKR -xylonite:SLNT:SLNT -xylotomy:SLTM:SLTM -xylulose:SLLS:SLLS -yachters:AKTR:AKTR -yachting:AKTN:AKTN -yahwists:ASTS:ASTS -yammered:AMRT:AMRT -yammerer:AMRR:AMRR -yardarms:ARTR:ARTR -yardbird:ARTP:ARTP -yardings:ARTN:ARTN -yarmelke:ARML:ARML -yarmulke:ARML:ARML -yashmaks:AXMK:AXMK -yeanling:ANLN:ANLN -yearbook:ARPK:ARPK -yearlies:ARLS:ARLS -yearling:ARLN:ARLN -yearlong:ARLN:ARLN -yearning:ARNN:ARNN -yeastier:AST:ASTR -yeastily:ASTL:ASTL -yellowed:ALT:ALT -yellower:ALR:ALR -yellowly:ALL:ALL -yemenite:AMNT:AMNT -yeomanly:AMNL:AMNL -yeomanry:AMNR:AMNR -yersinia:ARSN:ARSN -yeshivah:AXF:AXF -yeshivas:AXFS:AXFS -yielders:ALTR:ALTR -yielding:ALTN:ALTN -yodelers:ATLR:ATLR -yodeling:ATLN:ATLN -yoghurts:AKRT:AKRT -yokeless:AKLS:AKLS -yokelish:AKLX:AKLX -yokohama:AKHM:AKHM -yolkless:ALKL:ALKL -yorkists:ARKS:ARKS -yosemite:ASMT:ASMT -youngest:ANJS:ANKS -youngish:ANJX:ANKX -yourself:ARSL:ARSL -youthful:A0FL:ATFL -ytterbia:ATRP:ATRP -ytterbic:ATRP:ATRP -yuckiest:AKST:AKST -yugoslav:AKSL:AKSL -yuletide:ALTT:ALTT -yummiest:AMST:AMST -zairians:SRNS:SRNS -zambians:SMPN:SMPN -zaniness:SNNS:SNNS -zanzibar:SNSP:SNSP -zaratite:SRTT:SRTT -zealotry:SLTR:SLTR -zemindar:SMNT:SMNT -zenithal:SN0L:SNTL -zenithes:SN0S:SNTS -zeolitic:SLTK:SLTK -zeppelin:SPLN:SPLN -zestiest:SSTS:SSTS -zestless:SSTL:SSTL -zibeline:SPLN:SPLN -ziggurat:SKRT:SKRT -zillions:SLNS:SLNS -zimbabwe:SMPP:SMPP -zincking:SNKN:SNKN -zionists:SNST:SNST -zippered:SPRT:SPRT -zippiest:SPST:SPST -zirconic:SRKN:SRKN -zodiacal:STKL:STKL -zoetrope:STRP:STRP -zonation:SNXN:SNXN -zonetime:SNTM:SNTM -zonulaes:SNLS:SNLS -zoochore:SXR:SKR -zoogenic:SJNK:SKNK -zoogloea:SKL:SKL -zoograft:SKRF:SKRF -zoolatry:SLTR:SLTR -zoologic:SLJK:SLKK -zoometry:SMTR:SMTR -zoomorph:SMRF:SMRF -zoonoses:SNSS:SNSS -zoonosis:SNSS:SNSS -zoonotic:SNTK:SNTK -zoophile:SFL:SFL -zoophyte:SFT:SFT -zoospore:SSPR:SSPR -zootomic:STMK:STMK -zootoxic:STKS:STKS -zootoxin:STKS:STKS -zootrope:STRP:STRP -zorillas:SRLS:SRLS -zucchini:SXN:SXN -zugzwang:SKSN:SKTS -zwieback:SPK:SPK -zygocity:SKST:SKST -zygomata:SKMT:SKMT -zygosity:SKST:SKST -zygotene:SKTN:SKTN -zymology:SMLJ:SMLK -zymonema:SMNM:SMNM -aardvarks:ARTF:ARTF -abandoned:APNT:APNT -abandonee:APNT:APNT -abandoner:APNT:APNT -abasement:APSM:APSM -abashedly:APXT:APXT -abashment:APXM:APXM -abatement:APTM:APTM -abattises:APTS:APTS -abattoirs:APTR:APTR -abbotship:APTX:APTX -abcoulomb:APKL:APKL -abdicable:APTK:APTK -abdicated:APTK:APTK -abdicates:APTK:APTK -abdicator:APTK:APTK -abdominal:APTM:APTM -abducting:APTK:APTK -abduction:APTK:APTK -abductors:APTK:APTK -abernathy:APRN:APRN -aberrance:APRN:APRN -aberrancy:APRN:APRN -aberrated:APRT:APRT -abeyances:APNS:APNS -abhorrent:APRN:APRN -abhorrers:APRR:APRR -abhorring:APRN:APRN -abidingly:APTN:APTN -abilities:APLT:APLT -abjection:APJK:APJK -abjudging:APJJ:APJJ -ablations:APLX:APLX -ablatival:APLT:APLT -ablatives:APLT:APLT -ablutions:APLX:APLX -abnegated:APNK:APNK -abnegates:APNK:APNK -abnegator:APNK:APNK -abnormity:APNR:APNR -abolished:APLX:APLX -abolisher:APLX:APLX -abolishes:APLX:APLX -abolition:APLX:APLX -abominate:APMN:APMN -aborigine:APRJ:APRK -abortions:APRX:APRX -abortuses:APRT:APRT -abounding:APNT:APNT -abradable:APRT:APRT -abrasions:APRS:APRX -abrasives:APRS:APRS -abreacted:APRK:APRK -abridgers:APRJ:APRJ -abridging:APRJ:APRJ -abrogated:APRK:APRK -abrogates:APRK:APRK -abrogator:APRK:APRK -abscessed:APSS:APSS -abscesses:APSS:APSS -abscising:APSS:APSS -abscision:APSS:APSX -abscissae:APSS:APSS -abscissas:APSS:APSS -absconded:APSK:APSK -absconder:APSK:APSK -abseilers:APSL:APSL -abseiling:APSL:APSL -absentees:APSN:APSN -absenting:APSN:APSN -absinthin:APSN:APSN -absinthol:APSN:APSN -absolutes:APSL:APSL -absolvent:APSL:APSL -absolving:APSL:APSL -absorbent:APSR:APSR -absorbers:APSR:APSR -absorbing:APSR:APSR -abstained:APST:APST -abstainer:APST:APST -abstinent:APST:APST -abstracto:APST:APST -abstracts:APST:APST -absurdest:APSR:APSR -absurdism:APSR:APSR -absurdist:APSR:APSR -absurdity:APSR:APSR -abundance:APNT:APNT -abundanti:APNT:APNT -abusively:APSF:APSF -abutments:APTM:APTM -abysmally:APSM:APSM -abyssinia:APSN:APSN -academics:AKTM:AKTM -academies:AKTM:AKTM -academism:AKTM:AKTM -acalculia:AKLK:AKLK -acanthion:AKN0:AKNT -acanthoid:AKN0:AKNT -acanthoma:AKNT:AKNT -acaracide:AKRS:AKRS -acariases:AKRS:AKRS -acariasis:AKRS:AKRS -acaricide:AKRS:AKRS -acarology:AKRL:AKRL -accedence:AKST:AKST -accenting:AKSN:AKSN -accentors:AKSN:AKSN -accentual:AKSN:AKSN -acceptant:AKSP:AKSP -accepters:AKSP:AKSP -accepting:AKSP:AKSP -acceptive:AKSP:AKSP -acceptors:AKSP:AKSP -accessary:AKSS:AKSS -accessing:AKSS:AKSS -accession:AKSS:AKSS -accessors:AKSS:AKSS -accessory:AKSS:AKSS -accidence:AKST:AKST -accidents:AKST:AKST -accipiter:AKSP:AKSP -acclaimed:AKLM:AKLM -acclaimer:AKLM:AKLM -acclimate:AKLM:AKLM -acclivity:AKLF:AKLF -acclivous:AKLF:AKLF -accolades:AKLT:AKLT -accompany:AKMP:AKMP -accomplis:AKMP:AKMP -accordant:AKRT:AKRT -accorders:AKRT:AKRT -according:AKRT:AKRT -accordion:AKRT:AKRT -accosting:AKST:AKST -accounted:AKNT:AKNT -accounter:AKNT:AKNT -accouters:AKTR:AKTR -accoutred:AKTR:AKTR -accredits:AKRT:AKRT -accreting:AKRT:AKRT -accretion:AKRX:AKRX -accretive:AKRT:AKRT -accruable:AKRP:AKRP -accumbent:AKMP:AKMP -accusable:AKSP:AKSP -accustoms:AKST:AKST -acellular:ASLL:ASLL -acephalia:ASFL:ASFL -acephalus:ASFL:ASFL -acerbated:ASRP:ASRP -acerbates:ASRP:ASRP -acervulus:ASRF:ASRF -acescence:ASSN:ASSN -acescency:ASSN:ASSN -acesodyne:ASST:ASST -acetabula:ASTP:ASTP -acetamide:ASTM:ASTM -acetified:ASTF:ASTF -acetifies:ASTF:ASTF -acetonide:ASTN:ASTN -acetylase:ASTL:ASTL -acetylene:ASTL:ASTL -achalasia:AXLS:AKLX -achievers:AXFR:AKFR -achieving:AXFN:AKFN -acholuria:AXLR:AKLR -achordate:AXRT:AKRT -aciculate:ASKL:ASKL -acidified:ASTF:ASTF -acidifier:ASTF:ASTF -acidifies:ASTF:ASTF -acidities:ASTT:ASTT -acidophil:ASTF:ASTF -acidulate:ASTL:ASTL -acidulous:ASTL:ASTL -aciniform:ASNF:ASNF -acneiform:AKNF:AKNF -aconitase:AKNT:AKNT -aconitine:AKNT:AKNT -acousmata:AKSM:AKSM -acoustics:AKST:AKST -acquaints:AKNT:AKNT -acquiesce:AKS:AKS -acquiring:AKRN:AKRN -acquittal:AKTL:AKTL -acquitted:AKTT:AKTT -acquitter:AKTR:AKTR -acridness:AKRT:AKRT -acrobatic:AKRP:AKRP -acroblast:AKRP:AKRP -acrocepha:AKRS:AKRS -acrodynia:AKRT:AKRT -acroedema:AKRT:AKRT -acropachy:AKRP:AKRP -acropathy:AKRP:AKRP -acropetal:AKRP:AKRP -acropolis:AKRP:AKRP -acrostics:AKRS:AKRS -acroteric:AKRT:AKRT -actinally:AKTN:AKTN -actinical:AKTN:AKTN -activated:AKTF:AKTF -activates:AKTF:AKTF -activator:AKTF:AKTF -activists:AKTF:AKTF -actresses:AKTR:AKTR -actuality:AKTL:AKTL -actualize:AKTL:AKTL -actuarial:AKTR:AKTR -actuaries:AKTR:AKTR -actuating:AKTT:AKTT -actuation:AKTX:AKTX -actuators:AKTT:AKTT -aculeated:AKLT:AKLT -acuminata:AKMN:AKMN -acuminate:AKMN:AKMN -acuminous:AKMN:AKMN -acusticae:AKST:AKST -acuteness:AKTN:AKTN -acylamino:ASLM:ASLM -acylation:ASLX:ASLX -adactylia:ATKT:ATKT -adamantly:ATMN:ATMN -adansonia:ATNS:ATNS -adaptable:ATPT:ATPT -adaptably:ATPT:ATPT -addicting:ATKT:ATKT -addiction:ATKX:ATKX -addictive:ATKT:ATKT -additions:ATXN:ATXN -additives:ATTF:ATTF -addressed:ATRS:ATRS -addressee:ATRS:ATRS -addresser:ATRS:ATRS -addresses:ATRS:ATRS -addressor:ATRS:ATRS -adducible:ATSP:ATSP -adducting:ATKT:ATKT -adduction:ATKX:ATKX -ademption:ATMP:ATMP -adenalgia:ATNL:ATNL -adeniform:ATNF:ATNF -adenocele:ATNS:ATNS -adenoidal:ATNT:ATNT -adenomata:ATNM:ATNM -adenosine:ATNS:ATNS -adenotome:ATNT:ATNT -adenotomy:ATNT:ATNT -adenylate:ATNL:ATNL -adeptness:ATPT:ATPT -adherence:ATRN:ATRN -adherents:ATRN:ATRN -adhesions:ATSN:ATXN -adhesives:ATSF:ATSF -adiabatic:ATPT:ATPT -adipocere:ATPS:ATPS -adipocyte:ATPS:ATPS -adiposity:ATPS:ATPS -adjacency:ATJS:ATJS -adjective:ATJK:ATJK -adjoining:ATJN:ATJN -adjournal:ATJR:ATJR -adjourned:ATJR:ATJR -adjudging:ATJJ:ATJJ -adjunctly:ATJN:ATJN -adjusters:ATJS:ATJS -adjusting:ATJS:ATJS -adjustors:ATJS:ATJS -adjutancy:ATJT:ATJT -adjutants:ATJT:ATJT -admeasure:ATMS:ATMS -adminicle:ATMN:ATMN -admirable:ATMR:ATMR -admirably:ATMR:ATMR -admiralty:ATMR:ATMR -admission:ATMS:ATMS -admissive:ATMS:ATMS -admitters:ATMT:ATMT -admitting:ATMT:ATMT -admixture:ATMK:ATMK -admonitor:ATMN:ATMN -adnexitis:ATNK:ATNK -adnominal:ATNM:ATNM -adoptable:ATPT:ATPT -adoptions:ATPX:ATPX -adoration:ATRX:ATRX -adornment:ATRN:ATRN -adrenalin:ATRN:ATRN -adrogated:ATRK:ATRK -adrogates:ATRK:ATRK -adsorbate:ATSR:ATSR -adsorbent:ATSR:ATSR -adsorbing:ATSR:ATSR -adulating:ATLT:ATLT -adulation:ATLX:ATLX -adulators:ATLT:ATLT -adulatory:ATLT:ATLT -adulterer:ATLT:ATLT -adulthood:ATL0:ATLT -adultness:ATLT:ATLT -adultorum:ATLT:ATLT -adumbrate:ATMP:ATMP -advancers:ATFN:ATFN -advancing:ATFN:ATFN -advantage:ATFN:ATFN -advection:ATFK:ATFK -adventist:ATFN:ATFN -adventive:ATFN:ATFN -adventure:ATFN:ATFN -adverbial:ATFR:ATFR -adversary:ATFR:ATFR -adversely:ATFR:ATFR -adversity:ATFR:ATFR -advertent:ATFR:ATFR -adverting:ATFR:ATFR -advertise:ATFR:ATFR -advisable:ATFS:ATFS -advisably:ATFS:ATFS -advisedly:ATFS:ATFS -advocated:ATFK:ATFK -advocates:ATFK:ATFK -advocator:ATFK:ATFK -aegophony:AKFN:AKFN -aemulatio:AMLT:AMLT -aequitate:AKTT:AKTT -aerialist:ARLS:ARLS -aerifying:ARFN:ARFN -aerobatic:ARPT:ARPT -aerobical:ARPK:ARPK -aerodrome:ARTR:ARTR -aerodynes:ARTN:ARTN -aerofoils:ARFL:ARFL -aerogenic:ARJN:ARKN -aerologic:ARLJ:ARLK -aeronauts:ARNT:ARNT -aeropause:ARPS:ARPS -aerophagy:ARFK:ARFJ -aerophore:ARFR:ARFR -aeroplane:ARPL:ARPL -aerospace:ARSP:ARSP -aerotaxes:ARTK:ARTK -aerotaxis:ARTK:ARTK -aerotitis:ARTT:ARTT -aeschylus:AXLS:AXLS -aesthesia:AS0S:ASTX -aesthetes:AS0T:ASTT -aesthetic:AS0T:ASTT -aestivate:ASTF:ASTF -aetiology:ATLJ:ATLK -affectata:AFKT:AFKT -affecters:AFKT:AFKT -affecting:AFKT:AFKT -affection:AFKX:AFKX -affective:AFKT:AFKT -affianced:AFNS:AFNS -affiances:AFNS:AFNS -affidavit:AFTF:AFTF -affiliate:AFLT:AFLT -affirmant:AFRM:AFRM -affirmers:AFRM:AFRM -affirming:AFRM:AFRM -affixture:AFKS:AFKS -afflicted:AFLK:AFLK -affluence:AFLN:AFLN -affluxion:AFLK:AFLK -afforcing:AFRS:AFRS -affording:AFRT:AFRT -afforests:AFRS:AFRS -affreight:AFRT:AFRT -affricate:AFRK:AFRK -affronted:AFRN:AFRN -aflatoxin:AFLT:AFLT -aforehand:AFRH:AFRH -aforesaid:AFRS:AFRS -aforetime:AFRT:AFRT -afrikaans:AFRK:AFRK -afrikaner:AFRK:AFRK -afterburn:AFTR:AFTR -aftercare:AFTR:AFTR -afterdamp:AFTR:AFTR -afterdeck:AFTR:AFTR -afterglow:AFTR:AFTR -afterlife:AFTR:AFTR -aftermath:AFTR:AFTR -aftermost:AFTR:AFTR -afternoon:AFTR:AFTR -afterpain:AFTR:AFTR -afterward:AFTR:AFTR -agalactia:AKLK:AKLK -agamemnon:AKMM:AKMM -agamogony:AKMK:AKMK -agelessly:AJLS:AKLS -agentries:AJNT:AKNT -ageratums:AKRT:AJRT -aggrading:AKRT:AKRT -aggravate:AKRF:AKRF -aggregate:AKRK:AKRK -aggressin:AKRS:AKRS -aggressor:AKRS:AKRS -aggrieved:AKRF:AKRF -aggrieves:AKRF:AKRF -agileness:AJLN:AKLN -agistment:AJST:AKST -agitating:AJTT:AKTT -agitation:AJTX:AKTX -agitators:AJTT:AKTT -agminated:AKMN:AKMN -agnathous:AKN0:ANTS -agnogenic:AKNJ:ANKN -agnostics:AKNS:ANST -agonistic:AKNS:AKNS -agonizing:AKNS:AKNS -agrarians:AKRR:AKRR -agreation:AKRX:AKRX -agreeable:AKRP:AKRP -agreeably:AKRP:AKRP -agreement:AKRM:AKRM -agromania:AKRM:AKRM -agronomic:AKRN:AKRN -agropyron:AKRP:AKRP -agrypniai:AKRP:AKRP -aigrettes:AKRT:AKRT -ailanthus:ALN0:ALNT -aimlessly:AMLS:AMLS -airbornes:ARPR:ARPR -aircrafts:ARKR:ARKR -airdromes:ARTR:ARTR -airedales:ARTL:ARTL -airfields:ARFL:ARFL -airframes:ARFR:ARFR -airlessly:ARLS:ARLS -airlifted:ARLF:ARLF -airliners:ARLN:ARLN -airmailed:ARML:ARML -airmobile:ARMP:ARMP -airplanes:ARPL:ARPL -airspaces:ARSP:ARSP -airspeeds:ARSP:ARSP -airstream:ARST:ARST -airstrips:ARST:ARST -airworthy:ARR0:ARRT -aisleless:ALLS:ALLS -aitchbone:AXPN:AXPN -aitiology:ATLJ:ATLK -akhenaton:AKNT:AKNT -alabamian:ALPM:ALPM -alabaster:ALPS:ALPS -alarmists:ALRM:ALRM -albacores:ALPK:ALPK -albanians:ALPN:ALPN -albatross:ALPT:ALPT -albertans:ALPR:ALPR -albescent:ALPS:ALPS -albinoism:ALPN:ALPN -albinotic:ALPN:ALPN -albuginea:ALPJ:ALPK -alchemist:ALXM:ALKM -alchemize:ALXM:ALKM -alcoholic:ALKH:ALKH -aldehydes:ALTH:ALTH -aleatoric:ALTR:ALTR -alecithal:ALS0:ALST -aleconner:ALKN:ALKN -alehouses:ALHS:ALHS -alertedly:ALRT:ALRT -alertness:ALRT:ALRT -aleukemia:ALKM:ALKM -aleukemic:ALKM:ALKM -aleutians:ALXN:ALXN -alexander:ALKS:ALKS -alexandra:ALKS:ALKS -algaecide:ALKS:ALKS -algebraic:ALJP:ALKP -algedonic:ALJT:ALKT -algerians:ALKR:ALJR -algogenic:ALKJ:ALKK -algometry:ALKM:ALKM -algonquin:ALKN:ALKN -algorithm:ALKR:ALKR -alicyclic:ALSK:ALSK -alienable:ALNP:ALNP -alienated:ALNT:ALNT -alienates:ALNT:ALNT -alienator:ALNT:ALNT -alienists:ALNS:ALNS -alighting:ALTN:ALTN -alignment:ALNM:ALKN -alikeness:ALKN:ALKN -alimental:ALMN:ALMN -alimonies:ALMN:ALMN -alinement:ALNM:ALNM -aliphatic:ALFT:ALFT -aliveness:ALFN:ALFN -alizarine:ALSR:ALSR -alkadiene:ALKT:ALKT -alkalemia:ALKL:ALKL -alkalized:ALKL:ALKL -alkalizes:ALKL:ALKL -alkaloids:ALKL:ALKL -alkaloses:ALKL:ALKL -alkalosis:ALKL:ALKL -alkalotic:ALKL:ALKL -alkylogen:ALKL:ALKL -allantoic:ALNT:ALNT -allantoid:ALNT:ALNT -allantois:ALNT:ALNT -allayment:ALMN:ALMN -allegator:ALKT:ALKT -allegatum:ALKT:ALKT -allegedly:ALJT:ALKT -allegheny:ALKN:ALKN -allegiant:ALJN:ALKN -allegoric:ALKR:ALKR -alleluias:ALLS:ALLS -allemande:ALMN:ALMN -allentown:ALNT:ALNT -allergens:ALRJ:ALRK -allergies:ALRJ:ALRK -allergist:ALRJ:ALRK -allethrin:AL0R:ALTR -alleviate:ALFT:ALFT -alleyways:ALS:ALS -alliances:ALNS:ALNS -alligator:ALKT:ALKT -allocable:ALKP:ALKP -allocated:ALKT:ALKT -allocatee:ALKT:ALKT -allocates:ALKT:ALKT -allocator:ALKT:ALKT -allocatur:ALKT:ALKT -allogenic:ALJN:ALKN -allograft:ALKR:ALKR -allograph:ALKR:ALKR -allometry:ALMT:ALMT -allomorph:ALMR:ALMR -allopaths:ALP0:ALPT -allopathy:ALP0:ALPT -allophone:ALFN:ALFN -allophore:ALFR:ALFR -alloplasm:ALPL:ALPL -allotment:ALTM:ALTM -allotrope:ALTR:ALTR -allotropy:ALTR:ALTR -allottees:ALTS:ALTS -allotters:ALTR:ALTR -allotting:ALTN:ALTN -allotypes:ALTP:ALTP -allotypic:ALTP:ALTP -allowable:ALPL:ALPL -allowably:ALPL:ALPL -allowance:ALNS:ALNS -allowedly:ALTL:ALTL -allspices:ALSP:ALSP -allusions:ALSN:ALXN -alluviums:ALFM:ALFM -almandine:ALMN:ALMN -almandite:ALMN:ALMN -almonries:ALMN:ALMN -almsgiver:ALMS:ALMS -almshouse:ALMX:ALMX -aloneness:ALNN:ALNN -alongside:ALNK:ALNK -aloofness:ALFN:ALFN -alpenglow:ALPN:ALPN -alpenhorn:ALPN:ALPN -alphabets:ALFP:ALFP -alpinists:ALPN:ALPN -alsatians:ALSX:ALSX -alstonine:ALST:ALST -alterable:ALTR:ALTR -alterably:ALTR:ALTR -altercate:ALTR:ALTR -alternate:ALTR:ALTR -altimetry:ALTM:ALTM -altitudes:ALTT:ALTT -altricial:ALTR:ALTR -altruists:ALTR:ALTR -aluminium:ALMN:ALMN -aluminize:ALMN:ALMN -aluminous:ALMN:ALMN -alveolate:ALFL:ALFL -alzheimer:ALJM:ALJM -amaranths:AMRN:AMRN -amaroidal:AMRT:AMRT -amaryllis:AMRL:AMRL -amassment:AMSM:AMSM -amatively:AMTF:AMTF -amatorial:AMTR:AMTR -amauroses:AMRS:AMRS -amaurosis:AMRS:AMRS -amaurotic:AMRT:AMRT -amazement:AMSM:AMSM -amazingly:AMSN:AMSN -amazonian:AMSN:AMSN -amazonite:AMSN:AMSN -ambergris:AMPR:AMPR -ambiances:AMPN:AMPN -ambiences:AMPN:AMPN -ambiguity:AMPK:AMPK -ambiguous:AMPK:AMPK -ambitions:AMPX:AMPX -ambitious:AMPT:AMPT -ambiverts:AMPF:AMPF -amblyomma:AMPL:AMPL -amblyopia:AMPL:AMPL -amblyopic:AMPL:AMPL -ambrosial:AMPR:AMPR -ambrosian:AMPR:AMPR -ambulance:AMPL:AMPL -ambulated:AMPL:AMPL -ambulates:AMPL:AMPL -ambulator:AMPL:AMPL -ambuscade:AMPS:AMPS -ambushers:AMPX:AMPX -ambushing:AMPX:AMPX -amebiases:AMPS:AMPS -amebiasis:AMPS:AMPS -amebocyte:AMPS:AMPS -amendable:AMNT:AMNT -amendment:AMNT:AMNT -amenities:AMNT:AMNT -amerasian:AMRS:AMRX -americana:AMRK:AMRK -americans:AMRK:AMRK -americium:AMRS:AMRS -amerindic:AMRN:AMRN -ameristic:AMRS:AMRS -amethysts:AM0S:AMTS -ametropia:AMTR:AMTR -ametropic:AMTR:AMTR -amidoxime:AMTK:AMTK -amidships:AMTX:AMTX -aminating:AMNT:AMNT -ammoniate:AMNT:AMNT -amnesiacs:AMNS:AMNX -amnestied:AMNS:AMNS -amnesties:AMNS:AMNS -amniotome:AMNT:AMNT -amorality:AMRL:AMRL -amorously:AMRS:AMRS -amorphism:AMRF:AMRF -amorphous:AMRF:AMRF -amortized:AMRT:AMRT -amortizes:AMRT:AMRT -amounters:AMNT:AMNT -amounting:AMNT:AMNT -amperages:AMPR:AMPR -ampersand:AMPR:AMPR -amphibian:AMFP:AMFP -amphibole:AMFP:AMFP -amphiboly:AMFP:AMFP -amphigory:AMFK:AMFK -amphioxus:AMFK:AMFK -amphitene:AMFT:AMFT -ampholyte:AMFL:AMFL -amphophil:AMFF:AMFF -amphoraes:AMFR:AMFR -ampleness:AMPL:AMPL -amplified:AMPL:AMPL -amplifier:AMPL:AMPL -amplifies:AMPL:AMPL -amplitude:AMPL:AMPL -ampullary:AMPL:AMPL -ampullula:AMPL:AMPL -amputated:AMPT:AMPT -amputates:AMPT:AMPT -amputator:AMPT:AMPT -amsterdam:AMST:AMST -amusement:AMSM:AMSM -amusingly:AMSN:AMSN -amyelinic:AMLN:AMLN -amyelonic:AMLN:AMLN -amygdalae:AMKT:AMKT -amygdalin:AMKT:AMKT -amylopsin:AMLP:AMLP -amyotonia:AMTN:AMTN -anabaenas:ANPN:ANPN -anabasine:ANPS:ANPS -anabioses:ANPS:ANPS -anabiosis:ANPS:ANPS -anabiotic:ANPT:ANPT -anabolism:ANPL:ANPL -anabolite:ANPL:ANPL -anabranch:ANPR:ANPR -anacidity:ANST:ANST -anaclases:ANKL:ANKL -anaclasis:ANKL:ANKL -anaclitic:ANKL:ANKL -anacondas:ANKN:ANKN -anacruses:ANKR:ANKR -anacrusis:ANKR:ANKR -anaerobes:ANRP:ANRP -anaerobic:ANRP:ANRP -analeptic:ANLP:ANLP -analgesia:ANLJ:ANLK -analgesic:ANLJ:ANLK -analgetic:ANLK:ANLK -analities:ANLT:ANLT -analogies:ANLJ:ANLK -analogist:ANLJ:ANLK -analogize:ANLJ:ANLK -analogous:ANLK:ANLK -analogues:ANLK:ANLK -analysand:ANLS:ANLS -analyzers:ANLS:ANLS -analyzing:ANLS:ANLS -anamneses:ANMN:ANMN -anamnesis:ANMN:ANMN -anapestic:ANPS:ANPS -anaphases:ANFS:ANFS -anaphoric:ANFR:ANFR -anaplasia:ANPL:ANPL -anaplasma:ANPL:ANPL -anaplasty:ANPL:ANPL -anarchial:ANRK:ANRK -anarchies:ANRX:ANRK -anarchism:ANRX:ANRK -anarchist:ANRX:ANRK -anarthria:ANR0:ANRT -anathemas:AN0M:ANTM -anatocism:ANTS:ANTS -anatolian:ANTL:ANTL -anatomies:ANTM:ANTM -anatomist:ANTM:ANTM -anatomize:ANTM:ANTM -ancestors:ANSS:ANSS -ancestral:ANSS:ANSS -anchorage:ANXR:ANKR -anchoress:ANXR:ANKR -anchoring:ANXR:ANKR -anchorite:ANXR:ANKR -anchorman:ANXR:ANKR -anchovies:ANXF:ANKF -anchylose:ANXL:ANKL -anciently:ANSN:ANXN -ancillary:ANSL:ANSL -ancipital:ANSP:ANSP -ancipitis:ANSP:ANSP -ancyloses:ANSL:ANSL -ancylosis:ANSL:ANSL -ancylotic:ANSL:ANSL -andalusia:ANTL:ANTL -andantino:ANTN:ANTN -androcyte:ANTR:ANTR -androgens:ANTR:ANTR -androgyne:ANTR:ANTR -androgyny:ANTR:ANTR -andromeda:ANTR:ANTR -anecdotal:ANKT:ANKT -anecdotes:ANKT:ANKT -anecdotic:ANKT:ANKT -anestrous:ANST:ANST -aneuploid:ANPL:ANPL -aneurisms:ANRS:ANRS -aneurysms:ANRS:ANRS -angelfish:ANJL:ANKL -angelical:ANJL:ANKL -angelicas:ANJL:ANKL -angiocyst:ANJS:ANKS -angiogram:ANJK:ANKK -angiology:ANJL:ANKL -angiomata:ANJM:ANKM -angleworm:ANKL:ANKL -anglicans:ANKL:ANLK -anglicism:ANKL:ANLS -anglicize:ANKL:ANLS -angostura:ANKS:ANKS -angstroms:ANKS:ANKS -anguished:ANKX:ANKX -anguishes:ANKX:ANKX -angularly:ANKL:ANKL -angulated:ANKL:ANKL -anhedonia:ANTN:ANTN -anhistous:ANST:ANST -anhydrase:ANTR:ANTR -anhydride:ANTR:ANTR -anhydrous:ANTR:ANTR -anicteric:ANKT:ANKT -anidroses:ANTR:ANTR -anidrosis:ANTR:ANTR -anidrotic:ANTR:ANTR -anilingus:ANLN:ANLN -anilinism:ANLN:ANLN -anilities:ANLT:ANLT -animalism:ANML:ANML -animalist:ANML:ANML -animality:ANML:ANML -animately:ANMT:ANMT -animaters:ANMT:ANMT -animating:ANMT:ANMT -animation:ANMX:ANMX -animators:ANMT:ANMT -animistic:ANMS:ANMS -animosity:ANMS:ANMS -anionical:ANNK:ANNK -anisogamy:ANSK:ANSK -anklebone:ANKL:ANKL -ankyloses:ANKL:ANKL -ankylosis:ANKL:ANKL -ankylotic:ANKL:ANKL -annalists:ANLS:ANLS -annapolis:ANPL:ANPL -annealers:ANLR:ANLR -annealing:ANLN:ANLN -annectant:ANKT:ANKT -annectent:ANKT:ANKT -annexable:ANKS:ANKS -annotated:ANTT:ANTT -annotates:ANTT:ANTT -annotator:ANTT:ANTT -announced:ANNS:ANNS -announcer:ANNS:ANNS -announces:ANNS:ANNS -annoyance:ANNS:ANNS -annualize:ANLS:ANLS -annuitant:ANTN:ANTN -annuities:ANTS:ANTS -annularly:ANLR:ANLR -annulated:ANLT:ANLT -annulling:ANLN:ANLN -annulment:ANLM:ANLM -annuluses:ANLS:ANLS -anodizing:ANTS:ANTS -anodontia:ANTN:ANTN -anoestrum:ANST:ANST -anoestrus:ANST:ANST -anointers:ANNT:ANNT -anointing:ANNT:ANNT -anomalies:ANML:ANML -anomalous:ANML:ANML -anonychia:ANNK:ANNK -anonymaes:ANNM:ANNM -anonymity:ANNM:ANNM -anonymous:ANNM:ANNM -anopheles:ANFL:ANFL -anoplasty:ANPL:ANPL -anorchism:ANRX:ANRK -anorectal:ANRK:ANRK -anorectic:ANRK:ANRK -anorexics:ANRK:ANRK -anorganic:ANRK:ANRK -anosmatic:ANSM:ANSM -anovulant:ANFL:ANFL -anoxaemia:ANKS:ANKS -anoxaemic:ANKS:ANKS -anschluss:ANXL:ANXL -anserinae:ANSR:ANSR -answerers:ANSR:ANSR -answering:ANSR:ANSR -antalkali:ANTL:ANTL -antarctic:ANTR:ANTR -anteaters:ANTT:ANTT -anteceded:ANTS:ANTS -antecedes:ANTS:ANTS -antechoir:ANTX:ANTK -antecornu:ANTK:ANTK -antedated:ANTT:ANTT -antedates:ANTT:ANTT -antefixes:ANTF:ANTF -antefixia:ANTF:ANTF -antelopes:ANTL:ANTL -antenatal:ANTN:ANTN -antenatus:ANTN:ANTN -antennaes:ANTN:ANTN -antennary:ANTN:ANTN -anterooms:ANTR:ANTR -antetypes:ANTT:ANTT -anteverts:ANTF:ANTF -anthelion:AN0L:ANTL -anthocyan:AN0S:ANTS -anthology:AN0L:ANTL -anthraces:AN0R:ANTR -anthralin:AN0R:ANTR -anthurium:AN0R:ANTR -antiauxin:ANXK:ANXK -antibiont:ANTP:ANTP -antichlor:ANTX:ANTK -anticking:ANTK:ANTK -anticline:ANTK:ANTK -anticodon:ANTK:ANTK -antidotal:ANTT:ANTT -antidotes:ANTT:ANTT -antigenic:ANTJ:ANTK -antiguans:ANTK:ANTK -antihelix:ANTH:ANTH -antihuman:ANTH:ANTH -antiknock:ANTK:ANTK -antilabor:ANTL:ANTL -antilapse:ANTL:ANTL -antilobia:ANTL:ANTL -antilyses:ANTL:ANTL -antilysin:ANTL:ANTL -antilysis:ANTL:ANTL -antilytic:ANTL:ANTL -antimeres:ANTM:ANTM -antimeric:ANTM:ANTM -antimonic:ANTM:ANTM -antimonyl:ANTM:ANTM -antimycin:ANTM:ANTM -antinodal:ANTN:ANTN -antinodes:ANTN:ANTN -antinoise:ANTN:ANTN -antinomic:ANTN:ANTN -antinovel:ANTN:ANTN -antipasto:ANTP:ANTP -antipathy:ANTP:ANTP -antiphons:ANTF:ANTF -antiphony:ANTF:ANTF -antipodal:ANTP:ANTP -antipodes:ANTP:ANTP -antipoles:ANTP:ANTP -antipopes:ANTP:ANTP -antiquary:ANTK:ANTK -antiquate:ANTK:ANTK -antiquely:ANTK:ANTK -antiquing:ANTK:ANTK -antiquity:ANTK:ANTK -antiserum:ANTS:ANTS -antishock:ANTX:ANTX -antitheft:ANT0:ANTT -antitoxic:ANTT:ANTT -antitoxin:ANTT:ANTT -antitragi:ANTT:ANTT -antitrope:ANTT:ANTT -antitrust:ANTT:ANTT -antitumor:ANTT:ANTT -antitypes:ANTT:ANTT -antitypic:ANTT:ANTT -antiunion:ANTN:ANTN -antivenin:ANTF:ANTF -antiviral:ANTF:ANTF -antivirus:ANTF:ANTF -antiworld:ANTR:ANTR -antrotomy:ANTR:ANTR -anvilling:ANFL:ANFL -anxieties:ANKS:ANKS -anxiously:ANKS:ANKS -anybodies:ANPT:ANPT -aparchial:APRK:APRK -aparchies:APRX:APRK -apartheid:APR0:APRT -apartment:APRT:APRT -apathetic:AP0T:APTT -apennines:APNN:APNN -aperients:APRN:APRN -aperiodic:APRT:APRT -aperitifs:APRT:APRT -aperitive:APRT:APRT -apertural:APRT:APRT -apertures:APRT:APRT -apetalous:APTL:APTL -aphanites:AFNT:AFNT -aphasiacs:AFSK:AFXK -aphidious:AFTS:AFTS -aphoriser:AFRS:AFRS -aphorises:AFRS:AFRS -aphorisms:AFRS:AFRS -aphorists:AFRS:AFRS -aphorized:AFRS:AFRS -aphorizes:AFRS:AFRS -aphrodite:AFRT:AFRT -aphthoses:AF0S:AFTS -aphthosis:AF0S:AFTS -aphyllous:AFLS:AFLS -apiarists:APRS:APRS -apishness:APXN:APXN -apivorous:APFR:APFR -apneustic:APNS:APNS -apocopate:APKP:APKP -apocrypha:APKR:APKR -apoenzyme:APNS:APNS -apographa:APKR:APKR -apologias:APLJ:APLK -apologies:APLJ:APLK -apologist:APLJ:APLK -apologize:APLJ:APLK -apomictic:APMK:APMK -apophasis:APFS:APFS -apophyges:APFJ:APFK -apophyses:APFS:APFS -apophysis:APFS:APFS -apostasis:APST:APST -apostates:APST:APST -apostaxes:APST:APST -apostaxis:APST:APST -apostolic:APST:APST -apothegms:AP0K:APTK -apozymase:APSM:APSM -appalling:APLN:APLN -appaloosa:APLS:APLS -appanages:APNJ:APNK -apparatus:APRT:APRT -appareled:APRL:APRL -apparitor:APRT:APRT -appealers:APLR:APLR -appealing:APLN:APLN -appearers:APRR:APRR -appearing:APRN:APRN -appeasers:APSR:APSR -appeasing:APSN:APSN -appellant:APLN:APLN -appellate:APLT:APLT -appellees:APLS:APLS -appellors:APLR:APLR -appendage:APNT:APNT -appendant:APNT:APNT -appenders:APNT:APNT -appending:APNT:APNT -appertain:APRT:APRT -appestats:APST:APST -appetence:APTN:APTN -appetency:APTN:APTN -appetites:APTT:APTT -appetizer:APTS:APTS -applanate:APLN:APLN -applauded:APLT:APLT -applauder:APLT:APLT -applecart:APLK:APLK -applejack:APLJ:APLJ -appliance:APLN:APLN -applicant:APLK:APLK -appliqued:APLK:APLK -appliques:APLK:APLK -appointed:APNT:APNT -appointee:APNT:APNT -appointer:APNT:APNT -appointor:APNT:APNT -apportion:APRX:APRX -apposable:APSP:APSP -appraisal:APRS:APRS -appraised:APRS:APRS -appraiser:APRS:APRS -appraises:APRS:APRS -apprehend:APRH:APRH -appressed:APRS:APRS -apprisers:APRS:APRS -apprizing:APRS:APRS -approbate:APRP:APRP -approvals:APRF:APRF -approvers:APRF:APRF -approving:APRF:APRF -apriorism:APRR:APRR -apriority:APRR:APRR -apronlike:APRN:APRN -aprosexia:APRS:APRS -aptitudes:APTT:APTT -aptyalism:APTL:APTL -apyrexial:APRK:APRK -apyrexias:APRK:APRK -apyrexies:APRK:APRK -aquacades:AKKT:AKKT -aqualungs:AKLN:AKLN -aquanauts:AKNT:AKNT -aquaplane:AKPL:AKPL -aquarelle:AKRL:AKRL -aquarians:AKRN:AKRN -aquarists:AKRS:AKRS -aquariums:AKRM:AKRM -aquashows:AKXS:AKXS -aqueducts:AKTK:AKTK -aqueously:AKSL:AKSL -aquetints:AKTN:AKTN -aquiclude:AKKL:AKKL -aquitaine:AKTN:AKTN -arabesque:ARPS:ARPS -arabinose:ARPN:ARPN -arabising:ARPS:ARPS -arachidic:ARXT:ARKT -arachnida:ARKN:ARKN -arachnids:ARKN:ARKN -arachnoid:ARKN:ARKN -arbalests:ARPL:ARPL -arbitrage:ARPT:ARPT -arbitrary:ARPT:ARPT -arbitrate:ARPT:ARPT -arbitress:ARPT:ARPT -arboreous:ARPR:ARPR -arboretum:ARPR:ARPR -arborists:ARPR:ARPR -arborized:ARPR:ARPR -arborizes:ARPR:ARPR -arbourise:ARPR:ARPR -arbovirus:ARPF:ARPF -arbutuses:ARPT:ARPT -arcatures:ARKT:ARKT -archaicer:ARXS:ARKS -archaisms:ARXS:ARKS -archaists:ARXS:ARKS -archaized:ARXS:ARKS -archaizer:ARXS:ARKS -archaizes:ARXS:ARKS -archangel:ARXN:ARKN -archducal:ARXT:ARKT -archduchy:ARXT:ARKT -archdukes:ARXT:ARKT -archenemy:ARXN:ARKN -archetype:ARXT:ARKT -archfiend:ARXF:ARKF -archiater:ARKT:ARKT -architect:ARKT:ARKT -archivers:ARXF:ARKF -archiving:ARXF:ARKF -archivist:ARXF:ARKF -arcograph:ARKK:ARKK -arcuately:ARKT:ARKT -arcuation:ARKX:ARKX -arduously:ARTS:ARTS -arecoline:ARKL:ARKL -areflexia:ARFL:ARFL -areopagus:ARPK:ARPK -argasidae:ARKS:ARKS -argentina:ARJN:ARKN -argentine:ARJN:ARKN -argentite:ARJN:ARKN -argentous:ARJN:ARKN -argillite:ARJL:ARKL -argonauts:ARKN:ARKN -arguments:ARKM:ARKM -argyroses:ARJR:ARKR -argyrosis:ARJR:ARKR -arianists:ARNS:ARNS -arillodes:ARLT:ARLT -arimathea:ARM0:ARMT -aristotle:ARST:ARST -arizonans:ARSN:ARSN -arizonian:ARSN:ARSN -arkansans:ARKN:ARKN -armadillo:ARMT:ARMT -armaments:ARMM:ARMM -armariums:ARMR:ARMR -armatures:ARMT:ARMT -armchairs:ARMX:ARMK -armenians:ARMN:ARMN -armillary:ARML:ARML -armistice:ARMS:ARMS -armlessly:ARML:ARML -armorless:ARMR:ARMR -armstrong:ARMS:ARMS -armyworms:ARMR:ARMR -aromatize:ARMT:ARMT -arpeggios:ARPK:ARPK -arraigned:ARNT:ARKN -arraigner:ARNR:ARKN -arrangers:ARNK:ARNJ -arranging:ARNJ:ARNK -arrearage:ARRJ:ARRK -arrectors:ARKT:ARKT -arrestees:ARST:ARST -arresters:ARST:ARST -arresting:ARST:ARST -arrestors:ARST:ARST -arrivisme:ARFS:ARFS -arriviste:ARFS:ARFS -arrogance:ARKN:ARKN -arrogated:ARKT:ARKT -arrogates:ARKT:ARKT -arrogator:ARKT:ARKT -arrowhead:ART:ART -arrowroot:ARRT:ARRT -arrythmia:AR0M:ARTM -arsenates:ARSN:ARSN -arsenical:ARSN:ARSN -arsenious:ARSN:ARSN -arsonists:ARSN:ARSN -artemisia:ARTM:ARTM -arterenol:ARTR:ARTR -arteriole:ARTR:ARTR -arteriosi:ARTR:ARTR -arteritis:ARTR:ARTR -artesians:ARTS:ARTX -arthogram:AR0K:ARTK -arthritic:AR0R:ARTR -arthritis:AR0R:ARTR -arthrodia:AR0R:ARTR -arthropod:AR0R:ARTR -arthroses:AR0R:ARTR -arthrosis:AR0R:ARTR -arthurian:AR0R:ARTR -artichoke:ARTX:ARTK -articular:ARTK:ARTK -articulus:ARTK:ARTK -artifacts:ARTF:ARTF -artificer:ARTF:ARTF -artifices:ARTF:ARTF -artillery:ARTL:ARTL -artlessly:ARTL:ARTL -aryanized:ARNS:ARNS -aryanizes:ARNS:ARNS -arytenoid:ARTN:ARTN -asafetida:ASFT:ASFT -asbestine:ASPS:ASPS -ascarides:ASKR:ASKR -ascaridia:ASKR:ASKR -ascendant:ASNT:ASNT -ascendent:ASNT:ASNT -ascenders:ASNT:ASNT -ascendeur:ASNT:ASNT -ascending:ASNT:ASNT -ascension:ASNS:ASNX -ascertain:ASRT:ASRT -ascetical:ASTK:ASTK -asclepiad:ASKP:ASKP -asclepias:ASKP:ASKP -ascogonia:ASKK:ASKK -ascorbate:ASKR:ASKR -ascospore:ASKS:ASKS -ascribing:ASKP:ASKP -asexually:ASKS:ASKS -ashamedly:AXMT:AXMT -ashlaring:AXLR:AXLR -ashplants:AXPL:AXPL -asininely:ASNN:ASNN -asininity:ASNN:ASNN -asparagus:ASPR:ASPR -aspartase:ASPR:ASPR -aspartate:ASPR:ASPR -aspartoyl:ASPR:ASPR -aspectual:ASPK:ASPK -aspersers:ASPR:ASPR -aspersing:ASPR:ASPR -aspersion:ASPR:ASPR -aspersive:ASPR:ASPR -asphalted:ASFL:ASFL -asphaltic:ASFL:ASFL -asphaltum:ASFL:ASFL -asphodels:ASFT:ASFT -asphyxial:ASFK:ASFK -aspidinol:ASPT:ASPT -aspirants:ASPR:ASPR -aspirated:ASPR:ASPR -aspirates:ASPR:ASPR -aspirator:ASPR:ASPR -asplenium:ASPL:ASPL -assailant:ASLN:ASLN -assailers:ASLR:ASLR -assailing:ASLN:ASLN -assassins:ASSN:ASSN -assaulted:ASLT:ASLT -assaulter:ASLT:ASLT -assayable:ASPL:ASPL -assembled:ASMP:ASMP -assembler:ASMP:ASMP -assembles:ASMP:ASMP -assenting:ASNT:ASNT -assentors:ASNT:ASNT -asserters:ASRT:ASRT -asserting:ASRT:ASRT -assertion:ASRX:ASRX -assertive:ASRT:ASRT -assertors:ASRT:ASRT -assessees:ASSS:ASSS -assessing:ASSN:ASSN -assessors:ASSR:ASSR -assiduity:ASTT:ASTT -assiduous:ASTS:ASTS -assignees:ASNS:ASKN -assigners:ASNR:ASKN -assigning:ASNN:ASKN -assignors:ASNR:ASKN -assistant:ASST:ASST -assisters:ASST:ASST -assisting:ASST:ASST -assistors:ASST:ASST -associate:ASST:ASXT -assonance:ASNN:ASNN -assorters:ASRT:ASRT -assorting:ASRT:ASRT -assortive:ASRT:ASRT -assuaging:ASJN:ASKN -assuasive:ASSF:ASSF -assumable:ASMP:ASMP -assumably:ASMP:ASMP -assumedly:ASMT:ASMT -assumpsit:ASMP:ASMP -assurable:ASRP:ASRP -assurance:ASRN:ASRN -assuredly:ASRT:ASRT -assurgent:ASRJ:ASRK -assyrians:ASRN:ASRN -asterisks:ASTR:ASTR -asterisms:ASTR:ASTR -asteroids:ASTR:ASTR -asthmatic:AS0M:ASTM -astounded:ASTN:ASTN -astrachan:ASTR:ASTR -astraddle:ASTR:ASTR -astragali:ASTR:ASTR -astrakhan:ASTR:ASTR -astringed:ASTR:ASTR -astrocyte:ASTR:ASTR -astrodome:ASTR:ASTR -astrolabe:ASTR:ASTR -astrology:ASTR:ASTR -astronaut:ASTR:ASTR -astronomy:ASTR:ASTR -asyllabia:ASLP:ASLP -asyllabic:ASLP:ASLP -asymbolia:ASMP:ASMP -asymmetry:ASMT:ASMT -asymptote:ASMP:ASMP -asynapses:ASNP:ASNP -asynapsis:ASNP:ASNP -asyndeses:ASNT:ASNT -asyndesis:ASNT:ASNT -asynergia:ASNR:ASNR -asynergic:ASNR:ASNR -asystolic:ASST:ASST -ataractic:ATRK:ATRK -atavistic:ATFS:ATFS -atelioses:ATLS:ATLS -ateliosis:ATLS:ATLS -ateliotic:ATLT:ATLT -atemporal:ATMP:ATMP -atheistic:A0ST:ATST -athelings:A0LN:ATLN -athenaeum:A0NM:ATNM -athenians:A0NN:ATNN -atheromas:A0RM:ATRM -atheteses:A0TS:ATTS -athetesis:A0TS:ATTS -athetoses:A0TS:ATTS -athetosic:A0TS:ATTS -athetosis:A0TS:ATTS -athetotic:A0TT:ATTT -athletics:A0LT:ATLT -athrepsia:A0RP:ATRP -athreptic:A0RP:ATRP -athrocyte:A0RS:ATRS -athyrosis:A0RS:ATRS -atlantean:ATLN:ATLN -atloaxoid:ATLK:ATLK -atmolyses:ATML:ATML -atmolysis:ATML:ATML -atomicity:ATMS:ATMS -atomistic:ATMS:ATMS -atomizers:ATMS:ATMS -atomizing:ATMS:ATMS -atonalism:ATNL:ATNL -atonality:ATNL:ATNL -atoneable:ATNP:ATNP -atonement:ATNM:ATNM -atonicity:ATNS:ATNS -atoningly:ATNN:ATNN -atrichous:ATRX:ATRK -atrocious:ATRS:ATRX -atrophied:ATRF:ATRF -atrophies:ATRF:ATRF -atroscine:ATRS:ATRS -attachers:ATXR:ATKR -attaching:ATXN:ATKN -attackers:ATKR:ATKR -attacking:ATKN:ATKN -attainder:ATNT:ATNT -attainers:ATNR:ATNR -attaining:ATNN:ATNN -attainted:ATNT:ATNT -attempted:ATMP:ATMP -attempter:ATMP:ATMP -attendant:ATNT:ATNT -attendees:ATNT:ATNT -attenders:ATNT:ATNT -attending:ATNT:ATNT -attention:ATNX:ATNX -attentive:ATNT:ATNT -attenuant:ATNN:ATNN -attenuate:ATNT:ATNT -attermine:ATRM:ATRM -attestant:ATST:ATST -attesters:ATST:ATST -attesting:ATST:ATST -attestors:ATST:ATST -attitudes:ATTT:ATTT -attorneys:ATRN:ATRN -attracted:ATRK:ATRK -attractor:ATRK:ATRK -attribute:ATRP:ATRP -attrition:ATRX:ATRX -attritive:ATRT:ATRT -aubergine:APRJ:APRK -aubrietia:APRX:APRX -auceptary:ASPT:ASPT -auctioned:AKXN:AKXN -auctorial:AKTR:AKTR -audacious:ATSS:ATXS -audiences:ATNS:ATNS -audiogram:ATKR:ATKR -audiology:ATLJ:ATLK -audiotape:ATTP:ATTP -auditions:ATXN:ATXN -auditoria:ATTR:ATTR -augmented:AKMN:AKMN -augmenter:AKMN:AKMN -augmentor:AKMN:AKMN -augurship:AKRX:AKRX -augustans:AKST:AKST -augustine:AKST:AKST -aureately:ARTL:ARTL -auriculae:ARKL:ARKL -auricular:ARKL:ARKL -auriculas:ARKL:ARKL -auschwitz:AXTS:AXFX -auslander:ASLN:ASLN -austerely:ASTR:ASTR -austerity:ASTR:ASTR -australia:ASTR:ASTR -austrians:ASTR:ASTR -autarchic:ATRX:ATRK -autarkies:ATRK:ATRK -autarkist:ATRK:ATRK -autecious:ATSS:ATXS -authentic:A0NT:ATNT -authoress:A0RS:ATRS -authorial:A0RL:ATRL -authoring:A0RN:ATRN -authority:A0RT:ATRT -authorize:A0RS:ATRS -autobahns:ATPN:ATPN -autocades:ATKT:ATKT -autoclave:ATKL:ATKL -autocracy:ATKR:ATKR -autocrats:ATKR:ATKR -autoecism:ATSS:ATSS -autogamic:ATKM:ATKM -autogenic:ATJN:ATKN -autogiros:ATJR:ATKR -autograft:ATKR:ATKR -autograph:ATKR:ATKR -autoicous:ATKS:ATKS -autolysin:ATLS:ATLS -autolysis:ATLS:ATLS -autolytic:ATLT:ATLT -autolyzed:ATLS:ATLS -autolyzes:ATLS:ATLS -automated:ATMT:ATMT -automates:ATMT:ATMT -automatic:ATMT:ATMT -automaton:ATMT:ATMT -automixes:ATMK:ATMK -automixis:ATMK:ATMK -autonomic:ATNM:ATNM -autophagy:ATFK:ATFJ -autopilot:ATPL:ATPL -autoploid:ATPL:ATPL -autopsied:ATPS:ATPS -autopsies:ATPS:ATPS -autoscope:ATSK:ATSK -autoserum:ATSR:ATSR -autosites:ATST:ATST -autosomal:ATSM:ATSM -autosomes:ATSM:ATSM -autotelic:ATTL:ATTL -autotoxin:ATTK:ATTK -autotroph:ATTR:ATTR -autotypes:ATTP:ATTP -autotypic:ATTP:ATTP -autrefois:ATRF:ATRF -auxiliary:AKSL:AKSL -auxodrome:AKST:AKST -auxotonic:AKST:AKST -auxotroph:AKST:AKST -available:AFLP:AFLP -availably:AFLP:AFLP -avalanche:AFLN:AFLN -avalvular:AFLF:AFLF -avascular:AFSK:AFSK -averagely:AFRJ:AFRK -averaging:AFRJ:AFRK -averments:AFRM:AFRM -aversions:AFRS:AFRX -avertable:AFRT:AFRT -avertible:AFRT:AFRT -avianized:AFNS:AFNS -avianizes:AFNS:AFNS -aviarists:AFRS:AFRS -aviatress:AFTR:AFTR -avirulent:AFRL:AFRL -avizandum:AFSN:AFSN -avocadoes:AFKT:AFKT -avocation:AFKX:AFKX -avoidable:AFTP:AFTP -avoidably:AFTP:AFTP -avoidance:AFTN:AFTN -avouching:AFXN:AFKN -avuncular:AFNK:AFNK -awakening:AKNN:AKNN -awardable:ARTP:ARTP -awareness:ARNS:ARNS -awesomely:ASML:ASML -awestruck:ASTR:ASTR -awfulness:AFLN:AFLN -awkwardly:AKRT:AKRT -axiallity:AKSL:AKSL -axiomatic:AKSM:AKSM -axletrees:AKSL:AKSL -axminster:AKSM:AKSM -ayatollah:ATL:ATL -aylesbury:ALSP:ALSP -azaserine:ASSR:ASSR -azeotrope:ASTR:ASTR -azimuthal:ASM0:ASMT -azimuthes:ASM0:ASMT -azolitmin:ASLT:ASLT -azotising:ASTS:ASTS -babblings:PPLN:PPLN -baboonish:PPNX:PPNX -babushkas:PPXK:PPXK -babylonia:PPLN:PPLN -bacchanal:PXNL:PXNL -bacchante:PXNT:PXNT -bacchants:PXNT:PXNT -bacciform:PXFR:PXFR -bachelors:PXLR:PKLR -bacillary:PSLR:PSLR -backaches:PKXS:PKKS -backarrow:PKR:PKRF -backbears:PKPR:PKPR -backbeats:PKPT:PKPT -backbench:PKPN:PKPN -backbends:PKPN:PKPN -backbiter:PKPT:PKPT -backbites:PKPT:PKPT -backboard:PKPR:PKPR -backbones:PKPN:PKPN -backbreak:PKPR:PKPR -backcloth:PKKL:PKKL -backcombs:PKKM:PKKM -backcourt:PKKR:PKKR -backcross:PKKR:PKKR -backdated:PKTT:PKTT -backdrops:PKTR:PKTR -backfield:PKFL:PKFL -backfills:PKFL:PKFL -backfired:PKFR:PKFR -backfires:PKFR:PKFR -backhands:PKNT:PKNT -backpacks:PKPK:PKPK -backplane:PKPL:PKPL -backrests:PKRS:PKRS -backsides:PKST:PKST -backslash:PKSL:PKSL -backslide:PKSL:PKSL -backspace:PKSP:PKSP -backspins:PKSP:PKSP -backstage:PKST:PKST -backstops:PKST:PKST -backswept:PKSP:PKSP -backtrack:PKTR:PKTR -backwards:PKRT:PKRT -backwater:PKTR:PKTR -backwoods:PKTS:PKTS -backyards:PKRT:PKRT -bacterial:PKTR:PKTR -bacterium:PKTR:PKTR -bacterize:PKTR:PKTR -bacteroid:PKTR:PKTR -badgering:PJRN:PJRN -badinaged:PTNJ:PTNK -badinages:PTNJ:PTNK -badminton:PTMN:PTMN -badmouths:PTM0:PTMT -baedekers:PTKR:PTKR -bagatelle:PKTL:PKTL -bagginess:PJNS:PKNS -bagpipers:PKPP:PKPP -baguettes:PKTS:PKTS -bahamians:PHMN:PHMN -bailiwick:PLK:PLK -bailments:PLMN:PLMN -bailpiece:PLPS:PLPS -bainmarie:PNMR:PNMR -bakehouse:PKHS:PKHS -bakeshops:PKXP:PKXP -baksheesh:PKXX:PKXX -balaclava:PLKL:PLKL -balalaika:PLLK:PLLK -balancers:PLNS:PLNS -balancing:PLNS:PLNS -balanites:PLNT:PLNT -balanitis:PLNT:PLNT -balconies:PLKN:PLKN -baldachin:PLTX:PLTK -baldfaced:PLTF:PLTF -baldpates:PLTP:PLTP -balearics:PLRK:PLRK -balefully:PLFL:PLFL -balkanize:PLKN:PLKN -balkiness:PLKN:PLKN -balladeer:PLTR:PLTR -balladers:PLTR:PLTR -ballasted:PLST:PLST -ballerina:PLRN:PL R -ballgowns:PLKN:PLKN -ballismus:PLSM:PLSM -ballistic:PLST:PLST -ballonets:PLNT:PLNT -ballooned:PLNT:PLNT -ballooner:PLNR:PLNR -ballotage:PLTJ:PLTK -balloters:PLTR:PLTR -balloting:PLTN:PLTN -ballparks:PLPR:PLPR -ballpoint:PLPN:PLPN -ballrooms:PLRM:PLRM -ballyhoos:PLHS:PLHS -balmacaan:PLMK:PLMK -balminess:PLMN:PLMN -balmorals:PLMR:PLMR -baltimore:PLTM:PLTM -balusters:PLST:PLST -bamboozle:PMPS:PMPS -banburies:PNPR:PNPR -bancogiro:PNKJ:PNKK -bandaging:PNTJ:PNTK -bandannas:PNTN:PNTN -bandboxes:PNTP:PNTP -banderole:PNTR:PNTR -banderols:PNTR:PNTR -bandicoot:PNTK:PNTK -bandlimit:PNTL:PNTL -bandoleer:PNTL:PNTL -bandolers:PNTL:PNTL -bandolier:PNTL:PNTL -bandstand:PNTS:PNTS -bandwagon:PNTK:PNTK -bandwidth:PNTT:PNTT -baneberry:PNPR:PNPR -banefully:PNFL:PNFL -banishers:PNXR:PNXR -banishing:PNXN:PNXN -banisters:PNST:PNST -banjoists:PNJS:PNJS -bankbooks:PNKP:PNKP -banknotes:PNKN:PNKN -bankrolls:PNKR:PNKR -bankrupts:PNKR:PNKR -bannerets:PNRT:PNRT -bannister:PNST:PNST -banqueted:PNKT:PNKT -banqueter:PNKT:PNKT -banquette:PNKT:PNKT -banterers:PNTR:PNTR -bantering:PNTR:PNTR -bantlings:PNTL:PNTL -bantustan:PNTS:PNTS -baptismal:PPTS:PPTS -baptistry:PPTS:PPTS -baptizers:PPTS:PPTS -baptizing:PPTS:PPTS -barbadian:PRPT:PRPT -barbaloin:PRPL:PRPL -barbarian:PRPR:PRPR -barbarism:PRPR:PRPR -barbarity:PRPR:PRPR -barbarize:PRPR:PRPR -barbarous:PRPR:PRPR -barbecued:PRPK:PRPK -barbecues:PRPK:PRPK -barbering:PRPR:PRPR -barbettes:PRPT:PRPT -barbicans:PRPK:PRPK -barbitone:PRPT:PRPT -barcarole:PRKR:PRKR -barcelona:PRSL:PRSL -barefaced:PRFS:PRFS -bargained:PRKN:PRKN -bargainee:PRKN:PRKN -bargainer:PRKN:PRKN -bargainor:PRKN:PRKN -bargepole:PRJP:PRKP -baritones:PRTN:PRTN -baritosis:PRTS:PRTS -barkeeper:PRKP:PRKP -barnacled:PRNK:PRNK -barnacles:PRNK:PRNK -barnbrack:PRNP:PRNP -barnstorm:PRNS:PRNS -barnyards:PRNR:PRNR -barograms:PRKR:PRKR -barograph:PRKR:PRKR -barometry:PRMT:PRMT -baronetcy:PRNT:PRNT -baroscope:PRSK:PRSK -barotaxes:PRTK:PRTK -barotaxis:PRTK:PRTK -barotitis:PRTT:PRTT -barouches:PRXS:PRKS -barperson:PRPR:PRPR -barracked:PRKT:PRKT -barracuda:PRKT:PRKT -barraging:PRJN:PRKN -barrators:PRTR:PRTR -barreling:PRLN:PRLN -barrettes:PRTS:PRTS -barricade:PRKT:PRKT -barringer:PRNK:PRNJ -barrister:PRST:PRST -barrowful:PRFL:PRFL -barstools:PRST:PRST -bartender:PRTN:PRTN -barterers:PRTR:PRTR -bartering:PRTR:PRTR -bartholin:PR0L:PRTL -bartletts:PRTL:PRTL -barylalia:PRLL:PRLL -baseballs:PSPL:PSPL -baseboard:PSPR:PSPR -baselines:PSLN:PSLN -basements:PSMN:PSMN -baseplate:PSPL:PSPL -bashfully:PXFL:PXFL -basically:PSKL:PSKL -basidiums:PSTM:PSTM -basifixed:PSFK:PSFK -basifying:PSFN:PSFN -basihyoid:PSHT:PSHT -basilican:PSLK:PSLK -basilicas:PSLK:PSLK -basilicon:PSLK:PSLK -basilisks:PSLS:PSLS -basinfuls:PSNF:PSNF -basipetal:PSPT:PSPT -basketful:PSKT:PSKT -basophile:PSFL:PSFL -basophils:PSFL:PSFL -basseting:PSTN:PSTN -bassinets:PSNT:PSNT -basswoods:PSTS:PSTS -bastardly:PSTR:PSTR -bastinade:PSTN:PSTN -bastinado:PSTN:PSTN -bastinoed:PSTN:PSTN -bastioned:PSXN:PSXN -bathhouse:P0S:PTS -batholite:P0LT:PTLT -batholith:P0L0:PTLT -bathonian:P0NN:PTNN -bathrobes:P0RP:PTRP -bathrooms:P0RM:PTRM -battalion:PTLN:PTLN -battement:PTMN:PTMN -battening:PTNN:PTNN -batterers:PTRR:PTRR -batteries:PTRS:PTRS -battering:PTRN:PTRN -battiness:PTNS:PTNS -bavarians:PFRN:PFRN -bawdiness:PTNS:PTNS -bayoneted:PNTT:PNTT -beachcomb:PXKM:PKKM -beachhead:PKT:PKT -beadledom:PTLT:PTLT -beaneries:PNRS:PNRS -beanfeast:PNFS:PNFS -beanstalk:PNST:PNST -bearberry:PRPR:PRPR -beardless:PRTL:PRTL -bearishly:PRXL:PRXL -bearskins:PRSK:PRSK -beastings:PSTN:PSTN -beastlier:PSTL:PSTL -beatified:PTFT:PTFT -beatifies:PTFS:PTFS -beatitude:PTTT:PTTT -beauteous:PTS:PTS -beautiful:PTFL:PTFL -bebeerine:PPRN:PPRN -becalming:PKLM:PKLM -bechterew:PKTR:PKTR -beckenham:PKNM:PKNM -beckoners:PKNR:PKNR -beckoning:PKNN:PKNN -beclouded:PKLT:PKLT -becquerel:PKRL:PKRL -bedaubing:PTPN:PTPN -bedazzled:PTSL:PTSL -bedazzles:PTSL:PTSL -bedecking:PTKN:PTKN -bedeviled:PTFL:PTFL -bedfellow:PTFL:PTFL -bedimming:PTMN:PTMN -bedizened:PTSN:PTSN -bedlamite:PTLM:PTLM -bedraggle:PTRK:PTRK -bedridden:PTRT:PTRT -bedsoniae:PTSN:PTSN -bedspread:PTSP:PTSP -bedspring:PTSP:PTSP -bedsteads:PTST:PTST -bedwarmer:PTRM:PTRM -beechnuts:PKNT:PKNT -beefeater:PFTR:PFTR -beefiness:PFNS:PFNS -beefsteak:PFST:PFST -beekeeper:PKPR:PKPR -beelzebub:PLSP:PLSP -beestings:PSTN:PSTN -beethoven:P0FN:PTFN -beetroots:PTRT:PTRT -befalling:PFLN:PFLN -befitting:PFTN:PFTN -befogging:PFJN:PFKN -befoulers:PFLR:PFLR -befouling:PFLN:PFLN -befriends:PFRN:PFRN -befuddled:PFTL:PFTL -befuddler:PFTL:PFTL -befuddles:PFTL:PFTL -begetters:PKTR:PKTR -begetting:PKTN:PKTN -beggardom:PKRT:PKRT -beggaring:PKRN:PKRN -beginners:PJNR:PKNR -beginning:PJNN:PKNN -begriming:PKRM:PKRM -begrudged:PKRJ:PKRJ -begrudges:PKRJ:PKRJ -beguilers:PKLR:PKLR -beguiling:PKLN:PKLN -behaviors:PHFR:PHFR -beheading:PHTN:PHTN -behemoths:PHM0:PHMT -beholders:PHLT:PHLT -beholding:PHLT:PHLT -behooving:PHFN:PHFN -bejabbers:PJPR:PHPR -bejeweled:PJLT:PJLT -belabored:PLPR:PLPR -belatedly:PLTT:PLTT -beleaguer:PLKR:PLKR -belemnoid:PLMN:PLMN -belgravia:PLKR:PLKR -belibeled:PLPL:PLPL -believers:PLFR:PLFR -believeth:PLF0:PLFT -believing:PLFN:PLFN -belittled:PLTL:PLTL -belittler:PLTL:PLTL -belittles:PLTL:PLTL -bellicist:PLSS:PLSS -bellicose:PLKS:PLKS -bellowers:PLRS:PLRS -bellowing:PLNK:PLNK -bellyache:PLX:PLK -bellyband:PLPN:PLPN -bellyfull:PLFL:PLFL -bellyfuls:PLFL:PLFL -belonging:PLNJ:PLNK -belvedere:PLFT:PLFT -bemegride:PMKR:PMKR -bemoaning:PMNN:PMNN -bemusedly:PMST:PMST -benchmark:PNXM:PNKM -benedicts:PNTK:PNTK -beneficed:PNFS:PNFS -benefices:PNFS:PNFS -beneficia:PNFS:PNFX -benefited:PNFT:PNFT -bengalese:PNKL:PNKL -bengaline:PNKL:PNKL -benighted:PNTT:PNTT -benignant:PNNN:PNKN -benignity:PNNT:PNKN -benthonic:PN0N:PNTN -bentonite:PNTN:PNTN -benumbing:PNMP:PNMP -benzidine:PNST:PNST -benzoates:PNST:PNST -benzoline:PNSL:PNSL -benzolism:PNSL:PNSL -bequeaths:PK0S:PKTS -berbamine:PRPM:PRPM -berberine:PRPR:PRPR -berceuses:PRSS:PRSS -bereaving:PRFN:PRFN -bergapten:PRKP:PRKP -berkelium:PRKL:PRKL -berkshire:PRKX:PRKX -berliners:PRLN:PRLN -bermudans:PRMT:PRMT -bermudian:PRMT:PRMT -bernoulli:PRNL:PRNL -berrylike:PRLK:PRLK -berserker:PRSR:PRSR -bertillon:PRTL:PRTL -beryllium:PRLM:PRLM -beseeched:PSXT:PSKT -beseecher:PSXR:PSKR -beseeches:PSXS:PSKS -beseeming:PSMN:PSMN -besetment:PSTM:PSTM -besetters:PSTR:PSTR -besetting:PSTN:PSTN -besiegers:PSJR:PSKR -besieging:PSJN:PSKN -besmeared:PSMR:PSMR -besotting:PSTN:PSTN -bespangle:PSPN:PSPN -bespatter:PSPT:PSPT -bespreads:PSPR:PSPR -bestially:PSXL:PSXL -bestirred:PSTR:PSTR -bestowals:PSTL:PSTL -bestowers:PSTR:PSTR -bestowing:PSTN:PSTN -bestrewed:PSTR:PSTR -bestrides:PSTR:PSTR -betatrons:PTTR:PTTR -bethlehem:P0LH:PTLH -bethought:P0T:PTT -betokened:PTKN:PTKN -betrayals:PTRL:PTRL -betrayers:PTRR:PTRR -betraying:PTRN:PTRN -betrothal:PTR0:PTRT -betrothed:PTR0:PTRT -betrothes:PTR0:PTRT -bettering:PTRN:PTRN -betulinol:PTLN:PTLN -bevelings:PFLN:PFLN -beverages:PFRJ:PFRK -bewailers:PLRS:PLRS -bewailing:PLNK:PLNK -bewilders:PLTR:PLTR -bewitched:PXT:PXT -bewitches:PXS:PXS -bhutanese:PTNS:PTNS -biathlons:P0LN:PTLN -biblicist:PPLS:PPLS -bibliotic:PPLT:PPLT -bicameral:PKMR:PKMR -bicaudate:PKTT:PKTT -biciliate:PSLT:PSLT -bicipital:PSPT:PSPT -bickerers:PKRR:PKRR -bickering:PKRN:PKRN -biconcave:PKNK:PKNK -bicornate:PKRN:PKRN -bicuspids:PKSP:PKSP -bicyclers:PSKL:PSKL -bicycling:PSKL:PSKL -bicyclist:PSKL:PSKL -bidentate:PTNT:PTNT -biennials:PNLS:PNLS -bienniums:PNMS:PNMS -bifarious:PFRS:PFRS -bifoliate:PFLT:PFLT -bifurcate:PFRK:PFRK -bigamists:PKMS:PKMS -bigamized:PKMS:PKMS -bigamizes:PKMS:PKMS -bigeminal:PJMN:PKMN -bigheaded:PTT:PTT -bigmouths:PKM0:PKMT -bigotedly:PKTT:PKTT -bigotries:PKTR:PKTR -bijection:PJKX:PJKX -bijective:PJKT:PJKT -bilateral:PLTR:PLTR -bilharzia:PLRS:PLRS -bilihumin:PLHM:PLHM -bilingual:PLNK:PLNK -bilirubin:PLRP:PLRP -billabong:PLPN:PLPN -billboard:PLPR:PLPR -billetees:PLTS:PLTS -billeters:PLTR:PLTR -billeting:PLTN:PLTN -billfolds:PLFL:PLFL -billheads:PLTS:PLTS -billhooks:PLKS:PLKS -billiards:PLRT:PLRT -billionth:PLN0:PLNT -billowing:PLNK:PLNK -billycock:PLKK:PLKK -bilobular:PLPL:PLPL -bilocular:PLKL:PLKL -bimastoid:PMST:PMST -bimonthly:PMN0:PMNT -binderies:PNTR:PNTR -biniodide:PNTT:PNTT -binnacles:PNKL:PNKL -binocular:PNKL:PNKL -binomials:PNML:PNML -binovular:PNFL:PNFL -binuclear:PNKL:PNKL -bioassays:PSS:PSS -biochemic:PXMK:PKMK -bioethics:P0KS:PTKS -biogenous:PJNS:PKNS -biography:PKRF:PKRF -biohazard:PHSR:PHSR -biologies:PLJS:PLKS -biologist:PLJS:PLKS -biometric:PMTR:PMTR -bionomics:PNMK:PNMK -bionomies:PNMS:PNMS -bionomist:PNMS:PNMS -biorbital:PRPT:PRPT -biorhythm:PR0M:PRTM -biosensor:PSNS:PSNS -biosphere:PSFR:PSFR -biostatic:PSTT:PSTT -biostrome:PSTR:PSTR -bipartite:PPRT:PPRT -bipinnate:PPNT:PPNT -birchists:PRXS:PRKS -birchites:PRXT:PRKT -birdbaths:PRTP:PRTP -birdbrain:PRTP:PRTP -birdcages:PRTK:PRTK -birdhouse:PRTS:PRTS -bird'seye:PRTS:PRTS -birthdays:PR0T:PRTT -birthmark:PR0M:PRTM -birthrate:PR0R:PRTR -bisecting:PSKT:PSKT -bisection:PSKX:PSKX -bisectors:PSKT:PSKT -bisectrix:PSKT:PSKT -bisexuals:PSKS:PSKS -bishopric:PXPR:PXPR -bismuthal:PSM0:PSMT -bismuthia:PSM0:PSMT -bismuthic:PSM0:PSMT -bismuthyl:PSM0:PSMT -bistratal:PSTR:PSTR -bisulfate:PSLF:PSLF -bisulfide:PSLF:PSLF -bisulfite:PSLF:PSLF -bitmapped:PTMP:PTMP -bitstocks:PTST:PTST -bitstream:PTST:PTST -bitterest:PTRS:PTRS -bivalence:PFLN:PFLN -bivalency:PFLN:PFLN -bivalvate:PFLF:PFLF -bivariate:PFRT:PFRT -biventral:PFNT:PFNT -bizarrely:PSRL:PSRL -blackball:PLKP:PLKP -blackbird:PLKP:PLKP -blackdamp:PLKT:PLKT -blackened:PLKN:PLKN -blackener:PLKN:PLKN -blackfeet:PLKF:PLKF -blackfoot:PLKF:PLKF -blackhead:PLKT:PLKT -blackjack:PLKK:PLKK -blacklegs:PLKL:PLKL -blacklist:PLKL:PLKL -blackmail:PLKM:PLKM -blackness:PLKN:PLKN -blackouts:PLKT:PLKT -blackpool:PLKP:PLKP -blacktail:PLKT:PLKT -blacktops:PLKT:PLKT -blaeberry:PLPR:PLPR -blameable:PLMP:PLMP -blameably:PLMP:PLMP -blameless:PLML:PLML -blanching:PLNX:PLNK -blandness:PLNT:PLNT -blanketed:PLNK:PLNK -blanketer:PLNK:PLNK -blankness:PLNK:PLNK -blaspheme:PLSF:PLSF -blasphemy:PLSF:PLSF -blastemas:PLST:PLST -blastemic:PLST:PLST -blastoffs:PLST:PLST -blastomas:PLST:PLST -blastulae:PLST:PLST -blastular:PLST:PLST -blastulas:PLST:PLST -blatantly:PLTN:PLTN -blathered:PL0R:PLTR -blazoners:PLSN:PLSN -blazoning:PLSN:PLSN -bleachers:PLXR:PLKR -bleaching:PLXN:PLKN -bleakness:PLKN:PLKN -bleariest:PLRS:PLRS -bleedings:PLTN:PLTN -blemished:PLMX:PLMX -blemishes:PLMX:PLMX -blenchers:PLNX:PLNK -blenching:PLNX:PLNK -blepharal:PLFR:PLFR -blessedly:PLST:PLST -blessings:PLSN:PLSN -blethered:PL0R:PLTR -blighters:PLTR:PLTR -blighting:PLTN:PLTN -blindfish:PLNT:PLNT -blindfold:PLNT:PLNT -blindness:PLNT:PLNT -blinkered:PLNK:PLNK -blissless:PLSL:PLSL -blistered:PLST:PLST -blitzkrie:PLTS:PLTS -blizzards:PLSR:PLTS -blockaded:PLKT:PLKT -blockader:PLKT:PLKT -blockades:PLKT:PLKT -blockages:PLKJ:PLKK -blockbust:PLKP:PLKP -blockhead:PLKT:PLKT -blondness:PLNT:PLNT -bloodbath:PLTP:PLTP -bloodiest:PLTS:PLTS -bloodless:PLTL:PLTL -bloodline:PLTL:PLTL -bloodroot:PLTR:PLTR -bloodshed:PLTX:PLTX -bloodshot:PLTX:PLTX -bloodsuck:PLTS:PLTS -bloodtest:PLTS:PLTS -bloodworm:PLTR:PLTR -bloodying:PLTN:PLTN -bloomiest:PLMS:PLMS -blossomed:PLSM:PLSM -blotchier:PLX:PLXR -blotchily:PLXL:PLXL -blotching:PLXN:PLXN -blowflies:PLFL:PLFL -blowholes:PLLS:PLLS -blowiness:PLNS:PLNS -blowlamps:PLLM:PLLM -blowpipes:PLPP:PLPP -blowsiest:PLSS:PLSS -blowtorch:PLTR:PLTR -blowziest:PLSS:PLTS -blubbered:PLPR:PLPR -blubberer:PLPR:PLPR -bludgeons:PLJN:PLJN -bluebeard:PLPR:PLPR -bluebells:PLPL:PLPL -blueberry:PLPR:PLPR -bluebirds:PLPR:PLPR -blueblack:PLPL:PLPL -bluebooks:PLPK:PLPK -bluegills:PLJL:PLKL -bluegrass:PLKR:PLKR -bluenoses:PLNS:PLNS -bluepoint:PLPN:PLPN -blueprint:PLPR:PLPR -bluestock:PLST:PLST -bluestone:PLST:PLST -bluffness:PLFN:PLFN -blundered:PLNT:PLNT -blunderer:PLNT:PLNT -bluntness:PLNT:PLNT -blurredly:PLRT:PLRT -blurriest:PLRS:PLRS -blustered:PLST:PLST -blusterer:PLST:PLST -boardroom:PRTR:PRTR -boardsail:PRTS:PRTS -boardwalk:PRTL:PRTL -boarishly:PRXL:PRXL -boastings:PSTN:PSTN -boathooks:P0KS:PTKS -boathouse:P0S:PTS -boatloads:PTLT:PTLT -boatswain:PTSN:PTSN -boatyards:PTRT:PTRT -bobberies:PPRS:PPRS -bobfloats:PPFL:PPFL -bobolinks:PPLN:PPLN -bobsleigh:PPSL:PPSL -bobtailed:PPTL:PPTL -bobwhites:PPTS:PPTS -boccaccio:PKX:PKX -bodybuild:PTPL:PTPL -bodycheck:PTXK:PTKK -bodyguard:PTKR:PTKR -bogginess:PJNS:PKNS -bogusness:PKSN:PKSN -bohemians:PHMN:PHMN -boilaries:PLRS:PLRS -boldfaced:PLTF:PLTF -bolection:PLKX:PLKX -bolivians:PLFN:PLFN -bollinger:PLNK:PLNJ -bollworms:PLRM:PLRM -bolometry:PLMT:PLMT -bolshevik:PLXF:PLXF -bolstered:PLST:PLST -bolsterer:PLST:PLST -bombarded:PMPR:PMPR -bombardon:PMPR:PMPR -bombasine:PMPS:PMPS -bombastic:PMPS:PMPS -bombazine:PMPS:PMPS -bombproof:PMPP:PMPP -bombshell:PMPX:PMPX -bombsight:PMPS:PMPS -bondagers:PNTK:PNTJ -bondmaids:PNTM:PNTM -bondstone:PNTS:PNTS -bondwoman:PNTM:PNTM -bondwomen:PNTM:PNTM -boneblack:PNPL:PNPL -boneheads:PNHT:PNHT -boneyards:PNRT:PNRT -bonniness:PNNS:PNNS -boogieing:PJNK:PKNK -bookbinds:PKPN:PKPN -bookcases:PKKS:PKKS -bookishly:PKXL:PKXL -booklists:PKLS:PKLS -booklouse:PKLS:PKLS -bookmaker:PKMK:PKMK -bookmarks:PKMR:PKMR -bookplate:PKPL:PKPL -bookshelf:PKXL:PKXL -bookshops:PKXP:PKXP -bookstall:PKST:PKST -bookstore:PKST:PKST -bookworms:PKRM:PKRM -boomerang:PMRN:PMRN -boomslang:PMSL:PMSL -boomtowns:PMTN:PMTN -boondocks:PNTK:PNTK -boophilus:PFLS:PFLS -booragoon:PRKN:PRKN -boorishly:PRXL:PRXL -bootblack:PTPL:PTPL -booteries:PTRS:PTRS -bootjacks:PTJK:PTJK -bootlaces:PTLS:PTLS -bootleger:PTLJ:PTLK -bootlicks:PTLK:PTLK -bootstrap:PTST:PTST -bootyless:PTLS:PTLS -booziness:PSNS:PSNS -bordellos:PRTL:PRTL -bordereau:PRTR:PRTR -borderers:PRTR:PRTR -bordering:PRTR:PRTR -boreholes:PRHL:PRHL -boroughes:PRFS:PRFS -borrowers:PRRS:PRRS -borrowing:PRNK:PRNK -bossiness:PSNS:PSNS -bostonian:PSTN:PSTN -botanical:PTNK:PTNK -botanises:PTNS:PTNS -botanists:PTNS:PTNS -botanized:PTNS:PTNS -botanizes:PTNS:PTNS -botchiest:PXST:PXST -bothering:P0RN:PTRN -bothriums:P0RM:PTRM -bottleful:PTLF:PTLF -bottoming:PTMN:PTMN -botulinal:PTLN:PTLN -botulinum:PTLN:PTLN -botulinus:PTLN:PTLN -bouginage:PJNJ:PKNK -boulevard:PLFR:PLFR -bounciest:PNSS:PNXS -boundless:PNTL:PNTL -bounteous:PNTS:PNTS -bountiful:PNTF:PNTF -bourgeois:PRJ:PRKS -boutiques:PTKS:PTKS -bowedness:PTNS:PTNS -bowerlike:PRLK:PRLK -bowlegged:PLKT:PLKT -bowsprits:PSPR:PSPR -bowstring:PSTR:PSTR -boycotted:PKTT:PKTT -boyfriend:PFRN:PFRN -bracelets:PRSL:PRSL -brachiate:PRKT:PRKT -bracingly:PRSN:PRSN -bracketed:PRKT:PRKT -bracteate:PRKT:PRKT -bractless:PRKT:PRKT -bractlets:PRKT:PRKT -bradypnea:PRTP:PRTP -braggarts:PRKR:PRKR -brahmanic:PRMN:PRMN -brahminic:PRMN:PRMN -braincase:PRNK:PRNK -brainiest:PRNS:PRNS -brainless:PRNL:PRNL -brainsick:PRNS:PRNS -brainstem:PRNS:PRNS -brainwash:PRNX:PRNX -brainwork:PRNR:PRNR -brakeless:PRKL:PRKL -brakesman:PRKS:PRKS -brakesmen:PRKS:PRKS -bramblier:PRMP:PRMP -branchiae:PRNK:PRNK -branchial:PRNK:PRNK -branching:PRNX:PRNK -branchlet:PRNX:PRNK -brandling:PRNT:PRNT -brandreth:PRNT:PRNT -brandying:PRNT:PRNT -brashiest:PRXS:PRXS -brashness:PRXN:PRXN -brassards:PRSR:PRSR -brasserie:PRSR:PRSR -brassiere:PRSR:PRSR -brassiest:PRSS:PRSS -bratticed:PRTS:PRTS -brattices:PRTS:PRTS -brattiest:PRTS:PRTS -bratwurst:PRTR:PRTR -bravadoes:PRFT:PRFT -braveness:PRFN:PRFN -braveries:PRFR:PRFR -brawniest:PRNS:PRNS -brazilian:PRSL:PRSL -breachers:PRXR:PRKR -breaching:PRXN:PRKN -breadless:PRTL:PRTL -breadline:PRTL:PRTL -breadthes:PRTS:PRTS -breakable:PRKP:PRKP -breakages:PRKJ:PRKK -breakaway:PRK:PRK -breakbone:PRKP:PRKP -breakdown:PRKT:PRKT -breakfast:PRKF:PRKF -breakneck:PRKN:PRKN -breakouts:PRKT:PRKT -breastfed:PRST:PRST -breasting:PRST:PRST -breastpin:PRST:PRST -breathers:PR0R:PRTR -breathier:PR0:PRTR -breathily:PR0L:PRTL -breathing:PR0N:PRTN -breeching:PRXN:PRKN -breezeway:PRS:PRTS -breeziest:PRSS:PRSS -bregmatic:PRKM:PRKM -brentford:PRNT:PRNT -breveting:PRFT:PRFT -brevetted:PRFT:PRFT -brevities:PRFT:PRFT -breweries:PRRS:PRRS -briarroot:PRRT:PRRT -briarwood:PRRT:PRRT -bribeable:PRPP:PRPP -briberies:PRPR:PRPR -bricabrac:PRKP:PRKP -brickbats:PRKP:PRKP -brickwork:PRKR:PRKR -brickyard:PRKR:PRKR -bridewell:PRTL:PRTL -briefcase:PRFK:PRFK -briefings:PRFN:PRFN -briefless:PRFL:PRFL -briefness:PRFN:PRFN -brierroot:PRRT:PRRT -brierwood:PRRT:PRRT -brigadier:PRKT:PRKT -brigading:PRKT:PRKT -brigandry:PRKN:PRKN -brightens:PRTN:PRTN -brightest:PRTS:PRTS -brilliant:PRLN:PRLN -brimstone:PRMS:PRMS -brininess:PRNN:PRNN -briolette:PRLT:PRLT -briquette:PRKT:PRKT -briskened:PRSK:PRSK -briskness:PRSK:PRSK -brislings:PRLN:PRLN -bristlier:PRST:PRST -bristling:PRST:PRST -britannia:PRTN:PRTN -britannic:PRTN:PRTN -briticism:PRTS:PRTS -britisher:PRTX:PRTX -broachers:PRXR:PRKR -broaching:PRXN:PRKN -broadband:PRTP:PRTP -broadcast:PRTK:PRTK -broadened:PRTN:PRTN -broadener:PRTN:PRTN -broadleaf:PRTL:PRTL -broadloom:PRTL:PRTL -broadmoor:PRTM:PRTM -broadness:PRTN:PRTN -broadside:PRTS:PRTS -broadtail:PRTL:PRTL -brocading:PRKT:PRKT -brochette:PRXT:PRKT -brochures:PRXR:PRKR -broidered:PRTR:PRTR -brokerage:PRKR:PRKR -brominism:PRMN:PRMN -bromoform:PRMF:PRMF -bronchial:PRNK:PRNK -bronchium:PRNX:PRNK -broodiest:PRTS:PRTS -brooklets:PRKL:PRKL -broomiest:PRMS:PRMS -brotherly:PR0R:PRTR -brothiest:PR0S:PRTS -broughams:PRMS:PRMS -brouhahas:PRHH:PRHH -browbands:PRPN:PRPN -browbeats:PRPT:PRPT -brownness:PRNS:PRNS -brownnose:PRNS:PRNS -brownouts:PRNT:PRNT -brucellae:PRSL:PRSL -brucellas:PRSL:PRSL -brucellin:PRSL:PRSL -brummagem:PRMJ:PRMK -brunching:PRNX:PRNK -brunettes:PRNT:PRNT -brunswick:PRNS:PRNS -brushfire:PRXF:PRXF -brushlike:PRXL:PRXL -brushwood:PRXT:PRXT -brushwork:PRXR:PRXR -bruskness:PRSK:PRSK -brusquely:PRSK:PRSK -brutality:PRTL:PRTL -brutalize:PRTL:PRTL -brutishly:PRTX:PRTX -bubbletop:PPLT:PPLT -bubbliest:PPLS:PPLS -buccaneer:PKNR:PKNR -bucharest:PXRS:PKRS -buckbeans:PKPN:PKPN -buckboard:PKPR:PKPR -bucketful:PKTF:PKTF -bucketing:PKTN:PKTN -buckhound:PKNT:PKNT -buckishly:PKXL:PKXL -bucklings:PKLN:PKLN -buckshees:PKXS:PKXS -buckskins:PKSK:PKSK -buckteeth:PKT0:PKTT -buckthorn:PK0R:PKTR -bucktooth:PKT0:PKTT -buckwheat:PKT:PKT -bucolical:PKLK:PKLK -buddhists:PTST:PTST -budgerees:PJRS:PJRS -budgetary:PJTR:PJTR -budgeteer:PJTR:PJTR -budgeters:PJTR:PJTR -budgeting:PJTN:PJTN -buffaloed:PFLT:PFLT -buffaloes:PFLS:PFLS -buffering:PFRN:PFRN -bufferrer:PFRR:PFRR -buffeters:PFTR:PFTR -buffeting:PFTN:PFTN -bufogenin:PFJN:PFKN -bufonidae:PFNT:PFNT -bufotalin:PFTL:PFTL -bufotoxin:PFTK:PFTK -buggeries:PKRS:PKRS -buggering:PKRN:PKRN -bugginess:PKNS:PKNS -buildings:PLTN:PLTN -bulbously:PLPS:PLPS -bulgarian:PLKR:PLKR -bulginess:PLJN:PLKN -bulgingly:PLJN:PLKN -bulkheads:PLKT:PLKT -bulkiness:PLKN:PLKN -bulldozed:PLTS:PLTS -bulldozer:PLTS:PLTS -bulldozes:PLTS:PLTS -bulletins:PLTN:PLTN -bullfight:PLFT:PLFT -bullfinch:PLFN:PLFN -bullfrogs:PLFR:PLFR -bullhorns:PLRN:PLRN -bullishly:PLXL:PLXL -bullrings:PLRN:PLRN -bullwhips:PLPS:PLPS -bullyboys:PLPS:PLPS -bulrushes:PLRX:PLRX -bumblebee:PMPL:PMPL -bummarees:PMRS:PMRS -bumpiness:PMPN:PMPN -bumptious:PMPT:PMPT -bunchiest:PNXS:PNKS -bungaloid:PNKL:PNKL -bungalows:PNKL:PNKL -bungholes:PNKL:PNKL -bunkerage:PNKR:PNKR -bunkering:PNKR:PNKR -bunkhouse:PNKS:PNKS -bunkmates:PNKM:PNKM -buoyantly:PNTL:PNTL -burdening:PRTN:PRTN -burgeoned:PRJN:PRKN -burgesses:PRJS:PRKS -burlesque:PRLS:PRLS -burliness:PRLN:PRLN -burningly:PRNN:PRNN -burnished:PRNX:PRNX -burnisher:PRNX:PRNX -burnishes:PRNX:PRNX -burnooses:PRNS:PRNS -burnoused:PRNS:PRNS -burnouses:PRNS:PRNS -burntness:PRNT:PRNT -burrawong:PRNK:PRNK -burroughs:PRFS:PRFS -burrowers:PRRS:PRRS -burrowing:PRNK:PRNK -bursarial:PRSR:PRSR -bursaries:PRSR:PRSR -bursiform:PRSF:PRSF -burundian:PRNT:PRNT -bushelers:PXLR:PXLR -busheling:PXLN:PXLN -bushfires:PXFR:PXFR -bushiness:PXNS:PXNS -bushwhack:PXK:PXK -butacaine:PTKN:PTKN -butchered:PXRT:PXRT -butleries:PTLR:PTLR -butterbur:PTRP:PTRP -buttercup:PTRK:PTRK -butterers:PTRR:PTRR -butterfat:PTRF:PTRF -butterfly:PTRF:PTRF -butteries:PTRS:PTRS -buttering:PTRN:PTRN -butternut:PTRN:PTRN -buttoners:PTNR:PTNR -buttoning:PTNN:PTNN -buxomness:PKSM:PKSM -buzzwords:PSRT:PTSR -bypassing:PPSN:PPSN -byproduct:PPRT:PPRT -bystander:PSTN:PSTN -bystreets:PSTR:PSTR -byzantine:PSNT:PSNT -byzantium:PSNT:PSNT -cabalists:KPLS:KPLS -caballero:KPLR:KPL -caballing:KPLN:KPLN -cabbalism:KPLS:KPLS -cabbalist:KPLS:KPLS -cabdriver:KPTR:KPTR -cablegram:KPLK:KPLK -cableways:KPLS:KPLS -cabochons:KPXN:KPKN -cabriolet:KPRL:KPRL -cachectic:KXKT:KKKT -cachepots:KXPT:KKPT -cacheting:KXTN:KKTN -cachexias:KXKS:KKKS -cachexies:KXKS:KKKS -cacodylic:KKTL:KKTL -cacoethes:KK0S:KKTS -cacoethic:KK0K:KKTK -cacogenic:KKJN:KKKN -cacophony:KKFN:KKFN -cacuminal:KKMN:KKMN -cadasters:KTST:KTST -cadastral:KTST:KTST -cadaveric:KTFR:KTFR -caddishly:KTXL:KTXL -cadencies:KTNS:KTNX -cadetship:KTTX:KTTX -cadillacs:KTLK:KTLK -caduciary:KTSR:KTXR -caecopexy:KKPK:KKPK -caecotomy:KKTM:KKTM -caecropia:KKRP:KKRP -caesarean:SSRN:SSRN -caesarian:SSRN:SSRN -caesarism:SSRS:SSRS -caesarist:SSRS:SSRS -caesuraes:KSRS:KSRS -cafeteria:KFTR:KFTR -cafetiere:KFTR:KFTR -caffeinic:KFNK:KFNK -cagelings:KJLN:KKLN -cageyness:KJNS:KKNS -cainozoic:KNSK:KNSK -cairngorm:KRNK:KRNK -caithness:K0NS:KTNS -cajeputol:KJPT:KJPT -cajuputol:KJPT:KJPT -cakewalks:KKLK:KKLK -calaboose:KLPS:KLPS -caladiums:KLTM:KLTM -calcaneal:KLKN:KLKN -calcanean:KLKN:KLKN -calcaneum:KLKN:KLKN -calcaneus:KLKN:KLKN -calcarine:KLKR:KLKR -calcicole:KLSK:KLSK -calcified:KLSF:KLSF -calcifies:KLSF:KLSF -calcifuge:KLSF:KLSF -calcimine:KLSM:KLSM -calcining:KLSN:KLSN -calculate:KLKL:KLKL -calculous:KLKL:KLKL -caldarium:KLTR:KLTR -caledonia:KLTN:KLTN -calendars:KLNT:KLNT -calenders:KLNT:KLNT -calendula:KLNT:KLNT -calenture:KLNT:KLNT -calfskins:KLFS:KLFS -calibrate:KLPR:KLPR -calicular:KLKL:KLKL -calipered:KLPR:KLPR -caliphate:KLFT:KLFT -callbacks:KLPK:KLPK -calliopes:KLPS:KLPS -callipers:KLPR:KLPR -callosity:KLST:KLST -calloused:KLST:KLST -callouses:KLSS:KLSS -callously:KLSL:KLSL -callusing:KLSN:KLSN -calmative:KLMT:KLMT -calmingly:KLMN:KLMN -calorical:KLRK:KLRK -calorific:KLRF:KLRF -calumnies:KLMN:KLMN -calutrons:KLTR:KLTR -calvarial:KLFR:KLFR -calvarias:KLFR:KLFR -calvaries:KLFR:KLFR -calvarium:KLFR:KLFR -calvinism:KLFN:KLFN -calvinist:KLFN:KLFN -calvities:KLFT:KLFT -calycinal:KLSN:KLSN -calyculus:KLKL:KLKL -cambering:KMPR:KMPR -cambistry:KMPS:KMPS -cambodian:KMPT:KMPT -cambridge:KMPR:KMPR -camcorder:KMKR:KMKR -camelback:KMLP:KMLP -cameleers:KMLR:KMLR -camellias:KMLS:KMLS -camembert:KMMP:KMMP -cameraman:KMRM:KMRM -cameramen:KMRM:KMRM -cameroons:KMRN:KMRN -camisoles:KMSL:KMSL -camomiles:KMML:KMML -campaigns:KMPN:KMPK -campanile:KMPN:KMPN -campanili:KMPN:KMPN -campanula:KMPN:KMPN -campcraft:KMPK:KMPK -campfires:KMPF:KMPF -camphoric:KMFR:KMFR -campiness:KMPN:KMPN -camporees:KMPR:KMPR -campsites:KMPS:KMPS -campstool:KMPS:KMPS -campusses:KMPS:KMPS -camshafts:KMXF:KMXF -canaanite:KNNT:KNNT -canadians:KNTN:KNTN -canalboat:KNLP:KNLP -canaletto:KNLT:KNLT -canalized:KNLS:KNLS -canalizes:KNLS:KNLS -canalling:KNLN:KNLN -canavalin:KNFL:KNFL -canaveral:KNFR:KNFR -cancelers:KNSL:KNSL -canceling:KNSL:KNSL -cancellus:KNSL:KNSL -cancelous:KNSL:KNSL -cancerate:KNSR:KNSR -cancerous:KNSR:KNSR -candidacy:KNTT:KNTT -candidate:KNTT:KNTT -candlemas:KNTL:KNTL -candlepin:KNTL:KNTL -candlepow:KNTL:KNTL -candytuft:KNTT:KNTT -canebrake:KNPR:KNPR -canellers:KNLR:KNLR -canescent:KNSN:KNSN -canicular:KNKL:KNKL -canisters:KNST:KNST -cankering:KNKR:KNKR -cankerous:KNKR:KNKR -cannabism:KNPS:KNPS -canneloni:KNLN:KNLN -cannelure:KNLR:KNLR -canneries:KNRS:KNRS -cannibals:KNPL:KNPL -canniness:KNNS:KNNS -cannister:KNST:KNST -cannonade:KNNT:KNNT -cannoneer:KNNR:KNNR -cannonism:KNNS:KNNS -cannulaes:KNLS:KNLS -cannulate:KNLT:KNLT -canoeists:KNST:KNST -canonical:KNNK:KNNK -canonicum:KNNK:KNNK -canonists:KNNS:KNNS -canonized:KNNS:KNNS -canonizes:KNNS:KNNS -canonries:KNNR:KNNR -canoodled:KNTL:KNTL -canoodler:KNTL:KNTL -canoodles:KNTL:KNTL -canopying:KNPN:KNPN -cantabile:KNTP:KNTP -cantadino:KNTT:KNTT -cantaloup:KNTL:KNTL -cantering:KNTR:KNTR -cantharis:KN0R:KNTR -canticles:KNTK:KNTK -cantingly:KNTN:KNTN -cantonese:KNTN:KNTN -cantoning:KNTN:KNTN -cantorial:KNTR:KNTR -canvasing:KNFS:KNFS -canvassed:KNFS:KNFS -canvasser:KNFS:KNFS -canvasses:KNFS:KNFS -capacious:KPSS:KPXS -capacitor:KPST:KPST -caparison:KPRS:KPRS -capelines:KPLN:KPLN -capeskins:KPSK:KPSK -capillary:KPLR:KPLR -capitally:KPTL:KPTL -capitated:KPTT:KPTT -capitatim:KPTT:KPTT -capitella:KPTL:KPTL -capitular:KPTL:KPTL -capitulum:KPTL:KPTL -caponized:KPNS:KPNS -caponizes:KPNS:KPNS -capriccio:KPRX:KPRX -capricorn:KPRK:KPRK -caprioles:KPRL:KPRL -caprylate:KPRL:KPRL -capsaicin:KPSS:KPSS -capsicums:KPSK:KPSK -capsizing:KPSS:KPSS -capsomere:KPSM:KPSM -capstones:KPST:KPST -capsulate:KPSL:KPSL -capsuling:KPSL:KPSL -capsulize:KPSL:KPSL -captaincy:KPTN:KPTN -captained:KPTN:KPTN -captandum:KPTN:KPTN -captation:KPTX:KPTX -captioned:KPXN:KPXN -captivate:KPTF:KPTF -captivity:KPTF:KPTF -capturers:KPTR:KPTR -capturing:KPTR:KPTR -capuchins:KPXN:KPKN -capybaras:KPPR:KPPR -caracoled:KRKL:KRKL -caracoles:KRKL:KRKL -carapaces:KRPS:KRPS -carbachol:KRPK:KRPK -carbamate:KRPM:KRPM -carbamide:KRPM:KRPM -carbamino:KRPM:KRPM -carbamoyl:KRPM:KRPM -carbazide:KRPS:KRPS -carbazole:KRPS:KRPS -carbineer:KRPN:KRPN -carbiners:KRPN:KRPN -carbolate:KRPL:KRPL -carboline:KRPL:KRPL -carbolize:KRPL:KRPL -carbonado:KRPN:KRPN -carbonate:KRPN:KRPN -carbonize:KRPN:KRPN -carbromal:KRPR:KRPR -carbuncle:KRPN:KRPN -carburets:KRPR:KRPR -carburize:KRPR:KRPR -carcasses:KRKS:KRKS -carcinoid:KRSN:KRSN -carcinoma:KRSN:KRSN -cardamoms:KRTM:KRTM -cardamons:KRTM:KRTM -cardamums:KRTM:KRTM -cardboard:KRTP:KRTP -cardigans:KRTK:KRTK -cardinals:KRTN:KRTN -cardsharp:KRTX:KRTX -careenage:KRNJ:KRNK -careeners:KRNR:KRNR -careening:KRNN:KRNN -careering:KRRN:KRRN -careerism:KRRS:KRRS -careerist:KRRS:KRRS -carefully:KRFL:KRFL -caressers:KRSR:KRSR -caressing:KRSN:KRSN -caretaker:KRTK:KRTK -carfuffle:KRFF:KRFF -caribbean:KRPN:KRPN -carillons:KRLN:KRLN -carinated:KRNT:KRNT -cariosity:KRST:KRST -carmelite:KRML:KRML -carnalism:KRNL:KRNL -carnalist:KRNL:KRNL -carnality:KRNL:KRNL -carnation:KRNX:KRNX -carnelian:KRNL:KRNL -carnified:KRNF:KRNF -carnifies:KRNF:KRNF -carnitive:KRNT:KRNT -carnivals:KRNF:KRNF -carnivora:KRNF:KRNF -carnivore:KRNF:KRNF -carnosine:KRNS:KRNS -carolinas:KRLN:KRLN -carollers:KRLR:KRLR -carolling:KRLN:KRLN -carotenes:KRTN:KRTN -caroticum:KRTK:KRTK -carotidal:KRTT:KRTT -carousals:KRSL:KRSL -carousels:KRSL:KRSL -carousers:KRSR:KRSR -carousing:KRSN:KRSN -carpenter:KRPN:KRPN -carpentry:KRPN:KRPN -carpetbag:KRPT:KRPT -carpeting:KRPT:KRPT -carpingly:KRPN:KRPN -carpology:KRPL:KRPL -carrageen:KRJN:KRKN -carriages:KRJS:KRKS -carrioles:KRLS:KRLS -carronade:KRNT:KRNT -carrousel:KRSL:KRSL -carryalls:KRLS:KRLS -carrycots:KRKT:KRKT -carryings:KRNK:KRNK -carryover:KRFR:KRFR -cartelism:KRTL:KRTL -cartelist:KRTL:KRTL -cartelize:KRTL:KRTL -cartesian:KRTS:KRTX -carthamus:KRTM:KRTM -carthorse:KR0R:KRTR -cartilage:KRTL:KRTL -cartloads:KRTL:KRTL -cartogram:KRTK:KRTK -cartooned:KRTN:KRTN -cartouche:KRTX:KRTK -cartridge:KRTR:KRTR -cartulary:KRTL:KRTL -cartwheel:KRTL:KRTL -caruncles:KRNK:KRNK -caruncula:KRNK:KRNK -carvacrol:KRFK:KRFK -carwashes:KRXS:KRXS -caryatids:KRTT:KRTT -casanovas:KSNF:KSNF -cascading:KSKT:KSKT -caseating:KSTN:KSTN -caseation:KSXN:KSXN -casebooks:KSPK:KSPK -casebound:KSPN:KSPN -casefying:KSFN:KSFN -caseinate:KSNT:KSNT -caseloads:KSLT:KSLT -casements:KSMN:KSMN -caseworms:KSRM:KSRM -cashbooks:KXPK:KXPK -cashiered:KXRT:KXRT -cashmeres:KXMR:KXMR -cassandra:KSNT:KSNT -cassareep:KSRP:KSRP -cassation:KSXN:KSXN -casserole:KSRL:KSRL -cassettes:KSTS:KSTS -cassoulet:KSLT:KSLT -cassowary:KSR:KSR -castanets:KSTN:KSTN -castaways:KSTS:KSTS -casteless:KSTL:KSTL -castellan:KSTL:KSTL -castigate:KSTK:KSTK -castilian:KSTL:KSTL -castrated:KSTR:KSTR -castrates:KSTR:KSTR -castrator:KSTR:KSTR -casuality:KSLT:KSLT -casuarina:KSRN:KSRN -casuistic:KSST:KSST -casuistry:KSST:KSST -catabases:KTPS:KTPS -catabasis:KTPS:KTPS -catabatic:KTPT:KTPT -catabolic:KTPL:KTPL -cataclysm:KTKL:KTKL -catacombs:KTKM:KTKM -catalatic:KTLT:KTLT -catalepsy:KTLP:KTLP -cataloged:KTLJ:KTLK -cataloger:KTLK:KTLJ -catalogia:KTLJ:KTLK -catalogue:KTLK:KTLK -catalonia:KTLN:KTLN -catalysis:KTLS:KTLS -catalysts:KTLS:KTLS -catalytic:KTLT:KTLT -catalyzed:KTLS:KTLS -catalyzer:KTLS:KTLS -catalyzes:KTLS:KTLS -catamaran:KTMR:KTMR -catamenia:KTMN:KTMN -catamites:KTMT:KTMT -catamount:KTMN:KTMN -cataphora:KTFR:KTFR -cataphyll:KTFL:KTFL -cataplasm:KTPL:KTPL -cataplexy:KTPL:KTPL -catapults:KTPL:KTPL -cataracts:KTRK:KTRK -catarhine:KTRN:KTRN -catarrhal:KTRL:KTRL -catastate:KTST:KTST -catatonia:KTTN:KTTN -catatonic:KTTN:KTTN -catcalled:KTKL:KTKL -catcaller:KTKL:KTKL -catchable:KXPL:KXPL -catchalls:KXLS:KXLS -catchiest:KXST:KXST -catchment:KXMN:KXMN -catchpole:KXPL:KXPL -catchpoll:KXPL:KXPL -catchword:KXRT:KXRT -catechism:KTXS:KTKS -catechist:KTXS:KTKS -catechize:KTXS:KTKS -categoric:KTKR:KTKR -catenated:KTNT:KTNT -catenates:KTNT:KTNT -caterwaul:KTRL:KTRL -catfishes:KTFX:KTFX -catharine:K0RN:KTRN -catharism:K0RS:KTRS -catharist:K0RS:KTRS -catharses:K0RS:KTRS -catharsis:K0RS:KTRS -cathartic:K0RT:KTRT -cathectic:K0KT:KTKT -cathedral:K0TR:KTTR -cathepsin:K0PS:KTPS -catherine:K0RN:KTRN -catheters:K0TR:KTTR -catholics:K0LK:KTLK -catnapped:KTNP:KTNP -catoptric:KTPT:KTPT -cattaloes:KTLS:KTLS -catteries:KTRS:KTRS -cattiness:KTNS:KTNS -cattishly:KTXL:KTXL -cattleman:KTLM:KTLM -cattlemen:KTLM:KTLM -caucasian:KKSN:KKXN -caucasoid:KKST:KKST -caucusing:KKSN:KKSN -caudation:KTXN:KTXN -caudillos:KTLS:KTLS -cauldrons:KLTR:KLTR -caulicles:KLKL:KLKL -causalgia:KSLJ:KSLK -causalgic:KSLJ:KSLK -causality:KSLT:KSLT -causation:KSXN:KSXN -causative:KSTF:KSTF -causeless:KSLS:KSLS -causeries:KSRS:KSRS -causeways:KSS:KSS -caustical:KSTK:KSTK -causticly:KSTK:KSTK -cauterant:KTRN:KTRN -cauteries:KTRS:KTRS -cauterize:KTRS:KTRS -cautioned:KXNT:KXNT -cautioner:KXNR:KXNR -cautiones:KXNS:KXNS -cavalcade:KFLK:KFLK -cavaliers:KFLR:KFLR -cavalries:KFLR:KFLR -cavascope:KFSK:KFSK -cavatinas:KFTN:KFTN -caveatees:KFTS:KFTS -caveating:KFTN:KFTN -caveators:KFTR:KFTR -cavernoma:KFRN:KFRN -cavernosa:KFRN:KFRN -cavernous:KFRN:KFRN -cavillers:KFLR:KFLR -cavilling:KFLN:KFLN -cavitated:KFTT:KFTT -cavorters:KFRT:KFRT -cavorting:KFRT:KFRT -ceanothus:SN0S:SNTS -ceaseless:SSLS:SSLS -cebadilla:SPTL:SPTL -cecectomy:SSKT:SSKT -cecostomy:SKST:SKST -cedarwood:STRT:STRT -celacanth:SLKN:SLKN -celandine:SLNT:SLNT -celebrant:SLPR:SLPR -celebrate:SLPR:SLPR -celebrity:SLPR:SLPR -celentera:SLNT:SLNT -celestial:SLSX:SLSX -celibates:SLPT:SLPT -celiotomy:SLTM:SLTM -cellarage:SLRJ:SLRK -cellarers:SLRR:SLRR -cellarets:SLRT:SLRT -cellblock:SLPL:SLPL -celloidin:SLTN:SLTN -cellulase:SLLS:SLLS -cellulite:SLLT:SLLT -celluloid:SLLT:SLLT -cellulose:SLLS:SLLS -celticism:SLTS:SLTS -celticist:SLTS:SLTS -cementers:SMNT:SMNT -cementing:SMNT:SMNT -cementite:SMNT:SMNT -cementoma:SMNT:SMNT -cenobites:SNPT:SNPT -cenobitic:SNPT:SNPT -cenotaphs:SNTF:SNTF -censorate:SNSR:SNSR -censorial:SNSR:SNSR -censoring:SNSR:SNSR -censurers:SNSR:SNSR -censuring:SNSR:SNSR -centenary:SNTN:SNTN -centering:SNTR:SNTR -centigram:SNTK:SNTK -centipede:SNTP:SNTP -centralia:SNTR:SNTR -centralis:SNTR:SNTR -centrally:SNTR:SNTR -centredly:SNTR:SNTR -centrical:SNTR:SNTR -centriole:SNTR:SNTR -centrists:SNTR:SNTR -centruple:SNTR:SNTR -centurial:SNTR:SNTR -centuries:SNTR:SNTR -centurion:SNTR:SNTR -cephaelis:SFLS:SFLS -cephalous:SFLS:SFLS -ceraceous:SRSS:SRSS -ceramists:SRMS:SRMS -ceratitis:SRTT:SRTT -cercariae:SRKR:SRKR -cercarial:SRKR:SRKR -cercarian:SRKR:SRKR -cerebella:SRPL:SRPL -cerebelli:SRPL:SRPL -cerebrate:SRPR:SRPR -cerebroid:SRPR:SRPR -cerebrose:SRPR:SRPR -cerebrums:SRPR:SRPR -cerecloth:SRKL:SRKL -cerements:SRMN:SRMN -certainly:SRTN:SRTN -certainty:SRTN:SRTN -certified:SRTF:SRTF -certifier:SRTF:SRTF -certifies:SRTF:SRTF -certitude:SRTT:SRTT -ceruminal:SRMN:SRMN -cerussite:SRST:SRST -cervantes:SRFN:SRFN -cessation:SSXN:SSXN -cessionee:SSN:SSN -cesspools:SSPL:SSPL -cestoidea:SSTT:SSTT -cetaceans:STSN:STSN -cetaceous:STSS:STSS -cevadilla:SFTL:SFTL -cevitamic:SFTM:SFTM -ceylonese:SLNS:SLNS -chabertia:XPRX:XPRX -chaffered:XFRT:XFRT -chafferer:XFRR:XFRR -chaffinch:XFNX:XFNK -chagomata:XKMT:XKMT -chagrined:XKRN:XKRN -chainlike:XNLK:XNLK -chairlady:XRLT:XRLT -chalazaes:XLSS:XLSS -chalazion:XLSN:XLSN -chalcosis:XLKS:XLKS -chaldeans:XLTN:XLTN -chalkiest:XLKS:XLKS -chalklike:XLKL:XLKL -chalkpits:XLKP:XLKP -challahes:XLHS:XLHS -challenge:XLNJ:XLNK -chambered:XMPR:XMPR -chameleon:XMLN:XMLN -chamfered:XMFR:XMFR -chamferer:XMFR:XMFR -chamomile:XMML:XMML -champagne:XMPN:XMPK -champaign:XMPN:XMPK -champarty:XMPR:XMPR -champerty:XMPR:XMPR -champions:XMPN:XMPN -champlain:XMPL:XMPL -champleve:XMPL:XMPL -chanceful:XNSF:XNSF -chanceman:XNSM:XNSM -chancemen:XNSM:XNSM -chancered:XNSR:XNSR -chanciest:XNSS:XNXS -chancroid:XNKR:XNKR -chancrous:XNKR:XNKR -chandeled:XNTL:XNTL -chandelle:XNTL:XNTL -chandlers:XNTL:XNTL -chandlery:XNTL:XNTL -changeful:XNJF:XNKF -channeled:XNLT:XNLT -channeler:XNLR:XNLR -chanteuse:XNTS:XNTS -chantress:XNTR:XNTR -chantries:XNTR:XNTR -chaotical:XTKL:XTKL -chaparral:XPRL:XPRL -chapattis:XPTS:XPTS -chapbooks:XPKS:XPKS -chapeless:XPLS:XPLS -chaperons:XPRN:XPRN -chapiters:XPTR:XPTR -chaplains:XPLN:XPLN -chapleted:XPLT:XPLT -chapstick:XPST:XPST -character:KRKT:KRKT -charbroil:XRPR:XRPR -charcoals:XRKL:XRKL -chariness:XRNS:XRNS -charities:XRTS:XRTS -charivari:XRFR:XRFR -charlatan:XRLT:XRLT -charlotte:XRLT:XRLT -chartable:XRTP:XRTP -chartered:XRTR:XRTR -charterer:XRTR:XRTR -chartings:XRTN:XRTN -chartists:XRTS:XRTS -chartless:XRTL:XRTL -chartulae:XRTL:XRTL -charwoman:XRMN:XRMN -charwomen:XRMN:XRMN -chaseable:XSPL:XSPL -chasseing:XSNK:XSNK -chassidic:XSTK:XSTK -chassidim:XSTM:XSTM -chastened:XSTN:XSTN -chastener:XSTN:XSTN -chastised:XSTS:XSTS -chastiser:XSTS:XSTS -chastises:XSTS:XSTS -chasubles:XSPL:XSPL -chatelain:XTLN:XTLN -chattered:XTRT:XTRT -chatterer:XTRR:XTRR -chattiest:XTST:XTST -chauffeur:XFR:XFR -cheapened:XPNT:XPNT -cheapener:XPNR:XPNR -cheapness:XPNS:XPNS -cheatable:XTPL:XTPL -cheatries:XTRS:XTRS -checkable:XKPL:XKPL -checkbite:XKPT:XKPT -checkbook:XKPK:XKPK -checkered:XKRT:XKRT -checkless:XKLS:XKLS -checklist:XKLS:XKLS -checkmate:XKMT:XKMT -checkouts:XKTS:XKTS -checkroom:XKRM:XKRM -checksums:XKSM:XKSM -cheekbone:XKPN:XKPN -cheekiest:XKST:XKST -cheekless:XKLS:XKLS -cheeriest:XRST:XRST -cheerless:XRLS:XRLS -cheesepar:XSPR:XSPR -cheesiest:XSST:XSST -cheetahes:XTHS:XTHS -cheilious:XLS:XLS -cheilitis:XLTS:XLTS -cheiloses:XLSS:XLSS -cheilosis:XLSS:XLSS -chelation:XLXN:XLXN -chelicera:XLSR:XLSR -cheliform:XLFR:XLFR -cheloidal:XLTL:XLTL -chelonian:XLNN:XLNN -chemicals:KMKL:KMKL -chemisorb:KMSR:KMSR -chemistry:KMST:KMST -chemostat:KMST:KMST -chemotaxy:KMTK:KMTK -chemurgic:KMRJ:KMRK -cheongsam:XNKS:XNKS -chequered:XKRT:XKRT -cherenkov:XRNK:XRNK -cherished:XRXT:XRXT -cherisher:XRXR:XRXR -cherishes:XRXS:XRXS -cherokees:XRKS:XRKS -chestiest:XSTS:XSTS -chestnuts:XSTN:XSTN -chevalier:XFL:XFLR -chevrette:XFRT:XFRT -chevrolet:XFRL:XFRL -cheyennes:XNS:XNS -chiasmata:KSMT:KSMT -chicagoan:XKKN:XKKN -chicaners:XKNR:XKNR -chicanery:XKNR:XKNR -chicaning:XKNN:XKNN -chicharee:XXR:XKR -chickadee:XKT:XKT -chickasaw:XKS:XKSF -chickened:XKNT:XKNT -chickling:XKLN:XKLN -chickpeas:XKPS:XKPS -chickweed:XKT:XKT -chicories:XKRS:XKRS -chidingly:XTNK:XTNK -chieftain:XFTN:XFTN -chignoned:XNNT:XKNN -chihuahua:XHH:XHH -chilblain:XLPL:XLPL -childbear:XLTP:XLTP -childhood:XLTT:XLTT -childless:XLTL:XLTL -childlike:XLTL:XLTL -chiliadal:XLTL:XLTL -chiliadic:XLTK:XLTK -chiliasts:XLST:XLST -chilliest:XLST:XLST -chillness:XLNS:XLNS -chilopoda:XLPT:XLPT -chilopods:XLPT:XLPT -chimerism:XMRS:XMRS -chinacrin:XNKR:XNKR -chinatown:XNTN:XNTN -chinaware:XNR:XNR -chinchona:XNXN:XNKN -chiniofon:XNFN:XNFN -chinoline:XNLN:XNLN -chintzier:XNTS:XNTS -chipboard:XPRT:XPRT -chipmunks:XPMN:XPMN -chipolata:XPLT:XPLT -chippewas:XPS:XPS -chirality:XRLT:XRLT -chirology:XRLJ:XRLK -chiromega:XRMK:XRMK -chiropody:XRPT:XRPT -chiropter:XRPT:XRPT -chirpiest:XRPS:XRPS -chirruped:XRPT:XRPT -chirruper:XRPR:XRPR -chiselers:XSLR:XSLR -chiseling:XSLN:XSLN -chitinoid:XTNT:XTNT -chitinous:XTNS:XTNS -chitlings:XTLN:XTLN -chivalric:XFLR:XFLR -chivvying:XFNK:XFNK -chlamydia:KLMT:KLMT -chloracne:KLRK:KLRK -chlorates:KLRT:KLRT -chlordane:KLRT:KLRT -chlorella:KLRL:KLRL -chloremia:KLRM:KLRM -chlorides:KLRT:KLRT -chlorites:KLRT:KLRT -chloromas:KLRM:KLRM -chloropia:KLRP:KLRP -chloroses:KLRS:KLRS -chlorosis:KLRS:KLRS -chlorotic:KLRT:KLRT -chocolate:XKLT:XKLT -chocolaty:XKLT:XKLT -choirboys:XRPS:XRPS -chokeable:XKPL:XKPL -chokebore:XKPR:XKPR -chokedamp:XKTM:XKTM -cholaemia:XLM:XLM -cholecyst:XLSS:XLSS -choledoch:XLTK:XLTK -cholelith:XLL0:XLLT -choleraic:XLRK:XLRK -choleroid:XLRT:XLRT -chondrify:XNTR:XNTR -chondrite:XNTR:XNTR -chondroid:XNTR:XNTR -chondroma:XNTR:XNTR -chondrule:XNTR:XNTR -choosiest:XSST:XSST -chophouse:XFS:XFS -choppiest:XPST:XPST -chopstick:XPST:XPST -choralist:KRLS:KRLS -chordates:KRTT:KRTT -chorditis:KRTT:KRTT -chordomas:KRTM:KRTM -chordwise:KRTS:KRTS -choreatic:XRTK:XRTK -choriomas:KRMS:KRMS -chorionic:KRNK:KRNK -chorister:KRST:KRST -choroidal:KRTL:KRTL -chorology:KRLJ:KRLK -chortlers:KRTL:KRTL -chortling:KRTL:KRTL -chorusing:KRSN:KRSN -christens:KRST:KRST -christian:KRSX:KRSX -christies:KRST:KRST -christina:KRST:KRST -christine:KRST:KRST -christmas:KRST:KRST -christogy:KRST:KRST -chromates:KRMT:KRMT -chromatic:KRMT:KRMT -chromatid:KRMT:KRMT -chromatin:KRMT:KRMT -chromogen:KRMJ:KRMK -chronaxia:KRNK:KRNK -chronaxie:KRNK:KRNK -chronical:KRNK:KRNK -chronicle:KRNK:KRNK -chrysalid:KRSL:KRSL -chrysalis:KRSL:KRSL -chryslers:KRLR:KRLR -chrysomya:KRSM:KRSM -chthonian:K0NN:KTNN -chubbiest:XPST:XPST -chuckfull:XKFL:XKFL -chuckhole:XKL:XKL -chucklers:XKLR:XKLR -chuckling:XKLN:XKLN -chummiest:XMST:XMST -chungking:XNKK:XNKK -chunkiest:XNKS:XNKS -churchier:XRX:XRKR -churchill:XRXL:XRKL -churching:XRXN:XRKN -churchman:XRXM:XRKM -churchmen:XRXM:XRKM -chyliform:XLFR:XLFR -chylocele:XLSL:XLSL -chylocyst:XLSS:XLSS -cicatrize:SKTR:SKTR -cicerones:SSRN:SSRN -cicutoxin:SKTK:SKTK -cigarette:SKRT:SKRT -cigarillo:SKRL:SKRL -ciliation:SLXN:SLXN -ciliolate:SLLT:SLLT -cimmerian:SMRN:SMRN -cinchonas:SNXN:SNKN -cinchonic:SNXN:SNKN -cinctured:SNKT:SNKT -cinctures:SNKT:SNKT -cindering:SNTR:SNTR -cinderous:SNTR:SNTR -cineastes:SNST:SNST -cinematic:SNMT:SNMT -cineraria:SNRR:SNRR -cinereous:SNRS:SNRS -cingulate:SNKL:SNKL -cinquains:SNKN:SNKN -ciphering:SFRN:SFRN -circadian:SRKT:SRKT -circassia:SRKS:SRKS -circassic:SRKS:SRKS -circinate:SRSN:SRSN -circuital:SRKT:SRKT -circuited:SRKT:SRKT -circuiter:SRKT:SRKT -circuites:SRKT:SRKT -circuitry:SRKT:SRKT -circulate:SRKL:SRKL -cirrhoses:SRSS:SRSS -cirrhosis:SRSS:SRSS -cirrhotic:SRTK:SRTK -cirripede:SRPT:SRPT -cirripeds:SRPT:SRPT -cisalpine:SSLP:SSLP -cisternae:SSTR:SSTR -cisternal:SSTR:SSTR -citations:STXN:STXN -citifying:STFN:STFN -citizenly:STSN:STSN -citizenry:STSN:STSN -cityscape:STSK:STSK -civically:SFKL:SFKL -civilians:SFLN:SFLN -civilized:SFLS:SFLS -civilizer:SFLS:SFLS -civilizes:SFLS:SFLS -civilness:SFLN:SFLN -civitates:SFTT:SFTT -civitatis:SFTT:SFTT -cladogram:KLTK:KLTK -claimable:KLMP:KLMP -claimants:KLMN:KLMN -claimless:KLML:KLML -clambakes:KLMP:KLMP -clambered:KLMP:KLMP -clamberer:KLMP:KLMP -clammiest:KLMS:KLMS -clamorers:KLMR:KLMR -clamoring:KLMR:KLMR -clamorous:KLMR:KLMR -clampdown:KLMP:KLMP -clamshell:KLMX:KLMX -clangored:KLNK:KLNK -clapboard:KLPR:KLPR -clarences:KLRN:KLRN -clarendon:KLRN:KLRN -clarified:KLRF:KLRF -clarifier:KLRF:KLRF -clarifies:KLRF:KLRF -clarinets:KLRN:KLRN -classable:KLSP:KLSP -classical:KLSK:KLSK -classicus:KLSK:KLSK -classiest:KLSS:KLSS -classless:KLSL:KLSL -classmate:KLSM:KLSM -classroom:KLSR:KLSR -clathrate:KL0R:KLTR -clattered:KLTR:KLTR -clatterer:KLTR:KLTR -claustral:KLST:KLST -claustrum:KLST:KLST -clavately:KLFT:KLFT -clavation:KLFX:KLFX -clavicles:KLFK:KLFK -clavicorn:KLFK:KLFK -clavicula:KLFK:KLFK -claviform:KLFF:KLFF -claymores:KLMR:KLMR -claystone:KLST:KLST -cleanable:KLNP:KLNP -cleanlier:KLNL:KLNL -cleanlily:KLNL:KLNL -cleanness:KLNS:KLNS -cleansers:KLNS:KLNS -cleansing:KLNS:KLNS -clearable:KLRP:KLRP -clearance:KLRN:KLRN -clearcole:KLRK:KLRK -clearhead:KLRT:KLRT -clearings:KLRN:KLRN -clearness:KLRN:KLRN -clearways:KLRS:KLRS -cleavable:KLFP:KLFP -cleavages:KLFJ:KLFK -clemently:KLMN:KLMN -clenching:KLNX:KLNK -cleopatra:KLPT:KLPT -clepsydra:KLPS:KLPS -clergyman:KLRJ:KLRK -clergymen:KLRJ:KLRK -clericals:KLRK:KLRK -clerklier:KLRK:KLRK -clerkship:KLRK:KLRK -cleveland:KLFL:KLFL -cleverest:KLFR:KLFR -cleverish:KLFR:KLFR -clianthus:KLN0:KLNT -clientage:KLNT:KLNT -clientele:KLNT:KLNT -cliffhang:KLFN:KLFN -climactic:KLMK:KLMK -climaxing:KLMK:KLMK -climbable:KLMP:KLMP -clinchers:KLNX:KLNK -clinching:KLNX:KLNK -clingfilm:KLNK:KLNK -clingiest:KLNJ:KLNK -clinician:KLNS:KLNX -clinkered:KLNK:KLNK -clinostat:KLNS:KLNS -clipboard:KLPR:KLPR -clippable:KLPP:KLPP -clippings:KLPN:KLPN -clipsheet:KLPX:KLPX -cliquiest:KLKS:KLKS -cloacitis:KLST:KLST -cloakroom:KLKR:KLKR -clobbered:KLPR:KLPR -clockings:KLKN:KLKN -clocklike:KLKL:KLKL -clockwise:KLKS:KLKS -clockwork:KLKR:KLKR -cloddiest:KLTS:KLTS -cloggiest:KLJS:KLKS -cloisonne:KLSN:KLSN -cloisters:KLST:KLST -cloistral:KLST:KLST -clonicity:KLNS:KLNS -closeable:KLSP:KLSP -closefist:KLSF:KLSF -closeness:KLSN:KLSN -closeouts:KLST:KLST -closeting:KLST:KLST -closuring:KLSR:KLSR -clothiers:KL0R:KLTR -cloturing:KLTR:KLTR -cloudiest:KLTS:KLTS -cloudless:KLTL:KLTL -cloudlets:KLTL:KLTL -cloudlike:KLTL:KLTL -cloyingly:KLNK:KLNK -clubbable:KLPP:KLPP -clubbiest:KLPS:KLPS -clubhands:KLPN:KLPN -clubhauls:KLPL:KLPL -clubhouse:KLPS:KLPS -clubrooms:KLPR:KLPR -clubwoman:KLPM:KLPM -clubwomen:KLPM:KLPM -clumpiest:KLMP:KLMP -clumplike:KLMP:KLMP -clumsiest:KLMS:KLMS -clustered:KLST:KLST -clutching:KLXN:KLXN -cluttered:KLTR:KLTR -cmcumarin:KMKM:KMKM -cnidarion:KNTR:KNTR -coachwork:KKRK:KKRK -coadjutor:KTJT:KTJT -coadunate:KTNT:KTNT -coagulant:KKLN:KKLN -coagulase:KKLS:KKLS -coagulate:KKLT:KKLT -coalesced:KLST:KLST -coalesces:KLSS:KLSS -coalfield:KLFL:KLFL -coalition:KLXN:KLXN -coarctate:KRKT:KRKT -coarsened:KRSN:KRSN -coastally:KSTL:KSTL -coastline:KSTL:KSTL -coastward:KSTR:KSTR -coastwise:KSTS:KSTS -coattails:KTLS:KTLS -coauthors:K0RS:KTRS -coaxially:KKSL:KKSL -coaxingly:KKSN:KKSN -cobalamin:KPLM:KPLM -cobaltine:KPLT:KPLT -cobaltite:KPLT:KPLT -cobaltous:KPLT:KPLT -cobwebbed:KPPT:KPPT -cocainism:KKNS:KKNS -cocainize:KKNS:KKNS -coccidial:KXTL:KXTL -coccidian:KXTN:KXTN -coccidium:KXTM:KXTM -coccoidal:KKTL:KKTL -coccygeal:KKJL:KKKL -coccygeus:KKJS:KKKS -cochineal:KXNL:KKNL -cochleaes:KKLS:KKLS -cochleare:KKLR:KKLR -cochleate:KKLT:KKLT -cockateel:KKTL:KKTL -cockatiel:KKTL:KKTL -cockatoos:KKTS:KKTS -cockboats:KKPT:KKPT -cockerels:KKRL:KKRL -cockfight:KKFT:KKFT -cockhorse:KKRS:KKRS -cockiness:KKNS:KKNS -cocklebur:KKLP:KKLP -cocklofts:KKLF:KKLF -cockneyfy:KKNF:KKNF -cockroach:KKRK:KKRK -cockscomb:KKSK:KKSK -cocksfoot:KKSF:KKSF -cockshies:KKXS:KKXS -cockshots:KKXT:KKXT -cocktails:KKTL:KKTL -cocooning:KKNN:KKNN -codenames:KTNM:KTNM -codewords:KTRT:KTRT -codfishes:KTFX:KTFX -codifiers:KTFR:KTFR -codifying:KTFN:KTFN -codpieces:KTPS:KTPS -coediting:KTTN:KTTN -coeditors:KTTR:KTTR -coelomata:KLMT:KLMT -coelostat:KLST:KLST -coemploye:KMPL:KMPL -coemption:KMPX:KMPX -coemptive:KMPT:KMPT -coenobite:KNPT:KNPT -coenocyte:KNST:KNST -coenosarc:KNSR:KNSR -coequally:KKL:KKL -coercible:KRSP:KRSP -coercions:KRSN:KRXN -coeternal:KTRN:KTRN -coevality:KFLT:KFLT -coexisted:KKSS:KKSS -coextends:KKST:KKST -cofeature:KFTR:KFTR -coffeepot:KFPT:KFPT -cofferdam:KFRT:KFRT -coffering:KFRN:KFRN -cogencies:KJNS:KKNX -cogitable:KJTP:KKTP -cogitated:KJTT:KKTT -cogitates:KJTT:KKTT -cogitator:KJTT:KKTT -cognately:KNTL:KKNT -cognation:KNXN:KKNX -cognisant:KNSN:KKNS -cognising:KNSN:KKNS -cognition:KNXN:KKNX -cognitive:KNTF:KKNT -cognizant:KNSN:KKNS -cognomens:KNMN:KKNM -cognomina:KNMN:KKNM -cognosced:KNST:KKNS -cogwheels:KKLS:KKLS -cohabited:KHPT:KHPT -cohabiter:KHPT:KHPT -coheiress:KHRS:KHRS -coherence:KHRN:KHRN -coherency:KHRN:KHRN -cohobated:KHPT:KHPT -cohobates:KHPT:KHPT -coiffeurs:KFRS:KFRS -coiffeuse:KFS:KFS -coiffures:KFRS:KFRS -coincided:KNST:KNST -coincides:KNST:KNST -coinsured:KNSR:KNSR -coinsurer:KNSR:KNSR -coitional:KXNL:KXNL -cokernuts:KKRN:KKRN -cokuloris:KKLR:KKLR -colanders:KLNT:KLNT -colcannon:KLKN:KLKN -colchicum:KLXK:KLKK -colcothar:KLK0:KLKT -colectomy:KLKT:KLKT -colegatee:KLKT:KLKT -coliphage:KLFJ:KLFK -coliseums:KLSM:KLSM -colitises:KLTS:KLTS -collagist:KLJS:KLKS -collapsar:KLPS:KLPS -collapsed:KLPS:KLPS -collapses:KLPS:KLPS -collaring:KLRN:KLRN -collating:KLTN:KLTN -collation:KLXN:KLXN -collative:KLTF:KLTF -collators:KLTR:KLTR -colleague:KLK:KLK -collected:KLKT:KLKT -collector:KLKT:KLKT -collegial:KLJL:KLKL -collegian:KLJN:KLKN -collegium:KLJM:KLKM -colliding:KLTN:KLTN -colligate:KLKT:KLKT -collimate:KLMT:KLMT -collinear:KLNR:KLNR -collision:KLSN:KLXN -collocate:KLKT:KLKT -collodion:KLTN:KLTN -collodium:KLTM:KLTM -collogued:KLKT:KLKT -collogues:KLKS:KLKS -colloidal:KLTL:KLTL -colloquia:KLK:KLK -collotype:KLTP:KLTP -colluders:KLTR:KLTR -colluding:KLTN:KLTN -collusion:KLSN:KLXN -collusive:KLSF:KLSF -colluvial:KLFL:KLFL -colluvium:KLFM:KLFM -collyrium:KLRM:KLRM -colocolic:KLKL:KLKL -colocynth:KLSN:KLSN -colombian:KLMP:KLMP -colonelcy:KLNL:KLNL -colonials:KLNL:KLNL -colonists:KLNS:KLNS -colonitis:KLNT:KLNT -colonized:KLNS:KLNS -colonizer:KLNS:KLNS -colonizes:KLNS:KLNS -colonnade:KLNT:KLNT -colophons:KLFN:KLFN -colophony:KLFN:KLFN -colorable:KLRP:KLRP -colorably:KLRP:KLRP -coloradan:KLRT:KLRT -colorants:KLRN:KLRN -colorcast:KLRK:KLRK -colorfast:KLRF:KLRF -colorific:KLRF:KLRF -colorings:KLRN:KLRN -colorists:KLRS:KLRS -colorized:KLRS:KLRS -colorizes:KLRS:KLRS -colorless:KLRL:KLRL -colorwash:KLRX:KLRX -colorways:KLRS:KLRS -colosseum:KLSM:KLSM -colossian:KLSN:KLSN -colostomy:KLST:KLST -colostral:KLST:KLST -colostric:KLST:KLST -colostrum:KLST:KLST -colpalgia:KLPL:KLPL -colpocele:KLPS:KLPS -colpopexy:KLPP:KLPP -colporter:KLPR:KLPR -colpostat:KLPS:KLPS -colpotomy:KLPT:KLPT -coltishly:KLTX:KLTX -coltsfoot:KLTS:KLTS -colubrine:KLPR:KLPR -columbian:KLMP:KLMP -columbine:KLMP:KLMP -columbium:KLMP:KLMP -columella:KLML:KLML -columnate:KLMN:KLMN -columnist:KLMN:KLMN -columnize:KLMN:KLMN -comanches:KMNX:KMNK -combatant:KMPT:KMPT -combaters:KMPT:KMPT -combating:KMPT:KMPT -combative:KMPT:KMPT -combatted:KMPT:KMPT -combiners:KMPN:KMPN -combining:KMPN:KMPN -comburant:KMPR:KMPR -comburent:KMPR:KMPR -combusted:KMPS:KMPS -combustor:KMPS:KMPS -comebacks:KMPK:KMPK -comedians:KMTN:KMTN -comedones:KMTN:KMTN -comedowns:KMTN:KMTN -comeliest:KMLS:KMLS -comforted:KMFR:KMFR -comforter:KMFR:KMFR -comically:KMKL:KMKL -comintern:KMNT:KMNT -comitatus:KMTT:KMTT -commanded:KMNT:KMNT -commander:KMNT:KMNT -commandos:KMNT:KMNT -commenced:KMNS:KMNS -commencer:KMNS:KMNS -commences:KMNS:KMNS -commendam:KMNT:KMNT -commended:KMNT:KMNT -commensal:KMNS:KMNS -commented:KMNT:KMNT -commenter:KMNT:KMNT -commercia:KMRS:KMRX -commercii:KMRS:KMRS -commering:KMRN:KMRN -commingle:KMNK:KMNK -comminute:KMNT:KMNT -commissar:KMSR:KMSR -commissum:KMSM:KMSM -committal:KMTL:KMTL -committed:KMTT:KMTT -committee:KMT:KMT -committer:KMTR:KMTR -commixtio:KMKS:KMKS -commodata:KMTT:KMTT -commodate:KMTT:KMTT -commodity:KMTT:KMTT -commodore:KMTR:KMTR -commonage:KMNJ:KMNK -commoners:KMNR:KMNR -commonest:KMNS:KMNS -commorant:KMRN:KMRN -commotion:KMXN:KMXN -communard:KMNR:KMNR -communing:KMNN:KMNN -communion:KMNN:KMNN -communism:KMNS:KMNS -communist:KMNS:KMNS -community:KMNT:KMNT -communize:KMNS:KMNS -commutate:KMTT:KMTT -commuters:KMTR:KMTR -commuting:KMTN:KMTN -compacted:KMPK:KMPK -compacter:KMPK:KMPK -compactly:KMPK:KMPK -compactor:KMPK:KMPK -compadres:KMPT:KMPT -compander:KMPN:KMPN -companied:KMPN:KMPN -companies:KMPN:KMPN -companion:KMPN:KMPN -comparers:KMPR:KMPR -comparing:KMPR:KMPR -compassed:KMPS:KMPS -compasses:KMPS:KMPS -compelled:KMPL:KMPL -compeller:KMPL:KMPL -compendia:KMPN:KMPN -compering:KMPR:KMPR -competent:KMPT:KMPT -competing:KMPT:KMPT -compilers:KMPL:KMPL -compiling:KMPL:KMPL -complains:KMPL:KMPL -complaint:KMPL:KMPL -completed:KMPL:KMPL -completer:KMPL:KMPL -completes:KMPL:KMPL -complexes:KMPL:KMPL -complexly:KMPL:KMPL -complexus:KMPL:KMPL -compliant:KMPL:KMPL -complying:KMPL:KMPL -component:KMPN:KMPN -componere:KMPN:KMPN -comported:KMPR:KMPR -composers:KMPS:KMPS -composing:KMPS:KMPS -composite:KMPS:KMPS -composses:KMPS:KMPS -composted:KMPS:KMPS -composure:KMPS:KMPS -compounds:KMPN:KMPN -comprisal:KMPR:KMPR -comprised:KMPR:KMPR -comprises:KMPR:KMPR -compromit:KMPR:KMPR -computers:KMPT:KMPT -computing:KMPT:KMPT -comradely:KMRT:KMRT -conatural:KNTR:KNTR -concavely:KNKF:KNKF -concavity:KNKF:KNKF -concealed:KNSL:KNSL -concealer:KNSL:KNSL -conceders:KNST:KNST -conceding:KNST:KNST -conceited:KNST:KNST -conceived:KNSF:KNSF -conceiver:KNSF:KNSF -conceives:KNSF:KNSF -concenter:KNSN:KNSN -conceptus:KNSP:KNSP -concerned:KNSR:KNSR -concerted:KNSR:KNSR -concertos:KNSR:KNSR -conchitis:KNXT:KNKT -concierge:KNSR:KNXR -conciliar:KNSL:KNSL -concisely:KNSS:KNSS -concision:KNSS:KNSX -conclaves:KNKL:KNKL -concluded:KNKL:KNKL -concluder:KNKL:KNKL -concludes:KNKL:KNKL -concocted:KNKK:KNKK -concocter:KNKK:KNKK -concoctor:KNKK:KNKK -concordat:KNKR:KNKR -concordes:KNKR:KNKR -concourse:KNKR:KNKR -concreted:KNKR:KNKR -concretes:KNKR:KNKR -concubine:KNKP:KNKP -concurred:KNKR:KNKR -concursos:KNKR:KNKR -concursus:KNKR:KNKR -concussed:KNKS:KNKS -condemned:KNTM:KNTM -condemner:KNTM:KNTM -condemnor:KNTM:KNTM -condensed:KNTN:KNTN -condenser:KNTN:KNTN -condenses:KNTN:KNTN -condignly:KNTN:KNTK -condiment:KNTM:KNTM -condition:KNTX:KNTX -condolers:KNTL:KNTL -condoling:KNTL:KNTL -condoners:KNTN:KNTN -condoning:KNTN:KNTN -conducers:KNTS:KNTS -conducing:KNTS:KNTS -conducive:KNTS:KNTS -conducted:KNTK:KNTK -conductio:KNTK:KNTK -conductor:KNTK:KNTK -condylion:KNTL:KNTL -condyloid:KNTL:KNTL -condyloma:KNTL:KNTL -conestoga:KNST:KNST -confabbed:KNFP:KNFP -confected:KNFK:KNFK -confectio:KNFK:KNFK -conferees:KNFR:KNFR -conferral:KNFR:KNFR -conferred:KNFR:KNFR -conferree:KNFR:KNFR -conferrer:KNFR:KNFR -confertus:KNFR:KNFR -confessed:KNFS:KNFS -confesses:KNFS:KNFS -confessor:KNFS:KNFS -confidant:KNFT:KNFT -confident:KNFT:KNFT -confiders:KNFT:KNFT -confiding:KNFT:KNFT -configure:KNFK:KNFK -confiners:KNFN:KNFN -confining:KNFN:KNFN -confirmed:KNFR:KNFR -confirmer:KNFR:KNFR -confirmor:KNFR:KNFR -confiteor:KNFT:KNFT -confiture:KNFT:KNFT -conflated:KNFL:KNFL -conflates:KNFL:KNFL -conflicts:KNFL:KNFL -confluent:KNFL:KNFL -confluxes:KNFL:KNFL -conformal:KNFR:KNFR -conformed:KNFR:KNFR -conformer:KNFR:KNFR -confounds:KNFN:KNFN -confreres:KNFR:KNFR -confronts:KNFR:KNFR -confucian:KNFS:KNFX -confucius:KNFS:KNFS -confusers:KNFS:KNFS -confusing:KNFS:KNFS -confusion:KNFS:KNFX -confuters:KNFT:KNFT -confuting:KNFT:KNFT -congealed:KNJL:KNKL -congealer:KNJL:KNKL -congeners:KNJN:KNKN -congenial:KNJN:KNKN -congereel:KNKR:KNJR -congeries:KNKR:KNJR -congested:KNJS:KNKS -congolese:KNKL:KNKL -congruent:KNKR:KNKR -congruity:KNKR:KNKR -congruous:KNKR:KNKR -conically:KNKL:KNKL -coniology:KNLJ:KNLK -conjoined:KNJN:KNJN -conjoiner:KNJN:KNJN -conjoints:KNJN:KNJN -conjugant:KNJK:KNJK -conjugata:KNJK:KNJK -conjugate:KNJK:KNJK -conjuncts:KNJN:KNJN -conjurers:KNJR:KNJR -conjuring:KNJR:KNJR -conjurors:KNJR:KNJR -connately:KNTL:KNTL -connected:KNKT:KNKT -connecter:KNKT:KNKT -connector:KNKT:KNKT -connivens:KNFN:KNFN -connivent:KNFN:KNFN -connivers:KNFR:KNFR -connivery:KNFR:KNFR -conniving:KNFN:KNFN -connotate:KNTT:KNTT -connoting:KNTN:KNTN -connotive:KNTF:KNTF -connubial:KNPL:KNPL -conquered:KNKR:KNKR -conquerer:KNKR:KNKR -conqueror:KNKR:KNKR -conquests:KNKS:KNKS -conscious:KNSS:KNSS -conscribe:KNSK:KNSK -conscript:KNSK:KNSK -consensus:KNSN:KNSN -consented:KNSN:KNSN -consenter:KNSN:KNSN -conserved:KNSR:KNSR -conserver:KNSR:KNSR -conserves:KNSR:KNSR -considers:KNST:KNST -consigned:KNSN:KNSK -consignee:KNSN:KNSK -consigner:KNSN:KNSK -consignor:KNSN:KNSK -consimili:KNSM:KNSM -consisted:KNSS:KNSS -consocies:KNSS:KNSX -consolers:KNSL:KNSL -consoling:KNSL:KNSL -consolute:KNSL:KNSL -consommes:KNSM:KNSM -consonant:KNSN:KNSN -consorted:KNSR:KNSR -consorter:KNSR:KNSR -consortia:KNSR:KNSR -conspired:KNSP:KNSP -conspirer:KNSP:KNSP -conspires:KNSP:KNSP -constable:KNST:KNST -constance:KNST:KNST -constancy:KNST:KNST -constants:KNST:KNST -constrain:KNST:KNST -constrict:KNST:KNST -construct:KNST:KNST -construed:KNST:KNST -construer:KNST:KNST -construes:KNST:KNST -consulage:KNSL:KNSL -consulate:KNSL:KNSL -consulted:KNSL:KNSL -consulter:KNSL:KNSL -consultor:KNSL:KNSL -consumers:KNSM:KNSM -consuming:KNSM:KNSM -contacted:KNTK:KNTK -contactor:KNTK:KNTK -contadini:KNTT:KNTT -contagion:KNTJ:KNTK -contagium:KNTJ:KNTK -contained:KNTN:KNTN -container:KNTN:KNTN -contangos:KNTN:KNTN -contemned:KNTM:KNTM -contemner:KNTM:KNTM -contemnor:KNTM:KNTM -contended:KNTN:KNTN -contender:KNTN:KNTN -contented:KNTN:KNTN -contently:KNTN:KNTN -contested:KNTS:KNTS -contestee:KNTS:KNTS -contester:KNTS:KNTS -continent:KNTN:KNTN -contingat:KNTN:KNTN -continual:KNTN:KNTN -continued:KNTN:KNTN -continuer:KNTN:KNTN -continues:KNTN:KNTN -continuum:KNTN:KNTN -contorted:KNTR:KNTR -contoured:KNTR:KNTR -contracts:KNTR:KNTR -contractu:KNTR:KNTR -contrails:KNTR:KNTR -contraire:KNTR:KNTR -contralto:KNTR:KNTR -contrasts:KNTR:KNTR -contrasty:KNTR:KNTR -contrived:KNTR:KNTR -contriver:KNTR:KNTR -contrives:KNTR:KNTR -contumacy:KNTM:KNTM -contumely:KNTM:KNTM -contusing:KNTS:KNTS -contusion:KNTS:KNTX -contusive:KNTS:KNTS -conundrum:KNNT:KNNT -convected:KNFK:KNFK -convector:KNFK:KNFK -conveners:KNFN:KNFN -convening:KNFN:KNFN -convenors:KNFN:KNFN -converged:KNFR:KNFR -converges:KNFR:KNFR -conversed:KNFR:KNFR -converser:KNFR:KNFR -converses:KNFR:KNFR -converted:KNFR:KNFR -converter:KNFR:KNFR -convertor:KNFR:KNFR -convexity:KNFK:KNFK -conveyers:KNFR:KNFR -conveying:KNFN:KNFN -conveyors:KNFR:KNFR -convicted:KNFK:KNFK -convinced:KNFN:KNFN -convincer:KNFN:KNFN -convinces:KNFN:KNFN -convivial:KNFF:KNFF -convokers:KNFK:KNFK -convoking:KNFK:KNFK -convolute:KNFL:KNFL -convolved:KNFL:KNFL -convolves:KNFL:KNFL -convoying:KNFN:KNFN -convulsed:KNFL:KNFL -convulses:KNFL:KNFL -cookbooks:KKPK:KKPK -cookhouse:KKS:KKS -coonhound:KNNT:KNNT -coonskins:KNSK:KNSK -cooperage:KPRJ:KPRK -cooperate:KPRT:KPRT -cooperies:KPRS:KPRS -coparceny:KPRS:KPRS -coparties:KPRT:KPRT -copartner:KPRT:KPRT -copestone:KPST:KPST -copiously:KPSL:KPSL -copolymer:KPLM:KPLM -coppering:KPRN:KPRN -copperish:KPRX:KPRX -coppicing:KPSN:KPSN -coprolite:KPRL:KPRL -coprolith:KPRL:KPRL -coprology:KPRL:KPRL -copulated:KPLT:KPLT -copulates:KPLT:KPLT -copybooks:KPPK:KPPK -copygraph:KPKR:KPKR -copyright:KPRT:KPRT -coquetted:KKTT:KKTT -coquettes:KKTS:KKTS -coracidia:KRST:KRST -coralline:KRLN:KRLN -coralloid:KRLT:KRLT -corbeling:KRPL:KRPL -cordately:KRTT:KRTT -cordially:KRTL:KRTL -cordiform:KRTF:KRTF -cordoning:KRTN:KRTN -cordopexy:KRTP:KRTP -cordotomy:KRTT:KRTT -cordovans:KRTF:KRTF -corduroys:KRTR:KRTR -corelyses:KRLS:KRLS -corelysis:KRLS:KRLS -coreopsis:KRPS:KRPS -coriander:KRNT:KRNT -corkboard:KRKP:KRKP -corkonian:KRKN:KRKN -corkscrew:KRKS:KRKS -cormorant:KRMR:KRMR -cornballs:KRNP:KRNP -cornbrash:KRNP:KRNP -cornbread:KRNP:KRNP -corncribs:KRNK:KRNK -corneitis:KRNT:KRNT -cornelian:KRNL:KRNL -cornering:KRNR:KRNR -cornetist:KRNT:KRNT -cornfield:KRNF:KRNF -cornflour:KRNF:KRNF -corniches:KRNX:KRNK -cornicing:KRNS:KRNS -cornified:KRNF:KRNF -corniness:KRNN:KRNN -cornstalk:KRNS:KRNS -corollary:KRLR:KRLR -coronachs:KRNK:KRNK -coronales:KRNL:KRNL -coronated:KRNT:KRNT -coroneted:KRNT:KRNT -coronitis:KRNT:KRNT -coroutine:KRTN:KRTN -corporacy:KRPR:KRPR -corporale:KRPR:KRPR -corporals:KRPR:KRPR -corporate:KRPR:KRPR -corporeal:KRPR:KRPR -corposant:KRPS:KRPS -corpulent:KRPL:KRPL -corpuscle:KRPS:KRPS -corrading:KRTN:KRTN -corralled:KRLT:KRLT -corrasion:KRSN:KRXN -corrasive:KRSF:KRSF -corrected:KRKT:KRKT -correctly:KRKT:KRKT -corrector:KRKT:KRKT -correlate:KRLT:KRLT -corridors:KRTR:KRTR -corrigent:KRJN:KRKN -corrodent:KRTN:KRTN -corroders:KRTR:KRTR -corrodies:KRTS:KRTS -corroding:KRTN:KRTN -corrosion:KRSN:KRXN -corrosive:KRSF:KRSF -corrugate:KRKT:KRKT -corrupted:KRPT:KRPT -corrupter:KRPT:KRPT -corruptly:KRPT:KRPT -corruptor:KRPT:KRPT -corsicans:KRSK:KRSK -cortexone:KRTK:KRTK -corticate:KRTK:KRTK -corticoid:KRTK:KRTK -cortisone:KRTS:KRTS -coruscate:KRSK:KRSK -corvettes:KRFT:KRFT -corydalis:KRTL:KRTL -coryphees:KRFS:KRFS -cosecants:KSKN:KSKN -coseismal:KSSM:KSSM -coseismic:KSSM:KSSM -coservant:KSRF:KSRF -cosigners:KSNR:KSKN -cosmetics:KSMT:KSMT -cosmogeny:KSMJ:KSMK -cosmogony:KSMK:KSMK -cosmology:KSML:KSML -cosmonaut:KSMN:KSMN -cosponsor:KSPN:KSPN -costalgia:KSTL:KSTL -costively:KSTF:KSTF -costliest:KSTL:KSTL -costotome:KSTT:KSTT -costotomy:KSTT:KSTT -costumers:KSTM:KSTM -costumier:KSTM:KSTM -costuming:KSTM:KSTM -coswearer:KSRR:KSRR -cotangent:KTNJ:KTNK -cotarnine:KTRN:KTRN -cotenancy:KTNN:KTNN -cotenants:KTNN:KTNN -cotillion:KTLN:KTLN -cotswolds:KTSL:KTSL -cottagers:KTKR:KTJR -cottering:KTRN:KTRN -cottonade:KTNT:KTNT -cottoning:KTNN:KTNN -cotyledon:KTLT:KTLT -couchance:KXNS:KKNS -couchancy:KXNS:KKNS -coulisses:KLSS:KLSS -coumaphos:KMFS:KMFS -councilor:KNSL:KNSL -counseled:KNSL:KNSL -counselee:KNSL:KNSL -counselor:KNSL:KNSL -countable:KNTP:KNTP -countably:KNTP:KNTP -countdown:KNTN:KNTN -countered:KNTR:KNTR -countless:KNTL:KNTL -countries:KNTR:KNTR -couplings:KPLN:KPLN -courgette:KRKT:KRKT -courtelle:KRTL:KRTL -courteous:KRTS:KRTS -courtesan:KRTS:KRTS -courtiers:KRTR:KRTR -courtlier:KRTL:KRTL -courtroom:KRTR:KRTR -courtship:KRTX:KRTX -courtyard:KRTR:KRTR -cousinage:KSNJ:KSNK -couturier:KTR:KTRR -couvertes:KFRT:KFRT -covalence:KFLN:KFLN -covalency:KFLN:KFLN -covariant:KFRN:KFRN -covenants:KFNN:KFNN -coverable:KFRP:KFRP -coveralls:KFRL:KFRL -coverings:KFRN:KFRN -coverless:KFRL:KFRL -coverlets:KFRL:KFRL -coverslip:KFRS:KFRS -coverture:KFRT:KFRT -covetable:KFTP:KFTP -cowardice:KRTS:KRTS -coworkers:KRKR:KRKR -coxalgias:KKSL:KKSL -coxalgies:KKSL:KKSL -coxitides:KKST:KKST -coxsackie:KKSS:KKSS -coxswains:KKSS:KKSS -crabapple:KRPP:KRPP -crabbedly:KRPT:KRPT -crabbiest:KRPS:KRPS -crabgrass:KRPK:KRPK -crabstick:KRPS:KRPS -crackdown:KRKT:KRKT -cracklier:KRKL:KRKL -crackling:KRKL:KRKL -crackpots:KRKP:KRKP -cracksman:KRKS:KRKS -cracksmen:KRKS:KRKS -cradleson:KRTL:KRTL -craftiest:KRFT:KRFT -craftsman:KRFT:KRFT -craftsmen:KRFT:KRFT -craggiest:KRJS:KRKS -crampness:KRMP:KRMP -cramponed:KRMP:KRMP -cranberry:KRNP:KRNP -cranially:KRNL:KRNL -crankcase:KRNK:KRNK -crankiest:KRNK:KRNK -crankling:KRNK:KRNK -crankpins:KRNK:KRNK -crappiest:KRPS:KRPS -crapulent:KRPL:KRPL -crapulous:KRPL:KRPL -crassness:KRSN:KRSN -craterous:KRTR:KRTR -cravingly:KRFN:KRFN -crawliest:KRLS:KRLS -crayoning:KRNN:KRNN -crayonist:KRNS:KRNS -craziness:KRSN:KRSN -creakiest:KRKS:KRKS -creamiest:KRMS:KRMS -creamlike:KRML:KRML -creatable:KRTP:KRTP -creations:KRXN:KRXN -creatress:KRTR:KRTR -creatural:KRTR:KRTR -creatures:KRTR:KRTR -credendum:KRTN:KRTN -credenzas:KRTN:KRTN -crediting:KRTT:KRTT -creditors:KRTT:KRTT -credulity:KRTL:KRTL -credulous:KRTL:KRTL -creepiest:KRPS:KRPS -cremaster:KRMS:KRMS -cremating:KRMT:KRMT -cremation:KRMX:KRMX -cremators:KRMT:KRMT -crematory:KRMT:KRMT -crenation:KRNX:KRNX -crenature:KRNT:KRNT -crenelate:KRNL:KRNL -creneling:KRNL:KRNL -crenelles:KRNL:KRNL -crenocyte:KRNS:KRNS -crenulate:KRNL:KRNL -creophagy:KRFK:KRFJ -creosotic:KRST:KRST -crepitant:KRPT:KRPT -crepitate:KRPT:KRPT -crescendo:KRSN:KRSN -crescents:KRSN:KRSN -crestings:KRST:KRST -crestless:KRST:KRST -cretinism:KRTN:KRTN -cretinize:KRTN:KRTN -cretinoid:KRTN:KRTN -cretinous:KRTN:KRTN -crevasses:KRFS:KRFS -crewelist:KRLS:KRLS -cribrosae:KRPR:KRPR -cricetine:KRST:KRST -cricketer:KRKT:KRKT -crimeless:KRML:KRML -criminals:KRMN:KRMN -criminate:KRMN:KRMN -crimsoned:KRMS:KRMS -crinklier:KRNK:KRNK -crinkling:KRNK:KRNK -crinoidal:KRNT:KRNT -crinoline:KRNL:KRNL -cripplers:KRPL:KRPL -crippling:KRPL:KRPL -crispated:KRSP:KRSP -crispiest:KRSP:KRSP -crispness:KRSP:KRSP -criterion:KRTR:KRTR -criterium:KRTR:KRTR -crithidia:KR0T:KRTT -criticism:KRTS:KRTS -criticize:KRTS:KRTS -critiqued:KRTK:KRTK -critiques:KRTK:KRTK -croakiest:KRKS:KRKS -croatians:KRXN:KRXN -crocheted:KRXT:KRKT -crocheter:KRXT:KRKT -crocodile:KRKT:KRKT -croissant:KRSN:KRSN -cromlechs:KRML:KRML -crookedly:KRKT:KRKT -crookneck:KRKN:KRKN -croplands:KRPL:KRPL -croqueted:KRKT:KRKT -croquette:KRKT:KRKT -crossable:KRSP:KRSP -crossbars:KRSP:KRSP -crossbeam:KRSP:KRSP -crossbill:KRSP:KRSP -crossbows:KRSP:KRSP -crossbred:KRSP:KRSP -crosscuts:KRSK:KRSK -crossfire:KRSF:KRSF -crosshead:KRST:KRST -crossings:KRSN:KRSN -crossjack:KRSK:KRSK -crosslets:KRSL:KRSL -crossness:KRSN:KRSN -crossover:KRSF:KRSF -crossroad:KRSR:KRSR -crossruff:KRSR:KRSR -crosstalk:KRST:KRST -crosstown:KRST:KRST -crosstree:KRST:KRST -crosswalk:KRSL:KRSL -crosswind:KRSN:KRSN -crosswise:KRSS:KRSS -crossword:KRSR:KRSR -crotaline:KRTL:KRTL -crotalism:KRTL:KRTL -crotchets:KRXT:KRXT -crotchety:KRXT:KRXT -crouchers:KRXR:KRKR -crouching:KRXN:KRKN -croupiers:KRPR:KRPR -croupiest:KRPS:KRPS -crowdedly:KRTT:KRTT -crowfoots:KRFT:KRFT -crowingly:KRNK:KRNK -crownless:KRNL:KRNL -crownwork:KRNR:KRNR -crucially:KRSL:KRXL -crucibles:KRSP:KRSP -crucified:KRSF:KRSF -crucifier:KRSF:KRSF -crucifies:KRSF:KRSF -cruciform:KRSF:KRSF -crudeness:KRTN:KRTN -crudities:KRTT:KRTT -cruellest:KRLS:KRLS -cruelness:KRLN:KRLN -cruelties:KRLT:KRLT -cruiseway:KRS:KRS -crumbiest:KRMP:KRMP -crumbling:KRMP:KRMP -crummiest:KRMS:KRMS -crumpling:KRMP:KRMP -crunchier:KRNX:KRNK -crunchily:KRNX:KRNK -crunching:KRNX:KRNK -crusaders:KRST:KRST -crusading:KRST:KRST -crushable:KRXP:KRXP -crustacea:KRST:KRST -crustiest:KRST:KRST -crutching:KRXN:KRXN -cruzeiros:KRSR:KRSR -crybabies:KRPP:KRPP -cryocable:KRKP:KRKP -cryogenic:KRJN:KRKN -cryometry:KRMT:KRMT -cryophyte:KRFT:KRFT -cryoprobe:KRPR:KRPR -cryoscope:KRSK:KRSK -cryoscopy:KRSK:KRSK -cryotrons:KRTR:KRTR -cryptical:KRPT:KRPT -cryptitis:KRPT:KRPT -cryptogam:KRPT:KRPT -cubbishly:KPXL:KPXL -cubbyhole:KPHL:KPHL -cubically:KPKL:KPKL -cuboiding:KPTN:KPTN -cuckolded:KKLT:KKLT -cuckoldry:KKLT:KKLT -cuckooing:KKNK:KKNK -cucullate:KKLT:KKLT -cucumbers:KKMR:KKMR -cuddliest:KTLS:KTLS -cudgelers:KJLR:KJLR -cudgeling:KJLN:KJLN -cufflinks:KFLN:KFLN -cuirasses:KRSS:KRSS -culicidae:KLST:KLST -cullender:KLNT:KLNT -culminant:KLMN:KLMN -culminate:KLMN:KLMN -cultivars:KLTF:KLTF -cultivate:KLTF:KLTF -cultrated:KLTR:KLTR -culturing:KLTR:KLTR -culturist:KLTR:KLTR -cumbering:KMRN:KMRN -cumbrance:KMPR:KMPR -cumulated:KMLT:KMLT -cumulates:KMLT:KMLT -cuneately:KNTL:KNTL -cuneiform:KNFR:KNFR -cuniculus:KNKL:KNKL -cunningly:KNNK:KNNK -cupbearer:KPRR:KPRR -cupboards:KPRT:KPRT -cupertino:KPRT:KPRT -cupholder:KFLT:KFLT -cupolated:KPLT:KPLT -cupressus:KPRS:KPRS -curarized:KRRS:KRRS -curarizes:KRRS:KRRS -curatives:KRTF:KRTF -curbstone:KRPS:KRPS -curdiness:KRTN:KRTN -curetment:KRTM:KRTM -curettage:KRTJ:KRTK -curetting:KRTN:KRTN -curfewing:KRFN:KRFN -curiosity:KRST:KRST -curiouser:KRSR:KRSR -curiously:KRSL:KRSL -curlicues:KRLK:KRLK -curliness:KRLN:KRLN -curlpaper:KRLP:KRLP -currawong:KRNK:KRNK -currently:KRNT:KRNT -curricles:KRKL:KRKL -curricula:KRKL:KRKL -currishly:KRXL:KRXL -currycomb:KRKM:KRKM -cursively:KRSF:KRSF -cursorial:KRSR:KRSR -cursorily:KRSR:KRSR -curtailed:KRTL:KRTL -curtailer:KRTL:KRTL -curtained:KRTN:KRTN -curtesies:KRTS:KRTS -curtilage:KRTL:KRTL -curtseyed:KRTS:KRTS -curtsying:KRTS:KRTS -curvature:KRFT:KRFT -curvetted:KRFT:KRFT -curviness:KRFN:KRFN -cushiness:KXNS:KXNS -cushioned:KXNT:KXNT -cuspidate:KSPT:KSPT -cuspidors:KSPT:KSPT -custodees:KSTT:KSTT -custodiae:KSTT:KSTT -custodial:KSTT:KSTT -custodiam:KSTT:KSTT -custodian:KSTT:KSTT -custodier:KSTT:KSTT -custodies:KSTT:KSTT -customary:KSTM:KSTM -customers:KSTM:KSTM -customize:KSTM:KSTM -cutaneous:KTNS:KTNS -cuterebra:KTRP:KTRP -cuticulae:KTKL:KTKL -cuticular:KTKL:KTKL -cutinised:KTNS:KTNS -cutinises:KTNS:KTNS -cutlasses:KTLS:KTLS -cutthroat:K0RT:KTRT -cuttingly:KTNK:KTNK -cyanamide:SNMT:SNMT -cyanophil:SNFL:SNFL -cybernate:SPRN:SPRN -cyclamate:SKLM:SKLM -cyclamens:SKLM:SKLM -cyclogram:SKLK:SKLK -cycloidal:SKLT:SKLT -cyclopean:SKLP:SKLP -cyclopias:SKLP:SKLP -cyclopies:SKLP:SKLP -cyclorama:SKLR:SKLR -cyclotome:SKLT:SKLT -cyclotomy:SKLT:SKLT -cyclotron:SKLT:SKLT -cylinders:SLNT:SLNT -cylindric:SLNT:SLNT -cymbaleer:SMPL:SMPL -cymbalers:SMPL:SMPL -cymbalist:SMPL:SMPL -cymballon:SMPL:SMPL -cymograph:SMKR:SMKR -cynically:SNKL:SNKL -cynomolgi:SNML:SNML -cynosural:SNSR:SNSR -cynosures:SNSR:SNSR -cypresses:SPRS:SPRS -cypriotes:SPRT:SPRT -cystalgia:SSTL:SSTL -cystamine:SSTM:SSTM -cystiform:SSTF:SSTF -cystocele:SSTS:SSTS -cystogram:SSTK:SSTK -cystolith:SSTL:SSTL -cystomata:SSTM:SSTM -cystopexy:SSTP:SSTP -cystotome:SSTT:SSTT -cystotomy:SSTT:SSTT -cytoblast:STPL:STPL -cytocidal:STST:STST -cytokinin:STKN:STKN -cytologic:STLJ:STLK -cytolymph:STLM:STLM -cytolyses:STLS:STLS -cytolysin:STLS:STLS -cytolysis:STLS:STLS -cytolytic:STLT:STLT -cytometry:STMT:STMT -cytopenia:STPN:STPN -cytophagy:STFK:STFJ -cytoplasm:STPL:STPL -cytoplast:STPL:STPL -cytotoxic:STTK:STTK -cytotoxin:STTK:STTK -cytovirin:STFR:STFR -dabchicks:TPXK:TPKK -dachshund:TKXN:TKXN -dacryomas:TKRM:TKRM -dactylion:TKTL:TKTL -dadaistic:TTST:TTST -daddaists:TTST:TTST -daffiness:TFNS:TFNS -daffodils:TFTL:TFTL -daihatsus:THTS:THTS -daintiest:TNTS:TNTS -daiquiris:TKRS:TKRS -dairymaid:TRMT:TRMT -dalliance:TLNS:TLNS -dalmatian:TLMX:TLMX -dalmatics:TLMT:TLMT -daltonism:TLTN:TLTN -damascene:TMSN:TMSN -damasking:TMSK:TMSK -dammatory:TMTR:TMTR -damnation:TMNX:TMNX -damnatory:TMNT:TMNT -damnedest:TMNT:TMNT -damnified:TMNF:TMNF -damnifies:TMNF:TMNF -damoclean:TMKL:TMKL -dampeners:TMPN:TMPN -dampening:TMPN:TMPN -damselfly:TMSL:TMSL -danceable:TNSP:TNSP -dancingly:TNSN:TNSN -dandelion:TNTL:TNTL -dandified:TNTF:TNTF -dandifies:TNTF:TNTF -dandruffy:TNTR:TNTR -dangerous:TNJR:TNKR -danseuses:TNSS:TNSS -dantesque:TNTS:TNTS -danthonia:TN0N:TNTN -daredevil:TRTF:TRTF -darkeners:TRKN:TRKN -darkening:TRKN:TRKN -darkrooms:TRKR:TRKR -dartboard:TRTP:TRTP -dartingly:TRTN:TRTN -darwinian:TRNN:TRNN -darwinism:TRNS:TRNS -darwinist:TRNS:TRNS -darwinite:TRNT:TRNT -dashboard:TXPR:TXPR -dashikies:TXKS:TXKS -dashingly:TXNK:TXNK -dastardly:TSTR:TSTR -databases:TTPS:TTPS -datedness:TTTN:TTTN -datelined:TTLN:TTLN -datelines:TTLN:TTLN -daughters:TTRS:TTRS -dauntless:TNTL:TNTL -dauphines:TFNS:TFNS -davenport:TFNP:TFNP -daybreaks:TPRK:TPRK -daycenter:TSNT:TSNT -daydreams:TTRM:TTRM -dayflower:TFLR:TFLR -daylights:TLTS:TLTS -dazedness:TSTN:TSTN -deacidify:TSTF:TSTF -deaconess:TKNS:TKNS -deadbeats:TTPT:TTPT -deadeners:TTNR:TTNR -deadening:TTNN:TTNN -deadfalls:TTFL:TTFL -deadheads:TTTS:TTTS -deadliest:TTLS:TTLS -deadlight:TTLT:TTLT -deadlines:TTLN:TTLN -deadlocks:TTLK:TTLK -deafening:TFNN:TFNN -dealating:TLTN:TLTN -dealation:TLXN:TLXN -deaminate:TMNT:TMNT -deaneries:TNRS:TNRS -deanships:TNXP:TNXP -deathbeds:T0PT:TTPT -deathblow:T0PL:TTPL -deathless:T0LS:TTLS -deathlike:T0LK:TTLK -deathrate:T0RT:TTRT -deathtrap:T0TR:TTTR -debarking:TPRK:TPRK -debarment:TPRM:TPRM -debarring:TPRN:TPRN -debatable:TPTP:TPTP -debatably:TPTP:TPTP -debauched:TPXT:TPKT -debauchee:TPX:TPK -debaucher:TPXR:TPKR -debauches:TPXS:TPKS -debenture:TPNT:TPNT -debitable:TPTP:TPTP -debouched:TPXT:TPKT -debouches:TPXS:TPKS -debriding:TPRT:TPRT -debriefed:TPRF:TPRF -debuggers:TPKR:TPKR -debugging:TPKN:TPKN -debunkers:TPNK:TPNK -debunking:TPNK:TPNK -debutante:TPTN:TPTN -decadence:TKTN:TKTN -decadency:TKTN:TKTN -decagonal:TKKN:TKKN -decagrams:TKKR:TKKR -decahedra:TKHT:TKHT -decalcify:TKLS:TKLS -decaliter:TKLT:TKLT -decalogue:TKLK:TKLK -decalvant:TKLF:TKLF -decameter:TKMT:TKMT -decamping:TKMP:TKMP -decanally:TKNL:TKNL -decanters:TKNT:TKNT -decanting:TKNT:TKNT -decapolis:TKPL:TKPL -decastyle:TKST:TKST -decathlon:TK0L:TKTL -decayable:TKPL:TKPL -deceasing:TSSN:TSSN -decedents:TSTN:TSTN -deceitful:TSTF:TSTF -deceivers:TSFR:TSFR -deceiving:TSFN:TSFN -decemviri:TSMF:TSMF -decemvirs:TSMF:TSMF -decencies:TSNS:TSNX -decennary:TSNR:TSNR -decennial:TSNL:TSNL -decennium:TSNM:TSNM -deception:TSPX:TSPX -deceptive:TSPT:TSPT -decerning:TSRN:TSRN -decertify:TSRT:TSRT -decidable:TSTP:TSTP -decidedly:TSTT:TSTT -decidendi:TSTN:TSTN -deciduate:TSTT:TSTT -deciduoma:TSTM:TSTM -deciduous:TSTS:TSTS -decigrams:TSKR:TSKR -deciliter:TSLT:TSLT -decillion:TSLN:TSLN -decimally:TSML:TSML -decimated:TSMT:TSMT -decimates:TSMT:TSMT -decimator:TSMT:TSMT -decimeter:TSMT:TSMT -deciparae:TSPR:TSPR -deciparas:TSPR:TSPR -deciphers:TSFR:TSFR -decisions:TSSN:TSXN -decistere:TSST:TSST -deckhouse:TKS:TKS -declaimed:TKLM:TKLM -declaimer:TKLM:TKLM -declarant:TKLR:TKLR -declarers:TKLR:TKLR -declaring:TKLR:TKLR -declassed:TKLS:TKLS -declassee:TKLS:TKLS -declasses:TKLS:TKLS -declators:TKLT:TKLT -declinate:TKLN:TKLN -decliners:TKLN:TKLN -declining:TKLN:TKLN -declivity:TKLF:TKLF -decocting:TKKT:TKKT -decoction:TKKX:TKKX -decodings:TKTN:TKTN -decollate:TKLT:TKLT -decollete:TKLT:TKLT -decolored:TKLR:TKLR -decompile:TKMP:TKMP -decompose:TKMP:TKMP -decongest:TKNJ:TKNK -decontrol:TKNT:TKNT -decorated:TKRT:TKRT -decorates:TKRT:TKRT -decorator:TKRT:TKRT -decoupage:TKPJ:TKPK -decoupled:TKPL:TKPL -decouples:TKPL:TKPL -decreased:TKRS:TKRS -decreases:TKRS:TKRS -decreeing:TKRN:TKRN -decrement:TKRM:TKRM -decretals:TKRT:TKRT -decretory:TKRT:TKRT -decrypted:TKRP:TKRP -decserver:TKSR:TKSR -decsystem:TKSS:TKSS -decubital:TKPT:TKPT -decubitus:TKPT:TKPT -decumbent:TKMP:TKMP -decurions:TKRN:TKRN -decurrent:TKRN:TKRN -decussate:TKST:TKST -dedecagon:TTKK:TTKK -dedicated:TTKT:TTKT -dedicatee:TTKT:TTKT -dedicater:TTKT:TTKT -dedicates:TTKT:TTKT -dedicator:TTKT:TTKT -deducible:TTSP:TTSP -deducting:TTKT:TTKT -deduction:TTKX:TTKX -deductive:TTKT:TTKT -deedboxes:TTPK:TTPK -deemsters:TMST:TMST -deepeners:TPNR:TPNR -deepening:TPNN:TPNN -deerskins:TRSK:TRSK -defaecate:TFKT:TFKT -defalcate:TFLK:TFLK -defatting:TFTN:TFTN -defaulted:TFLT:TFLT -defaulter:TFLT:TFLT -defeasive:TFSF:TFSF -defeaters:TFTR:TFTR -defeating:TFTN:TFTN -defeatism:TFTS:TFTS -defeatist:TFTS:TFTS -defecated:TFKT:TFKT -defecates:TFKT:TFKT -defecator:TFKT:TFKT -defecters:TFKT:TFKT -defecting:TFKT:TFKT -defection:TFKX:TFKX -defective:TFKT:TFKT -defectors:TFKT:TFKT -defendant:TFNT:TFNT -defenders:TFNT:TFNT -defending:TFNT:TFNT -defensive:TFNS:TFNS -deferable:TFRP:TFRP -deference:TFRN:TFRN -deferment:TFRM:TFRM -deferrals:TFRL:TFRL -deferrers:TFRR:TFRR -deferring:TFRN:TFRN -defiantly:TFNT:TFNT -deficient:TFSN:TFXN -defilable:TFLP:TFLP -definable:TFNP:TFNP -definably:TFNP:TFNP -definiens:TFNN:TFNN -deflating:TFLT:TFLT -deflation:TFLX:TFLX -deflators:TFLT:TFLT -deflected:TFLK:TFLK -deflector:TFLK:TFLK -deflexion:TFLK:TFLK -deflowers:TFLR:TFLR -defluvium:TFLF:TFLF -defluxion:TFLK:TFLK -defoggers:TFKR:TFKR -defogging:TFJN:TFKN -defoliant:TFLN:TFLN -defoliate:TFLT:TFLT -deforceor:TFRS:TFRS -deforcing:TFRS:TFRS -deforests:TFRS:TFRS -deformans:TFRM:TFRM -deformers:TFRM:TFRM -deforming:TFRM:TFRM -deformity:TFRM:TFRM -defrauded:TFRT:TFRT -defrauder:TFRT:TFRT -defrayals:TFRL:TFRL -defrayers:TFRR:TFRR -defraying:TFRN:TFRN -defrocked:TFRK:TFRK -defrosted:TFRS:TFRS -defroster:TFRS:TFRS -defunctus:TFNK:TFNK -degassers:TKSR:TKSR -degassing:TKSN:TKSN -degaussed:TKST:TKST -degausses:TKSS:TKSS -degloving:TKLF:TKLF -degraders:TKRT:TKRT -degrading:TKRT:TKRT -degreased:TKRS:TKRS -degreases:TKRS:TKRS -dehiscent:THSN:THSN -dehiscing:THSN:THSN -dehorners:THRN:THRN -dehorning:THRN:THRN -dehydrant:THTR:THTR -dehydrase:THTR:THTR -dehydrate:THTR:THTR -deindexed:TNTK:TNTK -deindexes:TNTK:TNTK -deionized:TNST:TNST -deionizes:TNSS:TNSS -deistical:TSTK:TSTK -dejection:TJKX:TJKX -dekagrams:TKKR:TKKR -dekaliter:TKLT:TKLT -dekameter:TKMT:TKMT -delawares:TLRS:TLRS -delegable:TLKP:TLKP -delegated:TLKT:TLKT -delegatee:TLKT:TLKT -delegates:TLKT:TLKT -delegatio:TLKT:TLKT -delegator:TLKT:TLKT -delegatus:TLKT:TLKT -deletions:TLXN:TLXN -delicious:TLSS:TLXS -delictual:TLKT:TLKT -delighted:TLTT:TLTT -delighter:TLTR:TLTR -delimited:TLMT:TLMT -delimiter:TLMT:TLMT -delineate:TLNT:TLNT -deliriant:TLRN:TLRN -delirious:TLRS:TLRS -deliriums:TLRM:TLRM -delivered:TLFR:TLFR -deliverer:TLFR:TLFR -delousing:TLSN:TLSN -delphinia:TLFN:TLFN -deltoidei:TLTT:TLTT -deludable:TLTP:TLTP -delusions:TLSN:TLXN -demagnify:TMNF:TMKN -demagogic:TMKJ:TMKK -demagogue:TMKK:TMKK -demandant:TMNT:TMNT -demanders:TMNT:TMNT -demanding:TMNT:TMNT -demantoid:TMNT:TMNT -demarcate:TMRK:TMRK -demarches:TMRX:TMRK -demeaning:TMNN:TMNN -demeanors:TMNR:TMNR -dementiae:TMNX:TMNX -demential:TMNX:TMNX -dementias:TMNX:TMNX -demergers:TMRK:TMRJ -demerging:TMRJ:TMRK -demesnial:TMSN:TMSN -demijohns:TMJN:TMHN -demilunes:TMLN:TMLN -demimonde:TMMN:TMMN -demisable:TMSP:TMSP -demission:TMSN:TMSN -demisters:TMST:TMST -demisting:TMST:TMST -demitasse:TMTS:TMTS -demitting:TMTN:TMTN -demiurgic:TMRJ:TMRK -demivolte:TMFL:TMFL -demivolts:TMFL:TMFL -demobbing:TMPN:TMPN -democracy:TMKR:TMKR -democrats:TMKR:TMKR -demonical:TMNK:TMNK -demonises:TMNS:TMNS -demonists:TMNS:TMNS -demonized:TMNS:TMNS -demonizes:TMNS:TMNS -demotions:TMXN:TMXN -demotists:TMTS:TMTS -demounted:TMNT:TMNT -dempsters:TMPS:TMPS -demulcent:TMLS:TMLS -demulsify:TMLS:TMLS -demurrage:TMRJ:TMRK -demurrals:TMRL:TMRL -demurrant:TMRN:TMRN -demurrers:TMRR:TMRR -demurring:TMRN:TMRN -demystify:TMST:TMST -denatured:TNTR:TNTR -denatures:TNTR:TNTR -dendrimer:TNTR:TNTR -dendrimes:TNTR:TNTR -dendrites:TNTR:TNTR -dendritic:TNTR:TNTR -denervate:TNRF:TNRF -denigrate:TNKR:TNKR -denitrate:TNTR:TNTR -denitrify:TNTR:TNTR -denotable:TNTP:TNTP -denounced:TNNS:TNNS -denouncer:TNNS:TNNS -denounces:TNNS:TNNS -denouveau:TNF:TNF -denseness:TNSN:TNSN -densities:TNST:TNST -dentalgia:TNTL:TNTL -dentately:TNTT:TNTT -dentation:TNTX:TNTX -denticles:TNTK:TNTK -dentiform:TNTF:TNTF -dentinoid:TNTN:TNTN -dentinoma:TNTN:TNTN -dentistry:TNTS:TNTS -dentition:TNTX:TNTX -dentritic:TNTR:TNTR -dentulous:TNTL:TNTL -denyingly:TNNK:TNNK -deodorant:TTRN:TTRN -deodorize:TTRS:TTRS -deoxidize:TKST:TKST -departing:TPRT:TPRT -departure:TPRT:TPRT -depasture:TPST:TPST -dependant:TPNT:TPNT -dependent:TPNT:TPNT -depending:TPNT:TPNT -depicters:TPKT:TPKT -depicting:TPKT:TPKT -depiction:TPKX:TPKX -depictive:TPKT:TPKT -depictors:TPKT:TPKT -depilated:TPLT:TPLT -depilator:TPLT:TPLT -deplaning:TPLN:TPLN -depleting:TPLT:TPLT -depletion:TPLX:TPLX -depletive:TPLT:TPLT -depletory:TPLT:TPLT -deplorers:TPLR:TPLR -deploring:TPLR:TPLR -deploying:TPLN:TPLN -depluming:TPLM:TPLM -deponents:TPNN:TPNN -deportees:TPRT:TPRT -deporting:TPRT:TPRT -deposable:TPSP:TPSP -deposited:TPST:TPST -depositor:TPST:TPST -depositum:TPST:TPST -depravers:TPRF:TPRF -depraving:TPRF:TPRF -depravity:TPRF:TPRF -deprecate:TPRK:TPRK -depredate:TPRT:TPRT -depressed:TPRS:TPRS -depresses:TPRS:TPRS -depressor:TPRS:TPRS -deprivers:TPRF:TPRF -depriving:TPRF:TPRF -deprogram:TPRK:TPRK -depurated:TPRT:TPRT -depurates:TPRT:TPRT -depurator:TPRT:TPRT -depurging:TPRJ:TPRK -deputized:TPTS:TPTS -deputizes:TPTS:TPTS -dequeuing:TKNK:TKNK -deraigned:TRNT:TRKN -derailing:TRLN:TRLN -deranging:TRNJ:TRNK -derations:TRXN:TRXN -dereistic:TRST:TRST -derelicta:TRLK:TRLK -derelicts:TRLK:TRLK -derepress:TRPR:TRPR -derigueur:TRKR:TRKR -derisible:TRSP:TRSP -derivable:TRFP:TRFP -dermatoid:TRMT:TRMT -dermatome:TRMT:TRMT -dermoidal:TRMT:TRMT -derogated:TRKT:TRKT -derogates:TRKT:TRKT -derrieres:TRRS:TRRS -derringdo:TRNK:TRNK -derringer:TRNK:TRNJ -dervishes:TRFX:TRFX -desalters:TSLT:TSLT -desalting:TSLT:TSLT -descanted:TSKN:TSKN -descanter:TSKN:TSKN -descartes:TSKR:TSKR -descended:TSNT:TSNT -descender:TSNT:TSNT -descensus:TSNS:TSNS -deschools:TSKL:TSKL -described:TSKP:TSKP -describer:TSKP:TSKP -describes:TSKP:TSKP -descriers:TSKR:TSKR -descrying:TSKN:TSKN -desecrate:TSKR:TSKR -deselects:TSLK:TSLK -deserters:TSRT:TSRT -deserting:TSRT:TSRT -desertion:TSRX:TSRX -deservers:TSRF:TSRF -deserving:TSRF:TSRF -desiccant:TSKN:TSKN -desiccate:TSKT:TSKT -designata:TSNT:TSKN -designate:TSNT:TSKN -designers:TSNR:TSKN -designing:TSNN:TSKN -desinence:TSNN:TSNN -desirable:TSRP:TSRP -desirably:TSRP:TSRP -desisting:TSST:TSST -deskilled:TSKL:TSKL -desmolase:TSML:TSML -desmosome:TSMS:TSMS -desmotomy:TSMT:TSMT -desolated:TSLT:TSLT -desolater:TSLT:TSLT -desolates:TSLT:TSLT -desolator:TSLT:TSLT -desorbing:TSRP:TSRP -despaired:TSPR:TSPR -desperado:TSPR:TSPR -desperate:TSPR:TSPR -despisers:TSPS:TSPS -despising:TSPS:TSPS -despoiled:TSPL:TSPL -despoiler:TSPL:TSPL -desponded:TSPN:TSPN -despotism:TSPT:TSPT -despumate:TSPM:TSPM -destinies:TSTN:TSTN -destining:TSTN:TSTN -destitute:TSTT:TSTT -destriers:TSTR:TSTR -destroyed:TSTR:TSTR -destroyer:TSTR:TSTR -destructs:TSTR:TSTR -desuetude:TSTT:TSTT -desultory:TSLT:TSLT -detachers:TTXR:TTKR -detaching:TTXN:TTKN -detailing:TTLN:TTLN -detainees:TTNS:TTNS -detainers:TTNR:TTNR -detaining:TTNN:TTNN -detecting:TTKT:TTKT -detection:TTKX:TTKX -detective:TTKT:TTKT -detectors:TTKT:TTKT -detention:TTNX:TTNX -detergent:TTRJ:TTRK -deterging:TTRJ:TTRK -determent:TTRM:TTRM -determine:TTRM:TTRM -deterrent:TTRN:TTRN -deterring:TTRN:TTRN -detersive:TTRS:TTRS -detesters:TTST:TTST -detesting:TTST:TTST -dethroned:T0RN:TTRN -dethroner:T0RN:TTRN -dethrones:T0RN:TTRN -detonable:TTNP:TTNP -detonated:TTNT:TTNT -detonates:TTNT:TTNT -detonator:TTNT:TTNT -detracted:TTRK:TTRK -detractor:TTRK:TTRK -detrained:TTRN:TTRN -detriment:TTRM:TTRM -detrition:TTRX:TTRX -detruding:TTRT:TTRT -detrusion:TTRS:TTRX -deuterate:TTRT:TTRT -deuteride:TTRT:TTRT -deuterium:TTRM:TTRM -deuterons:TTRN:TTRN -devaluate:TFLT:TFLT -devaluing:TFLN:TFLN -devastate:TFST:TFST -developed:TFLP:TFLP -developer:TFLP:TFLP -deviances:TFNS:TFNS -deviating:TFTN:TFTN -deviation:TFXN:TFXN -deviators:TFTR:TFTR -deviatory:TFTR:TFTR -devilfish:TFLF:TFLF -devilling:TFLN:TFLN -devilment:TFLM:TFLM -devilries:TFLR:TFLR -deviously:TFSL:TFSL -devirtify:TFRT:TFRT -devisable:TFSP:TFSP -devisings:TFSN:TFSN -devoicing:TFSN:TFSN -devolving:TFLF:TFLF -devotedly:TFTT:TFTT -devotions:TFXN:TFXN -dewclawed:TKLT:TKLT -dewlapped:TLPT:TLPT -dexterity:TKST:TKST -dexterous:TKST:TKST -dextrally:TKST:TKST -dextrorse:TKST:TKST -diabetics:TPTK:TPTK -diabolism:TPLS:TPLS -diabolist:TPLS:TPLS -diabolize:TPLS:TPLS -diaclases:TKLS:TKLS -diaclasia:TKLS:TKLX -diaclasis:TKLS:TKLS -diaconate:TKNT:TKNT -diacritic:TKRT:TKRT -diactinic:TKTN:TKTN -diadermal:TTRM:TTRM -diadermic:TTRM:TTRM -diaereses:TRSS:TRSS -diaeresis:TRSS:TRSS -diaeretic:TRTK:TRTK -diagnosed:TNST:TKNS -diagnoses:TNSS:TKNS -diagnosis:TNSS:TKNS -diagonals:TKNL:TKNL -diagramed:TKRM:TKRM -diagraphs:TKRF:TKRF -dialectal:TLKT:TLKT -dialectic:TLKT:TLKT -diallists:TLST:TLST -dialogism:TLJS:TLKS -dialogist:TLJS:TLKS -dialogize:TLJS:TLKS -dialoguer:TLKR:TLKR -dialogues:TLKS:TLKS -dialyzate:TLST:TLST -dialyzers:TLSR:TLSR -dialyzing:TLSN:TLSN -diamagnet:TMNT:TMKN -diametral:TMTR:TMTR -diametric:TMTR:TMTR -diandrous:TNTR:TNTR -dianoetic:TNTK:TNTK -diapasons:TPSN:TPSN -diapauses:TPSS:TPSS -diapering:TPRN:TPRN -diaphones:TFNS:TFNS -diaphonic:TFNK:TFNK -diaphragm:TFRK:TFRK -diaphyses:TFSS:TFSS -diaphysis:TFSS:TFSS -diarchies:TRXS:TRKS -diarrheal:TRL:TRL -diarrheas:TRS:TRS -diarrheic:TRK:TRK -diarrhoea:TR:TR -diarthric:TR0R:TRTR -diascopes:TSKP:TSKP -diascopic:TSKP:TSKP -diastases:TSTS:TSTS -diastasic:TSTS:TSTS -diastasis:TSTS:TSTS -diastatic:TSTT:TSTT -diastoles:TSTL:TSTL -diastolic:TSTL:TSTL -diastyles:TSTL:TSTL -diathermy:T0RM:TTRM -diatheses:T0SS:TTSS -diathesis:T0SS:TTSS -diathetic:T0TK:TTTK -diatomite:TTMT:TTMT -diatribes:TTRP:TTRP -diatropic:TTRP:TTRP -diazonium:TSNM:TSNM -dibucaine:TPKN:TPKN -dicephali:TSFL:TSFL -dichogamy:TXKM:TKKM -dichorial:TXRL:TKRL -dichotomy:TXTM:TKTM -dichroism:TXRS:TKRS -dichromat:TXRM:TKRM -dichromic:TXRM:TKRM -dickering:TKRN:TKRN -diclinism:TKLN:TKLN -diclinous:TKLN:TKLN -dicophane:TKFN:TKFN -dicrotism:TKRT:TKRT -dicrotous:TKRT:TKRT -dictamina:TKTM:TKTM -dictating:TKTT:TKTT -dictation:TKTX:TKTX -dictators:TKTT:TKTT -dictatory:TKTT:TKTT -dictorial:TKTR:TKTR -didactics:TTKT:TTKT -didactyle:TTKT:TTKT -diddicoys:TTKS:TTKS -diddikois:TTK:TTKS -didelphic:TTLF:TTLF -didelphis:TTLF:TTLF -didymitis:TTMT:TTMT -diestocks:TSTK:TSTK -diestrous:TSTR:TSTR -diestrual:TSTR:TSTR -dietaries:TTRS:TTRS -dietetics:TTTK:TTTK -dietician:TTSN:TTXN -dietitian:TTXN:TTXN -different:TFRN:TFRN -differers:TFRR:TFRR -differing:TFRN:TFRN -difficult:TFKL:TFKL -diffident:TFTN:TFTN -diffluent:TFLN:TFLN -diffracts:TFRK:TFRK -diffusate:TFST:TFST -diffusely:TFSL:TFSL -diffusers:TFSR:TFSR -diffusing:TFSN:TFSN -diffusion:TFSN:TFXN -diffusive:TFSF:TFSF -diffusors:TFSR:TFSR -difluence:TFLN:TFLN -digametic:TKMT:TKMT -digamists:TKMS:TKMS -digastric:TKST:TKST -digeneous:TJNS:TKNS -digeneses:TJNS:TKNS -digenesis:TJNS:TKNS -digenetic:TJNT:TKNT -digestant:TJST:TKST -digesters:TJST:TKST -digesting:TJST:TKST -digestion:TJSX:TKSX -digestive:TJST:TKST -digilanid:TJLN:TKLN -digitaged:TJTJ:TKTK -digitalin:TJTL:TKTL -digitalis:TJTL:TKTL -digitally:TJTL:TKTL -digitated:TJTT:TKTT -digitized:TJTS:TKTS -digitizer:TJTS:TKTS -digitizes:TJTS:TKTS -digitonin:TJTN:TKTN -digitoxin:TJTK:TKTK -digitrons:TJTR:TKTR -diglossia:TKLS:TKLS -dignified:TNFT:TKNF -dignifies:TNFS:TKNF -dignitary:TNTR:TKNT -dignities:TNTS:TKNT -digraphes:TKRF:TKRF -digraphic:TKRF:TKRF -digressed:TKRS:TKRS -digresser:TKRS:TKRS -digresses:TKRS:TKRS -dihybrids:THPR:THPR -dihydrate:THTR:THTR -dilatable:TLTP:TLTP -dilatancy:TLTN:TLTN -dilatants:TLTN:TLTN -dilatator:TLTT:TLTT -dilations:TLXN:TLXN -diligence:TLJN:TLKN -dilutions:TLXN:TLXN -dimension:TMNS:TMNX -dimerised:TMRS:TMRS -dimerises:TMRS:TMRS -dimidiate:TMTT:TMTT -dimissory:TMSR:TMSR -dimorphic:TMRF:TMRF -dimwitted:TMTT:TMTT -dinginess:TNJN:TNKN -dinoceras:TNSR:TNSR -dinosaurs:TNSR:TNSR -dinothere:TN0R:TNTR -dioecious:TSS:TXS -dioestral:TSTR:TSTR -dioestrum:TSTR:TSTR -dioestrus:TSTR:TSTR -dionysiac:TNSK:TNXK -dionysian:TNSN:TNXN -dioptrics:TPTR:TPTR -dioptries:TPTR:TPTR -diosgenin:TSJN:TSKN -dipentene:TPNT:TPNT -dipeptide:TPPT:TPPT -diphthong:TF0N:TFTN -diploetic:TPLT:TPLT -diploidic:TPLT:TPLT -diplomacy:TPLM:TPLM -diplomate:TPLM:TPLM -diplomats:TPLM:TPLM -diplosome:TPLS:TPLS -diplotene:TPLT:TPLT -dipsticks:TPST:TPST -dipterous:TPTR:TPTR -diptyches:TPTX:TPTK -directing:TRKT:TRKT -direction:TRKX:TRKX -directive:TRKT:TRKT -directors:TRKT:TRKT -directory:TRKT:TRKT -directrix:TRKT:TRKT -direfully:TRFL:TRFL -dirigible:TRJP:TRKP -dirigisme:TRJS:TRKS -dirigiste:TRJS:TRKS -dirtiness:TRTN:TRTN -disablers:TSPL:TSPL -disabling:TSPL:TSPL -disabusal:TSPS:TSPS -disabused:TSPS:TSPS -disabuses:TSPS:TSPS -disaccord:TSKR:TSKR -disaffect:TSFK:TSFK -disaffirm:TSFR:TSFR -disagreed:TSKR:TSKR -disagrees:TSKR:TSKR -disallows:TSLS:TSLS -disannuls:TSNL:TSNL -disappear:TSPR:TSPR -disarmers:TSRM:TSRM -disarming:TSRM:TSRM -disarrays:TSRS:TSRS -disasters:TSST:TSST -disavowal:TSFL:TSFL -disavowed:TSFT:TSFT -disbanded:TSPN:TSPN -disbarred:TSPR:TSPR -disbarrer:TSPR:TSPR -disbelief:TSPL:TSPL -disbranch:TSPR:TSPR -disbudded:TSPT:TSPT -disburden:TSPR:TSPR -disbursal:TSPR:TSPR -disbursed:TSPR:TSPR -disburser:TSPR:TSPR -disburses:TSPR:TSPR -discalced:TSKL:TSKL -discarded:TSKR:TSKR -discarder:TSKR:TSKR -discerned:TSRN:TSRN -discerner:TSRN:TSRN -discharge:TXRJ:TXRK -disciform:TSFR:TSFR -disciples:TSPL:TSPL -disclaims:TSKM:TSKM -disclimax:TSKM:TSKM -disclosed:TSKS:TSKS -discloser:TSKS:TSKS -discloses:TSKS:TSKS -discoidal:TSKT:TSKT -discology:TSKL:TSKL -discolors:TSKL:TSKL -discomfit:TSKM:TSKM -discommon:TSKM:TSKM -discorded:TSKR:TSKR -discounts:TSKN:TSKN -discourse:TSKR:TSKR -discovers:TSKF:TSKF -discovert:TSKF:TSKF -discovery:TSKF:TSKF -discredit:TSKT:TSKT -discussed:TSKS:TSKS -discusser:TSKS:TSKS -discusses:TSKS:TSKS -disdained:TSTN:TSTN -disembark:TSMP:TSMP -disembody:TSMP:TSMP -disemploy:TSMP:TSMP -disenable:TSNP:TSNP -disendows:TSNT:TSNT -disengage:TSNK:TSNK -disentail:TSNT:TSNT -disentomb:TSNT:TSNT -disesteem:TSST:TSST -disfavors:TSFF:TSFF -disfigure:TSFK:TSFK -disgorged:TSKR:TSKR -disgorger:TSKR:TSKR -disgorges:TSKR:TSKR -disgraced:TSKR:TSKR -disgracer:TSKR:TSKR -disgraces:TSKR:TSKR -disguised:TSKS:TSKS -disguises:TSKS:TSKS -disgusted:TSKS:TSKS -dishcloth:TXKL:TXKL -dishevels:TXFL:TXFL -dishonest:TXNS:TXNS -dishonors:TXNR:TXNR -dishtowel:TXTL:TXTL -dishumors:TXMR:TXMR -dishwater:TXTR:TXTR -disinfect:TSNF:TSNF -disinfest:TSNF:TSNF -disinters:TSNT:TSNT -disinvest:TSNF:TSNF -disjected:TSKT:TSKT -disjoined:TSNT:TSNT -disjoints:TSNT:TSNT -disjuncts:TSNK:TSNK -diskettes:TSKT:TSKT -disliking:TLKN:TLKN -dislocate:TLKT:TLKT -dislodged:TLJT:TLJT -dislodges:TLJS:TLJS -dismantle:TSMN:TSMN -dismasted:TSMS:TSMS -dismaying:TSMN:TSMN -dismember:TSMM:TSMM -dismissal:TSMS:TSMS -dismissed:TSMS:TSMS -dismisser:TSMS:TSMS -dismisses:TSMS:TSMS -dismounts:TSMN:TSMN -disobeyed:TSPT:TSPT -disobeyer:TSPR:TSPR -disoblige:TSPL:TSPL -disorders:TSRT:TSRT -disorient:TSRN:TSRN -disowners:TSNR:TSNR -disowning:TSNN:TSNN -disparage:TSPR:TSPR -disparate:TSPR:TSPR -disparity:TSPR:TSPR -dispatchs:TSPX:TSPX -dispelled:TSPL:TSPL -dispensed:TSPN:TSPN -dispenser:TSPN:TSPN -dispenses:TSPN:TSPN -dispersal:TSPR:TSPR -dispersed:TSPR:TSPR -disperser:TSPR:TSPR -disperses:TSPR:TSPR -dispireme:TSPR:TSPR -dispirits:TSPR:TSPR -displaced:TSPL:TSPL -displacer:TSPL:TSPL -displaces:TSPL:TSPL -displayed:TSPL:TSPL -displayer:TSPL:TSPL -displease:TSPL:TSPL -disponees:TSPN:TSPN -disponing:TSPN:TSPN -disported:TSPR:TSPR -disposals:TSPS:TSPS -disposers:TSPS:TSPS -disposing:TSPS:TSPS -disproofs:TSPR:TSPR -disproval:TSPR:TSPR -disproved:TSPR:TSPR -disproves:TSPR:TSPR -disputant:TSPT:TSPT -disputers:TSPT:TSPT -disputing:TSPT:TSPT -disquiets:TSKT:TSKT -disrating:TSRT:TSRT -disregard:TSRK:TSRK -disrelish:TSRL:TSRL -disrepair:TSRP:TSRP -disrepute:TSRP:TSRP -disrobers:TSRP:TSRP -disrobing:TSRP:TSRP -disrupted:TSRP:TSRP -disrupter:TSRP:TSRP -disruptor:TSRP:TSRP -dissected:TSKT:TSKT -dissector:TSKT:TSKT -disseised:TSST:TSST -disseisee:TSS:TSS -disseises:TSSS:TSSS -disseisin:TSSN:TSSN -disseisor:TSSR:TSSR -disseized:TSST:TSST -disseizee:TSS:TSS -disseizes:TSSS:TSSS -disseizin:TSSN:TSSN -disseizor:TSSR:TSSR -dissemble:TSMP:TSMP -dissented:TSNT:TSNT -dissenter:TSNT:TSNT -dissevers:TSFR:TSFR -dissident:TSTN:TSTN -dissipate:TSPT:TSPT -dissolute:TSLT:TSLT -dissolved:TSLF:TSLF -dissolver:TSLF:TSLF -dissolves:TSLF:TSLF -dissonant:TSNN:TSNN -dissuaded:TSTT:TSTT -dissuader:TSTR:TSTR -dissuades:TSTS:TSTS -distanced:TSTN:TSTN -distances:TSTN:TSTN -distantly:TSTN:TSTN -distastes:TSTS:TSTS -distemper:TSTM:TSTM -distended:TSTN:TSTN -distender:TSTN:TSTN -distichal:TSTX:TSTK -distiches:TSTX:TSTK -distilled:TSTL:TSTL -distiller:TSTL:TSTL -distingue:TSTN:TSTN -distorted:TSTR:TSTR -distorter:TSTR:TSTR -distracts:TSTR:TSTR -distrains:TSTR:TSTR -distraint:TSTR:TSTR -distraite:TSTR:TSTR -districts:TSTR:TSTR -distrusts:TSTR:TSTR -disturbed:TSTR:TSTR -disturber:TSTR:TSTR -disulfate:TSLF:TSLF -disulfide:TSLF:TSLF -disunions:TSNN:TSNN -disunited:TSNT:TSNT -disuniter:TSNT:TSNT -disunites:TSNT:TSNT -ditchless:TXLS:TXLS -ditheists:T0ST:TTST -ditherers:T0RR:TTRR -dithering:T0RN:TTRN -dithranol:T0RN:TTRN -dithyramb:T0RM:TTRM -dittander:TTNT:TTNT -dittanies:TTNS:TTNS -diuretics:TRTK:TRTK -diurnally:TRNL:TRNL -divagated:TFKT:TFKT -divagates:TFKT:TFKT -divalency:TFLN:TFLN -divergent:TFRJ:TFRK -diverging:TFRJ:TFRK -diversely:TFRS:TFRS -diversify:TFRS:TFRS -diversing:TFRS:TFRS -diversion:TFRS:TFRX -diversity:TFRS:TFRS -diverters:TFRT:TFRT -diverting:TFRT:TFRT -divertive:TFRT:TFRT -divesting:TFST:TFST -divesture:TFST:TFST -dividable:TFTP:TFTP -dividedly:TFTT:TFTT -dividendi:TFTN:TFTN -dividendo:TFTN:TFTN -dividends:TFTN:TFTN -dividivis:TFTF:TFTF -divinable:TFNP:TFNP -divinises:TFNS:TFNS -divinized:TFNS:TFNS -divinizes:TFNS:TFNS -divisible:TFSP:TFSP -divisibly:TFSP:TFSP -divisions:TFSN:TFXN -divorcees:TFRS:TFRS -divorcers:TFRS:TFRS -divorcing:TFRS:TFRS -divorcive:TFRS:TFRS -divulgers:TFLK:TFLJ -divulging:TFLJ:TFLK -divulsing:TFLS:TFLS -divulsion:TFLS:TFLX -divulsive:TFLS:TFLS -dixieland:TKSL:TKSL -dizygotic:TSKT:TSKT -dizziness:TSNS:TTSN -djenkolic:TJNK:TJNK -dobermans:TPRM:TPRM -docimasia:TSMS:TSMX -docketing:TKTN:TKTN -docklands:TKLN:TKLN -dockyards:TKRT:TKRT -doctorate:TKTR:TKTR -doctorial:TKTR:TKTR -doctoring:TKTR:TKTR -doctrinal:TKTR:TKTR -doctrines:TKTR:TKTR -docudrama:TKTR:TKTR -documents:TKMN:TKMN -dodderers:TTRR:TTRR -doddering:TTRN:TTRN -dodecagon:TTKK:TTKK -d'oeuvres:TFRS:TFRS -dogfacing:TKFS:TKFS -dogfights:TKFT:TKFT -dogfishes:TKFX:TKFX -dogginess:TJNS:TKNS -doggishly:TJXL:TKXL -doghouses:TSS:TSS -doglegged:TKLK:TKLK -dogmapped:TKMP:TKMP -dogmatics:TKMT:TKMT -dogmatism:TKMT:TKMT -dogmatist:TKMT:TKMT -dogmatize:TKMT:TKMT -dolefully:TLFL:TLFL -dollishly:TLXL:TLXL -dolloping:TLPN:TLPN -dolomites:TLMT:TLMT -dolomitic:TLMT:TLMT -dolorific:TLRF:TLRF -doltishly:TLTX:TLTX -domestics:TMST:TMST -domiciled:TMSL:TMSL -domiciles:TMSL:TMSL -domicilii:TMSL:TMSL -dominance:TMNN:TMNN -dominated:TMNT:TMNT -dominates:TMNT:TMNT -dominator:TMNT:TMNT -domineers:TMNR:TMNR -dominical:TMNK:TMNK -dominican:TMNK:TMNK -dominicus:TMNK:TMNK -dominions:TMNN:TMNN -donations:TNXN:TNXN -donatives:TNTF:TNTF -doneeness:TNNS:TNNS -donnishly:TNXL:TNXL -donorship:TNRX:TNRX -doohickey:THK:THK -doomsayer:TMSR:TMSR -doomsters:TMST:TMST -doomwatch:TMX:TMX -doorbells:TRPL:TRPL -doorframe:TRFR:TRFR -doorjambs:TRJM:TRJM -doorknobs:TRKN:TRKN -doornails:TRNL:TRNL -doorplate:TRPL:TRPL -doorposts:TRPS:TRPS -doorsills:TRSL:TRSL -doorsteps:TRST:TRST -doorstops:TRST:TRST -dooryards:TRRT:TRRT -dopesheet:TPXT:TPXT -dormitory:TRMT:TRMT -doromania:TRMN:TRMN -dorsalgia:TRSL:TRSL -dorsiduct:TRST:TRST -dorsiflex:TRSF:TRSF -dosemetry:TSMT:TSMT -dosimetry:TSMT:TSMT -dosshouse:TSS:TSS -dotations:TTXN:TTXN -dottiness:TTNS:TTNS -doubleton:TPLT:TPLT -doubloons:TPLN:TPLN -doublures:TPLR:TPLR -doubtable:TPTP:TPTP -doubtably:TPTP:TPTP -doubtless:TPTL:TPTL -doughboys:TPS:TPS -doughiest:TST:TST -doughnuts:TNTS:TNTS -doughtier:TT:TTR -doughtily:TTL:TTL -dounthrow:TN0R:TNTR -dovecotes:TFKT:TFKT -dovetails:TFTL:TFTL -dowdiness:TTNS:TTNS -dowerless:TRLS:TRLS -dowitcher:TXR:TXR -downbeats:TNPT:TNPT -downburst:TNPR:TNPR -downcomer:TNKM:TNKM -downcomes:TNKM:TNKM -downcourt:TNKR:TNKR -downfalls:TNFL:TNFL -downgrade:TNKR:TNKR -downhauls:TNLS:TNLS -downheart:TNRT:TNRT -downlands:TNLN:TNLN -downloads:TNLT:TNLT -downpipes:TNPP:TNPP -downplays:TNPL:TNPL -downpours:TNPR:TNPR -downrange:TNRN:TNRN -downright:TNRT:TNRT -downriver:TNRF:TNRF -downshift:TNXF:TNXF -downsized:TNSS:TNST -downsizes:TNSS:TNST -downspout:TNSP:TNSP -downstage:TNST:TNST -downstate:TNST:TNST -downswing:TNSN:TNSN -downtowns:TNTN:TNTN -downtrend:TNTR:TNTR -downturns:TNTR:TNTR -downwards:TNRT:TNRT -dowryless:TRLS:TRLS -drabbling:TRPL:TRPL -drachmaes:TRKM:TRKM -draconian:TRKN:TRKN -draftable:TRFT:TRFT -draftiest:TRFT:TRFT -draftsman:TRFT:TRFT -draftsmen:TRFT:TRFT -draggiest:TRJS:TRKS -draggling:TRKL:TRKL -draghound:TRNT:TRNT -draglines:TRKL:TRLN -dragomans:TRKM:TRKM -dragoness:TRKN:TRKN -dragonfly:TRKN:TRKN -dragonish:TRKN:TRKN -dragooned:TRKN:TRKN -dragropes:TRKR:TRKR -dragsters:TRKS:TRKS -drainable:TRNP:TRNP -drainpipe:TRNP:TRNP -dramamine:TRMM:TRMM -dramatics:TRMT:TRMT -dramatist:TRMT:TRMT -dramatize:TRMT:TRMT -drapeable:TRPP:TRPP -draperied:TRPR:TRPR -draperies:TRPR:TRPR -draughted:TRFT:TRFT -draughter:TRFT:TRFT -dravidian:TRFT:TRFT -drawbacks:TRPK:TRPK -drawknife:TRKN:TRKN -drawnness:TRNS:TRNS -drawplate:TRPL:TRPL -drawshave:TRXF:TRXF -drawsheet:TRXT:TRXT -drawtubes:TRTP:TRTP -drayhorse:TRHR:TRHR -dreamboat:TRMP:TRMP -dreamiest:TRMS:TRMS -dreamland:TRML:TRML -dreamless:TRML:TRML -dreamlike:TRML:TRML -dreamwork:TRMR:TRMR -dreariest:TRRS:TRRS -dreggiest:TRKS:TRKS -drenchers:TRNX:TRNK -drenching:TRNX:TRNK -dressiest:TRSS:TRSS -dressings:TRSN:TRSN -dribblers:TRPL:TRPL -dribbling:TRPL:TRPL -driftwood:TRFT:TRFT -drillable:TRLP:TRLP -drinkable:TRNK:TRNK -drippiest:TRPS:TRPS -drippings:TRPN:TRPN -dripstone:TRPS:TRPS -driveable:TRFP:TRFP -drivelers:TRFL:TRFL -driveling:TRFL:TRFL -driveways:TRFS:TRFS -drizzling:TRSL:TRSL -droitural:TRTR:TRTR -drollness:TRLN:TRLN -dromedary:TRMT:TRMT -droningly:TRNN:TRNN -droopiest:TRPS:TRPS -dropkicks:TRPK:TRPK -droplight:TRPL:TRPL -droppings:TRPN:TRPN -dropsical:TRPS:TRPS -dropsonde:TRPS:TRPS -drownings:TRNN:TRNN -drowsiest:TRSS:TRSS -druggists:TRKS:TRKS -drugmaker:TRKM:TRKM -drugstore:TRKS:TRKS -druidical:TRTK:TRTK -drumbeats:TRMP:TRMP -drumheads:TRMT:TRMT -drumstick:TRMS:TRMS -drunkards:TRNK:TRNK -drunkenly:TRNK:TRNK -drupelets:TRPL:TRPL -dualistic:TLST:TLST -dualities:TLTS:TLTS -dubieties:TPTS:TPTS -dubiosity:TPST:TPST -dubiously:TPSL:TPSL -dubitable:TPTP:TPTP -dubitably:TPTP:TPTP -dubitante:TPTN:TPTN -dubitatur:TPTT:TPTT -dubliners:TPLN:TPLN -duchesses:TXSS:TKSS -duckbills:TKPL:TKPL -duckboard:TKPR:TKPR -ducklings:TKLN:TKLN -ductilely:TKTL:TKTL -ductility:TKTL:TKTL -duettists:TTST:TTST -dulcamara:TLKM:TLKM -dulcified:TLSF:TLSF -dulcimers:TLSM:TLSM -dumbbells:TMPL:TMPL -dumbfound:TMPF:TMPF -dumfounds:TMFN:TMFN -dumpiness:TMPN:TMPN -dumplings:TMPL:TMPL -dundreary:TNTR:TNTR -dungarees:TNKR:TNKR -dunghills:TNKL:TNKL -duobinary:TPNR:TPNR -duodecimo:TTSM:TTSM -duodenary:TTNR:TTNR -duodenums:TTNM:TTNM -duologues:TLKS:TLKS -duopolies:TPLS:TPLS -duplexity:TPLK:TPLK -duplicate:TPLK:TPLK -duplicity:TPLS:TPLS -dupuytren:TPTR:TPTR -duralumin:TRLM:TRLM -durations:TRXN:TRXN -duratives:TRTF:TRTF -duskiness:TSKN:TSKN -dustcarts:TSTK:TSTK -dustiness:TSTN:TSTN -dustsheet:TSTX:TSTX -duteously:TTSL:TTSL -dutifully:TTFL:TTFL -dwellings:TLNK:TLNK -dwindling:TNTL:TNTL -dyestuffs:TSTF:TSTF -dynamical:TNMK:TNMK -dynamists:TNMS:TNMS -dynamited:TNMT:TNMT -dynamiter:TNMT:TNMT -dynamites:TNMT:TNMT -dynamotor:TNMT:TNMT -dynasties:TNST:TNST -dynatherm:TN0R:TNTR -dysbarism:TSPR:TSPR -dyschesia:TXS:TXX -dyschezia:TXS:TXS -dyschezic:TXSK:TXSK -dyschiria:TXR:TXR -dyschroia:TXR:TXR -dyscrasia:TSKS:TSKX -dysentery:TSNT:TSNT -dysergias:TSRJ:TSRK -dysergies:TSRJ:TSRK -dysgenics:TSJN:TSKN -dysgeusia:TSJS:TSKX -dysgnosia:TSNS:TSKN -dyslectic:TLKT:TLKT -dyslexiac:TLKS:TLKS -dysmetria:TSMT:TSMT -dysmnesia:TSMN:TSMN -dysnomies:TSNM:TSNM -dyspepsia:TSPP:TSPP -dyspeptic:TSPP:TSPP -dysphagia:TSFJ:TSFK -dysphagic:TSFJ:TSFK -dysphasia:TSFS:TSFX -dysphasic:TSFS:TSFS -dysphemia:TSFM:TSFM -dysphonia:TSFN:TSFN -dysphonic:TSFN:TSFN -dysphoria:TSFR:TSFR -dysphoric:TSFR:TSFR -dysplasia:TSPL:TSPL -dyspnoeal:TSPN:TSPN -dyspnoeic:TSPN:TSPN -dyspraxia:TSPR:TSPR -dysstasia:TSTS:TSTX -dysthymia:TS0M:TSTM -dysthymic:TS0M:TSTM -dystocial:TSTS:TSTX -dystopian:TSTP:TSTP -dystrophy:TSTR:TSTR -eagerness:AKRN:AJRN -eaglewood:AKLT:AKLT -earliness:ARLN:ARLN -earmarked:ARMR:ARMR -earnestly:ARNS:ARNS -earphones:ARFN:ARFN -earpieces:ARPS:ARPS -earthborn:AR0P:ARTP -earthiest:AR0S:ARTS -earthlier:AR0L:ARTL -earthling:AR0L:ARTL -earthnuts:AR0N:ARTN -earthrise:AR0R:ARTR -earthshak:AR0X:ARTX -earthstar:AR0S:ARTS -earthward:AR0R:ARTR -earthwork:AR0R:ARTR -earthworm:AR0R:ARTR -easefully:ASFL:ASFL -easements:ASMN:ASMN -eastbound:ASTP:ASTP -easterner:ASTR:ASTR -eastwards:ASTR:ASTR -easygoing:ASKN:ASKN -eavesdrop:AFST:AFST -ebonizing:APNS:APNS -ebrieties:APRT:APRT -ebriosity:APRS:APRS -ebullient:APLN:APLN -eburneous:APRN:APRN -ecarinate:AKRN:AKRN -eccentric:AXNT:AXNT -ecclesiae:AKLS:AKLX -ecdysiast:AKTS:AKTX -echeveria:AXFR:AKFR -echinated:AXNT:AKNT -echinoids:AXNT:AKNT -echolalia:AXLL:AKLL -echomimia:AXMM:AKMM -echovirus:AXFR:AKFR -eclampsia:AKLM:AKLM -eclamptic:AKLM:AKLM -eclipsing:AKLP:AKLP -eclosions:AKLS:AKLX -ecologies:AKLJ:AKLK -ecologist:AKLJ:AKLK -ecomiasts:AKMS:AKMS -economics:AKNM:AKNM -economies:AKNM:AKNM -economist:AKNM:AKNM -economize:AKNM:AKNM -ecosphere:AKSF:AKSF -ecosystem:AKSS:AKSS -ecphoriae:AKFR:AKFR -ecphorias:AKFR:AKFR -ecphorize:AKFR:AKFR -ecraseurs:AKRS:AKRS -ecstacies:AKST:AKST -ecstasies:AKST:AKST -ecstatics:AKST:AKST -ectoblast:AKTP:AKTP -ectocrine:AKTK:AKTK -ectoentad:AKTN:AKTN -ectogenic:AKTJ:AKTK -ectomeres:AKTM:AKTM -ectomorph:AKTM:AKTM -ectophyte:AKTF:AKTF -ectoplasm:AKTP:AKTP -ectoproct:AKTP:AKTP -ectosarcs:AKTS:AKTS -ectosteal:AKTS:AKTS -ectothrix:AKT0:AKTT -ectropion:AKTR:AKTR -ectropium:AKTR:AKTR -ecumenism:AKMN:AKMN -edaphical:ATFK:ATFK -edelweiss:ATLS:ATLS -edematous:ATMT:ATMT -edentates:ATNT:ATNT -edibility:ATPL:ATPL -edictally:ATKT:ATKT -edificial:ATFS:ATFX -edinburgh:ATNP:ATNP -editorial:ATTR:ATTR -educating:ATKT:ATKT -education:ATKX:ATKX -educative:ATKT:ATKT -educators:ATKT:ATKT -educatory:ATKT:ATKT -edwardian:ATRT:ATRT -eerieness:ARNS:ARNS -effecters:AFKT:AFKT -effecting:AFKT:AFKT -effective:AFKT:AFKT -effectors:AFKT:AFKT -effectual:AFKT:AFKT -efference:AFRN:AFRN -efficient:AFSN:AFXN -effluence:AFLN:AFLN -effluents:AFLN:AFLN -effluvial:AFLF:AFLF -effluvias:AFLF:AFLF -effluvium:AFLF:AFLF -effluxion:AFLK:AFLK -effortful:AFRT:AFRT -effractor:AFRK:AFRK -effulgent:AFLJ:AFLK -effusions:AFSN:AFXN -eggbeater:AKPT:AKPT -eggplants:AKPL:AKPL -eggshells:AKXL:AKXL -eglantine:AKLN:AKLN -egomaniac:AKMN:AKMN -egotistic:AKTS:AKTS -egregious:AKRJ:AKRK -egression:AKRS:AKRS -egyptians:AJPX:AKPX -eiderdown:ATRT:ATRT -eiderduck:ATRT:ATRT -eidograph:ATKR:ATKR -eighteens:ATNS:ATNS -eightfold:ATFL:ATFL -eightieth:AT0:ATT -eirenicon:ARNK:ARNK -eisegesis:ASJS:ASKS -eisegises:ASJS:ASKS -ejaculate:AJKL:AHKL -ejectable:AJKT:AJKT -ejections:AJKX:AJKX -ejectment:AJKT:AJKT -ekistical:AKST:AKST -elaborate:ALPR:ALPR -elastance:ALST:ALST -elasticum:ALST:ALST -elastomer:ALST:ALST -elastoses:ALST:ALST -elastosis:ALST:ALST -elbowroom:ALPR:ALPR -elections:ALKX:ALKX -electives:ALKT:ALKT -electoral:ALKT:ALKT -electress:ALKT:ALKT -electrets:ALKT:ALKT -electrify:ALKT:ALKT -electrode:ALKT:ALKT -electrons:ALKT:ALKT -electuary:ALKT:ALKT -eledoisin:ALTS:ALTS -elegances:ALKN:ALKN -eleganter:ALKN:ALKN -elegantly:ALKN:ALKN -elegizing:ALJS:ALKS -elemental:ALMN:ALMN -eleoptene:ALPT:ALPT -elephants:ALFN:ALFN -elevating:ALFT:ALFT -elevation:ALFX:ALFX -elevators:ALFT:ALFT -elevatory:ALFT:ALFT -elevenses:ALFN:ALFN -elevenths:ALFN:ALFN -eliciting:ALST:ALST -elicitors:ALST:ALST -eliminant:ALMN:ALMN -eliminate:ALMN:ALMN -elizabeth:ALSP:ALSP -elkhounds:ALKN:ALKN -ellipsoid:ALPS:ALPS -elocuting:ALKT:ALKT -elocution:ALKX:ALKX -elongated:ALNK:ALNK -elongates:ALNK:ALNK -elopement:ALPM:ALPM -eloquence:ALKN:ALKN -elsewhere:ALSR:ALSR -elucidate:ALST:ALST -elusively:ALSF:ALSF -elutriate:ALTR:ALTR -emaciated:AMST:AMXT -emaciates:AMST:AMXT -emanating:AMNT:AMNT -emanation:AMNX:AMNX -emanative:AMNT:AMNT -emanators:AMNT:AMNT -emanatory:AMNT:AMNT -embalmers:AMPL:AMPL -embalming:AMPL:AMPL -embanking:AMPN:AMPN -embargoed:AMPR:AMPR -embargoes:AMPR:AMPR -embarking:AMPR:AMPR -embarrass:AMPR:AMPR -embassies:AMPS:AMPS -embattled:AMPT:AMPT -embattles:AMPT:AMPT -embayment:AMPM:AMPM -embedders:AMPT:AMPT -embedding:AMPT:AMPT -embedment:AMPT:AMPT -embellish:AMPL:AMPL -embezzled:AMPS:AMPS -embezzler:AMPS:AMPS -embezzles:AMPS:AMPS -embitters:AMPT:AMPT -emblazers:AMPL:AMPL -emblazing:AMPL:AMPL -emblazons:AMPL:AMPL -emblemize:AMPL:AMPL -embodying:AMPT:AMPT -embolalia:AMPL:AMPL -emboldens:AMPL:AMPL -embolisms:AMPL:AMPL -embosomed:AMPS:AMPS -embossers:AMPS:AMPS -embossing:AMPS:AMPS -emboweled:AMPL:AMPL -embowered:AMPR:AMPR -embowment:AMPM:AMPM -embraceor:AMPR:AMPR -embracery:AMPR:AMPR -embracing:AMPR:AMPR -embrangle:AMPR:AMPR -embrasure:AMPR:AMPR -embrocate:AMPR:AMPR -embroglio:AMPR:AMPR -embroider:AMPR:AMPR -embroiled:AMPR:AMPR -embroiler:AMPR:AMPR -embryomas:AMPR:AMPR -embryonal:AMPR:AMPR -embryonic:AMPR:AMPR -embusques:AMPS:AMPS -embussing:AMPS:AMPS -emendable:AMNT:AMNT -emendator:AMNT:AMNT -emergence:AMRJ:AMRK -emergency:AMRJ:AMRK -emersions:AMRS:AMRX -emigrants:AMKR:AMKR -emigrated:AMKR:AMKR -emigrates:AMKR:AMKR -eminences:AMNN:AMNN -eminentia:AMNN:AMNN -eminently:AMNN:AMNN -emissions:AMSN:AMSN -emmetrope:AMTR:AMTR -emollient:AMLN:AMLN -emolument:AMLM:AMLM -emotional:AMXN:AMXN -emotively:AMTF:AMTF -emotivism:AMTF:AMTF -emotivity:AMTF:AMTF -empaneled:AMPN:AMPN -empathies:AMP0:AMPT -empathist:AMP0:AMPT -empathize:AMP0:AMPT -empennage:AMPN:AMPN -emphasize:AMFS:AMFS -emphysema:AMFS:AMFS -empirical:AMPR:AMPR -emplacing:AMPL:AMPL -emplaning:AMPL:AMPL -emplastic:AMPL:AMPL -employees:AMPL:AMPL -employers:AMPL:AMPL -employing:AMPL:AMPL -empolders:AMPL:AMPL -emporiums:AMPR:AMPR -empowered:AMPR:AMPR -empresses:AMPR:AMPR -emptiable:AMPX:AMPX -emptiness:AMPT:AMPT -empyemata:AMPM:AMPM -empyreuma:AMPR:AMPR -emulating:AMLT:AMLT -emulation:AMLX:AMLX -emulative:AMLT:AMLT -emulators:AMLT:AMLT -emulously:AMLS:AMLS -emulsible:AMLS:AMLS -emulsions:AMLS:AMLX -emunctory:AMNK:AMNK -enactable:ANKT:ANKT -enactions:ANKX:ANKX -enactment:ANKT:ANKT -enamelers:ANML:ANML -enameling:ANML:ANML -enamelist:ANML:ANML -enamoring:ANMR:ANMR -enanthema:ANN0:ANNT -enanthems:ANN0:ANNT -encamping:ANKM:ANKM -encapsule:ANKP:ANKP -encashing:ANKX:ANKX -encasters:ANKS:ANKS -encaustic:ANKS:ANKS -enceintes:ANSN:ANSN -encephala:ANSF:ANSF -enchained:ANXN:ANKN -enchanted:ANXN:ANKN -enchanter:ANXN:ANKN -enchasers:ANXS:ANKS -enchasing:ANXS:ANKS -enchilada:ANXL:ANKL -enchorial:ANXR:ANKR -enciphers:ANSF:ANSF -encircled:ANSR:ANSR -encircles:ANSR:ANSR -enclasped:ANKL:ANKL -enclosers:ANKL:ANKL -enclosing:ANKL:ANKL -enclosure:ANKL:ANKL -encodable:ANKT:ANKT -encodings:ANKT:ANKT -encolored:ANKL:ANKL -encomiums:ANKM:ANKM -encompass:ANKM:ANKM -encounter:ANKN:ANKN -encourage:ANKR:ANKR -encrinite:ANKR:ANKR -encrusted:ANKR:ANKR -encrypted:ANKR:ANKR -encrypter:ANKR:ANKR -encumbers:ANKM:ANKM -encysting:ANSS:ANSS -endamaged:ANTM:ANTM -endamages:ANTM:ANTM -endamoeba:ANTM:ANTM -endangers:ANTN:ANTN -endbrains:ANTP:ANTP -endearing:ANTR:ANTR -endeavors:ANTF:ANTF -endemical:ANTM:ANTM -endenisen:ANTN:ANTN -endenizen:ANTN:ANTN -endlessly:ANTL:ANTL -endoblast:ANTP:ANTP -endocarps:ANTK:ANTK -endocrine:ANTK:ANTK -endoergic:ANTR:ANTR -endogamic:ANTK:ANTK -endogenic:ANTJ:ANTK -endolimax:ANTL:ANTL -endolymph:ANTL:ANTL -endomixis:ANTM:ANTM -endomorph:ANTM:ANTM -endomysia:ANTM:ANTM -endophyte:ANTF:ANTF -endoplasm:ANTP:ANTP -endoplast:ANTP:ANTP -endorphin:ANTR:ANTR -endorsees:ANTR:ANTR -endorsers:ANTR:ANTR -endorsing:ANTR:ANTR -endoscope:ANTS:ANTS -endoscopy:ANTS:ANTS -endosperm:ANTS:ANTS -endospore:ANTS:ANTS -endosteal:ANTS:ANTS -endosteum:ANTS:ANTS -endostoma:ANTS:ANTS -endothrix:ANT0:ANTT -endotoxic:ANTT:ANTT -endotoxin:ANTT:ANTT -endowment:ANTM:ANTM -endpapers:ANTP:ANTP -endplates:ANTP:ANTP -endplayed:ANTP:ANTP -endpoints:ANTP:ANTP -endurable:ANTR:ANTR -endurably:ANTR:ANTR -endurance:ANTR:ANTR -energetic:ANRK:ANRK -energized:ANRJ:ANRK -energizer:ANRJ:ANRK -energizes:ANRJ:ANRK -enervated:ANRF:ANRF -enervates:ANRF:ANRF -enervator:ANRF:ANRF -enfamille:ANFM:ANFM -enfeebled:ANFP:ANFP -enfeebler:ANFP:ANFP -enfeebles:ANFP:ANFP -enfeoffed:ANFF:ANFF -enfeoffes:ANFF:ANFF -enfiladed:ANFL:ANFL -enfilades:ANFL:ANFL -enfolders:ANFL:ANFL -enfolding:ANFL:ANFL -enforcers:ANFR:ANFR -enforcing:ANFR:ANFR -engagedly:ANKJ:ANKK -engenders:ANJN:ANKN -engineers:ANJN:ANKN -englander:ANKL:ANKL -englobing:ANKL:ANKL -englutted:ANKL:ANKL -engorging:ANKR:ANKR -engrafted:ANKR:ANKR -engrailed:ANKR:ANKR -engrained:ANKR:ANKR -engrammic:ANKR:ANKR -engravers:ANKR:ANKR -engraving:ANKR:ANKR -engrossed:ANKR:ANKR -engrosser:ANKR:ANKR -engrosses:ANKR:ANKR -engulfing:ANKL:ANKL -enhancers:ANNS:ANNS -enhancing:ANNS:ANNS -enigmatic:ANKM:ANKM -enjoinder:ANJN:ANJN -enjoiners:ANJN:ANJN -enjoining:ANJN:ANJN -enjoyable:ANJP:ANJP -enjoyably:ANJP:ANJP -enjoyment:ANJM:ANJM -enkindled:ANKN:ANKN -enkindler:ANKN:ANKN -enkindles:ANKN:ANKN -enlargers:ANLR:ANLR -enlarging:ANLR:ANLR -enlighten:ANLT:ANLT -enlistees:ANLS:ANLS -enlisters:ANLS:ANLS -enlisting:ANLS:ANLS -enlivened:ANLF:ANLF -enlivener:ANLF:ANLF -enmeshing:ANMX:ANMX -enneagons:ANKN:ANKN -ennoblers:ANPL:ANPL -ennobling:ANPL:ANPL -enologies:ANLJ:ANLK -enorganic:ANRK:ANRK -enostoses:ANST:ANST -enostosis:ANST:ANST -enouncing:ANNS:ANNS -enpassant:ANPS:ANPS -enpension:ANPN:ANPN -enplaning:ANPL:ANPL -enquirers:ANKR:ANKR -enquiries:ANKR:ANKR -enquiring:ANKR:ANKR -enragedly:ANRJ:ANRK -enrapport:ANRP:ANRP -enrapture:ANRP:ANRP -enrichers:ANRX:ANRK -enriching:ANRX:ANRK -enrollers:ANRL:ANRL -enrolling:ANRL:ANRL -enrolment:ANRL:ANRL -enrooting:ANRT:ANRT -ensconced:ANSK:ANSK -ensconces:ANSK:ANSK -ensembles:ANSM:ANSM -ensheathe:ANX0:ANXT -enshrined:ANXR:ANXR -enshrines:ANXR:ANXR -enshrouds:ANXR:ANXR -ensilaged:ANSL:ANSL -enslavers:ANSL:ANSL -enslaving:ANSL:ANSL -ensnarers:ANSN:ANSN -ensnaring:ANSN:ANSN -ensouling:ANSL:ANSL -ensphered:ANSF:ANSF -enspheres:ANSF:ANSF -enswathed:ANS0:ANST -enswathes:ANS0:ANST -entailers:ANTL:ANTL -entailing:ANTL:ANTL -entamoeba:ANTM:ANTM -entangled:ANTN:ANTN -entangler:ANTN:ANTN -entangles:ANTN:ANTN -entelechy:ANTL:ANTL -entendres:ANTN:ANTN -enterable:ANTR:ANTR -enterally:ANTR:ANTR -entericus:ANTR:ANTR -enteritis:ANTR:ANTR -enterozoa:ANTR:ANTR -entertain:ANTR:ANTR -enthraled:AN0R:ANTR -enthralls:AN0R:ANTR -enthroned:AN0R:ANTR -enthrones:AN0R:ANTR -enthusing:AN0S:ANTS -enthymeme:AN0M:ANTM -entitling:ANTT:ANTT -entoblast:ANTP:ANTP -entocoele:ANTK:ANTK -entoconid:ANTK:ANTK -entoderms:ANTT:ANTT -entombing:ANTM:ANTM -entophyte:ANTF:ANTF -entoplasm:ANTP:ANTP -entourage:ANTR:ANTR -entoutcas:ANTT:ANTT -entr'acte:ANTR:ANTR -entrained:ANTR:ANTR -entrammel:ANTR:ANTR -entranced:ANTR:ANTR -entrances:ANTR:ANTR -entrapped:ANTR:ANTR -entrapper:ANTR:ANTR -entreated:ANTR:ANTR -entrechat:ANTR:ANTR -entrecote:ANTR:ANTR -entrecôte:ANTR:ANTR -entremets:ANTR:ANTR -entrenous:ANTR:ANTR -entresols:ANTR:ANTR -entropies:ANTR:ANTR -entropion:ANTR:ANTR -entrusted:ANTR:ANTR -entryisms:ANTR:ANTR -entwining:ANTN:ANTN -enucleate:ANKL:ANKL -enumerate:ANMR:ANMR -enunciate:ANNS:ANNX -enurement:ANRM:ANRM -enveloped:ANFL:ANFL -enveloper:ANFL:ANFL -envelopes:ANFL:ANFL -envenomed:ANFN:ANFN -enviously:ANFS:ANFS -environed:ANFR:ANFR -envisaged:ANFS:ANFS -envisages:ANFS:ANFS -envisions:ANFS:ANFX -envoyship:ANFX:ANFX -envyingly:ANFN:ANFN -enwinding:ANNT:ANNT -enwombing:ANMP:ANMP -enwraping:ANRP:ANRP -enwreaths:ANR0:ANRT -enzygotic:ANSK:ANSK -enzymatic:ANSM:ANSM -enzymical:ANSM:ANSM -eolipiles:ALPL:ALPL -eosinlike:ASNL:ASNL -eparchate:APRX:APRK -epaulette:APLT:APLT -ependymal:APNT:APNT -ephedrine:AFTR:AFTR -ephelides:AFLT:AFLT -ephemerae:AFMR:AFMR -ephemeral:AFMR:AFMR -ephemeras:AFMR:AFMR -ephemerid:AFMR:AFMR -ephemeris:AFMR:AFMR -ephemeron:AFMR:AFMR -ephesians:AFSN:AFXN -epiblasts:APPL:APPL -epibolies:APPL:APPL -epicanthi:APKN:APKN -epicardia:APKR:APKR -epicenism:APSN:APSN -epicenter:APSN:APSN -epicleses:APKL:APKL -epiclesis:APKL:APKL -epicrania:APKR:APKR -epicrises:APKR:APKR -epicrisis:APKR:APKR -epicritic:APKR:APKR -epicurean:APKR:APKR -epicurism:APKR:APKR -epicycles:APSK:APSK -epicyclic:APSK:APSK -epidemics:APTM:APTM -epidermal:APTR:APTR -epidermic:APTR:APTR -epidermis:APTR:APTR -epidictic:APTK:APTK -epidurals:APTR:APTR -epigenist:APJN:APKN -epigenous:APJN:APKN -epigraphy:APKR:APKR -epigynous:APJN:APKN -epilation:APLX:APLX -epilemmal:APLM:APLM -epileptic:APLP:APLP -epilogist:APLJ:APLK -epilogues:APLK:APLK -epimerism:APMR:APMR -epimerite:APMR:APMR -epimysium:APMS:APMS -epinastic:APNS:APNS -epineural:APNR:APNR -epiphanic:APFN:APFN -epiphragm:APFR:APFR -epiphyses:APFS:APFS -epiphysis:APFS:APFS -epiphytal:APFT:APFT -epiphytes:APFT:APFT -epiphytic:APFT:APFT -epipteric:APPT:APPT -epirogeny:APRJ:APRK -episclera:APSK:APSK -episcopal:APSK:APSK -episcopes:APSK:APSK -epistases:APST:APST -epistasis:APST:APST -epistatic:APST:APST -epistaxes:APST:APST -epistaxis:APST:APST -epistemic:APST:APST -episterna:APST:APST -epistlers:APST:APST -epistlors:APST:APST -epistyles:APST:APST -epitaphes:APTF:APTF -epitaphic:APTF:APTF -epitaxial:APTK:APTK -epitaxies:APTK:APTK -epithelia:AP0L:APTL -epithetic:AP0T:APTT -epithicae:AP0K:APTK -epitomist:APTM:APTM -epitomize:APTM:APTM -epizoisms:APSS:APSS -epizoites:APST:APST -epizootic:APST:APST -epochally:APXL:APKL -eponymies:APNM:APNM -eponymous:APNM:APNM -epornitic:APRN:APRN -equalized:AKLS:AKLS -equalizer:AKLS:AKLS -equalizes:AKLS:AKLS -equalling:AKLN:AKLN -equatable:AKTP:AKTP -equations:AKXN:AKXN -equerries:AKRS:AKRS -equilenin:AKLN:AKLN -equinoxes:AKNK:AKNK -equipages:AKPJ:AKPK -equipment:AKPM:AKPM -equipoise:AKPS:AKPS -equippers:AKPR:AKPR -equipping:AKPN:AKPN -equisetum:AKST:AKST -equitable:AKTP:AKTP -equitably:AKTP:AKTP -equivocal:AKFK:AKFK -equivokes:AKFK:AKFK -equivoque:AKFK:AKFK -eradiated:ARTT:ARTT -eradiates:ARTT:ARTT -eradicate:ARTK:ARTK -erectable:ARKT:ARKT -erections:ARKX:ARKX -erectness:ARKT:ARKT -erethitic:AR0T:ARTT -ergatives:ARKT:ARKT -ergogenic:ARKJ:ARKK -ergograph:ARKK:ARKK -ergonomic:ARKN:ARKN -ergotized:ARKT:ARKT -eristical:ARST:ARST -erogenous:ARJN:ARKN -erosional:ARSN:ARXN -erosivity:ARSF:ARSF -eroticism:ARTS:ARTS -eroticist:ARTS:ARTS -eroticize:ARTS:ARTS -erotizing:ARTS:ARTS -erotology:ARTL:ARTL -erotopath:ARTP:ARTP -errancies:ARNS:ARNX -erroneous:ARNS:ARNS -errorfree:ARRF:ARRF -errorless:ARRL:ARRL -erstwhile:ARST:ARST -eructated:ARKT:ARKT -eruditely:ARTT:ARTT -erudition:ARTX:ARTX -erumpment:ARMP:ARMP -eruptible:ARPT:ARPT -eruptions:ARPX:ARPX -erythemal:AR0M:ARTM -erythrism:AR0R:ARTR -erythrite:AR0R:ARTR -erythroid:AR0R:ARTR -erythrose:AR0R:ARTR -escaladed:ASKL:ASKL -escalader:ASKL:ASKL -escalades:ASKL:ASKL -escalated:ASKL:ASKL -escalates:ASKL:ASKL -escalator:ASKL:ASKL -escallops:ASKL:ASKL -escapable:ASKP:ASKP -escapades:ASKP:ASKP -escapeway:ASKP:ASKP -escapists:ASKP:ASKP -escargots:ASKR:ASKR -escaroles:ASKR:ASKR -eschalots:AXLT:AXLT -escheated:AXTT:AXTT -eschewals:AXLS:AXLS -eschewers:AXRS:AXRS -eschewing:AXNK:AXNK -escorting:ASKR:ASKR -escribing:ASKP:ASKP -escrowees:ASKS:ASKS -escrowing:ASKN:ASKN -esculents:ASKL:ASKL -esculetin:ASKL:ASKL -esophagal:ASFK:ASFK -esophagus:ASFK:ASFK -esophoria:ASFR:ASFR -esotropia:ASTR:ASTR -esotropic:ASTR:ASTR -espaliers:ASPL:ASPL -esperanto:ASPR:ASPR -espionage:ASPN:ASPN -esplanade:ASPL:ASPL -espousals:ASPS:ASPS -espousers:ASPS:ASPS -espousing:ASPS:ASPS -espressos:ASPR:ASPR -essayists:ASST:ASST -essential:ASNX:ASNX -essoinees:ASNS:ASNS -essonites:ASNT:ASNT -establish:ASTP:ASTP -estaminet:ASTM:ASTM -esteeming:ASTM:ASTM -esthetics:AS0T:ASTT -estimable:ASTM:ASTM -estimably:ASTM:ASTM -estimated:ASTM:ASTM -estimates:ASTM:ASTM -estimator:ASTM:ASTM -estivated:ASTF:ASTF -estivates:ASTF:ASTF -estonians:ASTN:ASTN -estoppage:ASTP:ASTP -estoppels:ASTP:ASTP -estopping:ASTP:ASTP -estradiol:ASTR:ASTR -estranged:ASTR:ASTR -estranges:ASTR:ASTR -estreated:ASTR:ASTR -estrogens:ASTR:ASTR -estuaries:ASTR:ASTR -estuarine:ASTR:ASTR -esurience:ASRN:ASRN -esuriency:ASRN:ASRN -etceteras:ATST:ATST -eternally:ATRN:ATRN -eternised:ATRN:ATRN -eternises:ATRN:ATRN -ethamivan:ATMF:ATMF -etherized:A0RS:ATRS -etherizes:A0RS:ATRS -ethically:A0KL:ATKL -ethicised:A0SS:ATSS -ethicises:A0SS:ATSS -ethicists:A0SS:ATSS -ethiopian:A0PN:ATPN -ethmoidal:A0MT:ATMT -ethnarchs:A0NR:ATNR -ethnicity:A0NS:ATNS -ethnogeny:A0NJ:ATNK -ethnology:A0NL:ATNL -ethoxides:A0KS:ATKS -ethylated:A0LT:ATLT -ethylates:A0LT:ATLT -ethylenic:A0LN:ATLN -etiolated:ATLT:ATLT -etiologic:ATLJ:ATLK -etiquette:ATKT:ATKT -etruscans:ATRS:ATRS -etymology:ATML:ATML -eucalypti:AKLP:AKLP -eucalypts:AKLP:AKLP -eucaryote:AKRT:AKRT -eucestoda:ASST:ASST -eucharist:AXRS:AKRS -euchlorin:AKLR:AKLR -euclidean:AKLT:AKLT -euclidian:AKLT:AKLT -eucryphia:AKRF:AKRF -eudaemons:ATMN:ATMN -eudemonia:ATMN:ATMN -eudemonic:ATMN:ATMN -eugenical:AJNK:AKNK -eukaryote:AKRT:AKRT -eulachans:ALKN:ALKN -eulachons:ALKN:ALKN -eulogists:ALJS:ALKS -eulogized:ALJS:ALKS -eulogizer:ALJS:ALKS -eulogizes:ALJS:ALKS -eumorphic:AMRF:AMRF -eumycetes:AMST:AMST -eunuchism:ANXS:ANKS -eunuchoid:ANXT:ANKT -euonymous:ANMS:ANMS -eupatorin:APTR:APTR -eupatrids:APTR:APTR -euphemism:AFMS:AFMS -euphemize:AFMS:AFMS -euphenics:AFNK:AFNK -euphonics:AFNK:AFNK -euphonies:AFNS:AFNS -euphonium:AFNM:AFNM -euphorbia:AFRP:AFRP -euphrates:AFRT:AFRT -euphuisms:AFSM:AFSM -euphuists:AFST:AFST -euplastic:APLS:APLS -eurasians:ARSN:ARXN -eurhythmy:AR0M:ARTM -euripides:ARPT:ARPT -eurobeach:ARPK:ARPK -eurocrats:ARKR:ARKR -europeans:ARPN:ARPN -eurysomic:ARSM:ARSM -eurytopic:ARTP:ARTP -eustasies:ASTS:ASTS -eutectoid:ATKT:ATKT -euthenics:A0NK:ATNK -euthenist:A0NS:ATNS -eutherian:A0RN:ATRN -euthermic:A0RM:ATRM -euthyroid:A0RT:ATRT -eutrophic:ATRF:ATRF -evacuants:AFKN:AFKN -evacuated:AFKT:AFKT -evacuates:AFKT:AFKT -evacuator:AFKT:AFKT -evadingly:AFTN:AFTN -evaginate:AFJN:AFKN -evaluated:AFLT:AFLT -evaluates:AFLT:AFLT -evaluator:AFLT:AFLT -evanesced:AFNS:AFNS -evanesces:AFNS:AFNS -evangelic:AFNJ:AFNK -evanished:AFNX:AFNX -evanishes:AFNX:AFNX -evaporate:AFPR:AFPR -evaporite:AFPR:AFPR -evasively:AFSF:AFSF -evensongs:AFNS:AFNS -eventuate:AFNT:AFNT -everbloom:AFRP:AFRP -everglade:AFRK:AFRK -evergreen:AFRK:AFRK -eversible:AFRS:AFRS -everybody:AFRP:AFRP -evictions:AFKX:AFKX -evidenced:AFTN:AFTN -evidences:AFTN:AFTN -evidently:AFTN:AFTN -evildoers:AFLT:AFLT -evildoing:AFLT:AFLT -evincible:AFNS:AFNS -eviration:AFRX:AFRX -evocation:AFKX:AFKX -evocative:AFKT:AFKT -evocators:AFKT:AFKT -evocatory:AFKT:AFKT -evolution:AFLX:AFLX -evolutive:AFLT:AFLT -evolvable:AFLF:AFLF -exactable:AKSK:AKSK -exactions:AKSK:AKSK -exactness:AKSK:AKSK -exaltedly:AKSL:AKSL -examinees:AKSM:AKSM -examiners:AKSM:AKSM -examining:AKSM:AKSM -exanthema:AKSN:AKSN -exanthems:AKSN:AKSN -exarchate:AKSR:AKSR -exarchies:AKSR:AKSR -excambion:AKSM:AKSM -excambium:AKSM:AKSM -excaudate:AKST:AKST -excavated:AKSF:AKSF -excavates:AKSF:AKSF -excavator:AKSF:AKSF -exceeders:AKST:AKST -exceeding:AKST:AKST -excellent:AKSL:AKSL -excelling:AKSL:AKSL -excelsior:AKSL:AKSL -excepting:AKSP:AKSP -exception:AKSP:AKSP -exceptive:AKSP:AKSP -exceptors:AKSP:AKSP -excerpted:AKSR:AKSR -excessive:AKSS:AKSS -exchanged:AKSN:AKSN -exchanger:AKSN:AKSN -exchanges:AKSN:AKSN -exchequer:AKSK:AKSK -excipient:AKSP:AKSP -excisable:AKSS:AKSS -exciseman:AKSS:AKSS -excisemen:AKSS:AKSS -excisions:AKSS:AKSX -excitable:AKST:AKST -excitably:AKST:AKST -excitedly:AKST:AKST -exclaimed:AKSL:AKSL -exclaimer:AKSL:AKSL -exclosure:AKSL:AKSL -excluders:AKSL:AKSL -excluding:AKSL:AKSL -exclusion:AKSL:AKSL -exclusive:AKSL:AKSL -excoriate:AKSR:AKSR -excrement:AKSR:AKSR -excreters:AKSR:AKSR -excreting:AKSR:AKSR -excretion:AKSR:AKSR -excretive:AKSR:AKSR -excretory:AKSR:AKSR -exculpate:AKSL:AKSL -excurrent:AKSR:AKSR -excursion:AKSR:AKSR -excursive:AKSR:AKSR -excusable:AKSS:AKSS -excusably:AKSS:AKSS -execrable:AKSK:AKSK -execrably:AKSK:AKSK -execrated:AKSK:AKSK -execrates:AKSK:AKSK -execrator:AKSK:AKSK -executant:AKSK:AKSK -executers:AKSK:AKSK -executing:AKSK:AKSK -execution:AKSK:AKSK -executive:AKSK:AKSK -executors:AKSK:AKSK -executory:AKSK:AKSK -executrix:AKSK:AKSK -exegetics:AKSK:AKSK -exegetist:AKSK:AKSK -exemplars:AKSM:AKSM -exemplary:AKSM:AKSM -exemplify:AKSM:AKSM -exempting:AKSM:AKSM -exemption:AKSM:AKSM -exemptive:AKSM:AKSM -exequatur:AKSK:AKSK -exercised:AKSR:AKSR -exerciser:AKSR:AKSR -exercises:AKSR:AKSR -exertions:AKSR:AKSR -exfoliate:AKSF:AKSF -exhalable:AKSL:AKSL -exhausted:AKSS:AKSS -exhauster:AKSS:AKSS -exhibited:AKSP:AKSP -exhibiter:AKSP:AKSP -exhibitor:AKSP:AKSP -exhorters:AKSR:AKSR -exhorting:AKSR:AKSR -exhusband:AKSS:AKSS -exigences:AKSJ:AKSK -exigently:AKSJ:AKSK -existence:AKSS:AKSS -exitances:AKST:AKST -exochoria:AKSX:AKSK -exodontia:AKST:AKST -exoenzyme:AKSN:AKSN -exofficio:AKSF:AKSF -exogamies:AKSK:AKSK -exogamous:AKSK:AKSK -exogenous:AKSJ:AKSK -exonerate:AKSN:AKSN -exophoria:AKSF:AKSF -exophoric:AKSF:AKSF -exophytic:AKSF:AKSF -exorcises:AKSR:AKSR -exorcisms:AKSR:AKSR -exorcists:AKSR:AKSR -exorcized:AKSR:AKSR -exorcizer:AKSR:AKSR -exorcizes:AKSR:AKSR -exordiums:AKSR:AKSR -exosmoses:AKSS:AKSS -exosmosis:AKSS:AKSS -exosmotic:AKSS:AKSS -exosphere:AKSS:AKSS -exosporia:AKSS:AKSS -exostoses:AKSS:AKSS -exostosis:AKSS:AKSS -exoticism:AKST:AKST -exotropia:AKST:AKST -expanders:AKSP:AKSP -expanding:AKSP:AKSP -expansile:AKSP:AKSP -expansion:AKSP:AKSP -expansive:AKSP:AKSP -expatiate:AKSP:AKSP -expectant:AKSP:AKSP -expecters:AKSP:AKSP -expecting:AKSP:AKSP -expedient:AKSP:AKSP -expedited:AKSP:AKSP -expediter:AKSP:AKSP -expedites:AKSP:AKSP -expeditor:AKSP:AKSP -expellant:AKSP:AKSP -expellees:AKSP:AKSP -expellent:AKSP:AKSP -expellers:AKSP:AKSP -expelling:AKSP:AKSP -expenders:AKSP:AKSP -expending:AKSP:AKSP -expensive:AKSP:AKSP -expertise:AKSP:AKSP -expiating:AKSP:AKSP -expiation:AKSP:AKSP -expiators:AKSP:AKSP -expiatory:AKSP:AKSP -explained:AKSP:AKSP -explainer:AKSP:AKSP -explanted:AKSP:AKSP -expletive:AKSP:AKSP -explicate:AKSP:AKSP -exploders:AKSP:AKSP -exploding:AKSP:AKSP -exploited:AKSP:AKSP -exploitee:AKSP:AKSP -exploiter:AKSP:AKSP -explorers:AKSP:AKSP -exploring:AKSP:AKSP -explosion:AKSP:AKSP -explosive:AKSP:AKSP -exponents:AKSP:AKSP -exporters:AKSP:AKSP -exporting:AKSP:AKSP -exposable:AKSP:AKSP -expositor:AKSP:AKSP -exposures:AKSP:AKSP -expounded:AKSP:AKSP -expounder:AKSP:AKSP -expressed:AKSP:AKSP -expresser:AKSP:AKSP -expresses:AKSP:AKSP -expressly:AKSP:AKSP -expulsion:AKSP:AKSP -expulsive:AKSP:AKSP -expungers:AKSP:AKSP -expunging:AKSP:AKSP -expurgate:AKSP:AKSP -exquisite:AKSK:AKSK -exscinded:AKSS:AKSS -exsecting:AKSS:AKSS -exsection:AKSS:AKSS -exsertile:AKSS:AKSS -exserting:AKSS:AKSS -exsertion:AKSS:AKSS -exsiccate:AKSS:AKSS -exstrophy:AKSS:AKSS -extempore:AKST:AKST -extenders:AKST:AKST -extending:AKST:AKST -extensile:AKST:AKST -extension:AKST:AKST -extensity:AKST:AKST -extensive:AKST:AKST -extenuate:AKST:AKST -exteriors:AKST:AKST -externals:AKST:AKST -extirpate:AKST:AKST -extollers:AKST:AKST -extolling:AKST:AKST -extolment:AKST:AKST -extorsion:AKST:AKST -extorsive:AKST:AKST -extorters:AKST:AKST -extorting:AKST:AKST -extortion:AKST:AKST -extortive:AKST:AKST -extracted:AKST:AKST -extractor:AKST:AKST -extradite:AKST:AKST -extraneus:AKST:AKST -extravert:AKST:AKST -extremals:AKST:AKST -extremely:AKST:AKST -extremism:AKST:AKST -extremist:AKST:AKST -extremity:AKST:AKST -extricate:AKST:AKST -extrinsic:AKST:AKST -extrorsal:AKST:AKST -extrovert:AKST:AKST -extruding:AKST:AKST -extrusion:AKST:AKST -extrusive:AKST:AKST -extubated:AKST:AKST -exuberant:AKSP:AKSP -exudation:AKST:AKST -exudative:AKST:AKST -exultance:AKSL:AKSL -exultancy:AKSL:AKSL -exuviated:AKSF:AKSF -exuviates:AKSF:AKSF -eyebright:APRT:APRT -eyelashes:ALXS:ALXS -eyeleteer:ALTR:ALTR -eyepieces:APSS:APSS -eyeshades:AXTS:AXTS -eyestalks:ASTL:ASTL -eyestrain:ASTR:ASTR -fabaceous:FPSS:FPSS -fabianism:FPNS:FPNS -fabricate:FPRK:FPRK -fabulists:FPLS:FPLS -facelifts:FSLF:FSLF -faceplate:FSPL:FSPL -facetious:FSTS:FSTS -facetting:FSTN:FSTN -faciendum:FSNT:FXNT -facsimile:FKSM:FKSM -factional:FKXN:FKXN -factitive:FKTT:FKTT -factorage:FKTR:FKTR -factorial:FKTR:FKTR -factories:FKTR:FKTR -factoring:FKTR:FKTR -factorize:FKTR:FKTR -factotums:FKTT:FKTT -factually:FKTL:FKTL -faculties:FKLT:FKLT -faddiness:FTNS:FTNS -fadedness:FTTN:FTTN -faecalith:FKL0:FKLT -fagaceous:FKSS:FKSS -faggoting:FKTN:FKTN -failingly:FLNK:FLNK -failsafed:FLSF:FLSF -failsafes:FLSF:FLSF -faintness:FNTN:FNTN -fairbanks:FRPN:FRPN -fairfaced:FRFS:FRFS -fairleads:FRLT:FRLT -fairyland:FRLN:FRLN -fairylike:FRLK:FRLK -faithless:F0LS:FTLS -falangist:FLNJ:FLNK -falchions:FLXN:FLKN -falciform:FLSF:FLSF -falconers:FLKN:FLKN -falconets:FLKN:FLKN -falconine:FLKN:FLKN -falderals:FLTR:FLTR -faldstool:FLTS:FLTS -falklands:FLKL:FLKL -fallacies:FLSS:FLXS -fallopian:FLPN:FLPN -falsehood:FLSH:FLSH -falseness:FLSN:FLSN -falsettos:FLST:FLST -falsework:FLSR:FLSR -falsified:FLSF:FLSF -falsifier:FLSF:FLSF -falsifies:FLSF:FLSF -falsities:FLST:FLST -faltboats:FLTP:FLTP -falterers:FLTR:FLTR -faltering:FLTR:FLTR -familiars:FMLR:FMLR -famishing:FMXN:FMXN -fanatical:FNTK:FNTK -fanciness:FNSN:FNSN -fancywork:FNSR:FNSR -fandangos:FNTN:FNTN -fanlights:FNLT:FNLT -fantailed:FNTL:FNTL -fantasias:FNTS:FNTX -fantasied:FNTS:FNTS -fantasies:FNTS:FNTS -fantasist:FNTS:FNTS -fantasize:FNTS:FNTS -fantastic:FNTS:FNTS -faradized:FRTS:FRTS -faradizer:FRTS:FRTS -faradizes:FRTS:FRTS -farandole:FRNT:FRNT -farewells:FRLS:FRLS -farmhands:FRMN:FRMN -farmhouse:FRMS:FRMS -farmlands:FRML:FRML -farmstead:FRMS:FRMS -farmyards:FRMR:FRMR -farragoes:FRKS:FRKS -farrowing:FRNK:FRNK -farseeing:FRSN:FRSN -farthings:FR0N:FRTN -fasciated:FSTT:FSTT -fascicled:FSKL:FSKL -fascicles:FSKL:FSKL -fascicule:FSKL:FSKL -fasciculi:FSKL:FSKL -fascinate:FSNT:FSNT -fasciolae:FSL:FSL -fasciolar:FSLR:FSLR -fasciolas:FSLS:FSLS -fascistic:FSST:FSST -fashioned:FXNT:FXNT -fashioner:FXNR:FXNR -fastbacks:FSTP:FSTP -fasteners:FSTN:FSTN -fastening:FSTN:FSTN -fastidium:FSTT:FSTT -fastigium:FSTJ:FSTK -fatalists:FTLS:FTLS -fatalness:FTLN:FTLN -fatefully:FTFL:FTFL -fathering:F0RN:FTRN -fathoming:FTMN:FTMN -fatigable:FTKP:FTKP -fatiguing:FTKN:FTKN -fatteners:FTNR:FTNR -fattening:FTNN:FTNN -fattiness:FTNS:FTNS -fatuities:FTTS:FTTS -fatuously:FTSL:FTSL -faubourgs:FPRK:FPRK -faultfind:FLTF:FLTF -faultiest:FLTS:FLTS -faultless:FLTL:FLTL -faveolate:FFLT:FFLT -favorable:FFRP:FFRP -favorably:FFRP:FFRP -favorites:FFRT:FFRT -favorless:FFRL:FFRL -fawningly:FNNK:FNNK -fearfully:FRFL:FRFL -feathered:F0RT:FTRT -featherer:F0RR:FTRR -featuring:FTRN:FTRN -febricula:FPRK:FPRK -febrifuge:FPRF:FPRF -febrility:FPRL:FPRL -feculence:FKLN:FKLN -fecundate:FKNT:FKNT -fecundity:FKNT:FKNT -federally:FTRL:FTRL -federated:FTRT:FTRT -federates:FTRT:FTRT -federator:FTRT:FTRT -feedbacks:FTPK:FTPK -feedstock:FTST:FTST -feedstuff:FTST:FTST -feedwater:FTTR:FTTR -feelingly:FLNK:FLNK -feignedly:FNTL:FKNT -feistiest:FSTS:FSTS -feldspars:FLTS:FLTS -fellaheen:FLHN:FLHN -fellatees:FLTS:FLTS -fellating:FLTN:FLTN -fellation:FLXN:FLXN -fellatios:FLTS:FLTS -fellators:FLTR:FLTR -fellatory:FLTR:FLTR -fellatrix:FLTR:FLTR -fellowman:FLMN:FLMN -fellowmen:FLMN:FLMN -felonious:FLNS:FLNS -felonries:FLNR:FLNR -femineity:FMNT:FMNT -feminists:FMNS:FMNS -feminized:FMNS:FMNS -feminizes:FMNS:FMNS -fenagling:FNKL:FNLN -fenceless:FNSL:FNSL -fencelike:FNSL:FNSL -fencepost:FNSP:FNSP -fenestrae:FNST:FNST -fenestral:FNST:FNST -fenianism:FNNS:FNNS -fenugreek:FNKR:FNKR -feoffment:FFMN:FFMN -fermented:FRMN:FRMN -fermenter:FRMN:FRMN -ferneries:FRNR:FRNR -ferocious:FRSS:FRXS -ferreling:FRLN:FRLN -ferreters:FRTR:FRTR -ferreting:FRTN:FRTN -ferrocene:FRSN:FRSN -ferrotype:FRTP:FRTP -ferryboat:FRPT:FRPT -fertilely:FRTL:FRTL -fertility:FRTL:FRTL -fertilize:FRTL:FRTL -fervently:FRFN:FRFN -festering:FSTR:FSTR -festinate:FSTN:FSTN -festivals:FSTF:FSTF -festively:FSTF:FSTF -festivity:FSTF:FSTF -festooned:FSTN:FSTN -fetichism:FTXS:FTKS -feticidal:FTST:FTST -feticides:FTST:FTST -fetidness:FTTN:FTTN -fetishism:FTXS:FTXS -fetishist:FTXS:FTXS -fetometry:FTMT:FTMT -fetterers:FTRR:FTRR -fettering:FTRN:FTRN -fettucine:FTSN:FTSN -fettucini:FTSN:FTSN -feudalism:FTLS:FTLS -feudalist:FTLS:FTLS -feudality:FTLT:FTLT -feudalize:FTLS:FTLS -feudatory:FTTR:FTTR -feverless:FFRL:FFRL -fiberfill:FPRF:FPRF -fibonacci:FPNX:FPNX -fibrefill:FPRF:FPRF -fibreless:FPRL:FPRL -fibriform:FPRF:FPRF -fibrilary:FPRL:FPRL -fibrilate:FPRL:FPRL -fibrillae:FPRL:FPRL -fibrillar:FPRL:FPRL -fibrinoid:FPRN:FPRN -fibrinous:FPRN:FPRN -fibrocyte:FPRS:FPRS -fibromata:FPRM:FPRM -fibrosity:FPRS:FPRS -fibrously:FPRS:FPRS -fictional:FKXN:FKXN -fictiones:FKXN:FKXN -fiddliest:FTLS:FTLS -fideistic:FTST:FTST -fidgeting:FJTN:FJTN -fiduciary:FTSR:FTXR -fieldfare:FLTF:FLTF -fieldleft:FLTL:FLTL -fieldmice:FLTM:FLTM -fieldsman:FLTS:FLTS -fieldsmen:FLTS:FLTS -fieldwork:FLTR:FLTR -fiendlike:FNTL:FNTL -fieriness:FRNS:FRNS -fifteenth:FFTN:FFTN -fiftieths:FFT0:FFTT -fiftyfold:FFTF:FFTF -figurants:FKRN:FKRN -figurines:FKRN:FKRN -figurings:FKRN:FKRN -filaceous:FLSS:FLSS -filaments:FLMN:FLMN -filatures:FLTR:FLTR -filecards:FLKR:FLKR -filenames:FLNM:FLNM -filespecs:FLSP:FLSP -filiating:FLTN:FLTN -filiation:FLXN:FLXN -filicidal:FLST:FLST -filicides:FLST:FLST -filigreed:FLKR:FLKR -filigrees:FLKR:FLKR -filipinos:FLPN:FLPN -filisters:FLST:FLST -fillester:FLST:FLST -filleting:FLTN:FLTN -filliping:FLPN:FLPN -fillister:FLST:FLST -filmgoers:FLMK:FLMK -filminess:FLMN:FLMN -filmstrip:FLMS:FLMS -filoplume:FLPL:FLPL -filopodia:FLPT:FLPT -filoselle:FLSL:FLSL -filtering:FLTR:FLTR -filthiest:FL0S:FLTS -filtrable:FLTR:FLTR -filtrated:FLTR:FLTR -filtrates:FLTR:FLTR -fimbriate:FMPR:FMPR -finaglers:FNKL:FNKL -finagling:FNKL:FNLN -finalists:FNLS:FNLS -finalized:FNLS:FNLS -finalizes:FNLS:FNLS -financial:FNNS:FNNX -financier:FNNS:FNNX -financing:FNNS:FNNS -finessing:FNSN:FNSN -fingerers:FNKR:FNJR -fingering:FNKR:FNJR -fingertip:FNKR:FNJR -finicking:FNKN:FNKN -finishers:FNXR:FNXR -finishing:FNXN:FNXN -finocchio:FNX:FNX -firebacks:FRPK:FRPK -fireballs:FRPL:FRPL -firebases:FRPS:FRPS -fireboats:FRPT:FRPT -firebombs:FRPM:FRPM -fireboxes:FRPK:FRPK -firebrand:FRPR:FRPR -firebrats:FRPR:FRPR -firebreak:FRPR:FRPR -firebrick:FRPR:FRPR -fireflies:FRFL:FRFL -fireguard:FRKR:FRKR -firehouse:FRHS:FRHS -firelight:FRLT:FRLT -fireplace:FRPL:FRPL -fireplugs:FRPL:FRPL -firepower:FRPR:FRPR -fireproof:FRPR:FRPR -firesides:FRST:FRST -firestone:FRST:FRST -firestorm:FRST:FRST -firetraps:FRTR:FRTR -firewater:FRTR:FRTR -fireweeds:FRTS:FRTS -fireworks:FRRK:FRRK -firmament:FRMM:FRMM -firstborn:FRST:FRST -firsthand:FRS0:FRST -firstling:FRST:FRST -fishbolts:FXPL:FXPL -fishbowls:FXPL:FXPL -fisheries:FXRS:FXRS -fisherman:FXRM:FXRM -fishermen:FXRM:FXRM -fishhooks:FXKS:FXKS -fishiness:FXNS:FXNS -fishplate:FXPL:FXPL -fishponds:FXPN:FXPN -fishscale:FXSK:FXSK -fishtails:FXTL:FXTL -fishwives:FXFS:FXFS -fissility:FSLT:FSLT -fissipeds:FSPT:FSPT -fissuring:FSRN:FSRN -fistfight:FSTF:FSTF -fisticuff:FSTK:FSTK -fistmeles:FSTM:FSTM -fistulaes:FSTL:FSTL -fistulate:FSTL:FSTL -fistulize:FSTL:FSTL -fistulous:FSTL:FSTL -fittingly:FTNK:FTNK -fivesided:FFST:FFST -fixations:FKSX:FKSX -fixatives:FKST:FKST -fixedness:FKST:FKST -fizziness:FSNS:FTSN -flabbiest:FLPS:FLPS -flabellum:FLPL:FLPL -flaccidly:FLXT:FLXT -flagellar:FLJL:FLKL -flagellum:FLJL:FLKL -flageolet:FLJL:FLKL -flagpoles:FLKP:FLKP -flagrance:FLKR:FLKR -flagrancy:FLKR:FLKR -flagrante:FLKR:FLKR -flagships:FLKX:FLKX -flagstaff:FLKS:FLKS -flagstone:FLKS:FLKS -flakiness:FLKN:FLKN -flambeaus:FLMP:FLMP -flambeaux:FLMP:FLMP -flameless:FLML:FLML -flamelets:FLML:FLML -flamelike:FLML:FLML -flamencos:FLMN:FLMN -flameouts:FLMT:FLMT -flamingly:FLMN:FLMN -flamingos:FLMN:FLMN -flaminian:FLMN:FLMN -flammable:FLMP:FLMP -flammably:FLMP:FLMP -flanneled:FLNL:FLNL -flannelet:FLNL:FLNL -flannelly:FLNL:FLNL -flapjacks:FLPJ:FLPJ -flappable:FLPP:FLPP -flashback:FLXP:FLXP -flashbulb:FLXP:FLXP -flashcube:FLXK:FLXK -flashiest:FLXS:FLXS -flashlamp:FLXL:FLXL -flashover:FLXF:FLXF -flashtube:FLXT:FLXT -flatboats:FLTP:FLTP -flatfoots:FLTF:FLTF -flatheads:FL0T:FLTT -flatirons:FLTR:FLTR -flatmates:FLTM:FLTM -flattened:FLTN:FLTN -flattener:FLTN:FLTN -flattered:FLTR:FLTR -flatterer:FLTR:FLTR -flatulent:FLTL:FLTL -flatworms:FLTR:FLTR -flaunches:FLNX:FLNK -flaunters:FLNT:FLNT -flaunting:FLNT:FLNT -flautists:FLTS:FLTS -flavanone:FLFN:FLFN -flavianic:FLFN:FLFN -flavonoid:FLFN:FLFN -flavorers:FLFR:FLFR -flavorful:FLFR:FLFR -flavoring:FLFR:FLFR -flavorous:FLFR:FLFR -fleabanes:FLPN:FLPN -fleabites:FLPT:FLPT -fleckered:FLKR:FLKR -fledgling:FLTK:FLTK -fleeciest:FLSS:FLXS -fleetness:FLTN:FLTN -fleetwood:FLTT:FLTT -fleminged:FLMN:FLMN -fleshiest:FLXS:FLXS -fleshings:FLXN:FLXN -fleshless:FLXL:FLXL -fleshlier:FLXL:FLXL -fleshpots:FLXP:FLXP -fletchers:FLXR:FLXR -fleurette:FLRT:FLRT -flexility:FLKS:FLKS -flexional:FLKS:FLKS -flexitime:FLKS:FLKS -flickered:FLKR:FLKR -flightier:FLT:FLTR -flightily:FLTL:FLTL -flimflams:FLMF:FLMF -flimsiest:FLMS:FLMS -flinchers:FLNX:FLNK -flinching:FLNX:FLNK -flintiest:FLNT:FLNT -flintlike:FLNT:FLNT -flintlock:FLNT:FLNT -flippancy:FLPN:FLPN -flitching:FLXN:FLXN -flittered:FLTR:FLTR -floatable:FLTP:FLTP -floatiest:FLTS:FLTS -floccular:FLKL:FLKL -flocculus:FLKL:FLKL -floodable:FLTP:FLTP -floodgate:FLTK:FLTK -floodless:FLTL:FLTL -floorings:FLRN:FLRN -floorshow:FLRX:FLRX -floorwalk:FLRL:FLRL -flophouse:FLFS:FLFS -floppiest:FLPS:FLPS -floriated:FLRT:FLRT -floridans:FLRT:FLRT -floridian:FLRT:FLRT -floridity:FLRT:FLRT -floristic:FLRS:FLRS -floscular:FLSK:FLSK -flossiest:FLSS:FLSS -flotation:FLTX:FLTX -flotillas:FLTL:FLTL -flouncing:FLNS:FLNS -flounders:FLNT:FLNT -flouriest:FLRS:FLRS -flowchart:FLXR:FLKR -flowerage:FLRJ:FLRK -flowerbed:FLRP:FLRP -flowerers:FLRR:FLRR -flowering:FLRN:FLRN -flowerpot:FLRP:FLRP -flowingly:FLNK:FLNK -fluctuant:FLKT:FLKT -fluctuate:FLKT:FLKT -fluffiest:FLFS:FLFS -fluidally:FLTL:FLTL -fluidises:FLTS:FLTS -fluidized:FLTS:FLTS -fluidizer:FLTS:FLTS -fluidizes:FLTS:FLTS -fluidness:FLTN:FLTN -flukiness:FLKN:FLKN -flummoxed:FLMK:FLMK -flummoxes:FLMK:FLMK -fluoresce:FLRS:FLRS -fluorides:FLRT:FLRT -fluorosis:FLRS:FLRS -fluorspar:FLRS:FLRS -flurrying:FLRN:FLRN -flushable:FLXP:FLXP -flushness:FLXN:FLXN -flushwork:FLXR:FLXR -flustered:FLST:FLST -flutelike:FLTL:FLTL -fluttered:FLTR:FLTR -flutterer:FLTR:FLTR -fluxional:FLKS:FLKS -flyleaves:FLLF:FLLF -flyscreen:FLSK:FLSK -flyspecks:FLSP:FLSP -flyweight:FLT:FLT -flywheels:FLLS:FLLS -foaminess:FMNS:FMNS -focalized:FKLS:FKLS -focalizes:FKLS:FKLS -focusable:FKSP:FKSP -focussing:FKSN:FKSN -foddering:FTRN:FTRN -foeticide:FTST:FTST -fogginess:FJNS:FKNS -foldboats:FLTP:FLTP -foliating:FLTN:FLTN -foliation:FLXN:FLXN -foliolate:FLLT:FLLT -folkloric:FLKL:FLKL -folksiest:FLKS:FLKS -follicles:FLKL:FLKL -folliculi:FLKL:FLKL -followers:FLRS:FLRS -followeth:FL0:FLT -following:FLNK:FLNK -followups:FLPS:FLPS -fomenters:FMNT:FMNT -fomenting:FMNT:FMNT -foodstuff:FTST:FTST -fooleries:FLRS:FLRS -foolhardy:FLRT:FLRT -foolishly:FLXL:FLXL -foolproof:FLPR:FLPR -footballs:FTPL:FTPL -footboard:FTPR:FTPR -footfalls:FTFL:FTFL -foothills:F0LS:FTLS -footholds:F0LT:FTLT -footlight:FTLT:FTLT -footloose:FTLS:FTLS -footmarks:FTMR:FTMR -footnoted:FTNT:FTNT -footnotes:FTNT:FTNT -footpaths:FTP0:FTPT -footplate:FTPL:FTPL -footprint:FTPR:FTPR -footrests:FTRS:FTRS -footropes:FTRP:FTRP -footslogs:FTSL:FTSL -footstalk:FTST:FTST -footstall:FTST:FTST -footsteps:FTST:FTST -footstool:FTST:FTST -footwalls:FTLS:FTLS -footweary:FTR:FTR -fopperies:FPRS:FPRS -foppishly:FPXL:FPXL -foraminal:FRMN:FRMN -forasmuch:FRSM:FRSM -forbearer:FRPR:FRPR -forbidden:FRPT:FRPT -forbidder:FRPT:FRPT -forceable:FRSP:FRSP -forceless:FRSL:FRSL -forcemeat:FRSM:FRSM -forcepses:FRSP:FRSP -forcingly:FRSN:FRSN -forcipate:FRSP:FRSP -forearmed:FRRM:FRRM -forebears:FRPR:FRPR -foreboded:FRPT:FRPT -foreboder:FRPT:FRPT -forebodes:FRPT:FRPT -forebrain:FRPR:FRPR -forecasts:FRKS:FRKS -foreclose:FRKL:FRKL -forecourt:FRKR:FRKR -foredooms:FRTM:FRTM -forefront:FRFR:FRFR -foregoers:FRKR:FRKR -foregoing:FRKN:FRKN -forehands:FRHN:FRHN -foreheads:FRHT:FRHT -forehocks:FRHK:FRHK -foreigner:FRNR:FRKN -foreignly:FRNL:FRKN -forejudge:FRJJ:FRJJ -foreknown:FRKN:FRKN -foreknows:FRKN:FRKN -forelands:FRLN:FRLN -forelimbs:FRLM:FRLM -forelocks:FRLK:FRLK -foremasts:FRMS:FRMS -forenamed:FRNM:FRNM -forenames:FRNM:FRNM -forenoons:FRNN:FRNN -forensics:FRNS:FRNS -foreparts:FRPR:FRPR -forereach:FRRK:FRRK -foresails:FRSL:FRSL -foreseers:FRSR:FRSR -foreseing:FRSN:FRSN -foreshank:FRXN:FRXN -foresheet:FRXT:FRXT -foreshock:FRXK:FRXK -foreshore:FRXR:FRXR -foresight:FRST:FRST -foreskins:FRSK:FRSK -forestall:FRST:FRST -forestays:FRST:FRST -foresters:FRST:FRST -foreswear:FRSR:FRSR -foreswore:FRSR:FRSR -foresworn:FRSR:FRSR -foretaste:FRTS:FRTS -foreteeth:FRT0:FRTT -foretells:FRTL:FRTL -foretoken:FRTK:FRTK -foretooth:FRT0:FRTT -forewarns:FRRN:FRRN -forewinds:FRNT:FRNT -forewings:FRNK:FRNK -forewoman:FRMN:FRMN -forewomen:FRMN:FRMN -forewords:FRRT:FRRT -foreyards:FRRT:FRRT -forfeited:FRFT:FRFT -forfeiter:FRFT:FRFT -forfended:FRFN:FRFN -forficate:FRFK:FRFK -forgather:FRK0:FRKT -forgeable:FRJP:FRKP -forgeries:FRKR:FRJR -forgetful:FRKT:FRKT -forgetter:FRKT:FRKT -forgivers:FRJF:FRKF -forgiving:FRJF:FRKF -forgotten:FRKT:FRKT -forjudger:FRJJ:FRJJ -forklifts:FRKL:FRKL -forlornly:FRLR:FRLR -formalism:FRML:FRML -formalist:FRML:FRML -formality:FRML:FRML -formalize:FRML:FRML -formation:FRMX:FRMX -formative:FRMT:FRMT -formatted:FRMT:FRMT -formatter:FRMT:FRMT -formfeeds:FRMF:FRMF -formicary:FRMK:FRMK -formolize:FRML:FRML -formulaes:FRML:FRML -formulaic:FRML:FRML -formulary:FRML:FRML -formulate:FRML:FRML -formulism:FRML:FRML -formulist:FRML:FRML -fornicate:FRNK:FRNK -forrarder:FRRT:FRRT -forsakers:FRSK:FRSK -forsaking:FRSK:FRSK -forswears:FRSR:FRSR -forsythia:FRS0:FRST -fortalice:FRTL:FRTL -forthwith:FR00:FRTT -fortieths:FRT0:FRTT -fortified:FRTF:FRTF -fortifier:FRTF:FRTF -fortifies:FRTF:FRTF -fortitude:FRTT:FRTT -fortnight:FRTN:FRTN -fortuitus:FRTT:FRTT -fortunate:FRTN:FRTN -fortyfive:FRTF:FRTF -fortyfold:FRTF:FRTF -forwarded:FRRT:FRRT -forwarder:FRRT:FRRT -forwardly:FRRT:FRRT -fossettes:FSTS:FSTS -fossicked:FSKT:FSKT -fossicker:FSKR:FSKR -fossilize:FSLS:FSLS -fossorial:FSRL:FSRL -fossulate:FSLT:FSLT -fosterage:FSTR:FSTR -fosterers:FSTR:FSTR -fostering:FSTR:FSTR -foulbrood:FLPR:FLPR -foulmouth:FLM0:FLMT -foundered:FNTR:FNTR -foundling:FNTL:FNTL -foundress:FNTR:FNTR -foundries:FNTR:FNTR -fountains:FNTN:FNTN -fourpenny:FRPN:FRPN -fourscore:FRSK:FRSK -foursided:FRST:FRST -foursomes:FRSM:FRSM -fourteens:FRTN:FRTN -foveation:FFXN:FFXN -foveiform:FFFR:FFFR -foveolaes:FFLS:FFLS -foveolate:FFLT:FFLT -foxgloves:FKSK:FKSK -foxhounds:FKSN:FKSN -fractions:FRKX:FRKX -fractious:FRKT:FRKT -fractural:FRKT:FRKT -fractured:FRKT:FRKT -fractures:FRKT:FRKT -fraggings:FRJN:FRKN -fragilely:FRJL:FRKL -fragility:FRJL:FRKL -fragments:FRKM:FRKM -fragrance:FRKR:FRKR -fragrancy:FRKR:FRKR -frailness:FRLN:FRLN -frailties:FRLT:FRLT -frambesia:FRMP:FRMP -frameable:FRMP:FRMP -frameless:FRML:FRML -framework:FRMR:FRMR -franchise:FRNX:FRNK -francisco:FRNS:FRNS -francolin:FRNK:FRNK -frangible:FRNJ:FRNK -frankable:FRNK:FRNK -frankfort:FRNK:FRNK -frankfurt:FRNK:FRNK -franklins:FRNK:FRNK -frankness:FRNK:FRNK -frantical:FRNT:FRNT -franticly:FRNT:FRNT -fratchier:FRX:FRXR -fraternal:FRTR:FRTR -fratriage:FRTR:FRTR -frauleins:FRLN:FRLN -frazzling:FRSL:FRSL -freakiest:FRKS:FRKS -freakouts:FRKT:FRKT -freckling:FRKL:FRKL -frederica:FRTR:FRTR -frederick:FRTR:FRTR -freeboard:FRPR:FRPR -freeboots:FRPT:FRPT -freeheart:FRHR:FRHR -freeholds:FRHL:FRHL -freelance:FRLN:FRLN -freeloads:FRLT:FRLT -freemason:FRMS:FRMS -freestand:FRST:FRST -freestone:FRST:FRST -freethink:FR0N:FRTN -freewheel:FRL:FRL -freezable:FRSP:FRSP -freighted:FRTT:FRTT -freighter:FRTR:FRTR -fremantle:FRMN:FRMN -frenchify:FRNX:FRNK -frenchman:FRNX:FRNK -frenchmen:FRNX:FRNK -frenzying:FRNS:FRNS -frequency:FRKN:FRKN -frequents:FRKN:FRKN -frescoers:FRSK:FRSK -frescoist:FRSK:FRSK -freshened:FRXN:FRXN -freshener:FRXN:FRXN -freshness:FRXN:FRXN -fretfully:FRTF:FRTF -freudians:FRTN:FRTN -fribblers:FRPL:FRPL -fribbling:FRPL:FRPL -fricassee:FRKS:FRKS -frication:FRKX:FRKX -fricative:FRKT:FRKT -frictions:FRKX:FRKX -friesians:FRSN:FRXN -friesland:FRSL:FRSL -frightens:FRTN:FRTN -frightful:FRTF:FRTF -frigidity:FRJT:FRKT -friskiest:FRSK:FRSK -frittered:FRTR:FRTR -fritterer:FRTR:FRTR -frivolity:FRFL:FRFL -frivolled:FRFL:FRFL -frivoller:FRFL:FRFL -frivolous:FRFL:FRFL -frizziest:FRSS:FRTS -frizzling:FRSL:FRSL -froehlich:FRLX:FRLK -frogmarch:FRKM:FRKM -frogspawn:FRKS:FRKS -frolicked:FRLK:FRLK -frolicker:FRLK:FRLK -frondless:FRNT:FRNT -frontager:FRNT:FRNT -frontages:FRNT:FRNT -frontalis:FRNT:FRNT -frontally:FRNT:FRNT -frontiers:FRNT:FRNT -frontless:FRNT:FRNT -frontlets:FRNT:FRNT -frontward:FRNT:FRNT -frostbite:FRST:FRST -frostiest:FRST:FRST -frostings:FRST:FRST -frostlike:FRST:FRST -frostwork:FRST:FRST -frothiest:FR0S:FRTS -froufrous:FRFR:FRFR -frowsiest:FRSS:FRSS -frowstier:FRST:FRST -frowziest:FRSS:FRTS -fructosan:FRKT:FRKT -fructuary:FRKT:FRKT -fructuous:FRKT:FRKT -frugality:FRKL:FRKL -fruitcake:FRTK:FRTK -fruiterer:FRTR:FRTR -fruitiest:FRTS:FRTS -fruitions:FRXN:FRXN -fruitless:FRTL:FRTL -fruitlike:FRTL:FRTL -frumpiest:FRMP:FRMP -frustrate:FRST:FRST -frustules:FRST:FRST -fruticose:FRTK:FRTK -fugacious:FKSS:FKXS -fugitives:FJTF:FKTF -fuguelike:FKLK:FKLK -fulfilled:FLFL:FLFL -fulfiller:FLFL:FLFL -fulgently:FLJN:FLKN -fulgurant:FLKR:FLKR -fulgurate:FLKR:FLKR -fulgurite:FLKR:FLKR -fullbacks:FLPK:FLPK -fullering:FLRN:FLRN -fullgrown:FLKR:FLKR -fullmouth:FLM0:FLMT -fulminant:FLMN:FLMN -fulminate:FLMN:FLMN -fulsomely:FLSM:FLSM -fumaroles:FMRL:FMRL -fumarolic:FMRL:FMRL -fumatoria:FMTR:FMTR -fumigacin:FMKS:FMKS -fumigants:FMKN:FMKN -fumigated:FMKT:FMKT -fumigates:FMKT:FMKT -fumigator:FMKT:FMKT -functions:FNKX:FNKX -fundament:FNTM:FNTM -fungating:FNKT:FNKT -fungicide:FNJS:FNKS -fungiform:FNJF:FNKF -fungistat:FNJS:FNKS -fungoides:FNKT:FNKT -fungosity:FNKS:FNKS -funicular:FNKL:FNKL -funiculus:FNKL:FNKL -funneling:FNLN:FNLN -funniness:FNNS:FNNS -furbelows:FRPL:FRPL -furbished:FRPX:FRPX -furbisher:FRPX:FRPX -furbishes:FRPX:FRPX -furcating:FRKT:FRKT -furcation:FRKX:FRKX -furiouser:FRSR:FRSR -furiously:FRSL:FRSL -furloughs:FRLF:FRLF -furnished:FRNX:FRNX -furnisher:FRNX:FRNX -furnishes:FRNX:FRNX -furniture:FRNT:FRNT -furriness:FRNS:FRNS -furrowers:FRRS:FRRS -furrowing:FRNK:FRNK -fursemide:FRSM:FRSM -furthered:FR0R:FRTR -furtherer:FR0R:FRTR -furtively:FRTF:FRTF -furuncles:FRNK:FRNK -furunculi:FRNK:FRNK -fuselages:FSLJ:FSLK -fusiliers:FSLR:FSLR -fusillade:FSLT:FSLT -fusionism:FSNS:FXNS -fusionist:FSNS:FXNS -fussiness:FSNS:FSNS -fustiness:FSTN:FSTN -futurists:FTRS:FTRS -fuzziness:FSNS:FTSN -fuzzyness:FSNS:FSNS -gabardine:KPRT:KPRT -gabbiness:KPNS:KPNS -gaberdine:KPRT:KPRT -gabionade:KPNT:KPNT -gadabouts:KTPT:KTPT -gadgeteer:KJTR:KJTR -gadgeters:KJTR:KJTR -gadolinic:KTLN:KTLN -gadrooned:KTRN:KTRN -gaffsails:KFSL:KFSL -gainfully:KNFL:KNFL -gainsayer:KNSR:KNSR -galactose:KLKT:KLKT -galangale:KLNK:KLNK -galangals:KLNK:KLNK -galantine:KLNT:KLNT -galatians:KLXN:KLXN -galavants:KLFN:KLFN -galeiform:KLFR:KLFR -galenical:KLNK:KLNK -galingale:KLNK:KLNK -galivants:KLFN:KLFN -gallamine:KLMN:KLMN -gallantly:KLNT:KLNT -gallantry:KLNT:KLNT -gallerias:KLRS:KLRS -galleried:KLRT:KLRT -galleries:KLRS:KLRS -gallflies:KLFL:KLFL -gallicise:KLSS:KLSS -gallicism:KLSS:KLSS -gallinule:KLNL:KLNL -gallivant:KLFN:KLFN -galliwasp:KLSP:KLSP -gallonage:KLNJ:KLNK -gallooned:KLNT:KLNT -gallopers:KLPR:KLPR -galloping:KLPN:KLPN -gallowses:KLSS:KLSS -gallstone:KLST:KLST -galumphed:KLMF:KLMF -galvanism:KLFN:KLFN -galvanize:KLFN:KLFN -gamahuche:KMHX:KMHK -gambadoes:KMPT:KMPT -gambesons:KMPS:KMPS -gambogian:KMPJ:KMPK -gamboling:KMPL:KMPL -gambolled:KMPL:KMPL -gamecocks:KMKK:KMKK -gamesters:KMST:KMST -gametical:KMTK:KMTK -gammacism:KMSS:KMSS -gammadion:KMTN:KMTN -gammoners:KMNR:KMNR -gammoning:KMNN:KMNN -ganancial:KNNS:KNNX -gangbangs:KNKP:KNKP -gangliate:KNKL:KNLT -ganglioma:KNKL:KNLM -ganglions:KNKL:KNLN -gangplank:KNKP:KNKP -gangrened:KNKR:KNKR -gangsters:KNKS:KNKS -gannister:KNST:KNST -gantlines:KNTL:KNTL -garbanzos:KRPN:KRPN -garboards:KRPR:KRPR -gardeners:KRTN:KRTN -gardenias:KRTN:KRTN -gardening:KRTN:KRTN -garfishes:KRFX:KRFX -gargantua:KRKN:KRKN -gargoyled:KRKL:KRKL -gargoyles:KRKL:KRKL -garibaldi:KRPL:KRPL -garlanded:KRLN:KRLN -garnering:KRNR:KRNR -garnished:KRNX:KRNX -garnishee:KRNX:KRNX -garnisher:KRNX:KRNX -garnishes:KRNX:KRNX -garniture:KRNT:KRNT -garotters:KRTR:KRTR -garotting:KRTN:KRTN -garrisons:KRSN:KRSN -garroters:KRTR:KRTR -garroting:KRTN:KRTN -garrotted:KRTT:KRTT -garrotter:KRTR:KRTR -garrulity:KRLT:KRLT -garrulous:KRLS:KRLS -garryowen:KRN:KRN -gartering:KRTR:KRTR -gasconade:KSKN:KSKN -gaseliers:KSLR:KSLR -gaseously:KSSL:KSSL -gasholder:KXLT:KXLT -gasifiers:KSFR:KSFR -gasifying:KSFN:KSFN -gaslights:KSLT:KSLT -gasoliers:KSLR:KSLR -gasolines:KSLN:KSLN -gasolinic:KSLN:KSLN -gasometry:KSMT:KSMT -gaspingly:KSPN:KSPN -gasserian:KSRN:KSRN -gassiness:KSNS:KSNS -gastritic:KSTR:KSTR -gastritis:KSTR:KSTR -gastropod:KSTR:KSTR -gastrulae:KSTR:KSTR -gastrular:KSTR:KSTR -gastrulas:KSTR:KSTR -gatecrash:KTKR:KTKR -gatefolds:KTFL:KTFL -gatehouse:KTHS:KTHS -gateposts:KTPS:KTPS -gatherers:K0RR:KTRR -gathering:K0RN:KTRN -gaucherie:KXR:KKR -gauderies:KTRS:KTRS -gaudiness:KTNS:KTNS -gauffered:KFRT:KFRT -gaugeable:KJPL:KKPL -gaugeably:KJPL:KKPL -gauntlets:KNTL:KNTL -gauntness:KNTN:KNTN -gauntries:KNTR:KNTR -gauziness:KSNS:KSNS -gavelkind:KFLK:KFLK -gawkiness:KKNS:KKNS -gawkishly:KKXL:KKXL -gazehound:KSHN:KSHN -gazetteer:KSTR:KSTR -gazetting:KSTN:KSTN -gazumpers:KSMP:KSMP -gazumping:KSMP:KSMP -gearboxes:JRPK:KRPK -gearshift:JRXF:KRXF -gearwheel:JRL:KRL -geepounds:JPNT:KPNT -gehlenite:JLNT:KLNT -gelatines:KLTN:JLTN -gelididty:KLTT:JLTT -gelidness:KLTN:JLTN -gelignite:KLNT:JLKN -gelsemine:KLSM:JLSM -gelsemium:KLSM:JLSM -gemfishes:JMFX:KMFX -geminated:JMNT:KMNT -geminates:JMNT:KMNT -gemmation:JMXN:KMXN -gemmative:JMTF:KMTF -gemmulate:JMLT:KMLT -gemsbucks:JMSP:KMSP -gemstones:JMST:KMST -gemutlich:JMTL:KMTL -gendarmes:JNTR:KNTR -gendering:JNTR:KNTR -genealogy:JNLJ:KNLK -generales:JNRL:KNRL -generalis:JNRL:KNRL -generally:JNRL:KNRL -generated:JNRT:KNRT -generater:JNRT:KNRT -generates:JNRT:KNRT -generator:JNRT:KNRT -generical:JNRK:KNRK -genetical:JNTK:KNTK -geniality:JNLT:KNLT -genically:JNKL:KNKL -geniculum:JNKL:KNKL -genitalia:JNTL:KNTL -genitalic:JNTL:KNTL -genitival:JNTF:KNTF -genitives:JNTF:KNTF -genocidal:JNST:KNST -genocides:JNST:KNST -genotypes:JNTP:KNTP -genotypic:JNTP:KNTP -genteelly:JNTL:KNTL -gentility:JNTL:KNTL -gentleman:JNTL:KNTL -gentlemen:JNTL:KNTL -genuflect:JNFL:KNFL -genuinely:JNNL:KNNL -geodesics:JTSK:KTSK -geodesist:JTSS:KTSS -geodetics:JTTK:KTTK -geography:JKRF:KKRF -geologers:JLKR:KLJR -geologies:JLJS:KLKS -geologist:JLJS:KLKS -geologize:JLJS:KLKS -geomancer:JMNS:KMNS -geomantic:JMNT:KMNT -geometric:JMTR:KMTR -geometrid:JMTR:KMTR -geophagia:JFJ:KFK -geophilus:JFLS:KFLS -geophytes:JFTS:KFTS -geophytic:JFTK:KFTK -geoponics:JPNK:KPNK -georgette:JRKT:KRKT -georgians:JRJN:KRKN -geosphere:JSFR:KSFR -geostatic:JSTT:KSTT -geotactic:JTKT:KTKT -geotaxies:JTKS:KTKS -geotropic:JTRP:KTRP -geraldton:KRLT:JRLT -geraniums:KRNM:JRNM -gerbilles:KRPL:JRPL -gerfalcon:KRFL:JRFL -geriatric:KRTR:JRTR -germander:KRMN:JRMN -germanely:KRMN:JRMN -germanies:KRMN:JRMN -germanite:KRMN:JRMN -germanium:KRMN:JRMN -germanize:KRMN:JRMN -germanous:KRMN:JRMN -germfrees:KRMF:JRMF -germicide:KRMS:JRMS -germinant:KRMN:JRMN -germinate:KRMN:JRMN -germinoma:KRMN:JRMN -germproof:KRMP:JRMP -geroderma:KRTR:JRTR -gerrymand:KRMN:JRMN -gerundial:KRNT:JRNT -gerundive:KRNT:JRNT -gestalten:KSTL:JSTL -gestating:KSTT:JSTT -gestation:KSTX:JSTX -gestative:KSTT:JSTT -gestatory:KSTT:JSTT -gesturers:KSTR:JSTR -gesturing:KSTR:JSTR -getatable:KTTP:KTTP -gettysbur:KTSP:KTSP -geyserite:KSRT:JSRT -ghanaians:KNNS:KNNS -ghastlier:KSTL:KSTL -ghettoize:KTS:KTS -ghostlier:KSTL:KSTL -ghostlike:KSTL:KSTL -ghostview:KSTF:KSTF -giantlike:JNTL:KNTL -gibbering:KPRN:JPRN -gibberish:KPRX:JPRX -gibbeting:KPTN:JPTN -gibbosity:KPST:JPST -gibbously:KPSL:JPSL -gibbsites:KPST:JPST -gibraltar:KPRL:JPRL -giddiness:JTNS:KTNS -giftwraps:JFTR:KFTR -gigabytes:JKPT:KKPT -gigahertz:JKHR:KKHR -gigantism:JKNT:KKNT -giltheads:KL0T:JLTT -gimballed:JMPL:KMPL -gimbernat:JMPR:KMPR -gimcracks:JMKR:KMKR -gimleting:JMLT:KMLT -gimmickry:JMKR:KMKR -gingerade:KNKR:JNJR -gingering:KNKR:JNJR -gingerish:KNKR:JNJR -ginglymus:KNKL:JNKL -gipsyhood:JPSH:KPSH -gipsylike:JPSL:KPSL -gipsywort:JPSR:KPSR -girandola:JRNT:KRNT -girandole:JRNT:KRNT -girlishly:JRLX:KRLX -girosoles:JRSL:KRSL -gitogenin:JTJN:KTKN -gittarone:JTRN:KTRN -giveaways:JFS:KFS -glabellae:KLPL:KLPL -glabellar:KLPL:KLPL -glacially:KLSL:KLXL -glaciated:KLST:KLXT -glaciates:KLST:KLXT -glaciered:KLSR:KLXR -gladdened:KLTN:KLTN -gladdener:KLTN:KLTN -gladelike:KLTL:KLTL -gladiator:KLTT:KLTT -gladiolus:KLTL:KLTL -gladstone:KLTS:KLTS -glaireous:KLRS:KLRS -glairiest:KLRS:KLRS -glamoring:KLMR:KLMR -glamorize:KLMR:KLMR -glamorous:KLMR:KLMR -glandered:KLNT:KLNT -glandlike:KLNT:KLNT -glandulae:KLNT:KLNT -glandular:KLNT:KLNT -glandules:KLNT:KLNT -glareless:KLRL:KLRL -glaringly:KLRN:KLRN -glaserian:KLSR:KLSR -glassblow:KLSP:KLSP -glassfuls:KLSF:KLSF -glassiest:KLSS:KLSS -glassless:KLSL:KLSL -glasslike:KLSL:KLSL -glassware:KLSR:KLSR -glasswork:KLSR:KLSR -glasswort:KLSR:KLSR -gleamiest:KLMS:KLMS -gleamless:KLML:KLML -gleanable:KLNP:KLNP -gleanings:KLNN:KLNN -gleefully:KLFL:KLFL -gleetiest:KLTS:KLTS -glengarry:KLNK:KLNK -glenoidal:KLNT:KLNT -glidingly:KLTN:LTNK -glimmered:KLMR:LMRT -glimpsers:KLMP:LMPS -glimpsing:KLMP:LMPS -gliotoxin:KLTK:LTKS -glissaded:KLST:LSTT -glissader:KLST:LSTR -glissades:KLST:LSTS -glissandi:KLSN:LSNT -glissando:KLSN:LSNT -glistened:KLST:LSTN -glittered:KLTR:LTRT -glitziest:KLTS:LTSS -globalism:KLPL:KLPL -globalist:KLPL:KLPL -globalize:KLPL:KLPL -globefish:KLPF:KLPF -globelike:KLPL:KLPL -globidium:KLPT:KLPT -globosely:KLPS:KLPS -globosity:KLPS:KLPS -globulins:KLPL:KLPL -globulous:KLPL:KLPL -glochidia:KLXT:KLKT -glomerate:KLMR:KLMR -glomerule:KLMR:KLMR -glomeruli:KLMR:KLMR -gloomiest:KLMS:KLMS -gloomless:KLML:KLML -glorified:KLRF:KLRF -glorifier:KLRF:KLRF -glorifies:KLRF:KLRF -gloriosas:KLRS:KLRS -glossator:KLST:KLST -glossemes:KLSM:KLSM -glossiest:KLSS:KLSS -glossists:KLSS:KLSS -glossitic:KLST:KLST -glossitis:KLST:KLST -glossless:KLSL:KLSL -glottides:KLTT:KLTT -glottidis:KLTT:KLTT -glottises:KLTS:KLTS -gloveless:KLFL:KLFL -glovelike:KLFL:KLFL -glowering:KLRN:KLRN -glowingly:KLNK:KLNK -glowworms:KLRM:KLRM -glozingly:KLSN:KLSN -glucagons:KLKK:KLKK -glucinium:KLSN:KLSN -glucoside:KLKS:KLKS -glucosone:KLKS:KLKS -glumelike:KLML:KLML -glutamate:KLTM:KLTM -glutamine:KLTM:KLTM -glutelins:KLTL:KLTL -glutenous:KLTN:KLTN -glutinous:KLTN:KLTN -glycaemia:KLKM:KLKM -glycerate:KLSR:KLSR -glyceride:KLSR:KLSR -glycerine:KLSR:KLSR -glycerite:KLSR:KLSR -glycerose:KLSR:KLSR -glycocoll:KLKK:KLKK -glycolate:KLKL:KLKL -glycollic:KLKL:KLKL -glycoside:KLKS:KLKS -glyoxylic:KLKS:KLKS -glyptodon:KLPT:KLPT -gnathites:N0TS:NTTS -gnathonic:N0NK:NTNK -gnawingly:NNKL:NNKL -gneissoid:NST:NST -gneissose:NSS:NSS -gnomelike:NMLK:NMLK -gnostical:NSTK:NSTK -goalmouth:KLM0:KLMT -goalposts:KLPS:KLPS -goatherds:K0RT:KTRT -goatishly:KTXL:KTXL -goatskins:KTSK:KTSK -goddaught:KTT:KTT -goddesses:KTSS:KTSS -godfather:KTF0:KTFT -godlessly:KTLS:KTLS -godliness:KTLN:KTLN -godmother:KTM0:KTMT -godparent:KTPR:KTPR -godrooned:KTRN:KTRN -goethites:K0TS:KTTS -goffering:KFRN:KFRN -gogetters:KKTR:KKTR -gogglebox:KKLP:KKLP -goitrogen:KTRJ:KTRK -goldbrick:KLTP:KLTP -goldcrest:KLTK:KLTK -goldeneye:KLTN:KLTN -goldenrod:KLTN:KLTN -goldfield:KLTF:KLTF -goldfinch:KLTF:KLTF -goldfinny:KLTF:KLTF -goldsinny:KLTS:KLTS -goldsmith:KLTS:KLTS -goldstone:KLTS:KLTS -goliardic:KLRT:KLRT -goliathes:KL0S:KLTS -gollepers:KLPR:KLPR -golliwogs:KLKS:KLKS -golloping:KLPN:KLPN -gomphoses:KMFS:KMFS -gomphosis:KMFS:KMFS -gondolier:KNTL:KNTL -gonfalons:KNFL:KNFL -gonfanons:KNFN:KNFN -gongorism:KNKR:KNKR -gongorist:KNKR:KNKR -goniatite:KNTT:KNTT -gonococci:KNKX:KNKX -gonocytes:KNST:KNST -gonophore:KNFR:KNFR -gonopores:KNPR:KNPR -gonorrhea:KNR:KNR -gonyaulax:KNLK:KNLK -goodliest:KTLS:KTLS -goodnight:KTNT:KTNT -goofballs:KFPL:KFPL -goofiness:KFNS:KFNS -goosander:KSNT:KSNT -goosefoot:KSFT:KSFT -gooseneck:KSNK:KSNK -goosestep:KSST:KSST -goosiness:KSNS:KSNS -gophering:KFRN:KFRN -gorbachev:KRPX:KRPK -gorblimey:KRPL:KRPL -gorgeable:KRJP:KRKP -gorgoneia:KRKN:KRKN -gorgonian:KRKN:KRKN -gorgonise:KRKN:KRKN -gospelers:KSPL:KSPL -gospeller:KSPL:KSPL -gossamers:KSMR:KSMR -gossamery:KSMR:KSMR -gossipers:KSPR:KSPR -gossiping:KSPN:KSPN -gossypium:KSPM:KSPM -gothicism:K0SS:KTSS -gothicist:K0SS:KTSS -gothicize:K0SS:KTSS -goulashes:KLXS:KLXS -gourdlike:KRTL:KRTL -gourmands:KRMN:KRMN -goutiness:KTNS:KTNS -governess:KFRN:KFRN -governing:KFRN:KFRN -governors:KFRN:KFRN -grabbiest:KRPS:KRPS -grabbings:KRPN:KRPN -grabblers:KRPL:KRPL -grabbling:KRPL:KRPL -graceless:KRSL:KRSL -graciasos:KRSS:KRXS -gracility:KRSL:KRSL -gradating:KRTT:KRTT -gradation:KRTX:KRTX -gradients:KRTN:KRTN -gradually:KRTL:KRTL -graduands:KRTN:KRTN -graduated:KRTT:KRTT -graduates:KRTT:KRTT -graduator:KRTT:KRTT -graftings:KRFT:KRFT -grainiest:KRNS:KRNS -grainless:KRNL:KRNL -grallochs:KRLK:KRLK -grampuses:KRMP:KRMP -granaries:KRNR:KRNR -grandames:KRNT:KRNT -grandaunt:KRNT:KRNT -grandbaby:KRNT:KRNT -granddads:KRNT:KRNT -grandeurs:KRNT:KRNT -grandiose:KRNT:KRNT -grandioso:KRNT:KRNT -grandness:KRNT:KRNT -grandsire:KRNT:KRNT -grandsons:KRNT:KRNT -graniform:KRNF:KRNF -granitite:KRNT:KRNT -granitoid:KRNT:KRNT -granolith:KRNL:KRNL -grantable:KRNT:KRNT -grantsman:KRNT:KRNT -grantsmen:KRNT:KRNT -granulate:KRNL:KRNL -granulite:KRNL:KRNL -granuloma:KRNL:KRNL -granulosa:KRNL:KRNL -granulose:KRNL:KRNL -granulous:KRNL:KRNL -grapeless:KRPL:KRPL -grapelike:KRPL:KRPL -grapeshot:KRPX:KRPX -grapevine:KRPF:KRPF -graphemes:KRFM:KRFM -graphical:KRFK:KRFK -graphicly:KRFK:KRFK -graphitic:KRFT:KRFT -grapplers:KRPL:KRPL -grappling:KRPL:KRPL -graspable:KRSP:KRSP -grassfire:KRSF:KRSF -grasshook:KRSK:KRSK -grassiest:KRSS:KRSS -grassland:KRSL:KRSL -grassless:KRSL:KRSL -grasslike:KRSL:KRSL -grassplot:KRSP:KRSP -grassquit:KRSK:KRSK -graticule:KRTK:KRTK -gratified:KRTF:KRTF -gratifier:KRTF:KRTF -gratifies:KRTF:KRTF -gratingly:KRTN:KRTN -gratitude:KRTT:KRTT -gratulate:KRTL:KRTL -gravamens:KRFM:KRFM -gravamina:KRFM:KRFM -graveless:KRFL:KRFL -graveling:KRFL:KRFL -gravelish:KRFL:KRFL -graveness:KRFN:KRFN -graveyard:KRFR:KRFR -gravidaes:KRFT:KRFT -gravidity:KRFT:KRFT -gravitate:KRFT:KRFT -gravities:KRFT:KRFT -gravitons:KRFT:KRFT -graybeard:KRPR:KRPR -graylings:KRLN:KRLN -grazingly:KRSN:KRSN -greasiest:KRSS:KRSS -greatcoat:KRTK:KRTK -greatness:KRTN:KRTN -greediest:KRTS:KRTS -greedless:KRTL:KRTL -greegrees:KRKR:KRKR -greenback:KRNP:KRNP -greenbelt:KRNP:KRNP -greengage:KRNK:KRNK -greenhead:KRNT:KRNT -greenhorn:KRNR:KRNR -greenland:KRNL:KRNL -greenleaf:KRNL:KRNL -greenlets:KRNL:KRNL -greenling:KRNL:KRNL -greenness:KRNS:KRNS -greenroom:KRNR:KRNR -greensand:KRNS:KRNS -greensick:KRNS:KRNS -greensome:KRNS:KRNS -greentree:KRNT:KRNT -greenware:KRNR:KRNR -greenwich:KRNX:KRNK -greenwood:KRNT:KRNT -greetings:KRTN:KRTN -gregaloid:KRKL:KRKL -gregarina:KRKR:KRKR -gregarine:KRKR:KRKR -gregorian:KRKR:KRKR -grenadier:KRNT:KRNT -grenadine:KRNT:KRNT -grevillea:KRFL:KRFL -greybacks:KRPK:KRPK -greybeard:KRPR:KRPR -greyhound:KRHN:KRHN -greywacke:KRK:KRK -griddling:KRTL:KRTL -gridirons:KRTR:KRTR -griefless:KRFL:KRFL -grievance:KRFN:KRFN -griffonne:KRFN:KRFN -grillroom:KRLR:KRLR -grillwork:KRLR:KRLR -grimacers:KRMS:KRMS -grimacier:KRMS:KRMX -grimacing:KRMS:KRMS -grimalkin:KRML:KRML -grimeness:KRMN:KRMN -griminess:KRMN:KRMN -grimoires:KRMR:KRMR -grindelia:KRNT:KRNT -grindings:KRNT:KRNT -gripingly:KRPN:KRPN -grippiest:KRPS:KRPS -grisaille:KRSL:KRSL -grisettes:KRST:KRST -grisliest:KRLS:KRLS -gristmill:KRST:KRST -grittiest:KRTS:KRTS -grittless:KRTL:KRTL -grivation:KRFX:KRFX -grizzlier:KRSL:KRSL -grizzlies:KRSL:KRSL -grizzling:KRSL:KRSL -groceries:KRSR:KRSR -groggiest:KRJS:KRKS -groomsman:KRMS:KRMS -groomsmen:KRMS:KRMS -grooviest:KRFS:KRFS -gropingly:KRPN:KRPN -grosbeaks:KRSP:KRSP -grosgrain:KRSK:KRSK -grossness:KRSN:KRSN -grotesque:KRTS:KRTS -grottiest:KRTS:KRTS -grouchier:KRX:KRKR -grouchily:KRXL:KRKL -grouching:KRXN:KRKN -groundage:KRNT:KRNT -grounders:KRNT:KRNT -groundhog:KRNT:KRNT -grounding:KRNT:KRNT -groundnut:KRNT:KRNT -groundsel:KRNT:KRNT -groupings:KRPN:KRPN -groutiest:KRTS:KRTS -grovelers:KRFL:KRFL -groveling:KRFL:KRFL -growingly:KRNK:KRNK -grubbiest:KRPS:KRPS -grubstake:KRPS:KRPS -gruelings:KRLN:KRLN -gruffness:KRFN:KRFN -grumblers:KRMP:KRMP -grumbling:KRMP:KRMP -grumpiest:KRMP:KRMP -grungiest:KRNJ:KRNK -gruppetti:KRPT:KRPT -gruppetto:KRPT:KRPT -guacamole:KKML:KKML -guacharos:KXRS:KKRS -guanidine:KNTN:KNTN -guanosine:KNSN:KNSN -guaranies:KRNS:KRNS -guarantee:KRNT:KRNT -guarantor:KRNT:KRNT -guardable:KRTP:KRTP -guardedly:KRTT:KRTT -guardians:KRTN:KRTN -guardless:KRTL:KRTL -guardlike:KRTL:KRTL -guardrail:KRTR:KRTR -guardroom:KRTR:KRTR -guardsman:KRTS:KRTS -guardsmen:KRTS:KRTS -guatemala:KTML:KTML -guerdoner:KRTN:KRTN -guerillas:KRLS:KRLS -guernseys:KRNS:KRNS -guerrilla:KRL:KRL -guessable:KSPL:KSPL -guesswork:KSRK:KSRK -guffawing:KFNK:KFNK -guidebook:KTPK:KTPK -guideless:KTLS:KTLS -guideline:KTLN:KTLN -guidepost:KTPS:KTPS -guildford:KLTF:KLTF -guildhall:KLTL:KLTL -guildries:KLTR:KLTR -guildsman:KLTS:KLTS -guildsmen:KLTS:KLTS -guileless:KLLS:KLLS -guillemot:KLMT:KLMT -guilloche:KLX:KLK -guiltiest:KLTS:KLTS -guiltless:KLTL:KLTL -guitarist:KTRS:KTRS -gulfweeds:KLFT:KLFT -gulpingly:KLPN:KLPN -gummatous:KMTS:KMTS -gumminess:KMNS:KMNS -gumshield:KMXL:KMXL -gunbarrel:KNPR:KNPR -guncotton:KNKT:KNKT -gunfights:KNFT:KNFT -gunnysack:KNSK:KNSK -gunpowder:KNPT:KNPT -gunrunner:KNRN:KNRN -gunsmiths:KNSM:KNSM -gunstocks:KNST:KNST -gushiness:KXNS:KXNS -gushingly:KXNK:KXNK -gusseting:KSTN:KSTN -gustation:KSTX:KSTX -gustative:KSTT:KSTT -gustatory:KSTT:KSTT -gustiness:KSTN:KSTN -gutenberg:KTNP:KTNP -guttation:KTXN:KTXN -guttering:KTRN:KTRN -gutturals:KTRL:KTRL -gymkhanas:KMKN:JMKN -gymnasium:KMNS:JMNS -gymnastic:KMNS:JMNS -gynaecoid:KNKT:JNKT -gynocracy:KNKR:JNKR -gynoecium:KNSM:JNSM -gynophore:KNFR:JNFR -gypsyhood:KPSH:JPSH -gyrations:KRXN:JRXN -gyrectomy:KRKT:JRKT -gyrfalcon:KRFL:JRFL -gyroplane:KRPL:JRPL -gyroscope:KRSK:JRSK -gyrospasm:KRSP:JRSP -habaneras:HPNR:HPNR -habenulae:HPNL:HPNL -haberdash:HPRT:HPRT -habergeon:HPRJ:HPRK -habitable:HPTP:HPTP -habitably:HPTP:HPTP -habitancy:HPTN:HPTN -habitants:HPTN:HPTN -habituate:HPTT:HPTT -habronema:HPRN:HPRN -hachuring:HKRN:HKRN -haciendas:HSNT:HXNT -hackamore:HKMR:HKMR -hackberry:HKPR:HKPR -hackneyed:HKNT:HKNT -hacksawed:HKST:HKST -hadrosaur:HTRS:HTRS -haecceity:HXT:HXT -haematein:HMTN:HMTN -haematite:HMTT:HMTT -haematoid:HMTT:HMTT -haematoma:HMTM:HMTM -haemocoel:HMKL:HMKL -haemocyte:HMST:HMST -haemostat:HMST:HMST -hagbuteer:HKPT:HKPT -hagbutter:HKPT:HKPT -hagfishes:HKFX:HKFX -haggadist:HKTS:HKTS -haggardly:HKRT:HKRT -haggishly:HJXL:HKXL -hagiarchy:HJRX:HKRK -hagiology:HJLJ:HKLK -hailstone:HLST:HLST -hailstorm:HLST:HLST -hairballs:HRPL:HRPL -hairbrush:HRPR:HRPR -haircloth:HRKL:HRKL -hairdress:HRTR:HRTR -hairdryer:HRTR:HRTR -hairgrips:HRKR:HRKR -hairiness:HRNS:HRNS -hairlines:HRLN:HRLN -hairpiece:HRPS:HRPS -hairstyle:HRST:HRST -hairtails:HRTL:HRTL -hairweave:HRF:HRF -hairworms:HRRM:HRRM -halalling:HLLN:HLLN -halcyonic:HLSN:HLSN -halfbacks:HLFP:HLFP -halfbeaks:HLFP:HLFP -halfpence:HLFP:HLFP -halfpenny:HLFP:HLFP -halftones:HLFT:HLFT -halitoses:HLTS:HLTS -halitosis:HLTS:HLTS -halliards:HLRT:HLRT -hallmarks:HLMR:HLMR -hallooing:HLNK:HLNK -halloween:HLN:HLN -hallowers:HLRS:HLRS -hallowing:HLNK:HLNK -halobiont:HLPN:HLPN -halogeton:HLKT:HLKT -halophile:HLFL:HLFL -halophyte:HLFT:HLFT -halothane:HL0N:HLTN -haltering:HLTR:HLTR -haltingly:HLTN:HLTN -hamadryad:HMTR:HMTR -hamadryas:HMTR:HMTR -hamamelis:HMML:HMML -hamartoma:HMRT:HMRT -hamburger:HMPR:HMPR -hammerers:HMRR:HMRR -hammering:HMRN:HMRN -hammertoe:HMRT:HMRT -hamperers:HMPR:HMPR -hampering:HMPR:HMPR -hampshire:HMPX:HMPX -hamstring:HMST:HMST -hamstrung:HMST:HMST -handballs:HNTP:HNTP -handbills:HNTP:HNTP -handbooks:HNTP:HNTP -handbrake:HNTP:HNTP -handcarts:HNTK:HNTK -handclasp:HNTK:HNTK -handcraft:HNTK:HNTK -handcuffs:HNTK:HNTK -handfeeds:HNTF:HNTF -handgrips:HNTK:HNTK -handholds:HNTL:HNTL -handicaps:HNTK:HNTK -handiness:HNTN:HNTN -handiwork:HNTR:HNTR -handlebar:HNTL:HNTL -handmaids:HNTM:HNTM -handovers:HNTF:HNTF -handpicks:HNTP:HNTP -handpiece:HNTP:HNTP -handrails:HNTR:HNTR -handseled:HNTS:HNTS -handshake:HNTX:HNTX -handsomer:HNTS:HNTS -handspike:HNTS:HNTS -handstand:HNTS:HNTS -handwheel:HNTL:HNTL -handwoven:HNTF:HNTF -handwrite:HNTR:HNTR -handwrote:HNTR:HNTR -hanepoots:HNPT:HNPT -hangnails:HNNL:HNKN -hangovers:HNKF:HNKF -hankering:HNKR:HNKR -hanseatic:HNST:HNST -hanseling:HNSL:HNSL -haphazard:HFSR:HFSR -haplessly:HPLS:HPLS -haplodont:HPLT:HPLT -haploidic:HPLT:HPLT -haplology:HPLL:HPLL -haplontic:HPLN:HPLN -haplotype:HPLT:HPLT -happening:HPNN:HPNN -happiness:HPNS:HPNS -hapterons:HPTR:HPTR -harangued:HRNK:HRNK -haranguer:HRNK:HRNK -harangues:HRNK:HRNK -harassers:HRSR:HRSR -harassing:HRSN:HRSN -harbinger:HRPN:HRPN -harborage:HRPR:HRPR -harborers:HRPR:HRPR -harboring:HRPR:HRPR -hardbacks:HRTP:HRTP -hardbakes:HRTP:HRTP -hardballs:HRTP:HRTP -hardboard:HRTP:HRTP -hardbound:HRTP:HRTP -hardcover:HRTK:HRTK -hardeners:HRTN:HRTN -hardening:HRTN:HRTN -hardheads:HRTT:HRTT -hardheart:HRTR:HRTR -hardihood:HRTH:HRTH -hardiness:HRTN:HRTN -hardliner:HRTL:HRTL -hardships:HRTX:HRTX -hardstand:HRTS:HRTS -hardtacks:HRTK:HRTK -hardwired:HRTR:HRTR -hardwoods:HRTT:HRTT -harebells:HRPL:HRPL -harebrain:HRPR:HRPR -harestail:HRST:HRST -harkeners:HRKN:HRKN -harkening:HRKN:HRKN -harlequin:HRLK:HRLK -harmaline:HRML:HRML -harmattan:HRMT:HRMT -harmfully:HRMF:HRMF -harmonica:HRMN:HRMN -harmonics:HRMN:HRMN -harmonies:HRMN:HRMN -harmonist:HRMN:HRMN -harmonium:HRMN:HRMN -harmonize:HRMN:HRMN -harmotome:HRMT:HRMT -harnessed:HRNS:HRNS -harnesser:HRNS:HRNS -harnesses:HRNS:HRNS -harpooned:HRPN:HRPN -harpooner:HRPN:HRPN -harquibus:HRKP:HRKP -harridans:HRTN:HRTN -harrisbur:HRSP:HRSP -harrovian:HRFN:HRFN -harrowers:HRRS:HRRS -harrowing:HRNK:HRNK -harshened:HRXN:HRXN -harshness:HRXN:HRXN -hartshorn:HRTX:HRTX -haruspicy:HRSP:HRSP -harvested:HRFS:HRFS -harvester:HRFS:HRFS -hasteners:HSTN:HSTN -hastening:HSTN:HSTN -hastiness:HSTN:HSTN -hatchable:HXPL:HXPL -hatchback:HXPK:HXPK -hatcheled:HXLT:HXLT -hatcheler:HXLR:HXLR -hatchling:HXLN:HXLN -hatchment:HXMN:HXMN -hatchways:HXS:HXS -hatefully:HTFL:HTFL -haughtier:HT:HTR -haughtily:HTL:HTL -hausepipe:HSPP:HSPP -haustella:HSTL:HSTL -haustoria:HSTR:HSTR -havelocks:HFLK:HFLK -havenless:HFNL:HFNL -haversack:HFRS:HFRS -haversian:HFRS:HFRX -haversine:HFRS:HFRS -havockers:HFKR:HFKR -havocking:HFKN:HFKN -hawaiians:HNS:HNS -hawkbills:HKPL:HKPL -hawksbill:HKSP:HKSP -hawkweeds:HKTS:HKTS -hawsehole:HSHL:HSHL -hawthorne:H0RN:HTRN -hawthorns:H0RN:HTRN -hayfields:HFLT:HFLT -haymakers:HMKR:HMKR -haymaking:HMKN:HMKN -haystacks:HSTK:HSTK -hazarding:HSRT:HSRT -hazardous:HSRT:HSRT -hazelhens:HSLN:HSLN -hazelnuts:HSLN:HSLN -headaches:HTXS:HTKS -headbands:HTPN:HTPN -headboard:HTPR:HTPR -headcases:HTKS:HTKS -headdress:HTRS:HTRS -headfirst:HTFR:HTFR -headiness:HTNS:HTNS -headlamps:HTLM:HTLM -headlands:HTLN:HTLN -headlight:HTLT:HTLT -headlined:HTLN:HTLN -headlines:HTLN:HTLN -headlocks:HTLK:HTLK -headphone:HTFN:HTFN -headpiece:HTPS:HTPS -headreach:HTRK:HTRK -headrests:HTRS:HTRS -headright:HTRT:HTRT -headscarf:HTSK:HTSK -headships:HTXP:HTXP -headspace:HTSP:HTSP -headstall:HTST:HTST -headstand:HTST:HTST -headstock:HTST:HTST -headstone:HTST:HTST -headwards:HTRT:HTRT -headwater:HTTR:HTTR -headwinds:HTNT:HTNT -headwords:HTRT:HTRT -healthful:HL0F:HLTF -healthier:HL0:HLTR -healthily:HL0L:HLTL -hearkened:HRKN:HRKN -heartache:HRTX:HRTK -heartbeat:HRTP:HRTP -heartburn:HRTP:HRTP -heartened:HRTN:HRTN -heartfelt:HRTF:HRTF -heartiest:HRTS:HRTS -heartland:HRTL:HRTL -heartless:HRTL:HRTL -heartrend:HRTR:HRTR -heartsick:HRTS:HRTS -heartsome:HRTS:HRTS -heartsore:HRTS:HRTS -heartwarm:HRTR:HRTR -heartwood:HRTT:HRTT -heartworm:HRTR:HRTR -heathenry:H0NR:HTNR -heathered:H0RT:HTRT -heathlike:H0LK:HTLK -heatproof:HTPR:HTPR -heaviness:HFNS:HFNS -heaviside:HFST:HFST -hebraists:HPRS:HPRS -hecatombs:HKTM:HKTM -hectogram:HKTK:HKTK -hectoring:HKTR:HKTR -hedgebote:HJPT:HJPT -hedgehogs:HJHK:HJHK -hedgehops:HJHP:HJHP -hedgerows:HJRS:HJRS -hedonists:HTNS:HTNS -heedfully:HTFL:HTFL -heelballs:HLPL:HLPL -heelpiece:HLPS:HLPS -heelposts:HLPS:HLPS -heftiness:HFTN:HFTN -hegemonic:HJMN:HKMN -hegumenos:HKMN:HKMN -heidelber:HTLP:HTLP -heightens:HTNS:HTNS -heinously:HNSL:HNSL -heiresses:HRSS:HRSS -heirlooms:HRLM:HRLM -helically:HLKL:HLKL -helicline:HLKL:HLKL -helidecks:HLTK:HLTK -heliogram:HLKR:HLKR -heliostat:HLST:HLST -heliotype:HLTP:HLTP -heliotypy:HLTP:HLTP -heliozoan:HLSN:HLSN -heliozoic:HLSK:HLSK -heliports:HLPR:HLPR -hellboxes:HLPK:HLPK -hellebore:HLPR:HLPR -hellenise:HLNS:HLNS -hellenism:HLNS:HLNS -hellenist:HLNS:HLNS -hellholes:HLLS:HLLS -hellhound:HLNT:HLNT -hellishly:HLXL:HLXL -helloaing:HLNK:HLNK -helminths:HLMN:HLMN -heloderma:HLTR:HLTR -helophyte:HLFT:HLFT -helpfully:HLPF:HLPF -helpmates:HLPM:HLPM -helpmeets:HLPM:HLPM -hematherm:HM0R:HMTR -hematinic:HMTN:HMTN -hematitic:HMTT:HMTT -hematomas:HMTM:HMTM -hematozoa:HMTS:HMTS -hematuria:HMTR:HMTR -hemelytra:HMLT:HMLT -hemialgia:HMLJ:HMLK -hemicycle:HMSK:HMSK -hemingway:HMNK:HMNK -hemiolias:HMLS:HMLS -hemiopsia:HMPS:HMPX -hemipodes:HMPT:HMPT -hemiptera:HMPT:HMPT -hemistich:HMST:HMST -hemitrope:HMTR:HMTR -hemitropy:HMTR:HMTR -hemoblast:HMPL:HMPL -hemoconia:HMKN:HMKN -hemokonia:HMKN:HMKN -hemolymph:HMLM:HMLM -hemolysin:HMLS:HMLS -hemolysis:HMLS:HMLS -hemolytic:HMLT:HMLT -hemolyzed:HMLS:HMLS -hemolyzes:HMLS:HMLS -hemometry:HMMT:HMMT -hemopathy:HMP0:HMPT -hemophage:HMFJ:HMFK -hemophile:HMFL:HMFL -hemostats:HMST:HMST -hemotoxin:HMTK:HMTK -hemstitch:HMST:HMST -hendiadys:HNTT:HNTT -henhouses:HNSS:HNSS -henneries:HNRS:HNRS -henpecked:HNPK:HNPK -hepaticas:HPTK:HPTK -hepatitis:HPTT:HPTT -hepatized:HPTS:HPTS -hepatizes:HPTS:HPTS -hepatomas:HPTM:HPTM -heptagons:HPTK:HPTK -heptarchy:HPTR:HPTR -heptulose:HPTL:HPTL -heralding:HRLT:HRLT -heraldist:HRLT:HRLT -herbalist:HRPL:HRPL -herbarial:HRPR:HRPR -herbarium:HRPR:HRPR -herbicide:HRPS:HRPS -herbivore:HRPF:HRPF -herculean:HRKL:HRKL -hereabout:HRPT:HRPT -hereafter:HRFT:HRFT -hereditas:HRTT:HRTT -herefords:HRFR:HRFR -heretical:HRTK:HRTK -hereunder:HRNT:HRNT -heritable:HRTP:HRTP -heritably:HRTP:HRTP -heritages:HRTJ:HRTK -hermitage:HRMT:HRMT -hermitian:HRMX:HRMX -herniated:HRNT:HRNT -herniates:HRNT:HRNT -heroinism:HRNS:HRNS -heroising:HRSN:HRSN -herophili:HRFL:HRFL -hesitance:HSTN:HSTN -hesitancy:HSTN:HSTN -hesitated:HSTT:HSTT -hesitater:HSTT:HSTT -hesitates:HSTT:HSTT -hesitator:HSTT:HSTT -hessonite:HSNT:HSNT -hetaeraes:HTRS:HTRS -hetaerism:HTRS:HTRS -hetaerist:HTRS:HTRS -hetairism:HTRS:HTRS -hetairist:HTRS:HTRS -heterakis:HTRK:HTRK -heterodox:HTRT:HTRT -heteronym:HTRN:HTRN -heteroses:HTRS:HTRS -heterosis:HTRS:HTRS -heterotic:HTRT:HTRT -heuristic:HRST:HRST -hexabiose:HKSP:HKSP -hexacanth:HKSK:HKSK -hexachord:HKSK:HKSK -hexagonal:HKSK:HKSK -hexagrams:HKSK:HKSK -hexahedra:HKSH:HKSH -hexameral:HKSM:HKSM -hexaploid:HKSP:HKSP -hexastyle:HKSS:HKSS -hexateuch:HKST:HKST -hexestrol:HKSS:HKSS -hexobiose:HKSP:HKSP -hexuronic:HKSR:HKSR -hibernate:HPRN:HPRN -hibernian:HPRN:HPRN -hiccuping:HKPN:HKPN -hiccupped:HKPT:HKPT -hickories:HKRS:HKRS -hiddenite:HTNT:HTNT -hideaways:HTS:HTS -hidebound:HTPN:HTPN -hideosity:HTST:HTST -hideously:HTSL:HTSL -hierarchy:HRRX:HRRK -hierogram:HRKR:HRKR -hierology:HRLJ:HRLK -hifalutin:HFLT:HFLT -highballs:HPLS:HPLS -highboard:HPRT:HPRT -highbrows:HPRS:HPRS -highchair:HXR:HKR -highlands:HLNT:HLNT -highlight:HLT:HLT -highroads:HRTS:HRTS -hightails:HTLS:HTLS -hijackers:HJKR:HJKR -hijacking:HJKN:HJKN -hilarious:HLRS:HLRS -hillbilly:HLPL:HLPL -hillforts:HLFR:HLFR -hilliness:HLNS:HLNS -hillocked:HLKT:HLKT -hillsides:HLST:HLST -himalayan:HMLN:HMLN -himalayas:HMLS:HMLS -hindbrain:HNTP:HNTP -hinderers:HNTR:HNTR -hindering:HNTR:HNTR -hindostan:HNTS:HNTS -hindrance:HNTR:HNTR -hindsight:HNTS:HNTS -hindustan:HNTS:HNTS -hingeless:HNJL:HNKL -hintingly:HNTN:HNTN -hippiedom:HPTM:HPTM -hippology:HPLJ:HPLK -hippurate:HPRT:HPRT -hirelings:HRLN:HRLN -hiroshima:HRXM:HRXM -hirselled:HRSL:HRSL -hirsuties:HRST:HRST -hirsutism:HRST:HRST -hirudinea:HRTN:HRTN -hispanics:HSPN:HSPN -hispidity:HSPT:HSPT -histamine:HSTM:HSTM -histidase:HSTT:HSTT -histidine:HSTT:HSTT -histocyte:HSTS:HSTS -histogens:HSTJ:HSTK -histogeny:HSTJ:HSTK -histogram:HSTK:HSTK -histology:HSTL:HSTL -historian:HSTR:HSTR -histories:HSTR:HSTR -histozoic:HSTS:HSTS -hitchcock:HXKK:HXKK -hitchhike:HXK:HXK -hitlerism:HTLR:HTLR -hitlerite:HTLR:HTLR -hoardings:HRTN:HRTN -hoarfrost:HRFR:HRFR -hoarhound:HRNT:HRNT -hoariness:HRNS:HRNS -hoarsened:HRSN:HRSN -hobbesian:HPSN:HPXN -hobbyists:HPST:HPST -hobdaying:HPTN:HPTN -hobgoblin:HPKP:HPKP -hobnailed:HPNL:HPNL -hobnobbed:HPNP:HPNP -hockshops:HKXP:HKXP -hocussing:HKSN:HKSN -hodiernal:HTRN:HTRN -hodograph:HTKR:HTKR -hodoscope:HTSK:HTSK -hogfishes:HKFX:HKFX -hoggishly:HJXL:HKXL -hogsheads:HKXT:HKXT -holandric:HLNT:HLNT -holarctic:HLRK:HLRK -holdovers:HLTF:HLTF -holeproof:HLPR:HLPR -hollander:HLNT:HLNT -hollering:HLRN:HLRN -hollowest:HLST:HLST -hollowing:HLNK:HLNK -hollyhock:HLHK:HLHK -hollywood:HLT:HLT -holocaust:HLKS:HLKS -holocrine:HLKR:HLKR -holograms:HLKR:HLKR -holograph:HLKR:HLKR -hologynic:HLJN:HLKN -holophyte:HLFT:HLFT -holotypic:HLTP:HLTP -holsteins:HLST:HLST -holstered:HLST:HLST -holystone:HLST:HLST -homebound:HMPN:HMPN -homebuild:HMPL:HMPL -homegrown:HMKR:HMKR -homelands:HMLN:HMLN -homeliest:HMLS:HMLS -homemaker:HMMK:HMMK -homeopath:HMP0:HMPT -homeowner:HMNR:HMNR -homerooms:HMRM:HMRM -homesfall:HMSF:HMSF -homestead:HMST:HMST -homewards:HMRT:HMRT -homeyness:HMNS:HMNS -homicidal:HMST:HMST -homicides:HMST:HMST -homiletic:HMLT:HMLT -hominidae:HMNT:HMNT -hominized:HMNS:HMNS -homogamic:HMKM:HMKM -homograft:HMKR:HMKR -homograph:HMKR:HMKR -homologic:HMLJ:HMLK -homologue:HMLK:HMLK -homolyses:HMLS:HMLS -homolysis:HMLS:HMLS -homolytic:HMLT:HMLT -homonymic:HMNM:HMNM -homophile:HMFL:HMFL -homophone:HMFN:HMFN -homophony:HMFN:HMFN -homophyly:HMFL:HMFL -homoplasy:HMPL:HMPL -homopolar:HMPL:HMPL -homospory:HMSP:HMSP -homotaxic:HMTK:HMTK -homotaxis:HMTK:HMTK -homotopic:HMTP:HMTP -homotypal:HMTP:HMTP -homotypic:HMTP:HMTP -homuncule:HMNK:HMNK -homunculi:HMNK:HMNK -hondurans:HNTR:HNTR -honesties:HNST:HNST -honeybees:HNPS:HNPS -honeycomb:HNKM:HNKM -honeydews:HNTS:HNTS -honeyedly:HNTL:HNTL -honeymoon:HNMN:HNMN -honorable:HNRP:HNRP -honorably:HNRP:HNRP -honoraria:HNRR:HNRR -honorific:HNRF:HNRF -honorless:HNRL:HNRL -honourary:HNRR:HNRR -hoodwinks:HTNK:HTNK -hoofbound:HFPN:HFPN -hoofmarks:HFMR:HFMR -hoofprint:HFPR:HFPR -hooknosed:HKNS:HKNS -hooknoses:HKNS:HKNS -hookworms:HKRM:HKRM -hooligans:HLKN:HLKN -hoopskirt:HPSK:HPSK -hooraying:HRNK:HRNK -hoosegows:HSKS:HSKS -hoovering:HFRN:HFRN -hopefully:HPFL:HPFL -hoplogogy:HPLK:HPLK -hopscotch:HPSK:HPSK -hordenine:HRTN:HRTN -hordeolum:HRTL:HRTL -horehound:HRHN:HRHN -horizonal:HRSN:HRSN -hornbeams:HRNP:HRNP -hornbills:HRNP:HRNP -hornbooks:HRNP:HRNP -horniness:HRNN:HRNN -hornpipes:HRNP:HRNP -hornstone:HRNS:HRNS -horntails:HRNT:HRNT -hornwrack:HRNR:HRNR -horologer:HRLK:HRLJ -horologia:HRLJ:HRLK -horologic:HRLJ:HRLK -hororific:HRRF:HRRF -horoscope:HRSK:HRSK -horoscopy:HRSK:HRSK -horrified:HRFT:HRFT -horrifies:HRFS:HRFS -horseback:HRSP:HRSP -horsehair:HRSH:HRSH -horsehide:HRSH:HRSH -horseless:HRSL:HRSL -horselike:HRSL:HRSL -horsemint:HRSM:HRSM -horseplay:HRSP:HRSP -horseshoe:HRSX:HRSX -horsetail:HRST:HRST -horsewhip:HRSP:HRSP -horsiness:HRSN:HRSN -hortation:HRTX:HRTX -hortative:HRTT:HRTT -hortatory:HRTT:HRTT -hosannahs:HSNS:HSNS -hospitals:HSPT:HSPT -hospitium:HSPT:HSPT -hosteling:HSTL:HSTL -hosteller:HSTL:HSTL -hostesses:HSTS:HSTS -hosticide:HSTS:HSTS -hostilely:HSTL:HSTL -hostility:HSTL:HSTL -hoteliers:HTLR:HTLR -hotelkeep:HTLK:HTLK -hotheaded:H0TT:HTTT -hothouses:H0SS:HTSS -hotplates:HTPL:HTPL -hottentot:HTNT:HTNT -houndfish:HNTF:HNTF -hourglass:HRKL:HRKL -houseboat:HSPT:HSPT -housebote:HSPT:HSPT -houseboys:HSPS:HSPS -housecarl:HSKR:HSKR -housecoat:HSKT:HSKT -housefuls:HSFL:HSFL -household:HSHL:HSHL -housekeep:HSKP:HSKP -houseless:HSLS:HSLS -houseline:HSLN:HSLN -houseling:HSLN:HSLN -housemaid:HSMT:HSMT -houseroom:HSRM:HSRM -housesits:HSST:HSST -housetops:HSTP:HSTP -housewife:HSF:HSF -housework:HSRK:HSRK -hoverport:HFRP:HFRP -howitzers:HTSR:HFXR -howlingly:HLNK:HLNK -howlround:HLRN:HLRN -howsoever:HSFR:HSFR -howtowdie:HTT:HTT -huaraches:HRXS:HRKS -hubristic:HPRS:HPRS -huckaback:HKPK:HKPK -hucksters:HKST:HKST -huckstery:HKST:HKST -huffiness:HFNS:HFNS -huffishly:HFXL:HFXL -huguenots:HKNT:HKNT -humanists:HMNS:HMNS -humanized:HMNS:HMNS -humanizer:HMNS:HMNS -humanizes:HMNS:HMNS -humankind:HMNK:HMNK -humanness:HMNS:HMNS -humanoids:HMNT:HMNT -humblebee:HMPL:HMPL -humbugged:HMPK:HMPK -humbugger:HMPK:HMPK -humdinger:HMTN:HMTN -humectant:HMKT:HMKT -humidness:HMTN:HMTN -humiliate:HMLT:HMLT -humongous:HMNK:HMNK -humorists:HMRS:HMRS -humorless:HMRL:HMRL -humorsome:HMRS:HMRS -humpbacks:HMPK:HMPK -humpiness:HMPN:HMPN -hunchback:HNXP:HNKP -hundredth:HNTR:HNTR -hungarian:HNKR:HNKR -hungering:HNKR:HNJR -hungriest:HNKR:HNKR -hunkering:HNKR:HNKR -hunnishly:HNXL:HNXL -hurrahing:HRHN:HRHN -hurraying:HRNK:HRNK -hurricane:HRKN:HRKN -hurriedly:HRTL:HRTL -hurtfully:HRTF:HRTF -husbanded:HSPN:HSPN -husbander:HSPN:HSPN -husbandly:HSPN:HSPN -husbandry:HSPN:HSPN -huskiness:HSKN:HSKN -huygenian:HJNN:HKNN -hyacinths:HSN0:HSNT -hyalomere:HLMR:HLMR -hybridism:HPRT:HPRT -hybridity:HPRT:HPRT -hybridize:HPRT:HPRT -hybridoma:HPRT:HPRT -hybristic:HPRS:HPRS -hydantoin:HTNT:HTNT -hydathode:HT0T:HTTT -hydraemia:HTRM:HTRM -hydrangea:HTRN:HTRN -hydrastis:HTRS:HTRS -hydrating:HTRT:HTRT -hydration:HTRX:HTRX -hydrators:HTRT:HTRT -hydraulic:HTRL:HTRL -hydrazide:HTRS:HTRS -hydrazine:HTRS:HTRS -hydrazoic:HTRS:HTRS -hydrazone:HTRS:HTRS -hydriodic:HTRT:HTRT -hydrocele:HTRS:HTRS -hydrofoil:HTRF:HTRF -hydrogens:HTRJ:HTRK -hydrolase:HTRL:HTRL -hydrology:HTRL:HTRL -hydrolyte:HTRL:HTRL -hydrolyze:HTRL:HTRL -hydronium:HTRN:HTRN -hydropath:HTRP:HTRP -hydropses:HTRP:HTRP -hydrosere:HTRS:HTRS -hydroskis:HTRS:HTRS -hydrosome:HTRS:HTRS -hydrostat:HTRS:HTRS -hydroxide:HTRK:HTRK -hydrozoan:HTRS:HTRS -hydrozoon:HTRS:HTRS -hygienics:HJNK:HKNK -hygienist:HJNS:HKNS -hygristor:HKRS:HKRS -hygromata:HKRM:HKRM -hygrostat:HKRS:HKRS -hylozoism:HLSS:HLSS -hylozoist:HLSS:HLSS -hymeniums:HMNM:HMNM -hymnbooks:HMNP:HMNP -hymnology:HMNL:HMNL -hyoglossi:HKLS:HKLS -hypacusic:HPKS:HPKS -hypacusis:HPKS:HPKS -hypallage:HPLJ:HPLK -hypanthia:HPN0:HPNT -hypaxonic:HPKS:HPKS -hyperacid:HPRS:HPRS -hyperbola:HPRP:HPRP -hyperbole:HPRP:HPRP -hypercard:HPRK:HPRK -hypercube:HPRK:HPRK -hyperemia:HPRM:HPRM -hyperemic:HPRM:HPRM -hyperergy:HPRR:HPRR -hyperfine:HPRF:HPRF -hypergamy:HPRK:HPRK -hypericin:HPRS:HPRS -hypericum:HPRK:HPRK -hyperopia:HPRP:HPRP -hyperopic:HPRP:HPRP -hyperpnea:HPRP:HPRP -hypertext:HPRT:HPRT -hypertony:HPRT:HPRT -hyphenate:HFNT:HFNT -hyphening:HFNN:HFNN -hypnoidal:HPNT:HPNT -hypnology:HPNL:HPNL -hypnotism:HPNT:HPNT -hypnotist:HPNT:HPNT -hypnotize:HPNT:HPNT -hypobaric:HPPR:HPPR -hypoblast:HPPL:HPPL -hypobulia:HPPL:HPPL -hypobulic:HPPL:HPPL -hypocaust:HPKS:HPKS -hypoconid:HPKN:HPKN -hypocotyl:HPKT:HPKT -hypocrisy:HPKR:HPKR -hypocrite:HPKR:HPKR -hypoderma:HPTR:HPTR -hypoergic:HPRJ:HPRK -hypogenic:HPJN:HPKN -hypogeous:HPJS:HPKS -hypomania:HPMN:HPMN -hypomanic:HPMN:HPMN -hypomorph:HPMR:HPMR -hyponasty:HPNS:HPNS -hypophyge:HPFJ:HPFK -hypoploid:HPPL:HPPL -hypopnoea:HPPN:HPPN -hypostyle:HPST:HPST -hypotaxis:HPTK:HPTK -hypotheca:HP0K:HPTK -hypothesi:HP0S:HPTS -hypotonia:HPTN:HPTN -hypotonic:HPTN:HPTN -hypotonus:HPTN:HPTN -hypoxemia:HPKS:HPKS -hypoxemic:HPKS:HPKS -hypsiloid:HPSL:HPSL -hypsodont:HPST:HPST -hysterias:HSTR:HSTR -hysterics:HSTR:HSTR -hysteroid:HSTR:HSTR -hysterote:HSTR:HSTR -ibupfofen:APPF:APPF -icehouses:ASHS:ASHS -icelander:ASLN:ASLN -icelandic:ASLN:ASLN -ichneumon:AXNM:AKNM -ichnology:AXNL:AKNL -ichthyism:AK0S:AKTS -ichthyoid:AK0T:AKTT -iconology:AKNL:AKNL -idealists:ATLS:ATLS -idealized:ATLS:ATLS -idealizer:ATLS:ATLS -idealizes:ATLS:ATLS -idealness:ATLN:ATLN -idealogue:ATLK:ATLK -identical:ATNT:ATNT -identifer:ATNT:ATNT -identikit:ATNT:ATNT -ideograms:ATKR:ATKR -ideograph:ATKR:ATKR -ideologic:ATLJ:ATLK -ideologue:ATLK:ATLK -ideomotor:ATMT:ATMT -idioblast:ATPL:ATPL -idiocrasy:ATKR:ATKR -idiolalia:ATLL:ATLL -idiomatic:ATMT:ATMT -idiopathy:ATP0:ATPT -idiophone:ATFN:ATFN -idioplasm:ATPL:ATPL -idiotical:ATTK:ATTK -idolaters:ATLT:ATLT -idolizers:ATLS:ATLS -idolizing:ATLS:ATLS -idyllists:ATLS:ATLS -ignescent:AKNS:ANSN -ignitable:AKNT:ANTP -ignitible:AKNT:ANTP -ignitions:AKNX:ANXN -ignitrons:AKNT:ANTR -ignorable:AKNR:ANRP -ignorably:AKNR:ANRP -ignoramus:AKNR:ANRM -ignorance:AKNR:ANRN -ignoratio:AKNR:ANRT -iguanodon:AKNT:AKNT -ikonology:AKNL:AKNL -ileectomy:ALKT:ALKT -ileitides:ALTT:ALTT -ileocecal:ALSK:ALSK -ileocecum:ALSK:ALSK -ileocolic:ALKL:ALKL -ileostomy:ALST:ALST -iliopsoas:ALPS:ALPS -illegally:ALKL:ALKL -illegible:ALJP:ALKP -illegibly:ALJP:ALKP -illiberal:ALPR:ALPR -illicitly:ALST:ALST -illicitum:ALST:ALST -illnesses:ALNS:ALNS -illocable:ALKP:ALKP -illogical:ALJK:ALKK -illumined:ALMN:ALMN -illumines:ALMN:ALMN -illusions:ALSN:ALXN -imageable:AMJP:AMKP -imageless:AMJL:AMKL -imageries:AMKR:AMJR -imaginary:AMJN:AMKN -imaginers:AMJN:AMKN -imagining:AMJN:AMKN -imagistic:AMJS:AMKS -imbalance:AMPL:AMPL -imbargoed:AMPR:AMPR -imbargoes:AMPR:AMPR -imbeciles:AMPS:AMPS -imbecilic:AMPS:AMPS -imbedding:AMPT:AMPT -imbricate:AMPR:AMPR -imbroglio:AMPR:AMPR -imbuement:AMPM:AMPM -imidazole:AMTS:AMTS -iminazole:AMNS:AMNS -imitatees:AMTT:AMTT -imitating:AMTT:AMTT -imitation:AMTX:AMTX -imitative:AMTT:AMTT -imitators:AMTT:AMTT -immanence:AMNN:AMNN -immanency:AMNN:AMNN -immediacy:AMTS:AMTS -immediate:AMTT:AMTT -immelmann:AMLM:AMLM -immensely:AMNS:AMNS -immensity:AMNS:AMNS -immersers:AMRS:AMRS -immersing:AMRS:AMRS -immersion:AMRS:AMRX -immeubles:AMPL:AMPL -immigrant:AMKR:AMKR -immigrate:AMKR:AMKR -imminence:AMNN:AMNN -immobilia:AMPL:AMPL -immodesty:AMTS:AMTS -immolated:AMLT:AMLT -immolates:AMLT:AMLT -immolator:AMLT:AMLT -immorally:AMRL:AMRL -immortals:AMRT:AMRT -immovable:AMFP:AMFP -immovably:AMFP:AMFP -immunists:AMNS:AMNS -immunized:AMNS:AMNS -immunizer:AMNS:AMNS -immunizes:AMNS:AMNS -immunogen:AMNJ:AMNK -immutable:AMTP:AMTP -immutably:AMTP:AMTP -impacting:AMPK:AMPK -impaction:AMPK:AMPK -impactive:AMPK:AMPK -impactors:AMPK:AMPK -impairers:AMPR:AMPR -impairing:AMPR:AMPR -impaneled:AMPN:AMPN -imparters:AMPR:AMPR -impartial:AMPR:AMPR -imparting:AMPR:AMPR -impassion:AMPS:AMPS -impassive:AMPS:AMPS -impasting:AMPS:AMPS -impatiens:AMPT:AMPT -impatient:AMPT:AMPT -impeached:AMPX:AMPK -impeacher:AMPX:AMPK -impeaches:AMPX:AMPK -impearled:AMPR:AMPR -impeccant:AMPK:AMPK -impedance:AMPT:AMPT -impedient:AMPT:AMPT -impellent:AMPL:AMPL -impellers:AMPL:AMPL -impelling:AMPL:AMPL -impendent:AMPN:AMPN -impending:AMPN:AMPN -imperfect:AMPR:AMPR -imperials:AMPR:AMPR -imperiled:AMPR:AMPR -imperious:AMPR:AMPR -impetigos:AMPT:AMPT -impetuous:AMPT:AMPT -impetuses:AMPT:AMPT -impieties:AMPT:AMPT -impingers:AMPN:AMPN -impinging:AMPN:AMPN -impiously:AMPS:AMPS -implanted:AMPL:AMPL -implanter:AMPL:AMPL -impleaded:AMPL:AMPL -impleader:AMPL:AMPL -implement:AMPL:AMPL -implicant:AMPL:AMPL -implicata:AMPL:AMPL -implicate:AMPL:AMPL -implicity:AMPL:AMPL -impliedly:AMPL:AMPL -imploding:AMPL:AMPL -implorers:AMPL:AMPL -imploring:AMPL:AMPL -implosion:AMPL:AMPL -implosive:AMPL:AMPL -impolders:AMPL:AMPL -impolitic:AMPL:AMPL -imponents:AMPN:AMPN -important:AMPR:AMPR -importees:AMPR:AMPR -importers:AMPR:AMPR -importing:AMPR:AMPR -importune:AMPR:AMPR -imposable:AMPS:AMPS -imposters:AMPS:AMPS -impostors:AMPS:AMPS -imposture:AMPS:AMPS -impotence:AMPT:AMPT -impotency:AMPT:AMPT -impounded:AMPN:AMPN -imprecate:AMPR:AMPR -imprecise:AMPR:AMPR -impressed:AMPR:AMPR -impresser:AMPR:AMPR -impresses:AMPR:AMPR -imprimiss:AMPR:AMPR -imprinted:AMPR:AMPR -imprinter:AMPR:AMPR -imprisons:AMPR:AMPR -improbity:AMPR:AMPR -impromptu:AMPR:AMPR -improvers:AMPR:AMPR -improving:AMPR:AMPR -improvise:AMPR:AMPR -imprudent:AMPR:AMPR -impuberty:AMPP:AMPP -impudence:AMPT:AMPT -impugners:AMPN:AMPK -impugning:AMPN:AMPK -impulsion:AMPL:AMPL -impulsive:AMPL:AMPL -imputable:AMPT:AMPT -imputably:AMPT:AMPT -inability:ANPL:ANPL -inactions:ANKX:ANKX -inamorata:ANMR:ANMR -inamorato:ANMR:ANMR -inaneness:ANNN:ANNN -inanimate:ANNM:ANNM -inanities:ANNT:ANNT -inanition:ANNX:ANNX -inaptness:ANPT:ANPT -inarching:ANRX:ANRK -inaudible:ANTP:ANTP -inaudibly:ANTP:ANTP -inaugural:ANKR:ANKR -inbreathe:ANPR:ANPR -inbreeder:ANPR:ANPR -incapable:ANKP:ANKP -incapably:ANKP:ANKP -incarnate:ANKR:ANKR -incaution:ANKX:ANKX -incensing:ANSN:ANSN -incensory:ANSN:ANSN -incentive:ANSN:ANSN -incepting:ANSP:ANSP -inception:ANSP:ANSP -inceptive:ANSP:ANSP -inceptors:ANSP:ANSP -incessant:ANSS:ANSS -inchmaree:ANXM:ANKM -inchworms:ANXR:ANKR -incidence:ANST:ANST -incidents:ANST:ANST -incipient:ANSP:ANSP -incipitur:ANSP:ANSP -incisions:ANSS:ANSX -incisurae:ANSS:ANSS -incisural:ANSS:ANSS -incisures:ANSS:ANSS -inclement:ANKL:ANKL -incliners:ANKL:ANKL -inclining:ANKL:ANKL -inclosers:ANKL:ANKL -inclosing:ANKL:ANKL -inclosure:ANKL:ANKL -including:ANKL:ANKL -inclusion:ANKL:ANKL -inclusive:ANKL:ANKL -incognita:ANKN:ANKK -incogniti:ANKN:ANKK -incognito:ANKN:ANKK -incommode:ANKM:ANKM -incorrect:ANKR:ANKR -incorrupt:ANKR:ANKR -increased:ANKR:ANKR -increaser:ANKR:ANKR -increases:ANKR:ANKR -increment:ANKR:ANKR -incretion:ANKR:ANKR -incretory:ANKR:ANKR -incrossed:ANKR:ANKR -incrosses:ANKR:ANKR -incrusted:ANKR:ANKR -incubated:ANKP:ANKP -incubates:ANKP:ANKP -incubator:ANKP:ANKP -incubuses:ANKP:ANKP -inculcate:ANKL:ANKL -inculpate:ANKL:ANKL -incumbent:ANKM:ANKM -incumbers:ANKM:ANKM -incurable:ANKR:ANKR -incurably:ANKR:ANKR -incurious:ANKR:ANKR -incurment:ANKR:ANKR -incurrent:ANKR:ANKR -incurring:ANKR:ANKR -incursion:ANKR:ANKR -incursive:ANKR:ANKR -incurvate:ANKR:ANKR -indecency:ANTS:ANTS -indecidua:ANTS:ANTS -indecorum:ANTK:ANTK -indelible:ANTL:ANTL -indelibly:ANTL:ANTL -indemnify:ANTM:ANTM -indemnity:ANTM:ANTM -indenters:ANTN:ANTN -indenting:ANTN:ANTN -indention:ANTN:ANTN -indentors:ANTN:ANTN -indenture:ANTN:ANTN -indexable:ANTK:ANTK -indexical:ANTK:ANTK -indexless:ANTK:ANTK -indianans:ANTN:ANTN -indianian:ANTN:ANTN -indicants:ANTK:ANTK -indicated:ANTK:ANTK -indicates:ANTK:ANTK -indicator:ANTK:ANTK -indicavit:ANTK:ANTK -indictees:ANTK:ANTK -indicters:ANTK:ANTK -indicting:ANTK:ANTK -indiction:ANTK:ANTK -indictors:ANTK:ANTK -indigence:ANTJ:ANTK -indigents:ANTJ:ANTK -indignant:ANTN:ANTK -indignity:ANTN:ANTK -indigoids:ANTK:ANTK -indigotin:ANTK:ANTK -indirects:ANTR:ANTR -indirubin:ANTR:ANTR -indispose:ANTS:ANTS -indochina:ANTX:ANTK -indolence:ANTL:ANTL -indonesia:ANTN:ANTN -indoramin:ANTR:ANTR -indorsees:ANTR:ANTR -indorsing:ANTR:ANTR -inducible:ANTS:ANTS -inductees:ANTK:ANTK -inductile:ANTK:ANTK -inducting:ANTK:ANTK -induction:ANTK:ANTK -inductive:ANTK:ANTK -inductors:ANTK:ANTK -indulgent:ANTL:ANTL -indulgers:ANTL:ANTL -indulging:ANTL:ANTL -indumenta:ANTM:ANTM -indurated:ANTR:ANTR -indurates:ANTR:ANTR -industria:ANTS:ANTS -indweller:ANTL:ANTL -inebriant:ANPR:ANPR -inebriate:ANPR:ANPR -inebriety:ANPR:ANPR -inebrious:ANPR:ANPR -ineffable:ANFP:ANFP -ineffably:ANFP:ANFP -inelastic:ANLS:ANLS -inelegant:ANLK:ANLK -ineptness:ANPT:ANPT -inequable:ANKP:ANKP -inerrable:ANRP:ANRP -inerrably:ANRP:ANRP -inerrancy:ANRN:ANRN -inertiaes:ANRX:ANRX -inertness:ANRT:ANRT -inexactly:ANKS:ANKS -infamises:ANFM:ANFM -infamized:ANFM:ANFM -infamizes:ANFM:ANFM -infancies:ANFN:ANFN -infantile:ANFN:ANFN -infantine:ANFN:ANFN -infarcted:ANFR:ANFR -infatuate:ANFT:ANFT -infecters:ANFK:ANFK -infecting:ANFK:ANFK -infection:ANFK:ANFK -infective:ANFK:ANFK -infectors:ANFK:ANFK -infefting:ANFF:ANFF -inferable:ANFR:ANFR -inferably:ANFR:ANFR -inference:ANFR:ANFR -inferible:ANFR:ANFR -inferibly:ANFR:ANFR -inferiors:ANFR:ANFR -inferring:ANFR:ANFR -infertile:ANFR:ANFR -infesters:ANFS:ANFS -infesting:ANFS:ANFS -infielder:ANFL:ANFL -infighter:ANFT:ANFT -infilling:ANFL:ANFL -infinitum:ANFN:ANFN -infirmary:ANFR:ANFR -infirmity:ANFR:ANFR -infixions:ANFK:ANFK -inflamers:ANFL:ANFL -inflaming:ANFL:ANFL -inflaters:ANFL:ANFL -inflating:ANFL:ANFL -inflation:ANFL:ANFL -inflators:ANFL:ANFL -inflected:ANFL:ANFL -inflector:ANFL:ANFL -inflexion:ANFL:ANFL -inflicted:ANFL:ANFL -inflicter:ANFL:ANFL -inflictor:ANFL:ANFL -inflowing:ANFL:ANFL -influence:ANFL:ANFL -influenza:ANFL:ANFL -infolders:ANFL:ANFL -infolding:ANFL:ANFL -informant:ANFR:ANFR -informers:ANFR:ANFR -informing:ANFR:ANFR -infracted:ANFR:ANFR -infractor:ANFR:ANFR -infringed:ANFR:ANFR -infringer:ANFR:ANFR -infringes:ANFR:ANFR -infuriate:ANFR:ANFR -infuscate:ANFS:ANFS -infusible:ANFS:ANFS -infusions:ANFS:ANFX -infusoria:ANFS:ANFS -ingathers:ANK0:ANKT -ingenious:ANJN:ANKN -ingenuity:ANJN:ANKN -ingenuous:ANJN:ANKN -ingerence:ANKR:ANJR -ingestant:ANJS:ANKS -ingesting:ANJS:ANKS -ingestion:ANJS:ANKS -ingestive:ANJS:ANKS -inglenook:ANKL:ANKL -ingluvies:ANKL:ANKL -ingrafted:ANKR:ANKR -ingrained:ANKR:ANKR -ingrately:ANKR:ANKR -ingrowing:ANKR:ANKR -inguinale:ANKN:ANKN -inhabited:ANPT:ANPT -inhabiter:ANPT:ANPT -inhalants:ANLN:ANLN -inhalator:ANLT:ANLT -inhaulers:ANLR:ANLR -inherence:ANRN:ANRN -inherency:ANRN:ANRN -inherited:ANRT:ANRT -inheritor:ANRT:ANRT -inhibited:ANPT:ANPT -inhibiter:ANPT:ANPT -inhibitor:ANPT:ANPT -inholding:ANLT:ANLT -inhumanly:ANMN:ANMN -initialed:ANXL:ANXL -initially:ANXL:ANXL -initiated:ANXT:ANXT -initiates:ANXT:ANXT -initiator:ANXT:ANXT -injectant:ANJK:ANJK -injecting:ANJK:ANJK -injection:ANJK:ANJK -injective:ANJK:ANJK -injectors:ANJK:ANJK -injurious:ANJR:ANJR -injustice:ANJS:ANJS -inkstands:ANKS:ANKS -inlanders:ANLN:ANLN -inletting:ANLT:ANLT -innermost:ANRM:ANRM -innerness:ANRN:ANRN -innervate:ANRF:ANRF -innerving:ANRF:ANRF -innholder:ANLT:ANLT -innkeeper:ANKP:ANKP -innocence:ANSN:ANSN -innocency:ANSN:ANSN -innocents:ANSN:ANSN -innocuity:ANKT:ANKT -innocuous:ANKS:ANKS -innovated:ANFT:ANFT -innovates:ANFT:ANFT -innovator:ANFT:ANFT -innoxious:ANKS:ANKS -innuendos:ANNT:ANNT -inoculant:ANKL:ANKL -inoculate:ANKL:ANKL -inodorous:ANTR:ANTR -inorganic:ANRK:ANRK -inotropic:ANTR:ANTR -inpatient:ANPT:ANPT -inputting:ANPT:ANPT -inquietly:ANKT:ANKT -inquiline:ANKL:ANKL -inquirers:ANKR:ANKR -inquiries:ANKR:ANKR -inquiring:ANKR:ANKR -inquorate:ANKR:ANKR -inrushing:ANRX:ANRX -insatiate:ANSX:ANSX -inscribed:ANSK:ANSK -inscriber:ANSK:ANSK -inscribes:ANSK:ANSK -insectary:ANSK:ANSK -insectile:ANSK:ANSK -inselberg:ANSL:ANSL -insensate:ANSN:ANSN -inserters:ANSR:ANSR -inserting:ANSR:ANSR -insertion:ANSR:ANSR -insetters:ANST:ANST -insetting:ANST:ANST -inshallah:ANXL:ANXL -insheathe:ANX0:ANXT -insidious:ANST:ANST -insignias:ANSN:ANSK -insincere:ANSN:ANSN -insinuate:ANSN:ANSN -insipidly:ANSP:ANSP -insipidus:ANSP:ANSP -insistent:ANSS:ANSS -insisters:ANSS:ANSS -insisting:ANSS:ANSS -insolated:ANSL:ANSL -insolates:ANSL:ANSL -insolence:ANSL:ANSL -insoluble:ANSL:ANSL -insolubly:ANSL:ANSL -insolvent:ANSL:ANSL -insomniac:ANSM:ANSM -inspanned:ANSP:ANSP -inspected:ANSP:ANSP -inspector:ANSP:ANSP -inspirers:ANSP:ANSP -inspiring:ANSP:ANSP -inspirits:ANSP:ANSP -installed:ANST:ANST -installer:ANST:ANST -instanced:ANST:ANST -instances:ANST:ANST -instanter:ANST:ANST -instantly:ANST:ANST -instating:ANST:ANST -instigate:ANST:ANST -instilled:ANST:ANST -instiller:ANST:ANST -instincts:ANST:ANST -institute:ANST:ANST -instrictu:ANST:ANST -instructs:ANST:ANST -insulants:ANSL:ANSL -insularly:ANSL:ANSL -insulated:ANSL:ANSL -insulates:ANSL:ANSL -insulator:ANSL:ANSL -insulters:ANSL:ANSL -insulting:ANSL:ANSL -insurable:ANSR:ANSR -insurance:ANSR:ANSR -insurgent:ANSR:ANSR -insurrect:ANSR:ANSR -inswinger:ANSN:ANSN -intaglios:ANTK:ANTL -integrals:ANTK:ANTK -integrand:ANTK:ANTK -integrant:ANTK:ANTK -integrate:ANTK:ANTK -integrity:ANTK:ANTK -intellect:ANTL:ANTL -intendant:ANTN:ANTN -intendeds:ANTN:ANTN -intenders:ANTN:ANTN -intending:ANTN:ANTN -intensely:ANTN:ANTN -intensify:ANTN:ANTN -intension:ANTN:ANTN -intensity:ANTN:ANTN -intensive:ANTN:ANTN -intention:ANTN:ANTN -interacts:ANTR:ANTR -interbank:ANTR:ANTR -interbred:ANTR:ANTR -intercede:ANTR:ANTR -intercept:ANTR:ANTR -intercity:ANTR:ANTR -intercoms:ANTR:ANTR -intercrop:ANTR:ANTR -intercuts:ANTR:ANTR -interdict:ANTR:ANTR -interesse:ANTR:ANTR -interests:ANTR:ANTR -interface:ANTR:ANTR -interfere:ANTR:ANTR -interfile:ANTR:ANTR -interfirm:ANTR:ANTR -interflow:ANTR:ANTR -interfold:ANTR:ANTR -interfuse:ANTR:ANTR -interiors:ANTR:ANTR -interject:ANTR:ANTR -interknit:ANTR:ANTR -interlace:ANTR:ANTR -interlaid:ANTR:ANTR -interlaps:ANTR:ANTR -interlard:ANTR:ANTR -interlays:ANTR:ANTR -interleaf:ANTR:ANTR -interline:ANTR:ANTR -interlink:ANTR:ANTR -interlock:ANTR:ANTR -interlope:ANTR:ANTR -interlude:ANTR:ANTR -interment:ANTR:ANTR -intermesh:ANTR:ANTR -intermits:ANTR:ANTR -internals:ANTR:ANTR -internees:ANTR:ANTR -interning:ANTR:ANTR -internist:ANTR:ANTR -internode:ANTR:ANTR -interpage:ANTR:ANTR -interplay:ANTR:ANTR -interplea:ANTR:ANTR -interpled:ANTR:ANTR -interpose:ANTR:ANTR -interpret:ANTR:ANTR -interrace:ANTR:ANTR -interring:ANTR:ANTR -interrupt:ANTR:ANTR -intersect:ANTR:ANTR -intervals:ANTR:ANTR -intervene:ANTR:ANTR -interview:ANTR:ANTR -interwind:ANTR:ANTR -interwork:ANTR:ANTR -interwove:ANTR:ANTR -intestacy:ANTS:ANTS -intestate:ANTS:ANTS -intestato:ANTS:ANTS -intestine:ANTS:ANTS -intimated:ANTM:ANTM -intimater:ANTM:ANTM -intimates:ANTM:ANTM -intituled:ANTT:ANTT -intitules:ANTT:ANTT -intonated:ANTN:ANTN -intonates:ANTN:ANTN -intorsion:ANTR:ANTR -intortion:ANTR:ANTR -intracity:ANTR:ANTR -intraoral:ANTR:ANTR -intrapial:ANTR:ANTR -intrashop:ANTR:ANTR -intricacy:ANTR:ANTR -intricate:ANTR:ANTR -intrigued:ANTR:ANTR -intriguer:ANTR:ANTR -intrigues:ANTR:ANTR -intrinsic:ANTR:ANTR -introduce:ANTR:ANTR -introital:ANTR:ANTR -introitus:ANTR:ANTR -introject:ANTR:ANTR -introvert:ANTR:ANTR -intruders:ANTR:ANTR -intruding:ANTR:ANTR -intrusion:ANTR:ANTR -intrusive:ANTR:ANTR -intrusted:ANTR:ANTR -intubated:ANTP:ANTP -intubates:ANTP:ANTP -intuiting:ANTT:ANTT -intuition:ANTX:ANTX -intuitive:ANTT:ANTT -intumesce:ANTM:ANTM -inulinase:ANLN:ANLN -inunction:ANNK:ANNK -inundated:ANNT:ANNT -inundates:ANNT:ANNT -inundator:ANNT:ANNT -inurement:ANRM:ANRM -invadable:ANFT:ANFT -invalided:ANFL:ANFL -invalidly:ANFL:ANFL -invariant:ANFR:ANFR -invasions:ANFS:ANFX -invective:ANFK:ANFK -inveighed:ANFT:ANFT -inveigher:ANFR:ANFR -inveighes:ANFS:ANFS -inveigled:ANFK:ANFK -inveigler:ANFK:ANFK -inveigles:ANFK:ANFK -inventing:ANFN:ANFN -invention:ANFN:ANFN -inventive:ANFN:ANFN -inventors:ANFN:ANFN -inventory:ANFN:ANFN -inverness:ANFR:ANFR -inversely:ANFR:ANFR -inversion:ANFR:ANFR -inversive:ANFR:ANFR -invertase:ANFR:ANFR -inverters:ANFR:ANFR -inverting:ANFR:ANFR -invertors:ANFR:ANFR -investing:ANFS:ANFS -investors:ANFS:ANFS -invidious:ANFT:ANFT -inviolacy:ANFL:ANFL -inviolate:ANFL:ANFL -invisible:ANFS:ANFS -invisibly:ANFS:ANFS -invocable:ANFK:ANFK -invocator:ANFK:ANFK -invoicing:ANFS:ANFS -involucel:ANFL:ANFL -involucra:ANFL:ANFL -involucre:ANFL:ANFL -involuted:ANFL:ANFL -involutes:ANFL:ANFL -involvers:ANFL:ANFL -involving:ANFL:ANFL -inweaving:ANFN:ANFN -inwrought:ANRF:ANRF -iodamoeba:ATMP:ATMP -iodimetry:ATMT:ATMT -iodinated:ATNT:ATNT -iodometry:ATMT:ATMT -iodophile:ATFL:ATFL -ionizable:ANSP:ANSP -ionopause:ANPS:ANPS -ionophore:ANFR:ANFR -ipsissima:APSS:APSS -irascible:ARSP:ARSP -irateness:ARTN:ARTN -iridalgia:ARTL:ARTL -iridocyte:ARTS:ARTS -iridology:ARTL:ARTL -iridotomy:ARTT:ARTT -irishisms:ARXS:ARXS -irksomely:ARKS:ARKS -ironbound:ARNP:ARNP -ironizing:ARNS:ARNS -ironsides:ARNS:ARNS -ironstone:ARNS:ARNS -ironwoods:ARNT:ARNT -ironworks:ARNR:ARNR -iroquoian:ARKN:ARKN -irradiate:ARTT:ARTT -irredenta:ARTN:ARTN -irregular:ARKL:ARKL -irrigable:ARKP:ARKP -irrigated:ARKT:ARKT -irrigates:ARKT:ARKT -irrigator:ARKT:ARKT -irritable:ARTP:ARTP -irritably:ARTP:ARTP -irritancy:ARTN:ARTN -irritants:ARTN:ARTN -irritated:ARTT:ARTT -irritates:ARTT:ARTT -irrupting:ARPT:ARPT -irruption:ARPX:ARPX -irruptive:ARPT:ARPT -isagogics:ASKJ:ASKK -isallobar:ASLP:ASLP -isauxeses:ASKS:ASKS -isauxesis:ASKS:ASKS -isauxetic:ASKS:ASKS -ischaemia:AXM:AXM -ischaemic:AXMK:AXMK -ischiadic:AXTK:AXTK -ischiatic:AXTK:AXTK -isinglass:ASNK:ASNK -islamises:ALMS:ALMS -islamitic:ALMT:ALMT -islamized:ALMS:ALMS -islamizes:ALMS:ALMS -islanders:ALNT:ALNT -isobarism:ASPR:ASPR -isobathic:ASP0:ASPT -isobornyl:ASPR:ASPR -isocheims:ASXM:ASKM -isochimal:ASXM:ASKM -isochimes:ASXM:ASKM -isochores:ASXR:ASKR -isochoric:ASXR:ASKR -isocitric:ASST:ASST -isoclinal:ASKL:ASKL -isoclines:ASKL:ASKL -isoclinic:ASKL:ASKL -isocortex:ASKR:ASKR -isocratic:ASKR:ASKR -isocyclic:ASSK:ASSK -isoenzyme:ASNS:ASNS -isogamete:ASKM:ASKM -isogamies:ASKM:ASKM -isogamous:ASKM:ASKM -isogeneic:ASJN:ASKN -isogenous:ASJN:ASKN -isogonies:ASKN:ASKN -isohaline:ASHL:ASHL -isohydric:ASHT:ASHT -isohyetal:ASHT:ASHT -isolating:ASLT:ASLT -isolation:ASLX:ASLX -isolative:ASLT:ASLT -isolators:ASLT:ASLT -isologous:ASLK:ASLK -isologues:ASLK:ASLK -isomerase:ASMR:ASMR -isomeride:ASMR:ASMR -isomerism:ASMR:ASMR -isomerize:ASMR:ASMR -isomerous:ASMR:ASMR -isometric:ASMT:ASMT -isomorphs:ASMR:ASMR -isoniazid:ASNS:ASNS -isonomous:ASNM:ASNM -isopaches:ASPX:ASPK -isophones:ASFN:ASFN -isophoria:ASFR:ASFR -isopleths:ASPL:ASPL -isopodous:ASPT:ASPT -isopolity:ASPL:ASPL -isopropyl:ASPR:ASPR -isosceles:ASSL:ASSL -isosmotic:ASSM:ASSM -isostatic:ASST:ASST -isosteres:ASST:ASST -isosteric:ASST:ASST -isotactic:ASTK:ASTK -isotheral:AS0R:ASTR -isotheres:AS0R:ASTR -isotherms:AS0R:ASTR -isotropic:ASTR:ASTR -israelite:ASRL:ASRL -issuances:ASNS:ASNS -issueless:ASLS:ASLS -isthmuses:AS0M:ASTM -italicize:ATLS:ATLS -itchiness:AXNS:AXNS -itemizers:ATMS:ATMS -itemizing:ATMS:ATMS -iterances:ATRN:ATRN -iterating:ATRT:ATRT -iteration:ATRX:ATRX -iterative:ATRT:ATRT -iterators:ATRT:ATRT -itineracy:ATNR:ATNR -itinerant:ATNR:ATNR -itinerary:ATNR:ATNR -itinerate:ATNR:ATNR -ivestment:AFST:AFST -ixodoidea:AKST:AKST -jabberers:JPRR:APRR -jabbering:JPRN:APRN -jabbingly:JPNK:APNK -jaborandi:JPRN:APRN -jacaranda:JKRN:AKRN -jackasses:JKSS:AKSS -jackboots:JKPT:AKPT -jacketing:JKTN:AKTN -jackfruit:JKFR:AKFR -jackknife:JKKN:AKKN -jackscrew:JKSK:AKSK -jackshaft:JKXF:AKXF -jacksmelt:JKSM:AKSM -jacksnipe:JKSN:AKSN -jackstays:JKST:AKST -jackstraw:JKST:AKST -jacobites:JKPT:AKPT -jacquards:JKRT:AKRT -jactitate:JKTT:AKTT -jadedness:JTTN:ATTN -jagsiekte:JKSK:AKSK -jagziekte:JKSK:AKTS -jailbirds:JLPR:ALPR -jailbreak:JLPR:ALPR -jailhouse:JLS:ALS -jalousies:JLSS:ALSS -jamaicans:JMKN:AMKN -jambalaya:JMPL:AMPL -jamborees:JMPR:AMPR -jamestown:JMST:AMST -janitress:JNTR:ANTR -januaries:JNRS:ANRS -japanners:JPNR:APNR -japanning:JPNN:APNN -jargonize:JRKN:ARKN -jarringly:JRNK:ARNK -jatrophic:JTRF:ATRF -jaundiced:JNTS:ANTS -jaundices:JNTS:ANTS -jauntiest:JNTS:ANTS -jawboning:JPNN:APNN -jaywalked:JLKT:ALKT -jaywalker:JLKR:ALKR -jazziness:JSNS:ATSN -jealously:JLSL:ALSL -jeannette:JNT:ANT -jecorized:JKRS:AKRS -jecorizes:JKRS:AKRS -jeeringly:JRNK:ARNK -jefferson:JFRS:AFRS -jejunitis:JJNT:AJNT -jellified:JLFT:ALFT -jellifies:JLFS:ALFS -jellybean:JLPN:ALPN -jellyfish:JLFX:ALFX -jellylike:JLLK:ALLK -jennerian:JNRN:ANRN -jequitity:JKTT:AKTT -jeremiads:JRMT:ARMT -jerkiness:JRKN:ARKN -jerkwater:JRKT:ARKT -jeroboams:JRPM:ARPM -jerseyite:JRST:ARST -jerusalem:JRSL:ARSL -jessamine:JSMN:ASMN -jestingly:JSTN:ASTN -jesuitism:JSTS:ASTS -jetliners:JTLN:ATLN -jettiness:JTNS:ATNS -jettisons:JTSN:ATSN -jewelries:JLRS:ALRS -jewelweed:JLT:ALT -jewfishes:JFXS:AFXS -jingoists:JNKS:ANKS -jipijapas:JPJP:APHP -jitterbug:JTRP:ATRP -jittering:JTRN:ATRN -jobberies:JPRS:APRS -jobcenter:JPSN:APSN -jobholder:JPLT:APLT -jobsworth:JPSR:APSR -jockeying:JKNK:AKNK -jockstrap:JKST:AKST -jocularly:JKLR:AKLR -jocundity:JKNT:AKNT -johannine:JHNN:AHNN -jointedly:JNTT:ANTT -jointists:JNTS:ANTS -jointress:JNTR:ANTR -jointured:JNTR:ANTR -jointures:JNTR:ANTR -jollified:JLFT:ALFT -jollifies:JLFS:ALFS -jolliness:JLNS:ALNS -jollities:JLTS:ALTS -joltingly:JLTN:ALTN -jongleurs:JNKL:ANKL -jonsonian:JNSN:ANSN -jordanian:JRTN:ARTN -josephine:JSFN:HSFN -jounciest:JNSS:ANXS -journeyed:JRNT:ARNT -journeyer:JRNR:ARNR -joursters:JRST:ARST -joviality:JFLT:AFLT -joylessly:JLSL:ALSL -joypopped:JPPT:APPT -joypopper:JPPR:APPR -joyridden:JRTN:ARTN -joyriding:JRTN:ARTN -joysticks:JSTK:ASTK -jubilance:JPLN:APLN -jubilancy:JPLN:APLN -jubilated:JPLT:APLT -jubilates:JPLT:APLT -judaizing:JTSN:ATSN -juddering:JTRN:ATRN -judgeable:JJPL:AJPL -judgeless:JJLS:AJLS -judgelike:JJLK:AJLK -judgement:JJMN:AJMN -judgeship:JJXP:AJXP -judgingly:JJNK:AJNK -judgmatic:JTKM:ATKM -judgments:JTKM:ATKM -judicable:JTKP:ATKP -judically:JTKL:ATKL -judicatio:JTKT:ATKT -judicator:JTKT:ATKT -judiciale:JTSL:ATXL -judiciary:JTSR:ATXR -judicious:JTSS:ATXS -juiceless:JSLS:ASLS -juiciness:JSNS:ASNS -jukeboxes:JKPK:AKPK -jumboises:JMPS:AMPS -jumboized:JMPS:AMPS -jumboizes:JMPS:AMPS -jumpiness:JMPN:AMPN -jumpingly:JMPN:AMPN -junctions:JNKX:ANKX -juncturae:JNKT:ANKT -junctures:JNKT:ANKT -juneberry:JNPR:ANPR -junketeer:JNKT:ANKT -junketers:JNKT:ANKT -junketing:JNKT:ANKT -junkyards:JNKR:ANKR -junoesque:JNSK:ANSK -juramenta:JRMN:ARMN -juridicae:JRTK:ARTK -juridical:JRTK:ARTK -juridicus:JRTK:ARTK -jurywoman:JRMN:ARMN -jurywomen:JRMN:ARMN -jusjacens:JSSN:ASSN -justiciar:JSTS:ASTX -justicies:JSTS:ASTX -justified:JSTF:ASTF -justifier:JSTF:ASTF -justifies:JSTF:ASTF -justinian:JSTN:ASTN -justitiae:JSTX:ASTX -justitium:JSTT:ASTT -juttingly:JTNK:ATNK -juveniles:JFNL:AFNL -juveniley:JFNL:AFNL -juvenilia:JFNL:AFNL -juxtapose:JKST:AKST -kaddishes:KTXS:KTXS -kahikatea:KHKT:KHKT -kakemonos:KKMN:KKMN -kakogenic:KKJN:KKKN -kalanchoe:KLNX:KLNK -kalgoolie:KLKL:KLKL -kamasutra:KMST:KMST -kamikazes:KMKS:KMKT -kampuchea:KMPX:KMPK -kanamycin:KNMS:KNMS -kangaroos:KNKR:KNKR -kaolinite:KLNT:KLNT -karabiner:KRPN:KRPN -karrinyup:KRNP:KRNP -karyocyte:KRST:KRST -karyogamy:KRKM:KRKM -karyology:KRLJ:KRLK -karyomere:KRMR:KRMR -karyosome:KRSM:KRSM -karyotype:KRTP:KRTP -katabatic:KTPT:KTPT -katabolic:KTPL:KTPL -katharine:K0RN:KTRN -katharses:K0RS:KTRS -katharsis:K0RS:KTRS -kathartic:K0RT:KTRT -katherine:K0RN:KTRN -kazachoks:KSKK:KTSK -kedgerees:KJRS:KJRS -keelboats:KLPT:KLPT -keelhauls:KLLS:KLLS -keepsakes:KPSK:KPSK -keeshonds:KXNT:KXNT -keffiyehs:KFS:KFS -kenneling:KNLN:KNLN -kennelman:KNLM:KNLM -kenotoxin:KNTK:KNTK -kentledge:KNTL:KNTL -keratitis:KRTT:KRTT -keratomas:KRTM:KRTM -keratoses:KRTS:KRTS -keratosis:KRTS:KRTS -keratotic:KRTT:KRTT -kerbstone:KRPS:KRPS -kerchiefs:KRXF:KRKF -kerckring:KRKR:KRKR -kerfuffle:KRFF:KRFF -kerneling:KRNL:KRNL -ketogenic:KTJN:KTKN -ketolyses:KTLS:KTLS -ketolysis:KTLS:KTLS -ketolytic:KTLT:KTLT -ketonemia:KTNM:KTNM -ketonemic:KTNM:KTNM -ketonuria:KTNR:KTNR -kettleful:KTLF:KTLF -keyboards:KPRT:KPRT -keynoters:KNTR:KNTR -keynoting:KNTN:KNTN -keystones:KSTN:KSTN -keystroke:KSTR:KSTR -kibbutzim:KPTS:KPTS -kibitzers:KPTS:KPTS -kibitzing:KPTS:KPTS -kickbacks:KKPK:KKPK -kickshaws:KKXS:KKXS -kickstand:KKST:KKST -kiddingly:KTNK:KTNK -kidnapers:KTNP:KTNP -kidnaping:KTNP:KTNP -kidnapped:KTNP:KTNP -kidnappee:KTNP:KTNP -kidnapper:KTNP:KTNP -kielbasas:KLPS:KLPS -kieserite:KSRT:KSRT -kilderkin:KLTR:KLTR -killdeers:KLTR:KLTR -killifish:KLFX:KLFX -killingly:KLNK:KLNK -kilobytes:KLPT:KLPT -kilocycle:KLSK:KLSK -kilograms:KLKR:KLKR -kilohertz:KLHR:KLHR -kiloliter:KLLT:KLLT -kilometer:KLMT:KLMT -kilovolts:KLFL:KLFL -kilowatts:KLTS:KLTS -kindheart:KNTR:KNTR -kindliest:KNTL:KNTL -kinematic:KNMT:KNMT -kinescope:KNSK:KNSK -kinetoses:KNTS:KNTS -kinetosis:KNTS:KNTS -kingbirds:KNKP:KNKP -kingbolts:KNKP:KNKP -kingliest:KNKL:KNKL -kingmaker:KNKM:KNKM -kingships:KNKX:KNKX -kininogen:KNNJ:KNNK -kinkajous:KNKJ:KNKJ -kinkiness:KNKN:KNKN -kinoplasm:KNPL:KNPL -kinswoman:KNSM:KNSM -kinswomen:KNSM:KNSM -kiotomies:KTMS:KTMS -kippering:KPRN:KPRN -kirchhoff:KRXF:KRKF -kissagram:KSKR:KSKR -kitchener:KXNR:KXNR -kittening:KTNN:KTNN -kittenish:KTNX:KTNX -kittiwake:KTK:KTK -klystrons:KLST:KLST -knapsacks:NPSK:NPSK -knaveries:NFRS:NFRS -knavishly:NFXL:NFXL -kneadable:NTPL:NTPL -kneebones:NPNS:NPNS -kneeholes:NHLS:NHLS -knifelike:NFLK:NFLK -kniferest:NFRS:NFRS -knightage:NTJ:NTK -knighting:NTNK:NTNK -kniphofia:NFF:NFF -knittable:NTPL:NTPL -knobbiest:NPST:NPST -knobblier:NPLR:NPLR -knockdown:NKTN:NKTN -knockouts:NKTS:NKTS -knotgrass:NTKR:NTKR -knotholes:N0LS:NTLS -knottiest:NTST:NTST -knowingly:NNKL:NNKL -knowledge:NLJ:NLJ -knoxville:NKSF:NKSF -knuckling:NKLN:NKLN -komondors:KMNT:KMNT -koniology:KNLJ:KNLK -kookiness:KKNS:KKNS -korsakoff:KRSK:KRSK -kowtowers:KTRS:KTRS -kowtowing:KTNK:KTNK -krauroses:KRRS:KRRS -kraurosis:KRRS:KRRS -kraurotic:KRRT:KRRT -krukenber:KRKN:KRKN -kununurra:KNNR:KNNR -kurdistan:KRTS:KRTS -kurrajong:KRJN:KRJN -kyanizing:KNSN:KNTS -kymograph:KMKR:KMKR -kynurenic:KNRN:KNRN -labiaised:LPST:LPST -labialism:LPLS:LPLS -labialize:LPLS:LPLS -laboredly:LPRT:LPRT -laborings:LPRN:LPRN -laborious:LPRS:LPRS -laborists:LPRS:LPRS -laborites:LPRT:LPRT -laburnums:LPRN:LPRN -labyrinth:LPRN:LPRN -laccolith:LKL0:LKLT -lacerable:LSRP:LSRP -lacerated:LSRT:LSRT -lacerates:LSRT:LSRT -lacerator:LSRT:LSRT -lacewings:LSNK:LSNK -lachrymal:LKRM:LKRM -lacinated:LSNT:LSNT -laciniate:LSNT:LSNT -lacquered:LKRT:LKRT -lacquerer:LKRR:LKRR -lactating:LKTT:LKTT -lactation:LKTX:LKTX -lacteally:LKTL:LKTL -lactifuge:LKTF:LKTF -lactocele:LKTS:LKTS -lactogens:LKTJ:LKTK -lacunules:LKNL:LKNL -laddering:LTRN:LTRN -ladlefuls:LTLF:LTLF -ladybirds:LTPR:LTPR -ladyloves:LTLF:LTLF -ladyships:LTXP:LTXP -lafayette:LFT:LFT -laggardly:LKRT:LKRT -lagniappe:LNP:LKNP -lagomorph:LKMR:LKMR -laicizing:LSSN:LSSN -lallation:LLXN:LLXN -lallygags:LLKK:LLKK -lalopathy:LLP0:LLPT -lalorrhea:LLR:LLR -lambasted:LMPS:LMPS -lambastes:LMPS:LMPS -lambently:LMPN:LMPN -lambskins:LMPS:LMPS -lamebrain:LMPR:LMPR -lamellaes:LMLS:LMLS -lamellate:LMLT:LMLT -lamellose:LMLS:LMLS -lamenters:LMNT:LMNT -lamenting:LMNT:LMNT -laminable:LMNP:LMNP -laminaria:LMNR:LMNR -laminated:LMNT:LMNT -laminates:LMNT:LMNT -laminator:LMNT:LMNT -laminitis:LMNT:LMNT -lampblack:LMPL:LMPL -lamplight:LMPL:LMPL -lampooned:LMPN:LMPN -lampooner:LMPN:LMPN -lampposts:LMPS:LMPS -lancaster:LNKS:LNKS -lancejack:LNSJ:LNSJ -lancinate:LNSN:LNSN -landaulet:LNTL:LNTL -landfalls:LNTF:LNTF -landfills:LNTF:LNTF -landlords:LNTL:LNTL -landmarks:LNTM:LNTM -landowner:LNTN:LNTN -landright:LNTR:LNTR -landscape:LNTS:LNTS -landslide:LNTS:LNTS -landwards:LNTR:LNTR -langouste:LNKS:LNKS -languages:LNKJ:LNKK -languidly:LNKT:LNKT -languidus:LNKT:LNKT -laniaries:LNRS:LNRS -lankiness:LNKN:LNKN -lanolated:LNLT:LNLT -lanthanum:LN0N:LNTN -laodicean:LTSN:LTSN -lapboards:LPRT:LPRT -lapidated:LPTT:LPTT -lapidates:LPTT:LPTT -lapinized:LPNS:LPNS -laplander:LPLN:LPLN -lapponian:LPNN:LPNN -lapstrake:LPST:LPST -lapstreak:LPST:LPST -larceners:LRSN:LRSN -larcenies:LRSN:LRSN -larcenist:LRSN:LRSN -larcenous:LRSN:LRSN -largeness:LRJN:LRKN -largening:LRJN:LRKN -larkspurs:LRKS:LRKS -larruping:LRPN:LRPN -larvacide:LRFS:LRFS -larvicide:LRFS:LRFS -laryngeal:LRNJ:LRNK -lashingly:LXNK:LXNK -lassitude:LSTT:LSTT -lastingly:LSTN:LSTN -latchkeys:LXKS:LXKS -latecomer:LTKM:LTKM -latencies:LTNS:LTNX -lateralis:LTRL:LTRL -laterally:LTRL:LTRL -lathering:L0RN:LTRN -lathyrism:L0RS:LTRS -latinises:LTNS:LTNS -latinisms:LTNS:LTNS -latinists:LTNS:LTNS -latinized:LTNS:LTNS -latinizer:LTNS:LTNS -latinizes:LTNS:LTNS -latissimi:LTSM:LTSM -latitudes:LTTT:LTTT -latticing:LTSN:LTSN -laudation:LTXN:LTXN -laudatory:LTTR:LTTR -laughable:LFPL:LFPL -laughably:LFPL:LFPL -laughters:LFTR:LFTR -launchers:LNXR:LNKR -launching:LNXN:LNKN -laundered:LNTR:LNTR -launderer:LNTR:LNTR -laundress:LNTR:LNTR -laundries:LNTR:LNTR -laureates:LRTS:LRTS -laureling:LRLN:LRLN -lavaliere:LFLR:LFLR -lavenders:LFNT:LFNT -laverania:LFRN:LFRN -lavishers:LFXR:LFXR -lavishing:LFXN:LFXN -lawcourts:LKRT:LKRT -lawgivers:LJFR:LKFR -lawgiving:LJFN:LKFN -lawlessly:LLSL:LLSL -lawmakers:LMKR:LMKR -lawmaking:LMKN:LMKN -lawnmower:LNMR:LNMR -lawyeress:LRS:LRS -lawyering:LRNK:LRNK -laxatives:LKST:LKST -layshafts:LXFT:LXFT -lazarette:LSRT:LSRT -lazaretto:LSRT:LSRT -lazybones:LSPN:LSPN -leadingly:LTNK:LTNK -leafiness:LFNS:LFNS -leafleted:LFLT:LFLT -leafleter:LFLT:LFLT -leafstalk:LFST:LFST -leakiness:LKNS:LKNS -leakproof:LKPR:LKPR -leapfrogs:LPFR:LPFR -leapyears:LPRS:LPRS -learnable:LRNP:LRNP -learnedly:LRNT:LRNT -leaseback:LSPK:LSPK -leasehold:LSHL:LSHL -leaseless:LSLS:LSLS -leastways:LSTS:LSTS -leastwise:LSTS:LSTS -leathered:L0RT:LTRT -leavening:LFNN:LFNN -lecheries:LXRS:LKRS -lecherous:LXRS:LKRS -lecturers:LKTR:LKTR -lecturing:LKTR:LKTR -ledgeless:LJLS:LJLS -ledgeline:LJLN:LJLN -leeboards:LPRT:LPRT -leechlike:LKLK:LKLK -leeriness:LRNS:LRNS -leeringly:LRNK:LRNK -leewardly:LRTL:LRTL -leftovers:LFTF:LFTF -leftwards:LFTR:LFTR -legalisms:LKLS:LKLS -legalists:LKLS:LKLS -legalized:LKLS:LKLS -legalizes:LKLS:LKLS -legalness:LKLN:LKLN -legations:LKXN:LKXN -legendary:LJNT:LKNT -legerline:LJRL:LKRL -legginess:LKNS:LKNS -legginged:LKNJ:LKNK -legionary:LJNR:LKNR -legislate:LJLT:LKLT -legitimum:LJTM:LKTM -legomenon:LKMN:LKMN -legwarmer:LKRM:LKRM -leiomyoma:LMM:LMM -leistered:LSTR:LSTR -leisurely:LSRL:LSRL -leitmotif:LTMT:LTMT -lemmatize:LMTS:LMTS -lemmocyte:LMST:LMST -lemniscus:LMNS:LMNS -lemonades:LMNT:LMNT -lemurines:LMRN:LMRN -lemuroids:LMRT:LMRT -lengthens:LNK0:LNKT -lengthier:LNK0:LNKT -lengthily:LNK0:LNKT -lengthman:LNK0:LNKT -lengthmen:LNK0:LNKT -leniently:LNNT:LNNT -leningrad:LNNK:LNNK -leninists:LNNS:LNNS -leninites:LNNT:LNNT -lenticels:LNTS:LNTS -lenticula:LNTK:LNTK -lentiform:LNTF:LNTF -lepidoses:LPTS:LPTS -lepidosis:LPTS:LPTS -lepothrix:LP0R:LPTR -leprology:LPRL:LPRL -lepromata:LPRM:LPRM -leprosies:LPRS:LPRS -leprously:LPRS:LPRS -leptocyte:LPTS:LPTS -leptosome:LPTS:LPTS -leptotene:LPTT:LPTT -lessening:LSNN:LSNN -lethality:L0LT:LTLT -lethargic:L0RJ:LTRK -letterers:LTRR:LTRR -lettering:LTRN:LTRN -letterman:LTRM:LTRM -lettermen:LTRM:LTRM -letterset:LTRS:LTRS -leucaemia:LKM:LKM -leucocyte:LKST:LKST -leucopsin:LKPS:LKPS -leucotomy:LKTM:LKTM -leukaemia:LKM:LKM -leukaemic:LKMK:LKMK -leukemoid:LKMT:LKMT -leukocyte:LKST:LKST -leukopsin:LKPS:LKPS -leukotome:LKTM:LKTM -leukotomy:LKTM:LKTM -levantine:LFNT:LFNT -levanting:LFNT:LFNT -levatores:LFTR:LFTR -levelhead:LFLT:LFLT -levelness:LFLN:LFLN -leveraged:LFRJ:LFRK -leverages:LFRJ:LFRK -leviathan:LF0N:LFTN -leviation:LFXN:LFXN -levigated:LFKT:LFKT -levigates:LFKT:LFKT -levigator:LFKT:LFKT -leviratic:LFRT:LFRT -levissima:LFSM:LFSM -levitated:LFTT:LFTT -levitates:LFTT:LFTT -levitical:LFTK:LFTK -leviticus:LFTK:LFTK -lexically:LKSK:LKSK -lexigrams:LKSK:LKSK -liability:LPLT:LPLT -libations:LPXN:LPXN -libelants:LPLN:LPLN -libelists:LPLS:LPLS -liberally:LPRL:LPRL -liberated:LPRT:LPRT -liberates:LPRT:LPRT -liberator:LPRT:LPRT -liberians:LPRN:LPRN -liberties:LPRT:LPRT -libertine:LPRT:LPRT -libidinal:LPTN:LPTN -librarian:LPRR:LPRR -libraries:LPRR:LPRR -librating:LPRT:LPRT -libration:LPRX:LPRX -libratory:LPRT:LPRT -librettos:LPRT:LPRT -libriform:LPRF:LPRF -licensees:LSNS:LSNS -licensers:LSNS:LSNS -licensing:LSNS:LSNS -licensors:LSNS:LSNS -licensure:LSNS:LSNS -lichenoid:LXNT:LKNT -lichenose:LXNS:LKNS -lichenous:LXNS:LKNS -licitness:LSTN:LSTN -lidocaine:LTKN:LTKN -lienculus:LNKL:LNKL -lienteric:LNTR:LNTR -liesegang:LSKN:LSKN -lifeblood:LFPL:LFPL -lifeboats:LFPT:LFPT -lifeguard:LFKR:LFKR -lifelines:LFLN:LFLN -lifesaver:LFSF:LFSF -lifestyle:LFST:LFST -lifetimes:LFTM:LFTM -ligamenta:LKMN:LKMN -ligaments:LKMN:LKMN -ligations:LKXN:LKXN -ligatures:LKTR:LKTR -lightened:LTNT:LTNT -lightener:LTNR:LTNR -lightface:LTFS:LTFS -lighthead:L0T:LTT -lightings:LTNK:LTNK -lightless:LTLS:LTLS -lightness:LTNS:LTNS -lightning:LTNN:LTNN -lightship:LTXP:LTXP -lightsome:LTSM:LTSM -lignified:LNFT:LKNF -lignifies:LNFS:LKNF -ligniform:LNFR:LKNF -likeliest:LKLS:LKLS -liltingly:LLTN:LLTN -limbering:LMPR:LMPR -limburger:LMPR:LMPR -limekilns:LMKL:LMKL -limelight:LMLT:LMLT -limericks:LMRK:LMRK -limestone:LMST:LMST -limewater:LMTR:LMTR -limitable:LMTP:LMTP -limitably:LMTP:LMTP -limitedly:LMTT:LMTT -limitless:LMTL:LMTL -limonitic:LMNT:LMNT -limousine:LMSN:LMSN -limpiding:LMPT:LMPT -limpidity:LMPT:LMPT -limpingly:LMPN:LMPN -linchpins:LNXP:LNKP -linctuses:LNKT:LNKT -lineament:LNMN:LNMN -linearity:LNRT:LNRT -linearize:LNRS:LNRS -lineation:LNXN:LNXN -lineolate:LNLT:LNLT -lingerers:LNKR:LNJR -lingering:LNKR:LNJR -lingually:LNKL:LNKL -linguists:LNKS:LNKS -lingulate:LNKL:LNKL -liniments:LNMN:LNMN -linoleate:LNLT:LNLT -linolenic:LNLN:LNLN -linotypes:LNTP:LNTP -linstocks:LNST:LNST -lionesses:LNSS:LNSS -lionheart:LNRT:LNRT -lionizers:LNSR:LNSR -lionizing:LNSN:LNSN -lipectomy:LPKT:LPKT -lipidoses:LPTS:LPTS -lipidosis:LPTS:LPTS -lipoblast:LPPL:LPPL -lipocytes:LPST:LPST -lipogenic:LPJN:LPKN -lipolyses:LPLS:LPLS -lipolysis:LPLS:LPLS -lipolytic:LPLT:LPLT -lipopenia:LPPN:LPPN -lipophage:LPFJ:LPFK -lipophile:LPFL:LPFL -lipophore:LPFR:LPFR -liposomes:LPSM:LPSM -lipothymy:LP0M:LPTM -lippiness:LPNS:LPNS -lipsticks:LPST:LPST -liquating:LKTN:LKTN -liquation:LKXN:LKXN -liquefied:LKFT:LKFT -liquefier:LKF:LKFR -liquefies:LKFS:LKFS -liquesced:LKST:LKST -liquesces:LKSS:LKSS -liquidate:LKTT:LKTT -liquidity:LKTT:LKTT -liquidize:LKTS:LKTS -liquified:LKFT:LKFT -liquifier:LKF:LKFR -liquifies:LKFS:LKFS -liquorice:LKRS:LKRS -lispingly:LSPN:LSPN -lissomely:LSML:LSML -listeners:LSTN:LSTN -listening:LSTN:LSTN -listerism:LSTR:LSTR -listerize:LSTR:LSTR -literally:LTRL:LTRL -literatim:LTRT:LTRT -lithaemia:L0M:LTM -lithaemic:L0MK:LTMK -litheness:L0NS:LTNS -lithesome:L0SM:LTSM -lithiases:L0SS:LTSS -lithiasis:L0SS:LTSS -lithoidal:L0TL:LTTL -lithology:L0LJ:LTLK -lithotome:L0TM:LTTM -lithotomy:L0TM:LTTM -lithuania:L0N:LTN -litigable:LTKP:LTKP -litigants:LTKN:LTKN -litigated:LTKT:LTKT -litigates:LTKT:LTKT -litigator:LTKT:LTKT -litigious:LTJS:LTKS -litterbug:LTRP:LTRP -littering:LTRN:LTRN -liturgics:LTRJ:LTRK -liturgies:LTRJ:LTRK -liturgism:LTRJ:LTRK -liturgist:LTRJ:LTRK -liveliest:LFLS:LFLS -liverless:LFRL:LFRL -liverpool:LFRP:LFRP -liverwort:LFRR:LFRR -liveryman:LFRM:LFRM -liverymen:LFRM:LFRM -livestock:LFST:LFST -livetraps:LFTR:LFTR -lividness:LFTN:LFTN -lixiviate:LKSF:LKSF -loadicean:LTSN:LTSN -loadstars:LTST:LTST -loadstone:LTST:LTST -loaminess:LMNS:LMNS -loanshark:LNXR:LNXR -loanwords:LNRT:LNRT -loathness:L0NS:LTNS -loathsome:L0SM:LTSM -lobbyists:LPST:LPST -lobectomy:LPKT:LPKT -lobscouse:LPSK:LPSK -lobulated:LPLT:LPLT -localists:LKLS:LKLS -localized:LKLS:LKLS -localizer:LKLS:LKLS -localizes:LKLS:LKLS -localness:LKLN:LKLN -locatable:LKTP:LKTP -locations:LKXN:LKXN -locatives:LKTF:LKTF -locksmith:LKSM:LKSM -locomotor:LKMT:LKMT -locoweeds:LKTS:LKTS -loculated:LKLT:LKLT -locutions:LKXN:LKXN -lodestars:LTST:LTST -lodestone:LTST:LTST -lodgeable:LJPL:LJPL -lodgement:LJMN:LJMN -lodgments:LTKM:LTKM -loftiness:LFTN:LFTN -logarithm:LKR0:LKRT -logically:LJKL:LKKL -logicians:LJSN:LKXN -logicised:LJSS:LKSS -logicises:LJSS:LKSS -logistics:LJST:LKST -logograms:LKKR:LKKR -logograph:LKKR:LKKR -logogriph:LKKR:LKKR -logomachy:LKMK:LKMK -logopathy:LKP0:LKPT -logopedia:LKPT:LKPT -logorrhea:LKR:LKR -logospasm:LKSP:LKSP -logotypes:LKTP:LKTP -loincloth:LNKL:LNKL -loiterers:LTRR:LTRR -loitering:LTRN:LTRN -lollipops:LLPP:LLPP -lolloping:LLPN:LLPN -lollygags:LLKK:LLKK -londoners:LNTN:LNTN -loneliest:LNLS:LNLS -longboats:LNKP:LNKP -longcloth:LNKK:LNKK -longerons:LNKR:LNJR -longevity:LNJF:LNKF -longevous:LNJF:LNKF -longhairs:LNKR:LNKR -longhorns:LNKR:LNKR -longingly:LNJN:LNKN -longitude:LNJT:LNKT -longships:LNKX:LNKX -longstand:LNKS:LNKS -lookahead:LKHT:LKHT -lookalike:LKLK:LKLK -looniness:LNNS:LNNS -loopholes:LFLS:LFLS -looseness:LSNS:LSNS -loosening:LSNN:LSNN -lophodont:LFTN:LFTN -loquacity:LKST:LKST -lordliest:LRTL:LRTL -lordlings:LRTL:LRTL -lordships:LRTX:LRTX -lorgnette:LRNT:LRKN -loricated:LRKT:LRKT -lotharios:L0RS:LTRS -lotteries:LTRS:LTRS -loudening:LTNN:LTNN -loudmouth:LTM0:LTMT -louisiana:LSN:LXN -lousiness:LSNS:LSNS -loutishly:LTXL:LTXL -lovebirds:LFPR:LFPR -loveliest:LFLS:LFLS -lowerable:LRPL:LRPL -lowercase:LRKS:LRKS -lowermost:LRMS:LRMS -lowlander:LLNT:LLNT -lowliness:LLNS:LLNS -loxodromy:LKST:LKST -loyalists:LLST:LLST -loyalness:LLNS:LLNS -loyalties:LLTS:LLTS -lubricant:LPRK:LPRK -lubricate:LPRK:LPRK -lubricity:LPRS:LPRS -lubricous:LPRK:LPRK -lucidness:LSTN:LSTN -luciferin:LSFR:LSFR -luckiness:LKNS:LKNS -lucrative:LKRT:LKRT -lucubrate:LKPR:LKPR -ludicrous:LTKR:LTKR -lullabied:LLPT:LLPT -lullabies:LLPS:LLPS -lullingly:LLNK:LLNK -lumberers:LMRR:LMRR -lumbering:LMRN:LMRN -lumberman:LMRM:LMRM -lumbermen:LMRM:LMRM -lumbrical:LMPR:LMPR -lumbricus:LMPR:LMPR -luminance:LMNN:LMNN -luminesce:LMNS:LMNS -lumpiness:LMPN:LMPN -lunatical:LNTK:LNTK -luncheons:LNXN:LNKN -lunchroom:LNXR:LNKR -lunchtime:LNKT:LNKT -lunisolar:LNSL:LNSL -lunitidal:LNTT:LNTT -lunkheads:LNKT:LNKT -lunulated:LNLT:LNLT -lupinosis:LPNS:LPNS -luridness:LRTN:LRTN -lustfully:LSTF:LSTF -lustiness:LSTN:LSTN -lustrated:LSTR:LSTR -lustrates:LSTR:LSTR -lutanists:LTNS:LTNS -luteinize:LTNS:LTNS -lutenists:LTNS:LTNS -luteomata:LTMT:LTMT -lutherans:L0RN:LTRN -lutherism:L0RS:LTRS -luxembour:LKSM:LKSM -luxuriant:LKSR:LKSR -luxuriate:LKSR:LKSR -luxurious:LKSR:LKSR -lycorexia:LKRK:LKRK -lymphatic:LMFT:LMFT -lymphomas:LMFM:LMFM -lymphuria:LMFR:LMFR -lyophiled:LFLT:LFLT -lyophiles:LFLS:LFLS -lyophilic:LFLK:LFLK -lyophobes:LFPS:LFPS -lyophobic:LFPK:LFPK -lyotropic:LTRP:LTRP -lyrically:LRKL:LRKL -lyricised:LRSS:LRSS -lyricises:LRSS:LRSS -lyricists:LRSS:LRSS -lysogenic:LSJN:LSKN -lysosomal:LSSM:LSSM -lysosomes:LSSM:LSSM -lysozymes:LSSM:LSSM -macabrely:MKPR:MKPR -macadamia:MKTM:MKTM -macarised:MKRS:MKRS -macarises:MKRS:MKRS -macaronic:MKRN:MKRN -macaronis:MKRN:MKRN -macaroons:MKRN:MKRN -maccaroni:MKRN:MKRN -macedoine:MSTN:MSTN -macedonia:MSTN:MSTN -macerated:MSRT:MSRT -macerater:MSRT:MSRT -macerates:MSRT:MSRT -macerator:MSRT:MSRT -machinate:MXNT:MKNT -machinery:MXNR:MKNR -machining:MXNN:MKNN -machinist:MXNS:MKNS -machinize:MXNS:MKNS -macintosh:MSNT:MSNT -mackerels:MKRL:MKRL -mackinaws:MKNS:MKNS -macrocosm:MKRK:MKRK -macrocyst:MKRS:MKRS -macrocyte:MKRS:MKRS -macrodont:MKRT:MKRT -macroglia:MKRK:MKRL -macrolide:MKRL:MKRL -macromeli:MKRM:MKRM -macromere:MKRM:MKRM -macropsia:MKRP:MKRP -maculated:MKLT:MKLT -maculates:MKLT:MKLT -madaroses:MTRS:MTRS -madarosis:MTRS:MTRS -madarotic:MTRT:MTRT -maddening:MTNN:MTNN -madeleine:MTLN:MTLN -madhouses:MTSS:MTSS -madrepore:MTRP:MTRP -madrigals:MTRK:MTRK -madrilene:MTRL:MTRL -maelstrom:MLST:MLST -maenadism:MNTS:MNTS -maestosos:MSTS:MSTS -magazines:MKSN:MKSN -magdalene:MKTL:MKTL -magically:MJKL:MKKL -magicians:MJSN:MKXN -magicking:MJKN:MKKN -magistery:MJST:MKST -magistral:MJST:MKST -magmatism:MKMT:MKMT -magnesial:MNSL:MKNX -magnesian:MNSN:MKNX -magnesite:MNST:MKNS -magnesium:MNSM:MKNS -magnetics:MNTK:MKNT -magnetism:MNTS:MKNT -magnetist:MNTS:MKNT -magnetite:MNTT:MKNT -magnetize:MNTS:MKNT -magnetons:MNTN:MKNT -magnetron:MNTR:MKNT -magnifico:MNFK:MKNF -magnified:MNFT:MKNF -magnifier:MNF:MKNF -magnifies:MNFS:MKNF -magnitude:MNTT:MKNT -magnolias:MNLS:MKNL -maharajah:MHRJ:MHRH -maharanee:MHRN:MHRN -maharishi:MHRX:MHRX -mahlstick:MLST:MLST -mahometan:MHMT:MHMT -maidenish:MTNX:MTNX -mailboxes:MLPK:MLPK -mailcoach:MLKK:MLKK -mailsacks:MLSK:MLSK -mailwoman:MLMN:MLMN -mailwomen:MLMN:MLMN -mainbrace:MNPR:MNPR -mainframe:MNFR:MNFR -mainlands:MNLN:MNLN -mainlined:MNLN:MNLN -mainliner:MNLN:MNLN -mainlines:MNLN:MNLN -mainmasts:MNMS:MNMS -mainprize:MNPR:MNPR -mainsails:MNSL:MNSL -mainsheet:MNXT:MNXT -mainstays:MNST:MNST -mainsworn:MNSR:MNSR -maintains:MNTN:MNTN -majesties:MJST:MJST -majorally:MJRL:MHRL -majorette:MJRT:MHRT -majuscule:MJSK:MJSK -makefasts:MKFS:MKFS -makeshift:MKXF:MKXF -malachite:MLXT:MLKT -malacotic:MLKT:MLKT -maladjust:MLTJ:MLTJ -maladroit:MLTR:MLTR -malaguena:MLKN:MLKN -malamutes:MLMT:MLMT -malanders:MLNT:MLNT -malarious:MLRS:MLRS -malathion:ML0N:MLTN -malawians:MLNS:MLNS -malaxated:MLKS:MLKS -malayalam:MLLM:MLLM -malaysian:MLSN:MLXN -maledicts:MLTK:MLTK -maleficio:MLFS:MLFX -malformed:MLFR:MLFR -malicious:MLSS:MLXS -malignant:MLNN:MLKN -maligning:MLNN:MLKN -malignity:MLNT:MLKN -malingers:MLNK:MLNJ -malleable:MLPL:MLPL -malleably:MLPL:MLPL -mallemuck:MLMK:MLMK -malleolar:MLLR:MLLR -malleolus:MLLS:MLLS -malmaison:MLMS:MLMS -malpraxes:MLPR:MLPR -malpraxis:MLPR:MLPR -maltiness:MLTN:MLTN -maltreats:MLTR:MLTR -malunited:MLNT:MLNT -malvoisie:MLFS:MLFS -mamillary:MMLR:MMLR -mamillate:MMLT:MMLT -mammalgia:MMLJ:MMLK -mammalian:MMLN:MMLN -mammalogy:MMLJ:MMLK -mammiform:MMFR:MMFR -mammillae:MML:MML -mammogram:MMKR:MMKR -mammonish:MMNX:MMNX -mammonism:MMNS:MMNS -mammonist:MMNS:MMNS -mammonite:MMNT:MMNT -mammothes:MM0S:MMTS -mammotomy:MMTM:MMTM -manacling:MNKL:MNKL -manchuria:MNXR:MNKR -mancinism:MNSN:MNSN -manciples:MNSP:MNSP -mancunian:MNKN:MNKN -mandarine:MNTR:MNTR -mandarins:MNTR:MNTR -mandatary:MNTT:MNTT -mandatees:MNTT:MNTT -mandating:MNTT:MNTT -mandatory:MNTT:MNTT -mandelate:MNTL:MNTL -mandibles:MNTP:MNTP -mandolins:MNTL:MNTL -mandorlas:MNTR:MNTR -mandrakes:MNTR:MNTR -mandrills:MNTR:MNTR -manducate:MNTK:MNTK -maneuvers:MNFR:MNFR -mangabeys:MNKP:MNKP -manganate:MNKN:MNKN -manganese:MNKN:MNKN -manganite:MNKN:MNKN -manganous:MNKN:MNKN -mangetout:MNKT:MNKT -manginess:MNJN:MNKN -mangonels:MNKN:MNKN -mangroves:MNKR:MNKR -manhandle:MNNT:MNNT -manhattan:MNTN:MNTN -manhunter:MNNT:MNNT -manically:MNKL:MNKL -manicotti:MNKT:MNKT -manicured:MNKR:MNKR -manicures:MNKR:MNKR -manifesto:MNFS:MNFS -manifests:MNFS:MNFS -manifolds:MNFL:MNFL -maniplies:MNPL:MNPL -manipular:MNPL:MNPL -manitobas:MNTP:MNTP -manliness:MNLN:MNLN -mannequin:MNKN:MNKN -mannerism:MNRS:MNRS -mannerist:MNRS:MNRS -mannishly:MNXL:MNXL -manoeuver:MNFR:MNFR -manoeuvre:MNFR:MNFR -manometry:MNMT:MNMT -manslayer:MNSL:MNSL -mansuetae:MNST:MNST -mantelets:MNTL:MNTL -mantillas:MNTL:MNTL -mantissas:MNTS:MNTS -manubrial:MNPR:MNPR -manubrium:MNPR:MNPR -manyplies:MNPL:MNPL -maquettes:MKTS:MKTS -marasmoid:MRSM:MRSM -marathons:MR0N:MRTN -marauders:MRTR:MRTR -marauding:MRTN:MRTN -marbleize:MRPL:MRPL -marblings:MRPL:MRPL -marcasite:MRKS:MRKS -marceling:MRSL:MRSL -marchland:MRXL:MRKL -margarine:MRKR:MRKR -margarita:MRKR:MRKR -margarite:MRKR:MRKR -marginate:MRJN:MRKN -margining:MRJN:MRKN -margraves:MRKR:MRKR -mariachis:MRXS:MRKS -marigolds:MRKL:MRKL -marigrams:MRKR:MRKR -marigraph:MRKR:MRKR -marihuana:MRHN:MRHN -marijuana:MRJN:MRJN -marinaded:MRNT:MRNT -marinades:MRNT:MRNT -marinated:MRNT:MRNT -marinates:MRNT:MRNT -mariology:MRLJ:MRLK -marischal:MRXL:MRXL -maritages:MRTJ:MRTK -maritagia:MRTJ:MRTK -maritally:MRTL:MRTL -marjorams:MRJR:MRJR -markdowns:MRKT:MRKT -marketeer:MRKT:MRKT -marketers:MRKT:MRKT -marketing:MRKT:MRKT -marmalade:MRML:MRML -marmolite:MRML:MRML -marmorate:MRMR:MRMR -marmoreal:MRMR:MRMR -marmosets:MRMS:MRMS -marooning:MRNN:MRNN -marquetry:MRKT:MRKT -marquises:MRKS:MRKS -marriages:MRJS:MRKS -marrowfat:MRFT:MRFT -marseille:MRSL:MRSL -marshalcy:MRXL:MRXL -marshaled:MRXL:MRXL -marshbuck:MRXP:MRXP -marshiest:MRXS:MRXS -marshland:MRXL:MRXL -marshlike:MRXL:MRXL -marshwort:MRXR:MRXR -marsupial:MRSP:MRSP -marsupian:MRSP:MRSP -marsupium:MRSP:MRSP -martialed:MRXL:MRXL -martially:MRXL:MRXL -martinets:MRTN:MRTN -martinson:MRTN:MRTN -martyrdom:MRTR:MRTR -martyries:MRTR:MRTR -martyring:MRTR:MRTR -martyrize:MRTR:MRTR -marveling:MRFL:MRFL -marvelous:MRFL:MRFL -marzipans:MRSP:MRSP -masculine:MSKL:MSKL -mashgiach:MXJK:MXKK -mashgihim:MXJH:MXKH -masochism:MSXS:MSKS -masochist:MSXS:MSKS -masonries:MSNR:MSNR -masonwork:MSNR:MSNR -massacred:MSKR:MSKR -massacrer:MSKR:MSKR -massacres:MSKR:MSKR -massagers:MSKR:MSJR -massaging:MSJN:MSKN -massagist:MSJS:MSKS -masscults:MSKL:MSKL -masseuses:MSSS:MSSS -massiness:MSNS:MSNS -massively:MSFL:MSFL -mastalgia:MSTL:MSTL -masterdom:MSTR:MSTR -masterful:MSTR:MSTR -masteries:MSTR:MSTR -mastering:MSTR:MSTR -masterson:MSTR:MSTR -mastheads:MS0T:MSTT -masticate:MSTK:MSTK -mastigote:MSTK:MSTK -mastocyte:MSTS:MSTS -mastodons:MSTT:MSTT -mastoidal:MSTT:MSTT -mastoncus:MSTN:MSTN -mastopexy:MSTP:MSTP -mastotomy:MSTT:MSTT -matagouri:MTKR:MTKR -matchable:MXPL:MXPL -matchbook:MXPK:MXPK -matchings:MXNK:MXNK -matchless:MXLS:MXLS -matchlock:MXLK:MXLK -matchmark:MXMR:MXMR -matchstic:MXST:MXST -matchwood:MXT:MXT -matelasse:MTLS:MTLS -materials:MTRL:MTRL -maternity:MTRN:MTRN -matertera:MTRT:MTRT -matriarch:MTRR:MTRR -matricide:MTRS:MTRS -matriline:MTRL:MTRL -matriliny:MTRL:MTRL -matrimony:MTRM:MTRM -matrixing:MTRK:MTRK -matronage:MTRN:MTRN -mattamore:MTMR:MTMR -mattering:MTRN:MTRN -maturated:MTRT:MTRT -maturates:MTRT:MTRT -matutinal:MTTN:MTTN -maudlinly:MTLN:MTLN -maulstick:MLST:MLST -maundered:MNTR:MNTR -maunderer:MNTR:MNTR -mauritian:MRXN:MRXN -mauritius:MRTS:MRTS -mausolean:MSLN:MSLN -mausoleum:MSLM:MSLM -mavericks:MFRK:MFRK -mawkishly:MKXL:MKXL -maxillaes:MKSL:MKSL -maxillary:MKSL:MKSL -maximally:MKSM:MKSM -maximized:MKSM:MKSM -maximizer:MKSM:MKSM -maximizes:MKSM:MKSM -mayflower:MFLR:MFLR -mayheming:MHMN:MHMN -mayhemmed:MHMT:MHMT -mayoralty:MRLT:MRLT -mayordomo:MRTM:MRTM -mayorship:MRXP:MRXP -mcnaghten:MKNK:MKNK -mealiness:MLNS:MLNS -mealtimes:MLTM:MLTM -mealworms:MLRM:MLRM -mealybugs:MLPK:MLPK -meandered:MNTR:MNTR -meanderer:MNTR:MNTR -meaningly:MNNK:MNNK -meanwhile:MNL:MNL -measliest:MSLS:MSLS -measurage:MSRJ:MSRK -measurers:MSRR:MSRR -measuring:MSRN:MSRN -meatballs:MTPL:MTPL -meatheads:M0TS:MTTS -meatiness:MTNS:MTNS -meatotomy:MTTM:MTTM -mechanics:MXNK:MKNK -mechanism:MXNS:MKNS -mechanist:MXNS:MKNS -mechanize:MXNS:MKNS -medalists:MTLS:MTLS -medalling:MTLN:MTLN -medallion:MTLN:MTLN -medallist:MTLS:MTLS -mediately:MTTL:MTTL -mediating:MTTN:MTTN -mediation:MTXN:MTXN -mediative:MTTF:MTTF -mediatize:MTTS:MTTS -mediators:MTTR:MTTR -mediatory:MTTR:MTTR -mediatrix:MTTR:MTTR -medicable:MTKP:MTKP -medicably:MTKP:MTKP -medically:MTKL:MTKL -medicated:MTKT:MTKT -medicates:MTKT:MTKT -medicator:MTKT:MTKT -medicinal:MTSN:MTSN -medicines:MTSN:MTSN -medietate:MTTT:MTTT -meditated:MTTT:MTTT -meditates:MTTT:MTTT -meditatio:MTTT:MTTT -meditator:MTTT:MTTT -medullaes:MTLS:MTLS -medullary:MTLR:MTLR -mefenamic:MFNM:MFNM -megabytes:MKPT:MKPT -megacepha:MKSF:MKSF -megacolon:MKKL:MKKL -megacycle:MKSK:MKSK -megadeath:MKT0:MKTT -megadonty:MKTN:MKTN -megadoses:MKTS:MKTS -megaflops:MKFL:MKFL -megahertz:MKHR:MKHR -megaliths:MKL0:MKLT -megaphone:MKFN:MKFN -megapodes:MKPT:MKPT -megaspore:MKSP:MKSP -megastars:MKST:MKST -megathere:MK0R:MKTR -megatonic:MKTN:MKTN -megavolts:MKFL:MKFL -megawatts:MKTS:MKTS -megillahs:MJLS:MKLS -meibomian:MPMN:MPMN -meiotical:MTKL:MTKL -melaleuca:MLLK:MLLK -melanemia:MLNM:MLNM -melanesia:MLNS:MLNX -melangeur:MLNJ:MLNK -melanized:MLNS:MLNS -melanizes:MLNS:MLNS -melanogen:MLNJ:MLNK -melanomas:MLNM:MLNM -melanoses:MLNS:MLNS -melanosis:MLNS:MLNS -melanotic:MLNT:MLNT -melanuria:MLNR:MLNR -melanuric:MLNR:MLNR -melatonin:MLTN:MLTN -melbourne:MLPR:MLPR -melibiose:MLPS:MLPS -meliorate:MLRT:MLRT -meliorism:MLRS:MLRS -meliorist:MLRS:MLRS -melismata:MLSM:MLSM -melituria:MLTR:MLTR -mellowest:MLST:MLST -mellowing:MLNK:MLNK -melodical:MLTK:MLTK -melodious:MLTS:MLTS -melodises:MLTS:MLTS -melodists:MLTS:MLTS -melodized:MLTS:MLTS -melodizer:MLTS:MLTS -melodizes:MLTS:MLTS -melodrama:MLTR:MLTR -melomania:MLMN:MLMN -melphalan:MLFL:MLFL -meltdowns:MLTN:MLTN -meltingly:MLTN:MLTN -meltwater:MLTT:MLTT -melungeon:MLNJ:MLNK -membranae:MMPR:MMPR -membranal:MMPR:MMPR -membranes:MMPR:MMPR -mementoes:MMNT:MMNT -memorable:MMRP:MMRP -memorably:MMRP:MMRP -memoranda:MMRN:MMRN -memorials:MMRL:MMRL -memoriter:MMRT:MMRT -memorized:MMRS:MMRS -memorizer:MMRS:MMRS -memorizes:MMRS:MMRS -menadione:MNTN:MNTN -menagerie:MNKR:MNJR -mendacity:MNTS:MNTS -mendelian:MNTL:MNTL -mendelism:MNTL:MNTL -mendelist:MNTL:MNTL -mendelize:MNTL:MNTL -mendicant:MNTK:MNTK -mendicity:MNTS:MNTS -menhadens:MNTN:MNTN -meningeal:MNNJ:MNNK -meningism:MNNJ:MNNK -meniscoid:MNSK:MNSK -mennonite:MNNT:MNNT -menopause:MNPS:MNPS -menorrhea:MNR:MNR -menotaxes:MNTK:MNTK -menotaxis:MNTK:MNTK -menstrual:MNST:MNST -menstruum:MNST:MNST -mentalist:MNTL:MNTL -mentality:MNTL:MNTL -mentation:MNTX:MNTX -menticide:MNTS:MNTS -mentioned:MNXN:MNXN -mentioner:MNXN:MNXN -mepacrine:MPKR:MPKR -merbromin:MRPR:MRPR -mercaptal:MRKP:MRKP -mercaptan:MRKP:MRKP -mercenary:MRSN:MRSN -mercerize:MRSR:MRSR -merchants:MRXN:MRKN -merciless:MRSL:MRSL -mercurial:MRKR:MRKR -mercuries:MRKR:MRKR -mercurous:MRKR:MRKR -merganser:MRKN:MRKN -meridians:MRTN:MRTN -meringues:MRNK:MRNK -meritable:MRTP:MRTP -meritedly:MRTT:MRTT -merocrine:MRKR:MRKR -merogenic:MRJN:MRKN -merogonic:MRKN:MRKN -merozoite:MRST:MRST -merriment:MRMN:MRMN -merriness:MRNS:MRNS -mescaline:MSKL:MSKL -mescalism:MSKL:MSKL -mesentera:MSNT:MSNT -mesentery:MSNT:MSNT -mesmerism:MSMR:MSMR -mesmerist:MSMR:MSMR -mesmerize:MSMR:MSMR -mesoblast:MSPL:MSPL -mesocecum:MSSK:MSSK -mesocolon:MSKL:MSKL -mesoconch:MSKN:MSKN -mesodonty:MSTN:MSTN -mesomeric:MSMR:MSMR -mesomorph:MSMR:MSMR -mesophile:MSFL:MSFL -mesophrya:MSFR:MSFR -mesorchia:MSRK:MSRK -mesorhine:MSRN:MSRN -mesovaria:MSFR:MSFR -mesquites:MSKT:MSKT -messenger:MSNK:MSNJ -messianic:MSNK:MSNK -messieurs:MSRS:MSRS -messiness:MSNS:MSNS -messmates:MSMT:MSMT -mestizoes:MSTS:MSTS -mestranol:MSTR:MSTR -metabases:MTPS:MTPS -metabasis:MTPS:MTPS -metabolic:MTPL:MTPL -metacarpi:MTKR:MTKR -metaconid:MTKN:MTKN -metagenic:MTJN:MTKN -metalloid:MTLT:MTLT -metalware:MTLR:MTLR -metalwork:MTLR:MTLR -metameric:MTMR:MTMR -metaphase:MTFS:MTFS -metaphors:MTFR:MTFR -metatarsi:MTTR:MTTR -meteorism:MTRS:MTRS -meteorite:MTRT:MTRT -meteoroid:MTRT:MTRT -metestrum:MTST:MTST -metestrus:MTST:MTST -methadone:M0TN:MTTN -methiodal:M0TL:MTTL -methodism:M0TS:MTTS -methodist:M0TS:MTTS -methodize:M0TS:MTTS -methought:M0T:MTT -methylase:M0LS:MTLS -methylate:M0LT:MTLT -methylene:M0LN:MTLN -metricate:MTRK:MTRK -metricize:MTRS:MTRS -metrocele:MTRS:MTRS -metrocyte:MTRS:MTRS -metrology:MTRL:MTRL -metronome:MTRN:MTRN -metrotome:MTRT:MTRT -mevalonic:MFLN:MFLN -mezzanine:MSNN:MTSN -miasmatic:MSMT:MSMT -micaceous:MKSS:MKSS -michaelis:MKLS:MXLS -microbial:MKRP:MKRP -microbian:MKRP:MKRP -microbion:MKRP:MKRP -microbism:MKRP:MKRP -microbody:MKRP:MKRP -microchip:MKRX:MKRK -microcode:MKRK:MKRK -microcopy:MKRK:MKRK -microcosm:MKRK:MKRK -microcyst:MKRS:MKRS -microcyte:MKRS:MKRS -microdont:MKRT:MKRT -microfilm:MKRF:MKRF -microform:MKRF:MKRF -microglia:MKRK:MKRL -microgram:MKRK:MKRK -microlith:MKRL:MKRL -micrology:MKRL:MKRL -micromeli:MKRM:MKRM -micropsia:MKRP:MKRP -microptic:MKRP:MKRP -micropyle:MKRP:MKRP -microsome:MKRS:MKRS -microtome:MKRT:MKRT -microtomy:MKRT:MKRT -microvolt:MKRF:MKRF -microwave:MKRF:MKRF -microword:MKRR:MKRR -microzoon:MKRS:MKRS -micrurgic:MKRR:MKRR -micturate:MKTR:MKTR -midcarpal:MTKR:MTKR -middleman:MTLM:MTLM -middlemen:MTLM:MTLM -middorsal:MTRS:MTRS -midnights:MTNT:MTNT -midpoints:MTPN:MTPN -midstream:MTST:MTST -midsummer:MTSM:MTSM -midtarsal:MTRS:MTRS -midweekly:MTKL:MTKL -midwifery:MTFR:MTFR -midwifing:MTFN:MTFN -midwinter:MTNT:MTNT -midwiving:MTFN:MTFN -mightiest:MTST:MTST -migraines:MKRN:MKRN -migrantes:MKRN:MKRN -migrating:MKRT:MKRT -migration:MKRX:MKRX -migratory:MKRT:MKRT -mildewing:MLTN:MLTN -mileposts:MLPS:MLPS -milestone:MLST:MLST -militancy:MLTN:MLTN -militants:MLTN:MLTN -militated:MLTT:MLTT -militates:MLTT:MLTT -milkiness:MLKN:MLKN -milkmaids:MLKM:MLKM -milkweeds:MLKT:MLKT -millennia:MLN:MLN -millepede:MLPT:MLPT -milliards:MLRT:MLRT -milligram:MLKR:MLKR -millimole:MLML:MLML -milliners:MLNR:MLNR -millinery:MLNR:MLNR -millionth:MLN0:MLNT -millipede:MLPT:MLPT -millivolt:MLFL:MLFL -millponds:MLPN:MLPN -millraces:MLRS:MLRS -millstone:MLST:MLST -milphosis:MLFS:MLFS -milwaukee:MLK:MLK -mimickers:MMKR:MMKR -mimicking:MMKN:MMKN -mimicries:MMKR:MMKR -mimmation:MMXN:MMXN -mincemeat:MNSM:MNSM -mindfully:MNTF:MNTF -minefield:MNFL:MNFL -minelayer:MNLR:MNLR -miniature:MNTR:MNTR -minibikes:MNPK:MNPK -minibuses:MNPS:MNPS -minimally:MNML:MNML -minimized:MNMS:MNMS -minimizer:MNMS:MNMS -minimizes:MNMS:MNMS -miniskirt:MNSK:MNSK -ministate:MNST:MNST -ministers:MNST:MNST -minnesota:MNST:MNST -minstrels:MNST:MNST -minuscule:MNSK:MNSK -minuteman:MNTM:MNTM -minutemen:MNTM:MNTM -miocardia:MKRT:MKRT -mirabilia:MRPL:MRPL -miracidia:MRST:MRST -mirroring:MRRN:MRRN -mirthless:MR0L:MRTL -misadjust:MSTJ:MSTJ -misadvise:MSTF:MSTF -misallege:MSLJ:MSLK -misbehave:MSPH:MSPH -misbelief:MSPL:MSPL -miscalled:MSKL:MSKL -mischance:MXNS:MXNS -mischarge:MXRJ:MXRK -mischiefs:MXFS:MXFS -miscopied:MSKP:MSKP -miscopies:MSKP:MSKP -miscounts:MSKN:MSKN -miscreant:MSKN:MSKN -misdating:MSTT:MSTT -misdefine:MSTF:MSTF -misdirect:MSTR:MSTR -misdoings:MSTN:MSTN -misemploy:MSMP:MSMP -miserable:MSRP:MSRP -miserably:MSRP:MSRP -misfeasor:MSFS:MSFS -misfiling:MSFL:MSFL -misfiring:MSFR:MSFR -misgiving:MSJF:MSKF -misgovern:MSKF:MSKF -misguided:MSKT:MSKT -misguider:MSKT:MSKT -misguides:MSKT:MSKT -mishandle:MXNT:MXNT -misinform:MSNF:MSNF -misjudged:MSJT:MSJT -misjudges:MSJS:MSJS -mislabels:MLPL:MLPL -mislayers:MLRS:MLRS -mislaying:MLNK:MLNK -misleader:MLTR:MLTR -mislocate:MLKT:MLKT -mismanage:MSMN:MSMN -mismating:MSMT:MSMT -misnaming:MSNM:MSNM -misnomers:MSNM:MSNM -misnumber:MSNM:MSNM -misogynic:MSJN:MSKN -misoneism:MSNS:MSNS -misoneist:MSNS:MSNS -misopedia:MSPT:MSPT -misplaced:MSPL:MSPL -misplaces:MSPL:MSPL -misplayed:MSPL:MSPL -mispriced:MSPR:MSPR -misprints:MSPR:MSPR -misquoted:MSKT:MSKT -misquotes:MSKT:MSKT -misreport:MSRP:MSRP -misruling:MSRL:MSRL -misshaped:MSPT:MSPT -misshapen:MSPN:MSPN -misshapes:MSPS:MSPS -missilery:MSLR:MSLR -missioner:MSNR:MSNR -missorted:MSRT:MSRT -misspells:MSPL:MSPL -misspends:MSPN:MSPN -misstated:MSTT:MSTT -misstates:MSTT:MSTT -mistaking:MSTK:MSTK -mistakion:MSTK:MSTK -mistermed:MSTR:MSTR -mistiming:MSTM:MSTM -mistiness:MSTN:MSTN -mistitled:MSTT:MSTT -mistitles:MSTT:MSTT -mistletoe:MSTL:MSTL -mistreats:MSTR:MSTR -mistrials:MSTR:MSTR -mistrusts:MSTR:MSTR -mistuning:MSTN:MSTN -mistyping:MSTP:MSTP -misvalued:MSFL:MSFL -miticidal:MTST:MTST -mitigated:MTKT:MTKT -mitigates:MTKT:MTKT -mitigator:MTKT:MTKT -mitogenic:MTJN:MTKN -mitomycin:MTMS:MTMS -mitospore:MTSP:MTSP -mnemonics:MNMN:MNMN -mobiliary:MPLR:MPLR -mobilized:MPLS:MPLS -mobilizer:MPLS:MPLS -mobilizes:MPLS:MPLS -mobocracy:MPKR:MPKR -moccasins:MKSN:MKSN -mockingly:MKNK:MKNK -modelings:MTLN:MTLN -moderated:MTRT:MTRT -moderates:MTRT:MTRT -moderator:MTRT:MTRT -modernism:MTRN:MTRN -modernist:MTRN:MTRN -modernity:MTRN:MTRN -modernize:MTRN:MTRN -modifiers:MTFR:MTFR -modifying:MTFN:MTFN -modularly:MTLR:MTLR -modulated:MTLT:MTLT -modulates:MTLT:MTLT -modulator:MTLT:MTLT -mogilalia:MJLL:MKLL -moistened:MSTN:MSTN -moistener:MSTN:MSTN -moistness:MSTN:MSTN -moldboard:MLTP:MLTP -moldering:MLTR:MLTR -moldiness:MLTN:MLTN -molecular:MLKL:MLKL -molecules:MLKL:MLKL -molehills:MLHL:MLHL -moleskins:MLSK:MLSK -molesters:MLST:MLST -molesting:MLST:MLST -mollified:MLFT:MLFT -mollifier:MLF:MLFR -mollifies:MLFS:MLFS -mollities:MLTS:MLTS -molluscan:MLSK:MLSK -molluscum:MLSK:MLSK -molluskan:MLSK:MLSK -molybdate:MLPT:MLPT -molybdous:MLPT:MLPT -momentary:MMNT:MMNT -momentous:MMNT:MMNT -momentums:MMNT:MMNT -monadidae:MNTT:MNTT -monarchic:MNRX:MNRK -monastery:MNST:MNST -monastics:MNST:MNST -monatomic:MNTM:MNTM -monaxonic:MNKS:MNKS -monetized:MNTS:MNTS -monetizes:MNTS:MNTS -moneybags:MNPK:MNPK -mongolian:MNKL:MNKL -mongolism:MNKL:MNKL -mongoloid:MNKL:MNKL -mongooses:MNKS:MNKS -monitions:MNXN:MNXN -monitored:MNTR:MNTR -monkeying:MNKN:MNKN -monkishly:MNKX:MNKX -monkshood:MNKX:MNKX -monoamine:MNMN:MNMN -monobasic:MNPS:MNPS -monoblast:MNPL:MNPL -monochord:MNXR:MNKR -monocular:MNKL:MNKL -monoculus:MNKL:MNKL -monocytes:MNST:MNST -monocytic:MNST:MNST -monodists:MNTS:MNTS -monoester:MNST:MNST -monogamic:MNKM:MNKM -monogenic:MNJN:MNKN -monograms:MNKR:MNKR -monograph:MNKR:MNKR -monolayer:MNLR:MNLR -monoliths:MNL0:MNLT -monologic:MNLJ:MNLK -monologue:MNLK:MNLK -monomania:MNMN:MNMN -monomelic:MNML:MNML -monomeric:MNMR:MNMR -monomials:MNML:MNML -monoplane:MNPL:MNPL -monoploid:MNPL:MNPL -monopodia:MNPT:MNPT -monopoles:MNPL:MNPL -monopsony:MNPS:MNPS -monorails:MNRL:MNRL -monorchid:MNRK:MNRK -monorchis:MNRX:MNRK -monosomic:MNSM:MNSM -monotones:MNTN:MNTN -monotonic:MNTN:MNTN -monotreme:MNTR:MNTR -monovular:MNFL:MNFL -monoxides:MNKS:MNKS -monsignor:MNSN:MNSK -monsoonal:MNSN:MNSN -monstrans:MNST:MNST -monstrous:MNST:MNST -montanans:MNTN:MNTN -monteggia:MNTK:MNTK -montezuma:MNTS:MNTS -monthlies:MN0L:MNTL -monuments:MNMN:MNMN -moodiness:MTNS:MTNS -moonbeams:MNPM:MNPM -moonlight:MNLT:MNLT -moonscape:MNSK:MNSK -moonshine:MNXN:MNXN -moonshots:MNXT:MNXT -moonstone:MNST:MNST -moonwalks:MNLK:MNLK -moorlands:MRLN:MRLN -moralists:MRLS:MRLS -moralized:MRLS:MRLS -moralizer:MRLS:MRLS -moralizes:MRLS:MRLS -moratoria:MRTR:MRTR -morbidity:MRPT:MRPT -mordantly:MRTN:MRTN -mormonism:MRMN:MRMN -moroccans:MRKN:MRKN -morphemes:MRFM:MRFM -morphemic:MRFM:MRFM -morphinic:MRFN:MRFN -morphisms:MRFS:MRFS -morphoeae:MRF:MRF -morphoses:MRFS:MRFS -morphosis:MRFS:MRFS -morphotic:MRFT:MRFT -mortality:MRTL:MRTL -mortaring:MRTR:MRTR -mortgaged:MRTK:MRTK -mortgagee:MRTK:MRTK -mortgager:MRTK:MRTK -mortgages:MRTK:MRTK -mortgagor:MRTK:MRTK -mortician:MRTS:MRTX -mortified:MRTF:MRTF -mortifies:MRTF:MRTF -mosaicism:MSSS:MSSS -mosquitos:MSKT:MSKT -mossbacks:MSPK:MSPK -mossiness:MSNS:MSNS -mothballs:M0PL:MTPL -motherers:M0RR:MTRR -mothering:M0RN:MTRN -mothproof:M0PR:MTPR -motioning:MXNN:MXNN -motivated:MTFT:MTFT -motivates:MTFT:MTFT -motivator:MTFT:MTFT -motorbike:MTRP:MTRP -motorboat:MTRP:MTRP -motorcade:MTRK:MTRK -motorcars:MTRK:MTRK -motorists:MTRS:MTRS -motorized:MTRS:MTRS -motorizes:MTRS:MTRS -motorship:MTRX:MTRX -mouldiest:MLTS:MLTS -mountable:MNTP:MNTP -mountains:MNTN:MNTN -mountings:MNTN:MNTN -mousetrap:MSTR:MSTR -mousiness:MSNS:MSNS -moustache:MSTX:MSTK -mouthfuls:M0FL:MTFL -mouthiest:M0ST:MTST -mouthpart:M0PR:MTPR -mouthwash:M0X:MTX -movements:MFMN:MFMN -mucifying:MSFN:MSFN -mucilages:MSLJ:MSLK -mucinogen:MSNJ:MSNK -mucinoses:MSNS:MSNS -mucinosis:MSNS:MSNS -muckraked:MKRK:MKRK -muckraker:MKRK:MKRK -muckrakes:MKRK:MKRK -mucocoele:MKKL:MKKL -mucolytic:MKLT:MKLT -mucorales:MKRL:MKRL -mucositis:MKST:MKST -mucronate:MKRN:MKRN -muddiness:MTNS:MTNS -mudguards:MTKR:MTKR -muggering:MKRN:MKRN -mugginess:MKNS:MKNS -mulattoes:MLTS:MLTS -muleteers:MLTR:MLTR -muliebria:MLPR:MLPR -multiceps:MLTS:MLTS -multifidi:MLTF:MLTF -multiform:MLTF:MLTF -multipara:MLTP:MLTP -multiples:MLTP:MLTP -multiplex:MLTP:MLTP -multitude:MLTT:MLTT -mumblings:MMPL:MMPL -mummified:MMFT:MMFT -mummifies:MMFS:MMFS -muncupate:MNKP:MNKP -mundanely:MNTN:MNTN -municipal:MNSP:MNSP -munitions:MNXN:MNXN -murderers:MRTR:MRTR -murderess:MRTR:MRTR -murdering:MRTR:MRTR -murderous:MRTR:MRTR -murkiness:MRKN:MRKN -murmurers:MRMR:MRMR -murmuring:MRMR:MRMR -murmurous:MRMR:MRMR -muscarine:MSKR:MSKR -muscatels:MSKT:MSKT -musclemen:MSKM:MSKM -muscovite:MSKF:MSKF -mushiness:MXNS:MXNS -mushrooms:MXRM:MXRM -musicales:MSKL:MSKL -musically:MSKL:MSKL -musicians:MSSN:MSXN -musketeer:MSKT:MSKT -muskiness:MSKN:MSKN -muskmelon:MSKM:MSKM -mussiness:MSNS:MSNS -mussolini:MSLN:MSLN -mustached:MSTX:MSTK -mustaches:MSTX:MSTK -mustachio:MSTX:MSTK -mustering:MSTR:MSTR -mustiness:MSTN:MSTN -mutagenic:MTJN:MTKN -mutations:MTXN:MTXN -mutilated:MTLT:MTLT -mutilates:MTLT:MTLT -mutilator:MTLT:MTLT -mutineers:MTNR:MTNR -mutinying:MTNN:MTNN -mutterers:MTRR:MTRR -muttering:MTRN:MTRN -mutualism:MTLS:MTLS -mutualist:MTLS:MTLS -mutuality:MTLT:MTLT -mutuaries:MTRS:MTRS -mycelioid:MSLT:MSLT -mycetismi:MSTS:MSTS -mycetomas:MSTM:MSTM -mycetozoa:MSTS:MSTS -mycoderma:MKTR:MKTR -mycologic:MKLJ:MKLK -mycomycin:MKMS:MKMS -mycotoxic:MKTK:MKTK -mycotoxin:MKTK:MKTK -mydriases:MTRS:MTRS -mydriasis:MTRS:MTRS -mydriatic:MTRT:MTRT -myelocele:MLSL:MLSL -myelocyte:MLST:MLST -myelogram:MLKR:MLKR -myelomata:MLMT:MLMT -myelomere:MLMR:MLMR -myeloplax:MLPL:MLPL -myenteric:MNTR:MNTR -myenteron:MNTR:MNTR -mylohyoid:MLHT:MLHT -myocardia:MKRT:MKRT -myoclonia:MKLN:MKLN -myoclonic:MKLN:MKLN -myoclonus:MKLN:MKLN -myocommas:MKMS:MKMS -myoedemas:MTMS:MTMS -myofibril:MFPR:MFPR -myogenous:MJNS:MKNS -myoglobin:MKLP:MKLP -myography:MKRF:MKRF -myokinase:MKNS:MKNS -myolemmas:MLMS:MLMS -myolipoma:MLPM:MLPM -myologies:MLJS:MLKS -myomatous:MMTS:MMTS -myoneural:MNRL:MNRL -myopalmus:MPLM:MPLM -myopathic:MP0K:MPTK -myoplasty:MPLS:MPLS -myoseptum:MSPT:MSPT -myotactic:MTKT:MTKT -myotomies:MTMS:MTMS -myotrophy:MTRF:MTRF -myrmidons:MRMT:MRMT -mysteries:MSTR:MSTR -mysticism:MSTS:MSTS -mystified:MSTF:MSTF -mystifier:MSTF:MSTF -mystifies:MSTF:MSTF -mystiques:MSTK:MSTK -mythology:M0LJ:MTLK -myxedemas:MKST:MKST -myxidiocy:MKST:MKST -myxorrhea:MKSR:MKSR -myxospore:MKSS:MKSS -myxoviral:MKSF:MKSF -myxovirus:MKSF:MKSF -nabothian:NP0N:NPTN -nailbrush:NLPR:NLPR -nailheads:NLTS:NLTS -naiveness:NFNS:NFNS -nakedness:NKTN:NKTN -nalidixic:NLTK:NLTK -nameplate:NMPL:NMPL -namesakes:NMSK:NMSK -nanometer:NNMT:NNMT -nanosomia:NNSM:NNSM -nanosomus:NNSM:NNSM -napalming:NPLM:NPLM -naphthous:NF0S:NFTS -napoleons:NPLN:NPLN -naprapath:NPRP:NPRP -narcissus:NRSS:NRSS -narcomata:NRKM:NRKM -narcotics:NRKT:NRKT -narcotine:NRKT:NRKT -narcotism:NRKT:NRKT -narcotist:NRKT:NRKT -narcotize:NRKT:NRKT -narrating:NRTN:NRTN -narration:NRXN:NRXN -narrative:NRTF:NRTF -narrators:NRTR:NRTR -narrowest:NRST:NRST -narrowing:NRNK:NRNK -narrowish:NRX:NRX -narthexes:NR0K:NRTK -nasalized:NSLS:NSLS -nasalizes:NSLS:NSLS -nashville:NXFL:NXFL -nasoscope:NSSK:NSSK -nastiness:NSTN:NSTN -nationals:NXNL:NXNL -nativists:NTFS:NTFS -natterers:NTRR:NTRR -nattering:NTRN:NTRN -nattiness:NTNS:NTNS -naturales:NTRL:NTRL -naturally:NTRL:NTRL -naturedly:NTRT:NTRT -naturists:NTRS:NTRS -naufragio:NFRJ:NFRK -naugahyde:NKHT:NKHT -naughtier:NKT:NKTR -naughtily:NKTL:NKTL -naumachia:NMK:NMK -nauseated:NSTT:NSTT -nauseates:NSTS:NSTS -navicerts:NFSR:NFSR -navicular:NFKL:NFKL -navigable:NFKP:NFKP -navigably:NFKP:NFKP -navigated:NFKT:NFKT -navigates:NFKT:NFKT -navigator:NFKT:NFKT -nazarenes:NSRN:NSRN -nazifying:NSFN:NSFN -nearsight:NRST:NRST -neatening:NTNN:NTNN -nebbishes:NPXS:NPXS -nebenkern:NPNK:NPNK -nebraskan:NPRS:NPRS -nebulized:NPLS:NPLS -nebulizer:NPLS:NPLS -nebulizes:NPLS:NPLS -necessary:NSSR:NSSR -necessity:NSST:NSST -neckbands:NKPN:NKPN -neckcloth:NKKL:NKKL -necklaces:NKLS:NKLS -necklines:NKLN:NKLN -neckpiece:NKPS:NKPS -necrology:NKRL:NKRL -necroptic:NKRP:NKRP -necrosing:NKRS:NKRS -necrotize:NKRT:NKRT -necrotomy:NKRT:NKRT -nectarial:NKTR:NKTR -nectaries:NKTR:NKTR -nectarine:NKTR:NKTR -nectarous:NKTR:NKTR -needfully:NTFL:NTFL -neediness:NTNS:NTNS -needleful:NTLF:NTLF -nefarious:NFRS:NFRS -negations:NKXN:NKXN -negatived:NKTF:NKTF -negatives:NKTF:NKTF -neglected:NKLK:NKLK -neglecter:NKLK:NKLK -neglector:NKLK:NKLK -negligees:NKLJ:NLKS -negligent:NKLJ:NLKN -negotiant:NKXN:NKXN -negotiate:NKXT:NKXT -negresses:NKRS:NKRS -negrillos:NKRL:NKRL -negritude:NKRT:NKRT -neighbors:NPRS:NPRS -neisseria:NSR:NSR -nematodes:NMTT:NMTT -neocortex:NKRT:NKRT -neodymium:NTMM:NTMM -neolithic:NL0K:NLTK -neologies:NLJS:NLKS -neologism:NLJS:NLKS -neologist:NLJS:NLKS -neologize:NLJS:NLKS -neopallia:NPL:NPL -neophilia:NFL:NFL -neophobes:NFPS:NFPS -neophobia:NFP:NFP -neophobic:NFPK:NFPK -neophytes:NFTS:NFTS -neophytic:NFTK:NFTK -neoplasia:NPLS:NPLX -neoplasms:NPLS:NPLS -neoplasty:NPLS:NPLS -neoteinia:NTN:NTN -neotenies:NTNS:NTNS -neotenous:NTNS:NTNS -nephalism:NFLS:NFLS -nephalist:NFLS:NFLS -nephogram:NFKR:NFKR -nephology:NFLJ:NFLK -nephridia:NFRT:NFRT -nephritic:NFRT:NFRT -nephritis:NFRT:NFRT -nephromas:NFRM:NFRM -nephrones:NFRN:NFRN -nephroses:NFRS:NFRS -nephrosis:NFRS:NFRS -nephrotic:NFRT:NFRT -nepotists:NPTS:NPTS -neptunian:NPTN:NPTN -neptunium:NPTN:NPTN -nervation:NRFX:NRFX -nervature:NRFT:NRFT -nerveless:NRFL:NRFL -nerviness:NRFN:NRFN -nervosity:NRFS:NRFS -nervously:NRFS:NRFS -nescience:NSNS:NSNS -nestlings:NSTL:NSTL -nestorian:NSTR:NSTR -netballer:NTPL:NTPL -networked:NTRK:NTRK -networker:NTRK:NTRK -neuralgia:NRLJ:NRLK -neuralgic:NRLJ:NRLK -neuraxone:NRKS:NRKS -neuraxons:NRKS:NRKS -neurergic:NRRJ:NRRK -neurilema:NRLM:NRLM -neurility:NRLT:NRLT -neurinoma:NRNM:NRNM -neurocele:NRSL:NRSL -neurocoel:NRKL:NRKL -neurocyte:NRST:NRST -neuroglia:NRKL:NRL -neurogram:NRKR:NRKR -neurokyme:NRKM:NRKM -neurology:NRLJ:NRLK -neuromata:NRMT:NRMT -neuromere:NRMR:NRMR -neuromyal:NRML:NRML -neuronism:NRNS:NRNS -neuropath:NRP0:NRPT -neuropile:NRPL:NRPL -neuropore:NRPR:NRPR -neurosome:NRSM:NRSM -neurotics:NRTK:NRTK -neurotome:NRTM:NRTM -neurotomy:NRTM:NRTM -neurulaes:NRLS:NRLS -neustonic:NSTN:NSTN -neutering:NTRN:NTRN -neutrally:NTRL:NTRL -neutretto:NTRT:NTRT -neutrinos:NTRN:NTRN -nevadians:NFTN:NFTN -nevermore:NFRM:NFRM -newcastle:NKST:NKST -newcomers:NKMR:NKMR -newlyweds:NLTS:NLTS -newmarket:NMRK:NMRK -newsagent:NSJN:NSKN -newsbreak:NSPR:NSPR -newscasts:NSKS:NSKS -newsflash:NSFL:NSFL -newsgirls:NSJR:NSKR -newshawks:NXKS:NXKS -newshound:NXNT:NXNT -newsiness:NSNS:NSNS -newspaper:NSPP:NSPP -newsprint:NSPR:NSPR -newsreels:NSRL:NSRL -newsrooms:NSRM:NSRM -newsstand:NSTN:NSTN -newswoman:NSMN:NSMN -newswomen:NSMN:NSMN -newtonian:NTNN:NTNN -nialamide:NLMT:NLMT -nicaragua:NKRK:NKRK -nickeling:NKLN:NKLN -nickelous:NKLS:NKLS -nickering:NKRN:NKRN -nicknamed:NKNM:NKNM -nicknames:NKNM:NKNM -nicotinic:NKTN:NKTN -nictating:NKTT:NKTT -nictation:NKTX:NKTX -nictitate:NKTT:NKTT -nidifying:NTFN:NTFN -niellists:NLST:NLST -nielloing:NLNK:NLNK -nietzsche:NTSX:NTSX -niftiness:NFTN:NFTN -nigerians:NJRN:NKRN -niggardly:NKRT:NKRT -nightcaps:NTKP:NTKP -nightclub:NTKL:NTKL -nightfall:NTFL:NTFL -nightgown:NTKN:NTKN -nighthawk:N0K:NTK -nightjars:NTJR:NTJR -nightless:NTLS:NTLS -nightlife:NTLF:NTLF -nightlike:NTLK:NTLK -nightlong:NTLN:NTLN -nightmare:NTMR:NTMR -nightspot:NTSP:NTSP -nighttime:NTM:NTM -nightwear:NTR:NTR -nigritude:NKRT:NKRT -nigrosine:NKRS:NKRS -nihilists:NHLS:NHLS -nilpotent:NLPT:NLPT -ninesided:NNST:NNST -nineteens:NNTN:NNTN -ninetieth:NNT0:NNTT -ninhydrin:NNTR:NNTR -nippiness:NPNS:NPNS -nippingly:NPNK:NPNK -nipponese:NPNS:NPNS -nipponian:NPNN:NPNN -nitpicked:NTPK:NTPK -nitpicker:NTPK:NTPK -nitramine:NTRM:NTRM -nitrating:NTRT:NTRT -nitration:NTRX:NTRX -nitriding:NTRT:NTRT -nitrified:NTRF:NTRF -nitrifies:NTRF:NTRF -nitritoid:NTRT:NTRT -nobelists:NPLS:NPLS -nobiliary:NPLR:NPLR -nobleness:NPLN:NPLN -nocturnal:NKTR:NKTR -nocturnes:NKTR:NKTR -nocumetum:NKMT:NKMT -nocuously:NKSL:NKSL -nodulated:NTLT:NTLT -noiseless:NSLS:NSLS -noisettes:NSTS:NSTS -noisiness:NSNS:NSNS -noisomely:NSML:NSML -nomadised:NMTS:NMTS -nomadises:NMTS:NMTS -nomarches:NMRX:NMRK -nominally:NMNL:NMNL -nominated:NMNT:NMNT -nominates:NMNT:NMNT -nominatim:NMNT:NMNT -nominator:NMNT:NMNT -nominatum:NMNT:NMNT -nomocracy:NMKR:NMKR -nomograms:NMKR:NMKR -nomograph:NMKR:NMKR -nonaccept:NNXP:NNXP -nonaccess:NNXS:NNXS -nonactive:NNKT:NNKT -nonaddict:NNTK:NNTK -nonadults:NNTL:NNTL -nonagonal:NNKN:NNKN -noncausal:NNKS:NNKS -noncombat:NNKM:NNKM -noncombin:NNKM:NNKM -noncompet:NNKM:NNKM -noncomply:NNKM:NNKM -nonconcur:NNKN:NNKN -nonconfin:NNKN:NNKN -noncorrod:NNKR:NNKR -noncyclic:NNSK:NNSK -nondollar:NNTL:NNTL -nondriver:NNTR:NNTR -nondrying:NNTR:NNTR -nonearner:NNRN:NNRN -nonedible:NNTP:NNTP -nonemploy:NNMP:NNMP -nonentity:NNNT:NNNT -nonenzyme:NNNS:NNNS -nonequals:NNKL:NNKL -nonevents:NNFN:NNFN -nonexempt:NNKS:NNKS -nonexpert:NNKS:NNKS -nonexpiry:NNKS:NNKS -nonfinite:NNFN:NNFN -nonflower:NNFL:NNFL -nongaming:NNKM:NNKM -nonheroes:NNRS:NNRS -nonillion:NNLN:NNLN -noninfect:NNNF:NNNF -noninsane:NNNS:NNNS -nonjurors:NNJR:NNJR -nonkosher:NNKX:NNKX -nonlawyer:NNLR:NNLR -nonledger:NNLJ:NNLJ -nonlethal:NNL0:NNLT -nonlinear:NNLN:NNLN -nonliving:NNLF:NNLF -nonmarine:NNMR:NNMR -nonmember:NNMM:NNMM -nonmetals:NNMT:NNMT -nonmetric:NNMT:NNMT -nonmotile:NNMT:NNMT -nonnative:NNTF:NNTF -nonoccupy:NNKP:NNKP -nonopaque:NNPK:NNPK -nonoperat:NNPR:NNPR -nonowners:NNNR:NNNR -nonowning:NNNN:NNNN -nonpareil:NNPR:NNPR -nonparous:NNPR:NNPR -nonpaying:NNPN:NNPN -nonplused:NNPL:NNPL -nonpluses:NNPL:NNPL -nonpoetic:NNPT:NNPT -nonporous:NNPR:NNPR -nonprofit:NNPR:NNPR -nonproven:NNPR:NNPR -nonracial:NNRS:NNRX -nonreader:NNRT:NNRT -nonrepair:NNRP:NNRP -nonreturn:NNRT:NNRT -nonrhotic:NNRT:NNRT -nonsecret:NNSK:NNSK -nonsexist:NNSK:NNSK -nonsexual:NNSK:NNSK -nonsmoker:NNSM:NNSM -nonsocial:NNSS:NNSX -nonspouse:NNSP:NNSP -nonstable:NNST:NNST -nonstrike:NNST:NNST -nonsuited:NNST:NNST -nontarget:NNTR:NNTR -nontenant:NNTN:NNTN -nontenure:NNTN:NNTN -nonunited:NNNT:NNNT -nonvector:NNFK:NNFK -nonverbal:NNFR:NNFR -nonviable:NNFP:NNFP -nonvisual:NNFS:NNFS -nonvoters:NNFT:NNFT -nonvoting:NNFT:NNFT -nonwaiver:NNFR:NNFR -nonwhites:NNTS:NNTS -nonworker:NNRK:NNRK -noologies:NLJS:NLKS -normality:NRML:NRML -normalize:NRML:NRML -normative:NRMT:NRMT -normocyte:NRMS:NRMS -northeast:NR0S:NRTS -northerly:NR0R:NRTR -northland:NR0L:NRTL -northward:NR0R:NRTR -northwest:NR0S:NRTS -norvaline:NRFL:NRFL -norwegian:NRJN:NRKN -nosebands:NSPN:NSPN -nosebleed:NSPL:NSPL -nosedives:NSTF:NSTF -nosepiece:NSPS:NSPS -nosologic:NSLJ:NSLK -nostalgia:NSTL:NSTL -nostalgic:NSTL:NSTL -nostology:NSTL:NSTL -notabilia:NTPL:NTPL -notandums:NTNT:NTNT -notarized:NTRS:NTRS -notarizes:NTRS:NTRS -notations:NTXN:NTXN -notebooks:NTPK:NTPK -notecases:NTKS:NTKS -notepaper:NTPP:NTPP -notifiers:NTFR:NTFR -notifying:NTFN:NTFN -notochord:NTXR:NTKR -notoedres:NTTR:NTTR -notoedric:NTTR:NTTR -notoriety:NTRT:NTRT -notorious:NTRS:NTRS -nourished:NRXT:NRXT -nourisher:NRXR:NRXR -nourishes:NRXS:NRXS -novacaine:NFKN:NFKN -novations:NFXN:NFXN -novelette:NFLT:NFLT -noveliser:NFLS:NFLS -novelists:NFLS:NFLS -novelized:NFLS:NFLS -novelizes:NFLS:NFLS -novelties:NFLT:NFLT -noviciate:NFST:NFXT -novitiate:NFXT:NFXT -novocaine:NFKN:NFKN -noxiously:NKSS:NKSS -nucleated:NKLT:NKLT -nucleates:NKLT:NKLT -nucleator:NKLT:NKLT -nucleolar:NKLL:NKLL -nucleoles:NKLL:NKLL -nucleolus:NKLL:NKLL -nucleonic:NKLN:NKLN -nucleuses:NKLS:NKLS -nuisances:NSNS:NSNS -nullified:NLFT:NLFT -nullifier:NLF:NLFR -nullifies:NLFS:NLFS -nullipara:NLPR:NLPR -nullisome:NLSM:NLSM -nullities:NLTS:NLTS -numbering:NMRN:NMRN -numbingly:NMPN:NMPN -numbskull:NMPS:NMPS -numerable:NMRP:NMRP -numerably:NMRP:NMRP -numerated:NMRT:NMRT -numerates:NMRT:NMRT -numerator:NMRT:NMRT -numerical:NMRK:NMRK -nummiform:NMFR:NMFR -nummulary:NMLR:NMLR -nummulite:NMLT:NMLT -numskulls:NMSK:NMSK -nuncupate:NNKP:NNKP -nunnation:NNXN:NNXN -nunneries:NNRS:NNRS -nuptially:NPXL:NPXL -nurseling:NRSL:NRSL -nursemaid:NRSM:NRSM -nurseries:NRSR:NRSR -nurslings:NRSL:NRSL -nurturers:NRTR:NRTR -nurturing:NRTR:NRTR -nutations:NTXN:NTXN -nutrients:NTRN:NTRN -nutriment:NTRM:NTRM -nutrition:NTRX:NTRX -nutritive:NTRT:NTRT -nutritory:NTRT:NTRT -nutriture:NTRT:NTRT -nutshells:NTXL:NTXL -nuttallia:NTL:NTL -nuttiness:NTNS:NTNS -nyctalope:NKTL:NKTL -nymphalid:NMFL:NMFL -nymphlike:NMFL:NMFL -nystagmic:NSTK:NSTK -nystagmus:NSTK:NSTK -nyxesoath:NKSS:NKSS -oarfishes:ARFX:ARFX -oasthouse:AS0S:ASTS -obbligato:APLK:APLK -obcordate:APKR:APKR -obduction:APTK:APTK -obdurated:APTR:APTR -obedience:APTN:APTN -obeisance:APSN:APSN -obeliskal:APLS:APLS -obelizing:APLS:APLS -obeseness:APSN:APSN -obesities:APST:APST -obfuscate:APFS:APFS -objectant:APJK:APJK -objectees:APJK:APJK -objectify:APJK:APJK -objecting:APJK:APJK -objection:APJK:APJK -objective:APJK:APJK -objectors:APJK:APJK -objicient:APJS:APJX -objurgate:APJR:APJR -oblations:APLX:APLX -obligable:APLK:APLK -obligated:APLK:APLK -obligates:APLK:APLK -obligatio:APLK:APLK -obligator:APLK:APLK -obliquely:APLK:APLK -obliquity:APLK:APLK -oblivious:APLF:APLF -oblocutor:APLK:APLK -oblongata:APLN:APLN -oblongish:APLN:APLN -obloquies:APLK:APLK -obnoxiety:APNK:APNK -obnoxious:APNK:APNK -obreption:APRP:APRP -obrogated:APRK:APRK -obscenely:APSN:APSN -obscenity:APSN:APSN -obscurant:APSK:APSK -obscurely:APSK:APSK -obscurers:APSK:APSK -obscurest:APSK:APSK -obscuring:APSK:APSK -obscurity:APSK:APSK -obsequent:APSK:APSK -obsequial:APSK:APSK -obsequies:APSK:APSK -observant:APSR:APSR -observers:APSR:APSR -observing:APSR:APSR -obsessing:APSS:APSS -obsession:APSS:APSS -obsessive:APSS:APSS -obsessors:APSS:APSS -obsolesce:APSL:APSL -obsoleted:APSL:APSL -obsoletes:APSL:APSL -obstacles:APST:APST -obstetric:APST:APST -obstinacy:APST:APST -obstinate:APST:APST -obstipate:APST:APST -obstructs:APST:APST -obstruent:APST:APST -obtaining:APTN:APTN -obtention:APTN:APTN -obtruders:APTR:APTR -obtruding:APTR:APTR -obtrusion:APTR:APTR -obtrusive:APTR:APTR -obtundent:APTN:APTN -obturated:APTR:APTR -obturates:APTR:APTR -obturator:APTR:APTR -obvention:APFN:APFN -obversely:APFR:APFR -obversion:APFR:APFR -obverting:APFR:APFR -obviating:APFT:APFT -obviation:APFX:APFX -obviously:APFS:APFS -occasions:AKSN:AKXN -occipital:AXPT:AXPT -occludent:AKLT:AKLT -occluding:AKLT:AKLT -occlusion:AKLS:AKLX -occlusive:AKLS:AKLS -occulting:AKLT:AKLT -occultism:AKLT:AKLT -occultist:AKLT:AKLT -occupance:AKPN:AKPN -occupancy:AKPN:AKPN -occupants:AKPN:AKPN -occupatio:AKPT:AKPT -occupiers:AKPR:AKPR -occupying:AKPN:AKPN -occurrent:AKRN:AKRN -occurring:AKRN:AKRN -oceanaria:ASNR:ASNR -oceanauts:ASNT:ASNT -oceanside:ASNS:ASNS -ocellated:ASLT:ASLT -octachord:AKTK:AKTK -octagonal:AKTK:AKTK -octahedra:AKTH:AKTH -octennial:AKTN:AKTN -octillion:AKTL:AKTL -octopuses:AKTP:AKTP -octoroons:AKTR:AKTR -octroying:AKTR:AKTR -octupling:AKTP:AKTP -ocularist:AKLR:AKLR -oculistic:AKLS:AKLS -odaxesmus:ATKS:ATKS -odontitis:ATNT:ATNT -odontomas:ATNT:ATNT -odontoses:ATNT:ATNT -odontosis:ATNT:ATNT -odorously:ATRS:ATRS -oedipuses:ATPS:ATPS -oenophile:ANFL:ANFL -oenothera:AN0R:ANTR -oesophagi:ASFJ:ASFK -oestrogen:ASTR:ASTR -offenders:AFNT:AFNT -offending:AFNT:AFNT -offensive:AFNS:AFNS -offerable:AFRP:AFRP -offerings:AFRN:AFRN -offertory:AFRT:AFRT -offhanded:AFNT:AFNT -officials:AFSL:AFXL -officiant:AFSN:AFXN -officiary:AFSR:AFXR -officiate:AFST:AFXT -officinal:AFSN:AFSN -officious:AFSS:AFXS -offprints:AFPR:AFPR -offshoots:AFXT:AFXT -offspring:AFSP:AFSP -oftenness:AFTN:AFTN -oilcloths:ALKL:ALKL -oilfields:ALFL:ALFL -ointments:ANTM:ANTM -okeydokey:AKTK:AKTK -oklahoman:AKLH:AKLH -oleaceous:ALSS:ALSS -oleanders:ALNT:ALNT -olecranal:ALKR:ALKR -olecranon:ALKR:ALKR -oleograph:ALKR:ALKR -oleoresin:ALRS:ALRS -olfaction:ALFK:ALFK -olfactory:ALFK:ALFK -oligarchy:ALKR:ALKR -oligocene:ALKS:ALKS -oligomers:ALKM:ALKM -oligopoly:ALKP:ALKP -olivenite:ALFN:ALFN -ololiuqui:ALLK:ALLK -olympians:ALMP:ALMP -ombudsman:AMPT:AMPT -ombudsmen:AMPT:AMPT -omelettes:AMLT:AMLT -omentulum:AMNT:AMNT -ominously:AMNS:AMNS -omissible:AMSP:AMSP -omissions:AMSN:AMSN -omittance:AMTN:AMTN -ommatidia:AMTT:AMTT -omnibuses:AMNP:AMNP -omnifocal:AMNF:AMNF -omnirange:AMNR:AMNR -omnivores:AMNF:AMNF -omophagia:AMFJ:AMFK -omophagic:AMFJ:AMFK -onanistic:ANNS:ANNS -oncogenic:ANKJ:ANKK -oncograph:ANKK:ANKK -oncologic:ANKL:ANKL -oncolyses:ANKL:ANKL -oncolysis:ANKL:ANKL -oncolytic:ANKL:ANKL -ondograph:ANTK:ANTK -onerosity:ANRS:ANRS -onerously:ANRS:ANRS -oniomania:ANMN:ANMN -onionskin:ANNS:ANNS -onlookers:ANLK:ANLK -onlooking:ANLK:ANLK -onomastic:ANMS:ANMS -onondagas:ANNT:ANNT -onrushing:ANRX:ANRX -onslaught:ANSL:ANSL -ontogenic:ANTJ:ANTK -onychitis:ANXT:ANKT -onychoses:ANXS:ANKS -onychosis:ANXS:ANKS -oogeneses:AJNS:AKNS -oogenesis:AJNS:AKNS -oogenetic:AJNT:AKNT -ookineses:AKNS:AKNS -ookinesis:AKNS:AKNS -ookinetic:AKNT:AKNT -oological:ALJK:ALKK -ooplasmic:APLS:APLS -oosporous:ASPR:ASPR -opacified:APSF:APSF -opacities:APST:APST -opalesque:APLS:APLS -openheart:APNR:APNR -openmouth:APNM:APNM -operantes:APRN:APRN -operantis:APRN:APRN -operating:APRT:APRT -operation:APRX:APRX -operative:APRT:APRT -operatize:APRT:APRT -operators:APRT:APRT -opercular:APRK:APRK -operculum:APRK:APRK -operettas:APRT:APRT -ophiology:AFLJ:AFLK -opisthion:APS0:APST -opobalsam:APPL:APPL -oppilated:APLT:APLT -oppilates:APLT:APLT -opponency:APNN:APNN -opponents:APNN:APNN -opportune:APRT:APRT -opposable:APSP:APSP -opposably:APSP:APSP -opposites:APST:APST -oppressed:APRS:APRS -oppresses:APRS:APRS -oppressor:APRS:APRS -oppugnant:APNN:APKN -oppugning:APNN:APKN -opsimathy:APSM:APSM -opsonized:APSN:APSN -opsonizes:APSN:APSN -optatives:APTT:APTT -optically:APTK:APTK -opticians:APTS:APTX -optimally:APTM:APTM -optimists:APTM:APTM -optimized:APTM:APTM -optimizer:APTM:APTM -optimizes:APTM:APTM -optionees:APXN:APXN -optometry:APTM:APTM -opulently:APLN:APLN -opuscular:APSK:APSK -opusculum:APSK:APSK -oralities:ARLT:ARLT -oralogies:ARLJ:ARLK -orangeade:ARNJ:ARNK -orangutan:ARNK:ARNK -oratorian:ARTR:ARTR -oratories:ARTR:ARTR -oratorios:ARTR:ARTR -orbicular:ARPK:ARPK -orbitally:ARPT:ARPT -orchestra:ARKS:ARKS -ordaining:ARTN:ARTN -orderings:ARTR:ARTR -orderless:ARTR:ARTR -orderlies:ARTR:ARTR -ordinance:ARTN:ARTN -ordinandi:ARTN:ARTN -ordinaria:ARTN:ARTN -ordinarii:ARTN:ARTN -ordinates:ARTN:ARTN -oregonian:ARKN:ARKN -organdies:ARKN:ARKN -organella:ARKN:ARKN -organelle:ARKN:ARKN -organical:ARKN:ARKN -organisms:ARKN:ARKN -organists:ARKN:ARKN -organized:ARKN:ARKN -organizer:ARKN:ARKN -organizes:ARKN:ARKN -organogel:ARKN:ARKN -organosol:ARKN:ARKN -organzine:ARKN:ARKN -orgiastic:ARJS:ARKS -orientate:ARNT:ARNT -orienteer:ARNT:ARNT -orienting:ARNT:ARNT -orientism:ARNT:ARNT -orientist:ARNT:ARNT -orificial:ARFS:ARFX -oriflamme:ARFL:ARFL -originals:ARJN:ARKN -originate:ARJN:ARKN -ornaments:ARNM:ARNM -ornithine:ARN0:ARNT -orography:ARKR:ARKR -orologist:ARLJ:ARLK -orphanage:ARFN:ARFN -orphaning:ARFN:ARFN -orpington:ARPN:ARPN -orrisroot:ARSR:ARSR -ortanique:ARTN:ARTN -orthodoxy:AR0T:ARTT -orthoepic:AR0P:ARTP -orthopnea:AR0P:ARTP -orthoptic:AR0P:ARTP -orthotics:AR0T:ARTT -orthotist:AR0T:ARTT -orthotone:AR0T:ARTT -orwellian:ARLN:ARLN -oscillate:ASLT:ASLT -oscinidae:ASNT:ASNT -oscitancy:ASTN:ASTN -osculated:ASKL:ASKL -osmiophil:ASMF:ASMF -osmometry:ASMM:ASMM -osmophore:ASMF:ASMF -osphresis:ASFR:ASFR -osphretic:ASFR:ASFR -osseously:ASSL:ASSL -ossicular:ASKL:ASKL -ossiculum:ASKL:ASKL -ossifrage:ASFR:ASFR -ossifying:ASFN:ASFN -ossuaries:ASRS:ASRS -ostectomy:ASTK:ASTK -ostensive:ASTN:ASTN -osteocyte:ASTS:ASTS -osteology:ASTL:ASTL -osteomata:ASTM:ASTM -osteopath:ASTP:ASTP -osteotome:ASTT:ASTT -osteotomy:ASTT:ASTT -ostiaries:ASXR:ASXR -ostracism:ASTR:ASTR -ostracize:ASTR:ASTR -ostriches:ASTR:ASTR -otherness:A0RN:ATRN -otherwise:A0RS:ATRS -otoconium:ATKN:ATKN -otocystic:ATSS:ATSS -otodectes:ATTK:ATTK -otodectic:ATTK:ATTK -otogenous:ATJN:ATKN -otolithic:ATL0:ATLT -otologies:ATLJ:ATLK -otologist:ATLJ:ATLK -otoplasty:ATPL:ATPL -otorrhoea:ATR:ATR -otoscopic:ATSK:ATSK -ototomies:ATTM:ATTM -oubliette:APLT:APLT -ourselves:ARSL:ARSL -outacting:ATKT:ATKT -outargued:ATRK:ATRK -outargues:ATRK:ATRK -outbidden:ATPT:ATPT -outbluffs:ATPL:ATPL -outboards:ATPR:ATPR -outboasts:ATPS:ATPS -outboxing:ATPK:ATPK -outbraved:ATPR:ATPR -outbraves:ATPR:ATPR -outbreaks:ATPR:ATPR -outbreeds:ATPR:ATPR -outbursts:ATPR:ATPR -outcastes:ATKS:ATKS -outcrying:ATKR:ATKR -outdanced:ATNS:ATNS -outdances:ATNS:ATNS -outdaring:ATRN:ATRN -outdating:ATTN:ATTN -outdodged:ATJT:ATJT -outdodges:ATJS:ATJS -outdrinks:ATRN:ATRN -outeating:ATTN:ATTN -outermost:ATRM:ATRM -outfacing:ATFS:ATFS -outfields:ATFL:ATFL -outfights:ATFT:ATFT -outfitted:ATFT:ATFT -outfitter:ATFT:ATFT -outflanks:ATFL:ATFL -outflying:ATFL:ATFL -outfooted:ATFT:ATFT -outfought:ATFK:ATFK -outfoxing:ATFK:ATFK -outgassed:ATKS:ATKS -outgasses:ATKS:ATKS -outgoings:ATKN:ATKN -outgrowth:ATKR:ATKR -outgunned:ATKN:ATKN -outhauled:A0LT:ATLT -outhouses:A0SS:ATSS -outjockey:ATJK:ATJK -outjumped:ATJM:ATJM -outlander:ATLN:ATLN -outlasted:ATLS:ATLS -outlaughs:ATLF:ATLF -outlawing:ATLN:ATLN -outlaying:ATLN:ATLN -outleaped:ATLP:ATLP -outlining:ATLN:ATLN -outliving:ATLF:ATLF -outmanned:ATMN:ATMN -outnumber:ATNM:ATNM -outpacing:ATPS:ATPS -outplayed:ATPL:ATPL -outpocket:ATPK:ATPK -outpoints:ATPN:ATPN -outpoured:ATPR:ATPR -outputted:ATPT:ATPT -outracing:ATRS:ATRS -outragers:ATRK:ATRJ -outraging:ATRJ:ATRK -outranged:ATRN:ATRN -outranges:ATRN:ATRN -outranked:ATRN:ATRN -outreason:ATRS:ATRS -outridden:ATRT:ATRT -outriders:ATRT:ATRT -outriding:ATRT:ATRT -outrigger:ATRK:ATRK -outrivals:ATRF:ATRF -outrooted:ATRT:ATRT -outrunner:ATRN:ATRN -outscored:ATSK:ATSK -outscores:ATSK:ATSK -outshines:ATXN:ATXN -outshoots:ATXT:ATXT -outshouts:ATXT:ATXT -outsiders:ATST:ATST -outskirts:ATSK:ATSK -outsmarts:ATSM:ATSM -outspeaks:ATSP:ATSP -outspells:ATSP:ATSP -outspoken:ATSP:ATSP -outspread:ATSP:ATSP -outstands:ATST:ATST -outstared:ATST:ATST -outstares:ATST:ATST -outstayed:ATST:ATST -outstrips:ATST:ATST -outstroke:ATST:ATST -outswings:ATSN:ATSN -outtalked:ATLK:ATLK -outthinks:A0NK:ATNK -outthrust:A0RS:ATRS -outvalued:ATFL:ATFL -outvalues:ATFL:ATFL -outvoting:ATFT:ATFT -outwalked:ATLK:ATLK -outwardly:ATRT:ATRT -outweighs:ATS:ATS -outwilled:ATLT:ATLT -outwitted:ATTT:ATTT -outworked:ATRK:ATRK -outworker:ATRK:ATRK -outyelled:ATLT:ATLT -ovalbumin:AFLP:AFLP -ovalocyte:AFLS:AFLS -ovational:AFXN:AFXN -overacted:AFRK:AFRK -overadorn:AFRT:AFRT -overangry:AFRN:AFRN -overawing:AFRN:AFRN -overbears:AFRP:AFRP -overblown:AFRP:AFRP -overblows:AFRP:AFRP -overboard:AFRP:AFRP -overbooks:AFRP:AFRP -overboots:AFRP:AFRP -overborne:AFRP:AFRP -overbrave:AFRP:AFRP -overbuild:AFRP:AFRP -overbuilt:AFRP:AFRP -overbulky:AFRP:AFRP -overcalls:AFRK:AFRK -overcheck:AFRX:AFRK -overcivil:AFRS:AFRS -overclaim:AFRK:AFRK -overcloud:AFRK:AFRK -overcoats:AFRK:AFRK -overcomes:AFRK:AFRK -overcooks:AFRK:AFRK -overcools:AFRK:AFRK -overcrops:AFRK:AFRK -overcrowd:AFRK:AFRK -overdoing:AFRT:AFRT -overdosed:AFRT:AFRT -overdoses:AFRT:AFRT -overdraft:AFRT:AFRT -overdrank:AFRT:AFRT -overdrawn:AFRT:AFRT -overdraws:AFRT:AFRT -overdress:AFRT:AFRT -overdrink:AFRT:AFRT -overdrive:AFRT:AFRT -overdrove:AFRT:AFRT -overdrunk:AFRT:AFRT -overdying:AFRT:AFRT -overeager:AFRK:AFRJ -overeaten:AFRT:AFRT -overeater:AFRT:AFRT -overelate:AFRL:AFRL -overexert:AFRK:AFRK -overfeeds:AFRF:AFRF -overfills:AFRF:AFRF -overflies:AFRF:AFRF -overflown:AFRF:AFRF -overflows:AFRF:AFRF -overglaze:AFRK:AFRK -overgraze:AFRK:AFRK -overgrown:AFRK:AFRK -overgrows:AFRK:AFRK -overhands:AFRN:AFRN -overhangs:AFRN:AFRN -overhasty:AFRS:AFRS -overhauls:AFRL:AFRL -overheads:AFRT:AFRT -overheard:AFRR:AFRR -overhears:AFRR:AFRR -overheats:AFRT:AFRT -overissue:AFRS:AFRS -overjoyed:AFRJ:AFRJ -overkills:AFRK:AFRK -overladen:AFRL:AFRL -overlarge:AFRL:AFRL -overlayed:AFRL:AFRL -overleaps:AFRL:AFRL -overleapt:AFRL:AFRL -overlease:AFRL:AFRL -overlived:AFRL:AFRL -overlives:AFRL:AFRL -overloads:AFRL:AFRL -overlooks:AFRL:AFRL -overlords:AFRL:AFRL -overlying:AFRL:AFRL -overmatch:AFRM:AFRM -overnight:AFRN:AFRN -overpitch:AFRP:AFRP -overplays:AFRP:AFRP -overpower:AFRP:AFRP -overprice:AFRP:AFRP -overprint:AFRP:AFRP -overproud:AFRP:AFRP -overrated:AFRT:AFRT -overrates:AFRT:AFRT -overreach:AFRK:AFRK -overreact:AFRK:AFRK -overrider:AFRT:AFRT -overrides:AFRT:AFRT -overrigid:AFRJ:AFRK -overroast:AFRS:AFRS -overruled:AFRL:AFRL -overrules:AFRL:AFRL -oversalts:AFRS:AFRS -overscore:AFRS:AFRS -overseers:AFRS:AFRS -overseing:AFRS:AFRS -oversells:AFRS:AFRS -oversewed:AFRS:AFRS -oversexed:AFRS:AFRS -oversharp:AFRX:AFRX -overshoes:AFRX:AFRX -overshoot:AFRX:AFRX -oversight:AFRS:AFRS -oversized:AFRS:AFRS -overskirt:AFRS:AFRS -oversleep:AFRS:AFRS -overslept:AFRS:AFRS -oversmart:AFRS:AFRS -overspend:AFRS:AFRS -overspent:AFRS:AFRS -overspill:AFRS:AFRS -overspilt:AFRS:AFRS -overstaff:AFRS:AFRS -overstate:AFRS:AFRS -overstays:AFRS:AFRS -oversteer:AFRS:AFRS -oversteps:AFRS:AFRS -overstock:AFRS:AFRS -overstrun:AFRS:AFRS -overstuff:AFRS:AFRS -overtaken:AFRT:AFRT -overtaker:AFRT:AFRT -overtakes:AFRT:AFRT -overtasks:AFRT:AFRT -overtaxed:AFRT:AFRT -overtaxes:AFRT:AFRT -overthrew:AFR0:AFRT -overthrow:AFR0:AFRT -overtired:AFRT:AFRT -overtires:AFRT:AFRT -overtones:AFRT:AFRT -overtrade:AFRT:AFRT -overtrain:AFRT:AFRT -overtrick:AFRT:AFRT -overtrump:AFRT:AFRT -overtures:AFRT:AFRT -overturns:AFRT:AFRT -overusing:AFRS:AFRS -overvalue:AFRF:AFRF -overviews:AFRF:AFRF -overwatch:AFRX:AFRX -overwater:AFRT:AFRT -overweigh:AFR:AFR -overwhelm:AFRL:AFRL -overwinds:AFRN:AFRN -overworks:AFRR:AFRR -overwound:AFRN:AFRN -overwrite:AFRR:AFRR -overwrote:AFRR:AFRR -oviductal:AFTK:AFTK -oviferous:AFFR:AFFR -ovigerous:AFJR:AFKR -ovination:AFNX:AFNX -oviparity:AFPR:AFPR -oviparous:AFPR:AFPR -ovoflavin:AFFL:AFFL -ovologist:AFLJ:AFLK -ovomucoid:AFMK:AFMK -ovotestes:AFTS:AFTS -ovotestis:AFTS:AFTS -ovulating:AFLT:AFLT -ovulation:AFLX:AFLX -ovulatory:AFLT:AFLT -ownerless:ANRL:ANRL -ownership:ANRX:ANRX -oxacillin:AKSS:AKSS -oxfordian:AKSF:AKSF -oxidation:AKST:AKST -oxidative:AKST:AKST -oxidizers:AKST:AKST -oxidizing:AKST:AKST -oximetric:AKSM:AKSM -oxybiotin:AKSP:AKSP -oxygenase:AKSJ:AKSK -oxygenate:AKSJ:AKSK -oxygenize:AKSJ:AKSK -oxygenous:AKSJ:AKSK -oxyphilic:AKSF:AKSF -oysteries:ASTR:ASTR -oystering:ASTR:ASTR -oysterman:ASTR:ASTR -oystermen:ASTR:ASTR -ozocerite:ASSR:ASSR -ozonisers:ASNS:ASNS -ozonizing:ASNS:ASNS -ozostomia:ASST:ASST -pacemaker:PSMK:PSMK -pachyderm:PKTR:PKTR -pachytene:PKTN:PKTN -pacifical:PSFK:PSFK -pacifiers:PSFR:PSFR -pacifists:PSFS:PSFS -pacifying:PSFN:PSFN -packagers:PKKR:PKJR -packaging:PKJN:PKKN -packframe:PKFR:PKFR -packhorse:PKRS:PKRS -pactiones:PKXN:PKXN -pademelon:PTML:PTML -padlocked:PTLK:PTLK -paederast:PTRS:PTRS -paedology:PTLJ:PTLK -paganized:PKNS:PKNS -paganizer:PKNS:PKNS -paganizes:PKNS:PKNS -pageantry:PJNT:PKNT -paginated:PJNT:PKNT -paginates:PJNT:PKNT -paillette:PLT:PLT -painfully:PNFL:PNFL -painterly:PNTR:PNTR -paintings:PNTN:PNTN -pakistani:PKST:PKST -palaestra:PLST:PLST -palanquin:PLNK:PLNK -palatable:PLTP:PLTP -palatably:PLTP:PLTP -palatally:PLTL:PLTL -palatines:PLTN:PLTN -palatitis:PLTT:PLTT -palavered:PLFR:PLFR -palefaces:PLFS:PLFS -paleocene:PLSN:PLSN -paleozoic:PLSK:PLSK -palestine:PLST:PLST -palilalia:PLLL:PLLL -palinodes:PLNT:PLNT -palisades:PLST:PLST -palladian:PLTN:PLTN -palladium:PLTM:PLTM -palladous:PLTS:PLTS -palletize:PLTS:PLTS -palliasse:PLS:PLS -palliated:PLTT:PLTT -palliates:PLTS:PLTS -palliator:PLTR:PLTR -pallidity:PLTT:PLTT -palmation:PLMX:PLMX -palmature:PLMT:PLMT -palmettes:PLMT:PLMT -palmettos:PLMT:PLMT -palmistry:PLMS:PLMS -palmitate:PLMT:PLMT -palominos:PLMN:PLMN -palpating:PLPT:PLPT -palpation:PLPX:PLPX -palpebrae:PLPP:PLPP -palpebral:PLPP:PLPP -palpitant:PLPT:PLPT -palpitate:PLPT:PLPT -paltering:PLTR:PLTR -paltriest:PLTR:PLTR -pamaquine:PMKN:PMKN -pamperers:PMPR:PMPR -pampering:PMPR:PMPR -pamphlets:PMFL:PMFL -panatella:PNTL:PNTL -pancaking:PNKK:PNKK -panderers:PNTR:PNTR -pandering:PNTR:PNTR -panderism:PNTR:PNTR -pandurate:PNTR:PNTR -panegyric:PNJR:PNKR -panelings:PNLN:PNLN -panelists:PNLS:PNLS -panhandle:PNNT:PNNT -panicking:PNKN:PNKN -panniculi:PNKL:PNKL -panoplied:PNPL:PNPL -panoplies:PNPL:PNPL -panoramas:PNRM:PNRM -panoramic:PNRM:PNRM -panotitis:PNTT:PNTT -pansophic:PNSF:PNSF -pantaloon:PNTL:PNTL -pantheism:PN0S:PNTS -pantheist:PN0S:PNTS -pantheons:PN0N:PNTN -pantingly:PNTN:PNTN -pantomime:PNTM:PNTM -pantropic:PNTR:PNTR -pantsuits:PNTS:PNTS -pantyhose:PNTH:PNTH -panzootic:PNST:PNST -papalists:PPLS:PPLS -paparazzi:PPRS:PPRT -paparazzo:PPRS:PPRT -paperback:PPRP:PPRP -paperbark:PPRP:PPRP -paperboys:PPRP:PPRP -paperclip:PPRK:PPRK -papergirl:PPRJ:PPRK -paperings:PPRN:PPRN -paperless:PPRL:PPRL -paperwork:PPRR:PPRR -papeterie:PPTR:PPTR -papillary:PPLR:PPLR -papillate:PPLT:PPLT -papilloma:PPLM:PPLM -papillose:PPLS:PPLS -papillote:PPLT:PPLT -papyruses:PPRS:PPRS -parabases:PRPS:PRPS -parabasis:PRPS:PRPS -parablast:PRPL:PRPL -parabolas:PRPL:PRPL -parabolic:PRPL:PRPL -parabulia:PRPL:PRPL -parachute:PRKT:PRKT -paraclete:PRKL:PRKL -paracuses:PRKS:PRKS -paracusia:PRKS:PRKX -paracusis:PRKS:PRKS -paradigms:PRTK:PRTK -paradisal:PRTS:PRTS -paradised:PRTS:PRTS -paradises:PRTS:PRTS -paradoxes:PRTK:PRTK -paradrops:PRTR:PRTR -paradynes:PRTN:PRTN -paraffine:PRFN:PRFN -paraffins:PRFN:PRFN -paragogic:PRKJ:PRKK -paragraph:PRKR:PRKR -parakeets:PRKT:PRKT -parakelia:PRKL:PRKL -paralalia:PRLL:PRLL -paralegal:PRLK:PRLK -paralexia:PRLK:PRLK -paralexic:PRLK:PRLK -parallels:PRLL:PRLL -paralogia:PRLJ:PRLK -paralysis:PRLS:PRLS -paralytic:PRLT:PRLT -paralyzed:PRLS:PRLS -paralyzer:PRLS:PRLS -paralyzes:PRLS:PRLS -paramatta:PRMT:PRMT -paramecia:PRMS:PRMX -paramedic:PRMT:PRMT -paramenia:PRMN:PRMN -paraments:PRMN:PRMN -paramimia:PRMM:PRMM -paramorph:PRMR:PRMR -paramount:PRMN:PRMN -paramusia:PRMS:PRMX -paramylum:PRML:PRML -paranoiac:PRNK:PRNK -paranoias:PRNS:PRNS -paranoids:PRNT:PRNT -paranomia:PRNM:PRNM -parapodia:PRPT:PRPT -parasites:PRST:PRST -parasitic:PRST:PRST -parataxis:PRTK:PRTK -parathion:PR0N:PRTN -paratroop:PRTR:PRTR -paratypic:PRTP:PRTP -paravanes:PRFN:PRFN -parboiled:PRPL:PRPL -parbuckle:PRPK:PRPK -parceling:PRSL:PRSL -parcenary:PRSN:PRSN -parchment:PRXM:PRKM -pardalote:PRTL:PRTL -pardoners:PRTN:PRTN -pardoning:PRTN:PRTN -paregoric:PRKR:PRKR -parentage:PRNT:PRNT -parentela:PRNT:PRNT -parenting:PRNT:PRNT -paretical:PRTK:PRTK -pargeting:PRKT:PRKT -pargyline:PRJL:PRKL -parhelion:PRLN:PRLN -parisians:PRSN:PRXN -parkinson:PRKN:PRKN -parklands:PRKL:PRKL -parlayers:PRLR:PRLR -parlaying:PRLN:PRLN -parleyers:PRLR:PRLR -parleying:PRLN:PRLN -parlously:PRLS:PRLS -parmesans:PRMS:PRMS -parnassus:PRNS:PRNS -parochial:PRKL:PRKL -parodical:PRTK:PRTK -parodists:PRTS:PRTS -parodying:PRTN:PRTN -paroicous:PRKS:PRKS -parolable:PRLP:PRLP -paronymic:PRNM:PRNM -parorexia:PRRK:PRRK -parotitic:PRTT:PRTT -parotitis:PRTT:PRTT -parovaria:PRFR:PRFR -paroxysms:PRKS:PRKS -parqueted:PRKT:PRKT -parquetry:PRKT:PRKT -parrakeet:PRKT:PRKT -parricide:PRST:PRST -parroters:PRTR:PRTR -parroting:PRTN:PRTN -parsimony:PRSM:PRSM -parsonage:PRSN:PRSN -partakers:PRTK:PRTK -partaking:PRTK:PRTK -parterres:PRTR:PRTR -parthenon:PR0N:PRTN -partially:PRXL:PRXL -particeps:PRTS:PRTS -particles:PRTK:PRTK -partisans:PRTS:PRTS -partition:PRTX:PRTX -partitive:PRTT:PRTT -partively:PRTF:PRTF -partnered:PRTN:PRTN -partogram:PRTK:PRTK -partridge:PRTR:PRTR -parulides:PRLT:PRLT -passaging:PSJN:PSKN -passbooks:PSPK:PSPK -passenger:PSNK:PSNJ -passerine:PSRN:PSRN -passersby:PSRS:PSRS -passingly:PSNK:PSNK -passional:PSNL:PSNL -passionel:PSNL:PSNL -passively:PSFL:PSFL -passivism:PSFS:PSFS -passivist:PSFS:PSFS -passivity:PSFT:PSFT -passovers:PSFR:PSFR -passports:PSPR:PSPR -passwords:PSRT:PSRT -pastelist:PSTL:PSTL -pastiches:PSTX:PSTK -pastilles:PSTL:PSTL -pastiness:PSTN:PSTN -pastorale:PSTR:PSTR -pastorals:PSTR:PSTR -pastorate:PSTR:PSTR -pasturage:PSTR:PSTR -pasturers:PSTR:PSTR -pasturing:PSTR:PSTR -patchable:PXPL:PXPL -patchiest:PXST:PXST -patchouli:PXL:PXL -patchwork:PXRK:PXRK -patellaes:PTLS:PTLS -patellate:PTLT:PTLT -patencies:PTNS:PTNX -patentees:PTNT:PTNT -patenters:PTNT:PTNT -patenting:PTNT:PTNT -paternity:PTRN:PTRN -pathetici:P0TS:PTTS -pathogene:P0JN:PTKN -pathogens:P0JN:PTKN -pathogeny:P0JN:PTKN -pathology:P0LJ:PTLK -patiently:PTNT:PTNT -patriarch:PTRR:PTRR -patrician:PTRS:PTRX -patricide:PTRS:PTRS -patriliny:PTRL:PTRL -patrimony:PTRM:PTRM -patriotic:PTRT:PTRT -patristic:PTRS:PTRS -patrolled:PTRL:PTRL -patroller:PTRL:PTRL -patrolman:PTRL:PTRL -patrolmen:PTRL:PTRL -patrology:PTRL:PTRL -patronage:PTRN:PTRN -patroness:PTRN:PTRN -patronize:PTRN:PTRN -pattering:PTRN:PTRN -patterned:PTRN:PTRN -pauldrons:PLTR:PLTR -paulownia:PLN:PLN -paunching:PNXN:PNKN -pauperdom:PPRT:PPRT -pauperism:PPRS:PPRS -pauperize:PPRS:PPRS -pauropods:PRPT:PRPT -pavements:PFMN:PFMN -pavilions:PFLN:PFLN -pavlovian:PFLF:PFLF -pawkiness:PKNS:PKNS -pawnshops:PNXP:PNXP -paychecks:PXKS:PKKS -paymaster:PMST:PMST -peaceable:PSPL:PSPL -peaceably:PSPL:PSPL -peacekeep:PSKP:PSKP -peacetime:PSTM:PSTM -peachiest:PXST:PKST -peajacket:PJKT:PJKT -pearliest:PRLS:PRLS -pearlises:PRLS:PRLS -pearlized:PRLS:PRLS -pearlizes:PRLS:PRLS -pearlwort:PRLR:PRLR -peasantry:PSNT:PSNT -peatiness:PTNS:PTNS -pebbliest:PPLS:PPLS -peccaries:PKRS:PKRS -pectinase:PKTN:PKTN -pectinate:PKTN:PKTN -pectineal:PKTN:PKTN -pectineus:PKTN:PKTN -pectinous:PKTN:PKTN -pectizing:PKTS:PKTS -pectorals:PKTR:PKTR -peculated:PKLT:PKLT -peculates:PKLT:PKLT -peculator:PKLT:PKLT -pecuniary:PKNR:PKNR -pedagogic:PTKJ:PTKK -pedagogue:PTKK:PTKK -pedallers:PTLR:PTLR -pedalling:PTLN:PTLN -pederasts:PTRS:PTRS -pederasty:PTRS:PTRS -pedestals:PTST:PTST -pediatric:PTTR:PTTR -pedicatio:PTKT:PTKT -pedicular:PTKL:PTKL -pediculus:PTKL:PTKL -pedicurer:PTKR:PTKR -pedicures:PTKR:PTKR -pedigreed:PTKR:PTKR -pedigrees:PTKR:PTKR -pediments:PTMN:PTMN -pedologic:PTLJ:PTLK -pedophile:PTFL:PTFL -peduncled:PTNK:PTNK -peduncles:PTNK:PTNK -pedunculi:PTNK:PTNK -peepholes:PFLS:PFLS -peepshows:PPXS:PPXS -peeresses:PRSS:PRSS -peevishly:PFXL:PFXL -pegboards:PKPR:PKPR -pegmatite:PKMT:PKMT -peignoirs:PNRS:PKNR -pekingese:PKNJ:PKNK -pellagric:PLKR:PLKR -pellagrin:PLKR:PLKR -pelleting:PLTN:PLTN -pelletize:PLTS:PLTS -pellitory:PLTR:PLTR -pellucida:PLST:PLST -peloruses:PLRS:PLRS -peltately:PLTT:PLTT -peltation:PLTX:PLTX -pemphigus:PMFK:PMFK -penalized:PNLS:PNLS -penalizes:PNLS:PNLS -penalties:PNLT:PNLT -penchants:PNXN:PNKN -penciling:PNSL:PNSL -pencilled:PNSL:PNSL -penciller:PNSL:PNSL -pendently:PNTN:PNTN -pendulate:PNTL:PNTL -penduline:PNTL:PNTL -pendulous:PNTL:PNTL -pendulums:PNTL:PNTL -peneplain:PNPL:PNPL -penetrate:PNTR:PNTR -penholder:PNLT:PNLT -penicilli:PNSL:PNSL -penillion:PNLN:PNLN -peninsula:PNNS:PNNS -penitence:PNTN:PNTN -penitents:PNTN:PNTN -penknives:PNKN:PNKN -penlights:PNLT:PNLT -penniform:PNFR:PNFR -penniless:PNLS:PNLS -penninite:PNNT:PNNT -pennywort:PNRT:PNRT -penpusher:PNPX:PNPX -pensility:PNSL:PNSL -pensioned:PNSN:PNXN -pensioner:PNSN:PNXN -pensively:PNSF:PNSF -penstocks:PNST:PNST -pentacles:PNTK:PNTK -pentagons:PNTK:PNTK -pentagram:PNTK:PNTK -pentalogy:PNTL:PNTL -pentanoic:PNTN:PNTN -pentarchy:PNTR:PNTR -pentecost:PNTK:PNTK -penthouse:PN0S:PNTS -pentoside:PNTS:PNTS -pentothal:PNT0:PNTT -pentoxide:PNTK:PNTK -penumbrae:PNMP:PNMP -penumbral:PNMP:PNMP -penumbras:PNMP:PNMP -penurious:PNRS:PNRS -peperomia:PPRM:PPRM -pepperbox:PPRP:PPRP -peppering:PPRN:PPRN -pepperoni:PPRN:PPRN -peppiness:PPNS:PPNS -pepsinate:PPSN:PPSN -peptidase:PPTT:PPTT -peptizing:PPTS:PPTS -peptonize:PPTN:PPTN -peptonoid:PPTN:PPTN -peracetic:PRST:PRST -perborate:PRPR:PRPR -percaline:PRKL:PRKL -perceived:PRSF:PRSF -perceiver:PRSF:PRSF -perceives:PRSF:PRSF -percenter:PRSN:PRSN -perchance:PRXN:PRKN -percheron:PRXR:PRKR -percolate:PRKL:PRKL -percussed:PRKS:PRKS -percusses:PRKS:PRKS -percussor:PRKS:PRKS -perdition:PRTX:PRTX -peregrine:PRKR:PRKR -perennate:PRNT:PRNT -perennial:PRNL:PRNL -perfected:PRFK:PRFK -perfecter:PRFK:PRFK -perfectly:PRFK:PRFK -perfector:PRFK:PRFK -perfectos:PRFK:PRFK -perfervid:PRFR:PRFR -perfidies:PRFT:PRFT -perforans:PRFR:PRFR -perforate:PRFR:PRFR -performam:PRFR:PRFR -performed:PRFR:PRFR -performer:PRFR:PRFR -perfumers:PRFM:PRFM -perfumery:PRFM:PRFM -perfuming:PRFM:PRFM -perfusate:PRFS:PRFS -perfusing:PRFS:PRFS -perfusion:PRFS:PRFX -perfusive:PRFS:PRFS -periaxial:PRKS:PRKS -periblast:PRPL:PRPL -pericarya:PRKR:PRKR -pericecal:PRSK:PRSK -perichord:PRXR:PRKR -periclase:PRKL:PRKL -pericline:PRKL:PRKL -pericolic:PRKL:PRKL -pericopic:PRKP:PRKP -pericycle:PRSK:PRSK -peridural:PRTR:PRTR -perifocal:PRFK:PRFK -perihelia:PRHL:PRHL -perikarya:PRKR:PRKR -perilling:PRLN:PRLN -perilunes:PRLN:PRLN -perilymph:PRLM:PRLM -perimetry:PRMT:PRMT -perimorph:PRMR:PRMR -perimysia:PRMS:PRMX -perinaeum:PRNM:PRNM -perinatal:PRNT:PRNT -periodate:PRTT:PRTT -perioplic:PRPL:PRPL -periorbit:PRRP:PRRP -periostea:PRST:PRST -peripatus:PRPT:PRPT -periphery:PRFR:PRFR -perirenal:PRRN:PRRN -periscope:PRSK:PRSK -perishers:PRXR:PRXR -perishing:PRXN:PRXN -perisperm:PRSP:PRSP -peristyle:PRST:PRST -peritenon:PRTN:PRTN -peritonea:PRTN:PRTN -perjurers:PRJR:PRJR -perjuries:PRJR:PRJR -perjuring:PRJR:PRJR -perkiness:PRKN:PRKN -permalloy:PRML:PRML -permanent:PRMN:PRMN -permeable:PRMP:PRMP -permeably:PRMP:PRMP -permeance:PRMN:PRMN -permeated:PRMT:PRMT -permeates:PRMT:PRMT -permittat:PRMT:PRMT -permitted:PRMT:PRMT -permittee:PRMT:PRMT -permitter:PRMT:PRMT -permutate:PRMT:PRMT -permuting:PRMT:PRMT -perniones:PRNN:PRNN -peromelia:PRML:PRML -peromelus:PRML:PRML -perorally:PRRL:PRRL -perorated:PRRT:PRRT -perorates:PRRT:PRRT -perosomus:PRSM:PRSM -peroxides:PRKS:PRKS -perpetual:PRPT:PRPT -perpetuum:PRPT:PRPT -perplexed:PRPL:PRPL -perplexes:PRPL:PRPL -perrectal:PRKT:PRKT -persecute:PRSK:PRSK -persevere:PRSF:PRSF -persimmon:PRSM:PRSM -persisted:PRSS:PRSS -persister:PRSS:PRSS -personaes:PRSN:PRSN -personage:PRSN:PRSN -personals:PRSN:PRSN -personate:PRSN:PRSN -personify:PRSN:PRSN -personnel:PRSN:PRSN -perspired:PRSP:PRSP -perspires:PRSP:PRSP -persuaded:PRST:PRST -persuader:PRST:PRST -persuades:PRST:PRST -pertained:PRTN:PRTN -pertinens:PRTN:PRTN -pertinent:PRTN:PRTN -perturbed:PRTR:PRTR -pertussal:PRTS:PRTS -pertussis:PRTS:PRTS -peruviana:PRFN:PRFN -peruvians:PRFN:PRFN -pervaders:PRFT:PRFT -pervading:PRFT:PRFT -pervasion:PRFS:PRFX -pervasive:PRFS:PRFS -perverted:PRFR:PRFR -perverter:PRFR:PRFR -peskiness:PSKN:PSKN -pessaries:PSRS:PSRS -pessimism:PSMS:PSMS -pessimist:PSMS:PSMS -pesterers:PSTR:PSTR -pestering:PSTR:PSTR -pesticide:PSTS:PSTS -pestilent:PSTL:PSTL -pestology:PSTL:PSTL -petalodic:PTLT:PTLT -petechiae:PTK:PTK -petechial:PTKL:PTKL -petersbur:PTRS:PTRS -petersham:PTRX:PTRX -pethidine:P0TN:PTTN -petiolate:PTLT:PTLT -petiolule:PTLL:PTLL -petitions:PTXN:PTXN -petrified:PTRF:PTRF -petrifier:PTRF:PTRF -petrifies:PTRF:PTRF -petroleum:PTRL:PTRL -petrology:PTRL:PTRL -petticoat:PTKT:PTKT -pettifogs:PTFK:PTFK -pettiness:PTNS:PTNS -pettishly:PTXL:PTXL -pettitoes:PTTS:PTTS -petulance:PTLN:PTLN -petulancy:PTLN:PTLN -phagocyte:FKST:FKST -phagosome:FKSM:FKSM -phalanger:FLNK:FLNJ -phalanges:FLNJ:FLNK -phalanxes:FLNK:FLNK -phalarope:FLRP:FLRP -phallical:FLKL:FLKL -phalluses:FLSS:FLSS -phantasms:FNTS:FNTS -pharaohes:FRHS:FRHS -pharisaic:FRSK:FRSK -pharisees:FRSS:FRSS -pharmacal:FRMK:FRMK -pharyngal:FRNK:FRNK -pharynges:FRNJ:FRNK -pharynxes:FRNK:FRNK -phaseless:FSLS:FSLS -phaseolin:FSLN:FSLN -phaseouts:FSTS:FSTS -phasmidia:FSMT:FSMT -pheasants:FSNT:FSNT -phellogen:FLJN:FLKN -phenacite:FNST:FNST -phenazine:FNSN:FNSN -phenazone:FNSN:FNSN -phenetics:FNTK:FNTK -phenetole:FNTL:FNTL -phenocain:FNKN:FNKN -phenocoll:FNKL:FNKL -phenocopy:FNKP:FNKP -phenolase:FNLS:FNLS -phenolate:FNLT:FNLT -phenology:FNLJ:FNLK -phenomena:FNMN:FNMN -phenotype:FNTP:FNTP -phenoxide:FNKS:FNKS -phenytoin:FNTN:FNTN -pheromone:FRMN:FRMN -philander:FLNT:FLNT -philately:FLTL:FLTL -philippic:FLPK:FLPK -phillipic:FLPK:FLPK -philology:FLLJ:FLLK -phlebitic:FLPT:FLPT -phlebitis:FLPT:FLPT -phlegmier:FLKM:FLKM -phloretin:FLRT:FLRT -phlorizin:FLRS:FLRS -phlyctena:FLKT:FLKT -phocomeli:FKML:FKML -phoenicia:FNS:FNX -phoenixes:FNKS:FNKS -phonating:FNTN:FNTN -phonation:FNXN:FNXN -phonatory:FNTR:FNTR -phonecard:FNKR:FNKR -phonemics:FNMK:FNMK -phonetics:FNTK:FNTK -phonetist:FNTS:FNTS -phoniness:FNNS:FNNS -phonlitic:FNLT:FNLT -phonogram:FNKR:FNKR -phonolite:FNLT:FNLT -phonology:FNLJ:FNLK -phonotype:FNTP:FNTP -phonotypy:FNTP:FNTP -phosgenic:FSJN:FSKN -phosphate:FSFT:FSFT -phosphene:FSFN:FSFN -phosphide:FSFT:FSFT -phosphine:FSFN:FSFN -phosphite:FSFT:FSFT -phosphore:FSFR:FSFR -phosphors:FSFR:FSFR -phossyjaw:FSJ:FSJF -phosvitin:FSFT:FSFT -photalgia:FTLJ:FTLK -photocell:FTSL:FTSL -photocopy:FTKP:FTKP -photogene:FTJN:FTKN -photogram:FTKR:FTKR -photolyze:FTLS:FTLS -photomaps:FTMP:FTMP -photonosi:FTNS:FTNS -photoplay:FTPL:FTPL -photopsia:FTPS:FTPX -photostat:FTST:FTST -phototaxy:FTTK:FTTK -phototube:FTTP:FTTP -phototype:FTTP:FTTP -phrasally:FRSL:FRSL -phrasings:FRSN:FRSN -phratries:FRTR:FRTR -phrenetic:FRNT:FRNT -phrenosin:FRNS:FRNS -phthalate:F0LT:FTLT -phthalein:F0LN:FTLN -phthiocol:F0KL:FTKL -phthirius:F0RS:FTRS -phthisica:F0SK:FTSK -phycocyan:FKSN:FKSN -phycology:FKLJ:FKLK -phyllitic:FLTK:FLTK -phyllodes:FLTS:FLTS -phyllomes:FLMS:FLMS -phyllomic:FLMK:FLMK -phylogeny:FLJN:FLKN -physicals:FSKL:FSKL -physician:FSSN:FSXN -physicist:FSSS:FSSS -physicked:FSKT:FSKT -physiques:FSKS:FSKS -phytogeny:FTJN:FTKN -phytotron:FTTR:FTTR -phytozoon:FTSN:FTSN -piamatral:PMTR:PMTR -pianistic:PNST:PNST -piblockto:PPLK:PPLK -pibroches:PPRX:PPRK -pickaback:PKPK:PKPK -pickerels:PKRL:PKRL -picketers:PKTR:PKTR -picketing:PKTN:PKTN -pickiness:PKNS:PKNS -picklocks:PKLK:PKLK -picnicked:PKNK:PKNK -picnicker:PKNK:PKNK -picofarad:PKFR:PKFR -picolinic:PKLN:PKLN -pictorial:PKTR:PKTR -picturers:PKTR:PKTR -picturing:PKTR:PKTR -picturise:PKTR:PKTR -piecemeal:PSML:PSML -piecewise:PSS:PSS -piecework:PSRK:PSRK -pieplants:PPLN:PPLN -pieridine:PRTN:PRTN -pierrette:PRT:PRT -pietistic:PTST:PTST -pigfishes:PKFX:PKFX -piggeries:PKRS:PKRS -piggishly:PKXL:PKXL -piggyback:PKPK:PKPK -pigheaded:PTT:PTT -pigmented:PKMN:PKMN -pignorate:PNRT:PKNR -pigtailed:PKTL:PKTL -pikeperch:PKPR:PKPR -pikestaff:PKST:PKST -pilasters:PLST:PLST -pilchards:PLXR:PLKR -pilferage:PLFR:PLFR -pilferers:PLFR:PLFR -pilfering:PLFR:PLFR -pillagers:PLKR:PLJR -pillaging:PLJN:PLKN -pillboxes:PLPK:PLPK -pilloried:PLRT:PLRT -pillories:PLRS:PLRS -pillowing:PLNK:PLNK -pilomotor:PLMT:PLMT -pilonidal:PLNT:PLNT -pilotless:PLTL:PLTL -pimientos:PMNT:PMNT -pimpernel:PMPR:PMPR -pimpliest:PMPL:PMPL -pinaceous:PNSS:PNSS -pinafored:PNFR:PNFR -pinafores:PNFR:PNFR -pinchbeck:PNXP:PNKP -pinchcock:PNXK:PNKK -pinealoma:PNLM:PNLM -pineapple:PNPL:PNPL -pinfishes:PNFX:PNFX -pinheaded:PNTT:PNTT -pinioning:PNNN:PNNN -pinnacles:PNKL:PNKL -pinnately:PNTL:PNTL -pinnation:PNXN:PNXN -pinocchio:PNX:PNX -pinpoints:PNPN:PNPN -pinpricks:PNPR:PNPR -pinsetter:PNST:PNST -pinstripe:PNST:PNST -pintadera:PNTT:PNTT -pinwheels:PNLS:PNLS -pioneered:PNRT:PNRT -piousness:PSNS:PSNS -pipeclays:PPKL:PPKL -pipedream:PPTR:PPTR -pipelined:PPLN:PPLN -pipelines:PPLN:PPLN -piperonal:PPRN:PPRN -piperoxan:PPRK:PPRK -pipestone:PPST:PPST -pipsqueak:PPSK:PPSK -piquantly:PKNT:PKNT -piratical:PRTK:PRTK -piroplasm:PRPL:PRPL -pirouette:PRT:PRT -piscarial:PSKR:PSKR -piscaries:PSKR:PSKR -piscatory:PSKT:PSKT -piscicide:PSST:PSST -pisolitic:PSLT:PSLT -pistachio:PSTX:PSTK -pistolled:PSTL:PSTL -pitchbend:PXPN:PXPN -pitchfork:PXFR:PXFR -pitchiest:PXST:PXST -piteously:PTSL:PTSL -pithecoid:P0KT:PTKT -pithiness:P0NS:PTNS -pitifully:PTFL:PTFL -pittances:PTNS:PTNS -pituicyte:PTST:PTST -pituitary:PTTR:PTTR -pituitous:PTTS:PTTS -pituitrin:PTTR:PTTR -pityingly:PTNK:PTNK -pivotally:PFTL:PFTL -pizzerias:PSRS:PSRS -pizzicato:PSKT:PTSK -placarded:PLKR:PLKR -placarder:PLKR:PLKR -placating:PLKT:PLKT -placation:PLKX:PLKX -placatory:PLKT:PLKT -placeable:PLSP:PLSP -placeboes:PLSP:PLSP -placehold:PLSH:PLSH -placement:PLSM:PLSM -placentae:PLSN:PLSN -placental:PLSN:PLSN -placentas:PLSN:PLSN -placeting:PLST:PLST -placidity:PLST:PLST -placoderm:PLKT:PLKT -plaguiest:PLKS:PLKS -plainness:PLNS:PLNS -plainsman:PLNS:PLNS -plainsmen:PLNS:PLNS -plainsong:PLNS:PLNS -plaintiff:PLNT:PLNT -plaintive:PLNT:PLNT -plamagene:PLMJ:PLMK -planarian:PLNR:PLNR -planarity:PLNR:PLNR -planation:PLNX:PLNX -planeload:PLNL:PLNL -planeness:PLNN:PLNN -planetary:PLNT:PLNT -planetoid:PLNT:PLNT -planforms:PLNF:PLNF -plangency:PLNJ:PLNK -planigram:PLNK:PLNK -planished:PLNX:PLNX -planisher:PLNX:PLNX -planorbis:PLNR:PLNR -plantable:PLNT:PLNT -plantains:PLNT:PLNT -plantares:PLNT:PLNT -plantaris:PLNT:PLNT -plantings:PLNT:PLNT -plaquette:PLKT:PLKT -plasmagel:PLSM:PLSM -plasmasol:PLSM:PLSM -plasmatic:PLSM:PLSM -plasmical:PLSM:PLSM -plasmodia:PLSM:PLSM -plasmodic:PLSM:PLSM -plastered:PLST:PLST -plasterer:PLST:PLST -plastisol:PLST:PLST -plastrons:PLST:PLST -platelets:PLTL:PLTL -platforms:PLTF:PLTF -platinize:PLTN:PLTN -platinoid:PLTN:PLTN -platinous:PLTN:PLTN -platitude:PLTT:PLTT -platonism:PLTN:PLTN -platycnes:PLTK:PLTK -platyopia:PLTP:PLTP -platyopic:PLTP:PLTP -platysmas:PLTS:PLTS -plausible:PLSP:PLSP -plausibly:PLSP:PLSP -playacted:PLKT:PLKT -playbills:PLPL:PLPL -playfully:PLFL:PLFL -playgirls:PLJR:PLKR -playgoers:PLKR:PLKR -playgroup:PLKR:PLKR -playhouse:PLHS:PLHS -playmates:PLMT:PLMT -playrooms:PLRM:PLRM -playsuits:PLST:PLST -plaything:PL0N:PLTN -pleaching:PLXN:PLKN -pleadable:PLTP:PLTP -pleadings:PLTN:PLTN -pleasable:PLSP:PLSP -pleasance:PLSN:PLSN -pleasedly:PLST:PLST -pleasured:PLSR:PLSR -pleasures:PLSR:PLSR -plebeians:PLPN:PLPN -plectrums:PLKT:PLKT -pledgable:PLTK:PLTK -plenaries:PLNR:PLNR -plenarily:PLNR:PLNR -plenitude:PLNT:PLNT -plenteous:PLNT:PLNT -plentiful:PLNT:PLNT -pleomazia:PLMS:PLMS -pleonexia:PLNK:PLNK -plethoric:PL0R:PLTR -pleuritic:PLRT:PLRT -pleuritis:PLRT:PLRT -plexiform:PLKS:PLKS -plexiglas:PLKS:PLKS -plicately:PLKT:PLKT -plicating:PLKT:PLKT -plication:PLKX:PLKX -plighting:PLTN:PLTN -plimsolls:PLMS:PLMS -plosively:PLSF:PLSF -ploughing:PLFN:PLFN -ploughman:PLFM:PLFM -plowshare:PLXR:PLXR -pluckiest:PLKS:PLKS -plugholes:PLKL:PLKL -plumbable:PLMP:PLMP -plumbagin:PLMP:PLMP -plumbagos:PLMP:PLMP -plumbeous:PLMP:PLMP -plummeted:PLMT:PLMT -plummiest:PLMS:PLMS -plumpness:PLMP:PLMP -plundered:PLNT:PLNT -plunderer:PLNT:PLNT -pluralism:PLRL:PLRL -pluralist:PLRL:PLRL -plurality:PLRL:PLRL -pluralize:PLRL:PLRL -pluripara:PLRP:PLRP -plushiest:PLXS:PLXS -plutocrat:PLTK:PLTK -plutonism:PLTN:PLTN -plutonium:PLTN:PLTN -pluvially:PLFL:PLFL -plymouths:PLM0:PLMT -pneumatic:NMTK:NMTK -pneumonia:NMN:NMN -pneumonic:NMNK:NMNK -pocketful:PKTF:PKTF -pocketing:PKTN:PKTN -pockmarks:PKMR:PKMR -podagrous:PTKR:PTKR -podginess:PJNS:PJNS -podiatric:PTTR:PTTR -podsolize:PTSL:PTSL -podzolize:PTSL:PTSL -poetaster:PTST:PTST -poetesses:PTSS:PTSS -poeticize:PTSS:PTSS -poignance:PNNS:PKNN -poignancy:PNNS:PKNN -poinciana:PNSN:PNXN -pointedly:PNTT:PNTT -pointiest:PNTS:PNTS -pointless:PNTL:PNTL -pointsman:PNTS:PNTS -pointsmen:PNTS:PNTS -poisoners:PSNR:PSNR -poisoning:PSNN:PSNN -poisonous:PSNS:PSNS -pokeberry:PKPR:PKPR -polarized:PLRS:PLRS -polarizer:PLRS:PLRS -polarizes:PLRS:PLRS -polaroids:PLRT:PLRT -poldering:PLTR:PLTR -poleaxing:PLKS:PLKS -polemical:PLMK:PLMK -polemised:PLMS:PLMS -polemises:PLMS:PLMS -polestars:PLST:PLST -policeman:PLSM:PLSM -policemen:PLSM:PLSM -polishers:PLXR:PLXR -polishing:PLXN:PLXN -politburo:PLTP:PLTP -politesse:PLTS:PLTS -political:PLTK:PLTK -politicks:PLTK:PLTK -politicly:PLTK:PLTK -politicos:PLTK:PLTK -pollarded:PLRT:PLRT -pollinate:PLNT:PLNT -pollinium:PLNM:PLNM -polliwogs:PLKS:PLKS -pollsters:PLST:PLST -pollucite:PLST:PLST -pollutant:PLTN:PLTN -polluters:PLTR:PLTR -polluting:PLTN:PLTN -pollution:PLXN:PLXN -polonaise:PLNS:PLNS -polonicae:PLNK:PLNK -poltroons:PLTR:PLTR -polyamide:PLMT:PLMT -polyamine:PLMN:PLMN -polyandry:PLNT:PLNT -polyaxone:PLKS:PLKS -polybasic:PLPS:PLPS -polyblast:PLPL:PLPL -polycarpy:PLKR:PLKR -polyconic:PLKN:PLKN -polydacty:PLTK:PLTK -polyester:PLST:PLST -polygamic:PLKM:PLKM -polygenic:PLJN:PLKN -polyglots:PLKL:PLKL -polygonal:PLKN:PLKN -polygonum:PLKN:PLKN -polygraph:PLKR:PLKR -polygyria:PLKR:PLJR -polyhedra:PLHT:PLHT -polymasty:PLMS:PLMS -polymaths:PLM0:PLMT -polymeers:PLMR:PLMR -polymelia:PLML:PLML -polymeria:PLMR:PLMR -polymeric:PLMR:PLMR -polymorph:PLMR:PLMR -polymyxin:PLMK:PLMK -polynesia:PLNS:PLNX -polyphagy:PLFK:PLFJ -polyphase:PLFS:PLFS -polyphone:PLFN:PLFN -polyphony:PLFN:PLFN -polyploid:PLPL:PLPL -polypneic:PLPN:PLPN -polypodia:PLPT:PLPT -polyposes:PLPS:PLPS -polyposis:PLPS:PLPS -polyptych:PLPT:PLPT -polypuses:PLPS:PLPS -polyscope:PLSK:PLSK -polysomic:PLSM:PLSM -polythene:PL0N:PLTN -polytonal:PLTN:PLTN -polytypic:PLTP:PLTP -polyvinyl:PLFN:PLFN -pomaceous:PMSS:PMSS -pomanders:PMNT:PMNT -pomerania:PMRN:PMRN -pommeling:PMLN:PMLN -pompadors:PMPT:PMPT -pompholyx:PMFL:PMFL -pomposity:PMPS:PMPS -pompously:PMPS:PMPS -ponderers:PNTR:PNTR -pondering:PNTR:PNTR -ponderosa:PNTR:PNTR -ponderous:PNTR:PNTR -ponticuli:PNTK:PNTK -ponytails:PNTL:PNTL -poorhouse:PRS:PRS -popinjays:PPNJ:PPNJ -popliteal:PPLT:PPLT -popliteus:PPLT:PPLT -poppadoms:PPTM:PPTM -poppycock:PPKK:PPKK -poppyhead:PPHT:PPHT -popularly:PPLR:PPLR -populated:PPLT:PPLT -populates:PPLT:PPLT -populists:PPLS:PPLS -porbeagle:PRPK:PRPK -porcelain:PRSL:PRSL -porcupine:PRKP:PRKP -porcupiny:PRKP:PRKP -poriferon:PRFR:PRFR -porkiness:PRKN:PRKN -porosises:PRSS:PRSS -porphyria:PRFR:PRFR -porphyrin:PRFR:PRFR -porpoises:PRPS:PRPS -porringer:PRNK:PRNJ -portables:PRTP:PRTP -portaging:PRTJ:PRTK -portalled:PRTL:PRTL -portative:PRTT:PRTT -portended:PRTN:PRTN -porterage:PRTR:PRTR -portfolio:PRTF:PRTF -portholes:PR0L:PRTL -porticoed:PRTK:PRTK -porticoes:PRTK:PRTK -portiered:PRTR:PRTR -portieres:PRTR:PRTR -portioned:PRXN:PRXN -portioner:PRXN:PRXN -portiones:PRXN:PRXN -portliest:PRTL:PRTL -portraits:PRTR:PRTR -portrayal:PRTR:PRTR -portrayed:PRTR:PRTR -portrayer:PRTR:PRTR -portulaca:PRTL:PRTL -positions:PSXN:PSXN -positives:PSTF:PSTF -positrons:PSTR:PSTR -posologic:PSLJ:PSLK -possessed:PSST:PSST -possesses:PSSS:PSSS -possessio:PSS:PSS -possessor:PSSR:PSSR -postaxial:PSTK:PSTK -postboxes:PSTP:PSTP -postcards:PSTK:PSTK -postcaval:PSTK:PSTK -postcibal:PSTS:PSTS -postcodes:PSTK:PSTK -postcornu:PSTK:PSTK -postdated:PSTT:PSTT -postdates:PSTT:PSTT -posteriad:PSTR:PSTR -posterior:PSTR:PSTR -posterity:PSTR:PSTR -postfixed:PSTF:PSTF -postfixes:PSTF:PSTF -posthaste:PS0S:PSTS -posthitis:PS0T:PSTT -posticous:PSTK:PSTK -postictal:PSTK:PSTK -postilion:PSTL:PSTL -postludes:PSTL:PSTL -postmarks:PSTM:PSTM -postnares:PSTN:PSTN -postnaris:PSTN:PSTN -postnasal:PSTN:PSTN -postnatal:PSTN:PSTN -postnatus:PSTN:PSTN -postponed:PSTP:PSTP -postponer:PSTP:PSTP -postpones:PSTP:PSTP -postulant:PSTL:PSTL -postulate:PSTL:PSTL -posturing:PSTR:PSTR -potassium:PTSM:PTSM -potations:PTXN:PTXN -potboiler:PTPL:PTPL -potencies:PTNS:PTNX -potentate:PTNT:PTNT -potential:PTNX:PTNX -pothering:P0RN:PTRN -potholder:P0LT:PTLT -potholers:P0LR:PTLR -potholing:P0LN:PTLN -pothunter:P0NT:PTNT -potomania:PTMN:PTMN -potpourri:PTPR:PTPR -potsherds:PTXR:PTXR -potstones:PTST:PTST -potterers:PTRR:PTRR -potteries:PTRS:PTRS -pottering:PTRN:PTRN -poulterer:PLTR:PLTR -poulticed:PLTS:PLTS -poultices:PLTS:PLTS -poundkeep:PNTK:PNTK -pourboire:PRPR:PRPR -pourparty:PRPR:PRPR -poussette:PST:PST -poutingly:PTNK:PTNK -poverties:PFRT:PFRT -powderers:PTRR:PTRR -powdering:PTRN:PTRN -powerboat:PRPT:PRPT -powerless:PRLS:PRLS -powersets:PRST:PRST -practical:PRKT:PRKT -practiced:PRKT:PRKT -practices:PRKT:PRKT -practised:PRKT:PRKT -practises:PRKT:PRKT -praecoces:PRKS:PRKS -praesenti:PRSN:PRSN -praesidia:PRST:PRST -pragmatic:PRKM:PRKM -praiseful:PRSF:PRSF -prankster:PRNK:PRNK -pratfalls:PRTF:PRTF -pratingly:PRTN:PRTN -pratiques:PRTK:PRTK -prattlers:PRTL:PRTL -prattling:PRTL:PRTL -prayerful:PRRF:PRRF -prayingly:PRNK:PRNK -preabsorb:PRPS:PRPS -preaccept:PRXP:PRXP -preachers:PRXR:PRKR -preaching:PRXN:PRKN -preadapts:PRTP:PRTP -preadjust:PRTJ:PRTJ -preaffirm:PRFR:PRFR -preagonal:PRKN:PRKN -preallots:PRLT:PRLT -preambles:PRMP:PRMP -prearming:PRRM:PRRM -preassemb:PRSM:PRSM -preassign:PRSN:PRSK -preattune:PRTN:PRTN -prebendal:PRPN:PRPN -prebilled:PRPL:PRPL -preboiled:PRPL:PRPL -precancel:PRKN:PRKN -precarium:PRKR:PRKR -precatory:PRKT:PRKT -precedent:PRST:PRST -preceding:PRST:PRST -precensor:PRSN:PRSN -precentor:PRSN:PRSN -preceptor:PRSP:PRSP -precessed:PRSS:PRSS -precesses:PRSS:PRSS -prechecks:PRXK:PRKK -prechills:PRXL:PRKL -precincts:PRSN:PRSN -precipice:PRSP:PRSP -precisely:PRSS:PRSS -precisian:PRSS:PRSX -precision:PRSS:PRSX -precleans:PRKL:PRKL -precluded:PRKL:PRKL -precludes:PRKL:PRKL -precocial:PRKS:PRKX -precocity:PRKS:PRKS -preconize:PRKN:PRKN -precooked:PRKK:PRKK -precordia:PRKR:PRKR -precornua:PRKR:PRKR -precostal:PRKS:PRKS -precuneus:PRKN:PRKN -precursor:PRKR:PRKR -predacity:PRTS:PRTS -predating:PRTT:PRTT -predation:PRTX:PRTX -predators:PRTT:PRTT -predatory:PRTT:PRTT -predefine:PRTF:PRTF -predentin:PRTN:PRTN -predesign:PRTS:PRTS -predicant:PRTK:PRTK -predicate:PRTK:PRTK -predicted:PRTK:PRTK -predictor:PRTK:PRTK -predigest:PRTJ:PRTK -predivide:PRTF:PRTF -predoomed:PRTM:PRTM -preempted:PRMP:PRMP -preemptor:PRMP:PRMP -preengage:PRNK:PRNK -preexists:PRKS:PRKS -preexpose:PRKS:PRKS -prefacers:PRFS:PRFS -prefacing:PRFS:PRFS -prefatory:PRFT:PRFT -preferred:PRFR:PRFR -preferrer:PRFR:PRFR -prefigure:PRFK:PRFK -prefixing:PRFK:PRFK -preflight:PRFL:PRFL -preformed:PRFR:PRFR -prefreeze:PRFR:PRFR -prefrozen:PRFR:PRFR -pregnable:PRNP:PRKN -pregnancy:PRNN:PRKN -prehallux:PRHL:PRHL -preharden:PRHR:PRHR -preheated:PRHT:PRHT -preinform:PRNF:PRNF -preinsert:PRNS:PRNS -preinsula:PRNS:PRNS -prejudged:PRJJ:PRJJ -prejudger:PRJJ:PRJJ -prejudges:PRJJ:PRJJ -prejudice:PRJT:PRJT -prelacies:PRLS:PRLX -prelatism:PRLT:PRLT -prelatist:PRLT:PRLT -prelature:PRLT:PRLT -prelimits:PRLM:PRLM -preloaded:PRLT:PRLT -prelocate:PRLK:PRLK -preludial:PRLT:PRLT -preluding:PRLT:PRLT -prelusion:PRLS:PRLX -prelusive:PRLS:PRLS -premature:PRMT:PRMT -premedian:PRMT:PRMT -premiered:PRMR:PRMR -premieres:PRMR:PRMR -premising:PRMS:PRMS -premisses:PRMS:PRMS -premixing:PRMK:PRMK -premortal:PRMR:PRMR -premunity:PRMN:PRMN -premunize:PRMN:PRMN -prentices:PRNT:PRNT -preoccupy:PRKP:PRKP -preorally:PRRL:PRRL -preordain:PRRT:PRRT -prepacked:PRPK:PRPK -preparers:PRPR:PRPR -preparing:PRPR:PRPR -prepartal:PRPR:PRPR -prepartum:PRPR:PRPR -prepatent:PRPT:PRPT -prepaying:PRPN:PRPN -prephenic:PRFN:PRFN -prepotent:PRPT:PRPT -preprints:PRPR:PRPR -prepubian:PRPP:PRPP -prepucial:PRPS:PRPX -preputial:PRPX:PRPX -preputium:PRPT:PRPT -prerecord:PRRK:PRRK -prerectal:PRRK:PRRK -presacral:PRSK:PRSK -presaging:PRSJ:PRSK -presbyope:PRSP:PRSP -presbyter:PRSP:PRSP -presbytic:PRSP:PRSP -preschool:PRSK:PRSK -prescient:PRSN:PRSN -prescored:PRSK:PRSK -prescores:PRSK:PRSK -prescribe:PRSK:PRSK -prescript:PRSK:PRSK -preseason:PRSS:PRSS -preselect:PRSL:PRSL -presences:PRSN:PRSN -presenile:PRSN:PRSN -presented:PRSN:PRSN -presentee:PRSN:PRSN -presenter:PRSN:PRSN -presently:PRSN:PRSN -preserved:PRSR:PRSR -preserver:PRSR:PRSR -preserves:PRSR:PRSR -preshaped:PRXP:PRXP -preshapes:PRXP:PRXP -preshrink:PRXR:PRXR -preshrunk:PRXR:PRXR -president:PRST:PRST -presiding:PRST:PRST -presidium:PRST:PRST -presifted:PRSF:PRSF -presoaked:PRSK:PRSK -presomite:PRSM:PRSM -pressings:PRSN:PRSN -pressmark:PRSM:PRSM -pressroom:PRSR:PRSR -pressured:PRSR:PRSR -pressures:PRSR:PRSR -presswork:PRSR:PRSR -presterna:PRST:PRST -prestress:PRST:PRST -presuming:PRSM:PRSM -pretences:PRTN:PRTN -pretended:PRTN:PRTN -pretender:PRTN:PRTN -pretensed:PRTN:PRTN -pretenses:PRTN:PRTN -preterite:PRTR:PRTR -preterits:PRTR:PRTR -pretermit:PRTR:PRTR -pretested:PRTS:PRTS -pretibial:PRTP:PRTP -prettiest:PRTS:PRTS -prettying:PRTN:PRTN -prettyish:PRTX:PRTX -prevailed:PRFL:PRFL -prevailer:PRFL:PRFL -prevalent:PRFL:PRFL -prevented:PRFN:PRFN -preventer:PRFN:PRFN -preverbal:PRFR:PRFR -previewed:PRFT:PRFT -previewer:PRFR:PRFR -prewarmed:PRRM:PRRM -prewashed:PRXT:PRXT -prewashes:PRXS:PRXS -priapuses:PRPS:PRPS -priceless:PRSL:PRSL -pricklier:PRKL:PRKL -prickling:PRKL:PRKL -priedieus:PRTS:PRTS -priedieux:PRTK:PRTK -priestess:PRST:PRST -primacies:PRMS:PRMX -primaries:PRMR:PRMR -primarily:PRMR:PRMR -primatial:PRMX:PRMX -primeness:PRMN:PRMN -primipara:PRMP:PRMP -primitiae:PRMX:PRMX -primitive:PRMT:PRMT -primordia:PRMR:PRMR -primroses:PRMR:PRMR -princedom:PRNS:PRNS -princelet:PRNS:PRNS -princeton:PRNS:PRNS -principal:PRNS:PRNS -principia:PRNS:PRNS -principii:PRNS:PRNS -principle:PRNS:PRNS -printable:PRNT:PRNT -printably:PRNT:PRNT -printhead:PRN0:PRNT -printouts:PRNT:PRNT -prismatic:PRSM:PRSM -prisoners:PRSN:PRSN -prisoning:PRSN:PRSN -prissiest:PRSS:PRSS -privacies:PRFS:PRFX -privateer:PRFT:PRFT -privately:PRFT:PRFT -privation:PRFX:PRFX -privatism:PRFT:PRFT -privative:PRFT:PRFT -privatize:PRFT:PRFT -privilege:PRFL:PRFL -privities:PRFT:PRFT -proactive:PRKT:PRKT -proamnion:PRMN:PRMN -probandum:PRPN:PRPN -probating:PRPT:PRPT -probation:PRPX:PRPX -probative:PRPT:PRPT -probeable:PRPP:PRPP -proboscis:PRPS:PRPS -procedure:PRST:PRST -proceeded:PRST:PRST -proceeder:PRST:PRST -processed:PRSS:PRSS -processer:PRSS:PRSS -processes:PRSS:PRSS -processor:PRSS:PRSS -processus:PRSS:PRSS -prochurch:PRXR:PRKR -proclaims:PRKL:PRKL -proclitic:PRKL:PRKL -proconsul:PRKN:PRKN -procreate:PRKR:PRKR -proctitis:PRKT:PRKT -proctodea:PRKT:PRKT -procurers:PRKR:PRKR -procuress:PRKR:PRKR -procuring:PRKR:PRKR -prodigals:PRTK:PRTK -prodigies:PRTJ:PRTK -prodromal:PRTR:PRTR -prodromes:PRTR:PRTR -prodromic:PRTR:PRTR -producers:PRTS:PRTS -producing:PRTS:PRTS -proenzyme:PRNS:PRNS -proestrum:PRST:PRST -proestrus:PRST:PRST -profanely:PRFN:PRFN -profaners:PRFN:PRFN -profaning:PRFN:PRFN -profanity:PRFN:PRFN -professed:PRFS:PRFS -professes:PRFS:PRFS -professor:PRFS:PRFS -proffered:PRFR:PRFR -profferer:PRFR:PRFR -profilers:PRFL:PRFL -profiling:PRFL:PRFL -profiteer:PRFT:PRFT -profiters:PRFT:PRFT -profiting:PRFT:PRFT -profitted:PRFT:PRFT -profitter:PRFT:PRFT -profluent:PRFL:PRFL -profundae:PRFN:PRFN -profundus:PRFN:PRFN -profusely:PRFS:PRFS -profusion:PRFS:PRFX -progenies:PRJN:PRKN -progestin:PRJS:PRKS -prognathy:PRN0:PRKN -prognoses:PRNS:PRKN -prognosis:PRNS:PRKN -programma:PRKR:PRKR -programme:PRKR:PRKR -progravid:PRKR:PRKR -prohibita:PRHP:PRHP -prohibits:PRHP:PRHP -projected:PRJK:PRJK -projector:PRJK:PRJK -prolabium:PRLP:PRLP -prolactin:PRLK:PRLK -prolamine:PRLM:PRLM -prolapsed:PRLP:PRLP -prolapses:PRLP:PRLP -prolapsus:PRLP:PRLP -prolately:PRLT:PRLT -prolepses:PRLP:PRLP -prolepsis:PRLP:PRLP -proleptic:PRLP:PRLP -prolicide:PRLS:PRLS -prolixity:PRLK:PRLK -prologued:PRLK:PRLK -prologues:PRLK:PRLK -prolonged:PRLN:PRLN -prolonger:PRLN:PRLN -prolusion:PRLS:PRLX -prolusory:PRLS:PRLS -promazine:PRMS:PRMS -promenade:PRMN:PRMN -prominent:PRMN:PRMN -promisees:PRMS:PRMS -promisers:PRMS:PRMS -promising:PRMS:PRMS -promodern:PRMT:PRMT -promoters:PRMT:PRMT -promoting:PRMT:PRMT -promotion:PRMX:PRMX -promotive:PRMT:PRMT -prompters:PRMP:PRMP -promptest:PRMP:PRMP -prompting:PRMP:PRMP -pronating:PRNT:PRNT -pronation:PRNX:PRNX -proneness:PRNN:PRNN -pronephra:PRNF:PRNF -pronghorn:PRNK:PRNK -pronounce:PRNN:PRNN -prontosil:PRNT:PRNT -pronuclei:PRNK:PRNK -proofread:PRFR:PRFR -propagate:PRPK:PRPK -propagule:PRPK:PRPK -propanoic:PRPN:PRPN -propelled:PRPL:PRPL -propeller:PRPL:PRPL -properdin:PRPR:PRPR -prophetic:PRFT:PRFT -propionic:PRPN:PRPN -proponent:PRPN:PRPN -proposals:PRPS:PRPS -proposers:PRPS:PRPS -proposing:PRPS:PRPS -propositi:PRPS:PRPS -propounds:PRPN:PRPN -propriety:PRPR:PRPR -proptoses:PRPT:PRPT -proptosis:PRPT:PRPT -propylene:PRPL:PRPL -propylite:PRPL:PRPL -prorating:PRRT:PRRT -proration:PRRX:PRRX -proreform:PRRF:PRRF -prorogate:PRRK:PRRK -prorogued:PRRK:PRRK -prorogues:PRRK:PRRK -prosaical:PRSK:PRSK -proscenia:PRSN:PRSN -proscolex:PRSK:PRSK -proscribe:PRSK:PRSK -prosector:PRSK:PRSK -prosecute:PRSK:PRSK -proselike:PRSL:PRSL -proselyte:PRSL:PRSL -prosimian:PRSM:PRSM -prosiness:PRSN:PRSN -proskauer:PRSK:PRSK -prosocele:PRSS:PRSS -prosocoel:PRSK:PRSK -prosodics:PRST:PRST -prosodist:PRST:PRST -prospects:PRSP:PRSP -prospered:PRSP:PRSP -prostates:PRST:PRST -prostatic:PRST:PRST -prosterna:PRST:PRST -prosthion:PRS0:PRST -prostomia:PRST:PRST -prostrate:PRST:PRST -protamine:PRTM:PRTM -protandry:PRTN:PRTN -protanoma:PRTN:PRTN -protanope:PRTN:PRTN -protected:PRTK:PRTK -protector:PRTK:PRTK -protegees:PRTJ:PRTK -proteinic:PRTN:PRTN -protested:PRTS:PRTS -protester:PRTS:PRTS -protestor:PRTS:PRTS -prothalli:PR0L:PRTL -protheses:PR0S:PRTS -prothesis:PR0S:PRTS -prothetic:PR0T:PRTT -prothorax:PR0R:PRTR -protistan:PRTS:PRTS -protocols:PRTK:PRTK -protocone:PRTK:PRTK -protoderm:PRTT:PRTT -protogyny:PRTJ:PRTK -protoheme:PRTH:PRTH -protonema:PRTN:PRTN -protostar:PRTS:PRTS -prototype:PRTT:PRTT -protoxide:PRTK:PRTK -protozoal:PRTS:PRTS -protozoan:PRTS:PRTS -protozoic:PRTS:PRTS -protozoon:PRTS:PRTS -protracts:PRTR:PRTR -protruded:PRTR:PRTR -protrudes:PRTR:PRTR -proudness:PRTN:PRTN -proustite:PRST:PRST -provencal:PRFN:PRFN -provender:PRFN:PRFN -provident:PRFT:PRFT -providers:PRFT:PRFT -providing:PRFT:PRFT -provinces:PRFN:PRFN -provision:PRFS:PRFX -provisoes:PRFS:PRFS -provisory:PRFS:PRFS -provokers:PRFK:PRFK -provoking:PRFK:PRFK -provolone:PRFL:PRFL -proximate:PRKS:PRKS -proximity:PRKS:PRKS -prudently:PRTN:PRTN -prudishly:PRTX:PRTX -prurience:PRRN:PRRN -pruriency:PRRN:PRRN -prussians:PRSN:PRSN -prussiate:PRST:PRST -psalmists:SLMS:SLMS -psalmodic:SLMT:SLMT -psalteria:SLTR:SLTR -psammomas:SMMS:SMMS -psephitic:SFTK:SFTK -pseudonym:STNM:STNM -pseudopod:STPT:STPT -psoriases:SRSS:SRSS -psoriasis:SRSS:SRSS -psoriatic:SRTK:SRTK -psoroptes:SRPT:SRPT -psychical:SXKL:SKKL -psychoses:SXSS:SKSS -psychosis:SXSS:SKSS -psychotic:SXTK:SKTK -ptarmigan:PTRM:PTRM -pteropods:PTRP:PTRP -pterosaur:PTRS:PTRS -pterygium:PTRJ:PTRK -pterygoid:PTRK:PTRK -ptolemaic:PTLM:PTLM -ptomainic:PTMN:PTMN -pubertals:PPRT:PPRT -puberties:PPRT:PPRT -puberulic:PPRL:PPRL -pubescent:PPSN:PPSN -pubiotomy:PPTM:PPTM -publicans:PPLK:PPLK -publicist:PPLS:PPLS -publicity:PPLS:PPLS -publicize:PPLS:PPLS -published:PPLX:PPLX -publisher:PPLX:PPLX -publishes:PPLX:PPLX -puckering:PKRN:PKRN -pudginess:PJNS:PJNS -puerilely:PRLL:PRLL -puerilism:PRLS:PRLS -puerility:PRLT:PRLT -puerperae:PRPR:PRPR -puerperal:PRPR:PRPR -puerperia:PRPR:PRPR -puffballs:PFPL:PFPL -puffbirds:PFPR:PFPR -pufferies:PFRS:PFRS -puffiness:PFNS:PFNS -pugilists:PJLS:PKLS -pugnacity:PNST:PKNS -puissance:PSNS:PSNS -pulicidae:PLST:PLST -pulicidal:PLST:PLST -pullbacks:PLPK:PLPK -pullovers:PLFR:PLFR -pullulate:PLLT:PLLT -pulmonale:PLMN:PLMN -pulmonary:PLMN:PLMN -pulmonate:PLMN:PLMN -pulmotors:PLMT:PLMT -pulpiness:PLPN:PLPN -pulpiteer:PLPT:PLPT -pulpotomy:PLPT:PLPT -pulpstone:PLPS:PLPS -pulsatile:PLST:PLST -pulsating:PLST:PLST -pulsation:PLSX:PLSX -pulsative:PLST:PLST -pulsatory:PLST:PLST -pulseless:PLSL:PLSL -pulverize:PLFR:PLFR -pulvillus:PLFL:PLFL -pulvinate:PLFN:PLFN -pumiceous:PMSS:PMSS -pummeling:PMLN:PMLN -punchball:PNXP:PNKP -punchbowl:PNXP:PNKP -puncheons:PNXN:PNKN -punchiest:PNXS:PNKS -punctated:PNKT:PNKT -punctilio:PNKT:PNKT -punctuate:PNKT:PNKT -punctured:PNKT:PNKT -puncturer:PNKT:PNKT -punctures:PNKT:PNKT -pungently:PNJN:PNKN -punishers:PNXR:PNXR -punishing:PNXN:PNXN -pupillage:PPLJ:PPLK -pupillary:PPLR:PPLR -puppeteer:PPTR:PPTR -purchased:PRXS:PRKS -purchaser:PRXS:PRKS -purchases:PRXS:PRKS -purdonium:PRTN:PRTN -purebreds:PRPR:PRPR -pureeness:PRNS:PRNS -purgation:PRKX:PRKX -purgative:PRKT:PRKT -purgatory:PRKT:PRKT -purifiers:PRFR:PRFR -purifying:PRFN:PRFN -purloined:PRLN:PRLN -purloiner:PRLN:PRLN -puromycin:PRMS:PRMS -purported:PRPR:PRPR -purporter:PRPR:PRPR -purposely:PRPS:PRPS -purposing:PRPS:PRPS -purposive:PRPS:PRPS -pursiness:PRSN:PRSN -purslanes:PRSL:PRSL -pursuable:PRSP:PRSP -pursuance:PRSN:PRSN -purulence:PRLN:PRLN -purulency:PRLN:PRLN -purveying:PRFN:PRFN -purveyors:PRFR:PRFR -pushcarts:PXKR:PXKR -pushchair:PXXR:PXKR -pushiness:PXNS:PXNS -pushingly:PXNK:PXNK -pushovers:PXFR:PXFR -pussycats:PSKT:PSKT -pussyfoot:PSFT:PSFT -pustulant:PSTL:PSTL -pustulate:PSTL:PSTL -pustulous:PSTL:PSTL -putrefied:PTRF:PTRF -putrefies:PTRF:PTRF -putridity:PTRT:PTRT -putrifier:PTRF:PTRF -putterers:PTRR:PTRR -puttering:PTRN:PTRN -puttyroot:PTRT:PTRT -puzzlings:PSLN:PSLN -pycnidium:PKNT:PKNT -pyelogram:PLKR:PLKR -pygopagus:PKPK:PKPK -pyloritis:PLRT:PLRT -pyloruses:PLRS:PLRS -pyococcus:PKKS:PKKS -pyocolpos:PKLP:PKLP -pyocyanin:PSNN:PSNN -pyodermia:PTRM:PTRM -pyongyang:PNKN:PNJN -pyorrhoea:PR:PR -pyostatic:PSTT:PSTT -pyothorax:P0RK:PTRK -pyracanth:PRKN:PRKN -pyramidal:PRMT:PRMT -pyramided:PRMT:PRMT -pyramides:PRMT:PRMT -pyrenoids:PRNT:PRNT -pyrethrin:PR0R:PRTR -pyrethrum:PR0R:PRTR -pyridoxal:PRTK:PRTK -pyridoxic:PRTK:PRTK -pyridoxin:PRTK:PRTK -pyritised:PRTS:PRTS -pyrogenic:PRJN:PRKN -pyrolatry:PRLT:PRLT -pyrolysis:PRLS:PRLS -pyrolytic:PRLT:PRLT -pyrolyzed:PRLS:PRLS -pyrolyzer:PRLS:PRLS -pyrolyzes:PRLS:PRLS -pyromancy:PRMN:PRMN -pyromania:PRMN:PRMN -pyrometry:PRMT:PRMT -pyrostats:PRST:PRST -pyrotoxin:PRTK:PRTK -pyroxylin:PRKS:PRKS -quaaludes:KLTS:KLTS -quackiest:KKST:KKST -quackster:KKST:KKST -quadrable:KTRP:KTRP -quadrants:KTRN:KTRN -quadrated:KTRT:KTRT -quadrates:KTRT:KTRT -quadratic:KTRT:KTRT -quadratus:KTRT:KTRT -quadrifid:KTRF:KTRF -quadrille:KTRL:KTRL -quadrivia:KTRF:KTRF -quadroons:KTRN:KTRN -quadruped:KTRP:KTRP -quadruple:KTRP:KTRP -quadruply:KTRP:KTRP -quaesitum:KSTM:KSTM -quaggiest:KJST:KKST -quagmires:KKMR:KKMR -quaintest:KNTS:KNTS -quakeress:KKRS:KKRS -quakerish:KKRX:KKRX -quakerism:KKRS:KKRS -quakiness:KKNS:KKNS -quakingly:KKNK:KKNK -qualified:KLFT:KLFT -qualifier:KLF:KLFR -qualifies:KLFS:KLFS -qualities:KLTS:KLTS -quantized:KNTS:KNTS -quantizes:KNTS:KNTS -quarenden:KRNT:KRNT -quarreled:KRLT:KRLT -quarreler:KRLR:KRLR -quarrians:KRNS:KRNS -quarriers:KRRS:KRRS -quarrying:KRNK:KRNK -quarryman:KRMN:KRMN -quarrymen:KRMN:KRMN -quartered:KRTR:KRTR -quarterly:KRTR:KRTR -quarterns:KRTR:KRTR -quartette:KRTT:KRTT -quartiles:KRTL:KRTL -quartzite:KRTS:KRTS -quatrains:KTRN:KTRN -quaverers:KFRR:KFRR -quavering:KFRN:KFRN -quaysides:KSTS:KSTS -queasiest:KSST:KSST -quebracho:KPRK:KPRK -queencake:KNKK:KNKK -queenlier:KNL:KNLR -queenlike:KNLK:KNLK -queerness:KRNS:KRNS -quenchers:KNXR:KNKR -quenching:KNXN:KNKN -quercetic:KRST:KRST -quercetin:KRST:KRST -quercitin:KRST:KRST -querulant:KRLN:KRLN -querulent:KRLN:KRLN -querulous:KRLS:KRLS -questions:KSXN:KSXN -quetzales:KTSL:KTSL -quibblers:KPLR:KPLR -quibbling:KPLN:KPLN -quickened:KKNT:KKNT -quickener:KKNR:KKNR -quicklime:KKLM:KKLM -quickness:KKNS:KKNS -quicksand:KKSN:KKSN -quickstep:KKST:KKST -quidnuncs:KTNN:KTNN -quiescent:KSNT:KSNT -quietened:KTNT:KTNT -quietener:KTNR:KTNR -quietists:KTST:KTST -quietness:KTNS:KTNS -quietuses:KTSS:KTSS -quillwort:KLRT:KLRT -quinaries:KNRS:KNRS -quinicine:KNSN:KNSN -quinidine:KNTN:KNTN -quinoline:KNLN:KNLN -quinology:KNLJ:KNLK -quinovose:KNFS:KNFS -quinquina:KNKN:KNKN -quintette:KNTT:KNTT -quintroon:KNTR:KNTR -quintuple:KNTP:KNTP -quintuply:KNTP:KNTP -quipsters:KPST:KPST -quirkiest:KRKS:KRKS -quislings:KLNK:KLNK -quitclaim:KTKL:KTKL -quittance:KTNS:KTNS -quiverers:KFRR:KFRR -quiverful:KFRF:KFRF -quivering:KFRN:KFRN -quizzical:KSKL:KTSK -quodlibet:KTLP:KTLP -quotation:KTXN:KTXN -quotidian:KTTN:KTTN -quotients:KTNT:KTNT -rabbeting:RPTN:RPTN -rabbinate:RPNT:RPNT -rabbiting:RPTN:RPTN -rabidness:RPTN:RPTN -racclaims:RKLM:RKLM -racecards:RSKR:RSKR -racegoers:RSKR:RSKR -racehorse:RSHR:RSHR -racemises:RSMS:RSMS -racemized:RSMS:RSMS -racemizes:RSMS:RSMS -racetrack:RSTR:RSTR -rachidial:RXTL:RKTL -rachidian:RXTN:RKTN -racialism:RSLS:RXLS -racialist:RSLS:RXLS -racketeer:RKTR:RKTR -racketing:RKTN:RKTN -raconteur:RKNT:RKNT -radectomy:RTKT:RTKT -radialely:RTLL:RTLL -radiances:RTNS:RTNS -radiantly:RTNT:RTNT -radiating:RTTN:RTTN -radiation:RTXN:RTXN -radiative:RTTF:RTTF -radiators:RTTR:RTTR -radiatory:RTTR:RTTR -radically:RTKL:RTKL -radicular:RTKL:RTKL -radiocast:RTKS:RTKS -radiogram:RTKR:RTKR -radioiron:RTRN:RTRN -radiolead:RTLT:RTLT -radiology:RTLJ:RTLK -raffinate:RFNT:RFNT -raffinose:RFNS:RFNS -raffishly:RFXL:RFXL -rafflesia:RFLS:RFLX -ragouting:RKTN:RKTN -railcards:RLKR:RLKR -railingly:RLNK:RLNK -railroads:RLRT:RLRT -rainbands:RNPN:RNPN -rainbirds:RNPR:RNPR -raincoats:RNKT:RNKT -raindrops:RNTR:RNTR -rainfalls:RNFL:RNFL -raininess:RNNS:RNNS -rainmaker:RNMK:RNMK -rainproof:RNPR:RNPR -rainstorm:RNST:RNST -rainwater:RNTR:RNTR -raiseable:RSPL:RSPL -ramblings:RMPL:RMPL -ramifying:RMFN:RMFN -rammishly:RMXL:RMXL -rampagers:RMPK:RMPJ -rampaging:RMPJ:RMPK -rampantly:RMPN:RMPN -rancelman:RNSL:RNSL -rancelmen:RNSL:RNSL -rancidify:RNST:RNST -rancidity:RNST:RNST -rancorous:RNKR:RNKR -randiness:RNTN:RNTN -randomize:RNTM:RNTM -rangatira:RNKT:RNKT -rangeland:RNJL:RNKL -ranginess:RNJN:RNKN -rankshift:RNKX:RNKX -ransacked:RNSK:RNSK -ransacker:RNSK:RNSK -ransomers:RNSM:RNSM -ransoming:RNSM:RNSM -rantingly:RNTN:RNTN -ranunculi:RNNK:RNNK -rapacious:RPSS:RPXS -rapidness:RPTN:RPTN -rappeling:RPLN:RPLN -raptorial:RPTR:RPTR -rapturous:RPTR:RPTR -rarefiers:RRFR:RRFR -rarefying:RRFN:RRFN -rarifying:RRFN:RRFN -rascality:RSKL:RSKL -raspatory:RSPT:RSPT -raspberry:RSPR:RSPR -raspingly:RSPN:RSPN -ratepayer:RTPR:RTPR -ratfishes:RTFX:RTFX -ratifiers:RTFR:RTFR -ratifying:RTFN:RTFN -rationale:RXNL:RXNL -rationing:RXNN:RXNN -ratooning:RTNN:RTNN -rattening:RTNN:RTNN -rattiness:RTNS:RTNS -rattlebox:RTLP:RTLP -rattliest:RTLS:RTLS -raucously:RKSL:RKSL -raunchier:RNX:RNKR -raunchily:RNXL:RNKL -rauwolfia:RLF:RLF -ravelings:RFLN:RFLN -ravishers:RFXR:RFXR -ravishing:RFXN:RFXN -raylessly:RLSL:RLSL -razorback:RSRP:RTSR -razorbill:RSRP:RSRP -reabandon:RPNT:RPNT -reabsorbs:RPSR:RPSR -reacceded:RXTT:RXTT -reaccedes:RXTS:RXTS -reaccents:RXNT:RXNT -reaccepts:RXPT:RXPT -reacclaim:RKLM:RKLM -reaccount:RKNT:RKNT -reaccused:RKST:RKST -reaccuses:RKSS:RKSS -reachable:RXPL:RKPL -reachably:RXPL:RKPL -reacidify:RSTF:RSTF -reacquire:RKR:RKR -reactance:RKTN:RKTN -reactants:RKTN:RKTN -reactions:RKXN:RKXN -readapted:RTPT:RTPT -readdress:RTRS:RTRS -readiness:RTNS:RTNS -readjourn:RTJR:RTJR -readjusts:RTJS:RTJS -readopted:RTPT:RTPT -reaffirms:RFRM:RFRM -realigned:RLNT:RLKN -realistic:RLST:RLST -realities:RLTS:RLTS -realizers:RLSR:RLSR -realizing:RLSN:RLSN -realtered:RLTR:RLTR -realtimes:RLTM:RLTM -reanalyze:RNLS:RNLS -reanimate:RNMT:RNMT -reannexed:RNKS:RNKS -reannexes:RNKS:RNKS -reappears:RPRS:RPRS -reapplied:RPLT:RPLT -reapplier:RPL:RPLR -reapplies:RPLS:RPLS -reappoint:RPNT:RPNT -rearguard:RRKR:RRKR -rearguing:RRKN:RRKN -rearousal:RRSL:RRSL -rearoused:RRST:RRST -rearouses:RRSS:RRSS -rearrange:RRNJ:RRNK -rearrests:RRST:RRST -rearwards:RRRT:RRRT -reascends:RSNT:RSNT -reascents:RSNT:RSNT -reasoners:RSNR:RSNR -reasoning:RSNN:RSNN -reasserts:RSRT:RSRT -reassigns:RSNS:RSKN -reassorts:RSRT:RSRT -reassumed:RSMT:RSMT -reassumes:RSMS:RSMS -reassured:RSRT:RSRT -reassurer:RSRR:RSRR -reassures:RSRS:RSRS -reattains:RTNS:RTNS -reattempt:RTMP:RTMP -reavowing:RFNK:RFNK -reawakens:RKNS:RKNS -reawaking:RKNK:RKNK -rebaptism:RPPT:RPPT -rebaptize:RPPT:RPPT -rebatable:RPTP:RPTP -rebellion:RPLN:RPLN -rebidding:RPTN:RPTN -rebilling:RPLN:RPLN -rebinding:RPNT:RPNT -rebirthes:RPR0:RPRT -reboiling:RPLN:RPLN -rebounded:RPNT:RPNT -rebroaden:RPRT:RPRT -rebuffing:RPFN:RPFN -rebukable:RPKP:RPKP -reburials:RPRL:RPRL -reburying:RPRN:RPRN -rebutment:RPTM:RPTM -rebuttals:RPTL:RPTL -rebutters:RPTR:RPTR -rebutting:RPTN:RPTN -rebuttons:RPTN:RPTN -recalesce:RKLS:RKLS -recalling:RKLN:RKLN -recanters:RKNT:RKNT -recanting:RKNT:RKNT -recapping:RKPN:RKPN -recaption:RKPX:RKPX -recapture:RKPT:RKPT -recasting:RKST:RKST -recaution:RKXN:RKXN -receipted:RSPT:RSPT -receiptor:RSPT:RSPT -receivers:RSFR:RSFR -receiving:RSFN:RSFN -recension:RSNS:RSNX -reception:RSPX:RSPX -receptive:RSPT:RSPT -receptors:RSPT:RSPT -recertify:RSRT:RSRT -recessing:RSSN:RSSN -recession:RSSN:RSSN -recessive:RSSF:RSSF -recharged:RXRJ:RKRK -recharger:RXRK:RKRJ -recharges:RXRJ:RKRK -recharted:RXRT:RKRT -recharter:RXRT:RKRT -rechauffe:RXF:RKF -rechecked:RXKT:RKKT -recherche:RXRX:RKRK -recipient:RSPN:RSPN -recisions:RSSN:RSXN -recitable:RSTP:RSTP -reckoners:RKNR:RKNR -reckoning:RKNN:RKNN -reclaimed:RKLM:RKLM -reclaimer:RKLM:RKLM -recleaned:RKLN:RKLN -reclinate:RKLN:RKLN -recliners:RKLN:RKLN -reclining:RKLN:RKLN -reclothed:RKL0:RKLT -reclothes:RKL0:RKLT -reclusion:RKLS:RKLX -reclusive:RKLS:RKLS -recognize:RKNS:RKKN -recoilers:RKLR:RKLR -recoiling:RKLN:RKLN -recoinage:RKNJ:RKNK -recoining:RKNN:RKNN -recollect:RKLK:RKLK -recolored:RKLR:RKLR -recombine:RKMP:RKMP -recombing:RKMP:RKMP -recommend:RKMN:RKMN -recommits:RKMT:RKMT -recompile:RKMP:RKMP -recompose:RKMP:RKMP -recompute:RKMP:RKMP -reconcile:RKNS:RKNS -recondite:RKNT:RKNT -reconfess:RKNF:RKNF -reconfirm:RKNF:RKNF -reconnect:RKNK:RKNK -reconquer:RKNK:RKNK -reconsign:RKNS:RKNS -recontest:RKNT:RKNT -recontrol:RKNT:RKNT -reconvene:RKNF:RKNF -reconvert:RKNF:RKNF -reconveys:RKNF:RKNF -reconvict:RKNF:RKNF -recooking:RKKN:RKKN -recopying:RKPN:RKPN -recordari:RKRT:RKRT -recorders:RKRT:RKRT -recording:RKRT:RKRT -recordist:RKRT:RKRT -recounted:RKNT:RKNT -recouping:RKPN:RKPN -recourses:RKRS:RKRS -recovered:RKFR:RKFR -recoveree:RKFR:RKFR -recoverer:RKFR:RKFR -recrating:RKRT:RKRT -recreance:RKRN:RKRN -recreancy:RKRN:RKRN -recreated:RKRT:RKRT -recreates:RKRT:RKRT -recreator:RKRT:RKRT -recrement:RKRM:RKRM -recrossed:RKRS:RKRS -recrosses:RKRS:RKRS -recrowned:RKRN:RKRN -recruited:RKRT:RKRT -recruiter:RKRT:RKRT -rectangle:RKTN:RKTN -rectified:RKTF:RKTF -rectifier:RKTF:RKTF -rectifies:RKTF:RKTF -rectitude:RKTT:RKTT -rectocele:RKTS:RKTS -rectorate:RKTR:RKTR -rectorial:RKTR:RKTR -rectories:RKTR:RKTR -rectrices:RKTR:RKTR -recumbent:RKMP:RKMP -recurrent:RKRN:RKRN -recurring:RKRN:RKRN -recursing:RKRS:RKRS -recursion:RKRS:RKRX -recursive:RKRS:RKRS -recurving:RKRF:RKRF -recusance:RKSN:RKSN -recusancy:RKSN:RKSN -recusants:RKSN:RKSN -recusator:RKST:RKST -recycling:RSKL:RSKL -redacting:RTKT:RTKT -redaction:RTKX:RTKX -redbreast:RTPR:RTPR -redbricks:RTPR:RTPR -reddendum:RTNT:RTNT -reddeners:RTNR:RTNR -reddening:RTNN:RTNN -reddishly:RTXL:RTXL -redeclare:RTKL:RTKL -redeemers:RTMR:RTMR -redeeming:RTMN:RTMN -redefined:RTFN:RTFN -redefines:RTFN:RTFN -redefying:RTFN:RTFN -redeliver:RTLF:RTLF -redemands:RTMN:RTMN -redemised:RTMS:RTMS -redeploys:RTPL:RTPL -redeposit:RTPS:RTPS -redescend:RTSN:RTSN -redesigns:RTSN:RTSK -redevelop:RTFL:RTFL -redfishes:RTFX:RTFX -redfordly:RTFR:RTFR -redheaded:RTTT:RTTT -redialled:RTLT:RTLT -redigests:RTJS:RTKS -redingote:RTNK:RTNK -redirects:RTRK:RTRK -redisplay:RTSP:RTSP -redistill:RTST:RTST -redivided:RTFT:RTFT -redivides:RTFT:RTFT -redlining:RTLN:RTLN -redocking:RTKN:RTKN -redolence:RTLN:RTLN -redolency:RTLN:RTLN -redoubled:RTPL:RTPL -redoubles:RTPL:RTPL -redounded:RTNT:RTNT -redrafted:RTRF:RTRF -redrawing:RTRN:RTRN -redressed:RTRS:RTRS -redresser:RTRS:RTRS -redresses:RTRS:RTRS -redrilled:RTRL:RTRL -redshanks:RTXN:RTXN -redstarts:RTST:RTST -reducible:RTSP:RTSP -reducibly:RTSP:RTSP -reductant:RTKT:RTKT -reductase:RTKT:RTKT -reduction:RTKX:RTKX -reductive:RTKT:RTKT -reductone:RTKT:RTKT -redundant:RTNT:RTNT -reechoing:RXNK:RKNK -reedbirds:RTPR:RTPR -reedbucks:RTPK:RTPK -reediness:RTNS:RTNS -reediting:RTTN:RTTN -reedlings:RTLN:RTLN -reeducate:RTKT:RTKT -reekingly:RKNK:RKNK -reelected:RLKT:RLKT -reembarks:RMPR:RMPR -reemerged:RMRJ:RMRK -reemerges:RMRJ:RMRK -reemploys:RMPL:RMPL -reenacted:RNKT:RNKT -reenclose:RNKL:RNKL -reendowed:RNTT:RNTT -reenforce:RNFR:RNFR -reengaged:RNKJ:RNKK -reengages:RNKJ:RNKK -reenjoyed:RNJT:RNJT -reenlarge:RNLR:RNLR -reenlists:RNLS:RNLS -reenslave:RNSL:RNSL -reentered:RNTR:RNTR -reentrant:RNTR:RNTR -reentries:RNTR:RNTR -reerected:RRKT:RRKT -reexamine:RKSM:RKSM -reexhibit:RKSP:RKSP -reexisted:RKSS:RKSS -reexports:RKSP:RKSP -reexpress:RKSP:RKSP -refashion:RFXN:RFXN -refastens:RFST:RFST -refection:RFKX:RFKX -refectory:RFKT:RFKT -referable:RFRP:RFRP -refereing:RFRN:RFRN -reference:RFRN:RFRN -referenda:RFRN:RFRN -referents:RFRN:RFRN -referrals:RFRL:RFRL -referrers:RFRR:RFRR -referring:RFRN:RFRN -refilling:RFLN:RFLN -refilming:RFLM:RFLM -refilters:RFLT:RFLT -refinable:RFNP:RFNP -refinance:RFNN:RFNN -refitment:RFTM:RFTM -refitting:RFTN:RFTN -reflating:RFLT:RFLT -reflation:RFLX:RFLX -reflected:RFLK:RFLK -reflector:RFLK:RFLK -reflexing:RFLK:RFLK -reflexive:RFLK:RFLK -refloated:RFLT:RFLT -reflooded:RFLT:RFLT -reflowers:RFLR:RFLR -reflowing:RFLN:RFLN -refluence:RFLN:RFLN -refluxing:RFLK:RFLK -refocused:RFKS:RFKS -refocuses:RFKS:RFKS -refolding:RFLT:RFLT -reforests:RFRS:RFRS -reforging:RFRJ:RFRK -reformats:RFRM:RFRM -reformers:RFRM:RFRM -reforming:RFRM:RFRM -reformism:RFRM:RFRM -reformist:RFRM:RFRM -refortify:RFRT:RFRT -refracted:RFRK:RFRK -refractor:RFRK:RFRK -refrained:RFRN:RFRN -refrainer:RFRN:RFRN -reframing:RFRM:RFRM -refreezes:RFRS:RFRS -refreshed:RFRX:RFRX -refresher:RFRX:RFRX -refreshes:RFRX:RFRX -refuelers:RFLR:RFLR -refueling:RFLN:RFLN -refulgent:RFLJ:RFLK -refunders:RFNT:RFNT -refunding:RFNT:RFNT -refurbish:RFRP:RFRP -refurnish:RFRN:RFRN -refusable:RFSP:RFSP -refutable:RFTP:RFTP -refutably:RFTP:RFTP -regainers:RKNR:RKNR -regaining:RKNN:RKNN -regardant:RKRT:RKRT -regardful:RKRT:RKRT -regarding:RKRT:RKRT -regathers:RK0R:RKTR -regauging:RKJN:RKKN -regearing:RJRN:RKRN -regelated:RJLT:RKLT -regelates:RJLT:RKLT -regencies:RJNS:RKNX -regenesis:RJNS:RKNS -regicidal:RJST:RKST -regicides:RJST:RKST -regilding:RJLT:RKLT -regiments:RJMN:RKMN -registers:RJST:RKST -registrar:RJST:RKST -reglazing:RKLS:RKLS -reglossed:RKLS:RKLS -reglosses:RKLS:RKLS -regorging:RKRJ:RKRK -regrading:RKRT:RKRT -regrating:RKRT:RKRT -regressed:RKRS:RKRS -regresses:RKRS:RKRS -regressor:RKRS:RKRS -regretful:RKRT:RKRT -regretted:RKRT:RKRT -regretter:RKRT:RKRT -regrouped:RKRP:RKRP -regrowing:RKRN:RKRN -regulable:RKLP:RKLP -regularly:RKLR:RKLR -regulated:RKLT:RKLT -regulates:RKLT:RKLT -regulator:RKLT:RKLT -rehandled:RHNT:RHNT -rehandles:RHNT:RHNT -rehanging:RHNJ:RHNK -rehardens:RHRT:RHRT -reharness:RHRN:RHRN -rehashing:RHXN:RHXN -rehearing:RHRN:RHRN -rehearsal:RHRS:RHRS -rehearsed:RHRS:RHRS -rehearser:RHRS:RHRS -rehearses:RHRS:RHRS -reheaters:RHTR:RHTR -reheating:RHTN:RHTN -reheeling:RHLN:RHLN -rehemming:RHMN:RHMN -rehinging:RHNJ:RHNK -rehoboams:RHPM:RHPM -rehousing:RHSN:RHSN -rehydrate:RHTR:RHTR -reignited:RNTT:RKNT -reignites:RNTS:RKNT -reimburse:RMPR:RMPR -reimports:RMPR:RMPR -reimposed:RMPS:RMPS -reimposes:RMPS:RMPS -reindeers:RNTR:RNTR -reinduced:RNTS:RNTS -reinduces:RNTS:RNTS -reinducts:RNTK:RNTK -reinfects:RNFK:RNFK -reinfests:RNFS:RNFS -reinflame:RNFL:RNFL -reinforce:RNFR:RNFR -reinforms:RNFR:RNFR -reinfused:RNFS:RNFS -reinfuses:RNFS:RNFS -reinserts:RNSR:RNSR -reinspect:RNSP:RNSP -reinstall:RNST:RNST -reinstate:RNST:RNST -reinsured:RNSR:RNSR -reinsurer:RNSR:RNSR -reinsures:RNSR:RNSR -reinvaded:RNFT:RNFT -reinvades:RNFT:RNFT -reinvents:RNFN:RNFN -reinvests:RNFS:RNFS -reinvited:RNFT:RNFT -reinvites:RNFT:RNFT -reinvoked:RNFK:RNFK -reinvokes:RNFK:RNFK -reinvolve:RNFL:RNFL -reissuing:RSNK:RSNK -reiterate:RTRT:RTRT -rejecters:RJKT:RJKT -rejecting:RJKT:RJKT -rejection:RJKX:RJKX -rejective:RJKT:RJKT -rejectors:RJKT:RJKT -rejigging:RJKN:RJKN -rejoicers:RJSR:RHSR -rejoicing:RJSN:RHSN -rejoinder:RJNT:RHNT -rejoining:RJNN:RHNN -rejudging:RJJN:RJJN -rekindled:RKNT:RKNT -rekindles:RKNT:RKNT -relabeled:RLPL:RLPL -relapsing:RLPS:RLPS -relatable:RLTP:RLTP -relatione:RLXN:RLXN -relations:RLXN:RLXN -relatives:RLTF:RLTF -relaunder:RLNT:RLNT -relaxable:RLKS:RLKS -relaxants:RLKS:RLKS -relaxedly:RLKS:RLKS -relearned:RLRN:RLRN -releasees:RLSS:RLSS -releasers:RLSR:RLSR -releasing:RLSN:RLSN -relegable:RLKP:RLKP -relegated:RLKT:RLKT -relegates:RLKT:RLKT -relenting:RLNT:RLNT -relessees:RLSS:RLSS -reletters:RLTR:RLTR -reletting:RLTN:RLTN -relevance:RLFN:RLFN -relevancy:RLFN:RLFN -reliantly:RLNT:RLNT -relicense:RLSN:RLSN -reliction:RLKX:RLKX -relievers:RLFR:RLFR -relieving:RLFN:RLFN -relighted:RLTT:RLTT -religions:RLJN:RLKN -religiose:RLJS:RLKS -religious:RLJS:RLKS -relinking:RLNK:RLNK -reliquary:RLKR:RLKR -relishing:RLXN:RLXN -relisting:RLST:RLST -reloading:RLTN:RLTN -reloaning:RLNN:RLNN -relocated:RLKT:RLKT -relocates:RLKT:RLKT -reluctant:RLKT:RLKT -remailing:RMLN:RMLN -remainder:RMNT:RMNT -remaining:RMNN:RMNN -remanding:RMNT:RMNT -remanence:RMNN:RMNN -remanning:RMNN:RMNN -remarking:RMRK:RMRK -remarques:RMRK:RMRK -remarried:RMRT:RMRT -remarries:RMRS:RMRS -rematched:RMXT:RMXT -rematches:RMXS:RMXS -rembrandt:RMPR:RMPR -remeasure:RMSR:RMSR -remedying:RMTN:RMTN -remelting:RMLT:RMLT -remembers:RMMP:RMMP -remending:RMNT:RMNT -remigrate:RMKR:RMKR -reminders:RMNT:RMNT -remindful:RMNT:RMNT -reminding:RMNT:RMNT -reminisce:RMNS:RMNS -reminting:RMNT:RMNT -remission:RMSN:RMSN -remissive:RMSF:RMSF -remitment:RMTM:RMTM -remittees:RMTS:RMTS -remittent:RMTN:RMTN -remitting:RMTN:RMTN -remodeled:RMTL:RMTL -remodeler:RMTL:RMTL -remolding:RMLT:RMLT -remontoir:RMNT:RMNT -remoulade:RMLT:RMLT -remoulded:RMLT:RMLT -remounted:RMNT:RMNT -removable:RMFP:RMFP -removably:RMFP:RMFP -renascent:RNSN:RNSN -renatured:RNTR:RNTR -renderers:RNTR:RNTR -rendering:RNTR:RNTR -rendition:RNTX:RNTX -renegaded:RNKT:RNKT -renegades:RNKT:RNKT -renewable:RNPL:RNPL -renifleur:RNFL:RNFL -renounced:RNNS:RNNS -renouncer:RNNS:RNNS -renounces:RNNS:RNNS -renovated:RNFT:RNFT -renovates:RNFT:RNFT -renovator:RNFT:RNFT -renumbers:RNMR:RNMR -reobtains:RPTN:RPTN -reopening:RPNN:RPNN -reordered:RRTR:RRTR -reorients:RRNT:RRNT -repackage:RPKJ:RPKK -repacking:RPKN:RPKN -repainted:RPNT:RPNT -repairers:RPRR:RPRR -repairing:RPRN:RPRN -repairman:RPRM:RPRM -repairmen:RPRM:RPRM -repapered:RPPR:RPPR -reparable:RPRP:RPRP -reparably:RPRP:RPRP -repartees:RPRT:RPRT -repassage:RPSJ:RPSK -repassing:RPSN:RPSN -repayable:RPPL:RPPL -repayment:RPMN:RPMN -repealers:RPLR:RPLR -repealing:RPLN:RPLN -repeaters:RPTR:RPTR -repeating:RPTN:RPTN -repechage:RPXJ:RPKK -repellant:RPLN:RPLN -repellent:RPLN:RPLN -repellers:RPLR:RPLR -repelling:RPLN:RPLN -repentant:RPNT:RPNT -repenters:RPNT:RPNT -repenting:RPNT:RPNT -repeopled:RPPL:RPPL -repeoples:RPPL:RPPL -repertory:RPRT:RPRT -rephrased:RFRS:RFRS -rephrases:RFRS:RFRS -repinning:RPNN:RPNN -replacers:RPLS:RPLS -replacing:RPLS:RPLS -replanned:RPLN:RPLN -replanted:RPLN:RPLN -replaying:RPLN:RPLN -repleaded:RPLT:RPLT -repleader:RPLT:RPLT -repledged:RPLJ:RPLJ -replenish:RPLN:RPLN -repletely:RPLT:RPLT -repletion:RPLX:RPLX -replevied:RPLF:RPLF -replevies:RPLF:RPLF -replicase:RPLK:RPLK -replicate:RPLK:RPLK -repointed:RPNT:RPNT -reportage:RPRT:RPRT -reporters:RPRT:RPRT -reporting:RPRT:RPRT -reposeful:RPSF:RPSF -reposited:RPST:RPST -repossess:RPSS:RPSS -repotting:RPTN:RPTN -reprehend:RPRH:RPRH -represent:RPRS:RPRS -repressed:RPRS:RPRS -represser:RPRS:RPRS -represses:RPRS:RPRS -repressor:RPRS:RPRS -repricing:RPRS:RPRS -reprieval:RPRF:RPRF -reprieved:RPRF:RPRF -repriever:RPRF:RPRF -reprieves:RPRF:RPRF -reprimand:RPRM:RPRM -reprinted:RPRN:RPRN -reprinter:RPRN:RPRN -reprisals:RPRS:RPRS -reprising:RPRS:RPRS -reprobacy:RPRP:RPRP -reprobate:RPRP:RPRP -reprobing:RPRP:RPRP -reprocess:RPRS:RPRS -reproduce:RPRT:RPRT -reprogram:RPRK:RPRK -reprovers:RPRF:RPRF -reproving:RPRF:RPRF -reptilian:RPTL:RPTL -republica:RPPL:RPPL -republics:RPPL:RPPL -republish:RPPL:RPPL -repudiate:RPTT:RPTT -repugnant:RPNN:RPKN -repulsers:RPLS:RPLS -repulsing:RPLS:RPLS -repulsion:RPLS:RPLX -repulsive:RPLS:RPLS -repurifys:RPRF:RPRF -reputable:RPTP:RPTP -reputably:RPTP:RPTP -reputedly:RPTT:RPTT -requested:RKST:RKST -requester:RKST:RKST -requestor:RKST:RKST -requicken:RKKN:RKKN -requirers:RKRR:RKRR -requiring:RKRN:RKRN -requisite:RKST:RKST -requitals:RKTL:RKTL -requiters:RKTR:RKTR -requiting:RKTN:RKTN -reradiate:RRTT:RRTT -rereading:RRTN:RRTN -rerecords:RRKR:RRKR -rerelease:RRLS:RRLS -rerolling:RRLN:RRLN -reroofing:RRFN:RRFN -rerouting:RRTN:RRTN -rerunning:RRNN:RRNN -resalable:RSLP:RSLP -rescinded:RSNT:RSNT -rescinder:RSNT:RSNT -rescouses:RSKS:RSKS -rescripts:RSKP:RSKP -rescuable:RSKP:RSKP -resealing:RSLN:RSLN -reseating:RSTN:RSTN -resecting:RSKT:RSKT -resection:RSKX:RSKX -reseeding:RSTN:RSTN -reselects:RSLK:RSLK -reselling:RSLN:RSLN -resembled:RSMP:RSMP -resembler:RSMP:RSMP -resembles:RSMP:RSMP -resentful:RSNT:RSNT -resenting:RSNT:RSNT -reserpine:RSRP:RSRP -reservati:RSRF:RSRF -reservers:RSRF:RSRF -reserving:RSRF:RSRF -reservist:RSRF:RSRF -reservoir:RSRF:RSRF -resetting:RSTN:RSTN -resettled:RSTL:RSTL -resettles:RSTL:RSTL -reshaping:RXPN:RXPN -resharpen:RXRP:RXRP -reshipped:RXPT:RXPT -reshipper:RXPR:RXPR -reshoeing:RXNK:RXNK -reshuffle:RXFL:RXFL -residence:RSTN:RSTN -residency:RSTN:RSTN -residents:RSTN:RSTN -residuals:RSTL:RSTL -residuary:RSTR:RSTR -resignees:RSNS:RSKN -resigning:RSNN:RSKN -resilient:RSLN:RSLN -resinated:RSNT:RSNT -resinates:RSNT:RSNT -resinlike:RSNL:RSNL -resipsies:RSPS:RSPS -resistant:RSST:RSST -resistent:RSST:RSST -resisters:RSST:RSST -resisting:RSST:RSST -resistive:RSST:RSST -resistors:RSST:RSST -resitting:RSTN:RSTN -resituate:RSTT:RSTT -resnatron:RSNT:RSNT -resoluble:RSLP:RSLP -resolvent:RSLF:RSLF -resolvers:RSLF:RSLF -resolving:RSLF:RSLF -resonance:RSNN:RSNN -resonated:RSNT:RSNT -resonates:RSNT:RSNT -resonator:RSNT:RSNT -resorbent:RSRP:RSRP -resorbing:RSRP:RSRP -resorters:RSRT:RSRT -resorting:RSRT:RSRT -resounded:RSNT:RSNT -resources:RSRS:RSRS -respected:RSPK:RSPK -respecter:RSPK:RSPK -respectum:RSPK:RSPK -respelled:RSPL:RSPL -respirate:RSPR:RSPR -respiring:RSPR:RSPR -respiting:RSPT:RSPT -responded:RSPN:RSPN -responder:RSPN:RSPN -responser:RSPN:RSPN -responses:RSPN:RSPN -responsor:RSPN:RSPN -resprayed:RSPR:RSPR -restacked:RSTK:RSTK -restaffed:RSTF:RSTF -restaging:RSTJ:RSTK -restamped:RSTM:RSTM -restarted:RSTR:RSTR -restating:RSTT:RSTT -restfully:RSTF:RSTF -restiform:RSTF:RSTF -restitute:RSTT:RSTT -restively:RSTF:RSTF -restocked:RSTK:RSTK -restorers:RSTR:RSTR -restoring:RSTR:RSTR -restrains:RSTR:RSTR -restraint:RSTR:RSTR -restricts:RSTR:RSTR -restrings:RSTR:RSTR -restrooms:RSTR:RSTR -restudied:RSTT:RSTT -restudies:RSTT:RSTT -restuffed:RSTF:RSTF -restyling:RSTL:RSTL -resubmits:RSPM:RSPM -resultant:RSLT:RSLT -resultful:RSLT:RSLT -resulting:RSLT:RSLT -resumable:RSMP:RSMP -resummons:RSMN:RSMN -resurface:RSRF:RSRF -resurgent:RSRJ:RSRK -resurrect:RSRK:RSRK -resurveys:RSRF:RSRF -retailers:RTLR:RTLR -retailing:RTLN:RTLN -retainers:RTNR:RTNR -retaining:RTNN:RTNN -retaliate:RTLT:RTLT -retardant:RTRT:RTRT -retardate:RTRT:RTRT -retarders:RTRT:RTRT -retarding:RTRT:RTRT -reteaches:RTXS:RTKS -retelling:RTLN:RTLN -retention:RTNX:RTNX -retentive:RTNT:RTNT -retestify:RTST:RTST -retesting:RTST:RTST -rethought:R0T:RTT -rethreads:R0RT:RTRT -reticence:RTSN:RTSN -reticular:RTKL:RTKL -reticulin:RTKL:RTKL -reticulum:RTKL:RTKL -retinitis:RTNT:RTNT -retitling:RTTL:RTTL -retooling:RTLN:RTLN -retorsion:RTRS:RTRX -retorters:RTRT:RTRT -retorting:RTRT:RTRT -retortion:RTRX:RTRX -retouched:RTXT:RTKT -retoucher:RTXR:RTKR -retouches:RTXS:RTKS -retracing:RTRS:RTRS -retracted:RTRK:RTRK -retractor:RTRK:RTRK -retrahent:RTRH:RTRH -retrained:RTRN:RTRN -retreaded:RTRT:RTRT -retreated:RTRT:RTRT -retribute:RTRP:RTRP -retrieval:RTRF:RTRF -retrieved:RTRF:RTRF -retriever:RTRF:RTRF -retrieves:RTRF:RTRF -retrimmed:RTRM:RTRM -retrocede:RTRS:RTRS -retrofire:RTRF:RTRF -retrofits:RTRF:RTRF -retroflex:RTRF:RTRF -retroject:RTRJ:RTRJ -retropack:RTRP:RTRP -retrousse:RTRS:RTRS -retrovert:RTRF:RTRF -retruding:RTRT:RTRT -retrusion:RTRS:RTRX -retrusive:RTRS:RTRS -returfing:RTRF:RTRF -returnees:RTRN:RTRN -returners:RTRN:RTRN -returning:RTRN:RTRN -retwisted:RTST:RTST -reunified:RNFT:RNFT -reunifies:RNFS:RNFS -reuniters:RNTR:RNTR -reuniting:RNTN:RNTN -reutilize:RTLS:RTLS -revaluate:RFLT:RFLT -revaluing:RFLN:RFLN -revamping:RFMP:RFMP -revarnish:RFRN:RFRN -revealing:RFLN:RFLN -reveilles:RFLS:RFLS -revelator:RFLT:RFLT -revelings:RFLN:RFLN -revelment:RFLM:RFLM -revelries:RFLR:RFLR -revenants:RFNN:RFNN -revengers:RFNK:RFNJ -revenging:RFNJ:RFNK -revenuers:RFNR:RFNR -reverable:RFRP:RFRP -reverence:RFRN:RFRN -reverends:RFRN:RFRN -reversals:RFRS:RFRS -reversely:RFRS:RFRS -reversers:RFRS:RFRS -reversing:RFRS:RFRS -reversion:RFRS:RFRX -revertant:RFRT:RFRT -reverting:RFRT:RFRT -revesting:RFST:RFST -revetment:RFTM:RFTM -revictual:RFKT:RFKT -reviewers:RFRS:RFRS -reviewing:RFNK:RFNK -reviolate:RFLT:RFLT -revisable:RFSP:RFSP -revisions:RFSN:RFXN -revisited:RFST:RFST -revivable:RFFP:RFFP -revivably:RFFP:RFFP -revocable:RFKP:RFKP -revocably:RFKP:RFKP -revocandi:RFKN:RFKN -revocatur:RFKT:RFKT -revoicing:RFSN:RFSN -revokable:RFKP:RFKP -revolters:RFLT:RFLT -revolting:RFLT:RFLT -revolvers:RFLF:RFLF -revolving:RFLF:RFLF -revulsion:RFLS:RFLX -revulsive:RFLS:RFLS -rewarding:RRTN:RRTN -rewarming:RRMN:RRMN -rewashing:RXNK:RXNK -rewaybill:RPL:RPL -reweaving:RFNK:RFNK -rewedding:RTNK:RTNK -reweighed:RT:RT -reweighes:RS:RS -rewelding:RLTN:RLTN -rewidened:RTNT:RTNT -rewinding:RNTN:RNTN -rewirable:RRPL:RRPL -rewording:RRTN:RRTN -reworking:RRKN:RRKN -rewrapped:RRPT:RRPT -rewriters:RRTR:RRTR -rewriting:RRTN:RRTN -rewritten:RRTN:RRTN -rewrought:RRFT:RRFT -reykjavik:RKFK:RKFK -rhabditis:RPTT:RPTT -rhachitis:RXTS:RKTS -rhapsodic:RPST:RPST -rhatanies:RTNS:RTNS -rhathymia:R0M:RTM -rheobasic:RPSK:RPSK -rheologic:RLJK:RLKK -rheometry:RMTR:RMTR -rheostats:RSTT:RSTT -rheotaxes:RTKS:RTKS -rheotaxis:RTKS:RTKS -rheotrope:RTRP:RTRP -rheumatic:RMTK:RMTK -rhigolene:RKLN:RKLN -rhinalgia:RNLJ:RNLK -rhinolith:RNL0:RNLT -rhinology:RNLJ:RNLK -rhizobium:RSPM:RSPM -rhizoidal:RSTL:RSTL -rhizopoda:RSPT:RSPT -rhizotomy:RSTM:RSTM -rhodamine:RTMN:RTMN -rhodanate:RTNT:RTNT -rhodanese:RTNS:RTNS -rhodesian:RTSN:RTXN -rhodolite:RTLT:RTLT -rhodopsin:RTPS:RTPS -rhoeadine:RTN:RTN -rhomboids:RMPT:RMPT -rhombuses:RMPS:RMPS -rhonchial:RNKL:RNKL -rhotacism:RTSS:RTSS -rhoticity:RTST:RTST -rhumbline:RMPL:RMPL -rhymeless:RMLS:RMLS -rhymester:RMST:RMST -rhyolitic:RLTK:RLTK -rhythmics:R0MK:RTMK -ribosomal:RPSM:RPSM -ribosomes:RPSM:RPSM -ricebirds:RSPR:RSPR -richfield:RXFL:RKFL -rickshaws:RKXS:RKXS -ricochets:RKXT:RKKT -riderless:RTRL:RTRL -ridership:RTRX:RTRX -ridgelike:RJLK:RJLK -ridgeling:RJLN:RJLN -ridgepole:RJPL:RJPL -ridgeways:RJS:RJS -ridiculed:RTKL:RTKL -ridiculer:RTKL:RTKL -ridicules:RTKL:RTKL -rieslings:RSLN:RSLN -rifamycin:RFMS:RFMS -riflebird:RFLP:RFLP -rightable:RTPL:RTPL -rightably:RTPL:RTPL -righteous:RTS:RTS -righthand:R0NT:RTNT -rightists:RTST:RTST -rightmost:RTMS:RTMS -rightness:RTNS:RTNS -rightward:RTRT:RTRT -rigidifys:RJTF:RKTF -rigidness:RJTN:RKTN -rigmarole:RKMR:RKMR -ringbolts:RNKP:RNKP -ringboned:RNKP:RNKP -ringdoves:RNKT:RNKT -ringingly:RNJN:RNKN -ringleted:RNKL:RNKL -ringsters:RNKS:RNKS -ringworms:RNKR:RNKR -riotously:RTSL:RTSL -riposting:RPST:RPST -riskiness:RSKN:RSKN -ritualism:RTLS:RTLS -ritualist:RTLS:RTLS -ritualize:RTLS:RTLS -ritziness:RTSN:RTSN -rivalless:RFLS:RFLS -rivalling:RFLN:RFLN -rivalries:RFLR:RFLR -riverbank:RFRP:RFRP -riverines:RFRN:RFRN -riverless:RFRL:RFRL -riverside:RFRS:RFRS -rivetting:RFTN:RFTN -roadblock:RTPL:RTPL -roadhouse:RTS:RTS -roadstead:RTST:RTST -roadsters:RTST:RTST -robberies:RPRS:RPRS -robertson:RPRT:RPRT -robotized:RPTS:RPTS -robotizes:RPTS:RPTS -rocambole:RKMP:RKMP -rochester:RXST:RKST -rockeries:RKRS:RKRS -rocketeer:RKTR:RKTR -rocketing:RKTN:RKTN -rockiness:RKNS:RKNS -rocklings:RKLN:RKLN -rockroses:RKRS:RKRS -rockshaft:RKXF:RKXF -rodential:RTNX:RTNX -rodriguez:RTRK:RTRK -roentgens:RNTJ:RNTK -rogueries:RKRS:RKRS -roguishly:RKXL:RKXL -roistered:RSTR:RSTR -roisterer:RSTR:RSTR -rollaways:RLS:RLS -rollbacks:RLPK:RLPK -rollicked:RLKT:RLKT -rollovers:RLFR:RLFR -romancers:RMNS:RMNS -romancing:RMNS:RMNS -romanists:RMNS:RMNS -romanized:RMNS:RMNS -romanizes:RMNS:RMNS -romantics:RMNT:RMNT -rondelets:RNTL:RNTL -rooftrees:RFTR:RFTR -rookeries:RKRS:RKRS -roomettes:RMTS:RMTS -roominess:RMNS:RMNS -roommates:RMTS:RMTS -roosevelt:RSFL:RSFL -rootiness:RTNS:RTNS -rootstock:RTST:RTST -ropewalks:RPLK:RPLK -roquefort:RKFR:RKFR -roqueting:RKTN:RKTN -rorschach:RRXK:RRXK -rosaceous:RSSS:RSSS -roseately:RSTL:RSTL -rosewater:RSTR:RSTR -rosewoods:RSTS:RSTS -rosinweed:RSNT:RSNT -rostellar:RSTL:RSTL -rostellum:RSTL:RSTL -rostrated:RSTR:RSTR -rotarians:RTRN:RTRN -rotatable:RTTP:RTTP -rotations:RTXN:RTXN -rotatores:RTTR:RTTR -rotiferal:RTFR:RTFR -rotovated:RTFT:RTFT -rotovates:RTFT:RTFT -rotovator:RTFT:RTFT -rottenest:RTNS:RTNS -rotterdam:RTRT:RTRT -rotulorum:RTLR:RTLR -rotundity:RTNT:RTNT -roughcast:RFKS:RFKS -roughened:RFNT:RFNT -roughener:RFNR:RFNR -roughhewn:RFN:RFN -roughhews:RFS:RFS -roughneck:RFNK:RFNK -roughness:RFNS:RFNS -roughshod:RFXT:RFXT -roulettes:RLTS:RLTS -roundedly:RNTT:RNTT -roundelay:RNTL:RNTL -roundhead:RNTT:RNTT -roundness:RNTN:RNTN -roundsman:RNTS:RNTS -roundsmen:RNTS:RNTS -roundwood:RNTT:RNTT -roundworm:RNTR:RNTR -rousingly:RSNK:RSNK -routinely:RTNL:RTNL -routinize:RTNS:RTNS -rowdiness:RTNS:RTNS -royalists:RLST:RLST -royalties:RLTS:RLTS -rubberize:RPRS:RPRS -rubefying:RPFN:RPFN -rubellite:RPLT:RPLT -rubescent:RPSN:RPSN -rubricate:RPRK:RPRK -rubrician:RPRS:RPRX -rucksacks:RKSK:RKSK -rudaceous:RTSS:RTSS -rudbeckia:RTPK:RTPK -ruddiness:RTNS:RTNS -rudiments:RTMN:RTMN -rufescent:RFSN:RFSN -ruffianly:RFNL:RFNL -ruggedize:RKTS:RKTS -ruination:RNXN:RNXN -ruinously:RNSL:RNSL -rulership:RLRX:RLRX -rumanians:RMNN:RMNN -rumblings:RMPL:RMPL -rumenitis:RMNT:RMNT -ruminants:RMNN:RMNN -ruminated:RMNT:RMNT -ruminates:RMNT:RMNT -ruminator:RMNT:RMNT -rummagers:RMKR:RMJR -rummaging:RMJN:RMKN -rumminess:RMNS:RMNS -rumrunner:RMRN:RMRN -runabouts:RNPT:RNPT -runaround:RNRN:RNRN -runcinate:RNSN:RNSN -runtiness:RNTN:RNTN -rupturing:RPTR:RPTR -ruralises:RRLS:RRLS -ruralized:RRLS:RRLS -ruralizes:RRLS:RRLS -rushiness:RXNS:RXNS -rushingly:RXNK:RXNK -russified:RSFT:RSFT -rusticate:RSTK:RSTK -rusticity:RSTS:RSTS -rustiness:RSTN:RSTN -rustproof:RSTP:RSTP -rutabagas:RTPK:RTPK -rutaceous:RTSS:RTSS -ruthenium:R0NM:RTNM -rutilated:RTLT:RTLT -ruttiness:RTNS:RTNS -ruttishly:RTXL:RTXL -sabadilla:SPTL:SPTL -sabbathes:SP0S:SPTS -sabotaged:SPTJ:SPTK -sabotages:SPTJ:SPTK -saboteurs:SPTR:SPTR -saccharic:SXRK:SXRK -saccharin:SXRN:SXRN -saccharum:SXRM:SXRM -sacciform:SXFR:SXFR -sacculate:SKLT:SKLT -sackcloth:SKKL:SKKL -sacralgia:SKRL:SKRL -sacrament:SKRM:SKRM -sacrarium:SKRR:SKRR -sacrifice:SKRF:SKRF -sacrilege:SKRL:SKRL -sacristan:SKRS:SKRS -saddening:STNN:STNN -saddlebag:STLP:STLP -saddlebow:STLP:STLP -sadducean:STSN:STSN -sadducees:STSS:STSS -safecrack:SFKR:SFKR -safeguard:SFKR:SFKR -safelight:SFLT:SFLT -safflower:SFLR:SFLR -safranine:SFRN:SFRN -sagacious:SKSS:SKXS -sagebrush:SJPR:SKPR -sagitally:SJTL:SKTL -sagittate:SJTT:SKTT -sailboard:SLPR:SLPR -sailboats:SLPT:SLPT -sailcloth:SLKL:SLKL -sailoring:SLRN:SLRN -sailplane:SLPL:SLPL -sainthood:SN0T:SNTT -saintless:SNTL:SNTL -saintlier:SNTL:SNTL -saintlike:SNTL:SNTL -saintship:SNTX:SNTX -salaaming:SLMN:SLMN -salacious:SLSS:SLXS -salarying:SLRN:SLRN -salerooms:SLRM:SLRM -salesgirl:SLSJ:SLSK -saleslady:SLSL:SLSL -salesroom:SLSR:SLSR -salicylic:SLSL:SLSL -saliently:SLNT:SLNT -salifying:SLFN:SLFN -saligenin:SLJN:SLKN -salimetry:SLMT:SLMT -salisbury:SLSP:SLSP -salivated:SLFT:SLFT -salivates:SLFT:SLFT -sallowish:SLX:SLX -sallyport:SLPR:SLPR -salmonoid:SLMN:SLMN -salpiform:SLPF:SLPF -salpinges:SLPN:SLPN -salsifies:SLSF:SLSF -saltation:SLTX:SLTX -saltatory:SLTT:SLTT -saltiness:SLTN:SLTN -saltpeter:SLTP:SLTP -saltwater:SLTT:SLTT -saltworks:SLTR:SLTR -salubrity:SLPR:SLPR -saluretic:SLRT:SLRT -salvagers:SLFK:SLFJ -salvaging:SLFJ:SLFK -salvation:SLFX:SLFX -samaritan:SMRT:SMRT -samoyedic:SMTK:SMTK -samplings:SMPL:SMPL -sanataria:SNTR:SNTR -sanatoria:SNTR:SNTR -sanbenito:SNPN:SNPN -sanctions:SNKX:SNKX -sanctuary:SNKT:SNKT -sandaling:SNTL:SNTL -sandalled:SNTL:SNTL -sandbanks:SNTP:SNTP -sandblast:SNTP:SNTP -sandboxes:SNTP:SNTP -sandflies:SNTF:SNTF -sandglass:SNTK:SNTK -sandiness:SNTN:SNTN -sandpaper:SNTP:SNTP -sandpiper:SNTP:SNTP -sandshoes:SNTX:SNTX -sandstone:SNTS:SNTS -sandstorm:SNTS:SNTS -sandworms:SNTR:SNTR -sangfroid:SNKF:SNKF -sanguined:SNKN:SNKN -sanguinis:SNKN:SNKN -sanhedrin:SNTR:SNTR -sanitaria:SNTR:SNTR -sanitated:SNTT:SNTT -sanitized:SNTS:SNTS -sanitizer:SNTS:SNTS -sanitizes:SNTS:SNTS -sanitoria:SNTR:SNTR -santolina:SNTL:SNTL -santonica:SNTN:SNTN -santorini:SNTR:SNTR -sapanwood:SPNT:SPNT -sapheaded:SFTT:SFTT -saphenous:SFNS:SFNS -sapidness:SPTN:SPTN -sapiently:SPNT:SPNT -sapogenin:SPJN:SPKN -saponaria:SPNR:SPNR -sapotoxin:SPTK:SPTK -sapphires:SPRS:SPRS -sapphists:SPST:SPST -sappiness:SPNS:SPNS -sapraemia:SPRM:SPRM -sapraemic:SPRM:SPRM -saprolite:SPRL:SPRL -saprozoic:SPRS:SPRS -sapsucker:SPSK:SPSK -sarabande:SRPN:SRPN -saracenic:SRSN:SRSN -sarcastic:SRKS:SRKS -sarcinaes:SRSN:SRSN -sarcocarp:SRKK:SRKK -sarcocele:SRKS:SRKS -sarcodina:SRKT:SRKT -sarcoglia:SRKK:SRKL -sarcology:SRKL:SRKL -sarcomata:SRKM:SRKM -sarcomere:SRKM:SRKM -sarcoptes:SRKP:SRKP -sarcosine:SRKS:SRKS -sarcosome:SRKS:SRKS -sardinian:SRTN:SRTN -sardonynx:SRTN:SRTN -sargassum:SRKS:SRKS -sartorial:SRTR:SRTR -sartorius:SRTR:SRTR -sashaying:SXNK:SXNK -sasquatch:SSKX:SSKX -sassabies:SSPS:SSPS -sassafras:SSFR:SSFR -sassenach:SSNK:SSNK -sassiness:SSNS:SSNS -sastrugas:SSTR:SSTR -satanical:STNK:STNK -satanists:STNS:STNS -satcheled:SXLT:SXLT -satellite:STLT:STLT -satiating:SXTN:SXTN -satiation:SXXN:SXXN -satieties:STTS:STTS -satinwood:STNT:STNT -satirical:STRK:STRK -satirists:STRS:STRS -satirized:STRS:STRS -satirizer:STRS:STRS -satirizes:STRS:STRS -satisfied:STSF:STSF -satisfier:STSF:STSF -satisfies:STSF:STSF -satrapies:STRP:STRP -saturable:STRP:STRP -saturated:STRT:STRT -saturater:STRT:STRT -saturates:STRT:STRT -saturator:STRT:STRT -saturdays:STRT:STRT -saturnian:STRN:STRN -saturniid:STRN:STRN -saturnine:STRN:STRN -saturnism:STRN:STRN -sauceless:SSLS:SSLS -saucepans:SSPN:SSPN -saucerful:SSRF:SSRF -saucerize:SSRS:SSRS -sauciness:SSNS:SSNS -sauntered:SNTR:SNTR -saunterer:SNTR:SNTR -sauriasis:SRSS:SRSS -sauteeing:STNK:STNK -sauternes:STRN:STRN -savagedom:SFJT:SFKT -savannahs:SFNS:SFNS -savoriest:SFRS:SFRS -savorless:SFRL:SFRL -sawfishes:SFXS:SFXS -sawhorses:SRSS:SRSS -saxifrage:SKSF:SKSF -saxitoxin:SKST:SKST -saxophone:SKSF:SKSF -scabbards:SKPR:SKPR -scabbiest:SKPS:SKPS -scabbling:SKPL:SKPL -scabicide:SKPS:SKPS -scabietic:SKPT:SKPT -scablands:SKPL:SKPL -scaffolds:SKFL:SKFL -scagliola:SKKL:SKLL -scalagely:SKLJ:SKLK -scalawags:SKLK:SKLK -scaldfish:SKLT:SKLT -scaleless:SKLL:SKLL -scalelike:SKLL:SKLL -scalesman:SKLS:SKLS -scalesmen:SKLS:SKLS -scaliness:SKLN:SKLN -scallions:SKLN:SKLN -scalloped:SKLP:SKLP -scalloper:SKLP:SKLP -scallywag:SKLK:SKLK -scalogram:SKLK:SKLK -scampered:SKMP:SKMP -scamperer:SKMP:SKMP -scandalum:SKNT:SKNT -scannable:SKNP:SKNP -scantiest:SKNT:SKNT -scantling:SKNT:SKNT -scantness:SKNT:SKNT -scapegoat:SKPK:SKPK -scapement:SKPM:SKPM -scaphopod:SKFP:SKFP -scapolite:SKPL:SKPL -scapulaes:SKPL:SKPL -scapulars:SKPL:SKPL -scapulary:SKPL:SKPL -scarecrow:SKRK:SKRK -scarfskin:SKRF:SKRF -scarified:SKRF:SKRF -scarifier:SKRF:SKRF -scarifies:SKRF:SKRF -scariness:SKRN:SKRN -scarpered:SKRP:SKRP -scatology:SKTL:SKTL -scatomata:SKTM:SKTM -scattered:SKTR:SKTR -scatterer:SKTR:SKTR -scattiest:SKTS:SKTS -scavenged:SKFN:SKFN -scavenger:SKFN:SKFN -scavenges:SKFN:SKFN -scenarios:SNRS:SNRS -scenarist:SNRS:SNRS -sceneries:SNRS:SNRS -scentless:SNTL:SNTL -sceptical:SPTK:SPTK -schedular:SKTL:SKTL -scheduled:SKTL:SKTL -scheduler:SKTL:SKTL -schedules:SKTL:SKTL -scheelite:XLT:XLT -scheibler:XPLR:XPLR -schematic:SKMT:SKMT -schilling:XLNK:XLNK -schirrhus:XRS:XRS -schistose:XSTS:XSTS -schistous:XSTS:XSTS -schizaxon:XSKS:XSKS -schizoids:XSTS:XSTS -schizopod:XSPT:XSPT -schlemiel:XLML:SLML -schlepped:XLPT:SLPT -schlieren:XLRN:SLRN -schlieric:XLRK:SLRK -schmaltzy:XMLT:SMLT -schnauzer:XNSR:SNSR -schneider:XNTR:SNTR -schnitzel:XNTS:SNTS -schnorkel:XNRK:SNRK -scholarly:XLRL:XLRL -scholiast:XLST:XLST -schoolage:SKLK:SKLK -schoolbag:SKLP:SKLP -schoolboy:SKLP:SKLP -schoolers:SKLR:SKLR -schooling:SKLN:SKLN -schoolman:SKLM:SKLM -schoolmen:SKLM:SKLM -schooners:SKNR:SKNR -schuffner:XFNR:XFNR -schussing:XSNK:XSNK -sciential:SNXL:SNXL -scientism:SNTS:SNTS -scientist:SNTS:SNTS -scimitars:SMTR:SMTR -scintilla:SNTL:SNTL -sciomancy:SMNS:SMNS -scirrhoid:SRT:SRT -scirrhous:SRS:SRS -sciruines:SRNS:SRNS -scissored:SSRT:SSRT -scissurae:SSR:SSR -sclaffing:SKFN:SKFN -scleritic:SKRT:SKRT -scleritis:SKRT:SKRT -scleromas:SKRM:SKRM -sclerosal:SKRS:SKRS -sclerosed:SKRS:SKRS -scleroses:SKRS:SKRS -sclerosis:SKRS:SKRS -sclerotia:SKRX:SKRX -sclerotic:SKRT:SKRT -scofflaws:SKFL:SKFL -scoldable:SKLT:SKLT -scolecite:SKLS:SKLS -scolecoid:SKLK:SKLK -scolioses:SKLS:SKLS -scoliosis:SKLS:SKLS -scoliotic:SKLT:SKLT -scombroid:SKMP:SKMP -scoopfuls:SKPF:SKPF -scoparium:SKPR:SKPR -scoparius:SKPR:SKPR -scopoline:SKPL:SKPL -scopulate:SKPL:SKPL -scorbutic:SKRP:SKRP -scorbutus:SKRP:SKRP -scorchers:SKRX:SKRK -scorching:SKRX:SKRK -scorecard:SKRK:SKRK -scoreless:SKRL:SKRL -scorified:SKRF:SKRF -scorifier:SKRF:SKRF -scorifies:SKRF:SKRF -scorpioid:SKRP:SKRP -scorpions:SKRP:SKRP -scotching:SKXN:SKXN -scotchman:SKXM:SKXM -scotchmen:SKXM:SKXM -scotomata:SKTM:SKTM -scoundrel:SKNT:SKNT -scourgers:SKRK:SKRJ -scourging:SKRJ:SKRK -scrabbled:SKPL:SKPL -scrabbler:SKPL:SKPL -scrabbles:SKPL:SKPL -scraggier:SKJ:SKKR -scraggily:SKJL:SKKL -scragging:SKJN:SKKN -scrambled:SKMP:SKMP -scrambler:SKMP:SKMP -scrambles:SKMP:SKMP -scramming:SKMN:SKMN -scrapbook:SKPK:SKPK -scrapheap:SKFP:SKFP -scrapings:SKPN:SKPN -scrappage:SKPJ:SKPK -scrappers:SKPR:SKPR -scrappier:SKP:SKPR -scrappily:SKPL:SKPL -scrapping:SKPN:SKPN -scratched:SKXT:SKXT -scratcher:SKXR:SKXR -scratches:SKXS:SKXS -scrawling:SKLN:SKLN -scrawnier:SKNR:SKNR -screamers:SKMR:SKMR -screaming:SKMN:SKMN -screeched:SKXT:SKKT -screecher:SKXR:SKKR -screeches:SKXS:SKKS -screeners:SKNR:SKNR -screening:SKNN:SKNN -screevers:SKFR:SKFR -screeving:SKFN:SKFN -screwball:SKPL:SKPL -screweyed:SKT:SKT -screwiest:SKST:SKST -screwlike:SKLK:SKLK -screwworm:SKRM:SKRM -scribbled:SKPL:SKPL -scribbler:SKPL:SKPL -scribbles:SKPL:SKPL -scrimmage:SKMJ:SKMK -scrimpier:SKMP:SKMP -scrimpily:SKMP:SKMP -scrimping:SKMP:SKMP -scrimshaw:SKMX:SKMX -scripting:SKPT:SKPT -scripture:SKPT:SKPT -scrivener:SKFN:SKFN -scrolling:SKLN:SKLN -scrotitis:SKTT:SKTT -scrounged:SKNJ:SKNK -scrounger:SKNK:SKNJ -scrounges:SKNJ:SKNK -scrubbers:SKPR:SKPR -scrubbier:SKP:SKPR -scrubbing:SKPN:SKPN -scrubland:SKPL:SKPL -scruffier:SKF:SKFR -scruffily:SKFL:SKFL -scrummage:SKMJ:SKMK -scrumming:SKMN:SKMN -scrumping:SKMP:SKMP -scrunched:SKNX:SKNK -scrunches:SKNX:SKNK -scrupling:SKPL:SKPL -scrutable:SKTP:SKTP -scrutator:SKTT:SKTT -scufflers:SKFL:SKFL -scuffling:SKFL:SKFL -scullions:SKLN:SKLN -sculpting:SKLP:SKLP -sculptors:SKLP:SKLP -sculpture:SKLP:SKLP -scumbling:SKMP:SKMP -scummiest:SKMS:SKMS -scuncheon:SKNX:SKNK -scuppered:SKPR:SKPR -scurfiest:SKRF:SKRF -scurrying:SKRN:SKRN -scurviest:SKRF:SKRF -scutation:SKTX:SKTX -scutcheon:SKXN:SKXN -scutchers:SKXR:SKXR -scutching:SKXN:SKXN -scutellar:SKTL:SKTL -scutellum:SKTL:SKTL -scutiform:SKTF:SKTF -scutigera:SKTJ:SKTK -scuttered:SKTR:SKTR -scuttlers:SKTL:SKTL -scuttling:SKTL:SKTL -scybalous:SPLS:SPLS -seaboards:SPRT:SPRT -seacoasts:SKST:SKST -seafarers:SFRR:SFRR -seafaring:SFRN:SFRN -seahorses:SHRS:SHRS -sealeries:SLRS:SLRS -sealskins:SLSK:SLSK -seaminess:SMNS:SMNS -seaplanes:SPLN:SPLN -seaquakes:SKKS:SKKS -searchers:SRXR:SRKR -searching:SRXN:SRKN -searingly:SRNK:SRNK -seascapes:SSKP:SSKP -seashells:SXLS:SXLS -seashores:SXRS:SXRS -seasiders:SSTR:SSTR -seasoners:SSNR:SSNR -seasoning:SSNN:SSNN -seaworthy:SR0:SRT -sebaceous:SPSS:SPSS -seborrhea:SPR:SPR -secateurs:SKTR:SKTR -secernent:SSRN:SSRN -secession:SSSN:SSSN -secluding:SKLT:SKLT -seclusion:SKLS:SKLX -seclusive:SKLS:SKLS -secondary:SKNT:SKNT -seconders:SKNT:SKNT -seconding:SKNT:SKNT -secrecies:SKRS:SKRX -secretary:SKRT:SKRT -secretely:SKRT:SKRT -secreting:SKRT:SKRT -secretion:SKRX:SKRX -secretive:SKRT:SKRT -secretory:SKRT:SKRT -sectarian:SKTR:SKTR -sectaries:SKTR:SKTR -sectility:SKTL:SKTL -sectional:SKXN:SKXN -sectioned:SKXN:SKXN -sectorial:SKTR:SKTR -sectoring:SKTR:SKTR -secularly:SKLR:SKLR -secundine:SKNT:SKNT -securable:SKRP:SKRP -securance:SKRN:SKRN -securings:SKRN:SKRN -sedatives:STTF:STTF -sedentary:STNT:STNT -sediments:STMN:STMN -seditious:STTS:STTS -seducible:STSP:STSP -seduction:STKX:STKX -seductive:STKT:STKT -seediness:STNS:STNS -seedlings:STLN:STLN -seemingly:SMNK:SMNK -seemliest:SMLS:SMLS -seeresses:SRSS:SRSS -seesawing:SSNK:SSNK -segmental:SKMN:SKMN -segmented:SKMN:SKMN -segmenter:SKMN:SKMN -segregant:SKRK:SKRK -segregate:SKRK:SKRK -seignette:SNT:SKNT -seigneurs:SNRS:SKNR -seigneury:SNR:SKNR -seigniors:SNRS:SKNR -seigniory:SNR:SKNR -seismical:SSMK:SSMK -selachian:SLKN:SLKN -selectees:SLKT:SLKT -selecting:SLKT:SLKT -selection:SLKX:SLKX -selective:SLKT:SLKT -selectman:SLKT:SLKT -selectmen:SLKT:SLKT -selectors:SLKT:SLKT -selenious:SLNS:SLNS -selenosis:SLNS:SLNS -selfishly:SLFX:SLFX -selvagees:SLFJ:SLFK -semantics:SMNT:SMNT -semaphore:SMFR:SMFR -semblance:SMPL:SMPL -semeiotic:SMTK:SMTK -semesters:SMST:SMST -semestral:SMST:SMST -semiblind:SMPL:SMPL -semibreve:SMPR:SMPR -semicolon:SMKL:SMKL -semidaily:SMTL:SMTL -semidomes:SMTM:SMTM -semierect:SMRK:SMRK -semifinal:SMFN:SMFN -semifluid:SMFL:SMFL -semigloss:SMKL:SMKL -semilegal:SMLK:SMLK -semilunar:SMLN:SMLN -seminally:SMNL:SMNL -seminated:SMNT:SMNT -seminoles:SMNL:SMNL -seminomas:SMNM:SMNM -seminuria:SMNR:SMNR -semiology:SMLJ:SMLK -semiotics:SMTK:SMTK -semipagan:SMPK:SMPK -semiproof:SMPR:SMPR -semirigid:SMRJ:SMRK -semiround:SMRN:SMRN -semirural:SMRR:SMRR -semiskill:SMSK:SMSK -semisolid:SMSL:SMSL -semisweet:SMST:SMST -semitised:SMTS:SMTS -semitists:SMTS:SMTS -semitones:SMTN:SMTN -semiurban:SMRP:SMRP -semivocal:SMFK:SMFK -semivowel:SMFL:SMFL -senecious:SNSS:SNXS -senescent:SNSN:SNSN -seneschal:SNXL:SNXL -senhorita:SNRT:SNRT -seniority:SNRT:SNRT -senoraita:SNRT:SNRT -senoritas:SNRT:SNRT -señoritas:SNRT:SNRT -sensately:SNST:SNST -sensation:SNSX:SNSX -senseless:SNSL:SNSL -sensillum:SNSL:SNSL -sensitive:SNST:SNST -sensitize:SNST:SNST -sensorial:SNSR:SNSR -sensories:SNSR:SNSR -sensorium:SNSR:SNSR -sensually:SNSL:SNSL -sentenced:SNTN:SNTN -sentences:SNTN:SNTN -sentience:SNTN:SNTN -sentiency:SNTN:SNTN -sentiment:SNTM:SNTM -sentinels:SNTN:SNTN -sentrying:SNTR:SNTR -separable:SPRP:SPRP -separably:SPRP:SPRP -separated:SPRT:SPRT -separates:SPRT:SPRT -separator:SPRT:SPRT -septarian:SPTR:SPTR -septarium:SPTR:SPTR -septation:SPTX:SPTX -september:SPTM:SPTM -septenary:SPTN:SPTN -septennia:SPTN:SPTN -septicity:SPTS:SPTS -septotome:SPTT:SPTT -septupled:SPTP:SPTP -septuples:SPTP:SPTP -septuplet:SPTP:SPTP -sepulcher:SPLX:SPLK -sepulchre:SPLX:SPLK -sepulture:SPLT:SPLT -sequacity:SKST:SKST -sequenced:SKNS:SKNS -sequencer:SKNS:SKNS -sequences:SKNS:SKNS -sequently:SKNT:SKNT -sequester:SKST:SKST -sequestra:SKST:SKST -sequinned:SKNT:SKNT -sequiturs:SKTR:SKTR -sequuntur:SKNT:SKNT -seraglios:SRKL:SRLS -serenaded:SRNT:SRNT -serenader:SRNT:SRNT -serenades:SRNT:SRNT -sergeancy:SRJN:SRKN -sergeants:SRJN:SRKN -serialism:SRLS:SRLS -serialist:SRLS:SRLS -seriality:SRLT:SRLT -serialize:SRLS:SRLS -seriately:SRTL:SRTL -seriating:SRTN:SRTN -seriation:SRXN:SRXN -sericeous:SRSS:SRSS -serigraph:SRKR:SRKR -seriously:SRSL:SRSL -serjeancy:SRJN:SRJN -serjeants:SRJN:SRJN -sermonize:SRMN:SRMN -serologic:SRLJ:SRLK -serositis:SRST:SRST -serotonin:SRTN:SRTN -serrating:SRTN:SRTN -serration:SRXN:SRXN -serrefine:SRFN:SRFN -serriform:SRFR:SRFR -serrulate:SRLT:SRLT -serveable:SRFP:SRFP -servicing:SRFS:SRFS -serviette:SRFT:SRFT -servilely:SRFL:SRFL -servility:SRFL:SRFL -servitors:SRFT:SRFT -servitude:SRFT:SRFT -sessility:SSLT:SSLT -sessional:SSNL:SSNL -setaceous:STSS:STSS -setscrews:STSK:STSK -settlings:STLN:STLN -sevenfold:SFNF:SFNF -seventeen:SFNT:SFNT -seventhes:SFN0:SFNT -seventhly:SFN0:SFNT -seventies:SFNT:SFNT -severable:SFRP:SFRP -severally:SFRL:SFRL -severalty:SFRL:SFRL -severance:SFRN:SFRN -sexennial:SKSN:SKSN -sexlessly:SKSL:SKSL -sextipara:SKST:SKST -sextupled:SKST:SKST -sextuples:SKST:SKST -sextuplet:SKST:SKST -sexualism:SKSL:SKSL -sexualist:SKSL:SKSL -sexuality:SKSL:SKSL -sexualize:SKSL:SKSL -seyoritas:SRTS:SRTS -sforzando:SFRS:SFRS -sgraffiti:SKRF:SKRF -sgraffito:SKRF:SKRF -shabbiest:XPST:XPST -shabbyish:XPX:XPX -shacklers:XKLR:XKLR -shackling:XKLN:XKLN -shadeless:XTLS:XTLS -shadiness:XTNS:XTNS -shadowbox:XTPK:XTPK -shadowers:XTRS:XTRS -shadowing:XTNK:XTNK -shaggiest:XJST:XKST -shakeable:XKPL:XKPL -shakedown:XKTN:XKTN -shakiness:XKNS:XKNS -shallowed:XLT:XLT -shallower:XLR:XLR -shallowly:XLL:XLL -shamanism:XMNS:XMNS -shamateur:XMTR:XMTR -shambling:XMPL:XMPL -shambolic:XMPL:XMPL -shameable:XMPL:XMPL -shameless:XMLS:XMLS -shampooed:XMPT:XMPT -shampooer:XMPR:XMPR -shamrocks:XMRK:XMRK -shanghais:XNK:XNKS -shapeable:XPPL:XPPL -shapeless:XPLS:XPLS -shapelier:XPL:XPLR -shareable:XRPL:XRPL -sharecrop:XRKR:XRKR -sharesman:XRSM:XRSM -sharesmen:XRSM:XRSM -shareware:XRR:XRR -sharklike:XRKL:XRKL -sharkskin:XRKS:XRKS -sharpened:XRPN:XRPN -sharpener:XRPN:XRPN -sharpness:XRPN:XRPN -shattered:XTRT:XTRT -shatterer:XTRR:XTRR -shaveable:XFPL:XFPL -sheaflike:XFLK:XFLK -shearlegs:XRLK:XRLK -shearling:XRLN:XRLN -sheathing:X0NK:XTNK -sheeniest:XNST:XNST -sheepcote:XPKT:XPKT -sheepdogs:XPTK:XPTK -sheepfold:XPFL:XPFL -sheepherd:XFRT:XFRT -sheeplike:XPLK:XPLK -sheepskin:XPSK:XPSK -sheepwalk:XPLK:XPLK -sheerlegs:XRLK:XRLK -sheerness:XRNS:XRNS -sheetlike:XTLK:XTLK -sheetrock:XTRK:XTRK -sheikdoms:XKTM:XKTM -sheikhdom:XKTM:XKTM -sheldrake:XLTR:XLTR -shelducks:XLTK:XLTK -shelflike:XLFL:XLFL -shellfire:XLFR:XLFR -shellfish:XLFX:XLFX -sheltered:XLTR:XLTR -shelterer:XLTR:XLTR -shemozzle:XMSL:XMSL -shepherds:XFRT:XFRT -sheradize:XRTS:XRTS -sheriffcy:XRFS:XRFS -sherlocks:XRLK:XRLK -sherwanis:XRNS:XRNS -shewbread:XPRT:XPRT -shielders:XLTR:XLTR -shielding:XLTN:XLTN -shiftable:XFTP:XFTP -shiftiest:XFTS:XFTS -shiftless:XFTL:XFTL -shiftwork:XFTR:XFTR -shigellae:XJL:XKL -shigellas:XJLS:XKLS -shikarred:XKRT:XKRT -shillalah:XLL:XLL -shillings:XLNK:XLNK -shimmered:XMRT:XMRT -shimmying:XMNK:XMNK -shinbones:XNPN:XNPN -shinglers:XNKL:XNKL -shingling:XNKL:XNLN -shininess:XNNS:XNNS -shiningly:XNNK:XNNK -shinnying:XNNK:XNNK -shintaido:XNTT:XNTT -shintiyan:XNTN:XNTN -shintoism:XNTS:XNTS -shintoist:XNTS:XNTS -shintying:XNTN:XNTN -shipboard:XPRT:XPRT -shipbreak:XPRK:XPRK -shipbuild:XPLT:XPLT -shipmates:XPMT:XPMT -shipments:XPMN:XPMN -shipowner:XPNR:XPNR -shippable:XPPL:XPPL -shipshape:XPXP:XPXP -shipwreck:XPRK:XPRK -shipyards:XPRT:XPRT -shirtiest:XRTS:XRTS -shirtless:XRTL:XRTL -shirttail:XRTL:XRTL -shiverers:XFRR:XFRR -shivering:XFRN:XFRN -shiverish:XFRX:XFRX -shockable:XKPL:XKPL -shockwave:XKF:XKF -shoddiest:XTST:XTST -shoeblack:XPLK:XPLK -shoehorns:XHRN:XHRN -shoelaces:XLSS:XLSS -shoemaker:XMKR:XMKR -shoeshine:XXN:XXN -shoetrees:XTRS:XTRS -shootable:XTPL:XTPL -shootings:XTNK:XTNK -shootouts:XTTS:XTTS -shopbreak:XPRK:XPRK -shoplifts:XPLF:XPLF -shorebird:XRPR:XRPR -shoreless:XRLS:XRLS -shoreline:XRLN:XRLN -shoreward:XRRT:XRRT -shoreweed:XRT:XRT -shortages:XRTJ:XRTK -shortcake:XRTK:XRTK -shortcuts:XRTK:XRTK -shortened:XRTN:XRTN -shortener:XRTN:XRTN -shortfall:XRTF:XRTF -shorthair:XR0R:XRTR -shorthand:XR0N:XRTN -shorthold:XR0L:XRTL -shorthorn:XR0R:XRTR -shortness:XRTN:XRTN -shortstop:XRTS:XRTS -shortwave:XRTF:XRTF -shoshones:XXNS:XXNS -shoshonis:XXNS:XXNS -shoulders:XLTR:XLTR -shouldest:XLTS:XLTS -shouldn't:XLTN:XLTN -shovelers:XFLR:XFLR -shovelful:XFLF:XFLF -shoveling:XFLN:XFLN -shovelman:XFLM:XFLM -showcased:XKST:XKST -showcases:XKSS:XKSS -showdowns:XTNS:XTNS -showering:XRNK:XRNK -showgirls:XJRL:XKRL -showiness:XNS:XNS -showpiece:XPS:XPS -showplace:XPLS:XPLS -showrooms:XRMS:XRMS -shrapnell:XRPN:XRPN -shredders:XRTR:XRTR -shredding:XRTN:XRTN -shremouse:XRMS:XRMS -shrewders:XRTR:XRTR -shrewdest:XRTS:XRTS -shrewmice:XRMS:XRMS -shriekers:XRKR:XRKR -shrieking:XRKN:XRKN -shrillers:XRLR:XRLR -shrillest:XRLS:XRLS -shrilling:XRLN:XRLN -shrimpers:XRMP:XRMP -shrimping:XRMP:XRMP -shrinkage:XRNK:XRNK -shrinkers:XRNK:XRNK -shrinking:XRNK:XRNK -shriveled:XRFL:XRFL -shrouding:XRTN:XRTN -shrubbery:XRPR:XRPR -shrubbier:XRP:XRPR -shrublike:XRPL:XRPL -shrugging:XRKN:XRKN -shuddered:XTRT:XTRT -shufflers:XFLR:XFLR -shuffling:XFLN:XFLN -shunnable:XNPL:XNPL -shunpiked:XNPK:XNPK -shunpiker:XNPK:XNPK -shunpikes:XNPK:XNPK -shutdowns:XTNS:XTNS -shutterbu:XTRP:XTRP -shuttered:XTRT:XTRT -shuttling:XTLN:XTLN -sialogram:SLKR:XLKR -sialolith:SLL0:XLLT -siberians:SPRN:SPRN -sibilance:SPLN:SPLN -sibilancy:SPLN:SPLN -sibilants:SPLN:SPLN -sibilated:SPLT:SPLT -sibilates:SPLT:SPLT -sibylline:SPLN:SPLN -siccative:SKTF:SKTF -sicilians:SSLN:SSLN -sickeners:SKNR:SKNR -sickening:SKNN:SKNN -sicklemia:SKLM:SKLM -sicklemic:SKLM:SKLM -sickliest:SKLS:SKLS -sidebands:STPN:STPN -sideboard:STPR:STPR -sideburns:STPR:STPR -sidedness:STTN:STTN -sidekicks:STKK:STKK -sidelight:STLT:STLT -sideliner:STLN:STLN -sidelines:STLN:STLN -sidepiece:STPS:STPS -sideroads:STRT:STRT -sideroses:STRS:STRS -siderosis:STRS:STRS -siderotic:STRT:STRT -sideshows:STXS:STXS -sidesteps:STST:STST -sideswipe:STSP:STSP -sidetrack:STTR:STTR -sidewalks:STLK:STLK -sidewalls:STLS:STLS -sidewards:STRT:STRT -sidewheel:STL:STL -sidlingly:STLN:STLN -sievelike:SFLK:SFLK -siffleuse:SFLS:SFLS -sightable:STPL:STPL -sightedly:STTL:STTL -sightings:STNK:STNK -sightless:STLS:STLS -sightlier:STL:STLR -sightline:STLN:STLN -sightseen:STSN:STSN -sightseer:STSR:STSR -sigillate:SJLT:SKLT -sigmation:SKMX:SKMX -sigmatism:SKMT:SKMT -sigmoidal:SKMT:SKMT -signalers:SNLR:SKNL -signaling:SNLN:SKNL -signalize:SNLS:SKNL -signalled:SNLT:SKNL -signaller:SNLR:SKNL -signalman:SNLM:SKNL -signalmen:SNLM:SKNL -signatary:SNTR:SKNT -signatory:SNTR:SKNT -signature:SNTR:SKNT -signboard:SNPR:SKNP -signified:SNFT:SKNF -signifier:SNF:SKNF -signifies:SNFS:SKNF -signorina:SNRN:SKNR -signorine:SNRN:SKNR -signposts:SNPS:SKNP -silencers:SLNS:SLNS -silencing:SLNS:SLNS -silesians:SLSN:SLXN -silicated:SLKT:SLKT -silicates:SLKT:SLKT -siliceous:SLSS:SLSS -silicious:SLSS:SLXS -silicones:SLKN:SLKN -silicoses:SLKS:SLKS -silicosis:SLKS:SLKS -silicotic:SLKT:SLKT -siliquose:SLKS:SLKS -siliquous:SLKS:SLKS -silkaline:SLKL:SLKL -silkiness:SLKN:SLKN -silkworms:SLKR:SLKR -silliness:SLNS:SLNS -siltation:SLTX:SLTX -siltstone:SLTS:SLTS -silverers:SLFR:SLFR -silvering:SLFR:SLFR -silvester:SLFS:SLFS -similarly:SMLR:SMLR -simmering:SMRN:SMRN -simoniacs:SMNK:SMNK -simonized:SMNS:SMNS -simonizes:SMNS:SMNS -simpatico:SMPT:SMPT -simperers:SMPR:SMPR -simpering:SMPR:SMPR -simpleton:SMPL:SMPL -simulacra:SMLK:SMLK -simulated:SMLT:SMLT -simulates:SMLT:SMLT -simulator:SMLT:SMLT -simulcast:SMLK:SMLK -sincerely:SNSR:SNSR -sincerest:SNSR:SNSR -sincerity:SNSR:SNSR -sincipita:SNSP:SNSP -sinciputs:SNSP:SNSP -sinecures:SNKR:SNKR -sinewless:SNLS:SNLS -singapore:SNKP:SNKP -singingly:SNJN:SNKN -singleton:SNKL:SNKL -singulary:SNKL:SNKL -singultus:SNKL:SNKL -sinhalese:SNLS:SNLS -sinicised:SNSS:SNSS -sinicises:SNSS:SNSS -sinistrad:SNST:SNST -sinistral:SNST:SNST -sinkholes:SNKL:SNKL -sinlessly:SNLS:SNLS -sintering:SNTR:SNTR -sinuately:SNTL:SNTL -sinuosity:SNST:SNST -sinuously:SNSL:SNSL -sinusitis:SNST:SNST -sinusoids:SNST:SNST -siphonage:SFNJ:SFNK -siphoning:SFNN:SFNN -siphuncle:SFNK:SFNK -sissified:SSFT:SSFT -sissifier:SSF:SSFR -sitomania:STMN:STMN -situating:STTN:STTN -situation:STXN:STXN -sitzkrieg:STSK:STSK -sixpences:SKSP:SKSP -sixteenmo:SKST:SKST -sixteenth:SKST:SKST -sixtieths:SKST:SKST -sixtyfold:SKST:SKST -sizarship:SSRX:SSRX -skatology:SKTL:SKTL -skedaddle:SKTT:SKTT -skeletons:SKLT:SKLT -skeneitis:SKNT:SKNT -skeptical:SKPT:SKPT -sketchers:SKXR:SKXR -sketchier:SKXR:SKXR -sketchily:SKXL:SKXL -sketching:SKXN:SKXN -skewering:SKRN:SKRN -skewwhiff:SKF:SKF -skiagraph:SKKR:SKKR -skiametry:SKMT:SKMT -skiascope:SKSK:SKSK -skiascopy:SKSK:SKSK -skibobber:SKPP:SKPP -skidproof:SKTP:SKTP -skijoring:SKJR:SKJR -skilfully:SKLF:SKLF -skimmings:SKMN:SKMN -skimpiest:SKMP:SKMP -skinflint:SKNF:SKNF -skinfolds:SKNF:SKNF -skinheads:SKNT:SKNT -skinniest:SKNS:SKNS -skintight:SKNT:SKNT -skipjacks:SKPJ:SKPJ -skirtings:SKRT:SKRT -skittered:SKTR:SKTR -skittlers:SKTL:SKTL -skittling:SKTL:SKTL -skivvying:SKFN:SKFN -skullcaps:SKLK:SKLK -skydivers:SKTF:SKTF -skydiving:SKTF:SKTF -skyjacked:SKJK:SKJK -skyjacker:SKJK:SKJK -skylarked:SKLR:SKLR -skylarker:SKLR:SKLR -skylights:SKLT:SKLT -skyrocket:SKRK:SKRK -skyscapes:SKSK:SKSK -skywriter:SKRT:SKRT -slackened:SLKN:XLKN -slackness:SLKN:XLKN -slakeable:SLKP:XLKP -slaloming:SLLM:XLLM -slandered:SLNT:XLNT -slanderer:SLNT:XLNT -slangiest:SLNJ:XLNK -slantwise:SLNT:XLNT -slaphappy:SLFP:XLFP -slapstick:SLPS:XLPS -slathered:SL0R:XLTR -slatiness:SLTN:XLTN -slatterns:SLTR:XLTR -slaughter:SLFT:XLFT -slaveries:SLFR:XLFR -slavering:SLFR:XLFR -slavishly:SLFX:XLFX -slavonian:SLFN:XLFN -sleaziest:SLSS:XLSS -sleekness:SLKN:XLKN -sleepiest:SLPS:XLPS -sleepless:SLPL:XLPL -sleepwalk:SLPL:XLPL -sleetiest:SLTS:XLTS -sleighing:SLNK:XLNK -slenderer:SLNT:XLNT -slenderly:SLNT:XLNT -sleuthing:SL0N:XLTN -sliceable:SLSP:XLSP -slickered:SLKR:XLKR -slickness:SLKN:XLKN -slightest:SLTS:XLTS -slighting:SLTN:XLTN -slimeness:SLMN:XLMN -sliminess:SLMN:XLMN -slingback:SLNK:XLNK -slingshot:SLNK:XLNK -slinkiest:SLNK:XLNK -slipcases:SLPK:XLPK -slipcover:SLPK:XLPK -slipknots:SLPK:XLPK -slipnoose:SLPN:XLPN -slipovers:SLPF:XLPF -slippered:SLPR:XLPR -slippiest:SLPS:XLPS -slipsheet:SLPX:XLPX -slithered:SL0R:XLTR -slivering:SLFR:XLFR -slobbered:SLPR:XLPR -slobberer:SLPR:XLPR -slopingly:SLPN:XLPN -sloppiest:SLPS:XLPS -sloshiest:SLXS:XLXS -slouchers:SLXR:XLKR -slouchier:SLX:XLKR -slouching:SLXN:XLKN -sloughing:SLFN:XLFN -slovakian:SLFK:XLFK -slovenian:SLFN:XLFN -slowcoach:SLKK:XLKK -slowdowns:SLTN:XLTN -sludgiest:SLJS:XLJS -sluggards:SLKR:XLKR -sluiceway:SLS:XLS -slumbered:SLMR:XLMR -slumberer:SLMR:XLMR -slumlords:SLML:XLML -slushiest:SLXS:XLXS -smallhold:SMLL:XMLL -smallness:SMLN:XMLN -smarmiest:SMRM:XMRM -smartened:SMRT:XMRT -smartness:SMRT:XMRT -smashable:SMXP:XMXP -smatterer:SMTR:XMTR -smearcase:SMRK:XMRK -smeariest:SMRS:XMRS -smelliest:SMLS:XMLS -smileless:SMLL:XMLL -smilingly:SMLN:XMLN -smirching:SMRX:XMRK -smocklike:SMKL:XMKL -smoggiest:SMJS:XMKS -smokeable:SMKP:XMKP -smokeless:SMKL:XMKL -smokiness:SMKN:XMKN -smoldered:SMLT:XMLT -smooching:SMXN:XMKN -smoodgers:SMJR:XMJR -smoothers:SM0R:XMTR -smoothest:SM0S:XMTS -smoothing:SM0N:XMTN -smothered:SM0R:XMTR -smoulders:SMLT:XMLT -smudgiest:SMJS:XMJS -smudgless:SMTK:XMTK -smugglers:SMKL:XMKL -smuggling:SMKL:XMKL -smutching:SMXN:XMXN -smuttiest:SMTS:XMTS -snaffling:SNFL:XNFL -snaillike:SNLK:XNLK -snakebite:SNKP:XNKP -snakelike:SNKL:XNKL -snakeroot:SNKR:XNKR -snakeskin:SNKS:XNKS -snakiness:SNKN:XNKN -snappable:SNPP:XNPP -snappiest:SNPS:XNPS -snapshots:SNPX:XNPX -snareless:SNRL:XNRL -snarliest:SNRL:XNRL -snatchers:SNXR:XNXR -snatchier:SNX:XNXR -snatchily:SNXL:XNXL -snatching:SNXN:XNXN -snazziest:SNSS:XNTS -sneakiest:SNKS:XNKS -sneeziest:SNSS:XNSS -snickered:SNKR:XNKR -snideness:SNTN:XNTN -snidesman:SNTS:XNTS -sniffiest:SNFS:XNFS -snifflers:SNFL:XNFL -sniffling:SNFL:XNFL -sniggered:SNKR:XNKR -sniggling:SNKL:XNKL -snipefish:SNPF:XNPF -snippiest:SNPS:XNPS -snitching:SNXN:XNXN -snivelers:SNFL:XNFL -sniveling:SNFL:XNFL -snobbiest:SNPS:XNPS -snookered:SNKR:XNKR -snoopiest:SNPS:XNPS -snootiest:SNTS:XNTS -snorkeled:SNRK:XNRK -snottiest:SNTS:XNTS -snoutless:SNTL:XNTL -snoutlike:SNTL:XNTL -snowballs:SNPL:XNPL -snowberry:SNPR:XNPR -snowblink:SNPL:XNPL -snowbound:SNPN:XNPN -snowdrift:SNTR:XNTR -snowdrops:SNTR:XNTR -snowfalls:SNFL:XNFL -snowfield:SNFL:XNFL -snowflake:SNFL:XNFL -snowiness:SNNS:XNNS -snowplows:SNPL:XNPL -snowshoed:SNXT:XNXT -snowshoes:SNXS:XNXS -snowslide:SNSL:XNSL -snowstorm:SNST:XNST -snuffiest:SNFS:XNFS -snufflers:SNFL:XNFL -snuffling:SNFL:XNFL -snuggling:SNKL:XNKL -soapboxes:SPKS:SPKS -soapiness:SPNS:SPNS -soapstone:SPST:SPST -soaringly:SRNK:SRNK -sobbingly:SPNK:SPNK -soberised:SPRS:SPRS -soberises:SPRS:SPRS -soberness:SPRN:SPRN -sobriquet:SPRK:SPRK -socialism:SSLS:SXLS -socialist:SSLS:SXLS -socialite:SSLT:SXLT -sociality:SSLT:SXLT -socialize:SSLS:SXLS -societies:SSTS:SXTS -sociogram:SSKR:SXKR -sociology:SSLJ:SXLK -sociopath:SSP0:SXPT -socketing:SKTN:SKTN -sodomites:STMT:STMT -sodomitic:STMT:STMT -softballs:SFTP:SFTP -softbound:SFTP:SFTP -softeners:SFTN:SFTN -softening:SFTN:SFTN -softheart:SF0R:SFTR -softwares:SFTR:SFTR -softwoods:SFTT:SFTT -sogginess:SJNS:SKNS -soidisant:STSN:STSN -soilborne:SLPR:SLPR -sojourned:SJRN:SHRN -sojourner:SJRN:SHRN -solanders:SLNT:SLNT -solapsone:SLPS:SLPS -solariums:SLRM:SLRM -solarized:SLRS:SLRS -solarizes:SLRS:SLRS -solderers:SLTR:SLTR -soldering:SLTR:SLTR -soldiered:SLTR:SLTR -soldierly:SLTR:SLTR -solecised:SLSS:SLSS -solecises:SLSS:SLSS -solecisms:SLSS:SLSS -solemnify:SLMN:SLMN -solemnity:SLMN:SLMN -solemnize:SLMN:SLMN -solenoids:SLNT:SLNT -soleplate:SLPL:SLPL -soleprint:SLPR:SLPR -solfatara:SLFT:SLFT -solfeggio:SLFK:SLFK -solferino:SLFR:SLFR -solicited:SLST:SLST -solicitor:SLST:SLST -solidagos:SLTK:SLTK -solidness:SLTN:SLTN -soliloquy:SLLK:SLLK -solipsism:SLPS:SLPS -solipsist:SLPS:SLPS -solitaire:SLTR:SLTR -solitudes:SLTT:SLTT -sollicker:SLKR:SLKR -solonchak:SLNX:SLNK -solstices:SLST:SLST -solutions:SLXN:SLXN -solvating:SLFT:SLFT -solvation:SLFX:SLFX -solvently:SLFN:SLFN -somatists:SMTS:SMTS -somatomic:SMTM:SMTM -sombreros:SMPR:SMPR -someplace:SMPL:SMPL -something:SM0N:SMTN -sometimes:SMTM:SMTM -somewhere:SMR:SMR -sommelier:SML:SMLR -somnolent:SMNL:SMNL -songbirds:SNKP:SNKP -songbooks:SNKP:SNKP -songfests:SNKF:SNKF -songfully:SNKF:SNKF -songsters:SNKS:SNKS -sonicated:SNKT:SNKT -sonicator:SNKT:SNKT -sonneteer:SNTR:SNTR -sonorific:SNRF:SNRF -soothsays:S0SS:STSS -sootiness:STNS:STNS -sophister:SFST:SFST -sophistic:SFST:SFST -sophistry:SFST:SFST -sophocles:SFKL:SFKL -sophomore:SFMR:SFMR -sophorine:SFRN:SFRN -soporific:SPRF:SPRF -soppiness:SPNS:SPNS -sopranino:SPRN:SPRN -sorcerers:SRSR:SRSR -sorceress:SRSR:SRSR -sorceries:SRSR:SRSR -sorcerous:SRSR:SRSR -soreheads:SRHT:SRHT -soritical:SRTK:SRTK -sorriness:SRNS:SRNS -sorrowful:SRFL:SRFL -sorrowing:SRNK:SRNK -sortieing:SRTN:SRTN -sortilege:SRTL:SRTL -sortition:SRTX:SRTX -sostenuto:SSTN:SSTN -sottishly:STXL:STXL -sottovoce:STFS:STFS -soubrette:SPRT:SPRT -soulfully:SLFL:SLFL -soundable:SNTP:SNTP -soundings:SNTN:SNTN -soundless:SNTL:SNTL -soundness:SNTN:SNTN -soundpost:SNTP:SNTP -sourdough:SRT:SRT -southeast:S0ST:STST -southerly:S0RL:STRL -southpaws:S0PS:STPS -southward:S0RT:STRT -southwest:S0ST:STST -souvenirs:SFNR:SFNR -souvlakia:SFLK:SFLK -sovereign:SFRN:SFRK -sovietism:SFTS:SFTS -sovietist:SFTS:SFTS -sovietize:SFTS:SFTS -spaceband:SPSP:SPSP -spacelabs:SPSL:SPSL -spaceless:SPSL:SPSL -spaceport:SPSP:SPSP -spaceship:SPSX:SPSX -spacesuit:SPSS:SPSS -spacewalk:SPSL:SPSL -spaceward:SPSR:SPSR -spadefish:SPTF:SPTF -spadefuls:SPTF:SPTF -spadework:SPTR:SPTR -spaghetti:SPKT:SPKT -spanceled:SPNS:SPNS -spangling:SPNK:SPNL -spaniards:SPNR:SPNR -spankings:SPNK:SPNK -sparables:SPRP:SPRP -spareness:SPRN:SPRN -spareribs:SPRR:SPRR -sparganum:SPRK:SPRK -spargoses:SPRK:SPRK -spargosis:SPRK:SPRK -sparingly:SPRN:SPRN -sparklers:SPRK:SPRK -sparkling:SPRK:SPRK -sparkplug:SPRK:SPRK -sparteine:SPRT:SPRT -spasmatic:SPSM:SPSM -spasmodic:SPSM:SPSM -spastical:SPST:SPST -spatially:SPXL:SPXL -spatiandi:SPXN:SPXN -spattered:SPTR:SPTR -spatulate:SPTL:SPTL -speakable:SPKP:SPKP -speakeasy:SPKS:SPKS -spearfish:SPRF:SPRF -spearhead:SPRT:SPRT -spearmint:SPRM:SPRM -spearwort:SPRR:SPRR -specially:SPSL:SPXL -specialty:SPSL:SPXL -speciated:SPST:SPXT -speciates:SPST:SPXT -specifics:SPSF:SPSF -specified:SPSF:SPSF -specifier:SPSF:SPSF -specifies:SPSF:SPSF -specimens:SPSM:SPSM -speckless:SPKL:SPKL -speckling:SPKL:SPKL -specmarks:SPKM:SPKM -spectacle:SPKT:SPKT -spectated:SPKT:SPKT -spectates:SPKT:SPKT -spectator:SPKT:SPKT -spectrums:SPKT:SPKT -speculate:SPKL:SPKL -speculums:SPKL:SPKL -speechify:SPXF:SPKF -speedboat:SPTP:SPTP -speediest:SPTS:SPTS -speedster:SPTS:SPTS -speedways:SPTS:SPTS -speedwell:SPTL:SPTL -spellable:SPLP:SPLP -spellbind:SPLP:SPLP -spelldown:SPLT:SPLT -spellings:SPLN:SPLN -spelunker:SPLN:SPLN -spendable:SPNT:SPNT -spermatic:SPRM:SPRM -spermatid:SPRM:SPRM -spermatin:SPRM:SPRM -spermists:SPRM:SPRM -sphacelus:SFSL:SFSL -sphaeroid:SFRT:SFRT -sphagnous:SFNS:SFKN -sphenodon:SFNT:SFNT -sphenosis:SFNS:SFNS -sphenotic:SFNT:SFNT -spherical:SFRK:SFRK -spheroids:SFRT:SFRT -spherular:SFRL:SFRL -sphincter:SFNK:SFNK -sphygmoid:SFKM:SFKM -spiceries:SPSR:SPSR -spiciness:SPSN:SPSN -spiculate:SPKL:SPKL -spiderish:SPTR:SPTR -spiderman:SPTR:SPTR -spidermen:SPTR:SPTR -spiffiest:SPFS:SPFS -spigelian:SPJL:SPKL -spikelets:SPKL:SPKL -spikenard:SPKN:SPKN -spikiness:SPKN:SPKN -spillable:SPLP:SPLP -spillikin:SPLK:SPLK -spillways:SPLS:SPLS -spinacene:SPNS:SPNS -spindlier:SPNT:SPNT -spindling:SPNT:SPNT -spindrift:SPNT:SPNT -spineless:SPNL:SPNL -spininess:SPNN:SPNN -spinnaker:SPNK:SPNK -spinneret:SPNR:SPNR -spinosely:SPNS:SPNS -spinsters:SPNS:SPNS -spinulose:SPNL:SPNL -spiracles:SPRK:SPRK -spiraling:SPRL:SPRL -spirality:SPRL:SPRL -spiralled:SPRL:SPRL -spirillum:SPRL:SPRL -spiriting:SPRT:SPRT -spiritoso:SPRT:SPRT -spiritual:SPRT:SPRT -spirituel:SPRT:SPRT -spirogram:SPRK:SPRK -spitballs:SPTP:SPTP -spitfires:SPTF:SPTF -spittoons:SPTN:SPTN -spiveries:SPFR:SPFR -splashers:SPLX:SPLX -splashier:SPLX:SPLX -splashily:SPLX:SPLX -splashing:SPLX:SPLX -splatters:SPLT:SPLT -splayfeet:SPLF:SPLF -splayfoot:SPLF:SPLF -spleenful:SPLN:SPLN -spleenish:SPLN:SPLN -splendors:SPLN:SPLN -spleneoli:SPLN:SPLN -splenetic:SPLN:SPLN -splenical:SPLN:SPLN -splenitis:SPLN:SPLN -splenulus:SPLN:SPLN -splicings:SPLS:SPLS -splintage:SPLN:SPLN -splinters:SPLN:SPLN -splintery:SPLN:SPLN -splinting:SPLN:SPLN -splitters:SPLT:SPLT -splitting:SPLT:SPLT -splodging:SPLJ:SPLJ -splotched:SPLX:SPLX -splotches:SPLX:SPLX -splurging:SPLR:SPLR -splutters:SPLT:SPLT -spodumene:SPTM:SPTM -spoilable:SPLP:SPLP -spoilsman:SPLS:SPLS -spoilsmen:SPLS:SPLS -spokesman:SPKS:SPKS -spokesmen:SPKS:SPKS -spoliated:SPLT:SPLT -spoliator:SPLT:SPLT -spongiest:SPNJ:SPNK -spongiosa:SPNJ:SPNK -sponsored:SPNS:SPNS -spookiest:SPKS:SPKS -spoonbill:SPNP:SPNP -spoonfuls:SPNF:SPNF -spoonsful:SPNS:SPNS -sporangia:SPRN:SPRN -sporicide:SPRS:SPRS -sporidium:SPRT:SPRT -sporocarp:SPRK:SPRK -sporocyst:SPRS:SPRS -sporocyte:SPRS:SPRS -sporogeny:SPRJ:SPRK -sporogony:SPRK:SPRK -sporozoan:SPRS:SPRS -sporozoon:SPRS:SPRS -sportiest:SPRT:SPRT -sportsman:SPRT:SPRT -sportsmen:SPRT:SPRT -sporulate:SPRL:SPRL -spotlight:SPTL:SPTL -spottable:SPTP:SPTP -spottiest:SPTS:SPTS -spragging:SPRJ:SPRK -spraining:SPRN:SPRN -spratters:SPRT:SPRT -spratting:SPRT:SPRT -sprawlers:SPRL:SPRL -sprawling:SPRL:SPRL -spreaders:SPRT:SPRT -spreading:SPRT:SPRT -sprigging:SPRK:SPRK -sprightly:SPRT:SPRT -springbok:SPRN:SPRN -springers:SPRN:SPRN -springier:SPRN:SPRN -springing:SPRN:SPRN -springlet:SPRN:SPRN -sprinkled:SPRN:SPRN -sprinkler:SPRN:SPRN -sprinkles:SPRN:SPRN -sprinters:SPRN:SPRN -sprinting:SPRN:SPRN -spritsail:SPRT:SPRT -sprockets:SPRK:SPRK -sprouting:SPRT:SPRT -spruikers:SPRK:SPRK -spuddlers:SPTL:SPTL -spuddling:SPTL:SPTL -spuminess:SPMN:SPMN -spunkiest:SPNK:SPNK -sputtered:SPTR:SPTR -sputterer:SPTR:SPTR -squabbier:SKP:SKPR -squabbled:SKPL:SKPL -squabbler:SKPL:SKPL -squabbles:SKPL:SKPL -squaddies:SKTS:SKTS -squadrons:SKTR:SKTR -squalidly:SKLT:SKLT -squallier:SKL:SKLR -squalling:SKLN:SKLN -squallish:SKLX:SKLX -squamated:SKMT:SKMT -squamosae:SKMS:SKMS -squamosal:SKMS:SKMS -squamosas:SKMS:SKMS -squanders:SKNT:SKNT -squarrose:SKRS:SKRS -squarrous:SKRS:SKRS -squashier:SKX:SKXR -squashily:SKXL:SKXL -squashing:SKXN:SKXN -squatness:SKTN:SKTN -squatters:SKTR:SKTR -squattier:SKT:SKTR -squatting:SKTN:SKTN -squawkers:SKKR:SKKR -squawking:SKKN:SKKN -squeakers:SKKR:SKKR -squeakier:SKKR:SKKR -squeakily:SKKL:SKKL -squeaking:SKKN:SKKN -squealers:SKLR:SKLR -squealing:SKLN:SKLN -squeamish:SKMX:SKMX -squeegeed:SKJT:SKKT -squeegees:SKJS:SKKS -squeezers:SKSR:SKSR -squeezing:SKSN:SKSN -squelched:SKLX:SKLK -squelcher:SKLX:SKLK -squelches:SKLX:SKLK -squidgier:SKJ:SKJR -squiffier:SKF:SKFR -squiffily:SKFL:SKFL -squiggled:SKKL:SKKL -squiggler:SKKL:SKKL -squiggles:SKKL:SKKL -squinters:SKNT:SKNT -squinting:SKNT:SKNT -squireens:SKRN:SKRN -squirmers:SKRM:SKRM -squirmier:SKRM:SKRM -squirming:SKRM:SKRM -squirrels:SKRL:SKRL -squirting:SKRT:SKRT -squishing:SKXN:SKXN -stability:STPL:STPL -stabilize:STPL:STPL -stableboy:STPL:STPL -stableman:STPL:STPL -stablemen:STPL:STPL -staccatos:STKT:STKT -stachyose:STKS:STKS -stagehand:STJH:STKH -staggered:STKR:STKR -staggerer:STKR:STKR -staghound:STKN:STKN -staginess:STJN:STKN -stagnancy:STNN:STKN -stagnated:STNT:STKN -stagnates:STNT:STKN -staidness:STTN:STTN -stainable:STNP:STNP -stainless:STNL:STNL -staircase:STRK:STRK -stairhead:STRT:STRT -stairways:STRS:STRS -stairwell:STRL:STRL -stakehold:STKH:STKH -stalemate:STLM:STLM -staleness:STLN:STLN -stalinism:STLN:STLN -stalinist:STLN:STLN -stalkiest:STLK:STLK -stalkless:STLK:STLK -stalklike:STLK:STLK -stallings:STLN:STLN -stallions:STLN:STLN -stalwarts:STLR:STLR -staminate:STMN:STMN -staminode:STMN:STMN -staminody:STMN:STMN -stammered:STMR:STMR -stammerer:STMR:STMR -stampeded:STMP:STMP -stampeder:STMP:STMP -stampedes:STMP:STMP -stanchest:STNX:STNK -stanching:STNX:STNK -stanchion:STNX:STNK -standards:STNT:STNT -standbies:STNT:STNT -standings:STNT:STNT -standoffs:STNT:STNT -standouts:STNT:STNT -standpipe:STNT:STNT -stantibus:STNT:STNT -stapedial:STPT:STPT -stapedius:STPT:STPT -starboard:STRP:STRP -starchier:STRX:STRK -starchily:STRX:STRK -starching:STRX:STRK -stargazed:STRK:STRK -stargazer:STRK:STRK -stargazes:STRK:STRK -staringly:STRN:STRN -starkness:STRK:STRK -starlight:STRL:STRL -starlings:STRL:STRL -starriest:STRS:STRS -startling:STRT:STRT -stateable:STTP:STTP -statehood:STTH:STTH -stateless:STTL:STTL -statelier:STTL:STTL -statement:STTM:STTM -stateroom:STTR:STTR -stateside:STTS:STTS -statesman:STTS:STTS -statesmen:STTS:STTS -statewide:STTT:STTT -stationed:STXN:STXN -stationer:STXN:STXN -statistic:STTS:STTS -statocyst:STTS:STTS -statolith:STTL:STTL -statuette:STTT:STTT -statuting:STTT:STTT -statutory:STTT:STTT -staunched:STNX:STNK -stauncher:STNX:STNK -staunchly:STNX:STNK -staysails:STSL:STSL -steadfast:STTF:STTF -steadiest:STTS:STTS -steadying:STTN:STTN -stealable:STLP:STLP -steamboat:STMP:STMP -steamiest:STMS:STMS -steamroll:STMR:STMR -steamship:STMX:STMX -steatitic:STTT:STTT -steatitis:STTT:STTT -steatomas:STTM:STTM -steatoses:STTS:STTS -steatosis:STTS:STTS -steatotic:STTT:STTT -steelhead:STLT:STLT -steeliest:STLS:STLS -steelwork:STLR:STLR -steelyard:STLR:STLR -steepened:STPN:STPN -steepness:STPN:STPN -steerable:STRP:STRP -steersman:STRS:STRS -steersmen:STRS:STRS -stegomyia:STKM:STKM -stegosaur:STKS:STKS -steinbock:STNP:STNP -steinmann:STNM:STNM -stellular:STLL:STLL -stenciled:STNS:STNS -stenopaic:STNP:STNP -stenopeic:STNP:STNP -stenosing:STNS:STNS -stentered:STNT:STNT -stepchild:STPX:STPK -stephanie:STFN:STFN -steradian:STRT:STRT -stercoral:STRK:STRK -sterculia:STRK:STRK -sterigmas:STRK:STRK -sterilant:STRL:STRL -sterilely:STRL:STRL -sterility:STRL:STRL -sterilize:STRL:STRL -sternales:STRN:STRN -sternalis:STRN:STRN -sternberg:STRN:STRN -sternebra:STRN:STRN -sternmost:STRN:STRN -sternness:STRN:STRN -sternpost:STRN:STRN -sternsons:STRN:STRN -steroidal:STRT:STRT -stevedore:STFT:STFT -stibamine:STPM:STPM -stibonium:STPN:STPN -stibophen:STPF:STPF -stickfuls:STKF:STKF -stickiest:STKS:STKS -sticklers:STKL:STKL -stickling:STKL:STKL -stickweed:STKT:STKT -stiffened:STFN:STFN -stiffener:STFN:STFN -stiffness:STFN:STFN -stigmatic:STKM:STKM -stiletted:STLT:STLT -stilettos:STLT:STLT -stillborn:STLP:STLP -stillness:STLN:STLN -stiltedly:STLT:STLT -stimulant:STML:STML -stimulate:STML:STML -stingiest:STNJ:STNK -stingrays:STNK:STNK -stinkiest:STNK:STNK -stinkweed:STNK:STNK -stinkwood:STNK:STNK -stipitate:STPT:STPT -stipplers:STPL:STPL -stippling:STPL:STPL -stipulary:STPL:STPL -stipulate:STPL:STPL -stirpital:STRP:STRP -stirrable:STRP:STRP -stirrings:STRN:STRN -stitchers:STXR:STXR -stitchery:STXR:STXR -stitching:STXN:STXN -stockaded:STKT:STKT -stockades:STKT:STKT -stockater:STKT:STKT -stockfish:STKF:STKF -stockhold:STKL:STKL -stockholm:STKL:STKL -stockiest:STKS:STKS -stockinet:STKN:STKN -stockings:STKN:STKN -stockists:STKS:STKS -stockkeep:STKK:STKK -stockless:STKL:STKL -stockpile:STKP:STKP -stockroom:STKR:STKR -stockyard:STKR:STKR -stodgiest:STJS:STJS -stoically:STKL:STKL -stokehold:STKH:STKH -stokehole:STKH:STKH -stolidity:STLT:STLT -stolonate:STLN:STLN -stomachal:STMK:STMK -stomached:STMX:STMK -stomacher:STMK:STMK -stomaches:STMX:STMK -stomachic:STMX:STMK -stomatomy:STMT:STMT -stomodaea:STMT:STMT -stomodeal:STMT:STMT -stomodeum:STMT:STMT -stoneable:STNP:STNP -stonechat:STNX:STNK -stonecrop:STNK:STNK -stonefish:STNF:STNF -stoneless:STNL:STNL -stonelike:STNL:STNL -stonewall:STNL:STNL -stoneware:STNR:STNR -stonework:STNR:STNR -stonewort:STNR:STNR -stoniness:STNN:STNN -stonkered:STNK:STNK -stopcocks:STPK:STPK -stoplight:STPL:STPL -stopovers:STPF:STPF -stoppable:STPP:STPP -stoppages:STPJ:STPK -stoppling:STPL:STPL -stopwatch:STPX:STPX -storekeep:STRK:STRK -storeroom:STRR:STRR -storewide:STRT:STRT -stormiest:STRM:STRM -storybook:STRP:STRP -storyline:STRL:STRL -storytell:STRT:STRT -stoushing:STXN:STXN -stoutness:STTN:STTN -stovepipe:STFP:STFP -stowaways:STS:STS -straddled:STRT:STRT -straddler:STRT:STRT -straddles:STRT:STRT -straggled:STRK:STRK -straggler:STRK:STRK -straggles:STRK:STRK -straights:STRT:STRT -strainers:STRN:STRN -straining:STRN:STRN -straitens:STRT:STRT -stranding:STRN:STRN -strangely:STRN:STRN -strangers:STRN:STRN -strangest:STRN:STRN -strangled:STRN:STRN -strangler:STRN:STRN -strangles:STRN:STRN -strangury:STRN:STRN -strapless:STRP:STRP -strapline:STRP:STRP -strappado:STRP:STRP -strappers:STRP:STRP -strapping:STRP:STRP -stratagem:STRT:STRT -strategic:STRT:STRT -strawlike:STRL:STRL -streakers:STRK:STRK -streakier:STRK:STRK -streakily:STRK:STRK -streaking:STRK:STRK -streamers:STRM:STRM -streamier:STRM:STRM -streaming:STRM:STRM -streamlet:STRM:STRM -streetcar:STRT:STRT -streeters:STRT:STRT -strengths:STRN:STRN -strenuous:STRN:STRN -streptose:STRP:STRP -stressful:STRS:STRS -stressing:STRS:STRS -stressors:STRS:STRS -stretched:STRX:STRX -stretcher:STRX:STRX -stretches:STRX:STRX -strewning:STRN:STRN -striating:STRT:STRT -striation:STRX:STRX -strickled:STRK:STRK -strickles:STRK:STRK -stricters:STRK:STRK -strictest:STRK:STRK -stricture:STRK:STRK -stridency:STRT:STRT -stridulus:STRT:STRT -strikeout:STRK:STRK -stringent:STRN:STRN -stringers:STRN:STRN -stringier:STRN:STRN -stringily:STRN:STRN -stringing:STRN:STRN -stripiest:STRP:STRP -stripling:STRP:STRP -strippers:STRP:STRP -stripping:STRP:STRP -strivings:STRF:STRF -strobilae:STRP:STRP -strobilar:STRP:STRP -strobilus:STRP:STRP -strollers:STRL:STRL -strolling:STRL:STRL -stromatal:STRM:STRM -stromatic:STRM:STRM -stromatin:STRM:STRM -strongarm:STRN:STRN -strongbox:STRN:STRN -strongers:STRN:STRN -strongest:STRN:STRN -strongish:STRN:STRN -strongman:STRN:STRN -strongmen:STRN:STRN -strongyle:STRN:STRN -strontian:STRN:STRN -strontium:STRN:STRN -strophuli:STRF:STRF -stroppers:STRP:STRP -stroppier:STRP:STRP -stroppily:STRP:STRP -stropping:STRP:STRP -structure:STRK:STRK -struggled:STRK:STRK -struggler:STRK:STRK -struggles:STRK:STRK -strumatic:STRM:STRM -strumitis:STRM:STRM -strummers:STRM:STRM -strumming:STRM:STRM -strumpets:STRM:STRM -strutters:STRT:STRT -strutting:STRT:STRT -strychnic:STRX:STRK -strychnos:STRX:STRK -stubbiest:STPS:STPS -stuccoing:STKN:STKN -studbooks:STTP:STTP -studhorse:STTR:STTR -studiedly:STTT:STTT -stuffiest:STFS:STFS -stumblers:STMP:STMP -stumbling:STMP:STMP -stumpiest:STMP:STMP -stumpwork:STMP:STMP -stupefied:STPF:STPF -stupefies:STPF:STPF -stupidest:STPT:STPT -stupidity:STPT:STPT -stupifier:STPF:STPF -stuporous:STPR:STPR -sturdiest:STRT:STRT -sturgeons:STRJ:STRK -stuttered:STTR:STTR -stutterer:STTR:STTR -stylebook:STLP:STLP -styleless:STLL:STLL -styliform:STLF:STLF -stylisers:STLS:STLS -stylishly:STLX:STLX -stylistic:STLS:STLS -stylizing:STLS:STLS -stylobate:STLP:STLP -stylohyal:STLH:STLH -stylolite:STLL:STLL -stylopize:STLP:STLP -stymieing:STMN:STMN -styrofoam:STRF:STRF -suability:SPLT:SPLT -suasively:SSFL:SSFL -suaveness:SFNS:SFNS -subacidly:SPST:SPST -subagency:SPJN:SPKN -subagents:SPJN:SPKN -subalpine:SPLP:SPLP -subaltern:SPLT:SPLT -subapical:SPPK:SPPK -subarctic:SPRK:SPRK -subatomic:SPTM:SPTM -subbranch:SPRN:SPRN -subbreeds:SPRT:SPRT -subbureau:SPR:SPR -subcellar:SPSL:SPSL -subchiefs:SPXF:SPKF -subclause:SPKL:SPKL -subclavii:SPKL:SPKL -subclerks:SPKL:SPKL -subclimax:SPKL:SPKL -subcortex:SPKR:SPKR -subcostal:SPKS:SPKS -subdeacon:SPTK:SPTK -subdepots:SPTP:SPTP -subdermal:SPTR:SPTR -subdivide:SPTF:SPTF -subdorsal:SPTR:SPTR -subduable:SPTP:SPTP -subduably:SPTP:SPTP -subducted:SPTK:SPTK -subduedly:SPTT:SPTT -subechoes:SPXS:SPKS -subedited:SPTT:SPTT -subeditor:SPTT:SPTT -suberises:SPRS:SPRS -suberized:SPRS:SPRS -suberizes:SPRS:SPRS -subfamily:SPFM:SPFM -subfields:SPFL:SPFL -subfloors:SPFL:SPFL -subgenera:SPJN:SPKN -subgraphs:SPKR:SPKR -subgroups:SPKR:SPKR -subhumans:SPMN:SPMN -subicular:SPKL:SPKL -subiculum:SPKL:SPKL -subjacent:SPJS:SPJS -subjected:SPJK:SPJK -subjoined:SPJN:SPJN -subjugate:SPJK:SPJK -sublation:SPLX:SPLX -subleased:SPLS:SPLS -subleases:SPLS:SPLS -sublessee:SPLS:SPLS -sublessor:SPLS:SPLS -sublethal:SPL0:SPLT -sublimate:SPLM:SPLM -sublimely:SPLM:SPLM -sublimers:SPLM:SPLM -sublimest:SPLM:SPLM -subliming:SPLM:SPLM -sublimity:SPLM:SPLM -sublunary:SPLN:SPLN -submarine:SPMR:SPMR -submedial:SPMT:SPMT -submedian:SPMT:SPMT -submember:SPMM:SPMM -submental:SPMN:SPMN -submerged:SPMR:SPMR -submerges:SPMR:SPMR -submersed:SPMR:SPMR -submerses:SPMR:SPMR -submittal:SPMT:SPMT -submitted:SPMT:SPMT -submitter:SPMT:SPMT -submodule:SPMT:SPMT -submucosa:SPMK:SPMK -submucous:SPMK:SPMK -subneural:SPNR:SPNR -subnormal:SPNR:SPNR -subnuclei:SPNK:SPNK -suboffice:SPFS:SPFS -suborders:SPRT:SPRT -suborners:SPRN:SPRN -suborning:SPRN:SPRN -subperiod:SPPR:SPPR -subphylum:SPFL:SPFL -subpoenal:SPPN:SPPN -subpoenas:SPPN:SPPN -subpotent:SPPT:SPPT -subproofs:SPPR:SPPR -subranges:SPRN:SPRN -subregion:SPRJ:SPRK -subrogate:SPRK:SPRK -subrogees:SPRJ:SPRK -subschema:SPSK:SPSK -subscribe:SPSK:SPSK -subscript:SPSK:SPSK -subseises:SPSS:SPSS -subseries:SPSR:SPSR -subserosa:SPSR:SPSR -subserous:SPSR:SPSR -subserved:SPSR:SPSR -subserves:SPSR:SPSR -subsidies:SPST:SPST -subsiding:SPST:SPST -subsidize:SPST:SPST -subsisted:SPSS:SPSS -subsister:SPSS:SPSS -subsocial:SPSS:SPSX -subspaces:SPSP:SPSP -substance:SPST:SPST -substrata:SPST:SPST -substrate:SPST:SPST -substring:SPST:SPST -subsultus:SPSL:SPSL -subsuming:SPSM:SPSM -subsystem:SPSS:SPSS -subtenant:SPTN:SPTN -subtended:SPTN:SPTN -subtilize:SPTL:SPTL -subtitled:SPTT:SPTT -subtitles:SPTT:SPTT -subtopian:SPTP:SPTP -subtopics:SPTP:SPTP -subtotals:SPTT:SPTT -subtracts:SPTR:SPTR -subtribes:SPTR:SPTR -subungual:SPNK:SPNK -subverted:SPFR:SPFR -subverter:SPFR:SPFR -succeeded:SKST:SKST -succeeder:SKST:SKST -successes:SKSS:SKSS -successor:SKSS:SKSS -succinate:SXNT:SXNT -succorant:SKRN:SKRN -succorers:SKRR:SKRR -succoring:SKRN:SKRN -succotash:SKTX:SKTX -succulent:SKLN:SKLN -succumbed:SKMP:SKMP -succumber:SKMR:SKMR -succursal:SKRS:SKRS -succussed:SKST:SKST -succusses:SKSS:SKSS -sucklings:SKLN:SKLN -suctional:SKXN:SKXN -suctorial:SKTR:SKTR -sudaminal:STMN:STMN -sudatoria:STTR:STTR -sudomotor:STMT:STMT -sudorific:STRF:STRF -sufferers:SFRR:SFRR -suffering:SFRN:SFRN -sufficing:SFSN:SFSN -suffixing:SFKS:SFKS -suffixion:SFKS:SFKS -suffocate:SFKT:SFKT -suffragan:SFRK:SFRK -suffrages:SFRJ:SFRK -suffusing:SFSN:SFSN -suffusion:SFSN:SFXN -suffusive:SFSF:SFSF -sugarcane:XKRK:SKRK -sugarcoat:XKRK:SKRK -sugarings:XKRN:SKRN -sugarless:XKRL:SKRL -sugarplum:XKRP:SKRP -suggested:SKST:SKST -suggester:SKST:SKST -suggestio:SKST:SKST -suitcases:STKS:STKS -sulfatase:SLFT:SLFT -sulfating:SLFT:SLFT -sulfonate:SLFN:SLFN -sulfoxide:SLFK:SLFK -sulfoxone:SLFK:SLFK -sulfurate:SLFR:SLFR -sulfuring:SLFR:SLFR -sulfurize:SLFR:SLFR -sulfurous:SLFR:SLFR -sulkiness:SLKN:SLKN -sulleners:SLNR:SLNR -sulliable:SLPL:SLPL -sulphated:SLFT:SLFT -sulphates:SLFT:SLFT -sulphitic:SLFT:SLFT -sulphonic:SLFN:SLFN -sulphonyl:SLFN:SLFN -sulphured:SLFR:SLFR -sulphuret:SLFR:SLFR -sulphuric:SLFR:SLFR -sulphuryl:SLFR:SLFR -sultanate:SLTN:SLTN -sultaness:SLTN:SLTN -sultriest:SLTR:SLTR -sulydrate:SLTR:SLTR -sumatrans:SMTR:SMTR -summaries:SMRS:SMRS -summarily:SMRL:SMRL -summarize:SMRS:SMRS -summating:SMTN:SMTN -summation:SMXN:SMXN -summering:SMRN:SMRN -summerish:SMRX:SMRX -summoners:SMNR:SMNR -summoning:SMNN:SMNN -summonsed:SMNS:SMNS -summonses:SMNS:SMNS -sumptuary:SMPT:SMPT -sumptuous:SMPT:SMPT -sunbathed:SNP0:SNPT -sunbather:SNP0:SNPT -sunbathes:SNP0:SNPT -sunbonnet:SNPN:SNPN -sunburned:SNPR:SNPR -sunbursts:SNPR:SNPR -sundering:SNTR:SNTR -sundowner:SNTN:SNTN -sunfishes:SNFX:SNFX -sunflower:SNFL:SNFL -sunlessly:SNLS:SNLS -sunniness:SNNS:SNNS -sunscreen:SNSK:SNSK -sunshades:SNXT:SNXT -sunstroke:SNST:SNST -sunstruck:SNST:SNST -suntanned:SNTN:SNTN -superable:SPRP:SPRP -superably:SPRP:SPRP -superadds:SPRT:SPRT -superbold:SPRP:SPRP -supercool:SPRK:SPRK -superdose:SPRT:SPRT -superegos:SPRK:SPRK -superfine:SPRF:SPRF -supergene:SPRJ:SPRK -superglue:SPRK:SPRK -superheat:SPRT:SPRT -superhero:SPRR:SPRR -superhigh:SPR:SPR -superiors:SPRR:SPRR -supernate:SPRN:SPRN -supernova:SPRN:SPRN -superpose:SPRP:SPRP -superpure:SPRP:SPRP -superrich:SPRX:SPRK -supersede:SPRS:SPRS -supersets:SPRS:SPRS -superstar:SPRS:SPRS -supertank:SPRT:SPRT -supervene:SPRF:SPRF -supervise:SPRF:SPRF -supinated:SPNT:SPNT -supinates:SPNT:SPNT -supinator:SPNT:SPNT -supplants:SPLN:SPLN -suppliant:SPLN:SPLN -suppliers:SPLR:SPLR -supplying:SPLN:SPLN -supported:SPRT:SPRT -supporter:SPRT:SPRT -supposing:SPSN:SPSN -suppurate:SPRT:SPRT -supremacy:SPRM:SPRM -supremely:SPRM:SPRM -supremity:SPRM:SPRM -surceases:SRSS:SRSS -surcharge:SRXR:SRKR -surcingle:SRSN:SRSN -surculose:SRKL:SRKL -surdities:SRTT:SRTT -surfacing:SRFS:SRFS -surfboard:SRFP:SRFP -surfboats:SRFP:SRFP -surfeited:SRFT:SRFT -surfiness:SRFN:SRFN -surgeless:SRJL:SRKL -surgeries:SRKR:SRJR -surinamer:SRNM:SRNM -surliness:SRLN:SRLN -surmising:SRMS:SRMS -surmounts:SRMN:SRMN -surnaming:SRNM:SRNM -surpassed:SRPS:SRPS -surpasses:SRPS:SRPS -surpliced:SRPL:SRPL -surplices:SRPL:SRPL -surpluses:SRPL:SRPL -surprints:SRPR:SRPR -surprisal:SRPR:SRPR -surprised:SRPR:SRPR -surpriser:SRPR:SRPR -surprises:SRPR:SRPR -surrejoin:SRJN:SRHN -surrender:SRNT:SRNT -surrogacy:SRKS:SRKS -surrogate:SRKT:SRKT -surrounds:SRNT:SRNT -surtaxing:SRTK:SRTK -surveying:SRFN:SRFN -surveyors:SRFR:SRFR -survivals:SRFF:SRFF -surviving:SRFF:SRFF -survivors:SRFF:SRFF -suscitate:SSTT:SSTT -suspected:SSPK:SSPK -suspecter:SSPK:SSPK -suspended:SSPN:SSPN -suspender:SSPN:SSPN -suspenses:SSPN:SSPN -suspicion:SSPS:SSPX -suspiring:SSPR:SSPR -sustained:SSTN:SSTN -sustainer:SSTN:SSTN -sustenant:SSTN:SSTN -suturally:STRL:STRL -suzerains:SSRN:SSRN -swaddling:STLN:XTLN -swaggered:SKRT:XKRT -swaggerer:SKRR:XKRR -swahilian:SHLN:XHLN -swallowed:SLT:XLT -swallower:SLR:XLR -swampiest:SMPS:XMPS -swampland:SMPL:XMPL -swampless:SMPL:XMPL -swankiest:SNKS:XNKS -swansdown:SNST:XNST -swarthier:SR0R:XRTR -swarthily:SR0L:XRTL -swastikas:SSTK:XSTK -swathable:S0PL:XTPL -swaziland:SSLN:XTSL -swearword:SRRT:XRRT -sweatband:STPN:XTPN -sweatiest:STST:XTST -sweatless:STLS:XTLS -sweatmeal:STML:XTML -sweatshop:STXP:XTXP -sweepback:SPK:XPK -sweepings:SPNK:XPNK -sweetened:STNT:XTNT -sweetener:STNR:XTNR -sweetmeat:STMT:XTMT -sweetness:STNS:XTNS -swellfish:SLFX:XLFX -swellhead:SLT:XLT -swellings:SLNK:XLNK -sweltered:SLTR:XLTR -sweptback:SPTP:XPTP -sweptwing:SPTN:XPTN -swervable:SRFP:XRFP -swiftness:SFTN:XFTN -swimmable:SMPL:XMPL -swimmeret:SMRT:XMRT -swimsuits:SMST:XMST -swindlers:SNTL:XNTL -swindling:SNTL:XNTL -swineherd:SNHR:XNHR -swingboat:SNKP:XNKP -swingeing:SNJN:XNKN -swingling:SNKL:XNKL -swinishly:SNXL:XNXL -switchers:SXRS:XXRS -switching:SXNK:XXNK -switchman:SXMN:XXMN -switchmen:SXMN:XXMN -swiveling:SFLN:XFLN -swollenly:SLNL:XLNL -swordbill:SRTP:XRTP -swordfish:SRTF:XRTF -swordless:SRTL:XRTL -swordplay:SRTP:XRTP -swordsman:SRTS:XRTS -swordsmen:SRTS:XRTS -swordtail:SRTL:XRTL -sybarites:SPRT:SPRT -sybaritic:SPRT:SPRT -sycamores:SKMR:SKMR -sycophant:SKFN:SKFN -syllabary:SLPR:SLPR -syllabify:SLPF:SLPF -syllabism:SLPS:SLPS -syllabled:SLPL:SLPL -syllables:SLPL:SLPL -syllepses:SLPS:SLPS -syllepsis:SLPS:SLPS -sylleptic:SLPT:SLPT -syllogism:SLJS:SLKS -syllogize:SLJS:SLKS -sylphlike:SLFL:SLFL -sylvanite:SLFN:SLFN -symbionic:SMPN:SMPN -symbioses:SMPS:SMPS -symbiosis:SMPS:SMPS -symbiotic:SMPT:SMPT -symbolics:SMPL:SMPL -symbolism:SMPL:SMPL -symbolist:SMPL:SMPL -symbolize:SMPL:SMPL -symbolled:SMPL:SMPL -symbology:SMPL:SMPL -symmetric:SMTR:SMTR -sympathin:SMP0:SMPT -sympatric:SMPT:SMPT -symphonic:SMFN:SMFN -symphyses:SMFS:SMFS -symphysis:SMFS:SMFS -sympodial:SMPT:SMPT -sympodium:SMPT:SMPT -symposiac:SMPS:SMPX -symposium:SMPS:SMPS -synagogue:SNKK:SNKK -synalepha:SNLF:SNLF -synapsing:SNPS:SNPS -syncaryon:SNKR:SNKR -synchrony:SNXR:SNKR -synchysis:SNXS:SNKS -synclinal:SNKL:SNKL -synclitic:SNKL:SNKL -synclonus:SNKL:SNKL -syncopate:SNKP:SNKP -syncretic:SNKR:SNKR -syncytial:SNSX:SNSX -syncytium:SNST:SNST -syndactyl:SNTK:SNTK -syndicate:SNTK:SNTK -syndromes:SNTR:SNTR -synechiae:SNK:SNK -synectics:SNKT:SNKT -synereses:SNRS:SNRS -syneresis:SNRS:SNRS -synergies:SNRJ:SNRK -synergism:SNRJ:SNRK -synergist:SNRJ:SNRK -synezesis:SNSS:SNSS -syngamies:SNKM:SNKM -syngeneic:SNJN:SNKN -synizesis:SNSS:SNSS -synkarion:SNKR:SNKR -synkaryon:SNKR:SNKR -synodical:SNTK:SNTK -synoekete:SNKT:SNKT -synonymic:SNNM:SNNM -synophrys:SNFR:SNFR -synopsize:SNPS:SNPS -synoptist:SNPT:SNPT -synostose:SNST:SNST -synovioma:SNFM:SNFM -synovitis:SNFT:SNFT -syntactic:SNTK:SNTK -syntality:SNTL:SNTL -syntectic:SNTK:SNTK -syntheses:SN0S:SNTS -synthesis:SN0S:SNTS -synthetic:SN0T:SNTT -syntonies:SNTN:SNTN -syntropic:SNTR:SNTR -syphering:SFRN:SFRN -syphilize:SFLS:SFLS -syphiloid:SFLT:SFLT -syphiloma:SFLM:SFLM -syphoning:SFNN:SFNN -syringing:SRNJ:SRNK -syringoma:SRNK:SRNK -systaltic:SSTL:SSTL -systemize:SSTM:SSTM -systremma:SSTR:SSTR -systylous:SSTL:SSTL -tabacosis:TPKS:TPKS -tabanidae:TPNT:TPNT -tabescent:TPSN:TPSN -tablature:TPLT:TPLT -tableland:TPLL:TPLL -tableware:TPLR:TPLR -tabourets:TPRT:TPRT -tabourins:TPRN:TPRN -tabulable:TPLP:TPLP -tabularly:TPLR:TPLR -tabulated:TPLT:TPLT -tabulates:TPLT:TPLT -tabulator:TPLT:TPLT -tacamahac:TKMH:TKMH -tachogram:TKKR:TKKR -tachylyte:TKLT:TKLT -tachypnea:TKPN:TKPN -tacitness:TSTN:TSTN -tackiness:TKNS:TKNS -tactfully:TKTF:TKTF -tactician:TKTS:TKTX -tactility:TKTL:TKTL -tactually:TKTL:TKTL -taeniasis:TNSS:TNSS -taffrails:TFRL:TFRL -tagmemics:TKMM:TKMM -tahitians:THXN:THXN -tailagium:TLJM:TLKM -tailboard:TLPR:TLPR -tailcoats:TLKT:TLKT -tailgated:TLKT:TLKT -tailgates:TLKT:TLKT -taillight:TLT:TLT -tailoress:TLRS:TLRS -tailoring:TLRN:TLRN -tailpiece:TLPS:TLPS -tailpipes:TLPP:TLPP -tailplane:TLPL:TLPL -tailspins:TLSP:TLSP -tailstock:TLST:TLST -taintless:TNTL:TNTL -taiwanese:TNS:TNS -takeaways:TKS:TKS -takeovers:TKFR:TKFR -taligrade:TLKR:TLKR -talismans:TLSM:TLSM -talkative:TLKT:TLKT -talkbacks:TLKP:TLKP -tallagium:TLJM:TLKM -talmudist:TLMT:TLMT -tamaracks:TMRK:TMRK -tamarinds:TMRN:TMRN -tamarisks:TMRS:TMRS -tamborine:TMPR:TMPR -tamperers:TMPR:TMPR -tampering:TMPR:TMPR -tamponade:TMPN:TMPN -tamponage:TMPN:TMPN -tamponing:TMPN:TMPN -tamworths:TMR0:TMRT -tangerine:TNKR:TNJR -tangibles:TNJP:TNKP -tanginess:TNJN:TNKN -tanneries:TNRS:TNRS -tantalate:TNTL:TNTL -tantalite:TNTL:TNTL -tantalize:TNTL:TNTL -tantalous:TNTL:TNTL -tantivies:TNTF:TNTF -tanzanian:TNSN:TNSN -taoiseach:TSK:TSK -tapeworms:TPRM:TPRM -tarantass:TRNT:TRNT -tarantism:TRNT:TRNT -tarantula:TRNT:TRNT -taraxacum:TRKS:TRKS -tardiness:TRTN:TRTN -targeting:TRKT:TRKT -tarmacked:TRMK:TRMK -tarnished:TRNX:TRNX -tarnisher:TRNX:TRNX -tarnishes:TRNX:TRNX -tarpaulin:TRPL:TRPL -tarragona:TRKN:TRKN -tarragons:TRKN:TRKN -tarriness:TRNS:TRNS -tarsalgia:TRSL:TRSL -tarsotomy:TRST:TRST -tartarean:TRTR:TRTR -tartarize:TRTR:TRTR -tartarous:TRTR:TRTR -tartishly:TRTX:TRTX -tartrated:TRTR:TRTR -tasimetry:TSMT:TSMT -tasmanian:TSMN:TSMN -tasseling:TSLN:TSLN -tasteless:TSTL:TSTL -tastiness:TSTN:TSTN -tattering:TTRN:TTRN -tattiness:TTNS:TTNS -tattooers:TTRS:TTRS -tattooing:TTNK:TTNK -tattooist:TTST:TTST -tautening:TTNN:TTNN -tautology:TTLJ:TTLK -tautonymy:TTNM:TTNM -tawdriest:TTRS:TTRS -tawniness:TNNS:TNNS -taxaceous:TKSS:TKSS -taxidermy:TKST:TKST -taxiplane:TKSP:TKSP -taxistand:TKSS:TKSS -taxonomic:TKSN:TKSN -taxpayers:TKSP:TKSP -taxpaying:TKSP:TKSP -teachable:TXPL:TKPL -teachings:TXNK:TKNK -teacupful:TKPF:TKPF -teahouses:THSS:THSS -teakettle:TKTL:TKTL -teammates:TMTS:TMTS -teamsters:TMST:TMST -tearaways:TRS:TRS -teardrops:TRTR:TRTR -tearfully:TRFL:TRFL -tearstain:TRST:TRST -teaselers:TSLR:TSLR -teaseling:TSLN:TSLN -teasingly:TSNK:TSNK -teaspoons:TSPN:TSPN -teazeling:TSLN:TSLN -technical:TKNK:TKNK -technique:TKNK:TKNK -tectchily:TKXL:TKXL -tectiform:TKTF:TKTF -tectonics:TKTN:TKTN -tectorial:TKTR:TKTR -tectorium:TKTR:TKTR -tediously:TTSL:TTSL -teejoints:TJNT:THNT -teenagers:TNKR:TNJR -teesquare:TSKR:TSKR -teetering:TTRN:TTRN -tegmental:TKMN:TKMN -tegmentum:TKMN:TKMN -tegularly:TKLR:TKLR -tegulated:TKLT:TKLT -tegumenta:TKMN:TKMN -teindable:TNTP:TNTP -tektronix:TKTR:TKTR -telecasts:TLKS:TLKS -telegenic:TLJN:TLKN -telegonic:TLKN:TLKN -telegrams:TLKR:TLKR -telegraph:TLKR:TLKR -telemarks:TLMR:TLMR -telemetry:TLMT:TLMT -teleology:TLLJ:TLLK -teleopsia:TLPS:TLPX -telepathy:TLP0:TLPT -telephone:TLFN:TLFN -telephony:TLFN:TLFN -telephoto:TLFT:TLFT -teleplays:TLPL:TLPL -telergies:TLRJ:TLRK -telesales:TLSL:TLSL -telescope:TLSK:TLSK -telescopy:TLSK:TLSK -telestich:TLST:TLST -telethons:TL0N:TLTN -teletypes:TLTP:TLTP -televised:TLFS:TLFS -televises:TLFS:TLFS -televisor:TLFS:TLFS -tellingly:TLNK:TLNK -telltales:TLTL:TLTL -tellurate:TLRT:TLRT -tellurian:TLRN:TLRN -telluride:TLRT:TLRT -tellurion:TLRN:TLRN -tellurite:TLRT:TLRT -tellurium:TLRM:TLRM -tellurize:TLRS:TLRS -tellurous:TLRS:TLRS -telophase:TLFS:TLFS -telpheric:TLFR:TLFR -temarious:TMRS:TMRS -temperate:TMPR:TMPR -tempering:TMPR:TMPR -tempested:TMPS:TMPS -templates:TMPL:TMPL -temporary:TMPR:TMPR -temporize:TMPR:TMPR -temptable:TMPT:TMPT -temptress:TMPT:TMPT -tenacious:TNSS:TNXS -tenaculum:TNKL:TNKL -tenancies:TNNS:TNNX -tenderers:TNTR:TNTR -tenderest:TNTR:TNTR -tendering:TNTR:TNTR -tenderize:TNTR:TNTR -tendineae:TNTN:TNTN -tendinous:TNTN:TNTN -tenebrous:TNPR:TNPR -tenectomy:TNKT:TNKT -tenements:TNMN:TNMN -tenencies:TNNS:TNNX -teniacide:TNST:TNST -teniafuge:TNFJ:TNFK -tennessee:TNS:TNS -tenodeses:TNTS:TNTS -tenodesis:TNTS:TNTS -tenodynia:TNTN:TNTN -tenolyses:TNLS:TNLS -tenolysis:TNLS:TNLS -tenonitis:TNNT:TNNT -tenophyte:TNFT:TNFT -tenorless:TNRL:TNRL -tenseless:TNSL:TNSL -tenseness:TNSN:TNSN -tensility:TNSL:TNSL -tensional:TNSN:TNXN -tensorial:TNSR:TNSR -tentacled:TNTK:TNTK -tentacles:TNTK:TNTK -tentation:TNTX:TNTX -tentative:TNTT:TNTT -tentmaker:TNTM:TNTM -tentorial:TNTR:TNTR -tentorium:TNTR:TNTR -tenuously:TNSL:TNSL -tepefying:TPFN:TPFN -tephritic:TFRT:TFRT -tepidness:TPTN:TPTN -teraglins:TRKL:TRLN -teratogen:TRTJ:TRTK -teratomas:TRTM:TRTM -teratosis:TRTS:TRTS -terebinth:TRPN:TRPN -termagant:TRMK:TRMK -terminals:TRMN:TRMN -terminate:TRMN:TRMN -terminaux:TRMN:TRMN -termitary:TRMT:TRMT -ternaries:TRNR:TRNR -ternately:TRNT:TRNT -terpineol:TRPN:TRPN -terracing:TRSN:TRSN -terramare:TRMR:TRMR -terrapins:TRPN:TRPN -terrarium:TRRM:TRRM -terrenely:TRNL:TRNL -terrified:TRFT:TRFT -terrifier:TRF:TRFR -terrifies:TRFS:TRFS -territory:TRTR:TRTR -terrorful:TRRF:TRRF -terrorism:TRRS:TRRS -terrorist:TRRS:TRRS -terrorize:TRRS:TRRS -terseness:TRSN:TRSN -tertenant:TRTN:TRTN -tertipara:TRTP:TRTP -tessitura:TSTR:TSTR -testacean:TSTS:TSTS -testacies:TSTS:TSTX -testament:TSTM:TSTM -testation:TSTX:TSTX -testators:TSTT:TSTT -testatrix:TSTT:TSTT -testcross:TSTK:TSTK -testicles:TSTK:TSTK -testified:TSTF:TSTF -testifier:TSTF:TSTF -testifies:TSTF:TSTF -testimony:TSTM:TSTM -testiness:TSTN:TSTN -tetanical:TTNK:TTNK -tetanilla:TTNL:TTNL -tetanized:TTNS:TTNS -tetanizes:TTNS:TTNS -tetarcone:TTRK:TTRK -tetchiest:TXST:TXST -teteatete:TTTT:TTTT -tethering:T0RN:TTRN -tetragram:TTRK:TTRK -tetralogy:TTRL:TTRL -tetramine:TTRM:TTRM -tetrapody:TTRP:TTRP -tetrarchy:TTRR:TTRR -tetroxide:TTRK:TTRK -teutonise:TTNS:TTNS -teutonism:TTNS:TTNS -textbooks:TKST:TKST -textiform:TKST:TKST -textually:TKST:TKST -texturing:TKST:TKST -thalassic:0LSK:TLSK -thalluses:0LSS:TLSS -thanatoid:0NTT:TNTT -thankless:0NKL:TNKL -thatchers:0XRS:TXRS -thatching:0XNK:TXNK -theatrics:0TRK:TTRK -thebesian:0PSN:TPXN -thebesius:0PSS:TPSS -thecodont:0KTN:TKTN -thecomata:0KMT:TKMT -theftbote:0FTP:TFTP -theftuous:0FTS:TFTS -theileria:0LR:TLR -thelalgia:0LLJ:TLLK -thelarche:0LRX:TLRK -theloncus:0LNK:TLNK -themeless:0MLS:TMLS -theobroma:0PRM:TPRM -theocracy:0KRS:TKRS -theocrasy:0KRS:TKRS -theomania:0MN:TMN -theopathy:0P0:TPT -theoretic:0RTK:TRTK -theorists:0RST:TRST -theorized:0RST:TRST -theorizer:0RSR:TRSR -theorizes:0RSS:TRSS -theosophy:0SF:TSF -therapies:0RPS:TRPS -therapist:0RPS:TRPS -thereamon:0RMN:TRMN -therefore:0RFR:TRFR -therefrom:0RFR:TRFR -thereinto:0RNT:TRNT -thereunto:0RNT:TRNT -thereupon:0RPN:TRPN -therewith:0R0:TRT -theriomas:0RMS:TRMS -thermally:0RML:TRML -thermites:0RMT:TRMT -thermoses:0RMS:TRMS -thermoset:0RMS:TRMS -thesaurus:0SRS:TSRS -thespians:0SPN:TSPN -theurgies:0RJS:TRKS -thickened:0KNT:TKNT -thickener:0KNR:TKNR -thickhead:0KT:TKT -thickness:0KNS:TKNS -thighbone:0PN:TPN -thineness:0NNS:TNNS -thinkable:0NKP:TNKP -thinkably:0NKP:TNKP -thioacids:0STS:TSTS -thioneine:0NN:TNN -thiophene:0FN:TFN -thirstier:0RST:TRST -thirstily:0RST:TRST -thirsting:0RST:TRST -thirteens:0RTN:TRTN -thirtieth:0RT0:TRTT -tholepins:0LPN:TLPN -thornbill:0RNP:TRNP -thornbush:0RNP:TRNP -thorniest:0RNS:TRNS -thornless:0RNL:TRNL -thousands:0SNT:TSNT -thralldom:0RLT:TRLT -thralling:0RLN:TRLN -thrashers:0RXR:TRXR -thrashing:0RXN:TRXN -threaders:0RTR:TRTR -threadfin:0RTF:TRTF -threadier:0RT:TRTR -threading:0RTN:TRTN -threatens:0RTN:TRTN -threatful:0RTF:TRTF -threefold:0RFL:TRFL -threesome:0RSM:TRSM -threonine:0RNN:TRNN -threshers:0RXR:TRXR -threshing:0RXN:TRXN -threshold:0RXL:TRXL -thriftier:0RFT:TRFT -thriftily:0RFT:TRFT -thrillers:0RLR:TRLR -thrilling:0RLN:TRLN -throatier:0RT:TRTR -throatily:0RTL:TRTL -throbbing:0RPN:TRPN -thrombase:0RMP:TRMP -thrombose:0RMP:TRMP -thronging:0RNJ:TRNK -throttled:0RTL:TRTL -throttler:0RTL:TRTL -throttles:0RTL:TRTL -throwaway:0R:TR -throwback:0RPK:TRPK -throwster:0RST:TRST -thrumming:0RMN:TRMN -thrusters:0RST:TRST -thrusting:0RST:TRST -thrustors:0RST:TRST -thumbhole:0MPL:TMPL -thumbless:0MPL:TMPL -thumblike:0MPL:TMPL -thumbnail:0MPN:TMPN -thumbnuts:0MPN:TMPN -thumbtack:0MPT:TMPT -thundered:0NTR:TNTR -thunderer:0NTR:TNTR -thursdays:0RST:TRST -thwackers:0KRS:TKRS -thwacking:0KNK:TKNK -thwarting:0RTN:TRTN -thymidine:0MTN:TMTN -thymocyte:0MST:TMST -thymomata:0MMT:TMMT -thyratron:0RTR:TRTR -thyrocele:0RSL:TRSL -thyrohyal:0RHL:TRHL -thyroidal:0RTL:TRTL -thyronine:0RNN:TRNN -thyrotomy:0RTM:TRTM -thyroxine:0RKS:TRKS -ticketing:TKTN:TKTN -ticktocks:TKTK:TKTK -tidelands:TTLN:TTLN -tidemarks:TTMR:TTMR -tidewater:TTTR:TTTR -tiffanies:TFNS:TFNS -tightened:TTNT:TTNT -tightener:TTNR:TTNR -tightfist:TTFS:TTFS -tightknit:TTKN:TTKN -tightness:TTNS:TTNS -tightrope:TTRP:TTRP -tightwads:TTTS:TTTS -tightwire:TTR:TTR -tigresses:TKRS:TKRS -tillering:TLRN:TLRN -timbering:TMPR:TMPR -timberman:TMPR:TMPR -timbermen:TMPR:TMPR -timecards:TMKR:TMKR -timeliest:TMLS:TMLS -timeously:TMSL:TMSL -timepiece:TMPS:TMPS -timesaver:TMSF:TMSF -timescale:TMSK:TMSK -timetable:TMTP:TMTP -timidness:TMTN:TMTN -timocracy:TMKR:TMKR -timpanist:TMPN:TMPN -tinctured:TNKT:TNKT -tinctures:TNKT:TNKT -tinderbox:TNTR:TNTR -tinderish:TNTR:TNTR -tinkerers:TNKR:TNKR -tinkering:TNKR:TNKR -tinniness:TNNS:TNNS -tinselier:TNSL:TNSL -tinseling:TNSL:TNSL -tinsmiths:TNSM:TNSM -tipsiness:TPSN:TPSN -tiptoeing:TPTN:TPTN -tiredness:TRTN:TRTN -titillate:TTLT:TTLT -titivated:TTFT:TTFT -titivates:TTFT:TTFT -titivator:TTFT:TTFT -titlehold:TTLH:TTLH -titrating:TTRT:TTRT -titration:TTRX:TTRX -titterers:TTRR:TTRR -tittering:TTRN:TTRN -tittupped:TTPT:TTPT -titularly:TTLR:TTLR -toadstone:TTST:TTST -toadstool:TTST:TTST -tobaccoes:TPKS:TPKS -toboggans:TPKN:TPKN -togethers:TK0R:TKTR -toilettes:TLTS:TLTS -tokyoites:TKTS:TKTS -tolerable:TLRP:TLRP -tolerably:TLRP:TLRP -tolerance:TLRN:TLRN -tolerated:TLRT:TLRT -tolerates:TLRT:TLRT -tolerator:TLRT:TLRT -tollbooth:TLP0:TLPT -tollgates:TLKT:TLKT -tollhouse:TLS:TLS -toluidine:TLTN:TLTN -tomahawks:TMHK:TMHK -tomboyish:TMPX:TMPX -tombstone:TMPS:TMPS -tommyguns:TMKN:TMKN -tomograph:TMKR:TMKR -tomomania:TMMN:TMMN -tonically:TNKL:TNKL -tonograph:TNKR:TNKR -tonometry:TNMT:TNMT -tonoplast:TNPL:TNPL -tonoscope:TNSK:TNSK -tonsillar:TNSL:TNSL -tonsorial:TNSR:TNSR -tontineer:TNTN:TNTN -toolhouse:TLS:TLS -toolmaker:TLMK:TLMK -toothache:T0X:TTK -toothiest:T0ST:TTST -toothless:T0LS:TTLS -toothpick:T0PK:TTPK -toothsome:T0SM:TTSM -toothwort:T0RT:TTRT -topectomy:TPKT:TPKT -topflight:TPFL:TPFL -topiarian:TPRN:TPRN -topiarist:TPRS:TPRS -topically:TPKL:TPKL -toplessly:TPLS:TPLS -topograph:TPKR:TPKR -toppingly:TPNK:TPNK -topsiders:TPST:TPST -topsoiled:TPSL:TPSL -topstitch:TPST:TPST -torcheres:TRXR:TRKR -torchiers:TRXR:TRKR -torchlike:TRXL:TRKL -torchwood:TRXT:TRKT -toreadors:TRTR:TRTR -toreutics:TRTK:TRTK -tormented:TRMN:TRMN -tormenter:TRMN:TRMN -tormentil:TRMN:TRMN -tormentor:TRMN:TRMN -tornadoes:TRNT:TRNT -torpedoed:TRPT:TRPT -torpedoes:TRPT:TRPT -torpidity:TRPT:TRPT -torrefied:TRFT:TRFT -torrefies:TRFS:TRFS -torridity:TRTT:TRTT -torrified:TRFT:TRFT -torrifier:TRF:TRFR -torsional:TRSN:TRXN -tortillas:TRTL:TRTL -tortoises:TRTS:TRTS -torturers:TRTR:TRTR -torturing:TRTR:TRTR -torturous:TRTR:TRTR -torulosis:TRLS:TRLS -totalized:TTLS:TTLS -totalizer:TTLS:TTLS -totalizes:TTLS:TTLS -totallers:TTLR:TTLR -totalling:TTLN:TTLN -totaquine:TTKN:TTKN -totterers:TTRR:TTRR -tottering:TTRN:TTRN -touchable:TXPL:TKPL -touchback:TKPK:TKPK -touchdown:TXTN:TKTN -touchiest:TXST:TKST -touchless:TKLS:TKLS -touchline:TKLN:TKLN -touchmark:TKMR:TKMR -touchwood:TKT:TKT -toughened:TFNT:TFNT -toughener:TFNR:TFNR -toughness:TFNS:TFNS -tournedos:TRNT:TRNT -towelings:TLNK:TLNK -towheaded:TTT:TTT -townhouse:TNS:TNS -townscape:TNSK:TNSK -townsfolk:TNSF:TNSF -townships:TNXP:TNXP -towpathes:TP0S:TPTS -toxaphene:TKSF:TKSF -toxically:TKSK:TKSK -toxicoses:TKSK:TKSK -toxicosis:TKSK:TKSK -toxifying:TKSF:TKSF -toxigenic:TKSJ:TKSK -toxophily:TKSF:TKSF -trabeated:TRPT:TRPT -trabecula:TRPK:TRPK -traceable:TRSP:TRSP -traceably:TRSP:TRSP -traceless:TRSL:TRSL -traceried:TRSR:TRSR -traceries:TRSR:TRSR -tracheaes:TRXS:TRKS -tracheate:TRXT:TRKT -trachytic:TRKT:TRKT -trackable:TRKP:TRKP -trackless:TRKL:TRKL -tracksuit:TRKS:TRKS -tractable:TRKT:TRKT -tractably:TRKT:TRKT -tractates:TRKT:TRKT -tradeable:TRTP:TRTP -tradeless:TRTL:TRTL -trademark:TRTM:TRTM -tradename:TRTN:TRTN -tradeoffs:TRTF:TRTF -tradesman:TRTS:TRTS -tradesmen:TRTS:TRTS -tradition:TRTX:TRTX -traducers:TRTS:TRTS -traducing:TRTS:TRTS -trafficks:TRFK:TRFK -tragedian:TRJT:TRKT -tragedies:TRJT:TRKT -trailings:TRLN:TRLN -trainable:TRNP:TRNP -trainless:TRNL:TRNL -trainload:TRNL:TRNL -trainsick:TRNS:TRNS -traipsing:TRPS:TRPS -traitress:TRTR:TRTR -tramlines:TRML:TRML -trammeled:TRML:TRML -trammeler:TRML:TRML -tramplers:TRMP:TRMP -trampling:TRMP:TRMP -transacts:TRNS:TRNS -transcend:TRNS:TRNS -transduce:TRNS:TRNS -transects:TRNS:TRNS -transepts:TRNS:TRNS -transeunt:TRNS:TRNS -transfect:TRNS:TRNS -transfers:TRNS:TRNS -transfixt:TRNS:TRNS -transform:TRNS:TRNS -transfuse:TRNS:TRNS -tranships:TRNX:TRNX -transient:TRNS:TRNS -transited:TRNS:TRNS -transitus:TRNS:TRNS -translate:TRNS:TRNS -transmits:TRNS:TRNS -transmute:TRNS:TRNS -transomed:TRNS:TRNS -transonic:TRNS:TRNS -transpire:TRNS:TRNS -transport:TRNS:TRNS -transpose:TRNS:TRNS -transship:TRNS:TRNS -transuded:TRNS:TRNS -transudes:TRNS:TRNS -transumpt:TRNS:TRNS -trapdoors:TRPT:TRPT -trapezial:TRPS:TRPS -trapezium:TRPS:TRPS -trapezius:TRPS:TRPS -trapezoid:TRPS:TRPS -trappings:TRPN:TRPN -trapshoot:TRPX:TRPX -trashiest:TRXS:TRXS -trattoria:TRTR:TRTR -traumatic:TRMT:TRMT -travailed:TRFL:TRFL -travelers:TRFL:TRFL -traveling:TRFL:TRFL -traversal:TRFR:TRFR -traversed:TRFR:TRFR -traverser:TRFR:TRFR -traverses:TRFR:TRFR -treachery:TRXR:TRKR -treacling:TRKL:TRKL -treadlers:TRTL:TRTL -treadling:TRTL:TRTL -treadmill:TRTM:TRTM -treasured:TRSR:TRSR -treasurer:TRSR:TRSR -treasures:TRSR:TRSR -treatable:TRTP:TRTP -treatises:TRTS:TRTS -treatment:TRTM:TRTM -trebuchet:TRPX:TRPK -trebucket:TRPK:TRPK -treenware:TRNR:TRNR -trefoiled:TRFL:TRFL -trehalase:TRHL:TRHL -trehalose:TRHL:TRHL -treillage:TRLJ:TRLK -trellised:TRLS:TRLS -trellises:TRLS:TRLS -trematoda:TRMT:TRMT -trematode:TRMT:TRMT -tremblers:TRMP:TRMP -trembling:TRMP:TRMP -tremolite:TRML:TRML -tremorous:TRMR:TRMR -tremulant:TRML:TRML -tremulous:TRML:TRML -trenchant:TRNX:TRNK -trenchers:TRNX:TRNK -trenching:TRNX:TRNK -trendiest:TRNT:TRNT -trepanned:TRPN:TRPN -trepanner:TRPN:TRPN -trephined:TRFN:TRFN -trephines:TRFN:TRFN -trepidant:TRPT:TRPT -treponema:TRPN:TRPN -treponeme:TRPN:TRPN -trepopnea:TRPP:TRPP -triacetin:TRST:TRST -triangled:TRNK:TRNK -triangles:TRNK:TRNK -triatomic:TRTM:TRTM -tribadies:TRPT:TRPT -tribadism:TRPT:TRPT -tribalism:TRPL:TRPL -tribeless:TRPL:TRPL -tribesman:TRPS:TRPS -tribesmen:TRPS:TRPS -tribology:TRPL:TRPL -tribunals:TRPN:TRPN -tribunate:TRPN:TRPN -tributary:TRPT:TRPT -tricepses:TRSP:TRSP -trichinae:TRXN:TRKN -trichinas:TRXN:TRKN -trichogen:TRXJ:TRKK -trichomat:TRXM:TRKM -trichomic:TRXM:TRKM -trichoses:TRXS:TRKS -trichosis:TRXS:TRKS -trichroic:TRXR:TRKR -trichrome:TRXR:TRKR -trichuris:TRXR:TRKR -trickiest:TRKS:TRKS -trickless:TRKL:TRKL -trickling:TRKL:TRKL -trickster:TRKS:TRKS -triclinic:TRKL:TRKL -tricoline:TRKL:TRKL -tricolors:TRKL:TRKL -tricotine:TRKT:TRKT -tricresol:TRKR:TRKR -tricrotic:TRKR:TRKR -tricuspid:TRKS:TRKS -tricycled:TRSK:TRSK -tricycles:TRSK:TRSK -tricyclic:TRSK:TRSK -tridactyl:TRTK:TRTK -tridermic:TRTR:TRTR -triennial:TRNL:TRNL -triennium:TRNM:TRNM -trifacial:TRFS:TRFX -trifocals:TRFK:TRFK -trifolium:TRFL:TRFL -triforium:TRFR:TRFR -trigamist:TRKM:TRKM -trigemini:TRJM:TRKM -trigeminy:TRJM:TRKM -triggered:TRKR:TRKR -trigonous:TRKN:TRKN -trigonums:TRKN:TRKN -trihedral:TRHT:TRHT -trihedron:TRHT:TRHT -trihybrid:TRHP:TRHP -trihydric:TRHT:TRHT -trilinear:TRLN:TRLN -trilithic:TRL0:TRLT -trilithon:TRL0:TRLT -trillions:TRLN:TRLN -trilobate:TRLP:TRLP -trilobite:TRLP:TRLP -trilogies:TRLJ:TRLK -trimanual:TRMN:TRMN -trimarans:TRMR:TRMR -trimerous:TRMR:TRMR -trimester:TRMS:TRMS -trimetric:TRMT:TRMT -trimmings:TRMN:TRMN -trinities:TRNT:TRNT -trinketry:TRNK:TRNK -trinomial:TRNM:TRNM -trioxides:TRKS:TRKS -triparaes:TRPR:TRPR -triphasic:TRFS:TRFS -triplanes:TRPL:TRPL -triplegia:TRPL:TRPL -triplexes:TRPL:TRPL -triplopia:TRPL:TRPL -tripodies:TRPT:TRPT -triptychs:TRPT:TRPT -triptyque:TRPT:TRPT -tripwires:TRPR:TRPR -triquetra:TRKT:TRKT -triradial:TRRT:TRRT -triradius:TRRT:TRRT -trisected:TRSK:TRSK -trisector:TRSK:TRSK -triserial:TRSR:TRSR -triskelia:TRSK:TRSK -trisomies:TRSM:TRSM -tritanope:TRTN:TRTN -triteness:TRTN:TRTN -tritheism:TR0S:TRTS -tritiated:TRXT:TRXT -tritiates:TRXT:TRXT -triticale:TRTK:TRTK -triticeum:TRTS:TRTS -tritocone:TRTK:TRTK -triturate:TRTR:TRTR -triumphal:TRMF:TRMF -triumphed:TRMF:TRMF -triumpher:TRMF:TRMF -triumphes:TRMF:TRMF -triumviri:TRMF:TRMF -triumvirs:TRMF:TRMF -trivalent:TRFL:TRFL -trivially:TRFL:TRFL -triweekly:TRKL:TRKL -trochleae:TRKL:TRKL -trochlear:TRKL:TRKL -troillism:TRLS:TRLS -trombones:TRMP:TRMP -troopship:TRPX:TRPX -troopsite:TRPS:TRPS -tropology:TRPL:TRPL -troublers:TRPL:TRPL -troubling:TRPL:TRPL -troublous:TRPL:TRPL -trouncers:TRNS:TRNS -trouncing:TRNS:TRNS -trousered:TRSR:TRSR -trousseau:TRS:TRS -troutlets:TRTL:TRTL -troutling:TRTL:TRTL -trowelers:TRLR:TRLR -troweling:TRLN:TRLN -truancies:TRNS:TRNX -truanting:TRNT:TRNT -trucklers:TRKL:TRKL -truckless:TRKL:TRKL -truckline:TRKL:TRKL -truckling:TRKL:TRKL -truckload:TRKL:TRKL -truculent:TRKL:TRKL -trueloves:TRLF:TRLF -trumpeted:TRMP:TRMP -trumpeter:TRMP:TRMP -truncated:TRNK:TRNK -truncates:TRNK:TRNK -truncheon:TRNX:TRNK -trundlers:TRNT:TRNT -trundling:TRNT:TRNT -trunkfish:TRNK:TRNK -trunkless:TRNK:TRNK -trunnions:TRNN:TRNN -trussings:TRSN:TRSN -trustable:TRST:TRST -trustbust:TRST:TRST -trusteing:TRST:TRST -trustiest:TRST:TRST -truthless:TR0L:TRTL -tubbiness:TPNS:TPNS -tubectomy:TPKT:TPKT -tubercled:TPRK:TPRK -tubercles:TPRK:TPRK -tubercula:TPRK:TPRK -tuberoses:TPRS:TPRS -tubularly:TPLR:TPLR -tubulated:TPLT:TPLT -tubulates:TPLT:TPLT -tubulator:TPLT:TPLT -tufaceous:TFSS:TFSS -tuitional:TXNL:TXNL -tularemia:TLRM:TLRM -tularemic:TLRM:TLRM -tulipwood:TLPT:TLPT -tumefying:TMFN:TMFN -tumescent:TMSN:TMSN -tunbridge:TNPR:TNPR -tunefully:TNFL:TNFL -tungstate:TNKS:TNKS -tungstite:TNKS:TNKS -tungstous:TNKS:TNKS -tunisians:TNSN:TNXN -tunnelers:TNLR:TNLR -tunneling:TNLN:TNLN -turbaries:TRPR:TRPR -turbidite:TRPT:TRPT -turbidity:TRPT:TRPT -turbinate:TRPN:TRPN -turbinoid:TRPN:TRPN -turbofans:TRPF:TRPF -turbojets:TRPJ:TRPJ -turboprop:TRPP:TRPP -turbulent:TRPL:TRPL -turdiform:TRTF:TRTF -turfiness:TRFN:TRFN -turgidity:TRJT:TRKT -turnabout:TRNP:TRNP -turncoats:TRNK:TRNK -turndowns:TRNT:TRNT -turneries:TRNR:TRNR -turnovers:TRNF:TRNF -turnpikes:TRNP:TRNP -turnround:TRNR:TRNR -turnstile:TRNS:TRNS -turntable:TRNT:TRNT -turpitude:TRPT:TRPT -turquoise:TRKS:TRKS -tuscarora:TSKR:TSKR -tutiorism:TTRS:TTRS -tutorhood:TTRT:TTRT -tutorials:TTRL:TTRL -tutorship:TTRX:TTRX -twaddlers:TTLR:TTLR -twaddling:TTLN:TTLN -twangiest:TNJS:TNKS -twayblade:TPLT:TPLT -tweediest:TTST:TTST -twelfthes:TLF0:TLFT -twelfthly:TLF0:TLFT -twentieth:TNT0:TNTT -twiddlers:TTLR:TTLR -twiddling:TTLN:TTLN -twiggiers:TKRS:TKRS -twiggiest:TKST:TKST -twilights:TLTS:TLTS -twingeing:TNJN:TNKN -twiningly:TNNK:TNNK -twinklers:TNKL:TNKL -twinkling:TNKL:TNKL -twistable:TSTP:TSTP -twitching:TXNK:TXNK -twittered:TTRT:TTRT -twitterer:TTRR:TTRR -tympanies:TMPN:TMPN -tympanism:TMPN:TMPN -tympanist:TMPN:TMPN -tympanous:TMPN:TMPN -tympanums:TMPN:TMPN -typecasts:TPKS:TPKS -typefaces:TPFS:TPFS -typewrite:TPRT:TPRT -typewrote:TPRT:TPRT -typhlitis:TFLT:TFLT -typhlosis:TFLS:TFLS -typhoidal:TFTL:TFTL -typhoidin:TFTN:TFTN -typically:TPKL:TPKL -typifiers:TPFR:TPFR -typifying:TPFN:TPFN -typologic:TPLJ:TPLK -typonomic:TPNM:TPNM -tyrannies:TRNS:TRNS -tyrannize:TRNS:TRNS -tyrannous:TRNS:TRNS -tyrocidin:TRST:TRST -ufologist:AFLJ:AFLK -uglifying:AKLF:ALFN -uitlanded:ATLN:ATLN -uitlander:ATLN:ATLN -ukrainian:AKRN:AKRN -ulcerated:ALSR:ALSR -ulcerates:ALSR:ALSR -ulmaceous:ALMS:ALMS -ulotomies:ALTM:ALTM -ultimates:ALTM:ALTM -ultimatum:ALTM:ALTM -ultrahigh:ALTR:ALTR -ultraists:ALTR:ALTR -ultrathin:ALTR:ALTR -ululating:ALLT:ALLT -ululation:ALLX:ALLX -umbellate:AMPL:AMPL -umbellule:AMPL:AMPL -umbilical:AMPL:AMPL -umbilicus:AMPL:AMPL -umbrellas:AMPR:AMPR -umlauting:AMLT:AMLT -umpteenth:AMPT:AMPT -unabashed:ANPX:ANPX -unacclaim:ANKL:ANKL -unaccrued:ANKR:ANKR -unaccused:ANKS:ANKS -unadapted:ANTP:ANTP -unaddress:ANTR:ANTR -unadjourn:ANTJ:ANTJ -unadopted:ANTP:ANTP -unadorned:ANTR:ANTR -unadvised:ANTF:ANTF -unalarmed:ANLR:ANLR -unaligned:ANLN:ANLK -unallayed:ANLT:ANLT -unallowed:ANLT:ANLT -unalloyed:ANLT:ANLT -unaltered:ANLT:ANLT -unamended:ANMN:ANMN -unamiable:ANMP:ANMP -unamusing:ANMS:ANMS -unanimate:ANNM:ANNM -unanimity:ANNM:ANNM -unanimous:ANNM:ANNM -unappetis:ANPT:ANPT -unapplied:ANPL:ANPL -unappoint:ANPN:ANPN -unapprove:ANPR:ANPR -unaptness:ANPT:ANPT -unarmored:ANRM:ANRM -unashamed:ANXM:ANXM -unassumed:ANSM:ANSM -unattempt:ANTM:ANTM -unattract:ANTR:ANTR -unaudited:ANTT:ANTT -unavenged:ANFN:ANFN -unawarely:ANRL:ANRL -unbalance:ANPL:ANPL -unbarring:ANPR:ANPR -unbeknown:ANPK:ANPK -unbeloved:ANPL:ANPL -unbelting:ANPL:ANPL -unbending:ANPN:ANPN -unbigoted:ANPK:ANPK -unbinding:ANPN:ANPN -unblemish:ANPL:ANPL -unblessed:ANPL:ANPL -unblocked:ANPL:ANPL -unblurred:ANPL:ANPL -unbolting:ANPL:ANPL -unbosomed:ANPS:ANPS -unbounded:ANPN:ANPN -unbracing:ANPR:ANPR -unbranded:ANPR:ANPR -unbridged:ANPR:ANPR -unbridled:ANPR:ANPR -unbrother:ANPR:ANPR -unbruised:ANPR:ANPR -unbrushed:ANPR:ANPR -unbuckled:ANPK:ANPK -unbuckles:ANPK:ANPK -unbudging:ANPJ:ANPJ -unbundled:ANPN:ANPN -unbundles:ANPN:ANPN -unburdens:ANPR:ANPR -unbuttons:ANPT:ANPT -uncannily:ANKN:ANKN -uncapping:ANKP:ANKP -unceasing:ANSS:ANSS -uncertain:ANSR:ANSR -unchained:ANXN:ANKN -unchanged:ANXN:ANKN -uncharged:ANXR:ANKR -uncharted:ANXR:ANKR -uncharter:ANXR:ANKR -unchasten:ANXS:ANKS -unchecked:ANXK:ANKK -uncherish:ANXR:ANKR -unchilled:ANXL:ANKL -uncinaria:ANSN:ANSN -uncinatum:ANSN:ANSN -uncivilly:ANSF:ANSF -unclaimed:ANKL:ANKL -unclarity:ANKL:ANKL -unclasped:ANKL:ANKL -uncleaned:ANKL:ANKL -uncleanly:ANKL:ANKL -uncleared:ANKL:ANKL -unclearly:ANKL:ANKL -unclehood:ANKL:ANKL -uncloaked:ANKL:ANKL -unclogged:ANKL:ANKL -unclosing:ANKL:ANKL -unclothed:ANKL:ANKL -unclothes:ANKL:ANKL -unclouded:ANKL:ANKL -unclutter:ANKL:ANKL -uncoiling:ANKL:ANKL -uncollect:ANKL:ANKL -uncolored:ANKL:ANKL -uncombine:ANKM:ANKM -uncomfort:ANKM:ANKM -unconceal:ANKN:ANKN -unconcede:ANKN:ANKN -unconcern:ANKN:ANKN -uncondone:ANKN:ANKN -unconfess:ANKN:ANKN -unconfine:ANKN:ANKN -unconfirm:ANKN:ANKN -unconfuse:ANKN:ANKN -unconnect:ANKN:ANKN -unconquer:ANKN:ANKN -unconsent:ANKN:ANKN -unconsume:ANKN:ANKN -uncontest:ANKN:ANKN -unconvert:ANKN:ANKN -uncordial:ANKR:ANKR -uncorking:ANKR:ANKR -uncorrect:ANKR:ANKR -uncorrupt:ANKR:ANKR -uncounted:ANKN:ANKN -uncoupled:ANKP:ANKP -uncouples:ANKP:ANKP -uncourtly:ANKR:ANKR -uncouthly:ANK0:ANKT -uncovered:ANKF:ANKF -uncrating:ANKR:ANKR -uncrossed:ANKR:ANKR -uncrosses:ANKR:ANKR -uncrowded:ANKR:ANKR -uncrowned:ANKR:ANKR -unculture:ANKL:ANKL -uncurious:ANKR:ANKR -uncurling:ANKR:ANKR -uncurtain:ANKR:ANKR -undamaged:ANTM:ANTM -undatable:ANTT:ANTT -undaunted:ANTN:ANTN -undecagon:ANTK:ANTK -undecayed:ANTK:ANTK -undeceive:ANTS:ANTS -undecided:ANTS:ANTS -undeclare:ANTK:ANTK -undefeate:ANTF:ANTF -undefiled:ANTF:ANTF -undefined:ANTF:ANTF -undeleted:ANTL:ANTL -undeliver:ANTL:ANTL -underacts:ANTR:ANTR -underbedd:ANTR:ANTR -underbids:ANTR:ANTR -underbill:ANTR:ANTR -underbody:ANTR:ANTR -underbred:ANTR:ANTR -underbuys:ANTR:ANTR -underclad:ANTR:ANTR -underclay:ANTR:ANTR -undercoat:ANTR:ANTR -undercook:ANTR:ANTR -undercuts:ANTR:ANTR -underdoes:ANTR:ANTR -underdogs:ANTR:ANTR -underdone:ANTR:ANTR -underdraw:ANTR:ANTR -underdrew:ANTR:ANTR -undereats:ANTR:ANTR -underfeed:ANTR:ANTR -underfelt:ANTR:ANTR -underfill:ANTR:ANTR -underflow:ANTR:ANTR -underfoot:ANTR:ANTR -undergird:ANTR:ANTR -undergoes:ANTR:ANTR -undergone:ANTR:ANTR -undergrad:ANTR:ANTR -underhand:ANTR:ANTR -underhous:ANTR:ANTR -underhung:ANTR:ANTR -underlaid:ANTR:ANTR -underlain:ANTR:ANTR -underlays:ANTR:ANTR -underlets:ANTR:ANTR -underlier:ANTR:ANTR -underlies:ANTR:ANTR -underline:ANTR:ANTR -underling:ANTR:ANTR -underlips:ANTR:ANTR -underload:ANTR:ANTR -underlook:ANTR:ANTR -undermine:ANTR:ANTR -undermost:ANTR:ANTR -undernote:ANTR:ANTR -underpaid:ANTR:ANTR -underpart:ANTR:ANTR -underpass:ANTR:ANTR -underpays:ANTR:ANTR -underpins:ANTR:ANTR -underplay:ANTR:ANTR -underplot:ANTR:ANTR -underprop:ANTR:ANTR -underrate:ANTR:ANTR -underripe:ANTR:ANTR -underruns:ANTR:ANTR -underseal:ANTR:ANTR -underseas:ANTR:ANTR -undersell:ANTR:ANTR -undersets:ANTR:ANTR -undershot:ANTR:ANTR -underside:ANTR:ANTR -undersign:ANTR:ANTR -undersize:ANTR:ANTR -underslun:ANTR:ANTR -undersoil:ANTR:ANTR -undersold:ANTR:ANTR -undertake:ANTR:ANTR -undertime:ANTR:ANTR -undertint:ANTR:ANTR -undertone:ANTR:ANTR -undertook:ANTR:ANTR -undertows:ANTR:ANTR -undervest:ANTR:ANTR -underwear:ANTR:ANTR -underwent:ANTR:ANTR -underwind:ANTR:ANTR -underwing:ANTR:ANTR -underwood:ANTR:ANTR -underwork:ANTR:ANTR -undescend:ANTS:ANTS -undesired:ANTS:ANTS -undestroy:ANTS:ANTS -undevelop:ANTF:ANTF -undeviate:ANTF:ANTF -undevised:ANTF:ANTF -undiffuse:ANTF:ANTF -undiluted:ANTL:ANTL -undiscern:ANTS:ANTS -undiscuss:ANTS:ANTS -undisplay:ANTS:ANTS -undispose:ANTS:ANTS -undispute:ANTS:ANTS -undistort:ANTS:ANTS -undisturb:ANTS:ANTS -undivided:ANTF:ANTF -undivulge:ANTF:ANTF -undoubted:ANTP:ANTP -undowered:ANTR:ANTR -undrained:ANTR:ANTR -undraping:ANTR:ANTR -undrawing:ANTR:ANTR -undreamed:ANTR:ANTR -undressed:ANTR:ANTR -undresses:ANTR:ANTR -undulance:ANTL:ANTL -undulated:ANTL:ANTL -undulates:ANTL:ANTL -undulator:ANTL:ANTL -undutiful:ANTT:ANTT -undyingly:ANTN:ANTN -unearthed:ANR0:ANRT -unearthes:ANR0:ANRT -unearthly:ANR0:ANRT -uneatable:ANTP:ANTP -uneducate:ANTK:ANTK -unemptied:ANMP:ANMP -unenclose:ANNK:ANNK -unendowed:ANNT:ANNT -unenforce:ANNF:ANNF -unengaged:ANNK:ANNK -unenlarge:ANNL:ANNL -unentered:ANNT:ANNT -unenvious:ANNF:ANNF -unequaled:ANKL:ANKL -unequally:ANKL:ANKL -unerupted:ANRP:ANRP -unethical:AN0K:ANTK -unexamine:ANKS:ANKS -unexample:ANKS:ANKS -unexcited:ANKS:ANKS -unexcused:ANKS:ANKS -unexecute:ANKS:ANKS -unexpired:ANKS:ANKS -unexplain:ANKS:ANKS -unexplode:ANKS:ANKS -unexploit:ANKS:ANKS -unexplore:ANKS:ANKS -unexposed:ANKS:ANKS -unexpress:ANKS:ANKS -unfailing:ANFL:ANFL -unfastens:ANFS:ANFS -unfavored:ANFF:ANFF -unfearing:ANFR:ANFR -unfeeling:ANFL:ANFL -unfeigned:ANFN:ANFK -unferment:ANFR:ANFR -unfertile:ANFR:ANFR -unfestive:ANFS:ANFS -unfetters:ANFT:ANFT -unfitness:ANFT:ANFT -unfitting:ANFT:ANFT -unflatter:ANFL:ANFL -unfledged:ANFL:ANFL -unfolding:ANFL:ANFL -unforbidd:ANFR:ANFR -unforseen:ANFR:ANFR -unfounded:ANFN:ANFN -unfreezes:ANFR:ANFR -unfrocked:ANFR:ANFR -unfulfill:ANFL:ANFL -unfurling:ANFR:ANFR -unfurnish:ANFR:ANFR -ungallant:ANKL:ANKL -ungarnish:ANKR:ANKR -ungenteel:ANJN:ANKN -ungodlier:ANKT:ANKT -ungranted:ANKR:ANKR -ungratify:ANKR:ANKR -unguarded:ANKR:ANKR -ungulates:ANKL:ANKL -unhackney:ANKN:ANKN -unhairing:ANRN:ANRN -unhanding:ANNT:ANNT -unhappier:ANP:ANPR -unhappily:ANPL:ANPL -unharbors:ANRP:ANRP -unharmful:ANRM:ANRM -unharness:ANRN:ANRN -unharvest:ANRF:ANRF -unhatched:ANXT:ANXT -unhealthy:ANL0:ANLT -unheedful:ANTF:ANTF -unheeding:ANTN:ANTN -unhelpful:ANLP:ANLP -unhinging:ANNJ:ANNK -unhitched:ANXT:ANXT -unhitches:ANXS:ANXS -unhonored:ANNR:ANNR -unhooking:ANKN:ANKN -unhorsing:ANRS:ANRS -unhurried:ANRT:ANRT -unicuspid:ANKS:ANKS -unicycles:ANSK:ANSK -unifiable:ANFP:ANFP -uniformed:ANFR:ANFR -uniformly:ANFR:ANFR -unimpeach:ANMP:ANMP -unimpeded:ANMP:ANMP -unimpress:ANMP:ANMP -unimprove:ANMP:ANMP -uninclose:ANNK:ANNK -unindorse:ANNT:ANNT -uninflect:ANNF:ANNF -uninhabit:ANNP:ANNP -uninhibit:ANNP:ANNP -uninjured:ANNJ:ANNJ -uninspect:ANNS:ANNS -uninsured:ANNS:ANNS -uninvited:ANNF:ANNF -uninvoked:ANNF:ANNF -uniocular:ANKL:ANKL -unionists:ANNS:ANNS -unionized:ANNS:ANNS -unionizer:ANNS:ANNS -unionizes:ANNS:ANNS -uniovular:ANFL:ANFL -uniparaes:ANPR:ANPR -uniparous:ANPR:ANPR -uniplanar:ANPL:ANPL -unipotent:ANPT:ANPT -uniramous:ANRM:ANRM -uniserial:ANSR:ANSR -unisexual:ANSK:ANSK -unisonant:ANSN:ANSN -unitarian:ANTR:ANTR -unitively:ANTF:ANTF -unitizing:ANTS:ANTS -univalent:ANFL:ANFL -univalves:ANFL:ANFL -universal:ANFR:ANFR -universes:ANFR:ANFR -unjointed:ANJN:ANJN -unkemptly:ANKM:ANKM -unkennels:ANKN:ANKN -unkindled:ANKN:ANKN -unknitted:ANKN:ANKN -unknotted:ANKN:ANKN -unknowing:ANKN:ANKN -unlabeled:ANLP:ANLP -unlabored:ANLP:ANLP -unlashing:ANLX:ANLX -unlatched:ANLX:ANLX -unlatches:ANLX:ANLX -unleading:ANLT:ANLT -unlearned:ANLR:ANLR -unleashed:ANLX:ANLX -unleashes:ANLX:ANLX -unleveled:ANLF:ANLF -unlighted:ANLT:ANLT -unlikable:ANLK:ANLK -unlimbers:ANLM:ANLM -unlimited:ANLM:ANLM -unlinking:ANLN:ANLN -unlivable:ANLF:ANLF -unloading:ANLT:ANLT -unlocated:ANLK:ANLK -unlocking:ANLK:ANLK -unloosens:ANLS:ANLS -unloosing:ANLS:ANLS -unlovable:ANLF:ANLF -unluckily:ANLK:ANLK -unmanning:ANMN:ANMN -unmarried:ANMR:ANMR -unmasking:ANMS:ANMS -unmatched:ANMX:ANMX -unmatured:ANMT:ANMT -unmeaning:ANMN:ANMN -unmeasure:ANMS:ANMS -unmediate:ANMT:ANMT -unmention:ANMN:ANMN -unmerging:ANMR:ANMR -unmerited:ANMR:ANMR -unmindful:ANMN:ANMN -unmingled:ANMN:ANMN -unmooring:ANMR:ANMR -unmorally:ANMR:ANMR -unmoulded:ANML:ANML -unmounted:ANMN:ANMN -unmourned:ANMR:ANMR -unmovable:ANMF:ANMF -unmuffled:ANMF:ANMF -unmuffles:ANMF:ANMF -unmusical:ANMS:ANMS -unmuzzled:ANMS:ANMS -unmuzzles:ANMS:ANMS -unnamable:ANMP:ANMP -unnatural:ANTR:ANTR -unneedful:ANTF:ANTF -unnerving:ANRF:ANRF -unnoticed:ANTS:ANTS -unnourish:ANRX:ANRX -unobliged:ANPL:ANPL -unobscure:ANPS:ANPS -unobserve:ANPS:ANPS -unoffered:ANFR:ANFR -unopposed:ANPS:ANPS -unoppress:ANPR:ANPR -unordered:ANRT:ANRT -unpacking:ANPK:ANPK -unpainted:ANPN:ANPN -unpayable:ANPP:ANPP -unpedigre:ANPT:ANPT -unpegging:ANPK:ANPK -unpeopled:ANPP:ANPP -unpeoples:ANPP:ANPP -unperfect:ANPR:ANPR -unperform:ANPR:ANPR -unperjure:ANPR:ANPR -unpersons:ANPR:ANPR -unperturb:ANPR:ANPR -unpicking:ANPK:ANPK -unpigment:ANPK:ANPK -unpinning:ANPN:ANPN -unpitying:ANPT:ANPT -unplanned:ANPL:ANPL -unplanted:ANPL:ANPL -unplatted:ANPL:ANPL -unpleased:ANPL:ANPL -unpledged:ANPL:ANPL -unplucked:ANPL:ANPL -unplugged:ANPL:ANPL -unplumbed:ANPL:ANPL -unpointed:ANPN:ANPN -unpolitic:ANPL:ANPL -unpopular:ANPP:ANPP -unpossess:ANPS:ANPS -unprecise:ANPR:ANPR -unpredict:ANPR:ANPR -unprepare:ANPR:ANPR -unpressed:ANPR:ANPR -unpretend:ANPR:ANPR -unprocess:ANPR:ANPR -unproduce:ANPR:ANPR -unprofess:ANPR:ANPR -unpropose:ANPR:ANPR -unprotect:ANPR:ANPR -unprotest:ANPR:ANPR -unprovoke:ANPR:ANPR -unpublish:ANPP:ANPP -unquelled:ANKL:ANKL -unquietly:ANKT:ANKT -unratable:ANRT:ANRT -unraveled:ANRF:ANRF -unraveler:ANRF:ANRF -unreadily:ANRT:ANRT -unreality:ANRL:ANRL -unrebuked:ANRP:ANRP -unreclaim:ANRK:ANRK -unrecover:ANRK:ANRK -unredress:ANRT:ANRT -unreduced:ANRT:ANRT -unreeling:ANRL:ANRL -unreeving:ANRF:ANRF -unrefined:ANRF:ANRF -unreflect:ANRF:ANRF -unrefresh:ANRF:ANRF -unrefuted:ANRF:ANRF -unrelated:ANRL:ANRL -unrelaxed:ANRL:ANRL -unrelieve:ANRL:ANRL -unremoved:ANRM:ANRM -unrenewed:ANRN:ANRN -unreplace:ANRP:ANRP -unrepress:ANRP:ANRP -unreserve:ANRS:ANRS -unresolve:ANRS:ANRS -unretract:ANRT:ANRT -unrevenge:ANRF:ANRF -unrevised:ANRF:ANRF -unrevoked:ANRF:ANRF -unriddled:ANRT:ANRT -unriddler:ANRT:ANRT -unriddles:ANRT:ANRT -unrigging:ANRK:ANRK -unripened:ANRP:ANRP -unripping:ANRP:ANRP -unrivaled:ANRF:ANRF -unrolling:ANRL:ANRL -unroofing:ANRF:ANRF -unrounded:ANRN:ANRN -unruffled:ANRF:ANRF -unruliest:ANRL:ANRL -unsaddled:ANST:ANST -unsaddles:ANST:ANST -unsaintly:ANSN:ANSN -unsalable:ANSL:ANSL -unsayable:ANSP:ANSP -unscanned:ANSK:ANSK -unscarred:ANSK:ANSK -unscathed:ANSK:ANSK -unscented:ANSN:ANSN -unscholar:ANXL:ANXL -unscratch:ANSK:ANSK -unscrewed:ANSK:ANSK -unsealing:ANSL:ANSL -unseating:ANST:ANST -unsecured:ANSK:ANSK -unseduced:ANST:ANST -unsegment:ANSK:ANSK -unselfish:ANSL:ANSL -unsetting:ANST:ANST -unsettled:ANST:ANST -unsettles:ANST:ANST -unshackle:ANXK:ANXK -unshapely:ANXP:ANXP -unsharpen:ANXR:ANXR -unsheathe:ANX0:ANXT -unshelled:ANXL:ANXL -unshelter:ANXL:ANXL -unshifted:ANXF:ANXF -unshipped:ANXP:ANXP -unsighted:ANST:ANST -unsightly:ANST:ANST -unsilence:ANSL:ANSL -unskilful:ANSK:ANSK -unskilled:ANSK:ANSK -unsmiling:ANSM:ANSM -unsnapped:ANSN:ANSN -unsnarled:ANSN:ANSN -unsoothed:ANS0:ANST -unsoundly:ANSN:ANSN -unsparing:ANSP:ANSP -unspoiled:ANSP:ANSP -unspotted:ANSP:ANSP -unstained:ANST:ANST -unstamped:ANST:ANST -unstapled:ANST:ANST -unsteeled:ANST:ANST -unstemmed:ANST:ANST -unstepped:ANST:ANST -unsterile:ANST:ANST -unstinted:ANST:ANST -unstopped:ANST:ANST -unstrings:ANST:ANST -unstriped:ANST:ANST -unstudied:ANST:ANST -unstylish:ANST:ANST -unsubdued:ANSP:ANSP -unsullied:ANSL:ANSL -unsupport:ANSP:ANSP -unsurpass:ANSR:ANSR -unsuspect:ANSS:ANSS -unsustain:ANSS:ANSS -unswathed:ANS0:ANST -unswathes:ANS0:ANST -unsweeten:ANST:ANST -untacking:ANTK:ANTK -untactful:ANTK:ANTK -untainted:ANTN:ANTN -untamable:ANTM:ANTM -untangled:ANTN:ANTN -untangles:ANTN:ANTN -untarnish:ANTR:ANTR -untempted:ANTM:ANTM -untenable:ANTN:ANTN -untenably:ANTN:ANTN -unthanked:AN0N:ANTN -unthought:AN0T:ANTT -unthreads:AN0R:ANTR -unthrifty:AN0R:ANTR -untidiest:ANTT:ANTT -untouched:ANTX:ANTK -untracked:ANTR:ANTR -untrained:ANTR:ANTR -untreated:ANTR:ANTR -untrimmed:ANTR:ANTR -untrodden:ANTR:ANTR -untrussed:ANTR:ANTR -untrusses:ANTR:ANTR -untruthes:ANTR:ANTR -untucking:ANTK:ANTK -untuneful:ANTN:ANTN -untutored:ANTT:ANTT -untwining:ANTN:ANTN -untwisted:ANTS:ANTS -untypical:ANTP:ANTP -unusually:ANSL:ANSL -unuttered:ANTR:ANTR -unvarnish:ANFR:ANFR -unvarying:ANFR:ANFR -unveiling:ANFL:ANFL -unvisited:ANFS:ANFS -unvouched:ANFX:ANFK -unwarrant:ANRN:ANRN -unwatched:ANXT:ANXT -unwearied:ANRT:ANRT -unweaving:ANFN:ANFN -unweighed:ANT:ANT -unwelcome:ANLK:ANLK -unwilling:ANLN:ANLN -unwinders:ANNT:ANNT -unwinding:ANNT:ANNT -unwinking:ANNK:ANNK -unwitness:ANTN:ANTN -unwitting:ANTN:ANTN -unwomanly:ANMN:ANMN -unworldly:ANRL:ANRL -unworried:ANRT:ANRT -unwounded:ANNT:ANNT -unwrapped:ANRP:ANRP -unwrinkle:ANRN:ANRN -unwritten:ANRT:ANRT -unzealous:ANSL:ANSL -unzipping:ANSP:ANSP -upanishad:APNX:APNX -upbraided:APRT:APRT -upbraider:APRT:APRT -upcasting:APKS:APKS -upchucked:APXK:APKK -upcountry:APKN:APKN -updatable:APTT:APTT -updraught:APTR:APTR -upgrading:APKR:APKR -upheavals:AFFL:AFFL -upheaving:AFFN:AFFN -upholders:AFLT:AFLT -upholding:AFLT:AFLT -upholster:AFLS:AFLS -upishness:APXN:APXN -uplifting:APLF:APLF -uploading:APLT:APLT -upmanship:APMN:APMN -uppercase:APRK:APRK -uppercuts:APRK:APRK -uppermost:APRM:APRM -upraising:APRS:APRS -uprearing:APRR:APRR -uprightly:APRT:APRT -uprisings:APRS:APRS -uprooting:APRT:APRT -upsetting:APST:APST -upshifted:APXF:APXF -upstaging:APST:APST -upstrokes:APST:APST -upthrusts:AP0R:APTR -uptilting:APTL:APTL -upturning:APTR:APTR -uracrasia:ARKR:ARKR -uraninite:ARNN:ARNN -urbanites:ARPN:ARPN -urbanized:ARPN:ARPN -urbanizes:ARPN:ARPN -urceiform:ARSF:ARSF -urceolate:ARSL:ARSL -ureametry:ARMT:ARMT -uredemata:ARTM:ARTM -ureotelic:ARTL:ARTL -urethraes:AR0R:ARTR -urgencies:ARJN:ARKN -urinating:ARNT:ARNT -urination:ARNX:ARNX -urinative:ARNT:ARNT -urinomata:ARNM:ARNM -urochrome:ARKR:ARKR -urocrisia:ARKR:ARKR -urogenous:ARJN:ARKN -urography:ARKR:ARKR -urokinase:ARKN:ARKN -urolithic:ARL0:ARLT -urologies:ARLJ:ARLK -urologist:ARLJ:ARLK -urolutein:ARLT:ARLT -uropepsin:ARPP:ARPP -uropygial:ARPJ:ARPK -uropygium:ARPJ:ARPK -uroscopic:ARSK:ARSK -urosepses:ARSP:ARSP -urosepsis:ARSP:ARSP -urticaria:ARTK:ARTK -urticated:ARTK:ARTK -urticates:ARTK:ARTK -uruguayan:ARKN:ARKN -usability:ASPL:ASPL -uselessly:ASLS:ASLS -usherette:AXRT:AXRT -usualness:ASLN:ASLN -usucaptio:ASKP:ASKP -uteralgia:ATRL:ATRL -uteropexy:ATRP:ATRP -uterotomy:ATRT:ATRT -utilisers:ATLS:ATLS -utilities:ATLT:ATLT -utilizing:ATLS:ATLS -utricular:ATRK:ATRK -utriculus:ATRK:ATRK -utterable:ATRP:ATRP -utterance:ATRN:ATRN -uttermost:ATRM:ATRM -uudecoded:ATKT:ATKT -uudecodes:ATKT:ATKT -uuencoded:ANKT:ANKT -uuencodes:ANKT:ANKT -uveitides:AFTT:AFTT -uvulotome:AFLT:AFLT -uvulotomy:AFLT:AFLT -uxoricide:AKSR:AKSR -vacancies:FKNS:FKNX -vacatable:FKTP:FKTP -vacations:FKXN:FKXN -vaccinate:FXNT:FXNT -vaccinees:FXNS:FXNS -vaccinial:FXNL:FXNL -vaccinoid:FXNT:FXNT -vacillate:FSLT:FSLT -vacuities:FKTS:FKTS -vacuolate:FKLT:FKLT -vacuously:FKSL:FKSL -vacuuming:FKMN:FKMN -vademecum:FTMK:FTMK -vadimonia:FTMN:FTMN -vagabonds:FKPN:FKPN -vagarious:FKRS:FKRS -vaginally:FJNL:FKNL -vaginated:FJNT:FKNT -vaginitis:FJNT:FKNT -vagotonia:FKTN:FKTN -vagotonic:FKTN:FKTN -vagovagal:FKFK:FKFK -vagrantly:FKRN:FKRN -vagueness:FKNS:FKNS -vainglory:FNKL:FNKL -valencies:FLNS:FLNX -valentine:FLNT:FLNT -valiantly:FLNT:FLNT -validated:FLTT:FLTT -validates:FLTT:FLTT -validness:FLTN:FLTN -valkyries:FLKR:FLKR -vallation:FLXN:FLXN -vallecula:FLKL:FL K -valorized:FLRS:FLRS -valorizes:FLRS:FLRS -valuables:FLPL:FLPL -valuating:FLTN:FLTN -valuation:FLXN:FLXN -valuative:FLTF:FLTF -valuators:FLTR:FLTR -valueless:FLLS:FLLS -valveless:FLFL:FLFL -valviform:FLFF:FLFF -valvotomy:FLFT:FLFT -vamoosing:FMSN:FMSN -vampirish:FMPR:FMPR -vampirism:FMPR:FMPR -vancouver:FNKF:FNKF -vandalism:FNTL:FNTL -vandalize:FNTL:FNTL -vanguards:FNKR:FNKR -vanillate:FNLT:FNLT -vanillism:FNLS:FNLS -vanishers:FNXR:FNXR -vanishing:FNXN:FNXN -vapidness:FPTN:FPTN -vaporable:FPRP:FPRP -vaporific:FPRF:FPRF -vaporized:FPRS:FPRS -vaporizer:FPRS:FPRS -vaporizes:FPRS:FPRS -vaporless:FPRL:FPRL -varactors:FRKT:FRKT -variables:FRPL:FRPL -variances:FRNS:FRNS -variantly:FRNT:FRNT -variation:FRXN:FRXN -variative:FRTF:FRTF -varicella:FRSL:FRSL -varicolor:FRKL:FRKL -varicosed:FRKS:FRKS -varicoses:FRKS:FRKS -varicosis:FRKS:FRKS -variegate:FRKT:FRKT -varietals:FRTL:FRTL -varieties:FRTS:FRTS -variolate:FRLT:FRLT -variolite:FRLT:FRLT -varioloid:FRLT:FRLT -variolous:FRLS:FRLS -variorums:FRRM:FRRM -variously:FRSL:FRSL -varnished:FRNX:FRNX -varnisher:FRNX:FRNX -varnishes:FRNX:FRNX -varsities:FRST:FRST -varyingly:FRNK:FRNK -vasculosa:FSKL:FSKL -vasculose:FSKL:FSKL -vasculums:FSKL:FSKL -vasectomy:FSKT:FSKT -vasomotor:FSMT:FSMT -vasospasm:FSSP:FSSP -vasotocin:FSTS:FSTS -vasotonic:FSTN:FSTN -vasovagal:FSFK:FSFK -vassalage:FSLJ:FSLK -vaultlike:FLTL:FLTL -vaxserver:FKSS:FKSS -vectorial:FKTR:FKTR -vectoring:FKTR:FKTR -veeringly:FRNK:FRNK -vegetable:FKTP:FKTP -vegetated:FKTT:FKTT -vegetates:FKTT:FKTT -vehemence:FHMN:FHMN -vehemency:FHMN:FHMN -vehicular:FHKL:FHKL -velamenta:FLMN:FLMN -velarised:FLRS:FLRS -velarises:FLRS:FLRS -vellicate:FLKT:FLKT -velodrome:FLTR:FLTR -velveteen:FLFT:FLFT -venalness:FNLN:FNLN -venatical:FNTK:FNTK -vendettas:FNTT:FNTT -vendition:FNTX:FNTX -venectomy:FNKT:FNKT -veneering:FNRN:FNRN -venenated:FNNT:FNNT -venerable:FNRP:FNRP -venerably:FNRP:FNRP -venerated:FNRT:FNRT -venerates:FNRT:FNRT -venerator:FNRT:FNRT -venetians:FNXN:FNXN -venezuela:FNSL:FNSL -vengeance:FNJN:FNKN -veniality:FNLT:FNLT -venireman:FNRM:FNRM -veniremen:FNRM:FNRM -venomotor:FNMT:FNMT -ventilate:FNTL:FNTL -ventralis:FNTR:FNTR -ventrally:FNTR:FNTR -ventricle:FNTR:FNTR -venturers:FNTR:FNTR -venturing:FNTR:FNTR -venturous:FNTR:FNTR -venusians:FNSN:FNXN -veracious:FRSS:FRXS -verandaed:FRNT:FRNT -veratrine:FRTR:FRTR -verbalism:FRPL:FRPL -verbalist:FRPL:FRPL -verbalize:FRPL:FRPL -verbascum:FRPS:FRPS -verbified:FRPF:FRPF -verbifies:FRPF:FRPF -verbosely:FRPS:FRPS -verbosity:FRPS:FRPS -verdantly:FRTN:FRTN -verdigris:FRTK:FRTK -verdurous:FRTR:FRTR -veredicto:FRTK:FRTK -verglases:FRKL:FRKL -veridical:FRTK:FRTK -verifiers:FRFR:FRFR -verifying:FRFN:FRFN -veritable:FRTP:FRTP -veritably:FRTP:FRTP -verjuiced:FRJS:FRJS -vermicide:FRMS:FRMS -vermicule:FRMK:FRMK -vermiform:FRMF:FRMF -vermifuge:FRMF:FRMF -vermilion:FRML:FRML -verminous:FRMN:FRMN -vermonter:FRMN:FRMN -vermouths:FRM0:FRMT -vernalize:FRNL:FRNL -vernation:FRNX:FRNX -veronicas:FRNK:FRNK -verrucose:FRKS:FRKS -verrucous:FRKS:FRKS -versatile:FRST:FRST -versicles:FRSK:FRSK -versified:FRSF:FRSF -versifier:FRSF:FRSF -versifies:FRSF:FRSF -versional:FRSN:FRXN -verslibre:FRSL:FRSL -vertebrae:FRTP:FRTP -vertebral:FRTP:FRTP -vertebras:FRTP:FRTP -verticals:FRTK:FRTK -vertigoes:FRTK:FRTK -vesicants:FSKN:FSKN -vesicated:FSKT:FSKT -vesiculae:FSKL:FSKL -vesicular:FSKL:FSKL -vesiculas:FSKL:FSKL -vesperals:FSPR:FSPR -vespiform:FSPF:FSPF -vesselful:FSLF:FSLF -vestibula:FSTP:FSTP -vestibule:FSTP:FSTP -vestibuli:FSTP:FSTP -vestigial:FSTJ:FSTK -vestigium:FSTJ:FSTK -vestments:FSTM:FSTM -vestryman:FSTR:FSTR -vestrymen:FSTR:FSTR -vesturers:FSTR:FSTR -vesturing:FSTR:FSTR -vetchling:FXLN:FXLN -vexations:FKSX:FKSX -vexatious:FKST:FKST -vexedness:FKST:FKST -vexillogy:FKSL:FKSL -viability:FPLT:FPLT -viaticums:FTKM:FTKM -vibracula:FPRK:FPRK -vibraharp:FPRH:FPRH -vibrantly:FPRN:FPRN -vibratile:FPRT:FPRT -vibrating:FPRT:FPRT -vibration:FPRX:FPRX -vibrators:FPRT:FPRT -vibratory:FPRT:FPRT -vibrioses:FPRS:FPRS -vibriosis:FPRS:FPRS -vibrissae:FPRS:FPRS -viburnums:FPRN:FPRN -vicarages:FKRJ:FKRK -vicariate:FKRT:FKRT -vicarious:FKRS:FKRS -vicegeral:FSJR:FSKR -vicennial:FSNL:FSNL -viceregal:FSRK:FSRK -vicereine:FSRN:FSRN -viceversa:FSFR:FSFR -vicianose:FSNS:FXNS -vicinetum:FSNT:FSNT -viciously:FSSL:FXSL -vicontiel:FKNT:FKNT -victimize:FKTM:FKTM -victorian:FKTR:FKTR -victories:FKTR:FKTR -victualed:FKTL:FKTL -victualer:FKTL:FKTL -videlicet:FTLS:FTLS -videodisc:FTTS:FTTS -videotape:FTTP:FTTP -videotext:FTTK:FTTK -viduities:FTTS:FTTS -vieussens:FSNS:FSNS -viewpoint:FPNT:FPNT -vigesimal:FJSM:FKSM -vigilance:FJLN:FKLN -vigilante:FJLN:FKLN -vignetted:FNTT:FKNT -vignetter:FNTR:FKNT -vignettes:FNTS:FKNT -vigorless:FKRL:FKRL -vigourous:FKRS:FKRS -vilifying:FLFN:FLFN -villagers:FLKR:FLJR -villifier:FLF:FLFR -villiform:FLFR:FLFR -villosity:FLST:FLST -villously:FLSL:FLSL -vimineous:FMNS:FMNS -vinaceous:FNSS:FNSS -vinculums:FNKL:FNKL -vindicate:FNTK:FNTK -vineyards:FNRT:FNRT -vintagers:FNTK:FNTJ -violaters:FLTR:FLTR -violating:FLTN:FLTN -violation:FLXN:FLXN -violative:FLTF:FLTF -violators:FLTR:FLTR -violently:FLNT:FLNT -violinist:FLNS:FLNS -viosterol:FSTR:FSTR -viperidae:FPRT:FPRT -virescent:FRSN:FRSN -virgilian:FRJL:FRKL -virginals:FRJN:FRKN -virginian:FRJN:FRKN -virginity:FRJN:FRKN -virginium:FRJN:FRKN -virgulate:FRKL:FRKL -viricidal:FRST:FRST -virilized:FRLS:FRLS -virilizes:FRLS:FRLS -virologic:FRLJ:FRLK -virtually:FRTL:FRTL -virtuosos:FRTS:FRTS -virucidal:FRST:FRST -virulence:FRLN:FRLN -virulency:FRLN:FRLN -visagists:FSJS:FSKS -viscarias:FSKR:FSKR -viscerate:FSRT:FSRT -viscidity:FSTT:FSTT -viscoidal:FSKT:FSKT -viscosity:FSKS:FSKS -viscounts:FSKN:FSKN -viscously:FSKS:FSKS -visionary:FSNR:FXNR -visioning:FSNN:FXNN -visitable:FSTP:FSTP -visitants:FSTN:FSTN -visitress:FSTR:FSTR -visorless:FSRL:FSRL -vistaless:FSTL:FSTL -visuality:FSLT:FSLT -visualize:FSLS:FSLS -vitaceous:FTSS:FTSS -vitalists:FTLS:FTLS -vitalized:FTLS:FTLS -vitalizer:FTLS:FTLS -vitalizes:FTLS:FTLS -vitelline:FTLN:FTLN -vitiating:FXTN:FXTN -vitiation:FXXN:FXXN -vitiators:FXTR:FXTR -vitrified:FTRF:FTRF -vitrifies:FTRF:FTRF -vitriform:FTRF:FTRF -vitrioled:FTRL:FTRL -vitriolic:FTRL:FTRL -vivacious:FFSS:FFXS -vivariums:FFRM:FFRM -viverrine:FFRN:FFRN -vividness:FFTN:FFTN -vivifiers:FFFR:FFFR -vivifying:FFFN:FFFN -vivisects:FFSK:FFSK -vizorless:FSRL:FSRL -vleminckx:FLMN:FLMN -vocalists:FKLS:FKLS -vocalized:FKLS:FKLS -vocalizer:FKLS:FKLS -vocalizes:FKLS:FKLS -vocations:FKXN:FKXN -vocatives:FKTF:FKTF -voiceless:FSLS:FSLS -volauvent:FLFN:FLFN -volcanism:FLKN:FLKN -volcanize:FLKN:FLKN -volcanoes:FLKN:FLKN -volitions:FLXN:FLXN -volleyers:FLRS:FLRS -volleying:FLNK:FLNK -volplaned:FLPL:FLPL -volplanes:FLPL:FLPL -volsellum:FLSL:FLSL -volteface:FLTF:FLTF -voluntary:FLNT:FLNT -volunteer:FLNT:FLNT -vomituses:FMTS:FMTS -voodooism:FTSM:FTSM -voodooist:FTST:FTST -voracious:FRSS:FRXS -vorticism:FRTS:FRTS -vorticist:FRTS:FRTS -vorticose:FRTK:FRTK -vouchsafe:FKSF:FKSF -voussoirs:FSRS:FSRS -vowelised:FLST:FLST -vowelises:FLSS:FLSS -voyageurs:FJRS:FKRS -voyagings:FJNK:FKNK -voyeurism:FRSM:FRSM -vulcanian:FLKN:FLKN -vulcanism:FLKN:FLKN -vulcanist:FLKN:FLKN -vulcanite:FLKN:FLKN -vulcanize:FLKN:FLKN -vulgarian:FLKR:FLKR -vulgarism:FLKR:FLKR -vulgarity:FLKR:FLKR -vulgarize:FLKR:FLKR -vulnerary:FLNR:FLNR -vulsellum:FLSL:FLSL -vulturine:FLTR:FLTR -vulturish:FLTR:FLTR -vulturous:FLTR:FLTR -vulviform:FLFF:FLFF -wackiness:AKNS:FKNS -wadsetter:ATST:FTST -waggeries:AKRS:FKRS -waggishly:AJXL:FKXL -waggoners:AKNR:FKNR -wagnerian:AKNR:FKNR -wagonette:AKNT:FKNT -wagonload:AKNL:FKNL -wailfully:ALFL:FLFL -wainscots:ANSK:FNSK -waistband:ASTP:FSTP -waistcoat:ASTK:FSTK -waistline:ASTL:FSTL -wakefully:AKFL:FKFL -walkabout:ALKP:FLKP -walkaways:ALKS:FLKS -walkovers:ALKF:FLKF -wallabies:ALPS:FLPS -wallaroos:ALRS:FLRS -wallboard:ALPR:FLPR -wallerian:ALRN:FLRN -wallopers:ALPR:FLPR -walloping:ALPN:FLPN -wallowers:ALRS:FLRS -wallowing:ALNK:FLNK -wallpaper:ALPP:FLPP -wanderers:ANTR:FNTR -wandering:ANTR:FNTR -wanderoos:ANTR:FNTR -wantoning:ANTN:FNTN -wapentake:APNT:FPNT -wardrobes:ARTR:FRTR -wardrooms:ARTR:FRTR -wardships:ARTX:FRTX -warehouse:ARHS:FRHS -warerooms:ARRM:FRRM -warhorses:ARRS:FRRS -warmheart:ARMR:FRMR -warmonger:ARMN:FRMN -warningly:ARNN:FRNN -warplanes:ARPL:FRPL -warranted:ARNT:FRNT -warrantee:ARNT:FRNT -warranter:ARNT:FRNT -warrantor:ARNT:FRNT -wartiness:ARTN:FRTN -washbasin:AXPS:FXPS -washboard:AXPR:FXPR -washbowls:AXPL:FXPL -washcloth:AXKL:FXKL -washiness:AXNS:FXNS -washrooms:AXRM:FXRM -washstand:AXST:FXST -washwoman:AXMN:FXMN -washwomen:AXMN:FXMN -waspiness:ASPN:FSPN -waspishly:ASPX:FSPX -wassailed:ASLT:FSLT -wassailer:ASLR:FSLR -wasteland:ASTL:FSTL -wastingly:ASTN:FSTN -watchband:AXPN:FXPN -watchcase:AXKS:FXKS -watchdogs:AXTK:FXTK -watchings:AXNK:FXNK -watchword:AXRT:FXRT -waterbeds:ATRP:FTRP -waterbuck:ATRP:FTRP -waterbury:ATRP:FTRP -waterfall:ATRF:FTRF -waterfowl:ATRF:FTRF -watergate:ATRK:FTRK -waterings:ATRN:FTRN -watermark:ATRM:FTRM -watershed:ATRX:FTRX -watersher:ATRX:FTRX -waterside:ATRS:FTRS -waterways:ATRS:FTRS -waterweed:ATRT:FTRT -waterworn:ATRR:FTRR -watsonius:ATSN:FTSN -wavebands:AFPN:FFPN -waveforms:AFFR:FFFR -wavefront:AFFR:FFFR -waveguide:AFKT:FFKT -wayfarers:AFRR:FFRR -wayfaring:AFRN:FFRN -waylayers:ALRS:FLRS -waylaying:ALNK:FLNK -waywardly:ARTL:FRTL -wayzgoose:ASKS:FTSK -weakeners:AKNR:FKNR -weakening:AKNN:FKNN -weakheart:AKRT:FKRT -weakishly:AKXL:FKXL -weakliest:AKLS:FKLS -weaklings:AKLN:FKLN -wealthier:AL0R:FLTR -wealthily:AL0L:FLTL -weariless:ARLS:FRLS -weariness:ARNS:FRNS -wearingly:ARNK:FRNK -wearisome:ARSM:FRSM -wearproof:ARPR:FRPR -weaseling:ASLN:FSLN -weathered:A0RT:FTRT -weatherer:A0RR:FTRR -weatherly:A0RL:FTRL -webfooted:APFT:FPFT -wednesday:ATNS:FTNS -weediness:ATNS:FTNS -weekender:AKNT:FKNT -weeknight:AKNT:FKNT -weepiness:APNS:FPNS -weepingly:APNK:FPNK -weevilled:AFLT:FFLT -weighable:APL:FPL -weighings:ANKS:FNKS -weighment:AMNT:FMNT -weightier:ATR:FTR -weightily:ATL:FTL -weighting:ATNK:FTNK -weirdness:ARTN:FRTN -welcomely:ALKM:FLKM -welcomers:ALKM:FLKM -welcoming:ALKM:FLKM -welfarism:ALFR:FLFR -wellbeing:ALPN:FLPN -wellheads:ALTS:FLTS -weltering:ALTR:FLTR -wentworth:ANTR:FNTR -wesleyans:ASLN:FSLN -westbound:ASTP:FSTP -westering:ASTR:FSTR -westerner:ASTR:FSTR -westwards:ASTR:FSTR -whaleback:ALPK:ALPK -whaleboat:ALPT:ALPT -whalebone:ALPN:ALPN -wheatears:ATRS:ATRS -wheatmeal:ATML:ATML -wheatworm:ATRM:ATRM -wheedlers:ATLR:ATLR -wheedling:ATLN:ATLN -wheelbase:ALPS:ALPS -wheelings:ALNK:ALNK -wheelless:ALS:ALS -wheelwork:ALRK:ALRK -wheeziest:ASST:ATSS -wherefore:ARFR:ARFR -wherefrom:ARFR:ARFR -whereinto:ARNT:ARNT -whereunto:ARNT:ARNT -whereupon:ARPN:ARPN -wherewith:AR0:ART -whetstone:ATST:ATST -wheyfaced:AFST:AFST -whichever:AXFR:AKFR -whickered:AKRT:AKRT -whiffling:AFLN:AFLN -whimpered:AMPR:AMPR -whimperer:AMPR:AMPR -whimsical:AMSK:AMSK -whiningly:ANNK:ANNK -whinnying:ANNK:ANNK -whinstone:ANST:ANST -whipcords:APKR:APKR -whippings:APNK:APNK -whipsawed:APST:APST -whipstall:APST:APST -whipstock:APST:APST -whirligig:ARLJ:ARLK -whirlpool:ARLP:ARLP -whirlwind:ARLN:ARLN -whiskered:ASKR:ASKR -whispered:ASPR:ASPR -whisperer:ASPR:ASPR -whistlers:ASTL:ASTL -whistling:ASTL:ASTL -whitebait:ATPT:ATPT -whitebeam:ATPM:ATPM -whitecaps:ATKP:ATKP -whitecomb:ATKM:ATKM -whitedamp:ATTM:ATTM -whiteeyed:ATT:ATT -whitefish:ATFX:ATFX -whitehall:ATHL:ATHL -whitehead:ATHT:ATHT -whiteners:ATNR:ATNR -whiteness:ATNS:ATNS -whitening:ATNN:ATNN -whitewall:ATL:ATL -whitewash:ATX:ATX -whitfield:ATFL:ATFL -whittlers:ATLR:ATLR -whittling:ATLN:ATLN -whodunits:ATNT:ATNT -whoefoods:AFTS:AFTS -wholefood:ALFT:ALFT -wholemeal:ALML:ALML -wholeness:ALNS:ALNS -wholesale:ALSL:ALSL -wholesome:ALSM:ALSM -whooshing:AXNK:AXNK -whoredoms:ARTM:ARTM -whorishly:ARXL:ARXL -whosoever:ASFR:ASFR -wickedest:AKTS:FKTS -widemouth:ATM0:FTMT -widowered:ATRT:FTRT -widowhood:ATT:FTT -widthways:ATS:FTS -widthwise:ATS:FTS -wieldable:ALTP:FLTP -wieldiest:ALTS:FLTS -wigwagged:AKKT:FKKT -wildcards:ALTK:FLTK -wildfowls:ALTF:FLTF -willfully:ALFL:FLFL -willingly:ALNK:FLNK -williwaws:ALS:FLS -willowing:ALNK:FLNK -willpower:ALPR:FLPR -windblown:ANTP:FNTP -windbound:ANTP:FNTP -windbreak:ANTP:FNTP -windburnt:ANTP:FNTP -windchill:ANTX:FNTK -windfalls:ANTF:FNTF -windhover:ANTF:FNTF -windiness:ANTN:FNTN -windingly:ANTN:FNTN -windmills:ANTM:FNTM -windowing:ANTN:FNTN -windpipes:ANTP:FNTP -windproof:ANTP:FNTP -windrower:ANTR:FNTR -windsails:ANTS:FNTS -windsocks:ANTS:FNTS -windstorm:ANTS:FNTS -windswept:ANTS:FNTS -wineglass:ANKL:FNKL -winepress:ANPR:FNPR -wingdings:ANKT:FNKT -wingovers:ANKF:FNKF -wingspans:ANKS:FNKS -winningly:ANNK:FNNK -winnowers:ANRS:FNRS -winnowing:ANNK:FNNK -winsomely:ANSM:FNSM -winterers:ANTR:FNTR -winterfed:ANTR:FNTR -wintering:ANTR:FNTR -winterish:ANTR:FNTR -winterize:ANTR:FNTR -wintriest:ANTR:FNTR -wiredrawn:ARTR:FRTR -wiredraws:ARTR:FRTR -wirephoto:ARFT:FRFT -wireworks:ARRK:FRRK -wisconsin:ASKN:FSKN -wiseacres:ASKR:FSKR -wisecrack:ASKR:FSKR -wishbones:AXPN:FXPN -wishfully:AXFL:FXFL -wispiness:ASPN:FSPN -wistarias:ASTR:FSTR -wisterias:ASTR:FSTR -wistfully:ASTF:FSTF -witchetty:AXT:FXT -withdrawn:A0TR:FTTR -withdraws:A0TR:FTTR -withering:A0RN:FTRN -withernam:A0RN:FTRN -withholds:A0LT:FTLT -withstand:A0ST:FTST -withstood:A0ST:FTST -witlessly:ATLS:FTLS -witnessed:ATNS:FTNS -witnesser:ATNS:FTNS -witnesses:ATNS:FTNS -wittering:ATRN:FTRN -witticism:ATSS:FTSS -wittiness:ATNS:FTNS -wittingly:ATNK:FTNK -wobbliest:APLS:FPLS -woebegone:APKN:FPKN -wolfhound:ALFN:FLFN -wolfsbane:ALFS:FLFS -wollaston:ALST:FLST -wolverine:ALFR:FLFR -womanhood:AMNT:FMNT -womanized:AMNS:FMNT -womanizer:AMNS:FMNT -womanizes:AMNS:FMNT -womankind:AMNK:FMNK -womanlike:AMNL:FMNL -womenfolk:AMNF:FMNF -wonderers:ANTR:FNTR -wonderful:ANTR:FNTR -wondering:ANTR:FNTR -wonkiness:ANKN:FNKN -woodbines:ATPN:FTPN -woodblock:ATPL:FTPL -woodborer:ATPR:FTPR -woodchuck:ATXK:FTKK -woodcocks:ATKK:FTKK -woodcraft:ATKR:FTKR -woodgrain:ATKR:FTKR -woodiness:ATNS:FTNS -woodlands:ATLN:FTLN -woodlarks:ATLR:FTLR -woodlouse:ATLS:FTLS -woodmanly:ATMN:FTMN -woodnotes:ATNT:FTNT -woodpiles:ATPL:FTPL -woodruffs:ATRF:FTRF -woodscrew:ATSK:FTSK -woodsheds:ATXT:FTXT -woodshers:ATXR:FTXR -woodsiest:ATSS:FTSS -woodwinds:ATNT:FTNT -woodworks:ATRK:FTRK -woodyards:ATRT:FTRT -woolliest:ALST:FLST -woolpacks:ALPK:FLPK -woolworth:ALR0:FLRT -wooziness:ASNS:FTSN -worcester:ARSS:FRSS -wordbooks:ARTP:FRTP -wordbreak:ARTP:FRTP -wordiness:ARTN:FRTN -wordsmith:ARTS:FRTS -workbench:ARKP:FRKP -workbooks:ARKP:FRKP -workforce:ARKF:FRKF -workhorse:ARKR:FRKR -workhouse:ARKS:FRKS -workloads:ARKL:FRKL -workmates:ARKM:FRKM -workpiece:ARKP:FRKP -workplace:ARKP:FRKP -workrooms:ARKR:FRKR -worksheet:ARKX:FRKX -workshops:ARKX:FRKX -workspace:ARKS:FRKS -worktable:ARKT:FRKT -workweeks:ARKK:FRKK -workwoman:ARKM:FRKM -workwomen:ARKM:FRKM -worldlier:ARLT:FRLT -worldling:ARLT:FRLT -worldwide:ARLT:FRLT -wormcasts:ARMK:FRMK -wormeries:ARMR:FRMR -wormflies:ARMF:FRMF -wormholed:ARML:FRML -wormholes:ARML:FRML -worminess:ARMN:FRMN -wormwoods:ARMT:FRMT -worriedly:ARTL:FRTL -worriment:ARMN:FRMN -worrisome:ARSM:FRSM -worrywart:ARRT:FRRT -worsement:ARSM:FRSM -worsening:ARSN:FRSN -worshiped:ARXP:FRXP -worshiper:ARXP:FRXP -worthiest:AR0S:FRTS -worthless:AR0L:FRTL -woundable:ANTP:FNTP -woundless:ANTL:FNTL -woundwort:ANTR:FNTR -wraithing:R0NK:RTNK -wranglers:RNKL:RNKL -wrangling:RNKL:RNKL -wrapovers:RPFR:RPFR -wrappings:RPNK:RPNK -wrapround:RPRN:RPRN -wrathless:R0LS:RTLS -wreathing:R0NK:RTNK -wrenching:RNXN:RNKN -wrestlers:RSTL:RSTL -wrestling:RSTL:RSTL -wrigglers:RKLR:RKLR -wrigglier:RKLR:RKLR -wriggling:RKLN:RKLN -wrinkling:RNKL:RNKL -wristband:RSTP:RSTP -wristdrop:RSTR:RSTR -wristlets:RSTL:RSTL -wristlock:RSTL:RSTL -wrongdoer:RNKT:RNKT -wrongness:RNKN:RNKN -wulfenite:ALFN:FLFN -wuthering:A0RN:FTRN -wyandotte:ANTT:FNTT -xantheine:SN0N:SNTN -xanthippe:SN0P:SNTP -xanthomas:SNTM:SNTM -xanthoses:SN0S:SNTS -xanthosis:SN0S:SNTS -xenically:SNKL:SNKL -xenocryst:SNKR:SNKR -xenogenic:SNJN:SNKN -xenograft:SNKR:SNKR -xenoliths:SNL0:SNLT -xenomenia:SNMN:SNMN -xenophile:SNFL:SNFL -xenophobe:SNFP:SNFP -xerically:SRKL:SRKL -xeroderma:SRTR:SRTR -xeromenia:SRMN:SRMN -xerophagy:SRFK:SRFJ -xerophile:SRFL:SRFL -xerophyte:SRFT:SRFT -xiphoidal:SFTL:SFTL -xylograph:SLKR:SLKR -xylophone:SLFN:SLFN -yachtsman:AKTS:AKTS -yachtsmen:AKTS:AKTS -yammerers:AMRR:AMRR -yammering:AMRN:AMRN -yankeeism:ANKS:ANKS -yardstick:ARTS:ARTS -yarmelkes:ARML:ARML -yarmulkes:ARML:ARML -yawningly:ANNK:ANNK -yeanlings:ANLN:ANLN -yearbooks:ARPK:ARPK -yearlings:ARLN:ARLN -yearnings:ARNN:ARNN -yeastiest:ASTS:ASTS -yeastless:ASTL:ASTL -yeastlike:ASTL:ASTL -yellowest:ALST:ALST -yellowing:ALNK:ALNK -yellowish:ALX:ALX -yemenites:AMNT:AMNT -yeshivahs:AXFS:AXFS -yeshivoth:AXF0:AXFT -yesterday:ASTR:ASTR -yestereve:ASTR:ASTR -yieldable:ALTP:ALTP -yohimbine:AHMP:AHMP -yorkshire:ARKX:ARKX -youngling:ANKL:ANLN -youngster:ANKS:ANKS -ytterbium:ATRP:ATRP -yugoslavs:AKSL:AKSL -zachariah:SKR:SKR -zacharias:SKRS:SKRS -zanzibari:SNSP:SNSP -zealander:SLNT:SLNT -zealously:SLSL:SLSL -zechariah:SXR:SKR -zeitgeist:STJS:STKS -zenanaing:SNNN:SNNN -zephaniah:SFN:SFN -zeppelins:SPLN:SPLN -zestfully:SSTF:SSTF -zeugmatic:SKMT:SKMT -ziggurats:SKRT:SKRT -zigzagged:SKSK:SKSK -zillionth:SLN0:SLNT -zincalism:SNKL:SNKL -zincotype:SNKT:SNKT -zinkenite:SNKN:SNKN -zircalloy:SRKL:SRKL -zirconate:SRKN:SRKN -zirconium:SRKN:SRKN -zitherist:S0RS:STRS -zonifugal:SNFK:SNFK -zonipetal:SNPT:SNPT -zonulitis:SNLT:SNLT -zonulyses:SNLS:SNLS -zonulysis:SNLS:SNLS -zoochores:SXRS:SKRS -zoodermic:STRM:STRM -zoogenous:SJNS:SKNS -zoogloeal:SKLL:SKLL -zoogonies:SKNS:SKNS -zoography:SKRF:SKRF -zookeeper:SKPR:SKPR -zoolagnia:SLN:SLKN -zoologies:SLJS:SLKS -zoologist:SLJS:SLKS -zoometric:SMTR:SMTR -zoonomies:SNMS:SNMS -zoophilia:SFL:SFL -zoophilic:SFLK:SFLK -zoophobia:SFP:SFP -zoophytes:SFTS:SFTS -zoophytic:SFTK:SFTK -zooplasty:SPLS:SPLS -zoosporic:SSPR:SSPR -zoosterol:SSTR:SSTR -zootomist:STMS:STMS -zoroaster:SRST:SRST -zosteroid:SSTR:SSTR -zucchetto:SXT:SXT -zucchinis:SXNS:SXNS -zygodacty:SKTK:SKTK -zygomatic:SKMT:SKMT -zygophyte:SKFT:SKFT -zygosperm:SKSP:SKSP -zygospore:SKSP:SKSP -zygostyle:SKST:SKST -zygotical:SKTK:SKTK -zymogenic:SMJN:SMKN -zymologic:SMLJ:SMLK -zymolyses:SMLS:SMLS -zymolysis:SMLS:SMLS -zymoscope:SMSK:SMSK -zymotical:SMTK:SMTK -aardwolves:ARTL:ARTL -abacterial:APKT:APKT -abalienate:APLN:APLN -abandonees:APNT:APNT -abandoners:APNT:APNT -abandoning:APNT:APNT -abasements:APSM:APSM -abashments:APXM:APXM -abatements:APTM:APTM -abberation:APRX:APRX -abbotships:APTX:APTX -abbreviate:APRF:APRF -abdicating:APTK:APTK -abdication:APTK:APTK -abdicative:APTK:APTK -abdicators:APTK:APTK -abdominous:APTM:APTM -abducentes:APTS:APTS -abductions:APTK:APTK -abductores:APTK:APTK -aberdonian:APRT:APRT -aberrantia:APRN:APRN -aberrantly:APRN:APRN -aberration:APRX:APRX -abhorrence:APRN:APRN -abiogenist:APJN:APKN -abiotrophy:APTR:APTR -abirritant:APRT:APRT -abirritate:APRT:APRT -abjections:APJK:APJK -abjectness:APJK:APJK -abjudicate:APJT:APJT -abjuration:APJR:APJR -abjuratory:APJR:APJR -ablastemic:APLS:APLS -ablatively:APLT:APLT -abnegating:APNK:APNK -abnegation:APNK:APNK -abnegators:APNK:APNK -abnegatory:APNK:APNK -abnormally:APNR:APNR -abolishers:APLX:APLX -abolishing:APLX:APLX -abominable:APMN:APMN -abominably:APMN:APMN -abominated:APMN:APMN -abominates:APMN:APMN -abominator:APMN:APMN -aboriginal:APRJ:APRK -aborigines:APRJ:APRK -aborticide:APRT:APRT -abortional:APRX:APRX -abortively:APRT:APRT -aboveboard:APFP:APFP -abrasively:APRS:APRS -abreacting:APRK:APRK -abreaction:APRK:APRK -abreactive:APRK:APRK -abridgable:APRT:APRT -abridgment:APRT:APRT -abrogating:APRK:APRK -abrogation:APRK:APRK -abrogative:APRK:APRK -abrogators:APRK:APRK -abruptness:APRP:APRP -abscessing:APSS:APSS -abscissaes:APSS:APSS -abscission:APSS:APSS -absconders:APSK:APSK -absconding:APSK:APSK -absentmind:APSN:APSN -absinthiin:APSN:APSN -absinthism:APSN:APSN -absinthium:APSN:APSN -absolutely:APSL:APSL -absolution:APSL:APSL -absolutism:APSL:APSL -absolutist:APSL:APSL -absolutory:APSL:APSL -absolvable:APSL:APSL -absolvitor:APSL:APSL -absorbable:APSR:APSR -absorbance:APSR:APSR -absorbency:APSR:APSR -absorbtion:APSR:APSR -absorption:APSR:APSR -absorptive:APSR:APSR -abstainers:APST:APST -abstaining:APST:APST -abstemious:APST:APST -abstention:APST:APST -abstergent:APST:APST -abstinence:APST:APST -abstracted:APST:APST -abstracter:APST:APST -abstractly:APST:APST -abstractor:APST:APST -abstrusely:APST:APST -absurdists:APSR:APSR -absurdness:APSR:APSR -abundances:APNT:APNT -abundantly:APNT:APNT -abyssinian:APSN:APSN -academical:AKTM:AKTM -acanthomas:AKNT:AKNT -acanthoses:AKN0:AKNT -acanthosis:AKN0:AKNT -acanthotic:AKN0:AKNT -acanthuses:AKN0:AKNT -acaricidal:AKRS:AKRS -acarinoses:AKRN:AKRN -acarinosis:AKRN:AKRN -acatalepsy:AKTL:AKTL -accelerant:AKSL:AKSL -accelerate:AKSL:AKSL -accentuate:AKSN:AKSN -acceptable:AKSP:AKSP -acceptably:AKSP:AKSP -acceptance:AKSP:AKSP -acceptedly:AKSP:AKSP -accessible:AKSS:AKSS -accessibly:AKSS:AKSS -accessions:AKSS:AKSS -accessorii:AKSS:AKSS -accidental:AKST:AKST -accidently:AKST:AKST -acciderint:AKST:AKST -acclaimers:AKLM:AKLM -acclaiming:AKLM:AKLM -acclimated:AKLM:AKLM -acclimates:AKLM:AKLM -accomplice:AKMP:AKMP -accomplies:AKMP:AKMP -accomplish:AKMP:AKMP -accordable:AKRT:AKRT -accordance:AKRT:AKRT -accordions:AKRT:AKRT -accostable:AKST:AKST -accoucheur:AKXR:AKKR -accountant:AKNT:AKNT -accounters:AKNT:AKNT -accounting:AKNT:AKNT -accoutered:AKTR:AKTR -accoutring:AKTR:AKTR -accredited:AKRT:AKRT -accreditee:AKRT:AKRT -accrescent:AKRS:AKRS -accretions:AKRX:AKRX -accruement:AKRM:AKRM -accumbency:AKMP:AKMP -accumulate:AKML:AKML -accuracies:AKRS:AKRX -accurately:AKRT:AKRT -accursedly:AKRS:AKRS -accusation:AKSX:AKSX -accusative:AKST:AKST -accusatory:AKST:AKST -accusatrix:AKST:AKST -accusingly:AKSN:AKSN -accustomed:AKST:AKST -acephalous:ASFL:ASFL -acerbating:ASRP:ASRP -acervately:ASRF:ASRF -acervuline:ASRF:ASRF -acetabular:ASTP:ASTP -acetabulum:ASTP:ASTP -acetanilid:ASTN:ASTN -acetarsone:ASTR:ASTR -acetifying:ASTF:ASTF -acetolyses:ASTL:ASTL -acetolysis:ASTL:ASTL -acetonemia:ASTN:ASTN -acetonemic:ASTN:ASTN -acetonuria:ASTN:ASTN -achievable:AXFP:AKFP -achilleine:AXLN:AKLN -achroacyte:AKRS:AKRS -achromasia:AKRM:AKRM -achromatic:AKRM:AKRM -achromatin:AKRM:AKRM -acidifiers:ASTF:ASTF -acidifying:ASTF:ASTF -acidimetry:ASTM:ASTM -acidophile:ASTF:ASTF -acidulated:ASTL:ASTL -acidulates:ASTL:ASTL -acotyledon:AKTL:AKTL -acoustical:AKST:AKST -acquainted:AKNT:AKNT -acquiesced:AKST:AKST -acquiesces:AKSS:AKSS -acquirable:AKRP:AKRP -acquittals:AKTL:AKTL -acquitting:AKTN:AKTN -acridities:AKRT:AKRT -acrimonies:AKRM:AKRM -acroataxia:AKRT:AKRT -acrobatics:AKRP:AKRP -acromegaly:AKRM:AKRM -acromicria:AKRM:AKRM -acronychal:AKRN:AKRN -acrophobia:AKRF:AKRF -acrostical:AKRS:AKRS -actinolite:AKTN:AKTN -actinology:AKTN:AKTN -actinopoda:AKTN:AKTN -actionable:AKXN:AKXN -actionably:AKXN:AKXN -activating:AKTF:AKTF -activation:AKTF:AKTF -activators:AKTF:AKTF -activeness:AKTF:AKTF -activistic:AKTF:AKTF -activities:AKTF:AKTF -actomyosin:AKTM:AKTM -actualized:AKTL:AKTL -actualizes:AKTL:AKTL -acuminated:AKMN:AKMN -acyclicity:ASKL:ASKL -adactylous:ATKT:ATKT -adamantine:ATMN:ATMN -adaptation:ATPT:ATPT -adaptively:ATPT:ATPT -adaptivity:ATPT:ATPT -addictions:ATKX:ATKX -addisonian:ATSN:ATSN -additament:ATTM:ATTM -additional:ATXN:ATXN -additively:ATTF:ATTF -additivity:ATTF:ATTF -addressees:ATRS:ATRS -addressers:ATRS:ATRS -addressing:ATRS:ATRS -addressors:ATRS:ATRS -adduceable:ATSP:ATSP -adenectomy:ATNK:ATNK -adenitides:ATNT:ATNT -adenitises:ATNT:ATNT -adenoidism:ATNT:ATNT -adenomyoma:ATNM:ATNM -adenopathy:ATNP:ATNP -adenovirus:ATNF:ATNF -adequacies:ATKS:ATKX -adequately:ATKT:ATKT -adequation:ATKX:ATKX -adherently:ATRN:ATRN -adhesional:ATSN:ATXN -adhesively:ATSF:ATSF -adiactinic:ATKT:ATKT -adjacently:ATJS:ATJS -adjectival:ATJK:ATJK -adjectives:ATJK:ATJK -adjourning:ATJR:ATJR -adjudicata:ATJT:ATJT -adjudicate:ATJT:ATJT -adjunction:ATJN:ATJN -adjunctive:ATJN:ATJN -adjuration:ATJR:ATJR -adjuratory:ATJR:ATJR -adjustable:ATJS:ATJS -adjustably:ATJS:ATJS -adjustment:ATJS:ATJS -admeasured:ATMS:ATMS -admeasures:ATMS:ATMS -administer:ATMN:ATMN -admiration:ATMR:ATMR -admiringly:ATMR:ATMR -admissible:ATMS:ATMS -admissibly:ATMS:ATMS -admissions:ATMS:ATMS -admittance:ATMT:ATMT -admittedly:ATMT:ATMT -admixtures:ATMK:ATMK -admonished:ATMN:ATMN -admonisher:ATMN:ATMN -admonishes:ATMN:ATMN -admonition:ATMN:ATMN -admonitors:ATMN:ATMN -admonitory:ATMN:ATMN -adolescent:ATLS:ATLS -adoptively:ATPT:ATPT -adornments:ATRN:ATRN -adrenaline:ATRN:ATRN -adrenalism:ATRN:ATRN -adrenalone:ATRN:ATRN -adrenergen:ATRN:ATRN -adrenergic:ATRN:ATRN -adrogating:ATRK:ATRK -adrogation:ATRK:ATRK -adroitness:ATRT:ATRT -adsorbable:ATSR:ATSR -adsorbates:ATSR:ATSR -adsorbents:ATSR:ATSR -adsorption:ATSR:ATSR -adsorptive:ATSR:ATSR -adulterant:ATLT:ATLT -adulterate:ATLT:ATLT -adulterers:ATLT:ATLT -adulteress:ATLT:ATLT -adulteries:ATLT:ATLT -adulterine:ATLT:ATLT -adulterous:ATLT:ATLT -adumbrated:ATMP:ATMP -adumbrates:ATMP:ATMP -advantaged:ATFN:ATFN -advantages:ATFN:ATFN -adventicia:ATFN:ATFN -adventists:ATFN:ATFN -adventitia:ATFN:ATFN -adventured:ATFN:ATFN -adventurer:ATFN:ATFN -adventures:ATFN:ATFN -advertence:ATFR:ATFR -advertised:ATFR:ATFR -advertiser:ATFR:ATFR -advertises:ATFR:ATFR -advisatory:ATFS:ATFS -advisement:ATFS:ATFS -advisories:ATFS:ATFS -advocacies:ATFK:ATFK -advocating:ATFK:ATFK -advocation:ATFK:ATFK -advocators:ATFK:ATFK -advocatory:ATFK:ATFK -aerialists:ARLS:ARLS -aeriferous:ARFR:ARFR -aerobacter:ARPK:ARPK -aerobatics:ARPT:ARPT -aerobioses:ARPS:ARPS -aerobiosis:ARPS:ARPS -aerobiotic:ARPT:ARPT -aerodontia:ARTN:ARTN -aerodromes:ARTR:ARTR -aerogenous:ARJN:ARKN -aerogramme:ARKR:ARKR -aerologist:ARLJ:ARLK -aerometric:ARMT:ARMT -aeronautic:ARNT:ARNT -aerootitis:ARTT:ARTT -aerophagia:ARFJ:ARFK -aerophobia:ARFP:ARFP -aeroplanes:ARPL:ARPL -aerosolize:ARSL:ARSL -aerosphere:ARSF:ARSF -aerostatic:ARST:ARST -aesculetin:ASKL:ASKL -aesthetics:AS0T:ASTT -aestivated:ASTF:ASTF -aestivates:ASTF:ASTF -affability:AFPL:AFPL -affectedly:AFKT:AFKT -affections:AFKX:AFKX -afferently:AFRN:AFRN -affiancing:AFNS:AFNS -affidavits:AFTF:AFTF -affiliated:AFLT:AFLT -affiliates:AFLT:AFLT -affinities:AFNT:AFNT -affirmable:AFRM:AFRM -affirmably:AFRM:AFRM -affirmance:AFRM:AFRM -affirmants:AFRM:AFRM -affixation:AFKS:AFKS -affixtures:AFKS:AFKS -afflatuses:AFLT:AFLT -afflicting:AFLK:AFLK -affliction:AFLK:AFLK -afflictive:AFLK:AFLK -affluently:AFLN:AFLN -affordable:AFRT:AFRT -afforested:AFRS:AFRS -affricates:AFRK:AFRK -affronting:AFRN:AFRN -aficionada:AFSN:AFXN -aficionado:AFSN:AFXN -africanise:AFRK:AFRK -afterbirth:AFTR:AFTR -afterbrain:AFTR:AFTR -afterdecks:AFTR:AFTR -afterglows:AFTR:AFTR -afterimage:AFTR:AFTR -afterlives:AFTR:AFTR -aftermaths:AFTR:AFTR -afternoons:AFTR:AFTR -afterpains:AFTR:AFTR -aftershave:AFTR:AFTR -aftershock:AFTR:AFTR -aftertaste:AFTR:AFTR -afterwards:AFTR:AFTR -agalactous:AKLK:AKLK -agendaless:AJNT:AKNT -agglutinin:AKLT:AKLT -aggrandize:AKRN:AKRN -aggravated:AKRF:AKRF -aggravates:AKRF:AKRF -aggravator:AKRF:AKRF -aggregated:AKRK:AKRK -aggregates:AKRK:AKRK -aggression:AKRS:AKRS -aggressive:AKRS:AKRS -aggressors:AKRS:AKRS -aggrieving:AKRF:AKRF -agistments:AJST:AKST -agitatedly:AJTT:AKTT -agitations:AJTX:AKTX -agnosterol:AKNS:ANST -agonisedly:AKNS:AKNS -agreements:AKRM:AKRM -agronomist:AKRN:AKRN -agrypnotic:AKRP:AKRP -airbrasive:ARPR:ARPR -airbrushed:ARPR:ARPR -airbrushes:ARPR:ARPR -airdropped:ARTR:ARTR -airfreight:ARFR:ARFR -airlifting:ARLF:ARLF -airmailing:ARML:ARML -airmanship:ARMN:ARMN -airstreams:ARST:ARST -alabamians:ALPM:ALPM -alacritous:ALKR:ALKR -alarmclock:ALRM:ALRM -alarmingly:ALRM:ALRM -albaspidin:ALPS:ALPS -albicantes:ALPK:ALPK -albinistic:ALPN:ALPN -albugineae:ALPJ:ALPK -albumenize:ALPM:ALPM -albuminate:ALPM:ALPM -albuminoid:ALPM:ALPM -albuminous:ALPM:ALPM -alchemical:ALXM:ALKM -alchemists:ALXM:ALKM -alcheringa:ALXR:ALKR -alcibiades:ALSP:ALSP -alcoholate:ALKH:ALKH -alcoholics:ALKH:ALKH -alcoholism:ALKH:ALKH -alcoholist:ALKH:ALKH -alcoholize:ALKH:ALKH -aldermanic:ALTR:ALTR -aldermanry:ALTR:ALTR -alderwoman:ALTR:ALTR -alderwomen:ALTR:ALTR -aldohexose:ALTH:ALTH -alexandria:ALKS:ALKS -algebraist:ALJP:ALKP -algolagnia:ALKL:ALKL -algologist:ALKL:ALKL -algonquian:ALKN:ALKN -algonquins:ALKN:ALKN -algophilia:ALKF:ALKF -algophobia:ALKF:ALKF -algophobic:ALKF:ALKF -algorithms:ALKR:ALKR -alienating:ALNT:ALNT -alienation:ALNX:ALNX -alienators:ALNT:ALNT -alignments:ALNM:ALKN -alimentary:ALMN:ALMN -alkalinity:ALKL:ALKL -alkalinize:ALKL:ALKL -alkalizing:ALKL:ALKL -alkavervir:ALKF:ALKF -alkylamine:ALKL:ALKL -alkylation:ALKL:ALKL -allegation:ALKX:ALKX -allegators:ALKT:ALKT -allegeable:ALJP:ALKP -allegement:ALJM:ALKM -allegiance:ALJN:ALKN -allegories:ALKR:ALKR -allegorist:ALKR:ALKR -allegorize:ALKR:ALKR -allegretto:ALKR:AL K -allergenic:ALRJ:ALRK -allergists:ALRJ:ALRK -alleviated:ALFT:ALFT -alleviater:ALFT:ALFT -alleviates:ALFT:ALFT -alleviator:ALFT:ALFT -allhallows:ALLS:ALLS -alliaceous:ALSS:ALSS -alligation:ALKX:ALKX -alligators:ALKT:ALKT -alliterate:ALTR:ALTR -allocatees:ALKT:ALKT -allocating:ALKT:ALKT -allocation:ALKX:ALKX -allocators:ALKT:ALKT -allochiria:ALXR:ALKR -allocortex:ALKR:ALKR -allocution:ALKX:ALKX -alloerotic:ALRT:ALRT -allogamies:ALKM:ALKM -allogamous:ALKM:ALKM -allogeneic:ALJN:ALKN -allographs:ALKR:ALKR -allomerism:ALMR:ALMR -allometric:ALMT:ALMT -allometron:ALMT:ALMT -allopathic:ALP0:ALPT -allopatric:ALPT:ALPT -allophanic:ALFN:ALFN -allophinic:ALFN:ALFN -allophones:ALFN:ALFN -allophonic:ALFN:ALFN -alloplasms:ALPL:ALPL -allosteric:ALST:ALST -allotments:ALTM:ALTM -allotropes:ALTR:ALTR -allotropic:ALTR:ALTR -allottable:ALTP:ALTP -allotypies:ALTP:ALTP -allowances:ALNS:ALNS -alloxantin:ALKS:ALKS -alloxazine:ALKS:ALKS -allurement:ALRM:ALRM -alluringly:ALRN:ALRN -allusively:ALSF:ALSF -allylamine:ALLM:ALLM -almandines:ALMN:ALMN -almandites:ALMN:ALMN -almightily:ALMT:ALMT -almsgiving:ALMS:ALMS -almshouses:ALMX:ALMX -alodialist:ALTL:ALTL -alodiality:ALTL:ALTL -alongshore:ALNK:ALNK -alpenhorns:ALPN:ALPN -alpenstock:ALPN:ALPN -alpestrine:ALPS:ALPS -alphabetic:ALFP:ALFP -alphameric:ALFM:ALFM -altarpiece:ALTR:ALTR -alteration:ALTR:ALTR -alterative:ALTR:ALTR -altercated:ALTR:ALTR -altercates:ALTR:ALTR -alternaria:ALTR:ALTR -alternated:ALTR:ALTR -alternates:ALTR:ALTR -alternator:ALTR:ALTR -altimetric:ALTM:ALTM -altogether:ALTK:ALTK -altruistic:ALTR:ALTR -aluminized:ALMN:ALMN -aluminizes:ALMN:ALMN -aluminoses:ALMN:ALMN -aluminosis:ALMN:ALMN -alveolaris:ALFL:ALFL -alveolarly:ALFL:ALFL -amalgamate:AMLK:AMLK -amantadine:AMNT:AMNT -amanuenses:AMNN:AMNN -amanuensis:AMNN:AMNN -amaranthes:AMRN:AMRN -amassments:AMSM:AMSM -amateurish:AMTR:AMTR -amateurism:AMTR:AMTR -amazonites:AMSN:AMSN -ambassador:AMPS:AMPS -ambidexter:AMPT:AMPT -ambisexual:AMPS:AMPS -ambisonics:AMPS:AMPS -ambivalent:AMPF:AMPF -amboceptor:AMPS:AMPS -ambosexual:AMPS:AMPS -ambulances:AMPL:AMPL -ambulating:AMPL:AMPL -ambulation:AMPL:AMPL -ambulators:AMPL:AMPL -ambulatory:AMPL:AMPL -ambuscaded:AMPS:AMPS -ambuscades:AMPS:AMPS -ambushment:AMPX:AMPX -ameliorant:AMLR:AMLR -ameliorate:AMLR:AMLR -ameloblast:AMLP:AMLP -amendatory:AMNT:AMNT -amendments:AMNT:AMNT -amenorrhea:AMNR:AMNR -amercement:AMRS:AMRS -amerciable:AMRS:AMRX -amerindian:AMRN:AMRN -amiability:AMPL:AMPL -aminolyses:AMNL:AMNL -aminolysis:AMNL:AMNL -ammoniacal:AMNK:AMNK -ammoniated:AMNT:AMNT -ammunition:AMNX:AMNX -amnestying:AMNS:AMNS -amnioscope:AMNS:AMNS -amnioscopy:AMNS:AMNS -amodiaquin:AMTK:AMTK -amoebiases:AMPS:AMPS -amoebiasis:AMPS:AMPS -amoebocyte:AMPS:AMPS -amorphuses:AMRF:AMRF -amortizing:AMRT:AMRT -ampersands:AMPR:AMPR -amphiaster:AMFS:AMFS -amphibians:AMFP:AMFP -amphibious:AMFP:AMFP -amphiboles:AMFP:AMFP -amphibolic:AMFP:AMFP -amphigoric:AMFK:AMFK -amphimixes:AMFM:AMFM -amphimixis:AMFM:AMFM -amphiploid:AMFP:AMFP -amphoteric:AMFT:AMFT -ampicillin:AMPS:AMPS -ampliation:AMPL:AMPL -amplifiers:AMPL:AMPL -amplifying:AMPL:AMPL -amplitudes:AMPL:AMPL -ampullulae:AMPL:AMPL -amputating:AMPT:AMPT -amputation:AMPT:AMPT -amputators:AMPT:AMPT -amusements:AMSM:AMSM -amygdalate:AMKT:AMKT -amygdaline:AMKT:AMKT -amygdaloid:AMKT:AMKT -amylaceous:AMLS:AMLS -amylolyses:AMLL:AMLL -amylolysis:AMLL:AMLL -amyloplast:AMLP:AMLP -amyotrophy:AMTR:AMTR -anabaptism:ANPP:ANPP -anabaptist:ANPP:ANPP -anabolitic:ANPL:ANPL -anachorism:ANKR:ANKR -anachronic:ANKR:ANKR -anacoustic:ANKS:ANKS -anaculture:ANKL:ANKL -anageneses:ANJN:ANKN -anagenesis:ANJN:ANKN -anagenetic:ANJN:ANKN -analgesics:ANLJ:ANLK -analogical:ANLJ:ANLK -analogists:ANLJ:ANLK -analogized:ANLJ:ANLK -analogizes:ANLJ:ANLK -analysands:ANLS:ANLS -analytical:ANLT:ANLT -analyzable:ANLS:ANLS -anamnestic:ANMN:ANMN -anamnionic:ANMN:ANMN -anamniotic:ANMN:ANMN -anaplasmas:ANPL:ANPL -anaplastic:ANPL:ANPL -anarchical:ANRX:ANRK -anarchisms:ANRX:ANRK -anarchists:ANRX:ANRK -anarithmia:ANR0:ANRT -anarthrous:ANR0:ANRT -anasarcous:ANSR:ANSR -anastigmat:ANST:ANST -anastomose:ANST:ANST -anatolians:ANTL:ANTL -anatomical:ANTM:ANTM -anatomists:ANTM:ANTM -anatomized:ANTM:ANTM -anatomizes:ANTM:ANTM -ancestress:ANSS:ANSS -ancestries:ANSS:ANSS -anchorages:ANXR:ANKR -anchorites:ANXR:ANKR -anchoritic:ANXR:ANKR -anchorless:ANXR:ANKR -anchyloses:ANXL:ANKL -anchylosis:ANXL:ANKL -anchylotic:ANXL:ANKL -ancipitous:ANSP:ANSP -andalusian:ANTL:ANTL -androgenic:ANTR:ANTR -andromache:ANTR:ANTR -andromachi:ANTR:ANTR -androstane:ANTR:ANTR -anecdotage:ANKT:ANKT -anecdotist:ANKT:ANKT -anemochore:ANMX:ANMK -anemograph:ANMK:ANMK -anemometry:ANMM:ANMM -anemophily:ANMF:ANMF -anemoscope:ANMS:ANMS -anenterous:ANNT:ANNT -anesthesia:ANS0:ANST -anesthetic:ANS0:ANST -anetoderma:ANTT:ANTT -aneuploidy:ANPL:ANPL -aneurismal:ANRS:ANRS -aneurysmal:ANRS:ANRS -angelology:ANJL:ANKL -angiectomy:ANJK:ANKK -angiitides:ANJT:ANKT -angioblast:ANJP:ANKP -angioedema:ANJT:ANKT -angiogenic:ANJJ:ANKK -angiopathy:ANJP:ANKP -angiospasm:ANJS:ANKS -angiosperm:ANJS:ANKS -angiostomy:ANJS:ANKS -angiotonic:ANJT:ANKT -angiotonin:ANJT:ANKT -angleworms:ANKL:ANKL -anglicisms:ANKL:ANLS -anglicized:ANKL:ANLS -anglicizes:ANKL:ANLS -anglophile:ANKL:ANKL -anglophobe:ANKL:ANKL -anguishing:ANKX:ANKX -angularity:ANKL:ANKL -angulation:ANKL:ANKL -anhalonium:ANLN:ANLN -anhidroses:ANTR:ANTR -anhidrosis:ANTR:ANTR -anhidrotic:ANTR:ANTR -anhydremia:ANTR:ANTR -anhydrides:ANTR:ANTR -anhydroses:ANTR:ANTR -anhydrosis:ANTR:ANTR -anhydrotic:ANTR:ANTR -anilinctus:ANLN:ANLN -animadvert:ANMT:ANMT -animalcule:ANML:ANML -animalists:ANML:ANML -animatedly:ANMT:ANMT -animations:ANMX:ANMX -anisocoria:ANSK:ANSK -anisogamic:ANSK:ANSK -anisospore:ANSS:ANSS -anisotropy:ANST:ANST -anklebones:ANKL:ANKL -annalistic:ANLS:ANLS -annexation:ANKS:ANKS -annihilate:ANHL:ANHL -annotating:ANTT:ANTT -annotation:ANTX:ANTX -annotative:ANTT:ANTT -annotators:ANTT:ANTT -announcers:ANNS:ANNS -announcing:ANNS:ANNS -annoyances:ANNS:ANNS -annoyingly:ANNK:ANNK -annualized:ANLS:ANLS -annualizes:ANLS:ANLS -annuitants:ANTN:ANTN -annularity:ANLR:ANLR -annulation:ANLX:ANLX -annullable:ANLP:ANLP -annulments:ANLM:ANLM -annunciate:ANNS:ANNX -anodically:ANTK:ANTK -anoestrous:ANST:ANST -anointment:ANNT:ANNT -anopheline:ANFL:ANFL -anophelism:ANFL:ANFL -anorexiant:ANRK:ANRK -anorthopia:ANR0:ANRT -answerable:ANSR:ANSR -answerably:ANSR:ANSR -antagonism:ANTK:ANTK -antagonist:ANTK:ANTK -antagonize:ANTK:ANTK -antarctica:ANTR:ANTR -antebellum:ANTP:ANTP -antecardia:ANTK:ANTK -antecedent:ANTS:ANTS -anteceding:ANTS:ANTS -antecessor:ANTS:ANTS -antechoirs:ANTX:ANTK -antecornua:ANTK:ANTK -antedating:ANTT:ANTT -antemortem:ANTM:ANTM -antepartum:ANTP:ANTP -antepenult:ANTP:ANTP -anteriorly:ANTR:ANTR -anteverted:ANTF:ANTF -anthelices:AN0L:ANTL -anthelixes:AN0L:ANTL -antheridia:AN0R:ANTR -anthracene:AN0R:ANTR -anthracite:AN0R:ANTR -anthracoid:AN0R:ANTR -anthropoid:AN0R:ANTR -antianemic:ANXN:ANXN -antibioses:ANTP:ANTP -antibiosis:ANTP:ANTP -antibiotic:ANTP:ANTP -antibodies:ANTP:ANTP -antibusing:ANTP:ANTP -anticancer:ANTK:ANTK -anticardia:ANTK:ANTK -antichlors:ANTX:ANTK -antichrist:ANTX:ANTK -anticipant:ANTS:ANTS -anticipate:ANTS:ANTS -anticlimax:ANTK:ANTK -anticlinal:ANTK:ANTK -anticlines:ANTK:ANTK -antidromic:ANTT:ANTT -antiemetic:ANTM:ANTM -antienzyme:ANTN:ANTN -antifreeze:ANTF:ANTF -antifungal:ANTF:ANTF -antiheroes:ANTH:ANTH -antiheroic:ANTH:ANTH -antiknocks:ANTK:ANTK -antilobium:ANTL:ANTL -antilogies:ANTL:ANTL -antiluetic:ANTL:ANTL -antimatter:ANTM:ANTM -antimerism:ANTM:ANTM -antimonial:ANTM:ANTM -antimonide:ANTM:ANTM -antimonies:ANTM:ANTM -antimonous:ANTM:ANTM -antinoises:ANTN:ANTN -antinomian:ANTN:ANTN -antinomies:ANTN:ANTN -antinovels:ANTN:ANTN -antipastos:ANTP:ANTP -antiphonal:ANTF:ANTF -antiphonic:ANTF:ANTF -antipodean:ANTP:ANTP -antiproton:ANTP:ANTP -antipyrine:ANTP:ANTP -antiquated:ANTK:ANTK -antiquates:ANTK:ANTK -antisepses:ANTS:ANTS -antisepsis:ANTS:ANTS -antiseptic:ANTS:ANTS -antiserums:ANTS:ANTS -antisocial:ANTS:ANTS -antistatic:ANTS:ANTS -antitheism:ANT0:ANTT -antitheist:ANT0:ANTT -antithenar:ANT0:ANTT -antitheses:ANT0:ANTT -antithesis:ANT0:ANTT -antithetic:ANT0:ANTT -antitoxins:ANTT:ANTT -antitrades:ANTT:ANTT -antitragus:ANTT:ANTT -antitropic:ANTT:ANTT -antitumors:ANTT:ANTT -antivenene:ANTF:ANTF -antivenins:ANTF:ANTF -antiworlds:ANTR:ANTR -antoinette:ANTN:ANTN -antonymous:ANTN:ANTN -antrorsely:ANTR:ANTR -antrostomy:ANTR:ANTR -apartments:APRT:APRT -aphasmidia:AFSM:AFSM -aphorisers:AFRS:AFRS -aphoristic:AFRS:AFRS -aphorizing:AFRS:AFRS -aphrodisia:AFRT:AFRT -apicolyses:APKL:APKL -apicolysis:APKL:APKL -apiculture:APKL:APKL -aplacental:APLS:APLS -aplanatism:APLN:APLN -apocalypse:APKL:APKL -apochromat:APKR:APKR -apocryphal:APKR:APKR -apodeictic:APTK:APTK -apoenzymes:APNS:APNS -apolitical:APLT:APLT -apollonian:APLN:APLN -apologetic:APLK:APLK -apologists:APLJ:APLK -apologized:APLJ:APLK -apologizer:APLJ:APLK -apologizes:APLJ:APLK -apophthegm:APF0:APFT -apophysate:APFS:APFS -apophyseal:APFS:APFS -apophysial:APFS:APFX -apoplectic:APPL:APPL -apoplexies:APPL:APPL -aposematic:APSM:APSM -apostasies:APST:APST -apostatize:APST:APST -apostolate:APST:APST -apostrophe:APST:APST -apothecary:AP0K:APTK -apotheoses:AP0S:APTS -apotheosis:AP0S:APTS -apotropaic:APTR:APTR -appalachia:APLK:APLK -appaloosas:APLS:APLS -appareling:APRL:APRL -apparently:APRN:APRN -apparition:APRX:APRX -apparitors:APRT:APRT -appealable:APLP:APLP -appearance:APRN:APRN -appeasable:APSP:APSP -appellable:APLP:APLP -appellants:APLN:APLN -appendages:APNT:APNT -appendants:APNT:APNT -appendical:APNT:APNT -appendices:APNT:APNT -appendicle:APNT:APNT -appendixes:APNT:APNT -apperceive:APRS:APRS -appertains:APRT:APRT -appestatly:APST:APST -appetences:APTN:APTN -appetition:APTX:APTX -appetitive:APTT:APTT -appetizers:APTS:APTS -appetizing:APTS:APTS -applauders:APLT:APLT -applauding:APLT:APLT -applecarts:APLK:APLK -applesauce:APLS:APLS -appliances:APLN:APLN -applicable:APLK:APLK -applicably:APLK:APLK -applicants:APLK:APLK -applicator:APLK:APLK -appliquing:APLK:APLK -appointees:APNT:APNT -appointers:APNT:APNT -appointing:APNT:APNT -appointive:APNT:APNT -appointors:APNT:APNT -appomattox:APMT:APMT -apportions:APRX:APRX -appositely:APST:APST -apposition:APSX:APSX -appositive:APST:APST -appraisals:APRS:APRS -appraisers:APRS:APRS -appraising:APRS:APRS -appraisive:APRS:APRS -appreciate:APRS:APRX -apprehends:APRH:APRH -apprentice:APRN:APRN -appretiata:APRX:APRX -approached:APRX:APRK -approacher:APRX:APRK -approaches:APRX:APRK -approbated:APRP:APRP -approximal:APRK:APRK -aquaeducti:AKTK:AKTK -aquamarine:AKMR:AKMR -aquaphobia:AKFP:AKFP -aquaplaned:AKPL:AKPL -aquaplanes:AKPL:AKPL -aquosities:AKST:AKST -arabesques:ARPS:ARPS -arachnidan:ARKN:ARKN -arachnitis:ARKN:ARKN -arachnopia:ARKN:ARKN -arbitrable:ARPT:ARPT -arbitrager:ARPT:ARPT -arbitrages:ARPT:ARPT -arbitrated:ARPT:ARPT -arbitrates:ARPT:ARPT -arbitrator:ARPT:ARPT -arboretums:ARPR:ARPR -arborizing:ARPR:ARPR -arborvitae:ARPR:ARPR -arbourised:ARPR:ARPR -archaicers:ARXS:ARKS -archaistic:ARXS:ARKS -archaizers:ARXS:ARKS -archaizing:ARXS:ARKS -archangels:ARXN:ARKN -archbishop:ARXP:ARKP -archdeacon:ARXT:ARKT -archegonia:ARXK:ARKK -archentera:ARXN:ARKN -archeocyte:ARXS:ARKS -archeology:ARXL:ARKL -archeozoic:ARXS:ARKS -archespore:ARXS:ARKS -archetypal:ARXT:ARKT -archetypes:ARXT:ARKT -archetypic:ARXT:ARKT -archfiends:ARXF:ARKF -archimedes:ARXM:ARKM -archiplasm:ARXP:ARKP -architects:ARKT:ARKT -architrave:ARKT:ARKT -archivists:ARXF:ARKF -archonship:ARXN:ARKN -archoplasm:ARXP:ARKP -archpriest:ARXP:ARKP -arcographs:ARKK:ARKK -arctophile:ARKT:ARKT -arenaceous:ARNS:ARNS -areography:ARKR:ARKR -areolation:ARLX:ARLX -areopagite:ARPJ:ARPK -argentines:ARJN:ARKN -argillitic:ARJL:ARKL -argyrophil:ARJR:ARKR -aristocrat:ARST:ARST -arithmetic:AR0M:ARTM -arizonians:ARSN:ARSN -armadillos:ARMT:ARMT -armageddon:ARMJ:ARMK -armigerous:ARMJ:ARMK -armipotent:ARMP:ARMP -armistices:ARMS:ARMS -aromatical:ARMT:ARMT -aromatized:ARMT:ARMT -aromatizes:ARMT:ARMT -arraigners:ARNR:ARKN -arraigning:ARNN:ARKN -arrectores:ARKT:ARKT -arrestable:ARST:ARST -arrestment:ARST:ARST -arrhythmia:AR0M:ARTM -arrhythmic:AR0M:ARTM -arrivistes:ARFS:ARFS -arrogantly:ARKN:ARKN -arrogating:ARKT:ARKT -arrogation:ARKX:ARKX -arrogators:ARKT:ARKT -arrowheads:ARTS:ARTS -arrowroots:ARRT:ARRT -arseniuret:ARSN:ARSN -arsenoxide:ARSN:ARSN -arterially:ARTR:ARTR -arteriolar:ARTR:ARTR -arterioles:ARTR:ARTR -arteriosus:ARTR:ARTR -artfulness:ARTF:ARTF -arthralgia:AR0R:ARTR -arthralgic:AR0R:ARTR -arthritics:AR0R:ARTR -arthrocele:AR0R:ARTR -arthrodial:AR0R:ARTR -arthrogram:AR0R:ARTR -arthrolith:AR0R:ARTR -arthrology:AR0R:ARTR -arthropoda:AR0R:ARTR -arthropods:AR0R:ARTR -arthrotomy:AR0R:ARTR -artichokes:ARTX:ARTK -articulate:ARTK:ARTK -artificers:ARTF:ARTF -artificial:ARTF:ARTF -artinesser:ARTN:ARTN -artinessly:ARTN:ARTN -aryanizing:ARNS:ARNS -asafoetida:ASFT:ASFT -asbestoses:ASPS:ASPS -asbestosis:ASPS:ASPS -ascariases:ASKR:ASKR -ascariasis:ASKR:ASKR -ascaricide:ASKR:ASKR -ascendable:ASNT:ASNT -ascendance:ASNT:ASNT -ascendancy:ASNT:ASNT -ascendants:ASNT:ASNT -ascendence:ASNT:ASNT -ascendency:ASNT:ASNT -ascendeurs:ASNT:ASNT -ascensions:ASNS:ASNX -ascertains:ASRT:ASRT -asceticism:ASTS:ASTS -ascogonium:ASKK:ASKK -ascomycete:ASKM:ASKM -ascosporic:ASKS:ASKS -ascribable:ASKP:ASKP -ascription:ASKP:ASKP -ascriptive:ASKP:ASKP -asexuality:ASKS:ASKS -asparagine:ASPR:ASPR -aspergilli:ASPR:ASPR -asperities:ASPR:ASPR -aspersions:ASPR:ASPR -aspersoria:ASPR:ASPR -asphalting:ASFL:ASFL -asphaltite:ASFL:ASFL -asphyxiant:ASFK:ASFK -asphyxiate:ASFK:ASFK -aspidistra:ASPT:ASPT -aspirating:ASPR:ASPR -aspiration:ASPR:ASPR -aspirators:ASPR:ASPR -aspiratory:ASPR:ASPR -aspiringly:ASPR:ASPR -asportatis:ASPR:ASPR -asporulate:ASPR:ASPR -assafetida:ASFT:ASFT -assailable:ASLP:ASLP -assailants:ASLN:ASLN -assailment:ASLM:ASLM -assaulters:ASLT:ASLT -assaulting:ASLT:ASLT -assaultive:ASLT:ASLT -assemblage:ASMP:ASMP -assemblers:ASMP:ASMP -assemblies:ASMP:ASMP -assembling:ASMP:ASMP -assentient:ASNT:ASNT -assertible:ASRT:ASRT -assertions:ASRX:ASRX -assertoric:ASRT:ASRT -assessable:ASSP:ASSP -assessment:ASSM:ASSM -asseverate:ASFR:ASFR -assibilate:ASPL:ASPL -assignable:ASNP:ASKN -assignably:ASNP:ASKN -assignment:ASNM:ASKN -assimilate:ASML:ASML -assistance:ASST:ASST -assistants:ASST:ASST -associable:ASSP:ASXP -associated:ASST:ASXT -associates:ASST:ASXT -associator:ASST:ASXT -assonances:ASNN:ASNN -assonantly:ASNN:ASNN -assortment:ASRT:ASRT -assuagable:ASKP:ASKP -assumption:ASMP:ASMP -assumptive:ASMP:ASMP -assurances:ASRN:ASRN -assurgency:ASRJ:ASRK -assuringly:ASRN:ASRN -assythment:AS0M:ASTM -astaticism:ASTT:ASTT -asteriated:ASTR:ASTR -asteroidal:ASTR:ASTR -asthenopia:AS0N:ASTN -asthenopic:AS0N:ASTN -asthmatics:AS0M:ASTM -astigmatic:ASTK:ASTK -astomatous:ASTM:ASTM -astonished:ASTN:ASTN -astonishes:ASTN:ASTN -astounding:ASTN:ASTN -astragalar:ASTR:ASTR -astragalus:ASTR:ASTR -astriction:ASTR:ASTR -astringent:ASTR:ASTR -astringing:ASTR:ASTR -astroblast:ASTR:ASTR -astrobleme:ASTR:ASTR -astrocytes:ASTR:ASTR -astrodomes:ASTR:ASTR -astrolabes:ASTR:ASTR -astrologer:ASTR:ASTR -astrologic:ASTR:ASTR -astrometry:ASTR:ASTR -astronauts:ASTR:ASTR -astronomer:ASTR:ASTR -astronomic:ASTR:ASTR -astuteness:ASTT:ASTT -asymmetric:ASMT:ASMT -asymptotes:ASMP:ASMP -asymptotic:ASMP:ASMP -asynchrony:ASNX:ASNK -asynergies:ASNR:ASNR -ataxiagram:ATKS:ATKS -athapaskan:A0PS:ATPS -athenaeums:A0NM:ATNM -athermancy:A0RM:ATRM -atheromata:A0RM:ATRM -athletical:A0LT:ATLT -athyreosis:A0RS:ATRS -atlanteans:ATLN:ATLN -atmosphere:ATMS:ATMS -atomically:ATMK:ATMK -atonements:ATNM:ATNM -atrichoses:ATRX:ATRK -atrichosis:ATRX:ATRK -atrocities:ATRS:ATRS -atrophying:ATRF:ATRF -atropinism:ATRP:ATRP -atropinize:ATRP:ATRP -attachable:ATKP:ATKP -attachment:ATKM:ATKM -attackable:ATKP:ATKP -attainable:ATNP:ATNP -attainably:ATNP:ATNP -attainders:ATNT:ATNT -attainment:ATNM:ATNM -attainting:ATNT:ATNT -attempters:ATMP:ATMP -attempting:ATMP:ATMP -attendance:ATNT:ATNT -attendants:ATNT:ATNT -attentions:ATNX:ATNX -attenuants:ATNN:ATNN -attenuated:ATNT:ATNT -attenuates:ATNT:ATNT -attenuator:ATNT:ATNT -attermined:ATRM:ATRM -attermines:ATRM:ATRM -attestable:ATST:ATST -attestants:ATST:ATST -attestator:ATST:ATST -atticotomy:ATKT:ATKT -attornment:ATRN:ATRN -attractant:ATRK:ATRK -attracting:ATRK:ATRK -attraction:ATRK:ATRK -attractive:ATRK:ATRK -attractors:ATRK:ATRK -attributed:ATRP:ATRP -attributer:ATRP:ATRP -attributes:ATRP:ATRP -attributor:ATRP:ATRP -atypically:ATPK:ATPK -aubergines:APRJ:APRK -auctioneer:AKXN:AKXN -auctioning:AKXN:AKXN -audibility:ATPL:ATPL -audiogenic:ATJN:ATKN -audiograms:ATKR:ATKR -audiometry:ATMT:ATMT -audiophile:ATFL:ATFL -audiotapes:ATTP:ATTP -auditioned:ATXN:ATXN -auditioner:ATXN:ATXN -auditorial:ATTR:ATTR -auditorium:ATTR:ATTR -augmenters:AKMN:AKMN -augmenting:AKMN:AKMN -augmentors:AKMN:AKMN -augurships:AKRX:AKRX -augustines:AKST:AKST -augustness:AKST:AKST -aureomycin:ARMS:ARMS -auriculaes:ARKL:ARKL -auriculare:ARKL:ARKL -auriculate:ARKL:ARKL -auriferous:ARFR:ARFR -auscultate:ASKL:ASKL -auspicious:ASPS:ASPX -austenitic:ASTN:ASTN -australian:ASTR:ASTR -australite:ASTR:ASTR -australoid:ASTR:ASTR -australorp:ASTR:ASTR -autarchies:ATRX:ATRK -autarkical:ATRK:ATRK -autarkists:ATRK:ATRK -autecology:ATKL:ATKL -authorized:A0RS:ATRS -authorizer:A0RS:ATRS -authorizes:A0RS:ATRS -authorship:A0RX:ATRX -autochthon:ATK0:ATKT -autoclaves:ATKL:ATKL -autocratic:ATKR:ATKR -autodidact:ATTT:ATTT -autoecious:ATSS:ATXS -autoerotic:ATRT:ATRT -autogamies:ATKM:ATKM -autogamous:ATKM:ATKM -autogenous:ATJN:ATKN -autognoses:ATNS:ATKN -autognosis:ATNS:ATKN -autographs:ATKR:ATKR -autography:ATKR:ATKR -autoimmune:ATMN:ATMN -autologous:ATLK:ATLK -autolysate:ATLS:ATLS -autolysins:ATLS:ATLS -autolyzing:ATLS:ATLS -automatics:ATMT:ATMT -automating:ATMT:ATMT -automation:ATMX:ATMX -automatism:ATMT:ATMT -automatist:ATMT:ATMT -automatize:ATMT:ATMT -automatons:ATMT:ATMT -automatous:ATMT:ATMT -automnesia:ATMN:ATMN -automobile:ATMP:ATMP -automotive:ATMT:ATMT -autonomies:ATNM:ATNM -autonomist:ATNM:ATNM -autonomous:ATNM:ATNM -autophagia:ATFJ:ATFK -autophagic:ATFJ:ATFK -autophobia:ATFP:ATFP -autopilots:ATPL:ATPL -autoplasty:ATPL:ATPL -autoploidy:ATPL:ATPL -autopsying:ATPS:ATPS -autoscopes:ATSK:ATSK -autosexing:ATSK:ATSK -autostrada:ATST:ATST -autotomies:ATTM:ATTM -autotomize:ATTM:ATTM -autumnally:ATMN:ATMN -auxanogram:AKSN:AKSN -auxochrome:AKSK:AKSK -auxotrophy:AKST:AKST -availingly:AFLN:AFLN -avalanched:AFLN:AFLN -avalanches:AFLN:AFLN -avantgarde:AFNT:AFNT -avaricious:AFRS:AFRX -avengingly:AFNJ:AFNK -averseness:AFRS:AFRS -aversionem:AFRS:AFRX -aversively:AFRS:AFRS -avianizing:AFNS:AFNS -aviatrixes:AFTR:AFTR -aviculture:AFKL:AFKL -avocations:AFKX:AFKX -avoidances:AFTN:AFTN -avouchment:AFKM:AFKM -avunculate:AFNK:AFNK -awakenings:AKNN:AKNN -axillaries:AKSL:AKSL -axiologist:AKSL:AKSL -axiomatize:AKSM:AKSM -ayatollahs:ATLS:ATLS -azeotropic:ASTR:ASTR -azoprotein:ASPR:ASPR -babblement:PPLM:PPLM -babesiases:PPSS:PPXS -babesiasis:PPSS:PPXS -babesiidae:PPST:PPST -babesioses:PPSS:PPXS -babesiosis:PPSS:PPXS -babylonian:PPLN:PPLN -babysitter:PPST:PPST -bacchanals:PXNL:PXNL -bacchantes:PXNT:PXNT -bacillemia:PSLM:PSLM -bacilloses:PSLS:PSLS -bacillosis:PSLS:PSLS -bacilluria:PSLR:PSLR -bacitracin:PSTR:PSTR -backarrows:PKRS:PKRS -backberand:PKPR:PKPR -backberend:PKPR:PKPR -backbiters:PKPT:PKPT -backbiting:PKPT:PKPT -backbitten:PKPT:PKPT -backboards:PKPR:PKPR -backcloths:PKKL:PKKL -backcombed:PKKM:PKKM -backdating:PKTT:PKTT -backfields:PKFL:PKFL -backfilled:PKFL:PKFL -backfiring:PKFR:PKFR -backgammon:PKKM:PKKM -background:PKKR:PKKR -backhanded:PKNT:PKNT -backlashes:PKLX:PKLX -backlogged:PKLK:PKLK -backpacked:PKPK:PKPK -backpacker:PKPK:PKPK -backplanes:PKPL:PKPL -backsiding:PKST:PKST -backslider:PKSL:PKSL -backslides:PKSL:PKSL -backspaced:PKSP:PKSP -backspaces:PKSP:PKSP -backstairs:PKST:PKST -backstitch:PKST:PKST -backstreet:PKST:PKST -backstroke:PKST:PKST -backtracks:PKTR:PKTR -backwardly:PKRT:PKRT -backwashes:PKXS:PKXS -backwaters:PKTR:PKTR -bacteremia:PKTR:PKTR -bacterioid:PKTR:PKTR -bacterized:PKTR:PKTR -bacterizes:PKTR:PKTR -baculiform:PKLF:PKLF -badinaging:PTNJ:PTNK -badmouthed:PTM0:PTMT -badmouthes:PTM0:PTMT -bafflement:PFLM:PFLM -bafflingly:PFLN:PFLN -bagassoses:PKSS:PKSS -bagassosis:PKSS:PKSS -bagatelles:PKTL:PKTL -bailiwicks:PLKS:PLKS -bainbridge:PNPR:PNPR -bainsmarie:PNSM:PNSM -bakehouses:PKHS:PKHS -balaclavas:PLKL:PLKL -balalaikas:PLLK:PLLK -balantidia:PLNT:PLNT -balantidic:PLNT:PLNT -balbriggan:PLPR:PLPR -baldachins:PLTX:PLTK -balderdash:PLTR:PLTR -baldheaded:PLTT:PLTT -balkanized:PLKN:PLKN -balkanizes:PLKN:PLKN -balladeers:PLTR:PLTR -ballastage:PLST:PLST -ballasting:PLST:PLST -ballerinas:PLRN:PLRN -ballflower:PLFL:PLFL -ballistics:PLST:PLST -ballooners:PLNR:PLNR -ballooning:PLNN:PLNN -balloonist:PLNS:PLNS -ballplayer:PLPL:PLPL -ballpoints:PLPN:PLPN -ballyhooed:PLHT:PLHT -balmacaans:PLMK:PLMK -balneation:PLNX:PLNX -balneology:PLNL:PLNL -balustered:PLST:PLST -balustrade:PLST:PLST -bamboozled:PMPS:PMPS -bamboozler:PMPS:PMPS -bamboozles:PMPS:PMPS -banalities:PNLT:PNLT -banderoles:PNTR:PNTR -bandicoots:PNTK:PNTK -banditries:PNTT:PNTT -bandlimits:PNTL:PNTL -bandmaster:PNTM:PNTM -bandoleers:PNTL:PNTL -bandoliers:PNTL:PNTL -bandstands:PNTS:PNTS -bandwagons:PNTK:PNTK -bandwidths:PNTT:PNTT -bangladesh:PNKL:PNKL -banishment:PNXM:PNXM -bankrolled:PNKR:PNKR -bankruptcy:PNKR:PNKR -bankrupted:PNKR:PNKR -bannisters:PNST:PNST -banqueters:PNKT:PNKT -banqueting:PNKT:PNKT -banquettes:PNKT:PNKT -bantingism:PNTN:PNTN -bantustans:PNTS:PNTS -baptisable:PPTS:PPTS -baptistery:PPTS:PPTS -baragnoses:PRNS:PRKN -baragnosis:PRNS:PRKN -barbadians:PRPT:PRPT -barbarians:PRPR:PRPR -barbarical:PRPR:PRPR -barbarious:PRPR:PRPR -barbarisms:PRPR:PRPR -barbarized:PRPR:PRPR -barbarizes:PRPR:PRPR -barbecuing:PRPK:PRPK -barbellate:PRPL:PRPL -barberries:PRPR:PRPR -barbershop:PRPR:PRPR -barbituric:PRPT:PRPT -barcaroles:PRKR:PRKR -bardolatry:PRTL:PRTL -barebacked:PRPK:PRPK -barebreast:PRPR:PRPR -barefooted:PRFT:PRFT -barehanded:PRHN:PRHN -bareheaded:PRHT:PRHT -barelegged:PRLK:PRLK -bargainees:PRKN:PRKN -bargainers:PRKN:PRKN -bargaining:PRKN:PRKN -bargepoles:PRJP:PRKP -bariatrics:PRTR:PRTR -barkeepers:PRKP:PRKP -barkentine:PRKN:PRKN -barleycorn:PRLK:PRLK -barnstaple:PRNS:PRNS -barnstorms:PRNS:PRNS -baroceptor:PRSP:PRSP -barognoses:PRNS:PRKN -barognosis:PRNS:PRKN -barographs:PRKR:PRKR -barometric:PRMT:PRMT -baronesses:PRNS:PRNS -baronetage:PRNT:PRNT -barophilic:PRFL:PRFL -baroscopes:PRSK:PRSK -baroscopic:PRSK:PRSK -barotrauma:PRTR:PRTR -barpersons:PRPR:PRPR -barracking:PRKN:PRKN -barracudas:PRKT:PRKT -barramundi:PRMN:PRMN -barratries:PRTR:PRTR -barratrous:PRTR:PRTR -barrenness:PRNS:PRNS -barretries:PRTR:PRTR -barricaded:PRKT:PRKT -barricader:PRKT:PRKT -barricades:PRKT:PRKT -barristers:PRST:PRST -bartenders:PRTN:PRTN -bartonella:PRTN:PRTN -barycenter:PRSN:PRSN -barysphere:PRSF:PRSF -basaltware:PSLT:PSLT -baseboards:PSPR:PSPR -baselessly:PSLS:PSLS -basicities:PSST:PSST -basifacial:PSFS:PSFX -basketball:PSKT:PSKT -basketfuls:PSKT:PSKT -basketlike:PSKT:PSKT -basketwork:PSKT:PSKT -basophiles:PSFL:PSFL -basophilia:PSFL:PSFL -basophilic:PSFL:PSFL -bassoonist:PSNS:PSNS -bastardies:PSTR:PSTR -bastardize:PSTR:PSTR -bastinades:PSTN:PSTN -bathetical:P0TK:PTTK -bathhouses:P0SS:PTSS -batholites:P0LT:PTLT -batholiths:P0L0:PTLT -batholitic:P0LT:PTLT -bathometry:PTMT:PTMT -bathonians:P0NN:PTNN -batrachian:PTRK:PTRK -battalions:PTLN:PTLN -battledore:PTLT:PTLT -battlement:PTLM:PTLM -battleship:PTLX:PTLX -bayberries:PPRS:PPRS -bayoneting:PNTN:PNTN -bayonetted:PNTT:PNTT -beachheads:PKTS:PKTS -beaconless:PKNL:PKNL -beadleship:PTLX:PTLX -beanfeasts:PNFS:PNFS -beanstalks:PNST:PNST -beastliest:PSTL:PSTL -beatifying:PTFN:PTFN -beatitudes:PTTT:PTTT -beaujolais:PJL:PHLS -beautician:PTSN:PTXN -beautified:PTFT:PTFT -beautifier:PTF:PTFR -beautifies:PTFS:PTFS -beclouding:PKLT:PKLT -becomingly:PKMN:PKMN -becquerels:PKRL:PKRL -becudgeled:PKJL:PKJL -bedazzling:PTSL:PTSL -bedclothes:PTKL:PTKL -beddington:PTNK:PTNK -bedeviling:PTFL:PTFL -bedevilled:PTFL:PTFL -bedfellows:PTFL:PTFL -bedizening:PTSN:PTSN -bedlington:PTLN:PTLN -bedraggled:PTRK:PTRK -bedraggles:PTRK:PTRK -bedspreads:PTSP:PTSP -bedsprings:PTSP:PTSP -bedwarmers:PTRM:PTRM -beefburger:PFPR:PFPR -beefeaters:PFTR:PFTR -beefsteaks:PFST:PFST -beekeepers:PKPR:PKPR -beekeeping:PKPN:PKPN -beforehand:PFRH:PFRH -befoulment:PFLM:PFLM -befriended:PFRN:PFRN -befuddlers:PFTL:PFTL -befuddling:PFTL:PFTL -beggerhood:PKRT:PKRT -beginnings:PJNN:PKNN -begrudging:PKRJ:PKRJ -behavioral:PHFR:PHFR -beheadings:PHTN:PHTN -behemothes:PHM0:PHMT -behindhand:PHNT:PHNT -bejeweling:PJLN:PJLN -belaboring:PLPR:PLPR -beleaguers:PLKR:PLKR -belgravian:PLKR:PLKR -belibeling:PLPL:PLPL -believable:PLFP:PLFP -believably:PLFP:PLFP -belittlers:PLTL:PLTL -belittling:PLTL:PLTL -belladonna:PLTN:PLTN -belletrism:PLTR:PLTR -belletrist:PLTR:PLTR -bellflower:PLFL:PLFL -bellicists:PLSS:PLSS -bellwether:PL0R:PLTR -bellyached:PLXT:PLKT -bellyaches:PLXS:PLKS -bellybands:PLPN:PLPN -belongings:PLNJ:PLNK -beltcourse:PLTK:PLTK -belvederes:PLFT:PLFT -benchmarks:PNXM:PNKM -benedicite:PNTS:PNTS -benedictus:PNTK:PNTK -benefactor:PNFK:PNFK -beneficent:PNFS:PNFS -beneficial:PNFS:PNFX -beneficium:PNFS:PNFS -benefiting:PNFT:PNFT -benefitted:PNFT:PNFT -benevolent:PNFL:PNFL -benignancy:PNNN:PNKN -bentonitic:PNTN:PNTN -benzedrine:PNST:PNST -benzestrol:PNSS:PNSS -benzocaine:PNSK:PNSK -benzpyrene:PNSP:PNSP -bequeathal:PK0L:PKTL -bequeathed:PK0T:PKTT -bequeather:PK0R:PKTR -bequeathes:PK0S:PKTS -bergaptene:PRKP:PRKP -beribboned:PRPN:PRPN -bermudians:PRMT:PRMT -bernadette:PRNT:PRNT -berylloses:PRLS:PRLS -beryllosis:PRLS:PRLS -beseechers:PSXR:PSKR -beseeching:PSXN:PSKN -besmearing:PSMR:PSMR -besmirched:PSMR:PSMR -besmircher:PSMR:PSMR -besmirches:PSMR:PSMR -bespangled:PSPN:PSPN -bespangles:PSPN:PSPN -bespatters:PSPT:PSPT -bespeaking:PSPK:PSPK -besprinkle:PSPR:PSPR -bessarabia:PSRP:PSRP -bestiality:PSXL:PSXL -bestialize:PSXL:PSXL -bestiaries:PSXR:PSXR -bestirring:PSTR:PSTR -bestowment:PSTM:PSTM -bestrewing:PSTR:PSTR -bestridden:PSTR:PSTR -bestriding:PSTR:PSTR -bestseller:PSTS:PSTS -bethinking:P0NK:PTNK -betokening:PTKN:PTKN -betrothals:PTR0:PTRT -betrothing:PTR0:PTRT -betterment:PTRM:PTRM -bewildered:PLTR:PLTR -bewitching:PXNK:PXNK -biannually:PNL:PNL -biannulate:PNLT:PNLT -biblically:PPLK:PPLK -biblicists:PPLS:PPLS -bibliophil:PPLF:PPLF -bibliopole:PPLP:PPLP -bibliopoly:PPLP:PPLP -bibliotics:PPLT:PPLT -bibulosity:PPLS:PPLS -bibulously:PPLS:PPLS -bicapsular:PKPS:PKPS -bicellular:PSLL:PSLL -bichloride:PXLR:PKLR -bichromate:PXRM:PKRM -bicornuate:PKRN:PKRN -bicornuous:PKRN:PKRN -bicorporal:PKRP:PKRP -bicultural:PKLT:PKLT -bicyclical:PSKL:PSKL -bicyclists:PSKL:PSKL -biennially:PNL:PNL -bifurcated:PFRK:PFRK -bifurcates:PFRK:PFRK -bigamistic:PKMS:PKMS -bigamizing:PKMS:PKMS -bigamously:PKMS:PKMS -bigeminies:PJMN:PKMN -bighearted:PRTT:PRTT -bigmouthed:PKM0:PKMT -bigmouthes:PKM0:PKMT -bijections:PJKX:PJKX -bijouterie:PJTR:PHTR -bilberries:PLPR:PLPR -bilicyanin:PLSN:PLSN -bilifuscin:PLFS:PLFS -biliverdin:PLFR:PLFR -billboards:PLPR:PLPR -billionths:PLN0:PLNT -billposter:PLPS:PLPS -biloculate:PLKL:PLKL -bimetallic:PMTL:PMTL -binational:PNXN:PNXN -binaurally:PNRL:PNRL -binoculars:PNKL:PNKL -binomially:PNML:PNML -binucleate:PNKL:PNKL -bioassayed:PST:PST -biocenoses:PSNS:PSNS -biocenosis:PSNS:PSNS -biochemist:PXMS:PKMS -biocolloid:PKLT:PKLT -biodegrade:PTKR:PTKR -biodynamic:PTNM:PTNM -bioecology:PKLJ:PKLK -bioethical:P0KL:PTKL -biogeneses:PJNS:PKNS -biogenesis:PJNS:PKNS -biogenetic:PJNT:PKNT -biographer:PKRF:PKRF -biographic:PKRF:PKRF -biological:PLJK:PLKK -biologists:PLJS:PLKS -biomedical:PMTK:PMTK -biometrics:PMTR:PMTR -bionomists:PNMS:PNMS -bioorganic:PRKN:PRKN -biophagies:PFJS:PFKS -biophagous:PFKS:PFKS -biophysics:PFSK:PFSK -bioplasmic:PPLS:PPLS -biopoiesis:PPSS:PPSS -biopolymer:PPLM:PPLM -biorhythms:PR0M:PRTM -biorythmic:PR0M:PRTM -bioscience:PSNS:PSNS -bioscopies:PSKP:PSKP -biospheres:PSFR:PSFR -biostatics:PSTT:PSTT -biotically:PTKL:PTKL -biparental:PPRN:PPRN -biparietal:PPRT:PPRT -bipartisan:PPRT:PPRT -bipartizan:PPRT:PPRT -bipolarity:PPLR:PPLR -biquadrate:PKTR:PKTR -biracially:PRSL:PRXL -birdbathes:PRTP:PRTP -birdbrains:PRTP:PRTP -birdhouses:PRTS:PRTS -birmingham:PRMN:PRMN -birotation:PRTX:PRTX -birthmarks:PR0M:PRTM -birthplace:PR0P:PRTP -birthrates:PR0R:PRTR -birthright:PR0R:PRTR -birthstone:PR0S:PRTS -bisections:PSKX:PSKX -bisexually:PSKS:PSKS -bisferious:PSFR:PSFR -bishoprics:PXPR:PXPR -bismuthism:PSM0:PSMT -bismuthous:PSM0:PSMT -bissextile:PSKS:PSKS -bistouries:PSTR:PSTR -bisulphate:PSLF:PSLF -bisulphide:PSLF:PSLF -bisulphite:PSLF:PSLF -bisymmetry:PSMT:PSMT -bitartrate:PTRT:PTRT -bitemporal:PTMP:PTMP -bitstreams:PTST:PTST -bitterness:PTRN:PTRN -bitumenize:PTMN:PTMN -bituminous:PTMN:PTMN -bivalvular:PFLF:PFLF -bivouacked:PFKT:PFKT -biweeklies:PKLS:PKLS -blackamoor:PLKM:PLKM -blackballs:PLKP:PLKP -blackberry:PLKP:PLKP -blackbirds:PLKP:PLKP -blackboard:PLKP:PLKP -blackeners:PLKN:PLKN -blackening:PLKN:PLKN -blackflies:PLKF:PLKF -blackguard:PLKK:PLKK -blackheads:PLKT:PLKT -blackheart:PLKR:PLKR -blackishly:PLKX:PLKX -blackjacks:PLKK:PLKK -blacklight:PLKL:PLKL -blacklists:PLKL:PLKL -blackmails:PLKM:PLKM -blacksmith:PLKS:PLKS -blacktails:PLKT:PLKT -blackthorn:PLK0:PLKT -blackwater:PLKT:PLKT -blamefully:PLMF:PLMF -blancmange:PLNK:PLNK -blandished:PLNT:PLNT -blandisher:PLNT:PLNT -blandishes:PLNT:PLNT -blanketers:PLNK:PLNK -blanketing:PLNK:PLNK -blanquette:PLNK:PLNK -blasphemed:PLSF:PLSF -blasphemer:PLSF:PLSF -blasphemes:PLSF:PLSF -blastemata:PLST:PLST -blastocoel:PLST:PLST -blastocyst:PLST:PLST -blastocyte:PLST:PLST -blastoderm:PLST:PLST -blastodisc:PLST:PLST -blastodisk:PLST:PLST -blastomata:PLST:PLST -blastomere:PLST:PLST -blastopore:PLST:PLST -blastotomy:PLST:PLST -blastulaes:PLST:PLST -blatancies:PLTN:PLTN -blathering:PL0R:PLTR -blazonries:PLSN:PLSN -bleachable:PLXP:PLKP -bleariness:PLRN:PLRN -blemishing:PLMX:PLMX -blepharism:PLFR:PLFR -blethering:PL0R:PLTR -blindfolds:PLNT:PLNT -blindingly:PLNT:PLNT -blindstory:PLNT:PLNT -blissfully:PLSF:PLSF -blistering:PLST:PLST -blitheness:PL0N:PLTN -blithering:PL0R:PLTR -blithesome:PL0S:PLTS -blitzkrieg:PLTS:PLTS -blockaders:PLKT:PLKT -blockading:PLKT:PLKT -blockboard:PLKP:PLKP -blockheads:PLKT:PLKT -blockhouse:PLKS:PLKS -blockishly:PLKX:PLKX -blondeness:PLNT:PLNT -bloodbaths:PLTP:PLTP -bloodhound:PLTN:PLTN -bloodiness:PLTN:PLTN -bloodlines:PLTL:PLTL -bloodroots:PLTR:PLTR -bloodstain:PLTS:PLTS -bloodstock:PLTS:PLTS -bloodstone:PLTS:PLTS -bloodworms:PLTR:PLTR -bloomeries:PLMR:PLMR -blossoming:PLSM:PLSM -blotchiest:PLXS:PLXS -blottesque:PLTS:PLTS -blowfishes:PLFX:PLFX -blowsiness:PLSN:PLSN -blowziness:PLSN:PLTS -blubberers:PLPR:PLPR -blubbering:PLPR:PLPR -bludgeoned:PLJN:PLJN -bludgeoner:PLJN:PLJN -bluebeards:PLPR:PLPR -bluebonnet:PLPN:PLPN -bluebottle:PLPT:PLPT -bluefishes:PLFX:PLFX -bluejacket:PLJK:PLJK -bluepoints:PLPN:PLPN -blueprints:PLPR:PLPR -bluethroat:PL0R:PLTR -bluetongue:PLTN:PLTN -bluishness:PLXN:PLXN -blunderers:PLNT:PLNT -blundering:PLNT:PLNT -blurriness:PLRN:PLRN -blushfully:PLXF:PLXF -blushingly:PLXN:PLXN -blusterers:PLST:PLST -blustering:PLST:PLST -blusterous:PLST:PLST -boardrooms:PRTR:PRTR -boardsails:PRTS:PRTS -boardwalks:PRTL:PRTL -boastfully:PSTF:PSTF -boastingly:PSTN:PSTN -boathouses:P0SS:PTSS -boatswains:PTSN:PTSN -bobbysocks:PPSK:PPSK -bobbysoxer:PPSK:PPSK -bobsledded:PPSL:PPSL -bobsledder:PPSL:PPSL -bobsleighs:PPSL:PPSL -bodychecks:PTXK:PTKK -bodyguards:PTKR:PTKR -bodylength:PTLN:PTLN -bodyweight:PTT:PTT -boisterous:PSTR:PSTR -boldfacing:PLTF:PLTF -bolections:PLKX:PLKX -bollocking:PLKN:PLKN -bolometric:PLMT:PLMT -bolsheviki:PLXF:PLXF -bolsheviks:PLXF:PLXF -bolshevism:PLXF:PLXF -bolshevist:PLXF:PLXF -bolsterers:PLST:PLST -bolstering:PLST:PLST -bombardier:PMPR:PMPR -bombarding:PMPR:PMPR -bombardons:PMPR:PMPR -bombshells:PMPX:PMPX -bombsights:PMPS:PMPS -bondholder:PNTL:PNTL -bondstones:PNTS:PNTS -bonefishes:PNFX:PNFX -boneheaded:PNHT:PNHT -bonesetter:PNST:PNST -boneshaker:PNXK:PNXK -bookbinder:PKPN:PKPN -bookkeeper:PKPR:PKPR -bookmakers:PKMK:PKMK -bookmaking:PKMK:PKMK -bookmarker:PKMR:PKMR -bookmobile:PKMP:PKMP -bookplates:PKPL:PKPL -bookseller:PKSL:PKSL -bookstalls:PKST:PKST -bookstores:PKST:PKST -boomerangs:PMRN:PMRN -boomslangs:PMSL:PMSL -boondoggle:PNTK:PNTK -bootblacks:PTPL:PTPL -bootlegged:PTLK:PTLK -bootlegger:PTLK:PTLK -bootlessly:PTLS:PTLS -bootlicked:PTLK:PTLK -bootlicker:PTLK:PTLK -bootstraps:PTST:PTST -borborygmi:PRPR:PRPR -borborygmy:PRPR:PRPR -bordereaux:PRTR:PRTR -borderings:PRTR:PRTR -borderland:PRTR:PRTR -borderline:PRTR:PRTR -bosselated:PSLT:PSLT -bostonians:PSTN:PSTN -botanizing:PTNS:PTNS -bothersome:P0RS:PTRS -botticelli:PTSL:PTSL -bottlefuls:PTLF:PTLF -bottleneck:PTLN:PTLN -bottlenose:PTLN:PTLN -bottlesful:PTLS:PTLS -bottomless:PTML:PTML -bottommost:PTMS:PTMS -bottomries:PTMR:PTMR -bougienage:PJNJ:PKNK -boulevards:PLFR:PLFR -boullework:PLRK:PLRK -bounciness:PNSN:PNSN -bouncingly:PNSN:PNSN -boundaries:PNTR:PNTR -bountyless:PNTL:PNTL -bourgeoise:PRJS:PRKS -bowdlerism:PTLR:PTLR -bowdlerize:PTLR:PTLR -bowstrings:PSTR:PSTR -boxberries:PKSP:PKSP -boycotting:PKTN:PKTN -boyfriends:PFRN:PFRN -boyishness:PXNS:PXNS -brachiated:PRKT:PRKT -brachydont:PRKT:PRKT -brachylogy:PRKL:PRKL -bracketing:PRKT:PRKT -bradykinin:PRTK:PRTK -braggingly:PRJN:PRKN -brahmanism:PRMN:PRMN -brahmanist:PRMN:PRMN -brahminism:PRMN:PRMN -brahminist:PRMN:PRMN -brainboxes:PRNP:PRNP -brainchild:PRNX:PRNK -braininess:PRNN:PRNN -brainpower:PRNP:PRNP -brainstems:PRNS:PRNS -brainstorm:PRNS:PRNS -brambliest:PRMP:PRMP -branchiate:PRNK:PRNK -branchings:PRNX:PRNK -branchless:PRNX:PRNK -branchlike:PRNX:PRNK -brandished:PRNT:PRNT -brandisher:PRNT:PRNT -brandishes:PRNT:PRNT -brashiness:PRXN:PRXN -brasseries:PRSR:PRSR -brassieres:PRSR:PRSR -brassiness:PRSN:PRSN -bratticing:PRTS:PRTS -brattiness:PRTN:PRTN -bravissimo:PRFS:PRFS -brawlingly:PRLN:PRLN -brawniness:PRNN:PRNN -brazenness:PRSN:PRSN -brazilians:PRSL:PRSL -breadboard:PRTP:PRTP -breadboxes:PRTP:PRTP -breadcrumb:PRTK:PRTK -breadfruit:PRTF:PRTF -breadstuff:PRTS:PRTS -breakabled:PRKP:PRKP -breakables:PRKP:PRKP -breakboned:PRKP:PRKP -breakdowns:PRKT:PRKT -breakfasts:PRKF:PRKF -breakfront:PRKF:PRKF -breakpoint:PRKP:PRKP -breakwater:PRKT:PRKT -breastbone:PRST:PRST -breastfeed:PRST:PRST -breastpins:PRST:PRST -breastwork:PRST:PRST -breathable:PR0P:PRTP -breathiest:PR0S:PRTS -breathless:PR0L:PRTL -brecciated:PRXT:PRXT -breezeways:PRSS:PRTS -breeziness:PRSN:PRSN -brevetting:PRFT:PRFT -breviaries:PRFR:PRFR -brickearth:PRKR:PRKR -bricklayer:PRKL:PRKL -brickyards:PRKR:PRKR -bridegroom:PRTK:PRTK -bridesmaid:PRTS:PRTS -bridgeable:PRJP:PRJP -bridgehead:PRJH:PRJH -bridgeless:PRJL:PRJL -bridgeport:PRJP:PRJP -bridgetown:PRJT:PRJT -bridgework:PRJR:PRJR -briefcases:PRFK:PRFK -brigadiers:PRKT:PRKT -brigandage:PRKN:PRKN -brigandine:PRKN:PRKN -brigantine:PRKN:PRKN -brightened:PRTN:PRTN -brightener:PRTN:PRTN -brightness:PRTN:PRTN -brightwork:PRTR:PRTR -brilliance:PRLN:PRLN -brilliancy:PRLN:PRLN -briolettes:PRLT:PRLT -briquettes:PRKT:PRKT -briskening:PRSK:PRSK -bristliest:PRST:PRST -bristolian:PRST:PRST -britannica:PRTN:PRTN -briticisms:PRTS:PRTS -britishers:PRTX:PRTX -broadcasts:PRTK:PRTK -broadcloth:PRTK:PRTK -broadeners:PRTN:PRTN -broadening:PRTN:PRTN -broadlooms:PRTL:PRTL -broadsheet:PRTX:PRTX -broadsides:PRTS:PRTS -broadsword:PRTS:PRTS -brochettes:PRXT:PRKT -broidering:PRTR:PRTR -brokenness:PRKN:PRKN -brokerages:PRKR:PRKR -bromcresol:PRMK:PRMK -bromphenol:PRMF:PRMF -bronchiole:PRNX:PRNK -bronchioli:PRNX:PRNK -bronchitic:PRNX:PRNK -bronchitis:PRNX:PRNK -brontosaur:PRNT:PRNT -broodiness:PRTN:PRTN -broodingly:PRTN:PRTN -broomstick:PRMS:PRMS -browbeaten:PRPT:PRPT -browbeater:PRPT:PRPT -brownnoser:PRNS:PRNS -brownstone:PRNS:PRNS -brucellaes:PRSL:PRSL -brushfires:PRXF:PRXF -brutalized:PRTL:PRTL -brutalizes:PRTL:PRTL -brutalness:PRTL:PRTL -bruxomania:PRKS:PRKS -bubbletops:PPLT:PPLT -bubonalgia:PPNL:PPNL -bubonocele:PPNS:PPNS -buccaneers:PKNR:PKNR -buccinator:PXNT:PXNT -buccoaxial:PKKS:PKKS -buchenwald:PXNL:PKNL -buckboards:PKPR:PKPR -bucketfuls:PKTF:PKTF -buckhounds:PKNT:PKNT -buckleless:PKLL:PKLL -buckwheats:PKTS:PKTS -budgerigar:PJRK:PJRK -budgeteers:PJTR:PJTR -budgeteree:PJTR:PJTR -buffaloing:PFLN:PFLN -bufferrers:PFRR:PFRR -buffetings:PFTN:PFTN -buffoonery:PFNR:PFNR -buffoonish:PFNX:PFNX -bufotenine:PFTN:PFTN -bugbearish:PKPR:PKPR -bulgarians:PLKR:PLKR -bulldogged:PLTK:PLTK -bulldozers:PLTS:PLTS -bulldozing:PLTS:PLTS -bulletlike:PLTL:PLTL -bullfights:PLFT:PLFT -bullheaded:PLTT:PLTT -bullnecked:PLNK:PLNK -bumblebees:PMPL:PMPL -bumpkinish:PMPK:PMPK -bunchiness:PNXN:PNKN -bunkhouses:PNKS:PNKS -bunostomum:PNST:PNST -burdensome:PRTN:PRTN -bureaucrat:PRKR:PRKR -burgeoning:PRJN:PRKN -burglaries:PRKL:PRKL -burglarize:PRKL:PRKL -burgundian:PRKN:PRKN -burgundies:PRKN:PRKN -burlesqued:PRLS:PRLS -burlesquer:PRLS:PRLS -burlesques:PRLS:PRLS -burnishers:PRNX:PRNX -burnishing:PRNX:PRNX -bursarship:PRSR:PRSR -bursectomy:PRSK:PRSK -burundians:PRNT:PRNT -bushelings:PXLN:PXLN -bushhammer:PXMR:PXMR -bushmaster:PXMS:PXMS -bushranger:PXRN:PXRN -bushwacker:PXKR:PXKR -bushwhacks:PXKS:PXKS -businesses:PSNS:PSNS -busybodies:PSPT:PSPT -butcheries:PXRS:PXRS -butchering:PXRN:PXRN -buttercups:PTRK:PTRK -butterfish:PTRF:PTRF -buttermere:PTRM:PTRM -buttermilk:PTRM:PTRM -butternuts:PTRN:PTRN -buttonhole:PTNL:PTNL -buttonhook:PTNK:PTNK -buttonless:PTNL:PTNL -buttressed:PTRS:PTRS -buttresses:PTRS:PTRS -butylamine:PTLM:PTLM -byproducts:PPRT:PPRT -byssinoses:PSNS:PSNS -byssinosis:PSNS:PSNS -bystanders:PSTN:PSTN -cabalistic:KPLS:KPLS -caballeros:KPLR:KPLR -cabbalists:KPLS:KPLS -cablegrams:KPLK:KPLK -cabriolets:KPRL:KPRL -cacciatore:KXTR:KXTR -cachinnate:KXNT:KKNT -cacodylate:KKTL:KKTL -cacogenics:KKJN:KKKN -cacography:KKKR:KKKR -cacophonic:KKFN:KKFN -cactaceous:KKTS:KKTS -cadaverine:KTFR:KTFR -cadaverous:KTFR:KTFR -cadetships:KTTX:KTTX -caducities:KTST:KTST -caecectomy:KSKT:KSKT -caecostomy:KKST:KKST -caesareans:SSRN:SSRN -caesarists:SSRS:SSRS -caespitose:KSPT:KSPT -cafeterias:KFTR:KFTR -cafetieres:KFTR:KFTR -cairngorms:KRNK:KRNK -cajolement:KJLM:KHLM -cajoleries:KJLR:KHLR -cajolingly:KJLN:KHLN -cakewalker:KKLK:KKLK -calabashes:KLPX:KLPX -calabooses:KLPS:KLPS -calamander:KLMN:KLMN -calamities:KLMT:KLMT -calamitous:KLMT:KLMT -calcareous:KLKR:KLKR -calcarious:KLKR:KLKR -calceiform:KLSF:KLSF -calceolate:KLSL:KLSL -calcicoles:KLSK:KLSK -calcicoses:KLSK:KLSK -calcicosis:KLSK:KLSK -calciferol:KLSF:KLSF -calcifugal:KLSF:KLSF -calcifuges:KLSF:KLSF -calcifying:KLSF:KLSF -calcimined:KLSM:KLSM -calcimines:KLSM:KLSM -calcinoses:KLSN:KLSN -calcinosis:KLSN:KLSN -calcipenia:KLSP:KLSP -calcitonin:KLST:KLST -calculable:KLKL:KLKL -calculably:KLKL:KLKL -calculated:KLKL:KLKL -calculates:KLKL:KLKL -calculator:KLKL:KLKL -calculoses:KLKL:KLKL -calculosis:KLKL:KLKL -calculuses:KLKL:KLKL -caledonian:KLTN:KLTN -calendared:KLNT:KLNT -calendered:KLNT:KLNT -calendulas:KLNT:KLNT -calendulin:KLNT:KLNT -calibrated:KLPR:KLPR -calibrater:KLPR:KLPR -calibrates:KLPR:KLPR -calibrator:KLPR:KLPR -california:KLFR:KLFR -calipering:KLPR:KLPR -caliphates:KLFT:KLFT -callipered:KLPR:KLPR -calliphora:KLFR:KLFR -callitroga:KLTR:KLTR -callousing:KLSN:KLSN -callowness:KLNS:KLNS -calmatives:KLMT:KLMT -calmodulin:KLMT:KLMT -caloricity:KLRS:KLRS -calumniate:KLMN:KLMN -calumnious:KLMN:KLMN -calvinists:KLFN:KLFN -calyculate:KLKL:KLKL -cambodians:KMPT:KMPT -camcorders:KMKR:KMKR -camelopard:KMLP:KMLP -cameralism:KMRL:KMRL -cameralist:KMRL:KMRL -camerlengo:KMRL:KMRL -cameronian:KMRN:KMRN -camouflage:KMFL:KMFL -campaigned:KMPN:KMPK -campaigner:KMPN:KMPK -campaniles:KMPN:KMPN -campanulas:KMPN:KMPN -campestral:KMPS:KMPS -campground:KMPK:KMPK -camphorate:KMFR:KMFR -campstools:KMPS:KMPS -canaanites:KNNT:KNNT -canaanitic:KNNT:KNNT -canalboats:KNLP:KNLP -canaliculi:KNLK:KNLK -canalizing:KNLS:KNLS -canavanine:KNFN:KNFN -cancelable:KNSL:KNSL -cancellate:KNSL:KNSL -cancerated:KNSR:KNSR -candelabra:KNTL:KNTL -candescent:KNTS:KNTS -candicidin:KNTS:KNTS -candidates:KNTT:KNTT -candidness:KNTT:KNTT -candlefish:KNTL:KNTL -candlepins:KNTL:KNTL -candlewick:KNTL:KNTL -candlewood:KNTL:KNTL -candyfloss:KNTF:KNTF -candytufts:KNTT:KNTT -canebrakes:KNPR:KNPR -canescence:KNSN:KNSN -caniniform:KNNF:KNNF -cankerworm:KNKR:KNKR -cannabinol:KNPN:KNPN -cannabises:KNPS:KNPS -cannalling:KNLN:KNLN -cannelloni:KNLN:KNLN -cannelures:KNLR:KNLR -cannisters:KNST:KNST -cannonaded:KNNT:KNNT -cannonades:KNNT:KNNT -cannonball:KNNP:KNNP -cannoneers:KNNR:KNNR -cannulated:KNLT:KNLT -canonesses:KNNS:KNNS -canonicals:KNNK:KNNK -canonicate:KNNK:KNNK -canonicity:KNNS:KNNS -canonistic:KNNS:KNNS -canonizing:KNNS:KNNS -canoodlers:KNTL:KNTL -canoodling:KNTL:KNTL -cantaloupe:KNTL:KNTL -cantaloups:KNTL:KNTL -cantatrice:KNTT:KNTT -canterbury:KNTR:KNTR -cantilever:KNTL:KNTL -cantillate:KNTL:KNTL -cantonment:KNTN:KNTN -canvasback:KNFS:KNFS -canvaslike:KNFS:KNFS -canvassers:KNFS:KNFS -canvassing:KNFS:KNFS -caoutchouc:KXK:KXK -capability:KPPL:KPPL -capacitate:KPST:KPST -capacities:KPST:KPST -capacitive:KPST:KPST -capacitors:KPST:KPST -caparisons:KPRS:KPRS -caperingly:KPRN:KPRN -capillaria:KPLR:KPLR -capillarid:KPLR:KPLR -capitalism:KPTL:KPTL -capitalist:KPTL:KPTL -capitalize:KPTL:KPTL -capitating:KPTT:KPTT -capitation:KPTX:KPTX -capitellum:KPTL:KPTL -capitoline:KPTL:KPTL -capitulars:KPTL:KPTL -capitulary:KPTL:KPTL -capitulate:KPTL:KPTL -caponizing:KPNS:KPNS -cappuccino:KPXN:KPXN -capreolate:KPRL:KPRL -capriccios:KPRX:KPRX -capricious:KPRS:KPRX -capricorns:KPRK:KPRK -capsulated:KPSL:KPSL -capsulized:KPSL:KPSL -capsulizes:KPSL:KPSL -captaining:KPTN:KPTN -captioning:KPXN:KPXN -captiously:KPTS:KPTS -captivated:KPTF:KPTF -captivates:KPTF:KPTF -captivator:KPTF:KPTF -captresses:KPTR:KPTR -carabineer:KRPN:KRPN -carabinier:KRPN:KRPN -caracoling:KRKL:KRKL -caramelize:KRML:KRML -caravanned:KRFN:KRFN -carbarsone:KRPR:KRPR -carbazotic:KRPS:KRPS -carbineers:KRPN:KRPN -carbolated:KRPL:KRPL -carbolized:KRPL:KRPL -carbolizes:KRPL:KRPL -carbomycin:KRPM:KRPM -carbonados:KRPN:KRPN -carbonated:KRPN:KRPN -carbonates:KRPN:KRPN -carbonator:KRPN:KRPN -carbondale:KRPN:KRPN -carbonized:KRPN:KRPN -carbonizer:KRPN:KRPN -carbonizes:KRPN:KRPN -carbonless:KRPN:KRPN -carboxylic:KRPK:KRPK -carbuncled:KRPN:KRPN -carbuncles:KRPN:KRPN -carbureted:KRPR:KRPR -carburetor:KRPR:KRPR -carburized:KRPR:KRPR -carburizes:KRPR:KRPR -carcinogen:KRSN:KRSN -carcinomas:KRSN:KRSN -carcinoses:KRSN:KRSN -carcinosis:KRSN:KRSN -cardholder:KRTL:KRTL -cardialgia:KRTL:KRTL -cardialgic:KRTL:KRTL -cardinally:KRTN:KRTN -cardiogram:KRTK:KRTK -cardiology:KRTL:KRTL -cardiomega:KRTM:KRTM -cardiopath:KRTP:KRTP -cardiotomy:KRTT:KRTT -cardsharps:KRTX:KRTX -careerists:KRRS:KRRS -carelessly:KRLS:KRLS -caretakers:KRTK:KRTK -caretaking:KRTK:KRTK -carfuffled:KRFF:KRFF -carfuffles:KRFF:KRFF -caribbeans:KRPN:KRPN -caricature:KRKT:KRKT -cariogenic:KRJN:KRKN -carmagnole:KRMN:KRMK -carmarthen:KRMR:KRMR -carnalists:KRNL:KRNL -carnassial:KRNS:KRNS -carnations:KRNX:KRNX -carnelians:KRNL:KRNL -carnifying:KRNF:KRNF -carnivores:KRNF:KRNF -carolinian:KRLN:KRLN -carotenoid:KRTN:KRTN -carotinoid:KRTN:KRTN -carpathian:KRP0:KRPT -carpectomy:KRPK:KRPK -carpenters:KRPN:KRPN -carpetbagg:KRPT:KRPT -carpetbags:KRPT:KRPT -carphology:KRFL:KRFL -carpogonia:KRPK:KRPK -carpopedal:KRPP:KRPP -carpophore:KRPF:KRPF -carpospore:KRPS:KRPS -carragheen:KRKN:KRKN -carronades:KRNT:KRNT -carrousels:KRSL:KRSL -carryovers:KRFR:KRFR -carshalton:KRXL:KRXL -cartelists:KRTL:KRTL -cartelized:KRTL:KRTL -cartelizes:KRTL:KRTL -carthorses:KR0R:KRTR -carthusian:KR0S:KRTX -cartilages:KRTL:KRTL -cartograms:KRTK:KRTK -cartomancy:KRTM:KRTM -cartooning:KRTN:KRTN -cartoonist:KRTN:KRTN -cartophily:KRTF:KRTF -cartouches:KRTX:KRTK -cartridges:KRTR:KRTR -cartwheels:KRTL:KRTL -cartwright:KRTR:KRTR -carunculae:KRNK:KRNK -caruncular:KRNK:KRNK -caryatidal:KRTT:KRTT -caryatides:KRTT:KRTT -caryatidic:KRTT:KRTT -casablanca:KSPL:KSPL -cascarilla:KSKR:KSKR -caseharden:KSHR:KSHR -caseinogen:KSNJ:KSNK -caseworker:KSRK:KSRK -cashiering:KXRN:KXRN -casinghead:KSNK:KSNK -cassandras:KSNT:KSNT -casseroles:KSRL:KSRL -cassoulets:KSLT:KSLT -castellani:KSTL:KSTL -castellans:KSTL:KSTL -castigated:KSTK:KSTK -castigates:KSTK:KSTK -castigator:KSTK:KSTK -castigavit:KSTK:KSTK -castilians:KSTL:KSTL -castrating:KSTR:KSTR -castration:KSTR:KSTR -castrators:KSTR:KSTR -casualness:KSLN:KSLN -casualties:KSLT:KSLT -casuistics:KSST:KSST -catabioses:KTPS:KTPS -catabiosis:KTPS:KTPS -catabiotic:KTPT:KTPT -catabolism:KTPL:KTPL -catabolite:KTPL:KTPL -catabolize:KTPL:KTPL -cataclases:KTKL:KTKL -cataclasis:KTKL:KTKL -cataclinal:KTKL:KTKL -cataclysms:KTKL:KTKL -catafalque:KTFL:KTFL -catalectic:KTLK:KTLK -cataleptic:KTLP:KTLP -catalogers:KTLK:KTLJ -cataloging:KTLJ:KTLK -catalogued:KTLK:KTLK -cataloguer:KTLK:KTLK -catalogues:KTLK:KTLK -catalyzers:KTLS:KTLS -catalyzing:KTLS:KTLS -catamarans:KTMR:KTMR -catamenial:KTMN:KTMN -catamneses:KTMN:KTMN -catamnesis:KTMN:KTMN -catamounts:KTMN:KTMN -cataphasia:KTFS:KTFX -cataphoric:KTFR:KTFR -cataplasia:KTPL:KTPL -catapulted:KTPL:KTPL -cataractal:KTRK:KTRK -catarrhina:KTRN:KTRN -catarrhine:KTRN:KTRN -catarrhous:KTRS:KTRS -catastases:KTST:KTST -catastasis:KTST:KTST -catastatic:KTST:KTST -catatonias:KTTN:KTTN -catatonics:KTTN:KTTN -catatonies:KTTN:KTTN -catcallers:KTKL:KTKL -catcalling:KTKL:KTKL -catchflies:KXFL:KXFL -catchiness:KXNS:KXNS -catchments:KXMN:KXMN -catchpenny:KXPN:KXPN -catchpoles:KXPL:KXPL -catchpolls:KXPL:KXPL -catchwater:KXTR:KXTR -catchwords:KXRT:KXRT -catechetic:KTXT:KTKT -catechisms:KTXS:KTKS -catechists:KTXS:KTKS -catechized:KTXS:KTKS -catechizer:KTXS:KTKS -catechizes:KTXS:KTKS -catechumen:KTXM:KTKM -categorial:KTKR:KTKR -categories:KTKR:KTKR -categorize:KTKR:KTKR -catenaries:KTNR:KTNR -catenating:KTNT:KTNT -catenation:KTNX:KTNX -catenulate:KTNL:KTNL -caterwauls:KTRL:KTRL -catharists:K0RS:KTRS -cathartics:K0RT:KTRT -cathedrals:K0TR:KTTR -cathodical:K0TK:KTTK -catholical:K0LK:KTLK -catholicly:K0LK:KTLK -catholicon:K0LK:KTLK -cationical:KXNK:KXNK -catnapping:KTNP:KTNP -catoptrics:KTPT:KTPT -caucasians:KKSN:KKXN -caucasoids:KKST:KKST -caulescent:KLSN:KLSN -causations:KSXN:KSXN -causticity:KSTS:KSTS -cauterized:KTRS:KTRS -cauterizes:KTRS:KTRS -cautionary:KXNR:KXNR -cautioners:KXNR:KXNR -cautioning:KXNN:KXNN -cautiously:KTSL:KTSL -cavalcades:KFLK:KFLK -cavalierly:KFLR:KFLR -cavalryman:KFLR:KFLR -cavalrymen:KFLR:KFLR -cavefishes:KFFX:KFFX -cavernomas:KFRN:KFRN -cavernosum:KFRN:KFRN -cavillings:KFLN:KFLN -cavitating:KFTT:KFTT -cavitation:KFTX:KFTX -cecopexies:SKPK:SKPK -cecoptoses:SKPT:SKPT -cecoptosis:SKPT:SKPT -cecotomies:SKTM:SKTM -celandines:SLNT:SLNT -celebrants:SLPR:SLPR -celebrated:SLPR:SLPR -celebrates:SLPR:SLPR -celebrator:SLPR:SLPR -celenteron:SLNT:SLNT -celibacies:SLPS:SLPX -celioscopy:SLSK:SLSK -cellblocks:SLPL:SLPL -cellifugal:SLFK:SLFK -cellipetal:SLPT:SLPT -cellobiose:SLPS:SLPS -cellophane:SLFN:SLFN -cellulitis:SLLT:SLLT -cellulosan:SLLS:SLLS -cellulosic:SLLS:SLLS -celticists:SLTS:SLTS -cementicle:SMNT:SMNT -cementomas:SMNT:SMNT -cemeteries:SMTR:SMTR -cenotaphes:SNTF:SNTF -cenotaphic:SNTF:SNTF -censorable:SNSR:SNSR -censorious:SNSR:SNSR -censorship:SNSR:SNSR -censurable:SNSR:SNSR -centauries:SNTR:SNTR -centennial:SNTN:SNTN -centeredly:SNTR:SNTR -centerfold:SNTR:SNTR -centerless:SNTR:SNTR -centerline:SNTR:SNTR -centermost:SNTR:SNTR -centesimal:SNTS:SNTS -centigrade:SNTK:SNTK -centigrams:SNTK:SNTK -centiliter:SNTL:SNTL -centillion:SNTL:SNTL -centimeter:SNTM:SNTM -centipedes:SNTP:SNTP -centipoise:SNTP:SNTP -centistoke:SNTS:SNTS -centralian:SNTR:SNTR -centralism:SNTR:SNTR -centralist:SNTR:SNTR -centrality:SNTR:SNTR -centralize:SNTR:SNTR -centrefold:SNTR:SNTR -centreline:SNTR:SNTR -centremost:SNTR:SNTR -centricity:SNTR:SNTR -centrifuge:SNTR:SNTR -centrioles:SNTR:SNTR -centromere:SNTR:SNTR -centrosome:SNTR:SNTR -centurions:SNTR:SNTR -cephaeline:SFLN:SFLN -cephalical:SFLK:SFLK -cephalopod:SFLP:SFLP -ceramicist:SRMS:SRMS -cercomonas:SRKM:SRKM -cerebellar:SRPL:SRPL -cerebellum:SRPL:SRPL -cerebrally:SRPR:SRPR -cerebrated:SRPR:SRPR -cerebrates:SRPR:SRPR -cerebronic:SRPR:SRPR -cerecloths:SRKL:SRKL -ceremonial:SRMN:SRMN -ceremonies:SRMN:SRMN -cerography:SRKR:SRKR -certifiers:SRTF:SRTF -certifying:SRTF:SRTF -certiorari:SRTR:SRTR -certitudes:SRTT:SRTT -ceruminous:SRMN:SRMN -cervicitis:SRFS:SRFS -cessations:SSXN:SSXN -cessionary:SSNR:SSNR -cessionees:SSNS:SSNS -cestoidean:SSTT:SSTT -cetologist:STLJ:STLK -ceyssatite:SSTT:SSTT -chafferers:XFRR:XFRR -chaffering:XFRN:XFRN -chagrining:XKRN:XKRN -chagrinned:XKRN:XKRN -chainplate:XNPL:XNPL -chairborne:XRPR:XRPR -chairbound:XRPN:XRPN -chairmaned:XRMN:XRMN -chairwoman:XRMN:XRMN -chairwomen:XRMN:XRMN -chalcedony:XLST:XLST -chalcocite:XLKS:XLKS -chalicoses:XLKS:XLKS -chalicosis:XLKS:XLKS -chalkboard:XLKP:XLKP -chalkiness:XLKN:XLKN -chalkstone:XLKS:XLKS -challenged:XLNJ:XLNK -challenger:XLNK:XLNJ -challenges:XLNJ:XLNK -chalybeate:XLPT:XLPT -chambering:XMPR:XMPR -chameleons:XMLN:XMLN -chamferers:XMFR:XMFR -chamfering:XMFR:XMFR -champagnes:XMPN:XMPK -champertor:XMPR:XMPR -champignon:XMPN:XMPK -championed:XMPN:XMPN -chanceless:XNSL:XNSL -chancellor:XNSL:XNSL -chanceries:XNSR:XNSR -chancering:XNSR:XNSR -chanciness:XNSN:XNSN -chancroids:XNKR:XNKR -chandelier:XNTL:XNTL -chandeling:XNTL:XNTL -chandelles:XNTL:XNTL -changeable:XNJP:XNKP -changeably:XNJP:XNKP -changeless:XNJL:XNKL -changeling:XNJL:XNKL -changeover:XNJF:XNKF -channelers:XNLR:XNLR -channeling:XNLN:XNLN -channelize:XNLS:XNLS -chanteuses:XNTS:XNTS -chantingly:XNTN:XNTN -chaparrals:XPRL:XPRL -chaperoned:XPRN:XPRN -chapfallen:XPFL:XPFL -chaplaincy:XPLN:XPLN -chaplainry:XPLN:XPLN -chapsticks:XPST:XPST -chaptalize:XPTL:XPTL -characters:KRKT:KRKT -charactery:KRKT:KRKT -charbroils:XRPR:XRPR -charcoaled:XRKL:XRKL -chargeable:XRJP:XRKP -chargeably:XRJP:XRKP -charioteer:XRTR:XRTR -charitable:XRTP:XRTP -charitably:XRTP:XRTP -charladies:XRLT:XRLT -charlatans:XRLT:XRLT -charleston:XRLS:XRLS -charmingly:XRMN:XRMN -charterers:XRTR:XRTR -chartering:XRTR:XRTR -chartreuse:XRTR:XRTR -chassidism:XSTS:XSTS -chasteners:XSTN:XSTN -chasteness:XSTN:XSTN -chastening:XSTN:XSTN -chastisers:XSTS:XSTS -chastising:XSTS:XSTS -chastities:XSTT:XSTT -chatelaine:XTLN:XTLN -chatelains:XTLN:XTLN -chattelism:XTLS:XTLS -chattelize:XTLS:XTLS -chatterbox:XTRP:XTRP -chatterers:XTRR:XTRR -chattererz:XTRR:XTRR -chattering:XTRN:XTRN -chattiness:XTNS:XTNS -chaucerian:XSRN:XSRN -chauffeurs:XFRS:XFRS -chauffeuse:XFS:XFS -chaulmugra:XLMK:XLMK -chauvinism:XFNS:XFNS -chauvinist:XFNS:XFNS -cheapeners:XPNR:XPNR -cheapening:XPNN:XPNN -cheapester:XPST:XPST -cheapskate:XPSK:XPSK -cheateries:XTRS:XTRS -cheatingly:XTNK:XTNK -cheatriers:XTRR:XTRR -checkbooks:XKPK:XKPK -checkering:XKRN:XKRN -checklists:XKLS:XKLS -checkmated:XKMT:XKMT -checkmates:XKMT:XKMT -checkpoint:XKPN:XKPN -checkrooms:XKRM:XKRM -cheekbones:XKPN:XKPN -cheekiness:XKNS:XKNS -cheekpiece:XKPS:XKPS -cheerfully:XRFL:XRFL -cheeriness:XRNS:XRNS -cheeringly:XRNK:XRNK -cheesecake:XSKK:XSKK -cheesiness:XSNS:XSNS -cheirology:XRLJ:XRLK -cheiromega:XRMK:XRMK -chelicerae:XLSR:XLSR -cheliceral:XLSR:XLSR -chelmsford:XLMS:XLMS -chemically:KMKL:KMKL -chemisorbs:KMSR:KMSR -chemostats:KMST:KMST -chemotaxes:KMTK:KMTK -chemotaxis:KMTK:KMTK -cheongsams:XNKS:XNKS -chequebook:XKPK:XKPK -chequering:XKRN:XKRN -chequewise:XKS:XKS -cherishers:XRXR:XRXR -cherishing:XRXN:XRXN -cherubical:XRPK:XRPK -chesapeake:XSPK:XSPK -chessboard:XSPR:XSPR -chesspiece:XSPS:XSPS -chestiness:XSTN:XSTN -chevaliers:XFLR:XFLR -chevisance:XFSN:XFSN -chevrettes:XFRT:XFRT -chevrolets:XFRL:XFRL -chiasmatic:KSMT:KSMT -chicagoans:XKKN:XKKN -chichester:XXST:XKST -chickadees:XKTS:XKTS -chickarees:XKRS:XKRS -chickasaws:XKSS:XKSS -chickening:XKNN:XKNN -chickweeds:XKTS:XKTS -chieftains:XFTN:XFTN -chiffchaff:XFXF:XFKF -chiffonier:XFN:XFNR -chihuahuas:XHHS:XHHS -chilblains:XLPL:XLPL -childbirth:XLTP:XLTP -childermas:XLTR:XLTR -childhoods:XLTT:XLTT -childishly:XLTX:XLTX -childproof:XLTP:XLTP -chiliastic:XLST:XLST -chilliness:XLNS:XLNS -chillingly:XLNK:XLNK -chilopodan:XLPT:XLPT -chimerical:XMRK:XMRK -chimpanzee:XMPN:XMPN -chinacrine:XNKR:XNKR -chinchilla:XNXL:XNKL -chintziest:XNTS:XNTS -chipblower:XPLR:XPLR -chipboards:XPRT:XPRT -chipolatas:XPLT:XPLT -chirognomy:XRNM:XRKN -chiromancy:XRMN:XRMN -chirospasm:XRSP:XRSP -chirpiness:XRPN:XRPN -chirrupers:XRPR:XRPR -chirruping:XRPN:XRPN -chiselings:XSLN:XSLN -chivalrous:XFLR:XFLR -chlamydate:KLMT:KLMT -chloasmata:KLSM:KLSM -chloraemia:KLRM:KLRM -chloralism:KLRL:KLRL -chloralose:KLRL:KLRL -chloramine:KLRM:KLRM -chlorbutol:KLRP:KLRP -chlorinate:KLRN:KLRN -chloroform:KLRF:KLRF -chloromata:KLRM:KLRM -chloropsia:KLRP:KLRP -chlorothen:KLR0:KLRT -choanocyte:XNST:XNST -chockstone:XKST:XKST -chocolates:XKLT:XKLT -choiceness:XSNS:XSNS -chokebores:XKPR:XKPR -cholagogic:XLKJ:XLKK -cholagogue:XLKK:XLKK -choledochi:XLTX:XLTK -cholemesis:XLMS:XLMS -cholereses:XLRS:XLRS -choleresis:XLRS:XLRS -choleretic:XLRT:XLRT -cholericly:XLRK:XLRK -chondrites:XNTR:XNTR -chondritic:XNTR:XNTR -chondritis:XNTR:XNTR -chondromas:XNTR:XNTR -chondroses:XNTR:XNTR -chondrosis:XNTR:XNTR -chondrules:XNTR:XNTR -choosiness:XSNS:XSNS -chophouses:XFSS:XFSS -choppiness:XPNS:XPNS -chopsticks:XPST:XPST -choralists:KRLS:KRLS -chordomata:KRTM:KRTM -chordotomy:KRTT:KRTT -choreiform:XRFR:XRFR -choriocele:KRSL:KRSL -choriomata:KRMT:KRMT -chorioptes:KRPT:KRPT -chorioptic:KRPT:KRPT -choristers:KRST:KRST -chowchilla:XXL:XKL -christened:KRST:KRST -christener:KRST:KRST -christhood:KRS0:KRST -christians:KRSX:KRSX -christlike:KRST:KRST -chromaffin:KRMF:KRMF -chromaphil:KRMF:KRMF -chromatics:KRMT:KRMT -chromatids:KRMT:KRMT -chromatism:KRMT:KRMT -chromatist:KRMT:KRMT -chromatoid:KRMT:KRMT -chromocyte:KRMS:KRMS -chromogens:KRMJ:KRMK -chromomere:KRMM:KRMM -chromophil:KRMF:KRMF -chromosome:KRMS:KRMS -chronaxias:KRNK:KRNK -chronaxies:KRNK:KRNK -chronicity:KRNS:KRNS -chronicled:KRNK:KRNK -chronicler:KRNK:KRNK -chronicles:KRNK:KRNK -chronogram:KRNK:KRNK -chronology:KRNL:KRNL -chrysalids:KRSL:KRSL -chrysolite:KRSL:KRSL -chrysolyte:KRSL:KRSL -chrysomyia:KRSM:KRSM -chubbiness:XPNS:XPNS -chuckholes:XKLS:XKLS -chumminess:XMNS:XMNS -chunkiness:XNKN:XNKN -churchgoer:XRXK:XRKK -churchiest:XRXS:XRKS -churchless:XRXL:XRKL -churchyard:XRXR:XRKR -churlishly:XRLX:XRLX -chylaceous:XLSS:XLSS -chylorrhea:XLR:XLR -cicatrices:SKTR:SKTR -cicatricle:SKTR:SKTR -cicatrixes:SKTR:SKTR -cicatrized:SKTR:SKTR -cicatrizer:SKTR:SKTR -cicatrizes:SKTR:SKTR -ciceronian:SSRN:SSRN -cigarettes:SKRT:SKRT -cigarillos:SKRL:SKRL -ciliophora:SLFR:SLFR -cimetidine:SMTT:SMTT -cinchonine:SNXN:SNKN -cinchonism:SNXN:SNKN -cinchonize:SNXN:SNKN -cinchophen:SNXF:SNKF -cincinnati:SNSN:SNSN -cincturing:SNKT:SNKT -cinderella:SNTR:SNTR -cinematics:SNMT:SNMT -cineplasty:SNPL:SNPL -cinerarium:SNRR:SNRR -cingulated:SNKL:SNKL -cinnamonic:SNMN:SNMN -cinquefoil:SNKF:SNKF -circannual:SRKN:SRKN -circassian:SRKS:SRKS -circuiteer:SRKT:SRKT -circuiters:SRKT:SRKT -circuities:SRKT:SRKT -circuiting:SRKT:SRKT -circuitous:SRKT:SRKT -circulares:SRKL:SRKL -circularis:SRKL:SRKL -circularly:SRKL:SRKL -circulated:SRKL:SRKL -circulates:SRKL:SRKL -circulator:SRKL:SRKL -circumanal:SRKM:SRKM -circumcise:SRKM:SRKM -circumflex:SRKM:SRKM -circumfuse:SRKM:SRKM -circumoral:SRKM:SRKM -circumvent:SRKM:SRKM -cirripedes:SRPT:SRPT -cirsectomy:SRSK:SRSK -cismontane:SSMN:SSMN -cistercian:SSTR:SSTR -citizeness:STSN:STSN -citronella:STRN:STRN -citrulline:STRL:STRL -cityscapes:STSK:STSK -civilities:SFLT:SFLT -civilizers:SFLS:SFLS -civilizing:SFLS:SFLS -cladistics:KLTS:KLTS -cladograms:KLTK:KLTK -cladophyll:KLTF:KLTF -clamberers:KLMP:KLMP -clambering:KLMP:KLMP -clamminess:KLMN:KLMN -clamourous:KLMR:KLMR -clampdowns:KLMP:KLMP -clamshells:KLMX:KLMX -clangoring:KLNK:KLNK -clangorous:KLNK:KLNK -clankingly:KLNK:KLNK -clannishly:KLNX:KLNX -clanswoman:KLNS:KLNS -clanswomen:KLNS:KLNS -clapboards:KLPR:KLPR -clarabella:KLRP:KLRP -claribella:KLRP:KLRP -clarifiers:KLRF:KLRF -clarifying:KLRF:KLRF -clashingly:KLXN:KLXN -classicism:KLSS:KLSS -classicist:KLSS:KLSS -classicize:KLSS:KLSS -classified:KLSF:KLSF -classifier:KLSF:KLSF -classifies:KLSF:KLSF -classiness:KLSN:KLSN -classmates:KLSM:KLSM -classrooms:KLSR:KLSR -clatterers:KLTR:KLTR -clattering:KLTR:KLTR -clavichord:KLFX:KLFK -clavicorns:KLFK:KLFK -claviculae:KLFK:KLFK -clavicular:KLFK:KLFK -clavierist:KLFR:KLFR -claviforms:KLFF:KLFF -clayeyness:KLNS:KLNS -cleanliest:KLNL:KLNL -cleansable:KLNS:KLNS -clearances:KLRN:KLRN -clearcoled:KLRK:KLRK -clearcoles:KLRK:KLRK -clearwater:KLRT:KLRT -clematises:KLMT:KLMT -clemencies:KLMN:KLMN -clementine:KLMN:KLMN -clerestory:KLRS:KLRS -clerically:KLRK:KLRK -clerkliest:KLRK:KLRK -clerkships:KLRK:KLRK -cleverness:KLFR:KLFR -clienteles:KLNT:KLNT -clientless:KLNT:KLNT -climatical:KLMT:KLMT -clinginess:KLNJ:KLNK -clingingly:KLNJ:KLNK -clingstone:KLNK:KLNK -clinically:KLNK:KLNK -clinicians:KLNS:KLNX -clinkering:KLNK:KLNK -clinkstone:KLNK:KLNK -clinometry:KLNM:KLNM -clinostats:KLNS:KLNS -clipboards:KLPR:KLPR -clipsheets:KLPX:KLPX -cliquishly:KLKX:KLKX -clitoridis:KLTR:KLTR -clitorises:KLTR:KLTR -clitoritis:KLTR:KLTR -cloakrooms:KLKR:KLKR -clobbering:KLPR:KLPR -clockmaker:KLKM:KLKM -clockworks:KLKR:KLKR -cloddishly:KLTX:KLTX -clodhopper:KLTP:KLTP -clofibrate:KLFP:KLFP -clogginess:KLJN:KLKN -cloistered:KLST:KLST -clomiphene:KLMF:KLMF -clonorchis:KLNR:KLNR -closemouth:KLSM:KLSM -clostridia:KLST:KLST -clothbound:KL0P:KLTP -clothespin:KL0S:KLTS -cloudburst:KLTP:KLTP -cloudiness:KLTN:KLTN -cloudscape:KLTS:KLTS -cloverleaf:KLFR:KLFR -clownishly:KLNX:KLNX -cloyedness:KLTN:KLTN -clubfooted:KLPF:KLPF -clubhanded:KLPN:KLPN -clubhauled:KLPL:KLPL -clubhouses:KLPS:KLPS -clumsiness:KLMS:KLMS -clustering:KLST:KLST -cluttering:KLTR:KLTR -clydesdale:KLTS:KLTS -cnidoblast:KNTP:KNTP -coacervate:KSRF:KSRF -coactively:KKTF:KKTF -coactivity:KKTF:KKTF -coadjutant:KTJT:KTJT -coadjutors:KTJT:KTJT -coadjutrix:KTJT:KTJT -coagulable:KKLP:KKLP -coagulants:KKLN:KKLN -coagulated:KKLT:KKLT -coagulates:KKLT:KKLT -coagulator:KKLT:KKLT -coalescent:KLSN:KLSN -coalescing:KLSN:KLSN -coalfields:KLFL:KLFL -coalfishes:KLFX:KLFX -coalitions:KLXN:KLXN -coappellee:KPL:KPL -coaptation:KPTX:KPTX -coarseness:KRSN:KRSN -coarsening:KRSN:KRSN -coastguard:KSTK:KSTK -coastlines:KSTL:KSTL -coastwises:KSTS:KSTS -coauthored:K0RT:KTRT -cobalamine:KPLM:KPLM -cocainized:KKNS:KKNS -cocainizes:KKNS:KKNS -coccigenic:KXJN:KXKN -coccogenic:KKJN:KKKN -coccyalgia:KKLJ:KKLK -coccydynia:KKTN:KKTN -cochleated:KKLT:KKLT -cockalorum:KKLR:KKLR -cockamamie:KKMM:KKMM -cockateels:KKTL:KKTL -cockatiels:KKTL:KKTL -cockatrice:KKTR:KKTR -cockchafer:KKXF:KKKF -cockfights:KKFT:KKFT -cockhorses:KKRS:KKRS -cockneyish:KKNX:KKNX -cockneyism:KKNS:KKNS -cocknified:KKNF:KKNF -cocknifies:KKNF:KKNF -cockscombs:KKSK:KKSK -cocksurely:KKSR:KKSR -codicology:KTKL:KTKL -codswallop:KTSL:KTSL -coelacanth:KLKN:KLKN -coelentera:KLNT:KLNT -coelostats:KLST:KLST -coemployee:KMPL:KMPL -coenobites:KNPT:KNPT -coenobitic:KNPT:KNPT -coenocytes:KNST:KNST -coenocytic:KNST:KNST -coenuroses:KNRS:KNRS -coenurosis:KNRS:KNRS -coequality:KKLT:KKLT -coercively:KRSF:KRSF -coercivity:KRSF:KRSF -coeternity:KTRN:KTRN -coexecutor:KKSK:KKSK -coexistent:KKSS:KKSS -coexisting:KKSS:KKSS -coextended:KKST:KKST -cofeatures:KFTR:KFTR -coffeecake:KFKK:KFKK -coffeepots:KFPT:KFPT -cofferdams:KFRT:KFRT -cogitating:KJTT:KKTT -cogitation:KJTX:KKTX -cogitative:KJTT:KKTT -cogitators:KJTT:KKTT -cognisably:KNSP:KKNS -cognisance:KNSN:KKNS -cognitions:KNXN:KKNX -cognizable:KNSP:KKNS -cognizably:KNSP:KKNS -cognizance:KNSN:KKNS -cognoscing:KNSN:KKNS -cohabitant:KHPT:KHPT -cohabitate:KHPT:KHPT -cohabiters:KHPT:KHPT -cohabiting:KHPT:KHPT -coherently:KHRN:KHRN -cohesively:KHSF:KHSF -cohobating:KHPT:KHPT -cohobation:KHPX:KHPX -coiffeuses:KFSS:KFSS -coincident:KNST:KNST -coinciding:KNST:KNST -coinsurers:KNSR:KNSR -coinsuring:KNSR:KNSR -colatitude:KLTT:KLTT -colchester:KLXS:KLKS -colchicine:KLXS:KLKS -colegatees:KLKT:KLKT -collagenic:KLJN:KLKN -collagists:KLJS:KLKS -collapsars:KLPS:KLPS -collapsing:KLPS:KLPS -collarbone:KLRP:KLRP -collarette:KLRT:KLRT -collarless:KLRL:KLRL -collateral:KLTR:KLTR -collations:KLXN:KLXN -colleagues:KLKS:KLKS -collecting:KLKT:KLKT -collection:KLKX:KLKX -collective:KLKT:KLKT -collectors:KLKT:KLKT -collegians:KLJN:KLKN -collegiate:KLJT:KLKT -collegiums:KLJM:KLKM -collieries:KLRS:KLRS -colligated:KLKT:KLKT -colligates:KLKT:KLKT -collimated:KLMT:KLMT -collimator:KLMT:KLMT -collisions:KLSN:KLXN -collocated:KLKT:KLKT -collocates:KLKT:KLKT -collocutor:KLKT:KLKT -colloguing:KLKN:KLKN -colloquial:KLKL:KLKL -colloquies:KLKS:KLKS -colloquist:KLKS:KLKS -colloquium:KLKM:KLKM -collotypes:KLTP:KLTP -collotypic:KLTP:KLTP -collunaria:KLNR:KLNR -collutoria:KLTR:KLTR -colluviums:KLFM:KLFM -collyriums:KLRM:KLRM -colobomata:KLPM:KLPM -colombians:KLMP:KLMP -colonially:KLNL:KLNL -colonizers:KLNS:KLNS -colonizing:KLNS:KLNS -colonnaded:KLNT:KLNT -colonnades:KLNT:KLNT -colopexies:KLPK:KLPK -coloradans:KLRT:KLRT -coloration:KLRX:KLRX -coloratura:KLRT:KLRT -colorblind:KLRP:KLRP -colorcasts:KLRK:KLRK -colorectal:KLRK:KLRK -colorfully:KLRF:KLRF -coloristic:KLRS:KLRS -colorizing:KLRS:KLRS -colorpoint:KLRP:KLRP -colossally:KLSL:KLSL -colosseums:KLSM:KLSM -colossians:KLSN:KLSN -colossuses:KLSS:KLSS -colostrous:KLST:KLST -colotomies:KLTM:KLTM -colpectomy:KLPK:KLPK -colpitises:KLPT:KLPT -colportage:KLPR:KLPR -colporteur:KLPR:KLPR -colposcope:KLPS:KLPS -colposcopy:KLPS:KLPS -columbaria:KLMP:KLMP -columbines:KLMP:KLMP -columellae:KLML:KLML -columellar:KLML:KLML -columnated:KLMN:KLMN -columnates:KLMN:KLMN -columnists:KLMN:KLMN -columnized:KLMN:KLMN -columnizes:KLMN:KLMN -comatosely:KMTS:KMTS -combatable:KMPT:KMPT -combatants:KMPT:KMPT -combattant:KMPT:KMPT -combatting:KMPT:KMPT -combinable:KMPN:KMPN -combinator:KMPN:KMPN -combusting:KMPS:KMPS -combustion:KMPS:KMPS -combustive:KMPS:KMPS -combustors:KMPS:KMPS -comedienne:KMTN:KMTN -comeliness:KMLN:KMLN -comestible:KMST:KMST -comforters:KMFR:KMFR -comforting:KMFR:KMFR -comicality:KMKL:KMKL -commandant:KMNT:KMNT -commandeer:KMNT:KMNT -commanders:KMNT:KMNT -commanding:KMNT:KMNT -commandite:KMNT:KMNT -commandoes:KMNT:KMNT -commeasure:KMSR:KMSR -commencers:KMNS:KMNS -commencing:KMNS:KMNS -commending:KMNT:KMNT -commentary:KMNT:KMNT -commentate:KMNT:KMNT -commenters:KMNT:KMNT -commenting:KMNT:KMNT -commercial:KMRS:KMRX -commingled:KMNK:KMNK -commingles:KMNK:KMNK -comminuted:KMNT:KMNT -comminutes:KMNT:KMNT -commissars:KMSR:KMSR -commissary:KMSR:KMSR -commission:KMSN:KMSN -commissive:KMSF:KMSF -commissura:KMSR:KMSR -commissure:KMSR:KMSR -commitment:KMTM:KMTM -committals:KMTL:KMTL -committees:KMTS:KMTS -committers:KMTR:KMTR -committing:KMTN:KMTN -commixtion:KMKS:KMKS -commixture:KMKS:KMKS -commodatio:KMTT:KMTT -commodatum:KMTT:KMTT -commodious:KMTS:KMTS -commodores:KMTR:KMTR -commonable:KMNP:KMNP -commonalty:KMNL:KMNL -commonness:KMNS:KMNS -commonties:KMNT:KMNT -commonweal:KMNL:KMNL -commorancy:KMRN:KMRN -commorient:KMRN:KMRN -commotions:KMXN:KMXN -communally:KMNL:KMNL -communards:KMNR:KMNR -communions:KMNN:KMNN -communique:KMNK:KMNK -communists:KMNS:KMNS -communized:KMNS:KMNS -communizes:KMNS:KMNS -commutable:KMTP:KMTP -commutated:KMTT:KMTT -commutates:KMTT:KMTT -commutator:KMTT:KMTT -compacters:KMPK:KMPK -compactest:KMPK:KMPK -compacting:KMPK:KMPK -compaction:KMPK:KMPK -compactors:KMPK:KMPK -companions:KMPN:KMPN -companying:KMPN:KMPN -comparable:KMPR:KMPR -comparably:KMPR:KMPR -comparator:KMPR:KMPR -comparison:KMPR:KMPR -comparting:KMPR:KMPR -compassing:KMPS:KMPS -compassion:KMPS:KMPS -compatible:KMPT:KMPT -compatibly:KMPT:KMPT -compatriot:KMPT:KMPT -compellers:KMPL:KMPL -compelling:KMPL:KMPL -compendium:KMPN:KMPN -compensate:KMPN:KMPN -competence:KMPT:KMPT -competency:KMPT:KMPT -competitor:KMPT:KMPT -compilable:KMPL:KMPL -complacent:KMPL:KMPL -complained:KMPL:KMPL -complainer:KMPL:KMPL -complaints:KMPL:KMPL -complected:KMPL:KMPL -complectly:KMPL:KMPL -complement:KMPL:KMPL -completely:KMPL:KMPL -completers:KMPL:KMPL -completest:KMPL:KMPL -completing:KMPL:KMPL -completion:KMPL:KMPL -completive:KMPL:KMPL -complexion:KMPL:KMPL -complexity:KMPL:KMPL -compliable:KMPL:KMPL -compliably:KMPL:KMPL -compliance:KMPL:KMPL -compliancy:KMPL:KMPL -complicate:KMPL:KMPL -complicity:KMPL:KMPL -compliment:KMPL:KMPL -components:KMPN:KMPN -comporting:KMPR:KMPR -composedly:KMPS:KMPS -composites:KMPS:KMPS -compositor:KMPS:KMPS -composting:KMPS:KMPS -compounded:KMPN:KMPN -compounder:KMPN:KMPN -comprehend:KMPR:KMPR -compressed:KMPR:KMPR -compresses:KMPR:KMPR -compressor:KMPR:KMPR -comprisals:KMPR:KMPR -comprising:KMPR:KMPR -compromise:KMPR:KMPR -compromits:KMPR:KMPR -compulsion:KMPL:KMPL -compulsive:KMPL:KMPL -compulsory:KMPL:KMPL -computable:KMPT:KMPT -conalbumin:KNLP:KNLP -conational:KNXN:KNXN -concealers:KNSL:KNSL -concealing:KNSL:KNSL -concededly:KNST:KNST -conceiting:KNST:KNST -conceivers:KNSF:KNSF -conceiving:KNSF:KNSF -concenters:KNSN:KNSN -concentred:KNSN:KNSN -concentric:KNSN:KNSN -conception:KNSP:KNSP -conceptive:KNSP:KNSP -conceptual:KNSP:KNSP -concerning:KNSR:KNSR -concertina:KNSR:KNSR -concerting:KNSR:KNSR -concertize:KNSR:KNSR -concession:KNSS:KNSS -concessive:KNSS:KNSS -conchiolin:KNXL:KNKL -conchoidal:KNXT:KNKT -conchology:KNXL:KNKL -conchotome:KNXT:KNKT -concierges:KNSR:KNXR -conciliate:KNSL:KNSL -concinnity:KNSN:KNSN -concinnous:KNSN:KNSN -conclavist:KNKL:KNKL -concluders:KNKL:KNKL -concluding:KNKL:KNKL -conclusion:KNKL:KNKL -conclusive:KNKL:KNKL -concocters:KNKK:KNKK -concocting:KNKK:KNKK -concoction:KNKK:KNKK -concoctive:KNKK:KNKK -concoctors:KNKK:KNKK -concordant:KNKR:KNKR -concordats:KNKR:KNKR -concourses:KNKR:KNKR -concrement:KNKR:KNKR -concretely:KNKR:KNKR -concreting:KNKR:KNKR -concretion:KNKR:KNKR -concretive:KNKR:KNKR -concretize:KNKR:KNKR -concubines:KNKP:KNKP -concurrent:KNKR:KNKR -concurring:KNKR:KNKR -concussion:KNKS:KNKS -concussive:KNKS:KNKS -condemners:KNTM:KNTM -condemning:KNTM:KNTM -condensate:KNTN:KNTN -condensers:KNTN:KNTN -condensing:KNTN:KNTN -condescend:KNTS:KNTS -condiments:KNTM:KNTM -conditione:KNTX:KNTX -conditions:KNTX:KNTX -condolence:KNTL:KNTL -condominia:KNTM:KNTM -condonable:KNTN:KNTN -conducible:KNTS:KNTS -conducting:KNTK:KNTK -conduction:KNTK:KNTK -conductive:KNTK:KNTK -conductors:KNTK:KNTK -condurango:KNTR:KNTR -condylomas:KNTL:KNTL -confabbing:KNFP:KNFP -confecting:KNFK:KNFK -confection:KNFK:KNFK -conference:KNFR:KNFR -conferment:KNFR:KNFR -conferrals:KNFR:KNFR -conferrees:KNFR:KNFR -conferrers:KNFR:KNFR -conferring:KNFR:KNFR -confessant:KNFS:KNFS -confessing:KNFS:KNFS -confession:KNFS:KNFS -confessors:KNFS:KNFS -confidante:KNFT:KNFT -confidants:KNFT:KNFT -confidence:KNFT:KNFT -configured:KNFK:KNFK -configures:KNFK:KNFK -confinable:KNFN:KNFN -confinedly:KNFN:KNFN -confirmand:KNFR:KNFR -confirmers:KNFR:KNFR -confirming:KNFR:KNFR -confiscata:KNFS:KNFS -confiscate:KNFS:KNFS -confitures:KNFT:KNFT -conflating:KNFL:KNFL -conflation:KNFL:KNFL -conflicted:KNFL:KNFL -confluence:KNFL:KNFL -conformers:KNFR:KNFR -conforming:KNFR:KNFR -conformism:KNFR:KNFR -conformist:KNFR:KNFR -conformity:KNFR:KNFR -confounded:KNFN:KNFN -confounder:KNFN:KNFN -confronted:KNFR:KNFR -confronter:KNFR:KNFR -confucians:KNFS:KNFX -confusable:KNFS:KNFS -confusedly:KNFS:KNFS -confusions:KNFS:KNFX -confutable:KNFT:KNFT -confutator:KNFT:KNFT -congealers:KNJL:KNKL -congealing:KNJL:KNKL -congeneric:KNJN:KNKN -congenital:KNJN:KNKN -congesting:KNJS:KNKS -congestion:KNJS:KNKS -congestive:KNJS:KNKS -conglobate:KNKL:KNKL -congregant:KNKR:KNKR -congregate:KNKR:KNKR -congresses:KNKR:KNKR -congruence:KNKR:KNKR -congruency:KNKR:KNKR -conhydrine:KNTR:KNTR -coniferous:KNFR:KNFR -conization:KNSX:KNSX -conjecture:KNJK:KNJK -conjoiners:KNJN:KNJN -conjoining:KNJN:KNJN -conjointly:KNJN:KNJN -conjugable:KNJK:KNJK -conjugally:KNJK:KNJK -conjugatae:KNJK:KNJK -conjugated:KNJK:KNJK -conjugates:KNJK:KNJK -conjugator:KNJK:KNJK -conjuncted:KNJN:KNJN -conjunctly:KNJN:KNJN -connatural:KNTR:KNTR -connecters:KNKT:KNKT -connecting:KNKT:KNKT -connection:KNKX:KNKX -connective:KNKT:KNKT -connectors:KNKT:KNKT -conniption:KNPX:KNPX -connivance:KNFN:KNFN -conoidally:KNTL:KNTL -conoscenti:KNSN:KNSN -conquerers:KNKR:KNKR -conquering:KNKR:KNKR -conquerors:KNKR:KNKR -conquinine:KNKN:KNKN -conscience:KNSN:KNSN -conscribed:KNSK:KNSK -conscripts:KNSK:KNSK -consecrate:KNSK:KNSK -consensual:KNSN:KNSN -consenters:KNSN:KNSN -consenting:KNSN:KNSN -consequent:KNSK:KNSK -conservers:KNSR:KNSR -conserving:KNSR:KNSR -considered:KNST:KNST -considerer:KNST:KNST -consignees:KNSN:KNSK -consigners:KNSN:KNSK -consigning:KNSN:KNSK -consignors:KNSN:KNSK -consistent:KNSS:KNSS -consisting:KNSS:KNSS -consistory:KNSS:KNSS -consociate:KNSS:KNSX -consolable:KNSL:KNSL -consolably:KNSL:KNSL -consonance:KNSN:KNSN -consonancy:KNSN:KNSN -consonants:KNSN:KNSN -consorters:KNSR:KNSR -consortial:KNSR:KNSR -consorting:KNSR:KNSR -consortium:KNSR:KNSR -conspectus:KNSP:KNSP -conspiracy:KNSP:KNSP -conspirers:KNSP:KNSP -conspiring:KNSP:KNSP -constables:KNST:KNST -constantly:KNST:KNST -constipate:KNST:KNST -constitute:KNST:KNST -constrains:KNST:KNST -constraint:KNST:KNST -constricts:KNST:KNST -constringe:KNST:KNST -constructs:KNST:KNST -construers:KNST:KNST -construing:KNST:KNST -consuetude:KNST:KNST -consuetudo:KNST:KNST -consulated:KNSL:KNSL -consulates:KNSL:KNSL -consulship:KNSL:KNSL -consultant:KNSL:KNSL -consulters:KNSL:KNSL -consulting:KNSL:KNSL -consultive:KNSL:KNSL -consultors:KNSL:KNSL -consumable:KNSM:KNSM -consumedly:KNSM:KNSM -consummate:KNSM:KNSM -contacting:KNTK:KNTK -contactors:KNTK:KNTK -contactual:KNTK:KNTK -contagions:KNTJ:KNTK -contagiosa:KNTJ:KNTK -contagious:KNTJ:KNTK -containers:KNTN:KNTN -containing:KNTN:KNTN -contangoed:KNTN:KNTN -contangoes:KNTN:KNTN -contemners:KNTM:KNTM -contemning:KNTM:KNTM -contendere:KNTN:KNTN -contenders:KNTN:KNTN -contending:KNTN:KNTN -contenting:KNTN:KNTN -contention:KNTN:KNTN -contestant:KNTS:KNTS -contestees:KNTS:KNTS -contesters:KNTS:KNTS -contesting:KNTS:KNTS -contextual:KNTK:KNTK -contexture:KNTK:KNTK -contiguity:KNTK:KNTK -contiguous:KNTK:KNTK -continence:KNTN:KNTN -continency:KNTN:KNTN -continenti:KNTN:KNTN -continents:KNTN:KNTN -contingent:KNTN:KNTN -continuant:KNTN:KNTN -continuers:KNTN:KNTN -continuing:KNTN:KNTN -continuity:KNTN:KNTN -continuous:KNTN:KNTN -continuums:KNTN:KNTN -contorting:KNTR:KNTR -contortion:KNTR:KNTR -contortive:KNTR:KNTR -contouring:KNTR:KNTR -contraband:KNTR:KNTR -contrabass:KNTR:KNTR -contracted:KNTR:KNTR -contractor:KNTR:KNTR -contractus:KNTR:KNTR -contradict:KNTR:KNTR -contraflow:KNTR:KNTR -contraltos:KNTR:KNTR -contraprop:KNTR:KNTR -contraries:KNTR:KNTR -contrarily:KNTR:KNTR -contrasted:KNTR:KNTR -contraster:KNTR:KNTR -contravene:KNTR:KNTR -contrecoup:KNTR:KNTR -contribute:KNTR:KNTR -contritely:KNTR:KNTR -contrition:KNTR:KNTR -contrivers:KNTR:KNTR -contriving:KNTR:KNTR -controlled:KNTR:KNTR -controller:KNTR:KNTR -controvert:KNTR:KNTR -contusions:KNTS:KNTX -conundrums:KNNT:KNNT -convalesce:KNFL:KNFL -convecting:KNFK:KNFK -convection:KNFK:KNFK -convective:KNFK:KNFK -convectors:KNFK:KNFK -convenable:KNFN:KNFN -convenably:KNFN:KNFN -convenance:KNFN:KNFN -conveniens:KNFN:KNFN -convenient:KNFN:KNFN -convention:KNFN:KNFN -conventual:KNFN:KNFN -convergent:KNFR:KNFR -converging:KNFR:KNFR -conversant:KNFR:KNFR -conversely:KNFR:KNFR -conversers:KNFR:KNFR -conversing:KNFR:KNFR -conversion:KNFR:KNFR -converters:KNFR:KNFR -converting:KNFR:KNFR -convertive:KNFR:KNFR -convertors:KNFR:KNFR -conveyable:KNFP:KNFP -conveyance:KNFN:KNFN -convicting:KNFK:KNFK -conviction:KNFK:KNFK -convictive:KNFK:KNFK -convincers:KNFN:KNFN -convincing:KNFN:KNFN -convocator:KNFK:KNFK -convoluted:KNFL:KNFL -convolutes:KNFL:KNFL -convolving:KNFL:KNFL -convolvuli:KNFL:KNFL -convulsant:KNFL:KNFL -convulsing:KNFL:KNFL -convulsion:KNFL:KNFL -convulsive:KNFL:KNFL -cookhouses:KKSS:KKSS -coolgardie:KLKR:KLKR -coonhounds:KNNT:KNNT -cooperated:KPRT:KPRT -cooperates:KPRT:KPRT -cooperator:KPRT:KPRT -cooptation:KPTX:KPTX -cooptative:KPTT:KPTT -coordinate:KRTN:KRTN -coossified:KSFT:KSFT -coparcener:KPRS:KPRS -copartners:KPRT:KPRT -copenhagen:KPNJ:KPNK -copernican:KPRN:KPRN -copernicus:KPRN:KPRN -copestones:KPST:KPST -copolymers:KPLM:KPLM -copperhead:KPRT:KPRT -copremeses:KPRM:KPRM -copremesis:KPRM:KPRM -coprolalia:KPRL:KPRL -coprolitic:KPRL:KPRL -coprophagy:KPRF:KPRF -copulating:KPLT:KPLT -copulation:KPLX:KPLX -copulative:KPLT:KPLT -copulatory:KPLT:KPLT -copygraphs:KPKR:KPKR -copyholder:KPHL:KPHL -copyreader:KPRT:KPRT -copyrights:KPRT:KPRT -copywriter:KPRT:KPRT -coquetries:KKTR:KKTR -coquetting:KKTN:KKTN -coquettish:KKTX:KKTX -coracidium:KRST:KRST -corbelings:KRPL:KRPL -cordectomy:KRTK:KRTK -cordiality:KRTL:KRTL -cordillera:KRTL:KRTL -cordlessly:KRTL:KRTL -cordwainer:KRTN:KRTN -corectases:KRKT:KRKT -corectasis:KRKT:KRKT -corectopia:KRKT:KRKT -coriaceous:KRSS:KRSS -corianders:KRNT:KRNT -corinthian:KRN0:KRNT -corkboards:KRKP:KRKP -corkonians:KRKN:KRKN -corkscrews:KRKS:KRKS -cormorants:KRMR:KRMR -cornelians:KRNL:KRNL -cornerways:KRNR:KRNR -cornerwise:KRNR:KRNR -cornetists:KRNT:KRNT -cornfields:KRNF:KRNF -cornflakes:KRNF:KRNF -cornflower:KRNF:KRNF -corniculum:KRNK:KRNK -cornifying:KRNF:KRNF -cornishman:KRNX:KRNX -cornishmen:KRNX:KRNX -cornstalks:KRNS:KRNS -cornstarch:KRNS:KRNS -cornucopia:KRNK:KRNK -coronaches:KRNX:KRNK -coronaries:KRNR:KRNR -coronation:KRNX:KRNX -coroutines:KRTN:KRTN -corporales:KRPR:KRPR -corporally:KRPR:KRPR -corporator:KRPR:KRPR -corporeity:KRPR:KRPR -corpulence:KRPL:KRPL -corpulency:KRPL:KRPL -corpuscles:KRPS:KRPS -corpuscule:KRPS:KRPS -corralling:KRLN:KRLN -correality:KRLT:KRLT -correcting:KRKT:KRKT -correction:KRKX:KRKX -corrective:KRKT:KRKT -correctors:KRKT:KRKT -correlated:KRLT:KRLT -correlates:KRLT:KRLT -correspond:KRSP:KRSP -corriedale:KRTL:KRTL -corrigenda:KRJN:KRKN -corrigible:KRJP:KRKP -corrigibly:KRJP:KRKP -corroboree:KRPR:KRPR -corrodents:KRTN:KRTN -corrodible:KRTP:KRTP -corrosives:KRSF:KRSF -corrugated:KRKT:KRKT -corrugates:KRKT:KRKT -corrugator:KRKT:KRKT -corrupters:KRPT:KRPT -corrupting:KRPT:KRPT -corruption:KRPX:KRPX -corruptive:KRPT:KRPT -corruptors:KRPT:KRPT -cortically:KRTK:KRTK -corticated:KRTK:KRTK -coruscated:KRSK:KRSK -coruscates:KRSK:KRSK -corybantic:KRPN:KRPN -coryneform:KRNF:KRNF -cosmically:KSMK:KSMK -cosmogonal:KSMK:KSMK -cosmogonic:KSMK:KSMK -cosmologic:KSML:KSML -cosmonauts:KSMN:KSMN -cosmopolis:KSMP:KSMP -cosponsors:KSPN:KSPN -costectomy:KSTK:KSTK -costliness:KSTL:KSTL -costumiers:KSTM:KSTM -cotangents:KTNJ:KTNK -cotillions:KTLN:KTLN -cottonseed:KTNS:KTNS -cottontail:KTNT:KTNT -cottonweed:KTNT:KTNT -cottonwood:KTNT:KTNT -cotyledons:KTLT:KTLT -cotyloidal:KTLT:KTLT -couchantly:KXNT:KKNT -coulometry:KLMT:KLMT -councillor:KNSL:KNSL -councilman:KNSL:KNSL -councilmen:KNSL:KNSL -councilors:KNSL:KNSL -counselees:KNSL:KNSL -counseling:KNSL:KNSL -counselors:KNSL:KNSL -countdowns:KNTN:KNTN -counteract:KNTR:KNTR -countering:KNTR:KNTR -counterman:KNTR:KNTR -countermen:KNTR:KNTR -counterspy:KNTR:KNTR -countesses:KNTS:KNTS -countryman:KNTR:KNTR -countrymen:KNTR:KNTR -courageous:KRJS:KRKS -courgettes:KRKT:KRKT -courtesans:KRTS:KRTS -courtesies:KRTS:KRTS -courthouse:KR0S:KRTS -courtliest:KRTL:KRTL -courtrooms:KRTR:KRTR -courtships:KRTX:KRTX -courtyards:KRTR:KRTR -cousinship:KSNX:KSNX -couturiere:KTRR:KTRR -couturiers:KTRR:KTRR -covalences:KFLN:KFLN -covalently:KFLN:KFLN -covariance:KFRN:KFRN -covenantal:KFNN:KFNN -covenanted:KFNN:KFNN -covenantee:KFNN:KFNN -covenanter:KFNN:KFNN -covenantor:KFNN:KFNN -covertness:KFRT:KFRT -covetously:KFTS:KFTS -cowcatcher:KKXR:KKXR -coweringly:KRNK:KRNK -cowperitis:KPRT:KPRT -cowpuncher:KPNX:KPNK -crabapples:KRPP:KRPP -crabbiness:KRPN:KRPN -crabsticks:KRPS:KRPS -crackdowns:KRKT:KRKT -crackliest:KRKL:KRKL -cradlesong:KRTL:KRTL -craftiness:KRFT:KRFT -cragginess:KRJN:KRKN -cramponing:KRMP:KRMP -cranesbill:KRNS:KRNS -craniocele:KRNS:KRNS -craniology:KRNL:KRNL -craniopagi:KRNP:KRNP -craniotome:KRNT:KRNT -craniotomy:KRNT:KRNT -crankcases:KRNK:KRNK -crankiness:KRNK:KRNK -crankshaft:KRNK:KRNK -crappiness:KRPN:KRPN -crapulence:KRPL:KRPL -craquelure:KRKL:KRKL -crassitude:KRST:KRST -craterless:KRTR:KRTR -craterlike:KRTR:KRTR -cravenness:KRFN:KRFN -crawfishes:KRFX:KRFX -crawlingly:KRLN:KRLN -crawlspace:KRLS:KRLS -crayfishes:KRFX:KRFX -crayonists:KRNS:KRNS -creakiness:KRKN:KRKN -creakingly:KRKN:KRKN -creameries:KRMR:KRMR -creaminess:KRMN:KRMN -creaseless:KRSL:KRSL -creatinine:KRTN:KRTN -creational:KRXN:KRXN -creatively:KRTF:KRTF -creativity:KRTF:KRTF -creaturely:KRTR:KRTR -credential:KRTN:KRTN -creditable:KRTT:KRTT -creditably:KRTT:KRTT -creditless:KRTT:KRTT -creditorum:KRTT:KRTT -creepiness:KRPN:KRPN -cremations:KRMX:KRMX -crematoria:KRMT:KRMT -crenelated:KRNL:KRNL -crenelates:KRNL:KRNL -crenocytes:KRNS:KRNS -crenulated:KRNL:KRNL -crepitated:KRPT:KRPT -crepitates:KRPT:KRPT -crescendos:KRSN:KRSN -crescentic:KRSN:KRSN -cretaceous:KRTS:KRTS -cretinized:KRTN:KRTN -cretinizes:KRTN:KRTN -crevicular:KRFK:KRFK -crewelists:KRLS:KRLS -crewelwork:KRLR:KRLR -cribration:KRPR:KRPR -cribriform:KRPR:KRPR -cricetidae:KRST:KRST -cricetulus:KRST:KRST -cricketers:KRKT:KRKT -cricketing:KRKT:KRKT -criminally:KRMN:KRMN -criminated:KRMN:KRMN -criminator:KRMN:KRMN -crimogenic:KRMJ:KRMK -crimsoning:KRMS:KRMS -cringingly:KRNJ:KRNK -crinkliest:KRNK:KRNK -crinogenic:KRNJ:KRNK -crinolines:KRNL:KRNL -crispation:KRSP:KRSP -crispbread:KRSP:KRSP -crispiness:KRSP:KRSP -crisscross:KRSK:KRSK -criterions:KRTR:KRTR -critically:KRTK:KRTK -criticisms:KRTS:KRTS -criticized:KRTS:KRTS -criticizer:KRTS:KRTS -criticizes:KRTS:KRTS -critiquing:KRTK:KRTK -croakiness:KRKN:KRKN -crocheters:KRXT:KRKT -crocheting:KRXT:KRKT -crocodiles:KRKT:KRKT -croissants:KRSN:KRSN -crookeries:KRKR:KRKR -crooknecks:KRKN:KRKN -croqueting:KRKT:KRKT -croquettes:KRKT:KRKT -crossbeams:KRSP:KRSP -crossbills:KRSP:KRSP -crossbones:KRSP:KRSP -crossbreed:KRSP:KRSP -crosscheck:KRSX:KRSK -crossfires:KRSF:KRSF -crosshatch:KRSX:KRSX -crossheads:KRST:KRST -crossjacks:KRSK:KRSK -crossovers:KRSF:KRSF -crosspatch:KRSP:KRSP -crosspiece:KRSP:KRSP -crossroads:KRSR:KRSR -crossruffs:KRSR:KRSR -crosstrees:KRST:KRST -crosswalks:KRSL:KRSL -crosswinds:KRSN:KRSN -crosswords:KRSR:KRSR -crotalidae:KRTL:KRTL -crotaphion:KRTF:KRTF -crownpiece:KRNP:KRNP -cruciately:KRST:KRXT -crucifiers:KRSF:KRSF -crucifixes:KRSF:KRSF -crucifying:KRSF:KRSF -cruiseways:KRSS:KRSS -crumblings:KRMP:KRMP -crunchable:KRNX:KRNK -crunchiest:KRNX:KRNK -crushingly:KRXN:KRXN -crushproof:KRXP:KRXP -crustacean:KRST:KRST -crustiness:KRST:KRST -cryogenics:KRJN:KRKN -cryogenies:KRJN:KRKN -cryophilic:KRFL:KRFL -cryophytes:KRFT:KRFT -cryoscopic:KRSK:KRSK -cryptogamy:KRPT:KRPT -cryptogram:KRPT:KRPT -cryptolith:KRPT:KRPT -cryptology:KRPT:KRPT -cryptopine:KRPT:KRPT -cryptozoic:KRPT:KRPT -crystalize:KRST:KRST -crystallin:KRST:KRST -cubbyholes:KPHL:KPHL -cuckolding:KKLT:KKLT -cucullated:KKLT:KKLT -cucullatly:KKLT:KKLT -cuddlesome:KTLS:KTLS -cudgelings:KJLN:KJLN -cuirassier:KRS:KRSR -culdoscopy:KLTS:KLTS -culinarily:KLNR:KLNR -culminated:KLMN:KLMN -culminates:KLMN:KLMN -cultivable:KLTF:KLTF -cultivated:KLTF:KLTF -cultivates:KLTF:KLTF -cultivator:KLTF:KLTF -culturally:KLTR:KLTR -culturists:KLTR:KLTR -cumberland:KMRL:KMRL -cumbersome:KMRS:KMRS -cumbrously:KMPR:KMPR -cummerbund:KMRP:KMRP -cumulately:KMLT:KMLT -cumulating:KMLT:KMLT -cumulation:KMLX:KMLX -cumulative:KMLT:KMLT -cumuliform:KMLF:KMLF -cupbearers:KPRR:KPRR -cupelation:KPLX:KPLX -curability:KRPL:KRPL -curariform:KRRF:KRRF -curarizing:KRRS:KRRS -curatively:KRTF:KRTF -curatorial:KRTR:KRTR -curatrices:KRTR:KRTR -curbstones:KRPS:KRPS -curiousest:KRSS:KRSS -curmudgeon:KRMJ:KRMJ -currencies:KRNS:KRNX -curricular:KRKL:KRKL -curriculum:KRKL:KRKL -currycombs:KRKM:KRKM -cursedness:KRST:KRST -curtailers:KRTL:KRTL -curtailing:KRTL:KRTL -curtaining:KRTN:KRTN -curtseying:KRTS:KRTS -curvaceous:KRFS:KRFS -curvatures:KRFT:KRFT -curvedness:KRFT:KRFT -curvetting:KRFT:KRFT -cushioning:KXNN:KXNN -cuspidated:KSPT:KSPT -cussedness:KSTN:KSTN -custodians:KSTT:KSTT -customable:KSTM:KSTM -customized:KSTM:KSTM -customizer:KSTM:KSTM -customizes:KSTM:KSTM -cuterebrid:KTRP:KTRP -cutinising:KTNS:KTNS -cutthroats:K0RT:KTRT -cuttlebone:KTLP:KTLP -cuttlefish:KTLF:KTLF -cyanhydrin:SNTR:SNTR -cyanogenic:SNJN:SNKN -cyanophile:SNFL:SNFL -cyanophyte:SNFT:SNFT -cybernated:SPRN:SPRN -cybernates:SPRN:SPRN -cybernetic:SPRN:SPRN -cyclamates:SKLM:SKLM -cyclically:SKLK:SKLK -cyclograms:SKLK:SKLK -cyclograph:SKLK:SKLK -cyclometry:SKLM:SKLM -cyclonical:SKLN:SKLN -cyclopedia:SKLP:SKLP -cycloramas:SKLR:SKLR -cycloramic:SKLR:SKLR -cyclostome:SKLS:SKLS -cyclostomi:SKLS:SKLS -cyclostyle:SKLS:SKLS -cyclothyme:SKL0:SKLT -cyclotrons:SKLT:SKLT -cylindroid:SLNT:SLNT -cylindroma:SLNT:SLNT -cymbaleers:SMPL:SMPL -cymbalists:SMPL:SMPL -cymiferous:SMFR:SMFR -cymographs:SMKR:SMKR -cynomolgus:SNML:SNML -cyprinidae:SPRN:SPRN -cysteamine:SSTM:SSTM -cystectomy:SSTK:SSTK -cysticerci:SSTS:SSTS -cystitides:SSTT:SSTT -cystoceles:SSTS:SSTS -cystograms:SSTK:SSTK -cystoliths:SSTL:SSTL -cystoscope:SSTS:SSTS -cystoscopy:SSTS:SSTS -cystostomy:SSTS:SSTS -cytochrome:STKR:STKR -cytologies:STLJ:STLK -cytologist:STLJ:STLK -cytopathic:STP0:STPT -cytophagic:STFJ:STFK -cytophilic:STFL:STFL -cytoplasts:STPL:STPL -cytoryctes:STRK:STRK -cytostatic:STST:STST -cytotropic:STTR:STTR -czarevitch:SRFX:XRFX -dachshunds:TKXN:TKXN -dacryocyst:TKRS:TKRS -dacryolith:TKRL:TKRL -dacryomata:TKRM:TKRM -dactylitis:TKTL:TKTL -d'affaires:TFRS:TFRS -daintiness:TNTN:TNTN -dairymaids:TRMT:TRMT -daisywheel:TSL:TSL -dalliances:TLNS:TLNS -dalmatians:TLMX:TLMX -damageable:TMJP:TMKP -damagingly:TMJN:TMKN -damascened:TMSN:TMSN -damascenes:TMSN:TMSN -damnifying:TMNF:TMNF -dampcourse:TMPK:TMPK -dandelions:TNTL:TNTL -dandifying:TNTF:TNTF -dangerless:TNJR:TNKR -danglingly:TNKL:TNLN -dapperness:TPRN:TPRN -darbyshire:TRPX:TRPX -daredevils:TRTF:TRTF -daringness:TRNN:TRNK -darkhaired:TRKR:TRKR -d'arsonval:TRSN:TRSN -dartboards:TRTP:TRTP -darwinians:TRNN:TRNN -darwinists:TRNS:TRNS -darwinites:TRNT:TRNT -dashboards:TXPR:TXPR -dasyprocta:TSPR:TSPR -datamation:TTMX:TTMX -daughterly:TTRL:TTRL -daunomycin:TNMS:TNMS -dauntingly:TNTN:TNTN -dauphiness:TFNS:TFNS -davenports:TFNP:TFNP -daycenters:TSNT:TSNT -daydreamed:TTRM:TTRM -daydreamer:TTRM:TTRM -dayflowers:TFLR:TFLR -dazzlement:TSLM:TSLM -dazzlingly:TSLN:TSLN -deaconries:TKNR:TKNR -deaconship:TKNX:TKNX -deactivate:TKTF:TKTF -deadheaded:TTTT:TTTT -deadlights:TTLT:TTLT -deadliness:TTLN:TTLN -deadlocked:TTLK:TTLK -deadweight:TTT:TTT -dealations:TLXN:TLXN -dealership:TLRX:TLRX -dealfishes:TLFX:TLFX -deallocate:TLKT:TLKT -deaminated:TMNT:TMNT -deaminates:TMNT:TMNT -deathblows:T0PL:TTPL -deathrates:T0RT:TTRT -deathtraps:T0TR:TTTR -deathwatch:T0X:TTX -debasement:TPSM:TPSM -debasingly:TPSN:TPSN -debatables:TPTP:TPTP -debateable:TPTP:TPTP -debateably:TPTP:TPTP -debauchees:TPXS:TPKS -debauchers:TPXR:TPKR -debauchery:TPXR:TPKR -debauching:TPXN:TPKN -debellatio:TPLT:TPLT -debentured:TPNT:TPNT -debentures:TPNT:TPNT -debilitant:TPLT:TPLT -debilitate:TPLT:TPLT -debilities:TPLT:TPLT -debonairly:TPNR:TPNR -debouching:TPXN:TPKN -debouchure:TPXR:TPKR -debriefing:TPRF:TPRF -debutantes:TPTN:TPTN -decadently:TKTN:TKTN -decahedral:TKHT:TKHT -decahedron:TKHT:TKHT -decaliters:TKLT:TKLT -decameters:TKMT:TKMT -decampment:TKMP:TKMP -decapitate:TKPT:TKPT -decarchies:TKRX:TKRK -decastyles:TKST:TKST -decathlete:TK0L:TKTL -decathlons:TK0L:TKTL -deceivable:TSFP:TSFP -deceivably:TSFP:TSFP -decelerate:TSLR:TSLR -decemviral:TSMF:TSMF -decennials:TSNL:TSNL -decenniums:TSNM:TSNM -decentness:TSNT:TSNT -deceptions:TSPX:TSPX -decicative:TSKT:TSKT -deciduitis:TSTT:TSTT -deciduomas:TSTM:TSTM -deciduoses:TSTS:TSTS -deciduosis:TSTS:TSTS -deciliters:TSLT:TSLT -decillions:TSLN:TSLN -decimalize:TSML:TSML -decimating:TSMT:TSMT -decimation:TSMX:TSMX -decimators:TSMT:TSMT -decimeters:TSMT:TSMT -decimetric:TSMT:TSMT -deciparaes:TSPR:TSPR -deciphered:TSFR:TSFR -decipherer:TSFR:TSFR -deciseness:TSSN:TSSN -decisional:TSSN:TSXN -decisively:TSSF:TSSF -decisteres:TSST:TSST -deckhouses:TKSS:TKSS -declaimers:TKLM:TKLM -declaiming:TKLM:TKLM -declarable:TKLR:TKLR -declarants:TKLR:TKLR -declarator:TKLR:TKLR -declassify:TKLS:TKLS -declassing:TKLS:TKLS -declension:TKLN:TKLN -declinable:TKLN:TKLN -declutched:TKLX:TKLX -declutches:TKLX:TKLX -decoctions:TKKX:TKKX -decollated:TKLT:TKLT -decollates:TKLT:TKLT -decollator:TKLT:TKLT -decolletee:TKLT:TKLT -decolonize:TKLN:TKLN -decolorant:TKLR:TKLR -decoloring:TKLR:TKLR -decolorize:TKLR:TKLR -decompiled:TKMP:TKMP -decomposed:TKMP:TKMP -decomposer:TKMP:TKMP -decomposes:TKMP:TKMP -decompress:TKMP:TKMP -decongests:TKNJ:TKNK -decontrols:TKNT:TKNT -decorating:TKRT:TKRT -decoration:TKRX:TKRX -decorative:TKRT:TKRT -decorators:TKRT:TKRT -decorously:TKRS:TKRS -decoupling:TKPL:TKPL -decreasing:TKRS:TKRS -decrements:TKRM:TKRM -decrepitly:TKRP:TKRP -decrypting:TKRP:TKRP -decryption:TKRP:TKRP -decservers:TKSR:TKSR -decstation:TKST:TKST -decsystems:TKSS:TKSS -decubation:TKPX:TKPX -decumbence:TKMP:TKMP -decumbency:TKMP:TKMP -dedicatees:TTKT:TTKT -dedicating:TTKT:TTKT -dedication:TTKX:TTKX -dedicative:TTKT:TTKT -dedicators:TTKT:TTKT -dedicatory:TTKT:TTKT -deductable:TTKT:TTKT -deductible:TTKT:TTKT -deductions:TTKX:TTKX -deepfreeze:TPFR:TPFR -deescalate:TSKL:TSKL -defaceable:TFSP:TFSP -defacement:TFSM:TFSM -defaecated:TFKT:TFKT -defalcated:TFLK:TFLK -defalcates:TFLK:TFLK -defalcator:TFLK:TFLK -defamacast:TFMK:TFMK -defamation:TFMX:TFMX -defamatory:TFMT:TFMT -defaminger:TFMN:TFMN -defamingly:TFMN:TFMN -defaulters:TFLT:TFLT -defaulting:TFLT:TFLT -defeasance:TFSN:TFSN -defeasible:TFSP:TFSP -defeatists:TFTS:TFTS -defecating:TFKT:TFKT -defecation:TFKX:TFKX -defecators:TFKT:TFKT -defections:TFKX:TFKX -defeminize:TFMN:TFMN -defendable:TFNT:TFNT -defendants:TFNT:TFNT -defendendo:TFNT:TFNT -defensible:TFNS:TFNS -defensibly:TFNS:TFNS -deferentia:TFRN:TFRN -deferments:TFRM:TFRM -deferrable:TFRP:TFRP -deficiency:TFSN:TFXN -defilement:TFLM:TFLM -defilingly:TFLN:TFLN -definement:TFNM:TFNM -definienda:TFNN:TFNN -definitely:TFNT:TFNT -definition:TFNX:TFNX -definitive:TFNT:TFNT -definitude:TFNT:TFNT -deflagrate:TFLK:TFLK -deflations:TFLX:TFLX -deflecting:TFLK:TFLK -deflection:TFLK:TFLK -deflective:TFLK:TFLK -deflectors:TFLK:TFLK -deflexions:TFLK:TFLK -deflowered:TFLR:TFLR -defoliants:TFLN:TFLN -defoliated:TFLT:TFLT -defoliates:TFLT:TFLT -defoliator:TFLT:TFLT -deforciant:TFRS:TFRX -deforested:TFRS:TFRS -deforester:TFRS:TFRS -deformable:TFRM:TFRM -deformedly:TFRM:TFRM -defrauders:TFRT:TFRT -defrauding:TFRT:TFRT -defrayable:TFRP:TFRP -defrayment:TFRM:TFRM -defrocking:TFRK:TFRK -defrosters:TFRS:TFRS -defrosting:TFRS:TFRS -defunctive:TFNK:TFNK -degaussing:TKSN:TKSN -degeneracy:TJNR:TKNR -degenerate:TJNR:TKNR -degradable:TKRT:TKRT -degradedly:TKRT:TKRT -degreasing:TKRS:TKRS -degreeless:TKRL:TKRL -degression:TKRS:TKRS -dehiscence:THSN:THSN -dehumanize:THMN:THMN -dehumidify:THMT:THMT -dehydrated:THTR:THTR -dehydrates:THTR:THTR -dehydrator:THTR:THTR -deindexing:TNTK:TNTK -deionizing:TNSN:TNSN -dejectedly:TJKT:TJKT -dejections:TJKX:TJKX -dekaliters:TKLT:TKLT -dekameters:TKMT:TKMT -dekarchies:TKRX:TKRK -delaminate:TLMN:TLMN -delawarean:TLRN:TLRN -delectable:TLKT:TLKT -delectably:TLKT:TLKT -delegacies:TLKS:TLKX -delegalize:TLKL:TLKL -delegatees:TLKT:TLKT -delegating:TLKT:TLKT -delegation:TLKX:TLKX -delegators:TLKT:TLKT -delegatory:TLKT:TLKT -deliberant:TLPR:TLPR -deliberate:TLPR:TLPR -delicacies:TLKS:TLKX -delicately:TLKT:TLKT -delighters:TLTR:TLTR -delightful:TLTF:TLTF -delighting:TLTN:TLTN -delimitate:TLMT:TLMT -delimiters:TLMT:TLMT -delimiting:TLMT:TLMT -delineable:TLNP:TLNP -delineated:TLNT:TLNT -delineates:TLNT:TLNT -delineator:TLNT:TLNT -delinquent:TLNK:TLNK -deliquesce:TLKS:TLKS -deliverers:TLFR:TLFR -deliveries:TLFR:TLFR -delivering:TLFR:TLFR -delocalize:TLKL:TLKL -delphinian:TLFN:TLFN -delphinine:TLFN:TLFN -delphinium:TLFN:TLFN -delphinoid:TLFN:TLFN -deltiology:TLTL:TLTL -deltoideus:TLTT:TLTT -deludingly:TLTN:TLTN -delusional:TLSN:TLXN -delusively:TLSF:TLSF -demagogies:TMKJ:TMKK -demagogues:TMKK:TMKK -demandable:TMNT:TMNT -demandants:TMNT:TMNT -demantoids:TMNT:TMNT -demarcated:TMRK:TMRK -demarcates:TMRK:TMRK -demarcator:TMRK:TMRK -demecarium:TMKR:TMKR -dementedly:TMNT:TMNT -dementiaes:TMNX:TMNX -demisangue:TMSN:TMSN -demitasses:TMTS:TMTS -demivierge:TMFR:TMFR -demivoltes:TMFL:TMFL -demobilize:TMPL:TMPL -democratic:TMKR:TMKR -demodulate:TMTL:TMTL -demography:TMKR:TMKR -demoiselle:TMSL:TMSL -demolished:TMLX:TMLX -demolisher:TMLX:TMLX -demolishes:TMLX:TMLX -demolition:TMLX:TMLX -demonetize:TMNT:TMNT -demoniacal:TMNK:TMNK -demonizing:TMNS:TMNS -demonology:TMNL:TMNL -demoralize:TMRL:TMRL -demounting:TMNT:TMNT -demureness:TMRN:TMRN -demurrable:TMRP:TMRP -demurrages:TMRJ:TMRK -denaturant:TNTR:TNTR -denaturing:TNTR:TNTR -denazified:TNSF:TNSF -denazifies:TNSF:TNSF -dendriform:TNTR:TNTR -dendrimers:TNTR:TNTR -dendrogram:TNTR:TNTR -dendroidal:TNTR:TNTR -dendrology:TNTR:TNTR -denegation:TNKX:TNKX -denervated:TNRF:TNRF -denidation:TNTX:TNTX -denigrated:TNKR:TNKR -denigrates:TNKR:TNKR -denigrator:TNKR:TNKR -denitrated:TNTR:TNTR -denitrates:TNTR:TNTR -denization:TNSX:TNSX -denominate:TNMN:TNMN -denotation:TNTX:TNTX -denotative:TNTT:TNTT -denotement:TNTM:TNTM -denouement:TNMN:TNMN -denouncers:TNNS:TNNS -denouncing:TNNS:TNNS -densimetry:TNSM:TNSM -dentifrice:TNTF:TNTF -dentinomas:TNTN:TNTN -dentolegal:TNTL:TNTL -denucleate:TNKL:TNKL -denudation:TNTX:TNTX -denunciate:TNNS:TNNX -deodorants:TTRN:TTRN -deodorized:TTRS:TTRS -deodorizer:TTRS:TTRS -deodorizes:TTRS:TTRS -deontology:TNTL:TNTL -deovolente:TFLN:TFLN -deoxidized:TKST:TKST -deoxidizer:TKST:TKST -deoxidizes:TKST:TKST -department:TPRT:TPRT -departures:TPRT:TPRT -depastured:TPST:TPST -depastures:TPST:TPST -dependable:TPNT:TPNT -dependably:TPNT:TPNT -dependance:TPNT:TPNT -dependants:TPNT:TPNT -dependence:TPNT:TPNT -dependency:TPNT:TPNT -dependents:TPNT:TPNT -depictions:TPKX:TPKX -depilating:TPLT:TPLT -depilation:TPLX:TPLX -depilators:TPLT:TPLT -depilatory:TPLT:TPLT -depletable:TPLT:TPLT -depletions:TPLX:TPLX -deplorable:TPLR:TPLR -deplorably:TPLR:TPLR -deployment:TPLM:TPLM -depolarize:TPLR:TPLR -depopulate:TPPL:TPPL -deportable:TPRT:TPRT -deportment:TPRT:TPRT -depositary:TPST:TPST -depositing:TPST:TPST -deposition:TPSX:TPSX -depositors:TPST:TPST -depository:TPST:TPST -depositums:TPST:TPST -depravedly:TPRF:TPRF -deprecated:TPRK:TPRK -deprecates:TPRK:TPRK -deprecator:TPRK:TPRK -depreciate:TPRS:TPRX -depredated:TPRT:TPRT -depredates:TPRT:TPRT -depredator:TPRT:TPRT -depressant:TPRS:TPRS -depressing:TPRS:TPRS -depression:TPRS:TPRS -depressive:TPRS:TPRS -depressors:TPRS:TPRS -deprivable:TPRF:TPRF -deprograms:TPRK:TPRK -depurating:TPRT:TPRT -depuration:TPRX:TPRX -depurative:TPRT:TPRT -depurators:TPRT:TPRT -deputation:TPTX:TPTX -deputative:TPTT:TPTT -deputizing:TPTS:TPTS -deracinate:TRSN:TRSN -deraigning:TRNN:TRKN -derailleur:TRLR:TRLR -derailment:TRLM:TRLM -derationed:TRXN:TRXN -deregister:TRJS:TRKS -deregulate:TRKL:TRKL -derestrict:TRST:TRST -deridingly:TRTN:TRTN -derisively:TRSF:TRSF -derivation:TRFX:TRFX -derivative:TRFT:TRFT -dermatitis:TRMT:TRMT -dermatobia:TRMT:TRMT -dermatogen:TRMT:TRMT -dermatomic:TRMT:TRMT -dermatoses:TRMT:TRMT -dermatosis:TRMT:TRMT -dermatozoa:TRMT:TRMT -dermoblast:TRMP:TRMP -dermopathy:TRMP:TRMP -derogately:TRKT:TRKT -derogating:TRKT:TRKT -derogation:TRKX:TRKX -derogative:TRKT:TRKT -derogatory:TRKT:TRKT -derringers:TRNK:TRNJ -desalinate:TSLN:TSLN -desalinize:TSLN:TSLN -descanters:TSKN:TSKN -descanting:TSKN:TSKN -descendant:TSNT:TSNT -descendent:TSNT:TSNT -descenders:TSNT:TSNT -descendeur:TSNT:TSNT -descending:TSNT:TSNT -deschooled:TSKL:TSKL -descramble:TSKM:TSKM -describers:TSKP:TSKP -describing:TSKP:TSKP -descriptio:TSKP:TSKP -descriptor:TSKP:TSKP -desecrated:TSKR:TSKR -desecrater:TSKR:TSKR -desecrates:TSKR:TSKR -desecrator:TSKR:TSKR -deselected:TSLK:TSLK -desertions:TSRX:TSRX -deservedly:TSRF:TSRF -deservings:TSRF:TSRF -deshabille:TXPL:TXPL -desiccants:TSKN:TSKN -desiccated:TSKT:TSKT -desiccates:TSKT:TSKT -desiccator:TSKT:TSKT -desiderata:TSTR:TSTR -desiderate:TSTR:TSTR -designable:TSNP:TSKN -designated:TSNT:TSKN -designates:TSNT:TSKN -designatio:TSNT:TSKN -designator:TSNT:TSKN -designedly:TSNT:TSKN -designment:TSNM:TSKN -desirously:TSRS:TSRS -desistance:TSST:TSST -desistence:TSST:TSST -deskilling:TSKL:TSKL -desolately:TSLT:TSLT -desolaters:TSLT:TSLT -desolating:TSLT:TSLT -desolation:TSLX:TSLX -desolators:TSLT:TSLT -desorption:TSRP:TSRP -despairing:TSPR:TSPR -despatched:TSPX:TSPX -despatcher:TSPX:TSPX -despatches:TSPX:TSPX -desperados:TSPR:TSPR -despicable:TSPK:TSPK -despicably:TSPK:TSPK -despiteful:TSPT:TSPT -despoilers:TSPL:TSPL -despoiling:TSPL:TSPL -despondent:TSPN:TSPN -desponding:TSPN:TSPN -despotisms:TSPT:TSPT -despumated:TSPM:TSPM -despumates:TSPM:TSPM -desquamate:TSKM:TSKM -destressed:TSTR:TSTR -destroyers:TSTR:TSTR -destroying:TSTR:TSTR -destructed:TSTR:TSTR -destructor:TSTR:TSTR -desuetudes:TSTT:TSTT -detachable:TTKP:TTKP -detachably:TTKP:TTKP -detachedly:TTXT:TTKT -detachment:TTKM:TTKM -detainable:TTNP:TTNP -detainment:TTNM:TTNM -detectable:TTKT:TTKT -detectably:TTKT:TTKT -detectible:TTKT:TTKT -detectibly:TTKT:TTKT -detections:TTKX:TTKX -detectives:TTKT:TTKT -detergence:TTRJ:TTRK -detergency:TTRJ:TTRK -detergents:TTRJ:TTRK -determents:TTRM:TTRM -determined:TTRM:TTRM -determiner:TTRM:TTRM -determines:TTRM:TTRM -deterrence:TTRN:TTRN -deterrents:TTRN:TTRN -detestable:TTST:TTST -detestably:TTST:TTST -dethroners:T0RN:TTRN -dethroning:T0RN:TTRN -detonating:TTNT:TTNT -detonation:TTNX:TTNX -detonative:TTNT:TTNT -detonators:TTNT:TTNT -detoxicant:TTKS:TTKS -detoxicate:TTKS:TTKS -detoxified:TTKS:TTKS -detoxifier:TTKS:TTKS -detoxifies:TTKS:TTKS -detracting:TTRK:TTRK -detraction:TTRK:TTRK -detractive:TTRK:TTRK -detractors:TTRK:TTRK -detractory:TTRK:TTRK -detraining:TTRN:TTRN -detriments:TTRM:TTRM -detruncate:TTRN:TTRN -detrusions:TTRS:TTRX -detubation:TTPX:TTPX -deuterated:TTRT:TTRT -deuterates:TTRT:TTRT -deuterides:TTRT:TTRT -deutoplasm:TTPL:TTPL -devaluated:TFLT:TFLT -devaluates:TFLT:TFLT -devastated:TFST:TFST -devastates:TFST:TFST -devastator:TFST:TFST -devastavit:TFST:TFST -developers:TFLP:TFLP -developing:TFLP:TFLP -deviancies:TFNS:TFNX -deviations:TFXN:TFXN -devilishly:TFLX:TFLX -devilments:TFLM:TFLM -deviltries:TFLT:TFLT -devitalize:TFTL:TFTL -devocalize:TFKL:TFKL -devolution:TFLX:TFLX -devolutive:TFLT:TFLT -devonshire:TFNX:TFNX -devoringly:TFRN:TFRN -devotional:TFXN:TFXN -devoutness:TFTN:TFTN -dewberries:TPRS:TPRS -dextrality:TKST:TKST -dextranase:TKST:TKST -dextraural:TKST:TKST -dextrogyre:TKST:TKST -dextrorsal:TKST:TKST -dextrously:TKST:TKST -diabolical:TPLK:TPLK -diabolists:TPLS:TPLS -diabolized:TPLS:TPLS -diabolizes:TPLS:TPLS -diacaustic:TKST:TKST -diachronic:TKRN:TKRN -diaclasias:TKLS:TKLX -diaconally:TKNL:TKNL -diactinism:TKTN:TKTN -diadromous:TTRM:TTRM -diagenesis:TJNS:TKNS -diagenetic:TJNT:TKNT -diagnosing:TNSN:TKNS -diagnostic:TNST:TKNS -diagonally:TKNL:TKNL -diagraming:TKRM:TKRM -diagrammed:TKRM:TKRM -diagrammer:TKRM:TKRM -diakineses:TKNS:TKNS -diakinesis:TKNS:TKNS -dialectics:TLKT:TLKT -dialogists:TLJS:TLKS -dialogized:TLJS:TLKS -dialogizes:TLJS:TLKS -dialoguers:TLKR:TLKR -dialysance:TLSN:TLSN -dialyzable:TLSP:TLSP -diamagnets:TMNT:TMKN -diamantine:TMNT:TMNT -dianthuses:TN0S:TNTS -diapasonal:TPSN:TPSN -diapasonic:TPSN:TPSN -diapedeses:TPTS:TPTS -diapedesis:TPTS:TPTS -diapedetic:TPTT:TPTT -diaphanous:TFNS:TFNS -diaphorase:TFRS:TFRS -diaphragms:TFRK:TFRK -diaphyseal:TFSL:TFSL -diaphysial:TFSL:TFXL -diaplastic:TPLS:TPLS -diarchical:TRXK:TRKK -diarrhetic:TRTK:TRTK -diarrhoeal:TRL:TRL -diarrhoeic:TRK:TRK -diaschises:TXSS:TXSS -diaschisis:TXSS:TXSS -diascopies:TSKP:TSKP -diastalses:TSTL:TSTL -diastalsis:TSTL:TSTL -diastaltic:TSTL:TSTL -diastemata:TSTM:TSTM -diathermia:T0RM:TTRM -diathermic:T0RM:TTRM -diatropism:TTRP:TTRP -dibasicity:TPSS:TPSS -dicephalus:TSFL:TSFL -dichloride:TXLR:TKLR -dichogamic:TXKM:TKKM -dichotical:TXTK:TKTK -dichotomic:TXTM:TKTM -dichroitic:TXRT:TKRT -dichromate:TXRM:TKRM -dickensian:TKNS:TKNS -dicoumarin:TKMR:TKMR -dictaphone:TKTF:TKTF -dictations:TKTX:TKTX -dictatress:TKTT:TKTT -dictionary:TKXN:TKXN -dictograph:TKTK:TKTK -dictronics:TKTR:TKTR -didgeridoo:TJRT:TJRT -didynamous:TTNM:TTNM -dieciously:TSSL:TXSL -diehardism:THRT:THRT -dielectric:TLKT:TLKT -dienestrol:TNST:TNST -dietetical:TTTK:TTTK -diethylene:T0LN:TTLN -dieticians:TTSN:TTXN -dietitians:TTXN:TTXN -difference:TFRN:TFRN -difficulty:TFKL:TFKL -diffidence:TFTN:TFTN -diffluence:TFLN:TFLN -diffracted:TFRK:TFRK -diffusible:TFSP:TFSP -diffusions:TFSN:TFXN -digestants:TJST:TKST -digestible:TJST:TKST -digestibly:TJST:TKST -digestions:TJSX:TKSX -digestives:TJST:TKST -digilanide:TJLN:TKLN -digitalins:TJTL:TKTL -digitalism:TJTL:TKTL -digitalize:TJTL:TKTL -digitalose:TJTL:TKTL -digitately:TJTT:TKTT -digitation:TJTX:TKTX -digitiform:TJTF:TKTF -digitizers:TJTS:TKTS -digitizing:TJTS:TKTS -digitoxose:TJTK:TKTK -dignifying:TNFN:TKNF -digressers:TKRS:TKRS -digressing:TKRS:TKRS -digression:TKRS:TKRS -digressive:TKRS:TKRS -dijudicate:TJTK:TJTK -dilapidate:TLPT:TLPT -dilatation:TLTX:TLTX -dilatators:TLTT:TLTT -dilatorily:TLTR:TLTR -dilemmatic:TLMT:TLMT -dilettante:TLTN:TLTN -dilettanti:TLTN:TLTN -diligences:TLJN:TLKN -diligently:TLJN:TLKN -dillydally:TLTL:TLTL -dimensions:TMNS:TMNX -dimerising:TMRS:TMRS -diminished:TMNX:TMNX -diminishes:TMNX:TMNX -diminuendo:TMNN:TMNN -diminution:TMNX:TMNX -diminutive:TMNT:TMNT -dimorphism:TMRF:TMRF -dimorphous:TMRF:TMRF -dinnertime:TNRT:TNRT -dinnerware:TNRR:TNRR -dioestrous:TSTR:TSTR -dioestrual:TSTR:TSTR -dioptrical:TPTR:TPTR -diphosgene:TFSJ:TFSK -diphtheria:TF0R:TFTR -diphtheric:TF0R:TFTR -diphtherin:TF0R:TFTR -diphthongs:TF0N:TFTN -diphyodont:TFTN:TFTN -diplacuses:TPLK:TPLK -diplacusis:TPLK:TPLK -diplococci:TPLK:TPLK -diplocoria:TPLK:TPLK -diplodocus:TPLT:TPLT -diploetics:TPLT:TPLT -diploidies:TPLT:TPLT -diplomates:TPLM:TPLM -diplomatic:TPLM:TPLM -diprosopus:TPRS:TPRS -dipsomania:TPSM:TPSM -dipylidium:TPLT:TPLT -directions:TRKX:TRKX -directives:TRKT:TRKT -directness:TRKT:TRKT -directoire:TRKT:TRKT -directress:TRKT:TRKT -diremption:TRMP:TRMP -dirigibles:TRJP:TRKP -disability:TSPL:TSPL -disabusals:TSPS:TSPS -disabusing:TSPS:TSPS -disaffects:TSFK:TSFK -disaffirms:TSFR:TSFR -disagreing:TSKR:TSKR -disallowed:TSLT:TSLT -disannexed:TSNK:TSNK -disannexes:TSNK:TSNK -disappears:TSPR:TSPR -disappoint:TSPN:TSPN -disapprove:TSPR:TSPR -disarrange:TSRN:TSRN -disarrayed:TSRT:TSRT -disastrous:TSST:TSST -disavowals:TSFL:TSFL -disavowing:TSFN:TSFN -disbanding:TSPN:TSPN -disbarment:TSPR:TSPR -disbarring:TSPR:TSPR -disbeliefs:TSPL:TSPL -disbelieve:TSPL:TSPL -disboweled:TSPL:TSPL -disbudding:TSPT:TSPT -disburdens:TSPR:TSPR -disbursals:TSPR:TSPR -disbursers:TSPR:TSPR -disbursing:TSPR:TSPR -discarders:TSKR:TSKR -discarding:TSKR:TSKR -discarnate:TSKR:TSKR -discerners:TSRN:TSRN -discerning:TSRN:TSRN -discharged:TXRJ:TXRK -discharger:TXRK:TXRJ -discharges:TXRJ:TXRK -discipline:TSPL:TSPL -discipular:TSPL:TSPL -discission:TSSN:TSSN -disclaimed:TSKM:TSKM -disclaimer:TSKM:TSKM -disclosers:TSKS:TSKS -disclosing:TSKS:TSKS -disclosure:TSKS:TSKS -discobolus:TSKP:TSKP -discolored:TSKL:TSKL -discomfits:TSKM:TSKM -discomfort:TSKM:TSKM -discommode:TSKM:TSKM -discommons:TSKM:TSKM -discompose:TSKM:TSKM -disconcert:TSKN:TSKN -disconfirm:TSKN:TSKN -disconnect:TSKN:TSKN -discontent:TSKN:TSKN -discopathy:TSKP:TSKP -discophile:TSKF:TSKF -discordant:TSKR:TSKR -discording:TSKR:TSKR -discounted:TSKN:TSKN -discounter:TSKN:TSKN -discourage:TSKR:TSKR -discoursed:TSKR:TSKR -discourser:TSKR:TSKR -discourses:TSKR:TSKR -discovered:TSKF:TSKF -discoverer:TSKF:TSKF -discredits:TSKT:TSKT -discreetly:TSKT:TSKT -discrepant:TSKP:TSKP -discretely:TSKT:TSKT -discretion:TSKX:TSKX -discursion:TSKR:TSKR -discursive:TSKR:TSKR -discussant:TSKS:TSKS -discussers:TSKS:TSKS -discussing:TSKS:TSKS -discussion:TSKS:TSKS -discutient:TSKT:TSKT -disdainful:TSTN:TSTN -disdaining:TSTN:TSTN -diseconomy:TSKN:TSKN -disembarks:TSMP:TSMP -disembogue:TSMP:TSMP -disembowel:TSMP:TSMP -disembroil:TSMP:TSMP -disemploys:TSMP:TSMP -disenabled:TSNP:TSNP -disenables:TSNP:TSNP -disenchant:TSNX:TSNK -disendowed:TSNT:TSNT -disendower:TSNT:TSNT -disengaged:TSNK:TSNK -disengages:TSNK:TSNK -disentails:TSNT:TSNT -disenthral:TSN0:TSNT -disentitle:TSNT:TSNT -disentombs:TSNT:TSNT -disentwine:TSNT:TSNT -disepalous:TSPL:TSPL -disesteems:TSST:TSST -disfavored:TSFF:TSFF -disfavorer:TSFF:TSFF -disfeature:TSFT:TSFT -disfigured:TSFK:TSFK -disfigurer:TSFK:TSFK -disfigures:TSFK:TSFK -disgorgers:TSKR:TSKR -disgorging:TSKR:TSKR -disgracers:TSKR:TSKR -disgracing:TSKR:TSKR -disgruntle:TSKR:TSKR -disguising:TSKS:TSKS -disgusting:TSKS:TSKS -dishabille:TXPL:TXPL -disharmony:TXRM:TXRM -dishcloths:TXKL:TXKL -dishearten:TXRT:TXRT -disherison:TXRS:TXRS -disheveled:TXFL:TXFL -dishonesty:TXNS:TXNS -dishonored:TXNR:TXNR -dishonorer:TXNR:TXNR -dishtowels:TXTL:TXTL -dishumored:TXMR:TXMR -dishwasher:TXXR:TXXR -disincline:TSNK:TSNK -disinfects:TSNF:TSNF -disinfests:TSNF:TSNF -disinherit:TSNR:TSNR -disinvests:TSNF:TSNF -disjecting:TSKT:TSKT -disjoining:TSNN:TSNN -disjointed:TSNT:TSNT -dislikable:TLKP:TLKP -dislocated:TLKT:TLKT -dislocates:TLKT:TLKT -dislodging:TLJN:TLJN -disloyally:TLL:TLL -disloyalty:TLLT:TLLT -dismalness:TSML:TSML -dismantled:TSMN:TSMN -dismantler:TSMN:TSMN -dismantles:TSMN:TSMN -dismasting:TSMS:TSMS -dismembers:TSMM:TSMM -dismissals:TSMS:TSMS -dismissers:TSMS:TSMS -dismissing:TSMS:TSMS -dismissive:TSMS:TSMS -dismounted:TSMN:TSMN -disneyland:TSNL:TSNL -disobeyers:TSPR:TSPR -disobeying:TSPN:TSPN -disobliged:TSPL:TSPL -disobliges:TSPL:TSPL -disordered:TSRT:TSRT -disorderly:TSRT:TSRT -disorients:TSRN:TSRN -disownment:TSNM:TSNM -disparaged:TSPR:TSPR -disparager:TSPR:TSPR -disparages:TSPR:TSPR -dispassion:TSPS:TSPS -dispatched:TSPX:TSPX -dispatcher:TSPX:TSPX -dispatches:TSPX:TSPX -dispelling:TSPL:TSPL -dispensary:TSPN:TSPN -dispensers:TSPN:TSPN -dispensing:TSPN:TSPN -dispermies:TSPR:TSPR -dispermous:TSPR:TSPR -dispersals:TSPR:TSPR -dispersant:TSPR:TSPR -dispersers:TSPR:TSPR -dispersing:TSPR:TSPR -dispersion:TSPR:TSPR -dispersive:TSPR:TSPR -dispersoid:TSPR:TSPR -dispirited:TSPR:TSPR -dispiteous:TSPT:TSPT -displacers:TSPL:TSPL -displacing:TSPL:TSPL -displayers:TSPL:TSPL -displaying:TSPL:TSPL -displeased:TSPL:TSPL -displeases:TSPL:TSPL -disponendi:TSPN:TSPN -disporting:TSPR:TSPR -disposable:TSPS:TSPS -dispossess:TSPS:TSPS -disproving:TSPR:TSPR -disputable:TSPT:TSPT -disputably:TSPT:TSPT -disputants:TSPT:TSPT -disqualify:TSKL:TSKL -disquieted:TSKT:TSKT -disquietly:TSKT:TSKT -disregards:TSRK:TSRK -disrespect:TSRS:TSRS -disrupters:TSRP:TSRP -disrupting:TSRP:TSRP -disruption:TSRP:TSRP -disruptive:TSRP:TSRP -disruptors:TSRP:TSRP -dissatisfy:TSTS:TSTS -dissecting:TSKT:TSKT -dissection:TSKX:TSKX -dissectors:TSKT:TSKT -disseisees:TSSS:TSSS -disseisins:TSSN:TSSN -disseisors:TSSR:TSSR -disseizees:TSSS:TSSS -disseizing:TSSN:TSSN -disseizors:TSSR:TSSR -dissembled:TSMP:TSMP -dissembler:TSMP:TSMP -dissembles:TSMP:TSMP -dissension:TSNS:TSNX -dissenters:TSNT:TSNT -dissenting:TSNT:TSNT -dissention:TSNX:TSNX -disservice:TSRF:TSRF -dissevered:TSFR:TSFR -dissidence:TSTN:TSTN -dissidents:TSTN:TSTN -dissimilar:TSML:TSML -dissipated:TSPT:TSPT -dissipater:TSPT:TSPT -dissipates:TSPT:TSPT -dissipator:TSPT:TSPT -dissociant:TSSN:TSXN -dissociate:TSST:TSXT -dissolvent:TSLF:TSLF -dissolvers:TSLF:TSLF -dissolving:TSLF:TSLF -dissonance:TSNN:TSNN -dissuaders:TSTR:TSTR -dissuading:TSTN:TSTN -dissuasion:TSSN:TSXN -dissuasive:TSSF:TSSF -distancing:TSTN:TSTN -distempers:TSTM:TSTM -distenders:TSTN:TSTN -distending:TSTN:TSTN -distension:TSTN:TSTN -distention:TSTN:TSTN -distichous:TSTX:TSTK -distillate:TSTL:TSTL -distillers:TSTL:TSTL -distillery:TSTL:TSTL -distilling:TSTL:TSTL -distinctly:TSTN:TSTN -distorters:TSTR:TSTR -distorting:TSTR:TSTR -distortion:TSTR:TSTR -distortive:TSTR:TSTR -distracted:TSTR:TSTR -distracter:TSTR:TSTR -distrained:TSTR:TSTR -distrainee:TSTR:TSTR -distrainer:TSTR:TSTR -distrainor:TSTR:TSTR -distraints:TSTR:TSTR -distraught:TSTR:TSTR -distressed:TSTR:TSTR -distresses:TSTR:TSTR -distribute:TSTR:TSTR -distringas:TSTR:TSTR -distrusted:TSTR:TSTR -distruster:TSTR:TSTR -disturbers:TSTR:TSTR -disturbing:TSTR:TSTR -disulfiram:TSLF:TSLF -disulphate:TSLF:TSLF -disulphide:TSLF:TSLF -disuniters:TSNT:TSNT -disunities:TSNT:TSNT -disuniting:TSNT:TSNT -disyllable:TSLP:TSLP -ditchwater:TXTR:TXTR -ditheistic:T0ST:TTST -dithionite:T0NT:TTNT -dithionous:T0NS:TTNS -dittanders:TTNT:TTNT -diuretical:TRTK:TRTK -divagating:TFKT:TFKT -divagation:TFKX:TFKX -divaricate:TFRK:TFRK -divergence:TFRJ:TFRK -divergency:TFRJ:TFRK -diversions:TFRS:TFRX -divertible:TFRT:TFRT -divestible:TFST:TFST -divestment:TFST:TFST -divestures:TFST:TFST -divination:TFNX:TFNX -divinatory:TFNT:TFNT -divineness:TFNN:TFNN -divinities:TFNT:TFNT -divinizing:TFNS:TFNS -divisional:TFSN:TFXN -divisionis:TFSN:TFXN -divisively:TFSF:TFSF -divulgence:TFLJ:TFLK -docimasias:TSMS:TSMX -docimasies:TSMS:TSMS -docimastic:TSMS:TSMS -docosanoic:TKSN:TKSN -doctorates:TKTR:TKTR -doctorhood:TKTR:TKTR -doctorship:TKTR:TKTR -doctrinist:TKTR:TKTR -docudramas:TKTR:TKTR -documental:TKMN:TKMN -documented:TKMN:TKMN -documenter:TKMN:TKMN -dodecagons:TTKK:TTKK -dodecanoic:TTKN:TTKN -dogcatcher:TKKX:TKKX -doggedness:TKTN:TKTN -doglegging:TKLK:TKLK -dogmatical:TKMT:TKMT -dogmatises:TKMT:TKMT -dogmatists:TKMT:TKMT -dogmatized:TKMT:TKMT -dogmatizer:TKMT:TKMT -dogmatizes:TKMT:TKMT -dognapping:TNPN:TKNP -dogsbodies:TKSP:TKSP -dolorously:TLRS:TLRS -domiciliar:TMSL:TMSL -domiciling:TMSL:TMSL -dominantly:TMNN:TMNN -dominating:TMNT:TMNT -domination:TMNX:TMNX -dominative:TMNT:TMNT -dominators:TMNT:TMNT -domineered:TMNR:TMNR -dominicans:TMNK:TMNK -donationes:TNXN:TNXN -donnybrook:TNPR:TNPR -doodlebugs:TTLP:TTLP -doorframes:TRFR:TRFR -doorkeeper:TRKP:TRKP -doorplates:TRPL:TRPL -dopesheets:TPXT:TPXT -doraphobia:TRFP:TRFP -dormancies:TRMN:TRMN -dorsigrade:TRSK:TRSK -dosemetric:TSMT:TSMT -dosimetric:TSMT:TSMT -dosshouses:TSSS:TSSS -dostoevski:TSTF:TSTF -dostoevsky:TSTF:TSTF -doubleness:TPLN:TPLN -doubletons:TPLT:TPLT -doubletree:TPLT:TPLT -doubtfully:TPTF:TPTF -doubtingly:TPTN:TPTN -douchiness:TXNS:TKNS -doughtiest:TTST:TTST -douloureux:TLRK:TLRK -dovetailed:TFTL:TFTL -dowitchers:TXRS:TXRS -downbursts:TNPR:TNPR -downcomers:TNKM:TNKM -downfallen:TNFL:TNFL -downgraded:TNKR:TNKR -downgrades:TNKR:TNKR -downloaded:TNLT:TNLT -downplayed:TNPL:TNPL -downshifts:TNXF:TNXF -downsizing:TNSS:TNST -downstairs:TNST:TNST -downstream:TNST:TNST -downstroke:TNST:TNST -downswings:TNSN:TNSN -downthrows:TN0R:TNTR -downtrends:TNTR:TNTR -doxologies:TKSL:TKSL -doxylamine:TKSL:TKSL -draftiness:TRFT:TRFT -draghounds:TRNT:TRNT -dragonhead:TRKN:TRKN -dragonnade:TRKN:TRKN -dragoonage:TRKN:TRKN -dragooning:TRKN:TRKN -drainpipes:TRNP:TRNP -dramatists:TRMT:TRMT -dramatized:TRMT:TRMT -dramatizer:TRMT:TRMT -dramatizes:TRMT:TRMT -dramaturge:TRMT:TRMT -dramaturgy:TRMT:TRMT -draughters:TRFT:TRFT -draughtier:TRFT:TRFT -draughtily:TRFT:TRFT -draughting:TRFT:TRFT -dravidians:TRFT:TRFT -drawbridge:TRPR:TRPR -drawknives:TRKN:TRKN -drawlingly:TRLN:TRLN -drawplates:TRPL:TRPL -drawshaves:TRXF:TRXF -drawsheets:TRXT:TRXT -drawstring:TRST:TRST -drayhorses:TRHR:TRHR -dreadfully:TRTF:TRTF -dreadlocks:TRTL:TRTL -dreamboats:TRMP:TRMP -dreamfully:TRMF:TRMF -dreaminess:TRMN:TRMN -dreamingly:TRMN:TRMN -dreariness:TRRN:TRRN -dressiness:TRSN:TRSN -dressmaker:TRSM:TRSM -drillstock:TRLS:TRLS -driverless:TRFR:TRFR -drolleries:TRLR:TRLR -dromograph:TRMK:TRMK -dromomania:TRMM:TRMM -droopiness:TRPN:TRPN -droopingly:TRPN:TRPN -dropkicked:TRPK:TRPK -dropkicker:TRPK:TRPK -droplights:TRPL:TRPL -dropsondes:TRPS:TRPS -drosophila:TRSF:TRSF -drossiness:TRSN:TRSN -drowsiness:TRSN:TRSN -drudgeries:TRJR:TRJR -drudgingly:TRJN:TRJN -drugmakers:TRKM:TRKM -drugstores:TRKS:TRKS -druidesses:TRTS:TRTS -drumsticks:TRMS:TRMS -drupaceous:TRPS:TRPS -duckboards:TKPR:TKPR -duckfooted:TKFT:TKFT -dulcetness:TLST:TLST -dullsville:TLSF:TLSF -dumbfounds:TMPF:TMPF -dumbstruck:TMPS:TMPS -dumbwaiter:TMPT:TMPT -dumfounded:TMFN:TMFN -dunderhead:TNTR:TNTR -duodecimal:TTSM:TTSM -duodenitis:TTNT:TTNT -dupability:TPPL:TPPL -duplicable:TPLK:TPLK -duplicated:TPLK:TPLK -duplicates:TPLK:TPLK -duplicator:TPLK:TPLK -duplicatum:TPLK:TPLK -duplicitas:TPLS:TPLS -durability:TRPL:TRPL -duraplasty:TRPL:TRPL -durational:TRXN:TRXN -dustsheets:TSTX:TSTX -dutchesses:TXSS:TXSS -dwarfishly:TRFX:TRFX -dynamistic:TNMS:TNMS -dynamiters:TNMT:TNMT -dynamiting:TNMT:TNMT -dynamogeny:TNMJ:TNMK -dynamotors:TNMT:TNMT -dynastical:TNST:TNST -dynatherms:TN0R:TNTR -dysacouses:TSKS:TSKS -dysacousia:TSKS:TSKX -dysacousis:TSKS:TSKS -dysarthria:TSR0:TSRT -dysarthric:TSR0:TSRT -dyschromia:TXRM:TXRM -dyscrinism:TSKN:TSKN -dysenteric:TSNT:TSNT -dysgeneses:TSJN:TSKN -dysgenesis:TSJN:TSKN -dysgraphia:TSKR:TSKR -dysidroses:TSTR:TSTR -dysidrosis:TSTR:TSTR -dyskinesia:TSKN:TSKN -dyskinetic:TSKN:TSKN -dysostoses:TSST:TSST -dysostosis:TSST:TSST -dysphemism:TSFM:TSFM -dysphrasia:TSFR:TSFR -dysplastic:TSPL:TSPL -dysprosium:TSPR:TSPR -dyssebacia:TSPS:TSPX -dyssynergy:TSNR:TSNR -dystrophia:TSTR:TSTR -dystrophic:TSTR:TSTR -eaglestone:AKLS:AKLS -eaglewoods:AKLT:AKLT -earmarking:ARMR:ARMR -earthbound:AR0P:ARTP -earthiness:AR0N:ARTN -earthliest:AR0L:ARTL -earthlight:AR0L:ARTL -earthlings:AR0L:ARTL -earthmover:AR0M:ARTM -earthquake:AR0K:ARTK -earthshine:AR0X:ARTX -earthwards:AR0R:ARTR -earthworks:AR0R:ARTR -earthworms:AR0R:ARTR -earwitness:ARTN:ARTN -easterlies:ASTR:ASTR -easterners:ASTR:ASTR -eastwardly:ASTR:ASTR -eavesdrops:AFST:AFST -eberthella:APR0:APRT -ebracteate:APRK:APRK -ebullience:APLN:APLN -ebulliency:APLN:APLN -ebullition:APLX:APLX -eburnation:APRN:APRN -eccentrics:AXNT:AXNT -ecchymosed:AXMS:AXMS -ecchymoses:AXMS:AXMS -ecchymosis:AXMS:AXMS -ecchymotic:AXMT:AXMT -ecclesiast:AKLS:AKLX -ecdysiasts:AKTS:AKTX -echinoderm:AXNT:AKNT -echinoidea:AXNT:AKNT -echinulate:AXNL:AKNL -echopraxia:AXPR:AKPR -ecological:AKLJ:AKLK -ecologists:AKLJ:AKLK -ecomiastic:AKMS:AKMS -economical:AKNM:AKNM -economists:AKNM:AKNM -economized:AKNM:AKNM -economizer:AKNM:AKNM -economizes:AKNM:AKNM -ecospecies:AKSP:AKSP -ecospheres:AKSF:AKSF -ecosystems:AKSS:AKSS -ecphoriaes:AKFR:AKFR -ecphorized:AKFR:AKFR -ecphorizes:AKFR:AKFR -ecstatical:AKST:AKST -ectethmoid:AKT0:AKTT -ectocardia:AKTK:AKTK -ectocervix:AKTS:AKTS -ectocornea:AKTK:AKTK -ectodermal:AKTT:AKTT -ectodermic:AKTT:AKTT -ectoenzyme:AKTN:AKTN -ectogenous:AKTJ:AKTK -ectomorphs:AKTM:AKTM -ectomorphy:AKTM:AKTM -ectophytes:AKTF:AKTF -ectophytic:AKTF:AKTF -ectoplasms:AKTP:AKTP -ectoprocts:AKTP:AKTP -ectostoses:AKTS:AKTS -ectostosis:AKTS:AKTS -ectrodacty:AKTR:AKTR -ectromelia:AKTR:AKTR -ectromelic:AKTR:AKTR -ecumenical:AKMN:AKMN -eczematous:ASMT:AXMT -edaciously:ATSS:ATXS -edentulate:ATNT:ATNT -edentulous:ATNT:ATNT -edibleness:ATPL:ATPL -edifyingly:ATFN:ATFN -editorials:ATTR:ATTR -editorship:ATTR:ATTR -educatable:ATKT:ATKT -educations:ATKX:ATKX -edwardians:ATRT:ATRT -eelgrasses:ALKR:ALKR -effaceable:AFSP:AFSP -effacement:AFSM:AFSM -effectible:AFKT:AFKT -effectuate:AFKT:AFKT -effeminacy:AFMN:AFMN -effeminate:AFMN:AFMN -efferentia:AFRN:AFRN -efferently:AFRN:AFRN -effervesce:AFRF:AFRF -effeteness:AFTN:AFTN -efficiency:AFSN:AFXN -effleurage:AFLR:AFLR -effloresce:AFLR:AFLR -effluences:AFLN:AFLN -effluviums:AFLF:AFLF -effortless:AFRT:AFRT -effraction:AFRK:AFRK -effrontery:AFRN:AFRN -effulgence:AFLJ:AFLK -effusively:AFSF:AFSF -egestation:AJST:AKST -egestative:AJST:AKST -eggbeaters:AKPT:AKPT -eglandular:AKLN:AKLN -eglantines:AKLN:AKLN -egocentric:AKSN:AKSN -egoistical:AKST:AKST -egomanical:AKMN:AKMN -egophonies:AKFN:AKFN -egyptology:AJPT:AKPT -eiderdowns:ATRT:ATRT -eigenvalue:AJNF:AKNF -eighteenmo:ATNM:ATNM -eighteenth:ATN0:ATNT -eightieths:AT0S:ATTS -eightsided:ATST:ATST -eightyfold:ATFL:ATFL -eimeriidae:AMRT:AMRT -eirenicons:ARNK:ARNK -eisenhower:ASNR:ASNR -eisteddfod:ASTT:ASTT -ejaculated:AJKL:AHKL -ejaculates:AJKL:AHKL -ejaculator:AJKL:AHKL -ejectively:AJKT:AJKT -ejectments:AJKT:AJKT -ekistician:AKST:AKST -elaborated:ALPR:ALPR -elaborates:ALPR:ALPR -elaborator:ALPR:ALPR -elasmosaur:ALSM:ALSM -elastances:ALST:ALST -elasticate:ALST:ALST -elasticity:ALST:ALST -elasticize:ALST:ALST -elastomers:ALST:ALST -elatedness:ALTT:ALTT -elderberry:ALTR:ALTR -elecampane:ALKM:ALKM -electiones:ALKX:ALKX -electively:ALKT:ALKT -electivity:ALKT:ALKT -electorate:ALKT:ALKT -electorial:ALKT:ALKT -electrical:ALKT:ALKT -electrodes:ALKT:ALKT -electrogen:ALKT:ALKT -electrojet:ALKT:ALKT -electronic:ALKT:ALKT -elegancies:ALKN:ALKN -elementals:ALMN:ALMN -elementary:ALMN:ALMN -elevations:ALFX:ALFX -elevenfold:ALFN:ALFN -eleventhes:ALFN:ALFN -elfishness:ALFX:ALFX -elicitable:ALST:ALST -eliminable:ALMN:ALMN -eliminated:ALMN:ALMN -eliminates:ALMN:ALMN -eliminator:ALMN:ALMN -elipticity:ALPT:ALPT -ellipsoids:ALPS:ALPS -elliptical:ALPT:ALPT -eloignment:ALNM:ALKN -elongating:ALNK:ALNK -elongation:ALNK:ALNK -elopements:ALPM:ALPM -eloquently:ALKN:ALKN -elucidated:ALST:ALST -elucidates:ALST:ALST -elucidator:ALST:ALST -elutriated:ALTR:ALTR -elutriater:ALTR:ALTR -elutriates:ALTR:ALTR -elutriator:ALTR:ALTR -eluviation:ALFX:ALFX -emaciating:AMST:AMXT -emaciation:AMSX:AMXX -emanations:AMNX:AMNX -emancipate:AMNS:AMNS -emancipist:AMNS:AMNS -emarginate:AMRJ:AMRK -emasculate:AMSK:AMSK -embalmment:AMPL:AMPL -embankment:AMPN:AMPN -embargoing:AMPR:AMPR -embarkment:AMPR:AMPR -embassador:AMPS:AMPS -embezzlers:AMPS:AMPS -embezzling:AMPS:AMPS -embittered:AMPT:AMPT -embitterer:AMPT:AMPT -emblazoned:AMPL:AMPL -emblazoner:AMPL:AMPL -emblazonry:AMPL:AMPL -emblematic:AMPL:AMPL -emblements:AMPL:AMPL -embodiment:AMPT:AMPT -emboldened:AMPL:AMPL -embolismic:AMPL:AMPL -embonpoint:AMPN:AMPN -embosoming:AMPS:AMPS -embossment:AMPS:AMPS -embouchure:AMPX:AMPK -emboweling:AMPL:AMPL -embowering:AMPR:AMPR -embowments:AMPM:AMPM -embrangled:AMPR:AMPR -embrasured:AMPR:AMPR -embrasures:AMPR:AMPR -embrocated:AMPR:AMPR -embrocates:AMPR:AMPR -embroglios:AMPR:AMPR -embroiders:AMPR:AMPR -embroidery:AMPR:AMPR -embroilers:AMPR:AMPR -embroiling:AMPR:AMPR -embruement:AMPR:AMPR -embryogeny:AMPR:AMPR -embryology:AMPR:AMPR -embryomata:AMPR:AMPR -embryonate:AMPR:AMPR -embryotome:AMPR:AMPR -embryotomy:AMPR:AMPR -embussment:AMPS:AMPS -emendation:AMNT:AMNT -emendators:AMNT:AMNT -emendatory:AMNT:AMNT -emeraldine:AMRL:AMRL -emergences:AMRJ:AMRK -emergently:AMRJ:AMRK -emetically:AMTK:AMTK -emigrating:AMKR:AMKR -emigration:AMKR:AMKR -emigratory:AMKR:AMKR -emissaries:AMSR:AMSR -emissivity:AMSF:AMSF -emmetropia:AMTR:AMTR -emmetropic:AMTR:AMTR -emollience:AMLN:AMLN -emollients:AMLN:AMLN -emoluments:AMLM:AMLM -empaneling:AMPN:AMPN -empathetic:AMP0:AMPT -empathists:AMP0:AMPT -empathized:AMP0:AMPT -empathizes:AMP0:AMPT -empennages:AMPN:AMPN -emphasized:AMFS:AMFS -emphasizes:AMFS:AMFS -empiricism:AMPR:AMPR -empiricist:AMPR:AMPR -employable:AMPL:AMPL -employment:AMPL:AMPL -empoldered:AMPL:AMPL -empowering:AMPR:AMPR -emulations:AMLX:AMLX -emulsified:AMLS:AMLS -emulsifier:AMLS:AMLS -emulsifies:AMLS:AMLS -enactments:ANKT:ANKT -enamelings:ANML:ANML -enamelists:ANML:ANML -enamelware:ANML:ANML -enamelwork:ANML:ANML -encampment:ANKM:ANKM -encaphalic:ANKF:ANKF -encapsuled:ANKP:ANKP -encapsules:ANKP:ANKP -encasement:ANKS:ANKS -encashable:ANKX:ANKX -encashment:ANKX:ANKX -encephalic:ANSF:ANSF -encephalon:ANSF:ANSF -enchaining:ANXN:ANKN -enchanters:ANXN:ANKN -enchanting:ANXN:ANKN -enchiladas:ANXL:ANKL -enchondral:ANXN:ANKN -enciphered:ANSF:ANSF -encipherer:ANSF:ANSF -encircling:ANSR:ANSR -enclasping:ANKL:ANKL -enclosable:ANKL:ANKL -enclosures:ANKL:ANKL -encodement:ANKT:ANKT -encoloring:ANKL:ANKL -encopreses:ANKP:ANKP -encopresis:ANKP:ANKP -encounters:ANKN:ANKN -encouraged:ANKR:ANKR -encourager:ANKR:ANKR -encourages:ANKR:ANKR -encrinites:ANKR:ANKR -encroached:ANKR:ANKR -encroacher:ANKR:ANKR -encroaches:ANKR:ANKR -encrusting:ANKR:ANKR -encrypting:ANKR:ANKR -encryption:ANKR:ANKR -encumbered:ANKM:ANKM -encyclical:ANSK:ANSK -encystment:ANSS:ANSS -endamaging:ANTM:ANTM -endamoebae:ANTM:ANTM -endamoebas:ANTM:ANTM -endangered:ANTN:ANTN -endarteria:ANTR:ANTR -endearment:ANTR:ANTR -endeavored:ANTF:ANTF -endeavorer:ANTF:ANTF -endemicity:ANTM:ANTM -endobiotic:ANTP:ANTP -endoblasts:ANTP:ANTP -endocardia:ANTK:ANTK -endocarpal:ANTK:ANTK -endocarpic:ANTK:ANTK -endocrania:ANTK:ANTK -endocrinal:ANTK:ANTK -endocrinic:ANTK:ANTK -endodermal:ANTT:ANTT -endodermic:ANTT:ANTT -endodermis:ANTT:ANTT -endodontal:ANTT:ANTT -endodontia:ANTT:ANTT -endodontic:ANTT:ANTT -endoenzyme:ANTN:ANTN -endogamies:ANTK:ANTK -endogamous:ANTK:ANTK -endogenous:ANTJ:ANTK -endometria:ANTM:ANTM -endomorphy:ANTM:ANTM -endomysium:ANTM:ANTM -endoneuria:ANTN:ANTN -endophytes:ANTF:ANTF -endophytic:ANTF:ANTF -endorsable:ANTR:ANTR -endoscopes:ANTS:ANTS -endoscopic:ANTS:ANTS -endosepses:ANTS:ANTS -endosepsis:ANTS:ANTS -endosmoses:ANTS:ANTS -endosmosis:ANTS:ANTS -endosmotic:ANTS:ANTS -endostitis:ANTS:ANTS -endostomas:ANTS:ANTS -endostoses:ANTS:ANTS -endostosis:ANTS:ANTS -endothecia:ANT0:ANTT -endothelia:ANT0:ANTT -endothermy:ANT0:ANTT -endovenous:ANTF:ANTF -endowments:ANTM:ANTM -endplaying:ANTP:ANTP -enduringly:ANTR:ANTR -energetics:ANRK:ANRK -energizers:ANRJ:ANRK -energizing:ANRJ:ANRK -enervating:ANRF:ANRF -enervation:ANRF:ANRF -enervative:ANRF:ANRF -enervators:ANRF:ANRF -enfacement:ANFS:ANFS -enfeeblers:ANFP:ANFP -enfeebling:ANFP:ANFP -enfeoffing:ANFF:ANFF -enfilading:ANFL:ANFL -enfoldings:ANFL:ANFL -enfoldment:ANFL:ANFL -enforcedly:ANFR:ANFR -engagement:ANKJ:ANKK -engagingly:ANKJ:ANKK -engendered:ANJN:ANKN -engenderer:ANJN:ANKN -engineered:ANJN:ANKN -engineless:ANJN:ANKN -engineries:ANJN:ANKN -englanders:ANKL:ANKL -englishman:ANKL:ANLX -englishmen:ANKL:ANLX -englutting:ANKL:ANKL -engrafting:ANKR:ANKR -engrailing:ANKR:ANKR -engraining:ANKR:ANKR -engravings:ANKR:ANKR -engrossers:ANKR:ANKR -engrossing:ANKR:ANKR -engulfment:ANKL:ANKL -enharmonic:ANRM:ANRM -enigmatize:ANKM:ANKM -enjambment:ANJM:ANJM -enjoinders:ANJN:ANJN -enjoinment:ANJN:ANJN -enjoyments:ANJM:ANJM -enkephalin:ANKF:ANKF -enkindlers:ANKN:ANKN -enkindling:ANKN:ANKN -enlacement:ANLS:ANLS -enlightens:ANLT:ANLT -enlistment:ANLS:ANLS -enliveners:ANLF:ANLF -enlivening:ANLF:ANLF -enmeshment:ANMX:ANMX -enneahedra:ANHT:ANHT -enormities:ANRM:ANRM -enormously:ANRM:ANRM -enphytotic:ANFT:ANFT -enragement:ANRJ:ANRK -enraptured:ANRP:ANRP -enraptures:ANRP:ANRP -enrichment:ANRX:ANRK -enrollment:ANRL:ANRL -enrolments:ANRL:ANRL -ensanguine:ANSN:ANSN -ensconcing:ANSK:ANSK -ensheathed:ANX0:ANXT -ensheathes:ANX0:ANXT -enshrining:ANXR:ANXR -enshrouded:ANXR:ANXR -ensigncies:ANSN:ANSK -ensignship:ANSN:ANSK -ensilaging:ANSL:ANSL -ensorceled:ANSR:ANSR -ensorcells:ANSR:ANSR -ensoulment:ANSL:ANSL -ensphering:ANSF:ANSF -enstatitie:ANST:ANST -enstranger:ANST:ANST -enswathing:ANS0:ANST -entailment:ANTL:ANTL -entamoebae:ANTM:ANTM -entamoebas:ANTM:ANTM -entanglers:ANTN:ANTN -entangling:ANTN:ANTN -enteralgia:ANTR:ANTR -enterobius:ANTR:ANTR -enterocele:ANTR:ANTR -enterocoel:ANTR:ANTR -enterocyst:ANTR:ANTR -enterolite:ANTR:ANTR -enterolith:ANTR:ANTR -enteropexy:ANTR:ANTR -enterotomy:ANTR:ANTR -enterozoan:ANTR:ANTR -enterprize:ANTR:ANTR -entertains:ANTR:ANTR -enthralled:AN0R:ANTR -enthroning:AN0R:ANTR -enthusiasm:AN0S:ANTX -enthusiast:AN0S:ANTX -enthymatic:AN0M:ANTM -enthymemes:AN0M:ANTM -enticement:ANTS:ANTS -enticingly:ANTS:ANTS -entireness:ANTR:ANTR -entireties:ANTR:ANTR -entitative:ANTT:ANTT -entoblasts:ANTP:ANTP -entocornea:ANTK:ANTK -entodermal:ANTT:ANTT -entodermic:ANTT:ANTT -entombment:ANTM:ANTM -entomology:ANTM:ANTM -entophytes:ANTF:ANTF -entophytic:ANTF:ANTF -entoretina:ANTR:ANTR -entourages:ANTR:ANTR -entr'actes:ANTR:ANTR -entraining:ANTR:ANTR -entrammels:ANTR:ANTR -entrancing:ANTR:ANTR -entrapment:ANTR:ANTR -entrappers:ANTR:ANTR -entrapping:ANTR:ANTR -entreaties:ANTR:ANTR -entreating:ANTR:ANTR -entrechats:ANTR:ANTR -entrecôtes:ANTR:ANTR -entrenched:ANTR:ANTR -entrencher:ANTR:ANTR -entrenches:ANTR:ANTR -entrusting:ANTR:ANTR -enucleated:ANKL:ANKL -enucleates:ANKL:ANKL -enumerable:ANMR:ANMR -enumerated:ANMR:ANMR -enumerates:ANMR:ANMR -enumerator:ANMR:ANMR -enunciable:ANNS:ANNX -enunciated:ANNS:ANNX -enunciates:ANNS:ANNX -enunciator:ANNS:ANNX -enurements:ANRM:ANRM -envelopers:ANFL:ANFL -enveloping:ANFL:ANFL -envenoming:ANFN:ANFN -environing:ANFR:ANFR -envisaging:ANFS:ANFS -envisioned:ANFS:ANFX -envoyships:ANFX:ANFX -enwreathed:ANR0:ANRT -enzymology:ANSM:ANSM -enzymoytic:ANSM:ANSM -eohippuses:AHPS:AHPS -eosinocyte:ASNS:ASNS -eosinophil:ASNF:ASNF -epanaphora:APNF:APNF -eparchates:APRX:APRK -eparterial:APRT:APRT -epaulettes:APLT:APLT -epautement:APTM:APTM -epeirogeny:APRJ:APRK -ependymoma:APNT:APNT -epentheses:APN0:APNT -epenthesis:APN0:APNT -epenthetic:APN0:APNT -epexegeses:APKS:APKS -epexegesis:APKS:APKS -epexegetic:APKS:APKS -ephemeride:AFMR:AFMR -ephemerids:AFMR:AFMR -ephemerons:AFMR:AFMR -epiblastic:APPL:APPL -epicalyces:APKL:APKL -epicalyxes:APKL:APKL -epicanthic:APKN:APKN -epicanthus:APKN:APKN -epicardiac:APKR:APKR -epicardial:APKR:APKR -epicardium:APKR:APKR -epicenters:APSN:APSN -epicentral:APSN:APSN -epichordal:APXR:APKR -epicondyle:APKN:APKN -epicranial:APKR:APKR -epicranium:APKR:APKR -epicycloid:APSK:APSK -epideictic:APTK:APTK -epidermoid:APTR:APTR -epididymal:APTT:APTT -epididymis:APTT:APTT -epigastral:APKS:APKS -epigastria:APKS:APKS -epigastric:APKS:APKS -epigeneses:APJN:APKN -epigenesis:APJN:APKN -epigenetic:APJN:APKN -epigenists:APJN:APKN -epiglottal:APKL:APKL -epiglottic:APKL:APKL -epiglottis:APKL:APKL -epigrapher:APKR:APKR -epigraphic:APKR:APKR -epilepsies:APLP:APLP -epileptics:APLP:APLP -epileptoid:APLP:APLP -epilimnion:APLM:APLM -epimorphic:APMR:APMR -epinasties:APNS:APNS -epinephrin:APNF:APNF -epineurial:APNR:APNR -epineurium:APNR:APNR -epinychium:APNX:APNK -epipelagic:APPL:APPL -epiphanies:APFN:APFN -epipharynx:APFR:APFR -epiphyseal:APFS:APFS -epiphysial:APFS:APFX -epirogenic:APRJ:APRK -episcleral:APSK:APSK -episcopacy:APSK:APSK -episcopate:APSK:APSK -episematic:APSM:APSM -episiotomy:APST:APXT -episodical:APST:APST -episomally:APSM:APSM -epispadias:APSP:APSP -epispastic:APSP:APSP -epistemics:APST:APST -episternal:APST:APST -episternum:APST:APST -epistolary:APST:APST -epistrophe:APST:APST -epitaphist:APTF:APTF -epithalami:AP0L:APTL -epithelial:AP0L:APTL -epithelium:AP0L:APTL -epithelize:AP0L:APTL -epitomical:APTM:APTM -epitomists:APTM:APTM -epitomized:APTM:APTM -epitomizer:APTM:APTM -epitomizes:APTM:APTM -epitympani:APTM:APTM -epizoology:APSL:APSL -eponychium:APNX:APNK -epoophoron:APFR:APFR -equability:AKPL:AKPL -equalities:AKLT:AKLT -equalizers:AKLS:AKLS -equalizing:AKLS:AKLS -equanimity:AKNM:AKNM -equanimous:AKNM:AKNM -equational:AKXN:AKXN -equatorial:AKTR:AKTR -equestrian:AKST:AKST -equilibria:AKLP:AKLP -equipments:AKPM:AKPM -equipoises:AKPS:AKPS -equipotent:AKPT:AKPT -equisetums:AKST:AKST -equitation:AKTX:AKTX -equivalent:AKFL:AKFL -equivocacy:AKFK:AKFK -equivocate:AKFK:AKFK -equivoques:AKFK:AKFK -eradiating:ARTT:ARTT -eradiation:ARTX:ARTX -eradicable:ARTK:ARTK -eradicably:ARTK:ARTK -eradicated:ARTK:ARTK -eradicates:ARTK:ARTK -eradicator:ARTK:ARTK -erectility:ARKT:ARKT -eremitical:ARMT:ARMT -erethismic:AR0S:ARTS -erethistic:AR0S:ARTS -ergographs:ARKK:ARKK -ergometric:ARKM:ARKM -ergonomics:ARKN:ARKN -ergonomist:ARKN:ARKN -ergonovine:ARKN:ARKN -ergosterol:ARKS:ARKS -ergotamine:ARKT:ARKT -ergotinine:ARKT:ARKT -ericaceous:ARKS:ARKS -erlenmeyer:ARLN:ARLN -erogeneity:ARJN:ARKN -erotically:ARTK:ARTK -eroticists:ARTS:ARTS -eroticized:ARTS:ARTS -eroticizes:ARTS:ARTS -erotogenic:ARTJ:ARTK -erotomania:ARTM:ARTM -erotopathy:ARTP:ARTP -errantries:ARNT:ARNT -erubescent:ARPS:ARPS -eructating:ARKT:ARKT -eructation:ARKT:ARKT -eructative:ARKT:ARKT -eruptional:ARPX:ARPX -eruptively:ARPT:ARPT -eruptivity:ARPT:ARPT -erysipelas:ARSP:ARSP -erythrasma:AR0R:ARTR -erythremia:AR0R:ARTR -erythrites:AR0R:ARTR -erythritol:AR0R:ARTR -erythropia:AR0R:ARTR -escadrille:ASKT:ASKT -escaladers:ASKL:ASKL -escalading:ASKL:ASKL -escalating:ASKL:ASKL -escalation:ASKL:ASKL -escalators:ASKL:ASKL -escalatory:ASKL:ASKL -escallonia:ASKL:ASKL -escalloped:ASKL:ASKL -escapement:ASKP:ASKP -escapology:ASKP:ASKP -escarpment:ASKR:ASKR -escharotic:AXRT:AXRT -escheatage:AXTJ:AXTK -escheating:AXTN:AXTN -escritoire:ASKT:ASKT -escutcheon:ASKX:ASKX -esophageal:ASFJ:ASFK -esoterical:ASTR:ASTR -espadrille:ASPT:ASPT -especially:ASPS:ASPX -esplanades:ASPL:ASPL -essentials:ASNX:ASNX -esterified:ASTR:ASTR -esterifies:ASTR:ASTR -esthiomene:AS0M:ASTM -estimating:ASTM:ASTM -estimation:ASTM:ASTM -estimative:ASTM:ASTM -estimators:ASTM:ASTM -estipulate:ASTP:ASTP -estivating:ASTF:ASTF -estivation:ASTF:ASTF -estranging:ASTR:ASTR -estreating:ASTR:ASTR -estrogenic:ASTR:ASTR -esuriently:ASRN:ASRN -eternalize:ATRN:ATRN -eternising:ATRN:ATRN -eternities:ATRN:ATRN -ethambutol:ATMP:ATMP -ethanediol:A0NT:ATNT -ethereally:A0RL:ATRL -etherified:A0RF:ATRF -etherifies:A0RF:ATRF -etherizing:A0RS:ATRS -ethicality:A0KL:ATKL -ethicising:A0SS:ATSS -ethiopians:A0PN:ATPN -ethnically:A0NK:ATNK -ethnogenic:A0NJ:ATNK -ethnologic:A0NL:ATNL -ethologies:A0LJ:ATLK -ethologist:A0LJ:ATLK -ethylating:A0LT:ATLT -ethylation:A0LX:ATLX -etiolating:ATLT:ATLT -etiolation:ATLX:ATLX -etiologies:ATLJ:ATLK -etiologist:ATLJ:ATLK -etiquettes:ATKT:ATKT -eubacteria:APKT:APKT -eucalyptol:AKLP:AKLP -eucalyptus:AKLP:AKLP -eucaryotes:AKRT:AKRT -eucaryotic:AKRT:AKRT -eucharists:AXRS:AKRS -euchlorine:AKLR:AKLR -eucryphiae:AKRF:AKRF -eudaemonia:ATMN:ATMN -eudaemonic:ATMN:ATMN -eudemonics:ATMN:ATMN -eudemonism:ATMN:ATMN -eudiometry:ATMT:ATMT -eugenicist:AJNS:AKNS -euglobulin:AKLP:AKLP -euhemerism:AHMR:AHMR -euhemerist:AHMR:AHMR -euhemerize:AHMR:AHMR -eukaryotes:AKRT:AKRT -eukaryotic:AKRT:AKRT -eulogistic:ALJS:ALKS -eulogizers:ALJS:ALKS -eulogizing:ALJS:ALKS -eupatorium:APTR:APTR -eupatridae:APTR:APTR -euphausiid:AFST:AFST -euphemises:AFMS:AFMS -euphemisms:AFMS:AFMS -euphemized:AFMS:AFMS -euphemizer:AFMS:AFMS -euphemizes:AFMS:AFMS -euphonious:AFNS:AFNS -euphoriant:AFRN:AFRN -euphorical:AFRK:AFRK -euphrasies:AFRS:AFRS -euphuistic:AFST:AFST -euploidies:APLT:APLT -eurhythmic:AR0M:ARTM -eurocheque:ARXK:ARKK -euroclydon:ARKL:ARKL -eurodollar:ARTL:ARTL -eurotiales:ARXL:ARXL -eurovision:ARFS:ARFX -euryhaline:ARHL:ARHL -eurypterid:ARPT:ARPT -eustachian:ASTK:ASTK -euthanasia:A0NS:ATNX -euthanasic:A0NS:ATNS -euthenists:A0NS:ATNS -eutrophies:ATRF:ATRF -evacuating:AFKT:AFKT -evacuation:AFKX:AFKX -evacuative:AFKT:AFKT -evacuators:AFKT:AFKT -evaginated:AFJN:AFKN -evaginates:AFJN:AFKN -evaluating:AFLT:AFLT -evaluation:AFLX:AFLX -evaluative:AFLT:AFLT -evaluators:AFLT:AFLT -evanescent:AFNS:AFNS -evanescing:AFNS:AFNS -evangelism:AFNJ:AFNK -evangelist:AFNJ:AFNK -evangelize:AFNJ:AFNK -evanishing:AFNX:AFNX -evansville:AFNS:AFNS -evaporable:AFPR:AFPR -evaporated:AFPR:AFPR -evaporates:AFPR:AFPR -evaporator:AFPR:AFPR -evaporitic:AFPR:AFPR -evectional:AFKX:AFKX -evenhanded:AFNN:AFNN -eventfully:AFNT:AFNT -eventually:AFNT:AFNT -eventuated:AFNT:AFNT -eventuates:AFNT:AFNT -everglades:AFRK:AFRK -evergreens:AFRK:AFRK -everyplace:AFRP:AFRP -everything:AFR0:AFRT -everywhere:AFRR:AFRR -evidencing:AFTN:AFTN -evidential:AFTN:AFTN -evildoings:AFLT:AFLT -eviscerate:AFSR:AFSR -evocations:AFKX:AFKX -evolutions:AFLX:AFLX -evolvement:AFLF:AFLF -exacerbate:AKSS:AKSS -exactingly:AKSK:AKSK -exactitude:AKSK:AKSK -exaggerate:AKSK:AKSK -exaltation:AKSL:AKSL -examinable:AKSM:AKSM -exanthemas:AKSN:AKSN -exarchates:AKSR:AKSR -exasperate:AKSS:AKSS -excavating:AKSF:AKSF -excavation:AKSF:AKSF -excavators:AKSF:AKSF -exceedable:AKST:AKST -excellence:AKSL:AKSL -excellency:AKSL:AKSL -exceptions:AKSP:AKSP -excerpting:AKSR:AKSR -excerption:AKSR:AKSR -exchangers:AKSN:AKSN -exchanging:AKSN:AKSN -exchequers:AKSK:AKSK -excitation:AKST:AKST -excitative:AKST:AKST -excitatory:AKST:AKST -excitement:AKST:AKST -excitingly:AKST:AKST -exclaimers:AKSL:AKSL -exclaiming:AKSL:AKSL -exclosures:AKSL:AKSL -excludable:AKSL:AKSL -excludible:AKSL:AKSL -exclusions:AKSL:AKSL -excogitate:AKSJ:AKSK -excoriated:AKSR:AKSR -excoriates:AKSR:AKSR -excrements:AKSR:AKSR -excrescent:AKSR:AKSR -excretions:AKSR:AKSR -excruciate:AKSR:AKSR -exculpable:AKSL:AKSL -exculpated:AKSL:AKSL -exculpates:AKSL:AKSL -excursions:AKSR:AKSR -excursuses:AKSR:AKSR -excusatory:AKSS:AKSS -excystment:AKSS:AKSS -exdividend:AKST:AKST -execrating:AKSK:AKSK -execration:AKSK:AKSK -execrative:AKSK:AKSK -execrators:AKSK:AKSK -execratory:AKSK:AKSK -executable:AKSK:AKSK -executants:AKSK:AKSK -executione:AKSK:AKSK -executions:AKSK:AKSK -executives:AKSK:AKSK -executries:AKSK:AKSK -exegetical:AKSK:AKSK -exegetists:AKSK:AKSK -exemptible:AKSM:AKSM -exemptions:AKSM:AKSM -exemptness:AKSM:AKSM -exenterate:AKSN:AKSN -exercisers:AKSR:AKSR -exercising:AKSR:AKSR -exfoliated:AKSF:AKSF -exfoliates:AKSF:AKSF -exfoliator:AKSF:AKSF -exhalation:AKSL:AKSL -exhausters:AKSS:AKSS -exhausting:AKSS:AKSS -exhaustion:AKSS:AKSS -exhaustive:AKSS:AKSS -exhibitant:AKSP:AKSP -exhibiters:AKSP:AKSP -exhibiting:AKSP:AKSP -exhibition:AKSP:AKSP -exhibitive:AKSP:AKSP -exhibitors:AKSP:AKSP -exhibitory:AKSP:AKSP -exhilarant:AKSL:AKSL -exhilarate:AKSL:AKSL -exhilerant:AKSL:AKSL -exhumation:AKSM:AKSM -exigencies:AKSJ:AKSK -exiguities:AKSK:AKSK -exiguously:AKSK:AKSK -existences:AKSS:AKSS -exobiology:AKSP:AKSP -exocentric:AKSS:AKSS -exochorion:AKSX:AKSK -exocytosis:AKSS:AKSS -exodontics:AKST:AKST -exodontist:AKST:AKST -exoenzymes:AKSN:AKSN -exonerated:AKSN:AKSN -exonerates:AKSN:AKSN -exonerator:AKSN:AKSN -exoneretur:AKSN:AKSN -exorbitant:AKSR:AKSR -exorcizers:AKSR:AKSR -exorcizing:AKSR:AKSR -exospheres:AKSS:AKSS -exospheric:AKSS:AKSS -exosporium:AKSS:AKSS -exosporous:AKSS:AKSS -exoterical:AKST:AKST -exothermal:AKS0:AKST -exothermic:AKS0:AKST -exotically:AKST:AKST -exoticness:AKST:AKST -expandable:AKSP:AKSP -expansible:AKSP:AKSP -expansions:AKSP:AKSP -expatiated:AKSP:AKSP -expatiates:AKSP:AKSP -expatiator:AKSP:AKSP -expatriate:AKSP:AKSP -expectable:AKSP:AKSP -expectably:AKSP:AKSP -expectance:AKSP:AKSP -expectancy:AKSP:AKSP -expectedly:AKSP:AKSP -expedience:AKSP:AKSP -expediency:AKSP:AKSP -expedients:AKSP:AKSP -expediters:AKSP:AKSP -expediting:AKSP:AKSP -expedition:AKSP:AKSP -expeditors:AKSP:AKSP -expellable:AKSP:AKSP -expendable:AKSP:AKSP -experience:AKSP:AKSP -experiment:AKSP:AKSP -expertness:AKSP:AKSP -expiations:AKSP:AKSP -expiration:AKSP:AKSP -expiratory:AKSP:AKSP -explainers:AKSP:AKSP -explaining:AKSP:AKSP -explanting:AKSP:AKSP -expletives:AKSP:AKSP -explicable:AKSP:AKSP -explicably:AKSP:AKSP -explicated:AKSP:AKSP -explicates:AKSP:AKSP -explicator:AKSP:AKSP -explicitly:AKSP:AKSP -exploitees:AKSP:AKSP -exploiters:AKSP:AKSP -exploiting:AKSP:AKSP -exploitive:AKSP:AKSP -explosions:AKSP:AKSP -explosives:AKSP:AKSP -exportable:AKSP:AKSP -exposition:AKSP:AKSP -expositive:AKSP:AKSP -expositors:AKSP:AKSP -expository:AKSP:AKSP -expounders:AKSP:AKSP -expounding:AKSP:AKSP -expressage:AKSP:AKSP -expressers:AKSP:AKSP -expressing:AKSP:AKSP -expression:AKSP:AKSP -expressive:AKSP:AKSP -expressivo:AKSP:AKSP -expressway:AKSP:AKSP -expulsions:AKSP:AKSP -expunction:AKSP:AKSP -expurgated:AKSP:AKSP -expurgates:AKSP:AKSP -expurgator:AKSP:AKSP -exsanguine:AKSS:AKSS -exscinding:AKSS:AKSS -exsections:AKSS:AKSS -exsertions:AKSS:AKSS -exsiccated:AKSS:AKSS -exsiccates:AKSS:AKSS -exsiccator:AKSS:AKSS -exsiccoses:AKSS:AKSS -exsiccosis:AKSS:AKSS -extendable:AKST:AKST -extendedly:AKST:AKST -extendible:AKST:AKST -extendibly:AKST:AKST -extensible:AKST:AKST -extensions:AKST:AKST -extenuated:AKST:AKST -extenuates:AKST:AKST -exteriorly:AKST:AKST -externally:AKST:AKST -extinction:AKST:AKST -extinctive:AKST:AKST -extinguish:AKST:AKST -extirpated:AKST:AKST -extirpates:AKST:AKST -extirpator:AKST:AKST -extolments:AKST:AKST -extortions:AKST:AKST -extractant:AKST:AKST -extracting:AKST:AKST -extraction:AKST:AKST -extractive:AKST:AKST -extractors:AKST:AKST -extradited:AKST:AKST -extradites:AKST:AKST -extradoses:AKST:AKST -extradotal:AKST:AKST -extradural:AKST:AKST -extralegal:AKST:AKST -extramural:AKST:AKST -extraneous:AKST:AKST -extrarenal:AKST:AKST -extratubal:AKST:AKST -extraverts:AKST:AKST -extremists:AKST:AKST -extricable:AKST:AKST -extricably:AKST:AKST -extricated:AKST:AKST -extricates:AKST:AKST -extroverts:AKST:AKST -extrusible:AKST:AKST -extrusions:AKST:AKST -extubating:AKST:AKST -extubation:AKST:AKST -exuberance:AKSP:AKSP -exudations:AKST:AKST -exultantly:AKSL:AKSL -exultation:AKSL:AKSL -exultingly:AKSL:AKSL -exurbanite:AKSR:AKSR -exuviating:AKSF:AKSF -exuviation:AKSF:AKSF -eyedropper:ATRP:ATRP -eyeglasses:AKLS:AKLS -eyeleteers:ALTR:ALTR -eyewitness:ATNS:ATNS -fabricated:FPRK:FPRK -fabricates:FPRK:FPRK -fabricator:FPRK:FPRK -fabulation:FPLX:FPLX -fabulously:FPLS:FPLS -faceplates:FSPL:FSPL -facileness:FSLN:FSLN -facilitate:FSLT:FSLT -facilities:FSLT:FSLT -facsimiled:FKSM:FKSM -facsimiles:FKSM:FKSM -factiously:FKTS:FKTS -factitious:FKTT:FKTT -factorable:FKTR:FKTR -factorials:FKTR:FKTR -factorized:FKTR:FKTR -factorizes:FKTR:FKTR -factorship:FKTR:FKTR -factualism:FKTL:FKTL -factualist:FKTL:FKTL -factuality:FKTL:FKTL -fadelessly:FTLS:FTLS -fagopyrism:FKPR:FKPR -fahrenheit:FRNT:FRNT -failsafing:FLSF:FLSF -faintingly:FNTN:FNTN -fairground:FRKR:FRKR -fairleader:FRLT:FRLT -fairylands:FRLN:FRLN -faithfully:F0FL:FTFL -falangists:FLNJ:FLNK -faldstools:FLTS:FLTS -fallacious:FLSS:FLXS -falsehoods:FLSH:FLSH -falsifiers:FLSF:FLSF -falsifying:FLSF:FLSF -familiarly:FMLR:FMLR -famishment:FMXM:FMXM -famousness:FMSN:FMSN -fanaticism:FNTS:FNTS -fanaticize:FNTS:FNTS -fancifully:FNSF:FNSF -fandangoes:FNTN:FNTN -fantasists:FNTS:FNTS -fantasized:FNTS:FNTS -fantasizes:FNTS:FNTS -fantasying:FNTS:FNTS -faradizers:FRTS:FRTS -faradizing:FRTS:FRTS -farandoles:FRNT:FRNT -farcically:FRSK:FRSK -farfetched:FRFX:FRFX -farinosely:FRNS:FRNS -farmhouses:FRMS:FRMS -farmsteads:FRMS:FRMS -farrieries:FRRS:FRRS -farsighted:FRST:FRST -fasciately:FSTL:FSTL -fasciation:FSXN:FSXN -fascicular:FSKL:FSKL -fascicules:FSKL:FSKL -fasciculus:FSKL:FSKL -fascinated:FSNT:FSNT -fascinates:FSNT:FSNT -fascinator:FSNT:FSNT -fasciolaes:FSLS:FSLS -fashioners:FXNR:FXNR -fashioning:FXNN:FXNN -fastenings:FSTN:FSTN -fastidious:FSTT:FSTT -fastigiate:FSTJ:FSTK -fastnesses:FSTN:FSTN -fataleness:FTLN:FTLN -fatalistic:FTLS:FTLS -fatalities:FTLT:FTLT -fatherhood:F0RT:FTRT -fatherland:F0RL:FTRL -fatherless:F0RL:FTRL -fathomable:FTMP:FTMP -fathomless:FTML:FTML -fatiguable:FTKP:FTKP -fattenable:FTNP:FTNP -faultiness:FLTN:FLTN -favoringly:FFRN:FFRN -favoritism:FFRT:FFRT -fearlessly:FRLS:FRLS -fearnaught:FRNK:FRNK -fearsomely:FRSM:FRSM -featherbed:F0RP:FTRP -featherers:F0RR:FTRR -feathering:F0RN:FTRN -febrifugal:FPRF:FPRF -febrifuges:FPRF:FPRF -februaries:FPRR:FPRR -fecklessly:FKLS:FKLS -fecundated:FKNT:FKNT -fecundates:FKNT:FKNT -fecundator:FKNT:FKNT -federalism:FTRL:FTRL -federalist:FTRL:FTRL -federalize:FTRL:FTRL -federating:FTRT:FTRT -federation:FTRX:FTRX -federative:FTRT:FTRT -feeblemind:FPLM:FPLM -feebleness:FPLN:FPLN -feedstuffs:FTST:FTST -feigningly:FNNK:FKNN -feistiness:FSTN:FSTN -felicitate:FLST:FLST -felicities:FLST:FLST -felicitous:FLST:FLST -fellations:FLXN:FLXN -fellatrice:FLTR:FLTR -fellmonger:FLMN:FLMN -fellowship:FLXP:FLXP -femaleness:FMLN:FMLN -feminality:FMNL:FMNL -femininely:FMNN:FMNN -femininity:FMNN:FMNN -feministic:FMNS:FMNS -feminizing:FMNS:FMNS -fenestella:FNST:FNST -fenestrate:FNST:FNST -feretories:FRTR:FRTR -fermenters:FRMN:FRMN -fermenting:FRMN:FRMN -ferredoxin:FRTK:FRTK -ferrotypes:FRTP:FRTP -ferryboats:FRPT:FRPT -fertilisin:FRTL:FRTL -fertilized:FRTL:FRTL -fertilizer:FRTL:FRTL -fertilizes:FRTL:FRTL -fertilizin:FRTL:FRTL -fervencies:FRFN:FRFN -fervidness:FRFT:FRFT -festinated:FSTN:FSTN -festinates:FSTN:FSTN -festoonery:FSTN:FSTN -festooning:FSTN:FSTN -fetchingly:FXNK:FXNK -fetiparous:FTPR:FTPR -fetishists:FTXS:FTXS -fetologies:FTLJ:FTLK -fetologist:FTLJ:FTLK -fetterless:FTRL:FTRL -fetterlock:FTRL:FTRL -fettuccine:FTXN:FTXN -feudalises:FTLS:FTLS -feudalists:FTLS:FTLS -feudalized:FTLS:FTLS -feudalizes:FTLS:FTLS -feverishly:FFRX:FFRX -feverously:FFRS:FFRS -fianchetti:FNXT:FNKT -fianchetto:FNXT:FNKT -fiberboard:FPRP:FPRP -fiberglass:FPRK:FPRK -fiberscope:FPRS:FPRS -fibreboard:FPRP:FPRP -fibreglass:FPRK:FPRK -fibreously:FPRS:FPRS -fibrescope:FPRS:FPRS -fibrilated:FPRL:FPRL -fibrillary:FPRL:FPRL -fibrillate:FPRL:FPRL -fibrillose:FPRL:FPRL -fibrinogen:FPRN:FPRN -fibroblast:FPRP:FPRP -fibrocytes:FPRS:FPRS -fibromyoma:FPRM:FPRM -fibrositis:FPRS:FPRS -fickleness:FKLN:FKLN -fictioneer:FKXN:FKXN -fictionist:FKXN:FKXN -fictitious:FKTT:FKTT -fiddlehead:FTLH:FTLH -fiddleneck:FTLN:FTLN -fidejussio:FTJS:FTJS -fidejussor:FTJS:FTJS -fidelities:FTLT:FTLT -fiducially:FTSL:FTXL -fieldcraft:FLTK:FLTK -fieldfares:FLTF:FLTF -fieldmouse:FLTM:FLTM -fieldpiece:FLTP:FLTP -fieldright:FLTR:FLTR -fieldstone:FLTS:FLTS -fiendishly:FNTX:FNTX -fierceness:FRSN:FRSN -fifteenths:FFTN:FFTN -fiftiethes:FFT0:FFTT -figurately:FKRT:FKRT -figuration:FKRX:FKRX -figurative:FKRT:FKRT -figurehead:FKRH:FKRH -figureless:FKRL:FKRL -filamented:FLMN:FLMN -filariases:FLRS:FLRS -filariasis:FLRS:FLRS -filaricide:FLRS:FLRS -filariform:FLRF:FLRF -filarioses:FLRS:FLRS -filariosis:FLRS:FLRS -filestatus:FLST:FLST -filesystem:FLSS:FLSS -filialness:FLLN:FLLN -filiations:FLXN:FLXN -filibuster:FLPS:FLPS -filigreing:FLKR:FLKR -fillesters:FLST:FLST -fillisters:FLST:FLST -filmsetter:FLMS:FLMS -filmstrips:FLMS:FLMS -filoplumes:FLPL:FLPL -filopodium:FLPT:FLPT -filoselles:FLSL:FLSL -filterable:FLTR:FLTR -filthiness:FL0N:FLTN -filtrating:FLTR:FLTR -filtration:FLTR:FLTR -fimbriated:FMPR:FMPR -finalistic:FNLS:FNLS -finalities:FNLT:FNLT -finalizing:FNLS:FNLS -financiers:FNNS:FNNX -fingerings:FNKR:FNJR -fingerless:FNKR:FNJR -fingerling:FNKR:FNJR -fingernail:FNKR:FNJR -fingertips:FNKR:FNJR -finiteness:FNTN:FNTN -fireboting:FRPT:FRPT -firebrands:FRPR:FRPR -firebreaks:FRPR:FRPR -firebricks:FRPR:FRPR -fireguards:FRKR:FRKR -firehouses:FRHS:FRHS -fireplaces:FRPL:FRPL -fireproofs:FRPR:FRPR -firestorms:FRST:FRST -firstlings:FRST:FRST -fishfinger:FXFN:FXFN -fishmonger:FXMN:FXMN -fishplates:FXPL:FXPL -fishtailed:FXTL:FXTL -fisticuffs:FSTK:FSTK -fistulized:FSTL:FSTL -fistulizes:FSTL:FSTL -fitfulness:FTFL:FTFL -fitzgerald:FTSK:FTSJ -flabbiness:FLPN:FLPN -flabellate:FLPL:FLPL -flaccidity:FLXT:FLXT -flagellant:FLJL:FLKL -flagellata:FLJL:FLKL -flagellate:FLJL:FLKL -flagellums:FLJL:FLKL -flageolets:FLJL:FLKL -flagitious:FLJT:FLKT -flagrantly:FLKR:FLKR -flagstaffs:FLKS:FLKS -flagstones:FLKS:FLKS -flamboyant:FLMP:FLMP -flameproof:FLMP:FLMP -flamingoes:FLMN:FLMN -flangeless:FLNJ:FLNK -flanneling:FLNL:FLNL -flapdoodle:FLPT:FLPT -flashbacks:FLXP:FLXP -flashboard:FLXP:FLXP -flashbulbs:FLXP:FLXP -flashcubes:FLXK:FLXK -flashflood:FLXF:FLXF -flashiness:FLXN:FLXN -flashlamps:FLXL:FLXL -flashlight:FLXL:FLXL -flashovers:FLXF:FLXF -flashtubes:FLXT:FLXT -flatfishes:FLTF:FLTF -flatfooted:FLTF:FLTF -flatteners:FLTN:FLTN -flattening:FLTN:FLTN -flatterers:FLTR:FLTR -flatteries:FLTR:FLTR -flattering:FLTR:FLTR -flatulence:FLTL:FLTL -flatulency:FLTL:FLTL -flaunching:FLNX:FLNK -flavescent:FLFS:FLFS -flavonoids:FLFN:FLFN -flavorings:FLFR:FLFR -flavorless:FLFR:FLFR -flavorsome:FLFR:FLFR -flawlessly:FLLS:FLLS -fleabitten:FLPT:FLPT -fleckering:FLKR:FLKR -flectional:FLKX:FLKX -fledglings:FLTK:FLTK -fleeceable:FLSP:FLSP -fleeciness:FLSN:FLSN -fleetingly:FLTN:FLTN -fleshiness:FLXN:FLXN -fleshliest:FLXL:FLXL -fletchings:FLXN:FLXN -fleurdelis:FLRT:FLRT -fleurettes:FLRT:FLRT -flexuously:FLKS:FLKS -flickering:FLKR:FLKR -flightiest:FLTS:FLTS -flightless:FLTL:FLTL -flimsiness:FLMS:FLMS -flintiness:FLNT:FLNT -flintlocks:FLNT:FLNT -flippantly:FLPN:FLPN -flirtation:FLRT:FLRT -flirtingly:FLRT:FLRT -flittering:FLTR:FLTR -floatation:FLTX:FLTX -floatingly:FLTN:FLTN -flocculant:FLKL:FLKL -flocculate:FLKL:FLKL -flocculent:FLKL:FLKL -flocculous:FLKL:FLKL -floodgates:FLTK:FLTK -floodlight:FLTL:FLTL -floodplain:FLTP:FLTP -floodwater:FLTT:FLTT -floorboard:FLRP:FLRP -floorshift:FLRX:FLRX -floorshows:FLRX:FLRX -flophouses:FLFS:FLFS -floppiness:FLPN:FLPN -florentine:FLRN:FLRN -florescent:FLRS:FLRS -floribunda:FLRP:FLRP -floridians:FLRT:FLRT -floridness:FLRT:FLRT -florilegia:FLRL:FLRL -floristics:FLRS:FLRS -flosculous:FLSK:FLSK -flotations:FLTX:FLTX -floundered:FLNT:FLNT -flourished:FLRX:FLRX -flourisher:FLRX:FLRX -flourishes:FLRX:FLRX -floutingly:FLTN:FLTN -flowcharts:FLXR:FLKR -flowerbeds:FLRP:FLRP -flowerless:FLRL:FLRL -flowerlike:FLRL:FLRL -flowerpots:FLRP:FLRP -fluctuated:FLKT:FLKT -fluctuates:FLKT:FLKT -fluffiness:FLFN:FLFN -flugelhorn:FLJL:FLKL -fluidified:FLTF:FLTF -fluidities:FLTT:FLTT -fluidizers:FLTS:FLTS -fluidizing:FLTS:FLTS -fluidounce:FLTN:FLTN -fluidrachm:FLTR:FLTR -flummeries:FLMR:FLMR -flummoxing:FLMK:FLMK -fluoresced:FLRS:FLRS -fluoresces:FLRS:FLRS -fluoridate:FLRT:FLRT -fluoridize:FLRT:FLRT -fluorinate:FLRN:FLRN -flustering:FLST:FLST -flutterers:FLTR:FLTR -fluttering:FLTR:FLTR -fluviatile:FLFT:FLFT -fluxionary:FLKS:FLKS -flyblowing:FLPL:FLPL -flycatcher:FLKX:FLKX -flyposting:FLPS:FLPS -flyscreens:FLSK:FLSK -flyweights:FLTS:FLTS -focalizing:FKLS:FKLS -foenugreek:FNKR:FNKR -foeticidal:FTST:FTST -foeticides:FTST:FTST -foliaceous:FLSS:FLSS -foliations:FLXN:FLXN -folklorist:FLKL:FLKL -follicular:FLKL:FLKL -folliculin:FLKL:FLKL -folliculus:FLKL:FLKL -followable:FLPL:FLPL -followings:FLNK:FLNK -fontanelle:FNTN:FNTN -foodstuffs:FTST:FTST -footballer:FTPL:FTPL -footboards:FTPR:FTPR -footbridge:FTPR:FTPR -footlights:FTLT:FTLT -footlocker:FTLK:FTLK -footnoting:FTNT:FTNT -footpathes:FTP0:FTPT -footplates:FTPL:FTPL -footprints:FTPR:FTPR -footstalks:FTST:FTST -footstalls:FTST:FTST -footstools:FTST:FTST -foramifera:FRMF:FRMF -foraminate:FRMN:FRMN -forbearers:FRPR:FRPR -forbearing:FRPR:FRPR -forbidders:FRPT:FRPT -forbidding:FRPT:FRPT -forcedness:FRST:FRST -forcefully:FRSF:FRSF -forcipated:FRSP:FRSP -forearming:FRRM:FRRM -foreboders:FRPT:FRPT -foreboding:FRPT:FRPT -forecasted:FRKS:FRKS -forecaster:FRKS:FRKS -forecastle:FRKS:FRKS -foreclosed:FRKL:FRKL -forecloses:FRKL:FRKL -forecourse:FRKR:FRKR -forecourts:FRKR:FRKR -foredoomed:FRTM:FRTM -forefather:FRF0:FRFT -forefinger:FRFN:FRFN -foregather:FRK0:FRKT -foreground:FRKR:FRKR -forehanded:FRHN:FRHN -foreigners:FRNR:FRKN -foreignism:FRNS:FRKN -forejudged:FRJJ:FRJJ -forejudger:FRJJ:FRJJ -forejudges:FRJJ:FRJJ -foreladies:FRLT:FRLT -foremother:FRM0:FRMT -forenotice:FRNT:FRNT -foreordain:FRRT:FRRT -forerunner:FRRN:FRRN -foreseeing:FRSN:FRSN -foreshadow:FRXT:FRXT -foreshanks:FRXN:FRXN -foresheets:FRXT:FRXT -foreshocks:FRXK:FRXK -forestalls:FRST:FRST -foretasted:FRTS:FRTS -foretastes:FRTS:FRTS -foreteller:FRTL:FRTL -foretokens:FRTK:FRTK -forewarned:FRRN:FRRN -forewarner:FRRN:FRRN -forewaters:FRTR:FRTR -forfeiters:FRFT:FRFT -forfeiting:FRFT:FRFT -forfeiture:FRFT:FRFT -forfending:FRFN:FRFN -forgathers:FRK0:FRKT -forgetters:FRKT:FRKT -forgetting:FRKT:FRKT -forgivable:FRJF:FRKF -forgivably:FRJF:FRKF -forkedness:FRKT:FRKT -formalisms:FRML:FRML -formalists:FRML:FRML -formalized:FRML:FRML -formalizer:FRML:FRML -formalizes:FRML:FRML -formalness:FRML:FRML -formations:FRMX:FRMX -formatters:FRMT:FRMT -formatting:FRMT:FRMT -formicaria:FRMK:FRMK -formidable:FRMT:FRMT -formidably:FRMT:FRMT -formlessly:FRML:FRML -formletter:FRML:FRML -formolized:FRML:FRML -formolizes:FRML:FRML -formulated:FRML:FRML -formulates:FRML:FRML -formulator:FRML:FRML -formulists:FRML:FRML -fornicated:FRNK:FRNK -fornicates:FRNK:FRNK -fornicator:FRNK:FRNK -forsakenly:FRSK:FRSK -forswearer:FRSR:FRSR -forsythias:FRS0:FRST -fortalices:FRTL:FRTL -forthright:FR0R:FRTR -fortiethes:FRT0:FRTT -fortifiers:FRTF:FRTF -fortifying:FRTF:FRTF -fortissimo:FRTS:FRTS -fortnights:FRTN:FRTN -fortresses:FRTR:FRTR -fortuities:FRTT:FRTT -fortuitism:FRTT:FRTT -fortuitist:FRTT:FRTT -fortuitous:FRTT:FRTT -fortyfives:FRTF:FRTF -forwarders:FRRT:FRRT -forwarding:FRRT:FRRT -fossickers:FSKR:FSKR -fossicking:FSKN:FSKN -fossilized:FSLS:FSLS -fossilizes:FSLS:FSLS -fossillike:FSLK:FSLK -fosterling:FSTR:FSTR -foudroyant:FTRN:FTRN -foundation:FNTX:FNTX -foundering:FNTR:FNTR -foundlings:FNTL:FNTL -fountained:FNTN:FNTN -fourchette:FRXT:FRKT -fourposter:FRPS:FRPS -foursquare:FRSK:FRSK -fourteenth:FRTN:FRTN -foveolated:FFLT:FFLT -foxtrotted:FKST:FKST -fractional:FRKX:FRKX -fracturing:FRKT:FRKT -fragilitas:FRJL:FRKL -fragmental:FRKM:FRKM -fragmented:FRKM:FRKM -fragrances:FRKR:FRKR -fragrantly:FRKR:FRKR -framboesia:FRMP:FRMP -frameworks:FRMR:FRMR -franchised:FRNX:FRNK -franchisee:FRNX:FRNK -franchiser:FRNX:FRNK -franchises:FRNX:FRNK -franchisor:FRNX:FRNK -franciscan:FRNS:FRNS -franconian:FRNK:FRNK -francophil:FRNK:FRNK -frangipane:FRNJ:FRNK -frangipani:FRNJ:FRNK -fratchiest:FRXS:FRXS -fraternity:FRTR:FRTR -fraternize:FRTR:FRTR -fratricide:FRTR:FRTR -fraudulent:FRTL:FRTL -fraxinella:FRKS:FRKS -freakiness:FRKN:FRKN -freakishly:FRKX:FRKX -freebooted:FRPT:FRPT -freebooter:FRPT:FRPT -freedwoman:FRTM:FRTM -freedwomen:FRTM:FRTM -freehanded:FRHN:FRHN -freeholder:FRHL:FRHL -freelanced:FRLN:FRLN -freelances:FRLN:FRLN -freeloaded:FRLT:FRLT -freeloader:FRLT:FRLT -freemartin:FRMR:FRMR -freemasons:FRMS:FRMS -freestones:FRST:FRST -freewheels:FRLS:FRLS -freightage:FRTJ:FRTK -freighters:FRTR:FRTR -freighting:FRTN:FRTN -frenchness:FRNX:FRNK -frenetical:FRNT:FRNT -frenziedly:FRNS:FRNS -frequented:FRKN:FRKN -frequenter:FRKN:FRKN -frequently:FRKN:FRKN -frescoists:FRSK:FRSK -fresheners:FRXN:FRXN -freshening:FRXN:FRXN -freshwater:FRXT:FRXT -friability:FRPL:FRPL -fricandeau:FRKN:FRKN -fricandoes:FRKN:FRKN -fricasseed:FRKS:FRKS -fricassees:FRKS:FRKS -fricatives:FRKT:FRKT -frictional:FRKX:FRKX -friedreich:FRTR:FRTR -friendless:FRNT:FRNT -friendlier:FRNT:FRNT -friendlily:FRNT:FRNT -friendship:FRNT:FRNT -frightened:FRTN:FRTN -frigidness:FRJT:FRKT -frigorific:FRKR:FRKR -frilliness:FRLN:FRLN -fringeless:FRNJ:FRNK -fringelike:FRNJ:FRNK -fripperies:FRPR:FRPR -friskiness:FRSK:FRSK -friskingly:FRSK:FRSK -fritillary:FRTL:FRTL -fritterers:FRTR:FRTR -frittering:FRTR:FRTR -frivollers:FRFL:FRFL -frivolling:FRFL:FRFL -frizziness:FRSN:FRTS -froebelian:FRPL:FRPL -frogfishes:FRKF:FRKF -froghopper:FRKP:FRKP -frolickers:FRLK:FRLK -frolicking:FRLK:FRLK -frolicsome:FRLK:FRLK -frontality:FRNT:FRNT -frontwards:FRNT:FRNT -frostbites:FRST:FRST -frostiness:FRST:FRST -frothiness:FR0N:FRTN -frowningly:FRNN:FRNN -frowsiness:FRSN:FRSN -frowstiest:FRST:FRST -frowziness:FRSN:FRTS -frozenness:FRSN:FRSN -fructified:FRKT:FRKT -fructifier:FRKT:FRKT -fructifies:FRKT:FRKT -fructoside:FRKT:FRKT -frugalness:FRKL:FRKL -fruitarian:FRTR:FRTR -fruitcakes:FRTK:FRTK -fruiterers:FRTR:FRTR -fruitfully:FRTF:FRTF -fruitiness:FRTN:FRTN -frumpiness:FRMP:FRMP -frumpishly:FRMP:FRMP -frustrated:FRST:FRST -frustrates:FRST:FRST -frutescent:FRTS:FRTS -fugacities:FKST:FKST -fugitively:FJTF:FKTF -fulfillers:FLFL:FLFL -fulfilling:FLFL:FLFL -fulfilment:FLFL:FLFL -fulgurated:FLKR:FLKR -fulgurates:FLKR:FLKR -fuliginous:FLJN:FLKN -fulminated:FLMN:FLMN -fulminates:FLMN:FLMN -fulminator:FLMN:FLMN -fulvescent:FLFS:FLFS -fumagillin:FMJL:FMKL -fumatories:FMTR:FMTR -fumatorium:FMTR:FMTR -fumblingly:FMPL:FMPL -fumigating:FMKT:FMKT -fumigation:FMKX:FMKX -fumigators:FMKT:FMKT -fumitories:FMTR:FMTR -functional:FNKX:FNKX -functioned:FNKX:FNKX -fundectomy:FNTK:FNTK -fundoscopy:FNTS:FNTS -funduscopy:FNTS:FNTS -funereally:FNRL:FNRL -fungicidal:FNJS:FNKS -fungicides:FNJS:FNKS -fungicidin:FNJS:FNKS -fungistats:FNJS:FNKS -fungitoxic:FNJT:FNKT -funiculars:FNKL:FNKL -funiculate:FNKL:FNKL -furbishers:FRPX:FRPX -furbishing:FRPX:FRPX -furcations:FRKX:FRKX -furloughed:FRLF:FRLF -furloughes:FRLF:FRLF -furnishers:FRNX:FRNX -furnishing:FRNX:FRNX -furosemide:FRSM:FRSM -furrieries:FRRS:FRRS -furrowless:FRLS:FRLS -furtherers:FR0R:FRTR -furthering:FR0R:FRTR -furuncular:FRNK:FRNK -furunculus:FRNK:FRNK -fusibility:FSPL:FSPL -fusiformis:FSFR:FSFR -fusillades:FSLT:FSLT -fusionists:FSNS:FXNS -fussbudget:FSPJ:FSPJ -fustanella:FSTN:FSTN -futileness:FTLN:FTLN -futilities:FTLT:FTLT -futureless:FTRL:FTRL -futuristic:FTRS:FTRS -futurities:FTRT:FTRT -futurology:FTRL:FTRL -gabardines:KPRT:KPRT -gabbroitic:KPRT:KPRT -gaberdines:KPRT:KPRT -gabionades:KPNT:KPNT -gabionnade:KPNT:KPNT -gadgeteers:KJTR:KJTR -gadgetries:KJTR:KJTR -gadolinite:KTLN:KTLN -gadolinium:KTLN:KTLN -gaillardia:KLRT:KLRT -gainliness:KNLN:KNLN -gainsayers:KNSR:KNSR -gainsaying:KNSN:KNSN -gaiterless:KTRL:KTRL -galactoses:KLKT:KLKT -galactosis:KLKT:KLKT -galangales:KLNK:KLNK -galavanted:KLFN:KLFN -galavanter:KLFN:KLFN -galenicals:KLNK:KLNK -galivanted:KLFN:KLFN -galivanter:KLFN:KLFN -galliambic:KLMP:KLMP -gallicised:KLSS:KLSS -gallicisms:KLSS:KLSS -gallinules:KLNL:KLNL -gallivants:KLFN:KLFN -gallstones:KLST:KLST -galumphing:KLMF:KLMF -galvanized:KLFN:KLFN -galvanizer:KLFN:KLFN -galvanizes:KLFN:KLFN -gamahuched:KMHX:KMHK -gamahuches:KMHX:KMHK -gambolling:KMPL:KMPL -gamekeeper:KMKP:KMKP -gamesomely:KMSM:KMSM -gametangia:KMTN:KMTN -gametocide:KMTS:KMTS -gametocyte:KMTS:KMTS -gametogeny:KMTJ:KMTK -gametogony:KMTK:KMTK -gangliated:KNKL:KNLT -gangliform:KNKL:KNLF -gangliomas:KNKL:KNLM -ganglionic:KNKL:KNLN -gangplanks:KNKP:KNKP -gangrenous:KNKR:KNKR -gardenless:KRTN:KRTN -gardenlike:KRTN:KRTN -garfishess:KRFX:KRFX -gargantuan:KRKN:KRKN -gargoylism:KRKL:KRKL -garibaldis:KRPL:KRPL -garishness:KRXN:KRXN -garlanding:KRLN:KRLN -garnetlike:KRNT:KRNT -garnierite:KRNR:KRNR -garnisheed:KRNX:KRNX -garnishees:KRNX:KRNX -garnishers:KRNX:KRNX -garnishing:KRNX:KRNX -garnitures:KRNT:KRNT -garrisoned:KRSN:KRSN -garrotters:KRTR:KRTR -garrotting:KRTN:KRTN -garryowens:KRNS:KRNS -gasholders:KXLT:KXLT -gasifiable:KSFP:KSFP -gasometric:KSMT:KSMT -gasteropod:KSTR:KSTR -gastralgia:KSTR:KSTR -gastralgic:KSTR:KSTR -gastrocele:KSTR:KSTR -gastrocoel:KSTR:KSTR -gastrolith:KSTR:KSTR -gastrology:KSTR:KSTR -gastronome:KSTR:KSTR -gastronomy:KSTR:KSTR -gastropexy:KSTR:KSTR -gastropoda:KSTR:KSTR -gastropods:KSTR:KSTR -gastrotomy:KSTR:KSTR -gastrulaes:KSTR:KSTR -gastrulate:KSTR:KSTR -gatehouses:KTHS:KTHS -gatekeeper:KTKP:KTKP -gatherable:K0RP:KTRP -gatherings:K0RN:KTRN -gaucheness:KXNS:KKNS -gaucheries:KXRS:KKRS -gauffering:KFRN:KFRN -gaultheria:KL0R:KLTR -gaultherin:KL0R:KLTR -gazehounds:KSHN:KSHN -gazetteers:KSTR:KSTR -gearshifts:JRXF:KRXF -gearwheels:JRLS:KRLS -geeldikkop:JLTK:KLTK -gelatinize:KLTN:JLTN -gelatinoid:KLTN:JLTN -gelatinous:KLTN:JLTN -gelsemiums:KLSM:JLSM -gemelluses:JMLS:KMLS -geminately:JMNT:KMNT -geminating:JMNT:KMNT -gemination:JMNX:KMNX -gemmaceous:JMSS:KMSS -gemmations:JMXN:KMXN -gemologist:JMLJ:KMLK -gendarmery:JNTR:KNTR -genderless:JNTR:KNTR -genealogic:JNLJ:KNLK -generalist:JNRL:KNRL -generality:JNRL:KNRL -generalize:JNRL:KNRL -generating:JNRT:KNRT -generation:JNRX:KNRX -generative:JNRT:KNRT -generators:JNRT:KNRT -generatrix:JNRT:KNRT -generosity:JNRS:KNRS -generously:JNRS:KNRS -geneticist:JNTS:KNTS -genialness:JNLN:KNLN -geniculate:JNKL:KNKL -geniohyoid:JNHT:KNHT -genitality:JNTL:KNTL -gentamicin:JNTM:KNTM -genteelism:JNTL:KNTL -gentlefolk:JNTL:KNTL -gentleness:JNTL:KNTL -gentrifier:JNTR:KNTR -genuflects:JNFL:KNFL -genyplasty:JNPL:KNPL -geocentric:JSNT:KSNT -geochemist:JXMS:KKMS -geodesists:JTSS:KTSS -geodisical:JTSK:KTSK -geodynamic:JTNM:KTNM -geognostic:JNST:KKNS -geographer:JKRF:KKRF -geographic:JKRF:KKRF -geological:JLJK:KLKK -geologises:JLJS:KLKS -geologists:JLJS:KLKS -geologized:JLJS:KLKS -geologizes:JLJS:KLKS -geomancies:JMNS:KMNX -geometrids:JMTR:KMTR -geometries:JMTR:KMTR -geometrize:JMTR:KMTR -geomorphic:JMRF:KMRF -geophagias:JFJS:KFKS -geophagies:JFJS:KFKS -geophagism:JFJS:KFKS -geophagist:JFJS:KFKS -geophagous:JFKS:KFKS -geophysics:JFSK:KFSK -geoscience:JSNS:KSNS -geospheres:JSFR:KSFR -geostatics:JSTT:KSTT -geothermal:J0RM:KTRM -geothermic:J0RM:KTRM -geotropism:JTRP:KTRP -geratology:KRTL:JRTL -gerfalcons:KRFL:JRFL -geriatrics:KRTR:JRTR -geriatrist:KRTR:JRTR -germanders:KRMN:JRMN -germanises:KRMN:JRMN -germaniums:KRMN:JRMN -germanized:KRMN:JRMN -germanizer:KRMN:JRMN -germanizes:KRMN:JRMN -germantown:KRMN:JRMN -germicidal:KRMS:JRMS -germicides:KRMS:JRMS -germinable:KRMN:JRMN -germinally:KRMN:JRMN -germinated:KRMN:JRMN -germinates:KRMN:JRMN -germinator:KRMN:JRMN -gerodermia:KRTR:JRTR -gerundival:KRNT:JRNT -gerundives:KRNT:JRNT -gestations:KSTX:JSTX -gesundheit:KSNT:JSNT -gettysburg:KTSP:KTSP -ghastliest:KSTL:KSTL -ghettoized:KTST:KTST -ghettoizes:KTSS:KTSS -ghostliest:KSTL:KSTL -ghostwrite:KSTR:KSTR -ghostwrote:KSTR:KSTR -ghoulishly:KLXL:KLXL -giantesses:JNTS:KNTS -giardiases:JRTS:KRTS -giardiasis:JRTS:KRTS -giardioses:JRTS:KRTS -giardiosis:JRTS:KRTS -giftedness:JFTT:KFTT -gigglingly:JKLN:KKLN -gilbertian:KLPR:JLPR -gimballing:JMPL:KMPL -gingersnap:KNKR:JNJR -gingivitis:KNJF:JNKF -ginglyform:KNKL:JNKL -ginglymoid:KNKL:JNKL -girandolas:JRNT:KRNT -girandoles:JRNT:KRNT -girdlecake:JRTL:KRTL -girlfriend:JRLF:KRLF -gittarones:JTRN:KTRN -glacialist:KLSL:KLXL -glaciating:KLST:KLXT -glaciation:KLSX:KLXX -glaciology:KLSL:KLXL -gladdeners:KLTN:KLTN -gladdening:KLTN:KLTN -gladiators:KLTT:KLTT -gladsomely:KLTS:KLTS -glairiness:KLRN:KLRN -glamorized:KLMR:KLMR -glamorizer:KLMR:KLMR -glamorizes:KLMR:KLMR -glancingly:KLNS:KLNS -glanderous:KLNT:KLNT -glandulous:KLNT:KLNT -glangfarbe:KLNK:KLNK -glasshouse:KLSS:KLSS -glassiness:KLSN:KLSN -glassmaker:KLSM:KLSM -glasspaper:KLSP:KLSP -glassworts:KLSR:KLSR -glauconite:KLKN:KLKN -glaucously:KLKS:KLKS -glazieries:KLSR:KLSR -gleamingly:KLMN:KLMN -glimmering:KLMR:LMRN -gliomatous:KLMT:LMTS -glissaders:KLST:LSTR -glissading:KLST:LSTN -glissandos:KLSN:LSNT -glistening:KLST:LSTN -glitterati:KLTR:LTRT -glittering:KLTR:LTRN -gloatingly:KLTN:KLTN -globalists:KLPL:KLPL -globalized:KLPL:KLPL -globalizes:KLPL:KLPL -globularly:KLPL:KLPL -glochidium:KLXT:KLKT -glomectomy:KLMK:KLMK -glomerular:KLMR:KLMR -glomerules:KLMR:KLMR -glomerulus:KLMR:KLMR -gloomfully:KLMF:KLMF -gloominess:KLMN:KLMN -glorifiers:KLRF:KLRF -glorifying:KLRF:KLRF -gloriously:KLRS:KLRS -gloryingly:KLRN:KLRN -glossalgia:KLSL:KLSL -glossarial:KLSR:KLSR -glossaries:KLSR:KLSR -glossarist:KLSR:KLSR -glossators:KLST:KLST -glossiness:KLSN:KLSN -glossingly:KLSN:KLSN -glossohyal:KLSH:KLSH -glossology:KLSL:KLSL -glottidean:KLTT:KLTT -glottology:KLTL:KLTL -glucokinin:KLKK:KLKK -glucolipid:KLKL:KLKL -glucolyses:KLKL:KLKL -glucolysis:KLKL:KLKL -glucosidal:KLKS:KLKS -glucosides:KLKS:KLKS -glucosidic:KLKS:KLKS -glucosuria:KLKS:KLKS -glucosuric:KLKS:KLKS -glucuronic:KLKR:KLKR -glumaceous:KLMS:KLMS -glutamates:KLTM:KLTM -glutamines:KLTM:KLTM -glutaminic:KLTM:KLTM -gluttonies:KLTN:KLTN -gluttonous:KLTN:KLTN -glyceridic:KLSR:KLSR -glycinuria:KLSN:KLSN -glycogenic:KLKJ:KLKK -glycolipid:KLKL:KLKL -glycolyses:KLKL:KLKL -glycolysis:KLKL:KLKL -glycolytic:KLKL:KLKL -glycorrhea:KLKR:KLKR -glycosides:KLKS:KLKS -glycosidic:KLKS:KLKS -glycosuria:KLKS:KLKS -glycosuric:KLKS:KLKS -glycureses:KLKR:KLKR -glycuresis:KLKR:KLKR -glycuronic:KLKR:KLKR -glyoxalase:KLKS:KLKS -glyoxaline:KLKS:KLKS -glyptodont:KLPT:KLPT -gnashingly:NXNK:NXNK -gnathalgia:N0LJ:NTLK -gnomically:NMKL:NMKL -gnosticism:NSTS:NSTS -gnosticize:NSTS:NSTS -gnotobiote:NTPT:NTPT -goalkeeper:KLKP:KLKP -goalmouths:KLM0:KLMT -goaltender:KLTN:KLTN -goatsbeard:KTSP:KTSP -gobstopper:KPST:KPST -godfathers:KTF0:KTFT -godmothers:KTM0:KTMT -godparents:KTPR:KTPR -goldbricks:KLTP:KLTP -goldcrests:KLTK:KLTK -goldeneyes:KLTN:KLTN -goldenness:KLTN:KLTN -goldenrods:KLTN:KLTN -goldenseal:KLTN:KLTN -goldfishes:KLTF:KLTF -goldilocks:KLTL:KLTL -goldsmiths:KLTS:KLTS -goldstones:KLTS:KLTS -goldthread:KLTR:KLTR -goliardery:KLRT:KLRT -gombeenism:KMPN:KMPN -gondoliers:KNTL:KNTL -gongorists:KNKR:KNKR -goniatites:KNTT:KNTT -goniometry:KNMT:KNMT -gonioscope:KNSK:KNSK -gonioscopy:KNSK:KNSK -gonococcal:KNKK:KNKK -gonococcic:KNKX:KNKX -gonococcus:KNKK:KNKK -gonomeries:KNMR:KNMR -gonophores:KNFR:KNFR -gonophoric:KNFR:KNFR -gonorrheal:KNRL:KNRL -gonorrhoea:KNR:KNR -goodliness:KTLN:KTLN -googolplex:KKLP:KKLP -goosanders:KSNT:KSNT -gooseberry:KSPR:KSPR -gooseflesh:KSFL:KSFL -goosefoots:KSFT:KSFT -goosegrass:KSKR:KSKR -goosenecks:KSNK:KSNK -gorgeously:KRJS:KRKS -gorgoneion:KRKN:KRKN -gorgonians:KRKN:KRKN -gorgonised:KRKN:KRKN -gorgonzola:KRKN:KRKN -gormandize:KRMN:KRMN -gospellers:KSPL:KSPL -gothically:K0KL:KTKL -gothicists:K0SS:KTSS -gothicized:K0SS:KTSS -gothicizes:K0SS:KTSS -gothisized:K0SS:KTSS -gothisizer:K0SS:KTSS -gothisizes:K0SS:KTSS -governable:KFRN:KFRN -governance:KFRN:KFRN -government:KFRN:KFRN -gracefully:KRSF:KRSF -graciously:KRSS:KRXS -gradations:KRTX:KRTX -gradualism:KRTL:KRTL -gradualist:KRTL:KRTL -graduating:KRTT:KRTT -graduation:KRTX:KRTX -graduators:KRTT:KRTT -graffitist:KRFT:KRFT -grainfield:KRNF:KRNF -graininess:KRNN:KRNN -gralloched:KRLX:KRLK -gramicidin:KRMS:KRMS -gramineous:KRMN:KRMN -grammarian:KRMR:KRMR -gramophone:KRMF:KRMF -granadilla:KRNT:KRNT -grandaunts:KRNT:KRNT -grandchild:KRNT:KRNT -granddaddy:KRNT:KRNT -grandniece:KRNT:KRNT -grandsires:KRNT:KRNT -grandstand:KRNT:KRNT -grandtotal:KRNT:KRNT -granduncle:KRNT:KRNT -grangerism:KRNK:KRNJ -grangerize:KRNK:KRNJ -granophyre:KRNF:KRNF -granularly:KRNL:KRNL -granulated:KRNL:KRNL -granulater:KRNL:KRNL -granulates:KRNL:KRNL -granulator:KRNL:KRNL -granulitic:KRNL:KRNL -granulomas:KRNL:KRNL -granuloses:KRNL:KRNL -granulosis:KRNL:KRNL -granulosum:KRNL:KRNL -grapefruit:KRPF:KRPF -grapevines:KRPF:KRPF -graphicacy:KRFK:KRFK -graphitize:KRFT:KRFT -graphitoid:KRFT:KRFT -graphology:KRFL:KRFL -graphotype:KRFT:KRFT -graptolite:KRPT:KRPT -graspingly:KRSP:KRSP -grassfinch:KRSF:KRSF -grasshooks:KRSK:KRSK -grassiness:KRSN:KRSN -grasslands:KRSL:KRSL -grassquits:KRSK:KRSK -grassroots:KRSR:KRSR -gratefully:KRTF:KRTF -graticules:KRTK:KRTK -gratifiers:KRTF:KRTF -gratifying:KRTF:KRTF -gratuities:KRTT:KRTT -gratuitous:KRTT:KRTT -gravelless:KRFL:KRFL -gravestone:KRFS:KRFS -graveyards:KRFR:KRFR -gravidarum:KRFT:KRFT -gravidness:KRFT:KRFT -gravimetry:KRFM:KRFM -gravitated:KRFT:KRFT -gravitater:KRFT:KRFT -gravitates:KRFT:KRFT -graybeards:KRPR:KRPR -greaseless:KRSL:KRSL -greasewood:KRST:KRST -greasiness:KRSN:KRSN -greatcoats:KRTK:KRTK -greatheart:KR0R:KRTR -greediness:KRTN:KRTN -greenbacks:KRNP:KRNP -greenbelts:KRNP:KRNP -greenbrier:KRNP:KRNP -greeneries:KRNR:KRNR -greenfield:KRNF:KRNF -greenfinch:KRNF:KRNF -greenflies:KRNF:KRNF -greengages:KRNK:KRNK -greenheads:KRNT:KRNT -greenheart:KRNR:KRNR -greenhorns:KRNR:KRNR -greenhouse:KRNS:KRNS -greenrooms:KRNR:KRNR -greensboro:KRNS:KRNS -greenshank:KRNX:KRNX -greensomes:KRNS:KRNS -greenstick:KRNS:KRNS -greenstone:KRNS:KRNS -greenstuff:KRNS:KRNS -greensward:KRNS:KRNS -greenthumb:KRN0:KRNT -greentrees:KRNT:KRNT -greenwoods:KRNT:KRNT -greffotome:KRFT:KRFT -gregarines:KRKR:KRKR -gregarious:KRKR:KRKR -grenadiers:KRNT:KRNT -grenadines:KRNT:KRNT -gressorial:KRSR:KRSR -grevilleas:KRFL:KRFL -greybeards:KRPR:KRPR -greyhounds:KRHN:KRHN -grievances:KRFN:KRFN -grievingly:KRFN:KRFN -grievously:KRFS:KRFS -grillework:KRLR:KRLR -grillrooms:KRLR:KRLR -grillworks:KRLR:KRLR -grimalkins:KRML:KRML -grindelias:KRNT:KRNT -grinderies:KRNT:KRNT -grindingly:KRNT:KRNT -grindstone:KRNT:KRNT -grippingly:KRPN:KRPN -grisliness:KRLN:KRLN -gristmills:KRST:KRST -grittiness:KRTN:KRTN -grivations:KRFX:KRFX -grizzliest:KRSL:KRSL -groaningly:KRNN:KRNN -grogginess:KRJN:KRKN -grooveless:KRFL:KRFL -groovelike:KRFL:KRFL -grooviness:KRFN:KRFN -grosgrains:KRSK:KRSK -grotesques:KRTS:KRTS -grouchiest:KRXS:KRKS -groundages:KRNT:KRNT -groundbait:KRNT:KRNT -groundhogs:KRNT:KRNT -groundless:KRNT:KRNT -groundling:KRNT:KRNT -groundmass:KRNT:KRNT -groundnuts:KRNT:KRNT -groundsill:KRNT:KRNT -groundsman:KRNT:KRNT -groundsmen:KRNT:KRNT -groundwave:KRNT:KRNT -groundwork:KRNT:KRNT -grouselike:KRSL:KRSL -growlingly:KRLN:KRLN -grubbiness:KRPN:KRPN -grubstaked:KRPS:KRPS -grubstaker:KRPS:KRPS -grubstakes:KRPS:KRPS -grudgeless:KRJL:KRJL -grudgingly:KRJN:KRJN -gruelingly:KRLN:KRLN -gruesomely:KRSM:KRSM -grumpiness:KRMP:KRMP -grumpishly:KRMP:KRMP -gruntingly:KRNT:KRNT -guachamole:KXML:KKML -guanophore:KNFR:KNFR -guaranteed:KRNT:KRNT -guaranteer:KRNT:KRNT -guarantees:KRNT:KRNT -guarantied:KRNT:KRNT -guaranties:KRNT:KRNT -guarantors:KRNT:KRNT -guardhouse:KRTS:KRTS -guardrails:KRTR:KRTR -guardrooms:KRTR:KRTR -guatemalan:KTML:KTML -guerdoners:KRTN:KRTN -guerrillas:KRLS:KRLS -guessingly:KSNK:KSNK -guesthouse:KS0S:KSTS -guestimate:KSTM:KSTM -guidebooks:KTPK:KTPK -guidelines:KTLN:KTLN -guideposts:KTPS:KTPS -guildhalls:KLTL:KLTL -guilefully:KLFL:KLFL -guillemots:KLMT:KLMT -guilloches:KLXS:KLKS -guillotine:KLTN:KLTN -guiltiness:KLTN:KLTN -guitarfish:KTRF:KTRF -guitarists:KTRS:KTRS -gumshields:KMXL:KMXL -gunfighter:KNFT:KNFT -gunmanship:KNMN:KNMN -gunnership:KNRX:KNRX -gunnysacks:KNSK:KNSK -gunpowdery:KNPT:KNPT -gunrunners:KNRN:KNRN -gunrunning:KNRN:KNRN -gunslinger:KNSL:KNSL -gunsmithes:KNSM:KNSM -gutturally:KTRL:KTRL -gymnasiast:KMNS:JMNX -gymnasiums:KMNS:JMNS -gymnastics:KMNS:JMNS -gymnosophy:KMNS:JMNS -gymnosperm:KMNS:JMNS -gynandrism:KNNT:JNNT -gynandroid:KNNT:JNNT -gynandrous:KNNT:JNNT -gynaphores:KNFR:JNFR -gynarchies:KNRX:JNRK -gynatresia:KNTR:JNTR -gynecology:KNKL:JNKL -gyniatrics:KNTR:JNTR -gynogamone:KNKM:JNKM -gynophoric:KNFR:JNFR -gypsophila:KPSF:JPSF -gyrfalcons:KRFL:JRFL -gyroscopes:KRSK:JRSK -gyroscopic:KRSK:JRSK -gyrostatic:KRST:JRST -habergeons:HPRJ:HPRK -habiliment:HPLM:HPLM -habilitate:HPLT:HPLT -habitation:HPTX:HPTX -habitually:HPTL:HPTL -habituated:HPTT:HPTT -habituates:HPTT:HPTT -hackbuteer:HKPT:HKPT -hackbutter:HKPT:HKPT -hackneying:HKNN:HKNN -hackneyism:HKNS:HKNS -hacksawing:HKSN:HKSN -hadrosaurs:HTRS:HTRS -haemadipsa:HMTP:HMTP -haemagogue:HMKK:HMKK -haemamoeba:HMMP:HMMP -haematinic:HMTN:HMTN -haematitic:HMTT:HMTT -haematomas:HMTM:HMTM -haematosis:HMTS:HMTS -haematozoa:HMTS:HMTS -haematuria:HMTR:HMTR -haematuric:HMTR:HMTR -haemocoels:HMKL:HMKL -haemocytes:HMST:HMST -haemolyses:HMLS:HMLS -haemolysin:HMLS:HMLS -haemolysis:HMLS:HMLS -haemolytic:HMLT:HMLT -haemonchus:HMNX:HMNK -haemophile:HMFL:HMFL -haemostats:HMST:HMST -haereditas:HRTT:HRTT -hagbuteers:HKPT:HKPT -hagbutters:HKPT:HKPT -haggadists:HKTS:HKTS -hagiocracy:HJKR:HKKR -hagiograph:HJKR:HKKR -hagiolater:HJLT:HKLT -hagiolatry:HJLT:HKLT -hagiologic:HJLJ:HKLK -hagioscope:HJSK:HKSK -hailstones:HLST:HLST -hailstorms:HLST:HLST -haimsucken:HMSK:HMSK -haircloths:HRKL:HRKL -haircutter:HRKT:HRKT -hairdryers:HRTR:HRTR -hairpieces:HRPS:HRPS -hairspring:HRSP:HRSP -hairstreak:HRST:HRST -hairstyles:HRST:HRST -hairweaver:HRFR:HRFR -halberdier:HLPR:HLPR -halcyonian:HLSN:HLSN -halfwitted:HLFT:HLFT -hallelujah:HLLJ:HLLH -hallmarked:HLMR:HLMR -halloweens:HLNS:HLNS -halobionts:HLPN:HLPN -halogenate:HLJN:HLKN -halogenoid:HLJN:HLKN -halogenous:HLJN:HLKN -halophiles:HLFL:HLFL -halophilic:HLFL:HLFL -halophytes:HLFT:HLFT -halophytic:HLFT:HLFT -hamartomas:HMRT:HMRT -hamburgers:HMPR:HMPR -hamesucken:HMSK:HMSK -hammerhead:HMRT:HMRT -hammerless:HMRL:HMRL -hammerlock:HMRL:HMRL -hammertoes:HMRT:HMRT -hamshackle:HMXK:HMXK -hamstrings:HMST:HMST -handballer:HNTP:HNTP -handbarrow:HNTP:HNTP -handbrakes:HNTP:HNTP -handclasps:HNTK:HNTK -handcrafts:HNTK:HNTK -handcuffed:HNTK:HNTK -handedness:HNTT:HNTT -handicraft:HNTK:HNTK -handleable:HNTL:HNTL -handlebars:HNTL:HNTL -handleless:HNTL:HNTL -handmaiden:HNTM:HNTM -handpicked:HNTP:HNTP -handseling:HNTS:HNTS -handshakes:HNTX:HNTX -handsomely:HNTS:HNTS -handsomest:HNTS:HNTS -handspikes:HNTS:HNTS -handspring:HNTS:HNTS -handstands:HNTS:HNTS -handstroke:HNTS:HNTS -handworked:HNTR:HNTR -handwriter:HNTR:HNTR -handwrites:HNTR:HNTR -hansenosis:HNSN:HNSN -hansenotic:HNSN:HNSN -haplodonty:HPLT:HPLT -haploidies:HPLT:HPLT -haplologic:HPLL:HPLL -haploscope:HPLS:HPLS -haplotypic:HPLT:HPLT -happenings:HPNN:HPNN -haptophore:HPTF:HPTF -haranguers:HRNK:HRNK -haranguing:HRNK:HRNK -harassment:HRSM:HRSM -harbingers:HRPN:HRPN -harborages:HRPR:HRPR -harborless:HRPR:HRPR -hardboards:HRTP:HRTP -hardboiled:HRTP:HRTP -hardbought:HRTP:HRTP -hardcovers:HRTK:HRTK -hardhanded:HRTN:HRTN -hardheaded:HRTT:HRTT -hardstands:HRTS:HRTS -harelipped:HRLP:HRLP -harlequins:HRLK:HRLK -harlotries:HRLT:HRLT -harmlessly:HRML:HRML -harmonicas:HRMN:HRMN -harmonious:HRMN:HRMN -harmonists:HRMN:HRMN -harmoniums:HRMN:HRMN -harmonized:HRMN:HRMN -harmonizer:HRMN:HRMN -harmonizes:HRMN:HRMN -harnessers:HRNS:HRNS -harnessing:HRNS:HRNS -harpooneer:HRPN:HRPN -harpooners:HRPN:HRPN -harpooning:HRPN:HRPN -harpoonist:HRPN:HRPN -harrisburg:HRSP:HRSP -harshening:HRXN:HRXN -hartebeest:HRTP:HRTP -haruspical:HRSP:HRSP -haruspices:HRSP:HRSP -harvesters:HRFS:HRFS -harvesting:HRFS:HRFS -harvestman:HRFS:HRFS -harvestmen:HRFS:HRFS -hastefully:HSTF:HSTF -hatchbacks:HXPK:HXPK -hatchelers:HXLR:HXLR -hatcheling:HXLN:HXLN -hatcheries:HXRS:HXRS -hatchlings:HXLN:HXLN -hatemonger:HTMN:HTMN -haubergeon:HPRJ:HPRK -haughtiest:HTST:HTST -hauntingly:HNTN:HNTN -hausepipes:HSPP:HSPP -haustellum:HSTL:HSTL -haustorium:HSTR:HSTR -haustrated:HSTR:HSTR -haversacks:HFRS:HFRS -haversines:HFRS:HFRS -hawfinches:HFNX:HFNK -hawksbills:HKSP:HKSP -hawseholes:HSHL:HSHL -hawthornes:H0RN:HTRN -hazardable:HSRT:HSRT -hazardless:HSRT:HSRT -headboards:HTPR:HTPR -headcheese:HTXS:HTKS -headfirsts:HTFR:HTFR -headhunter:HTNT:HTNT -headlights:HTLT:HTLT -headlining:HTLN:HTLN -headmaster:HTMS:HTMS -headphones:HTFN:HTFN -headpieces:HTPS:HTPS -headshrink:HTXR:HTXR -headspring:HTSP:HTSP -headsquare:HTSK:HTSK -headstalls:HTST:HTST -headstands:HTST:HTST -headstocks:HTST:HTST -headstones:HTST:HTST -headstream:HTST:HTST -headstrong:HTST:HTST -headwaiter:HTTR:HTTR -headwaters:HTTR:HTTR -headworker:HTRK:HTRK -healthiest:HL0S:HLTS -hearkening:HRKN:HRKN -heartaches:HRTX:HRTK -heartbeats:HRTP:HRTP -heartbreak:HRTP:HRTP -heartbroke:HRTP:HRTP -heartburns:HRTP:HRTP -heartening:HRTN:HRTN -hearthside:HR0S:HRTS -heartiness:HRTN:HRTN -heartsease:HRTS:HRTS -heartthrob:HR0R:HRTR -heartwater:HRTT:HRTT -heartworms:HRTR:HRTR -heatedness:HTTN:HTTN -heathendom:H0NT:HTNT -heathenish:H0NX:HTNX -heathenism:H0NS:HTNS -heathenize:H0NS:HTNS -heatstroke:HTST:HTST -heavenward:HFNR:HFNR -heavyheart:HFHR:HFHR -hebdomadal:HPTM:HPTM -heberdened:HPRT:HPRT -hebetation:HPTX:HPTX -hebetative:HPTT:HPTT -hectically:HKTK:HKTK -hectograms:HKTK:HKTK -hectograph:HKTK:HKTK -hectoliter:HKTL:HKTL -hectometer:HKTM:HKTM -hedonistic:HTNS:HTNS -heedlessly:HTLS:HTLS -heelpieces:HLPS:HLPS -hegemonies:HJMN:HKMN -heidelberg:HTLP:HTLP -heidenhain:HTNN:HTNN -heightened:HTNT:HTNT -heightener:HTNR:HTNR -helianthin:HLN0:HLNT -helianthus:HLN0:HLNT -helicities:HLST:HLST -heliclines:HLKL:HLKL -helicoidal:HLKT:HLKT -helicopter:HLKP:HLKP -heliograph:HLKR:HLKR -heliolater:HLLT:HLLT -heliolatry:HLLT:HLLT -heliometry:HLMT:HLMT -heliophobe:HLFP:HLFP -heliostats:HLST:HLST -heliotaxes:HLTK:HLTK -heliotaxis:HLTK:HLTK -heliotrope:HLTR:HLTR -heliotypic:HLTP:HLTP -hellbender:HLPN:HLPN -hellebores:HLPR:HLPR -hellenised:HLNS:HLNS -hellenists:HLNS:HLNS -hellhounds:HLNT:HLNT -helminthes:HLMN:HLMN -helminthic:HLMN:HLMN -helophytes:HLFT:HLFT -helotomies:HLTM:HLTM -helplessly:HLPL:HLPL -hemangioma:HMNJ:HMNK -hematocele:HMTS:HMTS -hematocrit:HMTK:HMTK -hematocyst:HMTS:HMTS -hematocyte:HMTS:HMTS -hematogone:HMTK:HMTK -hematoidin:HMTT:HMTT -hematology:HMTL:HMTL -hematomata:HMTM:HMTM -hematozoan:HMTS:HMTS -hematozoon:HMTS:HMTS -hemelytral:HMLT:HMLT -hemelytron:HMLT:HMLT -hemiacetal:HMST:HMST -hemianopia:HMNP:HMNP -hemiataxia:HMTK:HMTK -hemicardia:HMKR:HMKR -hemicentra:HMSN:HMSN -hemichorea:HMXR:HMKR -hemicrania:HMKR:HMKR -hemicycles:HMSK:HMSK -hemicyclic:HMSK:HMSK -hemielytra:HMLT:HMLT -hemifacial:HMFS:HMFX -hemiglobin:HMKL:HMKL -hemihedral:HMHT:HMHT -hemikaryon:HMKR:HMKR -hemimorphy:HMMR:HMMR -hemiplegia:HMPL:HMPL -hemiplegic:HMPL:HMPL -hemipteran:HMPT:HMPT -hemipteron:HMPT:HMPT -hemisphere:HMSF:HMSF -hemithorax:HM0R:HMTR -hemitropes:HMTR:HMTR -hemitropic:HMTR:HMTR -hemizygote:HMSK:HMSK -hemizygous:HMSK:HMSK -hemochrome:HMKR:HMKR -hemocyanin:HMSN:HMSN -hemofuscin:HMFS:HMFS -hemoglobin:HMKL:HMKL -hemolyzing:HMLS:HMLS -hemometric:HMMT:HMMT -hemophagia:HMFJ:HMFK -hemophilia:HMFL:HMFL -hemophilic:HMFL:HMFL -hemophilus:HMFL:HMFL -hemophobia:HMFP:HMFP -hemoptyses:HMPT:HMPT -hemoptysis:HMPT:HMPT -hemorrhage:HMRJ:HMRK -hemorrhoid:HMRT:HMRT -hemostases:HMST:HMST -hemostasis:HMST:HMST -hemostatic:HMST:HMST -hemothorax:HM0R:HMTR -hemotrophe:HMTR:HMTR -henceforth:HNSF:HNSF -hendecagon:HNTK:HNTK -henotheism:HN0S:HNTS -henotheist:HN0S:HNTS -henpecking:HNPK:HNPK -heoatising:HTSN:HTSN -heparinize:HPRN:HPRN -heparinoid:HPRN:HPRN -hepatizing:HPTS:HPTS -hepatocyte:HPTS:HPTS -hepatomata:HPTM:HPTM -hepatomega:HPTM:HPTM -hepatopexy:HPTP:HPTP -heptachlor:HPTK:HPTK -heptagonal:HPTK:HPTK -heptarchal:HPTR:HPTR -heptarchic:HPTR:HPTR -heptastich:HPTS:HPTS -heraldists:HRLT:HRLT -heraldries:HRLT:HRLT -herbaceous:HRPS:HRPS -herbalists:HRPL:HRPL -herbariums:HRPR:HRPR -herbicidal:HRPS:HRPS -herbicides:HRPS:HRPS -herbivores:HRPF:HRPF -herdswoman:HRTS:HRTS -herdswomen:HRTS:HRTS -hereabouts:HRPT:HRPT -hereditary:HRTT:HRTT -heredities:HRTT:HRTT -hereditist:HRTT:HRTT -heresiarch:HRSR:HRXR -heretofore:HRTF:HRTF -heretrices:HRTR:HRTR -heretrixes:HRTR:HRTR -heriotable:HRTP:HRTP -heritrices:HRTR:HRTR -heritrixes:HRTR:HRTR -hermetical:HRMT:HRMT -hermitages:HRMT:HRMT -hermitical:HRMT:HRMT -herniating:HRNT:HRNT -herniation:HRNX:HRNX -herniotomy:HRNT:HRNT -heroically:HRKL:HRKL -heroicness:HRKN:HRKN -herpangina:HRPN:HRPN -herxheimer:HRKS:HRKS -hesitantly:HSTN:HSTN -hesitaters:HSTT:HSTT -hesitating:HSTT:HSTT -hesitation:HSTX:HSTX -hesitative:HSTT:HSTT -hesitators:HSTT:HSTT -hesperetin:HSPR:HSPR -hesperidin:HSPR:HSPR -hesperitin:HSPR:HSPR -hetaerists:HTRS:HTRS -hetairists:HTRS:HTRS -heterarchy:HTRR:HTRR -heteraxial:HTRK:HTRK -heterocyst:HTRS:HTRS -heterodont:HTRT:HTRT -heterodoxy:HTRT:HTRT -heterodyne:HTRT:HTRT -heterogamy:HTRK:HTRK -heterogony:HTRK:HTRK -heterology:HTRL:HTRL -heteronomy:HTRN:HTRN -heteronyms:HTRN:HTRN -heterophil:HTRF:HTRF -heterosome:HTRS:HTRS -heterotopy:HTRT:HTRT -heulandite:HLNT:HLNT -heuristics:HRST:HRST -hexachords:HKSK:HKSK -hexadecane:HKST:HKST -hexaemeric:HKSM:HKSM -hexaemeron:HKSM:HKSM -hexahedral:HKSH:HKSH -hexahedron:HKSH:HKSH -hexamerism:HKSM:HKSM -hexamerous:HKSM:HKSM -hexametral:HKSM:HKSM -hexametric:HKSM:HKSM -hexangular:HKSN:HKSN -hexaploidy:HKSP:HKSP -hexapodies:HKSP:HKSP -hexastitch:HKSS:HKSS -hexavelant:HKSF:HKSF -hexoestrol:HKSS:HKSS -hexokinase:HKSK:HKSK -hexosamine:HKSS:HKSS -hibernated:HPRN:HPRN -hibernates:HPRN:HPRN -hibernator:HPRN:HPRN -hibiscuses:HPSK:HPSK -hiccupping:HKPN:HKPN -hiddenness:HTNS:HTNS -hierarchal:HRRX:HRRK -hierarchic:HRRX:HRRK -hieratical:HRTK:HRTK -hierocracy:HRKR:HRKR -hieroglyph:HRKL:HRKL -hierograms:HRKR:HRKR -hierologic:HRLJ:HRLK -hierophant:HRFN:HRFN -highbinder:HPNT:HPNT -highchairs:HXRS:HKRS -highhanded:HNTT:HNTT -highlander:HLNT:HLNT -highlights:HLTS:HLTS -highnesses:HNSS:HNSS -hightailed:HTLT:HTLT -highwayman:HMN:HMN -highwaymen:HMN:HMN -hilarities:HLRT:HLRT -hinderance:HNTR:HNTR -hindermost:HNTR:HNTR -hindostani:HNTS:HNTS -hindrances:HNTR:HNTR -hindustani:HNTS:HNTS -hinterland:HNTR:HNTR -hippelates:HPLT:HPLT -hippobosca:HPPS:HPPS -hippocampi:HPKM:HPKM -hippodrome:HPTR:HPTR -hippogryph:HPKR:HPKR -hirselling:HRSL:HRSL -hirtellous:HRTL:HRTL -hirudinean:HRTN:HRTN -hispaniola:HSPN:HSPN -histamines:HSTM:HSTM -histaminic:HSTM:HSTM -histiocyte:HSTS:HSTS -histoblast:HSTP:HSTP -histogenic:HSTJ:HSTK -histograms:HSTK:HSTK -histologic:HSTL:HSTL -histolyses:HSTL:HSTL -histolysis:HSTL:HSTL -histolytic:HSTL:HSTL -histomonas:HSTM:HSTM -historians:HSTR:HSTR -historical:HSTR:HSTR -histotoxic:HSTT:HSTT -histotoxin:HSTT:HSTT -histotroph:HSTT:HSTT -histrionic:HSTR:HSTR -hitchhiked:HXKT:HXKT -hitchhiker:HXKR:HXKR -hitchhikes:HXKS:HXKS -hoarfrosts:HRFR:HRFR -hoarhounds:HRNT:HRNT -hoarseness:HRSN:HRSN -hoarsening:HRSN:HRSN -hobbyhorse:HPHR:HPHR -hobgoblins:HPKP:HPKP -hobnobbing:HPNP:HPNP -hocuspocus:HKSP:HKSP -hodgepodge:HJPJ:HJPJ -hodographs:HTKR:HTKR -hodoscopes:HTSK:HTSK -hofmeister:HFMS:HFMS -hoitytoity:HTTT:HTTT -hokeypokey:HKPK:HKPK -holandries:HLNT:HLNT -holdership:HLTR:HLTR -holistical:HLST:HLST -hollanders:HLNT:HLNT -hollowness:HLNS:HLNS -hollowware:HLR:HLR -hollyhocks:HLHK:HLHK -holocausts:HLKS:HLKS -holoenzyme:HLNS:HLNS -hologamies:HLKM:HLKM -hologamous:HLKM:HLKM -hologedral:HLJT:HLKT -holographs:HLKR:HLKR -holography:HLKR:HLKR -hologynies:HLJN:HLKN -holophytic:HLFT:HLFT -holusbolus:HLSP:HLSP -holystones:HLST:HLST -homebodies:HMPT:HMPT -homecoming:HMKM:HMKM -homeliness:HMLN:HMLN -homemakers:HMMK:HMMK -homemaking:HMMK:HMMK -homeopathy:HMP0:HMPT -homeotypic:HMTP:HMTP -homeowners:HMNR:HMNR -homesteads:HMST:HMST -homeworker:HMRK:HMRK -homiletics:HMLT:HMLT -hominoidea:HMNT:HMNT -homocercal:HMSR:HMSR -homocyclic:HMSK:HMSK -homoeopath:HMP0:HMPT -homoerotic:HMRT:HMRT -homogamies:HMKM:HMKM -homogamous:HMKM:HMKM -homogenate:HMJN:HMKN -homogenies:HMJN:HMKN -homogenize:HMJN:HMKN -homogenous:HMJN:HMKN -homographs:HMKR:HMKR -homologate:HMLK:HMLK -homologies:HMLJ:HMLK -homologize:HMLJ:HMLK -homologous:HMLK:HMLK -homolosine:HMLS:HMLS -homomorphy:HMMR:HMMR -homonculus:HMNK:HMNK -homonomous:HMNM:HMNM -homonymity:HMNM:HMNM -homonymous:HMNM:HMNM -homophiles:HMFL:HMFL -homophobia:HMFP:HMFP -homophobic:HMFP:HMFP -homophones:HMFN:HMFN -homophonic:HMFN:HMFN -homoplasty:HMPL:HMPL -homorganic:HMRK:HMRK -homotaxial:HMTK:HMTK -homozygote:HMSK:HMSK -homozygous:HMSK:HMSK -homuncular:HMNK:HMNK -homunculus:HMNK:HMNK -honestness:HNST:HNST -honeycombs:HNKM:HNKM -honeydewed:HNTT:HNTT -honeymoons:HNMN:HNMN -honorables:HNRP:HNRP -honoraries:HNRR:HNRR -honorarily:HNRR:HNRR -honorarium:HNRR:HNRR -honorifics:HNRF:HNRF -honouraria:HNRR:HNRR -honourific:HNRF:HNRF -hoodwinked:HTNK:HTNK -hoodwinker:HTNK:HTNK -hookedness:HKTN:HKTN -hootenanny:HTNN:HTNN -hopelessly:HPLS:HPLS -hopsacking:HPSK:HPSK -horehounds:HRHN:HRHN -horizontal:HRSN:HRSN -hormonally:HRMN:HRMN -hornblende:HRNP:HRNP -hornedness:HRNT:HRNT -horologers:HRLK:HRLJ -horologist:HRLJ:HRLK -horologium:HRLJ:HRLK -horoscopes:HRSK:HRSK -horoscopic:HRSK:HRSK -horrendous:HRNT:HRNT -horridness:HRTN:HRTN -horrifying:HRFN:HRFN -horseboxes:HRSP:HRSP -horsefeath:HRSF:HRSF -horseflesh:HRSF:HRSF -horseflies:HRSF:HRSF -horsehides:HRSH:HRSH -horselaugh:HRSL:HRSL -horseleech:HRSL:HRSL -horsepower:HRSP:HRSP -horseshoed:HRSX:HRSX -horseshoer:HRSX:HRSX -horseshoes:HRSX:HRSX -horsetails:HRST:HRST -horsewhips:HRSP:HRSP -horsewoman:HRSM:HRSM -horsewomen:HRSM:HRSM -hosannahes:HSNH:HSNH -hospitable:HSPT:HSPT -hospitably:HSPT:HSPT -hostellers:HSTL:HSTL -hostelries:HSTL:HSTL -hotchpotch:HXPX:HXPX -houseboats:HSPT:HSPT -housebound:HSPN:HSPN -housebreak:HSPR:HSPR -housebroke:HSPR:HSPR -houseclean:HSKL:HSKL -housecoats:HSKT:HSKT -houseflies:HSFL:HSFL -houseguest:HSKS:HSKS -households:HSHL:HSHL -houselings:HSLN:HSLN -housemaids:HSMT:HSMT -housepaint:HSPN:HSPN -houseplant:HSPL:HSPL -housewares:HSRS:HSRS -housewives:HSFS:HSFS -hovercraft:HFRK:HFRK -hoveringly:HFRN:HFRN -hoverports:HFRP:HFRP -hovertrain:HFRT:HFRT -huckstered:HKST:HKST -hullabaloo:HLPL:HLPL -humaneness:HMNN:HMNN -humanistic:HMNS:HMNS -humanities:HMNT:HMNT -humanizers:HMNS:HMNS -humanizing:HMNS:HMNS -humblebees:HMPL:HMPL -humbleness:HMPL:HMPL -humblingly:HMPL:HMPL -humbuggers:HMPK:HMPK -humbugging:HMPK:HMPK -humdingers:HMTN:HMTN -humidified:HMTF:HMTF -humidifier:HMTF:HMTF -humidifies:HMTF:HMTF -humidistat:HMTS:HMTS -humidities:HMTT:HMTT -humilation:HMLX:HMLX -humiliated:HMLT:HMLT -humiliates:HMLT:HMLT -humiliator:HMLT:HMLT -humilities:HMLT:HMLT -humoresque:HMRS:HMRS -humoristic:HMRS:HMRS -humorously:HMRS:HMRS -humpbacked:HMPK:HMPK -hunchbacks:HNXP:HNKP -hundredths:HNTR:HNTR -hundygurdy:HNTK:HNTK -hungarians:HNKR:HNKR -hungerless:HNKR:HNJR -hungriness:HNKR:HNKR -huntington:HNTN:HNTN -huntresses:HNTR:HNTR -hurlyburly:HRLP:HRLP -hurricanes:HRKN:HRKN -hurryingly:HRNK:HRNK -husbanding:HSPN:HSPN -husbandman:HSPN:HSPN -husbandmen:HSPN:HSPN -hutchinson:HXNS:HXNS -huyghenian:HNN:HNN -hyacinthes:HSN0:HSNT -hyalinoses:HLNS:HLNS -hyalinosis:HLNS:HLNS -hyaloplasm:HLPL:HLPL -hyaluronic:HLRN:HLRN -hybridized:HPRT:HPRT -hybridizer:HPRT:HPRT -hybridizes:HPRT:HPRT -hybridomas:HPRT:HPRT -hydathodes:HT0T:HTTT -hydatiform:HTTF:HTTF -hydragogue:HTRK:HTRK -hydrangeas:HTRN:HTRN -hydrastine:HTRS:HTRS -hydrations:HTRX:HTRX -hydraulics:HTRL:HTRL -hydrocepha:HTRS:HTRS -hydrocoral:HTRK:HTRK -hydrofoils:HTRF:HTRF -hydrologic:HTRL:HTRL -hydrolymph:HTRL:HTRL -hydrolysis:HTRL:HTRL -hydrolytic:HTRL:HTRL -hydrolyzed:HTRL:HTRL -hydrolyzer:HTRL:HTRL -hydrolyzes:HTRL:HTRL -hydromancy:HTRM:HTRM -hydrometra:HTRM:HTRM -hydrometry:HTRM:HTRM -hydropathy:HTRP:HTRP -hydrophane:HTRF:HTRF -hydrophile:HTRF:HTRF -hydrophily:HTRF:HTRF -hydrophone:HTRF:HTRF -hydrophyte:HTRF:HTRF -hydroplane:HTRP:HTRP -hydroponic:HTRP:HTRP -hydropower:HTRP:HTRP -hydropsies:HTRP:HTRP -hydrorrhea:HTRR:HTRR -hydroscope:HTRS:HTRS -hydrosolic:HTRS:HTRS -hydrostats:HTRS:HTRS -hydrotaxes:HTRT:HTRT -hydrotaxis:HTRT:HTRT -hydroxides:HTRK:HTRK -hydroxylic:HTRK:HTRK -hydrozoons:HTRS:HTRS -hyetograph:HTKR:HTKR -hygienical:HJNK:HKNK -hygienists:HJNS:HKNS -hygristors:HKRS:HKRS -hygrograph:HKRK:HKRK -hygrometry:HKRM:HKRM -hygrophile:HKRF:HKRF -hygroscope:HKRS:HKRS -hygrostats:HKRS:HKRS -hylotheism:HL0S:HLTS -hymenotomy:HMNT:HMNT -hymnodical:HMNT:HMNT -hymnologic:HMNL:HMNL -hyoglossal:HKLS:HKLS -hyoglossus:HKLS:HKLS -hyoscyamus:HSMS:HSMS -hyothyroid:H0RT:HTRT -hypabbysal:HPPS:HPPS -hypacousic:HPKS:HPKS -hypaethral:HP0R:HPTR -hypalgesia:HPLJ:HPLK -hypanthial:HPN0:HPNT -hypanthium:HPN0:HPNT -hyperaemia:HPRM:HPRM -hyperaemic:HPRM:HPRM -hyperbaric:HPRP:HPRP -hyperbaton:HPRP:HPRP -hyperbolae:HPRP:HPRP -hyperbolas:HPRP:HPRP -hyperboles:HPRP:HPRP -hyperbolic:HPRP:HPRP -hypercards:HPRK:HPRK -hypercubes:HPRK:HPRK -hyperdulia:HPRT:HPRT -hyperdulic:HPRT:HPRT -hyperergic:HPRR:HPRR -hyperfocal:HPRF:HPRF -hypergolic:HPRK:HPRK -hypermorph:HPRM:HPRM -hyperosmia:HPRS:HPRS -hyperosmic:HPRS:HPRS -hyperplane:HPRP:HPRP -hyperploid:HPRP:HPRP -hyperpneic:HPRP:HPRP -hyperpnoea:HPRP:HPRP -hypersonic:HPRS:HPRS -hyperspace:HPRS:HPRS -hypertonia:HPRT:HPRT -hypertonic:HPRT:HPRT -hyphenated:HFNT:HFNT -hyphenates:HFNT:HFNT -hypnagogic:HPNK:HPNK -hypnogenic:HPNJ:HPNK -hypnogogic:HPNK:HPNK -hypnologic:HPNL:HPNL -hypnophoby:HPNF:HPNF -hypnotical:HPNT:HPNT -hypnotists:HPNT:HPNT -hypnotized:HPNT:HPNT -hypnotizer:HPNT:HPNT -hypnotizes:HPNT:HPNT -hypnotoxin:HPNT:HPNT -hypocapnia:HPKP:HPKP -hypocenter:HPSN:HPSN -hypocorism:HPKR:HPKR -hypocrites:HPKR:HPKR -hypocritic:HPKR:HPKR -hypodermal:HPTR:HPTR -hypodermic:HPTR:HPTR -hypodermis:HPTR:HPTR -hypoergies:HPRJ:HPRK -hypogenous:HPJN:HPKN -hypoglossi:HPKL:HPKL -hypogynous:HPJN:HPKN -hypolydian:HPLT:HPLT -hypomastia:HPMS:HPMS -hyponastic:HPNS:HPNS -hypophyses:HPFS:HPFS -hypophysis:HPFS:HPFS -hypopiesis:HPPS:HPPS -hypoplasia:HPPL:HPPL -hypoplasty:HPPL:HPPL -hypoploidy:HPPL:HPPL -hypospadia:HPSP:HPSP -hypostases:HPST:HPST -hypostasis:HPST:HPST -hypostatic:HPST:HPST -hypotactic:HPTK:HPTK -hypotenuse:HPTN:HPTN -hypothecae:HP0K:HPTK -hypothenar:HP0N:HPTN -hypotheses:HP0S:HPTS -hypothesis:HP0S:HPTS -hypothetic:HP0T:HPTT -hypotonias:HPTN:HPTN -hypotonies:HPTN:HPTN -hypotrophy:HPTR:HPTR -hypsometry:HPSM:HPSM -hysteresis:HSTR:HSTR -hysteretic:HSTR:HSTR -hysterical:HSTR:HSTR -hystericus:HSTR:HSTR -iambically:AMPK:AMPK -iatrogenic:ATRJ:ATRK -icebreaker:ASPR:ASPR -icelanders:ASLN:ASLN -ichthamnol:AKTM:AKTM -ichthyisms:AK0S:AKTS -ichthyocol:AK0K:AKTK -ichthyoses:AK0S:AKTS -ichthyosis:AK0S:AKTS -ichthyotic:AK0T:AKTT -iconoclasm:AKNK:AKNK -iconoclast:AKNK:AKNK -iconolater:AKNL:AKNL -iconolatry:AKNL:AKNL -iconomatic:AKNM:AKNM -iconoscope:AKNS:AKNS -icosahedra:AKSH:AKSH -icteritous:AKTR:AKTR -idealistic:ATLS:ATLS -idealizers:ATLS:ATLS -idealizing:ATLS:ATLS -idealogies:ATLJ:ATLK -ideational:ATXN:ATXN -idempotent:ATMP:ATMP -identacode:ATNT:ATNT -identifers:ATNT:ATNT -identified:ATNT:ATNT -identifier:ATNT:ATNT -identifies:ATNT:ATNT -identities:ATNT:ATNT -ideographs:ATKR:ATKR -ideography:ATKR:ATKR -ideologies:ATLJ:ATLK -ideologist:ATLJ:ATLK -ideologize:ATLJ:ATLK -ideologues:ATLK:ATLK -ideophobia:ATFP:ATFP -idioblasts:ATPL:ATPL -idiocratic:ATKR:ATKR -idiolectal:ATLK:ATLK -idiolectic:ATLK:ATLK -idiopathic:ATP0:ATPT -idiophones:ATFN:ATFN -idiophonic:ATFN:ATFN -idolatress:ATLT:ATLT -idolatries:ATLT:ATLT -idolatrize:ATLT:ATLT -idolatrous:ATLT:ATLT -ignimbrite:AKNM:ANMP -ignobility:AKNP:ANPL -ignominies:AKNM:ANMN -ignorantia:AKNR:ANRN -ignorantly:AKNR:ANRN -ikonolatry:AKNL:AKNL -iliolumbar:ALLM:ALLM -iliotibial:ALTP:ALTP -illatively:ALTF:ALTF -illegality:ALKL:ALKL -illegalize:ALKL:ALKL -illicitely:ALST:ALST -illinoisan:ALNS:ALNS -illiteracy:ALTR:ALTR -illiterate:ALTR:ALTR -illocution:ALKX:ALKX -illuminate:ALMN:ALMN -illuminati:ALMN:ALMN -illumining:ALMN:ALMN -illuminism:ALMN:ALMN -illuminist:ALMN:ALMN -illusional:ALSN:ALXN -illusioned:ALSN:ALXN -illusively:ALSF:ALSF -illusorily:ALSR:ALSR -illustrate:ALST:ALST -imaginable:AMJN:AMKN -imaginably:AMJN:AMKN -imaginings:AMJN:AMKN -imbalanced:AMPL:AMPL -imbalances:AMPL:AMPL -imbargoing:AMPR:AMPR -imbecility:AMPS:AMPS -imbibition:AMPP:AMPP -imbricated:AMPR:AMPR -imbroglios:AMPR:AMPR -imidazolyl:AMTS:AMTS -imipramine:AMPR:AMPR -imitations:AMTX:AMTX -immaculacy:AMKL:AMKL -immaculate:AMKL:AMKL -immanently:AMNN:AMNN -immaterial:AMTR:AMTR -immaturely:AMTR:AMTR -immaturity:AMTR:AMTR -immemorial:AMMR:AMMR -immersible:AMRS:AMRS -immersions:AMRS:AMRX -immigrants:AMKR:AMKR -immigrated:AMKR:AMKR -immigrates:AMKR:AMKR -immigrator:AMKR:AMKR -imminently:AMNN:AMNN -immiscible:AMSP:AMSP -immiscibly:AMSP:AMSP -immobilism:AMPL:AMPL -immobility:AMPL:AMPL -immobilize:AMPL:AMPL -immoderacy:AMTR:AMTR -immoderate:AMTR:AMTR -immodestly:AMTS:AMTS -immolating:AMLT:AMLT -immolation:AMLX:AMLX -immolators:AMLT:AMLT -immoralist:AMRL:AMRL -immorality:AMRL:AMRL -immortally:AMRT:AMRT -immortelle:AMRT:AMRT -immotility:AMTL:AMTL -immoveable:AMFP:AMFP -immunities:AMNT:AMNT -immunizers:AMNS:AMNS -immunizing:AMNS:AMNS -immunology:AMNL:AMNL -immurement:AMRM:AMRM -impairable:AMPR:AMPR -impairment:AMPR:AMPR -impalement:AMPL:AMPL -impalpable:AMPL:AMPL -impalpably:AMPL:AMPL -impanation:AMPN:AMPN -impaneling:AMPN:AMPN -imparities:AMPR:AMPR -imparlance:AMPR:AMPR -impartable:AMPR:AMPR -impartible:AMPR:AMPR -impartibly:AMPR:AMPR -impartment:AMPR:AMPR -impassable:AMPS:AMPS -impassably:AMPS:AMPS -impassible:AMPS:AMPS -impassibly:AMPS:AMPS -impassions:AMPS:AMPS -impassiver:AMPS:AMPS -impatience:AMPT:AMPT -impeachers:AMPX:AMPK -impeaching:AMPX:AMPK -impearling:AMPR:AMPR -impeccable:AMPK:AMPK -impeccably:AMPK:AMPK -impeccancy:AMPK:AMPK -impedances:AMPT:AMPT -impediment:AMPT:AMPT -impedingly:AMPT:AMPT -impendence:AMPN:AMPN -impendency:AMPN:AMPN -impenitent:AMPN:AMPN -imperative:AMPR:AMPR -imperfecta:AMPR:AMPR -imperfecti:AMPR:AMPR -imperfects:AMPR:AMPR -imperially:AMPR:AMPR -imperiling:AMPR:AMPR -imperilled:AMPR:AMPR -impersonal:AMPR:AMPR -impervious:AMPR:AMPR -impishness:AMPX:AMPX -implacable:AMPL:AMPL -implacably:AMPL:AMPL -implanters:AMPL:AMPL -implanting:AMPL:AMPL -impleaders:AMPL:AMPL -impleading:AMPL:AMPL -implements:AMPL:AMPL -implicants:AMPL:AMPL -implicated:AMPL:AMPL -implicates:AMPL:AMPL -implicitly:AMPL:AMPL -implosions:AMPL:AMPL -impoldered:AMPL:AMPL -impolitely:AMPL:AMPL -importable:AMPR:AMPR -importance:AMPR:AMPR -importuned:AMPR:AMPR -importuner:AMPR:AMPR -importunes:AMPR:AMPR -imposingly:AMPS:AMPS -imposition:AMPS:AMPS -impossible:AMPS:AMPS -impossibly:AMPS:AMPS -impostrous:AMPS:AMPS -impostures:AMPS:AMPS -impotences:AMPT:AMPT -impotently:AMPT:AMPT -impoundage:AMPN:AMPN -impounders:AMPN:AMPN -impounding:AMPN:AMPN -impoverish:AMPF:AMPF -imprecated:AMPR:AMPR -imprecates:AMPR:AMPR -imprecator:AMPR:AMPR -impregnate:AMPR:AMPR -impresario:AMPR:AMPR -impressers:AMPR:AMPR -impressing:AMPR:AMPR -impression:AMPR:AMPR -impressive:AMPR:AMPR -imprimatur:AMPR:AMPR -imprinters:AMPR:AMPR -imprinting:AMPR:AMPR -imprisoned:AMPR:AMPR -imprisoner:AMPR:AMPR -improbable:AMPR:AMPR -improbably:AMPR:AMPR -improperly:AMPR:AMPR -improvable:AMPR:AMPR -improvably:AMPR:AMPR -improvised:AMPR:AMPR -improviser:AMPR:AMPR -improvises:AMPR:AMPR -improvisor:AMPR:AMPR -imprudence:AMPR:AMPR -impudently:AMPT:AMPT -impugnable:AMPN:AMPK -impugnment:AMPN:AMPK -impuissant:AMPS:AMPS -impulsions:AMPL:AMPL -impureness:AMPR:AMPR -impurities:AMPR:AMPR -imputation:AMPT:AMPT -imputative:AMPT:AMPT -inaccuracy:ANKR:ANKR -inaccurate:ANKR:ANKR -inactivate:ANKT:ANKT -inactively:ANKT:ANKT -inactivity:ANKT:ANKT -inadequacy:ANTK:ANTK -inadequate:ANTK:ANTK -inamoratas:ANMR:ANMR -inamoratos:ANMR:ANMR -inapparent:ANPR:ANPR -inapposite:ANPS:ANPS -inaptitude:ANPT:ANPT -inarguable:ANRK:ANRK -inarguably:ANRK:ANRK -inartistic:ANRT:ANRT -inaugurals:ANKR:ANKR -inaugurate:ANKR:ANKR -inbreathed:ANPR:ANPR -inbreeders:ANPR:ANPR -inbreeding:ANPR:ANPR -incandesce:ANKN:ANKN -incapacity:ANKP:ANKP -incarnated:ANKR:ANKR -incarnates:ANKR:ANKR -incasement:ANKS:ANKS -incautious:ANKT:ANKT -incendiary:ANSN:ANSN -incentives:ANSN:ANSN -incestuous:ANSS:ANSS -inchmarees:ANXM:ANKM -inchoately:ANXT:ANKT -inchoation:ANXX:ANKX -inchoative:ANXT:ANKT -incidences:ANST:ANST -incidental:ANST:ANST -incidently:ANST:ANST -incinerate:ANSN:ANSN -incipience:ANSP:ANSP -incipiency:ANSP:ANSP -incisively:ANSS:ANSS -incitation:ANST:ANST -incitement:ANST:ANST -incitingly:ANST:ANST -incivility:ANSF:ANSF -inclemency:ANKL:ANKL -inclinable:ANKL:ANKL -inclosable:ANKL:ANKL -inclosures:ANKL:ANKL -includable:ANKL:ANKL -includible:ANKL:ANKL -inclusions:ANKL:ANKL -incognitos:ANKN:ANKK -incognitum:ANKN:ANKK -incoherent:ANKH:ANKH -incomeless:ANKM:ANKM -incommoded:ANKM:ANKM -incommodes:ANKM:ANKM -incomplete:ANKM:ANKM -inconstant:ANKN:ANKN -incrassate:ANKR:ANKR -increasers:ANKR:ANKR -increasing:ANKR:ANKR -incredible:ANKR:ANKR -incredibly:ANKR:ANKR -incrementa:ANKR:ANKR -incremento:ANKR:ANKR -increments:ANKR:ANKR -increscent:ANKR:ANKR -incretions:ANKR:ANKR -incrossing:ANKR:ANKR -incrusting:ANKR:ANKR -incubating:ANKP:ANKP -incubation:ANKP:ANKP -incubative:ANKP:ANKP -incubators:ANKP:ANKP -incubatory:ANKP:ANKP -inculcated:ANKL:ANKL -inculcates:ANKL:ANKL -inculcator:ANKL:ANKL -inculpable:ANKL:ANKL -inculpably:ANKL:ANKL -inculpated:ANKL:ANKL -inculpates:ANKL:ANKL -inculpator:ANKL:ANKL -incumbency:ANKM:ANKM -incumbents:ANKM:ANKM -incumbered:ANKM:ANKM -incunabula:ANKN:ANKN -incurrable:ANKR:ANKR -incursions:ANKR:ANKR -incurvated:ANKR:ANKR -incurvates:ANKR:ANKR -indecently:ANTS:ANTS -indecision:ANTS:ANTS -indecisive:ANTS:ANTS -indecorous:ANTK:ANTK -indefinite:ANTF:ANTF -indelicacy:ANTL:ANTL -indelicate:ANTL:ANTL -indemnitee:ANTM:ANTM -indemnitor:ANTM:ANTM -indentions:ANTN:ANTN -indentured:ANTN:ANTN -indentures:ANTN:ANTN -indexation:ANTK:ANTK -indianians:ANTN:ANTN -indicating:ANTK:ANTK -indication:ANTK:ANTK -indicative:ANTK:ANTK -indicators:ANTK:ANTK -indicatory:ANTK:ANTK -indictable:ANTK:ANTK -indictably:ANTK:ANTK -indictions:ANTK:ANTK -indictment:ANTK:ANTK -indigenity:ANTJ:ANTK -indigenous:ANTJ:ANTK -indigently:ANTJ:ANTK -indirected:ANTR:ANTR -indirectly:ANTR:ANTR -indiscreet:ANTS:ANTS -indiscrete:ANTS:ANTS -indisposed:ANTS:ANTS -indistinct:ANTS:ANTS -individual:ANTF:ANTF -individuum:ANTF:ANTF -indocility:ANTS:ANTS -indolently:ANTL:ANTL -indologist:ANTL:ANTL -indonesian:ANTN:ANTN -indophenol:ANTF:ANTF -inducement:ANTS:ANTS -inductance:ANTK:ANTK -inductions:ANTK:ANTK -indulgence:ANTL:ANTL -indumentum:ANTM:ANTM -indurating:ANTR:ANTR -induration:ANTR:ANTR -indurative:ANTR:ANTR -industrial:ANTS:ANTS -industriam:ANTS:ANTS -industries:ANTS:ANTS -indwellers:ANTL:ANTL -indwelling:ANTL:ANTL -inebriants:ANPR:ANPR -inebriated:ANPR:ANPR -inebriates:ANPR:ANPR -ineducable:ANTK:ANTK -inefficacy:ANFK:ANFK -inelegance:ANLK:ANLK -inelegancy:ANLK:ANLK -ineligible:ANLJ:ANLK -ineligibly:ANLJ:ANLK -ineloquent:ANLK:ANLK -ineludible:ANLT:ANLT -ineludibly:ANLT:ANLT -ineptitude:ANPT:ANPT -inequality:ANKL:ANKL -inequities:ANKT:ANKT -inevitable:ANFT:ANFT -inevitably:ANFT:ANFT -inexorable:ANKS:ANKS -inexorably:ANKS:ANKS -inexpertly:ANKS:ANKS -inexpiable:ANKS:ANKS -inexpiably:ANKS:ANKS -inexplicit:ANKS:ANKS -infallible:ANFL:ANFL -infallibly:ANFL:ANFL -infamizing:ANFM:ANFM -infamously:ANFM:ANFM -infanthood:ANFN:ANFN -infantries:ANFN:ANFN -infarction:ANFR:ANFR -infatuated:ANFT:ANFT -infatuates:ANFT:ANFT -infeasible:ANFS:ANFS -infections:ANFK:ANFK -infectious:ANFK:ANFK -infeftment:ANFF:ANFF -infelicity:ANFL:ANFL -inferences:ANFR:ANFR -inferiorly:ANFR:ANFR -infernally:ANFR:ANFR -inferrable:ANFR:ANFR -inferrably:ANFR:ANFR -inferrible:ANFR:ANFR -inferribly:ANFR:ANFR -infidelity:ANFT:ANFT -infielders:ANFL:ANFL -infighters:ANFT:ANFT -infighting:ANFT:ANFT -infiltrate:ANFL:ANFL -infinitely:ANFN:ANFN -infinities:ANFN:ANFN -infinitive:ANFN:ANFN -infinitude:ANFN:ANFN -infirmable:ANFR:ANFR -infirmness:ANFR:ANFR -infixation:ANFK:ANFK -inflatable:ANFL:ANFL -inflatedly:ANFL:ANFL -inflations:ANFL:ANFL -inflecting:ANFL:ANFL -inflection:ANFL:ANFL -inflective:ANFL:ANFL -inflectors:ANFL:ANFL -inflexible:ANFL:ANFL -inflexibly:ANFL:ANFL -inflexions:ANFL:ANFL -inflicters:ANFL:ANFL -inflicting:ANFL:ANFL -infliction:ANFL:ANFL -inflictive:ANFL:ANFL -inflictors:ANFL:ANFL -influenced:ANFL:ANFL -influencer:ANFL:ANFL -influences:ANFL:ANFL -influenzal:ANFL:ANFL -influenzas:ANFL:ANFL -infoldment:ANFL:ANFL -informable:ANFR:ANFR -informally:ANFR:ANFR -informants:ANFR:ANFR -informatus:ANFR:ANFR -informedly:ANFR:ANFR -infracting:ANFR:ANFR -infraction:ANFR:ANFR -infractors:ANFR:ANFR -infrasonic:ANFR:ANFR -infrasound:ANFR:ANFR -infrequent:ANFR:ANFR -infringers:ANFR:ANFR -infringing:ANFR:ANFR -infuriated:ANFR:ANFR -infuriates:ANFR:ANFR -infuscated:ANFS:ANFS -infusorial:ANFS:ANFS -infusorian:ANFS:ANFS -ingathered:ANK0:ANKT -ingatherer:ANK0:ANKT -ingeninate:ANJN:ANKN -ingestible:ANJS:ANKS -inglenooks:ANKL:ANKL -inglorious:ANKL:ANKL -ingrafting:ANKR:ANKR -ingraining:ANKR:ANKR -ingratiate:ANKR:ANKR -ingredient:ANKR:ANKR -ingression:ANKR:ANKR -ingressive:ANKR:ANKR -inhabitant:ANPT:ANPT -inhabiting:ANPT:ANPT -inhalation:ANLX:ANLX -inhalators:ANLT:ANLT -inharmonic:ANRM:ANRM -inherently:ANRN:ANRN -inheriting:ANRT:ANRT -inheritors:ANRT:ANRT -inheritrix:ANRT:ANRT -inhibiters:ANPT:ANPT -inhibiting:ANPT:ANPT -inhibition:ANPX:ANPX -inhibitive:ANPT:ANPT -inhibitors:ANPT:ANPT -inhibitory:ANPT:ANPT -inhumanely:ANMN:ANMN -inhumanity:ANMN:ANMN -inhumation:ANMX:ANMX -inimicable:ANMK:ANMK -inimically:ANMK:ANMK -inimitable:ANMT:ANMT -inimitably:ANMT:ANMT -iniquities:ANKT:ANKT -iniquitous:ANKT:ANKT -initialing:ANXL:ANXL -initialize:ANXL:ANXL -initialled:ANXL:ANXL -initialler:ANXL:ANXL -initiating:ANXT:ANXT -initiation:ANXX:ANXX -initiative:ANXT:ANXT -initiators:ANXT:ANXT -initiatory:ANXT:ANXT -initiatrix:ANXT:ANXT -injectable:ANJK:ANJK -injections:ANJK:ANJK -injunction:ANJN:ANJN -injunctive:ANJN:ANJN -injustices:ANJS:ANJS -innateness:ANTN:ANTN -innervated:ANRF:ANRF -innervates:ANRF:ANRF -innkeepers:ANKP:ANKP -innocently:ANSN:ANSN -innominate:ANMN:ANMN -innovating:ANFT:ANFT -innovation:ANFX:ANFX -innovative:ANFT:ANFT -innovators:ANFT:ANFT -innovatory:ANFT:ANFT -innuendoes:ANNT:ANNT -innumeracy:ANMR:ANMR -innumerate:ANMR:ANMR -inoculable:ANKL:ANKL -inoculants:ANKL:ANKL -inoculated:ANKL:ANKL -inoculates:ANKL:ANKL -inoculator:ANKL:ANKL -inofficial:ANFS:ANFX -inoperable:ANPR:ANPR -inoperably:ANPR:ANPR -inordinacy:ANRT:ANRT -inordinate:ANRT:ANRT -inosculate:ANSK:ANSK -inpatients:ANPT:ANPT -inquietude:ANKT:ANKT -inquilines:ANKL:ANKL -inquirendo:ANKR:ANKR -inquisitor:ANKS:ANKS -insalivate:ANSL:ANSL -insaneness:ANSN:ANSN -insanitary:ANSN:ANSN -insanities:ANSN:ANSN -insatiable:ANSX:ANSX -insatiably:ANSX:ANSX -inscribers:ANSK:ANSK -inscribing:ANSK:ANSK -inscriptio:ANSK:ANSK -insectaria:ANSK:ANSK -insectlike:ANSK:ANSK -insecurely:ANSK:ANSK -insecurity:ANSK:ANSK -inselbergs:ANSL:ANSL -inseminate:ANSM:ANSM -insensible:ANSN:ANSN -insensibly:ANSN:ANSN -insentient:ANSN:ANSN -insertable:ANSR:ANSR -insertions:ANSR:ANSR -insheathed:ANX0:ANXT -insightful:ANST:ANST -insinuated:ANSN:ANSN -insinuates:ANSN:ANSN -insinuator:ANSN:ANSN -insipidity:ANSP:ANSP -insistence:ANSS:ANSS -insistency:ANSS:ANSS -insobriety:ANSP:ANSP -insolating:ANSL:ANSL -insolation:ANSL:ANSL -insolently:ANSL:ANSL -insolvable:ANSL:ANSL -insolvably:ANSL:ANSL -insolvency:ANSL:ANSL -insomniacs:ANSM:ANSM -insomnious:ANSM:ANSM -insouciant:ANSS:ANSX -inspanning:ANSP:ANSP -inspecting:ANSP:ANSP -inspection:ANSP:ANSP -inspective:ANSP:ANSP -inspectors:ANSP:ANSP -inspersion:ANSP:ANSP -inspirable:ANSP:ANSP -inspirator:ANSP:ANSP -inspirited:ANSP:ANSP -inspiriter:ANSP:ANSP -inspissate:ANSP:ANSP -installant:ANST:ANST -installers:ANST:ANST -installing:ANST:ANST -instalment:ANST:ANST -instancing:ANST:ANST -instigated:ANST:ANST -instigates:ANST:ANST -instigator:ANST:ANST -instillers:ANST:ANST -instilling:ANST:ANST -instituted:ANST:ANST -instituter:ANST:ANST -institutes:ANST:ANST -institutor:ANST:ANST -instructed:ANST:ANST -instructor:ANST:ANST -instrument:ANST:ANST -insufflate:ANSF:ANSF -insularism:ANSL:ANSL -insularity:ANSL:ANSL -insulating:ANSL:ANSL -insulation:ANSL:ANSL -insulators:ANSL:ANSL -insulinase:ANSL:ANSL -insurances:ANSR:ANSR -insurgence:ANSR:ANSR -insurgency:ANSR:ANSR -insurgents:ANSR:ANSR -inswingers:ANSN:ANSN -intactness:ANTK:ANTK -intangible:ANTN:ANTN -intangibly:ANTN:ANTN -integrable:ANTK:ANTK -integrally:ANTK:ANTK -integrands:ANTK:ANTK -integrants:ANTK:ANTK -integrated:ANTK:ANTK -integrates:ANTK:ANTK -integrator:ANTK:ANTK -integument:ANTK:ANTK -intellects:ANTL:ANTL -intendance:ANTN:ANTN -intendancy:ANTN:ANTN -intendment:ANTN:ANTN -intensions:ANTN:ANTN -intensives:ANTN:ANTN -intentione:ANTN:ANTN -intentions:ANTN:ANTN -intentness:ANTN:ANTN -interacted:ANTR:ANTR -interagent:ANTR:ANTR -interbrain:ANTR:ANTR -interbreed:ANTR:ANTR -interceded:ANTR:ANTR -interceder:ANTR:ANTR -intercedes:ANTR:ANTR -intercepts:ANTR:ANTR -interclass:ANTR:ANTR -intercrops:ANTR:ANTR -intercross:ANTR:ANTR -interdicta:ANTR:ANTR -interdicts:ANTR:ANTR -interested:ANTR:ANTR -interfaced:ANTR:ANTR -interfacer:ANTR:ANTR -interfaces:ANTR:ANTR -interfaith:ANTR:ANTR -interfered:ANTR:ANTR -interferer:ANTR:ANTR -interferes:ANTR:ANTR -interferon:ANTR:ANTR -interfiled:ANTR:ANTR -interfiles:ANTR:ANTR -interflows:ANTR:ANTR -interfluve:ANTR:ANTR -interfolds:ANTR:ANTR -interfused:ANTR:ANTR -interfuses:ANTR:ANTR -intergrade:ANTR:ANTR -intergroup:ANTR:ANTR -interionic:ANTR:ANTR -interiorly:ANTR:ANTR -interjects:ANTR:ANTR -interknits:ANTR:ANTR -interlaced:ANTR:ANTR -interlaces:ANTR:ANTR -interlards:ANTR:ANTR -interleave:ANTR:ANTR -interlined:ANTR:ANTR -interliner:ANTR:ANTR -interlines:ANTR:ANTR -interlinks:ANTR:ANTR -interlobar:ANTR:ANTR -interlocks:ANTR:ANTR -interloped:ANTR:ANTR -interloper:ANTR:ANTR -interlopes:ANTR:ANTR -interludes:ANTR:ANTR -interlunar:ANTR:ANTR -intermarry:ANTR:ANTR -intermedin:ANTR:ANTR -interments:ANTR:ANTR -intermezzi:ANTR:ANTR -intermezzo:ANTR:ANTR -intermixed:ANTR:ANTR -intermixes:ANTR:ANTR -intermodal:ANTR:ANTR -intermural:ANTR:ANTR -internally:ANTR:ANTR -internasal:ANTR:ANTR -internists:ANTR:ANTR -internment:ANTR:ANTR -internodal:ANTR:ANTR -internodes:ANTR:ANTR -internship:ANTR:ANTR -interossei:ANTR:ANTR -interpaged:ANTR:ANTR -interpages:ANTR:ANTR -interphase:ANTR:ANTR -interphone:ANTR:ANTR -interplait:ANTR:ANTR -interplant:ANTR:ANTR -interplays:ANTR:ANTR -interplead:ANTR:ANTR -interpleas:ANTR:ANTR -interpolar:ANTR:ANTR -interposal:ANTR:ANTR -interposed:ANTR:ANTR -interposer:ANTR:ANTR -interposes:ANTR:ANTR -interprets:ANTR:ANTR -interreges:ANTR:ANTR -interregna:ANTR:ANTR -interreign:ANTR:ANTR -interrenal:ANTR:ANTR -interroban:ANTR:ANTR -interrogee:ANTR:ANTR -interrupti:ANTR:ANTR -interrupts:ANTR:ANTR -intersects:ANTR:ANTR -interspace:ANTR:ANTR -interstage:ANTR:ANTR -interstate:ANTR:ANTR -interstice:ANTR:ANTR -intertidal:ANTR:ANTR -intertrade:ANTR:ANTR -intertrigo:ANTR:ANTR -intertwine:ANTR:ANTR -intertwist:ANTR:ANTR -interurban:ANTR:ANTR -intervened:ANTR:ANTR -intervener:ANTR:ANTR -intervenes:ANTR:ANTR -intervenor:ANTR:ANTR -interviews:ANTR:ANTR -intervolve:ANTR:ANTR -interweave:ANTR:ANTR -interwinds:ANTR:ANTR -interworks:ANTR:ANTR -interwound:ANTR:ANTR -interwoven:ANTR:ANTR -intestable:ANTS:ANTS -intestinal:ANTS:ANTS -intestines:ANTS:ANTS -intimacies:ANTM:ANTM -intimately:ANTM:ANTM -intimaters:ANTM:ANTM -intimating:ANTM:ANTM -intimation:ANTM:ANTM -intimidate:ANTM:ANTM -intinction:ANTN:ANTN -intituling:ANTT:ANTT -intolerant:ANTL:ANTL -intonating:ANTN:ANTN -intonation:ANTN:ANTN -intoxicant:ANTK:ANTK -intoxicate:ANTK:ANTK -intradural:ANTR:ANTR -intragroup:ANTR:ANTR -intralobar:ANTR:ANTR -intramural:ANTR:ANTR -intranasal:ANTR:ANTR -intranatal:ANTR:ANTR -intrastate:ANTR:ANTR -intratubal:ANTR:ANTR -intravital:ANTR:ANTR -intravitam:ANTR:ANTR -intrazonal:ANTR:ANTR -intrepidly:ANTR:ANTR -intriguers:ANTR:ANTR -intriguing:ANTR:ANTR -intrinsics:ANTR:ANTR -introduced:ANTR:ANTR -introducer:ANTR:ANTR -introduces:ANTR:ANTR -introjects:ANTR:ANTR -introspect:ANTR:ANTR -introverts:ANTR:ANTR -intrusions:ANTR:ANTR -intrusting:ANTR:ANTR -intubating:ANTP:ANTP -intubation:ANTP:ANTP -intuitable:ANTT:ANTT -intuitions:ANTX:ANTX -intumesced:ANTM:ANTM -intumesces:ANTM:ANTM -inunctions:ANNK:ANNK -inundating:ANNT:ANNT -inundation:ANNT:ANNT -inundators:ANNT:ANNT -inundatory:ANNT:ANNT -inuredness:ANRT:ANRT -inurements:ANRM:ANRM -invaginate:ANFJ:ANFK -invalidate:ANFL:ANFL -invaliding:ANFL:ANFL -invalidism:ANFL:ANFL -invalidity:ANFL:ANFL -invaluable:ANFL:ANFL -invaluably:ANFL:ANFL -invariable:ANFR:ANFR -invariably:ANFR:ANFR -invariance:ANFR:ANFR -invariancy:ANFR:ANFR -invariants:ANFR:ANFR -invasively:ANFS:ANFS -invectives:ANFK:ANFK -inveighers:ANFR:ANFR -inveighing:ANFN:ANFN -inveiglers:ANFK:ANFK -inveigling:ANFK:ANFL -inventable:ANFN:ANFN -inventarii:ANFN:ANFN -inventible:ANFN:ANFN -inventions:ANFN:ANFN -inventress:ANFN:ANFN -inventuses:ANFN:ANFN -inveracity:ANFR:ANFR -inversions:ANFR:ANFR -invertible:ANFR:ANFR -investable:ANFS:ANFS -investible:ANFS:ANFS -investment:ANFS:ANFS -inveteracy:ANFT:ANFT -inveterate:ANFT:ANFT -invigilate:ANFJ:ANFK -invigorate:ANFK:ANFK -invincible:ANFN:ANFN -invincibly:ANFN:ANFN -inviolable:ANFL:ANFL -inviolably:ANFL:ANFL -inviolated:ANFL:ANFL -invitation:ANFT:ANFT -invitatory:ANFT:ANFT -invitingly:ANFT:ANFT -invocation:ANFK:ANFK -invocators:ANFK:ANFK -invocatory:ANFK:ANFK -involucels:ANFL:ANFL -involucral:ANFL:ANFL -involucres:ANFL:ANFL -involucrum:ANFL:ANFL -involutely:ANFL:ANFL -involuting:ANFL:ANFL -involution:ANFL:ANFL -inwardness:ANRT:ANRT -iodinating:ATNT:ATNT -iodination:ATNX:ATNX -iodinophil:ATNF:ATNF -iodoacetic:ATST:ATST -iodocasein:ATKS:ATKS -iodometric:ATMT:ATMT -iodophilic:ATFL:ATFL -ionization:ANSX:ANSX -ionophores:ANFR:ANFR -ionosphere:ANSF:ANSF -iproniazid:APRN:APRN -ipsissimis:APSS:APSS -irefulness:ARFL:ARFL -irenically:ARNK:ARNK -iridaceous:ARTS:ARTS -iridectome:ARTK:ARTK -iridectomy:ARTK:ARTK -iridescent:ARTS:ARTS -irishwoman:ARXM:ARXM -irishwomen:ARXM:ARXM -ironfisted:ARNF:ARNF -ironically:ARNK:ARNK -ironmaster:ARNM:ARNM -ironmonger:ARNM:ARNM -ironstones:ARNS:ARNS -ironworker:ARNR:ARNR -iroquoians:ARKN:ARKN -irradiance:ARTN:ARTN -irradiated:ARTT:ARTT -irradiates:ARTT:ARTT -irradiator:ARTT:ARTT -irrational:ARXN:ARXN -irregulars:ARKL:ARKL -irrelative:ARLT:ARLT -irrelevant:ARLF:ARLF -irreligion:ARLJ:ARLK -irresolute:ARSL:ARSL -irreverent:ARFR:ARFR -irrigating:ARKT:ARKT -irrigation:ARKX:ARKX -irrigative:ARKT:ARKT -irrigators:ARKT:ARKT -irritating:ARTT:ARTT -irritation:ARTX:ARTX -irritative:ARTT:ARTT -irrumation:ARMX:ARMX -irruptions:ARPX:ARPX -isallobars:ASLP:ASLP -ischiomeli:AXML:AXML -ischiopagi:AXPJ:AXPK -isentropic:ASNT:ASNT -islamizing:ALMS:ALMS -isoantigen:ASNT:ASNT -isobutyric:ASPT:ASPT -isocheimal:ASXM:ASKM -isochronal:ASKR:ASKR -isochronia:ASKR:ASKR -isochronic:ASKR:ASKR -isochroous:ASKR:ASKR -isocracies:ASKR:ASKR -isocyanide:ASSN:ASSN -isodynamic:ASTN:ASTN -isoenzymes:ASNS:ASNS -isoenzymic:ASNS:ASNS -isogametes:ASKM:ASKM -isogametic:ASKM:ASKM -isogeneses:ASJN:ASKN -isogenesis:ASJN:ASKN -isoglossal:ASKL:ASKL -isoglottic:ASKL:ASKL -isolations:ASLX:ASLX -isoleucine:ASLS:ASLS -isomaltose:ASML:ASML -isomerized:ASMR:ASMR -isomerizes:ASMR:ASMR -isometrics:ASMT:ASMT -isomorphic:ASMR:ASMR -isonitrile:ASNT:ASNT -isopachyte:ASPK:ASPK -isopathies:ASP0:ASPT -isoplastic:ASPL:ASPL -isoplethic:ASPL:ASPL -isoprenoid:ASPR:ASPR -isoseismal:ASSS:ASSS -isoseismic:ASSS:ASSS -isospories:ASSP:ASSP -isosporous:ASSP:ASSP -isothermal:AS0R:ASTR -isotonical:ASTN:ASTN -isotopical:ASTP:ASTP -isotropous:ASTR:ASTR -isovaleric:ASFL:ASFL -israelites:ASRL:ASRL -italianate:ATLN:ATLN -italianism:ATLN:ATLN -italianize:ATLN:ATLN -italicized:ATLS:ATLS -italicizes:ATLS:ATLS -iterations:ATRX:ATRX -itinerancy:ATNR:ATNR -itinerants:ATNR:ATNR -itinerated:ATNR:ATNR -itinerates:ATNR:ATNR -jaagsiekte:JKSK:AKSK -jaagziekte:JKSK:AKTS -jacarandas:JKRN:AKRN -jackanapes:JKNP:AKNP -jackbooted:JKPT:AKPT -jacketless:JKTL:AKTL -jackfishes:JKFX:AKFX -jackhammer:JKMR:AKMR -jackknifed:JKKN:AKKN -jackknifes:JKKN:AKKN -jackknives:JKKN:AKKN -jackrabbit:JKRP:AKRP -jackroller:JKRL:AKRL -jackscrews:JKSK:AKSK -jackshafts:JKXF:AKXF -jacksnipes:JKSN:AKSN -jacksonian:JKSN:AKSN -jackstraws:JKST:AKST -jacqueline:JKLN:AKLN -jactitated:JKTT:AKTT -jadishness:JTXN:ATXN -jaggedness:JKTN:AKTN -jaguarondi:JKRN:AKRN -jailbreaks:JLPR:ALPR -jailkeeper:JLKP:ALKP -janitorial:JNTR:ANTR -jardiniere:JRTN:ARTN -jargonized:JRKN:ARKN -jargonizes:JRKN:ARKN -jaundicing:JNTS:ANTS -jauntiness:JNTN:ANTN -jauntingly:JNTN:ANTN -jawbreaker:JPRK:APRK -jaywalkers:JLKR:ALKR -jaywalking:JLKN:ALKN -jealousies:JLSS:ALSS -jecorizing:JKRS:AKRS -jejuneness:JJNN:AJNN -jejunotomy:JJNT:AJNT -jellifying:JLFN:ALFN -jellybeans:JLPN:ALPN -jeopardied:JPRT:APRT -jeopardies:JPRT:APRT -jeopardize:JPRT:APRT -jeopardous:JPRT:APRT -jerseyites:JRST:ARST -jessamines:JSMN:ASMN -jesuitical:JSTK:ASTK -jettisoned:JTSN:ATSN -jeweleries:JLRS:ALRS -jewelweeds:JLTS:ALTS -jewishness:JXNS:AXNS -jiggermast:JKRM:AKRM -jimsonweed:JMSN:AMSN -jingoistic:JNKS:ANKS -jinrikisha:JNRK:ANRK -jitterbugs:JTRP:ATRP -jobcenters:JPSN:APSN -jobholders:JPLT:APLT -jockstraps:JKST:AKST -jocoseness:JKSN:AKSN -jocularity:JKLR:AKLR -jocundness:JKNT:AKNT -jointuress:JNTR:ANTR -jointuring:JNTR:ANTR -jollifying:JLFN:ALFN -jordanians:JRTN:ARTN -jostlement:JSTL:ASTL -journalese:JRNL:ARNL -journalism:JRNL:ARNL -journalist:JRNL:ARNL -journalize:JRNL:ARNL -journeyers:JRNR:ARNR -journeying:JRNN:ARNN -journeyman:JRNM:ARNM -journeymen:JRNM:ARNM -jovialness:JFLN:AFLN -joyfulness:JFLN:AFLN -joyousness:JSNS:ASNS -joypopping:JPPN:APPN -jubilantly:JPLN:APLN -jubilating:JPLT:APLT -jubilation:JPLX:APLX -judgematic:JJMT:AJMT -judgements:JJMN:AJMN -judgeships:JJXP:AJXP -judgmental:JTKM:ATKM -judication:JTKX:ATKX -judicative:JTKT:ATKT -judicators:JTKT:ATKT -judicatory:JTKT:ATKT -judicature:JTKT:ATKT -judicially:JTSL:ATXL -juggernaut:JKRN:AKRN -jugglingly:JKLN:AKLN -jugoslavia:JKSL:AKSL -jumboizing:JMPS:AMPS -juncaceous:JNKS:ANKS -junctional:JNKX:ANKX -junketeers:JNKT:ANKT -juramentum:JRMN:ARMN -juridicium:JRTS:ARTS -jurisprude:JRSP:ARSP -juristical:JRST:ARST -justiciary:JSTS:ASTX -justifiers:JSTF:ASTF -justifying:JSTF:ASTF -juvenility:JFNL:AFNL -juxtangina:JKST:AKST -juxtaposed:JKST:AKST -juxtaposes:JKST:AKST -kabaragoya:KPRK:KPRK -kafkaesque:KFKS:KFKS -kakaporiki:KKPR:KKPR -kakidroses:KKTR:KKTR -kakidrosis:KKTR:KKTR -kallikrein:KLKR:KLKR -kaolinoses:KLNS:KLNS -kaolinosis:KLNS:KLNS -karabiners:KRPN:KRPN -kartagener:KRTJ:KRTK -karyogamic:KRKM:KRKM -karyolobic:KRLP:KRLP -karyolymph:KRLM:KRLM -karyolyses:KRLS:KRLS -karyolysis:KRLS:KRLS -karyolytic:KRLT:KRLT -karyophage:KRFJ:KRFK -karyoplasm:KRPL:KRPL -karyotheca:KR0K:KRTK -karyotypic:KRTP:KRTP -katabolism:KTPL:KTPL -keelhauled:KLLT:KLLT -keepership:KPRX:KPRX -kenophobia:KNFP:KNFP -kenoticism:KNTS:KNTS -kentuckian:KNTK:KNTK -keratalgia:KRTL:KRTL -keratinize:KRTN:KRTN -keratinous:KRTN:KRTN -keratocele:KRTS:KRTS -keratomata:KRTM:KRTM -keratotomy:KRTT:KRTT -kerbstones:KRPS:KRPS -kerchiefed:KRXF:KRKF -kerfuffles:KRFF:KRFF -keritinise:KRTN:KRTN -kernmantel:KRNM:KRNM -kerseymere:KRSM:KRSM -ketohexose:KTHK:KTHK -ketonaemia:KTNM:KTNM -kettledrum:KTLT:KTLT -keyboarder:KPRT:KPRT -keypunched:KPNX:KPNK -keypuncher:KPNX:KPNK -keypunches:KPNX:KPNK -keystrokes:KSTR:KSTR -khrushchev:KRXX:KRXK -kibbutznik:KPTS:KPTS -kicksorter:KKSR:KKSR -kickstands:KKST:KKST -kidnappees:KTNP:KTNP -kidnappers:KTNP:KTNP -kidnapping:KTNP:KTNP -kieselguhr:KSLK:KSLK -kilocycles:KLSK:KLSK -kilogramme:KLKR:KLKR -kiloliters:KLLT:KLLT -kilometers:KLMT:KLMT -kilometric:KLMT:KLMT -kimberlite:KMPR:KMPR -kindliness:KNTL:KNTL -kindnesses:KNTN:KNTN -kinematics:KNMT:KNMT -kineplasty:KNPL:KNPL -kinesalgia:KNSL:KNSL -kinescopes:KNSK:KNSK -kinetosome:KNTS:KNTS -kingfisher:KNKF:KNKF -kingfishes:KNKF:KNKF -kingliness:KNKL:KNKL -kingmakers:KNKM:KNKM -kinocentra:KNSN:KNSN -kinoplasma:KNPL:KNPL -kinspeople:KNSP:KNSP -kissagrams:KSKR:KSKR -kittiwakes:KTKS:KTKS -klebsiella:KLPS:KLPS -knackeries:NKRS:NKRS -knackwurst:NKRS:NKRS -kneecapped:NKPT:NKPT -knickknack:NKKN:NKKN -knickpoint:NKPN:NKPN -kniferests:NFRS:NFRS -knighthead:N0T:NTT -knighthood:N0T:NTT -knobbiness:NPNS:NPNS -knobbliest:NPLS:NPLS -knobkerrie:NPKR:NPKR -knockabout:NKPT:NKPT -knockdowns:NKTN:NKTN -knockwurst:NKRS:NKRS -knottiness:NTNS:NTNS -knowledged:NLJT:NLJT -kohlrabies:KLRP:KLRP -kolinskies:KLNS:KLNS -kookaburra:KKPR:KKPR -kookieness:KKNS:KKNS -koulibiaca:KLPK:KLPK -kriegspiel:KRKS:KRKS -kromeskies:KRMS:KRMS -krukenberg:KRKN:KRKN -kymographs:KMKR:KMKR -kymography:KMKR:KMKR -kynurenine:KNRN:KNRN -labiaising:LPSN:LPSN -labialises:LPLS:LPLS -labialized:LPLS:LPLS -labializes:LPLS:LPLS -labilities:LPLT:LPLT -labionasal:LPNS:LPNS -labiovelar:LPFL:LPFL -laboratory:LPRT:LPRT -laboringly:LPRN:LPRN -laborsaver:LPRS:LPRS -labyrinths:LPRN:LPRN -laccoliths:LKL0:LKLT -lacerating:LSRT:LSRT -laceration:LSRX:LSRX -lacerative:LSRT:LSRT -lacerators:LSRT:LSRT -lachrymose:LKRM:LKRM -laciniated:LSNT:LSNT -lackluster:LKLS:LKLS -laconicism:LKNS:LKNS -lacquerers:LKRR:LKRR -lacquering:LKRN:LKRN -lacrimator:LKRM:LKRM -lactagogue:LKTK:LKTK -lactations:LKTX:LKTX -lactescent:LKTS:LKTS -lactoceles:LKTS:LKTS -lactogenic:LKTJ:LKTK -lactorrhea:LKTR:LKTR -lactoscope:LKTS:LKTS -lactosuria:LKTS:LKTS -lacustrine:LKST:LKST -ladyfinger:LTFN:LTFN -lagniappes:LNPS:LKNP -lagomorphs:LKMR:LKMR -lagrangian:LKRN:LKRN -lalognosis:LLNS:LLKN -laloplegia:LLPL:LLPL -lamarckian:LMRK:LMRK -lamarckism:LMRK:LMRK -lamaseries:LMSR:LMSR -lambasting:LMPS:LMPS -lambdacism:LMPT:LMPT -lambdoidal:LMPT:LMPT -lambliasis:LMPL:LMPL -lambrequin:LMPR:LMPR -lamebrains:LMPR:LMPR -lamellarly:LMLR:LMLR -lamellated:LMLT:LMLT -lamentable:LMNT:LMNT -lamentably:LMNT:LMNT -lamentedly:LMNT:LMNT -laminagram:LMNK:LMNK -laminating:LMNT:LMNT -lamination:LMNX:LMNX -laminators:LMNT:LMNT -laminogram:LMNK:LMNK -laminotomy:LMNT:LMNT -lammastide:LMST:LMST -lampooners:LMPN:LMPN -lampoonery:LMPN:LMPN -lampooning:LMPN:LMPN -lampoonist:LMPN:LMPN -lanatoside:LNTS:LNTS -lancefield:LNSF:LNSF -lancejacks:LNSJ:LNSJ -lancinated:LNSN:LNSN -lancisilan:LNSS:LNSS -landaulets:LNTL:LNTL -landholder:LNTL:LNTL -landladies:LNTL:LNTL -landlocked:LNTL:LNTL -landlooker:LNTL:LNTL -landlordly:LNTL:LNTL -landlubber:LNTL:LNTL -landmasses:LNTM:LNTM -landocracy:LNTK:LNTK -landowners:LNTN:LNTN -landowning:LNTN:LNTN -landscaped:LNTS:LNTS -landscaper:LNTS:LNTS -landscapes:LNTS:LNTS -landslides:LNTS:LNTS -landwaiter:LNTT:LNTT -langerhans:LNKR:LNJR -langoustes:LNKS:LNKS -languished:LNKX:LNKX -languisher:LNKX:LNKX -languishes:LNKX:LNKX -languorous:LNKR:LNKR -laniferous:LNFR:LNFR -lanigerous:LNJR:LNKR -lanosterol:LNST:LNST -lanthanide:LN0N:LNTN -lanuginose:LNJN:LNKN -lanuginous:LNJN:LNKN -laparotomy:LPRT:LPRT -lapidarian:LPTR:LPTR -lapidaries:LPTR:LPTR -lapidating:LPTT:LPTT -lapidation:LPTX:LPTX -lapidified:LPTF:LPTF -lapidifies:LPTF:LPTF -laplanders:LPLN:LPLN -larcenable:LRSN:LRSN -larcenists:LRSN:LRSN -lardaceous:LRTS:LRTS -larvicidal:LRFS:LRFS -larvicides:LRFS:LRFS -laryngismi:LRNJ:LRNK -laryngitic:LRNJ:LRNK -laryngitis:LRNJ:LRNK -lascivious:LSFS:LSFS -lassitudes:LSTT:LSTT -latecomers:LTKM:LTKM -laterality:LTRL:LTRL -lathyritic:L0RT:LTRT -latinizers:LTNS:LTNS -latinizing:LTNS:LTNS -latissimus:LTSM:LTSM -lattermost:LTRM:LTRM -lauderdale:LTRT:LTRT -laughingly:LFNK:LFNK -launchings:LNXN:LNKN -launderers:LNTR:LNTR -laundering:LNTR:LNTR -laundromat:LNTR:LNTR -laundryman:LNTR:LNTR -laundrymen:LNTR:LNTR -lauraceous:LRSS:LRSS -laureation:LRXN:LRXN -lavalieres:LFLR:LFLR -lavational:LFXN:LFXN -lavatorial:LFTR:LFTR -lavatories:LFTR:LFTR -lavishment:LFXM:LFXM -lavishness:LFXN:LFXN -lawbreaker:LPRK:LPRK -lawfulness:LFLN:LFLN -lawnmowers:LNMR:LNMR -lawrencium:LRNS:LRNS -lawyerlike:LRLK:LRLK -laxatively:LKST:LKST -lazarettes:LSRT:LSRT -lazarettos:LSRT:LSRT -leadenness:LTNS:LTNS -leaderless:LTRL:LTRL -leadership:LTRX:LTRX -leafcutter:LFKT:LFKT -leafhopper:LFPR:LFPR -leafleters:LFLT:LFLT -leafleting:LFLT:LFLT -leafstalks:LFST:LFST -leaseholds:LSHL:LSHL -leathering:L0RN:LTRN -lebensraum:LPNS:LPNS -lectionary:LKXN:LKXN -lefthanded:LF0N:LFTN -legalistic:LKLS:LKLS -legalities:LKLT:LKLT -legalizing:LKLS:LKLS -legateship:LKTX:LKTX -legatorial:LKTR:LKTR -legibility:LJPL:LKPL -legislated:LJLT:LKLT -legislates:LJLT:LKLT -legislator:LJLT:LKLT -legitimacy:LJTM:LKTM -legitimate:LJTM:LKTM -legitimism:LJTM:LKTM -legitimist:LJTM:LKTM -legitimize:LJTM:LKTM -leguminous:LKMN:LKMN -legwarmers:LKRM:LKRM -leiodermia:LTRM:LTRM -leiomyomas:LMMS:LMMS -leishmania:LXMN:LXMN -leistering:LSTR:LSTR -leitmotifs:LTMT:LTMT -lemmatized:LMTS:LMTS -lemmatizes:LMTS:LMTS -lemmocytes:LMST:LMST -lemniscate:LMNS:LMNS -lengthened:LNK0:LNKT -lengthener:LNK0:LNKT -lengthiest:LNK0:LNKT -lengthways:LNK0:LNKT -lengthwise:LNK0:LNKT -leniencies:LNNS:LNNX -lenticonus:LNTK:LNTK -lenticulae:LNTK:LNTK -lenticular:LNTK:LNTK -lenticulas:LNTK:LNTK -lentigines:LNTJ:LNTK -leontiases:LNXS:LNXS -leontiasis:LNXS:LNXS -leopardess:LPRT:LPRT -leprechaun:LPRX:LPRK -leprocytes:LPRS:LPRS -leprosaria:LPRS:LPRS -leptomonad:LPTM:LPTM -leptomonas:LPTM:LPTM -leptoscope:LPTS:LPTS -leptosomes:LPTS:LPTS -leptosomic:LPTS:LPTS -leptospira:LPTS:LPTS -leptospire:LPTS:LPTS -leptrrhine:LPTR:LPTR -lesbianism:LSPN:LSPN -lesseeship:LSXP:LSXP -lethalness:L0LN:LTLN -lethargies:L0RJ:LTRK -letterhead:LTRT:LTRT -letterings:LTRN:LTRN -leucinuria:LSNR:LSNR -leucoblast:LKPL:LKPL -leucocidin:LKST:LKST -leucocytes:LKST:LKST -leucocytic:LKST:LKST -leucoderma:LKTR:LKTR -leucopenia:LKPN:LKPN -leucoplast:LKPL:LKPL -leucorrhea:LKR:LKR -leucotoxic:LKTK:LKTK -leucotoxin:LKTK:LKTK -leucovorin:LKFR:LKFR -leukaemoid:LKMT:LKMT -leukemogen:LKMJ:LKMK -leukoblast:LKPL:LKPL -leukocidin:LKST:LKST -leukocytes:LKST:LKST -leukocytic:LKST:LKST -leukoderma:LKTR:LKTR -leukopathy:LKP0:LKPT -leukopenia:LKPN:LKPN -leukopenic:LKPN:LKPN -leukorrhea:LKR:LKR -leukotoxic:LKTK:LKTK -leukotoxin:LKTK:LKTK -leveraging:LFRJ:LFRK -leviathans:LF0N:LFTN -levigating:LFKT:LFKT -levigation:LFKX:LFKX -levigators:LFKT:LFKT -levitating:LFTT:LFTT -levitation:LFTX:LFTX -levocardia:LFKR:LFKR -levogyrate:LFJR:LFKR -levorotary:LFRT:LFRT -lexicality:LKSK:LKSK -lexicalize:LKSK:LKSK -lexigraphy:LKSK:LKSK -liableness:LPLN:LPLN -libational:LPXN:LPXN -libelously:LPLS:LPLS -liberalism:LPRL:LPRL -liberalist:LPRL:LPRL -liberality:LPRL:LPRL -liberalize:LPRL:LPRL -liberating:LPRT:LPRT -liberation:LPRX:LPRX -liberators:LPRT:LPRT -libertines:LPRT:LPRT -libidinize:LPTN:LPTN -libidinous:LPTN:LPTN -librarians:LPRR:LPRR -librettist:LPRT:LPRT -licensable:LSNS:LSNS -licentiate:LSNX:LSNX -licentious:LSNT:LSNT -licitation:LSTX:LSTX -liebermann:LPRM:LPRM -lienholder:LNLT:LNLT -lienopathy:LNP0:LNPT -lienorenal:LNRN:LNRN -lienotoxin:LNTK:LNTK -lienteries:LNTR:LNTR -lienunculi:LNNK:LNNK -lieutenant:LTNN:LTNN -lifeguards:LFKR:LFKR -lifelessly:LFLS:LFLS -liferenter:LFRN:LFRN -lifesavers:LFSF:LFSF -lifesaving:LFSF:LFSF -lifestyles:LFST:LFST -ligamental:LKMN:LKMN -ligamentum:LKMN:LKMN -lighteners:LTNR:LTNR -lightening:LTNN:LTNN -lighterage:LTRJ:LTRK -lightfaced:LTFS:LTFS -lightfaces:LTFS:LTFS -lightheart:L0RT:LTRT -lighthouse:L0S:LTS -lightnings:LTNN:LTNN -lightships:LTXP:LTXP -lightyears:LTRS:LTRS -ligneously:LNSL:LKNS -lignifying:LNFN:LKNF -lignocaine:LNKN:LKNK -likability:LKPL:LKPL -likelihood:LKLH:LKLH -likeliness:LKLN:LKLN -likenesses:LKNS:LKNS -liliaceous:LLSS:LLSS -limberness:LMPR:LMPR -limelights:LMLT:LMLT -limestones:LMST:LMST -limicoline:LMKL:LMKL -limicolous:LMKL:LMKL -limitarian:LMTR:LMTR -limitation:LMTX:LMTX -limitative:LMTT:LMTT -limitrophe:LMTR:LMTR -limousines:LMSN:LMSN -limpidness:LMPT:LMPT -lincomycin:LNKM:LNKM -lineaments:LNMN:LNMN -linearized:LNRS:LNRS -linearizes:LNRS:LNRS -lineations:LNXN:LNXN -linebacker:LNPK:LNPK -linecaster:LNKS:LNKS -linemening:LNMN:LNMN -lineolated:LNLT:LNLT -linguatula:LNKT:LNKT -linguiform:LNKF:LNKF -linguistic:LNKS:LNKS -lingulated:LNKL:LNKL -linoleates:LNLT:LNLT -lipoblasts:LPPL:LPPL -lipochrome:LPKR:LPKR -lipofuscin:LPFS:LPFS -lipogenous:LPJN:LPKN -lipography:LPKR:LPKR -lipoidoses:LPTS:LPTS -lipoidosis:LPTS:LPTS -lipomatoid:LPMT:LPMT -lipomatous:LPMT:LPMT -lipophagia:LPFJ:LPFK -lipophagic:LPFJ:LPFK -lipophiles:LPFL:LPFL -lipophilic:LPFL:LPFL -lipothymia:LP0M:LPTM -lipotropic:LPTR:LPTR -lipoxenies:LPKS:LPKS -lipoxenous:LPKS:LPKS -lipreading:LPRT:LPRT -liquations:LKXN:LKXN -liquefiers:LKFR:LKFR -liquefying:LKFN:LKFN -liquescent:LKSN:LKSN -liquescing:LKSN:LKSN -liquidated:LKTT:LKTT -liquidates:LKTT:LKTT -liquidator:LKTT:LKTT -liquidized:LKTS:LKTS -liquidizer:LKTS:LKTS -liquidizes:LKTS:LKTS -liquidness:LKTN:LKTN -liquifiers:LKFR:LKFR -liquifying:LKFN:LKFN -listenable:LSTN:LSTN -listenings:LSTN:LSTN -listerella:LSTR:LSTR -listerized:LSTR:LSTR -listerizes:LSTR:LSTR -listlessly:LSTL:LSTL -literalism:LTRL:LTRL -literalist:LTRL:LTRL -literality:LTRL:LTRL -literarily:LTRR:LTRR -literately:LTRT:LTRT -literature:LTRT:LTRT -lithagogue:L0KK:LTKK -lithectomy:L0KT:LTKT -lithicosis:L0KS:LTKS -lithograph:L0KR:LTKR -lithologic:L0LJ:LTLK -lithomarge:LTMR:LTMR -lithophone:L0FN:LTFN -lithophyte:L0FT:LTFT -lithoscope:L0SK:LTSK -lithotomes:L0TM:LTTM -lithotomic:L0TM:LTTM -lithotrite:L0TR:LTTR -lithotrity:L0TR:LTTR -lithuanian:L0NN:LTNN -lithuresis:L0RS:LTRS -litigating:LTKT:LTKT -litigation:LTKX:LTKX -litigators:LTKT:LTKT -litterbugs:LTRP:LTRP -littleneck:LTLN:LTLN -littleness:LTLN:LTLN -liturgical:LTRJ:LTRK -liturgists:LTRJ:LTRK -livability:LFPL:LFPL -livelihood:LFLH:LFLH -liveliness:LFLN:LFLN -liverworts:LFRR:LFRR -liverwurst:LFRR:LFRR -lividities:LFTT:LFTT -loadstones:LTST:LTST -loansharks:LNXR:LNXR -loatheness:L0NS:LTNS -lobotomies:LPTM:LPTM -lobotomize:LPTM:LPTM -lobulation:LPLX:LPLX -localistic:LKLS:LKLS -localities:LKLT:LKLT -localizers:LKLS:LKLS -localizing:LKLS:LKLS -locksmiths:LKSM:LKSM -locomotion:LKMX:LKMX -locomotive:LKMT:LKMT -locomotory:LKMT:LKMT -loculation:LKLX:LKLX -lodgements:LJMN:LJMN -logagnosia:LKNS:LKKN -logamnesia:LKMN:LKMN -loganberry:LKNP:LKNP -loganstone:LKNS:LKNS -logaphasia:LKFS:LKFX -logarithms:LKR0:LKRT -loggerhead:LKRT:LKRT -logicality:LJKL:LKKL -logicising:LJSS:LKSS -logistical:LJST:LKST -logographs:LKKR:LKKR -logography:LKKR:LKKR -logogriphs:LKKR:LKKR -logopedics:LKPT:LKPT -logoplegia:LKPL:LKPL -logorrheic:LKRK:LKRK -logrolling:LKRL:LKRL -loincloths:LNKL:LNKL -lombrosian:LMPR:LMPR -loneliness:LNLN:LNLN -lonesomely:LNSM:LNSM -longhaired:LNKR:LNKR -longitudes:LNJT:LNKT -longwinded:LNKN:LNKN -lookalikes:LKLK:LKLK -looseboxes:LSPK:LSPK -lopsidedly:LPST:LPST -loquacious:LKSS:LKXS -lordliness:LRTL:LRTL -lorgnettes:LRNT:LRKN -loudmouths:LTM0:LTMT -louisianan:LSNN:LXNN -louisville:LSFL:LSFL -lovelessly:LFLS:LFLS -loveliness:LFLN:LFLN -lovemaking:LFMK:LFMK -lovingness:LFNN:LFNK -lowercased:LRKS:LRKS -lowercases:LRKS:LRKS -loweringly:LRNK:LRNK -lowlanders:LLNT:LLNT -loxodromic:LKST:LKST -loxosceles:LKSS:LKSS -lubricants:LPRK:LPRK -lubricated:LPRK:LPRK -lubricates:LPRK:LPRK -lubricator:LPRK:LPRK -lubricious:LPRS:LPRX -lucidities:LSTT:LSTT -lucifugous:LSFK:LSFK -lucklessly:LKLS:LKLS -lucubrated:LKPR:LKPR -lucubrates:LKPR:LKPR -lucubrator:LKPR:LKPR -luculently:LKLN:LKLN -lugubrious:LKPR:LKPR -lukewarmly:LKRM:LKRM -lullabying:LLPN:LLPN -lumberjack:LMRJ:LMRJ -lumberyard:LMRR:LMRR -lumbricoid:LMPR:LMPR -lumichrome:LMXR:LMKR -luminaries:LMNR:LMNR -luminesced:LMNS:LMNS -luminesces:LMNS:LMNS -luminosity:LMNS:LMNS -luminously:LMNS:LMNS -lumisterol:LMST:LMST -lumpectomy:LMPK:LMPK -lunchrooms:LNXR:LNKR -lunchtimes:LNKT:LNKT -lusciously:LSSL:LSSL -lusterless:LSTR:LSTR -lustrating:LSTR:LSTR -lustration:LSTR:LSTR -lustrative:LSTR:LSTR -lustreless:LSTR:LSTR -lustreware:LSTR:LSTR -lustrously:LSTR:LSTR -luteinized:LTNS:LTNS -luteinizes:LTNS:LTNS -luxembourg:LKSM:LKSM -luxuriance:LKSR:LKSR -luxuriated:LKSR:LKSR -luxuriates:LKSR:LKSR -lycoperdon:LKPR:LKPR -lycopodium:LKPT:LKPT -lygophilia:LKFL:LKFL -lymphatics:LMFT:LMFT -lymphatism:LMFT:LMFT -lymphedema:LMFT:LMFT -lymphocyte:LMFS:LMFS -lymphogram:LMFK:LMFK -lymphomata:LMFM:LMFM -lyophilize:LFLS:LFLS -lyricising:LRSS:LRSS -lysogenies:LSJN:LSKN -lysogenize:LSJN:LSKN -lysokinase:LSKN:LSKN -macadamize:MKTM:MKTM -macarising:MKRS:MKRS -maccaronis:MKRN:MKRN -macebearer:MSPR:MSPR -macedonian:MSTN:MSTN -maceraters:MSRT:MSRT -macerating:MSRT:MSRT -maceration:MSRX:MSRX -macerative:MSRT:MSRT -macerators:MSRT:MSRT -machinable:MXNP:MKNP -machinated:MXNT:MKNT -machinator:MXNT:MKNT -machinists:MXNS:MKNS -machinized:MXNS:MKNS -machinizes:MXNS:MKNS -mackintosh:MKNT:MKNT -macroblast:MKRP:MKRP -macrocosms:MKRK:MKRK -macrocytic:MKRS:MKRS -macroglial:MKRK:MKRL -macrograph:MKRK:MKRK -macrogyria:MKRJ:MKRK -macromania:MKRM:MKRM -macromelia:MKRM:MKRM -macromelus:MKRM:MKRM -macrophage:MKRF:MKRF -macropodia:MKRP:MKRP -macropsias:MKRP:MKRP -macropsies:MKRP:MKRP -macrosomia:MKRS:MKRS -maculating:MKLT:MKLT -maculation:MKLX:MKLX -madagascar:MTKS:MTKS -madeleines:MTLN:MTLN -madreporal:MTRP:MTRP -madreporic:MTRP:MTRP -maecenases:MSNS:MSNS -maelstroms:MLST:MLST -mafficking:MFKN:MFKN -magdalenes:MKTL:MKTL -magellanic:MJLN:MKLN -magistracy:MJST:MKST -magistrate:MJST:MKST -magnesiums:MNSM:MKNS -magnetisms:MNTS:MKNT -magnetists:MNTS:MKNT -magnetized:MNTS:MKNT -magnetizer:MNTS:MKNT -magnetizes:MNTS:MKNT -magnetrons:MNTR:MKNT -magnificat:MNFK:MKNF -magnifiers:MNFR:MKNF -magnifying:MNFN:MKNF -magnitudes:MNTT:MKNT -maharajahs:MHRJ:MHRH -maharanees:MHRN:MHRN -maharishis:MHRX:MHRX -mahoganies:MHKN:MHKN -maidenhair:MTNR:MTNR -maidenhead:MTNT:MTNT -maidenhood:MTNT:MTNT -maidenlike:MTNL:MTNL -maimedness:MMTN:MMTN -mainbraces:MNPR:MNPR -mainframes:MNFR:MNFR -mainlander:MNLN:MNLN -mainliners:MNLN:MNLN -mainlining:MNLN:MNLN -mainpernor:MNPR:MNPR -mainprisor:MNPR:MNPR -mainprized:MNPR:MNPR -mainprizes:MNPR:MNPR -mainsheets:MNXT:MNXT -mainspring:MNSP:MNSP -mainstream:MNST:MNST -maintained:MNTN:MNTN -maintainer:MNTN:MNTN -maintainor:MNTN:MNTN -maisonette:MSNT:MSNT -majestatis:MJST:MJST -majestical:MJST:MJST -majorities:MJRT:MHRT -majuscular:MJSK:MJSK -majuscules:MJSK:MJSK -makeshifts:MKXF:MKXF -makeweight:MKT:MKT -malacology:MLKL:MLKL -maladapted:MLTP:MLTP -maladdress:MLTR:MLTR -malapertly:MLPR:MLPR -malapropos:MLPR:MLPR -malaxating:MLKS:MLKS -malaxation:MLKS:MLKS -malaysians:MLSN:MLXN -malconduct:MLKN:MLKN -malcontent:MLKN:MLKN -maledicted:MLTK:MLTK -malefactor:MLFK:MLFK -maleficent:MLFS:MLFS -malevolent:MLFL:MLFL -malfeasant:MLFS:MLFS -malignance:MLNN:MLKN -malignancy:MLNN:MLKN -malingered:MLNK:MLNJ -malingerer:MLNK:MLNJ -malleation:MLXN:MLXN -mallemucks:MLMK:MLMK -mallenders:MLNT:MLNT -malleolare:MLLR:MLLR -malleotomy:MLTM:MLTM -mallophaga:MLFK:MLFK -malnourish:MLNR:MLNR -malodorous:MLTR:MLTR -malolactic:MLLK:MLLK -malpighian:MLPN:MLPN -malthusian:ML0S:MLTX -maltreated:MLTR:MLTR -maltreater:MLTR:MLTR -malvaceous:MLFS:MLFS -mamillated:MMLT:MMLT -mamilliary:MMLR:MMLR -mammectomy:MMKT:MMKT -mammillary:MMLR:MMLR -mammillate:MMLT:MMLT -mammitides:MMTT:MMTT -mammogenic:MMJN:MMKN -mammograph:MMKR:MMKR -manageable:MNJP:MNKP -manageably:MNJP:MNKP -management:MNJM:MNKM -manageress:MNKR:MNJR -managerial:MNKR:MNJR -manchester:MNXS:MNKS -manchineel:MNXN:MNKN -manchurian:MNXR:MNKR -mancunians:MNKN:MNKN -mandamused:MNTM:MNTM -mandamuses:MNTM:MNTM -mandelbrot:MNTL:MNTL -mandibular:MNTP:MNTP -mandragora:MNTR:MNTR -manducated:MNTK:MNTK -manducates:MNTK:MNTK -maneuvered:MNFR:MNFR -maneuverer:MNFR:MNFR -manfulness:MNFL:MNFL -mangosteen:MNKS:MNKS -manhandled:MNNT:MNNT -manhandles:MNNT:MNNT -manhattans:MNTN:MNTN -manhunters:MNNT:MNNT -maniacally:MNKL:MNKL -manicuring:MNKR:MNKR -manicurist:MNKR:MNKR -manifested:MNFS:MNFS -manifestly:MNFS:MNFS -manifestos:MNFS:MNFS -manifolded:MNFL:MNFL -manifolder:MNFL:MNFL -manifoldly:MNFL:MNFL -manipulate:MNPL:MNPL -mannequins:MNKN:MNKN -mannerisms:MNRS:MNRS -mannerists:MNRS:MNRS -mannerless:MNRL:MNRL -manoeuvred:MNFR:MNFR -manoeuvrer:MNFR:MNFR -manoeuvres:MNFR:MNFR -manometric:MNMT:MNMT -manservant:MNSR:MNSR -manslaught:MNSL:MNSL -manslayers:MNSL:MNSL -mansonella:MNSN:MNSN -mansuetude:MNST:MNST -manteletta:MNTL:MNTL -manteltree:MNTL:MNTL -manubriums:MNPR:MNPR -manucaptio:MNKP:MNKP -manucaptor:MNKP:MNKP -manumitted:MNMT:MNMT -manumitter:MNMT:MNMT -manuscript:MNSK:MNSK -manzanilla:MNSN:MNSN -maoritanga:MRTN:MRTN -maraschino:MRXN:MRXN -marbleized:MRPL:MRPL -marbleizes:MRPL:MRPL -marcescent:MRSS:MRSS -marchlands:MRXL:MRKL -margaritas:MRKR:MRKR -margaritic:MRKR:MRKR -margaropus:MRKR:MRKR -marginalia:MRJN:MRKN -marginally:MRJN:MRKN -marginated:MRJN:MRKN -marginates:MRJN:MRKN -margravate:MRKR:MRKR -margravine:MRKR:MRKR -marguerite:MRKR:MRKR -marigraphs:MRKR:MRKR -marinading:MRNT:MRNT -marinating:MRNT:MRNT -marination:MRNX:MRNX -mariolatry:MRLT:MRLT -marionette:MRNT:MRNT -maritagium:MRTJ:MRTK -mariticide:MRTS:MRTS -markedness:MRKT:MRKT -marketable:MRKT:MRKT -marketably:MRKT:MRKT -marketeers:MRKT:MRKT -marketings:MRKT:MRKT -marketwise:MRKT:MRKT -markswoman:MRKS:MRKS -markswomen:MRKS:MRKS -marlacious:MRLS:MRLX -marmalades:MRML:MRML -marmorated:MRMR:MRMR -marquesses:MRKS:MRKS -marquisate:MRKS:MRKS -marrowbone:MRPN:MRPN -marseilles:MRSL:MRSL -marshaling:MRXL:MRXL -marshalled:MRXL:MRXL -marshaller:MRXL:MRXL -marshbucks:MRXP:MRXP -marshiness:MRXN:MRXN -marshlands:MRXL:MRXL -marsupials:MRSP:MRSP -martensite:MRTN:MRTN -martialing:MRXL:MRXL -martialism:MRXL:MRXL -martialist:MRXL:MRXL -martialled:MRXL:MRXL -martingale:MRTN:MRTN -martyology:MRTL:MRTL -martyrdoms:MRTR:MRTR -martyrises:MRTR:MRTR -martyrized:MRTR:MRTR -martyrizes:MRTR:MRTR -marylander:MRLN:MRLN -masculines:MSKL:MSKL -mashgichim:MXJX:MXKK -masochists:MSXS:MSKS -masquerade:MSKR:MSKR -massacrers:MSKR:MSKR -massacring:MSKR:MSKR -massagists:MSJS:MSKS -massasauga:MSSK:MSSK -masseteric:MSTR:MSTR -mastectomy:MSTK:MSTK -masterbate:MSTR:MSTR -masterhood:MSTR:MSTR -masterings:MSTR:MSTR -masterless:MSTR:MSTR -mastermind:MSTR:MSTR -masterpage:MSTR:MSTR -mastership:MSTR:MSTR -masterwork:MSTR:MSTR -masticable:MSTK:MSTK -masticated:MSTK:MSTK -masticates:MSTK:MSTK -masticator:MSTK:MSTK -mastitides:MSTT:MSTT -mastodonic:MSTT:MSTT -mastodynia:MSTT:MSTT -mastoideal:MSTT:MSTT -mastoidean:MSTT:MSTT -mastopathy:MSTP:MSTP -masturbate:MSTR:MSTR -matchboard:MXPR:MXPR -matchbooks:MXPK:MXPK -matchboxes:MXPK:MXPK -matchlocks:MXLK:MXLK -matchmaker:MXMK:MXMK -matchmarks:MXMR:MXMR -matelotage:MTLT:MTLT -materially:MTRL:MTRL -maternally:MTRN:MTRN -mathematic:M0MT:MTMT -matriarchs:MTRR:MTRR -matriarchy:MTRR:MTRR -matricaria:MTRK:MTRK -matricidal:MTRS:MTRS -matricides:MTRS:MTRS -matrilocal:MTRL:MTRL -matrimonii:MTRM:MTRM -matrimonio:MTRM:MTRM -matronship:MTRN:MTRN -mattamores:MTMR:MTMR -mattresses:MTRS:MTRS -maturating:MTRT:MTRT -maturation:MTRX:MTRX -maturative:MTRT:MTRT -matureness:MTRN:MTRN -maturities:MTRT:MTRT -maudliness:MTLN:MTLN -maudlinism:MTLN:MTLN -maulsticks:MLST:MLST -maunderers:MNTR:MNTR -maundering:MNTR:MNTR -maupassant:MPSN:MPSN -mauritania:MRTN:MRTN -mauritians:MRXN:MRXN -mausoleums:MSLM:MSLM -mavourneen:MFRN:MFRN -maximalist:MKSM:MKSM -maximality:MKSM:MKSM -maximizers:MKSM:MKSM -maximizing:MKSM:MKSM -maxisingle:MKSS:MKSS -mayflowers:MFLR:MFLR -mayhemavit:MHMF:MHMF -mayhemming:MHMN:MHMN -mayonnaise:MNS:MNS -mayoresses:MRSS:MRSS -mayorships:MRXP:MRXP -mazoplasia:MSPL:MSPL -meadowland:MTLN:MTLN -meadowlark:MTLR:MTLR -meagerness:MKRN:MJRN -meagreness:MKRN:MKRN -mealymouth:MLM0:MLMT -meanderers:MNTR:MNTR -meandering:MNTR:MNTR -meaningful:MNNK:MNNK -measurable:MSRP:MSRP -measurably:MSRP:MSRP -measuredly:MSRT:MSRT -mechanical:MXNK:MKNK -mechanisms:MXNS:MKNS -mechanists:MXNS:MKNS -mechanized:MXNS:MKNS -mechanizer:MXNS:MKNS -mechanizes:MXNS:MKNS -meconopsis:MKNP:MKNP -medaillons:MTLN:MTLN -medallions:MTLN:MTLN -medallists:MTLS:MTLS -meddlesome:MTLS:MTLS -meddlingly:MTLN:MTLN -mediastina:MTST:MTST -mediations:MTXN:MTXN -mediatises:MTTS:MTTS -mediatized:MTTS:MTTS -mediatizes:MTTS:MTTS -mediatress:MTTR:MTTR -medicament:MTKM:MTKM -medicating:MTKT:MTKT -medication:MTKX:MTKX -medicative:MTKT:MTKT -medievally:MTFL:MTFL -mediocrity:MTKR:MTKR -meditating:MTTT:MTTT -meditation:MTTX:MTTX -meditative:MTTT:MTTT -meditators:MTTT:MTTT -medullated:MTLT:MTLT -meerschaum:MRXM:MRXM -megacycles:MKSK:MKSK -megadeaths:MKT0:MKTT -megagamete:MKKM:MKKM -megalithes:MKL0:MKLT -megalithic:MKL0:MKLT -megalocyte:MKLS:MKLS -megalosaur:MKLS:MKLS -megaphones:MKFN:MKFN -megaphonic:MKFN:MKFN -megascopic:MKSK:MKSK -megaspores:MKSP:MKSP -megasporic:MKSP:MKSP -megatheria:MK0R:MKTR -megillahes:MJLH:MKLH -melancholy:MLNX:MLNK -melanesian:MLNS:MLNX -melanistic:MLNS:MLNS -melanizing:MLNS:MLNS -melanocyte:MLNS:MLNS -melanoderm:MLNT:MLNT -melanomata:MLNM:MLNM -melanosity:MLNS:MLNS -melezitose:MLST:MLST -meliaceous:MLSS:MLSS -meliorable:MLRP:MLRP -meliorated:MLRT:MLRT -meliorates:MLRT:MLRT -meliorists:MLRS:MLRS -melismatic:MLSM:MLSM -melitensis:MLTN:MLTN -mellituria:MLTR:MLTR -mellophone:MLFN:MLFN -mellowness:MLNS:MLNS -melodisers:MLTS:MLTS -melodizing:MLTS:MLTS -melodramas:MLTR:MLTR -melophagus:MLFK:MLFK -meloplasty:MLPL:MLPL -melungeons:MLNJ:MLNK -memberless:MMPR:MMPR -membership:MMPR:MMPR -membranate:MMPR:MMPR -membranoid:MMPR:MMPR -membranous:MMPR:MMPR -memorabile:MMRP:MMRP -memorandum:MMRN:MMRN -memorially:MMRL:MMRL -memorizers:MMRS:MMRS -memorizing:MMRS:MMRS -memoryless:MMRL:MMRL -menacingly:MNSN:MNSN -menageries:MNKR:MNJR -menarcheal:MNRX:MNRK -menarchial:MNRK:MNRK -mendacious:MNTS:MNTX -mendelists:MNTL:MNTL -mendelized:MNTL:MNTL -mendelizes:MNTL:MNTL -mendicancy:MNTK:MNTK -mendicants:MNTK:MNTK -meningioma:MNNJ:MNNK -meningismi:MNNJ:MNNK -meningisms:MNNJ:MNNK -meningitic:MNNJ:MNNK -meningitis:MNNJ:MNNK -meniscitis:MNST:MNST -meniscuses:MNSK:MNSK -mennonites:MNNT:MNNT -menopausal:MNPS:MNPS -menstruant:MNST:MNST -menstruate:MNST:MNST -menstruous:MNST:MNST -menstruums:MNST:MNST -mensurable:MNSR:MNSR -mentalists:MNTL:MNTL -mentioners:MNXN:MNXN -mentioning:MNXN:MNXN -meperidine:MPRT:MPRT -mephenesin:MFNS:MFNS -mephitical:MFTK:MFTK -mercantile:MRKN:MRKN -mercaptide:MRKP:MRKP -mercaptole:MRKP:MRKP -mercatoria:MRKT:MRKT -mercatorum:MRKT:MRKT -mercerized:MRSR:MRSR -mercerizes:MRSR:MRSR -merchantry:MRXN:MRKN -merciament:MRSM:MRXM -mercifully:MRSF:MRSF -meretrices:MRTR:MRTR -mergansers:MRKN:MRKN -meridional:MRTN:MRTN -merogonies:MRKN:MRKN -merogonous:MRKN:MRKN -meromyosin:MRMS:MRMS -merotomies:MRTM:MRTM -merrymaker:MRMK:MRMK -mesenchyma:MSNX:MSNK -mesenchyme:MSNX:MSNK -mesenteric:MSNT:MSNT -mesenteron:MSNT:MSNT -mesmerists:MSMR:MSMR -mesmerized:MSMR:MSMR -mesmerizer:MSMR:MSMR -mesmerizes:MSMR:MSMR -mesocardia:MSKR:MSKR -mesocenter:MSSN:MSSN -mesocnemic:MSKN:MSKN -mesodermal:MSTR:MSTR -mesodermic:MSTR:MSTR -mesogaster:MSKS:MSKS -mesognathy:MSN0:MSKN -mesomerism:MSMR:MSMR -mesometria:MSMT:MSMT -mesometric:MSMT:MSMT -mesomorphy:MSMR:MSMR -mesonephra:MSNF:MSNF -mesophilic:MSFL:MSFL -mesophryon:MSFR:MSFR -mesorchium:MSRX:MSRK -mesorectum:MSRK:MSRK -mesorhinal:MSRN:MSRN -mesorrhine:MSRN:MSRN -mesosphere:MSSF:MSSF -mesosterna:MSST:MSST -mesothelia:MS0L:MSTL -mesovarium:MSFR:MSFR -messengers:MSNK:MSNJ -metabioses:MTPS:MTPS -metabiosis:MTPS:MTPS -metabiotic:MTPT:MTPT -metabolism:MTPL:MTPL -metabolite:MTPL:MTPL -metabolize:MTPL:MTPL -metacarpal:MTKR:MTKR -metacarpus:MTKR:MTKR -metaconule:MTKN:MTKN -metacresol:MTKR:MTKR -metagalaxy:MTKL:MTKL -metallurgy:MTLR:MTLR -metamerism:MTMR:MTMR -metanephra:MTNF:MTNF -metaphoric:MTFR:MTFR -metaphyses:MTFS:MTFS -metaphysis:MTFS:MTFS -metaplasia:MTPL:MTPL -metastases:MTST:MTST -metastasis:MTST:MTST -metastatic:MTST:MTST -metatarsal:MTTR:MTTR -metatarsus:MTTR:MTTR -metatheses:MT0S:MTTS -metathesis:MT0S:MTTS -metatrophy:MTTR:MTTR -meteorites:MTRT:MTRT -meteoritic:MTRT:MTRT -meteoroids:MTRT:MTRT -metestrous:MTST:MTST -methionine:M0NN:MTNN -methodical:M0TK:MTTK -methodists:M0TS:MTTS -methodized:M0TS:MTTS -methodizes:M0TS:MTTS -methomania:MTMN:MTMN -methuselah:M0SL:MTSL -methylamin:M0LM:MTLM -methylated:M0LT:MTLT -methyldopa:M0LT:MTLT -meticulous:MTKL:MTKL -metoestrum:MTST:MTST -metoestrus:MTST:MTST -metratonia:MTRT:MTRT -metrically:MTRK:MTRK -metricated:MTRK:MTRK -metricates:MTRK:MTRK -metricized:MTRS:MTRS -metricizes:MTRS:MTRS -metroclyst:MTRK:MTRK -metroliner:MTRL:MTRL -metronomes:MTRN:MTRN -metronomic:MTRN:MTRN -metropathy:MTRP:MTRP -metropolis:MTRP:MTRP -metrorrhea:MTRR:MTRR -metroscope:MTRS:MTRS -mettlesome:MTLS:MTLS -metyrapone:MTRP:MTRP -mezzanines:MSNN:MTSN -microblast:MKRP:MKRP -microchips:MKRX:MKRK -micrococci:MKRK:MKRK -microcoded:MKRK:MKRK -microcodes:MKRK:MKRK -microcolon:MKRK:MKRK -microcosms:MKRK:MKRK -microcurie:MKRK:MKRK -microcytic:MKRS:MKRS -microfarad:MKRF:MKRF -microfiche:MKRF:MKRF -microfilms:MKRF:MKRF -microforms:MKRF:MKRF -microgenia:MKRJ:MKRK -microglial:MKRK:MKRL -micrograms:MKRK:MKRK -micrograph:MKRK:MKRK -microgyria:MKRJ:MKRK -microliter:MKRL:MKRL -micrologic:MKRL:MKRL -micromania:MKRM:MKRM -micromelia:MKRM:MKRM -micromelic:MKRM:MKRM -micromelus:MKRM:MKRM -micrometer:MKRM:MKRM -micronesia:MKRN:MKRN -micropenes:MKRP:MKRP -microphage:MKRF:MKRF -microphone:MKRF:MKRF -micropipet:MKRP:MKRP -micropodia:MKRP:MKRP -microprobe:MKRP:MKRP -micropsias:MKRP:MKRP -micropsies:MKRP:MKRP -micropylar:MKRP:MKRP -microscope:MKRS:MKRS -microscopy:MKRS:MKRS -microsomal:MKRS:MKRS -microsomia:MKRS:MKRS -microspace:MKRS:MKRS -microstate:MKRS:MKRS -microstomi:MKRS:MKRS -microstore:MKRS:MKRS -microtomic:MKRT:MKRT -microvilli:MKRF:MKRF -microwaves:MKRF:MKRF -microwords:MKRR:MKRR -micrurgies:MKRR:MKRR -micrurgist:MKRR:MKRR -micturated:MKTR:MKTR -midchannel:MTXN:MTKN -middlebrow:MTLP:MTLP -middlemost:MTLM:MTLM -middlingly:MTLN:MTLN -midfrontal:MTFR:MTFR -midmorning:MTMR:MTMR -midsection:MTSK:MTSK -midshipman:MTXP:MTXP -midshipmen:MTXP:MTXP -midsummers:MTSM:MTSM -midwestern:MTST:MTST -midwinters:MTNT:MTNT -mightiness:MTNS:MTNS -mignonette:MNNT:MKNN -migrainoid:MKRN:MKRN -migrainous:MKRN:MKRN -migrations:MKRX:MKRX -milestones:MLST:MLST -militantly:MLTN:MLTN -militaries:MLTR:MLTR -militarily:MLTR:MLTR -militarism:MLTR:MLTR -militarist:MLTR:MLTR -militarize:MLTR:MLTR -militating:MLTT:MLTT -militiaman:MLXM:MLXM -militiamen:MLXM:MLXM -millennial:MLNL:MLNL -millennium:MLNM:MLNM -millicurie:MLKR:MLKR -milligrams:MLKR:MLKR -milliliter:MLLT:MLLT -millimeter:MLMT:MLMT -millimolar:MLML:MLML -millionths:MLN0:MLNT -millipedes:MLPT:MLPT -millivolts:MLFL:MLFL -millstones:MLST:MLST -millstream:MLST:MLST -millwright:MLRT:MLRT -mimeograph:MMKR:MMKR -mindedness:MNTT:MNTT -mindlessly:MNTL:MNTL -minelayers:MNLR:MNLR -mineralize:MNRL:MNRL -mineralogy:MNRL:MNRL -minestrone:MNST:MNST -miniatures:MNTR:MNTR -minimalist:MNML:MNML -minimality:MNML:MNML -minimizers:MNMS:MNMS -minimizing:MNMS:MNMS -miniseries:MNSR:MNSR -miniskirts:MNSK:MNSK -ministates:MNST:MNST -ministered:MNST:MNST -ministrant:MNST:MNST -ministries:MNST:MNST -minnesotan:MNST:MNST -minorities:MNRT:MNRT -minstrelsy:MNST:MNST -mintmaster:MNTM:MNTM -minuscules:MNSK:MNSK -minuteness:MNTN:MNTN -miodidymus:MTTM:MTTM -miracidium:MRST:MRST -miraculous:MRKL:MRKL -mirthfully:MR0F:MRTF -misaddress:MSTR:MSTR -misadjusts:MSTJ:MSTJ -misadvised:MSTF:MSTF -misadvises:MSTF:MSTF -misaligned:MSLN:MSLK -misalleged:MSLJ:MSLK -misandries:MSNT:MSNT -misapplied:MSPL:MSPL -misapplier:MSPL:MSPL -misapplies:MSPL:MSPL -misarrange:MSRN:MSRN -misbehaved:MSPH:MSPH -misbehaver:MSPH:MSPH -misbehaves:MSPH:MSPH -misbranded:MSPR:MSPR -miscalling:MSKL:MSKL -miscarried:MSKR:MSKR -miscarries:MSKR:MSKR -miscasting:MSKS:MSKS -miscellany:MSLN:MSLN -mischances:MXNS:MXNS -mischarged:MXRJ:MXRK -mischarges:MXRJ:MXRK -misconduct:MSKN:MSKN -miscopying:MSKP:MSKP -miscounted:MSKN:MSKN -miscreancy:MSKN:MSKN -miscreants:MSKN:MSKN -misdealing:MSTL:MSTL -misdefined:MSTF:MSTF -misdefines:MSTF:MSTF -misdirects:MSTR:MSTR -miseducate:MSTK:MSTK -misemploys:MSMP:MSMP -miserabile:MSRP:MSRP -misfeasors:MSFS:MSFS -misfortune:MSFR:MSFR -misgivings:MSJF:MSKF -misgoverns:MSKF:MSKF -misguiders:MSKT:MSKT -misguiding:MSKT:MSKT -mishandled:MXNT:MXNT -mishandles:MXNT:MXNT -mishearing:MXRN:MXRN -mishmashes:MXMX:MXMX -misinforms:MSNF:MSNF -misjoinder:MSNT:MSNT -misjudging:MSJN:MSJN -mislabeled:MLPL:MLPL -misleading:MLTN:MLTN -mismanaged:MSMN:MSMN -mismanager:MSMN:MSMN -mismanages:MSMN:MSMN -mismatched:MSMX:MSMX -mismatches:MSMX:MSMX -misnumbers:MSNM:MSNM -misocainea:MSKN:MSKN -misogamies:MSKM:MSKM -misogamist:MSKM:MSKM -misogynies:MSJN:MSKN -misogynist:MSJN:MSKN -misogynous:MSJN:MSKN -misopedist:MSPT:MSPT -misperform:MSPR:MSPR -misplacing:MSPL:MSPL -misplaying:MSPL:MSPL -misprinted:MSPR:MSPR -misprision:MSPR:MSPR -misquoting:MSKT:MSKT -misreading:MSRT:MSRT -misrecital:MSRS:MSRS -misreports:MSRP:MSRP -misshaping:MSPN:MSPN -missionary:MSNR:MSNR -missorting:MSRT:MSRT -missourian:MSRN:MSRN -misspelled:MSPL:MSPL -misstating:MSTT:MSTT -mistakable:MSTK:MSTK -mistakenly:MSTK:MSTK -misterming:MSTR:MSTR -mistitling:MSTT:MSTT -mistletoes:MSTL:MSTL -mistreated:MSTR:MSTR -mistresses:MSTR:MSTR -mistrusted:MSTR:MSTR -mistypings:MSTP:MSTP -mithridate:M0RT:MTRT -mitigating:MTKT:MTKT -mitigation:MTKX:MTKX -mitigative:MTKT:MTKT -mitigators:MTKT:MTKT -mitigatory:MTKT:MTKT -mittimuses:MTMS:MTMS -mizzenmast:MSNM:MSNM -mnemonical:MNMN:MNMN -mobilities:MPLT:MPLT -mobilizers:MPLS:MPLS -mobilizing:MPLS:MPLS -modalities:MTLT:MTLT -moderately:MTRT:MTRT -moderating:MTRT:MTRT -moderation:MTRX:MTRX -moderators:MTRT:MTRT -modernists:MTRN:MTRN -modernized:MTRN:MTRN -modernizer:MTRN:MTRN -modernizes:MTRN:MTRN -modernness:MTRN:MTRN -modifiable:MTFP:MTFP -modishness:MTXN:MTXN -modularity:MTLR:MTLR -modularize:MTLR:MTLR -modulating:MTLT:MTLT -modulation:MTLX:MTLX -modulative:MTLT:MTLT -modulators:MTLT:MTLT -modulatory:MTLT:MTLT -moisteners:MSTN:MSTN -moistening:MSTN:MSTN -moisturize:MSTR:MSTR -molalities:MLLT:MLLT -molariform:MLRF:MLRF -molarities:MLRT:MLRT -moldboards:MLTP:MLTP -mollifiers:MLFR:MLFR -mollifying:MLFN:MLFN -molluscans:MLSK:MLSK -molluscoid:MLSK:MLSK -molluscous:MLSK:MLSK -molybdenum:MLPT:MLPT -monarchial:MNRK:MNRK -monarchies:MNRX:MNRK -monarchism:MNRX:MNRK -monarchist:MNRX:MNRK -monarthric:MNR0:MNRT -monastical:MNST:MNST -monaurally:MNRL:MNRL -monetarily:MNTR:MNTR -monetarism:MNTR:MNTR -monetarist:MNTR:MNTR -monetizing:MNTS:MNTS -moneymaker:MNMK:MNMK -mongolians:MNKL:MNKL -mongoloids:MNKL:MNKL -moniliases:MNLS:MNLS -moniliasis:MNLS:MNLS -moniliform:MNLF:MNLF -monistical:MNST:MNST -monitories:MNTR:MNTR -monitoring:MNTR:MNTR -monkshoods:MNKX:MNKX -monochorea:MNXR:MNKR -monochrome:MNKR:MNKR -monoclinic:MNKL:MNKL -monocrotic:MNKR:MNKR -monocystic:MNSS:MNSS -monocytoid:MNST:MNST -monogamies:MNKM:MNKM -monogamist:MNKM:MNKM -monogamous:MNKM:MNKM -monogenous:MNJN:MNKN -monographs:MNKR:MNKR -monogynies:MNJN:MNKN -monogynous:MNJN:MNKN -monohybrid:MNHP:MNHP -monohydric:MNHT:MNHT -monoideism:MNTS:MNTS -monolithic:MNL0:MNLT -monologist:MNLJ:MNLK -monologues:MNLK:MNLK -monomaniac:MNMN:MNMN -monomanias:MNMN:MNMN -monomphali:MNMF:MNMF -mononeural:MNNR:MNNR -monophasia:MNFS:MNFX -monophasic:MNFS:MNFS -monophobia:MNFP:MNFP -monophonic:MNFN:MNFN -monoplanes:MNPL:MNPL -monoplegia:MNPL:MNPL -monoplegic:MNPL:MNPL -monopolies:MNPL:MNPL -monopolism:MNPL:MNPL -monopolist:MNPL:MNPL -monopolize:MNPL:MNPL -monorchism:MNRX:MNRK -monosexual:MNSK:MNSK -monosodium:MNST:MNST -monostotic:MNST:MNST -monotheism:MN0S:MNTS -monotheist:MN0S:MNTS -monotocous:MNTK:MNTK -monotonous:MNTN:MNTN -monovalent:MNFL:MNFL -monsignori:MNSN:MNSK -monsignors:MNSN:MNSK -monstrance:MNST:MNST -montessori:MNTS:MNTS -montevideo:MNTF:MNTF -montgomery:MNTK:MNTK -monticulus:MNTK:MNTK -montpelier:MNTP:MNTP -monumental:MNMN:MNMN -moonlights:MNLT:MNLT -moonscapes:MNSK:MNSK -moonshined:MNXN:MNXN -moonshiner:MNXN:MNXN -moonstones:MNST:MNST -moonstruck:MNST:MNST -moralistic:MRLS:MRLS -moralities:MRLT:MRLT -moralizers:MRLS:MRLS -moralizing:MRLS:MRLS -moratorium:MRTR:MRTR -morbidness:MRPT:MRPT -morganatic:MRKN:MRKN -moribundly:MRPN:MRPN -moronities:MRNT:MRNT -moroseness:MRSN:MRSN -morphinism:MRFN:MRFN -morphinize:MRFN:MRFN -morphology:MRFL:MRFL -mortarless:MRTR:MRTR -mortgagees:MRTK:MRTK -mortgaging:MRTK:MRTK -mortgagors:MRTK:MRTK -morticians:MRTS:MRTX -mortifying:MRTF:MRTF -mortuaries:MRTR:MRTR -morulation:MRLX:MRLX -mosquitoes:MSKT:MSKT -motherhood:M0RT:MTRT -motherland:M0RL:MTRL -motherless:M0RL:MTRL -motherlike:M0RL:MTRL -motilities:MTLT:MTLT -motionless:MXNL:MXNL -motivating:MTFT:MTFT -motivation:MTFX:MTFX -motiveless:MTFL:MTFL -motoneuron:MTNR:MTNR -motorbikes:MTRP:MTRP -motorboats:MTRP:MTRP -motorcades:MTRK:MTRK -motorcycle:MTRS:MTRS -motordrome:MTRT:MTRT -motorizing:MTRS:MTRS -motorships:MTRX:MTRX -motortruck:MTRT:MTRT -mountebank:MNTP:MNTP -mournfully:MRNF:MRNF -mousetraps:MSTR:MSTR -moustaches:MSTX:MSTK -mouthparts:M0PR:MTPR -mouthpiece:M0PS:MTPS -movability:MFPL:MFPL -mozambique:MSMP:MSMP -mozzarella:MSRL:MTSR -muciferous:MSFR:MSFR -muciparous:MSPR:MSPR -muckrakers:MKRK:MKRK -muckraking:MKRK:MKRK -mucocolpos:MKKL:MKKL -mucoraceae:MKRS:MKRS -mucoserous:MKSR:MKSR -mucosities:MKST:MKST -mucostatic:MKST:MKST -mucronated:MKRN:MKRN -mudslinger:MTSL:MTSL -muellerian:MLRN:MLRN -muellerius:MLRS:MLRS -mulberries:MLPR:MLPR -muliebrity:MLPR:MLPR -mulieratus:MLRT:MLRT -mulishness:MLXN:MLXN -multangula:MLTN:MLTN -multifaced:MLTF:MLTF -multifidly:MLTF:MLTF -multifidus:MLTF:MLTF -multilevel:MLTL:MLTL -multimedia:MLTM:MLTM -multiparae:MLTP:MLTP -multiparas:MLTP:MLTP -multiparty:MLTP:MLTP -multiplied:MLTP:MLTP -multiplier:MLTP:MLTP -multiplies:MLTP:MLTP -multipolar:MLTP:MLTP -multistage:MLTS:MLTS -multistory:MLTS:MLTS -multitudes:MLTT:MLTT -mummifying:MMFN:MMFN -munchausen:MNXS:MNKS -munificent:MNFS:MNFS -munitioned:MNXN:MNXN -muscarinic:MSKR:MSKR -muscovites:MSKF:MSKF -muscularis:MSKL:MSKL -muscularly:MSKL:MSKL -mushroomed:MXRM:MXRM -musicianly:MSSN:MSXN -musicology:MSKL:MSKL -musketeers:MSKT:MSKT -muskmelons:MSKM:MSKM -mutability:MTPL:MTPL -mutarotase:MTRT:MTRT -mutational:MTXN:MTXN -mutilating:MTLT:MTLT -mutilation:MTLX:MTLX -mutilative:MTLT:MTLT -mutilators:MTLT:MTLT -mutinously:MTNS:MTNS -myasthenia:MS0N:MSTN -myasthenic:MS0N:MSTN -mycetismus:MSTS:MSTS -mycetomata:MSTM:MSTM -mycetozoan:MSTS:MSTS -mycologies:MKLJ:MKLK -mycologist:MKLJ:MKLK -mycoplasma:MKPL:MKPL -mycostatic:MKST:MKST -mycosterol:MKST:MKST -myectomies:MKTM:MKTM -myelinated:MLNT:MLNT -myelinoses:MLNS:MLNS -myelinosis:MLNS:MLNS -myelitides:MLTT:MLTT -myeloblast:MLPL:MLPL -myelocoele:MLKL:MLKL -myelocytic:MLST:MLST -myelogenic:MLJN:MLKN -myelopathy:MLP0:MLPT -myelopetal:MLPT:MLPT -myeloplast:MLPL:MLPL -myelotoxic:MLTK:MLTK -myesthesia:MS0S:MSTX -myoblastic:MPLS:MPLS -myocardial:MKRT:MKRT -myocardium:MKRT:MKRT -myocommata:MKMT:MKMT -myodystony:MTST:MTST -myoedemata:MTMT:MTMT -myoelastic:MLST:MLST -myofibroma:MFPR:MFPR -myographic:MKRF:MKRF -myolemmata:MLMT:MLMT -myolipomas:MLPM:MLPM -myological:MLJK:MLKK -myomalacia:MMLS:MMLX -myomectomy:MMKT:MMKT -myometrial:MMTR:MMTR -myometrium:MMTR:MMTR -myopareses:MPRS:MPRS -myoparesis:MPRS:MPRS -myopathies:MP0S:MPTS -myopically:MPKL:MPKL -myorrhaphy:MRF:MRF -myosarcoma:MSRK:MSRK -myringitis:MRNJ:MRNK -mysophilia:MSFL:MSFL -mysophobia:MSFP:MSFP -mysophobic:MSFP:MSFP -mysterious:MSTR:MSTR -mystically:MSTK:MSTK -mysticisms:MSTS:MSTS -mystifiers:MSTF:MSTF -mystifying:MSTF:MSTF -mythologic:M0LJ:MTLK -mythomania:MTMN:MTMN -myxadenoma:MKST:MKST -myxedemata:MKST:MKST -myxolipoma:MKSL:MKSL -myxomatous:MKSM:MKSM -myxomycete:MKSM:MKSM -nalorphine:NLRF:NLRF -namelessly:NMLS:NMLS -nameplates:NMPL:NMPL -nanogramme:NNKR:NNKR -nanometers:NNMT:NNMT -nanosecond:NNSK:NNSK -naphthalic:NF0L:NFTL -napoleonic:NPLN:NPLN -naprapathy:NPRP:NPRP -narcissine:NRSS:NRSS -narcissism:NRSS:NRSS -narcissist:NRSS:NRSS -narcolepsy:NRKL:NRKL -narcomania:NRKM:NRKM -narcotists:NRKT:NRKT -narcotized:NRKT:NRKT -narcotizes:NRKT:NRKT -narratable:NRTP:NRTP -narrations:NRXN:NRXN -narratives:NRTF:NRTF -narrowcast:NRKS:NRKS -narrowness:NRNS:NRNS -nasalizing:NSLS:NSLS -nasolabial:NSLP:NSLP -nasturtium:NSTR:NSTR -natalities:NTLT:NTLT -natational:NTXN:NTXN -natatorial:NTTR:NTTR -nationally:NXNL:NXNL -nationhood:NXNT:NXNT -nationless:NXNL:NXNL -nationwide:NXNT:NXNT -nativeness:NTFN:NTFN -nativistic:NTFS:NTFS -nativities:NTFT:NTFT -natruresis:NTRR:NTRR -natterjack:NTRJ:NTRJ -naturalism:NTRL:NTRL -naturalist:NTRL:NTRL -naturalize:NTRL:NTRL -naturopath:NTRP:NTRP -naughtiest:NKTS:NKTS -naumachiae:NMK:NMK -naumachias:NMKS:NMKS -nauseating:NSTN:NSTN -nauseation:NSXN:NSXN -nauseously:NSSL:NSSL -nautically:NTKL:NTKL -nautiluses:NTLS:NTLS -naviculare:NFKL:NFKL -naviculars:NFKL:NFKL -navigating:NFKT:NFKT -navigation:NFKX:NFKX -navigators:NFKT:NFKT -neapolitan:NPLT:NPLT -nebraskans:NPRS:NPRS -nebulizers:NPLS:NPLS -nebulizing:NPLS:NPLS -nebulosity:NPLS:NPLS -nebulously:NPLS:NPLS -necessaria:NSSR:NSSR -neckcloths:NKKL:NKKL -neckpieces:NKPS:NKPS -necleoside:NKLS:NKLS -necrogenic:NKRJ:NKRK -necrolatry:NKRL:NKRL -necrologic:NKRL:NKRL -necromancy:NKRM:NKRM -necromania:NKRM:NKRM -necrophagy:NKRF:NKRF -necrophile:NKRF:NKRF -necrophobe:NKRF:NKRF -necrophore:NKRF:NKRF -necropolis:NKRP:NKRP -necropsied:NKRP:NKRP -necropsies:NKRP:NKRP -necrotical:NKRT:NKRT -necrotized:NKRT:NKRT -necrotizes:NKRT:NKRT -nectareous:NKTR:NKTR -nectarines:NKTR:NKTR -needlecord:NTLK:NTLK -needlefuls:NTLF:NTLF -needlelike:NTLL:NTLL -needlessly:NTLS:NTLS -needlework:NTLR:NTLR -negatively:NKTF:NKTF -negativing:NKTF:NKTF -negativism:NKTF:NKTF -negativist:NKTF:NKTF -negativity:NKTF:NKTF -neglecters:NKLK:NKLK -neglectful:NKLK:NKLK -neglecting:NKLK:NKLK -neglectors:NKLK:NKLK -negligence:NKLJ:NLKN -negligible:NKLJ:NLKP -negligibly:NKLJ:NLKP -negotiable:NKXP:NKXP -negotiably:NKXP:NKXP -negotiants:NKXN:NKXN -negotiated:NKXT:NKXT -negotiates:NKXT:NKXT -negotiator:NKXT:NKXT -negotiorum:NKTR:NKTR -negrophile:NKRF:NKRF -negrophobe:NKRF:NKRF -neighbored:NPRT:NPRT -neighborly:NPRL:NPRL -nematicide:NMTS:NMTS -nematocide:NMTS:NMTS -nematocyst:NMTS:NMTS -nematology:NMTL:NMTL -neoblastic:NPLS:NPLS -neoclassic:NKLS:NKLS -neogeneses:NJNS:NKNS -neogenesis:NJNS:NKNS -neogenetic:NJNT:NKNT -neological:NLJK:NLKK -neologises:NLJS:NLKS -neologisms:NLJS:NLKS -neologists:NLJS:NLKS -neologized:NLJS:NLKS -neologizes:NLJS:NLKS -neomorphic:NMRF:NMRF -neonatally:NNTL:NNTL -neonatorum:NNTR:NNTR -neontology:NNTL:NNTL -neopallium:NPLM:NPLM -neophiliac:NFLK:NFLK -neoplastic:NPLS:NPLS -neostriata:NSTR:NSTR -neoteinias:NTNS:NTNS -neothalami:N0LM:NTLM -nepenthean:NPN0:NPNT -nephalists:NFLS:NFLS -nephograms:NFKR:NFKR -nephograph:NFKR:NFKR -nephoscope:NFSK:NFSK -nephralgia:NFRL:NFRL -nephralgic:NFRL:NFRL -nephridial:NFRT:NFRT -nephridium:NFRT:NFRT -nephrocele:NFRS:NFRS -nephrocyte:NFRS:NFRS -nephrolith:NFRL:NFRL -nephrology:NFRL:NFRL -nephromata:NFRM:NFRM -nephromere:NFRM:NFRM -nephropexy:NFRP:NFRP -nephrostom:NFRS:NFRS -nephrotome:NFRT:NFRT -nephrotomy:NFRT:NFRT -nepotistic:NPTS:NPTS -nesslerize:NSLR:NSLR -netballers:NTPL:NTPL -netherland:N0RL:NTRL -nethermost:N0RM:NTRM -nettlesome:NTLS:NTLS -networkers:NTRK:NTRK -networking:NTRK:NTRK -neuralgias:NRLJ:NRLK -neuraminic:NRMN:NRMN -neurectomy:NRKT:NRKT -neurilemma:NRLM:NRLM -neurinomas:NRNM:NRNM -neuritical:NRTK:NRTK -neuritides:NRTT:NRTT -neuritises:NRTS:NRTS -neuroblast:NRPL:NRPL -neurocanal:NRKN:NRKN -neurochord:NRXR:NRKR -neurocoele:NRKL:NRKL -neurocrine:NRKR:NRKR -neurogenic:NRJN:NRKN -neuroglial:NRKL:NRLL -neurogliar:NRKL:NRLR -neurohumor:NRHM:NRHM -neurokinin:NRKN:NRKN -neurolemma:NRLM:NRLM -neurologic:NRLJ:NRLK -neurolyses:NRLS:NRLS -neurolysis:NRLS:NRLS -neurolytic:NRLT:NRLT -neuromeres:NRMR:NRMR -neuromotor:NRMT:NRMT -neuronitis:NRNT:NRNT -neuropaths:NRP0:NRPT -neuropathy:NRP0:NRPT -neurophile:NRFL:NRFL -neuropilar:NRPL:NRPL -neuroplasm:NRPL:NRPL -neuropodia:NRPT:NRPT -neuroptera:NRPT:NRPT -neurospora:NRSP:NRSP -neurotoxic:NRTK:NRTK -neurotoxin:NRTK:NRTK -neutralism:NTRL:NTRL -neutralist:NTRL:NTRL -neutrality:NTRL:NTRL -neutralize:NTRL:NTRL -neutrettos:NTRT:NTRT -neutrocyte:NTRS:NTRS -neutrophil:NTRF:NTRF -newfangled:NFNK:NFNK -newishness:NXNS:NXNS -newsagents:NSJN:NSKN -newscaster:NSKS:NSKS -newsdealer:NSTL:NSTL -newshounds:NXNT:NXNT -newsletter:NSLT:NSLT -newspapers:NSPP:NSPP -newsreader:NSRT:NSRT -newsstands:NSTN:NSTN -newsworthy:NSR0:NSRT -nicaraguan:NKRK:NKRK -nicknaming:NKNM:NKNM -nicotinate:NKTN:NKTN -nicotinism:NKTN:NKTN -nicotinize:NKTN:NKTN -nictitated:NKTT:NKTT -nictitates:NKTT:NKTT -nidicolous:NTKL:NTKL -nidificate:NTFK:NTFK -nidifugous:NTFK:NTFK -nigglingly:NKLN:NKLN -nightclubs:NTKL:NTKL -nightdress:NTRS:NTRS -nightfalls:NTFL:NTFL -nightgowns:NTKN:NTKN -nighthawks:N0KS:NTKS -nightmares:NTMR:NTMR -nightrider:NTRT:NTRT -nightshade:NTXT:NTXT -nightshirt:NTXR:NTXR -nightspots:NTSP:NTSP -nightstand:NTST:NTST -nightstick:NTST:NTST -nighttimes:NTMS:NTMS -nigrescent:NKRS:NKRS -nihilistic:NHLS:NHLS -nimbleness:NMPL:NMPL -nincompoop:NNKM:NNKM -nineteenth:NNTN:NNTN -ninetyfold:NNTF:NNTF -nitpickers:NTPK:NTPK -nitpicking:NTPK:NTPK -nitrations:NTRX:NTRX -nitrifying:NTRF:NTRF -nitrofuran:NTRF:NTRF -nobilities:NPLT:NPLT -noblewoman:NPLM:NPLM -noblewomen:NPLM:NPLM -nociceptor:NSSP:NSSP -nocifensor:NSFN:NSFN -noctambule:NKTM:NKTM -nocumentum:NKMN:NKMN -nodosities:NTST:NTST -nodulating:NTLT:NTLT -nodulation:NTLX:NTLX -noisemaker:NSMK:NSMK -nomadising:NMTS:NMTS -nomarchies:NMRX:NMRK -nominalism:NMNL:NMNL -nominalist:NMNL:NMNL -nominately:NMNT:NMNT -nominating:NMNT:NMNT -nomination:NMNX:NMNX -nominative:NMNT:NMNT -nominators:NMNT:NMNT -nomographs:NMKR:NMKR -nomography:NMKR:NMKR -nomologist:NMLJ:NMLK -nomothetic:NM0T:NMTT -nonability:NNPL:NNPL -nonabstain:NNPS:NNPS -nonactives:NNKT:NNKT -nonaligned:NNLN:NNLK -nonallelic:NNLL:NNLL -nonaquatic:NNKT:NNKT -nonaqueous:NNKS:NNKS -noncaloric:NNKL:NNKL -noncentral:NNSN:NNSN -nonchalant:NNXL:NNKL -noncitizen:NNST:NNST -nonconduct:NNKN:NNKN -nonconform:NNKN:NNKN -noncongeal:NNKN:NNKN -nonconsent:NNKN:NNKN -nondrinker:NNTR:NNTR -nondrivers:NNTR:NNTR -nondurable:NNTR:NNTR -nonearners:NNRN:NNRN -nonearning:NNRN:NNRN -nonelastic:NNLS:NNLS -nonenzymic:NNNS:NNNS -nonethical:NN0K:NNTK -nonfactual:NNFK:NNFK -nonfascist:NNFS:NNFS -nonfederal:NNFT:NNFT -nonferrous:NNFR:NNFR -nonfiction:NNFK:NNFK -nonfusible:NNFS:NNFS -nongaseous:NNKS:NNKS -nonhistone:NNST:NNST -nonillions:NNLN:NNLN -noninflect:NNNF:NNNF -nonjoinder:NNJN:NNJN -nonliberal:NNLP:NNLP -nonlogical:NNLJ:NNLK -nonmarried:NNMR:NNMR -nonmedical:NNMT:NNMT -nonmelodic:NNML:NNML -nonmembers:NNMM:NNMM -nonmetered:NNMT:NNMT -nonnatives:NNTF:NNTF -nonnatural:NNTR:NNTR -nonnumeric:NNMR:NNMR -nonodorous:NNTR:NNTR -nonorganic:NNRK:NNRK -nonpareils:NNPR:NNPR -nonpayment:NNPM:NNPM -nonpigment:NNPK:NNPK -nonplaying:NNPL:NNPL -nonplusing:NNPL:NNPL -nonplussed:NNPL:NNPL -nonplusses:NNPL:NNPL -nonprossed:NNPR:NNPR -nonprosses:NNPR:NNPR -nonprotein:NNPR:NNPR -nonradical:NNRT:NNRT -nonreaders:NNRT:NNRT -nonreceipt:NNRS:NNRS -nonrevenue:NNRF:NNRF -nonroutine:NNRT:NNRT -nonsalable:NNSL:NNSL -nonsecular:NNSK:NNSK -nonsexists:NNSK:NNSK -nonskilled:NNSK:NNSK -nonsmokers:NNSM:NNSM -nonsmoking:NNSM:NNSM -nonstarter:NNST:NNST -nonsteroid:NNST:NNST -nonstriker:NNST:NNST -nonsuccess:NNSK:NNSK -nonsuiting:NNST:NNST -nonsupport:NNSP:NNSP -nonsustain:NNSS:NNSS -nonswimmer:NNSM:NNSM -nontaxable:NNTK:NNTK -nontenants:NNTN:NNTN -nontrading:NNTR:NNTR -nontrivial:NNTR:NNTR -nontypical:NNTP:NNTP -nonunified:NNNF:NNNF -nonuniform:NNNF:NNNF -nonvectors:NNFK:NNFK -nonvintage:NNFN:NNFN -nonviolent:NNFL:NNFL -nonvisible:NNFS:NNFS -nonworkers:NNRK:NNRK -nonworking:NNRK:NNRK -noological:NLJK:NLKK -norleucine:NRLS:NRLS -normalcies:NRML:NRML -normalized:NRML:NRML -normalizer:NRML:NRML -normalizes:NRML:NRML -normergies:NRMR:NRMR -normoblast:NRMP:NRMP -normocytic:NRMS:NRMS -northbound:NR0P:NRTP -northeners:NR0N:NRTN -northerner:NR0R:NRTR -northernly:NR0R:NRTR -northwards:NR0R:NRTR -norwegians:NRJN:NRKN -nor'wester:NRST:NRST -nosebanded:NSPN:NSPN -nosebleeds:NSPL:NSPL -nosepieces:NSPS:NSPS -nosocomial:NSKM:NSKM -nosography:NSKR:NSKR -nosologies:NSLJ:NSLK -nosologist:NSLJ:NSLK -nostologic:NSTL:NSTL -notability:NTPL:NTPL -notarially:NTRL:NTRL -notarizing:NTRS:NTRS -notaryship:NTRX:NTRX -notational:NTXN:NTXN -noteworthy:NTR0:NTRT -noticeable:NTSP:NTSP -noticeably:NTSP:NTSP -notifiable:NTFP:NTFP -notionally:NXNL:NXNL -notochords:NTXR:NTKR -noumenally:NMNL:NMNL -nourishers:NRXR:NRXR -nourishing:NRXN:NRXN -novelettes:NFLT:NFLT -novelisers:NFLS:NFLS -novelistic:NFLS:NFLS -novelizing:NFLS:NFLS -novitiates:NFXT:NFXT -novobiocin:NFPS:NFPS -nubilities:NPLT:NPLT -nuciferous:NSFR:NSFR -nucivorous:NSFR:NSFR -nucleating:NKLT:NKLT -nucleation:NKLX:NKLX -nucleators:NKLT:NKLT -nucleolate:NKLL:NKLL -nucleonics:NKLN:NKLN -nucleoside:NKLS:NKLS -nucleosome:NKLS:NKLS -nucleotide:NKLT:NKLT -nullanulla:NLNL:NLNL -nullifiers:NLFR:NLFR -nullifying:NLFN:NLFN -nulliparae:NLPR:NLPR -nulliparas:NLPR:NLPR -nullisomic:NLSM:NLSM -numberable:NMRP:NMRP -numberings:NMRN:NMRN -numberless:NMRL:NMRL -numbskulls:NMPS:NMPS -numciature:NMST:NMXT -numerating:NMRT:NMRT -numeration:NMRX:NMRX -numerative:NMRT:NMRT -numerators:NMRT:NMRT -numerology:NMRL:NMRL -numerously:NMRS:NMRS -numismatic:NMSM:NMSM -nunciature:NNST:NNXT -nuncupando:NNKP:NNKP -nuncupated:NNKP:NNKP -nurselings:NRSL:NRSL -nursemaids:NRSM:NRSM -nurseryman:NRSR:NRSR -nurserymen:NRSR:NRSR -nurturable:NRTR:NRTR -nutational:NTXN:NTXN -nutcracker:NTKR:NTKR -nuthatches:N0XS:NTXS -nutriative:NTRT:NTRT -nutriments:NTRM:NTRM -nutritious:NTRT:NTRT -nyctalopia:NKTL:NKTL -nyctalopic:NKTL:NKTL -nyctinasty:NKTN:NKTN -nymphalids:NMFL:NMFL -nympholept:NMFL:NMFL -nystagmoid:NSTK:NSTK -oafishness:AFXN:AFXN -obbligatos:APLK:APLK -obduracies:APTR:APTR -obdurately:APTR:APTR -obdurating:APTR:APTR -obduration:APTR:APTR -obediences:APTN:APTN -obediently:APTN:APTN -obeisantly:APSN:APSN -obeliskoid:APLS:APLS -obfuscable:APFS:APFS -obfuscated:APFS:APFS -obfuscates:APFS:APFS -obfuscator:APFS:APFS -obituaries:APTR:APTR -objections:APJK:APJK -objectives:APJK:APJK -objuration:APJR:APJR -objurgated:APJR:APJR -objurgates:APJR:APJR -objurgator:APJR:APJR -oblational:APLX:APLX -oblationes:APLX:APLX -obligating:APLK:APLK -obligation:APLK:APLK -obligative:APLK:APLK -obligatory:APLK:APLK -obligement:APLJ:APLK -obligingly:APLJ:APLK -obliterans:APLT:APLT -obliterate:APLT:APLT -oblongatae:APLN:APLN -oblongatal:APLN:APLN -oblongatas:APLN:APLN -oblongness:APLN:APLN -obnubliate:APNP:APNP -obrogating:APRK:APRK -obrogation:APRK:APRK -obsequious:APSK:APSK -observable:APSR:APSR -observably:APSR:APSR -observance:APSR:APSR -obsessions:APSS:APSS -obsolesced:APSL:APSL -obsolesces:APSL:APSL -obsoletely:APSL:APSL -obsoleting:APSL:APSL -obstetrics:APST:APST -obstipated:APST:APST -obstructed:APST:APST -obstructer:APST:APST -obstructor:APST:APST -obtainable:APTN:APTN -obtainably:APTN:APTN -obtainment:APTN:APTN -obtrusions:APTR:APTR -obturating:APTR:APTR -obturation:APTR:APTR -obtuseness:APTS:APTS -obviations:APFX:APFX -obvolution:APFL:APFL -obvolutive:APFL:APFL -occasional:AKSN:AKXN -occasioned:AKSN:AKXN -occidental:AXTN:AXTN -occlusions:AKLS:AKLX -occultists:AKLT:AKLT -occultness:AKLT:AKLT -occupatile:AKPT:AKPT -occupation:AKPX:AKPX -occupative:AKPT:AKPT -occupiable:AKPP:AKPP -occurrence:AKRN:AKRN -oceanarium:ASNR:ASNR -oceangoing:ASNK:ASNK -oceanology:ASNL:ASNL -ocellation:ASLX:ASLX -ochlocracy:AKLK:AKLK -ochratoxin:AKRT:AKRT -ochronoses:AKRN:AKRN -ochronosis:AKRN:AKRN -ochronotic:AKRN:AKRN -octahedral:AKTH:AKTH -octahedron:AKTH:AKTH -octamerous:AKTM:AKTM -octanedoic:AKTN:AKTN -octangular:AKTN:AKTN -octarchies:AKTR:AKTR -octavalent:AKTF:AKTF -octodecimo:AKTT:AKTT -ocularists:AKLR:AKLR -oculogyral:AKLJ:AKLK -oculogyric:AKLJ:AKLK -oculomotor:AKLM:AKLM -odiousness:ATSN:ATSN -odontalgia:ATNT:ATNT -odontalgic:ATNT:ATNT -odontiases:ATNX:ATNX -odontiasis:ATNX:ATNX -odontocele:ATNT:ATNT -odontology:ATNT:ATNT -odontomata:ATNT:ATNT -odontotomy:ATNT:ATNT -odorimetry:ATRM:ATRM -odoriphore:ATRF:ATRF -oedematose:ATMT:ATMT -oedematous:ATMT:ATMT -oenologies:ANLJ:ANLK -oenologist:ANLJ:ANLK -oesophagus:ASFK:ASFK -oestradiol:ASTR:ASTR -offensives:AFNS:AFNS -officially:AFSL:AFXL -officiants:AFSN:AFXN -officiated:AFST:AFXT -officiates:AFST:AFXT -officiator:AFST:AFXT -offishness:AFXN:AFXN -offsetting:AFST:AFST -offsprings:AFSP:AFSP -oftentimes:AFTN:AFTN -oilclothes:ALKL:ALKL -oilheating:ALTN:ALTN -oireachtas:ARKT:ARKT -oklahomans:AKLH:AKLH -oldfangled:ALTF:ALTF -oldsmobile:ALTS:ALTS -oleaginous:ALJN:ALKN -oleography:ALKR:ALKR -oleothorax:AL0R:ALTR -oligarchic:ALKR:ALKR -oligoclase:ALKK:ALKK -oligodacty:ALKT:ALKT -oligogenic:ALKJ:ALKK -oligomeric:ALKM:ALKM -oligomycin:ALKM:ALKM -oligopsony:ALKP:ALKP -oliguretic:ALKR:ALKR -olivaceous:ALFS:ALFS -omaphagous:AMFK:AMFK -omentopexy:AMNT:AMNT -ommatidial:AMTT:AMTT -ommatidium:AMTT:AMTT -omnipotent:AMNP:AMNP -omniscient:AMNS:AMNS -omnivorous:AMNF:AMNF -omohyoidei:AMHT:AMHT -omphalitis:AMFL:AMFL -onchocerca:ANXS:ANKS -oncocytoma:ANKS:ANKS -oncogenies:ANKJ:ANKK -oncogenous:ANKJ:ANKK -oncography:ANKK:ANKK -oncologies:ANKL:ANKL -oncologist:ANKL:ANKL -oncosphere:ANKS:ANKS -oncotomies:ANKT:ANKT -oniomaniac:ANMN:ANMN -onionskins:ANNS:ANNS -onomastics:ANMS:ANMS -onslaughts:ANSL:ANSL -ontogenies:ANTJ:ANTK -ontologist:ANTL:ANTL -onychauxes:ANXK:ANKK -onychauxis:ANXK:ANKK -oophoritic:AFRT:AFRT -oophoritis:AFRT:AFRT -opacifying:APSF:APSF -opalescent:APLS:APLS -opaqueness:APKN:APKN -openhanded:APNN:APNN -operations:APRX:APRX -operatises:APRT:APRT -operatives:APRT:APRT -operatized:APRT:APRT -operatizes:APRT:APRT -operculate:APRK:APRK -operculums:APRK:APRK -operettist:APRT:APRT -ophelimity:AFLM:AFLM -ophicleide:AFKL:AFKL -ophiolater:AFLT:AFLT -ophiolatry:AFLT:AFLT -ophthalmia:AF0L:AFTL -ophthalmic:AF0L:AFTL -opinionate:APNN:APNN -opisthenar:APS0:APST -opisthions:APS0:APST -opisthotic:APS0:APST -oppilating:APLT:APLT -oppilation:APLX:APLX -opponentes:APNN:APNN -opposingly:APSN:APSN -oppositely:APST:APST -opposition:APSX:APSX -oppositive:APST:APST -oppressing:APRS:APRS -oppression:APRS:APRS -oppressive:APRS:APRS -oppressors:APRS:APRS -opprobrium:APRP:APRP -oppugnance:APNN:APKN -opsimathic:APSM:APSM -opsonizing:APSN:APSN -optimality:APTM:APTM -optimistic:APTM:APTM -optimizers:APTM:APTM -optimizing:APTM:APTM -optionally:APXN:APXN -optometric:APTM:APTM -oracularly:ARKL:ARKL -orangeades:ARNJ:ARNK -orangeries:ARNK:ARNJ -orangewood:ARNJ:ARNK -orangutans:ARNK:ARNK -oratorical:ARTR:ARTR -orbiculate:ARPK:ARPK -orchardist:ARXR:ARKR -orchardman:ARXR:ARKR -orchardmen:ARXR:ARKR -orchectomy:ARXK:ARKK -orchestral:ARKS:ARKS -orchestras:ARKS:ARKS -orchiopexy:ARXP:ARKP -ordainment:ARTN:ARTN -ordinances:ARTN:ARTN -ordinaries:ARTN:ARTN -ordinarily:ARTN:ARTN -ordinarius:ARTN:ARTN -ordination:ARTN:ARTN -ordonnance:ARTN:ARTN -ordovician:ARTF:ARTF -oregonians:ARKN:ARKN -organelles:ARKN:ARKN -organicism:ARKN:ARKN -organicist:ARKN:ARKN -organismal:ARKN:ARKN -organismic:ARKN:ARKN -organizers:ARKN:ARKN -organizing:ARKN:ARKN -organogeny:ARKN:ARKN -organology:ARKN:ARKN -orientated:ARNT:ARNT -orientates:ARNT:ARNT -orienteers:ARNT:ARNT -orientists:ARNT:ARNT -originally:ARJN:ARKN -originated:ARJN:ARKN -originates:ARJN:ARKN -originator:ARJN:ARKN -orinasally:ARNS:ARNS -ornamental:ARNM:ARNM -ornamented:ARNM:ARNM -ornateness:ARNT:ARNT -orneriness:ARNR:ARNR -ornithopod:ARN0:ARNT -ornithoses:ARN0:ARNT -ornithosis:ARN0:ARNT -ornithuric:ARN0:ARNT -orogenesis:ARJN:ARKN -orogenetic:ARJN:ARKN -orographer:ARKR:ARKR -orographic:ARKR:ARKR -orological:ARLJ:ARLK -oropharynx:ARFR:ARFR -orotundity:ARTN:ARTN -orphanages:ARFN:ARFN -orphanhood:ARFN:ARFN -ortaniques:ARTN:ARTN -orthocepha:AR0S:ARTS -orthoclase:AR0K:ARTK -orthodoxly:AR0T:ARTT -orthoepist:AR0P:ARTP -orthogenic:AR0J:ARTK -orthogonal:AR0K:ARTK -orthograde:AR0K:ARTK -orthopaedy:AR0P:ARTP -orthopedic:AR0P:ARTP -orthopneic:AR0P:ARTP -orthopnoea:AR0P:ARTP -orthopraxy:AR0P:ARTP -orthoptera:AR0P:ARTP -orthoptics:AR0P:ARTP -orthoptist:AR0P:ARTP -orthoscope:AR0S:ARTS -orthotists:AR0T:ARTT -orthotonus:AR0T:ARTT -orthotopic:AR0T:ARTT -ortolagium:ARTL:ARTL -oscillated:ASLT:ASLT -oscillates:ASLT:ASLT -oscillator:ASLT:ASLT -oscitation:ASTX:ASTX -osculating:ASKL:ASKL -osculation:ASKL:ASKL -osculatory:ASKL:ASKL -osmidroses:ASMT:ASMT -osmidrosis:ASMT:ASMT -osmolality:ASML:ASML -osmolarity:ASML:ASML -osmometric:ASMM:ASMM -osmophoric:ASMF:ASMF -ossiferous:ASFR:ASFR -osteitides:ASTT:ASTT -ostensible:ASTN:ASTN -ostensibly:ASTN:ASTN -osteoblast:ASTP:ASTP -osteoclast:ASTK:ASTK -osteocomma:ASTK:ASTK -osteodynia:ASTT:ASTT -osteogenic:ASTJ:ASTK -osteologic:ASTL:ASTL -osteolyses:ASTL:ASTL -osteolysis:ASTL:ASTL -osteolytic:ASTL:ASTL -osteometry:ASTM:ASTM -osteopaths:ASTP:ASTP -osteopathy:ASTP:ASTP -osteophage:ASTF:ASTF -osteophyte:ASTF:ASTF -osteoplast:ASTP:ASTP -osteotribe:ASTT:ASTT -ostertagia:ASTR:ASTR -ostracized:ASTR:ASTR -ostracizer:ASTR:ASTR -ostracizes:ASTR:ASTR -ostracodan:ASTR:ASTR -otacoustic:ATKS:ATKS -othematoma:A0MT:ATMT -otherworld:A0RR:ATRR -otioseness:ATSN:ATSN -otocephaly:ATSF:ATSF -otological:ATLJ:ATLK -otologists:ATLJ:ATLK -otomycoses:ATMK:ATMK -otomycosis:ATMK:ATMK -otomycotic:ATMK:ATMK -otosalpinx:ATSL:ATSL -otoscopies:ATSK:ATSK -ouananiche:ANNX:ANNK -oubliettes:APLT:APLT -outarguing:ATRK:ATRK -outbalance:ATPL:ATPL -outbargain:ATPR:ATPR -outbidding:ATPT:ATPT -outbluffed:ATPL:ATPL -outboarded:ATPR:ATPR -outboarder:ATPR:ATPR -outboasted:ATPS:ATPS -outbraving:ATPR:ATPR -outclassed:ATKL:ATKL -outclasses:ATKL:ATKL -outcropped:ATKR:ATKR -outcrossed:ATKR:ATKR -outcrosses:ATKR:ATKR -outdancing:ATNS:ATNS -outdodging:ATJN:ATJN -outfielded:ATFL:ATFL -outfielder:ATFL:ATFL -outfitters:ATFT:ATFT -outfitting:ATFT:ATFT -outflanked:ATFL:ATFL -outflanker:ATFL:ATFL -outfooting:ATFT:ATFT -outgassing:ATKS:ATKS -outgeneral:ATJN:ATKN -outgrowing:ATKR:ATKR -outgrowths:ATKR:ATKR -outguessed:ATKS:ATKS -outguesses:ATKS:ATKS -outgunning:ATKN:ATKN -outhauling:A0LN:ATLN -outhitting:A0TN:ATTN -outjockeys:ATJK:ATJK -outjumping:ATJM:ATJM -outlandish:ATLN:ATLN -outlasting:ATLS:ATLS -outlaughed:ATLF:ATLF -outlawries:ATLR:ATLR -outleaping:ATLP:ATLP -outmanning:ATMN:ATMN -outmarched:ATMR:ATMR -outmarches:ATMR:ATMR -outmatched:ATMX:ATMX -outmatches:ATMX:ATMX -outmodedly:ATMT:ATMT -outnumbers:ATNM:ATNM -outpatient:ATPT:ATPT -outpayment:ATPM:ATPM -outperform:ATPR:ATPR -outplaying:ATPL:ATPL -outpointed:ATPN:ATPN -outpouring:ATPR:ATPR -outproduce:ATPR:ATPR -outputting:ATPT:ATPT -outrageous:ATRJ:ATRK -outranging:ATRN:ATRN -outranking:ATRN:ATRN -outreached:ATRX:ATRK -outreaches:ATRX:ATRK -outreasons:ATRS:ATRS -outriggers:ATRK:ATRK -outrooting:ATRT:ATRT -outrunners:ATRN:ATRN -outrunning:ATRN:ATRN -outscoring:ATSK:ATSK -outselling:ATSL:ATSL -outshining:ATXN:ATXN -outshouted:ATXT:ATXT -outsinging:ATSN:ATSN -outsitting:ATST:ATST -outsmarted:ATSM:ATSM -outspelled:ATSP:ATSP -outspreads:ATSP:ATSP -outstaring:ATST:ATST -outstation:ATST:ATST -outstaying:ATST:ATST -outstepped:ATST:ATST -outstretch:ATST:ATST -outswinger:ATSN:ATSN -outtalking:ATLK:ATLK -outthought:A0T:ATT -outvaluing:ATFL:ATFL -outwalking:ATLK:ATLK -outwearing:ATRN:ATRN -outweighed:ATT:ATT -outweighes:ATS:ATS -outwilling:ATLN:ATLN -outwitting:ATTN:ATTN -outworkers:ATRK:ATRK -outworking:ATRK:ATRK -outyelling:ATLN:ATLN -ovalocytic:AFLS:AFLS -ovariotomy:AFRT:AFRT -ovaritides:AFRT:AFRT -overabound:AFRP:AFRP -overacting:AFRK:AFRK -overactive:AFRK:AFRK -overaffect:AFRF:AFRF -overarched:AFRR:AFRR -overarches:AFRR:AFRR -overassert:AFRS:AFRS -overattach:AFRT:AFRT -overbidden:AFRP:AFRP -overblouse:AFRP:AFRP -overbooked:AFRP:AFRP -overbought:AFRP:AFRP -overbuilds:AFRP:AFRP -overburden:AFRP:AFRP -overbuying:AFRP:AFRP -overcalled:AFRK:AFRK -overcasual:AFRK:AFRK -overcharge:AFRX:AFRK -overclouds:AFRK:AFRK -overcoming:AFRK:AFRK -overcommit:AFRK:AFRK -overcommon:AFRK:AFRK -overcooked:AFRK:AFRK -overcooled:AFRK:AFRK -overcostly:AFRK:AFRK -overcrowds:AFRK:AFRK -overdetail:AFRT:AFRT -overdilute:AFRT:AFRT -overdosage:AFRT:AFRT -overdosing:AFRT:AFRT -overdrafts:AFRT:AFRT -overdrinks:AFRT:AFRT -overdriven:AFRT:AFRT -overdrives:AFRT:AFRT -overdubbed:AFRT:AFRT -overeating:AFRT:AFRT -overelated:AFRL:AFRL -overelates:AFRL:AFRL -overexcite:AFRK:AFRK -overexerts:AFRK:AFRK -overexpand:AFRK:AFRK -overexpose:AFRK:AFRK -overextend:AFRK:AFRK -overfacile:AFRF:AFRF -overfilled:AFRF:AFRF -overfished:AFRF:AFRF -overfishes:AFRF:AFRF -overflight:AFRF:AFRF -overflowed:AFRF:AFRF -overflying:AFRF:AFRF -overglazes:AFRK:AFRK -overgrazed:AFRK:AFRK -overgrazes:AFRK:AFRK -overground:AFRK:AFRK -overgrowth:AFRK:AFRK -overhanded:AFRN:AFRN -overhauled:AFRL:AFRL -overheated:AFRT:AFRT -overinsure:AFRN:AFRN -overinvest:AFRN:AFRN -overissued:AFRS:AFRS -overissues:AFRS:AFRS -overjoying:AFRJ:AFRJ -overkilled:AFRK:AFRK -overlapped:AFRL:AFRL -overlavish:AFRL:AFRL -overlaying:AFRL:AFRL -overleaped:AFRL:AFRL -overliving:AFRL:AFRL -overloaded:AFRL:AFRL -overlooked:AFRL:AFRL -overlooker:AFRL:AFRL -overmanage:AFRM:AFRM -overmanned:AFRM:AFRM -overmantel:AFRM:AFRM -overmaster:AFRM:AFRM -overmatter:AFRM:AFRM -overmodest:AFRM:AFRM -overmodify:AFRM:AFRM -overpasses:AFRP:AFRP -overpaying:AFRP:AFRP -overplayed:AFRP:AFRP -overpowers:AFRP:AFRP -overpraise:AFRP:AFRP -overpriced:AFRP:AFRP -overprices:AFRP:AFRP -overprints:AFRP:AFRP -overprompt:AFRP:AFRP -overrating:AFRT:AFRT -overreacts:AFRK:AFRK -overrefine:AFRF:AFRF -overridden:AFRT:AFRT -overriders:AFRT:AFRT -overriding:AFRT:AFRT -overroasts:AFRS:AFRS -overruling:AFRL:AFRL -oversalted:AFRS:AFRS -overscored:AFRS:AFRS -overscores:AFRS:AFRS -overseeing:AFRS:AFRS -oversevere:AFRS:AFRS -oversewing:AFRS:AFRS -overshadow:AFRX:AFRX -overshoots:AFRX:AFRX -oversights:AFRS:AFRS -oversimple:AFRS:AFRS -overslaugh:AFRS:AFRS -oversleeps:AFRS:AFRS -oversleeve:AFRS:AFRS -overspends:AFRS:AFRS -overspills:AFRS:AFRS -overspread:AFRS:AFRS -overstaffs:AFRS:AFRS -overstated:AFRS:AFRS -overstates:AFRS:AFRS -overstayed:AFRS:AFRS -overstayer:AFRS:AFRS -oversteers:AFRS:AFRS -overstocks:AFRS:AFRS -overstrain:AFRS:AFRS -overstrict:AFRS:AFRS -overstride:AFRS:AFRS -overstrike:AFRS:AFRS -overstrode:AFRS:AFRS -overstruck:AFRS:AFRS -overstrung:AFRS:AFRS -overstuffs:AFRS:AFRS -oversubtle:AFRS:AFRS -oversupply:AFRS:AFRS -overtakers:AFRT:AFRT -overtaking:AFRT:AFRT -overtasked:AFRT:AFRT -overtaxing:AFRT:AFRT -overthrown:AFR0:AFRT -overthrows:AFR0:AFRT -overthrust:AFR0:AFRT -overtiring:AFRT:AFRT -overtopped:AFRT:AFRT -overtraded:AFRT:AFRT -overtrades:AFRT:AFRT -overtrains:AFRT:AFRT -overtrumps:AFRT:AFRT -overturned:AFRT:AFRT -overvalued:AFRF:AFRF -overvalues:AFRF:AFRF -overwaters:AFRT:AFRT -overweighs:AFRS:AFRS -overweight:AFRT:AFRT -overwhelms:AFRL:AFRL -overwinter:AFRN:AFRN -overworked:AFRR:AFRR -overwrites:AFRR:AFRR -ovigeneses:AFJN:AFKN -ovigenesis:AFJN:AFKN -ovigenetic:AFJN:AFKN -ovipositor:AFPS:AFPS -ovogeneses:AFJN:AFKN -ovogenesis:AFJN:AFKN -ovologists:AFLJ:AFLK -ovoplasmic:AFPL:AFPL -ovulations:AFLX:AFLX -owlishness:ALXN:ALXN -ownerships:ANRX:ANRX -oxalylurea:AKSL:AKSL -oxidations:AKST:AKST -oxidimetry:AKST:AKST -oxidizable:AKST:AKST -oximetries:AKSM:AKSM -oxyblepsia:AKSP:AKSP -oxycephaly:AKSS:AKSS -oxygenated:AKSJ:AKSK -oxygenates:AKSJ:AKSK -oxygenator:AKSJ:AKSK -oxygenized:AKSJ:AKSK -oxygenizer:AKSJ:AKSK -oxygenizes:AKSJ:AKSK -oxyneurine:AKSN:AKSN -oxyphilous:AKSF:AKSF -oxyspirura:AKSS:AKSS -oxyuriases:AKSR:AKSR -oxyuriasis:AKSR:AKSR -oxyuricide:AKSR:AKSR -ozonolyses:ASNL:ASNL -ozonolysis:ASNL:ASNL -pacemakers:PSMK:PSMK -pacemaking:PSMK:PSMK -pacesetter:PSST:PSST -pachyacria:PKKR:PKKR -pachycepha:PKSF:PKSF -pachyderms:PKTR:PKTR -pacifiable:PSFP:PSFP -pacifistic:PSFS:PSFS -packagings:PKJN:PKKN -packframes:PKFR:PKFR -packhorses:PKRS:PKRS -packsaddle:PKST:PKST -packthread:PK0R:PKTR -pademelons:PTML:PTML -padlocking:PTLK:PTLK -paederasty:PTRS:PTRS -paediatric:PTTR:PTTR -paedicatio:PTKT:PTKT -paedophile:PTFL:PTFL -paganisers:PKNS:PKNS -paganistic:PKNS:PKNS -paganizing:PKNS:PKNS -paginating:PJNT:PKNT -pagination:PJNX:PKNX -paillettes:PLTS:PLTS -painkiller:PNKL:PNKL -painlessly:PNLS:PNLS -paintboxes:PNTP:PNTP -paintbrush:PNTP:PNTP -pajahuello:PJHL:PHHL -pajaroello:PJRL:PHRL -pakistanis:PKST:PKST -palaeocene:PLSN:PLSN -palaeogene:PLJN:PLKN -palaeolith:PLL0:PLLT -palaeozoic:PLSK:PLSK -palaestras:PLST:PLST -palanquins:PLNK:PLNK -palatalize:PLTL:PLTL -palatially:PLXL:PLXL -palatinate:PLTN:PLTN -palatogram:PLTK:PLTK -palavering:PLFR:PLFR -palimonies:PLMN:PLMN -palimpsest:PLMP:PLMP -palindrome:PLNT:PLNT -palladiums:PLTM:PLTM -pallbearer:PLPR:PLPR -palletises:PLTS:PLTS -palletized:PLTS:PLTS -palletizes:PLTS:PLTS -palliating:PLTN:PLTN -palliation:PLXN:PLXN -palliative:PLTF:PLTF -pallidness:PLTN:PLTN -palmaceous:PLMS:PLMS -palmettoes:PLMT:PLMT -palmipedal:PLMP:PLMP -palpations:PLPX:PLPX -palpebrate:PLPP:PLPP -palpitated:PLPT:PLPT -palpitates:PLPT:PLPT -paltriness:PLTR:PLTR -palynology:PLNL:PLNL -pamphletes:PMFL:PMFL -panamanian:PNMN:PNMN -panaritium:PNRT:PNRT -panatellas:PNTL:PNTL -panatrophy:PNTR:PNTR -pancosmism:PNKS:PNKS -pancreases:PNKR:PNKR -pancreatic:PNKR:PNKR -pancreatin:PNKR:PNKR -pandanuses:PNTN:PNTN -pandemonic:PNTM:PNTM -pandowdies:PNTT:PNTT -panegyrics:PNJR:PNKR -panegyrist:PNJR:PNKR -panegyrize:PNJR:PNKR -panglossia:PNKL:PNKL -panhandled:PNNT:PNNT -panhandler:PNNT:PNNT -panhandles:PNNT:PNNT -paniculate:PNKL:PNKL -panjandrum:PNJN:PNJN -panmyeloid:PNML:PNML -panniculus:PNKL:PNKL -panoptical:PNPT:PNPT -panopticon:PNPT:PNPT -panspermia:PNSP:PNSP -pantaloons:PNTL:PNTL -pantheists:PN0S:PNTS -pantograph:PNTK:PNTK -pantomimed:PNTM:PNTM -pantomimes:PNTM:PNTM -pantomimic:PNTM:PNTM -pantoscope:PNTS:PNTS -pantywaist:PNTS:PNTS -papaverine:PPFR:PPFR -papaverous:PPFR:PPFR -paperbacks:PPRP:PPRP -paperboard:PPRP:PPRP -paperclips:PPRK:PPRK -papergirls:PPRJ:PPRK -paperiness:PPRN:PPRN -paperknife:PPRK:PPRK -papillated:PPLT:PPLT -papillitis:PPLT:PPLT -papillomas:PPLM:PPLM -papistical:PPST:PPST -papulation:PPLX:PPLX -papyrology:PPRL:PPRL -parabioses:PRPS:PRPS -parabiosis:PRPS:PRPS -parabiotic:PRPT:PRPT -parablepsy:PRPL:PRPL -parabolist:PRPL:PRPL -parabolize:PRPL:PRPL -paraboloid:PRPL:PRPL -parachuted:PRKT:PRKT -parachutes:PRKT:PRKT -paracusias:PRKS:PRKX -paracystia:PRSS:PRSS -paracystic:PRSS:PRSS -paradental:PRTN:PRTN -paradentia:PRTN:PRTN -paradisiac:PRTS:PRTX -paradising:PRTS:PRTS -paraffined:PRFN:PRFN -paraffines:PRFN:PRFN -paraffinic:PRFN:PRFN -parageusia:PRJS:PRKX -paraglider:PRKL:PRLT -paragraphs:PRKR:PRKR -paraguayan:PRKN:PRKN -paralgesia:PRLJ:PRLK -paralgesic:PRLJ:PRLK -paralipses:PRLP:PRLP -paralipsis:PRLP:PRLP -parallaxes:PRLK:PRLK -paralleled:PRLL:PRLL -paralogism:PRLJ:PRLK -paralogist:PRLJ:PRLK -paralytica:PRLT:PRLT -paralyzant:PRLS:PRLS -paralyzers:PRLS:PRLS -paralyzing:PRLS:PRLS -paramecium:PRMS:PRMS -paramedian:PRMT:PRMT -paramedics:PRMT:PRMT -parametria:PRMT:PRMT -parametric:PRMT:PRMT -paramnesia:PRMN:PRMN -paraneural:PRNR:PRNR -paranoiacs:PRNK:PRNK -paranormal:PRNR:PRNR -paranuclei:PRNK:PRNK -paraphasia:PRFS:PRFX -paraphasic:PRFS:PRFS -parapherna:PRFR:PRFR -paraphilia:PRFL:PRFL -paraphonia:PRFN:PRFN -paraphrase:PRFR:PRFR -paraphyses:PRFS:PRFS -paraphysis:PRFS:PRFS -paraplegia:PRPL:PRPL -paraplegic:PRPL:PRPL -parapodium:PRPT:PRPT -parapraxes:PRPR:PRPR -parapraxia:PRPR:PRPR -parapraxis:PRPR:PRPR -pararectal:PRRK:PRRK -pararthria:PRR0:PRRT -parasacral:PRSK:PRSK -parascaris:PRSK:PRSK -paraselene:PRSL:PRSL -parasexual:PRSK:PRSK -parasitics:PRST:PRST -parasitism:PRST:PRST -parasitize:PRST:PRST -parastichy:PRST:PRST -paratactic:PRTK:PRTK -paratroops:PRTR:PRTR -paratrophy:PRTR:PRTR -paraxially:PRKS:PRKS -parboiling:PRPL:PRPL -parbuckled:PRPK:PRPK -parbuckles:PRPK:PRPK -parchments:PRXM:PRKM -parchmenty:PRXM:PRKM -pardonable:PRTN:PRTN -pardonably:PRTN:PRTN -pardonless:PRTN:PRTN -parectases:PRKT:PRKT -parectasia:PRKT:PRKT -parectasis:PRKT:PRKT -parenchyma:PRNX:PRNK -parenchyme:PRNX:PRNK -parentally:PRNT:PRNT -parentelic:PRNT:PRNT -parenteral:PRNT:PRNT -parenthood:PRN0:PRNT -parergasia:PRRK:PRRK -parimutuel:PRMT:PRMT -parliament:PRLM:PRLM -parmentier:PRMN:PRMN -parmigiana:PRMJ:PRMK -parnassian:PRNS:PRNS -parodontal:PRTN:PRTN -paronychia:PRNK:PRNK -paronymous:PRNM:PRNM -parorexias:PRRK:PRRK -parostitis:PRST:PRST -parovarian:PRFR:PRFR -parovarium:PRFR:PRFR -paroxysmal:PRKS:PRKS -paroxysmic:PRKS:PRKS -paroxytone:PRKS:PRKS -parqueting:PRKT:PRKT -parrakeets:PRKT:PRKT -parricidal:PRST:PRST -parricides:PRST:PRST -parrotfish:PRTF:PRTF -parsonages:PRSN:PRSN -parsonical:PRSN:PRSN -partiality:PRXL:PRXL -participle:PRTS:PRTS -particular:PRTK:PRTK -partitions:PRTX:PRTX -partnering:PRTN:PRTN -partograms:PRTK:PRTK -partridges:PRTR:PRTR -parturient:PRTR:PRTR -pasquinade:PSKN:PSKN -passageway:PSJ:PSK -passengers:PSNK:PSNJ -passionate:PSNT:PSNT -passionels:PSNL:PSNL -passionnel:PSNL:PSNL -passivists:PSFS:PSFS -pasteboard:PSTP:PSTP -pastelists:PSTL:PSTL -pastellist:PSTL:PSTL -pasteurism:PSTR:PSTR -pasteurize:PSTR:PSTR -pastorales:PSTR:PSTR -pastorally:PSTR:PSTR -pastorates:PSTR:PSTR -pastorship:PSTR:PSTR -patchiness:PXNS:PXNS -patentable:PTNT:PTNT -patentably:PTNT:PTNT -paternally:PTRN:PTRN -pathetical:P0TK:PTTK -patheticus:P0TK:PTTK -pathfinder:P0FN:PTFN -pathogenes:P0JN:PTKN -pathogenic:P0JN:PTKN -pathognomy:P0NM:PTKN -pathologic:P0LJ:PTLK -patisserie:PTSR:PTSR -patriarchs:PTRR:PTRR -patriarchy:PTRR:PTRR -patricians:PTRS:PTRX -patriciate:PTRS:PTRX -patricidal:PTRS:PTRS -patricides:PTRS:PTRS -patrilocal:PTRL:PTRL -patriotism:PTRT:PTRT -patrollers:PTRL:PTRL -patrolling:PTRL:PTRL -patronized:PTRN:PTRN -patronizer:PTRN:PTRN -patronizes:PTRN:PTRN -patronymic:PTRN:PTRN -patterings:PTRN:PTRN -patterning:PTRN:PTRN -patulously:PTLS:PTLS -pauperized:PPRS:PPRS -pauperizes:PPRS:PPRS -pavilioned:PFLN:PFLN -pawnbroker:PNPR:PNPR -payability:PPLT:PPLT -paymasters:PMST:PMST -peacefully:PSFL:PSFL -peacemaker:PSMK:PSMK -peachiness:PXNS:PKNS -peacockish:PKKX:PKKX -peakedness:PKTN:PKTN -pearliness:PRLN:PRLN -pearlizing:PRLS:PRLS -peashooter:PXTR:PXTR -pebbliness:PPLN:PPLN -peccadillo:PKTL:PKTL -pectinated:PKTN:PKTN -pectisable:PKTS:PKTS -pectizable:PKTS:PKTS -pectorales:PKTR:PKTR -pectoralis:PKTR:PKTR -pectorally:PKTR:PKTR -peculating:PKLT:PKLT -peculation:PKLX:PKLX -peculators:PKLT:PKLT -peculiarly:PKLR:PKLR -pedagogues:PTKK:PTKK -pedantries:PTNT:PTNT -pedatified:PTTF:PTTF -pederastic:PTRS:PTRS -pedestrian:PTST:PTST -pediatrics:PTTR:PTTR -pediatrist:PTTR:PTTR -pediculate:PTKL:PTKL -pediculous:PTKL:PTKL -pedicurist:PTKR:PTKR -pedimental:PTMN:PTMN -pedimented:PTMN:PTMN -pedodontia:PTTN:PTTN -pedodontic:PTTN:PTTN -pedologies:PTLJ:PTLK -pedologist:PTLJ:PTLK -pedophilia:PTFL:PTFL -pedophilic:PTFL:PTFL -peduncular:PTNK:PTNK -pedunculus:PTNK:PTNK -peerlessly:PRLS:PRLS -pegmatitic:PKMT:PKMT -pejoration:PJRX:PHRX -pejorative:PJRT:PHRT -pellagroid:PLKR:PLKR -pellagrous:PLKR:PLKR -pelletized:PLTS:PLTS -pelletizes:PLTS:PLTS -pellicular:PLKL:PLKL -pellucidae:PLST:PLST -pellucidly:PLST:PLST -pellucidum:PLST:PLST -pelvigraph:PLFK:PLFK -pelvimetry:PLFM:PLFM -pelviscope:PLFS:PLFS -pemphigoid:PMFK:PMFK -penalizing:PNLS:PNLS -penannular:PNNL:PNNL -pencillers:PNSL:PNSL -pencilling:PNSL:PNSL -pendentely:PNTN:PNTN -pendentive:PNTN:PNTN -peneplains:PNPL:PNPL -penetrable:PNTR:PNTR -penetrably:PNTR:PNTR -penetralia:PNTR:PNTR -penetrance:PNTR:PNTR -penetrated:PNTR:PNTR -penetrates:PNTR:PNTR -penetrator:PNTR:PNTR -penicillia:PNSL:PNSL -penicillin:PNSL:PNSL -penicillus:PNSL:PNSL -peninsular:PNNS:PNNS -peninsulas:PNNS:PNNS -penitently:PNTN:PNTN -penmanship:PNMN:PNMN -pennaceous:PNSS:PNSS -pennycress:PNKR:PNKR -pennyroyal:PNRL:PNRL -pennyworth:PNR0:PNRT -penologist:PNLJ:PNLK -penpushers:PNPX:PNPX -penpushing:PNPX:PNPX -pensionary:PNSN:PNXN -pensioners:PNSN:PNXN -pensioning:PNSN:PNXN -pentagonal:PNTK:PNTK -pentagrams:PNTK:PNTK -pentahedra:PNTH:PNTH -pentameron:PNTM:PNTM -pentaprism:PNTP:PNTP -pentaquine:PNTK:PNTK -pentastich:PNTS:PNTS -pentateuch:PNTT:PNTT -pentathlon:PNT0:PNTT -pentatomic:PNTT:PNTT -pentatonic:PNTT:PNTT -penthouses:PN0S:PNTS -pentimenti:PNTM:PNTM -pentimento:PNTM:PNTM -pentosuria:PNTS:PNTS -pentstemon:PNTS:PNTS -penumbraes:PNMP:PNMP -penumbrous:PNMP:PNMP -peppercorn:PPRK:PPRK -peppermint:PPRM:PPRM -peppertree:PPRT:PPRT -pepperwort:PPRR:PPRR -pepsigogue:PPSK:PPSK -pepsinated:PPSN:PPSN -pepsinates:PPSN:PPSN -pepsinogen:PPSN:PPSN -peptonized:PPTN:PPTN -peptonizer:PPTN:PPTN -peptonizes:PPTN:PPTN -peptonuria:PPTN:PPTN -perceivers:PRSF:PRSF -perceiving:PRSF:PRSF -percentage:PRSN:PRSN -percentile:PRSN:PRSN -perception:PRSP:PRSP -perceptive:PRSP:PRSP -perceptual:PRSP:PRSP -perchloric:PRXL:PRKL -percipient:PRSP:PRSP -percolable:PRKL:PRKL -percolated:PRKL:PRKL -percolates:PRKL:PRKL -percolator:PRKL:PRKL -percussing:PRKS:PRKS -percussion:PRKS:PRKS -percussive:PRKS:PRKS -perdurable:PRTR:PRTR -perdurably:PRTR:PRTR -peremption:PRMP:PRMP -peremptory:PRMP:PRMP -perennated:PRNT:PRNT -perennates:PRNT:PRNT -perfecters:PRFK:PRFK -perfecting:PRFK:PRFK -perfection:PRFK:PRFK -perfective:PRFK:PRFK -perfectors:PRFK:PRFK -perfidious:PRFT:PRFT -perflation:PRFL:PRFL -perfoliate:PRFL:PRFL -perforable:PRFR:PRFR -perforated:PRFR:PRFR -perforates:PRFR:PRFR -perforator:PRFR:PRFR -performers:PRFR:PRFR -performing:PRFR:PRFR -periacinal:PRSN:PRSN -periaortal:PRRT:PRRT -periaortic:PRRT:PRRT -periapical:PRPK:PRPK -pericardia:PRKR:PRKR -pericarpic:PRKR:PRKR -pericaryon:PRKR:PRKR -periclinal:PRKL:PRKL -pericrania:PRKR:PRKR -pericyclic:PRSK:PRSK -pericystia:PRSS:PRSS -pericystic:PRSS:PRSS -pericytial:PRSX:PRSX -peridental:PRTN:PRTN -peridermal:PRTR:PRTR -peridermic:PRTR:PRTR -peridesmic:PRTS:PRTS -peridotite:PRTT:PRTT -perigynous:PRJN:PRKN -perihelial:PRHL:PRHL -perihelion:PRHL:PRHL -perikaryal:PRKR:PRKR -perikaryon:PRKR:PRKR -perilously:PRLS:PRLS -perimetria:PRMT:PRMT -perimetric:PRMT:PRMT -perimysial:PRMS:PRMX -perimysium:PRMS:PRMS -perineural:PRNR:PRNR -perineuria:PRNR:PRNR -periocular:PRKL:PRKL -periodical:PRTK:PRTK -periosteal:PRST:PRST -periosteum:PRST:PRST -periostoma:PRST:PRST -periovular:PRFL:PRFL -peripeteia:PRPT:PRPT -peripherad:PRFR:PRFR -peripheral:PRFR:PRFR -periphyton:PRFT:PRFT -periportal:PRPR:PRPR -peripteral:PRPT:PRPT -perirectal:PRRK:PRRK -perirhinal:PRRN:PRRN -periscopes:PRSK:PRSK -periscopic:PRSK:PRSK -perishable:PRXP:PRXP -perishably:PRXP:PRXP -peristylar:PRST:PRST -peristyles:PRST:PRST -perithecia:PR0S:PRTX -perithelia:PR0L:PRTL -peritomies:PRTM:PRTM -peritoneal:PRTN:PRTN -peritoneum:PRTN:PRTN -peritonize:PRTN:PRTN -periungual:PRNK:PRNK -periuvular:PRFL:PRFL -perivenous:PRFN:PRFN -periwinkle:PRNK:PRNK -perjurious:PRJR:PRJR -perlingual:PRLN:PRLN -permafrost:PRMF:PRMF -permanence:PRMN:PRMN -permanency:PRMN:PRMN -permeating:PRMT:PRMT -permeation:PRMX:PRMX -permeative:PRMT:PRMT -permission:PRMS:PRMS -permissive:PRMS:PRMS -permittees:PRMT:PRMT -permitters:PRMT:PRMT -permitting:PRMT:PRMT -permutable:PRMT:PRMT -permutably:PRMT:PRMT -permutated:PRMT:PRMT -permutates:PRMT:PRMT -pernancies:PRNN:PRNN -pernicious:PRNS:PRNX -pernickety:PRNK:PRNK -perochirus:PRXR:PRKR -perocormus:PRKR:PRKR -perorating:PRRT:PRRT -peroration:PRRX:PRRX -perosseous:PRSS:PRSS -peroxidase:PRKS:PRKS -peroxisome:PRKS:PRKS -perpetrate:PRPT:PRPT -perpetuate:PRPT:PRPT -perpetuity:PRPT:PRPT -perplexing:PRPL:PRPL -perplexity:PRPL:PRPL -perquisite:PRKS:PRKS -persecuted:PRSK:PRSK -persecutee:PRSK:PRSK -persecutes:PRSK:PRSK -persecutor:PRSK:PRSK -persevered:PRSF:PRSF -perseveres:PRSF:PRSF -persiennes:PRSN:PRSN -persiflage:PRSF:PRSF -persimmons:PRSM:PRSM -persistent:PRSS:PRSS -persisters:PRSS:PRSS -persisting:PRSS:PRSS -personable:PRSN:PRSN -personably:PRSN:PRSN -personages:PRSN:PRSN -personalis:PRSN:PRSN -personally:PRSN:PRSN -personalty:PRSN:PRSN -personarum:PRSN:PRSN -personated:PRSN:PRSN -personates:PRSN:PRSN -personator:PRSN:PRSN -perspiring:PRSP:PRSP -persuaders:PRST:PRST -persuading:PRST:PRST -persuasion:PRSS:PRSX -persuasive:PRSS:PRSS -pertaining:PRTN:PRTN -pertinence:PRTN:PRTN -pertinency:PRTN:PRTN -perturbing:PRTR:PRTR -perversely:PRFR:PRFR -perversion:PRFR:PRFR -perversity:PRFR:PRFR -perversive:PRFR:PRFR -perverting:PRFR:PRFR -perviously:PRFS:PRFS -pessimists:PSMS:PSMS -pesticidal:PSTS:PSTS -pesticides:PSTS:PSTS -pestilence:PSTL:PSTL -petechiate:PTKT:PTKT -petersburg:PTRS:PTRS -petiolated:PTLT:PTLT -petitional:PTXN:PTXN -petitioned:PTXN:PTXN -petitionee:PTXN:PTXN -petitioner:PTXN:PTXN -petnapping:PTNP:PTNP -petrarchan:PTRR:PTRR -petrifying:PTRF:PTRF -petrissage:PTRS:PTRS -petroglyph:PTRK:PTRK -petrolatum:PTRL:PTRL -petrologic:PTRL:PTRL -petrositis:PTRS:PTRS -petroxolin:PTRK:PTRK -petticoats:PTKT:PTKT -petulantly:PTLN:PTLN -phacolyses:FKLS:FKLS -phacolysis:FKLS:FKLS -phagedaena:FJTN:FKTN -phagocytic:FKST:FKST -phagolyses:FKLS:FKLS -phagolysis:FKLS:FKLS -phagolytic:FKLT:FKLT -phagomania:FKMN:FKMN -phalangeal:FLNJ:FLNK -phalangers:FLNK:FLNJ -phalaropes:FLRP:FLRP -phallicism:FLSS:FLSS -phallicist:FLSS:FLSS -phalloidin:FLTN:FLTN -phanerogam:FNRK:FNRK -phaneroses:FNRS:FNRS -phanerosis:FNRS:FNRS -phantasies:FNTS:FNTS -phantasmal:FNTS:FNTS -phantasmic:FNTS:FNTS -pharisaism:FRSS:FRSS -pharmacies:FRMS:FRMX -pharmacist:FRMS:FRMS -pharyngeal:FRNJ:FRNK -phasmidian:FSMT:FSMT -phelloderm:FLTR:FLTR -phenacaine:FNKN:FNKN -phenacetin:FNST:FNST -phenelzine:FNLS:FNLS -phenformin:FNFR:FNFR -phenocryst:FNKR:FNKR -phenolated:FNLT:FNLT -phenolates:FNLT:FNLT -phenologic:FNLJ:FNLK -phenomenal:FNMN:FNMN -phenomenon:FNMN:FNMN -phenotypes:FNTP:FNTP -phenotypic:FNTP:FNTP -pheochrome:FKRM:FKRM -pheromonal:FRMN:FRMN -philanders:FLNT:FLNT -philatelic:FLTL:FLTL -philippics:FLPK:FLPK -philippine:FLPN:FLPN -philistine:FLST:FLST -phillumeny:FLMN:FLMN -philosophy:FLSF:FLSF -phlebogram:FLPK:FLPK -phleboidal:FLPT:FLPT -phlebolith:FLPL:FLPL -phlebology:FLPL:FLPL -phlebotomi:FLPT:FLPT -phlebotomy:FLPT:FLPT -phlegmasia:FLKM:FLKM -phlegmatic:FLKM:FLKM -phlegmiest:FLKM:FLKM -phlegmonic:FLKM:FLKM -phlogistic:FLJS:FLKS -phlogiston:FLJS:FLKS -phlogopite:FLKP:FLKP -phlorhizin:FLRS:FLRS -phloridzin:FLRT:FLRT -phlyctaena:FLKT:FLKT -phlyctenae:FLKT:FLKT -phocomelia:FKML:FKML -phocomelic:FKML:FKML -phocomelus:FKML:FKML -phoenician:FNSN:FNXN -phokomelia:FKML:FKML -phonecards:FNKR:FNKR -phonemical:FNMK:FNMK -phonetists:FNTS:FNTS -phoneyness:FNNS:FNNS -phoniatric:FNTR:FNTR -phonically:FNKL:FNKL -phonograms:FNKR:FNKR -phonograph:FNKR:FNKR -phonologic:FNLJ:FNLK -phonomania:FNMN:FNMN -phonometry:FNMT:FNMT -phonopathy:FNP0:FNPT -phonophore:FNFR:FNFR -phonoscope:FNSK:FNSK -phonotypic:FNTP:FNTP -phorometry:FRMT:FRMT -phosgenite:FSJN:FSKN -phosphagen:FSFJ:FSFK -phosphated:FSFT:FSFT -phosphates:FSFT:FSFT -phosphatic:FSFT:FSFT -phosphores:FSFR:FSFR -phosphoric:FSFR:FSFR -phosphorus:FSFR:FSFR -phosphoryl:FSFR:FSFR -photocells:FTSL:FTSL -photodiode:FTTT:FTTT -photoflood:FTFL:FTFL -photogenic:FTJN:FTKN -photograms:FTKR:FTKR -photograph:FTKR:FTKR -photolysis:FTLS:FTLS -photolytic:FTLT:FTLT -photolyzed:FTLS:FTLS -photolyzes:FTLS:FTLS -photometry:FTMT:FTMT -photomural:FTMR:FTMR -photonasty:FTNS:FTNS -photonosis:FTNS:FTNS -photonosus:FTNS:FTNS -photopathy:FTP0:FTPT -photophile:FTFL:FTFL -photophily:FTFL:FTFL -photophore:FTFR:FTFR -photoplays:FTPL:FTPL -photoscope:FTSK:FTSK -photoshock:FTXK:FTXK -photostats:FTST:FTST -phototaxes:FTTK:FTTK -phototaxis:FTTK:FTTK -phototimer:FTTM:FTTM -phototonic:FTTN:FTTN -phototonus:FTTN:FTTN -phototyped:FTTP:FTTP -phototypes:FTTP:FTTP -phototypic:FTTP:FTTP -phrenology:FRNL:FRNL -phthisical:F0SK:FTSK -phthisicky:F0SK:FTSK -phycobilin:FKPL:FKPL -phycochrom:FKKR:FKKR -phylactery:FLKT:FLKT -phyllodial:FLTL:FLTL -phylloxera:FLKS:FLKS -phylogenic:FLJN:FLKN -phymatoses:FMTS:FMTS -phymatosis:FMTS:FMTS -physiatric:FSTR:FXTR -physically:FSKL:FSKL -physicians:FSSN:FSXN -physicists:FSSS:FSSS -physicking:FSKN:FSKN -physiology:FSLJ:FXLK -phytogenic:FTJN:FTKN -phytophagy:FTFK:FTFJ -phytotoxic:FTTK:FTTK -phytotoxin:FTTK:FTTK -pianissimo:PNSM:PNSM -pianoforte:PNFR:PNFR -picaresque:PKRS:PKRS -piccalilli:PKLL:PKLL -piccaninny:PKNN:PKNN -pichiciego:PXSK:PKXK -pickaninny:PKNN:PKNN -pickpocket:PKPK:PKPK -picnickers:PKNK:PKNK -picnicking:PKNK:PKNK -picofarads:PKFR:PKFR -picosecond:PKSK:PKSK -picrorhiza:PKRR:PKRR -picrotoxin:PKRT:PKRT -pictograph:PKTK:PKTK -pictorials:PKTR:PKTR -picturised:PKTR:PKTR -piddlingly:PTLN:PTLN -piebaldism:PPLT:PPLT -pierceable:PRSP:PRSP -piercingly:PRSN:PRSN -pigeonhole:PJNL:PKNL -piggybacks:PKPK:PKPK -pigmentary:PKMN:PKMN -pignorated:PNRT:PKNR -pilastered:PLST:PLST -pilgrimage:PLKR:PLKR -pilibezoar:PLPS:PLPS -piliferous:PLFR:PLFR -pillorying:PLRN:PLRN -pillowcase:PLKS:PLKS -pillowslip:PLSL:PLSL -pilocarpus:PLKR:PLKR -pilocystic:PLSS:PLSS -pilosities:PLST:PLST -pilothouse:PL0S:PLTS -pilularing:PLLR:PLLR -pimpernels:PMPR:PMPR -pimpliness:PMPL:PMPL -pinacolone:PNKL:PNKL -pinchcocks:PNXK:PNKK -pincushion:PNKX:PNKX -pinealomas:PNLM:PNLM -pineapples:PNPL:PNPL -pinfeather:PNF0:PNFT -pinguecula:PNKK:PNKK -pinguicula:PNKK:PNKK -pinguidity:PNKT:PNKT -pinnacling:PNKL:PNKL -pinnatifid:PNTF:PNTF -pinnatiped:PNTP:PNTP -pinpointed:PNPN:PNPN -pinsetters:PNST:PNST -pinspotter:PNSP:PNSP -pinstriped:PNST:PNST -pinstripes:PNST:PNST -pioneering:PNRN:PNRN -pipeclayed:PPKL:PPKL -pipefitter:PPFT:PPFT -pipelining:PPLN:PPLN -piperazine:PPRS:PPRS -piperidine:PPRT:PPRT -pipsissewa:PPSS:PPSS -pipsqueaks:PPSK:PPSK -piriformis:PRFR:PRFR -piroplasma:PRPL:PRPL -piroplasms:PRPL:PRPL -pirouetted:PRTT:PRTT -pirouettes:PRTS:PRTS -piscicidal:PSST:PSST -pistachios:PSTX:PSTK -pistillary:PSTL:PSTL -pistillate:PSTL:PSTL -pistilline:PSTL:PSTL -pistolling:PSTL:PSTL -pitapatted:PTPT:PTPT -pitchforks:PXFR:PXFR -pitchiness:PXNS:PXNS -pitchstone:PXST:PXST -pitilessly:PTLS:PTLS -pittsburgh:PTSP:PTSP -pityriases:PTRS:PTRS -pityriasic:PTRS:PTRS -pityriasis:PTRS:PTRS -placarders:PLKR:PLKR -placarding:PLKR:PLKR -placements:PLSM:PLSM -placentaes:PLSN:PLSN -placentoma:PLSN:PLSN -placidness:PLST:PLST -plagiaries:PLJR:PLKR -plagiarism:PLJR:PLKR -plagiarist:PLJR:PLKR -plagiarize:PLJR:PLKR -plaintiffs:PLNT:PLNT -planchette:PLNX:PLNK -planetaria:PLNT:PLNT -planetoids:PLNT:PLNT -plangently:PLNJ:PLNK -planigraph:PLNK:PLNK -planimetry:PLNM:PLNM -planishers:PLNX:PLNX -planishing:PLNX:PLNX -planktonic:PLNK:PLNK -planometry:PLNM:PLNM -plantation:PLNT:PLNT -plasmacyte:PLSM:PLSM -plasmasome:PLSM:PLSM -plasmodesm:PLSM:PLSM -plasmodial:PLSM:PLSM -plasmodium:PLSM:PLSM -plasmogamy:PLSM:PLSM -plasmolyze:PLSM:PLSM -plasmosoma:PLSM:PLSM -plasmosome:PLSM:PLSM -plasmotomy:PLSM:PLSM -plasterers:PLST:PLST -plastering:PLST:PLST -plasticine:PLST:PLST -plasticity:PLST:PLST -plasticize:PLST:PLST -plastidial:PLST:PLST -plastogamy:PLST:PLST -platelayer:PLTL:PLTL -platformed:PLTF:PLTF -platinises:PLTN:PLTN -platinized:PLTN:PLTN -platinizes:PLTN:PLTN -platitudes:PLTT:PLTT -platycepha:PLTS:PLTS -platycnemy:PLTK:PLTK -platymeric:PLTM:PLTM -platypelly:PLTP:PLTP -platypodia:PLTP:PLTP -platypuses:PLTP:PLTP -platyrhine:PLTR:PLTR -platysmata:PLTS:PLTS -playacting:PLKT:PLKT -playfellow:PLFL:PLFL -playground:PLKR:PLKR -playgroups:PLKR:PLKR -playhouses:PLHS:PLHS -playschool:PLSK:PLSK -playsuited:PLST:PLST -playthings:PL0N:PLTN -playwright:PLRT:PLRT -pleadingly:PLTN:PLTN -pleasantly:PLSN:PLSN -pleasantry:PLSN:PLSN -pleasingly:PLSN:PLSN -pleasuring:PLSR:PLSR -plebescite:PLPS:PLPS -plebiscita:PLPS:PLPS -plebiscite:PLPS:PLPS -plectridia:PLKT:PLKT -pleiotropy:PLTR:PLTR -plentitude:PLNT:PLNT -pleochroic:PLKR:PLKR -pleomastia:PLMS:PLMS -pleomastic:PLMS:PLMS -pleonastic:PLNS:PLNS -plesiosaur:PLSS:PLXS -pleurisies:PLRS:PLRS -pleurodont:PLRT:PLRT -pleurotomy:PLRT:PLRT -pleustonic:PLST:PLST -plexiglass:PLKS:PLKS -pleximetry:PLKS:PLKS -pliability:PLPL:PLPL -pliantness:PLNT:PLNT -ploddingly:PLTN:PLTN -ploughable:PLFP:PLFP -plowshares:PLXR:PLXR -pluckiness:PLKN:PLKN -plummeting:PLMT:PLMT -plunderage:PLNT:PLNT -plunderers:PLNT:PLNT -plundering:PLNT:PLNT -plunderous:PLNT:PLNT -pluperfect:PLPR:PLPR -pluralists:PLRL:PLRL -pluralized:PLRL:PLRL -pluralizer:PLRL:PLRL -pluralizes:PLRL:PLRL -pluriparae:PLRP:PLRP -plutocracy:PLTK:PLTK -plutocrats:PLTK:PLTK -plutomania:PLTM:PLTM -plymouthes:PLM0:PLMT -pneumatics:NMTK:NMTK -pneumatism:NMTS:NMTS -pneumocele:NMSL:NMSL -pneumocyst:NMSS:NMSS -pneumogram:NMKR:NMKR -pneumology:NMLJ:NMLK -pocketbook:PKTP:PKTP -pocketfuls:PKTF:PKTF -pockmarked:PKMR:PKMR -podiatries:PTTR:PTTR -podiatrist:PTTR:PTTR -podologies:PTLJ:PTLK -podophylli:PTFL:PTFL -poetasters:PTST:PTST -poetically:PTKL:PTKL -poeticiser:PTSS:PTSS -poeticises:PTSS:PTSS -poeticized:PTSS:PTSS -poeticizes:PTSS:PTSS -poignantly:PNNT:PKNN -poincianas:PNSN:PNXN -poinsettia:PNST:PNST -pointblank:PNTP:PNTP -poiseuille:PSL:PSL -poisonings:PSNN:PSNN -polarities:PLRT:PLRT -polarizers:PLRS:PLRS -polarizing:PLRS:PLRS -polarogram:PLRK:PLRK -polemicist:PLMS:PLMS -polemising:PLMS:PLMS -policlinic:PLKL:PLKL -poliovirus:PLFR:PLFR -polishable:PLXP:PLXP -politeness:PLTN:PLTN -politician:PLTS:PLTX -politicize:PLTS:PLTS -politicked:PLTK:PLTK -pollarding:PLRT:PLRT -pollenoses:PLNS:PLNS -pollenosis:PLNS:PLNS -pollinated:PLNT:PLNT -pollinates:PLNT:PLNT -pollinator:PLNT:PLNT -pollinoses:PLNS:PLNS -pollinosis:PLNS:PLNS -pollutants:PLTN:PLTN -polonaises:PLNS:PLNS -polyacetal:PLST:PLST -polyandric:PLNT:PLNT -polyanthus:PLN0:PLNT -polyatomic:PLTM:PLTM -polybasite:PLPS:PLPS -polycarpic:PLKR:PLKR -polychaete:PLKT:PLXT -polychasia:PLXS:PLKX -polychrome:PLXR:PLKR -polychromy:PLXR:PLKR -polyclinic:PLKL:PLKL -polycrotic:PLKR:PLKR -polycyclic:PLSK:PLSK -polycyeses:PLSS:PLSS -polycyesis:PLSS:PLSS -polycystic:PLSS:PLSS -polydactyl:PLTK:PLTK -polydipsia:PLTP:PLTP -polydipsic:PLTP:PLTP -polydypsia:PLTP:PLTP -polyesters:PLST:PLST -polygamies:PLKM:PLKM -polygamist:PLKM:PLKM -polygamous:PLKM:PLKM -polygraphs:PLKR:PLKR -polygynies:PLKN:PLJN -polygynist:PLKN:PLJN -polygynous:PLKN:PLJN -polyhedral:PLHT:PLHT -polyhedric:PLHT:PLHT -polyhedron:PLHT:PLHT -polyhybrid:PLHP:PLHP -polymastia:PLMS:PLMS -polymathes:PLM0:PLMT -polymathic:PLM0:PLMT -polymelias:PLML:PLML -polymelies:PLML:PLML -polymerase:PLMR:PLMR -polymerism:PLMR:PLMR -polymerize:PLMR:PLMR -polymerous:PLMR:PLMR -polynesian:PLNS:PLNX -polynomial:PLNM:PLNM -polyorchis:PLRX:PLRK -polyovular:PLFL:PLFL -polyparies:PLPR:PLPR -polyphagia:PLFJ:PLFK -polyphobia:PLFP:PLFP -polyphonic:PLFN:PLFN -polyploidy:PLPL:PLPL -polypodies:PLPT:PLPT -polypoidal:PLPT:PLPT -polyrhythm:PLR0:PLRT -polyscopic:PLSK:PLSK -polysemous:PLSM:PLSM -polysomies:PLSM:PLSM -polyspermy:PLSP:PLSP -polytheism:PL0S:PLTS -polytheist:PL0S:PLTS -polythelia:PL0L:PLTL -polytocous:PLTK:PLTK -polytropic:PLTR:PLTR -polyvalent:PLFL:PLFL -polyzoaria:PLSR:PLSR -pomeranian:PMRN:PMRN -pomiferous:PMFR:PMFR -pomologist:PMLJ:PMLK -ponderable:PNTR:PNTR -ponticulus:PNTK:PNTK -pontifical:PNTF:PNTF -pontifices:PNTF:PNTF -poorhouses:PRSS:PRSS -poppyheads:PPHT:PPHT -popranolol:PPRN:PPRN -popularity:PPLR:PPLR -popularize:PPLR:PPLR -populating:PPLT:PPLT -population:PPLX:PPLX -populously:PPLS:PPLS -porbeagles:PRPK:PRPK -porcelains:PRSL:PRSL -porcupines:PRKP:PRKP -poriferons:PRFR:PRFR -poriferous:PRFR:PRFR -pormomeric:PRMM:PRMM -pornocracy:PRNK:PRNK -porosities:PRST:PRST -porousness:PRSN:PRSN -porphyries:PRFR:PRFR -porphyroid:PRFR:PRFR -porringers:PRNK:PRNJ -portacaval:PRTK:PRTK -portamento:PRTM:PRTM -portcullis:PRTK:PRTK -portending:PRTN:PRTN -portentous:PRTN:PRTN -portfolios:PRTF:PRTF -portioners:PRXN:PRXN -portioning:PRXN:PRXN -portliness:PRTL:PRTL -portocaval:PRTK:PRTK -portrayals:PRTR:PRTR -portraying:PRTR:PRTR -portuguese:PRTK:PRTK -portulacas:PRTL:PRTL -positional:PSXN:PSXN -positioned:PSXN:PSXN -positively:PSTF:PSTF -positivism:PSTF:PSTF -positivist:PSTF:PSTF -positivity:PSTF:PSTF -posologies:PSLJ:PSLK -possessing:PSSN:PSSN -possession:PSSN:PSSN -possessive:PSSF:PSSF -possessors:PSSR:PSSR -possessory:PSSR:PSSR -possetting:PSTN:PSTN -possidendi:PSTN:PSTN -possidetis:PSTT:PSTT -postanoxic:PSTN:PSTN -postbellum:PSTP:PSTP -postcoital:PSTK:PSTK -postdating:PSTT:PSTT -posteriori:PSTR:PSTR -posteriors:PSTR:PSTR -postfixing:PSTF:PSTF -posthumous:PS0M:PSTM -postilions:PSTL:PSTL -postillion:PSTL:PSTL -postlimini:PSTL:PSTL -postliminy:PSTL:PSTL -postmarked:PSTM:PSTM -postmaster:PSTM:PSTM -postmedial:PSTM:PSTM -postmedian:PSTM:PSTM -postmortal:PSTM:PSTM -postmortem:PSTM:PSTM -postocular:PSTK:PSTK -postoffice:PSTF:PSTF -postpartal:PSTP:PSTP -postpartum:PSTP:PSTP -postponing:PSTP:PSTP -postscript:PSTS:PSTS -postseason:PSTS:PSTS -postulancy:PSTL:PSTL -postulants:PSTL:PSTL -postulated:PSTL:PSTL -postulates:PSTL:PSTL -postulator:PSTL:PSTL -potability:PTPL:PTPL -potamology:PTML:PTML -potbellied:PTPL:PTPL -potbellies:PTPL:PTPL -potboilers:PTPL:PTPL -potentates:PTNT:PTNT -potentials:PTNX:PTNX -potentiate:PTNX:PTNX -potentilla:PTNT:PTNT -potentness:PTNT:PTNT -potestatem:PTST:PTST -potholders:P0LT:PTLT -pothunters:P0NT:PTNT -pothunting:P0NT:PTNT -potlatches:PTLX:PTLX -potpourris:PTPR:PTPR -poulticing:PLTS:PLTS -poultryman:PLTR:PLTR -poultrymen:PLTR:PLTR -pourboires:PRPR:PRPR -pourparler:PRPR:PRPR -poussettes:PSTS:PSTS -powerboats:PRPT:PRPT -powerfully:PRFL:PRFL -powerhouse:PRS:PRS -pozzuolana:PSLN:PSLN -practicing:PRKT:PRKT -practising:PRKT:PRKT -praemunire:PRMN:PRMN -praetorian:PRTR:PRTR -praetorium:PRTR:PRTR -pragmatics:PRKM:PRKM -pragmatism:PRKM:PRKM -pragmatist:PRKM:PRKM -praisingly:PRSN:PRSN -prancingly:PRNS:PRNS -prandially:PRNT:PRNT -pranksters:PRNK:PRNK -pratincole:PRTN:PRTN -praxeology:PRKS:PRKS -praxiology:PRKS:PRKS -prayerless:PRRL:PRRL -preabsorbs:PRPS:PRPS -preaccepts:PRXP:PRXP -preachable:PRXP:PRKP -preachment:PRKM:PRKM -preadamite:PRTM:PRTM -preadapted:PRTP:PRTP -preaddress:PRTR:PRTR -preadjusts:PRTJ:PRTJ -preaffirms:PRFR:PRFR -preappoint:PRPN:PRPN -prearrange:PRRN:PRRN -preassigns:PRSN:PRSK -preattuned:PRTN:PRTN -preattunes:PRTN:PRTN -preaxially:PRKS:PRKS -prebendary:PRPN:PRPN -prebilling:PRPL:PRPL -preblessed:PRPL:PRPL -preblesses:PRPL:PRPL -preboiling:PRPL:PRPL -precancels:PRKN:PRKN -precarious:PRKR:PRKR -precasting:PRKS:PRKS -precaution:PRKX:PRKX -precedable:PRST:PRST -precedence:PRST:PRST -precedents:PRST:PRST -precensors:PRSN:PRSN -precentors:PRSN:PRSN -precentral:PRSN:PRSN -preceptive:PRSP:PRSP -preceptors:PRSP:PRSP -precessing:PRSS:PRSS -precession:PRSS:PRSS -prechecked:PRXK:PRKK -prechilled:PRXL:PRKL -prechordal:PRXR:PRKR -preciosity:PRSS:PRXS -preciously:PRSS:PRXS -precipiced:PRSP:PRSP -precipices:PRSP:PRSP -precipitin:PRSP:PRSP -precisians:PRSS:PRSX -precisions:PRSS:PRSX -precleaned:PRKL:PRKL -precluding:PRKL:PRKL -preclusion:PRKL:PRKL -preclusive:PRKL:PRKL -precocious:PRKS:PRKX -precollege:PRKL:PRKL -preconceal:PRKN:PRKN -preconcert:PRKN:PRKN -precondemn:PRKN:PRKN -preconises:PRKN:PRKN -preconized:PRKN:PRKN -preconizes:PRKN:PRKN -precooking:PRKK:PRKK -precordial:PRKR:PRKR -precordium:PRKR:PRKR -precursive:PRKR:PRKR -precursors:PRKR:PRKR -precursory:PRKR:PRKR -predaceous:PRTS:PRTS -predacious:PRTS:PRTX -predations:PRTX:PRTX -predecease:PRTS:PRTS -predefined:PRTF:PRTF -predefines:PRTF:PRTF -predesigns:PRTS:PRTS -predestine:PRTS:PRTS -predicable:PRTK:PRTK -predicably:PRTK:PRTK -predicants:PRTK:PRTK -predicated:PRTK:PRTK -predicates:PRTK:PRTK -predicator:PRTK:PRTK -predicting:PRTK:PRTK -prediction:PRTK:PRTK -predictive:PRTK:PRTK -predictors:PRTK:PRTK -predigests:PRTJ:PRTK -predispose:PRTS:PRTS -predivided:PRTF:PRTF -predivides:PRTF:PRTF -prednisone:PRTN:PRTN -predooming:PRTM:PRTM -preeminent:PRMN:PRMN -preempting:PRMP:PRMP -preemption:PRMP:PRMP -preemptive:PRMP:PRMP -preemptory:PRMP:PRMP -preengaged:PRNK:PRNK -preengages:PRNK:PRNK -preexamine:PRKS:PRKS -preexisted:PRKS:PRKS -preexposed:PRKS:PRKS -preexposes:PRKS:PRKS -prefecture:PRFK:PRFK -preferable:PRFR:PRFR -preferably:PRFR:PRFR -preference:PRFR:PRFR -preferment:PRFR:PRFR -preferrers:PRFR:PRFR -preferring:PRFR:PRFR -prefigured:PRFK:PRFK -prefigures:PRFK:PRFK -prefixally:PRFK:PRFK -preforming:PRFR:PRFR -prefranked:PRFR:PRFR -prefreezes:PRFR:PRFR -prefrontal:PRFR:PRFR -pregenital:PRJN:PRKN -preglacial:PRKL:PRKL -pregnantly:PRNN:PRKN -prehardens:PRHR:PRHR -preheating:PRHT:PRHT -prehensile:PRHN:PRHN -prehension:PRHN:PRHN -prehepatic:PRHP:PRHP -prehistory:PRHS:PRHS -prehominid:PRHM:PRHM -preinforms:PRNF:PRNF -preinserts:PRNS:PRNS -preinsulae:PRNS:PRNS -prejudging:PRJJ:PRJJ -prejudiced:PRJT:PRJT -prejudices:PRJT:PRJT -prelatical:PRLT:PRLT -prelexical:PRLK:PRLK -prelicence:PRLS:PRLS -prelicense:PRLS:PRLS -prelimited:PRLM:PRLM -prelocated:PRLK:PRLK -prelocates:PRLK:PRLK -premarital:PRMR:PRMR -premaxilla:PRMK:PRMK -premedical:PRMT:PRMT -premiering:PRMR:PRMR -premunized:PRMN:PRMN -premunizes:PRMN:PRMN -prenatally:PRNT:PRNT -prenominal:PRNM:PRNM -prenuptial:PRNP:PRNP -preordains:PRRT:PRRT -prepackage:PRPK:PRPK -prepacking:PRPK:PRPK -prepalatal:PRPL:PRPL -preparator:PRPR:PRPR -preparedly:PRPR:PRPR -prepayable:PRPP:PRPP -prepayment:PRPM:PRPM -preplanned:PRPL:PRPL -prepontine:PRPN:PRPN -prepossess:PRPS:PRPS -prepotency:PRPT:PRPT -preprinted:PRPR:PRPR -preprocess:PRPR:PRPR -preprogram:PRPR:PRPR -prepuberal:PRPP:PRPP -prepuberty:PRPP:PRPP -prepyloric:PRPL:PRPL -prereading:PRRT:PRRT -prerecords:PRRK:PRRK -preretinal:PRRT:PRRT -presageful:PRSJ:PRSK -presbyopia:PRSP:PRSP -presbyopic:PRSP:PRSP -presbyters:PRSP:PRSP -presbytery:PRSP:PRSP -prescience:PRSN:PRSN -prescoring:PRSK:PRSK -prescribed:PRSK:PRSK -prescriber:PRSK:PRSK -prescribes:PRSK:PRSK -prescripts:PRSK:PRSK -preselects:PRSL:PRSL -preselling:PRSL:PRSL -presentees:PRSN:PRSN -presenters:PRSN:PRSN -presenting:PRSN:PRSN -presentive:PRSN:PRSN -preservers:PRSR:PRSR -preserving:PRSR:PRSR -presetting:PRST:PRST -preshaping:PRXP:PRXP -preshrinks:PRXR:PRXR -presidency:PRST:PRST -presidents:PRST:PRST -presidiary:PRST:PRST -presidiums:PRST:PRST -presifting:PRSF:PRSF -presignify:PRSN:PRSK -preslavery:PRSL:PRSL -presoaking:PRSK:PRSK -pressingly:PRSN:PRSN -pressuring:PRSR:PRSR -pressurize:PRSR:PRSR -presternal:PRST:PRST -presternum:PRST:PRST -presumable:PRSM:PRSM -presumably:PRSM:PRSM -presumedly:PRSM:PRSM -presuppose:PRSP:PRSP -presylvian:PRSL:PRSL -presystole:PRSS:PRSS -pretenders:PRTN:PRTN -pretending:PRTN:PRTN -pretension:PRTN:PRTN -pretention:PRTN:PRTN -preterites:PRTR:PRTR -pretesting:PRTS:PRTS -prettified:PRTF:PRTF -prettifier:PRTF:PRTF -prettifies:PRTF:PRTF -prettiness:PRTN:PRTN -prevailers:PRFL:PRFL -prevailing:PRFL:PRFL -prevalence:PRFL:PRFL -prevenient:PRFN:PRFN -preventers:PRFN:PRFN -preventing:PRFN:PRFN -prevention:PRFN:PRFN -preventive:PRFN:PRFN -prevesical:PRFS:PRFS -previewers:PRFR:PRFR -previewing:PRFN:PRFN -previllous:PRFL:PRFL -previously:PRFS:PRFS -prevocalic:PRFK:PRFK -prewarming:PRRM:PRRM -prewashing:PRXN:PRXN -priapismic:PRPS:PRPS -prickliest:PRKL:PRKL -pridefully:PRTF:PRTF -priesthood:PRS0:PRST -priestlier:PRST:PRST -priggishly:PRKX:PRKX -primadonna:PRMT:PRMT -primafacie:PRMF:PRMF -primaquine:PRMK:PRMK -primevally:PRMF:PRMF -primiparae:PRMP:PRMP -primiparas:PRMP:PRMP -primitives:PRMT:PRMT -primordial:PRMR:PRMR -primordium:PRMR:PRMR -princelets:PRNS:PRNS -princelier:PRNS:PRNS -princelike:PRNS:PRNS -princeling:PRNS:PRNS -princesses:PRNS:PRNS -principals:PRNS:PRNS -principate:PRNS:PRNS -principiis:PRNS:PRNS -principium:PRNS:PRNS -principled:PRNS:PRNS -principles:PRNS:PRNS -printheads:PRN0:PRNT -printmaker:PRNT:PRNT -prioresses:PRRS:PRRS -priorities:PRRT:PRRT -prioritize:PRRT:PRRT -prismatoid:PRSM:PRSM -prismoidal:PRSM:PRSM -prissiness:PRSN:PRSN -privateers:PRFT:PRFT -privations:PRFX:PRFX -privatized:PRFT:PRFT -privatizes:PRFT:PRFT -privileged:PRFL:PRFL -privileges:PRFL:PRFL -prizefight:PRSF:PRSF -proamnions:PRMN:PRMN -probations:PRPX:PRPX -probenecid:PRPN:PRPN -proboycott:PRPK:PRPK -procambial:PRKM:PRKM -procambium:PRKM:PRKM -procaryote:PRKR:PRKR -procedendo:PRST:PRST -procedural:PRST:PRST -procedures:PRST:PRST -proceeders:PRST:PRST -proceeding:PRST:PRST -procercoid:PRSR:PRSR -processers:PRSS:PRSS -processing:PRSS:PRSS -procession:PRSS:PRSS -processors:PRSS:PRSS -prochordal:PRXR:PRKR -proclaimed:PRKL:PRKL -proclaimer:PRKL:PRKL -proclivity:PRKL:PRKL -proconsuls:PRKN:PRKN -procreated:PRKR:PRKR -procreates:PRKR:PRKR -procreator:PRKR:PRKR -procrustes:PRKR:PRKR -procryptic:PRKR:PRKR -proctalgia:PRKT:PRKT -proctodaea:PRKT:PRKT -proctodeum:PRKT:PRKT -proctology:PRKT:PRKT -proctorial:PRKT:PRKT -proctoring:PRKT:PRKT -procumbent:PRKM:PRKM -procurable:PRKR:PRKR -procurator:PRKR:PRKR -prodigally:PRTK:PRTK -prodigious:PRTJ:PRTK -prodromata:PRTR:PRTR -producible:PRTS:PRTS -production:PRTK:PRTK -productive:PRTK:PRTK -proestrums:PRST:PRST -profascist:PRFS:PRFS -professeur:PRFS:PRFS -professing:PRFS:PRFS -profession:PRFS:PRFS -professors:PRFS:PRFS -profferers:PRFR:PRFR -proffering:PRFR:PRFR -proficient:PRFS:PRFX -profitable:PRFT:PRFT -profitably:PRFT:PRFT -profiteers:PRFT:PRFT -profitless:PRFT:PRFT -profitters:PRFT:PRFT -proflavine:PRFL:PRFL -profligacy:PRFL:PRFL -profligate:PRFL:PRFL -proforeign:PRFR:PRFR -profounder:PRFN:PRFN -profoundly:PRFN:PRFN -profundity:PRFN:PRFN -progenitor:PRJN:PRKN -proglottid:PRKL:PRKL -proglottis:PRKL:PRKL -prognathic:PRN0:PRKN -prognostic:PRNS:PRKN -programmed:PRKR:PRKR -programmer:PRKR:PRKR -programmes:PRKR:PRKR -progressed:PRKR:PRKR -progresses:PRKR:PRKR -prohibited:PRHP:PRHP -prohibiter:PRHP:PRHP -prohibitor:PRHP:PRHP -prohibitum:PRHP:PRHP -projectile:PRJK:PRJK -projecting:PRJK:PRJK -projection:PRJK:PRJK -projective:PRJK:PRJK -projectors:PRJK:PRJK -projicient:PRJS:PRJX -prokaryote:PRKR:PRKR -prolapsing:PRLP:PRLP -prolifical:PRLF:PRLF -proligerus:PRLJ:PRLK -prolocutor:PRLK:PRLK -prologuing:PRLK:PRLK -prolongers:PRLN:PRLN -prolonging:PRLN:PRLN -prolusions:PRLS:PRLX -promenaded:PRMN:PRMN -promenader:PRMN:PRMN -promenades:PRMN:PRMN -promethean:PRM0:PRMT -prometheus:PRM0:PRMT -promethium:PRM0:PRMT -prominence:PRMN:PRMN -prominency:PRMN:PRMN -promissory:PRMS:PRMS -promontory:PRMN:PRMN -promotable:PRMT:PRMT -promotions:PRMX:PRMX -promptbook:PRMP:PRMP -promptings:PRMP:PRMP -promptness:PRMP:PRMP -promulgate:PRML:PRML -promycelia:PRMS:PRMS -pronephric:PRNF:PRNF -pronephroi:PRNF:PRNF -pronephron:PRNF:PRNF -pronephros:PRNF:PRNF -pronghorns:PRNK:PRNK -pronograde:PRNK:PRNK -pronominal:PRNM:PRNM -pronounced:PRNN:PRNN -pronouncer:PRNN:PRNN -pronounces:PRNN:PRNN -pronuclear:PRNK:PRNK -pronucleus:PRNK:PRNK -proofreads:PRFR:PRFR -propagable:PRPK:PRPK -propaganda:PRPK:PRPK -propagated:PRPK:PRPK -propagates:PRPK:PRPK -propagator:PRPK:PRPK -propagules:PRPK:PRPK -propalinal:PRPL:PRPL -propellant:PRPL:PRPL -propellent:PRPL:PRPL -propellers:PRPL:PRPL -propelling:PRPL:PRPL -propensity:PRPN:PRPN -properness:PRPR:PRPR -propertied:PRPR:PRPR -properties:PRPR:PRPR -prophecies:PRFS:PRFX -prophesied:PRFS:PRFS -prophesier:PRFS:PRFS -prophesies:PRFS:PRFS -prophetess:PRFT:PRFT -propionate:PRPN:PRPN -propitiate:PRPX:PRPX -propitious:PRPT:PRPT -proponents:PRPN:PRPN -proportion:PRPR:PRPR -proposable:PRPS:PRPS -propositus:PRPS:PRPS -propounded:PRPN:PRPN -propounder:PRPN:PRPN -proprietor:PRPR:PRPR -propulsion:PRPL:PRPL -propulsive:PRPL:PRPL -propulsory:PRPL:PRPL -prorations:PRRX:PRRX -prorogated:PRRK:PRRK -proroguing:PRRK:PRRK -proscenium:PRSN:PRSN -prosciutto:PRST:PRST -proscribed:PRSK:PRSK -proscriber:PRSK:PRSK -proscribes:PRSK:PRSK -prosection:PRSK:PRSK -prosecuted:PRSK:PRSK -prosecutes:PRSK:PRSK -prosecutor:PRSK:PRSK -proselyted:PRSL:PRSL -proselytes:PRSL:PRSL -proselytic:PRSL:PRSL -proslavery:PRSL:PRSL -prosocoele:PRSK:PRSK -prosodemic:PRST:PRST -prosodical:PRST:PRST -prosopical:PRSP:PRSP -prospected:PRSP:PRSP -prospector:PRSP:PRSP -prospectus:PRSP:PRSP -prospering:PRSP:PRSP -prosperity:PRSP:PRSP -prosperous:PRSP:PRSP -prostatism:PRST:PRST -prosternum:PRST:PRST -prostheses:PRS0:PRST -prosthesis:PRS0:PRST -prosthetic:PRS0:PRST -prostomial:PRST:PRST -prostomium:PRST:PRST -prostrated:PRST:PRST -prostrates:PRST:PRST -protanopia:PRTN:PRTN -protanopic:PRTN:PRTN -protecting:PRTK:PRTK -protection:PRTK:PRTK -protective:PRTK:PRTK -protectors:PRTK:PRTK -protectory:PRTK:PRTK -proteinase:PRTN:PRTN -proteinate:PRTN:PRTN -proteinoid:PRTN:PRTN -proteinous:PRTN:PRTN -protestant:PRTS:PRTS -protesters:PRTS:PRTS -protesting:PRTS:PRTS -protestors:PRTS:PRTS -prothallic:PR0L:PRTL -prothallus:PR0L:PRTL -protoblast:PRTP:PRTP -protoconid:PRTK:PRTK -protohuman:PRTH:PRTH -protonemal:PRTN:PRTN -protopathy:PRTP:PRTP -protophyta:PRTF:PRTF -protophyte:PRTF:PRTF -protoplasm:PRTP:PRTP -protoplast:PRTP:PRTP -protospasm:PRTS:PRTS -protostele:PRTS:PRTS -prototroph:PRTT:PRTT -prototropy:PRTT:PRTT -prototypal:PRTT:PRTT -prototyped:PRTT:PRTT -prototypes:PRTT:PRTT -prototypic:PRTT:PRTT -protoxylem:PRTK:PRTK -protozoans:PRTS:PRTS -protracted:PRTR:PRTR -protractor:PRTR:PRTR -protrudent:PRTR:PRTR -protruding:PRTR:PRTR -protrusile:PRTR:PRTR -protrusion:PRTR:PRTR -protrusive:PRTR:PRTR -provenance:PRFN:PRFN -provencale:PRFN:PRFN -proverbial:PRFR:PRFR -providence:PRFT:PRFT -provincial:PRFN:PRFN -provisions:PRFS:PRFX -provitamin:PRFT:PRFT -proximally:PRKS:PRKS -prudential:PRTN:PRTN -prudentism:PRTN:PRTN -prudentist:PRTN:PRTN -pruriently:PRRN:PRRN -psalmodies:SLMT:SLMT -psalmodist:SLMT:SLMT -psalterial:SLTR:SLTR -psalterium:SLTR:SLTR -psammomata:SMMT:SMMT -psephology:SFLJ:SFLK -pseudocarp:STKR:STKR -pseudocyst:STSS:STSS -pseudonyme:STNM:STNM -pseudonyms:STNM:STNM -pseudopsia:STPS:STPX -psilocybin:SLSP:SLSP -psittacine:STSN:STSN -psychagogy:SXKJ:SKKK -psychalgia:SXLJ:SKLK -psychiatry:SKTR:SKTR -psychogeny:SXJN:SKKN -psychogram:SXKR:SKKR -psychology:SXLJ:SKLK -psychonomy:SXNM:SKNM -psychopath:SXP0:SKPT -psychotics:SXTK:SKTK -ptarmigans:PTRM:PTRM -pterosaurs:PTRS:PTRS -pterygiums:PTRJ:PTRK -puberulent:PPRL:PPRL -pubescence:PPSN:PPSN -publicists:PPLS:PPLS -publicized:PPLS:PPLS -publicizes:PPLS:PPLS -publishers:PPLX:PPLX -publishing:PPLX:PPLX -puerperium:PRPR:PRPR -pugilistic:PJLS:PKLS -pugnacious:PNSS:PKNX -puissantly:PSNT:PSNT -pullulated:PLLT:PLLT -pullulates:PLLT:PLLT -pulmometry:PLMM:PLMM -pulmonalia:PLMN:PLMN -pulpectomy:PLPK:PLPK -pulpiteers:PLPT:PLPT -pulsatilla:PLST:PLST -pulsations:PLSX:PLSX -pultaceous:PLTS:PLTS -pulverable:PLFR:PLFR -pulverized:PLFR:PLFR -pulverizer:PLFR:PLFR -pulverizes:PLFR:PLFR -pulvinated:PLFN:PLFN -punchballs:PNXP:PNKP -punchboard:PNXP:PNKP -punchbowls:PNXP:PNKP -punctation:PNKT:PNKT -punctiform:PNKT:PNKT -punctilios:PNKT:PNKT -punctually:PNKT:PNKT -punctuated:PNKT:PNKT -punctuates:PNKT:PNKT -punctuator:PNKT:PNKT -puncturing:PNKT:PNKT -punishable:PNXP:PNXP -punishably:PNXP:PNXP -punishment:PNXM:PNXM -punitively:PNTF:PNTF -pupiparous:PPPR:PPPR -puppeteers:PPTR:PPTR -purchasers:PRXS:PRKS -purchasing:PRXS:PRKS -purgations:PRKX:PRKX -purgatives:PRKT:PRKT -puritanism:PRTN:PRTN -purkinjean:PRKN:PRKN -purloiners:PRLN:PRLN -purloining:PRLN:PRLN -purparties:PRPR:PRPR -purpleness:PRPL:PRPL -purporters:PRPR:PRPR -purporting:PRPR:PRPR -purposeful:PRPS:PRPS -pursuantly:PRSN:PRSN -pursuivant:PRSF:PRSF -purulences:PRLN:PRLN -purulently:PRLN:PRLN -purveyance:PRFN:PRFN -pushchairs:PXXR:PXKR -pussyfoots:PSFT:PSFT -pustulated:PSTL:PSTL -pustulates:PSTL:PSTL -pustuloses:PSTL:PSTL -pustulosis:PSTL:PSTL -putatively:PTTF:PTTF -putrefying:PTRF:PTRF -putrescent:PTRS:PTRS -putrescine:PTRS:PTRS -putridness:PTRT:PTRT -puzzlement:PSLM:PSLM -puzzlingly:PSLN:PSLN -pyelograph:PLKR:PLKR -pyelostomy:PLST:PLST -pyknolepsy:PKNL:PKNL -pylorotomy:PLRT:PLRT -pyocyanase:PSNS:PSNS -pyocyanine:PSNN:PSNN -pyogenesis:PJNS:PKNS -pyogenicum:PJNK:PKNK -pyopoieses:PPSS:PPSS -pyopoiesis:PPSS:PPSS -pyorrhoeal:PRL:PRL -pyorrhoeic:PRK:PRK -pyosalpinx:PSLP:PSLP -pyracantha:PRKN:PRKN -pyramidale:PRMT:PRMT -pyramiding:PRMT:PRMT -pyrethroid:PR0R:PRTR -pyridoxine:PRTK:PRTK -pyriformis:PRFR:PRFR -pyrilamine:PRLM:PRLM -pyrimidine:PRMT:PRMT -pyrogallic:PRKL:PRKL -pyrogallol:PRKL:PRKL -pyrogenous:PRJN:PRKN -pyrography:PRKR:PRKR -pyrolusite:PRLS:PRLS -pyrolyzing:PRLS:PRLS -pyromancer:PRMN:PRMN -pyromaniac:PRMN:PRMN -pyromantic:PRMN:PRMN -pyrophobia:PRFP:PRFP -pyrophoric:PRFR:PRFR -pyrostatic:PRST:PRST -pyrotechny:PRTK:PRTK -pyroxenite:PRKS:PRKS -pyrrhotite:PRTT:PRTT -pythagoras:P0KR:PTKR -pythogenic:P0JN:PTKN -quackeries:KKRS:KKRS -quackishly:KKXL:KKXL -quadrangle:KTRN:KTRN -quadrantal:KTRN:KTRN -quadratics:KTRT:KTRT -quadrating:KTRT:KTRT -quadrature:KTRT:KTRT -quadrennia:KTRN:KTRN -quadriceps:KTRS:KTRS -quadrilles:KTRL:KTRL -quadrisect:KTRS:KTRS -quadrivial:KTRF:KTRF -quadrivium:KTRF:KTRF -quadrumvir:KTRM:KTRM -quadrupeds:KTRP:KTRP -quadrupled:KTRP:KTRP -quadruples:KTRP:KTRP -quadruplet:KTRP:KTRP -quadruplex:KTRP:KTRP -quagginess:KJNS:KKNS -quaintness:KNTN:KNTN -qualifiers:KLFR:KLFR -qualifying:KLFN:KLFN -qualmishly:KLMX:KLMX -quandaries:KNTR:KNTR -quantasome:KNTS:KNTS -quantified:KNTF:KNTF -quantifier:KNTF:KNTF -quantifies:KNTF:KNTF -quantities:KNTT:KNTT -quantizing:KNTS:KNTS -quarantine:KRNT:KRNT -quarrelers:KRLR:KRLR -quarreling:KRLN:KRLN -quarterage:KRTR:KRTR -quartering:KRTR:KRTR -quartersaw:KRTR:KRTR -quaternary:KTRN:KTRN -quaternion:KTRN:KTRN -quaternity:KTRN:KTRN -quatrefoil:KTRF:KTRF -queasiness:KSNS:KSNS -quebrachos:KPRK:KPRK -queencakes:KNKK:KNKK -queenliest:KNLS:KNLS -queensland:KNSL:KNSL -quenchable:KNXP:KNKP -quenchless:KNXL:KNKL -quernstone:KRNS:KRNS -questingly:KSTN:KSTN -questioned:KSXN:KSXN -questioner:KSXN:KSXN -quickeners:KKNR:KKNR -quickening:KKNN:KKNN -quicksteps:KKST:KKST -quickthorn:KK0R:KKTR -quiddities:KTTS:KTTS -quidproquo:KTPR:KTPR -quiescence:KSNS:KSNS -quiescency:KSNS:KSNS -quietening:KTNN:KTNN -quietistic:KTST:KTST -quinacrine:KNKR:KNKR -quinaldine:KNLT:KNLT -quintupled:KNTP:KNTP -quintuples:KNTP:KNTP -quintuplet:KNTP:KNTP -quirkiness:KRKN:KRKN -quitclaims:KTKL:KTKL -quittances:KTNS:KTNS -quizmaster:KSMS:KSMS -qunatising:KNTS:KNTS -quodammodo:KTMT:KTMT -quotations:KTXN:KTXN -rabbinates:RPNT:RPNT -rabbinical:RPNK:RPNK -rabbitfish:RPTF:RPTF -rabbitries:RPTR:RPTR -rabblement:RPLM:RPLM -racebaiter:RSPT:RSPT -racecourse:RSKR:RSKR -racehorses:RSHR:RSHR -racemizing:RSMS:RSMS -racemosely:RSMS:RSMS -racetracks:RSTR:RSTR -rachitides:RXTT:RKTT -racialists:RSLS:RXLS -racketeers:RKTR:RKTR -raconteurs:RKNT:RKNT -radarscope:RTRS:RTRS -radiancies:RTNS:RTNX -radiations:RTXN:RTXN -radicalism:RTKL:RTKL -radicalize:RTKL:RTKL -radiferous:RTFR:RTFR -radiogenic:RTJN:RTKN -radiograms:RTKR:RTKR -radiograph:RTKR:RTKR -radiologic:RTLJ:RTLK -radiolysis:RTLS:RTLS -radiometry:RTMT:RTMT -radiopaque:RTPK:RTPK -radiophone:RTFN:RTFN -radiophony:RTFN:RTFN -radioscope:RTSK:RTSK -radioscopy:RTSK:RTSK -radiosonde:RTSN:RTSN -radiotoxic:RTTK:RTTK -radioulnar:RTLN:RTLN -ragamuffin:RKMF:RKMF -raggedness:RKTN:RKTN -railleries:RLRS:RLRS -railroaded:RLRT:RLRT -railroader:RLRT:RLRT -railwayman:RLMN:RLMN -railwaymen:RLMN:RLMN -rainforest:RNFR:RNFR -rainmakers:RNMK:RNMK -rainmaking:RNMK:RNMK -rainproofs:RNPR:RNPR -rainstorms:RNST:RNST -rakishness:RKXN:RKXN -rallycross:RLKR:RLKR -ramblingly:RMPL:RMPL -rampageous:RMPJ:RMPK -ramshackle:RMXK:RMXK -rancidness:RNST:RNST -randomized:RNTM:RNTM -randomizer:RNTM:RNTM -randomizes:RNTM:RNTM -randomness:RNTM:RNTM -rangelands:RNJL:RNKL -ranklingly:RNKL:RNKL -ransackers:RNSK:RNSK -ransacking:RNSK:RNSK -ransomable:RNSM:RNSM -ranunculus:RNNK:RNNK -rapporteur:RPRT:RPRT -rarefiable:RRFP:RRFP -ratability:RTPL:RTPL -ratepayers:RTPR:RTPR -ratifiable:RTFP:RTFP -rationales:RXNL:RXNL -rationally:RXNL:RXNL -rattletrap:RTLT:RTLT -raunchiest:RNXS:RNKS -ravagement:RFJM:RFKM -raveningly:RFNN:RFNN -ravenously:RFNS:RFNS -ravishment:RFXM:RFXM -razorbacks:RSRP:RTSR -razorbills:RSRP:RSRP -razzmatazz:RSMT:RSMT -reabandons:RPNT:RPNT -reabsorbed:RPSR:RPSR -reacceding:RXTN:RXTN -reaccented:RXNT:RXNT -reaccepted:RXPT:RXPT -reaccredit:RKRT:RKRT -reaccusing:RKSN:RKSN -reaccustom:RKST:RKST -reacquaint:RKNT:RKNT -reacquired:RKRT:RKRT -reacquires:RKRS:RKRS -reactional:RKXN:RKXN -reactivate:RKTF:RKTF -reactively:RKTF:RKTF -reactivity:RKTF:RKTF -readapting:RTPT:RTPT -readership:RTRX:RTRX -readjourns:RTJR:RTJR -readjusted:RTJS:RTJS -readjuster:RTJS:RTJS -readmitted:RTMT:RTMT -readopting:RTPT:RTPT -readoption:RTPX:RTPX -reaffirmed:RFRM:RFRM -reafforest:RFRS:RFRS -reagencies:RJNS:RKNX -realigning:RLNN:RLKN -realisably:RLSP:RLSP -realizable:RLSP:RLSP -realizably:RLSP:RLSP -reallocate:RLKT:RLKT -reallotted:RLTT:RLTT -realtering:RLTR:RLTR -reanalysis:RNLS:RNLS -reanalyzed:RNLS:RNLS -reanalyzes:RNLS:RNLS -reanimated:RNMT:RNMT -reanimates:RNMT:RNMT -reannexing:RNKS:RNKS -reappeared:RPRT:RPRT -reapplying:RPLN:RPLN -reappoints:RPNT:RPNT -reappraise:RPRS:RPRS -rearguards:RRKR:RRKR -reargument:RRKM:RRKM -rearmament:RRMM:RRMM -rearousals:RRSL:RRSL -rearousing:RRSN:RRSN -rearranged:RRNJ:RRNK -rearranger:RRNK:RRNJ -rearranges:RRNJ:RRNK -rearrested:RRST:RRST -reascended:RSNT:RSNT -reasonable:RSNP:RSNP -reasonably:RSNP:RSNP -reasonedly:RSNT:RSNT -reasonings:RSNN:RSNN -reasonless:RSNL:RSNL -reassemble:RSMP:RSMP -reassembly:RSMP:RSMP -reasserted:RSRT:RSRT -reassessed:RSST:RSST -reassesses:RSSS:RSSS -reassigned:RSNT:RSKN -reassorted:RSRT:RSRT -reassuming:RSMN:RSMN -reassurers:RSRR:RSRR -reassuring:RSRN:RSRN -reattached:RTXT:RTKT -reattaches:RTXS:RTKS -reattained:RTNT:RTNT -reattempts:RTMP:RTMP -reawakened:RKNT:RKNT -rebaptized:RPPT:RPPT -rebaptizes:RPPT:RPPT -rebateable:RPTP:RPTP -rebatement:RPTM:RPTM -rebellions:RPLN:RPLN -rebellious:RPLS:RPLS -rebiddable:RPTP:RPTP -rebounding:RPNT:RPNT -rebroadens:RPRT:RPRT -rebuilding:RPLT:RPLT -rebukingly:RPKN:RPKN -rebuttable:RPTP:RPTP -rebuttably:RPTP:RPTP -rebuttoned:RPTN:RPTN -recalesced:RKLS:RKLS -recalesces:RKLS:RKLS -recallable:RKLP:RKLP -recallment:RKLM:RKLM -recappable:RKPP:RKPP -recaptured:RKPT:RKPT -recaptures:RKPT:RKPT -recautions:RKXN:RKXN -receipting:RSPT:RSPT -receivable:RSFP:RSFP -recensions:RSNS:RSNX -recentness:RSNT:RSNT -receptacle:RSPT:RSPT -receptions:RSPX:RSPX -recessions:RSSN:RSSN -rechargers:RXRK:RKRJ -recharging:RXRJ:RKRK -recharters:RXRT:RKRT -recharting:RXRT:RKRT -rechecking:RXKN:RKKN -rechristen:RKRS:RKRS -recidivate:RSTF:RSTF -recidivism:RSTF:RSTF -recidivist:RSTF:RSTF -recidivous:RSTF:RSTF -recipience:RSPN:RSPN -recipients:RSPN:RSPN -reciprocal:RSPR:RSPR -recitalist:RSTL:RSTL -recitation:RSTX:RSTX -recitative:RSTT:RSTT -recklessly:RKLS:RKLS -reckonings:RKNN:RKNN -reclaimant:RKLM:RKLM -reclaimers:RKLM:RKLM -reclaiming:RKLM:RKLM -reclassify:RKLS:RKLS -recleaning:RKLN:RKLN -reclinable:RKLN:RKLN -reclothing:RKL0:RKLT -recodified:RKTF:RKTF -recodifies:RKTF:RKTF -recognisee:RKNS:RKKN -recognisor:RKNS:RKKN -recognitor:RKNT:RKKN -recognized:RKNS:RKKN -recognizee:RKNS:RKKN -recognizer:RKNS:RKKN -recognizes:RKNS:RKKN -recognizor:RKNS:RKKN -recognosce:RKNS:RKKN -recoilless:RKLS:RKLS -recollects:RKLK:RKLK -recolonize:RKLN:RKLN -recoloring:RKLR:RKLR -recombined:RKMP:RKMP -recombines:RKMP:RKMP -recommence:RKMN:RKMN -recommends:RKMN:RKMN -recompense:RKMP:RKMP -recompiled:RKMP:RKMP -recomposed:RKMP:RKMP -recomposes:RKMP:RKMP -recompound:RKMP:RKMP -recomputed:RKMP:RKMP -recomputes:RKMP:RKMP -reconciled:RKNS:RKNS -reconciler:RKNS:RKNS -reconciles:RKNS:RKNS -reconcilor:RKNS:RKNS -recondense:RKNT:RKNT -reconfirms:RKNF:RKNF -reconnects:RKNK:RKNK -reconquers:RKNK:RKNK -reconquest:RKNK:RKNK -reconsider:RKNS:RKNS -reconsigns:RKNS:RKNS -recontests:RKNT:RKNT -recontract:RKNT:RKNT -reconvened:RKNF:RKNF -reconvenes:RKNF:RKNF -reconverts:RKNF:RKNF -reconveyed:RKNF:RKNF -reconvicts:RKNF:RKNF -recordable:RKRT:RKRT -recordings:RKRT:RKRT -recordists:RKRT:RKRT -recounting:RKNT:RKNT -recoupable:RKPP:RKPP -recoupment:RKPM:RKPM -recoverees:RKFR:RKFR -recoverers:RKFR:RKFR -recoveries:RKFR:RKFR -recovering:RKFR:RKFR -recreantly:RKRN:RKRN -recreating:RKRT:RKRT -recreation:RKRX:RKRX -recreative:RKRT:RKRT -recreators:RKRT:RKRT -recrossing:RKRS:RKRS -recrowning:RKRN:RKRN -recrudesce:RKRT:RKRT -recruiters:RKRT:RKRT -recruiting:RKRT:RKRT -rectangles:RKTN:RKTN -rectifiers:RKTF:RKTF -rectifying:RKTF:RKTF -rectorates:RKTR:RKTR -rectorship:RKTR:RKTR -rectoscope:RKTS:RKTS -recumbence:RKMP:RKMP -recumbency:RKMP:RKMP -recuperate:RKPR:RKPR -recurrence:RKRN:RKRN -recursions:RKRS:RKRX -recusation:RKSX:RKSX -recyclable:RSKL:RSKL -redbreasts:RTPR:RTPR -redcurrant:RTKR:RTKR -redeclared:RTKL:RTKL -redeclares:RTKL:RTKL -redecorate:RTKR:RTKR -rededicate:RTTK:RTTK -redeemable:RTMP:RTMP -redeemably:RTMP:RTMP -redefining:RTFN:RTFN -redelivers:RTLF:RTLF -redelivery:RTLF:RTLF -redemanded:RTMN:RTMN -redemising:RTMS:RTMS -redemption:RTMP:RTMP -redemptive:RTMP:RTMP -redemptory:RTMP:RTMP -redeployed:RTPL:RTPL -redeposits:RTPS:RTPS -redescends:RTSN:RTSN -redescribe:RTSK:RTSK -redesigned:RTSN:RTSK -redevelops:RTFL:RTFL -redialling:RTLN:RTLN -redigested:RTJS:RTKS -redimendam:RTMN:RTMN -redirected:RTRK:RTRK -rediscount:RTSK:RTSK -rediscover:RTSK:RTSK -redisplays:RTSP:RTSP -redissolve:RTSL:RTSL -redistills:RTST:RTST -redistrict:RTST:RTST -redividing:RTFT:RTFT -redivision:RTFS:RTFX -redolently:RTLN:RTLN -redoubling:RTPL:RTPL -redounding:RTNT:RTNT -redrafting:RTRF:RTRF -redressing:RTRS:RTRS -redrilling:RTRL:RTRL -reductions:RTKX:RTKX -redundance:RTNT:RTNT -redundancy:RTNT:RTNT -reduviidae:RTFT:RTFT -reeducated:RTKT:RTKT -reeducates:RTKT:RTKT -reelecting:RLKT:RLKT -reelection:RLKX:RLKX -reembarked:RMPR:RMPR -reembodied:RMPT:RMPT -reembodies:RMPT:RMPT -reemergent:RMRJ:RMRK -reemerging:RMRJ:RMRK -reemphasis:RMFS:RMFS -reemployed:RMPL:RMPL -reenacting:RNKT:RNKT -reenclosed:RNKL:RNKL -reencloses:RNKL:RNKL -reendowing:RNTN:RNTN -reenforced:RNFR:RNFR -reenforces:RNFR:RNFR -reengaging:RNKJ:RNKK -reenjoying:RNJN:RNJN -reenlarged:RNLR:RNLR -reenlarges:RNLR:RNLR -reenlisted:RNLS:RNLS -reenslaved:RNSL:RNSL -reenslaves:RNSL:RNSL -reentering:RNTR:RNTR -reentrance:RNTR:RNTR -reequipped:RKPT:RKPT -reerecting:RRKT:RRKT -reevaluate:RFLT:RFLT -reexamined:RKSM:RKSM -reexaminer:RKSM:RKSM -reexamines:RKSM:RKSM -reexchange:RKSN:RKSN -reexhibits:RKSP:RKSP -reexistent:RKSS:RKSS -reexisting:RKSS:RKSS -reexported:RKSP:RKSP -reexporter:RKSP:RKSP -refashions:RFXN:RFXN -refastened:RFST:RFST -refections:RFKX:RFKX -refereeing:RFRN:RFRN -referenced:RFRN:RFRN -referencee:RFRN:RFRN -referencer:RFRN:RFRN -references:RFRN:RFRN -referendal:RFRN:RFRN -referendum:RFRN:RFRN -referenial:RFRN:RFRN -referrable:RFRP:RFRP -refillable:RFLP:RFLP -refiltered:RFLT:RFLT -refinanced:RFNN:RFNN -refinances:RFNN:RFNN -refinement:RFNM:RFNM -refineries:RFNR:RFNR -refinished:RFNX:RFNX -refinisher:RFNX:RFNX -refinishes:RFNX:RFNX -refitments:RFTM:RFTM -reflecting:RFLK:RFLK -reflection:RFLK:RFLK -reflective:RFLK:RFLK -reflectors:RFLK:RFLK -reflexible:RFLK:RFLK -reflexives:RFLK:RFLK -refloating:RFLT:RFLT -reflooding:RFLT:RFLT -reflowered:RFLR:RFLR -refocusing:RFKS:RFKS -refocussed:RFKS:RFKS -refocusses:RFKS:RFKS -reforested:RFRS:RFRS -reformable:RFRM:RFRM -reformists:RFRM:RFRM -refractile:RFRK:RFRK -refracting:RFRK:RFRK -refraction:RFRK:RFRK -refractive:RFRK:RFRK -refractors:RFRK:RFRK -refractory:RFRK:RFRK -refracture:RFRK:RFRK -refrainers:RFRN:RFRN -refraining:RFRN:RFRN -refreezing:RFRS:RFRS -refreshers:RFRX:RFRX -refreshful:RFRX:RFRX -refreshing:RFRX:RFRX -refringent:RFRN:RFRN -refugeeism:RFJS:RFKS -refulgence:RFLJ:RFLK -refundable:RFNT:RFNT -refundment:RFNT:RFNT -refutation:RFTX:RFTX -refutatory:RFTT:RFTT -regainable:RKNP:RKNP -regalement:RKLM:RKLM -regalities:RKLT:RKLT -regardable:RKRT:RKRT -regardless:RKRT:RKRT -regathered:RK0R:RKTR -regelating:RJLT:RKLT -regelation:RJLX:RKLX -regeneracy:RJNR:RKNR -regenerate:RJNR:RKNR -regentship:RJNT:RKNT -regimental:RJMN:RKMN -regimented:RJMN:RKMN -regionally:RJNL:RKNL -registered:RJST:RKST -registerer:RJST:RKST -registrant:RJST:RKST -registrars:RJST:RKST -registries:RJST:RKST -reglossing:RKLS:RKLS -regnancies:RNNS:RKNN -regressing:RKRS:RKRS -regression:RKRS:RKRS -regressive:RKRS:RKRS -regressors:RKRS:RKRS -regretters:RKRT:RKRT -regretting:RKRT:RKRT -regrouping:RKRP:RKRP -regularity:RKLR:RKLR -regularize:RKLR:RKLR -regulating:RKLT:RKLT -regulation:RKLX:RKLX -regulative:RKLT:RKLT -regulators:RKLT:RKLT -regulatory:RKLT:RKLT -rehalation:RHLX:RHLX -rehandling:RHNT:RHNT -rehardened:RHRT:RHRT -rehearings:RHRN:RHRN -rehearsals:RHRS:RHRS -rehearsers:RHRS:RHRS -rehearsing:RHRS:RHRS -reheatable:RHTP:RHTP -rehumanize:RHMN:RHMN -rehydrated:RHTR:RHTR -reigniting:RNTN:RKNT -reimbursed:RMPR:RMPR -reimburser:RMPR:RMPR -reimburses:RMPR:RMPR -reimported:RMPR:RMPR -reimporter:RMPR:RMPR -reimposing:RMPS:RMPS -reimprison:RMPR:RMPR -reincurred:RNKR:RNKR -reinducing:RNTS:RNTS -reinducted:RNTK:RNTK -reinfected:RNFK:RNFK -reinfested:RNFS:RNFS -reinflamed:RNFL:RNFL -reinflames:RNFL:RNFL -reinforced:RNFR:RNFR -reinforcer:RNFR:RNFR -reinforces:RNFR:RNFR -reinformed:RNFR:RNFR -reinfusing:RNFS:RNFS -reinfusion:RNFS:RNFX -reinscribe:RNSK:RNSK -reinserted:RNSR:RNSR -reinspects:RNSP:RNSP -reinstalls:RNST:RNST -reinstated:RNST:RNST -reinstates:RNST:RNST -reinstator:RNST:RNST -reinstruct:RNST:RNST -reinsuring:RNSR:RNSR -reinterred:RNTR:RNTR -reintrench:RNTR:RNTR -reinvading:RNFT:RNFT -reinvasion:RNFS:RNFX -reinvented:RNFN:RNFN -reinvested:RNFS:RNFS -reinviting:RNFT:RNFT -reinvoking:RNFK:RNFK -reinvolved:RNFL:RNFL -reinvolves:RNFL:RNFL -reissuable:RSPL:RSPL -reissuance:RSNS:RSNS -reiterated:RTRT:RTRT -reiterates:RTRT:RTRT -reiternant:RTRN:RTRN -rejectable:RJKT:RJKT -rejections:RJKX:RJKX -rejoinders:RJNT:RHNT -rejuvenate:RJFN:RJFN -rekeyboard:RKPR:RKPR -rekindling:RKNT:RKNT -relabeling:RLPL:RLPL -relational:RLXN:RLXN -relationes:RLXN:RLXN -relatively:RLTF:RLTF -relativism:RLTF:RLTF -relativist:RLTF:RLTF -relativity:RLTF:RLTF -relativize:RLTF:RLTF -relatrixes:RLTR:RLTR -relaunders:RLNT:RLNT -relaxation:RLKS:RLKS -relearning:RLRN:RLRN -releasable:RLSP:RLSP -releasible:RLSP:RLSP -relegating:RLKT:RLKT -relegation:RLKX:RLKX -relentless:RLNT:RLNT -relettered:RLTR:RLTR -relevances:RLFN:RLFN -relevantly:RLFN:RLFN -relicensed:RLSN:RLSN -relicenses:RLSN:RLSN -relievable:RLFP:RLFP -relighting:RLTN:RLTN -relinquish:RLNK:RLNK -relishable:RLXP:RLXP -relocating:RLKT:RLKT -relocation:RLKX:RLKX -reluctance:RLKT:RLKT -reluctancy:RLKT:RLKT -remainders:RMNT:RMNT -remandment:RMNT:RMNT -remarkable:RMRK:RMRK -remarkably:RMRK:RMRK -remarriage:RMRJ:RMRK -remarrying:RMRN:RMRN -rematching:RMXN:RMXN -remeasured:RMSR:RMSR -remeasures:RMSR:RMSR -remediable:RMTP:RMTP -remedially:RMTL:RMTL -remediless:RMTL:RMTL -remembered:RMMP:RMMP -rememberer:RMMP:RMMP -remigrated:RMKR:RMKR -remigrates:RMKR:RMKR -reminisced:RMNS:RMNS -reminisces:RMNS:RMNS -remissible:RMSP:RMSP -remissions:RMSN:RMSN -remissness:RMSN:RMSN -remittable:RMTP:RMTP -remittance:RMTN:RMTN -remittence:RMTN:RMTN -remittitur:RMTT:RMTT -remodelers:RMTL:RMTL -remodeling:RMTL:RMTL -remodified:RMTF:RMTF -remodifies:RMTF:RMTF -remodulate:RMTL:RMTL -remonetize:RMNT:RMNT -remontoirs:RMNT:RMNT -remorseful:RMRS:RMRS -remortgage:RMRT:RMRT -remoteness:RMTN:RMTN -remoulding:RMLT:RMLT -remounting:RMNT:RMNT -remunerate:RMNR:RMNR -renaissant:RNSN:RNSN -renascence:RNSN:RNSN -renaturing:RNTR:RNTR -rencounter:RNKN:RNKN -renderable:RNTR:RNTR -renderings:RNTR:RNTR -rendezvous:RNTS:RNTS -renditions:RNTX:RNTX -renegading:RNKT:RNKT -renegation:RNKX:RNKX -reniportal:RNPR:RNPR -renography:RNKR:RNKR -renominate:RNMN:RNMN -renotified:RNTF:RNTF -renotifies:RNTF:RNTF -renotropic:RNTR:RNTR -renouncers:RNNS:RNNS -renouncing:RNNS:RNNS -renovating:RNFT:RNFT -renovation:RNFX:RNFX -renovative:RNFT:RNFT -renovators:RNFT:RNFT -renumbered:RNMR:RNMR -reobtained:RPTN:RPTN -reoccupied:RKPT:RKPT -reoccupies:RKPS:RKPS -reoccurred:RKRT:RKRT -reopenings:RPNN:RPNN -reordering:RRTR:RRTR -reorganize:RRKN:RRKN -reoriented:RRNT:RRNT -repacified:RPSF:RPSF -repacifies:RPSF:RPSF -repackaged:RPKJ:RPKK -repackages:RPKJ:RPKK -repainting:RPNT:RPNT -repairable:RPRP:RPRP -repapering:RPPR:RPPR -reparation:RPRX:RPRX -reparative:RPRT:RPRT -reparatory:RPRT:RPRT -repatriate:RPTR:RPTR -repayments:RPMN:RPMN -repealable:RPLP:RPLP -repeatable:RPTP:RPTP -repeatedly:RPTT:RPTT -repellency:RPLN:RPLN -repellents:RPLN:RPLN -repentance:RPNT:RPNT -repeopling:RPPL:RPPL -repertoire:RPRT:RPRT -repetition:RPTX:RPTX -repetitive:RPTT:RPTT -rephrasing:RFRS:RFRS -replanning:RPLN:RPLN -replanting:RPLN:RPLN -repleading:RPLT:RPLT -repledging:RPLJ:RPLJ -replegiate:RPLJ:RPLK -replevisor:RPLF:RPLF -replevying:RPLF:RPLF -replicable:RPLK:RPLK -replicated:RPLK:RPLK -replicates:RPLK:RPLK -replicator:RPLK:RPLK -repointing:RPNT:RPNT -repolished:RPLX:RPLX -repolishes:RPLX:RPLX -repopulate:RPPL:RPPL -reportable:RPRT:RPRT -reportedly:RPRT:RPRT -repositing:RPST:RPST -reposition:RPSX:RPSX -repository:RPST:RPST -reprehends:RPRH:RPRH -represents:RPRS:RPRS -repressers:RPRS:RPRS -repressing:RPRS:RPRS -repression:RPRS:RPRS -repressive:RPRS:RPRS -reprievals:RPRF:RPRF -reprievers:RPRF:RPRF -reprieving:RPRF:RPRF -reprimands:RPRM:RPRM -reprinting:RPRN:RPRN -reproached:RPRX:RPRK -reproacher:RPRX:RPRK -reproaches:RPRX:RPRK -reprobated:RPRP:RPRP -reprobater:RPRP:RPRP -reprobates:RPRP:RPRP -reproduced:RPRT:RPRT -reproducer:RPRT:RPRT -reproduces:RPRT:RPRT -reprograms:RPRK:RPRK -reprovable:RPRF:RPRF -reptilians:RPTL:RPTL -republican:RPPL:RPPL -repudiable:RPTP:RPTP -repudiated:RPTT:RPTT -repudiates:RPTT:RPTT -repudiator:RPTT:RPTT -repugnance:RPNN:RPKN -repugnancy:RPNN:RPKN -repulsions:RPLS:RPLX -repurchase:RPRX:RPRK -repurified:RPRF:RPRF -repurifies:RPRF:RPRF -reputation:RPTX:RPTX -requesters:RKST:RKST -requesting:RKST:RKST -requestors:RKST:RKST -requickens:RKKN:RKKN -requiescat:RKSK:RKSK -requirable:RKRP:RKRP -requisites:RKST:RKST -requitable:RKTP:RKTP -reradiated:RRTT:RRTT -reradiates:RRTT:RRTT -rerecorded:RRKR:RRKR -resaleable:RSLP:RSLP -reschedule:RSKT:RSKT -rescinding:RSNT:RSNT -rescission:RSSN:RSSN -rescissory:RSSR:RSSR -resealable:RSLP:RSLP -researched:RSRX:RSRK -researcher:RSRX:RSRK -researches:RSRX:RSRK -resectable:RSKT:RSKT -resections:RSKX:RSKX -reselected:RSLK:RSLK -resemblant:RSMP:RSMP -resemblers:RSMP:RSMP -resembling:RSMP:RSMP -resentence:RSNT:RSNT -resentment:RSNT:RSNT -reservable:RSRF:RSRF -reservatus:RSRF:RSRF -reservedly:RSRF:RSRF -reservists:RSRF:RSRF -reservoirs:RSRF:RSRF -resettings:RSTN:RSTN -resettling:RSTL:RSTL -resharpens:RXRP:RXRP -reshipment:RXPM:RXPM -reshipping:RXPN:RXPN -reshuffled:RXFL:RXFL -reshuffles:RXFL:RXFL -residences:RSTN:RSTN -residually:RSTL:RSTL -resignedly:RSNT:RSKN -resilement:RSLM:RSLM -resilience:RSLN:RSLN -resiliency:RSLN:RSLN -resinating:RSNT:RSNT -resinously:RSNS:RSNS -resistable:RSST:RSST -resistably:RSST:RSST -resistance:RSST:RSST -resistible:RSST:RSST -resistibly:RSST:RSST -resistless:RSST:RSST -resituated:RSTT:RSTT -resituates:RSTT:RSTT -resolutely:RSLT:RSLT -resolution:RSLX:RSLX -resolutive:RSLT:RSLT -resolutory:RSLT:RSLT -resolvable:RSLF:RSLF -resolvedly:RSLF:RSLF -resonances:RSNN:RSNN -resonantly:RSNN:RSNN -resonating:RSNT:RSNT -resonation:RSNX:RSNX -resonators:RSNT:RSNT -resorbence:RSRP:RSRP -resorcinol:RSRS:RSRS -resorption:RSRP:RSRP -resorptive:RSRP:RSRP -resounding:RSNT:RSNT -respecters:RSPK:RSPK -respectful:RSPK:RSPK -respecting:RSPK:RSPK -respective:RSPK:RSPK -respelling:RSPL:RSPL -respirable:RSPR:RSPR -respirator:RSPR:RSPR -respondeat:RSPN:RSPN -respondent:RSPN:RSPN -responders:RSPN:RSPN -responding:RSPN:RSPN -responsive:RSPN:RSPN -responsory:RSPN:RSPN -respraying:RSPR:RSPR -restacking:RSTK:RSTK -restaffing:RSTF:RSTF -restamping:RSTM:RSTM -restarting:RSTR:RSTR -restaurant:RSTR:RSTR -restharrow:RS0R:RSTR -restituted:RSTT:RSTT -restitutes:RSTT:RSTT -restitutio:RSTT:RSTT -restlessly:RSTL:RSTL -restocking:RSTK:RSTK -restorable:RSTR:RSTR -restrained:RSTR:RSTR -restrainer:RSTR:RSTR -restraints:RSTR:RSTR -restricted:RSTR:RSTR -restudying:RSTT:RSTT -restuffing:RSTF:RSTF -resultants:RSLT:RSLT -resultless:RSLT:RSLT -resummoned:RSMN:RSMN -resumption:RSMP:RSMP -resumptive:RSMP:RSMP -resupinate:RSPN:RSPN -resupplied:RSPL:RSPL -resupplies:RSPL:RSPL -resurfaced:RSRF:RSRF -resurfaces:RSRF:RSRF -resurgence:RSRJ:RSRK -resurrects:RSRK:RSRK -resurveyed:RSRF:RSRF -retainable:RTNP:RTNP -retainment:RTNM:RTNM -retaliated:RTLT:RTLT -retaliates:RTLT:RTLT -retaliator:RTLT:RTLT -retardants:RTRT:RTRT -retardates:RTRT:RTRT -reteaching:RTXN:RTKN -retentions:RTNX:RTNX -retestifys:RTST:RTST -rethinking:R0NK:RTNK -rethreaded:R0RT:RTRT -reticences:RTSN:RTSN -reticently:RTSN:RTSN -reticulate:RTKL:RTKL -reticulose:RTKL:RTKL -retinacula:RTNK:RTNK -retirement:RTRM:RTRM -retiringly:RTRN:RTRN -retorsions:RTRS:RTRX -retouchers:RTXR:RTKR -retouching:RTXN:RTKN -retourable:RTRP:RTRP -retractile:RTRK:RTRK -retracting:RTRK:RTRK -retraction:RTRK:RTRK -retractive:RTRK:RTRK -retractors:RTRK:RTRK -retraining:RTRN:RTRN -retransfer:RTRN:RTRN -retransmit:RTRN:RTRN -retreading:RTRT:RTRT -retreating:RTRT:RTRT -retrenched:RTRN:RTRN -retrenches:RTRN:RTRN -retributed:RTRP:RTRP -retributor:RTRP:RTRP -retrievals:RTRF:RTRF -retrievers:RTRF:RTRF -retrieving:RTRF:RTRF -retrimming:RTRM:RTRM -retrocaval:RTRK:RTRK -retrocecal:RTRS:RTRS -retroceded:RTRS:RTRS -retrocedes:RTRS:RTRS -retrochoir:RTRX:RTRK -retrofired:RTRF:RTRF -retrofires:RTRF:RTRF -retrograde:RTRK:RTRK -retrogress:RTRK:RTRK -retrojects:RTRJ:RTRJ -retromolar:RTRM:RTRM -retroposed:RTRP:RTRP -retropubic:RTRP:RTRP -retrorsely:RTRR:RTRR -retrospect:RTRS:RTRS -retroverse:RTRF:RTRF -retrovirus:RTRF:RTRF -returnable:RTRN:RTRN -retwisting:RTST:RTST -reunifying:RNFN:RNFN -reunionism:RNNS:RNNS -reunionist:RNNS:RNNS -reunitable:RNTP:RNTP -reutilized:RTLS:RTLS -reutilizes:RTLS:RTLS -revalidate:RFLT:RFLT -revalorize:RFLR:RFLR -revaluated:RFLT:RFLT -revaluates:RFLT:RFLT -revanchism:RFNX:RFNK -revanchist:RFNX:RFNK -revealable:RFLP:RFLP -revealment:RFLM:RFLM -revegetate:RFKT:RFKT -revelation:RFLX:RFLX -revelatory:RFLT:RFLT -revengeful:RFNJ:RFNK -reverenced:RFRN:RFRN -reverencer:RFRN:RFRN -reverences:RFRN:RFRN -reverently:RFRN:RFRN -reverified:RFRF:RFRF -reverifies:RFRF:RFRF -reversible:RFRS:RFRS -reversibly:RFRS:RFRS -reversions:RFRS:RFRX -revertendi:RFRT:RFRT -revertible:RFRT:RFRT -revetments:RFTM:RFTM -revictuals:RFKT:RFKT -reviewable:RFPL:RFPL -revilement:RFLM:RFLM -revilingly:RFLN:RFLN -reviolated:RFLT:RFLT -reviolates:RFLT:RFLT -revisional:RFSN:RFXN -revisiting:RFST:RFST -revitalize:RFTL:RFTL -revivalism:RFFL:RFFL -revivalist:RFFL:RFFL -revivified:RFFF:RFFF -revivifies:RFFF:RFFF -revivingly:RFFN:RFFN -revocation:RFKX:RFKX -revocative:RFKT:RFKT -revocatory:RFKT:RFKT -revolution:RFLX:RFLX -revolvable:RFLF:RFLF -revolvably:RFLF:RFLF -rewardable:RRTP:RRTP -rewardless:RRTL:RRTL -reweighing:RNK:RNK -rewidening:RTNN:RTNN -rewrapping:RRPN:RRPN -rewritable:RRTP:RRTP -rhabdomere:RPTM:RPTM -rhamninose:RMNN:RMNN -rhamnoside:RMNS:RMNS -rhapsodies:RPST:RPST -rhapsodist:RPST:RPST -rhapsodize:RPST:RPST -rheologies:RLJS:RLKS -rheologist:RLJS:RLKS -rheometric:RMTR:RMTR -rheostatic:RSTT:RSTT -rheotactic:RTKT:RTKT -rheotropic:RTRP:RTRP -rhetorical:RTRK:RTRK -rheumatics:RMTK:RMTK -rheumatism:RMTS:RMTS -rheumatoid:RMTT:RMTT -rhinestone:RNST:RNST -rhinitides:RNTT:RNTT -rhinoceros:RNSR:RNSR -rhinogenic:RNJN:RNKN -rhinolalia:RNLL:RNLL -rhinologic:RNLJ:RNLK -rhinophyma:RNFM:RNFM -rhinorrhea:RNR:RNR -rhinoscope:RNSK:RNSK -rhinoscopy:RNSK:RNSK -rhinovirus:RNFR:RNFR -rhizogenic:RSJN:RSKN -rhizomorph:RSMR:RSMR -rhizopodan:RSPT:RSPT -rhodesians:RTSN:RTXN -rhodolites:RTLT:RTLT -rhoicissus:RSSS:RSSS -rhomboidal:RMPT:RMPT -rhomboidei:RMPT:RMPT -rhymesters:RMST:RMST -rhythmical:R0MK:RTMK -rhythmless:R0ML:RTML -ribbonfish:RPNF:RPNF -ribbonwood:RPNT:RPNT -riboflavin:RPFL:RPFL -richardson:RXRT:RKRT -ricinoleic:RSNL:RSNL -rickettsia:RKTS:RKTS -ricocheted:RKXT:RKKT -riderships:RTRX:RTRX -ridgepoles:RJPL:RJPL -ridiculers:RTKL:RTKL -ridiculing:RTKL:RTKL -ridiculous:RTKL:RTKL -rifampicin:RFMP:RFMP -riflebirds:RFLP:RFLP -rigamarole:RKMR:RKMR -rightfully:RTFL:RTFL -rightwards:RTRT:RTRT -rigidified:RJTF:RKTF -rigidifies:RJTF:RKTF -rigidities:RJTT:RKTT -rigmaroles:RKMR:RKMR -rigoristic:RKRS:RKRS -rigorously:RKRS:RKRS -rinderpest:RNTR:RNTR -ringleader:RNKL:RNKL -ringmaster:RNKM:RNKM -ripplingly:RPLN:RPLN -risibility:RSPL:RSPL -ritardando:RTRT:RTRT -ritornello:RTRN:RTRN -ritualists:RTLS:RTLS -ritualized:RTLS:RTLS -ritualizes:RTLS:RTLS -riverbanks:RFRP:RFRP -riverderci:RFRT:RFRT -riverfrona:RFRF:RFRF -riverfront:RFRF:RFRF -roadblocks:RTPL:RTPL -roadhouses:RTSS:RTSS -roadroller:RTRL:RTRL -roadrunner:RTRN:RTRN -roadsteads:RTST:RTST -roadworthy:RTR0:RTRT -robotizing:RPTS:RPTS -robustness:RPST:RPST -rockabilly:RKPL:RKPL -rocketeers:RKTR:RKTR -rocketlike:RKTL:RKTL -rockfishes:RKFX:RKFX -rockhopper:RKPR:RKPR -rockshafts:RKXF:RKXF -roisterers:RSTR:RSTR -roistering:RSTR:RSTR -roisterous:RSTR:RSTR -rollicking:RLKN:RLKN -rolypolies:RLPL:RLPL -romanesque:RMNS:RMNS -romanistic:RMNS:RMNS -romanizing:RMNS:RMNS -romanowsky:RMNS:RMNF -rombergism:RMPR:RMPR -rootstocks:RTST:RTST -rosaniline:RSNL:RSNL -rosebushes:RSPX:RSPX -rosefishes:RSFX:RSFX -rosemaling:RSML:RSML -rosemaries:RSMR:RSMR -rostellate:RSTL:RSTL -rostriform:RSTR:RSTR -rotational:RTXN:RTXN -rotatively:RTTF:RTTF -rotiferous:RTFR:RTFR -rotisserie:RTSR:RTSR -rototiller:RTTL:RTTL -rotovating:RTFT:RTFT -rottenness:RTNS:RTNS -rotundness:RTNT:RTNT -roughcasts:RFKS:RFKS -rougheners:RFNR:RFNR -roughening:RFNN:RFNN -roughhewed:RFT:RFT -roughhouse:RFS:RFS -roughnecks:RFNK:RFNK -roughrider:RFRT:RFRT -roundabout:RNTP:RNTP -roundelays:RNTL:RNTL -roundheads:RNTT:RNTT -roundhouse:RNTS:RNTS -roundworms:RNTR:RNTR -rousedness:RSTN:RSTN -roustabout:RSTP:RSTP -routemarch:RTMR:RTMR -routinized:RTNS:RTNS -routinizes:RTNS:RTNS -royalistic:RLST:RLST -rubberized:RPRS:RPRS -rubberizes:RPRS:RPRS -rubberneck:RPRN:RPRN -rubenesque:RPNS:RPNS -rubescence:RPSN:RPSN -rubiaceous:RPSS:RPSS -rubiginous:RPJN:RPKN -rubrically:RPRK:RPRK -rubricated:RPRK:RPRK -rubricates:RPRK:RPRK -rubricator:RPRK:RPRK -rudderhead:RTRT:RTRT -rudderless:RTRL:RTRL -rudderpost:RTRP:RTRP -rudimental:RTMN:RTMN -ruefulness:RFLN:RFLN -rufescence:RFSN:RFSN -ruffianism:RFNS:RFNS -ruggedises:RKTS:RKTS -ruggedized:RKTS:RKTS -ruggedizes:RKTS:RKTS -ruggedness:RKTN:RKTN -rugosities:RKST:RKST -ruinations:RNXN:RNXN -rumblingly:RMPL:RMPL -rumenotomy:RMNT:RMNT -ruminating:RMNT:RMNT -rumination:RMNX:RMNX -ruminative:RMNT:RMNT -ruminators:RMNT:RMNT -rumrunners:RMRN:RMRN -rumrunning:RMRN:RMRN -rupturable:RPTR:RPTR -ruralizing:RRLS:RRLS -russianize:RSNS:RSNS -russophile:RSFL:RSFL -russophobe:RSFP:RSFP -rustically:RSTK:RSTK -rusticanum:RSTK:RSTK -rusticated:RSTK:RSTK -rusticates:RSTK:RSTK -rusticator:RSTK:RSTK -rustlingly:RSTL:RSTL -ruthenious:R0NS:RTNS -rutherford:R0RF:RTRF -ruthlessly:R0LS:RTLS -sabbatical:SPTK:SPTK -sabotaging:SPTJ:SPTK -sabretache:SPRT:SPRT -sabulosity:SPLS:SPLS -saccharase:SXRS:SXRS -saccharate:SXRT:SXRT -saccharide:SXRT:SXRT -saccharify:SXRF:SXRF -saccharine:SXRN:SXRN -saccharoid:SXRT:SXRT -saccharose:SXRS:SXRS -sacculated:SKLT:SKLT -sacerdotal:SSRT:SSRT -sacramenta:SKRM:SKRM -sacramento:SKRM:SKRM -sacraments:SKRM:SKRM -sacrectomy:SKRK:SKRK -sacredness:SKRT:SKRT -sacrificed:SKRF:SKRF -sacrificer:SKRF:SKRF -sacrifices:SKRF:SKRF -sacristans:SKRS:SKRS -sacristies:SKRS:SKRS -sacrodynia:SKRT:SKRT -sacroiliac:SKRL:SKRL -sacrosanct:SKRS:SKRS -saddlebags:STLP:STLP -saddlebows:STLP:STLP -saddleless:STLL:STLL -saddleries:STLR:STLR -saddletree:STLT:STLT -sadistical:STST:STST -safeguards:SFKR:SFKR -safflowers:SFLR:SFLR -sagittally:SJTL:SKTL -sailboards:SLPR:SLPR -sailfishes:SLFX:SLFX -sailplanes:SLPL:SLPL -saintliest:SNTL:SNTL -salability:SLPL:SLPL -salacities:SLST:SLST -salamander:SLMN:SLMN -salesclerk:SLSK:SLSK -salesgirls:SLSJ:SLSK -saleswoman:SLSM:SLSM -saleswomen:SLSM:SLSM -salicional:SLSN:SLXN -salicornia:SLKR:SLKR -salicylate:SLSL:SLSL -salicylism:SLSL:SLSL -salicylize:SLSL:SLSL -salicylous:SLSL:SLSL -saliferous:SLFR:SLFR -salifiable:SLFP:SLFP -salimetric:SLMT:SLMT -salivating:SLFT:SLFT -salivation:SLFX:SLFX -sallowness:SLNS:SLNS -salmonella:SLMN:SLMN -salopettes:SLPT:SLPT -salpingian:SLPN:SLPN -saltcellar:SLTS:SLTS -saltigrade:SLTK:SLTK -saltpeters:SLTP:SLTP -salubrious:SLPR:SLPR -salutarily:SLTR:SLTR -salutation:SLTX:SLTX -salutatory:SLTT:SLTT -salutorily:SLTR:SLTR -salvations:SLFX:SLFX -salverform:SLFR:SLFR -samaritans:SMRT:SMRT -samarskite:SMRS:SMRS -sanatarium:SNTR:SNTR -sanatorium:SNTR:SNTR -sanatorive:SNTR:SNTR -sanbenitos:SNPN:SNPN -sanctified:SNKT:SNKT -sanctifier:SNKT:SNKT -sanctifies:SNKT:SNKT -sanctimony:SNKT:SNKT -sanctioned:SNKX:SNKX -sanctioner:SNKX:SNKX -sanctities:SNKT:SNKT -sanctitude:SNKT:SNKT -sandalwood:SNTL:SNTL -sandbagged:SNTP:SNTP -sandbagger:SNTP:SNTP -sandblasts:SNTP:SNTP -sanderling:SNTR:SNTR -sandgrouse:SNTK:SNTK -sandlotter:SNTL:SNTL -sandpapers:SNTP:SNTP -sandpipers:SNTP:SNTP -sandstones:SNTS:SNTS -sandstorms:SNTS:SNTS -sandwiched:SNTX:SNTK -sandwiches:SNTX:SNTK -sanforized:SNFR:SNFR -sanguinary:SNKN:SNKN -sanguinely:SNKN:SNKN -sanguinous:SNKN:SNKN -sanitarian:SNTR:SNTR -sanitarily:SNTR:SNTR -sanitarium:SNTR:SNTR -sanitating:SNTT:SNTT -sanitation:SNTX:SNTX -sanitizing:SNTS:SNTS -sanitorium:SNTR:SNTR -sapiential:SPNX:SPNX -saponified:SPNF:SPNF -saponifier:SPNF:SPNF -saponifies:SPNF:SPNF -sappanwood:SPNT:SPNT -sapphirine:SPRN:SPRN -saprogenic:SPRJ:SPRK -saprolitic:SPRL:SPRL -sapropelic:SPRP:SPRP -saprophile:SPRF:SPRF -saprophyte:SPRF:SPRF -sapsuckers:SPSK:SPSK -sarcolemma:SRKL:SRKL -sarcolyses:SRKL:SRKL -sarcolysis:SRKL:SRKL -sarcomeric:SRKM:SRKM -sarcophagi:SRKF:SRKF -sarcoplasm:SRKP:SRKP -sarcosomal:SRKS:SRKS -sarcostyle:SRKS:SRKS -sardinians:SRTN:SRTN -sardonicus:SRTN:SRTN -sarmentose:SRMN:SRMN -satellites:STLT:STLT -satinwoods:STNT:STNT -satirizers:STRS:STRS -satirizing:STRS:STRS -satisfiers:STSF:STSF -satisfying:STSF:STSF -satolithic:STL0:STLT -saturating:STRT:STRT -saturation:STRX:STRX -saturators:STRT:STRT -saturnalia:STRN:STRN -satyriases:STRS:STRS -satyriasis:STRS:STRS -sauceboxes:SSPK:SSPK -saucerized:SSRS:SSRS -saucerizes:SSRS:SSRS -saucerless:SSRL:SSRL -sauerkraut:SRKR:SRKR -saunterers:SNTR:SNTR -sauntering:SNTR:SNTR -savageness:SFJN:SFKN -savageries:SFKR:SFJR -savannahes:SFNH:SFNH -savoriness:SFRN:SFRN -saxicolous:SKSK:SKSK -saxophones:SKSF:SKSF -saxophonic:SKSF:SKSF -scabbiness:SKPN:SKPN -scabicidal:SKPS:SKPS -scabridity:SKPR:SKPR -scabrities:SKPR:SKPR -scabrously:SKPR:SKPR -scaffolded:SKFL:SKFL -scaffolder:SKFL:SKFL -scaleboard:SKLP:SKLP -scallopers:SKLP:SKLP -scalloping:SKLP:SKLP -scallywags:SKLK:SKLK -scaloppine:SKLP:SKLP -scalpellic:SKLP:SKLP -scammonies:SKMN:SKMN -scampering:SKMP:SKMP -scandalize:SKNT:SKNT -scandalled:SKNT:SKNT -scandalous:SKNT:SKNT -scansorial:SKNS:SKNS -scantiness:SKNT:SKNT -scantlings:SKNT:SKNT -scapegoats:SKPK:SKPK -scapegrace:SKPK:SKPK -scarabaeid:SKRP:SKRP -scaramouch:SKRM:SKRM -scarcement:SKRS:SKRS -scarceness:SKRS:SKRS -scarcities:SKRS:SKRS -scarecrows:SKRK:SKRK -scarifying:SKRF:SKRF -scarlatina:SKRL:SKRL -scarletina:SKRL:SKRL -scarpering:SKRP:SKRP -scatheless:SK0L:SKTL -scathingly:SK0N:SKTN -scatologic:SKTL:SKTL -scatophagy:SKTF:SKTF -scatterers:SKTR:SKTR -scattering:SKTR:SKTR -scattiness:SKTN:SKTN -scavengers:SKFN:SKFN -scavengery:SKFN:SKFN -scavenging:SKFN:SKFN -scenarists:SNRS:SNRS -scenically:SNKL:SNKL -scepticism:SPTS:SPTS -schedulers:SKTL:SKTL -scheduling:SKTL:SKTL -schematics:SKMT:SKMT -schematism:SKMT:SKMT -schematize:SKMT:SKMT -schemeries:SKMR:SKMR -schemingly:SKMN:SKMN -scherzandi:XRSN:SKRS -scherzando:XRSN:SKRS -schillings:XLNK:XLNK -schismatic:XSMT:XSMT -schistosis:XSTS:XSTS -schizocarp:XSKR:XSKR -schizogony:XSKN:XSKN -schlemiels:XLML:SLML -schnauzers:XNSR:SNSR -schnorkels:XNRK:SNRK -scholastic:XLST:XLST -schoolbook:SKLP:SKLP -schoolboys:SKLP:SKLP -schooldays:SKLT:SKLT -schoolgirl:SKLK:SKLK -schoolmarm:SKLM:SKLM -schoolmate:SKLM:SKLM -schoolroom:SKLR:SKLR -schooltime:SKLT:SKLT -schoolwork:SKLR:SKLF -schoolyard:SKLR:SKLR -schwannian:XNN:XFNN -scientific:SNTF:SNTF -scientists:SNTS:SNTS -scillonian:SLNN:SLNN -scindapsus:SNTP:SNTP -scintigram:SNTK:SNTK -scintillae:SNTL:SNTL -scintillas:SNTL:SNTL -scintillon:SNTL:SNTL -scintiscan:SNTS:SNTS -sciomancer:SMNS:SMNS -sciomantic:SMNT:SMNT -scirrhuses:SRSS:SRSS -scissoring:SSRN:SSRN -scleredema:SKRT:SKRT -scleriasis:SKRS:SKRS -scleromata:SKRM:SKRM -scleromere:SKRM:SKRM -sclerosing:SKRS:SKRS -sclerotica:SKRT:SKRT -sclerotium:SKRT:SKRT -sclerotome:SKRT:SKRT -sclerotomy:SKRT:SKRT -scoffingly:SKFN:SKFN -scoldingly:SKLT:SKLT -scoreboard:SKRP:SKRP -scorecards:SKRK:SKRK -scorifying:SKRF:SKRF -scornfully:SKRN:SKRN -scorpaenid:SKRP:SKRP -scotodinia:SKTT:SKTT -scotograph:SKTK:SKTK -scotticism:SKTS:SKTS -scoundrels:SKNT:SKNT -scowlingly:SKLN:SKLN -scrabblers:SKPL:SKPL -scrabbling:SKPL:SKPL -scraggiest:SKJS:SKKS -scragglier:SKKL:SKKL -scramblers:SKMP:SKMP -scrambling:SKMP:SKMP -scrapbooks:SKPK:SKPK -scrapheaps:SKFP:SKFP -scrappiest:SKPS:SKPS -scratchers:SKXR:SKXR -scratchier:SKX:SKXR -scratchily:SKXL:SKXL -scratching:SKXN:SKXN -scratchpad:SKXP:SKXP -scrawniest:SKNS:SKNS -screechers:SKXR:SKKR -screechier:SKX:SKKR -screeching:SKXN:SKKN -screenable:SKNP:SKNP -screenings:SKNN:SKNN -screenlike:SKNL:SKNL -screenplay:SKNP:SKNP -screwballs:SKPL:SKPL -scribblers:SKPL:SKPL -scribbling:SKPL:SKPL -scrimmaged:SKMJ:SKMK -scrimmager:SKMK:SKMJ -scrimmages:SKMJ:SKMK -scrimpiest:SKMP:SKMP -scrimshank:SKMX:SKMX -scrimshaws:SKMX:SKMX -scriptoria:SKPT:SKPT -scriptural:SKPT:SKPT -scriptures:SKPT:SKPT -scriveners:SKFN:SKFN -scrivenery:SKFN:SKFN -scrofulous:SKFL:SKFL -scrollwork:SKLR:SKLR -scrotocele:SKTS:SKTS -scroungers:SKNK:SKNJ -scrounging:SKNJ:SKNK -scrubbiest:SKPS:SKPS -scrubwoman:SKPM:SKPM -scruffiest:SKFS:SKFS -scrummaged:SKMJ:SKMK -scrummager:SKMK:SKMJ -scrummages:SKMJ:SKMK -scrunching:SKNX:SKNK -scrupulous:SKPL:SKPL -scrutineer:SKTN:SKTN -scrutinies:SKTN:SKTN -scrutinize:SKTN:SKTN -sculleries:SKLR:SKLR -sculptress:SKLP:SKLP -sculptural:SKLP:SKLP -sculptured:SKLP:SKLP -sculptures:SKLP:SKLP -scuncheons:SKNX:SKNK -scuppering:SKPR:SKPR -scurfiness:SKRF:SKRF -scurrility:SKRL:SKRL -scurrilous:SKRL:SKRL -scurviness:SKRF:SKRF -scutcheons:SKXN:SKXN -scutellate:SKTL:SKTL -scuttering:SKTR:SKTR -scyphozoan:SFSN:SFSN -seakeeping:SKPN:SKPN -seamanlike:SMNL:SMNL -seamanship:SMNX:SMNX -seamlessly:SMLS:SMLS -seamstress:SMST:SMST -searchable:SRXP:SRKP -searchings:SRXN:SRKN -seasonable:SSNP:SSNP -seasonably:SSNP:SSNP -seasonally:SSNL:SSNL -seasonings:SSNN:SSNN -seasonless:SSNL:SSNL -sebiferous:SPFR:SPFR -sebiparous:SPPR:SPPR -seborrheic:SPRK:SPRK -seborrhoea:SPR:SPR -secessions:SSSN:SSSN -secludedly:SKLT:SKLT -secondhand:SKNT:SKNT -secondines:SKNT:SKNT -secondment:SKNT:SKNT -secretaire:SKRT:SKRT -secretions:SKRX:SKRX -secretness:SKRT:SKRT -sectarians:SKTR:SKTR -sectioning:SKXN:SKXN -sectionize:SKXN:SKXN -secularism:SKLR:SKLR -secularist:SKLR:SKLR -secularity:SKLR:SKLR -secularize:SKLR:SKLR -secundines:SKNT:SKNT -securement:SKRM:SKRM -secureness:SKRN:SKRN -securities:SKRT:SKRT -sedateness:STTN:STTN -seduceable:STSP:STSP -seducement:STSM:STSM -seducingly:STSN:STSN -seductions:STKX:STKX -seductress:STKT:STKT -sedulously:STLS:STLS -seemliness:SMLN:SMLN -seersucker:SRSK:SRSK -seethingly:S0NK:STNK -segmentary:SKMN:SKMN -segmenting:SKMN:SKMN -segregable:SKRK:SKRK -segregated:SKRK:SKRK -segregates:SKRK:SKRK -segregator:SKRK:SKRK -seignorage:SNRJ:SKNR -seignorial:SNRL:SKNR -seismicity:SSMS:SSMS -seismogram:SSMK:SSMK -seismology:SSML:SSML -sejunction:SJNK:SJNK -seldomness:SLTM:SLTM -selectable:SLKT:SLKT -selections:SLKX:SLKX -selectness:SLKT:SLKT -selenodont:SLNT:SLNT -selenology:SLNL:SLNL -selflessly:SLFL:SLFL -seltzogene:SLTS:SLTS -semantical:SMNT:SMNT -semaphored:SMFR:SMFR -semaphores:SMFR:SMFR -semaphoric:SMFR:SMFR -semblances:SMPL:SMPL -semeiology:SMLJ:SMLK -semeiotics:SMTK:SMTK -semestrial:SMST:SMST -semiactive:SMKT:SMKT -semiannual:SMNL:SMNL -semibreves:SMPR:SMPR -semicircle:SMSR:SMSR -semicolons:SMKL:SMKL -semidesert:SMTS:SMTS -semidetach:SMTT:SMTT -semidirect:SMTR:SMTR -semidivine:SMTF:SMTF -semifinals:SMFN:SMFN -semifinish:SMFN:SMFN -semiformal:SMFR:SMFR -semiformed:SMFR:SMFR -semijobber:SMJP:SMHP -semilethal:SML0:SMLT -semimature:SMMT:SMMT -seminality:SMNL:SMNL -seminarial:SMNR:SMNR -seminarian:SMNR:SMNR -seminaries:SMNR:SMNR -seminarist:SMNR:SMNR -seminating:SMNT:SMNT -semination:SMNX:SMNX -seminomata:SMNM:SMNM -seminormal:SMNR:SMNR -seminudity:SMNT:SMNT -semiopaque:SMPK:SMPK -semiporous:SMPR:SMPR -semipublic:SMPP:SMPP -semiquaver:SMKF:SMKF -semisacred:SMSK:SMSK -semitising:SMTS:SMTS -semivowels:SMFL:SMFL -semiweekly:SMKL:SMKL -semiyearly:SMRL:SMRL -sempstress:SMPS:SMPS -senatorial:SNTR:SNTR -senatorian:SNTR:SNTR -senecioses:SNSS:SNXS -seneciosis:SNSS:SNXS -senegalese:SNKL:SNKL -senescence:SNSN:SNSN -senilities:SNLT:SNLT -sensations:SNSX:SNSX -sensibilia:SNSP:SNSP -sensimotor:SNSM:SNSM -sensitives:SNST:SNST -sensitized:SNST:SNST -sensitizer:SNST:SNST -sensitizes:SNST:SNST -sensomotor:SNSM:SNSM -sensoriums:SNSR:SNSR -sensualism:SNSL:SNSL -sensualist:SNSL:SNSL -sensuality:SNSL:SNSL -sensualize:SNSL:SNSL -sensuously:SNSS:SNSS -sentencing:SNTN:SNTN -sentential:SNTN:SNTN -sentiently:SNTN:SNTN -sentiments:SNTM:SNTM -sentineled:SNTN:SNTN -separately:SPRT:SPRT -separating:SPRT:SPRT -separation:SPRX:SPRX -separatism:SPRT:SPRT -separatist:SPRT:SPRT -separative:SPRT:SPRT -separators:SPRT:SPRT -septennate:SPTN:SPTN -septennial:SPTN:SPTN -septennium:SPTN:SPTN -septically:SPTK:SPTK -septicemia:SPTS:SPTS -septicemic:SPTS:SPTS -septicidal:SPTS:SPTS -septillion:SPTL:SPTL -septonasal:SPTN:SPTN -septuagint:SPTJ:SPTK -septuplets:SPTP:SPTP -septupling:SPTP:SPTP -sepulchers:SPLX:SPLK -sepulchral:SPLX:SPLK -sepulchred:SPLX:SPLK -sepulchres:SPLX:SPLK -sequacious:SKSS:SKXS -sequencers:SKNS:SKNS -sequencing:SKNS:SKNS -sequential:SKNX:SKNX -sequesters:SKST:SKST -sequestral:SKST:SKST -sequestrum:SKST:SKST -serenaders:SRNT:SRNT -serenading:SRNT:SRNT -sereneness:SRNN:SRNN -serenities:SRNT:SRNT -sergeantcy:SRJN:SRKN -serialists:SRLS:SRLS -serialized:SRLS:SRLS -serializes:SRLS:SRLS -serigraphs:SRKR:SRKR -serigraphy:SRKR:SRKR -seriocomic:SRKM:SRKM -seriograph:SRKR:SRKR -serjeantcy:SRJN:SRJN -sermonette:SRMN:SRMN -sermonized:SRMN:SRMN -sermonizer:SRMN:SRMN -sermonizes:SRMN:SRMN -serologies:SRLJ:SRLK -serologist:SRLJ:SRLK -seromucous:SRMK:SRMK -serosities:SRST:SRST -serpentine:SRPN:SRPN -serrulated:SRLT:SRLT -serviceman:SRFS:SRFS -servicemen:SRFS:SRFS -serviettes:SRFT:SRFT -servomotor:SRFM:SRFM -sessionary:SSNR:SSNR -setiferous:STFR:STFR -setigerous:STJR:STKR -settleable:STLP:STLP -settlement:STLM:STLM -sevensided:SFNS:SFNS -seventeens:SFNT:SFNT -seventieth:SFNT:SFNT -severalize:SFRL:SFRL -severation:SFRX:SFRX -severeness:SFRN:SFRN -severities:SFRT:SFRT -sexagenary:SKSJ:SKSK -sexagesima:SKSJ:SKSK -sexdigital:SKST:SKST -sexologies:SKSL:SKSL -sexologist:SKSL:SKSL -sexpartite:SKSP:SKSP -sextillion:SKST:SKST -sextiparae:SKST:SKST -sextiparas:SKST:SKST -sextuplets:SKST:SKST -sextupling:SKST:SKST -sexualists:SKSL:SKSL -sexualized:SKSL:SKSL -sexualizes:SKSL:SKSL -seychelles:SXLS:SKLS -shabbiness:XPNS:XPNS -shadowless:XTLS:XTLS -shadowlike:XTLK:XTLK -shagginess:XJNS:XKNS -shakedowns:XKTN:XKTN -shakespear:XKSP:XKSP -shallowest:XLST:XLST -shallowing:XLNK:XLNK -shamanists:XMNS:XMNS -shamefaced:XMFS:XMFS -shamefully:XMFL:XMFL -shampooers:XMPR:XMPR -shampooing:XMPN:XMPN -shandrydan:XNTR:XNTR -shandygaff:XNTK:XNTK -shanghaied:XNKT:XNKT -shantytown:XNTT:XNTT -shapeliest:XPLS:XPLS -sharecrops:XRKR:XRKR -shareowner:XRNR:XRNR -sharkskins:XRKS:XRKS -sharpeners:XRPN:XRPN -sharpening:XRPN:XRPN -sharpshoot:XRPX:XRPX -shattering:XTRN:XTRN -shearlings:XRLN:XRLN -shearwater:XRTR:XRTR -sheathbill:X0PL:XTPL -sheathings:X0NK:XTNK -sheepcotes:XPKT:XPKT -sheepfolds:XPFL:XPFL -sheepishly:XPXL:XPXL -sheepshank:XPXN:XPXN -sheepshead:XPXT:XPXT -sheepshear:XPXR:XPXR -sheepskins:XPSK:XPSK -sheikhdoms:XKTM:XKTM -shellacked:XLKT:XLKT -shellacker:XLKR:XLKR -shellproof:XLPR:XLPR -shelterers:XLTR:XLTR -sheltering:XLTR:XLTR -shenanigan:XNNK:XNNK -shepherded:XFRT:XFRT -sheradises:XRTS:XRTS -sheradized:XRTS:XRTS -sheradizes:XRTS:XRTS -sheriffdom:XRFT:XRFT -shibboleth:XPL0:XPLT -shieldless:XLTL:XLTL -shieldlike:XLTL:XLTL -shiftiness:XFTN:XFTN -shigellaes:XJLS:XKLS -shikarring:XKRN:XKRN -shillalahs:XLLS:XLLS -shillelagh:XLLK:XLLK -shimmering:XMRN:XMRN -shintoists:XNTS:XNTS -shipkeeper:XPKP:XPKP -shipmaster:XPMS:XPMS -shipwrecks:XPRK:XPRK -shipwright:XPRT:XPRT -shirtdress:XRTR:XRTR -shirtfront:XRTF:XRTF -shirtiness:XRTN:XRTN -shirtmaker:XRTM:XRTM -shirtwaist:XRTS:XRTS -shoaliness:XLNS:XLNS -shockingly:XKNK:XKNK -shockproof:XKPR:XKPR -shockstall:XKST:XKST -shoddiness:XTNS:XTNS -shoemakers:XMKR:XMKR -shoemaking:XMKN:XMKN -shoestring:XSTR:XSTR -shopkeeper:XPKP:XPKP -shoplifted:XPLF:XPLF -shoplifter:XPLF:XPLF -shopsoiled:XPSL:XPSL -shopwalker:XPLK:XPLK -shorebirds:XRPR:XRPR -shorelines:XRLN:XRLN -shorewards:XRRT:XRRT -shortbread:XRTP:XRTP -shortcakes:XRTK:XRTK -shortcrust:XRTK:XRTK -shorteners:XRTN:XRTN -shortening:XRTN:XRTN -shortfalls:XRTF:XRTF -shorthorns:XR0R:XRTR -shortsight:XRTS:XRTS -shortstops:XRTS:XRTS -shortwaves:XRTF:XRTF -shoshonean:XXNN:XXNN -shouldered:XLTR:XLTR -shovelfuls:XFLF:XFLF -shovelhead:XFLT:XFLT -shovelnose:XFLN:XFLN -shovelsful:XFLS:XFLS -showcasing:XKSN:XKSN -showerhead:XRT:XRT -showground:XKRN:XKRN -showjumper:XJMP:XJMP -showpieces:XPSS:XPSS -showplaces:XPLS:XPLS -shreveport:XRFP:XRFP -shrewdness:XRTN:XRTN -shrewishly:XRXL:XRXL -shrievalty:XRFL:XRFL -shrillness:XRLN:XRLN -shrinelike:XRNL:XRNL -shrinkable:XRNK:XRNK -shrinkages:XRNK:XRNK -shriveling:XRFL:XRFL -shroudless:XRTL:XRTL -shrubbiest:XRPS:XRPS -shuddering:XTRN:XTRN -shunpikers:XNPK:XNPK -shunpiking:XNPK:XNPK -shutterbug:XTRP:XTRP -shuttering:XTRN:XTRN -sialagogic:SLKJ:XLKK -sialagogue:SLKK:XLKK -sialogogue:SLKK:XLKK -sialorrhea:SLR:XLR -sibilantly:SPLN:SPLN -sibilating:SPLT:SPLT -sibilation:SPLX:SPLX -sicklaemia:SKLM:SKLM -sicklebill:SKLP:SKLP -sickliness:SKLN:SKLN -sicknesses:SKNS:SKNS -sideboards:STPR:STPR -sidechairs:STXR:STKR -sidelights:STLT:STLT -sidepieces:STPS:STPS -sidereally:STRL:STRL -siderocyte:STRS:STRS -siderolite:STRL:STRL -siderophil:STRF:STRF -siderostat:STRS:STRS -sidesaddle:STST:STST -sidestroke:STST:STST -sideswiped:STSP:STSP -sideswiper:STSP:STSP -sideswipes:STSP:STSP -sidetracks:STTR:STTR -sidewheels:STLS:STLS -sidewinder:STNT:STNT -sightliest:STLS:STLS -sightlines:STLN:STLN -sightseers:STSR:STSR -sightseing:STSN:STSN -signalized:SNLS:SKNL -signalizes:SNLS:SKNL -signallers:SNLR:SKNL -signalling:SNLN:SKNL -signalmens:SNLM:SKNL -signalment:SNLM:SKNL -signatural:SNTR:SKNT -signatured:SNTR:SKNT -signatures:SNTR:SKNT -signboards:SNPR:SKNP -signifying:SNFN:SKNF -signorinas:SNRN:SKNR -signposted:SNPS:SKNP -silentiary:SLNX:SLNX -silentness:SLNT:SLNT -silhouette:SLT:SLT -silicified:SLSF:SLSF -silicifies:SLSF:SLSF -siliculose:SLKL:SLKL -silkscreen:SLKS:SLKS -silverfish:SLFR:SLFR -silverside:SLFR:SLFR -silverware:SLFR:SLFR -silverweed:SLFR:SLFR -similarity:SMLR:SMLR -similitude:SMLT:SMLT -simoniacal:SMNK:SMNK -simonizing:SMNS:SMNS -simplemind:SMPL:SMPL -simpleness:SMPL:SMPL -simpletons:SMPL:SMPL -simplicity:SMPL:SMPL -simplified:SMPL:SMPL -simplifier:SMPL:SMPL -simplifies:SMPL:SMPL -simplistic:SMPL:SMPL -simulacrum:SMLK:SMLK -simulating:SMLT:SMLT -simulation:SMLX:SMLX -simulative:SMLT:SMLT -simulators:SMLT:SMLT -simulcasts:SMLK:SMLK -sincipital:SNSP:SNSP -sinecurism:SNKR:SNKR -sinecurist:SNKR:SNKR -sinequanon:SNKN:SNKN -sinewiness:SNNS:SNNS -sinfulness:SNFL:SNFL -singhalese:SNKL:SNKL -singleness:SNKL:SNKL -singletons:SNKL:SNKL -singletree:SNKL:SNKL -singularly:SNKL:SNKL -sinicising:SNSS:SNSS -sinisterly:SNST:SNST -sinistrous:SNST:SNST -sinoatrial:SNTR:SNTR -sinologist:SNLJ:SNLK -sinuatrial:SNTR:SNTR -sinusoidal:SNST:SNST -sinusotomy:SNST:SNST -sirenomeli:SRNM:SRNM -sisterhood:SSTR:SSTR -sisterless:SSTR:SSTR -sitologies:STLJ:STLK -sitosterol:STST:STST -situations:STXN:STXN -sixteenmos:SKST:SKST -sixteenths:SKST:SKST -sixtiethes:SKST:SKST -skateboard:SKTP:SKTP -skedaddled:SKTT:SKTT -skeletally:SKLT:SKLT -skeletonic:SKLT:SKLT -skepticism:SKPT:SKPT -sketchable:SKXP:SKXP -sketchbook:SKXP:SKXP -sketchiest:SKXS:SKXS -skiagraphy:SKKR:SKKR -skibobbing:SKPP:SKPP -skillfully:SKLF:SKLF -skimpiness:SKMP:SKMP -skindiving:SKNT:SKNT -skinflints:SKNF:SKNF -skinflinty:SKNF:SKNF -skinnerian:SKNR:SKNR -skinniness:SKNN:SKNN -skipperage:SKPR:SKPR -skippingly:SKPN:SKPN -skirmished:SKRM:SKRM -skirmisher:SKRM:SKRM -skirmishes:SKRM:SKRM -skittering:SKTR:SKTR -skittishly:SKTX:SKTX -skulkingly:SKLK:SKLK -skyjackers:SKJK:SKJK -skyjacking:SKJK:SKJK -skylarkers:SKLR:SKLR -skylarking:SKLR:SKLR -skyrockets:SKRK:SKRK -skyscraper:SKSK:SKSK -skywriters:SKRT:SKRT -skywriting:SKRT:SKRT -slackening:SLKN:XLKN -slanderers:SLNT:XLNT -slandering:SLNT:XLNT -slanderous:SLNT:XLNT -slanginess:SLNJ:XLNK -slantingly:SLNT:XLNT -slapdashed:SLPT:XLPT -slapsticks:SLPS:XLPS -slashingly:SLXN:XLXN -slathering:SL0R:XLTR -slatternly:SLTR:XLTR -slaughters:SLFT:XLFT -sleaziness:SLSN:XLSN -sleepiness:SLPN:XLPN -sleepyhead:SLPH:XLPH -sleetiness:SLTN:XLTN -sleeveless:SLFL:XLFL -slenderest:SLNT:XLNT -slenderize:SLNT:XLNT -slideslips:SLTS:XLTS -slightness:SLTN:XLTN -slingbacks:SLNK:XLNK -slingshots:SLNK:XLNK -slinkiness:SLNK:XLNK -slipcovers:SLPK:XLPK -slipperier:SLPR:XLPR -slipperily:SLPR:XLPR -slippering:SLPR:XLPR -slippiness:SLPN:XLPN -slipsheets:SLPX:XLPX -slipstream:SLPS:XLPS -slithering:SL0R:XLTR -slobberers:SLPR:XLPR -slobbering:SLPR:XLPR -sloppiness:SLPN:XLPN -slopworker:SLPR:XLPR -slothfully:SL0F:XLTF -slouchiest:SLXS:XLKS -slovakians:SLFK:XLFK -slovenians:SLFN:XLFN -sluffslier:SLFS:XLFS -sluffslyer:SLFS:XLFS -sluggardly:SLKR:XLKR -sluggishly:SLKX:XLKX -sluicegate:SLSK:XLSK -slumberers:SLMR:XLMR -slumbering:SLMR:XLMR -slumberous:SLMR:XLMR -slummocked:SLMK:XLMK -slushiness:SLXN:XLXN -sluttishly:SLTX:XLTX -smallmouth:SMLM:XMLM -smaragdite:SMRK:XMRK -smarminess:SMRM:XMRM -smartening:SMRT:XMRT -smartingly:SMRT:XMRT -smashingly:SMXN:XMXN -smatterers:SMTR:XMTR -smattering:SMTR:XMTR -smeariness:SMRN:XMRN -smelliness:SMLN:XMLN -smelteries:SMLT:XMLT -smirkingly:SMRK:XMRK -smitheries:SM0R:XMTR -smokehouse:SMKH:XMKH -smokestack:SMKS:XMKS -smoldering:SMLT:XMLT -smoothable:SM0P:XMTP -smoothness:SM0N:XMTN -smothering:SM0R:XMTR -smouldered:SMLT:XMLT -smudginess:SMJN:XMJN -smuttiness:SMTN:XMTN -snakemouth:SNKM:XNKM -snakeskins:SNKS:XNKS -snapdragon:SNPT:XNPT -snappiness:SNPN:XNPN -snappishly:SNPX:XNPX -snarlingly:SNRL:XNRL -snatchiest:SNXS:XNXS -snazziness:SNSN:XNTS -sneakiness:SNKN:XNKN -sneakingly:SNKN:XNKN -sneeringly:SNRN:XNRN -sneezeless:SNSL:XNSL -sneezewort:SNSR:XNTS -snickering:SNKR:XNKR -sniffingly:SNFN:XNFN -sniggering:SNKR:XNKR -snippiness:SNPN:XNPN -snobbishly:SNPX:XNPX -snookering:SNKR:XNKR -snootiness:SNTN:XNTN -snorkeling:SNRK:XNRK -snortingly:SNRT:XNRT -snottiness:SNTN:XNTN -snowballed:SNPL:XNPL -snowblower:SNPL:XNPL -snowcapped:SNKP:XNKP -snowdrifts:SNTR:XNTR -snowflakes:SNFL:XNFL -snowmobile:SNMP:XNMP -snowplough:SNPL:XNPL -snowshoing:SNXN:XNXN -snowstorms:SNST:XNST -snuffboxes:SNFP:XNFP -snuffiness:SNFN:XNFN -snuggeries:SNKR:XNKR -soapmaking:SPMK:SPMK -soapstones:SPST:SPST -soberingly:SPRN:SPRN -sobriquets:SPRK:SPRK -sobsrising:SPSR:SPSR -socialists:SSLS:SXLS -socialites:SSLT:SXLT -socialized:SSLS:SXLS -socializer:SSLS:SXLS -socializes:SSLS:SXLS -socialness:SSLN:SXLN -societally:SSTL:SXTL -societates:SSTT:SXTT -societatis:SSTT:SXTT -sociogenic:SSJN:SXKN -sociologic:SSLJ:SXLK -sociometry:SSMT:SXMT -sociopaths:SSP0:SXPT -sociopathy:SSP0:SXPT -sodalities:STLT:STLT -soddenness:STNS:STNS -sojourners:SJRN:SHRN -sojourning:SJRN:SHRN -solanaceae:SLNS:SLNS -solangoose:SLNK:SLNK -solanidine:SLNT:SLNT -solarizing:SLRS:SLRS -solderable:SLTR:SLTR -soldieries:SLTR:SLTR -soldiering:SLTR:SLTR -solecising:SLSS:SLSS -solemnized:SLMN:SLMN -solemnizer:SLMN:SLMN -solemnizes:SLMN:SLMN -solemnness:SLMN:SLMN -solenoidal:SLNT:SLNT -solicitant:SLST:SLST -soliciting:SLST:SLST -solicitors:SLST:SLST -solicitous:SLST:SLST -solicitude:SLST:SLST -solidarity:SLTR:SLTR -solidified:SLTF:SLTF -solidifier:SLTF:SLTF -solidifies:SLTF:SLTF -solidities:SLTT:SLTT -solifidian:SLFT:SLFT -solipsists:SLPS:SLPS -solitaires:SLTR:SLTR -solitaries:SLTR:SLTR -solitarily:SLTR:SLTR -sollickers:SLKR:SLKR -solstitial:SLST:SLST -solubility:SLPL:SLPL -solubilize:SLPL:SLPL -solutionis:SLXN:SLXN -solvolyses:SLFL:SLFL -solvolysis:SLFL:SLFL -solvolytic:SLFL:SLFL -somatology:SMTL:SMTL -somatotype:SMTT:SMTT -somberness:SMPR:SMPR -sombreness:SMPR:SMPR -somebodies:SMPT:SMPT -somersault:SMRS:SMRS -somniloquy:SMNL:SMNL -somnipathy:SMNP:SMNP -somnolence:SMNL:SMNL -somnolency:SMNL:SMNL -songstress:SNKS:SNKS -songwriter:SNKR:SNKR -sonicating:SNKT:SNKT -sonication:SNKX:SNKX -soniferous:SNFR:SNFR -sonneteers:SNTR:SNTR -sonorities:SNRT:SNRT -sonorously:SNRS:SNRS -soothingly:S0NK:STNK -soothsayer:S0SR:STSR -sophoclean:SFKL:SFKL -sophomores:SFMR:SFMR -sophomoric:SFMR:SFMR -soporifics:SPRF:SPRF -sopraninos:SPRN:SPRN -sordidness:SRTT:SRTT -soremuzzle:SRMS:SRMS -sororicide:SRRS:SRRS -sororities:SRRT:SRRT -soubrettes:SPRT:SPRT -soubriquet:SPRK:SPRK -soullessly:SLSL:SLSL -soundboard:SNTP:SNTP -soundboxes:SNTP:SNTP -soundingly:SNTN:SNTN -soundproof:SNTP:SNTP -soundtrack:SNTR:SNTR -sourdoughs:SRTS:SRTS -sourpusses:SRPS:SRPS -sousaphone:SSFN:SSFN -souterrain:STRN:STRN -southbound:S0PN:STPN -southerner:S0RN:STRN -southernly:S0RN:STRN -southwards:S0RT:STRT -sovereigns:SFRN:SFRK -sovietized:SFTS:SFTS -sovietizes:SFTS:SFTS -spacecraft:SPSK:SPSK -spaceships:SPSX:SPSX -spacesuits:SPSS:SPSS -spacewalks:SPSL:SPSL -spacewoman:SPSM:SPSM -spacewomen:SPSM:SPSM -spaciality:SPSL:SPXL -spaciously:SPSS:SPXS -spadiceous:SPTS:SPTS -spallation:SPLX:SPLX -spanceling:SPNS:SPNS -spankingly:SPNK:SPNK -sparganums:SPRK:SPRK -sparkplugs:SPRK:SPRK -sparseness:SPRS:SPRS -spasticity:SPST:SPST -spatchcock:SPXK:SPXK -spathiform:SP0F:SPTF -spathulate:SP0L:SPTL -spatiality:SPXL:SPXL -spattering:SPTR:SPTR -spatulated:SPTL:SPTL -spearheads:SPRT:SPRT -spearmints:SPRM:SPRM -specialism:SPSL:SPXL -specialist:SPSL:SPXL -speciality:SPSL:SPXL -specialize:SPSL:SPXL -speciating:SPST:SPXT -speciation:SPSX:SPXX -speciesism:SPSS:SPXS -specifical:SPSF:SPSF -specifiers:SPSF:SPSF -specifying:SPSF:SPSF -speciology:SPSL:SPXL -speciosity:SPSS:SPXS -speciously:SPSS:SPXS -spectacled:SPKT:SPKT -spectacles:SPKT:SPKT -spectating:SPKT:SPKT -spectators:SPKT:SPKT -spectrally:SPKT:SPKT -specularly:SPKL:SPKL -speculated:SPKL:SPKL -speculates:SPKL:SPKL -speculator:SPKL:SPKL -speechless:SPKL:SPKL -speedboats:SPTP:SPTP -speediness:SPTN:SPTN -speedsters:SPTS:SPTS -speedwells:SPTL:SPTL -speleology:SPLL:SPLL -spellbinds:SPLP:SPLP -spellbound:SPLP:SPLP -spelldowns:SPLT:SPLT -spelunkers:SPLN:SPLN -spelunking:SPLN:SPLN -spermaceti:SPRM:SPRM -spermaries:SPRM:SPRM -spermatoid:SPRM:SPRM -spermicide:SPRM:SPRM -spermidine:SPRM:SPRM -spermolith:SPRM:SPRM -sperrylite:SPRL:SPRL -sphacelate:SFSL:SFSL -sphalerite:SFLR:SFLR -spheniodal:SFNT:SFNT -sphenogram:SFNK:SFNK -sphenoidal:SFNT:SFNT -sphericity:SFRS:SFRS -spherocyte:SFRS:SFRS -spheroidal:SFRT:SFRT -spherulite:SFRL:SFRL -sphincters:SFNK:SFNK -sphinxlike:SFNK:SFNK -spiculated:SPKL:SPKL -spiflicate:SPFL:SPFL -spindliest:SPNT:SPNT -spinescent:SPNS:SPNS -spinnakers:SPNK:SPNK -spinnerets:SPNR:SPNR -spiracular:SPRK:SPRK -spiralling:SPRL:SPRL -spiritedly:SPRT:SPRT -spiritless:SPRT:SPRT -spirituals:SPRT:SPRT -spirituous:SPRT:SPRT -spirocerca:SPRS:SPRS -spirocheta:SPRX:SPRK -spirochete:SPRX:SPRK -spirograph:SPRK:SPRK -spirometry:SPRM:SPRM -spissitude:SPST:SPST -spitchcock:SPXK:SPXK -spitefully:SPTF:SPTF -spivveries:SPFR:SPFR -spivvishly:SPFX:SPFX -splanchnic:SPLN:SPLN -splashback:SPLX:SPLX -splashdown:SPLX:SPLX -splashiest:SPLX:SPLX -splattered:SPLT:SPLT -spleenwort:SPLN:SPLN -splenalgia:SPLN:SPLN -splenalgic:SPLN:SPLN -splendidly:SPLN:SPLN -spleneolus:SPLN:SPLN -spleniform:SPLN:SPLN -splenocyte:SPLN:SPLN -splenomega:SPLN:SPLN -splenopexy:SPLN:SPLN -splenotomy:SPLN:SPLN -splintered:SPLN:SPLN -splotchier:SPLX:SPLX -splotching:SPLX:SPLX -spluttered:SPLT:SPLT -splutterer:SPLT:SPLT -spoilation:SPLX:SPLX -spoilsport:SPLS:SPLS -spokeshave:SPKX:SPKX -spoliating:SPLT:SPLT -spoliation:SPLX:SPLX -spoliators:SPLT:SPLT -spoliatory:SPLT:SPLT -spondylous:SPNT:SPNT -spongelike:SPNJ:SPNK -sponginess:SPNJ:SPNK -spongiosis:SPNJ:SPNK -sponsorial:SPNS:SPNS -sponsoring:SPNS:SPNS -spookiness:SPKN:SPKN -spoonbills:SPNP:SPNP -spoonerism:SPNR:SPNR -sporangium:SPRN:SPRN -sporicidal:SPRS:SPRS -sporoblast:SPRP:SPRP -sporogenic:SPRJ:SPRK -sporogonic:SPRK:SPRK -sporophore:SPRF:SPRF -sporophyll:SPRF:SPRF -sporophyte:SPRF:SPRF -sporoplasm:SPRP:SPRP -sporozoite:SPRS:SPRS -sportfully:SPRT:SPRT -sportiness:SPRT:SPRT -sportingly:SPRT:SPRT -sportively:SPRT:SPRT -sportscast:SPRT:SPRT -sportswear:SPRT:SPRT -sporulated:SPRL:SPRL -spotlessly:SPTL:SPTL -spotlights:SPTL:SPTL -spottiness:SPTN:SPTN -spouseless:SPSL:SPSL -spreadable:SPRT:SPRT -spreadings:SPRT:SPRT -springboks:SPRN:SPRN -springhead:SPRN:SPRN -springiest:SPRN:SPRN -springless:SPRN:SPRN -springlike:SPRN:SPRN -springtail:SPRN:SPRN -springtime:SPRN:SPRN -springwood:SPRN:SPRN -sprinklers:SPRN:SPRN -sprinkling:SPRN:SPRN -spritsails:SPRT:SPRT -spruceness:SPRS:SPRS -spumescent:SPMS:SPMS -spunkiness:SPNK:SPNK -spuriously:SPRS:SPRS -sputterers:SPTR:SPTR -sputtering:SPTR:SPTR -spyglasses:SPKL:SPKL -sqeakiness:SKKN:SKKN -squabbiest:SKPS:SKPS -squabblers:SKPL:SKPL -squabbling:SKPL:SKPL -squalliest:SKLS:SKLS -squamation:SKMX:SKMX -squamosaes:SKMS:SKMS -squamosely:SKMS:SKMS -squamously:SKMS:SKMS -squamulose:SKML:SKML -squandered:SKNT:SKNT -squanderer:SKNT:SKNT -squareness:SKRN:SKRN -squashiest:SKXS:SKXS -squattiest:SKTS:SKTS -squeakiest:SKKS:SKKS -squeezable:SKSP:SKSP -squelchers:SKLX:SKLK -squelchier:SKLX:SKLK -squelching:SKLX:SKLK -squelciest:SKLS:SKLX -squeteague:SKTK:SKTK -squidgiest:SKJS:SKJS -squiffiest:SKFS:SKFS -squiggling:SKKL:SKKL -squirmiest:SKRM:SKRM -squirreled:SKRL:SKRL -stabilized:STPL:STPL -stabilizer:STPL:STPL -stabilizes:STPL:STPL -stableboys:STPL:STPL -stableness:STPL:STPL -stagecoach:STJK:STKK -stagecraft:STJK:STKK -staggerers:STKR:STKR -staggering:STKR:STKR -staghounds:STKN:STKN -stagnantly:STNN:STKN -stagnating:STNT:STKN -stagnation:STNX:STKN -staircases:STRK:STRK -stairwells:STRL:STRL -stalactite:STLK:STLK -stalagmite:STLK:STLK -stalemated:STLM:STLM -stalemates:STLM:STLM -stalingrad:STLN:STLN -stalinists:STLN:STLN -stalkiness:STLK:STLK -stalwartly:STLR:STLR -staminodes:STMN:STMN -stammerers:STMR:STMR -stammering:STMR:STMR -stampeding:STMP:STMP -stanchable:STNX:STNK -stanchions:STNX:STNK -standardly:STNT:STNT -standpipes:STNT:STNT -standpoint:STNT:STNT -standstill:STNT:STNT -stannaries:STNR:STNR -staphylion:STFL:STFL -staphyloma:STFL:STFL -starchiest:STRX:STRK -starfishes:STRF:STRF -starflower:STRF:STRF -stargazers:STRK:STRK -stargazing:STRK:STRK -stargazpie:STRK:STRK -starriness:STRN:STRN -starvation:STRF:STRF -starveling:STRF:STRF -statecraft:STTK:STTK -statehouse:STTH:STTH -stateliest:STTL:STTL -statements:STTM:STTM -staterooms:STTR:STTR -statically:STTK:STTK -stationary:STXN:STXN -stationers:STXN:STXN -stationery:STXN:STXN -stationing:STXN:STXN -statistics:STTS:STTS -statoblast:STTP:STTP -statoscope:STTS:STTS -statuaries:STTR:STTR -statuesque:STTS:STTS -statuettes:STTT:STTT -statutable:STTT:STTT -statutably:STTT:STTT -staunchers:STNX:STNK -staunchest:STNX:STNK -staunching:STNX:STNK -staurolite:STRL:STRL -steadiness:STTN:STTN -steakhouse:STKS:STKS -stealthful:STL0:STLT -stealthier:STL0:STLT -stealthily:STL0:STLT -steamboats:STMP:STMP -steaminess:STMN:STMN -steamships:STMX:STMX -steamtight:STMT:STMT -stearopten:STRP:STRP -steatomata:STTM:STTM -steatopyga:STTP:STTP -steeliness:STLN:STLN -steelworks:STLR:STLR -steelyards:STLR:STLR -steepening:STPN:STPN -stegosaurs:STKS:STKS -stellately:STLT:STLT -stellified:STLF:STLF -stellifies:STLF:STLF -stelliform:STLF:STLF -stenciling:STNS:STNS -stencilled:STNS:STNS -stenciller:STNS:STNS -stenograph:STNK:STNK -stenomeric:STNM:STNM -stenopaeic:STNP:STNP -stenotherm:STN0:STNT -stenotopic:STNT:STNT -stentering:STNT:STNT -stentorian:STNT:STNT -stepfather:STPF:STPF -stephanion:STFN:STFN -stepladder:STPL:STPL -stepmother:STPM:STPM -stepparent:STPR:STPR -stepsister:STPS:STPS -stercoroma:STRK:STRK -stereobate:STRP:STRP -stereogram:STRK:STRK -stereopsis:STRP:STRP -stereotape:STRT:STRT -stereotomy:STRT:STRT -stereotype:STRT:STRT -stereotypy:STRT:STRT -sterigmata:STRK:STRK -sterilized:STRL:STRL -sterilizer:STRL:STRL -sterilizes:STRL:STRL -sternebrae:STRN:STRN -sternotomy:STRN:STRN -sternwards:STRN:STRN -stertorous:STRT:STRT -stevedored:STFT:STFT -stevedores:STFT:STFT -stewardess:STRT:STRT -stickiness:STKN:STKN -stiffeners:STFN:STFN -stiffening:STFN:STFN -stiflingly:STFL:STFL -stigmatism:STKM:STKM -stigmatize:STKM:STKM -stigmatose:STKM:STKM -stilettoes:STLT:STLT -stillbirth:STLP:STLP -stillicide:STLS:STLS -stimulable:STML:STML -stimulants:STML:STML -stimulated:STML:STML -stimulater:STML:STML -stimulates:STML:STML -stimulator:STML:STML -stinginess:STNJ:STNK -stingingly:STNJ:STNK -stinkingly:STNK:STNK -stinkstone:STNK:STNK -stintingly:STNT:STNT -stipulable:STPL:STPL -stipulated:STPL:STPL -stipulates:STPL:STPL -stipulator:STPL:STPL -stirringly:STRN:STRN -stitchwort:STXR:STXR -stochastic:STXS:STKS -stockading:STKT:STKT -stockateer:STKT:STKT -stockaters:STKT:STKT -stockiness:STKN:STKN -stockinets:STKN:STKN -stockinged:STKN:STKN -stockinger:STKN:STKN -stockishly:STKX:STKX -stockpiled:STKP:STKP -stockpiler:STKP:STKP -stockpiles:STKP:STKP -stockrooms:STKR:STKR -stockyards:STKR:STKR -stodginess:STJN:STJN -stomachers:STMK:STMK -stomaching:STMX:STMK -stomatitis:STMT:STMT -stomatoses:STMT:STMT -stomatosis:STMT:STMT -stomodaeal:STMT:STMT -stomodaeum:STMT:STMT -stomodeums:STMT:STMT -stomotopod:STMT:STMT -stoneflies:STNF:STNF -stonemason:STNM:STNM -stonewalls:STNL:STNL -stoneworks:STNR:STNR -stoopingly:STPN:STPN -stoplights:STPL:STPL -storebreak:STRP:STRP -storefront:STRF:STRF -storehouse:STRH:STRH -storerooms:STRR:STRR -stormbound:STRM:STRM -storminess:STRM:STRM -stormproof:STRM:STRM -storyboard:STRP:STRP -storybooks:STRP:STRP -storylines:STRL:STRL -stoutheart:ST0R:STTR -stouthrief:ST0R:STTR -stouthrife:ST0R:STTR -stovepipes:STFP:STFP -strabismal:STRP:STRP -strabismic:STRP:STRP -strabismus:STRP:STRP -straddlers:STRT:STRT -straddling:STRT:STRT -stragglers:STRK:STRK -stragglier:STRK:STRK -straggling:STRK:STRK -straighten:STRT:STRT -straighter:STRT:STRT -straightly:STRT:STRT -straitened:STRT:STRT -straitness:STRT:STRT -stramonium:STRM:STRM -stranglers:STRN:STRN -strangling:STRN:STRN -stratagems:STRT:STRT -strategics:STRT:STRT -strategies:STRT:STRT -strategist:STRT:STRT -stratified:STRT:STRT -stratifier:STRT:STRT -stratifies:STRT:STRT -stravinsky:STRF:STRF -strawberry:STRP:STRP -strawboard:STRP:STRP -streakiest:STRK:STRK -streaklike:STRK:STRK -streamiest:STRM:STRM -streamlets:STRM:STRM -streamline:STRM:STRM -streetcars:STRT:STRT -streetwalk:STRT:STRT -streetwise:STRT:STRT -strengthen:STRN:STRN -strengthes:STRN:STRN -stretchers:STRX:STRX -stretchier:STRX:STRX -stretching:STRX:STRX -striations:STRX:STRX -strickenly:STRK:STRK -strictness:STRK:STRK -strictured:STRK:STRK -strictures:STRK:STRK -stridently:STRT:STRT -stridulant:STRT:STRT -stridulate:STRT:STRT -stridulous:STRT:STRT -strigiform:STRJ:STRK -strikeless:STRK:STRK -strikeouts:STRK:STRK -strikeover:STRK:STRK -strikingly:STRK:STRK -stringency:STRN:STRN -stringendo:STRN:STRN -stringhalt:STRN:STRN -stringiest:STRN:STRN -stringless:STRN:STRN -stringlike:STRN:STRN -stripeless:STRP:STRP -stripiness:STRP:STRP -stripitoso:STRP:STRP -striplings:STRP:STRP -striptease:STRP:STRP -strobiloid:STRP:STRP -stroganoff:STRK:STRK -strokingly:STRK:STRK -stronghold:STRN:STRN -strongness:STRN:STRN -strongroom:STRN:STRN -strongylus:STRN:STRN -strophulus:STRF:STRF -stroppiest:STRP:STRP -structural:STRK:STRK -structured:STRK:STRK -structurer:STRK:STRK -structures:STRK:STRK -strugglers:STRK:STRK -struggling:STRK:STRK -strumiform:STRM:STRM -struthious:STR0:STRT -strychnine:STRX:STRK -stubbiness:STPN:STPN -stubborner:STPR:STPR -stubbornly:STPR:STPR -stuccowork:STKR:STKR -studhorses:STTR:STTR -studiously:STTS:STTS -stuffiness:STFN:STFN -stultified:STLT:STLT -stultifier:STLT:STLT -stultifies:STLT:STLT -stumpiness:STMP:STMP -stunningly:STNN:STNN -stupefying:STPF:STPF -stupendous:STPN:STPN -stupidness:STPT:STPT -sturdiness:STRT:STRT -stutterers:STTR:STTR -stuttering:STTR:STTR -stylistics:STLS:STLS -stylobates:STLP:STLP -stylograph:STLK:STLK -stylohyoid:STLH:STLH -stylolitic:STLL:STLL -stylophone:STLF:STLF -stylopises:STLP:STLP -stylopized:STLP:STLP -stylopizes:STLP:STLP -subaccount:SPKN:SPKN -subacetate:SPST:SPST -subacidity:SPST:SPST -subacutely:SPKT:SPKT -subalterns:SPLT:SPLT -subaquatic:SPKT:SPKT -subaqueous:SPKS:SPKS -subarcuate:SPRK:SPRK -subareolar:SPRL:SPRL -subarticle:SPRT:SPRT -subaverage:SPFR:SPFR -subaxillar:SPKS:SPKS -subbureaus:SPRS:SPRS -subcalibre:SPKL:SPKL -subcarrier:SPKR:SPKR -subcellars:SPSL:SPSL -subchapter:SPXP:SPKP -subclasses:SPKL:SPKL -subclauses:SPKL:SPKL -subclavian:SPKL:SPKL -subclavius:SPKL:SPKL -subclimate:SPKL:SPKL -subcompact:SPKM:SPKM -subcompany:SPKM:SPKM -subcouncil:SPKN:SPKN -subcranial:SPKR:SPKR -subculture:SPKL:SPKL -subcurator:SPKR:SPKR -subcutises:SPKT:SPKT -subdeacons:SPTK:SPTK -subdeliria:SPTL:SPTL -subdeltoid:SPTL:SPTL -subdialect:SPTL:SPTL -subdivided:SPTF:SPTF -subdivider:SPTF:SPTF -subdivides:SPTF:SPTF -subducting:SPTK:SPTK -subduction:SPTK:SPTK -subdurally:SPTR:SPTR -subediting:SPTT:SPTT -subeditors:SPTT:SPTT -subelement:SPLM:SPLM -subendorse:SPNT:SPNT -subentries:SPNT:SPNT -suberizing:SPRS:SPRS -subfertile:SPFR:SPFR -subforeman:SPFR:SPFR -subforemen:SPFR:SPFR -subgallate:SPKL:SPKL -subgenital:SPJN:SPKN -subglacial:SPKL:SPKL -subglenoid:SPKL:SPKL -subglottal:SPKL:SPKL -subglottic:SPKL:SPKL -subheading:SPTN:SPTN -subhepatic:SPPT:SPPT -subicteric:SPKT:SPKT -subimagoes:SPMK:SPMK -subindexes:SPNT:SPNT -subintimal:SPNT:SPNT -subjectify:SPJK:SPJK -subjecting:SPJK:SPJK -subjection:SPJK:SPJK -subjective:SPJK:SPJK -subjoinder:SPJN:SPJN -subjoining:SPJN:SPJN -subjugable:SPJK:SPJK -subjugated:SPJK:SPJK -subjugates:SPJK:SPJK -subjugator:SPJK:SPJK -subkingdom:SPKN:SPKN -subleasing:SPLS:SPLS -sublessees:SPLS:SPLS -subletting:SPLT:SPLT -sublicense:SPLS:SPLS -sublimable:SPLM:SPLM -sublimated:SPLM:SPLM -sublimates:SPLM:SPLM -subliminal:SPLM:SPLM -sublingual:SPLN:SPLN -sublobular:SPLP:SPLP -submachine:SPMX:SPMK -submanager:SPMN:SPMN -submariner:SPMR:SPMR -submarines:SPMR:SPMR -submaxilla:SPMK:SPMK -submediant:SPMT:SPMT -submembers:SPMM:SPMM -submerging:SPMR:SPMR -submersing:SPMR:SPMR -submersion:SPMR:SPMR -submiliary:SPML:SPML -subminimal:SPMN:SPMN -submission:SPMS:SPMS -submissive:SPMS:SPMS -submitters:SPMT:SPMT -submitting:SPMT:SPMT -submodules:SPMT:SPMT -submontane:SPMN:SPMN -submucosae:SPMK:SPMK -submucosal:SPMK:SPMK -subnetwork:SPNT:SPNT -subnuclear:SPNK:SPNK -subnucleus:SPNK:SPNK -suboceanic:SPSN:SPSN -subofficer:SPFS:SPFS -suboffices:SPFS:SPFS -suboptimal:SPPT:SPPT -suboptimum:SPPT:SPPT -suborbital:SPRP:SPRP -subpattern:SPPT:SPPT -subperiods:SPPR:SPPR -subphrenic:SPFR:SPFR -subpleural:SPPL:SPPL -subpoenaed:SPPN:SPPN -subpotency:SPPT:SPPT -subproblem:SPPR:SPPR -subprocess:SPPR:SPPR -subprogram:SPPR:SPPR -subproject:SPPR:SPPR -subregions:SPRJ:SPRK -subreption:SPRP:SPRP -subrogated:SPRK:SPRK -subrostral:SPRS:SPRS -subroutine:SPRT:SPRT -subschemas:SPSK:SPSK -subscleral:SPSK:SPSK -subscribed:SPSK:SPSK -subscriber:SPSK:SPSK -subscribes:SPSK:SPSK -subscripts:SPSK:SPSK -subsection:SPSK:SPSK -subsegment:SPSK:SPSK -subsequent:SPSK:SPSK -subserving:SPSR:SPSR -subsidence:SPST:SPST -subsidiary:SPST:SPST -subsidiser:SPST:SPST -subsidized:SPST:SPST -subsidizes:SPST:SPST -subsistent:SPSS:SPSS -subsisting:SPSS:SPSS -subspecies:SPSP:SPSP -subspinous:SPSP:SPSP -substances:SPST:SPST -substantia:SPST:SPST -substation:SPST:SPST -substernal:SPST:SPST -substitute:SPST:SPST -substrates:SPST:SPST -substratum:SPST:SPST -substrings:SPST:SPST -subsulfate:SPSL:SPSL -subsumable:SPSM:SPSM -subsurface:SPSR:SPSR -subsystems:SPSS:SPSS -subtangent:SPTN:SPTN -subtenancy:SPTN:SPTN -subtenants:SPTN:SPTN -subtending:SPTN:SPTN -subterfuge:SPTR:SPTR -subtetanic:SPTT:SPTT -subthalami:SP0L:SPTL -subtilises:SPTL:SPTL -subtilisin:SPTL:SPTL -subtilized:SPTL:SPTL -subtilizer:SPTL:SPTL -subtilizes:SPTL:SPTL -subtitling:SPTT:SPTT -subtleness:SPTL:SPTL -subtleties:SPTL:SPTL -subtotaled:SPTT:SPTT -subtracted:SPTR:SPTR -subtracter:SPTR:SPTR -subtractor:SPTR:SPTR -subtrahend:SPTR:SPTR -subtropics:SPTR:SPTR -subtypical:SPTP:SPTP -subunguial:SPNK:SPNK -subvaginal:SPFJ:SPFK -subvariety:SPFR:SPFR -subvention:SPFN:SPFN -subversion:SPFR:SPFR -subversive:SPFR:SPFR -subverters:SPFR:SPFR -subverting:SPFR:SPFR -succedanea:SXTN:SXTN -succeeders:SKST:SKST -succeeding:SKST:SKST -successful:SKSS:SKSS -succession:SKSS:SKSS -successive:SKSS:SKSS -successors:SKSS:SKSS -succinctly:SXNK:SXNK -succorable:SKRP:SKRP -succorance:SKRN:SKRN -succorless:SKRL:SKRL -succorrhea:SKR:SKR -succulence:SKLN:SKLN -succulency:SKLN:SKLN -succulents:SKLN:SKLN -succumbers:SKMR:SKMR -succumbing:SKMP:SKMP -succussing:SKSN:SKSN -succussion:SKSN:SKSN -succussive:SKSF:SKSF -sucrosuria:SKRS:SKRS -sudanophil:STNF:STNF -sudatories:STTR:STTR -sudatorium:STTR:STTR -suddenness:STNS:STNS -sudorifics:STRF:STRF -sufferable:SFRP:SFRP -sufferably:SFRP:SFRP -sufferance:SFRN:SFRN -sufferings:SFRN:SFRN -sufficient:SFSN:SFXN -suffocated:SFKT:SFKT -suffocates:SFKT:SFKT -suffragans:SFRK:SFRK -suffragism:SFRJ:SFRK -suffragist:SFRJ:SFRK -suffusions:SFSN:SFXN -sugarcoats:XKRK:SKRK -sugariness:XKRN:SKRN -sugarplums:XKRP:SKRP -suggesting:SKST:SKST -suggestion:SKSX:SKSX -suggestive:SKST:SKST -suicidally:SSTL:SSTL -sulfanilic:SLFN:SLFN -sulfhydryl:SLFT:SLFT -sulfonated:SLFN:SLFN -sulfurated:SLFR:SLFR -sulfureous:SLFR:SLFR -sulfureted:SLFR:SLFR -sulfurized:SLFR:SLFR -sulfurizes:SLFR:SLFR -sulfydrate:SLFT:SLFT -sullenness:SLNS:SLNS -sulphamate:SLFM:SLFM -sulphatase:SLFT:SLFT -sulphating:SLFT:SLFT -sulphation:SLFX:SLFX -sulphonate:SLFN:SLFN -sulphonium:SLFN:SLFN -sulphoxide:SLFK:SLFK -sulphoxone:SLFK:SLFK -sulphurate:SLFR:SLFR -sulphurets:SLFR:SLFR -sulphuring:SLFR:SLFR -sulphurize:SLFR:SLFR -sulphurous:SLFR:SLFR -sulphydryl:SLFT:SLFT -sultanates:SLTN:SLTN -sultriness:SLTR:SLTR -summarized:SMRS:SMRS -summarizer:SMRS:SMRS -summarizes:SMRS:SMRS -summations:SMXN:SMXN -summerless:SMRL:SMRL -summertime:SMRT:SMRT -summerwood:SMRT:SMRT -summitless:SMTL:SMTL -summonsing:SMNS:SMNS -sunbathers:SNP0:SNPT -sunbathing:SNP0:SNPT -sunbonnets:SNPN:SNPN -sunburning:SNPR:SNPR -sundowners:SNTN:SNTN -sundresses:SNTR:SNTR -sunflowers:SNFL:SNFL -sunglasses:SNKL:SNKL -sunscreens:SNSK:SNSK -sunspotted:SNSP:SNSP -sunstrokes:SNST:SNST -superacute:SPRK:SPRK -superadded:SPRT:SPRT -superbness:SPRP:SPRP -supercargo:SPRK:SPRK -supercilia:SPRS:SPRS -superclass:SPRK:SPRK -superdoses:SPRT:SPRT -superfluid:SPRF:SPRF -supergiant:SPRJ:SPRK -supergrass:SPRK:SPRK -supergroup:SPRK:SPRK -superheats:SPRT:SPRT -superhuman:SPRM:SPRM -superiorly:SPRR:SPRR -superlucky:SPRL:SPRL -superlunar:SPRL:SPRL -supernally:SPRN:SPRN -supernovas:SPRN:SPRN -superorder:SPRR:SPRR -superoxide:SPRK:SPRK -superposed:SPRP:SPRP -superposes:SPRP:SPRP -superpower:SPRP:SPRP -superseded:SPRS:SPRS -superseder:SPRS:SPRS -supersedes:SPRS:SPRS -supersonic:SPRS:SPRS -superstars:SPRS:SPRS -superstore:SPRS:SPRS -supersweet:SPRS:SPRS -supertonic:SPRT:SPRT -supervened:SPRF:SPRF -supervenes:SPRF:SPRF -supervisal:SPRF:SPRF -supervised:SPRF:SPRF -supervisee:SPRF:SPRF -supervises:SPRF:SPRF -supervisor:SPRF:SPRF -superwoman:SPRM:SPRM -superwomen:SPRM:SPRM -supinating:SPNT:SPNT -supination:SPNX:SPNX -supineness:SPNN:SPNN -supperless:SPRL:SPRL -supplanted:SPLN:SPLN -supplanter:SPLN:SPLN -supplejack:SPLJ:SPLJ -supplement:SPLM:SPLM -suppleness:SPLN:SPLN -suppletion:SPLX:SPLX -suppletive:SPLT:SPLT -suppletory:SPLT:SPLT -suppliable:SPLP:SPLP -suppliance:SPLN:SPLN -suppliants:SPLN:SPLN -supplicant:SPLK:SPLK -supplicate:SPLK:SPLK -supporters:SPRT:SPRT -supporting:SPRT:SPRT -supportive:SPRT:SPRT -supposable:SPSP:SPSP -supposedly:SPST:SPST -suppressed:SPRS:SPRS -suppressen:SPRS:SPRS -suppresser:SPRS:SPRS -suppresses:SPRS:SPRS -suppressio:SPRS:SPRS -suppressor:SPRS:SPRS -suppurated:SPRT:SPRT -suppurates:SPRT:SPRT -suprahyoid:SPRH:SPRH -supranasal:SPRN:SPRN -supraoptic:SPRP:SPRP -suprapubic:SPRP:SPRP -suprarenal:SPRR:SPRR -supravital:SPRF:SPRF -surcharged:SRXR:SRKR -surcharger:SRXR:SRKR -surcharges:SRXR:SRKR -surcingled:SRSN:SRSN -surcingles:SRSN:SRSN -surefooted:SRFT:SRFT -suretyship:SRTX:SRTX -surfactant:SRFK:SRFK -surfboards:SRFP:SRFP -surfeiting:SRFT:SRFT -surgically:SRJK:SRKK -surinameer:SRNM:SRNM -surinamers:SRNM:SRNM -surjection:SRJK:SRJK -surjective:SRJK:SRJK -surmisable:SRMS:SRMS -surmounted:SRMN:SRMN -surmounter:SRMN:SRMN -surpassing:SRPS:SRPS -surplusage:SRPL:SRPL -surprinted:SRPR:SRPR -surprisers:SRPR:SRPR -surprising:SRPR:SRPR -surrealism:SRLS:SRLS -surrealist:SRLS:SRLS -surrenders:SRNT:SRNT -surrogated:SRKT:SRKT -surrogates:SRKT:SRKT -surrounded:SRNT:SRNT -surveyable:SRFP:SRFP -surveyance:SRFN:SRFN -survivable:SRFF:SRFF -survivance:SRFF:SRFF -susceptive:SSPT:SSPT -suscitated:SSTT:SSTT -suspecting:SSPK:SSPK -suspenders:SSPN:SSPN -suspending:SSPN:SSPN -suspension:SSPN:SSPN -suspensive:SSPN:SSPN -suspensoid:SSPN:SSPN -suspensory:SSPN:SSPN -suspicions:SSPS:SSPX -suspicious:SSPS:SSPX -sustaining:SSTN:SSTN -sustenance:SSTN:SSTN -suturation:STRX:STRX -suzerainty:SSRN:SSRN -swaggerers:SKRR:XKRR -swaggering:SKRN:XKRN -swallowers:SLRS:XLRS -swallowing:SLNK:XLNK -swampiness:SMPN:XMPN -swanneries:SNRS:XNRS -swarthiest:SR0S:XRTS -swatheable:S0PL:XTPL -swaybacked:SPKT:XPKT -swearwords:SRRT:XRRT -sweatiness:STNS:XTNS -sweatpants:STPN:XTPN -sweatshirt:STXR:XTXR -sweatshops:STXP:XTXP -sweepingly:SPNK:XPNK -sweepstake:SPST:XPST -sweetbread:STPR:XTPR -sweetbrier:STPR:XTPR -sweeteners:STNR:XTNR -sweetening:STNN:XTNN -sweetheart:S0RT:XTRT -sweetmeats:STMT:XTMT -swellheads:SLTS:XLTS -sweltering:SLTR:XLTR -swimfeeder:SMFT:XMFT -swimmerets:SMRT:XMRT -swimmingly:SMNK:XMNK -swingboats:SNKP:XNKP -swingingly:SNJN:XNKN -swirlingly:SRLN:XRLN -swishingly:SXNK:XXNK -switchable:SXPL:XXPL -switchback:SXPK:XXPK -switchings:SXNK:XXNK -switchyard:SXRT:XXRT -swooningly:SNNK:XNNK -swordcraft:SRTK:XRTK -swordstick:SRTS:XRTS -swordtails:SRTL:XRTL -sybaritism:SPRT:SPRT -sycophancy:SKFN:SKFN -sycophants:SKFN:SKFN -syllabuses:SLPS:SLPS -syllogisms:SLJS:SLKS -syllogizer:SLJS:SLKS -symbiontic:SMPN:SMPN -symbolical:SMPL:SMPL -symbolisms:SMPL:SMPL -symbolists:SMPL:SMPL -symbolized:SMPL:SMPL -symbolizes:SMPL:SMPL -symbolling:SMPL:SMPL -symmetries:SMTR:SMTR -symmetrize:SMTR:SMTR -sympathies:SMP0:SMPT -sympathism:SMP0:SMPT -sympathize:SMP0:SMPT -symphonies:SMFN:SMFN -symphyseal:SMFS:SMFS -symphysial:SMFS:SMFX -symphysion:SMFS:SMFX -symposiast:SMPS:SMPX -symposiums:SMPS:SMPS -synaereses:SNRS:SNRS -synaeresis:SNRS:SNRS -synagogues:SNKK:SNKK -synanthema:SNN0:SNNT -synaptical:SNPT:SNPT -synarchies:SNRX:SNRK -syncarpous:SNKR:SNKR -syncephali:SNSF:SNSF -synchronic:SNXR:SNKR -synclastic:SNKL:SNKL -syncopated:SNKP:SNKP -syncopater:SNKP:SNKP -syncopates:SNKP:SNKP -syncopator:SNKP:SNKP -syncretism:SNKR:SNKR -syncretist:SNKR:SNKR -syncretize:SNKR:SNKR -syndactyle:SNTK:SNTK -syndactyly:SNTK:SNTK -syndicated:SNTK:SNTK -syndicates:SNTK:SNTK -syndicator:SNTK:SNTK -synecdoche:SNKT:SNKT -synecology:SNKL:SNKL -synephrine:SNFR:SNFR -synergetic:SNRK:SNRK -synergical:SNRJ:SNRK -synergists:SNRJ:SNRK -syngeneses:SNJN:SNKN -syngenesis:SNJN:SNKN -syngenetic:SNJN:SNKN -synkineses:SNKN:SNKN -synkinesis:SNKN:SNKN -synkinetic:SNKN:SNKN -synoecious:SNSS:SNXS -synonymies:SNNM:SNNM -synonymity:SNNM:SNNM -synonymize:SNNM:SNNM -synonymous:SNNM:SNNM -synopsized:SNPS:SNPS -synopsizes:SNPS:SNPS -synoptical:SNPT:SNPT -synoptists:SNPT:SNPT -synorchism:SNRX:SNRK -synostosed:SNST:SNST -synostoses:SNST:SNST -synostosis:SNST:SNST -synostotic:SNST:SNST -synovially:SNFL:SNFL -synoviomas:SNFM:SNFM -syntactics:SNTK:SNTK -syntagmata:SNTK:SNTK -synthermal:SN0R:SNTR -synthesist:SN0S:SNTS -synthesize:SN0S:SNTS -synthetase:SN0T:SNTT -synthetics:SN0T:SNTT -synthetism:SN0T:SNTT -synthetist:SN0T:SNTT -syntropies:SNTR:SNTR -syphilemia:SFLM:SFLM -syphilitic:SFLT:SFLT -syphilized:SFLS:SFLS -syphilizes:SFLS:SFLS -syphilomas:SFLM:SFLM -syringomas:SRNK:SRNK -systematic:SSTM:SSTM -systemical:SSTM:SSTM -systemized:SSTM:SSTM -systemizes:SSTM:SSTM -systemless:SSTM:SSTM -tabernacle:TPRN:TPRN -tabescence:TPSN:TPSN -tabetiform:TPTF:TPTF -tablecloth:TPLK:TPLK -tablelands:TPLL:TPLL -tablespoon:TPLS:TPLS -tabulating:TPLT:TPLT -tabulation:TPLX:TPLX -tabulators:TPLT:TPLT -tachograph:TKKR:TKKR -tachometry:TKMT:TKMT -tachylogia:TKLJ:TKLK -tachylytic:TKLT:TKLT -tachypneic:TKPN:TKPN -tachypnoea:TKPN:TKPN -taciteness:TSTN:TSTN -taciturnly:TSTR:TSTR -tactically:TKTK:TKTK -tacticians:TKTS:TKTX -tactlessly:TKTL:TKTL -taeniacide:TNST:TNST -taeniafuge:TNFJ:TNFK -tailgating:TLKT:TLKT -taillessly:TLSL:TLSL -taillights:TLTS:TLTS -takingness:TKNK:TKNK -talebearer:TLPR:TLPR -talentless:TLNT:TLNT -talismanic:TLSM:TLSM -talmudists:TLMT:TLMT -talotibial:TLTP:TLTP -tamability:TMPL:TMPL -tamborines:TMPR:TMPR -tangential:TNJN:TNKN -tangerines:TNKR:TNJR -tanglement:TNKL:TNKL -tantalized:TNTL:TNTL -tantalizer:TNTL:TNTL -tantalizes:TNTL:TNTL -tantamount:TNTM:TNTM -tanzanians:TNSN:TNSN -taperingly:TPRN:TPRN -tapestried:TPST:TPST -tapestries:TPST:TPST -tapotement:TPTM:TPTM -taradiddle:TRTT:TRTT -tarantella:TRNT:TRNT -tarantulae:TRNT:TRNT -tarantulas:TRNT:TRNT -tardigrade:TRTK:TRTK -tariffless:TRFL:TRFL -tarmacking:TRMK:TRMK -tarnishing:TRNX:TRNX -tarpapered:TRPP:TRPP -tarpaulins:TRPL:TRPL -tarsectomy:TRSK:TRSK -tarsophyma:TRSF:TRSF -tartarated:TRTR:TRTR -tartarises:TRTR:TRTR -tartarized:TRTR:TRTR -tartarizes:TRTR:TRTR -tartrazine:TRTR:TRTR -tasimetric:TSMT:TSMT -taskmaster:TSKM:TSKM -tasksetter:TSKS:TSKS -tastefully:TSTF:TSTF -tattersall:TTRS:TTRS -tattletale:TTLT:TTLT -tattlingly:TTLN:TTLN -tattooists:TTST:TTST -tauntingly:TNTN:TNTN -tauromachy:TRMK:TRMK -tautomeric:TTMR:TTMR -tawdriness:TTRN:TTRN -taxability:TKSP:TKSP -taxational:TKSX:TKSX -taxidermal:TKST:TKST -taxidermic:TKST:TKST -taxonomies:TKSN:TKSN -taxonomist:TKSN:TKSN -tayberries:TPRS:TPRS -tchebychev:XPXF:XPKF -teacherage:TXRJ:TKRK -teacupfuls:TKPF:TKPF -teakettles:TKTL:TKTL -teargassed:TRKS:TRKS -tearjerker:TRJR:TRJR -technetium:TKNT:TKNT -technician:TKNS:TKNX -techniques:TKNK:TKNK -technocrat:TKNK:TKNK -technology:TKNL:TKNL -tectocepha:TKTS:TKTS -teesquares:TSKR:TSKR -teethridge:T0RJ:TTRJ -teetotaled:TTTL:TTTL -teetotaler:TTTL:TTTL -tegumental:TKMN:TKMN -tegumentum:TKMN:TKMN -teichopsia:TXPS:TKPX -telangioma:TLNJ:TLNK -telecasted:TLKS:TLKS -telecaster:TLKS:TLKS -telegnosis:TLNS:TLKN -telegonies:TLKN:TLKN -telegraphs:TLKR:TLKR -telegraphy:TLKR:TLKR -telemetric:TLMT:TLMT -teleologic:TLLJ:TLLK -telepathic:TLP0:TLPT -telephoned:TLFN:TLFN -telephoner:TLFN:TLFN -telephones:TLFN:TLFN -telephonic:TLFN:TLFN -telescoped:TLSK:TLSK -telescopes:TLSK:TLSK -telescopic:TLSK:TLSK -teletypist:TLTP:TLTP -televiewer:TLFR:TLFR -televising:TLFS:TLFS -television:TLFS:TLFX -televisors:TLFS:TLFS -televisual:TLFS:TLFS -telewriter:TLRT:TLRT -teliospore:TLSP:TLSP -tellership:TLRX:TLRX -telophasic:TLFS:TLFS -telpherage:TLFR:TLFR -temperable:TMPR:TMPR -temperance:TMPR:TMPR -temperedly:TMPR:TMPR -tempesting:TMPS:TMPS -temporally:TMPR:TMPR -temporalty:TMPR:TMPR -temporized:TMPR:TMPR -temporizer:TMPR:TMPR -temporizes:TMPR:TMPR -temptation:TMPT:TMPT -temptingly:TMPT:TMPT -tenability:TNPL:TNPL -tenacities:TNST:TNST -tenaculums:TNKL:TNKL -tenantable:TNNT:TNNT -tenantless:TNNT:TNNT -tenantlike:TNNT:TNNT -tenantries:TNNT:TNNT -tenantship:TNNT:TNNT -tendencies:TNTN:TNTN -tenderable:TNTR:TNTR -tenderfeet:TNTR:TNTR -tenderfoot:TNTR:TNTR -tenderized:TNTR:TNTR -tenderizer:TNTR:TNTR -tenderizes:TNTR:TNTR -tenderloin:TNTR:TNTR -tenderness:TNTR:TNTR -tendinitis:TNTN:TNTN -tendolyses:TNTL:TNTL -tendolysis:TNTL:TNTL -tendomucin:TNTM:TNTM -tendonitis:TNTN:TNTN -tendrilled:TNTR:TNTR -tendrilous:TNTR:TNTR -tenebrious:TNPR:TNPR -tenemental:TNMN:TNMN -tenemented:TNMN:TNMN -tenementum:TNMN:TNMN -tennessean:TNSN:TNSN -tenoplasty:TNPL:TNPL -tenostoses:TNST:TNST -tenostosis:TNST:TNST -tenotomies:TNTM:TNTM -tenotomist:TNTM:TNTM -tenotomize:TNTM:TNTM -tentacular:TNTK:TNTK -tenterhook:TNTR:TNTR -teratology:TRTL:TRTL -teratomata:TRTM:TRTM -termagants:TRMK:TRMK -terminable:TRMN:TRMN -terminably:TRMN:TRMN -terminales:TRMN:TRMN -terminalis:TRMN:TRMN -terminally:TRMN:TRMN -terminated:TRMN:TRMN -terminates:TRMN:TRMN -terminator:TRMN:TRMN -terminuses:TRMN:TRMN -termitaria:TRMT:TRMT -terracotta:TRKT:TRKT -terrariums:TRRM:TRRM -terreplein:TRPL:TRPL -terrifical:TRFK:TRFK -terrifiers:TRFR:TRFR -terrifying:TRFN:TRFN -terrorists:TRRS:TRRS -terrorized:TRRS:TRRS -terrorizer:TRRS:TRRS -terrorizes:TRRS:TRRS -terrorless:TRRL:TRRL -tertiaries:TRXR:TRXR -tertiparae:TRTP:TRTP -tertiparas:TRTP:TRTP -tesselated:TSLT:TSLT -tesselater:TSLT:TSLT -tessellate:TSLT:TSLT -testaceous:TSTS:TSTS -testamenta:TSTM:TSTM -testamento:TSTM:TSTM -testaments:TSTM:TSTM -testatoris:TSTT:TSTT -testicular:TSTK:TSTK -testifiers:TSTF:TSTF -testifying:TSTF:TSTF -testimento:TSTM:TSTM -testimonia:TSTM:TSTM -testimonio:TSTM:TSTM -testudinal:TSTT:TSTT -tetaniform:TTNF:TTNF -tetanizing:TTNS:TTNS -tetarconid:TTRK:TTRK -tetchiness:TXNS:TXNS -tetherball:T0RP:TTRP -tetrabasic:TTRP:TTRP -tetrabrach:TTRP:TTRP -tetracaine:TTRK:TTRK -tetrachord:TTRK:TTRK -tetraethyl:TTR0:TTRT -tetragonal:TTRK:TTRK -tetrahedra:TTRH:TTRH -tetrameres:TTRM:TTRM -tetraploid:TTRP:TTRP -tetrapodic:TTRP:TTRP -tetrasomic:TTRS:TTRS -tetraspore:TTRS:TTRS -tetrastich:TTRS:TTRS -tetratomic:TTRT:TTRT -teutonised:TTNS:TTNS -textualism:TKST:TKST -texturally:TKST:TKST -thalamical:0LMK:TLMK -thanatopsy:0NTP:TNTP -thankfully:0NKF:TNKF -thatchless:0XLS:TXLS -theatrical:0TRK:TTRK -theftproof:0FTP:TFTP -theileriae:0LR:TLR -theilerias:0LRS:TLRS -theistical:0STK:TSTK -thelothism:0L0S:TLTS -thelygenic:0LJN:TLKN -thelytocia:0LTS:TLTX -themselves:0MSL:TMSL -thenardite:0NRT:TNRT -theocratic:0KRT:TKRT -theodicies:0TSS:TTXS -theodolite:0TLT:TTLT -theologian:0LJN:TLKN -theologies:0LJS:TLKS -theologist:0LJS:TLKS -theologize:0LJS:TLKS -theophobia:0FP:TFP -theoretics:0RTK:TRTK -theorizers:0RSR:TRSR -theorizing:0RSN:TRSN -theosophic:0SFK:TSFK -therapists:0RPS:TRPS -thereabout:0RPT:TRPT -thereafter:0RFT:TRFT -thereamong:0RMN:TRMN -thereanent:0RNN:TRNN -thereunder:0RNT:TRNT -thereuntil:0RNT:TRNT -theriomata:0RMT:TRMT -thermalize:0RML:TRML -thermionic:0RMN:TRMN -thermistor:0RMS:TRMS -thermogram:0RMK:TRMK -thermophil:0RMF:TRMF -thermopile:0RMP:TRMP -thermostat:0RMS:TRMS -therophyte:0RFT:TRFT -theurgical:0RJK:TRKK -thiaminase:0MNS:TMNS -thickeners:0KNR:TKNR -thickening:0KNN:TKNN -thieftaker:0FTK:TFTK -thieveries:0FRS:TFRS -thievishly:0FXL:TFXL -thighbones:0PNS:TPNS -thimbleful:0MPL:TMPL -thimblerig:0MPL:TMPL -thimerosal:0MRS:TMRS -thingamaji:0NKM:TNKM -thiochrome:0KRM:TKRM -thiocyanic:0SNK:TSNK -thiopental:0PNT:TPNT -thiouracil:0RSL:TRSL -thirstiest:0RST:TRST -thirteenth:0RTN:TRTN -thirtieths:0RT0:TRTT -thirtyfold:0RTF:TRTF -thixotropy:0KST:TKST -thorniness:0RNN:TRNN -thoroughgo:0RFK:TRFK -thoroughly:0RFL:TRFL -thoughtful:0TFL:TTFL -thousandth:0SNT:TSNT -threadbare:0RTP:TRTP -threadiest:0RTS:TRTS -threadless:0RTL:TRTL -threadlike:0RTL:TRTL -threadworm:0RTR:TRTR -threatened:0RTN:TRTN -threatener:0RTN:TRTN -threescore:0RSK:TRSK -threesided:0RST:TRST -threesomes:0RSM:TRSM -threnodies:0RNT:TRNT -thresholds:0RXL:TRXL -thriftiest:0RFT:TRFT -thriftless:0RFT:TRFT -thrivingly:0RFN:TRFN -throatiest:0RTS:TRTS -throatlash:0RTL:TRTL -thrombogen:0RMP:TRMP -thrombosed:0RMP:TRMP -thromboses:0RMP:TRMP -thrombosis:0RMP:TRMP -thrombotic:0RMP:TRMP -throneless:0RNL:TRNL -throttlers:0RTL:TRTL -throttling:0RTL:TRTL -throughout:0RT:TRT -throughput:0RPT:TRPT -throughway:0R:TR -throwaways:0RS:TRS -throwbacks:0RPK:TRPK -throwsters:0RST:TRST -thuddingly:0TNK:TTNK -thuggeries:0KRS:TKRS -thumbnails:0MPN:TMPN -thumbprint:0MPP:TMPP -thumbscrew:0MPS:TMPS -thumbstall:0MPS:TMPS -thumbtacks:0MPT:TMPT -thumpingly:0MPN:TMPN -thunderers:0NTR:TNTR -thundering:0NTR:TNTR -thunderous:0NTR:TNTR -thwartedly:0RTT:TRTT -thymectomy:0MKT:TMKT -thymidylic:0MTL:TMTL -thymopathy:0MP0:TMPT -thyrogenic:0RJN:TRKN -thyrohyoid:0RHT:TRHT -thyrotoxic:0RTK:TRTK -thyrotoxin:0RTK:TRTK -ticklishly:TKLX:TKLX -tiddliness:TTLN:TTLN -tiddlywink:TTLN:TTLN -tidewaiter:TTTR:TTTR -tidewaters:TTTR:TTTR -tiebreaker:TPRK:TPRK -tiemannite:TMNT:TMNT -tigerishly:TJRX:TKRX -tighteners:TTNR:TTNR -tightening:TTNN:TTNN -tightropes:TTRP:TTRP -tigrolyses:TKRL:TKRL -tigrolysis:TKRL:TKRL -tiliaceous:TLSS:TLSS -timberhead:TMPR:TMPR -timberland:TMPR:TMPR -timberline:TMPR:TMPR -timberwork:TMPR:TMPR -timberyard:TMPR:TMPR -timekeeper:TMKP:TMKP -timelessly:TMLS:TMLS -timeliness:TMLN:TMLN -timepieces:TMPS:TMPS -timesaving:TMSF:TMSF -timescales:TMSK:TMSK -timeserver:TMSR:TMSR -timetabled:TMTP:TMTP -timetables:TMTP:TMTP -timeworker:TMRK:TMRK -timorously:TMRS:TMRS -timpanists:TMPN:TMPN -tinctorial:TNKT:TNKT -tincturing:TNKT:TNKT -tinglingly:TNKL:TNLN -tinseliest:TNSL:TNSL -tinsmithes:TNSM:TNSM -tintometry:TNTM:TNTM -tirelessly:TRLS:TRLS -tiresomely:TRSM:TRSM -titanosaur:TTNS:TTNS -tithingman:T0NK:TTNK -tithingmen:T0NK:TTNK -titillated:TTLT:TTLT -titillates:TTLT:TTLT -titivating:TTFT:TTFT -titivation:TTFX:TTFX -titratable:TTRT:TTRT -titrations:TTRX:TTRX -tittupping:TTPN:TTPN -titubation:TTPX:TTPX -titularies:TTLR:TTLR -toadstools:TTST:TTST -tobogganed:TPKN:TPKN -tobogganer:TPKN:TPKN -tocologies:TKLJ:TKLK -tocopherol:TKFR:TKFR -toiletries:TLTR:TLTR -toilsomely:TLSM:TLSM -tokenistic:TKNS:TKNS -tokologies:TKLJ:TKLK -tolazamide:TLSM:TLSM -tolazoline:TLSL:TLSL -tolerances:TLRN:TLRN -tolerantly:TLRN:TLRN -tolerating:TLRT:TLRT -toleration:TLRX:TLRX -tolerative:TLRT:TLRT -tolerators:TLRT:TLRT -tollbooths:TLP0:TLPT -tombstones:TMPS:TMPS -tomfoolery:TMFL:TMFL -tomography:TMKR:TMKR -tonalities:TNLT:TNLT -tonelessly:TNLS:TNLS -tongueless:TNKL:TNKL -tonicities:TNST:TNST -tonoclonic:TNKL:TNKL -tonofibril:TNFP:TNFP -tonography:TNKR:TNKR -tonometric:TNMT:TNMT -tonsillary:TNSL:TNSL -toolholder:TLLT:TLLT -toolmaking:TLMK:TLMK -toothaches:T0XS:TTKS -toothbrush:T0PR:TTPR -toothiness:T0NS:TTNS -toothpaste:T0PS:TTPS -toothpicks:T0PK:TTPK -topagnoses:TPNS:TPKN -topagnosis:TPNS:TPKN -topazolite:TPSL:TPSL -topgallant:TPKL:TPKL -tophaceous:TFSS:TFSS -topicality:TPKL:TPKL -topognosia:TPNS:TPKN -topognosis:TPNS:TPKN -topographs:TPKR:TPKR -topography:TPKR:TPKR -topologies:TPLJ:TPLK -topologist:TPLJ:TPLK -toponomies:TPNM:TPNM -toponymies:TPNM:TPNM -topsoiling:TPSL:TPSL -topsyturvy:TPST:TPST -torbernite:TRPR:TRPR -torchlight:TRXL:TRKL -tormenters:TRMN:TRMN -tormenting:TRMN:TRMN -tormentors:TRMN:TRMN -torpedoing:TRPT:TRPT -torrefying:TRFN:TRFN -torrential:TRNX:TRNX -torricelli:TRSL:TRSL -torridness:TRTN:TRTN -torrifying:TRFN:TRFN -tortellini:TRTL:TRTL -tortiously:TRTS:TRTS -tortuosity:TRTS:TRTS -tortuously:TRTS:TRTS -torturedly:TRTR:TRTR -torulopses:TRLP:TRLP -torulopsis:TRLP:TRLP -totalisers:TTLS:TTLS -totalities:TTLT:TTLT -totalizing:TTLS:TTLS -totipotent:TTPT:TTPT -touchdowns:TXTN:TKTN -toucherism:TXRS:TKRS -touchiness:TXNS:TKNS -touchingly:TXNK:TKNK -touchlines:TKLN:TKLN -touchpaper:TXPP:TKPP -touchstone:TKST:TKST -tougheners:TFNR:TFNR -toughening:TFNN:TFNN -tourmaline:TRML:TRML -tournament:TRNM:TRNM -tourniquet:TRNK:TRNK -towability:TPLT:TPLT -toweringly:TRNK:TRNK -townhouses:TNSS:TNSS -townswoman:TNSM:TNSM -townswomen:TNSM:TNSM -toxalbumin:TKSL:TKSL -toxascaris:TKSS:TKSS -toxicities:TKSS:TKSS -toxicology:TKSK:TKSK -toxiferine:TKSF:TKSF -toxiferous:TKSF:TKSF -toxophoric:TKSF:TKSF -toxoplasma:TKSP:TKSP -trabeation:TRPX:TRPX -trabeculae:TRPK:TRPK -trabecular:TRPK:TRPK -trabeculas:TRPK:TRPK -tracheidal:TRXT:TRKT -tracheitis:TRXT:TRKT -tracksuits:TRKS:TRKS -tractional:TRKX:TRKX -tractotomy:TRKT:TRKT -trademarks:TRTM:TRTM -tradership:TRTR:TRTR -tradesfolk:TRTS:TRTS -traditions:TRTX:TRTX -traducible:TRTS:TRTS -traduction:TRTK:TRTK -trafficked:TRFK:TRFK -trafficker:TRFK:TRFK -trafficway:TRFK:TRFK -tragacanth:TRKK:TRKK -tragedians:TRJT:TRKT -tragically:TRJK:TRKK -tragicomic:TRJK:TRKK -trailingly:TRLN:TRLN -traitoress:TRTR:TRTR -traitorism:TRTR:TRTR -traitorous:TRTR:TRTR -trajectile:TRJK:TRJK -trajectory:TRJK:TRJK -trammelers:TRML:TRML -trammeling:TRML:TRML -tramontane:TRMN:TRMN -trampoline:TRMP:TRMP -trancelike:TRNS:TRNS -tranquilly:TRNK:TRNK -transacted:TRNS:TRNS -transactio:TRNS:TRNS -transactor:TRNS:TRNS -transcends:TRNS:TRNS -transcribe:TRNS:TRNS -transcript:TRNS:TRNS -transduced:TRNS:TRNS -transducer:TRNS:TRNS -transected:TRNS:TRNS -transeptal:TRNS:TRNS -transfects:TRNS:TRNS -transferal:TRNS:TRNS -transferee:TRNS:TRNS -transferor:TRNS:TRNS -transfixed:TRNS:TRNS -transfixes:TRNS:TRNS -transforms:TRNS:TRNS -transfused:TRNS:TRNS -transfuser:TRNS:TRNS -transfuses:TRNS:TRNS -transgress:TRNS:TRNS -transience:TRNS:TRNS -transiency:TRNS:TRNS -transients:TRNS:TRNS -transiliac:TRNS:TRNS -transistor:TRNS:TRNS -transiting:TRNS:TRNS -transition:TRNS:TRNS -transitive:TRNS:TRNS -transitory:TRNS:TRNS -translated:TRNS:TRNS -translates:TRNS:TRNS -translator:TRNS:TRNS -translunar:TRNS:TRNS -transmural:TRNS:TRNS -transmuted:TRNS:TRNS -transmuter:TRNS:TRNS -transmutes:TRNS:TRNS -transocean:TRNS:TRNS -transpired:TRNS:TRNS -transpires:TRNS:TRNS -transplant:TRNS:TRNS -transpolar:TRNS:TRNS -transports:TRNS:TRNS -transposal:TRNS:TRNS -transposed:TRNS:TRNS -transposer:TRNS:TRNS -transposes:TRNS:TRNS -transputer:TRNS:TRNS -transships:TRNS:TRNS -transudate:TRNS:TRNS -transuding:TRNS:TRNS -transvalue:TRNS:TRNS -transversa:TRNS:TRNS -transverse:TRNS:TRNS -transversi:TRNS:TRNS -trapeziums:TRPS:TRPS -trapezoids:TRPS:TRPS -trashiness:TRXN:TRXN -traumatism:TRMT:TRMT -traumatize:TRMT:TRMT -travailing:TRFL:TRFL -travelable:TRFL:TRFL -travelings:TRFL:TRFL -travelogue:TRFL:TRFL -traversals:TRFR:TRFR -traversers:TRFR:TRFR -traversing:TRFR:TRFR -travertine:TRFR:TRFR -travestied:TRFS:TRFS -travestier:TRFS:TRFS -travesties:TRFS:TRFS -travolator:TRFL:TRFL -treadmills:TRTM:TRTM -treasonous:TRSN:TRSN -treasurers:TRSR:TRSR -treasuries:TRSR:TRSR -treasuring:TRSR:TRSR -treatments:TRTM:TRTM -treatyless:TRTL:TRTL -trebleness:TRPL:TRPL -treehopper:TRHP:TRHP -trellising:TRLS:TRLS -trematodes:TRMT:TRMT -tremelloid:TRML:TRML -tremellose:TRML:TRML -tremendous:TRMN:TRMN -tremolando:TRML:TRML -tremorless:TRMR:TRMR -trenchancy:TRNX:TRNK -trendiness:TRNT:TRNT -trepanning:TRPN:TRPN -trephining:TRFN:TRFN -trephocyte:TRFS:TRFS -treponemas:TRPN:TRPN -trespassed:TRSP:TRSP -trespasser:TRSP:TRSP -trespasses:TRSP:TRSP -triangular:TRNK:TRNK -triarchies:TRRX:TRRK -tribalness:TRPL:TRPL -tributyrin:TRPT:TRPT -trichiasis:TRKS:TRKS -trichinaes:TRXN:TRKN -trichinize:TRXN:TRKN -trichinous:TRXN:TRKN -trichocyst:TRXS:TRKS -trichogyne:TRXJ:TRKK -trichology:TRXL:TRKL -trichotomy:TRXT:TRKT -trichroism:TRXR:TRKR -trichromat:TRXR:TRKR -trichromic:TRXR:TRKR -tricipital:TRSP:TRSP -trickeries:TRKR:TRKR -trickiness:TRKN:TRKN -trickingly:TRKN:TRKN -trickishly:TRKX:TRKX -tricksters:TRKS:TRKS -triclinium:TRKL:TRKL -tricolored:TRKL:TRKL -tricornute:TRKR:TRKR -tricostate:TRKS:TRKS -tricrotism:TRKR:TRKR -tricycling:TRSK:TRSK -tricyclist:TRSK:TRSK -tridactyle:TRTK:TRTK -tridentate:TRTN:TRTN -trienniums:TRNM:TRNM -triflingly:TRFL:TRFL -trifoliate:TRFL:TRFL -trifurcate:TRFR:TRFR -trigamists:TRKM:TRKM -trigeminal:TRJM:TRKM -trigeminus:TRJM:TRKM -triggering:TRKR:TRKR -triggerman:TRKR:TRKR -triglyphic:TRKL:TRKL -trigonally:TRKN:TRKN -trigonitis:TRKN:TRKN -trigraphic:TRKR:TRKR -trihedrons:TRHT:TRHT -trihydrate:TRHT:TRHT -trilaminar:TRLM:TRLM -trilateral:TRLT:TRLT -trilingual:TRLN:TRLN -triliteral:TRLT:TRLT -trilithons:TRL0:TRLT -trillionth:TRLN:TRLN -trilobated:TRLP:TRLP -trilobites:TRLP:TRLP -trilocular:TRLK:TRLK -trimensual:TRMN:TRMN -trimesters:TRMS:TRMS -trimonthly:TRMN:TRMN -trimorphic:TRMR:TRMR -trinocular:TRNK:TRNK -trioecious:TRSS:TRXS -tripartite:TRPR:TRPR -tripeptide:TRPP:TRPP -triphammer:TRFM:TRFM -triphthong:TRF0:TRFT -triphylite:TRFL:TRFL -tripinnate:TRPN:TRPN -tripletail:TRPL:TRPL -triplicate:TRPL:TRPL -triplicity:TRPL:TRPL -trippingly:TRPN:TRPN -tripterous:TRPT:TRPT -triptyches:TRPT:TRPT -triquetrum:TRKT:TRKT -triradiate:TRRT:TRRT -trisecting:TRSK:TRSK -trisection:TRSK:TRSK -triskelion:TRSK:TRSK -tristearin:TRST:TRST -tristichic:TRST:TRST -tritanopia:TRTN:TRTN -tritiating:TRXT:TRXT -tritiation:TRXX:TRXX -triticeous:TRTS:TRTS -tritoconid:TRTK:TRTK -triturable:TRTR:TRTR -triturably:TRTR:TRTR -triturated:TRTR:TRTR -triturates:TRTR:TRTR -triturator:TRTR:TRTR -triumphant:TRMF:TRMF -triumphing:TRMF:TRMF -triumviral:TRMF:TRMF -trivalence:TRFL:TRFL -trivalency:TRFL:TRFL -triviality:TRFL:TRFL -trivialize:TRFL:TRFL -trochanter:TRXN:TRKN -trochantin:TRXN:TRKN -trochleate:TRKL:TRKL -trochoidal:TRXT:TRKT -trochoides:TRXT:TRKT -troglodyte:TRKL:TRKL -trollopish:TRLP:TRLP -trombicula:TRMP:TRMP -trombonist:TRMP:TRMP -troopships:TRPX:TRPX -tropaeolum:TRPL:TRPL -trophedema:TRFT:TRFT -trophesies:TRFS:TRFS -trophocyte:TRFS:TRFS -trophoderm:TRFT:TRFT -trophology:TRFL:TRFL -tropically:TRPK:TRPK -tropicbird:TRPK:TRPK -tropologic:TRPL:TRPL -tropopause:TRPP:TRPP -tropophyte:TRPF:TRPF -troubadour:TRPT:TRPT -trousering:TRSR:TRSR -trousseaus:TRSS:TRSS -trousseaux:TRS:TRS -troutlings:TRTL:TRTL -trouvaille:TRFL:TRFL -truckloads:TRKL:TRKL -truculence:TRKL:TRKL -truculency:TRKL:TRKL -trumperies:TRMP:TRMP -trumpeters:TRMP:TRMP -trumpeting:TRMP:TRMP -truncately:TRNK:TRNK -truncating:TRNK:TRNK -truncation:TRNK:TRNK -truncheons:TRNX:TRNK -trusteeing:TRST:TRST -trustfully:TRST:TRST -trustified:TRST:TRST -trustiness:TRST:TRST -trustingly:TRST:TRST -trustwoman:TRST:TRST -trustwomen:TRST:TRST -truthfully:TR0F:TRTF -tryingness:TRNN:TRNK -tryptamine:TRPT:TRPT -tryptophan:TRPT:TRPT -tubercular:TPRK:TPRK -tuberculid:TPRK:TPRK -tuberculin:TPRK:TPRK -tuberculum:TPRK:TPRK -tuberiform:TPRF:TPRF -tuberosity:TPRS:TPRS -tuberously:TPRS:TPRS -tubulating:TPLT:TPLT -tubulation:TPLX:TPLX -tubulously:TPLS:TPLS -tuffaceous:TFSS:TFSS -tuitionary:TXNR:TXNR -tularaemia:TLRM:TLRM -tularaemic:TLRM:TLRM -tumbledown:TMPL:TMPL -tumblehome:TMPL:TMPL -tumblerful:TMPL:TMPL -tumbleweed:TMPL:TMPL -tumescence:TMSN:TMSN -tumultuous:TMLT:TMLT -tunability:TNPL:TNPL -tunelessly:TNLS:TNLS -tungstenic:TNKS:TNKS -tunnelings:TNLN:TNLN -tunultuary:TNLT:TNLT -turbidness:TRPT:TRPT -turbinated:TRPN:TRPN -turboprops:TRPP:TRPP -turbulence:TRPL:TRPL -turbulency:TRPL:TRPL -turgescent:TRJS:TRKS -turgidness:TRJT:TRKT -turnabouts:TRNP:TRNP -turnaround:TRNR:TRNR -turnbuckle:TRNP:TRNP -turnrounds:TRNR:TRNR -turnstiles:TRNS:TRNS -turntables:TRNT:TRNT -turpentine:TRPN:TRPN -turquoises:TRKS:TRKS -turricepha:TRSF:TRSF -turtleback:TRTL:TRTL -turtledove:TRTL:TRTL -turtleneck:TRTL:TRTL -tuscaroras:TSKR:TSKR -tutelaries:TTLR:TTLR -tutorially:TTRL:TTRL -tweediness:TTNS:TTNS -twelvefold:TLFF:TLFF -twentieths:TNT0:TNTT -twentyfold:TNTF:TNTF -twigginess:TKNS:TKNS -twinighter:TNTR:TNTR -twittering:TTRN:TTRN -twittingly:TTNK:TTNK -tympanites:TMPN:TMPN -tympanitic:TMPN:TMPN -tympanitis:TMPN:TMPN -tympanorum:TMPN:TMPN -typecaster:TPKS:TPKS -typescript:TPSK:TPSK -typesetter:TPST:TPST -typewriter:TPRT:TPRT -typewrites:TPRT:TPRT -typhlology:TFLL:TFLL -typhlomega:TFLM:TFLM -typhogenic:TFJN:TFKN -typicality:TPKL:TPKL -typography:TPKR:TPKR -typologies:TPLJ:TPLK -typologist:TPLJ:TPLK -typonomist:TPNM:TPNM -tyrannical:TRNK:TRNK -tyrannized:TRNS:TRNS -tyrannizer:TRNS:TRNS -tyrannizes:TRNS:TRNS -tyranously:TRNS:TRNS -tyrocidine:TRST:TRST -tyrogenous:TRJN:TRKN -tyrosinase:TRSN:TRSN -tyrrhenian:TRNN:TRNN -ubiquinone:APKN:APKN -ubiquitous:APKT:APKT -ukrainians:AKRN:AKRN -ulcerating:ALSR:ALSR -ulceration:ALSR:ALSR -ulcerative:ALSR:ALSR -ulcerously:ALSR:ALSR -ulerythema:ALR0:ALRT -ulnocarpal:ALNK:ALNK -ulnoradial:ALNR:ALNR -ulteriorly:ALTR:ALTR -ultimacies:ALTM:ALTM -ultimately:ALTM:ALTM -ultimation:ALTM:ALTM -ultimatums:ALTM:ALTM -ultrabasic:ALTR:ALTR -ultrafiche:ALTR:ALTR -ultralarge:ALTR:ALTR -ultrashort:ALTR:ALTR -ultrasonic:ALTR:ALTR -ultrasound:ALTR:ALTR -ultrasuede:ALTR:ALTR -ultravires:ALTR:ALTR -ultravirus:ALTR:ALTR -ultroneous:ALTR:ALTR -ululations:ALLX:ALLX -umbellated:AMPL:AMPL -umbilicate:AMPL:AMPL -umbrageous:AMPR:AMPR -umbrellaed:AMPR:AMPR -umpireship:AMPR:AMPR -unabatedly:ANPT:ANPT -unabridged:ANPR:ANPR -unabsolved:ANPS:ANPS -unabsorbed:ANPS:ANPS -unacademic:ANKT:ANKT -unaccented:ANXN:ANXN -unaccepted:ANXP:ANXP -unaccredit:ANKR:ANKR -unaccustom:ANKS:ANKS -unachieved:ANXF:ANKF -unacquaint:ANKN:ANKN -unactuated:ANKT:ANKT -unadjusted:ANTJ:ANTJ -unaffected:ANFK:ANFK -unalarming:ANLR:ANLR -unalienate:ANLN:ANLN -unamenable:ANMN:ANMN -unamicable:ANMK:ANMK -unamortise:ANMR:ANMR -unanchored:ANNX:ANNK -unanimated:ANNM:ANNM -unannounce:ANNN:ANNN -unanswered:ANNS:ANNS -unapparent:ANPR:ANPR -unappeased:ANPS:ANPS -unapproved:ANPR:ANPR -unaquitted:ANKT:ANKT -unarguable:ANRK:ANRK -unarguably:ANRK:ANRK -unarrested:ANRS:ANRS -unartfully:ANRT:ANRT -unartistic:ANRT:ANRT -unaspirate:ANSP:ANSP -unaspiring:ANSP:ANSP -unassailed:ANSL:ANSL -unassemble:ANSM:ANSM -unassented:ANSN:ANSN -unassessed:ANSS:ANSS -unassigned:ANSN:ANSK -unassisted:ANSS:ANSS -unassorted:ANSR:ANSR -unassuming:ANSM:ANSM -unathletic:AN0L:ANTL -unattached:ANTX:ANTK -unattained:ANTN:ANTN -unattended:ANTN:ANTN -unattested:ANTS:ANTS -unavailing:ANFL:ANFL -unawakened:ANKN:ANKN -unbailable:ANPL:ANPL -unbalanced:ANPL:ANPL -unbaptized:ANPP:ANPP -unbearable:ANPR:ANPR -unbearably:ANPR:ANPR -unbeatable:ANPT:ANPT -unbeatably:ANPT:ANPT -unbecoming:ANPK:ANPK -unbegotten:ANPK:ANPK -unbeholden:ANPH:ANPH -unbeliever:ANPL:ANPL -unbendable:ANPN:ANPN -unbequeath:ANPK:ANPK -unbesought:ANPS:ANPS -unbiasedly:ANPS:ANPS -unblamable:ANPL:ANPL -unblamably:ANPL:ANPL -unbleached:ANPL:ANPL -unblinking:ANPL:ANPL -unblocking:ANPL:ANPL -unblushing:ANPL:ANPL -unbosoming:ANPS:ANPS -unbribable:ANPR:ANPR -unbrokenly:ANPR:ANPR -unbuckling:ANPK:ANPK -unbudgeted:ANPJ:ANPJ -unbuffered:ANPF:ANPF -unbundling:ANPN:ANPN -unburdened:ANPR:ANPR -unbuttoned:ANPT:ANPT -uncanceled:ANKN:ANKN -uncarpeted:ANKR:ANKR -uncensored:ANSN:ANSN -uncensured:ANSN:ANSN -unchaining:ANXN:ANKN -unchanging:ANXN:ANKN -unchaperon:ANXP:ANKP -unchastely:ANXS:ANKS -unchastise:ANXS:ANKS -unchastity:ANXS:ANKS -uncheerful:ANXR:ANKR -unchristen:ANXR:ANKR -unchurched:ANXR:ANKR -unchurches:ANXR:ANKR -uncinatums:ANSN:ANSN -uncivilise:ANSF:ANSF -unclasping:ANKL:ANKL -unclenched:ANKL:ANKL -unclenches:ANKL:ANKL -uncloaking:ANKL:ANKL -unclogging:ANKL:ANKL -unclothing:ANKL:ANKL -uncombined:ANKM:ANKM -uncommonly:ANKM:ANKM -uncomplain:ANKM:ANKM -uncomplete:ANKM:ANKM -uncompound:ANKM:ANKM -uncompress:ANKM:ANKM -unconceded:ANKN:ANKN -unconclude:ANKN:ANKN -uncondense:ANKN:ANKN -uncondoned:ANKN:ANKN -unconfined:ANKN:ANKN -unconfused:ANKN:ANKN -unconjugat:ANKN:ANKN -unconsider:ANKN:ANKN -unconsoled:ANKN:ANKN -unconsumed:ANKN:ANKN -uncontrite:ANKN:ANKN -unconvince:ANKN:ANKN -uncoupling:ANKP:ANKP -uncovenant:ANKF:ANKF -uncovering:ANKF:ANKF -uncreative:ANKR:ANKR -uncredited:ANKR:ANKR -uncritical:ANKR:ANKR -uncrossing:ANKR:ANKR -unctuosity:ANKT:ANKT -unctuously:ANKT:ANKT -uncultured:ANKL:ANKL -uncumbered:ANKM:ANKM -uncustomed:ANKS:ANKS -undeceived:ANTS:ANTS -undeceiver:ANTS:ANTS -undeceives:ANTS:ANTS -undeclared:ANTK:ANTK -undecorate:ANTK:ANTK -undefeated:ANTF:ANTF -undefended:ANTF:ANTF -undeniable:ANTN:ANTN -undeniably:ANTN:ANTN -underacted:ANTR:ANTR -underbelly:ANTR:ANTR -underbrush:ANTR:ANTR -underbuild:ANTR:ANTR -underclass:ANTR:ANTR -underclerk:ANTR:ANTR -undercloth:ANTR:ANTR -undercoats:ANTR:ANTR -undercooks:ANTR:ANTR -undercoved:ANTR:ANTR -undercover:ANTR:ANTR -undercroft:ANTR:ANTR -underdoing:ANTR:ANTR -underdrain:ANTR:ANTR -underdrawn:ANTR:ANTR -underdress:ANTR:ANTR -undereaten:ANTR:ANTR -underfeeds:ANTR:ANTR -underfloor:ANTR:ANTR -underflows:ANTR:ANTR -undergirds:ANTR:ANTR -underglaze:ANTR:ANTR -undergoing:ANTR:ANTR -undergrade:ANTR:ANTR -undergrads:ANTR:ANTR -undergrown:ANTR:ANTR -underlayer:ANTR:ANTR -underlease:ANTR:ANTR -underlined:ANTR:ANTR -underlines:ANTR:ANTR -underlings:ANTR:ANTR -underlying:ANTR:ANTR -undermined:ANTR:ANTR -underminer:ANTR:ANTR -undermines:ANTR:ANTR -undernamed:ANTR:ANTR -underneath:ANTR:ANTR -undernoted:ANTR:ANTR -underpants:ANTR:ANTR -underparts:ANTR:ANTR -underpitch:ANTR:ANTR -underplays:ANTR:ANTR -underplots:ANTR:ANTR -underpower:ANTR:ANTR -underprice:ANTR:ANTR -underproof:ANTR:ANTR -underprops:ANTR:ANTR -underquote:ANTR:ANTR -underrated:ANTR:ANTR -underrates:ANTR:ANTR -underripen:ANTR:ANTR -underscore:ANTR:ANTR -underseals:ANTR:ANTR -undersells:ANTR:ANTR -undersexed:ANTR:ANTR -undershirt:ANTR:ANTR -undershoot:ANTR:ANTR -undersized:ANTR:ANTR -underskirt:ANTR:ANTR -underslung:ANTR:ANTR -underspend:ANTR:ANTR -underspent:ANTR:ANTR -understaff:ANTR:ANTR -understand:ANTR:ANTR -understate:ANTR:ANTR -understood:ANTR:ANTR -understudy:ANTR:ANTR -undertaken:ANTR:ANTR -undertaker:ANTR:ANTR -undertakes:ANTR:ANTR -undertones:ANTR:ANTR -undertrain:ANTR:ANTR -undertrick:ANTR:ANTR -undertrump:ANTR:ANTR -undervalue:ANTR:ANTR -undervests:ANTR:ANTR -underwaist:ANTR:ANTR -underwated:ANTR:ANTR -underwater:ANTR:ANTR -underwhelm:ANTR:ANTR -underwinds:ANTR:ANTR -underworld:ANTR:ANTR -underwound:ANTR:ANTR -underwrite:ANTR:ANTR -underwrote:ANTR:ANTR -undeserved:ANTS:ANTS -undesigned:ANTS:ANTS -undetached:ANTT:ANTT -undetected:ANTT:ANTT -undeterred:ANTT:ANTT -undiagnose:ANTN:ANTK -undiffused:ANTF:ANTF -undigested:ANTJ:ANTK -undiminish:ANTM:ANTM -undirected:ANTR:ANTR -undisburse:ANTS:ANTS -undisclose:ANTS:ANTS -undiscover:ANTS:ANTS -undisguise:ANTS:ANTS -undismayed:ANTS:ANTS -undisposed:ANTS:ANTS -undisprove:ANTS:ANTS -undisputed:ANTS:ANTS -undissolve:ANTS:ANTS -undistract:ANTS:ANTS -undistress:ANTS:ANTS -undivulged:ANTF:ANTF -undocument:ANTK:ANTK -undogmatic:ANTK:ANTK -undoubting:ANTP:ANTP -undramatic:ANTR:ANTR -undressing:ANTR:ANTR -undulating:ANTL:ANTL -undulation:ANTL:ANTL -undulatory:ANTL:ANTL -unearthing:ANR0:ANRT -uneasiness:ANSN:ANSN -uneconomic:ANKN:ANKN -unedifying:ANTF:ANTF -uneducable:ANTK:ANTK -uneducated:ANTK:ANTK -unemphatic:ANMF:ANMF -unemployed:ANMP:ANMP -unenclosed:ANNK:ANNK -unencourag:ANNK:ANNK -unencumber:ANNK:ANNK -unendanger:ANNT:ANNT -unendingly:ANNT:ANNT -unendorsed:ANNT:ANNT -unenduring:ANNT:ANNT -unenforced:ANNF:ANNF -unenlarged:ANNL:ANNL -unenriched:ANNR:ANNR -unenrolled:ANNR:ANNR -unentailed:ANNT:ANNT -unentangle:ANNT:ANNT -unentitled:ANNT:ANNT -unenviable:ANNF:ANNF -unequalled:ANKL:ANKL -unequipped:ANKP:ANKP -unerringly:ANRN:ANRN -unescorted:ANSK:ANSK -unesthetic:ANS0:ANST -unestrange:ANST:ANST -unevenness:ANFN:ANFN -uneventful:ANFN:ANFN -unexamined:ANKS:ANKS -unexampled:ANKS:ANKS -unexcavate:ANKS:ANKS -unexceeded:ANKS:ANKS -unexcelled:ANKS:ANKS -unexciting:ANKS:ANKS -unexecuted:ANKS:ANKS -unexercise:ANKS:ANKS -unexpanded:ANKS:ANKS -unexpected:ANKS:ANKS -unexpended:ANKS:ANKS -unexpiated:ANKS:ANKS -unexplicit:ANKS:ANKS -unexploded:ANKS:ANKS -unexplored:ANKS:ANKS -unextended:ANKS:ANKS -unfairness:ANFR:ANFR -unfaithful:ANF0:ANFT -unfamiliar:ANFM:ANFM -unfastened:ANFS:ANFS -unfathered:ANF0:ANFT -unfathomed:ANFT:ANFT -unfatigued:ANFT:ANFT -unfeasible:ANFS:ANFS -unfeatured:ANFT:ANFT -unfederate:ANFT:ANFT -unfeminine:ANFM:ANFM -unfettered:ANFT:ANFT -unfiltered:ANFL:ANFL -unfindable:ANFN:ANFN -unfinished:ANFN:ANFN -unflagging:ANFL:ANFL -unflavored:ANFL:ANFL -unfocussed:ANFK:ANFK -unforensic:ANFR:ANFR -unforeseen:ANFR:ANFR -unforested:ANFR:ANFR -unforetold:ANFR:ANFR -unforgiven:ANFR:ANFR -unforsaken:ANFR:ANFR -unfreezing:ANFR:ANFR -unfrequent:ANFR:ANFR -unfriendly:ANFR:ANFR -unfrocking:ANFR:ANFR -unfruitful:ANFR:ANFR -unfurrowed:ANFR:ANFR -ungainlier:ANKN:ANKN -ungathered:ANK0:ANKT -ungenerous:ANJN:ANKN -ungenially:ANJN:ANKN -ungodliest:ANKT:ANKT -ungoverned:ANKF:ANKF -ungraceful:ANKR:ANKR -ungracious:ANKR:ANKR -ungrateful:ANKR:ANKR -ungrounded:ANKR:ANKR -ungrudging:ANKR:ANKR -unguarante:ANKR:ANKR -unguentary:ANKN:ANKN -unguiltily:ANKL:ANKL -unhallowed:ANLT:ANLT -unhampered:ANMP:ANMP -unhappiest:ANPS:ANPS -unharbored:ANRP:ANRP -unhardened:ANRT:ANRT -unharrowed:ANRT:ANRT -unhearable:ANRP:ANRP -unheededly:ANTT:ANTT -unheralded:ANRL:ANRL -unhindered:ANNT:ANNT -unhitching:ANXN:ANXN -unholiness:ANLN:ANLN -unhygienic:ANJN:ANKN -uniaxially:ANKS:ANKS -unicameral:ANKM:ANKM -unicentral:ANSN:ANSN -unicentric:ANSN:ANSN -unicornous:ANKR:ANKR -unicostate:ANKS:ANKS -unicyclist:ANSK:ANSK -unifoliate:ANFL:ANFL -uniforming:ANFR:ANFR -uniformity:ANFR:ANFR -unigravida:ANKR:ANKR -unilateral:ANLT:ANLT -unilingual:ANLN:ANLN -uniliteral:ANLT:ANLT -unilocular:ANLK:ANLK -unimagined:ANMJ:ANMK -unimpaired:ANMP:ANMP -unimposing:ANMP:ANMP -unimproved:ANMP:ANMP -uninclosed:ANNK:ANNK -unincumber:ANNK:ANNK -unindented:ANNT:ANNT -unindorsed:ANNT:ANNT -uninfected:ANNF:ANNF -uninformed:ANNF:ANNF -uninitiate:ANNX:ANNX -uninspired:ANNS:ANNS -uninstruct:ANNS:ANNS -unintended:ANNT:ANNT -uninterest:ANNT:ANNT -uninuclear:ANNK:ANNK -uninvested:ANNF:ANNF -uninviting:ANNF:ANNF -uninvolved:ANNF:ANNF -unionistic:ANNS:ANNS -unionizers:ANNS:ANNS -unionizing:ANNS:ANNS -uniqueness:ANKN:ANKN -uniseptate:ANSP:ANSP -unitarians:ANTR:ANTR -unitedness:ANTT:ANTT -univariate:ANFR:ANFR -universals:ANFR:ANFR -university:ANFR:ANFR -univocally:ANFK:ANFK -unjudicial:ANJT:ANJT -unjustness:ANJS:ANJS -unkenneled:ANKN:ANKN -unkindness:ANKN:ANKN -unknitting:ANKN:ANKN -unknotting:ANKN:ANKN -unknowable:ANKN:ANKN -unknowably:ANKN:ANKN -unladylike:ANLT:ANLT -unlamented:ANLM:ANLM -unlatching:ANLX:ANLX -unlawfully:ANLF:ANLF -unlearning:ANLR:ANLR -unleashing:ANLX:ANLX -unleavened:ANLF:ANLF -unlettable:ANLT:ANLT -unlettered:ANLT:ANLT -unleveling:ANLF:ANLF -unliberate:ANLP:ANLP -unlicensed:ANLS:ANLS -unlifelike:ANLF:ANLF -unlikeable:ANLK:ANLK -unlikeness:ANLK:ANLK -unlimbered:ANLM:ANLM -unliveable:ANLF:ANLF -unliveries:ANLF:ANLF -unlockable:ANLK:ANLK -unloosened:ANLS:ANLS -unloveable:ANLF:ANLF -unmailable:ANML:ANML -unmannered:ANMN:ANMN -unmannerly:ANMN:ANMN -unmarrying:ANMR:ANMR -unmastered:ANMS:ANMS -unmeasured:ANMS:ANMS -unmediated:ANMT:ANMT -unmedicate:ANMT:ANMT -unmeditate:ANMT:ANMT -unmemorise:ANMM:ANMM -unmerciful:ANMR:ANMR -unmetrical:ANMT:ANMT -unmilitary:ANML:ANML -unmistaken:ANMS:ANMS -unmitigate:ANMT:ANMT -unmodified:ANMT:ANMT -unmolested:ANML:ANML -unmorality:ANMR:ANMR -unmortgage:ANMR:ANMR -unmotivate:ANMT:ANMT -unmoveable:ANMF:ANMF -unmuffling:ANMF:ANMF -unmuzzling:ANMS:ANMS -unnameable:ANMP:ANMP -unnumbered:ANMR:ANMR -unnurtured:ANRT:ANRT -unobligate:ANPL:ANPL -unobliging:ANPL:ANPL -unobscured:ANPS:ANPS -unobserved:ANPS:ANPS -unobstruct:ANPS:ANPS -unobtained:ANPT:ANPT -unoccupied:ANKP:ANKP -unoffended:ANFN:ANFN -unofficial:ANFS:ANFX -unordained:ANRT:ANRT -unorganise:ANRK:ANRK -unoriginal:ANRJ:ANRK -unornament:ANRN:ANRN -unorthodox:ANR0:ANRT -unpacified:ANPS:ANPS -unparallel:ANPR:ANPR -unpardoned:ANPR:ANPR -unpatented:ANPT:ANPT -unpeaceful:ANPS:ANPS -unpedigred:ANPT:ANPT -unpeppered:ANPP:ANPP -unperjured:ANPR:ANPR -unplayable:ANPL:ANPL -unpleasant:ANPL:ANPL -unpleasing:ANPL:ANPL -unploughed:ANPL:ANPL -unplugging:ANPL:ANPL -unpoetical:ANPT:ANPT -unpolarise:ANPL:ANPL -unpolished:ANPL:ANPL -unpolluted:ANPL:ANPL -unpractice:ANPR:ANPR -unprepared:ANPR:ANPR -unpreserve:ANPR:ANPR -unpressure:ANPR:ANPR -unproclaim:ANPR:ANPR -unproduced:ANPR:ANPR -unprohibit:ANPR:ANPR -unprompted:ANPR:ANPR -unproposed:ANPR:ANPR -unprosecut:ANPR:ANPR -unprovable:ANPR:ANPR -unprovided:ANPR:ANPR -unprovoked:ANPR:ANPR -unpunctual:ANPN:ANPN -unpunished:ANPN:ANPN -unpurified:ANPR:ANPR -unquenched:ANKN:ANKN -unquestion:ANKS:ANKS -unquotable:ANKT:ANKT -unravelers:ANRF:ANRF -unraveling:ANRF:ANRF -unreactive:ANRK:ANRK -unreadable:ANRT:ANRT -unreadably:ANRT:ANRT -unrealized:ANRL:ANRL -unreasoned:ANRS:ANRS -unreckoned:ANRK:ANRK -unreconcil:ANRK:ANRK -unrecorded:ANRK:ANRK -unredeemed:ANRT:ANRT -unreformed:ANRF:ANRF -unregiment:ANRJ:ANRK -unregister:ANRJ:ANRK -unregulate:ANRK:ANRK -unrehearse:ANRH:ANRH -unreleased:ANRL:ANRL -unreliable:ANRL:ANRL -unreliably:ANRL:ANRL -unrelieved:ANRL:ANRL -unremarked:ANRM:ANRM -unremedied:ANRM:ANRM -unremember:ANRM:ANRM -unremitted:ANRM:ANRM -unrendered:ANRN:ANRN -unrenowned:ANRN:ANRN -unrentable:ANRN:ANRN -unrepaired:ANRP:ANRP -unrepealed:ANRP:ANRP -unreplaced:ANRP:ANRP -unreported:ANRP:ANRP -unreproved:ANRP:ANRP -unrequited:ANRK:ANRK -unreserved:ANRS:ANRS -unresigned:ANRS:ANRS -unresisted:ANRS:ANRS -unresolved:ANRS:ANRS -unrestored:ANRS:ANRS -unrestrain:ANRS:ANRS -unrestrict:ANRS:ANRS -unreturned:ANRT:ANRT -unrevealed:ANRF:ANRF -unrevenged:ANRF:ANRF -unreviewed:ANRF:ANRF -unrewarded:ANRR:ANRR -unrhythmic:ANR0:ANRT -unriddling:ANRT:ANRT -unrightful:ANRT:ANRT -unripeness:ANRP:ANRP -unrivalled:ANRF:ANRF -unromantic:ANRM:ANRM -unruliness:ANRL:ANRL -unsaddling:ANST:ANST -unsalaried:ANSL:ANSL -unsaleable:ANSL:ANSL -unsanction:ANSN:ANSN -unsanitary:ANSN:ANSN -unsatiable:ANSX:ANSX -unsatiably:ANSX:ANSX -unsaturate:ANST:ANST -unsavorily:ANSF:ANSF -unscalable:ANSK:ANSK -unschooled:ANSK:ANSK -unscramble:ANSK:ANSK -unscreened:ANSK:ANSK -unscrewing:ANSK:ANSK -unscripted:ANSK:ANSK -unsealable:ANSL:ANSL -unseasoned:ANSS:ANSS -unsecluded:ANSK:ANSK -unseconded:ANSK:ANSK -unseeingly:ANSN:ANSN -unselected:ANSL:ANSL -unsensible:ANSN:ANSN -unseparate:ANSP:ANSP -unsettling:ANST:ANST -unshackled:ANXK:ANXK -unshackles:ANXK:ANXK -unshadowed:ANXT:ANXT -unshakable:ANXK:ANXK -unshakably:ANXK:ANXK -unsheathed:ANX0:ANXT -unsheathes:ANX0:ANXT -unshielded:ANXL:ANXL -unshipping:ANXP:ANXP -unsilenced:ANSL:ANSL -unsinkable:ANSN:ANSN -unskillful:ANSK:ANSK -unslinging:ANSL:ANSL -unsnapping:ANSN:ANSN -unsnarling:ANSN:ANSN -unsociable:ANSS:ANSX -unsociably:ANSS:ANSX -unsocially:ANSS:ANSX -unsolicite:ANSL:ANSL -unsolvable:ANSL:ANSL -unspecific:ANSP:ANSP -unsporting:ANSP:ANSP -unstarched:ANST:ANST -unsteadied:ANST:ANST -unsteadies:ANST:ANST -unsteadily:ANST:ANST -unsteeling:ANST:ANST -unstepping:ANST:ANST -unsticking:ANST:ANST -unstinting:ANST:ANST -unstopping:ANST:ANST -unstrained:ANST:ANST -unstrapped:ANST:ANST -unstreamed:ANST:ANST -unstressed:ANST:ANST -unstriated:ANST:ANST -unsuitable:ANST:ANST -unsuitably:ANST:ANST -unsuppress:ANSP:ANSP -unsureness:ANSR:ANSR -unsurprise:ANSR:ANSR -unsurveyed:ANSR:ANSR -unswathing:ANS0:ANST -unswearing:ANSR:ANSR -unswerving:ANSR:ANSR -untalented:ANTL:ANTL -untameable:ANTM:ANTM -untangling:ANTN:ANTN -untasteful:ANTS:ANTS -untempered:ANTM:ANTM -untempting:ANTM:ANTM -untenanted:ANTN:ANTN -untethered:ANT0:ANTT -unthankful:AN0N:ANTN -unthinking:AN0N:ANTN -unthreaded:AN0R:ANTR -untidiness:ANTT:ANTT -untillable:ANTL:ANTL -untiringly:ANTR:ANTR -untowardly:ANTR:ANTR -untraveled:ANTR:ANTR -untroubled:ANTR:ANTR -untrueness:ANTR:ANTR -untrussing:ANTR:ANTR -untrustful:ANTR:ANTR -untruthful:ANTR:ANTR -untwisting:ANTS:ANTS -unutilized:ANTL:ANTL -unvanquish:ANFN:ANFN -unveilings:ANFL:ANFL -unvendible:ANFN:ANFN -unverified:ANFR:ANFR -unwariness:ANRN:ANRN -unwavering:ANFR:ANFR -unweakened:ANKN:ANKN -unwearable:ANRP:ANRP -unwearably:ANRP:ANRP -unwearying:ANRN:ANRN -unwieldily:ANLT:ANLT -unwindable:ANNT:ANNT -unwithered:AN0R:ANTR -unwontedly:ANNT:ANNT -unworkable:ANRK:ANRK -unworkably:ANRK:ANRK -unworthily:ANR0:ANRT -unwrapping:ANRP:ANRP -unwrinkled:ANRN:ANRN -unwrinkles:ANRN:ANRN -unyielding:ANLT:ANLT -upbraiders:APRT:APRT -upbraiding:APRT:APRT -upbringing:APRN:APRN -upbuilding:APLT:APLT -upchucking:APXK:APKK -updateable:APTT:APTT -updraughts:APTR:APTR -upholsters:AFLS:AFLS -upholstery:AFLS:AFLS -upliftment:APLF:APLF -uproarious:APRR:APRR -upsettable:APST:APST -upsettings:APST:APST -upshifting:APXF:APXF -upsidedown:APST:APST -upstanding:APST:APST -upsweeping:APSP:APSP -upswinging:APSN:APSN -upwardness:APRT:APRT -urbaneness:ARPN:ARPN -urbanities:ARPN:ARPN -urbanizing:ARPN:ARPN -urbanology:ARPN:ARPN -ureaplasma:ARPL:ARPL -uremigenic:ARMJ:ARMK -ureotelism:ARTL:ARTL -ureteritis:ARTR:ARTR -urethritis:AR0R:ARTR -urhidroses:ARTR:ARTR -urhidrosis:ARTR:ARTR -uricolyses:ARKL:ARKL -uricolysis:ARKL:ARKL -uricolytic:ARKL:ARKL -uricosuria:ARKS:ARKS -uricosuric:ARKS:ARKS -uricotelic:ARKT:ARKT -uridospore:ARTS:ARTS -urinalyses:ARNL:ARNL -urinalysis:ARNL:ARNL -urinometry:ARNM:ARNM -urogenital:ARJN:ARKN -uroglaucin:ARKL:ARKL -urohematin:ARHM:ARHM -urological:ARLJ:ARLK -urologists:ARLJ:ARLK -uronoscopy:ARNS:ARNS -uropathies:ARP0:ARPT -uropoieses:ARPS:ARPS -uropoiesis:ARPS:ARPS -uropoietic:ARPT:ARPT -uroscheses:ARXS:ARXS -uroschesis:ARXS:ARXS -uroscopies:ARSK:ARSK -uroxanthin:ARKS:ARKS -urticarial:ARTK:ARTK -urticating:ARTK:ARTK -urtication:ARTK:ARTK -uruguayans:ARKN:ARKN -usableness:ASPL:ASPL -useability:ASPL:ASPL -usefulness:ASFL:ASFL -usherettes:AXRT:AXRT -usquebaugh:ASKP:ASKP -ustulation:ASTL:ASTL -usucaption:ASKP:ASKP -usuriously:ASRS:ASRS -usurpation:ASRP:ASRP -usurpative:ASRP:ASRP -usurpatory:ASRP:ASRP -usurpature:ASRP:ASRP -uterometed:ATRM:ATRM -uterotonic:ATRT:ATRT -uterotubal:ATRT:ATRT -utilizable:ATLS:ATLS -utopianism:ATPN:ATPN -utterances:ATRN:ATRN -uudecoding:ATKT:ATKT -uuencoding:ANKT:ANKT -uvulectomy:AFLK:AFLK -uxoricidal:AKSR:AKSR -uxoriously:AKSR:AKSR -vacantness:FKNT:FKNT -vacationed:FKXN:FKXN -vacationer:FKXN:FKXN -vaccinable:FXNP:FXNP -vaccinated:FXNT:FXNT -vaccinates:FXNT:FXNT -vaccinator:FXNT:FXNT -vacillated:FSLT:FSLT -vacillates:FSLT:FSLT -vacillator:FSLT:FSLT -vacuolated:FKLT:FKLT -vadimonies:FTMN:FTMN -vadimonium:FTMN:FTMN -vagabondsh:FKPN:FKPN -vaginapexy:FJNP:FKNP -vaginismus:FJNS:FKNS -vaginocele:FJNS:FKNS -vaginotomy:FJNT:FKNT -vagotomies:FKTM:FKTM -vagotomize:FKTM:FKTM -vagotonias:FKTN:FKTN -vagotonies:FKTN:FKTN -vagotropic:FKTR:FKTR -vagrancies:FKRN:FKRN -valentines:FLNT:FLNT -valerianic:FLRN:FLRN -validating:FLTT:FLTT -validation:FLTX:FLTX -validatory:FLTT:FLTT -valleculae:FLKL:FLKL -valorizing:FLRS:FLRS -valorously:FLRS:FLRS -valuations:FLXN:FLXN -valvulitis:FLFL:FLFL -vanadinite:FNTN:FNTN -vancomycin:FNKM:FNKM -vandalized:FNTL:FNTL -vandalizes:FNTL:FNTL -vanquished:FNKX:FNKX -vanquisher:FNKX:FNKX -vanquishes:FNKX:FNKX -vaporizers:FPRS:FPRS -vaporizing:FPRS:FPRS -vaporously:FPRS:FPRS -variations:FRXN:FRXN -varication:FRKX:FRKX -varicellar:FRSL:FRSL -varicocele:FRKS:FRKS -varicosity:FRKS:FRKS -varicotomy:FRKT:FRKT -variedness:FRTN:FRTN -variegated:FRKT:FRKT -variegates:FRKT:FRKT -varietally:FRTL:FRTL -variolated:FRLT:FRLT -variolates:FRLT:FRLT -variolitic:FRLT:FRLT -varnishing:FRNX:FRNX -vascularly:FSKL:FSKL -vasculitis:FSKL:FSKL -vasoactive:FSKT:FSKT -vasography:FSKR:FSKR -vasomotion:FSMX:FSMX -vasoreflex:FSRF:FSRF -vaticanism:FTKN:FTKN -vaticanist:FTKN:FTKN -vaticinate:FTSN:FTSN -vaudeville:FTFL:FTFL -vaxservers:FKSS:FKSS -vaxstation:FKSS:FKSS -vegetables:FKTP:FKTP -vegetality:FKTL:FKTL -vegetarian:FKTR:FKTR -vegetating:FKTT:FKTT -vegetation:FKTX:FKTX -vegetative:FKTT:FKTT -vehemently:FHMN:FHMN -velamentum:FLMN:FLMN -velarising:FLRS:FLRS -velleities:FLTS:FLTS -vellicated:FLKT:FLKT -velocipede:FLSP:FLSP -velocities:FLST:FLST -velodromes:FLTR:FLTR -velutinous:FLTN:FLTN -venational:FNXN:FNXN -vendettist:FNTT:FNTT -venditioni:FNTX:FNTX -venenating:FNNT:FNNT -venenation:FNNX:FNNX -venerating:FNRT:FNRT -veneration:FNRX:FNRX -venereally:FNRL:FNRL -venerology:FNRL:FNRL -venesuture:FNST:FNST -venezuelan:FNSL:FNSL -vengefully:FNJF:FNKF -venoclyses:FNKL:FNKL -venoclysis:FNKL:FNKL -venography:FNKR:FNKR -venomously:FNMS:FNMS -venosities:FNST:FNST -venostases:FNST:FNST -venostasis:FNST:FNST -venotomies:FNTM:FNTM -venousness:FNSN:FNSN -ventilable:FNTL:FNTL -ventilated:FNTL:FNTL -ventilates:FNTL:FNTL -ventilator:FNTL:FNTL -ventricles:FNTR:FNTR -ventricose:FNTR:FNTR -ventriculi:FNTR:FNTR -venturings:FNTR:FNTR -veracities:FRST:FRST -verandahed:FRNT:FRNT -verbaliser:FRPL:FRPL -verbalists:FRPL:FRPL -verbalized:FRPL:FRPL -verbalizes:FRPL:FRPL -verbifying:FRPF:FRPF -verbomania:FRPM:FRPM -vergership:FRKR:FRJR -veridicous:FRTK:FRTK -verifiable:FRFP:FRFP -verifiably:FRFP:FRFP -verkrampte:FRKR:FRKR -vermeilled:FRML:FRML -vermeilles:FRML:FRML -vermicelli:FRMS:FRMS -vermicidal:FRMS:FRMS -vermicular:FRMK:FRMK -vermifugal:FRMF:FRMF -vermifuges:FRMF:FRMF -vermillion:FRML:FRML -verminoses:FRMN:FRMN -verminosis:FRMN:FRMN -vermonters:FRMN:FRMN -vermouthes:FRM0:FRMT -vernacular:FRNK:FRNK -vernalized:FRNL:FRNL -vernalizes:FRNL:FRNL -vernissage:FRNS:FRNS -verrucoses:FRKS:FRKS -verrucosis:FRKS:FRKS -versailles:FRSL:FRSL -versicolor:FRSK:FRSK -versicular:FRSK:FRSK -versifiers:FRSF:FRSF -versifying:FRSF:FRSF -vertebraes:FRTP:FRTP -vertebrata:FRTP:FRTP -vertebrate:FRTP:FRTP -vertically:FRTK:FRTK -vertigines:FRTJ:FRTK -vesicating:FSKT:FSKT -vesication:FSKX:FSKX -vesicatory:FSKT:FSKT -vesicocele:FSKS:FSKS -vesicotomy:FSKT:FSKT -vesiculaes:FSKL:FSKL -vesiculate:FSKL:FSKL -vesiculous:FSKL:FSKL -vespertine:FSPR:FSPR -vespiaries:FSPR:FSPR -vestibular:FSTP:FSTP -vestibules:FSTP:FSTP -vestibulum:FSTP:FSTP -vestmented:FSTM:FSTM -veterinary:FTRN:FTRN -vexationem:FKSX:FKSX -vibraculum:FPRK:FPRK -vibraharps:FPRH:FPRH -vibraphone:FPRF:FPRF -vibrations:FPRX:FPRX -vicariates:FKRT:FKRT -vicegerent:FSJR:FSKR -viceregent:FSRJ:FSRK -vicereines:FSRN:FSRN -vicinities:FSNT:FSNT -vicountiel:FKNT:FKNT -victimized:FKTM:FKTM -victimizer:FKTM:FKTM -victimizes:FKTM:FKTM -victimless:FKTM:FKTM -victoriana:FKTR:FKTR -victorians:FKTR:FKTR -victorious:FKTR:FKTR -victualers:FKTL:FKTL -victualing:FKTL:FKTL -victualled:FKTL:FKTL -victualler:FKTL:FKTL -videodiscs:FTTS:FTTS -videophone:FTFN:FTFN -videotaped:FTTP:FTTP -videotapes:FTTP:FTTP -vietnamese:FTNM:FTNM -viewership:FRXP:FRXP -viewfinder:FFNT:FFNT -viewpoints:FPNT:FPNT -vigilantes:FJLN:FKLN -vigilantly:FJLN:FKLN -vignetters:FNTR:FKNT -vignetting:FNTN:FKNT -vignettist:FNTS:FKNT -vigorously:FKRS:FKRS -villainess:FLNS:FLNS -villainies:FLNS:FLNS -villainous:FLNS:FLNS -villanelle:FLNL:FLNL -villeinage:FLNJ:FLNK -villifiers:FLFR:FLFR -villositis:FLST:FLST -vindicable:FNTK:FNTK -vindicably:FNTK:FNTK -vindicated:FNTK:FNTK -vindicates:FNTK:FNTK -vindicator:FNTK:FNTK -vindictive:FNTK:FNTK -vinegarish:FNKR:FNKR -viniferous:FNFR:FNFR -vinylidene:FNLT:FNLT -violaceous:FLSS:FLSS -violations:FLXN:FLXN -violinists:FLNS:FLNS -viperishly:FPRX:FPRX -viperously:FPRS:FPRS -viraginity:FRJN:FRKN -viraginous:FRJN:FRKN -virescence:FRSN:FRSN -virginally:FRJN:FRKN -virginians:FRJN:FRKN -virilities:FRLT:FRLT -virilizing:FRLS:FRLS -viripotent:FRPT:FRPT -virologies:FRLJ:FRLK -virologist:FRLJ:FRLK -virtuality:FRTL:FRTL -virtueless:FRTL:FRTL -virtuosity:FRTS:FRTS -virtuously:FRTS:FRTS -virulences:FRLN:FRLN -virulently:FRLN:FRLN -virustatic:FRST:FRST -viscerally:FSRL:FSRL -viscerated:FSRT:FSRT -visceribus:FSRP:FSRP -viscometry:FSKM:FSKM -viscountcy:FSKN:FSKN -visibility:FSPL:FSPL -visionally:FSNL:FXNL -visitation:FSTX:FSTX -visitorial:FSTR:FSTR -visualized:FSLS:FSLS -visualizer:FSLS:FSLS -visualizes:FSLS:FSLS -vitalistic:FTLS:FTLS -vitalities:FTLT:FTLT -vitalizers:FTLS:FTLS -vitalizing:FTLS:FTLS -vitaminize:FTMN:FTMN -vitreously:FTRS:FTRS -vitrescent:FTRS:FTRS -vitrifying:FTRF:FTRF -vitrioling:FTRL:FTRL -vitriolize:FTRL:FTRL -vituperate:FTPR:FTPR -vivacities:FFST:FFST -viviparity:FFPR:FFPR -viviparous:FFPR:FFPR -vivisected:FFSK:FFSK -vivisector:FFSK:FFSK -vixenishly:FKSN:FKSN -vocabulary:FKPL:FKPL -vocalizers:FKLS:FKLS -vocalizing:FKLS:FKLS -vocational:FKXN:FKXN -vocatively:FKTF:FKTF -vociferant:FSFR:FSFR -vociferate:FSFR:FSFR -vociferous:FSFR:FSFR -voicedness:FSTN:FSTN -voiceprint:FSPR:FSPR -volatility:FLTL:FLTL -volatilize:FLTL:FLTL -volcanical:FLKN:FLKN -volcanises:FLKN:FLKN -volcanized:FLKN:FLKN -volcanizes:FLKN:FLKN -volitantes:FLTN:FLTN -volitional:FLXN:FLXN -volkswagen:FLKS:FLKS -volleyball:FLPL:FLPL -volplaning:FLPL:FLPL -volubility:FLPL:FLPL -volumetric:FLMT:FLMT -voluminous:FLMN:FLMN -volunteers:FLNT:FLNT -voluptuary:FLPT:FLPT -voluptuous:FLPT:FLPT -volvuluses:FLFL:FLFL -voodooists:FTST:FTST -vortically:FRTK:FRTK -vorticella:FRTS:FRTS -vorticists:FRTS:FRTS -vorticosae:FRTK:FRTK -vorticular:FRTK:FRTK -votiveness:FTFN:FTFN -vouchsafed:FKSF:FKSF -vouchsafes:FKSF:FKSF -vowelising:FLSN:FLSN -vulcanists:FLKN:FLKN -vulcanized:FLKN:FLKN -vulcanizer:FLKN:FLKN -vulcanizes:FLKN:FLKN -vulgarians:FLKR:FLKR -vulgarisms:FLKR:FLKR -vulgarized:FLKR:FLKR -vulgarizer:FLKR:FLKR -vulgarizes:FLKR:FLKR -vulgarness:FLKR:FLKR -vulnerable:FLNR:FLNR -vulnerably:FLNR:FLNR -vulvectomy:FLFK:FLFK -waddlingly:ATLN:FTLN -waggliness:AKLN:FKLN -wagglingly:AKLN:FKLN -waggonette:AKNT:FKNT -waggonless:AKNL:FKNL -waggonload:AKNL:FKNL -wagnerians:AKNR:FKNR -wagonettes:AKNT:FKNT -wagonloads:AKNL:FKNL -wainscoted:ANSK:FNSK -wainwright:ANRT:FNRT -waistbands:ASTP:FSTP -waistcoats:ASTK:FSTK -waistlines:ASTL:FSTL -waitresses:ATRS:FTRS -waiverable:AFRP:FFRP -walkabouts:ALKP:FLKP -wallboards:ALPR:FLPR -wallflower:ALFL:FLFL -wallpapers:ALPP:FLPP -wallposter:ALPS:FLPS -wanderings:ANTR:FNTR -wanderlust:ANTR:FNTR -wantonness:ANTN:FNTN -wappenshaw:APNX:FPNX -wardencies:ARTN:FRTN -wardenship:ARTN:FRTN -wardership:ARTR:FRTR -wardresses:ARTR:FRTR -warehoused:ARHS:FRHS -warehouser:ARHS:FRHS -warehouses:ARHS:FRHS -warmongers:ARMN:FRMN -warrandice:ARNT:FRNT -warrantees:ARNT:FRNT -warranties:ARNT:FRNT -warranting:ARNT:FRNT -washbasins:AXPS:FXPS -washboards:AXPR:FXPR -washcloths:AXKL:FXKL -washington:AXNK:FXNK -washstands:AXST:FXST -wassailers:ASLR:FSLR -wassailing:ASLN:FSLN -wassermann:ASRM:FSRM -wastefully:ASTF:FSTF -wastelands:ASTL:FSTL -wastepaper:ASTP:FSTP -watchbands:AXPN:FXPN -watchcases:AXKS:FXKS -watchfully:AXFL:FXFL -watchmaker:AXMK:FXMK -watchstrap:AXST:FXST -watchtower:AXTR:FXTR -watchwoman:AXMN:FXMN -watchwomen:AXMN:FXMN -watchwords:AXRT:FXRT -waterborne:ATRP:FTRP -waterbucks:ATRP:FTRP -watercolor:ATRK:FTRK -watercraft:ATRK:FTRK -watercress:ATRK:FTRK -waterfalls:ATRF:FTRF -waterfowls:ATRF:FTRF -waterfront:ATRF:FTRF -waterhouse:ATRS:FTRS -wateriness:ATRN:FTRN -watermarks:ATRM:FTRM -watermelon:ATRM:FTRM -waterpower:ATRP:FTRP -waterproof:ATRP:FTRP -waterscape:ATRS:FTRS -watersheds:ATRX:FTRX -watershers:ATRX:FTRX -waterspout:ATRS:FTRS -watertight:ATRT:FTRT -waterwheel:ATRL:FTRL -waterworks:ATRR:FTRR -wavefronts:AFFR:FFFR -wavelength:AFLN:FFLN -waveringly:AFRN:FFRN -weakfishes:AKFX:FKFX -weakliness:AKLN:FKLN -weaknesses:AKNS:FKNS -wealthiest:AL0S:FLTS -wealthless:AL0L:FLTL -weanedness:ANTN:FNTN -weaponless:APNL:FPNL -wearyingly:ARNK:FRNK -weathering:A0RN:FTRN -weatherman:A0RM:FTRM -weathermen:A0RM:FTRM -weaverbird:AFRP:FFRP -wednesdays:ATNS:FTNS -weedkiller:ATKL:FTKL -weeknights:AKNT:FKNT -weightiest:ATST:FTST -weightless:ATLS:FTLS -wellington:ALNK:FLNK -wellspring:ALSP:FLSP -welshwoman:ALXM:FLXM -welshwomen:ALXM:FLXM -werewolves:ARLF:FRLF -westergren:ASTR:FSTR -westerlies:ASTR:FSTR -westerners:ASTR:FSTR -westernism:ASTR:FSTR -westernize:ASTR:FSTR -westwardly:ASTR:FSTR -whalebacks:ALPK:ALPK -whaleboats:ALPT:ALPT -whalebones:ALPN:ALPN -wharfinger:ARFN:ARFN -whatsoever:ATSF:ATSF -wheatstone:ATST:ATST -wheelbases:ALPS:ALPS -wheelchair:ALXR:ALKR -wheelhouse:ALS:ALS -wheeziness:ASNS:ATSN -wheezingly:ASNK:ATSN -whensoever:ANSF:ANSF -whereabout:ARPT:ARPT -whereafter:ARFT:ARFT -whereunder:ARNT:ARNT -whetstones:ATST:ATST -whickering:AKRN:AKRN -whimperers:AMPR:AMPR -whimpering:AMPR:AMPR -whiplashes:APLX:APLX -whippiness:APNS:APNS -whipsawing:APSN:APSN -whipstalls:APST:APST -whipstitch:APST:APST -whipstocks:APST:APST -whirlabout:ARLP:ARLP -whirligigs:ARLJ:ARLK -whirlingly:ARLN:ARLN -whirlpools:ARLP:ARLP -whirlwinds:ARLN:ARLN -whirlybird:ARLP:ARLP -whiskeries:ASKR:ASKR -whisperers:ASPR:ASPR -whispering:ASPR:ASPR -whiteflies:ATFL:ATFL -whiteheads:ATHT:ATHT -whitehorse:ATHR:ATHR -whitesmith:ATSM:ATSM -whitespace:ATSP:ATSP -whitethorn:AT0R:ATTR -whitewalls:ATLS:ATLS -whitsunday:ATSN:ATSN -whittlings:ATLN:ATLN -wholesaled:ALSL:ALSL -wholesaler:ALSL:ALSL -wholesales:ALSL:ALSL -wholewheat:ALT:ALT -whomsoever:AMSF:AMSF -wickedness:AKTN:FKTN -wickerwork:AKRR:FKRR -widespread:ATSP:FTSP -wifeliness:AFLN:FFLN -wigwagging:AKJN:FKKN -wildcatted:ALTK:FLTK -wildcatter:ALTK:FLTK -wildebeest:ALTP:FLTP -wildermuth:ALTR:FLTR -wilderness:ALTR:FLTR -wilfulness:ALFL:FLFL -williamson:ALMS:FLMS -willowherb:ALRP:FLRP -willynilly:ALNL:FLNL -willywilly:ALL:FLL -winceyette:ANST:FNST -winchester:ANXS:FNKS -windbreaks:ANTP:FNTP -windburned:ANTP:FNTP -windflower:ANTF:FNTF -windgalled:ANTK:FNTK -windhovers:ANTF:FNTF -windjammer:ANTJ:FNTJ -windlasses:ANTL:FNTL -windowless:ANTL:FNTL -windowpane:ANTP:FNTP -windowsill:ANTS:FNTS -windscreen:ANTS:FNTS -windshield:ANTX:FNTX -windstorms:ANTS:FNTS -windsurfer:ANTS:FNTS -winebibber:ANPP:FNPP -winegrower:ANKR:FNKR -wingspread:ANKS:FNKS -winterfeed:ANTR:FNTR -winterized:ANTR:FNTR -winterizes:ANTR:FNTR -winterkill:ANTR:FNTR -winterless:ANTR:FNTR -wintertime:ANTR:FNTR -wintriness:ANTR:FNTR -wirehaired:ARHR:FRHR -wirephotos:ARFT:FRFT -wirepuller:ARPL:FRPL -wiretapped:ARTP:FRTP -wiretapper:ARTP:FRTP -wisecracks:ASKR:FSKR -witchcraft:AXKR:FXKR -witcheries:AXRS:FXRS -witchingly:AXNK:FXNK -withdrawal:A0TR:FTTR -withdrawer:A0TR:FTTR -withholder:A0LT:FTLT -withstands:A0ST:FTST -witnessers:ATNS:FTNS -witnesseth:ATNS:FTNS -witnessing:ATNS:FTNS -wittedness:ATTN:FTTN -witticisms:ATSS:FTSS -wizardries:ASRT:FTSR -wobbliness:APLN:FPLN -woefulness:AFLN:FFLN -wolfhounds:ALFN:FLFN -wolframite:ALFR:FLFR -wolfsbanes:ALFS:FLFS -wollongong:ALNK:FLNK -wolverines:ALFR:FLFR -womanishly:AMNX:FMNX -womanizers:AMNS:FMNT -womanizing:AMNS:FMNT -wonderland:ANTR:FNTR -wonderless:ANTR:FNTR -wonderment:ANTR:FNTR -wonderwork:ANTR:FNTR -wondrously:ANTR:FNTR -wongawonga:ANKN:FNKN -woodblocks:ATPL:FTPL -woodborers:ATPR:FTPR -woodcarver:ATKR:FTKR -woodchucks:ATXK:FTKK -woodcutter:ATKT:FTKT -woodenhead:ATNT:FTNT -woodenness:ATNS:FTNS -woodenware:ATNR:FTNR -woodgrouse:ATKR:FTKR -woodlander:ATLN:FTLN -woodpecker:ATPK:FTPK -woodscrews:ATSK:FTSK -woodworker:ATRK:FTRK -woolgather:ALK0:FLKT -woolgrower:ALKR:FLKR -woolliness:ALNS:FLNS -woolsorter:ALSR:FLSR -wordbreaks:ARTP:FRTP -wordlessly:ARTL:FRTL -wordsworth:ARTS:FRTS -workaholic:ARKH:FRKH -workerless:ARKR:FRKR -workfellow:ARKF:FRKF -workforces:ARKF:FRKF -workhorses:ARKR:FRKR -workhouses:ARKS:FRKS -workingman:ARKN:FRKN -workingmen:ARKN:FRKN -workmaster:ARKM:FRKM -workpeople:ARKP:FRKP -workpieces:ARKP:FRKP -workplaces:ARKP:FRKP -worktables:ARKT:FRKT -worldliest:ARLT:FRLT -worldlings:ARLT:FRLT -worryingly:ARNK:FRNK -worrywarts:ARRT:FRRT -worshipers:ARXP:FRXP -worshipful:ARXP:FRXP -worshiping:ARXP:FRXP -worshipped:ARXP:FRXP -worshipper:ARXP:FRXP -worthiness:AR0N:FRTN -worthwhile:AR0L:FRTL -woundingly:ANTN:FNTN -wraithlike:R0LK:RTLK -wraparound:RPRN:RPRN -wrathfully:R0FL:RTFL -wreathless:R0LS:RTLS -wreathlike:R0LK:RTLK -wrestlings:RSTL:RSTL -wretchedly:RXTL:RXTL -wriggliest:RKLS:RKLS -wristbands:RSTP:RSTP -wristlocks:RSTL:RSTL -wristwatch:RSTX:RSTX -writhingly:R0NK:RTNK -wrongdoers:RNKT:RNKT -wrongdoing:RNKT:RNKT -wrongfully:RNKF:RNKF -wuchereria:AXRR:FKRR -wyomingite:AMNJ:FMNK -xanthomata:SNTM:SNTM -xanthopsia:SN0P:SNTP -xanthopsin:SN0P:SNTP -xanthosine:SN0S:SNTS -xenogeneic:SNJN:SNKN -xenography:SNKR:SNKR -xenolithes:SNL0:SNLT -xenolithic:SNL0:SNLT -xenophiles:SNFL:SNFL -xenophilia:SNFL:SNFL -xenophobes:SNFP:SNFP -xenophobia:SNFP:SNFP -xenophobic:SNFP:SNFP -xenopsylla:SNPS:SNPS -xerography:SRKR:SRKR -xerophagia:SRFJ:SRFK -xerostomia:SRST:SRST -xiphodynia:SFTN:SFTN -xiphopagus:SFPK:SFPK -xiphosuran:SFSR:SFSR -xylography:SLKR:SLKR -xyloketose:SLKT:SLKT -xylophones:SLFN:SLFN -xylophonic:SLFN:SLFN -xylotomist:SLTM:SLTM -xylotomous:SLTM:SLTM -yarborough:ARPR:ARPR -yardmaster:ARTM:ARTM -yardsticks:ARTS:ARTS -yearningly:ARNN:ARNN -yeastiness:ASTN:ASTN -yellowbird:ALPR:ALPR -yellowhead:ALT:ALT -yellowlegs:ALLK:ALLK -yellowness:ALNS:ALNS -yellowtail:ALTL:ALTL -yellowweed:ALT:ALT -yellowwood:ALT:ALT -yellowwort:ALRT:ALRT -yeshivahes:AXFH:AXFH -yesterdays:ASTR:ASTR -yestereves:ASTR:ASTR -yestermorn:ASTR:ASTR -yesteryear:ASTR:ASTR -yieldingly:ALTN:ALTN -youngberry:ANKP:ANKP -younglings:ANKL:ANLN -youngsters:ANKS:ANKS -youngstown:ANKS:ANKS -yourselfer:ARSL:ARSL -yourselves:ARSL:ARSL -youthfully:A0FL:ATFL -yugoslavia:AKSL:AKSL -zabaglione:SPKL:SPLN -zealanders:SLNT:SLNT -zeaxanthin:SKSN:SKSN -zeitgeists:STJS:STKS -zigzagging:SKSJ:SKSK -zillionths:SLN0:SLNT -zimmermann:SMRM:SMRM -zincograph:SNKK:SNKK -zitherists:S0RS:STRS -zithernist:S0RN:STRN -zoanthropy:SN0R:SNTR -zollverein:SLFR:SLFR -zooerastia:SRSX:SRSX -zoogeneous:SJNS:SKNS -zoographer:SKRF:SKRF -zoolagnias:SLNS:SLKN -zoolatrous:SLTR:SLTR -zoological:SLJK:SLKK -zoologists:SLJS:SLKS -zoomorphic:SMRF:SMRF -zoophagous:SFKS:SFKS -zoophilism:SFLS:SFLS -zoophilist:SFLS:SFLS -zoophilous:SFLS:SFLS -zooplastic:SPLS:SPLS -zootherapy:S0RP:STRP -zootrophic:STRF:STRF -zucchettos:SXTS:SXTS -zwitterion:STRN:STRN -zygocities:SKST:SKST -zygodactyl:SKTK:SKTK -zygomatico:SKMT:SKMT -zygosities:SKST:SKST -zymogenous:SMJN:SMKN -zymologies:SMLJ:SMLK -zymologist:SMLJ:SMLK -abalienated:APLN:APLN -abalienates:APLN:APLN -abandonedly:APNT:APNT -abandonment:APNT:APNT -abarthroses:APR0:APRT -abarthrosis:APR0:APRT -abberations:APRX:APRX -abbevillian:APFL:APFL -abbreviated:APRF:APRF -abbreviatee:APRF:APRF -abbreviates:APRF:APRF -abbreviator:APRF:APRF -abderhalden:APTR:APTR -abdications:APTK:APTK -abdominally:APTM:APTM -abecedarian:APST:APST -abembryonic:APMP:APMP -aberrancies:APRN:APRN -aberrations:APRX:APRX -aberystwyth:APRS:APRS -abhorrences:APRN:APRN -abhorrently:APRN:APRN -abidingness:APTN:APTN -abiogeneses:APJN:APKN -abiogenesis:APJN:APKN -abiogenetic:APJN:APKN -abiotrophic:APTR:APTR -abirritates:APRT:APRT -abjudicated:APJT:APJT -abjudicates:APJT:APJT -abjurations:APJR:APJR -ablactation:APLK:APLK -ablutionary:APLX:APLX -abnegations:APNK:APNK -abnormality:APNR:APNR -abnormities:APNR:APNR -abolishable:APLX:APLX -abolishment:APLX:APLX -abominating:APMN:APMN -abomination:APMN:APMN -abominators:APMN:APMN -abortionist:APRX:APRX -abortogenic:APRT:APRT -aboveground:APFK:APFK -abracadabra:APRK:APRK -abreactions:APRK:APRK -abridgeable:APRJ:APRJ -abridgement:APRJ:APRJ -abridgments:APRT:APRT -abrogations:APRK:APRK -abruptiones:APRP:APRP -abscissions:APSS:APSS -abscondence:APSK:APSK -absenteeism:APSN:APSN -absolutions:APSL:APSL -absolutists:APSL:APSL -absorbently:APSR:APSR -absorbingly:APSR:APSR -absorptions:APSR:APSR -abstentions:APST:APST -abstentious:APST:APST -abstinences:APST:APST -abstinently:APST:APST -abstracters:APST:APST -abstracting:APST:APST -abstraction:APST:APST -abstractive:APST:APST -abstractors:APST:APST -abstriction:APST:APST -absurdities:APSR:APSR -abusiveness:APSF:APSF -abyssinians:APSN:APSN -academicals:AKTM:AKTM -academician:AKTM:AKTM -academicism:AKTM:AKTM -acanthomata:AKNT:AKNT -acarologies:AKRL:AKRL -acarophobia:AKRF:AKRF -acatalectic:AKTL:AKTL -acataleptic:AKTL:AKTL -accelerable:AKSL:AKSL -accelerando:AKSL:AKSL -accelerated:AKSL:AKSL -accelerates:AKSL:AKSL -accelerator:AKSL:AKSL -accentually:AKSN:AKSN -accentuated:AKSN:AKSN -accentuates:AKSN:AKSN -accentuator:AKSN:AKSN -acceptances:AKSP:AKSP -acceptation:AKSP:AKSP -acceptilate:AKSP:AKSP -accessaries:AKSS:AKSS -accessorial:AKSS:AKSS -accessories:AKSS:AKSS -accessorily:AKSS:AKSS -accessorius:AKSS:AKSS -accessorize:AKSS:AKSS -accipitrine:AKSP:AKSP -acclamation:AKLM:AKLM -acclamatory:AKLM:AKLM -acclimating:AKLM:AKLM -acclimation:AKLM:AKLM -acclimatize:AKLM:AKLM -acclivities:AKLF:AKLF -acclivitous:AKLF:AKLF -accommodate:AKMT:AKMT -accompanied:AKMP:AKMP -accompanies:AKMP:AKMP -accompanist:AKMP:AKMP -accomplices:AKMP:AKMP -accordantly:AKRT:AKRT -accordingly:AKRT:AKRT -accoucheuse:AKXS:AKKS -accountable:AKNT:AKNT -accountably:AKNT:AKNT -accountancy:AKNT:AKNT -accountants:AKNT:AKNT -accoutering:AKTR:AKTR -accreditees:AKRT:AKRT -accrediting:AKRT:AKRT -accrescendi:AKRS:AKRS -accruements:AKRM:AKRM -acculturate:AKLT:AKLT -accumulable:AKML:AKML -accumulated:AKML:AKML -accumulates:AKML:AKML -accumulator:AKML:AKML -accusations:AKSX:AKSX -accusatives:AKST:AKST -accustoming:AKST:AKST -acetabulums:ASTP:ASTP -acetamidine:ASTM:ASTM -acetanilide:ASTN:ASTN -acetoacetic:ASTS:ASTS -acetoacetyl:ASTS:ASTS -acetokinase:ASTK:ASTK -acetonaemia:ASTN:ASTN -acetonaemic:ASTN:ASTN -acetylation:ASTL:ASTL -achievement:AXFM:AKFM -achillotomy:AXLT:AKLT -achromacyte:AKRM:AKRM -achromatism:AKRM:AKRM -achromatize:AKRM:AKRM -acidifiable:ASTF:ASTF -acidophilic:ASTF:ASTF -acidophilus:ASTF:ASTF -acidulating:ASTL:ASTL -acidulation:ASTL:ASTL -acidulously:ASTL:ASTL -acknowledge:AKNL:AKNL -acmesthesia:AKMS:AKMS -acocanthera:AKKN:AKKN -acoustician:AKST:AKST -acquainting:AKNT:AKNT -acquiescent:AKSN:AKSN -acquiescing:AKSN:AKSN -acquiesence:AKSN:AKSN -acquirement:AKRM:AKRM -acquisition:AKSX:AKSX -acquisitive:AKST:AKST -acquittance:AKTN:AKTN -acriflavine:AKRF:AKRF -acrimonious:AKRM:AKRM -acrobatical:AKRP:AKRP -acrocarpous:AKRK:AKRK -acrocentric:AKRS:AKRS -acrocephaly:AKRS:AKRS -acromegalia:AKRM:AKRM -acromegalic:AKRM:AKRM -acropachies:AKRP:AKRP -acropathies:AKRP:AKRP -acropolises:AKRP:AKRP -actinically:AKTN:AKTN -actinograph:AKTN:AKTN -actinometry:AKTN:AKTN -actinomyces:AKTN:AKTN -actinomycin:AKTN:AKTN -actinophage:AKTN:AKTN -activations:AKTF:AKTF -actualities:AKTL:AKTL -actualizing:AKTL:AKTL -actuarially:AKTR:AKTR -acuminating:AKMN:AKMN -acupuncture:AKPN:AKPN -acyclically:ASKL:ASKL -adaptations:ATPT:ATPT -addictively:ATKT:ATKT -addressable:ATRS:ATRS -adenectopia:ATNK:ATNK -adenoiditis:ATNT:ATNT -adenomyomas:ATNM:ATNM -adenomyoses:ATNM:ATNM -adenomyosis:ATNM:ATNM -adenoneural:ATNN:ATNN -adenotomies:ATNT:ATNT -adhesiotomy:ATST:ATXT -adiabatical:ATPT:ATPT -adipocerous:ATPS:ATPS -adipogenous:ATPJ:ATPK -adiposeness:ATPS:ATPS -adiposities:ATPS:ATPS -adjournment:ATJR:ATJR -adjudicated:ATJT:ATJT -adjudicates:ATJT:ATJT -adjudicatio:ATJT:ATJT -adjudicator:ATJT:ATJT -adjunctions:ATJN:ATJN -adjurations:ATJR:ATJR -adjustments:ATJS:ATJS -admaxillary:ATMK:ATMK -admeasuring:ATMS:ATMS -adminicular:ATMN:ATMN -administers:ATMN:ATMN -admiralship:ATMR:ATMR -admiralties:ATMR:ATMR -admirations:ATMR:ATMR -admittances:ATMT:ATMT -admonishers:ATMN:ATMN -admonishing:ATMN:ATMN -admonitions:ATMN:ATMN -adolescence:ATLS:ATLS -adolescents:ATLS:ATLS -adorability:ATRP:ATRP -adpromissor:ATPR:ATPR -adrenolytic:ATRN:ATRN -adstipulate:ATST:ATST -adulterants:ATLT:ATLT -adulterated:ATLT:ATLT -adulterates:ATLT:ATLT -adulterator:ATLT:ATLT -adulterinus:ATLT:ATLT -adumbrating:ATMP:ATMP -adumbration:ATMP:ATMP -adumbrative:ATMP:ATMP -advancement:ATFN:ATFN -advancingly:ATFN:ATFN -advantaging:ATFN:ATFN -adventicium:ATFN:ATFN -adventitial:ATFN:ATFN -adventurers:ATFN:ATFN -adventuress:ATFN:ATFN -adventuring:ATFN:ATFN -adventurism:ATFN:ATFN -adventurist:ATFN:ATFN -adventurous:ATFN:ATFN -adverbially:ATFR:ATFR -adversarial:ATFR:ATFR -adversaries:ATFR:ATFR -adversative:ATFR:ATFR -adverseness:ATFR:ATFR -adversionem:ATFR:ATFR -adversities:ATFR:ATFR -advertently:ATFR:ATFR -advertisers:ATFR:ATFR -advertising:ATFR:ATFR -advisedness:ATFS:ATFS -advisements:ATFS:ATFS -aegophonies:AKFN:AKFN -aerobically:ARPK:ARPK -aerobiology:ARPL:ARPL -aerodonetic:ARTN:ARTN -aerodynamic:ARTN:ARTN -aerological:ARLJ:ARLK -aerologists:ARLJ:ARLK -aeromedical:ARMT:ARMT -aeronautics:ARNT:ARNT -aerophagies:ARFJ:ARFK -aerosolized:ARSL:ARSL -aerosolizes:ARSL:ARSL -aerostatics:ARST:ARST -aerotherapy:AR0R:ARTR -aerotropism:ARTR:ARTR -aesculapian:ASKL:ASKL -aesculapius:ASKL:ASKL -aesthetical:AS0T:ASTT -aestivating:ASTF:ASTF -aestivation:ASTF:ASTF -aetiologies:ATLJ:ATLK -affectation:AFKT:AFKT -affectingly:AFKT:AFKT -affectionis:AFKX:AFKX -affectively:AFKT:AFKT -affectivity:AFKT:AFKT -affiliating:AFLT:AFLT -affiliation:AFLX:AFLX -affirmation:AFRM:AFRM -affirmative:AFRM:AFRM -afflictions:AFLK:AFLK -afforcement:AFRS:AFRS -afforesting:AFRS:AFRS -affreighter:AFRT:AFRT -affricative:AFRK:AFRK -afghanistan:AFKN:AFKN -aficionados:AFSN:AFXN -afterbirths:AFTR:AFTR -afterburner:AFTR:AFTR -aftereffect:AFTR:AFTR -afterimages:AFTR:AFTR -aftermarket:AFTR:AFTR -aftermathes:AFTR:AFTR -aftershaves:AFTR:AFTR -aftershocks:AFTR:AFTR -aftertastes:AFTR:AFTR -afunctional:AFNK:AFNK -agamogonies:AKMK:AKMK -agamomermis:AKMM:AKMM -aganglionic:AKNK:AKNL -agelessness:AJLS:AKLS -agglomerate:AKLM:AKLM -agglutinant:AKLT:AKLT -agglutinate:AKLT:AKLT -agglutinins:AKLT:AKLT -agglutinoid:AKLT:AKLT -aggradation:AKRT:AKRT -aggrandized:AKRN:AKRN -aggrandizer:AKRN:AKRN -aggrandizes:AKRN:AKRN -aggravating:AKRF:AKRF -aggravation:AKRF:AKRF -aggravators:AKRF:AKRF -aggregately:AKRK:AKRK -aggregating:AKRK:AKRK -aggregation:AKRK:AKRK -aggregative:AKRK:AKRK -aggressions:AKRS:AKRS -aggrievedly:AKRF:AKRF -aglomerular:AKLM:AKLM -agnosticism:AKNS:ANST -agonisingly:AKNS:AKNS -agonizingly:AKNS:AKNS -agoraphobia:AKRF:AKRF -agoraphobic:AKRF:AKRF -agrammatism:AKRM:AKRM -agrarianism:AKRR:AKRR -agriculture:AKRK:AKRK -agrobiology:AKRP:AKRP -agronomists:AKRN:AKRN -agrostology:AKRS:AKRS -ailanthuses:ALN0:ALNT -ailurophile:ALRF:ALRF -ailurophobe:ALRF:ALRF -aimlessness:AMLS:AMLS -airbrushing:ARPR:ARPR -airdropping:ARTR:ARTR -airlessness:ARLS:ARLS -airsickness:ARSK:ARSK -airworthier:ARR0:ARRT -aitiologies:ATLJ:ATLK -alabastrine:ALPS:ALPS -albatrosses:ALPT:ALPT -albuminuria:ALPM:ALPM -albuminuric:ALPM:ALPM -albuquerque:ALPK:ALPK -alcaligenes:ALKL:ALKL -alcoholical:ALKH:ALKH -alcoholists:ALKH:ALKH -alcoholized:ALKH:ALKH -alcoholizes:ALKH:ALKH -alcoholyses:ALKH:ALKH -alcoholysis:ALKH:ALKH -aldosterone:ALTS:ALTS -alembicated:ALMP:ALMP -alexandrian:ALKS:ALKS -alexandrine:ALKS:ALKS -alexandrite:ALKS:ALKS -algebraical:ALJP:ALKP -algebraists:ALJP:ALKP -algological:ALKL:ALKL -algologists:ALKL:ALKL -algometries:ALKM:ALKM -algonquians:ALKN:ALKN -algorithmic:ALKR:ALKR -aliesterase:ALST:ALST -alisphenoid:ALSF:ALSF -alkalescent:ALKL:ALKL -alkalimetry:ALKL:ALKL -alkalinized:ALKL:ALKL -alkalinizes:ALKL:ALKL -alkalometry:ALKL:ALKL -allantoidal:ALNT:ALNT -allantoides:ALNT:ALNT -allegations:ALKX:ALKX -allegiances:ALJN:ALKN -allegiantly:ALJN:ALKN -allegorical:ALKR:ALKR -allegorists:ALKR:ALKR -allegorized:ALKR:ALKR -allegorizes:ALKR:ALKR -allegrettos:ALKR:ALKR -allelomorph:ALLM:ALLM -allelopathy:ALLP:ALLP -allergology:ALRK:ALRK -alleviaters:ALFT:ALFT -alleviating:ALFT:ALFT -alleviation:ALFX:ALFX -alleviative:ALFT:ALFT -alleviators:ALFT:ALFT -alleviatory:ALFT:ALFT -alliterated:ALTR:ALTR -alliterates:ALTR:ALTR -allocatable:ALKT:ALKT -allocations:ALKX:ALKX -allocheiria:ALXR:ALKR -allodialist:ALTL:ALTL -allodiality:ALTL:ALTL -alloerotism:ALRT:ALRT -allographic:ALKR:ALKR -allokineses:ALKN:ALKN -allokinesis:ALKN:ALKN -allometries:ALMT:ALMT -allopathies:ALP0:ALPT -allopathist:ALP0:ALPT -alloplasmic:ALPL:ALPL -allopsychic:ALPS:ALPS -allopurinol:ALPR:ALPR -allotrophic:ALTR:ALTR -allotropies:ALTR:ALTR -allotropism:ALTR:ALTR -allotypical:ALTP:ALTP -allurements:ALRM:ALRM -alluviation:ALFX:ALFX -alodialists:ALTL:ALTL -alpenstocks:ALPN:ALPN -alphabetics:ALFP:ALFP -alphabetize:ALFP:ALFP -altarpieces:ALTR:ALTR -alterations:ALTR:ALTR -altercating:ALTR:ALTR -altercation:ALTR:ALTR -alternately:ALTR:ALTR -alternating:ALTR:ALTR -alternation:ALTR:ALTR -alternative:ALTR:ALTR -alternators:ALTR:ALTR -altitudinal:ALTT:ALTT -aluminizing:ALMN:ALMN -alveolation:ALFL:ALFL -alveolotomy:ALFL:ALFL -amalgamated:AMLK:AMLK -amalgamates:AMLK:AMLK -amalgamator:AMLK:AMLK -amaranthine:AMRN:AMRN -amaryllises:AMRL:AMRL -amativeness:AMTF:AMTF -amatorially:AMTR:AMTR -amaxophobia:AMKS:AMKS -ambassadors:AMPS:AMPS -ambergrease:AMPR:AMPR -ambiguities:AMPK:AMPK -ambiguously:AMPK:AMPK -ambilateral:AMPL:AMPL -ambitiously:AMPT:AMPT -ambivalence:AMPF:AMPF -ambivalency:AMPF:AMPF -ambiversion:AMPF:AMPF -amblyoscope:AMPL:AMPL -ambomalleal:AMPM:AMPM -ambrosially:AMPR:AMPR -ambuscading:AMPS:AMPS -ameliorants:AMLR:AMLR -ameliorated:AMLR:AMLR -ameliorates:AMLR:AMLR -ameliorator:AMLR:AMLR -amenability:AMNP:AMNP -amenorrheal:AMNR:AMNR -amenorrheic:AMNR:AMNR -amenorrhoea:AMNR:AMNR -amercements:AMRS:AMRS -americanism:AMRK:AMRK -americanist:AMRK:AMRK -americanize:AMRK:AMRK -amerindians:AMRN:AMRN -amethocaine:AM0K:AMTK -amethystine:AM0S:AMTS -amiableness:AMPL:AMPL -amicability:AMKP:AMKP -amidostomum:AMTS:AMTS -aminoacetic:AMNS:AMNS -aminopterin:AMNP:AMNP -aminopyrine:AMNP:AMNP -ammoniating:AMNT:AMNT -ammonolyses:AMNL:AMNL -ammonolysis:AMNL:AMNL -ammunitions:AMNX:AMNX -amniography:AMNK:AMNK -amobarbital:AMPR:AMPR -amodiaquine:AMTK:AMTK -amoebocytes:AMPS:AMPS -amoebocytic:AMPS:AMPS -amontillado:AMNT:AMNT -amorousness:AMRS:AMRS -amorphinism:AMRF:AMRF -amorphously:AMRF:AMRF -amortizable:AMRT:AMRT -amovability:AMFP:AMFP -amphetamine:AMFT:AMFT -amphiasters:AMFS:AMFS -amphibiotic:AMFP:AMFP -amphibolies:AMFP:AMFP -amphibology:AMFP:AMFP -amphibolous:AMFP:AMFP -amphichrome:AMFX:AMFK -amphicrania:AMFK:AMFK -amphikaryon:AMFK:AMFK -amphimictic:AMFM:AMFM -amphioxuses:AMFK:AMFK -amphiploids:AMFP:AMFP -amphiploidy:AMFP:AMFP -amphophilic:AMFF:AMFF -amphoricity:AMFR:AMFR -amphoterism:AMFT:AMFT -amplifiable:AMPL:AMPL -amputations:AMPT:AMPT -amyloidoses:AMLT:AMLT -amyloidosis:AMLT:AMLT -amylopectin:AMLP:AMLP -amyotrophia:AMTR:AMTR -amyotrophic:AMTR:AMTR -anabaptists:ANPP:ANPP -anachronism:ANKR:ANKR -anacidities:ANST:ANST -anaerobical:ANRP:ANRP -anaesthesia:ANS0:ANST -anaesthetic:ANS0:ANST -analogizing:ANLJ:ANLK -analogously:ANLK:ANLK -analyticity:ANLT:ANLT -anaphylaxes:ANFL:ANFL -anaphylaxis:ANFL:ANFL -anaplasmata:ANPL:ANPL -anarchistic:ANRX:ANRK -anastomosed:ANST:ANST -anastomoses:ANST:ANST -anastomosis:ANST:ANST -anastomotic:ANST:ANST -anatomizing:ANTM:ANTM -ancestrally:ANSS:ANSS -anchoresses:ANXR:ANKR -anchoritism:ANXR:ANKR -anchorwoman:ANXR:ANKR -ancientness:ANSN:ANXN -ancillaries:ANSL:ANSL -ancylostoma:ANSL:ANSL -andalusians:ANTL:ANTL -androgamone:ANTR:ANTR -androgenous:ANTR:ANTR -androgynies:ANTR:ANTR -androgynism:ANTR:ANTR -androgynous:ANTR:ANTR -androphobia:ANTR:ANTR -anecdotists:ANKT:ANKT -anemography:ANMK:ANMK -anencephali:ANNS:ANNS -anencephaly:ANNS:ANNS -anesthetics:ANS0:ANST -anesthetist:ANS0:ANST -anesthetize:ANS0:ANST -angelfishes:ANJL:ANKL -angelically:ANJL:ANKL -angioedemas:ANJT:ANKT -angiography:ANJK:ANKK -angiologies:ANJL:ANKL -angiomatous:ANJM:ANKM -angioplasty:ANJP:ANKP -angiosperms:ANJS:ANKS -angiotensin:ANJT:ANKT -anglicanism:ANKL:ANLK -anglicizing:ANKL:ANLS -anglophiles:ANKL:ANKL -anglophilia:ANKL:ANKL -anglophobes:ANKL:ANKL -anglophobia:ANKL:ANKL -angularness:ANKL:ANKL -anhydraemia:ANTR:ANTR -anhydration:ANTR:ANTR -anhydrously:ANTR:ANTR -animadverts:ANMT:ANMT -animalcules:ANML:ANML -animalistic:ANML:ANML -animalities:ANML:ANML -animateness:ANMT:ANMT -animosities:ANMS:ANMS -anionically:ANNK:ANNK -anionotropy:ANNT:ANNT -aniseikonia:ANSK:ANSK -aniseikonic:ANSK:ANSK -anisogamies:ANSK:ANSK -anisogamist:ANSK:ANSK -anisogamous:ANSK:ANSK -anisotropic:ANST:ANST -ankylostoma:ANKL:ANKL -annexations:ANKS:ANKS -annihilated:ANHL:ANHL -annihilates:ANHL:ANHL -annihilator:ANHL:ANHL -anniversary:ANFR:ANFR -annotatable:ANTT:ANTT -annotations:ANTX:ANTX -annualizing:ANLS:ANLS -annunciated:ANNS:ANNX -annunciates:ANNS:ANNX -annunciator:ANNS:ANNX -anodization:ANTS:ANTS -anointments:ANNT:ANNT -anomalistic:ANML:ANML -anomalously:ANML:ANML -anonymities:ANNM:ANNM -anonymously:ANNM:ANNM -anoplasties:ANPL:ANPL -anosphrasia:ANSF:ANSF -anosphresia:ANSF:ANSF -anovulation:ANFL:ANFL -anovulatory:ANFL:ANFL -antagonisms:ANTK:ANTK -antagonists:ANTK:ANTK -antagonized:ANTK:ANTK -antagonizes:ANTK:ANTK -antalkaline:ANTL:ANTL -antecardium:ANTK:ANTK -antecedence:ANTS:ANTS -antecedency:ANTS:ANTS -antecedents:ANTS:ANTS -antecessors:ANTS:ANTS -antechamber:ANTX:ANTK -antecubital:ANTK:ANTK -anteflexion:ANTF:ANTF -antenatally:ANTN:ANTN -antenuptial:ANTN:ANTN -antepenults:ANTP:ANTP -anteriority:ANTR:ANTR -anterograde:ANTR:ANTR -anteversion:ANTF:ANTF -anteverting:ANTF:ANTF -antheridial:AN0R:ANTR -antheridium:AN0R:ANTR -anthocyanin:AN0S:ANTS -anthologies:AN0L:ANTL -anthologist:AN0L:ANTL -anthologize:AN0L:ANTL -anthracitic:AN0R:ANTR -anthracnose:AN0R:ANTR -anthracoses:AN0R:ANTR -anthracosis:AN0R:ANTR -anthracotic:AN0R:ANTR -anthranilic:AN0R:ANTR -anthropoids:AN0R:ANTR -antiamylase:ANXM:ANXM -antianaemic:ANXN:ANXN -antianxiety:ANXN:ANXN -antibiotics:ANTP:ANTP -antibrachia:ANTP:ANTP -anticardium:ANTK:ANTK -anticarious:ANTK:ANTK -anticathode:ANTK:ANTK -antichreses:ANTX:ANTK -antichresis:ANTX:ANTK -antichrists:ANTX:ANTK -anticipants:ANTS:ANTS -anticipated:ANTS:ANTS -anticipates:ANTS:ANTS -anticipator:ANTS:ANTS -anticlastic:ANTK:ANTK -anticnemion:ANTK:ANTK -anticyclone:ANTS:ANTS -antidotally:ANTT:ANTT -antifaction:ANTF:ANTF -antifascism:ANTF:ANTF -antifascist:ANTF:ANTF -antifebrile:ANTF:ANTF -antiformant:ANTF:ANTF -antifouling:ANTF:ANTF -antifreezes:ANTF:ANTF -antigenical:ANTJ:ANTK -antigravity:ANTK:ANTK -antihelices:ANTH:ANTH -antihelixes:ANTH:ANTH -antihormone:ANTH:ANTH -antiliberal:ANTL:ANTL -antimerisms:ANTM:ANTM -antimissile:ANTM:ANTM -antimitotic:ANTM:ANTM -antimycotic:ANTM:ANTM -antineutron:ANTN:ANTN -antinomians:ANTN:ANTN -antinuclear:ANTN:ANTN -antinucleon:ANTN:ANTN -antioxidant:ANTK:ANTK -antipathies:ANTP:ANTP -antiphonary:ANTF:ANTF -antiphonies:ANTF:ANTF -antiplastic:ANTP:ANTP -antipodeans:ANTP:ANTP -antipoverty:ANTP:ANTP -antiprotons:ANTP:ANTP -antipyreses:ANTP:ANTP -antipyresis:ANTP:ANTP -antipyretic:ANTP:ANTP -antiquarian:ANTK:ANTK -antiquaries:ANTK:ANTK -antiquating:ANTK:ANTK -antiquation:ANTK:ANTK -antiqueness:ANTK:ANTK -antiquities:ANTK:ANTK -antiradical:ANTR:ANTR -antirrhinum:ANTR:ANTR -antiseptics:ANTS:ANTS -antisideric:ANTS:ANTS -antislavery:ANTL:ANTL -antitheists:ANT0:ANTT -antithyroid:ANT0:ANTT -antitragici:ANTT:ANTT -antitrypsin:ANTT:ANTT -antitryptic:ANTT:ANTT -antitumoral:ANTT:ANTT -antitussive:ANTT:ANTT -antitypical:ANTT:ANTT -antivenenes:ANTF:ANTF -antiviruses:ANTF:ANTF -antivitamin:ANTF:ANTF -antonomasia:ANTN:ANTN -antrotomies:ANTR:ANTR -anxiousness:ANKS:ANKS -aortography:ARTK:ARTK -apartmental:APRT:APRT -aphetically:AFTK:AFTK -aphophysary:AFFS:AFFS -aphrodisiac:AFRT:AFRT -apicoectomy:APKK:APKK -apicultural:APKL:APKL -apocalypses:APKL:APKL -apocalyptic:APKL:APKL -apocopation:APKP:APKP -apocynthion:APSN:APSN -apoferritin:APFR:APFR -apologizers:APLJ:APLK -apologizing:APLJ:APLK -apomictical:APMK:APMK -apomorphine:APMR:APMR -aponeuroses:APNR:APNR -aponeurosis:APNR:APNR -aponeurotic:APNR:APNR -apophysitis:APFS:APFS -apostatized:APST:APST -apostatizes:APST:APST -apostleship:APST:APST -apostolical:APST:APST -apostrophes:APST:APST -apostrophic:APST:APST -apotheosize:AP0S:APTS -appalachian:APLK:APLK -appallingly:APLN:APLN -apparatchik:APRX:APRX -apparatuses:APRT:APRT -apparitions:APRX:APRX -appealingly:APLN:APLN -appearances:APRN:APRN -appeasement:APSM:APSM -appellation:APLX:APLX -appellative:APLT:APLT -appendiceal:APNT:APNT -appendicial:APNT:APNT -appendicles:APNT:APNT -apperceived:APRS:APRS -apperceives:APRS:APRS -appertained:APRT:APRT -appetencies:APTN:APTN -applanation:APLN:APLN -applaudable:APLT:APLT -applaudably:APLT:APLT -application:APLK:APLK -applicative:APLK:APLK -applicators:APLK:APLK -applicatory:APLK:APLK -appliqueing:APLK:APLK -appointment:APNT:APNT -apportioned:APRX:APRX -apportioner:APRX:APRX -appositions:APSX:APSX -appraisable:APRS:APRS -appreciable:APRS:APRX -appreciably:APRS:APRX -appreciated:APRS:APRX -appreciates:APRS:APRX -appreciator:APRS:APRX -apprehended:APRH:APRH -apprenticed:APRN:APRN -apprentices:APRN:APRN -approachers:APRX:APRK -approaching:APRX:APRK -approbating:APRP:APRP -approbation:APRP:APRP -approbative:APRP:APRP -approbatory:APRP:APRP -appropriacy:APRP:APRP -appropriate:APRP:APRP -approvement:APRF:APRF -approvingly:APRF:APRF -approximate:APRK:APRK -appurtenant:APRT:APRT -apriorities:APRR:APRR -aquaculture:AKKL:AKKL -aquaeductus:AKTK:AKTK -aquaehausti:AKHS:AKHS -aquamarines:AKMR:AKMR -aquaplaning:AKPL:AKPL -aquatically:AKTK:AKTK -aquiculture:AKKL:AKKL -arabinoside:ARPN:ARPN -arabisation:ARPS:ARPS -arachidonic:ARXT:ARKT -arachnidism:ARKN:ARKN -arachnoidal:ARKN:ARKN -arachnoidea:ARKN:ARKN -arachnology:ARKN:ARKN -araliaceous:ARLS:ARLS -arbitragers:ARPT:ARPT -arbitrageur:ARPT:ARPT -arbitrament:ARPT:ARPT -arbitraries:ARPT:ARPT -arbitrarily:ARPT:ARPT -arbitrating:ARPT:ARPT -arbitration:ARPT:ARPT -arbitrative:ARPT:ARPT -arbitrators:ARPT:ARPT -arbitrement:ARPT:ARPT -arbitresses:ARPT:ARPT -arboraceous:ARPR:ARPR -arborescent:ARPR:ARPR -arborvitaes:ARPR:ARPR -arbourising:ARPR:ARPR -arcadianism:ARKT:ARKT -archaeocyte:ARKS:ARXS -archaeology:ARKL:ARXL -archaically:ARXK:ARKK -archaicness:ARXK:ARKK -archangelic:ARXN:ARKN -archbishops:ARXP:ARKP -archdeacons:ARXT:ARKT -archdiocese:ARXT:ARKT -archduchess:ARXT:ARKT -archduchies:ARXT:ARKT -archegonial:ARXK:ARKK -archegonium:ARXK:ARKK -archenemies:ARXN:ARKN -archenteric:ARXN:ARKN -archenteron:ARXN:ARKN -archeriness:ARXR:ARKR -archespores:ARXS:ARKS -archesporia:ARXS:ARKS -archimedean:ARXM:ARKM -archipelago:ARXP:ARKP -architraves:ARKT:ARKT -archonships:ARXN:ARKN -archpriests:ARXP:ARKP -arcifinious:ARSF:ARSF -arctophiles:ARKT:ARKT -arctophilic:ARKT:ARKT -arduousness:ARTS:ARTS -arenicolous:ARNK:ARNK -areographer:ARKR:ARKR -areographic:ARKR:ARKR -areolations:ARLX:ARLX -areopagites:ARPJ:ARPK -argentaffin:ARJN:ARKN -argentinean:ARJN:ARKN -argentophil:ARJN:ARKN -argumentive:ARKM:ARKM -argyllshire:ARJL:ARKL -argyrophile:ARJR:ARKR -aristocracy:ARST:ARST -aristocrats:ARST:ARST -arithmetics:AR0M:ARTM -arithmetize:AR0M:ARTM -armlessness:ARML:ARML -aromatizing:ARMT:ARMT -arraignment:ARNM:ARKN -arrangement:ARNJ:ARNK -arrentation:ARNT:ARNT -arrestation:ARST:ARST -arrestingly:ARST:ARST -arrestments:ARST:ARST -arrhythmias:AR0M:ARTM -arrivederci:ARFT:ARFT -arrogations:ARKX:ARKX -arterialize:ARTR:ARTR -arteriogram:ARTR:ARTR -arteriotome:ARTR:ARTR -arteriotomy:ARTR:ARTR -arthrectomy:AR0R:ARTR -arthritides:AR0R:ARTR -arthrodeses:AR0R:ARTR -arthrodesis:AR0R:ARTR -arthrolyses:AR0R:ARTR -arthrolysis:AR0R:ARTR -arthropathy:AR0R:ARTR -arthropodal:AR0R:ARTR -arthropodan:AR0R:ARTR -arthrospore:AR0R:ARTR -arthrostomy:AR0R:ARTR -articulated:ARTK:ARTK -articulates:ARTK:ARTK -articulatio:ARTK:ARTK -articulator:ARTK:ARTK -artilleries:ARTL:ARTL -artillerist:ARTL:ARTL -artisanship:ARTS:ARTS -artlessness:ARTL:ARTL -ascertained:ASRT:ASRT -ascetically:ASTK:ASTK -ascocarpous:ASKK:ASKK -ascomycetes:ASKM:ASKM -ascosporous:ASKS:ASKS -ascriptions:ASKP:ASKP -aseptically:ASPT:ASPT -asparaginyl:ASPR:ASPR -asparaguses:ASPR:ASPR -aspergillin:ASPR:ASPR -aspergillus:ASPR:ASPR -aspermatism:ASPR:ASPR -aspersively:ASPR:ASPR -aspersorium:ASPR:ASPR -asphyxiants:ASFK:ASFK -asphyxiated:ASFK:ASFK -asphyxiates:ASFK:ASFK -asphyxiator:ASFK:ASFK -aspidistras:ASPT:ASPT -aspirations:ASPR:ASPR -asporogenic:ASPR:ASPR -asportation:ASPR:ASPR -assafoetida:ASFT:ASFT -assassinate:ASSN:ASSN -assaultable:ASLT:ASLT -assemblages:ASMP:ASMP -assemblyman:ASMP:ASMP -assemblymen:ASMP:ASMP -assentation:ASNT:ASNT -assentients:ASNT:ASNT -assertively:ASRT:ASRT -assessments:ASSM:ASSM -assessorial:ASSR:ASSR -asseverated:ASFR:ASFR -asseverates:ASFR:ASFR -assibilated:ASPL:ASPL -assibilates:ASPL:ASPL -assiduities:ASTT:ASTT -assiduously:ASTS:ASTS -assignation:ASNX:ASKN -assignments:ASNM:ASKN -assimilable:ASML:ASML -assimilably:ASML:ASML -assimilated:ASML:ASML -assimilates:ASML:ASML -assimilator:ASML:ASML -assistances:ASST:ASST -associating:ASST:ASXT -association:ASSX:ASXX -associative:ASST:ASXT -associators:ASST:ASXT -associatory:ASST:ASXT -assortative:ASRT:ASRT -assortments:ASRT:ASRT -assuagement:ASJM:ASKM -assuasively:ASSF:ASSF -assumptions:ASMP:ASMP -assuredness:ASRT:ASRT -assyriology:ASRL:ASRL -astatically:ASTT:ASTT -asterococci:ASTR:ASTR -asteroidean:ASTR:ASTR -asthmatical:AS0M:ASTM -asthmaticus:AS0M:ASTM -asthmogenic:AS0M:ASTM -astigmatism:ASTK:ASTK -astonishing:ASTN:ASTN -astraphobia:ASTR:ASTR -astraphobic:ASTR:ASTR -astringence:ASTR:ASTR -astringency:ASTR:ASTR -astringents:ASTR:ASTR -astroblemes:ASTR:ASTR -astrocytoma:ASTR:ASTR -astrologers:ASTR:ASTR -astrologist:ASTR:ASTR -astrometric:ASTR:ASTR -astronautic:ASTR:ASTR -astronomers:ASTR:ASTR -astrosphere:ASTR:ASTR -asymmetries:ASMT:ASMT -asynclitism:ASNK:ASNK -asystematic:ASST:ASST -ataxaphasia:ATKS:ATKS -ataxiagraph:ATKS:ATKS -atelectases:ATLK:ATLK -atelectasis:ATLK:ATLK -atelectatic:ATLK:ATLK -athapaskans:A0PS:ATPS -atheistical:A0ST:ATST -athermanous:A0RM:ATRM -atherogenic:A0RJ:ATRK -athleticism:A0LT:ATLT -atmospheres:ATMS:ATMS -atmospheric:ATMS:ATMS -atomicities:ATMS:ATMS -atomization:ATMS:ATMS -atonicities:ATNS:ATNS -atopognoses:ATPN:ATPK -atopognosis:ATPN:ATPK -atrabilious:ATRP:ATRP -atrociously:ATRS:ATRX -atropinized:ATRP:ATRP -atropinizes:ATRP:ATRP -attachments:ATKM:ATKM -attackingly:ATKN:ATKN -attainments:ATNM:ATNM -attaintment:ATNT:ATNT -attemptable:ATMP:ATMP -attendances:ATNT:ATNT -attendantly:ATNT:ATNT -attentional:ATNX:ATNX -attentively:ATNT:ATNT -attenuating:ATNT:ATNT -attenuation:ATNX:ATNX -attenuators:ATNT:ATNT -attermining:ATRM:ATRM -attestation:ATST:ATST -attestative:ATST:ATST -attestators:ATST:ATST -attitudinal:ATTT:ATTT -attractable:ATRK:ATRK -attractants:ATRK:ATRK -attractions:ATRK:ATRK -attributers:ATRP:ATRP -attributing:ATRP:ATRP -attribution:ATRP:ATRP -attributive:ATRP:ATRP -attributors:ATRP:ATRP -attritional:ATRX:ATRX -auctioneers:AKXN:AKXN -audaciously:ATSS:ATXS -audibleness:ATPL:ATPL -audiologies:ATLJ:ATLK -audiologist:ATLJ:ATLK -audiometric:ATMT:ATMT -audiophiles:ATFL:ATFL -audiovisual:ATFS:ATFS -auditioners:ATXN:ATXN -auditioning:ATXN:ATXN -auditoriums:ATTR:ATTR -augmentable:AKMN:AKMN -augustinian:AKST:AKST -aureateness:ARTN:ARTN -auriculares:ARKL:ARKL -auricularia:ARKL:ARKL -auricularis:ARKL:ARKL -auricularly:ARKL:ARKL -auriculated:ARKL:ARKL -auscultated:ASKL:ASKL -auscultates:ASKL:ASKL -auscultator:ASKL:ASKL -austereness:ASTR:ASTR -austerities:ASTR:ASTR -australasia:ASTR:ASTR -australiana:ASTR:ASTR -australians:ASTR:ASTR -austronesia:ASTR:ASTR -autarchical:ATRX:ATRK -authentical:A0NT:ATNT -authoresses:A0RS:ATRS -authorities:A0RT:ATRT -authorizers:A0RS:ATRS -authorizing:A0RS:ATRS -autocephaly:ATSF:ATSF -autochthons:ATK0:ATKT -autochthony:ATK0:ATKT -autocracies:ATKR:ATKR -autodidacts:ATTT:ATTT -autoerotism:ATRT:ATRT -autogeneses:ATJN:ATKN -autogenesis:ATJN:ATKN -autogenetic:ATJN:ATKN -autographed:ATKR:ATKR -autographes:ATKR:ATKR -autographic:ATKR:ATKR -autokineses:ATKN:ATKN -autokinesis:ATKN:ATKN -autokinetic:ATKN:ATKN -automatical:ATMT:ATMT -automatists:ATMT:ATMT -automatized:ATMT:ATMT -automatizes:ATMT:ATMT -automobiles:ATMP:ATMP -autonomists:ATNM:ATNM -autophagies:ATFJ:ATFK -autoplastic:ATPL:ATPL -autosomally:ATSM:ATSM -autostradas:ATST:ATST -autotherapy:AT0R:ATTR -autotomized:ATTM:ATTM -autotomizes:ATTM:ATTM -autotoxemia:ATTK:ATTK -autotrophic:ATTR:ATTR -auxiliaries:AKSL:AKSL -auxotrophic:AKST:AKST -avalanching:AFLN:AFLN -aviatresses:AFTR:AFTR -avicultural:AFKL:AFKL -avocational:AFKX:AFKX -avoirdupois:AFRT:AFRT -awesomeness:ASMN:ASMN -awkwardness:AKRT:AKRT -axiological:AKSL:AKSL -axiologists:AKSL:AKSL -axiomatical:AKSM:AKSM -axiomatized:AKSM:AKSM -axiomatizes:AKSM:AKSM -axodendrite:AKST:AKST -axonometric:AKSN:AKSN -ayatollahes:ATLH:ATLH -azoospermia:ASSP:ASSP -azotobacter:ASTP:ASTP -babylonians:PPLN:PPLN -babysitters:PPST:PPST -babysitting:PPST:PPST -bacchanalia:PXNL:PXNL -baccivorous:PXFR:PXFR -bachelordom:PXLR:PKLR -bacillaceae:PSLS:PSLS -bacilliform:PSLF:PSLF -backadation:PKTX:PKTX -backbearing:PKPR:PKPR -backbencher:PKPN:PKPN -backcombing:PKKM:PKKM -backfilling:PKFL:PKFL -backgrounds:PKKR:PKKR -backhanding:PKNT:PKNT -backlogging:PKLJ:PKLK -backpackers:PKPK:PKPK -backpacking:PKPK:PKPK -backpointer:PKPN:PKPN -backscatter:PKSK:PKSK -backslapper:PKSL:PKSL -backslashes:PKSL:PKSL -backslidden:PKSL:PKSL -backsliders:PKSL:PKSL -backsliding:PKSL:PKSL -backspacing:PKSP:PKSP -backstopped:PKST:PKST -backstreets:PKST:PKST -backstretch:PKST:PKST -backstrokes:PKST:PKST -backtracked:PKTR:PKTR -backtracker:PKTR:PKTR -bacteraemia:PKTR:PKTR -bacterially:PKTR:PKTR -bactericide:PKTR:PKTR -bacteriemia:PKTR:PKTR -bacteriocin:PKTR:PKTR -bacterioses:PKTR:PKTR -bacteriosis:PKTR:PKTR -bacteriuria:PKTR:PKTR -bacterizing:PKTR:PKTR -bacteroidal:PKTR:PKTR -bacteroides:PKTR:PKTR -badderlocks:PTRL:PTRL -badmouthing:PTM0:PTMT -bafflements:PFLM:PFLM -bakersfield:PKRS:PKRS -baksheeshes:PKXX:PKXX -balanceable:PLNS:PLNS -balantidial:PLNT:PLNT -balantidium:PLNT:PLNT -balefulness:PLFL:PLFL -balkanizing:PLKN:PLKN -balletomane:PLTM:PLTM -ballflowers:PLFL:PLFL -ballistical:PLST:PLST -balloonists:PLNS:PLNS -balloonlike:PLNL:PLNL -ballottable:PLTP:PLTP -ballplayers:PLPL:PLPL -ballyhooing:PLHN:PLHN -baltimorean:PLTM:PLTM -baluchistan:PLXS:PLKS -balustrades:PLST:PLST -bamboozlers:PMPS:PMPS -bamboozling:PMPS:PMPS -bandlimited:PNTL:PNTL -bandmasters:PNTM:PNTM -baneberries:PNPR:PNPR -banefulness:PNFL:PNFL -banishments:PNXM:PNXM -bankrolling:PNKR:PNKR -bankrupting:PNKR:PNKR -banquetings:PNKT:PNKT -banteringly:PNTR:PNTR -baptismally:PPTS:PPTS -baptistries:PPTS:PPTS -barbarities:PRPR:PRPR -barbarizing:PRPR:PRPR -barbarously:PRPR:PRPR -barbastelle:PRPS:PRPS -barbecueing:PRPK:PRPK -barbershops:PRPR:PRPR -barbiturate:PRPT:PRPT -barbiturism:PRPT:PRPT -barebreasts:PRPR:PRPR -barefacedly:PRFS:PRFS -baresthesia:PRS0:PRST -bargainable:PRKN:PRKN -barkentines:PRKN:PRKN -barnstormed:PRNS:PRNS -barnstormer:PRNS:PRNS -barographes:PRKR:PRKR -barographic:PRKR:PRKR -baronetcies:PRNT:PRNT -baroqueness:PRKN:PRKN -barotaxeses:PRTK:PRTK -barotraumas:PRTR:PRTR -barquantine:PRKN:PRKN -barquentine:PRKN:PRKN -barricaders:PRKT:PRKT -barricading:PRKT:PRKT -bartholomew:PR0L:PRTL -barycenters:PRSN:PRSN -baryglossia:PRKL:PRKL -baseborning:PSPR:PSPR -bashfulness:PXFL:PXFL -basicranial:PSKR:PSKR -basingstoke:PSNK:PSNK -basketballs:PSKT:PSKT -basophilous:PSFL:PSFL -bassoonists:PSNS:PSNS -bastardized:PSTR:PSTR -bastardizes:PSTR:PSTR -bastinadoes:PSTN:PSTN -batholithes:P0L0:PTLT -batholithic:P0L0:PTLT -bathometric:PTMT:PTMT -bathymetric:P0MT:PTMT -bathyscaphe:P0SK:PTSK -bathysphere:P0SF:PTSF -batrachians:PTRK:PTRK -battledores:PTLT:PTLT -battledress:PTLT:PTLT -battlefield:PTLF:PTLF -battlefront:PTLF:PTLF -battlements:PTLM:PTLM -battlepiece:PTLP:PTLP -battleships:PTLX:PTLX -battlewagon:PTLK:PTLK -bayonetting:PNTN:PNTN -beachcomber:PXKM:PKKM -beadleships:PTLX:PTLX -bearberries:PRPR:PRPR -bearishness:PRXN:PRXN -beastliness:PSTL:PSTL -beauteously:PTSL:PTSL -beauticians:PTSN:PTXN -beautifiers:PTFR:PTFR -beautifully:PTFL:PTFL -beautifying:PTFN:PTFN -beckoningly:PKNN:PKNN -becudgeling:PKJL:PKJL -bedevilling:PTFL:PTFL -bedevilment:PTFL:PTFL -bedraggling:PTRK:PTRK -beefburgers:PFPR:PFPR -befittingly:PFTN:PFTN -befriending:PFRN:PFRN -beguilement:PKLM:PKLM -beguilingly:PKLN:PKLN -behaviorial:PHFR:PHFR -behaviorism:PHFR:PHFR -behaviorist:PHFR:PHFR -behaviorsim:PHFR:PHFR -belatedness:PLTT:PLTT -beleaguered:PLKR:PLKR -belgravians:PLKR:PLKR -belletrists:PLTR:PLTR -bellflowers:PLFL:PLFL -bellfounder:PLFN:PLFN -bellfoundry:PLFN:PLFN -bellicosely:PLKS:PLKS -bellicosity:PLKS:PLKS -belligerent:PLJR:PLKR -bellwethers:PL0R:PLTR -bellyaching:PLXN:PLKN -bellybutton:PLPT:PLPT -belorussian:PLRS:PLRS -beltcourses:PLTK:PLTK -benedictine:PNTK:PNTK -benediction:PNTK:PNTK -benedictory:PNTK:PNTK -benefaction:PNFK:PNFK -benefactive:PNFK:PNFK -benefactors:PNFK:PNFK -benefactrix:PNFK:PNFK -beneficence:PNFS:PNFS -beneficiary:PNFS:PNFX -beneficiate:PNFS:PNFX -benefitting:PNFT:PNFT -benevolence:PNFL:PNFL -benightedly:PNTT:PNTT -benignantly:PNNN:PNKN -benignities:PNNT:PNKN -benumbingly:PNMP:PNMP -benzopyrene:PNSP:PNSP -benzylidene:PNSL:PNSL -bequeathers:PK0R:PKTR -bequeathing:PK0N:PKTN -bereavement:PRFM:PRFM -bergschrund:PRKX:PRKX -beryllioses:PRLS:PRLS -berylliosis:PRLS:PRLS -besiegement:PSJM:PSKM -besmirchers:PSMR:PSMR -besmirching:PSMR:PSMR -bespangling:PSPN:PSPN -bespattered:PSPT:PSPT -bespectacle:PSPK:PSPK -bespreading:PSPR:PSPR -besprinkled:PSPR:PSPR -besprinkles:PSPR:PSPR -bessarabian:PSRP:PSRP -bestialized:PSXL:PSXL -bestializes:PSXL:PSXL -bestowments:PSTM:PSTM -bestsellers:PSTS:PSTS -bestselling:PSTS:PSTS -betrothment:PTR0:PTRT -betterments:PTRM:PTRM -betulaceous:PTLS:PTLS -bewailingly:PLNK:PLNK -bewhiskered:PSKR:PSKR -bewildering:PLTR:PLTR -bewitchment:PXMN:PXMN -bexleyheath:PKSL:PKSL -biarticular:PRTK:PRTK -biauricular:PRKL:PRKL -biblioclast:PPLK:PPLK -biblioklept:PPLK:PPLK -bibliolatry:PPLL:PPLL -bibliomancy:PPLM:PPLM -bibliomania:PPLM:PPLM -bibliophile:PPLF:PPLF -bibliophils:PPLF:PPLF -bibliopoles:PPLP:PPLP -bibliotheca:PPL0:PPLT -bicarbonate:PKRP:PKRP -bicentenary:PSNT:PSNT -bicephalous:PSFL:PSFL -bichlorides:PXLR:PKLR -bichromates:PXRM:PKRM -bicipitaler:PSPT:PSPT -biconcavity:PKNK:PKNK -biconvexity:PKNF:PKNF -bicorporeal:PKRP:PKRP -bicuspidate:PKSP:PKSP -bifariously:PFRS:PFRS -bifurcating:PFRK:PFRK -bifurcation:PFRK:PFRK -bijectively:PJKT:PJKT -bilaterally:PLTR:PLTR -bilineurine:PLNR:PLNR -bilingually:PLNK:PLNK -biliousness:PLSN:PLSN -billionaire:PLNR:PLNR -billionthes:PLN0:PLNT -billowiness:PLNS:PLNS -billposters:PLPS:PLPS -billposting:PLPS:PLPS -billsticker:PLST:PLST -bilophodont:PLFT:PLFT -bimetallism:PMTL:PMTL -bimetallist:PMTL:PMTL -bimolecular:PMLK:PMLK -bimonthlies:PMN0:PMNT -binocularly:PNKL:PNKL -binucleated:PNKL:PNKL -bioactivity:PKTF:PKTF -bioassaying:PSNK:PSNK -biocatalyst:PKTL:PKTL -biocenology:PSNL:PSNL -biochemical:PXMK:PKMK -biochemists:PXMS:PKMS -biocoenoses:PKNS:PKNS -biocoenosis:PKNS:PKNS -biodegraded:PTKR:PTKR -biodynamics:PTNM:PTNM -bioelectric:PLKT:PLKT -bioengineer:PNJN:PNKN -biofeedback:PFTP:PFTP -biographers:PKRF:PKRF -biographies:PKRF:PKRF -biokinetics:PKNT:PKNT -biomaterial:PMTR:PMTR -biomedicine:PMTS:PMTS -biometrical:PMTR:PMTR -bionomicses:PNMK:PNMK -biophysical:PFSK:PFSK -bioresearch:PRSR:PRSR -biorhythmic:PR0M:PRTM -biosciences:PSNS:PSNS -bipartitely:PPRT:PPRT -bipartition:PPRT:PPRT -bipenniform:PPNF:PPNF -biquadratic:PKTR:PKTR -biquarterly:PKRT:PKRT -biracialism:PRSL:PRXL -birdbrained:PRTP:PRTP -birthplaces:PR0P:PRTP -birthrights:PR0R:PRTR -birthstones:PR0S:PRTS -bisectional:PSKX:PSKX -bisectrices:PSKT:PSKT -bisexualism:PSKS:PSKS -bisexuality:PSKS:PSKS -bismuthosis:PSM0:PSMT -bisymmetric:PSMT:PSMT -bittersweet:PTRS:PTRS -bitumenized:PTMN:PTMN -bitumenizes:PTMN:PTMN -bivalencies:PFLN:PFLN -bivouacking:PFKN:PFKN -bizarreness:PSRN:PSRN -bizygomatic:PSKM:PSKM -blackamoors:PLKM:PLKM -blackballed:PLKP:PLKP -blackboards:PLKP:PLKP -blackfellow:PLKF:PLKF -blackguards:PLKK:PLKK -blackjacked:PLKK:PLKK -blacklisted:PLKL:PLKL -blackmailed:PLKM:PLKM -blackmailer:PLKM:PLKM -blacksmiths:PLKS:PLKS -blackthorns:PLK0:PLKT -blacktopped:PLKT:PLKT -bladdernose:PLTR:PLTR -bladderwort:PLTR:PLTR -blaeberries:PLPR:PLPR -blamelessly:PLML:PLML -blameworthy:PLMR:PLMR -blancmanges:PLNK:PLNK -blandishers:PLNT:PLNT -blandishing:PLNT:PLNT -blasphemers:PLSF:PLSF -blasphemies:PLSF:PLSF -blaspheming:PLSF:PLSF -blasphemous:PLSF:PLSF -blastocoele:PLST:PLST -blastocoels:PLST:PLST -blastocysts:PLST:PLST -blastocytes:PLST:PLST -blastoderms:PLST:PLST -blastogenic:PLST:PLST -blastomeres:PLST:PLST -blastomeric:PLST:PLST -blastomyces:PLST:PLST -blastoporal:PLST:PLST -blastoporic:PLST:PLST -blastospore:PLST:PLST -blenchingly:PLNX:PLNK -blennorrhea:PLNR:PLNR -blepharitic:PLFR:PLFR -blepharitis:PLFR:PLFR -blessedness:PLST:PLST -blightingly:PLTN:PLTN -blindfishes:PLNT:PLNT -blindfolded:PLNT:PLNT -blindstorey:PLNT:PLNT -blitzkriegs:PLTS:PLTS -blockboards:PLKP:PLKP -blockbuster:PLKP:PLKP -blockheaded:PLKT:PLKT -blockhouses:PLKS:PLKS -bloodedness:PLTT:PLTT -bloodhounds:PLTN:PLTN -bloodlessly:PLTL:PLTL -bloodmobile:PLTM:PLTM -bloodsheder:PLTX:PLTX -bloodstains:PLTS:PLTS -bloodstones:PLTS:PLTS -bloodstream:PLTS:PLTS -bloodsucker:PLTS:PLTS -blossomless:PLSM:PLSM -blotchiness:PLXN:PLXN -blowtorches:PLTR:PLTR -bludgeoners:PLJN:PLJN -bludgeoning:PLJN:PLJN -blueberries:PLPR:PLPR -blueblooded:PLPL:PLPL -bluebonnets:PLPN:PLPN -bluebottles:PLPT:PLPT -blueishness:PLXN:PLXN -bluejackets:PLJK:PLJK -blueprinted:PLPR:PLPR -bluethroats:PL0R:PLTR -blunderbuss:PLNT:PLNT -blunderings:PLNT:PLNT -blurredness:PLRT:PLRT -boardsailed:PRTS:PRTS -boardsailor:PRTS:PRTS -boarishness:PRXN:PRXN -bobbysoxers:PPSK:PPSK -bobsledders:PPSL:PPSL -bobsledding:PPSL:PPSL -bobsleighed:PPSL:PPSL -bodybuilder:PTPL:PTPL -bodychecked:PTXK:PTKK -boilermaker:PLRM:PLRM -boilerplate:PLRP:PLRP -bolshevists:PLXF:PLXF -bombardiers:PMPR:PMPR -bombardment:PMPR:PMPR -bondholders:PNTL:PNTL -bondservant:PNTS:PNTS -bonesetters:PNST:PNST -boneshakers:PNXK:PNXK -bookbinders:PKPN:PKPN -bookbindery:PKPN:PKPN -bookbinding:PKPN:PKPN -bookishness:PKXN:PKXN -bookkeepers:PKPR:PKPR -bookkeeping:PKPN:PKPN -bookmarkers:PKMR:PKMR -bookmobiles:PKMP:PKMP -booksellers:PKSL:PKSL -bookshelves:PKXL:PKXL -boondoggled:PNTK:PNTK -boondoggler:PNTK:PNTK -boondoggles:PNTK:PNTK -boorishness:PRXN:PRXN -bootleggers:PTLK:PTLK -bootlegging:PTLK:PTLK -bootlickers:PTLK:PTLK -bootlicking:PTLK:PTLK -borborygmic:PRPR:PRPR -borborygmus:PRPR:PRPR -borderlands:PRTR:PRTR -borderlines:PRTR:PRTR -borehamwood:PRHM:PRHM -botanically:PTNK:PTNK -botheration:P0RX:PTRX -bottlenecks:PTLN:PTLN -boundlessly:PNTL:PNTL -bounteously:PNTS:PNTS -bountifully:PNTF:PNTF -bourgeoisie:PRJS:PRKS -boutonniere:PTNR:PTNR -bowdlerized:PTLR:PTLR -bowdlerizes:PTLR:PTLR -boysenberry:PSNP:PSNP -brachialgia:PRKL:PRKL -brachiating:PRKT:PRKT -brachiation:PRKX:PRKX -brachyodont:PRKT:PRKT -bradycardia:PRTK:PRTK -bradycrotic:PRTK:PRTK -braggadocio:PRKT:PRKT -brahmanical:PRMN:PRMN -brahmanists:PRMN:PRMN -brahminical:PRMN:PRMN -brahminists:PRMN:PRMN -brainlessly:PRNL:PRNL -brainstorms:PRNS:PRNS -brainteaser:PRNT:PRNT -brainwashed:PRNX:PRNX -brainwasher:PRNX:PRNX -brainwashes:PRNX:PRNX -brandishers:PRNT:PRNT -brandishing:PRNT:PRNT -brattishing:PRTX:PRTX -breadbasket:PRTP:PRTP -breadboards:PRTP:PRTP -breadcrumbs:PRTK:PRTK -breadfruits:PRTF:PRTF -breadstuffs:PRTS:PRTS -breadthways:PRTS:PRTS -breadwinner:PRTN:PRTN -breakfasted:PRKF:PRKF -breakfaster:PRKF:PRKF -breakfronts:PRKF:PRKF -breakpoints:PRKP:PRKP -breakwaters:PRKT:PRKT -breastbones:PRST:PRST -breastfeeds:PRST:PRST -breastplate:PRST:PRST -breastworks:PRST:PRST -breathalyze:PR0L:PRTL -breconshire:PRKN:PRKN -breechblock:PRKP:PRKP -breechcloth:PRXK:PRKK -bricklayers:PRKL:PRKL -bricklaying:PRKL:PRKL -bridegrooms:PRTK:PRTK -bridesmaids:PRTS:PRTS -bridgeboard:PRJP:PRJP -bridgeheads:PRJH:PRJH -brigantines:PRKN:PRKN -brighteners:PRTN:PRTN -brightening:PRTN:PRTN -brilliantly:PRLN:PRLN -brittleness:PRTL:PRTL -broadcasted:PRTK:PRTK -broadcaster:PRTK:PRTK -broadenings:PRTN:PRTN -broadleaves:PRTL:PRTL -broadsheets:PRTX:PRTX -broadswords:PRTS:PRTS -brobdingnag:PRPT:PRPT -brokenheart:PRKN:PRKN -bromacetone:PRMS:PRMS -bromidroses:PRMT:PRMT -bromidrosis:PRMT:PRMT -bromobenzyl:PRMP:PRMP -bromocresol:PRMK:PRMK -bromophenol:PRMF:PRMF -bromouracil:PRMR:PRMR -bronchially:PRNK:PRNK -bronchiolar:PRNX:PRNK -bronchioles:PRNX:PRNK -bronchiolus:PRNX:PRNK -bronchocele:PRNX:PRNK -bronchogram:PRNX:PRNK -broncholith:PRNX:PRNK -bronchotomy:PRNX:PRNK -brontosaurs:PRNT:PRNT -broomsticks:PRMS:PRMS -brotherhood:PR0R:PRTR -browbeaters:PRPT:PRPT -browbeating:PRPT:PRPT -brownstones:PRNS:PRNS -brucelloses:PRSL:PRSL -brucellosis:PRSL:PRSL -brusqueness:PRSK:PRSK -brutalities:PRTL:PRTL -brutalizing:PRTL:PRTL -brutishness:PRTX:PRTX -bubonoceles:PPNS:PPNS -buccoclusal:PKKL:PKKL -buccodistal:PKTS:PKTS -bucktoothed:PKT0:PKTT -bucolically:PKLK:PKLK -budgerigars:PJRK:PJRK -budgeterees:PJTR:PJTR -bulbiferous:PLPF:PLPF -bulldogging:PLTJ:PLTK -bulletproof:PLTP:PLTP -bullfighter:PLFT:PLFT -bullfinches:PLFN:PLFN -bullishness:PLXN:PLXN -bullwhipped:PLPT:PLPT -bumptiously:PMPT:PMPT -buphthalmia:PF0L:PFTL -buphthalmos:PF0L:PFTL -bureaucracy:PRKR:PRKR -bureaucrats:PRKR:PRKR -burglarious:PRKL:PRKL -burglarized:PRKL:PRKL -burglarizes:PRKL:PRKL -burgomaster:PRKM:PRKM -burlesquers:PRLS:PRLS -burlesquing:PRLS:PRLS -burnishable:PRNX:PRNX -bursarships:PRSR:PRSR -bushhammers:PXMR:PXMR -bushmasters:PXMS:PXMS -bushrangers:PXRN:PXRN -bushranging:PXRN:PXRN -bushwhacked:PXKT:PXKT -bushwhacker:PXKR:PXKR -businessman:PSNS:PSNS -businessmen:PSNS:PSNS -busybodying:PSPT:PSPT -butterflies:PTRF:PTRF -butteriness:PTRN:PTRN -butterworth:PTRR:PTRR -buttonholed:PTNL:PTNL -buttonholer:PTNL:PTNL -buttonholes:PTNL:PTNL -buttonhooks:PTNK:PTNK -buttonmould:PTNM:PTNM -buttressing:PTRS:PTRS -butyraceous:PTRS:PTRS -byelorussia:PLRS:PLRS -byronically:PRNK:PRNK -byzantinism:PSNT:PSNT -cabbalistic:KPLS:KPLS -cabinetwork:KPNT:KPNT -cachinnated:KXNT:KKNT -cachinnates:KXNT:KKNT -cacodemonia:KKTM:KKTM -cacogeneses:KKJN:KKKN -cacogenesis:KKJN:KKKN -cacographer:KKKR:KKKR -cacographic:KKKR:KKKR -cacophonies:KKFN:KKFN -cacophonous:KKFN:KKFN -cadastrally:KTST:KTST -caddishness:KTXN:KTXN -caduciaries:KTSR:KTXR -caesaristic:SSRS:SSRS -cajolements:KJLM:KHLM -cakewalkers:KKLK:KKLK -calceolaria:KLSL:KLSL -calcicolous:KLSK:KLSK -calciferous:KLSF:KLSF -calcifugous:KLSF:KLSF -calcimining:KLSM:KLSM -calcination:KLSN:KLSN -calculating:KLKL:KLKL -calculation:KLKL:KLKL -calculative:KLKL:KLKL -calculators:KLKL:KLKL -calculatory:KLKL:KLKL -caledonians:KLTN:KLTN -calefacient:KLFS:KLFX -calefaction:KLFK:KLFK -calefactory:KLFK:KLFK -calendaring:KLNT:KLNT -calendering:KLNT:KLNT -calibraters:KLPR:KLPR -calibrating:KLPR:KLPR -calibration:KLPR:KLPR -calibrators:KLPR:KLPR -californian:KLFR:KLFR -californium:KLFR:KLFR -calisthenic:KLS0:KLST -calligraphy:KLKR:KLKR -callipering:KLPR:KLPR -calliphorid:KLFR:KLFR -callipygian:KLPJ:KLPK -callipygous:KLPK:KLPK -callosities:KLST:KLST -callousness:KLSN:KLSN -calorescent:KLRS:KLRS -calorically:KLRK:KLRK -calorigenic:KLRJ:KLRK -calorimetry:KLRM:KLRM -calumniable:KLMN:KLMN -calumniated:KLMN:KLMN -calumniates:KLMN:KLMN -calumniator:KLMN:KLMN -calvinistic:KLFN:KLFN -camaraderie:KMRT:KMRT -cambistries:KMPS:KMPS -camelopards:KMLP:KMLP -cameralists:KMRL:KMRL -camerlengos:KMRL:KMRL -cameroonian:KMRN:KMRN -camouflaged:KMFL:KMFL -camouflager:KMFL:KMFL -camouflages:KMFL:KMFL -campaigners:KMPN:KMPK -campaigning:KMPN:KMPK -campanology:KMPN:KMPN -campanulate:KMPN:KMPN -campgrounds:KMPK:KMPK -camphorated:KMFR:KMFR -camphorates:KMFR:KMFR -campnaulate:KMPN:KMPN -canadianism:KNTN:KNTN -canalicular:KNLK:KNLK -canaliculus:KNLK:KNLK -cancelation:KNSL:KNSL -cancellated:KNSL:KNSL -cancerating:KNSR:KNSR -cancerology:KNSR:KNSR -cancerously:KNSR:KNSR -candelabrum:KNTL:KNTL -candescence:KNTS:KNTS -candidacies:KNTT:KNTT -candidature:KNTT:KNTT -candidiases:KNTT:KNTT -candidiasis:KNTT:KNTT -candlelight:KNTL:KNTL -candlepower:KNTL:KNTL -candlestick:KNTL:KNTL -candlewicks:KNTL:KNTL -cankerworms:KNKR:KNKR -cannabidiol:KNPT:KNPT -cannibalism:KNPL:KNPL -cannibalize:KNPL:KNPL -cannonading:KNNT:KNNT -cannonballs:KNNP:KNNP -cannulating:KNLT:KNLT -cannulation:KNLX:KNLX -canonically:KNNK:KNNK -cantaloupes:KNTL:KNTL -cantatrices:KNTT:KNTT -cantharidal:KN0R:KNTR -cantharides:KN0R:KNTR -cantharidin:KN0R:KNTR -cantilevers:KNTL:KNTL -cantillated:KNTL:KNTL -cantillates:KNTL:KNTL -cantonments:KNTN:KNTN -canvasbacks:KNFS:KNFS -capableness:KPPL:KPPL -capaciously:KPSS:KPXS -capacitance:KPST:KPST -capacitated:KPST:KPST -capacitates:KPST:KPST -caparisoned:KPRS:KPRS -capillaries:KPLR:KPLR -capillarity:KPLR:KPLR -capitalists:KPTL:KPTL -capitalized:KPTL:KPTL -capitalizer:KPTL:KPTL -capitalizes:KPTL:KPTL -capitations:KPTX:KPTX -capitularly:KPTL:KPTL -capitulated:KPTL:KPTL -capitulates:KPTL:KPTL -capitulator:KPTL:KPTL -cappuccinos:KPXN:KPXN -capsulation:KPSL:KPSL -capsulizing:KPSL:KPSL -captaincies:KPTN:KPTN -captainship:KPTN:KPTN -captivating:KPTF:KPTF -captivation:KPTF:KPTF -captivators:KPTF:KPTF -captivities:KPTF:KPTF -carabineers:KRPN:KRPN -carabiniere:KRPN:KRPN -carabiniers:KRPN:KRPN -caramelized:KRML:KRML -caramelizes:KRML:KRML -caravanning:KRFN:KRFN -caravansary:KRFN:KRFN -carbocyclic:KRPS:KRPS -carbolating:KRPL:KRPL -carbolizing:KRPL:KRPL -carbonadoes:KRPN:KRPN -carbonating:KRPN:KRPN -carbonation:KRPN:KRPN -carbonators:KRPN:KRPN -carbonizers:KRPN:KRPN -carbonizing:KRPN:KRPN -carborundum:KRPR:KRPR -carboxylase:KRPK:KRPK -carboxylate:KRPK:KRPK -carbuncular:KRPN:KRPN -carburation:KRPR:KRPR -carbureting:KRPR:KRPR -carburetors:KRPR:KRPR -carburetted:KRPR:KRPR -carburetter:KRPR:KRPR -carburettor:KRPR:KRPR -carburizing:KRPR:KRPR -carcinogens:KRSN:KRSN -carcinomata:KRSN:KRSN -cardiectomy:KRTK:KRTK -cardinalate:KRTN:KRTN -cardinality:KRTN:KRTN -cardiograms:KRTK:KRTK -cardiograph:KRTK:KRTK -cardiolipin:KRTL:KRTL -cardiologic:KRTL:KRTL -cardiolyses:KRTL:KRTL -cardiolysis:KRTL:KRTL -cardiometry:KRTM:KRTM -cardiopathy:KRTP:KRTP -cardiorenal:KRTR:KRTR -cardioscope:KRTS:KRTS -cardiospasm:KRTS:KRTS -cardiotonic:KRTT:KRTT -cardiotoxic:KRTT:KRTT -cardsharper:KRTX:KRTX -carefulness:KRFL:KRFL -caressingly:KRSN:KRSN -carfuffling:KRFF:KRFF -caricatural:KRKT:KRKT -caricatured:KRKT:KRKT -caricatures:KRKT:KRKT -cariosities:KRST:KRST -cariousness:KRSN:KRSN -carminative:KRMN:KRMN -carnalities:KRNL:KRNL -carnificial:KRNF:KRNF -carnivorous:KRNF:KRNF -carolingian:KRLN:KRLN -carolinians:KRLN:KRLN -carotenemia:KRTN:KRTN -carotinemia:KRTN:KRTN -carotodynia:KRTT:KRTT -carousingly:KRSN:KRSN -carpathians:KRP0:KRPT -carpentaria:KRPN:KRPN -carphologia:KRFL:KRFL -carpocarpal:KRPK:KRPK -carpogonial:KRPK:KRPK -carpogonium:KRPK:KRPK -carpologist:KRPL:KRPL -carpophores:KRPF:KRPF -carpospores:KRPS:KRPS -carrageenan:KRJN:KRKN -carrageenin:KRJN:KRKN -carriageway:KRJ:KRK -carsickness:KRSK:KRSK -cartelistic:KRTL:KRTL -cartelizing:KRTL:KRTL -cartography:KRTK:KRTK -cartoonists:KRTN:KRTN -cartularies:KRTL:KRTL -cartwrights:KRTR:KRTR -carunculate:KRNK:KRNK -carunculous:KRNK:KRNK -caryatidean:KRTT:KRTT -casehardens:KSHR:KSHR -caseworkers:KSRK:KSRK -cassiterite:KSTR:KSTR -cassowaries:KSRS:KSRS -castellated:KSTL:KSTL -castigating:KSTK:KSTK -castigation:KSTK:KSTK -castigators:KSTK:KSTK -castigatory:KSTK:KSTK -castrations:KSTR:KSTR -casuistical:KSST:KSST -casuistries:KSST:KSST -catabolical:KTPL:KTPL -catabolites:KTPL:KTPL -catabolized:KTPL:KTPL -catabolizes:KTPL:KTPL -catacaustic:KTKS:KTKS -catachresis:KTKR:KTKR -cataclastic:KTKL:KTKL -cataclysmal:KTKL:KTKL -cataclysmic:KTKL:KTKL -catadromous:KTTR:KTTR -catafalques:KTFL:KTFL -catageneses:KTJN:KTKN -catagenesis:KTJN:KTKN -catagenetic:KTJN:KTKN -catalepsies:KTLP:KTLP -cataleptics:KTLP:KTLP -cataleptoid:KTLP:KTLP -cataloguers:KTLK:KTLK -cataloguing:KTLK:KTLK -cataloguist:KTLK:KTLK -catalytical:KTLT:KTLT -catamnestic:KTMN:KTMN -cataplastic:KTPL:KTPL -cataplectic:KTPL:KTPL -cataplexies:KTPL:KTPL -catapulting:KTPL:KTPL -cataractous:KTRK:KTRK -catarrhally:KTRL:KTRL -catarrhines:KTRN:KTRN -catastrophe:KTST:KTST -catchiester:KXST:KXST -catchphrase:KXFR:KXFR -catchweight:KXT:KXT -catechismal:KTXS:KTKS -catechistic:KTXS:KTKS -catechizers:KTXS:KTKS -catechizing:KTXS:KTKS -catechumens:KTXM:KTKM -categorical:KTKR:KTKR -categorized:KTKR:KTKR -categorizer:KTKR:KTKR -categorizes:KTKR:KTKR -caterpillar:KTRP:KTRP -caterwauled:KTRL:KTRL -caterwauler:KTRL:KTRL -cathartical:K0RT:KTRT -catheterize:K0TR:KTTR -catholicism:K0LS:KTLS -catholicity:K0LS:KTLS -catholicize:K0LS:KTLS -catholicons:K0LK:KTLK -catoptrical:KTPT:KTPT -cauliflower:KLFL:KLFL -causability:KSPL:KSPL -causalities:KSLT:KSLT -causational:KSXN:KSXN -causatively:KSTF:KSTF -causelessly:KSLS:KSLS -caustically:KSTK:KSTK -causticness:KSTK:KSTK -cauterizing:KTRS:KTRS -cautionings:KXNN:KXNN -cavernomata:KFRN:KFRN -cavernously:KFRN:KFRN -cavillation:KFLX:KFLX -cavitations:KFTX:KFTX -ceaselessly:SSLS:SSLS -cecectomies:SSKT:SSKT -cecorrhaphy:SKRF:SKRF -cecostomies:SKST:SKST -celebrating:SLPR:SLPR -celebration:SLPR:SLPR -celebrative:SLPR:SLPR -celebrators:SLPR:SLPR -celebratory:SLPR:SLPR -celebrities:SLPR:SLPR -celestially:SLSX:SLSX -celiotomies:SLTM:SLTM -cellularity:SLLR:SLLR -cementation:SMNT:SMNT -cementomata:SMNT:SMNT -cenesthesia:SNS0:SNST -cenesthesis:SNS0:SNST -cenesthetic:SNS0:SNST -cenobitical:SNPT:SNPT -cenogeneses:SNJN:SNKN -cenogenesis:SNJN:SNKN -cenogenetic:SNJN:SNKN -cenospecies:SNSP:SNSP -censorships:SNSR:SNSR -censureless:SNSR:SNSR -centenarian:SNTN:SNTN -centenaries:SNTN:SNTN -centennials:SNTN:SNTN -centerboard:SNTR:SNTR -centerfolds:SNTR:SNTR -centerlines:SNTR:SNTR -centerpiece:SNTR:SNTR -centigramme:SNTK:SNTK -centiliters:SNTL:SNTL -centillions:SNTL:SNTL -centimeters:SNTM:SNTM -centinormal:SNTN:SNTN -centistokes:SNTS:SNTS -centralists:SNTR:SNTR -centralized:SNTR:SNTR -centralizer:SNTR:SNTR -centralizes:SNTR:SNTR -centreboard:SNTR:SNTR -centredness:SNTR:SNTR -centrefolds:SNTR:SNTR -centrepiece:SNTR:SNTR -centrically:SNTR:SNTR -centrifugal:SNTR:SNTR -centrifuged:SNTR:SNTR -centrifuges:SNTR:SNTR -centripetal:SNTR:SNTR -centrobaric:SNTR:SNTR -centromeres:SNTR:SNTR -centromeric:SNTR:SNTR -centroplasm:SNTR:SNTR -centrosomes:SNTR:SNTR -centrosomic:SNTR:SNTR -cephalalgia:SFLL:SFLL -cephalocele:SFLS:SFLS -cephalopods:SFLP:SFLP -cephalothin:SFL0:SFLT -cephalotomy:SFLT:SFLT -ceramicists:SRMS:SRMS -ceratitides:SRTT:SRTT -cerebellums:SRPL:SRPL -cerebrating:SRPR:SRPR -cerebration:SRPR:SRPR -cerebriform:SRPR:SRPR -cerebroside:SRPR:SRPR -cereclothes:SRKL:SRKL -ceremonials:SRMN:SRMN -ceremonious:SRMN:SRMN -cerographic:SRKR:SRKR -ceroplastic:SRPL:SRPL -certainness:SRTN:SRTN -certainties:SRTN:SRTN -certifiable:SRTF:SRTF -certifiably:SRTF:SRTF -certificate:SRTF:SRTF -certiorando:SRTR:SRTR -ceruminoses:SRMN:SRMN -ceruminosis:SRMN:SRMN -cesarewitch:SSRX:SSRX -cessionaire:SSNR:SSNR -cestodiases:SSTT:SSTT -cestodiasis:SSTT:SSTT -cetological:STLJ:STLK -cetologists:STLJ:STLK -chaffinches:XFNX:XFNK -chagrinning:XKRN:XKRN -chainplates:XNPL:XNPL -chairladies:XRLT:XRLT -chairmaning:XRMN:XRMN -chairmanned:XRMN:XRMN -chairperson:XRPR:XRPR -chalcedonic:XLST:XLST -chalkboards:XLKP:XLKP -challengers:XLNK:XLNJ -challenging:XLNJ:XLNK -chamberlain:XMPR:XMPR -chamberland:XMPR:XMPR -chambermaid:XMPR:XMPR -chameleonic:XMLN:XMLN -champarties:XMPR:XMPR -champerties:XMPR:XMPR -champertors:XMPR:XMPR -champertous:XMPR:XMPR -championing:XMPN:XMPN -chancellery:XNSL:XNSL -chancellors:XNSL:XNSL -chancellory:XNSL:XNSL -chancriform:XNKR:XNKR -chancroidal:XNKR:XNKR -chandeliers:XNTL:XNTL -chandleries:XNTL:XNTL -changefully:XNJF:XNKF -changelings:XNJL:XNKL -changeovers:XNJF:XNKF -channelized:XNLS:XNLS -channelizes:XNLS:XNLS -chanterelle:XNTR:XNTR -chanticleer:XNTK:XNTK -chaotically:XTKL:XTKL -chaoticness:XTKN:XTKN -chaperonage:XPRN:XPRN -chaperoning:XPRN:XPRN -chaptalises:XPTL:XPTL -chaptalized:XPTL:XPTL -chaptalizes:XPTL:XPTL -charbroiled:XRPR:XRPR -charioteers:XRTR:XRTR -charismatic:KRSM:KRSM -charlatanic:XRLT:XRLT -charlatanry:XRLT:XRLT -charlemagne:XRLM:XRLM -charlestons:XRLS:XRLS -chastisable:XSTS:XSTS -chatelaines:XTLN:XTLN -chattanooga:XTNK:XTNK -chattelized:XTLS:XTLS -chattelizes:XTLS:XTLS -chauffeured:XFRT:XFRT -chauffeuses:XFSS:XFSS -chaulmaugra:XLMK:XLMK -chaulmoogra:XLMK:XLMK -chauvinists:XFNS:XFNS -cheapskates:XPSK:XPSK -checkmating:XKMT:XKMT -checkpoints:XKPN:XKPN -cheekpieces:XKPS:XKPS -cheerleader:XRLT:XRLT -cheerlessly:XRLS:XRLS -cheeseboard:XSPR:XSPR -cheesecakes:XSKK:XSKK -cheesecloth:XSKL:XSKL -cheilectomy:XLKT:XLKT -cheirognomy:XRNM:XRKN -cheirospasm:XRSP:XRSP -chelidonium:XLTN:XLTN -cheliferous:XLFR:XLFR -chemisorbed:KMSR:KMSR -chemistatic:KMST:KMST -chemistries:KMST:KMST -chemoreflex:KMRF:KMRF -chemosmoses:KMSM:KMSM -chemosmosis:KMSM:KMSM -chemosmotic:KMSM:KMSM -chemosphere:KMSF:KMSF -chemotactic:KMTK:KMTK -chemotaxies:KMTK:KMTK -chemotropic:KMTR:KMTR -chemurgical:KMRJ:KMRK -chenopodium:XNPT:XNPT -chequebooks:XKPK:XKPK -cherishable:XRXP:XRXP -cherrystone:XRST:XRST -chessboards:XSPR:XSPR -chessington:XSNK:XSNK -chesspieces:XSPS:XSPS -chiaroscuro:KRSK:KRSK -chicaneries:XKNR:XKNR -chieftaincy:XFTN:XFTN -chiffchaffs:XFXF:XFKF -chiffoniers:XFNR:XFNR -chiffonnier:XFN:XFNR -chilblained:XLPL:XLPL -chilomastix:XLMS:XLMS -chilopodous:XLPT:XLPT -chimpanzees:XMPN:XMPN -chinchillas:XNXL:XNKL -chinoiserie:XNSR:XNSR -chinwagging:XNJN:XNKN -chippendale:XPNT:XPNT -chirography:XRKR:XRKR -chirologies:XRLJ:XRLK -chiromancer:XRMN:XRMN -chiromegaly:XRMK:XRMK -chiroplasty:XRPL:XRPL -chiropodial:XRPT:XRPT -chiropodies:XRPT:XRPT -chiropodist:XRPT:XRPT -chiropraxes:XRPR:XRPR -chiropraxis:XRPR:XRPR -chiropteran:XRPT:XRPT -chislehurst:XLHR:XLHR -chlamydeous:KLMT:KLMT -chloranemia:KLRN:KLRN -chloranemic:KLRN:KLRN -chlorhydria:KLRT:KLRT -chlorinated:KLRN:KLRN -chlorinates:KLRN:KLRN -chlorinator:KLRN:KLRN -chloroforms:KLRF:KLRF -chlorophane:KLRF:KLRF -chlorophyll:KLRF:KLRF -chloropidae:KLRP:KLRP -chloroplast:KLRP:KLRP -chloroquine:KLRK:KLRK -chlorotical:KLRT:KLRT -chlorphenol:KLRF:KLRF -chlorpicrin:KLRP:KLRP -choanocytes:XNST:XNST -chockstones:XKST:XKST -choirmaster:XRMS:XRMS -cholangiole:XLNJ:XLNK -cholangioma:XLNJ:XLNK -cholangitis:XLNJ:XLNK -cholecystic:XLSS:XLSS -cholecystis:XLSS:XLSS -choledochal:XLTX:XLTK -choledochus:XLTX:XLTK -choleglobin:XLKL:XLKL -choleriform:XLRF:XLRF -cholesteric:XLST:XLST -cholesterol:XLST:XLST -cholinergic:XLNR:XLNR -chondrified:XNTR:XNTR -chondrifies:XNTR:XNTR -chondrocyte:XNTR:XNTR -chondroitin:XNTR:XNTR -chondrology:XNTR:XNTR -chondromata:XNTR:XNTR -chondrotome:XNTR:XNTR -chondrotomy:XNTR:XNTR -chordophone:KRTF:KRTF -choreodrama:XRTR:XRTR -choreograph:XRKR:XRKR -chorography:KRKR:KRKR -choroiditis:KRTT:KRTT -chorologist:KRLJ:KRLK -chrismatory:KRSM:KRSM -christendom:KRST:KRST -christeners:KRST:KRST -christening:KRST:KRST -christiania:KRSX:KRSX -christianly:KRSX:KRSX -christmases:KRST:KRST -christmassy:KRST:KRST -christogist:KRST:KRST -christopher:KRST:KRST -chromaffine:KRMF:KRMF -chromatical:KRMT:KRMT -chromatinic:KRMT:KRMT -chromatists:KRMT:KRMT -chrominance:KRMN:KRMN -chromoblast:KRMP:KRMP -chromogenic:KRMJ:KRMK -chromograph:KRMK:KRMK -chromomeres:KRMM:KRMM -chromophile:KRMF:KRMF -chromophily:KRMF:KRMF -chromophobe:KRMF:KRMF -chromoscope:KRMS:KRMS -chromoscopy:KRMS:KRMS -chromosomal:KRMS:KRMS -chromosomes:KRMS:KRMS -chromosomic:KRMS:KRMS -chronically:KRNK:KRNK -chroniclers:KRNK:KRNK -chronicling:KRNK:KRNK -chronograms:KRNK:KRNK -chronograph:KRNK:KRNK -chronometry:KRNM:KRNM -chronoscope:KRNS:KRNS -chrysalidal:KRSL:KRSL -chrysalides:KRSL:KRSL -chrysalises:KRSL:KRSL -chrysarobin:KRSR:KRSR -chrysoprase:KRSP:KRSP -churchgoers:XRXK:XRKK -churchgoing:XRXK:XRKK -churchmanly:XRXM:XRKM -churchwoman:XRXM:XRKM -churchwomen:XRXM:XRKM -churchyards:XRXR:XRKR -chylangioma:XLNJ:XLNK -chyliferous:XLFR:XLFR -chylomicron:XLMK:XLMK -chylopoetic:XLPT:XLPT -chylothorax:XL0R:XLTR -cicatricial:SKTR:SKTR -cicatricles:SKTR:SKTR -cicatricose:SKTR:SKTR -cicatrisant:SKTR:SKTR -cicatrizant:SKTR:SKTR -cicatrizers:SKTR:SKTR -cicatrizing:SKTR:SKTR -ciliophoran:SLFR:SLFR -cinchonized:SNXN:SNKN -cinchonizes:SNXN:SNKN -cinderellas:SNTR:SNTR -cinemascope:SNMS:SNMS -cinematical:SNMT:SNMT -cineplastic:SNPL:SNPL -cineritious:SNRT:SNRT -cinetoplast:SNTP:SNTP -cinquecento:SNKS:SNKS -cinquefoils:SNKF:SNKF -circassians:SRKS:SRKS -circinately:SRSN:SRSN -circuiteers:SRKT:SRKT -circuitries:SRKT:SRKT -circularity:SRKL:SRKL -circularize:SRKL:SRKL -circulating:SRKL:SRKL -circulation:SRKL:SRKL -circulative:SRKL:SRKL -circulators:SRKL:SRKL -circulatory:SRKL:SRKL -circumcised:SRKM:SRKM -circumciser:SRKM:SRKM -circumcises:SRKM:SRKM -circumfused:SRKM:SRKM -circumfuses:SRKM:SRKM -circumlunar:SRKM:SRKM -circumpolar:SRKM:SRKM -circumsolar:SRKM:SRKM -circumspect:SRKM:SRKM -circumvents:SRKM:SRKM -cirrocumuli:SRKM:SRKM -cirrostrati:SRST:SRST -cistercians:SSTR:SSTR -citizenries:STSN:STSN -citizenship:STSN:STSN -citrinellal:STRN:STRN -civilianize:SFLN:SFLN -civilizable:SFLS:SFLS -cladophylls:KLTF:KLTF -clairvoyant:KLRF:KLRF -clamorously:KLMR:KLMR -clandestine:KLNT:KLNT -clangourous:KLNK:KLNK -clarifiable:KLRF:KLRF -clarificant:KLRF:KLRF -clarinetist:KLRN:KLRN -clasmatoses:KLSM:KLSM -clasmatosis:KLSM:KLSM -classically:KLSK:KLSK -classicises:KLSS:KLSS -classicists:KLSS:KLSS -classicized:KLSS:KLSS -classicizes:KLSS:KLSS -classifiers:KLSF:KLSF -classifying:KLSF:KLSF -clathration:KL0R:KLTR -clavichords:KLFX:KLFK -claviculate:KLFK:KLFK -clavierists:KLFR:KLFR -cleanliness:KLNL:KLNL -clearcoling:KLRK:KLRK -clearheaded:KLRT:KLRT -clearstorey:KLRS:KLRS -cleistogamy:KLST:KLST -clementines:KLMN:KLMN -cleptomania:KLPT:KLPT -clergywoman:KLRJ:KLRK -clergywomen:KLRJ:KLRK -clericalism:KLRK:KLRK -clericalist:KLRK:KLRK -clerkliness:KLRK:KLRK -cliffhanger:KLFN:KLFN -climacteria:KLMK:KLMK -climacteric:KLMK:KLMK -climactical:KLMK:KLMK -climatology:KLMT:KLMT -clingstones:KLNK:KLNK -clinkstones:KLNK:KLNK -clinometric:KLNM:KLNM -clitoridean:KLTR:KLTR -clockmakers:KLKM:KLKM -clodhoppers:KLTP:KLTP -clodhopping:KLTP:KLTP -cloistering:KLST:KLST -clonicities:KLNS:KLNS -closefisted:KLSF:KLSF -closenesses:KLSN:KLSN -clostridial:KLST:KLST -clostridian:KLST:KLST -clostridium:KLST:KLST -clothesline:KL0S:KLTS -clothespins:KL0S:KLTS -cloudbursts:KLTP:KLTP -cloudlessly:KLTL:KLTL -cloudscapes:KLTS:KLTS -cloverleafs:KLFR:KLFR -cloxacillin:KLKS:KLKS -cloyingness:KLNN:KLNK -clubability:KLPP:KLPP -clubhauling:KLPL:KLPL -clusterings:KLST:KLST -clydesdales:KLTS:KLTS -coacervated:KSRF:KSRF -coacervates:KSRF:KSRF -coadjutants:KTJT:KTJT -coadjutress:KTJT:KTJT -coadunation:KTNX:KTNX -coadunative:KTNT:KTNT -coagulating:KKLT:KKLT -coagulation:KKLX:KKLX -coagulative:KKLT:KKLT -coagulators:KKLT:KKLT -coalescence:KLSN:KLSN -coalitional:KLXN:KLXN -coalitioner:KLXN:KLXN -coappellees:KPLS:KPLS -coarctation:KRKT:KRKT -coastguards:KSTK:KSTK -coauthoring:K0RN:KTRN -cobblestone:KPLS:KPLS -cocainizing:KKNS:KKNS -coccidioses:KXTS:KXTS -coccidiosis:KXTS:KXTS -cocciferous:KXFR:KXFR -cochliomyia:KKLM:KKLM -cockalorums:KKLR:KKLR -cockatrices:KKTR:KKTR -cockcrowing:KKKR:KKKR -cockleshell:KKLX:KKLX -cockneyfied:KKNF:KKNF -cockneyfies:KKNF:KKNF -cockneyisms:KKNS:KKNS -cocknifying:KKNF:KKNF -cockoldries:KKLT:KKLT -cockroaches:KKRX:KKRK -coconscious:KKNS:KKNS -codefendant:KTFN:KTFN -codicillary:KTSL:KTSL -coeducation:KTKX:KTKX -coefficient:KFSN:KFXN -coelacanths:KLKN:KLKN -coelenteric:KLNT:KLNT -coelenteron:KLNT:KLNT -coemployees:KMPL:KMPL -coenuriases:KNRS:KNRS -coenuriasis:KNRS:KNRS -coenzymatic:KNSM:KNSM -coequalness:KKLN:KKLN -coercionary:KRSN:KRXN -coercionist:KRSN:KRXN -coessential:KSNX:KSNX -coeternally:KTRN:KTRN -coexecutors:KKSK:KKSK -coexecutrix:KKSK:KKSK -coexistence:KKSS:KKSS -coextending:KKST:KKST -coextension:KKST:KKST -coextensive:KKST:KKST -coffeecakes:KFKK:KFKK -coffeehouse:KFHS:KFHS -cogitations:KJTX:KKTX -cognateness:KNTN:KKNT -cognitional:KNXN:KKNX -cognitively:KNTF:KKNT -cognitivism:KNTF:KKNT -cognoscente:KNSN:KKNS -cognoscenti:KNSN:KKNS -cohabitants:KHPT:KHPT -coheiresses:KHRS:KHRS -coincidence:KNST:KNST -coinsurance:KNSR:KNSR -coitophobia:KTFP:KTFP -colatitudes:KLTT:KLTT -colectomies:KLKT:KLKT -coleopteran:KLPT:KLPT -coleopteron:KLPT:KLPT -collaborate:KLPR:KLPR -collagenase:KLJN:KLKN -collagenous:KLJN:KLKN -collapsible:KLPS:KLPS -collarbones:KLRP:KLRP -collational:KLXN:KLXN -collationes:KLXN:KLXN -collectable:KLKT:KLKT -collectanea:KLKT:KLKT -collectedly:KLKT:KLKT -collectible:KLKT:KLKT -collections:KLKX:KLKX -collectives:KLKT:KLKT -collectivum:KLKT:KLKT -collegially:KLJL:KLKL -colligating:KLKT:KLKT -colligation:KLKX:KLKX -colligative:KLKT:KLKT -collimating:KLMT:KLMT -collimation:KLMX:KLMX -collimators:KLMT:KLMT -collinearly:KLNR:KLNR -collocating:KLKT:KLKT -collocation:KLKX:KLKX -collocutors:KLKT:KLKT -colloidally:KLTL:KLTL -colloquists:KLKS:KLKS -colloquiums:KLKM:KLKM -collunarium:KLNR:KLNR -collusively:KLSF:KLSF -collutorium:KLTR:KLTR -cologarithm:KLKR:KLKR -colonelcies:KLNL:KLNL -colonelship:KLNL:KLNL -colonialism:KLNL:KLNL -colonialist:KLNL:KLNL -colonisable:KLNS:KLNS -colonizable:KLNS:KLNS -colonoscope:KLNS:KLNS -colonoscopy:KLNS:KLNS -colophonate:KLFN:KLFN -colorations:KLRX:KLRX -coloraturas:KLRT:KLRT -colorimetry:KLRM:KLRM -colorlessly:KLRL:KLRL -colorpoints:KLRP:KLRP -colorwashed:KLRX:KLRX -colorwashes:KLRX:KLRX -colostomies:KLST:KLST -colouration:KLRX:KLRX -colouratura:KLRT:KLRT -colpatresia:KLPT:KLPT -colpectasia:KLPK:KLPK -colpopexies:KLPP:KLPP -colpoplasty:KLPP:KLPP -colporteurs:KLPR:KLPR -colposcopes:KLPS:KLPS -colpotomies:KLPT:KLPT -coltishness:KLTX:KLTX -columbarium:KLMP:KLMP -columellate:KLML:KLML -columnating:KLMN:KLMN -columnation:KLMN:KLMN -columnizing:KLMN:KLMN -combatively:KMPT:KMPT -combination:KMPN:KMPN -combinative:KMPN:KMPN -combinators:KMPN:KMPN -combinatory:KMPN:KMPN -combustible:KMPS:KMPS -combustibly:KMPS:KMPS -comediennes:KMTN:KMTN -comestibles:KMST:KMST -comeuppance:KMPN:KMPN -comfortable:KMFR:KMFR -comfortably:KMFR:KMFR -comfortless:KMFR:KMFR -comicalness:KMKL:KMKL -commandants:KMNT:KMNT -commandeers:KMNT:KMNT -commandment:KMNT:KMNT -commeasured:KMSR:KMSR -commeasures:KMSR:KMSR -commemorate:KMMR:KMMR -commendable:KMNT:KMNT -commendably:KMNT:KMNT -commensally:KMNS:KMNS -commentated:KMNT:KMNT -commentates:KMNT:KMNT -commentator:KMNT:KMNT -commercials:KMRS:KMRX -commination:KMNX:KMNX -comminatory:KMNT:KMNT -commingling:KMNK:KMNL -comminuting:KMNT:KMNT -comminution:KMNX:KMNX -commiserate:KMSR:KMSR -commissions:KMSN:KMSN -commissoria:KMSR:KMSR -commissurae:KMSR:KMSR -commissural:KMSR:KMSR -commissures:KMSR:KMSR -commitments:KMTM:KMTM -committable:KMTP:KMTP -committitur:KMTT:KMTT -commodatary:KMTT:KMTT -commodation:KMTX:KMTX -commodities:KMTT:KMTT -commonality:KMNL:KMNL -commonplace:KMNP:KMNP -commonsense:KMNS:KMNS -commonweals:KMNL:KMNL -commorients:KMRN:KMRN -commotional:KMXN:KMXN -commotiones:KMXN:KMXN -communalism:KMNL:KMNL -communalist:KMNL:KMNL -communality:KMNL:KMNL -communalize:KMNL:KMNL -communicans:KMNK:KMNK -communicant:KMNK:KMNK -communicate:KMNK:KMNK -communiques:KMNK:KMNK -communistic:KMNS:KMNS -communities:KMNT:KMNT -communizing:KMNS:KMNS -commutating:KMTT:KMTT -commutation:KMTX:KMTX -commutative:KMTT:KMTT -commutators:KMTT:KMTT -compactions:KMPK:KMPK -compactness:KMPK:KMPK -comparative:KMPR:KMPR -comparators:KMPR:KMPR -comparisons:KMPR:KMPR -compartment:KMPR:KMPR -compassable:KMPS:KMPS -compatibles:KMPT:KMPT -compatriots:KMPT:KMPT -compellable:KMPL:KMPL -compellably:KMPL:KMPL -compendious:KMPN:KMPN -compendiums:KMPN:KMPN -compensable:KMPN:KMPN -compensated:KMPN:KMPN -compensates:KMPN:KMPN -compensator:KMPN:KMPN -competently:KMPT:KMPT -competition:KMPT:KMPT -competitive:KMPT:KMPT -competitors:KMPT:KMPT -compilation:KMPL:KMPL -complacence:KMPL:KMPL -complacency:KMPL:KMPL -complainant:KMPL:KMPL -complainers:KMPL:KMPL -complaining:KMPL:KMPL -complaisant:KMPL:KMPL -complements:KMPL:KMPL -completions:KMPL:KMPL -complexions:KMPL:KMPL -complexness:KMPL:KMPL -compliances:KMPL:KMPL -compliantly:KMPL:KMPL -complicated:KMPL:KMPL -complicates:KMPL:KMPL -complicator:KMPL:KMPL -compliments:KMPL:KMPL -comportment:KMPR:KMPR -compositely:KMPS:KMPS -composition:KMPS:KMPS -compositors:KMPS:KMPS -compounders:KMPN:KMPN -compounding:KMPN:KMPN -comprehends:KMPR:KMPR -compressing:KMPR:KMPR -compression:KMPR:KMPR -compressive:KMPR:KMPR -compressors:KMPR:KMPR -compressure:KMPR:KMPR -comprisable:KMPR:KMPR -compromised:KMPR:KMPR -compromiser:KMPR:KMPR -compromises:KMPR:KMPR -comptroller:KMPT:KMPT -compulsions:KMPL:KMPL -compulsives:KMPL:KMPL -compunction:KMPN:KMPN -compurgator:KMPR:KMPR -computation:KMPT:KMPT -computative:KMPT:KMPT -computerize:KMPT:KMPT -comradeship:KMRT:KMRT -conaturally:KNTR:KNTR -concatenate:KNKT:KNKT -concaveness:KNKF:KNKF -concavities:KNKF:KNKF -concealable:KNSL:KNSL -concealment:KNSL:KNSL -conceitedly:KNST:KNST -conceivable:KNSF:KNSF -conceivably:KNSF:KNSF -concentrate:KNSN:KNSN -concentring:KNSN:KNSN -conceptacle:KNSP:KNSP -conceptions:KNSP:KNSP -conceptuses:KNSP:KNSP -concernedly:KNSR:KNSR -concernment:KNSR:KNSR -concertedly:KNSR:KNSR -concertgoer:KNSR:KNSR -concertinas:KNSR:KNSR -concertized:KNSR:KNSR -concertizes:KNSR:KNSR -concessione:KNSS:KNSS -concessions:KNSS:KNSS -conciliable:KNSL:KNSL -conciliarly:KNSL:KNSL -conciliated:KNSL:KNSL -conciliates:KNSL:KNSL -conciliator:KNSL:KNSL -conciseness:KNSS:KNSS -conclavists:KNKL:KNKL -concludendi:KNKL:KNKL -conclusions:KNKL:KNKL -concoctions:KNKK:KNKK -concomitant:KNKM:KNKM -concordance:KNKR:KNKR -concrescent:KNKR:KNKR -concretions:KNKR:KNKR -concretises:KNKR:KNKR -concretized:KNKR:KNKR -concretizes:KNKR:KNKR -concubinage:KNKP:KNKP -concubinary:KNKP:KNKP -concurrence:KNKR:KNKR -concurrency:KNKR:KNKR -concussions:KNKS:KNKS -condemnable:KNTM:KNTM -condemnably:KNTM:KNTM -condensable:KNTN:KNTN -condensates:KNTN:KNTN -condensible:KNTN:KNTN -condescends:KNTS:KNTS -conditional:KNTX:KNTX -conditioned:KNTX:KNTX -conditioner:KNTX:KNTX -condolatory:KNTL:KNTL -condolences:KNTL:KNTL -condolingly:KNTL:KNTL -condominium:KNTM:KNTM -condonation:KNTN:KNTN -conducingly:KNTS:KNTS -conductance:KNTK:KNTK -conductible:KNTK:KNTK -conductress:KNTK:KNTK -condurangos:KNTR:KNTR -condylomata:KNTL:KNTL -condylotomy:KNTL:KNTL -confabulate:KNFP:KNFP -confections:KNFK:KNFK -confederacy:KNFT:KNFT -confederate:KNFT:KNFT -conferences:KNFR:KNFR -conferments:KNFR:KNFR -conferrable:KNFR:KNFR -confessable:KNFS:KNFS -confessants:KNFS:KNFS -confessedly:KNFS:KNFS -confessions:KNFS:KNFS -confidantes:KNFT:KNFT -confidences:KNFT:KNFT -confidently:KNFT:KNFT -confidingly:KNFT:KNFT -configuring:KNFK:KNFK -confineable:KNFN:KNFN -confineless:KNFN:KNFN -confinement:KNFN:KNFN -confirmable:KNFR:KNFR -confirmands:KNFR:KNFR -confirmedly:KNFR:KNFR -confiscable:KNFS:KNFS -confiscated:KNFS:KNFS -confiscates:KNFS:KNFS -confiscator:KNFS:KNFS -conflagrant:KNFL:KNFL -conflations:KNFL:KNFL -conflicting:KNFL:KNFL -confliction:KNFL:KNFL -conflictive:KNFL:KNFL -conflictory:KNFL:KNFL -confluences:KNFL:KNFL -conformable:KNFR:KNFR -conformably:KNFR:KNFR -conformance:KNFR:KNFR -conformists:KNFR:KNFR -confounders:KNFN:KNFN -confounding:KNFN:KNFN -confronters:KNFR:KNFR -confronting:KNFR:KNFR -confusingly:KNFS:KNFS -confusional:KNFS:KNFX -confusiones:KNFS:KNFX -confutation:KNFT:KNFT -confutative:KNFT:KNFT -congealable:KNJL:KNKL -congealment:KNJL:KNKL -congelation:KNJL:KNKL -congenerous:KNJN:KNKN -congenially:KNJN:KNKN -congestible:KNJS:KNKS -congestions:KNJS:KNKS -conglutinin:KNKL:KNKL -congregants:KNKR:KNKR -congregated:KNKR:KNKR -congregates:KNKR:KNKR -congregator:KNKR:KNKR -congressman:KNKR:KNKR -congressmen:KNKR:KNKR -congruences:KNKR:KNKR -congruently:KNKR:KNKR -congruities:KNKR:KNKR -congruously:KNKR:KNKR -coniologies:KNLJ:KNLK -conjectural:KNJK:KNJK -conjectured:KNJK:KNJK -conjecturer:KNJK:KNJK -conjectures:KNJK:KNJK -conjugality:KNJK:KNJK -conjugately:KNJK:KNJK -conjugating:KNJK:KNJK -conjugation:KNJK:KNJK -conjugative:KNJK:KNJK -conjugators:KNJK:KNJK -conjunction:KNJN:KNJN -conjunctiva:KNJN:KNJN -conjunctive:KNJN:KNJN -conjuncture:KNJN:KNJN -conjuration:KNJR:KNJR -connateness:KNTN:KNTN -connectable:KNKT:KNKT -connectedly:KNKT:KNKT -connectible:KNKT:KNKT -connecticut:KNKT:KNKT -connections:KNKX:KNKX -connectives:KNKT:KNKT -conniptions:KNPX:KNPX -conniventes:KNFN:KNFN -connivently:KNFN:KNFN -conniveries:KNFR:KNFR -connivingly:KNFN:KNFN -connoisseur:KNSR:KNSR -connotation:KNTX:KNTX -connotative:KNTT:KNTT -connotively:KNTF:KNTF -connubially:KNPL:KNPL -conquerable:KNKR:KNKR -consanguine:KNSN:KNSN -consciences:KNSN:KNSN -consciously:KNSS:KNSS -conscribing:KNSK:KNSK -conscripted:KNSK:KNSK -consecrated:KNSK:KNSK -consecrates:KNSK:KNSK -consecrator:KNSK:KNSK -consecution:KNSK:KNSK -consecutive:KNSK:KNSK -consensuses:KNSN:KNSN -consentient:KNSN:KNSN -consequence:KNSK:KNSK -consequents:KNSK:KNSK -conservable:KNSR:KNSR -conservancy:KNSR:KNSR -conservator:KNSR:KNSR -considerate:KNST:KNST -considerers:KNST:KNST -considering:KNST:KNST -consignable:KNSN:KNSK -consignment:KNSN:KNSK -consistence:KNSS:KNSS -consistency:KNSS:KNSS -consolation:KNSL:KNSL -consolatory:KNSL:KNSL -consolidate:KNSL:KNSL -consolingly:KNSL:KNSL -consonances:KNSN:KNSN -consonantal:KNSN:KNSN -consonantly:KNSN:KNSN -consortable:KNSR:KNSR -consortiums:KNSR:KNSR -consortship:KNSR:KNSR -conspecific:KNSP:KNSP -conspicuous:KNSP:KNSP -conspirator:KNSP:KNSP -constellate:KNST:KNST -consternate:KNST:KNST -constipated:KNST:KNST -constipates:KNST:KNST -constituent:KNST:KNST -constituted:KNST:KNST -constituter:KNST:KNST -constitutes:KNST:KNST -constitutor:KNST:KNST -constrained:KNST:KNST -constrainer:KNST:KNST -constraints:KNST:KNST -constricted:KNST:KNST -constrictor:KNST:KNST -constringed:KNST:KNST -construable:KNST:KNST -constructed:KNST:KNST -constructer:KNST:KNST -constructor:KNST:KNST -consulating:KNSL:KNSL -consulships:KNSL:KNSL -consultable:KNSL:KNSL -consultancy:KNSL:KNSL -consultants:KNSL:KNSL -consumerism:KNSM:KNSM -consumerist:KNSM:KNSM -consumingly:KNSM:KNSM -consummated:KNSM:KNSM -consummates:KNSM:KNSM -consummator:KNSM:KNSM -consumption:KNSM:KNSM -consumptive:KNSM:KNSM -contactable:KNTK:KNTK -contagiosum:KNTJ:KNTK -containable:KNTN:KNTN -containment:KNTN:KNTN -contaminant:KNTM:KNTM -contaminate:KNTM:KNTM -contangoing:KNTN:KNTN -contemnible:KNTM:KNTM -contemnibly:KNTM:KNTM -contemplate:KNTM:KNTM -contenderes:KNTN:KNTN -contentedly:KNTN:KNTN -contentions:KNTN:KNTN -contentioso:KNTN:KNTN -contentious:KNTN:KNTN -contentment:KNTN:KNTN -conterminal:KNTR:KNTR -contestable:KNTS:KNTS -contestably:KNTS:KNTS -contestants:KNTS:KNTS -contestatio:KNTS:KNTS -contextures:KNTK:KNTK -continental:KNTN:KNTN -continentia:KNTN:KNTN -continently:KNTN:KNTN -contingence:KNTN:KNTN -contingency:KNTN:KNTN -contingents:KNTN:KNTN -continuable:KNTN:KNTN -continually:KNTN:KNTN -continuance:KNTN:KNTN -continuando:KNTN:KNTN -continuator:KNTN:KNTN -contortedly:KNTR:KNTR -contortions:KNTR:KNTR -contractile:KNTR:KNTR -contracting:KNTR:KNTR -contraction:KNTR:KNTR -contractive:KNTR:KNTR -contractors:KNTR:KNTR -contractual:KNTR:KNTR -contracture:KNTR:KNTR -contradicts:KNTR:KNTR -contraflows:KNTR:KNTR -contraption:KNTR:KNTR -contrariety:KNTR:KNTR -contrasters:KNTR:KNTR -contrasting:KNTR:KNTR -contrastive:KNTR:KNTR -contravened:KNTR:KNTR -contravener:KNTR:KNTR -contravenes:KNTR:KNTR -contretemps:KNTR:KNTR -contributed:KNTR:KNTR -contributes:KNTR:KNTR -contributor:KNTR:KNTR -contrivable:KNTR:KNTR -contrivance:KNTR:KNTR -contrivedly:KNTR:KNTR -controllers:KNTR:KNTR -controlling:KNTR:KNTR -controversy:KNTR:KNTR -controverts:KNTR:KNTR -contumacies:KNTM:KNTM -contumelies:KNTM:KNTM -contusioned:KNTS:KNTX -conurbation:KNRP:KNRP -convalesced:KNFL:KNFL -convalesces:KNFL:KNFL -convenances:KNFN:KNFN -convenience:KNFN:KNFN -conventicle:KNFN:KNFN -conventione:KNFN:KNFN -conventions:KNFN:KNFN -convergence:KNFR:KNFR -convergency:KNFR:KNFR -conversable:KNFR:KNFR -conversably:KNFR:KNFR -conversance:KNFR:KNFR -conversancy:KNFR:KNFR -conversions:KNFR:KNFR -convertible:KNFR:KNFR -convertibly:KNFR:KNFR -convexities:KNFK:KNFK -conveyancer:KNFN:KNFN -conveyances:KNFN:KNFN -convictable:KNFK:KNFK -convictible:KNFK:KNFK -convictions:KNFK:KNFK -convincible:KNFN:KNFN -convivially:KNFF:KNFF -convocation:KNFK:KNFK -convocative:KNFK:KNFK -convocators:KNFK:KNFK -convolutely:KNFL:KNFL -convoluting:KNFL:KNFL -convolution:KNFL:KNFL -convolvulin:KNFL:KNFL -convolvulus:KNFL:KNFL -convulsants:KNFL:KNFL -convulsions:KNFL:KNFL -cooperating:KPRT:KPRT -cooperation:KPRX:KPRX -cooperative:KPRT:KPRT -cooperators:KPRT:KPRT -coordinated:KRTN:KRTN -coordinates:KRTN:KRTN -coordinator:KRTN:KRTN -coossifying:KSFN:KSFN -coparcenary:KPRS:KPRS -coparceners:KPRS:KPRS -copiousness:KPSN:KPSN -coplanarity:KPLN:KPLN -copolymeric:KPLM:KPLM -copperheads:KPRT:KPRT -copperplate:KPRP:KPRP -coppersmith:KPRS:KPRS -coprolagnia:KPRL:KPRL -coprologies:KPRL:KPRL -coprophagia:KPRF:KPRF -coprophagic:KPRF:KPRF -coprophilia:KPRF:KPRF -coprophilic:KPRF:KPRF -coprophobia:KPRF:KPRF -coprostanol:KPRS:KPRS -coprosterol:KPRS:KPRS -copulations:KPLX:KPLX -copyholders:KPHL:KPHL -copyreaders:KPRT:KPRT -copyrighted:KPRT:KPRT -copyrighter:KPRT:KPRT -copywriters:KPRT:KPRT -copywriting:KPRT:KPRT -cordialness:KRTL:KRTL -cordilleran:KRTL:KRTL -cordilleras:KRTL:KRTL -cordopexies:KRTP:KRTP -cordotomies:KRTT:KRTT -cordwainers:KRTN:KRTN -cordwainery:KRTN:KRTN -corepressor:KRPR:KRPR -corestenoma:KRST:KRST -corinthians:KRN0:KRNT -corkscrewed:KRKS:KRKS -cornerstone:KRNR:KRNR -cornflowers:KRNF:KRNF -corniculate:KRNK:KRNK -cornucopian:KRNK:KRNK -cornucopias:KRNK:KRNK -corollaries:KRLR:KRLR -coronagraph:KRNK:KRNK -coronations:KRNX:KRNX -coronership:KRNR:KRNR -corporacies:KRPR:KRPR -corporality:KRPR:KRPR -corporately:KRPR:KRPR -corporation:KRPR:KRPR -corporatism:KRPR:KRPR -corporatist:KRPR:KRPR -corporative:KRPR:KRPR -corporators:KRPR:KRPR -corporeally:KRPR:KRPR -corpulences:KRPL:KRPL -corpulently:KRPL:KRPL -corpuscular:KRPS:KRPS -corpuscules:KRPS:KRPS -correctable:KRKT:KRKT -correctible:KRKT:KRKT -corrections:KRKX:KRKX -correctives:KRKT:KRKT -correctness:KRKT:KRKT -correlating:KRLT:KRLT -correlation:KRLX:KRLX -correlative:KRLT:KRLT -corresponds:KRSP:KRSP -corrigendum:KRJN:KRKN -corroborate:KRPR:KRPR -corroborees:KRPR:KRPR -corrosively:KRSF:KRSF -corrugating:KRKT:KRKT -corrugation:KRKX:KRKX -corrugators:KRKT:KRKT -corruptible:KRPT:KRPT -corruptibly:KRPT:KRPT -corruptions:KRPX:KRPX -corruptness:KRPT:KRPT -cortication:KRTK:KRTK -coruscating:KRSK:KRSK -coruscation:KRSK:KRSK -coruscative:KRSK:KRSK -cosignatory:KSNT:KSKN -cosmetician:KSMT:KSMT -cosmetology:KSMT:KSMT -cosmogonies:KSMK:KSMK -cosmogonist:KSMK:KSMK -cosmography:KSMK:KSMK -cosmologist:KSML:KSML -cosmopolite:KSMP:KSMP -cosponsored:KSPN:KSPN -costiveness:KSTF:KSTF -costotomies:KSTT:KSTT -cotenancies:KTNN:KTNN -coterminous:KTRM:KTRM -cotoneaster:KTNS:KTNS -cottonmouth:KTNM:KTNM -cottonseeds:KTNS:KTNS -cottontails:KTNT:KTNT -cottonweeds:KTNT:KTNT -cottonwoods:KTNT:KTNT -cotyledonal:KTLT:KTLT -coulometric:KLMT:KLMT -councillors:KNSL:KNSL -counselable:KNSL:KNSL -counselings:KNSL:KNSL -countenance:KNTN:KNTN -counteracts:KNTR:KNTR -counterblow:KNTR:KNTR -counterfeit:KNTR:KNTR -counterflow:KNTR:KNTR -counterfoil:KNTR:KNTR -counterfort:KNTR:KNTR -counterglow:KNTR:KNTR -countermand:KNTR:KNTR -countermine:KNTR:KNTR -countermove:KNTR:KNTR -counteropen:KNTR:KNTR -counterpane:KNTR:KNTR -counterpart:KNTR:KNTR -counterplea:KNTR:KNTR -counterplot:KNTR:KNTR -countersank:KNTR:KNTR -countersign:KNTR:KNTR -countersink:KNTR:KNTR -countersunk:KNTR:KNTR -countertype:KNTR:KNTR -countervail:KNTR:KNTR -counterword:KNTR:KNTR -counterwork:KNTR:KNTR -countrified:KNTR:KNTR -countryside:KNTR:KNTR -countrywide:KNTR:KNTR -courteously:KRTS:KRTS -courthouses:KR0S:KRTS -courtliness:KRTL:KRTL -couturieres:KTRR:KTRR -covalencies:KFLN:KFLN -covariances:KFRN:KFRN -covariation:KFRX:KFRX -covenantees:KFNN:KFNN -covenanters:KFNN:KFNN -covenanting:KFNN:KFNN -covenantors:KFNN:KFNN -cowcatchers:KKXR:KKXR -cowpunchers:KPNX:KPNK -coxofemoral:KKSF:KKSF -crabbedness:KRPT:KRPT -crackerjack:KRKR:KRKR -cradlesongs:KRTL:KRTL -craftsmanly:KRFT:KRFT -craftswoman:KRFT:KRFT -craftswomen:KRFT:KRFT -cranberries:KRNP:KRNP -cranesbills:KRNS:KRNS -craniectomy:KRNK:KRNK -craniograph:KRNK:KRNK -craniometry:KRNM:KRNM -craniopagus:KRNP:KRNP -craniopathy:KRNP:KRNP -craniophore:KRNF:KRNF -cranioscopy:KRNS:KRNS -craniotabes:KRNT:KRNT -crankshafts:KRNK:KRNK -crappieness:KRPN:KRPN -crapshooter:KRPX:KRPX -crapulently:KRPL:KRPL -crapulously:KRPL:KRPL -crashworthy:KRXR:KRXR -creatinuria:KRTN:KRTN -creationism:KRXN:KRXN -creationist:KRXN:KRXN -creatorship:KRTR:KRTR -creatresses:KRTR:KRTR -credentials:KRTN:KRTN -credibility:KRTP:KRTP -credulously:KRTL:KRTL -cremasteric:KRMS:KRMS -crematories:KRMT:KRMT -crematorium:KRMT:KRMT -crenelating:KRNL:KRNL -crenelation:KRNL:KRNL -crenulation:KRNL:KRNL -creophagies:KRFJ:KRFK -creophagous:KRFK:KRFK -crepitating:KRPT:KRPT -crepitation:KRPT:KRPT -crepuscular:KRPS:KRPS -crescendoed:KRSN:KRSN -crescendoes:KRSN:KRSN -crescograph:KRSK:KRSK -crestfallen:KRST:KRST -cretinizing:KRTN:KRTN -criminalism:KRMN:KRMN -criminalist:KRMN:KRMN -criminality:KRMN:KRMN -criminaloid:KRMN:KRMN -criminating:KRMN:KRMN -crimination:KRMN:KRMN -criminative:KRMN:KRMN -criminatory:KRMN:KRMN -criminology:KRMN:KRMN -crimsonness:KRMS:KRMS -crinkliness:KRNK:KRNK -cripplingly:KRPL:KRPL -crispations:KRSP:KRSP -criticality:KRTK:KRTK -criticizers:KRTS:KRTS -criticizing:KRTS:KRTS -crocodilian:KRKT:KRKT -cromwellian:KRML:KRML -crookedness:KRKT:KRKT -crossbowman:KRSP:KRSP -crossbowmen:KRSP:KRSP -crossbreeds:KRSP:KRSP -crosschecks:KRSX:KRSK -crosspieces:KRSP:KRSP -crossruffed:KRSR:KRSR -crowdedness:KRTT:KRTT -crownpieces:KRNP:KRNP -crucialness:KRSL:KRXL -cruciferous:KRSF:KRSF -crucifixion:KRSF:KRSF -cruciformly:KRSF:KRSF -cruditieses:KRTT:KRTT -crumbliness:KRMP:KRMP -crunchiness:KRNX:KRNK -crustaceans:KRST:KRST -crustaceous:KRST:KRST -cryobiology:KRPL:KRPL -cryogenical:KRJN:KRKN -cryohydrate:KRHT:KRHT -cryoscopies:KRSK:KRSK -cryosurgeon:KRSR:KRSR -cryosurgery:KRSR:KRSR -cryotherapy:KR0R:KRTR -cryptically:KRPT:KRPT -cryptococci:KRPT:KRPT -cryptogamia:KRPT:KRPT -cryptogamic:KRPT:KRPT -cryptogenic:KRPT:KRPT -cryptograms:KRPT:KRPT -cryptograph:KRPT:KRPT -cryptomeria:KRPT:KRPT -cryptophyte:KRPT:KRPT -cryptorchid:KRPT:KRPT -cryptorchis:KRPT:KRPT -cryptozoite:KRPT:KRPT -crystalized:KRST:KRST -crystalizes:KRST:KRST -crystalline:KRST:KRST -crystallite:KRST:KRST -crystallize:KRST:KRST -crystalloid:KRST:KRST -cubicalness:KPKL:KPKL -culdoscopic:KLTS:KLTS -culmiferous:KLMF:KLMF -culminating:KLMN:KLMN -culmination:KLMN:KLMN -culpability:KLPP:KLPP -cultivating:KLTF:KLTF -cultivation:KLTF:KLTF -cultivators:KLTF:KLTF -cultureless:KLTR:KLTR -cummerbunds:KMRP:KMRP -cumulations:KMLX:KMLX -cuneocuboid:KNKP:KNKP -cunnilingus:KNLN:KNLN -cunningness:KNNN:KNNK -cupronickel:KPRN:KPRN -curableness:KRPL:KRPL -curatorship:KRTR:KRTR -curettement:KRTM:KRTM -curiosities:KRST:KRST -curiousness:KRSN:KRSN -curmudgeons:KRMJ:KRMJ -currentness:KRNT:KRNT -curriculums:KRKL:KRKL -currishness:KRXN:KRXN -currycombed:KRKM:KRKM -cursiveness:KRSF:KRSF -cursoriness:KRSR:KRSR -curtailment:KRTL:KRTL -curvilinear:KRFL:KRFL -cuspidation:KSPT:KSPT -customarily:KSTM:KSTM -customhouse:KSTM:KSTM -customizers:KSTM:KSTM -customizing:KSTM:KSTM -cutaneously:KTNS:KTNS -cuterebrine:KTRP:KTRP -cuttlebones:KTLP:KTLP -cyanidation:SNTX:SNTX -cyanoacetic:SNST:SNST -cyanohydrin:SNHT:SNHT -cyanophilic:SNFL:SNFL -cybernating:SPRN:SPRN -cybernation:SPRN:SPRN -cybernetics:SPRN:SPRN -cyclazocine:SKLS:SKLS -cyclicotomy:SKLK:SKLK -cyclographs:SKLK:SKLK -cycloidally:SKLT:SKLT -cyclopedias:SKLP:SKLP -cyclophoria:SKLF:SKLF -cycloplegia:SKLP:SKLP -cycloplegic:SKLP:SKLP -cycloserine:SKLS:SKLS -cyclosporin:SKLS:SKLS -cyclostyled:SKLS:SKLS -cyclostyles:SKLS:SKLS -cyclothymia:SKL0:SKLT -cyclothymic:SKL0:SKLT -cyclotomies:SKLT:SKLT -cylindrical:SLNT:SLNT -cylindromas:SLNT:SLNT -cylindruria:SLNT:SLNT -cymographic:SMKR:SMKR -cynanthropy:SNN0:SNNT -cynicalness:SNKL:SNKL -cynocephali:SNSF:SNSF -cyproterone:SPRT:SPRT -cystadenoma:SSTT:SSTT -cystectasia:SSTK:SSTK -cysticercus:SSTS:SSTS -cystigerous:SSTJ:SSTK -cystinlitol:SSTN:SSTN -cystography:SSTK:SSTK -cystolithic:SSTL:SSTL -cystopexies:SSTP:SSTP -cystoplasty:SSTP:SSTP -cystoscopes:SSTS:SSTS -cystoscopic:SSTS:SSTS -cystotomies:SSTT:SSTT -cytochromes:STKR:STKR -cytogeneses:STJN:STKN -cytogenesis:STJN:STKN -cytogenetic:STJN:STKN -cytokineses:STKN:STKN -cytokinesis:STKN:STKN -cytokinetic:STKN:STKN -cytological:STLJ:STLK -cytologists:STLJ:STLK -cytomegalic:STMK:STMK -cytophagies:STFJ:STFK -cytophagous:STFK:STFK -cytoplasmic:STPL:STPL -cytoplastic:STPL:STPL -cytotropism:STTR:STTR -dacryagogue:TKRK:TKRK -dacryorrhea:TKRR:TKRR -dactylogram:TKTL:TKTL -dactylology:TKTL:TKTL -daggerboard:TKRP:TKRP -daisycutter:TSKT:TSKT -daisywheels:TSLS:TSLS -damascening:TMSN:TMSN -damnability:TMNP:TMNP -dampcourses:TMPK:TMPK -damselflies:TMSL:TMSL -dangerously:TNJR:TNKR -daredevilry:TRTF:TRTF -darwinistic:TRNS:TRNS -dasyproctid:TSPR:TSPR -dataperfect:TTPR:TTPR -dauerschlaf:TRXL:TRXL -dauntlessly:TNTL:TNTL -daydreamers:TTRM:TTRM -daydreaming:TTRM:TTRM -deaccession:TXSN:TXSN -deacidified:TSTF:TSTF -deacidifier:TSTF:TSTF -deacidifies:TSTF:TSTF -deaconesses:TKNS:TKNS -deaconships:TKNX:TKNX -deactivated:TKTF:TKTF -deactivates:TKTF:TKTF -deactivator:TKTF:TKTF -deadheading:TTTN:TTTN -deadlocking:TTLK:TTLK -deafeningly:TFNN:TFNN -dealerships:TLRX:TLRX -deallocated:TLKT:TLKT -deaminating:TMNT:TMNT -deamination:TMNX:TMNX -deathlessly:T0LS:TTLS -deathliness:T0LN:TTLN -debarkation:TPRK:TPRK -debasedness:TPST:TPST -debasements:TPSM:TPSM -debauchedly:TPXT:TPKT -debauchment:TPKM:TPKM -debilitated:TPLT:TPLT -debilitates:TPLT:TPLT -debouchment:TPKM:TPKM -debouchures:TPXR:TPKR -debridement:TPRT:TPRT -debriefings:TPRF:TPRF -decagonally:TKKN:TKKN -decahedrons:TKHT:TKHT -decalcified:TKLS:TKLS -decalcifies:TKLS:TKLS -decampments:TKMP:TKMP -decanically:TKNK:TKNK -decapitated:TKPT:TKPT -decapitates:TKPT:TKPT -decapitator:TKPT:TKPT -decapsulate:TKPS:TKPS -decarbonate:TKRP:TKRP -decarbonize:TKRP:TKRP -decarburize:TKRP:TKRP -decartelize:TKRT:TKRT -decathletes:TK0L:TKTL -decayedness:TKTN:TKTN -deceitfully:TSTF:TSTF -deceivingly:TSFN:TSFN -decelerated:TSLR:TSLR -decelerates:TSLR:TSLR -decelerator:TSLR:TSLR -decemvirate:TSMF:TSMF -decennaries:TSNR:TSNR -decennially:TSNL:TSNL -deceptively:TSPT:TSPT -decerebrate:TSRP:TSRP -decertified:TSRT:TSRT -decertifies:TSRT:TSRT -deciduation:TSTX:TSTX -deciduomata:TSTM:TSTM -deciduously:TSTS:TSTS -decillionth:TSLN:TSLN -decimalized:TSML:TSML -decimalizes:TSML:TSML -decipherers:TSFR:TSFR -deciphering:TSFR:TSFR -declamation:TKLM:TKLM -declamatory:TKLM:TKLM -declaration:TKLR:TKLR -declarative:TKLR:TKLR -declaratory:TKLR:TKLR -declensions:TKLN:TKLN -declination:TKLN:TKLN -declinatory:TKLN:TKLN -declinature:TKLN:TKLN -declivities:TKLF:TKLF -declivitous:TKLF:TKLF -declutching:TKLX:TKLX -decollating:TKLT:TKLT -decollation:TKLX:TKLX -decollators:TKLT:TKLT -decolletage:TKLT:TKLT -decolletees:TKLT:TKLT -decolonized:TKLN:TKLN -decolonizes:TKLN:TKLN -decolorants:TKLR:TKLR -decolorises:TKLR:TKLR -decolorized:TKLR:TKLR -decolorizes:TKLR:TKLR -decolourise:TKLR:TKLR -decompiling:TKMP:TKMP -decomposers:TKMP:TKMP -decomposing:TKMP:TKMP -decondition:TKNT:TKNT -decongested:TKNJ:TKNK -decorations:TKRX:TKRX -decorticate:TKRT:TKRT -decremented:TKRM:TKRM -decrepitate:TKRP:TKRP -decrepitude:TKRP:TKRP -decrescendo:TKRS:TKRS -decretalist:TKRT:TKRT -decretorial:TKRT:TKRT -decryptions:TKRP:TKRP -decstations:TKST:TKST -decumbently:TKMP:TKMP -decurrently:TKRN:TKRN -decussately:TKST:TKST -decussation:TKSX:TKSX -dedentition:TTNT:TTNT -dedications:TTKX:TTKX -deductables:TTKT:TTKT -deductibles:TTKT:TTKT -deductively:TTKT:TTKT -deemphasize:TMFS:TMFS -deepfreezes:TPFR:TPFR -deerstalker:TRST:TRST -deescalated:TSKL:TSKL -deescalates:TSKL:TSKL -defacements:TFSM:TFSM -defaecating:TFKT:TFKT -defaecation:TFKX:TFKX -defalcating:TFLK:TFLK -defalcation:TFLK:TFLK -defalcators:TFLK:TFLK -defamations:TFMX:TFMX -defectively:TFKT:TFKT -defeminized:TFMN:TFMN -defeminizes:TFMN:TFMN -defenceless:TFNS:TFNS -defenseless:TFNS:TFNS -defensively:TFNS:TFNS -deferential:TFRN:TFRN -defibrinate:TFPR:TFPR -deficiently:TFSN:TFXN -defilements:TFLM:TFLM -definiendum:TFNN:TFNN -definientia:TFNN:TFNN -definitions:TFNX:TFNX -deflagrated:TFLK:TFLK -deflagrates:TFLK:TFLK -deflagrator:TFLK:TFLK -deflectable:TFLK:TFLK -deflections:TFLK:TFLK -defloration:TFLR:TFLR -deflowering:TFLR:TFLR -defoliating:TFLT:TFLT -defoliation:TFLX:TFLX -defoliators:TFLT:TFLT -deforcement:TFRS:TFRS -deforesters:TFRS:TFRS -deforesting:TFRS:TFRS -deformation:TFRM:TFRM -deformative:TFRM:TFRM -deformities:TFRM:TFRM -defraudment:TFRT:TFRT -defrayments:TFRM:TFRM -defunctness:TFNK:TFNK -degenerated:TJNR:TKNR -degenerates:TJNR:TKNR -deglutinate:TKLT:TKLT -deglutition:TKLT:TKLT -degradation:TKRT:TKRT -degradingly:TKRT:TKRT -degressions:TKRS:TKRS -degustation:TKST:TKST -dehumanized:THMN:THMN -dehumanizes:THMN:THMN -dehydratase:THTR:THTR -dehydrating:THTR:THTR -dehydration:THTR:THTR -dehydrators:THTR:THTR -dehypnotize:THPN:THPN -deictically:TKTK:TKTK -deification:TFKX:TFKX -deistically:TSTK:TSTK -delactation:TLKT:TLKT -delaminated:TLMN:TLMN -delaminates:TLMN:TLMN -delawareans:TLRN:TLRN -delectation:TLKT:TLKT -delegalized:TLKL:TLKL -delegalizes:TLKL:TLKL -delegations:TLKX:TLKX -deleterious:TLTR:TLTR -deliberandi:TLPR:TLPR -deliberated:TLPR:TLPR -deliberates:TLPR:TLPR -deliberator:TLPR:TLPR -deliciously:TLSS:TLXS -delightedly:TLTT:TLTT -delightsome:TLTS:TLTS -delimitated:TLMT:TLMT -delimitates:TLMT:TLMT -delineating:TLNT:TLNT -delineation:TLNX:TLNX -delineative:TLNT:TLNT -delineators:TLNT:TLNT -delinquency:TLNK:TLNK -delinquents:TLNK:TLNK -deliquesced:TLKS:TLKS -deliquesces:TLKS:TLKS -deliriously:TLRS:TLRS -delitescent:TLTS:TLTS -deliverable:TLFR:TLFR -deliverance:TLFR:TLFR -delocalises:TLKL:TLKL -delocalized:TLKL:TLKL -delocalizes:TLKL:TLKL -delomorphic:TLMR:TLMR -delphinians:TLFN:TLFN -delphiniums:TLFN:TLFN -delusionary:TLSN:TLXN -delusionist:TLSN:TLXN -demagnetize:TMNT:TMKN -demagnified:TMNF:TMKN -demagnifies:TMNF:TMKN -demagogical:TMKJ:TMKK -demagoguery:TMKK:TMKK -demagoguism:TMKK:TMKK -demandingly:TMNT:TMNT -demarcating:TMRK:TMRK -demarcation:TMRK:TMRK -demarcators:TMRK:TMRK -demarcature:TMRK:TMRK -demarkation:TMRK:TMRK -demibastion:TMPS:TMPS -demigoddess:TMKT:TMKT -demimondain:TMMN:TMMN -demiurgeous:TMRJ:TMRK -demiurgical:TMRJ:TMRK -demivierges:TMFR:TMFR -demobilized:TMPL:TMPL -demobilizes:TMPL:TMPL -democracies:TMKR:TMKR -democratism:TMKR:TMKR -democratize:TMKR:TMKR -demodulated:TMTL:TMTL -demodulates:TMTL:TMTL -demodulator:TMTL:TMTL -demographer:TMKR:TMKR -demographic:TMKR:TMKR -demoiselles:TMSL:TMSL -demolishers:TMLX:TMLX -demolishing:TMLX:TMLX -demolitions:TMLX:TMLX -demonetized:TMNT:TMNT -demonetizes:TMNT:TMNT -demonically:TMNK:TMNK -demonolater:TMNL:TMNL -demonolatry:TMNL:TMNL -demonstrate:TMNS:TMNS -demoralized:TMRL:TMRL -demoralizer:TMRL:TMRL -demoralizes:TMRL:TMRL -demountable:TMNT:TMNT -demulsified:TMLS:TMLS -demulsifier:TMLS:TMLS -demulsifies:TMLS:TMLS -demyelinate:TMLN:TMLN -demystified:TMST:TMST -demystifies:TMST:TMST -denarcotize:TNRK:TNRK -denaturants:TNTR:TNTR -denazifying:TNSF:TNSF -dendritical:TNTR:TNTR -dendrologic:TNTR:TNTR -dendrophobe:TNTR:TNTR -denegations:TNKX:TNKX -denervating:TNRF:TNRF -denigrating:TNKR:TNKR -denigration:TNKR:TNKR -denigrators:TNKR:TNKR -denigratory:TNKR:TNKR -denitrating:TNTR:TNTR -denitration:TNTR:TNTR -denitrified:TNTR:TNTR -denitrifies:TNTR:TNTR -denominable:TNMN:TNMN -denominated:TNMN:TNMN -denominates:TNMN:TNMN -denominator:TNMN:TNMN -denotations:TNTX:TNTX -denotements:TNTM:TNTM -denouements:TNMN:TNMN -densimetric:TNSM:TNSM -denticulate:TNTK:TNTK -dentifrices:TNTF:TNTF -dentigerous:TNTJ:TNTK -dentilabial:TNTL:TNTL -dentinomata:TNTN:TNTN -dentiparous:TNTP:TNTP -dentistries:TNTS:TNTS -denucleated:TNKL:TNKL -denudations:TNTX:TNTX -denumerable:TNMR:TNMR -denumerably:TNMR:TNMR -denunciated:TNNS:TNNX -denunciates:TNNS:TNNX -denunciator:TNNS:TNNX -deobstruent:TPST:TPST -deodorizers:TTRS:TTRS -deodorizing:TTRS:TTRS -deoxidation:TKST:TKST -deoxidizers:TKST:TKST -deoxidizing:TKST:TKST -deoxycholic:TKSX:TKSK -deoxygenate:TKSJ:TKSK -deoxyribose:TKSR:TKSR -departments:TPRT:TPRT -depasturing:TPST:TPST -dependently:TPNT:TPNT -deploringly:TPLR:TPLR -deployments:TPLM:TPLM -deplumation:TPLM:TPLM -depolarized:TPLR:TPLR -depolarizer:TPLR:TPLR -depolarizes:TPLR:TPLR -depoliticiz:TPLT:TPLT -depopulated:TPPL:TPPL -depopulates:TPPL:TPPL -depopulator:TPPL:TPPL -deportation:TPRT:TPRT -depositions:TPSX:TPSX -depravation:TPRF:TPRF -depravement:TPRF:TPRF -depravities:TPRF:TPRF -deprecating:TPRK:TPRK -deprecation:TPRK:TPRK -deprecative:TPRK:TPRK -deprecators:TPRK:TPRK -deprecatory:TPRK:TPRK -depreciable:TPRS:TPRX -depreciated:TPRS:TPRX -depreciates:TPRS:TPRX -depreciator:TPRS:TPRX -depredating:TPRT:TPRT -depredation:TPRT:TPRT -depredators:TPRT:TPRT -depredatory:TPRT:TPRT -depressants:TPRS:TPRS -depressible:TPRS:TPRS -depressions:TPRS:TPRS -depressives:TPRS:TPRS -deprivation:TPRF:TPRF -deprofundis:TPRF:TPRF -depuratives:TPRT:TPRT -deputations:TPTX:TPTX -deracinated:TRSN:TRSN -deracinates:TRSN:TRSN -deraignment:TRNM:TRKN -derailleurs:TRLR:TRLR -derailments:TRLM:TRLM -derangement:TRNJ:TRNK -derationing:TRXN:TRXN -deregisters:TRJS:TRKS -deregulated:TRKL:TRKL -deregulates:TRKL:TRKL -deregulator:TRKL:TRKL -dereliction:TRLK:TRLK -derestricts:TRST:TRST -derivations:TRFX:TRFX -derivatives:TRFT:TRFT -dermacentor:TRMS:TRMS -dermanyssus:TRMN:TRMN -dermatalgia:TRMT:TRMT -dermatocyst:TRMT:TRMT -dermatogens:TRMT:TRMT -dermatology:TRMT:TRMT -dermatomere:TRMT:TRMT -dermatozoon:TRMT:TRMT -dermography:TRMK:TRMK -dermolipoma:TRML:TRML -dermostoses:TRMS:TRMS -dermostosis:TRMS:TRMS -dermotropic:TRMT:TRMT -derodidymus:TRTT:TRTT -derogations:TRKX:TRKX -desalinated:TSLN:TSLN -desalinates:TSLN:TSLN -desalinized:TSLN:TSLN -desalinizes:TSLN:TSLN -descendable:TSNT:TSNT -descendance:TSNT:TSNT -descendants:TSNT:TSNT -descendence:TSNT:TSNT -descendeurs:TSNT:TSNT -descendible:TSNT:TSNT -deschooling:TSKL:TSKL -descrambled:TSKM:TSKM -descrambler:TSKM:TSKM -descrambles:TSKM:TSKM -describable:TSKP:TSKP -description:TSKP:TSKP -descriptive:TSKP:TSKP -descriptors:TSKP:TSKP -desecraters:TSKR:TSKR -desecrating:TSKR:TSKR -desecration:TSKR:TSKR -desecrators:TSKR:TSKR -desegregate:TSKR:TSKR -deselecting:TSLK:TSLK -deselection:TSLK:TSLK -desensitize:TSNS:TSNS -deservingly:TSRF:TSRF -desexualize:TSKS:TSKS -desiccating:TSKT:TSKT -desiccation:TSKX:TSKX -desiccative:TSKT:TSKT -desiccators:TSKT:TSKT -desiccatory:TSKT:TSKT -desiderated:TSTR:TSTR -desiderates:TSTR:TSTR -desideratum:TSTR:TSTR -designating:TSNT:TSKN -designation:TSNX:TSKN -designative:TSNT:TSKN -designators:TSNT:TSKN -designatory:TSNT:TSKN -designingly:TSNN:TSKN -desinential:TSNN:TSNN -desipramine:TSPR:TSPR -desistement:TSST:TSST -desmocrania:TSMK:TSMK -desmoplasia:TSMP:TSMP -desmotomies:TSMT:TSMT -desolations:TSLX:TSLX -despatchers:TSPX:TSPX -despatching:TSPX:TSPX -desperadoes:TSPR:TSPR -desperately:TSPR:TSPR -desperation:TSPR:TSPR -despisingly:TSPS:TSPS -despoilment:TSPL:TSPL -despondence:TSPN:TSPN -despondency:TSPN:TSPN -despumating:TSPM:TSPM -despumation:TSPM:TSPM -desquamated:TSKM:TSKM -desquamates:TSKM:TSKM -destabilize:TSTP:TSTP -destination:TSTN:TSTN -destitutely:TSTT:TSTT -destitution:TSTT:TSTT -destroyable:TSTR:TSTR -destructing:TSTR:TSTR -destruction:TSTR:TSTR -destructive:TSTR:TSTR -destructors:TSTR:TSTR -desuetorily:TSTR:TSTR -desultorily:TSLT:TSLT -detachments:TTKM:TTKM -detainments:TTNM:TTNM -deteriorate:TTRR:TTRR -determinacy:TTRM:TTRM -determinant:TTRM:TTRM -determinate:TTRM:TTRM -determiners:TTRM:TTRM -determining:TTRM:TTRM -determinism:TTRM:TTRM -determinist:TTRM:TTRM -detestation:TTST:TTST -detonations:TTNX:TTNX -detoxicants:TTKS:TTKS -detoxicated:TTKS:TTKS -detoxicates:TTKS:TTKS -detoxicator:TTKS:TTKS -detoxifiers:TTKS:TTKS -detoxifying:TTKS:TTKS -detractions:TTRK:TTRK -detrainment:TTRN:TTRN -detribalize:TTRP:TTRP -detrimental:TTRM:TTRM -detruncated:TTRN:TTRN -detruncates:TTRN:TTRN -detumescent:TTMS:TTMS -deuteranope:TTRN:TTRN -deuterating:TTRT:TTRT -deuterogamy:TTRK:TTRK -deuteronomy:TTRN:TTRN -deuterotoky:TTRT:TTRT -deutomerite:TTMR:TTMR -deutschland:TTXL:TTXL -devaluating:TFLT:TFLT -devaluation:TFLX:TFLX -devastating:TFST:TFST -devastation:TFST:TFST -devastative:TFST:TFST -devastators:TFST:TFST -developable:TFLP:TFLP -development:TFLP:TFLP -deviational:TFXN:TFXN -devilfishes:TFLF:TFLF -deviousness:TFSN:TFSN -devirginate:TFRJ:TFRK -devirginize:TFRJ:TFRK -devitalized:TFTL:TFTL -devitalizes:TFTL:TFTL -devitrified:TFTR:TFTR -devitrifies:TFTR:TFTR -devocalized:TFKL:TFKL -devocalizes:TFKL:TFKL -devolvement:TFLF:TFLF -devotedness:TFTT:TFTT -dexterously:TKST:TKST -dextrinuria:TKST:TKST -dextrocular:TKST:TKST -dextropedal:TKST:TKST -dextrorsely:TKST:TKST -dextrosuria:TKST:TKST -diabolizing:TPLS:TPLS -diacritical:TKRT:TKRT -diadelphous:TTLF:TTLF -diadermatic:TTRM:TTRM -diagnosable:TNSP:TKNS -diagnostics:TNST:TKNS -diagrammers:TKRM:TKRM -diagramming:TKRM:TKRM -dialectical:TLKT:TLKT -dialogistic:TLJS:TLKS -dialogizing:TLJS:TLKS -dialysation:TLSX:TLSX -diamagnetic:TMNT:TMKN -diametrally:TMTR:TMTR -diametrical:TMTR:TMTR -diamondback:TMNT:TMNT -diaphaneity:TFNT:TFNT -diaphoreses:TFRS:TFRS -diaphoresis:TFRS:TFRS -diaphoretic:TFRT:TFRT -diapophyses:TPFS:TPFS -diapophysis:TPFS:TPFS -diapositive:TPST:TPST -diarthroses:TR0R:TRTR -diarthrosis:TR0R:TRTR -diarticular:TRTK:TRTK -diastematic:TSTM:TSTM -diastrophic:TSTR:TSTR -diathermies:T0RM:TTRM -diatomicity:TTMS:TTMS -diatonicism:TTNS:TTNS -dicephalism:TSFL:TSFL -dicephalous:TSFL:TSFL -dichlorides:TXLR:TKLR -dichogamies:TXKM:TKKM -dichogamous:TXKM:TKKM -dichorionic:TXRN:TKRN -dichotomies:TXTM:TKTM -dichotomist:TXTM:TKTM -dichotomize:TXTM:TKTM -dichotomous:TXTM:TKTM -dichromatic:TXRM:TKRM -dichroscope:TXRS:TKRS -diclidotomy:TKLT:TKLT -dicotyledon:TKTL:TKTL -dictaphones:TKTF:TKTF -dictatorial:TKTT:TKTT -didacticism:TTKT:TTKT -didactylism:TTKT:TTKT -didactylous:TTKT:TTKT -didgeridoos:TJRT:TJRT -dielectrics:TLKT:TLKT -dienoestrol:TNST:TNST -dientamoeba:TNTM:TNTM -differences:TFRN:TFRN -differentia:TFRN:TFRN -differently:TFRN:TFRN -difficultly:TFKL:TFKL -diffidently:TFTN:TFTN -diffracting:TFRK:TFRK -diffraction:TFRK:TFRK -diffractive:TFRK:TFRK -diffuseness:TFSN:TFSN -diffusively:TFSF:TFSF -diffusivity:TFSF:TFSF -digestively:TJST:TKST -digitalized:TJTL:TKTL -digitalizes:TJTL:TKTL -digitigrade:TJTK:TKTK -dignifiedly:TNFT:TKNF -dignitaries:TNTR:TKNT -digressions:TKRS:TKRS -dihybridism:THPR:THPR -diisopropyl:TSPR:TSPR -dijudicated:TJTK:TJTK -dilapidated:TLPT:TLPT -dilapidates:TLPT:TLPT -dilapidator:TLPT:TLPT -dilatations:TLTX:TLTX -dilatometry:TLTM:TLTM -dilettantes:TLTN:TLTN -diluvialism:TLFL:TLFL -dimensional:TMNS:TMNX -dimensioned:TMNS:TMNX -dimercaprol:TMRK:TMRK -dimidiation:TMTX:TMTX -diminishing:TMNX:TMNX -diminuendos:TMNN:TMNN -diminutions:TMNX:TMNX -diminutives:TMNT:TMNT -dimorphisms:TMRF:TMRF -dimwittedly:TMTT:TMTT -dinnertimes:TNRT:TNRT -dinosaurian:TNSR:TNSR -dioctophyma:TKTF:TKTF -dioctophyme:TKTF:TKTF -dioeciously:TSSL:TXSL -diophantine:TFNT:TFNT -dioptometry:TPTM:TPTM -dipeptidase:TPPT:TPPT -diphosphate:TFSF:TFSF -diphtherial:TF0R:TFTR -diphtherian:TF0R:TFTR -diphtheroid:TF0R:TFTR -diphthongal:TF0N:TFTN -diplocardia:TPLK:TPLK -diplococcal:TPLK:TPLK -diplococcic:TPLK:TPLK -diplococcus:TPLK:TPLK -diplomacies:TPLM:TPLM -diplomatics:TPLM:TPLM -diplomatise:TPLM:TPLM -diplomatist:TPLM:TPLM -diploneural:TPLN:TPLN -dipotassium:TPTS:TPTS -diprotodont:TPRT:TPRT -dipsomaniac:TPSM:TPSM -directional:TRKX:TRKX -directorate:TRKT:TRKT -directorial:TRKT:TRKT -directories:TRKT:TRKT -directrices:TRKT:TRKT -dirofilaria:TRFL:TRFL -disablement:TSPL:TSPL -disaccredit:TSKR:TSKR -disaccustom:TSKS:TSKS -disaffected:TSFK:TSFK -disaffirmed:TSFR:TSFR -disafforest:TSFR:TSFR -disagreeing:TSKR:TSKR -disallowing:TSLN:TSLN -disannexing:TSNK:TSNK -disannulled:TSNL:TSNL -disappeared:TSPR:TSPR -disappoints:TSPN:TSPN -disapproval:TSPR:TSPR -disapproved:TSPR:TSPR -disapproves:TSPR:TSPR -disarmament:TSRM:TSRM -disarmingly:TSRM:TSRM -disarranged:TSRN:TSRN -disarranges:TSRN:TSRN -disarraying:TSRN:TSRN -disassemble:TSSM:TSSM -disassembly:TSSM:TSSM -disbandment:TSPN:TSPN -disbarments:TSPR:TSPR -disbarrered:TSPR:TSPR -disbelieved:TSPL:TSPL -disbeliever:TSPL:TSPL -disbelieves:TSPL:TSPL -disboweling:TSPL:TSPL -disbranched:TSPR:TSPR -disbranches:TSPR:TSPR -disburdened:TSPR:TSPR -disbursable:TSPR:TSPR -discernable:TSRN:TSRN -discernably:TSRN:TSRN -discernible:TSRN:TSRN -discernibly:TSRN:TSRN -discernment:TSRN:TSRN -discerption:TSRP:TSRP -dischargers:TXRK:TXRJ -discharging:TXRJ:TXRK -disciplinal:TSPL:TSPL -disciplined:TSPL:TSPL -discipliner:TSPL:TSPL -disciplines:TSPL:TSPL -disclaimant:TSKM:TSKM -disclaimers:TSKM:TSKM -disclaiming:TSKM:TSKM -disclimaxes:TSKM:TSKM -disclosures:TSKS:TSKS -discography:TSKK:TSKK -discologist:TSKL:TSKL -discoloring:TSKL:TSKL -discomfited:TSKM:TSKM -discomforts:TSKM:TSKM -discommoded:TSKM:TSKM -discommodes:TSKM:TSKM -discommoned:TSKM:TSKM -discomposed:TSKM:TSKM -discomposes:TSKM:TSKM -disconcerts:TSKN:TSKN -disconfirms:TSKN:TSKN -disconnects:TSKN:TSKN -discontents:TSKN:TSKN -discontinue:TSKN:TSKN -discophiles:TSKF:TSKF -discordance:TSKR:TSKR -discordancy:TSKR:TSKR -discotheque:TSK0:TSKT -discounters:TSKN:TSKN -discounting:TSKN:TSKN -discouraged:TSKR:TSKR -discourager:TSKR:TSKR -discourages:TSKR:TSKR -discoursers:TSKR:TSKR -discoursing:TSKR:TSKR -discourtesy:TSKR:TSKR -discoverers:TSKF:TSKF -discoveries:TSKF:TSKF -discovering:TSKF:TSKF -discredited:TSKT:TSKT -discrepancy:TSKP:TSKP -discussable:TSKS:TSKS -discussants:TSKS:TSKS -discussible:TSKS:TSKS -discussions:TSKS:TSKS -disembarked:TSMP:TSMP -disembodied:TSMP:TSMP -disembodies:TSMP:TSMP -disembogued:TSMP:TSMP -disembogues:TSMP:TSMP -disembowels:TSMP:TSMP -disembroils:TSMP:TSMP -disemployed:TSMP:TSMP -disenabling:TSNP:TSNP -disenchants:TSNX:TSNK -disencumber:TSNK:TSNK -disendowers:TSNT:TSNT -disendowing:TSNT:TSNT -disengaging:TSNK:TSNK -disentailed:TSNT:TSNT -disentangle:TSNT:TSNT -disenthrall:TSN0:TSNT -disenthrals:TSN0:TSNT -disentitled:TSNT:TSNT -disentitles:TSNT:TSNT -disentombed:TSNT:TSNT -disentwined:TSNT:TSNT -disentwines:TSNT:TSNT -disesteemed:TSST:TSST -disfavoring:TSFF:TSFF -disfeatured:TSFT:TSFT -disfeatures:TSFT:TSFT -disfigurers:TSFK:TSFK -disfiguring:TSFK:TSFK -disfunction:TSFN:TSFN -disgraceful:TSKR:TSKR -disgruntled:TSKR:TSKR -disgruntles:TSKR:TSKR -disguisable:TSKS:TSKS -disguisedly:TSKS:TSKS -disgustedly:TSKS:TSKS -dishclothes:TXKL:TXKL -disheartens:TXRT:TXRT -disheveling:TXFL:TXFL -dishonestly:TXNS:TXNS -dishonorers:TXNR:TXNR -dishonoring:TXNR:TXNR -dishwashers:TXXR:TXXR -dishwashing:TXXN:TXXN -disillusion:TSLS:TSLX -disillusive:TSLS:TSLS -disinclined:TSNK:TSNK -disinclines:TSNK:TSNK -disinfected:TSNF:TSNF -disinfector:TSNF:TSNF -disinfested:TSNF:TSNF -disinherits:TSNR:TSNR -disinterest:TSNT:TSNT -disinterred:TSNT:TSNT -disinvested:TSNF:TSNF -disjoinable:TSNP:TSNP -disjointing:TSNT:TSNT -disjunction:TSNK:TSNK -disjunctive:TSNK:TSNK -dislikeable:TLKP:TLKP -dislocating:TLKT:TLKT -dislocation:TLKX:TLKX -dislodgment:TLTK:TLTK -dismantlers:TSMN:TSMN -dismantling:TSMN:TSMN -dismastment:TSMS:TSMS -dismembered:TSMM:TSMM -dismemberer:TSMM:TSMM -dismissable:TSMS:TSMS -dismissible:TSMS:TSMS -dismortgage:TSMR:TSMR -dismounting:TSMN:TSMN -disobedient:TSPT:TSPT -disobliging:TSPL:TSPL -disordering:TSRT:TSRT -disorganize:TSRK:TSRK -disoriented:TSRN:TSRN -disparagers:TSPR:TSPR -disparaging:TSPR:TSPR -disparately:TSPR:TSPR -disparities:TSPR:TSPR -dispatchers:TSPX:TSPX -dispatching:TSPX:TSPX -dispensable:TSPN:TSPN -dispersants:TSPR:TSPR -dispersedly:TSPR:TSPR -dispersions:TSPR:TSPR -dispiriting:TSPR:TSPR -displayable:TSPL:TSPL -displeasing:TSPL:TSPL -displeasure:TSPL:TSPL -disposition:TSPS:TSPS -dispositive:TSPS:TSPS -disprovable:TSPR:TSPR -disputation:TSPT:TSPT -disputative:TSPT:TSPT -disquieting:TSKT:TSKT -disquietude:TSKT:TSKT -disregarded:TSRK:TSRK -disregarder:TSRK:TSRK -disrelished:TSRL:TSRL -disrelishes:TSRL:TSRL -disrespects:TSRS:TSRS -disrobement:TSRP:TSRP -disruptions:TSRP:TSRP -dissectible:TSKT:TSKT -dissections:TSKX:TSKX -dissemblers:TSMP:TSMP -dissembling:TSMP:TSMP -disseminate:TSMN:TSMN -disseminule:TSMN:TSMN -dissensions:TSNS:TSNX -dissentient:TSNT:TSNT -dissentions:TSNX:TSNX -dissentious:TSNT:TSNT -dissepiment:TSPM:TSPM -dissevering:TSFR:TSFR -dissidently:TSTN:TSTN -dissimilate:TSML:TSML -dissimulate:TSML:TSML -dissipaters:TSPT:TSPT -dissipating:TSPT:TSPT -dissipation:TSPX:TSPX -dissipative:TSPT:TSPT -dissipators:TSPT:TSPT -dissociable:TSSP:TSXP -dissociably:TSSP:TSXP -dissociated:TSST:TSXT -dissociates:TSST:TSXT -dissolutely:TSLT:TSLT -dissolution:TSLX:TSLX -dissolutive:TSLT:TSLT -dissolvable:TSLF:TSLF -dissonances:TSNN:TSNN -dissonantly:TSNN:TSNN -dissuadable:TSTP:TSTP -dissuasions:TSSN:TSXN -dissyllabic:TSLP:TSLP -dissyllable:TSLP:TSLP -dissymmetry:TSMT:TSMT -distantness:TSTN:TSTN -distasteful:TSTS:TSTS -distempered:TSTM:TSTM -distensible:TSTN:TSTN -distensions:TSTN:TSTN -distentions:TSTN:TSTN -distillable:TSTL:TSTL -distillates:TSTL:TSTL -distillment:TSTL:TSTL -distinction:TSTN:TSTN -distinctive:TSTN:TSTN -distinguish:TSTN:TSTN -distomiases:TSTM:TSTM -distomiasis:TSTM:TSTM -distortable:TSTR:TSTR -distortedly:TSTR:TSTR -distortions:TSTR:TSTR -distracters:TSTR:TSTR -distracting:TSTR:TSTR -distraction:TSTR:TSTR -distractive:TSTR:TSTR -distrahendi:TSTR:TSTR -distrainees:TSTR:TSTR -distrainers:TSTR:TSTR -distraining:TSTR:TSTR -distrainors:TSTR:TSTR -distressful:TSTR:TSTR -distressing:TSTR:TSTR -distributed:TSTR:TSTR -distributee:TSTR:TSTR -distributer:TSTR:TSTR -distributes:TSTR:TSTR -distributor:TSTR:TSTR -distritbute:TSTR:TSTR -distrusters:TSTR:TSTR -distrustful:TSTR:TSTR -distrusting:TSTR:TSTR -disturbance:TSTR:TSTR -disulphuric:TSLF:TSLF -dithyrambic:T0RM:TTRM -dittography:TTKR:TTKR -divagations:TFKX:TFKX -divaricated:TFRK:TFRK -divaricates:TFRK:TFRK -divaricator:TFRK:TFRK -divergences:TFRJ:TFRK -divergently:TFRJ:TFRK -diverseness:TFRS:TFRS -diversified:TFRS:TFRS -diversifier:TFRS:TFRS -diversifies:TFRS:TFRS -diversiform:TFRS:TFRS -diversional:TFRS:TFRX -diversities:TFRS:TFRS -diverticula:TFRT:TFRT -divertingly:TFRT:TFRT -divestitive:TFST:TFST -divestiture:TFST:TFST -divestments:TFST:TFST -dividedness:TFTT:TFTT -divinations:TFNX:TFNX -divisionary:TFSN:TFXN -divisionist:TFSN:TFXN -divorceable:TFRS:TFRS -divorcement:TFRS:TFRS -divulgement:TFLJ:TFLK -divulgences:TFLJ:TFLK -doctrinaire:TKTR:TKTR -doctrinally:TKTR:TKTR -doctrinists:TKTR:TKTR -documentary:TKMN:TKMN -documenters:TKMN:TKMN -documenting:TKMN:TKMN -dodecagonal:TTKK:TTKK -dogcatchers:TKKX:TKKX -doggishness:TJXN:TKXN -dogmatizers:TKMT:TKMT -dogmatizing:TKMT:TKMT -dolefulness:TLFL:TLFL -dollishness:TLXN:TLXN -dolorimetry:TLRM:TLRM -doltishness:TLTX:TLTX -domesticate:TMST:TMST -domesticity:TMST:TMST -domiciliary:TMSL:TMSL -domiciliate:TMSL:TMSL -dominations:TMNX:TMNX -domineering:TMNR:TMNR -donnishness:TNXN:TNXN -donnybrooks:TNPR:TNPR -doomwatcher:TMXR:TMXR -doorkeepers:TRKP:TRKP -doorstepped:TRST:TRST -dormitories:TRMT:TRMT -dorsiferous:TRSF:TRSF -dorsiflexor:TRSF:TRSF -dorsilumbar:TRSL:TRSL -dorsispinal:TRSS:TRSS -dorsolumbar:TRSL:TRSL -dosemetrist:TSMT:TSMT -dosimetries:TSMT:TSMT -dosimetrist:TSMT:TSMT -dostoyevsky:TSTF:TSTF -doublespeak:TPLS:TPLS -doublethink:TPL0:TPLT -doubletrees:TPLT:TPLT -doublewidth:TPLT:TPLT -doubtlessly:TPTL:TPTL -doughtiness:TTNS:TTNS -douglasitis:TKLS:TKLS -douroucouli:TRKL:TRKL -dovetailing:TFTL:TFTL -downdraught:TNTR:TNTR -downgrading:TNKR:TNKR -downhearted:TNRT:TNRT -downloading:TNLT:TNLT -downplaying:TNPL:TNPL -downrightly:TNRT:TNRT -downshifted:TNXF:TNXF -downstrokes:TNST:TNST -downtrodden:TNTR:TNTR -doxological:TKSL:TKSL -doxycycline:TKSS:TKSS -dracunculus:TRKN:TRKN -dragonesses:TRKN:TRKN -dragonflies:TRKN:TRKN -dragonheads:TRKN:TRKN -dramatizers:TRMT:TRMT -dramatizing:TRMT:TRMT -dramaturges:TRMT:TRMT -dramaturgic:TRMT:TRMT -drastically:TRST:TRST -draughtiest:TRFT:TRFT -draughtsman:TRFT:TRFT -draughtsmen:TRFT:TRFT -drawbridges:TRPR:TRPR -drawperfect:TRPR:TRPR -drawstrings:TRST:TRST -dreadnought:TRTN:TRTN -dreamlessly:TRML:TRML -drepanocyte:TRPN:TRPN -dressmakers:TRSM:TRSM -dressmaking:TRSM:TRSM -drillmaster:TRLM:TRLM -drillstocks:TRLS:TRLS -drivability:TRFP:TRFP -dromedaries:TRMT:TRMT -dromotropic:TRMT:TRMT -dropkickers:TRPK:TRPK -dropkicking:TRPK:TRPK -dropsically:TRPS:TRPS -drosophilae:TRSF:TRSF -drosophilas:TRSF:TRSF -drunkenness:TRNK:TRNK -dubiosities:TPST:TPST -dubiousness:TPSN:TPSN -ductileness:TKTL:TKTL -ductilities:TKTL:TKTL -dumbfounded:TMPF:TMPF -dumbwaiters:TMPT:TMPT -dumfounding:TMFN:TMFN -dunderheads:TNTR:TNTR -dundrearies:TNTR:TNTR -duplicately:TPLK:TPLK -duplicating:TPLK:TPLK -duplication:TPLK:TPLK -duplicative:TPLK:TPLK -duplicators:TPLK:TPLK -duplicities:TPLS:TPLS -duplicitous:TPLS:TPLS -durableness:TRPL:TRPL -duteousness:TTSN:TTSN -dutiability:TXPL:TXPL -dutifulness:TTFL:TTFL -dynamically:TNMK:TNMK -dynamogenic:TNMJ:TNMK -dynamograph:TNMK:TNMK -dynamometry:TNMM:TNMM -dynamoneure:TNMN:TNMN -dynamoscope:TNMS:TNMS -dysacousias:TSKS:TSKX -dysaptation:TSPT:TSPT -dysenteries:TSNT:TSNT -dysesthesia:TSS0:TSST -dysesthetic:TSS0:TSST -dysfunction:TSFN:TSFN -dyshidroses:TXTR:TXTR -dyshidrosis:TXTR:TXTR -dyspareunia:TSPR:TSPR -dyspeptical:TSPP:TSPP -dysphemisms:TSFM:TSFM -dysrhythmia:TSR0:TSRT -dysrhythmic:TSR0:TSRT -dyssynergia:TSNR:TSNR -dyssynergic:TSNR:TSNR -dystrophias:TSTR:TSTR -dystrophies:TSTR:TSTR -eaglestones:AKLS:AKLS -earmarkings:ARMR:ARMR -earnestness:ARNS:ARNS -earpiercing:ARPR:ARPR -earthenware:AR0N:ARTN -earthliness:AR0L:ARTL -earthmoving:AR0M:ARTM -earthquakes:AR0K:ARTK -easefulness:ASFL:ASFL -easternmost:ASTR:ASTR -ebriosities:APRS:APRS -ebulliently:APLN:APLN -ebullitions:APLX:APLX -eburnations:APRN:APRN -eccentrical:AXNT:AXNT -ecchondroma:AXNT:AXNT -eccrinology:AKRN:AKRN -echinococci:AXNK:AKNK -echinoderms:AXNT:AKNT -echinulated:AXNL:AKNL -echokineses:AXKN:AKKN -echokinesia:AXKN:AKKN -echokinesis:AXKN:AKKN -eclecticism:AKLK:AKLK -econometric:AKNM:AKNM -economizers:AKNM:AKNM -economizing:AKNM:AKNM -ecospecific:AKSP:AKSP -ecphorizing:AKFR:AKFR -ecretionary:AKRX:AKRX -ecthymatous:AK0M:AKTM -ectoblastic:AKTP:AKTP -ectoenzymes:AKTN:AKTN -ectoethmoid:AKT0:AKTT -ectogenesis:AKTJ:AKTK -ectogenetic:AKTJ:AKTK -ectohormone:AKTH:AKTH -ectomorphic:AKTM:AKTM -ectoplasmic:AKTP:AKTP -ectoproctal:AKTP:AKTP -ectosarcous:AKTS:AKTS -ecumenicism:AKMN:AKMN -ecumenicity:AKMN:AKMN -edaphically:ATFK:ATFK -edelweisses:ATLS:ATLS -edification:ATFK:ATFK -edificatory:ATFK:ATFK -editorially:ATTR:ATTR -editorships:ATTR:ATTR -educability:ATKP:ATKP -educational:ATKX:ATKX -effectively:AFKT:AFKT -effectually:AFKT:AFKT -effectuated:AFKT:AFKT -effectuates:AFKT:AFKT -effervesced:AFRF:AFRF -effervesces:AFRF:AFRF -efficacious:AFKS:AFKX -efficiently:AFSN:AFXN -effloresced:AFLR:AFLR -effloresces:AFLR:AFLR -effractores:AFRK:AFRK -effulgences:AFLJ:AFLK -effulgently:AFLJ:AFLK -egalitarian:AKLT:AKLT -egocentrism:AKSN:AKSN -egomaniacal:AKMN:AKMN -egotistical:AKTS:AKTS -egregiously:AKRJ:AKRK -eidetically:ATTK:ATTK -eigenvalues:AJNF:AKNF -eigenvector:AJNF:AKNF -eighteenmos:ATNM:ATNM -eighteenths:ATN0:ATNT -eightiethes:AT0S:ATTS -einsteinium:ANST:ANST -eisteddfods:ASTT:ASTT -ejaculating:AJKL:AHKL -ejaculation:AJKL:AHKL -ejaculators:AJKL:AHKL -ejaculatory:AJKL:AHKL -elaborately:ALPR:ALPR -elaborating:ALPR:ALPR -elaboration:ALPR:ALPR -elaborative:ALPR:ALPR -elaborators:ALPR:ALPR -elastically:ALST:ALST -elasticized:ALST:ALST -elasticizes:ALST:ALST -elastomeric:ALST:ALST -elecampanes:ALKM:ALKM -electioneer:ALKX:ALKX -electorally:ALKT:ALKT -electorates:ALKT:ALKT -electorship:ALKT:ALKT -electresses:ALKT:ALKT -electrician:ALKT:ALKT -electricity:ALKT:ALKT -electrified:ALKT:ALKT -electrifier:ALKT:ALKT -electrifies:ALKT:ALKT -electrocute:ALKT:ALKT -electroform:ALKT:ALKT -electrogens:ALKT:ALKT -electrogram:ALKT:ALKT -electrojets:ALKT:ALKT -electrolier:ALKT:ALKT -electrolyte:ALKT:ALKT -electrolyze:ALKT:ALKT -electronics:ALKT:ALKT -electrotome:ALKT:ALKT -electrotype:ALKT:ALKT -electuaries:ALKT:ALKT -elegiacally:ALJK:ALKK -elementally:ALMN:ALMN -eleostearic:ALST:ALST -elephantine:ALFN:ALFN -elephantoid:ALFN:ALFN -elevational:ALFX:ALFX -elicitation:ALST:ALST -eligibility:ALJP:ALKP -eliminating:ALMN:ALMN -elimination:ALMN:ALMN -eliminative:ALMN:ALMN -eliminators:ALMN:ALMN -eliminatory:ALMN:ALMN -elizabethan:ALSP:ALSP -ellipsoidal:ALPS:ALPS -ellipticity:ALPT:ALPT -elliptocyte:ALPT:ALPT -elongations:ALNK:ALNK -elucidating:ALST:ALST -elucidation:ALST:ALST -elucidative:ALST:ALST -elucidators:ALST:ALST -elucidatory:ALST:ALST -elusiveness:ALSF:ALSF -elutriating:ALTR:ALTR -elutriation:ALTR:ALTR -elutriators:ALTR:ALTR -emanational:AMNX:AMNX -emancipated:AMNS:AMNS -emancipates:AMNS:AMNS -emancipatio:AMNS:AMNS -emancipator:AMNS:AMNS -emancipists:AMNS:AMNS -emarginated:AMRJ:AMRK -emasculated:AMSK:AMSK -emasculates:AMSK:AMSK -emasculator:AMSK:AMSK -embadomonas:AMPT:AMPT -embankments:AMPN:AMPN -embarkation:AMPR:AMPR -embarrassed:AMPR:AMPR -embarrasses:AMPR:AMPR -embellished:AMPL:AMPL -embellisher:AMPL:AMPL -embellishes:AMPL:AMPL -embitterers:AMPT:AMPT -embittering:AMPT:AMPT -emblazement:AMPL:AMPL -emblazoners:AMPL:AMPL -emblazoning:AMPL:AMPL -emblematize:AMPL:AMPL -embodiments:AMPT:AMPT -emboldening:AMPL:AMPL -embolectomy:AMPL:AMPL -embololalia:AMPL:AMPL -embossments:AMPS:AMPS -embouchures:AMPX:AMPK -embraceable:AMPR:AMPR -embracement:AMPR:AMPR -embraceries:AMPR:AMPR -embrangling:AMPR:AMPR -embrocating:AMPR:AMPR -embrocation:AMPR:AMPR -embroidered:AMPR:AMPR -embroiderer:AMPR:AMPR -embroilment:AMPR:AMPR -embruements:AMPR:AMPR -embryectomy:AMPR:AMPR -embryogenic:AMPR:AMPR -embryologic:AMPR:AMPR -embryonated:AMPR:AMPR -embryopathy:AMPR:AMPR -embryophore:AMPR:AMPR -embryotroph:AMPR:AMPR -emendations:AMNT:AMNT -emergencies:AMRJ:AMRK -emigrations:AMKR:AMKR -emmenagogic:AMNK:AMNK -emmenagogue:AMNK:AMNK -emotionally:AMXN:AMXN -emotionless:AMXN:AMXN -emotiveness:AMTF:AMTF -empanelment:AMPN:AMPN -empathizing:AMP0:AMPT -emphasizing:AMFS:AMFS -empirically:AMPR:AMPR -empiricists:AMPR:AMPR -emplacement:AMPL:AMPL -employments:AMPL:AMPL -empoldering:AMPL:AMPL -empowerment:AMPR:AMPR -empyreumata:AMPR:AMPR -emulatively:AMLT:AMLT -emulousness:AMLS:AMLS -emulsifiers:AMLS:AMLS -emulsifying:AMLS:AMLS -emunctories:AMNK:AMNK -enanthemata:ANN0:ANNT -enarthroses:ANR0:ANRT -enarthrosis:ANR0:ANRT -encampments:ANKM:ANKM -encaphogram:ANKF:ANKF -encapsulant:ANKP:ANKP -encapsulate:ANKP:ANKP -encapsuling:ANKP:ANKP -encashments:ANKX:ANKX -encephaloid:ANSF:ANSF -encephaloma:ANSF:ANSF -encephalous:ANSF:ANSF -enchainment:ANXN:ANKN -enchantment:ANXN:ANKN -enchantress:ANXN:ANKN -enchondroma:ANXN:ANKN -enciphering:ANSF:ANSF -encodements:ANKT:ANKT -encompassed:ANKM:ANKM -encompasses:ANKM:ANKM -encountered:ANKN:ANKN -encounterer:ANKN:ANKN -encouragers:ANKR:ANKR -encouraging:ANKR:ANKR -encroachers:ANKR:ANKR -encroaching:ANKR:ANKR -encryptions:ANKR:ANKR -encumbering:ANKM:ANKM -encumbrance:ANKM:ANKM -encyclicals:ANSK:ANSK -encystation:ANSS:ANSS -encystments:ANSS:ANSS -endangering:ANTN:ANTN -endaortitis:ANTR:ANTR -endarterial:ANTR:ANTR -endarterium:ANTR:ANTR -endearingly:ANTR:ANTR -endearments:ANTR:ANTR -endeavorers:ANTF:ANTF -endeavoring:ANTF:ANTF -endemically:ANTM:ANTM -endlessness:ANTL:ANTL -endoblastic:ANTP:ANTP -endocardiac:ANTK:ANTK -endocardial:ANTK:ANTK -endocardium:ANTK:ANTK -endocentric:ANTS:ANTS -endocranial:ANTK:ANTK -endocranium:ANTK:ANTK -endocrinous:ANTK:ANTK -endocytosis:ANTS:ANTS -endodontics:ANTT:ANTT -endodontist:ANTT:ANTT -endoenzymes:ANTN:ANTN -endogastric:ANTK:ANTK -endometrial:ANTM:ANTM -endometrium:ANTM:ANTM -endomitoses:ANTM:ANTM -endomitosis:ANTM:ANTM -endomorphic:ANTM:ANTM -endoneurium:ANTN:ANTN -endoplasmic:ANTP:ANTP -endoplastic:ANTP:ANTP -endorsement:ANTR:ANTR -endoscopies:ANTS:ANTS -endoscopist:ANTS:ANTS -endospermic:ANTS:ANTS -endosporous:ANTS:ANTS -endosteitis:ANTS:ANTS -endostomata:ANTS:ANTS -endothecial:ANT0:ANTT -endothecium:ANT0:ANTT -endothelial:ANT0:ANTT -endothelium:ANT0:ANTT -endothermal:ANT0:ANTT -endothermic:ANT0:ANTT -endothrices:ANT0:ANTT -enfacements:ANFS:ANFS -enfeoffment:ANFF:ANFF -enfoldments:ANFL:ANFL -enforceable:ANFR:ANFR -enforcement:ANFR:ANFR -enfranchise:ANFR:ANFR -engagements:ANKJ:ANKK -engenderers:ANJN:ANKN -engendering:ANJN:ANKN -engineering:ANJN:ANKN -englobement:ANKL:ANKL -engorgement:ANKR:ANKR -engraftment:ANKR:ANKR -engrailment:ANKR:ANKR -engrainedly:ANKR:ANKR -engrammatic:ANKR:ANKR -engrossment:ANKR:ANKR -engulfments:ANKL:ANKL -enhancement:ANNS:ANNS -enigmatical:ANKM:ANKM -enigmatises:ANKM:ANKM -enigmatized:ANKM:ANKM -enigmatizes:ANKM:ANKM -enjambments:ANJM:ANJM -enjoinments:ANJN:ANJN -enlacements:ANLS:ANLS -enlargeable:ANLR:ANLR -enlargement:ANLR:ANLR -enlightened:ANLT:ANLT -enlightener:ANLT:ANLT -enlistments:ANLS:ANLS -enlivenment:ANLF:ANLF -enmeshments:ANMX:ANMX -enneahedral:ANHT:ANHT -enneahedron:ANHT:ANHT -ennoblement:ANPL:ANPL -enolization:ANLS:ANLS -enouncement:ANNS:ANNS -enragements:ANRJ:ANRK -enrapturing:ANRP:ANRP -enrichments:ANRX:ANRK -enrollments:ANRL:ANRL -ensanguined:ANSN:ANSN -ensanguines:ANSN:ANSN -ensheathing:ANX0:ANXT -enshrouding:ANXR:ANXR -ensignships:ANSN:ANSK -enslavement:ANSL:ANSL -ensnarement:ANSN:ANSN -ensoulments:ANSL:ANSL -enstrangers:ANST:ANST -entablature:ANTP:ANTP -entablement:ANTP:ANTP -entailments:ANTL:ANTL -entelechies:ANTL:ANTL -enterectomy:ANTR:ANTR -enteritides:ANTR:ANTR -enteritidis:ANTR:ANTR -enteritises:ANTR:ANTR -enterococci:ANTR:ANTR -enterocoele:ANTR:ANTR -enterolyses:ANTR:ANTR -enterolysis:ANTR:ANTR -enteropathy:ANTR:ANTR -enterostomy:ANTR:ANTR -enterotoxin:ANTR:ANTR -enteroviral:ANTR:ANTR -enterovirus:ANTR:ANTR -enterpriser:ANTR:ANTR -enterprized:ANTR:ANTR -enterprizes:ANTR:ANTR -entertained:ANTR:ANTR -entertainer:ANTR:ANTR -enthralling:AN0R:ANTR -enthralment:AN0R:ANTR -enthusiasms:AN0S:ANTX -enthusiasts:AN0S:ANTX -enticements:ANTS:ANTS -entitlement:ANTT:ANTT -entoblastic:ANTP:ANTP -entombments:ANTM:ANTM -entomologic:ANTM:ANTM -entomophily:ANTM:ANTM -entrainment:ANTR:ANTR -entrameling:ANTR:ANTR -entrammeled:ANTR:ANTR -entrapments:ANTR:ANTR -entreatment:ANTR:ANTR -entrenchers:ANTR:ANTR -entrenching:ANTR:ANTR -entrustment:ANTR:ANTR -entwinement:ANTN:ANTN -enucleating:ANKL:ANKL -enucleation:ANKL:ANKL -enumerating:ANMR:ANMR -enumeration:ANMR:ANMR -enumerative:ANMR:ANMR -enumerators:ANMR:ANMR -enunciating:ANNS:ANNX -enunciation:ANNS:ANNX -enunciative:ANNS:ANNX -enunciators:ANNS:ANNX -enunciatory:ANNS:ANNX -envelopment:ANFL:ANFL -enviousness:ANFS:ANFS -environment:ANFR:ANFR -envisioning:ANFS:ANFX -enwreathing:ANR0:ANRT -enzymatical:ANSM:ANSM -enzymically:ANSM:ANSM -enzymolysis:ANSM:ANSM -eosinopenia:ASNP:ASNP -eosinophile:ASNF:ASNF -eosinophils:ASNF:ASNF -epanalepsis:APNL:APNL -epanaleptic:APNL:APNL -epanaphoral:APNF:APNF -epeirogenic:APRJ:APRK -epencephala:APNS:APNS -ependymitis:APNT:APNT -ependymomas:APNT:APNT -ephemerally:AFMR:AFMR -ephemerides:AFMR:AFMR -epicondylic:APKN:APKN -epicoracoid:APKR:APKR -epicraniums:APKR:APKR -epicyclical:APSK:APSK -epicycloids:APSK:APSK -epicystitis:APSS:APSS -epidemicity:APTM:APTM -epidermatic:APTR:APTR -epidiascope:APTS:APTS -epigastraea:APKS:APKS -epigastrial:APKS:APKS -epigastrium:APKS:APKS -epigenesist:APJN:APKN -epigraphers:APKR:APKR -epigraphies:APKR:APKR -epigraphist:APKR:APKR -epilamellar:APLM:APLM -epilectical:APLK:APLK -epilepticus:APLP:APLP -epilimnions:APLM:APLM -epimorphism:APMR:APMR -epinephrine:APNF:APNF -epineuriums:APNR:APNR -epionychium:APNX:APNK -epiphysitis:APFS:APFS -epiphytical:APFT:APFT -epiphytotic:APFT:APFT -epirogenies:APRJ:APRK -episcopally:APSK:APSK -episcopates:APSK:APSK -epistrophes:APST:APST -epitaphists:APTF:APTF -epitaxially:APTK:APTK -epithalamia:AP0L:APTL -epithalamic:AP0L:APTL -epithalamus:AP0L:APTL -epithelioid:AP0L:APTL -epithelioma:AP0L:APTL -epitheliums:AP0L:APTL -epithelized:AP0L:APTL -epithelizes:AP0L:APTL -epithetical:AP0T:APTT -epitomizers:APTM:APTM -epitomizing:APTM:APTM -epitrichium:APTR:APTR -epitrochlea:APTR:APTR -epitympanic:APTM:APTM -epitympanum:APTM:APTM -eponymously:APNM:APNM -equableness:AKPL:AKPL -equestrians:AKST:AKST -equiangular:AKNK:AKNK -equidistant:AKTS:AKTS -equilateral:AKLT:AKLT -equilibrant:AKLP:AKLP -equilibrate:AKLP:AKLP -equilibrist:AKLP:AKLP -equilibrium:AKLP:AKLP -equinoctial:AKNK:AKNK -equipollent:AKPL:AKPL -equivalence:AKFL:AKFL -equivalency:AKFL:AKFL -equivalents:AKFL:AKFL -equivocally:AKFK:AKFK -equivocated:AKFK:AKFK -equivocates:AKFK:AKFK -equivocator:AKFK:AKFK -eradiations:ARTX:ARTX -eradicating:ARTK:ARTK -eradication:ARTK:ARTK -eradicative:ARTK:ARTK -eradicators:ARTK:ARTK -eremacausis:ARMK:ARMK -eremiticism:ARMT:ARMT -ergatocracy:ARKT:ARKT -ergocornine:ARKK:ARKK -ergographic:ARKK:ARKK -ergometrine:ARKM:ARKM -ergonomists:ARKN:ARKN -ergotherapy:ARK0:ARKT -eriodictyon:ARTK:ARTK -erosiveness:ARSF:ARSF -erosivities:ARSF:ARSF -eroticizing:ARTS:ARTS -erotization:ARTS:ARTS -erotologist:ARTL:ARTL -erotomaniac:ARTM:ARTM -erotomanias:ARTM:ARTM -erratically:ARTK:ARTK -erroneously:ARNS:ARNS -erternalise:ARTR:ARTR -erubescence:ARPS:ARPS -eructations:ARKT:ARKT -eruditeness:ARTT:ARTT -erysipeloid:ARSP:ARSP -erythematic:AR0M:ARTM -erythorbate:AR0R:ARTR -erythraemia:AR0R:ARTR -erythredema:AR0R:ARTR -erythristic:AR0R:ARTR -erythrocyte:AR0R:ARTR -erythrogone:AR0R:ARTR -erythronium:AR0R:ARTR -erythropsia:AR0R:ARTR -erythrulose:AR0R:ARTR -escadrilles:ASKT:ASKT -escalations:ASKL:ASKL -escalloniae:ASKL:ASKL -escalloping:ASKL:ASKL -escapements:ASKP:ASKP -escarpments:ASKR:ASKR -eschatology:AXTL:AXTL -escheatable:AXTP:AXTP -escheatages:AXTJ:AXTK -escherichia:AXRK:ASKR -escritoires:ASKT:ASKT -escutcheons:ASKX:ASKX -esemplastic:ASMP:ASMP -esophagitis:ASFJ:ASFK -esotericism:ASTR:ASTR -espadrilles:ASPT:ASPT -esperantist:ASPR:ASPR -essentially:ASNX:ASNX -established:ASTP:ASTP -establisher:ASTP:ASTP -establishes:ASTP:ASTP -esterifying:ASTR:ASTR -estimations:ASTM:ASTM -estrepement:ASTR:ASTR -eternalises:ATRN:ATRN -eternalized:ATRN:ATRN -eternalizes:ATRN:ATRN -eternalness:ATRN:ATRN -ethereality:A0RL:ATRL -etherealize:A0RL:ATRL -etherifying:A0RF:ATRF -ethicalmess:A0KL:ATKL -ethicalness:A0KL:ATKL -ethionamide:A0NM:ATNM -ethisterone:A0ST:ATST -ethmoiditis:A0MT:ATMT -ethnobotany:A0NP:ATNP -ethnogenist:A0NJ:ATNK -ethnography:A0NK:ATNK -ethnologist:A0NL:ATNL -ethological:A0LJ:ATLK -ethologists:A0LJ:ATLK -ethylations:A0LX:ATLX -etiolations:ATLX:ATLX -etiological:ATLJ:ATLK -etiologosts:ATLK:ATLK -etymologies:ATML:ATML -etymologist:ATML:ATML -etymologize:ATML:ATML -eubacterium:APKT:APKT -eucalyptole:AKLP:AKLP -eucatropine:AKTR:AKTR -eucharistic:AXRS:AKRS -euchromatic:AKRM:AKRM -euchromatin:AKRM:AKRM -eudaemonics:ATMN:ATMN -eudaemonism:ATMN:ATMN -eudaemonist:ATMN:ATMN -eudemonists:ATMN:ATMN -eudeomonist:ATMN:ATMN -eudiometric:ATMT:ATMT -eugenically:AJNK:AKNK -eugenicists:AJNS:AKNS -euhemerises:AHMR:AHMR -euhemerists:AHMR:AHMR -euhemerized:AHMR:AHMR -euhemerizes:AHMR:AHMR -eunuchoidal:ANXT:ANKT -euphausiids:AFST:AFST -euphemistic:AFMS:AFMS -euphemizers:AFMS:AFMS -euphemizing:AFMS:AFMS -eurhythmics:AR0M:ARTM -eurhythmies:AR0M:ARTM -eurobeaches:ARPX:ARPK -eurocheques:ARXK:ARKK -euroclydons:ARKL:ARKL -eurodeposit:ARTP:ARTP -eurodollars:ARTL:ARTL -europeanise:ARPN:ARPN -eurygnathic:ARN0:ARKN -eurypterids:ARPT:ARPT -eurysomatic:ARSM:ARSM -eurythermal:AR0R:ARTR -eurythermic:AR0R:ARTR -evacuations:AFKX:AFKX -evaginating:AFJN:AFKN -evagination:AFJN:AFKN -evaluations:AFLX:AFLX -evanescence:AFNS:AFNS -evangelical:AFNJ:AFNK -evangelists:AFNJ:AFNK -evangelized:AFNJ:AFNK -evangelizer:AFNJ:AFNK -evangelizes:AFNJ:AFNK -evanishment:AFNX:AFNX -evaporating:AFPR:AFPR -evaporation:AFPR:AFPR -evaporative:AFPR:AFPR -evaporators:AFPR:AFPR -evasiveness:AFSF:AFSF -eventration:AFNT:AFNT -eventuality:AFNT:AFNT -eventuating:AFNT:AFNT -eventuation:AFNT:AFNT -everlasting:AFRL:AFRL -evidentally:AFTN:AFTN -evidentiary:AFTN:AFTN -eviscerated:AFSR:AFSR -eviscerates:AFSR:AFSR -eviscerator:AFSR:AFSR -evocatively:AFKT:AFKT -evolutional:AFLX:AFLX -evolvements:AFLF:AFLF -exacerbated:AKSS:AKSS -exacerbates:AKSS:AKSS -exaggerated:AKSK:AKSK -exaggerates:AKSK:AKSK -exaggerator:AKSK:AKSK -exaltations:AKSL:AKSL -exaltedness:AKSL:AKSL -examination:AKSM:AKSM -exanthemata:AKSN:AKSN -exasperated:AKSS:AKSS -exasperater:AKSS:AKSS -exasperates:AKSS:AKSS -excavations:AKSF:AKSF -exceedingly:AKST:AKST -excellences:AKSL:AKSL -excellently:AKSL:AKSL -exceptional:AKSP:AKSP -exceptiones:AKSP:AKSP -excerptible:AKSR:AKSR -excerptions:AKSR:AKSR -excessively:AKSS:AKSS -excitations:AKST:AKST -excitedness:AKST:AKST -excitements:AKST:AKST -exclamation:AKSL:AKSL -exclamatory:AKSL:AKSL -exclusively:AKSL:AKSL -exclusivity:AKSL:AKSL -excogitable:AKSJ:AKSK -excogitated:AKSJ:AKSK -excogitates:AKSJ:AKSK -excogitator:AKSJ:AKSK -exconcessus:AKSN:AKSN -excoriating:AKSR:AKSR -excoriation:AKSR:AKSR -excremental:AKSR:AKSR -excrescence:AKSR:AKSR -excrescency:AKSR:AKSR -excruciated:AKSR:AKSR -excruciates:AKSR:AKSR -exculpating:AKSL:AKSL -exculpation:AKSL:AKSL -exculpatory:AKSL:AKSL -excursionis:AKSR:AKSR -excursively:AKSR:AKSR -excystation:AKSS:AKSS -execrations:AKSK:AKSK -executables:AKSK:AKSK -executional:AKSK:AKSK -executioner:AKSK:AKSK -executiones:AKSK:AKSK -executively:AKSK:AKSK -executorial:AKSK:AKSK -executrices:AKSK:AKSK -executrixes:AKSK:AKSK -exemplarilt:AKSM:AKSM -exemplarily:AKSM:AKSM -exemplified:AKSM:AKSM -exemplifier:AKSM:AKSM -exemplifies:AKSM:AKSM -exenterated:AKSN:AKSN -exenterates:AKSN:AKSN -exercisable:AKSR:AKSR -exfoliating:AKSF:AKSF -exfoliation:AKSF:AKSF -exfoliative:AKSF:AKSF -exfoliators:AKSF:AKSF -exhalations:AKSL:AKSL -exhaustable:AKSS:AKSS -exhaustedly:AKSS:AKSS -exhaustible:AKSS:AKSS -exhaustless:AKSS:AKSS -exhibitions:AKSP:AKSP -exhilarated:AKSL:AKSL -exhilarates:AKSL:AKSL -exhilarator:AKSL:AKSL -exhortation:AKSR:AKSR -exhortative:AKSR:AKSR -exhortatory:AKSR:AKSR -exhumations:AKSM:AKSM -existential:AKSS:AKSS -exodontists:AKST:AKST -exogamously:AKSK:AKSK -exogastrula:AKSK:AKSK -exogenously:AKSJ:AKSK -exonerating:AKSN:AKSN -exoneration:AKSN:AKSN -exonerative:AKSN:AKSN -exonerators:AKSN:AKSN -exonuclease:AKSN:AKSN -exoparasite:AKSP:AKSP -exorability:AKSR:AKSR -exorbitance:AKSR:AKSR -exoskeletal:AKSS:AKSS -exoskeleton:AKSS:AKSS -exotericism:AKST:AKST -expansively:AKSP:AKSP -expansivity:AKSP:AKSP -expatiating:AKSP:AKSP -expatiation:AKSP:AKSP -expatiators:AKSP:AKSP -expatiatory:AKSP:AKSP -expatriated:AKSP:AKSP -expatriates:AKSP:AKSP -expectantly:AKSP:AKSP -expectation:AKSP:AKSP -expectative:AKSP:AKSP -expectingly:AKSP:AKSP -expectorant:AKSP:AKSP -expectorate:AKSP:AKSP -expediences:AKSP:AKSP -expediently:AKSP:AKSP -expeditions:AKSP:AKSP -expeditious:AKSP:AKSP -expenditure:AKSP:AKSP -expensively:AKSP:AKSP -experienced:AKSP:AKSP -experiences:AKSP:AKSP -experiments:AKSP:AKSP -expirations:AKSP:AKSP -explainable:AKSP:AKSP -explanation:AKSP:AKSP -explanative:AKSP:AKSP -explanatory:AKSP:AKSP -expletively:AKSP:AKSP -explicating:AKSP:AKSP -explication:AKSP:AKSP -explicative:AKSP:AKSP -explicators:AKSP:AKSP -explicatory:AKSP:AKSP -exploitable:AKSP:AKSP -exploration:AKSP:AKSP -explorative:AKSP:AKSP -exploratory:AKSP:AKSP -explosively:AKSP:AKSP -exponential:AKSP:AKSP -exportation:AKSP:AKSP -exposedness:AKSP:AKSP -expositions:AKSP:AKSP -expostfacto:AKSP:AKSP -expostulate:AKSP:AKSP -expressible:AKSP:AKSP -expressibly:AKSP:AKSP -expressions:AKSP:AKSP -expressways:AKSP:AKSP -expropriate:AKSP:AKSP -expurgating:AKSP:AKSP -expurgation:AKSP:AKSP -expurgators:AKSP:AKSP -expurgatory:AKSP:AKSP -exquisitely:AKSK:AKSK -exsiccating:AKSS:AKSS -exsiccation:AKSS:AKSS -exsiccative:AKSS:AKSS -exsiccators:AKSS:AKSS -exstipulate:AKSS:AKSS -exstrophies:AKSS:AKSS -extemporary:AKST:AKST -extemporize:AKST:AKST -extensional:AKST:AKST -extensively:AKST:AKST -extenuating:AKST:AKST -extenuation:AKST:AKST -extenuatory:AKST:AKST -exteriority:AKST:AKST -exteriorize:AKST:AKST -exterminate:AKST:AKST -externalism:AKST:AKST -externalist:AKST:AKST -externality:AKST:AKST -externalize:AKST:AKST -extinctions:AKST:AKST -extirpating:AKST:AKST -extirpation:AKST:AKST -extirpative:AKST:AKST -extirpators:AKST:AKST -extollingly:AKST:AKST -extorsively:AKST:AKST -extortioner:AKST:AKST -extrability:AKST:AKST -extrabuccal:AKST:AKST -extrabulbar:AKST:AKST -extractable:AKST:AKST -extractions:AKST:AKST -extracystic:AKST:AKST -extraditing:AKST:AKST -extradition:AKST:AKST -extraocular:AKST:AKST -extrapolate:AKST:AKST -extravagant:AKST:AKST -extravasate:AKST:AKST -extraverted:AKST:AKST -extremeness:AKST:AKST -extremities:AKST:AKST -extricating:AKST:AKST -extrication:AKST:AKST -extroverted:AKST:AKST -exuberantly:AKSP:AKSP -exultations:AKSL:AKSL -exurbanites:AKSR:AKSR -exuviations:AKSF:AKSF -eyedroppers:ATRP:ATRP -fabricating:FPRK:FPRK -fabrication:FPRK:FPRK -fabricative:FPRK:FPRK -fabricators:FPRK:FPRK -facetiously:FSTS:FSTS -facilitated:FSLT:FSLT -facilitates:FSLT:FSLT -facilitator:FSLT:FSLT -factitively:FKTT:FKTT -factorially:FKTR:FKTR -factorizing:FKTR:FKTR -factualists:FKTL:FKTL -factualness:FKTL:FKTL -facultative:FKLT:FKLT -faddishness:FTXN:FTXN -fairgrounds:FRKR:FRKR -fairleaders:FRLT:FRLT -faithlessly:F0LS:FTLS -falconiform:FLKN:FLKN -fallibility:FLPL:FLPL -falsifiable:FLSF:FLSF -falstaffian:FLST:FLST -falteringly:FLTR:FLTR -familiarity:FMLR:FMLR -familiarize:FMLR:FMLR -fanatically:FNTK:FNTK -fanaticized:FNTS:FNTS -fanaticizes:FNTS:FNTS -fanfaronade:FNFR:FNFR -fantasizing:FNTS:FNTS -fantastical:FNTS:FNTS -farcicality:FRSK:FRSK -farinaceous:FRNS:FRNS -farnborough:FRNP:FRNP -farraginous:FRJN:FRKN -farthermost:FR0R:FRTR -farthingale:FR0N:FRTN -fasciations:FSXN:FSXN -fasciculate:FSKL:FSKL -fasciectomy:FSKT:FSKT -fascinating:FSNT:FSNT -fascination:FSNX:FSNX -fascinative:FSNT:FSNT -fashionable:FXNP:FXNP -fashionably:FXNP:FXNP -fastigiated:FSTJ:FSTK -fatefulness:FTFL:FTFL -fatherlands:F0RL:FTRL -fatigueless:FTKL:FTKL -fatuousness:FTSN:FTSN -faultfinder:FLTF:FLTF -faultlessly:FLTL:FLTL -favoritisms:FFRT:FFRT -fawningness:FNNK:FNNK -fearfulness:FRFL:FRFL -fearnaughts:FRNK:FRNK -feasibility:FSPL:FSPL -featherbeds:F0RP:FTRP -featheredge:F0RJ:FTRJ -featherhead:F0RT:FTRT -featherless:F0RL:FTRL -featureless:FTRL:FTRL -febriferous:FPRF:FPRF -fecundating:FKNT:FKNT -fecundation:FKNT:FKNT -fecundators:FKNT:FKNT -fecundatory:FKNT:FKNT -fecundities:FKNT:FKNT -federalists:FTRL:FTRL -federalized:FTRL:FTRL -federalizes:FTRL:FTRL -federations:FTRX:FTRX -feldspathic:FLTS:FLTS -felicitated:FLST:FLST -felicitates:FLST:FLST -felicitator:FLST:FLST -fellatrices:FLTR:FLTR -fellatrixes:FLTR:FLTR -fellmongers:FLMN:FLMN -fellmongery:FLMN:FLMN -fellowships:FLXP:FLXP -feloniously:FLNS:FLNS -fenestellae:FNST:FNST -fenestrated:FNST:FNST -fermentable:FRMN:FRMN -ferociously:FRSS:FRXS -ferriferous:FRFR:FRFR -ferruginous:FRJN:FRKN -fertileness:FRTL:FRTL -fertilities:FRTL:FRTL -fertilizers:FRTL:FRTL -fertilizing:FRTL:FRTL -ferventness:FRFN:FRFN -festinating:FSTN:FSTN -festination:FSTN:FSTN -festiveness:FSTF:FSTF -festivities:FSTF:FSTF -festschrift:FSTX:FSTX -fetishistic:FTXS:FTXS -fetologists:FTLJ:FTLK -fetometries:FTMT:FTMT -fetterlocks:FTRL:FTRL -feudalistic:FTLS:FTLS -feudalities:FTLT:FTLT -feudalizing:FTLS:FTLS -feudatories:FTTR:FTTR -fianchettos:FNXT:FNKT -fibreboards:FPRP:FPRP -fibrescopes:FPRS:FPRS -fibrilating:FPRL:FPRL -fibrilation:FPRL:FPRL -fibrillated:FPRL:FPRL -fibrillates:FPRL:FPRL -fibroblasts:FPRP:FPRP -fibrocement:FPRS:FPRS -fibromatoid:FPRM:FPRM -fibromatous:FPRM:FPRM -fibromyomas:FPRM:FPRM -fibromyxoma:FPRM:FPRM -fibroplasia:FPRP:FPRP -fibrosities:FPRS:FPRS -fibrousness:FPRS:FPRS -fictionally:FKXN:FKXN -fictioneers:FKXN:FKXN -fictionists:FKXN:FKXN -fiddleheads:FTLH:FTLH -fiddlenecks:FTLN:FTLN -fiddlestick:FTLS:FTLS -fidejussion:FTJS:FTJS -fidgetiness:FJTN:FJTN -fidgetingly:FJTN:FJTN -fiduciaries:FTSR:FTXR -fiduciarily:FTSR:FTXR -fiduciarium:FTSR:FTXR -fieldpieces:FLTP:FLTP -fifteenthes:FFTN:FFTN -figurations:FKRX:FKRX -figureheads:FKRH:FKRH -filamentary:FLMN:FLMN -filamentous:FLMN:FLMN -filarioidea:FLRT:FLRT -filibusters:FLPS:FLPS -filigreeing:FLKR:FLKR -filmography:FLMK:FLMK -filmsetters:FLMS:FLMS -filmsetting:FLMS:FLMS -fimbriation:FMPR:FMPR -fimbrillate:FMPR:FMPR -finableness:FNPL:FNPL -financially:FNNS:FNNX -fingerboard:FNKR:FNJR -fingerlings:FNKR:FNJR -fingernails:FNKR:FNJR -fingerprint:FNKR:FNJR -fingerstall:FNKR:FNJR -firecracker:FRKR:FRKR -fireproofed:FRPR:FRPR -firmamental:FRMM:FRMM -firstfruits:FRST:FRST -fishfingers:FXFN:FXFN -fishmongers:FXMN:FXMN -fishtailing:FXTL:FXTL -fissionable:FSNP:FSNP -fissiparous:FSPR:FSPR -fissuration:FSRX:FSRX -fistulizing:FSTL:FSTL -fistulotomy:FSTL:FSTL -fittingness:FTNN:FTNK -fixtureless:FKST:FKST -flabbergast:FLPR:FLPR -flaccidness:FLXT:FLXT -flagellants:FLJL:FLKL -flagellatae:FLJL:FLKL -flagellated:FLJL:FLKL -flagellates:FLJL:FLKL -flagellator:FLJL:FLKL -flagelloses:FLJL:FLKL -flagellosis:FLJL:FLKL -flamboyance:FLMP:FLMP -flamboyancy:FLMP:FLMP -flannelette:FLNL:FLNL -flashboards:FLXP:FLXP -flashlights:FLXL:FLXL -flatterable:FLTR:FLTR -flatulences:FLTL:FLTL -flatulently:FLTL:FLTL -flauntingly:FLNT:FLNT -flavianiced:FLFN:FLFN -flavorfully:FLFR:FLFR -fleshliness:FLXL:FLXL -fletcherism:FLXR:FLXR -fletcherize:FLXR:FLXR -flexibility:FLKS:FLKS -flexionless:FLKS:FLKS -flexography:FLKS:FLKS -flightiness:FLTN:FLTN -flimflammed:FLMF:FLMF -flimflammer:FLMF:FLMF -flinchingly:FLNX:FLNK -flippancies:FLPN:FLPN -flirtations:FLRT:FLRT -flirtatious:FLRT:FLRT -flittermice:FLTR:FLTR -flocculants:FLKL:FLKL -flocculated:FLKL:FLKL -flocculates:FLKL:FLKL -flocculence:FLKL:FLKL -floodlights:FLTL:FLTL -floodwaters:FLTT:FLTT -floorboards:FLRP:FLRP -floorshifts:FLRX:FLRX -floorwalker:FLRL:FLRL -florentines:FLRN:FLRN -florescence:FLRS:FLRS -floriferous:FLRF:FLRF -florilegium:FLRL:FLRL -floundering:FLNT:FLNT -flourishers:FLRX:FLRX -flourishing:FLRX:FLRX -floweriness:FLRN:FLRN -fluctuating:FLKT:FLKT -fluctuation:FLKT:FLKT -flugelhorns:FLJL:FLKL -fluidifying:FLTF:FLTF -fluorescein:FLRS:FLRS -fluorescent:FLRS:FLRS -fluorescing:FLRS:FLRS -fluoridated:FLRT:FLRT -fluoridates:FLRT:FLRT -fluoridized:FLRT:FLRT -fluoridizes:FLRT:FLRT -fluorimetry:FLRM:FLRM -fluorinated:FLRN:FLRN -fluorinates:FLRN:FLRN -fluorometry:FLRM:FLRM -fluoroscope:FLRS:FLRS -fluoroscopy:FLRS:FLRS -flycatchers:FLKX:FLKX -folkishness:FLKX:FLKX -folklorists:FLKL:FLKL -folliculate:FLKL:FLKL -folliculoma:FLKL:FLKL -fomentation:FMNT:FMNT -fontanelles:FNTN:FNTN -foolhardier:FLRT:FLRT -foolhardily:FLRT:FLRT -foolishness:FLXN:FLXN -footballers:FTPL:FTPL -footballing:FTPL:FTPL -footbridges:FTPR:FTPR -footlockers:FTLK:FTLK -footslogged:FTSL:FTSL -footslogger:FTSL:FTSL -foppishness:FPXN:FPXN -foraminifer:FRMN:FRMN -forbearance:FRPR:FRPR -forbiddance:FRPT:FRPT -forcibility:FRSP:FRSP -forebearing:FRPR:FRPR -forecasters:FRKS:FRKS -forecasting:FRKS:FRKS -forecastles:FRKS:FRKS -foreclosing:FRKL:FRKL -foreclosure:FRKL:FRKL -foredooming:FRTM:FRTM -forefathers:FRF0:FRFT -forefingers:FRFN:FRFN -foregathers:FRK0:FRKT -foregrounds:FRKR:FRKR -foreignness:FRNN:FRKN -forejudgers:FRJJ:FRJJ -forejudging:FRJJ:FRJJ -foreknowing:FRKN:FRKN -foremanship:FRMN:FRMN -forenotices:FRNT:FRNT -foreordains:FRRT:FRRT -forequarter:FRKR:FRKR -forereached:FRRX:FRRK -forereaches:FRRX:FRRK -forerunners:FRRN:FRRN -forerunning:FRRN:FRRN -foreseeable:FRSP:FRSP -foreshadows:FRXT:FRXT -foreshorten:FRXR:FRXR -foresighted:FRST:FRST -forestalled:FRST:FRST -forestaller:FRST:FRST -forestation:FRST:FRST -forestomach:FRST:FRST -foretasting:FRTS:FRTS -foretellers:FRTL:FRTL -foretelling:FRTL:FRTL -forethought:FR0T:FRTT -foretokened:FRTK:FRTK -forevermore:FRFR:FRFR -forewarners:FRRN:FRRN -forewarning:FRRN:FRRN -forfeitable:FRFT:FRFT -forfeitures:FRFT:FRFT -forgathered:FRK0:FRKT -forgetfully:FRKT:FRKT -forgettable:FRKT:FRKT -forgettably:FRKT:FRKT -forgiveness:FRJF:FRKF -forgivingly:FRJF:FRKF -forlornness:FRLR:FRLR -formability:FRMP:FRMP -formalinize:FRML:FRML -formalistic:FRML:FRML -formalities:FRML:FRML -formalizers:FRML:FRML -formalizing:FRML:FRML -formational:FRMX:FRMX -formatively:FRMT:FRMT -formfitting:FRMF:FRMF -formicaries:FRMK:FRMK -formicarium:FRMK:FRMK -formication:FRMK:FRMK -formletters:FRML:FRML -formolizing:FRML:FRML -formularies:FRML:FRML -formulating:FRML:FRML -formulation:FRML:FRML -formulators:FRML:FRML -formulistic:FRML:FRML -fornicating:FRNK:FRNK -fornication:FRNK:FRNK -fornicators:FRNK:FRNK -fornicatory:FRNK:FRNK -fornicatrix:FRNK:FRNK -forswearers:FRSR:FRSR -forswearing:FRSR:FRSR -forthcoming:FR0K:FRTK -fortifiable:FRTF:FRTF -fortnightly:FRTN:FRTN -fortuitists:FRTT:FRTT -fortunately:FRTN:FRTN -fortuneless:FRTN:FRTN -fortunetell:FRTN:FRTN -forwardness:FRRT:FRRT -fossilizing:FSLS:FSLS -fosterlings:FSTR:FSTR -foulmouthed:FLM0:FLMT -foundations:FNTX:FNTX -fourchettes:FRXT:FRKT -fourflusher:FRFL:FRFL -fourposters:FRPS:FRPS -fourteenths:FRTN:FRTN -foxtrotting:FKST:FKST -fractionary:FRKX:FRKX -fractionate:FRKX:FRKX -fractionize:FRKX:FRKX -fractiously:FRKT:FRKT -fracturable:FRKT:FRKT -fragileness:FRJL:FRKL -fragilities:FRJL:FRKL -fragilocyte:FRJL:FRKL -fragmentary:FRKM:FRKM -fragmentate:FRKM:FRKM -fragmenting:FRKM:FRKM -fragmentize:FRKM:FRKM -franchisees:FRNX:FRNK -franchisers:FRNX:FRNK -franchising:FRNX:FRNK -franchisors:FRNX:FRNK -franciscans:FRNS:FRNS -francophile:FRNK:FRNK -francophobe:FRNK:FRNK -francophone:FRNK:FRNK -frangiblely:FRNJ:FRNK -frankalmoin:FRNK:FRNK -frankfurter:FRNK:FRNK -franklinite:FRNK:FRNK -franticaled:FRNT:FRNT -frantically:FRNT:FRNT -franticness:FRNT:FRNT -fraternally:FRTR:FRTR -fraternized:FRTR:FRTR -fraternizer:FRTR:FRTR -fraternizes:FRTR:FRTR -fratricidal:FRTR:FRTR -fratricides:FRTR:FRTR -fraudulence:FRTL:FRTL -fraudulency:FRTL:FRTL -fredericton:FRTR:FRTR -freebooters:FRPT:FRPT -freebooting:FRPT:FRPT -freehearted:FRHR:FRHR -freeholders:FRHL:FRHL -freelancing:FRLN:FRLN -freeloaders:FRLT:FRLT -freeloading:FRLT:FRLT -freemartins:FRMR:FRMR -freemasonic:FRMS:FRMS -freemasonry:FRMS:FRMS -freethinker:FR0N:FRTN -freewheeled:FRLT:FRLT -freewheeler:FRLR:FRLR -freightless:FRTL:FRTL -freightyard:FRTR:FRTR -frenchified:FRNX:FRNK -frenchifies:FRNX:FRNK -frenchwoman:FRNX:FRNK -frenchwomen:FRNX:FRNK -frequencies:FRKN:FRKN -frequenters:FRKN:FRKN -frequenting:FRKN:FRKN -fretfulness:FRTF:FRTF -freudianism:FRTN:FRTN -friableness:FRPL:FRPL -fricandeaux:FRKN:FRKN -fricasseing:FRKS:FRKS -friendliest:FRNT:FRNT -friendships:FRNT:FRNT -frightening:FRTN:FRTN -frightfully:FRTF:FRTF -frigidities:FRJT:FRKT -frivolities:FRFL:FRFL -frivolously:FRFL:FRFL -froghoppers:FRKP:FRKP -frogmarched:FRKM:FRKM -frogmarches:FRKM:FRKM -frondescent:FRNT:FRNT -frontolysis:FRNT:FRNT -frontrunner:FRNT:FRNT -frostbiting:FRST:FRST -frostbitten:FRST:FRST -frowardness:FRRT:FRRT -frowstiness:FRST:FRST -fructifiers:FRKT:FRKT -fructifying:FRKT:FRKT -fructuaries:FRKT:FRKT -fructuously:FRKT:FRKT -frugalities:FRKL:FRKL -frugivorous:FRJF:FRKF -fruitarians:FRTR:FRTR -fruitlessly:FRTL:FRTL -frustrating:FRST:FRST -frustration:FRST:FRST -frutescence:FRTS:FRTS -fugaciously:FKSS:FKXS -fulfillment:FLFL:FLFL -fulfilments:FLFL:FLFL -fulgurating:FLKR:FLKR -fulguration:FLKR:FLKR -fullmouthed:FLM0:FLMT -fulminating:FLMN:FLMN -fulmination:FLMN:FLMN -fulminators:FLMN:FLMN -fulminatory:FLMN:FLMN -fulsomeness:FLSM:FLSM -fumatoriums:FMTR:FMTR -fumigations:FMKX:FMKX -funambulism:FNMP:FNMP -funambulist:FNMP:FNMP -functionals:FNKX:FNKX -functionary:FNKX:FNKX -functioning:FNKX:FNKX -fundamental:FNTM:FNTM -fundoscopic:FNTS:FNTS -funduscopic:FNTS:FNTS -fungibility:FNJP:FNKP -fungistatic:FNJS:FNKS -fungosities:FNKS:FNKS -funiculitis:FNKL:FNKL -furaldehyde:FRLT:FRLT -furiousness:FRSN:FRSN -furloughing:FRLF:FRLF -furnishings:FRNX:FRNX -furtherance:FR0R:FRTR -furthermore:FR0R:FRTR -furthermost:FR0R:FRTR -furtiveness:FRTF:FRTF -furunculoid:FRNK:FRNK -furunculous:FRNK:FRNK -fusibleness:FSPL:FSPL -fussbudgets:FSPJ:FSPJ -fustanellas:FSTN:FSTN -fustigation:FSTK:FSTK -gabionnades:KPNT:KPNT -gainfulness:KNFL:KNFL -galactocele:KLKT:KLKT -galactoside:KLKT:KLKT -galavanters:KLFN:KLFN -galavanting:KLFN:KLFN -galivanters:KLFN:KLFN -galivanting:KLFN:KLFN -gallantness:KLNT:KLNT -gallantries:KLNT:KLNT -gallbladder:KLPL:KLPL -gallicising:KLSS:KLSS -galliformes:KLFR:KLFR -gallimaufry:KLMF:KLMF -gallinacean:KLNS:KLNS -galliswasps:KLSS:KLSS -gallivanted:KLFN:KLFN -gallivanter:KLFN:KLFN -galvanizers:KLFN:KLFN -galvanizing:KLFN:KLFN -gamahuching:KMHX:KMHK -gamecocking:KMKK:KMKK -gamekeepers:KMKP:KMKP -gametangial:KMTN:KMTN -gametangium:KMTN:KMTN -gametically:KMTK:KMTK -gametocytes:KMTS:KMTS -gametogenic:KMTJ:KMTK -gametogonia:KMTK:KMTK -gametophore:KMTF:KMTF -gametophyte:KMTF:KMTF -gammacismus:KMSS:KMSS -gamogeneses:KMJN:KMKN -gamogenesis:KMJN:KMKN -gamogenetic:KMJN:KMKN -gangliocyte:KNKL:KNLS -gangliomata:KNKL:KNLM -ganglionate:KNKL:KNLN -ganglioside:KNKL:KNLS -gangsterdom:KNKS:KNKS -gangsterism:KNKS:KNKS -garmentless:KRMN:KRMN -garnishable:KRNX:KRNX -garnisheing:KRNX:KRNX -garnishment:KRNX:KRNX -garrisoning:KRSN:KRSN -garrulities:KRLT:KRLT -garrulously:KRLS:KRLS -gaseousness:KSSN:KSSN -gasteropods:KSTR:KSTR -gastrectomy:KSTR:KSTR -gastritides:KSTR:KSTR -gastritises:KSTR:KSTR -gastrocoele:KSTR:KSTR -gastrocolic:KSTR:KSTR -gastrogenic:KSTR:KSTR -gastrograph:KSTR:KSTR -gastroliths:KSTR:KSTR -gastrologer:KSTR:KSTR -gastrolyses:KSTR:KSTR -gastrolysis:KSTR:KSTR -gastronomer:KSTR:KSTR -gastronomic:KSTR:KSTR -gastropodan:KSTR:KSTR -gastroscope:KSTR:KSTR -gastroscopy:KSTR:KSTR -gastrostomy:KSTR:KSTR -gastrotrich:KSTR:KSTR -gastrulated:KSTR:KSTR -gatecrasher:KTKR:KTKR -gatekeepers:KTKP:KTKP -gaultherias:KL0R:KLTR -gawkishness:KKXN:KKXN -gazellelike:KSLL:KTSL -geanticline:JNTK:KNTK -gegenschein:JJNX:KKNX -gelatinized:KLTN:JLTN -gelatinizer:KLTN:JLTN -gelatinizes:KLTN:JLTN -geminations:JMNX:KMNX -gemmiferous:JMFR:KMFR -gemmiparous:JMPR:KMPR -gemmologist:JMLJ:KMLK -gemmulation:JMLX:KMLX -gemological:JMLJ:KMLK -gemologists:JMLJ:KMLK -gendarmerie:JNTR:KNTR -genealogies:JNLJ:KNLK -genealogist:JNLJ:KNLK -generalists:JNRL:KNRL -generalized:JNRL:KNRL -generalizer:JNRL:KNRL -generalizes:JNRL:KNRL -generalship:JNRL:KNRL -generations:JNRX:KNRX -generically:JNRK:KNRK -genetically:JNTK:KNTK -geneticists:JNTS:KNTS -geniculated:JNKL:KNKL -genioglossi:JNKL:KNKL -genioplasty:JNPL:KNPL -genitivally:JNTF:KNTF -genotypical:JNTP:KNTP -genteelness:JNTL:KNTL -gentianella:JNXN:KNXN -gentilities:JNTL:KNTL -gentiobiose:JNTP:KNTP -gentlefolks:JNTL:KNTL -gentlemanly:JNTL:KNTL -gentlewoman:JNTL:KNTL -gentlewomen:JNTL:KNTL -gentrifiers:JNTR:KNTR -genuflected:JNFL:KNFL -genuflector:JNFL:KNFL -genuineness:JNNN:KNNN -geochemical:JXMK:KKMK -geochemists:JXMS:KKMS -geodynamics:JTNM:KTNM -geographers:JKRF:KKRF -geographies:JKRF:KKRF -geologizing:JLJS:KLKS -geomagnetic:JMNT:KMKN -geomedicine:JMTS:KMTS -geometrical:JMTR:KMTR -geometrises:JMTR:KMTR -geometrized:JMTR:KMTR -geometrizes:JMTR:KMTR -geophagists:JFJS:KFKS -geophysical:JFSK:KFSK -geopolitics:JPLT:KPLT -geosciences:JSNS:KSNS -geostrategy:JSTR:KSTR -geostrophic:JSTR:KSTR -geosyncline:JSNK:KSNK -geotectonic:JTKT:KTKT -geotropical:JTRP:KTRP -geratologic:KRTL:JRTL -geriatrists:KRTR:JRTR -germaneness:KRMN:JRMN -germanizers:KRMN:JRMN -germanizing:KRMN:JRMN -germanophil:KRMN:JRMN -germinating:KRMN:JRMN -germination:KRMN:JRMN -germinativa:KRMN:JRMN -germinative:KRMN:JRMN -germinators:KRMN:JRMN -gerontology:KRNT:JRNT -gerrymander:KRMN:JRMN -gerundively:KRNT:JRNT -gestational:KSTX:JSTX -gesticulate:KSTK:JSTK -ghastliness:KSTL:KSTL -ghettoizing:KTSN:KTSN -ghostliness:KSTL:KSTL -ghostscript:KSTS:KSTS -ghostwriter:KSTR:KSTR -ghostwrites:KSTR:KSTR -gibberellic:KPRL:JPRL -gibberellin:KPRL:JPRL -gibbosities:KPST:JPST -gibbousness:KPSN:JPSN -giftwrapped:JFTR:KFTR -gigantesque:JKNT:KKNT -gillyflower:KLFL:JLFL -gimcrackery:JMKR:KMKR -gingerbread:KNKR:JNJR -gingersnaps:KNKR:JNJR -girdlecakes:JRTL:KRTL -girdlescone:JRTL:KRTL -girlfriends:JRLF:KRLF -girlishness:JRLX:KRLX -gitoxigenin:JTKS:KTKS -glacialists:KLSL:KLXL -glaciations:KLSX:KLXX -glaciologic:KLSL:KLXL -gladioluses:KLTL:KLTL -glamorisers:KLMR:KLMR -glamorizing:KLMR:KLMR -glamorously:KLMR:KLMR -glandularly:KLNT:KLNT -glaringness:KLRN:KLRN -glassblower:KLSP:KLSP -glasshouses:KLSS:KLSS -glassmakers:KLSM:KLSM -glassmaking:KLSM:KLSM -glasspapers:KLSP:KLSP -glassworker:KLSR:KLSR -glauconitic:KLKN:KLKN -gleefulness:KLFL:KLFL -glengarries:KLNK:KLNK -glimmerings:KLMR:LMRN -gliomatoses:KLMT:LMTS -gliomatosis:KLMT:LMTS -globalizing:KLPL:KLPL -globefishes:KLPF:KLPF -globeflower:KLPF:KLPF -globigerina:KLPJ:KLPK -globoseness:KLPS:KLPS -globosities:KLPS:KLPS -globularity:KLPL:KLPL -glochidiate:KLXT:KLKT -glomangioma:KLMN:KLMN -glomeration:KLMR:KLMR -glomerulate:KLMR:KLMR -glomerulose:KLMR:KLMR -glorifiable:KLRF:KLRF -glossarists:KLSR:KLSR -glossectomy:KLSK:KLSK -glossodynia:KLST:KLST -glossograph:KLSK:KLSK -glossolalia:KLSL:KLSL -glossopathy:KLSP:KLSP -gloweringly:KLRN:KLRN -glucokinase:KLKK:KLKK -glucolipide:KLKL:KLKL -glucosidase:KLKS:KLKS -glucuronide:KLKR:KLKR -glutaminase:KLTM:KLTM -glutathione:KLT0:KLTT -glutinosity:KLTN:KLTN -glutinously:KLTN:KLTN -glycerinate:KLSR:KLSR -glycocholic:KLKX:KLKK -glycogenous:KLKJ:KLKK -glycolipide:KLKL:KLKL -glycosialia:KLKS:KLKX -glycosidase:KLKS:KLKS -glycotropic:KLKT:KLKT -glyphograph:KLFK:KLFK -glyptodonts:KLPT:KLPT -gnatcatcher:NTKX:NTKX -gnathostoma:N0ST:NTST -gnostically:NSTK:NSTK -gnosticises:NSTS:NSTS -gnosticized:NSTS:NSTS -gnosticizer:NSTS:NSTS -gnosticizes:NSTS:NSTS -gnotobiotic:NTPT:NTPT -goalkeepers:KLKP:KLKP -goalkeeping:KLKP:KLKP -goaltenders:KLTN:KLTN -goatishness:KTXN:KTXN -goatsbeards:KTSP:KTSP -gobstoppers:KPST:KPST -godchildren:KTXL:KTKL -goddaughter:KTTR:KTTR -goddesshood:KTST:KTST -godforsaken:KTFR:KTFR -godlessness:KTLS:KTLS -goggleboxes:KKLP:KKLP -goitrogenic:KTRJ:KTRK -goldbricker:KLTP:KLTP -goldenseals:KLTN:KLTN -goldfinches:KLTF:KLTF -goldfinnies:KLTF:KLTF -goldsinnies:KLTS:KLTS -goldsmithes:KLTS:KLTS -goldthreads:KLTR:KLTR -gonadectomy:KNTK:KNTK -gonepoieses:KNPS:KNPS -gonepoiesis:KNPS:KNPS -gonfalonier:KNFL:KNFL -gongoristic:KNKR:KNKR -goniometric:KNMT:KNMT -gonioscopic:KNSK:KNSK -gonogeneses:KNJN:KNKN -gonogenesis:KNJN:KNKN -gonophorous:KNFR:KNFR -gonorrhoeal:KNRL:KNRL -gonorrhoeic:KNRK:KNRK -goosenecked:KSNK:KSNK -gorgonising:KRKN:KRKN -gormandized:KRMN:KRMN -gormandizer:KRMN:KRMN -gormandizes:KRMN:KRMN -gossipingly:KSPN:KSPN -gothicizing:K0SS:KTSS -gothisizers:K0SS:KTSS -gothisizing:K0SS:KTSS -gourmandise:KRMN:KRMN -gourmandism:KRMN:KRMN -governesses:KFRN:KFRN -governments:KFRN:KFRN -governorate:KFRN:KFRN -gracelessly:KRSL:KRSL -gracileness:KRSL:KRSL -gradability:KRTP:KRTP -gradational:KRTX:KRTX -gradualists:KRTL:KRTL -gradualness:KRTL:KRTL -graduations:KRTX:KRTX -graffitists:KRFT:KRFT -gralloching:KRLX:KRLK -gramaphonic:KRMF:KRMF -grammalogue:KRML:KRML -grammarians:KRMR:KRMR -grammarless:KRMR:KRMR -grammatical:KRMT:KRMT -gramophones:KRMF:KRMF -granadillas:KRNT:KRNT -grandeeship:KRNT:KRNT -grandfather:KRNT:KRNT -grandiosely:KRNT:KRNT -grandiosity:KRNT:KRNT -grandmaster:KRNT:KRNT -grandmother:KRNT:KRNT -grandnephew:KRNT:KRNT -grandnieces:KRNT:KRNT -grandparent:KRNT:KRNT -grandstands:KRNT:KRNT -granduncles:KRNT:KRNT -grangerises:KRNK:KRNJ -grangerized:KRNK:KRNJ -grangerizer:KRNK:KRNJ -grangerizes:KRNK:KRNJ -graniferous:KRNF:KRNF -graniteware:KRNT:KRNT -graniverous:KRNF:KRNF -granivorous:KRNF:KRNF -granolithic:KRNL:KRNL -granophyric:KRNF:KRNF -granularity:KRNL:KRNL -granulaters:KRNL:KRNL -granulating:KRNL:KRNL -granulation:KRNL:KRNL -granulative:KRNL:KRNL -granulators:KRNL:KRNL -granulocyte:KRNL:KRNL -granulomata:KRNL:KRNL -grapefruits:KRPF:KRPF -graphically:KRFK:KRFK -graphicness:KRFK:KRFK -graphitises:KRFT:KRFT -graphitized:KRFT:KRFT -graphitizes:KRFT:KRFT -graphologic:KRFL:KRFL -graphometry:KRFM:KRFM -graphomotor:KRFM:KRFM -graphorrhea:KRFR:KRFR -graphospasm:KRFS:KRFS -graptolites:KRPT:KRPT -grasshopper:KRSP:KRSP -gravestones:KRFS:KRFS -gravidities:KRFT:KRFT -gravimetric:KRFM:KRFM -gravitaters:KRFT:KRFT -gravitating:KRFT:KRFT -gravitation:KRFT:KRFT -gravitative:KRFT:KRFT -grayscaling:KRSK:KRSK -greasepaint:KRSP:KRSP -greatcoated:KRTK:KRTK -greenbottle:KRNP:KRNP -greenbriers:KRNP:KRNP -greengrocer:KRNK:KRNK -greenhearts:KRNR:KRNR -greenhouses:KRNS:KRNS -greenockite:KRNK:KRNK -greenshanks:KRNX:KRNX -gregarinian:KRKR:KRKR -gregarinida:KRKR:KRKR -gressorious:KRSR:KRSR -greybearded:KRPR:KRPR -griddlecake:KRTL:KRTL -grimacingly:KRMS:KRMS -grindstones:KRNT:KRNT -gristliness:KRST:KRST -grotesquely:KRTS:KRTS -grotesquery:KRTS:KRTS -grouchiness:KRXN:KRKN -groundlings:KRNT:KRNT -groundsheet:KRNT:KRNT -groundsills:KRNT:KRNT -groundspeed:KRNT:KRNT -groundswell:KRNT:KRNT -groundwater:KRNT:KRNT -grovelingly:KRFL:KRFL -grubstaking:KRPS:KRPS -grumblingly:KRMP:KRMP -guaranteers:KRNT:KRNT -guaranteing:KRNT:KRNT -guarantying:KRNT:KRNT -guardedness:KRTT:KRTT -guardhouses:KRTS:KRTS -guatemalans:KTML:KTML -gubernacula:KPRN:KPRN -gubernative:KPRN:KPRN -guerillaism:KRLS:KRLS -guesstimate:KSTM:KSTM -guesthouses:KS0S:KSTS -guestimates:KSTM:KSTM -guildswoman:KLTS:KLTS -guildswomen:KLTS:KLTS -guilelessly:KLLS:KLLS -guillotined:KLTN:KLTN -guillotiner:KLTN:KLTN -guillotines:KLTN:KLTN -guiltlessly:KLTL:KLTL -gullibility:KLPL:KLPL -gunfighters:KNFT:KNFT -gunslingers:KNSL:KNSL -gunslinging:KNSL:KNSL -gunsmithing:KNSM:KNSM -gurgitation:KRJT:KRKT -gustatorial:KSTT:KSTT -gustatorily:KSTT:KSTT -gutlessness:KTLS:KTLS -gutteralise:KTRL:KTRL -guttersnipe:KTRS:KTRS -gutturalism:KTRL:KTRL -gutturality:KTRL:KTRL -gutturalize:KTRL:KTRL -gymnasiarch:KMNS:JMNX -gymnasiasts:KMNS:JMNX -gymnosperms:KMNS:JMNS -gynaecology:KNKL:JNKL -gynecogenic:KNKJ:JNKK -gynecologic:KNKL:JNKL -gynogeneses:KNJN:JNKN -gynogenesis:KNJN:JNKN -gypsiferous:KPSF:JPSF -gyrectomies:KRKT:JRKT -gyrocompass:KRKM:JRKM -gyroscopics:KRSK:JRSK -gyrostatics:KRST:JRST -haberdasher:HPRT:HPRT -habiliments:HPLM:HPLM -habitancies:HPTN:HPTN -habitations:HPTX:HPTX -habituality:HPTL:HPTL -habituating:HPTT:HPTT -habituation:HPTX:HPTX -hackberries:HKPR:HKPR -hackbuteers:HKPT:HKPT -hackbutters:HKPT:HKPT -haecceities:HXTS:HXTS -haemachrome:HMKR:HMKR -haemangioma:HMNJ:HMNK -haematocele:HMTS:HMTS -haematocrit:HMTK:HMTK -haematology:HMTL:HMTL -haematomata:HMTM:HMTM -haematozoon:HMTS:HMTS -haemocyanin:HMSN:HMSN -haemoglobin:HMKL:HMKL -haemolysins:HMLS:HMLS -haemophilia:HMFL:HMFL -haemophilic:HMFL:HMFL -haemoptyses:HMPT:HMPT -haemoptysis:HMPT:HMPT -haemorrhage:HMRJ:HMRK -haemostasia:HMST:HMST -haemostasis:HMST:HMST -haemostatic:HMST:HMST -haemothorax:HM0R:HMTR -haggadistic:HKTS:HKTS -haggardness:HKRT:HKRT -haggishness:HJXN:HKXN -hagiarchies:HJRX:HKRK -hagiography:HJKR:HKKR -hagiolaters:HJLT:HKLT -hagiologies:HJLJ:HKLK -hagiologist:HJLJ:HKLK -hagioscopes:HJSK:HKSK -hairbreadth:HRPR:HRPR -hairbrushes:HRPR:HRPR -hairclothes:HRKL:HRKL -haircutting:HRKT:HRKT -hairdresser:HRTR:HRTR -hairsprings:HRSP:HRSP -hairstreaks:HRST:HRST -hairstyling:HRST:HRST -hairstylist:HRST:HRST -hairweavers:HRFR:HRFR -hairweaving:HRFN:HRFN -halberdiers:HLPR:HLPR -halfhearted:HLFR:HLFR -halfpennies:HLFP:HLFP -hallelujahs:HLLJ:HLLH -hallmarking:HLMR:HLMR -hallucinate:HLSN:HLSN -halogenated:HLJN:HLKN -haloperidol:HLPR:HLPR -halophilous:HLFL:HLFL -halophytism:HLFT:HLFT -halterbreak:HLTR:HLTR -haltingness:HLTN:HLTN -hamamelises:HMML:HMML -hamartomata:HMRT:HMRT -hamiltonian:HMLT:HMLT -hammerheads:HMRT:HMRT -hammerlocks:HMRL:HMRL -hampshirite:HMPX:HMPX -hamshackled:HMXK:HMXK -hamshackles:HMXK:HMXK -handballers:HNTP:HNTP -handbarrows:HNTP:HNTP -handbreadth:HNTP:HNTP -handcrafted:HNTK:HNTK -handcuffing:HNTK:HNTK -handfeeding:HNTF:HNTF -handicapped:HNTK:HNTK -handicapper:HNTK:HNTK -handicrafts:HNTK:HNTK -handmaidens:HNTM:HNTM -handpicking:HNTP:HNTP -handshaking:HNTX:HNTX -handsprings:HNTS:HNTS -handstrokes:HNTS:HNTS -handwriters:HNTR:HNTR -handwriting:HNTR:HNTR -handwritten:HNTR:HNTR -haphazardly:HFSR:HFSR -haplessness:HPLS:HPLS -haplography:HPLK:HPLK -haplologies:HPLL:HPLL -haploscopic:HPLS:HPLS -haptoglobin:HPTK:HPTK -harassingly:HRSN:HRSN -harassments:HRSM:HRSM -hardhearted:HRTR:HRTR -hardworking:HRTR:HRTR -harebrained:HRPR:HRPR -harmfulness:HRMF:HRMF -harmonistic:HRMN:HRMN -harmonizers:HRMN:HRMN -harmonizing:HRMN:HRMN -harnessless:HRNS:HRNS -harpooneers:HRPN:HRPN -harpoonists:HRPN:HRPN -harpsichord:HRPS:HRPS -harquibuses:HRKP:HRKP -harvestable:HRFS:HRFS -hatchetlike:HXTL:HXTL -hatefulness:HTFL:HTFL -haubergeons:HPRJ:HPRK -haughtiness:HTNS:HTNS -haustellate:HSTL:HSTL -haustration:HSTR:HSTR -hazardously:HSRT:HSRT -headdresses:HTRS:HTRS -headhunters:HTNT:HTNT -headhunting:HTNT:HTNT -headmasters:HTMS:HTMS -headquarter:HTKR:HTKR -headreached:HTRX:HTRK -headreaches:HTRX:HTRK -headscarves:HTSK:HTSK -headsprings:HTSP:HTSP -headsquares:HTSK:HTSK -headstreams:HTST:HTST -headwaiters:HTTR:HTTR -headworkers:HTRK:HTRK -healthfully:HL0F:HLTF -healthiness:HL0N:HLTN -heartbreaks:HRTP:HRTP -heartbroken:HRTP:HRTP -hearthsides:HR0S:HRTS -hearthstone:HR0S:HRTS -heartlessly:HRTL:HRTL -heartstring:HRTS:HRTS -heartthrobs:HR0R:HRTR -heathenises:H0NS:HTNS -heathenized:H0NS:HTNS -heathenizes:H0NS:HTNS -heathenness:H0NS:HTNS -heatstrokes:HTST:HTST -heavenwards:HFNR:HFNR -heavyweight:HFT:HFT -hebephrenia:HPFR:HPFR -hebephrenic:HPFR:HPFR -hebraically:HPRK:HPRK -heckelphone:HKLF:HKLF -hectocotyla:HKTK:HKTK -hectogramme:HKTK:HKTK -hectography:HKTK:HKTK -hectoliters:HKTL:HKTL -hectometers:HKTM:HKTM -hedgehopped:HJHP:HJHP -hedgehopper:HJHP:HJHP -hedonically:HTNK:HTNK -heedfulness:HTFL:HTFL -hegemonical:HJMN:HKMN -heightening:HTNN:HTNN -heinousness:HNSN:HNSN -helianthine:HLN0:HLNT -helichrysum:HLXR:HLKR -helicograph:HLKK:HLKK -helicopters:HLKP:HLKP -helicorubin:HLKR:HLKR -helicotrema:HLKT:HLKT -heliochrome:HLKR:HLKR -heliographs:HLKR:HLKR -heliography:HLKR:HLKR -heliolaters:HLLT:HLLT -heliolithic:HLL0:HLLT -heliometric:HLMT:HLMT -heliosphere:HLSF:HLSF -heliostatic:HLST:HLST -heliotactic:HLTK:HLTK -heliotropes:HLTR:HLTR -heliotropic:HLTR:HLTR -heliotropin:HLTR:HLTR -hellbenders:HLPN:HLPN -helleborine:HLPR:HLPR -hellenising:HLNS:HLNS -hellenistic:HLNS:HLNS -hellishness:HLXN:HLXN -helminthoid:HLMN:HLMN -helpfulness:HLPF:HLPF -hemangiomas:HMNJ:HMNK -hemapoieses:HMPS:HMPS -hemapoiesis:HMPS:HMPS -hemathermal:HM0R:HMTR -hematinemia:HMTN:HMTN -hematinuria:HMTN:HMTN -hematoblast:HMTP:HMTP -hematocryal:HMTK:HMTK -hematogonia:HMTK:HMTK -hematologic:HMTL:HMTL -hematolyses:HMTL:HMTL -hematolysis:HMTL:HMTL -hematolytic:HMTL:HMTL -hematometra:HMTM:HMTM -hematoscope:HMTS:HMTS -hematoxylin:HMTK:HMTK -hemeralopia:HMRL:HMRL -hemeralopic:HMRL:HMRL -hemianopsia:HMNP:HMNP -hemianoptic:HMNP:HMNP -hemiatrophy:HMTR:HMTR -hemiballism:HMPL:HMPL -hemicentrum:HMSN:HMSN -hemicerebra:HMSR:HMSR -hemielytral:HMLT:HMLT -hemielytron:HMLT:HMLT -hemihydrate:HMHT:HMHT -hemilateral:HMLT:HMLT -hemimorphic:HMMR:HMMR -hemipareses:HMPR:HMPR -hemiparesis:HMPR:HMPR -hemipterous:HMPT:HMPT -hemisection:HMSK:HMSK -hemispheres:HMSF:HMSF -hemispheric:HMSF:HMSF -hemistiches:HMST:HMST -hemiterpene:HMTR:HMTR -hemitropism:HMTR:HMTR -hemoclastic:HMKL:HMKL -hemocuprein:HMKP:HMKP -hemodynamic:HMTN:HMTN -hemometries:HMMT:HMMT -hemopathies:HMP0:HMPT -hemophagous:HMFK:HMFK -hemophiliac:HMFL:HMFL -hemopoieses:HMPS:HMPS -hemopoiesis:HMPS:HMPS -hemopoietic:HMPT:HMPT -hemopoietin:HMPT:HMPT -hemoprotein:HMPR:HMPR -hemoproteus:HMPR:HMPR -hemorrhaged:HMRJ:HMRK -hemorrhages:HMRJ:HMRK -hemorrhagic:HMRJ:HMRK -hemorrhagin:HMRJ:HMRK -hemorrhoids:HMRT:HMRT -hemosalpinx:HMSL:HMSL -hemosiderin:HMST:HMST -hemstitched:HMST:HMST -hemstitcher:HMST:HMST -hemstitches:HMST:HMST -henotheists:HN0S:HNTS -heparinized:HPRN:HPRN -heparinizes:HPRN:HPRN -hepatectomy:HPTK:HPTK -hepatitides:HPTT:HPTT -hepatogenic:HPTJ:HPTK -hepatopathy:HPTP:HPTP -hepatoscopy:HPTS:HPTS -hepatotoxic:HPTT:HPTT -hepatotoxin:HPTT:HPTT -heptahedral:HPTH:HPTH -heptahedron:HPTH:HPTH -heptamerous:HPTM:HPTM -heptangular:HPTN:HPTN -heptarchies:HPTR:HPTR -heptavalent:HPTF:HPTF -herbivorous:HRPF:HRPF -hereditable:HRTT:HRTT -hereditably:HRTT:HRTT -hereditates:HRTT:HRTT -hereditists:HRTT:HRTT -hereinabove:HRNP:HRNP -hereinafter:HRNF:HRNF -hereinbelow:HRNP:HRNP -heresiarchs:HRSR:HRXR -heretically:HRTK:HRTK -hermeneutic:HRMN:HRMN -herniations:HRNX:HRNX -herpesvirus:HRPS:HRPS -herpetiform:HRPT:HRPT -herpetology:HRPT:HRPT -herringbone:HRNK:HRNK -hesitancies:HSTN:HSTN -hesitations:HSTX:HSTX -hesperidium:HSPR:HSPR -hetaeristic:HTRS:HTRS -hetairistic:HTRS:HTRS -heterecious:HTRS:HTRX -heteroauxin:HTRK:HTRK -heteroclite:HTRK:HTRK -heterocrine:HTRK:HTRK -heterocycle:HTRS:HTRS -heterodyned:HTRT:HTRT -heterodynes:HTRT:HTRT -heteroecism:HTRS:HTRS -heterogenic:HTRJ:HTRK -heterogonic:HTRK:HTRK -heterograft:HTRK:HTRK -heterolyses:HTRL:HTRL -heterolysin:HTRL:HTRL -heterolysis:HTRL:HTRL -heterolytic:HTRL:HTRL -heterophemy:HTRF:HTRF -heterophile:HTRF:HTRF -heterophony:HTRF:HTRF -heterophyes:HTRF:HTRF -heterophyid:HTRF:HTRF -heterophyte:HTRF:HTRF -heteroplasm:HTRP:HTRP -heteroploid:HTRP:HTRP -heteropolar:HTRP:HTRP -heteroscope:HTRS:HTRS -heteroscopy:HTRS:HTRS -heterospory:HTRS:HTRS -heterostyly:HTRS:HTRS -heterotaxes:HTRT:HTRT -heterotaxia:HTRT:HTRT -heterotaxic:HTRT:HTRT -heterotaxis:HTRT:HTRT -heterotopia:HTRT:HTRT -heterotopic:HTRT:HTRT -heterotroph:HTRT:HTRT -heterotypic:HTRT:HTRT -hetreotaxia:HTRT:HTRT -heuristical:HRST:HRST -hexachromic:HKSK:HKSK -hexadecimal:HKST:HKST -hexagonally:HKSK:HKSK -hexahedrons:HKSH:HKSH -hexahemeric:HKSH:HKSH -hexahemeron:HKSH:HKSH -hexahydrate:HKSH:HKSH -hexastichic:HKSS:HKSS -hibernating:HPRN:HPRN -hibernation:HPRN:HPRN -hibernators:HPRN:HPRN -hideousness:HTSN:HTSN -hidradenoma:HTRT:HTRT -hierarchial:HRRK:HRRK -hierarchies:HRRX:HRRK -hierarchism:HRRX:HRRK -hierocratic:HRKR:HRKR -hierologies:HRLJ:HRLK -hierologist:HRLJ:HRLK -hierophants:HRFN:HRFN -highfalutin:HFLT:HFLT -highlanders:HLNT:HLNT -highlighted:HLTT:HLTT -hightailing:HTLN:HTLN -hilariously:HLRS:HLRS -hillbillies:HLPL:HLPL -hindquarter:HNTK:HNTK -hinterlands:HNTR:HNTR -hippeastrum:HPST:HPST -hippoboscid:HPPS:HPPS -hippocampal:HPKM:HPKM -hippocampus:HPKM:HPKM -hippocrates:HPKR:HPKR -hippocratic:HPKR:HPKR -hippodromes:HPTR:HPTR -hippologies:HPLJ:HPLK -hippopotami:HPPT:HPPT -hippuricase:HPRK:HPRK -hirsuteness:HRST:HRST -hirudinidae:HRTN:HRTN -histaminase:HSTM:HSTM -histiocytic:HSTS:HSTS -histogenies:HSTJ:HSTK -histologies:HSTL:HSTL -histologist:HSTL:HSTL -histoplasma:HSTP:HSTP -historiated:HSTR:HSTR -historicism:HSTR:HSTR -historicist:HSTR:HSTR -historicity:HSTR:HSTR -histotrophe:HSTT:HSTT -histrionics:HSTR:HSTR -hitchhikers:HXKR:HXKR -hitchhiking:HXKN:HXKN -hobbledehoy:HPLT:HPLT -hobbyhorses:HPHR:HPHR -hodgepodges:HJPJ:HJPJ -hodographic:HTKR:HTKR -hoggishness:HJXN:HKXN -hollandaise:HLNT:HLNT -holoblastic:HLPL:HLPL -holocaustal:HLKS:HLKS -holocaustic:HLKS:HLKS -holographes:HLKR:HLKR -holographic:HLKR:HLKR -holohedrism:HLHT:HLHT -holomorphic:HLMR:HLMR -holothurian:HL0R:HLTR -homatropine:HMTR:HMTR -homecomings:HMKM:HMKM -homelanding:HMLN:HMLN -homeopathic:HMP0:HMPT -homeoplasia:HMPL:HMPL -homeostases:HMST:HMST -homeostasis:HMST:HMST -homeostatic:HMST:HMST -homesteader:HMST:HMST -homestretch:HMST:HMST -homeworkers:HMRK:HMRK -homewrecker:HMRK:HMRK -homicidally:HMST:HMST -homiletical:HMLT:HMLT -homoblastic:HMPL:HMPL -homocentric:HMSN:HMSN -homocystine:HMSS:HMSS -homoeopathy:HMP0:HMPT -homoeotypic:HMTP:HMTP -homoerotism:HMRT:HMRT -homogametic:HMKM:HMKM -homogeneity:HMJN:HMKN -homogeneous:HMJN:HMKN -homogeneses:HMJN:HMKN -homogenesis:HMJN:HMKN -homogenetic:HMJN:HMKN -homogenized:HMJN:HMKN -homogenizer:HMJN:HMKN -homogenizes:HMJN:HMKN -homographes:HMKR:HMKR -homographic:HMKR:HMKR -homoiotherm:HM0R:HMTR -homolateral:HMLT:HMLT -homologated:HMLK:HMLK -homologates:HMLK:HMLK -homological:HMLJ:HMLK -homologized:HMLJ:HMLK -homologizer:HMLJ:HMLK -homologizes:HMLJ:HMLK -homomorphic:HMMR:HMMR -homophonous:HMFN:HMFN -homophyllic:HMFL:HMFL -homoplastic:HMPL:HMPL -homopolymer:HMPL:HMPL -homopterous:HMPT:HMPT -homosapiens:HMSP:HMSP -homospories:HMSP:HMSP -homosporous:HMSP:HMSP -homothallic:HM0L:HMTL -homothermal:HM0R:HMTR -homothermic:HM0R:HMTR -homozygoses:HMSK:HMSK -homozygosis:HMSK:HMSK -homozygotic:HMSK:HMSK -honeycombed:HNKM:HNKM -honeymooned:HNMN:HNMN -honeymooner:HNMN:HNMN -honeysucker:HNSK:HNSK -honeysuckle:HNSK:HNSK -honorariums:HNRR:HNRR -honourarily:HNRR:HNRR -honourarium:HNRR:HNRR -honourifics:HNRF:HNRF -hoodwinkers:HTNK:HTNK -hoodwinking:HTNK:HTNK -hooliganism:HLKN:HLKN -hopefulness:HPFL:HPFL -hoplologist:HPLL:HPLL -horizonless:HRSN:HRSN -hornblendes:HRNP:HRNP -hornblendic:HRNP:HRNP -hornswoggle:HRNS:HRNS -horological:HRLJ:HRLK -horologists:HRLJ:HRLK -horoscopies:HRSK:HRSK -horselaughs:HRSL:HRSL -horseplayer:HRSP:HRSP -horsepowers:HRSP:HRSP -horseradish:HRSR:HRSR -horseshoing:HRSX:HRSX -hortatively:HRTT:HRTT -hortatorily:HRTT:HRTT -hospitalism:HSPT:HSPT -hospitality:HSPT:HSPT -hospitalize:HSPT:HSPT -hospitaller:HSPT:HSPT -hospiticide:HSPT:HSPT -hostilities:HSTL:HSTL -hotelkeeper:HTLK:HTLK -hotheadedly:H0TT:HTTT -houndfishes:HNTF:HNTF -hourglasses:HRKL:HRKL -housebroken:HSPR:HSPR -housefather:HSF0:HSFT -householder:HSHL:HSHL -housekeeper:HSKP:HSKP -houselights:HSLT:HSLT -housemaster:HSMS:HSMS -housemother:HSM0:HSMT -housewifely:HSFL:HSFL -housewifery:HSFR:HSFR -houseworker:HSRK:HSRK -hovercrafts:HFRK:HFRK -hovertrains:HFRT:HFRT -huckleberry:HKLP:HKLP -huckstering:HKST:HKST -hudibrastic:HTPR:HTPR -huffishness:HFXN:HFXN -humdrumness:HMTR:HMTR -humectation:HMKT:HMKT -humidifiers:HMTF:HMTF -humidifying:HMTF:HMTF -humiliating:HMLT:HMLT -humiliation:HMLX:HMLX -humiliative:HMLT:HMLT -humiliators:HMLT:HMLT -humiliatory:HMLT:HMLT -hummingbird:HMNK:HMNK -humoresques:HMRS:HMRS -humorlessly:HMRL:HMRL -hunchbacked:HNXP:HNKP -hundredfold:HNTR:HNTR -hundredthes:HNTR:HNTR -hungeringly:HNKR:HNJR -hunnishness:HNXN:HNXN -hurriedness:HRTN:HRTN -hurtfulness:HRTF:HRTF -husbandless:HSPN:HSPN -husbandlike:HSPN:HSPN -hyacinthine:HSN0:HSNT -hyalomucoid:HLMK:HLMK -hyaluronate:HLRN:HLRN -hybridizers:HPRT:HPRT -hybridizing:HPRT:HPRT -hydatidoses:HTTT:HTTT -hydatidosis:HTTT:HTTT -hydnocarpic:HTNK:HTNK -hydnocarpus:HTNK:HTNK -hydralazine:HTRL:HTRL -hydrargyria:HTRR:HTRR -hydrargyrum:HTRR:HTRR -hydrencepha:HTRN:HTRN -hydrobromic:HTRP:HTRP -hydrocarbon:HTRK:HTRK -hydrocyanic:HTRS:HTRS -hydrogenase:HTRJ:HTRK -hydrogenate:HTRJ:HTRK -hydrogenize:HTRJ:HTRK -hydrogenous:HTRJ:HTRK -hydrography:HTRK:HTRK -hydrologist:HTRL:HTRL -hydrolyzate:HTRL:HTRL -hydrolyzing:HTRL:HTRL -hydromancer:HTRM:HTRM -hydromantic:HTRM:HTRM -hydromedusa:HTRM:HTRM -hydrometeor:HTRM:HTRM -hydrometric:HTRM:HTRM -hydromyelia:HTRM:HTRM -hydropathic:HTRP:HTRP -hydrophanes:HTRF:HTRF -hydrophilic:HTRF:HTRF -hydrophobia:HTRF:HTRF -hydrophobic:HTRF:HTRF -hydrophones:HTRF:HTRF -hydrophonic:HTRF:HTRF -hydrophytic:HTRF:HTRF -hydroplanes:HTRP:HTRP -hydroponics:HTRP:HTRP -hydroscopes:HTRS:HTRS -hydroscopic:HTRS:HTRS -hydrosphere:HTRS:HTRS -hydrostatic:HTRS:HTRS -hydrotactic:HTRT:HTRT -hydrothorax:HTR0:HTRT -hydrotropic:HTRT:HTRT -hydroureter:HTRR:HTRR -hydroxonium:HTRK:HTRK -hydroxylase:HTRK:HTRK -hydroxyurea:HTRK:HTRK -hydroxyzine:HTRK:HTRK -hyetographs:HTKR:HTKR -hyetography:HTKR:HTKR -hygrographs:HKRK:HKRK -hygrometric:HKRM:HKRM -hygroscopes:HKRS:HKRS -hygroscopic:HKRS:HKRS -hylophagous:HLFK:HLFK -hylozoistic:HLSS:HLSS -hymenolepis:HMNL:HMNL -hymenoptera:HMNP:HMNP -hymnologist:HMNL:HMNL -hyoscyamine:HSMN:HSMN -hyparterial:HPRT:HPRT -hyperaction:HPRK:HPRK -hyperactive:HPRK:HPRK -hyperbolaes:HPRP:HPRP -hyperbolism:HPRP:HPRP -hyperbolize:HPRP:HPRP -hyperboloid:HPRP:HPRP -hyperborean:HPRP:HPRP -hypercapnia:HPRK:HPRK -hypercapnic:HPRK:HPRK -hypercharge:HPRX:HPRK -hypercritic:HPRK:HPRK -hyperemeses:HPRM:HPRM -hyperemesis:HPRM:HPRM -hyperergies:HPRR:HPRR -hypergamous:HPRK:HPRK -hypergeusia:HPRJ:HPRK -hypermarket:HPRM:HPRM -hypermetric:HPRM:HPRM -hypermnesia:HPRM:HPRM -hypermnesic:HPRM:HPRM -hypermodern:HPRM:HPRM -hyperpathia:HPRP:HPRP -hyperpathic:HPRP:HPRP -hyperphagia:HPRF:HPRF -hyperphagic:HPRF:HPRF -hyperpiesia:HPRP:HPRP -hyperpiesis:HPRP:HPRP -hyperpietic:HPRP:HPRP -hyperplasia:HPRP:HPRP -hyperploidy:HPRP:HPRP -hyperpragia:HPRP:HPRP -hyperpraxia:HPRP:HPRP -hypersexual:HPRS:HPRS -hypersomnia:HPRS:HPRS -hypersonics:HPRS:HPRS -hypersthene:HPRS:HPRS -hypertensin:HPRT:HPRT -hyperthermy:HPR0:HPRT -hypertonias:HPRT:HPRT -hypertonies:HPRT:HPRT -hypertrophy:HPRT:HPRT -hypesthesia:HPS0:HPST -hyphenating:HFNT:HFNT -hyphenation:HFNX:HFNX -hyphidroses:HFTR:HFTR -hyphidrosis:HFTR:HFTR -hypnogenous:HPNJ:HPNK -hypnologies:HPNL:HPNL -hypnologist:HPNL:HPNL -hypnopaedia:HPNP:HPNP -hypnophobia:HPNF:HPNF -hypnopompic:HPNP:HPNP -hypnotizing:HPNT:HPNT -hypoacidity:HPST:HPST -hypoadrenia:HPTR:HPTR -hypoblastic:HPPL:HPPL -hypobromite:HPPR:HPPR -hypobromous:HPPR:HPPR -hypocenters:HPSN:HPSN -hypochordal:HPXR:HPKR -hypochromia:HPKR:HPKR -hypochromic:HPKR:HPKR -hypocrisies:HPKR:HPKR -hypocycloid:HPSK:HPSK -hypodermics:HPTR:HPTR -hypodiploid:HPTP:HPTP -hypodynamia:HPTN:HPTN -hypodynamic:HPTN:HPTN -hypogastria:HPKS:HPKS -hypogastric:HPKS:HPKS -hypogeneses:HPJN:HPKN -hypogenesis:HPJN:HPKN -hypogenetic:HPJN:HPKN -hypoglossal:HPKL:HPKL -hypoglossus:HPKL:HPKL -hypoglottis:HPKL:HPKL -hypokalemia:HPKL:HPKL -hypokalemic:HPKL:HPKL -hypokineses:HPKN:HPKN -hypokinesia:HPKN:HPKN -hypokinesis:HPKN:HPKN -hypolimnion:HPLM:HPLM -hypomorphic:HPMR:HPMR -hyponitrite:HPNT:HPNT -hyponitrous:HPNT:HPNT -hyponychial:HPNK:HPNK -hyponychium:HPNX:HPNK -hypopharynx:HPFR:HPFR -hypophrenia:HPFR:HPFR -hypophrenic:HPFR:HPFR -hypophyseal:HPFS:HPFS -hypophysial:HPFS:HPFX -hypoplastic:HPPL:HPPL -hyposcleral:HPSK:HPSK -hypospadiac:HPSP:HPSP -hypospadias:HPSP:HPSP -hypostasise:HPST:HPST -hypostatize:HPST:HPST -hyposthenia:HPS0:HPST -hyposthenic:HPS0:HPST -hypostypsis:HPST:HPST -hypostyptic:HPST:HPST -hyposulfite:HPSL:HPSL -hypotension:HPTN:HPTN -hypotensive:HPTN:HPTN -hypotenuses:HPTN:HPTN -hypothalami:HP0L:HPTL -hypothecary:HP0K:HPTK -hypothecate:HP0K:HPTK -hypothenuse:HP0N:HPTN -hypothermal:HP0R:HPTR -hypothermia:HP0R:HPTR -hypothermic:HP0R:HPTR -hypothesist:HP0S:HPTS -hypothesize:HP0S:HPTS -hypothetico:HP0T:HPTT -hypothyroid:HP0R:HPTR -hypotonical:HPTN:HPTN -hypotympana:HPTM:HPTM -hypovolemia:HPFL:HPFL -hypovolemic:HPFL:HPFL -hypsicephal:HPSS:HPSS -hypsography:HPSK:HPSK -hypsometric:HPSM:HPSM -hyracoidean:HRKT:HRKT -hysterogeny:HSTR:HSTR -hysterogram:HSTR:HSTR -hysteroidal:HSTR:HSTR -hysterology:HSTR:HSTR -hysteropexy:HSTR:HSTR -hysterotely:HSTR:HSTR -hysterotome:HSTR:HSTR -hysterotomy:HSTR:HSTR -icebreakers:ASPR:ASPR -ichnography:AXNK:AKNK -ichthyismus:AK0S:AKTS -ichthyocoll:AK0K:AKTK -ichthyoidal:AK0T:AKTT -ichthyolite:AK0L:AKTL -ichthyology:AK0L:AKTL -ichthyornis:AK0R:AKTR -iconoclasts:AKNK:AKNK -iconography:AKNK:AKNK -iconolaters:AKNL:AKNL -iconologist:AKNL:AKNL -iconoscopes:AKNS:AKNS -icosahedral:AKSH:AKSH -icosahedron:AKSH:AKSH -icteritious:AKTR:AKTR -icterogenic:AKTR:AKTR -idempotents:ATMP:ATMP -identically:ATNT:ATNT -identifiers:ATNT:ATNT -identifying:ATNT:ATNT -ideogenetic:ATJN:ATKN -ideographes:ATKR:ATKR -ideokinetic:ATKN:ATKN -ideological:ATLJ:ATLK -ideologists:ATLJ:ATLK -ideologized:ATLJ:ATLK -ideologizes:ATLJ:ATLK -ideoplastic:ATPL:ATPL -idioblastic:ATPL:ATPL -idiocrasies:ATKR:ATKR -idiogeneses:ATJN:ATKN -idiogenesis:ATJN:ATKN -idiogenetic:ATJN:ATKN -idioglossia:ATKL:ATKL -idiographic:ATKR:ATKR -idiomatical:ATMT:ATMT -idiomorphic:ATMR:ATMR -idiopathies:ATP0:ATPT -idioplasmic:ATPL:ATPL -idioretinal:ATRT:ATRT -idiotically:ATTK:ATTK -idolatrises:ATLT:ATLT -idolatrized:ATLT:ATLT -idolatrizer:ATLT:ATLT -idolatrizes:ATLT:ATLT -idolization:ATLS:ATLS -idyllically:ATLK:ATLK -ignobleness:AKNP:ANPL -ignominious:AKNM:ANMN -ignoramuses:AKNR:ANRM -ikonography:AKNK:AKNK -ileectomies:ALKT:ALKT -ileocolitis:ALKL:ALKL -ileocolonic:ALKL:ALKL -ileostomies:ALST:ALST -iliofemoral:ALFM:ALFM -iliopsoatic:ALPS:ALPS -illegalized:ALKL:ALKL -illegalizes:ALKL:ALKL -illiberally:ALPR:ALPR -illicitness:ALST:ALST -illimitable:ALMT:ALMT -illimitably:ALMT:ALMT -illinoisans:ALNS:ALNS -illiterates:ALTR:ALTR -illocutions:ALKX:ALKX -illogically:ALJK:ALKK -illuminable:ALMN:ALMN -illuminance:ALMN:ALMN -illuminated:ALMN:ALMN -illuminates:ALMN:ALMN -illuminator:ALMN:ALMN -illuminists:ALMN:ALMN -illusionary:ALSN:ALXN -illusionism:ALSN:ALXN -illusionist:ALSN:ALXN -illustrated:ALST:ALST -illustrates:ALST:ALST -illustrator:ALST:ALST -illustrious:ALST:ALST -illuviation:ALFX:ALFX -imaginarily:AMJN:AMKN -imagination:AMJN:AMKN -imaginative:AMJN:AMKN -imbibitions:AMPP:AMPP -imbricately:AMPR:AMPR -imbricating:AMPR:AMPR -imbrication:AMPR:AMPR -imbricative:AMPR:AMPR -imitability:AMTP:AMTP -imitational:AMTX:AMTX -imitatively:AMTT:AMTT -immanentism:AMNN:AMNN -immanentist:AMNN:AMNN -immediacies:AMTS:AMTX -immediately:AMTT:AMTT -immedicable:AMTK:AMTK -immedicably:AMTK:AMTK -immenseness:AMNS:AMNS -immensities:AMNS:AMNS -immigrating:AMKR:AMKR -immigration:AMKR:AMKR -immigrators:AMKR:AMKR -immigratory:AMKR:AMKR -immitigable:AMTK:AMTK -immitigably:AMTK:AMTK -immittendae:AMTN:AMTN -immobilized:AMPL:AMPL -immobilizer:AMPL:AMPL -immobilizes:AMPL:AMPL -immolations:AMLX:AMLX -immoralists:AMRL:AMRL -immortality:AMRT:AMRT -immortalize:AMRT:AMRT -immortelles:AMRT:AMRT -immoveables:AMFP:AMFP -immunitatis:AMNT:AMNT -immunoassay:AMNS:AMNS -immunogenic:AMNJ:AMNK -immunologic:AMNL:AMNL -impairments:AMPR:AMPR -impalements:AMPL:AMPL -impanelment:AMPN:AMPN -impartation:AMPR:AMPR -impartially:AMPR:AMPR -impassioned:AMPS:AMPS -impassively:AMPS:AMPS -impassivity:AMPS:AMPS -impastation:AMPS:AMPS -impatiently:AMPT:AMPT -impeachable:AMPX:AMPK -impeachably:AMPX:AMPK -impeachment:AMPK:AMPK -impecunious:AMPK:AMPK -impedimenta:AMPT:AMPT -impediments:AMPT:AMPT -impenitence:AMPN:AMPN -impenitency:AMPN:AMPN -imperatival:AMPR:AMPR -imperatives:AMPR:AMPR -imperfectly:AMPR:AMPR -imperforate:AMPR:AMPR -imperialism:AMPR:AMPR -imperialist:AMPR:AMPR -imperilling:AMPR:AMPR -imperilment:AMPR:AMPR -imperiously:AMPR:AMPR -impermanent:AMPR:AMPR -impermeable:AMPR:AMPR -impermeably:AMPR:AMPR -impersonate:AMPR:AMPR -impertinens:AMPR:AMPR -impertinent:AMPR:AMPR -impetuosity:AMPT:AMPT -impetuously:AMPT:AMPT -impignorate:AMPN:AMPK -impingement:AMPN:AMPN -impiousness:AMPS:AMPS -implausible:AMPL:AMPL -implausibly:AMPL:AMPL -impleadable:AMPL:AMPL -implemental:AMPL:AMPL -implemented:AMPL:AMPL -implementer:AMPL:AMPL -implementor:AMPL:AMPL -implicating:AMPL:AMPL -implication:AMPL:AMPL -implicative:AMPL:AMPL -implicature:AMPL:AMPL -imploration:AMPL:AMPL -imploratory:AMPL:AMPL -imploringly:AMPL:AMPL -implosively:AMPL:AMPL -impoldering:AMPL:AMPL -impolitical:AMPL:AMPL -impoliticly:AMPL:AMPL -importantly:AMPR:AMPR -importation:AMPR:AMPR -importunacy:AMPR:AMPR -importunate:AMPR:AMPR -importunely:AMPR:AMPR -importuners:AMPR:AMPR -importuning:AMPR:AMPR -importunity:AMPR:AMPR -impositions:AMPS:AMPS -impostorous:AMPS:AMPS -imposturous:AMPS:AMPS -impotencies:AMPT:AMPT -impoundable:AMPN:AMPN -impoundment:AMPN:AMPN -impractical:AMPR:AMPR -imprecating:AMPR:AMPR -imprecation:AMPR:AMPR -imprecators:AMPR:AMPR -imprecatory:AMPR:AMPR -imprecisely:AMPR:AMPR -imprecision:AMPR:AMPR -impregnable:AMPR:AMPR -impregnably:AMPR:AMPR -impregnated:AMPR:AMPR -impregnates:AMPR:AMPR -impregnator:AMPR:AMPR -impresarios:AMPR:AMPR -impressible:AMPR:AMPR -impressions:AMPR:AMPR -impressment:AMPR:AMPR -imprimaturs:AMPR:AMPR -imprisoners:AMPR:AMPR -imprisoning:AMPR:AMPR -improbation:AMPR:AMPR -improbative:AMPR:AMPR -improbatory:AMPR:AMPR -improbities:AMPR:AMPR -impropriate:AMPR:AMPR -impropriety:AMPR:AMPR -improvement:AMPR:AMPR -improvident:AMPR:AMPR -improvingly:AMPR:AMPR -improvisers:AMPR:AMPR -improvising:AMPR:AMPR -improvisors:AMPR:AMPR -imprudently:AMPR:AMPR -impugnation:AMPN:AMPK -impuissance:AMPS:AMPS -impulsively:AMPL:AMPL -imputations:AMPT:AMPT -inabilities:ANPL:ANPL -inactivated:ANKT:ANKT -inactivates:ANKT:ANKT -inadvertent:ANTF:ANTF -inadvisable:ANTF:ANTF -inadvisably:ANTF:ANTF -inalienable:ANLN:ANLN -inalienably:ANLN:ANLN -inalterable:ANLT:ANLT -inalterably:ANLT:ANLT -inanimately:ANNM:ANNM -inanimation:ANNM:ANNM -inappetence:ANPT:ANPT -inaptitudes:ANPT:ANPT -inattention:ANTN:ANTN -inattentive:ANTN:ANTN -inaugurated:ANKR:ANKR -inaugurates:ANKR:ANKR -inaugurator:ANKR:ANKR -inauthentic:AN0N:ANTN -inbreathing:ANPR:ANPR -incalescent:ANKL:ANKL -incandesced:ANKN:ANKN -incandesces:ANKN:ANKN -incantation:ANKN:ANKN -incantatory:ANKN:ANKN -incarcerate:ANKR:ANKR -incardinate:ANKR:ANKR -incarnadine:ANKR:ANKR -incarnating:ANKR:ANKR -incarnation:ANKR:ANKR -incensation:ANSN:ANSN -incensement:ANSN:ANSN -incensories:ANSN:ANSN -incentively:ANSN:ANSN -inceptively:ANSP:ANSP -incertitude:ANSR:ANSR -incessantly:ANSS:ANSS -incidentals:ANST:ANST -incinerated:ANSN:ANSN -incinerates:ANSN:ANSN -incinerator:ANSN:ANSN -incipiently:ANSP:ANSP -incitations:ANST:ANST -incitements:ANST:ANST -inclemently:ANKL:ANKL -inclination:ANKL:ANKL -inclusively:ANKL:ANKL -incoercible:ANKR:ANKR -incognizant:ANKN:ANKK -incoherence:ANKH:ANKH -incoherency:ANKH:ANKH -incommoding:ANKM:ANKM -incommodity:ANKM:ANKM -incompetent:ANKM:ANKM -incompliant:ANKM:ANKM -incongruent:ANKN:ANKN -incongruity:ANKN:ANKN -incongruous:ANKN:ANKN -inconsonant:ANKN:ANKN -inconstancy:ANKN:ANKN -incontinent:ANKN:ANKN -incorporate:ANKR:ANKR -incorporeal:ANKR:ANKR -incorrectly:ANKR:ANKR -incorrupted:ANKR:ANKR -incorruptly:ANKR:ANKR -incrassated:ANKR:ANKR -increasable:ANKR:ANKR -increasedly:ANKR:ANKR -incredulity:ANKR:ANKR -incredulous:ANKR:ANKR -incremental:ANKR:ANKR -incremented:ANKR:ANKR -incriminate:ANKR:ANKR -incrossbred:ANKR:ANKR -incubations:ANKP:ANKP -inculcating:ANKL:ANKL -inculcation:ANKL:ANKL -inculcators:ANKL:ANKL -inculcatory:ANKL:ANKL -inculpating:ANKL:ANKL -inculpation:ANKL:ANKL -inculpative:ANKL:ANKL -inculpatory:ANKL:ANKL -incumbently:ANKM:ANKM -incumbering:ANKM:ANKM -incumbrance:ANKM:ANKM -incunabular:ANKN:ANKN -incunabulum:ANKN:ANKN -incuriosity:ANKR:ANKR -incuriously:ANKR:ANKR -incurvating:ANKR:ANKR -incurvation:ANKR:ANKR -incurvature:ANKR:ANKR -indebitatus:ANTP:ANTP -indecencies:ANTS:ANTS -indeciduous:ANTS:ANTS -indefinable:ANTF:ANTF -indefinably:ANTF:ANTF -indehiscent:ANTH:ANTH -indemnified:ANTM:ANTM -indemnifier:ANTM:ANTM -indemnifies:ANTM:ANTM -indemnitees:ANTM:ANTM -indemnities:ANTM:ANTM -indemnitors:ANTM:ANTM -indentation:ANTN:ANTN -indenturing:ANTN:ANTN -independent:ANTP:ANTP -indicatable:ANTK:ANTK -indications:ANTK:ANTK -indicatives:ANTK:ANTK -indictional:ANTK:ANTK -indictments:ANTK:ANTK -indifferent:ANTF:ANTF -indigestion:ANTJ:ANTK -indigestive:ANTJ:ANTK -indignantly:ANTN:ANTK -indignation:ANTN:ANTK -indignities:ANTN:ANTK -indirecting:ANTR:ANTR -indirection:ANTR:ANTR -individuals:ANTF:ANTF -individuate:ANTF:ANTF -indivisible:ANTF:ANTF -indivisibly:ANTF:ANTF -indochinese:ANTX:ANTK -indocyanine:ANTS:ANTS -indologists:ANTL:ANTL -indomitable:ANTM:ANTM -indomitably:ANTM:ANTM -indonesians:ANTN:ANTN -indorsement:ANTR:ANTR -indubitable:ANTP:ANTP -indubitably:ANTP:ANTP -inducements:ANTS:ANTS -inductances:ANTK:ANTK -inductility:ANTK:ANTK -inductional:ANTK:ANTK -inductively:ANTK:ANTK -inductorium:ANTK:ANTK -indulgences:ANTL:ANTL -indulgently:ANTL:ANTL -indulgingly:ANTL:ANTL -indumentums:ANTM:ANTM -induplicate:ANTP:ANTP -indurations:ANTR:ANTR -industrials:ANTS:ANTS -industrious:ANTS:ANTS -inebriating:ANPR:ANPR -inebriation:ANPR:ANPR -inebrieties:ANPR:ANPR -inedibility:ANTP:ANTP -ineffective:ANFK:ANFK -ineffectual:ANFK:ANFK -inefficient:ANFS:ANFX -inelegantly:ANLK:ANLK -ineligibles:ANLJ:ANLK -ineloquence:ANLK:ANLK -ineluctable:ANLK:ANLK -ineluctably:ANLK:ANLK -inequations:ANKX:ANKX -inequitable:ANKT:ANKT -inequitably:ANKT:ANKT -inescapable:ANSK:ANSK -inescapably:ANSK:ANSK -inessential:ANSN:ANSN -inestimable:ANST:ANST -inestimably:ANST:ANST -inevitables:ANFT:ANFT -inexactness:ANKS:ANKS -inexcitable:ANKS:ANKS -inexcusable:ANKS:ANKS -inexcusably:ANKS:ANKS -inexecution:ANKS:ANKS -inexpedient:ANKS:ANKS -inexpensive:ANKS:ANKS -infanthoods:ANFN:ANFN -infanticide:ANFN:ANFN -infantilism:ANFN:ANFN -infantility:ANFN:ANFN -infantryman:ANFN:ANFN -infantrymen:ANFN:ANFN -infantumers:ANFN:ANFN -infarctions:ANFR:ANFR -infatuating:ANFT:ANFT -infatuation:ANFT:ANFT -infectively:ANFK:ANFK -infectivity:ANFK:ANFK -infecundity:ANFK:ANFK -inferencing:ANFR:ANFR -inferential:ANFR:ANFR -inferiority:ANFR:ANFR -infernality:ANFR:ANFR -infertilely:ANFR:ANFR -infertility:ANFR:ANFR -infestation:ANFS:ANFS -infieldsman:ANFL:ANFL -infieldsmen:ANFL:ANFL -infiltrated:ANFL:ANFL -infiltrates:ANFL:ANFL -infiltrator:ANFL:ANFL -infinitives:ANFN:ANFN -infirmaries:ANFR:ANFR -infirmation:ANFR:ANFR -infirmative:ANFR:ANFR -infirmities:ANFR:ANFR -infixations:ANFK:ANFK -inflamingly:ANFL:ANFL -inflammable:ANFL:ANFL -inflammably:ANFL:ANFL -inflatables:ANFL:ANFL -inflections:ANFL:ANFL -inflictable:ANFL:ANFL -inflictions:ANFL:ANFL -influencers:ANFL:ANFL -influencing:ANFL:ANFL -influential:ANFL:ANFL -informality:ANFR:ANFR -informatics:ANFR:ANFR -information:ANFR:ANFR -informative:ANFR:ANFR -informatory:ANFR:ANFR -informingly:ANFR:ANFR -infortunium:ANFR:ANFR -infracostal:ANFR:ANFR -infractible:ANFR:ANFR -infractions:ANFR:ANFR -infranatant:ANFR:ANFR -infrangible:ANFR:ANFR -infrangibly:ANFR:ANFR -infrequence:ANFR:ANFR -infrequency:ANFR:ANFR -infructuous:ANFR:ANFR -infundibula:ANFN:ANFN -infuriately:ANFR:ANFR -infuriating:ANFR:ANFR -infuriation:ANFR:ANFR -infusionism:ANFS:ANFX -infusionist:ANFS:ANFX -ingatherers:ANK0:ANKT -ingathering:ANK0:ANKT -ingeninated:ANJN:ANKN -ingeniously:ANJN:ANKN -ingenuities:ANJN:ANKN -ingenuously:ANJN:ANKN -ingraftment:ANKR:ANKR -ingrainedly:ANKR:ANKR -ingratiated:ANKR:ANKR -ingratiates:ANKR:ANKR -ingratitude:ANKR:ANKR -ingredients:ANKR:ANKR -ingrugitate:ANKR:ANKR -ingurgitate:ANKR:ANKR -inhabitable:ANPT:ANPT -inhabitance:ANPT:ANPT -inhabitancy:ANPT:ANPT -inhabitants:ANPT:ANPT -inhabitress:ANPT:ANPT -inhalations:ANLX:ANLX -inheritable:ANRT:ANRT -inheritably:ANRT:ANRT -inheritance:ANRT:ANRT -inheritress:ANRT:ANRT -inhibitable:ANPT:ANPT -inhibitions:ANPX:ANPX -inhumations:ANMX:ANMX -inimicality:ANMK:ANMK -initialized:ANXL:ANXL -initializer:ANXL:ANXL -initializes:ANXL:ANXL -initiallers:ANXL:ANXL -initialling:ANXL:ANXL -initiations:ANXX:ANXX -initiatives:ANXT:ANXT -initiatress:ANXT:ANXT -injectivity:ANJK:ANJK -injudicious:ANJT:ANJT -injunctions:ANJN:ANJN -injuriously:ANJR:ANJR -innavigable:ANFK:ANFK -innerspring:ANRS:ANRS -innervating:ANRF:ANRF -innervation:ANRF:ANRF -innocuously:ANKS:ANKS -innovations:ANFX:ANFX -innoxiously:ANKS:ANKS -innumerable:ANMR:ANMR -innumerably:ANMR:ANMR -innutrition:ANTR:ANTR -inobservant:ANPS:ANPS -inoculating:ANKL:ANKL -inoculation:ANKL:ANKL -inoculative:ANKL:ANKL -inoculators:ANKL:ANKL -inoffensive:ANFN:ANFN -inofficious:ANFS:ANFX -inoperative:ANPR:ANPR -inopportune:ANPR:ANPR -inorganical:ANRK:ANRK -inosculated:ANSK:ANSK -inosculates:ANSK:ANSK -inquilinism:ANKL:ANKL -inquilinity:ANKL:ANKL -inquilinous:ANKL:ANKL -inquirendos:ANKR:ANKR -inquiringly:ANKR:ANKR -inquisition:ANKS:ANKS -inquisitive:ANKS:ANKS -inquisitors:ANKS:ANKS -inquisitory:ANKS:ANKS -insalivated:ANSL:ANSL -insalivates:ANSL:ANSL -insalubrity:ANSL:ANSL -insatiately:ANSX:ANSX -inscribable:ANSK:ANSK -inscription:ANSK:ANSK -inscriptive:ANSK:ANSK -inscrutable:ANSK:ANSK -inscrutably:ANSK:ANSK -insectaries:ANSK:ANSK -insectarium:ANSK:ANSK -insecticide:ANSK:ANSK -insectifuge:ANSK:ANSK -insectivora:ANSK:ANSK -insectivore:ANSK:ANSK -insectology:ANSK:ANSK -inseminated:ANSM:ANSM -inseminates:ANSM:ANSM -inseminator:ANSM:ANSM -insensately:ANSN:ANSN -insensitive:ANSN:ANSN -insentience:ANSN:ANSN -inseparable:ANSP:ANSP -inseparably:ANSP:ANSP -insertional:ANSR:ANSR -insessorial:ANSS:ANSS -insheathing:ANX0:ANXT -insidiously:ANST:ANST -insincerely:ANSN:ANSN -insincerity:ANSN:ANSN -insinuating:ANSN:ANSN -insinuation:ANSN:ANSN -insinuative:ANSN:ANSN -insinuators:ANSN:ANSN -insinuatory:ANSN:ANSN -insipidness:ANSP:ANSP -insistently:ANSS:ANSS -insistingly:ANSS:ANSS -insouciance:ANSS:ANSX -inspections:ANSP:ANSP -inspectoral:ANSP:ANSP -inspiration:ANSP:ANSP -inspirative:ANSP:ANSP -inspirators:ANSP:ANSP -inspiratory:ANSP:ANSP -inspiringly:ANSP:ANSP -inspiriters:ANSP:ANSP -inspiriting:ANSP:ANSP -inspissated:ANSP:ANSP -inspissator:ANSP:ANSP -instability:ANST:ANST -installable:ANST:ANST -installants:ANST:ANST -installment:ANST:ANST -instalments:ANST:ANST -instantiate:ANST:ANST -instatement:ANST:ANST -instigating:ANST:ANST -instigation:ANST:ANST -instigative:ANST:ANST -instigators:ANST:ANST -instillment:ANST:ANST -instinctive:ANST:ANST -instinctual:ANST:ANST -instituters:ANST:ANST -instituting:ANST:ANST -institution:ANST:ANST -institutive:ANST:ANST -institutors:ANST:ANST -instructing:ANST:ANST -instruction:ANST:ANST -instructive:ANST:ANST -instructors:ANST:ANST -instruments:ANST:ANST -insufflated:ANSF:ANSF -insufflates:ANSF:ANSF -insufflator:ANSF:ANSF -insulations:ANSL:ANSL -insultingly:ANSL:ANSL -insuperable:ANSP:ANSP -insuperably:ANSP:ANSP -insurgences:ANSR:ANSR -intagliated:ANTK:ANTL -intangibles:ANTN:ANTN -integrality:ANTK:ANTK -integrating:ANTK:ANTK -integration:ANTK:ANTK -integrative:ANTK:ANTK -integrators:ANTK:ANTK -integrities:ANTK:ANTK -integuments:ANTK:ANTK -intelligent:ANTL:ANTL -intemperate:ANTM:ANTM -intendances:ANTN:ANTN -intendments:ANTN:ANTN -intenseness:ANTN:ANTN -intensified:ANTN:ANTN -intensifier:ANTN:ANTN -intensifies:ANTN:ANTN -intensional:ANTN:ANTN -intensities:ANTN:ANTN -intensively:ANTN:ANTN -intentional:ANTN:ANTN -intentioned:ANTN:ANTN -intentiones:ANTN:ANTN -interacinar:ANTR:ANTR -interacting:ANTR:ANTR -interaction:ANTR:ANTR -interactive:ANTR:ANTR -interagency:ANTR:ANTR -interatomic:ANTR:ANTR -interatrial:ANTR:ANTR -interbourse:ANTR:ANTR -interbranch:ANTR:ANTR -interbreeds:ANTR:ANTR -intercalary:ANTR:ANTR -intercalate:ANTR:ANTR -intercarpal:ANTR:ANTR -interceders:ANTR:ANTR -interceding:ANTR:ANTR -intercensal:ANTR:ANTR -intercepted:ANTR:ANTR -intercepter:ANTR:ANTR -interceptor:ANTR:ANTR -interceptum:ANTR:ANTR -intercessor:ANTR:ANTR -interchange:ANTR:ANTR -intercostal:ANTR:ANTR -intercounty:ANTR:ANTR -intercourse:ANTR:ANTR -intercrural:ANTR:ANTR -interdental:ANTR:ANTR -interdicted:ANTR:ANTR -interdictor:ANTR:ANTR -interdictum:ANTR:ANTR -interesting:ANTR:ANTR -interfacial:ANTR:ANTR -interfacing:ANTR:ANTR -interferant:ANTR:ANTR -interferers:ANTR:ANTR -interfering:ANTR:ANTR -interfiling:ANTR:ANTR -interflowed:ANTR:ANTR -interfluent:ANTR:ANTR -interfluves:ANTR:ANTR -interfolded:ANTR:ANTR -interfusing:ANTR:ANTR -interfusion:ANTR:ANTR -intergraded:ANTR:ANTR -intergrades:ANTR:ANTR -interiorize:ANTR:ANTR -interjacent:ANTR:ANTR -interjected:ANTR:ANTR -interjector:ANTR:ANTR -interlacing:ANTR:ANTR -interlapped:ANTR:ANTR -interlarded:ANTR:ANTR -interlaying:ANTR:ANTR -interleaved:ANTR:ANTR -interleaves:ANTR:ANTR -interleukin:ANTR:ANTR -interlineal:ANTR:ANTR -interlinear:ANTR:ANTR -interliners:ANTR:ANTR -interlingua:ANTR:ANTR -interlining:ANTR:ANTR -interlinked:ANTR:ANTR -interlocked:ANTR:ANTR -interlocker:ANTR:ANTR -interlopers:ANTR:ANTR -interloping:ANTR:ANTR -intermarine:ANTR:ANTR -intermeddle:ANTR:ANTR -intermedius:ANTR:ANTR -intermeshed:ANTR:ANTR -intermeshes:ANTR:ANTR -intermezzos:ANTR:ANTR -intermingle:ANTR:ANTR -intermitted:ANTR:ANTR -intermittor:ANTR:ANTR -intermixing:ANTR:ANTR -intermodule:ANTR:ANTR -internality:ANTR:ANTR -internalize:ANTR:ANTR -internecine:ANTR:ANTR -interneural:ANTR:ANTR -interneuron:ANTR:ANTR -internments:ANTR:ANTR -internships:ANTR:ANTR -internuncio:ANTR:ANTR -interoffice:ANTR:ANTR -interosseus:ANTR:ANTR -interpaging:ANTR:ANTR -interpelled:ANTR:ANTR -interphases:ANTR:ANTR -interphones:ANTR:ANTR -interplaits:ANTR:ANTR -interpleads:ANTR:ANTR -interpolate:ANTR:ANTR -interposals:ANTR:ANTR -interposers:ANTR:ANTR -interposing:ANTR:ANTR -interpreted:ANTR:ANTR -interpreter:ANTR:ANTR -interracial:ANTR:ANTR -interradial:ANTR:ANTR -interregnal:ANTR:ANTR -interregnum:ANTR:ANTR -interrelate:ANTR:ANTR -interrobang:ANTR:ANTR -interrogant:ANTR:ANTR -interrogate:ANTR:ANTR -interrogees:ANTR:ANTR -interrupted:ANTR:ANTR -interrupter:ANTR:ANTR -interruptor:ANTR:ANTR -interruptus:ANTR:ANTR -interschool:ANTR:ANTR -intersected:ANTR:ANTR -intersector:ANTR:ANTR -interseptal:ANTR:ANTR -intersexual:ANTR:ANTR -interspaced:ANTR:ANTR -interspaces:ANTR:ANTR -intersperse:ANTR:ANTR -interspinal:ANTR:ANTR -interstates:ANTR:ANTR -interstices:ANTR:ANTR -interstitia:ANTR:ANTR -intertangle:ANTR:ANTR -intertribal:ANTR:ANTR -intertrigos:ANTR:ANTR -intertwined:ANTR:ANTR -intertwines:ANTR:ANTR -intertwists:ANTR:ANTR -intervallic:ANTR:ANTR -interveners:ANTR:ANTR -intervening:ANTR:ANTR -intervenors:ANTR:ANTR -interventus:ANTR:ANTR -interviewed:ANTR:ANTR -interviewee:ANTR:ANTR -interviewer:ANTR:ANTR -intervolved:ANTR:ANTR -intervolves:ANTR:ANTR -interweaved:ANTR:ANTR -interweaver:ANTR:ANTR -interweaves:ANTR:ANTR -interworked:ANTR:ANTR -intestacies:ANTS:ANTS -intimations:ANTM:ANTM -intimidated:ANTM:ANTM -intimidates:ANTM:ANTM -intimidator:ANTM:ANTM -intolerable:ANTL:ANTL -intolerably:ANTL:ANTL -intolerance:ANTL:ANTL -intonations:ANTN:ANTN -intoxicable:ANTK:ANTK -intoxicants:ANTK:ANTK -intoxicated:ANTK:ANTK -intoxicates:ANTK:ANTK -intoxicator:ANTK:ANTK -intractable:ANTR:ANTR -intractably:ANTR:ANTR -intradermal:ANTR:ANTR -intradermic:ANTR:ANTR -intraductal:ANTR:ANTR -intraneural:ANTR:ANTR -intraocular:ANTR:ANTR -intrapartum:ANTR:ANTR -intrapelvic:ANTR:ANTR -intraspinal:ANTR:ANTR -intrathecal:ANTR:ANTR -intravenous:ANTR:ANTR -intrepidity:ANTR:ANTR -intricacies:ANTR:ANTR -intricately:ANTR:ANTR -intrinsical:ANTR:ANTR -introducers:ANTR:ANTR -introducing:ANTR:ANTR -introjected:ANTR:ANTR -intromitted:ANTR:ANTR -intromitter:ANTR:ANTR -introverted:ANTR:ANTR -intrudingly:ANTR:ANTR -intrusional:ANTR:ANTR -intrusively:ANTR:ANTR -intuitional:ANTX:ANTX -intuitively:ANTT:ANTT -intumescent:ANTM:ANTM -intumescing:ANTM:ANTM -inundations:ANNT:ANNT -invaginable:ANFJ:ANFK -invaginated:ANFJ:ANFK -invaginates:ANFJ:ANFK -invalidated:ANFL:ANFL -invalidates:ANFL:ANFL -invalidator:ANFL:ANFL -invalidness:ANFL:ANFL -invariantly:ANFR:ANFR -invectively:ANFK:ANFK -inventional:ANFN:ANFN -inventively:ANFN:ANFN -inventorial:ANFN:ANFN -inventoried:ANFN:ANFN -inventories:ANFN:ANFN -invernesses:ANFR:ANFR -invertebral:ANFR:ANFR -investigate:ANFS:ANFS -investitive:ANFS:ANFS -investiture:ANFS:ANFS -investments:ANFS:ANFS -inviability:ANFP:ANFP -invidiously:ANFT:ANFT -invigilated:ANFJ:ANFK -invigilates:ANFJ:ANFK -invigilator:ANFJ:ANFK -invigorated:ANFK:ANFK -invigorates:ANFK:ANFK -invigorator:ANFK:ANFK -inviolately:ANFL:ANFL -inviscation:ANFS:ANFS -invitations:ANFT:ANFT -invocations:ANFK:ANFK -involucrate:ANFL:ANFL -involuntary:ANFL:ANFL -involutedly:ANFL:ANFL -involutions:ANFL:ANFL -involvement:ANFL:ANFL -iodimetries:ATMT:ATMT -iodogorgoic:ATKR:ATKR -iodometries:ATMT:ATMT -iodoprotein:ATPR:ATPR -iodopyracet:ATPR:ATPR -ionizations:ANSX:ANSX -ionospheres:ANSF:ANSF -ionospheric:ANSF:ANSF -ipecacuanha:APKK:APKK -ipsilateral:APSL:APSL -ipsolateral:APSL:APSL -iridescence:ARTS:ARTS -iridization:ARTS:ARTS -iridologist:ARTL:ARTL -iridoplegia:ARTP:ARTP -iridotomies:ARTT:ARTT -irksomeness:ARKS:ARKS -ironmasters:ARNM:ARNM -ironmongers:ARNM:ARNM -ironmongery:ARNM:ARNM -ironworkers:ARNR:ARNR -irradiating:ARTT:ARTT -irradiation:ARTX:ARTX -irradiative:ARTT:ARTT -irradiators:ARTT:ARTT -irrationals:ARXN:ARXN -irrecusable:ARKS:ARKS -irrecusably:ARKS:ARKS -irredentism:ARTN:ARTN -irredentist:ARTN:ARTN -irreducible:ARTS:ARTS -irreducibly:ARTS:ARTS -irreflexive:ARFL:ARFL -irrefutable:ARFT:ARFT -irrefutably:ARFT:ARFT -irregularly:ARKL:ARKL -irrelevance:ARLF:ARLF -irrelevancy:ARLF:ARLF -irreligious:ARLJ:ARLK -irremovable:ARMF:ARMF -irremovably:ARMF:ARMF -irreparable:ARPR:ARPR -irreparably:ARPR:ARPR -irretentive:ARTN:ARTN -irreverence:ARFR:ARFR -irrevocable:ARFK:ARFK -irrevocably:ARFK:ARFK -irrigations:ARKX:ARKX -irritancies:ARTN:ARTN -irritations:ARTX:ARTX -irruptively:ARPT:ARPT -ischiomelus:AXML:AXML -ischiopagus:AXPK:AXPK -ischiopubic:AXPP:AXPP -isoantibody:ASNT:ASNT -isoantigens:ASNT:ASNT -isocellular:ASSL:ASSL -isochronism:ASKR:ASKR -isochronize:ASKR:ASKR -isochronous:ASKR:ASKR -isocortexes:ASKR:ASKR -isocortices:ASKR:ASKR -isodiaphere:ASTF:ASTF -isoelectric:ASLK:ASLK -isogeotherm:ASJ0:ASKT -isolability:ASLP:ASLP -isolecithal:ASLS:ASLS -isomagnetic:ASMN:ASMK -isomerizing:ASMR:ASMR -isometrical:ASMT:ASMT -isometropia:ASMT:ASMT -isomorphism:ASMR:ASMR -isomorphous:ASMR:ASMR -isopachytes:ASPK:ASPK -isopolities:ASPL:ASPL -isopropanol:ASPR:ASPR -isorhythmic:ASR0:ASRT -isostatical:ASST:ASST -isothermals:AS0R:ASTR -isotonicity:ASTN:ASTN -israelitish:ASRL:ASRL -isthmectomy:AS0M:ASTM -italianises:ATLN:ATLN -italianisms:ATLN:ATLN -italianized:ATLN:ATLN -italianizes:ATLN:ATLN -italicizing:ATLS:ATLS -itemization:ATMS:ATMS -iteratively:ATRT:ATRT -ithyphallic:A0FL:ATFL -itineraries:ATNR:ATNR -itinerating:ATNR:ATNR -itineration:ATNR:ATNR -jabberwocky:JPRK:APRK -jackhammers:JKMR:AKMR -jackknifing:JKKN:AKKN -jactitating:JKTT:AKTT -jactitation:JKTT:AKTT -jaguarondis:JKRN:AKRN -jailbreaker:JLPR:ALPR -jailkeepers:JLKP:ALKP -janitresses:JNTR:ANTR -jardinieres:JRTN:ARTN -jargonizing:JRKN:ARKN -jawbreakers:JPRK:APRK -jawbreaking:JPRK:APRK -jealousness:JLSN:ALSN -jejunectomy:JJNK:AJNK -jejunostomy:JJNS:AJNS -jellyfishes:JLFX:ALFX -jeopardized:JPRT:APRT -jeopardizes:JPRT:APRT -jeopardying:JPRT:APRT -jequirities:JKRT:AKRT -jettisoning:JTSN:ATSN -jiggermasts:JKRM:AKRM -jimpsonweed:JMPS:AMPS -jinrikishas:JNRK:ANRK -jitteriness:JTRN:ATRN -joblessness:JPLS:APLS -jocundities:JKNT:AKNT -johannesbur:JHNS:AHNS -jointedness:JNTT:ANTT -journalists:JRNL:ARNL -journalized:JRNL:ARNL -journalizer:JRNL:ARNL -journalizes:JRNL:ARNL -journeyings:JRNN:ARNN -joylessness:JLSN:ALSN -jubilations:JPLX:APLX -judgemental:JJMN:AJMN -judgmatical:JTKM:ATKM -judicatures:JTKT:ATKT -judicialize:JTSL:ATXL -judiciaries:JTSR:ATXR -judiciously:JTSS:ATXS -juggernauts:JKRN:AKRN -jugoslavian:JKSL:AKSL -juneberries:JNPR:ANPR -juridically:JRTK:ARTK -justiceship:JSTS:ASTS -justiciable:JSTS:ASTX -justiciatus:JSTS:ASTX -justifiable:JSTF:ASTF -justifiably:JSTF:ASTF -juvenescent:JFNS:AFNS -juxtaposing:JKST:AKST -juxtaspinal:JKST:AKST -kabaragoyas:KPRK:KPRK -karyenchyma:KRNX:KRNK -karyochrome:KRKR:KRKR -karyoclases:KRKL:KRKL -karyoclasic:KRKL:KRKL -karyoclasis:KRKL:KRKL -karyogamies:KRKM:KRKM -karyoklases:KRKL:KRKL -karyoklasis:KRKL:KRKL -karyologies:KRLJ:KRLK -karyomitome:KRMT:KRMT -karyoplasma:KRPL:KRPL -karyostases:KRST:KRST -karyostasis:KRST:KRST -keelhauling:KLLN:KLLN -kentuckians:KNTK:KNTK -keratectomy:KRTK:KRTK -keratinized:KRTN:KRTN -keratinizes:KRTN:KRTN -keratitides:KRTT:KRTT -keratoconus:KRTK:KRTK -keratoderma:KRTT:KRTT -keratohemia:KRTH:KRTH -keratolyses:KRTL:KRTL -keratolysis:KRTL:KRTL -keratolytic:KRTL:KRTL -keratonyxes:KRTN:KRTN -keratonyxis:KRTN:KRTN -keratoscope:KRTS:KRTS -keratoscopy:KRTS:KRTS -keritinised:KRTN:KRTN -keritinises:KRTN:KRTN -kernicterus:KRNK:KRNK -ketogeneses:KTJN:KTKN -ketogenesis:KTJN:KTKN -ketoheptose:KTHP:KTHP -ketosteroid:KTST:KTST -kettledrums:KTLT:KTLT -keyboardist:KPRT:KPRT -keypunchers:KPNX:KPNK -keypunching:KPNX:KPNK -kibbutzniks:KPTS:KPTS -kicksorters:KKSR:KKSR -kiddishness:KTXN:KTXN -kidnappings:KTNP:KTNP -killifishes:KLFX:KLFX -kilocalorie:KLKL:KLKL -kilowattage:KLTJ:KLTK -kimmelstiel:KMLS:KMLS -kinaestheic:KNS0:KNST -kindhearted:KNTR:KNTR -kindredless:KNTR:KNTR -kindredness:KNTR:KNTR -kindredship:KNTR:KNTR -kinematical:KNMT:KNMT -kinesiology:KNSL:KNSL -kinestheses:KNS0:KNST -kinesthesia:KNS0:KNST -kinesthesis:KNS0:KNST -kinesthetic:KNS0:KNST -kinetically:KNTK:KNTK -kinetochore:KNTX:KNTK -kinetograph:KNTK:KNTK -kinetoplast:KNTP:KNTP -kingdomless:KNKT:KNKT -kingfishers:KNKF:KNKF -kininogenic:KNNJ:KNNK -kinocentrum:KNSN:KNSN -kinsmanship:KNSM:KNSM -kitchenette:KXNT:KXNT -kitchenware:KXNR:KXNR -kittenishly:KTNX:KTNX -kjeldahlize:KLTL:KLTL -kleptomania:KLPT:KLPT -klinefelter:KLNF:KLNF -knackwursts:NKRS:NKRS -knavishness:NFXN:NFXN -kneecapping:NKPN:NKPN -knickknacks:NKKN:NKKN -knickpoints:NKPN:NKPN -knightheads:N0TS:NTTS -knighthoods:N0TS:NTTS -knockabouts:NKPT:NKPT -knockwursts:NKRS:NKRS -knowingness:NNKN:NNKN -knuckleball:NKLP:NKLP -knucklebone:NKLP:NKLP -knucklehead:NKLH:NKLH -koilonychia:KLNK:KLNK -koniocortex:KNKR:KNKR -koniologies:KNLJ:KNLK -kookaburras:KKPR:KKPR -kwashiorkor:KXRK:KXRK -kymographic:KMKR:KMKR -labializing:LPLS:LPLS -labiodental:LPTN:LPTN -labiomental:LPMN:LPMN -labionasals:LPNS:LPNS -labioplasty:LPPL:LPPL -laboredness:LPRT:LPRT -laboriously:LPRS:LPRS -laborsavers:LPRS:LPRS -laborsaving:LPRS:LPRS -labradorite:LPRT:LPRT -labyrinthes:LPRN:LPRN -laccolithes:LKL0:LKLT -lacerations:LSRX:LSRX -lachrymator:LKRM:LKRM -laciniation:LSNX:LSNX -lacklusters:LKLS:LKLS -laconically:LKNK:LKNK -laconicisms:LKNS:LKNS -lacrimation:LKRM:LKRM -lacrimators:LKRM:LKRM -lacrimatory:LKRM:LKRM -lacrimotomy:LKRM:LKRM -lactalbumin:LKTL:LKTL -lactational:LKTX:LKTX -lactescence:LKTS:LKTS -lactiferous:LKTF:LKTF -lactigenous:LKTJ:LKTK -lactoflavin:LKTF:LKTF -lactoscopes:LKTS:LKTS -ladyfingers:LTFN:LTFN -laevogyrate:LFJR:LFKR -laggardness:LKRT:LKRT -lagomorphic:LKMR:LKMR -laicization:LSSX:LSSX -lallygagged:LLKK:LLKK -lalopathies:LLP0:LLPT -lambrequins:LMPR:LMPR -lamellation:LMLX:LMLX -lamellicorn:LMLK:LMLK -lamelliform:LMLF:LMLF -lamellosity:LMLS:LMLS -lamentation:LMNT:LMNT -laminagraph:LMNK:LMNK -laminations:LMNX:LMNX -laminectomy:LMNK:LMNK -laminograph:LMNK:LMNK -lammergeyer:LMRJ:LMRK -lamplighter:LMPL:LMPL -lampoonists:LMPN:LMPN -lancastrian:LNKS:LNKS -lancinating:LNSN:LNSN -lancination:LNSN:LNSN -lancisilang:LNSS:LNSS -landholders:LNTL:LNTL -landholding:LNTL:LNTL -landlordism:LNTL:LNTL -landlubbers:LNTL:LNTL -landscapers:LNTS:LNTS -landscaping:LNTS:LNTS -landscapist:LNTS:LNTS -landualette:LNTL:LNTL -landwaiters:LNTT:LNTT -langoustine:LNKS:LNKS -languidness:LNKT:LNKT -languishers:LNKX:LNKX -languishing:LNKX:LNKX -lanthanides:LN0N:LNTN -laparectomy:LPRK:LPRK -laparoscope:LPRS:LPRS -laparoscopy:LPRS:LPRS -lapidifying:LPTF:LPTF -larcenously:LRSN:LRSN -larkishness:LRKX:LRKX -laryngeally:LRNJ:LRNK -laryngismus:LRNJ:LRNK -laryngocele:LRNK:LRNK -laryngology:LRNK:LRNK -laryngotomy:LRNK:LRNK -lastingness:LSTN:LSTN -latchstring:LXST:LXST -latitudinal:LTTT:LTTT -latrodectus:LTRT:LTRT -latticework:LTSR:LTSR -laudability:LTPL:LTPL -laudanosine:LTNS:LTNS -laudatorily:LTTR:LTTR -launderette:LNTR:LNTR -launderings:LNTR:LNTR -laundresses:LNTR:LNTR -laundromats:LNTR:LNTR -laurustinus:LRST:LRST -lawbreakers:LPRK:LPRK -lawbreaking:LPRK:LPRK -lawlessness:LLSN:LLSN -lawyeresses:LRSS:LRSS -leaderships:LTRX:LTRX -leafcutters:LFKT:LFKT -leafhoppers:LFPR:LFPR -leapfrogged:LPFR:LPFR -learnedness:LRNT:LRNT -leaseholder:LSHL:LSHL -leatherback:L0RP:LTRP -leatherneck:L0RN:LTRN -lecherously:LXRS:LKRS -lecithinase:LS0N:LSTN -lectureship:LKTR:LKTR -legateships:LKTX:LKTX -legationary:LKXN:LKXN -legendarily:LJNT:LKNT -legerdemain:LJRT:LKRT -legibleness:LJPL:LKPL -legionaries:LJNR:LKNR -legionnaire:LJNR:LKNR -legislating:LJLT:LKLT -legislation:LJLX:LKLX -legislative:LJLT:LKLT -legislators:LJLT:LKLT -legislatrix:LJLT:LKLT -legislature:LJLT:LKLT -legitimated:LJTM:LKTM -legitimates:LJTM:LKTM -legitimists:LJTM:LKTM -legitimized:LJTM:LKTM -legitimizer:LJTM:LKTM -legitimizes:LJTM:LKTM -leiomyomata:LMMT:LMMT -leisureless:LSRL:LSRL -leisureness:LSRN:LSRN -lemmatizing:LMTS:LMTS -lemniscates:LMNS:LMNS -lengtheners:LNK0:LNKT -lengthening:LNK0:LNKT -lengthiness:LNK0:LNKT -lenticulaes:LNTK:LNTK -lentiginose:LNTJ:LNTK -lentiginous:LNTJ:LNTK -lentiglobus:LNTK:LNTK -lepidoptera:LPTP:LPTP -lepothrixes:LP0R:LPTR -lepotriches:LPTR:LPTR -leprechauns:LPRX:LPRK -leprologies:LPRL:LPRL -leprologist:LPRL:LPRL -lepromatous:LPRM:LPRM -leprosarium:LPRS:LPRS -leprostatic:LPRS:LPRS -leprousness:LPRS:LPRS -leptokurtic:LPTK:LPTK -leptomeninx:LPTM:LPTM -leptopellic:LPTP:LPTP -leptophonia:LPTF:LPTF -leptorrhine:LPTR:LPTR -leptospirae:LPTS:LPTS -leptospiral:LPTS:LPTS -leptospiras:LPTS:LPTS -lesseeships:LSXP:LSXP -lethalities:L0LT:LTLT -lethargical:L0RJ:LTRK -letterheads:LTRT:LTRT -letterpress:LTRP:LTRP -leucocratic:LKKR:LKKR -leucodermal:LKTR:LKTR -leucodermic:LKTR:LKTR -leuconostoc:LKNS:LKNS -leucopeniic:LKPN:LKPN -leucoplakia:LKPL:LKPL -leucoplasts:LKPL:LKPL -leucorrheal:LKRL:LKRL -leucorrhoea:LKR:LKR -leucotomies:LKTM:LKTM -leucotoxins:LKTK:LKTK -leukaemogen:LKMJ:LKMK -leukocytoma:LKST:LKST -leukomatous:LKMT:LKMT -leukonychia:LKNK:LKNK -leukoplakia:LKPL:LKPL -leukorrheal:LKRL:LKRL -leukorrhoea:LKR:LKR -leukotomies:LKTM:LKTM -levelheaded:LFLT:LFLT -levitations:LFTX:LFTX -levoduction:LFTK:LFTK -levoversion:LFFR:LFFR -levulosuria:LFLS:LFLS -lexicalises:LKSK:LKSK -lexicalized:LKSK:LKSK -lexicalizes:LKSK:LKSK -liabilities:LPLT:LPLT -libationary:LPXN:LPXN -liberalists:LPRL:LPRL -liberalized:LPRL:LPRL -liberalizer:LPRL:LPRL -liberalizes:LPRL:LPRL -liberalness:LPRL:LPRL -liberations:LPRX:LPRX -libertarian:LPRT:LPRT -liberticide:LPRT:LPRT -libertinage:LPRT:LPRT -libertinism:LPRT:LPRT -libidinally:LPTN:LPTN -libidinized:LPTN:LPTN -libidinizes:LPTN:LPTN -librational:LPRX:LPRX -librettists:LPRT:LPRT -licenseless:LSNS:LSNS -licentiates:LSNX:LSNX -lichenology:LXNL:LKNL -lienography:LNKR:LNKR -lienunculus:LNNK:LNNK -lieutenancy:LTNN:LTNN -lieutenants:LTNN:LTNN -liferenters:LFRN:LFRN -liferentrix:LFRN:LFRN -ligamentary:LKMN:LKMN -ligamentous:LKMN:LKMN -lightheaded:L0TT:LTTT -lighthouses:L0SS:LTSS -lightsomely:LTSM:LTSM -lightweight:LTT:LTT -lignicolous:LNKL:LKNK -likableness:LKPL:LKPL -likeability:LKPL:LKPL -likelihoods:LKLH:LKLH -lilliputian:LLPX:LLPX -limitarians:LMTR:LMTR -limitations:LMTX:LMTX -limitedness:LMTT:LMTT -limitlessly:LMTL:LMTL -lineamental:LNMN:LNMN -linearities:LNRT:LNRT -linearizing:LNRS:LNRS -linebackers:LNPK:LNPK -linecasters:LNKS:LNKS -lingeringly:LNKR:LNJR -linguistics:LNKS:LNKS -linognathus:LNN0:LNKN -lionhearted:LNRT:LNRT -lionization:LNSX:LNSX -lipectomies:LPKT:LPKT -lipofibroma:LPFP:LPFP -lipogeneses:LPJN:LPKN -lipogenesis:LPJN:LPKN -lipomatoses:LPMT:LPMT -lipomatosis:LPMT:LPMT -lipophrenia:LPFR:LPFR -lipoprotein:LPPR:LPPR -liposarcoma:LPSR:LPSR -liposoluble:LPSL:LPSL -lipothymial:LP0M:LPTM -lipothymias:LP0M:LPTM -lipothymies:LP0M:LPTM -lipotrophic:LPTR:LPTR -lipotropism:LPTR:LPTR -lipovaccine:LPFX:LPFX -liquefiable:LKFP:LKFP -liquescence:LKSN:LKSN -liquidating:LKTT:LKTT -liquidation:LKTX:LKTX -liquidators:LKTT:LKTT -liquidities:LKTT:LKTT -liquidizers:LKTS:LKTS -liquidizing:LKTS:LKTS -lissencepha:LSNS:LSNS -lissomeness:LSMN:LSMN -listerioses:LSTR:LSTR -listeriosis:LSTR:LSTR -listerizing:LSTR:LSTR -literalists:LTRL:LTRL -literalness:LTRL:LTRL -literatures:LTRT:LTRT -lithocholic:L0XL:LTKL -lithogenous:L0JN:LTKN -lithographs:L0KR:LTKR -lithography:L0KR:LTKR -litholapaxy:L0LP:LTLP -lithologies:L0LJ:LTLK -lithologist:L0LJ:LTLK -lithometeor:LTMT:LTMT -lithopedion:L0PT:LTPT -lithophytes:L0FT:LTFT -lithophytic:L0FT:LTFT -lithoscopes:L0SK:LTSK -lithosphere:L0SF:LTSF -lithotomies:L0TM:LTTM -lithotomist:L0TM:LTTM -lithotomize:L0TM:LTTM -lithotripsy:L0TR:LTTR -lithotritor:L0TR:LTTR -lithuanians:L0NN:LTNN -litigations:LTKX:LTKX -litigiosity:LTJS:LTKS -litigiously:LTJS:LTKS -litterateur:LTRT:LTRT -littlenecks:LTLN:LTLN -liturgistic:LTRJ:LTRK -livableness:LFPL:LFPL -liveability:LFPL:LFPL -livelihoods:LFLH:LFLH -liverwursts:LFRR:LFRR -livetrapped:LFTR:LFTR -lixiviation:LKSF:LKSF -loathsomely:L0SM:LTSM -lobectomies:LPKT:LPKT -lobotomized:LPTM:LPTM -lobotomizes:LPTM:LPTM -localisable:LKLS:LKLS -localizable:LKLS:LKLS -lochiometra:LXMT:LKMT -lochiorrhea:LXR:LKR -locksmithes:LKSM:LKSM -locomotives:LKMT:LKMT -loculations:LKLX:LKLX -locutionary:LKXN:LKXN -logarithmal:LKR0:LKRT -logarithmic:LKR0:LKRT -loggerheads:LKRT:LKRT -logicalness:LJKL:LKKL -logistician:LJST:LKST -logographer:LKKR:LKKR -logographic:LKKR:LKKR -logogriphic:LKKR:LKKR -logomachies:LKMX:LKMK -logomachist:LKMX:LKMK -logopathies:LKP0:LKPT -loinclothes:LNKL:LNKL -loiteringly:LTRN:LTRN -lollygagged:LLKK:LLKK -longevities:LNJF:LNKF -longissimus:LNJS:LNKS -longsleever:LNKS:LNKS -loudmouthed:LTM0:LTMT -loudmouthes:LTM0:LTMT -loudspeaker:LTSP:LTSP -louisianans:LSNN:LXNN -louisianian:LSNN:LXNN -lovableness:LFPL:LFPL -lowercasing:LRKS:LRKS -loxodromics:LKST:LKST -loxoscelism:LKSS:LKSS -lubricanter:LPRK:LPRK -lubricating:LPRK:LPRK -lubrication:LPRK:LPRK -lubricative:LPRK:LPRK -lubricators:LPRK:LPRK -lubricously:LPRK:LPRK -lucratively:LKRT:LKRT -lucubrating:LKPR:LKPR -lucubration:LKPR:LKPR -lucubrators:LKPR:LKPR -ludicrously:LTKR:LTKR -lumberingly:LMRN:LMRN -lumberjacks:LMRJ:LMRJ -lumberyards:LMRR:LMRR -lumbocostal:LMPK:LMPK -lumbosacral:LMPS:LMPS -lumbricales:LMPR:LMPR -lumbricalis:LMPR:LMPR -luminescent:LMNS:LMNS -luminescing:LMNS:LMNS -lumpishness:LMPX:LMPX -lunatically:LNTK:LNTK -lustfulness:LSTF:LSTF -lustrations:LSTR:LSTR -luteinizing:LTNS:LTNS -luteotropic:LTTR:LTTR -luteotropin:LTTR:LTTR -lutheranism:L0RN:LTRN -luxuriantly:LKSR:LKSR -luxuriating:LKSR:LKSR -luxuriation:LKSR:LKSR -luxuriously:LKSR:LKSR -lycanthrope:LKN0:LKNT -lycanthropy:LKN0:LKNT -lymphagogue:LMFK:LMFK -lymphangial:LMFN:LMFN -lymphatical:LMFT:LMFT -lymphaticus:LMFT:LMFT -lymphoblast:LMFP:LMFP -lymphocytes:LMFS:LMFS -lymphocytic:LMFS:LMFS -lymphoedema:LMFT:LMFT -lymphogenic:LMFJ:LMFK -lymphograms:LMFK:LMFK -lymphopenia:LMFP:LMFP -lymphorrhea:LMFR:LMFR -lyophilized:LFLS:LFLS -lyophilizer:LFLS:LFLS -lyophilizes:LFLS:LFLS -lyosorption:LSRP:LSRP -lyricalness:LRKL:LRKL -lysogeneses:LSJN:LSKN -lysogenesis:LSJN:LSKN -lysogenized:LSJN:LSKN -lysogenizes:LSJN:LSKN -lysosomally:LSSM:LSSM -lysostaphin:LSST:LSST -macadamiser:MKTM:MKTM -macadamized:MKTM:MKTM -macadamizes:MKTM:MKTM -macebearers:MSPR:MSPR -macedonians:MSTN:MSTN -machiavelli:MKFL:MKFL -machicolate:MXKL:MKKL -machinating:MXNT:MKNT -machination:MXNX:MKNX -machineable:MXNP:MKNP -machineless:MXNL:MKNL -machinelike:MXNL:MKNL -machineries:MXNR:MKNR -machinizing:MXNS:MKNS -macintoshes:MSNT:MSNT -macrencepha:MKRN:MKRN -macrobiotic:MKRP:MKRP -macrocosmic:MKRK:MKRK -macrodontia:MKRT:MKRT -macrogamate:MKRK:MKRK -macrogamete:MKRK:MKRK -macrographs:MKRK:MKRK -macromastia:MKRM:MKRM -macromethod:MKRM:MKRM -macronuclei:MKRN:MKRN -macronychia:MKRN:MKRN -macrophages:MKRF:MKRF -macrophagic:MKRF:MKRF -macroscopic:MKRS:MKRS -macrosmatic:MKRS:MKRS -macrostomia:MKRS:MKRS -maculations:MKLX:MKLX -maddeningly:MTNN:MTNN -madreporian:MTRP:MTRP -madrigalian:MTRK:MTRK -madrigalist:MTRK:MTRK -magisterial:MJST:MKST -magisteries:MJST:MKST -magisterium:MJST:MKST -magistrates:MJST:MKST -magnamities:MNMT:MKNM -magnanimity:MNNM:MKNN -magnanimous:MNNM:MKNN -magnateship:MNTX:MKNT -magnetizers:MNTS:MKNT -magnetizing:MNTS:MKNT -magnifiable:MNFP:MKNF -magnificent:MNFS:MKNF -magnificoes:MNFK:MKNF -maharajahes:MHRJ:MHRH -maidenhairs:MTNR:MTNR -maidenheads:MTNT:MTNT -maidishness:MTXN:MTXN -maidservant:MTSR:MTSR -mailability:MLPL:MLPL -mailcoaches:MLKX:MLKK -maimonidean:MMNT:MMNT -mainlanders:MNLN:MNLN -mainprizing:MNPR:MNPR -mainsprings:MNSP:MNSP -mainstreams:MNST:MNST -maintainers:MNTN:MNTN -maintaining:MNTN:MNTN -maintenance:MNTN:MNTN -maintopsail:MNTP:MNTP -maisonettes:MSNT:MSNT -maladaptive:MLTP:MLTP -maladjusted:MLTJ:MLTJ -maladroitly:MLTR:MLTR -malapropian:MLPR:MLPR -malapropism:MLPR:MLPR -malariology:MLRL:MLRL -malbehavior:MLPH:MLPH -malcontents:MLKN:MLKN -maledicting:MLTK:MLTK -malediction:MLTK:MLTK -maledictive:MLTK:MLTK -maledictory:MLTK:MLTK -malefaction:MLFK:MLFK -malefactors:MLFK:MLFK -maleficence:MLFS:MLFS -malevolence:MLFL:MLFL -malfeasance:MLFS:MLFS -malfeasants:MLFS:MLFS -malfunction:MLFN:MLFN -maliciously:MLSS:MLXS -malignantly:MLNN:MLKN -malignities:MLNT:MLKN -malingerers:MLNK:MLNJ -malingering:MLNK:MLNJ -malleomyces:MLMS:MLMS -maloccluded:MLKL:MLKL -malonylurea:MLNL:MLNL -malposition:MLPS:MLPS -malpractice:MLPR:MLPR -malrotation:MLRT:MLRT -maltreaters:MLTR:MLTR -maltreating:MLTR:MLTR -mamilliform:MMLF:MMLF -mammalogist:MMLJ:MMLK -mammaplasty:MMPL:MMPL -mammiferous:MMFR:MMFR -mammillaria:MMLR:MMLR -mammillated:MMLT:MMLT -mammillitis:MMLT:MMLT -mammography:MMKR:MMKR -mammonistic:MMNS:MMNS -mammoplasty:MMPL:MMPL -mammotomies:MMTM:MMTM -managements:MNJM:MNKM -managership:MNKR:MNJR -manchurians:MNXR:MNKR -mandamusing:MNTM:MNTM -mandataries:MNTT:MNTT -mandatorily:MNTT:MNTT -mandibulary:MNTP:MNTP -mandibulate:MNTP:MNTP -mandolinist:MNTL:MNTL -manducating:MNTK:MNTK -manducation:MNTK:MNTK -manducatory:MNTK:MNTK -maneuvering:MNFR:MNFR -manganesian:MNKN:MNKN -manhandling:MNNT:MNNT -manicurists:MNKR:MNKR -manifesting:MNFS:MNFS -manifestoed:MNFS:MNFS -manifestoes:MNFS:MNFS -manifolders:MNFL:MNFL -manifolding:MNFL:MNFL -manipulable:MNPL:MNPL -manipulated:MNPL:MNPL -manipulates:MNPL:MNPL -manipulator:MNPL:MNPL -manneristic:MNRS:MNRS -mannishness:MNXN:MNXN -manoeuvered:MNFR:MNFR -manoeuvrers:MNFR:MNFR -manoeuvring:MNFR:MNFR -manometries:MNMT:MNMT -manontroppo:MNNT:MNNT -manorialism:MNRL:MNRL -manstealing:MNST:MNST -mantelettas:MNTL:MNTL -mantelpiece:MNTL:MNTL -manteltrees:MNTL:MNTL -mantlepiece:MNTL:MNTL -manucaption:MNKP:MNKP -manucapture:MNKP:MNKP -manuduction:MNTK:MNTK -manufactory:MNFK:MNFK -manufacture:MNFK:MNFK -manumission:MNMS:MNMS -manumitting:MNMT:MNMT -manuscripts:MNSK:MNSK -maraschinos:MRXN:MRXN -marbleizing:MRPL:MRPL -marcescence:MRSS:MRSS -marchioness:MRXN:MRKN -marconigram:MRKN:MRKN -marginality:MRJN:MRKN -marginalize:MRJN:MRKN -marginating:MRJN:MRKN -margination:MRJN:MRKN -margravates:MRKR:MRKR -marguerites:MRKR:MRKR -mariculture:MRKL:MRKL -marionettes:MRNT:MRNT -mariticidal:MRTS:MRTS -marketplace:MRKT:MRKT -markswomens:MRKS:MRKS -marmoration:MRMR:MRMR -marmoreally:MRMR:MRMR -marquessate:MRKS:MRKS -marqueterie:MRKT:MRKT -marquetries:MRKT:MRKT -marquisette:MRKS:MRKS -marronglace:MRNK:MRNK -marrowbones:MRPN:MRPN -marshalcies:MRXL:MRXL -marshallers:MRXL:MRXL -marshalling:MRXL:MRXL -marshalship:MRXL:MRXL -marshmallow:MRXM:MRXM -martialists:MRXL:MRXL -martialling:MRXL:MRXL -martialness:MRXL:MRXL -martinetish:MRTN:MRTN -martinetism:MRTN:MRTN -martingales:MRTN:MRTN -martyrizing:MRTR:MRTR -martyrology:MRTR:MRTR -marvelously:MRFL:MRFL -marylanders:MRLN:MRLN -masculinely:MSKL:MSKL -masculinity:MSKL:MSKL -masculinize:MSKL:MSKL -masochistic:MSXS:MSKS -masonically:MSNK:MSNK -masqueraded:MSKR:MSKR -masquerader:MSKR:MSKR -masquerades:MSKR:MSKR -massiveness:MSFN:MSFN -masterbated:MSTR:MSTR -masterfully:MSTR:MSTR -masterminds:MSTR:MSTR -masterpiece:MSTR:MSTR -masterworks:MSTR:MSTR -masticating:MSTK:MSTK -mastication:MSTK:MSTK -masticatory:MSTK:MSTK -mastocytoma:MSTS:MSTS -mastodontic:MSTT:MSTT -mastoiditis:MSTT:MSTT -mastopexies:MSTP:MSTP -mastoplasia:MSTP:MSTP -mastoplasty:MSTP:MSTP -mastotomies:MSTT:MSTT -masturbated:MSTR:MSTR -masturbates:MSTR:MSTR -masturbatic:MSTR:MSTR -masturbator:MSTR:MSTR -matchboards:MXPR:MXPR -matchlessly:MXLS:MXLS -matchmakers:MXMK:MXMK -matchmaking:MXMK:MXMK -matchmarked:MXMR:MXMR -matchsticks:MXST:MXST -materialism:MTRL:MTRL -materialist:MTRL:MTRL -materiality:MTRL:MTRL -materialize:MTRL:MTRL -materialman:MTRL:MTRL -materialmen:MTRL:MTRL -maternalism:MTRN:MTRN -maternities:MTRN:MTRN -mathematica:M0MT:MTMT -mathematics:M0MT:MTMT -matriarchal:MTRR:MTRR -matriarches:MTRR:MTRR -matricarias:MTRK:MTRK -matriculate:MTRK:MTRK -matrilineal:MTRL:MTRL -matrilinear:MTRL:MTRL -matrilinies:MTRL:MTRL -matrimonial:MTRM:MTRM -matrimonies:MTRM:MTRM -matrimonium:MTRM:MTRM -maturations:MTRX:MTRX -matutinally:MTTN:MTTN -mauritanian:MRTN:MRTN -mawkishness:MKXN:MKXN -maxilliform:MKSL:MKSL -maxisingles:MKSS:MKSS -mayoralties:MRLT:MRLT -meadowlands:MTLN:MTLN -meadowlarks:MTLR:MTLR -meadowsweet:MTST:MTST -meaningless:MNNK:MNNK -measureless:MSRL:MSRL -measurement:MSRM:MSRM -meatotomies:MTTM:MTTM -mechanician:MXNS:MKNX -mechanistic:MXNS:MKNS -mechanizers:MXNS:MKNS -mechanizing:MXNS:MKNS -mediastinal:MTST:MTST -mediastinum:MTST:MTST -mediateness:MTTN:MTTN -mediational:MTXN:MTXN -mediatizing:MTTS:MTTS -mediatorial:MTTR:MTTR -medicaments:MTKM:MTKM -medications:MTKX:MTKX -medicinable:MTSN:MTSN -medicinally:MTSN:MTSN -medicolegal:MTKL:MTKL -medievalism:MTFL:MTFL -medievalist:MTFL:MTFL -mediocarpal:MTKR:MTKR -mediodorsal:MTTR:MTTR -mediotarsal:MTTR:MTTR -meditations:MTTX:MTTX -mediumistic:MTMS:MTMS -medullation:MTLX:MTLX -meerschaums:MRXM:MRXM -megacephaly:MKSF:MKSF -megadeathes:MKT0:MKTT -megadonties:MKTN:MKTN -megadontism:MKTN:MKTN -megagametes:MKKM:MKKM -megaloblast:MKLP:MKLP -megalocepha:MKLS:MKLS -megalocytic:MKLS:MKLS -megalomania:MKLM:MKLM -megalomanic:MKLM:MKLM -megalopolis:MKLP:MKLP -megalosaurs:MKLS:MKLS -megatherian:MK0R:MKTR -megatherium:MK0R:MKTR -megavitamin:MKFT:MKFT -meiotically:MTKL:MTKL -melancholia:MLNX:MLNK -melancholic:MLNX:MLNK -melanesians:MLNS:MLNX -melanoblast:MLNP:MLNP -melanochroi:MLNK:MLNK -melanocytes:MLNS:MLNS -melanoderma:MLNT:MLNT -melanogenic:MLNJ:MLNK -melanophage:MLNF:MLNF -melanophore:MLNF:MLNF -melchizedek:MLXS:MLKT -melioidoses:MLTS:MLTS -melioidosis:MLTS:MLTS -meliorating:MLRT:MLRT -melioration:MLRX:MLRX -meliorative:MLRT:MLRT -melioristic:MLRS:MLRS -melliferous:MLFR:MLFR -mellifluent:MLFL:MLFL -mellifluous:MLFL:MLFL -melodically:MLTK:MLTK -melodiously:MLTS:MLTS -meltability:MLTP:MLTP -meltingness:MLTN:MLTN -memberships:MMPR:MMPR -membraneous:MMPR:MMPR -memorabilia:MMRP:MMRP -memorandums:MMRN:MMRN -memorialist:MMRL:MMRL -memorialize:MMRL:MMRL -memorisable:MMRS:MMRS -memorizable:MMRS:MMRS -menaphthone:MNF0:MNFT -menaquinone:MNKN:MNKN -mendacities:MNTS:MNTS -mendelevium:MNTL:MNTL -mendelizing:MNTL:MNTL -mendelssohn:MNTL:MNTL -meningiomas:MNNJ:MNNK -meningismus:MNNJ:MNNK -meningocele:MNNK:MNNK -meniscocyte:MNSK:MNSK -menorrhagia:MNRJ:MNRK -menorrhagic:MNRJ:MNRK -menservants:MNSR:MNSR -menstruated:MNST:MNST -menstruates:MNST:MNST -mensuration:MNSR:MNSR -mensurative:MNSR:MNSR -mentalities:MNTL:MNTL -mentholated:MN0L:MNTL -mentionable:MNXN:MNXN -meprobamate:MPRP:MPRP -meralluride:MRLR:MRLR -mercapturic:MRKP:MRKP -mercenaries:MRSN:MRSN -mercenarily:MRSN:MRSN -mercerizing:MRSR:MRSR -merchandize:MRXN:MRKN -merchantman:MRXN:MRKN -merchantmen:MRXN:MRKN -mercilessly:MRSL:MRSL -mercurially:MRKR:MRKR -meritocracy:MRTK:MRTK -meritorious:MRTR:MRTR -meroblastic:MRPL:MRPL -merogeneses:MRJN:MRKN -merogenesis:MRJN:MRKN -merogenetic:MRJN:MRKN -merrymakers:MRMK:MRMK -merrymaking:MRMK:MRMK -mesalliance:MSLN:MSLN -mesaortitis:MSRT:MSRT -mesatipelly:MSTP:MSTP -mesectoderm:MSKT:MSKT -mesenchymal:MSNX:MSNK -mesenteries:MSNT:MSNT -mesiobuccal:MSPK:MXPK -mesiodistal:MSTS:MXTS -mesmerizers:MSMR:MSMR -mesmerizing:MSMR:MSMR -mesoblastic:MSPL:MSPL -mesocardium:MSKR:MSKR -mesocenters:MSSN:MSSN -mesocephaly:MSSF:MSSF -mesoconchic:MSKN:MSKN -mesodonties:MSTN:MSTN -mesoduodena:MSTT:MSTT -mesogastria:MSKS:MSKS -mesogastric:MSKS:MSKS -mesognathic:MSN0:MSKN -mesometrial:MSMT:MSMT -mesometrium:MSMT:MSMT -mesomorphic:MSMR:MSMR -mesonephric:MSNF:MSNF -mesonephroi:MSNF:MSNF -mesonephron:MSNF:MSNF -mesonephros:MSNF:MSNF -mesophilous:MSFL:MSFL -mesophragma:MSFR:MSFR -mesopotamia:MSPT:MSPT -mesoprosopy:MSPR:MSPR -mesorrhinal:MSRN:MSRN -mesorrhinic:MSRN:MSRN -mesosalpinx:MSSL:MSSL -mesosigmoid:MSSK:MSSK -mesospheric:MSSF:MSSF -mesosternum:MSST:MSST -mesothelial:MS0L:MSTL -mesothelium:MS0L:MSTL -metabolical:MTPL:MTPL -metabolites:MTPL:MTPL -metabolized:MTPL:MTPL -metabolizes:MTPL:MTPL -metachroses:MTKR:MTKR -metachrosis:MTKR:MTKR -metageneses:MTJN:MTKN -metagenesis:MTJN:MTKN -metagenetic:MTJN:MTKN -metagonimus:MTKN:MTKN -metalloidal:MTLT:MTLT -metallurgic:MTLR:MTLR -metalworker:MTLR:MTLR -metamorphic:MTMR:MTMR -metanephric:MTNF:MTNF -metanephroi:MTNF:MTNF -metanephron:MTNF:MTNF -metanephros:MTNF:MTNF -metaphyseal:MTFS:MTFS -metaphysics:MTFS:MTFS -metaplastic:MTPL:MTPL -metaprotein:MTPR:MTPR -metaraminol:MTRM:MTRM -metastasize:MTST:MTST -metasternum:MTST:MTST -metatrophic:MTTR:MTTR -meteorology:MTRL:MTRL -methenamine:M0NM:MTNM -methicillin:M0SL:MTSL -methimazole:M0MS:MTMS -methodizing:M0TS:MTTS -methodology:M0TL:MTTL -methoxamine:M0KS:MTKS -methylamine:M0LM:MTLM -methylating:M0LT:MTLT -methylation:M0LX:MTLX -metoestrous:MTST:MTST -metrapectic:MTRP:MTRP -metrectasia:MTRK:MTRK -metreurysis:MTRR:MTRR -metricating:MTRK:MTRK -metrication:MTRK:MTRK -metricizing:MTRS:MTRS -metrography:MTRK:MTRK -metroliners:MTRL:MTRL -metrologies:MTRL:MTRL -metroptoses:MTRP:MTRP -metroptosis:MTRP:MTRP -metrostaxis:MTRS:MTRS -michigander:MXKN:MKKN -michiganite:MXKN:MKKN -microbicide:MKRP:MKRP -microbioses:MKRP:MKRP -microbiosis:MKRP:MKRP -microbiotic:MKRP:MKRP -microbodies:MKRP:MKRP -microcardia:MKRK:MKRK -microcentra:MKRS:MKRS -microchiria:MKRX:MKRK -micrococcal:MKRK:MKRK -micrococcin:MKRK:MKRK -micrococcus:MKRK:MKRK -microcoding:MKRK:MKRK -microcopies:MKRK:MKRK -microcornea:MKRK:MKRK -microcosmic:MKRK:MKRK -microfibril:MKRF:MKRF -microfiches:MKRF:MKRF -microfilmed:MKRF:MKRF -microfilmer:MKRF:MKRF -microgamete:MKRK:MKRK -microgramme:MKRK:MKRK -micrographs:MKRK:MKRK -micrography:MKRK:MKRK -microgroove:MKRK:MKRK -micrologies:MKRL:MKRL -micrologist:MKRL:MKRL -micromastia:MKRM:MKRM -micrometers:MKRM:MKRM -micromethod:MKRM:MKRM -micromicron:MKRM:MKRM -micromyelia:MKRM:MKRM -micronesian:MKRN:MKRN -micronuclei:MKRN:MKRN -micronychia:MKRN:MKRN -microphakia:MKRF:MKRF -microphalli:MKRF:MKRF -microphobia:MKRF:MKRF -microphones:MKRF:MKRF -microphonia:MKRF:MKRF -microscopes:MKRS:MKRS -microscopic:MKRS:MKRS -microsecond:MKRS:MKRS -microsmatic:MKRS:MKRS -microsporon:MKRS:MKRS -microsporum:MKRS:MKRS -microstates:MKRS:MKRS -microstomia:MKRS:MKRS -microstomus:MKRS:MKRS -microtomies:MKRT:MKRT -microtubule:MKRT:MKRT -microvillar:MKRF:MKRF -microvillus:MKRF:MKRF -micrurgical:MKRR:MKRR -micturating:MKTR:MKTR -micturition:MKTR:MKTR -middlebrows:MTLP:MTLP -midsagittal:MTSJ:MTSK -midsections:MTSK:MTSK -midwiferies:MTFR:MTFR -mignonettes:MNNT:MKNN -migrational:MKRX:MKRX -militarists:MLTR:MLTR -militarized:MLTR:MLTR -militarizes:MLTR:MLTR -millenarian:MLNR:MLNR -millenniums:MLNM:MLNM -milliampere:MLMP:MLMP -milliliters:MLLT:MLLT -millimeters:MLMT:MLMT -millimetric:MLMT:MLMT -millimicron:MLMK:MLMK -millinormal:MLNR:MLNR -millionaire:MLNR:MLNR -millisecond:MLSK:MLSK -millstreams:MLST:MLST -millwrights:MLRT:MLRT -milquetoast:MLKT:MLKT -mimeographs:MMKR:MMKR -mimetically:MMTK:MMTK -mindfulness:MNTF:MNTF -mineralized:MNRL:MNRL -mineralizes:MNRL:MNRL -mineralogic:MNRL:MNRL -minesweeper:MNSP:MNSP -miniaturist:MNTR:MNTR -miniaturize:MNTR:MNTR -minimalists:MNML:MNML -miniskirted:MNSK:MNSK -ministerial:MNST:MNST -ministering:MNST:MNST -ministrants:MNST:MNST -minneapolis:MNPL:MNPL -minnesinger:MNSN:MNSN -minnesotans:MNST:MNST -misadjusted:MSTJ:MSTJ -misadvising:MSTF:MSTF -misalleging:MSLJ:MSLK -misalliance:MSLN:MSLN -misanthrope:MSN0:MSNT -misanthropy:MSN0:MSNT -misapplying:MSPL:MSPL -misarranged:MSRN:MSRN -misarranges:MSRN:MSRN -misbegotten:MSPK:MSPK -misbehaving:MSPH:MSPH -misbehavior:MSPH:MSPH -misbranding:MSPR:MSPR -miscarriage:MSKR:MSKR -miscarrying:MSKR:MSKR -mischarging:MXRJ:MXRK -mischievous:MXFS:MXFS -miscibility:MSPL:MSPL -misclassify:MSKS:MSKS -misconceive:MSKN:MSKN -misconstrue:MSKN:MSKN -miscounting:MSKN:MSKN -misdefining:MSTF:MSTF -misdelivery:MSTL:MSTL -misdemeanor:MSTM:MSTM -misdescribe:MSTS:MSTS -misdiagnose:MSTN:MSTK -misdirected:MSTR:MSTR -miseducated:MSTK:MSTK -miseducates:MSTK:MSTK -misemployed:MSMP:MSMP -miserabilia:MSRP:MSRP -miserliness:MSRL:MSRL -misfeasance:MSFS:MSFS -misfortunes:MSFR:MSFR -misgoverned:MSKF:MSKF -misguidance:MSKT:MSKT -misguidedly:MSKT:MSKT -mishandling:MXNT:MXNT -misidentify:MSTN:MSTN -misinformed:MSNF:MSNF -misinstruct:MSNS:MSNS -misjudgment:MSTK:MSTK -mislabeling:MLPL:MLPL -mismanaging:MSMN:MSMN -mismarriage:MSMR:MSMR -mismatching:MSMX:MSMX -misnumbered:MSNM:MSNM -misogamists:MSKM:MSKM -misogynists:MSJN:MSKN -misoneistic:MSNS:MSNS -misperceive:MSPR:MSPR -mispleading:MSPL:MSPL -misprinting:MSPR:MSPR -misprisions:MSPR:MSPR -misreported:MSRP:MSRP -mississippi:MSSP:MSSP -missourians:MSRN:MSRN -misspelling:MSPL:MSPL -misspending:MSPN:MSPN -mistreating:MSTR:MSTR -mistrustful:MSTR:MSTR -mistrusting:MSTR:MSTR -mitogeneses:MTJN:MTKN -mitogenesis:MTJN:MTKN -mitogenetic:MTJN:MTKN -mitotically:MTTK:MTTK -mizzenmasts:MSNM:MSNM -mockingbird:MKNK:MKNK -modernistic:MTRN:MTRN -modernizers:MTRN:MTRN -modernizing:MTRN:MTRN -modularized:MTLR:MTLR -modularizes:MTLR:MTLR -modulations:MTLX:MTLX -mogigraphia:MJKR:MKKR -moisturized:MSTR:MSTR -moisturizer:MSTR:MSTR -moisturizes:MSTR:MSTR -molecularly:MLKL:MLKL -molestation:MLST:MLST -mollycoddle:MLKT:MLKT -momentarily:MMNT:MMNT -momentously:MMNT:MMNT -monarchical:MNRX:MNRK -monarchists:MNRX:MNRK -monasterial:MNST:MNST -monasteries:MNST:MNST -monasticism:MNST:MNST -monetarists:MNTR:MNTR -moneylender:MNLN:MNLN -moneymakers:MNMK:MNMK -moneymaking:MNMK:MNMK -monilethrix:MNL0:MNLT -monilithrix:MNL0:MNLT -monkeyshine:MNKX:MNKX -monkishness:MNKX:MNKX -monoblepsia:MNPL:MNPL -monocardian:MNKR:MNKR -monocephali:MNSF:MNSF -monochromat:MNKR:MNKR -monochromes:MNKR:MNKR -monocularly:MNKL:MNKL -monocytoses:MNST:MNST -monocytosis:MNST:MNST -monodactyly:MNTK:MNTK -monogamists:MNKM:MNKM -monogastric:MNKS:MNKS -monogeneses:MNJN:MNKN -monogenesis:MNJN:MNKN -monogenetic:MNJN:MNKN -monogrammed:MNKR:MNKR -monographer:MNKR:MNKR -monographes:MNKR:MNKR -monographic:MNKR:MNKR -monohydrate:MNHT:MNHT -monolingual:MNLN:MNLN -monolocular:MNLK:MNLK -monologists:MNLJ:MNLK -monologuist:MNLK:MNLK -monomaniacs:MNMN:MNMN -monomorphic:MNMR:MNMR -monomphalus:MNMF:MNMF -mononuclear:MNNK:MNNK -monopareses:MNPR:MNPR -monoparesis:MNPR:MNPR -monophylety:MNFL:MNFL -monopolists:MNPL:MNPL -monopolized:MNPL:MNPL -monopolizer:MNPL:MNPL -monopolizes:MNPL:MNPL -monopsonies:MNPS:MNPS -monopsonist:MNPS:MNPS -monorchides:MNRK:MNRK -monostratal:MNST:MNST -monotheists:MN0S:MNTS -monothermia:MN0R:MNTR -monotremata:MNTR:MNTR -monotrichic:MNTR:MNTR -monozygotic:MNSK:MNSK -monseigneur:MNSN:MNSK -monstrances:MNST:MNST -monstrosity:MNST:MNST -monstrously:MNST:MNST -moonlighted:MNLT:MNLT -moonlighter:MNLT:MNLT -moonshiners:MNXN:MNXN -moonshining:MNXN:MNXN -moratoriums:MRTR:MRTR -morbidities:MRPT:MRPT -moribundity:MRPN:MRPN -moronically:MRNK:MRNK -morphinized:MRFN:MRFN -morphinizes:MRFN:MRFN -morphogenic:MRFJ:MRFK -morphologic:MRFL:MRFL -morphometry:MRFM:MRFM -mortalities:MRTL:MRTL -mortarboard:MRTR:MRTR -motivations:MTFX:MTFX -motoneurone:MTNR:MTNR -motorcycles:MTRS:MTRS -motortrucks:MTRT:MTRT -mountaineer:MNTN:MNTN -mountainous:MNTN:MNTN -mountaintop:MNTN:MNTN -mountebanks:MNTP:MNTP -mouthpieces:M0PS:MTPS -mouthwashes:M0XS:MTXS -movableness:MFPL:MFPL -moveability:MFPL:MFPL -moxibustion:MKSP:MKSP -mucicarmine:MSKR:MSKR -mucinolytic:MSNL:MSNL -mucoprotein:MKPR:MKPR -mudslingers:MTSL:MTSL -mudslinging:MTSL:MTSL -multangular:MLTN:MLTN -multangulum:MLTN:MLTN -multicuspid:MLTK:MLTK -multiethnic:MLT0:MLTT -multifamily:MLTF:MLTF -multilineal:MLTL:MLTL -multimammae:MLTM:MLTM -multiparity:MLTP:MLTP -multiparous:MLTP:MLTP -multiphasic:MLTF:MLTF -multiplexed:MLTP:MLTP -multiplexes:MLTP:MLTP -multiplexor:MLTP:MLTP -multipliers:MLTP:MLTP -multiplying:MLTP:MLTP -multiracial:MLTR:MLTR -multiradial:MLTR:MLTR -multivalent:MLTF:MLTF -mumbletypeg:MMPL:MMPL -municipally:MNSP:MNSP -munificence:MNFS:MNFS -munitioning:MNXN:MNXN -murderesses:MRTR:MRTR -murderously:MRTR:MRTR -muscarinism:MSKR:MSKR -musclebound:MSKP:MSKP -muscularity:MSKL:MSKL -musculation:MSKL:MSKL -musculature:MSKL:MSKL -mushrooming:MXRM:MXRM -muskellunge:MSKL:MSKL -mussitation:MSTX:MSTX -mustachioed:MSTX:MSTK -mutableness:MTPL:MTPL -mutafacient:MTFS:MTFX -mutageneses:MTJN:MTKN -mutagenesis:MTJN:MTKN -mutilations:MTLX:MTLX -muttonchops:MTNX:MTNK -mutualities:MTLT:MTLT -mycetogenic:MSTJ:MSTK -mycological:MKLJ:MKLK -mycologists:MKLJ:MKLK -mycophagous:MKFK:MKFK -mycoplasmal:MKPL:MKPL -mycoplasmas:MKPL:MKPL -myelatrophy:MLTR:MLTR -myelination:MLNX:MLNX -myelocytoma:MLST:MLST -myelogenous:MLJN:MLKN -myelography:MLKR:MLKR -myelolipoma:MLLP:MLLP -myelomatous:MLMT:MLMT -myelopathic:MLP0:MLPT -myeloplaces:MLPL:MLPL -myeloplaxes:MLPL:MLPL -myeloplegia:MLPL:MLPL -mylohyoidei:MLHT:MLHT -myocarditis:MKRT:MKRT -myocardoses:MKRT:MKRT -myocardosis:MKRT:MKRT -myodynamics:MTNM:MTNM -myodystonia:MTST:MTST -myoelectric:MLKT:MLKT -myofascitis:MFST:MFST -myofibrilla:MFPR:MFPR -myofibromas:MFPR:MFPR -myofibroses:MFPR:MFPR -myofibrosis:MFPR:MFPR -myofilament:MFLM:MFLM -myogenicity:MJNS:MKNS -myographies:MKRF:MKRF -myolipomata:MLPM:MLPM -myometritis:MMTR:MMTR -myoplasties:MPLS:MPLS -myosarcomas:MSRK:MSRK -myotenotomy:MTNT:MTNT -myotrophies:MTRF:MTRF -myringotome:MRNK:MRNK -myringotomy:MRNK:MRNK -mythologies:M0LJ:MTLK -mythologist:M0LJ:MTLK -mythomaniac:MTMN:MTMN -myxadenitis:MKST:MKST -myxadenomas:MKST:MKST -myxasthenia:MKSS:MKSS -myxidiocies:MKST:MKST -myxofibroma:MKSF:MKSF -myxolipomas:MKSL:MKSL -myxomatoses:MKSM:MKSM -myxomatosis:MKSM:MKSM -myxomycetes:MKSM:MKSM -myxoneuroma:MKSN:MKSN -myxosarcoma:MKSS:MKSS -nailbrushes:NLPR:NLPR -nanoseconds:NNSK:NNSK -naphthalene:NF0L:NFTL -naphthionic:NF0N:NFTN -narcissists:NRSS:NRSS -narcissuses:NRSS:NRSS -narcohypnia:NRKH:NRKH -narcoleptic:NRKL:NRKL -narcoticism:NRKT:NRKT -narcotizing:NRKT:NRKT -narratersox:NRTR:NRTR -narrationes:NRXN:NRXN -narratively:NRTF:NRTF -narrowcasts:NRKS:NRKS -nasociliary:NSSL:NSSL -nasofrontal:NSFR:NSFR -nasopalatal:NSPL:NSPL -nasopharynx:NSFR:NSFR -nasospinale:NSSP:NSSP -nasturtiums:NSTR:NSTR -nationalism:NXNL:NXNL -nationalist:NXNL:NXNL -nationality:NXNL:NXNL -nationalize:NXNL:NXNL -natriuresis:NTRR:NTRR -natriuretic:NTRR:NTRR -natterjacks:NTRJ:NTRJ -naturalists:NTRL:NTRL -naturalized:NTRL:NTRL -naturalizes:NTRL:NTRL -naturalness:NTRL:NTRL -naturopaths:NTRP:NTRP -naturopathy:NTRP:NTRP -naughtiness:NKTN:NKTN -naviculares:NFKL:NFKL -neanderthal:NNTR:NNTR -neapolitans:NPLT:NPLT -nearsighted:NRST:NRST -nearthroses:NR0R:NRTR -nearthrosis:NR0R:NRTR -necessarian:NSSR:NSSR -necessaries:NSSR:NSSR -necessarily:NSSR:NSSR -necessarium:NSSR:NSSR -necessitate:NSST:NSST -necessities:NSST:NSST -necessitous:NSST:NSST -neckerchief:NKRX:NKRK -necrobioses:NKRP:NKRP -necrobiosis:NKRP:NKRP -necrobiotic:NKRP:NKRP -necrogenous:NKRJ:NKRK -necrologied:NKRL:NKRL -necrologies:NKRL:NKRL -necrologist:NKRL:NKRL -necromancer:NKRM:NKRM -necromaniac:NKRM:NKRM -necromantic:NKRM:NKRM -necrophagia:NKRF:NKRF -necrophiles:NKRF:NKRF -necrophilia:NKRF:NKRF -necrophilic:NKRF:NKRF -necrophobes:NKRF:NKRF -necrophobia:NKRF:NKRF -necrophobic:NKRF:NKRF -necropsying:NKRP:NKRP -necrotizing:NKRT:NKRT -necrotomies:NKRT:NKRT -needfulness:NTFL:NTFL -needlecraft:NTLK:NTLK -needlepoint:NTLP:NTLP -needlewoman:NTLM:NTLM -needlewomen:NTLM:NTLM -neencephala:NNSF:NNSF -nefariously:NFRS:NFRS -negativists:NKTF:NKTF -negligentia:NKLJ:NLKN -negligently:NKLJ:NLKN -negotiating:NKXT:NKXT -negotiation:NKXX:NKXX -negotiators:NKXT:NKXT -negotiatory:NKXT:NKXT -negotiatrix:NKXT:NKXT -negrophiles:NKRF:NKRF -negrophobes:NKRF:NKRF -negrophobia:NKRF:NKRF -negrophobic:NKRF:NKRF -neighboring:NPRN:NPRN -nematicidal:NMTS:NMTS -nematocidal:NMTS:NMTS -nematocysts:NMTS:NMTS -nematodirus:NMTT:NMTT -nematoidean:NMTT:NMTT -neocolonial:NKLN:NKLN -neocortexes:NKRT:NKRT -neocortical:NKRT:NKRT -neocortices:NKRT:NKRT -neologistic:NLJS:NLKS -neologizing:NLJS:NLKS -neomorphism:NMRF:NMRF -neonatology:NNTL:NNTL -neopalliums:NPLM:NPLM -neophiliacs:NFLK:NFLK -neostigmine:NSTK:NSTK -neostriatum:NSTR:NSTR -neothalamus:N0LM:NTLM -nephalistic:NFLS:NFLS -nephographs:NFKR:NFKR -nephologist:NFLJ:NFLK -nephoscopes:NFSK:NFSK -nephrectomy:NFRK:NFRK -nephritical:NFRT:NFRT -nephritides:NFRT:NFRT -nephritises:NFRT:NFRT -nephrogenic:NFRJ:NFRK -nephropathy:NFRP:NFRP -nephrostoma:NFRS:NFRS -nephrostome:NFRS:NFRS -nephrostoms:NFRS:NFRS -nephrotoxic:NFRT:NFRT -nervelessly:NRFL:NRFL -nervosities:NRFS:NRFS -nervousness:NRFS:NRFS -nesslerized:NSLR:NSLR -nesslerizes:NSLR:NSLR -netherlands:N0RL:NTRL -netherworld:N0RR:NTRR -neurenteric:NRNT:NRNT -neurilemmal:NRLM:NRLM -neurilemoma:NRLM:NRLM -neurilities:NRLT:NRLT -neurinomata:NRNM:NRNM -neuroactive:NRKT:NRKT -neuroblasts:NRPL:NRPL -neurocentra:NRSN:NRSN -neurocoeles:NRKL:NRKL -neurocrania:NRKR:NRKR -neurocytoma:NRST:NRST -neurofibril:NRFP:NRFP -neurogenous:NRJN:NRKN -neuroglioma:NRKL:NRLM -neurography:NRKR:NRKR -neurolemmas:NRLM:NRLM -neuroleptic:NRLP:NRLP -neurologies:NRLJ:NRLK -neurologist:NRLJ:NRLK -neurologize:NRLJ:NRLK -neuromerism:NRMR:NRMR -neuropathic:NRP0:NRPT -neurophilic:NRFL:NRFL -neuropodium:NRPT:NRPT -neuroticism:NRTS:NRTS -neurotomies:NRTM:NRTM -neurotomist:NRTM:NRTM -neurotoxics:NRTK:NRTK -neurotoxins:NRTK:NRTK -neurotropic:NRTR:NRTR -neurotubule:NRTP:NRTP -neurulation:NRLX:NRLX -neutralists:NTRL:NTRL -neutralized:NTRL:NTRL -neutralizer:NTRL:NTRL -neutralizes:NTRL:NTRL -neutrocytic:NTRS:NTRS -neutropenia:NTRP:NTRP -neutropenic:NTRP:NTRP -neutrophile:NTRF:NTRF -neutrophils:NTRF:NTRF -newscasters:NSKS:NSKS -newscasting:NSKS:NSKS -newsdealers:NSTL:NSTL -newsflashes:NSFL:NSFL -newsletters:NSLT:NSLT -newsreaders:NSRT:NSRT -niacinamide:NSNM:NSNM -nicaraguans:NKRK:NKRK -nickelodeon:NKLT:NKLT -nicotinized:NKTN:NKTN -nicotinizes:NKTN:NKTN -nicotinuric:NKTN:NKTN -nictitating:NKTT:NKTT -nictitation:NKTT:NKTT -nidificated:NTFK:NTFK -nidificates:NTFK:NTFK -nietzschean:NTSX:NTSX -nightingale:NTNK:NTNK -nightmarish:NTMR:NTMR -nightriders:NTRT:NTRT -nightriding:NTRT:NTRT -nightshades:NTXT:NTXT -nightshirts:NTXR:NTXR -nightstands:NTST:NTST -nightwalker:NTLK:NTLK -nigrescence:NKRS:NKRS -nikethamide:NKTM:NKTM -nincompoops:NNKM:NNKM -nineteenths:NNTN:NNTN -nitridation:NTRT:NTRT -nitrifiable:NTRF:NTRF -nitrogenase:NTRJ:NTRK -nitrogenize:NTRJ:NTRK -nitrogenous:NTRJ:NTRK -nitromersol:NTRM:NTRM -nitrometric:NTRM:NTRM -nitrosamine:NTRS:NTRS -nitrostarch:NTRS:NTRS -nocardioses:NKRT:NKRT -nocardiosis:NKRT:NKRT -nociceptive:NSSP:NSSP -noctambulic:NKTM:NKTM -noctilucent:NKTL:NKTL -noctivagant:NKTF:NKTF -nocturnally:NKTR:NKTR -nocuousness:NKSN:NKSN -noiselessly:NSLS:NSLS -noisemakers:NSMK:NSMK -noisomeness:NSMN:NSMN -nomadically:NMTK:NMTK -nomenclator:NMNK:NMNK -nominalists:NMNL:NMNL -nominations:NMNX:NMNX -nominatival:NMNT:NMNT -nominatives:NMNT:NMNT -nomocracies:NMKR:NMKR -nomographer:NMKR:NMKR -nomographic:NMKR:NMKR -nomological:NMLJ:NMLK -nomologists:NMLJ:NMLK -nonabatable:NNPT:NNPT -nonabrasive:NNPR:NNPR -nonabsolute:NNPS:NNPS -nonacademic:NNKT:NNKT -nonacceding:NNXT:NNXT -nonaccepted:NNXP:NNXP -nonadaptive:NNTP:NNTP -nonadditive:NNTT:NNTT -nonadhesive:NNTS:NNTS -nonadjacent:NNTJ:NNTJ -nonadmitted:NNTM:NNTM -nonanalytic:NNNL:NNNL -nonapparent:NNPR:NNPR -nonathletic:NN0L:NNTL -nonbeliever:NNPL:NNPL -nonblocking:NNPL:NNPL -nonbusiness:NNPS:NNPS -noncallable:NNKL:NNKL -noncategory:NNKT:NNKT -noncellular:NNSL:NNSL -nonchalance:NNXL:NNKL -nonchemical:NNXM:NNKM -nonclerical:NNKL:NNKL -nonclinical:NNKL:NNKL -noncoagulat:NNKK:NNKK -noncohesive:NNKH:NNKH -nonconflict:NNKN:NNKN -nonconstant:NNKN:NNKN -noncreative:NNKR:NNKR -noncriminal:NNKR:NNKR -noncritical:NNKR:NNKR -noncyclical:NNSK:NNSK -nondelivery:NNTL:NNTL -nondescript:NNTS:NNTS -nondiabetic:NNTP:NNTP -nondividing:NNTF:NNTF -nondogmatic:NNTK:NNTK -nondramatic:NNTR:NNTR -nondrinkers:NNTR:NNTR -nondurables:NNTR:NNTR -noneconomic:NNKN:NNKN -noneducable:NNTK:NNTK -nonelection:NNLK:NNLK -nonelective:NNLK:NNLK -nonelectric:NNLK:NNLK -noneligible:NNLJ:NNLK -nonemployed:NNMP:NNMP -nonentities:NNNT:NNNT -nonetheless:NN0L:NNTL -nonexistent:NNKS:NNKS -nonexisting:NNKS:NNKS -nonfascists:NNFS:NNFS -nonfeasance:NNFS:NNFS -nonfederate:NNFT:NNFT -nonflexible:NNFL:NNFL -nonfreehold:NNFR:NNFR -nonfreezing:NNFR:NNFR -nonfundable:NNFN:NNFN -nonhabitual:NNPT:NNPT -nonhabituat:NNPT:NNPT -nonharmonic:NNRM:NNRM -nonhibernat:NNPR:NNPR -nonhistoric:NNST:NNST -nonidentity:NNTN:NNTN -nonillionth:NNLN:NNLN -nonimmunity:NNMN:NNMN -noninfected:NNNF:NNNF -noninvasive:NNNF:NNNF -nonirritant:NNRT:NNRT -nonirritate:NNRT:NNRT -nonissuable:NNSP:NNSP -nonjudicial:NNJT:NNJT -nonlibelous:NNLP:NNLP -nonlinearly:NNLN:NNLN -nonliterary:NNLT:NNLT -nonlitigate:NNLT:NNLT -nonluminous:NNLM:NNLM -nonmagnetic:NNMN:NNMK -nonmailable:NNML:NNML -nonmaritime:NNMR:NNMR -nonmaterial:NNMT:NNMT -nonmaternal:NNMT:NNMT -nonmetallic:NNMT:NNMT -nonmilitant:NNML:NNML -nonmilitary:NNML:NNML -nonmonetary:NNMN:NNMN -nonmuscular:NNMS:NNMS -nonmystical:NNMS:NNMS -nonmythical:NNM0:NNMT -nonnegative:NNKT:NNKT -nonnucleate:NNKL:NNKL -nonoccupier:NNKP:NNKP -nonofficial:NNFS:NNFX -nonoperable:NNPR:NNPR -nonorthodox:NNR0:NNRT -nonparallel:NNPR:NNPR -nonpartisan:NNPR:NNPR -nonpaternal:NNPT:NNPT -nonpayments:NNPM:NNPM -nonphysical:NNFS:NNFS -nonplussing:NNPL:NNPL -nonprecious:NNPR:NNPR -nonpregnant:NNPR:NNPR -nonprossing:NNPR:NNPR -nonrational:NNRX:NNRX -nonreactive:NNRK:NNRK -nonrecourse:NNRK:NNRK -nonregiment:NNRJ:NNRK -nonregister:NNRJ:NNRK -nonresident:NNRS:NNRS -nonresidual:NNRS:NNRS -nonrestrict:NNRS:NNRS -nonrhythmic:NNR0:NNRT -nonsalaried:NNSL:NNSL -nonseasonal:NNSS:NNSS -nonsecretly:NNSK:NNSK -nonsecretor:NNSK:NNSK -nonsensical:NNSN:NNSN -nonseparate:NNSP:NNSP -nonsingular:NNSN:NNSN -nonsinkable:NNSN:NNSN -nonspeaking:NNSP:NNSP -nonspecific:NNSP:NNSP -nonsporting:NNSP:NNSP -nonstaining:NNST:NNST -nonstandard:NNST:NNST -nonstarters:NNST:NNST -nonstimulat:NNST:NNST -nonstriated:NNST:NNST -nonstrikers:NNST:NNST -nonstriking:NNST:NNST -nonsurgical:NNSR:NNSR -nonswimmers:NNSM:NNSM -nonsymbolic:NNSM:NNSM -nonteaching:NNTX:NNTK -nontemporal:NNTM:NNTM -nonterminal:NNTR:NNTR -nonthinking:NN0N:NNTN -nontropical:NNTR:NNTR -nonunionism:NNNN:NNNN -nonunionist:NNNN:NNNN -nonvascular:NNFS:NNFS -nonvenomous:NNFN:NNFN -nonvintages:NNFN:NNFN -nonviolence:NNFL:NNFL -nonvirulent:NNFR:NNFR -nonvisually:NNFS:NNFS -nonvolatile:NNFL:NNFL -nonyielding:NNLT:NNLT -normalities:NRML:NRML -normalizing:NRML:NRML -normatively:NRMT:NRMT -northeaster:NR0S:NRTS -northerlies:NR0R:NRTR -northerners:NR0R:NRTR -northlander:NR0L:NRTL -northwardly:NR0R:NRTR -northwester:NR0S:NRTS -nor'westers:NRST:NRST -nosographic:NSKR:NSKR -nosological:NSLJ:NSLK -nosologists:NSLJ:NSLK -nosopsyllus:NSPS:NSPS -nostradamus:NSTR:NSTR -notableness:NTPL:NTPL -nothingness:N0NN:NTNK -notochordal:NTXR:NTKR -notorieties:NTRT:NTRT -notoriously:NTRS:NTRS -noumenalism:NMNL:NMNL -noumenalist:NMNL:NMNL -noumenality:NMNL:NMNL -nourishment:NRXM:NRXM -novelettish:NFLT:NFLT -noxiousness:NKSS:NKSS -nucleations:NKLX:NKLX -nucleolated:NKLL:NKLL -nucleophile:NKLF:NKLF -nucleoplasm:NKLP:NKLP -nucleosomes:NKLS:NKLS -nucleotides:NKLT:NKLT -nucleotoxic:NKLT:NKLT -nudicaulous:NTKL:NTKL -nullifidian:NLFT:NLFT -nulliparaes:NLPR:NLPR -nulliparous:NLPR:NLPR -numberplate:NMRP:NMRP -numerations:NMRX:NMRX -numerically:NMRK:NMRK -numismatics:NMSM:NMSM -numismatism:NMSM:NMSM -numismatist:NMSM:NMSM -nunciatures:NNST:NNXT -nuncupating:NNKP:NNKP -nuncupation:NNKP:NNKP -nuncupative:NNKP:NNKP -nurserymaid:NRSR:NRSR -nutcrackers:NTKR:NTKR -nutrimental:NTRM:NTRM -nutritional:NTRX:NTRX -nutritively:NTRT:NTRT -nyctinastic:NKTN:NKTN -nyctitropic:NKTT:NKTT -nyctophobia:NKTF:NKTF -nyctophobic:NKTF:NKTF -nympholepsy:NMFL:NMFL -nympholepts:NMFL:NMFL -nymphomania:NMFM:NMFM -oarsmanship:ARSM:ARSM -obdormition:APTR:APTR -obedientary:APTN:APTN -obediential:APTN:APTN -obfuscating:APFS:APFS -obfuscation:APFS:APFS -obfuscators:APFS:APFS -obfuscatory:APFS:APFS -objectified:APJK:APJK -objectifies:APJK:APJK -objectional:APJK:APJK -objectively:APJK:APJK -objectivism:APJK:APJK -objectivist:APJK:APJK -objectivity:APJK:APJK -objurgating:APJR:APJR -objurgation:APJR:APJR -objurgative:APJR:APJR -objurgatory:APJR:APJR -obligations:APLK:APLK -obliqueness:APLK:APLK -obliquities:APLK:APLK -obliterated:APLT:APLT -obliterates:APLT:APLT -obliterator:APLT:APLT -obliviously:APLF:APLF -oblongataes:APLN:APLN -obnoxieties:APNK:APNK -obnoxiously:APNK:APNK -obnubilated:APNP:APNP -obnubilates:APNP:APNP -obscenities:APSN:APSN -obscuration:APSK:APSK -obscurative:APSK:APSK -obscurement:APSK:APSK -obscureness:APSK:APSK -obscurities:APSK:APSK -observances:APSR:APSR -observantly:APSR:APSR -observation:APSR:APSR -observatory:APSR:APSR -observingly:APSR:APSR -obsessingly:APSS:APSS -obsessional:APSS:APSS -obsessively:APSS:APSS -obsignation:APSN:APSK -obsignatory:APSN:APSK -obsolescent:APSL:APSL -obsolescing:APSL:APSL -obstetrical:APST:APST -obstinacies:APST:APST -obstinately:APST:APST -obstipating:APST:APST -obstipation:APST:APST -obstructers:APST:APST -obstructing:APST:APST -obstruction:APST:APST -obstructive:APST:APST -obstructors:APST:APST -obtestation:APTS:APTS -obtrusively:APTR:APTR -obviousness:APFS:APFS -occasioning:AKSN:AKXN -occidentals:AXTN:AXTN -occipitalis:AXPT:AXPT -occipitally:AXPT:AXPT -occultation:AKLT:AKLT -occupancies:AKPN:AKPN -occupations:AKPX:AKPX -occurrences:AKRN:AKRN -ochlocratic:AKLK:AKLK -ochlophobia:AKLF:AKLF -octagonally:AKTK:AKTK -octahedrons:AKTH:AKTH -octapeptide:AKTP:AKTP -octennially:AKTN:AKTN -octillionth:AKTL:AKTL -octodecimos:AKTT:AKTT -odontectomy:ATNT:ATNT -odontitides:ATNT:ATNT -odontoblast:ATNT:ATNT -odontoclast:ATNT:ATNT -odontogenic:ATNT:ATNT -odontograph:ATNT:ATNT -odontoloxia:ATNT:ATNT -odontophore:ATNT:ATNT -odoriferous:ATRF:ATRF -odorousness:ATRS:ATRS -oenological:ANLJ:ANLK -oesophageal:ASFJ:ASFK -oestrogenic:ASTR:ASTR -offenceless:AFNS:AFNS -offenseless:AFNS:AFNS -offensively:AFNS:AFNS -offensiving:AFNS:AFNS -offertories:AFRT:AFRT -offhandedly:AFNT:AFNT -officialdom:AFSL:AFXL -officialese:AFSL:AFXL -officialise:AFSL:AFXL -officialism:AFSL:AFXL -officiality:AFSL:AFXL -officiaries:AFSR:AFXR -officiating:AFST:AFXT -officiation:AFSX:AFXX -officinally:AFSN:AFSN -officiously:AFSS:AFXS -oleographic:ALKR:ALKR -oleovitamin:ALFT:ALFT -olfactology:ALFK:ALFK -oligarchies:ALKR:ALKR -oligochaete:ALKK:ALKX -oligodontia:ALKT:ALKT -oligopolies:ALKP:ALKP -oligopolist:ALKP:ALKP -oligopyrene:ALKP:ALKP -oligotrophy:ALKT:ALKT -ombrogenous:AMPR:AMPR -omentectomy:AMNT:AMNT -ominousness:AMNS:AMNS -ommatophore:AMTF:AMTF -omnifarious:AMNF:AMNF -omnipotence:AMNP:AMNP -omnipresent:AMNP:AMNP -omniscience:AMNS:AMNS -omohyoideus:AMHT:AMHT -onagraceous:ANKR:ANKR -onchocercal:ANXS:ANKS -onchosphere:ANXS:ANKS -oncogeneses:ANKJ:ANKK -oncogenesis:ANKJ:ANKK -oncological:ANKL:ANKL -oncologists:ANKL:ANKL -oncomelania:ANKM:ANKM -onerosities:ANRS:ANRS -onerousness:ANRS:ANRS -onomatology:ANMT:ANMT -ontogeneses:ANTJ:ANTK -ontogenesis:ANTJ:ANTK -ontogenetic:ANTJ:ANTK -ontogenical:ANTJ:ANTK -ontological:ANTL:ANTL -ontologists:ANTL:ANTL -onychitides:ANXT:ANKT -onycholyses:ANXL:ANKL -onycholysis:ANXL:ANKL -onychophagy:ANXF:ANKF -ooporphyrin:APRF:APRF -opalescence:APLS:APLS -opeidoscope:APTS:APTS -openhearted:APNR:APNR -openmouthed:APNM:APNM -operability:APRP:APRP -operational:APRX:APRX -operatively:APRT:APRT -operativity:APRT:APRT -operatizing:APRT:APRT -operculated:APRK:APRK -ophiologist:AFLJ:AFLK -opinionated:APNN:APNN -opobalsamum:APPL:APPL -opportunely:APRT:APRT -opportunism:APRT:APRT -opportunist:APRT:APRT -opportunity:APRT:APRT -opprobriate:APRP:APRP -opprobrious:APRP:APRP -opprobriums:APRP:APRP -opthalmitis:AP0L:APTL -optokinetic:APTK:APTK -optometries:APTM:APTM -optometrist:APTM:APTM -orangoutang:ARNK:ARNK -orbiculares:ARPK:ARPK -orbicularis:ARPK:ARPK -orbicularly:ARPK:ARPK -orchardists:ARXR:ARKR -orchestrate:ARKS:ARKS -orchidopexy:ARKT:ARKT -orchiectomy:ARXK:ARKK -orderliness:ARTR:ARTR -ordinations:ARTN:ARTN -organically:ARKN:ARKN -organicists:ARKN:ARKN -organizable:ARKN:ARKN -organogenic:ARKN:ARKN -organologic:ARKN:ARKN -organoscopy:ARKN:ARKN -organotropy:ARKN:ARKN -orgiastical:ARJS:ARKS -orientalise:ARNT:ARNT -orientating:ARNT:ARNT -orientation:ARNT:ARNT -orienteered:ARNT:ARNT -originality:ARJN:ARKN -originating:ARJN:ARKN -origination:ARJN:ARKN -originators:ARJN:ARKN -ornamenting:ARNM:ARNM -ornithology:ARN0:ARNT -ornithopter:ARN0:ARNT -orthocenter:AR0S:ARTS -orthocresol:AR0K:ARTK -orthodontia:AR0T:ARTT -orthodontic:AR0T:ARTT -orthodoxies:AR0T:ARTT -orthodromic:AR0T:ARTT -orthoepists:AR0P:ARTP -orthognathy:AR0N:ARTK -orthography:AR0K:ARTK -orthopaedic:AR0P:ARTP -orthopedics:AR0P:ARTP -orthopedist:AR0P:ARTP -orthophoria:AR0F:ARTF -orthopnoeic:AR0P:ARTP -orthopteran:AR0P:ARTP -orthoptists:AR0P:ARTP -orthoscopic:AR0S:ARTS -orthostatic:AR0S:ARTS -orthostichy:AR0S:ARTS -orthotropic:AR0T:ARTT -oscillating:ASLT:ASLT -oscillation:ASLX:ASLX -oscillators:ASLT:ASLT -oscillatory:ASLT:ASLT -oscillogram:ASLK:ASLK -oscitancies:ASTN:ASTN -osculations:ASKL:ASKL -osmiophilic:ASMF:ASMF -osmometries:ASMM:ASMM -osmotically:ASMT:ASMT -ostectomies:ASTK:ASTK -ostensively:ASTN:ASTN -ostentation:ASTN:ASTN -osteoclasis:ASTK:ASTK -osteocrania:ASTK:ASTK -osteodentin:ASTT:ASTT -osteogenous:ASTJ:ASTK -osteography:ASTK:ASTK -osteologies:ASTL:ASTL -osteologist:ASTL:ASTL -osteomatoid:ASTM:ASTM -osteomatous:ASTM:ASTM -osteometric:ASTM:ASTM -osteopathes:ASTP:ASTP -osteopathic:ASTP:ASTP -osteophagia:ASTF:ASTF -osteophytic:ASTF:ASTF -osteoplasty:ASTP:ASTP -osteotomies:ASTT:ASTT -ostracizing:ASTR:ASTR -ostracoderm:ASTR:ASTR -ostracodous:ASTR:ASTR -otacariases:ATKR:ATKR -otacariasis:ATKR:ATKR -otocephalic:ATSF:ATSF -otoplasties:ATPL:ATPL -ototoxicity:ATTK:ATTK -outbalanced:ATPL:ATPL -outbalances:ATPL:ATPL -outbargains:ATPR:ATPR -outbluffing:ATPL:ATPL -outboarding:ATPR:ATPR -outboasting:ATPS:ATPS -outbreeding:ATPR:ATPR -outbuilding:ATPL:ATPL -outcavilled:ATKF:ATKF -outclassing:ATKL:ATKL -outcropping:ATKR:ATKR -outcrossing:ATKR:ATKR -outdistance:ATST:ATST -outdrinking:ATRN:ATRN -outfielders:ATFL:ATFL -outfielding:ATFL:ATFL -outfighting:ATFT:ATFT -outflanking:ATFL:ATFL -outgenerals:ATJN:ATKN -outgrowthes:ATKR:ATKR -outguessing:ATKS:ATKS -outjockeyed:ATJK:ATJK -outlaughing:ATLF:ATLF -outmaneuver:ATMN:ATMN -outmaneuvre:ATMN:ATMN -outmarching:ATMR:ATMR -outmatching:ATMX:ATMX -outnumbered:ATNM:ATNM -outpatients:ATPT:ATPT -outperforms:ATPR:ATPR -outpointing:ATPN:ATPN -outpourings:ATPR:ATPR -outproduced:ATPR:ATPR -outproduces:ATPR:ATPR -outreaching:ATRX:ATRK -outreasoned:ATRS:ATRS -outrivalled:ATRF:ATRF -outshooting:ATXT:ATXT -outshouting:ATXT:ATXT -outsmarting:ATSM:ATSM -outspeaking:ATSP:ATSP -outspelling:ATSP:ATSP -outspokenly:ATSP:ATSP -outstanding:ATST:ATST -outstations:ATST:ATST -outstepping:ATST:ATST -outstripped:ATST:ATST -outswimming:ATSM:ATSM -outthinking:A0NK:ATNK -outwardness:ATRT:ATRT -outweighing:ATNK:ATNK -ovariectomy:AFRK:AFRK -overabounds:AFRP:AFRP -overachieve:AFRX:AFRK -overadorned:AFRT:AFRT -overadvance:AFRT:AFRT -overaffects:AFRF:AFRF -overanalyze:AFRN:AFRN -overanxious:AFRN:AFRN -overarching:AFRR:AFRR -overasserts:AFRS:AFRS -overassured:AFRS:AFRS -overbalance:AFRP:AFRP -overbearing:AFRP:AFRP -overbidding:AFRP:AFRP -overblowing:AFRP:AFRP -overbooking:AFRP:AFRP -overbreadth:AFRP:AFRP -overburdens:AFRP:AFRP -overcalling:AFRK:AFRK -overcareful:AFRK:AFRK -overcertify:AFRS:AFRS -overcharged:AFRX:AFRK -overcharges:AFRX:AFRK -overclothes:AFRK:AFRK -overclouded:AFRK:AFRK -overcommits:AFRK:AFRK -overcomplex:AFRK:AFRK -overconcern:AFRK:AFRK -overconsume:AFRK:AFRK -overcooking:AFRK:AFRK -overcooling:AFRK:AFRK -overcorrect:AFRK:AFRK -overcropped:AFRK:AFRK -overcrowded:AFRK:AFRK -overcurious:AFRK:AFRK -overdevelop:AFRT:AFRT -overdeviate:AFRT:AFRT -overdiluted:AFRT:AFRT -overdilutes:AFRT:AFRT -overdistant:AFRT:AFRT -overdraught:AFRT:AFRT -overdrawing:AFRT:AFRT -overdressed:AFRT:AFRT -overdresses:AFRT:AFRT -overdriving:AFRT:AFRT -overdubbing:AFRT:AFRT -overearnest:AFRR:AFRR -overeducate:AFRT:AFRT -overelating:AFRL:AFRL -overexcited:AFRK:AFRK -overexcites:AFRK:AFRK -overexerted:AFRK:AFRK -overexpands:AFRK:AFRK -overexploit:AFRK:AFRK -overexposed:AFRK:AFRK -overexposes:AFRK:AFRK -overextends:AFRK:AFRK -overfatigue:AFRF:AFRF -overfearful:AFRF:AFRF -overfeeding:AFRF:AFRF -overfilling:AFRF:AFRF -overfishing:AFRF:AFRF -overflights:AFRF:AFRF -overflowing:AFRF:AFRF -overfragile:AFRF:AFRF -overfreight:AFRF:AFRF -overfurnish:AFRF:AFRF -overgarment:AFRK:AFRK -overgrazing:AFRK:AFRK -overgrowing:AFRK:AFRK -overhanding:AFRN:AFRN -overhanging:AFRN:AFRN -overhastily:AFRS:AFRS -overhauling:AFRL:AFRL -overhearing:AFRR:AFRR -overheating:AFRT:AFRT -overhurried:AFRR:AFRR -overimpress:AFRM:AFRM -overincline:AFRN:AFRN -overindulge:AFRN:AFRN -overinflate:AFRN:AFRN -overinsured:AFRN:AFRN -overinsures:AFRN:AFRN -overintense:AFRN:AFRN -overinvests:AFRN:AFRN -overissuing:AFRS:AFRS -overkilling:AFRK:AFRK -overlapping:AFRL:AFRL -overleaping:AFRL:AFRL -overloading:AFRL:AFRL -overlooking:AFRL:AFRL -overmagnify:AFRM:AFRM -overmanaged:AFRM:AFRM -overmanages:AFRM:AFRM -overmanning:AFRM:AFRM -overmasters:AFRM:AFRM -overmatched:AFRM:AFRM -overmatches:AFRM:AFRM -overmeasure:AFRM:AFRM -overnighter:AFRN:AFRN -overpayment:AFRP:AFRP -overpeopled:AFRP:AFRP -overpitched:AFRP:AFRP -overpitches:AFRP:AFRP -overplaying:AFRP:AFRP -overpowered:AFRP:AFRP -overpraised:AFRP:AFRP -overpraises:AFRP:AFRP -overprecise:AFRP:AFRP -overpricing:AFRP:AFRP -overprinted:AFRP:AFRP -overproduce:AFRP:AFRP -overprotect:AFRP:AFRP -overreached:AFRX:AFRK -overreacher:AFRX:AFRK -overreaches:AFRX:AFRK -overreacted:AFRK:AFRK -overrefined:AFRF:AFRF -overrefines:AFRF:AFRF -overroasted:AFRS:AFRS -overrunning:AFRN:AFRN -oversalting:AFRS:AFRS -overscoring:AFRS:AFRS -overselling:AFRS:AFRS -oversetting:AFRS:AFRS -overshadows:AFRX:AFRX -oversleeves:AFRS:AFRS -oversparing:AFRS:AFRS -overspilled:AFRS:AFRS -overspreads:AFRS:AFRS -overstaffed:AFRS:AFRS -overstating:AFRS:AFRS -overstaying:AFRS:AFRS -oversteered:AFRS:AFRS -overstepped:AFRS:AFRS -overstocked:AFRS:AFRS -overstrains:AFRS:AFRS -overstretch:AFRS:AFRS -overstrides:AFRS:AFRS -overstrikes:AFRS:AFRS -overstuffed:AFRS:AFRS -overtasking:AFRT:AFRT -overthrowal:AFR0:AFRT -overthrower:AFR0:AFRT -overtopping:AFRT:AFRT -overtrading:AFRT:AFRT -overtrained:AFRT:AFRT -overtrumped:AFRT:AFRT -overturning:AFRT:AFRT -overvaluing:AFRF:AFRF -overviolent:AFRF:AFRF -overwatched:AFRX:AFRX -overwatches:AFRX:AFRX -overwatered:AFRT:AFRT -overwealthy:AFRL:AFRL -overweening:AFRN:AFRN -overweighed:AFRT:AFRT -overweighes:AFRS:AFRS -overwhelmed:AFRL:AFRL -overwilling:AFRL:AFRL -overwinding:AFRN:AFRN -overwinters:AFRN:AFRN -overworking:AFRR:AFRR -overwriting:AFRR:AFRR -overwritten:AFRR:AFRR -overwrought:AFRR:AFRR -overzealous:AFRS:AFRS -oviparously:AFPR:AFPR -oviposition:AFPS:AFPS -ovovitellin:AFFT:AFFT -oxidational:AKST:AKST -oxidatively:AKST:AKST -oxidimetric:AKST:AKST -oxidization:AKST:AKST -oxycephalic:AKSS:AKSS -oxychloride:AKSX:AKSK -oxygenating:AKSJ:AKSK -oxygenation:AKSJ:AKSK -oxygenicity:AKSJ:AKSK -oxygenizing:AKSJ:AKSK -oxyhydrogen:AKSH:AKSH -oxysulphide:AKSS:AKSS -oysterwoman:ASTR:ASTR -oysterwomen:ASTR:ASTR -ozoniferous:ASNF:ASNF -ozonization:ASNS:ASNS -ozonosphere:ASNS:ASNS -pacchionian:PXNN:PXNN -pacesetters:PSST:PSST -pacesetting:PSST:PSST -pachydermia:PKTR:PKTR -pachymeninx:PKMN:PKMN -pachysandra:PKSN:PKSN -pacifically:PSFK:PSFK -packsaddles:PKST:PKST -packthreads:PK0R:PKTR -paediatrics:PTTR:PTTR -paedologist:PTLJ:PTLK -paedophilia:PTFL:PTFL -pageantries:PJNT:PKNT -painfulness:PNFL:PNFL -painkillers:PNKL:PNKL -painkilling:PNKL:PNKL -painstaking:PNST:PNST -palaearctic:PLRK:PLRK -palatalises:PLTL:PLTL -palatalized:PLTL:PLTL -palatalizes:PLTL:PLTL -palatinates:PLTN:PLTN -palatonasal:PLTN:PLTN -paleocortex:PLKR:PLKR -paleography:PLKR:PLKR -paleopallia:PLPL:PLPL -palestinian:PLST:PLST -palikinesia:PLKN:PLKN -palimpsests:PLMP:PLMP -palindromes:PLNT:PLNT -palindromia:PLNT:PLNT -palindromic:PLNT:PLNT -pallbearers:PLPR:PLPR -palletizing:PLTS:PLTS -palliations:PLXN:PLXN -palpability:PLPP:PLPP -palpebrated:PLPP:PLPP -palpebrates:PLPP:PLPP -palpitating:PLPT:PLPT -palpitation:PLPT:PLPT -pamphleteer:PMFL:PMFL -panamanians:PNMN:PNMN -pancarditis:PNKR:PNKR -pancreatism:PNKR:PNKR -pandemoniac:PNTM:PNTM -pandemonium:PNTM:PNTM -panegyrical:PNJR:PNKR -panegyrises:PNJR:PNKR -panegyrists:PNJR:PNKR -panegyrized:PNJR:PNKR -panegyrizes:PNJR:PNKR -panhandlers:PNNT:PNNT -panhandling:PNNT:PNNT -panicmonger:PNKM:PNKM -paniculated:PNKL:PNKL -panjandrums:PNJN:PNJN -panotitides:PNTT:PNTT -pansophical:PNSF:PNSF -pantetheine:PNT0:PNTT -pantheistic:PN0S:PNTS -pantography:PNTK:PNTK -pantomiming:PNTM:PNTM -pantomimist:PNTM:PNTM -pantoscopic:PNTS:PNTS -pantothenic:PNT0:PNTT -pantywaists:PNTS:PNTS -papaveretum:PPFR:PPFR -paperbacker:PPRP:PPRP -paperboards:PPRP:PPRP -paperhanger:PPRN:PPRN -paperknives:PPRK:PPRK -paperweight:PPRT:PPRT -papilledema:PPLT:PPLT -papilliform:PPLF:PPLF -papillomata:PPLM:PPLM -papovavirus:PPFF:PPFF -papyraceous:PPRS:PPRS -parablastic:PRPL:PRPL -parablepses:PRPL:PRPL -parablepsia:PRPL:PRPL -parablepsis:PRPL:PRPL -parabolical:PRPL:PRPL -parabolises:PRPL:PRPL -parabolized:PRPL:PRPL -parabolizes:PRPL:PRPL -paracarmine:PRKR:PRKR -paracelsian:PRSL:PRSL -paracentral:PRSN:PRSN -paracetamol:PRST:PRST -parachordal:PRKR:PRKR -parachuting:PRKT:PRKT -parachutist:PRKT:PRKT -paracolitis:PRKL:PRKL -paracolpium:PRKL:PRKL -paracystium:PRSS:PRSS -paradentium:PRTN:PRTN -paradidymis:PRTT:PRTT -paradoxical:PRTK:PRTK -paraffining:PRFN:PRFN -paraffinoma:PRFN:PRFN -paraganglia:PRKN:PRKN -paragenesis:PRJN:PRKN -paragenetic:PRJN:PRKN -paragliders:PRKL:PRLT -paragliding:PRKL:PRLT -paraglossia:PRKL:PRKL -paragnathus:PRN0:PRKN -paragogical:PRKJ:PRKK -paragonimus:PRKN:PRKN -paragraphed:PRKR:PRKR -paragraphes:PRKR:PRKR -paragraphia:PRKR:PRKR -paragraphic:PRKR:PRKR -paraguayans:PRKN:PRKN -parahepatic:PRHP:PRHP -parahormone:PRHR:PRHR -parakineses:PRKN:PRKN -parakinesia:PRKN:PRKN -parakinesis:PRKN:PRKN -parakinetic:PRKN:PRKN -paraldehyde:PRLT:PRLT -parallactic:PRLK:PRLK -paralleling:PRLL:PRLL -parallelism:PRLL:PRLL -parallelist:PRLL:PRLL -parallelize:PRLL:PRLL -parallelled:PRLL:PRLL -paralyticae:PRLT:PRLT -paralytical:PRLT:PRLT -paramastoid:PRMS:PRMS -parameciums:PRMS:PRMS -paramedical:PRMT:PRMT -parametrial:PRMT:PRMT -parametrium:PRMT:PRMT -paramountcy:PRMN:PRMN -paramountly:PRMN:PRMN -paranephric:PRNF:PRNF -paranuclear:PRNK:PRNK -paranucleus:PRNK:PRNK -parapareses:PRPR:PRPR -paraparesis:PRPR:PRPR -paraphernal:PRFR:PRFR -paraphiliac:PRFL:PRFL -paraphoniae:PRFN:PRFN -paraphonias:PRFN:PRFN -paraphrased:PRFR:PRFR -paraphraser:PRFR:PRFR -paraphrases:PRFR:PRFR -paraphrasia:PRFR:PRFR -paraphrenia:PRFR:PRFR -paraphrenic:PRFR:PRFR -paraphysate:PRFS:PRFS -paraphyseal:PRFS:PRFS -paraphysial:PRFS:PRFX -paraplegics:PRPL:PRPL -parapoplexy:PRPP:PRPP -parapraxias:PRPR:PRPR -paraproctia:PRPR:PRPR -paraprotein:PRPR:PRPR -parasailing:PRSL:PRSL -parascience:PRSN:PRSN -paraselenae:PRSL:PRSL -paraselenic:PRSL:PRSL -parasitemia:PRST:PRST -parasitical:PRST:PRST -parasitized:PRST:PRST -parasitizes:PRST:PRST -parasitoses:PRST:PRST -parasitosis:PRST:PRST -paraspadias:PRSP:PRSP -parasternal:PRST:PRST -parasuicide:PRSS:PRSS -parathyroid:PR0R:PRTR -paratrooper:PRTR:PRTR -paratrophic:PRTR:PRTR -paratyphoid:PRTF:PRTF -paratypical:PRTP:PRTP -paravaginal:PRFJ:PRFK -paravesical:PRFS:PRFS -parbuckling:PRPK:PRPK -parcenaries:PRSN:PRSN -parectasias:PRKT:PRKT -parenchymal:PRNX:PRNK -parentheses:PRN0:PRNT -parenthesis:PRN0:PRNT -parenthetic:PRN0:PRNT -parenticide:PRNT:PRNT -paresthesia:PRS0:PRST -paresthetic:PRS0:PRST -paretically:PRTK:PRTK -parimutuels:PRMT:PRMT -paripinnate:PRPN:PRPN -parishioner:PRXN:PRXN -parliaments:PRLM:PRLM -parochially:PRKL:PRKL -parodontium:PRTN:PRTN -paromomycin:PRMM:PRMM -paronomasia:PRNM:PRNM -paronychial:PRNK:PRNK -paroophoron:PRFR:PRFR -parotiditis:PRTT:PRTT -paroxytonic:PRKS:PRKS -parthenonly:PR0N:PRTN -partialness:PRXL:PRXL -partibility:PRTP:PRTP -participant:PRTS:PRTS -participate:PRTS:PRTS -participial:PRTS:PRTS -participles:PRTS:PRTS -particulars:PRTK:PRTK -particulary:PRTK:PRTK -particulate:PRTK:PRTK -partitioned:PRTX:PRTX -partitioner:PRTX:PRTX -partitively:PRTT:PRTT -partnerless:PRTN:PRTN -partnership:PRTN:PRTN -parturiency:PRTR:PRTR -parturition:PRTR:PRTR -pasquinaded:PSKN:PSKN -pasquinader:PSKN:PSKN -pasquinades:PSKN:PSKN -passageways:PSJS:PSKS -passibility:PSPL:PSPL -passionless:PSNL:PSNL -passiveness:PSFN:PSFN -pasteboards:PSTP:PSTP -pastellists:PSTL:PSTL -pasteurella:PSTR:PSTR -pasteurized:PSTR:PSTR -pasteurizer:PSTR:PSTR -pasteurizes:PSTR:PSTR -pastoralism:PSTR:PSTR -pastoralist:PSTR:PSTR -patelliform:PTLF:PTLF -paternalism:PTRN:PTRN -paternalist:PTRN:PTRN -paternities:PTRN:PTRN -paternoster:PTRN:PTRN -pathfinders:P0FN:PTFN -pathfinding:P0FN:PTFN -pathodontia:P0TN:PTTN -pathogenics:P0JN:PTKN -pathogenies:P0JN:PTKN -pathogenous:P0JN:PTKN -pathologies:P0LJ:PTLK -pathologist:P0LJ:PTLK -patriarchal:PTRR:PTRR -patriarches:PTRR:PTRR -patrilineal:PTRL:PTRL -patrilinear:PTRL:PTRL -patrilinies:PTRL:PTRL -patrimonial:PTRM:PTRM -patrimonies:PTRM:PTRM -patrimonium:PTRM:PTRM -patrologist:PTRL:PTRL -patrolwoman:PTRL:PTRL -patrolwomen:PTRL:PTRL -patronesses:PTRN:PTRN -patronizers:PTRN:PTRN -patronizing:PTRN:PTRN -patronymics:PTRN:PTRN -paunchiness:PNXN:PNKN -pauperizing:PPRS:PPRS -pavilioning:PFLN:PFLN -pawnbrokers:PNPR:PNPR -pawnbroking:PNPR:PNPR -peacekeeper:PSKP:PSKP -peacemakers:PSMK:PSMK -peacemaking:PSMK:PSMK -peccability:PKPL:PKPL -peccadillos:PKTL:PKTL -pectination:PKTN:PKTN -pectinously:PKTN:PKTN -pectization:PKTS:PKTS -pectoralgia:PKTR:PKTR -peculations:PKLX:PKLX -peculiarity:PKLR:PKLR -pecuniarily:PKNR:PKNR -pedagogical:PTKJ:PTKK -pedagoguism:PTKK:PTKK -pederasties:PTRS:PTRS -pedestalled:PTST:PTST -pedestrians:PTST:PTST -pediatrists:PTTR:PTTR -pedicellate:PTSL:PTSL -pediculated:PTKL:PTKL -pediculoses:PTKL:PTKL -pediculosis:PTKL:PTKL -pedicurists:PTKR:PTKR -pedodontics:PTTN:PTTN -pedodontist:PTTN:PTTN -pedological:PTLJ:PTLK -pedologists:PTLJ:PTLK -pedophiliac:PTFL:PTFL -pedunculate:PTNK:PTNK -peevishness:PFXN:PFXN -pelargonium:PLRK:PLRK -pelletizing:PLTS:PLTS -pellitories:PLTR:PLTR -pellucidity:PLST:PLST -pelmatogram:PLMT:PLMT -pelotherapy:PL0R:PLTR -pelvisacral:PLFS:PLFS -pemphiguses:PMFK:PMFK -pencillings:PNSL:PNSL -pendulously:PNTL:PNTL -penetralian:PNTR:PNTR -penetrating:PNTR:PNTR -penetration:PNTR:PNTR -penetrative:PNTR:PNTR -penetrators:PNTR:PNTR -penicillate:PNSL:PNSL -penicillium:PNSL:PNSL -penicilloic:PNSL:PNSL -peninsulate:PNNS:PNNS -penitentiae:PNTN:PNTN -penitential:PNTN:PNTN -penniferous:PNFR:PNFR -pennilessly:PNLS:PNLS -pennyroyals:PNRL:PNRL -pennyweight:PNT:PNT -penological:PNLJ:PNLK -penologists:PNLJ:PNLK -pensileness:PNSL:PNSL -pensionable:PNSN:PNXN -pensionless:PNSN:PNXN -pensiveness:PNSF:PNSF -pentadactyl:PNTT:PNTT -pentahedral:PNTH:PNTH -pentahedron:PNTH:PNTH -pentalogies:PNTL:PNTL -pentamerism:PNTM:PNTM -pentamerous:PNTM:PNTM -pentamidine:PNTM:PNTM -pentangular:PNTN:PNTN -pentarchies:PNTR:PNTR -pentathlons:PNT0:PNTT -pentavalent:PNTF:PNTF -pentazocine:PNTS:PNTS -pentecostal:PNTK:PNTK -pentlandite:PNTL:PNTL -penultimate:PNLT:PNLT -penuriously:PNRS:PNRS -peppercorns:PPRK:PPRK -pepperiness:PPRN:PPRN -peppermints:PPRM:PPRM -peppertrees:PPRT:PPRT -pepsinating:PPSN:PPSN -peptization:PPTS:PPTS -peptonizing:PPTN:PPTN -perambulate:PRMP:PRMP -perceivable:PRSF:PRSF -perceivably:PRSF:PRSF -percentaged:PRSN:PRSN -percentages:PRSN:PRSN -percentiles:PRSN:PRSN -perceptible:PRSP:PRSP -perceptibly:PRSP:PRSP -perceptions:PRSP:PRSP -perchlorate:PRXL:PRKL -perchloride:PRXL:PRKL -percipience:PRSP:PRSP -percolating:PRKL:PRKL -percolation:PRKL:PRKL -percolative:PRKL:PRKL -percolators:PRKL:PRKL -percussions:PRKS:PRKS -peregrinate:PRKR:PRKR -perennating:PRNT:PRNT -perennially:PRNL:PRNL -perfectible:PRFK:PRFK -perfectness:PRFK:PRFK -perfervidly:PRFR:PRFR -perforating:PRFR:PRFR -perforation:PRFR:PRFR -perforative:PRFR:PRFR -perforators:PRFR:PRFR -perforatory:PRFR:PRFR -performable:PRFR:PRFR -performance:PRFR:PRFR -performavit:PRFR:PRFR -perfumeries:PRFM:PRFM -perfunctory:PRFN:PRFN -periacinous:PRSN:PRSN -periblastic:PRPL:PRPL -pericardiac:PRKR:PRKR -pericardial:PRKR:PRKR -pericardium:PRKR:PRKR -pericecitis:PRSS:PRSS -perichordal:PRXR:PRKR -periclastic:PRKL:PRKL -pericolitis:PRKL:PRKL -periconchal:PRKN:PRKN -pericorneal:PRKR:PRKR -pericoronal:PRKR:PRKR -pericranial:PRKR:PRKR -pericranium:PRKR:PRKR -pericystium:PRSS:PRSS -peridesmium:PRTS:PRTS -perididymis:PRTT:PRTT -peridotitic:PRTT:PRTT -perienteric:PRNT:PRNT -perienteron:PRNT:PRNT -periglacial:PRKL:PRKL -periglottic:PRKL:PRKL -periglottis:PRKL:PRKL -perihepatic:PRHP:PRHP -perimetries:PRMT:PRMT -perimetrium:PRMT:PRMT -perimorphic:PRMR:PRMR -perineotomy:PRNT:PRNT -perinephria:PRNF:PRNF -perinephric:PRNF:PRNF -perineurial:PRNR:PRNR -perineurium:PRNR:PRNR -perinuclear:PRNK:PRNK -periodicals:PRTK:PRTK -periodicity:PRTS:PRTS -periodontal:PRTN:PRTN -periodontia:PRTN:PRTN -periodontic:PRTN:PRTN -perionychia:PRNK:PRNK -periorbital:PRRP:PRRP -periosteoma:PRST:PRST -periostitic:PRST:PRST -periostitis:PRST:PRST -periostoses:PRST:PRST -periostosis:PRST:PRST -peripatetic:PRPT:PRPT -peripeteian:PRPT:PRPT -peripherals:PRFR:PRFR -peripheries:PRFR:PRFR -periphrases:PRFR:PRFR -periphrasis:PRFR:PRFR -periplaneta:PRPL:PRPL -periproctal:PRPR:PRPR -periproctic:PRPR:PRPR -peripyloric:PRPL:PRPL -perisalpinx:PRSL:PRSL -perishables:PRXP:PRXP -perishingly:PRXN:PRXN -perisinuous:PRSN:PRSN -perispermal:PRSP:PRSP -perisplenic:PRSP:PRSP -peristalses:PRST:PRST -peristalsis:PRST:PRST -peristaltic:PRST:PRST -peritectomy:PRTK:PRTK -perithecium:PR0S:PRTS -perithelial:PR0L:PRTL -perithelium:PR0L:PRTL -peritoneums:PRTN:PRTN -peritonital:PRTN:PRTN -peritonitic:PRTN:PRTN -peritonitis:PRTN:PRTN -peritonized:PRTN:PRTN -peritonizes:PRTN:PRTN -perityphlic:PRTF:PRTF -periuterine:PRTR:PRTR -perivesical:PRFS:PRFS -periwinkles:PRNK:PRNK -perlocution:PRLK:PRLK -permanently:PRMN:PRMN -permanganic:PRMN:PRMN -permeations:PRMX:PRMX -permissable:PRMS:PRMS -permissible:PRMS:PRMS -permissibly:PRMS:PRMS -permissions:PRMS:PRMS -permutating:PRMT:PRMT -permutation:PRMT:PRMT -pernocation:PRNK:PRNK -perodactyli:PRTK:PRTK -perorations:PRRX:PRRX -perosomuses:PRSM:PRSM -peroxisomal:PRKS:PRKS -perpetrated:PRPT:PRPT -perpetrates:PRPT:PRPT -perpetrator:PRPT:PRPT -perpetually:PRPT:PRPT -perpetuated:PRPT:PRPT -perpetuates:PRPT:PRPT -perpetuator:PRPT:PRPT -perplexedly:PRPL:PRPL -perquisites:PRKS:PRKS -perrectally:PRKT:PRKT -persecutees:PRSK:PRSK -persecuting:PRSK:PRSK -persecution:PRSK:PRSK -persecutive:PRSK:PRSK -persecutors:PRSK:PRSK -persecutory:PRSK:PRSK -perseverant:PRSF:PRSF -persevering:PRSF:PRSF -persistence:PRSS:PRSS -persistency:PRSS:PRSS -persnickety:PRSN:PRSN -personalism:PRSN:PRSN -personalist:PRSN:PRSN -personality:PRSN:PRSN -personalize:PRSN:PRSN -personating:PRSN:PRSN -personation:PRSN:PRSN -personative:PRSN:PRSN -personators:PRSN:PRSN -personified:PRSN:PRSN -personifier:PRSN:PRSN -personifies:PRSN:PRSN -perspective:PRSP:PRSP -perspicuity:PRSP:PRSP -perspicuous:PRSP:PRSP -persuadable:PRST:PRST -persuadably:PRST:PRST -persuasible:PRSS:PRSS -persuasions:PRSS:PRSX -pertinacity:PRTN:PRTN -pertinentia:PRTN:PRTN -pertinently:PRTN:PRTN -perturbable:PRTR:PRTR -perturbably:PRTR:PRTR -pervasively:PRFS:PRFS -perversions:PRFR:PRFR -pervertedly:PRFR:PRFR -pervertible:PRFR:PRFR -pervigilium:PRFJ:PRFK -pessimistic:PSMS:PSMS -pesteringly:PSTR:PSTR -pestiferous:PSTF:PSTF -pestilences:PSTL:PSTL -pestilently:PSTL:PSTL -pestologist:PSTL:PSTL -petitionary:PTXN:PTXN -petitionees:PTXN:PTXN -petitioners:PTXN:PTXN -petitioning:PTXN:PTXN -petnappings:PTNP:PTNP -petrodollar:PTRT:PTRT -petroglyphs:PTRK:PTRK -petrography:PTRK:PTRK -petrologies:PTRL:PTRL -petrologist:PTRL:PTRL -pettifogged:PTFK:PTFK -pettifogger:PTFK:PTFK -pettishness:PTXN:PTXN -phacoerysis:FKRS:FKRS -phagocytize:FKST:FKST -phagocytose:FKST:FKST -phagocytoze:FKST:FKST -phagomaniac:FKMN:FKMN -phalacroses:FLKR:FLKR -phalacrosis:FLKR:FLKR -phalangette:FLNK:FLNK -phallically:FLKL:FLKL -phalloidine:FLTN:FLTN -phanerozoic:FNRS:FNRS -phantomlike:FNTM:FNTM -pharisaical:FRSK:FRSK -pharmacists:FRMS:FRMS -pharyngismi:FRNJ:FRNK -pharyngitis:FRNJ:FRNK -phenazocine:FNSS:FNSS -phenetidine:FNTT:FNTT -phenocopies:FNKP:FNKP -phenolating:FNLT:FNLT -phenologies:FNLJ:FNLK -phenologist:FNLJ:FNLK -phenomenons:FNMN:FNMN -pherentasin:FRNT:FRNT -phialophora:FLFR:FLFR -philandered:FLNT:FLNT -philanderer:FLNT:FLNT -philatelist:FLTL:FLTL -philippians:FLPN:FLPN -philippines:FLPN:FLPN -philistines:FLST:FLST -philologist:FLLJ:FLLK -philosopher:FLSF:FLSF -philosophic:FLSF:FLSF -phlebectomy:FLPK:FLPK -phlebitides:FLPT:FLPT -phlebotomic:FLPT:FLPT -phlebotomus:FLPT:FLPT -phlegmasiae:FLKM:FLKM -phlegmonous:FLKM:FLKM -phlogogenic:FLKJ:FLKK -phlorrhizin:FLRS:FLRS -phlyctaenae:FLKT:FLKT -phlyctenoid:FLKT:FLKT -phlyctenula:FLKT:FLKT -phlyctenule:FLKT:FLKT -phoenicians:FNSN:FNXN -phonemicist:FNMS:FNMS -phonetician:FNTS:FNTX -phoneticist:FNTS:FNTS -phonogramic:FNKR:FNKR -phonographs:FNKR:FNKR -phonologies:FNLJ:FNLK -phonologist:FNLJ:FNLK -phonometric:FNMT:FNMT -phonophobia:FNFP:FNFP -phonoscopes:FNSK:FNSK -phonotypist:FNTP:FNTP -phorometric:FRMT:FRMT -phosphatase:FSFT:FSFT -phosphatide:FSFT:FSFT -phosphating:FSFT:FSFT -phosphatize:FSFT:FSFT -phosphonium:FSFN:FSFN -phosphorate:FSFR:FSFR -phosphorism:FSFR:FSFR -phosphorite:FSFR:FSFR -phosphorize:FSFR:FSFR -phosphorous:FSFR:FSFR -photoactive:FTKT:FTKT -photobathic:FTP0:FTPT -photobiotic:FTPT:FTPT -photocopied:FTKP:FTKP -photocopier:FTKP:FTKP -photocopies:FTKP:FTKP -photodiodes:FTTT:FTTT -photofloods:FTFL:FTFL -photographs:FTKR:FTKR -photography:FTKR:FTKR -photolyzing:FTLS:FTLS -photomapped:FTMP:FTMP -photometric:FTMT:FTMT -photomosaic:FTMS:FTMS -photomurals:FTMR:FTMR -photonastic:FTNS:FTNS -photopathic:FTP0:FTPT -photoperiod:FTPR:FTPR -photophilic:FTFL:FTFL -photophobia:FTFP:FTFP -photophobic:FTFP:FTFP -photophores:FTFR:FTFR -photosphere:FTSF:FTSF -photostable:FTST:FTST -photostatic:FTST:FTST -phototactic:FTTK:FTTK -phototaxies:FTTK:FTTK -phototropic:FTTR:FTTR -phototyping:FTTP:FTTP -phraseogram:FRSK:FRSK -phraseology:FRSL:FRSL -phrenetical:FRNT:FRNT -phrenologic:FRNL:FRNL -phrenosinic:FRNS:FRNS -phrynoderma:FRNT:FRNT -phthiriases:F0RS:FTRS -phthiriasis:F0RS:FTRS -phycochrome:FKKR:FKKR -phycocyanin:FKSN:FKSN -phycologist:FKLJ:FKLK -phycomycete:FKMS:FKMS -phyllotaxes:FLTK:FLTK -phyllotaxis:FLTK:FLTK -phylloxerae:FLKS:FLKS -phylogenies:FLJN:FLKN -physiatrics:FSTR:FXTR -physiatrist:FSTR:FXTR -physicalism:FSKL:FSKL -physicalist:FSKL:FSKL -physicianly:FSSN:FSXN -physiogenic:FSJN:FXKN -physiognomy:FSNM:FXKN -physiologic:FSLJ:FXLK -physostigma:FSST:FSST -phytobezoar:FTPS:FTPS -phytochrome:FTKR:FTKR -phytofluene:FTFL:FTFL -phytography:FTKR:FTKR -phytosterol:FTST:FTST -pianofortes:PNFR:PNFR -piarachnoid:PRKN:PRKN -pichiciegos:PXSK:PKXK -pickpockets:PKPK:PKPK -pickwickian:PKKN:PKKN -picoseconds:PKSK:PKSK -pictographs:PKTK:PKTK -pictography:PKTK:PKTK -pictorially:PKTR:PKTR -picturesque:PKTR:PKTR -pieceworker:PSRK:PSRK -piedmontite:PTMN:PTMN -piezometric:PSMT:PSMT -pigeonholed:PJNL:PKNL -pigeonholes:PJNL:PKNL -piggishness:PKXN:PKXN -pignorating:PNRT:PKNR -pignorative:PNRT:PKNR -pikeperches:PKPR:PKPR -pilgrimages:PLKR:PLKR -pillowcases:PLKS:PLKS -pillowslips:PLSL:PLSL -pilocarpine:PLKR:PLKR -pilothouses:PL0S:PLTS -pincushions:PNKX:PNKX -pinealomata:PNLM:PNLM -pinfeathers:PNF0:PNFT -pingueculae:PNKK:PNKK -pinguiculae:PNKK:PNKK -pinkishness:PNKX:PNKX -pinnatisect:PNTS:PNTS -pinocytoses:PNST:PNST -pinocytosis:PNST:PNST -pinocytotic:PNST:PNST -pinpointing:PNPN:PNPN -pinspotters:PNSP:PNSP -pipeclaying:PPKL:PPKL -pipefitters:PPFT:PPFT -pipefitting:PPFT:PPFT -piperaceous:PPRS:PPRS -piperocaine:PPRK:PPRK -pipistrelle:PPST:PPST -piratically:PRTK:PRTK -piroplasmic:PRPL:PRPL -pirouetting:PRTN:PRTN -piscatorial:PSKT:PSKT -piscivorous:PSFR:PSFR -pitapatting:PTPT:PTPT -pitchblende:PXPL:PXPL -piteousness:PTSN:PTSN -pitifulness:PTFL:PTFL -pittosporum:PTSP:PTSP -pituitaries:PTTR:PTTR -placability:PLKP:PLKP -placeholder:PLSH:PLSH -placentalis:PLSN:PLSN -placentarum:PLSN:PLSN -placentitis:PLSN:PLSN -placentomas:PLSN:PLSN -plagiarisms:PLJR:PLKR -plagiarists:PLJR:PLKR -plagiarized:PLJR:PLKR -plagiarizer:PLJR:PLKR -plagiarizes:PLJR:PLKR -plagiocepha:PLJS:PLKS -plagioclase:PLJK:PLKK -plainspoken:PLNS:PLNS -plaintively:PLNT:PLNT -planchettes:PLNX:PLNK -planetaries:PLNT:PLNT -planetarium:PLNT:PLNT -planetoidal:PLNT:PLNT -planetology:PLNT:PLNT -planigraphy:PLNK:PLNK -planimetric:PLNM:PLNM -planisperic:PLNS:PLNS -planisphere:PLNS:PLNS -planogamete:PLNK:PLNK -planometric:PLNM:PLNM -planperfect:PLNP:PLNP -plantations:PLNT:PLNT -plantigrade:PLNT:PLNT -plasmablast:PLSM:PLSM -plasmagenes:PLSM:PLSM -plasmagenic:PLSM:PLSM -plasmalemma:PLSM:PLSM -plasmalogen:PLSM:PLSM -plasmically:PLSM:PLSM -plasminogen:PLSM:PLSM -plasmodesma:PLSM:PLSM -plasmodesms:PLSM:PLSM -plasmodiate:PLSM:PLSM -plasmolysis:PLSM:PLSM -plasmolytic:PLSM:PLSM -plasmolyzed:PLSM:PLSM -plasmolyzes:PLSM:PLSM -plasterwork:PLST:PLST -plastically:PLST:PLST -plasticized:PLST:PLST -plasticizer:PLST:PLST -plasticizes:PLST:PLST -plastometry:PLST:PLST -platelayers:PLTL:PLTL -platinizing:PLTN:PLTN -platinotype:PLTN:PLTN -platycelian:PLTS:PLTS -platycelous:PLTS:PLTS -platycnemia:PLTK:PLTK -platycrania:PLTK:PLTK -platyhieric:PLTH:PLTH -platykurtic:PLTK:PLTK -platypellic:PLTP:PLTP -platyrrhine:PLTR:PLTR -platyrrhiny:PLTR:PLTR -playfellows:PLFL:PLFL -playfulness:PLFL:PLFL -playgrounds:PLKR:PLKR -playschools:PLSK:PLSK -playwrights:PLRT:PLRT -pleasurable:PLSR:PLSR -pleasurably:PLSR:PLSR -pleasureful:PLSR:PLSR -plebeianism:PLPN:PLPN -plebiscites:PLPS:PLPS -plebiscitum:PLPS:PLPS -plectognath:PLKT:PLKT -plectridium:PLKT:PLKT -pleiotropic:PLTR:PLTR -pleistocene:PLST:PLST -plenteously:PLNT:PLNT -plentifully:PLNT:PLNT -pleochroism:PLKR:PLKR -pleochroous:PLKR:PLKR -pleocytoses:PLST:PLST -pleocytosis:PLST:PLST -pleomorphic:PLMR:PLMR -pleophagous:PLFK:PLFK -plesiosaurs:PLSS:PLXS -pleuritides:PLRT:PLRT -pleurodynia:PLRT:PLRT -pleurogenic:PLRJ:PLRK -pleurolyses:PLRL:PLRL -pleurolysis:PLRL:PLRL -plexiglases:PLKS:PLKS -pleximetric:PLKS:PLKS -pliableness:PLPL:PLPL -plicateness:PLKT:PLKT -ploughshare:PLFX:PLFX -ploughstaff:PLFS:PLFS -plunderable:PLNT:PLNT -pluperfects:PLPR:PLPR -pluralistic:PLRL:PLRL -pluralities:PLRL:PLRL -pluralizing:PLRL:PLRL -pluripotent:PLRP:PLRP -plutocratic:PLTK:PLTK -pneumatized:NMTS:NMTS -pneumatoses:NMTS:NMTS -pneumatosis:NMTS:NMTS -pneumaturia:NMTR:NMTR -pneumectomy:NMKT:NMKT -pneumococci:NMKX:NMKX -pneumograph:NMKR:NMKR -pneumolyses:NMLS:NMLS -pneumolysis:NMLS:NMLS -pneumonitis:NMNT:NMNT -pneumotaxic:NMTK:NMTK -pocketbooks:PKTP:PKTP -pocketknife:PKTK:PKTK -pococurante:PKKR:PKKR -podiatrists:PTTR:PTTR -podophyllin:PTFL:PTFL -podophyllum:PTFL:PTFL -poeticisers:PTSS:PTSS -poeticizing:PTSS:PTSS -poikilocyte:PKLS:PKLS -poinsettias:PNST:PNST -pointedness:PNTT:PNTT -pointillage:PNTL:PNTL -pointillism:PNTL:PNTL -pointillist:PNTL:PNTL -pointlessly:PNTL:PNTL -poisonously:PSNS:PSNS -pokeberries:PKPR:PKPR -polarimetry:PLRM:PLRM -polarisable:PLRS:PLRS -polariscope:PLRS:PLRS -polarizable:PLRS:PLRS -polemically:PLMK:PLMK -polemicists:PLMS:PLMS -policewoman:PLSM:PLSM -policewomen:PLSM:PLSM -policymaker:PLSM:PLSM -politically:PLTK:PLTK -politicians:PLTS:PLTX -politicized:PLTS:PLTS -politicizes:PLTS:PLTS -politicking:PLTK:PLTK -pollinating:PLNT:PLNT -pollination:PLNX:PLNX -pollinators:PLNT:PLNT -poltergeist:PLTR:PLTR -poltroonery:PLTR:PLTR -polyalcohol:PLLK:PLLK -polyandries:PLNT:PLNT -polyandrist:PLNT:PLNT -polyandrous:PLNT:PLNT -polyblastic:PLPL:PLPL -polycarpous:PLKR:PLKR -polycentric:PLSN:PLSN -polychasium:PLXS:PLKS -polychromia:PLXR:PLKR -polyclinics:PLKL:PLKL -polycrystal:PLKR:PLKR -polydactyly:PLTK:PLTK -polyestrous:PLST:PLST -polygamists:PLKM:PLKM -polygastric:PLKS:PLKS -polygenesis:PLJN:PLKN -polyglotism:PLKL:PLKL -polyglottal:PLKL:PLKL -polyglottic:PLKL:PLKL -polygonally:PLKN:PLKN -polygraphes:PLKR:PLKR -polygraphic:PLKR:PLKR -polygynists:PLKN:PLJN -polyhedrons:PLHT:PLHT -polyhydroxy:PLHT:PLHT -polyidroses:PLTR:PLTR -polyidrosis:PLTR:PLTR -polymastias:PLMS:PLMS -polymasties:PLMS:PLMS -polymerical:PLMR:PLMR -polymerized:PLMR:PLMR -polymerizes:PLMR:PLMR -polymorphic:PLMR:PLMR -polynesians:PLNS:PLNX -polynomials:PLNM:PLNM -polynuclear:PLNK:PLNK -polyodontia:PLTN:PLTN -polyonymous:PLNM:PLNM -polyostotic:PLST:PLST -polypectomy:PLPK:PLPK -polypeptide:PLPP:PLPP -polyphagias:PLFJ:PLFK -polyphagies:PLFJ:PLFK -polyphagous:PLFK:PLFK -polyphonies:PLFN:PLFN -polyphonous:PLFN:PLFN -polyplastic:PLPL:PLPL -polyploidic:PLPL:PLPL -polysorbate:PLSR:PLSR -polyspermic:PLSP:PLSP -polystyrene:PLST:PLST -polytechnic:PLTK:PLTK -polytheists:PL0S:PLTS -polytonally:PLTN:PLTN -polytrophic:PLTR:PLTR -polyvalence:PLFL:PLFL -polyvalency:PLFL:PLFL -polyzoarial:PLSR:PLSR -polyzoarium:PLSR:PLSR -pomegranate:PMKR:PMKR -pomeranians:PMRN:PMRN -pomiculture:PMKL:PMKL -pomological:PMLJ:PMLK -pomposities:PMPS:PMPS -pompousness:PMPS:PMPS -ponderingly:PNTR:PNTR -ponderosity:PNTR:PNTR -ponderously:PNTR:PNTR -pontificals:PNTF:PNTF -pontificate:PNTF:PNTF -poodlefaker:PTLF:PTLF -populaceous:PPLS:PPLS -popularized:PPLR:PPLR -popularizer:PPLR:PPLR -popularizes:PPLR:PPLR -populations:PPLX:PPLX -porcellanic:PRSL:PRSL -porcupinish:PRKP:PRKP -pornography:PRNK:PRNK -poroplastic:PRPL:PRPL -porphyritic:PRFR:PRFR -porpitiator:PRPX:PRPX -porriginous:PRJN:PRKN -portability:PRTP:PRTP -porterhouse:PRTR:PRTR -portionless:PRXN:PRXN -portmanteau:PRTM:PRTM -portraitist:PRTR:PRTR -portraiture:PRTR:PRTR -portrayable:PRTR:PRTR -positioning:PSXN:PSXN -positivists:PSTF:PSTF -positronium:PSTR:PSTR -posological:PSLJ:PSLK -possessable:PSSP:PSSP -possessible:PSSP:PSSP -possessions:PSSN:PSSN -possessives:PSSF:PSSF -possibility:PSPL:PSPL -postaxially:PSTK:PSTK -postcentral:PSTS:PSTS -posteriorly:PSTR:PSTR -posterities:PSTR:PSTR -postfebrile:PSTF:PSTF -postglacial:PSTK:PSTK -postglenoid:PSTK:PSTK -posthitides:PS0T:PSTT -postillions:PSTL:PSTL -postliminia:PSTL:PSTL -postmarking:PSTM:PSTM -postmasters:PSTM:PSTM -postmortems:PSTM:PSTM -postnatally:PSTN:PSTN -postnuptial:PSTN:PSTN -postoffices:PSTF:PSTF -postorbital:PSTR:PSTR -postponable:PSTP:PSTP -postprocess:PSTP:PSTP -postscapula:PSTS:PSTS -postscripts:PSTS:PSTS -postulating:PSTL:PSTL -postulation:PSTL:PSTL -postulators:PSTL:PSTL -postvocalic:PSTF:PSTF -potencieses:PTNS:PTNX -potentially:PTNX:PTNX -potentiated:PTNX:PTNX -potentiates:PTNX:PTNX -potentiator:PTNX:PTNX -potentillas:PTNT:PTNT -potestative:PTST:PTST -poundkeeper:PNTK:PNTK -pourparties:PRPR:PRPR -pourveyance:PRFN:PRFN -powderiness:PTRN:PTRN -powerhouses:PRSS:PRSS -powerlessly:PRLS:PRLS -powerplants:PRPL:PRPL -practicable:PRKT:PRKT -practicably:PRKT:PRKT -practically:PRKT:PRKT -praediality:PRTL:PRTL -praejudicio:PRJT:PRJT -praemunires:PRMN:PRMN -pragmatical:PRKM:PRKM -pragmatists:PRKM:PRKM -praisefully:PRSF:PRSF -pratincoles:PRTN:PRTN -prattlingly:PRTL:PRTL -prayerfully:PRRF:PRRF -preabsorbed:PRPS:PRPS -preaccepted:PRXP:PRXP -preaccustom:PRKS:PRKS -preachiness:PRXN:PRKN -preachments:PRKM:PRKM -preacquaint:PRKN:PRKN -preadapting:PRTP:PRTP -preadaption:PRTP:PRTP -preadjusted:PRTJ:PRTJ -preaffirmed:PRFR:PRFR -preallotted:PRLT:PRLT -preannounce:PRNN:PRNN -preappoints:PRPN:PRPN -prearranged:PRRN:PRRN -prearranges:PRRN:PRRN -preassemble:PRSM:PRSM -preassembly:PRSM:PRSM -preassigned:PRSN:PRSK -preattuning:PRTN:PRTN -preblessing:PRPL:PRPL -precambrian:PRKM:PRKM -precanceled:PRKN:PRKN -precautions:PRKX:PRKX -precautious:PRKT:PRKT -precedences:PRST:PRST -precedented:PRST:PRST -precedentor:PRST:PRST -precensored:PRSN:PRSN -preceptress:PRSP:PRSP -precessions:PRSS:PRSS -prechecking:PRXK:PRKK -prechilling:PRXL:PRKL -precipitant:PRSP:PRSP -precipitate:PRSP:PRSP -precipitous:PRSP:PRSP -preciseness:PRSS:PRSS -precleaning:PRKL:PRKL -preclinical:PRKL:PRKL -precludable:PRKL:PRKL -preclusions:PRKL:PRKL -precogitate:PRKJ:PRKK -preconceals:PRKN:PRKN -preconceive:PRKN:PRKN -preconcerts:PRKN:PRKN -precondemns:PRKN:PRKN -preconizing:PRKN:PRKN -precontract:PRKN:PRKN -precontrive:PRKN:PRKN -precritical:PRKR:PRKR -predatorial:PRTT:PRTT -predatorily:PRTT:PRTT -predeceased:PRTS:PRTS -predeceases:PRTS:PRTS -predecessor:PRTS:PRTS -predefining:PRTF:PRTF -predesigned:PRTS:PRTS -predestined:PRTS:PRTS -predestines:PRTS:PRTS -prediabetes:PRTP:PRTP -prediabetic:PRTP:PRTP -predicament:PRTK:PRTK -predicating:PRTK:PRTK -predication:PRTK:PRTK -predicative:PRTK:PRTK -predicatory:PRTK:PRTK -predictable:PRTK:PRTK -predictably:PRTK:PRTK -predictions:PRTK:PRTK -predigested:PRTJ:PRTK -predisposal:PRTS:PRTS -predisposed:PRTS:PRTS -predisposes:PRTS:PRTS -predissolve:PRTS:PRTS -predividing:PRTF:PRTF -predominant:PRTM:PRTM -predominate:PRTM:PRTM -predynastic:PRTN:PRTN -preelection:PRLK:PRLK -preeminence:PRMN:PRMN -preemptions:PRMP:PRMP -preengaging:PRNK:PRNK -preestimate:PRST:PRST -preexamined:PRKS:PRKS -preexamines:PRKS:PRKS -preexistent:PRKS:PRKS -preexisting:PRKS:PRKS -preexposing:PRKS:PRKS -preexposure:PRKS:PRKS -prefatorial:PRFT:PRFT -prefectural:PRFK:PRFK -prefectures:PRFK:PRFK -preferences:PRFR:PRFR -preferments:PRFR:PRFR -prefiguring:PRFK:PRFK -prefreezing:PRFR:PRFR -pregangliar:PRKN:PRKN -pregnancies:PRNN:PRKN -prehalluces:PRHL:PRHL -prehardened:PRHR:PRHR -prehistoric:PRHS:PRHS -preindicate:PRNT:PRNT -preinformed:PRNF:PRNF -preinserted:PRNS:PRNS -preinstruct:PRNS:PRNS -preinvasive:PRNF:PRNF -prejudgment:PRJT:PRJT -prejudicial:PRJT:PRJT -prejudicing:PRJT:PRJT -preleukemic:PRLK:PRLK -preliminary:PRLM:PRLM -prelimiting:PRLM:PRLM -preliteracy:PRLT:PRLT -preliterate:PRLT:PRLT -prelocating:PRLK:PRLK -prelusively:PRLS:PRLS -prematurely:PRMT:PRMT -prematurity:PRMT:PRMT -premaxillae:PRMK:PRMK -premedicate:PRMT:PRMT -premeditate:PRMT:PRMT -premenstrua:PRMN:PRMN -premiership:PRMR:PRMR -premonitary:PRMN:PRMN -premonition:PRMN:PRMN -premonitory:PRMN:PRMN -premunities:PRMN:PRMN -premunition:PRMN:PRMN -premunizing:PRMN:PRMN -preoccupied:PRKP:PRKP -preoccupies:PRKP:PRKP -preordained:PRRT:PRRT -prepackaged:PRPK:PRPK -prepackages:PRPK:PRPK -preparation:PRPR:PRPR -preparative:PRPR:PRPR -preparatory:PRPR:PRPR -prepatellar:PRPT:PRPT -prepayments:PRPM:PRPM -preplanning:PRPL:PRPL -preposition:PRPS:PRPS -prepositive:PRPS:PRPS -prepotently:PRPT:PRPT -preprandial:PRPR:PRPR -preprinting:PRPR:PRPR -prepubertal:PRPP:PRPP -prereadings:PRRT:PRRT -prerecorded:PRRK:PRRK -preregister:PRRJ:PRRK -prerogative:PRRK:PRRK -presbycuses:PRSP:PRSP -presbycusis:PRSP:PRSP -preschooler:PRSK:PRSK -presciently:PRSN:PRSN -prescribers:PRSK:PRSK -prescribing:PRSK:PRSK -preseasonal:PRSS:PRSS -preselected:PRSL:PRSL -presenility:PRSN:PRSN -presentable:PRSN:PRSN -presentably:PRSN:PRSN -presentence:PRSN:PRSN -presentient:PRSN:PRSN -presentment:PRSN:PRSN -presentness:PRSN:PRSN -preservable:PRSR:PRSR -preservably:PRSR:PRSR -presphenoid:PRSF:PRSF -presphygmic:PRSF:PRSF -pressurized:PRSR:PRSR -pressurizer:PRSR:PRSR -pressurizes:PRSR:PRSR -presternums:PRST:PRST -prestigeful:PRST:PRST -prestigious:PRST:PRST -prestissimo:PRST:PRST -prestressed:PRST:PRST -prestresses:PRST:PRST -presubicula:PRSP:PRSP -presumingly:PRSM:PRSM -presumption:PRSM:PRSM -presumptive:PRSM:PRSM -presupposed:PRSP:PRSP -presupposes:PRSP:PRSP -presurgical:PRSR:PRSR -presynaptic:PRSN:PRSN -presystolic:PRSS:PRSS -pretemporal:PRTM:PRTM -pretendedly:PRTN:PRTN -pretensions:PRTN:PRTN -pretentious:PRTN:PRTN -preterition:PRTR:PRTR -preteritive:PRTR:PRTR -preterminal:PRTR:PRTR -prettifiers:PRTF:PRTF -prettifying:PRTF:PRTF -prevalently:PRFL:PRFL -prevaricate:PRFR:PRFR -preventable:PRFN:PRFN -preventably:PRFN:PRFN -preventible:PRFN:PRFN -preventions:PRFN:PRFN -preventives:PRFN:PRFN -preventoria:PRFN:PRFN -pricelessly:PRSL:PRSL -prickliness:PRKL:PRKL -priestcraft:PRST:PRST -priestesses:PRST:PRST -priestliest:PRST:PRST -primadonnas:PRMT:PRMT -primariness:PRMR:PRMR -primatology:PRMT:PRMT -primigravid:PRMK:PRMK -primiparaes:PRMP:PRMP -primiparity:PRMP:PRMP -primiparous:PRMP:PRMP -primitively:PRMT:PRMT -primitivism:PRMT:PRMT -primitivist:PRMT:PRMT -primitivity:PRMT:PRMT -princeliest:PRNS:PRNS -princelings:PRNS:PRNS -principally:PRNS:PRNS -principates:PRNS:PRNS -printmakers:PRNT:PRNT -prioritized:PRRT:PRRT -prioritizes:PRRT:PRRT -privateness:PRFT:PRFT -privatively:PRFT:PRFT -privatizing:PRFT:PRFT -privileging:PRFL:PRFL -prizefights:PRSF:PRSF -prizewinner:PRSN:PRTS -proabortion:PRPR:PRPR -proadoption:PRTP:PRTP -proalliance:PRLN:PRLN -proamniotic:PRMN:PRMN -proapproval:PRPR:PRPR -probabilism:PRPP:PRPP -probability:PRPP:PRPP -probational:PRPX:PRPX -probationer:PRPX:PRPX -probatively:PRPT:PRPT -probiblical:PRPP:PRPP -problematic:PRPL:PRPL -proboscides:PRPS:PRPS -proboscises:PRPS:PRPS -probusiness:PRPS:PRPS -procaryotic:PRKR:PRKR -procedurals:PRST:PRST -proceedings:PRST:PRST -procephalic:PRSF:PRSF -processable:PRSS:PRSS -processions:PRSS:PRSS -prochronism:PRKR:PRKR -procidentia:PRST:PRST -proclaimers:PRKL:PRKL -proclaiming:PRKL:PRKL -proclerical:PRKL:PRKL -proconsular:PRKN:PRKN -procreating:PRKR:PRKR -procreation:PRKR:PRKR -procreative:PRKR:PRKR -procreators:PRKR:PRKR -procrustean:PRKR:PRKR -proctectomy:PRKT:PRKT -proctodaeum:PRKT:PRKT -proctodeums:PRKT:PRKT -proctodynia:PRKT:PRKT -proctologic:PRKT:PRKT -proctorship:PRKT:PRKT -proctoscope:PRKT:PRKT -proctoscopy:PRKT:PRKT -proctostomy:PRKT:PRKT -procuration:PRKR:PRKR -procurators:PRKR:PRKR -procurement:PRKR:PRKR -procuresses:PRKR:PRKR -prodigality:PRTK:PRTK -prodigiosin:PRTJ:PRTK -productions:PRTK:PRTK -proestruses:PRST:PRST -profanation:PRFN:PRFN -profanatory:PRFN:PRFN -profaneness:PRFN:PRFN -profanities:PRFN:PRFN -profascists:PRFS:PRFS -profeminist:PRFM:PRFM -proferentum:PRFR:PRFR -professedly:PRFS:PRFS -professeses:PRFS:PRFS -professions:PRFS:PRFS -proficiency:PRFS:PRFX -profiteered:PRFT:PRFT -profiterole:PRFT:PRFT -profligates:PRFL:PRFL -profoundest:PRFN:PRFN -profuseness:PRFS:PRFS -progenitive:PRJN:PRKN -progenitors:PRJN:PRKN -progeniture:PRJN:PRKN -progestogen:PRJS:PRKS -prognathies:PRN0:PRKN -prognathism:PRN0:PRKN -prognathous:PRN0:PRKN -programable:PRKR:PRKR -programmata:PRKR:PRKR -programmers:PRKR:PRKR -programming:PRKR:PRKR -progressing:PRKR:PRKR -progression:PRKR:PRKR -progressive:PRKR:PRKR -prohibiting:PRHP:PRHP -prohibition:PRHP:PRHP -prohibitive:PRHP:PRHP -prohibitory:PRHP:PRHP -proindustry:PRNT:PRNT -projectiles:PRJK:PRJK -projections:PRJK:PRJK -prokaryotic:PRKR:PRKR -prolateness:PRLT:PRLT -prolegomena:PRLK:PRLK -proleptical:PRLP:PRLP -proletarian:PRLT:PRLT -proletariat:PRLT:PRLT -proliferate:PRLF:PRLF -proliferous:PRLF:PRLF -prolificacy:PRLF:PRLF -proligerous:PRLJ:PRLK -prolocutors:PRLK:PRLK -prolongment:PRLN:PRLN -promenaders:PRMN:PRMN -promenading:PRMN:PRMN -promilitary:PRML:PRML -prominently:PRMN:PRMN -prominority:PRMN:PRMN -promiscuity:PRMS:PRMS -promiscuous:PRMS:PRMS -promisingly:PRMS:PRMS -promonocyte:PRMN:PRMN -promotional:PRMX:PRMX -promptbooks:PRMP:PRMP -promptitude:PRMP:PRMP -promulgated:PRML:PRML -promulgates:PRML:PRML -promulgator:PRML:PRML -promycelial:PRMS:PRMS -promycelium:PRMS:PRMS -pronethalol:PRN0:PRNT -pronouncers:PRNN:PRNN -pronouncing:PRNN:PRNN -proofreader:PRFR:PRFR -propagating:PRPK:PRPK -propagation:PRPK:PRPK -propagative:PRPK:PRPK -propagators:PRPK:PRPK -propamidine:PRPM:PRPM -propellants:PRPL:PRPL -propellents:PRPL:PRPL -prophesiers:PRFS:PRFS -prophesying:PRFS:PRFS -prophetical:PRFT:PRFT -prophylaxes:PRFL:PRFL -prophylaxis:PRFL:PRFL -propinquity:PRPN:PRPN -propionates:PRPN:PRPN -propitiable:PRPX:PRPX -propitiated:PRPX:PRPX -propitiates:PRPX:PRPX -propitiator:PRPX:PRPX -proportions:PRPR:PRPR -proposition:PRPS:PRPS -propounders:PRPN:PRPN -propounding:PRPN:PRPN -propranolol:PRPR:PRPR -proprietary:PRPR:PRPR -proprieties:PRPR:PRPR -proprietors:PRPR:PRPR -propulsions:PRPL:PRPL -prorevision:PRRF:PRRF -prorogating:PRRK:PRRK -prorogation:PRRK:PRRK -prosaically:PRSK:PRSK -prosaicness:PRSK:PRSK -prosceniums:PRSN:PRSN -proscolices:PRSK:PRSK -proscribing:PRSK:PRSK -prosecuting:PRSK:PRSK -prosecution:PRSK:PRSK -prosecutive:PRSK:PRSK -prosecutors:PRSK:PRSK -prosecutory:PRSK:PRSK -prosecutrix:PRSK:PRSK -proselyting:PRSL:PRSL -proselytism:PRSL:PRSL -proselytize:PRSL:PRSL -prosenchyma:PRSN:PRSN -prosequitur:PRSK:PRSK -prosoplasia:PRSP:PRSP -prospecting:PRSP:PRSP -prospection:PRSP:PRSP -prospective:PRSP:PRSP -prospectors:PRSP:PRSP -prostatitis:PRST:PRST -prosternere:PRST:PRST -prosthetics:PRS0:PRST -prosthetist:PRS0:PRST -prostituted:PRST:PRST -prostitutor:PRST:PRST -prostrating:PRST:PRST -prostration:PRST:PRST -prosuffrage:PRSF:PRSF -protagonism:PRTK:PRTK -protagonist:PRTK:PRTK -protandrous:PRTN:PRTN -protanomaly:PRTN:PRTN -protections:PRTK:PRTK -protectoral:PRTK:PRTK -protectress:PRTK:PRTK -proteinuria:PRTN:PRTN -proteolipid:PRTL:PRTL -proteolyses:PRTL:PRTL -proteolysis:PRTL:PRTL -proteolytic:PRTL:PRTL -proterozoic:PRTR:PRTR -protestable:PRTS:PRTS -protestando:PRTS:PRTS -protestants:PRTS:PRTS -prothalamia:PR0L:PRTL -prothoraxes:PR0R:PRTR -prothrombin:PR0R:PRTR -protocolled:PRTK:PRTK -protodermal:PRTT:PRTT -protogynous:PRTJ:PRTK -protolithic:PRTL:PRTL -protomerite:PRTM:PRTM -protonemata:PRTN:PRTN -protopathic:PRTP:PRTP -protopectin:PRTP:PRTP -protostelic:PRTS:PRTS -prototyping:PRTT:PRTT -protractile:PRTR:PRTR -protracting:PRTR:PRTR -protraction:PRTR:PRTR -protractive:PRTR:PRTR -protractors:PRTR:PRTR -protrudable:PRTR:PRTR -protrusible:PRTR:PRTR -protrusions:PRTR:PRTR -protuberant:PRTP:PRTP -provability:PRFP:PRFP -provenances:PRFN:PRFN -providently:PRFT:PRFT -provisional:PRFS:PRFX -provisioned:PRFS:PRFX -provisorily:PRFS:PRFS -provitamins:PRFT:PRFT -provocateur:PRFK:PRFK -provocation:PRFK:PRFK -provocative:PRFK:PRFK -provokingly:PRFK:PRFK -proximately:PRKS:PRKS -proximation:PRKS:PRKS -proximities:PRKS:PRKS -prudentists:PRTN:PRTN -prudishness:PRTX:PRTX -pruriginous:PRRJ:PRRK -pseudocroup:STKR:STKR -pseudofarcy:STFR:STFR -pseudogland:STKL:STKL -pseudograph:STKR:STKR -pseudomania:STMN:STMN -pseudomonad:STMN:STMN -pseudomonas:STMN:STMN -pseudomorph:STMR:STMR -pseudonymes:STNM:STNM -pseudopodia:STPT:STPT -pseudostoma:STST:STST -pseudovomit:STFM:STFM -psilomelane:SLML:SLML -psittacoses:STKS:STKS -psittacosis:STKS:STKS -psomophagia:SMFJ:SMFK -psorergates:SRRK:SRRK -psychedelia:SXTL:SKTL -psychedelic:SXTL:SKTL -psychiatric:SKTR:SKTR -psychically:SXKL:SKKL -psychodidae:SXTT:SKTT -psychodrama:SXTR:SKTR -psychogenic:SXJN:SKKN -psychognosy:SXNS:SKKN -psycholepsy:SXLP:SKLP -psychologic:SXLJ:SKLK -psychometry:SXMT:SKMT -psychomotor:SXMT:SKMT -psychopaths:SXP0:SKPT -psychopathy:SXP0:SKPT -psychoquack:SXKK:SKKK -psychotical:SXTK:SKTK -psychotogen:SXTJ:SKTK -psychotoxic:SXTK:SKTK -pteridology:PTRT:PTRT -pterodactyl:PTRT:PTRT -pterygoidal:PTRK:PTRK -ptochocracy:PTXK:PTKK -ptyalagogue:PTLK:PTLK -pubiotomies:PPTM:PPTM -publication:PPLK:PPLK -publicizing:PPLS:PPLS -publishable:PPLX:PPLX -pubofemoral:PPFM:PPFM -puerilities:PRLT:PRLT -pulchritude:PLXR:PLKR -pullulating:PLLT:PLLT -pullulation:PLLX:PLLX -pulpotomies:PLPT:PLPT -pulsatility:PLST:PLST -pulsatively:PLST:PLST -pulverisers:PLFR:PLFR -pulverizing:PLFR:PLFR -pulverulent:PLFR:PLFR -pumpkinseed:PMPK:PMPK -punchboards:PNXP:PNKP -punctilious:PNKT:PNKT -punctuality:PNKT:PNKT -punctuating:PNKT:PNKT -punctuation:PNKT:PNKT -puncturable:PNKT:PNKT -punishingly:PNXN:PNXN -punishments:PNXM:PNXM -pupillarity:PPLR:PPLR -purchasable:PRXS:PRKS -purgatively:PRKT:PRKT -purgatorial:PRKT:PRKT -purgatories:PRKT:PRKT -purificator:PRFK:PRFK -puritanical:PRTN:PRTN -purportedly:PRPR:PRPR -purposeless:PRPS:PRPS -purposively:PRPS:PRPS -purpresture:PRPR:PRPR -purulencies:PRLN:PRLN -pushingness:PXNN:PXNK -pussyfooted:PSFT:PSFT -pustulating:PSTL:PSTL -pustulation:PSTL:PSTL -pustuliform:PSTL:PSTL -putrescence:PTRS:PTRS -putrescible:PTRS:PTRS -putrifiable:PTRF:PTRF -pyarthroses:PR0R:PRTR -pyarthrosis:PR0R:PRTR -pycnometric:PKNM:PKNM -pyelectases:PLKT:PLKT -pyelectasis:PLKT:PLKT -pyelography:PLKR:PLKR -pyelovenous:PLFN:PLFN -pylorectomy:PLRK:PLRK -pylorospasm:PLRS:PLRS -pyothoraces:P0RS:PTRS -pyothoraxes:P0RK:PTRK -pyoxanthose:PKSN:PKSN -pyramidales:PRMT:PRMT -pyramidalis:PRMT:PRMT -pyramidally:PRMT:PRMT -pyramidical:PRMT:PRMT -pyrargyrite:PRRJ:PRRK -pyretogenic:PRTJ:PRTK -pyroclastic:PRKL:PRKL -pyrogallate:PRKL:PRKL -pyrogenetic:PRJN:PRKN -pyrographer:PRKR:PRKR -pyrographic:PRKR:PRKR -pyrolatrous:PRLT:PRLT -pyromaniacs:PRMN:PRMN -pyrotechnic:PRTK:PRTK -pyrrhuloxia:PRLK:PRLK -pyrrolidine:PRLT:PRLT -pythagorean:P0KR:PTKR -quacksalver:KKSL:KKSL -quadrangles:KTRN:KTRN -quadraphony:KTRF:KTRF -quadratical:KTRT:KTRT -quadratures:KTRT:KTRT -quadrennial:KTRN:KTRN -quadrennias:KTRN:KTRN -quadrennium:KTRN:KTRN -quadrillion:KTRL:KTRL -quadrisects:KTRS:KTRS -quadrupedal:KTRP:KTRP -quadruplely:KTRP:KTRP -quadruplets:KTRP:KTRP -quadrupling:KTRP:KTRP -quaestiones:KSXN:KSXN -qualifiable:KLFP:KLFP -qualifiedly:KLFT:KLFT -qualitative:KLTT:KLTT -quantifiers:KNTF:KNTF -quantifying:KNTF:KNTF -quarantined:KRNT:KRNT -quarantines:KRNT:KRNT -quarrantina:KRNT:KRNT -quarrelsome:KRLS:KRLS -quarterback:KRTR:KRTR -quarterdeck:KRTR:KRTR -quarterings:KRTR:KRTR -quarterlies:KRTR:KRTR -quartersawn:KRTR:KRTR -quartersaws:KRTR:KRTR -quatrefoils:KTRF:KTRF -quaveringly:KFRN:KFRN -queenliness:KNLN:KNLN -quernstones:KRNS:KRNS -querulously:KRLS:KRLS -questioners:KSXN:KSXN -questioning:KSXN:KSXN -quibblingly:KPLN:KPLN -quicksilver:KKSL:KKSL -quiescently:KSNT:KSNT -quincuncial:KNKN:KNKN -quindecagon:KNTK:KNTK -quinologies:KNLJ:KNLK -quinologist:KNLJ:KNLK -quinquennia:KNKN:KNKN -quinquereme:KNKR:KNKR -quintillion:KNTL:KNTL -quintuplets:KNTP:KNTP -quintupling:KNTP:KNTP -quitclaimed:KTKL:KTKL -quiveringly:KFRN:KFRN -quizmasters:KSMS:KSMS -quizzically:KSKL:KTSK -quotational:KTXN:KTXN -rabelaisian:RPLS:RPLX -racebaiting:RSPT:RSPT -racecourses:RSKR:RSKR -racialistic:RSLS:RXLS -racketeered:RKTR:RKTR -racquetball:RKTP:RKTP -radarscopes:RTRS:RTRS -radectomies:RTKT:RTKT -radiability:RTPL:RTPL -radicalized:RTKL:RTKL -radicalizes:RTKL:RTKL -radicalness:RTKL:RTKL -radiculitis:RTKL:RTKL -radioactive:RTKT:RTKT -radiocarbon:RTKR:RTKR -radiocarpal:RTKR:RTKR -radiocaster:RTKS:RTKS -radiocobalt:RTKP:RTKP -radiodontia:RTTN:RTTN -radiodontic:RTTN:RTTN -radiographs:RTKR:RTKR -radiography:RTKR:RTKR -radioiodine:RTTN:RTTN -radiolarian:RTLR:RTLR -radiologies:RTLJ:RTLK -radiologist:RTLJ:RTLK -radiolucent:RTLS:RTLS -radiometric:RTMT:RTMT -radiopacity:RTPS:RTPS -radiopacque:RTPK:RTPK -radiophones:RTFN:RTFN -radiophonic:RTFN:RTFN -radioscopes:RTSK:RTSK -radioscopic:RTSK:RTSK -radiosodium:RTST:RTST -radiosondes:RTSN:RTSN -radiothermy:RT0R:RTTR -radiotropic:RTTR:RTTR -raffishness:RFXN:RFXN -ragamuffins:RKMF:RKMF -raillietina:RLTN:RLTN -railroaders:RLRT:RLRT -railroading:RLRT:RLRT -rainforests:RNFR:RNFR -rainproofed:RNPR:RNPR -rallentando:RLNT:RL N -rallentendo:RLNT:RL N -rammishness:RMXN:RMXN -rancidified:RNST:RNST -rancidifier:RNST:RNST -rancidities:RNST:RNST -rancorously:RNKR:RNKR -randomizing:RNTM:RNTM -rangefinder:RNJF:RNKF -rapaciously:RPSS:RPXS -rapscallion:RPSK:RPSK -rapturously:RPTR:RPTR -rarefaction:RRFK:RRFK -rarefactive:RRFK:RRFK -rascalities:RSKL:RSKL -raspatories:RSPT:RSPT -raspberries:RSPR:RSPR -rastafarian:RSTF:RSTF -ratableness:RTPL:RTPL -ratatouille:RTTL:RTTL -rateability:RTPL:RTPL -rathskeller:R0SK:RTSK -ratihabitio:RTHP:RTHP -ratiocinate:RTSN:RTSN -rationalely:RXNL:RXNL -rationalism:RXNL:RXNL -rationalist:RXNL:RXNL -rationality:RXNL:RXNL -rationalize:RXNL:RXNL -rattleboxes:RTLP:RTLP -rattlebrain:RTLP:RTLP -rattlesnake:RTLS:RTLS -rattletraps:RTLT:RTLT -raucousness:RKSN:RKSN -raunchiness:RNXN:RNKN -ravishingly:RFXN:RFXN -ravishments:RFXM:RFXM -rawindsonde:RNTS:RNTS -raylessness:RLSN:RLSN -reabandoned:RPNT:RPNT -reabsorbing:RPSR:RPSR -reaccenting:RXNT:RXNT -reaccepting:RXPT:RXPT -reaccession:RXSN:RXSN -reacclaimed:RKLM:RKLM -reacclimate:RKLM:RKLM -reaccompany:RKMP:RKMP -reaccredits:RKRT:RKRT -reaccustoms:RKST:RKST -reacidified:RSTF:RSTF -reacidifies:RSTF:RSTF -reacquaints:RKNT:RKNT -reacquiring:RKRN:RKRN -reactionary:RKXN:RKXN -reactionism:RKXN:RKXN -reactionist:RKXN:RKXN -reactivated:RKTF:RKTF -reactivates:RKTF:RKTF -readability:RTPL:RTPL -readdressed:RTRS:RTRS -readdresses:RTRS:RTRS -readerships:RTRX:RTRX -readjourned:RTJR:RTJR -readjusters:RTJS:RTJS -readjusting:RTJS:RTJS -readmission:RTMS:RTMS -readmitting:RTMT:RTMT -reaffirming:RFRM:RFRM -reafforests:RFRS:RFRS -reaganomics:RKNM:RKNM -realignment:RLNM:RLKN -realization:RLSX:RLSX -reallocated:RLKT:RLKT -reallocates:RLKT:RLKT -reallotment:RLTM:RLTM -reallotting:RLTN:RLTN -realpolitik:RLPL:RLPL -reanalyzing:RNLS:RNLS -reanimating:RNMT:RNMT -reanimation:RNMX:RNMX -reappearing:RPRN:RPRN -reappointed:RPNT:RPNT -reapportion:RPRX:RPRX -reappraisal:RPRS:RPRS -reappraised:RPRS:RPRS -reappraiser:RPRS:RPRS -reappraises:RPRS:RPRS -reapprehend:RPRH:RPRH -rearrangers:RRNK:RRNJ -rearranging:RRNJ:RRNK -rearresting:RRST:RRST -reascending:RSNT:RSNT -reassembled:RSMP:RSMP -reassembles:RSMP:RSMP -reasserting:RSRT:RSRT -reassertion:RSRX:RSRX -reassessing:RSSN:RSSN -reassigning:RSNN:RSKN -reassorting:RSRT:RSRT -reassurance:RSRN:RSRN -reattaching:RTXN:RTKN -reattaining:RTNN:RTNN -reattempted:RTMP:RTMP -reawakening:RKNN:RKNN -rebaptizing:RPPT:RPPT -rebarbative:RPRP:RPRP -rebeliously:RPLS:RPLS -rebroadcast:RPRT:RPRT -rebroadened:RPRT:RPRT -rebuttoning:RPTN:RPTN -recalculate:RKLK:RKLK -recalescent:RKLS:RKLS -recalescing:RKLS:RKLS -recalibrate:RKLP:RKLP -recantation:RKNT:RKNT -recantingly:RKNT:RKNT -recapturing:RKPT:RKPT -recautioned:RKXN:RKXN -receivables:RSFP:RSFP -recelebrate:RSLP:RSLP -receptacles:RSPT:RSPT -receptacula:RSPT:RSPT -receptively:RSPT:RSPT -receptivity:RSPT:RSPT -recertified:RSRT:RSRT -recessional:RSSN:RSSN -recessively:RSSF:RSSF -rechallenge:RXLN:RKLN -rechartered:RXRT:RKRT -rechristens:RKRS:RKRS -recidivated:RSTF:RSTF -recidivists:RSTF:RSTF -recipiendum:RSPN:RSPN -reciprocals:RSPR:RSPR -reciprocate:RSPR:RSPR -reciprocity:RSPR:RSPR -recirculate:RSRK:RSRK -recitalists:RSTL:RSTL -recitations:RSTX:RSTX -recitatives:RSTT:RSTT -reclaimable:RKLM:RKLM -reclamation:RKLM:RKLM -reclination:RKLN:RKLN -recodifying:RKTF:RKTF -recognisant:RKNS:RKKN -recognisees:RKNS:RKKN -recognition:RKNX:RKKN -recognitive:RKNT:RKKN -recognitory:RKNT:RKKN -recognizant:RKNS:RKKN -recognizers:RKNS:RKKN -recognizing:RKNS:RKKN -recognosced:RKNS:RKKN -recollected:RKLK:RKLK -recolonized:RKLN:RKLN -recolonizes:RKLN:RKLN -recombinant:RKMP:RKMP -recombining:RKMP:RKMP -recommenced:RKMN:RKMN -recommences:RKMN:RKMN -recommended:RKMN:RKMN -recommender:RKMN:RKMN -recommittal:RKMT:RKMT -recommitted:RKMT:RKMT -recompensed:RKMP:RKMP -recompenser:RKMP:RKMP -recompenses:RKMP:RKMP -recompiling:RKMP:RKMP -recomposing:RKMP:RKMP -recompounds:RKMP:RKMP -recomputing:RKMP:RKMP -reconcilers:RKNS:RKNS -reconciling:RKNS:RKNS -recondensed:RKNT:RKNT -recondenses:RKNT:RKNT -reconditely:RKNT:RKNT -recondition:RKNT:RKNT -reconfigure:RKNF:RKNF -reconfirmed:RKNF:RKNF -reconnected:RKNK:RKNK -reconnoiter:RKNT:RKNT -reconquered:RKNK:RKNK -reconsiders:RKNS:RKNS -reconsigned:RKNS:RKNS -reconstruct:RKNS:RKNS -recontested:RKNT:RKNT -recontracts:RKNT:RKNT -reconvening:RKNF:RKNF -reconverted:RKNF:RKNF -reconveying:RKNF:RKNF -reconvicted:RKNF:RKNF -recordation:RKRT:RKRT -recoverable:RKFR:RKFR -recreations:RKRX:RKRX -recremental:RKRM:RKRM -recriminate:RKRM:RKRM -recrudesced:RKRT:RKRT -recrudesces:RKRT:RKRT -recruitable:RKRT:RKRT -recruitment:RKRT:RKRT -rectangular:RKTN:RKTN -rectifiable:RKTF:RKTF -rectilineal:RKTL:RKTL -rectilinear:RKTL:RKTL -rectoclyses:RKTK:RKTK -rectoclysis:RKTK:RKTK -rectorially:RKTR:RKTR -rectorships:RKTR:RKTR -recumbently:RKMP:RKMP -recuperated:RKPR:RKPR -recuperates:RKPR:RKPR -recuperator:RKPR:RKPR -recurrences:RKRN:RKRN -recurrently:RKRN:RKRN -recurringly:RKRN:RKRN -recursively:RKRS:RKRS -recurvation:RKRF:RKRF -redactional:RTKX:RTKX -redcurrants:RTKR:RTKR -reddishness:RTXN:RTXN -redeclaring:RTKL:RTKL -redecorated:RTKR:RTKR -redecorates:RTKR:RTKR -rededicated:RTTK:RTTK -rededicates:RTTK:RTTK -redelivered:RTLF:RTLF -redemanding:RTMN:RTMN -redemptible:RTMP:RTMP -redemptions:RTMP:RTMP -redeploying:RTPL:RTPL -redeposited:RTPS:RTPS -redescended:RTSN:RTSN -redescribed:RTSK:RTSK -redescribes:RTSK:RTSK -redesignate:RTSN:RTSK -redesigning:RTSN:RTSK -redetermine:RTTR:RTTR -redeveloped:RTFL:RTFL -redeveloper:RTFL:RTFL -redheadness:RTTN:RTTN -redhibition:RTPX:RTPX -redhibitory:RTPT:RTPT -redigesting:RTJS:RTKS -redigestion:RTJS:RTKS -redirecting:RTRK:RTRK -redirection:RTRK:RTRK -rediscounts:RTSK:RTSK -rediscovers:RTSK:RTSK -rediscovery:RTSK:RTSK -redisplayed:RTSP:RTSP -redissolved:RTSL:RTSL -redissolves:RTSL:RTSL -redistilled:RTST:RTST -redistricts:RTST:RTST -redivisions:RTFS:RTFX -redoubtable:RTPT:RTPT -redoubtably:RTPT:RTPT -redressable:RTRS:RTRS -redressible:RTRS:RTRS -redressment:RTRS:RTRS -reductional:RTKX:RTKX -redundances:RTNT:RTNT -redundantly:RTNT:RTNT -reduplicate:RTPL:RTPL -reeducating:RTKT:RTKT -reeducation:RTKX:RTKX -reelections:RLKX:RLKX -reembarking:RMPR:RMPR -reembodying:RMPT:RMPT -reemergence:RMRJ:RMRK -reemphasize:RMFS:RMFS -reemploying:RMPL:RMPL -reenactment:RNKT:RNKT -reenclosing:RNKL:RNKL -reencounter:RNKN:RNKN -reenforcing:RNFR:RNFR -reenlarging:RNLR:RNLR -reenlighten:RNLT:RNLT -reenlisting:RNLS:RNLS -reenslaving:RNSL:RNSL -reentrances:RNTR:RNTR -reequipping:RKPN:RKPN -reestablish:RSTP:RSTP -reevaluated:RFLT:RFLT -reevaluates:RFLT:RFLT -reexamining:RKSM:RKSM -reexchanged:RKSN:RKSN -reexchanges:RKSN:RKSN -reexhibited:RKSP:RKSP -reexistence:RKSS:RKSS -reexporting:RKSP:RKSP -reexpressed:RKSP:RKSP -reexpresses:RKSP:RKSP -refashioned:RFXN:RFXN -refastening:RFST:RFST -refectories:RFKT:RFKT -referencing:RFRN:RFRN -referendary:RFRN:RFRN -referendums:RFRN:RFRN -referential:RFRN:RFRN -refiltering:RFLT:RFLT -refinancing:RFNN:RFNN -refinements:RFNM:RFNM -refinishing:RFNX:RFNX -reflectance:RFLK:RFLK -reflections:RFLK:RFLK -reflexively:RFLK:RFLK -reflexivity:RFLK:RFLK -reflexology:RFLK:RFLK -reflowering:RFLR:RFLR -refocussing:RFKS:RFKS -reforesting:RFRS:RFRS -reformation:RFRM:RFRM -reformative:RFRM:RFRM -reformatory:RFRM:RFRM -reformatted:RFRM:RFRM -reformulate:RFRM:RFRM -refortified:RFRT:RFRT -refortifies:RFRT:RFRT -refractable:RFRK:RFRK -refractions:RFRK:RFRK -refractured:RFRK:RFRK -refractures:RFRK:RFRK -refrainment:RFRN:RFRN -refrangible:RFRN:RFRN -refreshment:RFRX:RFRX -refrigerant:RFRJ:RFRK -refrigerate:RFRJ:RFRK -refringence:RFRN:RFRN -refringency:RFRN:RFRN -refulgently:RFLJ:RFLK -refurbished:RFRP:RFRP -refurbishes:RFRP:RFRP -refurnished:RFRN:RFRN -refurnishes:RFRN:RFRN -refutations:RFTX:RFTX -regalvanize:RKLF:RKLF -regardfully:RKRT:RKRT -regathering:RK0R:RKTR -regenerable:RJNR:RKNR -regenerated:RJNR:RKNR -regenerates:RJNR:RKNR -regenerator:RJNR:RKNR -regerminate:RJRM:RKRM -regimentals:RJMN:RKMN -regimenting:RJMN:RKMN -regionalism:RJNL:RKNL -regionalist:RJNL:RKNL -registerers:RJST:RKST -registering:RJST:RKST -registrable:RJST:RKST -registrants:RJST:RKST -regressions:RKRS:RKRS -regretfully:RKRT:RKRT -regrettable:RKRT:RKRT -regrettably:RKRT:RKRT -regroupment:RKRP:RKRP -regularized:RKLR:RKLR -regularizer:RKLR:RKLR -regularizes:RKLR:RKLR -regulatable:RKLT:RKLT -regulations:RKLX:RKLX -regurgitant:RKRJ:RKRK -regurgitate:RKRJ:RKRK -rehabilitee:RHPL:RHPL -rehardening:RHRT:RHRT -reharmonize:RHRM:RHRM -reharnessed:RHRN:RHRN -reharnesses:RHRN:RHRN -rehumanises:RHMN:RHMN -rehumanized:RHMN:RHMN -rehumanizes:RHMN:RHMN -rehydrating:RHTR:RHTR -rehydration:RHTR:RHTR -reification:RFKX:RFKX -reificatory:RFKT:RFKT -reimbursing:RMPR:RMPR -reimporting:RMPR:RMPR -reimprisons:RMPR:RMPR -reincarnate:RNKR:RNKR -reincurring:RNKR:RNKR -reinducting:RNTK:RNTK -reinduction:RNTK:RNTK -reinfecting:RNFK:RNFK -reinfection:RNFK:RNFK -reinfesting:RNFS:RNFS -reinflaming:RNFL:RNFL -reinforcers:RNFR:RNFR -reinforcing:RNFR:RNFR -reinforming:RNFR:RNFR -reinoculate:RNKL:RNKL -reinscribed:RNSK:RNSK -reinscribes:RNSK:RNSK -reinserting:RNSR:RNSR -reinsertion:RNSR:RNSR -reinspected:RNSP:RNSP -reinstalled:RNST:RNST -reinstating:RNST:RNST -reinstructs:RNST:RNST -reinsurance:RNSR:RNSR -reintegrate:RNTK:RNTK -reinterment:RNTR:RNTR -reinterpret:RNTR:RNTR -reinterring:RNTR:RNTR -reintroduce:RNTR:RNTR -reinventing:RNFN:RNFN -reinvention:RNFN:RNFN -reinvesting:RNFS:RNFS -reinvolving:RNFL:RNFL -reiterating:RTRT:RTRT -reiteration:RTRX:RTRX -reiterative:RTRT:RTRT -rejoicingly:RJSN:RHSN -rejuvenated:RJFN:RJFN -rejuvenates:RJFN:RJFN -rejuvenesce:RJFN:RJFN -rejuvinesce:RJFN:RJFN -rekeyboards:RKPR:RKPR -relatedness:RLTT:RLTT -relativises:RLTF:RLTF -relativists:RLTF:RLTF -relativized:RLTF:RLTF -relativizes:RLTF:RLTF -relaundered:RLNT:RLNT -relaxations:RLKS:RLKS -relegatable:RLKT:RLKT -relentingly:RLNT:RLNT -relettering:RLTR:RLTR -relevancies:RLFN:RLFN -reliability:RLPL:RLPL -relicensing:RLSN:RLSN -religionism:RLJN:RLKN -religionist:RLJN:RLKN -religiosely:RLJS:RLKS -religiosity:RLJS:RLKS -religiously:RLJS:RLKS -reliquaries:RLKR:RLKR -reliquidate:RLKT:RLKT -relocatable:RLKT:RLKT -relocations:RLKX:RLKX -reluctantly:RLKT:RLKT -reluctivity:RLKT:RLKT -remaindered:RMNT:RMNT -remarriages:RMRJ:RMRK -remeasuring:RMSR:RMSR -rememberers:RMMP:RMMP -remembering:RMMP:RMMP -remembrance:RMMP:RMMP -remigrating:RMKR:RMKR -remigration:RMKR:RMKR -reminiscent:RMNS:RMNS -reminiscing:RMNS:RMNS -remissively:RMSF:RMSF -remittances:RMTN:RMTN -remittently:RMTN:RMTN -remodelings:RMTL:RMTL -remodifying:RMTF:RMTF -remodulated:RMTL:RMTL -remodulates:RMTL:RMTL -remonetized:RMNT:RMNT -remonetizes:RMNT:RMNT -remonstrant:RMNS:RMNS -remonstrate:RMNS:RMNS -remorseless:RMRS:RMRS -remortgaged:RMRT:RMRT -remortgages:RMRT:RMRT -removedness:RMFT:RMFT -remunerable:RMNR:RMNR -remunerated:RMNR:RMNR -remunerates:RMNR:RMNR -remunerator:RMNR:RMNR -renaissance:RNSN:RNSN -rencounters:RNKN:RNKN -renegotiate:RNKX:RNKX -renographic:RNKR:RNKR -renominated:RNMN:RNMN -renominates:RNMN:RNMN -renotifying:RNTF:RNTF -renotrophic:RNTR:RNTR -renovations:RNFX:RNFX -rentability:RNTP:RNTP -renumbering:RNMR:RNMR -reobtaining:RPTN:RPTN -reoccupying:RKPN:RKPN -reoccurring:RKRN:RKRN -reorganized:RRKN:RRKN -reorganizer:RRKN:RRKN -reorganizes:RRKN:RRKN -reorienting:RRNT:RRNT -repacifying:RPSF:RPSF -repackaging:RPKJ:RPKK -reparations:RPRX:RPRX -repartition:RPRT:RPRT -repatriated:RPTR:RPTR -repatriates:RPTR:RPTR -repellently:RPLN:RPLN -repentantly:RPNT:RPNT -repertoires:RPRT:RPRT -repertorial:RPRT:RPRT -repertories:RPRT:RPRT -repetitions:RPTX:RPTX -repetitious:RPTT:RPTT -replaceable:RPLS:RPLS -replacement:RPLS:RPLS -replegiated:RPLJ:RPLK -replenished:RPLN:RPLN -replenisher:RPLN:RPLN -replenishes:RPLN:RPLN -repleteness:RPLT:RPLT -repleviable:RPLF:RPLF -replicating:RPLK:RPLK -replication:RPLK:RPLK -replicative:RPLK:RPLK -replicators:RPLK:RPLK -repolishing:RPLX:RPLX -repopulated:RPPL:RPPL -repopulates:RPPL:RPPL -reportorial:RPRT:RPRT -reposefully:RPSF:RPSF -repositions:RPSX:RPSX -repossessed:RPSS:RPSS -repossesses:RPSS:RPSS -repossessor:RPSS:RPSS -reprehended:RPRH:RPRH -reprehender:RPRH:RPRH -represented:RPRS:RPRS -representee:RPRS:RPRS -representor:RPRS:RPRS -repressible:RPRS:RPRS -repressions:RPRS:RPRS -reprievable:RPRF:RPRF -reprimanded:RPRM:RPRM -reprintings:RPRN:RPRN -reproachers:RPRX:RPRK -reproachful:RPRK:RPRK -reproaching:RPRX:RPRK -reprobating:RPRP:RPRP -reprobation:RPRP:RPRP -reprobative:RPRP:RPRP -reprocessed:RPRS:RPRS -reprocesses:RPRS:RPRS -reproducers:RPRT:RPRT -reproducing:RPRT:RPRT -reprogramme:RPRK:RPRK -reprography:RPRK:RPRK -reprovingly:RPRF:RPRF -reprovision:RPRF:RPRF -reptiliform:RPTL:RPTL -republicans:RPPL:RPPL -republished:RPPL:RPPL -republisher:RPPL:RPPL -republishes:RPPL:RPPL -repudiating:RPTT:RPTT -repudiation:RPTX:RPTX -repudiative:RPTT:RPTT -repudiators:RPTT:RPTT -repugnantly:RPNN:RPKN -repulsively:RPLS:RPLS -repurchased:RPRX:RPRK -repurchases:RPRX:RPRK -repurifying:RPRF:RPRF -reputations:RPTX:RPTX -requickened:RKKN:RKKN -requirement:RKRM:RKRM -requisitely:RKST:RKST -requisition:RKSX:RKSX -requitement:RKTM:RKTM -reradiating:RRTT:RRTT -reradiation:RRTX:RRTX -rerecording:RRKR:RRKR -rescheduled:RSKT:RSKT -reschedules:RSKT:RSKT -rescindable:RSNT:RSNT -rescindment:RSNT:RSNT -rescissible:RSSP:RSSP -rescissions:RSSN:RSSN -rescription:RSKP:RSKP -researchers:RSRX:RSRK -researching:RSRX:RSRK -resectional:RSKX:RSKX -reselecting:RSLK:RSLK -reselection:RSLK:RSLK -resemblance:RSMP:RSMP -resentenced:RSNT:RSNT -resentfully:RSNT:RSNT -resentments:RSNT:RSNT -reservation:RSRF:RSRF -resharpened:RXRP:RXRP -reshipments:RXPM:RXPM -reshuffling:RXFL:RXFL -residencies:RSTN:RSTN -residential:RSTN:RSTN -resignation:RSNX:RSKN -resiliently:RSLN:RSLN -resipiscent:RSPS:RSPS -resistances:RSST:RSST -resistantly:RSST:RSST -resistivity:RSST:RSST -resituating:RSTT:RSTT -resolutions:RSLX:RSLX -resonations:RSNX:RSNX -resourceful:RSRS:RSRS -respectable:RSPK:RSPK -respectably:RSPK:RSPK -respirating:RSPR:RSPR -respiration:RSPR:RSPR -respirators:RSPR:RSPR -respiratory:RSPR:RSPR -respiteless:RSPT:RSPT -resplendent:RSPL:RSPL -respondence:RSPN:RSPN -respondency:RSPN:RSPN -respondents:RSPN:RSPN -responsible:RSPN:RSPN -responsibly:RSPN:RSPN -restartable:RSTR:RSTR -restatement:RSTT:RSTT -restaurants:RSTR:RSTR -restfulness:RSTF:RSTF -restituting:RSTT:RSTT -restitution:RSTT:RSTT -restitutive:RSTT:RSTT -restitutory:RSTT:RSTT -restiveness:RSTF:RSTF -restoration:RSTR:RSTR -restorative:RSTR:RSTR -restrainers:RSTR:RSTR -restraining:RSTR:RSTR -restricting:RSTR:RSTR -restriction:RSTR:RSTR -restrictive:RSTR:RSTR -restringing:RSTR:RSTR -restructure:RSTR:RSTR -resubmitted:RSPM:RSPM -resubscribe:RSPS:RSPS -resultantly:RSLT:RSLT -resummoning:RSMN:RSMN -resumptions:RSMP:RSMP -resupinated:RSPN:RSPN -resupplying:RSPL:RSPL -resurfacing:RSRF:RSRF -resurgences:RSRJ:RSRK -resurgently:RSRJ:RSRK -resurrected:RSRK:RSRK -resurrector:RSRK:RSRK -resurveying:RSRF:RSRF -resuscitate:RSST:RSST -retaliating:RTLT:RTLT -retaliation:RTLX:RTLX -retaliative:RTLT:RTLT -retaliators:RTLT:RTLT -retaliatory:RTLT:RTLT -retardation:RTRT:RTRT -retardative:RTRT:RTRT -retardatory:RTRT:RTRT -retentively:RTNT:RTNT -retentivity:RTNT:RTNT -retestified:RTST:RTST -retestifies:RTST:RTST -rethreading:R0RT:RTRT -reticulated:RTKL:RTKL -reticulates:RTKL:RTKL -reticuloses:RTKL:RTKL -reticulosis:RTKL:RTKL -retinaculum:RTNK:RTNK -retinitides:RTNT:RTNT -retinopathy:RTNP:RTNP -retinoscope:RTNS:RTNS -retinoscopy:RTNS:RTNS -retirements:RTRM:RTRM -retorsiones:RTRS:RTRX -retouchable:RTXP:RTKP -retraceable:RTRS:RTRS -retracement:RTRS:RTRS -retractable:RTRK:RTRK -retractible:RTRK:RTRK -retractions:RTRK:RTRK -retransfers:RTRN:RTRN -retranslate:RTRN:RTRN -retransmits:RTRN:RTRN -retrenching:RTRN:RTRN -retributing:RTRP:RTRP -retribution:RTRP:RTRP -retributive:RTRP:RTRP -retributory:RTRP:RTRP -retrievable:RTRF:RTRF -retrievably:RTRF:RTRF -retroaction:RTRK:RTRK -retroactive:RTRK:RTRK -retrobulbar:RTRP:RTRP -retrocaecal:RTRK:RTRK -retrocedent:RTRS:RTRS -retroceding:RTRS:RTRS -retrofiring:RTRF:RTRF -retrofitted:RTRF:RTRF -retroflexed:RTRF:RTRF -retrograded:RTRK:RTRK -retrogrades:RTRK:RTRK -retrojected:RTRJ:RTRJ -retrolental:RTRL:RTRL -retrorocket:RTRR:RTRR -retrospects:RTRS:RTRS -retroverted:RTRF:RTRF -reunionists:RNNS:RNNS -reupholster:RFLS:RFLS -reusability:RSPL:RSPL -reutilizing:RTLS:RTLS -revaccinate:RFXN:RFXN -revalidated:RFLT:RFLT -revalorized:RFLR:RFLR -revalorizes:RFLR:RFLR -revaluating:RFLT:RFLT -revaluation:RFLX:RFLX -revarnished:RFRN:RFRN -revarnishes:RFRN:RFRN -revealingly:RFLN:RFLN -revegetated:RFKT:RFKT -revegetates:RFKT:RFKT -revelations:RFLX:RFLX -revendicate:RFNT:RFNT -revengeless:RFNJ:RFNK -revengingly:RFNJ:RFNK -reverberant:RFRP:RFRP -reverberate:RFRP:RFRP -reverencers:RFRN:RFRN -reverencing:RFRN:RFRN -reverential:RFRN:RFRN -reverifying:RFRF:RFRF -reversional:RFRS:RFRX -reversioner:RFRS:RFRX -revictualed:RFKT:RFKT -revindicate:RFNT:RFNT -reviolating:RFLT:RFLT -reviolation:RFLX:RFLX -revisionary:RFSN:RFXN -revisionism:RFSN:RFXN -revisionist:RFSN:RFXN -revitalized:RFTL:RFTL -revitalizes:RFTL:RFTL -revivalists:RFFL:RFFL -revivifying:RFFF:RFFF -revocations:RFKX:RFKX -revoltingly:RFLT:RFLT -revolutions:RFLX:RFLX -revolvingly:RFLF:RFLF -revulsively:RFLS:RFLS -rewardingly:RRTN:RRTN -rhabdomancy:RPTM:RPTM -rhabdomyoma:RPTM:RPTM -rhachitides:RXTT:RKTT -rhagadiform:RKTF:RKTF -rhamnaceous:RMNS:RMNS -rhapsodical:RPST:RPST -rhapsodists:RPST:RPST -rhapsodized:RPST:RPST -rhapsodizes:RPST:RPST -rheological:RLJK:RLKK -rheologists:RLJS:RLKS -rheometries:RMTR:RMTR -rheotropism:RTRP:RTRP -rhetorician:RTRS:RTRX -rheumaticky:RMTK:RMTK -rhinestones:RNST:RNST -rhinogenous:RNJN:RNKN -rhinolithic:RNL0:RNLT -rhinologies:RNLJ:RNLK -rhinologist:RNLJ:RNLK -rhinophonia:RNFN:RNFN -rhinophymas:RNFM:RNFM -rhinoplasty:RNPL:RNPL -rhinorrhoea:RNR:RNR -rhinoscopic:RNSK:RNSK -rhizomatous:RSMT:RSMT -rhizopodous:RSPT:RSPT -rhizopterin:RSPT:RSPT -rhizosphere:RSSF:RSSF -rhizotomies:RSTM:RSTM -rhomboideus:RMPT:RMPT -rhotacismus:RTSS:RTSS -rhotacistic:RTSS:RTSS -rhythmicity:R0MS:RTMS -riboflavine:RPFL:RPFL -ribonucleic:RPNK:RPNK -ricinoleate:RSNL:RSNL -ricketiness:RKTN:RKTN -rickettsiae:RKTS:RKTS -rickettsial:RKTS:RKTS -rickettsias:RKTS:RKTS -ricocheting:RKXT:RKKT -ricochetted:RKXT:RKKT -righteously:RTSL:RTSL -righthanded:R0NT:RTNT -rigourously:RKRS:RKRS -ringleaders:RNKL:RNKL -ringmasters:RNKM:RNKM -rinsability:RNSP:RNSP -riotousness:RTSN:RTSN -ritornellos:RTRN:RTRN -ritualistic:RTLS:RTLS -ritualizing:RTLS:RTLS -rivallesses:RFLS:RFLS -roadability:RTPL:RTPL -roadholding:RTLT:RTLT -roadrollers:RTRL:RTRL -roadrunners:RTRN:RTRN -rockhampton:RKMP:RKMP -rockhoppers:RKPR:RKPR -rodenticide:RTNT:RTNT -rodomontade:RTMN:RTMN -roentgenize:RNTJ:RNTK -roguishness:RKXN:RKXN -romanticism:RMNT:RMNT -romanticist:RMNT:RMNT -romanticize:RMNT:RMNT -rosicrucian:RSKR:RSKR -rotaviruses:RTFR:RTFR -rotisseries:RTSR:RTSR -rotogravure:RTKR:RTKR -rottenstone:RTNS:RTNS -rotundities:RTNT:RTNT -roughcaster:RFKS:RFKS -roughhewing:RFNK:RFNK -roughhoused:RFST:RFST -roughhouses:RFSS:RFSS -roughnesses:RFNS:RFNS -roughriders:RFRT:RFRT -roundabouts:RNTP:RNTP -roundedness:RNTT:RNTT -roundhouses:RNTS:RNTS -roustabouts:RSTP:RSTP -routinizing:RTNS:RTNS -rubberizing:RPRS:RPRS -rubbernecks:RPRN:RPRN -rubefacient:RPFS:RPFX -rubefaction:RPFK:RPFK -rubicundity:RPKN:RPKN -rubricating:RPRK:RPRK -rubrication:RPRK:RPRK -rubrospinal:RPRS:RPRS -rudderheads:RTRT:RTRT -rudderposts:RTRP:RTRP -rudimentary:RTMN:RTMN -ruggedizing:RKTS:RKTS -ruinousness:RNSN:RNSN -rumbustious:RMPS:RMPS -ruminations:RMNX:RMNX -rumormonger:RMRM:RMRM -ruridecanal:RRTK:RRTK -russianised:RSNS:RSNS -russophiles:RSFL:RSFL -russophobes:RSFP:RSFP -rusticating:RSTK:RSTK -rustication:RSTK:RSTK -rusticators:RSTK:RSTK -ruttishness:RTXN:RTXN -sabbatarian:SPTR:SPTR -sabbaticals:SPTK:SPTK -saccharated:SXRT:SXRT -sacculation:SKLX:SKLX -sackclothed:SKKL:SKKL -sacramental:SKRM:SKRM -sacramentas:SKRM:SKRM -sacramentum:SKRM:SKRM -sacrificers:SKRF:SKRF -sacrificial:SKRF:SKRF -sacrificing:SKRF:SKRF -sacrilegist:SKRL:SKRL -sacroiliacs:SKRL:SKRL -sacrolumbar:SKRL:SKRL -saddlecloth:STLK:STLK -saddletrees:STLT:STLT -safecracker:SFKR:SFKR -safeguarded:SFKR:SFKR -safekeeping:SFKP:SFKP -sagaciously:SKSS:SKXS -sagebrushes:SJPR:SKPR -sagittarian:SJTR:SKTR -sagittarius:SJTR:SKTR -saintliness:SNTL:SNTL -saintpaulia:SNTP:SNTP -salabrasion:SLPR:SLPR -salaciously:SLSS:SLXS -salamanders:SLMN:SLMN -salammoniac:SLMN:SLMN -saleability:SLPL:SLPL -salesclerks:SLSK:SLSK -salesladies:SLSL:SLSL -salespeople:SLSP:SLSP -salesperson:SLSP:SLSP -salicylated:SLSL:SLSL -salicylized:SLSL:SLSL -salicylizes:SLSL:SLSL -salicyluric:SLSL:SLSL -salicylyate:SLSL:SLSL -salientness:SLNT:SLNT -salinometry:SLNM:SLNM -salmonberry:SLMN:SLMN -salmonellae:SLMN:SLMN -salmonellas:SLMN:SLMN -salpingitic:SLPN:SLPN -salpingitis:SLPN:SLPN -saltatorial:SLTT:SLTT -saltcellars:SLTS:SLTS -saltirewise:SLTR:SLTR -salubrities:SLPR:SLPR -saluretical:SLRT:SLRT -salutations:SLTX:SLTX -salvability:SLFP:SLFP -salvageable:SLFJ:SLFK -salvational:SLFX:SLFX -salvolatile:SLFL:SLFL -sanatariums:SNTR:SNTR -sanatoriums:SNTR:SNTR -sanctifiers:SNKT:SNKT -sanctifying:SNKT:SNKT -sanctioners:SNKX:SNKX -sanctioning:SNKX:SNKX -sanctuaries:SNKT:SNKT -sandbaggers:SNTP:SNTP -sandbagging:SNTP:SNTP -sandblasted:SNTP:SNTP -sandblaster:SNTP:SNTP -sanderlings:SNTR:SNTR -sandlotters:SNTL:SNTL -sandpapered:SNTP:SNTP -sandwiching:SNTX:SNTK -sanguinaria:SNKN:SNKN -sanguineous:SNKN:SNKN -sanitarians:SNTR:SNTR -sanitariums:SNTR:SNTR -sanitoriums:SNTR:SNTR -sansevieria:SNSF:SNSF -saponaceous:SPNS:SPNS -saponifying:SPNF:SPNF -sapotaceous:SPTS:SPTS -saprogenous:SPRJ:SPRK -saprophytes:SPRF:SPRF -saprophytic:SPRF:SPRF -sarcocystis:SRKS:SRKS -sarcodinian:SRKT:SRKT -sarcoidoses:SRKT:SRKT -sarcoidosis:SRKT:SRKT -sarcolactic:SRKL:SRKL -sarcolemmal:SRKL:SRKL -sarcomatoid:SRKM:SRKM -sarcomatous:SRKM:SRKM -sarcophagus:SRKF:SRKF -sarcoplasma:SRKP:SRKP -sardonicism:SRTN:SRTN -sartorially:SRTR:SRTR -sassafrases:SSFR:SSFR -satanically:STNK:STNK -satellitium:STLT:STLT -satiability:SXPL:SXPL -satinflower:STNF:STNF -satirically:STRK:STRK -satisfiable:STSF:STSF -saturations:STRX:STRX -saturdayish:STRT:STRT -saturnalian:STRN:STRN -saturninely:STRN:STRN -saturninity:STRN:STRN -satyragraha:STRK:STRK -satyragrahi:STRK:STRK -saucerizing:SSRS:SSRS -sauerbraten:SRPR:SRPR -saurischian:SRXN:SRXN -saxophonist:SKSF:SKSF -scaffoldage:SKFL:SKFL -scaffolders:SKFL:SKFL -scaffolding:SKFL:SKFL -scalability:SKLP:SKLP -scalariform:SKLR:SKLR -scaldfishes:SKLT:SKLT -scaleboards:SKLP:SKLP -scalenotomy:SKLN:SKLN -scalpriform:SKLP:SKLP -scandalized:SKNT:SKNT -scandalizer:SKNT:SKNT -scandalizes:SKNT:SKNT -scandalling:SKNT:SKNT -scandinavia:SKNT:SKNT -scapegoater:SKPK:SKPK -scapegraces:SKPK:SKPK -scaphocepha:SKFS:SKFS -scapulalgia:SKPL:SKPL -scapularies:SKPL:SKPL -scarabaeoid:SKRP:SKRP -scaremonger:SKRM:SKRM -scarlatinal:SKRL:SKRL -scatologies:SKTL:SKTL -scatologist:SKTL:SKTL -scatterable:SKTR:SKTR -scattersite:SKTR:SKTR -scenography:SNKR:SNKR -sceptically:SPTK:SPTK -schematises:SKMT:SKMT -schematized:SKMT:SKMT -schematizes:SKMT:SKMT -schirrhuses:XRSS:XRSS -schismatics:XSMT:XSMT -schismatize:XSMT:XSMT -schistocyte:XSTS:XSTS -schistomeli:XSTM:XSTM -schistosity:XSTS:XSTS -schistosoma:XSTS:XSTS -schistosome:XSTS:XSTS -schizanthus:XSNT:XSNT -schizogenic:XSKN:XSKN -schizogonic:XSKN:XSKN -schizoidism:XSTS:XSTS -schizomanic:XSMN:XSMN -schizophyte:XSFT:XSFT -schizothyme:XSTM:XSTM -schmaltzier:XMLT:SMLT -scholarship:XLRX:XLRX -scholastics:XLST:XLST -scholiastic:XLST:XLST -schoolbooks:SKLP:SKLP -schoolchild:SKLK:SKLK -schoolgirls:SKLK:SKLK -schoolhouse:SKLS:SKLS -schoolmarms:SKLM:SKLM -schoolmates:SKLM:SKLM -schoolrooms:SKLR:SKLR -schoolteach:SKLT:SKLT -schoolyards:SKLR:SKLR -schottische:XTX:XTX -schrodinger:XRTN:SRTN -sciatically:STKL:STKL -scientistic:SNTS:SNTS -scintillaes:SNTL:SNTL -scintillant:SNTL:SNTL -scintillate:SNTL:SNTL -scintiscann:SNTS:SNTS -sclerectomy:SKRK:SKRK -scleredemas:SKRT:SKRT -scleritises:SKRT:SKRT -sclerodacty:SKRT:SKRT -scleroderma:SKRT:SKRT -sclerogenic:SKRJ:SKRK -sclerophyll:SKRF:SKRF -sclerostomy:SKRS:SKRS -sclerotioid:SKRT:SKRT -sclerotitis:SKRT:SKRT -sclerotomic:SKRT:SKRT -scopolamine:SKPL:SKPL -scopophilia:SKPF:SKPF -scopophilic:SKPF:SKPF -scorbutical:SKRP:SKRP -scorchingly:SKRX:SKRK -scoreboards:SKRP:SKRP -scorekeeper:SKRK:SKRK -scoriaceous:SKRS:SKRS -scorpaenoid:SKRP:SKRP -scorpionida:SKRP:SKRP -scotomatous:SKTM:SKTM -scoundrelly:SKNT:SKNT -scoutmaster:SKTM:SKTM -scragginess:SKJN:SKKN -scraggliest:SKKL:SKKL -scrappiness:SKPN:SKPN -scratchiest:SKXS:SKXS -scratchpads:SKXP:SKXP -scrawniness:SKNN:SKNN -screamingly:SKMN:SKMN -screechiest:SKXS:SKKS -screenplays:SKNP:SKNP -screwdriver:SKTR:SKTR -scrimmaging:SKMJ:SKMK -scrimpiness:SKMP:SKMP -scriptorium:SKPT:SKPT -scrofuloses:SKFL:SKFL -scrofulosis:SKFL:SKFL -scrotectomy:SKTK:SKTK -scrubbiness:SKPN:SKPN -scruffiness:SKFN:SKFN -scrummaging:SKMJ:SKMK -scrumptious:SKMP:SKMP -scrupleless:SKPL:SKPL -scrutineers:SKTN:SKTN -scrutinized:SKTN:SKTN -scrutinizer:SKTN:SKTN -scrutinizes:SKTN:SKTN -sculduggery:SKLT:SKLT -sculpturing:SKLP:SKLP -scuppernong:SKPR:SKPR -scuttlebutt:SKTL:SKTL -scyphistoma:SFST:SFST -scyphyiform:SFFR:SFFR -searchingly:SRXN:SRKN -searchlight:SRXL:SRKL -seasickness:SSKN:SSKN -seasonality:SSNL:SSNL -seaworthier:SR0R:SRTR -seaworthily:SR0L:SRTL -seborrhoeal:SPRL:SPRL -seborrhoeic:SPRK:SPRK -seclusively:SKLS:SKLS -secondaries:SKNT:SKNT -secondarily:SKNT:SKNT -secretaires:SKRT:SKRT -secretarial:SKRT:SKRT -secretariat:SKRT:SKRT -secretaries:SKRT:SKRT -secreteness:SKRT:SKRT -secretively:SKRT:SKRT -sectionally:SKXN:SKXN -sectionized:SKXN:SKXN -sectionizes:SKXN:SKXN -secularists:SKLR:SKLR -secularized:SKLR:SKLR -secularizer:SKLR:SKLR -secularizes:SKLR:SKLR -secundipara:SKNT:SKNT -sedentarily:STNT:STNT -sedimentary:STMN:STMN -sedimentous:STMN:STMN -seditionary:STXN:STXN -seditionist:STXN:STXN -seditiously:STTS:STTS -seductively:STKT:STKT -seemingness:SMNN:SMNK -seersuckers:SRSK:SRSK -segmentally:SKMN:SKMN -segregating:SKRK:SKRK -segregation:SKRK:SKRK -segregative:SKRK:SKRK -segregators:SKRK:SKRK -seigneurage:SNRJ:SKNR -seigneurial:SNRL:SKNR -seigneuries:SNRS:SKNR -seigniorage:SNRJ:SKNR -seigniorial:SNRL:SKNR -seismically:SSMK:SSMK -seismograms:SSMK:SSMK -seismograph:SSMK:SSMK -seismoscope:SSMS:SSMS -selaginella:SLJN:SLKN -selectional:SLKX:SLKX -selectively:SLKT:SLKT -selectivity:SLKT:SLKT -selfishness:SLFX:SLFX -seltzogenes:SLTS:SLTS -semanticist:SMNT:SMNT -semaphoring:SMFR:SMFR -semeiotical:SMTK:SMTK -semiangular:SMNK:SMNK -semiaquatic:SMKT:SMKT -semiaridity:SMRT:SMRT -semicircles:SMSR:SMSR -semicomical:SMKM:SMKM -semiconduct:SMKN:SMKN -semideserts:SMTS:SMTS -semidiurnal:SMTR:SMTR -semiexposed:SMKS:SMKS -semifriable:SMFR:SMFR -semimonthly:SMMN:SMMN -seminarians:SMNR:SMNR -seminarists:SMNR:SMNR -seminiferal:SMNF:SMNF -semiography:SMKR:SMKR -semiologies:SMLJ:SMLK -semiotician:SMTS:SMTX -semipalmate:SMPL:SMPL -semiplastic:SMPL:SMPL -semiprivate:SMPR:SMPR -semiquavers:SMKF:SMKF -semiquinone:SMKN:SMKN -semirefined:SMRF:SMRF -semiretired:SMRT:SMRT -semiserious:SMSR:SMSR -semiskilled:SMSK:SMSK -semitrailer:SMTR:SMTR -semitrained:SMTR:SMTR -semitropics:SMTR:SMTR -sempiternal:SMPT:SMPT -senatorship:SNTR:SNTR -seniorities:SNRT:SNRT -sensational:SNSX:SNSX -senselessly:SNSL:SNSL -sensibility:SNSP:SNSP -sensitively:SNST:SNST -sensitivity:SNST:SNST -sensitizers:SNST:SNST -sensitizing:SNST:SNST -sensorially:SNSR:SNSR -sensualists:SNSL:SNSL -sensualized:SNSL:SNSL -sensualizes:SNSL:SNSL -sensualness:SNSL:SNSL -sententious:SNTN:SNTN -sentimental:SNTM:SNTM -sentineling:SNTN:SNTN -separations:SPRX:SPRX -separatists:SPRT:SPRT -septenaries:SPTN:SPTN -septicaemia:SPTK:SPTK -septicaemic:SPTK:SPTK -septifragal:SPTF:SPTF -sepulchered:SPLX:SPLK -sepulchring:SPLX:SPLK -sequencings:SKNS:SKNS -sequestered:SKST:SKST -sequestrant:SKST:SKST -sequestrate:SKST:SKST -sequestrums:SKST:SKST -serendipity:SRNT:SRNT -sergeancies:SRJN:SRKN -serializing:SRLS:SRLS -sericulture:SRKL:SRKL -serigrapher:SRKR:SRKR -serigraphes:SRKR:SRKR -serigraphic:SRKR:SRKR -seriousness:SRSN:SRSN -serjeancies:SRJN:SRJN -sermonisers:SRMN:SRMN -sermonizing:SRMN:SRMN -serological:SRLJ:SRLK -serologists:SRLJ:SRLK -serositises:SRST:SRST -serotherapy:SR0R:SRTR -serpentaria:SRPN:SRPN -serpigenous:SRPJ:SRPK -serpiginous:SRPJ:SRPK -serrulation:SRLX:SRLX -sertularian:SRTL:SRTL -servantship:SRFN:SRFN -serviceable:SRFS:SRFS -serviceably:SRFS:SRFS -servileness:SRFL:SRFL -servilities:SRFL:SRFL -servomotors:SRFM:SRFM -sesquioxide:SSKK:SSKK -sessionally:SSNL:SSNL -setaceously:STSS:STSS -settlements:STLM:STLM -seventeenth:SFNT:SFNT -seventieths:SFNT:SFNT -seventyfold:SFNT:SFNT -severalized:SFRL:SFRL -severalizes:SFRL:SFRL -severalties:SFRL:SFRL -sexagesimal:SKSJ:SKSK -sexdigitate:SKST:SKST -sexennially:SKSN:SKSN -sexlessness:SKSL:SKSL -sexological:SKSL:SKSL -sexologists:SKSL:SKSL -sextillions:SKST:SKST -sextiparaes:SKST:SKST -sexualities:SKSL:SKSL -sexualizing:SKSL:SKSL -shadowboxed:XTPK:XTPK -shadowboxes:XTPK:XTPK -shadowgraph:XTKR:XTKR -shadowiness:XTNS:XTNS -shakespeare:XKSP:XKSP -shallowness:XLNS:XLNS -shamelessly:XMLS:XMLS -shanghaiing:XNKN:XNKN -shantytowns:XNTT:XNTT -shapelessly:XPLS:XPLS -shapeliness:XPLN:XPLN -shareholder:XRHL:XRHL -sharejobber:XRJP:XRHP -sharepusher:XRPX:XRPX -shearwaters:XRTR:XRTR -sheathbills:X0PL:XTPL -sheepherder:XFRT:XFRT -shellackers:XLKR:XLKR -shellacking:XLKN:XLKN -shellfishes:XLFX:XLFX -shelterless:XLTR:XLTR -shenanigans:XNNK:XNNK -shepherdess:XFRT:XFRT -shepherding:XFRT:XFRT -sheradizing:XRTS:XRTS -sheriffalty:XRFL:XRFL -sheriffcies:XRFS:XRFX -sheriffwick:XRFK:XRFK -shibboleths:XPL0:XPLT -shiftlessly:XFTL:XFTL -shigelloses:XJLS:XKLS -shigellosis:XJLS:XKLS -shillelaghs:XLLK:XLLK -shinsplints:XNSP:XNSP -shintoistic:XNTS:XNTS -shipbuilder:XPLT:XPLT -shipmasters:XPMS:XPMS -shipwrecked:XPRK:XPRK -shipwrights:XPRT:XPRT -shirtsleeve:XRTS:XRTS -shirtwaists:XRTS:XRTS -shiveringly:XFRN:XFRN -shockheaded:XKTT:XKTT -shoestrings:XSTR:XSTR -shopbreaker:XPRK:XPRK -shopkeepers:XPKP:XPKP -shopkeeping:XPKP:XPKP -shoplifters:XPLF:XPLF -shoplifting:XPLF:XPLF -shortchange:XRXN:XRXN -shortcoming:XRTK:XRTK -shortenings:XRTN:XRTN -shorthanded:XR0N:XRTN -shouldering:XLTR:XLTR -showeriness:XRNS:XRNS -showerproof:XRPR:XRPR -showgrounds:XKRN:XKRN -showjumpers:XJMP:XJMP -showjumping:XJMP:XJMP -showmanship:XMNX:XMNX -showstopper:XSTP:XSTP -shrinkingly:XRNK:XRNK -shrubberies:XRPR:XRPR -shrubbiness:XRPN:XRPN -shufflingly:XFLN:XFLN -shutterbugs:XTRP:XTRP -shuttlecock:XTLK:XTLK -sialogenous:SLJN:XLKN -sialography:SLKR:XLKR -sialorrhoea:SLR:XLR -sickeningly:SKNN:SKNN -sidepiecing:STPS:STPS -sideropenia:STRP:STRP -siderophile:STRF:STRF -siderosises:STRS:STRS -siderostats:STRS:STRS -sidesaddles:STST:STST -sideslipped:STSL:STSL -sidestepped:STST:STST -sidestepper:STST:STST -sideswipers:STSP:STSP -sideswiping:STSP:STSP -sidetracked:STTR:STTR -sidewheeler:STLR:STLR -sidewinders:STNT:STNT -sightedness:STTN:STTN -sightlessly:STLS:STLS -sightliness:STLN:STLN -sightscreen:STSK:STSK -sightseeing:STSN:STSN -sigmoidally:SKMT:SKMT -sigmoiditis:SKMT:SKMT -signalizing:SNLS:SKNL -signallings:SNLN:SKNL -signataries:SNTR:SKNT -signatories:SNTR:SKNT -signaturing:SNTR:SKNT -signifiable:SNFP:SKNF -significant:SNFK:SKNF -significate:SNFK:SKNF -signposting:SNPS:SKNP -silhouetted:SLTT:SLTT -silhouettes:SLTS:SLTS -silicifying:SLSF:SLSF -silkscreens:SLKS:SLKS -sillimanite:SLMN:SLMN -silveriness:SLFR:SLFR -silversmith:SLFR:SLFR -simperingly:SMPR:SMPR -simpliciter:SMPL:SMPL -simplifiers:SMPL:SMPL -simplifying:SMPL:SMPL -simulations:SMLX:SMLX -simulcasted:SMLK:SMLK -sincereness:SNSR:SNSR -sinecurists:SNKR:SNKR -sinfonietta:SNFN:SNFN -singlestick:SNKL:SNKL -singletrees:SNKL:SNKL -singularity:SNKL:SNKL -singularize:SNKL:SNKL -sinistrally:SNST:SNST -sinistrorse:SNST:SNST -sinlessness:SNLS:SNLS -sinologists:SNLJ:SNLK -sinuosities:SNST:SNST -sinuousness:SNSN:SNSN -sirenomelus:SRNM:SRNM -sisterhoods:SSTR:SSTR -situational:STXN:STXN -sixteenfold:SKST:SKST -sixteenthes:SKST:SKST -skateboards:SKTP:SKTP -skatologies:SKTL:SKTL -skedaddling:SKTT:SKTT -skeletonize:SKLT:SKLT -skeptically:SKPT:SKPT -sketchbooks:SKXP:SKXP -sketchiness:SKXN:SKXN -skiagrapher:SKKR:SKKR -skiametries:SKMT:SKMT -skiascopies:SKSK:SKSK -skilfulness:SKLF:SKLF -skirmishers:SKRM:SKRM -skirmishing:SKRM:SKRM -skulduggery:SKLT:SKLT -skyrocketed:SKRK:SKRK -skyscrapers:SKSK:SKSK -slaphappier:SLFP:XLFP -slaughtered:SLFT:XLFT -slaughterer:SLFT:XLFT -slavishness:SLFX:XLFX -sleeplessly:SLPL:XLPL -sleepwalker:SLPL:XLPL -sleepyheads:SLPH:XLPH -slenderized:SLNT:XLNT -slenderizes:SLNT:XLNT -slenderness:SLNT:XLNT -sleuthhound:SL0N:XLTN -slickenside:SLKN:XLKN -slightingly:SLTN:XLTN -slipperiest:SLPR:XLPR -slopingness:SLPN:XLPN -slouchiness:SLXN:XLKN -slouchingly:SLXN:XLKN -slowcoaches:SLKX:XLKK -sluicegates:SLSK:XLSK -slumberless:SLMR:XLMR -slummocking:SLMK:XLMK -smallholder:SMLL:XMLL -smilingness:SMLN:XMLN -smithereens:SM0R:XMTR -smithsonian:SM0S:XMTS -smithsonite:SM0S:XMTS -smokehouses:SMKH:XMKH -smokescreen:SMKS:XMKS -smokestacks:SMKS:XMKS -smorgasbord:SMRK:XMRK -smouldering:SMLT:XMLT -snapdragons:SNPT:XNPT -snickersnee:SNKR:XNKR -sniperscope:SNPR:XNPR -snowballing:SNPL:XNPL -snowberries:SNPR:XNPR -snowmobiler:SNMP:XNMP -snowmobiles:SNMP:XNMP -snowploughs:SNPL:XNPL -snowshoeing:SNXN:XNXN -snufflingly:SNFL:XNFL -sociability:SSPL:SXPL -socialistic:SSLS:SXLS -socialities:SSLT:SXLT -socializers:SSLS:SXLS -socializing:SSLS:SXLS -sociologies:SSLJ:SXLK -sociologist:SSLJ:SXLK -sociometric:SSMT:SXMT -sociopathes:SSP0:SXPT -sociopathic:SSP0:SXPT -sociosexual:SSSK:SXSK -sodomitical:STMT:STMT -softhearted:SF0R:SFTR -sojournment:SJRN:SHRN -solanaceous:SLNS:SLNS -soldierlike:SLTR:SLTR -solemnified:SLMN:SLMN -solemnifies:SLMN:SLMN -solemnities:SLMN:SLMN -solemnizing:SLMN:SLMN -solenoglyph:SLNK:SLNK -solicitress:SLST:SLST -solidifiers:SLTF:SLTF -solidifying:SLTF:SLTF -soliloquies:SLLK:SLLK -soliloquist:SLLK:SLLK -soliloquize:SLLK:SLLK -solipsistic:SLPS:SLPS -solmization:SLMS:SLMS -solubilized:SLPL:SLPL -solubilizes:SLPL:SLPL -solubleness:SLPL:SLPL -solutionist:SLXN:SLXN -solvability:SLFP:SLFP -somasthenia:SMS0:SMST -somatically:SMTK:SMTK -somatogenic:SMTJ:SMTK -somatologic:SMTL:SMTL -somatomedin:SMTM:SMTM -somatometry:SMTM:SMTM -somatoplasm:SMTP:SMTP -somatotonia:SMTT:SMTT -somatotopic:SMTT:SMTT -somatotypic:SMTT:SMTT -somersaults:SMRS:SMRS -somestheses:SMS0:SMST -somesthesia:SMS0:SMST -somesthesis:SMS0:SMST -somnambular:SMNM:SMNM -somniferous:SMNF:SMNF -somnifugous:SMNF:SMNF -somnolences:SMNL:SMNL -somnolently:SMNL:SMNL -songfulness:SNKF:SNKF -songwriters:SNKR:SNKR -sonorescent:SNRS:SNRS -soothsayers:S0SR:STSR -soothsaying:S0SN:STSN -sophistical:SFST:SFST -sophistries:SFST:SFST -soporifical:SPRF:SPRF -sorceresses:SRSR:SRSR -soroptimist:SRPT:SRPT -sororiation:SRRX:SRRX -sorrowfully:SRFL:SRFL -soteriology:STRL:STRL -sottishness:STXN:STXN -soubrettish:SPRT:SPRT -soulfulness:SLFL:SLFL -soundboards:SNTP:SNTP -soundlessly:SNTL:SNTL -soundproofs:SNTP:SNTP -soundtracks:SNTR:SNTR -sourdoughes:SRTS:SRTS -southeaster:S0ST:STST -southerlies:S0RL:STRL -southerners:S0RN:STRN -southwardly:S0RT:STRT -southwester:S0ST:STST -sovereignly:SFRN:SFRK -sovereignty:SFRN:SFRK -sovietistic:SFTS:SFTS -sovietizing:SFTS:SFTS -spacecrafts:SPSK:SPSK -spaceflight:SPSF:SPSF -spacewalked:SPSL:SPSL -spacewalker:SPSL:SPSL -sparcserver:SPRK:SPRK -sparganoses:SPRK:SPRK -sparganosis:SPRK:SPRK -spargosises:SPRK:SPRK -sparingness:SPRN:SPRN -sparklingly:SPRK:SPRK -sparrowhawk:SPRK:SPRK -spasmatical:SPSM:SPSM -spasmodical:SPSM:SPSM -spasmogenic:SPSM:SPSM -spasmolyses:SPSM:SPSM -spasmolysis:SPSM:SPSM -spasmolytic:SPSM:SPSM -spasmophile:SPSM:SPSM -spastically:SPST:SPST -spathaceous:SP0S:SPTS -spatulating:SPTL:SPTL -spatulation:SPTL:SPTL -speakeasies:SPKS:SPKS -spearheaded:SPRT:SPRT -specialists:SPSL:SPXL -specialized:SPSL:SPXL -specializes:SPSL:SPXL -specialties:SPSL:SPXL -specifiable:SPSF:SPSF -specificate:SPSF:SPSF -specificity:SPSF:SPSF -specificize:SPSF:SPSF -spectacular:SPKT:SPKT -spectatress:SPKT:SPKT -spectrogram:SPKT:SPKT -speculating:SPKL:SPKL -speculation:SPKL:SPKL -speculative:SPKL:SPKL -speculators:SPKL:SPKL -speechified:SPXF:SPKF -speechifies:SPXF:SPKF -spellbinder:SPLP:SPLP -spendthrift:SPNT:SPNT -spermatheca:SPRM:SPRM -spermatical:SPRM:SPRM -spermatoxin:SPRM:SPRM -spermatozoa:SPRM:SPRM -spermaturia:SPRM:SPRM -spermiation:SPRM:SPRM -spermicidal:SPRM:SPRM -spermolyses:SPRM:SPRM -spermolysis:SPRM:SPRM -spermotoxin:SPRM:SPRM -spessartite:SPSR:SPSR -sphacelated:SFSL:SFSL -sphenocepha:SFNS:SFNS -spherically:SFRK:SFRK -spherocytic:SFRS:SFRS -spheroplast:SFRP:SFRP -spherulitic:SFRL:SFRL -sphincteral:SFNK:SFNK -sphincteric:SFNK:SFNK -sphingosine:SFNK:SFNK -sphygmogram:SFKM:SFKM -spiculation:SPKL:SPKL -spiflicated:SPFL:SPFL -spinabifida:SPNP:SPNP -spinelessly:SPNL:SPNL -spinescence:SPNS:SPNS -spiniferous:SPNF:SPNF -spinotectal:SPNT:SPNT -spinsterish:SPNS:SPNS -spintherism:SPN0:SPNT -spiraculate:SPRK:SPRK -spiriferous:SPRF:SPRF -spirilloses:SPRL:SPRL -spirillosis:SPRL:SPRL -spiritually:SPRT:SPRT -spirketting:SPRK:SPRK -spirochaeta:SPRK:SPRX -spirochaete:SPRK:SPRX -spirochetae:SPRX:SPRK -spirochetal:SPRX:SPRK -spirochetes:SPRX:SPRK -spirometric:SPRM:SPRM -spitsticker:SPTS:SPTS -splashboard:SPLX:SPLX -splashdowns:SPLX:SPLX -splashiness:SPLX:SPLX -splattering:SPLT:SPLT -splayfooted:SPLF:SPLF -spleenfully:SPLN:SPLN -splendorous:SPLN:SPLN -splenectomy:SPLN:SPLN -splenitises:SPLN:SPLN -splenodynia:SPLN:SPLN -splenogenic:SPLN:SPLN -splenopathy:SPLN:SPLN -splenunculi:SPLN:SPLN -splintering:SPLN:SPLN -splotchiest:SPLX:SPLX -splutterers:SPLT:SPLT -spluttering:SPLT:SPLT -spoilsports:SPLS:SPLS -spokeswoman:SPKS:SPKS -spokeswomen:SPKS:SPKS -spondulicks:SPNT:SPNT -spondylitic:SPNT:SPNT -spondylitis:SPNT:SPNT -spondyloses:SPNT:SPNT -spondylosis:SPNT:SPNT -spongiocyte:SPNJ:SPNK -sponsorship:SPNS:SPNS -spontaneity:SPNT:SPNT -spontaneous:SPNT:SPNT -spoonerisms:SPNR:SPNR -sporocystic:SPRS:SPRS -sporogenies:SPRJ:SPRK -sporogenous:SPRJ:SPRK -sporogonies:SPRK:SPRK -sporogonium:SPRK:SPRK -sporogonous:SPRK:SPRK -sporotricha:SPRT:SPRT -sportscasts:SPRT:SPRT -sportsmanly:SPRT:SPRT -sportswoman:SPRT:SPRT -sportswomen:SPRT:SPRT -sporulating:SPRL:SPRL -sporulation:SPRL:SPRL -sporulative:SPRL:SPRL -spotlighted:SPTL:SPTL -spreadsheet:SPRT:SPRT -sprightlier:SPRT:SPRT -springboard:SPRN:SPRN -springfield:SPRN:SPRN -springheads:SPRN:SPRN -springhouse:SPRN:SPRN -springiness:SPRN:SPRN -sprinklings:SPRN:SPRN -squalidness:SKLT:SKLT -squanderers:SKNT:SKNT -squandering:SKNT:SKNT -squashiness:SKXN:SKXN -squeakiness:SKKN:SKKN -squeamishly:SKMX:SKMX -squeegeeing:SKJN:SKKN -squiffiness:SKFN:SKFN -squirearchy:SKRR:SKRR -squirmingly:SKRM:SKRM -squirreling:SKRL:SKRL -stabilities:STPL:STPL -stabilizers:STPL:STPL -stabilizing:STPL:STPL -stachydrine:STKT:STKT -stagestruck:STJS:STKS -stagflation:STKF:STKF -staggerbush:STKR:STKR -stainlessly:STNL:STNL -stakeholder:STKH:STKH -stalactites:STLK:STLK -stalactitic:STLK:STLK -stalagmites:STLK:STLK -stalagmitic:STLK:STLK -stalemating:STLM:STLM -stanchioned:STNX:STNK -standardize:STNT:STNT -standoffish:STNT:STNT -standpoints:STNT:STNT -staphylitis:STFL:STFL -starchiness:STRX:STRK -starflowers:STRF:STRF -startlingly:STRT:STRT -starvelings:STRF:STRF -statehouses:STTH:STTH -statelesses:STTL:STTL -stateliness:STTL:STTL -statesmanly:STTS:STTS -stateswoman:STTS:STTS -stateswomen:STTS:STTS -statistical:STTS:STTS -statolithic:STTL:STTL -statutorily:STTT:STTT -staunchness:STNX:STNK -staurolitic:STRL:STRL -stauroscope:STRS:STRS -steadfastly:STTF:STTF -steakhouses:STKS:STKS -stealthiest:STL0:STLT -steamboated:STMP:STMP -steamroller:STMR:STMR -stearoptene:STRP:STRP -steatolyses:STTL:STTL -steatolysis:STTL:STTL -steatopygia:STTP:STTP -steatopygic:STTP:STTP -steatorrhea:STTR:STTR -steelworker:STLR:STLR -steeplejack:STPL:STPL -steerageway:STRJ:STRK -stegosaurus:STKS:STKS -stellarator:STLR:STLR -stellectomy:STLK:STLK -stellifying:STLF:STLF -stellionate:STLN:STLN -stellularly:STLL:STLL -stencillers:STNS:STNS -stencilling:STNS:STNS -stenocardia:STNK:STNK -stenochoria:STNX:STNK -stenographs:STNK:STNK -stenography:STNK:STNK -stenohaline:STNH:STNH -stenothermy:STN0:STNT -stenothorax:STN0:STNT -stenotypist:STNT:STNT -stepbrother:STPR:STPR -stepfathers:STPF:STPF -stephanotis:STFN:STFN -stephanurus:STFN:STFN -stepladders:STPL:STPL -stepmothers:STPM:STPM -stepparents:STPR:STPR -stepsisters:STPS:STPS -stercobilin:STRK:STRK -stercoromas:STRK:STRK -stereocilia:STRS:STRS -stereograms:STRK:STRK -stereograph:STRK:STRK -stereometry:STRM:STRM -stereophony:STRF:STRF -stereoscope:STRS:STRS -stereoscopy:STRS:STRS -stereotapes:STRT:STRT -stereotaxes:STRT:STRT -stereotaxic:STRT:STRT -stereotaxis:STRT:STRT -stereotyped:STRT:STRT -stereotyper:STRT:STRT -stereotypes:STRT:STRT -sterilities:STRL:STRL -sterilizers:STRL:STRL -sterilizing:STRL:STRL -sternohyoid:STRN:STRN -sternutator:STRN:STRN -stethograph:ST0K:STTK -stethoscope:ST0S:STTS -stethoscopy:ST0S:STTS -stevedoring:STFT:STFT -stewardship:STRT:STRT -stichically:STXK:STKK -stichometry:STXM:STKM -stickleback:STKL:STKL -stigmatized:STKM:STKM -stigmatizer:STKM:STKM -stigmatizes:STKM:STKM -stilbestrol:STLP:STLP -stillbirths:STLP:STLP -stiltedness:STLT:STLT -stimulaters:STML:STML -stimulating:STML:STML -stimulation:STML:STML -stimulative:STML:STML -stimulatory:STML:STML -stipendiary:STPN:STPN -stipendless:STPN:STPN -stipulating:STPL:STPL -stipulation:STPL:STPL -stipulators:STPL:STPL -stipulatory:STPL:STPL -stipuliform:STPL:STPL -stockbroker:STKP:STKP -stockholder:STKL:STKL -stockinette:STKN:STKN -stockjobber:STKP:STKP -stockkeeper:STKK:STKK -stockpiling:STKP:STKP -stocktaking:STKT:STKT -stoicalness:STKL:STKL -stomachache:STMK:STMK -stomachical:STMX:STMK -stomatology:STMT:STMT -stomatomies:STMT:STMT -stomodaeums:STMT:STMT -stonecutter:STNK:STNK -stoneground:STNK:STNK -stonewalled:STNL:STNL -stonewaller:STNL:STNL -stonewashed:STNX:STNX -stoneworker:STNR:STNR -stopwatches:STPX:STPX -storefronts:STRF:STRF -storehouses:STRH:STRH -storekeeper:STRK:STRK -storyboards:STRP:STRP -storyteller:STRT:STRT -straggliest:STRK:STRK -straightens:STRT:STRT -straighters:STRT:STRT -straightest:STRT:STRT -straightway:STRT:STRT -straitening:STRT:STRT -straitlaced:STRT:STRT -strangeness:STRN:STRN -stranglings:STRN:STRN -strangulate:STRN:STRN -stranguries:STRN:STRN -strategists:STRT:STRT -stratifying:STRT:STRT -stratocracy:STRT:STRT -stratopause:STRT:STRT -streakiness:STRK:STRK -streamlined:STRM:STRM -streamliner:STRM:STRM -streamlines:STRM:STRM -streetlight:STRT:STRT -strengthens:STRN:STRN -strenuously:STRN:STRN -strepogenin:STRP:STRP -streptidine:STRP:STRP -stressfully:STRS:STRS -stretchable:STRX:STRX -stretchiest:STRX:STRX -stridulated:STRT:STRT -stridulator:STRT:STRT -strikebound:STRK:STRK -strikebreak:STRK:STRK -stringboard:STRN:STRN -stringently:STRN:STRN -stringiness:STRN:STRN -stringpiece:STRN:STRN -stripteased:STRP:STRP -stripteaser:STRP:STRP -stripteases:STRP:STRP -strobiluses:STRP:STRP -stroboscope:STRP:STRP -strongarmer:STRN:STRN -strongboxes:STRN:STRN -strongholds:STRN:STRN -strongpoint:STRN:STRN -strongrooms:STRN:STRN -stroppiness:STRP:STRP -structuring:STRK:STRK -struttingly:STRT:STRT -stubbornest:STPR:STPR -studentship:STTN:STTN -studiedness:STTT:STTT -stultifying:STLT:STLT -stumblingly:STMP:STMP -stuntedness:STNT:STNT -stupidities:STPT:STPT -stylishness:STLX:STLX -stylistical:STLS:STLS -stylization:STLS:STLS -styloglossi:STLK:STLK -stylography:STLK:STLK -stylophones:STLF:STLF -stylopizing:STLP:STLP -suasiveness:SSFN:SSFN -subacidness:SPST:SPST -subacromial:SPKR:SPKR -subagencies:SPJN:SPKN -suballiance:SPLN:SPLN -suballocate:SPLK:SPLK -subapically:SPPK:SPPK -subarcuated:SPRK:SPRK -subarticles:SPRT:SPRT -subassembly:SPSM:SPSM -subassignee:SPSN:SPSK -subattorney:SPTR:SPTR -subaudition:SPTX:SPTX -subaxillary:SPKS:SPKS -subbasement:SPSM:SPSM -subbrachial:SPRK:SPRK -subbrachian:SPRK:SPRK -subbranches:SPRN:SPRN -subcallosal:SPKL:SPKL -subcapsular:SPKP:SPKP -subcategory:SPKT:SPKT -subcellular:SPSL:SPSL -subchapters:SPXP:SPKP -subchloride:SPXL:SPKL -subchondral:SPXN:SPKN -subclassify:SPKL:SPKL -subclimates:SPKL:SPKL -subclinical:SPKL:SPKL -subcompacts:SPKM:SPKM -subcontract:SPKN:SPKN -subcontrary:SPKN:SPKN -subcoracoid:SPKR:SPKR -subcortexes:SPKR:SPKR -subcortical:SPKR:SPKR -subcortices:SPKR:SPKR -subcouncils:SPKN:SPKN -subcritical:SPKR:SPKR -subcultural:SPKL:SPKL -subcultures:SPKL:SPKL -subcurative:SPKR:SPKR -subcurators:SPKR:SPKR -subdelegate:SPTL:SPTL -subdelirium:SPTL:SPTL -subdialects:SPTL:SPTL -subdirector:SPTR:SPTR -subdistrict:SPTS:SPTS -subdividing:SPTF:SPTF -subdivision:SPTF:SPTF -subdominant:SPTM:SPTM -subdorsally:SPTR:SPTR -subduedness:SPTT:SPTT -subelements:SPLM:SPLM -subendorsed:SPNT:SPNT -subfamilies:SPFM:SPFM -subfraction:SPFR:SPFR -subfreezing:SPFR:SPFR -subfunction:SPFN:SPFN -subgingival:SPJN:SPKN -subheadings:SPTN:SPTN -subincision:SPNS:SPNS -subinguinal:SPNK:SPNK -subinterval:SPNT:SPNT -subirrigate:SPRK:SPRK -subisidizer:SPST:SPST -subjacently:SPJS:SPJS -subjectable:SPJK:SPJK -subjectless:SPJK:SPJK -subjugating:SPJK:SPJK -subjugation:SPJK:SPJK -subjugators:SPJK:SPJK -subjunction:SPJN:SPJN -subjunctive:SPJN:SPJN -subkingdoms:SPKN:SPKN -sublethally:SPL0:SPLT -subleukemic:SPLK:SPLK -sublicensed:SPLS:SPLS -sublicensee:SPLS:SPLS -sublicenses:SPLS:SPLS -sublimating:SPLM:SPLM -sublimation:SPLM:SPLM -sublimeness:SPLM:SPLM -sublimities:SPLM:SPLM -sublittoral:SPLT:SPLT -subluxation:SPLK:SPLK -submanagers:SPMN:SPMN -submarginal:SPMR:SPMR -submariners:SPMR:SPMR -submaxillae:SPMK:SPMK -submaxillas:SPMK:SPMK -submedially:SPMT:SPMT -submergence:SPMR:SPMR -submergible:SPMR:SPMR -submersible:SPMR:SPMR -submersions:SPMR:SPMR -submissible:SPMS:SPMS -submissions:SPMS:SPMS -submittable:SPMT:SPMT -submittance:SPMT:SPMT -submultiple:SPML:SPML -subnarcotic:SPNR:SPNR -subnetworks:SPNT:SPNT -subnormally:SPNR:SPNR -subofficers:SPFS:SPFS -subofficial:SPFS:SPFX -subordinate:SPRT:SPRT -subornation:SPRN:SPRN -subornative:SPRN:SPRN -subpectoral:SPPK:SPPK -subphrenics:SPFR:SPFR -subplacenta:SPPL:SPPL -subpoenaing:SPPN:SPPN -subproblems:SPPR:SPPR -subprograms:SPPR:SPPR -subprovince:SPPR:SPPR -subrogating:SPRK:SPRK -subrogation:SPRK:SPRK -subroutines:SPRT:SPRT -subscapular:SPSK:SPSK -subschedule:SPSK:SPSK -subscribers:SPSK:SPSK -subscribing:SPSK:SPSK -subscripted:SPSK:SPSK -subsections:SPSK:SPSK -subsegments:SPSK:SPSK -subsequence:SPSK:SPSK -subservient:SPSR:SPSR -subsidizing:SPST:SPST -subsistence:SPSS:SPSS -subsocially:SPSS:SPSX -subspecific:SPSP:SPSP -substandard:SPST:SPST -substantiae:SPST:SPST -substantial:SPST:SPST -substantive:SPST:SPST -substations:SPST:SPST -substituent:SPST:SPST -substituted:SPST:SPST -substituter:SPST:SPST -substitutes:SPST:SPST -substratums:SPST:SPST -subsumption:SPSM:SPSM -subsumptive:SPSM:SPSM -subsurfaces:SPSR:SPSR -subterfuges:SPTR:SPTR -subterminal:SPTR:SPTR -subthalamic:SP0L:SPTL -subthalamus:SP0L:SPTL -subtilizing:SPTL:SPTL -subtotaling:SPTT:SPTT -subtotalled:SPTT:SPTT -subtracting:SPTR:SPTR -subtraction:SPTR:SPTR -subtractive:SPTR:SPTR -subtractors:SPTR:SPTR -subtrahends:SPTR:SPTR -subtreasury:SPTR:SPTR -subtropical:SPTR:SPTR -suburbanite:SPRP:SPRP -suburbanize:SPRP:SPRP -subventions:SPFN:SPFN -subversions:SPFR:SPFR -subversives:SPFR:SPFR -subvertible:SPFR:SPFR -subvolution:SPFL:SPFL -succedaneum:SXTN:SXTN -succeedable:SKST:SKST -successions:SKSS:SKSS -successless:SKSS:SKSS -successoral:SKSS:SKSS -succorrhoea:SKR:SKR -succourrhea:SKR:SKR -succulently:SKLN:SKLN -sufferingly:SFRN:SFRN -sufficiency:SFSN:SFXN -suffixation:SFKS:SFKS -suffocating:SFKT:SFKT -suffocation:SFKX:SFKX -suffocative:SFKT:SFKT -suffragette:SFRK:SFRK -suffragists:SFRJ:SFRK -suffumigate:SFMK:SFMK -sugarcoated:XKRK:SKRK -suggestible:SKST:SKST -suggestibly:SKST:SKST -suggestions:SKSX:SKSX -suicidology:SSTL:SSTL -suitability:STPL:STPL -sulfadoxine:SLFT:SLFT -sulfanilate:SLFN:SLFN -sulfhydrate:SLFT:SLFT -sulfonamide:SLFN:SLFN -sulfonating:SLFN:SLFN -sulfurating:SLFR:SLFR -sulfuretted:SLFR:SLFR -sulfurizing:SLFR:SLFR -sulphanilic:SLFN:SLFN -sulphonated:SLFN:SLFN -sulphurated:SLFR:SLFR -sulphurates:SLFR:SLFR -sulphurator:SLFR:SLFR -sulphureous:SLFR:SLFR -sulphurized:SLFR:SLFR -sulphurizes:SLFR:SLFR -sulphydrate:SLFT:SLFT -sultanesses:SLTN:SLTN -summariness:SMRN:SMRN -summarizing:SMRS:SMRS -summational:SMXN:SMXN -summerhouse:SMRS:SMRS -summeriness:SMRN:SMRN -summersault:SMRS:SMRS -sumptuously:SMPT:SMPT -sunbonneted:SNPN:SNPN -sunlessness:SNLS:SNLS -superabound:SPRP:SPRP -superactive:SPRK:SPRK -superadding:SPRT:SPRT -supercargos:SPRK:SPRK -supercharge:SPRX:SPRK -supercilium:SPRS:SPRS -supercooled:SPRK:SPRK -superfamily:SPRF:SPRF -superficial:SPRF:SPRF -superficies:SPRF:SPRF -superfinite:SPRF:SPRF -superfluity:SPRF:SPRF -superfluous:SPRF:SPRF -supergroups:SPRK:SPRK -superheated:SPRT:SPRT -superheater:SPRT:SPRT -superheroes:SPRR:SPRR -superimpose:SPRM:SPRM -superinduce:SPRN:SPRN -superinfect:SPRN:SPRN -superinsist:SPRN:SPRN -superintend:SPRN:SPRN -superiority:SPRR:SPRR -superjacent:SPRJ:SPRJ -superlative:SPRL:SPRL -superlunary:SPRL:SPRL -supermarket:SPRM:SPRM -supernatant:SPRN:SPRN -supernation:SPRN:SPRN -supernormal:SPRN:SPRN -superpolite:SPRP:SPRP -superposing:SPRP:SPRP -superpotent:SPRP:SPRP -superpowers:SPRP:SPRP -superrefine:SPRF:SPRF -supersacred:SPRS:SPRS -superscribe:SPRS:SPRS -superscript:SPRS:SPRS -supersecret:SPRS:SPRS -supersedeas:SPRS:SPRS -supersedere:SPRS:SPRS -superseding:SPRS:SPRS -supersedure:SPRS:SPRS -superseptal:SPRS:SPRS -supersessor:SPRS:SPRS -supersevere:SPRS:SPRS -supersonics:SPRS:SPRS -superstores:SPRS:SPRS -superstrata:SPRS:SPRS -superstrict:SPRS:SPRS -supertanker:SPRT:SPRT -supervening:SPRF:SPRF -supervisees:SPRF:SPRF -supervising:SPRF:SPRF -supervision:SPRF:SPRF -supervisors:SPRF:SPRF -supervisory:SPRF:SPRF -supplanters:SPLN:SPLN -supplanting:SPLN:SPLN -supplements:SPLM:SPLM -suppliantly:SPLN:SPLN -supplicants:SPLK:SPLK -supplicated:SPLK:SPLK -supplicates:SPLK:SPLK -supplicavit:SPLK:SPLK -supportable:SPRT:SPRT -supportably:SPRT:SPRT -supportance:SPRT:SPRT -supportless:SPRT:SPRT -supposition:SPSX:SPSX -suppositive:SPST:SPST -suppository:SPST:SPST -suppressant:SPRS:SPRS -suppressing:SPRS:SPRS -suppression:SPRS:SPRS -suppressive:SPRS:SPRS -suppressors:SPRS:SPRS -suppurating:SPRT:SPRT -suppuration:SPRX:SPRX -suppurative:SPRT:SPRT -suprameatal:SPRM:SPRM -supramental:SPRM:SPRM -suprasellar:SPRS:SPRS -supraspinal:SPRS:SPRS -supremacies:SPRM:SPRM -supremacist:SPRM:SPRM -supremeness:SPRM:SPRM -supremities:SPRM:SPRM -surchargers:SRXR:SRKR -surcharging:SRXR:SRKR -surcingling:SRSN:SRSN -surfaceless:SRFS:SRFS -surfaceness:SRFS:SRFS -surfcasting:SRFK:SRFK -surgeonfish:SRJN:SRKN -surinameers:SRNM:SRNM -surjections:SRJK:SRJK -surmounting:SRMN:SRMN -surpassable:SRPS:SRPS -surprinting:SRPR:SRPR -surprisedly:SRPR:SRPR -surrealists:SRLS:SRLS -surrebuttal:SRPT:SRPT -surrebutted:SRPT:SRPT -surrebutter:SRPT:SRPT -surrendered:SRNT:SRNT -surrenderee:SRNT:SRNT -surrenderer:SRNT:SRNT -surrenderor:SRNT:SRNT -surrogacies:SRKS:SRKX -surrogating:SRKT:SRKT -surrogation:SRKX:SRKX -surrounding:SRNT:SRNT -surtaxation:SRTK:SRTK -surveillant:SRFL:SRFL -survivalism:SRFF:SRFF -survivalist:SRFF:SRFF -susceptance:SSPT:SSPT -susceptible:SSPT:SSPT -susceptibly:SSPT:SSPT -suscitating:SSTT:SSTT -suscitation:SSTX:SSTX -suspectable:SSPK:SSPK -suspectedly:SSPK:SSPK -suspectless:SSPK:SSPK -suspendible:SSPN:SSPN -suspenseful:SSPN:SSPN -suspensible:SSPN:SSPN -suspensions:SSPN:SSPN -suspensoria:SSPN:SSPN -suspicional:SSPS:SSPX -suspiration:SSPR:SSPR -sussuration:SSRX:SSRX -sustainable:SSTN:SSTN -sustainedly:SSTN:SSTN -sustainment:SSTN:SSTN -swallowable:SLPL:XLPL -swallowtail:SLTL:XLTL -swarthiness:SR0N:XRTN -sweepstakes:SPST:XPST -sweetbreads:STPR:XTPR -sweetbriers:STPR:XTPR -sweetbriing:STPR:XTPR -sweetenings:STNN:XTNN -sweethearts:S0RT:XTRT -swellheaded:SLTT:XLTT -swindleable:SNTL:XNTL -swingletree:SNKL:XNKL -swinishness:SNXN:XNXN -switchbacks:SXPK:XXPK -switchblade:SXPL:XXPL -switchboard:SXPR:XXPR -switzerland:STSR:XFXR -swollenness:SLNS:XLNS -swordbearer:SRTP:XRTP -swordfishes:SRTF:XRTF -sycophantic:SKFN:SKFN -syllabaries:SLPR:SLPR -syllabicate:SLPK:SLPK -syllabified:SLPF:SLPF -syllabifier:SLPF:SLPF -syllabifies:SLPF:SLPF -syllabogram:SLPK:SLPK -syllogistic:SLJS:SLKS -symbiotical:SMPT:SMPT -symbolistic:SMPL:SMPL -symbolizing:SMPL:SMPL -symetallism:SMTL:SMTL -symmetrical:SMTR:SMTR -symmetrises:SMTR:SMTR -symmetrized:SMTR:SMTR -symmetrizes:SMTR:SMTR -sympathetic:SMP0:SMPT -sympathized:SMP0:SMPT -sympathizer:SMP0:SMPT -sympathizes:SMP0:SMPT -symphonious:SMFN:SMFN -symposiarch:SMPS:SMPX -symptomatic:SMPT:SMPT -symptomless:SMPT:SMPT -synanthemas:SNN0:SNNT -synanthropy:SNN0:SNNT -synaptology:SNPT:SNPT -synaptosome:SNPT:SNPT -syncephalus:SNSF:SNSF -synchromesh:SNXR:SNKR -synchronies:SNXR:SNKR -synchronism:SNXR:SNKR -synchronize:SNXR:SNKR -synchronous:SNXR:SNKR -synchrotron:SNXR:SNKR -synclinoria:SNKL:SNKL -syncopaters:SNKP:SNKP -syncopating:SNKP:SNKP -syncopation:SNKP:SNKP -syncretises:SNKR:SNKR -syncretists:SNKR:SNKR -syncretized:SNKR:SNKR -syncretizes:SNKR:SNKR -syndactylia:SNTK:SNTK -syndactylic:SNTK:SNTK -syndesmitis:SNTS:SNTS -syndesmoses:SNTS:SNTS -syndesmosis:SNTS:SNTS -syndesmotic:SNTS:SNTS -syndicalism:SNTK:SNTK -syndicating:SNTK:SNTK -syndication:SNTK:SNTK -synecdochic:SNKT:SNKT -synecologic:SNKL:SNKL -synergistic:SNRJ:SNRK -synesthesia:SNS0:SNST -synesthetic:SNS0:SNST -synodically:SNTK:SNTK -synopsizing:SNPS:SNPS -synosteoses:SNST:SNST -synosteosis:SNST:SNST -synostosing:SNST:SNST -synovectomy:SNFK:SNFK -synoviomata:SNFM:SNFM -syntactical:SNTK:SNTK -syntagmatic:SNTK:SNTK -syntalities:SNTL:SNTL -syntectical:SNTK:SNTK -synthesists:SN0S:SNTS -synthesized:SN0S:SNTS -synthesizer:SN0S:SNTS -synthesizes:SN0S:SNTS -synthetical:SN0T:SNTT -synthetists:SN0T:SNTT -syntrophism:SNTR:SNTR -syphilitics:SFLT:SFLT -syphilizing:SFLS:SFLS -syphiloderm:SFLT:SFLT -syphilology:SFLL:SFLL -syphilomata:SFLM:SFLM -syringomata:SRNK:SRNK -syssarcoses:SSRK:SSRK -syssarcosis:SSRK:SSRK -systematics:SSTM:SSTM -systematism:SSTM:SSTM -systematist:SSTM:SSTM -systematize:SSTM:SSTM -systemizing:SSTM:SSTM -tabernacled:TPRN:TPRN -tabernacles:TPRN:TPRN -tablecloths:TPLK:TPLK -tablespoons:TPLS:TPLS -tabopareses:TPPR:TPPR -taboparesis:TPPR:TPPR -tabulations:TPLX:TPLX -tacheometry:TXMT:TKMT -tachography:TKKR:TKKR -tachometric:TKMT:TKMT -tachycardia:TKKR:TKKR -tachygraphy:TKKR:TKKR -tachyphagia:TKFJ:TKFK -tachysterol:TKST:TKST -taciturnity:TSTR:TSTR -tactfulness:TKTF:TKTF -tactilities:TKTL:TKTL -tagliatelle:TKLT:TLTL -talebearers:TLPR:TLPR -talebearing:TLPR:TLPR -talipomanus:TLPM:TLPM -talkability:TLKP:TLKP -talkatively:TLKT:TLKT -tallahassee:TLHS:TLHS -tallowiness:TLNS:TLNS -talmudistic:TLMT:TLMT -tamableness:TMPL:TMPL -tameability:TMPL:TMPL -tangibility:TNJP:TNKP -tanniferous:TNFR:TNFR -tantalizers:TNTL:TNTL -tantalizing:TNTL:TNTL -taphephobia:TFFP:TFFP -tapinocepha:TPNS:TPNS -tarantulaes:TRNT:TRNT -tardoamente:TRTM:TRTM -tarnishable:TRNX:TRNX -tarsophymas:TRSF:TRSF -tarsoplasty:TRSP:TRSP -tarsotomies:TRST:TRST -tartarizing:TRTR:TRTR -taskmasters:TSKM:TSKM -tastelessly:TSTL:TSTL -tattersalls:TTRS:TTRS -tattletales:TTLT:TTLT -taurocholic:TRXL:TRKL -tautologies:TTLJ:TTLK -tautologist:TTLJ:TTLK -tautologize:TTLJ:TTLK -tautologous:TTLK:TTLK -tautomenial:TTMN:TTMN -tautomerism:TTMR:TTMR -taxidermist:TKST:TKST -taxonomical:TKSN:TKSN -taxonomists:TKSN:TKSN -tchaikovsky:XKFS:XKFS -teacherless:TXRL:TKRL -tearfulness:TRFL:TRFL -teargassing:TRKS:TRKS -tearjerkers:TRJR:TRJR -tearstained:TRST:TRST -teaspoonful:TSPN:TSPN -technically:TKNK:TKNK -technicians:TKNS:TKNX -technicolor:TKNK:TKNK -technocracy:TKNK:TKNK -technocrats:TKNK:TKNK -technologic:TKNL:TKNL -tectibranch:TKTP:TKTP -tectospinal:TKTS:TKTS -tediousness:TTSN:TTSN -teenybopper:TNPP:TNPP -teetotalers:TTTL:TTTL -teetotaling:TTTL:TTTL -teetotalism:TTTL:TTTL -teetotaller:TTTL:TTTL -tegumentary:TKMN:TKMN -telangiomas:TLNJ:TLNK -telangioses:TLNJ:TLNK -telangiosis:TLNJ:TLNK -telecasters:TLKS:TLKS -telecasting:TLKS:TLKS -teledendron:TLTN:TLTN -telegnostic:TLNS:TLKN -telegraphed:TLKR:TLKR -telegrapher:TLKR:TLKR -telegraphes:TLKR:TLKR -telegraphic:TLKR:TLKR -telekineses:TLKN:TLKN -telekinesis:TLKN:TLKN -telekinetic:TLKN:TLKN -telekinitic:TLKN:TLKN -telemetered:TLMT:TLMT -telemetries:TLMT:TLMT -teleologies:TLLJ:TLLK -teleologism:TLLJ:TLLK -teleologist:TLLJ:TLLK -telepathies:TLP0:TLPT -telepathist:TLP0:TLPT -telepathize:TLP0:TLPT -telephoners:TLFN:TLFN -telephoning:TLFN:TLFN -telephonist:TLFN:TLFN -teleprinter:TLPR:TLPR -telescoping:TLSK:TLSK -telescopist:TLSK:TLSK -telesthesia:TLS0:TLST -telesthetic:TLS0:TLST -teletherapy:TL0R:TLTR -teletypists:TLTP:TLTP -televiewers:TLFR:TLFR -televisions:TLFS:TLFX -teliospores:TLSP:TLSP -telocentric:TLSN:TLSN -telodendria:TLTN:TLTN -telophragma:TLFR:TLFR -temperament:TMPR:TMPR -temperately:TMPR:TMPR -temperature:TMPR:TMPR -tempestuous:TMPS:TMPS -temporality:TMPR:TMPR -temporaries:TMPR:TMPR -temporarily:TMPR:TMPR -temporizers:TMPR:TMPR -temporizing:TMPR:TMPR -temptations:TMPT:TMPT -temptresses:TMPT:TMPT -tenableness:TNPL:TNPL -tenaciously:TNSS:TNXS -tendentious:TNTN:TNTN -tenderfoots:TNTR:TNTR -tenderheart:TNTR:TNTR -tenderizers:TNTR:TNTR -tenderizing:TNTR:TNTR -tenderloins:TNTR:TNTR -tendoplasty:TNTP:TNTP -tenectomies:TNKT:TNKT -tenementary:TNMN:TNMN -tennesseans:TNSN:TNSN -tennysonian:TNSN:TNSN -tenomyotomy:TNMT:TNMT -tenonectomy:TNNK:TNNK -tenoplastic:TNPL:TNPL -tenorrhaphy:TNRF:TNRF -tenotomists:TNTM:TNTM -tenotomized:TNTM:TNTM -tenotomizes:TNTM:TNTM -tensileness:TNSL:TNSL -tensionless:TNSN:TNXN -tentaculate:TNTK:TNTK -tentatively:TNTT:TNTT -tenterhooks:TNTR:TNTR -tenuousness:TNSN:TNSN -tepefaction:TPFK:TPFK -teratogenic:TRTJ:TRTK -teratologic:TRTL:TRTL -terbutaline:TRPT:TRPT -terminating:TRMN:TRMN -termination:TRMN:TRMN -terminative:TRMN:TRMN -terminators:TRMN:TRMN -terminatory:TRMN:TRMN -terminology:TRMN:TRMN -termitarium:TRMT:TRMT -terpsichore:TRPS:TRPS -terraceless:TRSL:TRSL -terraqueous:TRKS:TRKS -terrestrial:TRST:TRST -terricolous:TRKL:TRKL -terrigenous:TRJN:TRKN -territorial:TRTR:TRTR -territories:TRTR:TRTR -terroristic:TRRS:TRRS -terrorizing:TRRS:TRRS -tertiparaes:TRTP:TRTP -tessellated:TSLT:TSLT -tessellates:TSLT:TSLT -testability:TSTP:TSTP -testamental:TSTM:TSTM -testamentum:TSTM:TSTM -testatrices:TSTT:TSTT -testatrixes:TSTT:TSTT -testiculate:TSTK:TSTK -testimonial:TSTM:TSTM -testimonies:TSTM:TSTM -testimonium:TSTM:TSTM -testudinate:TSTT:TSTT -tetanically:TTNK:TTNK -tetanolysin:TTNL:TTNL -tetartocone:TTRT:TTRT -tetracyclic:TTRS:TTRS -tetradactyl:TTRT:TTRT -tetradymite:TTRT:TTRT -tetragenous:TTRJ:TTRK -tetrahedral:TTRH:TTRH -tetrahedron:TTRH:TTRH -tetrahymena:TTRH:TTRH -tetralogies:TTRL:TTRL -tetramastia:TTRM:TTRM -tetranopsia:TTRN:TTRN -tetraplegia:TTRP:TTRP -tetrapodies:TTRP:TTRP -tetrascelus:TTRS:TTRS -tetraspores:TTRS:TTRS -tetrasporic:TTRS:TTRS -tetravalent:TTRF:TTRF -teutonising:TTNS:TTNS -textbookish:TKST:TKST -textureless:TKST:TKST -thalamocele:0LMS:TLMS -thalamotomy:0LMT:TLMT -thalassemia:0LSM:TLSM -thalassemic:0LSM:TLSM -thalidomide:0LTM:TLTM -thallophyta:0LFT:TLFT -thallophyte:0LFT:TLFT -thallospore:0LSP:TLSP -thanatology:0NTL:TNTL -thanklessly:0NKL:TNKL -thaumatrope:0MTR:TMTR -thaumaturge:0MTR:TMTR -thaumaturgy:0MTR:TMTR -theatricals:0TRK:TTRK -theileriaes:0LRS:TLRS -thelaziasis:0LSS:TLSS -theleplasty:0LPL:TLPL -thenceforth:0NSF:TNSF -theobromine:0PRM:TPRM -theocentric:0SNT:TSNT -theocracies:0KRS:TKRX -theologians:0LJN:TLKN -theological:0LJK:TLKK -theologized:0LJS:TLKS -theologizer:0LJS:TLKS -theologizes:0LJS:TLKS -theomorphic:0MRF:TMRF -theorematic:0RMT:TRMT -theoremhood:0RMT:TRMT -theoretical:0RTK:TRTK -theosophist:0SFS:TSFS -therapeuses:0RPS:TRPS -therapeusis:0RPS:TRPS -therapeutic:0RPT:TRPT -thereabouts:0RPT:TRPT -theretofore:0RTF:TRTF -therewithal:0R0L:TRTL -theriatrics:0RTR:TRTR -theridiidae:0RTT:TRTT -thermionics:0RMN:TRMN -thermistors:0RMS:TRMS -thermocline:0RMK:TRMK -thermoduric:0RMT:TRMT -thermogenic:0RMJ:TRMK -thermograph:0RMK:TRMK -thermolyses:0RML:TRML -thermolysis:0RML:TRML -thermolytic:0RML:TRML -thermometry:0RMM:TRMM -thermomotor:0RMM:TRMM -thermophagy:0RMF:TRMF -thermophile:0RMF:TRMF -thermophore:0RMF:TRMF -thermoscope:0RMS:TRMS -thermostats:0RMS:TRMS -thermotaxes:0RMT:TRMT -thermotaxic:0RMT:TRMT -thermotaxis:0RMT:TRMT -thesauroses:0SRS:TSRS -thesaurosis:0SRS:TSRS -thesauruses:0SRS:TSRS -thickheaded:0KTT:TKTT -thicknesses:0KNS:TKNS -thigmotaxes:0KMT:TKMT -thigmotaxis:0KMT:TKMT -thimblefuls:0MPL:TMPL -thingamabob:0NKM:TNKM -thingamajig:0NKM:TNKM -thiocyanate:0SNT:TSNT -thioguanine:0KNN:TKNN -thiopentone:0PNT:TPNT -thiosulfate:0SLF:TSLF -thirstiness:0RST:TRST -thirteenths:0RTN:TRTN -thirtiethes:0RT0:TRTT -thistledown:0STL:TSTL -thitherward:00RR:TTRR -thixotropic:0KST:TKST -thoracomeli:0RKM:TRKM -thoracopagi:0RKP:TRKP -thoracotomy:0RKT:TRKT -thoroughpin:0RFP:TRFP -thoughtless:0TLS:TTLS -thousandths:0SNT:TSNT -threadiness:0RTN:TRTN -threateners:0RTN:TRTN -threatening:0RTN:TRTN -threpsology:0RPS:TRPS -thriftiness:0RFT:TRFT -thrillingly:0RLN:TRLN -throatiness:0RTN:TRTN -throatlatch:0RTL:TRTL -throbbingly:0RPN:TRPN -thrombocyte:0RMP:TRMP -thrombosing:0RMP:TRMP -throughways:0RS:TRS -thumbscrews:0MPS:TMPS -thumbtacked:0MPT:TMPT -thunderbird:0NTR:TNTR -thunderbolt:0NTR:TNTR -thunderclap:0NTR:TNTR -thunderhead:0NTR:TNTR -thurigerous:0RJR:TRKR -thwartingly:0RTN:TRTN -thwartships:0RTX:TRTX -thymergasia:0MRK:TMRK -thyrogenous:0RJN:TRKN -thyroiditis:0RTT:TRTT -thyroprival:0RPR:TRPR -thyroptoses:0RPT:TRPT -thyroptosis:0RPT:TRPT -thyrotomies:0RTM:TRTM -thyrotropic:0RTR:TRTR -thyrotropin:0RTR:TRTR -tibiofibula:TPFP:TPFP -tibiotarsal:TPTR:TPTR -tibiotarsus:TPTR:TPTR -tiddlywinks:TTLN:TTLN -tiebreakers:TPRK:TPRK -tightenings:TTNN:TTNN -tightfisted:TTFS:TTFS -timberlands:TMPR:TMPR -timberlines:TMPR:TMPR -timberyards:TMPR:TMPR -timekeepers:TMKP:TMKP -timekeeping:TMKP:TMKP -timepleaser:TMPL:TMPL -timeservers:TMSR:TMSR -timeserving:TMSR:TMSR -timesharing:TMXR:TMXR -timetabling:TMTP:TMTP -timocracies:TMKR:TMKR -tinderboxes:TNTR:TNTR -tintinabula:TNTN:TNTN -tintometric:TNTM:TNTM -titanically:TTNK:TTNK -titillating:TTLT:TTLT -titillation:TTLX:TTLX -titillative:TTLT:TTLT -titleholder:TTLH:TTLH -titteringly:TTRN:TTRN -toastmaster:TSTM:TSTM -tobaccoless:TPKL:TPKL -tobacconist:TPKN:TPKN -tobogganers:TPKN:TPKN -tobogganing:TPKN:TPKN -tobogganist:TPKN:TPKN -tolbutamide:TLPT:TLPT -tollboothes:TLP0:TLPT -tomboyishly:TMPX:TMPX -tomographic:TMKR:TMKR -tonetically:TNTK:TNTK -tonofibrils:TNFP:TNFP -tonometries:TNMT:TNMT -tonsillitis:TNSL:TNSL -tonsorially:TNSR:TNSR -toothlessly:T0LS:TTLS -toothpastes:T0PS:TTPS -toothsomely:T0SM:TTSM -topectomies:TPKT:TPKT -topesthesia:TPS0:TPST -toplessness:TPLS:TPLS -topognosias:TPNS:TPKN -topographer:TPKR:TPKR -topographic:TPKR:TPKR -topological:TPLJ:TPLK -torchbearer:TRXP:TRKP -tormentedly:TRMN:TRMN -torpedolike:TRPT:TRPT -torsibility:TRSP:TRSP -torsionally:TRSN:TRXN -torticollar:TRTK:TRTK -torticollis:TRTK:TRTK -torturesome:TRTR:TRTR -torturingly:TRTR:TRTR -torturously:TRTR:TRTR -totalisator:TTLS:TTLS -totalizator:TTLS:TTLS -totipalmate:TTPL:TTPL -totipotency:TTPT:TTPT -totteringly:TTRN:TTRN -touchstones:TKST:TKST -tournaments:TRNM:TRNM -tourniquets:TRNK:TRNK -townspeople:TNSP:TNSP -toxicoderma:TKSK:TKSK -toxicogenic:TKSK:TKSK -toxicologic:TKSK:TKSK -toxicomania:TKSK:TKSK -toxophilite:TKSF:TKSF -toxophorous:TKSF:TKSF -toxoplasmas:TKSP:TKSP -toxoplasmic:TKSP:TKSP -trabeculaes:TRPK:TRPK -trabeculate:TRPK:TRPK -tracelessly:TRSL:TRSL -trachealgia:TRXL:TRKL -trachelitis:TRXL:TRKL -tracheotomy:TRXT:TRKT -tracklaying:TRKL:TRKL -tracklessly:TRKL:TRKL -tractorfeed:TRKT:TRKT -trademarked:TRTM:TRTM -traditional:TRTX:TRTX -traduceible:TRTS:TRTS -traducement:TRTS:TRTS -trafficable:TRFK:TRFK -trafficator:TRFK:TRFK -traffickers:TRFK:TRFK -trafficking:TRFK:TRFK -trafficless:TRFK:TRFK -tragedienne:TRJT:TRKT -tragicomedy:TRJK:TRKK -trailblazer:TRLP:TRLP -trainbearer:TRNP:TRNP -trainmaster:TRNM:TRNM -traitresses:TRTR:TRTR -trampolined:TRMP:TRMP -trampoliner:TRMP:TRMP -trampolines:TRMP:TRMP -tranquility:TRNK:TRNK -tranquilize:TRNK:TRNK -transacting:TRNS:TRNS -transaction:TRNS:TRNS -transactors:TRNS:TRNS -transalpine:TRNS:TRNS -transborder:TRNS:TRNS -transcalent:TRNS:TRNS -transceiver:TRNS:TRNS -transcended:TRNS:TRNS -transcribed:TRNS:TRNS -transcriber:TRNS:TRNS -transcribes:TRNS:TRNS -transcripts:TRNS:TRNS -transdesert:TRNS:TRNS -transducers:TRNS:TRNS -transducing:TRNS:TRNS -transecting:TRNS:TRNS -transection:TRNS:TRNS -transfected:TRNS:TRNS -transferals:TRNS:TRNS -transferase:TRNS:TRNS -transferees:TRNS:TRNS -transferors:TRNS:TRNS -transferral:TRNS:TRNS -transferred:TRNS:TRNS -transferrer:TRNS:TRNS -transferrin:TRNS:TRNS -transferror:TRNS:TRNS -transfigure:TRNS:TRNS -transfinite:TRNS:TRNS -transfixing:TRNS:TRNS -transfixion:TRNS:TRNS -transformed:TRNS:TRNS -transformer:TRNS:TRNS -transfusers:TRNS:TRNS -transfusing:TRNS:TRNS -transfusion:TRNS:TRNS -transfusive:TRNS:TRNS -transhipped:TRNX:TRNX -transhumant:TRNX:TRNX -transiently:TRNS:TRNS -transilient:TRNS:TRNS -transistors:TRNS:TRNS -transitable:TRNS:TRNS -transitions:TRNS:TRNS -translating:TRNS:TRNS -translation:TRNS:TRNS -translative:TRNS:TRNS -translators:TRNS:TRNS -translocate:TRNS:TRNS -translucent:TRNS:TRNS -transmarine:TRNS:TRNS -transmittal:TRNS:TRNS -transmitted:TRNS:TRNS -transmitter:TRNS:TRNS -transmuting:TRNS:TRNS -transparent:TRNS:TRNS -transpierce:TRNS:TRNS -transpiring:TRNS:TRNS -transplants:TRNS:TRNS -transponder:TRNS:TRNS -transportal:TRNS:TRNS -transported:TRNS:TRNS -transportee:TRNS:TRNS -transporter:TRNS:TRNS -transposers:TRNS:TRNS -transposing:TRNS:TRNS -transputers:TRNS:TRNS -transsexual:TRNS:TRNS -transuranic:TRNS:TRNS -transvalued:TRNS:TRNS -transvaluer:TRNS:TRNS -transvalues:TRNS:TRNS -transversal:TRNS:TRNS -transverses:TRNS:TRNS -transversum:TRNS:TRNS -transversus:TRNS:TRNS -transverter:TRNS:TRNS -trapeziform:TRPS:TRPS -trapeziuses:TRPS:TRPS -trapezoidal:TRPS:TRPS -trappistine:TRPS:TRPS -traumatized:TRMT:TRMT -traumatizes:TRMT:TRMT -travelogues:TRFL:TRFL -traversable:TRFR:TRFR -travestying:TRFS:TRFS -travolators:TRFL:TRFL -treacheries:TRXR:TRKR -treacherous:TRXR:TRKR -treacliness:TRKL:TRKL -treasonable:TRSN:TRSN -treasonably:TRSN:TRSN -treasurable:TRSR:TRSR -treehoppers:TRHP:TRHP -trelliswork:TRLS:TRLS -tremblingly:TRMP:TRMP -tremophobia:TRMF:TRMF -tremulously:TRML:TRML -trenchantly:TRNX:TRNK -trencherman:TRNX:TRNK -trenchermen:TRNX:TRNK -trendsetter:TRNT:TRNT -trepanation:TRPN:TRPN -trepidation:TRPT:TRPT -treponemata:TRPN:TRPN -trespassers:TRSP:TRSP -trespassing:TRSP:TRSP -trespassory:TRSP:TRSP -trestletree:TRST:TRST -trestlework:TRST:TRST -triableness:TRPL:TRPL -triablility:TRPL:TRPL -triangulate:TRNK:TRNK -tribalistic:TRPL:TRPL -tribeswoman:TRPS:TRPS -tribeswomen:TRPS:TRPS -tribulation:TRPL:TRPL -tribuneship:TRPN:TRPN -tribunician:TRPN:TRPN -tribunitial:TRPN:TRPN -tributaries:TRPT:TRPT -tributarily:TRPT:TRPT -triceratops:TRSR:TRSR -trichinella:TRXN:TRKN -trichinized:TRXN:TRKN -trichinizes:TRXN:TRKN -trichinoses:TRXN:TRKN -trichinosis:TRXN:TRKN -trichlorfon:TRXL:TRKL -trichloride:TRXL:TRKL -trichoderma:TRXT:TRKT -trichogenic:TRXJ:TRKK -trichomatic:TRXM:TRKM -trichomonad:TRXM:TRKM -trichomonal:TRXM:TRKM -trichomonas:TRXM:TRKM -trichopathy:TRXP:TRKP -trichophyta:TRXF:TRKF -tricklingly:TRKL:TRKL -tricyclists:TRSK:TRSK -triennially:TRNL:TRNL -trifolioses:TRFL:TRFL -trifoliosis:TRFL:TRFL -trifurcated:TRFR:TRFR -trigeminies:TRJM:TRKM -triggerfish:TRKR:TRKR -triggerless:TRKR:TRKR -trihydrated:TRHT:TRHT -trilaminate:TRLM:TRLM -trillionths:TRLN:TRLN -triloculate:TRLK:TRLK -trimetrical:TRMT:TRMT -trimetrogon:TRMT:TRMT -trimorphism:TRMR:TRMR -trimorphous:TRMR:TRMR -trinitarian:TRNT:TRNT -trinomially:TRNM:TRNM -trinucleate:TRNK:TRNK -tripalmitin:TRPL:TRPL -triphibious:TRFP:TRFP -triplicated:TRPL:TRPL -triplicates:TRPL:TRPL -triquetrous:TRKT:TRKT -triradially:TRRT:TRRT -triradiuses:TRRT:TRRT -trisections:TRSK:TRSK -tristichous:TRST:TRST -tristimulus:TRST:TRST -trisulphide:TRSL:TRSL -trisyllabic:TRSL:TRSL -trisyllable:TRSL:TRSL -triturating:TRTR:TRTR -trituration:TRTR:TRTR -triturators:TRTR:TRTR -triumvirate:TRMF:TRMF -trivalences:TRFL:TRFL -trivalvular:TRFL:TRFL -trivialized:TRFL:TRFL -trivializes:TRFL:TRFL -trivialness:TRFL:TRFL -triweeklies:TRKL:TRKL -trochantine:TRXN:TRKN -trochlearis:TRKL:TRKL -troglodytes:TRKL:TRKL -troglodytic:TRKL:TRKL -trombonists:TRMP:TRMP -tropaeolums:TRPL:TRPL -trophedemas:TRFT:TRFT -trophoblast:TRFP:TRFP -trophopathy:TRFP:TRFP -trophoplasm:TRFP:TRFP -trophoplast:TRFP:TRFP -trophotaxes:TRFT:TRFT -trophotaxis:TRFT:TRFT -trophozoite:TRFS:TRFS -tropicality:TRPK:TRPK -tropicalize:TRPK:TRPK -tropismatic:TRPS:TRPS -tropologies:TRPL:TRPL -tropomyosin:TRPM:TRPM -tropophytic:TRPF:TRPF -troposphere:TRPS:TRPS -troubadours:TRPT:TRPT -troubleshot:TRPL:TRPL -troublesome:TRPL:TRPL -trouserless:TRSR:TRSR -truckmaster:TRKM:TRKM -truculently:TRKL:TRKL -truncations:TRNK:TRNK -trustbuster:TRST:TRST -trusteeship:TRST:TRST -trustifying:TRST:TRST -trustworthy:TRST:TRST -trypanocide:TRPN:TRPN -trypanosoma:TRPN:TRPN -trypanosome:TRPN:TRPN -trypsinogen:TRPS:TRPS -tryptophane:TRPT:TRPT -tubectomies:TPKT:TPKT -tuberculate:TPRK:TPRK -tuberculide:TPRK:TPRK -tuberculoid:TPRK:TPRK -tuberculoma:TPRK:TPRK -tuberculose:TPRK:TPRK -tuberculous:TPRK:TPRK -tuberositas:TPRS:TPRS -tubouterine:TPTR:TPTR -tubovaginal:TPFJ:TPFK -tumbleweeds:TMPL:TMPL -tumefacient:TMFS:TMFX -tumefaction:TMFK:TMFK -tumescently:TMSN:TMSN -tumorigenic:TMRJ:TMRK -tunefulness:TNFL:TNFL -turbidities:TRPT:TRPT -turbination:TRPN:TRPN -turbinotomy:TRPN:TRPN -turbulently:TRPL:TRPL -turgescence:TRJS:TRKS -turgidities:TRJT:TRKT -turnarounds:TRNR:TRNR -turnbuckles:TRNP:TRNP -turtlebacks:TRTL:TRTL -turtledoves:TRTL:TRTL -turtlenecks:TRTL:TRTL -tutankhamen:TTNK:TTNK -tuttifrutti:TTFR:TTFR -twelvemonth:TLFM:TLFM -twentiethes:TNT0:TNTT -twinighters:TNTR:TNTR -twitchingly:TXNK:TXNK -tympanotomy:TMPN:TMPN -typecasting:TPKS:TPKS -typescripts:TPSK:TPSK -typesetters:TPST:TPST -typesetting:TPST:TPST -typewriters:TPRT:TPRT -typewriting:TPRT:TPRT -typewritten:TPRT:TPRT -typhlectomy:TFLK:TFLK -typhlostomy:TFLS:TFLS -typicalness:TPKL:TPKL -typographer:TPKR:TPKR -typographic:TPKR:TPKR -typological:TPLJ:TPLK -typologists:TPLJ:TPLK -typonomical:TPNM:TPNM -typonomists:TPNM:TPNM -tyrannicide:TRNS:TRNS -tyrannizers:TRNS:TRNS -tyrannizing:TRNS:TRNS -tyrannosaur:TRNS:TRNS -tyrannously:TRNS:TRNS -tyrosinemia:TRSN:TRSN -tyrosinosis:TRSN:TRSN -tyrosinuria:TRSN:TRSN -tyrothricin:TR0R:TRTR -ulcerations:ALSR:ALSR -ulcerogenic:ALSR:ALSR -ulotrichous:ALTR:ALTR -ultrafiches:ALTR:ALTR -ultrafilted:ALTR:ALTR -ultrafilter:ALTR:ALTR -ultramarine:ALTR:ALTR -ultramodern:ALTR:ALTR -ultrasonics:ALTR:ALTR -ultraviolet:ALTR:ALTR -umbilicated:AMPL:AMPL -umbilicuses:AMPL:AMPL -unabashedly:ANPX:ANPX -unabsorbent:ANPS:ANPS -unaccentuat:ANXN:ANXN -unacclaimed:ANKL:ANKL -unaccounted:ANKN:ANKN -unaccusable:ANKS:ANKS -unadaptable:ANTP:ANTP -unaddressed:ANTR:ANTR -unadjourned:ANTJ:ANTJ -unadvertise:ANTF:ANTF -unadvisable:ANTF:ANTF -unadvisedly:ANTF:ANTF -unaesthetic:ANS0:ANST -unaffiliate:ANFL:ANFL -unalienable:ANLN:ANLN -unalienably:ANLN:ANLN -unalienated:ANLN:ANLN -unalleviate:ANLF:ANLF -unallocated:ANLK:ANLK -unallowable:ANLP:ANLP -unalterable:ANLT:ANLT -unalterably:ANLT:ANLT -unambiguity:ANMP:ANMP -unambiguous:ANMP:ANMP -unambitious:ANMP:ANMP -unamendable:ANMN:ANMN -unamortized:ANMR:ANMR -unamplified:ANMP:ANMP -unanimities:ANNM:ANNM -unanimously:ANNM:ANNM -unannounced:ANNN:ANNN -unappealing:ANPL:ANPL -unappointed:ANPN:ANPN -unapportion:ANPR:ANPR -unapproving:ANPR:ANPR -unascertain:ANSR:ANSR -unashamedly:ANXM:ANXM -unaspirated:ANSP:ANSP -unassembled:ANSM:ANSM -unassertive:ANSR:ANSR -unassisting:ANSS:ANSS -unattempted:ANTM:ANTM -unattracted:ANTR:ANTR -unauthentic:AN0N:ANTN -unauthorise:AN0R:ANTR -unavailable:ANFL:ANFL -unavoidable:ANFT:ANFT -unavoidably:ANFT:ANFT -unawareness:ANRN:ANRN -unbalancing:ANPL:ANPL -unbefitting:ANPF:ANPF -unbeknownst:ANPK:ANPK -unbelievers:ANPL:ANPL -unbelieving:ANPL:ANPL -unbendingly:ANPN:ANPN -unblemished:ANPL:ANPL -unboundedly:ANPN:ANPN -unbreakable:ANPR:ANPR -unbridledly:ANPR:ANPR -unbrotherly:ANPR:ANPR -unburdening:ANPR:ANPR -unbuttoning:ANPT:ANPT -uncalculate:ANKL:ANKL -uncanniness:ANKN:ANKN -unceasingly:ANSS:ANSS -uncelebrate:ANSL:ANSL -uncertainly:ANSR:ANSR -uncertainty:ANSR:ANSR -uncertified:ANSR:ANSR -unchallenge:ANXL:ANKL -unchartered:ANXR:ANKR -unchastened:ANXS:ANKS -unchastised:ANXS:ANKS -uncherished:ANXR:ANKR -unchristian:ANXR:ANKR -unchurching:ANXR:ANKR -uncivilized:ANSF:ANSF -uncivilness:ANSF:ANSF -unclarified:ANKL:ANKL -unclarities:ANKL:ANKL -uncleanness:ANKL:ANKL -unclearness:ANKL:ANKL -unclenching:ANKL:ANKL -uncluttered:ANKL:ANKL -uncoagulate:ANKK:ANKK -uncollected:ANKL:ANKL -uncomforted:ANKM:ANKM -uncommented:ANKM:ANKM -uncommitted:ANKM:ANKM -uncompelled:ANKM:ANKM -uncompleted:ANKM:ANKM -uncompliant:ANKM:ANKM -uncomplying:ANKM:ANKM -uncompromis:ANKM:ANKM -unconcealed:ANKN:ANKN -unconcerned:ANKN:ANKN -unconcerted:ANKN:ANKN -unconcluded:ANKN:ANKN -uncondemned:ANKN:ANKN -uncondensed:ANKN:ANKN -uncondition:ANKN:ANKN -unconducive:ANKN:ANKN -unconfessed:ANKN:ANKN -unconfident:ANKN:ANKN -unconfirmed:ANKN:ANKN -uncongenial:ANKN:ANKN -unconnected:ANKN:ANKN -unconquered:ANKN:ANKN -unconscious:ANKN:ANKN -unconsecrat:ANKN:ANKN -unconstrain:ANKN:ANKN -unconstrict:ANKN:ANKN -uncontested:ANKN:ANKN -uncontrived:ANKN:ANKN -unconverted:ANKN:ANKN -unconvinced:ANKN:ANKN -uncorrected:ANKR:ANKR -uncorrupted:ANKR:ANKR -uncountable:ANKN:ANKN -uncountably:ANKN:ANKN -uncourteous:ANKR:ANKR -uncouthness:ANK0:ANKT -uncultivate:ANKL:ANKL -uncurtained:ANKR:ANKR -uncustomary:ANKS:ANKS -undauntedly:ANTN:ANTN -undebatable:ANTP:ANTP -undebatably:ANTP:ANTP -undeceiving:ANTS:ANTS -undecidable:ANTS:ANTS -undecidedly:ANTS:ANTS -undecorated:ANTK:ANTK -undecylenic:ANTS:ANTS -undefinable:ANTF:ANTF -undelivered:ANTL:ANTL -undemanding:ANTM:ANTM -underacting:ANTR:ANTR -underassess:ANTR:ANTR -underbidder:ANTR:ANTR -underbodies:ANTR:ANTR -underbought:ANTR:ANTR -underbuying:ANTR:ANTR -undercharge:ANTR:ANTR -underclerks:ANTR:ANTR -undercoated:ANTR:ANTR -undercooked:ANTR:ANTR -underdrains:ANTR:ANTR -undereating:ANTR:ANTR -underemploy:ANTR:ANTR -underexpose:ANTR:ANTR -underflowed:ANTR:ANTR -underfunded:ANTR:ANTR -undergirded:ANTR:ANTR -underground:ANTR:ANTR -undergrowth:ANTR:ANTR -underhanded:ANTR:ANTR -underhoused:ANTR:ANTR -underinsure:ANTR:ANTR -underlayers:ANTR:ANTR -underlaying:ANTR:ANTR -underleased:ANTR:ANTR -underlessee:ANTR:ANTR -underlining:ANTR:ANTR -underlooker:ANTR:ANTR -undermanned:ANTR:ANTR -undermining:ANTR:ANTR -underpasses:ANTR:ANTR -underpaying:ANTR:ANTR -underpeople:ANTR:ANTR -underpinned:ANTR:ANTR -underplayed:ANTR:ANTR -underpraise:ANTR:ANTR -underpriced:ANTR:ANTR -underprices:ANTR:ANTR -underquoted:ANTR:ANTR -underquotes:ANTR:ANTR -underrating:ANTR:ANTR -underreport:ANTR:ANTR -underscored:ANTR:ANTR -underscores:ANTR:ANTR -undersealed:ANTR:ANTR -undershirts:ANTR:ANTR -undershoots:ANTR:ANTR -undershorts:ANTR:ANTR -undersigned:ANTR:ANTR -undersigner:ANTR:ANTR -undersizing:ANTR:ANTR -underskirts:ANTR:ANTR -underspends:ANTR:ANTR -understands:ANTR:ANTR -understated:ANTR:ANTR -understates:ANTR:ANTR -understorey:ANTR:ANTR -undersupply:ANTR:ANTR -undertakers:ANTR:ANTR -undertaking:ANTR:ANTR -undertenant:ANTR:ANTR -underthings:ANTR:ANTR -underthrust:ANTR:ANTR -undertrumps:ANTR:ANTR -undervalued:ANTR:ANTR -undervalues:ANTR:ANTR -underwaists:ANTR:ANTR -underweight:ANTR:ANTR -underwhelms:ANTR:ANTR -underwriter:ANTR:ANTR -underwrites:ANTR:ANTR -undescended:ANTS:ANTS -undeserving:ANTS:ANTS -undesigning:ANTS:ANTS -undesirable:ANTS:ANTS -undesirably:ANTS:ANTS -undestroyed:ANTS:ANTS -undetermine:ANTT:ANTT -undeveloped:ANTF:ANTF -undeviating:ANTF:ANTF -undiagnosed:ANTN:ANTK -undignified:ANTN:ANTK -undisbursed:ANTS:ANTS -undiscerned:ANTS:ANTS -undischarge:ANTX:ANTX -undisclosed:ANTS:ANTS -undiscussed:ANTS:ANTS -undisguised:ANTS:ANTS -undispelled:ANTS:ANTS -undisplayed:ANTS:ANTS -undisproved:ANTS:ANTS -undissolved:ANTS:ANTS -undistilled:ANTS:ANTS -undistorted:ANTS:ANTS -undisturbed:ANTS:ANTS -undoubtable:ANTP:ANTP -undoubtedly:ANTP:ANTP -undrinkable:ANTR:ANTR -undubitable:ANTP:ANTP -undulations:ANTL:ANTL -undutifully:ANTT:ANTT -unembarrass:ANMP:ANMP -unembellish:ANMP:ANMP -unemendable:ANMN:ANMN -unemotional:ANMX:ANMX -unendurable:ANNT:ANNT -unendurably:ANNT:ANNT -unenjoyable:ANNJ:ANNJ -unenlighten:ANNL:ANNL -unentangled:ANNT:ANNT -unenterpris:ANNT:ANNT -unentertain:ANNT:ANNT -unenviously:ANNF:ANNF -unequitable:ANKT:ANKT -unequivocal:ANKF:ANKF -unescapable:ANSK:ANSK -unescapably:ANSK:ANSK -unessential:ANSN:ANSN -unestablish:ANST:ANST -unestimated:ANST:ANST -unestranged:ANST:ANST -unethically:AN0K:ANTK -unevaluated:ANFL:ANFL -unexcavated:ANKS:ANKS -unexcitable:ANKS:ANKS -unexcusable:ANKS:ANKS -unexcusably:ANKS:ANKS -unexercised:ANKS:ANKS -unexplained:ANKS:ANKS -unexploited:ANKS:ANKS -unexpressed:ANKS:ANKS -unexpurgate:ANKS:ANKS -unextenuate:ANKS:ANKS -unfailingly:ANFL:ANFL -unfaltering:ANFL:ANFL -unfastening:ANFS:ANFS -unfavorable:ANFF:ANFF -unfavorably:ANFF:ANFF -unfederated:ANFT:ANFT -unfeelingly:ANFL:ANFL -unfermented:ANFR:ANFR -unfertilise:ANFR:ANFR -unfettering:ANFT:ANFT -unfittingly:ANFT:ANFT -unflappable:ANFL:ANFL -unflappably:ANFL:ANFL -unflinching:ANFL:ANFL -unforbidden:ANFR:ANFR -unforceable:ANFR:ANFR -unforgeable:ANFR:ANFR -unforgiving:ANFR:ANFR -unforgotten:ANFR:ANFR -unformatted:ANFR:ANFR -unformulate:ANFR:ANFR -unfortified:ANFR:ANFR -unfortunate:ANFR:ANFR -unfoundedly:ANFN:ANFN -unfulfilled:ANFL:ANFL -unfurnished:ANFR:ANFR -ungainliest:ANKN:ANKN -ungallantly:ANKL:ANKL -ungarnished:ANKR:ANKR -ungentleman:ANJN:ANKN -ungodliness:ANKT:ANKT -unguaranted:ANKR:ANKR -unguardedly:ANKR:ANKR -unguiculata:ANKK:ANKK -unguiculate:ANKK:ANKK -unguligrade:ANKL:ANKL -unhabitable:ANPT:ANPT -unhackneyed:ANKN:ANKN -unhappiness:ANPN:ANPN -unharnessed:ANRN:ANRN -unharnesses:ANRN:ANRN -unharvested:ANRF:ANRF -unhazardous:ANSR:ANSR -unhealthful:ANL0:ANLT -unhealthier:ANL0:ANLT -unhealthily:ANL0:ANLT -unheedfully:ANTF:ANTF -unhelpfully:ANLP:ANLP -unhurriedly:ANRT:ANRT -unhyphenate:ANFN:ANFN -unicellular:ANSL:ANSL -unicyclists:ANSK:ANSK -unidiomatic:ANTM:ANTM -unification:ANFK:ANFK -uniformness:ANFR:ANFR -unigravidae:ANKR:ANKR -unigravidas:ANKR:ANKR -unimpassion:ANMP:ANMP -unimpeached:ANMP:ANMP -unimportant:ANMP:ANMP -unimpressed:ANMP:ANMP -unincubated:ANNK:ANNK -uninflected:ANNF:ANNF -uninfluence:ANNF:ANNF -uninhabited:ANNP:ANNP -uninhibited:ANNP:ANNP -uninitiated:ANNX:ANNX -uninjurious:ANNJ:ANNJ -uninspected:ANNS:ANNS -uninspiring:ANNS:ANNS -uninsurable:ANNS:ANNS -uninterrupt:ANNT:ANNT -uninucleate:ANNK:ANNK -uninventive:ANNF:ANNF -uniparental:ANPR:ANPR -uniparously:ANPR:ANPR -unipersonal:ANPR:ANPR -unipolarity:ANPL:ANPL -unitization:ANTS:ANTS -universally:ANFR:ANFR -universitas:ANFR:ANFR -universorum:ANFR:ANFR -unjudicious:ANJT:ANJT -unjustified:ANJS:ANJS -unkemptness:ANKM:ANKM -unkenneling:ANKN:ANKN -unknowingly:ANKN:ANKN -unknownness:ANKN:ANKN -unlearnedly:ANLR:ANLR -unliberated:ANLP:ANLP -unlimbering:ANLM:ANLM -unlimitedly:ANLM:ANLM -unliquidate:ANLK:ANLK -unloosening:ANLS:ANLS -unlovliness:ANLF:ANLF -unlubricate:ANLP:ANLP -unluckiness:ANLK:ANLK -unmagnified:ANMN:ANMK -unmanliness:ANMN:ANMN -unmasculine:ANMS:ANMS -unmeaningly:ANMN:ANMN -unmechanise:ANMX:ANMK -unmedicated:ANMT:ANMT -unmeditated:ANMT:ANMT -unmedullate:ANMT:ANMT -unmelodious:ANML:ANML -unmemorable:ANMM:ANMM -unmemorized:ANMM:ANMM -unmentioned:ANMN:ANMN -unmindfully:ANMN:ANMN -unmitigated:ANMT:ANMT -unmoderated:ANMT:ANMT -unmodulated:ANMT:ANMT -unmollified:ANML:ANML -unmortgaged:ANMR:ANMR -unmotivated:ANMT:ANMT -unmurmuring:ANMR:ANMR -unmusically:ANMS:ANMS -unmyelinate:ANML:ANML -unmystified:ANMS:ANMS -unnaturally:ANTR:ANTR -unnavigable:ANFK:ANFK -unnavigated:ANFK:ANFK -unnecessary:ANSS:ANSS -unneedfully:ANTF:ANTF -unnervingly:ANRF:ANRF -unnourished:ANRX:ANRX -unobligated:ANPL:ANPL -unobnoxious:ANPN:ANPN -unobservant:ANPS:ANPS -unobserving:ANPS:ANPS -unobtruding:ANPT:ANPT -unobtrusive:ANPT:ANPT -unoccupancy:ANKP:ANKP -unoffending:ANFN:ANFN -unoffensive:ANFN:ANFN -unofficious:ANFS:ANFX -unoppressed:ANPR:ANPR -unopressive:ANPR:ANPR -unorganized:ANRK:ANRK -unorthodoxy:ANR0:ANRT -unpalatable:ANPL:ANPL -unpalatably:ANPL:ANPL -unpatriotic:ANPT:ANPT -unpedigreed:ANPT:ANPT -unpensioned:ANPN:ANPN -unperceived:ANPR:ANPR -unperfected:ANPR:ANPR -unperformed:ANPR:ANPR -unpermitted:ANPR:ANPR -unperplexed:ANPR:ANPR -unpersuaded:ANPR:ANPR -unperturbed:ANPR:ANPR -unpigmented:ANPK:ANPK -unpityingly:ANPT:ANPT -unpolarized:ANPL:ANPL -unpolitical:ANPL:ANPL -unpopularly:ANPP:ANPP -unpopulated:ANPP:ANPP -unpossessed:ANPS:ANPS -unpractical:ANPR:ANPR -unpracticed:ANPR:ANPR -unpractised:ANPR:ANPR -unprecedent:ANPR:ANPR -unpredicted:ANPR:ANPR -unprejudice:ANPR:ANPR -unprescribe:ANPR:ANPR -unpreserved:ANPR:ANPR -unpressured:ANPR:ANPR -unprinciple:ANPR:ANPR -unprintable:ANPR:ANPR -unprintably:ANPR:ANPR -unprocessed:ANPR:ANPR -unprofessed:ANPR:ANPR -unprojected:ANPR:ANPR -unpromising:ANPR:ANPR -unprotected:ANPR:ANPR -unprotested:ANPR:ANPR -unpublicise:ANPP:ANPP -unpublished:ANPP:ANPP -unqualified:ANKL:ANKL -unravelment:ANRF:ANRF -unreachable:ANRX:ANRK -unreadiness:ANRT:ANRT -unrealistic:ANRL:ANRL -unreasoning:ANRS:ANRS -unreceptive:ANRS:ANRS -unreclaimed:ANRK:ANRK -unrecognise:ANRK:ANRK -unrecommend:ANRK:ANRK -unrecovered:ANRK:ANRK -unrectified:ANRK:ANRK -unredressed:ANRT:ANRT -unrefreshed:ANRF:ANRF -unrefutable:ANRF:ANRF -unregulated:ANRK:ANRK -unrehearsed:ANRH:ANRH -unrelenting:ANRL:ANRL -unreligious:ANRL:ANRL -unremarried:ANRM:ANRM -unremitting:ANRM:ANRM -unremovable:ANRM:ANRM -unrepentant:ANRP:ANRP -unrepenting:ANRP:ANRP -unrepresent:ANRP:ANRP -unrepressed:ANRP:ANRP -unreprieved:ANRP:ANRP -unreprimand:ANRP:ANRP -unrequested:ANRK:ANRK -unresentful:ANRS:ANRS -unresistant:ANRS:ANRS -unresisting:ANRS:ANRS -unrestraint:ANRS:ANRS -unretracted:ANRT:ANRT -unrevealing:ANRF:ANRF -unrewarding:ANRR:ANRR -unrighteous:ANRT:ANRT -unsatisfied:ANST:ANST -unsaturated:ANST:ANST -unscheduled:ANSK:ANSK -unscholarly:ANXL:ANXL -unscrambled:ANSK:ANSK -unscrambler:ANSK:ANSK -unscrambles:ANSK:ANSK -unscratched:ANSK:ANSK -unseaworthy:ANSR:ANSR -unsegmented:ANSK:ANSK -unsegregate:ANSK:ANSK -unselective:ANSL:ANSL -unselfishly:ANSL:ANSL -unsensitive:ANSN:ANSN -unsentenced:ANSN:ANSN -unseparated:ANSP:ANSP -unshackling:ANXK:ANXK -unshakeable:ANXK:ANXK -unshakeably:ANXK:ANXK -unsharpened:ANXR:ANXR -unsheathing:ANX0:ANXT -unsheltered:ANXL:ANXL -unshockable:ANXK:ANXK -unsightedly:ANST:ANST -unskilfully:ANSK:ANSK -unsmilingly:ANSM:ANSM -unsolicited:ANSL:ANSL -unsoundness:ANSN:ANSN -unsparingly:ANSP:ANSP -unspeakable:ANSP:ANSP -unspeakably:ANSP:ANSP -unspecified:ANSP:ANSP -unspiritual:ANSP:ANSP -unsteadying:ANST:ANST -unsterilise:ANST:ANST -unstoppable:ANST:ANST -unstoppably:ANST:ANST -unstrapping:ANST:ANST -unstringing:ANST:ANST -unsupported:ANSP:ANSP -unsurpassed:ANSR:ANSR -unsurprised:ANSR:ANSR -unsuspected:ANSS:ANSS -unsustained:ANSS:ANSS -unsweetened:ANST:ANST -untactfully:ANTK:ANTK -untarnished:ANTR:ANTR -unteachable:ANTX:ANTK -unterminate:ANTR:ANTR -unterrified:ANTR:ANTR -unthinkable:AN0N:ANTN -unthinkably:AN0N:ANTN -unthreading:AN0R:ANTR -unthriftily:AN0R:ANTR -untouchable:ANTX:ANTK -untouchably:ANTX:ANTK -untraceable:ANTR:ANTR -untractable:ANTR:ANTR -untrammeled:ANTR:ANTR -untransform:ANTR:ANTR -untranslate:ANTR:ANTR -untraversed:ANTR:ANTR -untypically:ANTP:ANTP -unusualness:ANSL:ANSL -unutterable:ANTR:ANTR -unutterably:ANTR:ANTR -unvaccinate:ANFX:ANFX -unvarnished:ANFR:ANFR -unvaryingly:ANFR:ANFR -unventilate:ANFN:ANFN -unwarranted:ANRN:ANRN -unweariedly:ANRT:ANRT -unwholesome:ANLS:ANLS -unwillingly:ANLN:ANLN -unwitnessed:ANTN:ANTN -unwittingly:ANTN:ANTN -unwrinkling:ANRN:ANRN -unzealously:ANSL:ANSL -upholstered:AFLS:AFLS -upholsterer:AFLS:AFLS -uprightness:APRT:APRT -upsettingly:APST:APST -upstretched:APST:APST -uptightness:APTT:APTT -uranography:ARNK:ARNK -uranoplasty:ARNP:ARNP -uranoplegia:ARNP:ARNP -ureametries:ARMT:ARMT -ureterocele:ARTR:ARTR -ureterolith:ARTR:ARTR -ureterotomy:ARTR:ARTR -urethrocele:AR0R:ARTR -urethrogram:AR0R:ARTR -urethrotome:AR0R:ARTR -urethrotomy:AR0R:ARTR -uricotelism:ARKT:ARKT -uriniferous:ARNF:ARNF -uriniparous:ARNP:ARNP -urocyanogen:ARSN:ARSN -urocyanoses:ARSN:ARSN -urocyanosis:ARSN:ARSN -uroerythrin:ARR0:ARRT -urogastrone:ARKS:ARKS -urographies:ARKR:ARKR -urotoxicity:ARTK:ARTK -urticaceous:ARTK:ARTK -useableness:ASPL:ASPL -uselessness:ASLS:ASLS -usurpations:ASRP:ASRP -uterography:ATRK:ATRK -uteropelvic:ATRP:ATRP -uteropexies:ATRP:ATRP -uteroplasty:ATRP:ATRP -uterosacral:ATRS:ATRS -uterotomies:ATRT:ATRT -utilitarian:ATLT:ATLT -utilization:ATLS:ATLS -utriculitis:ATRK:ATRK -uveoparotid:AFPR:AFPR -uvuloptoses:AFLP:AFLP -uvuloptosis:AFLP:AFLP -uvulotomies:AFLT:AFLT -vacationers:FKXN:FKXN -vacationing:FKXN:FKXN -vacationist:FKXN:FKXN -vaccinating:FXNT:FXNT -vaccination:FXNX:FXNX -vaccinators:FXNT:FXNT -vacciniform:FXNF:FXNF -vacillating:FSLT:FSLT -vacillation:FSLX:FSLX -vacillators:FSLT:FSLT -vacuolating:FKLT:FKLT -vacuolation:FKLX:FKLX -vacuousness:FKSN:FKSN -vagabondage:FKPN:FKPN -vagabondish:FKPN:FKPN -vagabondism:FKPN:FKPN -vaginalitis:FJNL:FKNL -vaginectomy:FJNK:FKNK -vaginodynia:FJNT:FKNT -vaginoscope:FJNS:FKNS -vaginoscopy:FJNS:FKNS -vagotomized:FKTM:FKTM -vagotomizes:FKTM:FKTM -vagrantness:FKRN:FKRN -valediction:FLTK:FLTK -valedictory:FLTK:FLTK -validations:FLTX:FLTX -valinomycin:FLNM:FLNM -valuational:FLXN:FLXN -valuelessly:FLLS:FLLS -valvotomies:FLFT:FLFT -valvulotome:FLFL:FLFL -valvulotomy:FLFL:FLFL -vanadiumism:FNTM:FNTM -vandalistic:FNTL:FNTL -vandalizing:FNTL:FNTL -vanishingly:FNXN:FNXN -vanquishers:FNKX:FNKX -vanquishing:FNKX:FNKX -vantageless:FNTJ:FNTK -vaporescent:FPRS:FPRS -vaporizable:FPRS:FPRS -vapotherapy:FP0R:FPTR -variability:FRPL:FRPL -variational:FRXN:FRXN -varicellate:FRSL:FRSL -varicelloid:FRSL:FRSL -varicolored:FRKL:FRKL -variegating:FRKT:FRKT -variegation:FRKX:FRKX -variolating:FRLT:FRLT -variolation:FRLX:FRLX -variousness:FRSN:FRSN -vascularity:FSKL:FSKL -vascularize:FSKL:FSKL -vasculature:FSKL:FSKL -vasectomies:FSKT:FSKT -vasectomize:FSKT:FSKT -vasifaction:FSFK:FSFK -vasifactive:FSFK:FSFK -vasodilator:FSTL:FSTL -vasofactive:FSFK:FSFK -vasoganglia:FSKN:FSKN -vasopressin:FSPR:FSPR -vasopressor:FSPR:FSPR -vasosection:FSSK:FSSK -vasospastic:FSSP:FSSP -vaticanists:FTKN:FTKN -vaticinated:FTSN:FTSN -vaticinator:FTSN:FTSN -vaxstations:FKSS:FKSS -vectorially:FKTR:FKTR -vectorizing:FKTR:FKTR -vegetarians:FKTR:FKTR -vegetatious:FKTT:FKTT -velamentous:FLMN:FLMN -vellicating:FLKT:FLKT -vellication:FLKX:FLKX -velocipedes:FLSP:FLSP -velveteened:FLFT:FLFT -vendibility:FNTP:FNTP -venectomies:FNKT:FNKT -venereology:FNRL:FNRL -venesection:FNSK:FNSK -venezuelans:FNSL:FNSL -venisection:FNSK:FNSK -venographic:FNKR:FNKR -venopressor:FNPR:FNPR -ventilating:FNTL:FNTL -ventilation:FNTL:FNTL -ventilative:FNTL:FNTL -ventilators:FNTL:FNTL -ventilatory:FNTL:FNTL -ventricornu:FNTR:FNTR -ventricular:FNTR:FNTR -ventriculus:FNTR:FNTR -ventriloquy:FNTR:FNTR -ventrimesal:FNTR:FNTR -ventroscopy:FNTR:FNTR -venturesome:FNTR:FNTR -venturously:FNTR:FNTR -veraciously:FRSS:FRXS -verbalizing:FRPL:FRPL -verboseness:FRPS:FRPS -veridically:FRTK:FRTK -verisimilar:FRSM:FRSM -vermeilling:FRML:FRML -vermiculate:FRMK:FRMK -vermiculite:FRMK:FRMK -vermiculose:FRMK:FRMK -vermination:FRMN:FRMN -verminously:FRMN:FRMN -vermivorous:FRMF:FRMF -vernaculars:FRNK:FRNK -vernalizing:FRNL:FRNL -verruciform:FRSF:FRSF -versatilely:FRST:FRST -versatility:FRST:FRST -vertebrally:FRTP:FRTP -vertebrated:FRTP:FRTP -vertebrates:FRTP:FRTP -verticality:FRTK:FRTK -vertiginous:FRTJ:FRTK -vesicularly:FSKL:FSKL -vesiculated:FSKL:FSKL -vesiculates:FSKL:FSKL -vesiculitis:FSKL:FSKL -vestibulate:FSTP:FSTP -vestigially:FSTJ:FSTK -vesuvianite:FSFN:FSFN -vexatiously:FKST:FKST -vexillogist:FKSL:FKSL -viabilities:FPLT:FPLT -vibraphones:FPRF:FPRF -vibratingly:FPRT:FPRT -vibrational:FPRX:FPRX -vicariously:FKRS:FKRS -vicegerency:FSJR:FSKR -vicegerents:FSJR:FSKR -vicennially:FSNL:FSNL -viceregally:FSRK:FSRK -viceregents:FSRJ:FSRK -viceroyalty:FSRL:FSRL -vichyssoise:FXSS:FKSS -viciousness:FSSN:FXSN -vicissitude:FSST:FSST -victimizers:FKTM:FKTM -victimizing:FKTM:FKTM -victuallage:FKTL:FKTL -victuallers:FKTL:FKTL -victualless:FKTL:FKTL -victualling:FKTL:FKTL -videophones:FTFN:FTFN -videotaping:FTTP:FTTP -viewfinders:FFNT:FFNT -vigilantely:FJLN:FKLN -vigilantism:FJLN:FKLN -vignettists:FNTS:FKNT -villanelles:FLNL:FLNL -villosities:FLST:FLST -vinaigrette:FNKR:FNKR -vinblastine:FNPL:FNPL -vincristine:FNKR:FNKR -vindicating:FNTK:FNTK -vindication:FNTK:FNTK -vindicative:FNTK:FNTK -vindicators:FNTK:FNTK -vindicatory:FNTK:FNTK -vinedresser:FNTR:FNTR -vinegarette:FNKR:FNKR -vinegarroon:FNKR:FNKR -viniculture:FNKL:FNKL -vinificator:FNFK:FNFK -violability:FLPL:FLPL -violoncello:FLNS:FLNS -virginities:FRJN:FRKN -viridescent:FRTS:FRTS -virological:FRLJ:FRLK -virologists:FRLJ:FRLK -virulencies:FRLN:FRLN -visceralgia:FSRL:FSRL -viscerating:FSRT:FSRT -visceration:FSRX:FSRX -visceromega:FSRM:FSRM -viscerotome:FSRT:FSRT -viscidities:FSTT:FSTT -viscometric:FSKM:FSKM -viscosities:FSKS:FSKS -viscountess:FSKN:FSKN -viscousness:FSKS:FSKS -visibleness:FSPL:FSPL -visionaries:FSNR:FXNR -visitatione:FSTX:FSTX -visitations:FSTX:FSTX -visualizers:FSLS:FSLS -visualizing:FSLS:FSLS -visuognoses:FSNS:FSKN -visuognosis:FSNS:FSKN -vitaminized:FTMN:FTMN -vitaminizes:FTMN:FTMN -viticulture:FTKL:FTKL -vitrescence:FTRS:FTRS -vitrifiable:FTRF:FTRF -vitriolises:FTRL:FTRL -vitriolized:FTRL:FTRL -vitriolizes:FTRL:FTRL -vituperated:FTPR:FTPR -vituperates:FTPR:FTPR -vituperator:FTPR:FTPR -vivaciously:FFSS:FFXS -vivisecting:FFSK:FFSK -vivisection:FFSK:FFSK -vociferated:FSFR:FSFR -vociferates:FSFR:FSFR -vociferator:FSFR:FSFR -voicelessly:FSLS:FSLS -voiceprints:FSPR:FSPR -volatilized:FLTL:FLTL -volatilizes:FLTL:FLTL -volcanizing:FLKN:FLKN -volcanology:FLKN:FLKN -volitionary:FLXN:FLXN -volkswagens:FLKS:FLKS -volleyballs:FLPL:FLPL -voluntaries:FLNT:FLNT -voluntarily:FLNT:FLNT -voluntarism:FLNT:FLNT -voluntarist:FLNT:FLNT -volunteered:FLNT:FLNT -vomeronasal:FMRN:FMRN -voraciously:FRSS:FRXS -vorticellae:FRTS:FRTS -vorticellas:FRTS:FRTS -vortiginous:FRTJ:FRTK -voucherable:FXRP:FKRP -vouchsafing:FKSF:FKSF -voyeuristic:FRST:FRST -vulcanicity:FLKN:FLKN -vulcanizers:FLKN:FLKN -vulcanizing:FLKN:FLKN -vulcanology:FLKN:FLKN -vulgarities:FLKR:FLKR -vulgarizers:FLKR:FLKR -vulgarizing:FLKR:FLKR -vulneraries:FLNR:FLNR -vulvocrural:FLFK:FLFK -waggishness:AJXN:FKXN -waggonettes:AKNT:FKNT -waggonloads:AKNL:FKNL -wainscoting:ANSK:FNSK -wainscotted:ANSK:FNSK -wainwrights:ANRT:FNRT -wakefulness:AKFL:FKFL -wallflowers:ALFL:FLFL -wallpapered:ALPP:FLPP -wallposters:ALPS:FLPS -wanderingly:ANTR:FNTR -warehousers:ARHS:FRHS -warehousing:ARHS:FRHS -warmhearted:ARMR:FRMR -warrantable:ARNT:FRNT -warrantably:ARNT:FRNT -warrantless:ARNT:FRNT -washability:AXPL:FXPL -washclothes:AXKL:FXKL -washerwoman:AXRM:FXRM -washerwomen:AXRM:FXRM -waspishness:ASPX:FSPX -wastebasket:ASTP:FSTP -watchmakers:AXMK:FXMK -watchmaking:AXMK:FXMK -watchstraps:AXST:FXST -watchtowers:AXTR:FXTR -waterburies:ATRP:FTRP -watercolors:ATRK:FTRK -watercourse:ATRK:FTRK -waterfronts:ATRF:FTRF -waterlogged:ATRL:FTRL -watermarked:ATRM:FTRM -watermelons:ATRM:FTRM -waterproofs:ATRP:FTRP -waterscapes:ATRS:FTRS -waterskiing:ATRS:FTRS -waterspouts:ATRS:FTRS -waterworthy:ATRR:FTRR -wavelengths:AFLN:FFLN -waywardness:ARTN:FRTN -weakhearted:AKRT:FKRT -weakishness:AKXN:FKXN -wealthiness:AL0N:FLTN -wearability:ARPL:FRPL -wearilessly:ARLS:FRLS -wearisomely:ARSM:FRSM -weathercock:A0RK:FTRK -weatherwise:A0RS:FTRS -weatherworn:A0RR:FTRR -weaverbirds:AFRP:FFRP -weighbridge:APRJ:FPRJ -weighmaster:AMST:FMST -weightiness:ATNS:FTNS -weismannian:ASMN:FSMN -welcomeness:ALKM:FLKM -weldability:ALTP:FLTP -wellingtons:ALNK:FLNK -wellsprings:ALSP:FLSP -wensleydale:ANSL:FNSL -wesleyanism:ASLN:FSLN -westernized:ASTR:FSTR -westernizes:ASTR:FSTR -westernmost:ASTR:FSTR -westminster:ASTM:FSTM -wettability:ATPL:FTPL -wharfingers:ARFN:ARFN -wharfmaster:ARFM:ARFM -wharncliffe:ARNK:ARNK -wheedlingly:ATLN:ATLN -wheelbarrow:ALPR:ALPR -wheelchairs:ALXR:ALKR -wheelwright:ALRT:ALRT -whereabouts:ARPT:ARPT -wheresoever:ARSF:ARSF -wherewithal:AR0L:ARTL -whichsoever:AKSF:AKSF -whiffletree:AFLT:AFLT -whimsically:AMSK:AMSK -whirlybirds:ARLP:ARLP -whisperings:ASPR:ASPR -whitecapper:ATKP:ATKP -whitefishes:ATFX:ATFX -whitethroat:AT0R:ATTR -whitewashed:ATXT:ATXT -whitewasher:ATXR:ATXR -whitewashes:ATXS:ATXS -whitishness:ATXN:ATXN -whitsuntide:ATSN:ATSN -wholesalers:ALSL:ALSL -wholesaling:ALSL:ALSL -wholesomely:ALSM:ALSM -whoremonger:ARMN:ARMN -whorishness:ARXN:ARXN -whosesoever:ASSF:ASSF -widdershins:ATRX:FTRX -widemouthed:ATM0:FTMT -widowerhood:ATRT:FTRT -wiedersehen:ATRS:FTRS -wildcatting:ALTK:FLTK -wildebeests:ALTP:FLTP -willfulness:ALFL:FLFL -willingness:ALNK:FLNK -windcheater:ANTX:FNTK -windflowers:ANTF:FNTF -windjammers:ANTJ:FNTJ -windowpanes:ANTP:FNTP -windowsills:ANTS:FNTS -windscreens:ANTS:FNTS -windshields:ANTX:FNTX -windsurfers:ANTS:FNTS -windsurfing:ANTS:FNTS -wineglasses:ANKL:FNKL -wingspreads:ANKS:FNKS -winningness:ANNK:FNNK -winsomeness:ANSM:FNSM -wintercress:ANTR:FNTR -winterfeeds:ANTR:FNTR -wintergreen:ANTR:FNTR -winteriness:ANTR:FNTR -winterizing:ANTR:FNTR -winterkills:ANTR:FNTR -wiredrawing:ARTR:FRTR -wirepullers:ARPL:FRPL -wirepulling:ARPL:FRPL -wiretappers:ARTP:FRTP -wiretapping:ARTP:FRTP -wisecracked:ASKR:FSKR -wisecracker:ASKR:FSKR -wishfulness:AXFL:FXFL -wistfulness:ASTF:FSTF -withdrawals:A0TR:FTTR -withdrawers:A0TR:FTTR -withdrawing:A0TR:FTTR -witheringly:A0RN:FTRN -withholders:A0LT:FTLT -withholding:A0LT:FTLT -withstander:A0ST:FTST -witlessness:ATLS:FTLS -witnessable:ATNS:FTNS -witzelsucht:ATSL:FTSL -wohlfahrtia:ALFR:FLFR -womanliness:AMNL:FMNL -wonderfully:ANTR:FNTR -wonderingly:ANTR:FNTR -wonderlands:ANTR:FNTR -woodcarvers:ATKR:FTKR -woodcarving:ATKR:FTKR -woodchopper:ATXP:FTKP -woodcocking:ATKK:FTKK -woodcutters:ATKT:FTKT -woodcutting:ATKT:FTKT -woodenheads:ATNT:FTNT -woodpeckers:ATPK:FTPK -woodswallow:ATSL:FTSL -woodworking:ATRK:FTRK -woolgrowing:ALKR:FLKR -wordperfect:ARTP:FRTP -workability:ARKP:FRKP -workaholics:ARKH:FRKH -workaholism:ARKH:FRKH -workbenches:ARKP:FRKP -workmanlike:ARKM:FRKM -workmanship:ARKM:FRKM -workstation:ARKS:FRKS -worldbeater:ARLT:FRLT -worldliness:ARLT:FRLT -worrisomely:ARSM:FRSM -worshipable:ARXP:FRXP -worshippers:ARXP:FRXP -worshipping:ARXP:FRXP -worthlessly:AR0L:FRTL -wraparounds:RPRN:RPRN -wrenchingly:RNXN:RNKN -wrinkleless:RNKL:RNKL -wrongheaded:RNKT:RNKT -wyomingites:AMNJ:FMNK -xanthelasma:SN0L:SNTL -xanthophyll:SN0F:SNTF -xanthurenic:SN0R:SNTR -xenobiology:SNPL:SNPL -xenogenesis:SNJN:SNKN -xenoglossia:SNKL:SNKL -xenographic:SNKR:SNKR -xenomorphic:SNMR:SNMR -xenophilous:SNFL:SNFL -xenophobing:SNFP:SNFP -xeranthemum:SRN0:SRNT -xerographer:SRKR:SRKR -xerographic:SRKR:SRKR -xeromorphic:SRMR:SRMR -xerophagias:SRFJ:SRFK -xerophagies:SRFJ:SRFK -xerophilous:SRFL:SRFL -xiphisterna:SFST:SFST -xiphocostal:SFKS:SFKS -xiphoiditis:SFTT:SFTT -xiphosurans:SFSR:SFSR -xylocarpous:SLKR:SLKR -xylographer:SLKR:SLKR -xylographic:SLKR:SLKR -xylophagous:SLFK:SLFK -xylophonist:SLFN:SLFN -yachtswoman:AKTS:AKTS -yachtswomen:AKTS:AKTS -yardmasters:ARTM:ARTM -yellowbelly:ALPL:ALPL -yellowbirds:ALPR:ALPR -yellowheads:ALTS:ALTS -yellowknife:ALKN:ALKN -yellowstone:ALST:ALST -yellowtails:ALTL:ALTL -yestermorns:ASTR:ASTR -yesternight:ASTR:ASTR -yesteryears:ASTR:ASTR -yourselfers:ARSL:ARSL -ytterferous:ATRF:ATRF -yugoslavian:AKSL:AKSL -zanthoxylum:SN0K:SNTK -zealousness:SLSN:SLSN -zestfulness:SSTF:SSTF -zillionthes:SLN0:SLNT -zinciferous:SNSF:SNSF -zincography:SNKK:SNKK -zithernists:S0RN:STRN -zonesthesia:SNS0:SNST -zonulolyses:SNLL:SNLL -zonulolysis:SNLL:SNLL -zoographies:SKRF:SKRF -zoomorphism:SMRF:SMRF -zooparasite:SPRS:SPRS -zoophilists:SFLS:SFLS -zooplankton:SPLN:SPLN -zooplasties:SPLS:SPLS -zootechnics:STKN:STKN -zoroastrian:SRST:SRST -zosteriform:SSTR:SSTR -zwischenzug:SXNS:SSKN -zygodactyly:SKTK:SKTK -zygomaticus:SKMT:SKMT -zygomorphic:SKMR:SKMR -zygomycetes:SKMS:SKMS -zygotically:SKTK:SKTK -zymogenesis:SMJN:SMKN -zymoplastic:SMPL:SMPL -zymoprotein:SMPR:SMPR -zymosthenic:SMS0:SMST -zymotically:SMTK:SMTK -abalienating:APLN:APLN -abalienation:APLN:APLN -abandonments:APNT:APNT -abbreviatees:APRF:APRF -abbreviating:APRF:APRF -abbreviation:APRF:APRF -abbreviators:APRF:APRF -abecedarians:APST:APST -aberrational:APRX:APRX -abiotrophies:APTR:APTR -abirritating:APRT:APRT -abjudicating:APJT:APJT -abjudication:APJT:APJT -abolishments:APLX:APLX -abolitionary:APLX:APLX -abolitionism:APLX:APLX -abolitionist:APLX:APLX -abominations:APMN:APMN -aboriginally:APRJ:APRK -abortionists:APRX:APRX -abortiveness:APRT:APRT -abrasiveness:APRS:APRS -abridgements:APRJ:APRJ -absentminded:APSN:APSN -absoluteness:APSL:APSL -absolutistic:APSL:APSL -absorbencies:APSR:APSR -abstemiously:APST:APST -abstractedly:APST:APST -abstractions:APST:APST -abstractness:APST:APST -abstruseness:APST:APST -academically:AKTM:AKTM -academicians:AKTM:AKTM -acantholyses:AKN0:AKNT -acantholysis:AKN0:AKNT -acatalepsies:AKTL:AKTL -accelerating:AKSL:AKSL -acceleration:AKSL:AKSL -accelerative:AKSL:AKSL -accelerators:AKSL:AKSL -accentuating:AKSN:AKSN -accentuation:AKSN:AKSN -acceptilated:AKSP:AKSP -accessorised:AKSS:AKSS -accessorizes:AKSS:AKSS -accidentally:AKST:AKST -acclamations:AKLM:AKLM -acclimatized:AKLM:AKLM -acclimatizer:AKLM:AKLM -acclimatizes:AKLM:AKLM -accommodated:AKMT:AKMT -accommodates:AKMT:AKMT -accommodator:AKMT:AKMT -accompanists:AKMP:AKMP -accompanying:AKMP:AKMP -accompanyist:AKMP:AKMP -accomplished:AKMP:AKMP -accomplisher:AKMP:AKMP -accomplishes:AKMP:AKMP -accordionist:AKRT:AKRT -accouchement:AKXM:AKKM -accouterment:AKTR:AKTR -accoutrement:AKTR:AKTR -accreditment:AKRT:AKRT -accretionary:AKRX:AKRX -acculturated:AKLT:AKLT -acculturates:AKLT:AKLT -accumulating:AKML:AKML -accumulation:AKML:AKML -accumulative:AKML:AKML -accumulators:AKML:AKML -accurateness:AKRT:AKRT -accursedness:AKRS:AKRS -accusatively:AKST:AKST -accusatorial:AKST:AKST -accusatrices:AKST:AKST -accusatrixes:AKST:AKST -acenesthesia:ASNS:ASNS -acephalocyst:ASFL:ASFL -acetaldehyde:ASTL:ASTL -acetoacetate:ASTS:ASTS -acetonitrile:ASTN:ASTN -acetophenone:ASTF:ASTF -acetosoluble:ASTS:ASTS -acetotoluide:ASTT:ASTT -achievements:AXFM:AKFM -achlamydeous:AKLM:AKLM -achlorhydria:AKLR:AKLR -achrodextrin:AKRT:AKRT -achromatical:AKRM:AKRM -achromatinic:AKRM:AKRM -achromatoses:AKRM:AKRM -achromatosis:AKRM:AKRM -acidimetries:ASTM:ASTM -acknowledged:AKNL:AKNL -acknowledger:AKNL:AKNL -acknowledges:AKNL:AKNL -acmaesthesia:AKMS:AKMS -acoustically:AKST:AKST -acousticians:AKST:AKST -acquaintance:AKNT:AKNT -acquiescence:AKSN:AKSN -acquirements:AKRM:AKRM -acquisitions:AKSX:AKSX -acrocephalia:AKRS:AKRS -acrocephalic:AKRS:AKRS -acrocyanoses:AKRS:AKRS -acrocyanosis:AKRS:AKRS -acrocyanotic:AKRS:AKRS -acromegalias:AKRM:AKRM -acromegalies:AKRM:AKRM -acronarcotic:AKRN:AKRN -acronychally:AKRN:AKRN -acrostealgia:AKRS:AKRS -acrostically:AKRS:AKRS -actinography:AKTN:AKTN -actinologies:AKTN:AKTN -actinomycete:AKTN:AKTN -actinomycoma:AKTN:AKTN -acupunctural:AKPN:AKPN -adamantinoma:ATMN:ATMN -adaptability:ATPT:ATPT -adaptiveness:ATPT:ATPT -additionally:ATXN:ATXN -adenectomies:ATNK:ATNK -adenocystoma:ATNS:ATNS -adenofibroma:ATNF:ATNF -adenomatoses:ATNM:ATNM -adenomatosis:ATNM:ATNM -adenomyomata:ATNM:ATNM -adenopathies:ATNP:ATNP -adenosarcoma:ATNS:ATNS -adequateness:ATKT:ATKT -adhesiveness:ATSF:ATSF -adipogeneses:ATPJ:ATPK -adipogenesis:ATPJ:ATPK -adipogenetic:ATPJ:ATPK -adjectivally:ATJK:ATJK -adjournments:ATJR:ATJR -adjudicating:ATJT:ATJT -adjudication:ATJT:ATJT -adjudicative:ATJT:ATJT -adjudicators:ATJT:ATJT -adjudicatory:ATJT:ATJT -adjudicature:ATJT:ATJT -adjunctively:ATJN:ATJN -adminiculary:ATMN:ATMN -administered:ATMN:ATMN -administrant:ATMN:ATMN -administrate:ATMN:ATMN -admiralships:ATMR:ATMR -admonishment:ATMN:ATMN -adolescently:ATLS:ATLS -adoptability:ATPT:ATPT -adorableness:ATRP:ATRP -adpromission:ATPR:ATPR -adpromissors:ATPR:ATPR -adrenochrome:ATRN:ATRN -adrenotropic:ATRN:ATRN -adscititious:ATST:ATST -adsorptively:ATSR:ATSR -adstipulated:ATST:ATST -adstipulates:ATST:ATST -adstipulator:ATST:ATST -adulterating:ATLT:ATLT -adulteration:ATLT:ATLT -adulterators:ATLT:ATLT -adulteresses:ATLT:ATLT -adulterously:ATLT:ATLT -adumbrations:ATMP:ATMP -advancements:ATFN:ATFN -advantageous:ATFN:ATFN -adventitious:ATFN:ATFN -adventurists:ATFN:ATFN -advisability:ATFS:ATFS -aelurophobia:ALRF:ALRF -aemulationes:AMLX:AMLX -aeroacoustic:ARKS:ARKS -aerobiologic:ARPL:ARPL -aerobioscope:ARPS:ARPS -aerobullosis:ARPL:ARPL -aerodonetics:ARTN:ARTN -aerodynamics:ARTN:ARTN -aeroembolism:ARMP:ARMP -aeromedicine:ARMT:ARMT -aeronautical:ARNT:ARNT -aeroneuroses:ARNR:ARNR -aeroneurosis:ARNR:ARNR -aeroplankton:ARPL:ARPL -aerosolizing:ARSL:ARSL -affectations:AFKT:AFKT -affectedness:AFKT:AFKT -affectionate:AFKX:AFKX -affiliations:AFLX:AFLX -affirmations:AFRM:AFRM -affirmatives:AFRM:AFRM -afflictively:AFLK:AFLK -aforemention:AFRM:AFRM -aforethought:AFR0:AFRT -afterbirthes:AFTR:AFTR -afterburners:AFTR:AFTR -aftereffects:AFTR:AFTR -afterthought:AFTR:AFTR -agamogeneses:AKMJ:AKMK -agamogenesis:AKMJ:AKMK -agamogenetic:AKMJ:AKMK -agaricaceous:AKRK:AKRK -agglomerated:AKLM:AKLM -agglomerates:AKLM:AKLM -agglutinated:AKLT:AKLT -agglutinates:AKLT:AKLT -agglutinogen:AKLT:AKLT -aggradations:AKRT:AKRT -aggrandizers:AKRN:AKRN -aggrandizing:AKRN:AKRN -aggravations:AKRF:AKRF -aggregations:AKRK:AKRK -aggressively:AKRS:AKRS -agnostically:AKNS:ANST -agranulocyte:AKRN:AKRN -agreeability:AKRP:AKRP -agribusiness:AKRP:AKRP -agricultural:AKRK:AKRK -agricultures:AKRK:AKRK -agrochemical:AKRX:AKRK -ailurophilia:ALRF:ALRF -ailurophobia:ALRF:ALRF -airworthiest:ARR0:ARRT -alcaptonuria:ALKP:ALKP -alcoholicity:ALKH:ALKH -alcoholizing:ALKH:ALKH -aldermanries:ALTR:ALTR -aldermanship:ALTR:ALTR -aldobiuronic:ALTP:ALTP -alembication:ALMP:ALMP -alexandrines:ALKS:ALKS -alexandrites:ALKS:ALKS -alexipharmac:ALKS:ALKS -alexipharmic:ALKS:ALKS -alienability:ALNP:ALNP -alienannoyus:ALNN:ALNN -alimentation:ALMN:ALMN -alkalescence:ALKL:ALKL -alkalimetric:ALKL:ALKL -alkalinities:ALKL:ALKL -alkalinizing:ALKL:ALKL -alkalization:ALKL:ALKL -alkaptonuria:ALKP:ALKP -allantoinase:ALNT:ALNT -allegorizing:ALKR:ALKR -allelopathic:ALLP:ALLP -alleviations:ALFX:ALFX -alliterating:ALTR:ALTR -alliteration:ALTR:ALTR -alliterative:ALTR:ALTR -allobarbital:ALPR:ALPR -allocability:ALKP:ALKP -allodialists:ALTL:ALTL -allomorphism:ALMR:ALMR -allopathists:ALP0:ALPT -allosterical:ALST:ALST -allotropical:ALTR:ALTR -allusiveness:ALSF:ALSF -almightiness:ALMT:ALMT -alphabetical:ALFP:ALFP -alphabetized:ALFP:ALFP -alphabetizer:ALFP:ALFP -alphabetizes:ALFP:ALFP -alphamerical:ALFM:ALFM -alphanumeric:ALFN:ALFN -alterability:ALTR:ALTR -alteratively:ALTR:ALTR -altercations:ALTR:ALTR -alternations:ALTR:ALTR -alternatives:ALTR:ALTR -altimetrical:ALTM:ALTM -altruistical:ALTR:ALTR -alveolectomy:ALFL:ALFL -amalgamating:AMLK:AMLK -amalgamation:AMLK:AMLK -amalgamative:AMLK:AMLK -amalgamators:AMLK:AMLK -amateurishly:AMTR:AMTR -amathophobia:AM0F:AMTF -ambassadress:AMPS:AMPS -ambidextrous:AMPT:AMPT -ambivalences:AMPF:AMPF -ambivalently:AMPF:AMPF -ambulatories:AMPL:AMPL -ameliorating:AMLR:AMLR -amelioration:AMLR:AMLR -ameliorative:AMLR:AMLR -ameliorators:AMLR:AMLR -amelogeneses:AMLJ:AMLK -amelogenesis:AMLJ:AMLK -amenableness:AMNP:AMNP -amenorrhoeal:AMNR:AMNR -amenorrhoeic:AMNR:AMNR -americanisms:AMRK:AMRK -americanists:AMRK:AMRK -americanized:AMRK:AMRK -americanizes:AMRK:AMRK -amethopterin:AM0P:AMTP -amicableness:AMKP:AMKP -aminobenzoic:AMNP:AMNP -aminopherase:AMNF:AMNF -amitotically:AMTT:AMTT -amniogeneses:AMNJ:AMNK -amniogenesis:AMNJ:AMNK -amnioscopies:AMNS:AMNS -amoebotaenia:AMPT:AMPT -amontillados:AMNT:AMNT -amortisement:AMRT:AMRT -amortization:AMRT:AMRT -amortizement:AMRT:AMRT -amphetamines:AMFT:AMFT -amphibiously:AMFP:AMFP -amphiblastic:AMFP:AMFP -amphibolical:AMFP:AMFP -amphicentric:AMFS:AMFS -amphidiploid:AMFT:AMFT -amphigenetic:AMFJ:AMFK -amphitheater:AMF0:AMFT -amphophilous:AMFF:AMFF -amphotericin:AMFT:AMFT -ampullaceous:AMPL:AMPL -amylodextrin:AMLT:AMLT -amyotrophies:AMTR:AMTR -anachronisms:ANKR:ANKR -anaerobioses:ANRP:ANRP -anaerobiosis:ANRP:ANRP -anaesthetics:ANS0:ANST -anaesthetist:ANS0:ANST -anaesthetize:ANS0:ANST -anagrammatic:ANKR:ANKR -analogically:ANLJ:ANLK -analphabetic:ANLF:ANLF -analytically:ANLT:ANLT -anamorphoses:ANMR:ANMR -anamorphosis:ANMR:ANMR -anaphrodisia:ANFR:ANFR -anaphylactic:ANFL:ANFL -anaphylactin:ANFL:ANFL -anaplasmoses:ANPL:ANPL -anaplasmosis:ANPL:ANPL -anaprotaspes:ANPR:ANPR -anaprotaspis:ANPR:ANPR -anarchically:ANRX:ANRK -anarthrously:ANR0:ANRT -anastigmatic:ANST:ANST -anastomosing:ANST:ANST -anathematize:AN0M:ANTM -anatomically:ANTM:ANTM -ancestresses:ANSS:ANSS -androcentric:ANTR:ANTR -androgeneses:ANTR:ANTR -androgenesis:ANTR:ANTR -androgyneity:ANTR:ANTR -andromimetic:ANTR:ANTR -androsterone:ANTR:ANTR -anecdotalist:ANKT:ANKT -anemographic:ANMK:ANMK -anemophilous:ANMF:ANMF -anencephalia:ANNS:ANNS -anencephalic:ANNS:ANNS -anencephalus:ANNS:ANNS -anesthetists:ANS0:ANST -anesthetized:ANS0:ANST -anesthetizes:ANS0:ANST -aneuploidies:ANPL:ANPL -aneurilemmic:ANRL:ANRL -aneurismally:ANRS:ANRS -aneurismatic:ANRS:ANRS -aneurysmally:ANRS:ANRS -aneurysmatic:ANRS:ANRS -angelologist:ANJL:ANKL -angiectomies:ANJK:ANKK -angioedemata:ANJT:ANKT -angiofibroma:ANJF:ANKF -angiogeneses:ANJJ:ANKK -angiogenesis:ANJJ:ANKK -angiomatoses:ANJM:ANKM -angiomatosis:ANJM:ANKM -angiopathies:ANJP:ANKP -angiosarcoma:ANJS:ANKS -angioscotoma:ANJS:ANKS -angiospastic:ANJS:ANKS -angiostomies:ANJS:ANKS -anguilliform:ANKL:ANKL -angularities:ANKL:ANKL -animadverted:ANMT:ANMT -anisocytoses:ANSS:ANSS -anisocytosis:ANSS:ANSS -anisogamists:ANSK:ANSK -anisotropous:ANST:ANST -annexational:ANKS:ANKS -annihilating:ANHL:ANHL -annihilation:ANHL:ANHL -annihilators:ANHL:ANHL -annotatively:ANTT:ANTT -announcement:ANNS:ANNS -annunciating:ANNS:ANNX -annunciation:ANNS:ANNX -annunciators:ANNS:ANNX -annunciatory:ANNS:ANNX -anophthalmia:ANF0:ANFT -anophthalmos:ANF0:ANFT -anophthalmus:ANF0:ANFT -anorexigenic:ANRK:ANRK -antagonistic:ANTK:ANTK -antagonizing:ANTK:ANTK -antebrachial:ANTP:ANTP -antebrachium:ANTP:ANTP -antecedences:ANTS:ANTS -antecedental:ANTS:ANTS -antecedently:ANTS:ANTS -antechambers:ANTX:ANTK -antediluvian:ANTT:ANTT -antemeridian:ANTM:ANTM -anteposition:ANTP:ANTP -anthelmintic:AN0L:ANTL -anthological:AN0L:ANTL -anthologists:AN0L:ANTL -anthologized:AN0L:ANTL -anthologizes:AN0L:ANTL -anthoxanthin:AN0K:ANTK -anthragallol:AN0R:ANTR -anthranilate:AN0R:ANTR -anthropogeny:AN0R:ANTR -anthropogony:AN0R:ANTR -anthropoidal:AN0R:ANTR -anthropoidea:AN0R:ANTR -anthropology:AN0R:ANTR -antiabortion:ANXP:ANXP -antiaircraft:ANXR:ANXR -antiallergic:ANXL:ANXL -antibrachium:ANTP:ANTP -anticatalyst:ANTK:ANTK -anticathodes:ANTK:ANTK -anticipating:ANTS:ANTS -anticipation:ANTS:ANTS -anticipative:ANTS:ANTS -anticipators:ANTS:ANTS -anticipatory:ANTS:ANTS -anticlerical:ANTK:ANTK -anticlimaxes:ANTK:ANTK -anticlinoria:ANTK:ANTK -anticoagulin:ANTK:ANTK -anticyclones:ANTS:ANTS -anticyclonic:ANTS:ANTS -antidiabetic:ANTT:ANTT -antidiuretic:ANTT:ANTT -antielectron:ANTL:ANTL -antifascists:ANTF:ANTF -antifriction:ANTF:ANTF -antigenicity:ANTJ:ANTK -antiglobulin:ANTK:ANTK -antihalation:ANTH:ANTH -antiheroical:ANTH:ANTH -antihumanism:ANTH:ANTH -antihumanist:ANTH:ANTH -antileukemic:ANTL:ANTL -antiliberals:ANTL:ANTL -antimacassar:ANTM:ANTM -antimagnetic:ANTM:ANTM -antimalarial:ANTM:ANTM -antimicrobic:ANTM:ANTM -antimilitary:ANTM:ANTM -antinarcotic:ANTN:ANTN -antineuritic:ANTN:ANTN -antineutrino:ANTN:ANTN -antineutrons:ANTN:ANTN -antinovelist:ANTN:ANTN -antinucleons:ANTN:ANTN -antioxidants:ANTK:ANTK -antipacifist:ANTP:ANTP -antiparallel:ANTP:ANTP -antiparticle:ANTP:ANTP -antipathetic:ANTP:ANTP -antipathogen:ANTP:ANTP -antiperiodic:ANTP:ANTP -antiphonally:ANTF:ANTF -antiphonical:ANTF:ANTF -antiprostate:ANTP:ANTP -antipruritic:ANTP:ANTP -antipyretics:ANTP:ANTP -antiquarians:ANTK:ANTK -antirachitic:ANTR:ANTR -antiradicals:ANTR:ANTR -antirational:ANTR:ANTR -antirrhinums:ANTR:ANTR -antisemitism:ANTS:ANTS -antiseptical:ANTS:ANTS -antisocially:ANTS:ANTS -antisymmetry:ANTS:ANTS -antithetical:ANT0:ANTT -antithrombin:ANT0:ANTT -antitragicus:ANTT:ANTT -antitryptics:ANTT:ANTT -antitussives:ANTT:ANTT -antrostomies:ANTR:ANTR -aoristically:ARST:ARST -aperiodicity:APRT:APRT -aphoristical:AFRS:AFRS -aphrodisiacs:AFRT:AFRT -apicolocator:APKL:APKL -apochromatic:APKR:APKR -apocryphally:APKR:APKR -apocynthions:APSN:APSN -apolitically:APLT:APLT -aponeurotica:APNR:APNR -apoplectical:APPL:APPL -apostatizing:APST:APST -apostleships:APST:APST -apostrophize:APST:APST -apothecaries:AP0K:APTK -apotheosized:AP0S:APTS -apotheosizes:AP0S:APTS -appalachians:APLK:APLK -apparatchiks:APRX:APRX -apparentness:APRN:APRN -appeasements:APSM:APSM -appellations:APLX:APLX -appellatives:APLT:APLT -appendectomy:APNT:APNT -appendicitis:APNT:APNT -appendicular:APNT:APNT -apperceiving:APRS:APRS -apperception:APRS:APRS -apperceptive:APRS:APRS -appertaining:APRT:APRT -appetisingly:APTS:APTS -appetizingly:APTS:APTS -applaudingly:APLT:APLT -applications:APLK:APLK -appointively:APNT:APNT -appointments:APNT:APNT -apportioners:APRX:APRX -apportioning:APRX:APRX -appositeness:APST:APST -appositional:APSX:APSX -appositively:APST:APST -appraisement:APRS:APRS -appraisingly:APRS:APRS -appraisively:APRS:APRS -appreciating:APRS:APRX -appreciation:APRS:APRX -appreciative:APRS:APRX -appreciators:APRS:APRX -appreciatory:APRS:APRX -apprehending:APRH:APRH -apprehension:APRH:APRH -apprehensive:APRH:APRH -apprenticing:APRN:APRN -approachable:APRX:APRK -approbations:APRP:APRP -appropriable:APRP:APRP -appropriated:APRP:APRP -appropriates:APRP:APRP -appropriator:APRP:APRP -approximated:APRK:APRK -approximates:APRK:APRK -appurtenance:APRT:APRT -aquaehaustus:AKHS:AKHS -arachnodacty:ARKN:ARKN -arachnoidism:ARKN:ARKN -arachnolysin:ARKN:ARKN -arbitrageurs:ARPT:ARPT -arbitraments:ARPT:ARPT -arbitrations:ARPT:ARPT -arborescence:ARPR:ARPR -arborization:ARPR:ARPR -archaeologic:ARKL:ARXL -archdeaconry:ARXT:ARKT -archdiocesan:ARXT:ARKT -archdioceses:ARXT:ARKT -archegoniate:ARXK:ARKK -archenterons:ARXN:ARKN -archeologist:ARXL:ARKL -archesporial:ARXS:ARKS -archesporium:ARXS:ARKS -archetypical:ARXT:ARKT -archipallium:ARXP:ARKP -archipelagic:ARXP:ARKP -archipelagos:ARXP:ARKP -architecture:ARKT:ARKT -areographers:ARKR:ARKR -argentaffine:ARJN:ARKN -argentineans:ARJN:ARKN -argentophile:ARJN:ARKN -argillaceous:ARJL:ARKL -argyrophilic:ARJR:ARKR -aristocratic:ARST:ARST -aristotelian:ARST:ARST -arithmetical:AR0M:ARTM -arithmetized:AR0M:ARTM -arithmetizes:AR0M:ARTM -armamentaria:ARMM:ARMM -aromatherapy:ARM0:ARMT -aromatically:ARMT:ARMT -arraignments:ARNM:ARKN -arrangements:ARNJ:ARNK -arrhythmical:AR0M:ARTM -arsenicalism:ARSN:ARSN -arseniureted:ARSN:ARSN -arsphenamine:ARSF:ARSF -arterialized:ARTR:ARTR -arterializes:ARTR:ARTR -arteriospasm:ARTR:ARTR -arthrogenous:AR0R:ARTR -arthrography:AR0R:ARTR -arthrologies:AR0R:ARTR -arthroplasty:AR0R:ARTR -arthropodous:AR0R:ARTR -arthrosporic:AR0R:ARTR -arthrotomies:AR0R:ARTR -articulately:ARTK:ARTK -articulating:ARTK:ARTK -articulation:ARTK:ARTK -articulators:ARTK:ARTK -articulatory:ARTK:ARTK -artificially:ARTF:ARTF -artillerists:ARTL:ARTL -artilleryman:ARTL:ARTL -artillerymen:ARTL:ARTL -artinessness:ARTN:ARTN -artiodactyla:ARTT:ARTT -artistically:ARTS:ARTS -aryanization:ARNS:ARNS -ascaridiases:ASKR:ASKR -ascaridiasis:ASKR:ASKR -ascensionist:ASNS:ASNX -ascertaining:ASRT:ASRT -ascomycetous:ASKM:ASKM -asparaginase:ASPR:ASPR -asphyxiating:ASFK:ASFK -asphyxiation:ASFK:ASFK -asphyxiators:ASFK:ASFK -aspidosperma:ASPT:ASPT -asporogenous:ASPR:ASPR -assassinated:ASSN:ASSN -assassinates:ASSN:ASSN -assassinator:ASSN:ASSN -assentations:ASNT:ASNT -assessorship:ASSR:ASSR -asseverating:ASFR:ASFR -asseveration:ASFR:ASFR -assibilating:ASPL:ASPL -assibilation:ASPL:ASPL -assignations:ASNX:ASKN -assimilating:ASML:ASML -assimilation:ASML:ASML -assimilative:ASML:ASML -assimilatory:ASML:ASML -associations:ASSX:ASXX -assuagements:ASJM:ASKM -assumptively:ASMP:ASMP -asterococcus:ASTR:ASTR -asthenocoria:AS0N:ASTN -astigmometry:ASTK:ASTK -astigmoscope:ASTK:ASTK -astonishment:ASTN:ASTN -astoundingly:ASTN:ASTN -astragaluses:ASTR:ASTR -astringently:ASTR:ASTR -astrobiology:ASTR:ASTR -astrocytomas:ASTR:ASTR -astrodynamic:ASTR:ASTR -astrogeology:ASTR:ASTR -astrological:ASTR:ASTR -astrologists:ASTR:ASTR -astronautics:ASTR:ASTR -astronomical:ASTR:ASTR -astrophysics:ASTR:ASTR -asymmetrical:ASMT:ASMT -asymptomatic:ASMP:ASMP -asymptotical:ASMP:ASMP -asynchronism:ASNX:ASNK -asynchronous:ASNX:ASNK -ataxiaphasia:ATKS:ATKS -athermancies:A0RM:ATRM -atheromatous:A0RM:ATRM -athletically:A0LT:ATLT -athrocytoses:A0RS:ATRS -athrocytosis:A0RS:ATRS -atlantoaxial:ATLN:ATLN -atmospherics:ATMS:ATMS -atrophoderma:ATRF:ATRF -atropinizing:ATRP:ATRP -attenuations:ATNX:ATNX -attestations:ATST:ATST -atticotomies:ATKT:ATKT -attitudinize:ATTT:ATTT -attractively:ATRK:ATRK -attributable:ATRP:ATRP -attributions:ATRP:ATRP -attributives:ATRP:ATRP -audiological:ATLJ:ATLK -audiologists:ATLJ:ATLK -audiometries:ATMT:ATMT -audiometrist:ATMT:ATMT -audiovisuals:ATFS:ATFS -augmentation:AKMN:AKMN -augmentative:AKMN:AKMN -auricularely:ARKL:ARKL -auriculately:ARKL:ARKL -auscultating:ASKL:ASKL -auscultation:ASKL:ASKL -auscultative:ASKL:ASKL -auscultators:ASKL:ASKL -auscultatory:ASKL:ASKL -auspiciously:ASPS:ASPX -australasian:ASTR:ASTR -austronesian:ASTR:ASTR -authenticate:A0NT:ATNT -authenticity:A0NT:ATNT -autoantibody:ATNT:ATNT -autocephalic:ATSF:ATSF -autochthonal:ATK0:ATKT -autochthones:ATK0:ATKT -autochthonic:ATK0:ATKT -autoclavable:ATKL:ATKL -autodidactic:ATTT:ATTT -autogenously:ATJN:ATKN -autographing:ATKR:ATKR -autohypnosis:ATHP:ATHP -autohypnotic:ATHP:ATHP -autoimmunity:ATMN:ATMN -autoimmunize:ATMN:ATMN -automatizing:ATMT:ATMT -automobilist:ATMP:ATMP -automorphism:ATMR:ATMR -autonomously:ATNM:ATNM -autoploidies:ATPL:ATPL -autotomizing:ATTM:ATTM -autoxidation:ATKS:ATKS -auxanography:AKSN:AKSN -auxotrophies:AKST:AKST -availability:AFLP:AFLP -avantgardism:AFNT:AFNT -avantgardist:AFNT:AFNT -avariciously:AFRS:AFRX -avitaminoses:AFTM:AFTM -avitaminosis:AFTM:AFTM -avitaminotic:AFTM:AFTM -avuncularity:AFNK:AFNK -axiomatizing:AKSM:AKSM -ayuntamiento:ANTM:ANTM -azathioprine:AS0P:ASTP -azosulfamide:ASSL:ASSL -bacchanalian:PXNL:PXNL -bacchanalias:PXNL:PXNL -bacciferrous:PXFR:PXFR -bachelorhood:PXLR:PKLR -bachelorship:PXLR:PKLR -backbenchers:PKPN:PKPN -backbreaking:PKPR:PKPR -backfielding:PKFL:PKFL -backpointers:PKPN:PKPN -backscatters:PKSK:PKSK -backslappers:PKSL:PKSL -backslapping:PKSL:PKSL -backstitched:PKST:PKST -backstitches:PKST:PKST -backstopping:PKST:PKST -backstroking:PKST:PKST -backtrackers:PKTR:PKTR -backtracking:PKTR:PKTR -backwardness:PKRT:PKRT -backwoodsman:PKTS:PKTS -backwoodsmen:PKTS:PKTS -bacteriaemia:PKTR:PKTR -bactericidal:PKTR:PKTR -bactericides:PKTR:PKTR -bactericidin:PKTR:PKTR -bacterioidal:PKTR:PKTR -bacteriology:PKTR:PKTR -bacteriostat:PKTR:PKTR -balletomanes:PLTM:PLTM -balletomania:PLTM:PL T -ballistician:PLST:PLST -ballottement:PLTM:PLTM -balneologies:PLNL:PLNL -balneologist:PLNL:PLNL -baltimoreans:PLTM:PLTM -baluchistani:PLXS:PLKS -bandlimiting:PNTL:PNTL -bankruptcies:PNKR:PNKR -bantamweight:PNTM:PNTM -baptisteries:PPTS:PPTS -barbarianism:PRPR:PRPR -barbarically:PRPR:PRPR -barbastelles:PRPS:PRPS -barbiturates:PRPT:PRPT -barebreasted:PRPR:PRPR -bariatrician:PRTR:PRTR -barnstormers:PRNS:PRNS -barnstorming:PRNS:PRNS -barometrical:PRMT:PRMT -baroreceptor:PRRS:PRRS -barotraumata:PRTR:PRTR -barquantines:PRKN:PRKN -barquentines:PRKN:PRKN -barratrously:PRTR:PRTR -barristerial:PRST:PRST -baselessness:PSLS:PSLS -basidiospore:PSTS:PSTS -basisphenoid:PSSF:PSSF -basitemporal:PSTM:PSTM -bastardizing:PSTR:PSTR -bastinadoing:PSTN:PSTN -bathetically:P0TK:PTTK -bathmotropic:P0MT:PTMT -bathypelagic:P0PL:PTPL -bathyscaphes:P0SK:PTSK -bathyspheres:P0SF:PTSF -battlefields:PTLF:PTLF -battlefronts:PTLF:PTLF -battleground:PTLK:PTLK -battlemented:PTLM:PTLM -battlepieces:PTLP:PTLP -bdellovibrio:PTLF:PTLF -beachcombers:PXKM:PKKM -beachcombing:PXKM:PKKM -beatifically:PTFK:PTFK -bedazzlement:PTSL:PTSL -bedfordshire:PTFR:PTFR -befuddlement:PFTL:PFTL -beggarliness:PKRL:PKRL -begrudgingly:PKRJ:PKRJ -beguilements:PKLM:PKLM -behaviorally:PHFR:PHFR -behaviorists:PHFR:PHFR -beleaguering:PLKR:PLKR -believablyly:PLFP:PLFP -belittlement:PLTL:PLTL -belittlingly:PLTL:PLTL -belletristic:PLTR:PLTR -bellfounders:PLFN:PLFN -belligerence:PLJR:PLKR -belligerency:PLJR:PLKR -belligerents:PLJR:PLKR -bellybuttons:PLPT:PLPT -belorussians:PLRS:PLRS -benedictines:PNTK:PNTK -benedictions:PNTK:PNTK -benefactions:PNFK:PNFK -benefactress:PNFK:PNFK -beneficences:PNFS:PNFS -beneficently:PNFS:PNFS -beneficially:PNFS:PNFX -beneficiated:PNFS:PNFX -beneficiates:PNFS:PNFX -benevolently:PNFL:PNFL -benignancies:PNNN:PNKN -benumbedness:PNMP:PNMP -benzaldehyde:PNSL:PNSL -benzalkonium:PNSL:PNTS -benzoquinone:PNSK:PNSK -benzpyrinium:PNSP:PNSP -bequeathment:PK0M:PKTM -bereavements:PRFM:PRFM -berwickshire:PRKX:PRKX -beseechingly:PSXN:PSKN -bespattering:PSPT:PSPT -bespectacled:PSPK:PSPK -besprinkling:PSPR:PSPR -bestialities:PSXL:PSXL -bestializing:PSXL:PSXL -betweenbrain:PTNP:PTNP -betweentimes:PTNT:PTNT -bewilderment:PLTR:PLTR -bewitchingly:PXNK:PXNK -bewitchments:PXMN:PXMN -biauriculate:PRKL:PRKL -bibliography:PPLK:PPLK -bibliomaniac:PPLM:PPLM -bibliophiles:PPLF:PPLF -bibliopolist:PPLP:PPLP -bibliothecae:PPL0:PPLT -bibliothecas:PPL0:PPLT -bibulosities:PPLS:PPLS -bibulousness:PPLS:PPLS -bicameralism:PKMR:PKMR -bicameralist:PKMR:PKMR -bicarbonates:PKRP:PKRP -bicentennial:PSNT:PSNT -biddableness:PTPL:PTPL -biflagellate:PFLJ:PFLK -bifurcations:PFRK:PFRK -bigheartedly:PRTT:PRTT -bilateralism:PLTR:PLTR -bilaterality:PLTR:PLTR -bilharziases:PLRS:PLRS -bilharziasis:PLRS:PLRS -bilharzioses:PLRS:PLRS -bilharziosis:PLRS:PLRS -bilification:PLFK:PLFK -billingsgate:PLNK:PLNK -billionaires:PLNR:PLNR -billstickers:PLST:PLST -billsticking:PLST:PLST -bimetallists:PMTL:PMTL -binucleolate:PNKL:PNKL -bioacoustics:PKST:PKST -bioautograph:PTKR:PTKR -biocatalysts:PKTL:PKTL -biocatalytic:PKTL:PKTL -biochemistry:PXMS:PKMS -biocoenology:PKNL:PKNL -biodegrading:PTKR:PTKR -biodynamical:PTNM:PTNM -bioecologies:PKLJ:PKLK -bioenergetic:PNRK:PNRK -bioengineers:PNJN:PNKN -bioflavonoid:PFLF:PFLF -biogenetical:PJNT:PKNT -biogeography:PJKR:PKKR -biographical:PKRF:PKRF -biohazardous:PHSR:PHSR -biologically:PLJK:PLKK -biomechanics:PMXN:PMKN -biometrician:PMTR:PMTR -bionomically:PNMK:PNMK -biophysicist:PFSS:PFSS -biorhythmics:PR0M:PRTM -biosatellite:PSTL:PSTL -bioscientist:PSNT:PSNT -biosyntheses:PSN0:PSNT -biosynthesis:PSN0:PSNT -biosynthetic:PSN0:PSNT -biotelemetry:PTLM:PTLM -bipropellant:PPRP:PPRP -birefractive:PRFR:PRFR -birefringent:PRFR:PRFR -bittersweets:PTRS:PTRS -bitumenizing:PTMN:PTMN -blabbermouth:PLPR:PLPR -blackballing:PLKP:PLKP -blackberries:PLKP:PLKP -blackguardly:PLKK:PLKK -blackjacking:PLKK:PLKK -blacklisting:PLKL:PLKL -blackmailers:PLKM:PLKM -blackmailing:PLKM:PLKM -blacksmithes:PLKS:PLKS -blacktopping:PLKT:PLKT -bladdernoses:PLTR:PLTR -bladderwrack:PLTR:PLTR -blamableness:PLMP:PLMP -blamefulness:PLMF:PLMF -blandishment:PLNT:PLNT -blastocoeles:PLST:PLST -blastocoelic:PLST:PLST -blastodermic:PLST:PLST -blastomycete:PLST:PLST -blastosphere:PLST:PLST -blastotomies:PLST:PLST -blastulation:PLST:PLST -blatherskite:PL0R:PLTR -blennorrheal:PLNR:PLNR -blennorrhoea:PLNR:PLNR -blepharostat:PLFR:PLFR -blindfolding:PLNT:PLNT -blindstoreys:PLNT:PLNT -blindstories:PLNT:PLNT -blissfulness:PLSF:PLSF -blithesomely:PL0S:PLTS -blitzkrieged:PLTS:PLTS -blockbusters:PLKP:PLKP -blockbusting:PLKP:PLKP -blockishness:PLKX:PLKX -bloodletting:PLTL:PLTL -bloodmobiles:PLTM:PLTM -bloodshedder:PLTX:PLTX -bloodsheding:PLTX:PLTX -bloodstained:PLTS:PLTS -bloodstreams:PLTS:PLTS -bloodsuckers:PLTS:PLTS -bloodsucking:PLTS:PLTS -bloodthirsty:PLTR:PLTR -blueprinting:PLPR:PLPR -bluestocking:PLST:PLST -blunderingly:PLNT:PLNT -blusteringly:PLST:PLST -blusterously:PLST:PLST -boardsailing:PRTS:PRTS -boardsailors:PRTS:PRTS -boastfulness:PSTF:PSTF -bobsleighing:PPSL:PPSL -bodybuilders:PTPL:PTPL -bodybuilding:PTPL:PTPL -bodychecking:PTXK:PTKK -boilermakers:PLRM:PLRM -boilerplates:PLRP:PLRP -boisterously:PSTR:PSTR -bolshevistic:PLXF:PLXF -bombardments:PMPR:PMPR -bondservants:PNTS:PNTS -bonification:PNFK:PNFK -bonnyclabber:PNKL:PNKL -boogiewoogie:PJJ:PKK -boondogglers:PNTK:PNTK -boondoggling:PNTK:PNTK -bootstrapped:PTST:PTST -borborygmies:PRPR:PRPR -boulevardier:PLFR:PLFR -boutonnieres:PTNR:PTNR -bowdlerizing:PTLR:PTLR -brachyfacial:PRKF:PRKF -brachylogies:PRKL:PRKL -brachylogous:PRKL:PRKL -brachyuranic:PRKR:PRKR -brackishness:PRKX:PRKX -bradyglossia:PRTK:PRTK -bradykinesia:PRTK:PRTK -braggadocios:PRKT:PRKT -brainstormed:PRNS:PRNS -brainteasers:PRNT:PRNT -brainwashers:PRNX:PRNX -brainwashing:PRNX:PRNX -branchiomere:PRNX:PRNK -breadbaskets:PRTP:PRTP -breadwinners:PRTN:PRTN -breadwinning:PRTN:PRTN -breakfasters:PRKF:PRKF -breakfasting:PRKF:PRKF -breakthrough:PRK0:PRKT -breastplates:PRST:PRST -breaststroke:PRST:PRST -breathalyzed:PR0L:PRTL -breathalyzer:PR0L:PRTL -breathalyzes:PR0L:PRTL -breathlessly:PR0L:PRTL -breathtaking:PR0T:PRTT -breechblocks:PRKP:PRKP -breechcloths:PRXK:PRKK -breechloader:PRKL:PRKL -bridgeboards:PRJP:PRJP -brilliancies:PRLN:PRLN -brilliantine:PRLN:PRLN -brinkmanship:PRNK:PRNK -broadcasters:PRTK:PRTK -broadcasting:PRTK:PRTK -bromhidroses:PRMT:PRMT -bromhidrosis:PRMT:PRMT -bromoacetone:PRMS:PRMS -bronchitides:PRNX:PRNK -bronchoedema:PRNX:PRNK -bronchogenic:PRNX:PRNK -bronchophony:PRNX:PRNK -bronchorrhea:PRNX:PRNK -bronchoscope:PRNX:PRNK -bronchoscopy:PRNX:PRNK -bronchospasm:PRNX:PRNK -broncobuster:PRNK:PRNK -brontophobia:PRNT:PRNT -brontosaurus:PRNT:PRNT -brotherhoods:PR0R:PRTR -brucellaceae:PRSL:PRSL -brucellergen:PRSL:PRSL -brucellergin:PRSL:PRSL -buccaneering:PKNR:PKNR -bulbocapnine:PLPK:PLPK -bulletproofs:PLTP:PLTP -bullfighters:PLFT:PLFT -bullfighting:PLFT:PLFT -bullheadedly:PLTT:PLTT -bullwhipping:PLPN:PLPN -bureaucratic:PRKR:PRKR -burglarizing:PRKL:PRKL -burglarproof:PRKL:PRKL -burgomasters:PRKM:PRKM -bursectomies:PRSK:PRSK -bushwhackers:PXKR:PXKR -bushwhacking:PXKN:PXKN -businesslike:PSNS:PSNS -butterfinger:PTRF:PTRF -butterfishes:PTRF:PTRF -butterscotch:PTRS:PTRS -buttonholing:PTNL:PTNL -buttonmoulds:PTNM:PTNM -byelorussian:PLRS:PLRS -cabinetmaker:KPNT:KPNT -cachinnating:KXNT:KKNT -cachinnation:KXNX:KKNX -cacographers:KKKR:KKKR -cadaverously:KTFR:KTFR -caenogeneses:KNJN:KNKN -caenogenesis:KNJN:KNKN -caenogenetic:KNJN:KNKN -caespitosely:KSPT:KSPT -cainogeneses:KNJN:KNKN -cainogenesis:KNJN:KNKN -cainogenetic:KNJN:KNKN -calamitously:KLMT:KLMT -calcareously:KLKR:KLKR -calculatedly:KLKL:KLKL -calculations:KLKL:KLKL -calibrations:KLPR:KLPR -californians:KLFR:KLFR -calisthenics:KLS0:KLST -calligrapher:KLKR:KLKR -calligraphic:KLKR:KLKR -calliphorine:KLFR:KLFR -callisthenic:KLS0:KLST -calorescence:KLRS:KLRS -calorimetric:KLRM:KLRM -calumniating:KLMN:KLMN -calumniation:KLMN:KLMN -calumniators:KLMN:KLMN -calumniatory:KLMN:KLMN -calumniously:KLMN:KLMN -cameralistic:KMRL:KMRL -cameroonians:KMRN:KMRN -camiknickers:KMKN:KMKN -camouflagers:KMFL:KMFL -camouflaging:KMFL:KMFL -campanologer:KMPN:KMPN -camphorating:KMFR:KMFR -camptocormia:KMPT:KMPT -canadianisms:KNTN:KNTN -canaliculate:KNLK:KNLK -canalization:KNLS:KNLS -cancelations:KNSL:KNSL -cancerigenic:KNSR:KNSR -cancerocidal:KNSR:KNSR -cancerogenic:KNSR:KNSR -cancerolytic:KNSR:KNSR -cancerphobia:KNSR:KNSR -candelabrums:KNTL:KNTL -candidatures:KNTT:KNTT -candidnesses:KNTT:KNTT -candlefishes:KNTL:KNTL -candleholder:KNTL:KNTL -candlesticks:KNTL:KNTL -cannibalized:KNPL:KNPL -cannibalizes:KNPL:KNPL -cannonballed:KNNP:KNNP -canonicalize:KNNK:KNNK -canonization:KNNS:KNNS -cantankerous:KNTN:KNTN -cantharidate:KN0R:KNTR -cantharidean:KN0R:KNTR -cantharidian:KN0R:KNTR -cantharidism:KN0R:KNTR -cantharidize:KN0R:KNTR -cantilevered:KNTL:KNTL -cantillating:KNTL:KNTL -cantillation:KNTL:KNTL -capabilities:KPPL:KPPL -capacitances:KPST:KPST -capacitating:KPST:KPST -capacitation:KPST:KPST -capacitative:KPST:KPST -capacitively:KPST:KPST -caparisoning:KPRS:KPRS -capercaillie:KPRK:KPRK -capercailzie:KPRK:KPRK -capillaceous:KPLS:KPLS -capitalistic:KPTL:KPTL -capitalizers:KPTL:KPTL -capitalizing:KPTL:KPTL -capitularies:KPTL:KPTL -capitulating:KPTL:KPTL -capitulation:KPTL:KPTL -capitulators:KPTL:KPTL -capitulatory:KPTL:KPTL -caponization:KPNS:KPNS -capriciously:KPRS:KPRX -capricornean:KPRK:KPRK -capricornian:KPRK:KPRK -capsulations:KPSL:KPSL -captainships:KPTN:KPTN -captiousness:KPTS:KPTS -caramelizing:KRML:KRML -caravanserai:KRFN:KRFN -carbobenzoxy:KRPP:KRPP -carbohydrase:KRPH:KRPH -carbohydrate:KRPH:KRPH -carbolxylene:KRPL:KRPL -carbonaceous:KRPN:KRPN -carboxylated:KRPK:KRPK -carburetters:KRPR:KRPR -carburetting:KRPR:KRPR -carburettors:KRPR:KRPR -carcinogenic:KRSN:KRSN -carcinolytic:KRSN:KRSN -cardinalates:KRTN:KRTN -cardinalship:KRTN:KRTN -cardiographs:KRTK:KRTK -cardiography:KRTK:KRTK -cardiologies:KRTL:KRTL -cardiologist:KRTL:KRTL -cardiomegaly:KRTM:KRTM -cardiometric:KRTM:KRTM -cardiophobia:KRTF:KRTF -cardioplasty:KRTP:KRTP -cardioplegia:KRTP:KRTP -cardiotomies:KRTT:KRTT -cardsharpers:KRTX:KRTX -cardsharping:KRTX:KRTX -carefreeness:KRFR:KRFR -carelessness:KRLS:KRLS -caricaturing:KRKT:KRKT -caricaturist:KRKT:KRKT -carillonneur:KRLN:KRLN -carisoprodol:KRSP:KRSP -carlovingian:KRLF:KRLF -carminatives:KRMN:KRMN -carolingians:KRLN:KRLN -carotenaemia:KRTN:KRTN -carpectomies:KRPK:KRPK -carpetbagged:KRPT:KRPT -carpetbagger:KRPT:KRPT -carphologias:KRFL:KRFL -carphologies:KRFL:KRFL -carpological:KRPL:KRPL -carpologists:KRPL:KRPL -carpophagous:KRPF:KRPF -carragheenin:KRKN:KRKN -carriageable:KRJP:KRKP -carriageways:KRJS:KRKS -cartesianism:KRTS:KRTX -cartographer:KRTK:KRTK -cartographic:KRTK:KRTK -cartomancies:KRTM:KRTM -cartophilist:KRTF:KRTF -carunculated:KRNK:KRNK -casehardened:KSHR:KSHR -castellation:KSTL:KSTL -castigations:KSTK:KSTK -catabolizing:KTPL:KTPL -catachrestic:KTKR:KTKR -catadioptric:KTTP:KTTP -cataleptical:KTLP:KTLP -cataloguists:KTLK:KTLK -catalysation:KTLS:KTLS -cataphoreses:KTFR:KTFR -cataphoresis:KTFR:KTFR -cataphoretic:KTFR:KTFR -catarrhinian:KTRN:KTRN -catastrophal:KTST:KTST -catastrophes:KTST:KTST -catastrophic:KTST:KTST -catchpennies:KXPN:KXPN -catechetical:KTXT:KTKT -catechumenal:KTXM:KTKM -categorizers:KTKR:KTKR -categorizing:KTKR:KTKR -caterpillars:KTRP:KTRP -caterwaulers:KTRL:KTRL -caterwauling:KTRL:KTRL -catheterized:K0TR:KTTR -catheterizes:K0TR:KTTR -cathodically:K0TK:KTTK -catholically:K0LK:KTLK -catholicises:K0LS:KTLS -catholicized:K0LS:KTLS -catholicizes:K0LS:KTLS -cationically:KXNK:KXNK -cauliflowers:KLFL:KLFL -cauterisable:KTRS:KTRS -cautiousness:KTSN:KTSN -cavalierness:KFLR:KFLR -cavernostomy:KFRN:KFRN -celebrations:SLPR:SLPR -celioscopies:SLSK:SLSK -cellulifugal:SLLF:SLLF -cellulipetal:SLLP:SLLP -cellulolytic:SLLL:SLLL -cementations:SMNT:SMNT -cementoblast:SMNT:SMNT -censoriously:SNSR:SNSR -centenarians:SNTN:SNTN -centennially:SNTN:SNTN -centerboards:SNTR:SNTR -centeredness:SNTR:SNTR -centerpieces:SNTR:SNTR -centesimally:SNTS:SNTS -centralistic:SNTR:SNTR -centralities:SNTR:SNTR -centralizers:SNTR:SNTR -centralizing:SNTR:SNTR -centreboards:SNTR:SNTR -centrepieces:SNTR:SNTR -centrifuging:SNTR:SNTR -centroclinal:SNTR:SNTR -centrosphere:SNTR:SNTR -centruroides:SNTR:SNTR -centuplicate:SNTP:SNTP -cephalically:SFLK:SFLK -cephalogyric:SFLJ:SFLK -cephalomenia:SFLM:SFLM -cephalometry:SFLM:SFLM -cephalopathy:SFLP:SFLP -cephalopodan:SFLP:SFLP -cephalopodic:SFLP:SFLP -cephalotribe:SFLT:SFLT -cerebrations:SRPR:SRPR -cerebrifugal:SRPR:SRPR -cerebripetal:SRPR:SRPR -cerebrotonia:SRPR:SRPR -ceremonially:SRMN:SRMN -cerographist:SRKR:SRKR -ceroplastics:SRPL:SRPL -certificando:SRTF:SRTF -certificated:SRTF:SRTF -certificates:SRTF:SRTF -cervicectomy:SRFS:SRFS -cervicodynia:SRFK:SRFK -cessionaires:SSNR:SSNR -cessionaries:SSNR:SSNR -chairmanning:XRMN:XRMN -chairmanship:XRMN:XRMN -chairpersons:XRPR:XRPR -chalcedonies:XLST:XLST -chalcography:XLKK:XLKK -chalcolithic:XLKL:XLKL -chalcopyrite:XLKP:XLKP -chamberlains:XMPR:XMPR -chambermaids:XMPR:XMPR -championship:XMPN:XMPN -changelessly:XNJL:XNKL -channelizing:XNLS:XNLS -chanticleers:XNTK:XNTK -chaplaincies:XPLN:XPLN -chaplainries:XPLN:XPLN -chaplainship:XPLN:XPLN -chaplinesque:XPLN:XPLN -chaptalizing:XPTL:XPTL -chapterhouse:XPTR:XPTR -characterful:KRKT:KRKT -characterize:KRKT:KRKT -charbroiling:XRPR:XRPR -charlatanery:XRLT:XRLT -charlatanish:XRLT:XRLT -charlatanism:XRLT:XRLT -chasteningly:XSTN:XSTN -chastisement:XSTS:XSTS -chattelizing:XTLS:XTLS -chatterboxes:XTRP:XTRP -chauffeuring:XFRN:XFRN -chauvinistic:XFNS:XFNS -checkerberry:XKRP:XKRP -checkerboard:XKRP:XKRP -cheerfulness:XRFL:XRFL -cheerleaders:XRLT:XRLT -cheeseboards:XSPR:XSPR -cheeseburger:XSPR:XSPR -cheesecloths:XSKL:XSKL -cheesemonger:XSMN:XSMN -cheeseparing:XSPR:XSPR -cheiloplasty:XLPL:XLPL -cheirologies:XRLJ:XRLK -cheiromegaly:XRMK:XRMK -cheiroplasty:XRPL:XRPL -chemiosmosis:KMSM:KMSM -chemisorbing:KMSR:KMSR -chemodectoma:KMTK:KMTK -chemokineses:KMKN:KMKN -chemokinesis:KMKN:KMKN -chemokinetic:KMKN:KMKN -chemosensory:KMSN:KMSN -chemospheric:KMSF:KMSF -chemosurgery:KMSR:KMSR -chemotherapy:KM0R:KMTR -chemotropism:KMTR:KMTR -cherishingly:XRXN:XRXN -cherrystones:XRST:XRST -cherubically:XRPK:XRPK -chesterfield:XSTR:XSTR -chiaroscuros:KRSK:KRSK -chiffonniers:XFNR:XFNR -childbearing:XLTP:XLTP -childishness:XLTX:XLTX -chimerically:XMRK:XMRK -chirognomies:XRNM:XRKN -chirographer:XRKR:XRKR -chirographic:XRKR:XRKR -chiromancers:XRMN:XRMN -chiropodists:XRPT:XRPT -chiropractic:XRPR:XRPR -chiropractor:XRPR:XRPR -chitterlings:XTRL:XTRL -chivalrously:XFLR:XFLR -chlorambucil:KLRM:KLRM -chloranaemia:KLRN:KLRN -chlorbutanol:KLRP:KLRP -chlorguanide:KLRK:KLRK -chlorinating:KLRN:KLRN -chlorination:KLRN:KLRN -chlorinators:KLRN:KLRN -chloroazodin:KLRS:KLRS -chloroformed:KLRF:KLRF -chloromatous:KLRM:KLRM -chlorophenol:KLRF:KLRF -chloropicrin:KLRP:KLRP -chloroplasts:KLRP:KLRP -chlorothymol:KLR0:KLRT -choanotaenia:XNTN:XNTN -choirmasters:XRMS:XRMS -cholangiomas:XLNJ:XLNK -cholanthrene:XLN0:XLNT -cholepoieses:XLPS:XLPS -cholepoiesis:XLPS:XLPS -cholepoietic:XLPT:XLPT -cholerically:XLRK:XLRK -cholerrhagia:XLRJ:XLRK -cholinolytic:XLNL:XLNL -chondrectomy:XNTR:XNTR -chondrifying:XNTR:XNTR -chondriosome:XNTR:XNTR -chondroblast:XNTR:XNTR -chondroclast:XNTR:XNTR -chondrogenic:XNTR:XNTR -chondropathy:XNTR:XNTR -chondrophyte:XNTR:XNTR -chondroplast:XNTR:XNTR -chondrosepta:XNTR:XNTR -chordophones:KRTF:KRTF -chordotomies:KRTT:KRTT -choreodramas:XRTR:XRTR -choreographs:XRKR:XRKR -choreography:XRKR:XRKR -chorioiditis:KRTT:KRTT -chorographer:KRKR:KRKR -chorographic:KRKR:KRKR -chorologists:KRLJ:KRLK -chorusmaster:KRSM:KRSM -chrematistic:KRMT:KRMT -christchurch:KRSX:KRSX -christianias:KRSX:KRSX -christianity:KRSX:KRSX -christianize:KRSX:KRSX -christianson:KRSX:KRSX -christogical:KRST:KRST -christogists:KRST:KRST -chromaticism:KRMT:KRMT -chromaticity:KRMT:KRMT -chromatogram:KRMT:KRMT -chromatology:KRMT:KRMT -chromatophil:KRMT:KRMT -chromatopsia:KRMT:KRMT -chromidroses:KRMT:KRMT -chromidrosis:KRMT:KRMT -chromography:KRMK:KRMK -chromophilic:KRMF:KRMF -chromophobic:KRMF:KRMF -chromoscopic:KRMS:KRMS -chromosphere:KRMS:KRMS -chronicities:KRNS:KRNS -chronographs:KRNK:KRNK -chronography:KRNK:KRNK -chronologies:KRNL:KRNL -chronologist:KRNL:KRNL -chronometric:KRNM:KRNM -chronoscopes:KRNS:KRNS -chronoscopic:KRNS:KRNS -chronotropic:KRNT:KRNT -churchliness:XRXL:XRKL -churchwarden:XRXR:XRKR -churlishness:XRLX:XRLX -chylangiomas:XLNJ:XLNK -chylifaction:XLFK:XLFK -chylifactive:XLFK:XLFK -chylopoieses:XLPS:XLPS -chylopoiesis:XLPS:XLPS -chylopoietic:XLPT:XLPT -chymotrypsin:KMTR:KMTR -cilioscleral:SLSK:SLSK -cinchonidine:SNXN:SNKN -cinchonizing:SNXN:SNKN -cinchonodine:SNXN:SNKN -cinematheque:SNM0:SNMT -cineplasties:SNPL:SNPL -cingulectomy:SNKL:SNKL -circuitously:SRKT:SRKT -circularized:SRKL:SRKL -circularizer:SRKL:SRKL -circularizes:SRKL:SRKL -circularness:SRKL:SRKL -circulations:SRKL:SRKL -circumcisers:SRKM:SRKM -circumcising:SRKM:SRKM -circumcision:SRKM:SRKM -circumflexes:SRKM:SRKM -circumfluent:SRKM:SRKM -circumfluous:SRKM:SRKM -circumfusing:SRKM:SRKM -circumfusion:SRKM:SRKM -circumjacent:SRKM:SRKM -circumlental:SRKM:SRKM -circumnutate:SRKM:SRKM -circumscribe:SRKM:SRKM -circumstance:SRKM:SRKM -circumvented:SRKM:SRKM -circumventer:SRKM:SRKM -circumventor:SRKM:SRKM -cirrocumulus:SRKM:SRKM -cirrostratus:SRST:SRST -cirsectomies:SRSK:SRSK -citification:STFK:STFK -citizenesses:STSN:STSN -citriculture:STRK:STRK -civilianises:SFLN:SFLN -civilianized:SFLN:SFLN -civilianizes:SFLN:SFLN -civilization:SFLS:SFLS -cladosporium:KLTS:KLTS -clairaudient:KLRT:KLRT -clairvoyance:KLRF:KLRF -clairvoyancy:KLRF:KLRF -clairvoyants:KLRF:KLRF -clamourously:KLMR:KLMR -clangorously:KLNK:KLNK -clannishness:KLNX:KLNX -clarinetists:KLRN:KLRN -clarinettist:KLRN:KLRN -clasmatocyte:KLSM:KLSM -classicalism:KLSK:KLSK -classicalist:KLSK:KLSK -classicality:KLSK:KLSK -classicistic:KLSS:KLSS -classicizing:KLSS:KLSS -classifiable:KLSF:KLSF -clatteringly:KLTR:KLTR -claudication:KLTK:KLTK -clavicembalo:KLFS:KLFS -clearstoried:KLRS:KLRS -clearstories:KLRS:KLRS -cleavability:KLFP:KLFP -cleidocostal:KLTK:KLTK -cleistogamic:KLST:KLST -cleptomaniac:KLPT:KLPT -clerestoried:KLRS:KLRS -clerestories:KLRS:KLRS -clericalists:KLRK:KLRK -cliffhangers:KLFN:KLFN -cliffhanging:KLFN:KLFN -climacterial:KLMK:KLMK -climacterics:KLMK:KLMK -climacterium:KLMK:KLMK -climatically:KLMT:KLMT -climatologic:KLMT:KLMT -clingingness:KLNJ:KLNK -clinicalness:KLNK:KLNK -clinometries:KLNM:KLNM -cliquishness:KLKX:KLKX -clitoriditis:KLTR:KLTR -cloddishness:KLTX:KLTX -closefitting:KLSF:KLSF -closemouthed:KLSM:KLSM -clotheshorse:KL0X:KLTX -clotheslines:KL0S:KLTS -clothespress:KL0S:KLTS -cloverleaves:KLFR:KLFR -clownishness:KLNX:KLNX -clubbability:KLPP:KLPP -clumpishness:KLMP:KLMP -clusteringly:KLST:KLST -coacervating:KSRF:KSRF -coacervation:KSRF:KSRF -coadjutrices:KTJT:KTJT -coadventurer:KTFN:KTFN -coagulations:KKLX:KKLX -coalitioners:KLXN:KLXN -coalitionist:KLXN:KLXN -cobblestones:KPLS:KPLS -coccidioidal:KXTT:KXTT -coccidioides:KXTT:KXTT -coccidioidin:KXTT:KXTT -coccidiostat:KXTS:KXTS -coccobacilli:KKPS:KKPS -coccygectomy:KKJK:KKKK -coccygodynia:KKKT:KKKT -cockfighting:KKFT:KKFT -cockleshells:KKLX:KKLX -cockneyfying:KKNF:KKNF -cocksureness:KKSR:KKSR -cocontractor:KKNT:KKNT -codefendants:KTFN:KTFN -codicologist:KTKL:KTKL -codification:KTFK:KTFK -coefficients:KFSN:KFXN -coelenterata:KLNT:KLNT -coelenterate:KLNT:KLNT -coelenterons:KLNT:KLNT -coenesthesia:KNS0:KNST -coenesthesis:KNS0:KNST -coenesthetic:KNS0:KNST -coenobitical:KNPT:KNPT -coenogeneses:KNJN:KNKN -coenogenesis:KNJN:KNKN -coenogenetic:KNJN:KNKN -coercionists:KRSN:KRXN -coerciveness:KRSF:KRSF -coextensions:KKST:KKST -coffeehouses:KFHS:KFHS -cogitatively:KJTT:KKTT -cohabitation:KHPT:KHPT -cohesionless:KHSN:KHXN -cohesiveness:KHSF:KHSF -coincidences:KNST:KNST -coincidental:KNST:KNST -coleopterous:KLPT:KLPT -colicinogeny:KLSN:KLSN -collaborated:KLPR:KLPR -collaborates:KLPR:KLPR -collaborator:KLPR:KLPR -collagenoses:KLJN:KLKN -collagenosis:KLJN:KLKN -collaterally:KLTR:KLTR -collectibles:KLKT:KLKT -collectively:KLKT:KLKT -collectivism:KLKT:KLKT -collectivist:KLKT:KLKT -collectivity:KLKT:KLKT -collectivize:KLKT:KLKT -collectorate:KLKT:KLKT -collegiality:KLJL:KLKL -collinearity:KLNR:KLNR -colliquation:KLKX:KLKX -colliquative:KLKT:KLKT -collocations:KLKX:KLKX -colloidality:KLTL:KLTL -colloquially:KLKL:KLKL -collywobbles:KLPL:KLPL -colobomatous:KLPM:KLPM -cologarithms:KLKR:KLKR -colonelships:KLNL:KLNL -colonialists:KLNL:KLNL -colonization:KLNS:KLNS -colonoscopes:KLNS:KLNS -colorability:KLRP:KLRP -colorcasting:KLRK:KLRK -colorfulness:KLRF:KLRF -colorimetric:KLRM:KLRM -colorwashing:KLRX:KLRX -colourations:KLRX:KLRX -colouraturas:KLRT:KLRT -colourimetry:KLRM:KLRM -colpectomies:KLPK:KLPK -colpocleises:KLPK:KLPK -colpocleisis:KLPK:KLPK -colporrhaphy:KLPR:KLPR -colposcopies:KLPS:KLPS -columniation:KLMN:KLMN -combinations:KMPN:KMPN -combinatoric:KMPN:KMPN -combustibles:KMPS:KMPS -combustively:KMPS:KMPS -comeuppances:KMPN:KMPN -comfortingly:KMFR:KMFR -commandeered:KMNT:KMNT -commandingly:KMNT:KMNT -commandments:KMNT:KMNT -commeasuring:KMSR:KMSR -commemorated:KMMR:KMMR -commemorates:KMMR:KMMR -commemorator:KMMR:KMMR -commencement:KMNS:KMNS -commendation:KMNT:KMNT -commendatory:KMNT:KMNT -commensalism:KMNS:KMNS -commensality:KMNS:KMNS -commensurate:KMNS:KMNS -commentarial:KMNT:KMNT -commentaries:KMNT:KMNT -commentating:KMNT:KMNT -commentation:KMNT:KMNT -commentators:KMNT:KMNT -commercially:KMRS:KMRX -comminations:KMNX:KMNX -commiserable:KMSR:KMSR -commiserated:KMSR:KMSR -commiserates:KMSR:KMSR -commiserator:KMSR:KMSR -commissarial:KMSR:KMSR -commissariat:KMSR:KMSR -commissaries:KMSR:KMSR -commissional:KMSN:KMSN -commissioned:KMSN:KMSN -commissioner:KMSN:KMSN -committeeman:KMTM:KMTM -committeemen:KMTM:KMTM -commixtiones:KMKS:KMKS -commodiously:KMTS:KMTS -commonalties:KMNL:KMNL -commonplaces:KMNP:KMNP -commonwealth:KMNL:KMNL -commorancies:KMRN:KMRN -commorientes:KMRN:KMRN -communalists:KMNL:KMNL -communalized:KMNL:KMNL -communalizes:KMNL:KMNL -communicable:KMNK:KMNK -communicably:KMNK:KMNK -communicants:KMNK:KMNK -communicated:KMNK:KMNK -communicates:KMNK:KMNK -communicator:KMNK:KMNK -commutations:KMTX:KMTX -companionate:KMPN:KMPN -companionway:KMPN:KMPN -comparascope:KMPR:KMPR -comparatione:KMPR:KMPR -comparatives:KMPR:KMPR -comparoscope:KMPR:KMPR -compartments:KMPR:KMPR -compatriotic:KMPT:KMPT -compellingly:KMPL:KMPL -compensating:KMPN:KMPN -compensation:KMPN:KMPN -compensative:KMPN:KMPN -compensators:KMPN:KMPN -compensatory:KMPN:KMPN -competencies:KMPT:KMPT -competitions:KMPT:KMPT -compilations:KMPL:KMPL -complacences:KMPL:KMPL -complacently:KMPL:KMPL -complainants:KMPL:KMPL -complaisance:KMPL:KMPL -complemental:KMPL:KMPL -complemented:KMPL:KMPL -complementer:KMPL:KMPL -completeness:KMPL:KMPL -complexional:KMPL:KMPL -complexioned:KMPL:KMPL -complexities:KMPL:KMPL -compliancies:KMPL:KMPL -complicating:KMPL:KMPL -complication:KMPL:KMPL -complicators:KMPL:KMPL -complicities:KMPL:KMPL -complimented:KMPL:KMPL -complimenter:KMPL:KMPL -componential:KMPN:KMPN -composedness:KMPS:KMPS -compositions:KMPS:KMPS -compoundable:KMPN:KMPN -comprehended:KMPR:KMPR -comprehender:KMPR:KMPR -compressedly:KMPR:KMPR -compressible:KMPR:KMPR -compressibly:KMPR:KMPR -compressions:KMPR:KMPR -compressures:KMPR:KMPR -compromisers:KMPR:KMPR -compromising:KMPR:KMPR -compromitted:KMPR:KMPR -comptrollers:KMPT:KMPT -compulsively:KMPL:KMPL -compulsorily:KMPL:KMPL -compunctions:KMPN:KMPN -compunctious:KMPN:KMPN -compurgation:KMPR:KMPR -compurgators:KMPR:KMPR -compurgatory:KMPR:KMPR -computations:KMPT:KMPT -computerized:KMPT:KMPT -computerizes:KMPT:KMPT -computerland:KMPT:KMPT -concanavalin:KNKN:KNKN -concatenated:KNKT:KNKT -concatenates:KNKT:KNKT -concealments:KNSL:KNSL -concelebrate:KNSL:KNSL -concentrated:KNSN:KNSN -concentrates:KNSN:KNSN -concentrator:KNSN:KNSN -conceptacles:KNSP:KNSP -conceptional:KNSP:KNSP -conceptively:KNSP:KNSP -conceptually:KNSP:KNSP -concertgoers:KNSR:KNSR -concertizing:KNSR:KNSR -concessioner:KNSS:KNSS -concessiones:KNSS:KNSS -conchiferous:KNXF:KNKF -conchoidally:KNXT:KNKT -conchologist:KNXL:KNKL -conciliating:KNSL:KNSL -conciliation:KNSL:KNSL -conciliative:KNSL:KNSL -conciliators:KNSL:KNSL -conciliatory:KNSL:KNSL -concinnities:KNSN:KNSN -conclusively:KNKL:KNKL -concomitance:KNKM:KNKM -concordances:KNKR:KNKR -concordantly:KNKR:KNKR -concrescence:KNKR:KNKR -concreteness:KNKR:KNKR -concretively:KNKR:KNKR -concretizing:KNKR:KNKR -concupiscent:KNKP:KNKP -concurrences:KNKR:KNKR -concurrently:KNKR:KNKR -concurringly:KNKR:KNKR -concussively:KNKS:KNKS -condemnation:KNTM:KNTM -condemnatory:KNTM:KNTM -condemningly:KNTM:KNTM -condensation:KNTN:KNTN -condescended:KNTS:KNTS -conditionals:KNTX:KNTX -conditioners:KNTX:KNTX -conditioning:KNTX:KNTX -condominiums:KNTM:KNTM -condonations:KNTN:KNTN -conductances:KNTK:KNTK -conductional:KNTK:KNTK -conductively:KNTK:KNTK -conductivity:KNTK:KNTK -conduplicate:KNTP:KNTP -condylectomy:KNTL:KNTL -confabulated:KNFP:KNFP -confabulates:KNFP:KNFP -confabulator:KNFP:KNFP -confectioner:KNFK:KNFK -confectiones:KNFK:KNFK -confederated:KNFT:KNFT -confederates:KNFT:KNFT -conferential:KNFR:KNFR -confessional:KNFS:KNFS -confidential:KNFT:KNFT -configurable:KNFK:KNFK -confinedness:KNFN:KNFN -confinements:KNFN:KNFN -confirmation:KNFR:KNFR -confirmative:KNFR:KNFR -confirmatory:KNFR:KNFR -confiscating:KNFS:KNFS -confiscation:KNFS:KNFS -confiscators:KNFS:KNFS -confiscatory:KNFS:KNFS -conflictions:KNFL:KNFL -conformances:KNFR:KNFR -conformation:KNFR:KNFR -conformingly:KNFR:KNFR -conformities:KNFR:KNFR -confoundable:KNFN:KNFN -confoundedly:KNFN:KNFN -confraternal:KNFR:KNFR -confucianism:KNFS:KNFX -confucianist:KNFS:KNFX -confusedness:KNFS:KNFS -confutations:KNFT:KNFT -congeniality:KNJN:KNKN -congenitally:KNJN:KNKN -conglobation:KNKL:KNKL -conglomerate:KNKL:KNKL -conglutinant:KNKL:KNKL -conglutinate:KNKL:KNKL -congratulate:KNKR:KNKR -congregating:KNKR:KNKR -congregation:KNKR:KNKR -congregative:KNKR:KNKR -congregators:KNKR:KNKR -congruencies:KNKR:KNKR -conidiophore:KNTF:KNTF -conidiospore:KNTS:KNTS -conjecturers:KNJK:KNJK -conjecturing:KNJK:KNJK -conjugations:KNJK:KNJK -conjugatives:KNJK:KNJK -conjunctions:KNJN:KNJN -conjunctivae:KNJN:KNJN -conjunctival:KNJN:KNJN -conjunctivas:KNJN:KNJN -conjunctives:KNJN:KNJN -conjunctural:KNJN:KNJN -conjunctures:KNJN:KNJN -conjurations:KNJR:KNJR -connecticuts:KNKT:KNKT -connectional:KNKX:KNKX -connectively:KNKT:KNKT -connectivity:KNKT:KNKT -connoisseurs:KNSR:KNSR -connotations:KNTX:KNTX -connubiality:KNPL:KNPL -conquistador:KNKS:KNKS -conscientiae:KNSN:KNSN -conscripting:KNSK:KNSK -conscription:KNSK:KNSK -consecrating:KNSK:KNSK -consecration:KNSK:KNSK -consecrative:KNSK:KNSK -consecrators:KNSK:KNSK -consecratory:KNSK:KNSK -consecutions:KNSK:KNSK -consensually:KNSN:KNSN -consentience:KNSN:KNSN -consequences:KNSK:KNSK -consequently:KNSK:KNSK -conservation:KNSR:KNSR -conservatism:KNSR:KNSR -conservative:KNSR:KNSR -conservators:KNSR:KNSR -conservatory:KNSR:KNSR -considerable:KNST:KNST -considerably:KNST:KNST -consideratum:KNST:KNST -consignatary:KNSN:KNSK -consignation:KNSN:KNSK -consignments:KNSN:KNSK -consistences:KNSS:KNSS -consistently:KNSS:KNSS -consistorial:KNSS:KNSS -consistorian:KNSS:KNSS -consistories:KNSS:KNSS -consociation:KNSS:KNSX -consolations:KNSL:KNSL -consolidated:KNSL:KNSL -consolidates:KNSL:KNSL -consolidator:KNSL:KNSL -consonancies:KNSN:KNSN -conspectuses:KNSP:KNSP -conspiracies:KNSP:KNSP -conspirators:KNSP:KNSP -conspiratory:KNSP:KNSP -conspiringly:KNSP:KNSP -constabulary:KNST:KNST -constatation:KNST:KNST -constellated:KNST:KNST -constellates:KNST:KNST -consternated:KNST:KNST -consternates:KNST:KNST -constipating:KNST:KNST -constipation:KNST:KNST -constituency:KNST:KNST -constituents:KNST:KNST -constituters:KNST:KNST -constituting:KNST:KNST -constitution:KNST:KNST -constitutive:KNST:KNST -constitutors:KNST:KNST -constrainers:KNST:KNST -constraining:KNST:KNST -constricting:KNST:KNST -constriction:KNST:KNST -constrictive:KNST:KNST -constrictors:KNST:KNST -constringent:KNST:KNST -constructers:KNST:KNST -constructing:KNST:KNST -construction:KNST:KNST -constructive:KNST:KNST -constructors:KNST:KNST -consultation:KNSL:KNSL -consultative:KNSL:KNSL -consultatory:KNSL:KNSL -consumerists:KNSM:KNSM -consummately:KNSM:KNSM -consummating:KNSM:KNSM -consummation:KNSM:KNSM -consummative:KNSM:KNSM -consummators:KNSM:KNSM -consummatory:KNSM:KNSM -consumptions:KNSM:KNSM -contactually:KNTK:KNTK -contagiously:KNTJ:KNTK -containerize:KNTN:KNTN -containments:KNTN:KNTN -contaminable:KNTM:KNTM -contaminants:KNTM:KNTM -contaminated:KNTM:KNTM -contaminates:KNTM:KNTM -contaminator:KNTM:KNTM -contemplated:KNTM:KNTM -contemplates:KNTM:KNTM -contemplator:KNTM:KNTM -contemporary:KNTM:KNTM -contemporize:KNTM:KNTM -contemptible:KNTM:KNTM -contemptibly:KNTM:KNTM -contemptuous:KNTM:KNTM -contendingly:KNTN:KNTN -contentional:KNTN:KNTN -conterminous:KNTR:KNTR -contestation:KNTS:KNTS -contestingly:KNTS:KNTS -contextually:KNTK:KNTK -contiguities:KNTK:KNTK -contiguously:KNTK:KNTK -contingently:KNTN:KNTN -continuality:KNTN:KNTN -continuances:KNTN:KNTN -continuation:KNTN:KNTN -continuative:KNTN:KNTN -continuators:KNTN:KNTN -continuingly:KNTN:KNTN -continuities:KNTN:KNTN -continuously:KNTN:KNTN -contortional:KNTR:KNTR -contortioned:KNTR:KNTR -contractible:KNTR:KNTR -contractibly:KNTR:KNTR -contractions:KNTR:KNTR -contradicted:KNTR:KNTR -contradicter:KNTR:KNTR -contradictor:KNTR:KNTR -contrapposto:KNTR:KNTR -contraptions:KNTR:KNTR -contrapuntal:KNTR:KNTR -contrariness:KNTR:KNTR -contrariwise:KNTR:KNTR -contrastable:KNTR:KNTR -contrastably:KNTR:KNTR -contraveners:KNTR:KNTR -contravening:KNTR:KNTR -contributing:KNTR:KNTR -contribution:KNTR:KNTR -contributive:KNTR:KNTR -contributors:KNTR:KNTR -contributory:KNTR:KNTR -contriteness:KNTR:KNTR -contrivances:KNTR:KNTR -controllable:KNTR:KNTR -controllably:KNTR:KNTR -controverted:KNTR:KNTR -controverter:KNTR:KNTR -contumacious:KNTM:KNTM -contumelious:KNTM:KNTM -conurbations:KNRP:KNRP -convalescent:KNFL:KNFL -convalescing:KNFL:KNFL -convectional:KNFK:KNFK -convectively:KNFK:KNFK -conveniences:KNFN:KNFN -conveniently:KNFN:KNFN -conventicler:KNFN:KNFN -conventicles:KNFN:KNFN -conventional:KNFN:KNFN -conventioner:KNFN:KNFN -conventiones:KNFN:KNFN -conversantly:KNFR:KNFR -conversation:KNFR:KNFR -conversional:KNFR:KNFR -convertibles:KNFR:KNFR -conveyancers:KNFN:KNFN -conveyancing:KNFN:KNFN -convictional:KNFK:KNFK -convictively:KNFK:KNFK -convincement:KNFN:KNFN -convincingly:KNFN:KNFN -convivialist:KNFF:KNFF -conviviality:KNFF:KNFF -convocations:KNFK:KNFK -convolutedly:KNFL:KNFL -convolutions:KNFL:KNFL -convulsively:KNFL:KNFL -cooperations:KPRX:KPRX -cooperatives:KPRT:KPRT -coordinately:KRTN:KRTN -coordinating:KRTN:KRTN -coordination:KRTN:KRTN -coordinative:KRTN:KRTN -coordinators:KRTN:KRTN -copolymerize:KPLM:KPLM -copperplates:KPRP:KPRP -coppersmiths:KPRS:KPRS -coprolagnist:KPRL:KPRL -coprophagies:KPRF:KPRF -coprophagist:KPRF:KPRF -coprophagous:KPRF:KPRF -coprophilagy:KPRF:KPRF -coprophiliac:KPRF:KPRF -coprophilous:KPRF:KPRF -copulatively:KPLT:KPLT -copyrighters:KPRT:KPRT -copyrighting:KPRT:KPRT -coquettishly:KKTX:KKTX -cordectomies:KRTK:KRTK -cordialities:KRTL:KRTL -coredialyses:KRTL:KRTL -coredialysis:KRTL:KRTL -corespondent:KRSP:KRSP -corkscrewing:KRKS:KRKS -cornerstones:KRNR:KRNR -cornucopiate:KRNK:KRNK -corollaceous:KRLS:KRLS -coronagraphs:KRNK:KRNK -coronerships:KRNR:KRNR -corporalship:KRPR:KRPR -corporations:KRPR:KRPR -corporatists:KRPR:KRPR -corporeality:KRPR:KRPR -corpulencies:KRPL:KRPL -correalities:KRLT:KRLT -correctional:KRKX:KRKX -correctitude:KRKT:KRKT -correctively:KRKT:KRKT -correlatable:KRLT:KRLT -correlations:KRLX:KRLX -correlatives:KRLT:KRLT -corresponded:KRSP:KRSP -corroborated:KRPR:KRPR -corroborates:KRPR:KRPR -corroborator:KRPR:KRPR -corrugations:KRKX:KRKX -corruptively:KRPT:KRPT -corticifugal:KRTS:KRTS -corticipetal:KRTS:KRTS -coruscations:KRSK:KRSK -cosmetically:KSMT:KSMT -cosmeticians:KSMT:KSMT -cosmogonical:KSMK:KSMK -cosmogonists:KSMK:KSMK -cosmographer:KSMK:KSMK -cosmographic:KSMK:KSMK -cosmological:KSML:KSML -cosmologists:KSML:KSML -cosmopolises:KSMP:KSMP -cosmopolitan:KSMP:KSMP -cosmopolites:KSMP:KSMP -cosponsoring:KSPN:KSPN -costectomies:KSTK:KSTK -costermonger:KSTR:KSTR -costocentral:KSTS:KSTS -costoxiphoid:KSTK:KSTK -cosuretyship:KSRT:KSRT -cotoneasters:KTNS:KTNS -cotrespasser:KTRS:KTRS -cottonmouths:KTNM:KTNM -cotyledonary:KTLT:KTLT -cotyledonous:KTLT:KTLT -councilmanic:KNSL:KNSL -councilwoman:KNSL:KNSL -councilwomen:KNSL:KNSL -countability:KNTP:KNTP -countenanced:KNTN:KNTN -countenances:KNTN:KNTN -counteracted:KNTR:KNTR -counteragent:KNTR:KNTR -counterblast:KNTR:KNTR -countercheck:KNTR:KNTR -counterclaim:KNTR:KNTR -counterfeits:KNTR:KNTR -counterfoils:KNTR:KNTR -counterforts:KNTR:KNTR -countermands:KNTR:KNTR -countermarch:KNTR:KNTR -countermined:KNTR:KNTR -countermines:KNTR:KNTR -countermoves:KNTR:KNTR -counteroffer:KNTR:KNTR -counterpanes:KNTR:KNTR -counterparts:KNTR:KNTR -counterpleas:KNTR:KNTR -counterplots:KNTR:KNTR -counterpoint:KNTR:KNTR -counterpoise:KNTR:KNTR -counterproof:KNTR:KNTR -counterpunch:KNTR:KNTR -counterscarp:KNTR:KNTR -countershaft:KNTR:KNTR -countershock:KNTR:KNTR -countersigns:KNTR:KNTR -countersinks:KNTR:KNTR -counterspies:KNTR:KNTR -counterstain:KNTR:KNTR -countertenor:KNTR:KNTR -countertypes:KNTR:KNTR -countervails:KNTR:KNTR -counterweigh:KNTR:KNTR -counterwords:KNTR:KNTR -counterworks:KNTR:KNTR -countrywoman:KNTR:KNTR -countrywomen:KNTR:KNTR -courageously:KRJS:KRKS -covariations:KFRX:KFRX -covenantally:KFNN:KFNN -covetousness:KFTS:KFTS -cowardliness:KRTL:KRTL -crackerjacks:KRKR:KRKR -cranioclases:KRNK:KRNK -cranioclasis:KRNK:KRNK -craniofacial:KRNF:KRNF -craniologies:KRNL:KRNL -craniologist:KRNL:KRNL -craniometric:KRNM:KRNM -cranioplasty:KRNP:KRNP -craniosacral:KRNS:KRNS -craniospinal:KRNS:KRNS -craniotomies:KRNT:KRNT -crapshooters:KRPX:KRPX -creationists:KRXN:KRXN -creativeness:KRTF:KRTF -credentialed:KRTN:KRTN -credibleness:KRTP:KRTP -creditworthy:KRTT:KRTT -cremasterial:KRMS:KRMS -crematoriums:KRMT:KRMT -crenelations:KRNL:KRNL -crenulations:KRNL:KRNL -crepitations:KRPT:KRPT -crescendoing:KRSN:KRSN -cretaceously:KRTS:KRTS -cricothyroid:KRK0:KRKT -criminalists:KRMN:KRMN -criminalness:KRMN:KRMN -criminogenic:KRMN:KRMN -criminologic:KRMN:KRMN -crimogenesis:KRMJ:KRMK -crisscrossed:KRSK:KRSK -crisscrosses:KRSK:KRSK -cristobalite:KRST:KRST -crithidiform:KR0T:KRTT -criticalness:KRTK:KRTK -criticizable:KRTS:KRTS -crossability:KRSP:KRSP -crosschecked:KRSX:KRSK -crosscurrent:KRSK:KRSK -crosscutting:KRSK:KRSK -crossexamine:KRSK:KRSK -crosshatched:KRSX:KRSX -crosshatches:KRSX:KRSX -crosspatches:KRSP:KRSP -crossruffing:KRSR:KRSR -crucifixions:KRSF:KRSF -crushability:KRXP:KRXP -crymotherapy:KRM0:KRMT -cryoglobulin:KRKL:KRKL -cryoplankton:KRPL:KRPL -cryoscopical:KRSK:KRSK -cryosurgical:KRSR:KRSR -cryptanalyst:KRPT:KRPT -cryptobioses:KRPT:KRPT -cryptobiosis:KRPT:KRPT -cryptococcus:KRPT:KRPT -cryptogamist:KRPT:KRPT -cryptogamous:KRPT:KRPT -cryptographs:KRPT:KRPT -cryptography:KRPT:KRPT -cryptologist:KRPT:KRPT -cryptomnesia:KRPT:KRPT -cryptomnesic:KRPT:KRPT -cryptophytes:KRPT:KRPT -cryptophytic:KRPT:KRPT -cryptorchism:KRPT:KRPT -cryptozoites:KRPT:KRPT -cryptozygous:KRPT:KRPT -crystalizing:KRST:KRST -crystallites:KRST:KRST -crystallized:KRST:KRST -crystallizer:KRST:KRST -crystallizes:KRST:KRST -crystalluria:KRST:KRST -cubistically:KPST:KPST -culdoscopies:KLTS:KLTS -culminations:KLMN:KLMN -culpableness:KLPP:KLPP -cultivatable:KLTF:KLTF -cultivations:KLTF:KLTF -cumbersomely:KMRS:KMRS -cumbrousness:KMPR:KMPR -cumulatively:KMLT:KMLT -cumulonimbus:KMLN:KMLN -cunnilinctus:KNLN:KNLN -cuprammonium:KPRM:KPRM -curarization:KRRS:KRRS -curativeness:KRTF:KRTF -curatorships:KRTR:KRTR -curmudgeonly:KRMJ:KRMJ -currycombing:KRKM:KRKM -curtailments:KRTL:KRTL -curvaceously:KRFS:KRFS -cuspidations:KSPT:KSPT -customhouses:KSTM:KSTM -customizable:KSTM:KSTM -customshouse:KSTM:KSTM -cuterebridae:KTRP:KTRP -cuttlefishes:KTLF:KTLF -cyanogeneses:SNJN:SNKN -cyanogenesis:SNJN:SNKN -cyanogenetic:SNJN:SNKN -cyanophilous:SNFL:SNFL -cyanophyceae:SNFS:SNFS -cyberculture:SPRK:SPRK -cybernetical:SPRN:SPRN -cyclonically:SKLN:SKLN -cyclopropane:SKLP:SKLP -cyclostomata:SKLS:SKLS -cyclostomate:SKLS:SKLS -cyclostyling:SKLS:SKLS -cylindromata:SLNT:SLNT -cymbocephaly:SMPS:SMPS -cynocephalus:SNSF:SNSF -cystadenomas:SSTT:SSTT -cystectomies:SSTK:SSTK -cystorrhaphy:SSTR:SSTR -cystosarcoma:SSTS:SSTS -cystoscopies:SSTS:SSTS -cystoscopist:SSTS:SSTS -cystostomies:SSTS:SSTS -cytochemical:STXM:STKM -cytogenetics:STJN:STKN -cytomembrane:STMM:STMM -cytorrhyctes:STRK:STRK -cytoskeleton:STSK:STSK -cytostatical:STST:STST -cytotaxonomy:STTK:STTK -cytotoxicity:STTK:STTK -czechoslovak:SXSL:XKSL -dacryosyrinx:TKRS:TKRS -dactylograph:TKTL:TKTL -dactyloscopy:TKTL:TKTL -daggerboards:TKRP:TKRP -daguerrotype:TKRT:TKRT -daisycutters:TSKT:TSKT -damnableness:TMNP:TMNP -damnificatus:TMNF:TMNF -dasyproctine:TSPR:TSPR -daughterhood:TTRT:TTRT -daughterless:TTRL:TTRL -dauphinesses:TFNS:TFNS -deaccessions:TXSN:TXSN -deacidifiers:TSTF:TSTF -deacidifying:TSTF:TSTF -deactivating:TKTF:TKTF -deactivation:TKTF:TKTF -deactivators:TKTF:TKTF -deallocation:TLKX:TLKX -deaminations:TMNX:TMNX -deathwatches:T0XS:TTXS -debarkations:TPRK:TPRK -debaucheries:TPXR:TPKR -debauchments:TPKM:TPKM -debilitating:TPLT:TPLT -debilitation:TPLT:TPLT -debilitative:TPLT:TPLT -debonairness:TPNR:TPNR -debouchments:TPKM:TPKM -decaffeinate:TKFN:TKFN -decalcifying:TKLS:TKLS -decalcomania:TKLK:TKLK -decapitating:TKPT:TKPT -decapitation:TKPT:TKPT -decapitators:TKPT:TKPT -decapsulated:TKPS:TKPS -decarbonated:TKRP:TKRP -decarbonates:TKRP:TKRP -decarbonator:TKRP:TKRP -decarbonized:TKRP:TKRP -decarbonizer:TKRP:TKRP -decarbonizes:TKRP:TKRP -decarburized:TKRP:TKRP -decarburizes:TKRP:TKRP -decartelized:TKRT:TKRT -decartelizes:TKRT:TKRT -decasyllabic:TKSL:TKSL -decasyllable:TKSL:TKSL -decelerating:TSLR:TSLR -deceleration:TSLR:TSLR -decelerators:TSLR:TSLR -decemvirates:TSMF:TSMF -decentralism:TSNT:TSNT -decentralist:TSNT:TSNT -decentralize:TSNT:TSNT -decerebrated:TSRP:TSRP -decerebrates:TSRP:TSRP -decertifying:TSRT:TSRT -dechlorinate:TKLR:TKLR -decidability:TSTP:TSTP -deciduosises:TSTS:TSTS -decimalizing:TSML:TSML -decipherable:TSFR:TSFR -decipherment:TSFR:TSFR -decisiveness:TSSF:TSSF -declamations:TKLM:TKLM -declarations:TKLR:TKLR -declaratives:TKLR:TKLR -declassified:TKLS:TKLS -declassifies:TKLS:TKLS -declensional:TKLN:TKLN -declinations:TKLN:TKLN -decolonizing:TKLN:TKLN -decoloration:TKLR:TKLR -decolorizing:TKLR:TKLR -decolourised:TKLR:TKLR -decolouriser:TKLR:TKLR -decolourises:TKLR:TKLR -decommission:TKMS:TKMS -decompensate:TKMP:TKMP -decomposable:TKMP:TKMP -decompressed:TKMP:TKMP -decompresses:TKMP:TKMP -decongestant:TKNJ:TKNK -decongesting:TKNJ:TKNK -decongestion:TKNJ:TKNK -decongestive:TKNJ:TKNK -deconsecrate:TKNS:TKNS -decontrolled:TKNT:TKNT -decoratively:TKRT:TKRT -decorousness:TKRS:TKRS -decorticated:TKRT:TKRT -decorticates:TKRT:TKRT -decorticator:TKRT:TKRT -decreasingly:TKRS:TKRS -decrementing:TKRM:TKRM -decrepitated:TKRP:TKRP -decrepitates:TKRP:TKRP -decrescendos:TKRS:TKRS -decretalists:TKRT:TKRT -decubationed:TKPX:TKPX -dedicational:TTKX:TTKX -deducibility:TTSP:TTSP -deemphasized:TMFS:TMFS -deemphasizes:TMFS:TMFS -deemstership:TMST:TMST -deerstalkers:TRST:TRST -deerstalking:TRST:TRST -deescalating:TSKL:TSKL -deescalation:TSKL:TSKL -defalcations:TFLK:TFLK -defamatorily:TFMT:TFMT -defectioners:TFKX:TFKX -defemination:TFMN:TFMN -defeminizing:TFMN:TFMN -defenestrate:TFNS:TFNS -deferentitis:TFRN:TFRN -defibrillate:TFPR:TFPR -defibrinated:TFPR:TFPR -deficiencies:TFSN:TFXN -definability:TFNP:TFNP -definiteness:TFNT:TFNT -definitional:TFNX:TFNX -definitively:TFNT:TFNT -deflagrating:TFLK:TFLK -deflagration:TFLK:TFLK -deflationary:TFLX:TFLX -deflationist:TFLX:TFLX -deflocculate:TFLK:TFLK -deflorations:TFLR:TFLR -defoliations:TFLX:TFLX -deforcements:TFRS:TFRS -deformations:TFRM:TFRM -deformedness:TFRM:TFRM -defraudation:TFRT:TFRT -defraudments:TFRT:TFRT -degeneracies:TJNR:TKNR -degenerately:TJNR:TKNR -degenerating:TJNR:TKNR -degeneration:TJNR:TKNR -degenerative:TJNR:TKNR -deglutinated:TKLT:TKLT -deglutinates:TKLT:TKLT -degradations:TKRT:TKRT -degradedness:TKRT:TKRT -dehumanizing:THMN:THMN -dehumidified:THMT:THMT -dehumidifier:THMT:THMT -dehumidifies:THMT:THMT -dehydracetic:THTR:THTR -dehypnotized:THPN:THPN -dehypnotizes:THPN:THPN -deifications:TFKX:TFKX -deionization:TNSX:TNSX -dejectedness:TJKT:TJKT -delaminating:TLMN:TLMN -delamination:TLMN:TLMN -delectations:TLKT:TLKT -delegalizing:TLKL:TLKL -deliberately:TLPR:TLPR -deliberating:TLPR:TLPR -deliberation:TLPR:TLPR -deliberative:TLPR:TLPR -deliberators:TLPR:TLPR -deliberendum:TLPR:TLPR -delicateness:TLKT:TLKT -delicatessen:TLKT:TLKT -delightfully:TLTF:TLTF -delimitating:TLMT:TLMT -delimitation:TLMT:TLMT -delimitative:TLMT:TLMT -delineations:TLNX:TLNX -delinquently:TLNK:TLNK -deliquescent:TLKS:TLKS -deliquescing:TLKS:TLKS -delitescence:TLTS:TLTS -delitescency:TLTS:TLTS -deliverables:TLFR:TLFR -delocalizing:TLKL:TLKL -delomorphous:TLMR:TLMR -deltiologist:TLTL:TLTL -delusionists:TLSN:TLXN -delusiveness:TLSF:TLSF -demagnetized:TMNT:TMKN -demagnetizer:TMNT:TMKN -demagnetizes:TMNT:TMKN -demagnifying:TMNF:TMKN -demarcations:TMRK:TMRK -demembration:TMMP:TMMP -dementedness:TMNT:TMNT -demibastions:TMPS:TMPS -demilitarize:TMLT:TMLT -demimondaine:TMMN:TMMN -demimondains:TMMN:TMMN -demineralize:TMNR:TMNR -demobilizing:TMPL:TMPL -democratical:TMKR:TMKR -democratized:TMKR:TMKR -democratizes:TMKR:TMKR -demodulating:TMTL:TMTL -demodulation:TMTL:TMTL -demodulators:TMTL:TMTL -demographers:TMKR:TMKR -demographics:TMKR:TMKR -demographies:TMKR:TMKR -demolishment:TMLX:TMLX -demonetarize:TMNT:TMNT -demonetizing:TMNT:TMNT -demoniacally:TMNK:TMNK -demonolaters:TMNL:TMNL -demonologies:TMNL:TMNL -demonologist:TMNL:TMNL -demonstrable:TMNS:TMNS -demonstrably:TMNS:TMNS -demonstrated:TMNS:TMNS -demonstrates:TMNS:TMNS -demonstrator:TMNS:TMNS -demoralizers:TMRL:TMRL -demoralizing:TMRL:TMRL -dempstership:TMPS:TMPS -demulsifiers:TMLS:TMLS -demulsifying:TMLS:TMLS -demyelinated:TMLN:TMLN -demystifying:TMST:TMST -denarcotized:TNRK:TNRK -denarcotizes:TNRK:TNRK -denaturalize:TNTR:TNTR -denaturation:TNTR:TNTR -dendrologies:TNTR:TNTR -dendrologist:TNTR:TNTR -dendrologous:TNTR:TNTR -denicotinize:TNKT:TNKT -denigrations:TNKR:TNKR -denitrifying:TNTR:TNTR -denominating:TNMN:TNMN -denomination:TNMN:TNMN -denominative:TNMN:TNMN -denominators:TNMN:TNMN -denotational:TNTX:TNTX -denotatively:TNTT:TNTT -denouncement:TNNS:TNNS -densitometry:TNST:TNST -denticulated:TNTK:TNTK -dentilingual:TNTL:TNTL -denuclearize:TNKL:TNKL -denunciating:TNNS:TNNX -denunciation:TNNS:TNNX -denunciative:TNNS:TNNX -denunciators:TNNS:TNNX -denunciatory:TNNS:TNNX -deontologies:TNTL:TNTL -deontologist:TNTL:TNTL -deoxycholate:TKSX:TKSK -deoxycortone:TKSK:TKSK -deoxygenated:TKSJ:TKSK -deoxygenates:TKSJ:TKSK -departmental:TPRT:TPRT -dependencies:TPNT:TPNT -depilatories:TPLT:TPLT -deplumations:TPLM:TPLM -depolarizers:TPLR:TPLR -depolarizing:TPLR:TPLR -depoliticize:TPLT:TPLT -depolymerase:TPLM:TPLM -depolymerize:TPLM:TPLM -depopulating:TPPL:TPPL -depopulation:TPPL:TPPL -depopulators:TPPL:TPPL -deportations:TPRT:TPRT -depositaries:TPST:TPST -depositional:TPSX:TPSX -depositories:TPST:TPST -depravations:TPRF:TPRF -depravedness:TPRF:TPRF -deprecations:TPRK:TPRK -depreciating:TPRS:TPRX -depreciation:TPRS:TPRX -depreciative:TPRS:TPRX -depreciators:TPRS:TPRX -depreciatory:TPRS:TPRX -depredations:TPRT:TPRT -depressingly:TPRS:TPRS -depressional:TPRS:TPRS -depressively:TPRS:TPRS -depressurize:TPRS:TPRS -deprivations:TPRF:TPRF -deprogrammer:TPRK:TPRK -depulization:TPLS:TPLS -deputational:TPTX:TPTX -deracinating:TRSN:TRSN -deracination:TRSN:TRSN -derangements:TRNJ:TRNK -deregistered:TRJS:TRKS -deregulating:TRKL:TRKL -deregulation:TRKL:TRKL -deregulators:TRKL:TRKL -deregulatory:TRKL:TRKL -derelictions:TRLK:TRLK -derencephali:TRNS:TRNS -derencephaly:TRNS:TRNS -derepression:TRPR:TRPR -derestricted:TRST:TRST -derisiveness:TRSF:TRSF -derivational:TRFX:TRFX -derivatively:TRFT:TRFT -dermabrasion:TRMP:TRMP -dermamyiasis:TRMM:TRMM -dermatitides:TRMT:TRMT -dermatitises:TRMT:TRMT -dermatograph:TRMT:TRMT -dermatolyses:TRMT:TRMT -dermatolysis:TRMT:TRMT -dermatomyces:TRMT:TRMT -dermatomyoma:TRMT:TRMT -dermatopathy:TRMT:TRMT -dermatophyte:TRMT:TRMT -dermatoscopy:TRMT:TRMT -dermographia:TRMK:TRMK -dermolipomas:TRML:TRML -dermopathies:TRMP:TRMP -derogatively:TRKT:TRKT -derogatorily:TRKT:TRKT -derrengadera:TRNK:TRNK -desalinating:TSLN:TSLN -desalination:TSLN:TSLN -desalinizing:TSLN:TSLN -descemetitis:TSMT:TSMT -descramblers:TSKM:TSKM -descrambling:TSKM:TSKM -descriptions:TSKP:TSKP -descriptives:TSKP:TSKP -desecrations:TSKR:TSKR -desegregated:TSKR:TSKR -desegregates:TSKR:TSKR -deselections:TSLK:TSLK -desensitized:TSNS:TSNS -desensitizer:TSNS:TSNS -desensitizes:TSNS:TSNS -deservedness:TSRF:TSRF -desexualized:TSKS:TSKS -desexualizes:TSKS:TSKS -desiccations:TSKX:TSKX -desiderating:TSTR:TSTR -desideration:TSTR:TSTR -desiderative:TSTR:TSTR -designations:TSNX:TSKN -desirability:TSRP:TSRP -desirousness:TSRS:TSRS -desmocranium:TSMK:TSMK -desmoplastic:TSMP:TSMP -desolateness:TSLT:TSLT -despairingly:TSPR:TSPR -despitefully:TSPT:TSPT -despoilments:TSPL:TSPL -despoliation:TSPL:TSPL -despondently:TSPN:TSPN -despondingly:TSPN:TSPN -despotically:TSPT:TSPT -desquamating:TSKM:TSKM -desquamation:TSKM:TSKM -desquamative:TSKM:TSKM -desquamatory:TSKM:TSKM -dessertspoon:TSRT:TSRT -destabilized:TSTP:TSTP -destabilizes:TSTP:TSTP -destinations:TSTN:TSTN -destroyingly:TSTR:TSTR -destructible:TSTR:TSTR -destructions:TSTR:TSTR -desulphurize:TSLF:TSLF -detachedness:TTXT:TTKT -deteriorated:TTRR:TTRR -deteriorates:TTRR:TTRR -determinable:TTRM:TTRM -determinably:TTRM:TTRM -determinants:TTRM:TTRM -determinedly:TTRM:TTRM -determinists:TTRM:TTRM -detestations:TTST:TTST -dethronement:T0RN:TTRN -detournement:TTRN:TTRN -detoxicating:TTKS:TTKS -detoxication:TTKS:TTKS -detractingly:TTRK:TTRK -detractively:TTRK:TTRK -detrainments:TTRN:TTRN -detribalises:TTRP:TTRP -detribalized:TTRP:TTRP -detribalizes:TTRP:TTRP -detruncating:TTRN:TTRN -detruncation:TTRN:TTRN -detumescence:TTMS:TTMS -deuteranopia:TTRN:TTRN -deuteranopic:TTRN:TTRN -deuteropathy:TTRP:TTRP -deuterotoxin:TTRT:TTRT -deutoplasmic:TTPL:TTPL -deutoplastic:TTPL:TTPL -devaluations:TFLX:TFLX -devastations:TFST:TFST -developments:TFLP:TFLP -deviationism:TFXN:TFXN -deviationist:TFXN:TFXN -devilishness:TFLX:TFLX -devirginated:TFRJ:TFRK -devirginized:TFRJ:TFRK -devirginizes:TFRJ:TFRK -devisability:TFSP:TFSP -devitalizing:TFTL:TFTL -devitrifying:TFTR:TFTR -devocalizing:TFKL:TFKL -devolvements:TFLF:TFLF -devotionally:TFXN:TFXN -dextralities:TKST:TKST -dextrocardia:TKST:TKST -dextrogyrate:TKST:TKST -dextromanual:TKST:TKST -dextrorotary:TKST:TKST -dextrousness:TKST:TKST -diabetogenic:TPTJ:TPTK -diabolically:TPLK:TPLK -diagnoseable:TNSP:TKNS -diagrammable:TKRM:TKRM -diagrammatic:TKRM:TKRM -dialectician:TLKT:TLKT -dialectology:TLKT:TLKT -dialytically:TLTK:TLTK -diamagnetism:TMNT:TMKN -diamondbacks:TMNT:TMNT -diaphanouses:TFNS:TFNS -diaphanously:TFNS:TFNS -diaphoretics:TFRT:TFRT -diapophysial:TPFS:TPFX -diapositives:TPST:TPST -diarthrodial:TR0R:TRTR -diastrophism:TSTR:TSTR -diathermancy:T0RM:TTRM -diatomaceous:TTMS:TTMS -diatonically:TTNK:TTNK -dichloramine:TXLR:TKLR -dichlorethyl:TXLR:TKLR -dichomotises:TXMT:TKMT -dichotically:TXTK:TKTK -dichotomists:TXTM:TKTM -dichotomized:TXTM:TKTM -dichotomizes:TXTM:TKTM -dichromatism:TXRM:TKRM -dichromophil:TXRM:TKRM -dichroscopes:TXRS:TKRS -dichroscopic:TXRS:TKRS -dicotyledons:TKTL:TKTL -dicrocoelium:TKRK:TKRK -dictatorship:TKTT:TKTT -dictionaries:TKXN:TKXN -dictographes:TKTK:TKTK -dictyocaulus:TKTK:TKTK -didactically:TTKT:TTKT -dieciousness:TSSN:TXSN -diencephalic:TNSF:TNSF -diencephalon:TNSF:TNSF -dietetically:TTTK:TTTK -diethylamide:T0LM:TTLM -diethylamine:T0LM:TTLM -dietotherapy:TT0R:TTTR -differentiae:TFRN:TFRN -differential:TFRN:TFRN -difficulties:TFKL:TFKL -diffractions:TFRK:TFRK -digitalizing:TJTL:TKTL -digitization:TJTS:TKTS -digressional:TKRS:TKRS -digressively:TKRS:TKRS -dijudicating:TJTK:TJTK -dijudication:TJTK:TJTK -dilaceration:TLSR:TLSR -dilapidating:TLPT:TLPT -dilapidation:TLPT:TLPT -dilapidators:TLPT:TLPT -dilatability:TLTP:TLTP -dilatational:TLTX:TLTX -dilatometric:TLTM:TLTM -dilatoriness:TLTR:TLTR -dilettantish:TLTN:TLTN -dilettantism:TLTN:TLTN -dillydallied:TLTL:TLTL -dillydallies:TLTL:TLTL -dimensioning:TMNS:TMNX -diminishable:TMNX:TMNX -diminishment:TMNX:TMNX -diminutively:TMNT:TMNT -dinucleotide:TNKL:TNKL -dioptrically:TPTR:TPTR -dipetalonema:TPTL:TPTL -diphtheritic:TF0R:TFTR -diphtheritis:TF0R:TFTR -diphthongize:TF0N:TFTN -diplobacilli:TPLP:TPLP -diploblastic:TPLP:TPLP -diplocardiac:TPLK:TPLK -diplococcoid:TPLK:TPLK -diplogeneses:TPLJ:TPLK -diplogenesis:TPLJ:TPLK -diplomatique:TPLM:TPLM -diplomatised:TPLM:TPLM -diplomatists:TPLM:TPLM -diprotodonts:TPRT:TPRT -dipsomaniacs:TPSM:TPSM -dipyridamole:TPRT:TPRT -directorates:TRKT:TRKT -directorship:TRKT:TRKT -directresses:TRKT:TRKT -disabilities:TSPL:TSPL -disaccharide:TSXR:TSXR -disaccredits:TSKR:TSKR -disaccustoms:TSKS:TSKS -disadvantage:TSTF:TSTF -disaffecting:TSFK:TSFK -disaffection:TSFK:TSFK -disaffiliate:TSFL:TSFL -disaffirming:TSFR:TSFR -disafforests:TSFR:TSFR -disaggregate:TSKR:TSKR -disagreeable:TSKR:TSKR -disagreeably:TSKR:TSKR -disagreement:TSKR:TSKR -disallowable:TSLP:TSLP -disallowance:TSLN:TSLN -disambiguate:TSMP:TSMP -disannulling:TSNL:TSNL -disannulment:TSNL:TSNL -disappearing:TSPR:TSPR -disappointed:TSPN:TSPN -disapprovals:TSPR:TSPR -disapproving:TSPR:TSPR -disarmaments:TSRM:TSRM -disarranging:TSRN:TSRN -disassembled:TSSM:TSSM -disassembler:TSSM:TSSM -disassembles:TSSM:TSSM -disassociate:TSSS:TSSX -disastrously:TSST:TSST -disbandments:TSPN:TSPN -disbelievers:TSPL:TSPL -disbelieving:TSPL:TSPL -disbranching:TSPR:TSPR -disburdening:TSPR:TSPR -disbursement:TSPR:TSPR -discerningly:TSRN:TSRN -discernments:TSRN:TSRN -discipleship:TSPL:TSPL -disciplinant:TSPL:TSPL -disciplinary:TSPL:TSPL -discipliners:TSPL:TSPL -disciplining:TSPL:TSPL -disclamation:TSKM:TSKM -disclamatory:TSKM:TSKM -discoblastic:TSKP:TSKP -discographer:TSKK:TSKK -discologists:TSKL:TSKL -discomfiting:TSKM:TSKM -discomfiture:TSKM:TSKM -discomforted:TSKM:TSKM -discommoding:TSKM:TSKM -discommodity:TSKM:TSKM -discommoning:TSKM:TSKM -discomposing:TSKM:TSKM -discomposure:TSKM:TSKM -disconcerted:TSKN:TSKN -disconfirmed:TSKN:TSKN -disconnected:TSKN:TSKN -disconnecter:TSKN:TSKN -disconsolate:TSKN:TSKN -discontented:TSKN:TSKN -discontinued:TSKN:TSKN -discontinuer:TSKN:TSKN -discontinues:TSKN:TSKN -discopathies:TSKP:TSKP -discordances:TSKR:TSKR -discordantly:TSKR:TSKR -discotheques:TSK0:TSKT -discountable:TSKN:TSKN -discouragers:TSKR:TSKR -discouraging:TSKR:TSKR -discourteous:TSKR:TSKR -discoverable:TSKF:TSKF -discoverture:TSKF:TSKF -discrediting:TSKT:TSKT -discreetness:TSKT:TSKT -discrepantly:TSKP:TSKP -discreptible:TSKP:TSKP -discreteness:TSKT:TSKT -discretional:TSKX:TSKX -discriminant:TSKM:TSKM -discriminate:TSKM:TSKM -discursively:TSKR:TSKR -discussional:TSKS:TSKS -discussionis:TSKS:TSKS -disdainfully:TSTN:TSTN -disembarking:TSMP:TSMP -disembarrass:TSMP:TSMP -disembodying:TSMP:TSMP -disemboguing:TSMP:TSMP -disemboweled:TSMP:TSMP -disembroiled:TSMP:TSMP -disemploying:TSMP:TSMP -disenchanted:TSNX:TSNK -disenchanter:TSNX:TSNK -disencumbers:TSNK:TSNK -disendowment:TSNT:TSNT -disentailing:TSNT:TSNT -disentangled:TSNT:TSNT -disentangles:TSNT:TSNT -disentitling:TSNT:TSNT -disentombing:TSNT:TSNT -disentwining:TSNT:TSNT -disestablish:TSST:TSST -disesteeming:TSST:TSST -disfeaturing:TSFT:TSFT -disfranchise:TSFR:TSFR -disfunctions:TSFN:TSFN -disgorgement:TSKR:TSKR -disgruntling:TSKR:TSKR -disguisement:TSKS:TSKS -disgustingly:TSKS:TSKS -disharmonies:TXRM:TXRM -disheartened:TXRT:TXRT -dishevelment:TXFL:TXFL -dishonesties:TXNS:TXNS -dishonorable:TXNR:TXNR -dishonorably:TXNR:TXNR -disillusions:TSLS:TSLX -disincentive:TSNS:TSNS -disinclining:TSNK:TSNK -disinfectant:TSNF:TSNF -disinfecting:TSNF:TSNF -disinfection:TSNF:TSNF -disinfectors:TSNF:TSNF -disinfestant:TSNF:TSNF -disinfesting:TSNF:TSNF -disinflation:TSNF:TSNF -disingenuous:TSNJ:TSNK -disinherison:TSNR:TSNR -disinherited:TSNR:TSNR -disinsection:TSNS:TSNS -disinsertion:TSNS:TSNS -disintegrate:TSNT:TSNT -disinterests:TSNT:TSNT -disinterring:TSNT:TSNT -disinvesting:TSNF:TSNF -disjointedly:TSNT:TSNT -disjointness:TSNT:TSNT -disjunctions:TSNK:TSNK -disjunctives:TSNK:TSNK -dislocations:TLKX:TLKX -dislodgement:TLJM:TLJM -dislodgments:TLTK:TLTK -disloyalties:TLLT:TLLT -dismastments:TSMS:TSMS -dismemberers:TSMM:TSMM -dismembering:TSMM:TSMM -dismissingly:TSMS:TSMS -dismissively:TSMS:TSMS -dismortgaged:TSMR:TSMR -dismortgages:TSMR:TSMR -dismountable:TSMN:TSMN -disobedience:TSPT:TSPT -disoperation:TSPR:TSPR -disorganized:TSRK:TSRK -disorganizer:TSRK:TSRK -disorganizes:TSRK:TSRK -disorientate:TSRN:TSRN -disorienting:TSRN:TSRN -dispensaries:TSPN:TSPN -dispensation:TSPN:TSPN -dispensatory:TSPN:TSPN -dispersement:TSPR:TSPR -dispersively:TSPR:TSPR -dispiritedly:TSPR:TSPR -dispiteously:TSPT:TSPT -displaceable:TSPL:TSPL -displacement:TSPL:TSPL -displeasures:TSPL:TSPL -dispositions:TSPS:TSPS -dispossessed:TSPS:TSPS -dispossesses:TSPS:TSPS -dispossessor:TSPS:TSPS -disputations:TSPT:TSPT -disputatious:TSPT:TSPT -disqualified:TSKL:TSKL -disqualifier:TSKL:TSKL -disqualifies:TSKL:TSKL -disquietedly:TSKT:TSKT -disquietness:TSKT:TSKT -disquietudes:TSKT:TSKT -disquisition:TSKS:TSKS -disregarders:TSRK:TSRK -disregardful:TSRK:TSRK -disregarding:TSRK:TSRK -disrelishing:TSRL:TSRL -disreputable:TSRP:TSRP -disreputably:TSRP:TSRP -disrespected:TSRS:TSRS -disrobements:TSRP:TSRP -disruptively:TSRP:TSRP -dissatisfied:TSTS:TSTS -dissatisfies:TSTS:TSTS -dissemblance:TSMP:TSMP -disseminated:TSMN:TSMN -disseminates:TSMN:TSMN -disseminator:TSMN:TSMN -disseminules:TSMN:TSMN -dissentience:TSNT:TSNT -dissentiency:TSNT:TSNT -dissentiente:TSNT:TSNT -dissentients:TSNT:TSNT -dissentingly:TSNT:TSNT -dissertation:TSRT:TSRT -disseverance:TSFR:TSFR -disseverment:TSFR:TSFR -dissimilarly:TSML:TSML -dissimilated:TSML:TSML -dissimilates:TSML:TSML -dissimulated:TSML:TSML -dissimulates:TSML:TSML -dissimulator:TSML:TSML -dissipatedly:TSPT:TSPT -dissipations:TSPX:TSPX -dissociating:TSST:TSXT -dissociation:TSSX:TSXX -dissociative:TSST:TSXT -dissolutions:TSLX:TSLX -dissuasively:TSSF:TSSF -dissyllables:TSLP:TSLP -dissymmetric:TSMT:TSMT -distempering:TSTM:TSTM -distemperoid:TSTM:TSTM -distichously:TSTX:TSTK -distillation:TSTL:TSTL -distillatory:TSTL:TSTL -distilleries:TSTL:TSTL -distillments:TSTL:TSTL -distinctions:TSTN:TSTN -distinctness:TSTN:TSTN -distoclusion:TSTK:TSTK -distomatoses:TSTM:TSTM -distomatosis:TSTM:TSTM -distortional:TSTR:TSTR -distractedly:TSTR:TSTR -distractible:TSTR:TSTR -distractions:TSTR:TSTR -distrainable:TSTR:TSTR -distrainment:TSTR:TSTR -distributary:TSTR:TSTR -distributees:TSTR:TSTR -distributers:TSTR:TSTR -distributing:TSTR:TSTR -distribution:TSTR:TSTR -distributive:TSTR:TSTR -distributors:TSTR:TSTR -distritbuted:TSTR:TSTR -distritbutes:TSTR:TSTR -disturbances:TSTR:TSTR -disturbingly:TSTR:TSTR -dittographic:TTKR:TTKR -diuretically:TRTK:TRTK -divaricately:TFRK:TFRK -divaricating:TFRK:TFRK -divarication:TFRK:TFRK -divaricators:TFRK:TFRK -divergencies:TFRJ:TFRK -diversifiers:TFRS:TFRS -diversifying:TFRS:TFRS -diversionary:TFRS:TFRX -diversionist:TFRS:TFRX -diverticular:TFRT:TFRT -diverticulum:TFRT:TFRT -divestitures:TFST:TFST -divinization:TFNS:TFNS -divisibility:TFSP:TFSP -divisionally:TFSN:TFXN -divisionists:TFSN:TFXN -divisiveness:TFSF:TFSF -divorcements:TFRS:TFRS -divulgements:TFLJ:TFLK -doctrinaires:TKTR:TKTR -doctrinality:TKTR:TKTR -doctrinarian:TKTR:TKTR -documentable:TKMN:TKMN -dodecahedral:TTKH:TTKH -dodecahedron:TTKH:TTKH -dogmatically:TKMT:TKMT -dolichocrany:TLXK:TLKK -dolorimetric:TLRM:TLRM -dolorousness:TLRS:TLRS -dolphinarium:TLFN:TLFN -domesticable:TMST:TMST -domestically:TMST:TMST -domesticated:TMST:TMST -domesticates:TMST:TMST -domesticator:TMST:TMST -domiciliated:TMSL:TMSL -domiciliates:TMSL:TMSL -dominatingly:TMNT:TMNT -doomwatchers:TMXR:TMXR -doorstepping:TRST:TRST -dorsiflexion:TRSF:TRSF -dorsilateral:TRSL:TRSL -dorsiventral:TRSF:TRSF -dorsolateral:TRSL:TRSL -dorsoventrad:TRSF:TRSF -dorsoventral:TRSF:TRSF -dosemetrists:TSMT:TSMT -dosimetrists:TSMT:TSMT -doubleheader:TPLH:TPLH -doubtfulness:TPTF:TPTF -douroucoulis:TRKL:TRKL -downdraughts:TNTR:TNTR -downloadable:TNLT:TNLT -downshifting:TNXF:TNXF -draconically:TRKN:TRKN -dracontiases:TRKN:TRKN -dracontiasis:TRKN:TRKN -dramatically:TRMT:TRMT -dramatisable:TRMT:TRMT -dramatizable:TRMT:TRMT -dramaturgist:TRMT:TRMT -drapetomania:TRPT:TRPT -draughtboard:TRFT:TRFT -draughtiness:TRFT:TRFT -dreadfulness:TRTF:TRTF -dreadnoughts:TRTN:TRTN -drillmasters:TRLM:TRLM -driveability:TRFP:TRFP -dumbfounding:TMPF:TMPF -dunderheaded:TNTR:TNTR -duodecimally:TTSM:TTSM -duodenectomy:TTNK:TTNK -duodenoscopy:TTNS:TTNS -duplications:TPLK:TPLK -durabilities:TRPL:TRPL -duraplasties:TRPL:TRPL -dwarfishness:TRFX:TRFX -dynamogenies:TNMJ:TNMK -dynamogenous:TNMJ:TNMK -dynamometric:TNMM:TNMM -dynastically:TNST:TNST -dysarthroses:TSR0:TSRT -dysarthrosis:TSR0:TSRT -dysautonomia:TSTN:TSTN -dysautonomic:TSTN:TSTN -dysfunctions:TSFN:TSFN -dysgenically:TSJN:TSKN -dysgerminoma:TSKR:TSJR -dyskeratoses:TSKR:TSKR -dyskeratosis:TSKR:TSKR -dyskeratotic:TSKR:TSKR -dysmenorrhea:TSMN:TSMN -dysphemistic:TSFM:TSFM -dyssynergias:TSNR:TSNR -dyssynergies:TSNR:TSNR -dysteleology:TSTL:TSTL -earsplitting:ARSP:ARSP -earthshaking:AR0X:ARTX -earwitnesses:ARTN:ARTN -eavesdropped:AFST:AFST -eavesdropper:AFST:AFST -ebullioscopy:APLS:APLS -ebulloscopic:APLS:APLS -eccentricity:AXNT:AXNT -ecclesiastes:AKLS:AKLX -ecclesiastic:AKLS:AKLX -ecclesiology:AKLS:AKLX -echinococcus:AXNK:AKNK -echinodermal:AXNT:AKNT -echokinesias:AXKN:AKKN -echolocation:AXLK:AKLK -eclectically:AKLK:AKLK -ecliptically:AKLP:AKLP -ecologically:AKLJ:AKLK -ecomiastical:AKMS:AKMS -econometrics:AKNM:AKNM -econometrist:AKNM:AKNM -economically:AKNM:AKNM -ecotypically:AKTP:AKTP -ecstatically:AKST:AKST -ectethmoidal:AKT0:AKTT -ectocervices:AKTS:AKTS -ectocervixes:AKTS:AKTS -ectodermoses:AKTT:AKTT -ectodermosis:AKTT:AKTT -ectohormonal:AKTH:AKTH -ectoparasite:AKTP:AKTP -ectrodactyly:AKTR:AKTR -ecumenically:AKMN:AKMN -edaciousness:ATSS:ATXS -editorialist:ATTR:ATTR -editorialize:ATTR:ATTR -educationist:ATKX:ATKX -effectuality:AFKT:AFKT -effectuating:AFKT:AFKT -effectuation:AFKT:AFKT -effeminately:AFMN:AFMN -effemination:AFMN:AFMN -effervescent:AFRF:AFRF -effervescing:AFRF:AFRF -efficiencies:AFSN:AFXN -efflorescent:AFLR:AFLR -efflorescing:AFLR:AFLR -effortlessly:AFRT:AFRT -effronteries:AFRN:AFRN -effusiveness:AFSF:AFSF -egalitarians:AKLT:AKLT -egoistically:AKST:AKST -egyptologist:AJPT:AKPT -eigenvectors:AJNF:AKNF -eighteenthes:ATN0:ATNT -eisteddfodau:ASTT:ASTT -eisteddfodic:ASTT:ASTT -ejaculations:AJKL:AHKL -elaborations:ALPR:ALPR -elaeostearic:ALST:ALST -elasmobranch:ALSM:ALSM -elasmosauros:ALSM:ALSM -elastication:ALST:ALST -elasticities:ALST:ALST -elasticizing:ALST:ALST -elderberries:ALTR:ALTR -electioneers:ALKX:ALKX -electiveness:ALKT:ALKT -electorships:ALKT:ALKT -electrically:ALKT:ALKT -electricians:ALKT:ALKT -electrifiers:ALKT:ALKT -electrifying:ALKT:ALKT -electrocuted:ALKT:ALKT -electrocutes:ALKT:ALKT -electrogenic:ALKT:ALKT -electrograph:ALKT:ALKT -electrolysis:ALKT:ALKT -electrolytes:ALKT:ALKT -electrolytic:ALKT:ALKT -electrolyzed:ALKT:ALKT -electrolyzer:ALKT:ALKT -electrolyzes:ALKT:ALKT -electrometry:ALKT:ALKT -electronvolt:ALKT:ALKT -electrophile:ALKT:ALKT -electrophone:ALKT:ALKT -electroplate:ALKT:ALKT -electroplexy:ALKT:ALKT -electroscope:ALKT:ALKT -electroshock:ALKT:ALKT -electrosleep:ALKT:ALKT -electrotaxes:ALKT:ALKT -electrotaxis:ALKT:ALKT -electrotonic:ALKT:ALKT -electrotonus:ALKT:ALKT -electrotyper:ALKT:ALKT -electrotypes:ALKT:ALKT -eleemosynary:ALMS:ALMS -elementalism:ALMN:ALMN -elementarily:ALMN:ALMN -eliminations:ALMN:ALMN -elizabethans:ALSP:ALSP -elliptically:ALPT:ALPT -elocutionary:ALKX:ALKX -elocutionist:ALKX:ALKX -elucidations:ALST:ALST -emancipating:AMNS:AMNS -emancipation:AMNS:AMNS -emancipative:AMNS:AMNS -emancipators:AMNS:AMNS -emancipatory:AMNS:AMNS -emarginately:AMRJ:AMRK -emargination:AMRJ:AMRK -emasculating:AMSK:AMSK -emasculation:AMSK:AMSK -emasculative:AMSK:AMSK -emasculators:AMSK:AMSK -emasculatory:AMSK:AMSK -embarkations:AMPR:AMPR -embarrassing:AMPR:AMPR -embassadress:AMPS:AMPS -embellishers:AMPL:AMPL -embellishing:AMPL:AMPL -embezzlement:AMPS:AMPS -embitterment:AMPT:AMPT -emblazements:AMPL:AMPL -emblazonment:AMPL:AMPL -emblematical:AMPL:AMPL -embolization:AMPL:AMPL -embouchement:AMPX:AMPK -embracements:AMPR:AMPR -embranchment:AMPR:AMPR -embrocations:AMPR:AMPR -embroiderers:AMPR:AMPR -embroideries:AMPR:AMPR -embroidering:AMPR:AMPR -embroilments:AMPR:AMPR -embryocardia:AMPR:AMPR -embryogenies:AMPR:AMPR -embryologies:AMPR:AMPR -embryologist:AMPR:AMPR -embryonating:AMPR:AMPR -embryotomies:AMPR:AMPR -embryotrophe:AMPR:AMPR -embryotrophy:AMPR:AMPR -emigrational:AMKR:AMKR -emotionalism:AMXN:AMXN -emotionalist:AMXN:AMXN -emotionality:AMXN:AMXN -emotionalize:AMXN:AMXN -empanelments:AMPN:AMPN -empathetical:AMP0:AMPT -empathically:AMP0:AMPT -emphatically:AMFT:AMFT -emplacements:AMPL:AMPL -empyreumatic:AMPR:AMPR -emulsifiable:AMLS:AMLS -enantiomorph:ANNT:ANNT -enantiopathy:ANNT:ANNT -enarthrodial:ANR0:ANRT -encaphalitic:ANKF:ANKF -encapsulated:ANKP:ANKP -encapsulates:ANKP:ANKP -encephalitic:ANSF:ANSF -encephalitis:ANSF:ANSF -encephalomas:ANSF:ANSF -encephaloses:ANSF:ANSF -encephalosis:ANSF:ANSF -enchainments:ANXN:ANKN -enchantingly:ANXN:ANKN -enchantments:ANXN:ANKN -enchondromas:ANXN:ANKN -encipherment:ANSF:ANSF -encirclement:ANSR:ANSR -enclitically:ANKL:ANKL -encompassing:ANKM:ANKM -encounterers:ANKN:ANKN -encountering:ANKN:ANKN -encroachment:ANKR:ANKR -encrustation:ANKR:ANKR -encumbrancer:ANKM:ANKM -encumbrances:ANKM:ANKM -encyclopedia:ANSK:ANSK -encyclopedic:ANSK:ANSK -endamagement:ANTM:ANTM -endangerment:ANTN:ANTN -endarteritis:ANTR:ANTR -endemicities:ANTM:ANTM -endenization:ANTN:ANTN -endocarditic:ANTK:ANTK -endocarditis:ANTK:ANTK -endocervical:ANTS:ANTS -endochondral:ANTX:ANTK -endodontical:ANTT:ANTT -endodontists:ANTT:ANTT -endogamously:ANTK:ANTK -endogenously:ANTJ:ANTK -endognathion:ANTN:ANTK -endometrioma:ANTM:ANTM -endometritis:ANTM:ANTM -endomorphism:ANTM:ANTM -endonuclease:ANTN:ANTN -endoparasite:ANTP:ANTP -endorsements:ANTR:ANTR -endoscopical:ANTS:ANTS -endoskeletal:ANTS:ANTS -endoskeleton:ANTS:ANTS -endosmosises:ANTS:ANTS -endothelioid:ANT0:ANTT -endothelioma:ANT0:ANTT -endothermies:ANT0:ANTT -endothermism:ANT0:ANTT -endotracheal:ANTT:ANTT -endurability:ANTR:ANTR -enduringness:ANTR:ANTR -enfeeblement:ANFP:ANFP -enfeoffments:ANFF:ANFF -enforcements:ANFR:ANFR -enfranchised:ANFR:ANFR -enfranchises:ANFR:ANFR -engagingness:ANKJ:ANKK -engenderment:ANJN:ANKN -englishwoman:ANKL:ANKL -englishwomen:ANKL:ANKL -engorgements:ANKR:ANKR -engraftation:ANKR:ANKR -engraftments:ANKR:ANKR -engrailments:ANKR:ANKR -engrossments:ANKR:ANKR -enhancements:ANNS:ANNS -enigmatizing:ANKM:ANKM -enlargements:ANLR:ANLR -enlighteners:ANLT:ANLT -enlightening:ANLT:ANLT -enlivenments:ANLF:ANLF -enneahedrons:ANHT:ANHT -ennoblements:ANPL:ANPL -enophthalmos:ANF0:ANFT -enophthalmus:ANF0:ANFT -enormousness:ANRM:ANRM -enouncements:ANNS:ANNS -ensanguining:ANSN:ANSN -enshrinement:ANXR:ANXR -ensilability:ANSL:ANSL -enslavements:ANSL:ANSL -ensnarements:ANSN:ANSN -enswathement:ANS0:ANST -entablatures:ANTP:ANTP -entablements:ANTP:ANTP -entamebiases:ANTM:ANTM -entamebiasis:ANTM:ANTM -entanglement:ANTN:ANTN -enterobiases:ANTR:ANTR -enterobiasis:ANTR:ANTR -enterococcus:ANTR:ANTR -enterocoelic:ANTR:ANTR -enterogenous:ANTR:ANTR -enterokinase:ANTR:ANTR -enteropexies:ANTR:ANTR -enteroplasty:ANTR:ANTR -enteroptoses:ANTR:ANTR -enteroptosis:ANTR:ANTR -enteroptotic:ANTR:ANTR -enterotomies:ANTR:ANTR -enterprisers:ANTR:ANTR -enterprizing:ANTR:ANTR -entertainers:ANTR:ANTR -entertaining:ANTR:ANTR -enthrallment:AN0R:ANTR -enthralments:AN0R:ANTR -enthronement:AN0R:ANTR -enthusiastic:AN0S:ANTX -enthymatical:AN0M:ANTM -enticingness:ANTS:ANTS -entitlements:ANTT:ANTT -entomologies:ANTM:ANTM -entomologist:ANTM:ANTM -entomologize:ANTM:ANTM -entoptoscopy:ANTP:ANTP -entrainments:ANTR:ANTR -entrammeling:ANTR:ANTR -entrancement:ANTR:ANTR -entrancingly:ANTR:ANTR -entreatingly:ANTR:ANTR -entreatments:ANTR:ANTR -entrenchment:ANTR:ANTR -entrepreneur:ANTR:ANTR -entrustments:ANTR:ANTR -entwinements:ANTN:ANTN -enucleations:ANKL:ANKL -enumerations:ANMR:ANMR -enunciations:ANNS:ANNX -envelopments:ANFL:ANFL -envenomation:ANFN:ANFN -enviableness:ANFP:ANFP -environments:ANFR:ANFR -envisagement:ANFS:ANFS -enzootically:ANST:ANST -enzymologies:ANSM:ANSM -enzymologist:ANSM:ANSM -eosinophiles:ASNF:ASNF -eosinophilia:ASNF:ASNF -eosinophilic:ASNF:ASNF -epencephalic:APNS:APNS -epencephalon:APNS:APNS -ependymomata:APNT:APNT -eperythrozoa:APR0:APRT -epexegetical:APKS:APKS -ephemerality:AFMR:AFMR -epicondylian:APKN:APKN -epicureanism:APKR:APKR -epicycloidal:APSK:APSK -epidemically:APTM:APTM -epidemiology:APTM:APTM -epidermoidal:APTR:APTR -epidiascopes:APTS:APTS -epididymides:APTT:APTT -epididymitis:APTT:APTT -epigastraeum:APKS:APKS -epigastrical:APKS:APKS -epigenesists:APJN:APKN -epiglottides:APKL:APKL -epiglottises:APKL:APKL -epiglottitis:APKL:APKL -epigrammatic:APKR:APKR -epigraphical:APKR:APKR -epigraphists:APKR:APKR -epileptiform:APLP:APLP -epimorphisms:APMR:APMR -epimorphoses:APMR:APMR -epimorphosis:APMR:APMR -epiphenomena:APFN:APFN -epirogenetic:APRJ:APRK -episcopacies:APSK:APSK -episcopalian:APSK:APSK -episcopalism:APSK:APSK -episiotomies:APST:APXT -episodically:APST:APST -epistemology:APST:APST -epistropheus:APST:APST -epitendineum:APTN:APTN -epithalamion:AP0L:APTL -epithalamium:AP0L:APTL -epitheliomas:AP0L:APTL -epithelizing:AP0L:APTL -epitrochlear:APTR:APTR -epitympanums:APTM:APTM -epityphlitis:APTF:APTF -epivaginitis:APFJ:APFK -epizoologies:APSL:APSL -epizootology:APST:APST -equalitarian:AKLT:AKLT -equalization:AKLS:AKLS -equanimously:AKNM:AKNM -equatability:AKTP:AKTP -equationally:AKXN:AKXN -equatorially:AKTR:AKTR -equestrienne:AKST:AKST -equidistance:AKTS:AKTS -equilibrated:AKLP:AKLP -equilibrates:AKLP:AKLP -equilibrator:AKLP:AKLP -equilibrists:AKLP:AKLP -equilibriums:AKLP:AKLP -equinoctials:AKNK:AKNK -equinumerous:AKNM:AKNM -equipollence:AKPL:AKPL -equipollency:AKPL:AKPL -equipollents:AKPL:AKPL -equiprobable:AKPR:AKPR -equivalences:AKFL:AKFL -equivalently:AKFL:AKFL -equivocacies:AKFK:AKFK -equivocality:AKFK:AKFK -equivocating:AKFK:AKFK -equivocation:AKFK:AKFK -equivocators:AKFK:AKFK -equivocatory:AKFK:AKFK -eradications:ARTK:ARTK -erectilities:ARKT:ARKT -ergastoplasm:ARKS:ARKS -ergocristine:ARKK:ARKK -erotogeneses:ARTJ:ARTK -erotogenesis:ARTJ:ARTK -erotological:ARTL:ARTL -erotologists:ARTL:ARTL -erotomaniacs:ARTM:ARTM -erotopathies:ARTP:ARTP -eruptiveness:ARPT:ARPT -erythematous:AR0M:ARTM -erythroblast:AR0R:ARTR -erythrocytes:AR0R:ARTR -erythrocytic:AR0R:ARTR -erythroderma:AR0R:ARTR -erythrogenic:AR0R:ARTR -erythroidine:AR0R:ARTR -erythromycin:AR0R:ARTR -erythroniums:AR0R:ARTR -erythrophage:AR0R:ARTR -erythrophile:AR0R:ARTR -erythrophore:AR0R:ARTR -escapologist:ASKP:ASKP -eschscholzia:AXXL:AXXL -escutcheoned:ASKX:ASKX -esoterically:ASTR:ASTR -espartograss:ASPR:ASPR -esperantists:ASPR:ASPR -essentialism:ASNX:ASNX -essentialist:ASNX:ASNX -essentiality:ASNX:ASNX -establishers:ASTP:ASTP -establishing:ASTP:ASTP -estrangement:ASTR:ASTR -eternalizing:ATRN:ATRN -eternization:ATRN:ATRN -ethanolamine:A0NL:ATNL -etherealises:A0RL:ATRL -etherealized:A0RL:ATRL -etherealizes:A0RL:ATRL -etherealness:A0RL:ATRL -etherization:A0RS:ATRS -ethicalities:A0KL:ATKL -ethnocentric:A0NS:ATNS -ethnogenists:A0NJ:ATNK -ethnographer:A0NK:ATNK -ethnographic:A0NK:ATNK -ethnological:A0NL:ATNL -ethnologists:A0NL:ATNL -ethohexadiol:A0HK:ATHK -ethosuximide:A0SK:ATSK -ethoxyethane:A0KS:ATKS -etymological:ATML:ATML -etymologises:ATML:ATML -etymologists:ATML:ATML -etymologized:ATML:ATML -etymologizes:ATML:ATML -eucalyptuses:AKLP:AKLP -euchromatins:AKRM:AKRM -eudaemonists:ATMN:ATMN -eudemonistic:ATMN:ATMN -eudiometical:ATMT:ATMT -euhemeristic:AHMR:AHMR -euhemerizing:AHMR:AHMR -eulogistical:ALJS:ALKS -eunuchoidism:ANXT:ANKT -euphonically:AFNK:AFNK -euphoniously:AFNS:AFNS -euphorically:AFRK:AFRK -euphuistical:AFST:AFST -eurhythmical:AR0M:ARTM -eurocurrency:ARKR:ARKR -eurodeposits:ARTP:ARTP -europeanised:ARPN:ARPN -eurosterling:ARST:ARST -eurycephalic:ARSF:ARSF -eurygnathism:ARN0:ARKN -eurygnathous:ARN0:ARKN -eurythermous:AR0R:ARTR -eustatically:ASTT:ASTT -euthyroidism:A0RT:ATRT -evagonations:AFKN:AFKN -evanescently:AFNS:AFNS -evangelicals:AFNJ:AFNK -evangelistic:AFNJ:AFNK -evangelizers:AFNJ:AFNK -evangelizing:AFNJ:AFNK -evanishments:AFNX:AFNX -evaporations:AFPR:AFPR -evenhandedly:AFNN:AFNN -eventfulness:AFNT:AFNT -eventuations:AFNT:AFNT -everblooming:AFRP:AFRP -everlastings:AFRL:AFRL -evidentially:AFTN:AFTN -eviscerating:AFSR:AFSR -evisceration:AFSR:AFSR -eviscerators:AFSR:AFSR -evolutionary:AFLX:AFLX -evolutionism:AFLX:AFLX -evolutionist:AFLX:AFLX -exacerbating:AKSS:AKSS -exacerbation:AKSS:AKSS -exactingness:AKSK:AKSK -exaggerating:AKSK:AKSK -exaggeration:AKSK:AKSK -exaggerative:AKSK:AKSK -exaggerators:AKSK:AKSK -exaggeratory:AKSK:AKSK -examinations:AKSM:AKSM -exanthematic:AKSN:AKSN -exasperaters:AKSS:AKSS -exasperating:AKSS:AKSS -exasperation:AKSS:AKSS -excellencies:AKSL:AKSL -exchangeable:AKSN:AKSN -exchangeably:AKSN:AKSN -excitability:AKST:AKST -exclamations:AKSL:AKSL -exclusionary:AKSL:AKSL -exclusionism:AKSL:AKSL -exclusionist:AKSL:AKSL -excogitating:AKSJ:AKSK -excogitation:AKSJ:AKSK -excogitative:AKSJ:AKSK -excogitators:AKSJ:AKSK -excoriations:AKSR:AKSR -excrescences:AKSR:AKSR -excrescently:AKSR:AKSR -excruciating:AKSR:AKSR -excruciation:AKSR:AKSR -exculpations:AKSL:AKSL -excursionary:AKSR:AKSR -excursionist:AKSR:AKSR -execratively:AKSK:AKSK -executioners:AKSK:AKSK -executorship:AKSK:AKSK -exegetically:AKSK:AKSK -exemplifiers:AKSM:AKSM -exemplifying:AKSM:AKSM -exenterating:AKSN:AKSN -exenteration:AKSN:AKSN -exfoliations:AKSF:AKSF -exhaustively:AKSS:AKSS -exhibitioner:AKSP:AKSP -exhibitively:AKSP:AKSP -exhilarating:AKSL:AKSL -exhilaration:AKSL:AKSL -exhilarative:AKSL:AKSL -exhilarators:AKSL:AKSL -exhilaratory:AKSL:AKSL -exhortations:AKSR:AKSR -exiguousness:AKSK:AKSK -exobiologist:AKSP:AKSP -exocrinology:AKSK:AKSK -exonerations:AKSN:AKSN -exonucleases:AKSN:AKSN -exoparasites:AKSP:AKSP -exoparasitic:AKSP:AKSP -exopeptidase:AKSP:AKSP -exophthalmia:AKSF:AKSF -exophthalmic:AKSF:AKSF -exophthalmos:AKSF:AKSF -exophthalmus:AKSF:AKSF -exorbitantly:AKSR:AKSR -exoskeletons:AKSS:AKSS -exoterically:AKST:AKST -exothermally:AKS0:AKST -expansionary:AKSP:AKSP -expansionism:AKSP:AKSP -expansionist:AKSP:AKSP -expatiations:AKSP:AKSP -expatriating:AKSP:AKSP -expatriation:AKSP:AKSP -expectancies:AKSP:AKSP -expectations:AKSP:AKSP -expectorants:AKSP:AKSP -expectorated:AKSP:AKSP -expectorates:AKSP:AKSP -expectorator:AKSP:AKSP -expediencies:AKSP:AKSP -expediential:AKSP:AKSP -expenditures:AKSP:AKSP -experiencing:AKSP:AKSP -experiential:AKSP:AKSP -experimental:AKSP:AKSP -experimented:AKSP:AKSP -experimenter:AKSP:AKSP -explanations:AKSP:AKSP -explantation:AKSP:AKSP -explications:AKSP:AKSP -explicitness:AKSP:AKSP -exploitation:AKSP:AKSP -exploitative:AKSP:AKSP -explorations:AKSP:AKSP -exponentials:AKSP:AKSP -exponentiate:AKSP:AKSP -exportations:AKSP:AKSP -expositional:AKSP:AKSP -expositively:AKSP:AKSP -expositorily:AKSP:AKSP -expostulated:AKSP:AKSP -expostulates:AKSP:AKSP -expostulator:AKSP:AKSP -expressional:AKSP:AKSP -expressively:AKSP:AKSP -expressivity:AKSP:AKSP -expropriable:AKSP:AKSP -expropriated:AKSP:AKSP -expropriates:AKSP:AKSP -expropriator:AKSP:AKSP -expurgations:AKSP:AKSP -exsanguinate:AKSS:AKSS -exsanguinity:AKSS:AKSS -exsanguinous:AKSS:AKSS -exsiccations:AKSS:AKSS -extemporized:AKST:AKST -extemporizer:AKST:AKST -extemporizes:AKST:AKST -extendedness:AKST:AKST -extenuations:AKST:AKST -exteriorized:AKST:AKST -exteriorizes:AKST:AKST -exterminable:AKST:AKST -exterminated:AKST:AKST -exterminates:AKST:AKST -exterminator:AKST:AKST -externalists:AKST:AKST -externalized:AKST:AKST -externalizes:AKST:AKST -exteroceptor:AKST:AKST -extinguished:AKST:AKST -extinguisher:AKST:AKST -extinguishes:AKST:AKST -extirpations:AKST:AKST -extortionate:AKST:AKST -extortioners:AKST:AKST -extortionist:AKST:AKST -extraditable:AKST:AKST -extraditions:AKST:AKST -extragenital:AKST:AKST -extrahepatic:AKST:AKST -extraliminal:AKST:AKST -extralogical:AKST:AKST -extramarital:AKST:AKST -extramundane:AKST:AKST -extramurally:AKST:AKST -extraneously:AKST:AKST -extranuclear:AKST:AKST -extrapolated:AKST:AKST -extrapolates:AKST:AKST -extrapolator:AKST:AKST -extrasensory:AKST:AKST -extrasystole:AKST:AKST -extrauterine:AKST:AKST -extravagance:AKST:AKST -extravaganza:AKST:AKST -extravaginal:AKST:AKST -extravasated:AKST:AKST -extraversion:AKST:AKST -extraversive:AKST:AKST -extrications:AKST:AKST -extroversion:AKST:AKST -extroversive:AKST:AKST -eyewitnesses:ATNS:ATNS -fabrications:FPRK:FPRK -fabulousness:FPLS:FPLS -facelessness:FSLS:FSLS -facilitating:FSLT:FSLT -facilitation:FSLT:FSLT -facilitative:FSLT:FSLT -facilitators:FSLT:FSLT -facsimileing:FKSM:FKSM -factionalism:FKXN:FKXN -factionalist:FKXN:FKXN -factiousness:FKTS:FKTS -factitiously:FKTT:FKTT -factualistic:FKTL:FKTL -fainthearted:FN0R:FNTR -faintishness:FNTX:FNTX -faitaccompli:FTKM:FTKM -faithfulness:F0FL:FTFL -fallaciously:FLSS:FLXS -fallibleness:FLPL:FLPL -familiarized:FMLR:FMLR -familiarizer:FMLR:FMLR -familiarizes:FMLR:FMLR -familiarness:FMLR:FMLR -fanaticizing:FNTS:FNTS -fancifulness:FNSF:FNSF -faradization:FRTS:FRTS -farcicalness:FRSK:FRSK -farsightedly:FRST:FRST -farthingales:FR0N:FRTN -fasciculated:FSKL:FSKL -fascinations:FSNX:FSNX -fascioliases:FSLS:FSLS -fascioliasis:FSLS:FSLS -fascioloides:FSLT:FSLT -fasciolopsis:FSLP:FSLP -fastidiously:FSTT:FSTT -fatherliness:F0RL:FTRL -fathomlessly:FTML:FTML -fatigability:FTKP:FTKP -faultfinders:FLTF:FLTF -faultfinding:FLTF:FLTF -fearlessness:FRLS:FRLS -fearsomeness:FRSM:FRSM -feasibleness:FSPL:FSPL -featherbrain:F0RP:FTRP -featheredged:F0RJ:FTRJ -featheredges:F0RJ:FTRJ -featherheads:F0RT:FTRT -featheriness:F0RN:FTRN -febrifacient:FPRF:FPRF -fecklessness:FKLS:FKLS -fecundations:FKNT:FKNT -federalistic:FTRL:FTRL -federalizing:FTRL:FTRL -federational:FTRX:FTRX -federatively:FTRT:FTRT -feebleminded:FPLM:FPLM -felicitating:FLST:FLST -felicitation:FLST:FLST -felicitators:FLST:FLST -felicitously:FLST:FLST -feminineness:FMNN:FMNN -feminization:FMNS:FMNS -femorotibial:FMRT:FMRT -fenestrating:FNST:FNST -fenestration:FNST:FNST -fennelflower:FNLF:FNLF -fermentation:FRMN:FRMN -fermentative:FRMN:FRMN -ferrugineous:FRJN:FRKN -fertilizable:FRTL:FRTL -festschrifts:FSTX:FSTX -feverishness:FFRX:FFRX -fianchettoed:FNXT:FNKT -fianchettoes:FNXT:FNKT -fibreousness:FPRS:FPRS -fibrilations:FPRL:FPRL -fibrillating:FPRL:FPRL -fibrillation:FPRL:FPRL -fibrilliform:FPRL:FPRL -fibrinogenic:FPRN:FPRN -fibrinolyses:FPRN:FPRN -fibrinolysin:FPRN:FPRN -fibrinolysis:FPRN:FPRN -fibrinolytic:FPRN:FPRN -fibroadenoma:FPRT:FPRT -fibroblastic:FPRP:FPRP -fibroelastic:FPRL:FPRL -fibromatoses:FPRM:FPRM -fibromatosis:FPRM:FPRM -fibromyomata:FPRM:FPRM -fibromyxomas:FPRM:FPRM -fibroplastic:FPRP:FPRP -fibrosarcoma:FPRS:FPRS -fictionalize:FKXN:FKXN -fictitiously:FKTT:FKTT -fiddlesticks:FTLS:FTLS -fidejussores:FTJS:FTJS -fiendishness:FNTX:FNTX -figuratively:FKRT:FKRT -filibustered:FLPS:FLPS -filibusterer:FLPS:FLPS -fimbriations:FMPR:FMPR -finalization:FNLS:FNLS -fineableness:FNPL:FNPL -fingerboards:FNKR:FNJR -fingerprints:FNKR:FNJR -fingerstalls:FNKR:FNJR -firecrackers:FRKR:FRKR -fireproofing:FRPR:FRPR -fissipalmate:FSPL:FSPL -fissirostral:FSRS:FSRS -flabbergasts:FLPR:FLPR -flabelliform:FLPL:FLPL -flaccidities:FLXT:FLXT -flagellating:FLJL:FLKL -flagellation:FLJL:FLKL -flagellators:FLJL:FLKL -flagellatory:FLJL:FLKL -flagitiously:FLJT:FLKT -flamboyantly:FLMP:FLMP -flameproofed:FLMP:FLMP -flamethrower:FLM0:FLMT -flammability:FLMP:FLMP -flannelboard:FLNL:FLNL -flashforward:FLXF:FLXF -flatfootedly:FLTF:FLTF -flatteringly:FLTR:FLTR -flatulencies:FLTL:FLTL -flavinescent:FLFN:FLFN -flavoprotein:FLFP:FLFP -flawlessness:FLLS:FLLS -flectionless:FLKX:FLKX -fleetingness:FLTN:FLTN -fletcherized:FLXR:FLXR -fletcherizes:FLXR:FLXR -flexibleness:FLKS:FLKS -flexographic:FLKS:FLKS -flickeringly:FLKR:FLKR -flimflammers:FLMF:FLMF -flimflamming:FLMF:FLMF -flittermouse:FLTR:FLTR -floatability:FLTP:FLTP -flocculating:FLKL:FLKL -flocculation:FLKL:FLKL -flocculently:FLKL:FLKL -floodlighted:FLTL:FLTL -floorwalkers:FLRL:FLRL -floriculture:FLRK:FLRK -flowcharting:FLXR:FLKR -fluctuations:FLKT:FLKT -fluidextract:FLTK:FLTK -fluidization:FLTS:FLTS -fluocinolone:FLSN:FLSN -fluorapatite:FLRP:FLRP -fluorescence:FLRS:FLRS -fluoridating:FLRT:FLRT -fluoridation:FLRT:FLRT -fluoridizing:FLRT:FLRT -fluorinating:FLRN:FLRN -fluorination:FLRN:FLRN -fluorocarbon:FLRK:FLRK -fluorochrome:FLRK:FLRK -fluorometric:FLRM:FLRM -fluoroscopes:FLRS:FLRS -fluoroscopic:FLRS:FLRS -fluorouracil:FLRR:FLRR -fluosilicate:FLSL:FLSL -fluphenazine:FLFN:FLFN -flutteringly:FLTR:FLTR -fluviomarine:FLFM:FLFM -focalization:FKLS:FKLS -folkloristic:FLKL:FLKL -folliculated:FLKL:FLKL -folliculitis:FLKL:FLKL -folliculomas:FLKL:FLKL -fomentations:FMNT:FMNT -foodservices:FTSR:FTSR -foolhardiest:FLRT:FLRT -footlessness:FTLS:FTLS -footsloggers:FTSL:FTSL -footslogging:FTSL:FTSL -footsoreness:FTSR:FTSR -foramiferous:FRMF:FRMF -foraminifers:FRMN:FRMN -forbearingly:FRPR:FRPR -forbiddingly:FRPT:FRPT -forcefulness:FRSF:FRSF -forcibleness:FRSP:FRSP -forebodingly:FRPT:FRPT -foreclosable:FRKL:FRKL -foreclosures:FRKL:FRKL -forefatherly:FRF0:FRFT -foregathered:FRK0:FRKT -foregoneness:FRKN:FRKN -forehandedly:FRHN:FRHN -forejudgment:FRJT:FRJT -foreknowable:FRKN:FRKN -forensically:FRNS:FRNS -foreordained:FRRT:FRRT -forepleasure:FRPL:FRPL -forequarters:FRKR:FRKR -forereaching:FRRX:FRRK -foreshadowed:FRXT:FRXT -foreshadower:FRXT:FRXT -foreshortens:FRXR:FRXR -forestallers:FRST:FRST -forestalling:FRST:FRST -forestalment:FRST:FRST -forestaysail:FRST:FRST -foreswearing:FRSR:FRSR -foretokening:FRTK:FRTK -foretriangle:FRTR:FRTR -forewarnings:FRRN:FRRN -forgathering:FRK0:FRKT -formaldehyde:FRML:FRML -formalinized:FRML:FRML -formalinizes:FRML:FRML -formlessness:FRML:FRML -formulations:FRML:FRML -fornications:FRNK:FRNK -forsakenness:FRSK:FRSK -forswornness:FRSR:FRSR -forthrightly:FR0R:FRTR -fortifyingly:FRTF:FRTF -fortuitously:FRTT:FRTT -fossilisable:FSLS:FSLS -fossilizable:FSLS:FSLS -foundational:FNTX:FNTX -fountainhead:FNTN:FNTN -fourflushers:FRFL:FRFL -fourteenfold:FRTN:FRTN -fourteenthes:FRTN:FRTN -fourteenthly:FRTN:FRTN -fractionally:FRKX:FRKX -fractionated:FRKX:FRKX -fractionates:FRKX:FRKX -fractionator:FRKX:FRKX -fractionises:FRKX:FRKX -fractionized:FRKX:FRKX -fractionizes:FRKX:FRKX -fragmentally:FRKM:FRKM -fragmentized:FRKM:FRKM -fragmentizes:FRKM:FRKM -francophiles:FRNK:FRNK -francophobes:FRNK:FRNK -francophobia:FRNK:FRNK -francophones:FRNK:FRNK -frangibility:FRNJ:FRNK -frangipanies:FRNJ:FRNK -frankalmoign:FRNK:FRNK -frankenstein:FRNK:FRNK -frankfurters:FRNK:FRNK -frankincense:FRNK:FRNK -fraternalism:FRTR:FRTR -fraternities:FRTR:FRTR -fraternizers:FRTR:FRTR -fraternizing:FRTR:FRTR -fraudulently:FRTL:FRTL -freakishness:FRKX:FRKX -freehandedly:FRHN:FRHN -freestanding:FRST:FRST -freethinkers:FR0N:FRTN -freethinking:FR0N:FRTN -freewheelers:FRLR:FRLR -freewheeling:FRLN:FRLN -freightliner:FRTL:FRTL -freightyards:FRTR:FRTR -frenchifying:FRNX:FRNK -frenetically:FRNT:FRNT -freneticness:FRNT:FRNT -frequentable:FRKN:FRKN -frequentness:FRKN:FRKN -friabilities:FRPL:FRPL -fricasseeing:FRKS:FRKS -frictionless:FRKX:FRKX -friderichsen:FRTR:FRTR -friendliness:FRNT:FRNT -frogmarching:FRKM:FRKM -frolicsomely:FRLK:FRLK -frondescence:FRNT:FRNT -frontbencher:FRNT:FRNT -frontiersman:FRNT:FRNT -frontiersmen:FRNT:FRNT -frontispiece:FRNT:FRNT -frontrunners:FRNT:FRNT -fructiferous:FRKT:FRKT -fruitfulness:FRTF:FRTF -frumpishness:FRMP:FRMP -frustrations:FRST:FRST -fuchsinophil:FKSN:FKSN -fugitiveness:FJTF:FKTF -fulfillments:FLFL:FLFL -fuliginously:FLJN:FLKN -fulminations:FLMN:FLMN -fumblingness:FMPL:FMPL -funambulists:FNMP:FNMP -functionaire:FNKX:FNKX -functionally:FNKX:FNKX -functionless:FNKX:FNKX -fundamentals:FNTM:FNTM -fundectomies:FNTK:FNTK -fundoscopies:FNTS:FNTS -funduscopies:FNTS:FNTS -fungicidally:FNJS:FNKS -furazolidone:FRSL:FRSL -furcocercous:FRKS:FRKS -furfuraceous:FRFR:FRFR -furunculoses:FRNK:FRNK -furunculosis:FRNK:FRNK -fusobacteria:FSPK:FSPK -fusocellular:FSSL:FSSL -futilitarian:FTLT:FTLT -futuristical:FTRS:FTRS -futurologist:FTRL:FTRL -galactagogue:KLKT:KLKT -galactoceles:KLKT:KLKT -galactogogue:KLKT:KLKT -galactolipid:KLKT:KLKT -galactolipin:KLKT:KLKT -galactometry:KLKT:KLKT -galactophore:KLKT:KLKT -galactorrhea:KLKT:KLKT -galactoscope:KLKT:KLKT -galactosemia:KLKT:KLKT -galactosemic:KLKT:KLKT -galactosuria:KLKT:KLKT -gallbladders:KLPL:KLPL -gallinaceous:KLNS:KLNS -gallivanters:KLFN:KLFN -gallivanting:KLFN:KLFN -galvanically:KLFN:KLFN -galvanometry:KLFN:KLFN -galvanoscope:KLFN:KLFN -galvanoscopy:KLFN:KLFN -galvanotaxes:KLFN:KLFN -galvanotaxis:KLFN:KLFN -gamesmanship:KMSM:KMSM -gamesomeness:KMSM:KMSM -gametogenies:KMTJ:KMTK -gametogenous:KMTJ:KMTK -gametogonies:KMTK:KMTK -gametogonium:KMTK:KMTK -gametophores:KMTF:KMTF -gametophoric:KMTF:KMTF -gametophytes:KMTF:KMTF -gametophytic:KMTF:KMTF -gamongenesis:KMNJ:KMNK -gamopetalous:KMPT:KMPT -gamophyllous:KMFL:KMFL -gamosepalous:KMSP:KMSP -ganglioblast:KNKL:KNLP -ganglionated:KNKL:KNLN -ganglionitis:KNKL:KNLN -garnisheeing:KRNX:KRNX -garnishments:KRNX:KRNX -gasification:KSFK:KSFK -gasometrical:KSMT:KSMT -gastrocnemii:KSTR:KSTR -gastrogavage:KSTR:KSTR -gastrolavage:KSTR:KSTR -gastrolienal:KSTR:KSTR -gastrologies:KSTR:KSTR -gastrologist:KSTR:KSTR -gastronomers:KSTR:KSTR -gastronomies:KSTR:KSTR -gastronomist:KSTR:KSTR -gastropexies:KSTR:KSTR -gastrophilus:KSTR:KSTR -gastrophotor:KSTR:KSTR -gastropodous:KSTR:KSTR -gastroptoses:KSTR:KSTR -gastroptosis:KSTR:KSTR -gastroscopic:KSTR:KSTR -gastrotomies:KSTR:KSTR -gastrotrichs:KSTR:KSTR -gastrulating:KSTR:KSTR -gastrulation:KSTR:KSTR -gatecrashers:KTKR:KTKR -geanticlinal:JNTK:KNTK -geanticlines:JNTK:KNTK -gelatinizing:KLTN:JLTN -gelatinously:KLTN:JLTN -gemmologists:JMLJ:KMLK -gemmulations:JMLX:KMLX -genealogical:JNLJ:KNLK -genealogists:JNLJ:KNLK -generalities:JNRL:KNRL -generalizers:JNRL:KNRL -generalizing:JNRL:KNRL -generalships:JNRL:KNRL -generational:JNRX:KNRX -generatively:JNRT:KNRT -generatrices:JNRT:KNRT -generosities:JNRS:KNRS -generousness:JNRS:KNRS -geniculately:JNKL:KNKL -geniculation:JNKL:KNKL -genioglossus:JNKL:KNKL -genitalities:JNTL:KNTL -genitocrural:JNTK:KNTK -genotypicity:JNTP:KNTP -gentianellas:JNXN:KNXN -gentiopicrin:JNTP:KNTP -genuflecting:JNFL:KNFL -genuflection:JNFL:KNFL -genuflectors:JNFL:KNFL -genyplasties:JNPL:KNPL -geochemistry:JXMS:KKMS -geodetically:JTTK:KTTK -geographical:JKRF:KKRF -geologically:JLJK:KLKK -geomagnetism:JMNT:KMKN -geomechanics:JMXN:KMKN -geometrician:JMTR:KMTR -geometrizing:JMTR:KMTR -geopathology:JP0L:KPTL -geophysicist:JFSS:KFSS -geopolitical:JPLT:KPLT -geoscientist:JSNT:KSNT -geosynclinal:JSNK:KSNK -geosynclines:JSNK:KSNK -geotrichosis:JTRX:KTRK -geraniaceous:KRNS:JRNS -geratologies:KRTL:JRTL -geratologous:KRTL:JRTL -geriatrician:KRTR:JRTR -germanophile:KRMN:JRMN -germanophobe:KRMN:JRMN -germinations:KRMN:JRMN -germinativum:KRMN:JRMN -gerontocracy:KRNT:JRNT -gerrymanders:KRMN:JRMN -gesticulated:KSTK:JSTK -gesticulates:KSTK:JSTK -gesticulator:KSTK:JSTK -ghostwriters:KSTR:KSTR -ghostwriting:KSTR:KSTR -ghostwritten:KSTR:KSTR -ghoulishness:KLXN:KLXN -giftwrapping:JFTR:KFTR -gigantically:JKNT:KKNT -giganticness:JKNT:KKNT -gigantomachy:JKNT:KKNT -gillyflowers:KLFL:JLFL -gingerliness:KNKR:JNJR -gingivectomy:KNJF:JNKF -girdlescones:JRTL:KRTL -glabrousness:KLPR:KLPR -glaciologist:KLSL:KLXL -gladiatorial:KLTT:KLTT -glandulously:KLNT:KLNT -glassblowers:KLSP:KLSP -glassblowing:KLSP:KLSP -glasspapered:KLSP:KLSP -glassworkers:KLSR:KLSR -glaucomatous:KLKM:KLKM -glenohumeral:KLNH:KLNH -glimmeringly:KLMR:LMRN -glioblastoma:KLPL:LPLS -glisteningly:KLST:LSTN -glitteringly:KLTR:LTRN -globeflowers:KLPF:KLPF -globetrotter:KLPT:KLPT -globigerinae:KLPJ:KLPK -globigerinas:KLPJ:KLPK -globularness:KLPL:KLPL -glockenspiel:KLKN:KLKN -glomangiomas:KLMN:KLMN -glomectomies:KLMK:KLMK -glomerations:KLMR:KLMR -glomerulitis:KLMR:KLMR -gloriousness:KLRS:KLRS -glossanthrax:KLSN:KLSN -glossarially:KLSR:KLSR -glossography:KLSK:KLSK -glossologies:KLSL:KLSL -glottologies:KLTL:KLTL -glucoprotein:KLKP:KLKP -glucosidical:KLKS:KLKS -glutethimide:KLT0:KLTT -gluttonously:KLTN:KLTN -glycocholate:KLKX:KLKK -glycocyamine:KLKS:KLKS -glycogeneses:KLKJ:KLKK -glycogenesis:KLKJ:KLKK -glycogenetic:KLKJ:KLKK -glycopeptide:KLKP:KLKP -glycoprotein:KLKP:KLKP -glycotrophic:KLKT:KLKT -glycyrrhizic:KLSR:KLSR -glycyrrhizin:KLSR:KLSR -glyphography:KLFK:KLFK -glyptography:KLPT:KLPT -gnatcatchers:NTKX:NTKX -gnomonically:NMNK:NMNK -gnosticizers:NSTS:NSTS -gnosticizing:NSTS:NSTS -gnotobiology:NTPL:NTPL -gnotobiotics:NTPT:NTPT -gobbledegook:KPLT:KPLT -gobbledygook:KPLT:KPLT -goddaughters:KTTR:KTTR -goldbrickers:KLTP:KLTP -gonadotropic:KNTT:KNTT -gonadotropin:KNTT:KNTT -gonfaloniers:KNFL:KNFL -gonioscopies:KNSK:KNSK -gonnococcoid:KNKK:KNKK -gooseberries:KSPR:KSPR -goosesteping:KSST:KSST -gorgeousness:KRJS:KRKS -gormandizers:KRMN:KRMN -gormandizing:KRMN:KRMN -gossipmonger:KSPM:KSPM -governmental:KFRN:KFRN -governorship:KFRN:KFRN -gracefulness:KRSF:KRSF -graciousness:KRSS:KRXS -gradableness:KRTP:KRTP -gradualistic:KRTL:KRTL -grallatorial:KRLT:KRLT -graminaceous:KRMN:KRMN -grammatology:KRMT:KRMT -granddaddies:KRNT:KRNT -grandeeships:KRNT:KRNT -grandfathers:KRNT:KRNT -grandmasters:KRNT:KRNT -grandmothers:KRNT:KRNT -grandnephews:KRNT:KRNT -grandparents:KRNT:KRNT -grandstander:KRNT:KRNT -grangerizers:KRNK:KRNJ -grangerizing:KRNK:KRNJ -granodiorite:KRNT:KRNT -granulations:KRNL:KRNL -granuloblast:KRNL:KRNL -granulocytes:KRNL:KRNL -granulocytic:KRNL:KRNL -granulopenia:KRNL:KRNL -graphitizing:KRFT:KRFT -graphologies:KRFL:KRFL -graphologist:KRFL:KRFL -graspingness:KRSP:KRSP -grassfinches:KRSF:KRSF -grasshoppers:KRSP:KRSP -gratefulness:KRTF:KRTF -gratifyingly:KRTF:KRTF -gratuitously:KRTT:KRTT -graveclothes:KRFK:KRFK -gravimetries:KRFM:KRFM -gravitations:KRFT:KRFT -greathearted:KR0R:KRTR -greenbottles:KRNP:KRNP -greenfinches:KRNF:KRNF -greengrocers:KRNK:KRNK -greengrocery:KRNK:KRNK -greenishness:KRNX:KRNX -greenthumbed:KRN0:KRNT -gregarinoses:KRKR:KRKR -gregarinosis:KRKR:KRKR -gregariously:KRKR:KRKR -griddlebread:KRTL:KRTL -griddlecakes:KRTL:KRTL -grievousness:KRFS:KRFS -griseofulvin:KRSF:KRSF -grossularite:KRSL:KRSL -grotesquerie:KRTS:KRTS -groundlessly:KRNT:KRNT -groundsheets:KRNT:KRNT -groundswells:KRNT:KRNT -gruesomeness:KRSM:KRSM -grumpishness:KRMP:KRMP -guanethidine:KN0T:KNTT -guaranteeing:KRNT:KRNT -guardianship:KRTN:KRTN -gubernaculum:KPRN:KPRN -guerrillaism:KRLS:KRLS -guesstimates:KSTM:KSTM -guilefulness:KLFL:KLFL -guillotiners:KLTN:KLTN -guillotining:KLTN:KLTN -guitarfishes:KTRF:KTRF -gurgitations:KRJT:KRKT -guttersnipes:KTRS:KTRS -gutturalises:KTRL:KTRL -gutturalized:KTRL:KTRL -gutturalizes:KTRL:KTRL -gutturalness:KTRL:KTRL -gymnasiarchs:KMNS:JMNX -gymnosophist:KMNS:JMNS -gynaecocracy:KNKK:JNKK -gynaecologic:KNKL:JNKL -gynecography:KNKK:JNKK -gynecologies:KNKL:JNKL -gynecologist:KNKL:JNKL -gynecomastia:KNKM:JNKM -gyrihabenula:KRHP:JRHP -gyromagnetic:KRMN:JRMK -gyroscopical:KRSK:JRSK -haberdashers:HPRT:HPRT -haberdashery:HPRT:HPRT -habilitation:HPLT:HPLT -habitability:HPTP:HPTP -habitational:HPTX:HPTX -habitualness:HPTL:HPTL -habituations:HPTX:HPTX -habronemosis:HPRN:HPRN -haemachromes:HMKR:HMKR -haematemesis:HMTM:HMTM -haematoblast:HMTP:HMTP -haematocrits:HMTK:HMTK -haematocryal:HMTK:HMTK -haematogenic:HMTJ:HMTK -haematologic:HMTL:HMTL -haematolyses:HMTL:HMTL -haematolysis:HMTL:HMTL -haematopinus:HMTP:HMTP -haematoxylic:HMTK:HMTK -haematoxylin:HMTK:HMTK -haematoxylon:HMTK:HMTK -haemophiliac:HMFL:HMFL -haemopoiesis:HMPS:HMPS -haemoproteus:HMPR:HMPR -haemorrhaged:HMRJ:HMRK -haemorrhages:HMRJ:HMRK -haemorrhagia:HMRJ:HMRK -haemorrhagic:HMRJ:HMRK -haemorrhoids:HMRT:HMRT -haemostatics:HMST:HMST -haereditates:HRTT:HRTT -hagiocracies:HJKR:HKKR -hagiographer:HJKR:HKKR -hagiographic:HJKR:HKKR -hagiolatrous:HJLT:HKLT -hagiological:HJLJ:HKLK -hagiologists:HJLJ:HKLK -hagisoscopic:HJSS:HKSS -hairbreadths:HRPR:HRPR -hairdressers:HRTR:HRTR -hairdressing:HRTR:HRTR -hairlessness:HRLS:HRLS -hairsbreadth:HRSP:HRSP -hairsplitter:HRSP:HRSP -hairstylists:HRST:HRST -halfwittedly:HLFT:HLFT -halisteresis:HLST:HLST -halisteretic:HLST:HLST -hallelujahes:HLLJ:HLLH -hallowedness:HLTN:HLTN -hallucinated:HLSN:HLSN -hallucinates:HLSN:HLSN -hallucinator:HLSN:HLSN -hallucinogen:HLSN:HLSN -hallucinoses:HLSN:HLSN -hallucinosis:HLSN:HLSN -halogenating:HLJN:HLKN -halogenation:HLJN:HLKN -hamartiology:HMRT:HMRT -hammerheaded:HMRT:HMRT -hamperedness:HMPR:HMPR -hampshireman:HMPX:HMPX -hampshiremen:HMPX:HMPX -hampshirites:HMPX:HMPX -hamshackling:HMXK:HMXK -hamstringing:HMST:HMST -handcrafting:HNTK:HNTK -handicappers:HNTK:HNTK -handicapping:HNTK:HNTK -handkerchief:HNTK:HNTK -handsbreadth:HNTS:HNTS -handsomeness:HNTS:HNTS -handwritings:HNTR:HNTR -haplodonties:HPLT:HPLT -happenstance:HPNS:HPNS -haptotropism:HPTT:HPTT -hardheadedly:HRTT:HRTT -harlequinade:HRLK:HRLK -harmlessness:HRML:HRML -harmonically:HRMN:HRMN -harmoniously:HRMN:HRMN -harmonisable:HRMN:HRMN -harmonizable:HRMN:HRMN -harpsichords:HRPS:HRPS -harquibusier:HRKP:HRKP -hasenpfeffer:HSNP:HSNP -headforemost:HTFR:HTFR -headmasterly:HTMS:HTMS -headmistress:HTMS:HTMS -headquarters:HTKR:HTKR -headreaching:HTRX:HTRK -headshrinker:HTXR:HTXR -headstrongly:HTST:HTST -heartbreaker:HRTP:HRTP -hearteningly:HRTN:HRTN -hearthstones:HR0S:HRTS -heartrending:HRTR:HRTR -heartstrings:HRTS:HRTS -heartwarming:HRTR:HRTR -heathenishly:H0NX:HTNX -heathenizing:H0NS:HTNS -heavenliness:HFNL:HFNL -heavyhearted:HFHR:HFHR -heavyweights:HFTS:HFTS -hebetudinous:HPTT:HPTT -heckelphones:HKLF:HKLF -hectocotylus:HKTK:HKTK -hectographic:HKTK:HKTK -hedgehoppers:HJHP:HJHP -hedgehopping:HJHP:HJHP -heedlessness:HTLS:HTLS -helianthemum:HLN0:HLNT -helianthuses:HLN0:HLNT -helicographs:HLKK:HLKK -helicoidally:HLKT:HLKT -heliocentric:HLSN:HLSN -heliochromic:HLKR:HLKR -heliographer:HLKR:HLKR -heliographes:HLKR:HLKR -heliographic:HLKR:HLKR -heliogravure:HLKR:HLKR -heliolatrous:HLLT:HLLT -heliotherapy:HL0R:HLTR -heliotropism:HLTR:HLTR -hellgrammite:HLKR:HLKR -helplessness:HLPL:HLPL -hemangiomata:HMNJ:HMNK -hemarthroses:HMR0:HMRT -hemarthrosis:HMR0:HMRT -hemathermous:HM0R:HMTR -hematidrosis:HMTT:HMTT -hematocolpos:HMTK:HMTK -hematocolpus:HMTK:HMTK -hematogenous:HMTJ:HMTK -hematologies:HMTL:HMTL -hematologist:HMTL:HMTL -hematomyelia:HMTM:HMTM -hemautograph:HMTK:HMTK -hemerocallis:HMRK:HMRK -hemicentrums:HMSN:HMSN -hemicerebrum:HMSR:HMSR -hemichordate:HMXR:HMKR -hemihydrated:HMHT:HMHT -hemihydrates:HMHT:HMHT -hemikaryotic:HMKR:HMKR -hemimorphism:HMMR:HMMR -hemimorphite:HMMR:HMMR -hemiparasite:HMPR:HMPR -hemispheroid:HMSF:HMSF -hemiterpenes:HMTR:HMTR -hemithoraces:HM0R:HMTR -hemithoraxes:HM0R:HMTR -hemoconioses:HMKN:HMKN -hemoconiosis:HMKN:HMKN -hemodialyses:HMTL:HMTL -hemodialysis:HMTL:HMTL -hemodilution:HMTL:HMTL -hemodynamics:HMTN:HMTN -hemoglobinic:HMKL:HMKL -hemophiliacs:HMFL:HMFL -hemoptyseses:HMPT:HMPT -hemorrhagica:HMRJ:HMRK -hemorrhaging:HMRJ:HMRK -hemorrhoidal:HMRT:HMRT -hemosporidia:HMSP:HMSP -hemothoraces:HM0R:HMTR -hemothoraxes:HM0R:HMTR -hemstitchers:HMST:HMST -hemstitching:HMST:HMST -henceforward:HNSF:HNSF -hendecagonal:HNTK:HNTK -hendecahedra:HNTK:HNTK -henotheistic:HN0S:HNTS -heparinizing:HPRN:HPRN -hepatization:HPTS:HPTS -hepatogenous:HPTJ:HPTK -hepatomegaly:HPTM:HPTM -hepatopexies:HPTP:HPTP -hepatoportal:HPTP:HPTP -heraldically:HRLT:HRLT -herbaceously:HRPS:HRPS -herbicidally:HRPS:HRPS -hereditament:HRTT:HRTT -hereditarian:HRTT:HRTT -hereditarily:HRTT:HRTT -hereinbefore:HRNP:HRNP -heritability:HRTP:HRTP -hermeneutics:HRMN:HRMN -hermeneutist:HRMN:HRMN -hermetically:HRMT:HRMT -hermitically:HRMT:HRMT -herniotomies:HRNT:HRNT -heroicalness:HRKL:HRKL -herpetologic:HRPT:HRPT -herpetomonas:HRPT:HRPT -herringbones:HRNK:HRNK -hesitatingly:HSTT:HSTT -heterarchies:HTRR:HTRR -heteroblasty:HTRP:HTRP -heterocaryon:HTRK:HTRK -heterocercal:HTRS:HTRS -heterochrony:HTRK:HTRK -heteroclitic:HTRK:HTRK -heterocyclic:HTRS:HTRS -heterodactyl:HTRT:HTRT -heterodoxies:HTRT:HTRT -heterodyning:HTRT:HTRT -heteroecious:HTRS:HTRX -heteroerotic:HTRR:HTRR -heterogamete:HTRK:HTRK -heterogamies:HTRK:HTRK -heterogamous:HTRK:HTRK -heterogenous:HTRJ:HTRK -heterogonies:HTRK:HTRK -heterogonous:HTRK:HTRK -heterografts:HTRK:HTRK -heterography:HTRK:HTRK -heterogynous:HTRJ:HTRK -heterokaryon:HTRK:HTRK -heterologies:HTRL:HTRL -heterologous:HTRL:HTRL -heteromerous:HTRM:HTRM -heteronomous:HTRN:HTRN -heteronymous:HTRN:HTRN -heterophoria:HTRF:HTRF -heterophoric:HTRF:HTRF -heterophylly:HTRF:HTRF -heterophytes:HTRF:HTRF -heteroplasia:HTRP:HTRP -heteroplasty:HTRP:HTRP -heteroploidy:HTRP:HTRP -heterosexual:HTRS:HTRS -heterotactic:HTRT:HTRT -heterotaxias:HTRT:HTRT -heterotopias:HTRT:HTRT -heterotopies:HTRT:HTRT -heterotopous:HTRT:HTRT -heterotrophy:HTRT:HTRT -heterotropia:HTRT:HTRT -heterozygote:HTRS:HTRS -heterozygous:HTRS:HTRS -hexacanthing:HKSK:HKSK -hexacanthous:HKSK:HKSK -hexachloride:HKSK:HKSK -hexacosanoic:HKSK:HKSK -hexadecanoic:HKST:HKST -hexagrammoid:HKSK:HKSK -hexahydrated:HKSH:HKSH -hexahydrates:HKSH:HKSH -hexametrical:HKSM:HKSM -hexamitiasis:HKSM:HKSM -hexasyllabic:HKSS:HKSS -hexobarbital:HKSP:HKSP -hidradenitis:HTRT:HTRT -hidradenomas:HTRT:HTRT -hierarchical:HRRX:HRRK -hieratically:HRTK:HRTK -hierocracies:HRKR:HRKR -hieroglyphic:HRKL:HRKL -hierological:HRLJ:HRLK -hierologists:HRLJ:HRLK -hierophantic:HRFN:HRFN -highhandedly:HNTT:HNTT -highlighting:HLTN:HLTN -hindquarters:HNTK:HNTK -hippocratism:HPKR:HPKR -hippopotamus:HPPT:HPPT -hirudiniases:HRTN:HRTN -hirudiniasis:HRTN:HRTN -histiocytoma:HSTS:HSTS -histogeneses:HSTJ:HSTK -histogenesis:HSTJ:HSTK -histogenetic:HSTJ:HSTK -histological:HSTL:HSTL -histologists:HSTL:HSTL -histoplasmin:HSTP:HSTP -historically:HSTR:HSTR -historicists:HSTR:HSTR -histotropism:HSTT:HSTT -histrionical:HSTR:HSTR -hobbledehoys:HPLT:HPLT -holistically:HLST:HLST -hollowwarely:HLRL:HLRL -holographies:HLKR:HLKR -holophrastic:HLFR:HLFR -holoplankton:HLPL:HLPL -homebuilders:HMPL:HMPL -homebuilding:HMPL:HMPL -homelessness:HMLS:HMLS -homeomorphic:HMMR:HMMR -homeopathies:HMP0:HMPT -homeoplastic:HMPL:HMPL -homeothermic:HM0R:HMTR -homeotypical:HMTP:HMTP -homesickness:HMSK:HMSK -homesteaders:HMST:HMST -homesteading:HMST:HMST -homewreckers:HMRK:HMRK -hominization:HMNS:HMNS -homochromous:HMKR:HMKR -homochronous:HMKR:HMKR -homocysteine:HMSS:HMSS -homoeopathic:HMP0:HMPT -homoeoplasia:HMPL:HMPL -homoeostases:HMST:HMST -homoeostasis:HMST:HMST -homoeostatic:HMST:HMST -homogenizers:HMJN:HMKN -homogenizing:HMJN:HMKN -homogenously:HMJN:HMKN -homogentisic:HMJN:HMKN -homoiotherms:HM0R:HMTR -homolecithal:HMLS:HMLS -homologating:HMLK:HMLK -homologation:HMLK:HMLK -homologizing:HMLJ:HMLK -homomorphism:HMMR:HMMR -homomorphous:HMMR:HMMR -homotaxially:HMTK:HMTK -homothallism:HM0L:HMTL -homothermous:HM0R:HMTR -homozygosity:HMSK:HMSK -homozygously:HMSK:HMSK -honeycombing:HNKM:HNKM -honeymooners:HNMN:HNMN -honeymooning:HNMN:HNMN -honeysuckers:HNSK:HNSK -honeysuckled:HNSK:HNSK -honeysuckles:HNSK:HNSK -honourariums:HNRR:HNRR -honourifical:HNRF:HNRF -hooshmagundy:HXMK:HXMK -hootenannies:HTNN:HTNN -hopelessness:HPLS:HPLS -horizontally:HRSN:HRSN -hormodendron:HRMT:HRMT -hormodendrum:HRMT:HRMT -hornswoggled:HRNS:HRNS -horrendously:HRNT:HRNT -horribleness:HRPL:HRPL -horrifically:HRFK:HRFK -horrifyingly:HRFN:HRFN -horsdecombat:HRST:HRST -horselaughes:HRSL:HRSL -horseleeches:HRSL:HRSL -horsemanship:HRSM:HRSM -horseplayers:HRSP:HRSP -horsewhipped:HRSP:HRSP -horsewhipper:HRSP:HRSP -horticulture:HRTK:HRTK -hospitalized:HSPT:HSPT -hospitalizes:HSPT:HSPT -hospitallers:HSPT:HSPT -housebreaker:HSPR:HSPR -housefathers:HSF0:HSFT -householders:HSHL:HSHL -househusband:HSHS:HSHS -housekeepers:HSKP:HSKP -housekeeping:HSKP:HSKP -housemasters:HSMS:HSMS -housemothers:HSM0:HSMT -housesitting:HSST:HSST -housewarming:HSRM:HSRM -houseworkers:HSRK:HSRK -huggermugger:HKRM:HKRM -humanistical:HMNS:HMNS -humanitarian:HMNT:HMNT -humanization:HMNS:HMNS -humiliations:HMLX:HMLX -hummingbirds:HMNK:HMNK -humorousness:HMRS:HMRS -hyaloplasmic:HLPL:HLPL -hybridisable:HPRT:HPRT -hybridizable:HPRT:HPRT -hydantoinate:HTNT:HTNT -hydatidiform:HTTT:HTTT -hydatidocele:HTTT:HTTT -hydnocarpate:HTNK:HTNK -hydradenitis:HTRT:HTRT -hydrargyrism:HTRR:HTRR -hydrastinine:HTRS:HTRS -hydrocarbons:HTRK:HTRK -hydrocephali:HTRS:HTRS -hydrocephaly:HTRS:HTRS -hydrochloric:HTRK:HTRK -hydrocolloid:HTRK:HTRK -hydrodynamic:HTRT:HTRT -hydroelastic:HTRL:HTRL -hydrofluoric:HTRF:HTRF -hydrogenated:HTRJ:HTRK -hydrogenates:HTRJ:HTRK -hydrogenator:HTRJ:HTRK -hydrogenises:HTRJ:HTRK -hydrogenized:HTRJ:HTRK -hydrogenizes:HTRJ:HTRK -hydrogeology:HTRJ:HTRK -hydrographer:HTRK:HTRK -hydrographic:HTRK:HTRK -hydrokinetic:HTRK:HTRK -hydrological:HTRL:HTRL -hydrologists:HTRL:HTRL -hydrolyzable:HTRL:HTRL -hydromassage:HTRM:HTRM -hydromedusae:HTRM:HTRM -hydromedusan:HTRM:HTRM -hydromedusas:HTRM:HTRM -hydropathies:HTRP:HTRP -hydropathist:HTRP:HTRP -hydrophanous:HTRF:HTRF -hydrophillic:HTRF:HTRF -hydrophilous:HTRF:HTRF -hydrophobics:HTRF:HTRF -hydrophonics:HTRF:HTRF -hydroquinone:HTRK:HTRK -hydrosalpinx:HTRS:HTRS -hydrospheres:HTRS:HTRS -hydrospheric:HTRS:HTRS -hydrostatics:HTRS:HTRS -hydrotherapy:HTR0:HTRT -hydrothermal:HTR0:HTRT -hydrotropism:HTRT:HTRT -hyetographic:HTKR:HTKR -hygienically:HJNK:HKNK -hygrometries:HKRM:HKRM -hygrophilous:HKRF:HKRF -hylomorphism:HLMR:HLMR -hymenopteral:HMNP:HMNP -hymenopteran:HMNP:HMNP -hymenopteron:HMNP:HMNP -hymenotomies:HMNT:HMNT -hymnological:HMNL:HMNL -hypaesthesia:HPS0:HPST -hypaesthesic:HPS0:HPST -hyperacidity:HPRS:HPRS -hyperalgesia:HPRL:HPRL -hyperalgesic:HPRL:HPRL -hyperbarical:HPRP:HPRP -hyperbolical:HPRP:HPRP -hyperbolises:HPRP:HPRP -hyperbolized:HPRP:HPRP -hyperbolizes:HPRP:HPRP -hyperchromia:HPRX:HPRK -hyperchromic:HPRX:HPRK -hypercorrect:HPRK:HPRK -hyperdiploid:HPRT:HPRT -hyperdulical:HPRT:HPRT -hyperdynamic:HPRT:HPRT -hyperendemic:HPRN:HPRN -hyperhedonia:HPRT:HPRT -hyperidroses:HPRT:HPRT -hyperidrosis:HPRT:HPRT -hyperkalemia:HPRK:HPRK -hyperkinesia:HPRK:HPRK -hyperkinesis:HPRK:HPRK -hyperkinetic:HPRK:HPRK -hyperlipemia:HPRL:HPRL -hyperlipemic:HPRL:HPRL -hypermarkets:HPRM:HPRM -hypermetrope:HPRM:HPRM -hypermetropy:HPRM:HPRM -hyperostoses:HPRS:HPRS -hyperostosis:HPRS:HPRS -hyperostotic:HPRS:HPRS -hyperplastic:HPRP:HPRP -hyperpyretic:HPRP:HPRP -hyperpyrexia:HPRP:HPRP -hyperspatial:HPRS:HPRS -hypersplenic:HPRS:HPRS -hypersthenic:HPRS:HPRS -hypertension:HPRT:HPRT -hypertensive:HPRT:HPRT -hyperthermal:HPR0:HPRT -hyperthermia:HPR0:HPRT -hyperthermic:HPR0:HPRT -hyperthyroid:HPR0:HPRT -hypertrophic:HPRT:HPRT -hypervolemia:HPRF:HPRF -hyphenations:HFNX:HFNX -hyphomycoses:HFMK:HFMK -hyphomycosis:HFMK:HFMK -hypnogeneses:HPNJ:HPNK -hypnogenesis:HPNJ:HPNK -hypnogenetic:HPNJ:HPNK -hypnological:HPNL:HPNL -hypnophobias:HPNF:HPNF -hypnophobies:HPNF:HPNF -hypnotherapy:HPN0:HPNT -hypnotically:HPNT:HPNT -hypnotizable:HPNT:HPNT -hypocalcemia:HPKL:HPKL -hypocalcemic:HPKL:HPKL -hypochlorite:HPKL:HPKL -hypochlorous:HPKL:HPKL -hypochondria:HPXN:HPKN -hypocoristic:HPKR:HPKR -hypocotylous:HPKT:HPKT -hypocritical:HPKR:HPKR -hypocupremia:HPKP:HPKP -hypocupremic:HPKP:HPKP -hypocycloids:HPSK:HPSK -hypodermatic:HPTR:HPTR -hypodiploidy:HPTP:HPTP -hypoeutectic:HPTK:HPTK -hypoferremia:HPFR:HPFR -hypofunction:HPFN:HPFN -hypogalactia:HPKL:HPKL -hypogastrium:HPKS:HPKS -hypoglycemia:HPKL:HPKL -hypoglycemic:HPKL:HPKL -hypognathism:HPN0:HPKN -hypognathous:HPN0:HPKN -hypogonadism:HPKN:HPKN -hypohidroses:HPHT:HPHT -hypohidrosis:HPHT:HPHT -hypomotility:HPMT:HPMT -hyponatremia:HPNT:HPNT -hypoploidies:HPPL:HPPL -hypoprosexia:HPPR:HPPR -hypostasised:HPST:HPST -hypostatical:HPST:HPST -hypostatized:HPST:HPST -hypostatizes:HPST:HPST -hyposulphite:HPSL:HPSL -hypothalamic:HP0L:HPTL -hypothalamus:HP0L:HPTL -hypothecated:HP0K:HPTK -hypothecates:HP0K:HPTK -hypothecator:HP0K:HPTK -hypothesists:HP0S:HPTS -hypothesized:HP0S:HPTS -hypothesizer:HP0S:HPTS -hypothesizes:HP0S:HPTS -hypothetical:HP0T:HPTT -hypothyroids:HP0R:HPTR -hypotonicity:HPTN:HPTN -hypotrophies:HPTR:HPTR -hypotympanum:HPTM:HPTM -hypoxanthine:HPKS:HPKS -hypsochromic:HPSK:HPSK -hypsodontism:HPST:HPST -hypsographic:HPSK:HPSK -hypsometrist:HPSM:HPSM -hysterectomy:HSTR:HSTR -hysterically:HSTR:HSTR -hysterogenic:HSTR:HSTR -hysterograph:HSTR:HSTR -hysterolyses:HSTR:HSTR -hysterolysis:HSTR:HSTR -hysteroscope:HSTR:HSTR -hysteroscopy:HSTR:HSTR -iatrochemist:ATRX:ATRK -iatrogenical:ATRJ:ATRK -iatrophysics:ATRF:ATRF -icelandicing:ASLN:ASLN -ichnographic:AXNK:AKNK -ichnological:AXNL:AKNL -ichthyocolla:AK0K:AKTK -ichthyologic:AK0L:AKTL -ichthyophagy:AK0F:AKTF -iconoclastic:AKNK:AKNK -iconographer:AKNK:AKNK -iconographic:AKNK:AKNK -iconolatrous:AKNL:AKNL -iconological:AKNL:AKNL -iconologists:AKNL:AKNL -icosahedrons:AKSH:AKSH -icteroanemia:AKTR:AKTR -icterogenous:AKTR:AKTR -idealistical:ATLS:ATLS -idealization:ATLS:ATLS -identifiable:ATNT:ATNT -identifiably:ATNT:ATNT -ideologizing:ATLJ:ATLK -ideomuscular:ATMS:ATMS -idiocratical:ATKR:ATKR -idiomorphism:ATMR:ATMR -idiomuscular:ATMS:ATMS -idiopathical:ATP0:ATPT -idiosyncracy:ATSN:ATSN -idiosyncrasy:ATSN:ATSN -idolatresses:ATLT:ATLT -idolatrizers:ATLT:ATLT -idolatrizing:ATLT:ATLT -idolatrously:ATLT:ATLT -ignitability:AKNT:ANTP -ignitibility:AKNT:ANTP -ignorantness:AKNR:ANRN -iliocostalis:ALKS:ALKS -ilioinguinal:ALNK:ALNK -illegalities:ALKL:ALKL -illegalizing:ALKL:ALKL -illegibility:ALJP:ALKP -illegitimacy:ALJT:ALKT -illegitimate:ALJT:ALKT -illiberalism:ALPR:ALPR -illiberality:ALPR:ALPR -illiciteness:ALST:ALST -illiteracies:ALTR:ALTR -illiteracyly:ALTR:ALTR -illiterately:ALTR:ALTR -illogicality:ALJK:ALKK -illuminating:ALMN:ALMN -illumination:ALMN:ALMN -illuminative:ALMN:ALMN -illuminators:ALMN:ALMN -illusionists:ALSN:ALXN -illusiveness:ALSF:ALSF -illusoriness:ALSR:ALSR -illustrating:ALST:ALST -illustration:ALST:ALST -illustrative:ALST:ALST -illustrators:ALST:ALST -imaginations:AMJN:AMKN -imbecilities:AMPS:AMPS -imbibitional:AMPP:AMPP -imbrications:AMPR:AMPR -imitableness:AMTP:AMTP -immaculately:AMKL:AMKL -immanentists:AMNN:AMNN -immaterially:AMTR:AMTR -immatureness:AMTR:AMTR -immaturities:AMTR:AMTR -immeasurable:AMSR:AMSR -immeasurably:AMSR:AMSR -immemorially:AMMR:AMMR -immensurable:AMNS:AMNS -immersionism:AMRS:AMRX -immersionist:AMRS:AMRX -immethodical:AM0T:AMTT -immigrations:AMKR:AMKR -imminentness:AMNN:AMNN -immobilities:AMPL:AMPL -immobilizers:AMPL:AMPL -immobilizing:AMPL:AMPL -immoderately:AMTR:AMTR -immoderation:AMTR:AMTR -immoralities:AMRL:AMRL -immortalized:AMRT:AMRT -immortalizer:AMRT:AMRT -immortalizes:AMRT:AMRT -immovability:AMFP:AMFP -immunization:AMNS:AMNS -immunoassays:AMNS:AMNS -immunologies:AMNL:AMNL -immunologist:AMNL:AMNL -immutability:AMTP:AMTP -impartiality:AMPR:AMPR -impassablely:AMPS:AMPS -impassioning:AMPS:AMPS -impeachments:AMPK:AMPK -impedimental:AMPT:AMPT -impedimentum:AMPT:AMPT -impenetrable:AMPN:AMPN -impenetrably:AMPN:AMPN -impenitently:AMPN:AMPN -imperatively:AMPR:AMPR -imperception:AMPR:AMPR -imperceptive:AMPR:AMPR -impercipient:AMPR:AMPR -imperfection:AMPR:AMPR -imperfective:AMPR:AMPR -imperforates:AMPR:AMPR -imperialists:AMPR:AMPR -imperialness:AMPR:AMPR -imperilments:AMPR:AMPR -imperishable:AMPR:AMPR -imperishably:AMPR:AMPR -impermanence:AMPR:AMPR -impermanency:AMPR:AMPR -impersonally:AMPR:AMPR -impersonated:AMPR:AMPR -impersonates:AMPR:AMPR -impersonator:AMPR:AMPR -impertinence:AMPR:AMPR -impertinency:AMPR:AMPR -imperviously:AMPR:AMPR -impetiginous:AMPT:AMPT -impignorated:AMPN:AMPK -impingements:AMPN:AMPN -implantation:AMPL:AMPL -implementers:AMPL:AMPL -implementing:AMPL:AMPL -implementors:AMPL:AMPL -implications:AMPL:AMPL -implicitness:AMPL:AMPL -implorations:AMPL:AMPL -impoliteness:AMPL:AMPL -imponderable:AMPN:AMPN -imponderably:AMPN:AMPN -importations:AMPR:AMPR -imposingness:AMPS:AMPS -impotentness:AMPT:AMPT -impoundments:AMPN:AMPN -impoverished:AMPF:AMPF -impoverisher:AMPF:AMPF -impoverishes:AMPF:AMPF -imprecations:AMPR:AMPR -imprecisions:AMPR:AMPR -impregnating:AMPR:AMPR -impregnation:AMPR:AMPR -impregnators:AMPR:AMPR -impressional:AMPR:AMPR -impressionis:AMPR:AMPR -impressively:AMPR:AMPR -impressments:AMPR:AMPR -imprisonment:AMPR:AMPR -improperness:AMPR:AMPR -impropriated:AMPR:AMPR -impropriates:AMPR:AMPR -impropriator:AMPR:AMPR -improvements:AMPR:AMPR -improvidence:AMPR:AMPR -impudentness:AMPT:AMPT -imputability:AMPT:AMPT -inaccessible:ANXS:ANXS -inaccessibly:ANXS:ANXS -inaccuracies:ANKR:ANKR -inaccurately:ANKR:ANKR -inactivating:ANKT:ANKT -inactivation:ANKT:ANKT -inactiveness:ANKT:ANKT -inactivities:ANKT:ANKT -inadequacies:ANTK:ANTK -inadequately:ANTK:ANTK -inadmissable:ANTM:ANTM -inadmissible:ANTM:ANTM -inadmissibly:ANTM:ANTM -inadvertence:ANTF:ANTF -inadvertency:ANTF:ANTF -inappellable:ANPL:ANPL -inapplicable:ANPL:ANPL -inapplicably:ANPL:ANPL -inappositely:ANPS:ANPS -inarticulate:ANRT:ANRT -inartistical:ANRT:ANRT -inaudibility:ANTP:ANTP -inaugurating:ANKR:ANKR -inauguration:ANKR:ANKR -inaugurators:ANKR:ANKR -inauguratory:ANKR:ANKR -inauspicious:ANSP:ANSP -incalculable:ANKL:ANKL -incalculably:ANKL:ANKL -incalescence:ANKL:ANKL -incandescent:ANKN:ANKN -incandescing:ANKN:ANKN -incantations:ANKN:ANKN -incapability:ANKP:ANKP -incapacitant:ANKP:ANKP -incapacitate:ANKP:ANKP -incapacities:ANKP:ANKP -incarcerated:ANKR:ANKR -incarcerates:ANKR:ANKR -incarcerator:ANKR:ANKR -incardinated:ANKR:ANKR -incardinates:ANKR:ANKR -incarnadined:ANKR:ANKR -incarnadines:ANKR:ANKR -incarnations:ANKR:ANKR -incautiously:ANKT:ANKT -incendiaries:ANSN:ANSN -incendiarism:ANSN:ANSN -incendiarist:ANSN:ANSN -incestuously:ANSS:ANSS -inchoateness:ANXT:ANKT -incidentally:ANST:ANST -incidentless:ANST:ANST -incinerating:ANSN:ANSN -incineration:ANSN:ANSN -incinerators:ANSN:ANSN -incipiencies:ANSP:ANSP -incisiveness:ANSS:ANSS -incivilities:ANSF:ANSF -inclinations:ANKL:ANKL -includedness:ANKL:ANKL -incoagulable:ANKK:ANKK -incognizance:ANKN:ANKK -incoherences:ANKH:ANKH -incoherently:ANKH:ANKH -incoincident:ANKN:ANKN -incommodious:ANKM:ANKM -incommutable:ANKM:ANKM -incommutably:ANKM:ANKM -incomparable:ANKM:ANKM -incomparably:ANKM:ANKM -incompatible:ANKM:ANKM -incompatibly:ANKM:ANKM -incompetence:ANKM:ANKM -incompetency:ANKM:ANKM -incompetents:ANKM:ANKM -incompletely:ANKM:ANKM -incompletion:ANKM:ANKM -incompliance:ANKM:ANKM -incompliancy:ANKM:ANKM -incomputable:ANKM:ANKM -incomputably:ANKM:ANKM -inconclusive:ANKN:ANKN -inconformity:ANKN:ANKN -incongruence:ANKN:ANKN -inconsequent:ANKN:ANKN -inconsistent:ANKN:ANKN -inconsolable:ANKN:ANKN -inconsolably:ANKN:ANKN -inconsonance:ANKN:ANKN -inconstantly:ANKN:ANKN -inconsumable:ANKN:ANKN -inconsumably:ANKN:ANKN -incontinence:ANKN:ANKN -incontinency:ANKN:ANKN -inconvenient:ANKN:ANKN -incoordinate:ANKR:ANKR -incorporable:ANKR:ANKR -incorporales:ANKR:ANKR -incorporated:ANKR:ANKR -incorporates:ANKR:ANKR -incorporator:ANKR:ANKR -incorporeity:ANKR:ANKR -incorrigible:ANKR:ANKR -incorrigibly:ANKR:ANKR -incorruption:ANKR:ANKR -incrassation:ANKR:ANKR -increasingly:ANKR:ANKR -incrementing:ANKR:ANKR -incretionary:ANKR:ANKR -incriminated:ANKR:ANKR -incriminates:ANKR:ANKR -incriminator:ANKR:ANKR -incrustation:ANKR:ANKR -incubational:ANKP:ANKP -incumbencies:ANKM:ANKM -incumbrancer:ANKM:ANKM -incumbrances:ANKM:ANKM -incurability:ANKR:ANKR -incurvations:ANKR:ANKR -incurvatures:ANKR:ANKR -indebtedness:ANTP:ANTP -indecisively:ANTS:ANTS -indeclinable:ANTK:ANTK -indeclinably:ANTK:ANTK -indecorously:ANTK:ANTK -indefeasible:ANTF:ANTF -indefeasibly:ANTF:ANTF -indefectible:ANTF:ANTF -indefectibly:ANTF:ANTF -indefensible:ANTF:ANTF -indefensibly:ANTF:ANTF -indefinitely:ANTF:ANTF -indehiscence:ANTH:ANTH -indelibility:ANTL:ANTL -indelicately:ANTL:ANTL -indemnifiers:ANTM:ANTM -indemnifying:ANTM:ANTM -indenization:ANTN:ANTN -indentations:ANTN:ANTN -independence:ANTP:ANTP -independency:ANTP:ANTP -independents:ANTP:ANTP -indianapolis:ANTN:ANTN -indicatively:ANTK:ANTK -indifference:ANTF:ANTF -indigenously:ANTJ:ANTK -indigestible:ANTJ:ANTK -indigestibly:ANTJ:ANTK -indirections:ANTR:ANTR -indirectness:ANTR:ANTR -indiscipline:ANTS:ANTS -indiscreetly:ANTS:ANTS -indiscretely:ANTS:ANTS -indiscretion:ANTS:ANTS -indisputable:ANTS:ANTS -indisputably:ANTS:ANTS -indissoluble:ANTS:ANTS -indissolubly:ANTS:ANTS -indistinctly:ANTS:ANTS -indivertible:ANTF:ANTF -indivertibly:ANTF:ANTF -individually:ANTF:ANTF -individuated:ANTF:ANTF -individuates:ANTF:ANTF -individuator:ANTF:ANTF -indoctrinate:ANTK:ANTK -indoleacetic:ANTL:ANTL -indomethacin:ANTM:ANTM -induplicated:ANTP:ANTP -industriales:ANTS:ANTS -industrially:ANTS:ANTS -ineffability:ANFP:ANFP -ineffaceable:ANFS:ANFS -ineffaceably:ANFS:ANFS -inefficacity:ANFK:ANFK -inefficiency:ANFS:ANFX -inelasticity:ANLS:ANLS -ineloquently:ANLK:ANLK -inequalities:ANKL:ANKL -inequivalent:ANKF:ANKF -ineradicable:ANRT:ANRT -ineradicably:ANRT:ANRT -inerrability:ANRP:ANRP -inexactitude:ANKS:ANKS -inexecutable:ANKS:ANKS -inexpedience:ANKS:ANKS -inexpediency:ANKS:ANKS -inexperience:ANKS:ANKS -inexpertness:ANKS:ANKS -inexplicable:ANKS:ANKS -inexplicably:ANKS:ANKS -inexpressive:ANKS:ANKS -inexpugnable:ANKS:ANKS -inexpugnably:ANKS:ANKS -inexpungible:ANKS:ANKS -inextensible:ANKS:ANKS -inextirpable:ANKS:ANKS -inextricable:ANKS:ANKS -inextricably:ANKS:ANKS -infamousness:ANFM:ANFM -infanticidal:ANFN:ANFN -infanticides:ANFN:ANFN -infatuatedly:ANFT:ANFT -infatuations:ANFT:ANFT -infectiously:ANFK:ANFK -infelicities:ANFL:ANFL -infelicitous:ANFL:ANFL -infestations:ANFS:ANFS -infibulation:ANFP:ANFP -infidelities:ANFT:ANFT -infiltrating:ANFL:ANFL -infiltration:ANFL:ANFL -infiltrative:ANFL:ANFL -infiltrators:ANFL:ANFL -infiniteness:ANFN:ANFN -infinitively:ANFN:ANFN -infirmations:ANFR:ANFR -inflammation:ANFL:ANFL -inflammative:ANFL:ANFL -inflammatory:ANFL:ANFL -inflatedness:ANFL:ANFL -inflationary:ANFL:ANFL -inflationism:ANFL:ANFL -inflationist:ANFL:ANFL -inflectional:ANFL:ANFL -inflorescent:ANFL:ANFL -infraglenoid:ANFR:ANFR -infraorbital:ANFR:ANFR -infraspinati:ANFR:ANFR -infraspinous:ANFR:ANFR -infrequently:ANFR:ANFR -infringement:ANFR:ANFR -infundibular:ANFN:ANFN -infundibulum:ANFN:ANFN -infusibility:ANFS:ANFS -infusionists:ANFS:ANFX -ingeninating:ANJN:ANKN -ingenination:ANJN:ANKN -ingloriously:ANKL:ANKL -ingraftation:ANKR:ANKR -ingraftments:ANKR:ANKR -ingratiating:ANKR:ANKR -ingratiation:ANKR:ANKR -ingratiatory:ANKR:ANKR -ingravescent:ANKR:ANKR -ingrugitated:ANKR:ANKR -ingurgitated:ANKR:ANKR -ingurgitates:ANKR:ANKR -inhabitation:ANPT:ANPT -inharmonious:ANRM:ANRM -inheritances:ANRT:ANRT -inheritrices:ANRT:ANRT -inhospitable:ANSP:ANSP -inhospitably:ANSP:ANSP -inhumanities:ANMN:ANMN -inimicalness:ANMK:ANMK -iniquitously:ANKT:ANKT -initializers:ANXL:ANXL -initializing:ANXL:ANXL -initiatively:ANXT:ANXT -initiatrices:ANXT:ANXT -injunctively:ANJN:ANJN -innervations:ANRF:ANRF -innotescimus:ANTS:ANTS -innovational:ANFX:ANFX -innutritious:ANTR:ANTR -inobservance:ANPS:ANPS -inoculations:ANKL:ANKL -inordinately:ANRT:ANRT -inosculating:ANSK:ANSK -inosculation:ANSK:ANSK -inquisitions:ANKS:ANKS -insalivating:ANSL:ANSL -insalivation:ANSL:ANSL -insalubrious:ANSL:ANSL -insanitation:ANSN:ANSN -inscriptions:ANSK:ANSK -insectariums:ANSK:ANSK -insecticidal:ANSK:ANSK -insecticides:ANSK:ANSK -insectivores:ANSK:ANSK -insecureness:ANSK:ANSK -insecurities:ANSK:ANSK -inseminating:ANSM:ANSM -insemination:ANSM:ANSM -inseminators:ANSM:ANSM -insightfully:ANST:ANST -insinuations:ANSN:ANSN -insobrieties:ANSP:ANSP -insolubility:ANSL:ANSL -insolvencies:ANSL:ANSL -insouciantly:ANSS:ANSX -inspectingly:ANSP:ANSP -inspectorate:ANSP:ANSP -inspectorial:ANSP:ANSP -inspirations:ANSP:ANSP -inspiritment:ANSP:ANSP -inspissating:ANSP:ANSP -inspissation:ANSP:ANSP -installation:ANST:ANST -installments:ANST:ANST -instantiated:ANST:ANST -instantiates:ANST:ANST -instatements:ANST:ANST -instillation:ANST:ANST -institutions:ANST:ANST -instructible:ANST:ANST -instructions:ANST:ANST -instructress:ANST:ANST -instrumental:ANST:ANST -instrumented:ANST:ANST -insubmissive:ANSP:ANSP -insufferable:ANSF:ANSF -insufferably:ANSF:ANSF -insufficient:ANSF:ANSF -insufflating:ANSF:ANSF -insufflation:ANSF:ANSF -insufflators:ANSF:ANSF -insurability:ANSR:ANSR -insurgencies:ANSR:ANSR -insurrection:ANSR:ANSR -integrations:ANTK:ANTK -integumental:ANTK:ANTK -intellection:ANTL:ANTL -intellectism:ANTL:ANTL -intellective:ANTL:ANTL -intellectual:ANTL:ANTL -intelligence:ANTL:ANTL -intelligible:ANTL:ANTL -intelligibly:ANTL:ANTL -intemperance:ANTM:ANTM -intendancies:ANTN:ANTN -intensifiers:ANTN:ANTN -intensifying:ANTN:ANTN -interacinous:ANTR:ANTR -interactions:ANTR:ANTR -interbanking:ANTR:ANTR -interborough:ANTR:ANTR -intercalated:ANTR:ANTR -intercalates:ANTR:ANTR -intercarotid:ANTR:ANTR -intercentral:ANTR:ANTR -intercepters:ANTR:ANTR -intercepting:ANTR:ANTR -interception:ANTR:ANTR -interceptive:ANTR:ANTR -interceptors:ANTR:ANTR -intercession:ANTR:ANTR -intercessors:ANTR:ANTR -intercessory:ANTR:ANTR -interchanged:ANTR:ANTR -interchanges:ANTR:ANTR -intercompany:ANTR:ANTR -interconnect:ANTR:ANTR -intercountry:ANTR:ANTR -intercristal:ANTR:ANTR -intercropped:ANTR:ANTR -intercrossed:ANTR:ANTR -intercrosses:ANTR:ANTR -intercurrent:ANTR:ANTR -intercusping:ANTR:ANTR -intercutting:ANTR:ANTR -interdentium:ANTR:ANTR -interdicting:ANTR:ANTR -interdiction:ANTR:ANTR -interdictive:ANTR:ANTR -interdictors:ANTR:ANTR -interdictory:ANTR:ANTR -interdiffuse:ANTR:ANTR -interdigital:ANTR:ANTR -interestedly:ANTR:ANTR -interfacings:ANTR:ANTR -interference:ANTR:ANTR -interfertile:ANTR:ANTR -interfibrous:ANTR:ANTR -interflowing:ANTR:ANTR -interfluvial:ANTR:ANTR -interfolding:ANTR:ANTR -interfrontal:ANTR:ANTR -interfusions:ANTR:ANTR -interglacial:ANTR:ANTR -intergrading:ANTR:ANTR -interinsurer:ANTR:ANTR -interiorises:ANTR:ANTR -interiorized:ANTR:ANTR -interiorizes:ANTR:ANTR -interjecting:ANTR:ANTR -interjection:ANTR:ANTR -interjectors:ANTR:ANTR -interjectory:ANTR:ANTR -interkineses:ANTR:ANTR -interkinesis:ANTR:ANTR -interknitted:ANTR:ANTR -interlacedly:ANTR:ANTR -interlaminar:ANTR:ANTR -interlapping:ANTR:ANTR -interlarding:ANTR:ANTR -interleaving:ANTR:ANTR -interlibrary:ANTR:ANTR -interlineate:ANTR:ANTR -interlinings:ANTR:ANTR -interlinking:ANTR:ANTR -interlobular:ANTR:ANTR -interlockers:ANTR:ANTR -interlocking:ANTR:ANTR -interlocutor:ANTR:ANTR -intermarried:ANTR:ANTR -intermarries:ANTR:ANTR -intermaxilla:ANTR:ANTR -intermeddled:ANTR:ANTR -intermeddler:ANTR:ANTR -intermediacy:ANTR:ANTR -intermediary:ANTR:ANTR -intermediate:ANTR:ANTR -intermeshing:ANTR:ANTR -interminable:ANTR:ANTR -interminably:ANTR:ANTR -intermingled:ANTR:ANTR -intermingles:ANTR:ANTR -intermission:ANTR:ANTR -intermissive:ANTR:ANTR -intermittent:ANTR:ANTR -intermitting:ANTR:ANTR -intermittors:ANTR:ANTR -intermixable:ANTR:ANTR -intermixture:ANTR:ANTR -internalized:ANTR:ANTR -internalizes:ANTR:ANTR -interneurone:ANTR:ANTR -interneurons:ANTR:ANTR -internuclear:ANTR:ANTR -internuncial:ANTR:ANTR -internuncios:ANTR:ANTR -interoceanic:ANTR:ANTR -interoceptor:ANTR:ANTR -interorbital:ANTR:ANTR -interosseous:ANTR:ANTR -interpellant:ANTR:ANTR -interpellate:ANTR:ANTR -interpelling:ANTR:ANTR -interplaited:ANTR:ANTR -interpleaded:ANTR:ANTR -interpleader:ANTR:ANTR -interpolated:ANTR:ANTR -interpolater:ANTR:ANTR -interpolates:ANTR:ANTR -interpolator:ANTR:ANTR -interposable:ANTR:ANTR -interpreters:ANTR:ANTR -interpreting:ANTR:ANTR -interpretive:ANTR:ANTR -interprocess:ANTR:ANTR -interregnums:ANTR:ANTR -interrelated:ANTR:ANTR -interrelates:ANTR:ANTR -interrobangs:ANTR:ANTR -interrogable:ANTR:ANTR -interrogated:ANTR:ANTR -interrogates:ANTR:ANTR -interrogator:ANTR:ANTR -interrupters:ANTR:ANTR -interrupting:ANTR:ANTR -interruption:ANTR:ANTR -interruptive:ANTR:ANTR -interruptors:ANTR:ANTR -intersecting:ANTR:ANTR -intersection:ANTR:ANTR -intersectors:ANTR:ANTR -intersensory:ANTR:ANTR -intersession:ANTR:ANTR -interspacing:ANTR:ANTR -interspatial:ANTR:ANTR -interspecies:ANTR:ANTR -interspersal:ANTR:ANTR -interspersed:ANTR:ANTR -intersperses:ANTR:ANTR -interspinous:ANTR:ANTR -interstadial:ANTR:ANTR -interstellar:ANTR:ANTR -intersterile:ANTR:ANTR -intersticial:ANTR:ANTR -interstitial:ANTR:ANTR -interstitium:ANTR:ANTR -intertangled:ANTR:ANTR -intertangles:ANTR:ANTR -intertexture:ANTR:ANTR -intertraffic:ANTR:ANTR -intertubular:ANTR:ANTR -intertwining:ANTR:ANTR -intertwisted:ANTR:ANTR -intervarsity:ANTR:ANTR -intervenient:ANTR:ANTR -intervention:ANTR:ANTR -interviewees:ANTR:ANTR -interviewers:ANTR:ANTR -interviewing:ANTR:ANTR -intervillous:ANTR:ANTR -intervocalic:ANTR:ANTR -intervolving:ANTR:ANTR -interweavers:ANTR:ANTR -interweaving:ANTR:ANTR -interwinding:ANTR:ANTR -interworking:ANTR:ANTR -interwreathe:ANTR:ANTR -interwrought:ANTR:ANTR -intestinally:ANTS:ANTS -intimateness:ANTM:ANTM -intimidating:ANTM:ANTM -intimidation:ANTM:ANTM -intimidators:ANTM:ANTM -intimidatory:ANTM:ANTM -intolerantly:ANTL:ANTL -intonational:ANTN:ANTN -intoxicating:ANTK:ANTK -intoxication:ANTK:ANTK -intoxicative:ANTK:ANTK -intoxicators:ANTK:ANTK -intracardiac:ANTR:ANTR -intracardial:ANTR:ANTR -intracoastal:ANTR:ANTR -intracompany:ANTR:ANTR -intracranial:ANTR:ANTR -intragroupal:ANTR:ANTR -intrahepatic:ANTR:ANTR -intraliminal:ANTR:ANTR -intralobular:ANTR:ANTR -intraluminal:ANTR:ANTR -intramurally:ANTR:ANTR -intransigent:ANTR:ANTR -intransitive:ANTR:ANTR -intranuclear:ANTR:ANTR -intraorbital:ANTR:ANTR -intrapleural:ANTR:ANTR -intraprocess:ANTR:ANTR -intrapsychic:ANTR:ANTR -intrascrotal:ANTR:ANTR -intrastromal:ANTR:ANTR -intrauterine:ANTR:ANTR -intravaginal:ANTR:ANTR -intravesical:ANTR:ANTR -intrepidness:ANTR:ANTR -intriguingly:ANTR:ANTR -introducible:ANTR:ANTR -introduction:ANTR:ANTR -introductive:ANTR:ANTR -introductory:ANTR:ANTR -introflexion:ANTR:ANTR -introjecting:ANTR:ANTR -introjection:ANTR:ANTR -intromission:ANTR:ANTR -intromittent:ANTR:ANTR -intromitters:ANTR:ANTR -intromitting:ANTR:ANTR -introversion:ANTR:ANTR -introversive:ANTR:ANTR -introverting:ANTR:ANTR -introvertive:ANTR:ANTR -introvertted:ANTR:ANTR -intuitionism:ANTX:ANTX -intuitionist:ANTX:ANTX -intumescence:ANTM:ANTM -intussuscept:ANTS:ANTS -invaginating:ANFJ:ANFK -invagination:ANFJ:ANFK -invalidating:ANFL:ANFL -invalidation:ANFL:ANFL -invalidators:ANFL:ANFL -invalidities:ANFL:ANFL -invasiveness:ANFS:ANFS -inveiglement:ANFK:ANFK -inventorying:ANFN:ANFN -inventresses:ANFN:ANFN -inveracities:ANFR:ANFR -invertebrata:ANFR:ANFR -invertebrate:ANFR:ANFR -investigated:ANFS:ANFS -investigates:ANFS:ANFS -investigator:ANFS:ANFS -investitures:ANFS:ANFS -inveterately:ANFT:ANFT -inviableness:ANFP:ANFP -invigilating:ANFJ:ANFK -invigilation:ANFJ:ANFK -invigilators:ANFJ:ANFK -invigorating:ANFK:ANFK -invigoration:ANFK:ANFK -invigorative:ANFK:ANFK -invigorators:ANFK:ANFK -invisibility:ANFS:ANFS -invitational:ANFT:ANFT -invitatories:ANFT:ANFT -invitingness:ANFT:ANFT -invocational:ANFK:ANFK -involucelate:ANFL:ANFL -involutional:ANFL:ANFL -involvements:ANFL:ANFL -invulnerable:ANFL:ANFL -invulnerably:ANFL:ANFL -invultuation:ANFL:ANFL -iodometrical:ATMT:ATMT -irascibility:ARSP:ARSP -iridectomies:ARTK:ARTK -iridectomize:ARTK:ARTK -iridescences:ARTS:ARTS -iridescently:ARTS:ARTS -iridodoneses:ARTT:ARTT -iridodonesis:ARTT:ARTT -iridokinesia:ARTK:ARTK -iridologists:ARTL:ARTL -ironicalness:ARNK:ARNK -irradiations:ARTX:ARTX -irrationally:ARXN:ARXN -irrebuttable:ARPT:ARPT -irredeemable:ARTM:ARTM -irredeemably:ARTM:ARTM -irredentists:ARTN:ARTN -irreducibles:ARTS:ARTS -irreformable:ARFR:ARFR -irrefragable:ARFR:ARFR -irrefragably:ARFR:ARFR -irregularity:ARKL:ARKL -irrelatively:ARLT:ARLT -irrelevances:ARLF:ARLF -irrelevantly:ARLF:ARLF -irrelievable:ARLF:ARLF -irremediable:ARMT:ARMT -irremediably:ARMT:ARMT -irremissible:ARMS:ARMS -irremissibly:ARMS:ARMS -irrepealable:ARPL:ARPL -irrepealably:ARPL:ARPL -irresistible:ARSS:ARSS -irresistibly:ARSS:ARSS -irresolutely:ARSL:ARSL -irresolution:ARSL:ARSL -irresolvable:ARSL:ARSL -irresolvably:ARSL:ARSL -irrespective:ARSP:ARSP -irrespirable:ARSP:ARSP -irresponsive:ARSP:ARSP -irreverences:ARFR:ARFR -irreverently:ARFR:ARFR -irreversible:ARFR:ARFR -irreversibly:ARFR:ARFR -irrigational:ARKX:ARKX -irritability:ARTP:ARTP -irritatingly:ARTT:ARTT -ischiorectal:AXRK:AXRK -islamization:ALMS:ALMS -isochromatic:ASKR:ASKR -isochronally:ASKR:ASKR -isochronises:ASKR:ASKR -isochronized:ASKR:ASKR -isochronizes:ASKR:ASKR -isodactylism:ASTK:ASTK -isodiametric:ASTM:ASTM -isodiapheres:ASTF:ASTF -isodimorphic:ASTM:ASTM -isoenzymatic:ASNS:ASNS -isogeotherms:ASJ0:ASKT -isohemolyses:ASHM:ASHM -isohemolysin:ASHM:ASHM -isohemolysis:ASHM:ASHM -isolationism:ASLX:ASLX -isolationist:ASLX:ASLX -isomorphisms:ASMR:ASMR -isoprenaline:ASPR:ASPR -isosthenuria:ASS0:ASST -isothermally:AS0R:ASTR -isotonically:ASTN:ASTN -isotopically:ASTP:ASTP -italianesque:ATLN:ATLN -italianizing:ATLN:ATLN -itemizations:ATMS:ATMS -itinerations:ATNR:ATNR -jackanapeses:JKNP:AKNP -jacksonville:JKSN:AKSN -jailbreakers:JLPR:ALPR -jeffersonian:JFRS:AFRS -jejunotomies:JJNT:AJNT -jeopardizing:JPRT:APRT -jesuitically:JSTK:ASTK -jitterbugged:JTRP:ATRP -johannesburg:JHNS:AHNS -journalistic:JRNL:ARNL -journalizers:JRNL:ARNL -journalizing:JRNL:ARNL -judgematical:JJMT:AJMT -judicationis:JTKX:ATKX -judicatorial:JTKT:ATKT -judicatories:JTKT:ATKT -judicialized:JTSL:ATXL -judicializes:JTSL:ATXL -jurisconsult:JRSK:ARSK -jurisdiction:JRST:ARST -jurisdictive:JRST:ARST -jurisprudent:JRSP:ARSP -juristically:JRST:ARST -justiciaries:JSTS:ASTX -justificator:JSTF:ASTF -justinianean:JSTN:ASTN -justinianian:JSTN:ASTN -justinianist:JSTN:ASTN -juvenescents:JFNS:AFNS -juvenileness:JFNL:AFNL -juvenilities:JFNL:AFNL -juxtapyloric:JKST:AKST -kainogenesis:KNJN:KNKN -kainogenetic:KNJN:KNKN -kakistocracy:KKST:KKST -kaleidoscope:KLTS:KLTS -kaolinosises:KLNS:KLNS -karyenchymas:KRNX:KRNK -karyoclastic:KRKL:KRKL -karyokineses:KRKN:KRKN -karyokinesis:KRKN:KRKN -karyokinetic:KRKN:KRKN -karyomitoses:KRMT:KRMT -karyomitosis:KRMT:KRMT -karyoplasmic:KRPL:KRPL -karyorrhexes:KRRK:KRRK -karyorrhexis:KRRK:KRRK -karyotypical:KRTP:KRTP -katzenjammer:KTSN:KTSN -keratectasia:KRTK:KRTK -keratinizing:KRTN:KRTN -keratogenous:KRTJ:KRTK -keratoglobus:KRTK:KRTK -keratohyalin:KRTH:KRTH -keratoiritis:KRTR:KRTR -keratoplasty:KRTP:KRTP -keratorhexes:KRTR:KRTR -keratorhexis:KRTR:KRTR -keratotomies:KRTT:KRTT -keritinising:KRTN:KRTN -ketoacidoses:KTST:KTST -ketoacidosis:KTST:KTST -ketoconazole:KTKN:KTKN -ketoglutaric:KTKL:KTKL -killogrammes:KLKR:KLKR -kilometrical:KLMT:KLMT -kinaestheses:KNS0:KNST -kinaesthesia:KNS0:KNST -kinaesthesis:KNS0:KNST -kinaesthetic:KNS0:KNST -kindergarten:KNTR:KNTR -kineplasties:KNPL:KNPL -kinesiatrics:KNST:KNST -kinesiologic:KNSL:KNSL -kinesophobia:KNSF:KNSF -kinesthesias:KNS0:KNST -kinetonuclei:KNTN:KNTN -kinetoplasts:KNTP:KNTP -kinnikinnick:KNKN:KNKN -kinocentrums:KNSN:KNSN -kirschwasser:KRXS:KRXS -kitchenettes:KXNT:KXNT -kjeldahlized:KLTL:KLTL -kjeldahlizes:KLTL:KLTL -kleptolagnia:KLPT:KLPT -kleptomaniac:KLPT:KLPT -kleptophobia:KLPT:KLPT -kletterschuh:KLTR:KLTR -klipspringer:KLPS:KLPS -kneecappings:NKPN:NKPN -knightliness:NTLN:NTLN -knowledgable:NLTK:NLTK -knowledgably:NLTK:NLTK -knucklebones:NKLP:NKLP -knuckleheads:NKLH:NKLH -koilosternia:KLST:KLST -kraepelinian:KRPL:KRPL -kremlinology:KRML:KRML -kymographies:KMKR:KMKR -labiaisation:LPSX:LPSX -labiodentals:LPTN:LPTN -laboratorial:LPRT:LPRT -laboratorian:LPRT:LPRT -laboratories:LPRT:LPRT -labyrinthine:LPRN:LPRN -lacerability:LSRP:LSRP -lachrymation:LKRM:LKRM -lachrymators:LKRM:LKRM -lachrymatory:LKRM:LKRM -lachrymosely:LKRM:LKRM -lachrymosity:LKRM:LKRM -laciniations:LSNX:LSNX -lactobacilli:LKTP:LKTP -lactogeneses:LKTJ:LKTK -lactogenesis:LKTJ:LKTK -lactoprotein:LKTP:LKTP -lagomorphous:LKMR:LKMR -laicizations:LSSX:LSSX -lallygagging:LLKJ:LLKK -lamellicorns:LMLK:LMLK -lamentations:LMNT:LMNT -laminotomies:LMNT:LMNT -lammergeyers:LMRJ:LMRK -lamplighters:LMPL:LMPL -lancinations:LNSN:LNSN -landlessness:LNTL:LNTL -landlordship:LNTL:LNTL -landocracies:LNTK:LNTK -landscapists:LNTS:LNTS -landualettes:LNTL:LNTL -langoustines:LNKS:LNKS -languishment:LNKX:LNKX -languorously:LNKR:LNKR -laparoscopes:LPRS:LPRS -laparotomies:LPRT:LPRT -laryngectomy:LRNJ:LRNK -laryngitides:LRNJ:LRNK -laryngograph:LRNK:LRNK -laryngopathy:LRNK:LRNK -laryngoscope:LRNK:LRNK -laryngoscopy:LRNK:LRNK -laryngospasm:LRNK:LRNK -laryngostomy:LRNK:LRNK -lasciviously:LSFS:LSFS -latchstrings:LXST:LXST -lateenrigged:LTNR:LTNR -lateralities:LTRL:LTRL -laticiferous:LTSF:LTSF -latinization:LTNS:LTNS -launderettes:LNTR:LNTR -laundrywoman:LNTR:LNTR -laundrywomen:LNTR:LNTR -laureateship:LRTX:LRTX -leaflessness:LFLS:LFLS -leapfrogging:LPFR:LPFR -leaseholders:LSHL:LSHL -leatherbacks:L0RP:LTRP -leatheriness:L0RN:LTRN -leathernecks:L0RN:LTRN -lecithoblast:LS0P:LSTP -lectionaries:LKXN:LKXN -lectureships:LKTR:LKTR -legalistical:LKLS:LKLS -legalization:LKLS:LKLS -legibilities:LJPL:LKPL -legionnaires:LJNR:LKNR -legislations:LJLX:LKLX -legislatives:LJLT:LKLT -legislatress:LJLT:LKLT -legislatures:LJLT:LKLT -legitimacies:LJTM:LKTM -legitimately:LJTM:LKTM -legitimating:LJTM:LKTM -legitimation:LJTM:LKTM -legitimatize:LJTM:LKTM -legitimistic:LJTM:LKTM -legitimizers:LJTM:LKTM -legitimizing:LJTM:LKTM -leiotrichous:LTRX:LTRK -leopardesses:LPRT:LPRT -lepidopteran:LPTP:LPTP -leprologists:LPRL:LPRL -leprosariums:LPRS:LPRS -leptocephali:LPTS:LPTS -leptocytosis:LPTS:LPTS -leptosomatic:LPTS:LPTS -leptospiraes:LPTS:LPTS -leptotrichia:LPTT:LPTT -leucocytoses:LKST:LKST -leucocytosis:LKST:LKST -leucocytotic:LKST:LKST -leucopoieses:LKPS:LKPS -leucopoiesis:LKPS:LKPS -leucopoietic:LKPT:LKPT -leucorrhagia:LKRJ:LKRK -leucorrhoeal:LKRL:LKRL -leukemogenic:LKMJ:LKMK -leukocytomas:LKST:LKST -leukocytoses:LKST:LKST -leukocytosis:LKST:LKST -leukocytotic:LKST:LKST -leukopathies:LKP0:LKPT -leukopedeses:LKPT:LKPT -leukopedesis:LKPT:LKPT -leukopoieses:LKPS:LKPS -leukopoiesis:LKPS:LKPS -leukopoietic:LKPT:LKPT -leukorrhagia:LKRJ:LKRK -leukorrhoeal:LKRL:LKRL -leukosarcoma:LKSR:LKSR -leukotrichia:LKTR:LKTR -levallorphan:LFLR:LFLR -levarterenol:LFRT:LFRT -levorotation:LFRT:LFRT -levorotatory:LFRT:LFRT -lexicalizing:LKSK:LKSK -lexicography:LKSK:LKSK -liberalistic:LPRL:LPRL -liberalities:LPRL:LPRL -liberalizers:LPRL:LPRL -liberalizing:LPRL:LPRL -libertarians:LPRT:LPRT -liberticidal:LPRT:LPRT -libidinizing:LPTN:LPTN -libidinously:LPTN:LPTN -licentiation:LSNX:LSNX -licentiously:LSNT:LSNT -lienopathies:LNP0:LNPT -lifelessness:LFLS:LFLS -lifelikeness:LFLK:LFLK -lighthearted:L0RT:LTRT -lightweights:LTTS:LTTS -likeableness:LKPL:LKPL -lilliputians:LLPX:LLPX -limitability:LMTP:LMTP -limophthises:LMF0:LMFT -limophthisis:LMF0:LMFT -linearizable:LNRS:LNRS -linguistical:LNKS:LNKS -linguodistal:LNKT:LNKT -lipofibromas:LPFP:LPFP -lipoproteins:LPPR:LPPR -liposarcomas:LPSR:LPSR -liquefacient:LKFS:LKFX -liquefaction:LKFK:LKFK -liquefactive:LKFK:LKFK -liquidations:LKTX:LKTX -listlessness:LSTL:LSTL -literalistic:LTRL:LTRL -literariness:LTRR:LTRR -lithectomies:L0KT:LTKT -lithogeneses:L0JN:LTKN -lithogenesis:L0JN:LTKN -lithographed:L0KR:LTKR -lithographer:L0KR:LTKR -lithographes:L0KR:LTKR -lithographic:L0KR:LTKR -lithologists:L0LJ:LTLK -lithometeors:LTMT:LTMT -lithotomical:L0TM:LTTM -lithotomists:L0TM:LTTM -lithotomized:L0TM:LTTM -lithotomizes:L0TM:LTTM -lithotripter:L0TR:LTTR -lithotriptic:L0TR:LTTR -lithotrities:L0TR:LTTR -lithotritist:L0TR:LTTR -litiscontest:LTSK:LTSK -litterateurs:LTRT:LTRT -liturgically:LTRJ:LTRK -liturgiology:LTRJ:LTRK -liveableness:LFPL:LFPL -liverishness:LFRX:LFRX -liverpolitan:LFRP:LFRP -liverpudlian:LFRP:LFRP -livetrapping:LFTR:LFTR -lobotomizing:LPTM:LPTM -localization:LKLS:LKLS -locksmithery:LKSM:LKSM -locksmithing:LKSM:LKSM -locomotively:LKMT:LKMT -locumtenency:LKMT:LKMT -loganberries:LKNP:LKNP -loggerheaded:LKRT:LKRT -logistically:LJST:LKST -logisticians:LJST:LKST -logographers:LKKR:LKKR -logomachists:LKMX:LKMK -lollygagging:LLKJ:LLKK -lomentaceous:LMNT:LMNT -lonesomeness:LNSM:LNSM -longitudinal:LNJT:LNKT -longshoreman:LNKX:LNKX -longshoremen:LNKX:LNKX -longstanding:LNKS:LNKS -longwindedly:LNKN:LNKN -lophophorine:LFFR:LFFR -lopsidedness:LPST:LPST -loquaciously:LKSS:LKXS -loudspeakers:LTSP:LTSP -louisianians:LSNN:LXNN -loveableness:LFPL:LFPL -lovelessness:LFLS:LFLS -lovesickness:LFSK:LFSK -lubberliness:LPRL:LPRL -lubrications:LPRK:LPRK -lubriciously:LPRS:LPRX -lucklessness:LKLS:LKLS -lucubrations:LKPR:LKPR -lugubriously:LKPR:LKPR -lukewarmness:LKRM:LKRM -lumberjacket:LMRJ:LMRJ -luminescence:LMNS:LMNS -luminiferous:LMNF:LMNF -luminousness:LMNS:LMNS -lumpectomies:LMPK:LMPK -luncheonette:LNXN:LNKN -lusciousness:LSSN:LSSN -luteotrophic:LTTR:LTTR -luteotrophin:LTTR:LTTR -lymphadenoid:LMFT:LMFT -lymphadenoma:LMFT:LMFT -lymphangioma:LMFN:LMFN -lymphangitic:LMFN:LMFN -lymphangitis:LMFN:LMFN -lymphoblasts:LMFP:LMFP -lymphocytoma:LMFS:LMFS -lymphodermia:LMFT:LMFT -lymphogenous:LMFJ:LMFK -lymphography:LMFK:LMFK -lymphomatoid:LMFM:LMFM -lymphomatous:LMFM:LMFM -lymphopathia:LMFP:LMFP -lyophilizing:LFLS:LFLS -lysogenicity:LSJN:LSKN -lysogenizing:LSJN:LSKN -lysolecithin:LSLS:LSLS -macadamizing:MKTM:MKTM -machicolated:MXKL:MKKL -machicolates:MXKL:MKKL -machinations:MXNX:MKNX -mackintoshes:MKNT:MKNT -macrobiotics:MKRP:MKRP -macrobrachia:MKRP:MKRP -macrocardius:MKRK:MKRK -macrocephali:MKRS:MKRS -macrocephaly:MKRS:MKRS -macrocheilia:MKRX:MKRK -macrocheiria:MKRX:MKRK -macroclimate:MKRK:MKRK -macrocytoses:MKRS:MKRS -macrocytosis:MKRS:MKRS -macrodactyly:MKRT:MKRT -macrodontism:MKRT:MKRT -macrogametes:MKRK:MKRK -macroglossia:MKRK:MKRK -macrognathia:MKRN:MKRK -macrographic:MKRK:MKRK -macronucleus:MKRN:MKRN -macrophysics:MKRF:MKRF -macropterous:MKRP:MKRP -maculopapule:MKLP:MKLP -mademoiselle:MTMS:MTMS -madreporitic:MTRP:MTRP -magenstrasse:MJNS:MKNS -magistracies:MJST:MKST -magistrality:MJST:MKST -magistrature:MJST:MKST -magnetically:MNTK:MKNT -magnetizable:MNTS:MKNT -magnetograph:MNTK:MKNT -magnetopause:MNTP:MKNT -magnificence:MNFS:MKNF -magniloquent:MNLK:MKNL -maidenliness:MTNL:MTNL -maidservants:MTSR:MTSR -mainpernable:MNPR:MNPR -maintainable:MNTN:MNTN -maintenances:MNTN:MNTN -maintopsails:MNTP:MNTP -majestically:MJST:MJST -malacologist:MLKL:MLKL -malacoplakia:MLKP:MLKP -maladjustive:MLTJ:MLTJ -malakoplakia:MLKP:MLKP -malapertness:MLPR:MLPR -malapropisms:MLPR:MLPR -maledictions:MLTK:MLTK -malefactions:MLFK:MLFK -malefactress:MLFK:MLFK -maleficently:MLFS:MLFS -malevolently:MLFL:MLFL -malfeasantly:MLFS:MLFS -malformation:MLFR:MLFR -malfunctions:MLFN:MLFN -malignancies:MLNN:MLKN -malimprinted:MLMP:MLMP -malleability:MLPL:MLPL -malleotomies:MLTM:MLTM -malnourished:MLNR:MLNR -malnutrition:MLNT:MLNT -malocclusion:MLKL:MLKL -malodorously:MLTR:MLTR -malpracticed:MLPR:MLPR -malpractices:MLPR:MLPR -maltreatment:MLTR:MLTR -malversation:MLFR:MLFR -mammalogical:MMLJ:MMLK -mammalogists:MMLJ:MMLK -mammectomies:MMKT:MMKT -mammillation:MMLX:MMLX -mammilliform:MMLF:MMLF -mammogenical:MMJN:MMKN -mammographic:MMKR:MMKR -managemental:MNJM:MNKM -managerially:MNKR:MNJR -mandolinists:MNTL:MNTL -maneuverable:MNFR:MNFR -mangelwurzel:MNJL:MNKL -manifestable:MNFS:MNFS -manifestness:MNFS:MNFS -manifestoing:MNFS:MNFS -manifoldness:MNFL:MNFL -manipulating:MNPL:MNPL -manipulation:MNPL:MNPL -manipulative:MNPL:MNPL -manipulators:MNPL:MNPL -manipulatory:MNPL:MNPL -mannerliness:MNRL:MNRL -manoeuvering:MNFR:MNFR -manoeuvrable:MNFR:MNFR -manoeuvreing:MNFR:MNFR -manometrical:MNMT:MNMT -manslaughter:MNSL:MNSL -mantelpieces:MNTL:MNTL -mantlepieces:MNTL:MNTL -manufactural:MNFK:MNFK -manufactured:MNFK:MNFK -manufacturer:MNFK:MNFK -manufactures:MNFK:MNFK -manumissions:MNMS:MNMS -marcasitical:MRKS:MRKS -marginalises:MRJN:MRKN -marginalized:MRJN:MRKN -marginalizes:MRJN:MRKN -maricultures:MRKL:MRKL -marketplaces:MRKT:MRKT -marksmanship:MRKS:MRKS -marlinespike:MRLN:MRLN -marqueteries:MRKT:MRKT -marquisettes:MRKS:MRKS -marriageable:MRJP:MRKP -marseillaise:MRSL:MRSL -marshmallows:MRXM:MRXM -marshmallowy:MRXM:MRXM -marsupialian:MRSP:MRSP -marsupialize:MRSP:MRSP -martyrologic:MRTR:MRTR -masculinized:MSKL:MSKL -masculinizes:MSKL:MSKL -masqueraders:MSKR:MSKR -masquerading:MSKR:MSKR -masslessness:MSLS:MSLS -massotherapy:MS0R:MSTR -mastadenitis:MSTT:MSTT -mastectomies:MSTK:MSTK -masterbating:MSTR:MSTR -masterbation:MSTR:MSTR -masterliness:MSTR:MSTR -masterminded:MSTR:MSTR -masterpieces:MSTR:MSTR -masterstroke:MSTR:MSTR -mastications:MSTK:MSTK -mastigophora:MSTK:MSTK -mastigophore:MSTK:MSTK -mastocytomas:MSTS:MSTS -mastocytosis:MSTS:MSTS -mastoidotomy:MSTT:MSTT -mastopathies:MSTP:MSTP -mastorrhagia:MSTR:MSTR -mastoscirrhi:MSTS:MSTS -masturbating:MSTR:MSTR -masturbation:MSTR:MSTR -masturbators:MSTR:MSTR -masturbatory:MSTR:MSTR -matchmarking:MXMR:MXMR -materialists:MTRL:MTRL -materialized:MTRL:MTRL -materializer:MTRL:MTRL -materializes:MTRL:MTRL -materialness:MTRL:MTRL -mathematical:M0MT:MTMT -matriarchies:MTRR:MTRR -matriclinous:MTRK:MTRK -matriculated:MTRK:MTRK -matriculates:MTRK:MTRK -matriculator:MTRK:MTRK -matrilateral:MTRL:MTRL -matrilineage:MTRL:MTRL -matrilocally:MTRL:MTRL -matronliness:MTRN:MTRN -maturational:MTRX:MTRX -mauritanians:MRTN:MRTN -maximization:MKSM:MKSM -meadowsweets:MTST:MTST -mealymouthed:MLM0:MLMT -meanderingly:MNTR:MNTR -meaningfully:MNNK:MNNK -measuredness:MSRT:MSRT -measurements:MSRM:MSRM -mecamylamine:MKML:MKML -mechanically:MXNK:MKNK -mechanicians:MXNS:MKNX -meconiorrhea:MKNR:MKNR -meddlesomely:MTLS:MTLS -mediatorship:MTTR:MTTR -medicamental:MTKM:MTKM -medievalists:MTFL:MTFL -mediocrities:MTKR:MTKR -meditatively:MTTT:MTTT -meetinghouse:MTNK:MTNK -megacephalic:MKSF:MKSF -megaesophagi:MKSF:MKSF -megalecithal:MKLS:MKLS -megaloblasts:MKLP:MKLP -megalocardia:MKLK:MKLK -megalomaniac:MKLM:MKLM -megalosaurus:MKLS:MKLS -megaloureter:MKLR:MKLR -melancholiac:MLNX:MLNK -melancholiae:MLNX:MLNK -melancholias:MLNX:MLNK -melancholies:MLNX:MLNK -melancholily:MLNX:MLNK -melaniferous:MLNF:MLNF -melanization:MLNS:MLNS -melanochroic:MLNK:MLNK -melanocomous:MLNK:MLNK -melanodermic:MLNT:MLNT -melanonychia:MLNN:MLNN -melanophoric:MLNF:MLNF -melanoplakia:MLNP:MLNP -meliorations:MLRX:MLRX -mellifluence:MLFL:MLFL -melodramatic:MLTR:MLTR -meloplasties:MLPL:MLPL -membranously:MMPR:MMPR -memorability:MMRP:MMRP -memorialists:MMRL:MMRL -memorialized:MMRL:MMRL -memorializer:MMRL:MMRL -memorializes:MMRL:MMRL -memorization:MMRS:MMRS -mendaciously:MNTS:MNTX -mendelianism:MNTL:MNTL -mendelianist:MNTL:MNTL -mendicancies:MNTK:MNTK -meningiomata:MNNJ:MNNK -meningitides:MNNJ:MNNK -meningoceles:MNNK:MNNK -meningococci:MNNK:MNNK -meningocoele:MNNK:MNNK -meningopathy:MNNK:MNNK -meniscectomy:MNSK:MNSK -menorrhalgia:MNRL:MNRL -menstruating:MNST:MNST -menstruation:MNST:MNST -mercantilism:MRKN:MRKN -merchandiser:MRXN:MRKN -merchandized:MRXN:MRKN -merchandizes:MRXN:MRKN -merchantable:MRXN:MRKN -merchantries:MRXN:MRKN -mercifulness:MRSF:MRSF -mercurialism:MRKR:MRKR -mercurialize:MRKR:MRKR -meretricious:MRTR:MRTR -meristically:MRST:MRST -mesalliances:MSLN:MSLN -mesarteritis:MSRT:MSRT -mesatipellic:MSTP:MSTP -mesenteritis:MSNT:MSNT -mesioclusion:MSKL:MXKL -mesoappendix:MSPN:MSPN -mesoblastema:MSPL:MSPL -mesocephalic:MSSF:MSSF -mesoduodenum:MSTT:MSTT -mesoesophagi:MSSF:MSSF -mesogastrium:MSKS:MSKS -mesognathies:MSN0:MSKN -mesognathion:MSN0:MSKN -mesognathous:MSN0:MSKN -mesolecithal:MSLS:MSLS -mesomorphies:MSMR:MSMR -mesomorphism:MSMR:MSMR -mesophragmal:MSFR:MSFR -mesopotamian:MSPT:MSPT -mesoprosopic:MSPR:MSPR -mesothelioma:MS0L:MSTL -messeigneurs:MSNR:MSKN -metabolizing:MTPL:MTPL -metacercaria:MTSR:MTSR -metachromasy:MTKR:MTKR -metachronism:MTKR:MTKR -metacircular:MTSR:MTSR -metalanguage:MTLN:MTLN -metallically:MTLK:MTLK -metallurgist:MTLR:MTLR -metalworkers:MTLR:MTLR -metalworking:MTLR:MTLR -metamorphism:MTMR:MTMR -metamorphose:MTMR:MTMR -metaphorical:MTFR:MTFR -metaphysical:MTFS:MTFS -metaphysitis:MTFS:MTFS -metapophyses:MTPF:MTPF -metapophysis:MTPF:MTPF -metastasized:MTST:MTST -metastasizes:MTST:MTST -metatarsally:MTTR:MTTR -metathalamus:MT0L:MTTL -metatrophies:MTTR:MTTR -metavariable:MTFR:MTFR -meteorically:MTRK:MTRK -meteorologic:MTRL:MTRL -methacholine:M0KL:MTKL -methacrylate:M0KR:MTKR -methaqualone:M0KL:MTKL -methodically:M0TK:MTTK -methotrexate:M0TR:MTTR -methoxychlor:M0KS:MTKS -meticulosity:MTKL:MTKL -meticulously:MTKL:MTKL -metreurynter:MTRR:MTRR -metrications:MTRK:MTRK -metromalacia:MTRM:MTRM -metropathies:MTRP:MTRP -metropolises:MTRP:MTRP -metropolitan:MTRP:MTRP -metrorrhagia:MTRR:MTRR -metrorrhagic:MTRR:MTRR -metrorrhexes:MTRR:MTRR -metrorrhexis:MTRR:MTRR -michelangelo:MXLN:MKLN -michiganders:MXKN:MKKN -michiganites:MXKN:MKKN -micracoustic:MKRK:MKRK -microabscess:MKRP:MKRP -microanalyst:MKRN:MKRN -microanatomy:MKRN:MKRN -microbalance:MKRP:MKRP -microbicidal:MKRP:MKRP -microbiology:MKRP:MKRP -microbrachia:MKRP:MKRP -microburette:MKRP:MKRP -microcapsule:MKRK:MKRK -microcentrum:MKRS:MKRS -microcephali:MKRS:MKRS -microcephaly:MKRS:MKRS -microcheilia:MKRX:MKRK -microclimate:MKRK:MKRK -microconidia:MKRK:MKRK -microcoulomb:MKRK:MKRK -microculture:MKRK:MKRK -microcytemia:MKRS:MKRS -microcytoses:MKRS:MKRS -microcytosis:MKRS:MKRS -microdactyly:MKRT:MKRT -microdontism:MKRT:MKRT -microfilaria:MKRF:MKRF -microfilming:MKRF:MKRF -microgastria:MKRK:MKRK -microglossia:MKRK:MKRK -micrognathia:MKRN:MKRK -microgrammes:MKRK:MKRK -micrographic:MKRK:MKRK -microgrooves:MKRK:MKRK -micrological:MKRL:MKRL -micronesians:MKRN:MKRN -micronucleus:MKRN:MKRN -microorganic:MKRR:MKRR -micropenises:MKRP:MKRP -microphallus:MKRF:MKRF -microphoning:MKRF:MKRF -microphysics:MKRF:MKRF -micropipette:MKRP:MKRP -microprogram:MKRP:MKRP -microscopies:MKRS:MKRS -microscopist:MKRS:MKRS -microseconds:MKRS:MKRS -microspacing:MKRS:MKRS -microstomias:MKRS:MKRS -microsurgeon:MKRS:MKRS -microsurgery:MKRS:MKRS -microsystems:MKRS:MKRS -microtomical:MKRT:MKRT -microtubular:MKRT:MKRT -microvillous:MKRF:MKRF -middlemanism:MTLM:MTLM -middleweight:MTLT:MTLT -midwesterner:MTST:MTST -militantness:MLTN:MLTN -militaristic:MLTR:MLTR -militarizing:MLTR:MLTR -millenarians:MLNR:MLNR -milliamperes:MLMP:MLMP -millionaires:MLNR:MLNR -milliseconds:MLSK:MLSK -milquetoasts:MLKT:MLKT -mimeographed:MMKR:MMKR -mindlessness:MNTL:MNTL -mineralizing:MNRL:MNRL -mineralogist:MNRL:MNRL -minesweepers:MNSP:MNSP -miniaturists:MNTR:MNTR -miniaturized:MNTR:MNTR -miniaturizes:MNTR:MNTR -minicomputer:MNKM:MNKM -minimization:MNMS:MNMS -ministration:MNST:MNST -minnesingers:MNSN:MNSN -miraculously:MRKL:MRKL -mirthfulness:MR0F:MRTF -misaddressed:MSTR:MSTR -misaddresses:MSTR:MSTR -misadjusting:MSTJ:MSTJ -misadventure:MSTF:MSTF -misalignment:MSLN:MSLK -misalliances:MSLN:MSLN -misanthropes:MSN0:MSNT -misanthropic:MSN0:MSNT -misapprehend:MSPR:MSPR -misarranging:MSRN:MSRN -misbegetting:MSPK:MSPK -miscalculate:MSKL:MSKL -miscarriages:MSKR:MSKR -miscegenetic:MSJN:MSKN -miscellanies:MSLN:MSLN -miscognizant:MSKN:MSKK -misconceived:MSKN:MSKN -misconceives:MSKN:MSKN -misconstrued:MSKN:MSKN -misconstrues:MSKN:MSKN -miscreancies:MSKN:MSKN -misdemeanant:MSTM:MSTM -misdemeanors:MSTM:MSTM -misdescribed:MSTS:MSTS -misdiagnosed:MSTN:MSTK -misdiagnoses:MSTN:MSTK -misdiagnosis:MSTN:MSTK -misdirecting:MSTR:MSTR -misdirection:MSTR:MSTR -miseducating:MSTK:MSTK -miseducation:MSTK:MSTK -misemploying:MSMP:MSMP -misericordia:MSRK:MSRK -misfeasances:MSFS:MSFS -misgoverning:MSKF:MSKF -misinformant:MSNF:MSNF -misinforming:MSNF:MSNF -misinstructs:MSNS:MSNS -misinterpret:MSNT:MSNT -misjudgments:MSTK:MSTK -misleadingly:MLTN:MLTN -mismarriages:MSMR:MSMR -misnumbering:MSNM:MSNM -misogynistic:MSJN:MSKN -misperceived:MSPR:MSPR -misperceives:MSPR:MSPR -misplacement:MSPL:MSPL -mispronounce:MSPR:MSPR -mispunctuate:MSPN:MSPN -misquotation:MSKT:MSKT -misreporting:MSRP:MSRP -misrepresent:MSRP:MSRP -missionaries:MSNR:MSNR -misspecified:MSPS:MSPS -misspellings:MSPL:MSPL -misstatement:MSTT:MSTT -mistranslate:MSTR:MSTR -mistreatment:MSTR:MSTR -mithridatism:M0RT:MTRT -mitochondria:MTXN:MTKN -mitogenicity:MTJN:MTKN -mnemonically:MNMN:MNMN -mobilization:MPLS:MPLS -mockingbirds:MKNK:MKNK -moderateness:MTRT:MTRT -moderatorial:MTRT:MTRT -modification:MTFK:MTFK -modularizing:MTLR:MTLR -moisturizers:MSTR:MSTR -moisturizing:MSTR:MSTR -molestations:MLST:MLST -mollycoddled:MLKT:MLKT -mollycoddler:MLKT:MLKT -mollycoddles:MLKT:MLKT -monarchistic:MNRX:MNRK -monarthritis:MNR0:MNRT -monarticular:MNRT:MNRT -monastically:MNST:MNST -monathetoses:MN0T:MNTT -monathetosis:MN0T:MNTT -monetization:MNTS:MNTS -moneychanger:MNXN:MNKN -moneylenders:MNLN:MNLN -mongolianism:MNKL:MNKL -moniliformis:MNLF:MNLF -moniliformly:MNLF:MNLF -monkeyshines:MNKX:MNKX -monobrachius:MNPR:MNPR -monocellular:MNSL:MNSL -monocephalus:MNSF:MNSF -monochromasy:MNKR:MNKR -monodiplopia:MNTP:MNTP -monofilament:MNFL:MNFL -monogamistic:MNKM:MNKM -monogamously:MNKM:MNKM -monogerminal:MNKR:MNJR -monogramming:MNKR:MNKR -monographers:MNKR:MNKR -monohydrated:MNHT:MNHT -monoideistic:MNTS:MNTS -monologuists:MNLK:MNLK -monomaniacal:MNMN:MNMN -monometallic:MNMT:MNMT -monomorphism:MNMR:MNMR -monomorphous:MNMR:MNMR -mononeuritis:MNNR:MNNR -monophyletic:MNFL:MNFL -monophyodont:MNFT:MNFT -monopolistic:MNPL:MNPL -monopolizing:MNPL:MNPL -monorchidism:MNRK:MNRK -monosyllabic:MNSL:MNSL -monosyllable:MNSL:MNSL -monosynaptic:MNSN:MNSN -monotheistic:MN0S:MNTS -monotonicity:MNTN:MNTN -monotonously:MNTN:MNTN -monotrichate:MNTR:MNTR -monotrichous:MNTR:MNTR -monumentally:MNMN:MNMN -moonlighters:MNLT:MNLT -moonlighting:MNLT:MNLT -moralization:MRLS:MRLS -morbilliform:MRPL:MRPL -morcellation:MRSL:MRSL -morphallaxes:MRFL:MRFL -morphallaxis:MRFL:MRFL -morphinizing:MRFN:MRFN -morphiomania:MRFM:MRFM -morphography:MRFK:MRFK -morphologies:MRFL:MRFL -morphologist:MRFL:MRFL -mortarboards:MRTR:MRTR -mortgageable:MRTK:MRTK -mortifyingly:MRTF:MRTF -motherliness:M0RL:MTRL -motionlessly:MXNL:MXNL -motivational:MTFX:MTFX -motorcycling:MTRS:MTRS -motorcyclist:MTRS:MTRS -motorization:MTRS:MTRS -mountaineers:MNTN:MNTN -mountainside:MNTN:MNTN -mountaintops:MNTN:MNTN -mournfulness:MRNF:MRNF -mucification:MSFK:MSFK -mucilaginous:MSLJ:MSLK -mucopurulent:MKPR:MKPR -mucormycoses:MKRM:MKRM -mucormycosis:MKRM:MKRM -muddleheaded:MTLH:MTLH -muliebrities:MLPR:MLPR -mulligatawny:MLKT:MLKT -multicentric:MLTS:MLTS -multichannel:MLTX:MLTK -multicolored:MLTK:MLTK -multiengined:MLTN:MLTN -multifaceted:MLTF:MLTF -multifarious:MLTF:MLTF -multigravida:MLTK:MLTK -multilateral:MLTL:MLTL -multilayered:MLTL:MLTL -multilingual:MLTL:MLTL -multilobular:MLTL:MLTL -multilocular:MLTL:MLTL -multimillion:MLTM:MLTM -multimotored:MLTM:MLTM -multinodular:MLTN:MLTN -multinuclear:MLTN:MLTN -multipartite:MLTP:MLTP -multiplexing:MLTP:MLTP -multiplexors:MLTP:MLTP -multiplicand:MLTP:MLTP -multiplicity:MLTP:MLTP -multiprocess:MLTP:MLTP -multiprogram:MLTP:MLTP -multipurpose:MLTP:MLTP -multisensory:MLTS:MLTS -multitasking:MLTT:MLTT -multivalence:MLTF:MLTF -multivariate:MLTF:MLTF -multiversity:MLTF:MLTF -multivitamin:MLTF:MLTF -municipality:MNSP:MNSP -munificently:MNFS:MNFS -musculatures:MSKL:MSKL -musicianship:MSSN:MSXN -musicologist:MSKL:MSKL -mutagenicity:MTJN:MTKN -mutarotation:MTRT:MTRT -mutationally:MTXN:MTXN -mutinousness:MTNS:MTNS -mycobacteria:MKPK:MKPK -mycoplasmata:MKPL:MKPL -mycotoxicity:MKTK:MKTK -myelinolyses:MLNL:MLNL -myelinolysis:MLNL:MLNL -myelinosises:MLNS:MLNS -myeloblastic:MLPL:MLPL -myelocytomas:MLST:MLST -myelocytoses:MLST:MLST -myelocytosis:MLST:MLST -myelogeneses:MLJN:MLKN -myelogenesis:MLJN:MLKN -myelographic:MLKR:MLKR -myelolipomas:MLLP:MLLP -myelomalacia:MLML:MLML -myelomatoses:MLMT:MLMT -myelomatosis:MLMT:MLMT -myelopathies:MLP0:MLPT -myelopoieses:MLPS:MLPS -myelopoiesis:MLPS:MLPS -myelopoietic:MLPT:MLPT -myelorrhagia:MLRJ:MLRK -myelosarcoma:MLSR:MLSR -myeloschises:MLXS:MLXS -myeloschisis:MLXS:MLXS -myelospongia:MLSP:MLSP -mylohyoidean:MLHT:MLHT -mylohyoideus:MLHT:MLHT -myodystonias:MTST:MTST -myodystonies:MTST:MTST -myodystrophy:MTST:MTST -myofibromata:MFPR:MFPR -myomectomies:MMKT:MMKT -myoparalyses:MPRL:MPRL -myoparalysis:MPRL:MPRL -myopsychoses:MPSX:MPSK -myopsychosis:MPSX:MPSK -myorrhaphies:MRFS:MRFS -myosarcomata:MSRK:MSRK -myoscleroses:MSKR:MSKR -myosclerosis:MSKR:MSKR -myotenositis:MTNS:MTNS -myringectomy:MRNJ:MRNK -mysteriously:MSTR:MSTR -mystifyingly:MSTF:MSTF -mythological:M0LJ:MTLK -mythologists:M0LJ:MTLK -myxadenomata:MKST:MKST -myxedematous:MKST:MKST -myxofibromas:MKSF:MKSF -myxolipomata:MKSL:MKSL -myxomycetous:MKSM:MKSM -myxoneuromas:MKSN:MKSN -myxosarcomas:MKSS:MKSS -myxosporidia:MKSS:MKSS -namelessness:NMLS:NMLS -nanoplankton:NNPL:NNPL -naprapathies:NPRP:NPRP -narcissistic:NRSS:NRSS -narcolepsies:NRKL:NRKL -narcoleptics:NRKL:NRKL -narcotherapy:NRK0:NRKT -narcotically:NRKT:NRKT -nasalization:NSLS:NSLS -nasolacrimal:NSLK:NSLK -nasopalatine:NSPL:NSPL -nasosinuitis:NSSN:NSSN -nasoturbinal:NSTR:NSTR -nationalists:NXNL:NXNL -nationalized:NXNL:NXNL -nationalizes:NXNL:NXNL -naturalistic:NTRL:NTRL -naturalizing:NTRL:NTRL -natureopathy:NTRP:NTRP -naturopathic:NTRP:NTRP -nauseatingly:NSTN:NSTN -nauseousness:NSSN:NSSN -navigability:NFKP:NFKP -navigational:NFKX:NFKX -nazification:NSFK:NSFK -neanderthals:NNTR:NNTR -nebulization:NPLS:NPLS -nebulosities:NPLS:NPLS -nebulousness:NPLS:NPLS -necessitated:NSST:NSST -necessitates:NSST:NSST -neckerchiefs:NKRX:NKRK -necrological:NKRL:NKRL -necrologists:NKRL:NKRL -necromancers:NKRM:NKRM -necrophagias:NKRF:NKRF -necrophagies:NKRF:NKRF -necrophagous:NKRF:NKRF -necrophiliac:NKRF:NKRF -necrophilism:NKRF:NKRF -necrophilous:NKRF:NKRF -necropolises:NKRP:NKRP -necrospermia:NKRS:NKRS -necrotically:NKRT:NKRT -needlepoints:NTLP:NTLP -needlessness:NTLS:NTLS -needleworker:NTLR:NTLR -neencephalon:NNSF:NNSF -negativeness:NKTF:NKTF -negativistic:NKTF:NKTF -neglectfully:NKLK:NKLK -negotiations:NKXX:NKXX -negotiatress:NKXT:NKXT -negrophilism:NKRF:NKRF -neighborhood:NPRT:NPRT -neighborless:NPRL:NPRL -nematocystic:NMTS:NMTS -nematodiases:NMTT:NMTT -nematodiasis:NMTT:NMTT -nematologies:NMTL:NMTL -nematologist:NMTL:NMTL -neoanthropic:NN0R:NNTR -neocerebella:NSRP:NSRP -neoclassical:NKLS:NKLS -neoformation:NFRM:NFRM -neologically:NLJK:NLKK -neontologist:NNTL:NNTL -neostriatums:NSTR:NSTR -nephelometry:NFLM:NFLM -nephological:NFLJ:NFLK -nephologists:NFLJ:NFLK -nephrogenous:NFRJ:NFRK -nephrolithic:NFRL:NFRL -nephrologies:NFRL:NFRL -nephrologist:NFRL:NFRL -nephropexies:NFRP:NFRP -nephroptoses:NFRP:NFRP -nephroptosis:NFRP:NFRP -nephrostomes:NFRS:NFRS -nephrostomic:NFRS:NFRS -nephrotomies:NFRT:NFRT -nepotistical:NPTS:NPTS -nesslerizing:NSLR:NSLR -nestorianism:NSTR:NSTR -netherlander:N0RL:NTRL -neuralgiform:NRLJ:NRLK -neurasthenia:NRS0:NRST -neurasthenic:NRS0:NRST -neurectomies:NRKT:NRKT -neurilemmoma:NRLM:NRLM -neurilemomas:NRLM:NRLM -neuritically:NRTK:NRTK -neuroanatomy:NRNT:NRNT -neurobiology:NRPL:NRPL -neuroblastic:NRPL:NRPL -neurocentrum:NRSN:NRSN -neurochemist:NRXM:NRKM -neurocranium:NRKR:NRKR -neurocrinism:NRKR:NRKR -neurocytomas:NRST:NRST -neurodendron:NRTN:NRTN -neurofibrils:NRFP:NRFP -neurofibroma:NRFP:NRFP -neurogenical:NRJN:NRKN -neurogliomas:NRKL:NRLM -neuroglioses:NRKL:NRLS -neurogliosis:NRKL:NRLS -neurogrammic:NRKR:NRKR -neurographic:NRKR:NRKR -neurohormone:NRHR:NRHR -neurohumoral:NRHM:NRHM -neurokeratin:NRKR:NRKR -neurological:NRLJ:NRLK -neurologists:NRLJ:NRLK -neurologized:NRLJ:NRLK -neurologizes:NRLJ:NRLK -neuronophagy:NRNF:NRNF -neuropathies:NRP0:NRPT -neuroplasmic:NRPL:NRPL -neuropsychic:NRPS:NRPS -neuropterous:NRPT:NRPT -neuroscience:NRSN:NRSN -neurosensory:NRSN:NRSN -neurospongia:NRSP:NRSP -neurosurgeon:NRSR:NRSR -neurosurgery:NRSR:NRSR -neurotically:NRTK:NRTK -neurotogenic:NRTJ:NRTK -neurotomists:NRTM:NRTM -neurotrophic:NRTR:NRTR -neurotropism:NRTR:NRTR -neutralistic:NTRL:NTRL -neutralities:NTRL:NTRL -neutralizers:NTRL:NTRL -neutralizing:NTRL:NTRL -neutrophiles:NTRF:NTRF -neutrophilia:NTRF:NTRF -neutrophilic:NTRF:NTRF -neutrophilin:NTRF:NTRF -nevertheless:NFR0:NFRT -newfashioned:NFXN:NFXN -newfoundland:NFNT:NFNT -newsmagazine:NSMK:NSMK -newspaperman:NSPP:NSPP -newspapermen:NSPP:NSPP -nickelodeons:NKLT:NKLT -nicotinamide:NKTN:NKTN -nicotinizing:NKTN:NKTN -nictitations:NKTT:NKTT -nidificating:NTFK:NTFK -nidification:NTFK:NTFK -nietzscheism:NTSX:NTSX -nightclothes:NTKL:NTKL -nightclubber:NTKL:NTKL -nightdresses:NTRS:NTRS -nightingales:NTNK:NTNK -nightwalkers:NTLK:NTLK -nihilistical:NHLS:NHLS -nimbostratus:NMPS:NMPS -nineteenfold:NNTN:NNTN -nineteenthes:NNTN:NNTN -nitrobenzene:NTRP:NTRP -nitrogenized:NTRJ:NTRK -nitrogenizes:NTRJ:NTRK -nitromethane:NTRM:NTRM -nitrosamines:NTRS:NTRS -nitrosoamine:NTRS:NTRS -noctambulism:NKTM:NKTM -noctambulist:NKTM:NKTM -noctiflorous:NKTF:NKTF -noctilucence:NKTL:NKTL -nocturnality:NKTR:NKTR -nomenclators:NMNK:NMNK -nomenclature:NMNK:NMNK -nominalistic:NMNL:NMNL -nominatively:NMNT:NMNT -nomographers:NMKR:NMKR -nomothetical:NM0T:NMTT -nonabilities:NNPL:NNPL -nonabsorbent:NNPS:NNPS -nonabstainer:NNPS:NNPS -nonacademics:NNKT:NNKT -nonaddicting:NNTK:NNTK -nonaddictive:NNTK:NNTK -nonadmission:NNTM:NNTM -nonaffiliate:NNFL:NNFL -nonagenarian:NNJN:NNKN -nonagreement:NNKR:NNKR -nonalcoholic:NNLK:NNLK -nonalignment:NNLN:NNLK -nonancestral:NNNS:NNNS -nonassertive:NNSR:NNSR -nonautomated:NNTM:NNTM -nonautomatic:NNTM:NNTM -nonbelievers:NNPL:NNPL -nonbreakable:NNPR:NNPR -noncancerous:NNKN:NNKN -noncelestial:NNSL:NNSL -noncentrally:NNSN:NNSN -nonchalantly:NNXL:NNKL -noncivilized:NNSF:NNSF -nonclassical:NNKL:NNKL -noncombatant:NNKM:NNKM -noncombining:NNKM:NNKM -noncommittal:NNKM:NNKM -noncommunist:NNKM:NNKM -noncommunity:NNKM:NNKM -noncompetent:NNKM:NNKM -noncompeting:NNKM:NNKM -noncomplying:NNKM:NNKM -nonconcurred:NNKN:NNKN -nonconductor:NNKN:NNKN -nonconfining:NNKN:NNKN -noncontribut:NNKN:NNKN -noncorroding:NNKR:NNKR -noncorrosive:NNKR:NNKR -noncrossover:NNKR:NNKR -noncustodial:NNKS:NNKS -nondeciduata:NNTS:NNTS -nondelegable:NNTL:NNTL -nondiffusing:NNTF:NNTF -nondirection:NNTR:NNTR -nondirective:NNTR:NNTR -nondivisible:NNTF:NNTF -nondoctrinal:NNTK:NNTK -noneffective:NNFK:NNFK -nonelections:NNLK:NNLK -nonemotional:NNMX:NNMX -nonempirical:NNMP:NNMP -nonenzymatic:NNNS:NNNS -nonessential:NNSN:NNSN -nonethically:NN0K:NNTK -nonexclusive:NNKS:NNKS -nonexecutive:NNKS:NNKS -nonexistence:NNKS:NNKS -nonexplosive:NNKS:NNKS -nonfactually:NNFK:NNFK -nonfattening:NNFT:NNFT -nonfederated:NNFT:NNFT -nonfictional:NNFK:NNFK -nonfinancial:NNFN:NNFN -nonflammable:NNFL:NNFL -nonflowering:NNFL:NNFL -nonformation:NNFR:NNFR -nonhabitable:NNPT:NNPT -nonhazardous:NNSR:NNSR -nonheritable:NNRT:NNRT -nonidentical:NNTN:NNTN -nonidiomatic:NNTM:NNTM -nonimmigrant:NNMK:NNMK -nonimputable:NNMP:NNMP -noninclusion:NNNK:NNNK -noninclusive:NNNK:NNNK -noninductive:NNNT:NNNT -noninflected:NNNF:NNNF -noninjurious:NNNJ:NNNJ -nonintersect:NNNT:NNNT -nonintrusion:NNNT:NNNT -nonintuitive:NNNT:NNNT -nonlaminated:NNLM:NNLM -nonlinearity:NNLN:NNLN -nonlitigated:NNLT:NNLT -nonmalicious:NNML:NNML -nonmalignant:NNML:NNML -nonmedicinal:NNMT:NNMT -nonmedulated:NNMT:NNMT -nonmigratory:NNMK:NNMK -nonnavigable:NNFK:NNFK -nonnecessity:NNSS:NNSS -nonnucleated:NNKL:NNKL -nonobedience:NNPT:NNPT -nonobjective:NNPJ:NNPJ -nonoccupying:NNKP:NNKP -nonoperating:NNPR:NNPR -nonoperative:NNPR:NNPR -nonostensive:NNST:NNST -nonparasitic:NNPR:NNPR -nonparochial:NNPR:NNPR -nonpartisans:NNPR:NNPR -nonpasserine:NNPS:NNPS -nonpaternity:NNPT:NNPT -nonpecuniary:NNPK:NNPK -nonpermanent:NNPR:NNPR -nonpermeable:NNPR:NNPR -nonpigmented:NNPK:NNPK -nonpoisonous:NNPS:NNPS -nonpolitical:NNPL:NNPL -nonpolluting:NNPL:NNPL -nonpredatory:NNPR:NNPR -nonrealistic:NNRL:NNRL -nonrecurrent:NNRK:NNRK -nonrecurring:NNRK:NNRK -nonrecursive:NNRK:NNRK -nonreflexive:NNRF:NNRF -nonreligious:NNRL:NNRL -nonrenewable:NNRN:NNRN -nonresidence:NNRS:NNRS -nonresidency:NNRS:NNRS -nonresidents:NNRS:NNRS -nonresistant:NNRS:NNRS -nonrestraint:NNRS:NNRS -nonrhoticity:NNRT:NNRT -nonscheduled:NNSK:NNSK -nonsectarian:NNSK:NNSK -nonsegregate:NNSK:NNSK -nonselective:NNSL:NNSL -nonsensitive:NNSN:NNSN -nonseparable:NNSP:NNSP -nonspiritual:NNSP:NNSP -nonstainable:NNST:NNST -nonstatutory:NNST:NNST -nonsteroidal:NNST:NNST -nonstrategic:NNST:NNST -nonsymmetric:NNSM:NNSM -nontechnical:NNTK:NNTK -nonterminals:NNTR:NNTR -nontrivially:NNTR:NNTR -nonunionists:NNNN:NNNN -nonviolation:NNFL:NNFL -nonviolently:NNFL:NNFL -nonvoluntary:NNFL:NNFL -noradrenalin:NRTR:NRTR -norephedrine:NRFT:NRFT -normoblastic:NRMP:NRMP -normochromia:NRMK:NRMK -normochromic:NRMK:NRMK -normotension:NRMT:NRMT -normotensive:NRMT:NRMT -normothermia:NRM0:NRMT -normothermic:NRM0:NRMT -northeastern:NR0S:NRTS -northeasters:NR0S:NRTS -northernmost:NR0R:NRTR -northlanders:NR0L:NRTL -northwestern:NR0S:NRTS -northwesters:NR0S:NRTS -nosographies:NSKR:NSKR -notabilities:NTPL:NTPL -notarization:NTRS:NTRS -noteworthily:NTR0:NTRT -notification:NTFK:NTFK -noumenalists:NMNL:NMNL -nourishingly:NRXN:NRXN -nourishments:NRXM:NRXM -novelization:NFLS:NFLS -nucleocapsid:NKLK:NKLK -nucleolonema:NKLL:NKLL -nucleophiles:NKLF:NKLF -nucleophilic:NKLF:NKLF -nucleoplasms:NKLP:NKLP -nucleosidase:NKLS:NKLS -nucleotidase:NKLT:NKLT -nullificator:NLFK:NLFK -nullifidians:NLFT:NLFT -nulligravida:NLKR:NLKR -numberlessly:NMRL:NMRL -numberplates:NMRP:NMRP -numerologist:NMRL:NMRL -numerousness:NMRS:NMRS -numismatists:NMSM:NMSM -nurserymaids:NRSR:NRSR -nutritionist:NTRX:NTRX -nutritiously:NTRT:NTRT -nuttalliases:NTLS:NTLS -nuttalliasis:NTLS:NTLS -nuttallioses:NTLS:NTLS -nuttalliosis:NTLS:NTLS -nyctitropism:NKTT:NKTT -nympholeptic:NMFL:NMFL -nymphomaniac:NMFM:NMFM -obdurateness:APTR:APTR -objectifying:APJK:APJK -objectivists:APJK:APJK -objurgations:APJR:APJR -oblanceolate:APLN:APLN -obligability:APLK:APLK -obligational:APLK:APLK -obligatorily:APLK:APLK -obligingness:APLJ:APLK -obliterating:APLT:APLT -obliteration:APLT:APLT -obliterative:APLT:APLT -obliterators:APLT:APLT -oblivescence:APLF:APLF -obliviscence:APLF:APLF -obmutescence:APMT:APMT -obnubilating:APNP:APNP -obnubilation:APNP:APNP -obreptitious:APRP:APRP -obscurantism:APSK:APSK -obscurantist:APSK:APSK -obsequiously:APSK:APSK -observations:APSR:APSR -obsolescence:APSL:APSL -obsoleteness:APSL:APSL -obstetrician:APST:APST -obstreperous:APST:APST -obstructions:APST:APST -occasionally:AKSN:AKXN -occasionings:AKSN:AKXN -occidentally:AXTN:AXTN -occupational:AKPX:AKPX -oceanography:ASNK:ASNK -oceanologist:ASNL:ASNL -ochlocracies:AKLK:AKLK -octadecenoic:AKTT:AKTT -octodecanoic:AKTT:AKTT -octogenarian:AKTJ:AKTK -octosyllabic:AKTS:AKTS -octosyllable:AKTS:AKTS -oculauditory:AKLT:AKLT -oculomycoses:AKLM:AKLM -oculomycosis:AKLM:AKLM -odontography:ATNT:ATNT -odontologies:ATNT:ATNT -odontologist:ATNT:ATNT -odontophoral:ATNT:ATNT -odontoprisis:ATNT:ATNT -odontotomies:ATNT:ATNT -odorimetries:ATRM:ATRM -officeholder:AFSH:AFSH -officialised:AFSL:AFXL -offscourings:AFSK:AFSK -oidiomycoses:ATMK:ATMK -oidiomycosis:ATMK:ATMK -oleandomycin:ALNT:ALNT -oleomargarin:ALMR:ALMR -oleoresinous:ALRS:ALRS -oleosacchara:ALSX:ALSX -oleothoraces:AL0R:ALTR -oleothoraxes:AL0R:ALTR -olfactometry:ALFK:ALFK -olfactronics:ALFK:ALFK -oligarchical:ALKR:ALKR -oligodactyly:ALKT:ALKT -oligodynamic:ALKT:ALKT -oligophrenia:ALKF:ALKF -oligophrenic:ALKF:ALKF -oligopolists:ALKP:ALKP -oligopsonies:ALKP:ALKP -oligopsonist:ALKP:ALKP -oligospermia:ALKS:ALKS -oligotrichia:ALKT:ALKT -oligotrophic:ALKT:ALKT -ombrophilous:AMPR:AMPR -ombrophobous:AMPR:AMPR -omentopexies:AMNT:AMNT -omissiveness:AMSF:AMSF -omnipotently:AMNP:AMNP -omnipresence:AMNP:AMNP -omnisciently:AMNS:AMNS -omnivorously:AMNF:AMNF -omphalitides:AMFL:AMFL -onchocercoma:ANXS:ANKS -oncogenicity:ANKJ:ANKK -oncographies:ANKK:ANKK -oneirocritic:ANRK:ANRK -onomatomania:ANMT:ANMT -onomatopoeia:ANMT:ANMT -onomatopoeic:ANMT:ANMT -onychophagia:ANXF:ANKF -onychophoran:ANXF:ANKF -oophorectomy:AFRK:AFRK -openhandedly:APNN:APNN -operatically:APRT:APRT -ophiological:AFLJ:AFLK -ophthalmitis:AF0L:AFTL -opinionative:APNN:APNN -opisthorchis:APS0:APST -opisthotonic:APS0:APST -opisthotonos:APS0:APST -opportunists:APRT:APRT -opposability:APSP:APSP -oppositeness:APST:APST -oppositional:APSX:APSX -oppressingly:APRS:APRS -oppressively:APRS:APRS -opprobriated:APRP:APRP -opsonization:APSN:APSN -optimistical:APTM:APTM -optimization:APTM:APTM -optometrical:APTM:APTM -optometrists:APTM:APTM -oratorically:ARTR:ARTR -orbicularity:ARPK:ARPK -orchectomies:ARXK:ARKK -orchestrally:ARKS:ARKS -orchestrated:ARKS:ARKS -orchestrates:ARKS:ARKS -orchestrator:ARKS:ARKS -orchidaceous:ARKT:ARKT -orchidectomy:ARKT:ARKT -orchiopexies:ARXP:ARKP -orchioplasty:ARXP:ARKP -ordinariness:ARTN:ARTN -organicistic:ARKN:ARKN -organismally:ARKN:ARKN -organization:ARKN:ARKN -organogenics:ARKN:ARKN -organogenies:ARKN:ARKN -organography:ARKN:ARKN -organoleptic:ARKN:ARKN -organologies:ARKN:ARKN -organologist:ARKN:ARKN -organotropic:ARKN:ARKN -orientalised:ARNT:ARNT -orientations:ARNT:ARNT -orienteering:ARNT:ARNT -ornamentally:ARNM:ARNM -ornithodoros:ARN0:ARNT -ornithomancy:ARNT:ARNT -ornithoscopy:ARN0:ARNT -orogenically:ARJN:ARKN -orologically:ARLJ:ARLK -oropharynges:ARFR:ARFR -oropharynxes:ARFR:ARFR -orthocenters:AR0S:ARTS -orthocephaly:AR0S:ARTS -orthoclastic:AR0K:ARTK -orthodiagram:AR0T:ARTT -orthodontics:AR0T:ARTT -orthodontist:AR0T:ARTT -orthogeneses:AR0J:ARTK -orthogenesis:AR0J:ARTK -orthogenetic:AR0J:ARTK -orthogonally:AR0K:ARTK -orthographer:AR0K:ARTK -orthographic:AR0K:ARTK -orthopaedics:AR0P:ARTP -orthopaedist:AR0P:ARTP -orthopedical:AR0P:ARTP -orthopedists:AR0P:ARTP -orthopraxies:AR0P:ARTP -orthopterans:AR0P:ARTP -orthopterous:AR0P:ARTP -orthorhombic:AR0R:ARTR -orthotropism:AR0T:ARTT -orthotropous:AR0T:ARTT -oscellograph:ASLK:ASLK -oscillations:ASLX:ASLX -oscillograph:ASLK:ASLK -oscillometry:ASLM:ASLM -oscilloscope:ASLS:ASLS -osmolalities:ASML:ASML -osmolarities:ASML:ASML -osmoreceptor:ASMR:ASMR -ossiculotomy:ASKL:ASKL -ossification:ASFK:ASFK -ossificatory:ASFK:ASFK -ostentatious:ASTN:ASTN -osteoblastic:ASTP:ASTP -osteoclastic:ASTK:ASTK -osteocranium:ASTK:ASTK -osteodentine:ASTT:ASTT -osteodermous:ASTT:ASTT -osteofibroma:ASTF:ASTF -osteofibrous:ASTF:ASTF -osteogeneses:ASTJ:ASTK -osteogenesis:ASTJ:ASTK -osteogenetic:ASTJ:ASTK -osteological:ASTL:ASTL -osteologists:ASTL:ASTL -osteomalacia:ASTM:ASTM -osteometries:ASTM:ASTM -osteopathies:ASTP:ASTP -osteopathist:ASTP:ASTP -osteoplastic:ASTP:ASTP -osteoporoses:ASTP:ASTP -osteoporosis:ASTP:ASTP -osteoporotic:ASTP:ASTP -osteosarcoma:ASTS:ASTS -ostracisable:ASTR:ASTR -ostracizable:ASTR:ASTR -otherworldly:A0RR:ATRR -otocephalies:ATSF:ATSF -otologically:ATLJ:ATLK -otosalpinges:ATSL:ATSL -otoscleroses:ATSK:ATSK -otosclerosis:ATSK:ATSK -otosclerotic:ATSK:ATSK -outbalancing:ATPL:ATPL -outbargained:ATPR:ATPR -outbuildings:ATPL:ATPL -outcavilling:ATKF:ATKF -outcroppings:ATKR:ATKR -outdistanced:ATST:ATST -outdistances:ATST:ATST -outjockeying:ATJK:ATJK -outlandishly:ATLN:ATLN -outmaneuvers:ATMN:ATMN -outmaneuvred:ATMN:ATMN -outmaneuvres:ATMN:ATMN -outmanoeuvre:ATMN:ATMN -outmodedness:ATMT:ATMT -outnumbering:ATNM:ATNM -outperformed:ATPR:ATPR -outpocketing:ATPK:ATPK -outproducing:ATPR:ATPR -outrageously:ATRJ:ATRK -outreasoning:ATRS:ATRS -outrightness:ATRT:ATRT -outrivalling:ATRF:ATRF -outspreading:ATSP:ATSP -outstretched:ATST:ATST -outstretches:ATST:ATST -outstripping:ATST:ATST -ovalocytoses:AFLS:AFLS -ovalocytosis:AFLS:AFLS -ovariotestes:AFRT:AFRT -ovariotestis:AFRT:AFRT -ovariotomies:AFRT:AFRT -overabounded:AFRP:AFRP -overabundant:AFRP:AFRP -overachieved:AFRX:AFRK -overachiever:AFRX:AFRK -overachieves:AFRX:AFRK -overadvanced:AFRT:AFRT -overadvances:AFRT:AFRT -overaffected:AFRF:AFRF -overanalyses:AFRN:AFRN -overanalyzed:AFRN:AFRN -overanalyzes:AFRN:AFRN -overanimated:AFRN:AFRN -overasserted:AFRS:AFRS -overattached:AFRT:AFRT -overbalanced:AFRP:AFRP -overbalances:AFRP:AFRP -overbuilding:AFRP:AFRP -overburdened:AFRP:AFRP -overcapacity:AFRK:AFRK -overcautious:AFRK:AFRK -overcerebral:AFRS:AFRS -overcharging:AFRX:AFRK -overcivilize:AFRS:AFRS -overclouding:AFRK:AFRK -overconsumed:AFRK:AFRK -overconsumes:AFRK:AFRK -overcorrects:AFRK:AFRK -overcritical:AFRK:AFRK -overcropping:AFRK:AFRK -overcrowding:AFRK:AFRK -overdecorate:AFRT:AFRT -overdelicate:AFRT:AFRT -overdesirous:AFRT:AFRT -overdetailed:AFRT:AFRT -overdevelops:AFRT:AFRT -overdeviated:AFRT:AFRT -overdeviates:AFRT:AFRT -overdiligent:AFRT:AFRT -overdiluting:AFRT:AFRT -overdramatic:AFRT:AFRT -overdressing:AFRT:AFRT -overdrinking:AFRT:AFRT -overeducated:AFRT:AFRT -overeducates:AFRT:AFRT -overeffusive:AFRF:AFRF -overemphasis:AFRM:AFRM -overemphatic:AFRM:AFRM -overestimate:AFRS:AFRS -overexacting:AFRK:AFRK -overexciting:AFRK:AFRK -overexercise:AFRK:AFRK -overexerting:AFRK:AFRK -overexertion:AFRK:AFRK -overexpanded:AFRK:AFRK -overexplicit:AFRK:AFRK -overexposing:AFRK:AFRK -overexposure:AFRK:AFRK -overextended:AFRK:AFRK -overfamiliar:AFRF:AFRF -overfanciful:AFRF:AFRF -overfatigued:AFRF:AFRF -overfatigues:AFRF:AFRF -overgenerous:AFRJ:AFRK -overidealize:AFRT:AFRT -overinclined:AFRN:AFRN -overinclines:AFRN:AFRN -overindulged:AFRN:AFRN -overindulges:AFRN:AFRN -overinflated:AFRN:AFRN -overinflates:AFRN:AFRN -overinsuring:AFRN:AFRN -overinterest:AFRN:AFRN -overinvested:AFRN:AFRN -overlordship:AFRL:AFRL -overmanaging:AFRM:AFRM -overmastered:AFRM:AFRM -overmatching:AFRM:AFRM -overmodestly:AFRM:AFRM -overmodified:AFRM:AFRM -overmodifies:AFRM:AFRM -overnighters:AFRN:AFRN -overoptimism:AFRP:AFRP -overoptimist:AFRP:AFRP -overpersuade:AFRP:AFRP -overpitching:AFRP:AFRP -overpopulate:AFRP:AFRP -overpowerful:AFRP:AFRP -overpowering:AFRP:AFRP -overpraising:AFRP:AFRP -overpressure:AFRP:AFRP -overprinters:AFRP:AFRP -overprinting:AFRP:AFRP -overproduced:AFRP:AFRP -overproduces:AFRP:AFRP -overpromptly:AFRP:AFRP -overprotects:AFRP:AFRP -overreachers:AFRX:AFRK -overreaching:AFRX:AFRK -overreacting:AFRK:AFRK -overreaction:AFRK:AFRK -overrefining:AFRF:AFRF -overregulate:AFRK:AFRK -overreliance:AFRL:AFRL -overrestrict:AFRS:AFRS -overripeness:AFRP:AFRP -overroasting:AFRS:AFRS -overseership:AFRS:AFRS -overshadowed:AFRX:AFRX -overshooting:AFRX:AFRX -oversimplify:AFRS:AFRS -oversleeping:AFRS:AFRS -overspending:AFRS:AFRS -overspilling:AFRS:AFRS -overstaffing:AFRS:AFRS -oversteering:AFRS:AFRS -overstepping:AFRS:AFRS -overstocking:AFRS:AFRS -overstrained:AFRS:AFRS -overstridden:AFRS:AFRS -overstriding:AFRS:AFRS -overstriking:AFRS:AFRS -overstuffing:AFRS:AFRS -oversubtlety:AFRS:AFRS -oversupplied:AFRS:AFRS -oversupplies:AFRS:AFRS -overthrowers:AFR0:AFRT -overthrowing:AFR0:AFRT -overtraining:AFRT:AFRT -overtrumping:AFRT:AFRT -overwatching:AFRX:AFRX -overwatering:AFRT:AFRT -overweighing:AFRN:AFRN -overwhelming:AFRL:AFRL -overwintered:AFRN:AFRN -oxidizations:AKST:AKST -oxotremorine:AKST:AKST -oxyacanthine:AKSK:AKSK -oxyacetylene:AKSS:AKSS -oxycephalies:AKSS:AKSS -oxycephalous:AKSS:AKSS -oxychromatic:AKSX:AKSK -oxychromatin:AKSX:AKSK -oxymyoglobin:AKSM:AKSM -pachycephaly:PKSF:PKSF -pachycheilia:PKXL:PKKL -pachydermial:PKTR:PKTR -pachyonychia:PKNK:PKNK -pachysandras:PKSN:PKSN -pacification:PSFK:PSFK -pacificatory:PSFK:PSFK -packinghouse:PKNK:PKNK -paederasties:PTRS:PTRS -paedogenesis:PTJN:PTKN -paedogenetic:PTJN:PTKN -paedological:PTLJ:PTLK -paedophiliac:PTFL:PTFL -paganization:PKNS:PKNS -painlessness:PNLS:PNLS -paintbrushes:PNTP:PNTP -palaeobotany:PLPT:PLPT -palaeography:PLKR:PLKR -palaeolithic:PLL0:PLLT -palaeotology:PLTL:PLTL -palatability:PLTP:PLTP -palatalizing:PLTL:PLTL -palatialness:PLXL:PLXL -palatoglossi:PLTK:PLTK -palatography:PLTK:PLTK -palatoplasty:PLTP:PLTP -palatoplegia:PLTP:PLTP -paleographer:PLKR:PLKR -paleographic:PLKR:PLKR -paleontology:PLNT:PLNT -paleopallium:PLPL:PLPL -paleostriata:PLST:PLST -paleothalami:PL0L:PLTL -palestinians:PLST:PLST -palingeneses:PLNJ:PLNK -palingenesis:PLNJ:PLNK -palingenetic:PLNJ:PLNK -pallesthesia:PLS0:PL S -palliatively:PLTF:PLTF -palmospasmus:PLMS:PLMS -palpableness:PLPP:PLPP -palpebrating:PLPP:PLPP -palpebration:PLPP:PLPP -palpitations:PLPT:PLPT -palynologist:PLNL:PLNL -pamphleteers:PMFL:PMFL -panarteritis:PNRT:PNRT -panarthritis:PNR0:PNRT -panatrophies:PNTR:PNTR -panchromatic:PNXR:PNKR -pancolectomy:PNKL:PNKL -pancreatitis:PNKR:PNKR -pancytopenia:PNST:PNST -pancytopenic:PNST:PNST -pandanaceous:PNTN:PNTN -panegyrizing:PNJR:PNKR -panendoscope:PNNT:PNNT -panendoscopy:PNNT:PNNT -panicmongers:PNKM:PNKM -paniculately:PNKL:PNKL -panniculitis:PNKL:PNKL -panoptically:PNPT:PNPT -panscleroses:PNSK:PNSK -pansclerosis:PNSK:PNSK -pansinusitis:PNSN:PNSN -pantechnicon:PNTK:PNTK -pantisocracy:PNTS:PNTS -pantographer:PNTK:PNTK -pantographic:PNTK:PNTK -pantomimists:PNTM:PNTM -pantothenate:PNT0:PNTT -papanicolaou:PPNK:PPNK -paperhangers:PPRN:PPRN -paperhanging:PPRN:PPRN -paperweights:PPRT:PPRT -papillectomy:PPLK:PPLK -papilledemas:PPLT:PPLT -papilloedema:PPLT:PPLT -papuliferous:PPLF:PPLF -papyrologist:PPRL:PPRL -parabiotical:PRPT:PRPT -parablepsias:PRPL:PRPL -parablepsies:PRPL:PRPL -parabolizing:PRPL:PRPL -paraboloidal:PRPL:PRPL -paracenteses:PRSN:PRSN -paracentesis:PRSN:PRSN -parachronism:PRKR:PRKR -parachutists:PRKT:PRKT -paracolpitis:PRKL:PRKL -paracystitis:PRSS:PRSS -paradentitis:PRTN:PRTN -paradentoses:PRTN:PRTN -paradentosis:PRTN:PRTN -paradigmatic:PRTK:PRTK -paradisiacal:PRTS:PRTX -paraesthesia:PRS0:PRST -paraesthetic:PRS0:PRST -paraffinomas:PRFN:PRFN -parafunction:PRFN:PRFN -paraganglion:PRKN:PRKN -paragraphing:PRKR:PRKR -parahormonic:PRHR:PRHR -parahydrogen:PRHT:PRHT -parakinesias:PRKN:PRKN -paralanguage:PRLN:PRLN -paralipomena:PRLP:PRLP -parallactive:PRLK:PRLK -parallelized:PRLL:PRLL -parallelizes:PRLL:PRLL -parallelling:PRLL:PRLL -paralogistic:PRLJ:PRLK -paralyzation:PRLS:PRLS -paralyzingly:PRLS:PRLS -paramagnetic:PRMN:PRMK -paramastitis:PRMS:PRMS -parameterize:PRMT:PRMT -parametrical:PRMT:PRMT -parametritis:PRMT:PRMT -paramilitary:PRML:PRML -paramorphism:PRMR:PRMR -paramorphous:PRMR:PRMR -paramyotonia:PRMT:PRMT -paranormally:PRNR:PRNR -paraphimoses:PRFM:PRFM -paraphimosis:PRFM:PRFM -paraphoniaes:PRFN:PRFN -paraphrasers:PRFR:PRFR -paraphrasing:PRFR:PRFR -paraphrastic:PRFR:PRFR -paraproctium:PRPR:PRPR -parascending:PRSN:PRSN -parasiticide:PRST:PRST -parasitizing:PRST:PRST -parasitology:PRST:PRST -parastichies:PRST:PRST -parastichous:PRST:PRST -parasyntheta:PRSN:PRSN -parathyroids:PR0R:PRTR -paratroopers:PRTR:PRTR -paratrophies:PRTR:PRTR -paraurethral:PRR0:PRRT -parenchymous:PRNX:PRNK -parentelaing:PRNT:PRNT -parenterally:PRNT:PRNT -parenthesize:PRN0:PRNT -parishioners:PRXN:PRXN -parisyllabic:PRSL:PRSL -parkinsonian:PRKN:PRKN -parkinsonism:PRKN:PRKN -paroccipital:PRXP:PRXP -parochialism:PRKL:PRKL -parochiality:PRKL:PRKL -parodontitis:PRTN:PRTN -paronomastic:PRNM:PRNM -paronymously:PRNM:PRNM -paroxysmally:PRKS:PRKS -parrotfishes:PRTF:PRTF -parsimonious:PRSM:PRSM -partialities:PRXL:PRXL -participants:PRTS:PRTS -participated:PRTS:PRTS -participates:PRTS:PRTS -participator:PRTS:PRTS -particolored:PRTK:PRTK -particularly:PRTK:PRTK -particulizer:PRTK:PRTK -partisanship:PRTS:PRTS -partitioning:PRTX:PRTX -partitionist:PRTX:PRTX -partnerships:PRTN:PRTN -parturitions:PRTR:PRTR -parumbilical:PRMP:PRMP -pasqueflower:PSKF:PSKF -pasquinading:PSKN:PSKN -passableness:PSPL:PSPL -passepartout:PSPR:PSPR -passionately:PSNT:PSNT -pasteurellae:PSTR:PSTR -pasteurellas:PSTR:PSTR -pasteurizers:PSTR:PSTR -pasteurizing:PSTR:PSTR -pastoralists:PSTR:PSTR -patellectomy:PTLK:PTLK -paternosters:PTRN:PTRN -pathetically:P0TK:PTTK -pathogeneses:P0JN:PTKN -pathogenesis:P0JN:PTKN -pathogenetic:P0JN:PTKN -pathogenical:P0JN:PTKN -pathognomies:P0NM:PTKN -pathognomony:P0NM:PTKN -pathological:P0LJ:PTLK -pathologists:P0LJ:PTLK -patriarchate:PTRR:PTRR -patriarchies:PTRR:PTRR -patriclinous:PTRK:PTRK -patrilocally:PTRL:PTRL -patrological:PTRL:PTRL -patronymical:PTRN:PTRN -patulousness:PTLS:PTLS -peacefulness:PSFL:PSFL -peacekeepers:PSKP:PSKP -peacekeeping:PSKP:PSKP -peasepudding:PSPT:PSPT -peccadilloes:PKTL:PKTL -pectoriloquy:PKTR:PKTR -pedantically:PTNT:PTNT -pederastical:PTRS:PTRS -pedestalling:PTST:PTST -pediatrician:PTTR:PTTR -pedicellated:PTSL:PTSL -pediculation:PTKL:PTKL -pediculicide:PTKL:PTKL -pedodontists:PTTN:PTTN -pedunculated:PTNK:PTNK -pejoratively:PJRT:PHRT -pellucidness:PLST:PLST -pelvimetries:PLFM:PLFM -penalization:PNLS:PNLS -penetrations:PNTR:PNTR -penicillinic:PNSL:PNSL -penicilliums:PNSL:PNSL -peninsulated:PNNS:PNNS -peninsulates:PNNS:PNNS -penitentiary:PNTN:PNTN -pennological:PNLJ:PNLK -pennsylvania:PNSL:PNSL -pennyweights:PNTS:PNTS -pensionaries:PNSN:PNXN -pentagastrin:PNTK:PNTK -pentagonally:PNTK:PNTK -pentahedrons:PNTH:PNTH -pentateuchal:PNTT:PNTT -peradventure:PRTF:PRTF -perambulated:PRMP:PRMP -perambulates:PRMP:PRMP -perambulator:PRMP:PRMP -perceptional:PRSP:PRSP -perceptively:PRSP:PRSP -perceptivity:PRSP:PRSP -perceptually:PRSP:PRSP -percipiently:PRSP:PRSP -percussional:PRKS:PRKS -percussively:PRKS:PRKS -percutaneous:PRKT:PRKT -peregrinated:PRKR:PRKR -peregrinates:PRKR:PRKR -peregrinator:PRKR:PRKR -peremptorily:PRMP:PRMP -perenniality:PRNL:PRNL -perfidiously:PRFT:PRFT -perfoliation:PRFL:PRFL -perforations:PRFR:PRFR -performances:PRFR:PRFR -performative:PRFR:PRFR -perfrication:PRFR:PRFR -periadenitis:PRTN:PRTN -periangiitis:PRNJ:PRNK -periaortitis:PRRT:PRRT -periapically:PRPK:PRPK -periarterial:PRRT:PRRT -pericarditic:PRKR:PRKR -pericarditis:PRKR:PRKR -pericellular:PRSL:PRSL -pericemental:PRSM:PRSM -pericementum:PRSM:PRSM -perichondral:PRXN:PRKN -perichondria:PRXN:PRKN -pericynthion:PRSN:PRSN -pericystitis:PRSS:PRSS -peridiastole:PRTS:PRTS -perilousness:PRLS:PRLS -perimastitis:PRMS:PRMS -perimetrical:PRMT:PRMT -perimetritis:PRMT:PRMT -perimorphism:PRMR:PRMR -perimorphous:PRMR:PRMR -perimyelitis:PRML:PRML -perimyositis:PRMS:PRMS -perinephrium:PRNF:PRNF -perineuritic:PRNR:PRNR -perineuritis:PRNR:PRNR -periodically:PRTK:PRTK -periodontics:PRTN:PRTN -periodontist:PRTN:PRTN -periodontium:PRTN:PRTN -periomphalic:PRMF:PRMF -perionychium:PRNX:PRNK -periorchitis:PRRX:PRRK -periosteomas:PRST:PRST -periphacitis:PRFS:PRFS -peripherally:PRFR:PRFR -periphrastic:PRFR:PRFR -periproctous:PRPR:PRPR -perispomenon:PRSP:PRSP -perisynovial:PRSN:PRSN -peritendinea:PRTN:PRTN -perithelioma:PR0L:PRTL -peritoneally:PRTN:PRTN -peritonizing:PRTN:PRTN -peritracheal:PRTR:PRTR -periureteral:PRRT:PRRT -periureteric:PRRT:PRRT -periurethral:PRR0:PRRT -perivascular:PRFS:PRFS -perivisceral:PRFS:PRFS -perjuriously:PRJR:PRJR -perlingually:PRLN:PRLN -permanencies:PRMN:PRMN -permanganate:PRMN:PRMN -permeability:PRMP:PRMP -permissively:PRMS:PRMS -permittivity:PRMT:PRMT -permutations:PRMT:PRMT -perniciously:PRNS:PRNX -perobrachius:PRPR:PRPR -perodactylus:PRTK:PRTK -peroxyacetic:PRKS:PRKS -perpetrating:PRPT:PRPT -perpetration:PRPT:PRPT -perpetrators:PRPT:PRPT -perpetuating:PRPT:PRPT -perpetuation:PRPT:PRPT -perpetuators:PRPT:PRPT -perpetuities:PRPT:PRPT -perplexingly:PRPL:PRPL -perplexities:PRPL:PRPL -persecutions:PRSK:PRSK -perseverance:PRSF:PRSF -persistently:PRSS:PRSS -personalized:PRSN:PRSN -personalizes:PRSN:PRSN -personalties:PRSN:PRSN -personifying:PRSN:PRSN -perspectives:PRSP:PRSP -perspicacity:PRSP:PRSP -perspiration:PRSP:PRSP -perspiratory:PRSP:PRSP -perspiringly:PRSP:PRSP -persuasively:PRSS:PRSS -persulphuric:PRSL:PRSL -pertinacious:PRTN:PRTN -pertinencies:PRTN:PRTN -perturbation:PRTR:PRTR -perturbingly:PRTR:PRTR -perverseness:PRFR:PRFR -perversities:PRFR:PRFR -perviousness:PRFS:PRFS -pestilential:PSTL:PSTL -pestologists:PSTL:PSTL -petaliferous:PTLF:PTLF -petechiation:PTKX:PTKX -petrifaction:PTRF:PTRF -petrifactive:PTRF:PTRF -petrodollars:PTRT:PTRT -petrographer:PTRK:PTRK -petrographic:PTRK:PTRK -petrological:PTRL:PTRL -petrologists:PTRL:PTRL -petromastoid:PTRM:PTRM -pettifoggers:PTFK:PTFK -pettifoggery:PTFK:PTFK -pettifogging:PTFJ:PTFK -phagocytized:FKST:FKST -phagocytizes:FKST:FKST -phagocytosed:FKST:FKST -phagocytoses:FKST:FKST -phagocytosis:FKST:FKST -phagocytotic:FKST:FKST -phagocytozed:FKST:FKST -phanerogamia:FNRK:FNRK -phanerogamic:FNRK:FNRK -phanerogenic:FNRJ:FNRK -phaneromania:FNRM:FNRM -phanerophyte:FNRF:FNRF -phanerozoite:FNRS:FNRS -phantasmally:FNTS:FNTS -pharmaceutic:FRMS:FRMS -pharmacology:FRMK:FRMK -pharmacopeia:FRMK:FRMK -pharyngismus:FRNJ:FRNK -pharyngocele:FRNK:FRNK -pharyngology:FRNK:FRNK -pharyngotomy:FRNK:FRNK -phellodermal:FLTR:FLTR -phenanthrene:FNN0:FNNT -phenological:FNLJ:FNLK -phenologists:FNLJ:FNLK -phenomenally:FNMN:FNMN -phenotypical:FNTP:FNTP -phentolamine:FNTL:FNTL -phenylacetic:FNLS:FNLS -philadelphia:FLTL:FLTL -philadelphus:FLTL:FLTL -philanderers:FLNT:FLNT -philandering:FLNT:FLNT -philanthropy:FLN0:FLNT -philatelists:FLTL:FLTL -philharmonic:FLRM:FLRM -philistinism:FLST:FLST -phillumenist:FLMN:FLMN -philodendron:FLTN:FLTN -philological:FLLJ:FLLK -philologists:FLLJ:FLLK -philosophers:FLSF:FLSF -philosophies:FLSF:FLSF -philosophize:FLSF:FLSF -phleboclyses:FLPK:FLPK -phleboclysis:FLPK:FLPK -phlebography:FLPK:FLPK -phlebologies:FLPL:FLPL -phlebotomies:FLPT:FLPT -phlebotomist:FLPT:FLPT -phlebotomize:FLPT:FLPT -phlegmatical:FLKM:FLKM -phlogogenous:FLKJ:FLKK -phloroglucin:FLRK:FLRK -phlyctaenula:FLKT:FLKT -phlyctenulae:FLKT:FLKT -phlyctenular:FLKT:FLKT -phonasthenia:FNS0:FNST -phonemically:FNMK:FNMK -phonetically:FNTK:FNTK -phoneticians:FNTS:FNTX -phoneticists:FNTS:FNTS -phonogrammic:FNKR:FNKR -phonographer:FNKR:FNKR -phonographes:FNKR:FNKR -phonographic:FNKR:FNKR -phonological:FNLJ:FNLK -phonologists:FNLJ:FNLK -phonometries:FNMT:FNMT -phonopathies:FNP0:FNPT -phonotactics:FNTK:FNTK -phorometries:FRMT:FRMT -phosphatemia:FSFT:FSFT -phosphatises:FSFT:FSFT -phosphatized:FSFT:FSFT -phosphatizes:FSFT:FSFT -phosphaturia:FSFT:FSFT -phosphaturic:FSFT:FSFT -phospholipid:FSFL:FSFL -phosphorated:FSFR:FSFR -phosphorates:FSFR:FSFR -phosphoresce:FSFR:FSFR -phosphoritic:FSFR:FSFR -phosphorized:FSFR:FSFR -phosphorizes:FSFR:FSFR -photoactinic:FTKT:FTKT -photoallergy:FTLR:FTLR -photobiology:FTPL:FTPL -photocathode:FTK0:FTKT -photochemist:FTXM:FTKM -photocompose:FTKM:FTKM -photocopiers:FTKP:FTKP -photocopying:FTKP:FTKP -photocurrent:FTKR:FTKR -photodynamic:FTTN:FTTN -photoengrave:FTNK:FTNK -photogenical:FTJN:FTKN -photogeology:FTJL:FTKL -photographed:FTKR:FTKR -photographer:FTKR:FTKR -photographes:FTKR:FTKR -photographic:FTKR:FTKR -photogravure:FTKR:FTKR -photoinduced:FTNT:FTNT -photokineses:FTKN:FTKN -photokinesis:FTKN:FTKN -photokinetic:FTKN:FTKN -photolytical:FTLT:FTLT -photomapping:FTMP:FTMP -photometries:FTMT:FTMT -photometrist:FTMT:FTMT -photomontage:FTMN:FTMN -photomosaics:FTMS:FTMS -photoneutron:FTNT:FTNT -photonuclear:FTNK:FTNK -photopathies:FTP0:FTPT -photophilous:FTFL:FTFL -photopolymer:FTPL:FTPL -photorealism:FTRL:FTRL -photorealist:FTRL:FTRL -photospheres:FTSF:FTSF -photospheric:FTSF:FTSF -photostatted:FTST:FTST -phototherapy:FT0R:FTTR -photothermal:FT0R:FTTR -photothermic:FT0R:FTTR -phototrophic:FTTR:FTTR -phototropism:FTTR:FTTR -photovoltaic:FTFL:FTFL -phragmoplast:FRKM:FRKM -phraseograms:FRSK:FRSK -phraseograph:FRSK:FRSK -phreatophyte:FRTF:FRTF -phreniclases:FRNK:FRNK -phreniclasia:FRNK:FRNK -phreniclasis:FRNK:FRNK -phrenicotomy:FRNK:FRNK -phrenocardia:FRNK:FRNK -phrenologies:FRNL:FRNL -phrenologist:FRNL:FRNL -phrenoplegia:FRNP:FRNP -phthisiology:F0SL:FTXL -phycological:FKLJ:FKLK -phycomycetes:FKMS:FKMS -phyctaenulae:FKTN:FKTN -phylacteries:FLKT:FLKT -phyletically:FLTK:FLTK -phyllotactic:FLTK:FLTK -physaloptera:FSLP:FSLP -physiatrists:FSTR:FXTR -physicalness:FSKL:FSKL -physiognomic:FSNM:FXKN -physiography:FSKR:FXKR -physiologies:FSLJ:FXLK -physiologist:FSLJ:FXLK -physostomous:FSST:FSST -phytalbumose:FTLP:FTLP -phytochemist:FTXM:FTKM -phytogeneses:FTJN:FTKN -phytogenesis:FTJN:FTKN -phytogenetic:FTJN:FTKN -phytographic:FTKR:FTKR -phytohormone:FTHR:FTHR -phytonadione:FTNT:FTNT -phytophagies:FTFJ:FTFK -phytophagous:FTFK:FTFK -piccaninnies:PKNN:PKNN -pickaninnies:PKNN:PKNN -picornavirus:PKRN:PKRN -picrocarmine:PKRK:PKRK -picrotoxinin:PKRT:PKRT -pictographes:PKTK:PKTK -pictographic:PKTK:PKTK -picturephone:PKTR:PKTR -pieceworkers:PSRK:PSRK -pigeonholing:PJNL:PKNL -pigmentation:PKMN:PKMN -piloerection:PLRK:PLRK -pinguiculaes:PNKK:PNKK -pinnatifidly:PNTF:PNTF -pipistrelles:PPST:PPST -piroplasmata:PRPL:PRPL -pisciculture:PSKL:PSKL -pitiableness:PXPL:PXPL -pitilessness:PTLS:PTLS -placableness:PLKP:PLKP -placentation:PLSN:PLSN -placentomata:PLSN:PLSN -plagiaristic:PLJR:PLKR -plagiarizers:PLJR:PLKR -plagiarizing:PLJR:PLKR -plagioclimax:PLJK:PLKK -plagiotropic:PLJT:PLKT -plainclothes:PLNK:PLNK -planetariums:PLNT:PLNT -planetesimal:PLNT:PLNT -planispheres:PLNS:PLNS -planispheric:PLNS:PLNS -planographic:PLNK:PLNK -plasmacytoid:PLSM:PLSM -plasmacytoma:PLSM:PLSM -plasmocytoma:PLSM:PLSM -plasmodesmas:PLSM:PLSM -plasmodiases:PLSM:PLSM -plasmodiasis:PLSM:PLSM -plasmodicide:PLSM:PLSM -plasmodioses:PLSM:PLSM -plasmodiosis:PLSM:PLSM -plasmogamies:PLSM:PLSM -plasmolyzing:PLSM:PLSM -plasmoptyses:PLSM:PLSM -plasmoptysis:PLSM:PLSM -plasmotomies:PLSM:PLSM -plasterboard:PLST:PLST -plasticisers:PLST:PLST -plasticities:PLST:PLST -plasticizing:PLST:PLST -plastogamies:PLST:PLST -plastometric:PLST:PLST -platonically:PLTN:PLTN -platycephaly:PLTS:PLTS -platycnemies:PLTK:PLTK -platycoelian:PLTK:PLTK -platycoelous:PLTK:PLTK -platypellies:PLTP:PLTP -platypelloid:PLTP:PLTP -platyrhinian:PLTR:PLTR -platyrrhinic:PLTR:PLTR -plausibility:PLSP:PLSP -pleasantness:PLSN:PLSN -pleasantries:PLSN:PLSN -pleasingness:PLSN:PLSN -pleasureless:PLSR:PLSR -plebescitary:PLPS:PLPS -plebiscitary:PLPS:PLPS -pledgeholder:PLJH:PLJH -pleiomorphic:PLMR:PLMR -pleiotropies:PLTR:PLTR -pleiotropism:PLTR:PLTR -pleomorphism:PLMR:PLMR -pleomorphous:PLMR:PLMR -plesiosaurus:PLSS:PLXS -pleurocentra:PLRS:PLRS -pleurogenous:PLRJ:PLRK -pleurotomies:PLRT:PLRT -pleximetries:PLKS:PLKS -ploddingness:PLTN:PLTN -ploughshares:PLFX:PLFX -ploughstaffs:PLFS:PLFS -plumbiferous:PLMP:PLMP -plumulaceous:PLML:PLML -plurilocular:PLRL:PLRL -plutocracies:PLTK:PLTK -pneumaticity:NMTS:NMTS -pneumatocele:NMTS:NMTS -pneumatogram:NMTK:NMTK -pneumatology:NMTL:NMTL -pneumococcal:NMKK:NMKK -pneumococcic:NMKX:NMKX -pneumococcus:NMKK:NMKK -pneumocystis:NMSS:NMSS -pneumographs:NMKR:NMKR -pneumography:NMKR:NMKR -pneumologies:NMLJ:NMLK -pneumonyssus:NMNS:NMNS -pneumothorax:NM0R:NMTR -pneumotropic:NMTR:NMTR -pocketknives:PKTK:PKTK -poddlefaking:PTLF:PTLF -podophyllums:PTFL:PTFL -poenitentiae:PNTN:PNTN -poikiloblast:PKLP:PKLP -poikiloderma:PKLT:PKLT -poikilotherm:PKL0:PKLT -pointillists:PNTL:PNTL -polarimetric:PLRM:PLRM -polariscopes:PLRS:PLRS -polariscopic:PLRS:PLRS -polarization:PLRS:PLRS -polarography:PLRK:PLRK -policyholder:PLSH:PLSH -policymakers:PLSM:PLSM -policymaking:PLSM:PLSM -politicizing:PLTS:PLTS -poltergeists:PLTR:PLTR -polyandrists:PLNT:PLNT -polyanthuses:PLN0:PLNT -polycentrism:PLSN:PLSN -polychaetous:PLKT:PLXT -polycythemia:PLS0:PLST -polycythemic:PLS0:PLST -polyembryony:PLMP:PLMP -polyethylene:PL0L:PLTL -polygalactia:PLKL:PLKL -polygamously:PLKM:PLKM -polyglobulia:PLKL:PLKL -polyglottism:PLKL:PLKL -polyhidroses:PLHT:PLHT -polyhidrosis:PLHT:PLHT -polyhydroxyl:PLHT:PLHT -polyisoprene:PLSP:PLSP -polymerizing:PLMR:PLMR -polymicrobic:PLMK:PLMK -polymorphism:PLMR:PLMR -polymorphous:PLMR:PLMR -polymyositis:PLMS:PLMS -polyneuritic:PLNR:PLNR -polyneuritis:PLNR:PLNR -polynomially:PLNM:PLNM -polypeptides:PLPP:PLPP -polypetalous:PLPT:PLPT -polypharmacy:PLFR:PLFR -polyphonical:PLFN:PLFN -polyphyletic:PLFL:PLFL -polyphyodont:PLFT:PLFT -polyploidies:PLPL:PLPL -polyrhythmic:PLR0:PLRT -polyribosome:PLRP:PLRP -polysepalous:PLSP:PLSP -polyspermies:PLSP:PLSP -polysulphide:PLSL:PLSL -polysyllabic:PLSL:PLSL -polysyllable:PLSL:PLSL -polysynaptic:PLSN:PLSN -polysyndeton:PLSN:PLSN -polytheistic:PL0S:PLTS -polytonalist:PLTN:PLTN -polytonality:PLTN:PLTN -polyurethane:PLR0:PLRT -polyvalences:PLFL:PLFL -pomegranates:PMKR:PMKR -ponsasinorum:PNSS:PNSS -pontifically:PNTF:PNTF -pontificated:PNTF:PNTF -pontificates:PNTF:PNTF -pontificator:PNTF:PNTF -popularizing:PPLR:PPLR -populousness:PPLS:PPLS -porcellanous:PRSL:PRSL -pornocracies:PRNK:PRNK -pornographer:PRNK:PRNK -pornographic:PRNK:PRNK -porocephalus:PRSF:PRSF -porphyropsin:PRFR:PRFR -portcullises:PRTK:PRTK -portentously:PRTN:PRTN -portmanteaus:PRTM:PRTM -portmanteaux:PRTM:PRTM -portraitists:PRTR:PRTR -positiveness:PSTF:PSTF -positivistic:PSTF:PSTF -possessional:PSSN:PSSN -possessionem:PSSN:PSSN -possessiones:PSSN:PSSN -possessively:PSSF:PSSF -postcardinal:PSTK:PSTK -postdiluvian:PSTL:PSTL -postdoctoral:PSTK:PSTK -postelection:PSTL:PSTL -posteriority:PSTR:PSTR -postgraduate:PSTK:PSTK -posthumously:PS0M:PSTM -posthypnotic:PS0P:PSTP -postliminary:PSTL:PSTL -postliminies:PSTL:PSTL -postliminium:PSTL:PSTL -postmaturity:PSTM:PSTM -postmeridian:PSTM:PSTM -postmeridiem:PSTM:PSTM -postmistress:PSTM:PSTM -postpalatine:PSTP:PSTP -postponement:PSTP:PSTP -postposition:PSTP:PSTP -postpositive:PSTP:PSTP -postprandial:PSTP:PSTP -postpubertal:PSTP:PSTP -postscapulae:PSTS:PSTS -postscapular:PSTS:PSTS -postscapulas:PSTS:PSTS -postseasonal:PSTS:PSTS -postsynaptic:PSTS:PSTS -postulations:PSTL:PSTL -potentiality:PTNX:PTNX -potentiating:PTNX:PTNX -potentiation:PTNX:PTNX -pourpresture:PRPR:PRPR -powerfulness:PRFL:PRFL -practicality:PRKT:PRKT -practitioner:PRKT:PRKT -praecogitata:PRKJ:PRKK -pragmatistic:PRKM:PRKM -praiseworthy:PRSR:PRSR -prankishness:PRNK:PRNK -praseodymium:PRST:PRST -praxeologies:PRKS:PRKS -praxiologies:PRKS:PRKS -preabsorbing:PRPS:PRPS -preaccepting:PRXP:PRXP -preaccustoms:PRKS:PRKS -preacquaints:PRKN:PRKN -preaddressed:PRTR:PRTR -preaddresses:PRTR:PRTR -preadjusting:PRTJ:PRTJ -preadvertise:PRTF:PRTF -preaffirming:PRFR:PRFR -preallotting:PRLT:PRLT -preamplifier:PRMP:PRMP -preannounced:PRNN:PRNN -preannounces:PRNN:PRNN -preantiquity:PRNT:PRNT -preappointed:PRPN:PRPN -prearranging:PRRN:PRRN -preascertain:PRSR:PRSR -preassembled:PRSM:PRSM -preassembles:PRSM:PRSM -preassigning:PRSN:PRSK -preassurance:PRSR:PRSR -preauricular:PRRK:PRRK -prebendaries:PRPN:PRPN -precalculate:PRKL:PRKL -precanceling:PRKN:PRKN -precancerous:PRKN:PRKN -precapillary:PRKP:PRKP -precariously:PRKR:PRKR -precartilage:PRKR:PRKR -precedential:PRST:PRST -precensoring:PRSN:PRSN -precentorial:PRSN:PRSN -preceptively:PRSP:PRSP -preceptorial:PRSP:PRSP -precessional:PRSS:PRSS -preciosities:PRSS:PRXS -preciousness:PRSS:PRXS -precipitable:PRSP:PRSP -precipitancy:PRSP:PRSP -precipitated:PRSP:PRSP -precipitates:PRSP:PRSP -precipitator:PRSP:PRSP -precisianism:PRSS:PRSX -precisionism:PRSS:PRSX -precisionist:PRSS:PRSX -preclassical:PRKL:PRKL -preclusively:PRKL:PRKL -precociously:PRKS:PRKX -precogitated:PRKJ:PRKK -precogitates:PRKJ:PRKK -precognition:PRKN:PRKK -precognitive:PRKN:PRKK -preconcealed:PRKN:PRKN -preconceived:PRKN:PRKN -preconceives:PRKN:PRKN -preconcerted:PRKN:PRKN -precondemned:PRKN:PRKN -precondition:PRKN:PRKN -preconscious:PRKN:PRKN -preconstruct:PRKN:PRKN -precontracts:PRKN:PRKN -precontrived:PRKN:PRKN -precontrives:PRKN:PRKN -predeceasing:PRTS:PRTS -predecessors:PRTS:PRTS -predesignate:PRTS:PRTS -predesigning:PRTS:PRTS -predestinate:PRTS:PRTS -predestining:PRTS:PRTS -predetermine:PRTT:PRTT -prediastolic:PRTS:PRTS -predicaments:PRTK:PRTK -predications:PRTK:PRTK -predictively:PRTK:PRTK -predigesting:PRTJ:PRTK -predigestion:PRTJ:PRTK -predilection:PRTL:PRTL -predisposing:PRTS:PRTS -predissolved:PRTS:PRTS -predissolves:PRTS:PRTS -prednisolone:PRTN:PRTN -predominance:PRTM:PRTM -predominated:PRTM:PRTM -predominates:PRTM:PRTM -predominator:PRTM:PRTM -preeclampsia:PRKL:PRKL -preeclamptic:PRKL:PRKL -preeminently:PRMN:PRMN -preemptively:PRMP:PRMP -preestablish:PRST:PRST -preestimated:PRST:PRST -preestimates:PRST:PRST -preexamining:PRKS:PRKS -preexistence:PRKS:PRKS -preexposures:PRKS:PRKS -prefabricate:PRFP:PRFP -prefactorial:PRFK:PRFK -prefactorily:PRFK:PRFK -prefectorial:PRFK:PRFK -preferential:PRFR:PRFR -preformation:PRFR:PRFR -pregnability:PRNP:PRKN -pregnanediol:PRNN:PRKN -pregnenolone:PRNN:PRKN -prehardening:PRHR:PRHR -prehensility:PRHN:PRHN -prehistorian:PRHS:PRHS -preinaugural:PRNK:PRNK -preindicated:PRNT:PRNT -preindicates:PRNT:PRNT -preinduction:PRNT:PRNT -preinforming:PRNF:PRNF -preinserting:PRNS:PRNS -preinstructs:PRNS:PRNS -prejudgement:PRJJ:PRJJ -prejudgments:PRJT:PRJT -prejudicedly:PRJT:PRJT -prejudicious:PRJT:PRJT -prelapsarian:PRLP:PRLP -prelingually:PRLN:PRLN -premalignant:PRML:PRML -premaxillary:PRMK:PRMK -premedically:PRMT:PRMT -premedicated:PRMT:PRMT -premeditated:PRMT:PRMT -premeditates:PRMT:PRMT -premeditator:PRMT:PRMT -premenopause:PRMN:PRMN -premenstrual:PRMN:PRMN -premenstruum:PRMN:PRMN -premierships:PRMR:PRMR -premonitions:PRMN:PRMN -premunitions:PRMN:PRMN -premyelocyte:PRML:PRML -preoccipital:PRXP:PRXP -preoccupying:PRKP:PRKP -preoperative:PRPR:PRPR -preordaining:PRRT:PRRT -preovulatory:PRFL:PRFL -prepackaging:PRPK:PRPK -preparations:PRPR:PRPR -preparatives:PRPR:PRPR -preparedness:PRPR:PRPR -prepatellars:PRPT:PRPT -preplacental:PRPL:PRPL -preponderant:PRPN:PRPN -preponderate:PRPN:PRPN -prepositions:PRPS:PRPS -prepossessed:PRPS:PRPS -prepossesses:PRPS:PRPS -preposterous:PRPS:PRPS -prepotencies:PRPT:PRPT -preprocessed:PRPR:PRPR -preprocesses:PRPR:PRPR -preprocessor:PRPR:PRPR -preprogramme:PRPR:PRPR -prepsychotic:PRPS:PRPS -prepuberally:PRPP:PRPP -prepuberties:PRPP:PRPP -prepubescent:PRPP:PRPP -prerecording:PRRK:PRRK -preregisters:PRRJ:PRRK -prerequisite:PRRK:PRRK -prerogatives:PRRK:PRRK -presagefully:PRSJ:PRSK -presbyacusia:PRSP:PRSP -presbyterial:PRSP:PRSP -presbyterian:PRSP:PRSP -presbyteries:PRSP:PRSP -preschoolers:PRSK:PRSK -prescribable:PRSK:PRSK -prescription:PRSK:PRSK -prescriptive:PRSK:PRSK -preselecting:PRSL:PRSL -presentation:PRSN:PRSN -presentative:PRSN:PRSN -presentients:PRSN:PRSN -presentiment:PRSN:PRSN -presentments:PRSN:PRSN -preservation:PRSR:PRSR -preservative:PRSR:PRSR -preshrinking:PRXR:PRXR -presidencies:PRST:PRST -presidential:PRST:PRST -presignified:PRSN:PRSK -presignifies:PRSN:PRSK -pressingness:PRSN:PRSN -pressureless:PRSR:PRSR -pressurizers:PRSR:PRSR -pressurizing:PRSR:PRSR -prestissimos:PRST:PRST -prestressing:PRST:PRST -presubiculum:PRSP:PRSP -presumptions:PRSM:PRSM -presumptuous:PRSM:PRSM -presupposing:PRSP:PRSP -pretermitted:PRTR:PRTR -pretreatment:PRTR:PRTR -prevailingly:PRFL:PRFL -prevaricated:PRFR:PRFR -prevaricates:PRFR:PRFR -prevaricator:PRFR:PRFR -preveniently:PRFN:PRFN -preventative:PRFN:PRFN -preventively:PRFN:PRFN -preventorium:PRFN:PRFN -previousness:PRFS:PRFS -priestliness:PRST:PRST -priggishness:PRKX:PRKX -primigravida:PRMK:PRMK -primogenital:PRMJ:PRMK -primogenitor:PRMJ:PRMK -primordially:PRMR:PRMR -primulaceous:PRML:PRML -princeliness:PRNS:PRNS -principality:PRNS:PRNS -printability:PRNT:PRNT -prioritizing:PRRT:PRRT -prismatoidal:PRSM:PRSM -privateering:PRFT:PRFT -prizefighter:PRSF:PRSF -prizewinners:PRSN:PRTS -prizewinning:PRSN:PRTS -proabolition:PRPL:PRPL -proaccelerin:PRXL:PRXL -proamendment:PRMN:PRMN -probationary:PRPX:PRPX -probationers:PRPX:PRPX -proboscidean:PRPS:PRPS -proboscidian:PRPS:PRPS -procatarctic:PRKT:PRKT -procathedral:PRK0:PRKT -procedurally:PRST:PRST -procellarian:PRSL:PRSL -processional:PRSS:PRSS -proclamation:PRKL:PRKL -proclamatory:PRKL:PRKL -proclivities:PRKL:PRKL -procommunism:PRKM:PRKM -procommunist:PRKM:PRKM -proconsulate:PRKN:PRKN -proconvertin:PRKN:PRKN -proctoclyses:PRKT:PRKT -proctoclysis:PRKT:PRKT -proctodaeums:PRKT:PRKT -proctologies:PRKT:PRKT -proctologist:PRKT:PRKT -proctorially:PRKT:PRKT -proctoscopes:PRKT:PRKT -proctoscopic:PRKT:PRKT -procurements:PRKR:PRKR -prodigiously:PRTJ:PRTK -productional:PRTK:PRTK -productively:PRTK:PRTK -productivity:PRTK:PRTK -profanations:PRFN:PRFN -profeminists:PRFM:PRFM -professional:PRFS:PRFS -professorate:PRFS:PRFS -professorial:PRFS:PRFS -proficiently:PRFS:PRFX -profiteering:PRFT:PRFT -profiteroles:PRFT:PRFT -profligately:PRFL:PRFL -profoundness:PRFN:PRFN -profundities:PRFN:PRFN -progenitress:PRJN:PRKN -progesterone:PRJS:PRKS -proglottides:PRKL:PRKL -prognathisms:PRN0:PRKN -programmable:PRKR:PRKR -programmatic:PRKR:PRKR -progressions:PRKR:PRKR -progressives:PRKR:PRKR -prohibitions:PRHP:PRHP -projectional:PRJK:PRJK -projectively:PRJK:PRJK -projiciently:PRJS:PRJX -prolegomenal:PRLK:PRLK -prolegomenon:PRLK:PRLK -proletarians:PRLT:PRLT -proletariate:PRLT:PRLT -proleucocyte:PRLK:PRLK -proleukocyte:PRLK:PRLK -proliferated:PRLF:PRLF -proliferates:PRLF:PRLF -prolifically:PRLF:PRLF -prolificness:PRLF:PRLF -prolongation:PRLN:PRLN -prolongments:PRLN:PRLN -prolotherapy:PRL0:PRLT -prometaphase:PRMT:PRMT -promethazine:PRM0:PRMT -promontories:PRMN:PRMN -promulgating:PRML:PRML -promulgation:PRML:PRML -promulgators:PRML:PRML -promyelocyte:PRML:PRML -pronominally:PRNM:PRNM -pronouncedly:PRNN:PRNN -pronucleuses:PRNK:PRNK -proofreaders:PRFR:PRFR -proofreading:PRFR:PRFR -propaedeutic:PRPT:PRPT -propagandism:PRPK:PRPK -propagandist:PRPK:PRPK -propagandize:PRPK:PRPK -propagations:PRPK:PRPK -propanedioec:PRPN:PRPN -propensities:PRPN:PRPN -propertyless:PRPR:PRPR -prophesiable:PRFS:PRFX -prophetesses:PRFT:PRFT -prophylactic:PRFL:PRFL -propitiating:PRPX:PRPX -propitiation:PRPX:PRPX -propitiative:PRPX:PRPX -propitiators:PRPX:PRPX -propitiatory:PRPX:PRPX -propitiously:PRPT:PRPT -propmistress:PRPM:PRPM -proportional:PRPR:PRPR -proportioned:PRPR:PRPR -propositions:PRPS:PRPS -proprietatis:PRPR:PRPR -proprietress:PRPR:PRPR -prorogations:PRRK:PRRK -proscription:PRSK:PRSK -proscriptive:PRSK:PRSK -prosecutable:PRSK:PRSK -prosecutions:PRSK:PRSK -proselytized:PRSL:PRSL -proselytizer:PRSL:PRSL -proselytizes:PRSL:PRSL -prosequendum:PRSK:PRSK -prosequiturs:PRSK:PRSK -prosopically:PRSP:PRSP -prospections:PRSP:PRSP -prospectives:PRSP:PRSP -prospectless:PRSP:PRSP -prospectuses:PRSP:PRSP -prosperities:PRSP:PRSP -prosperously:PRSP:PRSP -prostatolith:PRST:PRST -prosthetical:PRS0:PRST -prosthetists:PRS0:PRST -prostituting:PRST:PRST -prostitution:PRST:PRST -prostrations:PRST:PRST -prosurrender:PRSR:PRSR -protactinium:PRTK:PRTK -protagonists:PRTK:PRTK -protectional:PRTK:PRTK -protectively:PRTK:PRTK -protectorate:PRTK:PRTK -protectories:PRTK:PRTK -protestation:PRTS:PRTS -protestingly:PRTS:PRTS -prothalamion:PR0L:PRTL -prothonotary:PR0N:PRTN -protistology:PRTS:PRTS -protoblastic:PRTP:PRTP -protocolling:PRTK:PRTK -protohistory:PRTH:PRTH -protomorphic:PRTM:PRTM -protoplasmal:PRTP:PRTP -protoplasmic:PRTP:PRTP -protoplastic:PRTP:PRTP -prototherian:PRT0:PRTT -prototrophic:PRTT:PRTT -prototropies:PRTT:PRTT -prototypical:PRTT:PRTT -protozoiases:PRTS:PRTS -protozoiasis:PRTS:PRTS -protozoology:PRTS:PRTS -protractedly:PRTR:PRTR -protrusively:PRTR:PRTR -protuberance:PRTP:PRTP -proverbially:PRFR:PRFR -providential:PRFT:PRFT -provincially:PRFN:PRFN -provisioning:PRFS:PRFX -provocateurs:PRFK:PRFK -provocations:PRFK:PRFK -prudentially:PRTN:PRTN -psammomatous:SMMT:SMMT -psephologist:SFLJ:SFLK -pseudoanemia:STNM:STNM -pseudoangina:STNJ:STNK -pseudobulbar:STPL:STPL -pseudocyeses:STSS:STSS -pseudocyesis:STSS:STSS -pseudomodern:STMT:STMT -pseudonymity:STNM:STNM -pseudonymous:STNM:STNM -pseudopodium:STPT:STPT -pseudoptoses:STPT:STPT -pseudoptosis:STPT:STPT -pseudorabies:STRP:STRP -pseudoscalar:STSK:STSK -pseudostomas:STST:STST -pseudovector:STFK:STFK -psoriasiform:SRSF:SRSF -psychagogies:SXKJ:SKKK -psychanalyst:SXNL:SKNL -psychedelics:SXTL:SKTL -psychiatries:SKTR:SKTR -psychiatrist:SKTR:SKTR -psychoactive:SXKT:SKKT -psychodramas:SXTR:SKTR -psychogenies:SXJN:SKKN -psychognoses:SXNS:SKKN -psychognosis:SXNS:SKKN -psychography:SXKR:SKKR -psycholeptic:SXLP:SKLP -psychologies:SXLJ:SKLK -psychologism:SXLJ:SKLK -psychologist:SXLJ:SKLK -psychologize:SXLJ:SKLK -psychomachia:SXMK:SKMK -psychometric:SXMT:SKMT -psychonomics:SXNM:SKNM -psychonomies:SXNM:SKNM -psychopathes:SXP0:SKPT -psychopathia:SXP0:SKPT -psychopathic:SXP0:SKPT -psychosexual:SXSK:SKSK -psychosocial:SXSS:SKSX -psychotropic:SXTR:SKTR -psychrometry:SXRM:SKRM -pteridophyte:PTRT:PTRT -pterodactyls:PTRT:PTRT -ptyalography:PTLK:PTLK -publications:PPLK:PPLK -pugnaciously:PNSS:PKNX -pulmogastric:PLMK:PLMK -pulmometries:PLMM:PLMM -pulmonectomy:PLMN:PLMN -pulpectomies:PLPK:PLPK -pulverizable:PLFR:PLFR -pulverulence:PLFR:PLFR -pumpernickel:PMPR:PMPR -pumpkinseeds:PMPK:PMPK -punctualness:PNKT:PNKT -punitiveness:PNTF:PNTF -pupillometry:PPLM:PPLM -pupillomotor:PPLM:PPLM -purblindness:PRPL:PRPL -purchaseable:PRXS:PRKS -purification:PRFK:PRFK -purificatory:PRFK:PRFK -puristically:PRST:PRST -purposefully:PRPS:PRPS -pussyfooting:PSFT:PSFT -pustulosises:PSTL:PSTL -putrefaction:PTRF:PTRF -putrefactive:PTRF:PTRF -pycnomorphic:PKNM:PKNM -pyelographic:PLKR:PLKR -pyelostomies:PLST:PLST -pygmalionism:PKML:PKML -pyknolepsies:PKNL:PKNL -pyloroplasty:PLRP:PLRP -pylorotomies:PLRT:PLRT -pyonephritis:PNFR:PNFR -pyonephroses:PNFR:PNFR -pyonephrosis:PNFR:PNFR -pyonephrotic:PNFR:PNFR -pyosalpinges:PSLP:PSLP -pyramidotomy:PRMT:PRMT -pyrazinamide:PRSN:PRSN -pyretogenous:PRTJ:PRTK -pyridoxamine:PRTK:PRTK -pyritiferous:PRTF:PRTF -pyrocatechin:PRKT:PRKT -pyrocatechol:PRKT:PRKT -pyrochemical:PRXM:PRKM -pyroelectric:PRLK:PRLK -pyrognostics:PRNS:PRKN -pyrographies:PRKR:PRKR -pyroligneous:PRLN:PRLK -pyromaniacal:PRMN:PRMN -pyrometrical:PRMT:PRMT -pyromorphite:PRMR:PRMR -pyrophyllite:PRFL:PRFL -pyrosulphate:PRSL:PRSL -pyrotechnics:PRTK:PRTK -pythagoreans:P0KR:PTKR -quackishness:KKXN:KKXN -quacksalving:KKSL:KKSL -quadragesima:KTRJ:KTRK -quadrangular:KTRN:KTRN -quadraphonic:KTRF:KTRF -quadrennials:KTRN:KTRN -quadrenniums:KTRN:KTRN -quadriennium:KTRN:KTRN -quadrigamist:KTRK:KTRK -quadrillions:KTRL:KTRL -quadrinomial:KTRN:KTRN -quadriparous:KTRP:KTRP -quadriplegia:KTRP:KTRP -quadriplegic:KTRP:KTRP -quadrisected:KTRS:KTRS -quadrivalent:KTRF:KTRF -quadrumanous:KTRM:KTRM -qualificator:KLFK:KLFK -qualmishness:KLMX:KLMX -quantifiable:KNTF:KNTF -quantitative:KNTT:KNTT -quantization:KNTS:KNTS -quaquaversal:KKFR:KKFR -quarantining:KRNT:KRNT -quarterbacks:KRTR:KRTR -quarterdecks:KRTR:KRTR -quarterfinal:KRTR:KRTR -quarterlight:KRTR:KRTR -quartersawed:KRTR:KRTR -quarterstaff:KRTR:KRTR -quaternaries:KTRN:KTRN -quaternities:KTRN:KTRN -quattrocento:KTRS:KTRS -queenslander:KNSL:KNSL -questionable:KSXN:KSXN -questionably:KSXN:KSXN -questionings:KSXN:KSXN -questionless:KSXN:KSXN -quickstepped:KKST:KKST -quindecagons:KNTK:KNTK -quindecaplet:KNTK:KNTK -quinologists:KNLJ:KNLK -quinquennial:KNKN:KNKN -quinquennium:KNKN:KNKN -quintessence:KNTS:KNTS -quintillions:KNTL:KNTL -quitclaiming:KTKL:KTKL -quixotically:KKST:KKST -quizzicality:KSKL:KTSK -rabbinically:RPNK:RPNK -rabbitfishes:RPTF:RPTF -racemization:RSMS:RSMS -rachischises:RXXS:RKXS -rachischisis:RXXS:RKXS -rachitogenic:RXTJ:RKTK -racketeering:RKTR:RKTR -radicalistic:RTKL:RTKL -radicalizing:RTKL:RTKL -radiobiology:RTPL:RTPL -radiochemist:RTXM:RTKM -radiocolloid:RTKL:RTKL -radiodontist:RTTN:RTTN -radioecology:RTKL:RTKL -radioelement:RTLM:RTLM -radiographer:RTKR:RTKR -radiographes:RTKR:RTKR -radiographic:RTKR:RTKR -radiohumeral:RTHM:RTHM -radioisotope:RTST:RTST -radiological:RTLJ:RTLK -radiologists:RTLJ:RTLK -radiolucency:RTLS:RTLS -radiometries:RTMT:RTMT -radiomimetic:RTMM:RTMM -radionuclide:RTNK:RTNK -radioscopies:RTSK:RTSK -radiosurgery:RTSR:RTSR -radiotherapy:RT0R:RTTR -radiothorium:RT0R:RTTR -rainproofing:RNPR:RNPR -rambunctious:RMPN:RMPN -ramentaceous:RMNT:RMNT -ramification:RMFK:RMFK -rampageously:RMPJ:RMPK -rancidifying:RNST:RNST -rancourously:RNKR:RNKR -ranunculuses:RNNK:RNNK -rapscallions:RPSK:RPSK -rarefication:RRFK:RRFK -rateableness:RTPL:RTPL -rathskellers:R0SK:RTSK -ratification:RTFK:RTFK -ratihabition:RTHP:RTHP -ratiocinated:RTSN:RTSN -ratiocinates:RTSN:RTSN -ratiocinator:RTSN:RTSN -rationabilis:RXNP:RXNP -rationalists:RXNL:RXNL -rationalized:RXNL:RXNL -rationalizer:RXNL:RXNL -rationalizes:RXNL:RXNL -rationalness:RXNL:RXNL -rattlebrains:RTLP:RTLP -rattlesnakes:RTLS:RTLS -ravenousness:RFNS:RFNS -rawindsondes:RNTS:RNTS -razzledazzle:RSLT:RSLT -reabandoning:RPNT:RPNT -reabbreviate:RPRF:RPRF -reabsorption:RPSR:RPSR -reacceptance:RXPT:RXPT -reacclaiming:RKLM:RKLM -reacclimated:RKLM:RKLM -reacclimates:RKLM:RKLM -reaccounting:RKNT:RKNT -reaccredited:RKRT:RKRT -reaccustomed:RKST:RKST -reacidifying:RSTF:RSTF -reacquainted:RKNT:RKNT -reactionists:RKXN:RKXN -reactivating:RKTF:RKTF -reactivation:RKTF:RKTF -reactiveness:RKTF:RKTF -reactivities:RKTF:RKTF -readableness:RTPL:RTPL -readaptation:RTPT:RTPT -readdressing:RTRS:RTRS -readjourning:RTJR:RTJR -readjustable:RTJS:RTJS -readjustment:RTJS:RTJS -readminister:RTMN:RTMN -readmissions:RTMS:RTMS -readmittance:RTMT:RTMT -reafforested:RFRS:RFRS -realignments:RLNM:RLKN -realizations:RLSX:RLSX -reallocating:RLKT:RLKT -reallocation:RLKX:RLKX -realteration:RLTR:RLTR -reamputation:RMPT:RMPT -reanimations:RNMX:RNMX -reannexation:RNKS:RNKS -reappearance:RPRN:RPRN -reappointing:RPNT:RPNT -reapportions:RPRX:RPRX -reappraisals:RPRS:RPRS -reappraising:RPRS:RPRS -reassemblies:RSMP:RSMP -reassembling:RSMP:RSMP -reassertions:RSRX:RSRX -reassessment:RSSM:RSSM -reassignment:RSNM:RSKN -reassimilate:RSML:RSML -reassortment:RSRT:RSRT -reassumption:RSMP:RSMP -reassurances:RSRN:RSRN -reassuringly:RSRN:RSRN -reattachment:RTKM:RTKM -reattainment:RTNM:RTNM -reattempting:RTMP:RTMP -reawakenings:RKNN:RKNN -rebroadcasts:RPRT:RPRT -rebroadening:RPRT:RPRT -recalcitrant:RKLS:RKLS -recalculated:RKLK:RKLK -recalculates:RKLK:RKLK -recalescence:RKLS:RKLS -recalibrates:RKLP:RKLP -recantations:RKNT:RKNT -recapitalize:RKPT:RKPT -recapitulate:RKPT:RKPT -recautioning:RKXN:RKXN -receivership:RSFR:RSFR -recelebrated:RSLP:RSLP -recelebrates:RSLP:RSLP -receptaculum:RSPT:RSPT -receptionist:RSPX:RSPX -recertifying:RSRT:RSRT -recessionals:RSSN:RSSN -recessionary:RSSN:RSSN -rechallenged:RXLN:RKLN -rechallenges:RXLN:RKLN -rechargeable:RXRJ:RKRK -rechartering:RXRT:RKRT -rechristened:RKRS:RKRS -recidivating:RSTF:RSTF -recidivation:RSTF:RSTF -recidivistic:RSTF:RSTF -reciprocally:RSPR:RSPR -reciprocated:RSPR:RSPR -reciprocates:RSPR:RSPR -reciprocator:RSPR:RSPR -recirculated:RSRK:RSRK -recirculates:RSRK:RSRK -recklessness:RKLS:RKLS -reclamations:RKLM:RKLM -reclassified:RKLS:RKLS -reclassifies:RKLS:RKLS -recognisably:RKNS:RKKN -recognisance:RKNS:RKKN -recognitions:RKNX:RKKN -recognizable:RKNS:RKKN -recognizably:RKNS:RKKN -recognizance:RKNS:RKKN -recognoscing:RKNS:RKKN -recollecting:RKLK:RKLK -recollection:RKLK:RKLK -recollective:RKLK:RKLK -recolonizing:RKLN:RKLN -recoloration:RKLR:RKLR -recommencing:RKMN:RKMN -recommenders:RKMN:RKMN -recommending:RKMN:RKMN -recommission:RKMS:RKMS -recommitment:RKMT:RKMT -recommitting:RKMT:RKMT -recomparison:RKMP:RKMP -recompensing:RKMP:RKMP -recompensive:RKMP:RKMP -recompounded:RKMP:RKMP -reconcilable:RKNS:RKNS -reconcilably:RKNS:RKNS -reconciliate:RKNS:RKNS -recondensing:RKNT:RKNT -reconditions:RKNT:RKNT -reconduction:RKNT:RKNT -reconfigured:RKNF:RKNF -reconfigurer:RKNF:RKNF -reconfigures:RKNF:RKNF -reconfirming:RKNF:RKNF -reconfiscate:RKNF:RKNF -reconnecting:RKNK:RKNK -reconnection:RKNK:RKNK -reconnoiters:RKNT:RKNT -reconnoitred:RKNT:RKNT -reconnoitrer:RKNT:RKNT -reconquering:RKNK:RKNK -reconsecrate:RKNS:RKNS -reconsidered:RKNS:RKNS -reconsigning:RKNS:RKNS -reconstitute:RKNS:RKNS -reconstructs:RKNS:RKNS -recontesting:RKNT:RKNT -recontracted:RKNT:RKNT -recontrolled:RKNT:RKNT -reconvention:RKNF:RKNF -reconversion:RKNF:RKNF -reconverting:RKNF:RKNF -reconveyance:RKNF:RKNF -reconvicting:RKNF:RKNF -reconviction:RKNF:RKNF -recordership:RKRT:RKRT -recreational:RKRX:RKRX -recriminated:RKRM:RKRM -recriminates:RKRM:RKRM -recriminator:RKRM:RKRM -recrudescent:RKRT:RKRT -recrudescing:RKRT:RKRT -rectosigmoid:RKTS:RKTS -rectouterine:RKTT:RKTT -rectovesical:RKTF:RKTF -recumbencies:RKMP:RKMP -recuperating:RKPR:RKPR -recuperation:RKPR:RKPR -recuperative:RKPR:RKPR -redecorating:RTKR:RTKR -redecoration:RTKR:RTKR -rededicating:RTTK:RTTK -rededication:RTTK:RTTK -redefinition:RTFN:RTFN -redeliveries:RTLF:RTLF -redelivering:RTLF:RTLF -redemptional:RTMP:RTMP -redemptioner:RTMP:RTMP -redemptively:RTMP:RTMP -redeployment:RTPL:RTPL -redepositing:RTPS:RTPS -redescending:RTSN:RTSN -redescribing:RTSK:RTSK -redesignated:RTSN:RTSK -redetermined:RTTR:RTTR -redetermines:RTTR:RTTR -redevelopers:RTFL:RTFL -redeveloping:RTFL:RTFL -redintegrate:RTNT:RTNT -redirections:RTRK:RTRK -rediscounted:RTSK:RTSK -rediscovered:RTSK:RTSK -redisplaying:RTSP:RTSP -redissolving:RTSL:RTSL -redistilling:RTST:RTST -redistribute:RTST:RTST -redistricted:RTST:RTST -reducibility:RTSP:RTSP -reductionism:RTKX:RTKX -reductionist:RTKX:RTKX -redundancies:RTNT:RTNT -reduplicated:RTPL:RTPL -reemphasized:RMFS:RMFS -reemphasizes:RMFS:RMFS -reemployment:RMPL:RMPL -reenactments:RNKT:RNKT -reencounters:RNKN:RNKN -reenlightens:RNLT:RNLT -reenlistment:RNLS:RNLS -reevaluating:RFLT:RFLT -reevaluation:RFLX:RFLX -reexaminable:RKSM:RKSM -reexchanging:RKSN:RKSN -reexhibiting:RKSP:RKSP -reexperience:RKSP:RKSP -reexpressing:RKSP:RKSP -reexpression:RKSP:RKSP -refashioning:RFXN:RFXN -reflectingly:RFLK:RFLK -reflectional:RFLK:RFLK -reflectively:RFLK:RFLK -reflectivity:RFLK:RFLK -reflexogenic:RFLK:RFLK -reflexologic:RFLK:RFLK -reformations:RFRM:RFRM -reformatting:RFRM:RFRM -reformulated:RFRM:RFRM -reformulates:RFRM:RFRM -refortifying:RFRT:RFRT -refractional:RFRK:RFRK -refractively:RFRK:RFRK -refractivity:RFRK:RFRK -refractorily:RFRK:RFRK -refracturing:RFRK:RFRK -refreshingly:RFRX:RFRX -refreshments:RFRX:RFRX -refrigerants:RFRJ:RFRK -refrigerated:RFRJ:RFRK -refrigerates:RFRJ:RFRK -refrigerator:RFRJ:RFRK -refringences:RFRN:RFRN -refurbishing:RFRP:RFRP -refurnishing:RFRN:RFRN -refutability:RFTP:RFTP -regalvanises:RKLF:RKLF -regalvanized:RKLF:RKLF -regalvanizes:RKLF:RKLF -regardlessly:RKRT:RKRT -regenerating:RJNR:RKNR -regeneration:RJNR:RKNR -regenerative:RJNR:RKNR -regenerators:RJNR:RKNR -regerminated:RJRM:RKRM -regerminates:RJRM:RKRM -regimentally:RJMN:RKMN -regionalists:RJNL:RKNL -registerable:RJST:RKST -registership:RJST:RKST -registration:RJST:RKST -regressively:RKRS:RKRS -regularities:RKLR:RKLR -regularizing:RKLR:RKLR -regulatively:RKLT:RKLT -regurgitated:RKRJ:RKRK -regurgitates:RKRJ:RKRK -rehabilitant:RHPL:RHPL -rehabilitate:RHPL:RHPL -rehabilitees:RHPL:RHPL -reharmonized:RHRM:RHRM -reharmonizes:RHRM:RHRM -reharnessing:RHRN:RHRN -rehumanizing:RHMN:RHMN -reimbursable:RMPR:RMPR -reimposition:RMPS:RMPS -reimpression:RMPR:RMPR -reimprisoned:RMPR:RMPR -reincarnated:RNKR:RNKR -reincarnates:RNKR:RNKR -reinfections:RNFK:RNFK -reinoculated:RNKL:RNKL -reinoculates:RNKL:RNKL -reinscribing:RNSK:RNSK -reinsertions:RNSR:RNSR -reinspecting:RNSP:RNSP -reinspection:RNSP:RNSP -reinstalling:RNST:RNST -reinstructed:RNST:RNST -reintegrated:RNTK:RNTK -reintegrates:RNTK:RNTK -reinterprets:RNTR:RNTR -reintrenched:RNTR:RNTR -reintrenches:RNTR:RNTR -reintroduced:RNTR:RNTR -reintroduces:RNTR:RNTR -reinventions:RNFN:RNFN -reinvestment:RNFS:RNFS -reinvigorate:RNFK:RNFK -reinvitation:RNFT:RNFT -reiterations:RTRX:RTRX -rejuvenating:RJFN:RJFN -rejuvenation:RJFN:RJFN -rejuvenesced:RJFN:RJFN -rejuvinators:RJFN:RJFN -rekeyboarded:RKPR:RKPR -relationally:RLXN:RLXN -relationship:RLXN:RLXN -relativeness:RLTF:RLTF -relativistic:RLTF:RLTF -relativizing:RLTF:RLTF -relaundering:RLNT:RLNT -relegability:RLKP:RLKP -relentlessly:RLNT:RLNT -reliableness:RLPL:RLPL -relievablely:RLFP:RLFP -religionists:RLJN:RLKN -relinquished:RLNK:RLNK -relinquisher:RLNK:RLNK -relinquishes:RLNK:RLNK -reliquidated:RLKT:RLKT -reliquidates:RLKT:RLKT -remaindering:RMNT:RMNT -remainderman:RMNT:RMNT -remaindermen:RMNT:RMNT -rememberable:RMMP:RMMP -remembrancer:RMMP:RMMP -remembrances:RMMP:RMMP -remigrations:RMKR:RMKR -remilitarize:RMLT:RMLT -reminiscence:RMNS:RMNS -remodulating:RMTL:RMTL -remonetizing:RMNT:RMNT -remonstrance:RMNS:RMNS -remonstrated:RMNS:RMNS -remonstrates:RMNS:RMNS -remonstrator:RMNS:RMNS -remorsefully:RMRS:RMRS -remortgaging:RMRT:RMRT -removability:RMFP:RMFP -remunerating:RMNR:RMNR -remuneration:RMNR:RMNR -remunerative:RMNR:RMNR -remunerators:RMNR:RMNR -remuneratory:RMNR:RMNR -renaturation:RNTR:RNTR -rendezvoused:RNTS:RNTS -rendezvouses:RNTS:RNTS -renegotiable:RNKX:RNKX -renegotiated:RNKX:RNKX -renegotiates:RNKX:RNKX -renegotiator:RNKX:RNKX -renewability:RNPL:RNPL -renographies:RNKR:RNKR -renominating:RNMN:RNMN -renomination:RNMN:RNMN -renounceable:RNNS:RNNS -renouncement:RNNS:RNNS -renovascular:RNFS:RNFS -renunciation:RNNS:RNNX -renunciative:RNNS:RNNX -renunciatory:RNNS:RNNX -reobtainable:RPTN:RPTN -reoccupation:RKPX:RKPX -reoccurrence:RKRN:RKRN -reorganizers:RRKN:RRKN -reorganizing:RRKN:RRKN -repagination:RPJN:RPKN -reparability:RPRP:RPRP -repartitions:RPRT:RPRT -repatriating:RPTR:RPTR -repatriation:RPTR:RPTR -repeatedness:RPTT:RPTT -repercussion:RPRK:RPRK -repercussive:RPRK:RPRK -repetitional:RPTX:RPTX -repetitively:RPTT:RPTT -rephotograph:RFTK:RFTK -replacements:RPLS:RPLS -replantation:RPLN:RPLN -replegiating:RPLJ:RPLK -replenishers:RPLN:RPLN -replenishing:RPLN:RPLN -replevisable:RPLF:RPLF -replications:RPLK:RPLK -repopulating:RPPL:RPPL -repopulation:RPPL:RPPL -repositioned:RPSX:RPSX -repositories:RPST:RPST -repossessing:RPSS:RPSS -repossession:RPSS:RPSS -reprehenders:RPRH:RPRH -reprehending:RPRH:RPRH -reprehension:RPRH:RPRH -reprehensive:RPRH:RPRH -representant:RPRS:RPRS -representees:RPRS:RPRS -representing:RPRS:RPRS -repressively:RPRS:RPRS -reprimanding:RPRM:RPRM -reproachable:RPRX:RPRK -reproachably:RPRX:RPRK -reprocessing:RPRS:RPRS -reproducible:RPRT:RPRT -reproducibly:RPRT:RPRT -reproduction:RPRT:RPRT -reproductive:RPRT:RPRT -reprogrammed:RPRK:RPRK -reprogrammes:RPRK:RPRK -reprographic:RPRK:RPRK -reprovisions:RPRF:RPRF -republishing:RPPL:RPPL -repudiations:RPTX:RPTX -repurchasing:RPRX:RPRK -reputability:RPTP:RPTP -requickening:RKKN:RKKN -requirements:RKRM:RKRM -requisitions:RKSX:RKSX -rerecordings:RRKR:RRKR -rescheduling:RSKT:RSKT -researchable:RSRX:RSRK -resectoscope:RSKT:RSKT -reselections:RSLK:RSLK -resemblances:RSMP:RSMP -reserpinized:RSRP:RSRP -reservations:RSRF:RSRF -reservedness:RSRF:RSRF -resettlement:RSTL:RSTL -resharpening:RXRP:RXRP -residentiary:RSTN:RSTN -residentship:RSTN:RSTN -resignations:RSNX:RSKN -resignedness:RSNT:RSKN -resiniferous:RSNF:RSNF -resinousness:RSNS:RSNS -resipiscence:RSPS:RSPS -resolubility:RSLP:RSLP -resoluteness:RSLT:RSLT -resolutioner:RSLX:RSLX -resolvedness:RSLF:RSLF -resoundingly:RSNT:RSNT -resourceless:RSRS:RSRS -respectfully:RSPK:RSPK -respectively:RSPK:RSPK -respirations:RSPR:RSPR -respirometry:RSPR:RSPR -resplendence:RSPL:RSPL -respondences:RSPN:RSPN -respondendum:RSPN:RSPN -respondentia:RSPN:RSPN -responseless:RSPN:RSPN -responsively:RSPN:RSPN -responsories:RSPN:RSPN -restatements:RSTT:RSTT -restaurateur:RSTR:RSTR -restitutions:RSTT:RSTT -restlessness:RSTL:RSTL -restorations:RSTR:RSTR -restoratives:RSTR:RSTR -restraighten:RSTR:RSTR -restrainable:RSTR:RSTR -restrainedly:RSTR:RSTR -restrengthen:RSTR:RSTR -restrictions:RSTR:RSTR -restructured:RSTR:RSTR -restructures:RSTR:RSTR -resubmission:RSPM:RSPM -resubmitting:RSPM:RSPM -resubscribed:RSPS:RSPS -resubscribes:RSPS:RSPS -resumptively:RSMP:RSMP -resupination:RSPN:RSPN -resurrecting:RSRK:RSRK -resurrection:RSRK:RSRK -resurrectors:RSRK:RSRK -resuscitable:RSST:RSST -resuscitated:RSST:RSST -resuscitates:RSST:RSST -resuscitator:RSST:RSST -retaliations:RTLX:RTLX -retentionist:RTNX:RTNX -reticulately:RTKL:RTKL -reticulating:RTKL:RTKL -reticulation:RTKL:RTKL -reticulative:RTKL:RTKL -reticulocyte:RTKL:RTKL -retinoscopic:RTNS:RTNS -retractation:RTRK:RTRK -retractility:RTRK:RTRK -retranslated:RTRN:RTRN -retranslates:RTRN:RTRN -retrenchable:RTRN:RTRN -retrenchment:RTRN:RTRN -retrocardiac:RTRK:RTRK -retrocession:RTRS:RTRS -retrocessive:RTRS:RTRS -retrofitting:RTRF:RTRF -retroflexion:RTRF:RTRF -retrogradely:RTRK:RTRK -retrograding:RTRK:RTRK -retrogressed:RTRK:RTRK -retrogresses:RTRK:RTRK -retrojecting:RTRJ:RTRJ -retrojection:RTRJ:RTRJ -retrolingual:RTRL:RTRL -retropulsion:RTRP:RTRP -retrorockets:RTRR:RTRR -retrospected:RTRS:RTRS -retrostalses:RTRS:RTRS -retrostalsis:RTRS:RTRS -retroversion:RTRF:RTRF -retroversive:RTRF:RTRF -retroverting:RTRF:RTRF -reupholsters:RFLS:RFLS -reusableness:RSPL:RSPL -revaccinated:RFXN:RFXN -revaccinates:RFXN:RFXN -revalidating:RFLT:RFLT -revalidation:RFLT:RFLT -revalorizing:RFLR:RFLR -revaluations:RFLX:RFLX -revarnishing:RFRN:RFRN -revegetating:RFKT:RFKT -revegetation:RFKT:RFKT -revelational:RFLX:RFLX -revendicated:RFNT:RFNT -revengefully:RFNJ:RFNK -reverberated:RFRP:RFRP -reverberates:RFRP:RFRP -reverberator:RFRP:RFRP -reverentness:RFRN:RFRN -reversionary:RFRS:RFRX -reversionist:RFRS:RFRX -revictualing:RFKT:RFKT -revictualled:RFKT:RFKT -revindicated:RFNT:RFNT -revindicates:RFNT:RFNT -revisionists:RFSN:RFXN -revitalizing:RFTL:RFTL -revivability:RFFP:RFFP -revivalistic:RFFL:RFFL -revocability:RFKP:RFKP -revulsionary:RFLS:RFLX -rhabdomyomas:RPTM:RPTM -rhapsodistic:RPST:RPST -rhapsodizing:RPST:RPST -rhetorically:RTRK:RTRK -rhetoricians:RTRS:RTRX -rheumatology:RMTL:RMTL -rhinenchysis:RNNX:RNNK -rhinoceroses:RNSR:RNSR -rhinocerotic:RNSR:RNSR -rhinological:RNLJ:RNLK -rhinologists:RNLJ:RNLK -rhinopharynx:RNFR:RNFR -rhinophymata:RNFM:RNFM -rhinoplastic:RNPL:RNPL -rhinorrhagia:RNRJ:RNRK -rhinoscopies:RNSK:RNSK -rhinoviruses:RNFR:RNFR -rhizocarpous:RSKR:RSKR -rhizomorphic:RSMR:RSMR -rhododendron:RTTN:RTTN -rhombohedral:RMPH:RMPH -rhombohedron:RMPH:RMPH -rhynchophore:RNXF:RNKF -rhythmically:R0MK:RTMK -rhytidectomy:RTTK:RTTK -ribbonfishes:RPNF:RPNF -ribonuclease:RPNK:RPNK -rickettsiaes:RKTS:RKTS -ricochetting:RKXT:RKKT -ridiculously:RTKL:RTKL -rightfulness:RTFL:RTFL -rigorousness:RKRS:RKRS -risibilities:RSPL:RSPL -robotization:RPTS:RPTS -roentgenized:RNTJ:RNTK -roentgenizes:RNTJ:RNTK -roisterously:RSTR:RSTR -rollickingly:RLKN:RLKN -romanisation:RMNS:RMNS -romantically:RMNT:RMNT -romanticists:RMNT:RMNT -romanticized:RMNT:RMNT -romanticizes:RMNT:RMNT -rootlessness:RTLS:RTLS -rotationally:RTXN:RTXN -rotogravures:RTKR:RTKR -roughcasting:RFKS:RFKS -roughhousing:RFSN:RFSN -routemarches:RTMR:RTMR -rubbernecked:RPRN:RPRN -rubbernecker:RPRN:RPRN -rubefacients:RPFS:RPFX -rumenotomies:RMNT:RMNT -ruminatingly:RMNT:RMNT -ruminatively:RMNT:RMNT -ruralization:RRLS:RRLS -russianising:RSNS:RSNS -ruthlessness:R0LS:RTLS -sabbatically:SPTK:SPTK -saccharified:SXRF:SXRF -saccharifies:SXRF:SXRF -saccharinely:SXRN:SXRN -saccharinity:SXRN:SXRN -saccharoidal:SXRT:SXRT -sacerdotally:SSRT:SSRT -sacrectomies:SKRK:SKRK -sacrilegious:SKRL:SKRL -sacrosciatic:SKRS:SKRS -sacrospinous:SKRS:SKRS -sadistically:STST:STST -safecracking:SFKR:SFKR -safeguarding:SFKR:SFKR -saintpaulias:SNTP:SNTP -salabilities:SLPL:SLPL -salamandrian:SLMN:SLMN -salamandrine:SLMN:SLMN -saleableness:SLPL:SLPL -salesmanship:SLSM:SLSM -salespersons:SLSP:SLSP -salicylamide:SLSL:SLSL -salicylizing:SLSL:SLSL -salification:SLFK:SLFK -salinometric:SLNM:SLNM -salmonellaes:SLMN:SLMN -salpiglossis:SLPK:SLPK -salpingocele:SLPN:SLPN -salpingopexy:SLPN:SLPN -salubriously:SLPR:SLPR -salutariness:SLTR:SLTR -salvationism:SLFX:SLFX -salvationist:SLFX:SLFX -sanctifiable:SNKT:SNKT -sanctionable:SNKX:SNKX -sanctionless:SNKX:SNKX -sandblasters:SNTP:SNTP -sandblasting:SNTP:SNTP -sandpapering:SNTP:SNTP -sanguicolous:SNKK:SNKK -sanguinarily:SNKN:SNKN -sanguinarine:SNKN:SNKN -sanguineness:SNKN:SNKN -sanguinolent:SNKN:SNKN -sanguivorous:SNKF:SNKF -sanification:SNFK:SNFK -sanitariness:SNTR:SNTR -sanitization:SNTS:SNTS -santalaceous:SNTL:SNTL -sapientially:SPNX:SPNX -sapindaceous:SPNT:SPNT -saponifiable:SPNF:SPNF -saprophagous:SPRF:SPRF -saprophilous:SPRF:SPRF -sarcomagenic:SRKM:SRKM -sarcomatoses:SRKM:SRKM -sarcomatosis:SRKM:SRKM -sarcoplasmic:SRKP:SRKP -sarcopoietic:SRKP:SRKP -sardonically:SRTN:SRTN -sarsaparilla:SRSP:SRSP -saskatchewan:SSKX:SSKX -satanophobia:STNF:STNF -satellitoses:STLT:STLT -satellitosis:STLT:STLT -satirization:STRS:STRS -satisfaction:STSF:STSF -satisfactory:STSF:STSF -satisfyingly:STSF:STSF -saturability:STRP:STRP -saveableness:SFPL:SFPL -saxophonists:SKSF:SKSF -scabieticide:SKPT:SKPT -scabrousness:SKPR:SKPR -scaffoldings:SKFL:SKFL -scalableness:SKLP:SKLP -scalenectomy:SKLN:SKLN -scandalizers:SKNT:SKNT -scandalizing:SKNT:SKNT -scandalously:SKNT:SKNT -scandinavian:SKNT:SKNT -scapegoatism:SKPK:SKPK -scarificator:SKRF:SKRF -scarlatinoid:SKRL:SKRL -scatological:SKTL:SKTL -scatophagies:SKTF:SKTF -scatophagous:SKTF:SKTF -scatterbrain:SKTR:SKTR -scenographer:SNKR:SNKR -scenographic:SNKR:SNKR -schematizing:SKMT:SKMT -schindyleses:XNTL:XNTL -schindylesis:XNTL:XNTL -schismatical:XSMT:XSMT -schismatized:XSMT:XSMT -schismatizes:XSMT:XSMT -schistomelus:XSTM:XSTM -schizogenous:XSKN:XSKN -schizogonies:XSKN:XSKN -schizogonous:XSKN:XSKN -schizomycete:XSMS:XSMS -schizophasia:XSFS:XSFX -schizophytic:XSFT:XSFT -schizothymia:XSTM:XSTM -schizothymic:XSTM:XSTM -schmaltziest:XMLT:SMLT -schneiderian:XNTR:SNTR -scholarships:XLRX:XLRX -schoolfellow:SKLF:SKLF -schoolhouses:SKLS:SKLS -schoolmaster:SKLM:SKLM -schorlaceous:XRLS:XRLS -schussboomer:XSPM:XSPM -scintigraphy:SNTK:SNTK -scintillated:SNTL:SNTL -scintillates:SNTL:SNTL -scintillator:SNTL:SNTL -scissiparity:SSPR:SSPR -sclerectasia:SKRK:SKRK -scleredemata:SKRT:SKRT -sclerenchyma:SKRN:SKRN -sclerocornea:SKRK:SKRK -sclerodermas:SKRT:SKRT -sclerogenous:SKRJ:SKRK -scleroiritis:SKRR:SKRR -scleromeninx:SKRM:SKRM -sclerometric:SKRM:SKRM -scleronychia:SKRN:SKRN -scleroplasty:SKRP:SKRP -sclerotomies:SKRT:SKRT -scolasticism:SKLS:SKLS -scolopendrid:SKLP:SKLP -scopophiliac:SKPF:SKPF -scoptophilia:SKPT:SKPT -scoptophilic:SKPT:SKPT -scornfulness:SKRN:SKRN -scorpionioid:SKRP:SKRP -scotomagraph:SKTM:SKTM -scoundrelism:SKNT:SKNT -scoutmasters:SKTM:SKTM -scramblingly:SKMP:SKMP -scraperboard:SKPR:SKPR -scratchiness:SKXN:SKXN -scratchplate:SKXP:SKXP -screenwriter:SKNR:SKNR -screwdrivers:SKTR:SKTR -scripturally:SKPT:SKPT -scriptwriter:SKPT:SKPT -scrobiculate:SKPK:SKPK -scrofulously:SKFL:SKFL -scrupulosity:SKPL:SKPL -scrupulously:SKPL:SKPL -scrutinizers:SKTN:SKTN -scrutinizing:SKTN:SKTN -scullduggery:SKLT:SKLT -sculptresses:SKLP:SKLP -sculpturally:SKLP:SKLP -scurrilities:SKRL:SKRL -scurrilously:SKRL:SKRL -scutellation:SKTL:SKTL -scyphistomae:SFST:SFST -seamlessness:SMLS:SMLS -seamstresses:SMST:SMST -searchlights:SRXL:SRKL -seasonalness:SSNL:SSNL -seaworthiest:SR0S:SRTS -secessionist:SSSN:SSSN -secludedness:SKLT:SKLT -seclusionist:SKLS:SKLX -secobarbital:SKPR:SKPR -secretagogue:SKRT:SKRT -secretariats:SKRT:SKRT -secretogogue:SKRT:SKRT -secretomotor:SKRT:SKRT -sectarianism:SKTR:SKTR -sectionalism:SKXN:SKXN -sectionalist:SKXN:SKXN -sectionalize:SKXN:SKXN -sectionizing:SKXN:SKXN -secularistic:SKLR:SKLR -secularities:SKLR:SKLR -secularizers:SKLR:SKLR -secularizing:SKLR:SKLR -secundiparae:SKNT:SKNT -secundiparas:SKNT:SKNT -seditionists:STXN:STXN -seductresses:STKT:STKT -sedulousness:STLS:STLS -segmentation:SKMN:SKMN -seismographs:SSMK:SSMK -seismography:SSMK:SSMK -seismologist:SSML:SSML -seismometric:SSMM:SSMM -seismoscopic:SSMS:SSMS -selenography:SLNK:SLNK -selenologist:SLNL:SLNL -selenotropic:SLNT:SLNT -selflessness:SLFL:SLFL -selfsameness:SLFS:SLFS -semantically:SMNT:SMNT -semanticists:SMNT:SMNT -semeiography:SMKR:SMKR -semeiologies:SMLJ:SMLK -semianimated:SMNM:SMNM -semiannually:SMNL:SMNL -semicircular:SMSR:SMSR -semicomatose:SMKM:SMKM -semidarkness:SMTR:SMTR -semidetached:SMTT:SMTT -semidominant:SMTM:SMTM -semifinalist:SMFN:SMFN -semifinished:SMFN:SMFN -semifluidity:SMFL:SMFL -semiglobular:SMKL:SMKL -semiliterate:SMLT:SMLT -semimystical:SMMS:SMMS -semimythical:SMM0:SMMT -seminiferous:SMNF:SMNF -semiofficial:SMFS:SMFX -semiological:SMLJ:SMLK -semioriental:SMRN:SMRN -semipalmated:SMPL:SMPL -semiprecious:SMPR:SMPR -semiresolute:SMRS:SMRS -semispinales:SMSP:SMSP -semispinalis:SMSP:SMSP -semisuburban:SMSP:SMSP -semitisation:SMTS:SMTS -semitrailers:SMTR:SMTR -semitropical:SMTR:SMTR -semitruthful:SMTR:SMTR -semivitreous:SMFT:SMFT -sempiternity:SMPT:SMPT -senarmontite:SNRM:SNRM -senatorially:SNTR:SNTR -sensibleness:SNSP:SNSP -sensitometry:SNST:SNST -sensorimotor:SNSR:SNSR -sensualistic:SNSL:SNSL -sensualities:SNSL:SNSL -sensualizing:SNSL:SNSL -sensuousness:SNSS:SNSS -sententially:SNTN:SNTN -separability:SPRP:SPRP -separateness:SPRT:SPRT -separatistic:SPRT:SPRT -separatively:SPRT:SPRT -septicidally:SPTS:SPTS -septilateral:SPTL:SPTL -septillionth:SPTL:SPTL -septuagenary:SPTJ:SPTK -septuagesima:SPTJ:SPTK -septuagintal:SPTJ:SPTK -sepulchering:SPLX:SPLK -sepulchrally:SPLX:SPLK -sequaciously:SKSS:SKXS -sequentially:SKNX:SKNX -sequestering:SKST:SKST -sequestrable:SKST:SKST -sequestrated:SKST:SKST -sequestrates:SKST:SKST -sequestrator:SKST:SKST -seraphically:SRFK:SRFK -sergeantcies:SRJN:SRKN -sergeantship:SRJN:SRKN -serialograph:SRLK:SRLK -sericultural:SRKL:SRKL -serigraphers:SRKR:SRKR -serjeantcies:SRJN:SRJN -serjeantship:SRJN:SRJN -seromuscular:SRMS:SRMS -seronegative:SRNK:SRNK -seropositive:SRPS:SRPS -seropurulent:SRPR:SRPR -seroreaction:SRRK:SRRK -serviceberry:SRFS:SRFS -servicewoman:SRFS:SRFS -servicewomen:SRFS:SRFS -sesamoiditis:SSMT:SSMT -sesquialtera:SSKL:SSKL -seventeenths:SFNT:SFNT -seventiethes:SFNT:SFNT -severability:SFRP:SFRP -severalizing:SFRL:SFRL -sexagenarian:SKSJ:SKSK -sexcentenary:SKSN:SKSN -sexdigitated:SKST:SKST -sexduplicate:SKST:SKST -sextillionth:SKST:SKST -shadowboxing:XTPK:XTPK -shamefacedly:XMFS:XMFS -shamefulness:XMFL:XMFL -shareability:XRPL:XRPL -sharecropped:XRKR:XRKR -sharecropper:XRKR:XRKR -shareholders:XRHL:XRHL -sharpshooter:XRPX:XRPX -shatteringly:XTRN:XTRN -shatterproof:XTRP:XTRP -sheepherding:XFRT:XFRT -sheepishness:XPXN:XPXN -sheepshearer:XPXR:XPXR -shellackings:XLKN:XLKN -shibbolethes:XPL0:XPLT -shiftability:XFTP:XFTP -shillelaghes:XLLK:XLLK -shillyshally:XLXL:XLXL -shimmeringly:XMRN:XMRN -shipbreaking:XPRK:XPRK -shipbuilders:XPLT:XPLT -shipbuilding:XPLT:XPLT -shipwrecking:XPRK:XPRK -shockability:XKPL:XKPL -shockingness:XKNK:XKNK -shortchanged:XRXN:XRXN -shortchanger:XRXN:XRXN -shortchanges:XRXN:XRXN -shortcomings:XRTK:XRTK -shortsighted:XRTS:XRTS -shrewishness:XRXN:XRXN -shrievalties:XRFL:XRFL -shudderingly:XTRN:XTRN -shuffleboard:XFLP:XFLP -shuttlecocks:XTLK:XTLK -siderophilin:STRF:STRF -siderostatic:STRS:STRS -sideslipping:STSL:STSL -sidesteppers:STST:STST -sidestepping:STST:STST -sidetracking:STTR:STTR -sightscreens:STSK:STSK -significance:SNFK:SKNF -significants:SNFK:SKNF -significavit:SNFK:SKNF -silentiaries:SLNX:SLNX -silentiaryly:SLNX:SLNX -silhouetting:SLTN:SLTN -siliciferous:SLSF:SLSF -silkscreened:SLKS:SLKS -silverfishes:SLFR:SLFR -silversmiths:SLFR:SLFR -silviculture:SLFK:SLFK -similarities:SMLR:SMLR -simpleminded:SMPL:SMPL -simplicities:SMPL:SMPL -simplistical:SMPL:SMPL -simulatively:SMLT:SMLT -simulcasting:SMLK:SMLK -simultaneity:SMLT:SMLT -simultaneous:SMLT:SMLT -sinalagmatic:SNLK:SNLK -sinanthropus:SNN0:SNNT -singlehanded:SNKL:SNKL -singlesticks:SNKL:SNKL -singularises:SNKL:SNKL -singularized:SNKL:SNKL -singularizes:SNKL:SNKL -singularness:SNKL:SNKL -sinisterness:SNST:SNST -sinistrality:SNST:SNST -sinistrorsal:SNST:SNST -sinusoidally:SNST:SNST -sinusotomies:SNST:SNST -siphonaptera:SFNP:SFNP -siphonophore:SFNF:SFNF -siphonostele:SFNS:SFNS -sisterliness:SSTR:SSTR -skateboarded:SKTP:SKTP -skateboarder:SKTP:SKTP -skeletonises:SKLT:SKLT -skeletonized:SKLT:SKLT -skeletonizes:SKLT:SKLT -skiagraphies:SKKR:SKKR -skilfullness:SKLF:SKLF -skillfulness:SKLF:SKLF -skittishness:SKTX:SKTX -skullduggery:SKLT:SKLT -skyrocketing:SKRK:SKRK -slanderously:SLNT:XLNT -slaphappiest:SLFP:XLFP -slaughterers:SLFT:XLFT -slaughtering:SLFT:XLFT -slaughterman:SLFT:XLFT -slaughtermen:SLFT:XLFT -slaughterous:SLFT:XLFT -sledgehammer:SLJH:XLJH -sleepwalkers:SLPL:XLPL -sleepwalking:SLPL:XLPL -slenderizing:SLNT:XLNT -sleuthhounds:SL0N:XLTN -slipperiness:SLPR:XLPR -slipshodness:SLPX:XLPX -slothfulness:SL0F:XLTF -slovenliness:SLFN:XLFN -sluggardness:SLKR:XLKR -sluggishness:SLKX:XLKX -slumberously:SLMR:XLMR -sluttishness:SLTX:XLTX -smallholders:SMLL:XMLL -smallholding:SMLL:XMLL -smartenening:SMRT:XMRT -smatteringly:SMTR:XMTR -smokescreens:SMKS:XMKS -smorgasbords:SMRK:XMRK -snaggletooth:SNKL:XNKL -snappishness:SNPX:XNPX -sneakingness:SNKN:XNKN -snickeringly:SNKR:XNKR -sniggeringly:SNKR:XNKR -snippetiness:SNPT:XNPT -snobbishness:SNPX:XNPX -snowmobilers:SNMP:XNMP -snowmobiling:SNMP:XNMP -sociableness:SSPL:SXPL -socialisable:SSLS:SXLS -socializable:SSLS:SXLS -sociobiology:SSPL:SXPL -sociocentric:SSSN:SXSN -sociogeneses:SSJN:SXKN -sociogenesis:SSJN:SXKN -sociogenetic:SSJN:SXKN -sociological:SSLJ:SXLK -sociologists:SSLJ:SXLK -sociomedical:SSMT:SXMT -sociometries:SSMT:SXMT -sociometrist:SSMT:SXMT -sociopathies:SSP0:SXPT -socratically:SKRT:SKRT -solarization:SLRS:SLRS -solecistical:SLSS:SLSS -solemnifying:SLMN:SLMN -solenoglypha:SLNK:SLNK -solenoidally:SLNT:SLNT -solicitation:SLST:SLST -solicitously:SLST:SLST -solidarities:SLTR:SLTR -solidifiable:SLTF:SLTF -solifluction:SLFL:SLFL -soliloquists:SLLK:SLLK -soliloquized:SLLK:SLLK -soliloquizer:SLLK:SLLK -soliloquizes:SLLK:SLLK -solitariness:SLTR:SLTR -solitudinous:SLTT:SLTT -solubilities:SLPL:SLPL -solubilizing:SLPL:SLPL -solutionists:SLXN:SLXN -solvableness:SLFP:SLFP -somaesthesia:SMS0:SMST -somaesthetic:SMS0:SMST -somatization:SMTS:SMTS -somatochrome:SMTK:SMTK -somatologies:SMTL:SMTL -somatologist:SMTL:SMTL -somatometric:SMTM:SMTM -somatopathic:SMTP:SMTP -somatopleure:SMTP:SMTP -somatostatin:SMTS:SMTS -somatotropic:SMTT:SMTT -somatotropin:SMTT:SMTT -somersaulted:SMRS:SMRS -somesthesias:SMS0:SMST -somnambulant:SMNM:SMNM -somnambulate:SMNM:SMNM -somnambulism:SMNM:SMNM -somnambulist:SMNM:SMNM -somnifacient:SMNF:SMNF -somniloquies:SMNL:SMNL -somniloquist:SMNL:SMNL -somnipathies:SMNP:SMNP -somnipathist:SMNP:SMNP -somnolencies:SMNL:SMNL -songstresses:SNKS:SNKS -sonorousness:SNRS:SNRS -soothingness:S0NN:STNK -sophisticate:SFST:SFST -sophomorical:SFMR:SFMR -soporiferous:SPRF:SPRF -sorbefacient:SRPF:SRPF -soroptimists:SRPT:SRPT -soteriologic:STRL:STRL -soullessness:SLSN:SLSN -soundproofed:SNTP:SNTP -sousaphonist:SSFN:SSFN -southeastern:S0ST:STST -southeasters:S0ST:STST -southernmost:S0RN:STRN -southernwood:S0RN:STRN -southwestern:S0ST:STST -southwesters:S0ST:STST -spaceflights:SPSF:SPSF -spacewalkers:SPSL:SPSL -spacewalking:SPSL:SPSL -spaciousness:SPSS:SPXS -sparcstation:SPRK:SPRK -sparrowgrass:SPRK:SPRK -spasmolytics:SPSM:SPSM -spasmophilia:SPSM:SPSM -spasmophilic:SPSM:SPSM -spasticities:SPST:SPST -spatchcocked:SPXK:SPXK -spatteringly:SPTR:SPTR -spearheading:SPRT:SPRT -specialistic:SPSL:SPXL -specialities:SPSL:SPXL -specializing:SPSL:SPXL -specifically:SPSF:SPSF -specificated:SPSF:SPSF -specificized:SPSF:SPSF -specificizes:SPSF:SPSF -speciosities:SPSS:SPXS -speciousness:SPSS:SPXS -spectaculars:SPKT:SPKT -spectography:SPKT:SPKT -spectrograms:SPKT:SPKT -spectrograph:SPKT:SPKT -spectrometry:SPKT:SPKT -spectroscope:SPKT:SPKT -spectroscopy:SPKT:SPKT -speculations:SPKL:SPKL -speechifying:SPXF:SPKF -speechlessly:SPKL:SPKL -speedboating:SPTP:SPTP -speleologist:SPLL:SPLL -spellbinders:SPLP:SPLP -spellbinding:SPLP:SPLP -spendthrifts:SPNT:SPNT -spendthrifty:SPNT:SPNT -spermathecal:SPRM:SPRM -spermatocele:SPRM:SPRM -spermatocide:SPRM:SPRM -spermatocyst:SPRM:SPRM -spermatocyte:SPRM:SPRM -spermatogeny:SPRM:SPRM -spermatology:SPRM:SPRM -spermatozoal:SPRM:SPRM -spermatozoan:SPRM:SPRM -spermatozoid:SPRM:SPRM -spermatozoon:SPRM:SPRM -sphacelating:SFSL:SFSL -sphacelation:SFSL:SFSL -sphenethmoid:SFN0:SFNT -sphenoiditis:SFNT:SFNT -spheroidally:SFRT:SFRT -spherophorus:SFRF:SFRF -sphincterial:SFNK:SFNK -sphingolipid:SFNK:SFNK -sphygmograph:SFKM:SFKM -spiflicating:SPFL:SPFL -spiflication:SPFL:SPFL -spinsterhood:SPNS:SPNS -spirillaceae:SPRL:SPRL -spiritedness:SPRT:SPRT -spiritlessly:SPRT:SPRT -spiritualism:SPRT:SPRT -spiritualist:SPRT:SPRT -spirituality:SPRT:SPRT -spiritualize:SPRT:SPRT -spirituosity:SPRT:SPRT -spirochaetae:SPRK:SPRX -spirochaetal:SPRK:SPRX -spirographic:SPRK:SPRK -spirometries:SPRM:SPRM -spitefulness:SPTF:SPTF -spivvishness:SPFX:SPFX -splendidness:SPLN:SPLN -splendourous:SPLN:SPLN -splenization:SPLN:SPLN -splenomegaly:SPLN:SPLN -splenopexies:SPLN:SPLN -splenoptoses:SPLN:SPLN -splenoptosis:SPLN:SPLN -splenotomies:SPLN:SPLN -splenunculus:SPLN:SPLN -spokesperson:SPKS:SPKS -spondylotomy:SPNT:SPNT -spongioblast:SPNJ:SPNK -spongioplasm:SPNJ:SPNK -sponsorships:SPNS:SPNS -sporadically:SPRT:SPRT -sporogeneses:SPRJ:SPRK -sporogenesis:SPRJ:SPRK -sporotrichum:SPRT:SPRT -sportfulness:SPRT:SPRT -sportiveness:SPRT:SPRT -sportscaster:SPRT:SPRT -sportsperson:SPRT:SPRT -sportswriter:SPRT:SPRT -spotlessness:SPTL:SPTL -spotlighting:SPTL:SPTL -spreadsheets:SPRT:SPRT -sprechgesang:SPRX:SPRK -sprechstimme:SPRK:SPRK -sprightliest:SPRT:SPRT -springboards:SPRN:SPRN -spuriousness:SPRS:SPRS -spurlingline:SPRL:SPRL -sputteringly:SPTR:SPTR -squamoseness:SKMS:SKMS -squamousness:SKMS:SKMS -squirrelfish:SKRL:SKRL -staddlestone:STTL:STTL -stagecoaches:STJK:STKK -staggeringly:STKR:STKR -stainability:STNP:STNP -stalactiform:STLK:STLK -stalagmiform:STLK:STLK -stalwartness:STLR:STLR -stammeringly:STMR:STMR -stanchioning:STNX:STNK -standardized:STNT:STNT -standardizer:STNT:STNT -standardizes:STNT:STNT -stanniferous:STNF:STNF -stapedectomy:STPT:STPT -staphyledema:STFL:STFL -staphylotomy:STFL:STFL -stationarily:STXN:STXN -stationarity:STXN:STXN -stationeries:STXN:STXN -statistician:STTS:STTS -statokinetic:STTK:STTK -statuesquely:STTS:STTS -stauroscopic:STRS:STRS -stealthiness:STL0:STLT -steamrollers:STMR:STMR -steatogenous:STTJ:STTK -steatomatous:STTM:STTM -steatopygous:STTP:STTP -steatorrhoea:STTR:STTR -steeplechase:STPL:STPL -steeplejacks:STPL:STPL -steerability:STRP:STRP -stelliferous:STLF:STLF -stenocardiac:STNK:STNK -stenocephaly:STNS:STNS -stenographed:STNK:STNK -stenographer:STNK:STNK -stenographic:STNK:STNK -stenophagous:STNF:STNF -stenothermal:STN0:STNT -stenothermic:STN0:STNT -stepbrothers:STPR:STPR -stepchildren:STPX:STPK -stepdaughter:STPT:STPT -stercoromata:STRK:STRK -stereochrome:STRK:STRK -stereochromy:STRK:STRK -stereocilium:STRS:STRS -stereognosis:STRN:STRK -stereography:STRK:STRK -stereoisomer:STRS:STRS -stereometric:STRM:STRM -stereophonic:STRF:STRF -stereopticon:STRP:STRP -stereoscopes:STRS:STRS -stereoscopic:STRS:STRS -stereotactic:STRT:STRT -stereotypers:STRT:STRT -stereotypies:STRT:STRT -stereotyping:STRT:STRT -stereovision:STRF:STRF -sterilisable:STRL:STRL -sterilizable:STRL:STRL -sternocostal:STRN:STRN -sternotomies:STRN:STRN -sternutation:STRN:STRN -sternutative:STRN:STRN -sternutatory:STRN:STRN -stertorously:STRT:STRT -stethometric:STTM:STTM -stethoscopes:ST0S:STTS -stethoscopic:ST0S:STTS -stewardesses:STRT:STRT -stichometric:STXM:STKM -stigmasterol:STKM:STKM -stigmatizing:STKM:STKM -stilbamidine:STLP:STLP -stilboestrol:STLP:STLP -stillbirthes:STLP:STLP -stimulations:STML:STML -stimulatives:STML:STML -stingingness:STNJ:STNK -stinkingness:STNK:STNK -stipulations:STPL:STPL -stockbreeder:STKP:STKP -stockbrokers:STKP:STKP -stockbroking:STKP:STKP -stockholders:STKL:STKL -stockholding:STKL:STKL -stockinettes:STKN:STKN -stockishness:STKX:STKX -stockjobbing:STKP:STKP -stoichiology:STXL:STKL -stomachaches:STMK:STMK -stomatitides:STMT:STMT -stomatitises:STMT:STMT -stomatologic:STMT:STMT -stomatosises:STMT:STMT -stonecutters:STNK:STNK -stonecutting:STNK:STNK -stonemasonry:STNM:STNM -stonewalling:STNL:STNL -storekeepers:STRK:STRK -storekeeping:STRK:STRK -storytellers:STRT:STRT -storytelling:STRT:STRT -stouthearted:ST0R:STTR -strabismally:STRP:STRP -stradivarius:STRT:STRT -stragglingly:STRK:STRK -straightaway:STRT:STRT -straightedge:STRT:STRT -straightened:STRT:STRT -straightener:STRT:STRT -straightness:STRT:STRT -straitjacket:STRT:STRT -strandedness:STRN:STRN -stranglehold:STRN:STRN -strangulated:STRN:STRN -strangulates:STRN:STRN -strangurious:STRN:STRN -straticulate:STRT:STRT -stratigraphy:STRT:STRT -stratocirrus:STRT:STRT -stratocumuli:STRT:STRT -stratosphere:STRT:STRT -strawberries:STRP:STRP -streamliners:STRM:STRM -streamlining:STRM:STRM -streetwalker:STRT:STRT -strengthened:STRN:STRN -strengthener:STRN:STRN -streptococci:STRP:STRP -streptolysin:STRP:STRP -streptomyces:STRP:STRP -streptomycin:STRP:STRP -streptothrix:STRP:STRP -stretchiness:STRX:STRX -stretchmarks:STRX:STRX -strictissimi:STRK:STRK -stridulating:STRT:STRT -stridulation:STRT:STRT -stridulators:STRT:STRT -stridulatory:STRT:STRT -stridulously:STRT:STRT -strikingness:STRK:STRK -strindulates:STRN:STRN -stringhalted:STRN:STRN -stripteasers:STRP:STRP -stripteasing:STRP:STRP -strobilation:STRP:STRP -stroboscopes:STRP:STRP -stroboscopic:STRP:STRP -stromatolite:STRM:STRM -strongylosis:STRN:STRN -strontianite:STRN:STRN -strophanthin:STRF:STRF -strophanthus:STRF:STRF -structurally:STRK:STRK -strugglingly:STRK:STRK -strychninism:STRX:STRK -stubbornness:STPR:STPR -studdingsail:STTN:STTN -studentships:STTN:STTN -studiousness:STTS:STTS -stupefacient:STPF:STPF -stupefaction:STPF:STPF -stupefactive:STPF:STPF -stupefyingly:STPF:STPF -stupendously:STPN:STPN -stutteringly:STTR:STTR -styloglossus:STLK:STLK -stylographic:STLK:STLK -stylohyoidei:STLH:STLH -stylomastoid:STLM:STLM -subabdominal:SPPT:SPPT -suballiances:SPLN:SPLN -suballocated:SPLK:SPLK -subalternate:SPLT:SPLT -subantarctic:SPNT:SPNT -subarachnoid:SPRK:SPRK -subassignees:SPSN:SPSK -subauricular:SPRK:SPRK -subbasements:SPSM:SPSM -subcalcarine:SPKL:SPKL -subcarbonate:SPKR:SPKR -subcelestial:SPSL:SPSL -subchorionic:SPXR:SPKR -subcommander:SPKM:SPKM -subcommittee:SPKM:SPKM -subcompanies:SPKM:SPKM -subcomponent:SPKM:SPKM -subconscious:SPKN:SPKN -subcontinent:SPKN:SPKN -subcontracts:SPKN:SPKN -subcrepitant:SPKR:SPKR -subcutaneous:SPKT:SPKT -subcuticular:SPKT:SPKT -subdebutante:SPTP:SPTP -subdelegated:SPTL:SPTL -subdeliriums:SPTL:SPTL -subdirectors:SPTR:SPTR -subdirectory:SPTR:SPTR -subdistricts:SPTS:SPTS -subdividable:SPTF:SPTF -subdivisible:SPTF:SPTF -subdivisions:SPTF:SPTF -subdominants:SPTM:SPTM -subelemental:SPLM:SPLM -subencephala:SPNS:SPNS -subendorsing:SPNT:SPNT -subepidermal:SPPT:SPPT -suberization:SPRS:SPRS -subfertility:SPFR:SPFR -subfractions:SPFR:SPFR -subfunctions:SPFN:SPFN -subglacially:SPKL:SPKL -subglossitis:SPKL:SPKL -subinfection:SPNF:SPNF -subintervals:SPNT:SPNT -subirrigated:SPRK:SPRK -subirrigates:SPRK:SPRK -subjectified:SPJK:SPJK -subjectifies:SPJK:SPJK -subjectional:SPJK:SPJK -subjectively:SPJK:SPJK -subjectivism:SPJK:SPJK -subjectivist:SPJK:SPJK -subjectivity:SPJK:SPJK -subjiciendum:SPJS:SPJX -subjunctives:SPJN:SPJN -sublicensees:SPLS:SPLS -sublicensing:SPLS:SPLS -sublimations:SPLM:SPLM -subliminally:SPLM:SPLM -sublobularly:SPLP:SPLP -submaxillaes:SPMK:SPMK -submaxillary:SPMK:SPMK -submergences:SPMR:SPMR -submersibles:SPMR:SPMR -subminiature:SPMN:SPMN -submissively:SPMS:SPMS -submolecular:SPML:SPML -subnormality:SPNR:SPNR -subnucleuses:SPNK:SPNK -subnutrition:SPNT:SPNT -suboccipital:SPXP:SPXP -subofficials:SPFS:SPFX -subordinated:SPRT:SPRT -subordinates:SPRT:SPRT -subornations:SPRN:SPRN -subparagraph:SPPR:SPPR -subpartition:SPPR:SPPR -subplacentae:SPPL:SPPL -subplacental:SPPL:SPPL -subplacentas:SPPL:SPPL -subpleurally:SPPL:SPPL -subpotencies:SPPT:SPPT -subprincipal:SPPR:SPPR -subprovinces:SPPR:SPPR -subschedules:SPSK:SPSK -subsclerotic:SPSK:SPSK -subscripting:SPSK:SPSK -subscription:SPSK:SPSK -subscriptive:SPSK:SPSK -subsequences:SPSK:SPSK -subsequently:SPSK:SPSK -subservience:SPSR:SPSR -subserviency:SPSR:SPSR -subsidiaries:SPST:SPST -subsidiarily:SPST:SPST -subsidizable:SPST:SPST -substantiate:SPST:SPST -substantival:SPST:SPST -substantives:SPST:SPST -substituters:SPST:SPST -substituting:SPST:SPST -substitution:SPST:SPST -substitutive:SPST:SPST -substraction:SPST:SPST -substructure:SPST:SPST -subtemperate:SPTM:SPTM -subtenancies:SPTN:SPTN -subtentorial:SPTN:SPTN -subterranean:SPTR:SPTR -subthreshold:SP0R:SPTR -subtotalling:SPTT:SPTT -subtractions:SPTR:SPTR -suburbanises:SPRP:SPRP -suburbanites:SPRP:SPRP -suburbanized:SPRP:SPRP -suburbanizes:SPRP:SPRP -subvaluation:SPFL:SPFL -subvarieties:SPFR:SPFR -subversively:SPFR:SPFR -succedaneous:SXTN:SXTN -succedaneums:SXTN:SXTN -succeedingly:SKST:SKST -successfully:SKSS:SKSS -successional:SKSS:SKSS -successively:SKSS:SKSS -succinctness:SXNK:SXNK -succourrhoea:SKR:SKR -sudanophilia:STNF:STNF -sudanophilic:STNF:STNF -sudoriferous:STRF:STRF -sudoriparous:STRP:STRP -sufficiently:SFSN:SFXN -suffragettes:SFRK:SFRK -suffruticose:SFRT:SFRT -suffumigated:SFMK:SFMK -suffumigates:SFMK:SFMK -sugarcoating:XKRK:SKRK -suggestively:SKST:SKST -suggillation:SKLX:SKLX -suigenderism:SJNT:SKNT -suitableness:STPL:STPL -sulfadiazine:SLFT:SLFT -sulfocyanate:SLFS:SLFS -sulfonylurea:SLFN:SLFN -sulfurreting:SLFR:SLFR -sulphanilate:SLFN:SLFN -sulphonamide:SLFN:SLFN -sulphonating:SLFN:SLFN -sulphurating:SLFR:SLFR -sulphuration:SLFR:SLFR -sulphurators:SLFR:SLFR -sulphuretted:SLFR:SLFR -sulphurizing:SLFR:SLFR -sulphurously:SLFR:SLFR -summarisable:SMRS:SMRS -summarizable:SMRS:SMRS -summerhouses:SMRS:SMRS -summersaults:SMRS:SMRS -summerweight:SMRT:SMRT -superability:SPRP:SPRP -superannuate:SPRN:SPRN -superannuity:SPRN:SPRN -supercargoes:SPRK:SPRK -supercentral:SPRS:SPRS -supercharged:SPRX:SPRK -supercharger:SPRX:SPRK -supercharges:SPRX:SPRK -superciliary:SPRS:SPRS -supercilious:SPRS:SPRS -supercomplex:SPRK:SPRK -supercooling:SPRK:SPRK -supercurious:SPRK:SPRK -supercynical:SPRS:SPRS -superdeficit:SPRT:SPRT -superelastic:SPRL:SPRL -supereminent:SPRM:SPRM -superexcited:SPRK:SPRK -superficiary:SPRF:SPRF -superglacial:SPRK:SPRK -superheating:SPRT:SPRT -superhighway:SPR:SPR -superhumanly:SPRM:SPRM -superimposed:SPRM:SPRM -superimposes:SPRM:SPRM -superinduced:SPRN:SPRN -superinduces:SPRN:SPRN -superinsists:SPRN:SPRN -superintends:SPRN:SPRN -superiorness:SPRR:SPRR -superlatives:SPRL:SPRL -superlogical:SPRL:SPRL -supermarkets:SPRM:SPRM -supermundane:SPRM:SPRM -supernatural:SPRN:SPRN -superorganic:SPRR:SPRR -superovulate:SPRF:SPRF -superplastic:SPRP:SPRP -superpolymer:SPRP:SPRP -superposable:SPRP:SPRP -superpotency:SPRP:SPRP -superpowered:SPRP:SPRP -superprecise:SPRP:SPRP -superrealism:SPRL:SPRL -superscribed:SPRS:SPRS -superscribes:SPRS:SPRS -superscripts:SPRS:SPRS -supersedable:SPRS:SPRS -supersedence:SPRS:SPRS -supersession:SPRS:SPRS -supersessive:SPRS:SPRS -superstardom:SPRS:SPRS -superstition:SPRS:SPRS -superstratum:SPRS:SPRS -superstylish:SPRS:SPRS -supertension:SPRT:SPRT -supervenient:SPRF:SPRF -supervention:SPRF:SPRF -supervoltage:SPRF:SPRF -supplemental:SPLM:SPLM -supplemented:SPLM:SPLM -supplementer:SPLM:SPLM -supplicating:SPLK:SPLK -supplication:SPLK:SPLK -supplicatory:SPLK:SPLK -supportingly:SPRT:SPRT -supportively:SPRT:SPRT -suppositions:SPSX:SPSX -suppressants:SPRS:SPRS -suppressible:SPRS:SPRS -suppressions:SPRS:SPRS -suppurations:SPRX:SPRX -suprachoroid:SPRK:SPRK -supraciliary:SPRS:SPRS -supraglenoid:SPRK:SPRK -supraglottal:SPRK:SPRK -supraglottic:SPRK:SPRK -suprahepatic:SPRH:SPRH -supraliminal:SPRL:SPRL -supramastoid:SPRM:SPRM -supramaxilla:SPRM:SPRM -supranuclear:SPRN:SPRN -supraorbital:SPRR:SPRR -supraprotest:SPRP:SPRP -suprascapula:SPRS:SPRS -supraspinous:SPRS:SPRS -suprasternal:SPRS:SPRS -supraversion:SPRF:SPRF -supremacists:SPRM:SPRM -surjectively:SRJK:SRJK -surmountable:SRMN:SRMN -surpassingly:SRPS:SRPS -surprisingly:SRPR:SRPR -surrealistic:SRLS:SRLS -surrebutting:SRPT:SRPT -surrejoinder:SRJN:SRHN -surrenderees:SRNT:SRNT -surrendering:SRNT:SRNT -surroundings:SRNT:SRNT -surveillance:SRFL:SRFL -survivalists:SRFF:SRFF -survivorship:SRFF:SRFF -suspensively:SSPN:SSPN -suspensories:SSPN:SSPN -suspensorium:SSPN:SSPN -suspiciously:SSPS:SSPX -sustainingly:SSTN:SSTN -sustentacula:SSTN:SSTN -sustentation:SSTN:SSTN -swaggeringly:SKRN:XKRN -swallowtails:SLTL:XLTL -swashbuckler:SXPK:XXPK -sweepingness:SPNK:XPNK -swelteringly:SLTR:XLTR -switchblades:SXPL:XXPL -switchboards:SXPR:XXPR -swizzlestick:SSLS:XTSL -syllabically:SLPK:SLPK -syllabicated:SLPK:SLPK -syllabicates:SLPK:SLPK -syllabifying:SLPF:SLPF -symblepharon:SMPL:SMPL -symbolically:SMPL:SMPL -symmetrizing:SMTR:SMTR -sympathizers:SMP0:SMPT -sympathizing:SMP0:SMPT -synaesthesia:SNS0:SNST -synaesthetic:SNS0:SNST -synanthemata:SNN0:SNNT -synanthropic:SNN0:SNNT -synaptically:SNPT:SNPT -synaptinemal:SNPT:SNPT -synaptonemal:SNPT:SNPT -synaptosomal:SNPT:SNPT -synarthrodia:SNR0:SNRT -synarthroses:SNR0:SNRT -synarthrosis:SNR0:SNRT -synchroflash:SNXR:SNKR -synchronized:SNXR:SNKR -synchronizer:SNXR:SNKR -synchronizes:SNXR:SNKR -synchroscope:SNXR:SNKR -synclinorium:SNKL:SNKL -syncopations:SNKP:SNKP -syncretistic:SNKR:SNKR -syncretizing:SNKR:SNKR -syndactylies:SNTK:SNTK -syndactylism:SNTK:SNTK -syndactylous:SNTK:SNTK -syndesmotomy:SNTS:SNTS -syndications:SNTK:SNTK -syndiotactic:SNTT:SNTT -synergically:SNRJ:SNRK -synonymously:SNNM:SNNM -synoptically:SNPT:SNPT -synoptophore:SNPT:SNPT -synorchidism:SNRK:SNRK -synostotical:SNST:SNST -synthesizers:SN0S:SNTS -synthesizing:SN0S:SNTS -syntonically:SNTN:SNTN -syphiloderma:SFLT:SFLT -syphiloderms:SFLT:SFLT -syphilograph:SFLK:SFLK -syphilophobe:SFLF:SFLF -systematical:SSTM:SSTM -systematized:SSTM:SSTM -systematizer:SSTM:SSTM -systematizes:SSTM:SSTM -systemically:SSTM:SSTM -tabernacling:TPRN:TPRN -tabernacular:TPRN:TPRN -tableclothes:TPLK:TPLK -tacheometric:TXMT:TKMT -tachyauxeses:TKKS:TKKS -tachyauxesis:TKKS:TKKS -tachycardiac:TKKR:TKKR -tachysystole:TKSS:TKSS -tactlessness:TKTL:TKTL -taillessness:TLSN:TLSN -talismanical:TLSM:TLSM -tameableness:TMPL:TMPL -tangentially:TNJN:TNKN -tangibleness:TNJP:TNKP -taramasalata:TRMS:TRMS -tarsadenitis:TRST:TRST -tarsectomies:TRSK:TRSK -tarsomalacia:TRSM:TRSM -tarsophymata:TRSF:TRSF -tarsorrhaphy:TRSR:TRSR -tastefulness:TSTF:TSTF -taurocholate:TRXL:TRKL -tautological:TTLJ:TTLK -taxidermists:TKST:TKST -teachability:TXPL:TKPL -teaspoonfuls:TSPN:TSPN -teaspoonsful:TSPN:TSPN -technetronic:TKNT:TKNT -technicality:TKNK:TKNK -technocratic:TKNK:TKNK -technography:TKNK:TKNK -technologies:TKNL:TKNL -technologist:TKNL:TKNL -technophobia:TKNF:TKNF -tectocephaly:TKTS:TKTS -tectonically:TKTN:TKTN -teenyboppers:TNPP:TNPP -teetotallers:TTTL:TTTL -telaesthesia:TLS0:TLST -telaesthetic:TLS0:TLST -telangiomata:TLNJ:TLNK -telegraphers:TLKR:TLKR -telegraphese:TLKR:TLKR -telegraphing:TLKR:TLKR -telegraphist:TLKR:TLKR -telemetering:TLMT:TLMT -telemetrical:TLMT:TLMT -telencephala:TLNS:TLNS -teleological:TLLJ:TLLK -teleologists:TLLJ:TLLK -telepathical:TLP0:TLPT -telepathists:TLP0:TLPT -telephonical:TLFN:TLFN -telephonists:TLFN:TLFN -teleprinters:TLPR:TLPR -telescopical:TLSK:TLSK -telescopists:TLSK:TLSK -telesoftware:TLSF:TLSF -telesystolic:TLSS:TLSS -televisional:TLFS:TLFX -telodendrion:TLTN:TLTN -telolecithal:TLLS:TLLS -telosporidia:TLSP:TLSP -temperaments:TMPR:TMPR -temperatures:TMPR:TMPR -temporalness:TMPR:TMPR -temporalties:TMPR:TMPR -temptingness:TMPT:TMPT -tendencieses:TNTN:TNTN -tendovaginal:TNTF:TNTF -tennesseeans:TNSN:TNSN -tenoplasties:TNPL:TNPL -tenostosises:TNST:TNST -tenotomizing:TNTM:TNTM -teratologies:TRTL:TRTL -teratologist:TRTL:TRTL -teratophobia:TRTF:TRTF -tercentenary:TRSN:TRSN -terebinthine:TRPN:TRPN -terephthalic:TRF0:TRFT -tergiversate:TRJF:TRKF -tergivisated:TRJF:TRKF -tergivisates:TRJF:TRKF -terminations:TRMN:TRMN -terribleness:TRPL:TRPL -terrifically:TRFK:TRFK -terrifyingly:TRFN:TRFN -tessellating:TSLT:TSLT -tessellation:TSLX:TSLX -testamentary:TSTM:TSTM -testimonials:TSTM:TSTM -testosterone:TSTS:TSTS -testudineous:TSTT:TSTT -tetanigenous:TTNJ:TTNK -tetanization:TTNS:TTNS -tetartanopia:TTRT:TTRT -tetartoconid:TTRT:TTRT -tetrachordal:TTRK:TTRK -tetracycline:TTRS:TTRS -tetradactyly:TTRT:TTRT -tetragonally:TTRK:TTRK -tetrahedrite:TTRH:TTRH -tetrahedrons:TTRH:TTRH -tetranitrate:TTRN:TTRN -tetrapeptide:TTRP:TTRP -tetrapterous:TTRP:TTRP -tetrapyrrole:TTRP:TTRP -tetrarchical:TTRR:TTRR -tetravaccine:TTRF:TTRF -tetrodotoxin:TTRT:TTRT -thalamically:0LMK:TLMK -thalamocoele:0LMK:TLMK -thalassaemia:0LSM:TLSM -thallophytic:0LFT:TLFT -thanatomania:0NTM:TNTM -thanatopsies:0NTP:TNTP -thankfulness:0NKF:TNKF -thanksgiving:0NKS:TNKS -thaumatology:0MTL:TMTL -thaumaturgic:0MTR:TMTR -theatrically:0TRK:TTRK -theileriasis:0LRS:TLRS -theileriosis:0LRS:TLRS -theistically:0STK:TSTK -theivishness:0FXN:TFXN -thelerethism:0LR0:TLRT -thelorrhagia:0LRJ:TLRK -thematically:0MTK:TMTK -theocratical:0KRT:TKRT -theologizing:0LJS:TLKS -theophylline:0FLN:TFLN -theoretician:0RTS:TRTX -theorization:0RSX:TRSX -theosophical:0SFK:TSFK -theosophists:0SFS:TSFS -therapeutics:0RPT:TRPT -therapeutist:0RPT:TRPT -thereagainst:0RKN:TRKN -therebetween:0RPT:TRPT -thereinafter:0RNF:TRNF -therethrough:0R0R:TRTR -thermalgesia:0RML:TRML -thermatology:0RMT:TRMT -thermocouple:0RMK:TRMK -thermogramme:0RMK:TRMK -thermography:0RMK:TRMK -thermolabile:0RML:TRML -thermometric:0RMM:TRMM -thermophilic:0RMF:TRMF -thermophobia:0RMF:TRMF -thermophylic:0RMF:TRMF -thermoplegia:0RMP:TRMP -thermoscopic:0RMS:TRMS -thermosphere:0RMS:TRMS -thermostable:0RMS:TRMS -thermostatic:0RMS:TRMS -thermosyphon:0RMS:TRMS -thermotactic:0RMT:TRMT -thermotropic:0RMT:TRMT -thiacetazone:0STS:TSTS -thievishness:0FXN:TFXN -thigmotropic:0KMT:TKMT -thiobacteria:0PKT:TPKT -thioridazine:0RTS:TRTS -thiosinamine:0SNM:TSNM -thiosulfates:0SLF:TSLF -thiosulphate:0SLF:TSLF -thiosulphide:0SLF:TSLF -thirteenthes:0RTN:TRTN -thixotropies:0KST:TKST -thonzylamine:0NSL:TNSL -thoracectomy:0RSK:TRSK -thoracodynia:0RKT:TRKT -thoracolyses:0RKL:TRKL -thoracolysis:0RKL:TRKL -thoracomelus:0RKM:TRKM -thoracopagus:0RKP:TRKP -thoracoscope:0RKS:TRKS -thoracoscopy:0RKS:TRKS -thoracostomy:0RKS:TRKS -thoroughbred:0RFP:TRFP -thoroughfare:0RFF:TRFF -thoroughness:0RFN:TRFN -thoughtfully:0TFL:TTFL -thousandthes:0SNT:TSNT -thriftlessly:0RFT:TRFT -thrombectomy:0RMP:TRMP -thromboblast:0RMP:TRMP -thrombocytic:0RMP:TRMP -thrombogenic:0RMP:TRMP -thrombolyses:0RMP:TRMP -thrombolysis:0RMP:TRMP -thrombolytic:0RMP:TRMP -thrombopathy:0RMP:TRMP -thrombopenia:0RMP:TRMP -thumbtacking:0MPT:TMPT -thunderbolts:0NTR:TNTR -thunderclaps:0NTR:TNTR -thundercloud:0NTR:TNTR -thunderheads:0NTR:TNTR -thunderingly:0NTR:TNTR -thunderously:0NTR:TNTR -thunderstone:0NTR:TNTR -thunderstorm:0NTR:TNTR -thymectomies:0MKT:TMKT -thymectomize:0MKT:TMKT -thymopathies:0MP0:TMPT -thyrocardiac:0RKR:TRKR -thyroglossal:0RKL:TRKL -thyroidotomy:0RTT:TRTT -thyroprotein:0RPR:TRPR -thyrotrophic:0RTR:TRTR -thyrotrophin:0RTR:TRTR -tibiofibulae:TPFP:TPFP -tibiofibular:TPFP:TPFP -tibiofibulas:TPFP:TPFP -ticklishness:TKLX:TKLX -tigerishness:TJRX:TKRX -timelessness:TMLS:TMLS -timorousness:TMRS:TMRS -tinctorially:TNKT:TNKT -tintinabulum:TNTN:TNTN -tintinnabula:TNTN:TNTN -tintometries:TNTM:TNTM -tirelessness:TRLS:TRLS -tiresomeness:TRSM:TRSM -titaniferous:TTNF:TTNF -titillations:TTLX:TTLX -titleholding:TTLH:TTLH -tittletattle:TTLT:TTLT -toastmasters:TSTM:TSTM -tobacconists:TPKN:TPKN -tobogganists:TPKN:TPKN -togetherness:TK0R:TKTR -toilsomeness:TLSM:TLSM -tolerability:TLRP:TLRP -tollgatherer:TLK0:TLKT -tomfooleries:TMFL:TMFL -tomographies:TMKR:TMKR -tonelessness:TNLS:TNLS -tonofibrilla:TNFP:TNFP -tonographies:TNKR:TNKR -tonsillolith:TNSL:TNSL -tonsillotome:TNSL:TNSL -tonsillotomy:TNSL:TNSL -toothbrushes:T0PR:TTPR -topognosises:TPNS:TPKN -topographers:TPKR:TPKR -topographies:TPKR:TPKR -toponarcoses:TPNR:TPNR -toponarcosis:TPNR:TPNR -toponeuroses:TPNR:TPNR -toponeurosis:TPNR:TPNR -topsyturvier:TPST:TPST -torchbearers:TRXP:TRKP -tormentingly:TRMN:TRMN -torrefaction:TRFK:TRFK -torrentially:TRNX:TRNX -torricellian:TRSL:TRSL -tortuosities:TRTS:TRTS -tortuousness:TRTS:TRTS -totalisators:TTLS:TTLS -totalitarian:TTLT:TTLT -totalization:TTLS:TTLS -totalizators:TTLS:TTLS -totipalmates:TTPL:TTPL -touchability:TXPL:TKPL -touchingness:TXNN:TKNK -toutensemble:TTNS:TTNS -toxicodermas:TKSK:TKSK -toxicologies:TKSK:TKSK -toxicologist:TKSK:TKSK -toxicopathic:TKSK:TKSK -toxicophobia:TKSK:TKSK -toxidermitis:TKST:TKST -toxigenicity:TKSJ:TKSK -toxocariasis:TKSK:TKSK -toxoplasmata:TKSP:TKSP -trabeculated:TRPK:TRPK -traceability:TRSP:TRSP -trachelismus:TRXL:TRKL -trachelotomy:TRXL:TRKL -tracheophony:TRXF:TRKF -tracheophyte:TRXF:TRKF -tracheoscopy:TRXS:TRKS -tracheostomy:TRXS:TRKS -trachomatous:TRKM:TRKM -trachyphonia:TRKF:TRKF -tractability:TRKT:TRKT -tractotomies:TRKT:TRKT -tradespeople:TRTS:TRTS -traditionary:TRTX:TRTX -traditionist:TRTX:TRTX -traducements:TRTS:TRTS -traducianism:TRTS:TRTX -trafficators:TRFK:TRFK -tragediennes:TRJT:TRKT -tragicalness:TRJK:TRKK -tragicomical:TRJK:TRKK -trailblazers:TRLP:TRLP -trailblazing:TRLP:TRLP -traitorously:TRTR:TRTR -trajectories:TRJK:TRJK -trampoliners:TRMP:TRMP -trampolining:TRMP:TRMP -trampolinist:TRMP:TRMP -tranquilized:TRNK:TRNK -tranquilizer:TRNK:TRNK -tranquilizes:TRNK:TRNK -tranquillity:TRNK:TRNK -tranquillize:TRNK:TRNK -tranquilness:TRNK:TRNK -transactions:TRNS:TRNS -transaminase:TRNS:TRNS -transaminate:TRNS:TRNS -transaudient:TRNS:TRNS -transceivers:TRNS:TRNS -transcendant:TRNS:TRNS -transcendent:TRNS:TRNS -transcending:TRNS:TRNS -transcribers:TRNS:TRNS -transcribing:TRNS:TRNS -transcurrent:TRNS:TRNS -transduction:TRNS:TRNS -transfecting:TRNS:TRNS -transfection:TRNS:TRNS -transferable:TRNS:TRNS -transferably:TRNS:TRNS -transference:TRNS:TRNS -transferrals:TRNS:TRNS -transferrers:TRNS:TRNS -transferring:TRNS:TRNS -transfigured:TRNS:TRNS -transfigures:TRNS:TRNS -transformers:TRNS:TRNS -transforming:TRNS:TRNS -transfusable:TRNS:TRNS -transfusible:TRNS:TRNS -transfusions:TRNS:TRNS -transgressed:TRNS:TRNS -transgresses:TRNS:TRNS -transgressor:TRNS:TRNS -transhipment:TRNX:TRNX -transhipping:TRNX:TRNX -transhumance:TRNX:TRNX -transiencies:TRNS:TRNS -transilience:TRNS:TRNS -transitional:TRNS:TRNS -transitioned:TRNS:TRNS -transitively:TRNS:TRNS -transitivity:TRNS:TRNS -transitorily:TRNS:TRNS -translatable:TRNS:TRNS -translations:TRNS:TRNS -translocated:TRNS:TRNS -translocates:TRNS:TRNS -translucence:TRNS:TRNS -translucency:TRNS:TRNS -transmigrant:TRNS:TRNS -transmigrate:TRNS:TRNS -transmission:TRNS:TRNS -transmissive:TRNS:TRNS -transmittals:TRNS:TRNS -transmitters:TRNS:TRNS -transmitting:TRNS:TRNS -transmogrify:TRNS:TRNS -transmundane:TRNS:TRNS -transmutable:TRNS:TRNS -transoceanic:TRNS:TRNS -transorbital:TRNS:TRNS -transpacific:TRNS:TRNS -transparency:TRNS:TRNS -transpierced:TRNS:TRNS -transpierces:TRNS:TRNS -transpirable:TRNS:TRNS -transplanted:TRNS:TRNS -transplanter:TRNS:TRNS -transponders:TRNS:TRNS -transpontine:TRNS:TRNS -transportees:TRNS:TRNS -transporters:TRNS:TRNS -transporting:TRNS:TRNS -transportive:TRNS:TRNS -transposable:TRNS:TRNS -transsexuals:TRNS:TRNS -transshipped:TRNS:TRNS -transudation:TRNS:TRNS -transudatory:TRNS:TRNS -transumption:TRNS:TRNS -transvaginal:TRNS:TRNS -transvaluing:TRNS:TRNS -transversely:TRNS:TRNS -transversion:TRNS:TRNS -transvestism:TRNS:TRNS -transvestist:TRNS:TRNS -transvestite:TRNS:TRNS -trapezohedra:TRPS:TRPS -trapshooting:TRPX:TRPX -traumatizing:TRMT:TRMT -traumatology:TRMT:TRMT -traumatopnea:TRMT:TRMT -treasonously:TRSN:TRSN -treasureless:TRSR:TRSR -treasuryship:TRSR:TRSR -treatability:TRTP:TRTP -treelessness:TRLS:TRLS -tremendously:TRMN:TRMN -trendelenbur:TRNT:TRNT -trendsetters:TRNT:TRNT -trendsetting:TRNT:TRNT -trephination:TRFN:TRFN -trepidations:TRPT:TRPT -trestletrees:TRST:TRST -triangulares:TRNK:TRNK -triangularis:TRNK:TRNK -triangularly:TRNK:TRNK -triangulated:TRNK:TRNK -triangulates:TRNK:TRNK -triangulator:TRNK:TRNK -tribological:TRPL:TRPL -tribulations:TRPL:TRPL -tribunicians:TRPN:TRPN -trichinellae:TRXN:TRKN -trichiniases:TRXN:TRKN -trichiniasis:TRXN:TRKN -trichinizing:TRXN:TRKN -trichobezoar:TRXP:TRKP -trichodectes:TRXT:TRKT -trichogenous:TRXJ:TRKK -trichologies:TRXL:TRKL -trichomatism:TRXM:TRKM -trichomatous:TRXM:TRKM -trichophobia:TRXF:TRKF -trichophytid:TRXF:TRKF -trichophyton:TRXF:TRKF -trichorrhoea:TRXR:TRKR -trichosporon:TRXS:TRKS -trichostases:TRXS:TRKS -trichostasis:TRXS:TRKS -trichotomies:TRXT:TRKT -trichromatic:TRXR:TRKR -trichuriases:TRXR:TRKR -trichuriasis:TRXR:TRKR -trickishness:TRKX:TRKX -tricuspidate:TRKS:TRKS -tridactylous:TRTK:TRTK -triethiodide:TR0T:TRTT -triflingness:TRFL:TRFL -trifurcating:TRFR:TRFR -trifurcation:TRFR:TRFR -triglyceride:TRKL:TRKL -trigonelline:TRKN:TRKN -trigonocepha:TRKN:TRKN -trigonometry:TRKN:TRKN -trilingually:TRLN:TRLN -trillionthes:TRLN:TRLN -trimensually:TRMN:TRMN -trimethylene:TRM0:TRMT -trimolecular:TRML:TRML -trinitarians:TRNT:TRNT -tripartitely:TRPR:TRPR -tripartition:TRPR:TRPR -triphosphate:TRFS:TRFS -triphthongal:TRF0:TRFT -tripinnately:TRPN:TRPN -triplicating:TRPL:TRPL -triplication:TRPL:TRPL -triplicities:TRPL:TRPL -triumphantly:TRMF:TRMF -triumvirates:TRMF:TRMF -trivalencies:TRFL:TRFL -trivialities:TRFL:TRFL -trivializing:TRFL:TRFL -trochanteric:TRXN:TRKN -trochoidally:TRXT:TRKT -troglodytism:TRKL:TRKL -trombidiasis:TRMP:TRMP -tropacocaine:TRPK:TRPK -trophallaxis:TRFL:TRFL -trophedemata:TRFT:TRFT -trophologies:TRFL:TRFL -trophonuclei:TRFN:TRFN -trophotropic:TRFT:TRFT -tropicalises:TRPK:TRPK -tropicalized:TRPK:TRPK -tropicalizes:TRPK:TRPK -tropophilous:TRPF:TRPF -tropospheric:TRPS:TRPS -troublemaker:TRPL:TRPL -troubleshoot:TRPL:TRPL -trustability:TRST:TRST -trustbusting:TRST:TRST -trusteeships:TRST:TRST -trustfulness:TRST:TRST -truthfulness:TR0F:TRTF -trypanocidal:TRPN:TRPN -trypanosomas:TRPN:TRPN -tryparsamide:TRPR:TRPR -tuberculated:TPRK:TPRK -tuberculates:TPRK:TPRK -tuberculomas:TPRK:TPRK -tuberculoses:TPRK:TPRK -tuberculosis:TPRK:TPRK -tuberosities:TPRS:TPRS -tuberousness:TPRS:TPRS -tubocurarine:TPKR:TPKR -tumourigenic:TMRJ:TMRK -tumultuously:TMLT:TMLT -tunelessness:TNLS:TNLS -turbellarian:TRPL:TRPL -turbidimetry:TRPT:TRPT -turbinectomy:TRPN:TRPN -turbocharger:TRPX:TRPK -turricephaly:TRSF:TRSF -tuwhittuwhoo:TT:TT -twelvemonths:TLFM:TLFM -twistability:TSTP:TSTP -typhlomegaly:TFLM:TFLM -typhloptoses:TFLP:TFLP -typhloptosis:TFLP:TFLP -typification:TPFK:TPFK -typographers:TPKR:TPKR -typographies:TPKR:TPKR -tyrannically:TRNK:TRNK -tyrannosaurs:TRNS:TRNS -ubiquitarian:APKT:APKT -ubiquitously:APKT:APKT -uglification:AKLF:ALFK -ulcerousness:ALSR:ALSR -uloglossitis:ALKL:ALKL -ultimateness:ALTM:ALTM -ultraliberal:ALTR:ALTR -ultramontane:ALTR:ALTR -ultramundane:ALTR:ALTR -ultrasonical:ALTR:ALTR -umbilication:AMPL:AMPL -umbrageously:AMPR:AMPR -unacceptable:ANXP:ANXP -unacceptably:ANXP:ANXP -unacceptance:ANXP:ANXP -unaccessible:ANXS:ANXS -unaccidental:ANXT:ANXT -unacclimated:ANKL:ANKL -unaccomplish:ANKM:ANKM -unaccredited:ANKR:ANKR -unaccustomed:ANKS:ANKS -unacquainted:ANKN:ANKN -unactionable:ANKX:ANKX -unadjudicate:ANTJ:ANTJ -unadjustable:ANTJ:ANTJ -unadminister:ANTM:ANTM -unadulterate:ANTL:ANTL -unadvertised:ANTF:ANTF -unaffectedly:ANFK:ANFK -unaffiliated:ANFL:ANFL -unaffordable:ANFR:ANFR -unaggressive:ANKR:ANKR -unalleviated:ANLF:ANLF -unanalyzable:ANNL:ANNL -unanswerable:ANNS:ANNS -unanswerably:ANNS:ANNS -unanticipate:ANNT:ANNT -unapologetic:ANPL:ANPL -unappealable:ANPL:ANPL -unappealably:ANPL:ANPL -unappeasable:ANPS:ANPS -unappetizing:ANPT:ANPT -unapplicable:ANPL:ANPL -unappreciate:ANPR:ANPR -unartfulness:ANRT:ANRT -unarticulate:ANRT:ANRT -unassailable:ANSL:ANSL -unassailably:ANSL:ANSL -unassignable:ANSN:ANSK -unassimilate:ANSM:ANSM -unassumingly:ANSM:ANSM -unattainable:ANTN:ANTN -unattractive:ANTR:ANTR -unauspicious:ANSP:ANSP -unauthorized:AN0R:ANTR -unavailingly:ANFL:ANFL -unbecomingly:ANPK:ANPK -unbefriended:ANPF:ANPF -unbelievable:ANPL:ANPL -unbelievably:ANPL:ANPL -unbequeathed:ANPK:ANPK -unbiasedness:ANPS:ANPS -unblinkingly:ANPL:ANPL -unblushingly:ANPL:ANPL -unbreathable:ANPR:ANPR -unbridgeable:ANPR:ANPR -unbrokenness:ANPR:ANPR -uncalculated:ANKL:ANKL -uncapitalise:ANKP:ANKP -uncelebrated:ANSL:ANSL -unchallenged:ANXL:ANKL -unchangeable:ANXN:ANKN -unchangeably:ANXN:ANKN -unchaperoned:ANXP:ANKP -uncharitable:ANXR:ANKR -uncharitably:ANXR:ANKR -unchasteness:ANXS:ANKS -unchastities:ANXS:ANKS -uncheerfully:ANXR:ANKR -unchivalrous:ANXF:ANKF -unchristened:ANXR:ANKR -uncinariases:ANSN:ANSN -uncinariasis:ANSN:ANSN -uncircumcise:ANSR:ANSR -unclassified:ANKL:ANKL -uncoagulated:ANKK:ANKK -uncomforting:ANKM:ANKM -uncommercial:ANKM:ANKM -uncommission:ANKM:ANKM -uncommonness:ANKM:ANKM -uncompensate:ANKM:ANKM -uncomplicate:ANKM:ANKM -uncompounded:ANKM:ANKM -uncomprehend:ANKM:ANKM -uncompressed:ANKM:ANKM -uncompresses:ANKM:ANKM -uncomputable:ANKM:ANKM -unconformity:ANKN:ANKN -unconjugated:ANKN:ANKN -unconsenting:ANKN:ANKN -unconsidered:ANKN:ANKN -unconstraint:ANKN:ANKN -unconsummate:ANKN:ANKN -uncontradict:ANKN:ANKN -uncontrolled:ANKN:ANKN -uncontrovert:ANKN:ANKN -unconversant:ANKN:ANKN -unconvincing:ANKN:ANKN -uncoordinate:ANKR:ANKR -uncorrelated:ANKR:ANKR -uncourageous:ANKR:ANKR -uncovenanted:ANKF:ANKF -uncritically:ANKR:ANKR -unctuousness:ANKT:ANKT -uncultivated:ANKL:ANKL -undeceivable:ANTS:ANTS -undecidabler:ANTS:ANTS -undeclinable:ANTK:ANTK -undecylenate:ANTS:ANTS -undefendable:ANTF:ANTF -undefensible:ANTF:ANTF -undeliberate:ANTL:ANTL -undemocratic:ANTM:ANTM -undependable:ANTP:ANTP -undeprivable:ANTP:ANTP -underachieve:ANTR:ANTR -underbedding:ANTR:ANTR -underbellies:ANTR:ANTR -underbidders:ANTR:ANTR -underbidding:ANTR:ANTR -undercharged:ANTR:ANTR -undercharges:ANTR:ANTR -underclasses:ANTR:ANTR -underclothed:ANTR:ANTR -underclothes:ANTR:ANTR -undercoating:ANTR:ANTR -undercooking:ANTR:ANTR -undercurrent:ANTR:ANTR -undercutting:ANTR:ANTR -underdevelop:ANTR:ANTR -underdrained:ANTR:ANTR -underdrawers:ANTR:ANTR -underdrawing:ANTR:ANTR -underdressed:ANTR:ANTR -underdresses:ANTR:ANTR -undereducate:ANTR:ANTR -underexposed:ANTR:ANTR -underexposes:ANTR:ANTR -underfeeding:ANTR:ANTR -underfinance:ANTR:ANTR -underflowing:ANTR:ANTR -undergarment:ANTR:ANTR -undergirding:ANTR:ANTR -underinsured:ANTR:ANTR -underleasing:ANTR:ANTR -underlessees:ANTR:ANTR -underletting:ANTR:ANTR -underlinings:ANTR:ANTR -undermention:ANTR:ANTR -undernourish:ANTR:ANTR -underpayment:ANTR:ANTR -underpeopled:ANTR:ANTR -underpinning:ANTR:ANTR -underplaying:ANTR:ANTR -underpowered:ANTR:ANTR -underpraised:ANTR:ANTR -underpraises:ANTR:ANTR -underpricing:ANTR:ANTR -underproduce:ANTR:ANTR -underpropped:ANTR:ANTR -underpropper:ANTR:ANTR -underquoting:ANTR:ANTR -underripened:ANTR:ANTR -underrunning:ANTR:ANTR -underscoring:ANTR:ANTR -underselling:ANTR:ANTR -underservant:ANTR:ANTR -undersetting:ANTR:ANTR -undersheriff:ANTR:ANTR -understaffed:ANTR:ANTR -understander:ANTR:ANTR -understating:ANTR:ANTR -understudied:ANTR:ANTR -understudies:ANTR:ANTR -undersurface:ANTR:ANTR -undertakings:ANTR:ANTR -undertenancy:ANTR:ANTR -undertrained:ANTR:ANTR -undertrumped:ANTR:ANTR -undervaluing:ANTR:ANTR -underwhelmed:ANTR:ANTR -underwinding:ANTR:ANTR -underwriters:ANTR:ANTR -underwriting:ANTR:ANTR -underwritten:ANTR:ANTR -undetachable:ANTT:ANTT -undetectable:ANTT:ANTT -undetermined:ANTT:ANTT -undigestible:ANTJ:ANTK -undiminished:ANTM:ANTM -undiplomatic:ANTP:ANTP -undiscerning:ANTS:ANTS -undischarged:ANTX:ANTX -undiscipline:ANTS:ANTS -undiscourage:ANTS:ANTS -undiscovered:ANTS:ANTS -undisputable:ANTS:ANTS -undistracted:ANTS:ANTS -undistressed:ANTS:ANTS -undistribute:ANTS:ANTS -undocumented:ANTK:ANTK -uneconomical:ANKN:ANKN -unemancipate:ANMN:ANMN -unemployable:ANMP:ANMP -unemployment:ANMP:ANMP -unencumbered:ANNK:ANNK -unendangered:ANNT:ANNT -unerringness:ANRN:ANRN -uneventfully:ANFN:ANFN -unexaggerate:ANKS:ANKS -unexpectedly:ANKS:ANKS -unexperience:ANKS:ANKS -unexpressive:ANKS:ANKS -unexpurgated:ANKS:ANKS -unextenuated:ANKS:ANKS -unextinguish:ANKS:ANKS -unfaithfully:ANF0:ANFT -unfamiliarly:ANFM:ANFM -unfathomable:ANFT:ANFT -unfathomably:ANFT:ANFT -unfertilized:ANFR:ANFR -unflaggingly:ANFL:ANFL -unflattering:ANFL:ANFL -unforbearing:ANFR:ANFR -unforbidding:ANFR:ANFR -unforgivable:ANFR:ANFR -unforgivably:ANFR:ANFR -unformulated:ANFR:ANFR -unfortunates:ANFR:ANFR -unfrequented:ANFR:ANFR -unfriendlier:ANFR:ANFR -unfruitfully:ANFR:ANFR -ungainliness:ANKN:ANKN -ungovernable:ANKF:ANKF -ungovernably:ANKF:ANKF -ungracefully:ANKR:ANKR -ungraciously:ANKR:ANKR -ungratefully:ANKR:ANKR -ungratifying:ANKR:ANKR -ungrudgingly:ANKR:ANKR -unguaranteed:ANKR:ANKR -unguiculated:ANKK:ANKK -unharmonious:ANRM:ANRM -unharnessing:ANRN:ANRN -unhealthiest:ANL0:ANLT -unhesitating:ANST:ANST -unhyphenated:ANFN:ANFN -uniarticular:ANRT:ANRT -unicamerally:ANKM:ANKM -unicuspidate:ANKS:ANKS -unidentified:ANTN:ANTN -unifactorial:ANFK:ANFK -unifiability:ANFP:ANFP -unifications:ANFK:ANFK -uniformities:ANFR:ANFR -uniglandular:ANKL:ANKL -unigravidaes:ANKR:ANKR -unilaterally:ANLT:ANLT -unilluminate:ANLM:ANLM -unillustrate:ANLS:ANLS -unimaginable:ANMJ:ANMK -unimaginably:ANMJ:ANMK -unimportance:ANMP:ANMP -unimpressive:ANMP:ANMP -unincumbered:ANNK:ANNK -uninfluenced:ANNF:ANNF -uninstructed:ANNS:ANNS -unintendedly:ANNT:ANNT -uninterested:ANNT:ANNT -uninvitingly:ANNF:ANNF -unionization:ANNS:ANNS -unipotential:ANPT:ANPT -unisexuality:ANSK:ANSK -unitarianism:ANTR:ANTR -universalism:ANFR:ANFR -universalist:ANFR:ANFR -universality:ANFR:ANFR -universalize:ANFR:ANFR -universities:ANFR:ANFR -unjudicially:ANJT:ANJT -unlawfulness:ANLF:ANLF -unlikelihood:ANLK:ANLK -unlikeliness:ANLK:ANLK -unliquidated:ANLK:ANLK -unlubricated:ANLP:ANLP -unmanageable:ANMN:ANMN -unmanageably:ANMN:ANMN -unmarketable:ANMR:ANMR -unmeasurable:ANMS:ANMS -unmeasurably:ANMS:ANMS -unmeasuredly:ANMS:ANMS -unmechanical:ANMX:ANMK -unmechanized:ANMX:ANMK -unmedullated:ANMT:ANMT -unmercifully:ANMR:ANMR -unmethodical:ANM0:ANMT -unmistakable:ANMS:ANMS -unmistakably:ANMS:ANMS -unmyelinated:ANML:ANML -unnegotiable:ANKX:ANKX -unnegotiated:ANKX:ANKX -unneighborly:ANPR:ANPR -unnewsworthy:ANSR:ANSR -unnoteworthy:ANTR:ANTR -unnoticeable:ANTS:ANTS -unnoticeably:ANTS:ANTS -unobligating:ANPL:ANPL -unobservable:ANPS:ANPS -unobstructed:ANPS:ANPS -unobtainable:ANPT:ANPT -unofficially:ANFS:ANFX -unornamental:ANRN:ANRN -unornamented:ANRN:ANRN -unorthodoxly:ANR0:ANRT -unparalleled:ANPR:ANPR -unpardonable:ANPR:ANPR -unpardonably:ANPR:ANPR -unpasteurise:ANPS:ANPS -unpatentable:ANPT:ANPT -unpenetrated:ANPN:ANPN -unperceiving:ANPR:ANPR -unperceptive:ANPR:ANPR -unperforated:ANPR:ANPR -unpermissive:ANPR:ANPR -unpersuasive:ANPR:ANPR -unpleasantly:ANPL:ANPL -unpoetically:ANPT:ANPT -unpopularity:ANPP:ANPP -unpossessive:ANPS:ANPS -unprejudiced:ANPR:ANPR -unpreparedly:ANPR:ANPR -unprepossess:ANPR:ANPR -unprescribed:ANPR:ANPR -unpretending:ANPR:ANPR -unprevailing:ANPR:ANPR -unprincipled:ANPR:ANPR -unproclaimed:ANPR:ANPR -unprocurable:ANPR:ANPR -unproductive:ANPR:ANPR -unprofitable:ANPR:ANPR -unprofitably:ANPR:ANPR -unprohibited:ANPR:ANPR -unpronounced:ANPR:ANPR -unpropitious:ANPR:ANPR -unprosecuted:ANPR:ANPR -unprosperous:ANPR:ANPR -unprotesting:ANPR:ANPR -unprovidedly:ANPR:ANPR -unpublicized:ANPP:ANPP -unpunishable:ANPN:ANPN -unquenchable:ANKN:ANKN -unquestioned:ANKS:ANKS -unreasonable:ANRS:ANRS -unreasonably:ANRS:ANRS -unreckonable:ANRK:ANRK -unrecognized:ANRK:ANRK -unrecompense:ANRK:ANRK -unreconciled:ANRK:ANRK -unredeemable:ANRT:ANRT -unreferenced:ANRF:ANRF -unreflecting:ANRF:ANRF -unreflective:ANRF:ANRF -unregeneracy:ANRJ:ANRK -unregenerate:ANRJ:ANRK -unregimented:ANRJ:ANRK -unregistered:ANRJ:ANRK -unrelinquish:ANRL:ANRL -unremarkable:ANRM:ANRM -unremembered:ANRM:ANRM -unremorseful:ANRM:ANRM -unremunerate:ANRM:ANRM -unrepealable:ANRP:ANRP -unrepeatable:ANRP:ANRP -unrequitable:ANRK:ANRK -unreservedly:ANRS:ANRS -unresolvable:ANRS:ANRS -unrespectful:ANRS:ANRS -unresponsive:ANRS:ANRS -unrestrained:ANRS:ANRS -unrestricted:ANRS:ANRS -unreturnable:ANRT:ANRT -unreviewable:ANRF:ANRF -unrhythmical:ANR0:ANRT -unromantical:ANRM:ANRM -unsalability:ANSL:ANSL -unsanctified:ANSN:ANSN -unsanctioned:ANSN:ANSN -unsatisfying:ANST:ANST -unsaturation:ANST:ANST -unsavoriness:ANSF:ANSF -unscientific:ANSN:ANSN -unscrambling:ANSK:ANSK -unscriptural:ANSK:ANSK -unscrupulous:ANSK:ANSK -unseasonable:ANSS:ANSS -unseasonably:ANSS:ANSS -unseemliness:ANSM:ANSM -unsegregated:ANSK:ANSK -unsettlement:ANST:ANST -unshrinkable:ANXR:ANXR -unskillfully:ANSK:ANSK -unsolicitous:ANSL:ANSL -unspecialise:ANSP:ANSP -unspecifical:ANSP:ANSP -unstableness:ANST:ANST -unstatutable:ANST:ANST -unsteadiness:ANST:ANST -unsterilized:ANST:ANST -unstintingly:ANST:ANST -unstratified:ANST:ANST -unstructured:ANST:ANST -unsubmissive:ANSP:ANSP -unsuccessful:ANSK:ANSK -unsupervised:ANSP:ANSP -unsuppressed:ANSP:ANSP -unsurprising:ANSR:ANSR -unsuspecting:ANSS:ANSS -unsuspicious:ANSS:ANSS -unswervingly:ANSR:ANSR -unsystematic:ANSS:ANSS -untastefully:ANTS:ANTS -untenability:ANTN:ANTN -untenantable:ANTN:ANTN -unterminated:ANTR:ANTR -unterseeboot:ANTR:ANTR -unthinkingly:AN0N:ANTN -unthoughtful:AN0T:ANTT -untimeliness:ANTM:ANTM -untouchables:ANTX:ANTK -untowardness:ANTR:ANTR -untranslated:ANTR:ANTR -untruthfully:ANTR:ANTR -unvaccinated:ANFX:ANFX -unvanquished:ANFN:ANFN -unventilated:ANFN:ANFN -unverifiable:ANFR:ANFR -unverifiably:ANFR:ANFR -unwaveringly:ANFR:ANFR -unwieldiness:ANLT:ANLT -unwontedness:ANNT:ANNT -unworldiness:ANRL:ANRL -unworthiness:ANR0:ANRT -unyieldingly:ANLT:ANLT -upbraidingly:APRT:APRT -upholsterers:AFLS:AFLS -upholsteries:AFLS:AFLS -upholstering:AFLS:AFLS -uppercutting:APRK:APRK -uproariously:APRR:APRR -uprootedness:APRT:APRT -uranographer:ARNK:ARNK -uranographic:ARNK:ARNK -uranoschises:ARNX:ARNX -uranoschisis:ARNX:ARNX -urbanization:ARPN:ARPN -urbanologist:ARPN:ARPN -ureterectomy:ARTR:ARTR -ureterolyses:ARTR:ARTR -ureterolysis:ARTR:ARTR -ureteropathy:ARTR:ARTR -ureterostomy:ARTR:ARTR -urethrectomy:AR0R:ARTR -urethritides:AR0R:ARTR -urethrograph:AR0R:ARTR -urethrorrhea:AR0R:ARTR -urethroscope:AR0R:ARTR -urethroscopy:AR0R:ARTR -urethrospasm:AR0R:ARTR -urethrostomy:AR0R:ARTR -uricacidemia:ARKS:ARKS -uricaciduria:ARKS:ARKS -urinogenital:ARNJ:ARNK -urinometries:ARNM:ARNM -urobilinemia:ARPL:ARPL -urobilinogen:ARPL:ARPL -urochromogen:ARKR:ARKR -urolithiases:ARL0:ARLT -urolithiasis:ARL0:ARLT -uronoscopies:ARNS:ARNS -uroporphyrin:ARPR:ARPR -usufructuary:ASFR:ASFR -usuriousness:ASRS:ASRS -uterovaginal:ATRF:ATRF -uterovesical:ATRF:ATRF -utilitarians:ATLT:ATLT -utilizations:ATLS:ATLS -uvulectomies:AFLK:AFLK -uxoriousness:AKSR:AKSR -vacationists:FKXN:FKXN -vacationland:FKXN:FKXN -vacationless:FKXN:FKXN -vaccinations:FXNX:FXNX -vacillations:FSLX:FSLX -vaginapexies:FJNP:FKNP -vaginolabial:FJNL:FKNL -vaginoplasty:FJNP:FKNP -vaginotomies:FJNT:FKNT -vagotomizing:FKTM:FKTM -vainglorious:FNKL:FNKL -valedictions:FLTK:FLTK -valenciennes:FLNS:FLNX -valetudinary:FLTT:FLTT -valorization:FLRS:FLRS -valuableness:FLPL:FLPL -vanquishable:FNKX:FNKX -vanquishment:FNKX:FNKX -vaporability:FPRP:FPRP -vaporescence:FPRS:FPRS -vaporishness:FPRX:FPRX -vaporization:FPRS:FPRS -vaporousness:FPRS:FPRS -variableness:FRPL:FRPL -varicography:FRKK:FRKK -varicosities:FRKS:FRKS -varicotomies:FRKT:FRKT -variegations:FRKX:FRKX -vascularized:FSKL:FSKL -vascularizes:FSKL:FSKL -vasculitides:FSKL:FSKL -vasectomized:FSKT:FSKT -vasectomizes:FSKT:FSKT -vasoactivity:FSKT:FSKT -vasodilation:FSTL:FSTL -vasoganglion:FSKN:FSKN -vasographies:FSKR:FSKR -vasoligation:FSLK:FSLK -vasoneuroses:FSNR:FSNR -vasoneurosis:FSNR:FSNR -vaticinating:FTSN:FTSN -vaticination:FTSN:FTSN -vaudevillian:FTFL:FTFL -vegetational:FKTX:FKTX -vegetatively:FKTT:FKTT -velocipedist:FLSP:FLSP -veneniferous:FNNF:FNNF -venepuncture:FNPN:FNPN -venerability:FNRP:FNRP -venerational:FNRX:FNRX -venerologies:FNRL:FNRL -vengefulness:FNJF:FNKF -venipuncture:FNPN:FNPN -venofibroses:FNFP:FNFP -venofibrosis:FNFP:FNFP -venographies:FNKR:FNKR -venomousness:FNMS:FNMS -ventricornua:FNTR:FNTR -ventricosity:FNTR:FNTR -ventriculous:FNTR:FNTR -ventromedial:FNTR:FNTR -ventromedian:FNTR:FNTR -veralisation:FRLS:FRLS -verbenaceous:FRPN:FRPN -verderership:FRTR:FRTR -veridicality:FRTK:FRTK -verification:FRFK:FRFK -verificatory:FRFK:FRFK -vermiculites:FRMK:FRMK -vernacularly:FRNK:FRNK -versicolored:FRSK:FRSK -vertebration:FRTP:FRTP -verticalness:FRTK:FRTK -verticillate:FRTS:FRTS -verumontanum:FRMN:FRMN -vesicatories:FSKT:FSKT -vesicotomies:FSKT:FSKT -vesiculating:FSKL:FSKL -vesiculation:FSKL:FSKL -vesiculotomy:FSKL:FSKL -vestibulorum:FSTP:FSTP -veterinarian:FTRN:FTRN -veterinaries:FTRN:FTRN -vichyssoises:FXSS:FKSS -vicissitudes:FSST:FSST -victorianism:FKTR:FKTR -victoriously:FKTR:FKTR -vigilantness:FJLN:FKLN -vigorousness:FKRS:FKRS -vilification:FLFK:FLFK -villainesses:FLNS:FLNS -villainously:FLNS:FLNS -villusectomy:FLSK:FLSK -vindications:FNTK:FNTK -vindictively:FNTK:FNTK -vinedressers:FNTR:FNTR -vinegarroons:FNKR:FNKR -vinicultural:FNKL:FNKL -vinificators:FNFK:FNFK -vinordinaire:FNRT:FNRT -vinylbenzene:FNLP:FNLP -violoncellos:FLNS:FLNS -viridescence:FRTS:FRTS -virilescence:FRLS:FRLS -virilization:FRLS:FRLS -virtuosities:FRTS:FRTS -virtuousness:FRTS:FRTS -viruliferous:FRLF:FRLF -viscerogenic:FSRJ:FSRK -visceromotor:FSRM:FSRM -viscerotonia:FSRT:FSRT -viscerotonic:FSRT:FSRT -viscoelastic:FSKL:FSKL -viscometries:FSKM:FSKM -viscosimetry:FSKS:FSKS -visitational:FSTX:FSTX -visitatorial:FSTT:FSTT -visuopsychic:FSPS:FSPS -visuosensory:FSSN:FSSN -vitalization:FTLS:FTLS -vitaminizing:FTMN:FTMN -vitaminology:FTMN:FTMN -vitellorubin:FTLR:FTLR -viticultural:FTKL:FTKL -vitiliginous:FTLJ:FTLK -vitriolizing:FTRL:FTRL -vituperating:FTPR:FTPR -vituperation:FTPR:FTPR -vituperative:FTPR:FTPR -vivification:FFFK:FFFK -viviparities:FFPR:FFPR -viviparously:FFPR:FFPR -vixenishness:FKSN:FKSN -vocabularies:FKPL:FKPL -vocalization:FKLS:FKLS -vocationally:FKXN:FKXN -vociferating:FSFR:FSFR -vociferation:FSFR:FSFR -vociferously:FSFR:FSFR -voidableness:FTPL:FTPL -volatileness:FLTL:FLTL -volatilities:FLTL:FLTL -volatilizing:FLTL:FLTL -volcanically:FLKN:FLKN -volitionally:FLXN:FLXN -volumetrical:FLMT:FLMT -voluminosity:FLMN:FLMN -voluminously:FLMN:FLMN -voluntaryism:FLNT:FLNT -volunteering:FLNT:FLNT -voluptuaries:FLPT:FLPT -voluptuously:FLPT:FLPT -vomiturition:FMTR:FMTR -vorticellaes:FRTS:FRTS -vulcanisable:FLKN:FLKN -vulcanizable:FLKN:FLKN -vulvectomies:FLFK:FLFK -vulvovaginal:FLFF:FLFF -wagelessness:AJLS:FKLS -wainscotting:ANSK:FNSK -wallpapering:ALPP:FLPP -warehouseman:ARHS:FRHS -warehousemen:ARHS:FRHS -warmongering:ARMN:FRMN -wastebaskets:ASTP:FSTP -wastefulness:ASTF:FSTF -watchfulness:AXFL:FXFL -waterbailage:ATRP:FTRP -waterbailiff:ATRP:FTRP -watercourses:ATRK:FTRK -watercresses:ATRK:FTRK -waterlogging:ATRL:FTRL -watermarking:ATRM:FTRM -waterproofed:ATRP:FTRP -waterproofer:ATRP:FTRP -wavelengthes:AFLN:FFLN -weatherboard:A0RP:FTRP -weatherbound:A0RP:FTRP -weathercocks:A0RK:FTRK -weatherglass:A0RK:FTRK -weatherproof:A0RP:FTRP -weatherstrip:A0RS:FTRS -weighbridges:APRJ:FPRJ -weightlessly:ATLS:FTLS -weightlifter:ATLF:FTLF -wellingtonia:ALNK:FLNK -welterweight:ALTR:FLTR -westerliness:ASTR:FSTR -westernizing:ASTR:FSTR -westinghouse:ASTN:FSTN -wheelbarrows:ALPR:ALPR -wheelwrights:ALRT:ALRT -whencesoever:ANSS:ANSS -wherethrough:AR0R:ARTR -whiffletrees:AFLT:AFLT -whimperingly:AMPR:AMPR -whimsicality:AMSK:AMSK -whippoorwill:APRL:APRL -whipstitches:APST:APST -whisperingly:ASPR:ASPR -whitecapping:ATKP:ATKP -whitethroats:AT0R:ATTR -whitewashing:ATXN:ATXN -wholehearted:ALHR:ALHR -whoremongers:ARMN:ARMN -whortleberry:ARTL:ARTL -wicketkeeper:AKTK:FKTK -wildebeestly:ALTP:FLTP -wildernesses:ALTR:FLTR -willywillies:ALLS:FLLS -windcheaters:ANTX:FNTK -winglessness:ANKL:FNKL -winterbourne:ANTR:FNTR -wintergreens:ANTR:FNTR -winterkilled:ANTR:FNTR -winterweight:ANTR:FNTR -wisconsinite:ASKN:FSKN -wisecrackers:ASKR:FSKR -wisecracking:ASKR:FSKR -withdrawable:A0TR:FTTR -withholdings:A0LT:FTLT -withstanding:A0ST:FTST -woddenheaded:ATNT:FTNT -wollastonite:ALST:FLST -womanishness:AMNX:FMNX -wondrousness:ANTR:FNTR -woodcarvings:ATKR:FTKR -woodgraining:ATKR:FTKR -woodswallows:ATSL:FTSL -woolgatherer:ALK0:FLKT -wordlessness:ARTL:FRTL -workableness:ARKP:FRKP -workingwoman:ARKN:FRKN -workingwomen:ARKN:FRKN -worklessness:ARKL:FRKL -workstations:ARKS:FRKS -worldbeaters:ARLT:FRLT -worshipfully:ARXP:FRXP -wrathfulness:R0FL:RTFL -wretchedness:RXTN:RXTN -wristwatches:RSTX:RSTX -wrongfulness:RNKF:RNKF -xanthomatous:SNTM:SNTM -xanthopterin:SN0P:SNTP -xerodermatic:SRTR:SRTR -xeromycteria:SRMK:SRMK -xiphisternal:SFST:SFST -xiphisternum:SFST:SFST -xylophonists:SLFN:SLFN -yataghanyate:ATKN:ATKN -yellowhammer:ALMR:ALMR -yesternights:ASTR:ASTR -yieldingness:ALTN:ALTN -youngberries:ANKP:ANKP -youthfulness:A0FL:ATFL -yugoslavians:AKSL:AKSL -zincographer:SNKK:SNKK -zincographic:SNKK:SNKK -zoacanthoses:SKN0:SKNT -zoacanthosis:SKN0:SKNT -zoanthropies:SN0R:SNTR -zoochemistry:SXMS:SKMS -zoogeography:SJKR:SKKR -zoographical:SKRF:SKRF -zoologically:SLJK:SLKK -zoomastigina:SMST:SMST -zooparasitic:SPRS:SPRS -zoopathology:SP0L:SPTL -zoosporangia:SSPR:SSPR -zootherapies:S0RP:STRP -zootomically:STMK:STMK -zoroastrians:SRST:SRST -zygapophyses:SKPF:SKPF -zygapophysis:SKPF:SKPF -zygomorphous:SKMR:SKMR -zygomycetous:SKMS:SKMS -abbreviations:APRF:APRF -aberdeenshire:APRT:APRT -abiogenesisly:APJN:APKN -abnormalities:APNR:APNR -abolitionists:APLX:APLX -abortifacient:APRT:APRT -absorbability:APSR:APSR -abstentionism:APST:APST -abstentionist:APST:APST -accelerations:AKSL:AKSL -acceptability:AKSP:AKSP -acceptilating:AKSP:AKSP -acceptilation:AKSP:AKSP -accessability:AKSS:AKSS -accessibility:AKSS:AKSS -accessoriness:AKSS:AKSS -accessorizing:AKSS:AKSS -acclimatizing:AKLM:AKLM -accommodating:AKMT:AKMT -accommodation:AKMT:AKMT -accommodative:AKMT:AKMT -accommodators:AKMT:AKMT -accompaniment:AKMP:AKMP -accompanyists:AKMP:AKMP -accomplishers:AKMP:AKMP -accomplishing:AKMP:AKMP -accordionists:AKRT:AKRT -accouchements:AKXM:AKKM -accouterments:AKTR:AKTR -accoutrements:AKTR:AKTR -accreditation:AKRT:AKRT -acculturating:AKLT:AKLT -acculturation:AKLT:AKLT -acculturative:AKLT:AKLT -accumulations:AKML:AKML -acetaminophen:ASTM:ASTM -acetazolamide:ASTS:ASTS -acetification:ASTF:ASTF -acetohexamide:ASTH:ASTH -acetomeroctol:ASTM:ASTM -acetomorphine:ASTM:ASTM -acetylcholine:ASTL:ASTL -achillotomies:AXLT:AKLT -achromaticity:AKRM:AKRM -achromatocyte:AKRM:AKRM -achromatophil:AKRM:AKRM -achromatopsia:AKRM:AKRM -achroodextrin:AKRT:AKRT -acidification:ASTF:ASTF -acidulousness:ASTL:ASTL -acknowledgers:AKNL:AKNL -acknowledging:AKNL:AKNL -acoenesthesia:AKNS:AKNS -acotyledonous:AKTL:AKTL -acquaintances:AKNT:AKNT -acquiescently:AKSN:AKSN -acquisitively:AKST:AKST -acrimoniously:AKRM:AKRM -acrobatically:AKRP:AKRP -acrocephalias:AKRS:AKRS -acrocephalies:AKRS:AKRS -acrokeratoses:AKRK:AKRK -acrokeratosis:AKRK:AKRK -acropathology:AKRP:AKRP -acroscleroses:AKRS:AKRS -acrosclerosis:AKRS:AKRS -acrylonitrile:AKRL:AKRL -actinobacilli:AKTN:AKTN -actinometries:AKTN:AKTN -actinomycetin:AKTN:AKTN -actinomycomas:AKTN:AKTN -actinomycoses:AKTN:AKTN -actinomycosis:AKTN:AKTN -actinomycotic:AKTN:AKTN -actinomyxidia:AKTN:AKTN -actinotherapy:AKTN:AKTN -actionability:AKXN:AKXN -actualization:AKTL:AKTL -acupuncturist:AKPN:AKPN -adamantinomas:ATMN:ATMN -adamantoblast:ATMN:ATMN -adaptableness:ATPT:ATPT -addictiveness:ATKT:ATKT -addressograph:ATRS:ATRS -adenocystomas:ATNS:ATNS -adenofibromas:ATNF:ATNF -adenoidectomy:ATNT:ATNT -adenosarcomas:ATNS:ATNS -adhesiotomies:ATST:ATXT -adiabatically:ATPT:ATPT -adiathermancy:AT0R:ATTR -adjudicataire:ATJT:ATJT -adjudications:ATJT:ATJT -adjustability:ATJS:ATJS -admeasurement:ATMS:ATMS -administerial:ATMN:ATMN -administering:ATMN:ATMN -administrable:ATMN:ATMN -administrants:ATMN:ATMN -administrated:ATMN:ATMN -administrates:ATMN:ATMN -administratif:ATMN:ATMN -administratis:ATMN:ATMN -administrator:ATMN:ATMN -administravit:ATMN:ATMN -adminstration:ATMN:ATMN -admissability:ATMS:ATMS -admissibility:ATMS:ATMS -admonishments:ATMN:ATMN -adpromissores:ATPR:ATPR -adrenalectomy:ATRN:ATRN -adrenosterone:ATRN:ATRN -adrenotrophic:ATRN:ATRN -adstipulating:ATST:ATST -adstipulation:ATST:ATST -adstipulators:ATST:ATST -adumbratively:ATMP:ATMP -adventuresome:ATFN:ATFN -adventuresses:ATFN:ATFN -adventurously:ATFN:ATFN -adversatively:ATFR:ATFR -advertisement:ATFR:ATFR -advertizement:ATFR:ATFR -aeroballistic:ARPL:ARPL -aerobiologies:ARPL:ARPL -aerobiologist:ARPL:ARPL -aerodontalgia:ARTN:ARTN -aerodynamical:ARTN:ARTN -aerosinusitis:ARSN:ARSN -aerotherapies:AR0R:ARTR -aesthetically:AS0T:ASTT -affectionless:AFKX:AFKX -affectiveness:AFKT:AFKT -affectivities:AFKT:AFKT -affirmatively:AFRM:AFRM -afforestation:AFRS:AFRS -affreightment:AFRT:AFRT -afterthoughts:AFTR:AFTR -agglomerating:AKLM:AKLM -agglomeration:AKLM:AKLM -agglomerative:AKLM:AKLM -agglutinating:AKLT:AKLT -agglutination:AKLT:AKLT -agglutinative:AKLT:AKLT -agglutinogens:AKLT:AKLT -aggregational:AKRK:AKRK -agreeableness:AKRP:AKRP -agriculturist:AKRK:AKRK -agrobiologist:AKRP:AKRP -agrochemicals:AKRX:AKRK -agrostologist:AKRS:AKRS -airworthiness:ARR0:ARRT -albocinereous:ALPS:ALPS -alcoholically:ALKH:ALKH -alcoholometry:ALKH:ALKH -aldermanships:ALTR:ALTR -aldosteronism:ALTS:ALTS -algebraically:ALJP:ALKP -algologically:ALKL:ALKL -alisphenoidal:ALSF:ALSF -alkalimetries:ALKL:ALKL -alkalometries:ALKL:ALKL -allegorically:ALKR:ALKR -allelomorphic:ALLM:ALLM -allergenicity:ALRJ:ALRK -allergologies:ALRK:ALRK -alliterations:ALTR:ALTR -allobarbitone:ALPR:ALPR -alloeroticism:ALRT:ALRT -allophanamide:ALFN:ALFN -allostericals:ALST:ALST -allotriophagy:ALTR:ALTR -allotropiesly:ALTR:ALTR -allotypically:ALTP:ALTP -alphabetizers:ALFP:ALFP -alphabetizing:ALFP:ALFP -alphanumerics:ALFN:ALFN -alternateness:ALTR:ALTR -alternatingly:ALTR:ALTR -alternatively:ALTR:ALTR -aluminiferous:ALMN:ALMN -alveoloplasty:ALFL:ALFL -alveolotomies:ALFL:ALFL -amalgamations:AMLK:AMLK -ambassadorial:AMPS:AMPS -ambidexterity:AMPT:AMPT -ambiguousness:AMPK:AMPK -ambisexuality:AMPS:AMPS -ambitiousness:AMPT:AMPT -ameloblastoma:AMLP:AMLP -americanizing:AMRK:AMRK -amicabilities:AMKP:AMKP -aminoaciduria:AMNS:AMNS -aminophylline:AMNF:AMNF -aminothiazole:AMN0:AMNT -amitriptyline:AMTR:AMTR -amniocenteses:AMNS:AMNS -amniocentesis:AMNS:AMNS -amniographies:AMNK:AMNK -amorphousness:AMRF:AMRF -amortizements:AMRT:AMRT -amphibologies:AMFP:AMFP -amphidiploidy:AMFT:AMFT -amphimictical:AMFM:AMFM -amphioxusesly:AMFK:AMFK -amphiploidies:AMFP:AMFP -amphitheaters:AMF0:AMFT -amphitrichous:AMFT:AMFT -amphoricities:AMFR:AMFR -amplification:AMPL:AMPL -anachronistic:ANKR:ANKR -anaerobically:ANRP:ANRP -anaesthetical:ANS0:ANST -anaesthetists:ANS0:ANST -anaesthetized:ANS0:ANST -anaesthetizes:ANS0:ANST -anagrammatist:ANKR:ANKR -analogousness:ANLK:ANLK -analyticities:ANLT:ANLT -anaphorically:ANFR:ANFR -anaphrodisiac:ANFR:ANFR -anaphylactoid:ANFL:ANFL -anaphylatoxin:ANFL:ANFL -anathematized:AN0M:ANTM -anathematizes:AN0M:ANTM -androcentrism:ANTR:ANTR -anecdotalists:ANKT:ANKT -anencephalias:ANNS:ANNS -anencephalies:ANNS:ANNS -anencephalous:ANNS:ANNS -anerythropsia:ANR0:ANRT -anesthetizing:ANS0:ANST -anfractuosity:ANFR:ANFR -angelologists:ANJL:ANKL -angioblastoma:ANJP:ANKP -angiocholitis:ANJX:ANKK -angiofibromas:ANJF:ANKF -angiographies:ANJK:ANKK -angioneurotic:ANJN:ANKN -angiosarcomas:ANJS:ANKS -angioscotomas:ANJS:ANKS -anglicization:ANKL:ANLS -animadversion:ANMT:ANMT -animadverting:ANMT:ANMT -anionotropies:ANNT:ANNT -anisognathous:ANSN:ANSK -anisometropia:ANSM:ANSM -anisometropic:ANSM:ANSM -ankyloglossia:ANKL:ANKL -annexationism:ANKS:ANKS -annexationist:ANKS:ANKS -annihilations:ANHL:ANHL -anniversaries:ANFR:ANFR -announcements:ANNS:ANNS -annualization:ANLS:ANLS -annunciations:ANNS:ANNX -anomalousness:ANML:ANML -anonymousness:ANNM:ANNM -anoplocephala:ANPL:ANPL -answerability:ANSR:ANSR -antagonizable:ANTK:ANTK -anterolateral:ANTR:ANTR -anthelminthic:AN0L:ANTL -anthologizing:AN0L:ANTL -anthraquinone:AN0R:ANTR -anthropogenic:AN0R:ANTR -anthropologic:AN0R:ANTR -anthropometry:AN0R:ANTR -anthropopathy:AN0R:ANTR -anthropophagi:AN0R:ANTR -anthropophagy:AN0R:ANTR -anthroposophy:AN0R:ANTR -antiarthritic:ANXR:ANXR -antibacterial:ANTP:ANTP -anticancerous:ANTK:ANTK -anticatalysts:ANTK:ANTK -antichristian:ANTX:ANTK -anticipations:ANTS:ANTS -anticlimactic:ANTK:ANTK -anticlinorium:ANTK:ANTK -anticlockwise:ANTK:ANTK -anticoagulant:ANTK:ANTK -anticoagulate:ANTK:ANTK -anticommunism:ANTK:ANTK -anticommunist:ANTK:ANTK -anticorrosion:ANTK:ANTK -anticorrosive:ANTK:ANTK -antidiarrheal:ANTT:ANTT -antielectrons:ANTL:ANTL -antifertility:ANTF:ANTF -antigenically:ANTJ:ANTK -antihistamine:ANTH:ANTH -antihumanists:ANTH:ANTH -antilogarithm:ANTL:ANTL -antimacassars:ANTM:ANTM -antimicrobial:ANTM:ANTM -antimodernist:ANTM:ANTM -antimutagenic:ANTM:ANTM -antinarcotics:ANTN:ANTN -antineutrinos:ANTN:ANTN -antinomianism:ANTN:ANTN -antinomically:ANTN:ANTN -antinovelists:ANTN:ANTN -antipacifists:ANTP:ANTP -antiparasitic:ANTP:ANTP -antiparticles:ANTP:ANTP -antipathogens:ANTP:ANTP -antipersonnel:ANTP:ANTP -antiphonaries:ANTF:ANTF -antipolitical:ANTP:ANTP -antipollution:ANTP:ANTP -antipsychotic:ANTP:ANTP -antireligious:ANTR:ANTR -antiresonance:ANTR:ANTR -antiresonator:ANTR:ANTR -antirheumatic:ANTR:ANTR -antiscorbutic:ANTS:ANTS -antisepticize:ANTS:ANTS -antispasmodic:ANTS:ANTS -antispiritual:ANTS:ANTS -antisubmarine:ANTS:ANTS -antisymmetric:ANTS:ANTS -antiterrorist:ANTT:ANTT -antitypically:ANTT:ANTT -aortographies:ARTK:ARTK -apathetically:AP0T:APTT -aperiodically:APRT:APRT -apheliotropic:AFLT:AFLT -aphrodisiacal:AFRT:AFRT -apicoectomies:APKK:APKK -apocalyptical:APKL:APKL -apochromatism:APKR:APKR -apomictically:APMK:APMK -apoplectiform:APPL:APPL -apostolically:APST:APST -apostrophized:APST:APST -apostrophizes:APST:APST -apotheosizing:AP0S:APTS -appealability:APLP:APLP -appellability:APLP:APLP -appellatively:APLT:APLT -apperceptions:APRS:APRS -appersonation:APRS:APRS -applicability:APLK:APLK -applicatively:APLK:APLK -apportionable:APRX:APRX -apportionment:APRX:APRX -appreciations:APRS:APRX -apprehensible:APRH:APRH -apprehensibly:APRH:APRH -apprehensions:APRH:APRH -appropriately:APRP:APRP -appropriating:APRP:APRP -appropriation:APRP:APRP -appropriative:APRP:APRP -appropriators:APRP:APRP -approximately:APRK:APRK -approximating:APRK:APRK -approximation:APRK:APRK -approximative:APRK:APRK -appurtenances:APRT:APRT -arachnoiditis:ARKN:ARKN -arachnologist:ARKN:ARKN -arbitrariness:ARPT:ARPT -arbitrational:ARPT:ARPT -arbourisation:ARPR:ARPR -archaeologist:ARKL:ARXL -archaeopteryx:ARKP:ARXP -archbishopric:ARXP:ARKP -archduchesses:ARXT:ARKT -archeological:ARXL:ARKL -archeologists:ARXL:ARKL -archetypaling:ARXT:ARKT -archimandrite:ARXM:ARKM -archipelagian:ARXP:ARKP -archipelagoes:ARXP:ARKP -architectonic:ARKT:ARKT -architectural:ARKT:ARKT -architectures:ARKT:ARKT -argentophilic:ARJN:ARKN -argilliferous:ARJL:ARKL -argumentation:ARKM:ARKM -argumentative:ARKM:ARKM -argumentively:ARKM:ARKM -aristocracies:ARST:ARST -arithmetician:AR0M:ARTM -arithmetizing:AR0M:ARTM -armamentarium:ARMM:ARMM -aromatization:ARMT:ARMT -arseniuretted:ARSN:ARSN -arsenotherapy:ARSN:ARSN -arterializing:ARTR:ARTR -arteriography:ARTR:ARTR -arterioplasty:ARTR:ARTR -arteriotomies:ARTR:ARTR -arteriovenous:ARTR:ARTR -arthrectomies:AR0R:ARTR -arthropathies:AR0R:ARTR -arthrosporous:AR0R:ARTR -arthrostomies:AR0R:ARTR -articulations:ARTK:ARTK -artifactually:ARTF:ARTF -artificiality:ARTF:ARTF -arundinaceous:ARNT:ARNT -aryepiglottic:ARPK:ARPK -ascensionists:ASNS:ASNX -ascertainable:ASRT:ASRT -ascertainably:ASRT:ASRT -ascertainment:ASRT:ASRT -aspartokinase:ASPR:ASPR -aspergillales:ASPR:ASPR -aspergilloses:ASPR:ASPR -aspergillosis:ASPR:ASPR -assassinating:ASSN:ASSN -assassination:ASSN:ASSN -assassinators:ASSN:ASSN -assemblywoman:ASMP:ASMP -assemblywomen:ASMP:ASMP -assertiveness:ASRT:ASRT -asseverations:ASFR:ASFR -assiduousness:ASTS:ASTS -assignability:ASNP:ASKN -assimilations:ASML:ASML -assistantship:ASST:ASST -associateship:ASST:ASXT -associational:ASSX:ASXX -associatively:ASST:ASXT -associativity:ASST:ASXT -assortatively:ASRT:ASRT -assuasiveness:ASSF:ASSF -assyriologist:ASRL:ASRL -astereognoses:ASTR:ASTR -astereognosis:ASTR:ASTR -asthenosphere:AS0N:ASTN -asthmatically:AS0M:ASTM -astonishingly:ASTN:ASTN -astonishments:ASTN:ASTN -astroblastoma:ASTR:ASTR -astrocytomata:ASTR:ASTR -astrodynamics:ASTR:ASTR -astrometrical:ASTR:ASTR -astronautical:ASTR:ASTR -astrophysical:ASTR:ASTR -atavistically:ATFS:ATFS -atheistically:A0ST:ATST -atherogeneses:A0RJ:ATRK -atherogenesis:A0RJ:ATRK -atheromatoses:A0RM:ATRM -atheromatosis:A0RM:ATRM -atmospherical:ATMS:ATMS -atrociousness:ATRS:ATRX -attainability:ATNP:ATNP -attentiveness:ATNT:ATNT -atterminement:ATRM:ATRM -atticomastoid:ATKM:ATKM -attitudinized:ATTT:ATTT -attitudinizes:ATTT:ATTT -attributively:ATRP:ATRP -audaciousness:ATSS:ATXS -audiometrists:ATMT:ATMT -augmentations:AKMN:AKMN -auscultations:ASKL:ASKL -australianism:ASTR:ASTR -austronesians:ASTR:ASTR -autecological:ATKL:ATKL -authentically:A0NT:ATNT -authenticated:A0NT:ATNT -authenticates:A0NT:ATNT -authenticator:A0NT:ATNT -authoritarian:A0RT:ATRT -authoritative:A0RT:ATRT -authorization:A0RS:ATRS -autobiography:ATPK:ATPK -autocatalyses:ATKT:ATKT -autocatalysis:ATKT:ATKT -autocatalytic:ATKT:ATKT -autocephalous:ATSF:ATSF -autochthonism:ATK0:ATKT -autochthonous:ATK0:ATKT -autocorrelate:ATKR:ATKR -autocytolyses:ATST:ATST -autocytolysis:ATST:ATST -autodigestion:ATTJ:ATTK -autoeroticism:ATRT:ATRT -autographical:ATKR:ATKR -autohemolyses:ATHM:ATHM -autohemolysis:ATHM:ATHM -autoimmunized:ATMN:ATMN -autoimmunizes:ATMN:ATMN -autoinfection:ATNF:ATNF -automatically:ATMT:ATMT -automatograph:ATMT:ATMT -automobilists:ATMP:ATMP -automorphisms:ATMR:ATMR -autonavigator:ATNF:ATNF -autonomically:ATNM:ATNM -autopolyploid:ATPL:ATPL -autoradiogram:ATRT:ATRT -autotherapies:AT0R:ATTR -auxanographic:AKSN:AKSN -avantgardists:AFNT:AFNT -axiologically:AKSL:AKSL -axiomatically:AKSM:AKSM -axiomatizable:AKSM:AKSM -ayuntamientos:ANTM:ANTM -baccalaureate:PKLR:PKLR -backscattered:PKSK:PKSK -backscratcher:PKSK:PKSK -backstitching:PKST:PKST -backstretches:PKST:PKST -backwardation:PKRT:PKRT -bacteriocidal:PKTR:PKTR -bacteriocidin:PKTR:PKTR -bacteriogenic:PKTR:PKTR -bacteriologic:PKTR:PKTR -bacteriolyses:PKTR:PKTR -bacteriolysin:PKTR:PKTR -bacteriolysis:PKTR:PKTR -bacteriolytic:PKTR:PKTR -bacteriophage:PKTR:PKTR -bacteriotoxin:PKTR:PKTR -bacterization:PKTR:PKTR -balantidiases:PLNT:PLNT -balantidiasis:PLNT:PLNT -balantidioses:PLNT:PLNT -balantidiosis:PLNT:PLNT -ballistically:PLST:PLST -ballisticians:PLST:PLST -balneological:PLNL:PLNL -balneologists:PLNL:PLNL -balneotherapy:PLN0:PLNT -balsamiferous:PLSM:PLSM -baluchistanis:PLXS:PLKS -bamboozlement:PMPS:PMPS -bammoozlement:PMSL:PMSL -bandspreading:PNTS:PNTS -bantamweights:PNTM:PNTM -barbarization:PRPR:PRPR -barbarousness:PRPR:PRPR -barefacedness:PRFS:PRFS -bartholinites:PR0L:PRTL -bartholinitis:PR0L:PRTL -bartonelloses:PRTN:PRTN -bartonellosis:PRTN:PRTN -basidiospores:PSTS:PSTS -basioccipital:PSXP:PXXP -basivertebral:PSFR:PSFR -batrachotoxin:PTRK:PTRK -battlegrounds:PTLK:PTLK -bdellovibrios:PTLF:PTLF -beardlessness:PRTL:PRTL -beatification:PTFK:PTFK -befuddlements:PFTL:PFTL -behavioristic:PHFR:PHFR -believability:PLFP:PLFP -bellfoundries:PLFN:PLFN -bellicoseness:PLKS:PLKS -bellicosities:PLKS:PLKS -belligerently:PLJR:PLKR -benefactrices:PNFK:PNFK -benefactrixes:PNFK:PNFK -beneficiaries:PNFS:PNFX -beneficiating:PNFS:PNFX -benightedness:PNTT:PNTT -benzimidazole:PNSM:PNSM -bewilderingly:PLTR:PLTR -bibliographer:PPLK:PPLK -bibliographic:PPLK:PPLK -bibliomaniacs:PPLM:PPLM -bibliophilism:PPLF:PPLF -bibliopolists:PPLP:PPLP -bibliotherapy:PPL0:PPLT -bicameralists:PKMR:PKMR -bicentenaries:PSNT:PSNT -bicentennials:PSNT:PSNT -biculturalism:PKLT:PKLT -bidirectional:PTRK:PTRK -biimplication:PMPL:PMPL -bilirubinemia:PLRP:PLRP -bilirubinuria:PLRP:PLRP -bioactivities:PKTF:PKTF -bioautography:PTKR:PTKR -biochemically:PXMK:PKMK -bioconversion:PKNF:PKNF -biodegradable:PTKR:PTKR -bioelectrical:PLKT:PLKT -bioenergetics:PNRK:PNRK -bioflavonoids:PFLF:PFLF -biogeographer:PJKR:PKKR -biogeographic:PJKR:PKKR -biometrically:PMTR:PMTR -biomicroscope:PMKR:PMKR -biomicroscopy:PMKR:PMKR -biophysically:PFSK:PFSK -biophysicists:PFSS:PFSS -biopsychology:PPSX:PPSK -biosatellites:PSTL:PSTL -bioscientists:PSNT:PSNT -biostatically:PSTT:PSTT -biostatistics:PSTT:PSTT -biotechnology:PTKN:PTKN -biotelemetric:PTLM:PTLM -bipropellants:PPRP:PPRP -birefringence:PRFR:PRFR -bisectionally:PSKX:PSKX -bisymmetrical:PSMT:PSMT -blabbermouths:PLPR:PLPR -blackguardism:PLKK:PLKK -blamelessness:PLML:PLML -blandishments:PLNT:PLNT -blasphemously:PLSF:PLSF -blastogeneses:PLST:PLST -blastogenesis:PLST:PLST -blastogenetic:PLST:PLST -blastomycetes:PLST:PLST -blastomycetic:PLST:PLST -blastomycoses:PLST:PLST -blastomycosis:PLST:PLST -blastophthory:PLST:PLST -blastosphered:PLST:PLST -blastospheres:PLST:PLST -blastospheric:PLST:PLST -blatherskites:PL0R:PLTR -blennorrhoeal:PLNR:PLNR -blepharitides:PLFR:PLFR -blepharoplast:PLFR:PLFR -blepharospasm:PLFR:PLFR -blisslessness:PLSL:PLSL -blitzkrieging:PLTS:PLTS -blockheadedly:PLKT:PLKT -bloodcurdling:PLTK:PLTK -bloodlessness:PLTL:PLTL -bloodlettings:PLTL:PLTL -bloodshedding:PLTX:PLTX -bluestockings:PLST:PLST -blunderbusses:PLNT:PLNT -boardinghouse:PRTN:PRTN -bombastically:PMPS:PMPS -bookbinderies:PKPN:PKPN -bootstrapping:PTST:PTST -boraginaceous:PRJN:PRKN -borborygmatic:PRPR:PRPR -botryomycoses:PTRM:PTRM -botryomycosis:PTRM:PTRM -botryomycotic:PTRM:PTRM -bougainvillea:PKNF:PKNF -bouillabaisse:PLPS:PLPS -boulevardiers:PLFR:PLFR -boundlessness:PNTL:PNTL -bounteousness:PNTS:PNTS -bountifulness:PNTF:PNTF -boysenberries:PSNP:PSNP -brachiosaurus:PRXS:PRKS -brachycephaly:PRKS:PRKS -brachydactyly:PRKT:PRKT -bradyesthesia:PRTS:PRTS -braillewriter:PRLR:PRLR -brainchildren:PRNX:PRNK -brainlessness:PRNL:PRNL -brainsickness:PRNS:PRNS -brainstorming:PRNS:PRNS -breadwinnings:PRTN:PRTN -breakthroughs:PRK0:PRKT -breastfeeding:PRST:PRST -breaststrokes:PRST:PRST -breathalyzers:PR0L:PRTL -breathalyzing:PR0L:PRTL -breechclothes:PRXK:PRKK -breechloaders:PRKL:PRKL -breechloading:PRKL:PRKL -broadcastings:PRTK:PRTK -brokenhearted:PRKN:PRKN -bronchiogenic:PRNX:PRNK -bronchiolitis:PRNX:PRNK -bronchoedemas:PRNX:PRNK -bronchography:PRNX:PRNK -bronchoscopic:PRNX:PRNK -bronchotomies:PRNX:PRNK -broncobusters:PRNK:PRNK -brotherliness:PR0R:PRTR -brutalization:PRTL:PRTL -buccocervical:PKSR:PKSR -buccogingival:PKJN:PKKN -bulbourethral:PLPR:PLPR -bulletproofed:PLTP:PLTP -bumptiousness:PMPT:PMPT -bureaucracies:PRKR:PRKR -bureaucratese:PRKR:PRKR -bureaucratism:PRKR:PRKR -bureaucratize:PRKR:PRKR -burglariously:PRKL:PRKL -burglarproofs:PRKL:PRKL -businesswoman:PSNS:PSNS -businesswomen:PSNS:PSNS -butopyronoxyl:PTPR:PTPR -butterfingers:PTRF:PTRF -byelorussians:PLRS:PLRS -cabinetmakers:KPNT:KPNT -cabinetmaking:KPNT:KPNT -cacographical:KKKR:KKKR -cacophonously:KKFN:KKFN -calcariferous:KLKR:KLKR -calcification:KLSF:KLSF -calciphylaxes:KLSF:KLSF -calciphylaxis:KLSF:KLSF -calcospherite:KLKS:KLKS -calculability:KLKL:KLKL -calculatingly:KLKL:KLKL -calculational:KLKL:KLKL -calefactories:KLFK:KLFK -calligraphers:KLKR:KLKR -calligraphist:KLKR:KLKR -calliphoridae:KLFR:KLFR -callisthenics:KLS0:KLST -calorifacient:KLRF:KLRF -calorimetries:KLRM:KLRM -calumniations:KLMN:KLMN -calvinistical:KLFN:KLFN -cameralistics:KMRL:KMRL -campanologers:KMPN:KMPN -campanologist:KMPN:KMPN -camphoraceous:KMFR:KMFR -campylobacter:KMPL:KMPL -canaliculated:KNLK:KNLK -canalizations:KNLS:KNLS -cancerization:KNSR:KNSR -cancerologies:KNSR:KNSR -cancerologist:KNSR:KNSR -cancerophobia:KNSR:KNSR -candleholders:KNTL:KNTL -cannibalistic:KNPL:KNPL -cannibalizing:KNPL:KNPL -cannonballing:KNNP:KNNP -canonicalized:KNNK:KNNK -canonicalizes:KNNK:KNNK -canonizations:KNNS:KNNS -cantharidated:KN0R:KNTR -cantharidized:KN0R:KNTR -cantharidizes:KN0R:KNTR -cantilevering:KNTL:KNTL -cantillations:KNTL:KNTL -capaciousness:KPSS:KPXS -capacitations:KPST:KPST -capercaillies:KPRK:KPRK -capercailzies:KPRK:KPRK -capillariases:KPLR:KPLR -capillariasis:KPLR:KPLR -capillarioses:KPLR:KPLR -capillariosis:KPLR:KPLR -capillarities:KPLR:KPLR -capitulations:KPTL:KPTL -capricorneans:KPRK:KPRK -capricornians:KPRK:KPRK -caprification:KPRF:KPRF -capsulization:KPSL:KPSL -caravansaries:KRFN:KRFN -caravanserais:KRFN:KRFN -carbenicillin:KRPN:KRPN -carbohydrates:KRPH:KRPH -carbolfuchsin:KRPL:KRPL -carboniferous:KRPN:KRPN -carbonization:KRPN:KRPN -carboxylating:KRPK:KRPK -carboxylation:KRPK:KRPK -carboxymethyl:KRPK:KRPK -carbunculoses:KRPN:KRPN -carbunculosis:KRPN:KRPN -carburization:KRPR:KRPR -carcinomatoid:KRSN:KRSN -carcinomatous:KRSN:KRSN -cardiectomies:KRTK:KRTK -cardinalities:KRTN:KRTN -cardinalships:KRTN:KRTN -cardiodynamic:KRTT:KRTT -cardiographer:KRTK:KRTK -cardiographes:KRTK:KRTK -cardiographic:KRTK:KRTK -cardiohepatic:KRTH:KRTH -cardiokinetic:KRTK:KRTK -cardiological:KRTL:KRTL -cardiologists:KRTL:KRTL -cardiometries:KRTM:KRTM -cardiopathies:KRTP:KRTP -cardiorrhaphy:KRTR:KRTR -cardiospastic:KRTS:KRTS -cardiotherapy:KRT0:KRTT -caricaturists:KRKT:KRKT -carillonneurs:KRLN:KRLN -carlovingians:KRLF:KRLF -carnification:KRNF:KRNF -carnivorously:KRNF:KRNF -carpetbaggers:KRPT:KRPT -carpetbaggery:KRPT:KRPT -carpetbagging:KRPT:KRPT -cartelization:KRTL:KRTL -cartilaginoid:KRTL:KRTL -cartilaginous:KRTL:KRTL -cartographers:KRTK:KRTK -cartographies:KRTK:KRTK -cartophilists:KRTF:KRTF -casehardening:KSHR:KSHR -cassegrainian:KSKR:KSKR -casuistically:KSST:KSST -catabolically:KTPL:KTPL -catachromases:KTKR:KTKR -catachromasis:KTKR:KTKR -catalytically:KTLT:KTLT -catastrophism:KTST:KTST -catastrophist:KTST:KTST -catchpenniers:KXPN:KXPN -catechistical:KTXS:KTKS -catechization:KTXS:KTKS -catecholamine:KTXL:KTKL -catechumenate:KTXM:KTKM -catechumenism:KTXM:KTKM -categorically:KTKR:KTKR -cathartically:K0RT:KTRT -catheterizing:K0TR:KTTR -catholicizing:K0LS:KTLS -catoptrically:KTPT:KTPT -causativeness:KSTF:KSTF -cauterization:KTRS:KTRS -ceaselessness:SSLS:SSLS -cecoplication:SKPL:SKPL -cecorrhaphies:SKRF:SKRF -celebrationis:SLPR:SLPR -cellularities:SLLR:SLLR -centrifugally:SNTR:SNTR -centripetally:SNTR:SNTR -centruplicate:SNTR:SNTR -centuplicated:SNTP:SNTP -centuplicates:SNTP:SNTP -cephalization:SFLS:SFLS -cephalocaudal:SFLK:SFLK -cephalometric:SFLM:SFLM -cephalopelvic:SFLP:SFLP -cephalopodous:SFLP:SFLP -cephaloridine:SFLR:SFLR -cephalosporin:SFLS:SFLS -cephalothorax:SFL0:SFLT -cephalotomies:SFLT:SFLT -cephalotripsy:SFLT:SFLT -ceratophyllus:SRTF:SRTF -cercopithecid:SRKP:SRKP -cercopithecus:SRKP:SRKP -cerebrospinal:SRPR:SRPR -ceremonialism:SRMN:SRMN -ceremonialist:SRMN:SRMN -ceremoniously:SRMN:SRMN -cerographical:SRKR:SRKR -cerographists:SRKR:SRKR -certificating:SRTF:SRTF -certification:SRTF:SRTF -certificatory:SRTF:SRTF -ceruloplasmin:SRLP:SRLP -cervicobuccal:SRFK:SRFK -cervicofacial:SRFK:SRFK -cervicolabial:SRFK:SRFK -chairmanships:XRMN:XRMN -chalcographer:XLKK:XLKK -challengeable:XLNJ:XLNK -challengingly:XLNJ:XLNK -chameleonlike:XMLN:XMLN -championships:XMPN:XMPN -chancelleries:XNSL:XNSL -chancellorate:XNSL:XNSL -chancellories:XNSL:XNSL -changeability:XNJP:XNKP -changefulness:XNJF:XNKF -chaplainships:XPLN:XPLN -chapterhouses:XPTR:XPTR -characterized:KRKT:KRKT -characterizer:KRKT:KRKT -characterizes:KRKT:KRKT -characterless:KRKT:KRKT -chargeability:XRJP:XRKP -charlatanerie:XRLT:XRLT -charlatanical:XRLT:XRLT -charlatanries:XRLT:XRLT -charlottetown:XRLT:XRLT -chateaubriand:XTPR:XTPR -checkerboards:XKRP:XKRP -checkpointing:XKPN:XKPN -cheerlessness:XRLS:XRLS -cheeseburgers:XSPR:XSPR -cheeseclothes:XSKL:XSKL -cheesemongers:XSMN:XSMN -cheilectomies:XLKT:XLKT -cheiloschises:XLXS:XLXS -cheiloschisis:XLXS:XLXS -cheirognomies:XRNM:XRKN -chemisorption:KMSR:KMSR -chemodectomas:KMTK:KMTK -chemoreceptor:KMRS:KMRS -chemosurgical:KMSR:KMSR -chemotactical:KMTK:KMTK -chesterfields:XSTR:XSTR -chiaroscurism:KRSK:KRSK -chiaroscurist:KRSK:KRSK -chieftaincies:XFTN:XFTN -chieftainship:XFTN:XFTN -childlessness:XLTL:XLTL -chilectropion:XLKT:XLKT -chionablepsia:XNPL:XNPL -chirographers:XRKR:XRKR -chiromegalies:XRMK:XRMK -chiropractors:XRPR:XRPR -chlamydiaceae:KLMT:KLMT -chlamydomonas:KLMT:KLMT -chlamydospore:KLMT:KLMT -chlormerodrin:KLRM:KLRM -chlormezanone:KLRM:KLRM -chlorobutanol:KLRP:KLRP -chloroforming:KLRF:KLRF -chloroformism:KLRF:KLRF -chloroguanide:KLRK:KLRK -chloromethane:KLRM:KLRM -chlorotically:KLRT:KLRT -cholangiogram:XLNJ:XLNK -cholangiomata:XLNJ:XLNK -cholangiotomy:XLNJ:XLNK -cholangitides:XLNJ:XLNK -cholecystitis:XLSS:XLSS -choledochitis:XLTX:XLTK -cholesteatoma:XLST:XLST -cholesteremia:XLST:XLST -cholesteroses:XLST:XLST -cholesterosis:XLST:XLST -chondriosomal:XNTR:XNTR -chondriosomes:XNTR:XNTR -chondrocostal:XNTR:XNTR -chondrocrania:XNTR:XNTR -chondrogenous:XNTR:XNTR -chondroglossi:XNTR:XNTR -chondrologies:XNTR:XNTR -chondromatous:XNTR:XNTR -chondromucoid:XNTR:XNTR -chondroplasty:XNTR:XNTR -chondroseptum:XNTR:XNTR -chondrotomies:XNTR:XNTR -choreographed:XRKR:XRKR -choreographer:XRKR:XRKR -choreographes:XRKR:XRKR -choreographic:XRKR:XRKR -chorographers:KRKR:KRKR -chorusmasters:KRSM:KRSM -chrematistics:KRMT:KRMT -chrismatories:KRSM:KRSM -christianized:KRSX:KRSX -christianizes:KRSX:KRSX -christmastide:KRST:KRST -chromaffinoma:KRMF:KRMF -chromatically:KRMT:KRMT -chromaticness:KRMT:KRMT -chromatograms:KRMT:KRMT -chromatograph:KRMT:KRMT -chromatolyses:KRMT:KRMT -chromatolysis:KRMT:KRMT -chromatolytic:KRMT:KRMT -chromatopathy:KRMT:KRMT -chromatophile:KRMT:KRMT -chromatophore:KRMT:KRMT -chromesthesia:KRMS:KRMS -chromhidroses:KRMT:KRMT -chromhidrosis:KRMT:KRMT -chromogeneses:KRMJ:KRMK -chromogenesis:KRMJ:KRMK -chromophilies:KRMF:KRMF -chromoprotein:KRMP:KRMP -chromoscopies:KRMS:KRMS -chromosomally:KRMS:KRMS -chromospheres:KRMS:KRMS -chromospheric:KRMS:KRMS -chromotherapy:KRM0:KRMT -chronaximetry:KRNK:KRNK -chronobiology:KRNP:KRNP -chronographer:KRNK:KRNK -chronographes:KRNK:KRNK -chronographic:KRNK:KRNK -chronological:KRNL:KRNL -chronologists:KRNL:KRNL -chronotropism:KRNT:KRNT -chrysanthemum:KRSN:KRSN -chrysotherapy:KRS0:KRST -churchmanship:XRXM:XRKM -churchwardens:XRXR:XRKR -chylangiomata:XLNJ:XLNK -chylification:XLFK:XLFK -chylothoraces:XL0R:XLTR -chylothoraxes:XL0R:XLTR -chymification:KMFK:KMFK -cicatrization:SKTR:SKTR -cinematheques:SNM0:SNMT -cinematically:SNMT:SNMT -cinematograph:SNMT:SNMT -cinquecentist:SNKS:SNKS -circularizers:SRKL:SRKL -circularizing:SRKL:SRKL -circumambient:SRKM:SRKM -circumcisions:SRKM:SRKM -circumcorneal:SRKM:SRKM -circumduction:SRKM:SRKM -circumference:SRKM:SRKM -circumflexion:SRKM:SRKM -circumfluence:SRKM:SRKM -circuminsular:SRKM:SRKM -circumnutated:SRKM:SRKM -circumnutates:SRKM:SRKM -circumscribed:SRKM:SRKM -circumscriber:SRKM:SRKM -circumscribes:SRKM:SRKM -circumspectly:SRKM:SRKM -circumstanced:SRKM:SRKM -circumstances:SRKM:SRKM -circumvallate:SRKM:SRKM -circumventers:SRKM:SRKM -circumventing:SRKM:SRKM -circumvention:SRKM:SRKM -circumventive:SRKM:SRKM -circumventors:SRKM:SRKM -circunfusions:SRKN:SRKN -cirrostrative:SRST:SRST -civilianizing:SFLN:SFLN -civilizations:SFLS:SFLS -clairaudience:KLRT:KLRT -clairaudients:KLRT:KLRT -clairvoyances:KLRF:KLRF -clairvoyantly:KLRF:KLRF -clamorousness:KLMR:KLMR -clandestinely:KLNT:KLNT -clandestinity:KLNT:KLNT -clangourously:KLNK:KLNK -clarification:KLRF:KLRF -clarinettists:KLRN:KLRN -clasmatocytic:KLSM:KLSM -classicalists:KLSK:KLSK -classicalness:KLSK:KLSK -classlessness:KLSL:KLSL -claustrophobe:KLST:KLST -clavicembalos:KLFS:KLFS -clavichordist:KLFX:KLFK -clearheadedly:KLRT:KLRT -clearinghouse:KLRN:KLRN -cleidocranial:KLTK:KLTK -cleistogamous:KLST:KLST -climacterical:KLMK:KLMK -climactically:KLMK:KLMK -climatologist:KLMT:KLMT -clinometrical:KLNM:KLNM -clinopyroxene:KLNP:KLNP -clonorchiases:KLNR:KLNR -clonorchiasis:KLNR:KLNR -clonorchioses:KLNR:KLNR -clonorchiosis:KLNR:KLNR -clotheshorses:KL0X:KLTX -cloudlessness:KLTL:KLTL -coadjutresses:KTJT:KTJT -coagulability:KKLP:KKLP -coalitionists:KLXN:KLXN -coastguardmen:KSTK:KSTK -cobaltiferous:KPLT:KPLT -cobelligerent:KPLJ:KPLK -cocainization:KKNS:KKNS -cocarboxylase:KKRP:KKRP -coccobacillus:KKPS:KKPS -cochleariform:KKLR:KKLR -coconspirator:KKNS:KKNS -codeclination:KTKL:KTKL -codicological:KTKL:KTKL -codicologists:KTKL:KTKL -codifications:KTFK:KTFK -coeducational:KTKX:KTKX -coelenterates:KLNT:KLNT -coenzymatical:KNSM:KNSM -coessentially:KSNX:KSNX -coexecutrices:KKSK:KKSK -coextensively:KKST:KKST -cohabitations:KHPT:KHPT -colicinogenic:KLSN:KLSN -collaborating:KLPR:KLPR -collaboration:KLPR:KLPR -collaborative:KLPR:KLPR -collaborators:KLPR:KLPR -collaterality:KLTR:KLTR -collateralize:KLTR:KLTR -collectedness:KLKT:KLKT -collectivists:KLKT:KLKT -collectivized:KLKT:KLKT -collectivizes:KLKT:KLKT -collectorship:KLKT:KLKT -colloquialism:KLKL:KLKL -colocolostomy:KLKL:KLKL -colonizations:KLNS:KLNS -colorableness:KLRP:KLRP -colorfastness:KLRF:KLRF -colorimetries:KLRM:KLRM -colorlessness:KLRL:KLRL -colpoplasties:KLPP:KLPP -columniations:KLMN:KLMN -combativeness:KMPT:KMPT -combinability:KMPN:KMPN -combinational:KMPN:KMPN -combinatorial:KMPN:KMPN -combinatorics:KMPN:KMPN -comfortlessly:KMFR:KMFR -commandeering:KMNT:KMNT -commandership:KMNT:KMNT -commeasurable:KMSR:KMSR -commeasurably:KMSR:KMSR -commemorating:KMMR:KMMR -commemoration:KMMR:KMMR -commemorative:KMMR:KMMR -commemorators:KMMR:KMMR -commemoratory:KMMR:KMMR -commencements:KMNS:KMNS -commendations:KMNT:KMNT -commensurable:KMNS:KMNS -commensurably:KMNS:KMNS -commentations:KMNT:KMNT -commercialism:KMRS:KMRX -commercialist:KMRS:KMRX -commerciality:KMRS:KMRX -commercialize:KMRS:KMRX -commiserating:KMSR:KMSR -commiseration:KMSR:KMSR -commiserative:KMSR:KMSR -commiserators:KMSR:KMSR -commissariats:KMSR:KMSR -commissionary:KMSN:KMSN -commissioners:KMSN:KMSN -commissioning:KMSN:KMSN -commodataries:KMTT:KMTT -commonalities:KMNL:KMNL -commonwealths:KMNL:KMNL -communalistic:KMNL:KMNL -communalities:KMNL:KMNL -communalizing:KMNL:KMNL -communicantes:KMNK:KMNK -communicating:KMNK:KMNK -communication:KMNK:KMNK -communicative:KMNK:KMNK -communicators:KMNK:KMNK -communicatory:KMNK:KMNK -communistical:KMNS:KMNS -communitarian:KMNT:KMNT -communization:KMNS:KMNS -commutability:KMTP:KMTP -commutatively:KMTT:KMTT -commutativity:KMTT:KMTT -companionable:KMPN:KMPN -companionably:KMPN:KMPN -companionless:KMPN:KMPN -companionship:KMPN:KMPN -companionways:KMPN:KMPN -comparability:KMPR:KMPR -comparatively:KMPR:KMPR -compartmental:KMPR:KMPR -compartmented:KMPR:KMPR -compassionate:KMPS:KMPS -compatibility:KMPT:KMPT -compatriotism:KMPT:KMPT -compendiously:KMPN:KMPN -compensations:KMPN:KMPN -competentness:KMPT:KMPT -competitively:KMPT:KMPT -complacencies:KMPL:KMPL -complainingly:KMPL:KMPL -complaisantly:KMPL:KMPL -complementary:KMPL:KMPL -complementers:KMPL:KMPL -complementing:KMPL:KMPL -compliantness:KMPL:KMPL -complicatedly:KMPL:KMPL -complications:KMPL:KMPL -complimentary:KMPL:KMPL -complimenters:KMPL:KMPL -complimenting:KMPL:KMPL -componentwise:KMPN:KMPN -compositeness:KMPS:KMPS -compositional:KMPS:KMPS -compositorial:KMPS:KMPS -comprehenders:KMPR:KMPR -comprehending:KMPR:KMPR -comprehension:KMPR:KMPR -comprehensive:KMPR:KMPR -compressional:KMPR:KMPR -compressively:KMPR:KMPR -compromisable:KMPR:KMPR -compromission:KMPR:KMPR -compromitting:KMPR:KMPR -computability:KMPT:KMPT -computational:KMPT:KMPT -computerizing:KMPT:KMPT -computerworld:KMPT:KMPT -concatenating:KNKT:KNKT -concatenation:KNKT:KNKT -conceitedness:KNST:KNST -concelebrated:KNSL:KNSL -concelebrates:KNSL:KNSL -concentrating:KNSN:KNSN -concentration:KNSN:KNSN -concentrative:KNSN:KNSN -concentrators:KNSN:KNSN -concentricity:KNSN:KNSN -conceptualism:KNSP:KNSP -conceptualist:KNSP:KNSP -conceptualize:KNSP:KNSP -concernedness:KNSR:KNSR -concertmaster:KNSR:KNSR -concessionary:KNSS:KNSS -concessioners:KNSS:KNSS -conchological:KNXL:KNKL -conchologists:KNXL:KNKL -conciliations:KNSL:KNSL -concomitantly:KNKM:KNKM -concrescences:KNKR:KNKR -concretionary:KNKR:KNKR -concupiscence:KNKP:KNKP -concurrencies:KNKR:KNKR -condemnations:KNTM:KNTM -condensations:KNTN:KNTN -condescending:KNTS:KNTS -condescension:KNTS:KNTS -conditionally:KNTX:KNTX -conduciveness:KNTS:KNTS -conductorship:KNTK:KNTK -conductresses:KNTK:KNTK -condylomatous:KNTL:KNTL -condylotomies:KNTL:KNTL -confabulating:KNFP:KNFP -confabulation:KNFP:KNFP -confabulators:KNFP:KNFP -confabulatory:KNFP:KNFP -confectionary:KNFK:KNFK -confectioners:KNFK:KNFK -confectionery:KNFK:KNFK -confederacies:KNFT:KNFT -confederating:KNFT:KNFT -confederation:KNFT:KNFT -confederative:KNFT:KNFT -confessionals:KNFS:KNFS -confessionary:KNFS:KNFS -confidingness:KNFT:KNFT -configuration:KNFK:KNFK -configurative:KNFK:KNFK -confirmations:KNFR:KNFR -confirmedness:KNFR:KNFR -confiscations:KNFS:KNFS -conflagration:KNFL:KNFL -conflagrative:KNFL:KNFL -conflictingly:KNFL:KNFL -conformations:KNFR:KNFR -confraternity:KNFR:KNFR -confrontation:KNFR:KNFR -confucianists:KNFS:KNFX -confusability:KNFS:KNFS -congenialness:KNJN:KNKN -conglomerated:KNKL:KNKL -conglomerates:KNKL:KNKL -conglutinated:KNKL:KNKL -conglutinates:KNKL:KNKL -congratulated:KNKR:KNKR -congratulates:KNKR:KNKR -congratulator:KNKR:KNKR -congregations:KNKR:KNKR -congressional:KNKR:KNKR -congresswoman:KNKR:KNKR -congresswomen:KNKR:KNKR -congruousness:KNKR:KNKR -conjecturable:KNJK:KNJK -conjecturably:KNJK:KNJK -conjecturally:KNJK:KNJK -conjugalities:KNJK:KNJK -conjugateness:KNJK:KNJK -conjugational:KNJK:KNJK -conjunctivaes:KNJN:KNJN -conjunctively:KNJN:KNJN -connectedness:KNKT:KNKT -connotatively:KNTT:KNTT -conquistadors:KNKS:KNKS -consanguinity:KNSN:KNSN -conscientious:KNSN:KNSN -consciousness:KNSS:KNSS -conscriptions:KNSK:KNSK -consecrations:KNSK:KNSK -consecutively:KNSK:KNSK -consequential:KNSK:KNSK -conservancies:KNSR:KNSR -conservations:KNSR:KNSR -conservatives:KNSR:KNSR -conservatoire:KNSR:KNSR -considerately:KNST:KNST -consideration:KNST:KNST -consistencies:KNSS:KNSS -consolidating:KNSL:KNSL -consolidation:KNSL:KNSL -consolidative:KNSL:KNSL -consolidators:KNSL:KNSL -consonantally:KNSN:KNSN -conspicuously:KNSP:KNSP -constableship:KNST:KNST -constellating:KNST:KNST -constellation:KNST:KNST -constellatory:KNST:KNST -consternating:KNST:KNST -consternation:KNST:KNST -constituently:KNST:KNST -constitutions:KNST:KNST -constrainable:KNST:KNST -constrainedly:KNST:KNST -constrainment:KNST:KNST -constrictions:KNST:KNST -constringency:KNST:KNST -constructible:KNST:KNST -constructions:KNST:KNST -consuetudinal:KNST:KNST -consuetudines:KNST:KNST -consultancies:KNSL:KNSL -consultations:KNSL:KNSL -consummations:KNSM:KNSM -consumptively:KNSM:KNSM -containerized:KNTN:KNTN -containerizes:KNTN:KNTN -containership:KNTN:KNTN -contaminating:KNTM:KNTM -contamination:KNTM:KNTM -contaminative:KNTM:KNTM -contaminators:KNTM:KNTM -contemplating:KNTM:KNTM -contemplation:KNTM:KNTM -contemplative:KNTM:KNTM -contemplators:KNTM:KNTM -contemporises:KNTM:KNTM -contemporized:KNTM:KNTM -contemporizes:KNTM:KNTM -contentedness:KNTN:KNTN -contentiously:KNTN:KNTN -conterminally:KNTR:KNTR -contestations:KNTS:KNTS -contextualize:KNTK:KNTK -continentally:KNTN:KNTN -contingencies:KNTN:KNTN -contingentiam:KNTN:KNTN -continualness:KNTN:KNTN -continuations:KNTN:KNTN -contortedness:KNTR:KNTR -contortionist:KNTR:KNTR -contrabandage:KNTR:KNTR -contrabandist:KNTR:KNTR -contrabassist:KNTR:KNTR -contrabassoon:KNTR:KNTR -contraception:KNTR:KNTR -contraceptive:KNTR:KNTR -contractility:KNTR:KNTR -contractively:KNTR:KNTR -contractually:KNTR:KNTR -contradicente:KNTR:KNTR -contradicters:KNTR:KNTR -contradicting:KNTR:KNTR -contradiction:KNTR:KNTR -contradictive:KNTR:KNTR -contradictors:KNTR:KNTR -contradictory:KNTR:KNTR -contralateral:KNTR:KNTR -contrappostos:KNTR:KNTR -contrapuntist:KNTR:KNTR -contrarieties:KNTR:KNTR -contrastingly:KNTR:KNTR -contrastively:KNTR:KNTR -contravention:KNTR:KNTR -contrectation:KNTR:KNTR -contributable:KNTR:KNTR -contributions:KNTR:KNTR -controversial:KNTR:KNTR -controversies:KNTR:KNTR -controverters:KNTR:KNTR -controverting:KNTR:KNTR -convalescence:KNFL:KNFL -convalescents:KNFL:KNFL -conventiclers:KNFN:KNFN -conventionary:KNFN:KNFN -conventioneer:KNFN:KNFN -conventioners:KNFN:KNFN -conversations:KNFR:KNFR -conversazione:KNFR:KNFR -conversionary:KNFR:KNFR -convertaplane:KNFR:KNFR -convertiplane:KNFR:KNFR -convertoplane:KNFR:KNFR -convincements:KNFN:KNFN -convivialists:KNFF:KNFF -convocational:KNFK:KNFK -convolutional:KNFL:KNFL -convolvuluses:KNFL:KNFL -convulsionary:KNFL:KNFL -cooperatively:KPRT:KPRT -cooperativity:KPRT:KPRT -coordinations:KRTN:KRTN -coparcenaries:KPRS:KPRS -copartnership:KPRT:KPRT -copolymerized:KPLM:KPLM -copolymerizes:KPLM:KPLM -coprolagnists:KPRL:KPRL -coprophagists:KPRF:KPRF -copyrightable:KPRT:KPRT -coracohumeral:KRKH:KRKH -coreferential:KRFR:KRFR -coreligionist:KRLJ:KRLK -corespondents:KRSP:KRSP -cornification:KRNF:KRNF -corporalships:KRPR:KRPR -corporealness:KRPR:KRPR -correlational:KRLX:KRLX -correlatively:KRLT:KRLT -correlativity:KRLT:KRLT -correspondent:KRSP:KRSP -corresponding:KRSP:KRSP -corrigibility:KRJP:KRKP -corroborating:KRPR:KRPR -corroboration:KRPR:KRPR -corroborative:KRPR:KRPR -corroborators:KRPR:KRPR -corroboratory:KRPR:KRPR -corrodibility:KRTP:KRTP -corrosiveness:KRSF:KRSF -corruptionist:KRPX:KRPX -corticospinal:KRTK:KRTK -corticotropin:KRTK:KRTK -cosignatories:KSNT:KSKN -cosmetologist:KSMT:KSMT -cosmochemical:KSMX:KSMK -cosmographers:KSMK:KSMK -cosmopolitans:KSMP:KSMP -cosponsorship:KSPN:KSPN -costermongers:KSTR:KSTR -costochondral:KSTX:KSTK -costocoracoid:KSTK:KSTK -costoscapular:KSTS:KSTS -cottonmouthes:KTNM:KTNM -counselorship:KNSL:KNSL -countenancing:KNTN:KNTN -counteracting:KNTR:KNTR -counteraction:KNTR:KNTR -counteractive:KNTR:KNTR -counterattack:KNTR:KNTR -counterblasts:KNTR:KNTR -countercharge:KNTR:KNTR -counterchecks:KNTR:KNTR -counterclaims:KNTR:KNTR -counterfeited:KNTR:KNTR -counterfeiter:KNTR:KNTR -counterfeitly:KNTR:KNTR -countermanded:KNTR:KNTR -countermining:KNTR:KNTR -counteroffers:KNTR:KNTR -counterphobic:KNTR:KNTR -counterpoints:KNTR:KNTR -counterpoised:KNTR:KNTR -counterpoises:KNTR:KNTR -counterproofs:KNTR:KNTR -counterscarps:KNTR:KNTR -countershafts:KNTR:KNTR -countersigned:KNTR:KNTR -counterstroke:KNTR:KNTR -countertenors:KNTR:KNTR -countervailed:KNTR:KNTR -counterweighs:KNTR:KNTR -counterweight:KNTR:KNTR -counterworker:KNTR:KNTR -courteousness:KRTS:KRTS -craftsmanship:KRFT:KRFT -craniectomies:KRNK:KRNK -craniological:KRNL:KRNL -craniologists:KRNL:KRNL -craniometries:KRNM:KRNM -craniometrist:KRNM:KRNM -craniopathies:KRNP:KRNP -cranioschises:KRNX:KRNX -cranioschisis:KRNX:KRNX -cranioscopies:KRNS:KRNS -crapulousness:KRPL:KRPL -creationistic:KRXN:KRXN -credibilities:KRTP:KRTP -creditability:KRTT:KRTT -credulousness:KRTL:KRTL -crestfallenly:KRST:KRST -criminalistic:KRMN:KRMN -criminalities:KRMN:KRMN -criminologies:KRMN:KRMN -criminologist:KRMN:KRMN -crisscrossing:KRSK:KRSK -criticizingly:KRTS:KRTS -crossbreeding:KRSP:KRSP -crosschecking:KRSX:KRSK -crosscurrents:KRSK:KRSK -crossexamined:KRSK:KRSK -crossexamines:KRSK:KRSK -crosshatching:KRSX:KRSX -crotchetiness:KRXT:KRXT -cruiserweight:KRSR:KRSR -cryanesthesia:KRNS:KRNS -cryobiologies:KRPL:KRPL -cryobiologist:KRPL:KRPL -cryogenically:KRJN:KRKN -cryotherapies:KR0R:KRTR -cryptanalyses:KRPT:KRPT -cryptanalysis:KRPT:KRPT -cryptanalysts:KRPT:KRPT -cryptanalytic:KRPT:KRPT -cryptesthesia:KRPT:KRPT -cryptoclastic:KRPT:KRPT -cryptogamists:KRPT:KRPT -cryptogenetic:KRPT:KRPT -cryptographer:KRPT:KRPT -cryptographic:KRPT:KRPT -cryptologists:KRPT:KRPT -cryptopyrrole:KRPT:KRPT -cryptoxanthin:KRPT:KRPT -crystallinity:KRST:KRST -crystallizers:KRST:KRST -crystallizing:KRST:KRST -crystallogram:KRST:KRST -crystalloidal:KRST:KRST -culdocenteses:KLTS:KLTS -culdocentesis:KLTS:KLTS -cultivability:KLTF:KLTF -cumulostratus:KMLS:KMLS -cunnilinguism:KNLN:KNLN -curvilinearly:KRFL:KRFL -custodianship:KSTT:KSTT -customariness:KSTM:KSTM -customization:KSTM:KSTM -customshouses:KSTM:KSTM -cuticularized:KTKL:KTKL -cyanoacrylate:SNKR:SNKR -cybercultural:SPRK:SPRK -cybernetician:SPRN:SPRN -cyberneticist:SPRN:SPRN -cyclarthroses:SKLR:SKLR -cyclarthrosis:SKLR:SKLR -cyclicotomies:SKLK:SKLK -cyclodialyses:SKLT:SKLT -cyclodialysis:SKLT:SKLT -cycloheximide:SKLH:SKLH -cylindrically:SLNT:SLNT -cymbocephalic:SMPS:SMPS -cynanthropies:SNN0:SNNT -cystadenomata:SSTT:SSTT -cystathionine:SST0:SSTT -cysticercoses:SSTS:SSTS -cysticercosis:SSTS:SSTS -cystographies:SSTK:SSTK -cystoplasties:SSTP:SSTP -cystopyelitis:SSTP:SSTP -cystosarcomas:SSTS:SSTS -cystoscopists:SSTS:SSTS -cytochemistry:STXM:STKM -cytodiagnoses:STTN:STTK -cytodiagnosis:STTN:STTK -cytogenetical:STJN:STKN -cytologically:STLJ:STLK -cytopathology:STP0:STPT -cytoplasmical:STPL:STPL -cytotaxonomic:STTK:STTK -czechoslovaks:SXSL:XKSL -dacryadenitis:TKRT:TKRT -dactylography:TKTL:TKTL -dactylologies:TKTL:TKTL -dactyloscopic:TKTL:TKTL -dadaistically:TTST:TTST -daguerreotype:TKRT:TKRT -daguerreotypy:TKRT:TKRT -daguerrotypes:TKRT:TKRT -damageability:TMJP:TMKP -damnabilities:TMNP:TMNP -damnification:TMNF:TMNF -dandification:TNTF:TNTF -dangerousness:TNJR:TNKR -dastardliness:TSTR:TSTR -dauntlessness:TNTL:TNTL -deaccessioned:TXSN:TXSN -deactivations:TKTF:TKTF -deaminization:TMNS:TMNS -deathlessness:T0LS:TTLS -debauchedness:TPXT:TPKT -debenturehold:TPNT:TPNT -debilitations:TPLT:TPLT -decaffeinated:TKFN:TKFN -decaffeinates:TKFN:TKFN -decalcomanias:TKLK:TKLK -decamethonium:TKM0:TKMT -decapitations:TKPT:TKPT -decapsulating:TKPS:TKPS -decapsulation:TKPS:TKPS -decarbonating:TKRP:TKRP -decarbonation:TKRP:TKRP -decarbonators:TKRP:TKRP -decarbonizers:TKRP:TKRP -decarbonizing:TKRP:TKRP -decarboxylase:TKRP:TKRP -decarboxylate:TKRP:TKRP -decarburizing:TKRP:TKRP -decartelizing:TKRT:TKRT -decasyllables:TKSL:TKSL -deceitfulness:TSTF:TSTF -deceivability:TSFP:TSFP -decelerations:TSLR:TSLR -decentralists:TSNT:TSNT -decentralized:TSNT:TSNT -decentralizes:TSNT:TSNT -deceptiveness:TSPT:TSPT -decerebrating:TSRP:TSRP -decerebration:TSRP:TSRP -dechlorinated:TKLR:TKLR -deciduousness:TSTS:TSTS -declamatorily:TKLM:TKLM -declaratively:TKLR:TKLR -declaratorily:TKLR:TKLR -declassifying:TKLS:TKLS -declinational:TKLN:TKLN -decolourisers:TKLR:TKLR -decolourising:TKLR:TKLR -decommissions:TKMS:TKMS -decompensated:TKMP:TKMP -decompensates:TKMP:TKMP -decomposition:TKMP:TKMP -decompressing:TKMP:TKMP -decompression:TKMP:TKMP -decompressive:TKMP:TKMP -decongestants:TKNJ:TKNK -deconsecrated:TKNS:TKNS -deconsecrates:TKNS:TKNS -decontaminant:TKNT:TKNT -decontaminate:TKNT:TKNT -decontrolling:TKNT:TKNT -decorticating:TKRT:TKRT -decortication:TKRT:TKRT -decorticators:TKRT:TKRT -decrepitating:TKRP:TKRP -decrepitation:TKRP:TKRP -decriminalize:TKRM:TKRM -deducibleness:TTSP:TTSP -deductability:TTKT:TTKT -deductibility:TTKT:TTKT -deemphasizing:TMFS:TMFS -deemsterships:TMST:TMST -deescalations:TSKL:TSKL -defeasibility:TFSP:TFSP -defectiveness:TFKT:TFKT -defencelessly:TFNS:TFNS -defenestrated:TFNS:TFNS -defenestrates:TFNS:TFNS -defenselessly:TFNS:TFNS -defensibility:TFNS:TFNS -defensiveness:TFNS:TFNS -deferentially:TFRN:TFRN -defervescence:TFRF:TFRF -defibrillated:TFPR:TFPR -defibrillates:TFPR:TFPR -defibrillator:TFPR:TFPR -defibrinating:TFPR:TFPR -defibrination:TFPR:TFPR -deflagrations:TFLK:TFLK -deflationists:TFLX:TFLX -deflocculated:TFLK:TFLK -deflocculates:TFLK:TFLK -deflorescence:TFLR:TFLR -deforestation:TFRS:TFRS -deformability:TFRM:TFRM -deganglionate:TKNK:TKNL -degenerations:TJNR:TKNR -deglutinating:TKLT:TKLT -deglutination:TKLT:TKLT -degradability:TKRT:TKRT -degradingness:TKRT:TKRT -degranulation:TKRN:TKRN -dehumidifiers:THMT:THMT -dehumidifying:THMT:THMT -dehydroacetic:THTR:THTR -dehydrocholic:THTR:THTR -dehydrogenase:THTR:THTR -dehydrogenate:THTR:THTR -dehydrogenize:THTR:THTR -dehypnotizing:THPN:THPN -deionizations:TNSX:TNSX -delectability:TLKT:TLKT -deleteriously:TLTR:TLTR -deliberations:TLPR:TLPR -delicatessens:TLKT:TLKT -deliciousness:TLSS:TLXS -delightedness:TLTT:TLTT -delimitations:TLMT:TLMT -delinquencies:TLNK:TLNK -deliquescence:TLKS:TLKS -delirifacient:TLRF:TLRF -deliriousness:TLRS:TLRS -delitescences:TLTS:TLTS -deltiologists:TLTL:TLTL -demagnetizers:TMNT:TMKN -demagnetizing:TMNT:TMKN -demagogically:TMKJ:TMKK -demasculinize:TMSK:TMSK -dematerialize:TMTR:TMTR -demeritorious:TMRT:TMRT -demigoddesses:TMKT:TMKT -demilitarized:TMLT:TMLT -demilitarizes:TMLT:TMLT -demimondaines:TMMN:TMMN -demineralized:TMNR:TMNR -demineralizes:TMNR:TMNR -demipenniform:TMPN:TMPN -demiurgically:TMRJ:TMRK -democratizing:TMKR:TMKR -demodulations:TMTL:TMTL -demographical:TMKR:TMKR -demolishments:TMLX:TMLX -demolitionist:TMLX:TMLX -demonetarises:TMNT:TMNT -demonetarized:TMNT:TMNT -demonetarizes:TMNT:TMNT -demonological:TMNL:TMNL -demonologists:TMNL:TMNL -demonstrating:TMNS:TMNS -demonstration:TMNS:TMNS -demonstrative:TMNS:TMNS -demonstrators:TMNS:TMNS -dempsterships:TMPS:TMPS -demultiplexes:TMLT:TMLT -demyelinating:TMLN:TMLN -demyelination:TMLN:TMLN -demythologize:TM0L:TMTL -denarcotizing:TNRK:TNRK -denationalize:TNXN:TNXN -denaturalized:TNTR:TNTR -denaturalizes:TNTR:TNTR -dendritically:TNTR:TNTR -dendrological:TNTR:TNTR -dendrologists:TNTR:TNTR -denicotinized:TNKT:TNKT -denicotinizes:TNKT:TNKT -denominations:TNMN:TNMN -denouncements:TNNS:TNNS -densitometric:TNST:TNST -denticulately:TNTK:TNTK -denticulation:TNTK:TNTK -dentoalveolar:TNTL:TNTL -denuclearized:TNKL:TNKL -denuclearizes:TNKL:TNKL -denunciations:TNNS:TNNX -deodorization:TTRS:TTRS -deontological:TNTL:TNTL -deontologists:TNTL:TNTL -deoxidization:TKST:TKST -deoxygenating:TKSJ:TKSK -deoxygenation:TKSJ:TKSK -depancreatize:TPNK:TPNK -dependability:TPNT:TPNT -depersonalize:TPRS:TPRS -deplorability:TPLR:TPLR -depoliticized:TPLT:TPLT -depoliticizes:TPLT:TPLT -depolymerises:TPLM:TPLM -depolymerized:TPLM:TPLM -depolymerizes:TPLM:TPLM -depopulations:TPPL:TPPL -deportability:TPRT:TPRT -deprecatingly:TPRK:TPRK -deprecatively:TPRK:TPRK -deprecatorily:TPRK:TPRK -depreciations:TPRS:TPRX -depressionary:TPRS:TPRS -depressomotor:TPRS:TPRS -depressurises:TPRS:TPRS -depressurized:TPRS:TPRS -depressurizes:TPRS:TPRS -deprogrammers:TPRK:TPRK -deprogramming:TPRK:TPRK -deracinations:TRSN:TRSN -derealization:TRLS:TRLS -deregistering:TRJS:TRKS -deregulations:TRKL:TRKL -derelinquendi:TRLN:TRLN -derencephalus:TRNS:TRNS -derequisition:TRKS:TRKS -derestricting:TRST:TRST -derestriction:TRST:TRST -dermatocrania:TRMT:TRMT -dermatography:TRMT:TRMT -dermatologies:TRMT:TRMT -dermatologist:TRMT:TRMT -dermatomegaly:TRMT:TRMT -dermatomyomas:TRMT:TRMT -dermatopathia:TRMT:TRMT -dermatopathic:TRMT:TRMT -dermatophytes:TRMT:TRMT -dermatophytid:TRMT:TRMT -dermatoplasty:TRMT:TRMT -dermatotropic:TRMT:TRMT -dermographies:TRMK:TRMK -dermographism:TRMK:TRMK -dermoidectomy:TRMT:TRMT -dermolipomata:TRML:TRML -dermoskeleton:TRMS:TRMS -dermostenoses:TRMS:TRMS -dermostenosis:TRMS:TRMS -descemetocele:TSMT:TSMT -descriptively:TSKP:TSKP -descriptivism:TSKP:TSKP -descriptivist:TSKP:TSKP -desegregating:TSKR:TSKR -desegregation:TSKR:TSKR -desensitizers:TSNS:TSNS -desensitizing:TSNS:TSNS -deservingness:TSRF:TSRF -desexualizing:TSKS:TSKS -desideratives:TSTR:TSTR -desirableness:TSRP:TSRP -desmocraniums:TSMK:TSMK -desperateness:TSPR:TSPR -despicability:TSPK:TSPK -despoliations:TSPL:TSPL -despondencies:TSPN:TSPN -dessertspoons:TSRT:TSRT -destabilizing:TSTP:TSTP -desthiobiotin:TS0P:TSTP -destituteness:TSTT:TSTT -destructively:TSTR:TSTR -destructivity:TSTR:TSTR -desuetoriness:TSTR:TSTR -desulphurises:TSLF:TSLF -desulphurized:TSLF:TSLF -desulphurizer:TSLF:TSLF -desultoriness:TSLT:TSLT -detachability:TTKP:TTKP -deteriorating:TTRR:TTRR -deterioration:TTRR:TTRR -deteriorative:TTRR:TTRR -determinately:TTRM:TTRM -determination:TTRM:TTRM -determinative:TTRM:TTRM -deterministic:TTRM:TTRM -detestability:TTST:TTST -dethronements:T0RN:TTRN -detribalizing:TTRP:TTRP -detrimentally:TTRM:TTRM -detruncations:TTRN:TTRN -deturgescence:TTRJ:TTRK -deuteragonist:TTRK:TTRK -deuteranomaly:TTRN:TTRN -deuterogamies:TTRK:TTRK -deuterogamist:TTRK:TTRK -deuteronomist:TTRN:TTRN -deuterotokies:TTRT:TTRT -devastatingly:TFST:TFST -developmental:TFLP:TFLP -deviationists:TFXN:TFXN -devirginating:TFRJ:TFRK -devirginizing:TFRJ:TFRK -devolutionary:TFLX:TFLX -devolutionist:TFLX:TFLX -devotionalism:TFXN:TFXN -devotionalist:TFXN:TFXN -devotionality:TFXN:TFXN -dexamethasone:TKSM:TKSM -dexterousness:TKST:TKST -dextrinogenic:TKST:TKST -dextrocardial:TKST:TKST -dextroduction:TKST:TKST -dextroglucose:TKST:TKST -dextrotorsion:TKST:TKST -dextroversion:TKST:TKST -diacritically:TKRT:TKRT -diagnostician:TNST:TKNS -dialectically:TLKT:TLKT -dialecticians:TLKT:TLKT -dialogistical:TLJS:TLKS -dialysability:TLSP:TLSP -diametrically:TMTR:TMTR -diaphanoscope:TFNS:TFNS -diaphanoscopy:TFNS:TFNS -diaphragmatic:TFRK:TFRK -diaphysectomy:TFSK:TFSK -diathermanous:T0RM:TTRM -dichlorhydrin:TXLR:TKLR -dichloroethyl:TXLR:TKLR -dichotomizing:TXTM:TKTM -dichotomously:TXTM:TKTM -diclidotomies:TKLT:TKLT -dictatorially:TKTT:TKTT -dictatorships:TKTT:TKTT -dieffenbachia:TFNP:TFNP -differentials:TFRN:TFRN -differentiate:TFRN:TFRN -differentness:TFRN:TFRN -diffractively:TFRK:TFRK -diffusibility:TFSP:TFSP -diffusiveness:TFSF:TFSF -digestibility:TJST:TKST -digestiveness:TJST:TKST -digitizations:TJTS:TKTS -digitoxigenin:TJTK:TKTK -dignifiedness:TNFT:TKNF -dilatableness:TLTP:TLTP -dillydallying:TLTL:TLTL -dimensionally:TMNS:TMNX -dimensionless:TMNS:TMNX -diminishingly:TMNX:TMNX -diminishments:TMNX:TMNX -dimwittedness:TMTT:TMTT -dinitrophenol:TNTR:TNTR -dioeciousness:TSSN:TXSN -diphenylamine:TFNL:TFNL -diphthongises:TF0N:TFTN -diphthongized:TF0N:TFTN -diphthongizes:TF0N:TFTN -diplobacillus:TPLP:TPLP -diplomatising:TPLM:TPLM -dipsomaniacal:TPSM:TPSM -directionally:TRKX:TRKX -directorially:TRKT:TRKT -directorships:TRKT:TRKT -disaccharides:TSXR:TSXR -disaccredited:TSKR:TSKR -disaccustomed:TSKS:TSKS -disadvantaged:TSTF:TSTF -disadvantages:TSTF:TSTF -disaffectedly:TSFK:TSFK -disaffections:TSFK:TSFK -disaffiliated:TSFL:TSFL -disaffiliates:TSFL:TSFL -disaffirmance:TSFR:TSFR -disafforested:TSFR:TSFR -disaggregated:TSKR:TSKR -disagreements:TSKR:TSKR -disallowances:TSLN:TSLN -disambiguated:TSMP:TSMP -disambiguates:TSMP:TSMP -disannexation:TSNK:TSNK -disannulments:TSNL:TSNL -disappearance:TSPR:TSPR -disappointing:TSPN:TSPN -disarticulate:TSRT:TSRT -disassemblies:TSSM:TSSM -disassembling:TSSM:TSSM -disassimilate:TSSM:TSSM -disassociated:TSSS:TSSX -disassociates:TSSS:TSSX -disburdenment:TSPR:TSPR -disbursements:TSPR:TSPR -dischargeable:TXRJ:TXRK -discipleships:TSPL:TSPL -disciplinable:TSPL:TSPL -disciplinants:TSPL:TSPL -disclamations:TSKM:TSKM -discoblastula:TSKP:TSKP -discogastrula:TSKK:TSKK -discographers:TSKK:TSKK -discographies:TSKK:TSKK -discoloration:TSKL:TSKL -discomfitures:TSKM:TSKM -discomforting:TSKM:TSKM -discommodious:TSKM:TSKM -discomposedly:TSKM:TSKM -disconcerting:TSKN:TSKN -disconcertion:TSKN:TSKN -disconfirming:TSKN:TSKN -disconformity:TSKN:TSKN -disconnecters:TSKN:TSKN -disconnecting:TSKN:TSKN -disconnection:TSKN:TSKN -discontenting:TSKN:TSKN -discontinuers:TSKN:TSKN -discontinuing:TSKN:TSKN -discontinuity:TSKN:TSKN -discontinuous:TSKN:TSKN -discoplacenta:TSKP:TSKP -discordancies:TSKR:TSKR -discourtesies:TSKR:TSKR -discreditable:TSKT:TSKT -discreditably:TSKT:TSKT -discrepancies:TSKP:TSKP -discretionary:TSKX:TSKX -discriminants:TSKM:TSKM -discriminated:TSKM:TSKM -discriminates:TSKM:TSKM -discriminator:TSKM:TSKM -disembarkment:TSMP:TSMP -disembodiment:TSMP:TSMP -disemboweling:TSMP:TSMP -disembroiling:TSMP:TSMP -disemployment:TSMP:TSMP -disenablement:TSNP:TSNP -disenchanters:TSNX:TSNK -disenchanting:TSNX:TSNK -disencumbered:TSNK:TSNK -disendowments:TSNT:TSNT -disengagement:TSNK:TSNK -disentailment:TSNT:TSNT -disentangling:TSNT:TSNT -disenthralled:TSN0:TSNT -disentombment:TSNT:TSNT -disequilibria:TSKL:TSKL -disfiguration:TSFK:TSFK -disfigurement:TSFK:TSFK -disfiguringly:TSFK:TSFK -disfranchised:TSFR:TSFR -disfranchiser:TSFR:TSFR -disfranchises:TSFR:TSFR -disgorgements:TSKR:TSKR -disgracefully:TSKR:TSKR -disguisements:TSKS:TSKS -disgustedness:TSKS:TSKS -disharmonious:TXRM:TXRM -disheartening:TXRT:TXRT -dishevelments:TXFL:TXFL -disillusioned:TSLS:TSLX -disincentives:TSNS:TSNS -disinfectants:TSNF:TSNF -disinfections:TSNF:TSNF -disinfestants:TSNF:TSNF -disinheriting:TSNR:TSNR -disinhibition:TSNP:TSNP -disintegrable:TSNT:TSNT -disintegrated:TSNT:TSNT -disintegrates:TSNT:TSNT -disintegrator:TSNT:TSNT -disinterested:TSNT:TSNT -disintoxicate:TSNT:TSNT -disinvestment:TSNF:TSNF -disjunctively:TSNK:TSNK -dislodgements:TLJM:TLJM -dismantlement:TSMN:TSMN -dismemberment:TSMM:TSMM -dismortgaging:TSMR:TSMR -disobediently:TSPT:TSPT -disobligingly:TSPL:TSPL -disorganizers:TSRK:TSRK -disorganizing:TSRK:TSRK -disorientated:TSRN:TSRN -disorientates:TSRN:TSRN -disparagement:TSPR:TSPR -disparagingly:TSPR:TSPR -disparateness:TSPR:TSPR -dispassionate:TSPS:TSPS -dispensations:TSPN:TSPN -dispiritingly:TSPR:TSPR -displacements:TSPL:TSPL -displeasingly:TSPL:TSPL -disposability:TSPS:TSPS -dispositional:TSPS:TSPS -dispossessing:TSPS:TSPS -dispossession:TSPS:TSPS -dispossessors:TSPS:TSPS -dispossessory:TSPS:TSPS -disproportion:TSPR:TSPR -disputability:TSPT:TSPT -disputatively:TSPT:TSPT -disqualifiers:TSKL:TSKL -disqualifying:TSKL:TSKL -disquietingly:TSKT:TSKT -disquisitions:TSKS:TSKS -disrespectful:TSRS:TSRS -disrespecting:TSRS:TSRS -dissatisfying:TSTS:TSTS -dissemblingly:TSMP:TSMP -disseminating:TSMN:TSMN -dissemination:TSMN:TSMN -disseminative:TSMN:TSMN -disseminators:TSMN:TSMN -dissentientes:TSNT:TSNT -dissentiently:TSNT:TSNT -dissepimental:TSPM:TSPM -dissertations:TSRT:TSRT -disseveration:TSFR:TSFR -dissimilarity:TSML:TSML -dissimilating:TSML:TSML -dissimilation:TSML:TSML -dissimilative:TSML:TSML -dissimilatory:TSML:TSML -dissimilitude:TSML:TSML -dissimulating:TSML:TSML -dissimulation:TSML:TSML -dissimulative:TSML:TSML -dissimulators:TSML:TSML -dissociations:TSSX:TSXX -dissoluteness:TSLT:TSLT -distastefully:TSTS:TSTS -distillations:TSTL:TSTL -distinctively:TSTN:TSTN -distinguished:TSTN:TSTN -distinguisher:TSTN:TSTN -distinguishes:TSTN:TSTN -distractingly:TSTR:TSTR -distractively:TSTR:TSTR -distrainments:TSTR:TSTR -distressfully:TSTR:TSTR -distressingly:TSTR:TSTR -distributable:TSTR:TSTR -distributions:TSTR:TSTR -distritbuting:TSTR:TSTR -distrustfully:TSTR:TSTR -distrustingly:TSTR:TSTR -dittographies:TTKR:TTKR -divarications:TFRK:TFRK -diversifiable:TFRS:TFRS -diversifiably:TFRS:TFRS -diversionists:TFRS:TFRX -divisibleness:TFSP:TFSP -doctrinairian:TKTR:TKTR -doctrinairism:TKTR:TKTR -doctrinarians:TKTR:TKTR -documentaries:TKMN:TKMN -documentarily:TKMN:TKMN -documentation:TKMN:TKMN -dodecahedrons:TTKH:TTKH -dogmatization:TKMT:TKMT -dolichofacial:TLXF:TLKF -dolichopellic:TLXP:TLKP -dolichouranic:TLXR:TLKR -dolorimetries:TLRM:TLRM -dolphinariums:TLFN:TLFN -domesticating:TMST:TMST -domestication:TMST:TMST -domesticative:TMST:TMST -domesticators:TMST:TMST -domesticities:TMST:TMST -domiciliating:TMSL:TMSL -domiciliation:TMSL:TMSL -domineeringly:TMNR:TMNR -dorsocephalad:TRSS:TRSS -dosemetrician:TSMT:TSMT -dosimetrician:TSMT:TSMT -doubleheaders:TPLH:TPLH -doubtlessness:TPTL:TPTL -downheartedly:TNRT:TNRT -downrightness:TNRT:TNRT -doxologically:TKSL:TKSL -dracunculoses:TRKN:TRKN -dracunculosis:TRKN:TRKN -draftsmanship:TRFT:TRFT -dramatization:TRMT:TRMT -dramaturgical:TRMT:TRMT -dramaturgists:TRMT:TRMT -draughtboards:TRFT:TRFT -draughtswoman:TRFT:TRFT -draughtswomen:TRFT:TRFT -dreamlessness:TRML:TRML -dualistically:TLST:TLST -dulcification:TLSF:TLSF -duplicability:TPLK:TPLK -dynamogeneses:TNMJ:TNMK -dynamogenesis:TNMJ:TNMK -dynamometries:TNMM:TNMM -dysadaptation:TSTP:TSTP -dysfunctional:TSFN:TSFN -dysgerminomas:TSKR:TSJR -dysmenorrheal:TSMN:TSMN -dysmenorrheic:TSMN:TSMN -dysmenorrhoea:TSMN:TSMN -dyspeptically:TSPP:TSPP -easygoingness:ASKN:ASKN -eavesdroppers:AFST:AFST -eavesdropping:AFST:AFST -eccentrically:AXNT:AXNT -ecclesiastics:AKLS:AKLX -ecclesiolator:AKLS:AKLX -ecclesiolatry:AKLS:AKLX -eccremocarpus:AKRM:AKRM -eccrinologies:AKRN:AKRN -echinodermata:AXNT:AKNT -econometrical:AKNM:AKNM -economization:AKNM:AKNM -ectogenically:AKTJ:AKTK -ectoparasites:AKTP:AKTP -ectoparasitic:AKTP:AKTP -ectoplacental:AKTP:AKTP -ectoplasmatic:AKTP:AKTP -ectrodactylia:AKTR:AKTR -ecumenicalism:AKMN:AKMN -editorialists:ATTR:ATTR -editorialized:ATTR:ATTR -editorializer:ATTR:ATTR -editorializes:ATTR:ATTR -educatability:ATKT:ATKT -educationally:ATKX:ATKX -effectiveness:AFKT:AFKT -effervescence:AFRF:AFRF -effervescible:AFRF:AFRF -efficaciously:AFKS:AFKX -efflorescence:AFLR:AFLR -egocentricity:AKSN:AKSN -egomaniacally:AKMN:AKMN -egotistically:AKTS:AKTS -egregiousness:AKRJ:AKRK -egyptological:AJPT:AKPT -egyptologists:AJPT:AKPT -eigenfunction:AJNF:AKNF -elaborateness:ALPR:ALPR -electioneered:ALKX:ALKX -electrifiable:ALKT:ALKT -electrocuting:ALKT:ALKT -electrocution:ALKT:ALKT -electrodermal:ALKT:ALKT -electroformed:ALKT:ALKT -electrographs:ALKT:ALKT -electrography:ALKT:ALKT -electrologist:ALKT:ALKT -electrolyzers:ALKT:ALKT -electrolyzing:ALKT:ALKT -electromagnet:ALKT:ALKT -electromerism:ALKT:ALKT -electrometric:ALKT:ALKT -electromotive:ALKT:ALKT -electronvolts:ALKT:ALKT -electroosmose:ALKT:ALKT -electrophiles:ALKT:ALKT -electrophilic:ALKT:ALKT -electrophones:ALKT:ALKT -electrophonic:ALKT:ALKT -electrophorus:ALKT:ALKT -electroplated:ALKT:ALKT -electroplater:ALKT:ALKT -electroplates:ALKT:ALKT -electroscopes:ALKT:ALKT -electroscopic:ALKT:ALKT -electroshocks:ALKT:ALKT -electrosmoses:ALKT:ALKT -electrosmosis:ALKT:ALKT -electrostatic:ALKT:ALKT -electrotypers:ALKT:ALKT -electrovalent:ALKT:ALKT -elephantiases:ALFN:ALFN -elephantiasic:ALFN:ALFN -elephantiasis:ALFN:ALFN -eliminability:ALMN:ALMN -elipticalness:ALPT:ALPT -elocutionists:ALKX:ALKX -emancipations:AMNS:AMNS -emasculations:AMSK:AMSK -embarrassedly:AMPR:AMPR -embarrassment:AMPR:AMPR -embellishment:AMPL:AMPL -embezzlements:AMPS:AMPS -embitterments:AMPT:AMPT -emblazonments:AMPL:AMPL -embolectomies:AMPL:AMPL -embolophrasia:AMPL:AMPL -embranchments:AMPR:AMPR -embranglement:AMPR:AMPR -embryectomies:AMPR:AMPR -embryogeneses:AMPR:AMPR -embryogenesis:AMPR:AMPR -embryogenetic:AMPR:AMPR -embryological:AMPR:AMPR -embryologists:AMPR:AMPR -embryonically:AMPR:AMPR -embryopathies:AMPR:AMPR -emotionalists:AMXN:AMXN -emotionalized:AMXN:AMXN -emotionalizes:AMXN:AMXN -emphysematous:AMFS:AMFS -empiricalness:AMPR:AMPR -employability:AMPL:AMPL -enanthematous:ANN0:ANNT -enantiomorphs:ANNT:ANNT -encaphalotomy:ANKF:ANKF -encapsulating:ANKP:ANKP -encapsulation:ANKP:ANKP -encaustically:ANKS:ANKS -encephalalgia:ANSF:ANSF -encephalocele:ANSF:ANSF -encephalogram:ANSF:ANSF -encephalomata:ANSF:ANSF -encephalomere:ANSF:ANSF -enchantresses:ANXN:ANKN -enchondromata:ANXN:ANKN -encipherments:ANSF:ANSF -encirclements:ANSR:ANSR -encompassment:ANKM:ANKM -encouragement:ANKR:ANKR -encouragingly:ANKR:ANKR -encroachingly:ANKR:ANKR -encroachments:ANKR:ANKR -encrustations:ANKR:ANKR -enculteration:ANKL:ANKL -encumberingly:ANKM:ANKM -encumbrancers:ANKM:ANKM -encyclopedias:ANSK:ANSK -encyclopedism:ANSK:ANSK -encyclopedist:ANSK:ANSK -endamagements:ANTM:ANTM -endangerments:ANTN:ANTN -endobronchial:ANTP:ANTP -endocrinology:ANTK:ANTK -endolymphatic:ANTL:ANTL -endometriomas:ANTM:ANTM -endometrioses:ANTM:ANTM -endometriosis:ANTM:ANTM -endomorphisms:ANTM:ANTM -endoparasites:ANTP:ANTP -endoparasitic:ANTP:ANTP -endopeptidase:ANTP:ANTP -endophlebitis:ANTF:ANTF -endopolyploid:ANTP:ANTP -endoskeletons:ANTS:ANTS -endotheliomas:ANT0:ANTT -endurableness:ANTR:ANTR -energetically:ANRK:ANRK -enfeeblements:ANFP:ANFP -enfranchising:ANFR:ANFR -engenderments:ANJN:ANKN -engraftations:ANKR:ANKR -engrainedness:ANKR:ANKR -enigmatically:ANKM:ANKM -enjoyableness:ANJP:ANJP -enlightenment:ANLT:ANLT -enshrinements:ANXR:ANXR -enswathements:ANS0:ANST -entamoebiases:ANTM:ANTM -entamoebiasis:ANTM:ANTM -entanglements:ANTN:ANTN -enterectomies:ANTR:ANTR -enterocoelous:ANTR:ANTR -enterocolitis:ANTR:ANTR -enterolithers:ANTR:ANTR -enteropathies:ANTR:ANTR -enterorrhagia:ANTR:ANTR -enterorrhaphy:ANTR:ANTR -enterostomies:ANTR:ANTR -enterotoxemia:ANTR:ANTR -enteroviruses:ANTR:ANTR -entertainment:ANTR:ANTR -enthrallingly:AN0R:ANTR -enthrallments:AN0R:ANTR -enthronements:AN0R:ANTR -entomological:ANTM:ANTM -entomologises:ANTM:ANTM -entomologists:ANTM:ANTM -entomologized:ANTM:ANTM -entomologizes:ANTM:ANTM -entomophagous:ANTM:ANTM -entomophilies:ANTM:ANTM -entomophilous:ANTM:ANTM -entomophthora:ANTM:ANTM -entomostracan:ANTM:ANTM -entrancements:ANTR:ANTR -entrenchments:ANTR:ANTR -entrepreneurs:ANTR:ANTR -enunciatively:ANNS:ANNX -environmental:ANFR:ANFR -envisagements:ANFS:ANFS -enzymatically:ANSM:ANSM -enzymological:ANSM:ANSM -enzymologists:ANSM:ANSM -eosinophilous:ASNF:ASNF -epanarthorsis:APNR:APNR -epanarthortic:APNR:APNR -epeirogenesis:APRJ:APRK -epeirogenetic:APRJ:APRK -ependymitides:APNT:APNT -eperythrozoon:APR0:APRT -ephemeralness:AFMR:AFMR -epicondylitis:APKN:APKN -epicoracoidal:APKR:APKR -epidemicities:APTM:APTM -epidemiologic:APTM:APTM -epidermolyses:APTR:APTR -epidermolysis:APTR:APTR -epiglottidean:APKL:APKL -epigrammatism:APKR:APKR -epigrammatist:APKR:APKR -epigrammatize:APKR:APKR -epilectically:APLK:APLK -epileptogenic:APLP:APLP -epiphenomenal:APFN:APFN -epiphenomenon:APFN:APFN -epiphytically:APFT:APFT -episcopalians:APSK:APSK -epistemically:APST:APST -epithalamiums:AP0L:APTL -epithelialize:AP0L:APTL -epitheliomata:AP0L:APTL -epitomization:APTM:APTM -epizootically:APST:APST -epizootiology:APST:APST -equalizations:AKLS:AKLS -equestrianism:AKST:AKST -equestriennes:AKST:AKST -equidistantly:AKTS:AKTS -equilaterally:AKLT:AKLT -equilibrating:AKLP:AKLP -equilibration:AKLP:AKLP -equilibrators:AKLP:AKLP -equilibristic:AKLP:AKLP -equimolecular:AKML:AKML -equipartition:AKPR:AKPR -equipollently:AKPL:AKPL -equiponderant:AKPN:AKPN -equiponderate:AKPN:AKPN -equipotential:AKPT:AKPT -equitableness:AKTP:AKTP -equivalencies:AKFL:AKFL -equivocalness:AKFK:AKFK -equivocations:AKFK:AKFK -ergatocracies:ARKT:ARKT -ergotherapies:ARK0:ARKT -ergothioneine:ARK0:ARKT -eroticization:ARTS:ARTS -erroneousness:ARNS:ARNS -erysipelatous:ARSP:ARSP -erythematosus:AR0M:ARTM -erythroblasts:AR0R:ARTR -erythrodermas:AR0R:ARTR -erythrodermia:AR0R:ARTR -erythrogonium:AR0R:ARTR -erythrophagia:AR0R:ARTR -erythroplasia:AR0R:ARTR -escapologists:ASKP:ASKP -eschatologist:AXTL:AXTL -eschscholtzia:AXXL:AXXL -esophagoscope:ASFK:ASFK -essentialists:ASNX:ASNX -essentialness:ASNX:ASNX -establishable:ASTP:ASTP -establishment:ASTP:ASTP -esthesiometry:AS0S:ASTX -estimableness:ASTM:ASTM -estrangements:ASTR:ASTR -estrinization:ASTR:ASTR -estrogenicity:ASTR:ASTR -etherealizing:A0RL:ATRL -ethmoturbinal:A0MT:ATMT -ethnocentrism:A0NS:ATNS -ethnographers:A0NK:ATNK -ethologically:A0LJ:ATLK -ethylmorphine:A0LM:ATLM -etiologically:ATLJ:ATLK -etioporphyrin:ATPR:ATPR -etymologizing:ATML:ATML -eucharistical:AXRS:AKRS -eudaemonistic:ATMN:ATMN -euphorbiacous:AFRP:AFRP -eurocommunism:ARKM:ARKM -eurocommunist:ARKM:ARKM -eurycephalous:ARSF:ARSF -eusporangiate:ASPR:ASPR -evangelically:AFNJ:AFNK -evaporability:AFPR:AFPR -eventualities:AFNT:AFNT -everlastingly:AFRL:AFRL -eviscerations:AFSR:AFSR -evocativeness:AFKT:AFKT -evolutionists:AFLX:AFLX -exacerbations:AKSS:AKSS -exaggeratedly:AKSK:AKSK -exaggerations:AKSK:AKSK -examinational:AKSM:AKSM -examinatorial:AKSM:AKSM -exanthematous:AKSN:AKSN -exasperatedly:AKSS:AKSS -exasperations:AKSS:AKSS -exceptionable:AKSP:AKSP -exceptionably:AKSP:AKSP -exceptionally:AKSP:AKSP -excessiveness:AKSS:AKSS -excitableness:AKST:AKST -exclamational:AKSL:AKSL -exclamatorily:AKSL:AKSL -exclusiveness:AKSL:AKSL -excogitations:AKSJ:AKSK -excommunicate:AKSM:AKSM -excrescencies:AKSR:AKSR -excrescential:AKSR:AKSR -excursionists:AKSR:AKSR -excursiveness:AKSR:AKSR -excusableness:AKSS:AKSS -execrableness:AKSK:AKSK -executorships:AKSK:AKSK -exemplariness:AKSM:AKSM -exemplifiable:AKSM:AKSM -exenterations:AKSN:AKSN -exhibitioners:AKSP:AKSP -exhibitionism:AKSP:AKSP -exhibitionist:AKSP:AKSP -existentially:AKSS:AKSS -exobiological:AKSP:AKSP -exobiologists:AKSP:AKSP -expansibility:AKSP:AKSP -expansionists:AKSP:AKSP -expansiveness:AKSP:AKSP -expatriations:AKSP:AKSP -expectorating:AKSP:AKSP -expectoration:AKSP:AKSP -expectorators:AKSP:AKSP -expeditionary:AKSP:AKSP -expeditiously:AKSP:AKSP -expendability:AKSP:AKSP -expensiveness:AKSP:AKSP -experimenters:AKSP:AKSP -experimenting:AKSP:AKSP -explanatorily:AKSP:AKSP -exploitations:AKSP:AKSP -explosiveness:AKSP:AKSP -exponentially:AKSP:AKSP -exponentiated:AKSP:AKSP -exponentiates:AKSP:AKSP -exportability:AKSP:AKSP -expostulating:AKSP:AKSP -expostulation:AKSP:AKSP -expostulative:AKSP:AKSP -expostulators:AKSP:AKSP -expostulatory:AKSP:AKSP -expressionism:AKSP:AKSP -expressionist:AKSP:AKSP -expropriating:AKSP:AKSP -expropriation:AKSP:AKSP -expropriators:AKSP:AKSP -expurgatorial:AKSP:AKSP -exquisiteness:AKSK:AKSK -exsanguinated:AKSS:AKSS -extemporarily:AKST:AKST -extemporizers:AKST:AKST -extemporizing:AKST:AKST -extendability:AKST:AKST -extendibility:AKST:AKST -extensibility:AKST:AKST -extensionally:AKST:AKST -extensiveness:AKST:AKST -exteriorizing:AKST:AKST -exterminating:AKST:AKST -extermination:AKST:AKST -exterminative:AKST:AKST -exterminators:AKST:AKST -exterminatory:AKST:AKST -externalizing:AKST:AKST -exteroceptive:AKST:AKST -exteroceptors:AKST:AKST -exterofective:AKST:AKST -exterritorial:AKST:AKST -extinguishant:AKST:AKST -extinguishers:AKST:AKST -extinguishing:AKST:AKST -extortionists:AKST:AKST -extracapsular:AKST:AKST -extracellular:AKST:AKST -extragalactic:AKST:AKST -extrajudicial:AKST:AKST -extraordinary:AKST:AKST -extrapolating:AKST:AKST -extrapolation:AKST:AKST -extrapolative:AKST:AKST -extrapolators:AKST:AKST -extrapolatory:AKST:AKST -extraposition:AKST:AKST -extravagances:AKST:AKST -extravagantly:AKST:AKST -extravaganzas:AKST:AKST -extravasating:AKST:AKST -extravasation:AKST:AKST -extravascular:AKST:AKST -extraversions:AKST:AKST -extrinsically:AKST:AKST -extrospection:AKST:AKST -eyedropperful:ATRP:ATRP -facetiousness:FSTS:FSTS -factionalists:FKXN:FKXN -factorability:FKTR:FKTR -factorization:FKTR:FKTR -facultatively:FKLT:FKLT -faithlessness:F0LS:FTLS -falsification:FLSF:FLSF -familiarities:FMLR:FMLR -familiarizers:FMLR:FMLR -familiarizing:FMLR:FMLR -fantastically:FNTS:FNTS -fasciculately:FSKL:FSKL -fasciculation:FSKL:FSKL -fasciectomies:FSKT:FSKT -fascinatingly:FSNT:FSNT -fascistically:FSST:FSST -fatiguability:FTKP:FTKP -faultlessness:FLTL:FLTL -favorableness:FFRP:FFRP -feasibilities:FSPL:FSPL -featherbedded:F0RP:FTRP -featherbrains:F0RP:FTRP -featherheaded:F0RT:FTRT -featherstitch:F0RS:FTRS -featherweight:F0RT:FTRT -felicitations:FLST:FLST -fellmongering:FLMN:FLMN -feloniousness:FLNS:FLNS -fennelflowers:FNLF:FNLF -fermentations:FRMN:FRMN -ferociousness:FRSS:FRXS -ferrimagnetic:FRMN:FRMK -ferrochromium:FRKR:FRKR -ferroconcrete:FRKN:FRKN -ferroelectric:FRLK:FRLK -ferromagnetic:FRMN:FRMK -fertilization:FRTL:FRTL -festschriften:FSTX:FSTX -feudalization:FTLS:FTLS -fianchettoing:FNXT:FNKT -fibrillations:FPRL:FPRL -fibrinogenous:FPRN:FPRN -fibroadenomas:FPRT:FPRT -fibrocellular:FPRS:FPRS -fibromuscular:FPRM:FPRM -fibromyositis:FPRM:FPRM -fibromyxomata:FPRM:FPRM -fibrosarcomas:FPRS:FPRS -fibrovascular:FPRF:FPRF -fictionalized:FKXN:FKXN -fictionalizes:FKXN:FKXN -fideicommissa:FTKM:FTKM -fidejussiones:FTJS:FTJS -filibusterers:FLPS:FLPS -filibustering:FLPS:FLPS -filibusterism:FLPS:FLPS -filmographies:FLMK:FLMK -filterability:FLTR:FLTR -finalizations:FNLS:FNLS -fingerbreadth:FNKR:FNJR -fingerprinted:FNKR:FNJR -fissiparously:FSPR:FSPR -fistulization:FSTL:FSTL -fistulotomies:FSTL:FSTL -flabbergasted:FLPR:FLPR -flagellantism:FLJL:FLKL -flagellations:FLJL:FLKL -flameproofing:FLMP:FLMP -flamethrowers:FLM0:FLMT -flannelboards:FLNL:FLNL -flashforwards:FLXF:FLXF -flavoproteins:FLFP:FLFP -fletcherizing:FLXR:FLXR -flexibilities:FLKS:FLKS -flirtatiously:FLRT:FLRT -floccillation:FLXL:FLXL -floodlighting:FLTL:FLTL -floricultural:FLRK:FLRK -floristically:FLRS:FLRS -flounderingly:FLNT:FLNT -fluctuational:FLKT:FLKT -fluidextracts:FLTK:FLTK -fluidizations:FLTS:FLTS -fluorimetries:FLRM:FLRM -fluorinations:FLRN:FLRN -fluorocarbons:FLRK:FLRK -fluorometries:FLRM:FLRM -fluoroscopies:FLRS:FLRS -fluoroscopist:FLRS:FLRS -focalizations:FKLS:FKLS -folliculomata:FLKL:FLKL -foolhardiness:FLRT:FLRT -foraminiferal:FRMN:FRMN -forcipressure:FRSP:FRSP -foreconscious:FRKN:FRKN -foregathering:FRK0:FRKT -forejudgement:FRJJ:FRJJ -forejudgments:FRJT:FRJT -foreknowingly:FRKN:FRKN -foreknowledge:FRKN:FRKN -forensicality:FRNS:FRNS -foreordaining:FRRT:FRRT -foreshadowers:FRXT:FRXT -foreshadowing:FRXT:FRXT -foreshortened:FRXR:FRXR -foresightedly:FRST:FRST -forestallment:FRST:FRST -forestalments:FRST:FRST -forestaysails:FRST:FRST -foretriangles:FRTR:FRTR -forewarningly:FRRN:FRRN -forgetfulness:FRKT:FRKT -forgivingness:FRJF:FRKF -formalinizing:FRML:FRML -formalistical:FRML:FRML -formalization:FRML:FRML -formativeness:FRMT:FRMT -formidability:FRMT:FRMT -fornicatrices:FRNK:FRNK -fortification:FRTF:FRTF -fortitudinous:FRTT:FRTT -fortnightlies:FRTN:FRTN -fortunateness:FRTN:FRTN -fortuneteller:FRTN:FRTN -forwardsearch:FRRT:FRRT -fossiliferous:FSLF:FSLF -fossilization:FSLS:FSLS -foundationary:FNTX:FNTX -fountainheads:FNTN:FNTN -fractionalize:FRKX:FRKX -fractionating:FRKX:FRKX -fractionation:FRKX:FRKX -fractionators:FRKX:FRKX -fractionizing:FRKX:FRKX -fractiousness:FRKT:FRKT -fractocumulus:FRKT:FRKT -fractostratus:FRKT:FRKT -fragmentarily:FRKM:FRKM -fragmentation:FRKM:FRKM -fragmentizing:FRKM:FRKM -franchisement:FRNX:FRNK -frangibleness:FRNJ:FRNK -frankalmoigne:FRNK:FRNK -frankensteins:FRNK:FRNK -fratricidally:FRTR:FRTR -freeheartedly:FRHR:FRHR -freightliners:FRTL:FRTL -frequentation:FRKN:FRKN -frequentative:FRKN:FRKN -frighteningly:FRTN:FRTN -frightfulness:FRTF:FRTF -frivolousness:FRFL:FRFL -frontbenchers:FRNT:FRNT -frontispieces:FRNT:FRNT -frontogeneses:FRNT:FRNT -frontogenesis:FRNT:FRNT -frontogenetic:FRNT:FRNT -fructuousness:FRKT:FRKT -fruitarianism:FRTR:FRTR -fruitlessness:FRTL:FRTL -frumentaceous:FRMN:FRMN -frustratingly:FRST:FRST -fugaciousness:FKSS:FKXS -functionaires:FNKX:FNKX -functionalism:FNKX:FNKX -functionalist:FNKX:FNKX -functionality:FNKX:FNKX -functionaries:FNKX:FNKX -functionnaire:FNKX:FNKX -fundamentally:FNTM:FNTM -fungitoxicity:FNJT:FNKT -fusobacterium:FSPK:FSPK -futilitarians:FTLT:FTLT -futurologists:FTRL:FTRL -galactolipide:KLKT:KLKT -galactorrhoea:KLKT:KLKT -galactosaemia:KLKT:KLKT -galactosamine:KLKT:KLKT -galactosidase:KLKT:KLKT -gallimaufries:KLMF:KLMF -galvanization:KLFN:KLFN -galvanometric:KLFN:KLFN -galvanoscopic:KLFN:KLFN -galvanotropic:KLFN:KLFN -galvinisation:KLFN:KLFN -gametogeneses:KMTJ:KMTK -gametogenesis:KMTJ:KMTK -gametokinetic:KMTK:KMTK -gamogenetical:KMJN:KMKN -garrulousness:KRLS:KRLS -gasifications:KSFK:KSFK -gasterophilus:KSTR:KSTR -gastrectomies:KSTR:KSTR -gastrocnemial:KSTR:KSTR -gastrocnemius:KSTR:KSTR -gastroenteric:KSTR:KSTR -gastrohepatic:KSTR:KSTR -gastrological:KSTR:KSTR -gastrologists:KSTR:KSTR -gastronomical:KSTR:KSTR -gastronomists:KSTR:KSTR -gastrophrenic:KSTR:KSTR -gastrorrhaphy:KSTR:KSTR -gastroschises:KSTR:KSTR -gastroschisis:KSTR:KSTR -gastroscopies:KSTR:KSTR -gastroscopist:KSTR:KSTR -gastrosplenic:KSTR:KSTR -gastrostomies:KSTR:KSTR -gastrovscular:KSTR:KSTR -gastrulations:KSTR:KSTR -gemmiparously:JMPR:KMPR -gemutlichkeit:JMTL:KMTL -generalissimo:JNRL:KNRL -generalizable:JNRL:KNRL -genetotrophic:JNTT:KNTT -geniculations:JNKL:KNKL -genioplasties:JNPL:KNPL -genitofemoral:JNTF:KNTF -genitourinary:JNTR:KNTR -genotypically:JNTP:KNTP -gentianaceous:JNXN:KNXN -gentlemanlike:JNTL:KNTL -gentlewomanly:JNTL:KNTL -genuflections:JNFL:KNFL -geocentricity:JSNT:KSNT -geochronology:JKRN:KKRN -geodynamicist:JTNM:KTNM -geometrically:JMTR:KMTR -geometricians:JMTR:KMTR -geomorphology:JMRF:KMRF -geophysicists:JFSS:KFSS -geopolitician:JPLT:KPLT -geoscientists:JSNT:KSNT -geostationary:JSTX:KSTX -geostrategies:JSTR:KSTR -geotactically:JTKT:KTKT -geotropically:JTRP:KTRP -geriatricians:KRTR:JRTR -germanization:KRMN:JRMN -germanophiles:KRMN:JRMN -gerontocratic:KRNT:JRNT -gerontologies:KRNT:JRNT -gerontologist:KRNT:JRNT -gerontophilia:KRNT:JRNT -gerrymandered:KRMN:JRMN -gesticulating:KSTK:JSTK -gesticulation:KSTK:JSTK -gesticulative:KSTK:JSTK -gesticulators:KSTK:JSTK -gesticulatory:KSTK:JSTK -gigantomachia:JKNT:KKNT -gingivolabial:KNJF:JNKF -gingivoplasty:KNJF:JNKF -glaciological:KLSL:KLXL -glaciologists:KLSL:KLXL -glamorization:KLMR:KLMR -glamorousness:KLMR:KLMR -glasspapering:KLSP:KLSP -glioblastomas:KLPL:LPLS -globalization:KLPL:KLPL -globetrotters:KLPT:KLPT -globetrotting:KLPT:KLPT -globuliferous:KLPL:KLPL -glockenspiels:KLKN:KLKN -glomangiomata:KLMN:KLMN -glorification:KLRF:KLRF -glossectomies:KLSK:KLSK -glossographer:KLSK:KLSK -glossopathies:KLSP:KLSP -glucoascorbic:KLKS:KLKS -glucoproteins:KLKP:KLKP -glucopyranose:KLKP:KLKP -glucuronidase:KLKR:KLKR -gluteofemoral:KLTF:KLTF -glutinousness:KLTN:KLTN -glycopeptides:KLKP:KLKP -glycoproteins:KLKP:KLKP -glycoptyalism:KLKP:KLKP -glycosylation:KLKS:KLKS -glyphograpers:KLFK:KLFK -glyphographer:KLFK:KLFK -glyphographic:KLFK:KLFK -glyptographer:KLPT:KLPT -glyptographic:KLPT:KLPT -gnathonically:N0NK:NTNK -gnotobiotical:NTPT:NTPT -gonadectomies:KNTK:KNTK -gonadectomize:KNTK:KNTK -gonadotrophic:KNTT:KNTT -gonadotrophin:KNTT:KNTT -gonarthrocace:KNR0:KNRT -gonarthrotomy:KNR0:KNRT -gonecystolith:KNSS:KNSS -goniometrical:KNMT:KNMT -gossipmongers:KSPM:KSPM -governability:KFRN:KFRN -governorships:KFRN:KFRN -gracelessness:KRSL:KRSL -gradationally:KRTX:KRTX -graminivorous:KRMN:KRMN -grammatically:KRMT:KRMT -grandchildren:KRNT:KRNT -granddaughter:KRNT:KRNT -grandfatherly:KRNT:KRNT -grandiloquent:KRNT:KRNT -grandioseness:KRNT:KRNT -grandmaternal:KRNT:KRNT -grandmotherly:KRNT:KRNT -grandstanders:KRNT:KRNT -grantsmanship:KRNT:KRNT -granulomatous:KRNL:KRNL -graphemically:KRFM:KRFM -graphicalness:KRFK:KRFK -graphological:KRFL:KRFL -graphologists:KRFL:KRFL -gratification:KRTF:KRTF -gravimetrical:KRFM:KRFM -gravitational:KRFT:KRFT -greensickness:KRNS:KRNS -grossularites:KRSL:KRSL -grotesqueness:KRTS:KRTS -grotesqueries:KRTS:KRTS -guardianships:KRTN:KRTN -gubernatorial:KPRN:KPRN -guilelessness:KLLS:KLLS -guiltlessness:KLTL:KLTL -gustatorially:KSTT:KSTT -guttersnipish:KTRS:KTRS -gutturalizing:KTRL:KTRL -gymnastically:KMNS:JMNS -gymnosophists:KMNS:JMNS -gymnospermous:KMNS:JMNS -gynaecocratic:KNKK:JNKK -gynaecologies:KNKL:JNKL -gynaecologist:KNKL:JNKL -gynaecomastia:KNKM:JNKM -gynandromorph:KNNT:JNNT -gynecological:KNKL:JNKL -gynecologists:KNKL:JNKL -gyrencephalic:KRNS:JRNS -gyrocompasses:KRKM:JRKM -habitableness:HPTP:HPTP -habronemiasis:HPRN:HPRN -haemaphysalis:HMFS:HMFS -haemarthrosis:HMR0:HMRT -haematoblasts:HMTP:HMTP -haematocolpos:HMTK:HMTK -haematogenous:HMTJ:HMTK -haematologist:HMTL:HMTL -haematoxylons:HMTK:HMTK -haemodialyses:HMTL:HMTL -haemodialysis:HMTL:HMTL -haemophiliacs:HMFL:HMFL -haemophilioid:HMFL:HMFL -haemorheology:HMRL:HMRL -haemorrhaging:HMRJ:HMRK -haemorrhoidal:HMRT:HMRT -haemosporidia:HMSP:HMSP -hagiographers:HJKR:HKKR -hagiographies:HJKR:HKKR -hagiographist:HJKR:HKKR -hairbreadthes:HRPR:HRPR -hairsbreadths:HRSP:HRSP -hairsplitters:HRSP:HRSP -hairsplitting:HRSP:HRSP -halfheartedly:HLFR:HLFR -hallucinating:HLSN:HLSN -hallucination:HLSN:HLSN -hallucinative:HLSN:HLSN -hallucinators:HLSN:HLSN -hallucinatory:HLSN:HLSN -hallucinogens:HLSN:HLSN -halogenations:HLJN:HLKN -hamartomatous:HMRT:HMRT -handkerchiefs:HNTK:HNTK -haphazardness:HFSR:HFSR -haplographies:HPLK:HPLK -hardheartedly:HRTR:HRTR -harlequinades:HRLK:HRLK -harmonization:HRMN:HRMN -harquibusiers:HRKP:HRKP -hatemongering:HTMN:HTMN -hazardousness:HSRT:HSRT -headmistressy:HTMS:HTMS -headquartered:HTKR:HTKR -headshrinkers:HTXR:HTXR -healthfulness:HL0F:HLTF -heartbreakers:HRTP:HRTP -heartbreaking:HRTP:HRTP -heartbrokenly:HRTP:HRTP -heartlessness:HRTL:HRTL -heartsickness:HRTS:HRTS -heartsomeness:HRTS:HRTS -hectomgrammes:HKTM:HKTM -heliographers:HLKR:HLKR -heliographics:HLKR:HLKR -heliometrical:HLMT:HLMT -hellgrammites:HLKR:HLKR -helminthiases:HLMN:HLMN -helminthiasis:HLMN:HLMN -helminthology:HLMN:HLMN -hemagglutinin:HMKL:HMKL -hematoblastic:HMTP:HMTP -hematological:HMTL:HMTL -hematologists:HMTL:HMTL -hematophagous:HMTF:HMTF -hematopoieses:HMTP:HMTP -hematopoiesis:HMTP:HMTP -hematopoietic:HMTP:HMTP -hematosalpinx:HMTS:HMTS -hematothermal:HMT0:HMTT -hemautography:HMTK:HMTK -hemianalgesia:HMNL:HMNL -hemiatrophies:HMTR:HMTR -hemiballismus:HMPL:HMPL -hemicellulose:HMSL:HMSL -hemicerebrums:HMSR:HMSR -hemichordates:HMXR:HMKR -hemicolectomy:HMKL:HMKL -hemidystrophy:HMTS:HMTS -hemiparasites:HMPR:HMPR -hemispherical:HMSF:HMSF -hemochromogen:HMKR:HMKR -hemocytoblast:HMST:HMST -hemodynamical:HMTN:HMTN -hemoglobinous:HMKL:HMKL -hemogregarine:HMKR:HMKR -hemoperitonea:HMPR:HMPR -hemophagocyte:HMFK:HMFK -hemosalpinges:HMSL:HMSL -hemosideroses:HMST:HMST -hemosiderosis:HMST:HMST -hemosiderotic:HMST:HMST -henceforwards:HNSF:HNSF -hendecahedron:HNTK:HNTK -hepatectomies:HPTK:HPTK -hepatectomize:HPTK:HPTK -hepatocuprein:HPTK:HPTK -hepatomegalic:HPTM:HPTM -hepatopathies:HPTP:HPTP -hepatoscopies:HPTS:HPTS -heptadecanoic:HPTT:HPTT -heptametrical:HPTM:HPTM -herbivorously:HRPF:HRPF -heresiologist:HRSL:HRXL -hermaphrodism:HRMF:HRMF -hermaphrodite:HRMF:HRMF -hermeneutical:HRMN:HRMN -hermeneutists:HRMN:HRMN -herniationers:HRNX:HRNX -herniorrhaphy:HRNR:HRNR -herpetologist:HRPT:HRPT -hertfordshire:HRTF:HRTF -heteroblastic:HTRP:HTRP -heterochromia:HTRK:HTRK -heterochromic:HTRK:HTRK -heteroerotism:HTRR:HTRR -heterogametes:HTRK:HTRK -heterogametic:HTRK:HTRK -heterogeneity:HTRJ:HTRK -heterogeneous:HTRJ:HTRK -heterogeneses:HTRJ:HTRK -heterogenesis:HTRJ:HTRK -heterogenetic:HTRJ:HTRK -heterographic:HTRK:HTRK -heteromorphic:HTRM:HTRM -heterophemies:HTRF:HTRF -heterophonies:HTRF:HTRF -heteroplastic:HTRP:HTRP -heteropterous:HTRP:HTRP -heteroscopies:HTRS:HTRS -heterosexuals:HTRS:HTRS -heterosporous:HTRS:HTRS -heterostylous:HTRS:HTRS -heterotactous:HTRT:HTRT -heterothallic:HTR0:HTRT -heterotrophic:HTRT:HTRT -heterotypical:HTRT:HTRT -heteroxanthin:HTRK:HTRK -heterozygoses:HTRS:HTRS -heterozygosis:HTRS:HTRS -heterozygotic:HTRS:HTRS -heuristically:HRST:HRST -hexamethonium:HKSM:HKSM -hidradenomata:HTRT:HTRT -hieracosphinx:HRKS:HRKS -hierocratical:HRKR:HRKR -hieroglyphics:HRKL:HRKL -hieroglyphist:HRKL:HRKL -hilariousness:HLRS:HLRS -hippoboscidae:HPPS:HPPS -histaminergic:HSTM:HSTM -histiocytomas:HSTS:HSTS -histiocytoses:HSTS:HSTS -histiocytosis:HSTS:HSTS -histochemical:HSTX:HSTK -histomoniasis:HSTM:HSTM -holoblastical:HLPL:HLPL -holographical:HLKR:HLKR -holomastigote:HLMS:HLMS -holomorphoses:HLMR:HLMR -holomorphosis:HLMR:HLMR -homeomorphism:HMMR:HMMR -homeomorphous:HMMR:HMMR -homestretches:HMST:HMST -homiletically:HMLT:HMLT -homoeomorphic:HMMR:HMMR -homoeopathies:HMP0:HMPT -homoeopathist:HMP0:HMPT -homoeoplastic:HMPL:HMPL -homoeothermic:HM0R:HMTR -homoeotypical:HMTP:HMTP -homoeroticism:HMRT:HMRT -homogeneities:HMJN:HMKN -homogeneously:HMJN:HMKN -homogenetical:HMJN:HMKN -homoiothermal:HM0R:HMTR -homoiothermic:HM0R:HMTR -homologically:HMLJ:HMLK -homolographic:HMLK:HMLK -homomorphisms:HMMR:HMMR -homoplastical:HMPL:HMPL -homoscedastic:HMST:HMST -honorableness:HNRP:HNRP -honorifically:HNRF:HNRF -horizontality:HRSN:HRSN -hormodendrums:HRMT:HRMT -hornswoggling:HRNS:HRNS -horrification:HRFK:HRFK -horripilation:HRPL:HRPL -horsefeathers:HRSF:HRSF -horseradishes:HRSR:HRSR -horsewhippers:HRSP:HRSP -horsewhipping:HRSP:HRSP -horticultural:HRTK:HRTK -hospitalities:HSPT:HSPT -hospitalizing:HSPT:HSPT -hotheadedness:H0TT:HTTT -housebreakers:HSPR:HSPR -housebreaking:HSPR:HSPR -housecleaning:HSKL:HSKL -housefliesing:HSFL:HSFL -househusbands:HSHS:HSHS -housemistress:HSMS:HSMS -housewarmings:HSRM:HSRM -huckleberries:HKLP:HKLP -humanitarians:HMNT:HMNT -humiliatingly:HMLT:HMLT -humorlessness:HMRL:HMRL -hundredweight:HNTR:HNTR -hutchinsonian:HXNS:HXNS -hyalinization:HLNS:HLNS -hyaluronidase:HLRN:HLRN -hybridization:HPRT:HPRT -hydrarthroses:HTRR:HTRR -hydrarthrosis:HTRR:HTRR -hydraulically:HTRL:HTRL -hydrencephali:HTRN:HTRN -hydrencephaly:HTRN:HTRN -hydrocephalic:HTRS:HTRS -hydrocephalus:HTRS:HTRS -hydrochloride:HTRK:HTRK -hydrodynamics:HTRT:HTRT -hydroelectric:HTRL:HTRL -hydrogenating:HTRJ:HTRK -hydrogenation:HTRJ:HTRK -hydrogenizing:HTRJ:HTRK -hydrographers:HTRK:HTRK -hydrokinetics:HTRK:HTRK -hydrolysation:HTRL:HTRL -hydrometrical:HTRM:HTRM -hydropathical:HTRP:HTRP -hydroscopical:HTRS:HTRS -hydrostatical:HTRS:HTRS -hydrosulphate:HTRS:HTRS -hydrosulphide:HTRS:HTRS -hydrotherapic:HTR0:HTRT -hydrothoraces:HTR0:HTRT -hydrothoracic:HTR0:HTRT -hydrothoraxes:HTR0:HTRT -hydrotropical:HTRT:HTRT -hydroxylamine:HTRK:HTRK -hygroscopical:HKRS:HKRS -hymenopterans:HMNP:HMNP -hymenopterons:HMNP:HMNP -hymenopterous:HMNP:HMNP -hyoepiglottic:HPKL:HPKL -hyostrongylus:HSTR:HSTR -hyperactivity:HPRK:HPRK -hyperazotemia:HPRS:HPRS -hyperbolizing:HPRP:HPRP -hypercalcemia:HPRK:HPRK -hypercalcemic:HPRK:HPRK -hypercathexes:HPRK:HPRK -hypercathexis:HPRK:HPRK -hypercritical:HPRK:HPRK -hyperdiploidy:HPRT:HPRT -hyperesthesia:HPRS:HPRS -hyperesthetic:HPRS:HPRS -hypereutectic:HPRT:HPRT -hyperglycemia:HPRK:HPRK -hyperglycemic:HPRK:HPRK -hypergonadism:HPRK:HPRK -hyperhidroses:HPRT:HPRT -hyperhidrosis:HPRT:HPRT -hypermetrical:HPRM:HPRM -hypermetropia:HPRM:HPRM -hypermetropic:HPRM:HPRM -hypermyotonia:HPRM:HPRM -hypernephroma:HPRN:HPRN -hyperparasite:HPRP:HPRP -hyperphysical:HPRF:HPRF -hyperploidies:HPRP:HPRP -hyperpolarize:HPRP:HPRP -hyperprosexia:HPRP:HPRP -hyperpyrexial:HPRP:HPRP -hyperreflexia:HPRF:HPRF -hyperresonant:HPRS:HPRS -hypersplenism:HPRS:HPRS -hyperthyroids:HPR0:HPRT -hyperthyroses:HPR0:HPRT -hyperthyrosis:HPR0:HPRT -hypertonicity:HPRT:HPRT -hypertrophied:HPRT:HPRT -hypertrophies:HPRT:HPRT -hyperuricemia:HPRR:HPRR -hypnoanalyses:HPNN:HPNN -hypnoanalysis:HPNN:HPNN -hypnoanalytic:HPNN:HPNN -hypoacidities:HPST:HPST -hypobranchial:HPPR:HPPR -hypocalcaemia:HPKL:HPKL -hypocalcaemic:HPKL:HPKL -hypochloremia:HPKL:HPKL -hypochloremic:HPKL:HPKL -hypochondriac:HPXN:HPKN -hypochondrium:HPXN:HPKN -hypocupraemia:HPKP:HPKP -hypocupraemic:HPKP:HPKP -hypocycloidal:HPSK:HPSK -hypoferraemia:HPFR:HPFR -hypoglottides:HPKL:HPKL -hypoglottises:HPKL:HPKL -hypoglycaemia:HPKL:HPKL -hypoglycaemic:HPKL:HPKL -hypomenorrhea:HPMN:HPMN -hypopharynges:HPFR:HPFR -hypopharynxes:HPFR:HPFR -hypophosphate:HPFS:HPFS -hypophosphite:HPFS:HPFS -hypophrenoses:HPFR:HPFR -hypophrenosis:HPFR:HPFR -hypopituitary:HPPT:HPPT -hyposecretion:HPSK:HPSK -hyposensitive:HPSN:HPSN -hyposensitize:HPSN:HPSN -hypostasising:HPST:HPST -hypostatizing:HPST:HPST -hyposthenuria:HPS0:HPST -hyposthenuric:HPS0:HPST -hypothecating:HP0K:HPTK -hypothecation:HP0K:HPTK -hypothesizers:HP0S:HPTS -hypothesizing:HP0S:HPTS -hypotonically:HPTN:HPTN -hypotrichoses:HPTR:HPTR -hypotrichosis:HPTR:HPTR -hypotrichotic:HPTR:HPTR -hypotympanums:HPTM:HPTM -hypsicephalic:HPSS:HPSS -hypsometrical:HPSM:HPSM -hysterography:HSTR:HSTR -hysterologies:HSTR:HSTR -hysteropexies:HSTR:HSTR -hysteroscopic:HSTR:HSTR -hysterotelies:HSTR:HSTR -hysterotomies:HSTR:HSTR -hystricomorph:HSTR:HSTR -iatrochemical:ATRX:ATRK -iatrochemists:ATRX:ATRK -iatrogenicity:ATRJ:ATRK -ichnographies:AXNK:AKNK -ichthyismuses:AK0S:AKTS -ichthyography:AK0K:AKTK -ichthyologist:AK0L:AKTL -ichthyosaurus:AK0S:AKTS -ichthyosiform:AK0S:AKTS -ichthyotoxism:AK0T:AKTT -iconographers:AKNK:AKNK -iconomaticism:AKNM:AKNM -idealizations:ATLS:ATLS -identicalness:ATNT:ATNT -ideologically:ATLJ:ATLK -idiogenesisly:ATJN:ATKN -idiomatically:ATMT:ATMT -idioplasmatic:ATPL:ATPL -idiosyncratic:ATSN:ATSN -idioticalness:ATTK:ATTK -ignominiously:AKNM:ANMN -ileocecostomy:ALSK:ALSK -ileocolostomy:ALKL:ALKL -iliococcygeal:ALKK:ALKK -iliopectineal:ALPK:ALPK -illegibleness:ALJP:ALKP -illegitimated:ALJT:ALKT -illiberalness:ALPR:ALPR -illocutionary:ALKX:ALKX -illogicalness:ALJK:ALKK -illuminations:ALMN:ALMN -illustratable:ALST:ALST -illustrations:ALST:ALST -illustriously:ALST:ALST -imaginariness:AMJN:AMKN -imaginational:AMJN:AMKN -imaginatively:AMJN:AMKN -imagistically:AMJS:AMKS -imbecilically:AMPS:AMPS -imitativeness:AMTT:AMTT -immaterialism:AMTR:AMTR -immaterialist:AMTR:AMTR -immateriality:AMTR:AMTR -immaterialize:AMTR:AMTR -immediateness:AMTT:AMTT -immersionists:AMRS:AMRX -immigrational:AMKR:AMKR -immiscibility:AMSP:AMSP -immortalities:AMRT:AMRT -immortalizers:AMRT:AMRT -immortalizing:AMRT:AMRT -immovableness:AMFP:AMFP -immunizations:AMNS:AMNS -immunogeneses:AMNJ:AMNK -immunogenesis:AMNJ:AMNK -immunogenetic:AMNJ:AMNK -immunological:AMNL:AMNL -immunologists:AMNL:AMNL -immunotherapy:AMN0:AMNT -immutableness:AMTP:AMTP -impalpability:AMPL:AMPL -impartialness:AMPR:AMPR -impartibility:AMPR:AMPR -impassability:AMPS:AMPS -impassibility:AMPS:AMPS -impassionedly:AMPS:AMPS -impassiveness:AMPS:AMPS -impeccability:AMPK:AMPK -impecuniosity:AMPK:AMPK -impecuniously:AMPK:AMPK -impedimentary:AMPT:AMPT -imperceivable:AMPR:AMPR -imperceptible:AMPR:AMPR -imperceptibly:AMPR:AMPR -impercipience:AMPR:AMPR -imperfections:AMPR:AMPR -imperfectives:AMPR:AMPR -imperfectness:AMPR:AMPR -imperforation:AMPR:AMPR -imperialistic:AMPR:AMPR -imperiousness:AMPR:AMPR -imperishables:AMPR:AMPR -impermanently:AMPR:AMPR -impermissible:AMPR:AMPR -impermissibly:AMPR:AMPR -impersonality:AMPR:AMPR -impersonalize:AMPR:AMPR -impersonating:AMPR:AMPR -impersonation:AMPR:AMPR -impersonators:AMPR:AMPR -impertinences:AMPR:AMPR -impertinently:AMPR:AMPR -imperturbable:AMPR:AMPR -imperturbably:AMPR:AMPR -impetiginized:AMPT:AMPT -impetuosities:AMPT:AMPT -impetuousness:AMPT:AMPT -impignorating:AMPN:AMPK -impignoration:AMPN:AMPK -implacability:AMPL:AMPL -implacentalia:AMPL:AMPL -implantations:AMPL:AMPL -implementable:AMPL:AMPL -implicational:AMPL:AMPL -implicatively:AMPL:AMPL -impolitically:AMPL:AMPL -impoliticness:AMPL:AMPL -imponderables:AMPN:AMPN -importability:AMPR:AMPR -importunacies:AMPR:AMPR -importunately:AMPR:AMPR -importunities:AMPR:AMPR -impossibility:AMPS:AMPS -impoverishers:AMPF:AMPF -impoverishing:AMPF:AMPF -impracticable:AMPR:AMPR -impracticably:AMPR:AMPR -impractically:AMPR:AMPR -impreciseness:AMPR:AMPR -impredicative:AMPR:AMPR -impregnations:AMPR:AMPR -impressionism:AMPR:AMPR -impressionist:AMPR:AMPR -imprisonments:AMPR:AMPR -improbability:AMPR:AMPR -impropriating:AMPR:AMPR -impropriation:AMPR:AMPR -impropriators:AMPR:AMPR -improprieties:AMPR:AMPR -improvability:AMPR:AMPR -improvidently:AMPR:AMPR -improvisation:AMPR:AMPR -impulsiveness:AMPL:AMPL -imputableness:AMPT:AMPT -inactivations:ANKT:ANKT -inadvertently:ANTF:ANTF -inanimateness:ANNM:ANNM -inappreciable:ANPR:ANPR -inappreciably:ANPR:ANPR -inappropriate:ANPR:ANPR -inassimilable:ANSM:ANSM -inattentively:ANTN:ANTN -inaudibleness:ANTP:ANTP -inaugurations:ANKR:ANKR -incandescence:ANKN:ANKN -incantational:ANKN:ANKN -incapableness:ANKP:ANKP -incapacitants:ANKP:ANKP -incapacitated:ANKP:ANKP -incapacitates:ANKP:ANKP -incapacitator:ANKP:ANKP -incarcerating:ANKR:ANKR -incarceration:ANKR:ANKR -incarcerators:ANKR:ANKR -incardinating:ANKR:ANKR -incardination:ANKR:ANKR -incarnadining:ANKR:ANKR -incendiarists:ANSN:ANSN -incessantness:ANSS:ANSS -incinerations:ANSN:ANSN -inclementness:ANKL:ANKL -inclinational:ANKL:ANKL -inclusiveness:ANKL:ANKL -incoherencies:ANKH:ANKH -incoincidence:ANKN:ANKN -incombustible:ANKM:ANKM -incombustibly:ANKM:ANKM -incommodities:ANKM:ANKM -incommunicado:ANKM:ANKM -incompetently:ANKM:ANKM -incompletions:ANKM:ANKM -incompliances:ANKM:ANKM -incompliantly:ANKM:ANKM -inconcealable:ANKN:ANKN -inconceivable:ANKN:ANKN -inconceivably:ANKN:ANKN -inconclusible:ANKN:ANKN -incondensable:ANKN:ANKN -incondensible:ANKN:ANKN -incongruently:ANKN:ANKN -incongruities:ANKN:ANKN -incongruously:ANKN:ANKN -inconsecutive:ANKN:ANKN -inconsequence:ANKN:ANKN -inconsiderate:ANKN:ANKN -inconsistable:ANKN:ANKN -inconsistence:ANKN:ANKN -inconsistency:ANKN:ANKN -inconsonantly:ANKN:ANKN -inconspicuous:ANKN:ANKN -incontestable:ANKN:ANKN -incontestably:ANKN:ANKN -incontestible:ANKN:ANKN -incontinences:ANKN:ANKN -incontinently:ANKN:ANKN -inconvenience:ANKN:ANKN -inconvertible:ANKN:ANKN -inconvertibly:ANKN:ANKN -inconvincible:ANKN:ANKN -inconvincibly:ANKN:ANKN -incorporating:ANKR:ANKR -incorporation:ANKR:ANKR -incorporative:ANKR:ANKR -incorporators:ANKR:ANKR -incorporeally:ANKR:ANKR -incorrectness:ANKR:ANKR -incorruptible:ANKR:ANKR -incorruptibly:ANKR:ANKR -incredibility:ANKR:ANKR -incredulously:ANKR:ANKR -incrementally:ANKR:ANKR -incriminating:ANKR:ANKR -incrimination:ANKR:ANKR -incriminators:ANKR:ANKR -incriminatory:ANKR:ANKR -inculpability:ANKL:ANKL -incumberingly:ANKM:ANKM -incurableness:ANKR:ANKR -incuriousness:ANKR:ANKR -indefatigable:ANTF:ANTF -indefatigably:ANTF:ANTF -indelibleness:ANTL:ANTL -indemnization:ANTM:ANTM -indentureship:ANTN:ANTN -independently:ANTP:ANTP -indescribable:ANTS:ANTS -indescribably:ANTS:ANTS -indeterminacy:ANTT:ANTT -indeterminant:ANTT:ANTT -indeterminate:ANTT:ANTT -indeterminism:ANTT:ANTT -indeterminist:ANTT:ANTT -indictamentum:ANTK:ANTK -indifferently:ANTF:ANTF -indiscernible:ANTS:ANTS -indiscernibly:ANTS:ANTS -indiscretions:ANTS:ANTS -indispensable:ANTS:ANTS -indispensably:ANTS:ANTS -indisposition:ANTS:ANTS -indistinctive:ANTS:ANTS -individualism:ANTF:ANTF -individualist:ANTF:ANTF -individuality:ANTF:ANTF -individualize:ANTF:ANTF -individuating:ANTF:ANTF -individuation:ANTF:ANTF -individuators:ANTF:ANTF -indoctrinated:ANTK:ANTK -indoctrinates:ANTK:ANTK -indoctrinator:ANTK:ANTK -indolebutyric:ANTL:ANTL -inductiveness:ANTK:ANTK -inductothermy:ANTK:ANTK -induplication:ANTP:ANTP -industrialism:ANTS:ANTS -industrialist:ANTS:ANTS -industrialize:ANTS:ANTS -industriously:ANTS:ANTS -ineducability:ANTK:ANTK -ineffableness:ANFP:ANFP -ineffectively:ANFK:ANFK -ineffectually:ANFK:ANFK -inefficacious:ANFK:ANFK -inefficiently:ANFS:ANFX -inelastically:ANLS:ANLS -ineligibility:ANLJ:ANLK -ineludibility:ANLT:ANLT -inerrableness:ANRP:ANRP -inevitability:ANFT:ANFT -inexactitudes:ANKS:ANKS -inexhaustible:ANKS:ANKS -inexhaustibly:ANKS:ANKS -inexorability:ANKS:ANKS -inexpediently:ANKS:ANKS -inexpensively:ANKS:ANKS -inexperienced:ANKS:ANKS -inexplainable:ANKS:ANKS -inexplainably:ANKS:ANKS -inexpressible:ANKS:ANKS -inexpressibly:ANKS:ANKS -infallibilism:ANFL:ANFL -infallibilist:ANFL:ANFL -infallibility:ANFL:ANFL -infeasibility:ANFS:ANFS -infectiveness:ANFK:ANFK -infectivities:ANFK:ANFK -infecundities:ANFK:ANFK -inferentially:ANFR:ANFR -inferiorities:ANFR:ANFR -infertilities:ANFR:ANFR -infiltrations:ANFL:ANFL -infinitesimal:ANFN:ANFN -inflammations:ANFL:ANFL -inflationists:ANFL:ANFL -inflectedness:ANFL:ANFL -inflexibility:ANFL:ANFL -inflorescence:ANFL:ANFL -influenceable:ANFL:ANFL -influentially:ANFL:ANFL -informalities:ANFR:ANFR -informational:ANFR:ANFR -informatively:ANFR:ANFR -inframarginal:ANFR:ANFR -infraspinatus:ANFR:ANFR -infratemporal:ANFR:ANFR -infringements:ANFR:ANFR -infructuously:ANFR:ANFR -infundibulate:ANFN:ANFN -infuriatingly:ANFR:ANFR -infusibleness:ANFS:ANFS -ingeniousness:ANJN:ANKN -ingenuousness:ANJN:ANKN -ingraftations:ANKR:ANKR -ingrainedness:ANKR:ANKR -ingrugitating:ANKR:ANKR -ingrugitation:ANKR:ANKR -ingurgitating:ANKR:ANKR -ingurgitation:ANKR:ANKR -inhabitancies:ANPT:ANPT -inheritresses:ANRT:ANRT -inhomogeneity:ANMJ:ANMK -inhomogeneous:ANMJ:ANMK -inhospitality:ANSP:ANSP -inimicability:ANMK:ANMK -inimitability:ANMT:ANMT -initiatresses:ANXT:ANXT -injudiciously:ANJT:ANJT -injuriousness:ANJR:ANJR -innervational:ANRF:ANRF -innocuousness:ANKS:ANKS -innovationist:ANFX:ANFX -innoxiousness:ANKS:ANKS -inobservances:ANPS:ANPS -inobservantly:ANPS:ANPS -inoculability:ANKL:ANKL -inoffensively:ANFN:ANFN -inoperability:ANPR:ANPR -inopportunely:ANPR:ANPR -inopportunity:ANPR:ANPR -inorganically:ANRK:ANRK -inosculations:ANSK:ANSK -inquisitional:ANKS:ANKS -inquisitively:ANKS:ANKS -inquisitorial:ANKS:ANKS -insalubrities:ANSL:ANSL -insatiability:ANSX:ANSX -insatiateness:ANSX:ANSX -inscriptional:ANSK:ANSK -inscriptively:ANSK:ANSK -insectivorous:ANSK:ANSK -inseminations:ANSM:ANSM -insensateness:ANSN:ANSN -insensibility:ANSN:ANSN -insensitively:ANSN:ANSN -insensitivity:ANSN:ANSN -insidiousness:ANST:ANST -insignificant:ANSN:ANSK -insincerities:ANSN:ANSN -insinuatingly:ANSN:ANSN -insolubleness:ANSL:ANSL -insolvability:ANSL:ANSL -inspectorates:ANSP:ANSP -inspectorship:ANSP:ANSP -inspirational:ANSP:ANSP -inspiritingly:ANSP:ANSP -instabilities:ANST:ANST -installations:ANST:ANST -instantaneous:ANST:ANST -instantiating:ANST:ANST -instantiation:ANST:ANST -instigatingly:ANST:ANST -instinctively:ANST:ANST -instinctually:ANST:ANST -institutional:ANST:ANST -institutively:ANST:ANST -instructional:ANST:ANST -instructively:ANST:ANST -instrumentals:ANST:ANST -instrumentary:ANST:ANST -instrumenting:ANST:ANST -insubordinate:ANSP:ANSP -insubstantial:ANSP:ANSP -insufficiency:ANSF:ANSF -insupportable:ANSP:ANSP -insupportably:ANSP:ANSP -insurgescence:ANSR:ANSR -insurrections:ANSR:ANSR -insusceptible:ANSS:ANSS -insusceptibly:ANSS:ANSS -intangibility:ANTN:ANTN -integrability:ANTK:ANTK -integumentary:ANTK:ANTK -intellectuals:ANTL:ANTL -intelligencer:ANTL:ANTL -intelligences:ANTL:ANTL -intelligently:ANTL:ANTL -intemperances:ANTM:ANTM -intemperately:ANTM:ANTM -intensionally:ANTN:ANTN -intensiveness:ANTN:ANTN -intentionally:ANTN:ANTN -interacademic:ANTR:ANTR -interactional:ANTR:ANTR -interactively:ANTR:ANTR -interactivity:ANTR:ANTR -interagencies:ANTR:ANTR -interbranches:ANTR:ANTR -interbreeding:ANTR:ANTR -intercalarily:ANTR:ANTR -intercalating:ANTR:ANTR -intercalation:ANTR:ANTR -intercalative:ANTR:ANTR -intercellular:ANTR:ANTR -interceptions:ANTR:ANTR -intercerebral:ANTR:ANTR -intercessions:ANTR:ANTR -interchanging:ANTR:ANTR -interclavicle:ANTR:ANTR -intercolonial:ANTR:ANTR -intercolumnal:ANTR:ANTR -intercolumnar:ANTR:ANTR -intercondylar:ANTR:ANTR -interconnects:ANTR:ANTR -intercostally:ANTR:ANTR -intercropping:ANTR:ANTR -intercrossing:ANTR:ANTR -intercultural:ANTR:ANTR -intercurrence:ANTR:ANTR -interdentally:ANTR:ANTR -interdictions:ANTR:ANTR -interdigitate:ANTR:ANTR -interdistrict:ANTR:ANTR -interestingly:ANTR:ANTR -interfacially:ANTR:ANTR -interferences:ANTR:ANTR -interferingly:ANTR:ANTR -intergalactic:ANTR:ANTR -interglacials:ANTR:ANTR -interglobular:ANTR:ANTR -intergradient:ANTR:ANTR -interindustry:ANTR:ANTR -interiorizing:ANTR:ANTR -interjections:ANTR:ANTR -interjectural:ANTR:ANTR -interknitting:ANTR:ANTR -interlacement:ANTR:ANTR -interlamellar:ANTR:ANTR -interlaminate:ANTR:ANTR -interlineally:ANTR:ANTR -interlinearly:ANTR:ANTR -interlineated:ANTR:ANTR -interlineates:ANTR:ANTR -interlinkings:ANTR:ANTR -interlocution:ANTR:ANTR -interlocutors:ANTR:ANTR -interlocutory:ANTR:ANTR -interlocutrix:ANTR:ANTR -interlunation:ANTR:ANTR -intermarriage:ANTR:ANTR -intermarrying:ANTR:ANTR -intermaxillae:ANTR:ANTR -intermaxillas:ANTR:ANTR -intermeddlers:ANTR:ANTR -intermeddling:ANTR:ANTR -intermediated:ANTR:ANTR -intermediates:ANTR:ANTR -intermediator:ANTR:ANTR -intermetallic:ANTR:ANTR -intermicellar:ANTR:ANTR -intermingling:ANTR:ANTR -intermissions:ANTR:ANTR -intermittence:ANTR:ANTR -intermittency:ANTR:ANTR -intermixtures:ANTR:ANTR -intermuscular:ANTR:ANTR -internalizing:ANTR:ANTR -international:ANTR:ANTR -interneuronal:ANTR:ANTR -interoceptive:ANTR:ANTR -interoceptors:ANTR:ANTR -interofective:ANTR:ANTR -interosculate:ANTR:ANTR -interparietal:ANTR:ANTR -interpellants:ANTR:ANTR -interpellated:ANTR:ANTR -interpellates:ANTR:ANTR -interpellator:ANTR:ANTR -interpersonal:ANTR:ANTR -interplaiting:ANTR:ANTR -interpleaders:ANTR:ANTR -interpleading:ANTR:ANTR -interpolaters:ANTR:ANTR -interpolating:ANTR:ANTR -interpolation:ANTR:ANTR -interpolative:ANTR:ANTR -interpolators:ANTR:ANTR -interposition:ANTR:ANTR -interpretable:ANTR:ANTR -interpretably:ANTR:ANTR -interpretress:ANTR:ANTR -interproximal:ANTR:ANTR -interquartile:ANTR:ANTR -interradially:ANTR:ANTR -interregesers:ANTR:ANTR -interregional:ANTR:ANTR -interrelating:ANTR:ANTR -interrelation:ANTR:ANTR -interrogating:ANTR:ANTR -interrogation:ANTR:ANTR -interrogative:ANTR:ANTR -interrogators:ANTR:ANTR -interrogatory:ANTR:ANTR -interruptedly:ANTR:ANTR -interruptible:ANTR:ANTR -interruptions:ANTR:ANTR -interscapular:ANTR:ANTR -intersections:ANTR:ANTR -intersessions:ANTR:ANTR -intersexually:ANTR:ANTR -intersocietal:ANTR:ANTR -interspecific:ANTR:ANTR -interspersals:ANTR:ANTR -interspersing:ANTR:ANTR -interspersion:ANTR:ANTR -interspinales:ANTR:ANTR -interspinalis:ANTR:ANTR -interstadials:ANTR:ANTR -interstratify:ANTR:ANTR -intertangling:ANTR:ANTR -intertextures:ANTR:ANTR -intertribally:ANTR:ANTR -intertropical:ANTR:ANTR -intertwisting:ANTR:ANTR -intervascular:ANTR:ANTR -intervenience:ANTR:ANTR -interventions:ANTR:ANTR -interwreathed:ANTR:ANTR -interwreathes:ANTR:ANTR -intimidations:ANTM:ANTM -intoxicatedly:ANTK:ANTK -intoxications:ANTK:ANTK -intraarterial:ANTR:ANTR -intracavitary:ANTR:ANTR -intracellular:ANTR:ANTR -intracerebral:ANTR:ANTR -intracervical:ANTR:ANTR -intradermally:ANTR:ANTR -intramuscular:ANTR:ANTR -intranational:ANTR:ANTR -intransigence:ANTR:ANTR -intransigency:ANTR:ANTR -intransigents:ANTR:ANTR -intraparietal:ANTR:ANTR -intrapulmonic:ANTR:ANTR -intratelluric:ANTR:ANTR -intrathoracic:ANTR:ANTR -intratracheal:ANTR:ANTR -intravasation:ANTR:ANTR -intravascular:ANTR:ANTR -intravenously:ANTR:ANTR -intravitreous:ANTR:ANTR -intricateness:ANTR:ANTR -intrinsically:ANTR:ANTR -introductions:ANTR:ANTR -introflection:ANTR:ANTR -introgression:ANTR:ANTR -introjections:ANTR:ANTR -intromissible:ANTR:ANTR -intromissions:ANTR:ANTR -introspection:ANTR:ANTR -introspective:ANTR:ANTR -introversible:ANTR:ANTR -introversions:ANTR:ANTR -intrusiveness:ANTR:ANTR -intuitionally:ANTX:ANTX -intuitionists:ANTX:ANTX -intuitiveness:ANTT:ANTT -intussuscepta:ANTS:ANTS -intussuscepts:ANTS:ANTS -invaginations:ANFJ:ANFK -invalidations:ANFL:ANFL -invariability:ANFR:ANFR -invectiveness:ANFK:ANFK -inventionless:ANFN:ANFN -inventiveness:ANFN:ANFN -inventoriable:ANFN:ANFN -inventorially:ANFN:ANFN -invertebrates:ANFR:ANFR -invertibility:ANFR:ANFR -investigating:ANFS:ANFS -investigation:ANFS:ANFS -investigative:ANFS:ANFS -investigators:ANFS:ANFS -investigatory:ANFS:ANFS -inviabilities:ANFP:ANFP -invidiousness:ANFT:ANFT -invigilations:ANFJ:ANFK -invigorations:ANFK:ANFK -invincibility:ANFN:ANFN -inviolability:ANFL:ANFL -inviolateness:ANFL:ANFL -invisibleness:ANFS:ANFS -involucelated:ANFL:ANFL -involuntarily:ANFL:ANFL -invultuations:ANFL:ANFL -iodinophilous:ATNF:ATNF -iodophthalein:ATF0:ATFT -iontophoreses:ANTF:ANTF -iontophoresis:ANTF:ANTF -iontophoretic:ANTF:ANTF -ipsilaterally:APSL:APSL -irascibleness:ARSP:ARSP -iridectomized:ARTK:ARTK -iridectomizes:ARTK:ARTK -iridectropium:ARTK:ARTK -iridentropium:ARTN:ARTN -iridocyclitis:ARTS:ARTS -iridodialyses:ARTT:ARTT -iridodialysis:ARTT:ARTT -ironmomgeries:ARNM:ARNM -irrationalism:ARXN:ARXN -irrationality:ARXN:ARXN -irreclaimable:ARKL:ARKL -irreclaimably:ARKL:ARKL -irrecoverable:ARKF:ARKF -irrecoverably:ARKF:ARKF -irrefrangible:ARFR:ARFR -irrefrangibly:ARFR:ARFR -irrelevancies:ARLF:ARLF -irreligionist:ARLJ:ARLK -irreligiously:ARLJ:ARLK -irrepatriable:ARPT:ARPT -irreplaceable:ARPL:ARPL -irreplaceably:ARPL:ARPL -irrepleviable:ARPL:ARPL -irrepressible:ARPR:ARPR -irrepressibly:ARPR:ARPR -irresponsible:ARSP:ARSP -irresponsibly:ARSP:ARSP -irretrievable:ARTR:ARTR -irretrievably:ARTR:ARTR -irreverential:ARFR:ARFR -irritableness:ARTP:ARTP -ischiofemoral:AXFM:AXFM -isoagglutinin:ASKL:ASKL -isoalloxazine:ASLK:ASLK -isoantibodies:ASNT:ASNT -isochromosome:ASKR:ASKR -isochronizing:ASKR:ASKR -isochronously:ASKR:ASKR -isodimorphism:ASTM:ASTM -isodimorphous:ASTM:ASTM -isoelectronic:ASLK:ASLK -isoflurophate:ASFL:ASFL -isogeothermal:ASJ0:ASKT -isogeothermic:ASJ0:ASKT -isolationists:ASLX:ASLX -isomerization:ASMR:ASMR -isometrically:ASMT:ASMT -isoprecipitin:ASPR:ASPR -isoproterenol:ASPR:ASPR -isostatically:ASST:ASST -isotonicities:ASTN:ASTN -isotropically:ASTR:ASTR -isthmectomies:AS0M:ASTM -italicization:ATLS:ATLS -iterativeness:ATRT:ATRT -jabberwockies:JPRK:APRK -jargonization:JRKN:ARKN -javellization:JFLS:AFLS -jawbreakingly:JPRK:APRK -jeffersonians:JFRS:AFRS -jejunectomies:JJNK:AJNK -jejunoileitis:JJNL:AJNL -jejunostomies:JJNS:AJNS -jitterbugging:JTRP:ATRP -jollification:JLFK:ALFK -judgmatically:JTKM:ATKM -judicializing:JTSL:ATXL -judiciousness:JTSS:ATXS -juglandaceous:JKLN:AKLN -jurisdictione:JRST:ARST -jurisdictions:JRST:ARST -jurisprudence:JRSP:ARSP -justiciarship:JSTS:ASTX -justification:JSTF:ASTF -justificative:JSTF:ASTF -justificatory:JSTF:ASTF -justinianists:JSTN:ASTN -juxtaposition:JKST:AKST -kaleidoscopes:KLTS:KLTS -kaleidoscopic:KLTS:KLTS -karyenchymata:KRNX:KRNK -karyopyknosis:KRPK:KRPK -karyopyknotic:KRPK:KRPK -karyorrhectic:KRRK:KRRK -katabatically:KTPT:KTPT -katabolically:KTPL:KTPL -katachromases:KTKR:KTKR -katachromasis:KTKR:KTKR -kathisophobia:K0SF:KTSF -keratectomies:KRTK:KRTK -keratogeneses:KRTJ:KRTK -keratogenesis:KRTJ:KRTK -keratoleukoma:KRTL:KRTL -keratomalacia:KRTM:KRTM -keratomycoses:KRTM:KRTM -keratomycosis:KRTM:KRTM -keratoplastic:KRTP:KRTP -keratoscopies:KRTS:KRTS -keraunophobia:KRNF:KRNF -ketoglutarate:KTKL:KTKL -ketoreductase:KTRT:KTRT -kettledrummer:KTLT:KTLT -kidderminster:KTRM:KTRM -kinaesthesias:KNS0:KNST -kindergartens:KNTR:KNTR -kindergartner:KNTR:KNTR -kindheartedly:KNTR:KNTR -kinematically:KNMT:KNMT -kinematograph:KNMT:KNMT -kinesiologies:KNSL:KNSL -kinesitherapy:KNS0:KNST -kinesthetical:KNS0:KNST -kinetographic:KNTK:KNTK -kinetonucleus:KNTN:KNTN -kinetoplastic:KNTP:KNTP -kittenishness:KTNX:KTNX -kjeldahlizing:KLTL:KLTL -kleptomaniacs:KLPT:KLPT -klipspringers:KLPS:KLPS -knemidokoptes:NMTK:NMTK -knickerbocker:NKRP:NKRP -knowledgeable:NLJP:NLJP -knowledgeably:NLJP:NLJP -knowledgeless:NLJL:NLJL -knuckleheaded:NKLH:NKLH -koniocortices:KNKR:KNKR -labialization:LPLS:LPLS -labiocervical:LPSR:LPSR -labiogingival:LPJN:LPKN -labiopalatine:LPPL:LPPL -labioplasties:LPPL:LPPL -labyrinthitis:LPRN:LPRN -labyrinthodon:LPRN:LPRN -lackadaisical:LKTS:LKTS -lacrimotomies:LKRM:LKRM -lactationally:LKTX:LKTX -lactobacillus:LKTP:LKTP -lactoglobulin:LKTK:LKTK -laevorotation:LFRT:LFRT -laevorotatory:LFRT:LFRT -lagophthalmos:LKF0:LKFT -lagophthalmus:LKF0:LKFT -lamellibranch:LMLP:LMLP -laminectomies:LMNK:LMNK -landownership:LNTN:LNTN -languishingly:LNKX:LNKX -laparorrhaphy:LPRR:LPRR -laparoscopies:LPRS:LPRS -larvatedrecta:LRFT:LRFT -laryngectomee:LRNJ:LRNK -laryngologies:LRNK:LRNK -laryngologist:LRNK:LRNK -laryngoplasty:LRNK:LRNK -laryngoplegia:LRNK:LRNK -laryngoscopes:LRNK:LRNK -laryngoscopic:LRNK:LRNK -laryngotomies:LRNK:LRNK -lateroduction:LTRT:LTRT -lateroflexion:LTRF:LTRF -lateropulsion:LTRP:LTRP -laterotorsion:LTRT:LTRT -lateroversion:LTRF:LTRF -latinizations:LTNS:LTNS -latitudinally:LTTT:LTTT -latrocination:LTRS:LTRS -laughableness:LFPL:LFPL -laughingstock:LFNK:LFNK -lecherousness:LXRS:LKRS -legalizations:LKLS:LKLS -legislatively:LJLT:LKLT -legislatorial:LJLT:LKLT -legislatrices:LJLT:LKLT -legislatrixes:LJLT:LKLT -legitimatized:LJTM:LKTM -legitimatizes:LJTM:LKTM -leishmaniases:LXMN:LXMN -leishmaniasis:LXMN:LXMN -leishmanioses:LXMN:LXMN -leishmaniosis:LXMN:LXMN -leisureliness:LSRL:LSRL -lemmatization:LMTS:LMTS -lepidopterans:LPTP:LPTP -lepidopterist:LPTP:LPTP -lepidopterous:LPTP:LPTP -leptocephalic:LPTS:LPTS -leptocephalus:LPTS:LPTS -leptomeninges:LPTM:LPTM -leptophyllous:LPTF:LPTF -leptoprosopia:LPTP:LPTP -leptoprosopic:LPTP:LPTP -leptospiroses:LPTS:LPTS -leptospirosis:LPTS:LPTS -lethargically:L0RJ:LTRK -letterperfect:LTRP:LTRP -leucocythemia:LKS0:LKST -leucocythemic:LKS0:LKST -leucoprotease:LKPR:LKPR -leukaemogenic:LKMJ:LKMK -leukocythemia:LKS0:LKST -leukocytomata:LKST:LKST -leukosarcomas:LKSR:LKSR -leukotrichous:LKTR:LKTR -levelheadedly:LFLT:LFLT -lexicographer:LKSK:LKSK -lexicographic:LKSK:LKSK -liberationist:LPRX:LPRX -librarianship:LPRR:LPRR -liechtenstein:LKTN:LKTN -lienographies:LNKR:LNKR -lieutenancies:LTNN:LTNN -liferentrices:LFRN:LFRN -liferentrixes:LFRN:LFRN -ligamentopexy:LKMN:LKMN -lightheadedly:L0TT:LTTT -lightsomeness:LTSM:LTSM -lignification:LNFK:LKNF -limitableness:LMTP:LMTP -limitlessness:LMTL:LMTL -linguatuloses:LNKT:LNKT -linguatulosis:LNKT:LNKT -linguoversion:LNKF:LNKF -lipodystrophy:LPTS:LPTS -lipofibromata:LPFP:LPFP -lipogranuloma:LPKR:LPKR -liposarcomata:LPSR:LPSR -liquefactions:LKFK:LKFK -liquidisation:LKTS:LKTS -lissencephala:LSNS:LSNS -lissencephaly:LSNS:LSNS -listenability:LSTN:LSTN -listerelloses:LSTR:LSTR -listerellosis:LSTR:LSTR -lithification:L0FK:LTFK -lithodialyses:L0TL:LTTL -lithodialysis:L0TL:LTTL -lithographers:L0KR:LTKR -lithographing:L0KR:LTKR -litholapaxies:L0LP:LTLP -lithontriptic:L0NT:LTNT -lithotomizing:L0TM:LTTM -lithotripsies:L0TR:LTTR -lithotripters:L0TR:LTTR -lithotritists:L0TR:LTTR -litigiousness:LTJS:LTKS -liverpudlians:LFRP:LFRP -localizations:LKLS:LKLS -lochioscheses:LXXS:LKXS -lochioschesis:LXXS:LKXS -logarithmical:LKR0:LKRT -logogrammatic:LKKR:LKKR -logographical:LKKR:LKKR -lophotrichate:LFTR:LFTR -lophotrichous:LFTR:LFTR -lowerclassman:LRKL:LRKL -lubricational:LPRK:LPRK -lucrativeness:LKRT:LKRT -ludicrousness:LTKR:LTKR -lumbarization:LMPR:LMPR -lumberingness:LMRN:LMRN -lumberjackets:LMRJ:LMRJ -lumboinguinal:LMPN:LMPN -lunatomalacia:LNTM:LNTM -luncheonettes:LNXN:LNKN -luteinization:LTNS:LTNS -luxuriousness:LKSR:LKSR -lycanthropies:LKN0:LKNT -lymphadenitis:LMFT:LMFT -lymphadenomas:LMFT:LMFT -lymphadenoses:LMFT:LMFT -lymphadenosis:LMFT:LMFT -lymphangiomas:LMFN:LMFN -lymphatically:LMFT:LMFT -lymphatolysis:LMFT:LMFT -lymphoblastic:LMFP:LMFP -lymphocytomas:LMFS:LMFS -lymphocytoses:LMFS:LMFS -lymphocytosis:LMFS:LMFS -lymphocytotic:LMFS:LMFS -lymphographic:LMFK:LMFK -lymphoidocyte:LMFT:LMFT -lymphomatoses:LMFM:LMFM -lymphomatosis:LMFM:LMFM -lymphopoieses:LMFP:LMFP -lymphopoiesis:LMFP:LMFP -lymphopoietic:LMFP:LMFP -lymphosarcoma:LMFS:LMFS -macaronically:MKRN:MKRN -machiavellian:MKFL:MKFL -machicolating:MXKL:MKKL -machicolation:MXKL:MKKL -machinability:MXNP:MKNP -macrencephaly:MKRN:MKRN -macrocephalic:MKRS:MKRS -macrocephalus:MKRS:MKRS -macroclimates:MKRK:MKRK -macroclimatic:MKRK:MKRK -macroeconomic:MKRK:MKRK -macroglobulin:MKRK:MKRK -macromolecule:MKRM:MKRM -macromonocyte:MKRM:MKRM -macronutrient:MKRN:MKRN -macropolycyte:MKRP:MKRP -macroscopical:MKRS:MKRS -maculopapular:MKLP:MKLP -maddeningness:MTNN:MTNN -mademoiselles:MTMS:MTMS -madrigalesque:MTRK:MTRK -maduromycoses:MTRM:MTRM -maduromycosis:MTRM:MTRM -magisterially:MJST:MKST -magistratical:MJST:MKST -magnanimously:MNNM:MKNN -magnetization:MNTS:MKNT -magnetographs:MNTK:MKNT -magnetometery:MNTM:MKNT -magnetometric:MNTM:MKNT -magnetomotive:MNTM:MKNT -magnetosheath:MNTX:MKNT -magnetosphere:MNTS:MKNT -magnification:MNFK:MKNF -magnificently:MNFS:MKNF -magniloquence:MNLK:MKNL -magnitudinous:MNTT:MKNT -magnoliaceous:MNLS:MKNL -malabsorption:MLPS:MLPS -malacological:MLKL:MLKL -malacologists:MLKL:MLKL -malacophyllus:MLKF:MLKF -malacostracan:MLKS:MLKS -maladaptation:MLTP:MLTP -maladaptively:MLTP:MLTP -maladjustment:MLTJ:MLTJ -maladminister:MLTM:MLTM -maladroitness:MLTR:MLTR -malariologies:MLRL:MLRL -malariologist:MLRL:MLRL -malformations:MLFR:MLFR -malfunctioned:MLFN:MLFN -maliciousness:MLSS:MLXS -malimprinting:MLMP:MLMP -malinvestment:MLNF:MLNF -malleableness:MLPL:MLPL -malleoincudal:MLNK:MLNK -malocclusions:MLKL:MLKL -malpracticing:MLPR:MLPR -malthusianism:ML0S:MLTX -maltreatments:MLTR:MLTR -mammaliferous:MMLF:MMLF -mammaplasties:MMPL:MMPL -mammographies:MMKR:MMKR -mammoplasties:MMPL:MMPL -manageability:MNJP:MNKP -managerialism:MNKR:MNJR -managerialist:MNKR:MNJR -manifestation:MNFS:MNFS -manifestative:MNFS:MNFS -manipulatable:MNPL:MNPL -manipulations:MNPL:MNPL -manneristical:MNRS:MNRS -manslaughters:MNSL:MNSL -manufactories:MNFK:MNFK -manufacturers:MNFK:MNFK -manufacturing:MNFK:MNFK -manuscription:MNSK:MNSK -marbleization:MRPL:MRPL -marchionesses:MRXN:MRKN -marginalizing:MRJN:MRKN -marginoplasty:MRJN:MRKN -marketability:MRKT:MRKT -marlinespikes:MRLN:MRLN -marsupialized:MRSP:MRSP -marsupializes:MRSP:MRSP -martyrization:MRTR:MRTR -martyrologies:MRTR:MRTR -martyrologist:MRTR:MRTR -marvelousness:MRFL:MRFL -masculineness:MSKL:MSKL -masculinities:MSKL:MSKL -masculinizing:MSKL:MSKL -massachusetts:MSKS:MSKS -masterfulness:MSTR:MSTR -masterminding:MSTR:MSTR -masterstrokes:MSTR:MSTR -masticatories:MSTK:MSTK -mastigophoran:MSTK:MSTK -mastocytomata:MSTS:MSTS -mastoidectomy:MSTT:MSTT -mastoiditides:MSTT:MSTT -mastoparietal:MSTP:MSTP -mastoplasties:MSTP:MSTP -mastoscirrhus:MSTS:MSTS -masturbations:MSTR:MSTR -matchlessness:MXLS:MXLS -materfamilias:MTRF:MTRF -materialistic:MTRL:MTRL -materialities:MTRL:MTRL -materializing:MTRL:MTRL -maternalistic:MTRN:MTRN -mathematician:M0MT:MTMT -matriculating:MTRK:MTRK -matriculation:MTRK:MTRK -matriculators:MTRK:MTRK -matriculatory:MTRK:MTRK -matrilineally:MTRL:MTRL -matrilinearly:MTRL:MTRL -matrilocality:MTRL:MTRL -matrimonially:MTRM:MTRM -matripotestal:MTRP:MTRP -maxillofacial:MKSL:MKSL -meaninglessly:MNNK:MNNK -measurability:MSRP:MSRP -measurelessly:MSRL:MSRL -mechanicalism:MXNK:MKNK -mechanistical:MXNS:MKNS -mechanization:MXNS:MKNS -mecistocirrus:MSST:MSST -mediastinitis:MTST:MTST -mediatization:MTTS:MTTS -mediatorially:MTTR:MTTR -medicamentary:MTKM:MTKM -medicamentous:MTKM:MTKM -medionecroses:MTNK:MTNK -medionecrosis:MTNK:MTNK -mediterranean:MTTR:MTTR -medullispinal:MTLS:MTLS -medullization:MTLS:MTLS -megacaryocyte:MKKR:MKKR -megacephalies:MKSF:MKSF -megacephalous:MKSF:MKSF -megaesophagus:MKSF:MKSF -megakaryocyte:MKKR:MKKR -megaloblastic:MKLP:MKLP -megalocephaly:MKLS:MKLS -megalomaniacs:MKLM:MKLM -megalopolises:MKLP:MKLP -megalopolitan:MKLP:MKLP -megalosaurian:MKLS:MKLS -megaprosopous:MKPR:MKPR -megasporangia:MKSP:MKSP -meistersinger:MSTR:MSTR -melancholiacs:MLNX:MLNK -melancholiaes:MLNX:MLNK -melancholical:MLNX:MLNK -melanoblastic:MLNP:MLNP -melanochroous:MLNK:MLNK -melanogeneses:MLNJ:MLNK -melanogenesis:MLNJ:MLNK -melanogenetic:MLNJ:MLNK -melanoglossia:MLNK:MLNK -melanomatoses:MLNM:MLNM -melanomatosis:MLNM:MLNM -mellifluently:MLFL:MLFL -mellifluously:MLFL:MLFL -melodiousness:MLTS:MLTS -melodramatics:MLTR:MLTR -melodramatist:MLTR:MLTR -melodramatize:MLTR:MLTR -membranaceous:MMPR:MMPR -memorableness:MMRP:MMRP -memorializing:MMRL:MMRL -mendelianists:MNTL:MNTL -meningococcal:MNNK:MNNK -meningococcic:MNNK:MNNK -meningococcus:MNNK:MNNK -menstruations:MNST:MNST -mensurability:MNSR:MNSR -mephobarbital:MFPR:MFPR -mercaptomerin:MRKP:MRKP -mercenariness:MRSN:MRSN -merchandisers:MRXN:MRKN -merchandizing:MRXN:MRKN -mercurialized:MRKR:MRKR -mercurializes:MRKR:MRKR -mercurialness:MRKR:MRKR -mercurochrome:MRKR:MRKR -meritocracies:MRTK:MRTK -meritoriously:MRTR:MRTR -mesatipellies:MSTP:MSTP -mesectodermal:MSKT:MSKT -mesectodermic:MSKT:MSKT -mesencephalic:MSNS:MSNS -mesencephalon:MSNS:MSNS -mesmerization:MSMR:MSMR -mesoblastemas:MSPL:MSPL -mesoblastemic:MSPL:MSPL -mesocephalies:MSSF:MSSF -mesoduodenums:MSTT:MSTT -mesoesophagus:MSSF:MSSF -mesoontomorph:MSNT:MSNT -mesopotamians:MSPT:MSPT -mesoprosopies:MSPR:MSPR -mesosalpinges:MSSL:MSSL -mesotheliomas:MS0L:MSTL -metabolically:MTPL:MTPL -metabolizable:MTPL:MTPL -metacercarial:MTSR:MTSR -metachromasia:MTKR:MTKR -metachromatic:MTKR:MTKR -metalliferous:MTLF:MTLF -metallization:MTLS:MTLS -metalloenzyme:MTLN:MTLN -metallophobia:MTLF:MTLF -metallurgical:MTLR:MTLR -metallurgists:MTLR:MTLR -metamerically:MTMR:MTMR -metamorphisms:MTMR:MTMR -metamorphosed:MTMR:MTMR -metamorphoses:MTMR:MTMR -metamorphosis:MTMR:MTMR -metamyelocyte:MTML:MTML -metanephritic:MTNF:MTNF -metaphysician:MTFS:MTFS -metapneumonic:MTPN:MTPN -metastasizing:MTST:MTST -metatarsalgia:MTTR:MTTR -metencephalic:MTNS:MTNS -metencephalon:MTNS:MTNS -meteorologist:MTRL:MTRL -methantheline:M0N0:MTNT -methemalbumin:M0ML:MTML -methemoglobin:M0MK:MTMK -methodologies:M0TL:MTTL -methylparaben:M0LP:MTLP -metrocystoses:MTRS:MTRS -metrocystosis:MTRS:MTRS -metrographies:MTRK:MTRK -metronidazole:MTRN:MTRN -metrostenoses:MTRS:MTRS -metrostenosis:MTRS:MTRS -micrencephala:MKRN:MKRN -micrencephaly:MKRN:MKRN -microanalyses:MKRN:MKRN -microanalysis:MKRN:MKRN -microanalytic:MKRN:MKRN -microaneurysm:MKRN:MKRN -microbacteria:MKRP:MKRP -microbiologic:MKRP:MKRP -microcentrums:MKRS:MKRS -microcephalic:MKRS:MKRS -microcephalus:MKRS:MKRS -microchemical:MKRX:MKRK -microclimates:MKRK:MKRK -microcomputer:MKRK:MKRK -microconidium:MKRK:MKRK -microcosmical:MKRK:MKRK -microcultural:MKRK:MKRK -microcythemia:MKRS:MKRS -microcythemic:MKRS:MKRS -microdactylia:MKRT:MKRT -microeconomic:MKRK:MKRK -microfilarial:MKRF:MKRF -micrographies:MKRK:MKRK -microinvasion:MKRN:MKRN -micronutrient:MKRN:MKRN -microorganism:MKRR:MKRR -microphthalmi:MKRF:MKRF -microphysical:MKRF:MKRF -microprograms:MKRP:MKRP -micropuncture:MKRP:MKRP -microscopical:MKRS:MKRS -microsporoses:MKRS:MKRS -microsporosis:MKRS:MKRS -microsurgeons:MKRS:MKRS -microsurgical:MKRS:MKRS -microvascular:MKRF:MKRF -middlebrowism:MTLP:MTLP -middleweights:MTLT:MTLT -midwesterners:MTST:MTST -millimolarity:MLML:MLML -milliroentgen:MLRN:MLRN -mimeographing:MMKR:MMKR -mineralogical:MNRL:MNRL -mineralogists:MNRL:MNRL -miniaturizing:MNTR:MNTR -minicomputers:MNKM:MNKM -minimizations:MNMS:MNMS -ministerially:MNST:MNST -ministrations:MNST:MNST -misaddressing:MSTR:MSTR -misadventures:MSTF:MSTF -misalignments:MSLN:MSLK -misanthropies:MSN0:MSNT -misanthropist:MSN0:MSNT -misapprehends:MSPR:MSPR -miscalculated:MSKL:MSKL -miscalculates:MSKL:MSKL -miscegenation:MSJN:MSKN -miscellaneous:MSLN:MSLN -mischievously:MXFS:MXFS -miscibilities:MSPL:MSPL -misclassified:MSKS:MSKS -misclassifies:MSKS:MSKS -misconceiving:MSKN:MSKN -misconception:MSKN:MSKN -misconstruing:MSKN:MSKN -misdeliveries:MSTL:MSTL -misdescribing:MSTS:MSTS -misdiagnosing:MSTN:MSTK -misdirections:MSTR:MSTR -miserableness:MSRP:MSRP -misericordiam:MSRK:MSRK -misgovernment:MSKF:MSKF -misidentified:MSTN:MSTN -misidentifies:MSTN:MSTN -misinformants:MSNF:MSNF -misinstructed:MSNS:MSNS -misinterprets:MSNT:MSNT -mismanagement:MSMN:MSMN -misperceiving:MSPR:MSPR -mispronounced:MSPR:MSPR -mispronounces:MSPR:MSPR -misproportion:MSPR:MSPR -misquotations:MSKT:MSKT -misrepresents:MSRP:MSRP -mississippian:MSSP:MSSP -misstatements:MSTT:MSTT -mistranscribe:MSTR:MSTR -mistranslated:MSTR:MSTR -mistranslates:MSTR:MSTR -mistrustfully:MSTR:MSTR -mistrustingly:MSTR:MSTR -misunderstand:MSNT:MSNT -misunderstood:MSNT:MSNT -mitochondrial:MTXN:MTKN -mitochondrion:MTXN:MTKN -mitralization:MTRL:MTRL -mittelschmerz:MTLX:MTLX -miyagawanella:MKNL:MKNL -mobilizations:MPLS:MPLS -moderatorship:MTRT:MTRT -modernization:MTRN:MTRN -modifiability:MTFP:MTFP -modifications:MTFK:MTFK -moistureproof:MSTR:MSTR -mollification:MLFK:MLFK -mollycoddlers:MLKT:MLKT -mollycoddling:MLKT:MLKT -molysmophobia:MLSM:MLSM -momentariness:MMNT:MMNT -momentousness:MMNT:MMNT -moneychangers:MNXN:MNKN -moniletriches:MNLT:MNLT -monilitriches:MNLT:MNLT -monoaminergic:MNMN:MNMN -monochorionic:MNXR:MNKR -monochromatic:MNKR:MNKR -monocotyledon:MNKT:MNKT -monocytopenia:MNST:MNST -monodactylies:MNTK:MNTK -monodactylism:MNTK:MNTK -monofactorial:MNFK:MNFK -monogenically:MNJN:MNKN -monomastigote:MNMS:MNMS -monomolecular:MNML:MNML -monomorphisms:MNMR:MNMR -mononucleoses:MNNK:MNNK -mononucleosis:MNNK:MNNK -monophosphate:MNFS:MNFS -monophthalmic:MNF0:MNFT -monophthalmus:MNF0:MNFT -monophyleties:MNFL:MNFL -monophyletism:MNFL:MNFL -monopsonistic:MNPS:MNPS -monosexuality:MNSK:MNSK -monosyllables:MNSL:MNSL -monotonically:MNTN:MNTN -monstrosities:MNST:MNST -monstrousness:MNST:MNST -moribundities:MRPN:MRPN -morphemically:MRFM:MRFM -morphinomania:MRFN:MRFN -morphiomaniac:MRFM:MRFM -morphogeneses:MRFJ:MRFK -morphogenesis:MRFJ:MRFK -morphogenetic:MRFJ:MRFK -morphographic:MRFK:MRFK -morphological:MRFL:MRFL -morphologists:MRFL:MRFL -morphometries:MRFM:MRFM -mortification:MRTF:MRTF -motorcyclists:MTRS:MTRS -motorscooters:MTRS:MTRS -mountaineered:MNTN:MNTN -mountainously:MNTN:MNTN -mountainsides:MNTN:MNTN -mountebankery:MNTP:MNTP -mucocutaneous:MKKT:MKKT -mucoenteritis:MKNT:MKNT -mucoperiostea:MKPR:MKPR -multicellular:MLTS:MLTS -multifamilial:MLTF:MLTF -multifunction:MLTF:MLTF -multigravidae:MLTK:MLTK -multigravidas:MLTK:MLTK -multinational:MLTN:MLTN -multinucleate:MLTN:MLTN -multiparities:MLTP:MLTP -multiplicands:MLTP:MLTP -multisyllabic:MLTS:MLTS -multitudinous:MLTT:MLTT -multivitamins:MLTF:MLTF -mummification:MMFK:MMFK -murderousness:MRTR:MRTR -muscularities:MSKL:MSKL -musculospiral:MSKL:MSKL -musculotropic:MSKL:MSKL -musicological:MSKL:MSKL -musicologists:MSKL:MSKL -musicotherapy:MSK0:MSKT -mutagenically:MTJN:MTKN -mutualization:MTLS:MTLS -mycobacterial:MKPK:MKPK -mycobacterium:MKPK:MKPK -mycodermatoid:MKTR:MKTR -mycodermatous:MKTR:MKTR -mycologically:MKLJ:MKLK -mycotoxicoses:MKTK:MKTK -mycotoxicosis:MKTK:MKTK -myelatrophies:MLTR:MLTR -myelencephala:MLNS:MLNS -myelinization:MLNS:MLNS -myelinoclases:MLNK:MLNK -myelinoclasis:MLNK:MLNK -myeloblastoma:MLPL:MLPL -myelocytomata:MLST:MLST -myelofibroses:MLFP:MLFP -myelofibrosis:MLFP:MLFP -myelofibrotic:MLFP:MLFP -myelographies:MLKR:MLKR -myelolipomata:MLLP:MLLP -myelomonocyte:MLMN:MLMN -myeloneuritis:MLNR:MLNR -myelophthises:MLF0:MLFT -myelophthisic:MLF0:MLFT -myelophthisis:MLF0:MLFT -myelosarcomas:MLSR:MLSR -myelospongium:MLSP:MLSP -myoelectrical:MLKT:MLKT -myoepithelial:MP0L:MPTL -myofibrositis:MFPR:MFPR -myogenicities:MJNS:MKNS -myoglobinuria:MKLP:MKLP -myohemoglobin:MHMK:MHMK -myotenotomies:MTNT:MTNT -myringoplasty:MRNK:MRNK -myringotomies:MRNK:MRNK -mystification:MSTF:MSTF -myxochondroma:MKSX:MKSK -myxofibromata:MKSF:MKSF -myxoneuromata:MKSN:MKSN -myxosarcomata:MKSS:MKSS -narcissuseses:NRSS:NRSS -narcoanalyses:NRKN:NRKN -narcoanalysis:NRKN:NRKN -narcohypnoses:NRKH:NRKH -narcohypnosis:NRKH:NRKH -narcotization:NRKT:NRKT -narrowcasting:NRKS:NRKS -nasolachrymal:NSLK:NSLK -nasopharynges:NSFR:NSFR -nasopharynxes:NSFR:NSFR -nasosinusitis:NSSN:NSSN -nationalistic:NXNL:NXNL -nationalities:NXNL:NXNL -nationalizing:NXNL:NXNL -navigableness:NFKP:NFKP -neanderthaler:NNTR:NNTR -nearsightedly:NRST:NRST -necessariness:NSSR:NSSR -necessitarian:NSST:NSST -necessitating:NSST:NSST -necessitation:NSST:NSST -necessitative:NSST:NSST -necessitously:NSST:NSST -neckerchieves:NKRX:NKRK -necrophiliacs:NKRF:NKRF -needleworkers:NTLR:NTLR -nefariousness:NFRS:NFRS -negligibility:NKLJ:NLKP -negotiability:NKXP:NKXP -negotiatrixes:NKXT:NKXT -neighborhoods:NPRT:NPRT -nemathelminth:NM0L:NMTL -nematological:NMTL:NMTL -nematologists:NMTL:NMTL -neocerebellar:NSRP:NSRP -neocerebellum:NSRP:NSRP -neoclassicism:NKLS:NKLS -neoclassicist:NKLS:NKLS -neocolonially:NKLN:NKLN -neologistical:NLJS:NLKS -neonatologist:NNTL:NNTL -neontologists:NNTL:NNTL -nephelometric:NFLM:NFLM -nephrectomies:NFRK:NFRK -nephrectomize:NFRK:NFRK -nephritically:NFRT:NFRT -nephrologists:NFRL:NFRL -nephropathies:NFRP:NFRP -nephrorrhaphy:NFRR:NFRR -nephrostomata:NFRS:NFRS -nervelessness:NRFL:NRFL -netherlanders:N0RL:NTRL -netherlandish:N0RL:NTRL -neuraminidase:NRMN:NRMN -neurapophyses:NRPF:NRPF -neurapophysis:NRPF:NRPF -neurasthenias:NRS0:NRST -neurilemmatic:NRLM:NRLM -neurilemmomas:NRLM:NRLM -neurilemomata:NRLM:NRLM -neurobiotaxes:NRPT:NRPT -neurobiotaxis:NRPT:NRPT -neuroblastoma:NRPL:NRPL -neurocentrums:NRSN:NRSN -neurochemical:NRXM:NRKM -neurochemists:NRXM:NRKM -neurocraniums:NRKR:NRKR -neurocytomata:NRST:NRST -neurodendrite:NRTN:NRTN -neuroectoderm:NRKT:NRKT -neurofibrilla:NRFP:NRFP -neurofibromas:NRFP:NRFP -neurogliomata:NRKL:NRLM -neurographies:NRKR:NRKR -neurohormonal:NRHR:NRHR -neurologizing:NRLJ:NRLK -neuromuscular:NRMS:NRMS -neuromyelitis:NRML:NRML -neuronophagia:NRNF:NRNF -neuropathical:NRP0:NRPT -neurospongium:NRSP:NRSP -neurosurgeons:NRSR:NRSR -neurosurgical:NRSR:NRSR -neurosyphilis:NRSF:NRSF -neurotoxicity:NRTK:NRTK -neurovascular:NRFS:NRFS -neutroclusion:NTRK:NTRK -neutrophiline:NTRF:NTRF -nickeliferous:NKLF:NKLF -nidifications:NTFK:NTFK -nietzscheisms:NTSX:NTSX -niggardliness:NKRT:NKRT -nightclubbers:NTKL:NTKL -nightmarishly:NTMR:NTMR -nitrification:NTRF:NTRF -nitrobacteria:NTRP:NTRP -nitrofurazone:NTRF:NTRF -nitrogenizing:NTRJ:NTRK -nitroglycerin:NTRK:NTRK -nitroparaffin:NTRP:NTRP -nitroprusside:NTRP:NTRP -noctambulists:NKTM:NKTM -noctivagation:NKTF:NKTF -noiselessness:NSLS:NSLS -nomenclatures:NMNK:NMNK -nomographical:NMKR:NMKR -nomologically:NMLJ:NMLK -nonabrasively:NNPR:NNPR -nonabsolutely:NNPS:NNPS -nonabsorbable:NNPS:NNPS -nonabsorbents:NNPS:NNPS -nonabstainers:NNPS:NNPS -nonacceptance:NNXP:NNXP -nonaccidental:NNXT:NNXT -nonadditivity:NNTT:NNTT -nonadjustable:NNTJ:NNTJ -nonadmissions:NNTM:NNTM -nonaffiliated:NNFL:NNFL -nonagenarians:NNJN:NNKN -nonaggregable:NNKR:NNKR -nonaggression:NNKR:NNKR -nonaggressive:NNKR:NNKR -nonallergenic:NNLR:NNLR -nonappealable:NNPL:NNPL -nonappearance:NNPR:NNPR -nonapplicable:NNPL:NNPL -nonassessable:NNSS:NNSS -nonassignable:NNSN:NNSK -nonattendance:NNTN:NNTN -noncancelable:NNKN:NNKN -noncarbonated:NNKR:NNKR -nonchargeable:NNXR:NNKR -nonclerically:NNKL:NNKL -nonclinically:NNKL:NNKL -noncohesively:NNKH:NNKH -noncombatants:NNKM:NNKM -noncommercial:NNKM:NNKM -noncommission:NNKM:NNKM -noncommunists:NNKM:NNKM -noncompletion:NNKM:NNKM -noncompliance:NNKM:NNKM -noncompulsory:NNKM:NNKM -nonconclusive:NNKN:NNKN -nonconcurrent:NNKN:NNKN -nonconcurring:NNKN:NNKN -nonconducting:NNKN:NNKN -nonconductive:NNKN:NNKN -nonconductors:NNKN:NNKN -nonconfidence:NNKN:NNKN -nonconforming:NNKN:NNKN -nonconformism:NNKN:NNKN -nonconformist:NNKN:NNKN -nonconformity:NNKN:NNKN -noncongealing:NNKN:NNKN -nonconnective:NNKN:NNKN -nonconsenting:NNKN:NNKN -noncontagious:NNKN:NNKN -noncontiguous:NNKN:NNKN -noncontinuous:NNKN:NNKN -noncontraband:NNKN:NNKN -nonconvergent:NNKN:NNKN -nonconversant:NNKN:NNKN -noncumulative:NNKM:NNKM -nondecreasing:NNTK:NNTK -nondeductible:NNTT:NNTT -nondefamatory:NNTF:NNTF -nondelinquent:NNTL:NNTL -nondeliveries:NNTL:NNTL -nondemocratic:NNTM:NNTM -nondependence:NNTP:NNTP -nondescriptly:NNTS:NNTS -nondetachable:NNTT:NNTT -nondetonating:NNTT:NNTT -nondiplomatic:NNTP:NNTP -nondisclosure:NNTS:NNTS -nonelectrical:NNLK:NNLK -nonemployment:NNMP:NNMP -nonequivalent:NNKF:NNKF -nonessentials:NNSN:NNSN -nonexcludable:NNKS:NNKS -nonexpendable:NNKS:NNKS -nonexportable:NNKS:NNKS -nonextensible:NNKS:NNKS -nonfictitious:NNFK:NNFK -nonfilterable:NNFL:NNFL -nonforfeiture:NNFR:NNFR -nonfunctional:NNFN:NNFN -nongovernment:NNKF:NNKF -nongratuitous:NNKR:NNKR -nongregarious:NNKR:NNKR -nonhereditary:NNRT:NNRT -nonhistorical:NNST:NNST -nonidentities:NNTN:NNTN -nonimmigrants:NNMK:NNMK -nonimmunities:NNMN:NNMN -noninclusions:NNNK:NNNK -nonincriminat:NNNK:NNNK -nonindictable:NNNT:NNNT -nonindustrial:NNNT:NNNT -noninfectious:NNNF:NNNF -nonintoxicant:NNNT:NNNT -nonintoxicate:NNNT:NNNT -nonirritating:NNRT:NNRT -nonjudgmental:NNJT:NNJT -nonliturgical:NNLT:NNLT -nonmarketable:NNMR:NNMR -nonmeasurable:NNMS:NNMS -nonmechanical:NNMX:NNMK -nonmembership:NNMM:NNMM -nonmilitantly:NNML:NNML -nonmilitarily:NNML:NNML -nonmystically:NNMS:NNMS -nonmythically:NNM0:NNMT -nonnegotiable:NNKX:NNKX -nonneoplastic:NNPL:NNPL -nonnutritious:NNTR:NNTR -nonobligatory:NNPL:NNPL -nonobservance:NNPS:NNPS -nonoccurrence:NNKR:NNKR -nonofficially:NNFS:NNFX -nonorthogonal:NNR0:NNRT -nonparametric:NNPR:NNPR -nonparticipat:NNPR:NNPR -nonpathogenic:NNP0:NNPT -nonperishable:NNPR:NNPR -nonpersistent:NNPR:NNPR -nonphysically:NNFS:NNFS -nonpossession:NNPS:NNPS -nonpossessive:NNPS:NNPS -nonprocedural:NNPR:NNPR -nonproduction:NNPR:NNPR -nonproductive:NNPR:NNPR -nonprofitable:NNPR:NNPR -nonprogrammer:NNPR:NNPR -nonprotective:NNPR:NNPR -nonpunishable:NNPN:NNPN -nonrationally:NNRX:NNRX -nonreciprocal:NNRS:NNRS -nonrecurrents:NNRK:NNRK -nonredeemable:NNRT:NNRT -nonrefillable:NNRF:NNRF -nonreflective:NNRF:NNRF -nonregimented:NNRJ:NNRK -nonregistered:NNRJ:NNRK -nonregulation:NNRK:NNRK -nonresistance:NNRS:NNRS -nonrestricted:NNRS:NNRS -nonreturnable:NNRT:NNRT -nonreversible:NNRF:NNRF -nonscholastic:NNXL:NNXL -nonscientific:NNSN:NNSN -nonsegregated:NNSK:NNSK -nonsensically:NNSN:NNSN -nonshrinkable:NNXR:NNXR -nonspecialist:NNSP:NNSP -nonstructural:NNST:NNST -nonsubmissive:NNSP:NNSP -nonsubscriber:NNSP:NNSP -nonsuccessive:NNSK:NNSK -nonsuggestive:NNSK:NNSK -nonsulphurous:NNSL:NNSL -nonsustaining:NNSS:NNSS -nonsystematic:NNSS:NNSS -nontemporally:NNTM:NNTM -nontheatrical:NN0T:NNTT -nontransitive:NNTR:NNTR -nonvascularly:NNFS:NNFS -nonverifiable:NNFR:NNFR -nonvocational:NNFK:NNFK -noradrenaline:NRTR:NRTR -norethindrone:NR0N:NRTN -norethynodrel:NR0N:NRTN -normalization:NRML:NRML -normativeness:NRMT:NRMT -northeasterly:NR0S:NRTS -northeastward:NR0S:NRTS -northerliness:NR0R:NRTR -northwesterly:NR0S:NRTS -northwestward:NR0S:NRTS -nortriptyline:NRTR:NRTR -nosogeography:NSJK:NSKK -nosologically:NSLJ:NSLK -nostalgically:NSTL:NSTL -notarizations:NTRS:NTRS -noticeability:NTSP:NTSP -notifications:NTFK:NTFK -notoriousness:NTRS:NTRS -novelizations:NFLS:NFLS -nucleohistone:NKLH:NKLH -nucleonically:NKLN:NKLN -nucleoplasmic:NKLP:NKLP -nucleoprotein:NKLP:NKLP -nullification:NLFK:NLFK -nulligravidae:NLKR:NLKR -nulligravidas:NLKR:NLKR -numerological:NMRL:NMRL -numerologists:NMRL:NMRL -numismatology:NMSM:NMSM -nutritionally:NTRX:NTRX -nutritionists:NTRX:NTRX -nymphaeaceous:NMFS:NMFS -nympholepsies:NMFL:NMFL -nymphomaniacs:NMFM:NMFM -objectionable:APJK:APJK -objectionably:APJK:APJK -objectiveness:APJK:APJK -objectivistic:APJK:APJK -obliterations:APLT:APLT -obliviousness:APLF:APLF -obnoxiousness:APNK:APNK -obscurantists:APSK:APSK -observability:APSR:APSR -observational:APSR:APSR -observatories:APSR:APSR -obsessionally:APSS:APSS -obsessiveness:APSS:APSS -obsignatories:APSN:APSK -obsolescently:APSL:APSL -obstetrically:APST:APST -obstetricians:APST:APST -obstinateness:APST:APST -obstructional:APST:APST -obstructively:APST:APST -obtainability:APTN:APTN -obtrusiveness:APTR:APTR -occasionalism:AKSN:AKXN -occidentalise:AXTN:AXTN -occidentalism:AXTN:AXTN -occidentalist:AXTN:AXTN -occlusiveness:AKLS:AKLS -oceanographer:ASNK:ASNK -oceanographic:ASNK:ASNK -oceanologists:ASNL:ASNL -octocentenary:AKTS:AKTS -octogenarians:AKTJ:AKTK -ododntologist:ATTN:ATTN -odontectomies:ATNT:ATNT -odontoblastic:ATNT:ATNT -odontoglossum:ATNT:ATNT -odontological:ATNT:ATNT -odontologists:ATNT:ATNT -odontophorous:ATNT:ATNT -odoriferously:ATRF:ATRF -offensiveness:AFNS:AFNS -offhandedness:AFNT:AFNT -officeholders:AFSH:AFSH -officialising:AFSL:AFXL -officialities:AFSL:AFXL -officiousness:AFSS:AFXS -oleomargarine:ALMR:ALMR -oleosaccharum:ALSX:ALSX -olfactologies:ALFK:ALFK -olfactometric:ALFK:ALFK -oligocythemia:ALKS:ALKS -oligocythemic:ALKS:ALKS -oligodactylia:ALKT:ALKT -oligolecithal:ALKL:ALKL -oligopolistic:ALKP:ALKP -oligopsonists:ALKP:ALKP -omentectomies:AMNT:AMNT -ommatophorous:AMTF:AMTF -omnicompetent:AMNK:AMNK -omnifariously:AMNF:AMNF -onchocercoses:ANXS:ANKS -onchocercosis:ANXS:ANKS -onomatologies:ANMT:ANMT -ontogenetical:ANTJ:ANTK -ontogenically:ANTJ:ANTK -ontologically:ANTL:ANTL -onychomadesis:ANXM:ANKM -onychomalacia:ANXM:ANKM -onychomycoses:ANXM:ANKM -onychomycosis:ANXM:ANKM -onychophagies:ANXF:ANKF -onychorrhexes:ANXR:ANKR -onychorrhexis:ANXR:ANKR -onychoschizia:ANXX:ANKX -opacification:APSF:APSF -openendedness:APNN:APNN -openheartedly:APNR:APNR -operabilities:APRP:APRP -operationally:APRX:APRX -operativeness:APRT:APRT -ophthalmology:AF0L:AFTL -opiniatedness:APNT:APNT -opinionatedly:APNN:APNN -opisthobranch:APS0:APST -opportuneness:APRT:APRT -opportunistic:APRT:APRT -opportunities:APRT:APRT -oppositionist:APSX:APSX -opprobriating:APRP:APRP -opprobriously:APRP:APRP -optimizations:APTM:APTM -orchestrating:ARKS:ARKS -orchestration:ARKS:ARKS -orchestrators:ARKS:ARKS -orchidopexies:ARKT:ARKT -orchiectomies:ARXK:ARKK -organizations:ARKN:ARKN -organogeneses:ARKN:ARKN -organogenesis:ARKN:ARKN -organogenetic:ARKN:ARKN -organographic:ARKN:ARKN -organological:ARKN:ARKN -organoscopies:ARKN:ARKN -organotherapy:ARKN:ARKN -organotrophic:ARKN:ARKN -organotropies:ARKN:ARKN -organotropism:ARKN:ARKN -orientalising:ARNT:ARNT -orientational:ARNT:ARNT -originalities:ARJN:ARKN -ornamentation:ARNM:ARNM -ornithischian:ARN0:ARNT -ornithologist:ARN0:ARNT -oropharyngeal:ARFR:ARFR -orthocephalic:AR0S:ARTS -orthodontists:AR0T:ARTT -orthoepically:AR0P:ARTP -orthognathism:AR0N:ARTK -orthognathous:AR0N:ARTK -orthogonality:AR0K:ARTK -orthographies:AR0K:ARTK -orthographist:AR0K:ARTK -orthohydrogen:AR0H:ARTH -orthopaedists:AR0P:ARTP -orthopyroxene:AR0P:ARTP -orthostichies:AR0S:ARTS -orthostichous:AR0S:ARTS -oscillography:ASLK:ASLK -oscillometric:ASLM:ASLM -oscilloscopes:ASLS:ASLS -oscilloscopic:ASLS:ASLS -osmoregulator:ASMR:ASMR -ossiculectomy:ASKL:ASKL -ossifications:ASFK:ASFK -ostensibility:ASTN:ASTN -osteochondral:ASTX:ASTK -osteocraniums:ASTK:ASTK -osteofibromas:ASTF:ASTF -osteofibroses:ASTF:ASTF -osteofibrosis:ASTF:ASTF -osteographies:ASTK:ASTK -osteomalacial:ASTM:ASTM -osteometrical:ASTM:ASTM -osteomyelitic:ASTM:ASTM -osteomyelitis:ASTM:ASTM -osteonecroses:ASTN:ASTN -osteonecrosis:ASTN:ASTN -osteopathical:ASTP:ASTP -osteopathists:ASTP:ASTP -osteopetroses:ASTP:ASTP -osteopetrosis:ASTP:ASTP -osteopetrotic:ASTP:ASTP -osteoplasties:ASTP:ASTP -osteosarcomas:ASTS:ASTS -ototoxicities:ATTK:ATTK -outbargaining:ATPR:ATPR -outdistancing:ATST:ATST -outgeneralled:ATJN:ATKN -outmaneuvered:ATMN:ATMN -outmaneuvring:ATMN:ATMN -outmanoeuvred:ATMN:ATMN -outmanoeuvres:ATMN:ATMN -outperforming:ATPR:ATPR -outspokenness:ATSP:ATSP -outstandingly:ATST:ATST -outstretching:ATST:ATST -ovariectomies:AFRK:AFRK -ovariectomize:AFRK:AFRK -overabounding:AFRP:AFRP -overabundance:AFRP:AFRP -overachieving:AFRX:AFRK -overadvancing:AFRT:AFRT -overaffecting:AFRF:AFRF -overambitious:AFRM:AFRM -overanalyzing:AFRN:AFRN -overanimation:AFRN:AFRN -overasserting:AFRS:AFRS -overassertion:AFRS:AFRS -overassertive:AFRS:AFRS -overattentive:AFRT:AFRT -overbalancing:AFRP:AFRP -overbearingly:AFRP:AFRP -overburdening:AFRP:AFRP -overcivilises:AFRS:AFRS -overcivilized:AFRS:AFRS -overcivilizes:AFRS:AFRS -overcommitted:AFRK:AFRK -overconfident:AFRK:AFRK -overconsuming:AFRK:AFRK -overcorrected:AFRK:AFRK -overcriticize:AFRK:AFRK -overcultivate:AFRK:AFRK -overdecorated:AFRT:AFRT -overdecorates:AFRT:AFRT -overdefensive:AFRT:AFRT -overdependent:AFRT:AFRT -overdeveloped:AFRT:AFRT -overdeviating:AFRT:AFRT -overdiversify:AFRT:AFRT -overdiversity:AFRT:AFRT -overdramatize:AFRT:AFRT -overeducating:AFRT:AFRT -overelaborate:AFRL:AFRL -overembellish:AFRM:AFRM -overembroider:AFRM:AFRM -overemotional:AFRM:AFRM -overemphasize:AFRM:AFRM -overemulation:AFRM:AFRM -overestimated:AFRS:AFRS -overestimates:AFRS:AFRS -overexcitable:AFRK:AFRK -overexcitably:AFRK:AFRK -overexercised:AFRK:AFRK -overexercises:AFRK:AFRK -overexpanding:AFRK:AFRK -overexpansion:AFRK:AFRK -overexpectant:AFRK:AFRK -overexploited:AFRK:AFRK -overextending:AFRK:AFRK -overextension:AFRK:AFRK -overfatiguing:AFRF:AFRF -overfurnished:AFRF:AFRF -overfurnishes:AFRF:AFRF -overhastiness:AFRS:AFRS -overidealises:AFRT:AFRT -overidealized:AFRT:AFRT -overidealizes:AFRT:AFRT -overimpressed:AFRM:AFRM -overimpresses:AFRM:AFRM -overinclining:AFRN:AFRN -overindulgent:AFRN:AFRN -overindulging:AFRN:AFRN -overinflating:AFRN:AFRN -overinfluence:AFRN:AFRN -overinsistent:AFRN:AFRN -overinsurance:AFRN:AFRN -overintensely:AFRN:AFRN -overinvesting:AFRN:AFRN -overmagnified:AFRM:AFRM -overmagnifies:AFRM:AFRM -overmastering:AFRM:AFRM -overmodifying:AFRM:AFRM -overnutrition:AFRN:AFRN -overpersuaded:AFRP:AFRP -overpersuades:AFRP:AFRP -overpopulated:AFRP:AFRP -overpopulates:AFRP:AFRP -overpressures:AFRP:AFRP -overproducing:AFRP:AFRP -overprominent:AFRP:AFRP -overprotected:AFRP:AFRP -overpublicize:AFRP:AFRP -overqualified:AFRK:AFRK -overrestricts:AFRS:AFRS -overrighteous:AFRT:AFRT -oversceptical:AFRS:AFRS -oversensitive:AFRS:AFRS -overshadowing:AFRX:AFRX -overskeptical:AFRS:AFRS -overspreading:AFRS:AFRS -overstatement:AFRS:AFRS -overstimulate:AFRS:AFRS -overstraining:AFRS:AFRS -overstretched:AFRS:AFRS -overstretches:AFRS:AFRS -oversubscribe:AFRS:AFRS -oversupplying:AFRS:AFRS -overtechnical:AFRT:AFRT -overvaluation:AFRF:AFRF -overweeningly:AFRN:AFRN -overwillingly:AFRL:AFRL -overwintering:AFRN:AFRN -overzealously:AFRS:AFRS -oviparousness:AFPR:AFPR -ovipositional:AFPS:AFPS -ovotesticular:AFTS:AFTS -ovoviviparity:AFFF:AFFF -ovoviviparous:AFFF:AFFF -oxalosuccinic:AKSL:AKSL -oxophenarsine:AKSF:AKSF -oxygenicities:AKSJ:AKSK -oxyhemoglobin:AKSH:AKSH -oystercatcher:ASTR:ASTR -pachyacriaing:PKKR:PKKR -pachycephalia:PKSF:PKSF -pachymeninges:PKMN:PKMN -paediatrician:PTTR:PTTR -painstakingly:PNST:PNST -palaeobotanic:PLPT:PLPT -palaeographer:PLKR:PLKR -palaeographic:PLKR:PLKR -palaeontology:PLNT:PLNT -palaeozoology:PLSL:PLSL -palatoglossal:PLTK:PLTK -palatoglossus:PLTK:PLTK -palatographic:PLTK:PLTK -palatorrhaphy:PLTR:PLTR -palatoschises:PLTX:PLTX -palatoschisis:PLTX:PLTX -paleencephala:PLNS:PLNS -paleocortices:PLKR:PLKR -paleographers:PLKR:PLKR -paleopalliums:PLPL:PLPL -paleostriatal:PLST:PLST -paleostriatum:PLST:PLST -paleothalamus:PL0L:PLTL -palindromical:PLNT:PLNT -pallaesthesia:PLS0:PLST -palletization:PLTS:PLTS -palynological:PLNL:PLNL -panchromatism:PNXR:PNKR -pancreatolith:PNKR:PNKR -pancreatotomy:PNKR:PNKR -pandiculation:PNTK:PNTK -panendoscopic:PNNT:PNNT -panleucopenia:PNLK:PNLK -panleukopenia:PNLK:PNLK -panmyelopathy:PNML:PNML -panoramically:PNRM:PNRM -pansophically:PNSF:PNSF -panspermatism:PNSP:PNSP -pantaloonette:PNTL:PNTL -pantheistical:PN0S:PNTS -papaveraceous:PPFR:PPFR -papilledemata:PPLT:PPLT -papilliferous:PPLF:PPLF -papilloedemas:PPLT:PPLT -papillomatous:PPLM:PPLM -papyrological:PPRL:PPRL -parabolically:PRPL:PRPL -paradidymides:PRTT:PRTT -paradoxically:PRTK:PRTK -paraffinomata:PRFN:PRFN -paragammacism:PRKM:PRKM -paraganglioma:PRKN:PRKN -paraganglions:PRKN:PRKN -paragogically:PRKJ:PRKK -paragraphical:PRKR:PRKR -parainfluenza:PRNF:PRNF -parakeratoses:PRKR:PRKR -parakeratosis:PRKR:PRKR -parakeratotic:PRKR:PRKR -parallelizing:PRLL:PRLL -parallelogram:PRLL:PRLL -paralytically:PRLT:PRLT -paramagnetism:PRMN:PRMK -parameterized:PRMT:PRMT -parameterizes:PRMT:PRMT -parameterless:PRMT:PRMT -paramyoclonus:PRMK:PRMK -paranephritis:PRNF:PRNF -paranormality:PRNR:PRNR -paraphernalia:PRFR:PRFR -parapoplexies:PRPP:PRPP -paraproctitis:PRPR:PRPR -parapsoriases:PRPS:PRPS -parapsoriasis:PRPS:PRPS -parasecretion:PRSK:PRSK -parasexuality:PRSK:PRSK -parasigmatism:PRSK:PRSK -parasitically:PRST:PRST -parasiticidal:PRST:PRST -parasiticidic:PRST:PRST -parasitogenic:PRST:PRST -parasitologic:PRST:PRST -parasternally:PRST:PRST -parasynthesis:PRSN:PRSN -parasynthetic:PRSN:PRSN -parasyntheton:PRSN:PRSN -parathyroidal:PR0R:PRTR -paraumbilical:PRMP:PRMP -paravaginally:PRFJ:PRFK -paravaginitis:PRFJ:PRFK -paravertebral:PRFR:PRFR -parenchymatic:PRNX:PRNK -parenthesized:PRN0:PRNT -parenthesizes:PRN0:PRNT -parenthetical:PRN0:PRNT -parepididymis:PRPT:PRPT -parexcellence:PRKS:PRKS -parliamentary:PRLM:PRLM -parophthalmia:PRF0:PRFT -parotidectomy:PRTT:PRTT -parotiditises:PRTT:PRTT -parovariotomy:PRFR:PRFR -parthenocarpy:PR0N:PRTN -parthenogenic:PR0N:PRTN -participating:PRTS:PRTS -participation:PRTS:PRTS -participators:PRTS:PRTS -participatory:PRTS:PRTS -participially:PRTS:PRTS -particularism:PRTK:PRTK -particularist:PRTK:PRTK -particularity:PRTK:PRTK -particularize:PRTK:PRTK -parvicellular:PRFS:PRFS -pasqueflowers:PSKF:PSKF -passementerie:PSMN:PSMN -passionflower:PSNF:PSNF -passionlessly:PSNL:PSNL -pasteurellaes:PSTR:PSTR -patentability:PTNT:PTNT -paterfamilias:PTRF:PTRF -paternalistic:PTRN:PTRN -pathogenicity:P0JN:PTKN -pathognomonic:P0NM:PTKN -pathoneuroses:P0NR:PTNR -pathoneurosis:P0NR:PTNR -patriarchally:PTRR:PTRR -patriarchates:PTRR:PTRR -patrileneally:PTRL:PTRL -patrilinearly:PTRL:PTRL -patrilocality:PTRL:PTRL -patrimonially:PTRM:PTRM -patriotically:PTRT:PTRT -patristically:PTRS:PTRS -patronisingly:PTRN:PTRN -patronizingly:PTRN:PTRN -pauperization:PPRS:PPRS -peaceableness:PSPL:PSPL -peculiarities:PKLR:PKLR -pedagogically:PTKJ:PTKK -pedestrianism:PTST:PTST -pedestrianize:PTST:PTST -pediatricians:PTTR:PTTR -pediculicidal:PTKL:PTKL -pedodontiaers:PTTN:PTTN -pedunculation:PTNK:PTNK -pellagragenic:PLKR:PLKR -pelotherapies:PL0R:PLTR -pendulousness:PNTL:PNTL -peneplanation:PNPL:PNPL -penetrability:PNTR:PNTR -penetratingly:PNTR:PNTR -penicillamine:PNSL:PNSL -penicillately:PNSL:PNSL -penicillation:PNSL:PNSL -penicillinase:PNSL:PNSL -penicillioses:PNSL:PNSL -penicilliosis:PNSL:PNSL -peninsularity:PNNS:PNNS -peninsulating:PNNS:PNNS -penitentially:PNTN:PNTN -pennilessness:PNLS:PNLS -pennsylvanian:PNSL:PNSL -pentadactylic:PNTT:PNTT -pentobarbital:PNTP:PNTP -penuriousness:PNRS:PNRS -peotillomania:PTLM:PTLM -pepsiniferous:PPSN:PPSN -peptidoglycan:PPTT:PPTT -peptonization:PPTN:PPTN -perambulating:PRMP:PRMP -perambulation:PRMP:PRMP -perambulators:PRMP:PRMP -perambulatory:PRMP:PRMP -percussionist:PRKS:PRKS -perdurability:PRTR:PRTR -peregrinating:PRKR:PRKR -peregrination:PRKR:PRKR -perfectionism:PRFK:PRFK -perfectionist:PRFK:PRFK -perfervidness:PRFR:PRFR -perfunctorily:PRFN:PRFN -periarteritis:PRRT:PRRT -periarthritis:PRR0:PRRT -periarticular:PRRT:PRRT -periauricular:PRRK:PRRK -peribronchial:PRPR:PRPR -perichondrial:PRXN:PRKN -perichondrium:PRXN:PRKN -pericoronitis:PRKR:PRKR -pericynthions:PRSN:PRSN -peridendritic:PRTN:PRTN -perididymides:PRTT:PRTT -perienteritis:PRNT:PRNT -periependymal:PRPN:PRPN -periglottides:PRKL:PRKL -periglottises:PRKL:PRKL -perihepatitis:PRHP:PRHP -perilaryngeal:PRLR:PRLR -perilymphatic:PRLM:PRLM -perineoplasty:PRNP:PRNP -perineotomies:PRNT:PRNT -perinephritic:PRNF:PRNF -perinephritis:PRNF:PRNF -periodization:PRTS:PRTS -periodontists:PRTN:PRTN -periodontitis:PRTN:PRTN -periodontoses:PRTN:PRTN -periodontosis:PRTN:PRTN -perioptometry:PRPT:PRPT -periorbititis:PRRP:PRRP -periosteomata:PRST:PRST -periosteotomy:PRST:PRST -periostosises:PRST:PRST -peripapillary:PRPP:PRPP -periphlebitis:PRFL:PRFL -periproctitis:PRPR:PRPR -periprostatic:PRPR:PRPR -perisalpinges:PRSL:PRSL -perishability:PRXP:PRXP -perisinusitis:PRSN:PRSN -perisplenitis:PRSP:PRSP -perispondylic:PRSP:PRSP -perissodactyl:PRST:PRST -peritectomies:PRTK:PRTK -peritendineum:PRTN:PRTN -peritheliomas:PR0L:PRTL -peritoneopexy:PRTN:PRTN -peritoneotomy:PRTN:PRTN -peritonsillar:PRTN:PRTN -perityphlitis:PRTF:PRTF -periumbilical:PRMP:PRMP -perivertebral:PRFR:PRFR -perivitelline:PRFT:PRFT -permeableness:PRMP:PRMP -permutability:PRMT:PRMT -permutational:PRMT:PRMT -perpendicular:PRPN:PRPN -perpetrations:PRPT:PRPT -perpetualness:PRPT:PRPT -perseveration:PRSF:PRSF -perseveringly:PRSF:PRSF -personalistic:PRSN:PRSN -personalities:PRSN:PRSN -personalizing:PRSN:PRSN -personifiable:PRSN:PRSN -perspectively:PRSP:PRSP -perspicacious:PRSP:PRSP -perspicuously:PRSP:PRSP -perturbations:PRTR:PRTR -pervasiveness:PRFS:PRFS -pervertedness:PRFR:PRFR -pestiferously:PSTF:PSTF -petrifactives:PTRF:PTRF -petrification:PTRF:PTRF -petrochemical:PTRX:PTRK -petrographers:PTRK:PTRK -petrosphenoid:PTRS:PTRS -petrosquamous:PTRS:PTRS -petrotympanic:PTRT:PTRT -phagocytizing:FKST:FKST -phagocytosing:FKST:FKST -phagocytozing:FKST:FKST -phalangectomy:FLNJ:FLNK -phanerogamous:FNRK:FNRK -phanerozoitic:FNRS:FNRS -phantasmagory:FNTS:FNTS -pharisaically:FRSK:FRSK -pharmaceutics:FRMS:FRMS -pharmaceutist:FRMS:FRMS -pharmacognosy:FRMK:FRMK -pharmacologia:FRMK:FRMK -pharmacologic:FRMK:FRMK -pharmacopedia:FRMK:FRMK -pharmacopedic:FRMK:FRMK -pharmacopeial:FRMK:FRMK -pharmacopeias:FRMK:FRMK -pharmacopoeia:FRMK:FRMK -pharyngectomy:FRNJ:FRNK -pharyngitides:FRNJ:FRNK -pharyngonasal:FRNK:FRNK -pharyngoscope:FRNK:FRNK -pharyngoscopy:FRNK:FRNK -pharyngospasm:FRNK:FRNK -phencyclidine:FNSK:FNSK -phenmetrazine:FNMT:FNMT -phenobarbital:FNPR:FNPR -phenomenalism:FNMN:FNMN -phenomenalist:FNMN:FNMN -phenomenology:FNMN:FNMN -phenothiazine:FN0S:FNTS -phenylalanine:FNLL:FNLL -phenylephrine:FNLF:FNLF -phenylpyruvic:FNLP:FNLP -philadelphian:FLTL:FLTL -philanthropic:FLN0:FLNT -philharmonics:FLRM:FLRM -philhellenist:FLLN:FLLN -philodendrons:FLTN:FLTN -philosophical:FLSF:FLSF -philosophized:FLSF:FLSF -philosophizer:FLSF:FLSF -philosophizes:FLSF:FLSF -phlebectomies:FLPK:FLPK -phlebographic:FLPK:FLPK -phlebotomical:FLPT:FLPT -phlebotomists:FLPT:FLPT -phlebotomized:FLPT:FLPT -phlebotomizes:FLPT:FLPT -phlebotomuses:FLPT:FLPT -phlegmonously:FLKM:FLKM -phlogogenetic:FLKJ:FLKK -phonautograph:FNTK:FNTK -phonendoscope:FNNT:FNNT -phonogramical:FNKR:FNKR -phonographist:FNKR:FNKR -phonometrical:FNMT:FNMT -phonoreceptor:FNRS:FNRS -phosphatizing:FSFT:FSFT -phosphokinase:FSFK:FSFK -phospholipase:FSFL:FSFL -phosphorating:FSFR:FSFR -phosphorizing:FSFR:FSFR -phosphorylase:FSFR:FSFR -phosphorylate:FSFR:FSFR -photobiologic:FTPL:FTPL -photocatalyst:FTKT:FTKT -photocathodes:FTK0:FTKT -photochemical:FTXM:FTKM -photochemists:FTXM:FTKM -photocomposed:FTKM:FTKM -photocomposes:FTKM:FTKM -photocurrents:FTKR:FTKR -photodynamics:FTTN:FTTN -photoelectric:FTLK:FTLK -photoelectron:FTLK:FTLK -photoemission:FTMS:FTMS -photoemissive:FTMS:FTMS -photoengraved:FTNK:FTNK -photoengraver:FTNK:FTNK -photoengraves:FTNK:FTNK -photographers:FTKR:FTKR -photographing:FTKR:FTKR -photogravures:FTKR:FTKR -photometrical:FTMT:FTMT -photonegative:FTNK:FTNK -photoneutrons:FTNT:FTNT -photoperiodic:FTPR:FTPR -photopositive:FTPS:FTPS -photoreaction:FTRK:FTRK -photoreceptor:FTRS:FTRS -photostatting:FTST:FTST -phototactical:FTTK:FTTK -phototropical:FTTR:FTTR -phraseography:FRSK:FRSK -phraseologies:FRSL:FRSL -phraseologist:FRSL:FRSL -phreatophytes:FRTF:FRTF -phrenasthenia:FRNS:FRNS -phrenetically:FRNT:FRNT -phrenicectomy:FRNS:FRNS -phreniclasias:FRNK:FRNK -phrenocardiac:FRNK:FRNK -phrenogastric:FRNK:FRNK -phrenoglottic:FRNK:FRNK -phrenological:FRNL:FRNL -phrenologists:FRNL:FRNL -phrenosplenic:FRNS:FRNS -phycoerythrin:FKR0:FKRT -phycomycetous:FKMS:FKMS -phygogalactic:FKKL:FKKL -phyllopyrrole:FLPR:FLPR -phylloquinone:FLKN:FLKN -physianthropy:FSN0:FXNT -physicalistic:FSKL:FSKL -physiognomies:FSNM:FXKN -physiognomist:FSNM:FXKN -physiographer:FSKR:FXKR -physiographic:FSKR:FXKR -physiological:FSLJ:FXLK -physiologists:FSLJ:FXLK -physiopsychic:FSPS:FXPS -physiotherapy:FS0R:FXTR -physocephalus:FSSF:FSSF -physoclistous:FSKL:FSKL -physostigmine:FSST:FSST -phytochemical:FTXM:FTKM -phytochemists:FTXM:FTKM -phytohormones:FTHR:FTHR -phytoparasite:FTPR:FTPR -phytopathogen:FTP0:FTPT -phytoplankton:FTPL:FTPL -phytotoxicity:FTTK:FTTK -picturephones:PKTR:PKTR -picturesquely:PKTR:PKTR -piezoelectric:PSLK:PSLK -pigheadedness:PTTN:PTTN -pigmentations:PKMN:PKMN -pigmentophage:PKMN:PKMN -pilocarpidine:PLKR:PLKR -pilosebaceous:PLSP:PLSP -pinheadedness:PNTT:PNTT -pinocytotical:PNST:PNST -piroplasmoses:PRPL:PRPL -piroplasmosis:PRPL:PRPL -piscatorially:PSKT:PSKT -piscicultural:PSKL:PSKL -piscinivorous:PSNF:PSNF -placentitides:PLSN:PLSN -plagiocephaly:PLJS:PLKS -plagioclastic:PLJK:PLKK -plagiotropism:PLJT:PLKT -plaintiveness:PLNT:PLNT -planetologist:PLNT:PLNT -planigraphies:PLNK:PLNK -planimetrical:PLNM:PLNM -plasmacytomas:PLSM:PLSM -plasmacytoses:PLSM:PLSM -plasmacytosis:PLSM:PLSM -plasmocytomas:PLSM:PLSM -plasmodesmata:PLSM:PLSM -plasmolytical:PLSM:PLSM -plasmolyzable:PLSM:PLSM -plastoquinone:PLST:PLST -platiniferous:PLTN:PLTN -platiniridium:PLTN:PLTN -platinization:PLTN:PLTN -platinocyanic:PLTN:PLTN -platitudinize:PLTT:PLTT -platitudinous:PLTT:PLTT -platycephalic:PLTS:PLTS -platyhelminth:PLTH:PLTH -platyrrhinian:PLTR:PLTR -platyrrhinies:PLTR:PLTR -plausibleness:PLSP:PLSP -plenteousness:PLNT:PLNT -plentifulness:PLNT:PLNT -plethorically:PL0R:PLTR -plethysmogram:PL0S:PLTS -pleurocentrum:PLRS:PLRS -pluralization:PLRL:PLRL -pluripresence:PLRP:PLRP -pneumatically:NMTK:NMTK -pneumatograph:NMTK:NMTK -pneumatolysis:NMTL:NMTL -pneumatometry:NMTM:NMTM -pneumatophore:NMTF:NMTF -pneumectomies:NMKT:NMKT -pneumobacilli:NMPS:NMPS -pneumogastric:NMKS:NMKS -pneumographic:NMKR:NMKR -pneumological:NMLJ:NMLK -pneumomycoses:NMMK:NMMK -pneumomycosis:NMMK:NMMK -pneumonectomy:NMNK:NMNK -pneumonitides:NMNT:NMNT -pneumonolyses:NMNL:NMNL -pneumonolysis:NMNL:NMNL -podsolization:PTSL:PTSL -podzolization:PTSL:PTSL -poikilodermas:PKLT:PKLT -poikilothermy:PKL0:PKLT -pointlessness:PNTL:PNTL -poisonousness:PSNS:PSNS -polarimetries:PLRM:PLRM -polarizations:PLRS:PLRS -polarographic:PLRK:PLRK -policyholders:PLSH:PLSH -poliomyelitic:PLML:PLML -poliomyelitis:PLML:PLML -pollicitation:PLST:PLST -polliniferous:PLNF:PLNF -polyadelphous:PLTL:PLTL -polyandrously:PLNT:PLNT -polyarteritis:PLRT:PLRT -polyarthritis:PLR0:PLRT -polyarticular:PLRT:PLRT -polycarbonate:PLKR:PLKR -polychromasia:PLXR:PLKR -polychromatic:PLXR:PLKR -polycotyledon:PLKT:PLKT -polydactylies:PLTK:PLTK -polydactylism:PLTK:PLTK -polydactylous:PLTK:PLTK -polyembryonic:PLMP:PLMP -polygalaceous:PLKL:PLKL -polyglandular:PLKL:PLKL -polyglobulism:PLKL:PLKL -polygonaceous:PLKN:PLKN -polygraphical:PLKR:PLKR -polymastigote:PLMS:PLMS -polymenorrhea:PLMN:PLMN -polymerically:PLMR:PLMR -polymicrobial:PLMK:PLMK -polymorphical:PLMR:PLMR -polynucleoses:PLNK:PLNK -polynucleosis:PLNK:PLNK -polyorchidism:PLRK:PLRK -polyovulation:PLFL:PLFL -polypectomies:PLPK:PLPK -polyphonously:PLFN:PLFN -polyphyletism:PLFL:PLFL -polyphyletist:PLFL:PLFL -polypropylene:PLPR:PLPR -polyprotodont:PLPR:PLPR -polyribosomal:PLRP:PLRP -polyserositis:PLSR:PLSR -polysyllables:PLSL:PLSL -polysyllogism:PLSL:PLSL -polysynthesis:PLSN:PLSN -polysynthetic:PLSN:PLSN -polytechnical:PLTK:PLTK -polyurethanes:PLR0:PLRT -polyvalencies:PLFL:PLFL -pomologically:PMLJ:PMLK -ponderability:PNTR:PNTR -ponderousness:PNTR:PNTR -pontificating:PNTF:PNTF -porcelaineous:PRSL:PRSL -porcellaneous:PRSL:PRSL -pornographies:PRNK:PRNK -porphyrinuria:PRFR:PRFR -possibilities:PSPL:PSPL -postclassical:PSTK:PSTK -postcondition:PSTK:PSTK -postdigestive:PSTJ:PSTK -postembryonal:PSTM:PSTM -postembryonic:PSTM:PSTM -postepileptic:PSTP:PSTP -posterestante:PSTR:PSTR -posterioriing:PSTR:PSTR -posteromedial:PSTR:PSTR -posteromedian:PSTR:PSTR -postglenoidal:PSTK:PSTK -postgraduates:PSTK:PSTK -postliminiary:PSTL:PSTL -postmenstrual:PSTM:PSTM -postoperative:PSTP:PSTP -postpituitary:PSTP:PSTP -postponements:PSTP:PSTP -postpyramidal:PSTP:PSTP -postreduction:PSTR:PSTR -postscapulaes:PSTS:PSTS -postsecondary:PSTS:PSTS -posttraumatic:PSTR:PSTR -posttreatment:PSTR:PSTR -postulantship:PSTL:PSTL -potentiometry:PTNT:PTNT -powerlessness:PRLS:PRLS -practicalness:PRKT:PRKT -practitioners:PRKT:PRKT -pragmatically:PRKM:PRKM -praisefulness:PRSF:PRSF -praxeological:PRKS:PRKS -prayerfulness:PRRF:PRRF -preacceptance:PRXP:PRXP -preaccustomed:PRKS:PRKS -preacquainted:PRKN:PRKN -preaddressing:PRTR:PRTR -preadjustable:PRTJ:PRTJ -preadjustment:PRTJ:PRTJ -preadolescent:PRTL:PRTL -preadvertised:PRTF:PRTF -preadvertises:PRTF:PRTF -preamplifiers:PRMP:PRMP -preanesthetic:PRNS:PRNS -preannouncing:PRNN:PRNN -preappearance:PRPR:PRPR -preappointing:PRPN:PRPN -preascertains:PRSR:PRSR -preassembling:PRSM:PRSM -preassumption:PRSM:PRSM -preassurances:PRSR:PRSR -precalculated:PRKL:PRKL -precalculates:PRKL:PRKL -precautionary:PRKX:PRKX -precedentless:PRST:PRST -precentorship:PRSN:PRSN -preceptresses:PRSP:PRSP -precipitantly:PRSP:PRSP -precipitately:PRSP:PRSP -precipitating:PRSP:PRSP -precipitation:PRSP:PRSP -precipitative:PRSP:PRSP -precipitously:PRSP:PRSP -preclinically:PRKL:PRKL -precogitating:PRKJ:PRKK -precognitions:PRKN:PRKK -precollegiate:PRKL:PRKL -precommissure:PRKM:PRKM -preconcealing:PRKN:PRKN -preconceiving:PRKN:PRKN -preconception:PRKN:PRKN -preconcerting:PRKN:PRKN -preconcession:PRKN:PRKN -precondemning:PRKN:PRKN -preconditions:PRKN:PRKN -preconization:PRKN:PRKN -preconjecture:PRKN:PRKN -preconnection:PRKN:PRKN -preconsidered:PRKN:PRKN -preconstructs:PRKN:PRKN -precontracted:PRKN:PRKN -precontriving:PRKN:PRKN -preconviction:PRKN:PRKN -precopulatory:PRKP:PRKP -predatoriness:PRTT:PRTT -predefinition:PRTF:PRTF -predepression:PRTP:PRTP -predesignated:PRTS:PRTS -predesignates:PRTS:PRTS -predestinable:PRTS:PRTS -predestinated:PRTS:PRTS -predestinates:PRTS:PRTS -predetermined:PRTT:PRTT -predeterminer:PRTT:PRTT -predetermines:PRTT:PRTT -prediagnostic:PRTN:PRTK -predicability:PRTK:PRTK -predicatively:PRTK:PRTK -predilections:PRTL:PRTL -predissolving:PRTS:PRTS -predominantly:PRTM:PRTM -predominately:PRTM:PRTM -predominating:PRTM:PRTM -predomination:PRTM:PRTM -preenlistment:PRNL:PRNL -preestimating:PRST:PRST -prefabricated:PRFP:PRFP -prefabricates:PRFP:PRFP -prefabricator:PRFP:PRFP -preferability:PRFR:PRFR -prefiguration:PRFK:PRFK -prefigurative:PRFK:PRFK -prefigurement:PRFK:PRFK -preganglionic:PRKN:PRKN -prehistorical:PRHS:PRHS -prehypophyses:PRHP:PRHP -prehypophysis:PRHP:PRHP -preincubation:PRNK:PRNK -preindicating:PRNT:PRNT -preindustrial:PRNT:PRNT -preinitialize:PRNX:PRNX -preinstructed:PRNS:PRNS -preintimation:PRNT:PRNT -prejudgements:PRJJ:PRJJ -prejudicially:PRJT:PRJT -preliminaries:PRLM:PRLM -preliminarily:PRLM:PRLM -prematureness:PRMT:PRMT -prematurities:PRMT:PRMT -premedicating:PRMT:PRMT -premedication:PRMT:PRMT -premeditating:PRMT:PRMT -premeditation:PRMT:PRMT -premeditative:PRMT:PRMT -premeditators:PRMT:PRMT -premenopausal:PRMN:PRMN -premenstruums:PRMN:PRMN -premillennial:PRML:PRML -preoccupation:PRKP:PRKP -preordination:PRRT:PRRT -preparatively:PRPR:PRPR -preparatories:PRPR:PRPR -preparatorily:PRPR:PRPR -preperception:PRPR:PRPR -preperceptive:PRPR:PRPR -preponderance:PRPN:PRPN -preponderated:PRPN:PRPN -preponderates:PRPN:PRPN -prepositional:PRPS:PRPS -prepositively:PRPS:PRPS -prepossessing:PRPS:PRPS -prepossession:PRPS:PRPS -preprocessing:PRPR:PRPR -preprocessors:PRPR:PRPR -preproduction:PRPR:PRPR -preprogrammed:PRPR:PRPR -prepubertally:PRPP:PRPP -prepubescence:PRPP:PRPP -preregistered:PRRJ:PRRK -prerequisites:PRRK:PRRK -preretirement:PRRT:PRRT -presanctified:PRSN:PRSN -presbyacousia:PRSP:PRSP -presbyacusias:PRSP:PRSP -presbyterians:PRSP:PRSP -presbyteriate:PRSP:PRSP -prescientific:PRSN:PRSN -prescriptible:PRSK:PRSK -prescriptions:PRSK:PRSK -presenilities:PRSN:PRSN -presentations:PRSN:PRSN -presentiments:PRSN:PRSN -preservations:PRSR:PRSR -preservatives:PRSR:PRSR -presidentship:PRST:PRST -presignifying:PRSN:PRSK -prestigiously:PRST:PRST -presumptively:PRSM:PRSM -presynaptical:PRSN:PRSN -pretentiously:PRTN:PRTN -pretermission:PRTR:PRTR -pretermitting:PRTR:PRTR -preternatural:PRTR:PRTR -pretubercular:PRTP:PRTP -prevaricating:PRFR:PRFR -prevarication:PRFR:PRFR -prevaricators:PRFR:PRFR -preventatives:PRFN:PRFN -preventoriums:PRFN:PRFN -prevocational:PRFK:PRFK -pricelessness:PRSL:PRSL -primigravidae:PRMK:PRMK -primigravidas:PRMK:PRMK -primiparities:PRMP:PRMP -primitiveness:PRMT:PRMT -primitivistic:PRMT:PRMT -primogenitary:PRMJ:PRMK -primogenitors:PRMJ:PRMK -primogeniture:PRMJ:PRMK -primordiality:PRMR:PRMR -principalship:PRNS:PRNS -prismatically:PRSM:PRSM -privatization:PRFT:PRFT -prizefighters:PRSF:PRSF -prizefighting:PRSF:PRSF -proannexation:PRNK:PRNK -proautomation:PRTM:PRTM -probabilistic:PRPP:PRPP -probabilities:PRPP:PRPP -probationally:PRPX:PRPX -problematical:PRPL:PRPL -procapitalist:PRKP:PRKP -procathedrals:PRK0:PRKT -processionals:PRSS:PRSS -processionary:PRSS:PRSS -processionist:PRSS:PRSS -proclamations:PRKL:PRKL -procommunists:PRKM:PRKM -procompromise:PRKM:PRKM -proconsulates:PRKN:PRKN -proconsulship:PRKN:PRKN -procrastinate:PRKR:PRKR -procreativity:PRKR:PRKR -proctectomies:PRKT:PRKT -proctocolitis:PRKT:PRKT -proctological:PRKT:PRKT -proctologists:PRKT:PRKT -proctoscopies:PRKT:PRKT -proctostomies:PRKT:PRKT -procurationem:PRKR:PRKR -procuratorial:PRKR:PRKR -prodemocratic:PRTM:PRTM -producibility:PRTS:PRTS -profederation:PRFT:PRFT -professionals:PRFS:PRFS -professorates:PRFS:PRFS -professoriate:PRFS:PRFS -professorship:PRFS:PRFS -profitability:PRFT:PRFT -progenitively:PRJN:PRKN -progenitorial:PRJN:PRKN -progesteronic:PRJS:PRKS -proglottidean:PRKL:PRKL -prognosticate:PRNS:PRKN -progovernment:PRKF:PRKF -progressional:PRKR:PRKR -progressively:PRKR:PRKR -progressivism:PRKR:PRKR -progressivist:PRKR:PRKR -prohibitively:PRHP:PRHP -proinvestment:PRNF:PRNF -proirrigation:PRRK:PRRK -projectionist:PRJK:PRJK -proleptically:PRLP:PRLP -proliferating:PRLF:PRLF -proliferation:PRLF:PRLF -proliferative:PRLF:PRLF -proliferously:PRLF:PRLF -prolongations:PRLN:PRLN -prolymphocyte:PRLM:PRLM -prominentness:PRMN:PRMN -promiscuities:PRMS:PRMS -promiscuously:PRMS:PRMS -promonarchist:PRMN:PRMN -promotiveness:PRMT:PRMT -promulgations:PRML:PRML -pronominalize:PRNM:PRNM -pronormoblast:PRNR:PRNR -pronounceable:PRNN:PRNN -pronouncement:PRNN:PRNN -pronuclearist:PRNK:PRNK -pronunciation:PRNN:PRNN -propagability:PRPK:PRPK -propagandists:PRPK:PRPK -propagandized:PRPK:PRPK -propagandizes:PRPK:PRPK -propagational:PRPK:PRPK -properitoneal:PRPR:PRPR -prophetically:PRFT:PRFT -prophylactics:PRFL:PRFL -propitiatious:PRPX:PRPX -proportionate:PRPR:PRPR -proportioning:PRPR:PRPR -propositional:PRPS:PRPS -propositioned:PRPS:PRPS -proprietaries:PRPR:PRPR -proprietarily:PRPR:PRPR -proprietorial:PRPR:PRPR -proprioceptor:PRPR:PRPR -propriospinal:PRPR:PRPR -propylparaben:PRPL:PRPL -proscriptions:PRSK:PRSK -prosecutorial:PRSK:PRSK -prosecutrices:PRSK:PRSK -prosecutrixes:PRSK:PRSK -proselytizers:PRSL:PRSL -proselytizing:PRSL:PRSL -prosencephala:PRSN:PRSN -prospectively:PRSP:PRSP -prostaglandin:PRST:PRST -prostatectomy:PRST:PRST -prosternation:PRST:PRST -prosthodontia:PRS0:PRST -protanomalies:PRTN:PRTN -protectionism:PRTK:PRTK -protectionist:PRTK:PRTK -protectorates:PRTK:PRTK -protectresses:PRTK:PRTK -proteinaceous:PRTN:PRTN -proteoclastic:PRTK:PRTK -protestantism:PRTS:PRTS -protestations:PRTS:PRTS -prothetically:PR0T:PRTT -protoactinium:PRTK:PRTK -protochordate:PRTX:PRTK -protohistoric:PRTH:PRTH -protolanguage:PRTL:PRTL -protoproteose:PRTP:PRTP -protovertebra:PRTF:PRTF -protuberances:PRTP:PRTP -protuberantly:PRTP:PRTP -prouniversity:PRNF:PRNF -proventriculi:PRFN:PRFN -proverbiality:PRFR:PRFR -provincialise:PRFN:PRFN -provincialism:PRFN:PRFN -provinciality:PRFN:PRFN -provisionally:PRFS:PRFX -provisionment:PRFS:PRFX -provocatively:PRFK:PRFK -proximateness:PRKS:PRKS -proximoataxia:PRKS:PRKS -proximobuccal:PRKS:PRKS -proximolabial:PRKS:PRKS -psephologists:SFLJ:SFLK -pseudesthesia:STS0:STST -pseudoantique:STNT:STNT -pseudoarchaic:STRX:STRK -pseudocarpous:STKR:STKR -pseudoclassic:STKL:STKL -pseudofarcies:STFR:STFR -pseudographer:STKR:STKR -pseudokeratin:STKR:STKR -pseudoliberal:STLP:STLP -pseudomonades:STMN:STMN -pseudomorphic:STMR:STMR -pseudoneuroma:STNR:STNR -pseudoscholar:STXL:STXL -pseudoscience:STSN:STSN -pseudostomata:STST:STST -pseudotropine:STTR:STTR -pseudotruncus:STTR:STTR -psychanalyses:SXNL:SKNL -psychanalysis:SXNL:SKNL -psychanalytic:SXNL:SKNL -psychasthenia:SXS0:SKST -psychasthenic:SXS0:SKST -psychedelical:SXTL:SKTL -psychiatrical:SKTR:SKTR -psychiatrists:SKTR:SKTR -psychoanalyst:SXNL:SKNL -psychoanalyze:SXNL:SKNL -psychobiology:SXPL:SKPL -psychodynamic:SXTN:SKTN -psychogeneses:SXJN:SKKN -psychogenesis:SXJN:SKKN -psychogenetic:SXJN:SKKN -psychogenical:SXJN:SKKN -psychognosies:SXNS:SKKN -psychognostic:SXNS:SKKN -psychographic:SXKR:SKKR -psychohistory:SXHS:SKHS -psychokineses:SXKN:SKKN -psychokinesia:SXKN:SKKN -psychokinesis:SXKN:SKKN -psychokinetic:SXKN:SKKN -psycholepsies:SXLP:SKLP -psychological:SXLJ:SKLK -psychologists:SXLJ:SKLK -psychologized:SXLJ:SKLK -psychologizes:SXLJ:SKLK -psychometrics:SXMT:SKMT -psychometries:SXMT:SKMT -psychometrist:SXMT:SKMT -psychopathies:SXP0:SKPT -psychophysics:SXFS:SKFS -psychosensory:SXSN:SKSN -psychosomatic:SXSM:SKSM -psychosurgeon:SXSR:SKSR -psychosurgery:SXSR:SKSR -psychotherapy:SX0R:SKTR -psychotically:SXTK:SKTK -psychotogenic:SXTJ:SKTK -psychrophilic:SXRF:SKRF -pteridologist:PTRT:PTRT -pteridophytic:PTRT:PTRT -ptochocracies:PTXK:PTKK -pubococcygeal:PPKK:PPKK -puboprostatic:PPPR:PPPR -pulverization:PLFR:PLFR -punctiliously:PNKT:PNKT -punishability:PNXP:PNXP -purgatorially:PRKT:PRKT -purifications:PRFK:PRFK -puritanically:PRTN:PRTN -purposelessly:PRPS:PRPS -purposiveness:PRPS:PRPS -pusillanimity:PSLN:PSLN -pusillanimous:PSLN:PSLN -pycnomorphous:PKNM:PKNM -pyelocystitis:PLSS:PLSS -pyelographies:PLKR:PLKR -pyknoepilepsy:PKNP:PKNP -pylephlebitis:PLFL:PLFL -pylorectomies:PLRK:PLRK -pyloromyotomy:PLRM:PLRM -pyohemothorax:PHM0:PHMT -pyosepticemia:PSPT:PSPT -pyramidalises:PRMT:PRMT -pyramidically:PRMT:PRMT -pyretotherapy:PRT0:PRTT -pyrimethamine:PRMT:PRMT -pyroelectrics:PRLK:PRLK -pyrophosphate:PRFS:PRFS -pyrosulphuric:PRSL:PRSL -pyrotechnical:PRTK:PRTK -quadragesimal:KTRJ:KTRK -quadraphonics:KTRF:KTRF -quadratically:KTRT:KTRT -quadrennially:KTRN:KTRN -quadricipital:KTRS:KTRS -quadrigamists:KTRK:KTRK -quadrigeminal:KTRJ:KTRK -quadrilateral:KTRL:KTRL -quadrillionth:KTRL:KTRL -quadripartite:KTRP:KTRP -quadrisecting:KTRS:KTRS -quadrisection:KTRS:KTRS -quadrumvirate:KTRM:KTRM -quadruplicate:KTRP:KTRP -quadruplicity:KTRP:KTRP -qualification:KLFK:KLFK -qualificatory:KLFK:KLFK -qualitatively:KLTT:KLTT -quantivalence:KNTF:KNTF -quarantinable:KRNT:KRNT -quarrelsomely:KRLS:KRLS -quarterfinals:KRTR:KRTR -quarterlights:KRTR:KRTR -quartermaster:KRTR:KRTR -quartersawing:KRTR:KRTR -quarterstaves:KRTR:KRTR -quartziferous:KRTS:KRTS -queenslanders:KNSL:KNSL -querulousness:KRLS:KRLS -questioningly:KSXN:KSXN -questionnaire:KSXN:KSXN -quickstepping:KKST:KKST -quincentenary:KNSN:KNSN -quincenterary:KNSN:KNSN -quincuncially:KNKN:KNKN -quindecaplets:KNTK:KNTK -quindecennial:KNTS:KNTS -quinquagesima:KNKJ:KNKK -quinquivalent:KNKF:KNKF -quintillionth:KNTL:KNTL -quintuplicate:KNTP:KNTP -quizzicalness:KSKL:KTSK -quodlibetical:KTLP:KTLP -quotabilities:KTPL:KTPL -quotationally:KTXN:KTXN -rachicenteses:RXSN:RKSN -rachicentesis:RXSN:RKSN -radiabilities:RTPL:RTPL -radiculectomy:RTKL:RTKL -radioactinium:RTKT:RTKT -radioactively:RTKT:RTKT -radioactivity:RTKT:RTKT -radioautogram:RTTK:RTTK -radiobiologic:RTPL:RTPL -radiochemical:RTXM:RTKM -radiochemists:RTXM:RTKM -radiodontists:RTTN:RTTN -radiographers:RTKR:RTKR -radiographies:RTKR:RTKR -radioisotopes:RTST:RTST -radioisotopic:RTST:RTST -radiologieses:RTLJ:RTLK -radiometrical:RTMT:RTMT -radionecroses:RTNK:RTNK -radionecrosis:RTNK:RTNK -radionecrotic:RTNK:RTNK -radionuclides:RTNK:RTNK -radiopacities:RTPS:RTPS -radioscopical:RTSK:RTSK -radiotelegram:RTTL:RTTL -radioteletype:RTTL:RTTL -radiothermies:RT0R:RTTR -ramifications:RMFK:RMFK -rancorousness:RNKR:RNKR -randomization:RNTM:RNTM -rangerfinders:RNJR:RNKR -rapaciousness:RPSS:RPXS -rapprochement:RPRX:RPRK -rapturousness:RPTR:RPTR -rarefactional:RRFK:RRFK -ratiocinating:RTSN:RTSN -ratiocination:RTSN:RTSN -ratiocinative:RTSN:RTSN -ratiocinators:RTSN:RTSN -rationaleness:RXNL:RXNL -rationalistic:RXNL:RXNL -rationalities:RXNL:RXNL -rationalizers:RXNL:RXNL -rationalizing:RXNL:RXNL -rattlebrained:RTLP:RTLP -reabbreviated:RPRF:RPRF -reabbreviates:RPRF:RPRF -reacclimating:RKLM:RKLM -reaccommodate:RKMT:RKMT -reaccompanied:RKMP:RKMP -reaccompanies:RKMP:RKMP -reaccrediting:RKRT:RKRT -reaccustoming:RKST:RKST -reacquainting:RKNT:RKNT -reacquisition:RKSX:RKSX -reactionaries:RKXN:RKXN -readjournment:RTJR:RTJR -readjustments:RTJS:RTJS -reaffirmation:RFRM:RFRM -reafforesting:RFRS:RFRS -reaggregation:RKRK:RKRK -realisability:RLSP:RLSP -realistically:RLST:RLST -realizability:RLSP:RLSP -reallocations:RLKX:RLKX -realterations:RLTR:RLTR -reappearances:RPRN:RPRN -reapplication:RPLK:RPLK -reappointment:RPNT:RPNT -reapportioned:RPRX:RPRX -reappropriate:RPRP:RPRP -rearrangeable:RRNJ:RRNK -rearrangement:RRNJ:RRNK -reasonability:RSNP:RSNP -reassessments:RSSM:RSSM -reassignments:RSNM:RSKN -reassimilated:RSML:RSML -reassimilates:RSML:RSML -reassociation:RSSX:RSXX -reassortments:RSRT:RSRT -reassumptions:RSMP:RSMP -reattachments:RTKM:RTKM -reattainments:RTNM:RTNM -rebeliousness:RPLS:RPLS -rebroadcasted:RPRT:RPRT -recalcitrance:RKLS:RKLS -recalcitrancy:RKLS:RKLS -recalculating:RKLK:RKLK -recalculation:RKLK:RKLK -recapitalized:RKPT:RKPT -recapitalizes:RKPT:RKPT -recapitulated:RKPT:RKPT -recapitulates:RKPT:RKPT -receivability:RSFP:RSFP -receiverships:RSFR:RSFR -recelebrating:RSLP:RSLP -receptionists:RSPX:RSPX -receptiveness:RSPT:RSPT -recessiveness:RSSF:RSSF -rechallenging:RXLN:RKLN -rechristening:RKRS:RKRS -reciprocality:RSPR:RSPR -reciprocating:RSPR:RSPR -reciprocation:RSPR:RSPR -reciprocative:RSPR:RSPR -reciprocatory:RSPR:RSPR -reciprocities:RSPR:RSPR -recirculating:RSRK:RSRK -recirculation:RSRK:RSRK -reclassifying:RKLS:RKLS -recollections:RKLK:RKLK -recolouration:RKLR:RKLR -recombination:RKMP:RKMP -recommendable:RKMN:RKMN -recommissions:RKMS:RKMS -recomparisons:RKMP:RKMP -recompensable:RKMP:RKMP -recompilation:RKMP:RKMP -recomposition:RKMP:RKMP -recompounding:RKMP:RKMP -recompression:RKMP:RKMP -reconcentrate:RKNS:RKNS -reconcilement:RKNS:RKNS -reconciliated:RKNS:RKNS -reconciliator:RKNS:RKNS -reconditeness:RKNT:RKNT -reconditioned:RKNT:RKNT -reconfiguring:RKNF:RKNF -reconfiscated:RKNF:RKNF -reconnections:RKNK:RKNK -reconnoitered:RKNT:RKNT -reconnoitrers:RKNT:RKNT -reconnoitring:RKNT:RKNT -reconsecrated:RKNS:RKNS -reconsecrates:RKNS:RKNS -reconsidering:RKNS:RKNS -reconsignment:RKNS:RKNS -reconsolidate:RKNS:RKNS -reconstituent:RKNS:RKNS -reconstituted:RKNS:RKNS -reconstitutes:RKNS:RKNS -reconstructed:RKNS:RKNS -reconstructor:RKNS:RKNS -recontinuance:RKNT:RKNT -recontracting:RKNT:RKNT -recontrolling:RKNT:RKNT -reconversions:RKNF:RKNF -recriminating:RKRM:RKRM -recrimination:RKRM:RKRM -recriminative:RKRM:RKRM -recriminatory:RKRM:RKRM -recrudescence:RKRT:RKRT -recrystallize:RKRS:RKRS -rectangularly:RKTN:RKTN -rectification:RKTF:RKTF -rectilinearly:RKTL:RKTL -rectococcygei:RKTK:RKTK -recursiveness:RKRS:RKRS -recyclability:RSKL:RSKL -redeemability:RTMP:RTMP -redefinitions:RTFN:RTFN -redemonstrate:RTMN:RTMN -redeployments:RTPL:RTPL -redesignating:RTSN:RTSK -redesignation:RTSN:RTSK -redetermining:RTTR:RTTR -redevelopment:RTFL:RTFL -redintegrated:RTNT:RTNT -redintegrates:RTNT:RTNT -rediscounting:RTSK:RTSK -rediscoveries:RTSK:RTSK -rediscovering:RTSK:RTSK -redistributed:RTST:RTST -redistributes:RTST:RTST -redistricting:RTST:RTST -reductionists:RTKX:RTKX -reduplicating:RTPL:RTPL -reduplication:RTPL:RTPL -reduplicative:RTPL:RTPL -reembarcation:RMPR:RMPR -reembarkation:RMPR:RMPR -reemphasizing:RMFS:RMFS -reencountered:RNKN:RNKN -reenforcement:RNFR:RNFR -reenlargement:RNLR:RNLR -reenlightened:RNLT:RNLT -reenlistments:RNLS:RNLS -reenunciation:RNNS:RNNX -reestablished:RSTP:RSTP -reestablishes:RSTP:RSTP -reevaluations:RFLX:RFLX -reexamination:RKSM:RKSM -reexperienced:RKSP:RKSP -reexperiences:RKSP:RKSP -reexportation:RKSP:RKSP -referendaries:RFRN:RFRN -referentially:RFRN:RFRN -reflexibility:RFLK:RFLK -reflexiveness:RFLK:RFLK -reflexogenous:RFLK:RFLK -reflexologies:RFLK:RFLK -reflexologist:RFLK:RFLK -reforestation:RFRS:RFRS -reformability:RFRM:RFRM -reformational:RFRM:RFRM -reformatively:RFRM:RFRM -reformatories:RFRM:RFRM -reformulating:RFRM:RFRM -reformulation:RFRM:RFRM -refractionist:RFRK:RFRK -refractometry:RFRK:RFRK -refrigerating:RFRJ:RFRK -refrigeration:RFRJ:RFRK -refrigerative:RFRJ:RFRK -refrigerators:RFRJ:RFRK -refrigeratory:RFRJ:RFRK -refringencies:RFRN:RFRN -refurbishment:RFRP:RFRP -regalvanizing:RKLF:RKLF -regardfulness:RKRT:RKRT -regenerations:RJNR:RKNR -regerminating:RJRM:RKRM -regermination:RJRM:RKRM -regerminative:RJRM:RKRM -regimentation:RJMN:RKMN -regionalistic:RJNL:RKNL -registrarship:RJST:RKST -registrations:RJST:RKST -regretfulness:RKRT:RKRT -regurgitating:RKRJ:RKRK -regurgitation:RKRJ:RKRK -regurgitative:RKRJ:RKRK -rehabilitated:RHPL:RHPL -rehabilitates:RHPL:RHPL -rehabilitator:RHPL:RHPL -reharmonizing:RHRM:RHRM -reimburseable:RMPR:RMPR -reimbursement:RMPR:RMPR -reimportation:RMPR:RMPR -reimpressions:RMPR:RMPR -reimprisoning:RMPR:RMPR -reincarnating:RNKR:RNKR -reincarnation:RNKR:RNKR -reincorporate:RNKR:RNKR -reinfestation:RNFS:RNFS -reinforcement:RNFR:RNFR -reinnervation:RNRF:RNRF -reinoculating:RNKL:RNKL -reinoculation:RNKL:RNKL -reinstallment:RNST:RNST -reinstatement:RNST:RNST -reinstitution:RNST:RNST -reinstructing:RNST:RNST -reinstruction:RNST:RNST -reintegrating:RNTK:RNTK -reintegration:RNTK:RNTK -reintegrative:RNTK:RNTK -reinterpreted:RNTR:RNTR -reinterrogate:RNTR:RNTR -reintrenching:RNTR:RNTR -reintroducing:RNTR:RNTR -reinvestigate:RNFS:RNFS -reinvestiture:RNFS:RNFS -reinvestments:RNFS:RNFS -reinvigorated:RNFK:RNFK -reinvigorates:RNFK:RNFK -reinvolvement:RNFL:RNFL -reiteratively:RTRT:RTRT -rejuvenations:RJFN:RJFN -rejuvenescent:RJFN:RJFN -rejuvenescing:RJFN:RJFN -rejuvinescent:RJFN:RJFN -rekeyboarding:RKPR:RKPR -relationships:RLXN:RLXN -releasability:RLSP:RLSP -releasibility:RLSP:RLSP -religiosities:RLJS:RLKS -religiousness:RLJS:RLKS -relinquishers:RLNK:RLNK -relinquishing:RLNK:RLNK -reliquidating:RLKT:RLKT -reliquidation:RLKT:RLKT -reluctivities:RLKT:RLKT -remanufacture:RMNF:RMNF -remarkability:RMRK:RMRK -remeasurement:RMSR:RMSR -remembrancers:RMMP:RMMP -remilitarized:RMLT:RMLT -remilitarizes:RMLT:RMLT -reminiscences:RMNS:RMNS -reminiscently:RMNS:RMNS -remissibility:RMSP:RMSP -remonstrances:RMNS:RMNS -remonstrantly:RMNS:RMNS -remonstrating:RMNS:RMNS -remonstration:RMNS:RMNS -remonstrative:RMNS:RMNS -remonstrators:RMNS:RMNS -remorselessly:RMRS:RMRS -removableness:RMFP:RMFP -remunerations:RMNR:RMNR -remunoratoria:RMNR:RMNR -rendezvousing:RNTS:RNTS -renegotiating:RNKX:RNKX -renegotiation:RNKX:RNKX -renominations:RNMN:RNMN -renouncements:RNNS:RNNS -renunciations:RNNS:RNNX -reoccupations:RKPX:RKPX -reoccurrences:RKRN:RKRN -reorientation:RRNT:RRNT -repartitioned:RPRT:RPRT -repatriations:RPTR:RPTR -repeatability:RPTP:RPTP -repercolation:RPRK:RPRK -repercussions:RPRK:RPRK -repetitiously:RPTT:RPTT -rephotographs:RFTK:RFTK -replenishment:RPLN:RPLN -reposefulness:RPSF:RPSF -repositioning:RPSX:RPSX -repossessions:RPSS:RPSS -reprehendable:RPRH:RPRH -reprehensible:RPRH:RPRH -reprehensibly:RPRH:RPRH -representable:RPRS:RPRS -representably:RPRS:RPRS -reproachfully:RPRK:RPRK -reproachingly:RPRX:RPRK -reprobatively:RPRP:RPRP -reproductions:RPRT:RPRT -reprogramable:RPRK:RPRK -reprogramming:RPRK:RPRK -reprovisioned:RPRF:RPRF -reptiliferous:RPTL:RPTL -republicanism:RPPL:RPPL -republicanize:RPPL:RPPL -republication:RPPL:RPPL -repullulation:RPLL:RPLL -repulsiveness:RPLS:RPLS -requisiteness:RKST:RKST -requisitioned:RKSX:RKSX -requisitioner:RKSX:RKSX -resectability:RSKT:RSKT -resentfulness:RSNT:RSNT -resettlements:RSTL:RSTL -residentially:RSTN:RSTN -resistibility:RSST:RSST -resolubleness:RSLP:RSLP -resolutionist:RSLX:RSLX -resourcefully:RSRS:RSRS -respirability:RSPR:RSPR -respirational:RSPR:RSPR -respirometric:RSPR:RSPR -resplendently:RSPL:RSPL -respondencies:RSPN:RSPN -restauranteur:RSTR:RSTR -restaurateurs:RSTR:RSTR -restorability:RSTR:RSTR -restoratively:RSTR:RSTR -restraightens:RSTR:RSTR -restrengthens:RSTR:RSTR -restrictively:RSTR:RSTR -restructuring:RSTR:RSTR -resubmissions:RSPM:RSPM -resubscribing:RSPS:RSPS -resurrections:RSRK:RSRK -resuscitating:RSST:RSST -resuscitation:RSST:RSST -resuscitative:RSST:RSST -resuscitators:RSST:RSST -retentiveness:RTNT:RTNT -reticulocytic:RTKL:RTKL -retinopathies:RTNP:RTNP -retinoscipies:RTNS:RTNS -retinoscopies:RTNS:RTNS -retinoscopist:RTNS:RTNS -retransferred:RTRN:RTRN -retranslating:RTRN:RTRN -retranslation:RTRN:RTRN -retransmitted:RTRN:RTRN -retrenchments:RTRN:RTRN -retributively:RTRP:RTRP -retroactively:RTRK:RTRK -retroactivity:RTRK:RTRK -retroflection:RTRF:RTRF -retrogressing:RTRK:RTRK -retrogression:RTRK:RTRK -retrogressive:RTRK:RTRK -retrospecting:RTRS:RTRS -retrospection:RTRS:RTRS -retrospective:RTRS:RTRS -returnability:RTRN:RTRN -reunification:RNFK:RNFK -reupholstered:RFLS:RFLS -reutilization:RTLS:RTLS -revaccinating:RFXN:RFXN -revaccination:RFXN:RFXN -revealability:RFLP:RFLP -revealingness:RFLN:RFLN -revelationist:RFLX:RFLX -revendicating:RFNT:RFNT -revendication:RFNT:RFNT -reverberantly:RFRP:RFRP -reverberating:RFRP:RFRP -reverberation:RFRP:RFRP -reverberative:RFRP:RFRP -reverberators:RFRP:RFRP -reverberatory:RFRP:RFRP -reverentially:RFRN:RFRN -reversibility:RFRS:RFRS -reversionally:RFRS:RFRX -reversionists:RFRS:RFRX -reververative:RFRF:RFRF -revictualling:RFKT:RFKT -reviewability:RFPL:RFPL -revindicating:RFNT:RFNT -revindication:RFNT:RFNT -revolutionary:RFLX:RFLX -revolutionism:RFLX:RFLX -revolutionist:RFLX:RFLX -revolutionize:RFLX:RFLX -rhabdomantist:RPTM:RPTM -rhabdomyomata:RPTM:RPTM -rhabdoviruses:RPTF:RPTF -rhapsodically:RPST:RPST -rheumatically:RMTK:RMTK -rheumatogenic:RMTJ:RMTK -rhinencephala:RNNS:RNNS -rhinoplasties:RNPL:RNPL -rhinoscleroma:RNSK:RNSK -rhinosporidia:RNSP:RNSP -rhipicephalus:RPSF:RPSF -rhizocephalon:RSSF:RSSF -rhodochrosite:RTKR:RTKR -rhododendrons:RTTN:RTTN -rhombohedrons:RMPH:RMPH -rhythmicities:R0MS:RTMS -rhytidoplasty:RTTP:RTTP -rickettsioses:RKTS:RKTS -rickettsiosis:RKTS:RKTS -rightableness:RTPL:RTPL -righteousness:RTSN:RTSN -rigourousness:RKRS:RKRS -ritualistical:RTLS:RTLS -ritualization:RTLS:RTLS -roentgenizing:RNTJ:RNTK -roentgenogram:RNTJ:RNTK -roentgenology:RNTJ:RNTK -romanticizing:RMNT:RMNT -rubberneckers:RPRN:RPRN -rubbernecking:RPRN:RPRN -rudimentarily:RTMN:RTMN -rumbustiously:RMPS:RMPS -saccharifying:SXRF:SXRF -saccharimetry:SXRM:SXRM -saccharolytic:SXRL:SXRL -saccharometry:SXRM:SXRM -saccharomyces:SXRM:SXRM -sacerdotalise:SSRT:SSRT -sacerdotalism:SSRT:SSRT -sacerdotalist:SSRT:SSRT -sacralization:SKRL:SKRL -sacramentally:SKRM:SKRM -sacrificeable:SKRF:SKRF -sacrificially:SKRF:SKRF -sacrococcygei:SKRK:SKRK -sacrolumbalis:SKRL:SKRL -sacrosanctity:SKRS:SKRS -sacrospinalis:SKRS:SKRS -sacrotuberous:SKRT:SKRT -sadomasochism:STMS:STMS -sadomasochist:STMS:STMS -sagaciousness:SKSS:SKXS -salaciousness:SLSS:SLXS -salmonberries:SLMN:SLMN -salmonelloses:SLMN:SLMN -salmonellosis:SLMN:SLMN -salpingectomy:SLPN:SLPN -salpingitises:SLPN:SLPN -salpingostomy:SLPN:SLPN -saluretically:SLRT:SLRT -salvationists:SLFX:SLFX -sanctimonious:SNKT:SNKT -sanctionative:SNKX:SNKX -sanguinolency:SNKN:SNKN -sanitationist:SNTX:SNTX -saponaceouses:SPNS:SPNS -saprogenicity:SPRJ:SPRK -saprophytical:SPRF:SPRF -sarcastically:SRKS:SRKS -sarcocystises:SRKS:SRKS -sarcophaguses:SRKF:SRKF -sarcoplasmata:SRKP:SRKP -sarsaparillas:SRSP:SRSP -satanicalness:STNK:STNK -satiricalness:STRK:STRK -satisfactions:STSF:STSF -saucerization:SSRS:SSRS -scalenotomies:SKLN:SKLN -scandalmonger:SKNT:SKNT -scandinavians:SKNT:SKNT -scaphocephaly:SKFS:SKFS -scarification:SKRF:SKRF -scatterbrains:SKTR:SKTR -schematically:SKMT:SKMT -schematograph:SKMT:SKMT -schismatizing:XSMT:XSMT -schizocarpous:XSKR:XSKR -schizogeneses:XSKN:XSKN -schizogenesis:XSKN:XSKN -schizogenetic:XSKN:XSKN -schizoidmanic:XSTM:XSTM -schizokineses:XSKN:XTSK -schizokinesis:XSKN:XTSK -schizomycetes:XSMS:XSMS -schizomycetic:XSMS:XSMS -schizonticide:XSNT:XSNT -schizophrenia:XSFR:XSFR -schizophrenic:XSFR:XSFR -schizothymous:XSTM:XSTM -scholarliness:XLRL:XLRL -scholasticism:XLST:XLST -schoolfellows:SKLF:SKLF -schoolgirlish:SKLK:SKLK -schoolmarmish:SKLM:SKLM -schoolmasters:SKLM:SKLM -schoolteacher:SKLT:SKLT -schussboomers:XSPM:XSPM -schwarzschild:XRSX:XFRT -scintigraphic:SNTK:SNTK -scintillantly:SNTL:SNTL -scintillating:SNTL:SNTL -scintillation:SNTL:SNTL -scintiscanner:SNTS:SNTS -sclerectomies:SKRK:SKRK -scleroblastem:SKRP:SKRP -sclerocorneal:SKRK:SKRK -sclerodactyly:SKRT:SKRT -sclerodermata:SKRT:SKRT -scleromalacia:SKRM:SKRM -scleroprotein:SKRP:SKRP -sclerostomies:SKRS:SKRS -sclerotherapy:SKR0:SKRT -sclerotitises:SKRT:SKRT -scolopendrium:SKLP:SKLP -scoptophiliac:SKPT:SKPT -scorbutically:SKRP:SKRP -scorbutigenic:SKRP:SKRP -scorification:SKRF:SKRF -scraperboards:SKPR:SKPR -scratchplates:SKXP:SKXP -scriptwriters:SKPT:SKPT -scriptwriting:SKPT:SKPT -scrobiculated:SKPK:SKPK -scrofuloderma:SKFL:SKFL -scrotectomies:SKTK:SKTK -scrumptiously:SKMP:SKMP -sculduggeries:SKLT:SKLT -sculpturesque:SKLP:SKLP -searchingness:SRXN:SRKN -seaworthiness:SR0N:SRTN -secessionists:SSSN:SSSN -seclusionists:SKLS:SKLX -seclusiveness:SKLS:SKLS -secondariness:SKNT:SKNT -secretaryship:SKRT:SKRT -secretiveness:SKRT:SKRT -sectionalises:SKXN:SKXN -sectionalized:SKXN:SKXN -sectionalizes:SKXN:SKXN -secundiparaes:SKNT:SKNT -secundiparous:SKNT:SKNT -sedentariness:STNT:STNT -sedimentarily:STMN:STMN -sedimentation:STMN:STMN -sedimentology:STMN:STMN -seditiousness:STTS:STTS -sedoheptulose:STHP:STHP -seductiveness:STKT:STKT -segmentations:SKMN:SKMN -segmentectomy:SKMN:SKMN -segregational:SKRK:SKRK -seismographer:SSMK:SSMK -seismographes:SSMK:SSMK -seismographic:SSMK:SSMK -seismological:SSML:SSML -seismologists:SSML:SSML -selectiveness:SLKT:SLKT -selenographer:SLNK:SLNK -selenographic:SLNK:SLNK -selenological:SLNL:SLNL -selenologists:SLNL:SLNL -semeiological:SMLJ:SMLK -semiautomated:SMTM:SMTM -semiautomatic:SMTM:SMTM -semicivilized:SMSF:SMSF -semiclassical:SMKL:SMKL -semiconductor:SMKN:SMKN -semiconscious:SMKN:SMKN -semidependent:SMTP:SMTP -semifictional:SMFK:SMFK -semifinalists:SMFN:SMFN -semilegendary:SMLJ:SMLK -semioblivious:SMPL:SMPL -semiographies:SMKR:SMKR -semiorganized:SMRK:SMRK -semiparalysis:SMPR:SMPR -semiparalytic:SMPR:SMPR -semiparasitic:SMPR:SMPR -semipermanent:SMPR:SMPR -semipermeable:SMPR:SMPR -semipetrified:SMPT:SMPT -semipetrifier:SMPT:SMPT -semipolitical:SMPL:SMPL -semiporcelain:SMPR:SMPR -semiprimitive:SMPR:SMPR -semipronation:SMPR:SMPR -semipurposive:SMPR:SMPR -semirebelious:SMRP:SMRP -semisatirical:SMST:SMST -semisynthetic:SMSN:SMSN -semitendinosi:SMTN:SMTN -semitendinous:SMTN:SMTN -semivoluntary:SMFL:SMFL -sempiternally:SMPT:SMPT -sensationally:SNSX:SNSX -sensationless:SNSX:SNSX -senselessness:SNSL:SNSL -sensibilities:SNSP:SNSP -sensitiveness:SNST:SNST -sensitivities:SNST:SNST -sensitization:SNST:SNST -sensitometric:SNST:SNST -sensorineural:SNSR:SNSR -sententiously:SNTN:SNTN -sentimentally:SNTM:SNTM -separableness:SPRP:SPRP -septicopyemia:SPTK:SPTK -septicopyemic:SPTK:SPTK -septomarginal:SPTM:SPTM -septuagesimal:SPTJ:SPTK -sequentiality:SKNX:SKNX -sequentialize:SKNX:SKNX -sequesterable:SKST:SKST -sequestrating:SKST:SKST -sequestration:SKST:SKST -sequestratrix:SKST:SKST -serendipitous:SRNT:SRNT -sergeantships:SRJN:SRKN -serialization:SRLS:SRLS -sericulturist:SRKL:SRKL -serjeantships:SRJN:SRJN -serodiagnoses:SRTN:SRTK -serodiagnosis:SRTN:SRTK -serofibrinous:SRFP:SRFP -serologically:SRLJ:SRLK -seroresistant:SRRS:SRRS -serosynovitis:SRSN:SRSN -serotherapies:SR0R:SRTR -serpigenously:SRPJ:SRPK -serpiginously:SRPJ:SRPK -settleability:STLP:STLP -seventeenfold:SFNT:SFNT -seventeenthes:SFNT:SFNT -sexagenarians:SKSJ:SKSK -sexduplicated:SKST:SKST -sexduplicates:SKST:SKST -sexploitation:SKSP:SKSP -sexualization:SKSL:SKSL -shakespearean:XKSP:XKSP -shakespearian:XKSP:XKSP -shamelessness:XMLS:XMLS -shapelessness:XPLS:XPLS -sharecroppers:XRKR:XRKR -sharecropping:XRKR:XRKR -sharpshooters:XRPX:XRPX -sharpshooting:XRPX:XRPX -sheepshearing:XPXR:XPXR -shepherdesses:XFRT:XFRT -sheradization:XRTS:XRTS -sheriffalties:XRFL:XRFL -shiftlessness:XFTL:XFTL -shirtlessness:XRTL:XRTL -shortchanging:XRXN:XRXN -sialoadenitis:SLTN:XLTN -sialodochitis:SLTX:XLTK -sialographies:SLKR:XLKR -sidesplitting:STSP:STSP -sightlessness:STLS:STLS -sigmoidectomy:SKMT:SKMT -sigmoidoscope:SKMT:SKMT -sigmoidoscopy:SKMT:SKMT -sigmoidostomy:SKMT:SKMT -signalization:SNLS:SKNL -signatureless:SNTR:SKNT -significantly:SNFK:SKNF -signification:SNFK:SKNF -significative:SNFK:SKNF -silkscreening:SLKS:SLKS -silversmithes:SLFR:SLFR -silvicultural:SLFK:SLFK -simplisticing:SMPL:SMPL -singularities:SNKL:SNKL -singularizing:SNKL:SNKL -sinistrocular:SNST:SNST -sinistropedal:SNST:SNST -sinistrorsely:SNST:SNST -sinoauricular:SNRK:SNRK -sinuauricular:SNRK:SNRK -siphonostelic:SFNS:SFNS -situationally:STXN:STXN -skateboarders:SKTP:SKTP -skateboarding:SKTP:SKTP -skeletization:SKLT:SKLT -skeletogenous:SKLT:SKLT -skeletonizing:SKLT:SKLT -skulduggeries:SKLT:SKLT -sledgehammers:SLJH:XLJH -sleeplessness:SLPL:XLPL -sluggarliness:SLKR:XLKR -smallholdings:SMLL:XMLL -smokelessness:SMKL:XMKL -socialization:SSLS:SXLS -sociocentrism:SSSN:SXSN -sociocultural:SSKL:SXKL -socioeconomic:SSKN:SXKN -sociolinguist:SSLN:SXLN -sociometrists:SSMT:SXMT -softheartedly:SF0R:SFTR -soldierliness:SLTR:SLTR -solemnization:SLMN:SLMN -solenoglyphic:SLNK:SLNK -solicitations:SLST:SLST -solicitorship:SLST:SLST -solidungulate:SLTN:SLTN -solifidianism:SLFT:SLFT -soliloquizing:SLLK:SLLK -somatesthesia:SMTS:SMTS -somatogenetic:SMTJ:SMTK -somatological:SMTL:SMTL -somatometries:SMTM:SMTM -somatoplastic:SMTP:SMTP -somatopleural:SMTP:SMTP -somatopleuric:SMTP:SMTP -somatopsychic:SMTP:SMTP -somatosensory:SMTS:SMTS -somatotherapy:SMT0:SMTT -somatotopical:SMTT:SMTT -somatotrophic:SMTT:SMTT -somatotypical:SMTT:SMTT -somersaulting:SMRS:SMRS -somesthesises:SMS0:SMST -somnambulance:SMNM:SMNM -somnambulated:SMNM:SMNM -somnambulates:SMNM:SMNM -somnambulator:SMNM:SMNM -somnambulists:SMNM:SMNM -somniferously:SMNF:SMNF -somniloquists:SMNL:SMNL -somnipathists:SMNP:SMNP -sophistically:SFST:SFST -sophisticated:SFST:SFST -sophisticates:SFST:SFST -sophisticator:SFST:SFST -soporifically:SPRF:SPRF -sorrowfulness:SRFL:SRFL -soundlessness:SNTL:SNTL -soundproofing:SNTP:SNTP -southeasterly:S0ST:STST -southeastward:S0ST:STST -southerliness:S0RL:STRL -southwesterly:S0ST:STST -southwestward:S0ST:STST -sovereignties:SFRN:SFRK -sovietization:SFTS:SFTS -sovietologist:SFTL:SFTL -sparcstations:SPRK:SPRK -spasmodically:SPSM:SPSM -spasmolytical:SPSM:SPSM -spasmophillia:SPSM:SPSM -spatchcocking:SPXK:SPXK -specificality:SPSF:SPSF -specificating:SPSF:SPSF -specification:SPSF:SPSF -specificative:SPSF:SPSF -specificities:SPSF:SPSF -specificizing:SPSF:SPSF -spectacularly:SPKT:SPKT -spectatresses:SPKT:SPKT -spectrogramed:SPKT:SPKT -spectrographs:SPKT:SPKT -spectrography:SPKT:SPKT -spectrometric:SPKT:SPKT -spectroscopes:SPKT:SPKT -spectroscopic:SPKT:SPKT -speculatively:SPKL:SPKL -speleological:SPLL:SPLL -speleologists:SPLL:SPLL -spermatically:SPRM:SPRM -spermatoblast:SPRM:SPRM -spermatocidal:SPRM:SPRM -spermatocytal:SPRM:SPRM -spermatogenic:SPRM:SPRM -spermatogonia:SPRM:SPRM -spermatogonic:SPRM:SPRM -spermatolyses:SPRM:SPRM -spermatolysis:SPRM:SPRM -spermatolytic:SPRM:SPRM -spermatopathy:SPRM:SPRM -spermatophore:SPRM:SPRM -spermatophyte:SPRM:SPRM -spermatorrhea:SPRM:SPRM -sphaceloderma:SFSL:SFSL -sphaerophorus:SFRF:SFRF -sphenobasilar:SFNP:SFNP -sphenobasilic:SFNP:SFNP -sphenocephaly:SFNS:SFNS -sphenoethmoid:SFN0:SFNT -sphenofrontal:SFNF:SFNF -sphericalness:SFRK:SFRK -spherocytosis:SFRS:SFRS -spheroidicity:SFRT:SFRT -sphingolipide:SFNK:SFNK -sphingomyelin:SFNK:SFNK -sphygmography:SFKM:SFKM -spinelessness:SPNL:SPNL -spinothalamic:SPN0:SPNT -spirillaceous:SPRL:SPRL -spirillicidal:SPRL:SPRL -spirillosises:SPRL:SPRL -spiritualists:SPRT:SPRT -spiritualized:SPRT:SPRT -spiritualizer:SPRT:SPRT -spiritualizes:SPRT:SPRT -spiritualness:SPRT:SPRT -spirochetemia:SPRX:SPRK -spirochetoses:SPRX:SPRK -spirochetosis:SPRX:SPRK -splanchnocoel:SPLN:SPLN -splanchnology:SPLN:SPLN -splanchnomega:SPLN:SPLN -splayfootedly:SPLF:SPLF -splendiferous:SPLN:SPLN -splenectomies:SPLN:SPLN -splenectomize:SPLN:SPLN -splenetically:SPLN:SPLN -splenomalacia:SPLN:SPLN -splenopathies:SPLN:SPLN -splinteriness:SPLN:SPLN -spondylodynia:SPNT:SPNT -spondylolyses:SPNT:SPNT -spondylolysis:SPNT:SPNT -spondylopathy:SPNT:SPNT -spondylosises:SPNT:SPNT -spontaneities:SPNT:SPNT -spontaneously:SPNT:SPNT -sportscasters:SPRT:SPRT -sportsmanlike:SPRT:SPRT -sportsmanship:SPRT:SPRT -sportswriters:SPRT:SPRT -spreadability:SPRT:SPRT -sprightliness:SPRT:SPRT -squeamishness:SKMX:SKMX -squeezability:SKSP:SKSP -squirearchies:SKRR:SKRR -stabilization:STPL:STPL -staddlestones:STTL:STTL -stainlessness:STNL:STNL -staminiferous:STMN:STMN -standardizing:STNT:STNT -standoffishly:STNT:STNT -staphylectomy:STFL:STFL -staphyledemas:STFL:STFL -staphylococci:STFL:STFL -statelessness:STTL:STTL -statesmanlike:STTS:STTS -statesmanship:STTS:STTS -stationmaster:STXN:STXN -statistically:STTS:STTS -statisticians:STTS:STTS -statutoriness:STTT:STTT -steadfastness:STTF:STTF -steamrollered:STMR:STMR -steeplechased:STPL:STPL -steeplechaser:STPL:STPL -steeplechases:STPL:STPL -stellectomies:STLK:STLK -stenocephalia:STNS:STNS -stenocephalic:STNS:STNS -stenocoriasis:STNK:STNK -stenographers:STNK:STNK -stenographing:STNK:STNK -stenopetalous:STNP:STNP -stenophyllous:STNF:STNF -stenothermies:STN0:STNT -stenothoraces:STN0:STNT -stenothoraxes:STN0:STNT -stepdaughters:STPT:STPT -steppingstone:STPN:STPN -stercoraceous:STRK:STRK -stereochromes:STRK:STRK -stereognostic:STRN:STRK -stereographes:STRK:STRK -stereographic:STRK:STRK -stereometries:STRM:STRM -stereoscopies:STRS:STRS -stereotaxical:STRT:STRT -stereotropism:STRT:STRT -stereotypical:STRT:STRT -sterilization:STRL:STRL -steriochromed:STRK:STRK -sternforemost:STRN:STRN -sternomastoid:STRN:STRN -sternothyroid:STRN:STRN -steroidogenic:STRT:STRT -stethographic:ST0K:STTK -stethoscopies:ST0S:STTS -stimulatingly:STML:STML -stipendiaries:STPN:STPN -stirpiculture:STRP:STRP -stockbreeding:STKP:STKP -stoichiometry:STXM:STKM -stomachically:STMX:STMK -stomatologies:STMT:STMT -stomatologist:STMT:STMT -stomatoplasty:STMT:STMT -stonecuttings:STNK:STNK -stonelessness:STNL:STNL -storebreaking:STRP:STRP -straightedged:STRT:STRT -straightedges:STRT:STRT -straighteners:STRT:STRT -straightening:STRT:STRT -straightlaced:STRT:STRT -strangulating:STRN:STRN -strangulation:STRN:STRN -strategically:STRT:STRT -stratigraphic:STRT:STRT -stratocracies:STRT:STRT -stratocumulus:STRT:STRT -stratospheric:STRT:STRT -streetwalkers:STRT:STRT -streetwalking:STRT:STRT -strengtheners:STRN:STRN -strengthening:STRN:STRN -strenuousness:STRN:STRN -streptocarpus:STRP:STRP -streptococcal:STRP:STRP -streptococcic:STRP:STRP -streptococcus:STRP:STRP -streptokinase:STRP:STRP -streptonigrin:STRP:STRP -stressfulness:STRS:STRS -strikebreaker:STRK:STRK -strobilaceous:STRP:STRP -stromatolitic:STRM:STRM -strongyloidea:STRN:STRN -strongyloides:STRN:STRN -structuralism:STRK:STRK -structuralist:STRK:STRK -stylistically:STLS:STLS -stylohyoideus:STLH:STLH -suballocating:SPLK:SPLK -suballocation:SPLK:SPLK -subassemblies:SPSM:SPSM -subastringent:SPST:SPST -subcategories:SPKT:SPKT -subclassified:SPKL:SPKL -subclassifies:SPKL:SPKL -subclinically:SPKL:SPKL -subcollateral:SPKL:SPKL -subcommanders:SPKM:SPKM -subcommission:SPKM:SPKM -subcommittees:SPKM:SPKM -subcomponents:SPKM:SPKM -subcontinents:SPKN:SPKN -subcontracted:SPKN:SPKN -subcontractor:SPKN:SPKN -subcontraries:SPKN:SPKN -subcortically:SPKR:SPKR -subdebutantes:SPTP:SPTP -subdefinition:SPTF:SPTF -subdelegating:SPTL:SPTL -subdelegation:SPTL:SPTL -subdepartment:SPTP:SPTP -subdiscipline:SPTS:SPTS -subdivisional:SPTF:SPTF -subencephalon:SPNS:SPNS -subepicardial:SPPK:SPPK -subepithelial:SPP0:SPPT -subequatorial:SPKT:SPKT -subexpression:SPKS:SPKS -subfractional:SPFR:SPFR -subinvolution:SPNF:SPNF -subirrigating:SPRK:SPRK -subirrigation:SPRK:SPRK -subjectifying:SPJK:SPJK -subjectivists:SPJK:SPJK -subjunctively:SPJN:SPJN -subjunctivism:SPJN:SPJN -subjunctivist:SPJN:SPJN -subjunctivity:SPJN:SPJN -sublieutenant:SPLT:SPLT -submandibular:SPMN:SPMN -submarginally:SPMR:SPMR -subordinately:SPRT:SPRT -subordinating:SPRT:SPRT -subordination:SPRT:SPRT -subordinative:SPRT:SPRT -subparagraphs:SPPR:SPPR -subpeduncular:SPPT:SPPT -subperiosteal:SPPR:SPPR -subplacentaes:SPPL:SPPL -subpopulation:SPPP:SPPP -subprincipals:SPPR:SPPR -subreptitious:SPRP:SPRP -subsaturation:SPST:SPST -subscapularis:SPSK:SPSK -subscriptions:SPSK:SPSK -subsequential:SPSK:SPSK -subserviently:SPSR:SPSR -subsidization:SPST:SPST -subspecifical:SPSP:SPSP -substanceless:SPST:SPST -substantiable:SPST:SPST -substantialia:SPST:SPST -substantially:SPST:SPST -substantiated:SPST:SPST -substantiates:SPST:SPST -substantiator:SPST:SPST -substantively:SPST:SPST -substantivity:SPST:SPST -substantivize:SPST:SPST -substitutable:SPST:SPST -substitutions:SPST:SPST -substructures:SPST:SPST -subsuretyship:SPSR:SPSR -subterraneous:SPTR:SPTR -subtilization:SPTL:SPTL -subtreasuries:SPTR:SPTR -suburbanizing:SPRP:SPRP -subventionary:SPFN:SPFN -subversionary:SPFR:SPFR -succenturiate:SXNT:SXNT -successorship:SKSS:SKSS -succinoxidase:SXNK:SXNK -sufficiencies:SFSN:SFXN -suffocatingly:SFKT:SFKT -suffumigating:SFMK:SFMK -suffumigation:SFMK:SFMK -suicidologies:SSTL:SSTL -suicidologist:SSTL:SSTL -sulfacetamide:SLFS:SLFS -sulfacetimide:SLFS:SLFS -sulfamerazine:SLFM:SLFM -sulfanilamide:SLFN:SLFN -sulfapyrazine:SLFP:SLFP -sulfapyridine:SLFP:SLFP -sulfathiazole:SLF0:SLFT -sulfisoxazole:SLFS:SLFS -sulfonmethane:SLFN:SLFN -sulfurretting:SLFR:SLFR -sulphadiazine:SLFT:SLFT -sulphonylurea:SLFN:SLFN -sulphuretting:SLFR:SLFR -summarization:SMRS:SMRS -summersaulted:SMRS:SMRS -summersaulter:SMRS:SMRS -sumptuousness:SMPT:SMPT -superabundant:SPRP:SPRP -superaddition:SPRT:SPRT -superannuable:SPRN:SPRN -superannuated:SPRN:SPRN -supercalender:SPRK:SPRK -superchargers:SPRX:SPRK -supercharging:SPRX:SPRK -supercilliary:SPRS:SPRS -supercolossal:SPRK:SPRK -supercolumnar:SPRK:SPRK -supercomputer:SPRK:SPRK -supercriminal:SPRK:SPRK -supercritical:SPRK:SPRK -superdeficits:SPRT:SPRT -superdevotion:SPRT:SPRT -supereminence:SPRM:SPRM -superfamilies:SPRF:SPRF -superfetation:SPRF:SPRF -superficially:SPRF:SPRF -superfineness:SPRF:SPRF -superfluidity:SPRF:SPRF -superfluities:SPRF:SPRF -superfluously:SPRF:SPRF -supergenerous:SPRJ:SPRK -superhighways:SPRS:SPRS -superignorant:SPRN:SPRK -superimposing:SPRM:SPRM -superinducing:SPRN:SPRN -superinsisted:SPRN:SPRN -superintended:SPRN:SPRN -superiorities:SPRR:SPRR -superlatively:SPRL:SPRL -supermolecule:SPRM:SPRM -supernational:SPRN:SPRN -supernumerary:SPRN:SPRN -superoptimist:SPRP:SPRP -superordinate:SPRR:SPRR -superovulated:SPRF:SPRF -superphysical:SPRF:SPRF -superposition:SPRP:SPRP -superprepared:SPRP:SPRP -superreliance:SPRL:SPRL -supersaturate:SPRS:SPRS -superscribing:SPRS:SPRS -superscripted:SPRS:SPRS -supersensible:SPRS:SPRS -supersensibly:SPRS:SPRS -superstitions:SPRS:SPRS -superstitious:SPRS:SPRS -superstratums:SPRS:SPRS -supertemporal:SPRT:SPRT -superthorough:SPR0:SPRT -supervenience:SPRF:SPRF -supervigilant:SPRF:SPRF -supervirulent:SPRF:SPRF -supervisorial:SPRF:SPRF -supplantation:SPLN:SPLN -supplementals:SPLM:SPLM -supplementary:SPLM:SPLM -supplementers:SPLM:SPLM -supplementing:SPLM:SPLM -supplications:SPLK:SPLK -suppositional:SPSX:SPSX -suppositively:SPST:SPST -suppositories:SPST:SPST -supracellular:SPRS:SPRS -supracervical:SPRS:SPRS -supracondylar:SPRK:SPRK -supramarginal:SPRM:SPRM -supramaxillae:SPRM:SPRM -supramaxillas:SPRM:SPRM -supranational:SPRN:SPRN -suprapatellar:SPRP:SPRP -suprascapulae:SPRS:SPRS -suprascapular:SPRS:SPRS -suprascapulas:SPRS:SPRS -supraspinatus:SPRS:SPRS -supratemporal:SPRT:SPRT -supravergence:SPRF:SPRF -surexcitation:SRKS:SRKS -surreptitious:SRPT:SRPT -surrogateship:SRKT:SRKT -sursumduction:SRSM:SRSM -sursumversion:SRSM:SRSM -survivability:SRFF:SRFF -suspectedness:SSPK:SSPK -suspicionless:SSPS:SSPX -sustentacular:SSTN:SSTN -sustentaculum:SSTN:SSTN -suvinvolution:SFNF:SFNF -swashbucklers:SXPK:XXPK -swashbuckling:SXPK:XXPK -swizzlesticks:SSLS:XTSL -swordsmanship:SRTS:XRTS -sybaritically:SPRT:SPRT -syllabicating:SLPK:SLPK -syllabication:SLPK:SLPK -syllepsiology:SLPS:SLPX -syllogization:SLJS:SLKS -symballophone:SMPL:SMPL -symbiotically:SMPT:SMPT -symbolization:SMPL:SMPL -symbolophobia:SMPL:SMPL -symmetrically:SMTR:SMTR -sympathectomy:SMP0:SMPT -sympathetical:SMP0:SMPT -sympathoblast:SMP0:SMPT -sympathogonia:SMP0:SMPT -sympatholytic:SMP0:SMPT -symphalangism:SMFL:SMFL -symphonically:SMFN:SMFN -symphoniously:SMFN:SMFN -symphysiotomy:SMFS:SMFX -symptomatical:SMPT:SMPT -synallagmatic:SNLK:SNLK -synanthropies:SNN0:SNNT -synaptologies:SNPT:SNPT -synarthrodial:SNR0:SNRT -synchondroses:SNXN:SNKN -synchondrosis:SNXN:SNKN -synchronicity:SNXR:SNKR -synchronistic:SNXR:SNKR -synchronizers:SNXR:SNKR -synchronizing:SNXR:SNKR -synchronously:SNXR:SNKR -synergistical:SNRJ:SNRK -syngignoscism:SNJN:SNKK -synovectomies:SNFK:SNFK -syntactically:SNTK:SNTK -synthetically:SN0T:SNTT -syphilization:SFLS:SFLS -syphilography:SFLK:SFLK -syphilologies:SFLL:SFLL -syphilologist:SFLL:SFLL -syphilomatous:SFLM:SFLM -syphilophobia:SFLF:SFLF -syringadenous:SRNK:SRNK -syringobulbia:SRNK:SRNK -syringomyelia:SRNK:SRNK -syringomyelic:SRNK:SRNK -systematizing:SSTM:SSTM -systematology:SSTM:SSTM -syzygetically:SSKT:SSKT -tablespoonful:TPLS:TPLS -taboparalyses:TPPR:TPPR -taboparalysis:TPPR:TPPR -tachistoscope:TXST:TKST -tachographies:TKKR:TKKR -tachygraphist:TKKR:TKKR -tachyphylaxes:TKFL:TKFL -tachyphylaxis:TKFL:TKFL -tachyrhythmia:TKR0:TKRT -taciturnities:TSTR:TSTR -talkativeness:TLKT:TLKT -talocalcaneal:TLKL:TLKL -talonavicular:TLNF:TLNF -tangentiality:TNJN:TNKN -tantalisingly:TNTL:TNTL -tantalization:TNTL:TNTL -tantalizingly:TNTL:TNTL -tapetoretinal:TPTR:TPTR -tapinocephaly:TPNS:TPNS -tarsoplasties:TRSP:TRSP -tartarization:TRTR:TRTR -tastelessness:TSTL:TSTL -taxonomically:TKSN:TKSN -technicalness:TKNK:TKNK -technicolored:TKNK:TKNK -technocracies:TKNK:TKNK -technological:TKNL:TKNL -technologists:TKNL:TKNL -telangiosises:TLNJ:TLNK -telediastolic:TLTS:TLTS -telegencially:TLJN:TLKN -telegraphical:TLKR:TLKR -telegraphists:TLKR:TLKR -telencephalic:TLNS:TLNS -telencephalon:TLNS:TLNS -telerecording:TLRK:TLRK -teletherapies:TL0R:TLTR -televisionary:TLFS:TLFX -telophragmata:TLFR:TLFR -telosporidian:TLSP:TLSP -temperability:TMPR:TMPR -temperamental:TMPR:TMPR -temperateness:TMPR:TMPR -tempestuously:TMPS:TMPS -temporalities:TMPR:TMPR -temporariness:TMPR:TMPR -temporization:TMPR:TMPR -tenaciousness:TNSS:TNXS -tendentiously:TNTN:TNTN -tenderability:TNTR:TNTR -tenderhearted:TNTR:TNTR -tenderization:TNTR:TNTR -tendinoplasty:TNTN:TNTN -tendoplasties:TNTP:TNTP -tenomyoplasty:TNMP:TNMP -tenomyotomies:TNMT:TNMT -tenonectomies:TNNK:TNNK -tenorrhaphies:TNRF:TNRF -tenosynovitis:TNSN:TNSN -tenovaginitis:TNFJ:TNFK -tentativeness:TNTT:TNTT -teratogeneses:TRTJ:TRTK -teratogenesis:TRTJ:TRTK -teratogenetic:TRTJ:TRTK -teratological:TRTL:TRTL -teratologists:TRTL:TRTL -teratospermia:TRTS:TRTS -tercentennial:TRSN:TRSN -terebracheses:TRPR:TRPR -terebrachesis:TRPR:TRPR -terephthalate:TRF0:TRFT -tergiversated:TRJF:TRKF -tergivisating:TRJF:TRKF -tergivisation:TRJF:TRKF -tergivisatory:TRJF:TRKF -terminability:TRMN:TRMN -terminational:TRMN:TRMN -terminologies:TRMN:TRMN -terminologist:TRMN:TRMN -terpsichorean:TRPS:TRPS -terrestrially:TRST:TRST -territorially:TRTR:TRTR -terrorization:TRRS:TRRS -tessellations:TSLX:TSLX -testificandum:TSTF:TSTF -testification:TSTF:TSTF -tetanospasmin:TTNS:TTNS -tetartohedral:TTRT:TTRT -tetrabasicity:TTRP:TTRP -tetrabenazine:TTRP:TTRP -tetrabrachius:TTRP:TTRP -tetrachloride:TTRK:TTRK -tetracyclines:TTRS:TTRS -tetradynamous:TTRT:TTRT -tetrahedrally:TTRH:TTRH -tetraphyllous:TTRF:TTRF -tetrastichous:TTRS:TTRS -tetrasyllable:TTRS:TTRS -teutonisation:TTNS:TTNS -thalamotomies:0LMT:TLMT -thalassanemia:0LSN:TLSN -thalassocracy:0LSK:TLSK -thanatologies:0NTL:TNTL -thanatophidia:0NTF:TNTF -thanatophobia:0NTF:TNTF -thanklessness:0NKL:TNKL -thanksgivings:0NKS:TNKS -thaumaturgist:0MTR:TMTR -theatricality:0TRK:TTRK -theatricalize:0TRK:TTRK -theleplasties:0LPL:TLPL -thematization:0MTS:TMTS -thenceforward:0NSF:TNSF -theologically:0LJK:TLKK -theoretically:0RTK:TRTK -theoreticians:0RTS:TRTX -theorizations:0RSX:TRSX -therapeutical:0RPT:TRPT -therapeutists:0RPT:TRPT -thereinbefore:0RNP:TRNP -theriomorphic:0RMR:TRMR -thermesthesia:0RMS:TRMS -thermocautery:0RMK:TRMK -thermochemist:0RMX:TRMK -thermochroism:0RMK:TRMK -thermocurrent:0RMK:TRMK -thermodynamic:0RMT:TRMT -thermoelement:0RML:TRML -thermogeneses:0RMJ:TRMK -thermogenesis:0RMJ:TRMK -thermographic:0RMK:TRMK -thermolyseses:0RML:TRML -thermomassage:0RMM:TRMM -thermometries:0RMM:TRMM -thermonuclear:0RMN:TRMN -thermophagies:0RMF:TRMF -thermophilous:0RMF:TRMF -thermoplastic:0RMP:TRMP -thermosetting:0RMS:TRMS -thermospheres:0RMS:TRMS -thermostatics:0RMS:TRMS -thermotensile:0RMT:TRMT -thermotherapy:0RM0:TRMT -thermotropism:0RMT:TRMT -thesaurosises:0SRS:TSRS -thessalonians:0SLN:TSLN -thiabendazole:0PNT:TPNT -thigmesthesia:0KMS:TKMS -thigmotropism:0KMT:TKMT -thimblerigger:0MPL:TMPL -thiobacterium:0PKT:TPKT -thiocarbamide:0KRP:TKRP -thiosulphates:0SLF:TSLF -thiosulphides:0SLF:TSLF -thiosulphuric:0SLF:TSLF -thoracenteses:0RSN:TRSN -thoracentesis:0RSN:TRSN -thoracolumbar:0RKL:TRKL -thoracoplasty:0RKP:TRKP -thoracoscopic:0RKS:TRKS -thoracotomies:0RKT:TRKT -thoroughbreds:0RFP:TRFP -thoroughfares:0RFF:TRFF -thoroughgoing:0RFK:TRFK -thoroughpaced:0RFP:TRFP -thoughtlessly:0TLS:TTLS -threateningly:0RTN:TRTN -thremmatology:0RMT:TRMT -threpsologies:0RPS:TRPS -thromboclases:0RMP:TRMP -thromboclasis:0RMP:TRMP -thrombokinase:0RMP:TRMP -thrombophilia:0RMP:TRMP -thrombostases:0RMP:TRMP -thrombostasis:0RMP:TRMP -thunderclouds:0NTR:TNTR -thundershower:0NTR:TNTR -thunderstones:0NTR:TNTR -thunderstorms:0NTR:TNTR -thunderstruck:0NTR:TNTR -thymectomized:0MKT:TMKT -thymectomizes:0MKT:TMKT -thyrocervical:0RSR:TRSR -thyroglobulin:0RKL:TRKL -thyrohyoidean:0RHT:TRHT -thyroidectomy:0RTK:TRTK -thyroptosises:0RPT:TRPT -thyrotoxicity:0RTK:TRTK -tibiofibulaes:TPFP:TPFP -tintinabulate:TNTN:TNTN -tintinnabulum:TNTN:TNTN -titillatingly:TTLT:TTLT -tittletattled:TTLT:TTLT -tittletattler:TTLT:TTLT -tittletattles:TTLT:TTLT -toastmistress:TSTM:TSTM -tolerableness:TLRP:TLRP -tomboyishness:TMPX:TMPX -tonofibrillae:TNFP:TNFP -tonsillectomy:TNSL:TNSL -toothlessness:T0LS:TTLS -toothsomeness:T0SM:TTSM -topographical:TPKR:TPKR -topologically:TPLJ:TPLK -topsyturviest:TPST:TPST -torricellians:TRSL:TRSL -tortoiseshell:TRTS:TRTS -totalitarians:TTLT:TTLT -totipalmation:TTPL:TTPL -totipotencies:TTPT:TTPT -totipotential:TTPT:TTPT -touchableness:TXPL:TKPL -toxicodendron:TKSK:TKSK -toxicodermata:TKSK:TKSK -toxicological:TKSK:TKSK -toxicologists:TKSK:TKSK -toxoplasmoses:TKSP:TKSP -toxoplasmosis:TKSP:TKSP -trabeculation:TRPK:TRPK -traceableness:TRSP:TRSP -trachelectomy:TRXL:TRKL -trachelodynia:TRXL:TRKL -tracheoplasty:TRXP:TRKP -tracheopyoses:TRXP:TRKP -tracheopyosis:TRXP:TRKP -tracheotomies:TRXT:TRKT -tracheotomize:TRXT:TRKT -tracklessness:TRKL:TRKL -tractableness:TRKT:TRKT -traditionally:TRTX:TRTX -traditionless:TRTX:TRTX -tragicomedies:TRJK:TRKK -trainsickness:TRNS:TRNS -trampolinists:TRMP:TRMP -tranquilizers:TRNK:TRNK -tranquilizing:TRNK:TRNK -tranquillized:TRNK:TRNK -tranquillizer:TRNK:TRNK -tranquillizes:TRNK:TRNK -transactinide:TRNS:TRNS -transactional:TRNS:TRNS -transaminated:TRNS:TRNS -transatlantic:TRNS:TRNS -transcallosal:TRNS:TRNS -transcendence:TRNS:TRNS -transcendency:TRNS:TRNS -transcondylar:TRNS:TRNS -transcortical:TRNS:TRNS -transcribable:TRNS:TRNS -transcriptase:TRNS:TRNS -transcription:TRNS:TRNS -transcutaneal:TRNS:TRNS -transferrable:TRNS:TRNS -transfiguring:TRNS:TRNS -transforation:TRNS:TRNS -transformable:TRNS:TRNS -transfrontier:TRNS:TRNS -transfusional:TRNS:TRNS -transgressing:TRNS:TRNS -transgression:TRNS:TRNS -transgressive:TRNS:TRNS -transgressors:TRNS:TRNS -transhippings:TRNX:TRNX -transisthmian:TRNS:TRNS -transistorize:TRNS:TRNS -transitionary:TRNS:TRNS -translational:TRNS:TRNS -transliterate:TRNS:TRNS -translocating:TRNS:TRNS -translocation:TRNS:TRNS -translucently:TRNS:TRNS -transmembrane:TRNS:TRNS -transmigrants:TRNS:TRNS -transmigrated:TRNS:TRNS -transmigrates:TRNS:TRNS -transmigrator:TRNS:TRNS -transmissible:TRNS:TRNS -transmissibly:TRNS:TRNS -transmissions:TRNS:TRNS -transmittable:TRNS:TRNS -transmittance:TRNS:TRNS -transmittancy:TRNS:TRNS -transmittible:TRNS:TRNS -transmutation:TRNS:TRNS -transnational:TRNS:TRNS -transparently:TRNS:TRNS -transpiercing:TRNS:TRNS -transpiration:TRNS:TRNS -transpiratory:TRNS:TRNS -transplanters:TRNS:TRNS -transplanting:TRNS:TRNS -transportable:TRNS:TRNS -transposition:TRNS:TRNS -transpositive:TRNS:TRNS -transshipment:TRNS:TRNS -transshipping:TRNS:TRNS -transthoracic:TRNS:TRNS -transtracheal:TRNS:TRNS -transurethral:TRNS:TRNS -transversalis:TRNS:TRNS -transversally:TRNS:TRNS -transvestists:TRNS:TRNS -transvestites:TRNS:TRNS -trapezohedral:TRPS:TRPS -trapezohedron:TRPS:TRPS -traumatically:TRMT:TRMT -treacherously:TRXR:TRKR -treasurership:TRSR:TRSR -tremulousness:TRML:TRML -trendelenburg:TRNT:TRNT -triamcinolone:TRMS:TRMS -triangularity:TRNK:TRNK -triangulately:TRNK:TRNK -triangulating:TRNK:TRNK -triangulation:TRNK:TRNK -triatomically:TRTM:TRTM -tributariness:TRPT:TRPT -tricarboxylic:TRKR:TRKR -tricentennial:TRSN:TRSN -triceratopses:TRSR:TRSR -trichinoscope:TRXN:TRKN -trichoglossia:TRXK:TRKK -trichomatosis:TRXM:TRKM -trichomonadal:TRXM:TRKM -trichomycoses:TRXM:TRKM -trichomycosis:TRXM:TRKM -trichonodoses:TRXN:TRKN -trichonodosis:TRXN:TRKN -trichopathies:TRXP:TRKP -trichophytons:TRXF:TRKF -trichorrhexes:TRXR:TRKR -trichorrhexis:TRXR:TRKR -trichromatism:TRXR:TRKR -tricuspidated:TRKS:TRKS -triethylamine:TR0L:TRTL -triglycerides:TRKL:TRKL -trigonometric:TRKN:TRKN -trilateration:TRLT:TRLT -trimethadione:TRM0:TRMT -trinucleotide:TRNK:TRNK -triplications:TRPL:TRPL -triploblastic:TRPL:TRPL -trisaccharide:TRSX:TRSX -trisoctahedra:TRSK:TRSK -trisplanchnic:TRSP:TRSP -triturability:TRTR:TRTR -trochantinian:TRXN:TRKN -trombiculidae:TRMP:TRMP -trophallactic:TRFL:TRFL -trophectoderm:TRFK:TRFK -trophoblastic:TRFP:TRFP -trophonucleus:TRFN:TRFN -trophopathies:TRFP:TRFP -trophospongia:TRFS:TRFS -trophotropism:TRFT:TRFT -tropicalizing:TRPK:TRPK -tropocollagen:TRPK:TRPK -troublemakers:TRPL:TRPL -troublemaking:TRPL:TRPL -troubleshoots:TRPL:TRPL -troublesomely:TRPL:TRPL -trustworthier:TRST:TRST -trustworthily:TRST:TRST -trypanosomata:TRPN:TRPN -tryptophanase:TRPT:TRPT -tsutsugamushi:TSTS:TSTS -tubectomieses:TPKT:TPKT -tuberculately:TPRK:TPRK -tuberculation:TPRK:TPRK -tuberculoderm:TPRK:TPRK -tuberculomata:TPRK:TPRK -tuberculously:TPRK:TPRK -tuberositates:TPRS:TPRS -tubuliflorous:TPLF:TPLF -tumorigeneses:TMRJ:TMRK -tumorigenesis:TMRJ:TMRK -turbidimetric:TRPT:TRPT -turbinotomies:TRPN:TRPN -turbochargers:TRPX:TRPK -twelvemonthes:TLFM:TLFM -tympanoplasty:TMPN:TMPN -tympanotomies:TMPN:TMPN -typhlectomies:TFLK:TFLK -typhloempyema:TFLM:TFLM -typhlostomies:TFLS:TFLS -typographical:TPKR:TPKR -typologically:TPLJ:TPLK -typonomically:TPNM:TPNM -tyrannousness:TRNS:TRNS -ultraliberals:ALTR:ALTR -ultranational:ALTR:ALTR -ultrasonogram:ALTR:ALTR -umbelliferous:AMPL:AMPL -unabbreviated:ANPR:ANPR -unaccentuated:ANXN:ANXN -unaccommodate:ANKM:ANKM -unaccompanied:ANKM:ANKM -unaccountable:ANKN:ANKN -unaccountably:ANKN:ANKN -unacknowledge:ANKN:ANKN -unadjudicated:ANTJ:ANTJ -unadulterated:ANTL:ANTL -unadventurous:ANTF:ANTF -unadvisedness:ANTF:ANTF -unalphabetise:ANLF:ANLF -unambiguously:ANMP:ANMP -unanticipated:ANNT:ANNT -unappealingly:ANPL:ANPL -unapportioned:ANPR:ANPR -unappreciated:ANPR:ANPR -unappropriate:ANPR:ANPR -unarticulated:ANRT:ANRT -unascertained:ANSR:ANSR -unashamedness:ANXM:ANXM -unassertively:ANSR:ANSR -unassimilated:ANSM:ANSM -unbelievingly:ANPL:ANPL -unbendingness:ANPN:ANPN -unblessedness:ANPL:ANPL -unboundedness:ANPN:ANPN -unbridledness:ANPR:ANPR -uncapitalized:ANKP:ANKP -uncategorical:ANKT:ANKT -unceasingness:ANSS:ANSS -unceremonious:ANSR:ANSR -uncertainness:ANSR:ANSR -uncertainties:ANSR:ANSR -unchallenging:ANXL:ANKL -uncircumcised:ANSR:ANSR -uncleanliness:ANKL:ANKL -uncollectible:ANKL:ANKL -uncomfortable:ANKM:ANKM -uncomfortably:ANKM:ANKM -uncommendable:ANKM:ANKM -uncompensated:ANKM:ANKM -uncompetitive:ANKM:ANKM -uncomplaining:ANKM:ANKM -uncomplicated:ANKM:ANKM -uncompressing:ANKM:ANKM -unconcernedly:ANKN:ANKN -unconditional:ANKN:ANKN -unconditioned:ANKN:ANKN -unconformable:ANKN:ANKN -unconformably:ANKN:ANKN -unconnectedly:ANKN:ANKN -unconquerable:ANKN:ANKN -unconquerably:ANKN:ANKN -unconsciously:ANKN:ANKN -unconsecrated:ANKN:ANKN -unconsolidate:ANKN:ANKN -unconstrained:ANKN:ANKN -unconstricted:ANKN:ANKN -unconsummated:ANKN:ANKN -uncontaminate:ANKN:ANKN -uncontestable:ANKN:ANKN -unconvertible:ANKN:ANKN -uncooperative:ANKP:ANKP -uncoordinated:ANKR:ANKR -uncorrectable:ANKR:ANKR -uncorroborate:ANKR:ANKR -uncrystallise:ANKR:ANKR -undauntedness:ANTN:ANTN -undecidedness:ANTS:ANTS -undeliverable:ANTL:ANTL -underachieved:ANTR:ANTR -underachiever:ANTR:ANTR -underachieves:ANTR:ANTR -underassessed:ANTR:ANTR -underbreeding:ANTR:ANTR -undercarriage:ANTR:ANTR -undercharging:ANTR:ANTR -underclassman:ANTR:ANTR -underclassmen:ANTR:ANTR -underclothing:ANTR:ANTR -undercoatings:ANTR:ANTR -undercurrents:ANTR:ANTR -underdrainage:ANTR:ANTR -underdraining:ANTR:ANTR -underdressing:ANTR:ANTR -undereducated:ANTR:ANTR -underemployed:ANTR:ANTR -underestimate:ANTR:ANTR -underexposing:ANTR:ANTR -underexposure:ANTR:ANTR -underfinanced:ANTR:ANTR -underfinances:ANTR:ANTR -undergarments:ANTR:ANTR -undergraduate:ANTR:ANTR -undergrounder:ANTR:ANTR -underhandedly:ANTR:ANTR -underofficial:ANTR:ANTR -underpainting:ANTR:ANTR -underpinnings:ANTR:ANTR -underpopulate:ANTR:ANTR -underpraising:ANTR:ANTR -underproduced:ANTR:ANTR -underproduces:ANTR:ANTR -underpropping:ANTR:ANTR -undershooting:ANTR:ANTR -underspending:ANTR:ANTR -understanders:ANTR:ANTR -understanding:ANTR:ANTR -understudying:ANTR:ANTR -undersupplied:ANTR:ANTR -undersupplies:ANTR:ANTR -underwhelming:ANTR:ANTR -undescribable:ANTS:ANTS -undescribably:ANTS:ANTS -undeterminate:ANTT:ANTT -undevelopable:ANTF:ANTF -undeviatingly:ANTF:ANTF -undiscernible:ANTS:ANTS -undiscernibly:ANTS:ANTS -undisciplined:ANTS:ANTS -undiscouraged:ANTS:ANTS -undissociated:ANTS:ANTS -undistinguish:ANTS:ANTS -undistributed:ANTS:ANTS -undiversified:ANTF:ANTF -undomesticate:ANTM:ANTM -unearthliness:ANR0:ANRT -unemancipated:ANMN:ANMN -unembarrassed:ANMP:ANMP -unembellished:ANMP:ANMP -unemotionally:ANMX:ANMX -unencapsulate:ANNK:ANNK -unencouraging:ANNK:ANNK -unenforceable:ANNF:ANNF -unenfranchise:ANNF:ANNF -unenlightened:ANNL:ANNL -unequivocally:ANKF:ANKF -unessentially:ANSN:ANSN -unestablished:ANST:ANST -unexaggerated:ANKS:ANKS -unexceptional:ANKS:ANKS -unexperienced:ANKS:ANKS -unexplainable:ANKS:ANKS -unexplainably:ANKS:ANKS -unextravagant:ANKS:ANKS -unfailingness:ANFL:ANFL -unfalteringly:ANFL:ANFL -unfamiliarity:ANFM:ANFM -unfashionable:ANFX:ANFX -unfashionably:ANFX:ANFX -unfeelingness:ANFL:ANFL -unflinchingly:ANFL:ANFL -unforeseeable:ANFR:ANFR -unforfeitable:ANFR:ANFR -unforgettable:ANFR:ANFR -unforgettably:ANFR:ANFR -unforthcoming:ANFR:ANFR -unfortunately:ANFR:ANFR -unfoundedness:ANFN:ANFN -unfriendliest:ANFR:ANFR -unfulfillable:ANFL:ANFL -unfulfillment:ANFL:ANFL -ungentlemanly:ANJN:ANKN -ungrammatical:ANKR:ANKR -unguardedness:ANKR:ANKR -unhandicapped:ANNT:ANNT -unhealthiness:ANL0:ANLT -unicameralism:ANKM:ANKM -unidiomatical:ANTM:ANTM -uniflagellate:ANFL:ANFL -unilaterality:ANLT:ANLT -unilluminated:ANLM:ANLM -unillustrated:ANLS:ANLS -unimaginative:ANMJ:ANMK -unimpassioned:ANMP:ANMP -unimpeachable:ANMP:ANMP -unimpeachably:ANMP:ANMP -unimplemented:ANMP:ANMP -unincorporate:ANNK:ANNK -unindemnified:ANNT:ANNT -uninflammable:ANNF:ANNF -uninfluential:ANNF:ANNF -uninformative:ANNF:ANNF -uninhabitable:ANNP:ANNP -uninhibitedly:ANNP:ANNP -uninitialized:ANNX:ANNX -uninquisitive:ANNK:ANNK -uninspiringly:ANNS:ANNS -uninstructive:ANNS:ANNS -unintelligent:ANNT:ANNT -unintentional:ANNT:ANNT -uninteresting:ANNT:ANNT -uninterpreted:ANNT:ANNT -uninterrupted:ANNT:ANNT -unipolarities:ANPL:ANPL -universalists:ANFR:ANFR -universalized:ANFR:ANFR -universalizes:ANFR:ANFR -universitates:ANFR:ANFR -universitatis:ANFR:ANFR -unjustifiable:ANJS:ANJS -unjustifiably:ANJS:ANJS -unknowability:ANKN:ANKN -unlimitedness:ANLM:ANLM -unmanipulated:ANMN:ANMN -unmeaningness:ANMN:ANMN -unmentionable:ANMN:ANMN -unmentionably:ANMN:ANMN -unmindfulness:ANMN:ANMN -unmistakeable:ANMS:ANMS -unmistakeably:ANMS:ANMS -unmitigatedly:ANMT:ANMT -unmusicalness:ANMS:ANMS -unnaturalness:ANTR:ANTR -unnecessarily:ANSS:ANSS -unobtrusively:ANPT:ANPT -unoffensively:ANFN:ANFN -unofficiously:ANFS:ANFX -unpasteurized:ANPS:ANPS -unpatriotical:ANPT:ANPT -unperturbable:ANPR:ANPR -unperturbably:ANPR:ANPR -unphysiologic:ANFS:ANFX -unpolymerized:ANPL:ANPL -unpracticable:ANPR:ANPR -unpractically:ANPR:ANPR -unprecedented:ANPR:ANPR -unpredictable:ANPR:ANPR -unpredictably:ANPR:ANPR -unpremeditate:ANPR:ANPR -unpresentable:ANPR:ANPR -unpresentably:ANPR:ANPR -unpretentious:ANPR:ANPR -unpreventable:ANPR:ANPR -unproblematic:ANPR:ANPR -unprogressive:ANPR:ANPR -unprovability:ANPR:ANPR -unputdownable:ANPT:ANPT -unqualifiable:ANKL:ANKL -unqualifiedly:ANKL:ANKL -unquestioning:ANKS:ANKS -unreadability:ANRT:ANRT -unrealistical:ANRL:ANRL -unreasoningly:ANRS:ANRS -unreceptively:ANRS:ANRS -unrecommended:ANRK:ANRK -unrecompensed:ANRK:ANRK -unreconstruct:ANRK:ANRK -unrecoverable:ANRK:ANRK -unrefrigerate:ANRF:ANRF -unrelentingly:ANRL:ANRL -unreliability:ANRL:ANRL -unremittingly:ANRM:ANRM -unremunerated:ANRM:ANRM -unrepentingly:ANRP:ANRP -unreplaceable:ANRP:ANRP -unrepresented:ANRP:ANRP -unreprimanded:ANRP:ANRP -unresentfully:ANRS:ANRS -unrespectable:ANRS:ANRS -unrestrictive:ANRS:ANRS -unrighteously:ANRT:ANRT -unromanticise:ANRM:ANRM -unruffledness:ANRF:ANRF -unsalvageable:ANSL:ANSL -unsatisfiable:ANST:ANST -unselfishness:ANSL:ANSL -unsentimental:ANSN:ANSN -unserviceable:ANSR:ANSR -unserviceably:ANSR:ANSR -unsightliness:ANST:ANST -unskilfulness:ANSK:ANSK -unsociability:ANSS:ANSX -unsparingness:ANSP:ANSP -unspecialized:ANSP:ANSP -unspectacular:ANSP:ANSP -unspottedness:ANSP:ANSP -unstandardise:ANST:ANST -unsubstantial:ANSP:ANSP -unsuitability:ANST:ANST -unsupportable:ANSP:ANSP -unsupportedly:ANSP:ANSP -unsurpassable:ANSR:ANSR -unsurpassably:ANSR:ANSR -unsusceptible:ANSS:ANSS -unsusceptibly:ANSS:ANSS -unsusceptibyy:ANSS:ANSS -unsuspectedly:ANSS:ANSS -unsustainable:ANSS:ANSS -unsymmetrical:ANSM:ANSM -unsympathetic:ANSM:ANSM -unterseeboots:ANTR:ANTR -untraditional:ANTR:ANTR -untransferred:ANTR:ANTR -untransformed:ANTR:ANTR -untrustworthy:ANTR:ANTR -unventuresome:ANFN:ANFN -unwarrantable:ANRN:ANRN -unwarrantably:ANRN:ANRN -unweariedness:ANRT:ANRT -unwholesomely:ANLS:ANLS -unwillingness:ANLN:ANLN -unwittingness:ANTN:ANTN -unworkmanlike:ANRK:ANRK -upperclassman:APRK:APRK -upperclassmen:APRK:APRK -uranoplasties:ARNP:ARNP -urbanologists:ARPN:ARPN -uresiesthesia:ARSS:ARSS -ureterectasia:ARTR:ARTR -ureterectasis:ARTR:ARTR -ureterography:ARTR:ARTR -ureteropelvic:ARTR:ARTR -ureteroplasty:ARTR:ARTR -ureterotomies:ARTR:ARTR -urethrobulbar:AR0R:ARTR -urethroplasty:AR0R:ARTR -urethrorectal:AR0R:ARTR -urethroscopic:AR0R:ARTR -urethrotomies:AR0R:ARTR -urotoxicities:ARTK:ARTK -uterocervical:ATRS:ATRS -uterographies:ATRK:ATRK -uteroplasties:ATRP:ATRP -utterableness:ATRP:ATRP -uveoparotitis:AFPR:AFPR -uveoscleritis:AFSK:AFSK -uvioresistant:AFRS:AFRS -vacillatingly:FSLT:FSLT -vacuolization:FKLS:FKLS -vaginectomies:FJNK:FKNK -vaginomycoses:FJNM:FKNM -vaginomycosis:FJNM:FKNM -vaginoscopies:FJNS:FKNS -valedictorian:FLTK:FLTK -valedictories:FLTK:FLTK -valorizations:FLRS:FLRS -valuationally:FLXN:FLXN -valuelessness:FLLS:FLLS -valvuloplasty:FLFL:FLFL -valvulotomies:FLFL:FLFL -vandalization:FNTL:FNTL -vapotherapies:FP0R:FPTR -variabilities:FRPL:FRPL -variationally:FRXN:FRXN -varicelliform:FRSL:FRSL -variolization:FRLS:FRLS -vascularities:FSKL:FSKL -vascularizing:FSKL:FSKL -vasectomizing:FSKT:FSKT -vasodepressor:FSTP:FSTP -vasoformative:FSFR:FSFR -vasoganglions:FSKN:FSKN -vasoinhibitor:FSNP:FSNP -vaudevillians:FTFL:FTFL -vectorization:FKTR:FKTR -vegetarianism:FKTR:FKTR -velocipedists:FLSP:FLSP -venereologies:FNRL:FNRL -venereologist:FNRL:FNRL -venoscleroses:FNSK:FNSK -venosclerosis:FNSK:FNSK -venovenostomy:FNFN:FNFN -ventricolumna:FNTR:FNTR -ventricularis:FNTR:FNTR -ventriculitis:FNTR:FNTR -ventriduction:FNTR:FNTR -ventriloquial:FNTR:FNTR -ventriloquism:FNTR:FNTR -ventriloquist:FNTR:FNTR -ventriloquize:FNTR:FNTR -ventrolateral:FNTR:FNTR -ventroscopies:FNTR:FNTR -venturesomely:FNTR:FNTR -venturousness:FNTR:FNTR -veraciousness:FRSS:FRXS -verbalization:FRPL:FRPL -verbification:FRPF:FRPF -verbigeration:FRPJ:FRPK -verifiability:FRFP:FRFP -verifications:FRFK:FRFK -verisimilarly:FRSM:FRSM -veritableness:FRTP:FRTP -vermiculation:FRMK:FRMK -vernacularise:FRNK:FRNK -vernacularism:FRNK:FRNK -vernacularity:FRNK:FRNK -vernalization:FRNL:FRNL -versatileness:FRST:FRST -versification:FRSF:FRSF -vertebrectomy:FRTP:FRTP -vertiginously:FRTJ:FRTK -vesicouterine:FSKT:FSKT -vesicovaginal:FSKF:FSKF -vesiculectomy:FSKL:FSKL -vestibulotomy:FSTP:FSTP -veterinarians:FTRN:FTRN -vexatiousness:FKST:FKST -vibrationless:FPRX:FPRX -vicariousness:FKRS:FKRS -vicegerencies:FSJR:FSKR -viceroyalties:FSRL:FSRL -victimization:FKTM:FKTM -videocassette:FTKS:FTKS -vigilambulism:FJLM:FKLM -vigilanteness:FJLN:FKLN -vilifications:FLFK:FLFK -vindicability:FNTK:FNTK -viniculturist:FNKL:FNKL -violoncellist:FLNS:FLNS -virologically:FRLJ:FRLK -visceromegaly:FSRM:FSRM -visceroptoses:FSRP:FSRP -visceroptosis:FSRP:FSRP -visceroptotic:FSRP:FSRP -viscerotropic:FSRT:FSRT -viscometrical:FSKM:FSKM -viscountesses:FSKN:FSKN -visionariness:FSNR:FXNR -visualization:FSLS:FSLS -visuoauditory:FSTT:FSTT -vitellolutein:FTLL:FTLL -viticulturist:FTKL:FTKL -vitreodentine:FTRT:FTRT -vitrification:FTRF:FTRF -vitriolically:FTRL:FTRL -vituperations:FTPR:FTPR -vivaciousness:FFSS:FFXS -vividiffusion:FFTF:FFTF -vivisectional:FFSK:FFSK -vocalizations:FKLS:FKLS -vociferations:FSFR:FSFR -voicelessness:FSLS:FSLS -volatilisable:FLTL:FLTL -volatilizable:FLTL:FLTL -volcanization:FLKN:FLKN -volcanologist:FLKN:FLKN -voluntariness:FLNT:FLNT -vomerobasilar:FMRP:FMRP -voraciousness:FRSS:FRXS -vouchsafement:FKSF:FKSF -vulcanization:FLKN:FLKN -vulcanologist:FLKN:FLKN -vulgarization:FLKR:FLKR -vulnerability:FLNR:FLNR -warmheartedly:ARMR:FRMR -washingtonian:AXNK:FXNK -waterproofing:ATRP:FTRP -wearisomeness:ARSM:FRSM -weatherboards:A0RP:FTRP -weatherliness:A0RL:FTRL -weatherproofs:A0RP:FTRP -weatherstrips:A0RS:FTRS -weightlifters:ATLF:FTLF -weightlifting:ATLF:FTLF -weltanschauun:ALTN:FLTN -welterweights:ALTR:FLTR -wheelbarrowed:ALPR:ALPR -whereinsoever:ARNS:ARNS -whimsicalness:AMSK:AMSK -whippoorwills:APRL:APRL -whithersoever:A0RS:ATRS -wholesomeness:ALSM:ALSM -wicketkeepers:AKTK:FKTK -winterfeeding:ANTR:FNTR -winterization:ANTR:FNTR -winterkilling:ANTR:FNTR -wisconsinites:ASKN:FSKN -withdrawnness:A0TR:FTTR -wonderfulness:ANTR:FNTR -woolgatherers:ALK0:FLKT -woolgathering:ALK0:FLKT -wordprocessor:ARTP:FRTP -worthlessness:AR0L:FRTL -wrongheadedly:RNKT:RNKT -wuchereriasis:AXRR:FKRR -xanthochroism:SN0K:SNTK -xanthochromia:SN0K:SNTK -xanthochromic:SN0K:SNTK -xanthomatoses:SNTM:SNTM -xanthomatosis:SNTM:SNTM -xanthoproteic:SN0P:SNTP -xanthoprotein:SN0P:SNTP -xenobiologies:SNPL:SNPL -xenodiagnoses:SNTN:SNTK -xenodiagnosis:SNTN:SNTK -xenophthalmia:SNF0:SNFT -xerophthalmia:SRF0:SRFT -xerophthalmic:SRF0:SRFT -yachtsmanship:AKTS:AKTS -yellowbellied:ALPL:ALPL -yellowbellies:ALPL:ALPL -yellowhammers:ALMR:ALMR -zigzaggedness:SKSK:SKSK -zoogeographer:SJKR:SKKR -zoogeographic:SJKR:SKKR -zoosporangium:SSPR:SSPR -zygapophyseal:SKPF:SKPF -zygodactylies:SKTK:SKTK -zygodactylism:SKTK:SKTK -zygodactylous:SKTK:SKTK -zygomaxillary:SKMK:SKMK -abirritatingly:APRT:APRT -absentmindedly:APSN:APSN -absorbefacient:APSR:APSR -absorptiveness:APSR:APSR -abstemiousness:APST:APST -abstentionists:APST:APST -abstractedness:APST:APST -abstractionism:APST:APST -abstractionist:APST:APST -acanthesthesia:AKN0:AKNT -acanthocephala:AKN0:AKNT -acceptableness:AKSP:AKSP -accessibleness:AKSS:AKSS -accidentalness:AKST:AKST -accommodations:AKMT:AKMT -accompaniments:AKMP:AKMP -accomplishable:AKMP:AKMP -accomplishment:AKMP:AKMP -accountability:AKNT:AKNT -accountantship:AKNT:AKNT -accreditations:AKRT:AKRT -accumulatively:AKML:AKML -accusativeness:AKST:AKST -accusatorially:AKST:AKST -acetonaphthone:ASTN:ASTN -acetotoluidide:ASTT:ASTT -acetphenetidin:ASTF:ASTF -achondroplasia:AXNT:AKNT -achromatically:AKRM:AKRM -achromatolyses:AKRM:AKRM -achromatolysis:AKRM:AKRM -achromotrichia:AKRM:AKRM -acknowledgedly:AKNL:AKNL -acknowledgment:AKNL:AKNL -acrodermatitis:AKRT:AKRT -actinobacillus:AKTN:AKTN -actinographies:AKTN:AKTN -actinomycetous:AKTN:AKTN -actinomycomata:AKTN:AKTN -actinomycotics:AKTN:AKTN -actinophytoses:AKTN:AKTN -actinophytosis:AKTN:AKTN -acupuncturists:AKPN:AKPN -adamantinomata:ATMN:ATMN -addressability:ATRS:ATRS -adenocarcinoma:ATNK:ATNK -adenocystomata:ATNS:ATNS -adenofibromata:ATNF:ATNF -adenosarcomata:ATNS:ATNS -admeasurements:ATMS:ATMS -administerings:ATMN:ATMN -administrating:ATMN:ATMN -administration:ATMN:ATMN -administrative:ATMN:ATMN -administrators:ATMN:ATMN -administratrix:ATMN:ATMN -adoptabilities:ATPT:ATPT -adrenocortical:ATRN:ATRN -adscititiously:ATST:ATST -adsorptiveness:ATSR:ATSR -adulterousness:ATLT:ATLT -advantageously:ATFN:ATFN -adventitiously:ATFN:ATFN -advertisements:ATFR:ATFR -aeroballistics:ARPL:ARPL -aerobiological:ARPL:ARPL -aerobiologists:ARPL:ARPL -aeronautically:ARNT:ARNT -aerosolization:ARSL:ARSL -aetioporphyrin:ATPR:ATPR -affectionately:AFKX:AFKX -aforementioned:AFRM:AFRM -africanisation:AFRK:AFRK -afterdischarge:AFTR:AFTR -afterpotential:AFTR:AFTR -aftersensation:AFTR:AFTR -agglomerations:AKLM:AKLM -agglutinations:AKLT:AKLT -agglutinogenic:AKLT:AKLT -aggrandisement:AKRN:AKRN -aggrandizement:AKRN:AKRN -aggressiveness:AKRS:AKRS -agribusinesses:AKRP:AKRP -agriculturally:AKRK:AKRK -agriculturists:AKRK:AKRK -agrobiological:AKRP:AKRP -agrobiologists:AKRP:AKRP -agrostological:AKRS:AKRS -agrostologists:AKRS:AKRS -alcoholization:ALKH:ALKH -alexipharmical:ALKS:ALKS -alienabilities:ALNP:ALNP -alkalinization:ALKL:ALKL -allegorization:ALKR:ALKR -allelomorphism:ALLM:ALLM -alliteratively:ALTR:ALTR -allocatability:ALKT:ALKT -allopathically:ALP0:ALPT -allopatrically:ALPT:ALPT -allosterically:ALST:ALST -allotetraploid:ALTT:ALTT -allotransplant:ALTR:ALTR -allotropically:ALTR:ALTR -alphabetically:ALFP:ALFP -alphanumerical:ALFN:ALFN -altimetrically:ALTM:ALTM -altrigenderism:ALTR:ALTR -altroheptulose:ALTR:ALTR -altruistically:ALTR:ALTR -alveolectomies:ALFL:ALFL -amateurishness:AMTR:AMTR -ambassadorship:AMPS:AMPS -ambassadresses:AMPS:AMPS -ambidextrously:AMPT:AMPT -amblychromatic:AMPL:AMPL -aminopeptidase:AMNP:AMNP -aminosalicylic:AMNS:AMNS -ammonification:AMNF:AMNF -amphiarthroses:AMFR:AMFR -amphiarthrosis:AMFR:AMFR -amphibiousness:AMFP:AMFP -amphibolically:AMFP:AMFP -amplifications:AMPL:AMPL -anachronically:ANKR:ANKR -anaesthetizing:ANS0:ANST -anagrammatical:ANKR:ANKR -analphabetical:ANLF:ANLF -anamnestically:ANMN:ANMN -anaphrodisiacs:ANFR:ANFR -anaphylactogen:ANFL:ANFL -anarthrousness:ANR0:ANRT -anathematizing:AN0M:ANTM -andromedotoxin:ANTR:ANTR -anelectrotonic:ANLK:ANLK -anelectrotonus:ANLK:ANLK -anesthesiology:ANS0:ANST -anesthetically:ANS0:ANST -angioblastomas:ANJP:ANKP -angiofibromata:ANJF:ANKF -angiosarcomata:ANJS:ANKS -angioscleroses:ANJS:ANKS -angiosclerosis:ANJS:ANKS -angioscotomata:ANJS:ANKS -angiotensinase:ANJT:ANKT -animadversions:ANMT:ANMT -annexationists:ANKS:ANKS -annotativeness:ANTT:ANTT -antagonistical:ANTK:ANTK -antagonization:ANTK:ANTK -antaphrodisiac:ANTF:ANTF -anthropogenies:AN0R:ANTR -anthropogonies:AN0R:ANTR -anthropography:AN0R:ANTR -anthropologies:AN0R:ANTR -anthropologist:AN0R:ANTR -anthropometric:AN0R:ANTR -anthropophilic:AN0R:ANTR -anthroposophic:AN0R:ANTR -antiallergenic:ANXL:ANXL -antiarrhythmic:ANXR:ANXR -antibiotically:ANTP:ANTP -anticapitalist:ANTK:ANTK -anticarcinogen:ANTK:ANTK -antichloristic:ANTX:ANTK -anticipatively:ANTS:ANTS -anticipatorily:ANTS:ANTS -anticoagulants:ANTK:ANTK -anticoagulated:ANTK:ANTK -anticommunists:ANTK:ANTK -anticomplement:ANTK:ANTK -anticonvulsant:ANTK:ANTK -anticonvulsive:ANTK:ANTK -antidemocratic:ANTT:ANTT -antidepressant:ANTT:ANTT -antidepressive:ANTT:ANTT -antigenicities:ANTJ:ANTK -antihemophilic:ANTH:ANTH -antiheroically:ANTH:ANTH -antihistamines:ANTH:ANTH -antihistaminic:ANTH:ANTH -antihistorical:ANTH:ANTH -antiliturgical:ANTL:ANTL -antilogarithms:ANTL:ANTL -antilymphocyte:ANTL:ANTL -antimetabolite:ANTM:ANTM -antimilitarism:ANTM:ANTM -antimilitarist:ANTM:ANTM -antimodernists:ANTM:ANTM -antimonarchist:ANTM:ANTM -antineoplastic:ANTN:ANTN -antinuclearist:ANTN:ANTN -antipathogenic:ANTP:ANTP -antiperspirant:ANTP:ANTP -antiphlogistic:ANTF:ANTF -antiphonically:ANTF:ANTF -antipsychiatry:ANTP:ANTP -antiquarianism:ANTK:ANTK -antiquatedness:ANTK:ANTK -antireflection:ANTR:ANTR -antiseptically:ANTS:ANTS -antisepticized:ANTS:ANTS -antisepticizes:ANTS:ANTS -antispasmodics:ANTS:ANTS -antisyphilitic:ANTS:ANTS -antitarnishing:ANTT:ANTT -antithetically:ANT0:ANTT -antitubercular:ANTT:ANTT -apheliotropism:AFLT:AFLT -aphoristically:AFRS:AFRS -apiculturalist:APKL:APKL -apochromatisms:APKR:APKR -apocryphalness:APKR:APKR -apologetically:APLK:APLK -apoplectically:APPL:APPL -apostrophizing:APST:APST -appendectomies:APNT:APNT -appendicectomy:APNT:APNT -appendicostomy:APNT:APNT -apperceptively:APRS:APRS -applicableness:APLK:APLK -appointiveness:APNT:APNT -apportionments:APRX:APRX -appreciatively:APRS:APRX -apprehensively:APRH:APRH -apprenticeship:APRN:APRN -appropriations:APRP:APRP -approximations:APRK:APRK -arachnodactyly:ARKN:ARKN -arachnologists:ARKN:ARKN -arboricultural:ARPR:ARPR -archaeological:ARKL:ARXL -archaeologists:ARKL:ARXL -archaeozoology:ARKS:ARXS -archbishoprics:ARXP:ARKP -archdeaconries:ARXT:ARKT -archegoniating:ARXK:ARKK -archetypically:ARXT:ARKT -archiepiscopal:ARXP:ARKP -archimandrites:ARXM:ARKM -architectonics:ARKT:ARKT -arctostaphylos:ARKT:ARKT -argentaffinoma:ARJN:ARKN -argumentations:ARKM:ARKM -aristocratical:ARST:ARST -arithmetically:AR0M:ARTM -arithmeticians:AR0M:ARTM -armamentariums:ARMM:ARMM -aromatherapist:ARM0:ARMT -arrondissement:ARNT:ARNT -arteriomalacia:ARTR:ARTR -arteriorrhaphy:ARTR:ARTR -arteriorrhexes:ARTR:ARTR -arteriorrhexis:ARTR:ARTR -arthrocenteses:AR0R:ARTR -arthrocentesis:AR0R:ARTR -arthrographies:AR0R:ARTR -arthroplasties:AR0R:ARTR -articulateness:ARTK:ARTK -articulationes:ARTK:ARTK -artifactitious:ARTF:ARTF -artificialness:ARTF:ARTF -ascertainments:ASRT:ASRT -asexualization:ASKS:ASKS -aspidospermine:ASPT:ASPT -assassinations:ASSN:ASSN -assimilatively:ASML:ASML -assistantships:ASST:ASST -associateships:ASST:ASXT -associationism:ASSX:ASXX -assumptiveness:ASMP:ASMP -assyriologists:ASRL:ASRL -astigmatically:ASTK:ASTK -astigmometries:ASTK:ASTK -astragalectomy:ASTR:ASTR -astrobiologies:ASTR:ASTR -astrobiologist:ASTR:ASTR -astroblastomas:ASTR:ASTR -astrogeologist:ASTR:ASTR -astrologically:ASTR:ASTR -astronomically:ASTR:ASTR -astrophysicist:ASTR:ASTR -asymmetrically:ASMT:ASMT -asymptotically:ASMP:ASMP -asynchronously:ASNX:ASNK -atrioseptopexy:ATRS:ATRS -atropinization:ATRP:ATRP -attainableness:ATNP:ATNP -attentionality:ATNX:ATNX -attitudinizing:ATTT:ATTT -attractiveness:ATRK:ATRK -audiologically:ATLJ:ATLK -augmentatively:AKMN:AKMN -auspiciousness:ASPS:ASPX -authenticating:A0NT:ATNT -authentication:A0NT:ATNT -authenticators:A0NT:ATNT -authenticities:A0NT:ATNT -authoritarians:A0RT:ATRT -authorizations:A0RS:ATRS -autoantibodies:ATNT:ATNT -autobiographer:ATPK:ATPK -autobiographic:ATPK:ATPK -autocollimator:ATKL:ATKL -autocorrelated:ATKR:ATKR -autocratically:ATKR:ATKR -autoimmunities:ATMN:ATMN -autoimmunizing:ATMN:ATMN -autoinoculable:ATNK:ATNK -automatization:ATMT:ATMT -automysophobia:ATMS:ATMS -autonavigators:ATNF:ATNF -autopolyploidy:ATPL:ATPL -autoregressive:ATRK:ATRK -autoregulation:ATRK:ATRK -autoregulative:ATRK:ATRK -autoregulatory:ATRK:ATRK -autosuggestion:ATSK:ATSK -autotransplant:ATTR:ATTR -auxanographies:AKSN:AKSN -availabilities:AFLP:AFLP -avariciousness:AFRS:AFRX -aviculturalist:AFKL:AFKL -axiomatization:AKSM:AKSM -baccalaureates:PKLR:PKLR -backscattering:PKSK:PKSK -backscratchers:PKSK:PKSK -backstretching:PKST:PKST -bactericidally:PKTR:PKTR -bacteriogenous:PKTR:PKTR -bacteriologies:PKTR:PKTR -bacteriologist:PKTR:PKTR -bacteriophages:PKTR:PKTR -bacteriophagic:PKTR:PKTR -bacteriostases:PKTR:PKTR -bacteriostasis:PKTR:PKTR -bacteriostatic:PKTR:PKTR -bacteriostatis:PKTR:PKTR -bacteriotropic:PKTR:PKTR -bacteriotropin:PKTR:PKTR -balsaminaceous:PLSM:PLSM -barometrically:PRMT:PRMT -barometrograph:PRMT:PRMT -bartonellaceae:PRTN:PRTN -basidiomycetes:PSTM:PSTM -basisphenoidal:PSSF:PSSF -bastardization:PSTR:PSTR -beautification:PTFK:PTFK -belligerencies:PLJR:PLKR -benefactresses:PNFK:PNFK -beneficialness:PNFS:PNFX -benzanthracene:PNSN:PNSN -benzosulfimide:PNSS:PNSS -bibliographers:PPLK:PPLK -bibliographies:PPLK:PPLK -bicentennially:PSNT:PSNT -biimplications:PMPL:PMPL -bilateralistic:PLTR:PLTR -bilateralities:PLTR:PLTR -bilharziosisly:PLRS:PLRS -bilirubinaemia:PLRP:PLRP -bioautographic:PTKR:PTKR -biochemistries:PXMS:PKMS -bioclimatology:PKLM:PKLM -bioconversions:PKNF:PKNF -biodegradation:PTKR:PTKR -bioelectricity:PLKT:PLKT -bioelectronics:PLKT:PLKT -bioengineering:PNJN:PNKN -biogenetically:PJNT:PKNT -biogeographers:PJKR:PKKR -biographically:PKRF:PKRF -bioluminescent:PLMN:PLMN -biomathematics:PM0M:PMTM -biorhythmicity:PR0M:PRTM -biotelemetries:PTLM:PTLM -bipartisanship:PPRT:PPRT -bipotentiality:PPTN:PPTN -bitrochanteric:PTRX:PTRK -bitumenization:PTMN:PTMN -blastophthoria:PLST:PLST -blastophthoric:PLST:PLST -blithesomeness:PL0S:PLTS -bloodthirstier:PLTR:PLTR -bloodthirstily:PLTR:PLTR -boardinghouses:PRTN:PRTN -boisterousness:PSTR:PSTR -bolometrically:PLMT:PLMT -bougainvillaea:PKNF:PKNF -bougainvilleas:PKNF:PKNF -bowdlerization:PTLR:PTLR -brachycephalic:PRKS:PRKS -brachydactylia:PRKT:PRKT -brachydactylic:PRKT:PRKT -braillewriters:PRLR:PRLR -branchiogenous:PRNX:PRNK -branchiomerism:PRNX:PRNK -braunschweiger:PRNX:PRNX -breakthroughes:PRK0:PRKT -breathlessness:PR0L:PRTL -breathtakingly:PR0T:PRTT -bremsstrahlung:PRMS:PRMS -brobdingnagian:PRPT:PRPT -bronchiectases:PRNX:PRNK -bronchiectasia:PRNX:PRNK -bronchiectasis:PRNX:PRNK -bronchiectatic:PRNX:PRNK -bronchodilator:PRNX:PRNK -bronchoedemata:PRNX:PRNK -bronchographic:PRNX:PRNK -bronchophonies:PRNX:PRNK -bronchoscopies:PRNX:PRNK -bronchoscopist:PRNX:PRNK -brontosauruses:PRNT:PRNT -bulbocavernosi:PLPK:PLPK -bulletproofing:PLTP:PLTP -bullheadedness:PLTT:PLTT -bureaucratical:PRKR:PRKR -bureaucratized:PRKR:PRKR -bureaucratizes:PRKR:PRKR -burglarproofed:PRKL:PRKL -butterfingered:PTRF:PTRF -butterworthing:PTRR:PTRR -cacophonically:KKFN:KKFN -cadaverousness:KTFR:KTFR -calamitousness:KLMT:KLMT -calcaneocuboid:KLKN:KLKN -calcareousness:KLKR:KLKR -calciphylactic:KLSF:KLSF -calcosphaerite:KLKS:KLKS -calculableness:KLKL:KLKL -calligraphists:KLKR:KLKR -calorimetrical:KLRM:KLRM -cambridgeshire:KMPR:KMPR -campanological:KMPN:KMPN -campanologists:KMPN:KMPN -campanulaceous:KMPN:KMPN -canaliculation:KNLK:KNLK -cancerologists:KNSR:KNSR -canonicalizing:KNNK:KNNK -cantankerously:KNTN:KNTN -cantharidating:KN0R:KNTR -cantharidizing:KN0R:KNTR -capillaroscope:KPLR:KPLR -capillaroscopy:KPLR:KPLR -capilliculture:KPLK:KPLK -capitalistical:KPTL:KPTL -capitalization:KPTL:KPTL -capparidaceous:KPRT:KPRT -capriciousness:KPRS:KPRX -caramelization:KRML:KRML -carbhemoglobin:KRPM:KRPM -carbobenzyloxy:KRPP:KRPP -carcinogeneses:KRSN:KRSN -carcinogenesis:KRSN:KRSN -carcinomatoses:KRSN:KRSN -carcinomatosis:KRSN:KRSN -carcinosarcoma:KRSN:KRSN -cardiodynamics:KRTT:KRTT -cardiographers:KRTK:KRTK -cardiographies:KRTK:KRTK -cardiomegalies:KRTM:KRTM -cardiomyopathy:KRTM:KRTM -cardioplasties:KRTP:KRTP -cardiovascular:KRTF:KRTF -carphologieses:KRFL:KRFL -cartellization:KRTL:KRTL -cartilagineous:KRTL:KRTL -cartographical:KRTK:KRTK -catachrestical:KTKR:KTKR -catadioptrical:KTTP:KTTP -cataleptically:KTLP:KTLP -cataphoretical:KTFR:KTFR -catastrophical:KTST:KTST -catastrophists:KTST:KTST -catechetically:KTXT:KTKT -catechizations:KTXS:KTKS -categorization:KTKR:KTKR -cavernostomies:KFRN:KFRN -celiocolpotomy:SLKL:SLKL -censoriousness:SNSR:SNSR -centralization:SNTR:SNTR -centrifugalize:SNTR:SNTR -centrifugation:SNTR:SNTR -centrolecithal:SNTR:SNTR -centuplicating:SNTP:SNTP -centuplication:SNTP:SNTP -cephalhematoma:SFLM:SFLM -cephalometries:SFLM:SFLM -cephalopathies:SFLP:SFLP -cephalosporium:SFLS:SFLS -cercopitheciod:SRKP:SRKP -cerebrationing:SRPR:SRPR -ceremonialists:SRMN:SRMN -ceremonialness:SRMN:SRMN -certifications:SRTF:SRTF -cervicectomies:SRFS:SRFS -cervicolingual:SRFK:SRFK -cervicovesical:SRFK:SRFK -chalcographers:XLKK:XLKK -chalcographist:XLKK:XLKK -chancellorship:XNSL:XNSL -changeableness:XNJP:XNKP -changelessness:XNJL:XNKL -channelization:XNLS:XNLS -chaptalization:XPTL:XPTL -characteristic:KRKT:KRKT -characterizers:KRKT:KRKT -characterizing:KRKT:KRKT -characterology:KRKT:KRKT -chargeableness:XRJP:XRKP -charitableness:XRTP:XRTP -charlataneries:XRLT:XRLT -charlatanistic:XRLT:XRLT -chattelization:XTLS:XTLS -chauvinistical:XFNS:XFNS -checkerberries:XKRP:XKRP -cheilectropion:XLKT:XLKT -cheiloplasties:XLPL:XLPL -cheiromegalies:XRMK:XRMK -cheiroplasties:XRPL:XRPL -chemoautotroph:KMTT:KMTT -chemodectomata:KMTK:KMTK -chemoreception:KMRS:KMRS -chemoreceptive:KMRS:KMRS -chemoreceptors:KMRS:KMRS -chemosensitive:KMSN:KMSN -chemosterilant:KMST:KMST -chemosterilize:KMST:KMST -chemosurgeries:KMSR:KMSR -chemosyntheses:KMSN:KMSN -chemosynthesis:KMSN:KMSN -chemosynthetic:KMSN:KMSN -chemotherapies:KM0R:KMTR -chemotherapist:KM0R:KMTR -chiaroscurists:KRSK:KRSK -chieftainships:XFTN:XFTN -chimericalness:XMRK:XMRK -chirographical:XRKR:XRKR -chivalrousness:XFLR:XFLR -chlamydosporic:KLMT:KLMT -chlorcyclizine:KLRS:KLRS -chloroleukemia:KLRL:KLRL -chlorophylloid:KLRF:KLRF -chlorophyllous:KLRF:KLRF -chloroprocaine:KLRP:KLRP -chlorpromazine:KLRP:KLRP -chlorpropamide:KLRP:KLRP -cholangiolitic:XLNJ:XLNK -cholangiolitis:XLNJ:XLNK -cholangiostomy:XLNJ:XLNK -cholecystogram:XLSS:XLSS -cholecystopexy:XLSS:XLSS -cholecystotomy:XLSS:XLSS -cholelithiases:XLL0:XLLT -cholelithiasis:XLL0:XLLT -cholesteatomas:XLST:XLST -cholesteraemia:XLST:XLST -cholinesterase:XLNS:XLNS -cholinomimetic:XLNM:XLNM -chondrectomies:XNTR:XNTR -chondroblastic:XNTR:XNTR -chondrocranium:XNTR:XNTR -chondrogeneses:XNTR:XNTR -chondrogenesis:XNTR:XNTR -chondrogenetic:XNTR:XNTR -chondroglossus:XNTR:XNTR -chondromalacia:XNTR:XNTR -chondropathies:XNTR:XNTR -chondrosarcoma:XNTR:XNTR -chondroseptums:XNTR:XNTR -chondrosternal:XNTR:XNTR -chondroxiphoid:XNTR:XNTR -chordamesoderm:KRTM:KRTM -chordomesoderm:KRTM:KRTM -choreoathetoid:XR0T:XRTT -choreographers:XRKR:XRKR -choreographing:XRKR:XRKR -chorographical:KRKR:KRKR -choroidoiritis:KRTR:KRTR -christianizing:KRSX:KRSX -christlikeness:KRST:KRST -chromaffinomas:KRMF:KRMF -chromatogenous:KRMT:KRMT -chromatography:KRMT:KRMT -chromatologist:KRMT:KRMT -chromatophilia:KRMT:KRMT -chromatophores:KRMT:KRMT -chromatophoric:KRMT:KRMT -chromobacteria:KRMP:KRMP -chromotrichial:KRMT:KRMT -chronaximetric:KRNK:KRNK -chronographers:KRNK:KRNK -chronometrical:KRNM:KRNM -chrysanthemums:KRSN:KRSN -cinchonization:SNXN:SNKN -cinematography:SNMT:SNMT -cingulectomies:SNKL:SNKL -cinquecentists:SNKS:SNKS -circuitousness:SRKT:SRKT -circumambience:SRKM:SRKM -circumambiency:SRKM:SRKM -circumambulate:SRKM:SRKM -circumbendibus:SRKM:SRKM -circumductions:SRKM:SRKM -circumferences:SRKM:SRKM -circumlocution:SRKM:SRKM -circumlocutory:SRKM:SRKM -circumnavigate:SRKM:SRKM -circumnutating:SRKM:SRKM -circumnutation:SRKM:SRKM -circumscissile:SRKM:SRKM -circumscribers:SRKM:SRKM -circumscribing:SRKM:SRKM -circumspection:SRKM:SRKM -circumspective:SRKM:SRKM -circumstantial:SRKM:SRKM -circumvallated:SRKM:SRKM -circumvallates:SRKM:SRKM -circumvascular:SRKM:SRKM -circumventable:SRKM:SRKM -circumventions:SRKM:SRKM -circumvolution:SRKM:SRKM -circumvolutory:SRKM:SRKM -citriculturist:STRK:STRK -clairaudiently:KLRT:KLRT -clairvoyancies:KLRF:KLRF -clamourousness:KLMR:KLMR -clarifications:KLRF:KLRF -classicization:KLSS:KLSS -classification:KLSF:KLSF -claustrophobia:KLST:KLST -claustrophobic:KLST:KLST -clavichordists:KLFX:KLFK -clearinghouses:KLRN:KLRN -climatological:KLMT:KLMT -climatologists:KLMT:KLMT -climatotherapy:KLMT:KLMT -clitoridectomy:KLTR:KLTR -clothespresses:KL0S:KLTS -coastguardsman:KSTK:KSTK -coccobacillary:KKPS:KKPS -coccygectomies:KKJK:KKKK -cocknification:KKNF:KKNF -coessentiality:KSNX:KSNX -cogitativeness:KJTT:KKTT -coincidentally:KNST:KNST -colibacillemia:KLPS:KLPS -colibacilluria:KLPS:KLPS -colicinogenies:KLSN:KLSN -collaborations:KLPR:KLPR -collagenolytic:KLJN:KLKN -collapsibility:KLPS:KLPS -collateralized:KLTR:KLTR -collateralizes:KLTR:KLTR -collectiveness:KLKT:KLKT -collectivistic:KLKT:KLKT -collectivizing:KLKT:KLKT -colloquialisms:KLKL:KLKL -colorificatura:KLRF:KLRF -colorimetrical:KLRM:KLRM -colourimetries:KLRM:KLRM -colporrhaphies:KLPR:KLPR -combustibility:KMPS:KMPS -comfortability:KMFR:KMFR -commanderships:KMNT:KMNT -commeasurement:KMSR:KMSR -commemorations:KMMR:KMMR -commendatorily:KMNT:KMNT -commensurately:KMNS:KMNS -commensuration:KMNS:KMNS -commercialists:KMRS:KMRX -commercialized:KMRS:KMRX -commercializes:KMRS:KMRX -commercialness:KMRS:KMRX -commiserations:KMSR:KMSR -commissaryship:KMSR:KMSR -commissionaire:KMSN:KMSN -commissurotomy:KMSR:KMSR -committeewoman:KMTM:KMTM -committeewomen:KMTM:KMTM -commodiousness:KMTS:KMTS -commonsensical:KMNS:KMNS -commonwealthes:KMNL:KMNL -communications:KMNK:KMNK -communitarians:KMNT:KMNT -communizations:KMNS:KMNS -commutableness:KMTP:KMTP -comparableness:KMPR:KMPR -compatibleness:KMPT:KMPT -compellability:KMPL:KMPL -compensability:KMPN:KMPN -compensational:KMPN:KMPN -compensatively:KMPN:KMPN -complementally:KMPL:KMPL -complementizer:KMPL:KMPL -compliableness:KMPL:KMPL -comprehendible:KMPR:KMPR -comprehensible:KMPR:KMPR -comprehensibly:KMPR:KMPR -compromisingly:KMPR:KMPR -compulsiveness:KMPL:KMPL -compulsoriness:KMPL:KMPL -compunctiously:KMPN:KMPN -compurgatorial:KMPR:KMPR -concatenations:KNKT:KNKT -conceivability:KNSF:KNSF -concelebrating:KNSL:KNSL -concelebration:KNSL:KNSL -concentrations:KNSN:KNSN -concentrically:KNSN:KNSN -conceptualists:KNSP:KNSP -conceptualized:KNSP:KNSP -conceptualizes:KNSP:KNSP -concertmasters:KNSR:KNSR -concessionaire:KNSS:KNSS -conclusiveness:KNKL:KNKL -concretization:KNKR:KNKR -condensability:KNTN:KNTN -condensational:KNTN:KNTN -condensibility:KNTN:KNTN -condescendence:KNTS:KNTS -condescensions:KNTS:KNTS -conditionality:KNTX:KNTX -conditionalize:KNTX:KNTX -conductibility:KNTK:KNTK -conductivities:KNTK:KNTK -conductorships:KNTK:KNTK -conduplication:KNTP:KNTP -condylectomies:KNTL:KNTL -confabulations:KNFP:KNFP -confederations:KNFT:KNFT -confidentially:KNFT:KNFT -configurations:KNFK:KNFK -confirmatively:KNFR:KNFR -conflagrations:KNFL:KNFL -conformability:KNFR:KNFR -conformational:KNFR:KNFR -confoundedness:KNFN:KNFN -confrontations:KNFR:KNFR -congenitalness:KNJN:KNKN -conglomerating:KNKL:KNKL -conglomeration:KNKL:KNKL -conglutinating:KNKL:KNKL -conglutination:KNKL:KNKL -conglutinative:KNKL:KNKL -congratulating:KNKR:KNKR -congratulation:KNKR:KNKR -congratulative:KNKR:KNKR -congratulators:KNKR:KNKR -congratulatory:KNKR:KNKR -congregational:KNKR:KNKR -conidiophorous:KNTF:KNTF -conjunctivitis:KNJN:KNJN -connectionless:KNKX:KNKX -connubialities:KNPL:KNPL -consanguineous:KNSN:KNSN -conscienceless:KNSN:KNSN -conservational:KNSR:KNSR -conservatively:KNSR:KNSR -conservatoires:KNSR:KNSR -conservatories:KNSR:KNSR -considerations:KNST:KNST -consignataries:KNSN:KNSK -consolidations:KNSL:KNSL -conspiratorial:KNSP:KNSP -constableships:KNST:KNST -constabularies:KNST:KNST -constantinople:KNST:KNST -constellations:KNST:KNST -constituencies:KNST:KNST -constitutional:KNST:KNST -constitutively:KNST:KNST -constrictively:KNST:KNST -construability:KNST:KNST -constructional:KNST:KNST -constructively:KNST:KNST -constructivism:KNST:KNST -constructivist:KNST:KNST -consubstantial:KNSP:KNSP -consuetudinary:KNST:KNST -consultatively:KNSL:KNSL -contagiousness:KNTJ:KNTK -containerizing:KNTN:KNTN -containerships:KNTN:KNTN -contaminations:KNTM:KNTM -contemplations:KNTM:KNTM -contemporaries:KNTM:KNTM -contemporarily:KNTM:KNTM -contemporizing:KNTM:KNTM -contemptuously:KNTM:KNTM -conterminously:KNTR:KNTR -contestability:KNTS:KNTS -contextualized:KNTK:KNTK -contextualizes:KNTK:KNTK -contiguousness:KNTK:KNTK -continuatively:KNTN:KNTN -continuousness:KNTN:KNTN -contortionists:KNTR:KNTR -contrabandists:KNTR:KNTR -contrabassists:KNTR:KNTR -contrabassoons:KNTR:KNTR -contraceptives:KNTR:KNTR -contradictable:KNTR:KNTR -contradictions:KNTR:KNTR -contradictious:KNTR:KNTR -contraindicant:KNTR:KNTR -contraindicate:KNTR:KNTR -contraposition:KNTR:KNTR -contrapositive:KNTR:KNTR -contrapuntally:KNTR:KNTR -contrapuntists:KNTR:KNTR -contributively:KNTR:KNTR -contributories:KNTR:KNTR -contributorily:KNTR:KNTR -controllership:KNTR:KNTR -controvertible:KNTR:KNTR -controvertibly:KNTR:KNTR -contumaciously:KNTM:KNTM -contumeliously:KNTM:KNTM -convalescences:KNFL:KNFL -convalescently:KNFL:KNFL -conventionally:KNFN:KNFN -conventioneers:KNFN:KNFN -conversational:KNFR:KNFR -convertaplanes:KNFR:KNFR -convertibility:KNFR:KNFR -convertiplanes:KNFR:KNFR -convertoplanes:KNFR:KNFR -convincingness:KNFN:KNFN -convolutedness:KNFL:KNFL -convolutionary:KNFL:KNFL -convulsiveness:KNFL:KNFL -coordinateness:KRTN:KRTN -coossification:KSFK:KSFK -copartnerships:KPRT:KPRT -copolymerizing:KPLM:KPLM -coproporphyrin:KPRP:KPRP -coquettishness:KKTX:KKTX -coreligionists:KRLJ:KRLK -correspondence:KRSP:KRSP -correspondents:KRSP:KRSP -corroborations:KRPR:KRPR -corruptibility:KRPT:KRPT -corruptionists:KRPX:KRPX -corticosteroid:KRTK:KRTK -corticosterone:KRTK:KRTK -corticotrophin:KRTK:KRTK -corynebacteria:KRNP:KRNP -cosmetologists:KSMT:KSMT -cosmochemistry:KSMX:KSMK -cosmographical:KSMK:KSMK -cosmologically:KSML:KSML -cosponsorships:KSPN:KSPN -costovertebral:KSTF:KSTF -cotransduction:KTRN:KTRN -councillorship:KNSL:KNSL -counselorships:KNSL:KNSL -counteractions:KNTR:KNTR -counterattacks:KNTR:KNTR -counterbalance:KNTR:KNTR -countercharged:KNTR:KNTR -countercharges:KNTR:KNTR -counterchecked:KNTR:KNTR -counterclaimed:KNTR:KNTR -counterculture:KNTR:KNTR -countercurrent:KNTR:KNTR -counterexample:KNTR:KNTR -counterfactual:KNTR:KNTR -counterfeiters:KNTR:KNTR -counterfeiting:KNTR:KNTR -countermanding:KNTR:KNTR -countermarched:KNTR:KNTR -countermarches:KNTR:KNTR -countermeasure:KNTR:KNTR -counteropening:KNTR:KNTR -counterparting:KNTR:KNTR -counterplotted:KNTR:KNTR -counterpointed:KNTR:KNTR -counterpoising:KNTR:KNTR -counterpunched:KNTR:KNTR -counterpunches:KNTR:KNTR -countershading:KNTR:KNTR -countersigning:KNTR:KNTR -countersinking:KNTR:KNTR -countersubject:KNTR:KNTR -countervailing:KNTR:KNTR -counterweighed:KNTR:KNTR -counterweights:KNTR:KNTR -counterworkers:KNTR:KNTR -courageousness:KRJS:KRKS -craniocerebral:KRNS:KRNS -craniometrical:KRNM:KRNM -craniometrists:KRNM:KRNM -cranioplasties:KRNP:KRNP -craniostenoses:KRNS:KRNS -craniostenosis:KRNS:KRNS -creatureliness:KRTR:KRTR -creditableness:KRTT:KRTT -cricoarytenoid:KRKR:KRKR -criminogenesis:KRMN:KRMN -criminological:KRMN:KRMN -criminologists:KRMN:KRMN -crossabilities:KRSP:KRSP -crossexamining:KRSK:KRSK -cruiserweights:KRSR:KRSR -crymotherapies:KRM0:KRMT -cryobiological:KRPL:KRPL -cryobiologists:KRPL:KRPL -cryoprotective:KRPR:KRPR -cryptaesthesia:KRPT:KRPT -cryptobioseses:KRPT:KRPT -cryptococcoses:KRPT:KRPT -cryptographers:KRPT:KRPT -cryptorchidism:KRPT:KRPT -crystallisable:KRST:KRST -cumberlandrian:KMRL:KMRL -cumbersomeness:KMRS:KMRS -cumulativeness:KMLT:KMLT -cuneonavicular:KNNF:KNNF -curvaceousness:KRFS:KRFS -curvilinearity:KRFL:KRFL -custodianships:KSTT:KSTT -customizations:KSTM:KSTM -cyanocobalamin:SNKP:SNKP -cybernetically:SPRN:SPRN -cyberneticists:SPRN:SPRN -cyclodiathermy:SKLT:SKLT -cyclophyllidea:SKLF:SKLF -cyclostomatous:SKLS:SKLS -cylindricality:SLNT:SLNT -cymbocephalies:SMPS:SMPS -cymbocephalous:SMPS:SMPS -cyproheptadine:SPRH:SPRH -cystolithiases:SSTL:SSTL -cystolithiasis:SSTL:SSTL -cystometrogram:SSTM:SSTM -cystorrhaphies:SSTR:SSTR -cystosarcomata:SSTS:SSTS -cytogeneticist:STJN:STKN -cytomorphology:STMR:STMR -cytopathogenic:STP0:STPT -cytophotometry:STFT:STFT -cytostatically:STST:STST -cytotaxonomies:STTK:STTK -cytotaxonomist:STTK:STTK -cytotechnology:STTK:STTK -cytotoxicities:STTK:STTK -czechoslovakia:SXSL:XKSL -dacryoadenitis:TKRT:TKRT -dacryocystitis:TKRS:TKRS -dacryostenoses:TKRS:TKRS -dacryostenosis:TKRS:TKRS -dacryosyringes:TKRS:TKRS -dacryosyrinxes:TKRS:TKRS -dactylographer:TKTL:TKTL -dactylographic:TKTL:TKTL -dactyloscopies:TKTL:TKTL -dactyloscopist:TKTL:TKTL -daguerreotyper:TKRT:TKRT -daguerreotypes:TKRT:TKRT -daughterliness:TTRL:TTRL -deaccessioning:TXSN:TXSN -deaminizations:TMNS:TMNS -decaffeinating:TKFN:TKFN -deceivableness:TSFP:TSFP -decentralizing:TSNT:TSNT -dechloridation:TKLR:TKLR -dechlorinating:TKLR:TKLR -dechlorination:TKLR:TKLR -dechloruration:TKLR:TKLR -decimalization:TSML:TSML -declassifiable:TKLS:TKLS -declensionally:TKLN:TKLN -decolonization:TKLN:TKLN -decolorization:TKLR:TKLR -decommissioned:TKMS:TKMS -decompensating:TKMP:TKMP -decompensation:TKMP:TKMP -decompositions:TKMP:TKMP -decompressions:TKMP:TKMP -deconsecrating:TKNS:TKNS -deconsecration:TKNS:TKNS -decontaminants:TKNT:TKNT -decontaminated:TKNT:TKNT -decontaminates:TKNT:TKNT -decontaminator:TKNT:TKNT -decorativeness:TKRT:TKRT -decriminalized:TKRM:TKRM -decriminalizes:TKRM:TKRM -deducibilities:TTSP:TTSP -defeasibleness:TFSP:TFSP -defenestrating:TFNS:TFNS -defenestration:TFNS:TFNS -defensibleness:TFNS:TFNS -deferentectomy:TFRN:TFRN -defibrillating:TFPR:TFPR -defibrillation:TFPR:TFPR -defibrillative:TFPR:TFPR -defibrillators:TFPR:TFPR -defibrillatory:TFPR:TFPR -definitiveness:TFNT:TFNT -deflocculating:TFLK:TFLK -deflocculation:TFLK:TFLK -degenerateness:TJNR:TKNR -dehumanization:THMN:THMN -dehydrocholate:THTR:THTR -dehydrogenated:THTR:THTR -dehydrogenates:THTR:THTR -dehydrogenized:THTR:THTR -dehydrogenizes:THTR:THTR -dehydroretinol:THTR:THTR -delectableness:TLKT:TLKT -delegalization:TLKL:TLKL -deliberateness:TLPR:TLPR -deliberatively:TLPR:TLPR -delightfulness:TLTF:TLTF -delitescencies:TLTS:TLTS -deliverability:TLFR:TLFR -delocalization:TLKL:TLKL -demasculinized:TMSK:TMSK -demasculinizes:TMSK:TMSK -dematerialises:TMTR:TMTR -dematerialized:TMTR:TMTR -dematerializes:TMTR:TMTR -demilitarizing:TMLT:TMLT -demineralizing:TMNR:TMNR -demisemiquaver:TMSM:TMSM -demobilization:TMPL:TMPL -democratically:TMKR:TMKR -demolitionists:TMLX:TMLX -demonetarizing:TMNT:TMNT -demonetization:TMNT:TMNT -demonstrations:TMNS:TMNS -demoralization:TMRL:TMRL -demythologized:TM0L:TMTL -demythologizes:TM0L:TMTL -denationalized:TNXN:TNXN -denationalizes:TNXN:TNXN -denaturalizing:TNTR:TNTR -denazification:TNSF:TNSF -denicotinizing:TNKT:TNKT -denominational:TNMN:TNMN -denominatively:TNMN:TNMN -denotationally:TNTX:TNTX -densitometries:TNST:TNST -denticulations:TNTK:TNTK -dentinogeneses:TNTN:TNTN -dentinogenesis:TNTN:TNTN -denuclearizing:TNKL:TNKL -deorsumduction:TRSM:TRSM -deossification:TSFK:TSFK -depancreatized:TPNK:TPNK -depancreatizes:TPNK:TPNK -departmentally:TPRT:TPRT -dependableness:TPNT:TPNT -depersonalized:TPRS:TPRS -depersonalizes:TPRS:TPRS -depigmentation:TPKM:TPKM -deplorableness:TPLR:TPLR -depolarization:TPLR:TPLR -depoliticizing:TPLT:TPLT -depolymerizing:TPLM:TPLM -depreciatingly:TPRS:TPRX -depreciatively:TPRS:TPRX -depressibility:TPRS:TPRS -depressiveness:TPRS:TPRS -depressomotors:TPRS:TPRS -depressurizing:TPRS:TPRS -deprogrammings:TPRK:TPRK -deregistration:TRJS:TRKS -derencephalies:TRNS:TRNS -derequisitions:TRKS:TRKS -derestrictions:TRST:TRST -dermatocranium:TRMT:TRMT -dermatofibroma:TRMT:TRMT -dermatological:TRMT:TRMT -dermatologists:TRMT:TRMT -dermatomycetes:TRMT:TRMT -dermatomycoses:TRMT:TRMT -dermatomycosis:TRMT:TRMT -dermatomyomata:TRMT:TRMT -dermatopathias:TRMT:TRMT -dermatopathies:TRMT:TRMT -dermatoplastic:TRMT:TRMT -dermatorrhagia:TRMT:TRMT -dermatoscopies:TRMT:TRMT -dermatotherapy:TRMT:TRMT -dermatothlasia:TRMT:TRMT -dermophlebitis:TRMF:TRMF -derogatoriness:TRKT:TRKT -desalinization:TSLN:TSLN -despicableness:TSPK:TSPK -despitefulness:TSPT:TSPT -desulphurizers:TSLF:TSLF -desulphurizing:TSLF:TSLF -deteriorations:TTRR:TTRR -determinations:TTRM:TTRM -determinedness:TTRM:TTRM -detestableness:TTST:TTST -detoxification:TTKS:TTKS -deuteragonists:TTRK:TTRK -deuterogamists:TTRK:TTRK -deuteronomists:TTRN:TTRN -deuteropathies:TTRP:TTRP -devitalization:TFTL:TFTL -devolutionists:TFLX:TFLX -devotionalists:TFXN:TFXN -devotionalness:TFXN:TFXN -dextrocerebral:TKST:TKST -dextrocularity:TKST:TKST -dextroposition:TKST:TKST -dextrorotatary:TKST:TKST -dextrorotation:TKST:TKST -dextrorotatory:TKST:TKST -diabolicalness:TPLK:TPLK -diadokokinesia:TTKK:TTKK -diagnostically:TNST:TKNS -diagnosticians:TNST:TKNS -diagrammatical:TKRM:TKRM -dialectologist:TLKT:TLKT -diamondiferous:TMNT:TMNT -diaphanometric:TFNM:TFNM -diaphanousness:TFNS:TFNS -diaphototropic:TFTT:TFTT -diathermancies:T0RM:TTRM -dichlorohydrin:TXLR:TKLR -dichromaticism:TXRM:TKRM -dichromatopsia:TXRM:TKRM -dicotyledonous:TKTL:TKTL -dielectrically:TLKT:TLKT -dietotherapies:TT0R:TTTR -differentiable:TFRN:TFRN -differentially:TFRN:TFRN -differentiated:TFRN:TFRN -differentiates:TFRN:TFRN -differentiator:TFRN:TFRN -diffusibleness:TFSP:TFSP -digestibleness:TJST:TKST -digitalization:TJTL:TKTL -digressiveness:TKRS:TKRS -dimenhydrinate:TMNT:TMNT -dimensionality:TMNS:TMNX -diminutiveness:TMNT:TMNT -diphtheriaphor:TF0R:TFTR -diphtherotoxin:TF0R:TFTR -diphthongizing:TF0N:TFTN -diplomatically:TPLM:TPLM -directionality:TRKX:TRKX -disaccharidase:TSXR:TSXR -disaccrediting:TSKR:TSKR -disaccustoming:TSKS:TSKS -disadvantaging:TSTF:TSTF -disaffiliating:TSFL:TSFL -disaffiliation:TSFL:TSFL -disaffirmances:TSFR:TSFR -disaffirmation:TSFR:TSFR -disafforesting:TSFR:TSFR -disaggregation:TSKR:TSKR -disambiguating:TSMP:TSMP -disambiguation:TSMP:TSMP -disappearances:TSPR:TSPR -disappointedly:TSPN:TSPN -disappointment:TSPN:TSPN -disapprobation:TSPR:TSPR -disapprovingly:TSPR:TSPR -disarrangement:TSRN:TSRN -disarticulated:TSRT:TSRT -disarticulates:TSRT:TSRT -disarticulator:TSRT:TSRT -disassimilated:TSSM:TSSM -disassociating:TSSS:TSSX -disassociation:TSSS:TSSX -disbelievingly:TSPL:TSPL -disburdenments:TSPR:TSPR -discernibility:TSRN:TSRN -discerptiblity:TSRP:TSRP -disciplinarian:TSPL:TSPL -discoblastulae:TSKP:TSKP -discoblastulas:TSKP:TSKP -discogastrulae:TSKK:TSKK -discogastrulas:TSKK:TSKK -discolorations:TSKL:TSKL -discolouration:TSKL:TSKL -discombobulate:TSKM:TSKM -discommodities:TSKM:TSKM -discomposingly:TSKM:TSKM -disconcertedly:TSKN:TSKN -disconcertions:TSKN:TSKN -disconnectedly:TSKN:TSKN -disconnections:TSKN:TSKN -disconsolately:TSKN:TSKN -discontentedly:TSKN:TSKN -discontentment:TSKN:TSKN -discontinuance:TSKN:TSKN -discoplacentae:TSKP:TSKP -discoplacental:TSKP:TSKP -discoplacentas:TSKP:TSKP -discountenance:TSKN:TSKN -discouragement:TSKR:TSKR -discouragingly:TSKR:TSKR -discourteously:TSKR:TSKR -discretionally:TSKX:TSKX -discriminately:TSKM:TSKM -discriminating:TSKM:TSKM -discrimination:TSKM:TSKM -discriminative:TSKM:TSKM -discriminators:TSKM:TSKM -discriminatory:TSKM:TSKM -discursiveness:TSKR:TSKR -disdainfulness:TSTN:TSTN -disembarkation:TSMP:TSMP -disembarkments:TSMP:TSMP -disembarrassed:TSMP:TSMP -disembarrasses:TSMP:TSMP -disembodiments:TSMP:TSMP -disemboguement:TSMP:TSMP -disembowelment:TSMP:TSMP -disenablements:TSNP:TSNP -disenchantment:TSNX:TSNK -disencumbering:TSNK:TSNK -disenfranchise:TSNF:TSNF -disengagements:TSNK:TSNK -disentailments:TSNT:TSNT -disenthralling:TSN0:TSNT -disentitlement:TSNT:TSNT -disentombments:TSNT:TSNT -disequilibrium:TSKL:TSKL -disestablished:TSST:TSST -disestablishes:TSST:TSST -disfeaturement:TSFT:TSFT -disfigurations:TSFK:TSFK -disfigurements:TSFK:TSFK -disfranchisers:TSFR:TSFR -disfranchising:TSFR:TSFR -disgruntlement:TSKR:TSKR -disheartenment:TXRT:TXRT -disillusioning:TSLS:TSLX -disinclination:TSNK:TSNK -disincorporate:TSNK:TSNK -disinfestation:TSNF:TSNF -disinformation:TSNF:TSNF -disingenuously:TSNJ:TSNK -disinheritance:TSNR:TSNR -disintegrating:TSNT:TSNT -disintegration:TSNT:TSNT -disintegrative:TSNT:TSNT -disintegrators:TSNT:TSNT -disinteresting:TSNT:TSNT -disintoxicated:TSNT:TSNT -disinvestments:TSNF:TSNF -disjointedness:TSNT:TSNT -dismantlements:TSMN:TSMN -dismemberments:TSMM:TSMM -disorderliness:TSRT:TSRT -disorientating:TSRN:TSRN -disorientation:TSRN:TSRN -disparagements:TSPR:TSPR -dispensability:TSPN:TSPN -dispensational:TSPN:TSPN -dispensatories:TSPN:TSPN -dispersiveness:TSPR:TSPR -dispiritedness:TSPR:TSPR -disposableness:TSPS:TSPS -disproportions:TSPR:TSPR -disputableness:TSPT:TSPT -disputatiously:TSPT:TSPT -disqualifiable:TSKL:TSKL -disquietedness:TSKT:TSKT -disquisitional:TSKS:TSKS -disregardfully:TSRK:TSRK -disrespectable:TSRS:TSRS -disruptiveness:TSRP:TSRP -dissatisfiedly:TSTS:TSTS -disseminations:TSMN:TSMN -dissertational:TSRT:TSRT -disserviceable:TSRF:TSRF -dissimilitudes:TSML:TSML -dissimulations:TSML:TSML -dissipatedness:TSPT:TSPT -dissociability:TSSP:TSXP -dissociatative:TSST:TSXT -dissolvability:TSLF:TSLF -dissuasiveness:TSSF:TSSF -dissymmetrical:TSMT:TSMT -distensibility:TSTN:TSTN -distinguishers:TSTN:TSTN -distinguishing:TSTN:TSTN -distractedness:TSTR:TSTR -distributaries:TSTR:TSTR -distributional:TSTR:TSTR -distributively:TSTR:TSTR -distributivity:TSTR:TSTR -disyllabically:TSLP:TSLP -diureticalness:TRTK:TRTK -divaricatingly:TFRK:TFRK -diverticulitis:TFRT:TFRT -diverticuloses:TFRT:TFRT -diverticulosis:TFRT:TFRT -divertissement:TFRT:TFRT -divisibilities:TFSP:TFSP -documentations:TKMN:TKMN -dogmatizations:TKMT:TKMT -dolichocephaly:TLXS:TLKS -dolichocranial:TLXK:TLKK -dolichocranies:TLXK:TLKK -domestications:TMST:TMST -dorsiventrally:TRSF:TRSF -dorsoventrally:TRSF:TRSF -dosemetricians:TSMT:TSMT -dosimetricians:TSMT:TSMT -dracunculiases:TRKN:TRKN -dracunculiasis:TRKN:TRKN -dramatizations:TRMT:TRMT -drepanocytoses:TRPN:TRPN -drepanocytosis:TRPN:TRPN -duodenectomies:TTNK:TTNK -duodenorrhaphy:TTNR:TTNR -duodenoscopies:TTNS:TTNS -duroarachnitis:TRRK:TRRK -dynamoelectric:TNML:TNML -dynamometrical:TNMM:TNMM -dysantigraphia:TSNT:TSNT -dysarteriotony:TSRT:TSRT -dysgerminomata:TSKR:TSJR -dysmenorrhoeal:TSMN:TSMN -dysontogenetic:TSNT:TSNT -dysteleologist:TSTL:TSTL -ebullioscopies:APLS:APLS -eccentricities:AXNT:AXNT -ecclesiastical:AKLS:AKLX -ecclesiasticum:AKLS:AKLX -ecclesiolators:AKLS:AKLX -ecclesiologies:AKLS:AKLX -ecclesiologist:AKLS:AKLX -echinococcoses:AXNK:AKNK -echinococcosis:AXNK:AKNK -echinorhynchus:AXNR:AKNR -ecomiastically:AKMS:AKMS -econometrician:AKNM:AKNM -ectrodactylies:AKTR:AKTR -ectrodactylism:AKTR:AKTR -eczematization:ASMT:AXMT -editorializers:ATTR:ATTR -editorializing:ATTR:ATTR -educationalist:ATKX:ATKX -effeminateness:AFMN:AFMN -effervescently:AFRF:AFRF -effervescingly:AFRF:AFRF -effortlessness:AFRT:AFRT -egalitarianism:AKLT:AKLT -eigenfrequency:AJNF:AKNF -eigenfunctions:AJNF:AKNF -elasmobranchii:ALSM:ALSM -electioneering:ALKX:ALKX -electricalness:ALKT:ALKT -electrobiology:ALKT:ALKT -electrocautery:ALKT:ALKT -electrochemist:ALKT:ALKT -electrochromic:ALKT:ALKT -electrocutions:ALKT:ALKT -electrodeposit:ALKT:ALKT -electrodynamic:ALKT:ALKT -electroforming:ALKT:ALKT -electrogeneses:ALKT:ALKT -electrogenesis:ALKT:ALKT -electrokinetic:ALKT:ALKT -electrologists:ALKT:ALKT -electromagnets:ALKT:ALKT -electromyogram:ALKT:ALKT -electronically:ALKT:ALKT -electroosmoses:ALKT:ALKT -electroosmosis:ALKT:ALKT -electrophorese:ALKT:ALKT -electrophrenic:ALKT:ALKT -electroplaters:ALKT:ALKT -electroplating:ALKT:ALKT -electroplexies:ALKT:ALKT -electrostatics:ALKT:ALKT -electrosurgery:ALKT:ALKT -electrotherapy:ALKT:ALKT -electrothermal:ALKT:ALKT -electrotropism:ALKT:ALKT -electrovalence:ALKT:ALKT -electrovalency:ALKT:ALKT -elementariness:ALMN:ALMN -elliptocytoses:ALPT:ALPT -elliptocytosis:ALPT:ALPT -embarrassingly:AMPR:AMPR -embarrassments:AMPR:AMPR -embellishments:AMPL:AMPL -emblematically:AMPL:AMPL -embryotrophies:AMPR:AMPR -emotionalistic:AMXN:AMXN -emotionalizing:AMXN:AMXN -empathetically:AMP0:AMPT -emprosthotonos:AMPR:AMPR -emptiovenditio:AMPT:AMPT -empyreumatical:AMPR:AMPR -emulsification:AMLS:AMLS -enantiomorphic:ANNT:ANNT -encaphalograph:ANKF:ANKF -encapsulations:ANKP:ANKP -encephalitides:ANSF:ANSF -encephalitozoa:ANSF:ANSF -encephalocoele:ANSF:ANSF -encephalograms:ANSF:ANSF -encephalograph:ANSF:ANSF -encephalopathy:ANSF:ANSF -encompassments:ANKM:ANKM -encouragements:ANKR:ANKR -encyclopedists:ANSK:ANSK -endarterectomy:ANTR:ANTR -endocervicitis:ANTS:ANTS -endocrinologic:ANTK:ANTK -endocrinopathy:ANTK:ANTK -endodontically:ANTT:ANTT -endometriomata:ANTM:ANTM -endoparasitism:ANTP:ANTP -endophytically:ANTF:ANTF -endopolyploidy:ANTP:ANTP -endoradiosonde:ANTR:ANTR -endoscopically:ANTS:ANTS -endosmotically:ANTS:ANTS -endotheliocyte:ANT0:ANTT -endotheliomata:ANT0:ANTT -enforceability:ANFR:ANFR -enharmonically:ANRM:ANRM -enlightenments:ANLT:ANLT -enterobacteria:ANTR:ANTR -enterogastrone:ANTR:ANTR -enteronkinases:ANTR:ANTR -enteroplasties:ANTR:ANTR -enterprisingly:ANTR:ANTR -entertainingly:ANTR:ANTR -entertainments:ANTR:ANTR -entomologizing:ANTM:ANTM -entomostracans:ANTM:ANTM -entomostracous:ANTM:ANTM -entoptoscopies:ANTP:ANTP -envenomization:ANFN:ANFN -epexegetically:APKS:APKS -ephemeropteran:AFMR:AFMR -epidemiologies:APTM:APTM -epidemiologist:APTM:APTM -epidermization:APTR:APTR -epidermophyton:APTR:APTR -epigenetically:APJN:APKN -epigrammatical:APKR:APKR -epigrammatists:APKR:APKR -epigrammatized:APKR:APKR -epigrammatizer:APKR:APKR -epigrammatizes:APKR:APKR -epigraphically:APKR:APKR -epiphysiodeses:APFS:APFX -epiphysiodesis:APFS:APFX -epiphysiolyses:APFS:APFX -epiphysiolysis:APFS:APFX -epistemologist:APST:APST -epistemophilia:APST:APST -epithelialized:AP0L:APTL -epithelializes:AP0L:APTL -epithelization:AP0L:APTL -epitomizations:APTM:APTM -epizootologies:APST:APST -equatabilities:AKTP:AKTP -equilibrations:AKLP:AKLP -equipartitions:AKPR:AKPR -equiponderance:AKPN:AKPN -equiponderancy:AKPN:AKPN -equiponderated:AKPN:AKPN -equiponderates:AKPN:AKPN -equivocalities:AKFK:AKFK -equivocatingly:AKFK:AKFK -ergocalciferol:ARKK:ARKK -erysipelothrix:ARSP:ARSP -erythroblastic:AR0R:ARTR -erythrocruorin:AR0R:ARTR -erythrocytoses:AR0R:ARTR -erythrocytosis:AR0R:ARTR -erythrodermata:AR0R:ARTR -erythrodextrin:AR0R:ARTR -erythrogeneses:AR0R:ARTR -erythrogenesis:AR0R:ARTR -erythrophilous:AR0R:ARTR -erythrophleine:AR0R:ARTR -erythropoiesis:AR0R:ARTR -erythropoietic:AR0R:ARTR -erythropoietin:AR0R:ARTR -eschatological:AXTL:AXTL -eschatologists:AXTL:AXTL -establishments:ASTP:ASTP -esterification:ASTR:ASTR -eternalization:ATRN:ATRN -etherification:A0RF:ATRF -ethnographical:A0NK:ATNK -ethnologically:A0NL:ATNL -etymologically:ATML:ATML -eudemonistical:ATMN:ATMN -eulogistically:ALJS:ALKS -euphoniousness:AFNS:AFNS -euphuistically:AFST:AFST -eurhythmically:AR0M:ARTM -eurocommunists:ARKM:ARKM -eurocurrencies:ARKR:ARKR -eutrophication:ATRF:ATRF -evangelicalism:AFNJ:AFNK -evangelistical:AFNJ:AFNK -evangelization:AFNJ:AFNK -evenhandedness:AFNN:AFNN -everlasingness:AFRL:AFRL -evolutionistic:AFLX:AFLX -exacerbatingly:AKSS:AKSS -exaggeratingly:AKSK:AKSK -exaggeratively:AKSK:AKSK -exasperatingly:AKSS:AKSS -exceptionality:AKSP:AKSP -excitabilities:AKST:AKST -exclaustration:AKSL:AKSL -excommunicable:AKSM:AKSM -excommunicated:AKSM:AKSM -excommunicates:AKSM:AKSM -excommunicator:AKSM:AKSM -excruciatingly:AKSR:AKSR -exflagellation:AKSF:AKSF -exhaustibility:AKSS:AKSS -exhaustiveness:AKSS:AKSS -exhibitionists:AKSP:AKSP -exhilaratingly:AKSL:AKSL -existentialism:AKSS:AKSS -existentialist:AKSS:AKSS -exocrinologies:AKSK:AKSK -exothermically:AKS0:AKST -expansionistic:AKSP:AKSP -expectorations:AKSP:AKSP -expedientially:AKSP:AKSP -experienceable:AKSP:AKSP -experientially:AKSP:AKSP -experimentally:AKSP:AKSP -exponentiating:AKSP:AKSP -exponentiation:AKSP:AKSP -expostulations:AKSP:AKSP -expressibility:AKSP:AKSP -expressionists:AKSP:AKSP -expressionless:AKSP:AKSP -expressiveness:AKSP:AKSP -expropriations:AKSP:AKSP -exsanguinating:AKSS:AKSS -exsanguination:AKSS:AKSS -extemporaneous:AKST:AKST -extensibleness:AKST:AKST -extensionalism:AKST:AKST -extensionality:AKST:AKST -exterminations:AKST:AKST -extinguishable:AKST:AKST -extinguishants:AKST:AKST -extinguishment:AKST:AKST -extortionately:AKST:AKST -extracanonical:AKST:AKST -extracorporeal:AKST:AKST -extraembryonal:AKST:AKST -extraembryonic:AKST:AKST -extrahazardous:AKST:AKST -extramedullary:AKST:AKST -extraneousness:AKST:AKST -extrapolations:AKST:AKST -extrapositions:AKST:AKST -extrapyramidal:AKST:AKST -extravasations:AKST:AKST -extravehicular:AKST:AKST -extroversively:AKST:AKST -factitiousness:FKTT:FKTT -factorizations:FKTR:FKTR -faintheartedly:FN0R:FNTR -fallaciousness:FLSS:FLXS -falsifiability:FLSF:FLSF -falsifications:FLSF:FLSF -fantasticality:FNTS:FNTS -farsightedness:FRST:FRST -fasciculations:FSKL:FSKL -fastidiousness:FSTT:FSTT -fatalistically:FTLS:FTLS -fathomlessness:FTML:FTML -fatigabilities:FTKP:FTKP -featherbedding:F0RP:FTRP -featherbrained:F0RP:FTRP -featherweights:F0RT:FTRT -federalization:FTRL:FTRL -feeblemindedly:FPLM:FPLM -fermentability:FRMN:FRMN -fermentatively:FRMN:FRMN -ferrimagnetism:FRMN:FRMK -ferriporphyrin:FRPR:FRPR -ferromagnetism:FRMN:FRMK -ferroporphyrin:FRPR:FRPR -fertilizations:FRTL:FRTL -fibroadenomata:FPRT:FPRT -fibrocartilage:FPRK:FPRK -fibrosarcomata:FPRS:FPRS -fictionalizing:FKXN:FKXN -fictitiousness:FKTT:FKTT -fideicommissum:FTKM:FTKM -fidejussionary:FTJS:FTJS -figurativeness:FKRT:FKRT -filterableness:FLTR:FLTR -fingerbreadths:FNKR:FNJR -fingerprinting:FNKR:FNJR -fissionability:FSNP:FSNP -flabbergasting:FLPR:FLPR -flagitiousness:FLJT:FLKT -flatfootedness:FLTF:FLTF -flavobacterium:FLFP:FLFP -floriculturist:FLRK:FLRK -fluidglycerate:FLTK:FLTK -fluoridization:FLRT:FLRT -fluoroscopical:FLRS:FLRS -fluoroscopists:FLRS:FLRS -foraminiferous:FRMN:FRMN -forbiddingness:FRPT:FRPT -forebodingness:FRPT:FRPT -forehandedness:FRHN:FRHN -foreordainment:FRRT:FRRT -foreordination:FRRT:FRRT -foreseeability:FRSP:FRSP -foreshortening:FRXR:FRXR -forethoughtful:FR0T:FRTT -formalizations:FRML:FRML -formidableness:FRMT:FRMT -forthrightness:FR0R:FRTR -fortifications:FRTF:FRTF -fortuitousness:FRTT:FRTT -fortunetellers:FRTN:FRTN -fortunetelling:FRTN:FRTN -foundationally:FNTX:FNTX -fractionalized:FRKX:FRKX -fractionalizes:FRKX:FRKX -fragilocytoses:FRJL:FRKL -fragilocytosis:FRJL:FRKL -franchisements:FRNX:FRNK -fraternization:FRTR:FRTR -fraudulentness:FRTL:FRTL -freehandedness:FRHN:FRHN -frequentatives:FRKN:FRKN -friendlessness:FRNT:FRNT -frolicsomeness:FRLK:FRLK -frontoparietal:FRNT:FRNT -frontotemporal:FRNT:FRNT -fructiferously:FRKT:FRKT -fructification:FRKT:FRKT -fructififerous:FRKT:FRKT -fuchsinophilic:FKSN:FKSN -fuliginousness:FLJN:FLKN -functionalists:FNKX:FNKX -functionnaires:FNKX:FNKX -fundamentalism:FNTM:FNTM -fundamentalist:FNTM:FNTM -fundamentality:FNTM:FNTM -furfuraceously:FRFR:FRFR -futuristically:FTRS:FTRS -galactophorous:KLKT:KLKT -galactopoieses:KLKT:KLKT -galactopoiesis:KLKT:KLKT -galactopoietic:KLKT:KLKT -galactotherapy:KLKT:KLKT -galvanizations:KLFN:KLFN -galvanocautery:KLFN:KLFN -galvanosurgery:KLFN:KLFN -galvanotropism:KLFN:KLFN -galvinisations:KLFN:KLFN -ganglionectomy:KNKL:KNLN -ganglioneuroma:KNKL:KNLN -gangliosidoses:KNKL:KNLS -gangliosidosis:KNKL:KNLS -gastroacephali:KSTR:KSTR -gastrocolotomy:KSTR:KSTR -gastrodiaphane:KSTR:KSTR -gastroduodenal:KSTR:KSTR -gastroepiploic:KSTR:KSTR -gastroscopists:KSTR:KSTR -gelatinization:KLTN:JLTN -gelatinousness:KLTN:JLTN -genealogically:JNLJ:KNLK -generalissimos:JNRL:KNRL -generalissimum:JNRL:KNRL -generalization:JNRL:KNRL -genodermatoses:JNTR:KNTR -genodermatosis:JNTR:KNTR -gentrification:JNTR:KNTR -geocentrically:JSNT:KSNT -geodynamicists:JTNM:KTNM -geographically:JKRF:KKRF -geomorphologic:JMRF:KMRF -geopathologies:JP0L:KPTL -geopoliticians:JPLT:KPLT -geosynchronous:JSNX:KSNK -gerontocracies:KRNT:JRNT -gerontological:KRNT:JRNT -gerontologists:KRNT:JRNT -gerontotherapy:KRNT:JRNT -gerrymandering:KRMN:JRMN -gesticulations:KSTK:JSTK -gigantomachias:JKNT:KKNT -gigantomachies:JKNT:KKNT -gingivectomies:KNJF:JNKF -glamorizations:KLMR:KLMR -glioblastomata:KLPL:LPLS -glorifications:KLRF:KLRF -glossographers:KLSK:KLSK -glossopalatini:KLSP:KLSP -glucocorticoid:KLKK:KLKK -gluconeogensis:KLKN:KLKN -glucosidically:KLKS:KLKS -glutaraldehyde:KLTR:KLTR -glyceraldehyde:KLSR:KLSR -glycogenolyses:KLKJ:KLKK -glycogenolysis:KLKJ:KLKK -glycolaldehyde:KLKL:KLKL -glyptographers:KLPT:KLPT -gnotobiologies:NTPL:NTPL -goitrogenicity:KTRJ:KTRK -gonadectomized:KNTK:KNTK -gonadectomizes:KNTK:KNTK -governableness:KFRN:KFRN -governmentally:KFRN:KFRN -grammatologist:KRMT:KRMT -granddaughters:KRNT:KRNT -grandiloquence:KRNT:KRNT -grangerization:KRNK:KRNJ -granuloblastic:KRNL:KRNL -granulocytoses:KRNL:KRNL -granulocytosis:KRNL:KRNL -granulomatoses:KRNL:KRNL -granulomatosis:KRNL:KRNL -granuloplastic:KRNL:KRNL -granulopoieses:KRNL:KRNL -granulopoiesis:KRNL:KRNL -graphitization:KRFT:KRFT -gratifications:KRTF:KRTF -gratuitousness:KRTT:KRTT -gravidocardiac:KRFT:KRFT -greatheartedly:KR0R:KRTR -gregariousness:KRKR:KRKR -groundlessness:KRNT:KRNT -gynaecocracies:KNKK:JNKK -gynaecological:KNKL:JNKL -gynaecologists:KNKL:JNKL -gynandromorphy:KNNT:JNNT -gynecographies:KNKK:JNKK -gyrencephalate:KRNS:JRNS -gyrencephalous:KRNS:JRNS -gyroscopically:KRSK:JRSK -gyrostabilizer:KRST:JRST -gyrostatically:KRST:JRST -haberdasheries:HPRT:HPRT -haemagglutonin:HMKL:HMKL -haematoblastic:HMTP:HMTP -haematogenesis:HMTJ:HMTK -haematogenetic:HMTJ:HMTK -haematological:HMTL:HMTL -haematologists:HMTL:HMTL -haematopoiesis:HMTP:HMTP -haematopoietic:HMTP:HMTP -haematothermal:HMT0:HMTT -haemogregarina:HMKR:HMKR -haemogregarine:HMKR:HMKR -haemosporidian:HMSP:HMSP -hagiographical:HJKR:HKKR -hagiographists:HJKR:HKKR -hairsbreadthes:HRSP:HRSP -halfpennyworth:HLFP:HLFP -halfwittedness:HLFT:HLFT -hallucinations:HLSN:HLSN -hallucinogenic:HLSN:HLSN -handicraftsman:HNTK:HNTK -handicraftsmen:HNTK:HNTK -hardhandedness:HRTN:HRTN -hardheadedness:HRTT:HRTT -harmoniousness:HRMN:HRMN -harmonizations:HRMN:HRMN -harpsichordist:HRPS:HRPS -headmastership:HTMS:HTMS -headmistresses:HTMS:HTMS -headquartering:HTKR:HTKR -headstrongness:HTST:HTST -heathenishness:H0NX:HTNX -heliographical:HLKR:HLKR -heliotherapies:HL0R:HLTR -hemagglutinate:HMKL:HMKL -hemangiectases:HMNJ:HMNK -hemangiectasis:HMNJ:HMNK -hematinometric:HMTN:HMTN -hematochyluria:HMTX:HMTK -hematomyelitis:HMTM:HMTM -hematorrhachis:HMTR:HMTR -hemautographic:HMTK:HMTK -hemianesthesia:HMNS:HMNS -hemicelluloses:HMSL:HMSL -hemicellulosic:HMSL:HMSL -hemipelvectomy:HMPL:HMPL -hemispheroidal:HMSF:HMSF -hemoagglutinin:HMKL:HMKL -hemoflagellate:HMFL:HMFL -hemoglobinemia:HMKL:HMKL -hemoglobinuria:HMKL:HMKL -hemoglobinuric:HMKL:HMKL -hemopericardia:HMPR:HMPR -hemoperitoneum:HMPR:HMPR -hemophagocytic:HMFK:HMFK -hendecahedrons:HNTK:HNTK -heparinization:HPRN:HPRN -hepatectomized:HPTK:HPTK -hepatectomizes:HPTK:HPTK -hepatocellular:HPTS:HPTS -hepatomegalies:HPTM:HPTM -hepatotoxicity:HPTT:HPTT -hereditability:HRTT:HRTT -hereditariness:HRTT:HRTT -heresiologists:HRSL:HRXL -heritabilities:HRTP:HRTP -hermaphrodites:HRMF:HRMF -hermaphroditic:HRMF:HRMF -herpetological:HRPT:HRPT -herpetologists:HRPT:HRPT -heteroblasties:HTRP:HTRP -heterocaryosis:HTRK:HTRK -heterocaryotic:HTRK:HTRK -heterocellular:HTRS:HTRS -heterochromous:HTRK:HTRK -heterochronies:HTRK:HTRK -heterochronism:HTRK:HTRK -heterogonously:HTRK:HTRK -heterographies:HTRK:HTRK -heterokaryosis:HTRK:HTRK -heterokaryotic:HTRK:HTRK -heterolecithal:HTRL:HTRL -heteromorphism:HTRM:HTRM -heteromorphous:HTRM:HTRM -heteronomously:HTRN:HTRN -heteronymously:HTRN:HTRN -heterophyllous:HTRF:HTRF -heteroplasties:HTRP:HTRP -heteroploidies:HTRP:HTRP -heteropolarity:HTRP:HTRP -heteropycnosis:HTRP:HTRP -heteropycnotic:HTRP:HTRP -heteropyknosis:HTRP:HTRP -heteropyknotic:HTRP:HTRP -heterosexually:HTRS:HTRS -heterotrophies:HTRT:HTRT -heterotrophism:HTRT:HTRT -heteroxanthine:HTRK:HTRK -heterozygosity:HTRS:HTRS -hierarchically:HRRX:HRRK -hieroglyphical:HRKL:HRKL -highhandedness:HNTT:HNTT -hippopotamuses:HPPT:HPPT -histiocytomata:HSTS:HSTS -histochemistry:HSTX:HSTK -histogenetical:HSTJ:HSTK -histogenically:HSTJ:HSTK -histologically:HSTL:HSTL -histopathology:HSTP:HSTP -histoplasmoses:HSTP:HSTP -histoplasmosis:HSTP:HSTP -historicalness:HSTR:HSTR -historiography:HSTR:HSTR -histrionically:HSTR:HSTR -homeomorphisms:HMMR:HMMR -homoeomorphism:HMMR:HMMR -homoeomorphous:HMMR:HMMR -homoeopathical:HMP0:HMPT -homogenization:HMJN:HMKN -homophonically:HMFN:HMFN -homotransplant:HMTR:HMTR -honourifically:HNRF:HNRF -horizontalness:HRSN:HRSN -horticulturist:HRTK:HRTK -hospitableness:HSPT:HSPT -humanistically:HMNS:HMNS -humidification:HMTF:HMTF -hundredweights:HNTR:HNTR -hybridizations:HPRT:HPRT -hydrargyriasis:HTRR:HTRR -hydrencephalus:HTRN:HTRN -hydrocellulose:HTRS:HTRS -hydrocephalies:HTRS:HTRS -hydrocephaloid:HTRS:HTRS -hydrocephalous:HTRS:HTRS -hydrocolloidal:HTRK:HTRK -hydrocoralline:HTRK:HTRK -hydrocortisone:HTRK:HTRK -hydrocotarnine:HTRK:HTRK -hydrodynamical:HTRT:HTRT -hydrogenations:HTRJ:HTRK -hydrogenolysis:HTRJ:HTRK -hydrogeologies:HTRJ:HTRK -hydrogeologist:HTRJ:HTRK -hydrographical:HTRK:HTRK -hydrokinetical:HTRK:HTRK -hydrologically:HTRL:HTRL -hydromagnetics:HTRM:HTRM -hydromechanics:HTRM:HTRM -hydronephroses:HTRN:HTRN -hydronephrosis:HTRN:HTRN -hydronephrotic:HTRN:HTRN -hydroperitonea:HTRP:HTRP -hydrophobicity:HTRF:HTRF -hydroponically:HTRP:HTRP -hydrosalpinges:HTRS:HTRS -hydrosulphates:HTRS:HTRS -hydrosulphides:HTRS:HTRS -hydrotherapies:HTR0:HTRT -hydrotherapist:HTR0:HTRT -hydrothermally:HTR0:HTRT -hydroxyapatite:HTRK:HTRK -hydroxybutyric:HTRK:HTRK -hydroxyproline:HTRK:HTRK -hyetographical:HTKR:HTKR -hygroscopicity:HKRS:HKRS -hyodeoxycholic:HTKS:HTKS -hyperacidities:HPRS:HPRS -hyperaesthesia:HPRS:HPRS -hyperaesthetic:HPRS:HPRS -hyperbarically:HPRP:HPRP -hyperbolically:HPRP:HPRP -hypercalcaemia:HPRK:HPRK -hypercalciuria:HPRK:HPRK -hyperchloremia:HPRX:HPRK -hyperchromatic:HPRX:HPRK -hypercriticism:HPRK:HPRK -hyperesophoria:HPRS:HPRS -hyperestrinism:HPRS:HPRS -hypereutectoid:HPRT:HPRT -hyperexcitable:HPRK:HPRK -hyperexophoria:HPRK:HPRK -hyperextension:HPRK:HPRK -hypergeometric:HPRJ:HPRK -hyperglycaemia:HPRK:HPRK -hyperglycaemic:HPRK:HPRK -hyperinflation:HPRN:HPRN -hyperirritable:HPRR:HPRR -hyperkeratoses:HPRK:HPRK -hyperkeratosis:HPRK:HPRK -hyperkeratotic:HPRK:HPRK -hyperlactation:HPRL:HPRL -hyperlipidemia:HPRL:HPRL -hyperlipidemic:HPRL:HPRL -hypernephromas:HPRN:HPRN -hyperontomorph:HPRN:HPRN -hyperparasitic:HPRP:HPRP -hyperpituitary:HPRP:HPRP -hyperpolarized:HPRP:HPRP -hyperpolarizes:HPRP:HPRP -hyperresonance:HPRS:HPRS -hypersecretion:HPRS:HPRS -hypersensitive:HPRS:HPRS -hypersensitize:HPRS:HPRS -hypersexuality:HPRS:HPRS -hypertensinase:HPRT:HPRT -hyperthyreoses:HPR0:HPRT -hyperthyreosis:HPR0:HPRT -hypertrichoses:HPRT:HPRT -hypertrichosis:HPRT:HPRT -hypertrophying:HPRT:HPRT -hyperventilate:HPRF:HPRF -hypnogenetical:HPNJ:HPNK -hypnotherapies:HPN0:HPNT -hypoadrenalism:HPTR:HPTR -hypoallergenic:HPLR:HPLR -hypochondriacs:HPXN:HPKN -hypocritically:HPKR:HPKR -hypodermatical:HPTR:HPTR -hypodermically:HPTR:HPTR -hypodiploidies:HPTP:HPTP -hypogenitalism:HPJN:HPKN -hypomagnesemia:HPMN:HPMK -hypomagnesemic:HPMN:HPMK -hypometabolism:HPMT:HPMT -hypomotilities:HPMT:HPMT -hyponastically:HPNS:HPNS -hypoovarianism:HPFR:HPFR -hypophalangism:HPFL:HPFL -hypophosphoric:HPFS:HPFS -hypophysectomy:HPFS:HPFS -hypopotassemia:HPPT:HPPT -hypopotassemic:HPPT:HPPT -hyposensitized:HPSN:HPSN -hyposensitizes:HPSN:HPSN -hypostatically:HPST:HPST -hyposulphurous:HPSL:HPSL -hypothetically:HP0T:HPTT -hypothyroidism:HP0R:HPTR -hypotonicities:HPTN:HPTN -hypsicephalous:HPSS:HPSS -hypsographical:HPSK:HPSK -hysterectomies:HSTR:HSTR -hysterectomize:HSTR:HSTR -hysteretically:HSTR:HSTR -hysterorrhaphy:HSTR:HSTR -hysterorrhexes:HSTR:HSTR -hysterorrhexis:HSTR:HSTR -hysteroscopies:HSTR:HSTR -hystolytically:HSTL:HSTL -iatrochemistry:ATRX:ATRK -iatrogenically:ATRJ:ATRK -iatrophysicist:ATRF:ATRF -ichnographical:AXNK:AKNK -ichthyographer:AK0K:AKTK -ichthyological:AK0L:AKTL -ichthyologists:AK0L:AKTL -ichthyophagist:AK0F:AKTF -ichthyophagous:AK0F:AKTF -iconagraphical:AKNK:AKNK -idealistically:ATLS:ATLS -identification:ATNT:ATNT -idiopathically:ATP0:ATPT -idiosyncracies:ATSN:ATSN -idiosyncrasies:ATSN:ATSN -idolatrousness:ATLT:ATLT -illegalization:ALKL:ALKL -illegitimacies:ALJT:ALKT -illegitimately:ALJT:ALKT -illegitimating:ALJT:ALKT -illegitimation:ALJT:ALKT -illimitability:ALMT:ALMT -illiterateness:ALTR:ALTR -illuminatingly:ALMN:ALMN -illuminational:ALMN:ALMN -illustratively:ALST:ALST -immaculateness:AMKL:AMKL -immaterialises:AMTR:AMTR -immaterialists:AMTR:AMTR -immaterialized:AMTR:AMTR -immaterializes:AMTR:AMTR -immaterialness:AMTR:AMTR -immethodically:AM0T:AMTT -immigrationary:AMKR:AMKR -immobilization:AMPL:AMPL -immoderateness:AMTR:AMTR -immoveableness:AMFP:AMFP -immunoassayist:AMNS:AMNS -immunogenetics:AMNJ:AMNK -immunoglobulin:AMNK:AMNK -immunoreaction:AMNR:AMNR -immunoreactive:AMNR:AMNR -impassableness:AMPS:AMPS -impenitentness:AMPN:AMPN -imperativeness:AMPR:AMPR -imperceptively:AMPR:AMPR -imperceptivity:AMPR:AMPR -imperfectively:AMPR:AMPR -imperforations:AMPR:AMPR -impermeability:AMPR:AMPR -impersonalized:AMPR:AMPR -impersonalizes:AMPR:AMPR -impersonations:AMPR:AMPR -impertinencies:AMPR:AMPR -imperturbation:AMPR:AMPR -imperviousness:AMPR:AMPR -implacableness:AMPL:AMPL -implausibility:AMPL:AMPL -implementation:AMPL:AMPL -imponderabilia:AMPN:AMPN -impossibleness:AMPS:AMPS -impoverishment:AMPF:AMPF -impracticality:AMPR:AMPR -impregnability:AMPR:AMPR -impressibility:AMPR:AMPR -impressionable:AMPR:AMPR -impressionably:AMPR:AMPR -impressionally:AMPR:AMPR -impressionists:AMPR:AMPR -impressiveness:AMPR:AMPR -improbableness:AMPR:AMPR -impropriations:AMPR:AMPR -improvableness:AMPR:AMPR -improvisations:AMPR:AMPR -inaccurateness:ANKR:ANKR -inadequateness:ANTK:ANTK -inadvisability:ANTF:ANTF -inalienability:ANLN:ANLN -inalterability:ANLT:ANLT -inappositeness:ANPS:ANPS -inappreciation:ANPR:ANPR -inappreciative:ANPR:ANPR -inapprehensive:ANPR:ANPR -inapproachable:ANPR:ANPR -inapproachably:ANPR:ANPR -inarticulately:ANRT:ANRT -inartistically:ANRT:ANRT -inauspiciously:ANSP:ANSP -incandescently:ANKN:ANKN -incapabilities:ANKP:ANKP -incapacitating:ANKP:ANKP -incapacitation:ANKP:ANKP -incarcerations:ANKR:ANKR -incardinations:ANKR:ANKR -incautiousness:ANKT:ANKT -incestuousness:ANSS:ANSS -incidentalness:ANST:ANST -incoherentness:ANKH:ANKH -incommensurate:ANKM:ANKM -incommodiously:ANKM:ANKM -incommunicable:ANKM:ANKM -incommunicably:ANKM:ANKM -incompensation:ANKM:ANKM -incompetencies:ANKM:ANKM -incompleteness:ANKM:ANKM -incompliancies:ANKM:ANKM -incompressible:ANKM:ANKM -incompressibly:ANKM:ANKM -inconclusively:ANKN:ANKN -inconformities:ANKN:ANKN -inconsequently:ANKN:ANKN -inconsiderable:ANKN:ANKN -inconsiderably:ANKN:ANKN -inconsistences:ANKN:ANKN -inconsistently:ANKN:ANKN -incontinencies:ANKN:ANKN -inconvenienced:ANKN:ANKN -inconveniences:ANKN:ANKN -inconveniently:ANKN:ANKN -incoordination:ANKR:ANKR -incorporations:ANKR:ANKR -incorporeality:ANKR:ANKR -incredibleness:ANKR:ANKR -incriminations:ANKR:ANKR -inculpableness:ANKL:ANKL -indecipherable:ANTS:ANTS -indecipherably:ANTS:ANTS -indecisiveness:ANTS:ANTS -indecomposable:ANTK:ANTK -indecorousness:ANTK:ANTK -indefiniteness:ANTF:ANTF -indelicateness:ANTL:ANTL -indemnificator:ANTM:ANTM -indemonstrable:ANTM:ANTM -indemonstrably:ANTM:ANTM -indentureships:ANTN:ANTN -independencies:ANTP:ANTP -indestructible:ANTS:ANTS -indestructibly:ANTS:ANTS -indeterminable:ANTT:ANTT -indeterminably:ANTT:ANTT -indeterminists:ANTT:ANTT -indifferentism:ANTF:ANTF -indifferentist:ANTF:ANTF -indigenousness:ANTJ:ANTK -indiscoverable:ANTS:ANTS -indiscreetness:ANTS:ANTS -indiscreteness:ANTS:ANTS -indiscriminate:ANTS:ANTS -indispositions:ANTS:ANTS -indistinctness:ANTS:ANTS -individualists:ANTF:ANTF -individualized:ANTF:ANTF -individualizer:ANTF:ANTF -individualizes:ANTF:ANTF -indivisibility:ANTF:ANTF -indoctrinating:ANTK:ANTK -indoctrination:ANTK:ANTK -indoctrinators:ANTK:ANTK -indomitability:ANTM:ANTM -indubitability:ANTP:ANTP -induplications:ANTP:ANTP -industrialists:ANTS:ANTS -industrialized:ANTS:ANTS -industrializes:ANTS:ANTS -ineffectuality:ANFK:ANFK -inefficiencies:ANFS:ANFX -ineluctability:ANLK:ANLK -inestimability:ANST:ANST -inevitableness:ANFT:ANFT -inexcusability:ANKS:ANKS -inexorableness:ANKS:ANKS -inexpiableness:ANKS:ANKS -inexpressively:ANKS:ANKS -infallibilists:ANFL:ANFL -infallibleness:ANFL:ANFL -infeasibleness:ANFS:ANFS -infectiousness:ANFK:ANFK -infelicitously:ANFL:ANFL -infinitesimals:ANFN:ANFN -inflammability:ANFL:ANFL -inflammatorily:ANFL:ANFL -inflectionally:ANFL:ANFL -inflectionless:ANFL:ANFL -inflexibleness:ANFL:ANFL -infralapsarian:ANFR:ANFR -infrangibility:ANFR:ANFR -infrastructure:ANFR:ANFR -ingloriousness:ANKL:ANKL -ingratiatingly:ANKR:ANKR -ingressiveness:ANKR:ANKR -inhabitability:ANPT:ANPT -inharmoniously:ANRM:ANRM -inheritability:ANRT:ANRT -inimitableness:ANMT:ANMT -iniquitousness:ANKT:ANKT -initialization:ANXL:ANXL -innavigability:ANFK:ANFK -innovationists:ANFX:ANFX -innumerability:ANMR:ANMR -inoperableness:ANPR:ANPR -inordinateness:ANRT:ANRT -inquisitionist:ANKS:ANKS -insalubriously:ANSL:ANSL -insanitariness:ANSN:ANSN -insatiableness:ANSX:ANSX -inscrutability:ANSK:ANSK -insecticidally:ANSK:ANSK -insensibleness:ANSN:ANSN -inseparability:ANSP:ANSP -insignificance:ANSN:ANSK -insignificancy:ANSN:ANSK -insolubilities:ANSL:ANSL -inspectorships:ANSP:ANSP -instantiations:ANST:ANST -institutionary:ANST:ANST -instructorship:ANST:ANST -instructresses:ANST:ANST -instrumentally:ANST:ANST -instrumentaria:ANST:ANST -insufficiently:ANSF:ANSF -insuperability:ANSP:ANSP -insuppressible:ANSP:ANSP -insuppressibly:ANSP:ANSP -insurmountable:ANSR:ANSR -insurmountably:ANSR:ANSR -insurrectional:ANSR:ANSR -intangibleness:ANTN:ANTN -integrationist:ANTK:ANTK -intellectively:ANTL:ANTL -intellectually:ANTL:ANTL -intelligencers:ANTL:ANTL -intelligential:ANTL:ANTL -intelligentsia:ANTL:ANTL -intentionality:ANTN:ANTN -interactionism:ANTR:ANTR -interarticular:ANTR:ANTR -intercalations:ANTR:ANTR -intercapillary:ANTR:ANTR -intercavernous:ANTR:ANTR -intercessional:ANTR:ANTR -intercessorial:ANTR:ANTR -interchangings:ANTR:ANTR -interclavicles:ANTR:ANTR -intercoccygeal:ANTR:ANTR -intercommunion:ANTR:ANTR -intercommunity:ANTR:ANTR -interconnected:ANTR:ANTR -intercorporate:ANTR:ANTR -intercurrences:ANTR:ANTR -intercurrently:ANTR:ANTR -interdependent:ANTR:ANTR -interdictively:ANTR:ANTR -interdigitally:ANTR:ANTR -interdigitated:ANTR:ANTR -interdigitates:ANTR:ANTR -interestedness:ANTR:ANTR -interfactional:ANTR:ANTR -interferometry:ANTR:ANTR -interfertility:ANTR:ANTR -interfibrillar:ANTR:ANTR -intergradation:ANTR:ANTR -intergradients:ANTR:ANTR -interinsurance:ANTR:ANTR -interjectional:ANTR:ANTR -interlacements:ANTR:ANTR -interlaminated:ANTR:ANTR -interlaminates:ANTR:ANTR -interlineating:ANTR:ANTR -interlineation:ANTR:ANTR -interlocutress:ANTR:ANTR -interlocutrice:ANTR:ANTR -interlunations:ANTR:ANTR -intermarriages:ANTR:ANTR -intermaxillaes:ANTR:ANTR -intermaxillary:ANTR:ANTR -intermediaries:ANTR:ANTR -intermediately:ANTR:ANTR -intermediating:ANTR:ANTR -intermediation:ANTR:ANTR -intermediators:ANTR:ANTR -intermediatory:ANTR:ANTR -intermeningeal:ANTR:ANTR -intermenstrual:ANTR:ANTR -intermigration:ANTR:ANTR -intermittently:ANTR:ANTR -intermittingly:ANTR:ANTR -intermolecular:ANTR:ANTR -internationale:ANTR:ANTR -internationals:ANTR:ANTR -interorbitally:ANTR:ANTR -interosculated:ANTR:ANTR -interosculates:ANTR:ANTR -interownership:ANTR:ANTR -interpellating:ANTR:ANTR -interpellation:ANTR:ANTR -interpellators:ANTR:ANTR -interpenetrant:ANTR:ANTR -interpenetrate:ANTR:ANTR -interplanetary:ANTR:ANTR -interpolations:ANTR:ANTR -interpositions:ANTR:ANTR -interpretation:ANTR:ANTR -interpretative:ANTR:ANTR -interpretively:ANTR:ANTR -interproximate:ANTR:ANTR -interpupillary:ANTR:ANTR -interrelations:ANTR:ANTR -interreligious:ANTR:ANTR -interrogations:ANTR:ANTR -interrogatives:ANTR:ANTR -interruptively:ANTR:ANTR -intersectional:ANTR:ANTR -intersegmental:ANTR:ANTR -intersexualism:ANTR:ANTR -intersexuality:ANTR:ANTR -interspatially:ANTR:ANTR -interspersedly:ANTR:ANTR -interspersions:ANTR:ANTR -intersterility:ANTR:ANTR -interstitially:ANTR:ANTR -intertriginous:ANTR:ANTR -intertwinement:ANTR:ANTR -intertwiningly:ANTR:ANTR -interventional:ANTR:ANTR -intervertebral:ANTR:ANTR -interweavement:ANTR:ANTR -interwreathing:ANTR:ANTR -intolerability:ANTL:ANTL -intracardially:ANTR:ANTR -intracisternal:ANTR:ANTR -intracranially:ANTR:ANTR -intractability:ANTR:ANTR -intracutaneous:ANTR:ANTR -intramedullary:ANTR:ANTR -intramolecular:ANTR:ANTR -intranolecular:ANTR:ANTR -intransferable:ANTR:ANTR -intransigently:ANTR:ANTR -intransitively:ANTR:ANTR -intransitivity:ANTR:ANTR -intraoperative:ANTR:ANTR -intrapsychical:ANTR:ANTR -intrapulmonary:ANTR:ANTR -intravitelline:ANTR:ANTR -introductional:ANTR:ANTR -introductorily:ANTR:ANTR -introspections:ANTR:ANTR -introversively:ANTR:ANTR -introvertively:ANTR:ANTR -intuitionalism:ANTX:ANTX -intuitionalist:ANTX:ANTX -intussuscepted:ANTS:ANTS -intussusceptum:ANTS:ANTS -invaluableness:ANFL:ANFL -invariableness:ANFR:ANFR -investigatable:ANFS:ANFS -investigations:ANFS:ANFS -inveterateness:ANFT:ANFT -invigoratingly:ANFK:ANFK -invigoratively:ANFK:ANFK -invincibleness:ANFN:ANFN -inviolableness:ANFL:ANFL -iodometrically:ATMT:ATMT -iridectomizing:ARTK:ARTK -irrationalisms:ARXN:ARXN -irrationalness:ARXN:ARXN -irreconcilable:ARKN:ARKN -irreconcilably:ARKN:ARKN -irreducibility:ARTS:ARTS -irrefutability:ARFT:ARFT -irregularities:ARKL:ARKL -irrelativeness:ARLT:ARLT -irrelegionists:ARLJ:ARLK -irremovability:ARMF:ARMF -irreparability:ARPR:ARPR -irreplevisable:ARPL:ARPL -irreproachable:ARPR:ARPR -irreproachably:ARPR:ARPR -irresoluteness:ARSL:ARSL -irrespectively:ARSP:ARSP -irresponsively:ARSP:ARSP -irresuscitable:ARSS:ARSS -irrevocability:ARFK:ARFK -irritabilities:ARTP:ARTP -ischiocapsular:AXKP:AXKP -ischiococcygei:AXKK:AXKK -isomorphically:ASMR:ASMR -italianization:ATLN:ATLN -italicizations:ATLS:ATLS -jingoistically:JNKS:ANKS -jollifications:JLFK:ALFK -journalistical:JRNL:ARNL -journalization:JRNL:ARNL -judgematically:JJMT:AJMT -judicesselecti:JTSS:ATSS -jurisdictional:JRST:ARST -jurisdictiones:JRST:ARST -jurisprudentia:JRSP:ARSP -justiciability:JSTS:ASTX -justifiability:JSTF:ASTF -justifications:JSTF:ASTF -juxtapositions:JKST:AKST -kakistocracies:KKST:KKST -karyomicrosome:KRMK:KRMK -karyoplasmatic:KRPL:KRPL -keraphyllocele:KRFL:KRFL -keratinization:KRTN:KRTN -keratinophilic:KRTN:KRTN -keratocenteses:KRTS:KRTS -keratocentesis:KRTS:KRTS -keratohelcoses:KRTH:KRTH -keratohelcosis:KRTH:KRTH -keratoplasties:KRTP:KRTP -kettledrummers:KTLT:KTLT -kinaesthetical:KNS0:KNST -kindergartners:KNTR:KNTR -kinesiological:KNSL:KNSL -kinetheodolite:KN0T:KNTT -knickerbockers:NKRP:NKRP -kremlinologist:KRML:KRML -kyphoscolioses:KFSK:KFSK -kyphoscoliosis:KFSK:KFSK -kyphoscoliotic:KFSK:KFSK -laboratorially:LPRT:LPRT -labyrinthodont:LPRN:LPRN -labyrinthotomy:LPRN:LPRN -lamellirostral:LMLR:LMLR -lamentableness:LMNT:LMNT -languorousness:LNKR:LNKR -lanuginousness:LNJN:LNKN -lapidification:LPTF:LPTF -laryngectomees:LRNJ:LRNK -laryngectomies:LRNJ:LRNK -laryngectomize:LRNJ:LRNK -laryngofissure:LRNK:LRNK -laryngological:LRNK:LRNK -laryngologists:LRNK:LRNK -laryngopathies:LRNK:LRNK -laryngophantom:LRNK:LRNK -laryngopharynx:LRNK:LRNK -laryngoscopies:LRNK:LRNK -laryngoscopist:LRNK:LRNK -laryngostomies:LRNK:LRNK -laryngoxeroses:LRNK:LRNK -laryngoxerosis:LRNK:LRNK -lasciviousness:LSFS:LSFS -lateroposition:LTRP:LTRP -latitudinarian:LTTT:LTTT -laughingstocks:LFNK:LFNK -lecithoprotein:LS0P:LSTP -legalistically:LKLS:LKLS -legerdemainist:LJRT:LKRT -legislatorship:LJLT:LKLT -legislatresses:LJLT:LKLT -legitimateness:LJTM:LKTM -legitimatizing:LJTM:LKTM -legitimization:LJTM:LKTM -leiomyofibroma:LMFP:LMFP -leiomyosarcoma:LMSR:LMSR -lemmatizations:LMTS:LMTS -lepidopterists:LPTP:LPTP -leptocephalous:LPTS:LPTS -leptodactylous:LPTT:LPTT -leptomeningeal:LPTM:LPTM -leptoprosopous:LPTP:LPTP -leucocythaemia:LKS0:LKST -leucocythaemic:LKS0:LKST -leucocytoblast:LKST:LKST -leukemogeneses:LKMJ:LKMK -leukemogenesis:LKMJ:LKMK -leukoblastoses:LKPL:LKPL -leukoblastosis:LKPL:LKPL -leukocytoblast:LKST:LKST -leukocytolyses:LKST:LKST -leukocytolysin:LKST:LKST -leukocytolysis:LKST:LKST -leukocytolytic:LKST:LKST -leukocytopenia:LKST:LKST -leukodystrophy:LKTS:LKTS -leukosarcomata:LKSR:LKSR -levocardiogram:LFKR:LFKR -lexicalization:LKSK:LKSK -lexicographers:LKSK:LKSK -liberalization:LPRL:LPRL -liberationists:LPRX:LPRX -libertarianism:LPRT:LPRT -libidinization:LPTN:LPTN -libidinousness:LPTN:LPTN -librarianships:LPRR:LPRR -licentiateship:LSNX:LSNX -licentiousness:LSNT:LSNT -lightheartedly:L0RT:LTRT -lignifications:LNFK:LKNF -lignocellulose:LNSL:LKNS -linguistically:LNKS:LNKS -linguogingival:LNKJ:LNKK -lipogranulomas:LPKR:LPKR -lipometabolism:LPMT:LPMT -lipophaneroses:LPFN:LPFN -lipophanerosis:LPFN:LPFN -lissencephalia:LSNS:LSNS -lissencephalic:LSNS:LSNS -lithographical:L0KR:LTKR -lithologically:L0LJ:LTLK -lithonephritis:L0NF:LTNF -lochiometritis:LXMT:LKMT -locomotiveness:LKMT:LKMT -locumtenencies:LKMT:LKMT -longitudinales:LNJT:LNKT -longitudinalis:LNJT:LNKT -longitudinally:LNJT:LNKT -longwindedness:LNKN:LNKN -loquaciousness:LKSS:LKXS -loxodromically:LKST:LKST -lugubriousness:LKPR:LKPR -lumbocolostomy:LMPK:LMPK -lycoperdonoses:LKPR:LKPR -lycoperdonosis:LKPR:LKPR -lymphadenomata:LMFT:LMFT -lymphangiomata:LMFN:LMFN -lymphangiotomy:LMFN:LMFN -lymphangitides:LMFN:LMFN -lymphoblastoma:LMFP:LMFP -lymphocytomata:LMFS:LMFS -lymphographies:LMFK:LMFK -lymphosarcomas:LMFS:LMFS -lyophilization:LFLS:LFLS -lysogenicities:LSJN:LSKN -lysogenization:LSJN:LSKN -macadamization:MKTM:MKTM -machiavellians:MKFL:MKFL -machicolations:MXKL:MKKL -macrencephalic:MKRN:MKRN -macroblepharia:MKRP:MKRP -macrocephalies:MKRS:MKRS -macrocephalous:MKRS:MKRS -macrodactylies:MKRT:MKRT -macroeconomics:MKRK:MKRK -macroevolution:MKRF:MKRF -macromelecular:MKRM:MKRM -macromolecular:MKRM:MKRM -macromolecules:MKRM:MKRM -macronucleuses:MKRN:MKRN -macronutrients:MKRN:MKRN -macroprocedure:MKRP:MKRP -macrosociology:MKRS:MKRS -macrostructure:MKRS:MKRS -magistrateship:MJST:MKST -magnetospheres:MNTS:MKNT -magnifications:MNFK:MKNF -magniloquently:MNLK:MKNL -maieusiophobia:MSFP:MXFP -malacostracous:MLKS:MLKS -maladjustments:MLTJ:MLTJ -maladministers:MLTM:MLTM -malariologists:MLRL:MLRL -malariotherapy:MLR0:MLRT -malassimiltion:MLSM:MLSM -maldevelopment:MLTF:MLTF -malefactresses:MLFK:MLFK -malfunctioning:MLFN:MLFN -malleinization:MLNS:MLNS -malnourishment:MLNR:MLNR -malodorousness:MLTR:MLTR -malpighiaceous:MLPS:MLPS -mammilliplasty:MMLP:MMLP -mammogenically:MMJN:MMKN -manageableness:MNJP:MNKP -manifestations:MNFS:MNFS -manipulability:MNPL:MNPL -manipulatively:MNPL:MNPL -mannerlessness:MNRL:MNRL -manometrically:MNMT:MNMT -manufacturable:MNFK:MNFK -marketableness:MRKT:MRKT -marsupializing:MRSP:MRSP -martyrological:MRTR:MRTR -massotherapies:MS0R:MSTR -massotherapist:MS0R:MSTR -mastigophorous:MSTK:MSTK -mastoidotomies:MSTT:MSTT -mathematically:M0MT:MTMT -mathematicians:M0MT:MTMT -matriarchalism:MTRR:MTRR -matriculations:MTRK:MTRK -maxillopalatal:MKSL:MKSL -meaningfulness:MNNK:MNNK -measurableness:MSRP:MSRP -mechanicalness:MXNK:MKNK -mechanizations:MXNS:MKNS -mechanotherapy:MXN0:MKNT -meddlesomeness:MTLS:MTLS -mediastinotomy:MTST:MTST -medicamentosus:MTKM:MTKM -meditativeness:MTTT:MTTT -megakaryoblast:MKKR:MKKR -megakaryocytic:MKKR:MKKR -megalocephalic:MKLS:MKLS -megalomaniacal:MKLM:MKLM -megalonychosis:MKLN:MKLN -megaphonically:MKFN:MKFN -megasporangium:MKSP:MKSP -megasprorphyll:MKSP:MKSP -melancholiness:MLNX:MLNK -melanoblastoma:MLNP:MLNP -melanotrichous:MLNT:MLNT -melodramatises:MLTR:MLTR -melodramatists:MLTR:MLTR -melodramatized:MLTR:MLTR -melodramatizes:MLTR:MLTR -melorheostosis:MLRS:MLRS -mendaciousness:MNTS:MNTX -meningopathies:MNNK:MNNK -meniscectomies:MNSK:MNSK -meniscocytoses:MNSK:MNSK -meniscocytosis:MNSK:MNSK -mephistopheles:MFST:MFST -mercantilistic:MRKN:MRKN -mercaptoacetic:MRKP:MRKP -mercaptopurine:MRKP:MRKP -merchandisable:MRXN:MRKN -mercurializing:MRKR:MRKR -meretriciously:MRTR:MRTR -mesaticephalic:MSTS:MSTS -mesdemoiselles:MSTM:MSTM -mesenchymatous:MSNX:MSNK -mesioocclusion:MSKL:MXKL -mesoappendices:MSPN:MSPN -mesoappendixes:MSPN:MSPN -mesoblastemata:MSPL:MSPL -mesotheliomata:MS0L:MSTL -metabiotically:MTPT:MTPT -metachromasias:MTKR:MTKR -metachromasies:MTKR:MTKR -metachromatism:MTKR:MTKR -metallizations:MTLS:MTLS -metamorphopsia:MTMR:MTMR -metamorphosing:MTMR:MTMR -metaphorically:MTFR:MTFR -metaphysically:MTFS:MTFS -metaphysicians:MTFS:MTFS -metastatically:MTST:MTST -metastrongylus:MTST:MTST -metempsychoses:MTMP:MTMP -metempsychosis:MTMP:MTMP -meteorological:MTRL:MTRL -meteorologists:MTRL:MTRL -methodicalness:M0TK:MTTK -methodological:M0TL:MTTL -methodologists:M0TL:MTTL -methoxyflurane:M0KS:MTKS -methylmorphine:M0LM:MTLM -meticulousness:MTKL:MTKL -metrocolpocele:MTRK:MTRK -metroparalyses:MTRP:MTRP -metroparalysis:MTRP:MTRP -metrophlebitis:MTRF:MTRF -micrencephalon:MKRN:MKRN -microaerophile:MKRR:MKRR -microanatomies:MKRN:MKRN -microanatomist:MKRN:MKRN -microbacterium:MKRP:MKRP -microbiologies:MKRP:MKRP -microbiologist:MKRP:MKRP -microblepharon:MKRP:MKRP -microcephalies:MKRS:MKRS -microcephalism:MKRS:MKRS -microcephalous:MKRS:MKRS -microchemistry:MKRX:MKRK -micrococcaceae:MKRK:MKRK -microcomputers:MKRK:MKRK -microdactylias:MKRT:MKRT -microdactylies:MKRT:MKRT -microeconomics:MKRK:MKRK -microencephaly:MKRN:MKRN -microfibrillar:MKRF:MKRF -microfilaremia:MKRF:MKRF -microlithiases:MKRL:MKRL -microlithiasis:MKRL:MKRL -microminiature:MKRM:MKRM -micromotoscope:MKRM:MKRM -micronucleuses:MKRN:MKRN -microorganisms:MKRR:MKRR -microphalluses:MKRF:MKRF -microphthalmia:MKRF:MKRF -microphthalmic:MKRF:MKRF -microphthalmoi:MKRF:MKRF -microphthalmos:MKRF:MKRF -microphthalmus:MKRF:MKRF -microprocedure:MKRP:MKRP -microprocessor:MKRP:MKRP -microstructure:MKRS:MKRS -microsurgeries:MKRS:MKRS -mineralization:MNRL:MNRL -miraculousness:MRKL:MRKL -misalphabetize:MSLF:MSLF -misanthropical:MSN0:MSNT -misanthropists:MSN0:MSNT -misapplication:MSPL:MSPL -misapprehended:MSPR:MSPR -misappropriate:MSPR:MSPR -misarrangement:MSRN:MSRN -miscalculating:MSKL:MSKL -miscalculation:MSKL:MSKL -miscegenations:MSJN:MSKN -misclassifying:MSKS:MSKS -misconceptions:MSKN:MSKN -miscontinuance:MSKN:MSKN -misdescription:MSTS:MSTS -misdescriptive:MSTS:MSTS -misidentifying:MSTN:MSTN -misinformation:MSNF:MSNF -misinstructing:MSNS:MSNS -misinstruction:MSNS:MSNS -misinterpreted:MSNT:MSNT -mispronouncing:MSPR:MSPR -misproportions:MSPR:MSPR -misrepresented:MSRP:MSRP -misrepresentee:MSRP:MSRP -misrepresenter:MSRP:MSRP -mississippians:MSSP:MSSP -mistranscribed:MSTR:MSTR -mistranslating:MSTR:MSTR -mistranslation:MSTR:MSTR -misunderstands:MSNT:MSNT -mitogenicities:MTJN:MTKN -modifiableness:MTFP:MTFP -modularization:MTLR:MTLR -monarthritides:MNR0:MNRT -monochromasies:MNKR:MNKR -monochromatism:MNKR:MNKR -monocotyledons:MNKT:MNKT -monodactylisms:MNTK:MNTK -monofunctional:MNFN:MNFN -monogamousness:MNKM:MNKM -mononeuritides:MNNR:MNNR -mononeuritises:MNNR:MNNR -mononucleotide:MNNK:MNNK -monophonically:MNFN:MNFN -monophyletisms:MNFL:MNFL -monopolization:MNPL:MNPL -monosaccharide:MNSX:MNSX -monotonousness:MNTN:MNTN -moralistically:MRLS:MRLS -morganatically:MRKN:MRKN -morphinomaniac:MRFN:MRFN -morphographies:MRFK:MRFK -mortifications:MRTF:MRTF -motionlessness:MXNL:MXNL -motivationally:MTFX:MTFX -mountaineering:MNTN:MNTN -mucilaginously:MSLJ:MSLK -mucoepidermoid:MKPT:MKPT -mucoperiosteal:MKPR:MKPR -mucoperiosteum:MKPR:MKPR -mucoviscidoses:MKFS:MKFS -mucoviscidosis:MKFS:MKFS -multifactorial:MLTF:MLTF -multifariously:MLTF:MLTF -multiglandular:MLTK:MLTK -multiinfection:MLTN:MLTN -multilaterally:MLTL:MLTL -multimolecular:MLTM:MLTM -multinationals:MLTN:MLTN -multinucleated:MLTN:MLTN -multiplication:MLTP:MLTP -multiplicative:MLTP:MLTP -multiplicities:MLTP:MLTP -multiprocessor:MLTP:MLTP -multiresistant:MLTR:MLTR -multiversities:MLTF:MLTF -municipalities:MNSP:MNSP -musculophrenic:MSKL:MSKL -mutagenicities:MTJN:MTKN -mycotoxicities:MKTK:MKTK -myelencephalic:MLNS:MLNS -myelencephalon:MLNS:MLNS -myelinogeneses:MLNJ:MLNK -myelinogenesis:MLNJ:MLNK -myeloblastemia:MLPL:MLPL -myeloblastomas:MLPL:MLPL -myeloblastoses:MLPL:MLPL -myeloblastosis:MLPL:MLPL -myelocystocele:MLSS:MLSS -myelodysplasia:MLTS:MLTS -myeloparalyses:MLPR:MLPR -myeloparalysis:MLPR:MLPR -myelosarcomata:MLSR:MLSR -myeloschisises:MLXS:MLXS -myelosclerosis:MLSK:MLSK -myocardiograph:MKRT:MKRT -myocardiopathy:MKRT:MKRT -myodystrophies:MTST:MTST -myoepithelioma:MP0L:MPTL -myographically:MKRF:MKRF -myringectomies:MRNJ:MRNK -myringodectomy:MRNK:MRNK -myringomycoses:MRNK:MRNK -myringomycosis:MRNK:MRNK -mysteriousness:MSTR:MSTR -mystifications:MSTF:MSTF -mythologically:M0LJ:MTLK -myxochondromas:MKSX:MKSK -naphthaquinone:NF0K:NFTK -naphthoquinone:NF0K:NFTK -narcissistical:NRSS:NRSS -narcodiagnoses:NRKT:NRKT -narcodiagnosis:NRKT:NRKT -narcosyntheses:NRKS:NRKS -narcosynthesis:NRKS:NRKS -narcotherapies:NRK0:NRKT -nasopharyngeal:NSFR:NSFR -naturalization:NTRL:NTRL -necessarianism:NSSR:NSSR -necrobacillary:NKRP:NKRP -necrofetishism:NKRF:NKRF -neglectfulness:NKLK:NKLK -negligibleness:NKLJ:NLKP -neighborliness:NPRL:NPRL -nemathelminths:NM0L:NMTL -neocerebellums:NSRP:NSRP -neoclassically:NKLS:NKLS -neoclassicists:NKLS:NKLS -neocolonialism:NKLN:NKLN -neocolonialist:NKLN:NKLN -neonatologists:NNTL:NNTL -nephelometries:NFLM:NFLM -nephrectomized:NFRK:NFRK -nephrectomizes:NFRK:NFRK -nephrotoxicity:NFRT:NFRT -nepotistically:NPTS:NPTS -nesslerization:NSLR:NSLR -neurasthenical:NRS0:NRST -neurilemmatous:NRLM:NRLM -neurilemmomata:NRLM:NRLM -neuroanatomies:NRNT:NRNT -neuroanatomist:NRNT:NRNT -neurobiologies:NRPL:NRPL -neurobiologist:NRPL:NRPL -neuroblastomas:NRPL:NRPL -neurochemistry:NRXM:NRKM -neurocutaneous:NRKT:NRKT -neuroendocrine:NRNT:NRNT -neuroepidermal:NRPT:NRPT -neuroepithelia:NRP0:NRPT -neurofibrillae:NRFP:NRFP -neurofibrillar:NRFP:NRFP -neurofibromata:NRFP:NRFP -neurogenically:NRJN:NRKN -neurologically:NRLJ:NRLK -neuronophagias:NRNF:NRNF -neuronophagies:NRNF:NRNF -neuropathology:NRP0:NRPT -neuroplasmatic:NRPL:NRPL -neuropsychical:NRPS:NRPS -neuroretinitis:NRRT:NRRT -neuroscientist:NRSN:NRSN -neurosecretion:NRSK:NRSK -neurosecretory:NRSK:NRSK -neurosurgeries:NRSR:NRSR -neutralization:NTRL:NTRL -newfangledness:NFNK:NFNK -newfoundlander:NFNT:NFNT -newspaperwoman:NSPP:NSPP -newspaperwomen:NSPP:NSPP -newsworthiness:NSR0:NSRT -nietzscheanism:NTSX:NTSX -nihilistically:NHLS:NHLS -nitrifications:NTRF:NTRF -nitrobacterium:NTRP:NTRP -nitrocellulose:NTRS:NTRS -nitrofurantoin:NTRF:NTRF -nitroglycerine:NTRK:NTRK -nociperception:NSPR:NSPR -nociperceptive:NSPR:NSPR -noctambulation:NKTM:NKTM -noctambulistic:NKTM:NKTM -nonappearances:NNPR:NNPR -nonassertively:NNSR:NNSR -nonattributive:NNTR:NNTR -nonbelligerent:NNPL:NNPL -noncancelation:NNKN:NNKN -noncarnivorous:NNKR:NNKR -nonchromosomal:NNXR:NNKR -nonclassically:NNKL:NNKL -noncoagulating:NNKK:NNKK -noncognitivism:NNKN:NNKK -noncollapsible:NNKL:NNKL -noncollectible:NNKL:NNKL -noncombustible:NNKM:NNKM -noncommittally:NNKM:NNKM -noncompearance:NNKM:NNKM -noncompensable:NNKM:NNKM -noncompetitive:NNKM:NNKM -nonconcurrence:NNKN:NNKN -nonconcurrency:NNKN:NNKN -nonconflicting:NNKN:NNKN -nonconformists:NNKN:NNKN -nonconsecutive:NNKN:NNKN -nonconsumption:NNKN:NNKN -noncontentious:NNKN:NNKN -noncontestable:NNKN:NNKN -noncontinuance:NNKN:NNKN -noncontractile:NNKN:NNKN -noncontractual:NNKN:NNKN -nonconvertible:NNKN:NNKN -noncooperation:NNKP:NNKP -noncooperative:NNKP:NNKP -noncrystalline:NNKR:NNKR -nondepreciable:NNTP:NNTP -nondescriptive:NNTS:NNTS -nondestructive:NNTS:NNTS -nondeterminacy:NNTT:NNTT -nondeterminate:NNTT:NNTT -nondeterminism:NNTT:NNTT -nondevelopment:NNTF:NNTF -nondictatorial:NNTK:NNTK -nondirectional:NNTR:NNTR -nondisclosures:NNTS:NNTS -nondiscriminat:NNTS:NNTS -nondisjunction:NNTS:NNTS -nondistinctive:NNTS:NNTS -noneducational:NNTK:NNTK -nonelectrolyte:NNLK:NNLK -nonenforceable:NNNF:NNNF -nonenforcement:NNNF:NNNF -nonenzymatical:NNNS:NNNS -nonequivalents:NNKF:NNKF -nonethicalness:NN0K:NNTK -nonfictionally:NNFK:NNFK -nonforfeitable:NNFR:NNFR -nonfulfillment:NNFL:NNFL -nonhabituating:NNPT:NNPT -nonhibernating:NNPR:NNPR -nonhomogeneous:NNMJ:NNMK -nonideological:NNTL:NNTL -nonimportation:NNMP:NNMP -nonindependent:NNNT:NNNT -noninflammable:NNNF:NNNF -noninformative:NNNF:NNNF -noninhabitable:NNNP:NNNP -noninheritable:NNNR:NNNR -noninjuriously:NNNJ:NNNJ -noninstinctive:NNNS:NNNS -noninstinctual:NNNS:NNNS -noninteracting:NNNT:NNNT -noninteractive:NNNT:NNNT -nonintercourse:NNNT:NNNT -nonintoxicants:NNNT:NNNT -noninvolvement:NNNF:NNNF -nonjudgemental:NNJJ:NNJJ -nonlinearities:NNLN:NNLN -nonmaliciously:NNML:NNML -nonmechanistic:NNMX:NNMK -nonmemberships:NNMM:NNMM -nonministerial:NNMN:NNMN -nonmountainous:NNMN:NNMN -nonnecessities:NNSS:NNSS -nonnitrogenous:NNTR:NNTR -nonobservances:NNPS:NNPS -nonoccurrences:NNKR:NNKR -nonparasitical:NNPR:NNPR -nonparticipant:NNPR:NNPR -nonperformance:NNPR:NNPR -nonperishables:NNPR:NNPR -nonpolitically:NNPL:NNPL -nonpredictable:NNPR:NNPR -nonprejudicial:NNPR:NNPR -nonpreservable:NNPR:NNPR -nonprogressive:NNPR:NNPR -nonproprietary:NNPR:NNPR -nonradioactive:NNRT:NNRT -nonrecognition:NNRK:NNRK -nonrecombinant:NNRK:NNRK -nonrecoverable:NNRK:NNRK -nonrecursively:NNRK:NNRK -nonresidential:NNRS:NNRS -nonrestrictive:NNRS:NNRS -nonsensicality:NNSN:NNSN -nonsignificant:NNSN:NNSK -nonspecialists:NNSP:NNSP -nonspecialized:NNSP:NNSP -nonspeculative:NNSP:NNSP -nonstatistical:NNST:NNST -nonstimulating:NNST:NNST -nonsubscribers:NNSP:NNSP -nonsuitability:NNST:NNST -nonsuppression:NNSP:NNSP -nonsusceptible:NNSS:NNSS -nontechnically:NNTK:NNTK -nonterminating:NNTR:NNTR -nontermination:NNTR:NNTR -nonterritorial:NNTR:NNTR -nontraditional:NNTR:NNTR -nontransparent:NNTR:NNTR -norepinephrine:NRPN:NRPN -northeasterner:NR0S:NRTS -northeastwards:NR0S:NRTS -northwestwards:NR0S:NRTS -nosogeographic:NSJK:NSKK -noteworthiness:NTR0:NTRT -nucleophilical:NKLF:NKLF -nucleoproteins:NKLP:NKLP -nullifications:NLFK:NLFK -nulligravidaes:NLKR:NLKR -numberlessness:NMRL:NMRL -numismatically:NMSM:NMSM -nutritiousness:NTRT:NTRT -nymphomaniacal:NMFM:NMFM -obedientiaries:APTN:APTN -obscuranticism:APSK:APSK -obsequiousness:APSK:APSK -observableness:APSR:APSR -obstreperously:APST:APST -obstructionism:APST:APST -obstructionist:APST:APST -occidentalised:AXTN:AXTN -occidentalists:AXTN:AXTN -occupationally:AKPX:AKPX -oceanographers:ASNK:ASNK -odontographies:ATNT:ATNT -olfactometries:ALFK:ALFK -oligarchically:ALKR:ALKR -oligochromemia:ALKK:ALKK -oligodactylies:ALKT:ALKT -oligodactylism:ALKT:ALKT -oligomenorrhea:ALKM:ALKM -oligospermatic:ALKS:ALKS -omnicompetence:AMNK:AMNK -omnivorousness:AMNF:AMNF -onchocerciases:ANXS:ANKS -onchocerciasis:ANXS:ANKS -oncogenicities:ANKJ:ANKK -oneirocritical:ANRK:ANRK -onomatopoieses:ANMT:ANMT -onomatopoiesis:ANMT:ANMT -onychogryposes:ANXK:ANKK -onychogryposis:ANXK:ANKK -oophorectomies:AFRK:AFRK -oophorectomize:AFRK:AFRK -openhandedness:APNN:APNN -operationalism:APRX:APRX -operationalize:APRX:APRX -ophthalmectomy:AF0L:AFTL -ophthalmodynia:AF0L:AFTL -ophthalmograph:AF0L:AFTL -ophthalmologic:AF0L:AFTL -ophthalmometry:AF0L:AFTL -ophthalmopathy:AF0L:AFTL -ophthalmoscope:AF0L:AFTL -ophthalmoscopy:AF0L:AFTL -ophthalmotrope:AF0L:AFTL -opisthocranion:APS0:APST -opposabilities:APSP:APSP -oppositionists:APSX:APSX -oppositionless:APSX:APSX -oppressiveness:APRS:APRS -opsonification:APSN:APSN -optimistically:APTM:APTM -optoelectronic:APTL:APTL -orbicularities:ARPK:ARPK -orbitosphenoid:ARPT:ARPT -orchestrations:ARKS:ARKS -orchidectomies:ARKT:ARKT -orchioplasties:ARXP:ARKP -organizational:ARKN:ARKN -organographies:ARKN:ARKN -organographist:ARKN:ARKN -organoleptical:ARKN:ARKN -organometallic:ARKN:ARKN -organotropical:ARKN:ARKN -ornamentations:ARNM:ARNM -ornithological:ARN0:ARNT -ornithologists:ARN0:ARNT -ornithorhyncus:ARN0:ARNT -orogenetically:ARJN:ARKN -orograhpically:ARKR:ARKR -orographically:ARKR:ARKR -orthocephalies:AR0S:ARTS -orthocephalous:AR0S:ARTS -orthochromatic:AR0K:ARTK -orthogenetical:AR0J:ARTK -orthogenically:AR0J:ARTK -orthographical:AR0K:ARTK -orthomolecular:ARTM:ARTM -orthopedically:AR0P:ARTP -orthophosphate:AR0F:ARTF -oscillographic:ASLK:ASLK -oscillometries:ASLM:ASLM -osmometrically:ASMM:ASMM -osmoregulation:ASMR:ASMR -osmoregulatory:ASMR:ASMR -ossiculotomies:ASKL:ASKL -ostentatiously:ASTN:ASTN -osteoarthritic:ASTR:ASTR -osteoarthritis:ASTR:ASTR -osteoarthrosis:ASTR:ASTR -osteochondroma:ASTX:ASTK -osteochondrous:ASTX:ASTK -osteodermatous:ASTT:ASTT -osteodystrophy:ASTT:ASTT -osteofibromata:ASTF:ASTF -osteologically:ASTL:ASTL -osteosarcomata:ASTS:ASTS -osteoscleroses:ASTS:ASTS -osteosclerosis:ASTS:ASTS -osteosclerotic:ASTS:ASTS -osteosyntheses:ASTS:ASTS -osteosynthesis:ASTS:ASTS -otolaryngology:ATLR:ATLR -outgeneralling:ATJN:ATKN -outlandishness:ATLN:ATLN -outmaneuvering:ATMN:ATMN -outrageousness:ATRJ:ATRK -ovariectomized:AFRK:AFRK -ovariectomizes:AFRK:AFRK -overaccentuate:AFRX:AFRX -overaggressive:AFRK:AFRK -overanimatedly:AFRN:AFRN -overassessment:AFRS:AFRS -overburdensome:AFRP:AFRP -overcapitalize:AFRK:AFRK -overcivilizing:AFRS:AFRS -overcommitting:AFRK:AFRK -overcompensate:AFRK:AFRK -overcomplacent:AFRK:AFRK -overcomplicate:AFRK:AFRK -overconfidence:AFRK:AFRK -overcorrecting:AFRK:AFRK -overcorrection:AFRK:AFRK -overcriticises:AFRK:AFRK -overcriticized:AFRK:AFRK -overcriticizes:AFRK:AFRK -overcultivated:AFRK:AFRK -overcultivates:AFRK:AFRK -overdecorating:AFRT:AFRT -overdeliberate:AFRT:AFRT -overdependence:AFRT:AFRT -overdeveloping:AFRT:AFRT -overdiligently:AFRT:AFRT -overdramatized:AFRT:AFRT -overdramatizes:AFRT:AFRT -overelaborated:AFRL:AFRL -overelaborates:AFRL:AFRL -overembroiders:AFRM:AFRM -overemphasized:AFRM:AFRM -overemphasizes:AFRM:AFRM -overenthusiasm:AFRN:AFRN -overestimating:AFRS:AFRS -overestimation:AFRS:AFRS -overexercising:AFRK:AFRK -overexpressive:AFRK:AFRK -overfastidious:AFRF:AFRF -overfurnishing:AFRF:AFRF -overgeneralize:AFRJ:AFRK -overidealistic:AFRT:AFRT -overidealizing:AFRT:AFRT -overimpressing:AFRM:AFRM -overindulgence:AFRN:AFRN -overinfluenced:AFRN:AFRN -overinfluences:AFRN:AFRN -overinsistence:AFRN:AFRN -overmagnifying:AFRM:AFRM -overoptimistic:AFRP:AFRP -overparticular:AFRP:AFRP -overpersuading:AFRP:AFRP -overpopulating:AFRP:AFRP -overpopulation:AFRP:AFRP -overpoweringly:AFRP:AFRP -overproduction:AFRP:AFRP -overproportion:AFRP:AFRP -overprotecting:AFRP:AFRP -overprotection:AFRP:AFRP -overprotective:AFRP:AFRP -overpublicises:AFRP:AFRP -overpublicized:AFRP:AFRP -overpublicizes:AFRP:AFRP -overrefinement:AFRF:AFRF -overregulation:AFRK:AFRK -overrestricted:AFRS:AFRS -overscrupulous:AFRS:AFRS -oversimplified:AFRS:AFRS -oversimplifies:AFRS:AFRS -oversolicitous:AFRS:AFRS -overspecialize:AFRS:AFRS -overstatements:AFRS:AFRS -overstimulated:AFRS:AFRS -overstimulates:AFRS:AFRS -overstretching:AFRS:AFRS -oversubscribed:AFRS:AFRS -oversubscribes:AFRS:AFRS -oversubtleties:AFRS:AFRS -oversuspicious:AFRS:AFRS -oversystematic:AFRS:AFRS -overwhelmingly:AFRL:AFRL -oxidoreductase:AKST:AKST -oxychromatinic:AKSX:AKSK -oxypolygelatin:AKSP:AKSP -oystercatchers:ASTR:ASTR -pachycephalias:PKSF:PKSF -pachycephalies:PKSF:PKSF -pachydermatous:PKTR:PKTR -paedomorphosis:PTMR:PTMR -paganistically:PKNS:PKNS -palaeanthropic:PLN0:PLNT -palaeethnology:PL0N:PLTN -palaeobotanist:PLPT:PLPT -palaeomagnetic:PLMN:PLMK -palaeotography:PLTK:PLTK -palaeotologist:PLTL:PLTL -palatalization:PLTL:PLTL -palatographies:PLTK:PLTK -palatoplasties:PLTP:PLTP -palatoproximal:PLTP:PLTP -paleencephalon:PLNS:PLNS -paleocerebella:PLSR:PLSR -paleocortexing:PLKR:PLKR -paleoencephala:PLNS:PLNS -paleographical:PLKR:PLKR -paleontologist:PLNT:PLNT -pallanesthesia:PLNS:PLNS -panarthritides:PNR0:PNRT -pancolectomies:PNKL:PNKL -pancreatectomy:PNKR:PNKR -pancreatitides:PNKR:PNKR -panendoscopies:PNNT:PNNT -pantaloonettes:PNTL:PNTL -papilionaceous:PPLN:PPLN -papillectomies:PPLK:PPLK -papilloedemata:PPLT:PPLT -papillomatoses:PPLM:PPLM -papillomatosis:PPLM:PPLM -papulopustular:PPLP:PPLP -papulosquamous:PPLS:PPLS -parabiotically:PRPT:PRPT -parabolization:PRPL:PRPL -parachromatism:PRKR:PRKR -paracystitides:PRSS:PRSS -paradisiacally:PRTS:PRTX -paragammacisms:PRKM:PRKM -paragangliomas:PRKN:PRKN -paraganglionic:PRKN:PRKN -paragonimiases:PRKN:PRKN -paragonimiasis:PRKN:PRKN -paragrammatism:PRKR:PRKR -parahemophilia:PRHM:PRHM -paralambdacism:PRLM:PRLM -paralinguistic:PRLN:PRLN -parallelepiped:PRLL:PRLL -parallelograms:PRLL:PRLL -paramastitides:PRMS:PRMS -parameterizing:PRMT:PRMT -paramethadione:PRM0:PRMT -paramphistomum:PRMF:PRMF -paraneucleuses:PRNK:PRNK -parapancreatic:PRPN:PRPN -parapsychology:PRPS:PRPS -pararosaniline:PRRS:PRRS -parasitization:PRST:PRST -parasitologies:PRST:PRST -parasitologist:PRST:PRST -parasitotropic:PRST:PRST -parasyphilitic:PRSF:PRSF -paratactically:PRTK:PRTK -parenchymatous:PRNX:PRNK -parenthesizing:PRN0:PRNT -parodontitides:PRTN:PRTN -parsimoniously:PRSM:PRSM -parthenocarpic:PR0N:PRTN -particularized:PRTK:PRTK -particularizes:PRTK:PRTK -partridgeberry:PRTR:PRTR -parturifacient:PRTR:PRTR -passionateness:PSNT:PSNT -passionflowers:PSNF:PSNF -pasteurelloses:PSTR:PSTR -pasteurellosis:PSTR:PSTR -pasteurization:PSTR:PSTR -patellectomies:PTLK:PTLK -pathogenesises:P0JN:PTKN -pathogenically:P0JN:PTKN -pathologically:P0LJ:PTLK -patresfamilias:PTRS:PTRS -patronymically:PTRN:PTRN -pectinesterase:PKTN:PKTN -pectoriloquies:PKTR:PKTR -pederastically:PTRS:PTRS -pedestrianises:PTST:PTST -pedestrianized:PTST:PTST -pedestrianizes:PTST:PTST -penitentiaries:PNTN:PNTN -pennologically:PNLJ:PNLK -pennsylvanians:PNSL:PNSL -pentadactylate:PNTT:PNTT -pentadactylism:PNTT:PNTT -pentobarbitone:PNTP:PNTP -perambulations:PRMP:PRMP -perceivability:PRSF:PRSF -perceptibility:PRSP:PRSP -perceptiveness:PRSP:PRSP -percussionists:PRKS:PRKS -percussiveness:PRKS:PRKS -percutaneously:PRKT:PRKT -peregrinations:PRKR:PRKR -peremptoriness:PRMP:PRMP -perfectibility:PRFK:PRFK -perfectionists:PRFK:PRFK -perfidiousness:PRFT:PRFT -performatively:PRFR:PRFR -periangiitides:PRNJ:PRNK -peribronchitis:PRPR:PRPR -pericardiotomy:PRKR:PRKR -pericarditides:PRKR:PRKR -pericementitis:PRSM:PRSM -perichondritis:PRXN:PRKN -pericystitides:PRSS:PRSS -periduodenitis:PRTT:PRTT -periesophageal:PRSF:PRSF -perifollicular:PRFL:PRFL -perimastitides:PRMS:PRMS -perimetrically:PRMT:PRMT -perimyelitides:PRML:PRML -perineorrhaphy:PRNR:PRNR -perineoscrotal:PRNS:PRNS -perineovaginal:PRNF:PRNF -perineuritides:PRNR:PRNR -perineuritises:PRNR:PRNR -periodontology:PRTN:PRTN -perioophoritis:PRFR:PRFR -periosteophyte:PRST:PRST -peripharyngeal:PRFR:PRFR -peripheraphose:PRFR:PRFR -periscopically:PRSK:PRSK -perishableness:PRXP:PRXP -perissodactyls:PRST:PRST -peristaphyline:PRST:PRST -peritendinitis:PRTN:PRTN -peritenontitis:PRTN:PRTN -peritheliomata:PR0L:PRTL -peritoneopathy:PRTN:PRTN -peritoneoscope:PRTN:PRTN -peritoneoscopy:PRTN:PRTN -periureteritis:PRRT:PRRT -periurethritis:PRR0:PRRT -perivasculitis:PRFS:PRFS -perivisceritis:PRFS:PRFS -perlocutionary:PRLK:PRLK -permissibility:PRMS:PRMS -permissiveness:PRMS:PRMS -permittivities:PRMT:PRMT -permutableness:PRMT:PRMT -permutationist:PRMT:PRMT -perniciousness:PRNS:PRNX -pernicketiness:PRNK:PRNK -perosplanchnia:PRSP:PRSP -perpendiculars:PRPN:PRPN -personableness:PRSN:PRSN -persuadability:PRST:PRST -persuasibility:PRSS:PRSS -persuasiveness:PRSS:PRSS -pertinaciously:PRTN:PRTN -perturbational:PRTR:PRTR -pestilentially:PSTL:PSTL -petrochemicals:PTRX:PTRK -petrochemistry:PTRX:PTRK -petrographical:PTRK:PTRK -petrologically:PTRL:PTRL -phacoscleroses:FKSK:FKSK -phacosclerosis:FKSK:FKSK -phanerogenetic:FNRJ:FNRK -phantasmagoria:FNTS:FNTS -phantasmagoric:FNTS:FNTS -phantasmically:FNTS:FNTS -pharmaceutical:FRMS:FRMS -pharmaceutists:FRMS:FRMS -pharmacologias:FRMK:FRMK -pharmacologies:FRMK:FRMK -pharmacologist:FRMK:FRMK -pharmacopedics:FRMK:FRMK -pharmacopoeial:FRMK:FRMK -pharmacopoeias:FRMK:FRMK -pharmacopoeist:FRMK:FRMK -pharmaognosist:FRMN:FRMK -pharyngoglossi:FRNK:FRNK -pharyngologies:FRNK:FRNK -pharyngologist:FRNK:FRNK -pharyngoscopes:FRNK:FRNK -pharyngoscopic:FRNK:FRNK -pharyngotomies:FRNK:FRNK -phenethicillin:FN0S:FNTS -phenobarbitone:FNPR:FNPR -phenologically:FNLJ:FNLK -phenotypically:FNTP:FNTP -phenylbutazone:FNLP:FNLP -phenylmercuric:FNLM:FNLM -phenylthiourea:FNL0:FNLT -pheochromocyte:FKRM:FKRM -philadelphians:FLTL:FLTL -philanthropies:FLN0:FLNT -philanthropise:FLN0:FLNT -philanthropist:FLN0:FLNT -philatelically:FLTL:FLTL -philologically:FLLJ:FLLK -philosophizers:FLSF:FLSF -philosophizing:FLSF:FLSF -phlebographies:FLPK:FLPK -phlebotomizing:FLPT:FLPT -phlegmatically:FLKM:FLKM -phloroglucinol:FLRK:FLRK -phonendoscopes:FNNT:FNNT -phonogrammical:FNKR:FNKR -phonologically:FNLJ:FNLK -phonophotogram:FNFT:FNFT -phonoreception:FNRS:FNRS -phosphoprotein:FSFP:FSFP -phosphopyruvic:FSFP:FSFP -phosphorescent:FSFR:FSFR -phosphorogenic:FSFR:FSFR -phosphorolyses:FSFR:FSFR -phosphorolysis:FSFR:FSFR -phosphorolytic:FSFR:FSFR -phosphoroscope:FSFR:FSFR -phosphoroscopy:FSFR:FSFR -phosphorylated:FSFR:FSFR -photoallergies:FTLR:FTLR -photobiologies:FTPL:FTPL -photobiologist:FTPL:FTPL -photocatalyses:FTKT:FTKT -photocatalysis:FTKT:FTKT -photocatalytic:FTKT:FTKT -photochemistry:FTXM:FTKM -photocomposing:FTKM:FTKM -photoconductor:FTKN:FTKN -photodynamical:FTTN:FTTN -photoelectrons:FTLK:FTLK -photoengravers:FTNK:FTNK -photoengraving:FTNK:FTNK -photogenically:FTJN:FTKN -photogrammetry:FTKR:FTKR -photoinduction:FTNT:FTNT -photoinductive:FTNT:FTNT -photokymograph:FTKM:FTKM -photolytically:FTLT:FTLT -photomicrogram:FTMK:FTMK -photoperiodism:FTPR:FTPR -photophthalmia:FTF0:FTFT -photoreactivat:FTRK:FTRK -photoreception:FTRS:FTRS -photoreceptive:FTRS:FTRS -photoreduction:FTRT:FTRT -photosensitive:FTSN:FTSN -photosensitize:FTSN:FTSN -photospherical:FTSF:FTSF -photostability:FTST:FTST -photosyntheses:FTSN:FTSN -photosynthesis:FTSN:FTSN -photosynthetic:FTSN:FTSN -phototherapies:FT0R:FTTR -phototypically:FTTP:FTTP -phraseographic:FRSK:FRSK -phraseological:FRSL:FRSL -phrenemphraxes:FRNM:FRNM -phrenemphraxis:FRNM:FRNM -phrenicotomies:FRNK:FRNK -phthalocynaine:F0LS:FTLS -phthisiologies:F0SL:FTXL -phthisiologist:F0SL:FTXL -phymatorrhysin:FMTR:FMTR -physiognomical:FSNM:FXKN -physiognomists:FSNM:FXKN -physiographers:FSKR:FXKR -phytochemistry:FTXM:FTKM -phytogeography:FTJK:FTKK -phytomastigina:FTMS:FTMS -phytopathology:FTP0:FTPT -phytosociology:FTSS:FTSX -piezochemistry:PSXM:PSKM -pinnatipartite:PNTP:PNTP -pisciculturist:PSKL:PSKL -pistilliferous:PSTL:PSTL -pithecanthrope:P0KN:PTKN -placentography:PLSN:PLSN -plagiocephalic:PLJS:PLKS -planetologists:PLNT:PLNT -plasmacytomata:PLSM:PLSM -plasmaphereses:PLSM:PLSM -plasmapheresis:PLSM:PLSM -plasmocytomata:PLSM:PLSM -plasticization:PLST:PLST -platinocyanide:PLTN:PLTN -platitudinises:PLTT:PLTT -platitudinized:PLTT:PLTT -platitudinizer:PLTT:PLTT -platitudinizes:PLTT:PLTT -platycephalies:PLTS:PLTS -platycephalism:PLTS:PLTS -platycephalous:PLTS:PLTS -platyhelminths:PLTH:PLTH -platystencepha:PLTS:PLTS -pleonastically:PLNS:PLNS -plethysmograph:PL0S:PLTS -pleurapophyses:PLRP:PLRP -pleurapophysis:PLRP:PLRP -pleurocentrums:PLRS:PLRS -pleurothotonos:PLR0:PLRT -pleurovisceral:PLRF:PLRF -plumbagaginous:PLMP:PLMP -pluriglandular:PLRK:PLRK -pneumaticities:NMTS:NMTS -pneumatization:NMTS:NMTS -pneumatologist:NMTL:NMTL -pneumobacillus:NMPS:NMPS -pneumocenteses:NMSN:NMSN -pneumocentesis:NMSN:NMSN -pneumococcemia:NMKX:NMKX -pneumoconioses:NMKN:NMKN -pneumoconiosis:NMKN:NMKN -pneumographies:NMKR:NMKR -pneumokonioses:NMKN:NMKN -pneumokoniosis:NMKN:NMKN -pneumothoraces:NM0R:NMTR -pneumothoraxes:NM0R:NMTR -pododermatitis:PTTR:PTTR -poikiloblastic:PKLP:PKLP -poikilocytoses:PKLS:PKLS -poikilocytosis:PKLS:PKLS -poikilodermata:PKLT:PKLT -poikilothermal:PKL0:PKLT -poikilothermic:PKL0:PKLT -polariscopical:PLRS:PLRS -polarographies:PLRK:PLRK -polemoniaceous:PLMN:PLMN -politicization:PLTS:PLTS -polyacrylamide:PLKR:PLKR -polycarpellary:PLKR:PLKR -polychromatism:PLXR:PLKR -polyembryonies:PLMP:PLMP -polyhydramnios:PLHT:PLHT -polymenorrhoea:PLMN:PLMN -polymerization:PLMR:PLMR -polymorphously:PLMR:PLMR -polyneuritides:PLNR:PLNR -polyneuritises:PLNR:PLNR -polyneuropathy:PLNR:PLNR -polynucleotide:PLNK:PLNK -polyphalangism:PLFL:PLFL -polypharmacies:PLFR:PLFR -polyphonically:PLFN:PLFN -polyphosphoric:PLFS:PLFS -polyphyletical:PLFL:PLFL -polyphyletists:PLFL:PLFL -polysaccgarude:PLSK:PLSK -polysaccharide:PLSX:PLSX -polysynaptical:PLSN:PLSN -polysynthesism:PLSN:PLSN -polyvinylidene:PLFN:PLFN -popularization:PPLR:PPLR -pornographical:PRNK:PRNK -porocephalidae:PRSF:PRSF -porphyrogenite:PRFR:PRFR -porpitiatorily:PRPX:PRPX -portentousness:PRTN:PRTN -portulacaceous:PRTL:PRTL -possessiveness:PSSF:PSSF -postanesthetic:PSTN:PSTN -postapoplectic:PSTP:PSTP -postarteriolar:PSTR:PSTR -postclavicular:PSTK:PSTK -postcommissure:PSTK:PSTK -postdiagnostic:PSTN:PSTK -posterolateral:PSTR:PSTR -postganglionic:PSTK:PSTK -posthypnotical:PS0P:PSTP -posthypophyses:PS0P:PSTP -posthypophysis:PS0P:PSTP -postindustrial:PSTN:PSTN -postmaturities:PSTM:PSTM -postmenopausal:PSTM:PSTM -postmenstruals:PSTM:PSTM -postmillennial:PSTM:PSTM -postmistresses:PSTM:PSTM -postpositional:PSTP:PSTP -postpositively:PSTP:PSTP -postprandially:PSTP:PSTP -postprocessing:PSTP:PSTP -postproduction:PSTP:PSTP -postsynaptical:PSTS:PSTS -potentialities:PTNX:PTNX -potentiometric:PTNT:PTNT -practicability:PRKT:PRKT -pragmaticality:PRKM:PRKM -praiseworthily:PRSR:PRSR -preacceptances:PRXP:PRXP -preaccustoming:PRKS:PRKS -preacquainting:PRKN:PRKN -preadjustments:PRTJ:PRTJ -preadolescence:PRTL:PRTL -preadvertising:PRTF:PRTF -preaffirmation:PRFR:PRFR -preanaesthetic:PRNS:PRNS -preantiquities:PRNT:PRNT -preappearances:PRPR:PRPR -preapplication:PRPL:PRPL -prearrangement:PRRN:PRRN -preascertained:PRSR:PRSR -preassumptions:PRSM:PRSM -precalculating:PRKL:PRKL -precalculation:PRKL:PRKL -precancelation:PRKN:PRKN -precariousness:PRKR:PRKR -precedentially:PRST:PRST -precelebration:PRSL:PRSL -precessionally:PRSS:PRSS -precipitations:PRSP:PRSP -precipitinogen:PRSP:PRSP -precociousness:PRKS:PRKX -preconcealment:PRKN:PRKN -preconceptions:PRKN:PRKN -preconcessions:PRKN:PRKN -preconditioned:PRKN:PRKN -preconjectured:PRKN:PRKN -preconjectures:PRKN:PRKN -preconnections:PRKN:PRKN -preconsciously:PRKN:PRKN -preconstructed:PRKN:PRKN -preconvictions:PRKN:PRKN -predaceousness:PRTS:PRTS -predaciousness:PRTS:PRTX -predefinitions:PRTF:PRTF -predesignating:PRTS:PRTS -predesignation:PRTS:PRTS -predestinarian:PRTS:PRTS -predestinating:PRTS:PRTS -predestination:PRTS:PRTS -predeterminate:PRTT:PRTT -predetermining:PRTT:PRTT -predicableness:PRTK:PRTK -predictability:PRTK:PRTK -predictiveness:PRTK:PRTK -predisposition:PRTS:PRTS -predistinguish:PRTS:PRTS -preenlistments:PRNL:PRNL -preestablished:PRST:PRST -preestablishes:PRST:PRST -preexamination:PRKS:PRKS -prefabricating:PRFP:PRFP -prefabrication:PRFP:PRFP -preferableness:PRFR:PRFR -preferentially:PRFR:PRFR -prefigurements:PRFK:PRFK -pregneninolone:PRNN:PRKN -prehensilities:PRHN:PRHN -preinitialized:PRNX:PRNX -preinitializes:PRNX:PRNX -preinstructing:PRNS:PRNS -preinstruction:PRNS:PRNS -prejudiciously:PRJT:PRJT -prematrimonial:PRMT:PRMT -premeditatedly:PRMT:PRMT -premenstrually:PRMN:PRMN -premillenarian:PRML:PRML -preoccupations:PRKP:PRKP -preoperatively:PRPR:PRPR -preponderantly:PRPN:PRPN -preponderately:PRPN:PRPN -preponderating:PRPN:PRPN -preponderation:PRPN:PRPN -prepossessions:PRPS:PRPS -preposterously:PRPS:PRPS -prepublication:PRPP:PRPP -preregistering:PRRJ:PRRK -presbyacousias:PRSP:PRSP -presbyophrenia:PRSP:PRSP -presbyophrenic:PRSP:PRSP -prescriptively:PRSK:PRSK -prescriptivism:PRSK:PRSK -presentability:PRSN:PRSN -presentational:PRSN:PRSN -presentationes:PRSN:PRSN -preservability:PRSR:PRSR -presidentially:PRST:PRST -pressoreceptor:PRSR:PRSR -pressurization:PRSR:PRSR -presumptuously:PRSM:PRSM -presupposition:PRSP:PRSP -presuppurative:PRSP:PRSP -prettification:PRTF:PRTF -pretuberculous:PRTP:PRTP -prevarications:PRFR:PRFR -preventability:PRFN:PRFN -preventiveness:PRFN:PRFN -prevocalically:PRFK:PRFK -primigravidaes:PRMK:PRMK -principalities:PRNS:PRNS -prioritization:PRRT:PRRT -proarbitration:PRRP:PRRP -procapitalists:PRKP:PRKP -proceleusmatic:PRSL:PRSL -processionally:PRSS:PRSS -processionists:PRSS:PRSS -procompromised:PRKM:PRKM -procompromises:PRKM:PRKM -proconsulships:PRKN:PRKN -procrastinated:PRKR:PRKR -procrastinates:PRKR:PRKR -procrastinator:PRKR:PRKR -procryptically:PRKR:PRKR -proctoscopical:PRKT:PRKT -procuratorship:PRKR:PRKR -prodigiousness:PRTJ:PRTK -prodisarmament:PRTS:PRTS -prodissolution:PRTS:PRTS -productiveness:PRTK:PRTK -proenforcement:PRNF:PRNF -proerythrocyte:PRR0:PRRT -professionally:PRFS:PRFS -professorially:PRFS:PRFS -professoriates:PRFS:PRFS -professorships:PRFS:PRFS -profitableness:PRFT:PRFT -progestational:PRJS:PRKS -prognosticable:PRNS:PRKN -prognosticated:PRNS:PRKN -prognosticates:PRNS:PRKN -prognosticator:PRNS:PRKN -programmatical:PRKR:PRKR -progressionist:PRKR:PRKR -prohibitionary:PRHP:PRHP -prohibitionism:PRHP:PRHP -prohibitionist:PRHP:PRHP -proimmigration:PRMK:PRMK -prointegration:PRNT:PRNT -projectionists:PRJK:PRJK -projectiveness:PRJK:PRJK -proletarianism:PRLT:PRLT -proletarianize:PRLT:PRLT -proliferations:PRLF:PRLF -prolotherapies:PRL0:PRLT -prolucutorship:PRLK:PRLK -promegaloblast:PRMK:PRMK -promonarchists:PRMN:PRMN -pronationalist:PRNX:PRNX -pronominalises:PRNM:PRNM -pronominalized:PRNM:PRNM -pronominalizes:PRNM:PRNM -pronouncements:PRNN:PRNN -pronunciamento:PRNN:PRNN -pronunciations:PRNN:PRNN -propaedeutical:PRPT:PRPT -propagandistic:PRPK:PRPK -propagandizing:PRPK:PRPK -prophylactical:PRFL:PRFL -propinquitatis:PRPN:PRPN -propitiatorily:PRPX:PRPX -propitiousness:PRPT:PRPT -propmistresses:PRPM:PRPM -proportionable:PRPR:PRPR -proportionably:PRPR:PRPR -proportionally:PRPR:PRPR -proportionated:PRPR:PRPR -proportionates:PRPR:PRPR -proportionment:PRPR:PRPR -propositioning:PRPS:PRPS -proprietorship:PRPR:PRPR -proprietresses:PRPR:PRPR -proprioception:PRPR:PRPR -proprioceptive:PRPR:PRPR -prorestoration:PRRS:PRRS -proscriptively:PRSK:PRSK -prosencephalic:PRSN:PRSN -prosencephalon:PRSN:PRSN -prosoposchises:PRSP:PRSP -prosoposchisis:PRSP:PRSP -prosperousness:PRSP:PRSP -prostaglandins:PRST:PRST -prostatography:PRST:PRST -prosthetically:PRS0:PRST -prosthodontics:PRS0:PRST -prosthodontist:PRS0:PRST -prosthogonimus:PRS0:PRST -prosupervision:PRSP:PRSP -prosyndicalism:PRSN:PRSN -protectionists:PRTK:PRTK -protectiveness:PRTK:PRTK -prothonotaries:PR0N:PRTN -protistologies:PRTS:PRTS -protistologist:PRTS:PRTS -protocatechuic:PRTK:PRTK -protoplasmatic:PRTP:PRTP -protoporphyrin:PRTP:PRTP -prototypically:PRTT:PRTT -protoveratrine:PRTF:PRTF -protovertebrae:PRTF:PRTF -protovertebral:PRTF:PRTF -protovertebras:PRTF:PRTF -protozoologies:PRTS:PRTS -protozoologist:PRTS:PRTS -protractedness:PRTR:PRTR -protrusiveness:PRTR:PRTR -proventricular:PRFN:PRFN -proventriculus:PRFN:PRFN -providentially:PRFT:PRFT -provincialised:PRFN:PRFN -provisionality:PRFS:PRFX -proximolingual:PRKS:PRKS -pseudaconitine:STKN:STKN -pseudarthroses:STR0:STRT -pseudarthrosis:STR0:STRT -pseudoaconitin:STKN:STKN -pseudoartistic:STRT:STRT -pseudoglanders:STKL:STKL -pseudoglobulin:STKL:STKL -pseudohistoric:STHS:STHS -pseudoleukemia:STLK:STLK -pseudoliterary:STLT:STLT -pseudomedieval:STMT:STMT -pseudomembrane:STMM:STMM -pseudomorphism:STMR:STMR -pseudomorphous:STMR:STMR -pseudomythical:STM0:STMT -pseudoneuromas:STNR:STNR -pseudonymously:STNM:STNM -pseudoparasite:STPR:STPR -pseudopregnant:STPR:STPR -pseudoreaction:STRK:STRK -pseudotubercle:STTP:STTP -pseudovomiting:STFM:STFM -pseudoxanthoma:STKS:STKS -psychlologised:SXLL:SKLL -psychoacoustic:SXKS:SKKS -psychoanalyses:SXNL:SKNL -psychoanalysis:SXNL:SKNL -psychoanalysts:SXNL:SKNL -psychoanalytic:SXNL:SKNL -psychoanalyzed:SXNL:SKNL -psychoanalyzer:SXNL:SKNL -psychoanalyzes:SXNL:SKNL -psychobiologic:SXPL:SKPL -psychochemical:SXXM:SKKM -psychocortical:SXKR:SKKR -psychodramatic:SXTR:SKTR -psychodynamics:SXTN:SKTN -psychogalvanic:SXKL:SKKL -psychographies:SXKR:SKKR -psycholinguist:SXLN:SKLN -psychologistic:SXLJ:SKLK -psychologizing:SXLJ:SKLK -psychometrical:SXMT:SKMT -psychoneuroses:SXNR:SKNR -psychoneurosis:SXNR:SKNR -psychoneurotic:SXNR:SKNR -psychonomieses:SXNM:SKNM -psychopathical:SXP0:SKPT -psychophysical:SXFS:SKFS -psychoquackery:SXKK:SKKK -psychosexually:SXSK:SKSK -psychosocially:SXSS:SKSX -psychosomatics:SXSM:SKSM -psychosurgical:SXSR:SKSR -psychrometries:SXRM:SKRM -psychrotherapy:SXR0:SKRT -pteridological:PTRT:PTRT -pteridophytous:PTRT:PTRT -ptyalographies:PTLK:PTLK -publishability:PPLX:PPLX -pugnaciousness:PNSS:PKNX -pulmonectomies:PLMN:PLMN -pupillometries:PPLM:PPLM -purchasability:PRXS:PRKS -purposefulness:PRPS:PRPS -putrescibility:PTRS:PTRS -pyelolithotomy:PLL0:PLLT -pyelonephritic:PLNF:PLNF -pyelonephritis:PLNF:PLNF -pyelonephroses:PLNF:PLNF -pyelonephrosis:PLNF:PLNF -pylethromboses:PL0R:PLTR -pylethrombosis:PL0R:PLTR -pyloroplasties:PLRP:PLRP -pyonephritides:PNFR:PNFR -pyramidotomies:PRMT:PRMT -pyrheliometric:PRLM:PRLM -pyrochemically:PRXM:PRKM -pyrometallurgy:PRMT:PRMT -pyrometrically:PRMT:PRMT -pyrophosphoric:PRFS:PRFS -pyrophotometry:PRFT:PRFT -quadragenarian:KTRJ:KTRK -quadrigeminate:KTRJ:KTRK -quadrilaterals:KTRL:KTRL -quadrillionths:KTRL:KTRL -quadruplicated:KTRP:KTRP -quadruplicates:KTRP:KTRP -qualifications:KLFK:KLFK -quantification:KNTF:KNTF -quantitatively:KNTT:KNTT -quaquaversally:KKFR:KKFR -quartermasters:KRTR:KRTR -questionlessly:KSXN:KSXN -questionnaires:KSXN:KSXN -quindecennials:KNTS:KNTS -quinquefoliate:KNKF:KNKF -quinquennially:KNKN:KNKN -quinquenniumad:KNKN:KNKN -quinquenniumal:KNKN:KNKN -quinquepartite:KNKP:KNKP -quintessential:KNTS:KNTS -quintillionths:KNTL:KNTL -quintuplicated:KNTP:KNTP -quintuplicates:KNTP:KNTP -radicalization:RTKL:RTKL -radioautograph:RTTK:RTTK -radiobiologies:RTPL:RTPL -radiobiologist:RTPL:RTPL -radiobroadcast:RTPR:RTPR -radiocarpaling:RTKR:RTKR -radiochemistry:RTXM:RTKM -radioecologies:RTKL:RTKL -radioecologist:RTKL:RTKL -radiographical:RTKR:RTKR -radiologically:RTLJ:RTLK -radiolucencies:RTLS:RTLS -radioprotector:RTPR:RTPR -radioresistant:RTRS:RTRS -radiosensitive:RTSN:RTSN -radiostrontium:RTST:RTST -radiosurgeries:RTSR:RTSR -radiotelegraph:RTTL:RTTL -radiotelemetry:RTTL:RTTL -radiotelephone:RTTL:RTTL -radiotelephony:RTTL:RTTL -radioteletypes:RTTL:RTTL -radiotherapies:RT0R:RTTR -radiotherapist:RT0R:RTTR -rambunctiously:RMPN:RMPN -rampageousness:RMPJ:RMPK -ranunculaceous:RNNK:RNNK -rapprochements:RPRX:RPRK -ratiocinations:RTSN:RTSN -reabbreviating:RPRF:RPRF -reaccommodated:RKMT:RKMT -reaccommodates:RKMT:RKMT -reaccompanying:RKMP:RKMP -reacquaintance:RKNT:RKNT -reacquisitions:RKSX:RKSX -readjournments:RTJR:RTJR -reaffirmations:RFRM:RFRM -reappointments:RPNT:RPNT -reapportioning:RPRX:RPRX -reappraisement:RPRS:RPRS -reappropriated:RPRP:RPRP -rearrangements:RRNJ:RRNK -reasonableness:RSNP:RSNP -reassimilating:RSML:RSML -reassimilation:RSML:RSML -rebroadcasting:RPRT:RPRT -recalcitrances:RKLS:RKLS -recalculations:RKLK:RKLK -recanalization:RKNL:RKNL -recapitalizing:RKPT:RKPT -recapitulating:RKPT:RKPT -recapitulation:RKPT:RKPT -recapitulative:RKPT:RKPT -rechristenings:RKRS:RKRS -reciprocalness:RSPR:RSPR -reciprocations:RSPR:RSPR -recirculations:RSRK:RSRK -recklinghausen:RKLN:RKLN -recodification:RKTF:RKTF -recollectively:RKLK:RKLK -recolonization:RKLN:RKLN -recommencement:RKMN:RKMN -recommendation:RKMN:RKMN -recommendatory:RKMN:RKMN -recommissioned:RKMS:RKMS -recompensation:RKMP:RKMP -recompensatory:RKMP:RKMP -recompilations:RKMP:RKMP -reconcentrated:RKNS:RKNS -reconcentrates:RKNS:RKNS -reconcilements:RKNS:RKNS -reconciliating:RKNS:RKNS -reconciliation:RKNS:RKNS -reconciliatory:RKNS:RKNS -recondensation:RKNT:RKNT -reconditioning:RKNT:RKNT -reconfigurable:RKNF:RKNF -reconfirmation:RKNF:RKNF -reconfiscating:RKNF:RKNF -reconfiscation:RKNF:RKNF -reconnaissance:RKNS:RKNS -reconnoitering:RKNT:RKNT -reconsecrating:RKNS:RKNS -reconsecration:RKNS:RKNS -reconsignments:RKNS:RKNS -reconsolidated:RKNS:RKNS -reconsolidates:RKNS:RKNS -reconstituents:RKNS:RKNS -reconstituting:RKNS:RKNS -reconstitution:RKNS:RKNS -reconstructing:RKNS:RKNS -reconstruction:RKNS:RKNS -reconstructive:RKNS:RKNS -reconventional:RKNF:RKNF -recoverability:RKFR:RKFR -recriminations:RKRM:RKRM -recrystallized:RKRS:RKRS -recrystallizes:RKRS:RKRS -rectangularity:RKTN:RKTN -rectifications:RKTF:RKTF -rectilinearity:RKTL:RKTL -rectococcygeus:RKTK:RKTK -redeliberation:RTLP:RTLP -redemonstrated:RTMN:RTMN -redemonstrates:RTMN:RTMN -redevelopments:RTFL:RTFL -redintegrating:RTNT:RTNT -redintegration:RTNT:RTNT -redintegrative:RTNT:RTNT -redistributing:RTST:RTST -redistribution:RTST:RTST -redistributive:RTST:RTST -reducibilities:RTSP:RTSP -reductionistic:RTKX:RTKX -reencountering:RNKN:RNKN -reenlargements:RNLR:RNLR -reenlightening:RNLT:RNLT -reestablishing:RSTP:RSTP -reexaminations:RKSM:RKSM -reexperiencing:RKSP:RKSP -referentiality:RFRN:RFRN -reflectiveness:RFLK:RFLK -reflexological:RFLK:RFLK -reflexologists:RFLK:RFLK -reformulations:RFRM:RFRM -refractionists:RFRK:RFRK -refractiveness:RFRK:RFRK -refractivities:RFRK:RFRK -refractometric:RFRK:RFRK -refractoriness:RFRK:RFRK -refrangibility:RFRN:RFRN -refurbishments:RFRP:RFRP -regardlessness:RKRT:RKRT -regeneratively:RJNR:RKNR -registrability:RJST:RKST -registrational:RJST:RKST -regressiveness:RKRS:RKRS -regularization:RKLR:RKLR -regurgitations:RKRJ:RKRK -rehabilitating:RHPL:RHPL -rehabilitation:RHPL:RHPL -rehabilitative:RHPL:RHPL -reimbursements:RMPR:RMPR -reincarnations:RNKR:RNKR -reincorporated:RNKR:RNKR -reincorporates:RNKR:RNKR -reinforcements:RNFR:RNFR -reinoculations:RNKL:RNKL -reinstallation:RNST:RNST -reinstallments:RNST:RNST -reinstatements:RNST:RNST -reintegrations:RNTK:RNTK -reinterpreting:RNTR:RNTR -reinterrogated:RNTR:RNTR -reinterrogates:RNTR:RNTR -reintrenchment:RNTR:RNTR -reintroduction:RNTR:RNTR -reinvestigated:RNFS:RNFS -reinvestigates:RNFS:RNFS -reinvigorating:RNFK:RNFK -reinvigoration:RNFK:RNFK -rejuvenescence:RJFN:RJFN -rejuvinescence:RJFN:RJFN -relativistical:RLTF:RLTF -relativization:RLTF:RLTF -relentlessness:RLNT:RLNT -relinquishment:RLNK:RLNK -remanufactured:RMNF:RMNF -remanufactures:RMNF:RMNF -remarkableness:RMRK:RMRK -remeasurements:RMSR:RMSR -remilitarizing:RMLT:RMLT -remissibleness:RMSP:RMSP -remodification:RMTF:RMTF -remonetization:RMNT:RMNT -remonstrations:RMNS:RMNS -remorsefulness:RMRS:RMRS -remunerability:RMNR:RMNR -remuneratively:RMNR:RMNR -renegotiations:RNKX:RNKX -renotification:RNTF:RNTF -reorganization:RRKN:RRKN -reorientations:RRNT:RRNT -repartitioning:RPRT:RPRT -repetitiveness:RPTT:RPTT -rephotographed:RFTK:RFTK -replaceability:RPLS:RPLS -reprehensively:RPRH:RPRH -representation:RPRS:RPRS -representative:RPRS:RPRS -repressibility:RPRS:RPRS -repressiveness:RPRS:RPRS -reprobationary:RPRP:RPRP -reproductively:RPRT:RPRT -reproductivity:RPRT:RPRT -reprogrammable:RPRK:RPRK -reprovisioning:RPRF:RPRF -republicanises:RPPL:RPPL -republicanized:RPPL:RPPL -republicanizes:RPPL:RPPL -reputationless:RPTX:RPTX -requisitionary:RKSX:RKSX -requisitioners:RKSX:RKSX -requisitioning:RKSX:RKSX -residentiaries:RSTN:RSTN -respectability:RSPK:RSPK -respectfulness:RSPK:RSPK -respectiveness:RSPK:RSPK -respirometries:RSPR:RSPR -responsibility:RSPN:RSPN -responsiveness:RSPN:RSPN -restauranteurs:RSTR:RSTR -restorableness:RSTR:RSTR -restorationism:RSTR:RSTR -restorationist:RSTR:RSTR -restraightened:RSTR:RSTR -restrengthened:RSTR:RSTR -restrictedness:RSTR:RSTR -restrictionism:RSTR:RSTR -restrictionist:RSTR:RSTR -resubscription:RSPS:RSPS -retinoblastoma:RTNP:RTNP -retractability:RTRK:RTRK -retractibility:RTRK:RTRK -retransferring:RTRN:RTRN -retranslations:RTRN:RTRN -retransmission:RTRN:RTRN -retransmitting:RTRN:RTRN -retrievability:RTRF:RTRF -retrocessional:RTRS:RTRS -retrogradation:RTRK:RTRK -retrogressions:RTRK:RTRK -reunifications:RNFK:RNFK -reupholstering:RFLS:RFLS -reutilizations:RTLS:RTLS -revalorization:RFLR:RFLR -revelationists:RFLX:RFLX -revengefulness:RFNJ:RFNK -reverberations:RFRP:RFRP -reverification:RFRF:RFRF -reversibleness:RFRS:RFRS -revitalization:RFTL:RFTL -revivification:RFFF:RFFF -revolutionists:RFLX:RFLX -revolutionized:RFLX:RFLX -revolutionizer:RFLX:RFLX -revolutionizes:RFLX:RFLX -rheumatoidally:RMTT:RMTT -rheumatologies:RMTL:RMTL -rheumatologist:RMTL:RMTL -rhinencephalic:RNNS:RNNS -rhinencephalon:RNNS:RNNS -rhinopharynges:RNFR:RNFR -rhinopharynxes:RNFR:RNFR -rhinosporidium:RNSP:RNSP -rhizocephalous:RSSF:RSSF -rhombencephala:RMPN:RMPN -ribonucleoside:RPNK:RPNK -ribonucleotide:RPNK:RPNK -rickettsialpox:RKTS:RKTS -ridiculousness:RTKL:RTKL -roadworthiness:RTR0:RTRT -roentgenograph:RNTJ:RNTK -roentgenologic:RNTJ:RNTK -roentgenometry:RNTJ:RNTK -roentgenopaque:RNTJ:RNTK -roentgenoscope:RNTJ:RNTK -roentgenoscopy:RNTJ:RNTK -russianization:RSNS:RSNS -sabbatarianism:SPTR:SPTR -sacchariferous:SXRF:SXRF -saccharimetric:SXRM:SXRM -saccharinities:SXRN:SXRN -saccharometric:SXRM:SXRM -saccharomycete:SXRM:SXRM -sacerdotalised:SSRT:SSRT -sacerdotalists:SSRT:SSRT -sacramentalism:SKRM:SKRM -sacramentalist:SKRM:SKRM -sacrementalism:SKRM:SKRM -sacrementalist:SKRM:SKRM -sacrementality:SKRM:SKRM -sacrilegiously:SKRL:SKRL -sacrococcygeal:SKRK:SKRK -sacrococcygeus:SKRK:SKRK -sacrosanctness:SKRS:SKRS -sacrovertebral:SKRF:SKRF -sadomasochists:STMS:STMS -salicylanilide:SLSL:SLSL -salicylization:SLSL:SLSL -salpingocyeses:SLPN:SLPN -salpingocyesis:SLPN:SLPN -salpingography:SLPN:SLPN -salpingopexies:SLPN:SLPN -salpingoplasty:SLPN:SLPN -salubriousness:SLPR:SLPR -salvageability:SLFJ:SLFK -sanctification:SNKT:SNKT -sanguification:SNKF:SNKF -sanguinariness:SNKN:SNKN -sanitationists:SNTX:SNTX -saponification:SPNF:SPNF -sarcoplasmatic:SRKP:SRKP -satellitoseses:STLT:STLT -satisfaciendum:STSF:STSF -satisfactorily:STSF:STSF -satisfiability:STSF:STSF -saxifragaceous:SKSF:SKSF -scalenectomies:SKLN:SKLN -scandalization:SKNT:SKNT -scandalousness:SKNT:SKNT -scaphocephalic:SKFS:SKFS -scaremongering:SKRM:SKRM -scarlatiniform:SKRL:SKRL -scatterbrained:SKTR:SKTR -schematization:SKMT:SKMT -schismatically:XSMT:XSMT -schistocytoses:XSTS:XSTS -schistocytosis:XSTS:XSTS -schistoglossia:XSTK:XSTK -schizogenously:XSKN:XSKN -schizomycetous:XSMS:XSMS -schizonticidal:XSNT:XSNT -schizophrenics:XSFR:XSFR -schizophyceous:XSFS:XSFS -schizotrypanum:XSTR:XSTR -scholastically:XLST:XLST -schoolchildren:SKLK:SKLK -schoolmistress:SKLM:SKLM -schoolteachers:SKLT:SKLT -schoolteaching:SKLT:SKLT -scientifically:SNTF:SNTF -scintigraphies:SNTK:SNTK -scintillations:SNTL:SNTL -scintiscanning:SNTS:SNTS -scissiparities:SSPR:SSPR -scleroblastema:SKRP:SKRP -scleroblastems:SKRP:SKRP -sclerodactylia:SKRT:SKRT -scleromeninges:SKRM:SKRM -sclerophyllous:SKRF:SKRF -scleroplasties:SKRP:SKRP -scleroproteins:SKRP:SKRP -sclerostenoses:SKRS:SKRS -sclerostenosis:SKRS:SKRS -scrofulodermic:SKFL:SKFL -scrofulousness:SKFL:SKFL -scrupulosities:SKPL:SKPL -scrupulousness:SKPL:SKPL -scrutinisingly:SKTN:SKTN -scrutinizingly:SKTN:SKTN -scullduggeries:SKLT:SKLT -scurrilousness:SKRL:SKRL -seasonableness:SSNP:SSNP -secretaryships:SKRT:SKRT -sectionalizing:SKXN:SKXN -secularization:SKLR:SKLR -secundigravida:SKNT:SKNT -securitization:SKRT:SKRT -segregationist:SKRK:SKRK -seismographers:SSMK:SSMK -selenographers:SLNK:SLNK -semaphorically:SMFR:SMFR -semeiographies:SMKR:SMKR -semiautomatics:SMTM:SMTM -semiautonomous:SMTN:SMTN -semicentennial:SMSN:SMSN -semicircularly:SMSR:SMSR -semiconducting:SMKN:SMKN -semiconduction:SMKN:SMKN -semiconductors:SMKN:SMKN -semidependence:SMTP:SMTP -semielliptical:SMLP:SMLP -semimembranosi:SMMM:SMMM -semimembranous:SMMM:SMMM -seminaufragium:SMNF:SMNF -semiparasitism:SMPR:SMPR -semiretirement:SMRT:SMRT -semisuccessful:SMSK:SMSK -semitendinosus:SMTN:SMTN -sendentariness:SNTN:SNTN -sensationalism:SNSX:SNSX -sensationalist:SNSX:SNSX -sensationalize:SNSX:SNSX -sensualization:SNSL:SNSL -sentimentalism:SNTM:SNTM -sentimentalist:SNTM:SNTM -sentimentality:SNTM:SNTM -sentimentalize:SNTM:SNTM -separativeness:SPRT:SPRT -septuagenarian:SPTJ:SPTK -sequentialized:SKNX:SKNX -sequentializes:SKNX:SKNX -sequestrations:SKST:SKST -sequestrectomy:SKST:SKST -serendipitious:SRNT:SRNT -serializations:SRLS:SRLS -sericulturists:SRKL:SRKL -seriocomically:SRKM:SRKM -serodiagnostic:SRTN:SRTK -seronegativity:SRNK:SRNK -seropositivity:SRPS:SRPS -seroresistance:SRRS:SRRS -serosanguinous:SRSN:SRSN -serviceability:SRFS:SRFS -serviceberries:SRFS:SRFS -servomechanism:SRFM:SRFM -sesamoiditises:SSMT:SSMT -sesquipedalian:SSKP:SSKP -sexcentenaries:SKSN:SKSN -sexduplicating:SKST:SKST -shakespeareans:XKSP:XKSP -shakespearians:XKSP:XKSP -shamefacedness:XMFS:XMFS -shillyshallied:XLXL:XLXL -shortsightedly:XRTS:XRTS -showerproofing:XRPR:XRPR -sialolithiases:SLL0:XLLT -sialolithiasis:SLL0:XLLT -siderofibroses:STRF:STRF -siderofibrosis:STRF:STRF -sigmoidoscopic:SKMT:SKMT -significations:SNFK:SKNF -silicification:SLSF:SLSF -silicofluoride:SLKF:SLKF -silversmithing:SLFR:SLFR -silviculturist:SLFK:SLFK -simplemindedly:SMPL:SMPL -simplification:SMPL:SMPL -simplificative:SMPL:SMPL -simplistically:SMPL:SMPL -simultaneously:SMLT:SMLT -singlehandedly:SNKL:SNKL -sinistralities:SNST:SNST -sinistromanual:SNST:SNST -sinistrorsally:SNST:SNST -siphonapterous:SFNP:SFNP -siphonophorous:SFNF:SFNF -skullduggeries:SKLT:SKLT -slanderousness:SLNT:XLNT -slatternliness:SLTR:XLTR -slaughterhouse:SLFT:XLFT -slipshoddiness:SLPX:XLPX -sluggardliness:SLKR:XLKR -slumberousness:SLMR:XLMR -snaggletoothed:SNKL:XNKL -sociologically:SSLJ:SXLK -sociopolitical:SSPL:SXPL -socioreligious:SSRL:SXRL -sociosexuality:SSSK:SXSK -solecistically:SLSS:SLSS -solenoglyphous:SLNK:SLNK -solicitousness:SLST:SLST -solidification:SLTF:SLTF -solubilization:SLPL:SLPL -somatotypology:SMTT:SMTT -somnambulating:SMNM:SMNM -somnambulation:SMNM:SMNM -somnambulistic:SMNM:SMNM -sophisticating:SFST:SFST -sophistication:SFST:SFST -sophomorically:SFMR:SFMR -soteriological:STRL:STRL -southeasterner:S0ST:STST -southeastwards:S0ST:STST -southwesterner:S0ST:STST -southwestwards:S0ST:STST -spatiotemporal:SPTT:SPTT -specialization:SPSL:SPXL -specifications:SPSF:SPSF -spectrographer:SPKT:SPKT -spectrographes:SPKT:SPKT -spectrographic:SPKT:SPKT -spectrometries:SPKT:SPKT -spectroscopies:SPKT:SPKT -spectroscopist:SPKT:SPKT -speechlessness:SPKL:SPKL -spermateliosis:SPRM:SPRM -spermatocystic:SPRM:SPRM -spermatogenies:SPRM:SPRM -spermatogenous:SPRM:SPRM -spermatogonial:SPRM:SPRM -spermatogonium:SPRM:SPRM -spermatorrhoea:SPRM:SPRM -spermiogeneses:SPRM:SPRM -spermiogenesis:SPRM:SPRM -sphacelodermas:SFSL:SFSL -sphenocephalic:SFNS:SFNS -sphenopalatine:SFNP:SFNP -sphenoparietal:SFNP:SFNP -sphenopetrosal:SFNP:SFNP -sphenoturbinal:SFNT:SFNT -sphincteralgia:SFNK:SFNK -sphincterotomy:SFNK:SFNK -sphygmographic:SFKM:SFKM -spinthariscope:SPN0:SPNT -spiritlessness:SPRT:SPRT -spiritualistic:SPRT:SPRT -spiritualizing:SPRT:SPRT -spirituousness:SPRT:SPRT -spirochaetales:SPRK:SPRX -spirochaetoses:SPRK:SPRX -spirochaetosis:SPRK:SPRX -spirocheticide:SPRX:SPRK -spironolactone:SPRN:SPRN -splanchnocoele:SPLN:SPLN -splanchnoscopy:SPLN:SPLN -splenectomized:SPLN:SPLN -splenectomizes:SPLN:SPLN -splenification:SPLN:SPLN -splenomegalies:SPLN:SPLN -spondylotomies:SPNT:SPNT -spongioblastic:SPNJ:SPNK -spongioplasmic:SPNJ:SPNK -sporadicalness:SPRT:SPRT -sporangiophore:SPRN:SPRN -sporangiospore:SPRN:SPRN -sporotrichoses:SPRT:SPRT -sporotrichosis:SPRT:SPRT -squamocolumnar:SKMK:SKMK -stabilizations:STPL:STPL -stainabilities:STNP:STNP -standardbearer:STNT:STNT -standardizable:STNT:STNT -stapedectomies:STPT:STPT -staphyledemata:STFL:STFL -staphylococcal:STFL:STFL -staphylococcic:STFL:STFL -staphylococcus:STFL:STFL -staphyloplasty:STFL:STFL -staphylotomies:STFL:STFL -stationariness:STXN:STXN -stationmasters:STXN:STXN -statuesqueness:STTS:STTS -statutableness:STTT:STTT -steamrollering:STMR:STMR -steamtightness:STMT:STMT -steeplechasers:STPL:STPL -steeplechasing:STPL:STPL -stenocephalias:STNS:STNS -stenocephalies:STNS:STNS -stenographical:STNK:STNK -steppingstones:STPN:STPN -stercoricolous:STRK:STRK -sterculiaceous:STRK:STRK -stereoblastula:STRP:STRP -stereochemical:STRX:STRK -stereochroming:STRK:STRK -stereoisomeric:STRS:STRS -stereophonical:STRF:STRF -stereoscopical:STRS:STRS -stereospecific:STRS:STRS -stereotactical:STRT:STRT -sterilizations:STRL:STRL -sternofaciales:STRN:STRN -sternofacialis:STRN:STRN -stertorousness:STRT:STRT -stethoscopical:ST0S:STTS -stigmatization:STKM:STKM -stochastically:STXS:STKS -stockbrokerage:STKP:STKP -stoichiometric:STXM:STKM -stomatogastric:STMT:STMT -stomatological:STMT:STMT -stomatologists:STMT:STMT -stoutheartedly:ST0R:STTR -strabismometry:STRP:STRP -straightjacket:STRT:STRT -strangulations:STRN:STRN -straticulation:STRT:STRT -stratification:STRT:STRT -stratificatory:STRT:STRT -streptobacilli:STRP:STRP -streptodornase:STRP:STRP -streptomycetes:STRP:STRP -streptothrices:STRP:STRP -streptothricin:STRP:STRP -stretchability:STRX:STRX -stridulousness:STRT:STRT -strikebreakers:STRK:STRK -strikebreaking:STRK:STRK -strobilization:STRP:STRP -stroboscopical:STRP:STRP -stultification:STLT:STLT -stupendousness:STPN:STPN -stylopharyngei:STLF:STLF -subaponeurotic:SPPN:SPPN -subassociation:SPSS:SPSX -subclassifying:SPKL:SPKL -subcommissions:SPKM:SPKM -subcomputation:SPKM:SPKM -subconsciously:SPKN:SPKN -subcontinental:SPKN:SPKN -subcontracting:SPKN:SPKN -subcontractors:SPKN:SPKN -subcrepitation:SPKR:SPKR -subcutaneously:SPKT:SPKT -subdefinitions:SPTF:SPTF -subdepartments:SPTP:SPTP -subdirectories:SPTR:SPTR -subdisciplines:SPTS:SPTS -subdistinction:SPTS:SPTS -subendocardial:SPNT:SPNT -subendothelial:SPNT:SPNT -subexpressions:SPKS:SPKS -subjectability:SPJK:SPJK -subjectiveness:SPJK:SPJK -subjectivistic:SPJK:SPJK -subjunctivists:SPJN:SPJN -submergibility:SPMR:SPMR -submersibility:SPMR:SPMR -submicroscopic:SPMK:SPMK -subminiaturize:SPMN:SPMN -submissiveness:SPMS:SPMS -suboccipitally:SPXP:SPXP -subordinations:SPRT:SPRT -subparagraphes:SPPR:SPPR -subpartnership:SPPR:SPPR -subplantigrade:SPPL:SPPL -subsequentness:SPSK:SPSK -subsidiariness:SPST:SPST -subsidizations:SPST:SPST -substantialism:SPST:SPST -substantiality:SPST:SPST -substantialize:SPST:SPST -substantiating:SPST:SPST -substantiation:SPST:SPST -substantiative:SPST:SPST -substantivally:SPST:SPST -substitutional:SPST:SPST -substitutively:SPST:SPST -substitutivity:SPST:SPST -subterraneanly:SPTR:SPTR -subversiveness:SPFR:SPFR -successfulness:SKSS:SKSS -successionally:SKSS:SKSS -successiveness:SKSS:SKSS -suggestibility:SKST:SKST -suggestiveness:SKST:SKST -suicidologists:SSTL:SSTL -sulfaguanidine:SLFK:SLFK -sulfamethazine:SLFM:SLFM -sulfamezathine:SLFM:SLFM -sulfhemoglobin:SLFM:SLFM -sulfosalicylic:SLFS:SLFS -sulphacetamide:SLFS:SLFS -sulphacetimide:SLFS:SLFS -sulphafurazole:SLFF:SLFF -sulphamerazine:SLFM:SLFM -sulphanilamide:SLFN:SLFN -sulphapyrazine:SLFP:SLFP -sulphapyridine:SLFP:SLFP -sulphathiazole:SLF0:SLFT -sulphisoxazole:SLFS:SLFS -sulphonmethane:SLFN:SLFN -sulphonylureas:SLFN:SLFN -sulphurization:SLFR:SLFR -sulphurousness:SLFR:SLFR -summarizations:SMRS:SMRS -summersaulters:SMRS:SMRS -summersaulting:SMRS:SMRS -superabduction:SPRP:SPRP -superabundance:SPRP:SPRP -superambitious:SPRM:SPRM -superannuating:SPRN:SPRN -superannuation:SPRN:SPRN -superannuitant:SPRN:SPRN -superannuities:SPRN:SPRN -superciliously:SPRS:SPRS -supercomputers:SPRK:SPRK -superconductor:SPRK:SPRK -superconfident:SPRK:SPRK -supercongested:SPRK:SPRK -supercriminals:SPRK:SPRK -superdifficult:SPRT:SPRT -superdiplomacy:SPRT:SPRT -supereffective:SPRF:SPRF -superefficient:SPRF:SPRF -superelevation:SPRL:SPRL -supereminently:SPRM:SPRM -supererogation:SPRR:SPRR -supererogatory:SPRR:SPRR -superextension:SPRK:SPRK -superficiality:SPRF:SPRF -superfoetation:SPRF:SPRF -superhumanness:SPRM:SPRM -superimportant:SPRM:SPRM -superincumbent:SPRN:SPRN -superinduction:SPRN:SPRN -superinfection:SPRN:SPRN -superinsisting:SPRN:SPRN -superintendent:SPRN:SPRN -superintending:SPRN:SPRN -superlactation:SPRL:SPRL -superluxurious:SPRL:SPRL -supermolecular:SPRM:SPRM -supernaturally:SPRN:SPRN -supernegligent:SPRN:SPRN -supernormality:SPRN:SPRN -superofficious:SPRF:SPRF -superovulating:SPRF:SPRF -superovulation:SPRF:SPRF -superphosphate:SPRF:SPRF -superpositions:SPRP:SPRP -superpotencies:SPRP:SPRP -superrighteous:SPRT:SPRT -supersarcastic:SPRS:SPRS -supersaturated:SPRS:SPRS -supersaturates:SPRS:SPRS -superscripting:SPRS:SPRS -superscription:SPRS:SPRS -superseniority:SPRS:SPRS -supersensitive:SPRS:SPRS -supersonically:SPRS:SPRS -superstructure:SPRS:SPRS -supervisorship:SPRF:SPRF -supplementally:SPLM:SPLM -supplicatingly:SPLK:SPLK -supportability:SPRT:SPRT -supportiveness:SPRT:SPRT -supposititious:SPST:SPST -suprachoroidal:SPRK:SPRK -suprachoroidea:SPRK:SPRK -supraliminally:SPRL:SPRL -supramaxillaes:SPRM:SPRM -supramaxillary:SPRM:SPRM -supramolocular:SPRM:SPRM -supraoccipital:SPRX:SPRX -supraocclusion:SPRK:SPRK -suprascapulaes:SPRS:SPRS -suprasegmental:SPRS:SPRS -suprastapedial:SPRS:SPRS -supratentorial:SPRT:SPRT -supratonsillar:SPRT:SPRT -supratrochlear:SPRT:SPRT -surefootedness:SRFT:SRFT -surprisingness:SRPR:SRPR -surrealistical:SRLS:SRLS -sursumvergence:SRSM:SRSM -susceptibility:SSPT:SSPT -suspendibility:SSPN:SSPN -suspensibility:SSPN:SSPN -suspensiveness:SSPN:SSPN -suspiciousness:SSPS:SSPX -symbolicalness:SMPL:SMPL -symbolizations:SMPL:SMPL -symmetrization:SMTR:SMTR -sympathizingly:SMP0:SMPT -symptomatology:SMPT:SMPT -synanastomoses:SNNS:SNNS -synanastomosis:SNNS:SNNS -synchondrotomy:SNXN:SNKN -synchronically:SNXR:SNKR -syncretization:SNKR:SNKR -syndesmotomies:SNTS:SNTS -synergetically:SNRK:SNRK -synonymousness:SNNM:SNNM -synostotically:SNST:SNST -synthesization:SN0S:SNTS -syntrophoblast:SNTR:SNTR -syphilitically:SFLT:SFLT -syphilodermata:SFLT:SFLT -syphilographer:SFLK:SFLK -syphilologists:SFLL:SFLL -syphilotherapy:SFL0:SFLT -systematically:SSTM:SSTM -tablespoonfuls:TPLS:TPLS -tablespoonsful:TPLS:TPLS -tachistoscopic:TXST:TKST -taeniarhynchus:TNRN:TNRN -tarsorrhaphies:TRSR:TRSR -tatterdemalion:TTRT:TTRT -tautologically:TTLJ:TTLK -technicalities:TKNK:TKNK -tectocephalies:TKTS:TKTS -telangiectases:TLNJ:TLNK -telangiectasia:TLNJ:TLNK -telangiectasis:TLNJ:TLNK -telangiectatic:TLNJ:TLNK -telecardiogram:TLKR:TLKR -telemetrically:TLMT:TLMT -teleologically:TLLJ:TLLK -telepathically:TLP0:TLPT -telephonically:TLFN:TLFN -telephotograph:TLFT:TLFT -teleprocessing:TLPR:TLPR -telescopically:TLSK:TLSK -teletypewriter:TLTP:TLTP -televisionally:TLFS:TLFX -tendovaginitis:TNTF:TNTF -tenontomyotomy:TNNT:TNNT -teratoblastoma:TRTP:TRTP -tercentenaries:TRSN:TRSN -tercentennials:TRSN:TRSN -terebinthinate:TRPN:TRPN -tergiversating:TRJF:TRKF -tergiversation:TRJF:TRKF -terminological:TRMN:TRMN -terminologists:TRMN:TRMN -terotechnology:TRTK:TRTK -territorialism:TRTR:TRTR -territorialist:TRTR:TRTR -territoriality:TRTR:TRTR -territorialize:TRTR:TRTR -testamentarily:TSTM:TSTM -testudinarious:TSTT:TSTT -tetrachlorides:TTRK:TTRK -tetradactylous:TTRT:TTRT -tetragonalness:TTRK:TTRK -tetraodontoxin:TTRT:TTRT -thalassophobia:0LSF:TLSF -thaumaturgical:0MTR:TMTR -thaumaturgists:0MTR:TMTR -theatricalized:0TRK:TTRK -theatricalizes:0TRK:TTRK -theatricalness:0TRK:TTRK -thecostegnoses:0KST:TKST -thecostegnosis:0KST:TKST -theocentricity:0SNT:TSNT -theocratically:0KRT:TKRT -theologization:0LJS:TLKS -theosophically:0SFK:TSFK -therianthropic:0RN0:TRNT -thermaesthesia:0RMS:TRMS -thermalization:0RML:TRML -thermatologies:0RMT:TRMT -thermochemical:0RMX:TRMK -thermodilution:0RMT:TRMT -thermodynamics:0RMT:TRMT -thermoelectric:0RML:TRML -thermoelectron:0RML:TRML -thermoexcitory:0RMK:TRMK -thermographies:0RMK:TRMK -thermomagnetic:0RMM:TRMM -thermometrical:0RMM:TRMM -thermoneuroses:0RMN:TRMN -thermoneurosis:0RMN:TRMN -thermoplastics:0RMP:TRMP -thermopolypnea:0RMP:TRMP -thermoreceptor:0RMR:TRMR -thermostatical:0RMS:TRMS -thermostereses:0RMS:TRMS -thermosteresis:0RMS:TRMS -thermostromuhr:0RMS:TRMS -thiazolsulfone:0SLS:TSLS -thimbleriggers:0MPL:TMPL -thoracectomies:0RSK:TRSK -thoracopaguses:0RKP:TRKP -thoracoschises:0RKX:TRKX -thoracoschisis:0RKX:TRKX -thoracoscopies:0RKS:TRKS -thoracostomies:0RKS:TRKS -thoughtfulness:0TFL:TTFL -threadbareness:0RTP:TRTP -thriftlessness:0RFT:TRFT -thrombasthenia:0RMP:TRMP -thrombectomies:0RMP:TRMP -thromboclastic:0RMP:TRMP -thrombocytoses:0RMP:TRMP -thrombocytosis:0RMP:TRMP -thromboembolic:0RMP:TRMP -thrombopathies:0RMP:TRMP -thromboplastic:0RMP:TRMP -thromboplastin:0RMP:TRMP -thrombopoieses:0RMP:TRMP -thrombopoiesis:0RMP:TRMP -thundershowers:0NTR:TNTR -thymectomizing:0MKT:TMKT -thyroarytenoid:0RRT:TRRT -thyrocricotomy:0RKR:TRKR -thyroidotomies:0RTT:TRTT -thyrotoxicoses:0RTK:TRTK -thyrotoxicosis:0RTK:TRTK -thyrotrophical:0RTR:TRTR -tintinabulated:TNTN:TNTN -tittletattlers:TTLT:TTLT -tittletattling:TTLT:TTLT -tonsillotomies:TNSL:TNSL -toxigenicities:TKSJ:TKSK -tracheloplasty:TRXL:TRKL -trachelotomies:TRXL:TRKL -tracheophonies:TRXF:TRKF -tracheorrhagia:TRXR:TRKR -tracheoschises:TRXX:TRKX -tracheoschisis:TRXX:TRKX -tracheoscopies:TRXS:TRKS -tracheostomies:TRXS:TRKS -tracheotomized:TRXT:TRKT -tracheotomizes:TRXT:TRKT -traditionalism:TRTX:TRTX -traditionalist:TRTX:TRTX -traditionality:TRTX:TRTX -traditionalize:TRTX:TRTX -tragicomically:TRJK:TRKK -tragomaschalia:TRKM:TRKM -traitorousness:TRTR:TRTR -tranquillisers:TRNK:TRNK -tranquillizing:TRNK:TRNK -transabdominal:TRNS:TRNS -transacetylase:TRNS:TRNS -transaminating:TRNS:TRNS -transamination:TRNS:TRNS -transanimation:TRNS:TRNS -transcendental:TRNS:TRNS -transcendently:TRNS:TRNS -transcendingly:TRNS:TRNS -transcriptions:TRNS:TRNS -transcutaneous:TRNS:TRNS -transferential:TRNS:TRNS -transformation:TRNS:TRNS -transformative:TRNS:TRNS -transgressions:TRNS:TRNS -transistorized:TRNS:TRNS -transistorizes:TRNS:TRNS -transitionally:TRNS:TRNS -transitiveness:TRNS:TRNS -transitoriness:TRNS:TRNS -transliterated:TRNS:TRNS -transliterates:TRNS:TRNS -transliterator:TRNS:TRNS -translucencies:TRNS:TRNS -transmigrating:TRNS:TRNS -transmigration:TRNS:TRNS -transmigrative:TRNS:TRNS -transmigrators:TRNS:TRNS -transmigratory:TRNS:TRNS -transmissively:TRNS:TRNS -transmissivity:TRNS:TRNS -transmittances:TRNS:TRNS -transmogrified:TRNS:TRNS -transmogrifier:TRNS:TRNS -transmogrifies:TRNS:TRNS -transmutations:TRNS:TRNS -transparencies:TRNS:TRNS -transplacental:TRNS:TRNS -transplantable:TRNS:TRNS -transportation:TRNS:TRNS -transpositions:TRNS:TRNS -transsegmental:TRNS:TRNS -transsexualism:TRNS:TRNS -transvaluation:TRNS:TRNS -transverseness:TRNS:TRNS -transvestitism:TRNS:TRNS -traumatization:TRMT:TRMT -traumatologies:TRMT:TRMT -treatabilities:TRTP:TRTP -tremendousness:TRMN:TRMN -treponematoses:TRPN:TRPN -treponematosis:TRPN:TRPN -treponemicidal:TRPN:TRPN -triangulations:TRNK:TRNK -tribomoethanol:TRPM:TRPM -tricentennials:TRSN:TRSN -trichinization:TRXN:TRKN -trichloracetic:TRXL:TRKL -trichobacteria:TRXP:TRKP -trichocephalus:TRXS:TRKS -trichoesthesia:TRXS:TRKS -trichomonacide:TRXM:TRKM -trichomoniases:TRXM:TRKM -trichomoniasis:TRXM:TRKM -trichophytosis:TRXF:TRKF -trichoptiloses:TRXP:TRKP -trichoptilosis:TRXP:TRKP -trichosporoses:TRXS:TRKS -trichosporosis:TRXS:TRKS -trichotomously:TRXT:TRKT -trichuriasesed:TRXR:TRKR -trichuriasiser:TRXR:TRKR -trigonocephaly:TRKN:TRKN -trimethylamine:TRM0:TRMT -trinitarianism:TRNT:TRNT -trinitrocresol:TRNT:TRNT -trinitrophenol:TRNT:TRNT -trinitrotoluol:TRNT:TRNT -tripelennamine:TRPL:TRPL -triphosphatase:TRFS:TRFS -trisoctahedral:TRSK:TRSK -trisoctahedron:TRSK:TRSK -trivialization:TRFL:TRFL -trochleariform:TRKL:TRKL -trochocephalia:TRXS:TRKS -trophodynamics:TRFT:TRFT -trophoneuroses:TRFN:TRFN -trophoneurosis:TRFN:TRFN -trophoneurotic:TRFN:TRFN -trophospongium:TRFS:TRFS -troubleshooter:TRPL:TRPL -trustification:TRST:TRST -trustworthiest:TRST:TRST -trypsinization:TRPS:TRPS -tubectomiesers:TPKT:TPKT -tubectomiesing:TPKT:TPKT -tuberculocidal:TPRK:TPRK -tuberculoderma:TPRK:TPRK -tuboperitoneal:TPPR:TPPR -tumorigenicity:TMRJ:TMRK -tumourigeneses:TMRJ:TMRK -tumourigenesis:TMRJ:TMRK -tumultuousness:TMLT:TMLT -turbidimetries:TRPT:TRPT -turbinectomies:TRPN:TRPN -turbogenerator:TRPJ:TRPK -turricephalies:TRSF:TRSF -tympanomastoid:TMPN:TMPN -typhloempyemas:TFLM:TFLM -typhlomegalies:TFLM:TFLM -typhopneumonia:TFPN:TFPN -tyrannicalness:TRNK:TRNK -ubiquitousness:APKT:APKT -ultimogeniture:ALTM:ALTM -ultrahazardous:ALTR:ALTR -ultramicrotome:ALTR:ALTR -ultramodernism:ALTR:ALTR -ultramodernist:ALTR:ALTR -ultrasonically:ALTR:ALTR -ultrastructure:ALTR:ALTR -umbrageousness:AMPR:AMPR -unacclimatized:ANKL:ANKL -unaccommodated:ANKM:ANKM -unaccomplished:ANKM:ANKM -unacknowledged:ANKN:ANKN -unadministered:ANTM:ANTM -unadvantageous:ANTF:ANTF -unaffectedness:ANFK:ANFK -unaffectionate:ANFK:ANFK -unalienability:ANLN:ANLN -unalphabetized:ANLF:ANLF -unalterability:ANLT:ANLT -unanesthetized:ANNS:ANNS -unapologetical:ANPL:ANPL -unappetisingly:ANPT:ANPT -unappetizingly:ANPT:ANPT -unappreciative:ANPR:ANPR -unapprehensive:ANPR:ANPR -unapproachable:ANPR:ANPR -unapproachably:ANPR:ANPR -unappropriated:ANPR:ANPR -unarticulately:ANRT:ANRT -unassumingness:ANSM:ANSM -unattractively:ANTR:ANTR -unauthenticate:AN0N:ANTN -unavailability:ANFL:ANFL -unavoidability:ANFT:ANFT -unbearableness:ANPR:ANPR -unbecomingness:ANPK:ANPK -unblushingness:ANPL:ANPL -unbusinesslike:ANPS:ANPS -unclassifiable:ANKL:ANKL -uncommissioned:ANKM:ANKM -uncommunicable:ANKM:ANKM -uncomprehended:ANKM:ANKM -uncompromising:ANKM:ANKM -unconformities:ANKN:ANKN -unconscionable:ANKN:ANKN -unconscionably:ANKN:ANKN -unconsolidated:ANKN:ANKN -uncontaminated:ANKN:ANKN -uncontradicted:ANKN:ANKN -uncontrollable:ANKN:ANKN -uncontrollably:ANKN:ANKN -uncontroverted:ANKN:ANKN -unconventional:ANKN:ANKN -unconvincingly:ANKN:ANKN -uncorroborated:ANKR:ANKR -uncrystallized:ANKR:ANKR -undecidability:ANTS:ANTS -undecipherable:ANTS:ANTS -undecomposable:ANTK:ANTK -undefinability:ANTF:ANTF -undemocratical:ANTM:ANTM -undemonstrable:ANTM:ANTM -undemonstrably:ANTM:ANTM -undeniableness:ANTN:ANTN -underachievers:ANTR:ANTR -underachieving:ANTR:ANTR -undercarriages:ANTR:ANTR -underdeveloped:ANTR:ANTR -underemphasize:ANTR:ANTR -underestimated:ANTR:ANTR -underestimates:ANTR:ANTR -underexposures:ANTR:ANTR -underfinancing:ANTR:ANTR -undergraduates:ANTR:ANTR -underinsurance:ANTR:ANTR -undermentioned:ANTR:ANTR -undernourished:ANTR:ANTR -undernourishes:ANTR:ANTR -undernutrition:ANTR:ANTR -underofficials:ANTR:ANTR -underpopulated:ANTR:ANTR -underprivilege:ANTR:ANTR -underproducing:ANTR:ANTR -undersecretary:ANTR:ANTR -understandable:ANTR:ANTR -understandably:ANTR:ANTR -understandings:ANTR:ANTR -understatement:ANTR:ANTR -undersupplying:ANTR:ANTR -undertenancies:ANTR:ANTR -undervaluation:ANTR:ANTR -undesirability:ANTS:ANTS -undeterminable:ANTT:ANTT -undiplomatical:ANTP:ANTP -undiscoverable:ANTS:ANTS -undiscriminate:ANTS:ANTS -undomesticated:ANTM:ANTM -uneconomically:ANKN:ANKN -unencapsulated:ANNK:ANNK -unenfranchised:ANNF:ANNF -unenlightening:ANNL:ANNL -unenterprising:ANNT:ANNT -unentertaining:ANNT:ANNT -unenthusiastic:ANN0:ANNT -uneventfulness:ANFN:ANFN -unexchangeable:ANKS:ANKS -unexpectedness:ANKS:ANKS -unextinguished:ANKS:ANKS -unfaithfulness:ANF0:ANFT -unflappability:ANFL:ANFL -unfriendliness:ANFR:ANFR -unfruitfulness:ANFR:ANFR -ungraciousness:ANKR:ANKR -ungratefulness:ANKR:ANKR -unharmoniously:ANRM:ANRM -unhesitatingly:ANST:ANST -unicellularity:ANSL:ANSL -unidentifiable:ANTN:ANTN -unidirectional:ANTR:ANTR -uniformitarian:ANFR:ANFR -unilluminating:ANLM:ANLM -unimpressively:ANMP:ANMP -unincorporated:ANNK:ANNK -unintellectual:ANNT:ANNT -unintelligence:ANNT:ANNT -unintelligible:ANNT:ANNT -unintelligibly:ANNT:ANNT -uninterestedly:ANNT:ANNT -uninvestigated:ANNF:ANNF -universalizing:ANFR:ANFR -unknowledgable:ANKN:ANKN -unmaintainable:ANMN:ANMN -unmannerliness:ANMN:ANMN -unmanufactured:ANMN:ANMN -unmarriageable:ANMR:ANMR -unmentionables:ANMN:ANMN -unmerchantable:ANMR:ANMR -unmercifulness:ANMR:ANMR -unoppressively:ANPR:ANPR -unostentatious:ANST:ANST -unperceptively:ANPR:ANPR -unpersuasively:ANPR:ANPR -unpleasantness:ANPL:ANPL -unpossessively:ANPS:ANPS -unprejudicedly:ANPR:ANPR -unpremeditated:ANPR:ANPR -unpreparedness:ANPR:ANPR -unpresumptuous:ANPR:ANPR -unproductively:ANPR:ANPR -unprofessional:ANPR:ANPR -unpropitiously:ANPR:ANPR -unprotestingly:ANPR:ANPR -unquantifiable:ANKN:ANKN -unquestionable:ANKS:ANKS -unquestionably:ANKS:ANKS -unreciprocated:ANRS:ANRS -unrecognisably:ANRK:ANRK -unrecognizable:ANRK:ANRK -unrecognizably:ANRK:ANRK -unreconcilable:ANRK:ANRK -unreconcilably:ANRK:ANRK -unreflectingly:ANRF:ANRF -unreflectively:ANRF:ANRF -unrefrigerated:ANRF:ANRF -unregenerately:ANRJ:ANRK -unrelinquished:ANRL:ANRL -unremorsefully:ANRM:ANRM -unremunerative:ANRM:ANRM -unreservedness:ANRS:ANRS -unrespectfully:ANRS:ANRS -unresponsively:ANRS:ANRS -unrestrainedly:ANRS:ANRS -unrestrictedly:ANRS:ANRS -unromantically:ANRM:ANRM -unromanticized:ANRM:ANRM -unsatisfactory:ANST:ANST -unscientifical:ANSN:ANSN -unscrupulously:ANSK:ANSK -unseasonedness:ANSS:ANSS -unshakableness:ANXK:ANXK -unskillfulness:ANSK:ANSK -unspecifically:ANSP:ANSP -unstandardized:ANST:ANST -unsubstantiate:ANSP:ANSP -unsuccessfully:ANSK:ANSK -unsuitableness:ANST:ANST -unsuppressible:ANSP:ANSP -unsurmountable:ANSR:ANSR -unsurmountably:ANSR:ANSR -unsurprisingly:ANSR:ANSR -unsuspectingly:ANSS:ANSS -unsuspiciously:ANSS:ANSS -unsynchronized:ANSN:ANSN -unsystematical:ANSS:ANSS -unsystematized:ANSS:ANSS -unthinkability:AN0N:ANTN -unthinkingness:AN0N:ANTN -unthoughtfully:AN0T:ANTT -untouchability:ANTX:ANTK -untransferable:ANTR:ANTR -untranslatable:ANTR:ANTR -untruthfulness:ANTR:ANTR -uproariousness:APRR:APRR -upstandingness:APST:APST -uranoschisises:ARNX:ARNX -ureterectomies:ARTR:ARTR -ureteroenteric:ARTR:ARTR -ureteropathies:ARTR:ARTR -ureterorrhagia:ARTR:ARTR -ureterorrhaphy:ARTR:ARTR -ureterostomies:ARTR:ARTR -ureterovaginal:ARTR:ARTR -ureterovesical:ARTR:ARTR -urethrectomies:AR0R:ARTR -urethrorrhaphy:AR0R:ARTR -urethroscopies:AR0R:ARTR -urethrostomies:AR0R:ARTR -urethrovaginal:AR0R:ARTR -urticariogenic:ARTK:ARTK -usufructuaries:ASFR:ASFR -uteroabdominal:ATRP:ATRP -uterogestation:ATRJ:ATRK -utilitarianism:ATLT:ATLT -vaccinotherapy:FXN0:FXNT -vaginofixation:FJNF:FKNF -vaginoplasties:FJNP:FKNP -valedictorians:FLTK:FLTK -valerianaceous:FLRN:FLRN -valetudinarian:FLTT:FLTT -varicographies:FRKK:FRKK -varicomphallus:FRKM:FRKM -variolovaccine:FRLF:FRLF -vasoactivities:FSKT:FSKT -vasodilatation:FSTL:FSTL -vasoinhibitory:FSNP:FSNP -vegetativeness:FKTT:FKTT -venerativeness:FNRT:FNRT -venereological:FNRL:FNRL -venereologists:FNRL:FNRL -venomosalivary:FNMS:FNMS -ventricolumnae:FNTR:FNTR -ventriculogram:FNTR:FNTR -ventriculotomy:FNTR:FNTR -ventriloquised:FNTR:FNTR -ventriloquists:FNTR:FNTR -ventrofixation:FNTR:FNTR -ventromedially:FNTR:FNTR -verbalizations:FRPL:FRPL -verifiableness:FRFP:FRFP -verisimilitude:FRSM:FRSM -vernacularised:FRNK:FRNK -versifications:FRSF:FRSF -vertebrocostal:FRTP:FRTP -vertebrosacral:FRTP:FRTP -verticillaster:FRTS:FRTS -verumontanitis:FRMN:FRMN -vesicocervical:FSKS:FSKS -vesiculography:FSKL:FSKL -vesiculotomies:FSKL:FSKL -victimizations:FKTM:FKTM -victoriousness:FKTR:FKTR -villainousness:FLNS:FLNS -villusectomies:FLSK:FLSK -vindictiveness:FNTK:FNTK -violoncellists:FLNS:FLNS -viscerosensory:FSRS:FSRS -viscerotropism:FSRT:FSRT -viscosimetries:FSKS:FSKS -visualizations:FSLS:FSLS -vitaminization:FTMN:FTMN -vitaminologies:FTMN:FTMN -vitellogeneses:FTLJ:FTLK -vitellogenesis:FTLJ:FTLK -viticulturists:FTKL:FTKL -vitrifiability:FTRF:FTRF -vitriolization:FTRL:FTRL -vituperatively:FTPR:FTPR -viviparousness:FFPR:FFPR -vivisectionist:FFSK:FFSK -vociferousness:FSFR:FSFR -volatilization:FLTL:FLTL -volcanological:FLKN:FLKN -volcanologists:FLKN:FLKN -volumetrically:FLMT:FLMT -voluminousness:FLMN:FLMN -voluptuousness:FLPT:FLPT -vulcanological:FLKN:FLKN -vulgarizations:FLKR:FLKR -vulnerableness:FLNR:FLNR -vulvovaginitis:FLFF:FLFF -walpurgisnight:ALPR:FLPR -warrantability:ARNT:FRNT -washingtonians:AXNK:FXNK -watertightness:ATRT:FTRT -weatherability:A0RP:FTRP -weatherglasses:A0RK:FTRK -weatherproofed:A0RP:FTRP -weightlessness:ATLS:FTLS -weltanschauung:ALTN:FLTN -westernization:ASTR:FSTR -wheelbarrowing:ALPR:ALPR -whippersnapper:APRS:APRS -wholeheartedly:ALHR:ALHR -whortleberries:ARTL:ARTL -worcestershire:ARSS:FRSS -wordprocessing:ARTP:FRTP -wordprocessors:ARTP:FRTP -worshipfulness:ARXP:FRXP -worthwhileness:AR0L:FRTL -xanthophyllous:SN0F:SNTF -xenodiagnostic:SNTN:SNTK -xerophytically:SRFT:SRFT -zingiberaceous:SNJP:SNKP -zoogeographies:SJKR:SKKR -zoopathologies:SP0L:SPTL -zoroastrianism:SRST:SRST -zymohydrolyses:SMHT:SMHT -zymohydrolysis:SMHT:SMHT -zyogodactylies:SKTK:SKTK -abdominovesical:APTM:APTM -abstractionists:APST:APST -academicianship:AKTM:AKTM -acanthocephalan:AKN0:AKNT -acarodermatitis:AKRT:AKRT -acclimatization:AKLM:AKLM -acclivitousness:AKLF:AKLF -accommodatingly:AKMT:AKMT -accommodational:AKMT:AKMT -accommodatively:AKMT:AKMT -accomplishments:AKMP:AKMP -accountableness:AKNT:AKNT -acculturational:AKLT:AKLT -acetophenetidin:ASTF:ASTF -acetylsalicylic:ASTL:ASTL -achillobursitis:AXLP:AKLP -achroiocythemia:AKRS:AKRS -achromatophilia:AKRM:AKRM -acknowledgeable:AKNL:AKNL -acknowledgement:AKNL:AKNL -acknowledgments:AKNL:AKNL -acquisitiveness:AKST:AKST -acrimoniousness:AKRM:AKRM -acroparesthesia:AKRP:AKRP -acropathologies:AKRP:AKRP -actinochemistry:AKTN:AKTN -actinomycetales:AKTN:AKTN -actinospectacin:AKTN:AKTN -actinotherapies:AKTN:AKTN -addressographed:ATRS:ATRS -adenocarcinomas:ATNK:ATNK -adenohypophyses:ATNH:ATNH -adenohypophysis:ATNH:ATNH -adenoidectomies:ATNT:ATNT -adiathermancies:AT0R:ATTR -administrations:ATMN:ATMN -adrenalcortical:ATRN:ATRN -adrenalectomies:ATRN:ATRN -adrenalectomize:ATRN:ATRN -adumbrativeness:ATMP:ATMP -adventurousness:ATFN:ATFN -aerodynamically:ARTN:ARTN -affirmativeness:AFRM:AFRM -afibrinogenemia:AFPR:AFPR -afterimpression:AFTR:AFTR -agglutinability:AKLT:AKLT -agglutinatively:AKLT:AKLT -aggrandisements:AKRN:AKRN -aggrandizements:AKRN:AKRN -agranulocytoses:AKRN:AKRN -agranulocytosis:AKRN:AKRN -agriculturalist:AKRK:AKRK -algorithmically:ALKR:ALKR -alimentotherapy:ALMN:ALMN -allelocatalyses:ALLK:ALLK -allelocatalysis:ALLK:ALLK -allelocatalytic:ALLK:ALLK -allotriophagies:ALTR:ALTR -alphabetization:ALFP:ALFP -alternativeness:ALTR:ALTR -alveoloplasties:ALFL:ALFL -ambassadorships:AMPS:AMPS -ambidexterities:AMPT:AMPT -ambisexualities:AMPS:AMPS -americanization:AMRK:AMRK -amphiarthrodial:AMFR:AMFR -amphidiploidies:AMFT:AMFT -amphimictically:AMFM:AMFM -amphitheatrical:AMF0:AMFT -anachronistical:ANKR:ANKR -anaesthesiology:ANS0:ANST -anaesthetically:ANS0:ANST -ancylostomiases:ANSL:ANSL -ancylostomiasis:ANSL:ANSL -androstenedione:ANTR:ANTR -anesthetization:ANS0:ANST -anfractuosities:ANFR:ANFR -angioblastomata:ANJP:ANKP -angioscotometry:ANJS:ANKS -ankylostomiases:ANKL:ANKL -ankylostomiasis:ANKL:ANKL -antaphrodisiacs:ANTF:ANTF -antepenultimate:ANTP:ANTP -anteroposterior:ANTR:ANTR -anthropocentric:AN0R:ANTR -anthropogeneses:AN0R:ANTR -anthropogenesis:AN0R:ANTR -anthropogenetic:AN0R:ANTR -anthropological:AN0R:ANTR -anthropologists:AN0R:ANTR -anthropometries:AN0R:ANTR -anthropometrist:AN0R:ANTR -anthropomorphic:AN0R:ANTR -anthropopathies:AN0R:ANTR -anthropophagies:AN0R:ANTR -anthropophagous:AN0R:ANTR -anthroposophies:AN0R:ANTR -anthroposophist:AN0R:ANTR -antiabortionist:ANXP:ANXP -antianaphylaxes:ANXN:ANXN -antianaphylaxis:ANXN:ANXN -anticapitalists:ANTK:ANTK -anticholinergic:ANTX:ANTK -anticlericalism:ANTK:ANTK -anticlimactical:ANTK:ANTK -anticoagulating:ANTK:ANTK -anticoagulation:ANTK:ANTK -anticoagulative:ANTK:ANTK -anticompetitive:ANTK:ANTK -anticonvulsants:ANTK:ANTK -antidepressants:ANTT:ANTT -antilogarithmic:ANTL:ANTL -antilymphocytic:ANTL:ANTL -antimilitarists:ANTM:ANTM -antimonarchical:ANTM:ANTM -antimonarchists:ANTM:ANTM -antinationalist:ANTN:ANTN -antinuclearists:ANTN:ANTN -antiperistalses:ANTP:ANTP -antiperistalsis:ANTP:ANTP -antiperistaltic:ANTP:ANTP -antiperspirants:ANTP:ANTP -antipornography:ANTP:ANTP -antiprohibition:ANTP:ANTP -antiprothrombin:ANTP:ANTP -antipsychiatric:ANTP:ANTP -antirationalism:ANTR:ANTR -antirationalist:ANTR:ANTR -antisepticizing:ANTS:ANTS -antisymmetrical:ANTS:ANTS -antitrinitarian:ANTT:ANTT -antituberculous:ANTT:ANTT -antivivisection:ANTF:ANTF -apiculturalists:APKL:APKL -apocalyptically:APKL:APKL -apotheosization:AP0S:APTS -applicabilities:APLK:APLK -apprenticeships:APRN:APRN -approachability:APRX:APRK -approbriousness:APRP:APRP -appropriateness:APRP:APRP -approximatively:APRK:APRK -archeologically:ARXL:ARKL -architecturally:ARKT:ARKT -areographically:ARKR:ARKR -argumentatively:ARKM:ARKM -ariboflavinoses:ARPF:ARPF -ariboflavinosis:ARPF:ARPF -aromatherapists:ARM0:ARMT -arrhenoblastoma:ARNP:ARNP -arrondissements:ARNT:ARNT -arsenotherapies:ARSN:ARSN -arterialization:ARTR:ARTR -arteriographies:ARTR:ARTR -arterionecroses:ARTR:ARTR -arterionecrosis:ARTR:ARTR -arterioplasties:ARTR:ARTR -arteriostenoses:ARTR:ARTR -arteriostenosis:ARTR:ARTR -arthrokatadyses:AR0R:ARTR -arthrokatadysis:AR0R:ARTR -artificialities:ARTF:ARTF -arytenoidectomy:ARTN:ARTN -astrobiological:ASTR:ASTR -astrobiologists:ASTR:ASTR -astroblastomata:ASTR:ASTR -astrogeologists:ASTR:ASTR -astronautically:ASTR:ASTR -astrophysicists:ASTR:ASTR -atheroscleroses:A0RS:ATRS -atherosclerosis:A0RS:ATRS -atherosclerotic:A0RS:ATRS -atmospherically:ATMS:ATMS -atticoantrotomy:ATKN:ATKN -attributiveness:ATRP:ATRP -aurothioglucose:AR0K:ARTK -authentications:A0NT:ATNT -authoritatively:A0RT:ATRT -autoagglutinnin:ATKL:ATKL -autobiographers:ATPK:ATPK -autobiographies:ATPK:ATPK -autochthonously:ATK0:ATKT -autocorrelation:ATKR:ATKR -autocorrelogram:ATKR:ATKR -autographically:ATKR:ATKR -autohemotherapy:ATHM:ATHM -autoinoculation:ATNK:ATNK -autoradiography:ATRT:ATRT -autosuggestions:ATSK:ATSK -autotetraploidy:ATTT:ATTT -autotransformer:ATTR:ATTR -aviculturalists:AFKL:AFKL -axiomatizations:AKSM:AKSM -bacteriological:PKTR:PKTR -bacteriologists:PKTR:PKTR -bacteriophagous:PKTR:PKTR -balanoposthitis:PLNP:PLNP -balneotherapies:PLN0:PLNT -basidiomycetous:PSTM:PSTM -bastardizations:PSTR:PSTR -bathometrically:PTMT:PTMT -beautifications:PTFK:PTFK -bibliographical:PPLK:PPLK -bibliophilistic:PPLF:PPLF -bibliotherapies:PPL0:PPLT -bibliotherapist:PPL0:PPLT -bidirectionally:PTRK:PTRK -bioastronautics:PSTR:PSTR -bioautographies:PTKR:PTKR -biogeochemistry:PJXM:PKKM -biogeographical:PJKR:PKKR -bioluminescence:PLMN:PLMN -biomicroscopies:PMKR:PMKR -biophysiography:PFSK:PFXK -biopsychologies:PPSX:PPSK -biorhythmically:PR0M:PRTM -biotechnologies:PTKN:PTKN -bisymmetrically:PSMT:PSMT -blameworthiness:PLMR:PLMR -blasphemousness:PLSF:PLSF -blastoneuropore:PLST:PLST -blastophthorias:PLST:PLST -blastophthories:PLST:PLST -blepharoplastic:PLFR:PLFR -blockheadedness:PLKT:PLKT -bloodcurdlingly:PLTK:PLTK -bloodthirstiest:PLTR:PLTR -bothriocephalus:P0RS:PTRS -bougainvillaeas:PKNF:PKNF -bowdlerizations:PTLR:PTLR -brachycephalies:PRKS:PRKS -brachycephalism:PRKS:PRKS -brachycephalous:PRKS:PRKS -brachydactylias:PRKT:PRKT -brachydactylies:PRKT:PRKT -brachydactylism:PRKT:PRKT -brachydactylous:PRKT:PRKT -bronchographies:PRNX:PRNK -bronchoscopists:PRNX:PRNK -bronchostenoses:PRNX:PRNK -bronchostenosis:PRNX:PRNK -buckinghamshire:PKNK:PKNK -bulbocavernosus:PLPK:PLPK -bureaucratizing:PRKR:PRKR -burglarproofing:PRKL:PRKL -byssinosescaapi:PSNS:PSNS -cacodemonomania:KKTM:KKTM -calculabilities:KLKL:KLKL -cannibalistical:KNPL:KNPL -cannibalization:KNPL:KNPL -capillarectasia:KPLR:KPLR -capillarioscopy:KPLR:KPLR -capitalizations:KPTL:KPTL -caprifoliaceous:KPRF:KPRF -carbohemoglobin:KRPH:KRPH -carbohydraturia:KRPH:KRPH -carcinogenicity:KRSN:KRSN -carcinosarcomas:KRSN:KRSN -cardiopneumatic:KRTP:KRTP -cardiopulmonary:KRTP:KRTP -cardiorrhaphies:KRTR:KRTR -cardiotherapies:KRT0:KRTT -carnivorousness:KRNF:KRNF -carpometacarpal:KRPM:KRPM -carpometacarpus:KRPM:KRPM -carpophalangeal:KRPF:KRPF -cataclysmically:KTKL:KTKL -catechistically:KTXS:KTKS -categoricalness:KTKR:KTKR -categorizations:KTKR:KTKR -catelectrotonic:KTLK:KTLK -catelectrotonus:KTLK:KTLK -catheterization:K0TR:KTTR -catholicization:K0LS:KTLS -celioenterotomy:SLNT:SLNT -cementification:SMNT:SMNT -centrifugalized:SNTR:SNTR -centrifugalizes:SNTR:SNTR -cephalhematomas:SFLM:SFLM -cephalhydrocele:SFLT:SFLT -cephalocenteses:SFLS:SFLS -cephalocentesis:SFLS:SFLS -cephalochordate:SFLX:SFLK -cephalothoraces:SFL0:SFLT -cephalothoracic:SFL0:SFLT -cephalothoraxes:SFL0:SFLT -cephalotripsies:SFLT:SFLT -cerebellorubral:SRPL:SRPL -cerebellospinal:SRPL:SRPL -cerebralpalsied:SRPR:SRPR -cerebrovascular:SRPR:SRPR -ceremoniousness:SRMN:SRMN -cetylpyridinium:STLP:STLP -chalcographical:XLKK:XLKK -chalcographists:XLKK:XLKK -chamberlainship:XMPR:XMPR -chancellorships:XNSL:XNSL -characteristics:KRKT:KRKT -characterizable:KRKT:KRKT -characterologic:KRKT:KRKT -charismatically:KRSM:KRSM -charlottesville:XRLT:XRLT -cheilocarcinoma:XLKR:XLKR -cheiropompholyx:XRPM:XRPM -chemoattractant:KMTR:KMTR -chemoautotrophy:KMTT:KMTT -chemoresistance:KMRS:KMRS -chemosterilized:KMST:KMST -chemosterilizes:KMST:KMST -chemotactically:KMTK:KMTK -chemotherapists:KM0R:KMTR -chemotropically:KMTR:KMTR -chloramphenicol:KLRM:KLRM -chloroleukaemia:KLRL:KLRL -cholangiectases:XLNJ:XLNK -cholangiectasis:XLNJ:XLNK -cholangiography:XLNJ:XLNK -cholangiotomies:XLNJ:XLNK -cholecalciferol:XLKL:XLKL -cholecystagogue:XLSS:XLSS -cholecystectomy:XLSS:XLSS -cholecystitides:XLSS:XLSS -cholecystokinin:XLSS:XLSS -cholecystostomy:XLSS:XLSS -choledochostomy:XLTX:XLTK -cholesteatomata:XLST:XLST -cholesterolemia:XLST:XLST -chondrification:XNTR:XNTR -chondrocraniums:XNTR:XNTR -chondroplasties:XNTR:XNTR -chondrosarcomas:XNTR:XNTR -chondroskeleton:XNTR:XNTR -choreoathetoses:XR0T:XRTT -choreoathetosis:XR0T:XRTT -choreoathetotic:XR0T:XRTT -choreographical:XRKR:XRKR -chorioallantoic:KRLN:KRLN -chorioallantoid:KRLN:KRLN -chorioallantois:KRLN:KRLN -choriocarcinoma:KRKR:KRKR -chorioretinitis:KRRT:KRRT -chromaffinomata:KRMF:KRMF -chromatographer:KRMT:KRMT -chromatographic:KRMT:KRMT -chromatologists:KRMT:KRMT -chromatopathies:KRMT:KRMT -chromatophilias:KRMT:KRMT -chromatophorous:KRMT:KRMT -chromobacterium:KRMP:KRMP -chromotherapies:KRM0:KRMT -chronaximetries:KRNK:KRNK -chronobiologist:KRNP:KRNP -chronogrammatic:KRNK:KRNK -chronologically:KRNL:KRNL -chrysotherapies:KRS0:KRST -chyloperitoneum:XLPR:XLPR -cineangiography:SNNJ:SNNK -cinematographer:SNMT:SNMT -cinematographic:SNMT:SNMT -cineradiography:SNRT:SNRT -circularization:SRKL:SRKL -circumambulated:SRKM:SRKM -circumambulates:SRKM:SRKM -circumambulator:SRKM:SRKM -circumarticular:SRKM:SRKM -circumferential:SRKM:SRKM -circumlocutions:SRKM:SRKM -circumnavigated:SRKM:SRKM -circumnavigates:SRKM:SRKM -circumnavigator:SRKM:SRKM -circumnutations:SRKM:SRKM -circumscribable:SRKM:SRKM -circumscription:SRKM:SRKM -circumscriptive:SRKM:SRKM -circumspectness:SRKM:SRKM -circumstantiate:SRKM:SRKM -circumstantibus:SRKM:SRKM -circumvallating:SRKM:SRKM -circumvallation:SRKM:SRKM -circumvolutions:SRKM:SRKM -citriculturists:STRK:STRK -clandestineness:KLNT:KLNT -classicizations:KLSS:KLSS -classifications:KLSF:KLSF -claustrophobiac:KLST:KLST -clearheadedness:KLRT:KLRT -climacterically:KLMK:KLMK -coagulabilities:KKLP:KKLP -coccidiomycoses:KXTM:KXTM -coccidiomycosis:KXTM:KXTM -cochromatograph:KKRM:KKRM -cockneyfication:KKNF:KKNF -coconsciousness:KKNS:KKNS -coconspiratored:KKNS:KKNS -codehydrogenase:KTHT:KTHT -codetermination:KTTR:KTTR -coeducationally:KTKX:KTKX -coenzymatically:KNSM:KNSM -coessentialness:KSNX:KSNX -collaboratively:KLPR:KLPR -collateralizing:KLTR:KLTR -colocolostomies:KLKL:KLKL -colonizationist:KLNS:KLNS -coloproctostomy:KLPR:KLPR -combinatorially:KMPN:KMPN -combustibleness:KMPS:KMPS -comedocarcinoma:KMTK:KMTK -comfortableness:KMFR:KMFR -comfortlessness:KMFR:KMFR -commeasurements:KMSR:KMSR -commemorational:KMMR:KMMR -commemoratively:KMMR:KMMR -commendableness:KMNT:KMNT -commensurations:KMNS:KMNS -commercialistic:KMRS:KMRX -commercializing:KMRS:KMRX -commiseratively:KMSR:KMSR -commissaryships:KMSR:KMSR -commissionaires:KMSN:KMSN -commonplaceness:KMNP:KMNP -communalization:KMNL:KMNL -communicability:KMNK:KMNK -communicatively:KMNK:KMNK -communistically:KMNS:KMNS -comparativeness:KMPR:KMPR -compartmentally:KMPR:KMPR -compassionately:KMPS:KMPS -compatibilities:KMPT:KMPT -compendiousness:KMPN:KMPN -competitiveness:KMPT:KMPT -complementarily:KMPL:KMPL -complementarity:KMPL:KMPL -complementizers:KMPL:KMPL -complicatedness:KMPL:KMPL -complimentarily:KMPL:KMPL -comprehensively:KMPR:KMPR -compressibility:KMPR:KMPR -comptrollership:KMPT:KMPT -computationally:KMPT:KMPT -computerization:KMPT:KMPT -conceivableness:KNSF:KNSF -concelebrations:KNSL:KNSL -concentratively:KNSN:KNSN -conceptualistic:KNSP:KNSP -conceptualizing:KNSP:KNSP -concessionaires:KNSS:KNSS -concessionaries:KNSS:KNSS -condescendingly:KNTS:KNTS -conditionalized:KNTX:KNTX -conditionalizes:KNTX:KNTX -condylarthroses:KNTL:KNTL -condylarthrosis:KNTL:KNTL -confectionaries:KNFK:KNFK -confectioneries:KNFK:KNFK -confidentiality:KNFT:KNFT -configurability:KNFK:KNFK -configurational:KNFK:KNFK -conformableness:KNFR:KNFR -confraternities:KNFR:KNFR -confrontational:KNFR:KNFR -conglomerations:KNKL:KNKL -conglutinations:KNKL:KNKL -congratulations:KNKR:KNKR -congressionally:KNKR:KNKR -conjugationally:KNJK:KNJK -connoisseurship:KNSR:KNSR -conquerableness:KNKR:KNKR -consanguinities:KNSN:KNSN -conscientiously:KNSN:KNSN -consecutiveness:KNSK:KNSK -consequentially:KNSK:KNSK -conservationism:KNSR:KNSR -conservationist:KNSR:KNSR -conservatorship:KNSR:KNSR -considerateness:KNST:KNST -conspicuousness:KNSP:KNSP -constellational:KNST:KNST -constructionism:KNST:KNST -constructionist:KNST:KNST -constructivists:KNST:KNST -consubstantiate:KNSP:KNSP -consumptiveness:KNSM:KNSM -contemplatively:KNTM:KNTM -contemporaneity:KNTM:KNTM -contemporaneous:KNTM:KNTM -contemptibility:KNTM:KNTM -contentiousness:KNTN:KNTN -contestableness:KNTS:KNTS -contextualizing:KNTK:KNTK -contortionistic:KNTR:KNTR -contractibility:KNTR:KNTR -contractilities:KNTR:KNTR -contractiveness:KNTR:KNTR -contradictively:KNTR:KNTR -contradictories:KNTR:KNTR -contradictorily:KNTR:KNTR -contraindicants:KNTR:KNTR -contraindicated:KNTR:KNTR -contraindicates:KNTR:KNTR -contrapositions:KNTR:KNTR -contrapositives:KNTR:KNTR -contrastimulant:KNTR:KNTR -contravallation:KNTR:KNTR -controllability:KNTR:KNTR -controllerships:KNTR:KNTR -controversially:KNTR:KNTR -conventionalism:KNFN:KNFN -conventionalist:KNFN:KNFN -conventionality:KNFN:KNFN -conventionalize:KNFN:KNFN -conversableness:KNFR:KNFR -conversationist:KNFR:KNFR -convertibleness:KNFR:KNFR -cooperativeness:KPRT:KPRT -corneoblepharon:KRNP:KRNP -correlativeness:KRLT:KRLT -correspondences:KRSP:KRSP -correspondingly:KRSP:KRSP -corroboratively:KRPR:KRPR -corruptibleness:KRPT:KRPT -corticoafferent:KRTK:KRTK -corticoefferent:KRTK:KRTK -corticosteroids:KRTK:KRTK -corticothalamic:KRTK:KRTK -corynebacterial:KRNP:KRNP -corynebacterium:KRNP:KRNP -cosmopolitanism:KSMP:KSMP -costoclavicular:KSTK:KSTK -costotransverse:KSTT:KSTT -councillorships:KNSL:KNSL -counteractively:KNTR:KNTR -counterargument:KNTR:KNTR -counterattacked:KNTR:KNTR -counterbalanced:KNTR:KNTR -counterbalances:KNTR:KNTR -countercharging:KNTR:KNTR -counterchecking:KNTR:KNTR -counterclaimant:KNTR:KNTR -counterclaiming:KNTR:KNTR -countercultures:KNTR:KNTR -counterexamples:KNTR:KNTR -counterfactuals:KNTR:KNTR -counterfeitness:KNTR:KNTR -counterirritant:KNTR:KNTR -countermarching:KNTR:KNTR -countermeasures:KNTR:KNTR -countermovement:KNTR:KNTR -counterplotting:KNTR:KNTR -counterpointing:KNTR:KNTR -counterproposal:KNTR:KNTR -counterpunching:KNTR:KNTR -counterpuncture:KNTR:KNTR -countertraction:KNTR:KNTR -counterweighing:KNTR:KNTR -counterweighted:KNTR:KNTR -craniologically:KRNL:KRNL -crashworthiness:KRXR:KRXR -creditabilities:KRTT:KRTT -cryoprecipitate:KRPR:KRPR -cryptographical:KRPT:KRPT -cryptomenorrhea:KRPT:KRPT -crystallization:KRST:KRST -crystallography:KRST:KRST -ctenocephalides:KTNS:KTNS -cyanocobalamine:SNKP:SNKP -cyclophyllidean:SKLF:SKLF -cylindricalness:SLNT:SLNT -cystoureteritis:SSTR:SSTR -cytochemistries:STXM:STKM -cytogenetically:STJN:STKN -cytogeneticists:STJN:STKN -cytomegalovirus:STMK:STMK -cytopathologies:STP0:STPT -cytophotometric:STFT:STFT -cytoplasmically:STPL:STPL -cytotaxonomists:STTK:STTK -cytotrophoblast:STTR:STTR -czechoslovakian:SXSL:XKSL -dacryoadenalgia:TKRT:TKRT -dacryocystocele:TKRS:TKRS -dacryocystotome:TKRS:TKRS -dacryocystotomy:TKRS:TKRS -dacryolithiases:TKRL:TKRL -dacryolithiasis:TKRL:TKRL -dacryosolenitis:TKRS:TKRS -dactylographies:TKTL:TKTL -dactyloscopists:TKTL:TKTL -daguerreotypers:TKRT:TKRT -daguerreotypist:TKRT:TKRT -deacidification:TSTF:TSTF -deafferentation:TFRN:TFRN -debentureholder:TPNT:TPNT -decalcification:TKLS:TKLS -decarbonization:TKRP:TKRP -decarboxylation:TKRP:TKRP -decarburization:TKRP:TKRP -decartelization:TKRT:TKRT -decertification:TSRT:TSRT -decimalizations:TSML:TSML -decipherability:TSFR:TSFR -decolonizations:TKLN:TKLN -decolourisation:TKLR:TKLR -decommissioning:TKMS:TKMS -decompensations:TKMP:TKMP -decomposability:TKMP:TKMP -decontaminating:TKNT:TKNT -decontamination:TKNT:TKNT -decontaminative:TKNT:TKNT -decontaminators:TKNT:TKNT -decriminalizing:TKRM:TKRM -dedifferentiate:TTFR:TTFR -defencelessness:TFNS:TFNS -defenselessness:TFNS:TFNS -defragmentation:TFRK:TFRK -dehydroascorbic:THTR:THTR -dehydrogenating:THTR:THTR -dehydrogenation:THTR:THTR -dehydrogenizing:THTR:THTR -dehypnotization:THPN:THPN -deindustrialize:TNTS:TNTS -deleteriousness:TLTR:TLTR -delocalizations:TLKL:TLKL -demagnetization:TMNT:TMKN -demagnification:TMNF:TMKN -demasculinizing:TMSK:TMSK -dematerializing:TMTR:TMTR -demeritoriously:TMRT:TMRT -demisemiquavers:TMSM:TMSM -demobilizations:TMPL:TMPL -democratization:TMKR:TMKR -demographically:TMKR:TMKR -demonetizations:TMNT:TMNT -demonstrability:TMNS:TMNS -demonstrational:TMNS:TMNS -demonstratively:TMNS:TMNS -demulsification:TMLS:TMLS -demyelinization:TMLN:TMLN -demystification:TMST:TMST -demythologizing:TM0L:TMTL -denationalizing:TNXN:TNXN -denitrification:TNTR:TNTR -deorsumvergence:TRSM:TRSM -depancreatizing:TPNK:TPNK -departmentalism:TPRT:TPRT -departmentalize:TPRT:TPRT -dependabilities:TPNT:TPNT -depersonalizing:TPRS:TPRS -deregistrations:TRJS:TRKS -derequisitioned:TRKS:TRKS -dermatochalases:TRMT:TRMT -dermatochalasis:TRMT:TRMT -dermatoconioses:TRMT:TRMT -dermatoconiosis:TRMT:TRMT -dermatocraniums:TRMT:TRMT -dermatofibromas:TRMT:TRMT -dermatoglyphics:TRMT:TRMT -dermatographies:TRMT:TRMT -dermatomegalies:TRMT:TRMT -dermatomyositis:TRMT:TRMT -dermatoneuroses:TRMT:TRMT -dermatoneurosis:TRMT:TRMT -dermatophytoses:TRMT:TRMT -dermatophytosis:TRMT:TRMT -dermatoplasties:TRMT:TRMT -dermatozoonoses:TRMT:TRMT -dermatozoonosis:TRMT:TRMT -dermoidectomies:TRMT:TRMT -descriptiveness:TSKP:TSKP -desensitization:TSNS:TSNS -desertification:TSRT:TSRT -desexualization:TSKS:TSKS -dessertspoonful:TSRT:TSRT -destabilization:TSTP:TSTP -destructibility:TSTR:TSTR -destructiveness:TSTR:TSTR -destructuralize:TSTR:TSTR -desynchronizing:TSNX:TSNK -determinability:TTRM:TTRM -determinateness:TTRM:TTRM -determinatively:TTRM:TTRM -detribalization:TTRP:TTRP -detrimentalness:TTRM:TTRM -deuteranomalies:TTRN:TTRN -deuteranomalous:TTRN:TTRN -deuteroproteose:TTRP:TTRP -developmentally:TFLP:TFLP -devitrification:TFTR:TFTR -dextrosinistral:TKST:TKST -diadochokineses:TTXK:TTKK -diadochokinesia:TTXK:TTKK -diadochokinesis:TTXK:TTKK -diadochokinetic:TTXK:TTKK -dialectological:TLKT:TLKT -dialectologists:TLKT:TLKT -diamagnetically:TMNT:TMKN -diaphanoscopies:TFNS:TFNS -diaphototropism:TFTT:TFTT -diaphysectomies:TFSK:TFSK -dichlorobenzene:TXLR:TKLR -dichlorodiethyl:TXLR:TKLR -dichotomization:TXTM:TKTM -dictatorialness:TKTT:TKTT -differentiating:TFRN:TFRN -differentiation:TFRN:TFRN -differentiators:TFRN:TFRN -diffractiveness:TFRK:TFRK -diphenhydramine:TFNT:TFNT -disadvantageous:TSTF:TSTF -disaffectedness:TSFK:TSFK -disaffiliations:TSFL:TSFL -disaffirmations:TSFR:TSFR -disafforestment:TSFR:TSFR -disagreeability:TSKR:TSKR -disambiguations:TSMP:TSMP -disappointingly:TSPN:TSPN -disappointments:TSPN:TSPN -disapprobations:TSPR:TSPR -disarrangements:TSRN:TSRN -disarticulating:TSRT:TSRT -disarticulation:TSRT:TSRT -disarticulators:TSRT:TSRT -disassimilating:TSSM:TSSM -disassimilation:TSSM:TSSM -disassimilative:TSSM:TSSM -disciplinarians:TSPL:TSPL -discoblastulaes:TSKP:TSKP -discogastrulaes:TSKK:TSKK -discolourations:TSKL:TSKL -discombobulated:TSKM:TSKM -discombobulates:TSKM:TSKM -discommodiously:TSKM:TSKM -disconcertingly:TSKN:TSKN -disconfirmation:TSKN:TSKN -disconformities:TSKN:TSKN -discontentments:TSKN:TSKN -discontinuances:TSKN:TSKN -discontinuation:TSKN:TSKN -discontinuities:TSKN:TSKN -discontinuously:TSKN:TSKN -discoplacentaes:TSKP:TSKP -discountenanced:TSKN:TSKN -discountenances:TSKN:TSKN -discouragements:TSKR:TSKR -discretionarily:TSKX:TSKX -discriminations:TSKM:TSKM -disembarkations:TSMP:TSMP -disembarrassing:TSMP:TSMP -disemboguements:TSMP:TSMP -disembowelments:TSMP:TSMP -disenchantingly:TSNX:TSNK -disenchantments:TSNX:TSNK -disencumberment:TSNK:TSNK -disenfranchised:TSNF:TSNF -disenfranchises:TSNF:TSNF -disentanglement:TSNT:TSNT -disentitlements:TSNT:TSNT -disequilibriums:TSKL:TSKL -disestablishing:TSST:TSST -disfeaturements:TSFT:TSFT -disgracefulness:TSKR:TSKR -disgruntlements:TSKR:TSKR -disharmoniously:TXRM:TXRM -dishearteningly:TXRT:TXRT -disheartenments:TXRT:TXRT -disillusionment:TSLS:TSLX -disinclinations:TSNK:TSNK -disincorporated:TSNK:TSNK -disincorporates:TSNK:TSNK -disinheritances:TSNR:TSNR -disinheritation:TSNR:TSNR -disintegrations:TSNT:TSNT -disinterestedly:TSNT:TSNT -disintoxicating:TSNT:TSNT -disintoxication:TSNT:TSNT -disinvagination:TSNF:TSNF -disobligingness:TSPL:TSPL -disorganization:TSRK:TSRK -dispassionately:TSPS:TSPS -dispensableness:TSPN:TSPN -disproportional:TSPR:TSPR -disproportioned:TSPR:TSPR -disputativeness:TSPT:TSPT -disreputability:TSRP:TSRP -disrespectfully:TSRS:TSRS -dissatisfaction:TSTS:TSTS -dissatisfactory:TSTS:TSTS -dissimilarities:TSML:TSML -dissociableness:TSSP:TSXP -dissolvableness:TSLF:TSLF -distastefulness:TSTS:TSTS -distinctiveness:TSTN:TSTN -distinguishable:TSTN:TSTN -distinguishably:TSTN:TSTN -distractibility:TSTR:TSTR -distressfulness:TSTR:TSTR -distributorship:TSTR:TSTR -distrustfulness:TSTR:TSTR -diversification:TFRS:TFRS -divertissements:TFRT:TFRT -dolichocephalic:TLXS:TLKS -dolichoprosopic:TLXP:TLKP -domineeringness:TMNR:TMNR -dorsiventrality:TRSF:TRSF -dorsoventrality:TRSF:TRSF -downheartedness:TNRT:TNRT -dramaturgically:TRMT:TRMT -draughtsmanship:TRFT:TRFT -dyschromatopsia:TXRM:TXRM -dyschromatoptic:TXRM:TXRM -dysmorphophobia:TSMR:TSMR -dysteleological:TSTL:TSTL -dysteleologists:TSTL:TSTL -ecclesiasticism:AKLS:AKLX -ecclesiolatries:AKLS:AKLX -ecclesiological:AKLS:AKLX -ecclesiologists:AKLS:AKLX -echinodermatous:AXNT:AKNT -econometricians:AKNM:AKNM -ecophysiologist:AKFS:AKFX -ecospecifically:AKSP:AKSP -efficaciousness:AFKS:AFKX -egocentricities:AKSN:AKSN -electrification:ALKT:ALKT -electroanalysis:ALKT:ALKT -electroanalytic:ALKT:ALKT -electrochemical:ALKT:ALKT -electrochromics:ALKT:ALKT -electrocutional:ALKT:ALKT -electrodeposits:ALKT:ALKT -electrodialyses:ALKT:ALKT -electrodialysis:ALKT:ALKT -electrodynamics:ALKT:ALKT -electrographies:ALKT:ALKT -electrokinetics:ALKT:ALKT -electrolyzation:ALKT:ALKT -electromagnetic:ALKT:ALKT -electrometrical:ALKT:ALKT -electromyograph:ALKT:ALKT -electronarcoses:ALKT:ALKT -electronarcosis:ALKT:ALKT -electronegative:ALKT:ALKT -electrophoresed:ALKT:ALKT -electrophoreses:ALKT:ALKT -electrophoresis:ALKT:ALKT -electrophoretic:ALKT:ALKT -electropositive:ALKT:ALKT -electrosurgical:ALKT:ALKT -electrotechnics:ALKT:ALKT -electrovalences:ALKT:ALKT -electrovalently:ALKT:ALKT -emancipationist:AMNS:AMNS -embryologically:AMPR:AMPR -emotionlessness:AMXN:AMXN -emulsifications:AMLS:AMLS -enantiomorphism:ANNT:ANNT -encephalitozoon:ANSF:ANSF -encephalographs:ANSF:ANSF -encephalography:ANSF:ANSF -enchondromatous:ANXN:ANKN -endocrinologies:ANTK:ANTK -endocrinologist:ANTK:ANTK -endocrinopathic:ANTK:ANTK -endophlebitides:ANTF:ANTF -endothermically:ANT0:ANTT -enfranchisement:ANFR:ANFR -enterobacterial:ANTR:ANTR -enterobacterium:ANTR:ANTR -enterocystocele:ANTR:ANTR -enterogastrones:ANTR:ANTR -enterohepatitis:ANTR:ANTR -enterorrhaphies:ANTR:ANTR -entomologically:ANTM:ANTM -entrepreneurial:ANTR:ANTR -environmentally:ANFR:ANFR -epidemiological:APTM:APTM -epidemiologists:APTM:APTM -epidermomycoses:APTR:APTR -epidermomycosis:APTR:APTR -epifolliculitis:APFL:APFL -epigrammatizing:APKR:APKR -epiphenomenally:APFN:APFN -episcopalianism:APSK:APSK -epistemological:APST:APST -epistemologists:APST:APST -epistemophiliac:APST:APST -epithelializing:AP0L:APTL -epitheliomatous:AP0L:APTL -epituberculoses:APTP:APTP -epituberculosis:APTP:APTP -epizootiologies:APST:APST -equalitarianism:AKLT:AKLT -equiponderances:AKPN:AKPN -equiponderating:AKPN:AKPN -equiprobability:AKPR:AKPR -erythrocythemia:AR0R:ARTR -erythrodextrine:AR0R:ARTR -erythroleucosis:AR0R:ARTR -erythroleukemia:AR0R:ARTR -erythroleukosis:AR0R:ARTR -erythromelalgia:AR0R:ARTR -esterifications:ASTR:ASTR -esthesiometries:AS0S:ASTX -estrogenicities:ASTR:ASTR -eternalizations:ATRN:ATRN -etherealization:A0RL:ATRL -etherifications:A0RF:ATRF -ethnocentricity:A0NS:ATNS -ethnomusicology:A0NM:ATNM -ethnotcentrisms:A0NT:ATNT -ethylenediamine:A0LN:ATLN -eucharistically:AXRS:AKRS -eudaemonistical:ATMN:ATMN -eudiometrically:ATMT:ATMT -euphemistically:AFMS:AFMS -evangelizations:AFNJ:AFNK -exappropriation:AKSP:AKSP -excermentitious:AKSR:AKSR -exchangeability:AKSN:AKSN -excommunicating:AKSM:AKSM -excommunication:AKSM:AKSM -excommunicative:AKSM:AKSM -excommunicators:AKSM:AKSM -excommunicatory:AKSM:AKSM -excrementitious:AKSR:AKSR -exemplification:AKSM:AKSM -exemplificative:AKSM:AKSM -exhibitionistic:AKSP:AKSP -existentialists:AKSS:AKSS -exoerythrocytic:AKSR:AKSR -expeditiousness:AKSP:AKSP -experientialist:AKSP:AKSP -experimentalism:AKSP:AKSP -experimentalist:AKSP:AKSP -experimentalize:AKSP:AKSP -experimentation:AKSP:AKSP -exponentiations:AKSP:AKSP -expressionistic:AKSP:AKSP -exquisitiveness:AKSK:AKSK -extemporariness:AKST:AKST -extemporization:AKST:AKST -exteriorization:AKST:AKST -externalization:AKST:AKST -exterritorially:AKST:AKST -extracellularly:AKST:AKST -extracurricular:AKST:AKST -extrajudicially:AKST:AKST -extraordinarily:AKST:AKST -extravagantness:AKST:AKST -familiarization:FMLR:FMLR -fantasticalness:FNTS:FNTS -fasciolopsiases:FSLP:FSLP -fasciolopsiasis:FSLP:FSLP -fashionableness:FXNP:FXNP -fatiguabilities:FTKP:FTKP -featurelessness:FTRL:FTRL -federalizations:FTRL:FTRL -ferrihemoglobin:FRHM:FRHM -fibrinopurulent:FPRN:FPRN -fibrocartilages:FPRK:FPRK -fibulocalcaneal:FPLK:FPLK -fideicommissary:FTKM:FTKM -filterabilities:FLTR:FLTR -fissiparousness:FSPR:FSPR -flibbertigibbet:FLPR:FLPR -flirtatiousness:FLRT:FLRT -floriculturists:FLRK:FLRK -fluorophosphate:FLRF:FLRF -foreordainments:FRRT:FRRT -foresightedness:FRST:FRST -forfeitableness:FRFT:FRFT -formalistically:FRML:FRML -forthcomingness:FR0K:FRTK -fractionalizing:FRKX:FRKX -fractionization:FRKX:FRKX -fragmentariness:FRKM:FRKM -fraternizations:FRTR:FRTR -freeheartedness:FRHR:FRHR -functionalistic:FNKX:FNKX -functionalities:FNKX:FNKX -fundamentalists:FNTM:FNTM -fundamentalness:FNTM:FNTM -fungitoxicities:FNJT:FNKT -fusospirochetal:FSSP:FSSP -futilitarianism:FTLT:FTLT -galactophoritis:KLKT:KLKT -galvanometrical:KLFN:KLFN -gamogenetically:KMJN:KMKN -gastroacephalus:KSTR:KSTR -gastrodiscoides:KSTR:KSTR -gastroenteritic:KSTR:KSTR -gastroenteritis:KSTR:KSTR -gastronomically:KSTR:KSTR -gastroplication:KSTR:KSTR -gastrorrhaphies:KSTR:KSTR -generalizations:JNRL:KNRL -gentlemanliness:JNTL:KNTL -gentlewomanlike:JNTL:KNTL -geomorphologist:JMRF:KMRF -gingivoplasties:KNJF:JNKF -glossopalatinus:KLSP:KLSP -glucocorticoids:KLKK:KLKK -gluconeogeneses:KLKN:KLKN -gluconeogenesis:KLKN:KLKN -glyconeogeneses:KLKN:KLKN -glyconeogenesis:KLKN:KLKN -glyphographical:KLFK:KLFK -glyptographical:KLPT:KLPT -gnathostomiases:N0ST:NTST -gnathostomiasis:N0ST:NTST -gnotobiotically:NTPT:NTPT -gobbledygooking:KPLT:KPLT -gonadectomizing:KNTK:KNTK -gonarthrotomies:KNR0:KNRT -goniometrically:KNMT:KNMT -grammaticalness:KRMT:KRMT -grammatologists:KRMT:KRMT -grandiloquently:KRNT:KRNT -grangerizations:KRNK:KRNJ -granuloplastics:KRNL:KRNL -graphitizations:KRFT:KRFT -gravimetrically:KRFM:KRFM -gravitationally:KRFT:KRFT -gubernatorially:KPRN:KPRN -gutturalization:KTRL:KTRL -gynandromorphic:KNNT:JNNT -gyrostabilizers:KRST:JRST -haemagglutonate:HMKL:HMKL -haemagglutonins:HMKL:HMKL -haemobartonella:HMPR:HMPR -haemoflagellate:HMFL:HMFL -haemoglobinuria:HMKL:HMKL -halfheartedness:HLFR:HLFR -hallucinational:HLSN:HLSN -hamamelidaceous:HMML:HMML -hardheartedness:HRTR:HRTR -harmonistically:HRMN:HRMN -harpsichordists:HRPS:HRPS -headmistresship:HTMS:HTMS -heartbreakingly:HRTP:HRTP -heartbrokenness:HRTP:HRTP -heliocentricism:HLSN:HLSN -heliocentricity:HLSN:HLSN -heliometrically:HLMT:HLMT -heliotropically:HLTR:HLTR -helminthologies:HLMN:HLMN -helminthologist:HLMN:HLMN -hemagglutinated:HMKL:HMKL -hemangiomatoses:HMNJ:HMNK -hemangiomatosis:HMNJ:HMNK -hemangiosarcoma:HMNJ:HMNK -hematopoietical:HMTP:HMTP -hematoporphyrin:HMTP:HMTP -hematosalpinges:HMTS:HMTS -hemicolectomies:HMKL:HMKL -hemicryptophyte:HMKR:HMKR -hemidystrophies:HMTS:HMTS -hemiglossectomy:HMKL:HMKL -hemihypertrophy:HMHP:HMHP -hemihypesthesia:HMHP:HMHP -hemilaminectomy:HMLM:HMLM -heminephrectomy:HMNF:HMNF -hemispherectomy:HMSF:HMSF -hemochromatoses:HMKR:HMKR -hemochromatosis:HMKR:HMKR -hemocytoblastic:HMST:HMST -hemodynamically:HMTN:HMTN -hemohistioblast:HMHS:HMHS -hemopericardium:HMPR:HMPR -hemoperitoneums:HMPR:HMPR -hendecasyllable:HNTK:HNTK -hepatectomizing:HPTK:HPTK -herbivorousness:HRPF:HRPF -hereditarianism:HRTT:HRTT -hermaphroditism:HRMF:HRMF -hermeneutically:HRMN:HRMN -herniorrhaphies:HRNR:HRNR -heterochromatic:HTRK:HTRK -heterochromatin:HTRK:HTRK -heterochronisms:HTRK:HTRK -heterogeneities:HTRJ:HTRK -heterogeneously:HTRJ:HTRK -heterographical:HTRK:HTRK -heteromastigate:HTRM:HTRM -heteromastigote:HTRM:HTRM -heteromorphoses:HTRM:HTRM -heteromorphosis:HTRM:HTRM -heteroplastical:HTRP:HTRP -heteroscedastic:HTRS:HTRS -heterosexuality:HTRS:HTRS -heterotrichoses:HTRT:HTRT -heterotrichosis:HTRT:HTRT -heterotrophical:HTRT:HTRT -hexachlorethane:HKSK:HKSK -hexachlorophane:HKSK:HKSK -hexachlorophene:HKSK:HKSK -hexylresorcinol:HKSL:HKSL -hieracosphinxes:HRKS:HRKS -histochemically:HSTX:HSTK -histochemograph:HSTX:HSTK -histocompatible:HSTK:HSTK -histopathologic:HSTP:HSTP -histophysiology:HSTF:HSTF -historiographer:HSTR:HSTR -historiographic:HSTR:HSTR -holoblastically:HLPL:HLPL -holographically:HLKR:HLKR -homeopathically:HMP0:HMPT -homocentrically:HMSN:HMSN -homogeneousness:HMJN:HMKN -homoplastically:HMPL:HMPL -horticulturally:HRTK:HRTK -horticulturists:HRTK:HRTK -hospitalization:HSPT:HSPT -householdership:HSHL:HSHL -housemistresses:HSMS:HSMS -housewifeliness:HSFL:HSFL -humanitarianism:HMNT:HMNT -humanitarianist:HMNT:HMNT -hydrencephalies:HTRN:HTRN -hydrocholereses:HTRX:HTRK -hydrocholeresis:HTRX:HTRK -hydrocholeretic:HTRX:HTRK -hydrocinchonine:HTRS:HTRS -hydroelectrical:HTRL:HTRL -hydrogenization:HTRJ:HTRK -hydrogeological:HTRJ:HTRK -hydrogeologists:HTRJ:HTRK -hydromechanical:HTRM:HTRM -hydromeningitis:HTRM:HTRM -hydrometallurgy:HTRM:HTRM -hydrometrically:HTRM:HTRM -hydropathically:HTRP:HTRP -hydropericardia:HTRP:HTRP -hydroperitoneum:HTRP:HTRP -hydrostatically:HTRS:HTRS -hydrosulphurous:HTRS:HTRS -hydrotherapists:HTR0:HTRT -hydrotropically:HTRT:HTRT -hydroxylapatite:HTRK:HTRK -hygrometrically:HKRM:HKRM -hygroscopically:HKRS:HKRS -hylozoistically:HLSS:HLSS -hyodesoxycholic:HTSK:HTSK -hyperactivities:HPRK:HPRK -hypercatalectic:HPRK:HPRK -hypercementoses:HPRS:HPRS -hypercementosis:HPRS:HPRS -hyperchromatism:HPRX:HPRK -hypercorrctness:HPRK:HPRK -hypercorrection:HPRK:HPRK -hypercritically:HPRK:HPRK -hypercryalgesia:HPRK:HPRK -hyperdiploidies:HPRT:HPRT -hyperdistention:HPRT:HPRT -hyperemployment:HPRM:HPRM -hyperendemicity:HPRN:HPRN -hyperinsulinism:HPRN:HPRN -hyperinvolution:HPRN:HPRN -hyperlipidaemia:HPRL:HPRL -hypermetabolism:HPRM:HPRM -hypermetropical:HPRM:HPRM -hypernephromata:HPRN:HPRN -hyperparasitism:HPRP:HPRP -hyperphalangism:HPRF:HPRF -hyperphysically:HPRF:HPRF -hyperpolarizing:HPRP:HPRP -hypersensiteses:HPRS:HPRS -hypersensitized:HPRS:HPRS -hypersensitizes:HPRS:HPRS -hypertensinases:HPRT:HPRT -hypertensinogen:HPRT:HPRT -hyperthyroidism:HPR0:HPRT -hypertonicities:HPRT:HPRT -hypnotisability:HPNT:HPNT -hypnotizability:HPNT:HPNT -hypoalbuminemia:HPLP:HPLP -hypochlorhydria:HPKL:HPKL -hypochlorhydric:HPKL:HPKL -hypochondriacal:HPXN:HPKN -hypochondriases:HPXN:HPKN -hypochondriasis:HPXN:HPKN -hypodermoclyses:HPTR:HPTR -hypodermoclysis:HPTR:HPTR -hypoparathyroid:HPPR:HPPR -hypopharynxeses:HPFR:HPFR -hypophosphorous:HPFS:HPFS -hypopituitarism:HPPT:HPPT -hypopopituitary:HPPP:HPPP -hypoproteinemia:HPPR:HPPR -hypoproteinemic:HPPR:HPPR -hyposensitivity:HPSN:HPSN -hyposensitizing:HPSN:HPSN -hypostatization:HPST:HPST -hypotrichosises:HPTR:HPTR -hypovitaminoses:HPFT:HPFT -hypovitaminosis:HPFT:HPFT -hypovitaminotic:HPFT:HPFT -hypsometrically:HPSM:HPSM -hysterectomized:HSTR:HSTR -hysterectomizes:HSTR:HSTR -hysterographies:HSTR:HSTR -hysterosalpingo:HSTR:HSTR -hystricomorphic:HSTR:HSTR -iatrogenicities:ATRJ:ATRK -iatrophysicists:ATRF:ATRF -ichthyophagists:AK0F:AKTF -identifiability:ATNT:ATNT -identifications:ATNT:ATNT -idiomaticalness:ATMT:ATMT -idiomorphically:ATMR:ATMR -ignominiousness:AKNM:ANMN -ileocecostomies:ALSK:ALSK -ileocolostomies:ALKL:ALKL -iliohypogastric:ALHP:ALHP -illegalisations:ALKL:ALKL -illimitableness:ALMT:ALMT -illustriousness:ALST:ALST -imaginativeness:AMJN:AMKN -immaterialities:AMTR:AMTR -immaterializing:AMTR:AMTR -immeasurability:AMSR:AMSR -immedicableness:AMTK:AMTK -immortalization:AMRT:AMRT -immunoassayable:AMNS:AMNS -immunoassayists:AMNS:AMNS -immunochemistry:AMNX:AMNK -immunocompetent:AMNK:AMNK -immunodiffusion:AMNT:AMNT -immunogenetical:AMNJ:AMNK -immunogenically:AMNJ:AMNK -immunohistology:AMNH:AMNH -immunologically:AMNL:AMNL -immunopathology:AMNP:AMNP -immunoreactions:AMNR:AMNR -immunotherapies:AMN0:AMNT -impassionedness:AMPS:AMPS -impecuniousness:AMPK:AMPK -impenetrability:AMPN:AMPN -imperishability:AMPR:AMPR -impermeableness:AMPR:AMPR -imperscriptible:AMPR:AMPR -impersonalizing:AMPR:AMPR -implausibleness:AMPL:AMPL -implementations:AMPL:AMPL -imponderability:AMPN:AMPN -importunateness:AMPR:AMPR -impossibilities:AMPS:AMPS -impracticalness:AMPR:AMPR -impregnableness:AMPR:AMPR -imprescriptible:AMPR:AMPR -imprescriptibly:AMPR:AMPR -impressionistic:AMPR:AMPR -improbabilities:AMPR:AMPR -improvisational:AMPR:AMPR -inaccessibility:ANXS:ANXS -inadmissability:ANTM:ANTM -inadmissibility:ANTM:ANTM -inadvisableness:ANTF:ANTF -inalienableness:ANLN:ANLN -inalterableness:ANLT:ANLT -inapplicability:ANPL:ANPL -inappropriately:ANPR:ANPR -inattentiveness:ANTN:ANTN -incalculability:ANKL:ANKL -incommensurable:ANKM:ANKM -incommensurably:ANKM:ANKM -incommunicative:ANKM:ANKM -incommutability:ANKM:ANKM -incomparability:ANKM:ANKM -incompatibility:ANKM:ANKM -incomprehension:ANKM:ANKM -incomprehensive:ANKM:ANKM -incomputability:ANKM:ANKM -incongruousness:ANKN:ANKN -inconsecutively:ANKN:ANKN -inconsequential:ANKN:ANKN -inconsiderately:ANKN:ANKN -inconsideration:ANKN:ANKN -inconsistencies:ANKN:ANKN -inconsolability:ANKN:ANKN -inconspicuously:ANKN:ANKN -inconveniencing:ANKN:ANKN -incorrigibility:ANKR:ANKR -incredibilities:ANKR:ANKR -incredulousness:ANKR:ANKR -indecomposables:ANTK:ANTK -indefeasibility:ANTF:ANTF -indefectibility:ANTF:ANTF -indefensibility:ANTF:ANTF -indefinableness:ANTF:ANTF -indemnification:ANTM:ANTM -indemnificatory:ANTM:ANTM -indeterminacies:ANTT:ANTT -indeterminately:ANTT:ANTT -indetermination:ANTT:ANTT -indeterministic:ANTT:ANTT -indifferentists:ANTF:ANTF -indigestibility:ANTJ:ANTK -indiscretionary:ANTS:ANTS -indisputability:ANTS:ANTS -indissolubility:ANTS:ANTS -indistinctively:ANTS:ANTS -individualistic:ANTF:ANTF -individualities:ANTF:ANTF -individualizers:ANTF:ANTF -individualizing:ANTF:ANTF -indivisibleness:ANTF:ANTF -indoctrinations:ANTK:ANTK -indomitableness:ANTM:ANTM -indubitableness:ANTP:ANTP -inductothermies:ANTK:ANTK -industrializing:ANTS:ANTS -industriousness:ANTS:ANTS -ineffaceability:ANFS:ANFS -ineffectiveness:ANFK:ANFK -ineffectualness:ANFK:ANFK -inefficaciously:ANFK:ANFK -inequitableness:ANKT:ANKT -inestimableness:ANST:ANST -inevitabilities:ANFT:ANFT -inexcusableness:ANKS:ANKS -inexpensiveness:ANKS:ANKS -inexplicability:ANKS:ANKS -inexpugnability:ANKS:ANKS -inextensibility:ANKS:ANKS -inextricability:ANKS:ANKS -infinitesimally:ANFN:ANFN -inflammableness:ANFL:ANFL -informativeness:ANFR:ANFR -infraclavicular:ANFR:ANFR -infrangibleness:ANFR:ANFR -infrastructures:ANFR:ANFR -infundibuliform:ANFN:ANFN -inheritableness:ANRT:ANRT -inhomogeneities:ANMJ:ANMK -initializations:ANXL:ANXL -injudiciousness:ANJT:ANJT -innumerableness:ANMR:ANMR -inoffensiveness:ANFN:ANFN -inofficiousness:ANFS:ANFX -inoperativeness:ANPR:ANPR -inopportuneness:ANPR:ANPR -inopportunities:ANPR:ANPR -inquisitionists:ANKS:ANKS -inquisitiveness:ANKS:ANKS -inquisitorially:ANKS:ANKS -inscribableness:ANSK:ANSK -inscrutableness:ANSK:ANSK -insensitiveness:ANSN:ANSN -insensitivities:ANSN:ANSN -inseparableness:ANSP:ANSP -insignificantly:ANSN:ANSK -inspirationally:ANSP:ANSP -instantaneously:ANST:ANST -institutionally:ANST:ANST -instructiveness:ANST:ANST -instructorships:ANST:ANST -instrumentalism:ANST:ANST -instrumentalist:ANST:ANST -instrumentality:ANST:ANST -instrumentarium:ANST:ANST -instrumentation:ANST:ANST -insubordinately:ANSP:ANSP -insubordination:ANSP:ANSP -insubstantially:ANSP:ANSP -insufficiencies:ANSF:ANSF -insuperableness:ANSP:ANSP -insurrectionary:ANSR:ANSR -insurrectionism:ANSR:ANSR -insurrectionist:ANSR:ANSR -intangibilities:ANTN:ANTN -integrationists:ANTK:ANTK -integumentarier:ANTK:ANTK -intellectualism:ANTL:ANTL -intellectualist:ANTL:ANTL -intellectuality:ANTL:ANTL -intellectualize:ANTL:ANTL -intelligibility:ANTL:ANTL -intemperateness:ANTM:ANTM -intensification:ANTN:ANTN -interactivities:ANTR:ANTR -interchangeable:ANTR:ANTR -interchangeably:ANTR:ANTR -interclavicular:ANTR:ANTR -intercollegiate:ANTR:ANTR -interconnecting:ANTR:ANTR -interconnection:ANTR:ANTR -interdependence:ANTR:ANTR -interdependency:ANTR:ANTR -interdigitating:ANTR:ANTR -interdigitation:ANTR:ANTR -interestingness:ANTR:ANTR -interfascicular:ANTR:ANTR -interferometric:ANTR:ANTR -intergradations:ANTR:ANTR -interindustrial:ANTR:ANTR -interlaminating:ANTR:ANTR -interlamination:ANTR:ANTR -interlineations:ANTR:ANTR -interlocutorily:ANTR:ANTR -interlocutrices:ANTR:ANTR -intermediations:ANTR:ANTR -intermembranous:ANTR:ANTR -intermigrations:ANTR:ANTR -interminability:ANTR:ANTR -interminglement:ANTR:ANTR -intermittencies:ANTR:ANTR -intermodulation:ANTR:ANTR -internalization:ANTR:ANTR -internationally:ANTR:ANTR -interosculating:ANTR:ANTR -interosculation:ANTR:ANTR -interparoxysmal:ANTR:ANTR -interpeduncular:ANTR:ANTR -interpenetrable:ANTR:ANTR -interpenetrated:ANTR:ANTR -interpenetrates:ANTR:ANTR -interpersonally:ANTR:ANTR -interphalangeal:ANTR:ANTR -interpretations:ANTR:ANTR -interpretership:ANTR:ANTR -interpretresses:ANTR:ANTR -interprovincial:ANTR:ANTR -interrogatingly:ANTR:ANTR -interrogational:ANTR:ANTR -interrogatively:ANTR:ANTR -interrogatories:ANTR:ANTR -interrogatorily:ANTR:ANTR -interscholastic:ANTR:ANTR -interstratified:ANTR:ANTR -interstratifies:ANTR:ANTR -intertubercular:ANTR:ANTR -intertwinements:ANTR:ANTR -interuniversity:ANTR:ANTR -interventionism:ANTR:ANTR -interventionist:ANTR:ANTR -intolerableness:ANTL:ANTL -intraarterially:ANTR:ANTR -intracellularly:ANTR:ANTR -intractableness:ANTR:ANTR -intradermically:ANTR:ANTR -intrafascicular:ANTR:ANTR -intramembranous:ANTR:ANTR -intramuscularly:ANTR:ANTR -intraperitoneal:ANTR:ANTR -intravascularly:ANTR:ANTR -introspectional:ANTR:ANTR -introspectively:ANTR:ANTR -introsusception:ANTR:ANTR -intuitionalists:ANTX:ANTX -intussuscepting:ANTS:ANTS -intussusception:ANTS:ANTS -intussusceptive:ANTS:ANTS -intussuscipiens:ANTS:ANTS -investigational:ANFS:ANFS -involuntariness:ANFL:ANFL -invulnerability:ANFL:ANFL -iridocapsulitis:ARTK:ARTK -iridocyclectomy:ARTS:ARTS -iridocystectomy:ARTS:ARTS -iridosclerotomy:ARTS:ARTS -irrationalities:ARXN:ARXN -irredeemability:ARTM:ARTM -irrefragability:ARFR:ARFR -irrefutableness:ARFT:ARFT -irreligiousness:ARLJ:ARLK -irremissibility:ARMS:ARMS -irremovableness:ARMF:ARMF -irreparableness:ARPR:ARPR -irrepealability:ARPL:ARPL -irresistibility:ARSS:ARSS -irresolvability:ARSL:ARSL -irretentiveness:ARTN:ARTN -irreversibility:ARFR:ARFR -irrevocableness:ARFK:ARFK -ischiococcygeus:AXKK:AXKK -ischioneuralgia:AXNR:AXNR -isoagglutinogen:ASKL:ASKL -isochromatophil:ASKR:ASKR -isoimmunization:ASMN:ASMN -jejunocolostomy:JJNK:AJNK -jejunoileitides:JJNL:AJNL -jejunoileostomy:JJNL:AJNL -jurisprudential:JRSP:ARSP -justifiableness:JSTF:ASTF -juxtaepiphyseal:JKST:AKST -juxtaglomerular:JKST:AKST -juxtapositional:JKST:AKST -kaleidoscopical:KLTS:KLTS -keratoacanthoma:KRTK:KRTK -keratoscleritis:KRTS:KRTS -kindheartedness:KNTR:KNTR -kinesiologicing:KNSL:KNSL -kinesitherapies:KNS0:KNST -kinesthetically:KNS0:KNST -kinetheodolites:KN0T:KNTT -kinetonucleuses:KNTN:KNTN -kjeldahlization:KLTL:KLTL -knowledgability:NLTK:NLTK -kremlinologists:KRML:KRML -labyrinthectomy:LPRN:LPRN -lackadaisically:LKTS:LKTS -lactiferousness:LKTF:LKTF -lactoperoxidase:LKTP:LKTP -lactovegetarian:LKTF:LKTF -lamellirostrate:LMLR:LMLR -laparorrhaphies:LPRR:LPRR -laryngectomized:LRNJ:LRNK -laryngectomizes:LRNJ:LRNK -laryngoplasties:LRNK:LRNK -laryngoscleroma:LRNK:LRNK -laryngoscopists:LRNK:LRNK -laryngostenoses:LRNK:LRNK -laryngostenosis:LRNK:LRNK -laryngotracheal:LRNK:LRNK -lateroabdominal:LTRP:LTRP -laterodeviation:LTRT:LTRT -latitudinarians:LTTT:LTTT -legerdemainists:LJRT:LKRT -legislatorships:LJLT:LKLT -legitimizations:LJTM:LKTM -leiomyofibromas:LMFP:LMFP -leiomyosarcomas:LMSR:LMSR -leptomeningitis:LPTM:LPTM -leukaemogenesis:LKMJ:LKMK -leukophlegmasia:LKFL:LKFL -levelheadedness:LFLT:LFLT -lexicalizations:LKSK:LKSK -lexicographical:LKSK:LKSK -liberalizations:LPRL:LPRL -licentiateships:LSNX:LSNX -lichenification:LXNF:LKNF -ligamentopexies:LKMN:LKMN -lightheadedness:L0TT:LTTT -lightmindedness:LTMN:LTMN -lignocellulosic:LNSL:LKNS -lipodystrophies:LPTS:LPTS -lipogranulomata:LPKR:LPKR -lissencephalias:LSNS:LSNS -lissencephalies:LSNS:LSNS -lissencephalous:LSNS:LSNS -lithonephrotomy:L0NF:LTNF -logographically:LKKR:LKKR -lymphadenectomy:LMFT:LMFT -lymphadenopathy:LMFT:LMFT -lymphangiectomy:LMFN:LMFN -lymphoblastomas:LMFP:LMFP -lymphoblastosis:LMFP:LMFP -lymphocytopenia:LMFS:LMFS -lymphogranuloma:LMFK:LMFK -lymphosarcomata:LMFS:LMFS -machiavellianly:MKFL:MKFL -macrencephalies:MKRN:MKRN -macrencephalous:MKRN:MKRN -macrocosmically:MKRK:MKRK -macrogametocyte:MKRK:MKRK -macromyeloblast:MKRM:MKRM -macronormoblast:MKRN:MKRN -macroscopically:MKRS:MKRS -macrostructural:MKRS:MKRS -magisterialness:MJST:MKST -magistratically:MJST:MKST -magnanimousness:MNNM:MKNN -magnetochemical:MNTX:MKNT -magnetoelectric:MNTL:MKNT -magnificentness:MNFS:MKNF -maintainability:MNTN:MNTN -malacopterygian:MLKP:MLKP -maladministered:MLTM:MLTM -malassimilation:MLSM:MLSM -malconstruction:MLKN:MLKN -maldistribution:MLTS:MLTS -malpractitioner:MLPR:MLPR -malpresentation:MLPR:MLPR -maneuverability:MNFR:MNFR -manifestational:MNFS:MNFS -manneristically:MNRS:MNRS -manoeuvrability:MNFR:MNFR -marginalization:MRJN:MRKN -marginoplasties:MRJN:MRKN -marriageability:MRJP:MRKP -masculinization:MSKL:MSKL -masochistically:MSXS:MSKS -massotherapists:MS0R:MSTR -mastoidectomies:MSTT:MSTT -materfamiliases:MTRF:MTRF -materialistical:MTRL:MTRL -materialization:MTRL:MTRL -matrilocalities:MTRL:MTRL -maxillopalatine:MKSL:MKSL -maxilloturbinal:MKSL:MKSL -meaninglessness:MNNK:MNNK -measurelessness:MSRL:MSRL -mechanistically:MXNS:MKNS -mechanochemical:MXNX:MKNK -mechanoreceptor:MXNR:MKNR -mechlorethamine:MKLR:MKLR -mediastinitides:MTST:MTST -mediastinoscope:MTST:MTST -mediastinoscopy:MTST:MTST -medulloblastoma:MTLP:MTLP -megagametophyte:MKKM:MKKM -megalocephalies:MKLS:MKLS -megalocephalous:MKLS:MKLS -megalophthalmos:MKLF:MKLF -megalophthalmus:MKLF:MKLF -melancholically:MLNX:MLNK -melanoblastomas:MLNP:MLNP -melanocarcinoma:MLNK:MLNK -mellifluousness:MLFL:MLFL -melodramatizing:MLTR:MLTR -memorialization:MMRL:MMRL -meningococcemia:MNNK:MNNK -meningomyelitis:MNNK:MNNK -merchantability:MRXN:MRKN -mercurophylline:MRKR:MRKR -meritoriousness:MRTR:MRTR -meroblastically:MRPL:MRPL -mesaticephalous:MSTS:MSTS -mesoappendiceal:MSPN:MSPN -metacircularity:MTSR:MTSR -metagenetically:MTJN:MTKN -metallurgically:MTLR:MTLR -metanephrogenic:MTNF:MTNF -methamphetamine:MTMF:MTMF -methylphenidate:M0LF:MTLF -metrocystosises:MTRS:MTRS -metropolitanize:MTRP:MTRP -micrencephalies:MKRN:MKRN -micrencephalous:MKRN:MKRN -microaerophilic:MKRR:MKRR -microanalytical:MKRN:MKRN -microanatomical:MKRN:MKRN -microbiological:MKRP:MKRP -microbiologists:MKRP:MKRP -microdissection:MKRT:MKRT -microelectronic:MKRL:MKRL -microfilaraemia:MKRF:MKRF -microgenitalism:MKRJ:MKRK -microgonioscope:MKRK:MKRK -micromorphology:MKRM:MKRM -micromyeloblast:MKRM:MKRM -microphotograph:MKRF:MKRF -microphysically:MKRF:MKRF -microprocessing:MKRP:MKRP -microprocessors:MKRP:MKRP -microprogrammed:MKRP:MKRP -microradiograph:MKRR:MKRR -microscopically:MKRS:MKRS -microstructural:MKRS:MKRS -milliequivalent:MLKF:MLKF -millimolarities:MLML:MLML -mineralogically:MNRL:MNRL -miniaturization:MNTR:MNTR -misalphabetized:MSLF:MSLF -misalphabetizes:MSLF:MSLF -misapprehending:MSPR:MSPR -misapprehension:MSPR:MSPR -misappropriated:MSPR:MSPR -misappropriates:MSPR:MSPR -misarrangements:MSRN:MSRN -miscalculations:MSKL:MSKL -miscegenational:MSJN:MSKN -miscellaneously:MSLN:MSLN -mischievousness:MXFS:MXFS -misconstruction:MSKN:MSKN -misinstructions:MSNS:MSNS -misintelligence:MSNT:MSNT -misinterpreting:MSNT:MSNT -misrepresenting:MSRP:MSRP -mistranscribing:MSTR:MSTR -mistrustfulness:MSTR:MSTR -misunderstander:MSNT:MSNT -monochromatisms:MNKR:MNKR -monocontaminate:MNKN:MNKN -monomolecularly:MNML:MNML -monosexualities:MNSK:MNSK -monosubstituted:MNSP:MNSP -monosymptomatic:MNSM:MNSM -morphologically:MRFL:MRFL -mountebankeries:MNTP:MNTP -mucoenteritides:MKNT:MKNT -mucoenteritises:MKNT:MKNT -mucosanguineous:MKSN:MKSN -multicentricity:MLTS:MLTS -multiplications:MLTP:MLTP -multiplicatives:MLTP:MLTP -multiprocessing:MLTP:MLTP -multiprocessors:MLTP:MLTP -multiprogrammed:MLTP:MLTP -multirecidivism:MLTR:MLTR -multiresistance:MLTR:MLTR -multitudinously:MLTT:MLTT -musculoskeletal:MSKL:MSKL -musicotherapies:MSK0:MSKT -mycobacterioses:MKPK:MKPK -mycobacteriosis:MKPK:MKPK -myeloblastomata:MLPL:MLPL -myelolymphocyte:MLLM:MLLM -myelomeningitis:MLMN:MLMN -myeloneuritides:MLNR:MLNR -myeloneuritises:MLNR:MLNR -myoelectrically:MLKT:MLKT -myoepitheliomas:MP0L:MPTL -myopericarditis:MPRK:MPRK -myringoplasties:MRNK:MRNK -myxochondromata:MKSX:MKSK -myxosarcomatous:MKSS:MKSS -narcoanesthesia:NRKN:NRKN -nasopharyngitis:NSFR:NSFR -nationalistical:NXNL:NXNL -nationalization:NXNL:NXNL -nearsightedness:NRST:NRST -necessitousness:NSST:NSST -necrobacilloses:NKRP:NKRP -necrobacillosis:NKRP:NKRP -nemathelminthes:NM0L:NMTL -neoarsphenamine:NRSF:NRSF -neocolonialists:NKLN:NKLN -neologistically:NLJS:NLKS -nephelometrical:NFLM:NFLM -nephrectomizing:NFRK:NFRK -nephrolithiases:NFRL:NFRL -nephrolithiasis:NFRL:NFRL -nephrolithotomy:NFRL:NFRL -nephrorrhaphies:NFRR:NFRR -nephroscleroses:NFRS:NFRS -nephrosclerosis:NFRS:NFRS -neuroanatomists:NRNT:NRNT -neurobiological:NRPL:NRPL -neurobiologists:NRPL:NRPL -neuroblastomata:NRPL:NRPL -neurodermatitic:NRTR:NRTR -neurodermatitis:NRTR:NRTR -neurodermatoses:NRTR:NRTR -neuroectodermal:NRKT:NRKT -neuroepithelial:NRP0:NRPT -neuroepithelium:NRP0:NRPT -neurofibrillary:NRFP:NRFP -neurohypophyses:NRHP:NRHP -neurohypophysis:NRHP:NRHP -neuromyelitides:NRML:NRML -neuropathically:NRP0:NRPT -neuropathologic:NRP0:NRPT -neurophysiology:NRFS:NRFX -neuropsychiatry:NRPS:NRPS -neuropsychology:NRPS:NRPS -neuroscientists:NRSN:NRSN -neurosurgically:NRSR:NRSR -neurotoxicities:NRTK:NRTK -neurovegetative:NRFK:NRFK -neutralizations:NTRL:NTRL -newfoundlanders:NFNT:NFNT -nietzscheanisms:NTSX:NTSX -nightmarishness:NTMR:NTMR -nitrocellulosic:NTRS:NTRS -nitrochloroform:NTRK:NTRK -nitrogenization:NTRJ:NTRK -noematachograph:NMTK:NMTK -nomographically:NMKR:NMKR -nonabrasiveness:NNPR:NNPR -nonabsoluteness:NNPS:NNPS -nonacquiescence:NNKS:NNKS -nonadditivities:NNTT:NNTT -nonadvantageous:NNTF:NNTF -nonagricultural:NNKR:NNKR -nonassimilation:NNSM:NNSM -nonbelligerents:NNPL:NNPL -noncohabitation:NNKH:NNKH -noncohesiveness:NNKH:NNKH -noncombustibles:NNKM:NNKM -noncommercially:NNKM:NNKM -noncommissioned:NNKM:NNKM -noncommunicable:NNKM:NNKM -noncompensation:NNKM:NNKM -noncompensatory:NNKM:NNKM -nonconciliatory:NNKN:NNKN -nonconclusively:NNKN:NNKN -nonconcurrently:NNKN:NNKN -nonconfidential:NNKN:NNKN -nonconfiscatory:NNKN:NNKN -nonconservative:NNKN:NNKN -nonconstructive:NNKN:NNKN -nonconsummation:NNKN:NNKN -noncontemporary:NNKN:NNKN -noncontiguously:NNKN:NNKN -noncontinuation:NNKN:NNKN -noncontrastable:NNKN:NNKN -noncontributing:NNKN:NNKN -noncontributory:NNKN:NNKN -noncontrollable:NNKN:NNKN -noncontrollably:NNKN:NNKN -nonconventional:NNKN:NNKN -nondemonstrable:NNTM:NNTM -nondepartmental:NNTP:NNTP -nondisciplinary:NNTS:NNTS -nondistribution:NNTS:NNTS -nondomesticated:NNTM:NNTM -noneffervescent:NNFR:NNFR -nonelectrically:NNLK:NNLK -nonexchangeable:NNKS:NNKS -nonextraditable:NNKS:NNKS -nongovernmental:NNKF:NNKF -nonimputability:NNMP:NNMP -noninflammatory:NNNF:NNNF -noninflectional:NNNF:NNNF -noninsecticidal:NNNS:NNNS -nonintellectual:NNNT:NNNT -noninterference:NNNT:NNNT -nonintersecting:NNNT:NNNT -nonintervention:NNNT:NNNT -nonintoxicating:NNNT:NNNT -noninvolvements:NNNF:NNNF -nonliturgically:NNLT:NNLT -nonmathematical:NNM0:NNMT -nonmechanically:NNMX:NNMK -nonmerchantable:NNMR:NNMR -nonnotification:NNTF:NNTF -nonoccupational:NNKP:NNKP -nonparticipants:NNPR:NNPR -nonpartisanship:NNPR:NNPR -nonpossessively:NNPS:NNPS -nonprescription:NNPR:NNPR -nonprescriptive:NNPR:NNPR -nonpreservation:NNPR:NNPR -nonprocedurally:NNPR:NNPR -nonproductivity:NNPR:NNPR -nonprofessional:NNPR:NNPR -nonprogrammable:NNPR:NNPR -nonproportional:NNPR:NNPR -nonprotectively:NNPR:NNPR -nonreciprocally:NNRS:NNRS -nonregistration:NNRJ:NNRK -nonreimbursable:NNRM:NNRM -nonremunerative:NNRM:NNRM -nonreproductive:NNRP:NNRP -nonsedimentable:NNST:NNST -nonsensicalness:NNSN:NNSN -nonstandardized:NNST:NNST -nonstructurally:NNST:NNST -nonsubmissively:NNSP:NNSP -nonsuccessively:NNSK:NNSK -nontransferable:NNTR:NNTR -northeasterlies:NR0S:NRTS -northeasterners:NR0S:NRTS -northeastwardly:NR0S:NRTS -northwesterlies:NR0S:NRTS -northwestwardly:NR0S:NRTS -nosogeographies:NSJK:NSKK -notwithstanding:NT0S:NTTS -nucleoplasmatic:NKLP:NKLP -numerologically:NMRL:NMRL -numismatologist:NMSM:NMSM -objectification:APJK:APJK -observationally:APSR:APSR -obstructionally:APST:APST -obstructionists:APST:APST -obstructiveness:APST:APST -occidentalising:AXTN:AXTN -occipitofrontal:AXPT:AXPT -occipitomastoid:AXPT:AXPT -oceanographical:ASNK:ASNK -octadecadienoic:AKTT:AKTT -octocentenaries:AKTS:AKTS -odontorhynchous:ATNT:ATNT -odoriferousness:ATRF:ATRF -oesophagostomum:ASFK:ASFK -oestrogenically:ASTR:ASTR -officialisation:AFSL:AFXL -olfactometrical:ALFK:ALFK -oligodactylisms:ALKT:ALKT -oligodendrocyte:ALKT:ALKT -oligodendroglia:ALKT:ALKT -oligohydramnios:ALKH:ALKH -oligomerization:ALKM:ALKM -oligonucleotide:ALKN:ALKN -oligosaccharide:ALKS:ALKS -oligozoospermia:ALKS:ALKS -omnidirectional:AMNT:AMNT -omnifariousness:AMNF:AMNF -ontogenetically:ANTJ:ANTK -oophorectomized:AFRK:AFRK -oophorectomizes:AFRK:AFRK -openheartedness:APNR:APNR -operationalized:APRX:APRX -operationalizes:APRX:APRX -ophthalmologies:AF0L:AFTL -ophthalmologist:AF0L:AFTL -ophthalmoplegia:AF0L:AFTL -ophthalmoplegic:AF0L:AFTL -ophthalmoscopes:AF0L:AFTL -ophthalmoscopic:AF0L:AFTL -ophthalmostases:AF0L:AFTL -ophthalmostasis:AF0L:AFTL -opisthognathism:APS0:APST -opisthognathous:APS0:APST -opisthorchiasis:APS0:APST -opticopupillary:APTK:APTK -optoelectronics:APTL:APTL -organogenetical:ARKN:ARKN -organographical:ARKN:ARKN -organomercurial:ARKN:ARKN -organophosphate:ARKN:ARKN -organotherapies:ARKN:ARKN -orientalisation:ARNT:ARNT -ornithorhynchus:ARN0:ARNT -orthochromatism:AR0K:ARTK -orthophosphoric:AR0F:ARTF -orthopsychiatry:AR0P:ARTP -oscillographies:ASLK:ASLK -oscilloscopical:ASLS:ASLS -ossiculectomies:ASKL:ASKL -ostensibilities:ASTN:ASTN -osteoarthrotomy:ASTR:ASTR -osteochondritis:ASTX:ASTK -osteochondromas:ASTX:ASTK -osteochondroses:ASTX:ASTK -osteochondrosis:ASTX:ASTK -osteochondrotic:ASTX:ASTK -osteodystrophia:ASTT:ASTT -osteodystrophic:ASTT:ASTT -osteomyelitides:ASTM:ASTM -osteopathically:ASTP:ASTP -outmanoeuvreing:ATMN:ATMN -ovariectomizing:AFRK:AFRK -overaccentuated:AFRX:AFRX -overaccentuates:AFRX:AFRX -overambitiously:AFRM:AFRM -overassertively:AFRS:AFRS -overattentively:AFRT:AFRT -overcapitalized:AFRK:AFRK -overcapitalizes:AFRK:AFRK -overcompensated:AFRK:AFRK -overcompensates:AFRK:AFRK -overcompetitive:AFRK:AFRK -overcomplacency:AFRK:AFRK -overcomplicated:AFRK:AFRK -overcomplicates:AFRK:AFRK -overconsiderate:AFRK:AFRK -overconsumption:AFRK:AFRK -overcriticizing:AFRK:AFRK -overcultivating:AFRK:AFRK -overdeferential:AFRT:AFRT -overdevelopment:AFRT:AFRT -overdiversified:AFRT:AFRT -overdiversifies:AFRT:AFRT -overdramatizing:AFRT:AFRT -overelaborating:AFRL:AFRL -overelaboration:AFRL:AFRL -overembellished:AFRM:AFRM -overembellishes:AFRM:AFRM -overembroidered:AFRM:AFRM -overemphasizing:AFRM:AFRM -overexpenditure:AFRK:AFRK -overfamiliarity:AFRF:AFRF -overgeneralized:AFRJ:AFRK -overgeneralizes:AFRJ:AFRK -overimaginative:AFRM:AFRM -overinfluencing:AFRN:AFRN -overinfluential:AFRN:AFRN -overinsistently:AFRN:AFRN -overpessimistic:AFRP:AFRP -overproportions:AFRP:AFRP -overpublicizing:AFRP:AFRP -overrestricting:AFRS:AFRS -overrestriction:AFRS:AFRS -overrighteously:AFRT:AFRT -overromanticize:AFRM:AFRM -oversensitivity:AFRS:AFRS -oversimplifying:AFRS:AFRS -overspecialized:AFRS:AFRS -overspecializes:AFRS:AFRS -overstimulating:AFRS:AFRS -oversubscribing:AFRS:AFRS -oversusceptible:AFRS:AFRS -overventilation:AFRF:AFRF -overweeningness:AFRN:AFRN -ovoviviparities:AFFF:AFFF -ovoviviparously:AFFF:AFFF -oxytetracycline:AKST:AKST -pachymeningitis:PKMN:PKMN -painstakingness:PNST:PNST -palaeobotanical:PLPT:PLPT -palaeographical:PLKR:PLKR -palaeomagnetism:PLMN:PLMK -palaeontologist:PLNT:PLNT -palaeotographic:PLTK:PLTK -palaeotological:PLTL:PLTL -palaeozoologist:PLSL:PLSL -palatomaxillary:PLTM:PLTM -palatorrhaphies:PLTR:PLTR -palatoschisises:PLTX:PLTX -paleocerebellar:PLSR:PLSR -paleocerebellum:PLSR:PLSR -paleoencephalon:PLNS:PLNS -paleontologists:PLNT:PLNT -palindromically:PLNT:PLNT -panagglutinable:PNKL:PNKL -pancreatogenous:PNKR:PNKR -pancreatotomies:PNKR:PNKR -panhysterectomy:PNST:PNST -panmyelopathies:PNML:PNML -panophthalmitis:PNF0:PNFT -pantheistically:PN0S:PNTS -papulovesicular:PPLF:PPLF -paragammacismus:PRKM:PRKM -paragangliomata:PRKN:PRKN -paragenetically:PRJN:PRKN -paragraphically:PRKR:PRKR -paralinguistics:PRLN:PRLN -parallactically:PRLK:PRLK -parameterizable:PRMT:PRMT -paranephritides:PRNF:PRNF -paraproteinemia:PRPR:PRPR -parasexualities:PRSK:PRSK -parasitological:PRST:PRST -parasitologists:PRST:PRST -parasympathetic:PRSM:PRSM -parathyroprival:PR0R:PRTR -parathyroprivic:PR0R:PRTR -parathyrotropic:PR0R:PRTR -paratuberculous:PRTP:PRTP -paravertebrally:PRFR:PRFR -parenthetically:PRN0:PRNT -parepididymides:PRPT:PRPT -parliamentarian:PRLM:PRLM -parotidectomies:PRTT:PRTT -parovariotomies:PRFR:PRFR -parthenocarpous:PR0N:PRTN -parthenogeneses:PR0N:PRTN -parthenogenesis:PR0N:PRTN -parthenogenetic:PR0N:PRTN -particularistic:PRTK:PRTK -particularities:PRTK:PRTK -particularizing:PRTK:PRTK -passifloraceous:PSFL:PSFL -passionlessness:PSNL:PSNL -paterfamiliases:PTRF:PTRF -pathogenicities:P0JN:PTKN -pathognomonical:P0NM:PTKN -pathomorphology:PTMR:PTMR -pathophysiology:P0FS:PTFX -pathopsychology:P0PS:PTPS -pedestrianizing:PTST:PTST -pentaerythritol:PNTR:PNTR -perfunctoriness:PRFN:PRFN -periarthritides:PRR0:PRRT -pericardiectomy:PRKR:PRKR -pericholangitis:PRXL:PRKL -pericoronitides:PRKR:PRKR -perienteritides:PRNT:PRNT -perienteritises:PRNT:PRNT -periesophagitis:PRSF:PRSF -perihepatitides:PRHP:PRHP -perineoplasties:PRNP:PRNP -perinephritides:PRNF:PRNF -periodontically:PRTN:PRTN -perioptometries:PRPT:PRPT -periosteotomies:PRST:PRST -peripatetically:PRPT:PRPT -periphlebitides:PRFL:PRFL -periprostatitis:PRPR:PRPR -perisalpingitis:PRSL:PRSL -perisigmoiditis:PRSK:PRSK -perispermatitis:PRSP:PRSP -perispondylitis:PRSP:PRSP -peristaltically:PRST:PRST -perithyroiditis:PR0R:PRTR -peritoneopexies:PRTN:PRTN -peritoneoscopic:PRTN:PRTN -peritoneotomies:PRTN:PRTN -peritonsillitis:PRTN:PRTN -permissibleness:PRMS:PRMS -permutationists:PRMT:PRMT -peroxysulphuric:PRKS:PRKS -perpendicularly:PRPN:PRPN -persnicketiness:PRSN:PRSN -personalization:PRSN:PRSN -personification:PRSN:PRSN -perspicaciously:PRSP:PRSP -perspicuousness:PRSP:PRSP -pessimistically:PSMS:PSMS -pestiferousness:PSTF:PSTF -petrochemically:PTRX:PTRK -petropharyngeus:PTRF:PTRF -phalangectomies:FLNJ:FLNK -phantasmagorias:FNTS:FNTS -phantasmagories:FNTS:FNTS -pharmacodynamic:FRMK:FRMK -pharmacogenetic:FRMK:FRMK -pharmacognosies:FRMK:FRMK -pharmacognosist:FRMK:FRMK -pharmacognostic:FRMK:FRMK -pharmacological:FRMK:FRMK -pharmacologists:FRMK:FRMK -pharmacopoeists:FRMK:FRMK -pharmacotherapy:FRMK:FRMK -pharyngectomies:FRNJ:FRNK -pharyngoglossus:FRNK:FRNK -pharyngological:FRNK:FRNK -phenakistoscope:FNKS:FNKS -phenolphthalein:FNLF:FNLF -phenomenalistic:FNMN:FNMN -phenomenologies:FNMN:FNMN -phenomenologist:FNMN:FNMN -phenylhydrazine:FNLT:FNLT -phenylketonuria:FNLK:FNLK -phenylketonuric:FNLK:FNLK -pheochromoblast:FKRM:FKRM -philanthropical:FLN0:FLNT -philanthropised:FLN0:FLNT -philanthropists:FLN0:FLNT -philosophically:FLSF:FLSF -phlebolithiases:FLPL:FLPL -phlebolithiasis:FLPL:FLPL -phleboscleroses:FLPS:FLPS -phlebosclerosis:FLPS:FLPS -phlebosclerotic:FLPS:FLPS -phlebotomically:FLPT:FLPT -phonautographic:FNTK:FNTK -phonocardiogram:FNKR:FNKR -phonogramically:FNKR:FNKR -phonophotograph:FNFT:FNFT -phosphatization:FSFT:FSFT -phosphoarginine:FSFR:FSFR -phosphocreatine:FSFK:FSFK -phosphoglyceric:FSFK:FSFK -phosphomolybdic:FSFM:FSFM -phosphonecroses:FSFN:FSFN -phosphonecrosis:FSFN:FSFN -phosphopyruvate:FSFP:FSFP -phosphorescence:FSFR:FSFR -phosphorylating:FSFR:FSFR -phosphorylation:FSFR:FSFR -phosphorylative:FSFR:FSFR -phosphotungstic:FSFT:FSFT -photoautotropic:FTTT:FTTT -photobiological:FTPL:FTPL -photobiologists:FTPL:FTPL -photochemically:FTXM:FTKM -photocoagulator:FTKK:FTKK -photoconduction:FTKN:FTKN -photoconductive:FTKN:FTKN -photoelasticity:FTLS:FTLS -photoelectrical:FTLK:FTLK -photogrammetric:FTKR:FTKR -photojournalism:FTJR:FTHR -photojournalist:FTJR:FTHR -photolithograph:FTL0:FTLT -photomacrograph:FTMK:FTMK -photomechanical:FTMX:FTMK -photometrically:FTMT:FTMT -photomicrograph:FTMK:FTMK -photomultiplier:FTML:FTML -photoperiodical:FTPR:FTPR -photosensitized:FTSN:FTSN -photosensitizer:FTSN:FTSN -photosensitizes:FTSN:FTSN -photosynthesize:FTSN:FTSN -phototactically:FTTK:FTTK -phototelegraphy:FTTL:FTTL -phototopography:FTTP:FTTP -phototransistor:FTTR:FTTR -phototropically:FTTR:FTTR -phototypography:FTTP:FTTP -photozincograph:FTSN:FTSN -phrenicectomies:FRNS:FRNS -phrenologically:FRNL:FRNL -phthisiologists:F0SL:FTXL -phthisiotherapy:F0S0:FTXT -phylloporphyrin:FLPR:FLPR -physianthropies:FSN0:FXNT -physicochemical:FSKX:FSKK -physiologically:FSLJ:FXLK -physiopathology:FSP0:FXPT -physiotherapies:FS0R:FXTR -physiotherapist:FS0R:FXTR -phytochemically:FTXM:FTKM -phytoflagellata:FTFL:FTFL -phytogeographer:FTJK:FTKK -phytogeographic:FTJK:FTKK -phytopathogenic:FTP0:FTPT -phytopathologic:FTP0:FTPT -phytoplanktonic:FTPL:FTPL -phytotoxicities:FTTK:FTTK -picturesqueness:PKTR:PKTR -piezometrically:PSMT:PSMT -pinocytotically:PNST:PNST -pisciculturally:PSKL:PSKL -pisciculturists:PSKL:PSKL -pithecanthropus:P0KN:PTKN -plagiocephalies:PLJS:PLKS -plainclothesman:PLNK:PLNK -plainclothesmen:PLNK:PLNK -plainspokenness:PLNS:PLNS -planometrically:PLNM:PLNM -plasmacytosises:PLSM:PLSM -plasmatorrhexes:PLSM:PLSM -plasmatorrhexis:PLSM:PLSM -plasmolytically:PLSM:PLSM -platitudinizing:PLTT:PLTT -platitudinously:PLTT:PLTT -platycephalisms:PLTS:PLTS -platyhelminthes:PLTH:PLTH -platyhelminthic:PLTH:PLTH -pleasurableness:PLSR:PLSR -plenipotentiary:PLNP:PLNP -plethysmography:PL0S:PLTS -pleuroperitonea:PLRP:PLRP -pleuropneumonia:PLRP:PLRP -pleuropulmonary:PLRP:PLRP -plumbaginaceous:PLMP:PLMP -pneumatological:NMTL:NMTL -pneumatometries:NMTM:NMTM -pneumoenteritis:NMNT:NMNT -pneumographical:NMKR:NMKR -pneumonectomies:NMNK:NMNK -pneumoperitonea:NMPR:NMPR -pneumotachogram:NMTK:NMTK -podophyllotoxin:PTFL:PTFL -poikilothermies:PKL0:PKLT -poikilothermism:PKL0:PKLT -poikilothermous:PKL0:PKLT -polarographical:PLRK:PLRK -poliomyelitides:PLML:PLML -polyarthritides:PLR0:PLRT -polychlorinated:PLXL:PLKL -polyelectrolyte:PLLK:PLLK -polygraphically:PLKR:PLKR -polymorphically:PLMR:PLMR -polyradiculitis:PLRT:PLRT -polyunsaturated:PLNS:PLNS -pontocerebellar:PNTS:PNTS -populaceousness:PPLS:PPLS -popularizations:PPLR:PPLR -porocephaliases:PRSF:PRSF -porocephaliasis:PRSF:PRSF -porphobilinogen:PRFP:PRFP -postconsonantal:PSTK:PSTK -posteroanterior:PSTR:PSTR -posteroexternal:PSTR:PSTR -posterointernal:PSTR:PSTR -posterosuperior:PSTR:PSTR -posterotemporal:PSTR:PSTR -posthemorrhagic:PS0M:PSTM -postirradiation:PSTR:PSTR -postoperatively:PSTP:PSTP -practicableness:PRKT:PRKT -preannouncement:PRNN:PRNN -preapplications:PRPL:PRPL -preascertaining:PRSR:PRSR -precalculations:PRKL:PRKL -precapitalistic:PRKP:PRKP -precelebrations:PRSL:PRSL -precipitability:PRSP:PRSP -precipitateness:PRSP:PRSP -precipitousness:PRSP:PRSP -precivilization:PRSF:PRSF -precondemnation:PRKN:PRKN -preconditioning:PRKN:PRKN -preconjecturing:PRKN:PRKN -preconstructing:PRKN:PRKN -preconstruction:PRKN:PRKN -preconsultation:PRKN:PRKN -predeterminable:PRTT:PRTT -predictableness:PRTK:PRTK -predispositions:PRTS:PRTS -predominatingly:PRTM:PRTM -preestablishing:PRST:PRST -preexaminations:PRKS:PRKS -prefiguratively:PRFK:PRFK -prehistorically:PRHS:PRHS -preinitializing:PRNX:PRNX -prekindergarten:PRKN:PRKN -preorganization:PRRK:PRRK -prepositionally:PRPS:PRPS -prepossessingly:PRPS:PRPS -preregistration:PRRJ:PRRK -prereproductive:PRRP:PRRP -presbyterianism:PRSP:PRSP -presentationism:PRSN:PRSN -presentationist:PRSN:PRSN -pressosensitive:PRSS:PRSS -prestidigitator:PRST:PRST -prestigiousness:PRST:PRST -presumptiveness:PRSM:PRSM -presuppositions:PRSP:PRSP -presynaptically:PRSN:PRSN -pretentiousness:PRTN:PRTN -preternaturally:PRTR:PRTR -problematically:PRPL:PRPL -procompromising:PRKM:PRKM -proconscription:PRKN:PRKN -proconservation:PRKN:PRKN -procrastinating:PRKR:PRKR -procrastination:PRKR:PRKR -procrastinative:PRKR:PRKR -procrastinators:PRKR:PRKR -proerythroblast:PRR0:PRRT -professionalism:PRFS:PRFS -professionalist:PRFS:PRFS -professionalize:PRFS:PRFS -profibrinolysin:PRFP:PRFP -profitabilities:PRFT:PRFT -progenitiveness:PRJN:PRKN -prognosticating:PRNS:PRKN -prognostication:PRNS:PRKN -prognosticative:PRNS:PRKN -prognosticators:PRNS:PRKN -prognosticatory:PRNS:PRKN -programmability:PRKR:PRKR -progressionally:PRKR:PRKR -progressionists:PRKR:PRKR -progressiveness:PRKR:PRKR -prohibitionists:PRHP:PRHP -prohibitiveness:PRHP:PRHP -prointervention:PRNT:PRNT -proletarianized:PRLT:PRLT -proletarianizes:PRLT:PRLT -proletarianness:PRLT:PRLT -promiscuousness:PRMS:PRMS -pronationalists:PRNX:PRNX -pronominalizing:PRNM:PRNM -pronunciamentos:PRNN:PRNN -proportionality:PRPR:PRPR -proportionately:PRPR:PRPR -proportionating:PRPR:PRPR -propositionally:PRPS:PRPS -proprietorially:PRPR:PRPR -proprietorships:PRPR:PRPR -proselytization:PRSL:PRSL -prosenchymatous:PRSN:PRSN -prostatectomies:PRST:PRST -prostatovesical:PRST:PRST -prosthodontists:PRS0:PRST -protistologists:PRTS:PRTS -protostrongylus:PRTS:PRTS -protovertebraes:PRTF:PRTF -protozoologists:PRTS:PRTS -provincialising:PRFN:PRFN -provisionalness:PRFS:PRFX -provocativeness:PRFK:PRFK -pseudoaconitine:STKN:STKN -pseudoarthroses:STR0:STRT -pseudoarthrosis:STR0:STRT -pseudocirrhoses:STSR:STSR -pseudocirrhosis:STSR:STSR -pseudoclassical:STKL:STKL -pseudoephedrine:STFT:STFT -pseudolegendary:STLJ:STLK -pseudomelanoses:STML:STML -pseudomelanosis:STML:STML -pseudomorphosis:STMR:STMR -pseudomutuality:STMT:STMT -pseudoneuromata:STNR:STNR -pseudoparalyses:STPR:STPR -pseudoparalysis:STPR:STPR -pseudopatriotic:STPT:STPT -pseudophyllidea:STFL:STFL -pseudopregnancy:STPR:STPR -pseudoscholarly:STXL:STXL -pseudoscleroses:STSK:STSK -pseudosclerosis:STSK:STSK -pseudoventricle:STFN:STFN -psychanalytical:SXNL:SKNL -psychedelically:SXTL:SKTL -psychiatrically:SKTR:SKTR -psychoacoustics:SXKS:SKKS -psychoanalyzing:SXNL:SKNL -psychobiography:SXPK:SKPK -psychobiologies:SXPL:SKPL -psychobiologist:SXPL:SKPL -psychocatharses:SXK0:SKKT -psychocatharsis:SXK0:SKKT -psychochemicals:SXXM:SKKM -psychodiagnoses:SXTN:SKTK -psychodiagnosis:SXTN:SKTK -psychodynamical:SXTN:SKTN -psychogenically:SXJN:SKKN -psychogeriatric:SXKR:SKJR -psychographical:SXKR:SKKR -psychohistories:SXHS:SKHS -psychologically:SXLJ:SKLK -psychometrician:SXMT:SKMT -psychopathology:SXP0:SKPT -psychophysicist:SXFS:SKFS -psychosensorial:SXSN:SKSN -psychosexuality:SXSK:SKSK -psychosomatical:SXSM:SKSM -psychosurgeries:SXSR:SKSR -psychosyntheses:SXSN:SKSN -psychosynthesis:SXSN:SKSN -psychotherapies:SX0R:SKTR -psychotherapist:SX0R:SKTR -psychotomimetic:SXTM:SKTM -psychroesthesia:SXRS:SKRS -pterygopalatine:PTRK:PTRK -pulchritudinous:PLXR:PLKR -punctiliousness:PNKT:PNKT -puritanicalness:PRTN:PRTN -purposelessness:PRPS:PRPS -pusillanimously:PSLN:PSLN -pyelocystitides:PLSS:PLSS -pyknoepilepsies:PKNP:PKNP -pylephlebitides:PLFL:PLFL -pyloromyotomies:PLRM:PLRM -pyohemothoraces:PHM0:PHMT -pyohemothoraxes:PHM0:PHMT -pyopneumothorax:PPNM:PPNM -pyretotherapies:PRT0:PRTT -pyroelectricity:PRLK:PRLK -pyrophosphatase:PRFS:PRFS -pyrotechnically:PRTK:PRTK -quadragenarians:KTRJ:KTRK -quadrillionthes:KTRL:KTRL -quadruplicating:KTRP:KTRP -quadruplication:KTRP:KTRP -quantifications:KNTF:KNTF -quarrelsomeness:KRLS:KRLS -quarterfinalist:KRTR:KRTR -quatercentenary:KTRS:KTRS -questionability:KSXN:KSXN -quincentenaries:KNSN:KNSN -quinquagenarian:KNKJ:KNKK -quintillionthes:KNTL:KNTL -quintuplicating:KNTP:KNTP -quintuplication:KNTP:KNTP -quodlibetically:KTLP:KTLP -quotidianrabbet:KTTN:KTTN -radiculectomies:RTKL:RTKL -radioactivation:RTKT:RTKT -radioactivities:RTKT:RTKT -radioautography:RTTK:RTTK -radiobiological:RTPL:RTPL -radiobiologists:RTPL:RTPL -radiochemically:RTXM:RTKM -radiodermatitis:RTTR:RTTR -radioecologists:RTKL:RTKL -radioisotopical:RTST:RTST -radiometrically:RTMT:RTMT -radiophonically:RTFN:RTFN -radiophosphorus:RTFS:RTFS -radioprotection:RTPR:RTPR -radioprotective:RTPR:RTPR -radioresistance:RTRS:RTRS -radioscopically:RTSK:RTSK -radiosterilized:RTST:RTST -radiotelegraphs:RTTL:RTTL -radiotelegraphy:RTTL:RTTL -radiotelemetric:RTTL:RTTL -radiotelephones:RTTL:RTTL -radiotelephonic:RTTL:RTTL -radiotherapists:RT0R:RTTR -rancidification:RNST:RNST -rationalistical:RXNL:RXNL -rationalization:RXNL:RXNL -reaccommodating:RKMT:RKMT -reaccreditation:RKRT:RKRT -reafforestation:RFRS:RFRS -reapportionment:RPRX:RPRX -reappropriating:RPRP:RPRP -reappropriation:RPRP:RPRP -reassimilations:RSML:RSML -recalcification:RKLS:RKLS -recalcitrancies:RKLS:RKLS -recapitulations:RKPT:RKPT -recertification:RSRT:RSRT -recodifications:RKTF:RKTF -recognisability:RKNS:RKKN -recognizability:RKNS:RKKN -recommendations:RKMN:RKMN -recommissioning:RKMS:RKMS -reconcentrating:RKNS:RKNS -reconcentration:RKNS:RKNS -reconcilability:RKNS:RKNS -reconciliations:RKNS:RKNS -reconfiguration:RKNF:RKNF -reconfirmations:RKNF:RKNF -reconnaissances:RKNS:RKNS -reconsecrations:RKNS:RKNS -reconsideration:RKNS:RKNS -reconsolidating:RKNS:RKNS -reconsolidation:RKNS:RKNS -reconstructible:RKNS:RKNS -reconstructions:RKNS:RKNS -recontamination:RKNT:RKNT -recrementitious:RKRM:RKRM -recrystallizing:RKRS:RKRS -redemonstrating:RTMN:RTMN -redemonstration:RTMN:RTMN -redetermination:RTTR:RTTR -redistributions:RTST:RTST -redoubtableness:RTPT:RTPT -reduplicatively:RTPL:RTPL -reestablishment:RSTP:RSTP -refractometries:RFRK:RFRK -refrangibleness:RFRN:RFRN -regerminatively:RJRM:RKRM -rehabilitations:RHPL:RHPL -reharmonization:RHRM:RHRM -reincorporating:RNKR:RNKR -reincorporation:RNKR:RNKR -reinstallations:RNST:RNST -reinterrogating:RNTR:RNTR -reinterrogation:RNTR:RNTR -reinvestigating:RNFS:RNFS -reinvestigation:RNFS:RNFS -relinquishments:RLNK:RLNK -remanufacturing:RMNF:RMNF -remodifications:RMTF:RMTF -remonetizations:RMNT:RMNT -remonstratingly:RMNS:RMNS -remorselessness:RMRS:RMRS -reorganizations:RRKN:RRKN -repetitiousness:RPTT:RPTT -rephotographing:RFTK:RFTK -representations:RPRS:RPRS -representatives:RPRS:RPRS -reprivatization:RPRF:RPRF -reproachfulness:RPRK:RPRK -reproducibility:RPRT:RPRT -republicanizing:RPPL:RPPL -resectabilities:RSKT:RSKT -reserpinization:RSRP:RSRP -resourcefulness:RSRS:RSRS -respectableness:RSPK:RSPK -responsibleness:RSPN:RSPN -restorativeness:RSTR:RSTR -restraightening:RSTR:RSTR -restrengthening:RSTR:RSTR -restrictionists:RSTR:RSTR -restrictiveness:RSTR:RSTR -resurrectionism:RSRK:RSRK -resurrectionist:RSRK:RSRK -reticulocytoses:RTKL:RTKL -reticulocytosis:RTKL:RTKL -retinoblastomas:RTNP:RTNP -retransmissions:RTRN:RTRN -retroactiveness:RTRK:RTRK -retrogressively:RTRK:RTRK -retrolenticular:RTRL:RTRL -retroperitoneal:RTRP:RTRP -retropharyngeal:RTRF:RTRF -retrospectively:RTRS:RTRS -reverberatories:RFRP:RFRP -reverifications:RFRF:RFRF -revolutionaries:RFLX:RFLX -revolutionizing:RFLX:RFLX -rheumatological:RMTL:RMTL -rheumatologists:RMTL:RMTL -rhinencephalons:RNNS:RNNS -rhinencephalous:RNNS:RNNS -rhinoscleromata:RNSK:RNSK -rhombencephalon:RMPN:RMPN -rhytidoplasties:RTTP:RTTP -ritualistically:RTLS:RTLS -roentgenization:RNTJ:RNTK -roentgenography:RNTJ:RNTK -roentgenologies:RNTJ:RNTK -roentgenologist:RNTJ:RNTK -roentgenoscopic:RNTJ:RNTK -roentgentherapy:RNTJ:RNTK -romanticization:RMNT:RMNT -rumbustiousness:RMPS:RMPS -rumpelstiltskin:RMPL:RMPL -saccharimetries:SXRM:SXRM -saccharometries:SXRM:SXRM -saccharomycetic:SXRM:SXRM -sacerdotalising:SSRT:SSRT -sacramentalists:SKRM:SKRM -sadomasochistic:STMS:STMS -salicylaldehyde:SLSL:SLSL -salpingectomies:SLPN:SLPN -salpingostomies:SLPN:SLPN -sanctifications:SNKT:SNKT -sanctimoniously:SNKT:SNKT -sanguineousness:SNKN:SNKN -saponaceousness:SPNS:SPNS -saprogenicities:SPRJ:SPRK -saprophytically:SPRF:SPRF -scaphocephalies:SKFS:SKFS -scaphocephalism:SKFS:SKFS -scaphocephalous:SKFS:SKFS -scarlatinogenic:SKRL:SKRL -schistorrhachis:XSTR:XSTR -schistosomiases:XSTS:XSTS -schistosomiasis:XSTS:XSTS -schizogenetical:XSKN:XSKN -schizophrenical:XSFR:XSFR -schoolmastering:SKLM:SKLM -schoolmasterish:SKLM:SKLM -schoolmistressy:SKLM:SKLM -scintillatingly:SNTL:SNTL -scleroblastemas:SKRP:SKRP -scleroblastemic:SKRP:SKRP -sclerodactylias:SKRT:SKRT -sclerodactylies:SKRT:SKRT -sclerodermatous:SKRT:SKRT -sclerokeratitis:SKRK:SKRK -sclerotherapies:SKR0:SKRT -scrumptiousness:SKMP:SKMP -sculpturesquely:SKLP:SKLP -secundigravidae:SKNT:SKNT -secundigravidas:SKNT:SKNT -secundogeniture:SKNT:SKNT -segmentectomies:SKMN:SKMN -segregationists:SKRK:SKRK -seismologically:SSML:SSML -semiautomatical:SMTM:SMTM -semiclassically:SMKL:SMKL -semiconsciously:SMKN:SMKN -semicrystalline:SMKR:SMKR -semidependently:SMTP:SMTP -semidocumentary:SMTK:SMTK -semifictionally:SMFK:SMFK -semiindependent:SMNT:SMNT -semimembranosus:SMMM:SMMM -semimountainous:SMMN:SMMN -semipermanently:SMPR:SMPR -semirespectable:SMRS:SMRS -semisatirically:SMST:SMST -semisocialistic:SMSS:SMSX -semisubmersible:SMSP:SMSP -semitraditional:SMTR:SMTR -semitranslucent:SMTR:SMTR -semitransparent:SMTR:SMTR -sensationalists:SNSX:SNSX -sensationalized:SNSX:SNSX -sensationalizes:SNSX:SNSX -sententiousness:SNTN:SNTN -sentimentalists:SNTM:SNTM -sentimentalized:SNTM:SNTM -sentimentalizes:SNTM:SNTM -septuagenarians:SPTJ:SPTK -sequentializing:SKNX:SKNX -sequestratrices:SKST:SKST -serendipitously:SRNT:SRNT -serosanguineous:SRSN:SRSN -serviceableness:SRFS:SRFS -servomechanical:SRFM:SRFM -servomechanisms:SRFM:SRFM -sesquicarbonate:SSKK:SSKK -shillyshallying:XLXL:XLXL -siderosilicosis:STRS:STRS -sigmoidectomies:SKMT:SKMT -sigmoidoscopies:SKMT:SKMT -sigmoidostomies:SKMT:SKMT -significatively:SNFK:SKNF -silicosiderosis:SLKS:SLKS -simplicidentate:SMPL:SMPL -simplifications:SMPL:SMPL -singularization:SNKL:SNKL -sinistrodextral:SNST:SNST -sinistrotorsion:SNST:SNST -skeletomuscular:SKLT:SKLT -skeletonisation:SKLT:SKLT -slaughterhouses:SLFT:XLFT -socialistically:SSLS:SXLS -sociocentricity:SSSN:SXSN -socioculturally:SSKL:SXKL -sociolinguistic:SSLN:SXLN -softheartedness:SF0R:SFTR -solemnification:SLMN:SLMN -somatotherapies:SMT0:SMTT -somatotherapist:SMT0:SMTT -somatotypically:SMTT:SMTT -sophisticatedly:SFST:SFST -southeastwardly:S0ST:STST -southwesterners:S0ST:STST -southwestwardly:S0ST:STST -spasmolytically:SPSM:SPSM -specializations:SPSL:SPXL -spectrochemical:SPKT:SPKT -spectrographies:SPKT:SPKT -spectroscopical:SPKT:SPKT -spectroscopists:SPKT:SPKT -speculativeness:SPKL:SPKL -spermatoblastic:SPRM:SPRM -spermatogeneses:SPRM:SPRM -spermatogenesis:SPRM:SPRM -spermatogenetic:SPRM:SPRM -spermatolyseses:SPRM:SPRM -spermatopathies:SPRM:SPRM -sphacelodermata:SFSL:SFSL -sphenocephalies:SFNS:SFNS -sphenocephalous:SFNS:SFNS -sphenomaxillary:SFNM:SFNM -sphenooccipital:SFNX:SFNX -sphenosquamosal:SFNS:SFNS -sphincterectomy:SFNK:SFNK -sphincterolyses:SFNK:SFNK -sphincterolysis:SFNK:SFNK -sphygmographies:SFKM:SFKM -spinocerebellar:SPNS:SPNS -spirochaetaceae:SPRK:SPRX -spirochaeticide:SPRK:SPRX -spirocheticidal:SPRX:SPRK -splanchnectopia:SPLN:SPLN -splanchnicotomy:SPLN:SPLN -splanchnologies:SPLN:SPLN -splanchnomegaly:SPLN:SPLN -splanchnopleure:SPLN:SPLN -splanchnoptoses:SPLN:SPLN -splanchnoptosis:SPLN:SPLN -splenectomizing:SPLN:SPLN -spondylopathies:SPNT:SPNT -spongioblastoma:SPNJ:SPNK -spontaneousness:SPNT:SPNT -standardbearers:STNT:STNT -standardization:STNT:STNT -standoffishness:STNT:STNT -stapedectomized:STPT:STPT -staphylectomies:STFL:STFL -staphyloplastic:STFL:STFL -staphylorrhaphy:STFL:STFL -stephanofilaria:STFN:STFN -stercobilinogen:STRK:STRK -stereoblastulae:STRP:STRP -stereoblastulas:STRP:STRP -stereochemistry:STRX:STRK -stereoisomerism:STRS:STRS -stereotaxically:STRT:STRT -stereotypically:STRT:STRT -steroidogeneses:STRT:STRT -steroidogenesis:STRT:STRT -stoichiological:STXL:STKL -stoichiometries:STXM:STKM -straightforward:STRT:STRT -stratifications:STRT:STRT -strephosymbolia:STRF:STRF -strephosymbolic:STRF:STRF -streptobacillus:STRP:STRP -streptococcemia:STRP:STRP -streptococcosis:STRP:STRP -strongyloidosis:STRN:STRN -stylomandibular:STLM:STLM -stylopharyngeus:STLF:STLF -subalimentation:SPLM:SPLM -subassociations:SPSS:SPSX -subcivilization:SPSF:SPSF -subcommissioner:SPKM:SPKM -subcomputations:SPKM:SPKM -subconjunctival:SPKN:SPKN -subdepartmental:SPTP:SPTP -subdistinctions:SPTS:SPTS -suberylarginine:SPRL:SPRL -subintegumental:SPNT:SPNT -subjunctiveness:SPJN:SPJN -subminiaturized:SPMN:SPMN -subminiaturizes:SPMN:SPMN -subordinateness:SPRT:SPRT -subspecifically:SPSP:SPSP -substantialized:SPST:SPST -substantializes:SPST:SPST -substantialness:SPST:SPST -substantiations:SPST:SPST -substantiveness:SPST:SPST -substitutionary:SPST:SPST -subterraneously:SPTR:SPTR -subtrochanteric:SPTR:SPTR -succinylcholine:SXNL:SXNL -suggestibleness:SKST:SKST -sulphaemoglobin:SLFM:SLFM -sulphaguanidine:SLFK:SLFK -sulphamethazine:SLFM:SLFM -sulphamezathine:SLFM:SLFM -sulphhemoglobin:SLFM:SLFM -sulphosalicylic:SLFS:SLFS -superabundantly:SPRP:SPRP -superadditional:SPRT:SPRT -supercalendered:SPRK:SPRK -superconduction:SPRK:SPRK -superconductive:SPRK:SPRK -superconductors:SPRK:SPRK -superconformity:SPRK:SPRK -superexcitation:SPRK:SPRK -superexpressive:SPRK:SPRK -superficialness:SPRF:SPRF -superfluousness:SPRF:SPRF -superheterodyne:SPRT:SPRT -superimposition:SPRM:SPRM -superimpregnate:SPRM:SPRM -superincumbence:SPRN:SPRN -superincumbency:SPRN:SPRN -superinducement:SPRN:SPRN -superintendence:SPRN:SPRN -superintendency:SPRN:SPRN -superintendents:SPRN:SPRN -superinvolution:SPRN:SPRN -superlativeness:SPRL:SPRL -supernaturalism:SPRN:SPRN -supernumeraries:SPRN:SPRN -superobligation:SPRP:SPRP -superparasitism:SPRP:SPRP -supersaturating:SPRS:SPRS -supersaturation:SPRS:SPRS -superscriptions:SPRS:SPRS -supersimplicity:SPRS:SPRS -superspecialize:SPRS:SPRS -superstitiously:SPRS:SPRS -superstructural:SPRS:SPRS -superstructures:SPRS:SPRS -supplementaries:SPLM:SPLM -supplementarily:SPLM:SPLM -supplementation:SPLM:SPLM -suppositionally:SPSX:SPSX -suppositionless:SPSX:SPSX -supraclavicular:SPRK:SPRK -supracommissure:SPRK:SPRK -supramandibular:SPRM:SPRM -supranationally:SPRN:SPRN -supraoccipitals:SPRX:SPRX -suralimentation:SRLM:SRLM -surreptitiously:SRPT:SRPT -susceptibleness:SSPT:SSPT -sycophantically:SKFN:SKFN -syllabification:SLPF:SLPF -syllepsiologies:SLPS:SLPX -syllogistically:SLJS:SLKS -symbolistically:SMPL:SMPL -symmetricalness:SMTR:SMTR -sympathectomies:SMP0:SMPT -sympathetically:SMP0:SMPT -sympathetoblast:SMP0:SMPT -sympathicoblast:SMP0:SMPT -sympathicolytic:SMP0:SMPT -sympathicotonia:SMP0:SMPT -sympathicotonic:SMP0:SMPT -sympathogonioma:SMP0:SMPT -sympathomimetic:SMPT:SMPT -symphysiotomies:SMFS:SMFX -symptomatically:SMPT:SMPT -symptomatologic:SMPT:SMPT -synarthrodially:SNR0:SNRT -synarthrophyses:SNR0:SNRT -synarthrophysis:SNR0:SNRT -synchronization:SNXR:SNKR -synchronousness:SNXR:SNKR -syndesmochorial:SNTS:SNTS -synergistically:SNRJ:SNRK -syphilographies:SFLK:SFLK -systematization:SSTM:SSTM -tachometrically:TKMT:TKMT -tapinocephalies:TPNS:TPNS -tarsometatarsal:TRSM:TRSM -tarsometatarsus:TRSM:TRSM -tarsophalangeal:TRSF:TRSF -tatterdemalions:TTRT:TTRT -technologically:TKNL:TKNL -technostructure:TKNS:TKNS -telangiectasias:TLNJ:TLNK -telecardiophone:TLKR:TLKR -telegraphically:TLKR:TLKR -teleomerization:TLMR:TLMR -telephotographs:TLFT:TLFT -telephotography:TLFT:TLFT -teleradiography:TLRT:TLRT -teletypewriters:TLTP:TLTP -temperamentally:TMPR:TMPR -tempestuousness:TMPS:TMPS -temporoparietal:TMPR:TMPR -tendentiousness:TNTN:TNTN -tenderheartedly:TNTR:TNTR -tendinoplasties:TNTN:TNTN -tenomyoplasties:TNMP:TNMP -tenomyotomieses:TNMT:TNMT -tenosynovectomy:TNSN:TNSN -teratoblastomas:TRTP:TRTP -teratocarcinoma:TRTK:TRTK -terrestrialness:TRST:TRST -territorialized:TRTR:TRTR -territorializes:TRTR:TRTR -tetartohedrally:TTRT:TTRT -tetrabasicities:TTRP:TTRP -tetrasaccharide:TTRS:TTRS -tetrastichiasis:TTRS:TTRS -thalamencephala:0LMN:TLMN -thalamocortical:0LMK:TLMK -thalassotherapy:0LS0:TLST -thallotoxicoses:0LTK:TLTK -thallotoxicosis:0LTK:TLTK -thanatobiologic:0NTP:TNTP -thanatognomonic:0NTN:TNTK -theatricalizing:0TRK:TTRK -theorematically:0RMT:TRMT -therapeutically:0RPT:TRPT -therencephalous:0RNS:TRNS -thermoanalgesia:0RMN:TRMN -thermobarograph:0RMP:TRMP -thermocauteries:0RMK:TRMK -thermochemistry:0RMX:TRMK -thermodiffusion:0RMT:TRMT -thermodynamical:0RMT:TRMT -thermographical:0RMK:TRMK -thermoregulator:0RMR:TRMR -thermostability:0RMS:TRMS -thermosystaltic:0RMS:TRMS -thermotherapies:0RM0:TRMT -thiabendazoling:0PNT:TPNT -thickheadedness:0KTT:TKTT -thoracocenteses:0RKS:TRKS -thoracocentesis:0RKS:TRKS -thoracocylloses:0RKS:TRKS -thoracocyllosis:0RKS:TRKS -thoracoplasties:0RKP:TRKP -thoroughgoingly:0RFK:TRFK -thoughtlessness:0TLS:TTLS -thromboangiitis:0RMP:TRMP -thrombocythemia:0RMP:TRMP -thromboembolism:0RMP:TRMP -thuriferication:0RFR:TRFR -thyrocalcitonin:0RKL:TRKL -thyroepiglottic:0RPK:TRPK -thyroidectomies:0RTK:TRTK -thyroidectomize:0RTK:TRTK -thyrotoxicities:0RTK:TRTK -tintinabulation:TNTN:TNTN -toastmistresses:TSTM:TSTM -tonsillectomies:TNSL:TNSL -topographically:TPKR:TPKR -totalitarianism:TTLT:TTLT -toxicologically:TKSK:TKSK -trachelectomies:TRXL:TRKL -trachelomastoid:TRXL:TRKL -trachelorrhaphy:TRXL:TRKL -trachelotomying:TRXL:TRKL -tracheoplasties:TRXP:TRKP -tracheostenoses:TRXS:TRKS -tracheostenosis:TRXS:TRKS -tracheotomizing:TRXT:TRKT -trachychromatic:TRKX:TRKK -traditionalists:TRTX:TRTX -traditionalized:TRTX:TRTX -traditionalizes:TRTX:TRTX -tranquilization:TRNK:TRNK -transactionally:TRNS:TRNS -transcriptional:TRNS:TRNS -transequatorial:TRNS:TRNS -transferability:TRNS:TRNS -transfiguration:TRNS:TRNS -transfigurement:TRNS:TRNS -transformations:TRNS:TRNS -transgressively:TRNS:TRNS -transilluminate:TRNS:TRNS -transistorizing:TRNS:TRNS -translatability:TRNS:TRNS -transliterating:TRNS:TRNS -transliteration:TRNS:TRNS -transmigrations:TRNS:TRNS -transmogrifying:TRNS:TRNS -transmutability:TRNS:TRNS -transmutational:TRNS:TRNS -transparentness:TRNS:TRNS -transplantation:TRNS:TRNS -transposability:TRNS:TRNS -transpositional:TRNS:TRNS -transthoracical:TRNS:TRNS -transversectomy:TRNS:TRNS -tranylcypromine:TRNL:TRNL -treacherousness:TRXR:TRKR -treasonableness:TRSN:TRSN -tribromoethanol:TRPR:TRPR -trichinelliases:TRXN:TRKN -trichinelliasis:TRXN:TRKN -trichloroacetic:TRXL:TRKL -trichomonacidal:TRXM:TRKM -trichonodosises:TRXN:TRKN -trichromatopsia:TRXR:TRKR -triethanolamine:TR0N:TRTN -trifluoperazine:TRFL:TRFL -trigonocephalic:TRKN:TRKN -trigonometrical:TRKN:TRKN -trinitrobenzene:TRNT:TRNT -trinitrotoluene:TRNT:TRNT -trophonucleuses:TRFN:TRFN -tropicalization:TRPK:TRPK -troubleshooters:TRPL:TRPL -troubleshooting:TRPL:TRPL -troublesomeness:TRPL:TRPL -trustworthiness:TRST:TRST -trypanosomiases:TRPN:TRPN -trypanosomiasis:TRPN:TRPN -tuberculophobia:TPRK:TPRK -tuberculostatic:TPRK:TPRK -tuboligamentous:TPLK:TPLK -tumourigenicity:TMRJ:TMRK -turbidimetrical:TRPT:TRPT -turbogenerators:TRPJ:TRPK -tympanoplasties:TMPN:TMPN -typhloempyemata:TFLM:TFLM -typhlolithiases:TFLL:TFLL -typhlolithiasis:TFLL:TFLL -typographically:TPKR:TPKR -ultracentrifuge:ALTR:ALTR -ultrafiltration:ALTR:ALTR -ultramicroscope:ALTR:ALTR -ultramicroscopy:ALTR:ALTR -ultrasonography:ALTR:ALTR -ultrastructural:ALTR:ALTR -unacceptability:ANXP:ANXP -unaccommodating:ANKM:ANKM -unacknowledging:ANKN:ANKN -unaesthetically:ANS0:ANST -unalterableness:ANLT:ANLT -unanaesthetised:ANNS:ANNS -unascertainable:ANSR:ANSR -unattainability:ANTN:ANTN -unauthenticated:AN0N:ANTN -unavoidableness:ANFT:ANFT -unbelievingness:ANPL:ANPL -unceremoniously:ANSR:ANSR -unchallengeable:ANXL:ANKL -uncommunicative:ANKM:ANKM -uncompanionable:ANKM:ANKM -uncompassionate:ANKM:ANKM -uncomplainingly:ANKM:ANKM -uncomplimentary:ANKM:ANKM -uncomprehending:ANKM:ANKM -unconcernedness:ANKN:ANKN -unconditionally:ANKN:ANKN -unconnectedness:ANKN:ANKN -unconscientious:ANKN:ANKN -unconsciousness:ANKN:ANKN -uncontroversial:ANKN:ANKN -undemonstrative:ANTM:ANTM -underassessment:ANTR:ANTR -undercapitalize:ANTR:ANTR -underemphasized:ANTR:ANTR -underemphasizes:ANTR:ANTR -underemployment:ANTR:ANTR -underestimating:ANTR:ANTR -underestimation:ANTR:ANTR -underhandedness:ANTR:ANTR -undernourishing:ANTR:ANTR -underprivileged:ANTR:ANTR -underproduction:ANTR:ANTR -understandingly:ANTR:ANTR -understatements:ANTR:ANTR -undifferentiate:ANTF:ANTF -undisciplinable:ANTS:ANTS -undistinguished:ANTS:ANTS -unemployability:ANMP:ANMP -unequivocalness:ANKF:ANKF -unexceptionable:ANKS:ANKS -unexceptionably:ANKS:ANKS -unexceptionally:ANKS:ANKS -unfavorableness:ANFF:ANFF -unfortunateness:ANFR:ANFR -ungovernability:ANKF:ANKF -ungrammatically:ANKR:ANKR -unidiomatically:ANTM:ANTM -unimaginatively:ANMJ:ANMK -unintelligently:ANNT:ANNT -unintentionally:ANNT:ANNT -uninterestingly:ANNT:ANNT -uninterruptedly:ANNT:ANNT -unjustification:ANJS:ANJS -unknowledgeable:ANKN:ANKN -unnecessariness:ANSS:ANSS -unobjectionable:ANPJ:ANPJ -unobjectionably:ANPJ:ANPJ -unobtrusiveness:ANPT:ANPT -unparliamentary:ANPR:ANPR -unpatriotically:ANPT:ANPT -unphilosophical:ANFL:ANFL -unphysiological:ANFS:ANFX -unprecedentedly:ANPR:ANPR -unpremeditation:ANPR:ANPR -unprepossessing:ANPR:ANPR -unpretentiously:ANPR:ANPR -unprintableness:ANPR:ANPR -unprofitability:ANPR:ANPR -unprogressively:ANPR:ANPR -unpronounceable:ANPR:ANPR -unproportionate:ANPR:ANPR -unqualifiedness:ANKL:ANKL -unquestioningly:ANKS:ANKS -unrealistically:ANRL:ANRL -unreconstructed:ANRK:ANRK -unrelentingness:ANRL:ANRL -unremittingness:ANRM:ANRM -unrepresentable:ANRP:ANRP -unrighteousness:ANRT:ANRT -unseaworthiness:ANSR:ANSR -unselfconscious:ANSL:ANSL -unsentimentally:ANSN:ANSN -unshakeableness:ANXK:ANXK -unsophisticated:ANSF:ANSF -unspeakableness:ANSP:ANSP -unsportsmanlike:ANSP:ANSP -unstatesmanlike:ANST:ANST -unsubstantially:ANSP:ANSP -unsubstantiated:ANSP:ANSP -unsuspectedness:ANSS:ANSS -unsymmetrically:ANSM:ANSM -unsympathetical:ANSM:ANSM -untenantability:ANTN:ANTN -untraditionally:ANTR:ANTR -unutterableness:ANTR:ANTR -unwholesomeness:ANLS:ANLS -ureterographies:ARTR:ARTR -ureteroplasties:ARTR:ARTR -ureteropyelitis:ARTR:ARTR -urethrocystitis:AR0R:ARTR -urethroperineal:AR0R:ARTR -urethroplasties:AR0R:ARTR -urethrostenoses:AR0R:ARTR -urethrostenosis:AR0R:ARTR -valetudinarians:FLTT:FLTT -valvuloplasties:FLFL:FLFL -varicoblepharon:FRKP:FRKP -varicocelectomy:FRKS:FRKS -varicophlebitis:FRKF:FRKF -vascularization:FSKL:FSKL -vasoconstrictor:FSKN:FSKN -venovenostomies:FNFN:FNFN -ventriculitises:FNTR:FNTR -ventriculoscopy:FNTR:FNTR -ventriculostomy:FNTR:FNTR -ventriloquially:FNTR:FNTR -ventriloquising:FNTR:FNTR -ventriloquistic:FNTR:FNTR -ventrolaterally:FNTR:FNTR -venturesomeness:FNTR:FNTR -verdoperoxidase:FRTP:FRTP -vermilionectomy:FRML:FRML -vernacularising:FRNK:FRNK -vertebrectomies:FRTP:FRTP -vertebrosternal:FRTP:FRTP -vertiginousness:FRTJ:FRTK -vesicoprostatic:FSKP:FSKP -vesiculectomies:FSKL:FSKL -vesiculopapular:FSKL:FSKL -vespertilionine:FSPR:FSPR -vestibulospinal:FSTP:FSTP -vestibulotomies:FSTP:FSTP -vicissitudinous:FSST:FSST -visceromegalies:FSRM:FSRM -visceroparietal:FSRP:FSRP -vivisectionally:FFSK:FFSK -vivisectionists:FFSK:FFSK -vulnerabilities:FLNR:FLNR -warmheartedness:ARMR:FRMR -weatherboarding:A0RP:FTRP -weatherproofing:A0RP:FTRP -weatherstripped:A0RS:FTRS -whatchamacallit:AXMK:AXMK -whippersnappers:APRS:APRS -wrongheadedness:RNKT:RNKT -xanthochromatic:SN0K:SNTK -xanthocyanopsia:SN0S:SNTS -xanthogranuloma:SN0K:SNTK -xenographically:SNKR:SNKR -xenomorphically:SNMR:SNMR -xerographically:SRKR:SRKR -xeroradiography:SRRT:SRRT -zoogeographical:SJKR:SKKR -zygophyllaceous:SKFL:SKFL -abdominoanterior:APTM:APTM -abdominocenteses:APTM:APTM -abdominocentesis:APTM:APTM -abdominoperineal:APTM:APTM -absentmindedness:APSN:APSN -accumulativeness:AKML:AKML -acetylsalicylate:ASTL:ASTL -acknowledgements:AKNL:AKNL -acquaintanceship:AKNT:AKNT -acrodermatitides:AKRT:AKRT -acrodermatitises:AKRT:AKRT -actinobacilloses:AKTN:AKTN -actinobacillosis:AKTN:AKTN -actinomycetaceae:AKTN:AKTN -adamantoblastoma:ATMN:ATMN -addressographing:ATRS:ATRS -adenocarcinomata:ATNK:ATNK -adenopharyngitis:ATNF:ATNF -administrational:ATMN:ATMN -administratively:ATMN:ATMN -administratrices:ATMN:ATMN -adrenalectomized:ATRN:ATRN -adrenalectomizes:ATRN:ATRN -advantageousness:ATFN:ATFN -adventitiousness:ATFN:ATFN -aerobiologically:ARPL:ARPL -aerotherapeutics:AR0R:ARTR -agamogenetically:AKMJ:AKMK -agriculturalists:AKRK:AKRK -allylnormorphine:ALLN:ALLN -ambidextrousness:AMPT:AMPT -aminotransferase:AMNT:AMNT -anaesthetization:ANS0:ANST -anagrammatically:ANKR:ANKR -analphabetically:ANLF:ANLF -anaphylactogenic:ANFL:ANFL -anchylostomiasis:ANXL:ANKL -anemographically:ANMK:ANMK -anesthesiologies:ANS0:ANST -anesthesiologist:ANS0:ANST -aneurismatically:ANRS:ANRS -aneurysmatically:ANRS:ANRS -antagonistically:ANTK:ANTK -anthropocentrism:AN0R:ANTR -anthropographies:AN0R:ANTR -anthropometrical:AN0R:ANTR -anthropometrists:AN0R:ANTR -anthropomorphism:AN0R:ANTR -anthropomorphist:AN0R:ANTR -anthropomorphize:AN0R:ANTR -anthropomorphous:AN0R:ANTR -anthroposophists:AN0R:ANTR -antiabortionists:ANXP:ANXP -anticarcinogenic:ANTK:ANTK -antifibrinolysin:ANTF:ANTF -antihypertensive:ANTH:ANTH -antimilitaristic:ANTM:ANTM -antimonopolistic:ANTM:ANTM -antinationalists:ANTN:ANTN -antipathetically:ANTP:ANTP -antipneumococcic:ANTP:ANTP -antipollutionist:ANTP:ANTP -antipsychiatrist:ANTP:ANTP -antirationalists:ANTR:ANTR -antiredeposition:ANTR:ANTR -antistreptolysin:ANTS:ANTS -antitrinitarians:ANTT:ANTT -appendicectomies:APNT:APNT -appendicostomies:APNT:APNT -appreciativeness:APRS:APRX -apprehensiveness:APRH:APRH -approachableness:APRX:APRK -arachnodactylies:ARKN:ARKN -archaeoastronomy:ARKS:ARXS -archaeologically:ARKL:ARXL -archaeomagnetism:ARKM:ARXM -archaeozoologist:ARKS:ARXS -aristocratically:ARST:ARST -aromatherapeutic:ARM0:ARMT -arrhenoblastomas:ARNP:ARNP -arteriocapillary:ARTR:ARTR -arteriorrhaphies:ARTR:ARTR -arterioscleroses:ARTR:ARTR -arteriosclerosis:ARTR:ARTR -arteriosclerotic:ARTR:ARTR -astragalectomies:ASTR:ASTR -asymptomatically:ASMP:ASMP -atlantooccipital:ATLN:ATLN -atrioseptopexies:ATRS:ATRS -atrioventricular:ATRF:ATRF -auriculotemporal:ARKL:ARKL -authoritarianism:A0RT:ATRT -autobiographical:ATPK:ATPK -autocorrelations:ATKR:ATKR -autofluorescence:ATFL:ATFL -autohypnotically:ATHP:ATHP -autoimmunization:ATMN:ATMN -autointoxication:ATNT:ATNT -automanipulation:ATMN:ATMN -automanipulative:ATMN:ATMN -autopolyploidies:ATPL:ATPL -benzylpenicillin:PNSL:PNSL -bibliotherapists:PPL0:PPLT -bioastronautical:PSTR:PSTR -biochemorphology:PXMR:PKMR -bioclimatologies:PKLM:PKLM -biodegradability:PTKR:PTKR -bioelectricities:PLKT:PLKT -bioenvironmental:PNFR:PNFR -biorhythmicities:PR0M:PRTM -biosynthetically:PSN0:PSNT -biotechnological:PTKN:PTKN -bipotentialities:PPTN:PPTN -bloodthirstiness:PLTR:PLTR -bronchopneumonia:PRNX:PRNK -bronchopulmonary:PRNX:PRNK -bureaucratically:PRKR:PRKR -caenogenetically:KNJN:KNKN -cainogenetically:KNJN:KNKN -calciphylactical:KLSF:KLSF -calligraphically:KLKR:KLKR -calorimetrically:KLRM:KLRM -canaliculization:KNLK:KNLK -canonicalization:KNNK:KNNK -cantankerousness:KNTN:KNTN -capillaroscopies:KPLR:KPLR -capitalistically:KPTL:KPTL -carboxypeptidase:KRPK:KRPK -carcinosarcomata:KRSN:KRSN -cardioinhibitory:KRTN:KRTN -cardiomyopathies:KRTM:KRTM -caricaturization:KRKT:KRKT -caroticotympanic:KRTK:KRTK -cartographically:KRTK:KRTK -catachrestically:KTKR:KTKR -cataphoretically:KTFR:KTFR -catastrophically:KTST:KTST -celiocolpotomies:SLKL:SLKL -centrifugalizing:SNTR:SNTR -cephalhematomata:SFLM:SFLM -cerebromedullary:SRPR:SRPR -cerebroscleroses:SRPR:SRPR -cerebrosclerosis:SRPR:SRPR -chamberlainships:XMPR:XMPR -characterization:KRKT:KRKT -characterologies:KRKT:KRKT -characterologist:KRKT:KRKT -chauvinistically:XFNS:XFNS -cheilocarcinomas:XLKR:XLKR -chemiluminescent:KMLM:KMLM -chemoattractants:KMTR:KMTR -chemoautotrophic:KMTT:KMTT -chemoprophylaxes:KMPR:KMPR -chemoprophylaxis:KMPR:KMPR -chemoreceptivity:KMRS:KMRS -chemosensitivity:KMSN:KMSN -chemosterilizing:KMST:KMST -chemotherapeutic:KM0R:KMTR -chenodeoxycholic:XNTK:XNTK -chlordiazepoxide:KLRT:KLRT -chlorophenothane:KLRF:KLRF -cholangiographic:XLNJ:XLNK -cholangiolitides:XLNJ:XLNK -cholangiostomies:XLNJ:XLNK -cholecystectasia:XLSS:XLSS -cholecystography:XLSS:XLSS -cholecystopexies:XLSS:XLSS -cholecystotomies:XLSS:XLSS -cholesterolaemia:XLST:XLST -chondrodysplasia:XNTR:XNTR -chondrodystrophy:XNTR:XNTR -chondropharyngei:XNTR:XNTR -chondrosarcomata:XNTR:XNTR -chordamesodermal:KRTM:KRTM -chordomesodermal:KRTM:KRTM -choriocarcinomas:KRKR:KRKR -choriomeningitis:KRMN:KRMN -chorographically:KRKR:KRKR -choroidocyclitis:KRTS:KRTS -christianization:KRSX:KRSX -chromatographers:KRMT:KRMT -chromatographies:KRMT:KRMT -chromolithograph:KRML:KRML -chronobiologists:KRNP:KRNP -chronometrically:KRNM:KRNM -chronoscopically:KRNS:KRNS -chryselephantine:KRSL:KRSL -chymotrypsinogen:KMTR:KMTR -cineangiographic:SNNJ:SNNK -cinefluorography:SNFL:SNFL -cinematographers:SNMT:SNMT -cinematographies:SNMT:SNMT -circularizations:SRKL:SRKL -circumambulating:SRKM:SRKM -circumambulation:SRKM:SRKM -circumambulators:SRKM:SRKM -circumambulatory:SRKM:SRKM -circumnavigating:SRKM:SRKM -circumnavigation:SRKM:SRKM -circumnavigators:SRKM:SRKM -circumscriptions:SRKM:SRKM -circumstantially:SRKM:SRKM -circumstantiated:SRKM:SRKM -circumstantiates:SRKM:SRKM -climatologically:KLMT:KLMT -climatotherapies:KLMT:KLMT -clitoridectomies:KLTR:KLTR -cochromatography:KKRM:KKRM -colicinogenicity:KLSN:KLSN -collaborationism:KLPR:KLPR -collaborationist:KLPR:KLPR -collectivization:KLKT:KLKT -colonisationists:KLNS:KLNS -colorimetrically:KLRM:KLRM -combustibilities:KMPS:KMPS -comedocarcinomas:KMTK:KMTK -comfortabilities:KMFR:KMFR -commensurability:KMNS:KMNS -commensurateness:KMNS:KMNS -commissionership:KMSN:KMSN -commissurotomies:KMSR:KMSR -communicableness:KMNK:KMNK -companionability:KMPN:KMPN -compartmentalize:KMPR:KMPR -compressibleness:KMPR:KMPR -comptrollerships:KMPT:KMPT -conditionalities:KNTX:KNTX -conditionalizing:KNTX:KNTX -confederationism:KNFT:KNFT -confederationist:KNFT:KNFT -confidentialness:KNFT:KNFT -conformationally:KNFR:KNFR -congregationally:KNKR:KNKR -congregativeness:KNKR:KNKR -congressionalist:KNKR:KNKR -consanguineously:KNSN:KNSN -consequentialism:KNSK:KNSK -consequentiality:KNSK:KNSK -conservationists:KNSR:KNSR -conservativeness:KNSR:KNSR -conspiratorially:KNSP:KNSP -constitutionally:KNST:KNST -constrictiveness:KNST:KNST -constructibility:KNST:KNST -constructionally:KNST:KNST -constructionists:KNST:KNST -constructiveness:KNST:KNST -consubstantially:KNSP:KNSP -consubstantiated:KNSP:KNSP -consubstantiates:KNSP:KNSP -containerization:KNTN:KNTN -contemporariness:KNTM:KNTM -contemptibleness:KNTM:KNTM -contemptuousness:KNTM:KNTM -conterminousness:KNTR:KNTR -contrabassoonist:KNTR:KNTR -contradictiously:KNTR:KNTR -contraindicating:KNTR:KNTR -contraindication:KNTR:KNTR -contraindicative:KNTR:KNTR -contrasuggestion:KNTR:KNTR -contravallations:KNTR:KNTR -contributiveness:KNTR:KNTR -controllableness:KNTR:KNTR -controversialism:KNTR:KNTR -controversialist:KNTR:KNTR -contumaciousness:KNTM:KNTM -contumeliousness:KNTM:KNTM -conventionalists:KNFN:KNFN -conventionalized:KNFN:KNFN -conventionalizes:KNFN:KNFN -conversationally:KNFR:KNFR -conversationists:KNFR:KNFR -copolymerization:KPLM:KPLM -coracobrachiales:KRKP:KRKP -coracobrachialis:KRKP:KRKP -coracoclavicular:KRKK:KRKK -corruptibilities:KRPT:KRPT -cosmographically:KSMK:KSMK -counterarguments:KNTR:KNTR -counterattacking:KNTR:KNTR -counterbalancing:KNTR:KNTR -counterclaimants:KNTR:KNTR -counterclockwise:KNTR:KNTR -countercondition:KNTR:KNTR -counterespionage:KNTR:KNTR -counterinsurgent:KNTR:KNTR -counterintuitive:KNTR:KNTR -counterirritants:KNTR:KNTR -countermovements:KNTR:KNTR -counteroffensive:KNTR:KNTR -counterproposals:KNTR:KNTR -counterpulsation:KNTR:KNTR -countersignature:KNTR:KNTR -counterterrorism:KNTR:KNTR -counterterrorist:KNTR:KNTR -counterweighting:KNTR:KNTR -craniometrically:KRNM:KRNM -craniopharyngeal:KRNF:KRNF -craniosynostoses:KRNS:KRNS -craniosynostosis:KRNS:KRNS -creditworthiness:KRTT:KRTT -criminologically:KRMN:KRMN -cryobiologically:KRPL:KRPL -cryoglobulinemia:KRKL:KRKL -crystallographer:KRST:KRST -crystallographic:KRST:KRST -cuticularization:KTKL:KTKL -cyclodiathermies:SKLT:SKLT -cyclophosphamide:SKLF:SKLF -cystopyelography:SSTP:SSTP -cystourethrogram:SSTR:SSTR -cytoarchitecture:STRK:STRK -cytomorphologies:STMR:STMR -cytophotometries:STFT:STFT -cytotechnologies:STTK:STTK -cytotechnologist:STTK:STTK -czechoslovakians:SXSL:XKSL -dacryocystectomy:TKRS:TKRS -dactylosymphyses:TKTL:TKTL -dactylosymphysis:TKTL:TKTL -daguerreotypists:TKRT:TKRT -dealcoholization:TLKH:TLKH -debentureholders:TPNT:TPNT -decentralization:TSNT:TSNT -declassification:TKLS:TKLS -decontaminations:TKNT:TKNT -decontextualized:TKNT:TKNT -dedifferentiated:TTFR:TTFR -deferentectomies:TFRN:TFRN -dehumidification:THMT:THMT -deindustrialized:TNTS:TNTS -deindustrializes:TNTS:TNTS -deliberativeness:TLPR:TLPR -demilitarization:TMLT:TMLT -demineralization:TMNR:TMNR -demonetarization:TMNT:TMNT -demonstrableness:TMNS:TMNS -demonstrationist:TMNS:TMNS -demorphinization:TMRF:TMRF -demulsifications:TMLS:TMLS -denaturalization:TNTR:TNTR -dendrochronology:TNTR:TNTR -denominationally:TNMN:TNMN -denuclearization:TNKL:TNKL -deoxyribonucleic:TKSR:TKSR -departmentalized:TPRT:TPRT -departmentalizes:TPRT:TPRT -depolymerization:TPLM:TPLM -depressibilities:TPRS:TPRS -depressurization:TPRS:TPRS -derequisitioning:TRKS:TRKS -dermatofibromata:TRMT:TRMT -dermatohistology:TRMT:TRMT -dermatopathology:TRMT:TRMT -dermatophiliases:TRMT:TRMT -dermatophiliasis:TRMT:TRMT -dermatoscleroses:TRMT:TRMT -dermatosclerosis:TRMT:TRMT -dermatotherapies:TRMT:TRMT -desegregationist:TSKR:TSKR -desensitizations:TSNS:TSNS -dessertspoonfuls:TSRT:TSRT -destructuralises:TSTR:TSTR -destructuralized:TSTR:TSTR -destructuralizes:TSTR:TSTR -desulphurization:TSLF:TSLF -determinableness:TTRM:TTRM -deutoplasmolyses:TTPL:TTPL -deutoplasmolysis:TTPL:TTPL -dextrocardiogram:TKST:TKST -dextrocularities:TKST:TKST -diacetylmorphine:TSTL:TSTL -diagrammatically:TKRM:TKRM -diastematomyelia:TSTM:TSTM -dichotomizations:TXTM:TKTM -differentiations:TFRN:TFRN -dilatometrically:TLTM:TLTM -diphosphothiamin:TFSF:TFSF -diphthongization:TF0N:TFTN -diphyllobothrium:TFLP:TFLP -diploalbuminuria:TPLL:TPLL -disafforestation:TSFR:TSFR -disagreeableness:TSKR:TSKR -discombobulating:TSKM:TSKM -disconcertedness:TSKN:TSKN -disconfirmations:TSKN:TSKN -disconnectedness:TSKN:TSKN -disconsolateness:TSKN:TSKN -discontentedness:TSKN:TSKN -discontinuations:TSKN:TSKN -discountenancing:TSKN:TSKN -discourteousness:TSKR:TSKR -discriminatingly:TSKM:TSKM -discriminational:TSKM:TSKM -discriminatively:TSKM:TSKM -discriminatorily:TSKM:TSKM -disembarrassment:TSMP:TSMP -disencumberments:TSNK:TSNK -disenfranchising:TSNF:TSNF -disentanglements:TSNT:TSNT -disestablishment:TSST:TSST -disfranchisement:TSFR:TSFR -dishonorableness:TXNR:TXNR -disillusionments:TSLS:TSLX -disincorporating:TSNK:TSNK -disincorporation:TSNK:TSNK -disingenuousness:TSNJ:TSNK -disorganizations:TSRK:TSRK -disproportionate:TSPR:TSPR -disproportioning:TSPR:TSPR -disputatiousness:TSPT:TSPT -disqualification:TSKL:TSKL -disregardfulness:TSRK:TSRK -disreputableness:TSRP:TSRP -dissatisfactions:TSTS:TSTS -dissymmetrically:TSMT:TSMT -distensibilities:TSTN:TSTN -distinguishingly:TSTN:TSTN -distributiveness:TSTR:TSTR -distributorships:TSTR:TSTR -diversifiability:TFRS:TFRS -diversifications:TFRS:TFRS -diverticulectomy:TFRT:TFRT -dolichocephalies:TLXS:TLKS -dolichocephalism:TLXS:TLKS -dolichocephalous:TLXS:TLKS -dunderheadedness:TNTR:TNTR -duodenorrhaphies:TTNR:TTNR -dynamoelectrical:TNML:TNML -dysarteriotonies:TSRT:TSRT -dyschondroplasia:TXNT:TXNT -ecclesiastically:AKLS:AKLX -ecclesiasticisms:AKLS:AKLX -ecophysiologists:AKFS:AKFX -editorialization:ATTR:ATTR -eigenfrequencies:AJNF:AKNF -electroacoustics:ALKT:ALKT -electrobiologies:ALKT:ALKT -electrocauteries:ALKT:ALKT -electrochemistry:ALKT:ALKT -electrochromatic:ALKT:ALKT -electroendosmose:ALKT:ALKT -electrographical:ALKT:ALKT -electrokymograph:ALKT:ALKT -electrolytically:ALKT:ALKT -electromagnetism:ALKT:ALKT -electromyography:ALKT:ALKT -electrooculogram:ALKT:ALKT -electrophoresing:ALKT:ALKT -electrostriction:ALKT:ALKT -electrosurgeries:ALKT:ALKT -electrotechnical:ALKT:ALKT -electrotherapies:ALKT:ALKT -electrotherapist:ALKT:ALKT -electrovalencies:ALKT:ALKT -embourgeoisement:AMPR:AMPR -emotionalization:AMXN:AMXN -encephalitogenic:ANSF:ANSF -encephalographic:ANSF:ANSF -encephalomalacia:ANSF:ANSF -encephalopathies:ANSF:ANSF -encyclopedically:ANSK:ANSK -endarterectomies:ANTR:ANTR -endocrinological:ANTK:ANTK -endocrinologists:ANTK:ANTK -endocrinopathies:ANTK:ANTK -endoerythrocytic:ANTR:ANTR -endopolyploidies:ANTP:ANTP -enfranchisements:ANFR:ANFR -enteropathogenic:ANTR:ANTR -enthusiastically:AN0S:ANTX -entrepreneurship:ANTR:ANTR -environmentalism:ANFR:ANFR -environmentalist:ANFR:ANFR -epicontinentalic:APKN:APKN -epidermophytoses:APTR:APTR -epidermophytosis:APTR:APTR -epigrammatically:APKR:APKR -epiphenomenalism:APFN:APFN -epiphenomenalist:APFN:APFN -episcopalianisms:APSK:APSK -equipotentiality:AKPT:AKPT -erythroblastemia:AR0R:ARTR -erythroblastoses:AR0R:ARTR -erythroblastosis:AR0R:ARTR -erythroblastotic:AR0R:ARTR -erythrocytometry:AR0R:ARTR -eschatologically:AXTL:AXTL -etherealizations:A0RL:ATRL -ethnocentrically:A0NS:ATNS -ethnographically:A0NK:ATNK -ethnomethodology:A0NM:ATNM -etiopathogeneses:ATP0:ATPT -etiopathogenesis:ATP0:ATPT -eudemonistically:ATMN:ATMN -euhemeristically:AHMR:AHMR -evangelistically:AFNJ:AFNK -excommunications:AKSM:AKSM -exemplifications:AKSM:AKSM -experientialists:AKSP:AKSP -experimentalises:AKSP:AKSP -experimentalists:AKSP:AKSP -experimentalized:AKSP:AKSP -experimentalizes:AKSP:AKSP -experimentations:AKSP:AKSP -expressionlessly:AKSP:AKSP -extemporaneously:AKST:AKST -extemporizations:AKST:AKST -exteriorizations:AKST:AKST -externalizations:AKST:AKST -exterritoriality:AKST:AKST -extrachromosomal:AKST:AKST -extraterrestrial:AKST:AKST -extraterritorial:AKST:AKST -extraventricular:AKST:AKST -faintheartedness:FN0R:FNTR -familiarizations:FMLR:FMLR -feeblemindedness:FPLM:FPLM -fermentativeness:FRMN:FRMN -ferroelectricity:FRLK:FRLK -fibrinogenopenia:FPRN:FPRN -fictionalization:FKXN:FKXN -flexographically:FLKS:FLKS -flibbertigibbets:FLPR:FLPR -fluoroscopically:FLRS:FLRS -forethoughtfully:FR0T:FRTT -fundamentalistic:FNTM:FNTM -galactotherapies:KLKT:KLKT -galvanocauteries:KLFN:KLFN -galvanosurgeries:KLFN:KLFN -gamongenetically:KMNJ:KMNK -ganglionectomies:KNKL:KNLN -gastrocolotomies:KSTR:KSTR -gastroduodenitis:KSTR:KSTR -gastroenterology:KSTR:KSTR -gastrointestinal:KSTR:KSTR -geochronological:JKRN:KKRN -geomorphological:JMRF:KMRF -geomorphologists:JMRF:KMRF -gerontotherapies:KRNT:JRNT -glossopharyngeal:KLSF:KLSF -glottochronology:KLTK:KLTK -glycerophosphate:KLSR:KLSR -goitrogenicities:KTRJ:KTRK -goniocraniometry:KNKR:KNKR -granuloblastoses:KRNL:KRNL -granuloblastosis:KRNL:KRNL -granulocytopenia:KRNL:KRNL -granulocytopenic:KRNL:KRNL -greatheartedness:KR0R:KRTR -gutturalizations:KTRL:KTRL -gynandromorphism:KNNT:JNNT -gynandromorphous:KNNT:JNNT -haemagglutonates:HMKL:HMKL -haemobartonellae:HMPR:HMPR -haemochromatosis:HMKR:HMKR -haemoflagellates:HMFL:HMFL -heamagglutonated:HMKL:HMKL -heavyheartedness:HFHR:HFHR -hectographically:HKTK:HKTK -heliocentrically:HLSN:HLSN -helminthological:HLMN:HLMN -helminthologists:HLMN:HLMN -hemagglutinating:HMKL:HMKL -hemagglutination:HMKL:HMKL -hemangioblastoma:HMNJ:HMNK -hemangiosarcomas:HMNJ:HMNK -hematomyelitides:HMTM:HMTM -hematomyelitises:HMTM:HMTM -hemilaryngectomy:HMLR:HMLR -hemipelvectomies:HMPL:HMPL -hemoglobinometry:HMKL:HMKL -hemoglobinopathy:HMKL:HMKL -hemopneumothorax:HMPN:HMPN -hemorrhoidectomy:HMRT:HMRT -hendecasyllables:HNTK:HNTK -hendecasyllablic:HNTK:HNTK -hepatosplenomega:HPTS:HPTS -hepatotoxicities:HPTT:HPTT -hermaphroditical:HRMF:HRMF -herpetologically:HRPT:HRPT -heteroagglutinin:HTRK:HTRK -heterochromatism:HTRK:HTRK -heterochromosome:HTRK:HTRK -heterotransplant:HTRT:HTRT -heterozygosities:HTRS:HTRS -hexachloroethane:HKSK:HKSK -hieroglyphically:HRKL:HRKL -hierophantically:HRFN:HRFN -histochemistries:HSTX:HSTK -histochemography:HSTX:HSTK -histogenetically:HSTJ:HSTK -histopathologies:HSTP:HSTP -histopathologist:HSTP:HSTP -histophysiologic:HSTF:HSTF -historiographers:HSTR:HSTR -homoeopathically:HMP0:HMPT -homoscedasticity:HMST:HMST -hospitalizations:HSPT:HSPT -hydrodynamically:HTRT:HTRT -hydroelectricity:HTRL:HTRL -hydrographically:HTRK:HTRK -hydromeningocele:HTRM:HTRM -hydrometeorology:HTRM:HTRM -hydronephrosises:HTRN:HTRN -hydropericardium:HTRP:HTRP -hydroperitoneums:HTRP:HTRP -hydrophobicities:HTRF:HTRF -hydrotherapeutic:HTR0:HTRT -hydroxocobalamin:HTRK:HTRK -hydroxyquinoline:HTRK:HTRK -hyetographically:HTKR:HTKR -hygroscopicities:HKRS:HKRS -hyoepiglottidean:HPKL:HPKL -hyperbrachycepha:HPRP:HPRP -hyperchlorhydria:HPRX:HPRK -hyperchromatoses:HPRX:HPRK -hyperchromatosis:HPRX:HPRK -hypercorrections:HPRK:HPRK -hyperestrogenism:HPRS:HPRS -hyperheparinemia:HPRP:HPRP -hyperheparinemic:HPRP:HPRP -hyperperistalses:HPRP:HPRP -hyperperistalsis:HPRP:HPRP -hyperpituitarism:HPRP:HPRP -hyperproteinemia:HPRP:HPRP -hypersensitivity:HPRS:HPRS -hypersensitizing:HPRS:HPRS -hypersexualities:HPRS:HPRS -hyperthyrosesing:HPR0:HPRT -hyperventilation:HPRF:HPRF -hypervitaminoses:HPRF:HPRF -hypervitaminosis:HPRF:HPRF -hypnogenetically:HPNJ:HPNK -hypocoristically:HPKR:HPKR -hypodermatically:HPTR:HPTR -hypophosphatemia:HPFS:HPFS -hypophysectomies:HPFS:HPFS -hypophysectomize:HPFS:HPFS -hysterectomizing:HSTR:HSTR -hysterorrhaphies:HSTR:HSTR -hysterostomatomy:HSTR:HSTR -iatrochemistries:ATRX:ATRK -iatromathematics:ATRM:ATRM -ichnographically:AXNK:AKNK -ichthyologically:AK0L:AKTL -iconoclastically:AKNK:AKNK -identifiableness:ATNT:ATNT -illegitimateness:ALJT:ALKT -immeasurableness:AMSR:AMSR -immethodicalness:AM0T:AMTT -immunocompetence:AMNK:AMNK -immunodeficiency:AMNT:AMNT -immunohematology:AMNH:AMNH -immunohistologic:AMNH:AMNH -immunopathologic:AMNP:AMNP -immunoreactivity:AMNR:AMNR -impenetrableness:AMPN:AMPN -imperceptibility:AMPR:AMPR -imperceptiveness:AMPR:AMPR -imperishableness:AMPR:AMPR -impermeabilities:AMPR:AMPR -impermissibility:AMPR:AMPR -imperturbability:AMPR:AMPR -impetiginization:AMPT:AMPT -imponderableness:AMPN:AMPN -impracticability:AMPR:AMPR -impracticalities:AMPR:AMPR -inaccessibleness:ANXS:ANXS -inapplicableness:ANPL:ANPL -inappreciatively:ANPR:ANPR -inapprehensively:ANPR:ANPR -inarticulateness:ANRT:ANRT -inauspiciousness:ANSP:ANSP -incalculableness:ANKL:ANKL -incombustibility:ANKM:ANKM -incommensurately:ANKM:ANKM -incommodiousness:ANKM:ANKM -incommutableness:ANKM:ANKM -incomparableness:ANKM:ANKM -incompatibleness:ANKM:ANKM -incomprehensible:ANKM:ANKM -incomprehensibly:ANKM:ANKM -inconceivability:ANKN:ANKN -inconclusiveness:ANKN:ANKN -incondensability:ANKN:ANKN -incondensibility:ANKN:ANKN -inconsequentness:ANKN:ANKN -inconsistentness:ANKN:ANKN -inconsolableness:ANKN:ANKN -incontestability:ANKN:ANKN -incontrovertible:ANKN:ANKN -incontrovertibly:ANKN:ANKN -inconvertibility:ANKN:ANKN -inconvincibility:ANKN:ANKN -incorporatedness:ANKR:ANKR -incorporatorship:ANKR:ANKR -incorrigibleness:ANKR:ANKR -incorruptibility:ANKR:ANKR -indeclinableness:ANTK:ANTK -indefatigability:ANTF:ANTF -indefeasibleness:ANTF:ANTF -indefensibleness:ANTF:ANTF -indemnifications:ANTM:ANTM -indescribability:ANTS:ANTS -indigestibleness:ANTJ:ANTK -indiscernibility:ANTS:ANTS -indiscriminately:ANTS:ANTS -indiscriminating:ANTS:ANTS -indiscrimination:ANTS:ANTS -indispensability:ANTS:ANTS -indisputableness:ANTS:ANTS -indissolubleness:ANTS:ANTS -ineradicableness:ANRT:ANRT -inexhaustibility:ANKS:ANKS -inexplainability:ANKS:ANKS -inexplicableness:ANKS:ANKS -inexpressibility:ANKS:ANKS -inexpressiveness:ANKS:ANKS -inexpugnableness:ANKS:ANKS -inextinguishable:ANKS:ANKS -inextinguishably:ANKS:ANKS -inextirpableness:ANKS:ANKS -inextricableness:ANKS:ANKS -inflammabilities:ANFL:ANFL -influenceability:ANFL:ANFL -inharmoniousness:ANRM:ANRM -inheritabilities:ANRT:ANRT -inhospitableness:ANSP:ANSP -institutionalism:ANST:ANST -institutionalist:ANST:ANST -institutionalize:ANST:ANST -instrumentalists:ANST:ANST -instrumentations:ANST:ANST -insubstantiality:ANSP:ANSP -insufferableness:ANSF:ANSF -insurrectionally:ANSR:ANSR -insurrectionists:ANSR:ANSR -insusceptibility:ANSS:ANSS -intellectualists:ANTL:ANTL -intellectualized:ANTL:ANTL -intellectualizer:ANTL:ANTL -intellectualizes:ANTL:ANTL -intellectualness:ANTL:ANTL -intelligibleness:ANTL:ANTL -intensifications:ANTN:ANTN -intercitizenship:ANTR:ANTR -intercommunicate:ANTR:ANTR -interconnections:ANTR:ANTR -interconsonantal:ANTR:ANTR -intercontinental:ANTR:ANTR -interconvertible:ANTR:ANTR -interferometries:ANTR:ANTR -interfertilities:ANTR:ANTR -intergradational:ANTR:ANTR -interhemispheric:ANTR:ANTR -interjectionally:ANTR:ANTR -interlaminations:ANTR:ANTR -interlocutresses:ANTR:ANTR -intermediateness:ANTR:ANTR -interminableness:ANTR:ANTR -internationalism:ANTR:ANTR -internationalist:ANTR:ANTR -internationality:ANTR:ANTR -internationalize:ANTR:ANTR -interpenetrating:ANTR:ANTR -interpenetration:ANTR:ANTR -interpenetrative:ANTR:ANTR -interpretability:ANTR:ANTR -interpretational:ANTR:ANTR -interpretatively:ANTR:ANTR -interpreterships:ANTR:ANTR -interrelatedness:ANTR:ANTR -intersexualities:ANTR:ANTR -intersterilities:ANTR:ANTR -interstratifying:ANTR:ANTR -interterritorial:ANTR:ANTR -interventionists:ANTR:ANTR -interventricular:ANTR:ANTR -intervocalically:ANTR:ANTR -intracisternally:ANTR:ANTR -intracutaneously:ANTR:ANTR -intracytoplasmic:ANTR:ANTR -intransitiveness:ANTR:ANTR -intraoperatively:ANTR:ANTR -intrapericardiac:ANTR:ANTR -intraventricular:ANTR:ANTR -introductoriness:ANTR:ANTR -intromissibility:ANTR:ANTR -introspectionist:ANTR:ANTR -intussuscipentes:ANTS:ANTS -invulnerableness:ANFL:ANFL -iridochoroiditis:ARTX:ARTK -irreclaimability:ARKL:ARKL -irredeemableness:ARTM:ARTM -irreducibilities:ARTS:ARTS -irrefragableness:ARFR:ARFR -irrefrangibility:ARFR:ARFR -irremediableness:ARMT:ARMT -irremissibleness:ARMS:ARMS -irrepealableness:ARPL:ARPL -irrepressibility:ARPR:ARPR -irresistibleness:ARSS:ARSS -irresolvableness:ARSL:ARSL -irresponsibility:ARSP:ARSP -irresponsiveness:ARSP:ARSP -irretrievability:ARTR:ARTR -irreversibleness:ARFR:ARFR -ischiocavernosus:AXKF:AXKF -isoagglutination:ASKL:ASKL -isoagglutinative:ASKL:ASKL -isohemagglutinin:ASHM:ASHM -journalistically:JRNL:ARNL -jurisdictionally:JRST:ARST -justifiabilities:JSTF:ASTF -kainogenetically:KNJN:KNKN -keratoacanthomas:KRTK:KRTK -keratoiridoscope:KRTR:KRTR -kinaesthetically:KNS0:KNST -kinetocardiogram:KNTK:KNTK -knowledgableness:NLTK:NLTK -knowledgeability:NLJP:NLJP -labyrinthotomies:LPRN:LPRN -lactobacillaceae:LKTP:LKTP -laryngectomizing:LRNJ:LRNK -laryngologically:LRNK:LRNK -laryngoparalyses:LRNK:LRNK -laryngoparalysis:LRNK:LRNK -laryngopharynges:LRNK:LRNK -laryngopharynxes:LRNK:LRNK -laryngorhinology:LRNK:LRNK -laryngoscleromas:LRNK:LRNK -legitimatization:LJTM:LKTM -leiomyofibromata:LMFP:LMFP -leiomyosarcomata:LMSR:LMSR -lenticulostriate:LNTK:LNTK -leucocytopoieses:LKST:LKST -leucocytopoiesis:LKST:LKST -leukocytogeneses:LKST:LKST -leukocytogenesis:LKST:LKST -leukocytopoieses:LKST:LKST -leukocytopoiesis:LKST:LKST -leukodystrophies:LKTS:LKTS -lexicostatistics:LKSK:LKSK -lightheartedness:L0RT:LTRT -lipophaneroseses:LPFN:LPFN -literalistically:LTRL:LTRL -lithographically:L0KR:LTKR -lithonephritides:L0NF:LTNF -lumbocolostomies:LMPK:LMPK -lycoperdonosises:LKPR:LKPR -lymphangiectasia:LMFN:LMFN -lymphangiectasis:LMFN:LMFN -lymphangiectatic:LMFN:LMFN -lymphangiography:LMFN:LMFN -lymphangiomatous:LMFN:LMFN -lymphangioplasty:LMFN:LMFN -lymphangiotomies:LMFN:LMFN -lymphoblastomata:LMFP:LMFP -lymphogranulomas:LMFK:LMFK -machiavellianism:MKFL:MKFL -machiavellianist:MKFL:MKFL -macrogenitosomia:MKRJ:MKRK -macrolepidoptera:MKRL:MKRL -macrophotography:MKRF:MKRF -macrosociologies:MKRS:MKRS -magnetochemistry:MNTX:MKNT -magnetostriction:MNTS:MKNT -magnetostrictive:MNTS:MKNT -maladministering:MLTM:MLTM -maladministrator:MLTM:MLTM -malariotherapies:MLR0:MLRT -maldistributions:MLTS:MLTS -mammilliplasties:MMLP:MMLP -marriageableness:MRJP:MRKP -marsupialization:MRSP:MRSP -massotherapeutic:MS0R:MSTR -materializations:MTRL:MTRL -mechanochemistry:MXNX:MKNK -mechanoreception:MXNR:MKNR -mechanoreceptive:MXNR:MKNR -mechanotherapies:MXN0:MKNT -mechanotherapist:MXN0:MKNT -mediastinotomies:MTST:MTST -medicopsychology:MTKP:MTKP -medulloblastomas:MTLP:MTLP -megalomaniacally:MKLM:MKLM -megasporogeneses:MKSP:MKSP -megasporogenesis:MKSP:MKSP -melanoblastomata:MLNP:MLNP -melanocarcinomas:MLNK:MLNK -melanodermatitis:MLNT:MLNT -melodramatically:MLTR:MLTR -meningococcaemia:MNNK:MNNK -meningomyelocele:MNNK:MNNK -menometrorrhagia:MNMT:MNMT -mercurialization:MRKR:MRKR -meretriciousness:MRTR:MRTR -metabolizability:MTPL:MTPL -metalloporphyrin:MTLP:MTLP -metamathematical:MTM0:MTMT -methodologically:M0TL:MTTL -methylrosaniline:M0LR:MTLR -methylthiouracil:M0L0:MTLT -metropolitanized:MTRP:MTRP -metropolitanizes:MTRP:MTRP -metrosalpingitis:MTRS:MTRS -microaerophilous:MKRR:MKRR -microchemistries:MKRX:MKRK -microcirculation:MKRS:MKRS -microcirculatory:MKRS:MKRS -microclimatology:MKRK:MKRK -microcrystalline:MKRK:MKRK -microelectronics:MKRL:MKRL -microencapsulate:MKRN:MKRN -microencephalies:MKRN:MKRN -microerythrocyte:MKRR:MKRR -microinstruction:MKRN:MKRN -micromanipulator:MKRM:MKRM -micromorphologic:MKRM:MKRM -microphotographs:MKRF:MKRF -microphotography:MKRF:MKRF -microprogramming:MKRP:MKRP -microradiography:MKRR:MKRR -microvasculature:MKRF:MKRF -miniaturizations:MNTR:MNTR -misalphabetizing:MSLF:MSLF -misanthropically:MSN0:MSNT -misapprehensions:MSPR:MSPR -misappropriating:MSPR:MSPR -misappropriation:MSPR:MSPR -misconstructions:MSKN:MSKN -mispronunciation:MSPR:MSPR -mistranscription:MSTR:MSTR -misunderstanders:MSNT:MSNT -misunderstanding:MSNT:MSNT -monochromaticity:MNKR:MNKR -monocontaminated:MNKN:MNKN -monocotyledonous:MNKT:MNKT -monopolistically:MNPL:MNPL -monosubstitution:MNSP:MNSP -monosyllabically:MNSL:MNSL -monosynaptically:MNSN:MNSN -morphophysiology:MRFF:MRFF -mucoitinsulfuric:MKTN:MKTN -multicellularity:MLTS:MLTS -multicentrically:MLTS:MLTS -multidimensional:MLTT:MLTT -multidirectional:MLTT:MLTT -multifariousness:MLTF:MLTF -multimillionaire:MLTM:MLTM -multinationality:MLTN:MLTN -multiplicational:MLTP:MLTP -multiprogramming:MLTP:MLTP -musculocutaneous:MSKL:MSKL -musculotendinous:MSKL:MSKL -mycobacteriaceae:MKPK:MKPK -myelographically:MLKR:MLKR -myelomeningocele:MLMN:MLMN -myeloradiculitis:MLRT:MLRT -myoarchitectonic:MRKT:MRKT -myocardiopathies:MKRT:MKRT -myoepitheliomata:MP0L:MPTL -myringodectomies:MRNK:MRNK -myxofibrosarcoma:MKSF:MKSF -narcissistically:NRSS:NRSS -narcoanaesthesia:NRKN:NRKN -nationalizations:NXNL:NXNL -naturalistically:NTRL:NTRL -necessitarianism:NSST:NSST -neoimpressionism:NMPR:NMPR -neoimpressionist:NMPR:NMPR -nephrocalcinoses:NFRK:NFRK -nephrocalcinosis:NFRK:NFRK -nephrotoxicities:NFRT:NFRT -neurasthenically:NRS0:NRST -neurochemistries:NRXM:NRKM -neurocirculatory:NRSR:NRSR -neurohypophyseal:NRHP:NRHP -neurohypophysial:NRHP:NRHP -neurolinguistics:NRLN:NRLN -neuropathologies:NRP0:NRPT -neuropathologist:NRP0:NRPT -neurophysiologic:NRFS:NRFX -neuropsychiatric:NRPS:NRPS -neuroretinitides:NRRT:NRRT -neurotransmitter:NRTR:NRTR -nonapplicability:NNPL:NNPL -nonauthoritative:NN0R:NNTR -noncommunicative:NNKM:NNKM -nonconsecutively:NNKN:NNKN -noncontradiction:NNKN:NNKN -noncontradictory:NNKN:NNKN -noncontroversial:NNKN:NNKN -noncorroborative:NNKR:NNKR -nondeductibility:NNTT:NNTT -nondestructively:NNTS:NNTS -nondeterminately:NNTT:NNTT -nondeterministic:NNTT:NNTT -nondisjunctional:NNTS:NNTS -nonenzymatically:NNNS:NNNS -nonestablishment:NNST:NNST -nonincriminating:NNNK:NNNK -noninformatively:NNNF:NNNF -noninjuriousness:NNNJ:NNNJ -noninstitutional:NNNS:NNNS -noninteractively:NNNT:NNNT -nonmaterialistic:NNMT:NNMT -nonorthogonality:NNR0:NNRT -nonparasitically:NNPR:NNPR -nonparliamentary:NNPR:NNPR -nonparticipating:NNPR:NNPR -nonparticipation:NNPR:NNPR -nonphysiological:NNFS:NNFX -nonprejudicially:NNPR:NNPR -nonproliferation:NNPR:NNPR -nonproprietaries:NNPR:NNPR -nonproteinaceous:NNPR:NNPR -nonrectification:NNRK:NNRK -nontraditionally:NNTR:NNTR -northeasternmost:NR0S:NRTS -northwesternmost:NR0S:NRTS -nosogeographical:NSJK:NSKK -nucleophilically:NKLF:NKLF -numismatologists:NMSM:NMSM -objectionability:APJK:APJK -obstreperousness:APST:APST -occipitoparietal:AXPT:AXPT -olecranarthritis:ALKR:ALKR -omphalophlebitis:AMFL:AMFL -oneirocritically:ANRK:ANRK -onomatopoeically:ANMT:ANMT -oophorectomizing:AFRK:AFRK -operationalistic:APRX:APRX -operationalizing:APRX:APRX -ophryoscolecidae:AFRS:AFRS -ophthalmectomies:AF0L:AFTL -ophthalmological:AF0L:AFTL -ophthalmologists:AF0L:AFTL -ophthalmomalacia:AF0L:AFTL -ophthalmometries:AF0L:AFTL -ophthalmomycoses:AF0L:AFTL -ophthalmomycosis:AF0L:AFTL -ophthalmopathies:AF0L:AFTL -ophthalmorrhexis:AF0L:AFTL -ophthalmoscopies:AF0L:AFTL -opsonocytophagic:APSN:APSN -orbitosphenoidal:ARPT:ARPT -organizationally:ARKN:ARKN -organoleptically:ARKN:ARKN -organophosphorus:ARKN:ARKN -organotropically:ARKN:ARKN -ornithologically:ARN0:ARNT -orthogenetically:AR0J:ARTK -orthographically:AR0K:ARTK -orthophosphorous:AR0F:ARTF -orthopsychiatric:AR0P:ARTP -orthostereoscope:AR0S:ARTS -oscillographical:ASLK:ASLK -osteoarthritides:ASTR:ASTR -osteoarthropathy:ASTR:ASTR -osteochondromata:ASTX:ASTK -osteodystrophies:ASTT:ASTT -osteoperiostitis:ASTP:ASTP -osteopsathyroses:ASTP:ASTP -osteopsathyrosis:ASTP:ASTP -otherworldliness:A0RR:ATRR -otolaryngologies:ATLR:ATLR -otolaryngologist:ATLR:ATLR -overaccentuating:AFRX:AFRX -overaccumulation:AFRK:AFRK -overappreciation:AFRP:AFRP -overappreciative:AFRP:AFRP -overapprehensive:AFRP:AFRP -overcapitalizing:AFRK:AFRK -overcompensating:AFRK:AFRK -overcompensation:AFRK:AFRK -overcompensatory:AFRK:AFRK -overcomplicating:AFRK:AFRK -overconservative:AFRK:AFRK -overdiversifying:AFRT:AFRT -overembellishing:AFRM:AFRM -overembroidering:AFRM:AFRM -overenthusiastic:AFRN:AFRN -overgeneralizing:AFRJ:AFRK -overinsistencely:AFRN:AFRN -overintellectual:AFRN:AFRN -overproportioned:AFRP:AFRP -overromanticises:AFRM:AFRM -overromanticized:AFRM:AFRM -overromanticizes:AFRM:AFRM -oversophisticate:AFRS:AFRS -overspecializing:AFRS:AFRS -oversubscription:AFRS:AFRS -pachyperitonitis:PKPR:PKPR -palaeethnologist:PL0N:PLTN -palaeontological:PLNT:PLNT -palaeontologists:PLNT:PLNT -palaeozoological:PLSL:PLSL -palatopharyngeal:PLTF:PLTF -palatopharyngeus:PLTF:PLTF -paleocerebellums:PLSR:PLSR -palingenetically:PLNJ:PLNK -panagglutination:PNKL:PNKL -pancreatectomies:PNKR:PNKR -pancreatectomize:PNKR:PNKR -panhypopituitary:PNPP:PNPP -panmyelophthises:PNML:PNML -panmyelophthisis:PNML:PNML -pantographically:PNTK:PNTK -papilloretinitis:PPLR:PPLR -paraformaldehyde:PRFR:PRFR -paragglutination:PRKL:PRKL -parameterization:PRMT:PRMT -paraphrastically:PRFR:PRFR -paraprofessional:PRPR:PRPR -parapsychologies:PRPS:PRPS -parapsychologist:PRPS:PRPS -paratuberculoses:PRTP:PRTP -paratuberculosis:PRTP:PRTP -parenchymatously:PRNX:PRNK -parliamentarians:PRLM:PRLM -paronomastically:PRNM:PRNM -parsimoniousness:PRSM:PRSM -partridgeberries:PRTR:PRTR -pathomorphologic:PTMR:PTMR -pathophysiologic:P0FS:PTFX -periappendicitis:PRPN:PRPN -peribronchitides:PRPR:PRPR -pericardiotomies:PRKR:PRKR -periencephalitis:PRNS:PRNS -perifolliculitis:PRFL:PRFL -perineorrhaphies:PRNR:PRNR -periodontoclasia:PRTN:PRTN -periodontologies:PRTN:PRTN -peripancreatitis:PRPN:PRPN -periphrastically:PRFR:PRFR -perissodactylous:PRST:PRST -peritoneopathies:PRTN:PRTN -peritoneoscopies:PRTN:PRTN -peritoneoscopist:PRTN:PRTN -periurethritides:PRR0:PRRT -perpendicularity:PRPN:PRPN -personifications:PRSN:PRSN -pertinaciousness:PRTN:PRTN -petrographically:PTRK:PTRK -phantasmagorical:FNTS:FNTS -pharmaceutically:FRMS:FRMS -pharmacodynamics:FRMK:FRMK -pharmacogenetics:FRMK:FRMK -pharmacognosists:FRMK:FRMK -pharmacokinetics:FRMK:FRMK -pharyngopalatine:FRNK:FRNK -pharyngopalatini:FRNK:FRNK -pharyngorhinitis:FRNK:FRNK -phenomenological:FNMN:FNMN -phenylenediamine:FNLN:FNLN -pheochromocytoma:FKRM:FKRM -philanthropising:FLN0:FLNT -philoprogenitive:FLPR:FLPR -philosophization:FLSF:FLSF -phlebothromboses:FLP0:FLPT -phlebothrombosis:FLP0:FLPT -phlegmaticalness:FLKM:FLKM -phonocardiograph:FNKR:FNKR -phonogrammically:FNKR:FNKR -phonographically:FNKR:FNKR -phonophotography:FNFT:FNFT -phosphoglycerate:FSFK:FSFK -phosphorescently:FSFR:FSFR -phosphorographic:FSFR:FSFR -phosphotungstate:FSFT:FSFT -photochemistries:FTXM:FTKM -photochronograph:FTKR:FTKR -photocoagulation:FTKK:FTKK -photocoagulative:FTKK:FTKK -photocomposition:FTKM:FTKM -photodynamically:FTTN:FTTN -photoelectricity:FTLK:FTLK -photoelectrotype:FTLK:FTLK -photofluoroscopy:FTFL:FTFL -photogrammetrist:FTKR:FTKR -photographically:FTKR:FTKR -photojournalists:FTJR:FTHR -photokymographic:FTKM:FTKM -photolithograher:FTL0:FTLT -photolithography:FTL0:FTLT -photoluminescent:FTLM:FTLM -photomacrography:FTMK:FTMK -photomicrogramme:FTMK:FTMK -photomicrographs:FTMK:FTMK -photomicrography:FTMK:FTMK -photomultipliers:FTML:FTML -photosensitivity:FTSN:FTSN -photosensitizing:FTSN:FTSN -photospherically:FTSF:FTSF -photostabilities:FTST:FTST -photosynthesized:FTSN:FTSN -photosynthesizes:FTSN:FTSN -photosynthetical:FTSN:FTSN -phototelegraphic:FTTL:FTTL -phototherapeutic:FT0R:FTTR -photothermically:FT0R:FTTR -phototransistors:FTTR:FTTR -photozincography:FTSN:FTSN -phraseologically:FRSL:FRSL -physiognomically:FSNM:FXKN -physiopathologic:FSP0:FXPT -physiotherapists:FS0R:FXTR -phytochemistries:FTXM:FTKM -phytogenetically:FTJN:FTKN -phytopathologies:FTP0:FTPT -phytopathologist:FTP0:FTPT -phytosociologist:FTSS:FTSX -picropodophyllin:PKRP:PKRP -piezochemistries:PSXM:PSKM -piezoelectricity:PSLK:PSLK -pisciculturalist:PSKL:PSKL -pithecanthropoid:P0KN:PTKN -placentographies:PLSN:PLSN -planographically:PLNK:PLNK -plasmolyzability:PLSM:PLSM -platystencephaly:PLTS:PLTS -plethysmographic:PL0S:PLTS -pleuroperitoneum:PLRP:PLRP -pneumohemothorax:NMHM:NMHM -pneumomediastina:NMMT:NMMT -pneumonoconioses:NMNK:NMNK -pneumonoconiosis:NMNK:NMNK -pneumonokonioses:NMNK:NMNK -pneumonokoniosis:NMNK:NMNK -pneumopericardia:NMPR:NMPR -pneumoperitoneum:NMPR:NMPR -pneumotachograph:NMTK:NMTK -pododermatitides:PTTR:PTTR -pododermatitises:PTTR:PTTR -polariscopically:PLRS:PLRS -polychromatophil:PLXR:PLKR -polycotyledonous:PLKT:PLKT -polyneuropathies:PLNR:PLNR -polyphyletically:PLFL:PLFL -polysynaptically:PLSN:PLSN -polytheistically:PL0S:PLTS -pornographically:PRNK:PRNK -positivistically:PSTF:PSTF -postconvalescent:PSTK:PSTK -postencephalitic:PSTN:PSTN -posthypnotically:PS0P:PSTP -postpositionally:PSTP:PSTP -postremogeniture:PSTR:PSTR -postsynaptically:PSTS:PSTS -potentiometrical:PTNT:PTNT -practicabilities:PRKT:PRKT -praiseworthiness:PRSR:PRSR -preannouncements:PRNN:PRNN -preascertainment:PRSR:PRSR -precartilaginous:PRKR:PRKR -precipitinogenic:PRSP:PRSP -preconsciousness:PRKN:PRKN -preconsideration:PRKN:PRKN -preconsultations:PRKN:PRKN -predeterminately:PRTT:PRTT -predetermination:PRTT:PRTT -predeterminative:PRTT:PRTT -predistinguished:PRTS:PRTS -predistinguishes:PRTS:PRTS -prekindergartens:PRKN:PRKN -premeditatedness:PRMT:PRMT -premillennialism:PRML:PRML -premillennialist:PRML:PRML -preposterousness:PRPS:PRPS -prescriptibility:PRSK:PRSK -prescriptiveness:PRSK:PRSK -prestidigitation:PRST:PRST -prestidigitators:PRST:PRST -prestidigitatory:PRST:PRST -presumptuousness:PRSM:PRSM -preternaturalism:PRTR:PRTR -probacteriophage:PRPK:PRPK -proctoscopically:PRKT:PRKT -professionalists:PRFS:PRFS -professionalized:PRFS:PRFS -professionalizes:PRFS:PRFS -prognostications:PRNS:PRKN -programmatically:PRKR:PRKR -proletarianizing:PRLT:PRLT -pronationalistic:PRNX:PRNX -pronunciamentoes:PRNN:PRNN -propagandistical:PRPK:PRPK -prophylactically:PRFL:PRFL -propionibacteria:PRPN:PRPN -propylthiouracil:PRPL:PRPL -prorevolutionary:PRRF:PRRF -proscriptiveness:PRSK:PRSK -prosoposchisises:PRSP:PRSP -prostatocystitis:PRST:PRST -prostatographies:PRST:PRST -pseudoclassicism:STKL:STKL -pseudocopulation:STKP:STKP -pseudocultivated:STKL:STKL -pseudodemocratic:STTM:STTM -pseudodiphtheria:STTF:STTF -pseudohemophilia:STHM:STHM -pseudohistorical:STHS:STHS -pseudomembranous:STMM:STMM -pseudoscientific:STSN:STSN -psychoaccoustics:SXKS:SKKS -psychoanalytical:SXNL:SKNL -psychobiological:SXPL:SKPL -psychobiologists:SXPL:SKPL -psychodiagnostic:SXTN:SKTK -psychogeriatrics:SXKR:SKJR -psycholinguistic:SXLN:SKLN -psychometrically:SXMT:SKMT -psychopathically:SXP0:SKPT -psychopathologic:SXP0:SKPT -psychophysically:SXFS:SKFS -psychophysicists:SXFS:SKFS -psychophysiology:SXFS:SKFX -psychoquackeries:SXKK:SKKK -psychotherapists:SX0R:SKTR -psychrotherapies:SXR0:SKRT -pyelolithotomies:PLL0:PLLT -pyelonephritides:PLNF:PLNF -pyeloureterogram:PLRT:PLRT -pylephlebectases:PLFL:PLFL -pylephlebectasis:PLFL:PLFL -pyroconductivity:PRKN:PRKN -quadricentennial:KTRS:KTRS -quadruplications:KTRP:KTRP -quantitativeness:KNTT:KNTT -quarterfinalists:KRTR:KRTR -questionableness:KSXN:KSXN -quinquagenarians:KNKJ:KNKK -quinquenniumally:KNKN:KNKN -quintessentially:KNTS:KNTS -radicalistically:RTKL:RTKL -radioautographic:RTTK:RTTK -radiobroadcaster:RTPR:RTPR -radiochemistries:RTXM:RTKM -radiographically:RTKR:RTKR -radioimmunoassay:RTMN:RTMN -radioluminescent:RTLM:RTLM -radiosensitively:RTSN:RTSN -radiosensitivity:RTSN:RTSN -radiotelegraphes:RTTL:RTTL -radiotelegraphic:RTTL:RTTL -radiotelemetries:RTTL:RTTL -radiotherapeutic:RT0R:RTTR -rambunctiousness:RMPN:RMPN -rationalizations:RXNL:RXNL -reafforestations:RFRS:RFRS -reapportionments:RPRX:RPRX -recapitalization:RKPT:RKPT -reclassification:RKLS:RKLS -reconcilableness:RKNS:RKNS -reconfigurations:RKNF:RKNF -reconsolidations:RKNS:RKNS -reconstructional:RKNS:RKNS -redemonstrations:RTMN:RTMN -reflexologically:RFLK:RFLK -refrangibilities:RFRN:RFRN -reincarnationist:RNKR:RNKR -reinterpretation:RNTR:RNTR -reinterrogations:RNTR:RNTR -reinvestigations:RNFS:RNFS -relativistically:RLTF:RLTF -remilitarization:RMLT:RMLT -remunerativeness:RMNR:RMNR -repercussiveness:RPRK:RPRK -representability:RPRS:RPRS -representational:RPRS:RPRS -representationes:RPRS:RPRS -representatively:RPRS:RPRS -repressibilities:RPRS:RPRS -reproachableness:RPRX:RPRK -reproductiveness:RPRT:RPRT -reprographically:RPRK:RPRK -resourcelessness:RSRS:RSRS -responsibilities:RSPN:RSPN -resurrectionists:RSRK:RSRK -retinoblastomata:RTNP:RTNP -retinopapillitis:RTNP:RTNP -retinoscopically:RTNS:RTNS -retrovaccination:RTRF:RTRF -rhabdomyosarcoma:RPTM:RPTM -rhinolaryngology:RNLR:RNLR -rhinopharyngitis:RNFR:RNFR -rhinosporidioses:RNSP:RNSP -rhinosporidiosis:RNSP:RNSP -rhynchocephalian:RNXS:RNKS -rickettsiostatic:RKTS:RKTS -roentgenkymogram:RNTJ:RNTK -roentgenographic:RNTJ:RNTK -roentgenological:RNTJ:RNTK -roentgenologists:RNTJ:RNTK -roentgenometries:RNTJ:RNTK -roentgenoscopies:RNTJ:RNTK -roentgenotherapy:RNTJ:RNTK -saccharification:SXRF:SXRF -saccharimetrical:SXRM:SXRM -sacrilegiousness:SKRL:SKRL -salicylanilidely:SLSL:SLSL -salpingographies:SLPN:SLPN -salpingopalatine:SLPN:SLPN -salpingoplasties:SLPN:SLPN -sanguinopurulent:SNKN:SNKN -sarcosporidioses:SRKS:SRKS -sarcosporidiosis:SRKS:SRKS -satisfactoriness:STSF:STSF -scenographically:SNKR:SNKR -schismaticalness:XSMT:XSMT -schistocytosises:XSTS:XSTS -schoolmistresses:SKLM:SKLM -sclerenchymatous:SKRN:SKRN -scleroblastemata:SKRP:SKRP -sclerodermatitis:SKRT:SKRT -sectionalization:SKXN:SKXN -secundigravidaes:SKNT:SKNT -selenomorphology:SLNM:SLNM -semiagricultural:SMKR:SMKR -semibiographical:SMPK:SMPK -semidomesticated:SMTM:SMTM -semigovernmental:SMKF:SMKF -semipermeability:SMPR:SMPR -semiprofessional:SMPR:SMPR -sensationalistic:SNSX:SNSX -sensationalizing:SNSX:SNSX -sentimentalities:SNTM:SNTM -sentimentalizing:SNTM:SNTM -sequestrectomies:SKST:SKST -seronegativities:SRNK:SRNK -seropositivities:SRPS:SRPS -sesquicentennial:SSKS:SSKS -shortsightedness:XRTS:XRTS -simplemindedness:SMPL:SMPL -simultaneousness:SMLT:SMLT -singlehandedness:SNKL:SNKL -sinistrocerebral:SNST:SNST -sinistrocularity:SNST:SNST -sinistrogyration:SNST:SNST -sociolinguistics:SSLN:SXLN -sociosexualities:SSSK:SXSK -somaticovisceral:SMTK:SMTK -somatosplanchnic:SMTS:SMTS -somatotherapists:SMT0:SMTT -somatotypologies:SMTT:SMTT -somnambulistical:SMNM:SMNM -soporiferousness:SPRF:SPRF -southeasternmost:S0ST:STST -southwesternmost:S0ST:STST -spatiotemporally:SPTT:SPTT -spectrochemistry:SPKT:SPKT -spectrographical:SPKT:SPKT -spendthriftiness:SPNT:SPNT -sphenomandibular:SFNM:SFNM -sphincterotomies:SFNK:SFNK -sphygmomanometry:SFKM:SFKM -spiritualization:SPRT:SPRT -splanchnesthesia:SPLN:SPLN -splanchnicectomy:SPLN:SPLN -splanchnopleuric:SPLN:SPLN -splanchnoscopies:SPLN:SPLN -splenohepatomega:SPLN:SPLN -spondylosyndesis:SPNT:SPNT -spongioblastomas:SPNJ:SPNK -standardizations:STNT:STNT -staphylococcemia:STFL:STFL -staphylococcemic:STFL:STFL -staphyloplasties:STFL:STFL -staphylorrhaphic:STFL:STFL -stauroscopically:STRS:STRS -stenographically:STNK:STNK -stereoblastulaes:STRP:STRP -stereophonically:STRF:STRF -stereoradiograph:STRR:STRR -stereoscopically:STRS:STRS -stereospecifical:STRS:STRS -stereotactically:STRT:STRT -sternoclavicular:STRN:STRN -stethoscopically:ST0S:STTS -stoichiometrical:STXM:STKM -stoutheartedness:ST0R:STTR -strabismometries:STRP:STRP -stratificational:STRT:STRT -streptobacillary:STRP:STRP -streptobiosamine:STRP:STRP -streptothricosis:STRP:STRP -streptotrichosis:STRP:STRP -stroboscopically:STRP:STRP -strongyloidiasis:STRN:STRN -strychninization:STRX:STRK -subadministrator:SPTM:SPTM -subcartilaginous:SPKR:SPKR -subcivilizations:SPSF:SPSF -subcommissioners:SPKM:SPKM -subconsciousness:SPKN:SPKN -subconstellation:SPKN:SPKN -subdiaphragmatic:SPTF:SPTF -subminiaturizing:SPMN:SPMN -submitochondrial:SPMT:SPMT -substantializing:SPST:SPST -substitutability:SPST:SPST -succinchlorimide:SXNX:SXNK -sulfaquinoxaline:SLFK:SLFK -sulfarsphenamine:SLFR:SLFR -sulphathiazolely:SLF0:SLFT -superciliousness:SPRS:SPRS -superfecundation:SPRF:SPRF -superficialities:SPRF:SPRF -superimpositions:SPRM:SPRM -superimpregnated:SPRM:SPRM -superincumbently:SPRN:SPRN -superintelligent:SPRN:SPRN -supernationalism:SPRN:SPRN -supernaturalness:SPRN:SPRN -superrespectable:SPRS:SPRS -superrestriction:SPRS:SPRS -superseniorities:SPRS:SPRS -superserviceable:SPRS:SPRS -superspecialized:SPRS:SPRS -supersufficiency:SPRS:SPRS -supplementations:SPLM:SPLM -supposititiously:SPST:SPST -supranationalism:SPRN:SPRN -suprarenalectomy:SPRR:SPRR -supraventricular:SPRF:SPRF -surmountableness:SRMN:SRMN -surrealistically:SRLS:SRLS -susceptibilities:SSPT:SSPT -syllabifications:SLPF:SLPF -sympathicotropic:SMP0:SMPT -sympathogoniomas:SMP0:SMPT -symphysodactylia:SMFS:SMFS -symptomatologies:SMPT:SMPT -syncategorematic:SNKT:SNKT -synchondrotomies:SNXN:SNKN -synchrocyclotron:SNXR:SNKR -syntrophoblastic:SNTR:SNTR -syphilopsychoses:SFLP:SFLP -syphilopsychosis:SFLP:SFLP -syphilotherapies:SFL0:SFLT -syringomyelocele:SRNK:SRNK -tacheometrically:TXMT:TKMT -tachistoscopical:TXST:TKST -telephotographed:TLFT:TLFT -telephotographes:TLFT:TLFT -telephotographic:TLFT:TLFT -telespectroscope:TLSP:TLSP -temperamentality:TMPR:TMPR -temporomaxillary:TMPR:TMPR -tenontomyoplasty:TNNT:TNNT -tenontomyotomies:TNNT:TNNT -teratoblastomata:TRTP:TRTP -teratocarcinomas:TRTK:TRTK -terminologically:TRMN:TRMN -territorializing:TRTR:TRTR -tetartohedralism:TTRT:TTRT -tetrachlorethane:TTRK:TTRK -thalamencephalic:0LMN:TLMN -thalamencephalon:0LMN:TLMN -thalamotegmental:0LMT:TLMT -thecostegnosises:0KST:TKST -thermoanesthesia:0RMN:TRMN -thermochemically:0RMX:TRMK -thermoelectrical:0RML:TRML -thermoinhibitory:0RMN:TRMN -thermometrically:0RMM:TRMM -thermoplasticity:0RMP:TRMP -thermoregulation:0RMR:TRMR -thermoregulatory:0RMR:TRMR -thermoscopically:0RMS:TRMS -thermostatically:0RMS:TRMS -thoracoschisises:0RKX:TRKX -thromboarteritis:0RMP:TRMP -thrombocytopenia:0RMP:TRMP -thrombocytopenic:0RMP:TRMP -thrombophlebitis:0RMP:TRMP -thromboplastical:0RMP:TRMP -thymicolymphatic:0MKL:TMKL -thyrochondrotomy:0RXN:TRKN -thyrocricotomies:0RKR:TRKR -thyroidectomized:0RTK:TRTK -thyroidectomizes:0RTK:TRTK -thyrotrophically:0RTR:TRTR -tintinnabulation:TNTN:TNTN -totipotentiality:TTPT:TTPT -toxicodermatitis:TKSK:TKSK -tracheloplasties:TRXL:TRKL -tracheobronchial:TRXP:TRKP -tracheoschisises:TRXX:TRKX -traditionalistic:TRTX:TRTX -traditionalizing:TRTX:TRTX -tranquillization:TRNK:TRNK -transcendentally:TRNS:TRNS -transcontinental:TRNS:TRNS -transculturation:TRNS:TRNS -transfigurations:TRNS:TRNS -transformational:TRNS:TRNS -transilluminated:TRNS:TRNS -transilluminates:TRNS:TRNS -transilluminator:TRNS:TRNS -transliterations:TRNS:TRNS -transmethylation:TRNS:TRNS -transmigrational:TRNS:TRNS -transmissibility:TRNS:TRNS -transmissiveness:TRNS:TRNS -transmutationist:TRNS:TRNS -transpeptidation:TRNS:TRNS -transplantations:TRNS:TRNS -transportability:TRNS:TRNS -transportational:TRNS:TRNS -transubstantiate:TRNS:TRNS -triboelectricity:TRPL:TRPL -trichlorethylene:TRXL:TRKL -trichloromethane:TRXL:TRKL -trichosporosises:TRXS:TRKS -trichostrongylus:TRXS:TRKS -trichotillomania:TRXT:TRKT -trichotillomanic:TRXT:TRKT -trigonocephalies:TRKN:TRKN -trigonocephalous:TRKN:TRKN -triiodothyronine:TRT0:TRTT -trinitroglycerin:TRNT:TRNT -triphenylmethane:TRFN:TRFN -triskaidekaphobe:TRSK:TRSK -tuberculofibroid:TPRK:TPRK -tumorigenicities:TMRJ:TMRK -tympanostapedial:TMPN:TMPN -typhlodicliditis:TFLT:TFLT -ulceromembranous:ALSR:ALSR -ultracentrifugal:ALTR:ALTR -ultramicroscopic:ALTR:ALTR -ultranationalism:ALTR:ALTR -ultranationalist:ALTR:ALTR -unaccountability:ANKN:ANKN -unaccustomedness:ANKS:ANKS -unanswerableness:ANNS:ANNS -unapologetically:ANPL:ANPL -unappealableness:ANPL:ANPL -unassailableness:ANSL:ANSL -unbelievableness:ANPL:ANPL -unchangeableness:ANXN:ANKN -uncharacteristic:ANXR:ANKR -uncharitableness:ANXR:ANKR -uncircumstantial:ANSR:ANSR -uncomprehensible:ANKM:ANKM -uncompromisingly:ANKM:ANKM -unconditionality:ANKN:ANKN -unconformability:ANKN:ANKN -unconstitutional:ANKN:ANKN -uncontrovertible:ANKN:ANKN -unconventionally:ANKN:ANKN -uncotrollability:ANKT:ANKT -undemocratically:ANTM:ANTM -undenominational:ANTN:ANTN -underachievement:ANTR:ANTR -undercapitalized:ANTR:ANTR -undercapitalizes:ANTR:ANTR -underdevelopment:ANTR:ANTR -underemphasizing:ANTR:ANTR -underestimations:ANTR:ANTR -undernourishment:ANTR:ANTR -undersecretaries:ANTR:ANTR -undifferentiated:ANTF:ANTF -undiplomatically:ANTP:ANTP -undiscriminating:ANTS:ANTS -undistinguishing:ANTS:ANTS -unenthusiastical:ANN0:ANNT -unfathomableness:ANFT:ANFT -ungovernableness:ANKF:ANKF -unicellularities:ANSL:ANSL -unidirectionally:ANTR:ANTR -unimpeachability:ANMP:ANMP -unimpressionable:ANMP:ANMP -uninterestedness:ANNT:ANNT -universalization:ANFR:ANFR -unmeasurableness:ANMS:ANMS -unmistakableness:ANMS:ANMS -unostentatiously:ANST:ANST -unpredictability:ANPR:ANPR -unpremeditatedly:ANPR:ANPR -unprincipledness:ANPR:ANPR -unproductiveness:ANPR:ANPR -unprofessionally:ANPR:ANPR -unreasonableness:ANRS:ANRS -unrepresentative:ANRP:ANRP -unresponsiveness:ANRS:ANRS -unsatisfactorily:ANST:ANST -unsatisfiability:ANST:ANST -unscientifically:ANSN:ANSN -unscrupulousness:ANSK:ANSK -unseasonableness:ANSS:ANSS -unsophistication:ANSF:ANSF -unsubstantiality:ANSP:ANSP -unsystematically:ANSS:ANSS -unthoughtfulness:AN0T:ANTT -ureterocolostomy:ARTR:ARTR -ureteroileostomy:ARTR:ARTR -ureterolithiases:ARTR:ARTR -ureterolithiasis:ARTR:ARTR -ureterolithotomy:ARTR:ARTR -ureterorrhaphies:ARTR:ARTR -urethroprostatic:AR0R:ARTR -urethrorrhaphies:AR0R:ARTR -urobilinogenuria:ARPL:ARPL -utriculosaccular:ATRK:ATRK -vaccinotherapies:FXN0:FXNT -vasoconstriction:FSKN:FSKN -vasoconstrictive:FSKN:FSKN -vectorcardiogram:FKTR:FKTR -ventriculography:FNTR:FNTR -ventriculotomies:FNTR:FNTR -ventrosuspension:FNTR:FNTR -vertebrochondral:FRTP:FRTP -vesiculographies:FSKL:FSKL -vesiculopustular:FSKL:FSKL -vituperativeness:FTPR:FTPR -weatherproofness:A0RP:FTRP -weatherstripping:A0RS:FTRS -wholeheartedness:ALHR:ALHR -xanthogranulomas:SN0K:SNTK -zygomaticofacial:SKMT:SKMT -abdominoposterior:APTM:APTM -acanthocheilonema:AKN0:AKNT -acarodermatitides:AKRT:AKRT -acarodermatitises:AKRT:AKRT -accommodativeness:AKMT:AKMT -acquaintanceships:AKNT:AKNT -acromioclavicular:AKRM:AKRM -actinochemistries:AKTN:AKTN -adamantoblastomas:ATMN:ATMN -adrenalectomizing:ATRN:ATRN -agglutinabilities:AKLT:AKLT -alimentotherapies:ALMN:ALMN -amphitheatrically:AMF0:AMFT -anachronistically:ANKR:ANKR -anesthesiologists:ANS0:ANST -angiocardiography:ANJK:ANKK -angioscotometries:ANJS:ANKS -anthracosilicoses:AN0R:ANTR -anthracosilicosis:AN0R:ANTR -anthropologically:AN0R:ANTR -anthropomorphical:AN0R:ANTR -anthropomorphisms:AN0R:ANTR -anthropomorphists:AN0R:ANTR -anthropomorphized:AN0R:ANTR -anthropomorphizes:AN0R:ANTR -anthropomorphosis:AN0R:ANTR -anticlimactically:ANTK:ANTK -anticomplementary:ANTK:ANTK -antihypertensives:ANTH:ANTH -antinationalistic:ANTN:ANTN -antipollutionists:ANTP:ANTP -antipornographies:ANTP:ANTP -antipsychiatrists:ANTP:ANTP -antirevolutionary:ANTR:ANTR -antixerophthalmic:ANTK:ANTK -arboriculturalist:ARPR:ARPR -archaeoastronomer:ARKS:ARXS -archaeozoologists:ARKS:ARXS -architectonically:ARKT:ARKT -arrhenoblastomata:ARNP:ARNP -arytenoidectomies:ARTN:ARTN -astrobiologically:ASTR:ASTR -atticoantrotomies:ATKN:ATKN -australopithecine:ASTR:ASTR -authoritativeness:A0RT:ATRT -autoagglutination:ATKL:ATKL -autohemotherapies:ATHM:ATHM -autoradiographies:ATRT:ATRT -autosensitization:ATSN:ATSN -autotetraploidies:ATTT:ATTT -bacteriologically:PKTR:PKTR -bibliographically:PPLK:PPLK -bibliokleptomania:PPLK:PPLK -bibliotherapeutic:PPL0:PPLT -bioelectrogeneses:PLKT:PLKT -bioelectrogenesis:PLKT:PLKT -biogeochemistries:PJXM:PKKM -biogeographically:PJKR:PKKR -biophysiographies:PFSK:PFXK -biotransformation:PTRN:PTRN -bronchospirometry:PRNX:PRNK -bureaucratization:PRKR:PRKR -cannibalistically:KNPL:KNPL -carboxyhemoglobin:KRPK:KRPK -cardiorespiratory:KRTR:KRTR -cardiovascluatory:KRTF:KRTF -caricaturizations:KRKT:KRKT -caudatolenticular:KTTL:KTTL -cecosigmoidostomy:SKSK:SKSK -celioenterotomies:SLNT:SLNT -cephalohematocele:SFLH:SFLH -cephalopharyngeus:SFLF:SFLF -characterizations:KRKT:KRKT -characterological:KRKT:KRKT -characterologists:KRKT:KRKT -cheilocarcinomata:XLKR:XLKR -chemiluminescence:KMLM:KMLM -chemoautotrophies:KMTT:KMTT -chemoprophylactic:KMPR:KMPR -chemotherapeutics:KM0R:KMTR -chlortetracycline:KLRT:KLRT -cholangiographies:XLNJ:XLNK -cholecystectomies:XLSS:XLSS -cholecystographic:XLSS:XLSS -cholecystostomies:XLSS:XLSS -choledochostomies:XLTX:XLTK -chondrodystrophia:XNTR:XNTR -chondrodystrophic:XNTR:XNTR -chondropharyngeus:XNTR:XNTR -choreographically:XRKR:XRKR -chorioallantoides:KRLN:KRLN -choriocarcinomata:KRKR:KRKR -chorioepithelioma:KRP0:KRPT -chorioretinitides:KRRT:KRRT -choroidoretinitis:KRTR:KRTR -chromatographical:KRMT:KRMT -chromolithographs:KRML:KRML -chromolithography:KRML:KRML -chronogrammatical:KRNK:KRNK -chronographically:KRNK:KRNK -cineangiographies:SNNJ:SNNK -cinefluorographic:SNFL:SNFL -cinematographical:SNMT:SNMT -cineradiographies:SNRT:SNRT -circumambulations:SRKM:SRKM -circumferentially:SRKM:SRKM -circumnavigations:SRKM:SRKM -circumscriptively:SRKM:SRKM -circumstantiality:SRKM:SRKM -circumstantiating:SRKM:SRKM -circumstantiation:SRKM:SRKM -clinicopathologic:KLNK:KLNK -cochleovestibular:KKLF:KKLF -collaborationists:KLPR:KLPR -coloproctostomies:KLPR:KLPR -colosigmoidostomy:KLSK:KLSK -comedocarcinomata:KMTK:KMTK -commercialization:KMRS:KMRX -commissionerships:KMSN:KMSN -communicabilities:KMNK:KMNK -communicativeness:KMNK:KMNK -companionableness:KMPN:KMPN -compartmentalized:KMPR:KMPR -compartmentalizes:KMPR:KMPR -compassionateness:KMPS:KMPS -complementariness:KMPL:KMPL -complementarities:KMPL:KMPL -comprehensibility:KMPR:KMPR -comprehensiveness:KMPR:KMPR -concentrativeness:KNSN:KNSN -conceptualization:KNSP:KNSP -confederationists:KNFT:KNFT -confidentialities:KNFT:KNFT -configurationally:KNFK:KNFK -congregationalism:KNKR:KNKR -congregationalist:KNKR:KNKR -congressionalists:KNKR:KNKR -conscientiousness:KNSN:KNSN -consequentialness:KNSK:KNSK -constitutionalism:KNST:KNST -constitutionalist:KNST:KNST -constitutionality:KNST:KNST -consubstantiality:KNSP:KNSP -consubstantiating:KNSP:KNSP -consubstantiation:KNSP:KNSP -contemplativeness:KNTM:KNTM -contemporaneously:KNTM:KNTM -contextualization:KNTK:KNTK -contrabassoonists:KNTR:KNTR -contractibilities:KNTR:KNTR -contradictiveness:KNTR:KNTR -contradictoriness:KNTR:KNTR -contradistinction:KNTR:KNTR -contradistinctive:KNTR:KNTR -contradistinguish:KNTR:KNTR -contraindications:KNTR:KNTR -contrasuggestible:KNTR:KNTR -contrasuggestions:KNTR:KNTR -controversialists:KNTR:KNTR -conventionalities:KNFN:KNFN -conventionalizing:KNFN:KNFN -conversationalist:KNFR:KNFR -counteractiveness:KNTR:KNTR -counterinsurgency:KNTR:KNTR -counterinsurgents:KNTR:KNTR -counterirritation:KNTR:KNTR -counteroffensives:KNTR:KNTR -counterproductive:KNTR:KNTR -counterrevolution:KNTR:KNTR -countersignatures:KNTR:KNTR -counterterrorists:KNTR:KNTR -craniopharyngioma:KRNF:KRNF -cryoprecipitation:KRPR:KRPR -cryptocrystalline:KRPT:KRPT -cryptographically:KRPT:KRPT -crystallisability:KRST:KRST -crystallographers:KRST:KRST -crystallographies:KRST:KRST -cyanmethemoglobin:SNM0:SNMT -cyclicalcylindric:SKLK:SKLK -cytoarchitectonic:STRK:STRK -cytoarchitectural:STRK:STRK -cytomorphological:STMR:STMR -cytopathogenicity:STP0:STPT -cytophotometrical:STFT:STFT -cytotechnologists:STTK:STTK -dacryoblennorrhea:TKRP:TKRP -dacryocystotomies:TKRS:TKRS -dearterialization:TRTR:TRTR -decentralizations:TSNT:TSNT -declassifications:TKLS:TKLS -decriminalization:TKRM:TKRM -dedifferentiating:TTFR:TTFR -dedifferentiation:TTFR:TTFR -dehydrochlorinase:THTR:THTR -dehydrochlorinate:THTR:THTR -deindustrializing:TNTS:TNTS -demasculinization:TMSK:TMSK -dematerialization:TMTR:TMTR -demonetarizations:TMNT:TMNT -demonstrationists:TMNS:TMNS -demonstrativeness:TMNS:TMNS -demythologization:TM0L:TMTL -denationalization:TNXN:TNXN -denominationalism:TNMN:TNMN -denominationalist:TNMN:TNMN -deoxyribonuclease:TKSR:TKSR -departmentalizing:TPRT:TPRT -depersonalization:TPRS:TPRS -dephosphorylation:TFSF:TFSF -depressurizations:TPRS:TPRS -dermatocellulitis:TRMT:TRMT -dermatoconiosises:TRMT:TRMT -dermatomyositides:TRMT:TRMT -dermatomyositises:TRMT:TRMT -dermosyphilopathy:TRMS:TRMS -desegregationists:TSKR:TSKR -desoxyribonucleic:TSKS:TSKS -destructuralizing:TSTR:TSTR -determinativeness:TTRM:TTRM -deterministically:TTRM:TTRM -devascularization:TFSK:TFSK -dextroamphetamine:TKST:TKST -dialectologically:TLKT:TLKT -diaphragmatically:TFRK:TFRK -dibothriocephalus:TP0R:TPTR -dichlorobenzening:TXLR:TKLR -differentiability:TFRN:TFRN -dihydroergotamine:THTR:THTR -dihydroxyaluminum:THTR:THTR -diiodohydroxyquin:TTHT:TTHT -dimethylsulfoxide:TM0L:TMTL -diphenylhydantoin:TFNL:TFNL -diphosphoglyceric:TFSF:TFSF -diphosphopyridine:TFSF:TFSF -diphosphothiamine:TFSF:TFSF -diphthongizations:TF0N:TFTN -disadvantageously:TSTF:TSTF -discontinuousness:TSKN:TSKN -disembarrassments:TSMP:TSMP -disestablishments:TSST:TSST -disfranchisements:TSFR:TSFR -disinterestedness:TSNT:TSNT -disintermediation:TSNT:TSNT -dispassionateness:TSPS:TSPS -disproportionable:TSPR:TSPR -disproportionably:TSPR:TSPR -disqualifications:TSKL:TSKL -disrespectability:TSRS:TSRS -disrespectfulness:TSRS:TSRS -dissatisfactorily:TSTS:TSTS -dissertationalist:TSRT:TSRT -distractibilities:TSTR:TSTR -ebullioscopically:APLS:APLS -ecclesiologically:AKLS:AKLX -eccoproticophoric:AKPR:AKPR -editorializations:ATTR:ATTR -electroacoustical:ALKT:ALKT -electroanalytical:ALKT:ALKT -electrocardiogram:ALKT:ALKT -electrochemically:ALKT:ALKT -electroconvulsive:ALKT:ALKT -electrodeposition:ALKT:ALKT -electroendosmoses:ALKT:ALKT -electroendosmosis:ALKT:ALKT -electrokymography:ALKT:ALKT -electromagnetical:ALKT:ALKT -electromechanical:ALKT:ALKT -electrometallurgy:ALKT:ALKT -electrometrically:ALKT:ALKT -electronegativity:ALKT:ALKT -electrophysiology:ALKT:ALKT -electroretinogram:ALKT:ALKT -electrostatically:ALKT:ALKT -electrostrictions:ALKT:ALKT -electrotechnician:ALKT:ALKT -electrotechnology:ALKT:ALKT -electrotherapists:ALKT:ALKT -emotionalizations:AMXN:AMXN -encephalitogenous:ANSF:ANSF -encephalographies:ANSF:ANSF -encephalomyelitic:ANSF:ANSF -encephalomyelitis:ANSF:ANSF -endotheliochorial:ANT0:ANTT -enteroenterostomy:ANTR:ANTR -enterohepatitides:ANTR:ANTR -entrepreneurships:ANTR:ANTR -environmentalists:ANFR:ANFR -eperythrozoonoses:APR0:APRT -eperythrozoonosis:APR0:APRT -epidemiologically:APTM:APTM -epiphenomenalists:APFN:APFN -epistemologically:APST:APST -epithelialization:AP0L:APTL -equiprobabilities:AKPR:AKPR -ethnocentricities:A0NS:ATNS -ethnomusicologist:A0NM:ATNM -eudaemonistically:ATMN:ATMN -exceptionableness:AKSP:AKSP -exchangeabilities:AKSN:AKSN -experimentalizing:AKSP:AKSP -extraordinariness:AKST:AKST -extraterrestrials:AKST:AKST -ferroelectrically:FRLK:FRLK -fictionalizations:FKXN:FKXN -fideicommissaries:FTKM:FTKM -frontogenetically:FRNT:FRNT -galvanometrically:KLFN:KLFN -gastroanastomoses:KSTR:KSTR -gastroanastomosis:KSTR:KSTR -gastroenteritides:KSTR:KSTR -gastroenteritises:KSTR:KSTR -gastroenteropathy:KSTR:KSTR -gastroenterostomy:KSTR:KSTR -gastroesophagitis:KSTR:KSTR -gastrojejunostomy:KSTR:KSTR -gentlewomanliness:JNTL:KNTL -gingivostomatitis:KNJF:JNKF -ginglymoarthrodia:KNKL:JNKL -glossokinesthetic:KLSK:KLSK -glycerophosphoric:KLSR:KLSR -haemagglutonating:HMKL:HMKL -haemorrhoidectomy:HMRT:HMRT -hemangioblastomas:HMNJ:HMNK -hemangiosarcomata:HMNJ:HMNK -hematopoietically:HMTP:HMTP -hemiglossectomies:HMKL:HMKL -hemihyperesthesia:HMHP:HMHP -hemihypertrophies:HMHP:HMHP -hemilaminectomies:HMLM:HMLM -heminephrectomies:HMNF:HMNF -hemispherectomies:HMSF:HMSF -hemoconcentration:HMKN:HMKN -hepaticolithotomy:HPTK:HPTK -heteroautotrophic:HTRT:HTRT -heterochromosomes:HTRK:HTRK -heterogeneousness:HTRJ:HTRK -heterogenetically:HTRJ:HTRK -heteroplastically:HTRP:HTRP -heterosexualities:HTRS:HTRS -heterotrophically:HTRT:HTRT -histopathological:HSTP:HSTP -histopathologists:HSTP:HSTP -histophysiologies:HSTF:HSTF -historiographical:HSTR:HSTR -hydroelectrically:HTRL:HTRL -hydromeningitides:HTRM:HTRM -hydropneumothorax:HTRP:HTRP -hydrotherapeutics:HTR0:HTRT -hydroxylapatiting:HTRK:HTRK -hydroxytryptamine:HTRK:HTRK -hyperbrachycephal:HPRP:HPRP -hyperendemicities:HPRN:HPRN -hyperexcitability:HPRK:HPRK -hyperglobulinemia:HPRK:HPRK -hyperirritability:HPRR:HPRR -hyperpolarization:HPRP:HPRP -hypochondriacally:HPXN:HPKN -hypophysectomized:HPFS:HPFS -hypophysectomizes:HPFS:HPFS -hypopopituitarism:HPPP:HPPP -hyposensitivities:HPSN:HPSN -hyposensitization:HPSN:HPSN -hypovitaminosises:HPFT:HPFT -hysterotraumatism:HSTR:HSTR -idiosyncratically:ATSN:ATSN -immunochemistries:AMNX:AMNK -immunofluorescent:AMNF:AMNF -immunogenetically:AMNJ:AMNK -immunohematologic:AMNH:AMNH -immunohistologies:AMNH:AMNH -immunopathologies:AMNP:AMNP -immunopathologist:AMNP:AMNP -immunosuppressant:AMNS:AMNS -immunosuppression:AMNS:AMNS -immunosuppressive:AMNS:AMNS -immunotherapeutic:AMN0:AMNT -immunotransfusion:AMNT:AMNT -imperceptibleness:AMPR:AMPR -imperialistically:AMPR:AMPR -impersonalization:AMPR:AMPR -imperturbableness:AMPR:AMPR -impracticableness:AMPR:AMPR -impressionability:AMPR:AMPR -inapproachability:ANPR:ANPR -inappropriateness:ANPR:ANPR -incombustibleness:ANKM:ANKM -incommunicability:ANKM:ANKM -incommunicatively:ANKM:ANKM -incompatibilities:ANKM:ANKM -incomprehensively:ANKM:ANKM -incompressibility:ANKM:ANKM -inconceivableness:ANKN:ANKN -inconsecutiveness:ANKN:ANKN -inconsequentially:ANKN:ANKN -inconsiderateness:ANKN:ANKN -inconspicuousness:ANKN:ANKN -incontestableness:ANKN:ANKN -inconvertibleness:ANKN:ANKN -inconvincibleness:ANKN:ANKN -incorruptibleness:ANKR:ANKR -indecipherability:ANTS:ANTS -indefatigableness:ANTF:ANTF -indefeasibilities:ANTF:ANTF -indemonstrability:ANTM:ANTM -indescribableness:ANTS:ANTS -indestructibility:ANTS:ANTS -indeterminateness:ANTT:ANTT -indigestibilities:ANTJ:ANTK -indiscernibleness:ANTS:ANTS -indiscriminations:ANTS:ANTS -indispensableness:ANTS:ANTS -indistinctiveness:ANTS:ANTS -indistinguishable:ANTS:ANTS -indistinguishably:ANTS:ANTS -individualization:ANTF:ANTF -industrialization:ANTS:ANTS -inefficaciousness:ANFK:ANFK -inexhaustibleness:ANKS:ANKS -inexplainableness:ANKS:ANKS -inexpressibleness:ANKS:ANKS -infralapsarianism:ANFR:ANFR -inquisitorialness:ANKS:ANKS -instantaneousness:ANST:ANST -institutionalists:ANST:ANST -institutionalized:ANST:ANST -institutionalizes:ANST:ANST -instrumentalities:ANST:ANST -insupportableness:ANSP:ANSP -insurmountability:ANSR:ANSR -insurrectionaries:ANSR:ANSR -intellectualistic:ANTL:ANTL -intellectualizers:ANTL:ANTL -intellectualizing:ANTL:ANTL -intelligibilities:ANTL:ANTL -intercolumniation:ANTR:ANTR -intercommunicable:ANTR:ANTR -intercommunicated:ANTR:ANTR -intercommunicates:ANTR:ANTR -intercommunicator:ANTR:ANTR -interdepartmental:ANTR:ANTR -interdependencies:ANTR:ANTR -interdisciplinary:ANTR:ANTR -interferometrical:ANTR:ANTR -intergenerational:ANTR:ANTR -intergovernmental:ANTR:ANTR -intermediolateral:ANTR:ANTR -internationalists:ANTR:ANTR -internationalized:ANTR:ANTR -internationalizes:ANTR:ANTR -interpenetrations:ANTR:ANTR -interpretableness:ANTR:ANTR -interprofessional:ANTR:ANTR -interrelationship:ANTR:ANTR -intertrochanteric:ANTR:ANTR -introspectionists:ANTR:ANTR -introspectiveness:ANTR:ANTR -iridocyclectomies:ARTS:ARTS -iridocystectomies:ARTS:ARTS -iridosclerotomies:ARTS:ARTS -irreclaimableness:ARKL:ARKL -irreconcilability:ARKN:ARKN -irrecoverableness:ARKF:ARKF -irrefrangibleness:ARFR:ARFR -irrepressibleness:ARPR:ARPR -irreproachability:ARPR:ARPR -irreproducibility:ARPR:ARPR -irresponsibleness:ARSP:ARSP -irretrievableness:ARTR:ARTR -jejunocolostomies:JJNK:AJNK -jejunoileostomies:JJNL:AJNL -jejunojejunostomy:JJNJ:AJNJ -jurisprudentially:JRSP:ARSP -kaleidoscopically:KLTS:KLTS -keratoacanthomata:KRTK:KRTK -keratochromatoses:KRTK:KRTK -keratochromatosis:KRTK:KRTK -knowledgeableness:NLJP:NLJP -labyrinthectomies:LPRN:LPRN -lackadaisicalness:LKTS:LKTS -lamellibranchiate:LMLP:LMLP -laryngopharyngeal:LRNK:LRNK -laryngoscleromata:LRNK:LRNK -laryngoscopically:LRNK:LRNK -laryngotracheitis:LRNK:LRNK -latitudinarianism:LTTT:LTTT -lenticulothalamic:LNTK:LNTK -leptomeningitides:LPTM:LPTM -leptomeningopathy:LPTM:LPTM -leucoencephalitis:LKNS:LKNS -leukoencephalitis:LKNS:LKNS -leukosarcomatoses:LKSR:LKSR -leukosarcomatosis:LKSR:LKSR -lexicographically:LKSK:LKSK -lithonephrotomies:L0NF:LTNF -litiscontestation:LTSK:LTSK -logogrammatically:LKKR:LKKR -lymphadenectomies:LMFT:LMFT -lymphadenomatoses:LMFT:LMFT -lymphadenomatosis:LMFT:LMFT -lymphadenopathies:LMFT:LMFT -lymphangiectomies:LMFN:LMFN -lymphangiosarcoma:LMFN:LMFN -lymphocytopoieses:LMFS:LMFS -lymphocytopoiesis:LMFS:LMFS -lymphoepithelioma:LMFP:LMFP -lymphogranulomata:LMFK:LMFK -lymphoreticuloses:LMFR:LMFR -lymphoreticulosis:LMFR:LMFR -lymphosarcomatous:LMFS:LMFS -macroclimatically:MKRK:MKRK -macroevolutionary:MKRF:MKRF -macroglobulinemia:MKRK:MKRK -macroglobulinemic:MKRK:MKRK -macrosociological:MKRS:MKRS -magnetocardiogram:MNTK:MKNT -magnetoelectrical:MNTL:MKNT -magnetostrictions:MNTS:MKNT -maladministration:MLTM:MLTM -maneuverabilities:MNFR:MNFR -materialistically:MTRL:MTRL -mechanotherapists:MXN0:MKNT -mediastinoscopies:MTST:MTST -medulloblastomata:MTLP:MTLP -melanocarcinomata:MLNK:MLNK -meningomyelitides:MNNK:MNNK -methemoglobinemia:M0MK:MTMK -methemoglobinuria:M0MK:MTMK -metropolitanizing:MTRP:MTRP -microbiologically:MKRP:MKRP -microencapsulated:MKRN:MKRN -microincineration:MKRN:MKRN -microinstructions:MKRN:MKRN -micromanipulation:MKRM:MKRM -microminiaturized:MKRM:MKRM -micromorphologies:MKRM:MKRM -microphotographed:MKRF:MKRF -microphotographer:MKRF:MKRF -microphotographic:MKRF:MKRF -microprogrammable:MKRP:MKRP -microradiographic:MKRR:MKRR -mineralocorticoid:MNRL:MNRL -misadministration:MSTM:MSTM -miscellaneousness:MSLN:MSLN -misclassification:MSKS:MSKS -misidentification:MSTN:MSTN -misinterpretation:MSNT:MSNT -mispronunciations:MSPR:MSPR -misrepresentation:MSRP:MSRP -misrepresentative:MSRP:MSRP -misunderstandings:MSNT:MSNT -monochromatically:MNKR:MNKR -monocontaminating:MNKN:MNKN -monocontamination:MNKN:MNKN -morphogenetically:MRFJ:MRFK -multicentricities:MLTS:MLTS -multidisciplinary:MLTT:MLTT -multimillionaires:MLTM:MLTM -musculomembranous:MSKL:MSKL -myeloencephalitis:MLNS:MLNS -myelomeningitides:MLMN:MLMN -myopericarditides:MPRK:MPRK -myxofibrosarcomas:MKSF:MKSF -nasopharyngitides:NSFR:NSFR -nasopharyngoscope:NSFR:NSFR -nationalistically:NXNL:NXNL -neoimpressionists:NMPR:NMPR -nephelometrically:NFLM:NFLM -nephrolithotomies:NFRL:NFRL -neurodermatitides:NRTR:NRTR -neurodermatitises:NRTR:NRTR -neurofibromatoses:NRFP:NRFP -neurofibromatosis:NRFP:NRFP -neuropathological:NRP0:NRPT -neuropathologists:NRP0:NRPT -neuropharmacology:NRFR:NRFR -neurophysiologies:NRFS:NRFX -neurophysiologist:NRFS:NRFX -neuropsychiatries:NRPS:NRPS -neuropsychiatrist:NRPS:NRPS -neuropsychologies:NRPS:NRPS -neuropsychologist:NRPS:NRPS -neurotransmitters:NRTR:NRTR -nitrohydrochloric:NTRH:NTRH -nonadministrative:NNTM:NNTM -nonadvantageously:NNTF:NNTF -nonconclusiveness:NNKN:NNKN -nonconstructively:NNKN:NNKN -nondenominational:NNTN:NNTN -nondiscriminating:NNTS:NNTS -nondiscrimination:NNTS:NNTS -nondiscriminatory:NNTS:NNTS -nonecclesiastical:NNKL:NNKL -noneffervescently:NNFR:NNFR -nonintellectually:NNNT:NNNT -noninterventional:NNNT:NNNT -nonpossessiveness:NNPS:NNPS -nonproductiveness:NNPR:NNPR -nonproportionally:NNPR:NNPR -nonrepresentative:NNRP:NNRP -nonsubmissiveness:NNSP:NNSP -nonsuccessiveness:NNSK:NNSK -nonsusceptibility:NNSS:NNSS -nucleocytoplasmic:NKLS:NKLS -objectionableness:APJK:APJK -objectivistically:APJK:APJK -occidentalisation:AXTN:AXTN -occipitofrontalis:AXPT:AXPT -oceanographically:ASNK:ASNK -olfactometrically:ALFK:ALFK -oligodendroglioma:ALKT:ALKT -omphalomesenteric:AMFL:AMFL -oophorocystectomy:AFRS:AFRS -ophthalmencephala:AF0L:AFTL -ophthalmocentesis:AF0L:AFTL -ophthalmoreaction:AF0L:AFTL -ophthalmoscopical:AF0L:AFTL -opportunistically:APRT:APRT -organogenetically:ARKN:ARKN -organotherapeutic:ARKN:ARKN -orthopsychiatries:AR0P:ARTP -orthopsychiatrist:AR0P:ARTP -orthostereoscopic:AR0S:ARTS -oscilloscopically:ASLS:ASLS -osteoarthrotomies:ASTR:ASTR -osteochondropathy:ASTX:ASTK -otolaryngological:ATLR:ATLR -otolaryngologists:ATLR:ATLR -overambitiousness:AFRM:AFRM -overargumentative:AFRR:AFRR -overassertiveness:AFRS:AFRS -overattentiveness:AFRT:AFRT -overconscientious:AFRK:AFRK -overindustrialize:AFRN:AFRN -overmagnification:AFRM:AFRM -overproportioning:AFRP:AFRP -overrighteousness:AFRT:AFRT -overromanticizing:AFRM:AFRM -oversensitiveness:AFRS:AFRS -oversophisticated:AFRS:AFRS -ovoviviparousness:AFFF:AFFF -pachymeningitides:PKMN:PKMN -palaeethnological:PL0N:PLTN -palaeoclimatology:PLKL:PLKL -palaeoethnobotany:PL0N:PLTN -palaeographically:PLKR:PLKR -palaeotographical:PLTK:PLTK -palaeotologically:PLTL:PLTL -pancreatectomized:PNKR:PNKR -pancreatectomizes:PNKR:PNKR -panhysterectomies:PNST:PNST -paragammacismuses:PRKM:PRKM -parameterizations:PRMT:PRMT -paraprofessionals:PRPR:PRPR -parapsychological:PRPS:PRPS -parapsychologists:PRPS:PRPS -parasympatholytic:PRSM:PRSM -parathyroidectomy:PR0R:PRTR -parthenogenetical:PR0N:PRTN -particularization:PRTK:PRTK -parvobacteriaceae:PRFP:PRFP -paternalistically:PTRN:PTRN -pathognomonically:P0NM:PTKN -pathomorphologies:PTMR:PTMR -pathophysiologies:P0FS:PTFX -pathopsychologies:P0PS:PTPS -pedestrianisation:PTST:PTST -pentachlorophenol:PNTK:PNTK -pentylenetetrazol:PNTL:PNTL -periangiocholitis:PRNJ:PRNK -pericardiectomies:PRKR:PRKR -pericholangitides:PRXL:PRKL -peripylephlebitis:PRPL:PRPL -peritoneocenteses:PRTN:PRTN -peritoneocentesis:PRTN:PRTN -peritoneoscopists:PRTN:PRTN -perspicaciousness:PRSP:PRSP -pharmacodynamical:FRMK:FRMK -pharmacognostical:FRMK:FRMK -pharmacologically:FRMK:FRMK -pharmacotherapies:FRMK:FRMK -pharyngopalatinus:FRNK:FRNK -pheochromocytomas:FKRM:FKRM -philanthropically:FLN0:FLNT -philosophicalness:FLSF:FLSF -phonautographical:FNTK:FNTK -phonocardiography:FNKR:FNKR -phosphodiesterase:FSFT:FSFT -photochronography:FTKR:FTKR -photoconductivity:FTKN:FTKN -photoelectrically:FTLK:FTLK -photofluorography:FTFL:FTFL -photojournalistic:FTJR:FTHR -photolithographic:FTL0:FTLT -photoluminescence:FTLM:FTLM -photomacrographic:FTMK:FTMK -photomechanically:FTMX:FTMK -photomicrographer:FTMK:FTMK -photomicrographes:FTMK:FTMK -photomicrographic:FTMK:FTMK -photoperiodically:FTPR:FTPR -photoreactivating:FTRK:FTRK -photoreactivation:FTRK:FTRK -photosynthesizing:FTSN:FTSN -phthisiotherapies:F0S0:FTXT -physicochemically:FSKX:FSKK -physiopathologies:FSP0:FXPT -physiotherapeutic:FS0R:FXTR -phytogeographical:FTJK:FTKK -phytopathological:FTP0:FTPT -phytopathologists:FTP0:FTPT -phytopharmacology:FTFR:FTFR -phytosociological:FTSS:FTSX -piezoelectrically:PSLK:PSLK -platystencephalic:PLTS:PLTS -plenipotentiaries:PLNP:PLNP -plethysmographies:PL0S:PLTS -pleuroperitoneums:PLRP:PLRP -pluripotentiality:PLRP:PLRP -pneumoenteritides:NMNT:NMNT -pneumoenteritises:NMNT:NMNT -pneumographically:NMKR:NMKR -pneumohaemothorax:NMHM:NMHM -pneumohydrothorax:NMHT:NMHT -pneumomediastinum:NMMT:NMMT -pneumopericardium:NMPR:NMPR -pneumoperitoneums:NMPR:NMPR -pneumoperitonitis:NMPR:NMPR -polarographically:PLRK:PLRK -polioencephalitis:PLNS:PLNS -polychromatophile:PLXR:PLKR -polygalacturonase:PLKL:PLKL -polymorphonuclear:PLMR:PLMR -polysynthetically:PLSN:PLSN -postclavicularers:PSTK:PSTK -postdevelopmental:PSTF:PSTF -postimpressionism:PSTM:PSTM -postimpressionist:PSTM:PSTM -postmillennialism:PSTM:PSTM -postmillennialist:PSTM:PSTM -precipitabilities:PRSP:PRSP -preconsiderations:PRKN:PRKN -predestinarianism:PRTS:PRTS -predeterminations:PRTT:PRTT -predistinguishing:PRTS:PRTS -prefigurativeness:PRFK:PRFK -premillenarianism:PRML:PRML -prepossessingness:PRPS:PRPS -preternaturalness:PRTR:PRTR -proadministration:PRTM:PRTM -probabilistically:PRPP:PRPP -procentralization:PRSN:PRSN -professionalizing:PRFS:PRFS -pronominalization:PRNM:PRNM -propionibacterium:PRPN:PRPN -proportionability:PRPR:PRPR -proportionalities:PRPR:PRPR -proportionateness:PRPR:PRPR -prostaticovesical:PRST:PRST -provincialisation:PRFN:PRFN -pseudohyoscyamine:STHS:STHS -pseudohypertrophy:STHP:STHP -pseudomutualities:STMT:STMT -pseudopregnancies:STPR:STPR -pseudosocialistic:STSS:STSX -psychodiagnostics:SXTN:SKTK -psychodynamically:SXTN:SKTN -psychogenetically:SXJN:SKKN -psychographically:SXKR:SKKR -psycholinguistics:SXLN:SKLN -psychopathologies:SXP0:SKPT -psychopathologist:SXP0:SKPT -psychophysiologic:SXFS:SKFX -psychosexualities:SXSK:SKSK -psychosomatically:SXSM:SKSM -psychotherapeutic:SX0R:SKTR -psychotomimetical:SXTM:SKTM -pterygomandibular:PTRK:PTRK -pylorogastrectomy:PLRK:PLRK -pyopneumothoraces:PPNM:PPNM -pyopneumothoraxes:PPNM:PPNM -quadricentennials:KTRS:KTRS -radioautographies:RTTK:RTTK -radiobiologically:RTPL:RTPL -radiodermatitides:RTTR:RTTR -radiodermatitises:RTTR:RTTR -radioisotopically:RTST:RTST -radioluminescence:RTLM:RTLM -radiotherapeutics:RT0R:RTTR -rationalistically:RXNL:RXNL -reconfigurability:RKNF:RKNF -reconstructionism:RKNS:RKNS -reconstructionist:RKNS:RKNS -recrystallization:RKRS:RKRS -redifferentiation:RTFR:RTFR -refractometrieses:RFRK:RFRK -reincarnationists:RNKR:RNKR -reinterpretations:RNTR:RNTR -reprehendsibility:RPRH:RPRH -reprehensibleness:RPRH:RPRH -representationist:RPRS:RPRS -reproducibilities:RPRT:RPRT -republicanization:RPPL:RPPL -restructurability:RSTR:RSTR -retinochoroiditis:RTNX:RTNK -retrodisplacement:RTRT:RTRT -retroperitoneally:RTRP:RTRP -retrospectiveness:RTRS:RTRS -rhabdomyosarcomas:RPTM:RPTM -rhinolaryngoscope:RNLR:RNLR -ribonucleoprotein:RPNK:RPNK -roentgenographies:RNTJ:RNTK -roentgenoscopical:RNTJ:RNTK -roentgentherapies:RNTJ:RNTK -saccharomycetales:SXRM:SXRM -sacerdotalisation:SSRT:SSRT -sanctimoniousness:SNKT:SNKT -schizogenetically:XSKN:XSKN -schizophrenically:XSFR:XSFR -sclerochoroiditis:SKRX:SKRK -sclerokeratitides:SKRK:SKRK -scrophulariaceous:SKFL:SKFL -sculpturesqueness:SKLP:SKLP -selenographically:SLNK:SLNK -semiautomatically:SMTM:SMTM -semicartilaginous:SMKR:SMKR -semiconsciousness:SMKN:SMKN -semidocumentaries:SMTK:SMTK -semidomestication:SMTM:SMTM -semiprofessionals:SMPR:SMPR -sesquicentennials:SSKS:SSKS -sesquipedalianism:SSKP:SSKP -significativeness:SNFK:SKNF -sociocentricities:SSSN:SXSN -socioeconomically:SSKN:SXKN -spectrobolometric:SPKT:SPKT -spectroheliograph:SPKT:SPKT -spectrohelioscope:SPKT:SPKT -spectrophotometry:SPKT:SPKT -spectroscopically:SPKT:SPKT -sphincterectomies:SFNK:SFNK -sphygmomanometric:SFKM:SFKM -splanchnicotomies:SPLN:SPLN -splanchnomegalies:SPLN:SPLN -spondylolisthesis:SPNT:SPNT -spongioblastomata:SPNJ:SPNK -stereochemistries:STRX:STRK -stereographically:STRK:STRK -stereoradiography:STRR:STRR -stereospecificity:STRS:STRS -stigmatisationing:STKM:STKM -straightforwardly:STRT:STRT -stratigraphically:STRT:STRT -streptothrichosis:STRP:STRP -subadministrative:SPTM:SPTM -subbrachycephalic:SPRK:SPRK -subclassification:SPKL:SPKL -subconjunctivally:SPKN:SPKN -subconstellations:SPKN:SPKN -subiniaturization:SPNT:SPNT -substantivization:SPST:SPST -sulfametopyrazine:SLFM:SLFM -sulphamethoxazole:SLFM:SLFM -sulphaquinoxaline:SLFK:SLFK -sulpharsphenamine:SLFR:SLFR -superaccomplished:SPRK:SPRK -superalimentation:SPRL:SPRL -supercolumniation:SPRK:SPRK -superconductivity:SPRK:SPRK -superconservative:SPRK:SPRK -superimpregnating:SPRM:SPRM -superimpregnation:SPRM:SPRM -superindifference:SPRN:SPRN -superintellectual:SPRN:SPRN -superintendencies:SPRN:SPRN -superlactationers:SPRL:SPRL -supernaturalistic:SPRN:SPRN -superpigmentation:SPRP:SPRP -supersophisticate:SPRS:SPRS -superstitiousness:SPRS:SPRS -surreptitiousness:SRPT:SRPT -sympatheticotonia:SMP0:SMPT -sympatheticotonic:SMP0:SMPT -sympathicogonioma:SMP0:SMPT -sympathicomimetic:SMP0:SMPT -sympathogoniomata:SMP0:SMPT -symptomatological:SMPT:SMPT -telecommunication:TLKM:TLKM -telephotographing:TLFT:TLFT -teleradiographies:TLRT:TLRT -teleroentgenogram:TLRN:TLRN -temporomandibular:TMPR:TMPR -tenderheartedness:TNTR:TNTR -tenosynovectomies:TNSN:TNSN -teratocarcinomata:TRTK:TRTK -tetrachloroethane:TTRK:TTRK -tetraethylthiuram:TTR0:TTRT -thalamolenticular:0LML:TLML -thalassotherapies:0LS0:TLST -thermoanaesthesia:0RMN:TRMN -thermochemistries:0RMX:TRMK -thermocoagulation:0RMK:TRMK -thermodynamically:0RMT:TRMT -thermoelectricity:0RML:TRML -thermographically:0RMK:TRMK -thermohypesthesia:0RMH:TRMH -thermoluminescent:0RML:TRML -thermotracheotomy:0RMT:TRMT -thiodiphenylamine:0TFN:TTFN -thoracocyllosises:0RKS:TRKS -thoracolaparotomy:0RKL:TRKL -thoroughgoingness:0RFK:TRFK -thromboangiitides:0RMP:TRMP -thyroidectomizing:0RTK:TRTK -trachelorrhaphies:TRXL:TRKL -tracheobronchitis:TRXP:TRKP -tracheoesophageal:TRXS:TRKS -transcendentalism:TRNS:TRNS -transcendentalist:TRNS:TRNS -transcendentality:TRNS:TRNS -transecendentness:TRNS:TRNS -transilluminating:TRNS:TRNS -transillumination:TRNS:TRNS -transistorisation:TRNS:TRNS -transthoracically:TRNS:TRNS -transubstantiated:TRNS:TRNS -transversectomies:TRNS:TRNS -triboluminescence:TRPL:TRPL -trichloroethylene:TRXL:TRKL -trichocephaliases:TRXS:TRKS -trichocephaliasis:TRXS:TRKS -trichoepithelioma:TRXP:TRKP -trichophytobezoar:TRXF:TRKF -trigonometrically:TRKN:TRKN -triskaidekaphobes:TRSK:TRSK -triskaidekaphobia:TRSK:TRSK -tumourigenicities:TMRJ:TMRK -turbidimetrically:TRPT:TRPT -turbosupercharged:TRPS:TRPS -turbosupercharger:TRPS:TRPS -ultraconservative:ALTR:ALTR -ultramicroscopies:ALTR:ALTR -ultrasonographies:ALTR:ALTR -ultrastructurally:ALTR:ALTR -unceremoniousness:ANSR:ANSR -uncomfortableness:ANKM:ANKM -uncommunicatively:ANKM:ANKM -uncomprehendingly:ANKM:ANKM -unconditionedness:ANKN:ANKN -unconscientiously:ANKN:ANKN -unconscionability:ANKN:ANKN -uncontrollability:ANKN:ANKN -unconventionality:ANKN:ANKN -undemonstratively:ANTM:ANTM -undercapitalizing:ANTR:ANTR -understandability:ANTR:ANTR -undistinguishable:ANTS:ANTS -unidirectionality:ANTR:ANTR -uniformitarianism:ANFR:ANFR -unimaginativeness:ANMJ:ANMK -unmentionableness:ANMN:ANMN -unmistakeableness:ANMS:ANMS -unparliamentarily:ANPR:ANPR -unpretentiousness:ANPR:ANPR -unproportionately:ANPR:ANPR -unquestionability:ANKS:ANKS -unselfconsciously:ANSL:ANSL -unsophisticatedly:ANSF:ANSF -unsympathetically:ANSM:ANSM -ureterocystostomy:ARTR:ARTR -ureterointestinal:ARTR:ARTR -ureteropyelostomy:ARTR:ARTR -urethrocystitides:AR0R:ARTR -vaginoperineotomy:FJNP:FKNP -valetudinarianism:FLTT:FLTT -varicocelectomies:FRKS:FRKS -varicophlebitides:FRKF:FRKF -ventriculoscopies:FNTR:FNTR -ventriculostomies:FNTR:FNTR -ventrohysteropexy:FNTR:FNTR -vermilionectomies:FRML:FRML -vernacularisation:FRNK:FRNK -vesiculocavernous:FSKL:FSKL -vestibulocochlear:FSTP:FSTP -visceroinhibitory:FSRN:FSRN -xanthogranulomata:SN0K:SNTK -xeroradiographies:SRRT:SRRT -zoogeographically:SJKR:SKKR -adamantoblastomata:ATMN:ATMN -adenopharyngitides:ATNF:ATNF -adenopharyngitises:ATNF:ATNF -aerothermodynamics:AR0R:ARTR -agammaglobulinemia:AKMK:AKMK -anthropometrically:AN0R:ANTR -anthropomorphizing:AN0R:ANTR -anticholinesterase:ANTX:ANTK -antiferromagnetism:ANTF:ANTF -antifundamentalism:ANTF:ANTF -antifundamentalist:ANTF:ANTF -antivivisectionist:ANTF:ANTF -arboriculturalists:ARPR:ARPR -archaeoastronomers:ARKS:ARXS -arterioloscleroses:ARTR:ARTR -arteriolosclerosis:ARTR:ARTR -autobiographically:ATPK:ATPK -autosuggestibility:ATSK:ATSK -bacteriostatically:PKTR:PKTR -ballistocardiogram:PLST:PLST -balneotherapeutics:PLN0:PLNT -biochemorphologies:PXMR:PKMR -biodegradabilities:PTKR:PTKR -bioinstrumentation:PNST:PNST -bishydroxycoumarin:PXTR:PXTR -bronchoconstrictor:PRNX:PRNK -calciphylactically:KLSF:KLSF -calymmatobacterium:KLMT:KLMT -cardioacceleration:KRTX:KRTX -cardiopericarditis:KRTP:KRTP -centrifugalization:SNTR:SNTR -characteristically:KRKT:KRKT -chemoautotrophical:KMTT:KMTT -chemoreceptivities:KMRS:KMRS -chemosensitivities:KMSN:KMSN -chemosterilization:KMST:KMST -chemosynthetically:KMSN:KMSN -chemotherapeutical:KM0R:KMTR -cholecystographies:XLSS:XLSS -cholecystographyer:XLSS:XLSS -chondrodystrophias:XNTR:XNTR -chondrodystrophies:XNTR:XNTR -chorioepitheliomas:KRP0:KRPT -choriomeningitides:KRMN:KRMN -chorionepithelioma:KRNP:KRNP -chromolithographer:KRML:KRML -chromolithographic:KRML:KRML -cinefluorographies:SNFL:SNFL -circumstantiations:SRKM:SRKM -coccidioidomycoses:KXTT:KXTT -coccidioidomycosis:KXTT:KXTT -cochromatographies:KKRM:KKRM -colicinogenicities:KLSN:KLSN -colpoperineoplasty:KLPP:KLPP -commercializations:KMRS:KMRX -compartmentalizing:KMPR:KMPR -comprehensibleness:KMPR:KMPR -conceptualizations:KNSP:KNSP -conditionalization:KNTX:KNTX -congregationalists:KNKR:KNKR -consequentialities:KNSK:KNSK -constitutionalists:KNST:KNST -contradictiousness:KNTR:KNTR -contradistinctions:KNTR:KNTR -conversationalists:KNFR:KNFR -corynebacteriaceae:KRNP:KRNP -counterespionagers:KNTR:KNTR -counterinsurgently:KNTR:KNTR -counterirritations:KNTR:KNTR -counterrevolutions:KNTR:KNTR -craniopharyngiomas:KRNF:KRNF -craniorachischises:KRNR:KRNR -craniorachischisis:KRNR:KRNR -craniosynostosises:KRNS:KRNS -crystallographical:KRST:KRST -cyanomethemoglobin:SNM0:SNMT -cystadenocarcinoma:SSTT:SSTT -cystopyelographies:SSTP:SSTP -cytoarchitectonics:STRK:STRK -dacryocystectomies:TKRS:TKRS -decriminalizations:TKRM:TKRM -dehydrocholesterol:THTR:THTR -dematerializations:TMTR:TMTR -demythologizations:TM0L:TMTL -dendrochronologist:TNTR:TNTR -denominationalists:TNMN:TNMN -dermatochallasises:TRMT:TRMT -dermatohistologies:TRMT:TRMT -dermatopathologies:TRMT:TRMT -dichlorophenarsine:TXLR:TKLR -diethylcarbamazine:T0LK:TTLK -diethylstilbestrol:T0LS:TTLS -dihydroergocornine:THTR:THTR -dihydrotachysterol:THTR:THTR -dimethyltryptamine:TM0L:TMTL -diphyllobothriasis:TFLP:TFLP -diphyllobothriidae:TFLP:TFLP -disagreeablenesses:TSKR:TSKR -disenfranchisement:TSNF:TSNF -disproportionately:TSPR:TSPR -dissertationalists:TSRT:TSRT -diversifiabilities:TFRS:TFRS -diverticulectomies:TFRT:TFRT -duodenoenterostomy:TTNN:TTNN -dysdiadochokinesia:TSTT:TSTT -electrocardiograms:ALKT:ALKT -electrocardiograph:ALKT:ALKT -electrocoagulation:ALKT:ALKT -electrocorticogram:ALKT:ALKT -electrodesiccation:ALKT:ALKT -electrographically:ALKT:ALKT -electroluminescent:ALKT:ALKT -electromyographies:ALKT:ALKT -electrooculography:ALKT:ALKT -electrophoretogram:ALKT:ALKT -electroretinograph:ALKT:ALKT -electrotechnicians:ALKT:ALKT -electrotherapeutic:ALKT:ALKT -enterobacteriaceae:ANTR:ANTR -epidermidalization:APTR:APTR -erythrocytopoieses:AR0R:ARTR -erythrocytopoiesis:AR0R:ARTR -establishmentarian:ASTP:ASTP -esthesiophysiology:AS0S:ASTX -ethnomusicologists:A0NM:ATNM -evapotranspiration:AFPT:AFPT -extemporaneousness:AKST:AKST -extramitochondrial:AKST:AKST -fibrocartilaginous:FPRK:FPRK -forethoughtfulness:FR0T:FRTT -gastroduodenostomy:KSTR:KSTR -gastroenterologies:KSTR:KSTR -gastroenterologist:KSTR:KSTR -geomorphologically:JMRF:KMRF -ginglymoarthrodial:KNKL:JNKL -glaucomatocyclitic:KLKM:KLKM -glomerulonephritis:KLMR:KLMR -glomeruloscleroses:KLMR:KLMR -glomerulosclerosis:KLMR:KLMR -goniocraniometries:KNKR:KNKR -granulocytopoieses:KRNL:KRNL -granulocytopoiesis:KRNL:KRNL -hemangioblastomata:HMNJ:HMNK -hematolymphangioma:HMTL:HMTL -hematospermatocele:HMTS:HMTS -hemidemisemiquaver:HMTM:HMTM -hemilaryngectomies:HMLR:HMLR -hemimandibulectomy:HMMN:HMMN -hemoglobinometries:HMKL:HMKL -hemoglobinopathies:HMKL:HMKL -hemopneumothoraces:HMPN:HMPN -hemopneumothoraxes:HMPN:HMPN -hemorrhoidectomies:HMRT:HMRT -hepatosplenomegaly:HPTS:HPTS -hermaphroditically:HRMF:HRMF -heteroscedasticity:HTRS:HTRS -histochemographies:HSTX:HSTK -histocompatibility:HSTK:HSTK -histophysiological:HSTF:HSTF -hydrometallurgical:HTRM:HTRM -hydrometeorlogical:HTRM:HTRM -hydrosyringomyelia:HTRS:HTRS -hydrotherapeutical:HTR0:HTRT -hyperaldosteronism:HPRL:HPRL -hyperbilirubinemia:HPRP:HPRP -hyperbrachycephaly:HPRP:HPRP -hypercholesteremia:HPRX:HPRK -hypercholesteremic:HPRX:HPRK -hypermetamorphoses:HPRM:HPRM -hypermetamorphosis:HPRM:HPRM -hypersensitiveness:HPRS:HPRS -hypersensitivities:HPRS:HPRS -hypersensitization:HPRS:HPRS -hypoparathyroidism:HPPR:HPPR -hypophysectomizing:HPFS:HPFS -hyporiboflavinoses:HPRP:HPRP -hyporiboflavinosis:HPRP:HPRP -hysterostomatomies:HSTR:HSTR -ichthyosarcotoxism:AK0S:AKTS -immunocytochemical:AMNS:AMNS -immunodeficiencies:AMNT:AMNT -immunofluorescence:AMNF:AMNF -immunohematologies:AMNH:AMNH -immunohematologist:AMNH:AMNH -immunohistological:AMNH:AMNH -immunopathological:AMNP:AMNP -immunopathologists:AMNP:AMNP -immunoreactivities:AMNR:AMNR -immunosuppressants:AMNS:AMNS -immunosuppressives:AMNS:AMNS -impersonalizations:AMPR:AMPR -impracticabilities:AMPR:AMPR -imprescriptibility:AMPR:AMPR -impressionableness:AMPR:AMPR -inappreciativeness:ANPR:ANPR -inapprehensiveness:ANPR:ANPR -incommensurability:ANKM:ANKM -incommensurateness:ANKM:ANKM -incommunicableness:ANKM:ANKM -incompressibleness:ANKM:ANKM -inconsequentiality:ANKN:ANKN -inconsiderableness:ANKN:ANKN -incontestabilities:ANKN:ANKN -indecipherableness:ANTS:ANTS -indestructibleness:ANTS:ANTS -indeterminableness:ANTT:ANTT -indiscriminateness:ANTS:ANTS -individualizations:ANTF:ANTF -industrializations:ANTS:ANTS -institutionalizing:ANST:ANST -insurmountableness:ANSR:ANSR -insusceptibilities:ANSS:ANSS -intercartilaginous:ANTR:ANTR -interchangeability:ANTR:ANTR -intercommunicating:ANTR:ANTR -intercommunication:ANTR:ANTR -intercommunicative:ANTR:ANTR -intercommunicators:ANTR:ANTR -interconnectedness:ANTR:ANTR -intercostobrachial:ANTR:ANTR -internationalizing:ANTR:ANTR -interpenetratively:ANTR:ANTR -interrelationships:ANTR:ANTR -intertransversalis:ANTR:ANTR -intracartilaginous:ANTR:ANTR -irreconcilableness:ARKN:ARKN -irreproachableness:ARPR:ARPR -irresponsibilities:ARSP:ARSP -isopropylarterenol:ASPR:ASPR -laryngopharyngitis:LRNK:LRNK -laryngorhinologies:LRNK:LRNK -laryngotracheotomy:LRNK:LRNK -lipopolysaccharide:LPPL:LPPL -lymphangiographies:LMFN:LMFN -lymphangioplasties:LMFN:LMFN -lymphangiosarcomas:LMFN:LMFN -lymphoepitheliomas:LMFP:LMFP -lymphosarcomatoses:LMFS:LMFS -lymphosarcomatosis:LMFS:LMFS -macroglobulinemics:MKRK:MKRK -magnetocardiograph:MNTK:MKNT -magnetoelectricity:MNTL:MKNT -mechanochemistries:MXNX:MKNK -medicopsychologies:MTKP:MTKP -metabolizabilities:MTPL:MTPL -methylprednisolone:M0LP:MTLP -methyltestosterone:M0LT:MTLT -microcrystallinity:MKRK:MKRK -microdetermination:MKRT:MKRT -microencapsulating:MKRN:MKRN -microencapsulation:MKRN:MKRN -micromorphological:MKRM:MKRM -microphotographies:MKRF:MKRF -microphotographing:MKRF:MKRF -microradiographies:MKRR:MKRR -microspherocytosis:MKRS:MKRS -misclassifications:MSKS:MSKS -misidentifications:MSTN:MSTN -misinterpretations:MSNT:MSNT -misrepresentations:MSRP:MSRP -misunderstandingly:MSNT:MSNT -morphophysiologies:MRFF:MRFF -mucopolysaccharide:MKPL:MKPL -multicellularities:MLTS:MLTS -musculoaponeurotic:MSKL:MSKL -myeloproliferative:MLPR:MLPR -myeloradiculopathy:MLRT:MLRT -myxofibrosarcomata:MKSF:MKSF -nasopharyngoscopic:NSFR:NSFR -neuroendocrinology:NRNT:NRNT -neuroleptanalgesia:NRLP:NRLP -neuroleptanalgesic:NRLP:NRLP -neurolymphomatoses:NRLM:NRLM -neurolymphomatosis:NRLM:NRLM -neuropharmacologic:NRFR:NRFR -neurophysiological:NRFS:NRFX -neurophysiologists:NRFS:NRFX -neuropsychiatrical:NRPS:NRPS -neuropsychiatrists:NRPS:NRPS -neuropsychological:NRPS:NRPS -neuropsychologists:NRPS:NRPS -noncontroversially:NNKN:NNKN -nondestructiveness:NNTS:NNTS -nondifferentiation:NNTF:NNTF -noninterchangeable:NNNT:NNNT -noninterventionist:NNNT:NNNT -nonphysiologically:NNFS:NNFX -objectionabilities:APJK:APJK -oligodendrogliomas:ALKT:ALKT -omphalophlebitides:AMFL:AMFL -ophthalmencephalon:AF0L:AFTL -orthopsychiatrical:AR0P:ARTP -orthopsychiatrists:AR0P:ARTP -oscillographically:ASLK:ASLK -osseocartilaginous:ASKR:ASKR -osteoarthropathies:ASTR:ASTR -osteocartilaginous:ASTK:ASTK -osteoradionecroses:ASTR:ASTR -osteoradionecrosis:ASTR:ASTR -ovariohysterectomy:AFRH:AFRH -overapprehensively:AFRP:AFRP -overcapitalization:AFRK:AFRK -overcentralization:AFRS:AFRS -overgeneralization:AFRJ:AFRK -overimpressionable:AFRM:AFRM -overindustrialized:AFRN:AFRN -overindustrializes:AFRN:AFRN -overintellectually:AFRN:AFRN -oversimplification:AFRS:AFRS -overspecialization:AFRS:AFRS -palaeoanthropology:PLN0:PLNT -panagglutinability:PNKL:PNKL -pancreatectomizing:PNKR:PNKR -pancreatolithotomy:PNKR:PNKR -panhypopituitarism:PNPP:PNPP -papilloretinitides:PPLR:PPLR -papuloerythematous:PPLR:PPLR -parahydroxybenzoic:PRHT:PRHT -parliamentarianism:PRLM:PRLM -particularizations:PRTK:PRTK -pathomorphological:PTMR:PTMR -pathophysiological:P0FS:PTFX -peridiverticulitis:PRTF:PRTF -periencephalitides:PRNS:PRNS -peripancreatitides:PRPN:PRPN -phanerocrystalline:FNRK:FNRK -phantasmagorically:FNTS:FNTS -pharyngoepiglottic:FRNK:FRNK -pharyngoesophageal:FRNK:FRNK -pharyngolaryngitis:FRNK:FRNK -pharyngorhinitides:FRNK:FRNK -phenomenologically:FNMN:FNMN -pheochromoblastoma:FKRM:FKRM -pheochromocytomata:FKRM:FKRM -phonocardiographic:FNKR:FNKR -phonophotographies:FNFT:FNFT -phosphoenolpyruvic:FSFN:FSFN -phosphoglucomutase:FSFK:FSFK -photodecomposition:FTTK:FTTK -photoelectricities:FTLK:FTLK -photofluorographic:FTFL:FTFL -photofluoroscopies:FTFL:FTFL -photomacrographies:FTMK:FTMK -photomicrographies:FTMK:FTMK -photosensitivities:FTSN:FTSN -photosensitization:FTSN:FTSN -photosynthetically:FTSN:FTSN -phototypographical:FTTP:FTTP -physiopathological:FSP0:FXPT -physiotherapeutics:FS0R:FXTR -phytohemagglutinin:FTHM:FTHM -phytopathogenicity:FTP0:FTPT -plasmolyzabilities:PLSM:PLSM -platystencephalies:PLTS:PLTS -plethysmographical:PL0S:PLTS -pleuropericarditis:PLRP:PLRP -pneumoencephalitis:NMNS:NMNS -pneumohemothoraces:NMHM:NMHM -pneumohemothoraxes:NMHM:NMHM -polychromatophilia:PLXR:PLKR -polychromatophilic:PLXR:PLKR -polyribonucleotide:PLRP:PLRP -potentiometrically:PTNT:PTNT -proletarianization:PRLT:PRLT -propagandistically:PRPK:PRPK -prostatocystitides:PRST:PRST -pseudoaristocratic:STRS:STRS -pseudobiographical:STPK:STPK -pseudohypertrophic:STHP:STHP -pseudointellectual:STNT:STNT -pseudoisochromatic:STSK:STSK -pseudomenstruation:STMN:STMN -pseudoprofessional:STPR:STPR -pseudotuberculoses:STTP:STTP -pseudotuberculosis:STTP:STTP -psychoanalytically:SXNL:SKNL -psychobiographical:SXPK:SKPK -psychobiologically:SXPL:SKPL -psychopathological:SXP0:SKPT -psychopathologists:SXP0:SKPT -psychopharmacology:SXFR:SKFR -psychophonasthenia:SXFN:SKFN -psychophysiologies:SXFS:SKFX -psychophysiologist:SXFS:SKFX -psychotherapeutics:SX0R:SKTR -quadratomandibular:KTRT:KTRT -quotidianrabbeting:KTTN:KTTN -radioautographiced:RTTK:RTTK -radiocommunication:RTKM:RTKM -radiosensitivities:RTSN:RTSN -radiosterilization:RTST:RTST -reconstructionists:RKNS:RKNS -rectosigmoidoscope:RKTS:RKTS -rectosigmoidoscopy:RKTS:RKTS -representationally:RPRS:RPRS -representativeness:RPRS:RPRS -reticuloendothelia:RTKL:RTKL -rhabdomyosarcomata:RPTM:RPTM -rhinolaryngologies:RNLR:RNLR -rhinopharyngitides:RNFR:RNFR -roentgenkymography:RNTJ:RNTK -roentgenographical:RNTJ:RNTK -roentgenologically:RNTJ:RNTK -roentgenotherapies:RNTJ:RNTK -saccharomycetaceae:SXRM:SXRM -salpingopharyngeal:SLPN:SLPN -scleroconjunctival:SKRK:SKRK -sclerodermatitides:SKRT:SKRT -sclerodermatitises:SKRT:SKRT -semibiographically:SMPK:SMPK -semiprofessionally:SMPR:SMPR -semirespectability:SMRS:SMRS -sentimentalization:SNTM:SNTM -sesquicentennially:SSKS:SSKS -silicotuberculoses:SLKT:SLKT -silicotuberculosis:SLKT:SLKT -sinistrocularities:SNST:SNST -sociopsychological:SSPS:SXPS -somnambulistically:SMNM:SMNM -somnocinematograph:SMNS:SMNS -spectrochemistries:SPKT:SPKT -spectrographicaled:SPKT:SPKT -spectrographically:SPKT:SPKT -spectrohelioscopic:SPKT:SPKT -spectrophotometric:SPKT:SPKT -sphygmochronograph:SFKM:SFKM -sphygmomanometries:SFKM:SFKM -splanchnicectomies:SPLN:SPLN -splenohepatomegaly:SPLN:SPLN -stapediovestibular:STPT:STPT -staphylodermatitis:STFL:STFL -stephanofilariases:STFN:STFN -stephanofilariasis:STFN:STFN -stereoradiographic:STRR:STRR -stereospecifically:STRS:STRS -stoichiometrically:STXM:STKM -subclassifications:SPKL:SPKL -subdolichocephalic:SPTL:SPTL -subminiaturisation:SPMN:SPMN -sulfhemoglobinemia:SLFM:SLFM -sulfonethylmethane:SLFN:SLFN -superaccommodating:SPRK:SPRK -superintendentship:SPRN:SPRN -supersensitization:SPRS:SPRS -supersophisticated:SPRS:SPRS -supersophisticates:SPRS:SPRS -supposititiousness:SPST:SPST -supradiaphragmatic:SPRT:SPRT -suprarenalectomies:SPRR:SPRR -sympathicoblastoma:SMP0:SMPT -sympathicogoniomas:SMP0:SMPT -tachistoscopically:TXST:TKST -telecommunications:TLKM:TLKM -teleoroentgenogram:TLRN:TLRN -tenontomyoplasties:TNNT:TNNT -territorialization:TRTR:TRTR -tetraethylammonium:TTR0:TTRT -thermohyperalgesia:0RMH:TRMH -thermoluminescence:0RML:TRML -thoracoceloschises:0RKS:TRKS -thoracoceloschisis:0RKS:TRKS -thoracoparacephali:0RKP:TRKP -thrombocytopoieses:0RMP:TRMP -thrombocytopoiesis:0RMP:TRMP -thromboembolectomy:0RMP:TRMP -thrombophlebitides:0RMP:TRMP -thromboplastically:0RMP:TRMP -thromboplastinogen:0RMP:TRMP -thymicolymphaticus:0MKL:TMKL -thyrochondrotomies:0RXN:TRKN -totipotentialities:TTPT:TTPT -toxicodermatitides:TKSK:TKSK -toxicodermatitises:TKSK:TKSK -transcendentalists:TRNS:TRNS -transmissibilities:TRNS:TRNS -transmogrification:TRNS:TRNS -transubstantiating:TRNS:TRNS -transubstantiation:TRNS:TRNS -trichoepitheliomas:TRXP:TRKP -trichostrongylosis:TRXS:TRKS -triphosphopyridine:TRFS:TRFS -turbosuperchargers:TRPS:TRPS -tympanomastoiditis:TMPN:TMPN -ultraconservatives:ALTR:ALTR -ultramicroscopical:ALTR:ALTR -unapproachableness:ANPR:ANPR -uncharacteristical:ANXR:ANKR -uncompromisingness:ANKM:ANKM -unconstitutionally:ANKN:ANKN -undiscriminatingly:ANTS:ANTS -unenthusiastically:ANN0:ANNT -unexceptionability:ANKS:ANKS -universalisability:ANFR:ANFR -universalizability:ANFR:ANFR -ureterocolostomies:ARTR:ARTR -ureteroenterostomy:ARTR:ARTR -ureteroileostomies:ARTR:ARTR -ureterolithotomies:ARTR:ARTR -ureteronephrectomy:ARTR:ARTR -ureteropyelography:ARTR:ARTR -ureteropyeloplasty:ARTR:ARTR -vectorcardiography:FKTR:FKTR -venoperitoneostomy:FNPR:FNPR -ventriculographies:FNTR:FNTR -ventriculopuncture:FNTR:FNTR -vincaleukoblastine:FNKL:FNKL -zygomaticotemporal:SKMT:SKMT -abdominohysterotomy:APTM:APTM -acanthokeratodermia:AKN0:AKNT -adrenocorticotropic:ATRN:ATRN -adrenocorticotropin:ATRN:ATRN -allotransplantation:ALTR:ALTR -anatomicopathologic:ANTM:ANTM -angiocardiographies:ANJK:ANKK -anthropomorphically:AN0R:ANTR -antifluoridationist:ANTF:ANTF -antifundamentalists:ANTF:ANTF -antirevolutionaries:ANTR:ANTR -antivivisectionists:ANTF:ANTF -auriculoventricular:ARKL:ARKL -autotransplantation:ATTR:ATTR -bacteriochlorophyll:PKTR:PKTR -ballistocardiograph:PLST:PLST -bronchospirometries:PRNX:PRNK -cecosigmoidostomies:SKSK:SKSK -characterologically:KRKT:KRKT -choledocholithiases:XLTX:XLTK -choledocholithiasis:XLTX:XLTK -choledocholithotomy:XLTX:XLTK -chorioepitheliomata:KRP0:KRPT -chorionepitheliomas:KRNP:KRNP -choroidoretinitides:KRTR:KRTR -chromatographically:KRMT:KRMT -chromoblastomycoses:KRMP:KRMP -chromoblastomycosis:KRMP:KRMP -chromolithographers:KRML:KRML -chronogrammatically:KRNK:KRNK -cinematographically:SNMT:SNMT -cineroentgenography:SNRN:SNRN -clinicopathological:KLNK:KLNK -colosigmoidostomies:KLSK:KLSK -contemporaneousness:KNTM:KNTM -contradistinctively:KNTR:KNTR -contradistinguished:KNTR:KNTR -contradistinguishes:KNTR:KNTR -conventionalization:KNFN:KNFN -counterconditioning:KNTR:KNTR -counterinsurgencies:KNTR:KNTR -counterintelligence:KNTR:KNTR -counterproductively:KNTR:KNTR -countertransference:KNTR:KNTR -craniopharyngiomata:KRNF:KRNF -cystadenocarcinomas:SSTT:SSTT -cystopyelonephritis:SSTP:SSTP -cytodifferentiation:STTF:STTF -cytopathogenicities:STP0:STPT -cytophotometrically:STFT:STFT -dehydrochlorination:THTR:THTR -deindustrialization:TNTS:TNTS -dendrochronological:TNTR:TNTR -dendrochronologists:TNTR:TNTR -deoxycorticosterone:TKSK:TKSK -deoxyribonucleotide:TKSR:TKSR -departmentalization:TPRT:TPRT -dermatofibrosarcoma:TRMT:TRMT -dermatoheteroplasty:TRMT:TRMT -dermatopolyneuritis:TRMT:TRMT -dermosyphilopathies:TRMS:TRMS -destructuralization:TSTR:TSTR -dihydrostreptomycin:THTR:THTR -dimethylnitrosamine:TM0L:TMTL -diphenylchlorarsine:TFNL:TFNL -disadvantageousness:TSTF:TSTF -disenfranchisements:TSNF:TSNF -echoencephalography:AXNS:AKNS -electroacoustically:ALKT:ALKT -electrocardiographs:ALKT:ALKT -electrocardiography:ALKT:ALKT -electrocoagulations:ALKT:ALKT -electrocorticograms:ALKT:ALKT -electrohysterograph:ALKT:ALKT -electrokymographies:ALKT:ALKT -electroluminescence:ALKT:ALKT -electromagnetically:ALKT:ALKT -electromechanically:ALKT:ALKT -electrometallurgist:ALKT:ALKT -electrophoretograms:ALKT:ALKT -electrophysiologies:ALKT:ALKT -electrophysiologist:ALKT:ALKT -electroretinography:ALKT:ALKT -electrotechnologies:ALKT:ALKT -electrotherapeutics:ALKT:ALKT -encephalomeningitis:ANSF:ANSF -encephalomyelitides:ANSF:ANSF -enteroenterostomies:ANTR:ANTR -erythrophagocytoses:AR0R:ARTR -erythrophagocytosis:AR0R:ARTR -esophagogastrostomy:ASFK:ASFK -establishmentarians:ASTP:ASTP -extraterritoriality:AKST:AKST -ferriprotoporphyrin:FRPR:FRPR -ferroprotoporphyrin:FRPR:FRPR -gastrodiaphanoscopy:KSTR:KSTR -gastroenterologists:KSTR:KSTR -gastroenteropathies:KSTR:KSTR -gastroenterostomies:KSTR:KSTR -gastrojejunostomies:KSTR:KSTR -gingivostomatitides:KNJF:JNKF -gingivostomatitises:KNJF:JNKF -haemorrhoidectomies:HMRT:HMRT -hematolymphangiomas:HMTL:HMTL -hematoporphyrinemia:HMTP:HMTP -hemidemisemiquavers:HMTM:HMTM -hepaticolithotomies:HPTK:HPTK -histopathologically:HSTP:HSTP -homotransplantation:HMTR:HMTR -hydrochlorothiazide:HTRK:HTRK -hydropneumothoraces:HTRP:HTRP -hydropneumothoraxes:HTRP:HTRP -hyperbrachycephalic:HPRP:HPRP -hyperexcitabilities:HPRK:HPRK -hyperirritabilities:HPRR:HPRR -hyperkeratinization:HPRK:HPRK -hyperparathyroidism:HPRP:HPRP -hypersusceptibility:HPRS:HPRS -hypoprothrombinemia:HPPR:HPPR -hypoprothrombinemic:HPPR:HPPR -hypsibrachycephalic:HPSP:HPSP -hysterotrachelotomy:HSTR:HSTR -immunocytochemistry:AMNS:AMNS -immunohematological:AMNH:AMNH -immunohematologists:AMNH:AMNH -immunohistochemical:AMNH:AMNH -incommensurableness:ANKM:ANKM -incommunicativeness:ANKM:ANKM -incomprehensibility:ANKM:ANKM -incomprehensiveness:ANKM:ANKM -inconsequentialness:ANKN:ANKN -incontrovertibility:ANKN:ANKN -individualistically:ANTF:ANTF -intellectualization:ANTL:ANTL -interchangeableness:ANTR:ANTR -intercommunications:ANTR:ANTR -interdenominational:ANTR:ANTR -interdepartmentally:ANTR:ANTR -interferometrically:ANTR:ANTR -interstratification:ANTR:ANTR -irreconcilabilities:ARKN:ARKN -isohemagglutination:ASHM:ASHM -jejunojejunostomies:JJNJ:AJNJ -leptomeningopathies:LPTM:LPTM -leucoencephalitides:LKNS:LKNS -leukoencephalitides:LKNS:LKNS -leukoencephalopathy:LKNS:LKNS -lymphangiosarcomata:LMFN:LMFN -lymphoepitheliomata:LMFP:LMFP -lymphogranulomatous:LMFK:LMFK -macracanthorhynchus:MKRK:MKRK -magnetocardiography:MNTK:MKNT -magnetohydrodynamic:MNTH:MKNT -masculinovoblastoma:MSKL:MSKL -meningoencephalitic:MNNK:MNNK -meningoencephalitis:MNNK:MNNK -metacarpophalangeal:MTKR:MTKR -metatarsophalangeal:MTTR:MTTR -metrosalpingography:MTRS:MTRS -microcinematography:MKRS:MKRS -microdrepanocytoses:MKRT:MKRT -microdrepanocytosis:MKRT:MKRT -microkinematography:MKRK:MKRK -morphophysiological:MRFF:MRFF -myeloencephalitides:MLNS:MLNS -neuroleptoanalgesia:NRLP:NRLP -neuropharmacologies:NRFR:NRFR -neuropharmacologist:NRFR:NRFR -nonadministratively:NNTM:NNTM -noninterventionists:NNNT:NNNT -nonrepresentational:NNRP:NNRP -oligodendrogliomata:ALKT:ALKT -oophorocystectomies:AFRS:AFRS -ophthalmoleucoscope:AF0L:AFTL -ophthalmoleukoscope:AF0L:AFTL -ophthalmoscopically:AF0L:AFTL -osteochondromatosis:ASTX:ASTK -osteochondropathies:ASTX:ASTK -osteochondrosarcoma:ASTX:ASTK -otorhinolaryngology:ATRN:ATRN -overdiversification:AFRT:AFRT -overindustrializing:AFRN:AFRN -oversimplifications:AFRS:AFRS -pancreaticoduodenal:PNKR:PNKR -parasympathomimetic:PRSM:PRSM -parathyroidectomies:PR0R:PRTR -parthenogenetically:PR0N:PRTN -peripachymeningitis:PRPK:PRPK -peripylephlebitides:PRPL:PRPL -pharmacodynamically:FRMK:FRMK -pharmacotherapeutic:FRMK:FRMK -pharyngotonsillitis:FRNK:FRNK -phenomenalistically:FNMN:FNMN -phenylpropanolamine:FNLP:FNLP -phenylthiocarbamide:FNL0:FNLT -pheochromoblastomas:FKRM:FKRM -pheochromocytoblast:FKRM:FKRM -phonautographically:FNTK:FNTK -phonocardiographies:FNKR:FNKR -phosphoenolpyruvate:FSFN:FSFN -phosphofructokinase:FSFF:FSFF -phosphomonoesterase:FSFM:FSFM -photodisintegration:FTTS:FTTS -photofluorographies:FTFL:FTFL -photomicrographical:FTMK:FTMK -photoreconnaissance:FTRK:FTRK -phytohaemagglutinin:FTHM:FTHM -phytopharmacologies:FTFR:FTFR -phytopneumoconioses:FTPN:FTPN -phytopneumoconiosis:FTPN:FTPN -phytosociologically:FTSS:FTSX -plasmoditrophoblast:PLSM:PLSM -pluripotentialities:PLRP:PLRP -pneumoencephalogram:NMNS:NMNS -pneumohaemothoraces:NMHM:NMHM -pneumohaemothoraxes:NMHM:NMHM -pneumohydrothoraces:NMHT:NMHT -pneumohydrothoraxes:NMHT:NMHT -polioencephalitides:PLNS:PLNS -postimpressionistic:PSTM:PSTM -proctosigmoidectomy:PRKT:PRKT -proctosigmoidoscope:PRKT:PRKT -proctosigmoidoscopy:PRKT:PRKT -professionalisation:PRFS:PRFS -prostatovesiculitis:PRST:PRST -pseudoagglutination:STKL:STKL -pseudochromesthesia:STKR:STKR -pseudohallucination:STHL:STHL -pseudohermaphrodite:STHR:STHR -pseudohypertrophies:STHP:STHP -pseudointellectuals:STNT:STNT -pseudophilosophical:STFL:STFL -pseudopsychological:STPS:STPS -psychopharmacologic:SXFR:SKFR -psychophysiological:SXFS:SKFX -psychotherapeutical:SX0R:SKTR -psychotomimetically:SXTM:SKTM -pylorogastrectomies:PLRK:PLRK -radiochromatography:RTKR:RTKR -radiocommunications:RTKM:RTKM -radiopharmaceutical:RTFR:RTFR -rectosigmoidoscopic:RKTS:RKTS -representationalism:RPRS:RPRS -reticuloendothelial:RTKL:RTKL -reticuloendothelium:RTKL:RTKL -roentgenkymographic:RNTJ:RNTK -roentgenoscopically:RNTJ:RNTK -saccharomycetaceous:SXRM:SXRM -salpingocatheterism:SLPN:SLPN -salpingoperitonitis:SLPN:SLPN -salpingysterocyeses:SLPN:SLPN -salpingysterocyesis:SLPN:SLPN -sclerectoiridectomy:SKRK:SKRK -spectroheliographic:SPKT:SPKT -spectrophotometries:SPKT:SPKT -sphygmomanometrical:SFKM:SFKM -stereoradiographies:STRR:STRR -stereospecificities:STRS:STRS -sternocleidomastoid:STRN:STRN -straightforwardness:STRT:STRT -subdolichocephalous:SPTL:SPTL -sulphhemoglobinemia:SLFM:SLFM -sulphonethylmethane:SLFN:SLFN -sympatheticomimetic:SMP0:SMPT -sympathicoblastomas:SMP0:SMPT -sympathicogoniomata:SMP0:SMPT -symptomatologically:SMPT:SMPT -syncytiotrophoblast:SNST:SNST -teleroentgenography:TLRN:TLRN -tetrachloroethylene:TTRK:TTRK -tetramethylammonium:TTRM:TTRM -tetramethyldiarsine:TTRM:TTRM -thermohyperesthesia:0RMH:TRMH -thermotracheotomies:0RMT:TRMT -thoracolaparotomies:0RKL:TRKL -thoracoparacephalus:0RKP:TRKP -thromboendocarditis:0RMP:TRMP -thrombolymphangitis:0RMP:TRMP -tracheobronchitides:TRXP:TRKP -tracheobronchoscopy:TRXP:TRKP -transmogrifications:TRNS:TRNS -trichoepitheliomata:TRXP:TRKP -triethylenemelamine:TR0L:TRTL -ultrabrachycephalic:ALTR:ALTR -ultracentrifugation:ALTR:ALTR -uncommunicativeness:ANKM:ANKM -unconstitutionality:ANKN:ANKN -undemonstrativeness:ANTM:ANTM -unsophisticatedness:ANSF:ANSF -uranostaphyloplasty:ARNS:ARNS -ureterocystostomies:ARTR:ARTR -ureteropyelostomies:ARTR:ARTR -uterosalpingography:ATRS:ATRS -vaginoperineotomies:FJNP:FKNP -vectorcardiographic:FKTR:FKTR -ventrohysteropexies:FNTR:FNTR -zygomaticomaxillary:SKMT:SKMT -acetylcholinesterase:ASTL:ASTL -acetylmethylcarbinol:ASTL:ASTL -adrenocorticomimetic:ATRN:ATRN -adrenocorticosteroid:ATRN:ATRN -adrenocorticotrophic:ATRN:ATRN -adrenocorticotrophin:ATRN:ATRN -antifluoridationists:ANTF:ANTF -arytenoepiglottidean:ARTN:ARTN -autosuggestibilities:ATSK:ATSK -ballistocardiography:PLST:PLST -cardiopericardiopexy:KRTP:KRTP -ceratoconjunctivitis:SRTK:SRTK -cerebellorubrospinal:SRPL:SRPL -chemoautotrophically:KMTT:KMTT -chemodifferentiation:KMTF:KMTF -chemotherapeutically:KM0R:KMTR -cholangiogastrostomy:XLNJ:XLNK -chorionepitheliomata:KRNP:KRNP -colpoperineoplasties:KLPP:KLPP -compartmentalization:KMPR:KMPR -contradistinguishing:KNTR:KNTR -contrasuggestibility:KNTR:KNTR -costotransversectomy:KSTT:KSTT -counterrevolutionary:KNTR:KNTR -crystallographically:KRST:KRST -cystadenocarcinomata:SSTT:SSTT -departmentalizations:TPRT:TPRT -dermatofibrosarcomas:TRMT:TRMT -desoxycorticosterone:TSKS:TSKS -destructuralizations:TSTR:TSTR -diathermocoagulation:T0RM:TTRM -dimethyltubocurarine:TM0L:TMTL -diphenylchloroarsine:TFNL:TFNL -disproportionateness:TSPR:TSPR -duodenoenterostomies:TTNN:TTNN -electrocardiographes:ALKT:ALKT -electrocardiographic:ALKT:ALKT -electrocauterization:ALKT:ALKT -electrocontractility:ALKT:ALKT -electroencephalogram:ALKT:ALKT -electrometallurgical:ALKT:ALKT -electrometallurgists:ALKT:ALKT -electrooculographies:ALKT:ALKT -electrophysiological:ALKT:ALKT -electrophysiologists:ALKT:ALKT -electroretinographic:ALKT:ALKT -electrotherapeutical:ALKT:ALKT -encephalographically:ANSF:ANSF -esthesiophysiologies:AS0S:ASTX -gastroduodenostomies:KSTR:KSTR -glomerulonephritides:KLMR:KLMR -hemangioendothelioma:HMNJ:HMNK -hematolymphangiomata:HMTL:HMTL -hemimandibulectomies:HMMN:HMMN -hepaticoduodenostomy:HPTK:HPTK -hepatosplenomegalies:HPTS:HPTS -histocompatibilities:HSTK:HSTK -hyperadrenocorticism:HPRT:HPRT -hyperbrachycephalies:HPRP:HPRP -hypercholesterolemia:HPRX:HPRK -hypercholesterolemic:HPRX:HPRK -hypsibrachycephalism:HPSP:HPSP -hysterosalpingectomy:HSTR:HSTR -hysterotrachelectomy:HSTR:HSTR -immunocytochemically:AMNS:AMNS -immunohistochemistry:AMNH:AMNH -immunohistologically:AMNH:AMNH -incomprehensibleness:ANKM:ANKM -incontrovertibleness:ANKN:ANKN -indistinguishability:ANTS:ANTS -inextinguishableness:ANKS:ANKS -institutionalization:ANST:ANST -intellectualizations:ANTL:ANTL -intercommunicability:ANTR:ANTR -internationalization:ANTR:ANTR -interstratifications:ANTR:ANTR -keratoconjunctivitis:KRTK:KRTK -labioglossolaryngeal:LPKL:LPKL -laryngopharyngectomy:LRNK:LRNK -laryngopharyngitides:LRNK:LRNK -laryngotracheotomies:LRNK:LRNK -lipochondrodystrophy:LPXN:LPKN -lymphogranulomatoses:LMFK:LMFK -lymphogranulomatosis:LMFK:LMFK -magnetocardiographic:MNTK:MKNT -magnetohydrodynamics:MNTH:MKNT -meningoencephalocele:MNNK:MNNK -microcinematographic:MKRS:MKRS -microcrystallinities:MKRK:MKRK -microelectrophoresis:MKRL:MKRL -microelectrophoretic:MKRL:MKRL -microminiaturization:MKRM:MKRM -micromorphologically:MKRM:MKRM -myeloradiculopathies:MLRT:MLRT -neuroendocrinologies:NRNT:NRNT -neurolepttoanalgesia:NRLP:NRLP -neuropharmacological:NRFR:NRFR -neuropharmacologists:NRFR:NRFR -neurophysiologically:NRFS:NRFX -neuropsychiatrically:NRPS:NRPS -nondeterministically:NNTT:NNTT -osteochondrosarcomas:ASTX:ASTK -ovariohysterectomies:AFRH:AFRH -overapprehensiveness:AFRP:AFRP -pachyleptomeningitis:PKLP:PKLP -panagglutinabilities:PNKL:PNKL -pancreatolithotomies:PNKR:PNKR -paraphenylenediamine:PRFN:PRFN -parathyroidectomized:PR0R:PRTR -peritoneopericardial:PRTN:PRTN -pharmacotherapeutics:FRMK:FRMK -pharyngolaryngitides:FRNK:FRNK -pheochromoblastomata:FKRM:FKRM -philoprogenitiveness:FLPR:FLPR -photophosphorylation:FTFS:FTFS -phototelegraphically:FTTL:FTTL -phototherapeutically:FT0R:FTTR -phototypographically:FTTP:FTTP -phytopathogenicities:FTP0:FTPT -plethysmographically:PL0S:PLTS -pleuropericarditides:PLRP:PLRP -pneumoencephalitides:NMNS:NMNS -pneumoencephalograph:NMNS:NMNS -polyvinylpyrrolidone:PLFN:PLFN -proctosigmoidoscopic:PRKT:PRKT -proindustrialization:PRNT:PRNT -pseudocholinesterase:STXL:STKL -psychopharmaceutical:SXFR:SKFR -psychopharmacologies:SXFR:SKFR -psychopharmacologist:SXFR:SKFR -psychoproprophylaxis:SXPR:SKPR -radiochromatographic:RTKR:RTKR -radiotelegraphically:RTTL:RTTL -radiotherapeutically:RT0R:RTTR -rectosigmoidoscopies:RKTS:RKTS -roentgenkymographies:RNTJ:RNTK -roentgenographically:RNTJ:RNTK -spectrophotometrical:SPKT:SPKT -splenohepatomegalies:SPLN:SPLN -staphylodermatitides:STFL:STFL -staphylodermatitises:STFL:STFL -supradiaphragmatical:SPRT:SPRT -sympathicoblastomata:SMP0:SMPT -telelectrocardiogram:TLLK:TLLK -tetrahydrocannabinol:TTRH:TTRH -thoracoceloschisises:0RKS:TRKS -thoracogastroschises:0RKK:TRKK -thoracogastroschisis:0RKK:TRKK -thromboembolectomies:0RMP:TRMP -transphosphorylation:TRNS:TRNS -tympanomastoiditides:TMPN:TMPN -ultramicroscopically:ALTR:ALTR -uncharacteristically:ANXR:ANKR -uranostaphylorrhaphy:ARNS:ARNS -ureteroenterostomies:ARTR:ARTR -ureteroneocystostomy:ARTR:ARTR -ureteroneopyelostomy:ARTR:ARTR -ureteronephrectomies:ARTR:ARTR -ureteropyelographies:ARTR:ARTR -ureteropyeloneostomy:ARTR:ARTR -ureteropyeloplasties:ARTR:ARTR -ureterosigmoidostomy:ARTR:ARTR -vectorcardiographies:FKTR:FKTR -venoperitoneostomies:FNPR:FNPR -ventrovesicofixation:FNTR:FNTR -abdominohysterotomies:APTM:APTM -acanthocheilonemiases:AKN0:AKNT -acanthocheilonemiasis:AKN0:AKNT -ayuntamientosbachelor:ANTM:ANTM -bronchospirometrieses:PRNX:PRNK -cholecystogastrostomy:XLSS:XLSS -choledocholithotomies:XLTX:XLTK -chondroosteodystrophy:XNTR:XNTR -chorioepitheliomatous:KRP0:KRPT -cineangiocardiography:SNNJ:SNNK -cineroentgenographies:SNRN:SNRN -counterproductiveness:KNTR:KNTR -cystopyelonephritides:SSTP:SSTP -dacryocystorhinostomy:TKRS:TKRS -dehydrocorticosterone:THTR:THTR -dermatofibrosarcomata:TRMT:TRMT -dermatoheteroplasties:TRMT:TRMT -dermatomucosomyositis:TRMT:TRMT -dermatopolyneuritides:TRMT:TRMT -dermatopolyneuritises:TRMT:TRMT -dichlorophenoxyacetic:TXLR:TKLR -disproportionableness:TSPR:TSPR -echoencephalographies:AXNS:AKNS -electrocardiographicy:ALKT:ALKT -electrocardiographies:ALKT:ALKT -electrochromatography:ALKT:ALKT -electrocorticographic:ALKT:ALKT -electroencephalograms:ALKT:ALKT -electroencephalograph:ALKT:ALKT -electroretinographies:ALKT:ALKT -encephalomeningitides:ANSF:ANSF -esophagogastrostomies:ASFK:ASFK -establishmentarianism:ASTP:ASTP -fluororoentgenography:FLRR:FLRR -gastrodiaphanoscopies:KSTR:KSTR -hemangioendotheliomas:HMNJ:HMNK -heterotransplantation:HTRT:HTRT -hexachlorocyclohexane:HKSK:HKSK -hydroxycorticosterone:HTRK:HTRK -hypersusceptibilities:HPRS:HPRS -hysterosalpingography:HSTR:HSTR -hysterotrachelotomies:HSTR:HSTR -immunocytochemistries:AMNS:AMNS -immunoelectrophoreses:AMNL:AMNL -immunoelectrophoresis:AMNL:AMNL -immunoelectrophoretic:AMNL:AMNL -immunohistochemically:AMNH:AMNH -indistinguishableness:ANTS:ANTS -intellectualistically:ANTL:ANTL -internationalizations:ANTR:ANTR -iridocyclochoroiditis:ARTS:ARTS -isonicotinylhydrazine:ASNK:ASNK -labioglossopharyngeal:LPKL:LPKL -leukoencephalopathies:LKNS:LKNS -magnetocardiographies:MNTK:MKNT -meningoencephalitides:MNNK:MNNK -metrosalpingographies:MTRS:MTRS -microcinematographies:MKRS:MKRS -microkinematographies:MKRK:MKRK -osteochondrosarcomata:ASTX:ASTK -otorhinolaryngologies:ATRN:ATRN -peripachymeningitides:PRPK:PRPK -pharmacotherapeutical:FRMK:FRMK -phenolsulfonphthalein:FNLS:FNLS -phonocardiographieses:FNKR:FNKR -phosphoglyceraldehyde:FSFK:FSFK -photolithographically:FTL0:FTLT -photomicrographically:FTMK:FTMK -phthalylsulfathiazole:F0LL:FTLL -pneumoencephalography:NMNS:NMNS -proctosigmoidectomies:PRKT:PRKT -proctosigmoidoscopies:PRKT:PRKT -pseudohermaphroditism:STHR:STHR -psychopharmacological:SXFR:SKFR -psychopharmacologists:SXFR:SKFR -psychotherapeutically:SX0R:SKTR -radiochromatographies:RTKR:RTKR -representationalistic:RPRS:RPRS -reticuloendothelioses:RTKL:RTKL -reticuloendotheliosis:RTKL:RTKL -sclerectoiridectomies:SKRK:SKRK -sphygmomanometrically:SFKM:SFKM -stereophotomicrograph:STRF:STRF -succinylsulfathiazole:SXNL:SXNL -teleroentgenographies:TLRN:TLRN -tetramethylenediamine:TTRM:TTRM -thromboendarterectomy:0RMP:TRMP -thrombolymphangitides:0RMP:TRMP -tracheobronchoscopies:TRXP:TRKP -uranostaphyloplasties:ARNS:ARNS -ureterohydronephroses:ARTR:ARTR -ureterohydronephrosis:ARTR:ARTR -ureteronephrectomiers:ARTR:ARTR -ureteropyelonephritis:ARTR:ARTR -uterosalpingographies:ATRS:ATRS -zygomaticoauriculares:SKMT:SKMT -zygomaticoauricularis:SKMT:SKMT -ballistocardiographies:PLST:PLST -blepharoconjunctivitis:PLFR:PLFR -cardiopericardiopexies:KRTP:KRTP -cholangiogastrostomies:XLNJ:XLNK -cholecystoduodenostomy:XLSS:XLSS -cineangiocardiographic:SNNJ:SNNK -costotransversectomies:KSTT:KSTT -dacryocystoblennorrhea:TKRS:TKRS -dehydroisoandrosterone:THTR:THTR -deoxyribonucleoprotein:TKSR:TKSR -dihydroxyphenylalanine:THTR:THTR -diiodohydroxyquinoline:TTHT:TTHT -electrocontractilities:ALKT:ALKT -electroencephalographs:ALKT:ALKT -electroencephalography:ALKT:ALKT -electrometallurgically:ALKT:ALKT -hemangioendotheliomata:HMNJ:HMNK -hepaticoduodenostomies:HPTK:HPTK -hexamethylenetetramine:HKSM:HKSM -hysterosalpingectomies:HSTR:HSTR -hysterotrachelectomies:HSTR:HSTR -hysterotrachelorrhaphy:HSTR:HSTR -immunohistochemistries:AMNH:AMNH -isonicotinoylhydrazine:ASNK:ASNK -laryngopharyngectomies:LRNK:LRNK -lipochondrodystrophies:LPXN:LPKN -lymphangioendothelioma:LMFN:LMFN -mediastinopericarditis:MTST:MTST -microelectrophoretical:MKRL:MKRL -microspectrophotometry:MKRS:MKRS -myeloradiculodysplasia:MLRT:MLRT -pachyleptomeningitides:PKLP:PKLP -pancreaticoenterostomy:PNKR:PNKR -pancreaticogastrostomy:PNKR:PNKR -pancreaticojejunostomy:PNKR:PNKR -perioophorosalpingitis:PRFR:PRFR -phenolsulfonephthalein:FNLS:FNLS -pneumoencephalographic:NMNS:NMNS -polioencephalomyelitis:PLNS:PLNS -scleroticochordoiditis:SKRT:SKRT -spectrophotometrically:SPKT:SPKT -supradiaphragmatically:SPRT:SPRT -thoracogastroschisises:0RKK:TRKK -thyroparathyroidectomy:0RPR:TRPR -trichlorophenoxyacetic:TRXL:TRKL -uranostaphylorrhaphies:ARNS:ARNS -ureteroneocystostomies:ARTR:ARTR -ureteroneopyelostomies:ARTR:ARTR -ureteropyeloneostomies:ARTR:ARTR -ureterosigmoidostomies:ARTR:ARTR -ventriculosubarachnoid:FNTR:FNTR -cholecystogastrostomies:XLSS:XLSS -chondroosteodystrophies:XNTR:XNTR -cineangiocardiographies:SNNJ:SNNK -dacryocystorhinostomies:TKRS:TKRS -dermatomucosomyositides:TRMT:TRMT -dermatomucosomyositises:TRMT:TRMT -dichlorodifluoromethane:TXLR:TKLR -electrocorticographical:ALKT:ALKT -electroencephalographes:ALKT:ALKT -electroencephalographic:ALKT:ALKT -fluororoentgenographies:FLRR:FLRR -hysterosalpingographies:HSTR:HSTR -hysterotraumatismiatric:HSTR:HSTR -immunoelectrophoretical:AMNL:AMNL -lymphangioendotheliomas:LMFN:LMFN -microspectrophotometric:MKRS:MKRS -myxochondrofibrosarcoma:MKSX:MKSK -panhysterosalpingectomy:PNST:PNST -parasympatheticomimetic:PRSM:PRSM -phenoxymethylpenicillin:FNKS:FNKS -pneumoencephalographies:NMNS:NMNS -polytetrafluoroethylene:PLTT:PLTT -salicylazosulfapyridine:SLSL:SLSL -sulphamethoxypyridazine:SLFM:SLFM -thromboendarterectomies:0RMP:TRMP -ureteropyelonephritides:ARTR:ARTR -ureteropyelonephrostomy:ARTR:ARTR -ventriculocisternostomy:FNTR:FNTR -cholangiopancreatography:XLNJ:XLNK -cholecystoduodenostomies:XLSS:XLSS -electrocardiographically:ALKT:ALKT -electroencephalographies:ALKT:ALKT -hysterotrachelorrhaphies:HSTR:HSTR -laryngotracheobronchitis:LRNK:LRNK -lymphangioendotheliomata:LMFN:LMFN -mediastinopericarditides:MTST:MTST -meningoencephalomyelitis:MNNK:MNNK -microelectrophoretically:MKRL:MKRL -microspectrophotometries:MKRS:MKRS -myxochondrofibrosarcomas:MKSX:MKSK -pancreaticoenterostomies:PNKR:PNKR -pancreaticogastrostomies:PNKR:PNKR -pancreaticojejunostomies:PNKR:PNKR -pneumoencephalographical:NMNS:NMNS -polioencephalomyelitides:PLNS:PLNS -pseudohypoparathyroidism:STHP:STHP -thyroparathyroidectomies:0RPR:TRPR -electrocorticographically:ALKT:ALKT -electroencephalographical:ALKT:ALKT -immunoelectrophoretically:AMNL:AMNL -microspectrophotometrical:MKRS:MKRS -myxochondrofibrosarcomata:MKSX:MKSK -panhysterosalpingectomies:PNST:PNST -syngenesiotransplantation:SNJN:SNKN -tetrabromophenolphthalein:TTRP:TTRP -ureteropyelonephrostomies:ARTR:ARTR -ventriculocisternostomies:FNTR:FNTR -ethylenediaminetetraacetic:A0LN:ATLN -laryngotracheobronchitides:LRNK:LRNK -meningoencephalomyelitides:MNNK:MNNK -pneumoencephalographically:NMNS:NMNS -electroencephalographically:ALKT:ALKT -microspectrophotometrically:MKRS:MKRS -octamethylpyrophosphoramide:AKTM:AKTM -antidisestablishmentarianism:ANTT:ANTT -dichlorodiphenyltrichloroethane:TXLR:TKLR diff --git a/DNN Platform/Components/Telerik/Documentation/Telerik_EULA.pdf b/DNN Platform/Components/Telerik/Documentation/Telerik_EULA.pdf deleted file mode 100644 index 199299d26b2..00000000000 Binary files a/DNN Platform/Components/Telerik/Documentation/Telerik_EULA.pdf and /dev/null differ diff --git a/DNN Platform/Components/Telerik/DotNetNuke.Telerik.Web.dnn b/DNN Platform/Components/Telerik/DotNetNuke.Telerik.Web.dnn deleted file mode 100644 index 810cac2733a..00000000000 --- a/DNN Platform/Components/Telerik/DotNetNuke.Telerik.Web.dnn +++ /dev/null @@ -1,47 +0,0 @@ - - - - DotNetNuke Telerik Web Components - Provides Telerik Components for DotNetNuke. - - - DNN - .NET Foundation - https://dnncommunity.org - info@dnncommunity.org - - Please refer to the Telerik EULA.pdf in your site's documentation folder. - - This package includes Telerik.Web.UI assembly version 2013.2.717.40. - Please go to www.telerik.com to view release notes on this particular version. - - - - - bin - Telerik.Web.UI.dll - 2013.2.717.40 - - - bin - Telerik.Web.UI.Skins.dll - 2013.2.717.40 - - - - - - - Documentation - Telerik_EULA.pdf - - - App_Data/RadSpell - en-US.tdf - - - - - - - diff --git a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.Skins.dll b/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.Skins.dll deleted file mode 100644 index 728faa3fded..00000000000 Binary files a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.Skins.dll and /dev/null differ diff --git a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.dll b/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.dll deleted file mode 100644 index d20192fb1e9..00000000000 Binary files a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.dll and /dev/null differ diff --git a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.xml b/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.xml deleted file mode 100644 index 11794cdb1c1..00000000000 --- a/DNN Platform/Components/Telerik/bin/Telerik.Web.UI.xml +++ /dev/null @@ -1,173158 +0,0 @@ - - - - Telerik.Web.UI - - - - - This is the enum for the possition where the uploaded files will be rendered. - - - - - Render file inputs below the file input - - BelowFileInput=0 - - - - Render file inputs above the file input - - AboveFileInput=1 - - - - This class accepts description and extensions and prepares the - Filter that can be directly passed to Silverlight/Flash file dialog - - - - - Accepts string arraing containing the allowed extensions and produces - a filter mask in the form "*.extension;*.extension..." - - Array containing allowed extensions - Specifies whether a white space should be put after extension declaration - Filter that can be directly passed to Silverrlight/Flash file dialog. - - - - Gets or sets the description from or to the ViewState. - - The description. - - - - Gets or sets the extensions. - - The extensions. - - - - This class implements a strongly typed state managed collection. - - - - - This class converts the file filtering information. - - - - - Deserializes the specified dictionary. - - The dictionary. - The type. - The serializer. - - - - - When overridden in a derived class, builds a dictionary of name/value - pairs. - - The object to serialize. - The object that is responsible for the serialization. - - An object that contains key/value pairs that represent the object?s - data. - - - - - When overridden in a derived class, gets a collection of the supported - types. - - An object that implements - that represents the types supported by the converter. - - - - - This Class formats the filter information and - Serializes a FileFilterCollection in a form that - can be directly used with the Flash and Silverlight file dialogs. - - - - - An interface that provides API for a file filter object that could be passed - to Silverlight/Flash file dialog. - - - - - Accepts a FileFilterCollection, updates its desctiption field, if the latter is not set, - and returns string array containing the allowed extensions - - FileFilterCollection - Array containing all allowed extensions - - - - Serializes a FileFilterCollection in a form that can be directly used with - the Flash and Silverlight file dialogs. - - FileFilterCollection - Boolean value that specifies whether the FileFilterCollection should be formatted first - Serialized representation of the FileFilterCollection passed as input. - - - - This Class sets the Exception message in the AsyncUpload Handler - - - - - This Class implements all the properties, - constructors and methods of the Uploaded Files. - - - - - Provides a way to access individual files that have been uploaded by a client - via a RadUpload control. - - - The UploadedFileCollection class provides access to all - files uploaded from a client via single RadUpload instance as a file collection. - UploadedFile provides properties and methods to get information on an - individual file and to read and save the file. Files are uploaded in MIME - multipart/form-data format and are NOT buffered in the server - memory if the RadUploadModule is used. - The RadUpload control must be used to select and upload - files from a client. - You can specify the maximum allowable upload file size in a machine.config or - Web.config configuration file in the maxRequestLength attribute of the - <httpRuntime> Element element. - - - Set the maximum allowable upload file size to 1000kB - - <httpRuntime maxRequestLength="1000" /> - - - <httpRuntime maxRequestLength="1000" /> - - - - - - Returns the name and extension of the file on the client's computer. - - - A string consisting of the characters after the last directory character in file name on the client's computer. - - - The separator characters used to determine the start of the - file name are DirectorySeparatorChar and AltDirectorySeparatorChar. - - - - - Returns the name of the file on the client's computer without the extension. - - - A string containing the name of the file on the client's computer without the extension. - - - A string containing the string returned by GetFileName, minus the last period (.) and all characters following it. - - - - - Returns the extension of the file on the client's computer. - - - A string containing the extension of the file including the ".". If the file name does not have - extension information, GetExtension returns string.Empty. - - - The extension of the file name is obtained by searching it for a period (.), starting with the last character - and continuing toward the start. If a period is found before a DirectorySeparatorChar or AltDirectorySeparatorChar - character, the returned string contains the period and the characters after it; otherwise, string.Empty is returned. - - - - - Returns the value of a custom field. - - - A string containing the value of the custom field with name fieldName - - The name of the field wich value will be retrieved - Check the general help for more information and an example. - - - - Returns the checked state of a custom field. - - - A string containing the checked state of the custom field with name fieldName - - The name of the field wich checked state will be retrieved - Check the general help for more information and an example. - - - Saves the contents of an uploaded file. - - The maximum allowed uploaded file size is 4MB by default. Maximum file size - can be specified in the machine.config or Web.config configuration files in the - maxRequestLength attribute of the <httpRuntime> element. - The ASP.NET process must have proper rights for writing on the folder where - the files are saved. - - - The following example saves all the files uploaded by the client to a folder named - "C:\TempFiles" on the Web server's local disk. - - Dim Loop1 As Integer - Dim TempFileName As String - Dim MyFileCollection As UploadedFileCollection = RadUpload1.UploadedFiles - - For Loop1 = 0 To MyFileCollection.Count - 1 - ' Create a new file name. - TempFileName = "C:\TempFiles\File_" & CStr(Loop1) - ' Save the file. - MyFileCollection(Loop1).SaveAs(TempFileName) - Next Loop1 - - - String TempFileName; - UploadedFileCollection MyFileCollection = RadUpload1.UploadedFiles; - - for (int Loop1 = 0; Loop1 < MyFileCollection.Count; Loop1++) - { - // Create a new file name. - TempFileName = "C:\\TempFiles\\File_" + Loop1.ToString(); - // Save the file. - MyFileCollection[Loop1].SaveAs(TempFileName); - } - - - - - Saves the contents of an uploaded file. - - The maximum allowed uploaded file size is 4MB by default. Maximum file size - can be specified in the machine.config or Web.config configuration files in the - maxRequestLength attribute of the <httpRuntime> element. - The ASP.NET process must have proper rights for writing on the folder where - the files are saved. - - - The following example saves all the files uploaded by the client to a folder named - "C:\TempFiles" on the Web server's local disk. The existing files are overwritten. - - Dim Loop1 As Integer - Dim TempFileName As String - Dim ShouldOverwrite As Boolean = True - Dim MyFileCollection As UploadedFileCollection = RadUpload1.UploadedFiles - - For Loop1 = 0 To MyFileCollection.Count - 1 - ' Create a new file name. - TempFileName = "C:\TempFiles\File_" & CStr(Loop1) - ' Save the file. - MyFileCollection(Loop1).SaveAs(TempFileName, ShouldOverwrite) - Next Loop1 - - - String TempFileName; - bool ShouldOverwrite = true; - UploadedFileCollection MyFileCollection = RadUpload1.UploadedFiles; - - for (int Loop1 = 0; Loop1 < MyFileCollection.Count; Loop1++) - { - // Create a new file name. - TempFileName = "C:\\TempFiles\\File_" + Loop1.ToString(); - // Save the file. - MyFileCollection[Loop1].SaveAs(TempFileName, ShouldOverwrite); - } - - - The name of the saved file. - - true to allow an existing file to be overwritten; otherwise, false. - - - - - Creates a UploadedFile instance from HttpPostedFile instance. - - The value of the name attribute of the file input field - (equals the UniqueID of the FileUpload control) - The HttpPostedFile instance. Usually, you could get this from a - ASP:FileUpload control's PostedFile property - - - - - Creates a UploadedFile instance from HttpPostedFile instance. - - The HttpPostedFile instance. Usually, you could get this from a - ASP:FileUpload control's PostedFile property - - - - Gets the size in bytes of an uploaded file. - The length of the file. - - This example validates the file size of an uploaded file. - - bool isValid = true; - if (file.ContentLength > MaxFileSize) - { - isValid = false; - } - - - Dim isValid As Boolean = True; - If file.ContentLength > MaxFileSize Then - isValid = False; - End If - - - - - - Gets the last modified date of the uploaded file. - - The property is available only in RadAsyncUpload control when FileApi module is used - - Last modified date of the uploaded file. - - - - Gets the MIME content type of a file sent by a client. - The MIME content type of the uploaded file. - - The following example loops through all the files in the uploaded files collection - and takes action when the MIME type of a file is US-ASCII . - - Dim Loop1 As Integer - Dim MyFileCollection As UploadedFileCollection = RadUpload1.UploadedFiles - - For Loop1 = 0 To MyFileCollection.Count - 1 - If MyFileCollection(Loop1).ContentType = "video/mpeg" Then - '... - End If - Next Loop1 - - - UploadedFileCollection MyFileCollection = RadUpload1.UploadedFiles; - - for (int Loop1 = 0; Loop1 < MyFileCollection.Count; Loop1++) - { - if (MyFileCollection[Loop1].ContentType == "video/mpeg") - { - //... - } - } - - - - - - Gets the fully-qualified name of the file on the client's computer (for example - "C:\MyFiles\Test.txt"). - - A string containing the fully-qualified name of the file on the client's computer. - - The following example assigns the name of an uploaded file (the first file in the - file collection) to a string variable. - - UploadedFile MyUploadedFile = RadUpload1.UploadedFiles[0]; - string MyFileName = MyUploadedFile.FileName; - - - Dim MyUploadedFile As UploadedFile = RadUpload1.UploadedFiles(0) - Dim MyFileName As String = MyUploadedFile.FileName - - - - - - Gets a Stream object which points to the uploaded file to prepare for reading the contents of the file. - - - A Stream pointing to the file. - - - - - We use this method to normalize the output of the UploadedFile properties - among the different modules. - - The file that was uploaded - - - - Saves the contents of an uploaded file. - - - true to allow an existing file to be overwritten; otherwise, false. - - The maximum allowed uploaded file size is 4MB by default. Maximum file size - can be specified in the machine.config or Web.config configuration files in the - maxRequestLength attribute of the <httpRuntime> element. - The ASP.NET process must have proper rights for writing on the folder where - the files are saved. - - - The following example saves all the files uploaded by the client to a folder named - "C:\TempFiles" on the Web server's local disk. The existing files are overwritten. - - Dim Loop1 As Integer - Dim TempFileName As String - Dim ShouldOverwrite As Boolean = True - Dim MyFileCollection As UploadedFileCollection = RadUpload1.UploadedFiles - For Loop1 = 0 To MyFileCollection.Count - 1 - ' Create a new file name. - TempFileName = "C:\TempFiles\File_" & CStr(Loop1) - ' Save the file. - MyFileCollection(Loop1).SaveAs(TempFileName, ShouldOverwrite) - Next Loop1 - - - String TempFileName; - bool ShouldOverwrite = true; - UploadedFileCollection MyFileCollection = RadUpload1.UploadedFiles; - for (int Loop1 = 0; Loop1 < MyFileCollection.Count; Loop1++) - { - // Create a new file name. - TempFileName = "C:\\TempFiles\\File_" + Loop1.ToString(); - // Save the file. - MyFileCollection[Loop1].SaveAs(TempFileName, ShouldOverwrite); - } - - - - - - Gets the size in bytes of an uploaded file. - - - This example validates the file size of an uploaded file. - - bool isValid = true; - if (file.ContentLength > MaxFileSize) - { - isValid = false; - } - - - Dim isValid As Boolean = True; - If file.ContentLength > MaxFileSize Then - isValid = False; - End If - - - The length of the file. - - - - Gets the fully-qualified name of the file on the client's computer (for example - "C:\MyFiles\Test.txt"). - - - The following example assigns the name of an uploaded file (the first file in the - file collection) to a string variable. - - UploadedFile MyUploadedFile = RadAsyncUpload1.UploadedFiles[0]; - string MyFileName = MyUploadedFile.FileName; - - - Dim MyUploadedFile As UploadedFile = RadUpload1.UploadedFiles(0) - Dim MyFileName As String = MyUploadedFile.FileName - - - - A string containing the fully-qualified name of the file on the client's computer. - - - - - Gets the MIME content type of a file sent by a client. - - - The following example loops through all the files in the uploaded files collection - and takes action when the MIME type of a file is US-ASCII . - - Dim Loop1 As Integer - Dim MyFileCollection As UploadedFileCollection = RadAsyncUpload1.UploadedFiles - For Loop1 = 0 To MyFileCollection.Count - 1 - If MyFileCollection(Loop1).ContentType = "video/mpeg" Then - '... - End If - Next Loop1 - - - UploadedFileCollection MyFileCollection = RadAsyncUpload1.UploadedFiles; - for (int Loop1 = 0; Loop1 < MyFileCollection.Count; Loop1++) - { - if (MyFileCollection[Loop1].ContentType == "video/mpeg") - { - //... - } - } - - - The MIME content type of the uploaded file. - - - - Gets a Stream object which points to the uploaded file to prepare for reading the contents of the file. - - A Stream pointing to the file. - - - - Default implementation of IAsyncUploadConfiguration. - Base class that can be used to pass custom information from the page to the handler. Inherit this class and - add a relevant data. - - - - - An interface that describes basic async upload configuration. - - - - - Gets or sets the target folder. - - The target folder. - - - - Gets or sets the temp target folder. - - The temp target folder. - - - - Gets or sets the max file size. - - The max file size. - - - - Gets or sets the time to live. - - The time to live. - - - - Gets or sets whether to use application pool impersonation. - - The usage of application pool impersonation. - - - - Gets or sets the allowed file extensions send to the uplaod handler. - - The AllowedFileEntensions. - - - - This Class implements the inbuilt default AsyncUploadHandler - that inherts IHttpHandler and IRequiresSessionState. - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that - implements the interface. - - An object that provides - references to the intrinsic server objects (for example, Request, Response, Session, - and Server) used to service HTTP requests. - - - - Processes the current the HTTP Web Request and saves the file to the temp folder. This method can be overridden. - - The uploaded file - The HttpContext for the current request. - Object that implements IAsyncUploadConfiguration - It can be a custom object sent from the page. - The temporary name of the uploaded file. - Object that implements theIAsyncUploadResultinterface. - It can be a custom defined object and may contain additional information which can then be accessed on the server. - - - - - Saves the uploaded file to the temporary folder. - - The uploaded file - The async upload config - The HttpContext for the current request. - The temporary name of the uploaded fiel. - - - - Creates an object of type T (that implements IAsyncUploadResult) - and populates all properties specified in the interface. The user is then free to populate any additional properties. - - Type that implements IAsyncUploadResult - Contains information about the uploaded file - An object of type T populated with all properties specified in IAsyncUploadResult - - - - Indicates whether the currently processed file has valid size. The size is checked against the maximum size specified in the - async upload configuration. - - The content length of the current request. - The maximum allowed size for the file. - Boolean value indicating whether the file has valid size or not. - - - - Decrypts a string encrypted with LOS serializer. - - The decrypted string - - - - Gets or sets the configuration. - - The configuration. - - - - Gets the full path. - - The full path. - - - - Gets or sets the temporary folder. - - The temporary folder. - - - - Gets or sets the MaxJsonLength. - - The MaxJsonLength. - - - - Gets or sets the name of the temporary file. - - The name of the temporary file. - - - - Gets a value indicating whether another request can use the - instance. - - true if the instance is reusable; - otherwise, false. - - - - - Default implementation of IAsyncUploadResult. - Inherit this class and add additional fields to be returned from the upload handler. - - - - - An interface that describes the basic information about an uploaded file. - - - - - Gets the fully-qualified name of the file on the client's computer (for example - "C:\MyFiles\Test.txt"). - - - A string containing the fully-qualified name of the file on the client's computer. - - - - - Gets the MIME content type of a file sent by a client. - - The MIME content type of the uploaded file. - - - - Gets the size in bytes of an uploaded file. - - The length of the file. - - - - This Class implements the ChunkMetaData object and its fields and constructors. - - - - - Gets or sets the upload ID. - - The upload ID. - - - - Gets or sets the ChunkIndex. - - The ChunkIndex. - - - - Gets or sets the total chunks count. - - The total chunks count. - - - - Gets or sets the total size of the file. - - The total size of the file. - - - - Gets or sets the value that shows if the upload is made within a single chunk. - - The value that shows if the upload is made within a single chunk.. - - - - This is the enum for the MultipleFileSelection. - - - - - MultipleFileSelection is disabled - - Disabled = 0 - - - - MultipleFileSelection is automatic - - Automatic = 1 - - - - An interface that describes file appender object. Appender object - can append byte stream to already existing file and return the length - of the bytes appended. - - - - - An interface that describes the basic information about the request. - - - - - An interface that describes the basic information about the request. - - - - - This Class gets or sets the Select, Cancel and Move strings in the LocalizationStrings. - - - - - Gets or sets the string "Select". - - The string "Select". - - - - Gets or sets the string "Remove". - - The string "Remove". - - - - Gets or sets the string "Cancel". - - The string "Cancel". - - - - Gets or sets the string "DropZone" text. - - The string "DropZone". - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - The datasource of the control. - The text value of the control. - - - - Gets the DataSource of the control when the event is raised. - - The DataSource of the control when the event is raised. - - - - Gets the text value of the control when the event is raised. - - The text value of the control when the event is raised. - - - - Represents the method that handles the event of the control. - - - - - This class gets and sets the localization properties of RadAutoCompleteBox. - - - - - Gets or sets the RemoveTokenTitle string. - - The RemoveTokenTitle string. - - - - State Persister Base Abstract class. Should be implemented for each control. ReadSettings / ApplySettings methods can be generated with T4 Template - - - - - State Persister Interface that should be implemented by each control's StatePerister class. ReadSettings / ApplySettings methods can be generated using T4 Template. - - - - - Saves the state of the corresponding control using the assigned StateSerializer and StateStorageProvider - - This method should raise StateSaving event - RadControl instance which state should be saved - The indentifier under which the state will be saved. - - - - Loads the state to the corresponding control using the assigned StateSerializer and StateStorageProvider - - - This method should be usable only when StateSerializer and StateStorageProvider are assigned to the StatePersister. - This method should raise StateLoading event - - Control that should recieve the provided state - The indentifier under which the state is saved. - - - - Loads the state to the provided control - - This method should raise StateLoading event - Control that should recieve the provided state - instance that will be applied to the provided control - - - - Reads the control's settings. This method will be generated using T4 Template. - - RadControl instance which state should be saved - - - - Applys the control's settings. This method will be generated using T4 Template. - - Control that should recieve the provided state - - - - Initialize a new instance of the RadStatePersister class - - - - - Initialize a new instance of the RadStatePersister class using specified - and to be utilized for the state persistence - - - - - Saves the state of the corresponding control using the assigned StateSerializer and StateStorageProvider - - Raises StateSave event - RadControl instance which state should be saved - - - - Saves the state of the corresponding control using the assigned StateSerializer and StateStorageProvider - - Raises StateSave event - RadControl instance which state should be saved - The indentifier under which the state will be saved. - - - - Loads the state to the corresponding control using the assigned StateSerializer and StateStorageProvider - - - This method should be usable only when StateSerializer and StateStorageProvider are assigned to the StatePersister. - This method should raise StateLoading event - - RadControl instance which state should be loaded - The indentifier under which the state is saved. - - - - Loads the state to the provided control - - This method should raise StateLoading event - Control that should recieve the provided state - instance that will be applied to the provided control - - - - Reads the control's settings. - - - - - Applys the control's settings. This method will be generated using T4 Template. - - - - - - - - - - - - - - - - RadCalendar class - - - A highly configurable control for displaying and selecting date values from an interface laid out like a standard calendar. - - - - - Base class based on the PropertyBag implementation, which descends from WebControl class. - - - - - - - - - Describes an object that can be used to resolve references to a control by its ID - - - - - Resolves a reference to a control by its ID - - - - - - - - - - - - - - - Code moved into this method from OnPreRender to make sure it executed when the framework skips OnPreRender() for some reason - - - - - Registers the control with the ScriptManager - - - - - Registers the CSS references - - - - - Loads the client state data - - - - - - Saves the client state data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use this from RenderContents of the inheritor - - - - - - - - - - - - - - - - - - - - - Returns the names of all embedded skins. Used by Telerik.Web.Examples. - - - - - Executed when post data is loaded from the request - - - - - - - - Executed when post data changes should invoke a chagned event - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - For internal use. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets the real skin name for the control user interface. If Skin is not set, returns - "Default", otherwise returns Skin. - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - The CssClass property will now be used instead of the former Skin - and will be modified in AddAttributesToRender() - - - protected override string CssClassFormatString - { - get - { - return "RadDock RadDock_{0} rdWTitle rdWFooter"; - } - } - - - - - This property is overridden in order to support controls which implement INamingContainer. - The default value is changed to "AutoID". - - - - - - - - - Implements the PropertyBag class that is the foundation for building Telerik RadCalendar and - handles properties values.Used by the ViewState mechanism also. - - - - - Create controls from template, fill ContentPanes and add them to Controls collection. - - - - - This method supports the Telerik RadCalendar infrastructure and - is not intended to be used directly from your code. - - - - - Recursively searches for a control with the specified id in the passed controls collection. - - The id of the control to look for. - The current Controls collection to search in. - The found control or null if nothing was found. - - - - When using templates, their content is instantiated and "lives" inside the - Controls - collection of RadCalendar class. To access the controls instantiated from the - templates they must be found using this method (RadCalendar implements - INamingContainer interface). - - Reference to the found control or null if no control was found. - The ID of the searched control. - - - - Restores view-state information from a previous page request that was saved by the SaveViewState method. - - The saved view state. - - - - Saves any server control view-state changes that have occurred since the time the page was posted back to the server. - - The saved view state. - - - - - - - - - - - - Gets or sets the - MonthYearFastNavigationSettings - object whose inner properties can be used to modify the fast Month/Year client - navigation settings. - - MonthYearFastNavigationSettings - - - - Returns whether RadCalendar is currently in design mode. - - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - A string containing the path for the grid images. The default is string.Empty. - - - - - - - - - Gets or sets whether popup shadows will appear. - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets the enable client side navigation with arrow keys. - - The enable client side navigation with arrow keys. - - - - Gets or sets the RadCalendar range selection mode. - Default value is None. - - - - - Member - Description - - - None - Does not allow range selection. - - - OnKeyHold - Allow range selection by pressing [Shift] key and clicking on the date. - - - None - Allow range selection by clicking consecutively two dates. - - - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web server - control on the client. - - - The CSS class rendered by the Web server control on the client. The default is - calendarWrapper_[skin name]. - - - - - Gets or sets the visibility of the control. - - The visiblility of the control. - - - - Gets or sets a collection of type - - CalendarDayTemplateCollection which stores the created templates to use with - RadCalendar. All of the - items are represented by - DayTemplate - instances. - - - - - Gets the instance of - - CalendarClientEvents class which defines the JavaScript functions (client-side - event handlers) that are invoked when specific client-side events are raised. - - - - - Gets or sets whether the repeatable days logic should be supported on the client - (effective for client calendar - with set property - AutoPostBack="false"). - - - true, if the repeatable days logic should be supported on the - client; otherwise, false. The default value is - true. - - - The EnableRepeatableDaysOnClient property has effect over the - logic of the recurring events to the calendar. It should be true, if you wants the - repeatable days to be supported by a calendar with AutoPostBack="false". If you are not - using repeatable days or/and client calendar, you can improve the calendar performance - by setting it to false. - - SpecialDays Property - - - - Gets or sets the format string that will be applied to the dates presented in the - calendar area. - - - For additional details see Date Format Pattern - topic - - - - - Gets or sets the the count of rows to be displayed by a single - CalendarView. - - - If the calendar represents a multi view, this property applies to the child views - inside the multi view. - - - - - Gets or sets the the count of columns to be displayed by a single - CalendarView. - - - If the calendar represents a multi view, this property applies to the child views - inside the multi view. - - - - - Gets or sets the Width applied to a single - CalendarView. - - - If the calendar represents a multi view, this property applies to the child views - inside the multi view. - - - - - Gets or sets the Height applied to a single - CalendarView. - - - If the calendar represents a multi view, this property applies to the child views - inside the multi view. - - - - - Gets or sets the predefined pairs of rows and columns, so that the product of - the two values is exactly 42, which guarantees valid calendar layout. It is applied - on a single view level to every - MonthView - instance in the calendar. - - - The following values are applicable and defined in the MonthLayout - enumeration:
-
- Layout_7columns_x_6rows - horizontal layout
-
- Layout_14columns_x_3rows - horizontal layout
-
- Layout_21columns_x_2rows - horizontal layout
-
- Layout_7rows_x_6columns - vertical layout, required when - UseDaysAsSelectors - is true and - Orientation - is set to - - RenderInColumns.
-
- Layout_14rows_x_3columns - vertical layout, required when - UseDaysAsSelectors - is true and - Orientation - is set to - - RenderInColumns.
-
- Layout_21rows_x_2columns - vertical layout, required when - UseDaysAsSelectors - is true and - Orientation - is set to - - RenderInColumns.
-
-
- - - Gets or sets the horizontal alignment of the date cells content inside the - calendar area. - The HorizontalAlign enumeration is defined in - System.Web.UI.WebControls - - - - - - Member name - - - Description - - - - - Center - - The contents of a container are centered. - - - Justify - The contents of a container are uniformly spread out and - aligned with both the left and right margins. - - - Left - The contents of a container are left justified. - - - NotSet - The horizontal alignment is not set. - - - Right - The contents of a container are right justified. - - - - - - - Gets or sets the vertical alignment of the date cells content inside the - calendar area. - The VerticalAlign enumeration is defined in - System.Web.UI.WebControls - - - - - Member name - Description - - - Bottom - Text or object is aligned with the bottom of the enclosing - control. - - - Middle - Text or object is aligned with the center of the enclosing - control. - - - NotSet - Vertical alignment is not set. - - - Top - Text or object is aligned with the top of the enclosing - control. - - - - - - - Gets or sets the the count of rows to be displayed by a multi month - CalendarView. - - - - - Gets or sets the the count of columns to be displayed by a multi month - CalendarView. - - - - - Gets or sets the maximum date valid for selection by - Telerik RadCalendar. Must be interpreted as the Higher bound of the valid - dates range available for selection. Telerik RadCalendar will not allow - navigation or selection past this date. - - - This property has a default value of 12/30/2099 - (Gregorian calendar date). - - - - - Gets or sets the minimal date valid for selection by - Telerik RadCalendar. Must be interpreted as the Lower bound of the valid - dates range available for selection. Telerik RadCalendar will not allow - navigation or selection prior to this date. - - - This property has a default value of 1/1/1980 - (Gregorian calendar date). - - - - - Specifies the day to display as the first day of the week on the - RadCalendar - control. - The FirstDayOfWeek enumeration can be found in - System.Web.UI.WebControls Namespace. - - - The FirstDayOfWeek enumeration represents the values that specify - which day to display as the first day of the week on the - RadCalendar - control. - - - Member name - Description - - - Default - The first day of the week is specified by the system - settings. - - - Friday - The first day of the week is Friday. - - - Monday - The first day of the week is Monday. - - - Saturday - The first day of the week is Saturday. - - - Sunday - The first day of the week is Sunday. - - - Thursday - The first day of the week is Thursday. - - - Tuesday - The first day of the week is Tuesday. - - - Wednesday - The first day of the week is Wednesday. - - - - - - - Sets or returns the currently selected date. The default value is the value of - System.DateTime.MinValue. - - - Use the SelectedDate property to determine the selected date on the - RadCalendar - control. - The SelectedDate property and the - SelectedDates - collection are closely related. When the - EnableMultiSelect - property is set to false, a mode that allows only a single date selection, - SelectedDate and SelectedDates[0] have the same value and - SelectedDates.Count equals 1. When the EnableMultiSelect property is - set to true, mode that allows multiple date selections, SelectedDate - and SelectedDates[0] have the same value. - The SelectedDate property is set using a System.DateTime - object. - When the user selects a date on the RadCalendar control, the - SelectionChanged - event is raised. The SelectedDate property is updated to the selected date. - The SelectedDates collection is also updated to contain just this - date. -
- Note Both the SelectedDate property and the - SelectedDates collection are updated before the SelectionChanged - event is raised. You can override the date selection by using the - OnSelectionChanged event handler to manually set the - SelectedDate property. The SelectionChanged event does not get - raised when this property is programmatically set. -
-
-
- - - Gets or sets the start date when calendar range selection is enabled. - - The start date when calendar range selection is enabled. - - - - Gets or sets the end date when calendar range selection is enabled. - - The end date when calendar range selection is enabled. - - - - Gets or sets the value that is used by - RadCalendar to determine - the viewable area displayed . - - - By default, the FocusedDate property returns the current - system date when in runtime, and in design mode defaults to - System.DateTime.MinValue. When the FocusedDate is - set, from that point, the value returned by the FocusedDate - property is the one the user sets. - - - - - Gets or sets the row index where the - FocusedDate - (and the month view it belongs to) will be positioned inside a multi view area. - - - - - Gets or sets the column index where the - FocusedDate - (and the month view it belongs to) will be positioned inside a multi view area. - - - - - Gets a collection of - RadDate objects (that - encapsulate values of type System.DateTime) that represent the - selected dates on the RadCalendar control. - - - A - - DateTimeCollection that contains a collection of - RadDate objects (that - encapsulate values of type System.DateTime) representing the selected - dates on the RadCalendar control. The default value is an empty - DateTimeCollection. - - - Use the SelectedDates collection to determine the currently selected - dates on the - RadCalendar - control. - The - SelectedDate - property and the SelectedDates collection are closely related. When the - EnableMultiSelect - property is set to false, a mode that allows only a single date selection, - SelectedDate and SelectedDates[0] have the same value and - SelectedDates.Count equals 1. When the - EnableMultiSelect - property is set to true, mode that allows multiple date selections, - SelectedDate and SelectedDates[0] have the same value. - The SelectedDates property stores a collection of - RadDate objects (that - encapsulate values of type System.DateTime). - When the user selects a date or date range (for example with the column or - rows selectors) on the RadCalendar control, the - SelectionChanged - event is raised. The selected dates are added to the SelectedDates - collection, accumulating with previously selected dates. The range of dates are not - sorted by default. The SelectedDate property is also updated to - contain the first date in the SelectedDates collection. - You can also use the SelectedDates collection to programmatically - select dates on the Calendar control. Use the - - Add, - - Remove, - - Clear, and - - SelectRange methods to programmatically manipulate the selected dates in the - SelectedDates collection. -
- Note Both the SelectedDate property and the - SelectedDates collection are updated before the SelectionChanged - event is raised.You can override the dates selection by using the - OnSelectionChanged event handler to manually set the - SelectedDates collection. The SelectionChanged event is not - raised when this collection is programmatically set. -
-
-
- - - Gets or sets an integer value representing the number of - CalendarView - views that will be scrolled when the user clicks on a fast navigation link. - - - - - Specifies the display formats for the days of the week used as selectors by - RadCalendar. - - - Use the DayNameFormat property to specify the name format for the days - of the week. This property is set with one of the DayNameFormat - enumeration values. You can specify whether the days of the week are displayed as - the full name, short (abbreviated) name, first letter of the day, or first two - letters of the day. - The DayNameFormat enumeration represents the display formats for the - days of the week used as selectors by RadCalendar. - - - Member name - Description - - - FirstLetter - The days of the week displayed with just the first letter. For - example, T. - - - FirstTwoLetters - The days of the week displayed with just the first two - letters. For example, Tu. - - - Full - The days of the week displayed in full format. For example, - Tuesday. - - - Short - The days of the week displayed in abbreviated format. For - example, Tues. - - - - - - - Gets or sets a DateTimeFormatInfo instance that defines the - culturally appropriate format of displaying dates and times as specified by the default - culture. - - - A DateTimeFormatInfo can be created only for the invariant - culture or for specific cultures, not for neutral cultures. - The cultures are generally grouped into three sets: the invariant culture, - the neutral cultures, and the specific cultures. - The invariant culture is culture-insensitive. You can specify the invariant - culture by name using an empty string ("") or by its culture identifier 0x007F. - InvariantCulture retrieves an instance of the invariant culture. - It is associated with the English language but not with any country/region. It can - be used in almost any method in the Globalization namespace that requires a - culture. If a security decision depends on a string comparison or a case-change - operation, use the InvariantCulture to ensure that the behavior will be - consistent regardless of the culture settings of the system. However, the invariant - culture must be used only by processes that require culture-independent results, - such as system services; otherwise, it produces results that might be - linguistically incorrect or culturally inappropriate. - A neutral culture is a culture that is associated with a language but not - with a country/region. A specific culture is a culture that is associated with a - language and a country/region. For example, "fr" is a neutral culture and "fr-FR" - is a specific culture. Note that "zh-CHS" (Simplified Chinese) and "zh-CHT" - (Traditional Chinese) are neutral cultures. - The user might choose to override some of the values associated with the - current culture of Windows through Regional and Language Options (or Regional - Options or Regional Settings) in Control Panel. For example, the user might choose - to display the date in a different format or to use a currency other than the - default for the culture. - If UseUserOverride is true and the specified culture - matches the current culture of Windows, the CultureInfo uses those - overrides, including user settings for the properties of the - DateTimeFormatInfo instance returned by the DateTimeFormat property, - the properties of the NumberFormatInfo instance returned by the - NumberFormat property, and the properties of the - CompareInfo instance returned by the CompareInfo - property. If the user settings are incompatible with the culture associated with - the CultureInfo (for example, if the selected calendar is not one of the - OptionalCalendars ), the results of the methods and the values of - the properties are undefined.
-
- Note: In this version of RadCalendar the - NumberFormatInfo instance returned by the - NumberFormat property is not taken into account.
-
-
- - - Gets or sets the CultureInfo instance that represents - information about the culture of this RadCalendar object. - A CultureInfo class describes information about the culture of this - RadCalendar instance including the names of the culture, the writing system, and - the calendar used, as well as access to culture-specific objects that provide - methods for common operations, such as formatting dates and sorting strings. - - - The culture names follow the RFC 1766 standard in the format - "<languagecode2>-<country/regioncode2>", where <languagecode2> is - a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> - is an uppercase two-letter code derived from ISO 3166. For example, U.S. English is - "en-US". In cases where a two-letter language code is not available, the - three-letter code derived from ISO 639-2 is used; for example, the three-letter - code "div" is used for cultures that use the Dhivehi language. Some culture names - have suffixes that specify the script; for example, "-Cyrl" specifies the Cyrillic - script, "-Latn" specifies the Latin script. - The following predefined CultureInfo names and identifiers are - accepted and used by this class and other classes in the System.Globalization - namespace. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Culture NameCulture IdentifierLanguage-Country/Region
"" (empty string)0x007Finvariant culture
af0x0036Afrikaans
af-ZA0x0436Afrikaans - South Africa
sq0x001CAlbanian
sq-AL0x041CAlbanian - Albania
ar0x0001Arabic
ar-DZ0x1401Arabic - Algeria
ar-BH0x3C01Arabic - Bahrain
ar-EG0x0C01Arabic - Egypt
ar-IQ0x0801Arabic - Iraq
ar-JO0x2C01Arabic - Jordan
ar-KW0x3401Arabic - Kuwait
ar-LB0x3001Arabic - Lebanon
ar-LY0x1001Arabic - Libya
ar-MA0x1801Arabic - Morocco
ar-OM0x2001Arabic - Oman
ar-QA0x4001Arabic - Qatar
ar-SA0x0401Arabic - Saudi Arabia
ar-SY0x2801Arabic - Syria
ar-TN0x1C01Arabic - Tunisia
ar-AE0x3801Arabic - United Arab Emirates
ar-YE0x2401Arabic - Yemen
hy0x002BArmenian
hy-AM0x042BArmenian - Armenia
az0x002CAzeri
az-AZ-Cyrl0x082CAzeri (Cyrillic) - Azerbaijan
az-AZ-Latn0x042CAzeri (Latin) - Azerbaijan
eu0x002DBasque
eu-ES0x042DBasque - Basque
be0x0023Belarusian
be-BY0x0423Belarusian - Belarus
bg0x0002Bulgarian
bg-BG0x0402Bulgarian - Bulgaria
ca0x0003Catalan
ca-ES0x0403Catalan - Catalan
zh-HK0x0C04Chinese - Hong Kong SAR
zh-MO0x1404Chinese - Macau SAR
zh-CN0x0804Chinese - China
zh-CHS0x0004Chinese (Simplified)
zh-SG0x1004Chinese - Singapore
zh-TW0x0404Chinese - Taiwan
zh-CHT0x7C04Chinese (Traditional)
hr0x001ACroatian
hr-HR0x041ACroatian - Croatia
cs0x0005Czech
cs-CZ0x0405Czech - Czech Republic
da0x0006Danish
da-DK0x0406Danish - Denmark
div0x0065Dhivehi
div-MV0x0465Dhivehi - Maldives
nl0x0013Dutch
nl-BE0x0813Dutch - Belgium
nl-NL0x0413Dutch - The Netherlands
en0x0009English
en-AU0x0C09English - Australia
en-BZ0x2809English - Belize
en-CA0x1009English - Canada
en-CB0x2409English - Caribbean
en-IE0x1809English - Ireland
en-JM0x2009English - Jamaica
en-NZ0x1409English - New Zealand
en-PH0x3409English - Philippines
en-ZA0x1C09English - South Africa
en-TT0x2C09English - Trinidad and Tobago
en-GB0x0809English - United Kingdom
en-US0x0409English - United States
en-ZW0x3009English - Zimbabwe
et0x0025Estonian
et-EE0x0425Estonian - Estonia
fo0x0038Faroese
fo-FO0x0438Faroese - Faroe Islands
fa0x0029Farsi
fa-IR0x0429Farsi - Iran
fi0x000BFinnish
fi-FI0x040BFinnish - Finland
fr0x000CFrench
fr-BE0x080CFrench - Belgium
fr-CA0x0C0CFrench - Canada
fr-FR0x040CFrench - France
fr-LU0x140CFrench - Luxembourg
fr-MC0x180CFrench - Monaco
fr-CH0x100CFrench - Switzerland
gl0x0056Galician
gl-ES0x0456Galician - Galician
ka0x0037Georgian
ka-GE0x0437Georgian - Georgia
de0x0007German
de-AT0x0C07German - Austria
de-DE0x0407German - Germany
de-LI0x1407German - Liechtenstein
de-LU0x1007German - Luxembourg
de-CH0x0807German - Switzerland
el0x0008Greek
el-GR0x0408Greek - Greece
gu0x0047Gujarati
gu-IN0x0447Gujarati - India
he0x000DHebrew
he-IL0x040DHebrew - Israel
hi0x0039Hindi
hi-IN0x0439Hindi - India
hu0x000EHungarian
hu-HU0x040EHungarian - Hungary
is0x000FIcelandic
is-IS0x040FIcelandic - Iceland
id0x0021Indonesian
id-ID0x0421Indonesian - Indonesia
it0x0010Italian
it-IT0x0410Italian - Italy
it-CH0x0810Italian - Switzerland
ja0x0011Japanese
ja-JP0x0411Japanese - Japan
kn0x004BKannada
kn-IN0x044BKannada - India
kk0x003FKazakh
kk-KZ0x043FKazakh - Kazakhstan
kok0x0057Konkani
kok-IN0x0457Konkani - India
ko0x0012Korean
ko-KR0x0412Korean - Korea
ky0x0040Kyrgyz
ky-KZ0x0440Kyrgyz - Kazakhstan
lv0x0026Latvian
lv-LV0x0426Latvian - Latvia
lt0x0027Lithuanian
lt-LT0x0427Lithuanian - Lithuania
mk0x002FMacedonian
mk-MK0x042FMacedonian - FYROM
ms0x003EMalay
ms-BN0x083EMalay - Brunei
ms-MY0x043EMalay - Malaysia
mr0x004EMarathi
mr-IN0x044EMarathi - India
mn0x0050Mongolian
mn-MN0x0450Mongolian - Mongolia
no0x0014Norwegian
nb-NO0x0414Norwegian (Bokm?l) - Norway
nn-NO0x0814Norwegian (Nynorsk) - Norway
pl0x0015Polish
pl-PL0x0415Polish - Poland
pt0x0016Portuguese
pt-BR0x0416Portuguese - Brazil
pt-PT0x0816Portuguese - Portugal
pa0x0046Punjabi
pa-IN0x0446Punjabi - India
ro0x0018Romanian
ro-RO0x0418Romanian - Romania
ru0x0019Russian
ru-RU0x0419Russian - Russia
sa0x004FSanskrit
sa-IN0x044FSanskrit - India
sr-SP-Cyrl0x0C1ASerbian (Cyrillic) - Serbia
sr-SP-Latn0x081ASerbian (Latin) - Serbia
sk0x001BSlovak
sk-SK0x041BSlovak - Slovakia
sl0x0024Slovenian
sl-SI0x0424Slovenian - Slovenia
es0x000ASpanish
es-AR0x2C0ASpanish - Argentina
es-BO0x400ASpanish - Bolivia
es-CL0x340ASpanish - Chile
es-CO0x240ASpanish - Colombia
es-CR0x140ASpanish - Costa Rica
es-DO0x1C0ASpanish - Dominican Republic
es-EC0x300ASpanish - Ecuador
es-SV0x440ASpanish - El Salvador
es-GT0x100ASpanish - Guatemala
es-HN0x480ASpanish - Honduras
es-MX0x080ASpanish - Mexico
es-NI0x4C0ASpanish - Nicaragua
es-PA0x180ASpanish - Panama
es-PY0x3C0ASpanish - Paraguay
es-PE0x280ASpanish - Peru
es-PR0x500ASpanish - Puerto Rico
es-ES0x0C0ASpanish - Spain
es-UY0x380ASpanish - Uruguay
es-VE0x200ASpanish - Venezuela
sw0x0041Swahili
sw-KE0x0441Swahili - Kenya
sv0x001DSwedish
sv-FI0x081DSwedish - Finland
sv-SE0x041DSwedish - Sweden
syr0x005ASyriac
syr-SY0x045ASyriac - Syria
ta0x0049Tamil
ta-IN0x0449Tamil - India
tt0x0044Tatar
tt-RU0x0444Tatar - Russia
te0x004ATelugu
te-IN0x044ATelugu - India
th0x001EThai
th-TH0x041EThai - Thailand
tr0x001FTurkish
tr-TR0x041FTurkish - Turkey
uk0x0022Ukrainian
uk-UA0x0422Ukrainian - Ukraine
ur0x0020Urdu
ur-PK0x0420Urdu - Pakistan
uz0x0043Uzbek
uz-UZ-Cyrl0x0843Uzbek (Cyrillic) - Uzbekistan
uz-UZ-Latn0x0443Uzbek (Latin) - Uzbekistan
vi0x002AVietnamese
vi-VN0x042AVietnamese - Vietnam
-
-
- - - Gets the default System.Globalization.Calendar instance as - specified by the default culture. - - - A calendar divides time into measures, such as weeks, months, and years. The - number, length, and start of the divisions vary in each calendar. - Any moment in time can be represented as a set of numeric values using a - particular calendar. For example, the last vernal equinox occurred at (0.0, 0, 46, - 8, 20, 3, 1999) in the Gregorian calendar. An implementation of Calendar can - map any DateTime value to a similar set of numeric values, and - DateTime can map such sets of numeric values to a textual representation - using information from Calendar and DateTimeFormatInfo. The - textual representation can be culture-sensitive (for example, "8:46 AM March 20th - 1999 AD" for the en-US culture) or culture-insensitive (for example, - "1999-03-20T08:46:00" in ISO 8601 format). - A Calendar implementation can define one or more eras. The - Calendar class identifies the eras as enumerated integers where the current - era (CurrentEra) has the value 0. - In order to make up for the difference between the calendar year and the - actual time that the earth rotates around the sun or the actual time that the moon - rotates around the earth, a leap year has a different number of days than a - standard calendar year. Each Calendar implementation defines leap years - differently. - For consistency, the first unit in each interval (for example, the first - month) is assigned the value 1. - The System.Globalization namespace includes the following - Calendar implementations: GregorianCalendar, - HebrewCalendar, HijriCalendar, - JapaneseCalendar, JulianCalendar, - KoreanCalendar, TaiwanCalendar, and - ThaiBuddhistCalendar. - - - - - Gets or sets the default type used by RadCalendar to handle its - layout, and how will react to user interaction. - - - - - Member - Description - - - Interactive - Interactive - user is allowed to select dates, navigate, - etc. - - - Preview - Preview - does not allow user interaction, for presentation - purposes only. - - - - - - - Gets or sets the orientation (rendering direction) of the calendar component. - Default value is RenderInRows. - - - - - Member - Description - - - RenderInRows - Renders the calendar data row after row. - - - RenderInColumns - RenderInColumns - Renders the calendar data column after - column. - - - None - Enforces fallback to the default Orientation for - Telerik RadCalendar. - - - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make Telerik RadCalendar postback to the server - on date selection or when navigating to a different month. - - - The default value is false. - - - - - Gets or sets a value indicating whether a tooltips for day cells should be rendered. - - - Setting this property to false will force Telerik RadCalendar to not render day cell tooltips - - - The default value is true. - - - - - Gets or sets a value for DaysView summary. - - - Setting this property to empty string will force Telerik RadCalendar to not render summary attribute for the DaysView. - - - The default value is "Table containing all dates for the currently selected month.". - - - - - Gets or sets a value for navigation controls summary. - - - Setting this property to empty string will force Telerik RadCalendar to not render summary attribute - - - The default value is "title and navigation". - - - - - Gets or sets a value for navigation controls caption. - - - Setting this property to empty string will force Telerik RadCalendar to not render caption tag - - - The default value is "Title and navigation". - - - - - Gets or sets a value for RadCalendar summary. - - - Setting this property to empty string will force Telerik RadCalendar to not render summary attribute - - - The default value is "Calendar control which enables the selection of dates.". - - - - - Gets or sets a value for RadCalendar caption. - - - Setting this property to empty string will force Telerik RadCalendar to not render caption tag - - - The default value is "Calendar". - - - - - Gets or sets the System.Web.UI.ITemplate that defines how the - header section of the RadCalendar control is displayed. - - - Header section of the RadCalendar control is displayed under - the title section and above the main calendar area (the section that displays the - dates information). - Use this property to create a template that controls how the header section - of a RadCalendar control is displayed. -
- CAUTION This control can be used to display user input, which - might include malicious client script. Check any information that is sent from - a client for executable script, SQL statements, or other code before displaying - it in your application. ASP.NET provides an input request validation feature to - block script and HTML in user input. Validation server controls are also - provided to assess user input. For more information, see Validation - Server Controls in MSDN. -
-
- The default value is a null reference (Nothing in Visual Basic). -
- - The default value is a null reference (Nothing in Visual Basic). - - Gets or sets the System.Web.UI.ITemplate that defines how the - footer section of the RadCalendar control is displayed. - - - Footer section of the RadCalendar control is displayed under - the main calendar area (the section that displays the dates information). - Use this property to create a template that controls how the footer section - of a RadCalendar control is displayed. -
- CAUTION This control can be used to display user input, which - might include malicious client script. Check any information that is sent from - a client for executable script, SQL statements, or other code before displaying - it in your application. ASP.NET provides an input request validation feature to - block script and HTML in user input. Validation server controls are also - provided to assess user input. For more information, see Validation - Server Controls in MSDN. -
-
-
- - - Gets or sets whether the navigation controls in the title section will be - displayed. - - - - - Gets or sets whether the navigation buttons in the title section will be - displayed. - - - - - Gets or sets whether the fast navigation buttons in the title section will be - displayed. - - - - - Gets or sets whether the month/year fast navigation controls in the title section will be - enabled. - - - - - Gets or sets the text displayed for the previous month navigation control. Will be - applied only if there is no image set (see - NavigationPrevImage). - - - Use the NavigationPrevText property to provide custom text for the - previous month navigation element in the title section of - RadCalendar. - Note that the NavigationPrevImage has priority and - its value should be set to an empty string in order to be applied the - NavigationPrevText value. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the NavigationPrevText property. For example, - if you want to display an image for the next month navigation control, you can set - this property to an expression that contains an <img> - element. However note that - NavigationPrevImage - property is available for this type of functionality. - This property applies only if the EnableNavigation property - is set to true. -
- - The text displayed for the CalendarView previous month - navigation cell. The default value is "&lt;". - -
- - - Gets or sets the text displayed for the next month navigation control. Will be - applied if there is no image set (see - NavigationNextImage). - - - The text displayed for the CalendarView next month navigation - cell. The default value is "&gt;". - - - Use the NavigationNextText property to provide custom text for the - next month navigation element in the title section of - RadCalendar. - Note that the NavigationNextImage has priority and - its value should be set to an empty string in order to be applied the - NavigationNextText value. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the NavigationNextText property. For example, - if you want to display an image for the next month navigation control, you can set - this property to an expression that contains an <img> - element. However note that - NavigationNextImage - property is available for this type of functionality. - This property applies only if the EnableNavigation property - is set to true. -
-
- - - Gets or sets the text displayed for the fast navigation previous month control. - Will be applied if there is no image set (see - FastNavigationPrevImage). - - - The text displayed for the CalendarView selection element in the - fast navigation previous month cell. The default value is - "&lt;&lt;". - - - Use the FastNavigationPrevText property to provide custom text for - the next month navigation element in the title section of - RadCalendar. - Note that the FastNavigationPrevImage has priority - and its value should be set to an empty string in order to be applied the - FastNavigationPrevText value. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the FastNavigationPrevText property. For - example, if you want to display an image for the next month navigation control, you - can set this property to an expression that contains an - <img> element. However note that - FastNavigationPrevImage - property is available for this type of functionality. - This property applies only if the EnableNavigation property - is set to true. -
-
- - - Gets or sets the text displayed for the fast navigation next month control. Will be - applied if there is no image set (see - FastNavigationNextImage). - - - The text displayed for the CalendarView selection element in the - fast navigation next month cell. The default value is "&gt;&gt;". - - - Use the FastNavigationNextText property to provide custom text for - the next month navigation element in the title section of - RadCalendar. - Note that the FastNavigationNextImage has priority - and its value should be set to an empty string in order to be applied the - FastNavigationNextText value. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the FastNavigationNextText property. For - example, if you want to display an image for the next month navigation control, you - can set this property to an expression that contains an - <img> element. However note that - FastNavigationNextImage - property is available for this type of functionality. - This property applies only if the EnableNavigation property - is set to true. -
-
- - - Gets or sets name of the image that is displayed for the previous month navigation control. - - - When using this property, the whole image URL is generated using also the - ImagesBaseDir - (if no skin is applied) or the - SkinPath - (if skin is applied) properties values. -
- Example when skin is NOT defined:
- ImagesBaseDir = "Img/"
- RowSelectorImage = "nav.gif"
- complete image URL : "Img/nav.gif"
- Example when skin is defined:
- SkinPath = "RadControls/Calendar/Skins/"
- RowSelectorImage = "nav.gif"
- complete image URL : "RadControls/Calendar/Skins/nav.gif"
-
-
- - - Gets or sets the name of the image that is displayed for the next month navigation control. - - - When using this property, the whole image URL is generated using also the - ImagesBaseDir - (if no skin is applied) or the - SkinPath - (if skin is applied) properties values. -
- Example when skin is NOT defined:
- ImagesBaseDir = "Img/"
- RowSelectorImage = "nav.gif"
- complete image URL : "Img/nav.gif"
- Example when skin is defined:
- SkinPath = "RadControls/Calendar/Skins/"
- RowSelectorImage = "nav.gif"
- complete image URL : "RadControls/Calendar/Skins/nav.gif"
-
-
- - - Gets or sets the name of the image that is displayed for the previous month fast - navigation control. - - - When using this property, the whole image URL is generated using also the - ImagesBaseDir - (if no skin is applied) or the - SkinPath - (if skin is applied) properties values. -
- Example when skin is NOT defined:
- ImagesBaseDir = "Img/"
- RowSelectorImage = "nav.gif"
- complete image URL : "Img/nav.gif"
- Example when skin is defined:
- SkinPath = "RadControls/Calendar/Skins/"
- RowSelectorImage = "nav.gif"
- complete image URL : "RadControls/Calendar/Skins/nav.gif"
-
-
- - - Gets or sets the name of the image that is displayed for the next month fast - navigation control. - - - When using this property, the whole image URL is generated using also the - ImagesBaseDir - (if no skin is applied) or the - SkinPath - (if skin is applied) properties values. -
- Example when skin is NOT defined:
- ImagesBaseDir = "Img/"
- RowSelectorImage = "nav.gif"
- complete image URL : "Img/nav.gif"
- Example when skin is defined:
- SkinPath = "RadControls/Calendar/Skins/"
- RowSelectorImage = "nav.gif"
- complete image URL : "RadControls/Calendar/Skins/nav.gif"
-
-
- - - Gets or sets the text displayed as a tooltip for the previous month navigation control. - - - Use the NavigationPrevToolTip property to provide custom text for the - tooltip of the previous month navigation element in the title section of - RadCalendar. - - - The tooltip text displayed for the CalendarView previous month - navigation cell. The default value is "&lt;". - - - - - Gets or sets the text displayed as a tooltip for the next month navigation control. - - - The tooltip text displayed for the CalendarView next month - navigation cell. The default value is "&gt;". - - - Use the NavigationNextToolTip property to provide custom text for the - tooltip of the next month navigation element in the title section of - RadCalendar. - - - - - Gets or sets the text displayed as a tooltip for the fast navigation previous - month control. - - - Use the FastNavigationPrevToolTip property to provide custom text for - the tooltip of the fast navigation previous month element in the title section of - RadCalendar. - - - The tooltip text displayed for the CalendarView fast navigation - previous month cell. The default value is "&lt;&lt;". - - - - - Gets or sets the text displayed as a tooltip for the fast navigation next month - control. - - - Use the FastNavigationNextToolTip property to provide custom text for - the tooltip of the fast navigation next month element in the title section of - RadCalendar. - - - The tooltip text displayed for the CalendarView fast navigation - next month cell. The default value is "&gt;&gt;". - - - - - - - - - Gets or sets the cell spacing that is applied to the title table. - - - - - Gets or sets the cell padding that is applied to the title table. - - - - - Gets or sets the horizontal alignment of the calendar title. - The HorizontalAlign enumeration is defined in - System.Web.UI.WebControls - - - - - - Member name - - - Description - - - - - Center - - The contents of a container are centered. - - - Justify - The contents of a container are uniformly spread out and - aligned with both the left and right margins. - - - Left - The contents of a container are left justified. - - - NotSet - The horizontal alignment is not set. - - - Right - The contents of a container are right justified. - - - - - - Gets or sets the format string that is applied to the calendar title. - - The property should contain either a format specifier character or a - custom format pattern. For more information, see the summary page for - System.Globalization.DateTimeFormatInfo. - By default this property uses formatting string of - 'MMMM yyyy'. Valid formats are all supported by the .NET - Framework. - Example: -
    -
  • "d" is the standard short date pattern.
  • -
  • "%d" returns the day of the month; "%d" is a custom pattern.
  • -
  • "d " returns the day of the month followed by a white-space character; "d " - is a custom pattern.
  • -
-
-
- - Gets or sets the format string that is applied to the days cells tooltip. - - The property should contain either a format specifier character or a - custom format pattern. For more information, see the summary page for - System.Globalization.DateTimeFormatInfo. - By default this property uses formatting string of - 'dddd, MMMM dd, yyyy'. Valid formats are all supported by the .NET - Framework. - Example: -
    -
  • "d" is the standard short date pattern.
  • -
  • "%d" returns the day of the month; "%d" is a custom pattern.
  • -
  • "d " returns the day of the month followed by a white-space character; "d " - is a custom pattern.
  • -
-
-
- - - Gets or sets the separator string that will be put between start and end months in a multi view title. - - - - - Gets or sets a value indicating whether the navigation control should be visible when disabled. - - - The default value is false. - - - Setting this property to true will hide the navigation controls when they are disabled - - - - - Gets or sets the name of the file containing the CSS definition used by RadCalendar. Use "~/" (tilde) as a substitution of the web-application root directory. - - - - - Gets or sets the cell padding of the table where are rendered the calendar days. - - - - - Gets or sets the cell spacing of the table where are rendered the calendar days. - - - - - A collection of special days in the calendar to which may be applied specific formatting. - - SpecialDays online example - - - - Gets the style properties for the days in the displayed month. - - - A TableItemStyle that contains the style properties for the days in the displayed month. - - - - - Gets the style properties for the weekend dates on the Calendar control. - - - A TableItemStyle that contains the style properties for the weekend dates on the Calendar. - - - - - Gets the style properties for the Calendar table container. - - - A TableItemStyle that contains the style properties for the Calendar table container. - - - - - Gets the style properties for the days on the Calendar control that are not in the displayed month. - - - A TableItemStyle that contains the style properties for the days on the Calendar control that are not in the displayed month. - - - - - Gets the style properties for the days on the Calendar control that are out of the valid range for selection. - - - A TableItemStyle that contains the style properties for the days on the Calendar control that are out of the valid range for selection. - - - - - Gets the style properties for the disabled dates. - - - A TableItemStyle that contains the style properties for the disabled dates. - - - - - Gets the style properties for the selected dates. - - - A TableItemStyle that contains the style properties for the selected dates. - - - - - Gets the style properties applied when hovering over the Calendar days. - - - A TableItemStyle that contains the style properties applied when hovering over the Calendar days. - - - - - Gets the style properties of the title heading for the Calendar control. - - - A TableItemStyle that contains the style properties of the title heading for the Calendar. - - - - - Gets the style properties for the row and column headers. - - - A TableItemStyle that contains the style properties for the row and column headers. - - - - Gets the style properties for the Month/Year fast navigation. - - A TableItemStyle that contains the style properties for the the Month/Year fast - navigation. - - - - - Gets the style properties for the view selector cell. - - - A TableItemStyle that contains the style properties for the view selector cell. - - - - - Exposes the top instance of CalendarView or its derived - types. - Every CalendarView class handles the real calculation and - rendering of RadCalendar's calendric information. The - CalendarView has the - - ChildViews collection which contains all the sub views in case of multi view - setup. - - - - Gets or sets whether the column headers will appear on the calendar. - - - Gets or sets whether the row headers will appear on the calendar. - - - - Gets or sets whether a selector for the entire CalendarView ( - MonthView ) will appear on the calendar. - - - - - Gets or sets whether the month matrix, when rendered will show days from other (previous or next) - months or will render only blank cells. - - - - - When the - ShowColumnHeaders - and/or - ShowRowHeaders - properties are set to true, the UseColumnHeadersAsSelectors property specifies - whether to use the days of the week, which overrides the used text/image header if - any. - - - - - When the - ShowColumnHeaders - and/or - ShowRowHeaders - properties are set to true, the UseRowHeadersAsSelectors property - specifies whether to use the number of the week, which overrides the used text/image - selector if any. - - - - - Use the RowHeaderText property to provide custom text for - the CalendarView complete row header element. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the RowHeaderText property. For - example, if you want to display an image for the next month navigation control, you - can set this property to an expression that contains an - <img> element. - This property applies only if the ShowRowsHeaders - property is set to true. -
- - The text displayed for the CalendarView header element. The default value is "". - - - Gets or sets the text displayed for the row header element. - -
- - - The image displayed for the CalendarView row header element. The default value is "". - - - Gets or sets the image displayed for the row header element. - - - This property applies only if the ShowRowHeaders property is - set to true. If RowHeaderText is set too, its - value is set as an alternative text to the image of the row header. - When using this property, the whole image URL is generated using also the - ImagesBaseDir - value. - Example:
- ShowRowHeaders = "true"
- ImagesBaseDir = "Img/"
- RowHeaderImage = "selector.gif"
- complete image URL : "Img/selector.gif"
-
-
- - - Use the ColumnHeaderText property to provide custom text - for the CalendarView complete column header element. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the ColumnHeaderText property. For - example, if you want to display an image for the next month navigation control, you - can set this property to an expression that contains an - <img> element. - This property applies only if the ShowColumnHeaders - property is set to true. -
- - The text displayed for the CalendarView column header element. The default value is "". - - - Gets or sets the text displayed for the column header element. - -
- - - The image displayed for the CalendarView column header element in the - header cells. The default value is "". - - - Gets or sets the image displayed for the column header element. - - - This property applies only if the ShowColumnHeaders property - is set to true. If ColumnHeaderText is set too, - its value is set as an alternative text to the image of the column header. - When using this property, the whole image URL is generated using also the - ImagesBaseDir - value. - Example: - ShowColumnHeaders="true"
- ImagesBaseDir = "Img/"
- ColumnHeaderImage = "selector.gif"
- complete image URL : "Img/selector.gif"
-
-
- - - Gets or sets the text displayed for the complete - CalendarView - selection element in the view selector cell. - - - The text displayed for the CalendarView selection element in the - selector cell. The default value is "". - - - Use the ViewSelectorText property to provide custom text for - the CalendarView complete selection element in the selector - cell. -
- - - - - This property does not automatically encode to HTML. You need - to convert special characters to the appropriate HTML value, unless - you want the characters to be treated as HTML. For example, to - explicitly display the greater than symbol (>), you must use the - value &gt;. - - - -
- Because this property does not automatically encode to HTML, it is possible - to specify an HTML tag for the ViewSelectorText property. For - example, if you want to display an image for the next month navigation control, you - can set this property to an expression that contains an - <img> element. - This property applies only if the EnableViewSelector - property is set to true. -
-
- - - Gets or sets the image displayed for the complete - CalendarView - selection element in the view selector cell. - - - The image displayed for the CalendarView selection element in - the selector cell. The default value is "". - - - When using this property, the whole image URL is generated using also the - ImagesBaseDir - value. - Example:
- ImagesBaseDir = "Img/"
- ViewSelectorImage = "selector.gif"
- complete image URL : "Img/selector.gif"
-
-
- - - Allows the selection of multiple dates. If not set, only a single date is selected, and if any dates - are all ready selected, they are cleared. - - - - - Enables the animation shown when the calendar navigates to a different view. - - - - - Gets or sets the name of the skin used. All skins reside in the location set by - the SkinsPath - Property. - - - For additional information please refer to the - Visual Settings topic in this manual. - - - - - The ChildViewRender event is fired before the matrix for a child calendar view has been rendered/created. - - - - - DayRender event is fired after the generation of every calendar cell - object and just before it gets rendered to the client. It is the last place where - changes to the already constructed calendar cells can be made. - - - - - HeadeCellRender event is fired after the generation of every calendar header cell - object and just before it gets rendered to the client. It is the preferred place where - changes to the constructed calendar header cells can be made. - - - - - SelectionChanged event is fired when a new date is added or removed from - the - SelectedDates - collection. - - - - - DefaultViewChanged event is fired a a navigation to a different date - range occurred. Generally this is done by using the normal navigation buttons or the - fast date navigation popup that allows "jumping" to a specified date. - - - - - Interface defining caching provider that will be used in RadCaptcha. The caching provider will take care of storing the captcha's CachedImage - - - - - Saves the CachedImage into the storage. - - The identifier under which the image will be stored. - isntance that will be stored. - - - - Retrieves the cached image from the storage - - The identifier under which the image has been stored. - Previously stored object. - - - - Removes the cached image from the storage. - - The identifier under which the image has been stored. - - - - Callback method that will be assigned to the Cache dependency - - - - - - - - Defines if a cache dependecy should be applied to the cached object. - - - - - Instantiates a Caching provider object. - - Current HttpContext to be used for the Cache dependency - - - - Instantiates a Caching provider object with defined specific dependency key. - - Current HttpContext to be used for the Cache dependency - The key under which the dependecy will be stored in the Cache - - - - Saves the CachedImage into the storage. - - The identifier under which the image will be stored. - isntance that will be stored. - - - - Retrieves the cached image from the storage - - The identifier under which the image has been stored. - Previously stored object. - - - - Removes the cached image from the storage. - - The identifier under which the image has been stored. - - - - Callback method that will be assigned to the Cache dependency - - - - - - - - Defines if a cache dependecy should be applied to the cached object. - - - - - utilizes as a storage. - - - - - Instance of a that utilizes as a storage. - - - - - This class represents a generic state menaged collection of web controls. - - - - - Gets the index of a CollectionItem. - - - - - Inserts a CollectionItem. - - - - - Removes a CollectionItem by index. - - - - - Adds a CollectionItem to the collection. - - - - - Copies the items of ICollection to Array. - - The array. - Index of the array. - - - - Removes the specified item. - - The CollectionItem item. - - - - - Gets the CollectionItem at the specified index in - the current collection. - - - - - Gets the IsReadOnly. - - The IsReadOnly. - - - - Clientside implementation of visual element resize functionality - - - - - Clientside implementation of visual element resize functionality - - - - - RadDockZone is a control which represents a virtual placeholder, where - RadDock controls could be docked. - - - - - Returns the unique name for the dock, based on the UniqueName and - the ID properties. - - - A string, containing the UniqueName property of the dock, or its - ID, if the UniqueName property is not set. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets a collection of the RadDock objects inside the RadDockZone. - It will return an empty collection if there are no RadDocks in the zone. - - - - - - - - - - - - - - - - - - - - - Gets or sets a value, indicating whether the RadDockZone will set the size - of the docked RadDock controls to 100% depending on its Orientation. - - - When Orientation is Horizontal, the Height of the docked RadDock controls - will become 100%, otherwise the Width will become 100%. - - - - - Gets or sets a CSS class name, which will be applied when the RadDockZone is highlighted. - If this property is not set, the control will not have a highlighted style. - - - - - Gets or sets the unique name of the control. If this property is not set, the control ID will be - used instead. RadDockLayout will throw an exception if it finds two RadDockZone controls with - the same UniqueName. - - - - - Gets or sets a value that specifies the dimension in which docked RadDock controls are arranged. - If this property is not set the orientation will be vertical. - - - - - Gets or sets the minimum width of the RadDockZone control. The default value is "10px". - - - - - Gets or sets the minimum height of the RadDockZone control. The default value is "10px". - - - - - - - - - Specifies the UniqueNames of the RadDock controls, that will be allowed to dock in the zone. - - - - - The Telerik.Web.UI.DropDownListExpandDirection enumeration supports two values - Up and Down. - - - - - This Class gets or sets the log entries in the ClientState and enables or disables it. - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the enabled. - - The enabled. - - - - Gets or Sets the ExapndMode of a particular level of the embedded tree hierarchy. - - - - - Gets or Sets the nodes level for which the ExpandMode will be applied. - - - - - Data class used for transferring tree nodes from and to web services. - - - - - - - - - - Text for the item to pass to the client. - - - - - Value for the item to pass to the client. - - - - - Expand mode of the node - - - - - Custom attributes for the item to pass to the client. - - - - - The Telerik.Web.UI.RadDropDownTreeFilter enumeration supports two values - StartsWith and Contains. - - - - - The Telerik.Web.UI.RadDropDownTreeFilter enumeration supports two values - StartsWith and Contains. - - - - - The Telerik.Web.UI.DropDownTreeFilterTemplateAgainst enumeration supports two values - Text and Content . - - - - - RadDropDownTree Checkboxes mode - - - - - The Telerik.Web.UI.RadDropDownTreeAutoWidth enumeration supports two values - Enabled and Disabled. - - - - - This enumeration controls the expand behaviour of the nodes. - - - - - The default behaviour - all nodes are loaded in the intial request and expand is performed on the client, without server interaction - - - - - The child nodes are loaded from the web service. - - - - - This Class defined the DropDownTreeEntry event argument. - - - - - Gets or sets the entry. - - The entry. - - - - This class gets and sets the localization properties in the buttons that are part RadListBox. - - - - - Gets or sets the Clear string. - - The Clear string. - - - - Gets or sets the CheckAll string. - - The CheckAll string. - - - - - - - - Represent the filter setting of the RadDropDownTree control - - - - - - - - - Gets or sets a value indicating whether to highlight the matches. - - - - - Gets or sets a value indicating the empty message of the filter. - - - - - Gets or sets a value indicating the filter criteria. - - - - - Gets or sets a value indicating the filter criteria when template is applied. - - - - - Defines the minimum number of characters that must be typed before a filtering is made. - - The minimum number of characters that must be typed before a filtering is made. - - - - Represents an editor for populating predefined items to be filtered using a drop down control. - - - - - Represents the base class for all field editors in . - - - - - Initializes the control rendered by the field editor. - - The container Control where the editor control will be added. - - - - Extracts an ArrayList with the values from the editor. - - An ArrayList holding the editor values. - - - - Populates the field editor using the first values from the passed ArrayList. - - An ArrayList holding a boolean value. - - - - Gets or sets FieldName for the editor. - - - - - Gets or sets DisplayName for the editor. - - - - - Gets or sets the ToolTip property of the editor control. - - The ToolTip property of the editor control.. - - - - Gets or sets PreviewDataFormat for the editor. This property will be used - to format the value per editor when ExpressionPreviewPosition is different than RadFilterExpressionPreviewPosition.None - - - - - - Gets or sets (see the Remarks) the type of the data from the Field. - - - The DataType property supports the following base .NET Framework data - types: - - Boolean - Byte - Char - DateTime - Decimal - Double - Int16 - Int32 - Int64 - SByte - Single - String - TimeSpan - UInt16 - UInt32 - UInt64 - - - - - - Gets or sets the default filter function that will be set to the editor item - when it is first created. - - - - - Keeps reference to the owner RadFilter control. - - - - - Gets or sets the type of drop down control which will be created. - The default value is RadDropDownList. - - - - - Gets or sets the DataTextField property value of the drop down control created by the editor. - - - - - Gets or sets the DataValueField property value of the drop down control created by the editor. - - - - - Gets or sets the DataTextField property value of the drop down control created by the editor. - - - - - Represents an editor for filtering values using a control. - - - - - Gets or sets the Mask property of the control. - - The Mask property of the control. - - - - Gets or sets the DisplayMask property of the control. - - The DisplayMask property of the control. - - - - Gets or sets the PromptChar property of the control. - - The PromptChar property of the control. - - - - Gets or sets the DisplayPromptChar property of the control. - - The DisplayPromptChar property of the control. - - - - Represent the button setting of the RadDropDownTree control - - - - - Gets or sets a value indicating whether to display the "Clear" button. - - true if the "Clear" button should be displayed; otherwise, false. - - - - Gets or sets a value indicating whether to display the "CheckAll" button. - - true if the "CheckAll" button should be displayed; otherwise, false. - - - - The event arguments passed when creates a new . - - - - - The which have been created. - - - - - The type of the current RadStatePersisterManager setting - - - - - Persistence state serializer type. Default type is Xml. - - - - - Persistence storage provider type. - - - - - RadStatePersisterManager setting object - - - - - RadStatePersisterManager setting type - - - - - Use this setting to persist a given type of controls - - - - - ID of the persisted control - - - - - This setting is used to persist the control by its instance - - - - - Collection of RadStatePersisterManager settings - - - - - PersistenceSettingsCollection default constructor - - - - - Adds a PersistenceSetting to the end of the PersistenceSettingsCollection - - PersistenceSetting object - PersistenceSetting index at which the PersistenceSetting has been added - - - - Removes the first occurrence of a specific PersistenceSetting from the PersistenceSettingsCollection - - PersistenceSetting object - - - - Determines whether the PersistenceSettingsCollection contains a specific PersistenceSetting - - PersistenceSetting object - Returns true if the PersistenceSettingsCollection contains the specified PersistenceSetting; otherwise, false - - - - Searches for the specified PersistenceSetting and returns the zero-based index of the first occurrence within the entire PersistenceSettingsCollection - - PersistenceSetting object - The zero-based index of the first occurrence of PersistenceSetting within the entire PersistenceSettingsCollection, if found; otherwise, -1 - - - - Inserts a PersistenceSetting into the PersistenceSettingsCollection at the specified index - - The zero-based index at which the PersistenceSetting should be inserted - PersistenceSetting object - - - - Adds a PersistenceSetting to the end of the PersistenceSettingsCollection - - Type of the control to persist - - - - Adds a PersistenceSetting to the end of the PersistenceSettingsCollection - - The ID of the control to persist - - - - Adds a PersistenceSetting to the end of the PersistenceSettingsCollection - - Type of the controls to persist - - - - PersistenceSetting indexer - - Index of the PersistenceSetting in the collection - - - - - RadPersistenceManager control - - - - - RadPersistenceManager default constructor - - - - - Raises the LoadCustomSettings event - - PesistenceManagerLoadStateEventArgs object - - - - Raises the SaveCustomSettings event - - PesistenceManagerSaveStateEventArgs object - - - - Instructs the RadPersistenceManager to begin saving the state - - - - - Instructs the RadPersistenceManager to begin loading the state - - - - - Returns the current instance of the RadPersistenceManager - - Page object - - - - - Unique key used by the Storage Provider to identify the persisted state - - - - - Gets/set the serialization provider used for data serialization. Default value is XmlStateSerializer. - - - - - Gets/set the storage provider used for data storage. Default value is AppDataStorageProvider. - - - - - Collection of settings for RadPersistenceManager - - - - - This property toggles the RadPersistenceManager functionality - - - - - Raised when the RadPersistenceManager loads the state - - - - - Raised when the RadPersistenceManager saves the state - - - - - RadPersistenceManagerProxy control - - - - - RadPersistenceManagerProxy default constructor - - - - - Collection of settings for RadPersistenceManagerProxy - - - - - StateSerializer interface that should be implemented by different serializers used by the StatePersisters - - - - - Serialize the provided control's state to require format. - - Control's state object. - Serialized state as a string - - - - Serialize the provided control's state to require format. - - Collection of controls' state object. - Serialized state as a string - - - - Deserialize formated string back to RadControlState object - - Serialized state string - RadControlState object ready to be applied to the control by the StatePersister - - - - Deserialize formated string back to RadControlState collection of objects - - Serialized state string - RadControlState objects ready to be applied to the control by the StatePersister - - - - Adds a to the serializer - - The to be added - - - - Converts the specified JSON string to an object of type T - - The type of the resulting object. - Serialized state string - The deserialized object - - - - Gets the collection of s used by the serializer. - - - - - The class passed when the GridTableView.EditMode="Batch" and - Update, Insert or Delete ItemCommand event is fired. - - - - - Gets a with the old values. - - - - - Gets a with the new values which - represents a merge between the and - the newly entered data. - - - - - Gets the object from which the command have been executed. - - - - - A class holding data and functions associated with a batch editing command. - - - - - Executes the command and depending on the - and properties it performs different operations. - - - - - Set to true to cancel the default command execution. - - - - - Gets the owner . - - The owner . - - - - Gets the object which the command - will operate on. Note that the value could be null if the - Type equals GridBatchEditingCommandType.Insert. - - - - - Gets a with the old values. - - - - - Gets a with the new values which - represents a merge between the and - the newly entered data. - - - - - Gets the type of the command determining if the current operation - is Insert, Update or Delete operation. - - - - - The type of command which will be executed. - - - - - The delegate which is used in the event. - - - - - The event arguments passed when the event is fired. - - - - - Interface that provides the basic functionality needed for a class to be used to - send information to Command event handler. - - - - Override to fire the corresponding command. - - - Gets or sets a value, defining whether the command should be canceled. - - - - Fires the default command execution. The execution could be canceled by canceling it in the - event. - - The source control which triggers the event. - - - - Set to true to cancel the default command execution. - - - - - The which initialized the event. - - - - - The collection of commands which will be executed. - - - - - Enumeration determining whether the editing will be made cell by cell - or the the entire row will be opened for edit. - - - - - Gets or sets a value determining whether the editing will be made cell by cell - or the the entire row will be opened for edit. - - - - - Gers or sets a string value determining the event which will cause the cell\row will be opened for edit. - The default value is Click. - - - - - The editor for the column. - - - - - The base class for all column editors. - - - - - Interface that describes the baseic column editor functionality, needed for a - class that should be responsible for editing of a content of a cell in a - - - - Implement column editor to provide extended editing functionality in RadGrid. The column-editor inheritors should provide the methods for - creating the column editor control inside the container (generally a grid TableCell). For example the default column editor for GridBoundColumn - creates a TextBox control and adds it to the corresponding GridTableCell when the InstantiateInControl method is called. - To inherit the base implementation of a column editor control in RadGrid you may consider deriving from instead implementing the IColumnEditor interface. - - - - - Implement this member to add control in the given container. - After the call to this method the ContainerControl property should return the instance of containerControl parameter passed to this function. - - - - - - The editor should recreate its state and input controls from the Container. - - control (generally a TableCell) that contains the input controls, previously instantiated within the InitializeInControl method call - - - - Gets the instance of the Container control (generally a TableCell), after the last call of InstantiateInControl method - - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - Get a value indicating whether the current row/column editor is in edit mode. - - - - - - - - - - - - - - - - - Copy setting from given column editor - - - - - - Create the input/edit controls belonging to the editor and prepare for AddControlsToContainer call. - - - - - Implement this member to create the edit controls in the grid cell. - This method is called from each column's InitializeCell method, when a initializes its cells. - - - - - This method should recrteate the state of the column editor (edit controls, etc) from the container. - This method is called when method is called, or when - GridEditableItem.EditManager.GetColumnEditor is called. - - - This method is should prepare the column editor to extract values from the edit controls residign in a TableCell of the grid. - - - - - Gets the instance of the Container control (generally a TableCell), after the last call of InstantiateInControl method - - - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - Get a value indicating whether the current row/column editor is in edit mode. - - - - - - - - - - - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - - Gets or sets the text of the AutoCompleteBox control. - - The text of the AutoCompleteBox control. - - - - Gets or sets the DataSource property of the AutoCompleteBox control. - - The DataSource property of the AutoCompleteBox list control. - - - - Gets the instance for the current column editor. - - The the instance for the current column editor.. - - - - Gets or sets a value indicating how the RadAutoCompleteBox items should be displayed - as tokens or as text. - - - - - Gets or sets a value indicating whether the RadAutoCompleteBox should apply ?Contains? or ?StartsWith? filter logic. - - - - - Gets or sets a value indicating whether the user will be able to add a custom text not present - within the raw data in order to create a custom entry. - - - - - Gets a value indicating whether the user can select multiple entries. - - - - - Gets a value indicating whether the text of the RadAutoComplete Tokens can be edited when user double clicks on it. - - - - - Gets or sets a value indicating what delimiter should be used when the control displays the selected items as text (InputType = Text) - - - - - Gets or sets the DataTextField. - - The DataTextField. - - - - Gets or sets the DataValueField. - - The DataValueField. - - - - When in browser mode, RadAutoCompleteColumn looks like GridBoundColumn, rendering the text directly to the cell. - When in edit mode, it displays a RadAutoCompleteBox control. It shows list of suggested values, - that to appears when the user starts to type inside it. You can bind list using the DataSourceID or DataSource. - In Edit mode the initial Text of the AutoCompleteBox will be populated based on DataSource of the GridTableView and the - DataField set for the column. - - - - - All columns in RadGrid that have editing capabilities derive from GridEditableColumn. - This class implements the base functionality for editing, using column editors etc. - - - Provides IGridEditableColumn interface, which RadGrid uses to operate with the - state of all the editable columns. - - - - - A Column is the main logic unit that relates the content of the grid to - properties of the objects in the DataSource. - The GridColumn defines the properties and methods that are common to all - column types in RadGrid. As it is an abstract class (MustInherit in VB.NET) - GridColumn class can not be created directly. You should inherit it and use its - children. - - - GridColumn is the base abstract class that implements the - functionality of a grid column. All inherited classes modify the base behavior - corresponding to the specific data that should be displayed/edited in RadGrid. The - columns that have editing capabilities derrive from - class. Other instances display data, buttons, and - so on in the cells of the grid regarding the type of the Item/row in which the cell - resides. In you code you can create only instances of the derrived classes. In order to - display a column in the grid you should add it in the corresponding - collection. Since the column collection is - fully persisted in the ViewSteate you should follow the rules that apply to creating - asp.net server controls dynamically, when adding columns to grid tables - programmatically. - - - - - Using the FooterStyle property lets you enhance the appearance - of the footer section of the column. You can set forecolor, backcolor, font and content - alignment. - - - - - Using the HeaderStyle property lets you enhance the appearance - of the header section of the column. You can set forecolor, backcolor, font and content - alignment. - - - - - Use this property to enhance the appearance of the item cells of the column. You - can provide a custom style for Common style attributes that can be adjusted such as: - forecolor, backcolor, font, and content alignment within the cell. - - - - Creates and initializes a new column with its base properties. - - - - - - - - The Initialize method is inherited by a derived - GridColumn class. Is is used to reset a column of the derived - type. - - - This method is mainly used to reset properties common for all column types - derived from GridColumn class. - The Initialize method is usually called during data-binding, prior to the - first row being bound. - - - - - After a call to this method the column should add the corresponding controls - (text, labels, input controls) into the cell given, regarding the inItem type and - column index. - Note: This method is called within RadGrid and is not intended - to be used directly from your code. - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - Modifies the CurrentFilterFunction and - CurrentFilterValue properties according to the function given and the - corresponding filter text-box control in the filtering item. - - - - - Modifies the CurrentFilterValue property according to the - corresponding selected item in the filter text-box control in the filtering - item. - - - - - Sets the value of the property CurrentFilterValue as a text on the TextBox control found in the cell - - - - - - Gets the value of the Text property of a textbox control found in the cell, used to set the value of the CurrentFilterValue property. - - - - - - - Gets a string representing a filter expression, based on the settings of all - columns that support filtering, with a syntax ready to be used by a - DataView object - - - - - Evaluates the column filter expression based on the , , - , propeties. It could be used to handle custom - filtering and is internally used for determining FilterExpression value. - - - - - - Instantiates the filter controls (text-box, image.) in the cell given - - - - - - Gets a list of filter functions based on the settings of the property. - - - - - - - - Prepares the cell of the item given, when grid is rendered. - - - - - - - - - - - Resets the values of the and - properties to their defaults. - - - - - Resets the values of the , - , and - properties to their defaults. - - - - - By default returns the SortExpression of the column. If the SortExpression is not set explicitly, it would be calculated, based on the - DataField of the column. - - - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - Creates a copy of the current column. - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - - - Gets or sets the header tooltip of the column. - - The header tooltip. - - - - Gets or sets the column cell 'abbr' attribute. - - The column cell 'abbr' attribute. - - - - Gets or sets the column cell 'axis' attribute. - - The column cell 'axis' attribute. - - - - Gets or sets the color of a cell which is sorted. - - The color of a cell which is sorted. - - - Gets or sets a value of the currently applied filter. - - This property returns a string, representing the - current value, for which the columns is filtered (the value, which the user has entered - in the filtering text box). - - - - Gets or sets a value of the currently applied second filter condition value. - - This property returns a string, representing the current second filter condition - value, for which the column is filtered (the value, which the user has entered - in the second filtering text box of the filter header context menu). - - - - Indicates whether all column cells have been selected - - This property returns a bool, indicating - if all column cells have been selected. - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Should override if sorting will be disabled - - - - Gets or sets the current function used for filtering. - - This property returns a value of type - Telerik.Web.UI.GridKnownFunction. The possible - values are: - GridKnownFunction.Between
- GridKnownFunction.Contains
- GridKnownFunction.Custom
- GridKnownFunction.DoesNotContain
- GridKnownFunction.EndsWith
- GridKnownFunction.EqualTo
- GridKnownFunction.GreaterThan
- GridKnownFunction.GridKnownFunction
- GridKnownFunction.GreaterThanOrEqualTo
- GridKnownFunction.IsEmpty
- GridKnownFunction.IsNull
- GridKnownFunction.LessThan
- GridKnownFunction.LessThanOrEqualTo
- GridKnownFunction.NoFilter
- GridKnownFunction.NotBetween
- GridKnownFunction.NotEqualTo
- GridKnownFunction.NotIsEmpty
- GridKnownFunction.NotIsNull
- GridKnownFunction.StartsWith
-
-
- - Gets or sets the current second filter condition function. - - This property returns a value of type - Telerik.Web.UI.GridKnownFunction. The possible - values are: - GridKnownFunction.Contains
- GridKnownFunction.Custom
- GridKnownFunction.DoesNotContain
- GridKnownFunction.EndsWith
- GridKnownFunction.EqualTo
- GridKnownFunction.GreaterThan
- GridKnownFunction.GridKnownFunction
- GridKnownFunction.GreaterThanOrEqualTo
- GridKnownFunction.IsEmpty
- GridKnownFunction.IsNull
- GridKnownFunction.LessThan
- GridKnownFunction.LessThanOrEqualTo
- GridKnownFunction.NoFilter
- GridKnownFunction.NotEqualTo
- GridKnownFunction.NotIsEmpty
- GridKnownFunction.NotIsNull
- GridKnownFunction.StartsWith
-
-
- - - Gets or sets the filter delay which determines after how many milliseconds a - filtering will occur after a filter value have changed. - - The filter delay. - - - - Determines whether the given column will be shown in the exported file - - - - - Gets or sets if the filter icon in the will be visible. - - - - - Gets or sets the value indincating which of the filter functions should be - available for that column. For more information see - enumaration. - - - This property returns a value of type - Telerik.Web.UI.GridFilterListOptions. The possible - values are: - - Telerik.Web.UI.GridFilterListOptions.AllowAllFilters
- Telerik.Web.UI.GridFilterListOptions.VaryByDataType
- Telerik.Web.UI.GridFilterListOptions.VaryByDataTypeAllowCustom
-
-
- - - Gets or sets a value indicating whether the grid should automatically postback, - when the value in the filter text-box changes, and the the focus moves to another - element. - - - This property returns a Boolean value, indicating - whether the grid will postback, once the focus moves to another element, and the text - of the filtering textbox has changed. - - - - - Gets or sets the filter image tool tip. - - The filter image tool tip. - - - - Gets or sets the filter control ToolTip property value. - - The filter control ToolTip property value. - - - - Gets or sets a string representing the URL to the image used in the filtering - box. - - - A string, representing the URL to the image used in the - filtering box. - - - - - Gets or sets a string representing the URL to the image used for sorting in - ascending mode. - - - A string, representing the URL to the image used for - sorting in ascending mode - - - - - Gets or sets a string representing the URL to the image used for sorting in - descending mode. - - - A string, representing the URL to the image used for - sorting in descending mode - - - - - Gets the string representation of the DataType property of the - column, needed for the client-side grid instance. - - - - - Gets or sets the template, which will be rendered in the filter item cell of the column. - - A value of type ITemplate. - - - - For internal use. Gets or sets the row span of the grid column. - - The row span. - - - - Style of the cell in the footer item of the grid, corresponding to the column. - - - - - Use the FooterText property to specify your own or determine the current - text for the footer section of the column. - - - - - Gets or sets the URL of an image in the cell in the header item of the grid - current column. You can use a relative or an absolute URL. - - - - - Style of the cell in the header item of the grid, corresponding to the column. - - - - - Use the HeaderText property to specify your own or determine the current - text for the header section of the column. - - - - - Style of the cells, corresponding to the column. - - - - - Gets the instance of the GridTableVeiw wich owns this column instance. - - - - - The string representing a filed-name from the DataSource that should be used when grid sorts by this column. For example: - 'EmployeeName' - - - - - The group-expression that should be used when grid is grouping-by this column. If - not set explicitly, RadGrid will generate a group expression based on the DataField of - the column (if available), using the - method. - The grouping can be turned on/off for columns like GridBoundColumn using - property. - For more information about the Group-By expressions and their syntax, see - class. - - - - - Get or Sets a value indicating whether a sort icon should appear next to the - header button, when a column is sorted. - - - This property returns a Boolean value, indicating - whether a sort icon should appear next to the header button, when a column is - sorted. - - - - - Gets or sets a value indicating if the column and all corresponding cells would be rendered. - - - This property returns a Boolean value, indicating - whether the cells corresponding to the column, would be visible on the client, and - whether they would be rendered on the client. - - - - - Gets or sets a value indicating whether the cells corresponding to a column would be rendered with a 'display:none' style attribute (end-user-not-visible). - To completely prevent cells from rendering, set the property to false, instead of the Display property. - - - This property returns a Boolean value, indicating - whether the cells corresponding to the column would be rendered with a 'display:none' - style attribute (end-user-not-visible). - - - - - Gets the value of the ClientID property of the GridTableView that owns this column. This property value is used by grid's client object - - - The return value of this property is a string, - representing the clientID of the GridTableView, which contains the column. This is the - ClientID of the grid instance, followed by "_" and another string, representing the - place of the container in the control hierarchy. For the MasterTableView, the default - OwnerID for a column will look like: "RadGrid1_ctl01". - - - - - Gets the value of the ClientID property of the RadGrid instance that owns this column. This property value is used by grid's client object - - - This property returns a string, which represents a the - ClientID for the control. - - - - - Gets or sets a value indicating whether the column can be resized client-side. - You can use this property, by setting it to false, to disable resizing for a particular - column, while preserving this functionality for all the other columns. - - - The property returns a boolean value, indicating - whether the column can be resized on the client. - - - - - Gets or sets a value indicating whether the column can be reordered client-side. - - - This property returns a boolean value, indicating whether the column is - reorderable. The default value is true, meaning that the column can be reordered, using - the SwapColumns client side method. - - - - - Gets or sets a value indicating whether you will be able to group - Telerik RadGrid by that column. By default this property is - true. - - - A boolean value of either true, when you are able to group by - that column, or false. - - - See Telerik RadGrid manual for details about using grouping. If - Groupable is false the column header cannot be dragged to the - GroupPanel. - - - - Using this property, you can easily turn off grouping for one or more - columns, while still allowing this functionality for all other columns in the - control. This is demonstrated in the code sample below: -
-            <radG:GridBoundColumn
DataField="ContactName"
HeaderText="ContactName"
SortExpression="ContactName"
UniqueName="ContactName"
Groupable="false">
</radG:GridBoundColumn> -
-
-
- - - Gets the string representation of the type-name of this instance. The value is - used by RadGrid to determine the type of the columns persisted into the ViewState, when - recreating the grid after postback. The value is also used by the grid client-side - object. This property is read only. - - - - - Gets or sets the button type of the button rendered in the header item, used - for sorting. The possible values that this property accepts are: - Telerik.Web.UI.GridHeaderButtonType.LinkButton
- Telerik.Web.UI.GridHeaderButtonType.PushButton
- Telerik.Web.UI.GridHeaderButtonType.TextButton
-
- - The return value for this property is of type - Telerik.Web.UI.GridHeaderButtonType - -
- - - Gets or sets the order index of column in the collection of - . Use - method for reordering the columns. - - - - We recommend using this property only for getting the order index for a - specific column instead of setting it. Use - method for reordering columns. - - Note that changing the column order index will change the order of the cells - in the grid items, after the grid is rebound. - - The value of the property would not affect the order of the column in the - collection. - - - - integer representing the current column index. You should have - in mind that GridExpandColumn and RowIndicatorColumn - are always in front of data columns so that's why you columns will start from index - 2. - - - - protected void RadGrid1_PreRender(object sender, EventArgs e) - { - foreach (GridBoundColumn column in RadGrid1.MasterTableView.Columns) - { - Response.Write(column.UniqueName + column.OrderIndex + "<br>"); - } - - RadGrid1.MasterTableView.SwapColumns(2, 4); - - foreach (GridBoundColumn column in RadGrid1.MasterTableView.Columns) - { - Response.Write(column.UniqueName + column.OrderIndex + "<br>"); - } - } - - - Protected Sub RadGrid1_PreRender(sender As Object, e As EventArgs) - Dim column As GridBoundColumn - For Each column In RadGrid1.MasterTableView.Columns - Response.Write((column.UniqueName + column.OrderIndex + "<br>")) - Next column - - RadGrid1.MasterTableView.SwapColumns(2, 4) - - Dim column As GridBoundColumn - For Each column In RadGrid1.MasterTableView.Columns - Response.Write((column.UniqueName + column.OrderIndex + "<br>")) - Next column - End Sub 'RadGrid1_PreRender - - - - - - This property is supposed for developers of new grid columns. It gets whether - a column is currently ReadOnly. The ReadOnly property determines whether a column - will be editable in edit mode. A column for which the ReadOnly property is true - will not be present in the automatically generated edit form. - - A boolean value, indicating whether a specific column is editable. - - - - Specifies the vertical collumn number where this column will appear when - using EditForms editing mode and the form is autogenerated. See the remarks for - details. - - - A practicle example of using this property is to deterimine the number of - columns rendered in the edit form. If there will be only one column in the rendered - edit form, when we retrieve the value of this property for a column, as shown in - the code below: -
- - - - - - -
- - protected void RadGrid1_PreRender(object sender, EventArgs e)
{
- int columnIndex = RadGrid1.MasterTableView.Columns[3].EditFormColumnIndex;
}
-
-
-
- it will be equal to 0, meaning the the column belongs to the first group of - columns in the edit form. -
-
- - - Each column in Telerik RadGrid has an UniqueName - property (string). This property is assigned automatically by the designer (or the - first time you want to access the columns if they are built dynamically). - - - You can also set it explicitly, if you prefer. However, the automatic - generation handles most of the cases. For example a - GridBoundColumn with DataField 'ContactName' - would generate an UniqueName of 'ContactName'. - Additionally, there may be occasions when you will want to set the UniqueName - explicitly. You can do so simply by specifying the custom name that you want to - choose: -
- - - - - - -
- - <radG:GridTemplateColumn
UniqueName="ColumnUniqueName">
</radG:GridTemplateColumn>
-
-
-
-
- - When you want to access a cell within a grid item, you - should use the following code to obtain the right cell: - TableCell cell = gridDataItem["ColumnUniqueName"]; - or - gridDataItem["ColumnUniqueName"].Text = - to access the Text property - Using this property you can index objects of type - %GridDataItem:GridDataItem% or - %GridEditFormItem:GridEditFormItem% (or all descendants of - %GridEditableItem:GridEditableItem% class) - In events related to creating, binding or for commands in items, the event - argument has a property Item to access the item that event is - fired for. To get an instance of type GridDataItem, you should use - the following: - //presume e is the event argument object
- if (e.Item is GridDataItem)
- {
- GridDataItem gridDataItem = e.Item as GridDataItem;
-
-
- - - String that formats the HeaderText when the column is displayed in an edit form - - - The following code demonstrates one possible use of this property: -
- - - - - - -
-
- In this way, once a record enters edit mode, the name of the column will be - followed by the custom text entered in the example above. - [ASPX/ASCX] - <radG:GridBoundColumn DataField="CustomerID"
- HeaderText="CustomerID"
- SortExpression="CustomerID"
- UniqueName="CustomerID"
- EditFormHeaderTextFormat="{0} is currently in edit mode" - >
- </radG:GridBoundColumn>
-
-
- - - Gets or sets (see the Remarks) the type of the data from the DataField as it - was set in the DataSource. - - - The DataType property supports the following base .NET Framework data - types: - - Boolean - Byte - Char - DateTime - Decimal - Double - Int16 - Int32 - Int64 - SByte - Single - String - TimeSpan - UInt16 - UInt32 - UInt64 - - - - - - Use this property to set width to the filtering control (depending on the column type, this may be a normal textbox, RadNumericTextBox, RadDatePicker, etc.) - - - - - Gets or Sets the text value which should be added to alt attribute of the filter control - - - - - Interface that RadGrid uses to determine the editable columns, their current state etc. - - - - protected void RadGrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) - { - GridEditableItem editedItem = e.Item as GridEditableItem; - GridEditManager editMan = editedItem.EditManager; - - foreach( GridColumn column in e.Item.OwnerTableView.RenderColumns ) - { - if ( column is IGridEditableColumn ) - { - IGridEditableColumn editableCol = (column as IGridEditableColumn); - if ( editableCol.IsEditable ) - { - IGridColumnEditor editor = editMan.GetColumnEditor( editableCol ); - - string editorType = editor.ToString(); - string editorText = "unknown"; - object editorValue = null; - - if ( editor is GridTextColumnEditor ) - { - editorText = (editor as GridTextColumnEditor).Text; - editorValue = (editor as GridTextColumnEditor).Text; - } - - if ( editor is GridBoolColumnEditor ) - { - editorText = (editor as GridBoolColumnEditor).Value.ToString(); - editorValue = (editor as GridBoolColumnEditor).Value; - } - - if ( editor is GridDropDownColumnEditor ) - { - editorText = (editor as GridDropDownColumnEditor).SelectedText + "; " + - (editor as GridDropDownColumnEditor).SelectedValue; - editorValue = (editor as GridDropDownColumnEditor).SelectedValue; - } - - try - { - DataRow[] changedRows = this.EmployeesData.Tables["Employees"].Select( "EmployeeID = " + editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["EmployeeID"] ); - changedRows[0][column.UniqueName] = editorValue; - this.EmployeesData.Tables["Employees"].AcceptChanges(); - } - catch(Exception ex) - { - RadGrid1.Controls.Add(new LiteralControl ("<strong>Unable to set value of column '" + column.UniqueName + "'</strong> - " + ex.Message)); - e.Canceled = true; - break; - } - } - } - } - } - - - Private Sub RadGrid1_UpdateCommand(ByVal source As System.Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.UpdateCommand - - Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem) - Dim editMan As GridEditManager = editedItem.EditManager - - Dim column As GridColumn - - For Each column In e.Item.OwnerTableView.Columns - If Typeof column Is IGridEditableColumn Then - Dim editableCol As IGridEditableColumn = CType(column, IGridEditableColumn) - If (editableCol.IsEditable) Then - Dim editor As IGridColumnEditor = editMan.GetColumnEditor(editableCol) - - Dim editorType As String = CType(editor, Object).ToString() - Dim editorText As String = "unknown" - Dim editorValue As Object = Nothing - - If (Typeof editor Is GridTextColumnEditor) Then - editorText = CType(editor, GridTextColumnEditor).Text - editorValue = CType(editor, GridTextColumnEditor).Text - End If - - If (Typeof editor Is GridBoolColumnEditor) Then - editorText = CType(editor, GridBoolColumnEditor).Value.ToString() - editorValue = CType(editor, GridBoolColumnEditor).Value - End If - - If (Typeof editor Is GridDropDownColumnEditor) Then - editorText = CType(editor, GridDropDownColumnEditor).SelectedText & "; " & CType(editor, GridDropDownColumnEditor).SelectedValue - editorValue = CType(editor, GridDropDownColumnEditor).SelectedValue - End If - - Try - Dim changedRows As DataRow() = Me.EmployeesData.Tables("Employees").Select("EmployeeID = " & editedItem.OwnerTableView.DataKeyValues(editedItem.ItemIndex)("EmployeeID")) - changedRows(0)(column.UniqueName) = editorValue - Me.EmployeesData.Tables("Employees").AcceptChanges() - Catch ex As Exception - RadGrid1.Controls.Add(New LiteralControl("<strong>Unable to set value of column '" & column.UniqueName & "'</strong> - " + ex.Message)) - e.Canceled = True - End Try - - End If - End If - Next - End Sub - - - Using column editors - - - - Get value based on the current IsEditable state, item edited state and ForceExtractValue setting. - - item to check to extract values from - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - Get whether a column is currently read-only - - - - - Gets the column editor instance for this column - - - - - Gets the GridColumn instance implementing this interface - - - - - Force RadGrid to extract values from EditableColumns that are ReadOnly (or IsEditable is false). - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - Get value based on the current IsEditable state, item edited state and ForceExtractValue setting. - - item to check to extract values from - - - - Gets or sets the column editor ID that will be used when the column is displayed in edit mode. - - The column editor ID that will be used when the column is displayed in edit mode. - - - - Get the current colum editor. If the column editor is not assigned at the moment the column will search for the ColumnEditorID on the page or should - create its default column editor - - - - - Gets the column editor instance for this column. - - The column editor instance for this column. - - - - Convert the emty string to null when extracting values for inserting, updating, deleting - - - - - Gets or sets a default value for the column when the row is in Insert mode - - - - - Gets or sets the readonly status of the column. The column will be displayed in - browser mode (unless its Visible property is false) - but will not appear in the edit-form. - - - A boolean value, indicating whether a column is - ReadOnly. - - - - - Gets or sets a value determining whether a editor - will be displayed in the insert item. - Inherited: The visibility is dependent on the value of the ReadOnly property. - AlwaysVisible: The insert item is always visible - AlwaysHidden: The insert item is always hidden - - - - - Force RadGrid to extract values from EditableColumns that are ReadOnly (or IsEditable is false). - - - - - Clone the current column - - - - - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - - - - - - - - - A string, specifying the ID of the datasource control, which will be used to - populate the AutoCompleteBox with data. - - - A string, specifying the ID of the datasource control, - which will be used to populate the AutoCompleteBox with data. - - - - - The DataField property points to the column in the grid - data-source containing values which will be compared at a later stage with the - values available in the column - - - - - Sets or gets default text when column is empty. Default value is - "&nbsp;" - - - - - A Boolean value, indicating whether the column is editable. If it is - editable, it will be represented as an active AutoCompleteBox in edit mode. - - - A Boolean value, indicating whether the column - is editable. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - A Boolean property, which specifies whether filtering will be enabled for the - column. - - - A Bollean value, indicating whether a particular - AutoComplete column can be filtered. - - - - - Gets or sets a value indicating how the RadAutoCompleteBox items should be displayed - as tokens or as text. - - - - - Gets or sets a value indicating whether the RadAutoCompleteBox should apply ?Contains? or ?StartsWith? filter logic. - - - - - Gets or sets a value indicating whether the user will be able to add a custom text not present - within the raw data in order to create a custom entry. - - - - - Gets a value indicating whether the user can select multiple entries. - - - - - Gets a value indicating whether the text of the RadAutoComplete Tokens can be edited when user double clicks on it. - - - - - Gets or sets a value indicating what delimiter should be used when the control displays the selected items as text (InputType = Text) - - - - - Gets or sets the DataTextField. - - The DataTextField. - - - - Gets or sets the DataValueField. - - The DataValueField. - - - - Header/footer data container element - - - - - Default constructor for the header/footer object - - The prefix which shows if the header/footer object is left, middle or right cell - Header/Footer object state - - - - Left header/footer cell - - - - - Middle header/footer cell - - - - - Right header/footer cell - - - - - Header/footer cell - - - - - Default constructor for the GridPdfPageHeaderFooterCell object - - The prefix which shows if the object is header or footer - GridPdfPageHeaderFooterCell state - - - - Determines the content of the header/footer cell. - Put in the place where the page index should be inserted. - - - - - Text alignment for the current cell. - - - - - Text alignment enumeration type - - - - - The candlestick series class will produce a candlestick chart type. - - - - - Gets the type of the series - - - - - Get/Set the serialized data entities in a list format. This property is usually set if the series is data bound - - - - - Get/Set the name of the series - - - - - Get/set the name of the axis, to which the values will be associated - - - - - The data field with the values of the series - - - - - The data field with the values of the series along the X axis - - - - - The data field with the values of the series along the Y axis - - - - - The data field with the values of the series for the size value - - - - - The data field for the tooltip text - - - - - The Items collection is Obsolete. Use the SeriesItems collection to specify the series items. - - - The Items collection is Obsolete. Use the SeriesItems collection to specify the series items. - - - The Items collection is Obsolete. Use the SeriesItems collection to programmatically set the series items. - - - - - Defines the appearance settings of the series - - - - - Defines the appearance settings of the series - - - - - The data field holding color value for the series (if no value is set, then the default from KendoUI will be used) - - - - - Creates a candlestick series. - - - - - The field which is used for the open value when the series is data bound. - - - - - The field which is used for the close value when the series is data bound. - - - - - he field which is used for the high value when the series is data bound. - - - - - The field which is used for the low value when the series is data bound. - - - - - The field which is used for the down color value when the series is data bound. - - - - - The field which sets the down color of the series items when the close value is lower than the open value. - - - - - Creates a collection of candlestick series items. - - - - - Get/Set missing values behavior - - - - - Defines the appearance settings of the markers - - - - - Defines the appearance settings of the series labels - - - - - Defines the appearance settings of the line. - - - - - The collection, which stores candlestick series items. - - - - - Adds a candlestick series item. - - The candlestick series item. - - - - Adds a candlestick series item, specified by its open, close, high and close values. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - - - - Adds a candlestick series item, specified by its open, close, high and close values and down color. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - The background color of the item. - - - - Adds a candlestick series item, specified by its open, close, high and close values and down color. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - The color of the item when the close value is lower than the open value. - - - - The collection, which stores category series items. - - - - - Adds a category series item. - - The category series item. - - - - Adds a category series item, specified by its Y value. - - The Y value of the item. - - - - Adds a category series item, specified by its Y value and background color. - - The Y value of the item. - The background color of the item. - - - - The collection, which stores scatter series items. - - - - - Adds a scatter series item. - - The scatter series item. - - - - Adds a scatter series item, specified by its X and Y values. - - The X value of the item. - The Y value of the item. - - - - Adds a scatter series item, specified by its X and Y values and background color. - - The X value of the item. - The Y value of the item. - The background color of the item. - - - - Specifies the background color of the series item - - - - - Get/Set the y value of the item. - - - - - Get/Set the x value of the item. - - - - - Get/Set the size value of the item. - - - - - Get/Set the text of the tooltip - - - - - The series item of the candlestick series. - - - - - Creates a candlestick series item. - - - - - Creates a candlestick series item. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - - - - Creates a candlestick series item. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - Defines the background color of the item. - - - - Creates a candlestick series item. - - The open value of the item. - The close value of the item. - The high value of the item. - The low value of the item. - Defines the color of the item when the close value is lower than the open value. - - - - Specifies the open value of the item. - - - - - Specifies the close value of the item. - - - - - Specifies the high value of the item. - - - - - Specifies the low value of the item. - - - - - The down color is used when the close value of the item is lower than the open value. - - - - - Get/Set the name of the item. This is the value which will be shown in the legend. - - - - - Get/Set whether the sector should be exploded. - - - - - Base implementation for an image operation that handles indices - - - - - Create a new image operation with default index of -1 - - - - - Allows specifying of an operation index - - The index of the operation - - - - The index of the current operation - - - - - Specifies the necessary data and functionality for an image operation. Any image operation changes the graphics of an image. - - - - - Applies the operation against the provided image. - - The provided image that defines the base for the operation - The resultant image of the applied graphics operation - - - - If operations are stacked, this defines their order of execution. - - - - - The name of the operation - - - - - Configuration class providing configuration related to the editable image. - - - - - Property to define the maximum length of image saving using canvas or applying thousands of client-based commands. The default is 2097152?characters, which is equivalent to 4?MB of Unicode string data. - - - - - The image formats supported by the ImageEditor editing capabilities - - - - - Represents an ImageEditor dialog used for controlling the Export functionality of the control. This dialog allows saving of the editable image in a different format. - - - - - Represents a base class for the image editor dialog controls. - - - - - Creates an instance of the class. - - - - - Creates an instance of the class. - - The skin of the parent ImageEditor. - The parent image editor which loads the dialog. - - - - Renders the localized title of the dialog. - - The writer that will write out the text. - - - - Renders the script HTML tag with the script of the control. - - The writer that writes the HTML tag. - - - - Searches the current dialog for child RadControls and sets their Skin properties to the same value as that of the ParentImageEditor. - - The parent control where to search for child RadControls. In our case this is the dialog. - The skin to apply to the child RadControls. - - - - Reports back if the dialog should be rendered using a Touch skin - - True if Touch skin is used - - - - Sets child controls properties. - Override this method if you want to configure the child controls, such as setting the localized strings. - - - - - Gets the HTML content to load within the dialog. It is loaded from .ASCX file. - - The name of the ASCX file. - The HTML content that will be loaded within the dialog. - - - - Searches for a child control within the dialog's Controls collection. - - The ID of the control to find. - Instance to the control found. If the control is not found null is returned. - - - - Gets the name of the Dialog. - - - - - Gets the script file associated with the dialog. - - - - - Gets the Title of the Dialog. - - - - - Gets or sets a value indicating where the image editor will look for its dialogs. - - - A relative path to the dialogs location. For example: "~/controls/RadImageEditorDialogs/". - - - If specified, the ExternalDialogsPath - property will allow you to customize and load the image editor dialogs from normal ASCX files. - - - - - Gets or sets the Skin of the ParentImageEditor control. - - - - - Gets or sets the ParentImagEditor control which loads the DialogControl. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the InsertImage functionality of the control. - - - - - Creates an instance of the class. Pencil is used to draw sharp lines in the ImageEditor - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the InsertImage functionality of the control. - - - - - Creates an instance of the class. Pencil is used to draw sharp lines in the ImageEditor - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for changing the hue and saturation of the editable image. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the InsertImage functionality of the control. - - - - - Creates an instance of the class. Pencil is used to draw sharp lines in the ImageEditor - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - Represents a MaskPart which accepts numbers in a specified range. - - This example demonstrates how to add a LongRangeMaskPart object - in the MaskParts collection of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - LongRangeMaskPart rangePart = new LongRangeMaskPart(); - rangePart.LowerLimit = 0; - rangePart.UpperLimit = 255; - RadMaskedTextBox1.MaskParts.Add(rangePart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim rangePart As New LongRangeMaskPart() - rangePart.LowerLimit = 0 - rangePart.UpperLimit = 255 - RadMaskedTextBox1.MaskParts.Add(rangePart) - End Sub - - - - - The abstract base class of all mask parts. - This class is not intended to be used directly. - - - - - - - Returns the friendly name of the part. - - - - - - - Gets or sets the smallest possible value the part can accept. - - An integer representing the smallest acceptable number that the - LongRangeMaskPart can accept. The default value is 0. - - - - Gets or sets the largest possible value the part can accept. - - An integer representing the largest acceptable number that the - LongRangeMaskPart can accept. The default value is 0. - - - - - An enumeration representing the possible resize modes - - - - - Disable resizing - - - - - Allow vertical and horizontal resizing - - - - - Allow horizontal resizing - - - - - Allow vertical resizing - - - - - Represents an aggregate that was computed by a analysis server. - - - - - Holds a value presentation of an aggregate function accumulated during pivot grouping. - - - - - Gets a presentation friendly value of the results in the current . - - Returns an object containing a formatted value or error object. - - - - Gets a presentation friendly value of the results in the current instance to be returned in . - If an error occurred during calculations the will not call but return the error instead. - - A result object. - - - - Add the to the results in the current instance. - - The value to accumulate. - - - - Merge the results of an with the results in the current instance. - - The to merge. - - - - - - - - - - - - - - - - Specifies a sorting for a group description. - - - - - Specifies that this object supports a simple, transacted notification for change initialization. - - - - - Signals the object that initialization is starting and retrieves a scope token. - Dispose the to exit the edit scope. - - An edit scope token. - - - - Specifies that the object has a display friendly name to be used for UI purposes. - - - - - Gets the display-friendly name. - - - - - Gets or sets a implementation used to sort the groups created by this instance. - - - - - Gets or sets the that will be used for group comparisons. - - A implementation. - - - - Try to find where did your description indices go using the generated due to a change in the . - - A map that tracks the description index changes. - - True if tracking is fine. - False to indicate a missing description or index error leading the to unusable state. - Please note that if you return false parents may set the property holding this instance to null, to a default value or to reset the instance settings. - - - - - A DataRow presentation. - - - - - Represents an abstraction of a property info that can set and get values. - - - - - Represents an abstraction of a property info. - - - - - Represents an abstraction of a property info. - - - - - Gets name of the property. - - - - - Gets the display-friend name of the property. - - - - - Gets the data type of the property. - - - The of the data. - - - - - Gets the preferred role of this property. - - - - - Gets the allowed roles of this property. - - - - - Gets or sets a value that indicates whether UI should be generated automatically in order to display this field. - - True if field should be generated automatically. - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the value of the property. - - The item. - - - - - Sets the value of the property. - - The item. - The field value. - - - - Initializes a new instance of the class. - - The data column. - - - - - - - - - - An that uses PropertyName and to identify a property. - - - - - Initializes a new instance of the class. - - The property info. - The DateTimeStep.param> - The PropertyName to identify the property. - - - - - - - - - - - - - - - - Gets or sets the . - - - - - Gets or sets the PropertyName to identify the associated property. - - - - - Provides data for the event. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the value for the current ContainerNode. - - The error. - - - - Gets the value of the IPivotFieldInfo associated with the current ContainerNode . - - The error. - - - - A class that filters based on two comparable objects. - - - - - Base class used in filtering. - - - - - Base class used in filtering. - - - - - Base class that support Clone and . - - - - - Defines an object that has a modifiable state and a read-only state. Classes that derive from can clone themselves. - - - - - Creates a new instance of the , making deep copies of the object's values. - - A clone of the current object. - - - - When implemented in a derived class, creates a new instance of the derived class. - - New instance for cloning. - Do not call this method directly (except when calling base in an implementation). This method is called internally by the method whenever a new instance of the is created. - Notes to Inheritors. - Every derived class must implement this method. A typical implementation is to simply call the default constructor and return the result. - - - - - Makes the instance a clone (deep copy) of the specified . - - The object to clone. - Notes to Inheritors - If you derive from , you may need to override this method to copy all properties. - It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties). - - - - - If source is null - returns default(). - If source is not null makes a copy of type . - If the copy is from a different type throws appropriate exception. - - The expected copy type. - The source that is about to be copied. - Clone of of type . If source is null - default(). - - - - An that supports change notification. - - - - - Raised when new services are available or previously available services were lost. - - - - - Raises the event. - - - - - Will recursively notify all for a settings change. - - that contain information about the change. - - - - Invoked when a SettingsChangedEventArgs reaches the . - - The that contains the event data. - - - - Enters the in a new editing scope. Use when applying multiple changes. - If child are changed, notifications will be accumulated in this . - - using(settingsNode.BeginEdit()) - { - // Apply multiple changes here. - } - - - An edit scope token that you must when you are done with the editing. - - - - - - - - - - - - - Raises this object's event. - - The property that has a new value. - - - - Unsets the parent initiated with . - This will no longer receive change notifications from the . - - The nested . - - - - Set this as parent of the and becomes a target for the 's change notifications. - - The nested . - - - - Provides services available by this SettingsNode. - Other services may be available in its s. - The default implementation returns this if the desired service type is assignable from the type of this. - The implementation of would query the service on the local node and if not available would query up the nodes. - - The type of the requested service. - A service instance if available, null otherwise. - - - - Override to provide custom behavior for derived classes when editing begins. - is already in edit mode and changes within the method body will be accumulated and released upon exit. - - - - - Override to provide custom behavior for derived classes when finishing editing. - is still in edit mode and changes within the method body will be accumulated and released upon exit. - - - - - Invoked when this or one of the children is changed. - - - - - Invoked when new services are available or existing services are removed. - - - - - Invoked when a property value changes. - - - - - Gets the this is used in. - - - - - Returns a value indicating whether this instance is active and will take part in filtering. - - Is active. - - - - A filter abstraction. - - - - - Determines if an object should be filtered. - - The item. - True if the should be used in the results. False if it should be ignored. - - - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - Gets or sets the value of ignore case in comparison. - - - - - Gets or sets the value that the groups would be compared to. - - - - - Gets or sets the condition used in the comparison. - - - - - Represents an available condition option. This is for internal use only and is not intended to be used directly from your code. - - - - - Gets the display friendly name of the condition option. - - - - - Gets the condition used for this . - - - - - A filters based on the relation between an item and an interval. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - Gets or sets the value of ignore case. - - - - - Gets or sets the start of the interval used in comparison. - - - - - Gets or sets the end of the interval used in comparison. - - - - - Gets or sets the condition used in the comparison. - - - - - Represents collection IList container for SetCondition and OlapSetCondition items, - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The items to add to the - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The hour which this HourGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same hour group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same hour group; otherwise, false. - - - - Gets the Hour this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The minute which this MinuteGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same Minute group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same minute group; otherwise, false. - - - - Gets the Minute this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The second which this SecondGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same Second group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same second group; otherwise, false. - - - - Gets the Second this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The week which this WeekGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same week group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same week group; otherwise, false. - - - - Gets the Week this represents. - - - - - The default implementation for an . - - - - - Compares two AggregateValues and returns a value indicating whether one is less than, equal to, or greater than the other. - - The first AggregateValues to compare. - The second AggregateValues to compare. - - A signed integer that indicates the relative values of x and y, as shown in the following table: - Value Meaning Less than zero - x is less than y. - Zero - x equals y. - Greater than zero - x is greater than y. - - - - - A that filter s based on their . - - - - - Used to filter groups based on simple values and aggregate results. - - - - - A base class for all group filters. For internal use. Please refer to one of the or instead. - - - - - Initializes a new instance of the class. - - - - - Identifies if a group should be filtered or not. - - The group. - Results for the current grouping. Could be used for totals lookup. - Identifies if the is positioned in the or . - True if the group should be preserved, False if the group should be removed. - - - - - - - - - - - - - Gets or sets the used to filter the groups. - - - - - A that filter s based on their subtotals. - - - - - - - - - - - - - - Gets or sets the used to filter the groups. - - - - - Gets or sets the aggregate index to be used in the filtering. - - - - - Specify parameters for . - - - - - Gets the specified as parameter. - - - - - Specify the expanded state of s. - - - - - Provides method that specify the expand/collapse state of item. - - The type of item. - - - - Gets if item is expanded. - - The item which expanded state will be queried. - True if item is expanded, otherwise false. - - - - Initializes a new instance of the class. - - - - - - - - Specify the default state for s up to given level (excluding). - The default is - - - - - Specify the default state for s up to given (excluding). - The default is true. - - When true groups up to the set level are expanded, all groups with level greater than or equal are collapsed. - When false groups up to the set level are collapsed, all groups with level greater than or equal are expanded. - - - - - - A collection that stores the children of a hierarchical description. - - - - - Initializes a new instance of the class. - - - - - Represents a filter description for a hierarchy. - - - - - Base class for OLAP filter descriptions. - - - - - Base class for . - - - - - Contains mechanisms to access and describe properties of objects used as source in pivot grouping. - - - - - Base interface for describing FilterDescription, GroupDescription and AggregateDescription. - - - - - Returns the member name that is used for grouping. - - - - - Creates a clone of this instance. - - - - - - - - Gets the display-friendly name. - - A name. - - - - - - - - - - Gets the display-friendly name. - - - - - Gets or sets the custom name that will be used as display name. - - - - - - - - - - - - - - - - - - Gets or sets the dimension unique name used for grouping. - - The dimension unique name. - - - - Gets or sets the used to filter the groups. - - - - - Initializes a new instance of the class. - - - - - - - - Gets or sets the levels collection of this instance. Setting this property will create a clone of the provided value. The setter is implemented to support deserialization. - - The levels. - - - - Used to specify grouping parameters for OLAP data sources. - - - - - Used to specify grouping parameters for OLAP data sources. - - - - - Used to group items, provide well known groups, sort and filter the groups. - - - - - Base class for GroupDescription. - - - - - Interface that describe GroupDescription. - - - - - Gets the that will be used for group sorting. - - - - - Gets the that will be used for group comparisons. - - - - - - - - - - - - - - Returns all possible group keys for this instance. - - Enumeration of all unique group keys that were discovered after grouping. - Enumeration of all parent groups. - Returns all possible group keys for this instance. - - - - - - - Gets or sets value that indicates whether well known groups should be created even if there are no items for them. - Grouping by days may require groups for the empty days in the current month. - Grouping by persons may require groups all persons even if they do not contain any items within the current context. - - - - - Gets a implementation for this instance that would be used to filter the groups. - - - - - - - - - - - - - - - - - Gets or sets the dimension unique name used for grouping. - - The dimension unique name. - - - - Initializes a new instance of the class. - - - - - - - - Gets or sets the levels collection of this instance. Setting this property will create a clone of the provided value. The setter is implemented to support deserialization. - - The levels. - - - - A that filter s based on their . - - - - - - - - - - - Gets or sets the used to filter the groups. - - - - - Represents a filter description for a level of a hierarchy. - - - - - Initializes a new instance of the class. - - - - - Used to specify grouping parameters for a level of an OLAP hierarchy. - - - - - Represents an OLAP distinct value. - - - - - Initializes a new instance of the class. - - Name of the unique. - - - - - - - - - - - - - - - - Gets or sets the caption. - - The caption. - - - - Gets or sets the name of the unique. - - The name of the unique. - - - - A class that filters based on two comparable objects. - - - - - Represents an OLAP filter condition that is used with - - - - - - - - - - - - - - Gets or sets the value of ignore case. - - - - - Gets or sets the value that the groups would be compared to. - - - - - Gets or sets the condition used in the comparison. - - - - - A filters based on the relation between an item and an interval. - - - - - - - - - - - - - - Gets or sets the value of ignore case. - - - - - Gets or sets the start of the interval used in comparison. - - - - - Gets or sets the end of the interval used in comparison. - - - - - Gets or sets the condition used in the comparison. - - - - - Filter that checks if items are included/excluded from a set. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Gets or sets the filter condition. - - - - - Gets the set of items used for filtering. Setting this property will create a clone of the provided value. The setter is implemented to support deserialization. - - - - - A class that filters based on text matching. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Gets or sets the text pattern used in the comparison. - - - - - Gets or sets the condition used in the comparison. - - - - - A that filters s based on their subtotals. - - - - - - - - - - - Gets or sets the used to filter the groups. - - - - - Gets or sets the aggregate index to be used in the filtering. - - - - - This interface provides access to the s and intermediate s accumulated during a pivot grouping process. - - - - - Gets the for the at index for the row and column s defined by . - - The index of the for which an should be retrieved. - A of the s we want to retrieve value for. - - - - - A coordinate with the GrandTotal root s. - - - - - - - - - - - Provides all knownTypes necessary for serializing . - Use this class to extract these knownTypes and concatenate them with your knownTypes, so you can pass them to for example. - - - - - Gets known types in to use with serializer such as . - - An enumeration with the known serializable classes for the . - - - - - - - - - - - - - Initializes a new instance of the class. - - - - - - - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Provides all knownTypes necessary for serializing . - Use this class to extract these knownTypes and concatenate them with your knownTypes, so you can pass them to for example. - - - - - Gets known types in to use with serializer such as . - - An enumeration with the known serializable classes for the . - - - - Represents a property that is used when using Discover and Execute methods. - - - - - - - - Gets or sets the name of the property. - - - The name. - - - - - Gets or sets the value of the property. - - - The value. - - - - - Enumeration determining the type of exported cell. - - - - - Defines the PivotGrid model cell used into the PivotGridCellExportingArgs. - - - - - Gets the pivot grid field related with this cell - - - - - Get the object to which the PivtoGrid cell is bound - - - - - Gets the cell group level - - - - - Gets whether the cell's group is collapsed - - - - - Gets whether the cell's group has children groups - - - - - Gets whether the cell is total cell - - - - - Gets whether the cell is grand total cell - - - - - Gets the type of data cell - - - - - Gets the type of cell - - - - - PivotGridExporter exporter. For internal use only. - - - - - The event arguments passed when exports. - - - - - Contains export document which will be written to the response - - - - - The event arguments passed when exports its cells. - - - - - Contains the export infrastructure cell which will be exported as excel cell. - - - - - Contains the PivotGrid model cell. - - - - - RadPivotGrid BIFF Export event arguments object - - - - - BIFF Export event arguments - - ExportStructure object - - - - Contains the export infrastructure. - - - - - Class holding settings associated with the export settings. - - - - - A string specifying the name (without the extension) of the file that will be - created. The file extension is automatically added based on the method that is - used. - - - - - Specifies whether all records will be exported or merely those on the current - page. - - - - Opens the exported grid in a new instead of the same page. - - - Override this method to change the default logic for rendering the item - - - - - - Use this method to simulate item command event that bubbles to - and can be handled automatically or in a - custom manner, handling .ItemCommand event. - - command to bubble, for example 'Page' - - command argument, for example 'Next' - - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Looks up a localized string similar to Remove token. - - - - - RibbonBarGalleryItem text is rendered below the image element - - - - - RibbonBarGalleryItem text is rendered next to the image element - - - - - RibbonBarGalleryItem text is not rendered - - - - - Gets the parent group of the clicked galleryItem. - - - - - Gets the parent gallery of the clicked galleryItem. - - - - - Gets the parent gallery of the clicked galleryItem. - - - - - Gets the galleryItem that has been clicked. - - - - - This Class defines RibbonBarApplicationMenuAuxiliaryPane - - - - - Gets or sets the header of the ApplicationMenuAuxiliaryPane. - - - The header of the ApplicationMenuAuxiliaryPane. The default value is empty - string. - - - Use the property to set the header that appears at the top of the ApplicationMenuAuxiliaryPane text. - - - - - Gets or sets the that defines the content template. - - The footer template. - - - - This Class defines RibbonBarApplicationMenuFooterPane - - - - - Gets or sets the that defines the content template. - - The footer template. - - - - This Class defines RibbonBarApplicationMenuItemBase collection that inherits List collection. - - - - - This Class defines RibbonBarApplicationMenuItem that inherits WebControl and IRibbonBarCommandItem. - - - - - Gets or sets the text of the ApplicationMenuItem. - - - The text of the ApplicationMenuItem. The default value is empty - string. - - - Use the property to set the displayed text of the ApplicationMenuItem. - - - - - Gets or sets the value property of the ApplicationMenuItem. - - - You can use it to associate custom data with the ApplicationMenuItem. - - - This example illustrates how to use the Value property on ApplicationMenuItemClick event. - - - protected void RadRibbonBar1_ApplicationMenuItemClick(object sender, RibbonBarApplicationMenuItemClickEventArgs e) - { - if (e.Item.Value == "TriggersSomeAction") - { - // trigger the action - } - } - - - Protected Sub RadRibbonBar1_ApplicationMenuItemClick(sender As Object, e As RibbonBarApplicationMenuItemClickEventArgs) - If e.Item.Value = "TriggersSomeAction" Then - ' trigger the action - End If - End Sub - - - - - Gets or sets the image URL of the ApplicationMenuItem. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrl property to specify a custom - image to be displayed for the ApplicationMenuItem. - - - - - Gets or sets the command name associated with the MenuItem that is passed to the Command event. - - - - - Gets or sets an optional parameter passed to the Command event along with the associated CommandName. - - - - - For internal use. - - - - - This Class defines RibbonBarApplicationSplitMenuItem that inherits RibbonBarApplicationMenuItem - - - - - Gets a RibbonBarApplicationMenuItemCollection object that contains the items of the ApplicationSplitMenuItem. - - - A RibbonBarApplicationMenuItemCollection that contains the items of the ApplicationSplitMenuItem. By default - the collection is empty (the ApplicationSplitMenuItem has no items). - - - Use the Items property to access the items of the ApplicationSplitMenuItem. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of the items inside the collection. - - applicationSplitMenuItem.Items[0].Text = "SampleMenuItemText"; - - - applicationSplitMenuItem.Items(0).Text = "SampleMenuItemText" - - - - - - Gets or sets the header of the ApplicationSplitMenuItem. - - - The header of the ApplicationSplitMenuItem. The default value is empty - string. - - - Use the property to set the header that appears at the top of the - popup menu of the ApplicationSplitMenuItem text. - - - - - Gets or sets the access key that allows you to navigate to the - SplitMenuItems's child items - - The access key for quick navigation to the SplitMenuItems's child items. The default - value is , which indicates that this property - is not set. - The specified access key - is neither null, nor a single character string. - - - - - - This Class defines RibbonBarGalleryCategory collection that inherits List collection. - - - - - Gets a reference to the RibbonBar instance. - - - RadRibbonBar instance. If not set, the returned is null. - - - Use the property to get the RibbonBar instance. - - - - - This Class defines RibbonBarGalleryCategory collection that inherits List collection. - - - - - This Class defines RibbonBarGalleryItem collection that inherits List collection. - - - - - Gets or sets the title of a certain category. - - - The title of a category. The default value is empty - string. - - - Use the property to set the displayed title for a category. - - - - - Gets a RibbonBarGalleryItemCollection object that contains the items of the Category. - - - A RibbonBarGalleryItemCollection that contains the items of the Category. By default - the collection is empty (the Category has no items). - - - Use the Items property to access the categories of the Category. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - - - Gets or sets the text of a certain item. - - - The text of an item. The default value is empty - string. - - - Use the property to set the displayed text for an item. - - - - - Gets or sets the commandArgument of a certain item. - - - The commandArgument of an item. The default value is empty - string. - - - Use the property to set commandArgument of the item. - The CommandArgument will be passed as an argument when the item raises an event. - - - - - Gets or sets the image URL of a certain item. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrl property to specify a custom image that will be - displayed for the item. - - - - - Gets or sets a value indicating whether this is selected. - - true if selected; otherwise, false. - - - - Gets the type of the RibbonBarItem. Usefull when iterating through the Items collection of RibbonBarGroup - - - - - Clears the selection. The property of all items is set to false. - - - - - Gets or sets the commandName of the gallery. - - - The commandName of the gallery. The default value is empty - string. - - - Use the property to set commandName of the gallery. - The CommandName will be passed as an argument when the gallery raises an event. - - - - - Gets or sets the number of columns in the gallery. - - - The the number of columns in the gallery. The default value is 5. - - - Use the property to set the number of columns in the gallery. - The Columns property will determine the width of the Gallery. - - - - - Gets or sets the number of columns in the expanded gallery. - - - The the number of columns in the expanded gallery. The default value is 5. - - - Use the property to set the number of columns in the expanded gallery. - The ExpandedColumns property will determine the width of the Gallery when it is expanded. - - - - - Gets or sets the height of the gallery when expanedd. - - - - - Gets or sets the height of each RibbonBarGalleryItem in pixels. - - - - - Gets or sets the width of each RibbonBarGalleryItem in pixels. - - - - - Gets the selected gallery item of the control. - - The gallery item that should be selected. - - - - Gets or sets the position of the item text relative to its image. - - - The value is from the enum RibbonBarGalleryItemTextPosition. The default value is - RibbonBarGalleryItemTextPosition.Bottom. - - - Use the ItemTextPosition property to specify the item's text position: - - Below the image - RibbonBarGalleryItemTextPosition.Bottom; - - Next to the image - RibbonBarGalleryItemTextPosition.Inline; - - Not visible - RibbonBarGalleryItemTextPosition.None. - - - - - Gets a RibbonBarGalleryCategoryCollection object that contains the categories of the Gallery. - - - A RibbonBarGalleryCategoryCollection that contains the categories of the Gallery. By default - the collection is empty (the Gallery has no categories). - - - Use the Categories property to access the categories of the Gallery. You can also use the Categories property to - manage the categories. You can add, remove or modify categories from the Categories collection. - - - - - This Class defines RibbonBarGalleryCategory collection that inherits List collection. - - - - - Represents a script reference - including tracking its loaded state in the client browser - - - - - Request param name for the serialized combined scripts string - - - - - Request param name for the hidden field name - - - - - Containing Assembly - - - - - Script name - - - - - Culture to render the script in - - - - - Reference to the Assembly object (if loaded by LoadAssembly) - - - - - Gets the script corresponding to the object - - script text - - - - Loads the associated Assembly - - Assembly reference - - - - Equals override to compare two ScriptEntry objects - - comparison object - true iff both ScriptEntries represent the same script - - - - GetHashCode override corresponding to the Equals override above - - hash code for the object - - - - Deserialize a list of ScriptEntries - - - Serialized list looks like: - ;Assembly1.dll Version=1:Culture:MVID1:ScriptName1Hash:ScriptName2Hash; - Assembly2.dll Version=2:Culture:MVID1:ScriptName3Hash; - External=ScriptPathHash1:ScriptPathHash2 - - serialized list - list of scripts - - - - From a relative path and a specified style sheet folder, returns the relative path of that file in that folder (Secure Path). - - The relative path to the file inside the project file structure. - The Secure Path of the relative path. Throws an exception if the relative path falls outside of the style sheet folder. - - - - Gets the secure path of a file, inside a script folder, from its hash. - - The hash of the secure path of the file. - The secure path of the file; null if the hash does not match a file in any of the secure folders. - - - - Loads the content of the file specified with its secure path. - - The path to the file. - The content of the file. - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - The item of the searchBox context. - - - - Gets or sets the SearchContextItem. - - The SearchContextItem. - - - - Represents the method that handles the event of the control. - - - - - This class gets and sets the localization properties of RadSearchBox. - - - - - Gets or sets the ShowAllResults string. - - The ShowAllResults string. - - - - Gets or sets the DefaultItemText string. - - The DefaultItemText string. - - - - Gets or sets the LoadingItemsMessage string. - - The LoadingItemsMessage string. - - - - RadDropDownTree Checkboxes mode - - - - - Telerik RadSearchBox for ASP.NET AJAX provides the user - the ability to write text in an input field with an optional autocomplete functionality. - - - - - - - - - - - - - - - - - Code moved into this method from OnPreRender to make sure it executed when the framework skips OnPreRender() for some reason - - - - - Registers the control with the ScriptManager - - - - - Registers the CSS references - - - - - Loads the client state data - - - - - - Saves the client state data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Use this from RenderContents of the inheritor - - - - - - - - - Should be used by inheritors - - - - - - - - - - - - - Returns the names of all embedded skins. Used by Telerik.Web.Examples. - - - - - Executed when post data is loaded from the request - - - - - - - - Executed when post data changes should invoke a chagned event - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - - For internal use. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the ODataDataSource used for data binding. - - - - - Gets the real skin name for the control user interface. If Skin is not set, returns - "Default", otherwise returns Skin. - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - The CssClass property will now be used instead of the former Skin - and will be modified in AddAttributesToRender() - - - protected override string CssClassFormatString - { - get - { - return "RadDock RadDock_{0} rdWTitle rdWFooter"; - } - } - - - - - - - - - This property is overridden in order to support controls which implement INamingContainer. - The default value is changed to "AutoID". - - - - - - - - - - - - - - - - - This method should return object that implements ISearchBoxRenderer or Inherits the SearchBoxRenderer class. - - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - For testing purposes. - - - - - Occurs when a search has been triggered. - - - - - Occurs when a button has been clicked. - - - - - Occurs before a select command is sent to the datasource. - - - - - If specified, the OnClienLoad client-side event handler is - called after the searchBox is fully initialized on the client. - A single parameter - the searchBox client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientLoadHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadSearchBox ID="RadSearchBox1"
- runat= "server"
- OnClientLoad="onClientLoadHandler">
- ....
- </telerik:RadSearchBox>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadSearchBox client-side object is initialized. - -
- - - If specified, the OnClientSearch client-side event handler is - called when a search is triggered in the SearchBox. This happens when - the default seach button or an item from the dropdown is clicked, or Enter key is pressed. - The event handler receives two parameters: the instance of the searchBox - client-side object and event args. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientSearchHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadSearchBox ID="RadSearchBox1"
- runat= "server"
- OnClientSearch="onClientSearchHandler">
- ....
- </telerik:RadSearchBox>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - when a search is triggered in the SearchBox. This happens when - the default seach button or an item from the dropdown is clicked, or Enter key is pressed. - -
- - - If specified, the OnClientButtonCommand client-side event handler is - called when a button from the Buttons Collection is clicked. - The event handler receives two parameters: the instance of the searchBox - client-side object and event args. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientButtonCommandHandler(sender, args)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadSearchBox ID="RadSearchBox1"
- runat= "server"
- OnClientButtonCommand="onClientButtonCommandHandler">
- ....
- </telerik:RadSearchBox>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - when a button from the Buttons Collection is clicked. - -
- - - If specified, the OnClientDataRequesting client-side event handler is - called before a search is triggered in RadSearchBox . - The event handler receives two parameters: the instance of the searchBox - client-side object and event args. - This event can be cancelled. - - - <script type="text/javascript">
- function onClientDataRequestingHandler(sender, args)
- {
- alert(args.get_text());
- }
- </script>
- <telerik:RadSearchBox ID="RadSearchBox1"
- runat= "server"
- OnClientDataRequesting="onClientDataRequestingHandler">
- ....
- </telerik:RadSearchBox>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - before a search is triggered in RadSearchBox. - -
- - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - Used to customize the appearance and position of the buttons displayed by RadListBox. - - - - - Gets or sets a value indicating whether the AutoComplete functionality of the RadSearchBox is enabled. - - - - - Gets or sets a value indicating whether the default search button is rendered. - - - - - Gets or sets a value indicating whether the first matching result will be highlighted upon drop down opening. - - - - - Gets or sets how many results are shown in the dropdown. - - - - - Defines the minimum number of characters that must be typed before a search is made. - - The minimum number of characters that must be typed before a search is made. - - - - Gets or sets a message when the input of the RadSearchBox is empty. - - The message which will be shown when the input of the RadSearchBox is empty. - - - - Gets or sets the RadSearchBox's input value. - - The value shown in the input of the RadSearchBox. - - - - Gets or sets a value indicating whether the RadSearchBox should apply ?Contains? or ?StartsWith? filter logic. - - - - - Gets or sets the DataTextField. - - The DataTextField. - - - - Gets or sets the DataValueField. - - The DataValueField. - - - - Gets or sets the DataContextKeyField. This property will define the data column used as a context field. - - The DataContextKeyField. - - - - - Gets or sets an array of data-field names that will be used to populate the - 's DataItem property. - - - - Note: Values set to this property are case-sensitive! The - field names should be coma-separated. - - - An array that contains the names of the fields - contained in the 's DataItem property. - - - - - Gets or sets a value indicating how the DropDownItems text should be formatted. - - - - - Gets the RadSearchBox - SearchBoxButtons collection. - - - - - Gets the RadSearchBox - SearchContext. - - - - - Gets the settings for the web service used to provide search results. - - - An WebServiceSettings that represents the - web service used to provide search results. - - - - Use the WebServiceSettings property to configure the web - service used to provide search results. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public SearchBoxItemData[] GetResult(SearchBoxContext context) - { - - } - } - - - <System.Web.Script.Services.ScriptService()> _ - Public Class WebService - Inherits System.Web.Services.WebService - - <WebMethod> _ - Public Function GetResult(context As SearchBoxContext) As SearchBoxItemData() - - End Function - - End Class - - - - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadSearchBox will look for its .resx localization files. - - The localization path. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets or sets the label of the control. - - The label of the control. - - - - Gets or sets the css class of the label. - - The label CSS class. - - - - Gets or sets the width of the control's label - - - - - Class holding settings which are used to determine the masked input behavior - - - - - Class holding settings which are applied to all TargetControls. - - - - - Validates the specified control. - - The control. - - - - Validates the specified control with supplied context. - - The control. - The context. - - - - Gets a collection of TargetInput objects that allows for - specifying the objects for which input will be created on the client-side. - - - Use the TargetControls collection to programmatically control - which objects should be inputtipified on the client-side. - - - - - Gets or sets an instance of the InputManagerClientEvents class - which defines the JavaScript functions (client-side event handlers) that are invoked - when specific client-side events are raised. - - - - - Gets an instance of the InputSettingValidation class - which defines the validation behavior. - - - - Gets or sets the css style for enabled TextBox control. - - A string object that represents the css style properties for enabled TextBox - control. The default value is an empty string. - - - - Gets or sets a value to access the client-side behavior. - - In cases where you would like to access the client-side behavior for - your setting from script code in the client, you can set this BehaviorID to simplify - the process. See example below: - - - - Gets or sets the css style for hovered TextBox control. - - A string object that represents the css style properties for hovered TextBox - control. The default value is an empty string object. - - - - Gets or stes the css style for invalid state of TextBox control. - - A string object that represents the style properties for invalid TextBox control. - The default value is an empty string object. - - - - Gets or sets the css style for invalid state of TextBox control. - - A string object that represents the css style for invalid TextBox control. The - default value is an empty string object. - - - - Gets or sets the css style for Read Only state of TextBox control. - - A string object that represents the css style for Read Only TextBox control. The - default value is an empty string object. - - - - Gets or sets the css style for TextBox when when the control is disabled. - - A string object that represents the css style for TextBox control. The default - value is an empty string object. - - - - Gets or sets the css style for TextBox when when the control is empty. - - A string object that represents the css style for TextBox control. The default - value is an empty string object. - - - - Gets or sets a value message shown when the control is empty. - - A string specifying the empty message. The default value is empty string. - (""). - - - Shown when the control is empty and loses focus. You can set the empty message - text through EmptyMessage property. - - - - - Gets or sets the text for the error message displayed in the control when validation fails. - - The text for the error message displayed in the control when validation fails. - - - - Gets or sets whether the text in the control selected on focus and how. - - Determines whether the text in the control selected on focus and how. - - - - Gets or sets a value indicating the control should be initialized on client or not. - - A value indicating the control should be initialized on client or not. - - - - Gets or sets a value indicating whether the value entered into the textbox should be cleared on error. - - - - - Gets if the TargetControls in the InputSettings - are successfully validated. - - The is valid. - - - - Constructur of the MaskedTextBoxSetting - - - - - Validates the specified control. - - The control. - - - - Validates the specified control with supplied context. - - The control. - The context. - - - - Gets or sets the display mask which is shown when the - is not focused. - - The display mask which is shown when the - is not focused. - - - - Gets or sets the mask. - - The mask. - - - - Gets or sets the prompt char. - - The prompt char. - - - - Gets or sets the prompt character used in the display mask. - - The prompt character used in the display mask. - - - - Gets or sets a value which determines if empty mask parts are allowed. - - A value which determines if empty mask parts are allowed. - - - - Gets or sets if the values of numeric range parts of the mask to have a fixed width. - - Enforces the values of numeric range parts of the mask to have a fixed width. - - - - Gets or sets alignment of numeric ranges. - - The alignment of numeric ranges. - - - - Gets or sets if the numberic ranges will be rounded. - - Determines if the numberic ranges will be rounded. - - - - Gets or sets if the prompt will be hidden when - is blurred. - - The hide on blur. - - - - Gets or sets the time, in milliseconds, the InvalidStyle should be displayd. Must be a positive integer. - - The Time, in milliseconds, the InvalidStyle should be displayd. Must be a positive integer. - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Clears the selection. The property of all items is set to false. - - - - - Gets or sets the selected index of the control. - - The index that should be selected. - - Set the selected index to -1 to clear the selection. - - - - Gets the currently selected item in the searchContext. - - SelectedItem can be null in client-side binding scenarios. - - - - - Gets or Sets the DataSource of the SearchContext for the control. - - - - - Gets or Sets the ID of the DataSource control of the SearchContext for the control. - - - - - Gets the RadSearchBox - SearchContextItemCollection. - - - - - Gets or sets the DataTextField. - - The DataTextField. - - - - Gets or sets the DataKeyField. - - The DataKeyField. - - - - Gets or sets the ID of the Model from the ODataDataSource control used for data binding. - - - - - Gets or sets whether the DefaultItem should be shown. - - - By default it is shown and if no item is selected it is the selected one. - - - - - Gets the settings for the web service used to provide SearchContext items. - - - An WebServiceSettings that represents the - web service used to provide search results. - - - - - Gets or sets the TabIndex of the SearchContext control. - - - The default value is zero. - - - - - Gets or sets the width of the SearchContext's input area. - - The width of the SearchContext's input area. - - - - Gets or sets the css class of the dropdown. - - The dropdown CSS class. - - - - Gets or sets the css class of the search context element. - - The search context CSS class. - - - - Gets or sets whether the SearchContext is enabled. - - - The default value is zero. - - - - - Occurs after a context item is data bound to the RadSearchBox - control. - - - This event provides you with the last opportunity to access the data item - before it is displayed on the client. After this event is raised, the data item is - nulled out and no longer available. - - - - - If specified, the OnClientItemDataBound client-side event handler is - called after a SearchContextItem is bound to a dataItem as a result of a client-side binding to RadODataDataSource control. - The event handler receives two parameters: the instance of the searchBox context - client-side object and event args - This event cannot be cancelled. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after a SearchContextItem is bound to a dataItem as a result of a client-side binding to RadODataDataSource control - - - - - This method should return object that implements ISearchBoxRenderer or Inherits the SearchBoxRenderer class. - - - - - - Raises the ItemDataBound event. - - - - - - This method should return object that implements ISearchBoxRenderer or Inherits the SearchBoxRenderer class. - - - - - - This method marks the Parameter object so its state will be recorded in view state. - - - - - Gets or sets the text of a certain item. - - - The text of an item. The default value is empty - string. - - - Use the property to set the displayed text for an item. - - - - - Gets or sets the key of a certain item. - - - The text of an item. The default value is null - - - Use the property to bind the context information which will be used upon search operation. - - - - - Gets or sets the path to the image of a certain item. - - - The path to the image of an item. The default value is empty - string. - - - Use the property to set the path to the image used by the item. - - - - - Gets or sets a value indicating whether this item is selected. - - true if selected; otherwise, false. - - - - Gets or sets the data item. - - The data item. - - - - This class represents each item which will be passed to the client as a result from the web service call. - - - - - - - - - Text for the item to pass to the client. - - - - - Key for the item to pass to the client. - - - - - ImageUrl for the item to pass to the client. - - - - - The class for creating a Compact button. - - - - - The main class from which Styled buttons are derived. - - - - - The base class for the RadSocialShare buttons. - - - - - Common constructor. - - - - - Constructor with a SocialNetType as a parameter. - - The SocialNetType of the button that will be created. - - - - Get/Set the the social net type of the button. - - Takes a member of the enum. - - - - Get/Set the url to share. The default value is empty string which results in sharing the page on which the button resides. - - - - - Get/Set the title of the shared message. The default value is an empty string - which results in sharing the title of the current page or the url itself if there isn't a title. - - - - - Get/Set the tooltip of the button. - - - - - Get/Set the the text of the button label. - - - - - Get/Set the url of a custom icon for the button. - - - - - Get/Set the width of thr button's custom icon. 16px by default. - - - - - Get/Set the height of thr button's custom icon. 16px by default. - - - - - Get/Set the width of the social dialog popup. - - - - - Get/Set the height of the social dialog popup. - - - - - Get/Set the top of the social dialog. By default it is centered. - - - - - Get/Set the left of the social dialog popup. By default it is centered. - - - - - Get/Set custom CssClass for the social button. - - - - - - - - - Get/Set the title of the compact dialog. - - - - - - - - - - - - - The class for creating a Google PlusOne Standard button. - - - - - - - - - Get/Set the size of the button. - - Takes a member of the enum. - - - - Get/Set the annotation type of the button. - - Takes a member of the enum. - - - - Get/Set the width of the button - used when annotation is displayed - - - - - The class for creating a LinkedIn Standard button. - - - - - - - - - Get/Set the counter mode for the button. - - Takes a member of the enum. - - - - Get/Set ShowZeroCount value for the button (whether a counter will be shown if its value will be zero). - - - - - Defines a Pinterest button for the www.pinterest.com social network - - - - - The button type for the Pinterest button - - - - - Get/Set the image's URL to be pinned. - - - - - Get/Set the description of the pinned image. This is equivalent to the title for other social networks. - - - - - Get/Set the URL from which the action on Pinterest is made. It is used in both for Pin-it and Follow buttons - - - - - Get/Set the counter mode for the button. - - Takes a member of the enum. - - - - The class for creating a Twitter Standard button. - - - - - - - - - Get/Set the counter mode for the button. - - Takes a member of the enum. - - - - Defines a Yammer button related to the yammer.com social network - - - - - The type of button to create for the respective instance - - - - - Define the Yammer network, to which the button is related - - - - - - - - - - - - - - - - - Representer of the StateLoad event. - - The source of the event. - A instance that contains the event data. - - - - Adds custom setting to the object - - KeyValuePair that should be added to the state - - - - Representer of the StateSave event. - - The source of the event. - A instance that contains the event data. - - - - Class holding all settings associated with accessibility support. - - - - Gets or sets the 'summary' attribute for the outer table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - Gets or sets the 'caption' attribute for the outer table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'caption' attribute for the respective - table. - - - - Gets or sets the 'summary' attribute for the column header table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - Gets or sets the 'caption' attribute for the column header table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'caption' attribute for the respective - table. - - - - Gets or sets the 'summary' attribute for the row header table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - Gets or sets the 'caption' attribute for the row header table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'caption' attribute for the respective - table. - - - - Gets or sets the 'summary' attribute for the data table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - Gets or sets the 'caption' attribute for the data table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'caption' attribute for the respective - table. - - - - Gets or sets the 'summary' attribute for the table which wraps the RadPivtoGrid control when the configuration panel is shown. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - Gets or sets the 'caption' attribute for the table which wraps the RadPivtoGrid control when the configuration panel is shown. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'caption' attribute for the respective - table. - - - - - Represents the method that handles the event of the control. - - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - The datasource of the control. - The text value of the control. - Boolean value defining whether all results should be displayed. - Instance of the userContext Dictionary object. - - - - Initializes a new instance of the class. - - The datasource of the control. - The text value of the control. - Boolean value defining whether all results should be displayed. - Instance of the userContext Dictionary object. - The selected item from the search context. - - - - Gets the DataSource of the control when the event is raised. - - The DataSource of the control when the event is raised. - - - - Gets the text value of the control when the event is raised. - - The text value of the control when the event is raised. - - - - Gets whether should return all matched items. - - Boolean value indicating whether should return all matched items. - - - - Gets the currenctly selected from the search context. - - An instance of the currently selected from the search context. - - - - Gets the user context added in the ClientDataRequesting event. - - An instance of the user context set in the ClientDataRequesting event. - - - - The type of object which the WebService method accepts as an input parameter. - - - - - Gets the text used as a search criteria. - - - - - Gets whether all results should be displayed. - - - - - Gets the currently selected SearchContextItem - - - Null when no item is selected or the SearchContext is not enabled. - - - - - Gets the user context added in the ClientDataRequesting event. - - - - - This class represents each item which will be passed to the client as a result from the web service call. - - - - - - - - - Text for the item to pass to the client. - - - - - Value for the item to pass to the client. - - - - - Custom dataItem for the item to pass to the client. - - - - - The enumerator that holds the possible values for the Animation property in TilePeekTemplateSettings. - - - - - No animation. This is the default value. - - Numeric value: 0 - - - - Shows the PeekTemplate container with a size increase from 0 to the size set in its properties. - - Numeric value: 1 - - - - Shows the PeekTemplate container with a change of the opacity from transparent to opaque. - - Numeric value: 2 - - - - Slides the PeekTemplate container down from its titlebar. - - Numeric value: 4 - - - - This enum is used to list the valid scrolling types provided in the TileList. - - - - - Scrolling mode is automatically set to Native or Accelerated depending on the device touch capabilities. - - - - - No scrollbar is displayed. - - - - - The displayed scrollbar is the one provided by the browser. - - - - - The displayed scrollbar is custom styled and accelerated. Best suitable for touch devices. - - - - - This enumeration controls the Selection Mode of RadTileList. - - - - - The default behaviour - tiles can not be selected. - - - - - Only one tile can be selected at a time. - - - - - Allows selection of multiple tiles. - - - - - JavaScript converter that converts the tile related types to JSON objects. - - - - - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - - - - For internal use - - - - - - - For internal use - - - - - - - Gets or sets the type. - - The type. - - - - The index of the allTiles index of the tile triggering the evnt. - - The offset. - - - - For internal use only. - - - - - - - Gets or sets the selected indices. - - The selected indices. - - - - Gets or sets a list of array with GroupIndex and UniqueTileID. - - The selected indices. - - - - Gets or sets the IsEnabled. - - The IsEnabled. - - - - Find a tile by name. - - Tile name - RadBaseTile - - - - Get all the tiles in a RadTileList - - Generic List of type RadBaseTile - - - - Get all selected tiles in a RadTileList - - Generic List of type RadBaseTile - - - - Unselects all selected tiles - - - - - Creates a PostBackOptions object that represents the RadTileList control's postback behavior, and returns the client script - generated as a result of the PostBackOptions. - - The client script that represents the RadTileList control's PostBackOptions. - - - - Loads the posted content of the list control, if it is different from the last posting. - - The key identifier for the control, used to index the postCollection. - A that contains value information indexed by control identifiers. - true if the posted content is different from the last posting; otherwise, false. - - - - Invokes the OnCheckedChanged and OnToggleStateChanged methods, - when the Checked and SelectedToggleStateIndex properties of the RadButton control have changed. - - - - - Raises the TileClick event of the RadTileList control. - - A ButtonClickEventArgs that contains the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the SelectionStateChanged event. - - - - - - - - - - - - - Gets or sets the height of the RadTileList control - - - - - Gets or sets the width of the RadTileList control - - - - - Gets a TileGroupCollection object that contains the tile groups of the TileList. - - - - - Gets or sets in how many rows the tiles will be ordered. - - - - - Gets or sets the value defining the scroll behavior of the TileList control. - - - Auto Scrolling mode is automatically set to Native or Accelerated depending on the device touch capabilities.
- None The scroll bars are hidden and the scrolling is disabled in the TileList container.
- NativeThe default behaviour - The native browser horizontal scroll bar is used for scrolling.
- Accelerated The native browser horizontal scroll bar is hidden and a custom touch scroll extender is used for scrolling. -
-
- - - Gets or sets the value indicating the TileList selection mode, giving the tiles ability to be selected on context menu click. - - - None The default behaviour - tiles can not be selected.
- Single Only one tile can be selected at a time.
- Multiple Allows selection of multiple tiles. -
-
- - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadTileList selection or clicks on a tile. - - - - - Gets or sets a value indicating whether a drag and drop functionality is enabled. - - - - - Gets or sets the URL of the page to post to from the current page when a tile - from RadTileList is clicked. - - - The URL of the Web page to post to from the current page when a tile from the - RadTileList control is clicked. The default value is an empty string (""), which causes - the page to post back to itself. - - - - - Adds or removes an event handler method from the TileClick event. - The event is fired when a tile is clicked. - - - - - Occurs when the selected index has changed. - - - - - This event is raised after the Selected property setter is called. - - - - - Gets or sets a value indicating the client-side event handler that is called - after the client object of RadTileList is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientLoad property to specify a - JavaScript function that is executed after - the client object of RadTileList is initialized. - A single parameter is passed to the handler, which is the - client-side RadTileList object. - - - The following example demonstrates how to use the OnClientLoad - property. - - <script language="javascript">
- function ClientLoadHandler(sender)
- {
- // perform actions after the TileList is initialized
- }
- </script>
-
- <telerik:RadTileList id="RadTileList1" runat="server" - OnClientLoad="ClientLoadHandler">
- </telerik:RadTileList>
-
-
-
- - - Gets or sets the name of the JavaScript function which handles the selecting of a tile client-side event. - - - The clientTileSelecting client-side event occurs before a tile is selected. - - - The clientTileSelecting event can be cancelled by setting its cancel client-side property to false. - - function onclientTileSelecting(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the selection of a tile client-side event. - - - The clientTileSelected client-side event occurs after a tile is selected. - - - The clientTileSelected event is called after a tile is selected. - - function onclientTileSelected(sender, args) - { - - } - - - - - - Gets or sets the name of the JavaScript function that will be called when a tile in a RadTileList is clicked. The event is cancelable. - - - - - Gets or sets the name of the JavaScript function that will be called when a tile in a RadTileList is clicked, after the OnClientClicking event. - - - - - Gets or sets the current TileGroups - - - - - Default constructor - - - - - Contains the tile, which triggers the event. - - - - - - - - - Returns false if there is no peek template or there are no children in the peek container - - - - - - - - - - - - Defines the badge rendered in the bottom right corner of the tile. - - Use the Badge property to configure the badge behavior. - - - - Defines the title rendered in the bottom left corner of the tile. - - Use the Title property to configure the tile behavior. - - - - Defines the peek template configuration settings. - - Use the PeekTemplateSettings property to configure the peek template behavior. - - - - - Raises the SelectionStateChanged event. - - - - - Gets or sets the URL of the page to navigate to, without posting the page back to the server. - - - - - Gets or sets the target window or frame in which to display the Web page content linked to when the NavigateUrl property when the control is clicked. - - - - - Gets or sets the shape of the tile. - - - Square Toolbars are rendered around the editor content area.
- Wide Toolbars are rendered in a moveable window.
-
-
- - Gets or sets the selected state of the tile. - The default value is false. - - Use the Selected property to determine whether the tile is selected or not. - - - - Gets or sets a value determinig if selection of the tile is enabled. Not applicable for tiles inside a RadTileList, - whether they can be selected is controlled by the TileList's SelectionMode property. - The default value is false. - - Use the Selected property to determine whether the tile is selected or not. - - - - - Gets or sets the Name proerty of a tile. - - - - - Gets the control, where the ContentTemplate will be instantiated in. You can add controls programmatically here. - - - You can use this property to programmatically add controls to the content area. - If you add controls to the ContentContainer the NavigateUrl property will be ignored. - - - RadContentTemplateTile.ContentContainer.Controls.Add(new LiteralControl("this will appear in the RadContentTemplateTile")); - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control content area. - - - You cannot set this property twice, or when you added controls to the ContentContainer. If you set - ContentTemplate the NavigateUrl property will be ignored. - - - - - This event is raised after the Selected property setter is called. - - - - - - - - - Creates a RadTextTile tile. - - - - - - - - - Gets the control, where the ContentTemplate will be instantiated in. You can add controls programmatically here. - - - You can use this property to programmatically add controls to the content area. - If you add controls to the ContentContainer the NavigateUrl property will be ignored. - - - RadContentTemplateTile.ContentContainer.Controls.Add(new LiteralControl("this will appear in the RadContentTemplateTile")); - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control content area. - - - You cannot set this property twice, or when you added controls to the ContentContainer. If you set - ContentTemplate the NavigateUrl property will be ignored. - - - - - Gets a value indicating whether the peek template should be shown on mouse in. - - - - - Gets a value indicating whether the peek template should be hidden on mouse out. - - - - - Get/Set the animation effect of the PeekTemplate conent element. - - - Takes one of the members of the Telerik.Web.UI.PeekTemplateAnimation enumerator. The default value is None. - - - - - Gets/Sets the duration of the animation in milliseconds. - - - - - Gets or sets when the interval after which the peek template will automatically show (in milliseconds). - - The value is in milliseconds. Defaults to 10000. Zero is equal to disabled. - - - Use together with property to control how and when the peek template will be shown. - - - The counter is reset when the peek template shows, not when it hides. In order to make sure there is a certain interval between the hiding and subsequent showing - the value of the must also be taken into account - - - - - - Gets or sets when the interval (in milliseconds) after which the peek template will automatically be closed. - - The value is in milliseconds and defaults to 7000. Zero is equal to disabled. - - Use together with property to control how and when peek template will be shown. - - - - - Gets or sets the name of a jquery extension method, which will be applied as easing on the animation. - Possible values are: - swing, - easeLinear, - easeInQuad, - easeOutQuad, - easeInOutQuad, - easeInCubic, - easeOutCubic, - easeInOutCubic, - easeInQuart, - easeOutQuart, - easeInOutQuart, - easeInQuint, - easeOutQuint, - easeInOutQuint, - easeInSine, - easeOutSine, - easeInOutSine, - easeInExpo, - easeOutExpo, - easeInOutExpo, - easeInCirc, - easeOutCirc, - easeInOutCirc, - easeInElastic, - easeOutElastic, - easeInOutElastic, - easeInBack, - easeOutBack, - easeInOutBack, - easeInBounce, - easeOutBounce, - easeInOutBounce, - - - - - Contains the old Selected property value - - - - - Contains the tile, whose SElection state is changed. Neded bacuse the same event args will be passed to the TileSelectionChangedEvent TileList event. - - - - - Creates a RadIconTile tile. - - - - - Gets or sets the url of the image which will be renderd in the tile. - - - - - Creates a RadImageAndTextTile tile. - - - - - Gets or sets the url of the image which will be renderd in the tile. - - - - - Gets or sets the url of the image which will be renderd in the tile. - - - - - Creates an RadImageTile tile. - - - - - Gets or sets the url of the image which will be renderd in the tile. - - - - - Creates a RadTextTile tile. - - - - - Gets or sets the url of the image which will be renderd in the tile. - - - - - Gets or sets the number value of the badge. - - - - - Gets or sets the url of the image which will be renderd in the badge. - - - - - Gets or sets predefined image of the badge. - - - - - The enumerator that holds the possible values for predefined images of the badge. - - - - - Gets all tiles inside the group. - - - - - Gets all tiles inside the group. - - - - - - - - - - - - - - - - - - - - - Gets the children of the group. - - - - - - - - - The enumerator that holds the possible values for different tile shapes. - - - - - This property sets/gets the src of a title image, which will be displayed at the bottom left corner of the tile. - - - - - This property sets/gets the title text, which will be displayed at the bottom left corner of the tile. - - - - - Helper Class containing Static methods to be used for TileList's StatePersistence - - - - - - - An ArrayList collection with the TileGroupIndices structure - - - - - - - - - - - - - - - RadProgressManager Control - - - This partial class describes the Client Properties and Events of RadProgressArea. - - - - - Binds a data source to the invoked server control and all its child - controls. - - - - - Specifies the Text that is displayed in the header area of RadProgressArea. - - The header text. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadProgressArea will look for its .resx localization files. - - The localization path. - - - - Gets or sets the value indicating wether the Cancel button should be visible. - - The display cancel button. - - - - Specifies the localization of the RadProgressArea (the language which will be used). - - The default value is en-US. - - - <radU:RadUpload Language="es-Es" ... /> - - - <radU:RadUpload Language="es-Es" ... /> - - - - - - Specifies the client-side function to be executed when the Progress Area status is about to be updated. - - The default value is string.Empty. - - This example demonstrates how to set a javascript function to execute when the - client side progress area is about to be updated. - - <radU:RadProgressArea OnClientProgressUpdating="myOnClientProgressUpdating" ... /> - ... - <script> - function myOnClientProgressUpdating() - { - alert("The progress will be updated"); - } - </script> - - - <radU:RadProgressArea OnClientProgressUpdating="myOnClientProgressUpdating" ... /> - ... - <script> - function myOnClientProgressUpdating() - { - alert("The progress will be updated"); - } - </script> - - - Microsoft .NET Framework - - - - Specifies the client-side function to be executed when a progress bar is about to be updated. - - The default value is string.Empty. - Microsoft .NET Framework - - - - Gets or sets the progress indicators. - - The progress indicators. - - - - Gets or sets the progress template. - - The progress template. - - - - Provides access to the localization strings of the control. - - - This example demonstrates how to change the localization strings of RadProgressArea - object with code. - - RadProgressArea1.Localization["CancelButton"] = "Cancel"; - RadProgressArea1.Localization["ElapsedTime"] = "Elapsed time: "; - RadProgressArea1.Localization["EstimatedTime"] = "Estimated time: "; - RadProgressArea1.Localization["TransferSpeed"] = "Speed: "; - RadProgressArea1.Localization["CurrentFileName"] = "Uploading file: "; - RadProgressArea1.Localization["Uploaded"] = "Uploaded "; - RadProgressArea1.Localization["UploadedFiles"] = "Uploaded files: "; - RadProgressArea1.Localization["Total"] = "Total "; - RadProgressArea1.Localization["TotalFiles"] = "Total files: "; - - - RadProgressArea1.Localization("CancelButton") = "Cancel" - RadProgressArea1.Localization("ElapsedTime") = "Elapsed time: " - RadProgressArea1.Localization("EstimatedTime") = "Estimated time: " - RadProgressArea1.Localization("TransferSpeed") = "Speed: " - RadProgressArea1.Localization("CurrentFileName") = "Uploading file: " - RadProgressArea1.Localization("Uploaded") = "Uploaded " - RadProgressArea1.Localization("UploadedFiles") = "Uploaded files: " - RadProgressArea1.Localization("Total") = "Total " - RadProgressArea1.Localization("TotalFiles") = "Total files: " - - - - Localization name/value collection. - - - This property is intended to be used when there is a need to access the localization - strings of the control from the code behind. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Restores view-state information from a previous request that was saved with the System.Web.UI.WebControls.WebControl.SaveViewState() method. - - An object that represents the control state to restore. - - - - - - Saves any state that was modified after the System.Web.UI.WebControls.Style.TrackViewState() method was invoked. - - An object that contains the current view state of the control; otherwise, if there is no view state associated with the control, null. - - - - - - Causes the control to track changes to its view state so they can be stored in the object's System.Web.UI.Control.ViewState property. - - - - - - - - - - - - - - - Gets or sets the client callback function that will be called when a window - dialog is being closed. - This property is obsolete. Please use OnclientClose instead. For more information - visit http://www.telerik.com/help/aspnet-ajax/window-programming-using-radwindow-as-dialog.html - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element, whose - left and top position will be used as 0,0 of the RadWindow object when it is first - shown. - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element where - the windows will be "docked" when minimized. - - - - - Gets or sets the url of the icon in the upper left corner of the - RadWindow titlebar. - - - - - Gets or sets the url of the minimized icon of the - RadWindow. - - - - - Gets or sets a value indicating whether the RadWindow should have a shadow. - - - true if there should be shadow; otherwise - false. The default value is false. - - - - - Get or set the localization strings for the RadWindow via the inner properties. - - - - - Gets the collection of shortcuts which are specified for the current RadWindow/RadWindowManager. - Allows you to add shortcuts programmatically. - - - By default - the collection is empty. - - - - - Gets or sets a value indicating the allowed behaviors of this RadWindow/RadWindowManager - if resizing, maximizing, minimizing, etc. is available. - Each behavior is added to a comma separated list in the markup and with a logical OR statement in the code-behind. - - - Takes a combination of members of the the Telerik.Web.UI.WindowBehaviors enumerator - - - [C#]: - RadWindow1.Behaviors= Telerik.Web.UI.WindowBehaviors.Close | Telerik.Web.UI.WindowBehaviors.Move; - - [VB.NET]: - RadWindow1.Behaviors = Telerik.Web.UI.WindowBehaviors.Close Or Telerik.Web.UI.WindowBehaviors.Move - - - - - This property is obsolete. Please use Behaviors instead. - - - - - Get/Set the autosize behavior of the RadWindow - - - Takes a combination of the members of the Telerik.Web.UI.WindowAutoSizeBehaviors members - separated by commas in the markup and with logical OR in the code-behind - - - - - This property is obsolete. Please use InitialBehaviors instead. - - - - - Gets or sets a value indicating the initial behavior of the RadWindow - most useful to specify an initially minimized, maximized or pinned window. - - - For more information see this help article: - http://www.telerik.com/help/aspnet-ajax/window-behavior-initial-window-state.html - - - - - Gets or sets a value indicating whether the maximized window should have the biggest z-index - - The default value is true. - - - - Get/Set the animation effect of the RadWindow - - - Takes one of the members of the Telerik.Web.UI.WindowAnimation enumerator. The default value is None. - - - - - Gets/Sets the duration of the animation in milliseconds. - - - - - Get/Set the Width of the RadWindow in pixels. - - - - - Get/Set the minimum Width of the RadWindow in pixels. - - - - - - Get/Set the maximum Width of the RadWindow in pixels. - - - - - Get/Set the Height of the RadWindow in pixels. - - - - - Get/Set the minimum Height of the RadWindow in pixels. - - - - - Get/Set the maximum Height of the RadWindow in pixels - - - - - Get/Set a title for the RadWindow - - - - - Gets or sets the horizontal distance (in pixels) from the left edge of browser viewport, or from the top left corner of the OffsetElement (if set). - It is not applicable for a Modal RadWindow, which is always centered. - - - - - Gets or sets the vertical distance (in pixels) from the top edge of browser viewoirt, or from the top left corner of the OffsetElement (if set). - It is not applicable for a Modal RadWindow, which is always centered. - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element in which - the RadWindow will be able to move. This element must have explicit dimensions in pixels and they - must be sufficient to contain the RadWindow. - - - - - Gets or sets a value indicating whether the RadWindow will be disposed and made inaccessible once it is closed. - If property is set to true, the next time a window with this ID is requested, a new window with default settings is created and returned. - - The default value is false. - - This applies to the client-side objects and markup only. The server-side Windows collection will not be affected for the RadWindowManager. - - - - - Gets or sets a value indicating whether the page that is loaded in the RadWindow should be loaded everytime from the server or - will leave the browser default behaviour. - - The default value is false. - - - - Gets or sets a value indicating whether the page that is loaded - in the window should be shown during the loading process, or when it has finished loading. - - The default value is true. - - Should be kept to true when loading files in the RadWindow (e.g. PDFs) because in this case the page lifecycle is not the same and - the loading sign may never be hidden. - - - - - Gets or sets a value indicating whether the RadWindow will open automatically when its parent [aspx] page is loaded on the client. - - The default value is false. - - Also applies for AJAX requests. For showing a RadWindow once from the server examine this help article: - http://www.telerik.com/help/aspnet-ajax/radwindow-troubleshooting-opening-from-server.html - - - - Gets or sets a value indicating whether the RadWindow has a titlebar visible. - The default value is true. - - - - Gets or sets a value indicating whether the RadWindow has a visible status bar or - not. - - The default value is true. - - - Gets or sets a value indicating whether the RadWindow is modal or not. - The default value is false. - - - Gets or sets a value indicating whether if a modal RadWindow , should be centered automatically or not. - The default value is true. - - - Gets or sets a value indicating whether the RadWindow will create an overlay element to ensure it will be displayed over a flash element. - The default value is false. - - - - When set to true enables support for WAI-ARIA - - - - Gets or sets a value indicating what should the opacity of the RadWindow be. The value must be between 0 (transparent) and 100 (opaque). - The default value is 100. - - - Gets or sets a value indicating whether the RadWindow will stay in the visible viewport of the browser window. - The default value is false. - - - Gets or sets a value indicating whether the window will automatically resize itself according to its content or not. - The default value is false. - - - - Gets or sets the name of the client-side JavaScript function that executes when a RadWindow command (Restore, Minimize, Maximize, Pin On, Pin Off, Reload is raised. - - - - - Gets or sets the name of the client-side JavaScript function that executes when a RadWindow ResizeStart event is raised. - - - - - This property is now obsolete. Please use the OnClientResizeEnd property instead. - - - - - Gets or sets the name of the client-side JavaScript function that executes when a RadWindow Resize event is raised. - - - - - Gets or sets the name of the client-side JavaScript function that executes when a RadWindow DragStart event is raised. - - - - - Gets or sets the name of the client-side JavaScript function that executes when a RadWindow DragEnd event is raised. - - - - - Gets or sets the name of the client-side JavaScript function that executes when RadWindow AutoSize has finished. - - - - - Gets or sets the name of the client-side JavaScript function that is called when - the RadWindow control becomes the active visible window. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientActivate - client-side event handler is called when the RadWindow - control becomes the active visible window Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - - - The following example demonstrates how to use the - OnClientActivate property. - -
- <script type="text/javascript">
- function OnWindowActivateHandler(sender, args)
- {
- var window = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientActivate="OnWindowActivateHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - Gets or sets the name of the client-side JavaScript function that is called - just before the RadWindow is shown. The event can be cancelled. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientBeforeShow - client-side event handler that is called - just before the window is shown. Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientBeforeShow property. - -
- <script type="text/javascript">
- function OnClientBeforeShowHandler(sender, args)
- {
- var oWindow = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientBeforeShow="OnClientBeforeShowHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - Gets or sets the name of the client-side JavaScript function that is called when the RadWindow is shown. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShow - client-side event handler is called after the window is shown - Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientShow property. - -
- <script type="text/javascript">
- function OnClientShowHandler(sender, args)
- {
- var window = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientShow="OnClientShowHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - Gets or sets the name of the client-side JavaScript function that is called - when the page inside the RadWindow object completes loading. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientPageLoad - client-side event handler that is called - when the page inside the RadWindow object completes loading. Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - - - The following example demonstrates how to use the - OnClientPageLoad property. - -
- <script type="text/javascript">
- function OnPageLoadHandler(sender, args)
- {
- var window = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientPageLoad="OnPageLoadHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - Gets or sets the name of the client-side JavaScript function that is called when the RadWindow is closed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientClose - client-side event handler that is called - after the window is hidden. Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientClose property. - -
- <script type="text/javascript">
- function OnCloseHandler(sender, args)
- {
- var window = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientClose="OnCloseHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - Gets or sets the name of the client-side JavaScript function that is called - just before the RadWindow is closed. The event can be cancelled. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientClosing - client-side event handler that is called - just before the window is hidden. Two parameters are passed to the handler: - - sender, the RadWindow object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientClosing property. - -
- <script type="text/javascript">
- function OnClosingHandler(sender, args)
- {
- var window = sender;
- }
- </script> -
-
- <radsld:RadWindow ID="RadWindow1"
- runat= "server"
- OnClientClosing="OnClosingHandler">
- ....
- </radsld:RadWindow> -
-
-
-
- - - - - - - - - - - - - - - RadXmlHttpPanel class - - - - - - - - - - - - - Gets or sets the ID of the RadAjaxLoadingPanel control that will be displayed over the control during the partial page update. - - - - - Gets or sets a value that indicates how the content of an RadXmlHttpPanel control will be wrapped on a page. - Inline means the content will be wrapped in a span tag (Default), while Block means that the content will be wrapped in a div. - - - - - Gets or sets a boolean value indicating whether or not the client scripts loaded by the RadControls - hosted inside the RadXmlHttpPanel should be executed. - - - - - Gets or sets a string value that indicates the WebService method used by the RadXmlHttpPanel. - - - - - Gets or sets a string value that indicates the virtual path of the WebService used by the RadXmlHttpPanel. - - - - - Gets or sets the request method for WCF Service used to populate content GET, POST, PUT, DELETE - - - - - Gets or sets a string value that indicates the virtual path of the WCF Service used by the RadXmlHttpPanel. - - - - - Gets or sets a string value that indicates the WCF Service method used by the RadXmlHttpPanel. - - - - - Gets or sets a string value depending on which a certain content is loaded in the RadXmlHttpPanel. - - - - - Property to define the maximum length of the Value for the XmlHttpPanel. The default is 2097152?characters, which is equivalent to 4?MB of Unicode string data. - - - - - The event to raise when the XmlHttpPanel gets updated, does a callback or has a Value. - - - - - - - - - Represents the possible layout rendering options for the content of an RadXmlHttpPanel control on a page. - - - - - Specifies that the content of the RadXmlHttpPanel control is rendered inside an HTML "div" element. - - - - - Specifies that the content of the System.Web.UI.UpdatePanel control is rendered inside an HTML "span" element. - - - - - This Class gets or sets the name of - the temporary file and the TypeName in the MetaData object. - - - - - Gets or sets the name of the temporary file. - - The name of the temporary file. - - - - Gets or sets the TypeName. - - The TypeName. - - - - - - - RadAsyncUpload offers asynchronous upload capability while maintaining - the look of the regular RadUpload control.The upload process requires that - the files are uploaded to a custom handler and not to the hosting page. Files are stored in a - temporary location until a postback occurs. The temporary location is cleaned-up automatically. - Internally, RadAsyncUpload can choose between four modules for uploading - - IFrame,File Api, Flash and Silverlight. The module with higher priority is Silverlight. - If there is no Silverlight installed on the client machine, RadAsyncUpload will utilize - the Flash module. If there is no Flash as well, RadAsyncUpload will use the IFrame module - which is supported out of the box on all browsers. - - - - - - - - - - - - - Creates an object of type T (that implements IAsyncUploadConfiguration) - and populates all properties specified in the interface from this RadAsyncUpload instance. - The user is then free to populate any additional properties. - - Type that implements IAsyncUploadConfiguration - An object of type T populated with all properties specified in IAsyncUploadConfiguration - - - - Gets or sets the upload request identifier. - - If the value is IsNullOrEmpty - it is asigned NewGuid value. - The upload request identifier. - - - - Gets or sets whether to render the file input. - - When HideFileInput is set to True, only the select button will be rendered. - - - - Gets or sets whether to use application pool impersonation. - - The usage of application pool impersonation. - - - - Gets or sets the drop zones for upload. - - - The values of the property should be a valid jQuery selectors. E.g. class name or Id of html element. - - - - - Gets or sets whether the upload will be in chunks (2MB each) or the file will be uploaded with one request. - - The DisableChunkUpload. - - - - Gets or sets whether the upload will start automatically after the files are selected. - - The manual upload. - - - - Gets or sets the a value to control whether - RadAsyncUpload will use 3rd party plugins like - Flash/Silverlight or will stick to the native modules only (IFrame, File API). - - The DisablePlugins. - - - - Gets or sets the URL of the progress handler that takes care of the progress monitoring when the IFrame module is used. - - The progress handler URL. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadAsyncUpload will look for its .resx localization files. - - The localization path. - - - - Gets the collection of FileFilters objects - to be applied to the OpenFileDialog - - - A FileFilterCollection - containing FileFilters object that define - the filters applied to the OpenFileDialog - - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Specifies whether a new File Input should be automatically added upon selecting a file to upload. - - - - - Gets or sets the allowed file extensions for uploading. - - - Set this property to empty array of strings in order to prevent the file - extension checking. - - - The default value is empty string array. In order to check for multiple file - extensions you should set an array of strings containing the allowed file extensions - for uploading. - - - This example demonstrates how to set multiple allowed file extensions in a - RadUpload control. - - Dim allowedFileExtensions As String() = New String(2) {"zip", "doc", "config"} - RadAsyuncUpload1.AllowedFileExtensions = allowedFileExtensions - - - string[] allowedFileExtensions = new string[3] {"zip", "doc", "config"}; - RadAsyncUpload1.AllowedFileExtensions = allowedFileExtensions; - - - MaxFileSize Property - AllowedMimeTypes Property - - - - Gets or sets the allowed MIME types for uploading. - - - Set this property to string.Empty in order to prevent the - mime type checking. - - - The default value is empty string array. In order to check for multiple mime - types you should set an array of strings containing the allowed MIME types - for uploading. - - - This example demostrates how to set multiple allowed MIME types to a RadAsyncUpload - control. - - ' For example you can Get these from your web.config file - Dim commaSeparatedMimeTypes As String = "application/octet-stream,application/msword,video/mpeg" - - Dim allowedMimeTypes As String() = commaSeparatedMimeTypes.Split(",") - RadAsyncUpload1.AllowedMimeTypes = allowedMimeTypes - - - // For example you can get these from your web.config file - string commaSeparatedMimeTypes = "application/octet-stream,application/msword,video/mpeg"; - - string[] allowedMimeTypes = commaSeparatedMimeTypes.Split(','); - RadAsyncUpload1.AllowedMimeTypes = allowedMimeTypes; - - - MaxFileSize Property - AllowedFileExtensions Property - - - - Specifies whether RadAsyncUpload displays an inline progress next to each file being uploaded. - - - The default value is false - - - The InlineProgress is turned on by default. If you have RadProgressArea on the page both the area and the inline progress - are going to be shown. In order to suppres the InlineProgress, consider setting the property to false. - - - - - Specifies whether RadAsyncUpload performs check for write permissions upon load - - - The default value is true - - - The permissions check is turned on by default. You should disable it if you plan to upload - the files directly to the handler without using the temporary folder. If you still want to use temporary folder - make sure that you have set the TemporyFilesFolder property to a folder that has write permissions for the - - - - - Gets or sets the control objects visibility. - - The control objects visibility. - - - - Gets or sets the name of the client-side function which will be executed after all - selected files have been uploaded - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed before - a new fileinput is added to a RadAsyncUpload instance. This event can be cancelled. - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed after - a new fileinput is added to a RadAsyncUpload instance. The event cannot be cancelled - - The default value is string.Empty. - - - - Specifies whether RadAsyncUpload allows selecting multiple files in the File Selection dialog. - - The default value is Disabled - - Setting the MultipleFileSelection property to Automatic means that RadAsyncUpload will check the client's - browser capabilities and if there is support for multiple file selection he will enable it. If there is no such support, the - selection type would be still single. - - - - - Specify where the uploaded files should be positioned, below or above the current file input. - - The default value is AboveFileInput - - Setting the UploadedFilesRendering property to BelowFileInput means that RadAsyncUpload will render the uploaded files below the - current file input. Otherwise the uploaded files will be rendered above the file input. - - - - - Sets upload configuration that has additional information. The generic object can be obtained using the CreateUploadConfiguration <T> method, - where T is custom class that implements IAsyncUploadConfiguration. The custom class can contain any sort of custom data. - - - - - Specifies the URL of the HTTPHandler from which the image will be served - - - - - - Occurs once for each uploaded file. - - - - - Path to a folder where RadAsyncUpload should save files temporarily until a postback occurs. - - - The ASP.NET process needs to have Write permissions for the specified folder. Also note that in Medium Trust scenarios - this should point to a subfolder of the Application Path. - Defaults to App_Data\RadUploadTemp subfolder of the Application Path. - - - - - Sets how long temporary files should be kept before automatically deleting them. - The property accepts TimeSpan values. The default value is 4 hours. More information regarding the TimeSpan structure can - be found here - http://www.dotnetperls.com/timespan - - - Note that when a postback occurs temporary files are either saved as permanent or removed. - The expiration time is used only in cases when files are uploaded asynchronously, but a subsequent postback does not occur. - - - - - Gets or sets the name of the client-side function which will be executed when a file upload starts. - - The default value is string.Empty. - - <script type="text/javascript">
- function onClientFileUploading(sender, eventArgs)
- {
- var fileName = eventArgs.get_fileName();
- }
- </script>
- <telerik:RadAsyncUpload ID="RadAsyncUpload1"
- runat="server"
- OnClientFileUploading="onClientFileUploading">
- ....
- </telerik:RadAsyncUpload>
-
- - If specified, the OnClientFileUploading client-side event - is called whenever a file upload commences. - - - sender, the asyc upload client object; - eventArgs with one property: - - get_fileName(), the name of the file being uploaded. - - - - This event cannot be cancelled. - -
- - - Gets or sets the name of the client-side function which will be executed when a file upload finishes successfully.k - - The default value is string.Empty. - - <script type="text/javascript">
- function onClientFileUploaded(sender, eventArgs)
- {
- var fileName = eventArgs.get_fileName();
- }
- </script>
- <telerik:RadAsyncUpload ID="RadAsyncUpload1"
- runat="server"
- OnClientFileUploaded="onClientFileUploaded">
- ....
- </telerik:RadAsyncUpload>
-
- - If specified, the OnClientFileUploaded client-side event - is called when file is uploaded successfully. - - - sender, the asyc upload client object; - eventArgs with one property: - - get_fileName(), the name of the file that was uploaded. - - - - This event cannot be cancelled. - -
- - - Gets or sets the name of the client-side function which will be executed after files have been selected. - This event can be cancelled. - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed after a file has been dropped. - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed after a file has been selected. - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed when a file upload ends unsuccessfully. - - The default value is string.Empty. - - <script type="text/javascript">
- function onClientFileUploadFailed(sender, eventArgs)
- {
- var message = eventArgs.get_message();
- }
- </script>
- <telerik:RadAsyncUpload ID="RadAsyncUpload1"
- runat="server"
- OnClientFileUploadFailed="onClientFileUploadFailed">
- ....
- </telerik:RadAsyncUpload>
-
- - If specified, the OnClientFileUploadFailed client-side event - is called when a file fails to upload. One can set the set_handled property to false which - will forse the async upload to throw an exception the error message to the JavaScript console. - - - sender, the async upload client object; - eventArgs with three properties: - - get_message(), the error message containing the reason for the failed upload - get_handled(), gets a value indicating whether the developer will handle the error - set_handled(), sets a value indicating whether the developer will handle the error - - - - This event cannot be cancelled. - -
- - - Gets or sets the name of the client-side function which will be executed if the selected file has invalid extension - - The default value is string.Empty. - - <script type="text/javascript">
- function onClientValidationFailed(sender, eventArgs)
- {
- var fileName = eventArgs.get_fileName();
- var input = eventArgs.get_fileInputField();
- }
- </script>
- <telerik:RadAsyncUpload ID="RadAsyncUpload1"
- runat="server"
- OnClientValidationFailed="onClientValidationFailed">
- ....
- </telerik:RadAsyncUpload>
-
- - If specified, the onClientValidationFailed client-side event - is called when a file has invalid extension or its size exceeds the maximum allowed size - - - sender, the async upload client object; - eventArgs with two properties: - - get_fileName(), the name of the file that failed to upload. - get_fileInputField(), the file input field dom element. - - - - This event cannot be cancelled. - -
- - - Gets or sets the name of the client-side function which will be executed before a file input is deleted - from a RadAsyncUpload instance. The event can be cancelled. - - The default value is string.Empty. - - This example demonstrates how to implement a confirmation dialog when removing a - file input item. - - <radU:RadAsyncUpload OnClientFileUploadDeleting="myOnClientDeleting" ... /> - <script language="javascript"> - function myOnClientDeleting() - { - args.set_cancel(prompt("Are you sure?")); - } - </script> - - - <radU:RadAsyncUpload OnClientFileUploadingDeleting="myOnClientDeleting" ... /> - <script language="javascript"> - function myOnClientDeleting() - { - args.set_cancel(prompt("Are you sure?")); - } - </script> - - - - If you want to cancel the deleting of the file input return - false in the javascript handler. - - - - - Gets or sets the name of the client-side function which will be executed after a file input has been deleted - from a RadAsyncUpload instance. - - The default value is string.Empty. - - - - Gets or sets the client progress updating. - - The client progress updating. - - - Gets or sets the maximum file size allowed for uploading in bytes. - The default value is 0 (unlimited). - Set this property to 0 in order to prevent the file size checking. - AllowedMimeTypes Property - AllowedFileExtensions Property - - - Gets or sets the size of the uploading chunks in bytes. - The default value is 2097152(2MB). - When FileApi upload module is used the selected files are uploading on chunks and the property set theirs size. - - - Gets or sets whether the upload configuration to be persisted into ControlState(if the upload configuration is different than null). - The default value is fasle. - - - Comma separated values - controls' ids. If the property is set the client state is updated in case some of the enumerated controls, triggered a postback. - The default value is string.Empty. - - - - Gets or sets the initial count of file input fields, which will appear in RadAsyncUpload. - - - The file inputs count which will be available at startup. The default value is - 1. - - - - - Gets or sets the maximum file input fields that can be added to the control. - - The default value is 0 (unlimited). - - Using this property you can limit the maximum number of file inputs which can be - added to a RadAsyncUpload instance. MaxFileInputs count is only applicable when - MultipleFileSelection is set to Disabled - - InitialFileInputsCount Property - - - - Gets or sets the size of the file input field - - The default value is 23. - - - - Provides access to the valid files uploaded by the RadAsyncUpload - instance. - - - UploadedFileCollection containing all valid files uploaded using - a RadAsyncUpload control. - - - This example demonstrates how to save the valid uploaded files with a - RadAsyncUpload control. - - For Each file As Telerik.WebControls.UploadedFile In RadAsyncUpload1.UploadedFiles - file.SaveAs(Path.Combine("c:\my files\", file.GetName()), True) - Next - - - foreach (Telerik.Web.UI.UploadedFile file in RadAsyncUpload1.UploadedFiles) - { - file.SaveAs(Path.Combine(@"c:\my files\", file.GetName()), true); - } - - - - - - Gets or sets the virtual path of the folder, where RadUpload will automatically save the valid files after the upload completes. - - - A string containing the virtual path of the folder where RadUpload will automatically save the valid files - after the upload completes. The default value is string.Empty. - - - When set to string.Empty, the files must be saved manually to the desired location. - - - - - Gets or sets the value indicating whether the file input fields skinning will be enabled. - - - true when the file input skinning is enabled; otherwise false. - - - The <input type=file> DHTML elements are not skinnable by default. If the - EnableFileInputSkinning is true some browsers can have strange behaviour. - - - - - This class reads the source information and copyies it to the destination stream. - - - - - Reads the source information and copyies it to the destination stream. - - The source. - The destination. - - - - This Class defines the AutoCompleteBoxEntry object. It inherits both WebControl and - IMarkableStateManager. AutoCompleteBoxEntries are - displayed as a sequence of strings separated by a - delimiter in RadAutoCompleteBox. - - - - - This method marks the Parameter object so its state will be recorded in view state. - - - - - Gets or sets the data item. - - The data item. - - - Gets or sets the text of the AutoCompleteBox entry. - - - Gets or sets the value of the AutoCompleteBox entry. - - - - Indicates whether the item is new (custom item). - - - - - This Class gets or sets the log entries in the ClientState and enables or disables it. - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the delimiter symbols. - - - - - Gets or sets the enabled. - - The enabled. - - - - This Class defines a Collection of AutoCompleteBoxEntries. - - - - - Initializes a new instance of the AutoCompleteBoxEntryCollection class. - - - - - Returns a that represents the current - . - - - A that represents the current . - - - - - Represents the settings of the Token. - - - - - Gets a value indicating whether the text of the RadAutoComplete Tokens can be edited when user double clicks on it. - - - - - Represents the settings of the Token. - - - - - Gets a value indicating whether the user can select multiple entries. - - - - - This Class defines the AutoCompleteBoxData object. - - - - - Gets or sets the context. - - The context. - - - - Gets or sets the items. - - The items. - - - - This Class defines the DropDownItem that implements - Control and INamingContainer and its fields, constructors and methods. - - - - - Gets or sets the template. - - The template. - - - - Gets or sets the data item. - - The data item. - - - - Gets or sets the text. - - The text. - - - - Gets or sets the value. - - The value. - - - - Gets or sets the Templated. - - The Templated. - - - - This Class defines the AutoCompleteBoxItemData object - with fields Text, Value, Enabled and Attributes. This class is used - for transferring data to the client side. - - - - - - - - - Text for the item to pass to the client. - - - - - Value for the item to pass to the client. - - - - - A value indicating if the item to pass to the client is enabled. - - - - - Custom attributes for the item to pass to the client. - - - - - This enum specifies if the RadAutoCompleteFilter uses Contains or StartsWith functionality. - - - - - The DropDown is horizontally aligned to the currently typed text. - - Automatic = 0 - - - - The DropDown is horizontally aligned to the RadAutoCompleteBox. - - Static = 1 - - - - This enum specifies if the RadAutoCompleteFilter uses Contains or StartsWith functionality. - - - - - The default behaviour - the control can have multiple entries. - - Contains = 0 - - - - The control can have only one entry at a time. - - StartsWith = 1 - - - - This enum specifies if the RadAutoCompleteFilter uses Contains or StartsWith functionality. - - - - - RadAutoCompleteFilter is set to Contains filtering mode. - - Contains = 0 - - - - RadAutoCompleteFilter is set to StartsWith filtering mode. - - StartsWith = 1 - - - - This enum specifies whether the RadAutoCompleteInputType is a token or text. - - - - - RadAutoCompleteInputType is set to a Token. - - Token = 0 - - - - RadAutoCompleteInputType is set to Text. - - Text = 1 - - - - This Class defined the AutoCompleteEntryEventArgs event argument. - - - - - Gets or sets the entry. - - The entry. - - - - This Class defines the PostBack Arguments of RadAutoCompleteBox. - For internal use only. - - /// - - - - - Gets or sets the command. - - The command. - - - - Gets or sets the index. - - The index. - - - - Gets or sets the ClientState. - - The ClientState. - - - - Gets or sets the text. - - The text. - - - - Gets or sets the value. - - The value. - - - - This Class defines the RadAutoCompleteContext object and gets or sets the text in it. - - - - - Gets or sets the text. - - The text. - - - - This Class defines the AutoCompleteDropDownItem event argument. - - - - - Gets or sets the item. - - The item. - - - - Provides data for the AutoCompleteText - event of the RadAutoCompleteBox control. - - - - - Gets or sets the text. - - The text. - - - - Telerik RadAutoCompleteBox for ASP.NET AJAX is a powerful - drop-down list control which gives the ability to - select multiple entries, displaying them as a sequence of strings - separated by a delimiter, or fancy styled tokens depending on your preferences. - - - Telerik RadAutoCompleteBox for ASP.NET AJAX is a powerful - drop-down list control which gives the ability to - select multiple entries, displaying them as a sequence of strings - separated by a delimiter, or fancy styled tokens depending on your preferences. - - - This partitial Class describes the client - properties and the client events in RadAutoCompleteBox. - - - - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadAutoCompleteBox selection and/or text. - - - - - Gets or sets a value indicating how the items text should be formatted. - - - - - Gets or sets a value indicating whether the RadAutoCompleteBox should apply ?Contains? or ?StartsWith? filter logic. - - - - - Gets or sets a value indicating how the RadAutoCompleteBox items should be displayed - as tokens or as text. - - - - - Gets or sets a value indicating how the RadAutoCompleteBoxDropDown should be positioned. - - - - - Gets the text of the input field. - - - The text composed of all the AutoCompleteBoxEntries separated by a delimiter. The default is empty string. - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - Gets the RadAutoCompleteBox - entries collection. - - - - - Gets or sets the DataTextField. - - The DataTextField. - - - - Gets or sets the DataValueField. - - The DataValueField. - - - - Gets or sets a value indicating whether the user will be able to add a custom text not present - within the raw data in order to create a custom entry. - - - - - Gets or sets a value indicating what delimiter should be used when the control displays the selected items as text (InputType = Text) - - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - Gets or sets the template for the items that appear in the dropdown. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - - Gets or sets the template for the items that appear in the dropdown. - - - - Gets the settings for the web service used to populate items. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public DropDownDataItemData[] WebServiceMethodName(object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - Gets or sets the height of the dropdown in pixels. - - - - - Gets or sets the height of the Web server control. - - A that represents the - height of the control. The default is . - - The height was set to a negative - value. - - - - - Gets or sets the width of the dropdown in pixels. - - - - - Gets or sets a value indicating what message will be displayed then the control is empty (has no entries selected). - - - - The HTML Z-index of the items dropdown of RadAutoCompleteBox. Its default value is 7000. - - Can be used when the dropdown is to be shown over content with a specified - Z-index. If the RadAutoCompleteBox items dropdown is displayed below the content, set the - ZIndex property to a value higher than the value of the HTML content - below. - - - - - Gets the Tokens settings. - - - - - Gets the Text settings. - - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadAutoCompleteBox will look for its .resx localization files. - - The localization path. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets or sets the label of the control. - - The label of the control. - - - - Gets or sets the css class of the label. - - The label CSS class. - - - - Gets or sets the width of the control's label - - - - Occurs before template is being applied to the dropdown item. - - The DropDownTemplateNeeded event is commonly used for dynamic templating. - - - - - Occurs when an entry is added - - - - - Occurs when an entry is removed - - - - - Occurs when the text is changed - - - - - Occurs before a select command is sent to the datasource. - - - - - Gets or sets the name of the JavaScript function which handles the load client-side event. - - - The load event occurs when RadAutoCompleteBox is initialized. - - - - - Gets or sets the name of the JavaScript function called when the dropdown is about to be opened - - - The OnClientDropDownOpening event can be cancelled by setting its cancel client-side property to false. - - function onClientDropDownOpening(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called when the dropdown is opened - - - - - Gets or sets the name of the JavaScript function called when the dropdown is about to be closed - - - The OnClientDropDownClosing event can be cancelled by setting its cancel client-side property to false. - - function onClientDropDownClosing(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called when the dropdown is closed - - - - - Gets or sets the name of the JavaScript function called when an DropDownItem is created during Web Service Load on Demand. - - - - - Gets or sets the name of the JavaScript function called when an entry is about to be added - - - The OnClientEntryAdding event can be cancelled by setting its cancel client-side property to false. - - unction onClientEntryAdding(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called when an entry was added - - - - - Gets or sets the name of the JavaScript function called when an entry is about to be removed - - - The OnClientEntryAdding event can be cancelled by setting its cancel client-side property to false. - - unction onClientEntryRemoving(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called when an entry was removed - - - - - Gets or sets the name of the JavaScript function called when the text is changed - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadAutoCompleteBox is about to be populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnItemsRequesting client-side event - handler is called when the RadAutoCompleteBox is about to be populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with three properties: - - get_context(), an user object that will be passed to the web service. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadAutoCompleteBox items were just populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientRequested client-side event - handler is called when the RadAutoCompleteBox items were just populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs, null for this event. - - This event cannot be cancelled. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the RadAutoCompleteBox has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientRequestFailed client-side event - handler is called when the operation for populating the RadAutoCompleteBox has failed. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with one property: - - set_cancel(), set to true to suppress the default action (alert message). - - - - This event can be cancelled. - - - - - Enumeration of the supported Barcode rendering types - - - - - Render the Barcode as SVG or VML (for older browsers) - - - - - Render the Barcode as PNG embadded into Data URI in img tag. - - - - - Enumeration of supported barcode standards - - - - - Code 11 - - - - - Code 128 - - - - - Code 128 Set A - - - - - Code 128 Set B - - - - - Code 128 Set C - - - - - Code 39 (also known as Alpha39, Code 3 of 9, Code 3/9, Type 39, USS Code 39, or USD-3) - - - - - Code 39 Extended - - - - - EAN-8 8 digit European Article Number (also known as International Article Number) - - - - - EAN-13 13 digit European Article Number (also known as International Article Number) - - - - - Codabar barcode - - - - - MSI (Modified Plessey) barcode mod 10 - - - - - MSI (Modified Plessey) barcode mod 11 - - - - - MSI (Modified Plessey) barcode mod 10 + mod 10 - - - - - MSI (Modified Plessey) barcode mod 10 + mod 11 - - - - - Code 25 Standard (Industrial) - - - - - Code 25 Interleaved - - - - - Code 93 - - - - - Code 93 Extended - - - - - UPC-A Universal Product Code - - - - - UPC-E Universal Product Code - - - - - UPC-A (Universal Product Code) plus 2 digit suplement - - - - - UPC-A (Universal Product Code) plus 5 digit suplement - - - - - Postnet Barcode - - - - - QR (Quick Response) code - - - - - An enumeration of checksum types for MSI code type. - - - - - Modulo 10, the default. - - - - - Modulo11. - - - - - Two modulo 10 checksums. - - - - - Modulo 11 and modulo 10 checksums. - - - - - This is the base class for all simple barcodes, such as Code39, and Code128. - - - - - This is the base class for symbology1D, outlining the base logic. - - - - - Initializes a new instance of the class. - - - - - This determines whether a checksum should be generated for the code. - - - - - GapChar. - - - - - BarChar. - - - - - This method generates the geometry for each segment of the control. - - - - - This is the checksum for the code. - - - - - This is the Code11 declaration. - - - - - Prefix. - - - - - Suffix. - - - - - This is the Code39 declaration. - - - - - Initializes a new instance of the class. - - - - - This method validates the text. - - - - - Gets the indices for the text. - - - - - Gets the indices for the text. - - - - - Code128 class. - - - - - Initializes a new instance of the class. - - - - - Gets the indices for the text. - - - - - Code12B class. - - - - - Initializes a new instance of the class. - - - - - Gets the indices for the text. - - - - - Code128C class. - - - - - Initializes a new instance of the class. - - - - - Gets the indices for the text. - - - - - This is the Code39 declaration. - - - - - Prefix. - - - - - Suffix. - - - - - Initializes a new instance of the class. - - - - - This method validates the text of the barcode. - - - - - This is the EAN13 Barcode type. - - - - - This is the Base Class for EAN UPC codes. - - - - - Padding. - - - - - Charset. - - - - - Initializes a new instance of the class. - - - - - Gets the symbols for any code. - - - - - Calculates the checksum for the code. - - - - - Gets or sets the LeadingTextboxText. - - The LeadingTextboxText. - - - - Gets or sets the MainPart1TextboxText. - - The MainPart1TextboxText. - - - - Gets or sets the MainPart2TextboxText. - - The MainPart2TextboxText. - - - - Gets or sets the EndTextboxText. - - The EndTextboxText. - - - - Gets or sets the SecondaryTextboxText. - - The SecondaryTextboxText. - - - - Prefix. - - - - - Suffix. - - - - - Center code. - - - - - Right. - - - - - Parity. - - - - - Encoding. - - - - - Initializes a new instance of the class. - - - - - Gets the first part of the text. - - - - - Gets the encoding for the code type. - - - - - Validates the value. - - - - - Sets the textbox values. - - - - - SEts the left part of the text. - - - - - Sets the right part of the text. - - - - - Exposes the parity property. - - - - - Exposes the encoding property. - - - - - This is the EAN8 Barcode type. - - - - - LEft. - - - - - Right. - - - - - Prefix. - - - - - Suffix. - - - - - Center. - - - - - Initializes a new instance of the class. - - - - - Gets the encoding for the code type. - - - - - This is the Postnet declaration. - - - - - Initializes a new instance of the class. - - - - - This method generates the geometry for each segment of the control. - - - - - Gets the encoding for the code type. - - - - - Validates the postnet value. - - - - - Gets the checksum for the code. - - - - - Gets the checksum for the code. - - - - - This is the UPCE Barcode type. - - - - - Prefix. - - - - - Suffix. - - - - - Initializes a new instance of the class. - - - - - Encodes the data. - - - - - Validates the value. - - - - - Gets symbols if needed. - - - - - Sets textbox values. - - - - - Gets head text. - - - - - Gets tail text. - - - - - Gets left text. - - - - - Validates the value. - - - - - Holds collection of settings for the QRCode mode of RadBarcode control - - - - - Use this to specify size of the barcode dots in pixels. - Use this to achieve sharp rendered QR Code. - You can use this in combination with Width=?? and Higth=?? and the QR will be sized according to the number of its dots. - If you set DotSize to zero, the QR symbol will be resized to fill up the Width and Height. - - - - - Set to true to increase the Version automatically in order to encode longer text, if you are not sure what version to set. - By default is set to false. - - - - - There are four values available for this property - Alphanumeric, Numeric, Byte and Kanji. - Essentially, this determines the sets of acceptable symbols - numbers, characters, etc. - - - - - This is an integer value, in the range from 1 to 40, representing the version which one desires to use. - Usually, higher-version QR codes are used do accommodate larger amounts of data. - - - - - There are four possible values to choose from - L(Low), M(Medium), Q(Quartile), H(High). - These values allow for 7%, 15%, 25% and 30% recovery of symbol code words. - Additionally, choosing a higher version of error correction dedicates a larger portion of modules for error correction. - Thus, given two QR codes with the same sizes, the one with a lower error correction level would be able to accommodate more data. - - - - - (Extended Channel Interpretations Encoding) property allows for additional data to be applied to the FNC1 data. - Please, keep in mind, that this is only applicable with FNC1Mode.FNC1SecondPosition. - Additionally, the acceptable data for this property is in the range {a-z}],{[A-Z} and {00-99}. - Do not change the encoding if you plan to decode your barcodes on smartphones. - Some readers are working with the default encoding only. - - - - - This mode is used for messages containing data formatted either in accordance with the UCC/EAN Application Identifiers standard, - or in accordance with a specific industry standard previously agreed with AIM International. - - - - - This property allows for additional data to be applied to the FNC1 data. - Please, keep in mind, that this is only applicable with FNC1Mode.FNC1SecondPosition. - Additionally, the acceptable data for this property is in the range {a-z}],{[A-Z} and {00-99}. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the CodeWordsPerBlock. - - The CodeWordsPerBlock. - - - - Gets or sets the FirstBlockCount. - - The FirstBlockCount. - - - - Gets or sets the FirstDataCodeWords. - - The FirstBlockCount. - - - - Gets or sets the SecondBlockCount. - - The SecondBlockCount. - - - - Gets or sets the SecondBlockCodeWords. - - The SecondBlockCodeWords. - - - - Initializes a new instance of the class. - - - - - Gets or sets the Version. - - The Version. - - - - Gets or sets the ErrorCorrection. - - The ErrorCorrection. - - - - TODO: Update summary. - - - - - TODO: Update summary. - - - - - Gets or sets the UnicodeValues. - - The UnicodeValues. - - - - Gets or sets the EncodedValues. - - The EncodedValues. - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the CharSet. - - The CharSet. - - - - Gets or sets the Encoding. - - The Encoding. - - - - Initializes a new instance of the class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the ByteMode class. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - This method encodes the data for the Kanji Mode. - - - - - Validates the data, to ensure no invalid characters are present. - - - - - These are the modes available for the QR control. - - - - - Determines the type of code, such as Numeric, Alphanumeric, Byte or Kanji. - - - - - Byte Mode. - - - - - Allows Numbers [0-9]. - - - - - Allows characters or numbers. - - - - - Kanji Mode. - - - - - Determines how much data is available for error correction. - - - - - Low. - - - - - Medium. - - - - - Quartil. - - - - - High. - - - - - Determines the Extended Channel Interpretation mode, which allows for encoding of characters from other sets. - - - - - None. - - - - - ECI 9. - - - - - ECI 8. - - - - - ECI 7. - - - - - ECI 6. - - - - - ECI 5. - - - - - ECI 4. - - - - - ECI 3. - - - - - ECI 2. - - - - - ECI 1. - - - - - ECI 10. - - - - - ECI 11. - - - - - ECI 13. - - - - - ECI 15. - - - - - ECI 17. - - - - - ECI 21. - - - - - ECI 22. - - - - - ECI 23. - - - - - ECI 24. - - - - - ECI 27. - - - - - Signifies application of special formatting to the code data. - - - - - None. - - - - - FNC 1 in first position. - - - - - FNC 1 in second position. - - - - - TODO: Update summary. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - This is the true/false values representing each module in the QR code. - - - - - This is a matrix, reflecting the filled modules/positions in the QR code matrix. - - - - - RadBarcodeEAN8 is a control which encodes numbers into a series of bars. - It is of fixed length, of 7 digits, and accepts numbers only. - It includes a checksum, for a total of 8 characters in the code. - - - - - This is the base class for all multi section bar codes. These are codes, which - consist of more than one section, such as EAN13, UPCA. - - - - - This method gets all trailing zeros in a string. - - - - - This method gets all leading zeros in a string. - - - - - Gets or sets the RightText. - - - - - Gets or sets the LeadingText. - - - - - Gets or sets the TrailingText. - - - - - This is the base class for all one section codes. - - - - - UPCA is a barcode symbology, which consists of 12 digits, one of which is a checksum. - - - - - Gets or sets the LeadingText. - - - - - Gets or sets the TrailingText. - - - - - This is the UPCA Barcode type. - - - - - Gets the encoding for this code type. - - - - - Validates the code text. - - - - - Sets the textbox values. - - - - - Gets last sextion text. - - - - - Gets left part text. - - - - - Gets right part text. - - - - - RadBarcodeEAN13 is a control which encodes numbers into a series of bars. - It is of fixed length, of 7 digits, and accepts numbers only. - It includes a checksum. - - - - - RadBarcodeEAN8 is a control which encodes numbers into a series of bars. - It is of fixed length, of 7 digits, and accepts numbers only. - It includes a checksum. - - - - - RadBarcode control. Control for rendering Barcode or QR text into an Image or SVG - - - - - Gets rendered Barcode as Image - - - - - Renders the begin tag of RadBarcode control into HtmlTextWriter - - - - - - Gets a collection of script descriptors that represent ECMAScript (JavaScript) - client components. - - - An collection of - objects. - - - - - Gets a collection of objects - that define script resources that the control requires. - - - An collection of - objects. - - - - - Specify additional settings when using Type="QRCode" - - - - - Specify the alternate text for the img tag of RadBarcode - - - - - "Specify width of lines in pixels when OutputType is EmbeddedPNG" - - - - - - Specify the barcode standard that should be used - - - - - Specify the text that will be encoded as barcode - - - - - Specify the width of the rendered barcode - - - - - Specify the height of the rendered barcode - - - - - Get or set the length ration between shorter and longer lines in the barcode - - - - - Get or set the Y position of the barcode text in percents. By default is 100%. - If bottom of the text is cut off by the border of the barcode, - than set this property to lower value like 90, or 80, depending on the font size. - - - - - Get ot set whenever to include checksum into the rendered barcode - - - - - Get ot set whenever to show human readable text under the barcode - - - - - Get or set whenever to include the checksum after the text under the barcode - - - - - Change the output type of RadBacrode. - Use SVG_VML to render SVG (or VML for older browsers) element inside the HTML. - Use EmbeddedPNG to render img tag with Data URI for src. - - - - - When set to true enables support for WAI-ARIA - - - - - MSI is a continuous, non-self-checking symbology. The length of an MSI bar code is variable. - - - - - Gets or sets the ChecksumType. - - The ChecksumType. - - - - Contains helper methods to retrieve and convert between image formats - - - - - Converts the specified image to a byte array - - The object to convert - The output to convert the image to - - - - Converts a byte array containing image data into an object. - - The binary image data to convert - - - - Retrieves the MIME type of the specified binary image data - - A byte array containing the binar image data - - - - Retrieves the of the specified binary image data - - A byte array containing the binary image data - - - - Gets a value indicating whether the image is in TIFF format. - - A byte array containing the binary image data - - - - Gets a value indicating whether the image is in PNG format. - - A byte array containing the binary image data - - - - Gets a value indicating whether the image is in GIF format. - - A byte array containing the binary image data - - - - Gets a value indicating whether the image is in JPEG format. - - A byte array containing the binary image data - - - - Gets a value indicating whether the image is in BMP format. - - A byte array containing the binary image data - - - - Removes any beginning non-header bytes from the binary image data. After - the removal, the image header is guaranteed to start from the first byte index. - - A byte array containing the binary image data - - - - Returns the starting offset of the image header in the specified byte array. - - A byte array containing the binary image data - - - - The Telerik.Web.UI.RadComboBoxDropDownAutoWidth enumeration supports two values - Enabled and Disabled. - - - - - This Class defines the RadComboBoxDefaultItem that inherits the RadComboBoxItem. - - - - - Represents an individual item in a control. - - - Represents an individual item in a control. - - - RadComboBoxItem class. - - - - - Returns true if the control is rendered by the ControlItem itself; - false if it was added by the user to the Controls collection. - - - - - - - - - - - - - The ID property is reserved for internal use. Please use the Value property or - use the Attributes collection if you need to assign - custom data to the item. - - - - - Gets the zero based index of the item. - - - - - Gets or sets the access key that allows you to quickly navigate to the Web server control. - - - The access key for quick navigation to the Web server control. - The default value is String.Empty, which indicates that this property is not set. - - - The specified access key is neither null, String.Empty nor a single character string. - - - - - - - - - - - - - - - - - Renders the HTML opening tag of the control to the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Renders the HTML closing tag of the control into the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - Does not set the Value property of the instance. - - The text of the item. - - - - Initializes a new instance of the class. - - The text of the item. - The value of the item. - - - - Compares two instance for equality. - returns 0 if equal, a positive number if the first is greater than the - second, and a negative number otherwise. - - - - - - - Removes this instance. - - - May throw exception: Cannot remove a RadComboBoxItem that has not been added to a RadComboBox parent. - - - - Gets or sets the text caption for the combobox item. - The text of the item. The default value is empty string. - - Use the Text property to specify the text to display for the - item. - - - - Gets or sets the value for the combobox item. - The value of the item. The default value is empty string. - - Use the Value property to specify the value - - - - - Gets the RadComboBox instance which contains the current item. - - - - - Gets the RadComboBox instance which contains the current item. - - - - Gets or sets the selected state of the combobox item. - The default value is false. - - Use the Selected property to determine whether the item is selected or not. - - - - Gets or sets the checked state of the combobox item. - The default value is false. - - Use the Checked property to determine whether the item is checked or not. - - - - Gets or sets the tooltip of the combobox item. - - - - Sets or gets whether the item is separator. It also represents a logical state of - the item. Might be used in some applications for keyboard navigation to omit processing - items that are marked as separators. - - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - Gets or sets the path to an image to display for the item when it is disabled. - - The path to the image to display for the item. The default value is empty - string. - - - Use the DisabledImageUrl property to specify the image for the item when it is disabled. If - the DisabledImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - Gets or sets the text caption for the default item. - The text of the item. The default value is empty string. - - Use the Text property to specify the text to display for the - item. - - - - Gets or sets the value for the default item. - The value of the item. The default value is empty string. - - Use the Value property to specify the value - - - - - Specifies the rendering mode of the control. - - - - - Renders the control in "classic" mode i.e. compatibility with older browsers is preserved. - - - This is the default value. - - - - - Renders the control using HTML 5 markup and CSS 3. - - - Using HTML 5 and CSS 3 greatly reduces the size and the complexity of the html/css used to skin the control. - - - - - Renders the control as a native HTML element. For now, only RadComboBox supports such rendering. - - - For now, only RadComboBox supports such rendering. - - - - - Export Infrastructure exception - - - - - ExportInfrastructureException constructor - - Exception message - - - - Provides data for the Click event. - - - - - Initializes a new instance of the ButtonClickEventArgs class with the specified arguments. - - Indicates whether the Split Button was clicked. - - - - Initializes a new instance of the ButtonClickEventArgs class with another ButtonClickEventArgs object. - - A ButtonClickEventArgs that contains the event data. - - - - Gets or sets a bool value that indicates whether the click event was initiated by clicking the Split Button - - - - - Specifies the possible values for the SplitButtonPosition property of the RadButton control. - - - - - The Split Button is rendered on the right (to the right of the text) of the control. - - - - - The Split Button is rendered on the left (to the left of the text) of the control. - - - - - Provides data for the Command event. - - - - - Initializes a new instance of the ButtonCommandEventArgs class with the specified arguments. - - The command name of the RadButton control. - The command argument of the RadButton control. - Indicates whether the Split button was clicked. - - - - Initializes a new instance of the ButtonClickEventArgs class with another ButtonCommandEventArgs object. - - A ButtonCommandEventArgs that contains the event data. - - - - Gets or sets a bool value that indicates whether the command event was initiated by clicking the Split Button. - - - - - Represents the method that will handle the ToggleStateChanged event. - - - - - JavaScript converter that converts the RadButtonToggleState type to JSON object. - - - - - - - - Gets or sets the parent RadButton control used to resolve the client URLs. - - - - - - - - This class represents a single RadButton ToggleState when the RadButton control is used as custom toggle button. - - - This class represents a single ToggleState when the RadButton control is used as custom toggle button. - - - - - Creates a RadButton ToggleState. - - - - - Creates a RadButton ToggleState. - - The Text of the ToggleState. - - - - Creates a RadButton ToggleState. - - The Text of the ToggleState. - The CssClass of the ToggleState. - - - - Creates a RadButton ToggleState. - - The Text of the ToggleState. - The CssClass of the ToggleState. - The Value of the ToggleState. - - - - - - - - - - - - Gets or sets the text displayed in the RadButton control. - - - - - Gets or sets optional Value. - - - - - Gets or sets a bool value indicating whether the ToggleState is selected or not. - - - - - Gets or sets the CSS class applied to the RadButton control. - - - - - Gets or sets the CSS class applied to the RadButton control when the mouse pointer is over the control. - - - - - Gets or sets the CSS class applied to the RadButton control when the control is pressed. - - - - - Gets or sets the width of the RadButton control. - - - - - Gets or sets the height of the RadButton control. - - - - - Gets or sets the CSS class applied to the Primary Icon. - - - - - Gets or sets the URL to the image used as Primary Icon. - - - - - Gets or sets the URL to the image showed when the Primary Icon is hovered. - - - - - Gets or sets the URL to the image showed when the Primary Icon is pressed. - - - - - Gets or sets the Height of the Primary Icon. - - - - - Gets or sets the Width of the Primary Icon. - - - - - Gets or sets the top edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the bottom edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the left edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the right edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the CSS class applied to the Secondary Icon. - - - - - Gets or sets the URL to the image used as Secondary Icon. - - - - - Gets or sets the URL to the image showed when the Secondary Icon is hovered. - - - - - Gets or sets the URL to the image showed when the Secondary Icon is pressed. - - - - - Gets or sets the Height of the Secondary Icon. - - - - - Gets or sets the Width of the Secondary Icon. - - - - - Gets or sets the top edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the bottom edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the left edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the right edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets a bool value indicating how the Image is used - i.e. as a background image or as an Image Button. - - - - - Gets or sets the location of an image to display in the RadButton control. - - - - - Gets or sets the location of an image to display in the RadButton control, when the mouse pointer is over the control. - - - - - Gets or sets the location of an image to display in the RadButton control, when the control is pressed. - - - - - The RadButton control that contains the ToggleState. - - - - - JavaScript converter that converts the RadButtonIcon type to JSON object. - - - - - - - - Gets or sets the parent RadButton control used to resolve the client URLs. - - - - - - - - JavaScript converter that converts the RadButtonImage type to JSON object. - - - - - - - - Gets or sets the parent RadButton control used to resolve the client URLs. - - - - - - - - RadButton control provides the features, that ASP.NET: Button, ImageButton, LinkButton, RadioButton and CheckBox controls have. - - - - - - - - - - - - - - - - - The Enabled property is reset in AddAttributesToRender in order - to avoid setting disabled attribute in the control tag (this is - the default behavior). This property has the real value of the - Enabled property in that moment. - - - - - Adds the attributes of the RadButton control to the output stream for rendering on the client. - - An HtmlTextWriter that contains the output stream to render on the client. - - - - - - - - Renders a button from a given toggle state - - - - - Renders an element that contains the Text of the RadButton control - - - - - Renders an element that contains the Text of the RadButton control - - - - - Adds attributes to the input when EnableBrowserButtonStyle=true - - An HtmlTextWriter that contains the output stream to render on the client. - - - - Adds font related style attributes to a given element. - - An HtmlTextWriter that contains the output stream to render on the client. - - - - Renders the Primary and Secondary icons of the RadButton control. - - - - - Renders the Primary and Secondary icons of the RadButton control. - - - - - Creates a PostBackOptions object that represents the RadButton control's postback behavior, and returns the client script - generated as a result of the PostBackOptions. - - The client script that represents the RadButton control's PostBackOptions. - - - - Creates a PostBackOptions object that represents the RadButton control's postback behavior. - - A PostBackOptions that represents the RadButton control's postback behavior. - - - - Raises the Click event of the RadButton control. - - A ButtonClickEventArgs that contains the event data. - - - - Raises the Command event of the RadButton control. - - A ButtonCommandEventArgs that contains the event data. - - - - Raises the CheckedChanged event of the RadButton control. - - - - - - Raises the ToggleStateChaned event of the RadButton control. - - - - - - Raises events for the RadButton control when it posts back to the server. - - The argument for the event. - - - - - - - - Invokes the OnCheckedChanged and OnToggleStateChanged methods, - when the Checked and SelectedToggleStateIndex properties of the RadButton control have changed. - - - - - - - - - - - - - - - - - Clears out the list selection and sets the Selected property of all ToggleState objects to false. - - - - - Sets the selected state by provided value. - If multiple ToggleStates have equal value the first one will be selected. - If ToggleState with the provided value is not registered the current ToggleState will not be changed. - - Value of the ToggleState to be selected - - - - Sets the selected state by provided value. - If multiple ToggleStates have equal value the first one will be selected. - If ToggleState with the provided value is not registered the current ToggleState will not be changed. - - Text of the ToggleState to be selected - - - - Find a RadButton's ToggleState by the value of its Value property - - Value of the ToggleState - - - - Find a RadButton's ToggleState by the value of its Text property - - Text of the ToggleState - - - - - - - - - - - - Gets or sets the name of the JavaScript function that will be called when the RadButton is loaded on the page. - - - - - Gets or sets the name of the JavaScript function that will be called when the RadButton is clicked. The event is cancelable. - - - - - Gets or sets the name of the JavaScript function that will be called when the RadButton is clicked, after the OnClientClicking event. - - - - - Gets or sets the name of the JavaScript function that will be called when the mouse pointer hovers over the RadButton. - - - - - Gets or sets the name of the JavaScript function that will be called when the mouse pointer leaves the RadButton. - - - - - Gets or sets the name of the JavaScript function that will be called when the Checked property of the RadButton control is about to be changed. - - - - - Gets or sets the name of the JavaScript function that will be called after the Checked property of the RadButton control is changed. - - - - - Gets or sets the name of the JavaScript function that will be called when the SelectedToggleStateIndex property of the RadButton control is about to be changed. - - - - - Gets or sets the name of the JavaScript function that will be called after the SelectedToggleStateIndex property of the RadButton control is changed. - - - - - Adds or removes an event handler method from the Click event. - The event is fired when the RadButton control is clicked. - - - - - Adds or removes an event handler method from the Command event. - The event is fired when the RadButton control is clicked. - - - - - Adds or removes an event handler method from the CheckedChanged event. - The event is fired when the value of the Checked property changes between posts to the server. - - - - - Adds or removes an event handler method from the ToggleStateChanged event. - The event is fired when the value of the SelectedToggleStateIndex property changes between posts to the server. - - Valid only when RadButton has ToggleType set with value, different than None - - - - - - Gets or sets a value indicating whether validation is performed when the RadButton control is clicked. - - - - - Gets or sets an optional parameter passed to the Command event along with the associated CommandName. - - - - - Gets or sets the command name associated with the RadButton control that is passed to the Command event. - - - - - Gets or sets the URL of the page to post to from the current page when the RadButton control is clicked. - - - - - Gets or sets the group of controls for which the RadButton control causes validation when it posts back to the server. - - - - - Gets the object that controls the Primary and Secondary Icon related properties. - - - - - Gets the object that control the Image properties. A RadButton control can be rendered as an ImageButton, or it can have a BackgroundImage. - - - - - Gets a collection of RadButtonToggleState objects that belong to the RadButton control. - - - - Gets or sets the template for the RadButton control. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - - - Gets or sets a bool value indicating whether the RadButton control automatically posts back to the server when clicked. - - - - - Gets or sets the text displayed in the RadButton control. - - - - - Gets or sets an optional Value of the RadButton control. - - - - - Gets or sets a bool value indicating whether the RadButton control is in a read-only mode. - - - - - Gets or sets a value indicating whether the RadButton control uses the client browser's submit mechanism or the ASP.NET postback mechanism. - - - - - Gets or sets a bool value indicating whether the client browser's default styling will be applied to the RadButton control. - When this property is set to true, the control will look like standard HTML input of type="button" or type="submit", - with the default styles applied by the client browser. - - Use this property when ButtonType="StandardButton". - - - - - - Gets or sets the target window or frame in which to display the Web page content linked to when the RadButton control is clicked. - - - - - Gets or sets the URL to link to when the RadButton control is clicked. - - - - - Gets or sets the CSS class applied to the RadButton control when the mouse pointer is over the control. - - - - - Gets or sets the CSS class applied to the RadButton control when the control is pressed. - - - - - Gets or sets the CSS class applied to the RadButton control when it is in ReadOnly mode. The property is set to true. - - - - - Gets or sets the text that will be displayed in the tooltip of the RadButton control when it is hovered. - - - - - Gets or sets the CSS class rendered by the RadButton control on the client. - - - - - Gets or sets the CSS class applied to the RadButton control when it is in a disabled state. - - - - - Gets or sets the height of the RadButton control. - - - - - Gets or sets the width of the RadButton control. - - - - - Gets or sets the accessKey of the RadButton control. - - - - - Gets or sets a bool value indicating whether an additional button (besides the primary button) will be rendered in the RadButton control. - - - - - Gets or sets the position (relative to the RadButton's text) of the split button. - - - - - Gets or sets the CSS class applied to the SplitButton of the RadButton control. - - - - - Gets or sets the type of the button. RadButtonType:StandardButton(default), LinkButton and ToggleButton. - - - - - Gets or sets the toggle type of the RadButton control when used as a toggle button. - The Default is ButtonToggleType='None'. - - - - - Gets or sets a bool value indicating whether the RadButton control is checked. - - - - - Gets or sets the name of the group the RadButton control, configured as a radio button (ToggleType='Radio'), belongs to. - - - - - - - - - Gets the currently selected ToggleState of the RadButton control when used as a custom toggle button. - - - - - Gets or sets the index of the currently selected ToggleState of the RadButton control, when used as a custom toggle button. - - - - - Gets or sets a bool value indicating whether the RadButton control will be immediately disabled after the user has clicks it. (i.e. enables/disables "Single Click" functionality) - - - - - Gets or sets the text displayed in the RadButton control after the button is being clicked and disabled. (i.e. the text used for the 'Single Click' functionality) - - - - - - - - - - - - - Manages Primary and Secondary Icons of the RadButton control. - - - - - Gets or sets a bool value indicating whether the RadButton will show the Primary Icon. - - - - - Gets or sets the CSS class applied to the Primary Icon. - - - - - Gets or sets the URL to the image used as Primary Icon. - - - - - Gets or sets the URL to the image showed when the Primary Icon is hovered. - - - - - Gets or sets the URL to the image showed when the Primary Icon is pressed. - - - - - Gets or sets the Height of the Primary Icon. - - - - - Gets or sets the Width of the Primary Icon. - - - - - Gets or sets the top edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the bottom edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the left edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the right edge of the Primary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets a bool value indicating whether the RadButton will show the Secondary Icon. - - - - - Gets or sets the CSS class applied to the Secondary Icon. - - - - - Gets or sets the URL to the image used as Secondary Icon. - - - - - Gets or sets the URL to the image showed when the Secondary Icon is hovered. - - - - - Gets or sets the URL to the image showed when the Secondary Icon is pressed. - - - - - Gets or sets the Height of the Secondary Icon. - - - - - Gets or sets the Width of the Secondary Icon. - - - - - Gets or sets the top edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the bottom edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the left edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Gets or sets the right edge of the Secondary Icon, relative to the RadButton control's wrapper element. - - - - - Manages the image shown in the RadButton control. - - - - - Gets or sets a bool value indicating how the Image is used - i.e. as a background image or as an Image Button. - - - - - Gets or sets the location of an image to display in the RadButton control. - - - - - Gets or sets the location of an image to display when the RadButton control is disabled. - - - - - Gets or sets the location of an image to display in the RadButton control, when the mouse pointer is over the control. - - - - - Gets or sets the location of an image to display in the RadButton control, when the control is pressed. - - - - - Gets or sets a bool value indicating whether the RadButton is rendered as Image Button. - - Use this property if you want to set the image through the CssClass property of the RadButton control. - In case the ImageUrl property is set this property is automatically set to true. - - - - - - Provides data for the ToggleStateChanged event. - - - - - Initializes a new instance of the ButtonToggleStateChangedEventArgs class with the specified arguments. - - The name of the command. - The object containing the arguments for the command. - The current ToggleState index of the RadButton control. - The currently selected ToggleState of the RadButton control. - - - - Initializes a new instance of the ButtonToggleStateChangedEventArgs class with another ButtonToggleStateChangedEventArgs object. - - A ButtonToggleStateChangedEventArgs that contains the event data. - - - - Gets or sets the currently selected index of the RadButton control firing the event. - - - - - Gets or sets the currently selected RadButtonToggleState of the RadButton control firing the event. - - - - - A collection of RadButtonToggleState objects in a RadButton - control - - - - - Creates an instance of RadButtonToggleStateCollection class. - - The RadButton control to which the collection belongs. - - - - Creates a new RadButtonToggleState and adds it to the current ToggleState collection. - - The Text of the ToggleState. - - - - Removes an item from the ToggleState collection. - - The ToggleState to remove. - - - - - - - - - - - - - - - - - - - - Specifies the possible values for the ToggleType property of the RadButton control. - This property is valid when ButtonType property is set - to ToggleButton. - - - - - The toggle button behavior is disabled. RadButton behaves as a standard push button. - - - - - The RadButton control behaves as a standard ASP.NET CheckBox. - - - - - The RadButton control behaves as a standard ASP.NET RadioButton. - - - - - The RadButton control behaves as a custom ToggleButton. - Use the ToggleStates collection to set custom states of the RadButton control. - - - - - Specifies the possible values for the ButtonType property of the RadButton control. - - - - - A standard INPUT element with type=submit or type=button is rendered. UseSubmitBehavior property controls the the type of the INPUT. - - - - - An ANCHOR element is rendered. Target and NavigateUrl properties are specific for this button type. - - - - - Use this ButtonType when you want to use the RadButton as RadioButton or CheckBox. - - - - - Skinned LinkButton with applied rounded corners. - - - - - Describes the RadCalendar range selection modes. None - does not allow range selection. OnKeyHold - allow - range selection by pressing [Shift] key and clicking on the date. ConsecutiveClicks - allow - range selection by clicking consecutively two dates. - - - - - Does not allow range selection. - - 1 - - - - Allow range selection by pressing [Shift] key and clicking on the date. - - 2 - - - - Allow range selection by clicking consecutively two dates. - - 3 - - - - Enumeration determining the cell type. - - - - - Enumeration determining the row type. - - - - - Summary description for DatePickerClientEvents. - - - - - - Gets or sets the name of the client-side event handler that is executed whenever - the selected date of the datepicker is changed. - - -
-            [ASPX/ASCX]
-            
-
-            <script type="text/javascript" >
function DatePicker_OnDateSelected(pickerInstance, args)
{
alert("The picker date has been chanded from " + args.OldDate + " to " + args.NewDate);
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server" >
<ClientEvents OnDateSelected="DatePicker_OnDateSelected" />
</radCln:RadDatePicker> -
-
- -
- - - Gets or sets the name of the client-side event handler that is executed whenever the selected month of the picker is changed. - - The name of the client-side event handler that is executed whenever the selected month of the picker is changed. - - - - Gets or sets the name of the client-side event handler that is executed whenever the selected year of the picker is changed. - - The name of the client-side event handler that is executed whenever the selected year of the picker is changed. - - - - Gets or sets the name of the client-side event handler that is executed whenever the years view is changed. - - The name of the client-side event handler that is executed whenever the years view is changed. - - - - Gets or sets the name of the client-side event handler that is executed prior to - opening the calendar popup and its synchronizing with the DateInput value. - - - There can be some conditions you do want not to open the calendar popup on - click of the popup button. Then you should cancel the event either by return - false; or set its argument args.CancelOpen = true; -
-            <script type="text/javascript">
function Opening(sender, args)
{
args.CancelOpen = true;
//or
return false;
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupOpening="Opening"/>
</radCln:RadDatePicker> -
- Set the args.CancelSynchronize = true; to override the default - DatePicker behavior of synchronizing the date in the DateInput and Calendar - controls. This is useful for focusing the Calendar control on a date different from - the DateInput one. -
-            <script type="text/javascript">
function Opening(sender, args)
{
args.CancelCalendarSynchronize = true;
sender.Calendar.NavigateToDate([2006,12,19]);
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server" >
<ClientEvents OnPopupOpening="Opening"/>
</radCln:RadDatePicker> -
-
- -
-            [ASPX/ASCX]        
-            
-
-            <script type="text/javascript">
function OnPopupOpening(datepickerInstance, args)
{
......
}
</script>

<radcln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupOpening="OnPopupOpening" />
</radcln:RadDatePicker> -
-
-
- - - Gets or sets the name of the client-side event handler that is executed prior to - closing the calendar popup. - - -
-            [ASPX/ASCX]        
-            
-
-            <script type="text/javascript">
function OnPopupClosing(datepickerInstance, args)
{
......
}
</script>

<radcln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupClosing="OnPopupClosing" />
</radcln:RadDatePicker> -
-
- - There can be some conditions you do want not to close the calendar popup on - click over it. Then you should cancel the event either by return false; or - set its argument args.CancelClose = true; -
-            <script type="text/javascript">
function Closing(sender, args)
{
args.CancelClose = true;
//or
return false;
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupClosing="Closing"/>
</radCln:RadDatePicker> -
-
-
- - - The event arguments passed when cell is created. - - - - - Gets or sets the cell. - - The cell. - - - - The MonthYearFastNavigationSettings class can be used to configure RadMonthYear's - client-side navigation popup. - - - - - The MonthYearFastNavigationSettings class can be used to configure RadCalendar's - client-side fast navigation. - - - - Gets or sets the value of the "Today" button caption; - - This property can be used to localize the button caption. The default is - "Today". - - - - Gets or sets the value of the "OK" button caption; - - This property can be used to localize the button caption. The default is - "OK". - - - - Gets or sets the value of the "Cancel" button caption; - - This property can be used to localize the button caption. The default is - "Cancel". - - - - Gets or sets the value of the "Date is out of range" error message. - - This property can be used to localize the message the user sees when she tries to navigate to a date outside the allowed range. - The default is "Date is out of range.". - - - - Gets or sets the value indicating whether the Today button should perform date selection or simple navigation. - - The default value is false (i.e. Today button works as a navigation enhancement only). - - - - - Gets or sets a value indicating whether the months that are out of range will be disabled. - - - The default value is false. - - - Setting this property to true will disable the months that are out of range - - - - Gets or sets whether the screen boundaries should be taken into consideration - when the Fast Navigation Popup is displayed. - - - - Gets the settings asociated with showing the fast month year navigation. - - The settings asociated with showing the fast month year navigation. - - - - Gets the settings asociated with hiding the fast month year navigation. - - The settings asociated with hiding the fast month year navigation. - - - - Gets or sets the name of the image that is displayed for the next year navigation control. - - The name of the image that is displayed for the next year navigation control. - - - - Gets or sets the value indicating whether the Today button should perform date selection or simple navigation. - - - The default value is false (i.e. Today button works as a navigation enhancement only). - - - - - Gets or sets the text displayed for the next year navigation control. - - The text displayed for the next year navigation control. - - - - Gets or sets the text displayed for the next year navigation control. - - The text displayed for the next year navigation control. - - - - Gets or sets name of the image that is displayed for the previous year navigation control. - - The name of the image that is displayed for the previous year navigation control. - - - - Gets or sets the text displayed for the previous year navigation control. - - The text displayed for the previous year navigation control. - - - - Gets or sets the text displayed for the previous year navigation control. - - The text displayed for the previous year navigation control. - - - Gets or sets the value of the "Today" button caption; - - This property can be used to localize the button caption. The default is - "Current month". - - - - Gets or sets the value of the "OK" button caption; - - This property can be used to localize the button caption. The default is - "OK". - - - - Gets or sets the value of the "Cancel" button caption; - - This property can be used to localize the button caption. The default is - "Cancel". - - - - - Gets the settings which determines - the animation behavior of the showing of the popup. - - The animation settings of the showing of the popup. - - - - Gets the settings which determines - the animation behavior of the hiding of the popup. - - The animation settings of the hiding of the popup. - - - - The control that toggles the TimeView popup. - You can customize the appearance by setting the object's properties. - - - - - The control that toggles the calendar popup. - You can customize the appearance by setting the object's properties. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing - the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter - for this object, or null if there is no - for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents - the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents - the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the - editor for this object. - - An of the specified type that is the editor - for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component. - - - An that - represents the events for this component instance. - - - - - Returns the events for this instance of a component using the specified - attribute array as a filter. - - An array of type that - is used as a filter. - - An that - represents the filtered events for this component instance. - - - - - Returns the properties for this instance of a component. - - - A - that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute - array as a filter. - - An array of type that - is used as a filter. - - A - that represents the filtered properties for this component instance. - - - - - Returns an object that contains the property described by the specified - property descriptor. - - A that - represents the property whose owner is to be found. - - An that represents the owner of the specified - property. - - - - - Gets or sets the programmatic identifier assigned to the server control. - - The programmatic identifier assigned to the control. - - - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - - true if the control is visible on the page; otherwise false. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - - The CSS class rendered by the Web server control on the client. The - default is . - - - - - Gets or sets the popup button image URL. - - - - - Gets or sets the popup button hover image URL. - - - - - Gets or sets the access key that allows you to quickly navigate to the - Web server control. - - The access key for quick navigation to the Web server control. The default - value is , which indicates that this property - is not set. - The specified access key - is neither null, nor a single character string. - - - - - - Gets or sets the background color of the Web server control. - - A that represents the background - color of the control. The default is , - which indicates that this property is not set. - - - - - Gets or sets the border color of the Web control. - - A that represents the border color - of the control. The default is , which - indicates that this property is not set. - - - - - Gets or sets the border style of the Web server control. - - One of the enumeration - values. The default is NotSet. - - - - - Gets or sets the border width of the Web server control. - - A that represents the - border width of a Web server control. The default value is , - which indicates that this property is not set. - The specified border width is a - negative value. - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - - Gets the font properties associated with the Web server control. - - A that represents - the font properties of the Web server control. - - - - - Gets or sets the foreground color (typically the color of the text) - of the Web server control. - - A that represents the foreground - color of the control. The default is . - - - - - - Gets or sets the height of the Web server control. - - A that represents the - height of the control. The default is . - - The height was set to a negative - value. - - - - - Gets or sets the skin to apply to the control. - - The name of the skin to apply to the control. The default is . - - The skin specified in the - property does not exist in the theme. - - - - - Gets or sets a value indicating whether themes apply to this control. - - true to use themes; otherwise, false. The default is true. - The Page_PreInit event has - already occurred.- or -The control has already been added to the Controls collection. - - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - - Gets or sets the width of the Web server control. - - A that represents the - width of the control. The default is . - - The width of the Web server control - was set to a negative value. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - - The CSS class rendered by the Web server control on the client. The - default is . - - - - - Gets or sets the popup button image URL. - - - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - - - RadMonthYearPicker class - - - - - - Override this method to provide any last minute configuration changes. Make sure you call the base implementation. - - - - - Sets input focus to a control. - - - - - Clears the selected date of the RadMonthYearPicker control and displays a blank date. - - - - - - - - - - - - IPostBackDataHandler implementation - - - - Gets or sets the skin name for the control user interface. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - A string containing the skin name for the control user interface. The default is string.Empty. - - - - - Gets the style applied to month cells. - - The style applied to month cells. - - - - Gets the style applied to year cells. - - The style applied to year cells. - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - - Occurs after all child controls of the RadMonthYearPicker control have been created. - You can customize the control there, and add additional child controls. - - - - - Occurs when the selected date of the RadMonthYearPicker changes between posts to the server. - - - - - Gets the MonthYearView instance of the MonthYearPicker control. - - - - - Gets the RadDateInput instance of the RadMonthYearPicker control. - - - - - Gets the DatePopupButton instance of the RadMonthYearPicker control. - You can use the object to customize the popup button's appearance and behavior. - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make RadMonthYearPicker postback to the server - on date selection through the MonthYearView or the DateInput components. - - - The default value is false. - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - - Gets or sets the title attribute for the hidden field. - - - The default value is "Title and navigation". - - - - - Gets or sets summary attribute for the table which wrappes the RadMonthYearPicker controls. - - - Setting this property to empty string will force Telerik RadMonthYearPicker to not render summary tag. - - - The default value is "RadMonthYearPicker". - - - - - Gets or sets the caption for the table which wrappes the RadMonthYearPicker controls. - - - Setting this property to empty string will force Telerik RadMonthYearPicker to not render caption tag. - - - The default value is "RadMonthYearPicker". - - - - Gets or sets the direction in which the popup MonthYearView is displayed, - with relation to the RadMonthYearPicker control. - - - - Gets the subproperties can be used to modify the fast Month/Year navigation popup settings. - - The subproperties can be used to modify the fast Month/Year navigation popup settings. - - - Gets or sets the z-index style of the control's popups - - - - Sets the render mode of the RadDatePicker and its child controls - - - - Gets or sets whether popup shadows will appear. - - - Gets or sets the date content of RadMonthYearPicker. - - A DateTime object that represents the selected - date. The default value is MinDate. - - - The following example demonstrates how to use the SelectedDate - property to set the content of RadMonthYearPicker. - - private void Page_Load(object sender, System.EventArgs e) - { - RadMonthYearPicker1.SelectedDate = DateTime.Now; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadMonthYearPicker1.SelectedDate = DateTime.Now - End Sub - - - - - - This property is used by the RadDateInput's internals only. It is subject to - change in the future versions. Please do not use. - - - - - Gets the invalid date string in the control's textbox - - - - Gets or sets the date content of RadMonthYearPicker in a database friendly way. - - A DateTime object that represents the selected - date. The default value is null (Nothing in VB). - - - The following example demonstrates how to use the DbSelectedDate - property to set the content of RadMonthYearPicker. - - private void Page_Load(object sender, System.EventArgs e) - { - RadMonthYearPicker1.DbSelectedDate = tableRow["BirthDate"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadMonthYearPicker1.DbSelectedDate = tableRow("BirthDate") - End Sub - - - - This property behaves exactly like the SelectedDate property. The only difference - is that it will not throw an exception if the new value is null or DBNull. Setting a - null value will internally revert the SelectedDate to the null value, i.e. the input value will be empty. - - - - - Used to determine if RadMonthYearPicker is empty. - - - true if the date is empty; otherwise false. - - - - - Enables or disables typing in the date input box. - - - true if the user should be able to select a date by typing in the date input box; otherwise - false. The default value is true. - - - - - Gets or sets whether the popup control is displayed when the DateInput textbox is focused. - - - The default value is false. - - - - - Gets or sets the minimal range date for selection. - Selecting a date earlier than that will not be allowed. - - - This property has a default value of 1/1/1980 - - - - - Gets or sets the latest valid date for selection. - Selecting a date later than that will not be allowed. - - - This property has a default value of 12/31/2099 - - - - Gets or sets the culture used by RadMonthYearPicker to format the date. - - A CultureInfo object that represents the current culture used. The default value is System.Threading.Thread.CurrentThread.CurrentUICulture. - - - The following example demonstrates how to use the Culture - property. - - private void Page_Load(object sender, System.EventArgs e) - { - RadMonthYearPicker1.Culture = new CultureInfo("en-US"); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadMonthYearPicker1.Culture = New CultureInfo("en-US") - End Sub - - - - - - Gets or sets the MonthYearView uses this date to focus itself whenever the date input component of the RadMonthYearPicker is empty. - - The MonthYearView uses this date to focus itself whenever the date input component of the RadMonthYearPicker is empty. - - - - Gets or sets the width of the RadMonthYearPicker in pixels. - - - - - Gets the settings asociated with showing the its popup controls. - - The settings asociated with showing the its popup controls. - - - - Gets the settings asociated with hiding the its popup controls. - - The settings asociated with hiding the its popup controls. - - - - Gets a set of properties that get or set the names of the JavaScript - functions that are invoked upon specific client-side events. - - A set of properties that get or set the names of the JavaScript - functions that are invoked upon specific client-side events. - - - - When set to true enables support for WAI-ARIA - - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - A string containing the path for the grid images. The default is string.Empty. - - - - - - - - - - Returns whether RadCalendar is currently in design mode. - - - - Gets the style properties for the Month/Year fast navigation. - - A TableItemStyle that contains the style properties for the the Month/Year fast - navigation. - - - - - Gets or sets the maximum date valid for selection by - Telerik RadMonthYearPicker. Must be interpreted as the Higher bound of the valid - dates range available for selection. Telerik RadMonthYearPicker will not allow - navigation or selection past this date. - - - This property has a default value of 12/30/2099 - (Gregorian calendar date). - - - - - - The class representing the HTML table element which holds the month and years. - - - - - - - - - Gets the owner . - - The owner . - - - - Gets or sets the summary attribute for the RadTimeView. - - - Setting this property to empty string will force Telerik RadTimeView to not render summary attribute. - - - The default value is "Table holding time picker for selecting time of day.". - - - - - Gets or sets the caption for the table MonthYearView. - - - Setting this property to empty string will force Telerik MonthYearView to not render caption tag. - - - The default value is "MonthYearView". - - - - - Class representing HTML table cell(td) element which is part of the . - - - - - - - - - Gets the type of cell which determines the rendered cell in the . - - The type of row which determines the rendered cell in the . - - - - Gets the owner . - - The owner . - - - - Class representing HTML table row(tr) element which is part of the . - - - - - - - - - Gets the type of row which determines the rendered row in the . - - The type of row which determines the rendered row in the . - - - - Gets or sets the owner . - - The owner . - - - - Provides the event data for the RadCaptcha's CaptchaValidate event. - - - - - Gets or sets a bool value indicating whether the Captcha default validation - should proceed after the event is fired. - - - - - Gets or sets a bool value returned by the Captcha validation, - if CancelDefaultValidation property is set to true. - - - - - This control serves as spam protection mechanism. - It implements 3 strategies: - 1. Auto-detection - if this strategy is chosen, then we use predefined rules - which decide whether the input comes from a robot or not. This strategy is not - 100% secure and some sophisticated robots may pass it so it should be used in - personal websites with low traffic and where spam robots are not very likely to - drop by. If such robots are found to visit the site, the use of the more secure - strategy is more advisable. - 2. RadCaptcha - if this strategy is chosen, then an image with obfuscated - text is displayed and the user is required to input this text in a - textbox thus allowing the control to validate whether s/he is a robot - or not. This is the most secure method to protect from spam but it is - considered to be inaccessible because disabled people may not see the - text in the image! - TODO in future release: 3. Subscribe to anti-spam services. This last spam protection - mechanism is used to validate the input against public or private web services - which given the input return whether or not it is considered to be spam. - Some services claim that they catch more than 90% of the spam so - this type of protection is fairly secure and can be used in small to medium - websites but not in large-scale websites. - - - - - - - - - - - - - Searches for the validated Text control - - A control that gets validated. - - - - - - - - - - - - - - - - - - - - - - Retrieve the user's RadCaptcha input from the posted data - - - - - - - When implemented by a class, signals the server control to notify the ASP.NET application that the state of the control has changed. - - - - - - - Saves any server control state changes that have occurred since the time the page was posted back to the server. - - - Returns the server control's current state. If there is no state associated with the control, this method returns null. - - - - - - - Loads the state of the control. - - The state. - - - - - - - - - - - - - - - - - - Raises the event. - - An object that contains the event data. - - - - - - - - Performs validation of the RadCaptcha control. - - - - - Determines whether the RadCaptcha control is valid. - - The bool value that indicates whether the RadCaptcha is valid. - - - - Gets the CSS class set to the RadCaptcha after validation occurs. - If RadCaptcha.IsValid=true, the "rcValid" is returned and "rcInvalid" when the captcha is not valid. - - Bool value indicating whether the user entered the correct value. - Returns "rcValid" if the captcha is valid (RadCaptcha.IsValid=true), otherwise "rcInvalid". - - - - Raises the CaptchaValidate event before the default validation executes. - - A CaptchaValidateEventArgs that contains the event data. - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - This control features no skins, so this property must be set to false. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - This control features no skins, so this property must be set to false. - - - - - The error message text generated when the condition being validated fails. - - - The error message to generate. - - - - Gets or sets display behavior of error message. - - - The display behavior of the error message - - - - Gets or sets the fore color of the error message. - - - The fore color of the error message. - - - - Gets or sets a value indicating whether the user-entered content in the RadCaptcha control passes validation. - - - true if the content is valid; otherwise, false. - - - - Gets or sets the validation group. - - The validation group. - - - - Gets or sets a value indicating whether the Web server control is enabled. - - - true if control is enabled; otherwise, false. The default is true. - - - - Gets or sets which startegies are/to be used for automatic - robot discovery. - - The Modes used for Spam Protection. - - - - - Specifies the URL of the HTTPHandler that serves the captcha image. - - - - The HTTPHandler should either be registered in the application configuration - file, or a file with the specified name should exist at the location, which - HttpHandlerUrl points to. - - - If a file is to serve the files, it should inherit the class Telerik.Web.UI.WebResource - - - - - - Gets or sets the name of the JavaScript function that will be called when the RadCaptcha is loaded on the page. - - - - - Gets the CaptchaImage object of RadCaptcha - - - - - Gets or sets the maximum number of minutes RadCaptcha will be cached and valid. - If you're too slow, you may be a RadCaptcha hack attempt. Set to zero to disable. - - The maximum number of minutes RadCaptcha will be cached and valid. - If you're too slow, you may be a RadCaptcha hack attempt. Set to zero to disable. - - - - Gets or sets the CSS class applied to the RadCaptcha input textbox. - - The CSS class applied to the RadCaptcha input textbox. - - - - Gets or sets the title of the RadCaptcha input textbox. - - The title for the RadCaptcha input textbox. - - - - Gets or sets the tabindex of the RadCaptcha text box. - - The tabindex of the RadCaptcha text box. - - - - Gets or sets the RadCaptcha text box access key. - - The RadCaptcha text box access key. - - - - Gets or sets the label which explains that the user needs to input the RadCaptcha text box. - - The label which explains that the user needs to input the RadCaptcha text box. - - - - Gets or sets the CSS class to the label which explains that the user needs to input the RadCaptcha text box. - - The CSS class to the label which explains that the user needs to input the RadCaptcha text box. - - - - Gets or sets the ID of the textbox to be validated, - when only the RadCaptcha image is rendered on the page. - - String value indicating the ID of the textbox to be validated, - when only the RadCaptcha image is rendered. - - - - Gets the TextBox that is being validated by the RadCaptcha. - - Returns a TextBox object that is being validated by the RadCaptcha. - - - - Gets the ITextControl that is being validated by the RadCaptcha. - - - - - Gets or sets a bool value indicating whether the RadCaptcha should ignore - the case of the letters or not. - - Bool value indicating whether the RadCaptcha should ignore the case or not. - - - - Gets or sets the storage medium for the CaptchaImage. - - When the image is stored in the session the RadCaptcha HttpHandler - defintion (in the web.config file) must be changed from type="Telerik.Web.UI.WebResource" to - type="Telerik.Web.UI.WebResourceSession" so that the image can be retrieved from the Session. - Gets or sets a value indication where the CaptchaImage is stored. - - - - Gets or sets a bool value indicating whether or not the RadCaptchaImage can be refreshed. - The "rcRefreshImage" CSS class should be used for changing the skinning of the LinkButton, - that generates the new image. - - Gets or sets a bool value indicating whether or not the RadCaptchaImage can be refreshed. - - - - Gets or sets the access key for generating new captcha image. - - - - - Gets or sets the access key for the Get Audio Code link. - - - - - Gets or sets the text of the LinkButton that generates new CaptchaImage. - - Gets or sets the text of the LinkButton that generates new CaptchaImage - - - - Gets or sets the text of the LinkButton that gets the Captcha Audio Code. - - Gets or sets the text of the LinkButton that gets the Captcha Audio Code. - - - - Gets or sets the invisible textbox strategy label text. - - The invisible textbox strategy label text. - - - - Gets or sets the minimum number of seconds the form must be displayed - before it is valid. If you're too fast, you must be a robot. - - The minimum number of seconds the form must be displayed before it is valid. - - - - - - - - - - - - Adds or removes an event handler method from the CaptchaValidate event. - The event is fired berfore the RadCaptcha is validated. - - - - - Strategies for Spam Protection. Set in the ProtectionMode property. - - - - - When Protection Mode is set to Captcha only Captcha Protection Mode is used. - - - - - When Protection Mode is set to InvisibleTextBox, a invisible text box is rendered which bots fill. - - - - - When Protection Mode is set to MinimumTimeout, the form should not be submitted before a Minimum - time interval has passed. Bots submit the form many times in short interval. - - - - - The Telerik.Web.UI.RadComboBoxRenderingMode enumeration has two values - Full and Simple. - The default value is Default. - - - - - RadComboBox renders in its default HTML structure. - - - - - RadComboBox rendres as a HTML select element with options. - - - - - - - - RadComboBox - - - This partitial Class describes the client properties and events of RadComboBox. - - RadComboBox for ASP.NET AJAX is a powerful drop-down list AJAX-based control - - - The RadComboBox control supports the following features: - - - Databinding that allows the control to be populated from various - datasources - Programmatic access to the RadComboBox object model - which allows to dynamic creation of comboboxes, populate items, set - properties. - Customizable appearance through built-in or user-defined skins. - -

Items

- - Each item has a Text and a Value property. - The value of the Text property is displayed in the RadComboBox control, - while the Value property is used to store any additional data about the item, - such as data passed to the postback event associated with the item. - -
-
- - - Adds the property to the IScriptDescriptor, if it's value is different from the given default. - - The descriptor to add the property to. - The property name. - The current value of the property. - The default value. - - - - Gets an XML string representing the state of the control. All child items and their properties are serialized in this - string. - - - A String representing the state of the control - child items, properties etc. - - - Use the GetXml method to get the XML state of the control. You can cache it and then restore it using - the LoadXml method. - - - - - Loads the control from an XML string. - - - The string representing the XML from which the control will be populated. - - - Use the LoadXml method to populate the control from an XML string. You can use it along the GetXml - method to implement caching. - - - - - Gets or sets the name of the validation group to which this validation - control belongs. - - - The name of the validation group to which this validation control belongs. The - default is an empty string (""), which indicates that this property is not set. - - - This property works only when CausesValidation - is set to true. - - - - - Gets or sets the URL of the page to post to from the current page when a tab - from the tabstrip is clicked. - - - The URL of the Web page to post to from the current page when a tab from the - tabstrip control is clicked. The default value is an empty string (""), which causes - the page to post back to itself. - - - - - Gets or sets a value indicating whether validation is performed when an item within - the control is selected. - - - true if validation is performed when an item is selected; - otherwise, false. The default value is true. - - - By default, page validation is performed when an item is selected. Page - validation determines whether the input controls associated with a validation - control on the page all pass the validation rules specified by the validation - control. You can specify or determine whether validation is performed on both the - client and the server when an item is clicked by using the CausesValidation - property. To prevent validation from being performed, set the - CausesValidation property to false. - - - - - Generic method for splitting items in rows. - - - For example: - GetRowItems(1, 2, [1,2,3,4,5,6,7]) -> [1,2,3,4] - GetRowItems(2, 2, [1,2,3,4,5,6,7]) -> [5,6,7] - - Item type - Current row index - Total number of rows - The full IList of items - The items belonging to the specified row - - - - Given that new items are inserted one at a time at the last row - this method will arrange them in such manner that the - number of items in the rows is in descending order. - - - Works by moving the first item from each row (starting from the last) - to the end of the previous in order to leave any incomplete rows at the end. - - - If we have: - 1) A, B - 2) C, - 3) D, E - - The result would be: - 1) A, B - 2) C, D - 3) E - - Item type - The array of Queues representing each row - - - - Generic method for splitting items in columns. - - - For example: - GetColumnItems(1, 2, [1,2,3,4,5,6,7]) -> [1,3,5,7] - GetColumnItems(2, 2, [1,2,3,4,5,6,7]) -> [2,4,6] - - Item type - Current column index - Total number of columns - The full IList of items - The items belonging to the specified column - - - Gets or sets the index of the selected item in the ComboBox control. - - Use the SelectedIndex property to programmatically specify or determine - the index of the selected item from the combobox control - - - - - Override in an inheritor and return false in order to skip Loading/Saving ControlState. - - True - - - - Raises the ItemDataBound event. - - - - - - Raises the ItematCreated event. - - - - - - - - - - - - - - - - - - Renders the HTML opening tag of the control to the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Measures the checked items text. - - The checked items texts. - - - - - Clears out the list selection and sets the Selected property - of all items to false. - - Use this method to reset the control so that no items are selected. - - - RadComboBox1.ClearSelection() - - - RadComboBox1.ClearSelection(); - - - - - - Legacy. Do not modify. - Use only *in* RadComboBox and RadComboBoxItem classes. - Unselects all items (item.Selected = false) and sets SelectedValue = null. - It just works as expected in the places where it is used. - - - - - Signals the RadComboBox control to notify the ASP.NET application that the state of the control has changed. - - - - - Raises the TextChanged event. This allows you to handle the event directly. - - - - - Raises the SelectedIndexChanged event. This allows you to handle the event directly. - - - - - Raises the ItemRequestEvent event. This allows you to handle the event directly. - - - - - Creates a object - that is configured for paging if the underlying data source supports it. - - - A initialized for paging if the underlying data source supports it. - - - - - Binds a data source to the invoked RadComboBox and all its child controls. - Does not bind the control if EnableAutomaticLoadOnDemand is true and the page request is not a callback. - - - - - Raises the event. - - The instance containing the event data. - - - - Finds the first RadComboBoxItem with Text that - matches the given text value. - - - The first RadComboBoxItem that matches the - specified text value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByText("New York") - - - RadComboBoxItem item = RadComboBox1.FindItemByText("New York"); - - - The string to search for. - - - - Finds the first RadComboBoxItem with Text that - matches the given text value. - - - The first RadComboBoxItem that matches the - specified text value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByText("New York",true) - - - RadComboBoxItem item = RadComboBox1.FindItemByText("New York",true); - - - The string to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Finds the first RadComboBoxItem with Value that - matches the given value. - - - The first RadComboBoxItem that matches the - specified value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByValue("1") - - - RadComboBoxItem item = RadComboBox1.FindItemByValue("1"); - - - The value to search for. - - - - Finds the first RadComboBoxItem with Value that - matches the given value. - - - The first RadComboBoxItem that matches the - specified value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByValue("1", true) - - - RadComboBoxItem item = RadComboBox1.FindItemByValue("1", true); - - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the index of the first RadComboBoxItem with - Text that matches the given text value. - - The string to search for. - - - - Returns the index of the first RadComboBoxItem with - Text that matches the given text value. - - The string to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the index of the first RadComboBoxItem with - Value that matches the given value. - - The value to search for. - - - - Returns the index of the first RadComboBoxItem with - Value that matches the given value. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the first RadComboBoxItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadComboBox1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadComboBoxItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadComboBox1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadComboBoxItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Loads combobox items from an XML content file. - - - - RadComboBox1.LoadContentFile("~/myfile.xml") - - - RadComboBox1.LoadContentFile("~/myfile.xml"); - - - The name of the XML file. - - - Sorts the items in the RadComboBox. - - - - RadComboBox1.Sort=RadComboBoxSort.Ascending - RadComboBox1.SortItems() - - - RadComboBox1.Sort=RadComboBoxSort.Ascending; - RadComboBox1.SortItems(); - - - - - Sorts the items in the RadComboBox. - - An object from IComparer interface. - - - - - RadComboBox1.Sort=RadComboBoxSort.Ascending - Dim comparer As MyComparer = New MyComparer() - RadComboBox1.SortItems(comparer) - Public Class MyComparer - Implements IComparer - - Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer - Dim p1 As New RadComboBoxItem() - Dim p2 As New RadComboBoxItem() - - If TypeOf x Is RadComboBoxItem Then - p1 = TryCast(x, RadComboBoxItem) - Else - Throw New ArgumentException("Object is not of type RadComboBoxItem.") - End If - - If TypeOf y Is RadComboBoxItem Then - p2 = TryCast(y, RadComboBoxItem) - Else - Throw New ArgumentException("Object is not of type RadComboBoxItem.") - End If - - Dim cmp As Integer = 0 - If p1.ComboBoxParent.Sort = RadComboBoxSort.Ascending Then - cmp = [String].Compare(p1.Value, p2.Value, Not p1.ComboBoxParent.SortCaseSensitive) - End If - If p1.ComboBoxParent.Sort = RadComboBoxSort.Descending Then - cmp = [String].Compare(p1.Value, p2.Value, Not p1.ComboBoxParent.SortCaseSensitive) * -1 - End If - - Return cmp - End Function - - End Class - - - - RadComboBox1.Sort=RadComboBoxSort.Ascending; - MyCoparer comparer = new MyComparer(); - RadComboBox1.SortItems(comparer); - public class MyComparer : IComparer - { - - public int Compare(object x, object y) - { - RadComboBoxItem p1 = new RadComboBoxItem(); - RadComboBoxItem p2 = new RadComboBoxItem(); - - if (x is RadComboBoxItem) - p1 = x as RadComboBoxItem; - else - throw new ArgumentException("Object is not of type RadComboBoxItem."); - - if (y is RadComboBoxItem) - p2 = y as RadComboBoxItem; - else - throw new ArgumentException("Object is not of type RadComboBoxItem."); - - int cmp = 0; - if (p1.ComboBoxParent.Sort == RadComboBoxSort.Ascending) - { - cmp = String.Compare(p1.Value, p2.Value, !p1.ComboBoxParent.SortCaseSensitive); - } - if (p1.ComboBoxParent.Sort == RadComboBoxSort.Descending) - { - cmp = String.Compare(p1.Value, p2.Value, !p1.ComboBoxParent.SortCaseSensitive) * -1; - } - - return cmp; - } - - } - - - - - - Gets an array containing the indices of the currently checked items in the RadComboBox control. - - - - - Clears the checked items. The property of all items is set to false. - - - - - Gets a object that represents - the child controls for a specified server control in the UI hierarchy. - - The collection of child controls for the specified server control. - - - - - Gets a list of all client-side changes (adding an item, removing an item, changing an item's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new item - removing existing item - clearing the children of an item or the control itself - changing a property of the item - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadComboBoxItem> operation in RadToolBar1.ClientChanges) - { - RadComboBoxItem item = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //An item has been inserted - operation.Item contains the inserted item - break; - case ClientOperationType.Remove: - //An item has been inserted - operation.Item contains the removed item. - //Keep in mind the item has been removed from the combobox. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadComboBoxItem> update = operation as UpdateClientOperation<RadComboBoxItem> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of the combobox have been removed - operation.Item will always be null. - break; - } - } - - - For Each operation As ClientOperation(Of RadComboBoxItem) In RadToolBar1.ClientChanges - Dim item As RadComboBoxItem = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'An item has been inserted - operation.Item contains the inserted item - Exit Select - Case ClientOperationType.Remove - 'An item has been inserted - operation.Item contains the removed item. - 'Keep in mind the item has been removed from the combobox. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadComboBoxItem) = TryCast(operation, UpdateClientOperation(Of RadComboBoxItem)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - //All children of the combobox have been removed - operation.Item will always be Nothing. - Exist Select - End Select - Next - - - - - - Gets a RadComboBoxItemCollection object that contains the items of the current RadComboBox control. - - - A RadComboBoxItemCollection that contains the items of the current RadComboBox control. By default - the collection is empty (RadComboBox has no children). - - - Use the Items property to access the child items of RadComboBox - You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of items. - - RadComboBox1.Items[0].Text = "Example"; - RadComboBox1.Items[0].Value = "1"; - - - RadComboBox1.Items(0).Text = "Example" - RadComboBox1.Items(0).Value = "1" - - - - - - Gets or sets a value indicating whether any databinding expressions specified in the ItemTemplate should be evaluated for - unbound items (items added inline or programmatically). - - true if databinding expressions should be evaluated; otherwise false; The default value is false. - - - - - Occurs on the server when an item in the RadComboBox control is - created. - - - The ItemCreated event is raised every time a new item is - added. - The ItemCreated event is not related to data binding and you - cannot retrieve the DataItem of the item in the event - handler. - The ItemCreated event is often useful in scenarios where you want - to initialize all items - for example setting the ToolTip of each - RadComboBoxItem to be equal to the Text property. - - - - Occurs before template is being applied to the item. - - The TemplateNeeded event is raised before a template is been applied on the item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the items. - - protected void RadComboBox1_TemplateNeeded(object sender, Telerik.Web.UI.RadComboBoxItemEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Item); - } - } - } - - - Sub RadComboBox1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadComboBoxItemEventArgs) Handles RadComboBox1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Item) - End If - End If - End Sub - - - - - - Occurs after an item is data bound to the RadComboBox - control. - - - This event provides you with the last opportunity to access the data item - before it is displayed on the client. After this event is raised, the data item is - nulled out and no longer available. - - - - Occurs when the SelectedIndex property has changed. - - You can create an event handler for this event to determine when the selected - index in the RadComboBox has been changed. This can be useful when - you need to display information in other controls based on the current selection in - the RadComboBox. You can use the event handler to load the - information in the other controls. - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadComboBox selection. - - - Set this property to true if the server needs to capture the selection - as soon as it is made. For example, other controls on the Web page can be - automatically filled depending on the user's selection from a list control. - This property can be used to allow automatic population of other controls on - the Web page based on a user's selection from a list. - The value of this property is stored in view state. - - The server-side event that is fired is - SelectedIndexChanged. - - - - - - Gets or sets the number of Items the RadComboBox will load per Item request. - - - Set this property to -1 to load all Items when EnableAutomaticLoadOnDemand is set to true - and disable Virtual Scrolling/Show More Results. The default is -1. - - - - - Gets or sets the minimum length of the typed text before the control initiates a request for new Items when EnableLoadOnDemand is True. - - The length of the min filter. - - - - Occurs when RadComboBox initiates an AJAX callback to the - server. - - - - - Gets a value indicating whether the current instance of the combobox has child - items. - - - - If RadComboBox1.IsEmpty - ' - ' - ' - End If - - - if (RadComboBox1.IsEmpty) - { - // - // - // - } - - - - - Sets or gets the position (left or right) of the arrow image dropdown. - - - RadComboBox1.RadComboBoxImagePosition = RadComboBoxImagePosition.Left; - - - RadComboBox1.RadComboBoxImagePosition = RadComboBoxImagePosition.Right - - - - By default the image is shown on the right. Left can be used in RTL - (right-to-left) language scenarios. - - - - - Gets or sets the text content of the RadComboBox - control. - - - In standard mode, the currently selected text can be accessed using both the - Text property or RadCombobox.SelectedItem.Text. In - AJAX callback modes, only the Text property can be used because - end-users can type or paste text that does not match the text of any item and - SelectedItem can be null. - - - - string comboText = RadComboBox1.Text - - - Dim comboText As String = RadComboBox1.Text - - - - - - The value of the message that is shown in RadComboBox while AJAX - callback call is in effect. - - - This property can be used for customizing and localizing the text of the loading - message. - - - - - Gets the settings for the web service used to populate items. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public RadComboBoxItemData[] WebServiceMethodName(object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - Specifies the timeout after each keypress before RadComboBox - fires an AJAX callback to the ItemsRequested server-side event. - - - In miliseconds. ItemRequestTimeout = 500 is equal to half a - second delay. - - - - The HTML Z-index of the items dropdown of RadComboBox.Its default value is 6000. - - Can be used when the dropdown is to be shown over content with a specified - Z-index. If the combobox items dropdown is displayed below the content, set the - ZIndex property to a value higher than the value of the HTML content - below. - - - - - Gets or sets a value that indicates whether the dropdown of the combobox should - be opened by default on loadnig the page. - - - - - Gets or sets the empty message. - - The empty message. - - - - Gets or sets a value that indicates whether the combobox autocompletion logic is - case-sensitive or not. - - - - - Gets or sets a value indicating whether the combobox should display the box for - requesting additional items - - - - - Gets or sets a value indicating whether the combobox should automatically - autocomplete and highlight the currently typed text to the closest item text - match. - - - - - Gets or sets a value indicating whether the combobox should automatically - autocomplete and highlight the currently typed text to the all items text - match. - - - - - Gets or sets a value indicating whether the combobox should issue a callback to - the server whenever end-users change the text of the combo (keypress, paste, - etc). - - - In Load On Demand mode, the combobox starts a callback after a specified amount of - time (see ItemRequestTimeout) and calls the - server-side ItemsRequested event. Depending on the - value of the event arguments, you can add new items to the combobox object and the - items will be propagated to the browser after the request. - - - - - - Gets or sets a value indicating whether the combobox should handle the - items request automatically on the server. - - - - - Gets or sets a value indicating whether the combobox should cache items loaded on demand or via webservice - - - - - Gets or sets a value indicating whether the combobox should load items on demand (via callback) - during scrolling-down the drop-down area. - - - - - Gets or sets a value indicating whether the text of combobox should be selected - - - - - Gets or sets a value indicating whether the dropdown image next to the combobox - text area should be displayed. - - - The dropdown image is located in the Skins folder of the combo - by - default ~/RadControls/ComboBox/Skins/{SkinName}/DropArrow.gif. You can - custmoize or modify the image and place it in the respective folder of the skin you are - using. - - - - - Gets or sets a value indicating whether the text in a combobox item - automatically continues on the next line when it reaches the end of the - dropdown. - - - - Determines whether drop down should be closed on blur - - - Determines whether custom text can be entered into the input field of RadComboBox. - - - Determines whether the text can be entered into the input field of RadComboBox during keyboard navigation - - - Determines the custom error message to be shown after the Load On Demand Callback error appears. - - - Determines whether the dropdown shows when the user clicks in the input field. - - - Determines whether the Screen Boundaries Detection is enabled or not. - - - - Gets or sets a value indicating the opening direction of RadComboBox dropdown. - If this property is not set - by default dropdown opens downwards. - - - - - Gets or sets a value indicating whether items defined in the - ItemTemplate template should be automatically - highlighted on mouse hover or keyboard navigation. - - - - - Gets or sets a list of separators: autocomplete logic is reset afer a separator - is entered and users can autocomplete multiple items. - - You can use several separators at once. - - - RadComboBox1.AutoCompleteSeparator = ";,"; - - - RadComboBox1.AutoCompleteSeparator = ";," - - - - - Determines whether the noscript tag containing select element to be rendered. - - - Gets the currently selected item in the combobox. - - - <telerik:radcombobox id="RadComboBox1" Runat="server" ></telerik:radcombobox> - - private void RadComboBox1_SelectedIndexChanged(object o, Telerik.WebControls.RadComboBoxSelectedIndexChangedEventArgs e) - { - Label1.Text = RadComboBox1.SelectedItem.Text; - } - - - <telerik:radcombobox id="RadComboBox1" Runat="server" ></telerik:radcombobox> - - Private Sub RadComboBox1_SelectedIndexChanged(ByVal o As Object, ByVal e As Telerik.WebControls.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox1.SelectedIndexChanged - Label1.Text = RadComboBox1.SelectedItem.Text - End Sub - - - - SelectedItem can be null in load-on-demand or - AllowCustomText modes. End-users can type any - text. - - - - Gets the index of the currently selected item in the combobox. - - - - Gets or sets a value indicating the horizontal offset of the combobox dropdown - - - An integer specifying the horizontal offset of the combobox dropdown (measured in - pixels). The default value is 0 (no offset). - - - Use the OffsetX property to change the position of the combobox dropdown - - To customize the vertical offset use the OffsetY - property. - - - - - - Gets or sets a value indicating the vertical offset of the combobox dropdown. - - - An integer specifying the vertical offset of the combobox dropdown(measured in - pixels). The default value is 0 (no offset). - - - Use the OffsetY property to change the position where the combobox dropdown - will appear. - - To customize the horizontal offset use the OffsetX - property. - - - - - - Gets or sets the width of the dropdown in pixels. - - - - - Gets or sets whether to enable/disable the RadComboBox drop down auto width. - - - - - Gets or sets an additional Cascading Style Sheet (CSS) class applied to the Drop Down. - - - By default the visual appearance of the Drop Down is defined in the skin CSS - file. You can use the DropDownCssClass property to specify a CSS class - to be applied in addition to the default CSS class. - - - - - Gets or sets an additional Cascading Style Sheet (CSS) class applied to the Input. - - - By default the visual appearance of the Input is defined in the skin CSS - file. You can use the InputCssClass property to specify a CSS class - to be applied in addition to the default CSS class. - - - - - Gets or sets the max height of the dropdown in pixels. - - - - Gets the value of the currently selected item in the combobox. - - - - Gets or sets the template for displaying header in - RadcomboBox. - - - - - Gets or sets the template for displaying footer in - RadcomboBox. - - - - - Get a header of - RadcomboBox. - - - - - Get a footer of - RadcomboBox. - - - - - Gets or sets the template for displaying the items in - RadcomboBox. - - - A ITemplate implemented object that contains the template - for displaying combo items. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - The ItemTemplate property sets a template that will be used - for all combo items. - - - The following example demonstrates how to use the - ItemTemplate property to add a CheckBox for each item. - ASPX: - <telerik:RadComboBox runat="server" ID="RadComboBox1"> -
- <ItemTemplate> -
- <asp:CheckBox runat="server" - ID="CheckBox"></asp:CheckBox>
- <asp:Label runat="server" ID="Label1"
-
- Text='<%# DataBinder.Eval(Container, "Text") %>' - ></asp:Label> -
-
- </ItemTemplate> - <Items> -
- <telerik:RadComboBoxItem Text="News" /> - <telerik:RadComboBoxItem Text="Sports" /> - <telerik:RadComboBoxItem Text="Games" /> -
- </Items> -
- </telerik:RadComboBox> -
-
- - - Gets or sets the template for displaying the items in - RadcomboBox. - - - - Gets or sets the maximum number of characters allowed in the combobox. - - - - Indicates whether the combobox will be visible while loading. - - - - Gets the settings for the animation played when the dropdown opens. - - An AnnimationSettings that represents the - expand animation. - - - - Use the ExpandAnimation property to customize the expand - animation of RadComboBox. You can specify the - Type, - Duration and the - To disable expand animation effects you should set the - Type to - AnimationType.None.
- To customize the collapse animation you can use the - CollapseAnimation property. -
-
- - The following example demonstrates how to set the ExpandAnimation - of RadComboBox. - - ASPX: - - - <telerik:RadComboBox ID="RadComboBox1" runat="server"> - <ExpandAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadComboBoxItem Text="News" > - </telerik:RadComboBoxItem> - </Items> - - - </telerik:RadComboBox> - - - void Page_Load(object sender, EventArgs e) - { - RadComboBox1.ExpandAnimation.Type = AnimationType.Linear; - RadComboBox1.ExpandAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadComboBox1.ExpandAnimation.Type = AnimationType.Linear - RadComboBox1.ExpandAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a dropdown starts to - open. - - - An integer specifying the timeout measured in milliseconds. The default value is - 100 milliseconds. - - - Use the ExpandDelay property to delay dropdown opening. - - To customize the timeout prior to item closing use the - CollapseDelay property. - - - - The following example demonstrates how to specify a half second (500 - milliseconds) timeout prior to dropdown opening: - ASPX: - <telerik:RadComboBox ID="RadComboBox1" runat="server" - ExpandDelay="500" /> - - - - Gets the settings for the animation played when an item closes. - - An AnnimationSettings that represents the - collapse animation. - - - - Use the CollapseAnimation property to customize the collapse - animation of RadComboBox. You can specify the - Type, - Duration and the - items are collapsed.
- To disable collapse animation effects you should set the - Type to - AnimationType.None. To customize the expand animation you can - use the CollapseAnimation property. -
-
- - The following example demonstrates how to set the - CollapseAnimation of RadComboBox. - - ASPX: - - - <telerik:RadComboBox ID="RadComboBox1" runat="server"> - <CollapseAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadComboBoxItem Text="News" > - </telerik:RadComboBoxItem> - </Items> - - - </telerik:RadComboBox> - - - - - - - void Page_Load(object sender, EventArgs e) - { - RadComboBox1.CollapseAnimation.Type = AnimationType.Linear; - RadComboBox1.CollapseAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadComboBox1.CollapseAnimation.Type = AnimationType.Linear - RadComboBox1.CollapseAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a dropdown starts to - close. - - - An integer specifying the timeout measured in milliseconds. The default value is - 500 (half a second). - - - Use the CollapseDelay property to delay dropdown closing. To - cause immediate item closing set this property to 0 (zero). - - To customize the timeout prior to item closing use the - ExpandDelay property. - - - - The following example demonstrates how to specify one second (1000 - milliseconds) timeout prior to dropdown closing: - ASPX: - <telerik:RadComboBox ID="RadComboBox1" runat="server" - ClosingDelay="1000" /> - - - - - Gets or sets a value indicating whether the Overlay element is rendered when supported. True by default. - - The enable overlay. - - - - Automatically sorts items alphabetically (based on the Text - property) in ascending or descending order. - - - - RadComboBox1.Sort = RadComboBoxSort.Ascending; - RadComboBox1.Sort = RadComboBoxSort.Descending; - RadComboBox1.Sort = RadComboBoxSort.None; - - - RadComboBox1.Sort = RadComboBoxSort.Ascending - RadComboBox1.Sort = RadComboBoxSort.Descending - RadComboBox1.Sort = RadComboBoxSort.None - - - - - - Gets/sets whether the sorting will be case-sensitive or not. - By default is set to true. - - - - RadComboBox1.SortCaseSensitive = false; - - - - RadComboBox1.SortCaseSensitive = false - - - - - - Gets or sets the label of the control. - - The label of the control. - - - - Gets or sets the css class of the label. - - The label CSS class. - - - - Gets or sets the the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadComboBox will look for its .resx localization files. - - The localization path. - - - - When set to true enables support for WAI-ARIA. - - - - - Gets or sets a value indicating whether the combobox should display the checkboxes for its items. - - - - - Gets or sets which datasource field will represent the "Checked" state of an item checkbox. - - - - - Gets or sets a value indicating whether the combobox should display the checkboxes for its items. - - - - - Gets or sets a value indicating whether the combobox should display the checked items texts in case they do not fit in the control input. - - - - - Gets the currently checked items in the RadComboBox. - - - - - Gets or sets a value indicating whether the ComboBox should render as a <select> element. - When enabled the ComboBox will have its functionality reduced to that of the <select> element. - - - - - Gets or set the default item in the RadComboBox. - - - - - Occurs when the text of the RadComboBox changes between postbacks to the server. - - - - - Occurs when an item is checked - - - - - The client-side event that is fired when the selected index of the - RadComboBox is about to be changed. - - - - The event handler receives two parameters: the instance of of the RadComboBox - client-side object and event argument of the newly selected item. - - - The event can be cancelled - simply call - args.set_cancel(true); - from the event handler and the item will not be changed. - - - - - <script type="text/javascript"> - function onSelectedIndexChanging(sender, eventArgs) - { - var item = eventArgs.get_item(); - if (item.get_text() == "LA") - { - // do not allow selecting item with text "LA" - return false; - } - else - { - // alert the new item text and value. - alert(item.get_text() + ":" + item.get_value()); - } - } - </script> - - <telerik:radcombobox ID="RadComboBox1" runat="server" - OnClientSelectedIndexChanging="onSelectedIndexChanging"> - </telerik:radcombobox> - - - - - - The client-side event that is fired after the selected index of the RadComboBox has - been changed. - - - The event handler receives two parameters: the instance of of the combobox - client-side object and event argument with the newly selected item. - - - - <script language="javascript"> - function onSelectedIndexChanged(sender,eventArgs) - { - var item = eventArgs.get_item(); - // alert the new item text and value. - alert(item.get_text() + ":" + item.get_value()); - } - </script> - - <telerik:radcombobox ID="RadComboBox1" runat="server" - OnClientSelectedIndexChanged="onSelectedIndexChanged"> - </telerik:radcombobox> - - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadComboBox is about to be populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemRequestingHandler(sender, eventArgs)
- {
- var context = eventArgs.get_context();
- context["Parameter1"] = "Value";
- }
- </script>
- <telerik:RadComboBox ID="RadComboBox1"
- runat="server"
- OnClientItemPopulating="onClientItemPopulatingHandler">
- ....
- </telerik:RadComboBox>
-
- - If specified, the OnClientItemsRequesting client-side event - handler is called when the RadComboBox is about to be populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with three properties: - - get_context(), an user object that will be passed to the web service. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadComboBox items were just populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemsRequested(sender, eventArgs)
- {
- alert("Loading finished");
- }
- </script>
- <telerik:RadComboBox ID="RadComboBox1"
- runat="server"
- OnClientItemsRequested="onItemsRequested">
- ....
- </telerik:RadComboBox>
-
- - If specified, the OnClientItemsRequested client-side event - handler is called when the RadComboBox items were just populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs, null for this event. - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the RadComboBox has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemsRequestFailed(sender, eventArgs)
- {
- alert("Error: " + errorMessage);
- eventArgs.set_cancel(true);
- }
- </script>
- <telerik:RadComboBox ID="RadComboBox1"
- runat="server"
- OnClientItemsRequestFailed="onItemsRequestFailed">
- ....
- </telerik:RadComboBox>
-
- - If specified, the OnClientItemsRequestFailed client-side event - handler is called when the operation for populating the RadComboBox has failed. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with one property: - - set_cancel(), set to true to suppress the default action (alert message). - - - - This event can be cancelled. - -
- - - Gets or sets the name of the JavaScript function called when an Item is created during Web Service Load on Demand. - - - - - The client-side event that is fired when the user presses a key inside the - combobox. - - - - <telerik:radcombobox - Runat="server" - ID="RadComboBox3" - OnClientKeyPressing="HandleKeyPress" - ... - /> - - <script type="text/javascript"> - - function HandleKeyPress(sender, e) - { - if (e.keyCode == 13) - { - document.forms[0].submit(); - } - } - - </script> - - - - The event handler receives two parameters: - - the instance of the combobox client-side object; - browser event arguments. - - You can use the browser event arguments (and the keyCode - property in particular) to detect which key was pressed and to write your own - custom logic. - - - - - The client-side event that is fired when the selected index of RadCombobox has changed. - - The on client text change. - - - - The client-side event that is fired before the dropdown of the combobox is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Opening combobox with " + comboBox.get_items().get_count() + " items"); - } - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientDropDownOpening="HandleOpen"> - </telerik:radcombobox> - - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the combobox dropdown will not be opened. - - - - - The client-side event that is fired after the dropdown of the combobox is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - alert("Opening combobox with " + comboBox.get_items().get_count() + " items"); - - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientDropDownOpened="HandleOpen"> - </telerik:radcombobox> - - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. The event cannot be cancelled. - - - - - The client-side event that is fired when when the combo gains focus - - - - <script type="text/avascript"> - - function OnClientFocus(sender,args) - { - alert("focus"); - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientFocus="OnClientFocus"> - </telerik:radcombobox> - - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. - - - - - The client-side event that is fired when when the combo loses focus - - - - <script type="text/avascript"> - - function OnClientBlur(sender,args) - { - alert("blur"); - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientBlur="OnClientBlur"> - </telerik:radcombobox> - - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. - - - - - The client-side event that is fired before the dropdown of the combobox is - closed. - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the combobox dropdown will not be closed. - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Closing combobox with " + sender.get_items().get_count() + " items"); - } - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientDropDownClosing="HandleClose"> - </telerik:radcombobox> - - - - - - The client-side event that is fired after the dropdown of the combobox is - closed. - - - The event handler receives two parameter: the instance of the combobox - client-side object and event args. The event can not be cancelled - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - alert("Closed combobox with " + sender.get_items().get_count() + " items"); - - } - - </script> - - - <telerik:radcombobox - id="RadComboBox1" - Runat="server" - OnClientDropDownClosed="HandleClose"> - </telerik:radcombobox> - - - - - - If specified, the OnClienLoad client-side event handler is - called after the combobox is fully initialized on the client. - A single parameter - the combobox client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientLoadHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadComboBox ID="RadComboBox1"
- runat= "server"
- OnClientLoad="onClientLoadHandler">
- ....
- </telerik:RadComboBox>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadComboBox client-side object is initialized. - -
- - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - The client-side event that is fired when a - RadComboBox item is about to be checked. - - - - The event handler receives two parameters: the instance of of the RadComboBox - client-side object and event argument of the newly checked item. - - - The event can be cancelled - simply call - args.set_cancel(true); - from the event handler and the item will not be changed. - - - - - <script type="text/javascript"> - function onClientIndexChecking(sender, eventArgs) - { - var item = eventArgs.get_item(); - if (item.get_text() == "LA") - { - // do not allow checking an item with text "LA" - return false; - } - else - { - // alert the new item text and value. - alert(item.get_text() + ":" + item.get_value()); - } - } - </script> - - <telerik:radcombobox ID="RadComboBox1" runat="server" - OnClientIndexChecking="onClientIndexChecking"> - </telerik:radcombobox> - - - - - - The client-side event that is fired after a RadComboBox item has - been checked. - - - The event handler receives two parameters: the instance of of the combobox - client-side object and event argument with the newly checked item. - - - - <script language="javascript"> - function onClientItemChecked(sender,eventArgs) - { - var item = eventArgs.get_item(); - // alert the new item text and value. - alert(item.get_text() + ":" + item.get_value()); - } - </script> - - <telerik:radcombobox ID="RadComboBox1" runat="server" - OnClientItemChecked="onClientItemChecked"> - </telerik:radcombobox> - - - - - - Gets or sets the name of the JavaScript function called when the client template for an item is evaluated - - - - - The Telerik.Web.UI.RadComboBoxCheckedItemsTexts enumeration supports two values - DisplayAllInInput and FitInInput. Default is FitInInput. - - - - - The Telerik.Web.UI.RadComboBoxExpandDirection enumeration supports two values - Up and Down. - - - - - EI Cell object - - - - - Public constructor of the Cell object. Needs a reference to the parent table. - - Table element - - - - Provides a reference to the parent table - - - - - The index of the corresponding Row element - - - - - The index of the corresponding Column element - - - - - The position of the Cell element in the Table - - - - - Hyperlink value. Not supported for XLS. - - - - - Container of the Cell styles - - - - - Property used to get/set the value of the Cell element - - - - - The column span of the cell. Default value is 1. - - - - - The row span of the cell. Defalut value is 1. - - - - - Used to get the cell value converted to String - - - - - Custom numeric format specifier - - - - - EI Cell Collection - - - - - Method to get the generic enumerator of the collection - - - - - Method to get the enumerator of the collection - - - - - Changing the cell index of an existing cell is not supported publicly because this requires changing - - - - - - - Provides a reference to the parent Table element - - - - - Returns the total number of populated cells - - - - - Gets/Sets a cell object by given column and row. If no such cell exists, it will be created automatically. - - Column index - Row index - Cell object - - - - Gets/Sets a cell object by given Excel-style index. If no such cell exists, it will be created automatically. - - Excel-style index ('A4', 'BC33', etc) - Cell object - - - - Gets/Sets a cell object by given Point value. If no such cell exists, it will be created automatically. - - Row index - Cell object - - - - EI ExportStyle object - - - - - Returns true if both styles are equal - - ExportStyle object - Boolean. True if equal, false if different. - - - - Background color - - - - - Bottom border color - - - - - Left border color - - - - - Right border color - - - - - Top border color - - - - - Bottom border style - - - - - Left border style - - - - - Right border style - - - - - Top border style - - - - - Bottom border width - - - - - Left border width - - - - - Right border width - - - - - Top border width - - - - - Font style - - - - - Foreground color - - - - - Horizontal text alignment - - - - - Vertical text alignment - - - - - Returns true if the style is empty - - - - - Returns true when the ExportStyle contains border settings - - - - - EI Column object - - - - - Column constructor. Needs a reference to the Table object. - - Table object - - - - Returns a reference to the owner table - - - - - Style container for the Column object - - - - - Column width - - - - - Returns the cells that correspond to the current column - - - - - Column index - - - - - EI Column collection - - - - - Returns the collection enumerator - - - - - Returns the collection enumerator - - - - - Returns a reference to the owner Table object - - - - - Returns the number of Columns in the collection - - - - - Gets/sets the column by given index - - Column index - Column object - - - - EI Image collection - - - - - Returns the enumerator for the image collection - - - - - Returns the enumerator for the image collection - - - - - Adds an Image to the collection - - Image object - - - - Returns the number of Image objects in the collection - - - - - Gets/sets an image object by given index - - Image index - Image object - - - - EI Image object - - - - - Generate a System.Drawing.Image object from the current EI Image object - - System.Drawing.Image object - - - - Generate an Image object from byte array - - System.Drawing.Image object - - - - Generate an Image object from URL - - System.Drawing.Image object - - - - Byte array containing the image data. This property has higher priority compared to ImageUrl. - - - - - Image URL string - - - - - Image range. This property has lower priority compared to ImageData. - - - - - Boolean property. Will resize the image automatically if set to true. False by default. - - - - - EI Range object. Represents two points (start and end) in the table. - - - - - Constructor for the Range object. Accepts pair of points - - Start point - End point - - - - Constructor for the Range object. Accepts pair of Excel-style indexes - - Start index - End index - - - - Equality operator for the Range object - - First range - Second range - Returns true if the ranges are identical - - - - Inequality operator for the Range object - - First range - Second range - Returns true if the ranges are different - - - - Returns true if the ranges are equal - - - - - Returns true if the ranges are equal - - - - - Returns the hash code of the Range object - - - - - Returns the Range object indexes presented as Excel-style range (A1:B5, B1:B6, etc) - - String value representing the range in Excel style - - - - Start point of the range - - - - - End point of the range - - - - - EI Excel BIFF Renderer - - - - - Default constructor for Excel BIFF renderer. Accepts ExportStructure object. - - ExportStructure object - - - - Renders the ExportStructure object to binary XLS (byte array) - - XLS BIFF output byte array - - - - EI HTML renderer - - - - - HtmlRenderer constructor that accepts ExportStructure object - - ExportStructure object - - - - Renders the ExportStructure object to HTML code - - - - - - EI Row object - - - - - Public constructor of the Row object. Needs a reference to the parent table. - - - - - - Provides a reference to the owner Table - - - - - Container of the Row styles - - - - - Row height - - - - - Returns the current row's cells - - - - - Row index - - - - - EI Row collection - - - - - Returns the enumerator for the collection - - - - - Returns the enumerator for the collection - - - - - Provides a reference to the owner Table - - - - - Returns the number of created rows - - - - - Gets/sets a Row object by given index - - Row index - Row object - - - - Static class containing Export-related utilities - - - - - Checks if the provided Excel-style index is valid - - Excel-style string index - True if valid, false if not. - - - - Converts a given Excel-style string index to Point value - - Index string - Point value - - - - Converts a given column index (Excel-style) to integer - - Column index (Excel-style) - Integer column index - - - - Converts a Point value to Excel-style cell index - - Cell index (Point) - Excel-style cell index - - - - Reverses a string - - String to be reversed - Reversed string - - - - Convert from VerticalAlign to VerticalAlignment enumerations - - - - - Convert from HorizontalAlign to HorizontalAlignment enumerations - - - - - Converts the ASP.NET BorderStyle enumeration values to Excel BorderStyle enumeration values - - - - - - Returns a list of cells that correspond to a given range - - Start cell index - End cell index - List of cells - - - - Returns the points (pt) per given Unit value - - - - - Returns the inches (in) per given Unit value - - - - - Converts the given Unit value to "Excel Characters" unit value - - Input value - Default font used to calculate the Excel character width value - Value converted in "Excel Characters" - - - - Remove the recurring whitespaces; Remove the CR/LF chars, if any; Replace the HTML newline characters with CR/LFs; - To put it simply, CR/LF has no meaning in HTML context so only line break characters should be taken into consideration. - On the other hand, the HTML line break char is meaningless in the context of the BIFF file. This is to maintain the - compatiblity and pertain the expected behavaior. - - - - - - - Converts a string value to Guid - - Parsed Guid value. If parsing fails for some reason, the ConvertToGuid method will return Guid.Empty - - - - - Converts an object value to TimeSpan - - Parsed TimeSpan value. If parsing fails for some reason, the ConvertToTimeSpan method will return TimeSpan.Zero - - - - - Converts strongly typed relative FontSize unit to points (double) - - FontSize value - Size in points - - - - EI ExportStructure object - - - - - Default ExportStructure constructor - - - - - ExportStructure Tables - - - - - Returns the default font for the structure - - - - - EI Table (Worksheet) object - - - - - Default constructor of the Table object - - - - - Constructor of the Table object that accepts a table name - - Table name - - - - Adds an image to the Table - - Cell range - Image URL - Will resize the image automatically if set to true - - - - Adds an image to the Table - - Cell range - Image URL - - - - Adds an image to the Table - - Cell object - Image URL - Will resize the image automatically if set to true - - - - Adds an image to the Table - - Cell object - Image URL - - - - Adds an image to the Table - - Cell range - Byte array containing the image data - Will resize the image automatically if set to true - - - - Adds an image to the Table - - Cell range - Byte array containing the image data - - - - Adds an image to the Table - - Cell object - Byte array containing the image data - Will resize the image automatically if set to true - - - - Adds an image to the Table - - Cell object - Byte array containing the image data - - - - Shifts the rows down, up to the given row number, and starting from the specified row index - - This value specifies the starting row from which to shift the rows down - Value determining how many positions to shift the rows down - - - - Table index - - - - - Table name - - - - - Intended for unit tests usage - - - - - Table cells collection - - - - - Table rows collection - - - - - Table columns collection - - - - - Table images collection - - - - - Container of the Table styles - - - - - EI Table collection - - - - - Returns the enumerator of the collection - - - - - Returns the enumerator of the collection - - - - - Adds new Table to the collection - - Table element - - - - Return the total number of the Tables in the structure - - - - - Returns a table by given index - - Table index - Table object - - - - Returns a table by given Table name - - Table name - Table object - - - - BACKUP: Save Backup Version of the File (40h) - The BACKUP record specifies whether Microsoft Excel should save backup - versions of a file. - - - - - Base class for all BIFF records. - - - - - RecordType (2 bytes) + Length Entry (2 bytes) = 4 bytes. - - - - - The unique record identifier. - - - - - The length of the record in bytes. - - - - - Interface for records that have type and data. - - - - - = 1 if Microsoft Excel should save a backup version of the file - - - - - FontAttributes - - - - - FontBoldness - - - - - FontScripts - - - - - FontUnderlines - - - - - DiagonalDirection - - - - - HorizontalAlignments - - - - - VerticalAlignments - - - - - ReadingOrder - - - - - TextRotate - - - - - BLANK: Cell Value, Blank Cell (201h) - A BLANK record describes an empty cell. The rw field contains the - 0-based row number. The col field contains the 0-based column number. - - - - - Row - - - - - Column - - - - - Index to the XF record - - - - - BOF: Beginning of File (809h) - The BOF record marks the beginning of the Book stream in the BIFF file. - It also marks the beginning of record groups (or "substreams" of the - Book stream) for sheets in the workbook. - - - - - BIFF version. - - - - - Type of the following data: - 0x0005 = Workbook globals - 0x0006 = Visual Basic module - 0x0010 = Worksheet - 0x0020 = Chart - 0x0040 = Macro sheet - 0x0100 = Workspace file - - - - - Build identifier. - - - - - Build year. - - - - - File history flags. - - - - - Lowest BIFF version. - - - - - BOOKBOOL: Workbook Option Flag (DAh) - This record saves a workbook option flag. - - - - - =1 if the Save External Link Values option is turned off (Options - dialog box, Calculation tab) - - - - - Border - - - - - BorderKind - - - - - Borders - - - - - BorderStyle - - - - - BorderWeight - - - - - BOUNDSHEET: Sheet Information (85h) - This record stores the sheet name, sheet type, and stream position. - - - - - Stream position of the start of the BOF record for the sheet - - - - - Option flags - - - - - Worksheet name. - - - - - Page break structure. - Each element of the rgbrk structure contains three 2-byte integers: - the first specifies the row of the break, the second specifies the - starting column, and the third specifies the ending column for the - break. All row and column numbers are 1-based, and the breaks occur - after the row or column. This array is sorted by row, and then by - starting/ending column. No two page breaks may overlap. - - - - - CALCCOUNT: Iteration Count (0Ch) - The CALCCOUNT record stores the Maximum Iterations option from the - Options dialog box, Calculation tab. - - - - - Iteration count - - - - - CALCMODE: Calculation Mode (0Dh) - The CALCMODE record stores options from the Options dialog box, - Calculation tab. - - - - - Calculation mode: - = 0 for manual - = 1 for automatic - = ?1 for automatic, except tables - - - - - CODEPAGE: Default Code Page (42h) - The CODEPAGE record stores the default code page (character set) that - was in use when the workbook was saved. - - - - - Code page the file is saved in. - - - - - COLINFO: Column Formatting Information (7Dh) - The COLINFO record describes the column formatting for a range of - columns. - - - - - First formatted column (0-based) - - - - - Last formatted column (0-based) - - - - - Column width, in 1/256s of a character width - - - - - Index to XF record that contains the default format for the column - (for more information about the XF records, see "XF" on page 426) - - - - - Options - - - - - Reserved; must be 0 (zero) - - - - - The width of the column in characters of the default font - - - - - CONTINUE: Continues Long Records (3Ch) - Records that are longer than 8228 bytes (2084 bytes in BIFF7 and - earlier) must be split into several records. The first section appears - in the base record; subsequent sections appear in CONTINUE records. - In BIFF8, the TXO record is always followed by CONTINUE records that - store the string data and formatting runs. - - - - - Continuation of record data - - - - - COUNTRY: Default Country and WIN.INI Country (8Ch) - This record contains localization information. - - - - - Default country index. - The default country index, iCountryDef, is determined by the - localized version of Microsoft Excel that created the BIFF file. - For example, all BIFF files created by the U.S. version of - Microsoft Excel have iCountryDef = 1. - - - - - Country index from the Win.ini file. - If Microsoft Excel for Windows created the BIFF file, - iCountryWinIni is equal to the index that corresponds to the - country setting in the Win.ini file. - - - - - DBCELL: Stream Offsets (D7h) - The DBCELL record stores stream offsets for the BIFF file. There is one - DBCELL record for each block of ROW records and associated cell records. - Each block can contain data for up to 32 rows. For more information - about the DBCELL record, see "Finding Cell Records in BIFF Files" on - page 440. - - - - - Offset from the start of the DBCELL record to the start of the - first ROW record in the block; this is an offset to an earlier - position in the stream. - - - - - Array of stream offsets (2 bytes each). For more information, see - "Finding Cell Records in BIFF Files" on page 440. - - - - - DEFAULTROWHEIGHT: Default Row Height (225h) - The DEFAULTROWHEIGHT record specifies the height of all undefined rows - on the sheet. The miyRw field contains the row height in units of - 1/20th of a point. This record does not affect the row height of any - rows that are explicitly defined. - - - - - Option flags (see the following table) - - - - - Default row height - - - - - DEFCOLWIDTH: Default Width for Columns (55h) - The DEFCOLWIDTH record specifies the width, measured in characters, for - columns not explicitly sized in the COLWIDTH record. - - - - - Default width of the columns. - Excel adds some extra space to the default width, depending on the - default font and default font size. The algorithm how to exactly - calculate the resulting column width is not known. - Example: The default width of 8 set in this record results in a - column width of 8.43 using Arial font with a size of 10 points. - - - - - DELTA: Iteration Increment (10h) - The DELTA record stores the Maximum Change value from the Options - dialog box, Calculation tab. The number is in 8-byte IEEE - floating-point format. - - - - - Maximum iteration change. - - - - - DIMENSIONS: Cell Table Size (200h) - The DIMENSIONS record contains the minimum and maximum bounds of the - sheet. It provides a concise indication of the sheet size. - Note that both the rwMac and colMac fields are greater by 1 than the - actual last row and column. For example, a worksheet that exists - between cells B3 and D6 would have the following dimensions in the - dimensions record (note rows and columns are 0-based in BIFF files in - which row 1 and column A are both coded as 0): - - - - - First defined row on the sheet - - - - - Last defined row on the sheet, plus 1 - - - - - Last defined column on the sheet, plus 1 - - - - - First defined column on the sheet - - - - - Reserved; must be 0 (zero) - - - - - DSF: Double Stream File (161h) - The DSF record stores a flag that indicates if the workbook is a double - stream file. Double Stream files contain both BIFF8 and BIFF7 workbooks. - - - - - 1 if the workbook is a double stream file, 0 otherwise. - - - - - EOF: End of File (0Ah) - The EOF record marks the end of the workbook stream or the end of one of - the substreams in the workbook stream. It has no record data field and - is simply 0A000000h. - - - - - EXTERNSHEET: External Reference (17h) - The EXTERNSHEET record specifies externally referenced workbooks. - In BIFF7 and earlier, multiple EXTERNSHEET records form a table in the - file. The cxals field of the EXTERNCOUNT record specifies the number of - EXTERNSHEET records. You should not change the order of EXTERNSHEET - records. In BIFF8, the SUPBOOK record stores the encoded pathname and - file name. There is one SUPBOOK record for each externally referenced - workbook. The EXTERNSHEET record contains a table (rgXTI) that points - to the SUPBOOK records. Several ptgs in a BIFF8 formula contain an ixti - field; this is the 0-based index to the rgXTI table in the EXTERNSHEET - record. An externally referenced workbook is called a source workbook. - The workbook that refers to it is called a dependent workbook. - - - - - Array of XTI structures. - - - - - XTI - - - - - EXTSST: Extended Shared String Table (FFh) - The EXTSST record contains a hash table that optimizes external copy - operations. - - - - - Number of strings in each bucket - - - - - Array of ISSTINF structures - - - - - FONT: Font Description (31h) - The workbook font table contains at least five FONT records. FONT - records are numbered as follows: ifnt = 00h (the first FONT record in - the table), ifnt = 01h, ifnt = 02h, ifnt = 03h, ifnt = 05h (minimum - table), and then ifnt = 06h, ifnt = 07h, and so on. Notice that - ifnt = 04h never appears in a BIFF file. This is for - backward-compatibility with previous versions of Microsoft Excel. If - you read FONT records, remember to index the table correctly, skipping - ifnt = 04h. - - - - - Height of the font (in units of 1/20th of a point). - - - - - Font attributes. - - - - - Index to the color palette. In other words Color. - - - - - Bold style; a number from 100dec to 1000dec (64h to 3E8h) that - indicates the character weight ("boldness"). The default values are - 190h for normal text and 2BCh for bold text. - - - - - Superscript/subscript: - 00h = None - 01h = Superscript - 02h = Subscript - - - - - Underline style: - 00h = None - 01h = Single - 02h = Double - 21h = Single Accounting - 22h = Double Accounting - - - - - Font family, as defined by the Windows API LOGFONT structure. - - - - - Character set, as defined by the Windows API LOGFONT structure. - - - - - Reserved. :) - - - - - Length of the font name. - - - - - Unicode Flag - 0 = Compressed - 1 = Uncompressed - - - - - Font name. - - - - - LOGFONT - - - - - FORMAT: Number Format (41Eh) - The FORMAT record describes a number format in the workbook. - All the FORMAT records should appear together in a BIFF file. The order - of FORMAT records in an existing BIFF file should not be changed. You - can write custom number formats in a file, but they should be added at - the end of the existing FORMAT records. - - - - - Format index code (for public use only). - Microsoft Excel uses the ifmt field to identify built-in formats - when it reads a file that was created by a different localized - version. For more information about built-in formats, see "XF" on - page 426. - - - - - Length of the format string. - - - - - Format string attributes. - 1 = Uncompressed Unicode - - - - - Number format string. - - - - - FNGROUPCOUNT: Built-in Function Group Count (9Ch) - This record stores the number of built-in function groups (Financial, Math & Trig, Date & Time, and so on) in the current version of Microsoft Excel. - - - - - Number of built-in function groups. - - - - - GRIDSET: State Change of Gridlines Option (82h) - This record indicates that the user changed the state of the Gridlines - option in the Page Setup dialog box, Sheet tab. - - - - - = 1 if the user has ever changed the setting of the Gridlines option - - - - - GUTS: Size of Row and Column Gutters (80h) - This record contains the size of the row and column gutters, measured - in screen units. The row and column gutters are the spaces that contain - outline symbols. They are located above column headings and to the left - of row headings. - - - - - Size of the row gutter that appears to the left of the rows - - - - - Size of the column gutter that appears above the columns - - - - - Maximum outline level (for the row gutter) - - - - - Maximum outline level (for the column gutter) - - - - - HCENTER: Center Between Horizontal Margins (83h) - If the Horizontally option is selected on the Margins tab in the Page - Setup dialog box, fHCenter = 1. - - - - - = 1 if the sheet is to be centered between horizontal margins when - printed - - - - - HIDEOBJ: Object Display Options (8Dh) - The HIDEOBJ record stores options selected in the Options dialog box, - View tab. - - - - - = 2 if the Hide All option is turned on - = 1 if the Show Placeholders option is turned on - = 0 if the Show All option is turned on - - - - - HORIZONTALPAGEBREAKS: Explicit Row Page Breaks (1Bh) - The HORIZONTALPAGEBREAKS record contains a list of explicit row page - breaks. The cbrk field contains the number of page breaks. Each element - of the rgbrk structure contains three 2-byte integers: the first - specifies the row of the break, the second specifies the starting - column, and the third specifies the ending column for the break. All - row and column numbers are 1-based, and the breaks occur after the row - or column. This array is sorted by row, and then by starting/ending - column. No two page breaks may overlap. - - - - - Number of page breaks. - - - - - Array of brk structures. - - - - - INDEX: Index Record (20Bh) - Microsoft Excel writes an INDEX record immediately after the BOF record - for each worksheet substream in a BIFF file. For more information about - the INDEX record, see "Finding Cell Records in BIFF Files" on page 440. - - - - - Reserved; must be 0 (zero) - - - - - First row that exists on the sheet - - - - - Last row that exists on the sheet, plus 1 - - - - - Reserved; must be 0 (zero) - - - - - Array of file offsets to the DBCELL records for each block of ROW - records. A block contains ROW records for up to 32 rows. For more - information, see "Finding Cell Records in BIFF Files" on page 440. - - - - - The stream position where the strings begin (stream pointer into - the SST record) - - - - - Offset into the SST record that points to where the bucket begins - - - - - Reserved; must be 0 (zero) - - - - - - - - - - INTERFACEHDR: Beginning of User Interface Records (E1h) - This record marks the beginning of the user interface section of - the Book (Workbook) stream. In BIFF7 and earlier, it has no record - data field. In BIFF8 and later, the INTERFACEHDR record data field - contains a 2-byte word that is the code page. This is exactly the - same as the cv field of the the CODEPAGE record. - - - - - Code page the file is saved in - - - - - ITERATION: Iteration Mode (11h) - The ITERATION record stores the Iteration option from the Options - dialog box, Calculation tab. - - - - - = 1 if the Iteration option is on - - - - - LABEL: Cell Value, String Constant (204h) - A LABEL record describes a cell that contains a string constant. The rw - field contains the 0-based row number. The col field contains the - 0-based column number. The string length is contained in the cch field - and must be in the range of 0000h?00FFh (0?255). The string itself is - contained in the rgch field. - - - - - Row - - - - - Column - - - - - Index to the XF record - - - - - Length of the string - - - - - The string - - - - - LABELSST: Cell Value, String Constant/SST (FDh) - A LABELSST record describes a cell that contains a string constant from the shared string table, which is new to BIFF8. The rw field contains the 0-based row number. The col field contains the 0-based column number. The string itself is contained in an SST (shared string table) record, and the isst field is a 0-based index into the shared string table. - - - - - Row - - - - - Column - - - - - Index into the SST record - - - - - Index to the XF record - - - - - - - - - - In inches. - - - - - This record contains the addresses of merged cell ranges in the current - sheet. If the record size exceeds the limit, it is not continued with a - CONTINUE record, but another self-contained MERGEDCELLS record is - started. - The limit of 8224 bytes per record results in a maximum number of 1027 - merged ranges. - Example: A sheet contains 1040 merged cell ranges. The first MERGEDCELLS - record contains a list of 1027 range addresses (the leading number of - ranges is 1027 too). Following a second MERGEDCELLS record with the - remaining 13 merged ranges. - - - - - Number of merged ranges - - - - - Cell range address list with merged ranges - - - - - MMS: ADDMENU/DELMENU Record Group Count (C1h) - This record stores the number of ADDMENU groups and DELMENU groups in - the Book stream. - - - - - Number of ADDMENU record groups. - - - - - Number of DELMENU record groups. - - - - - MSODRAWING: Microsoft Office Drawing (ECh) - This record contains a drawing object provided by the Microsoft Office - Drawing tool. For more information on this file format, see the article "Microsoft Office Drawing File Format" on the Microsoft Developer Network Online Web site (http://www.microsoft.com/msdn/). - - - - - MULBLANK: Multiple Blank Cells (BEh) - The MULBLANK record stores up to the equivalent of 256 BLANK records; - the MULBLANK record is a file size optimization. The number of ixfe - fields can be determined from the ColLast field and is equal to - (colLast - colFirst + 1). The maximum length of the MULBLANK record is - (256 x 2 + 10) = 522 bytes, because Microsoft Excel has at most 256 - columns. Note that storing 256 blank cells in the MULBLANK record takes - 522 bytes as compared with 2560 bytes for 256 BLANK records. - - - - - Column number (0-based) of the first column of the multiple RK - record - - - - - Last column containing the BLANKREC structure - - - - - Row number (0-based) - - - - - NAME: Defined Name (18h) - The NAME record describes a defined name in the workbook. - The NAME record stores two types of names: global names and local names. - A global name is defined for an entire workbook, and a local name is - defined on a single sheet. For example, MyName is a global name, whereas - Sheet1!MyName is a local name. - - - - - Option flags - - - - - Keyboard shortcut - - - - - Length of the name text - - - - - Length of the name definition - - - - - Index to the sheet that contains this name, if the name is a local - name. The ixals field in the NAME record will be nonzero for local - names and will index the list of EXTERNSHEET records for the sheets - in the workbook. The following field, itab, is equal to ixals. - - - - - This field is equal to ixals. - - - - - Length of the custom menu text - - - - - Length of the description text - - - - - Length of the help topic text - - - - - Length of the status bar text - - - - - Unicode Flag - 0 = Compressed - 1 = Uncompressed - - - - - Name text - - - - - Name definition - - - - - 1904: 1904 Date System (22h) - The 1904 record stores the date system used by Microsoft Excel. - - - - - = 1 if the 1904 date system is used - - - - - NUMBER: Cell Value, Floating-Point Number (203h) - A NUMBER record describes a cell containing a constant floating-point - number. The rw field contains the 0-based row number. The col field - contains the 0-based column number. The number is contained in the num - field in 8-byte IEEE floating-point format. - - - - - Row - - - - - Column - - - - - Index to the XF record - - - - - Floating-point number value - - - - - OBJ: Describes a Graphic Object (5Dh) - BIFF files may contain several different variations of the OBJ record. - They correspond to the graphic objects and dialog box controls available - in Microsoft Excel: line object, rectangle object, check box object, - and so on. - - - - - - - - - - - - - - - - - - - - PANE: Number of Panes and Their Position (41h) - The PANE record describes the number and position of unfrozen panes in - a window. - - - - - Vertical position of the split; 0 (zero) if none - - - - - Horizontal position of the split; 0 (zero) if none - - - - - Top row visible in the bottom pane - - - - - Leftmost column visible in the right pane - - - - - Pane number of the active pane - - - - - PASSWORD: Protection Password (13h) - The PASSWORD record contains the encrypted password for a protected - sheet or workbook. Note that this record specifies a sheet-level or - workbook-level protection password, as opposed to the FILEPASS record, - which specifies a file password. - - - - - Encrypted password. - - - - - PRECISION: Precision (0Eh) - The PRECISION record stores the Precision As Displayed option from the - Options dialog box, Calculation tab. - s - - - - = 0 if Precision As Displayed option is selected - - - - - PRINTGRIDLINES: Print Gridlines Flag (2Bh) - This record stores the Gridlines option from the Page Setup dialog box, - Sheet tab. - - - - - = 1 to print gridlines - - - - - PRINTHEADERS: Print Row/Column Labels (2Ah) - The PRINT HEADERS record stores the Row And Column Headings option from - the Page Setup dialog box, Sheet tab. - - - - - = 1 to print row and column headings - - - - - PROT4REV: Shared Workbook Protection Flag (1AFh) - The PROT4REV record stores a shared-workbook protection flag. - - - - - = 1 if the Sharing with Track Changes option is on (Protect Shared - Workbook dialog box) - - - - - PROT4REVPASS: Shared Workbook Protection Password (1BCh) - The PROT4REV record stores an encrypted password for shared-workbook - protection. - - - - - Encrypted password (if this field is 0 (zero), there is no Shared - Workbook Protection Password; the password is entered in the - Protect Shared Workbook dialog box) - - - - - PROTECT: Protection Flag (12h) - The PROTECT record stores the protection state for a sheet or workbook. - - - - - = 1 if the sheet or workbook is protected - - - - - Range - - - - - Calculates a shape anchor. - - The direction of the anchor - The distance in pixels of the shape edge - from the origin of the range. - The first col/row of the range. - The col/row that the anchor will be in. - The anchor value. - - - - Gets a column width or row height in pixels. - - Horizontal for column width, Vertical for row - height. - The zero based index of the col/row - The dimension of the col/row in pixels. - - - - Direction - - - - - This record contains an ID that marks when a worksheet was last - recalculated. It's an optimization Excel uses to determine if it - needs to recalculate the spreadsheet when it's opened. So far, only - the two values 0xC1 0x01 0x00 0x00 0x80 0x38 0x01 0x00 - (do not recalculate) and 0xC1 0x01 0x00 0x00 0x60 0x69 0x01 0x00 - have been seen. If the field isNeeded is set to false (default), then - this record is swallowed during the serialization process - - - - - rt - - - - - reserved - - - - - dwBuild - - - - - REFMODE: Reference Mode (0Fh) - The REFMODE record stores the Reference Style option from the Options dialog box, General tab. - - - - - Reference mode: - = 1 for A1 mode - = 0 for R1C1 mode - - - - - REFRESHALL: Refresh Flag (1B7h) - This record stores an option flag. - - - - - = 1 then Refresh All should be done on all external data ranges and - PivotTables when loading the workbook (the default is = 0) - - - - - The height of the row in points - - - - - Determines whether the row should be autosized by Excel. - - - - - ROW: Describes a Row (208h) - A ROW record describes a single row on a Microsoft Excel sheet. ROW - records and their associated cell records occur in blocks of up to - 32 rows. Each block ends with a DBCELL record. For more information - about row blocks and about optimizing your code when searching for cell - records, see "Finding Cell Records in BIFF Files" on page 440. - - - - - Row number. - - - - - First defined column in the row. - - - - - Last defined column in the row, plus 1. - - - - - The miyRw field contains the row height, in units of 1/20th of a - point. - - - - - Used by Microsoft Excel to optimize loading the file; if you are - creating a BIFF file, set irwMac to 0. - - - - - Reserved - - - - - Option flags. - - - - - If fGhostDirty = 1 (see grbit field), this is the index to the XF - record for the row. Otherwise, this field is undefined. - - - - - Sets the row height in points - - - - - SAVERECALC: Recalculate Before Save (5Fh) - If the Recalculate Before Save option is selected in the Options dialog - box, Calculation tab, then fSaveRecalc = 1. - - - - - = 1 to recalculate before saving - - - - - SELECTION: Current Selection (1Dh) - The SELECTION record stores the selection.s - - - - - Number of the pane described - - - - - Row number of the active cell - - - - - Column number of the active cell - - - - - Ref number of the active cell - - - - - Number of refs in the selection - - - - - Array of refs - - - - - SETUP: Page Setup (A1h) - The SETUP record stores options and measurements from the Page Setup - dialog box. - - - - - Paper size (see fNoPls in the following table) - - - - - Scaling factor (see fNoPls in the following table) - - - - - Starting page number - - - - - Fit to width; number of pages - - - - - Fit to height; number of pages - - - - - Option flags (see the following table) - - - - - Print resolution (see fNoPls in the following table) - - - - - Vertical print resolution (see fNoPls in the following table) - - - - - Header margin (IEEE number) - - - - - Footer margin (IEEE number) - - - - - Number of copies (see fNoPls in the following table) - - - - - SST: Shared String Table (FCh) - The SST record contains string constants. - - - - - Total number of strings in the shared string table and extended - string table (EXTSST record) - - - - - Number of unique strings in the shared string table. - - - - - Array of unique strings. - The rgb field contains an array of unicode strings. - - - - - SSTHelper - - - - - STYLE: Style Information (293h) - Each style in a Microsoft Excel workbook, whether built-in or - user-defined, requires a style record in the BIFF file. When Microsoft - Excel saves the workbook, it writes the STYLE records in alphabetical - order, which is the order in which the styles appear in the drop-down - list box. - - - - - Index to the style XF record. - - - - - Built-in style numbers: - = 00h Normal - = 01h RowLevel_n - = 02h ColLevel_n - = 03h Comma - = 04h Currency - = 05h Percent - = 06h Comma[0] - = 07h Currency[0] - - - - - Level of the outline style RowLevel_n or ColLevel_n. - - - - - SUPBOOK: Supporting Workbook (1AEh) - This record stores data about a supporting external workbook. - - - - - Number of tabs in the workbook. - - - - - WTF? - - - - - TABID: Sheet Tab Index Array (13Dh) - This record contains an array of sheet tab index numbers. The record is - used by the Shared Lists feature. The sheet tab indexes have type short - int (2 bytes each). The index numbers are 0-based and are assigned when - a sheet is created; the sheets retain their index numbers throughout - their lifetime in a workbook. If you rearrange the sheets in a workbook, - the rgiTab array will change to reflect the new sheet arrangement. This - record does not appear in BIFF5 files. - - - - - Array of tab indexes. - - - - - USESELFS: Natural Language Formulas Flag (160h) - This record stores a flag bit. - - - - - = 1 if this file was written by a version of Microsoft Excel that - can use natural-language formula input - - - - - VCENTER: Center Between Vertical Margins (84h) - If the Center On Page Vertically option is on in the Page Setup dialog - box, Margins tab, then fVCenter = 1. - - - - - = 1 if the sheet is to be centered between the vertical margins - when printed - - - - - WINDOW1: Window Information (3Dh) - The WINDOW1 record contains workbook-level window attributes. The xWn - and yWn fields contain the location of the window in units of 1/20th of - a point, relative to the upper-left corner of the Microsoft Excel - window client area. The dxWn and dyWn fields contain the window size, - also in units of 1/20th of a point. - - - - - Horizontal position of the window. - - - - - Vertical position of the window. - - - - - Width of the window. - - - - - Height of the window. - - - - - Option flags: - Bit 0: = 1 if the window is hidden - Bit 1: = 1 if the window is currently displayed as an icon - Bit 2: Reserved - Bit 3: = 1 if the horizontal scroll bar is displayed - Bit 4: = 1 if the vertical scroll bar is displayed - Bit 5: = 1 if the workbook tabs are displayed - Bit 6: Reserved - Bit 7: Reserved - - - - - Index of the selected workbook tab (0-based). - - - - - Index of the first displayed workbook tab (0-based). - - - - - Number of workbook tabs that are selected. - - - - - Ratio of the width of the workbook tabs to the width of the - horizontal scroll bar; to obtain the ratio, convert to decimal and - then divide by 1000. - - - - - WINDOW2: Sheet Window Information (23Eh) - The WINDOW2 record contains window attributes for a sheet in a workbook. - - - - - Option flags - - - - - Top row visible in the window - - - - - Leftmost column visible in the window - - - - - Index to color value for row/column headings and gridlines - - - - - Zoom magnification in page break preview - - - - - Zoom magnification in normal view - - - - - Reserved - - - - - WINDOWPROTECT: Windows Are Protected (19h) - The WINDOWPROTECT record stores an option from the Protect Workbook - dialog box. - - - - - = 1 if the workbook windows are protected. - - - - - - - - - - - - - - - WRITEACCESS: Write Access User Name (5Ch) - This record contains the user name, which is the name you type when - you install Microsoft Excel. - For more info on how to write Unicode string in Excel, see 2.3. - - - - - Length of the Unicode string. - - - - - Option flags - 1 = Uncompressed (16-bit characters) - - - - - User name - - - - - WSBOOL: Additional Workspace Information (81h) - This record stores information about workspace settings. - - - - - Option flags - - - - - XF: Extended Format (E0h) - The XF record stores formatting properties. There are two different XF - records, one for cell records and another for style records. The fStyle - bit is true if the XF is a style XF. The ixfe of a cell record - (BLANK, LABEL, NUMBER, RK, and so on) points to a cell XF record, and - the ixfe of a STYLE record points to a style XF record. Note that in - previous BIFF versions, the record number for the XF record was 43h. - Prior to BIFF5, all number format information was included in FORMAT - records in the BIFF file. Beginning with BIFF5, many of the built-in - number formats were moved to an public table and are no longer saved - with the file as FORMAT records. You still use the ifmt to associate - the built-in number formats with an XF record. However, the public - number formats are no longer visible in the BIFF file. - - - - - Index to the FONT record. - - - - - Index to the FORMAT record. - - - - - Bits about hiding, locking and others. - - - - - Alignment, Wrap, Rotation bits. - - - - - Shrink to fit and merger bits. - - - - - Border Line Style - - - - - Bits about indices to color pallete of borders. - - - - - Bits about indices to color pallete of borders. - - - - - Index to the color pallete for the fill. - - - - - This is a 0-byte record, so it only needs to exist in order to tell - Excel 2000 that the file has been written to by Excel 2000. - - - - - Represents the settings to be used for load on demand through web service. - - - - - - - - - - - - - - - - - Gets or sets the name of the web service to be used to populate items with - ExpandMode set to WebService. - - - - - Gets or sets the method name to be called to populate items with - ExpandMode set to WebService. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets a boolean value - - - - - - - - - - - - - - - - Used to customize the OData binding settings. - - - - - A container (collection) class for Entities of the same type. - - - - - A container (collection) class for Entities of the same type. - - The name of the EntityCollection - that is contained - - A typical exaple is the Name of the collection to be the plural of the EntityType. For - example EntityType Category is often mapped to a container called Categories. - - - - <telerik:RadMenu runat="server" ID="RadTreeView2" PersistLoadOnDemandItems="true" > - <WebServiceSettings Path="http://services.odata.org/OData/OData.svc"> - <ODataSettings ResponseType="JSONP" InitialContainerName="Categories"> - <Entities> - <telerik:ODataEntityType Name="Category" DataValueField="ID" DataTextField="Name" NavigationProperty="Products" /> - <telerik:ODataEntityType Name="Product" DataValueField="ID" DataTextField="Name" /> - </Entities> - <EntityContainer> - <telerik:ODataEntitySet EntityType="Category" Name="Categories" /> - <telerik:ODataEntitySet EntityType="Product" Name="Products" /> - </EntityContainer> - </ODataSettings> - </WebServiceSettings> - <DataBindings> - <telerik:RadMenuItemBinding ExpandMode="WebService" /> - </DataBindings> - </telerik:RadMenu> - - - - - - The name of the Entity Collection. - - - It is necessery that the Name property matches completely the - NavigateProperty (if set) on the - contained by the collection. - - - - - that is hold by the collection. - - - - - Specifies the field of the OData entity that provides the value of each list item. - - - - - Specifies the field of the OData entity that provides the text of each list item. - - - - - Specifies a navigation property. This is a property of an Entry that represents a Link from the Entry to one or more related Entries. - A Navigation Property is not a structural part of the Entry it belongs to. - - - - - - - - The name of the Entity type. - - - - - - - - - Gets or sets the name of the Property to be requested - - - - - Enumerates the data request formats DataBoundControl uses when making data service requests. - - - - - Represents the settings to be used for OData databinding. - - - - - - - - - - Gets or sets the url of the web service to be used - - - - - Gets or sets the initial collection to bind against - - - - - Desrcibes the Entities, that the WebService can return. These are usually declared in - the http://webserviceurl/$metadata metadata document. - - - - - Maps Entities to a Containers (Collectons). - - - - - Code taken from System.CodeDom.Compiler.CodeGenerator as the latter does not work in Medium trust - - - - - This is a custom regular expression: - * A space means zero or more consecutive spaces, tabs or new lines in the target char array. - If the pattern begins with space, it will match only one space character in the input!!! - This is not supported until requested. - * All other characters are looked up as literals. - - - - - This method is called on each iteration on the input string. - Return true if you handled the current iteration in an inherited class, so that the base processing is skipped. - Otherwise return false, so that the base algorithm works instead. - - - - - This enum indicates the result of a call to the CharArrayLimitedRegex.Match(char[] pattern) method. - * 'Fail' means that at some point the input char array does not match the pattern. - The internal pattern progress is reset. - * 'InProgress' means that the current array matches a subset of the pattern. - * 'Success' means that the whole pattern matches after calling the Match method - on a set of arrays consecutively. 'Success' is returned after zero or more 'InProgress' results. - The pattern progrss is reset after reaching this result. - - - - - Clientside implementation of visual element resize functionality - - - - - Specifies the type of the repository that will be used for storing state data. - - - - - Specifies that no repository for storing the state will be used - - - - - Speicifies that will be used to store the state in a cookie - - - - - Speicifies that will be used to store the state - in a file located in App_Data folder - - - - - Speicifies that custom will be used to store the state - - - - - DropDownListContext - - - - - Gets or sets the number of items to be returned. - - The number of items. - - - - Gets or sets the start index. - - The start index. - - - - Gets or sets the context. - - The context. - - - - Gets or sets the items. - - The items. - - - - Gets or sets the items. - - The items. - - - - Appends an item to the collection. - - The item to add to the collection. - - - - Removes the specified item from the collection. - - The item to remove from the collection. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which should be inserted. - The item to insert into the collection. - - - - Sort the items from DropDownListItemCollection. - - - - - Sort the items from DropDownListItemCollection. - - - An object from IComparer interface. - - - - - Sort the items from DropDownListItemCollection. - - - - - Gets or sets the at the specified index. - - - - - This Class defines the DropDownListItem in RadDropDownList. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text of the item. - - - - Initializes a new instance of the class. - - The text of the item. - The value of the item. - - - - Removes this from the control which contains it. - - - - - Compares the current instance with another object of the same type. - - An object to compare with this instance. - - is not the same type as this instance. - - A 32-bit signed integer that indicates the relative order of the objects - being compared. The return value has these meanings: Value Meaning Less than - zero This instance is less than . Zero This instance is - equal to . Greater than zero This instance is greater than - . - - - - - Gets the which this item belongs to. - - - The which this item belongs to; null (Nothing) if the item - is not added to any control. - - - - - Gets or sets a value indicating whether this is selected. - - true if selected; otherwise, false. - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - - DropDownListItemData - - - - - Data class used for transferring control items (menu items, tree nodes, etc.) - from and to web services. - - - - - - - - - Text for the item to pass to the client. - - - - - Value for the item to pass to the client. - - - - - A value indicating if the item to pass to the client is enabled. - - - - - Custom attributes for the item to pass to the client. - - - - - Selected state for the item to be passed to the client. - - - - - For internal use - - - - - - - Provides data for the event of the - control. - - - - - Initializes a new instance of the class. - - The index of the referenced item. - The text of the referenced item. - The value of the referenced item. - - - - Gets or sets the index of the referenced item in the control when the event is raised. - - The index of the referenced item in the control when the event is raised. - - - - Gets or sets the text of the referenced item in the control when the event is raised. - - The text of the referenced item in the control when the event is raised. - - - - Gets or sets the value of the referenced item in the control when the event is raised. - - The value of the referenced item in the control when the event is raised. - - - - Represents the method that handles the event - of the control. - - - - - For internal use - - - - - - - Gets or sets the type. - - The type. - - - - Gets or sets the index of the item. - - The index of the item. - - - - Gets or sets the text of the item. - - The text of the item. - - - - Gets or sets the value of the item. - - The value of the item. - - - - Provides data for the event of the - control. - - - - - Initializes a new instance of the class. - - The referenced item. - - - - Gets or sets the referenced item in the control when the event is raised. - - The referenced item in the control when the event is raised. - - - - Represents the method that handles the event - of the control. - - - - - This Class defines the RadDropDownList. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Clears the selection. The property of all items is set to false. - - - - - Populates the control from an XML file - - Name of the XML file. - - - - Finds the first DropDownListItem with Text that - matches the given text value. - - - The first DropDownListItem that matches the - specified text value. - - - - Dim item As DropDownListItem = RadDropDownList1.FindItemByText("New York") - - - DropDownListItem item = RadDropDownList1.FindItemByText("New York"); - - - The string to search for. - - - - Finds the first DropDownListItem with Text that - matches the given text value. - - - The first DropDownListItem that matches the - specified text value. - - - - Dim item As DropDownListItem = RadDropDownList1.FindItemByText("New York",true) - - - DropDownListItem item = RadDropDownList1.FindItemByText("New York",true); - - - The string to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Finds the first DropDownListItem with Value that - matches the given value. - - - The first DropDownListItem that matches the - specified value. - - - - Dim item As DropDownListItem = RadDropDownList1.FindItemByValue("1") - - - DropDownListItem item = RadDropDownList1.FindItemByValue("1"); - - - The value to search for. - - - - Finds the first DropDownListItem with Value that - matches the given value. - - - The first DropDownListItem that matches the - specified value. - - - - Dim item As DropDownListItem = RadDropDownList1.FindItemByValue("1", true) - - - DropDownListItem item = RadDropDownList1.FindItemByValue("1", true); - - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - This method should return object that implements IDropDownListRenderer or Inherits the - - - - - - Loads the posted content of the list control, if it is different from the last posting. - - The key identifier for the control, used to index the postCollection. - A that contains value information indexed by control identifiers. - true if the posted content is different from the last posting; otherwise, false. - - - - - - - - - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - Gets the items of the control. - - The object which represents the items. - - You can use the Items property to add and remove items in the control. - - - - - - Gets or sets a value indicating the opening direction of RadDropDownList dropdown. - If this property is not set - by default dropdown opens downwards. - - - - - Gets or sets the selected index of the control. - - The index that should be selected. - - Set the selected index to -1 to clear the selection. - - - - Gets the currently selected item in the dropdownlist. - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - protected void Page_Load(object sender, EventArgs e) - { - var selectedItem = RadDropDownList1.SelectedItem; - } - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - Dim selectedItem As DropDownListItem = RadDropDownList1.SelectedItem - End Sub - - - - SelectedItem can be null in client-side binding scenarios. - - - - Gets the text of the currently selected item in the dropdownlist. - The Text of the item which should be selected. - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - protected void Page_Load(object sender, EventArgs e) - { - RadDropDownList1.SelectedText = "Item5"; - } - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - adDropDownList1.SelectedText = "Item5"; - End Sub - - - - - Gets the value of the currently selected item in the dropdownlist. - The Value of the item which should be selected. - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - protected void Page_Load(object sender, EventArgs e) - { - RadDropDownList1.SelectedValue = "5"; - } - - - <telerik:RadDropDownList id="RadDropDownList1" Runat="server" ></telerik:RadDropDownList> - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadDropDownList1.SelectedValue = "5"; - End Sub - - - - - - Gets or sets a message when there is no selected item in the DropDownList. - - The message which will be shown when there is no selected item. - - - - Gets or sets the HTML template of a - when added on the client. - - - - - Gets a list of all client-side changes (adding an Item, removing an Item, changing an Item's property) which have occurred. - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadDropDownList selection. - - - Set this property to true if the server needs to capture the selection - as soon as it is made. For example, other controls on the Web page can be - automatically filled depending on the user's selection from a list control. - This property can be used to allow automatic population of other controls on - the Web page based on a user's selection from a list. - The value of this property is stored in view state. - - - - - Gets or sets the that defines how items in the control are displayed. - - The item template. - - - - Gets or sets the height of the dropdown in pixels. - - - - - Gets or sets the height of the Web server control. - - A that represents the - height of the control. The default is . - - - - - - Gets or sets the width of the dropdown in pixels. - - - - The HTML Z-index of the items dropdown of RadDropDownList.Its default value is 7000. - - Can be used when the dropdown is to be shown over content with a specified - Z-index. If the dropdownlist items dropdown is displayed below the content, set the - ZIndex property to a value higher than the value of the HTML content - below. - - - - - Gets or sets a value indicating whether the functionality to render and load items on demand is enabled or not. - - - When set to true upon scroll a request will be made either to the server or to a web service - in order to render and initialize a new set of items - - - - - The ID of the RadAjaxLoadingPanel to be displayed during Callback or WebService calls - - - - - Gets or sets the number of Items the RadDropDownList will load when the VirtualScolling - functionality is enabled. - - - When this property is not set the number Items which will be loaded will be calculated based on the height of the DropDrown - of the RadDropDownList and the height of a single item. - - - - - Gets the settings for the web service used to populate items. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - private static int totalCount = 100; - private static List<DropDownListItemData> itemsList = new List<DropDownListItemData>(); - - static DropDownService() - { - for (var i = 0; i < totalCount; i++) - { - DropDownListItemData itemData = new DropDownListItemData(); - itemData.Text = "Item" + i.ToString(); - itemData.Value = i.ToString(); - itemData.Attributes["Attribute"] = "Attribute" + i.ToString(); - itemsList.Add(itemData); - } - } - - [WebMethod] - public DropDownListData GetItems(DropDownListContext context) - { - DropDownListData data = new DropDownListData(); - data.Items = itemsList.GetRange(context.StartIndex, context.ItemsCount).ToArray(); - data.TotalCount = totalCount; - - return data; - } - } - - - <System.Web.Script.Services.ScriptService()> _ - Public Class WebService - Inherits System.Web.Services.WebService - - Private Shared totalCount As Integer = 100 - Private Shared itemsList As New List(Of DropDownListItemData)() - - Shared Sub New() - For i As Integer = 0 To totalCount - 1 - Dim itemData As New DropDownListItemData() - itemData.Text = "Item" + i.ToString() - itemData.Value = i.ToString() - itemData.Attributes("Attribute") = "Attribute" + i.ToString() - itemsList.Add(itemData) - - Next - End Sub - - <WebMethod> _ - Public Function GetItems(context As DropDownListContext) As DropDownListData - Dim data As New DropDownListData() - data.Items = itemsList.GetRange(context.StartIndex, context.ItemsCount).ToArray() - data.TotalCount = totalCount - - Return data - End Function - - End Class - - - - - - - Occurs when an item has been selected. - - - - - Occurs when the selected index has changed. - - - - - Occurs when item is data bound. - - - Use the ItemDataBound event to set additional properties of the databound items. - - - - protected void RadDropDonwList1_ItemDataBound(object sender, DropDownListItemEventArgs e) - { - e.Item.ToolTip = (string)DataBinder.Eval(e.Item.DataItem, "ToolTipColumn"); - } - - - Protected Sub RadDropDonwList1_ItemDataBound(sender As Object, e As DropDownListItemEventArgs) - e.Item.ToolTip = DirectCast(DataBinder.Eval(e.Item.DataItem, "ToolTipColumn"), String) - End Sub - - - - - Occurs before template is being applied to the item. - - The TemplateNeeded event is raised before a template is been applied on the item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the items. - - protected void RadDropDownList1_TemplateNeeded(object sender, Telerik.Web.UI.DropDownListItemEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Item); - } - } - } - - - Sub RadDropDownList1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.DropDownListItemEventArgs) Handles RadDropDownList1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Item) - End If - End If - End Sub - - - - - - Occurs when item is created. - - - The ItemCreated event occurs before and after postback if ViewState is enabled. - ItemCreated is not raised for items defined inline in the ASPX. - - - - - If specified, the OnClienLoad client-side event handler is - called after the dropdownlist is fully initialized on the client. - A single parameter - the dropdownlist client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientLoadHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadDropDownList ID="RadDropDownList1"
- runat= "server"
- OnClientLoad="onClientLoadHandler">
- ....
- </telerik:RadDropDownList>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadDropDownList client-side object is initialized. - -
- - - The client-side event that is fired before the dropdown of the DropDownList is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Opening dropDown"); - } - } - - </script> - - - <telerik:RadDropDownList - id="RadDropDownList1" - Runat="server" - OnClientDropDownOpening="HandleOpen"> - </telerik:RadDropDownList> - - - - The event handler receives two parameter: the instance of the dropdownlist - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the dropdownlist dropdown will not be opened. - - - - - The client-side event that is fired after the dropdown of the dropdownlist is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - alert("Opening combobox with " + comboBox.get_items().get_count() + " items"); - - } - - </script> - - - <telerik:RadDropDownList - id="RadDropDownList1" - Runat="server" - OnClientDropDownOpened="HandleOpen"> - </telerik:RadDropDownList> - - - - The event handler receives two parameter: the instance of the dropdownlist - client-side object and event args. The event cannot be cancelled. - - - - - The client-side event that is fired before the dropdown of the dropdownlist is - closed. - - - The event handler receives two parameter: the instance of the dropdownlist - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the dropdownlist dropdown will not be closed. - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Closing dropdown"); - } - } - - </script> - - - <telerik:RadDropDownList - id="RadDropDownList1" - Runat="server" - OnClientDropDownClosing="HandleClose"> - </telerik:RadDropDownList> - - - - - - The client-side event that is fired after the dropdown of the dropdownlist is - closed. - - - The event handler receives two parameter: the instance of the dropdownlist - client-side object and event args. The event can not be cancelled - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - alert("Closed dropdown"); - - } - - </script> - - - <telerik:RadDropDownList - id="RadDropDownList1" - Runat="server" - OnClientDropDownClosed="HandleClose"> - </telerik:RadDropDownList> - - - - - - The client-side event that is fired after the selected index of the RadDropDownList has - been changed. - - - The event handler receives two parameters: the instance of of the dropdownlist - client-side object and event argument with the new selected index. - - - - <script language="javascript"> - function onSelectedIndexChanged(sender,eventArgs) - { - var index = eventArgs.get_index(); - // alert the index. - alert("The new selected index is : " + index); - } - </script> - - <telerik:RadDropDownList ID="RadDropDownList1" runat="server" - OnClientSelectedIndexChanged="onSelectedIndexChanged"> - </telerik:RadDropDownList> - - - - - - The client-side event that is fired when a dropDownListItem is about to be selected. - - - The event handler receives two parameters: the instance of of the dropdownlist - client-side object and event argument with the item which is about to be selected and set_cancel method.The event can be cancelled. - - - - <script language="javascript"> - function onClientItemSelecting(sender,eventArgs) - { - if (someCondition) - { - eventArgs.set_cancel(true); - } - else - { - alert("Item " + eventArgs.get_item().get_text() + " will be selected."); - } - } - </script> - - <telerik:RadDropDownList ID="RadDropDownList1" runat="server" - OnClientItemSelecting="onClientItemSelecting"> - </telerik:RadDropDownList> - - - - - - The client-side event that is fired when a dropDownListItem is selected. - - - The event handler receives two parameters: the instance of of the dropdownlist - client-side object and event argument with the item which is selected. - - - - <script language="javascript"> - function onClientItemSelected(sender,eventArgs) - { - alert("Item " + eventArgs.get_item().get_text() + " is selected."); - } - </script> - - <telerik:RadDropDownList ID="RadDropDownList1" runat="server" - OnClientItemSelected="onClientItemSelected"> - </telerik:RadDropDownList> - - - - - - Gets or sets the name of the JavaScript function called when the client template for an item is evaluated - - - The event handler receives two parameters: the instance of of the dropdownlist - client-side object and event argument with get_dateItem(), get_html(), set_html() and get_template() methods. - - - - <script language="javascript"> - function onClientTemplateDataBound(sender,eventArgs) - { - var html = eventArgs.get_html(); - } - </script> - - <telerik:RadDropDownList ID="RadDropDownList1" runat="server" - OnClientTemplateDataBound="onClientTemplateDataBound"> - </telerik:RadDropDownList> - - - - - - Gets or sets the name of the JavaScript function called when an Item is created during Web Service Binding mode. - - - The event handler receives two parameters: the instance of of the dropdownlist - client-side object and event argument with get_dateItem() and get_item() methods. - - - - <script language="javascript"> - function OnClientItemDataBound(sender, eventArgs) - { - var dataItem = eventArgs.get_dateItem(); - var item = eventArgs.get_item(); - } - </script> - - <telerik:RadDropDownList ID="RadDropDownList1" runat="server" - OnClientItemDataBound="onClientTemplateDataBound"> - <WebServiceSettings Method="GetItems" Path="DropDownWCFService.svc" /> - </telerik:RadDropDownList> - - - - - - For internal use. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Gets or sets the number of items to be returned. - - The number of items. - - - - Gets or sets the start index. - - The start index. - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the selected index. - - The selected indices. - - - - Gets or sets the selected value. - - The selected value. - - - - Gets or sets the selected text. - - The selected text. - - - - Gets or sets the Enabled. - - The Enabled. - - - - Gets the node's full path - - - - - Gets the TreeNode - - - - - Finds control in node's controls collection - - - - - - - Gets or Sets the node's text - - - - - Gets or Sets whether the node is selected - - - - - Gets or Sets whether the node is checked - - - - - Gets or Sets the node's value - - - - - Gets or Sets the node's CssClass - - - - - Gets the node's ID - - - - - Gets the node's DataItem - - - - - Gets the node's Level - - - - - Gets or Sets whether the node is checkable - - - - - Gets or Sets whether the node is expanded - - - - - Gets the DropDownTreeNode full path - - - - - Gets the TreeViewNode - - - - - Finds control in DropDownTreeNode controls collection - - - - - - - Gets or Sets the DropDownTreeNode text - - - - - Gets or Sets the DropDownTreeNode value - - - - - Gets or Sets the DropDownTreeNode CssClass - - - - - Gets the DropDownTreeNode ID - - - - - Gets the DropDownTreeNode DataItem - - - - - Gets the DropDownTreeNode Level - - - - - Gets or Sets whether the node is checkable - - - - - Gets or Sets whether the node is expanded - - - - - Gets or Sets whether the node is selected - - - - - Gets or Sets whether the node is checked - - - - - This class defines DropDownTreeEntryCollection in the DropDownTree control. - - - - - Initializes a new instance of the DropDownTreeEntryCollection class. - - - - - Inserts a DropDownTreeEntry. - - - - - Removes a DropDownTreeEntry by index. - - - - - Adds a DropDownTreeEntry to the collection. - - - - - Copies the entris of ICollection to Array. - - The array. - Index of the array. - - - - Removes the specified entry. - - The DropDownTreeEntry entry. - - - - - Gets the DropDownTreeEntry at the specified index in - the current DropDownTreeEntryCollection. - - - - - Gets the IsReadOnly. - - The IsReadOnly. - - - - This class defines the DropDownTreeEntry object. It inherits WebControl class and implements IMarkableStateManager interface. - - - - Gets or sets the text of the DropDownTreeEntry entry. - - - Gets or sets the value of the DropDownTreeEntry entry. - - - Gets or sets the full path of the DropDownTreeEntry. - - - - This class defines DropDownTreeNodes in the DropDownTree control. - - - This class defines DropDownTreeNodes in the DropDownTree control. - - - - - Finds control in DropDownTreeNode controls collection - - - - - - - Creates entry from the current DropDownNode - - - - - Gets or Sets whether the DropDownTreeNode is selected - - - - - Gets or Sets whether the DropDownTreeNode is checked - - - - - Gets or Sets the DropDownTreeNode text - - - - - Gets or Sets the DropDownTreeNode value - - - - - Gets or Sets the DropDownTreeNode CssClass - - - - - Gets the DropDownTreeNode full path - - - - - Gets the DropDownTreeNode ID - - - - - Gets the DropDownTreeNode DataItem - - - - - Gets the DropDownTreeNode Level - - - - - Gets or sets whether the node is checkable - - - - - Gets or sets whether the node is checkable - - - - - The defined interface of the DropDownTree control. - - - - - This Class defines the RadDropDownList. - - - - - - - - - - - - - Bind the RadDropDownTree control. - - - - - Expands all of the DropDownNodes. - - - - - Synchronize the nodes and the entries collection. - - - The method is used in cases when some nodes are checked manually. - - - - - For internal use. - - - - - Gets or sets the data field holding the unique identifier for a DropDownTreeNode. - - - - - Gets or sets the data field holding the ID of the parent DropDownTreeNode. - - - - - Gets or sets the data field holding the Text property for the currently bound DropDownTreeNode. - - - - - Gets or sets the data field holding the Value property for the currently bound DropDownTreeNode. - - - - - Gets or sets the ODataDataSource used for data binding. - - - - Gets or sets the template for displaying all DropDownTreeNode in the current tree. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - - - Gets the RadDropDownTree - entries collection. - - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - Gets or sets a value indicating what message will be displayed then the control is empty (no entries selected). - - - - - Gets the DropDown settings. - - - - - Get or sets the CheckBox state of the RadDropDownTree. - - - - - Gets or sets the that defines the header template. - - The header template. - - - - Gets or sets the that defines the footer template. - - The footer template. - - - - Get a header of - RadDropDownTree. - - - - - Get a footer of - RadDropDownTree. - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadDropDownTree selection. - - - - - Gets or sets a value indicating whether the entry should show the its full path in the entry area. - - - - - Gets or sets a value indicating the delimiter in FullPath text mode. - - - - - Gets or sets a value indicating the delimiter between entries. - - - - - Gets or sets the default value of the control used for validation. - - - - - Gets the entries text with the appropriate delimiter. - - - - - Gets the entries values in comma separated list. - - - - - Gets or sets a value indicating whether the DropDownNodes expands on single click. - - - - - Used to customize the appearance of the buttons displayed by RadDropDownTree. - - - - - Used to customize filtering of the RadDropDownTree. - - - - - Gets or sets a value indicating where RadDropDownTree will look for its .resx localization files. - - The localization path. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating whether the control filtering is enabled. - - - - - Gets the settings for the web service used to populate nodes when ExpandMode set to WebService. - - - - - Gets the settings the data binding setting for the RadDropDownTree. - - The following property is used in WebService scenarios. - - - - Gets or sets the HTML template of a DropDownNode when added on the client. - - - - - Gets a reference to the embedded tree - - - RadTreeView control is integrated in the RadDropDownTree. - - - - - If specified, the OnClienLoad client-side event handler is - called after the DropDownTree is fully initialized on the client. - A single parameter - the dropdowntree client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientLoadHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadDropDownTree ID="RadDropDownTree1"
- runat= "server"
- OnClientLoad="onClientLoadHandler">
- ....
- </telerik:RadDropDownTree>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadDropDownTree client-side object is initialized. - -
- - - The client-side event that is fired before the dropdown of the DropDownTree is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Opening dropDown"); - } - } - - </script> - - - <telerik:RadDropDownTree - id="RadDropDownTree1" - Runat="server" - OnClientDropDownOpening="HandleOpen"> - </telerik:RadDropDownTree> - - - - The event handler receives two parameter: the instance of the DropDownTree - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the DropDownTree dropdown will not be opened. - - - - - The client-side event that is fired after the dropdown of the DropDownTree is - opened. - - - - <script language="javascript"> - - function HandleOpen(sender,args) - { - alert("Opening combobox with " + comboBox.get_items().get_count() + " items"); - - } - - </script> - - - <telerik:RadDropDownTree - id="RadDropDownTree1" - Runat="server" - OnClientDropDownOpened="HandleOpen"> - </telerik:RadDropDownTree> - - - - The event handler receives two parameter: the instance of the DropDownTree - client-side object and event args. The event cannot be cancelled. - - - - - The client-side event that is fired before the dropdown of the DropDownTree is - closed. - - - The event handler receives two parameter: the instance of the DropDownTree - client-side object and event args. The event can be cancelled - simply set args.set_cancel to true args.set_cancel(true); - from the event handler and the DropDownTree dropdown will not be closed. - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - if (someCondition) - { - args.set_cancel(true); - } - else - { - alert("Closing dropdown"); - } - } - - </script> - - - <telerik:RadDropDownTree - id="RadDropDownTree1" - Runat="server" - OnClientDropDownClosing="HandleClose"> - </telerik:RadDropDownTree> - - - - - - The client-side event that is fired after the dropdown of the DropDownTree is - closed. - - - The event handler receives two parameter: the instance of the DropDownTree - client-side object and event args. The event can not be cancelled - - - - <script language="javascript"> - - function HandleClose(sender, args) - { - alert("Closed dropdown"); - - } - - </script> - - - <telerik:RadDropDownTree - id="RadDropDownTree1" - Runat="server" - OnClientDropDownClosed="HandleClose"> - </telerik:RadDropDownTree> - - - - - - Gets or sets the name of the JavaScript function called when an entry is about to be added - - - The OnClientEntryAdding event can be cancelled by setting its cancel client-side property to false. - - function onClientEntryAdding(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called after an entry has been added - - - - - Gets or sets the name of the JavaScript function called when an entry is about to be removed - - - The OnClientEntryAdding event can be cancelled by setting its cancel client-side property to false. - - function onClientEntryRemoving(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function called after an entry has been removed - - - - - Gets or sets the name of the JavaScript function called on clear button clicking - - - - - Gets or sets the name of the JavaScript function called on clear button clicked - - - - - Occurs when an entry is added - - - - - Occurs when an entry is removed - - - - - This class defines the drop down settings of the DropDownTree control. - - - - - Gets or sets whether to enable/disable the RadDropDownTree drop down auto width. - - - - - Gets or sets a value that indicates whether the dropdown should - be opened by default on loadnig the page. - - - - - Gets or sets the width of the dropdown in pixels. - - - - - Gets or sets the height of the dropdown in pixels. - - - - - Gets or sets a custom CSS class to the DropDown. - - - - - This control has no skin! This property will prevent the SkinRegistrar from - registering the missing CSS references. - - - - - Gets or sets a string containing the localization language for the RadEditor UI - - - - - Gets or sets a value indicating where the editor will look for its dialogs. - - - A relative path to the dialogs location. For example: "~/controls/RadEditorDialogs/". - - - If specified, the ExternalDialogsPath - property will allow you to customize and load the editor dialogs from normal ASCX files. - - - - - Gets or sets a value indicating where the control will look for its .resx localization files. - By default these files should be in the App_GlobalResources folder. However, if you cannot put - the resource files in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource files. - - - A relative path to the dialogs location. For example: "~/controls/RadEditorResources/". - - - If specified, the LocalizationPath - property will allow you to load the control localization files from any location in the - web application. - - - - - Container of misc. export settings of RadEditor control - - - - - A string specifying the name (without the extension) of the file that will be - created. The file extension is automatically added based on the method that is - used. - - - - Opens the exported editor content in a new window instead of the same page. - - - - Contains export document which will be written to the response - - - - - Represents a FormatSet dropdown item. - - - - - The text which will be displayed in the FormatSets dropdown - - - - - The tag which will be moidifed by the FormatSets tool - - - - - The tag which will be moidifed by the FormatSets tool - - - - - A strongly typed collection of EditorFormatSet objects - - - - - Represents a FormatSetAttribute dropdown item. - - - - - A strongly typed collection of EditorFormatSetAttribute objects - - - - - Specifies which of the paths property to be set - - - - - Specifies that the ViewPaths FileBrowser's dialog property should be set - - - - - Specifies that the DeletePaths FileBrowser's dialog property should be set - - - - - Specifies that the UploadPaths FileBrowser's dialog property should be set - - - - - Specifies that all FileBrowser's paths dialog property should be set - - - - - Specifies a FileBrowser dialog - - - - - ImageManager - - - - - FlashManager - - - - - MediaManager - - - - - TemplateManager - - - - - DocumentManager - - - - - SilverlightManager - - - - - All FileBrowser dialogs - - - - - This method is used to export the editor's content. - - - - - This method is used to generate the output string, wich is generated based on the editor's content. - - - - - Initializes the XmlContent property as the first step of the template. - - - The XmlContent property can be used later in the GenerateOutput method. - - - - - Generate xml string, which is loaded in the GetXmlDocument method. - - - - - Make some validation modifications to the editor's content before loading it in the GetXmlDocument method. - - - - - Fires OnExportEvent of the editor. - - - - - Writes the string output to the editor's Page.Response property. - - - - - Confugures the editor's Page.Response for writing. - - - - - The editor object, set in the constructor. - - - - - XmlDocument where the editor's content is loaded in the InitializeXmlContent method. - - - - - The content type of the editor's Page.Response object. - - - - - The extension of the exported file. - - - - - The ExportType object passed as an argument in the EditorExportingArgs argumet, when editor's OnExport is fired. - - - - - The Encoding used in WritePageResponse method. - - - - - The default xml template string used in the GenerateXmlStirng method. - - - {0} is the dtd, {1} is the title, {2} is the content. - - - - - Container of misc. settings for rtf load/export - - - - - Container of misc. settings for Markdown export - - - - - - - - This property sets the tool name in the client script. - - - - - This property instructs the tool to attach its own click handlers and not to rely on a tool adapter - - - - - This enum is used to list the valid modes for the Markdown convertion style of H1 and H2 elemnets. - - - - - Atx style headlines for H1 and H2 elements. (# H1 text). - - - - - Setex style headlines for H1 and H2 elements. (H1 text). - ======= - - - - - This enum is used to list the valid modes for the Markdown convertion style of some elemnets (A and IMG). - - - - - Convert corresponding element to Markdown (loosing non-convertible attributes). - - - - - Keep HTML syntax if non-convertible attributes are found. - - - - - This enum is used to list the valid modes for the Markdown convertion style of TABLE elemnets. - - - - - Break tables into one text paragraph for each cell. - - - - - Keep HTML syntax. - - - - - This enum is used to list the valid modes for the Markdown convertion style - of address, dl, fieldset, form, map, object, script, noscript elemnets. - - - - - Strip umparsable elements. - - - - - Keep HTML syntax. - - - - - when true, (most) bare plain URLs are auto-hyperlinked - WARNING: this is a significant deviation from the markdown spec - - - - - when true, RETURN becomes a literal newline - WARNING: this is a significant deviation from the markdown spec - - - - - use ">" for HTML output, or " />" for XHTML output - - - - - when true, problematic URL characters like [, ], (, and so forth will be encoded - WARNING: this is a significant deviation from the markdown spec - - - - - when false, email addresses will never be auto-linked - WARNING: this is a significant deviation from the markdown spec - - - - - when true, bold and italic require non-word characters on either side - WARNING: this is a significant deviation from the markdown spec - - - - - Markdown is a text-to-HTML conversion tool for web writers. - Markdown allows you to write using an easy-to-read, easy-to-write plain text format, - then convert it to structurally valid XHTML (or HTML). - - - - - maximum nested depth of [] and () supported by the transform; implementation detail - - - - - Tabs are automatically converted to spaces as part of the transform - this constant determines how "wide" those tabs become in spaces - - - - - Create a new Markdown instance using default options - - - - - Create a new Markdown instance and optionally load options from a configuration - file. There they should be stored in the appSettings section, available options are: - - Markdown.StrictBoldItalic (true/false) - Markdown.EmptyElementSuffix (">" or " />" without the quotes) - Markdown.LinkEmails (true/false) - Markdown.AutoNewLines (true/false) - Markdown.AutoHyperlink (true/false) - Markdown.EncodeProblemUrlCharacters (true/false) - - - - - - Create a new Markdown instance and set the options from the MarkdownOptions object. - - - - - In the static constuctor we'll initialize what stays the same across all transforms. - - - - - Transforms the provided Markdown-formatted text to HTML; - see http://en.wikipedia.org/wiki/Markdown - - - The order in which other subs are called here is - essential. Link and image substitutions need to happen before - EscapeSpecialChars(), so that any *'s or _'s in the a - and img tags get encoded. - - - - - Perform transformations that form block-level tags like paragraphs, headers, and list items. - - - - - Perform transformations that occur *within* block-level tags like paragraphs, headers, and list items. - - - - - splits on two or more newlines, to form "paragraphs"; - each paragraph is then unhashed (if it is a hash) or wrapped in HTML p tag - - - - - Reusable pattern to match balanced [brackets]. See Friedl's - "Mastering Regular Expressions", 2nd Ed., pp. 328-331. - - - - - Reusable pattern to match balanced (parens). See Friedl's - "Mastering Regular Expressions", 2nd Ed., pp. 328-331. - - - - - Strips link definitions from text, stores the URLs and titles in hash references. - - - ^[id]: url "optional title" - - - - - derived pretty much verbatim from PHP Markdown - - - - - replaces any block-level HTML blocks with hash entries - - - - - returns an array of HTML tokens comprising the input string. Each token is - either a tag (possibly with nested, tags contained therein, such - as <a href="<MTFoo>">, or a run of text between tags. Each element of the - array is a two-element array; the first is either 'tag' or 'text'; the second is - the actual value. - - - - - Turn Markdown link shortcuts into HTML anchor tags - - - [link text](url "title") - [link text][id] - [id] - - - - - Turn Markdown image shortcuts into HTML img tags. - - - ![alt text][id] - ![alt text](url "optional title") - - - - - Turn Markdown headers into HTML header tags - - - Header 1 - ======== - - Header 2 - -------- - - # Header 1 - ## Header 2 - ## Header 2 with closing hashes ## - ... - ###### Header 6 - - - - - Turn Markdown horizontal rules into HTML hr tags - - - *** - * * * - --- - - - - - - - - - Turn Markdown lists into HTML ul and ol and li tags - - - - - Process the contents of a single ordered or unordered list, splitting it - into individual list items. - - - - - /// Turn Markdown 4-space indented code into HTML pre code blocks - - - - - Turn Markdown `code spans` into HTML code tags - - - - - Turn Markdown *italics* and **bold** into HTML strong and em tags - - - - - Turn markdown line breaks (two space at end of line) into HTML break tags - - - - - Turn Markdown > quoted blocks into HTML blockquote blocks - - - - - Turn angle-delimited URLs into HTML anchor tags - - - <http://www.example.com> - - - - - Remove one level of line-leading spaces - - - - - encodes email address randomly - roughly 10% raw, 45% hex, 45% dec - note that @ is always encoded and : never is - - - - - Encode/escape certain Markdown characters inside code blocks and spans where they are literals - - - - - Encode any ampersands (that aren't part of an HTML entity) and left or right angle brackets - - - - - Encodes any escaped characters such as \`, \*, \[ etc - - - - - swap back in all the special characters we've hidden - - - - - escapes Bold [ * ] and Italic [ _ ] characters - - - - - hex-encodes some unusual "problem" chars in URLs to avoid URL detection problems - - - - - Within tags -- meaning between < and > -- encode [\ ` * _] so they - don't conflict with their use in Markdown for code, italics and strong. - We're replacing each such character with its corresponding hash - value; this is likely overkill, but it should prevent us from colliding - with the escape values by accident. - - - - - convert all tabs to _tabWidth spaces; - standardizes line endings from DOS (CR LF) or Mac (CR) to UNIX (LF); - makes sure text ends with a couple of newlines; - removes any blank lines (only spaces) in the text - - - - - this is to emulate what's evailable in PHP - - - - - use ">" for HTML output, or " />" for XHTML output - - - - - when false, email addresses will never be auto-linked - WARNING: this is a significant deviation from the markdown spec - - - - - when true, bold and italic require non-word characters on either side - WARNING: this is a significant deviation from the markdown spec - - - - - when true, RETURN becomes a literal newline - WARNING: this is a significant deviation from the markdown spec - - - - - when true, (most) bare plain URLs are auto-hyperlinked - WARNING: this is a significant deviation from the markdown spec - - - - - when true, problematic URL characters like [, ], (, and so forth will be encoded - WARNING: this is a significant deviation from the markdown spec - - - - - current version of MarkdownSharp; - see http://code.google.com/p/markdownsharp/ for the latest code or to contribute - - - - - Gets or sets the author of the changes applied on the edited content. - - - - - Gets or sets the suffix of the css class which marks the track changes elements. - - - - Gets or sets the value indicating whether track changes can be accepted or rejected. - The default is false - - - - Describes a common mechanism of accepting and rejecting track changes in RadEditor's content - - - - - Enacpsulates the properties for RadFileExplorer's configuration - - - - - Gets or sets the view paths of the FileManager dialog. - - - A String array, containing virtual paths which subfolders and files - the FileManager dialog will search and display. The default value is an empty String array. - - - - - Gets or sets the upload paths of the FileManager dialog. - - - A String array, containing virtual paths to which files - can be uploaded or subfolders can be created. The default value is an empty String array. - - - As only files/folders, contained in the ViewPaths - array will be displayed, users are able to upload files/create subfolders only - to folders, belonging to the intersection of the ViewPaths and - UploadPaths properties. - - - - - Gets or sets the delete paths of the FileManager dialog. - - - A String array, containing virtual paths in which files or - subdirectories can be deleted. The default value is an empty String array. - - - As only files/folders, contained in the ViewPaths - array will be displayed, users are able to delete only the files/folders, - belonging to the intersection of the ViewPaths and - UploadPaths properties. - - - - - Gets or sets the extension patterns for files to be displayed in the FileManager dialog. - - - A String array, containing extension patterns for - files to be displayed in the FileManager dialog. - - - Values can contain wildcars (e.g. *.*, *.j?g) - - - - - Gets or sets the max filesize which users are able to upload in bytes - - - An Int32, representing the max filesize which users are able - to upload in bytes. - - - The value of the MaxUploadFileSize property should be less or equal - to the <httpRuntime maxRequestLength...> website property, specified in either - the web.config or machine.config files. The <httpRuntime maxRequestLength...> - property controls the allowed post request length for the website. - - - - - Gets or sets the fully qualified type name of the FileBrowserContentProvider used in the dialog, - including the assembly name, version, culture, public key token. - - - The default value is string.Empty - - - When the value of this property is string.Empty (default), the dialog will use the integrated - FileSystemContentProvider. - - - - - This property gets the current content provider type. To set the content provider type use ContentProviderTypeName - - - If no provider is set, this property will return the default FileSystemContentProvider - - - - - Enables or disables asynchronous (no postback) upload in the file browser dialogs. - - - A Bool, specifying whether async upload should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - uploading new files in these dialogs will happen faster - without a doing a full postback. - Selecting a file will start the upload process immediately. After the file(s) are successfuly uploaded, - and its status icon is green, the user should click the "Upload" button to go back to the refreshed file explorer view. - - - - - Enables or disables multiple item selection in the file browser dialogs. - - - A Bool, specifying whether multiple item selection should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - will allow multiple files / folders to be selected and deleted / copied / moved. Also, if Insert button - is clicked all the selected file items will be inserted in the editor's content area - - - - - Allows the option to change the extension of the file while renaming the item. Default value is true - - - - - Enumeration depicting the file list controls that the file explorer can use on the client-side - - - - - Grid file list controls shows the files in a grid. It resembles the details view of the Windows Explorer - - - - - Shows the files using the List view control. By default this is associated with the thumbnail view. It resembles the icons view in Windows explorer - - - - - All file list controls will be available on the client-side - - - - - Represents the compression types. - - - - - This is the default compression type which uses the deflate algorithm. - - - - - This compression type uses the LZMA algorithm. - - - - - Represents a class that provides LZMA decompression. - - - - - Represents a class that provides LZMA compression. - - - - - Specifies default property. - - - - - Specifies size of dictionary. - - - - - Specifies size of memory for PPM*. - - - - - Specifies order for PPM methods. - - - - - Specifies Block Size. - - - - - Specifies number of postion state bits for LZMA - - - - - Specifies number of literal context bits for LZMA - - - - - Specifies number of literal position bits for LZMA - - - - - Specifies number of fast bytes for LZ*. - - - - - Specifies match finder. LZMA: "BT2", "BT4" or "BT4B". - - - - - Specifies the number of match finder cyckes. - - - - - Specifies number of passes. - - - - - Specifies number of algorithm. - - - - - Specifies the number of threads. - - - - - Specifies mode with end marker. - - - - - Represents the compression methods. - - - - - This is the defaul compression method. - - - - - This is the no-compression method. - - - - - This is the fastest compression method. - - - - - This is a custom compression method. - - - - - This is a custom compression method. - - - - - This is a custom compression method. - - - - - This is a custom compression method. - - - - - This is a custom compression method. - - - - - This is a custom compression method. - - - - - This is the the best compression method. - - - - - This is the the best compression method. - - - - - Represents a stream that can read from a compressed stream. - - - - - Initializes a new instance of the ZipInputStream class. - - - The stream that will be decompressed. - - - - - Initializes a new instance of the ZipInputStream class. - - - The stream that will be decompressed. - - - Identifies whether the ZipInputStream should stop reading after the end of the deflated part of the base stream is reached. - - - - - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. - - - - - Reads a sequence of bytes from the - current stream and advances the position within the stream by the number of bytes - read. - - The total number of bytes read into the buffer. This can be less than - the number of bytes requested if that many bytes are not currently available, - or zero (0) if the end of the stream has been reached. - An array of bytes. When this method returns, the buffer - contains the specified byte array with the values between - and ( + - 1) replaced by the - bytes read from the current source. - The zero-based byte offset in - at which to begin storing the data read from the current stream. - The maximum number of bytes to be read from the current stream. - - - - - Reads a byte from the stream and advances the position within the stream - by one byte, or returns -1 if at the end of the stream. - The unsigned byte cast to an Int32, or -1 if at the end of the stream. - - - - - Seeking is not supported. - - - - - Sets the length of the current stream. - - The desired length of the current stream in bytes. - - - - Writing is not supported. - - - - - Closes the current stream and releases any resources associated with the current stream. - - - - - The stream that is decompressed. - - - - - Gets a value indicating whether the current stream supports reading. - - true if the stream supports reading; otherwise, false. - - - - Gets a value indicating whether the current stream supports seeking. - - true if the stream supports seeking; otherwise, false. - - - - Gets a value indicating whether the current stream supports writing. - - true if the stream supports writing; otherwise, false. - - - - Gets the compressed size of the stream. - - - - - Gets the length in bytes of the stream. - - A long value representing the length of the stream in bytes. - - - - Gets the position within the current stream. Set is not supported. - - The current position within the stream. - - - - Gets the uncompressed size of the stream. - - - - - Gets the size of the deflated block if it is deflated with the Stored method. - - - - - Identifies if the base stream is deflated with the Stored method. - - - - - Identifies whether the ZipInputStream should stop reading after the end of the deflated part of the base stream is reached (default value is true). - - - - - Represents a stream that can write into a compressed stream. - - - - - Initializes a new instance of the ZipOutputStream class. - - - The stream that will be compressed. - - - - - Initializes a new instance of the ZipOutputStream class. - - - The stream that will be compressed. - - /// - The compression method. - - - - - Stops the compression of the stream. - - - - Closes the current stream and releases any resources (such as sockets - and file handles) associated with the current stream. - - - - - Closes the ZipOutputStream. If the value is set to false it just finishes the writing, otherwise closes the stream. - - - - - Clears all buffers for this stream and causes any buffered data to be written to the underlying device. - - - - - Reading is not supported. - - - - - Seeking is not supported. - - - - - Setting length is not supported. - - - - - Writes a sequence of bytes to the current stream and advances the current position within this stream by the number - of bytes written. - - An array of bytes. This method copies - bytes from to the current stream. - The zero-based byte offset in - at which to begin copying bytes to the current stream. - The number of bytes to be written to the current stream. - - - - - Writes a byte to the current position in the stream and advances the - position within the stream by one byte. - - The byte to write to the stream. - - - - The stream that is compressed. - - - - - Gets a value indicating whether the current stream supports reading. - - true if the stream supports reading; otherwise, false. - - - - Gets a value indicating whether the current stream supports seeking. - - true if the stream supports seeking; otherwise, false. - - - - Gets a value indicating whether the current stream supports writing. - - true if the stream supports writing; otherwise, false. - - - - Gets the checksum of the compressed stream. - - - - - Gets the compressed size of the stream. - - - - - Gets the length in bytes of the stream. - - A long value representing the length of the stream in bytes. - - - - Gets the position within the current stream. Set is not supported. - - The current position within the stream. - - - - Gets the uncompressed size of the stream. - - - - - Represents the ZipPackage class. - - - - - This method is used to create a ZipPackage from a stream. - - - - - This method is used to create a ZipPackage with the passed file name. - - - - - This method is used to open a ZipPackage with the passed file name. - - - - - This method is used to open a ZipPakcage from a stream. - - - - - This method is used to open a ZipPakcage from a stream. - - - - - Checks whether the stream that represents a zip file is actually a zip file. - - - - - Checks whether the file with the passed file name is actually a zip file. - - - - - Adds a file with the passed file name in the ZipPackage. - - - - - Adds a file with the passed file name in the ZipPackage. - - - - - Adds the files from the passed array of file names in the ZipPackage. - - - - - Adds the files from the passed IEnumerable of file names in the ZipPackage. - - - - - Adds the files from the passed IEnumerable of file names in the ZipPackage. - - - - - Adds a stream in the ZipPackage and associates it with the passed file name in zip. - - - - - Adds a stream in the ZipPackage and associates it with the passed file name in zip. - - - - - Adds a stream in the ZipPackage and associates it with the passed file name in zip. - - - - - Adds a file with the passed file name in the ZipPackage and associates it with the passed file name in zip. - - - - - Adds a file with the passed file name in the ZipPackage and associates it with the passed file name in zip. - - - - - Adds a file with the passed file name in the ZipPackage, associates it with the passed file name in zip and sets a date time for the entry. - - - - - Adds a file with the passed file name in the ZipPackage, associates it with the passed file name in zip and sets a date time for the entry. - - - - - Adds a stream in the ZipPackage, compresses it with the passed compress method, associates it with the passed file name in zip and sets a date time for the entry. - - - - - Adds a stream in the ZipPackage, compresses it with the passed compress method, associates it with the passed file name in zip and sets a date time for the entry. - - - - - Adds a stream in the ZipPackage, compresses it with the passed compress method, associates it with the passed file name in zip and sets a date time for the entry. - - - - - Closes the ZipPackage. If the value is set to false it just resets the internal values, otherwise closes the file. - - - - - Gets the index of the entry in the list of entries of the ZipPackage. - - - - - Removes the passed entry from the ZipPackage. - - - - - Gets the file name for the ZipPackage. - - - - - Gets the list with all zip entries. - - - - - Represents the ZipPackageEntry class. - - - - - Opens an input stream that represents the entry. - - - - - Gets the file attributes for the entry. - - - - - Gets the compressed size for the entry. - - - - - Gets the file name in the ZipPackage for the entry. - - - - - Gets the uncompressed size for the entry. - - - - - Represents an object used for configuration the appearance of Gauges. - - - - - Gets or sets the background color of the gauge. - - - - - JavaScript converter that converts the Gauge related types to JSON objects. - - - - - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Bool value indicating whether the we are serializing the LinearScale at the moment. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Array of the serialized members of the ranges collection. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - Serializes into JSON object. - - The object to serialize. - Dictionary of the serialized members. - - - - - - - Telerik LinearGauge control for data visualization. - - - - - Base class for the different Gauge controls (RadLinearGauge, RadRadialGauge). - - The pointer of the child Gauge. - The scale of the child Gauge. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Defines the pointer settings of the Gauge control. - - - - - Defines the scale settings of the Gauge control. - - - - - - - - - - - Gets or sets a bool value indicating whether transition animations should be played. - - - - - Defines the appearance settings of the Gauge. - - - - - Defines the Pointer settings of the LinearGauge. - - - - - Defines the Scale settings of the LinearGauge. - - - - - The base class that should be inherited for implementing Gauge pointer. - - - - - Gets or sets the color of the pointer. - - - - - Gets or sets the value at which the pointer is pointing. - - - - - Represents the class used for configuring the cap of the RadialGauge's pointer. - - - - - Gets or sets the color of the cap. - - - - - Gets or sets the size of the cap in percents. (from 0 to 1) - - - - - Represents the class used for configuring the track of the LinearGauge's pointer. - (Available only for 'BarIndicator' .) - - - - - Gets or sets the color of the track. - - - - - Gets or sets the size of the track. - - - - - Gets or sets the transparency of the track. - - - - - Gets or sets a bool value indicating whether the track of the LinearGauge pointer will be visible. - - - - - Represents the pointer of a Linear Gauge. - - - - - - - - - - - - - - - - - Gets or sets the transparency of the pointer of the LinearGauge. - - - - - Gets or sets the shape of the LinearGauge's pointer. - - - - - Gets or sets the size of the pointer. - - - - - Defines the settings of the track of the LinearGauge's pointer. - - - - - Defines the possible shapes of the Gauge's pointer. - - - - - The Gauge pointer looks like a bar indicator. - - - - - The Gauge pointer looks like an arrow. - - - - - Represents the pointer of a Radial Gauge. - - - - - - - - - - - - - - - - - Defines the settings of the cap of the RadialGauge's pointer. - - - - - Telerik RadialGauge control for data visualization. - - - - - Defines the Pointer settings of the RadialGauge. - - - - - Defines the Scale settings of the RadialGauge. - - - - - Represents an object used to define a range in the Gauge's scale. - - - - - Gets or sets the color of the range. - - - - - Gets or sets the lower bound of the range. - - - - - Gets or sets the upper bound of the range. - - - - - Collection of objects used for specifying ranges in Linear and Radial Gauges. - - - - - Adds an item to the collection. - - The item to add. - - - - - - - - Represents the scale of a Linear Gauge. - - - - - The base class that should be inherited for implementing Gauge scale. - - - - - - - - - - - - - - - - - Defines the settings of the Scale's Labels. - - - - - Defines the settings of the Scale's Minor ticks. - - - - - Defines the settings of the Scale's Major ticks. - - - - - Defines a collection of gauge ranges. - - - - - Gets or sets the minimum value of the scale. - - - - - Gets or sets the maximum value of the scale. - - - - - Gets or sets the interval between the minor divisions. - - - - - Gets or sets the interval between the major divisions. - - - - - Gets or sets a bool value indicating whether the direction of the scale values will be reversed. - - RadialGauge: Values increase counter-clockwise. - LinearGauge: Values increase from right to left (if the LinearGauge is horizontal), - and from top to bottom (if the LinearGauge is vertical). - - - - - - Gets or sets a bool value indicating whether the LinearGauge will be vertically or horizontally positioned. - - - - - Gets or sets a bool value that indicates whether the scale labels and ticks will be mirrored. - If the labels are normally on the left side of the scale, mirroring the scale will render them to the right. - - - - - Defines the possible positions of the Scale Labels. - - - - - The labels are positioned inside of the scale ticks. - - - - - The labels are positioned outside of the scale ticks. - - - - - Represents the scale of a Radial Gauge. - - - - - Gets or sets the start angle of the RadialGauge. - The gauge is rendered clockwise(0 degrees are the 180 degrees in the polar coordinate system). - - - - - Gets or sets the end angle of the RadialGauge. - The gauge is rendered clockwise(0 degrees are the 180 degrees in the polar coordinate system). - - - - - Represents a class used for configuring the labels of the Gauge scale. - - - - - Gets or sets the background color of the labels. - - - - - Gets or sets the text color of the labels. - - - - - Gets or sets the font size, family, style of the labels. - - - - - Gets or sets the format string of the labels. - - - - - Gets or sets the template of the labels. - - - - - Gets or sets a bool value indicating whether the labels will be visible. - - - - - Gets or sets the position of the labels. - - - - - Represents the class used for configuring the Minor and Major ticks of the Gauge's scale. - - - - - Gets or sets the color of the ticks. - - - - - Gets or sets the size of the ticks. - This is the length of the line in pixels that is drawn to indicate the tick on the scale. - - - - - Gets or sets the width of the ticks. - - - - - Gets or sets a bool value indicating whether the ticks of the Gauge's scale will be visible. - - - - - The class containing properties associated with the columns' validation base on autogenerated validators. - - - - - Clean up used resources. - - - - - Gets or sets whether RequiredFieldValidator control will be generated next to the column editor. - - - - - Gets or sets whether RequiredFieldValidator control will be rendered before or after the column editor. - - - - - Gets the RequiredFieldValidator control which will be generated next to the column editor. - - - - - RadGrid BIFF Export event arguments object - - - - - BIFF Export event arguments - - ExportStructure object - - - - ExportStructure object - - - - - Returns the DataType of the column that corresponds to a given cell - - TableCell element - Type value - - - - The main class representing MultiColumn Headers in . - A Grid column group can contain grid columns as well as other Column - groups which form the hierarchical structure of the MultiColumn Headers. - - - - - Compares the current instance with another object of the same type and - returns an integer that indicates whether the current instance precedes, follows, - or occurs in the same position in the sort order as the other object. - - An object to compare with this instance. - - is not the same type as this instance. - - A 32-bit signed integer that indicates the relative order of the objects - being compared. The return value has these meanings: Value Meaning Less than - zero This instance precedes in the sort order. Zero This - instance occurs in the same position in the sort order as . - Greater than zero This instance follows in the sort order. - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - Sets the displayed text in the header - - - - - Sets the name of the column group - - - - - Sets the parent group name of the column group - - - - - Style of the column group cell. - - - - - - For internal use. Holds a collection of the columns belonging to the group - - - - Gets the colSpan of the multiheader cell. Read only. - - - - - - For internal use. Gets or sets the order index of the multiheader cell - - - - - Gets the visiblility of the multiheader cell. Read only. - - - - - - - For internal use. Gets or sets the display of the multiheader cell. - - - - - - For internal use. Holds a collection of the child groups of the current group - - - - - Represents a collection of . Used to define MultiColumn Headers. - - - - - Initializes a new instance of the class. - - - - - Gets the index of the item in the collection. - - The item. - index of the item - - - - Inserts group at the specified index. - - The index. - The item. - - - - Removes the item at the specified - index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - - The is read-only. - - - - - Adds the specified item. - - The item. - - - - Removes all items from the . - - - The is read-only. - - - - - Determines whether [contains] [the specified item]. - - The item. - true if the items is contained, otherwise false - - - - Copies the current collection to the specified array. - - The array. - the index to start copying from. - - - - Removes the specified item. - - The item. - - - - - Returns an enumerator that iterates through the collection. - - - An enumerator that can be used to - iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to - iterate through the collection. - - - - - Adds an item to the . - - The to add to the . - - The is read-only. - -or- - The has a fixed size. - - The position into which the new element was inserted. - - - - Removes all items from the . - - - The is read-only. - - - - - Determines whether the contains a specific - value. - - The to locate in the . - - true if the is found in the ; - otherwise, false. - - - - - Determines the index of a specific item in the . - - The to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified - index. - - The zero-based index at which should be inserted. - The to insert into the . - - is not a valid index in the . - - - The is read-only. - -or- - The has a fixed size. - - - is null reference in the . - - - - - Removes the first occurrence of a specific object from the . - - The to remove from the . - - The is read-only. - -or- - The has a fixed size. - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - - The is read-only. - -or- - The has a fixed size. - - - - - Copies the elements of the to - an , starting at a particular - index. - - The one-dimensional that is the destination of the - elements copied from . The - must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - - is less than zero. - - - is multidimensional. - -or- - is equal to or greater than the length of . - -or- - The number of elements in the source - is greater than the available space from to the end - of the destination . - - - The type of the source cannot - be cast automatically to the type of the destination . - - - - - Finds the in the collection by specifying its group name. - - The name of the group. - Returns the which was found. Otherwise 'null'. - - - - Loads the previously saved view - state to the collection. - - An that contains the saved view state values for - the collection. - - - - When implemented by a class, saves the changes to a server control's view state - to an . - - - The that contains the view state changes. - - - - - Instructs the collection to track changes to - its view state. - - - - - Gets the at the specified index. - - - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - - - Gets a value indicating whether the - is read-only. - - true if the - is read-only; otherwise, false. - - - - - - Gets a value indicating whether the - has a fixed size. - - true if the has a fixed size; - otherwise, false. - - - - - - Gets a value indicating whether the - is read-only. - - true if the is read-only; otherwise, - false. - - - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - - - Gets a value indicating whether access to the - is synchronized (thread safe). - - returns false - the access to the collection is not synchronized. - - - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - - - Gets a value indicating whether a the - is tracking its view state changes. - - true if a server control is tracking its view state changes; otherwise, - false. - - - - - - Exposes various printer-related options. - - - - - ElementBase object - - - - - IElement object - - - - - ElementBase constructor - - Collection of elements - Collection of attributes - - - - Renders the element - - StringBuilder object that holds the rendered output - - - - Renders the child elements - - StringBuilder object that holds the rendered output - - - - Appends the attirbutes to the output - - StringBuilder object that holds the rendered output - - - - Collection of inner elements - - - - - Collection of the attributes of the current element - - - - - Specifies the number of pages to spread the height of a print area across. - - - - - Specifies the paper size. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GridDetailTemplateItem is a placeholder for the PreviewItemTemplate - - - - - Class that represents the rows of each GridTableView with RadGrid. All Items in RadGrid inherit from this class. - RadGrid creates the items runtime, when it binds to data. - - - - - A class extending used for a base class for all rows in control. - - - - - - - - - Gets the server control identifier generated by ASP.NET. - - The server control identifier generated by ASP.NET. - - - - - Initializes the base properties of an item. - - - - - - - - - Use this method to simulate item command event that bubbles to RadGrid and can be handeled automatically or in a custom manner, - handling RadGrid.ItemCommand event. - - command to bubble, for example 'Page' - command argument, for example 'Next' - - - - This method is not intended to be used directly from your code. - - - - - - - This method is not intended to be used directly from your code - - - - - - - This method is not intended to be used directly from your code - - - - - - Override this method to change the default logic for rendering the item - - - - - Override this method to change the default logic for item visibility - - - - - - Used after postback before ViewState becomes available - - for example in ItemCreated and ItemDataBound events - - - - - - - - - - - - - - - - - - - - - - - //get MasterTableView's second (index 1) nested view item - GridNestedViewItem firstLevelNestedViewItem = (GridNestedViewItem)RadGrid1.MasterTableView.GetItems(GridItemType.NestedView)[1]; - //get second nested view item at level 2 of the hierarchy - GridNestedViewItem secondLevelNestedViewItem = (GridNestedViewItem)firstLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.NestedView)[1]; - //get the first item to be expanded - GridItem itemToExpand = secondLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.Item)[0]; - itemToExpand.ExpandHierarchyToTop(); - - - 'get MasterTableView's second (index 1) nested view item - Dim firstLevelNestedViewItem As GridNestedViewItem = CType(RadGrid1.MasterTableView.GetItems(GridItemType.NestedView)(1), GridNestedViewItem) - 'get second nested view item at level 2 of the hierarchy - Dim secondLevelNestedViewItem As GridNestedViewItem = CType(firstLevelNestedViewItem.NestedTableViews(0).GetItems(GridItemType.NestedView)(1), GridNestedViewItem) - 'get the first item to be expanded - Dim itemToExpand As GridItem = secondLevelNestedViewItem.NestedTableViews(0).GetItems(GridItemType.Item)(0) - itemToExpand.ExpandHierarchyToTop() - - - Expands the hierarchy starting from the last level to the top - - - - Calculate column-span value for a cell using column list, when the cell indicated - with FromCellIndex should be spanned to ToCellIndex - - columns - visible property is taken in count - cell inbdex of spanned cell - cell index of next not-spanned cell or -1 for the last cell index - ColSpan number - - - - Gets a reference to the GridTableView that owns this - GridItem. - - - You can use the OwnerTableView property to get an instance of the GridTableView - that holds the item modified. For example in the - SelectedIndexChanged event handler you can get the - GridTableView object like this: - - protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e) - { - GridTableView tableview = RadGrid1.SelectedItems[0].OwnerTableView; - } - - - Protected Sub RadGrid1_SelectedIndexChanged(sender As Object, e As EventArgs) - Dim tableview As GridTableView = RadGrid1.SelectedItems(0).OwnerTableView - End Sub - - - - - - Gets the ClientID of the GridTableView that - owns this instance. - - - The OwnerID property will get the ClientID of the - GridTableView that owns the referenced instance. For example the - code below will return RadGrid1_ctl01 which is the ClientID of the MasterTableView - for basic RadGrid: - - protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e) - { - Label1.Text = RadGrid1.SelectedItems[0].OwnerID; - } - - - Protected Sub RadGrid1_SelectedIndexChanged(sender As Object, e As EventArgs) - Label1.Text = RadGrid1.SelectedItems(0).OwnerID - End Sub - - - - - - Gets the ClientID of the RadGrid instance that - owns the item. - - - The OwnerGridID property will get the ClientID of the - Grid instance that owns the referenced item. For example the code - below will return RadGrid1 which is the ClientID of the owner Grid instance. - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - Response.Write(e.Item.OwnerGridID); - - } - } - - - Protected Sub RadGrid1_ItemCreated(sender As Object, e As GridItemEventArgs) - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - Response.Write(e.Item.OwnerGridID) - End If - End Sub - - - - This would be useful if several controls use the same eventhandler and you need - to diferentiate the Grid instances in the handler. - - - - - - - - - Gets a value indicating whether this item has child items - or items somehow - related to this. - - - For example the GridDataItem has child - NestedViewItem that holds the hierarchy tables when grid is - rendering hierarchy.
- GroupHeaderItems has the items with a group for children, and so - on. - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).HasChildItems == true) - { - Label1.Text = "has items"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).HasChildItems = True) Then - Label1.Text = "has items" - End If - End Sub - -
-
- - - Gets a value indicating whether the item can be "expanded" to show its child items - - - Shows whether an item can be "expanded" to show its child items - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).CanExpand == true) - { - Label1.Text = "Item was expanded"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).CanExpand = True) - Label1.Text = "Item was expanded" - End If - End Sub - - - - - - The original DataItem from the DataSource. See - examples section below. - - - For example if you bind the grid to a DataView object the - DataItem will represent the DataRowView object - extracted from the DataView for this GridItem. Note - that the DataItem object is available only when grid binds to data - (inside the ItemDataBound server event handler). - - - - - Gets the index of the GridDataItem in the underlying - DataTable/specified table from a DataSet. - - Integer - - This property has a meaning only when the Telerik RadGrid source is - DataTable. - - - - - Gets the index of the grid item among the - collection. This index also can be used to get the DataKeyValues - corresponding to this item from a GridTableView. - - - Gets a value representing the index of this item among the - collection. This index also can be used to - get the DataKeyValues corresponding to this item from a - GridTableView. - - - - - Gets the index of the row as in the html table object rendered on the client - - - - - - - Gets the index of the item in the rows collection of the underlying Table server control - - - - - - - Get the unique item index among all the item in the hierarchy. This index is used when setting item to selected, edited, etc - - - If we have three level hierarchy with two items each and select the first item in - the third level then the ItemIndexHierarchical will be 1:0_1:0_0 - - protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e) - { - Response.Write(RadGrid1.SelectedItems[0].ItemIndexHierarchical); - } - - - Protected Sub RadGrid1_SelectedIndexChanged(sender As Object, e As EventArgs) - Response.Write(RadGrid1.SelectedItems(0).ItemIndexHierarchical) - End Sub 'RadGrid1_SelectedIndexChanged - - - - - - Gets the respective GridItemType of the grid item. - - - Gets the respective GridItemType of the grid item. - - foreach (GridDataItem dataItem in rgdStateRules.MasterTableView.Items) - { - if (dataItem.ItemType == GridItemType.Item || - dataItem.ItemType == GridItemType.AlternatingItem) - { - string reqName = dataItem["SomeColumnUniqueName"]. Text; - .... - } - } - - - Dim dataItem As GridDataItem - For Each dataItem In rgdStateRules.MasterTableView.Items - If dataItem.ItemType = GridItemType.Item Or dataItem.ItemType = GridItemType.AlternatingItem Then - Dim reqName As String = dataItem("SomeColumnUniqueName").Text - End If - Next dataItem - - - - - - Gets or sets a value indicating whether the grid item is expanded or - collapsed. - - - The example below sets all expanded items to collapsed - - for(int i = 0; i < RadGrid.Items.Count - 1;i++) - if(RadGrid.Items[i].Expanded) - { - RadGrid.Items[i].Expanded = false; - } - - - Dim i As Integer - For i = 0 To (RadGrid.Items.Count - 1) Step -1 - If RadGrid.Items(i).Expanded Then - RadGrid.Items(i).Expanded = False - End If - Next i - - - - - - Used in HierarchyLoadMode="Conditional" - - - - - The example below will hide the GridCommandItem. - - if (e.Item is GridCommandItem) - { - e.Item.Display = false; - } - - - If Typeof e.Item Is GridCommandItem Then - e.Item.Display = False - End If - - - Sets whether the GridItem will be visible or with style="display:none;" - - - Gets or set a value indicating whether the grid item is selected - - You can check whether a certain item is selected using the Selected - property: - - protected void RadGrid1_PreRender(object sender, EventArgs e) - { - foreach (GridDataItem dataitem in RadGrid1.MasterTableView.Items) - { - if (dataitem.Selected == true) - { - //do your thing - } - } - } - - - Protected Sub RadGrid1_PreRender(sender As Object, e As EventArgs) - Dim dataitem As GridDataItem - For Each dataitem In RadGrid1.MasterTableView.Items - If dataitem.Selected = True Then - 'do your thing - End If - Next dataitem - End Sub 'RadGrid1_PreRender - - - - - - Gets or sets a value determining if the chould be selected - either on the client or on the server. - - A value determining if the chould be selected - either on the client or on the server. - - - Sets the Item in edit mode. Requires Telerik RadGrid to rebind. - - - If is set to InPlace, the grid column - editors will be displayed inline of this item. - - - If is set to EditForms, a new - GridItem will be created, which will be child of this item - (GridEditFormItem). The new item will hold the edit form. - - - - We suggest using IsInEditMode instead of Edit to check whether an Item is in - edit more or not. - - - - Gets the index of the Item in the group. This works only when grouping. - - This example expands all items that meet the condition: - - if (e.Item.GroupIndex == EditItemGroupIndex | EditItemGroupIndex.StartsWith(e.Item.GroupIndex + "_")) - { - e.Item.Expanded = true; - } - - - If e.Item.GroupIndex = EditItemGroupIndex Or EditItemGroupIndex.StartsWith(e.Item.GroupIndex & "_") Then - e.Item.Expanded = True - End If - - - - Returns a string formed: X_Y_Z, where:
- - X is a zero-based value representing the group index (the first group of results - will have index = 0)
- - Y is a zero-based value representing the group level. If you group the grid - using 2 criteria, the inner groups will have index = 1. - - Z is a zero-based value representing the GridItem index in the group (the - first item will have index = 0) - Note that if you use more criteria, you will have more - indexes returned: X_Y_Z_W, where the last one is always the item index in the - group. -
-
- - - Gets a value indicating whether the grid item is bound to a data source. - - - Default value is true when the grid is databound. - - - - - Gets a value indicating whether the grid item is in edit mode at the - moment. - - - Will locate the TextBox for Item in Edit mode: - - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - TextBox txt = (e.Item as GridEditableItem)["SomeColumnName"].Controls[0] as TextBox; - } - - - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - ... - End If - - - - - - Initializes the base properties for the DetailTemplateItem. For internal use only. - - - - - - - - Initializes the DetailTemplateItem's data cell. This method is for internal use only. - - - - - - - - - - - A collection holding objects. - - - - - Adds the at the end of the collection. - - The to be added. - - - - Adds a collection of objects at the end of the colleciton. - - The collection of object to - be added at the end of the collection. - - - - Adds an Array of objects at the end of the colleciton. - - The Array of object to - be added at the end of the Array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - Copies the elements of the collection - to an , starting at a particular - index. - - The one-dimensional that is - the destination of the elements copied from collection - The must have zero-based indexing. - The zero-based index in at which - copying begins. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - - Gets an object that can be used to synchronize access to the collection - - An object that can be used to synchronize access to the collection - - - - - - Specifies the fill style of the chart background - - - - - Get/Set whether the object should be visible - - - - - Specifies background color - - - - - Specifies the chart title alignment - - - - - Specifies the chart title position - - - - - Defines the text style settings - - - - - Specifies the chart title position - - - - - Defines the text style settings - - - - - Specifies background color - - - - - A class with helper functions related to the RadHtmlChart and its serialization - - - - - Converts a Color from a well-known name to a hex string, e.g. Black to #000000 - - The System.Drawing.Color instance that will be converted. - The Color's hex representation in #abcdef format - - - - Removes the comma at the end of a string. - This prevents JavaScript errors in IE 7, which doesn't allow ending a line definition with a comma. - - - - - - - Get/Set whether the object should be visible - - - - - Specifies the rotation angle - - - - - Specifies the axis title position - - - - - Get/Set the text of axis title - - - - - Defines the text style settings - - - - - Get/Set the data format string of the labels - - - - - Defines the text style settings - - - - - Specifies background color of the tooltips - - - - - Specifies text color of the tooltips - - - - - Get/Set the data format string of the tooltips - - - - - Specifies the rotation angle - - - - - A way to define a client-side template for the labels appearance. - #= value # - - - - - Specifies the rotation angle - - - - - Specifies the field to bind labels to - - - - - A way to define a client-side template for the labels appearance. - #= value # - - - - - Get/Set the labels position - - - - - Get/Set whether the labels position - - - - - Get/Set whether the labels position - - - - - Specifies the rotation angle - - - - - Get/Set the markers shape - - - - - Specifies background color of the markers - - - - - Specifies the size of the markers - - - - - Specifies the border color of the markers. - - - - - Specifies the border width of the markers. - - - - - Get/Set the line width of the series. - - - - - Get/set the name of the axis so that it can be associated with a series - - - - - Get/Set whether the minimum value of the axis - - - - - Get/Set whether the maximum value - - - - - Get/Set the step for the axis values when MinValue and MaxValue are both set - - - - - Index/value at which the first perpendicular axis crosses this axis - - - - - Get/Set the color of the axis line - - - - - Get/Set the width of the axis line - - - - - Get/Set whether the axis should be visible - - - - - Get/Set whether the axis should be reversed - - - - - Get/Set the minor tick size. This is the length of the line in pixels that is drawn to indicate the tick on the chart. - - - - - Get/Set the minor tick type. The tick can either be drawn outside, or hidden by selecting none - - - - - Get/Set the major tick size. This is the length of the line in pixels that is drawn to indicate the tick on the chart. - - - - - Get/Set the minor tick type. The tick can either be drawn outside, or hidden by selecting none - - - - - Defines the appearance settings of axis title - - - - - Defines the appearance settings of axis labels - - - - - Minor grid lines settings - - - - - Major grid lines settings - - - - - The area series class will produce an area chart type. - - - - - Creates an area series. - - - - - Creates a collection with specific series items for the current series type - - - - - The DataField with the labels text when the chart is bound to a datasource. - - - - - Gets a collection of AxisItem objects that allows for specifying the text of the axis labels - - - Gets a collection of AxisItem objects that allows for specifying the text of the axis labels - - - Use the Items collection to programmatically control the text of the axis labels - - - - - The property which sets the type of the axis. - - - - - This property is used with DateTime values only and it specifies the time interval of the axis labels. - - - - - The bar/column series class will produce a bar/column chart type. - - - - - Creates a bar/column series. - - - - - Get/Set whether the series is stacked - - - - - Defines the appearance settings of the series labels - - - - - Creates a collection of category series items. - - - - - Get/Set missing values behavior - - - - - The data field with the values of the series for the size value - - - - - The data field for the tooltip text - - - - - Creates a collection with specific series items for the current series type - - - - - The donut series class will produce a donut chart series. - - - - - Base class for the Pie and Donut series - - - - - The data field holding bool value which determines whether the sector should be exploded - - - - - The data field holding names of the sectors - - - - - Specifies the start angle of the first pie segment. - - - - - Defines the appearance settings of the series labels - - - - - Creates a collection with specific series items for the current series type - - - - - The size of the hole in the donut chart - - - - - The line series class will produce a line chart type. - - - - - Creates a line series. - - - - - Creates a collection with specific series items for the current series type - - - - - The pie series class will produce a pie chart series. - - - - - Creates a collection with specific series items for the current series type - - - - - Defines the appearance settings of the line. - - - - - Get/Set missing values behavior - - - - - Applicable for Scatter and ScatterLine charts only. Get/Set the x value of the item. - - - - - Get/Set the y value of the item. - - - - - Get/Set the size value of the item. - - - - - Applicable for pie chart only. Get/Set whether the sector should be exploded. - - - - - Get/Set the name of the item. For pie charts this is the category shown in legend. - - - - - Applicable for pie chart only. Specifies background color - - - - - Get/Set the text of the tooltip for a Bubble series - - - - - Get/Set whether the object should be visible - - - - - Get/Set the color of the grid lines - - - - - Get/Set the width of the grid line - - - - - Defines the appearance settings of the chart - - - - - Defines the x axis settings - - - - - Defines the y axis settings - - - - - A collection with the additional Y axes to be displayed in the chart plot area - - - - - Defines the plot area of the chart - - - - - Gets or sets a value that indicates whether the font is bold. - - - - - Gets or sets a value that indicates whether the font is italic. - - - - - Gets or sets the text color. - - - - - Gets or sets the font size. - - - - - Gets or sets the font family. - - - - - Gets or sets the margin of the text. - - - - - Gets or sets the padding of the text. - - - - - Defines the appearance settings of the chart legend - - - - - Get/Set the text of the title - - - - - Defines the appearance settings of the chart title - - - - - Telerik HtmlChart control - - - - - - - - - - - - - Get/Set the Width of the RadHtmlChart control - - - - - Get/Set the Height of the RadHtmlChart control - - - - - Get/Set whether transition animations should be played - - - - - Get/Set when actual data will be loaded - - - - - - Defines the appearance settings of the chart - - - - - Defines the settings of the chart title - - - - - Defines the settings of the chart title - - - - - Defines the plot area of the chart - - - - - This property is needed for the Type page of the desing time configuration manager. - - - - - Gets or sets the name of the JavaScript function that will be called when a series is clicked. - - - - - Gets or sets the name of the JavaScript function that will be called when a series is hovered. - - - - - The category type is used to enable the standard category axis mode. - - - - - The type which is used to enable the date axis mode. - - - - - Override this to process the pixel in the first pass of the algorithm - - The pixel to quantize - - This function need only be overridden if your quantize algorithm needs two passes, - such as an Octree quantizer. - - - - - Override this to process the pixel in the second pass of the algorithm - - The pixel to quantize - The quantized value - - - - Retrieve the palette for the quantized image - - Any old palette, this is overrwritten - The new color palette - - - - Struct that defines a 32 bpp colour - - - This struct is used to read data from a 32 bits per pixel image - in memory, and is ordered in this manner as this is the way that - the data is layed out in memory - - - - - Holds the blue component of the colour - - - - - Holds the green component of the colour - - - - - Holds the red component of the colour - - - - - Holds the alpha component of the colour - - - - - Permits the color32 to be treated as an int32 - - - - - Return the color for this Color32 object - - - - - Construct the octree quantizer - - - The Octree quantizer is a two pass algorithm. The initial pass sets up the octree, - the second pass quantizes a color based on the nodes in the tree - - The maximum number of colors to return - The number of significant bits - - - - Construct the octree - - The maximum number of significant bits in the image - - - - Add a given color value to the octree - - - - - - Reduce the depth of the tree - - - - - Return the array of reducible nodes - - - - - Keep track of the previous node that was quantized - - The node last quantized - - - - Convert the nodes in the octree to a palette with a maximum of colorCount colors - - The maximum number of colors - An arraylist with the palettized colors - - - - Get the palette index for the passed color - - - - - - - Mask used when getting the appropriate pixels for a given node - - - - - The root of the octree - - - - - Number of leaves in the tree - - - - - Array of reducible nodes - - - - - Maximum number of significant bits in the image - - - - - Store the last node quantized - - - - - Cache the previous color quantized - - - - - Get/Set the number of leaves in the tree - - - - - Class which encapsulates each node in the tree - - - - - Construct the node - - The level in the tree = 0 - 7 - The number of significant color bits in the image - The tree to which this node belongs - - - - Add a color into the tree - - The color - The number of significant color bits - The level in the tree - The tree to which this node belongs - - - - Reduce this node by removing all of its children - - The number of leaves removed - - - - Traverse the tree, building up the color palette - - The palette - The current palette index - - - - Return the palette index for the passed color - - - - - Increment the pixel count and add to the color information - - - - - Flag indicating that this is a leaf node - - - - - Number of pixels in this node - - - - - Red component - - - - - Green Component - - - - - Blue component - - - - - Pointers to any child nodes - - - - - Pointer to next reducible node - - - - - The index of this node in the palette - - - - - Get/Set the next reducible node - - - - - Specifies the options for enabling the canvas mode (using HTML5 canvas element for editing images) in the RadImageEditor control. - - - - - The RadImageEditor enables the canvas mode if the client browser supports the HTML5 canvas element, - and doesn't enable the canvas mode if the canvas element is not supported. - - - - - The canvas mode is always enabled no matter if the browser does not support the HTML5 canvas element. - - - - - The canvas mode is disabled. - - - - - Specifies the locations where a instance can store its intermediary objects, resulting from server operations. - - - - - The objects are stored in the of the current application. - - - - - The objects are stored in the of the current HTTP Request. - - - - - The objects are stored in the WebSerer's file system. - - - - - Specifies the position of the Toolbar relative to the edited content (content area). - - - - - The Toolbar is rendered above the content area. - - - - - The Toolbar is rendered to the right of the content area. - - - - - The Toolbar is rendered below the content area. - - - - - The Toolbar is rendered to the left of the content area. - - - - - Specifies the Toolbar behavior of the RadImageEditor control. - - - - - The Toolbar is attached to the ImageEditor control. In this mode the Toolbar is static and can't be moved. - - - - - The Toolbar is rendered within a dock and can be docked into one of the 4(four) zones available, - or left undocked anywhere on the page. - - - - - Provides the event data for the RadImageEditor's ImageEditing event. - - - - - Provides the event data for the RadImageEditor's ImageChanged event - - - - - Gets the current Editable Image of the RadImageEditor control. - - - - - Gets or sets a bool value indicating whether the saving on the image should be canceled. - - - - - Gets or sets additional argument that will be passed back to the client callback function. - - - - - Gets the current command applied to the Editable Image. - - - - - Gets a dictionary containing all the objects sent from the client. Depending on the operation different set of Key-Value pair is sent. - - During AddText operation the following keys are sent: name, key, clientOps, x, y, color, font, size, text. - - - During Crop operation the following keys are sent: name, key, clientOps, x, y, width, height. - - - During InsertImage operation the following keys are sent: name, key, clientOps, x, y, value, arrayOps. - - - - - - Encapsulates the properties used for FileBrowser dialog management. - - - The FileManagerDialogConfiguration members are passed in a secure manner to - the respective dialogs using the DialogParameters - collection of the editor. - - - - - Enables or disables multiple item selection in the file browser dialogs. - - - A Bool, specifying whether multiple item selection should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - will allow multiple files / folders to be selected and deleted / copied / moved. Also, if Insert button - is clicked all the selected file items will be inserted in the editor's content area - - - - - Gets or sets a bool value that indicates whether the ImageEditor uses the specified ContentProvider to load and save the edited image. - - - - - Gets or sets the fully qualified type name of the ICacheImageProvider used by the instance (to store the intermediary objects). - When setting the property make sure you include the assembly name, version, culture, public key token. - - - The default value is string.Empty - - - When the value of this property is string.Empty (default), the instance will use the integrated . - - - - - This property gets the current ICacheImageProvider type. To set the image provider type use ImageProviderTypeName property. - - - If no provider is set, this property will return the default CacheImageProvider - - - - - Telerik Image Editor control. - - - - - Returns a bool value that indicates whether the command is built-in in the RadImageEditor, or is a custom one. - - The name of the command to check. - True - if the command is built-in; False - if the command is custom. - - - - Goes through each value of the ToolBarPosition. - - - - - Tries to retrieve/load the image from the following sources: - 1. From the ImageLoading event args; - 2. From the FileBrowserContentProvider - 3. From the ICacheImageProvider - - - Pass FALSE if you want to avoid creating the EditableImage object when the image is specified through the ImageUrl. - - The editable image object retrieved from the source. - - - - Retrieves an EditableImage from the specified FileBrowserContentProvider. - - The path to the image. - The editable image - - - - Invokes the Store method of the current ICacheImageProvider and sets the CurrentImageUrl and CurrentImageKey properties. - - The editable image to store - The key returned by the ICacheImageProvider.Store method. - - - - Invokes the Store method of the current ICacheImageProvider and sets the CurrentImageUrl and CurrentImageKey properties. - - The editable image to store. If the image is null it would not be stored. - The ICacheImageProvider to use for storing the image. - The key returned by the ICacheImageProvider.Store method. If the EditableImage is null returns string.Empty. - - - - Saves the EditableImage on the FileSystem. - - The EditableImage to save. - The ICacheImageProvider to use for saving - The file name to use for the image. If string.Empty the existing URL will be used - The flag indicating whether the existing file should be overwritten. - Returns string.Empty if the image was saved successfully, otherwise a string indicating the problem. - - - - Saves the EditableImage on the FileSystem. - - The EditableImage to save. - The ICacheImageProvider to use for saving - The file name to use for the image. If string.Empty the existing URL will be used - The flag indicating whether the existing file should be overwritten. - Defines if the extension of the image should be taken from the image format and not by parsing the URL - Returns string.Empty if the image was saved successfully, otherwise a string indicating the problem. - - - - Saves the image using the FileBrowserContentProvider. - - The image to save. - The image format to use when saving the image. - Should we overwrite if the image exists. (true means to overwrite) - The relative image path. - A message indicating whether the saving was successful. Empty string means the saving was successful. - - - - Creates the ImageEditor's set of tools. - - - - - Finds out the actual skin that is applied to the controls. - - true - always look for the skin, false - return the currently stored skin - The actual skin applied to the ImageEditor control. - - - - Calculates the actual client url of the image applied to the tool. - - The current skin of the control. - The client url of the embedded web resource. - - - - Creates a RadDock control that serves as a Tools container for the controls that edit the Image. - - - - - Creates an XmlHttpPanel control which loads the Tool's specific controls. - The XmlHttpPanel is added to the Dock Tools panel. - - - - - Creates an UpdatePanel and adds it to the ContentContainer of the Dock Tools panel. - - - - - Update the MaxJsonLength value of the editable image's XmlHttpPanel - - - - - Creates RadAjaxLoadingPanel to show over the dock while its updating. - - - - - Creates RadDock that holds the toolbar. - - - - - Create Top and Left ToolBar zones. - - - - - Create Right and Bottom ToolBar zones. - - - - - Applies settings to the ImageEditor when the MetroTouch Skin is used. - - Bool value indicating whether the MetroTouch Skin is used. - - - - Loads ImageEditor tools from the passed XmlDocument. - - The XmlDocument from which the tools are loaded. - - - - Forces the ToolsFile to be parsed and loaded at any given time. - - - - - Restores view-state information from a previous request that was saved with the System.Web.UI.WebControls.WebControl.SaveViewState() method. - - An object that represents the control state to restore. - - - - Saves any state that was modified after the System.Web.UI.WebControls.Style.TrackViewState() method was invoked. - - An object that contains the current view state of the control; otherwise, if there is no view state associated with the control, null. - - - - Causes the control to track changes to its view state so they can be stored in the object's System.Web.UI.Control.ViewState property. - - - - - Applies the IImageOperation(s) to the current EditableImage in the order they appear in the operations collection. - - Collection of IImageOperation(s) to apply. - The modified EditableImage object. - - - - Applies the IImageOperation(s) to the passed EditableImage in the order they appear in the operations collection. - - Collection of IImageOperation(s) to apply. - The EditableImage to apply the operations to. - The modified EditableImage object. - - - - Extracts the file name from the value of the ImageUrl property. - - The file name without the extension. - - - - Gets the format of the image as a string. The format may be different from the actual filename extension. - - The format of the image as a string - - - - Applies the current pending changes on the current RadImageEditor's EditableImage, saves the EditableImage using the ContentProvider's SaveImage method, and invokes the ImageSaving event. - This method requires AllowedSavingLocation propety of RadImageEditor to be set to "Server" or "ClientAndServer". - - The name to use if the image is saved on the FileSystem. Use string.Empty to use the existing name. - Bool value indicating whether the existing image in the ContentProvider should be overwritten. - Returns a string message that indicates whether the saving was successful. Empty string means the saving was successful. - - - - Applies the current pending changes on the current RadImageEditor's EditableImage, saves the EditableImage using the ContentProvider's SaveImage method, and invokes the ImageSaving event. - This method requires AllowedSavingLocation propety of RadImageEditor to be set to "Server" or "ClientAndServer". - - The EditableImage to save. - The name to use if the image is saved on the FileSystem. Use string.Empty to use the existing name. - Bool value indicating whether the existing image in the ContentProvider should be overwritten. - Returns a string message that indicates whether the saving was successful. Empty string means the saving was successful. - - - - Clears all the changes currently applied to the image, and restores the original image. - This method should be invoked before PreRender so that the control can request the original image. - - - - - Gets a reference to the Telerik.Web.UI.ImageEditor.EditableImage that is currently associated with the ImageEditor control. - - The Telerik.Web.UI.ImageEditor.EditableImage currently associated with - - - - Registers a custom command in case it is missing as a button from the toolbar. - - This method should be called before PreRender - The name of the command - - - - Gets the of the ICacheImageProvider used. - - The fully qualified name of the provider used. - Returns the of the - - - - Raises the ImageChanged event and passes the event related data. - - The editable image that is being modified. - - - - Calls the event handler methods of the ImageChanged event. - - The editable image that is being modified. - The key used to find the event handler method handling the event. - - - - Raises the DialogLoading event and passes the event related data. - - The name of the dialog that is being loaded. - The panel to which the dialog control loaded will be added. - - - - Calls the event handler methods of the DialogLoading event. - - The name of the dialog that is being loaded. - The panel to which the dialog control loaded will be added. - The key used to find the event handler method handling the event. - - - - Raises the ImageSaving event and passes the event related data. - - The event arguments passed to the event handler methods. - - - - Calls the event handler methods of the ImageSaving event. - - The event arguments that will be passed to the event handling methods. - The key used to find the event handler method handling the event. - - - - Raises the ImageLoading event and passes the event related data. - - The event arguments passed to the event handler methods. - - - - Calls the event handler methods of the ImageLoading event. - - The event arguments that will be passed to the event handling methods. - The key used to find the event handler method handling the event. - - - - Raises the ImageEditing event and passes the event related data. - - The event arguments passed to the event handler methods. - - - - Calls the event handler methods of the ImageEditing event. - - The event arguments that will be passed to the event handling methods. - The key used to find the event handler method handling the event. - - - - GUID key used to get all the image keys from the CacheProvider, related with the current instance of the ImageEditor control. - - - - - - - - - - - - - Key used for downloading the image on the client from the HttpHandler. - - - - - Gets or sets a string containing the localization language for the RadImageEditor UI - - - - - Gets or sets a bool value that indicates whether the RadImageEditor is used in the RadEditor. - - - - - The collection of commands that are applied on the client, and need to be applied on the server. - - - - - Gets the unique identifier of the current EditableImage. - - - - - GUID key used to get all the image keys from the CacheProvider, related with the current instance of the ImageEditor control. - - - - - Gets or sets the location of an image to edit within the Image editor - - - - - Gets or sets the alternate text displayed in the edited image when the image is unavailable. - - - - - Gets or sets the location to a detailed description for the edited image. - - - - - Gets the collection containing RadImageEditor tools. - - - - - Gets or sets a string containing the path to the XML toolbar configuration file. - - - Use "~" (tilde) as a substitution of the web-application's root - directory. - You can also provide this property with an absolute URL which returns a valid XML - toolbar configuration file, e.g. http://MyServer/MyApplication/Tools/MyToolsFile.aspx - - - - - Gets the name of the last (active) command executed by the ImageEditor. - - - - - Specifies the URL of the HTTPHandler that serves the cached image. - - - - The HTTPHandler should either be registered in the application configuration - file, or a file with the specified name should exist at the location, which - HttpHandlerUrl points to. - - - If a file is to serve the files, it should inherit the class Telerik.Web.UI.WebResource - - - - - - Specifies where the cached imaged from the operation will be stored - When the image is stored in the session the HttpHandler - definition (in the web.config file) must be changed from type="Telerik.Web.UI.WebResource" to - type="Telerik.Web.UI.WebResourceSession" so that the image can be retrieved from the Session. - - - - - The panel type to use for loading the tools dialogs' content - - - - - The Localization property specifies the strings that appear in the runtime user interface of RadImageEditor. - - - - - Gets or sets a value indicating where the image editor will look for its .resx localization files. - By default these files should be in the App_GlobalResources folder. However, if you cannot put - the resource files in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource files. - - - A relative path to the dialogs location. For example: "~/controls/RadImageEditorResources/". - - - If specified, the LocalizationPath - property will allow you to load the image editor localization files from any location in the - web application. - - - - - Gets or sets a value that controls the behavior of the RadImageEditor's StatusBar. - - - - - Gets or sets a bool value that indicates whether the control can be resized. - - - - - Gets or sets the height of the RadImageEditor control - - - - - Gets or sets the width of the RadImageEditor control - - - - - Gets or sets a value that indicates where the user is allowed to save the image. The options available are: - "Client", "Server" and "ClientAndServer". The default is ClientAndServer. - - - - - Gets or sets value that controls the behavior of the Toolbar. The options available are: - "Default" and "Docked". - - - - - Gets or sets the position of the Toolbar relative to the edited content (content area). - - - - - Configures the ImageEditor's ContentProvider. - - - - - Specify settings related to the EditableImage behavior. - - - - - Gets or sets the maximal number of operations that will be stored in the Undo stack. - Zero (0) is the default value, meaning there is no limit on the number of operations stored. - - - - - Gets or sets a bool value that indicates whether RadAjaxLoadingPanel will be shown over the tools panel. - - - - - Gets or sets a value indicating where the image editor will look for its dialogs. - - - A relative path to the dialogs location. For example: "~/controls/RadImageEditorDialogs/". - - - If specified, the ExternalDialogsPath - property will allow you to customize and load the image editor dialogs from normal ASCX files. - - - - - Gets or sets the lower limit of the zoom level. This is the lowest percentage value up to which the user can zoom out the image in the RadImageEditor. - The default is 25%. - - - - - Gets or sets the upper limit of the zoom level. This is the highest percentage value up to which the user can zoom in the image in the RadImageEditor. - The default is 400%. - - - - - Gets or sets a value that indicates whether or not the canvas mode of the ImageEditor will be enabled. - - - - - The name of the javascript function called when the control loads in the browser. - - - - - The name of the javascript function called when the image in the editor loads in the browser. - - - - - The name of the javascript function called when the resizing is started on the control. - - - - - The name of the javascript function called when the resizing on the control ends. - - - - - The name of the javascript function called when a command is firing on the RadImageEditor. - This event is triggered when the ImageEditor's ToolBar buttons are clicked or the RadImageEditor.fire(commandName) method is invoked. - The event can be canceled. - - - - - The name of the javascript function called when a command is fired on the RadImageEditor. - This event is triggered when the ImageEditor's ToolBar buttons are clicked or the RadImageEditor.fire(commandName) method is invoked. - - - - - The name of the javascript function called when a tool widget dialog is loaded from the server. - - - - - The name of the javascript function called before a change is applied on the image edited. - The event can be canceled. - - - - - The name of the javascript function called after a change is applied on the image edited. - - - - - The name of the javascript function called before the image is saved on the client or the server. - The event can be canceled. - - - - - The name of the javascript function called after the image is saved on the client or the server. - - - - - The name of the javascript function called when the tool's panel dialog is closed. - - - - - The name of the javascript function called, when a given Keyboard ShortCut of the RadImageEditor was hit. - The event can be cancelled. - - - - - Fires when the image has been changed. - - - - - Fires when an operation's dialog is loading its content. - - - - - Fires just before the image is saved on the file system. This event can be canceled and the edited image saved into a custom location. - - - - - Fires just before the image is loaded from the file system. This event can be canceled and the edited image loaded from a custom location. - The event is fired only when the ImageEditor needs to load the initial image. - - - - - Fires just before the image is edited on the server. It is fired only during callbacks when the user performs a server operation. - Server operations include the following: Crop, AddText, InsertImage. The event can be cancelled and the image edited accordingly. - - - - - The serializer for the InsertImageOperation - - - - - - The serializer for the SwapImageOperation - - - - - - The base for all the image operation serializers. - - - - - The default constructor for any image operation serializer. - - - - - Serializes the image operation - - The operation that should be serialized - The string representation of the serialized image operation - - - - Constructs an image operation from the serialized input - - The serialized input - The image operation represented by the serialized input - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Checks if the provided data is relevant to the current serializer - - The provided data - True if the provided data is relevant to the current image operation. False otherwise. - - - - Constructs an image operation from the provided data input - - The data content representing an image operation - An image operation represented by the provided data - - - - Name of the current serializer. Every serializer should specify a name. - - - - - Provides a mechanism to serialize and deserialize image operations. - - - - - Serializes the image operation - - The operation that should be serialized - The string representation of the serialized image operation - - - - Constructs an image operation from the serialized input - - The serialized input - The image operation represented by the serialized input - - - - Constructs an image operation from the provided data input - - The data content representing an image operation - An image operation represented by the provided data - - - - The name of the currently serializable operation - - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Constructs an image operation from the provided data. - - The input key/value collection of the operation - A newly constructed operation based on the input data - - - - - Name of the current serializer. - - - - - Name of the current serializer. - - - - - Represents an ImageEditor dialog used for changing the brightness and contrast of the editable image. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the InsertImage functionality of the control. - - - - - Creates an instance of the class. Pencil is used to draw sharp lines in the ImageEditor - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the InsertImage functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Enumeration determining the the type. - This feature is supported only in browsers supporting HTML5. - - - - - RadListBoxItemData - - - - - - - - This partial class describes the client properties and events of RadListBox. - - - This Class defines the RadListBox- a powerful ASP.NET AJAX control to display a list of items. - It allows for multiple selection of items, reorder and transfer between two RadListBox controls. - Drag and drop is fully supported as well. You can easily control the appearance by arranging the buttons - in different layouts or changing their text. Icons and checkboxes are also supported within RadListBox - items. RadListBox implements a highly efficient semantic rendering, which uses list items and CSS instead - of tables. As a result the HTML output is significantly reduced, which dramatically improves performance. - - - RadListBox is a flexible listbox control with the some unique features: - - - Rich and highly customizable UI for item transfer, delete and reordering. - - - Drag and drop support. Items can be reordered or transferred via drag and drop. - - - Automatic update of the underlying data source during reorder, transfer or delete. - - - Checkbox support - - - All features supported by the built-in ListBox control. - - - - - - - - - - - - - - - Loads the posted content of the list control, if it is different from the last posting. - - The key identifier for the control, used to index the postCollection. - A that contains value information indexed by control identifiers. - true if the posted content is different from the last posting; otherwise, false. - - - - Invokes the method whenever posted data for the RadListBox control has changed. - - - - - Sets the property of a after a page is posted back. - - The index of the Item to select in the collection. - - - - Populates the control from an XML file - - Name of the XML file. - - - - Deletes the specified item. Fires the and events. - - The item which should be deleted. - - The Delete method updates the underlying datasource if the is set to true. - - - - - Deletes the specified list of items. Fires the and events. - - The list of items which should be deleted. - - The Delete method updates the underlying datasource if the is set to true. - - - This example demonstrates how to programmatically delete the selected items. - - RadListBox1.Delete(RadListBox1.SelectedItems); - - - RadListBox1.Delete(RadListBox1.SelectedItems) - - - - - - Transfers the specified list of items from the source to the destination listbox. Fires the and events. - - The items to transfer. - The source list box. - The destination list box. - - Always call the Transfer method of the RadListBox whose property is set! - The Transfer method updates the underlying datasource if the is set to true. - - - - RadListBox1.TransferToID = "RadListBox2"; - //Transfers all items of RadListBox1 to RadListBox2 - RadListBox1.Transfer(RadListBox1.Items, RadListBox1, RadListBox2); - //Transfers all items of RadListBox2 to RadListBox1. Notice that we do not use RadListBox2.Transfer - RadListBox1.Transfer(RadListBox2.Items, RadListBox2, RadListBox1); - - - RadListBox1.TransferToID = "RadListBox2" - 'Transfers all items of RadListBox1 to RadListBox2 - RadListBox1.Transfer(RadListBox1.Items, RadListBox1, RadListBox2) - 'Transfers all items of RadListBox2 to RadListBox1. Notice that we do not use RadListBox2.Transfer - RadListBox1.Transfer(RadListBox2.Items, RadListBox2, RadListBox1); - - - - - - Transfers the specified item from the source list box to the destination listbox. - Fires the and events. - - The item to transfer. - The source list box. - The destination list box. - - Always call the Transfer method of the RadListBox whose property is set! - The Transfer method updates the underlying datasource if the is set to true. - - - The following example demonstrates how to use the Transfer method - - RadListBox1.TransferToID = "RadListBox2"; - //Transfers the first item of RadListBox1 to RadListBox2 - RadListBox1.Transfer(RadListBox1.Items[0], RadListBox1, RadListBox2); - //Transfers the first item of RadListBox2 to RadListBox1. Notice that we do not use RadListBox2.Transfer - RadListBox1.Transfer(RadListBox2.Items[0], RadListBox2, RadListBox1); - - - RadListBox1.TransferToID = "RadListBox2" - 'Transfers the first item of RadListBox1 to RadListBox2 - RadListBox1.Transfer(RadListBox1.Items(0), RadListBox1, RadListBox2) - 'Transfers the first item of RadListBox2 to RadListBox1. Notice that we do not use RadListBox2.Transfer - RadListBox1.Transfer(RadListBox2.Items(0), RadListBox2, RadListBox1); - - - - - - Moves the item at old index to new index by calculating the offset. - Fires the and events. - - The old (current) index of the item. - The new index of the item. - - The Reorder method updates the underlying datasource if the is set to true. - - - - //Reorder the first item to second place - RadListBox1.Reorder(0, 1); - - - 'Reorder the first item to second place - RadListBox1.Reorder(0, 1) - - - - - - Moves the item at old index to new index. - Fires the and events. - - The old (current) index of the item. - The new index of the item. - - The ReorderToIndex method updates the underlying datasource if the is set to true. - - - - //Reorder the first item to second place - RadListBox1.ReorderToIndex(0, 1); - - - 'Reorder the first item to second place - RadListBox1.ReorderToIndex(0, 1) - - - - - - Reorders the specified items with the specified offset. - Fires the and events. - - The items. - The offset. - - he Reorder method updates the underlying datasource if the is set to true. - - - - //Move all selected items with one position down - RadListBox1.Reorder(RadListBox1.SelectedItems, 1); - - - 'Move all selected items with one position down - RadListBox1.Reorder(RadListbox1.SelectedItems, 1) - - - - - - Reorders the specified items to the specified index. - Fires the and events. - - The items. - The target index. - - The ReorderToIndex method updates the underlying datasource if the is set to true. - - - - //Move all selected items (first and second) to an index below them. - RadListBox1.ReorderToIndex(RadListBox1.SelectedItems, 3); - - - 'Move all selected items (first and second) to an index below them. - RadListBox1.Reorder(RadListbox1.SelectedItems, 3) - - - - - - Finds the first item for which the specified predicate returns true. - - The predicate which will test all items. - - The first item for which the specified predicate returns true. Null (Nothing) is returned if no item matches. - - - The following example demonstrates how to use the FindItem method to find the first item whose starts with "A" - - RadListBoxItem item = RadListBox1.FindItem(delegate(RadListBoxItem currentItem) { - return currentItem.Text.StartsWith("A"); - }); - - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadListBox1.FindItem(AddressOf Find) - End Sub - Public Function Find(ByVal currentItem As RadListBoxItem) As Boolean - Find = currentItem.Text.StartsWith("A") - End Function - - - - - - Finds the first item whose property is the same as the specified text. - - The text to search for. - - The first item whose property is the same as the specified text. Null (Nothing) otherwise. - - - - - Finds the first item whose property is the same as the specified value. - - The value to search for. - - The first item whose property is the same as the specified value. Null (Nothing) otherwise. - - - - - Clears the selection. The property of all items is set to false. - - - - - Clears the checked items. The property of all items is set to false. - - - - - Gets an array containing the indices of the currently selected items in the RadListBox control. - - - - - Gets an array containing the indices of the currently checked items in the RadListBox control. - - - - - Finds the index of the item whose property is the same as the specified value. - - The value. - - The index of the item whose property is the same as the specified value. -1 if no item is found. - - - - - Finds the index of the item whose property is the same as the specified value. - - The value. - if set to true case insensitive comparison is made. - - The index of the item whose property is the same as the specified value. -1 if no item is found. - - - - Sorts the items in the RadListBox. - - - - RadListBox1.Sort=RadListBoxSort.Ascending - RadListBox1.SortItems() - - - RadListBox1.Sort=RadListBoxSort.Ascending; - RadListBox1.SortItems(); - - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Gets a object that represents - the child controls for a specified server control in the UI hierarchy. - - The collection of child controls for the specified server control. - - - - - Gets or sets the enable mark matches. - - The enable mark matches. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadListBox will look for its .resx localization files. - - The localization path. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets or sets a value indicating whether to update the underlying datasource after postback caused by reorder, delete or transfer. - - - true if the datasource should be update; otherwise, false. The default value is false. - - - Automatic updates require postback so the , or - should be set to true depending on the requirements. - - - - - Gets a object that stores the key values of each record. - - The data keys. - - - The DataKeys property is populated after databinding if the property is set. - - - - - Gets or sets a value indicating whether RadListBox should post back after delete. - - - true if RadListBox should postback after delete; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether RadListBox should post back after transfer. - - - true if RadListBox should postback after transfer; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether RadListBox should post back after reorder. - - - true if RadListBox should postback after reorder; otherwise, false. The default value is false. - - - - - Gets or sets the transfer mode used for transfer operations. - - The transfer mode. The default value is - - If the TransferMode property is set to the items would be deleted from the source listbox before - inserting them in the destination listbox. The TransferMode property of the listbox whose property is set is taken into account. - - - - - Gets or sets a value indicating whether the double click on a item causes transfer - - - true if the user should be able to transfer items with double click; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether the user can transfer the same item more than once. - - - The property should only be used together with SelectionType="Copy" - - - true if the user should be able to transfer the same item more than once; otherwise, false. The default value is false. - - - - - Gets the which the current list box is configured to transfer to via the property. - - - The transfer to list box. null (Nothing) if the property is not set. - - - - - Gets or sets the ID of the which the current listbox should transfer to. - Set the TransferToID property only of one of the two listboxes which will transfer items between each other. - - The ID of the target listbox. - - - - Gets or sets a value indicating whether RadListBox should persist the changes that occurred client-side (reorder, transfer, delete) after postback. - - - true if client-side changes should be persisted after postback; otherwise, false. The default value is true. - - - - - Used to customize the appearance and position of the buttons displayed by RadListBox. - - - - - Gets or sets a value indicating whether RadListBox displays the reordering buttons. - - - true if reordering UI is displayed; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether RadListBox displays the delte button. - - - true if delete button is displayed; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether RadListBox displays the transfer buttons. - - - true if transfer UI is displayed; otherwise, false. The default value is false. - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the RadListBox selection. - - - Set this property to true if the server needs to capture the selection - as soon as it is made. For example, other controls on the Web page can be - automatically filled depending on the user's selection from a list control. - This property can be used to allow automatic population of other controls on - the Web page based on a user's selection from a list. - The value of this property is stored in view state. - - The server-side event that is fired is - SelectedIndexChanged. - - - - - - Gets the currently checked items in the ListBox. - - - - - When set to true enables Drag-and-drop functionality - - - - - Gets or sets the empty message. - - The empty message. - - - - Gets or sets the that defines the empty message template. - - The item template. - - - - Gets or sets the that defines the header template. - - The header template. - - - - Gets or sets the that defines the footer template. - - The footer template. - - - - Get a header of - RadListBox. - - - - - Get a footer of - RadListBox. - - - - - Gets or sets the that defines how items in the control are displayed. - - The item template. - - - - Gets or sets the HTML template of a - when added on the client. - - - - - Gets the items of the control. - - The object which represents the items. - - You can use the Items property to add and remove items in the control. - - - - - - Gets or sets the selected index of the control. - - The index that should be selected. - - Set the selected index to -1 to clear the selection. - - - - - Gets the currently selected Item in the ListBox. - - - A which is currently selected. Null (Nothing) if there is no selected item ( is -1). - - - - - Gets the currently selected items in the ListBox. - - - - - Gets the of the selected item. - When set selects the item with matching property. - - - - - Gets or sets the Selection Mode of the RadListBox. - - - - - Automatically sorts items alphabetically (based on the Text - property) in ascending or descending order. - - - - RadListBox1.Sort = RadListBoxSort.Ascending; - RadListBox1.Sort = RadListBoxSort.Descending; - RadListBox1.Sort = RadListBoxSort.None; - - - RadListBox1.Sort = RadListBoxSort.Ascending - RadListBox1.Sort = RadListBoxSort.Descending - RadListBox1.Sort = RadListBoxSort.None - - - - - - Gets/sets whether the sorting will be case-sensitive or not. - By default is set to true. - - - - RadListBox1.SortCaseSensitive = false; - - - - RadListBox1.SortCaseSensitive = false - - - - - - When set to true displays a checkbox next to each item. - - - - - Gets a list of all client-side changes (adding an Item, removing an Item, changing an Item's property) which have occurred. - - - - - Gets or sets the key field in the data source. Usually this is the database column which denotes the primary key. - - The name of the key field in the data source specified. - - DataKeyField is required for automatic data source updates during transfer, reorder and delete. - - - - - Gets or sets the sort field in the data source. The sort field must be of numeric type. - - The name of the sort field in the data source specified. - - DataSortField is required for automatic data source updates during reorder. - - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - The ID of the RadAjaxLoadingPanel to be displayed during LOD - - - - - Gets or sets the EnableLoadOnDemand property. - - The EnableLoadOnDemand property. - - - - Gets the settings for the web service used to populate items. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public RadListBoxItemData[] WebServiceMethodName(object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - Occurs when items's sort order is updated during the reordering. - - - - - Occurs when items's sort order is updated during the reordering. - - - - - Occurs when items are deleted. - - - - - Occurs when items are deleted. - - - - - Occurs when item is transferred. - - - - - Occurs when item is transferred. Can be cancelled by setting the property to true. - - - - - Occurs when item is inserted. - - - - - Occurs when item is inserted. Can be cancelled by setting the property to true. - - - - - Occurs when item is reordered. - - - - - Occurs when item is reordered. Can be cancelled by setting the property to true. - - - - - Occurs before drag and drop - - - - - Occurs after drag and drop - - - - - Occurs when item is data bound. - - - Use the ItemDataBound event to set additional properties of the databound items. - - - - protected void RadListBox1_ItemDataBound(object sender, RadListBoxItemEventArgs e) - { - e.Item.ToolTip = (string)DataBinder.Eval(e.Item.DataItem, "ToolTipColumn"); - } - - - Protected Sub RadListBox1_ItemDataBound(sender As Object, e As RadListBoxItemEventArgs) - e.Item.ToolTip = DirectCast(DataBinder.Eval(e.Item.DataItem, "ToolTipColumn"), String) - End Sub - - - - - - Occurs when item is created. - - - The ItemCreated event occurs before and after postback if ViewState is enabled. - ItemCreated is not raised for items defined inline in the ASPX. - - - - Occurs before template is being applied to the item. - - The TemplateNeeded event is raised before a template is been applied on the item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the items. - - protected void RadListBox1_TemplateNeeded(object sender, Telerik.Web.UI.RadListBoxItemEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Item); - } - } - } - - - Sub RadListBox1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadListBoxItemEventArgs) Handles RadListBox1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Item) - End If - End If - End Sub - - - - - - Occurs when an item is checked - - - - - Occurs when the selected index has changed. - - - - - Occurs when text was changed. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadListBOx is about to be populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemRequestingHandler(sender, eventArgs)
- {
- var context = eventArgs.get_context();
- context["Parameter1"] = "Value";
- }
- </script>
- <telerik:RadListBox ID="RadListBox1"
- runat="server"
- OnClientItemPopulating="onClientItemPopulatingHandler">
- ....
- </telerik:RadListBox>
-
- - If specified, the OnClientItemsRequesting client-side event - handler is called when the RadListBox is about to be populated. - Two parameters are passed to the handler: - - sender, the listBox client object; - eventArgs with three properties: - - get_context(), an user object that will be passed to the web service. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadListBox items were just populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemsRequested(sender, eventArgs)
- {
- alert("Loading finished");
- }
- </script>
- <telerik:RadListBox ID="RadListBox1"
- runat="server"
- OnClientItemsRequested="onItemsRequested">
- ....
- </telerik:RadListBox>
-
- - If specified, the OnClientItemsRequested client-side event - handler is called when the RadListBox items were just populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs, null for this event. - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the RadListBox has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onItemsRequestFailed(sender, eventArgs)
- {
- alert("Error: " + errorMessage);
- eventArgs.set_cancel(true);
- }
- </script>
- <telerik:RadListBox ID="RadListBox1"
- runat="server"
- OnClientItemsRequestFailed="onItemsRequestFailed">
- ....
- </telerik:RadListBox>
-
- - If specified, the OnClientItemsRequestFailed client-side event - handler is called when the operation for populating the RadListBox has failed. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with one property: - - set_cancel(), set to true to suppress the default action (alert message). - - - - This event can be cancelled. - -
- - - Gets or sets the name of the JavaScript function called when an Item is created during Web Service Load on Demand. - - - - - - - - - - - - - - - - - - - - - Gets or sets the name of the JavaScript function which handles the selectedIndexChanging client-side event. - - - The selectedIndexChanging client-side event occurs when the selection changes. - - - The selectedIndexChanging event can be cancelled by setting its cancel client-side property to false. - - function onSelectedIndexChanging(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the selectedIndexChanged client-side event. - - - The selectedIndexChanged client-side event occurs when the selection changes. - - - - - Gets or sets a value indicating the client-side event handler that is called - before the browser context panel shows (after right-clicking an item). - - - Use theOnClientContextMenu property to specify a JavaScript - function that will be executed before the context menu shows after right clicking an - item. - - - - function onContextMenu(sender, args) - { - var item = args.get_item(); - } - - - - - - Gets or sets the name of the JavaScript function which handles the itemChecking client-side event. - - - The itemChecking event occurs when the item is checked. - - - The itemChecking event can be cancelled by setting its cancel client-side property to false. - - function onItemChecking(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the itemChecked client-side event. - - - The itemChecked event occurs when the item is checked. - - - - - Gets or sets the name of the JavaScript function which handles the deleting client-side event. - - - The deleting event occurs when an items are deleted (during transfer or delete for example). - - - The deleting event can be cancelled by setting its cancel client-side property to false. - - function onDeleting(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the deleted client-side event. - - - The deleted event occurs when an itema are deleted (during transfer or delete for example). - - - - - Gets or sets the name of the JavaScript function which handles the transferring client-side event. - - - The transferring event occurs when an item is transferred. - - - The transferring event can be cancelled by setting its cancel client-side property to false. - - function onTransferring(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the transferred client-side event. - - - The transferred event occurs when an item is transferred. - - - - - Gets or sets the name of the JavaScript function which handles the reordering client-side event. - - - The reordering event occurs when an item is reordered. - - - The reordering event can be cancelled by setting its cancel client-side property to false. - - function onReordering(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the reordered client-side event. - - - The reordered event occurs when an item is reordered. - - - - - Gets or sets the name of the JavaScript function which handles the mouseOver client-side event. - - - The mouseOver event occurs when the user hovers a listbox item with the mouse. - - - - - Gets or sets the name of the JavaScript function which handles the mouseOut client-side event. - - - The mouseOut event occurs when the user moves away the mouse from a listbox item. - - - - - Gets or sets the name of the JavaScript function which handles the load client-side event. - - - The load event occurs when RadListBox is initialized. - - - - - Gets or sets the name of the JavaScript function which handles the itemDragStart client-side event. - - - The itemDragStart event occurs when user starts to drag an item. - - - The itemDragStart event can be cancelled by setting its cancel client-side property to false. - - function onItemDragStart(sender, args) - { - args.set_cancel(true); - } - - - - - - Gets or sets the name of the JavaScript function which handles the itemDragging client-side event. - - - The itemDragging event occurs when user moves the mouse while dragging an item. - - - - - Gets or sets the name of the JavaScript function which handles the itemDropping client-side event. - - - The itemDropping event occurs when the user drops an item onto another item. - - - - - Gets or sets the name of the JavaScript function which handles the itemDropped client-side event. - - - The itemDropped event occurs after the user drops an item onto another item. - - - - - Gets or sets the name of the JavaScript function called when the client template for an item is evaluated - - - - - is designed to give your the freedom to specify - predefined or customized type of layout for the items displayed in - the control and in the same time gives you integrated sorting, paging, - grouping, editing, selecting, etc. capabilities. You can embed various - controls of your choice in RadListView's templates and model their - appearance in a custom manner. Thanks to its innovative architecture - is extremely fast and generates very little output. - - - is designed to give your the freedom to specify - predefined or customized type of layout for the items displayed in - the control and in the same time gives you integrated sorting, paging, - grouping, editing, selecting, etc. capabilities. You can embed various - controls of your choice in RadListView's templates and model their - appearance in a custom manner. Thanks to its innovative architecture - is extremely fast and generates very little output. - - - RadListView class - - - - - - - - - - - - - - - - - Code moved into this method from OnPreRender to make sure it executed when the framework skips OnPreRender() for some reason - - - - - - - - - - - - - Registers the control with the ScriptManager - - - - - Registers the CSS references - - - - - Loads the client state data - - - - - - Saves the client state data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns the names of all embedded skins. Used by Telerik.Web.Examples. - - - - - Executed when post data is loaded from the request - - - - - - - - Executed when post data changes should invoke a chagned event - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - - For internal use. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets the real skin name for the control user interface. If Skin is not set, returns - "Default", otherwise returns Skin. - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - - - - - The CssClass property will now be used instead of the former Skin - and will be modified in AddAttributesToRender() - - - protected override string CssClassFormatString - { - get - { - return "RadDock RadDock_{0} rdWTitle rdWFooter"; - } - } - - - - - - - - - This property is overridden in order to support controls which implement INamingContainer. - The default value is changed to "AutoID". - - - - - - - - - Gets or sets the access key that allows you to quickly navigate to the - Web server control. - - The access key for quick navigation to the Web server control. The default - value is , which indicates that this property - is not set. - The specified access key - is neither null, nor a single character string. - - - - - - Gets or sets the background color of the Web server control. - - A that represents the background - color of the control. The default is , - which indicates that this property is not set. - - - - - Gets or sets the border color of the Web control. - - A that represents the border color - of the control. The default is , which - indicates that this property is not set. - - - - - Gets or sets the border style of the Web server control. - - One of the enumeration - values. The default is NotSet. - - - - - Gets or sets the border width of the Web server control. - - A that represents the - border width of a Web server control. The default value is , - which indicates that this property is not set. - The specified border width is a - negative value. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - - The CSS class rendered by the Web server control on the client. The - default is . - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets a value indicating whether themes apply to this control. - - true to use themes; otherwise, false. The default is true. - The Page_PreInit event has - already occurred.- or -The control has already been added to the Controls collection. - - - - - - Gets or sets the foreground color (typically the color of the text) - of the Web server control. - - A that represents the foreground - color of the control. The default is . - - - - - - Gets the font properties associated with the Web server control. - - A that represents - the font properties of the Web server control. - - - - - Gets or sets the height of the Web server control. - - A that represents the - height of the control. The default is . - - The height was set to a negative - value. - - - - - Gets or sets the skin to apply to the control. - - The name of the skin to apply to the control. The default is . - - The skin specified in the - property does not exist in the theme. - - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - - true if the control is visible on the page; otherwise false. - - - - - Gets or sets the width of the Web server control. - - A that represents the - width of the control. The default is . - - The width of the Web server control - was set to a negative value. - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - - - Gets or sets the name of the list of data that the data-bound control - binds to, in cases where the data source contains more than one distinct list - of data items. - - The name of the specific list of data that the data-bound control binds - to, if more than one list is supplied by a data source control. The default value - is . - - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - - Gets or sets the object from which the data-bound control retrieves - its list of data items. - - An object that represents the data source from which the data-bound - control retrieves its data. The default is null. - - - - - Gets or sets the ID of the control from which the data-bound control - retrieves its list of data items. - - The ID of a control that represents the data source from which the data-bound - control retrieves its data. - - - - - Interface that should be implemented in order to enable - to page the class - which implements the interface. - - - - - Method for settings paging properties of the pageable container - - The index of the first record on the page. - The maximum number of items on a single page. - true to rebind the control after the properties are set; otherwise, false. - - - - Occurs when the data from the data source is made available to the control. - - - - - The maximum number of items to display on a single page - - - - - The index of the first record that is displayed on a page - - - - - - - - - When overridden in an abstract class, creates the control hierarchy - that is used to render the composite data-bound control based on the - values from the specified data source. - - - The number of items created by the - - . - - An - that contains the - values to bind to the control. - true to indicate - that the - - is called during data binding; otherwise, false. - - The - control does not have an item placeholder - specified. - - - - Creates a default - object used - by the data-bound control if no arguments are specified. - - - A - initialized to - . - - - - - Binds the data from the data source to the composite data-bound - control. - - An - that contains the values to bind to the composite data-bound - control. - - - - InvalidOperationException. - - - The RadListView control - does not have an InsertItemTemplate template specified. - - - There was a problem extracting - DataKeyValues from the DataSource. Please ensure that DataKeyNames - are specified correctly and all fields specified exist in the - DataSource. - - - InvalidOperationException. - - - The RadListView control does not have an item placeholder specified. - - - InvalidOperationException. - - - - Creates and instantiate layout template instance - - Created controls count - - - - Saves any control state changes that have - occurred since the time the page was posted back to the server. - - - Returns the 's current state. If there is - no state associated with the control, this method returns null. - - - - - Restores control-state information from a previous page request that - was saved by the - method. - - An that - represents the control state to be restored. - - - - maximumRows is out of range. - startRowIndex is out of range. - - - - Raises event - - - - - - Raises event - - - - - - Raises event - - - - - - Raises the event. - - - - - - Raises the event. - - - - - - Raises the event. - - - - - - Raises the event. - - - - - - Raises event - - - - - - Raises the event - - - - - - Removes all selected items that belong to instance. - - - - - Removes all edit items that belong to the - instance. - - - - - Handles the event. - - An object that contains the event data. - - - - Handles the event. - - An object that - contains event data. - - - - Renders the to the specified HTML writer. - - The - object that receives - the control content. - - - - You should not call - DataBind in event handler. DataBind would take place - automatically right after handler finishes execution. - - - - - Rebinds this instance and updates the . - - - - - The passed object (like for example) will be filled with the - names/values of the corresponding 's bound values and data-key values if included. - - dataItem is null. - newValues is null. - - - - Perform asynchronous update operation, using the control API and the - Rebind method. Please, make sure you have specified the correct - DataKeyNames for the . When the - asynchronous operation calls back, will fire - event. - - - - - Perform asynchronous update operation, using the - control API. Please make sure you have specified the correct - DataKeyNames for the - . When the asynchronous operation calls - back, will fire - event. The boolean - property defines if will after - the update. - - editedItem is - null. - - - - Perform asynchronous delete operation, using the - API the Rebinds the grid. Please - make sure you have specified the correct - for the - . When the asynchronous operation calls - back, will fire - event. - - - - - Perform delete operation, using the - API. Please make sure you have specified the correct - for the . - - - - - Places the RadListView in insert mode, allowing user to insert a new data-item - values. - - - - - Places the RadListView in insert mode, allowing user to insert a new data-item - values. - - - - - Places the RadListView in insert mode, allowing user to insert a new data-item values. - The InsertItem created will be bound to values found in defaultValues dictionary; - - values with which InsertItem will be populated - - - - Places the RadListView in insert mode, allowing user to insert a new data-item values. - The InsertItem created will be bound to values found in defaultValues dictionary; - - position at which the insertItem will be shown - values with which InsertItem will be populated - - - - Places the RadListView in insert mode, allowing user to insert a new data-item values. - The InsertItem created will be bound to the provided object; - - object to which InsertItem will be bound - - - - Places the RadListView in insert mode, allowing user to insert a new data-item values. - The InsertItem created will be bound to the provided object; - - position at which the insertItem will be shown - object to which InsertItem will be bound - - - - Performs asynchronous insert operation, using the API, then - Rebinds. When the asynchronous operation calls back, will fire - event. - - Insert item is available only when RadListView is in insert mode. - - - - Performs asynchronous insert operation, using the API, then - Rebinds. When the asynchronous operation calls back, will fire - event. - - insertItem is null. - - - container is null. - - -or- - propName is null or an empty string (""). - - - The object in container does not have the property specified by propName. - - - - InvalidOperationException. - - - - - - - - Gets or sets the ODataDataSource used for data binding. - - - - - Gets or sets a OData service DataModelID. - - The OData service DataModelID. - - - - Gets or sets the custom content for the root container in a - control. - - - - - Gets or sets the custom content for the data item in a - control. - - - - - Gets or sets the custom content for the alternating data item in a control. - - - - - Gets or sets the custom content for the item in edit mode. - - - An object that contains the custom content for the item in edit - mode. The default is null, which indicates that this property is not - set. - - - - - Gets or sets the custom content for an insert item in the - control. - - - - - Gets or sets the custom content for group container in the - control. - - - - - Gets or sets the user-defined content for the separator between - groups in a control. - - - - - Gets or sets the user-defined content for the empty item that is - rendered in a control when there are no more data items to - display in the last row of the current data page. - - - - - Gets or sets the ID for the item placeholder in a - control. - - - The ID for the item placeholder in a control. The - default is "itemPlaceholder". - - - - - Gets or sets the ID for the group placeholder in a control. - - - The ID for the group placeholder in a control. The - default is "groupPlaceholder". - - - - - Gets a collection of objects that represent - the data items of the current page of data in a control. - - - - - Gets or sets the custom content for the separator between the items - in a control. - - - - - Gets or sets the Template that will be displayed if there are no - records in the DataSource assigned. - - - - - Gets or sets the number of items to display per group in a - control. Default value is 1 - - value is out of range. - - - - Gets or sets an array of data-field names that will be used to - populate the - collection, when the - control is databinding. - - - - - Gets or sets comma delimited list of data-field Names. - - Comma delimited list of data-field Names. - - - - Gets collection of data key values. - - The collection of data key values. - - - - Gets a reference to the - object that allows - you to set the properties of the client-side behavior and - appearance in a Telerik control. - - - - - Gets a collection of sort expressions for - - - - - Gets a collection of filter expressions for - - - - - Gets or sets the value indicating if more than one datafield can - be sorted. The order is the same as the sequence of expressions - in . - - - - - Allows and disallows the no-sort state when changing sort order. - - Allows and disallows the no-sort state when changing sort order. - - - - Allow RadListView equal items not to be reordered when sorting. - Enables sorting result consistancy between 3.5, 4.0, 4.5 Framework - - - - - Gets or sets a value indicating the index of the currently active page in case - paging is enabled ( is - true). - - The index of the currently active page in case paging is enabled. - AllowPaging Property - value is out of range. - - - - Gets or sets a value indicating if the RadListView is - currently in insert mode. - - - true, if the RadListView is currently in - insert mode; otherwise, false. - - - The ItemInserted property indicates if the RadListView is - currently in insert mode. After setting it you should call the - method. - - - - - Gets or sets a value indicating if the - should override the default sorting - with its native sorting. - - - You can set this to true in case of - with - data without implemented sorting. - - - - Gets or sets if the custom sorting feature is enabled. - - - - Specify the maximum number of items that would appear in a page, - when paging is enabled by property. - Default value is 10. - - value is out of range. - - - - Gets the number of pages required to display the records of the data - source in a control. - - - - value is out of range. - - - - Gets or sets if the custom paging feature is enabled. - - - - - Raised when is created - - - - - Raised when is created - - - - - Raised when is data bound - - - - - Raised when a button in a control is clicked. - - - - Fires when a paging action has been performed. - - - Fires when has been changed. - - - Fires the SelectedIndexChanged event. - - - Fires when has been changed. - - - - Occurs when an insert operation is requested, but before the - control performs the insert. - - - - - Occurs when an insert operation is requested, after the - control has inserted the item in the data source. - - - - - Occurs when an edit operation is requested, but before the - item is put in edit mode - - - - - Occurs when a delete operation is requested, but before the - control deletes the item. - - - - - Occurs when a delete operation is requested, after the - control deletes the item. - - - - - Occurs when the Update command is fired from any - - - - - Occurs when the Update command is fired from any - - - - - Occurs when the Cancel command is fired from any - - - - - Raised when the is about to be bound and the data source must be assigned. - - - - - Occurs when a ListView item is dragged and dropped on an HTML element - - - - - Gets or sets a value indicating whether the automatic paging feature is - enabled. - - - - Gets or sets a value indicating whether Telerik - should retrieve all data and ignore server paging in - case of sorting. - - - true (default) if the retrieve all data feature - is enabled; otherwise, - false. - - - - - - Gets a reference to the - object that allows you to set the properties of the validate - operation in a control. - - - - - Gets or sets the custom content for the selected item in a - control. - - - - Gets a collection of indexes of the selected items. - - - - Gets or sets a value indicating whether you will be able to select multiple items - in Telerik . By default this property is set to - false. - - - true if you can have multiple dataItems selected at once. Otherwise, - false. The default is false. - - - - Gets a collection of the currently selected - RadListViewDataItems - Returns a of all - selected data items. - - - Gets the data key value of the selected item in a - control. - The data key value of the selected row in a - control. - - - - - - - - - Gets the edit indexes which represent the indexes - of the items that are currenly in edit mode. - - The edit indexes which represent the indexes - of the items that are currenly in edit mode. - - - - Gets a collection of all in edit mode. - - of all items that are in edit - mode. - - - - Gets or sets a value indicating whether RadListView will allow you - to have multiple items in edit mode. The default value is - false. - - - true if you can have more than one item in edit - mode. Otherwise, - false. The default value is false. - - - - - Gets or sets a value that indicates whether empty string values ("") - are automatically converted to null values when the data field is - updated in the data source. - - - - - Gets or sets the location of the - template when it is rendered as part of the - control. - - - - - Gets the insert item of a control. - - - - - Contains client-side databinding settings for - - - - - Gets or sets the ID of an HTML element in which will be rendered. - - - - - Gets or sets the ID of an HTML element in the LayoutTemplate that will - contain the data items in - when using client-side databinding. - - - - - Gets or sets the HTML template of the - container when using client-side databinding. - - - - - Gets or sets the HTML template of a - item when using client-side databinding. - - - - - Gets or sets the HTML template of a - alternating item when using client-side databinding. - - - - - Gets or sets the HTML template of a empty item when using client-side databinding. - - - - - Gets or sets the HTML template of a separator item - that is rendered between two bound items when using client-side databinding. - - - - - Gets or sets the HTML template of a selected item thwhen using client-side databinding. - - - - - Contains data service settings for the client-bound . - These allow the control to automatically connect to a data service. - - - - - Class containing data service settings for the client-bound . - These allow the control to automatically connect to a data service. - - - - - Gets or sets the base URL of the web service. - - - - - Gets or sets the table, method or entity path that gets appended to the base location - of the web service. The result URL is used for requesting the data. - - - - - Gets or sets the count method name that gets appended to the base location - of the web service. The result URL is used for requesting the total item count. - - - - - Gets or sets the HTTP method that will use - to access the data service URL. Default is POST. - - - - - Enables or disables client-side data caching in . Caching is disabled by default. - - - - - Gets or sets the name of the property in the result object returned by the data service - that contains the data objects will bind to. - - - - - Gets or sets the name of the property in the result object returned by the data service - that contains the total item count in the data source. - - - - - Gets or sets the name of the filter parameter that will be used with the data service. - - - - - Gets or sets the format in which the filter expressions will be sent to the web service. Default is List. - - - - - Gets or sets the name of the sort parameter that will be used with the data service. Default is List. - - - - - Gets or sets the format in which the sort expressions will be sent to the web service. Default is List. - - - - - Gets or sets the name of the start row index parameter that will be used with the data service. - - - - - Gets or sets the name of the maximum rows parameter that will be used with the data service. - - - - - Gets or sets the response type that is expected from the data service. - - - - - Enumerates the supported HTTP methods can use with a data service. - - - - - A POST request will be used - - - - - A GET request will be used - - - - - Enumerates the data request formats RadGrid uses when making data service requests. - - - - - Response will be returned in JSON (JavaScript Object Notation) format - - - - - Response will be returned in JSONP (JSON with padding) format - - - - - Enumerates the different formats parameters sent to data services can take. - - - - - Parameter will be converted to a JSON list - - - - - Parameter will be converted to an SQL-style string - - - - - Parameter will be converted to Dynamic LINQ-style string - - - - - Parameter will be converted to OData-style string - - - - - - - - This Class defines all the styles ussed in RadMenu. - - A navigation control used to display a menu in a web page. - - - The RadMenu control is used to display a list of menu items in a Web Forms - page. The RadMenu control supports the following features: - - - - Databinding that allows the control to be populated from various - datasources. - - - Programmatic access to the RadMenu object model - which allows dynamic creation of menus, populating with items and customizing the behavior - by various properties. - - - Customizable appearance through built-in or user-defined skins. - - -

Items

- - The RadMenu control is made up of tree of items represented - by objects. Items at the top level (level 0) are - called root items. An item that has a parent item is called a child item. All root - items are stored in the property of the RadMenu control. Child items are - stored in the Items property of their parent . - - - Each menu item has a Text and a Value property. - The value of the Text property is displayed in the RadMenu control, - while the Value property is used to store any additional data about the item, - such as data passed to the postback event associated with the item. When clicked, an item can - navigate to another Web page indicated by the NavigateUrl property. - -
- - This Class defines the Telerik RadMenu for ASP.NET AJAX is a flexible - navigation component for use in ASP.NET applications. - - - This partial Class describes the client properties and events in RadMenu. - -
- - - - - - - Defines properties that menu item containers (RadMenu, - RadMenuItem) should implement - - - - Gets the parent IRadMenuItemContainer. - - - Gets the collection of child items. - - A RadMenuItemCollection that represents the child - items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - - - Populates the RadMenu control from external XML file. - - - The newly added items will be appended after any existing ones. - - - The following example demonstrates how to populate RadMenu control - from XML file. - - private void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadMenu1.LoadContentFile("~/Menu/Examples/Menu.xml"); - } - } - - - Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load - If Not Page.IsPostBack Then - RadMenu1.LoadContentFile("~/Menu/Examples/Menu.xml") - End If - End Sub - - - The name of the XML file. - - - - Gets a linear list of all items in the RadMenu - control. - - - An IList<RadMenuItem> containing all items (from all hierarchy - levels). - - - Use the GetAllItems method to obtain a linear collection of all - items regardless their place in the hierarchy. - - - The following example demonstrates how to disable all items within a - RadMenu control. - - void Page_Load(object sender, EventArgs e) - { - foreach (RadMenuItem item in RadMenu1.GetAllItems()) - { - item.Enabled = false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - For Each childItem As RadMenuItem In RadMenu1.GetAllItems - childItem.Enabled = False - Next - End Sub - - - - - - Searches the RadMenu control for the first - RadMenuItem with a Text property equal to - the specified value. - - - A RadMenuItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadMenu control for the first - RadMenuItem with a Text property equal to - the specified value. - - - A RadMenuItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadMenu control for the first - RadMenuItem with a Value property equal - to the specified value. - - - A RadMenuItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadMenu control for the first - RadMenuItem with a Value property equal - to the specified value. - - - A RadMenuItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadMenu control for the first - Item with a NavigateUrl - property equal to the specified value. - - - A Item whose NavigateUrl - property is equal to the specified value. - - - The method returns the first Item matching the search criteria. If no Item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Returns the first RadMenuItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadMenu1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadMenuItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadMenu1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadMenuItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - This methods clears the selected item of the current RadMenu instance. - Useful when you need to clear item selection after postback. - - - - - Gets a list of all client-side changes (adding an item, removing an item, changing an item's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new item - removing existing item - clearing the children of an item or the control itself - changing a property of the item - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadMenuItem> operation in RadToolBar1.ClientChanges) - { - RadMenuItem item = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //An item has been inserted - operation.Item contains the inserted item - break; - case ClientOperationType.Remove: - //An item has been inserted - operation.Item contains the removed item. - //Keep in mind the item has been removed from the menu. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadMenuItem> update = operation as UpdateClientOperation<RadMenuItem> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is null then the root items have been removed. - break; - } - } - - - For Each operation As ClientOperation(Of RadMenuItem) In RadToolBar1.ClientChanges - Dim item As RadMenuItem = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'An item has been inserted - operation.Item contains the inserted item - Exit Select - Case ClientOperationType.Remove - 'An item has been inserted - operation.Item contains the removed item. - 'Keep in mind the item has been removed from the menu. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadMenuItem) = TryCast(operation, UpdateClientOperation(Of RadMenuItem)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - 'All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is Nothing then the root items have been removed. - Exist Select - End Select - Next - - - - - - Gets a object that contains the root items of the current RadMenu control. - - - A that contains the root items of the current RadMenu control. By default - the collection is empty (RadMenu has no children). - - - Use the Items property to access the root items of the RadMenu control. You can also use the Items property to - manage the root items - you can add, remove or modify items. - - - The following example demonstrates how to programmatically modify the properties of a root item. - - RadMenu1.Items[0].Text = "Example"; - RadMenu1.Items[0].NavigateUrl = "http://www.example.com"; - - - RadMenu1.Items(0).Text = "Example" - RadMenu1.Items(0).NavigateUrl = "http://www.example.com" - - - - - - Gets or sets the template for displaying the items in - RadMenu. - - - - An object which implements the ITemplate interface. - The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - The ItemTemplate property sets a template that will be used - for all menu items. - - To specify unique display for individual items use the - ItemTemplate property of the - RadMenuItem class. - - - - The following example demonstrates how to use the - ItemTemplate property to add a CheckBox for each item. - ASPX: - <telerik:RadMenu runat="server" ID="RadMenu1"> -
- <ItemTemplate> -
- <asp:CheckBox runat="server" - ID="CheckBox"></asp:CheckBox>
- <asp:Label runat="server" ID="Label1"
-
- Text='<%# DataBinder.Eval(Container, "Text") %>' - ></asp:Label> -
-
- </ItemTemplate> - <Items> -
- <telerik:RadMenuItem Text="News" /> - <telerik:RadMenuItem Text="Sports" /> - <telerik:RadMenuItem Text="Games" /> -
- </Items> -
- </telerik:RadMenu> -
-
- - Gets or sets the template for displaying the items in - RadMenu. - - - - - Gets or sets the template displayed when child items are being loaded. - - - The following example demonstrates how to use the LoadingStatusTemplate to display an image. - - <telerik:RadMenu runat="server" ID="RadMenu1"> - <LoadingStatusTemplate> - <asp:Image runat="server" ID="Image1" ImageUrl="~/Img/loading.gif" /> - </LoadingStatusTemplate> - </telerik:RadMenu> - - - - - Gets the settings for the animation played when an item opens. - - An AnnimationSettings that represents the - expand animation. - - - - Use the ExpandAnimation property to customize the expand - animation of RadMenu. You can specify the - Type and - the Duration of the expand animation. - To disable expand animation effects you should set the - Type to - AnimationType.None.
- To customize the collapse animation you can use the - CollapseAnimation property. -
-
- - The following example demonstrates how to set the ExpandAnimation - of RadMenu. - - ASPX: - - - <telerik:RadMenu ID="RadMenu1" runat="server"> - <ExpandAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadMenuItem Text="News" > - <Items> - <telerik:RadMenuItem Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadMenuItem Text="Google News" NavigateUrl="http://news.google.com" - /> - </Items> - </telerik:RadMenuItem> - <telerik:RadMenuItem Text="Sport" > - <Items> - <telerik:RadMenuItem Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadMenuItem Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Items> - </telerik:RadMenuItem> - </Items> - - - </telerik:RadMenu> - - - void Page_Load(object sender, EventArgs e) - { - RadMenu1.ExpandAnimation.Type = AnimationType.Linear; - RadMenu1.ExpandAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadMenu1.ExpandAnimation.Type = AnimationType.Linear - RadMenu1.ExpandAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a menu item starts to - open. - - - An integer specifying the timeout measured in milliseconds. The default value is - 100 milliseconds. - - - Use the ExpandDelay property to delay item opening. - - To customize the timeout prior to item closing use the - CollapseDelay property. - - - - The following example demonstrates how to specify a half second (500 - milliseconds) timeout prior to item opening: - ASPX: - <telerik:RadMenu ID="RadMenu1" runat="server" - ExpandDelay="500" /> - - - - Gets the settings for the animation played when an item closes. - - An AnnimationSettings that represents the - collapse animation. - - - - Use the CollapseAnimation property to customize the expand - animation of RadMenu. You can specify the - Type, - Duration and the - items are collapsed.
- To disable expand animation effects you should set the - Type to - AnimationType.None. To customize the expand animation you can - use the ExpandAnimation property. -
-
- - The following example demonstrates how to set the - CollapseAnimation of RadMenu. - - ASPX: - - - <telerik:RadMenu ID="RadMenu1" runat="server"> - <CollapseAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadMenuItem Text="News" > - <Items> - <telerik:RadMenuItem Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadMenuItem Text="Google News" NavigateUrl="http://news.google.com" - /> - </Items> - </telerik:RadMenuItem> - <telerik:RadMenuItem Text="Sport" > - <Items> - <telerik:RadMenuItem Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadMenuItem Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Items> - </telerik:RadMenuItem> - </Items> - - - </telerik:RadMenu> - - - - - - - void Page_Load(object sender, EventArgs e) - { - RadMenu1.CollapseAnimation.Type = AnimationType.Linear; - RadMenu1.CollapseAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadMenu1.CollapseAnimation.Type = AnimationType.Linear - RadMenu1.CollapseAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a menu item starts to - close. - - - An integer specifying the timeout measured in milliseconds. The default value is - 500 (half a second). - - - Use the CollapseDelay property to delay item closing. To - cause immediate item closing set this property to 0 (zero). - - To customize the timeout prior to item closing use the - ExpandDelay property. - - - - The following example demonstrates how to specify one second (1000 - milliseconds) timeout prior to item closing: - ASPX: - <telerik:RadMenu ID="RadMenu1" runat="server" - ClosingDelay="1000" /> - - - - Gets or sets a value indicating the way top level items will flow. - - One of the ItemFlow values. The default value for top - level items is Horizontal. - - - Use the Flow property to customize the way top level items are - displayed. If set to Horizontal items are positioned one after - another. Vertical causes the items to flow one below the other. - - - The following example demonstrates how to make a vertical menu. - ASPX: - <telerik:RadMenu ID="RadMenu1" runat="server" - Flow="Vertical" /> - - - - Specifies the default settings for child item behavior. - - An instance of the MenuItemGroupSettings - class. - - - You can customize the following settings - - item flow - expand direction - horizontal offset from the parent item - vertical offset from the parent item - width - height - - - For more information check - MenuItemGroupSettings. - - - - - - Gets or sets a value indicating if an automatic scroll is applied if the groups are larger then the screen height. - - - - - Gets or sets a value indicating if scroll is enabled for the root items. - Width must be set for horizontal root group, Height for vertical one. - - - - - Gets or sets a value indicating if the currently selected item will be tracked and highlighted. - - - - - The minimum available height that is needed to enable the auto-scroll. - - - Enabling the auto-scroll when there is very little available space can - lead to a situation where only the scroll arrows are visible. -
- If the available space is lower than the specified value, the menu will - attempt to screen boundary detection first (if enabled). -
-
- - - The minimum available width that is needed to enable the auto-scroll. - - - The minimum width measured in pixels. The default value is 50 pixels. - - - - Enabling the auto-scroll when there is very little available space can - lead to a situation where only the scroll arrows are visible. - - - If the available space is lower than the specified value, the menu will - attempt to screen boundary detection first (if enabled). - - - - - - Gets or sets a value indicating whether the screen boundary detection will be applied when menu items are expanded. - - - By default RadMenu will check if there is enough space to open a menu item. If there isn't the expand direction of the - item will be inverted - Left to Right, Bottom to Top and vice versa. - - - - - Gets or sets a value indicating whether root items should open on mouse - click. - - - True if the root items open on mouse click; otherwise - false. The default value is false. - - - Use the ClickToOpen property to customize the way root menu - items are opened. By default menu items are opened on mouse hovering. - - - - - Gets the settings for the web service used to populate items - ExpandMode set to - MenuItemExpandMode.WebService. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both Path and - Method - to fully describe the service. - - - You can use the LoadingStatusTemplate - property to create a loading template. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public RadMenuItemData[] WebServiceMethodName(RadMenuItemData item, object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - When set to true, the items populated through Load On Demand are persisted on the server. - - - - - Gets or sets a value indicating if an overlay should be rendered (only in Internet Explorer). - - - The overlay is an iframe element that is used to hide select and other elements from overlapping the menu. - - - - - Gets a collection of objects that define the relationship - between a data item and the menu item it is binding to. - - - A that represents the relationship between a data item and the menu item it is binding to. - - - - - Gets or sets the maximum number of levels to bind to the RadMenu control. - - - The maximum number of levels to bind to the RadMenu control. The default is -1, - which binds all the levels in the data source to the control. - - - When binding the RadMenu control to a data source, use the MaxDataBindDepth - property to limit the number of levels to bind to the control. For example, setting this property to 2 binds only - the root menu items and their immediate children. All remaining records in the data source are ignored. - - - - - Gets or sets the URL of the page to post to from the current page when a menu item is clicked. - - - The URL of the Web page to post to from the current page when a menu item is clicked. - The default value is an empty string (""), which causes the page to post back to itself. - - - - - Gets a RadMenuItem object that represents the selected item in the RadMenu - control. - - - The user can select a item by clicking on it. - Use the SelectedItem property to determine which node is - selected in the RadMenu control. - - An item cannot be selected when it's configured to navigate to a given location. - - - - - Gets the Value of the selected item. - - - The Value of the selected item. - If there is no selected item returns empty string. - - - - - Gets or sets a value indicating whether child items should have rounded corners. - - - True if the child items should have rounded corners; otherwise - False. The default value is False. - - - - - Gets or sets a value indicating whether child items should have shadows. - - - True if the child items should have shadows; otherwise - False. The default value is False. - - - - - Gets or sets a value indicating whether the html encoding will be applied when the menu items are rendered. - - - By default RadMenu will not apply a html encoding when the menu items are rendered. - - - - - Gets or sets a value indicating whether item images should have sprite support. - - - True if the child items should have sprite support; otherwise - False. The default value is False. - - - - - Gets or sets a value indicating whether items images should be preloaded. - - - True if items images should be preloaded; otherwise - false. The default value is false. - - - - - Occurs on the server when an item in the RadMenu control is - created. - - - The ItemCreated event is raised every time a new item is - added. - The ItemCreated event is not related to data binding and you - cannot retrieve the DataItem of the item in the event - handler. - The ItemCreated event is often useful in scenarios where you want - to initialize all items - for example setting the ToolTip of each - RadMenuItem to be equal to the Text property. - - - The following example demonstrates how to use the ItemCreated - event to set the ToolTip property of each item. - - private void RadMenu1_ItemCreated(object sender, Telerik.WebControls.RadMenuItemEventArgs e) - { - e.Item.ToolTip = e.Item.Text; - } - - - Sub RadMenu1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.WebControls.RadMenuItemEventArgs) Handles RadMenu1.ItemCreated - e.Item.ToolTip = e.Item.Text - End Sub - - - - - Occurs before template is being applied to the menu item. - - The TemplateNeeded event is raised before a template is been applied on the menu item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for menu items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property the menu items. - - protected void RadMenu1_TemplateNeeded(object sender, Telerik.Web.UI.RadMenuEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Item); - } - } - } - - - Sub RadMenu1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMenuEventArgs) Handles RadMenu1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Item) - End If - End If - End Sub - - - - - - Occurs on the server when a menu item in the RadMenu - control is clicked. - - - - The menu will also postback if you navigate to a menu item - using the [menu item] key and then press [enter] on the menu item that is focused. The - instance of the clicked menu item is passed to the MenuItemClick event - handler - you can obtain a reference to it using the eventArgs.RadMenuItem property. - - - - - Occurs after a menu item is data bound. - - - The ItemDataBound event is raised for each menu item upon - databinding. You can retrieve the item being bound using the event arguments. - The DataItem associated with the item can be retrieved using - the DataItem property. - - The ItemDataBound event is often used in scenarios when - you want to perform additional mapping of fields from the DataItem - to their respective properties in the RadMenuItem class. - - - The following example demonstrates how to map fields from the data item to - item properties using the ItemDataBound - event. - - private void RadMenu1_ItemDataBound(object sender, Telerik.WebControls.RadMenuEventArgs e) - { - RadMenuItem item = e.RadMenuItem; - DataRowView dataRow = (DataRowView) e.Item.DataItem; - - item.ImageUrl = "image" + dataRow["ID"].ToString() + ".gif"; - item.NavigateUrl = dataRow["URL"].ToString(); - } - - - Sub RadMenu1_ItemDataBound(ByVal sender As Object, ByVal e As RadMenuEventArgs) Handles RadMenu1.ItemDataBound - Dim item As RadMenuItem = e.RadMenuItem - Dim dataRow As DataRowView = CType(e.Item.DataItem, DataRowView) - - item.ImageUrl = "image" + dataRow("ID").ToString() + ".gif" - item.NavigateUrl = dataRow("URL").ToString() - End Sub - - - - - - Gets or sets a value indicating the client-side event handler that is called when - the mouse moves over a menu item in the RadMenu control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientMouseOver - client-side event handler is called when the mouse moves over a - menu item. Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientMouseOver property. - -
- <script type="text/javascript">
- function onClientMouseOverHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script> -
-
- <telerik:RadMenu ID="RadMenu1"
- runat= "server"
- OnClientMouseOver="onClientMouseOverHandler">
- ....
- </telerik:RadMenu> -
-
-
-
- - - If specified, the OnClientMouseOut client-side event handler - is called when the mouse moves out of a menu item. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - - - Gets or sets a value indicating the client-side event handler that is called when - the mouse moves out of a menu item in the RadMenu control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientMouseOutHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat= "server"
- OnClientMouseOut="onClientMouseOutHandler">
- ....
- </telerik:RadMenu>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - a menu item gets focus. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemFocusHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemFocus="onClientItemFocusHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemFocus client-side event - handler is called when a menu item is selected using either the keyboard (the [TAB] - or arrow keys) or by clicking it. Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called - after an item loses focus. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientItemBlur client-side event handler - is called when a menu item loses focus as a result of the user pressing a key or - clicking elsewhere on the page. Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientItemBlurHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemBlur="onClientItemBlurHandler">
- ....
- </telerik:RadMenu>
-
-
- - - This event is similar to OnClientItemFocus but fires only on - mouse click. - If specified, the OnClientItemClicking client-side event - handler is called before a menu item is clicked upon. Two parameters are passed to - the handler: - - sender, the menu client object; - eventArgs with three properties, get_item() (the - instance of the menu item), get_cancel()/set_cancel() - indicating - if the event should be cancelled and get_domEvent (a reference to the browser event). - - The OnClientItemClicking event can be cancelled. To do so, - return False from the event handler. -
-
-
-
- - Gets or sets a value indicating the client-side event handler that is called when - a menu item is clicked. - - - <script type="text/javascript">
- function onClientItemClickingHandler(sender, eventArgs)
- {
- if (eventArgs.get_item().get_text() == "News")
- {
- return false; - }
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemClicking="onClientItemClickingHandler">
- ....
- </telerik:RadMenu>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - -
- - - Gets or sets a value indicating the client-side event handler that is called - after a menu item is clicked. - - - This event is similar to OnClientItemFocus but fires only on - mouse click. - If specified, the OnClientItemClicked client-side event - handler is called after a menu item is clicked upon. Two parameters are passed to - the handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientItemClickedHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemClicked="onClientItemClickedHandler">
- ....
- </telerik:RadMenu> -
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items begin to open. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientItemOpening client-side event handler - is called when a group of child items opens. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with three properties, get_item() (the - instance of the menu item), get_cancel()/set_cancel() - indicating - if the event should be cancelled and get_domEvent (a reference to the browser event). - - This event can be cancelled by calling eventArgs.set_cancel(true). - - - <script type="text/javascript">
- function onClientItemOpeningHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemOpening="onClientItemOpeningHandler">
- ....
- </telerik:RadMenu>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items opens. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientItemOpened client-side event handler - is called when a group of child items opens. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientItemOpenedHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemOpen="onClientItemOpenedHandler">
- ....
- </telerik:RadMenu>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items is closing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemClosingHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemClose="onClientItemClosingHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemClosing client-side event - handler is called when a group of child items closes. Two parameters are passed to - the handler: - - sender, the menu client object; - eventArgs with three properties, get_item() (the - instance of the menu item), get_cancel()/set_cancel() - indicating - if the event should be cancelled and get_domEvent (a reference to the browser event). - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items closes. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemClosedHandler(sender, eventArgs)
- {
- alert(eventArgs.get_item().get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemClose="onClientItemClosedHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemClosed client-side event - handler is called when a group of child items closes. Two parameters are passed to - the handler: - - sender, the menu client object; - eventArgs with two properties, get_item() (the - instance of the menu item) and get_domEvent (a reference to the browser event). - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a menu item children are about to be populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemPopulatingHandler(sender, eventArgs)
- {
- var item = eventArgs.get_item();
- var context = eventArgs.get_context();
- context["CategoryID"] = item.get_value();
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemPopulating="onClientItemPopulatingHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemPopulating client-side event - handler is called when a menu item children are about to be populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with three properties: - - get_item(), the instance of the menu item. - get_context(), an user object that will be passed to the web service. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a menu item children were just populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemPopulatedHandler(sender, eventArgs)
- {
- var item = eventArgs.get_item();
- alert("Loading finished for " + item.get_text());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemPopulated="onClientItemPopulatedHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemPopulated client-side event - handler is called when a menu item children were just populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with one property: - - get_item(), the instance of the menu item. - - - - This event cannot be cancelled. - -
- - - Gets or sets the on OnClientMenuPopulating javascript function called before the children of a menu item are populated.. - - The OnClientMenuPopulating. - - - - Gets or sets the OnClientMenuPopulated- the javascript function called before the children of a menu item are populated. - - The OnClientMenuPopulated. - - - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the children of a menu item has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientItemPopulationFailedHandler(sender, eventArgs)
- {
- var item = eventArgs.get_item();
- var errorMessage = eventArgs.get_errorMessage();
-
- alert("Error: " + errorMessage);
- eventArgs.set_cancel(true);
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat="server"
- OnClientItemPopulationFailed="onClientItemPopulationFailedHandler">
- ....
- </telerik:RadMenu>
-
- - If specified, the OnClientItemPopulationFailed client-side event - handler is called when the operation to populate the children of a menu item has failed. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with two properties: - - get_item(), the instance of the menu item. - set_cancel(), set to true to suppress the default action (alert message). - - - - This event can be cancelled. - -
- - - Gets or sets the name of the JavaScript function called when the client template for an item is evaluated - - - - - If specified, the OnClienLoad client-side event handler is - called after the menu is fully initialized on the client. - A single parameter - the menu client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function onClientLoadHandler(sender)
- {
- alert(sender.get_id());
- }
- </script>
- <telerik:RadMenu ID="RadMenu1"
- runat= "server"
- OnClientLoad="onClientLoadHandler">
- ....
- </telerik:RadMenu>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadMenu client-side object is initialized. - -
- - - Will be serialized to the client, so it can render - the UL element with of the root group with the appropriate class. - - - - - This Class defiens the Client events in ODataDataSource. - - - - - Gets or sets the requesting event that is fired when a request to the server is about to be sent. - - The requesting. - - - - Gets or sets the RequestSucceeded event that is fired when a request to the server is started. - - The RequestSucceeded. - - - - Gets or sets the RequestFailed event that is fired when a request to the server is started. - - The RequestFailed. - - - - This abstract Class defienes the ExpressionBase and gets or sets the model id to whom this filters applies. - - - - - Gets or sets the model id to whom this filters applies - - - - - This Class defines SortEntryCollection that inherits - EntryCollectionBase of SortEntries. - - - - - This abstract Class defines EntryCollectionBase - collection that inherits List collection. - - - - - This Class is responsible for getting the sort - expression entries from the SortEntryCollection. - - - - - Gets the sort expression entries. - - The sort expression entries. - - - - This enum specifies the ODataSourceFilters functionality. - - - - - ODataSourceFilters is set to "Eq". - - Eq = 1 - - - - ODataSourceFilters is set to "Neq". - - Neq = 2 - - - - ODataSourceFilters is set to "Gt". - - Gt = 3 - - - - ODataSourceFilters is set to "Gte". - - Gte = 4 - - - - ODataSourceFilters is set to "Lt". - - Lt = 5 - - - - ODataSourceFilters is set to "Lte". - - Lte = 6 - - - - ODataSourceFilters is set to Contains filtering mode. - - Contains = 7 - - - - ODataSourceFilters is set to EndsWith filtering mode. - - EndsWith = 8 - - - - ODataSourceFilters is set to StartsWith filtering mode. - - StartsWith = 9 - - - - ODataSourceFilters is set to None. - - None - - - - This enum specifies the ODataSourceResponseType. - - - - - ODataSourceResponseType is set to "JSONP". - - JSONP = 0 - - - - ODataSourceResponseType is set to "XML". - - XML = 1 - - - - This enum specifies the ODataSourceOrder . - - - - - ODataSourceOrder is set to "Asc". - - Asc = 1 - - - - ODataSourceOrder is set to "Desc". - - Desc= 2 - - - - This Class gets or sets the filtering operator and - the value for the filtering operation. - - - - - This abstract Class gets or sets the field name for the operation. - - - - - Gets or sets the field name for the operation. - - - - - Gets or sets the filtering operator - - - - - Gets or sets the value for the filtering operation - - - - - This Class defines the FilterEntryCollection that inherits EntryCollectionBase. - - - - - This Class defines SortExpressionCollection that - inherits EntryCollectionBase of SortExpressions. - - - - - This class defines the FilterExpression that inherits ExpressionBase by - getting or settting the filter logic, AND or OR and getting the filter expression entries. - - - - - Gets or sets the filter logic, AND or OR. - - - - - Gets the filter expression entries. - - The filter expression entries. - - - - This Class defines FilterExpressionCollection that inherits - EntryCollectionBase of FilterExpressions. - - - - - This enum specifies if the ODataSourceFilterLogic uses "And or "Or" functionality. - - - - - ODataSourceFilterLogic is set to "And". - - And = 0 - - - - ODataSourceFilterLogic is set to "Or". - - Or = 1 - - - - This Class is responsible for gettting or setting the sorting direction. - - - - - Gets or sets the sorting direction - - - - - RadODataDataSource - - - This partial class defines RadODataDataSource- it is a client data source component that - allows querying of local and remote services. The purpose of the control is to allow user - to easily create data model for their applications. To facilitate the configuration of the - data model further, we implemented a specially designed wizard. Using it, you can visually - configure the data model. With the RadODataDataSource one can easily configure not only - one but several models and bind each of them to a different - control. It is also important to note that these controls should support such binding. - - - - - - - - - Registers the control with the ScriptManager - - - - - Gets a collection of script descriptors that represent ECMAScript (JavaScript) - client components. - - - An collection of - objects. - - - - - Gets a collection of objects - that define script resources that the control requires. - - - An collection of - objects. - - - - - Gets the web service to be used for populating items with ExpandMode set to WebService. - - The transport. - - - - Gets the client events. - - The client events. - - - - Gets the schema. - - The schema. - - - - Gets the filter expressions. - - The filter expressions. - - - - Gets the sort expressions. - - The sort expressions. - - - - Gets or sets whether server-side sorting is enabled. - - - - - Gets or sets whether server-side sorting is enabled. - - - - - Gets or sets whether server-side paging is enabled. - - - - - Gets or sets whether data caching is enabled. - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - - - - - - This Class defines DataModelField that inherits EntryBase. - - - - - This Class defines the DataModel object. - - - - - Gets or sets the name of the collection that holds the model. - - - - - Gets or sets the id for the model. i.e. Products - - - - - Gets the Collection of fields for the model. - - The fields. - - - - Gets or sets the page size when paging is enabled - - - - - Gets or sets the queried page index when paging is enabled. - - - - - This Class defines the schema and wheather this instance has models. - - - - - Determines whether this instance has models. - - - - - - This Class Gets or sets the data service url for CRUD operation and - the type of the response. It could be JSON or - JSONP if the request is cross domain. - - - - - Gets or sets the data service url for CRUD operation. - - - - - Gets or sets the type of the response. It could be JSON - or JSONP, should the request is corss domain. - - - - - This Class defines Read that inherits CrudBase class. - - - - - This Class gets or sets the settings for the Read data service i.e. the one responsible - for obtaining the data from the server. - - - - - Gets or sets the settings for the Read data service i.e. the one responsible - for obtaining the data from the server. - - - - - Represents collection of GroupItems in the RadOrgChart control. - - - - - Initializes a new instance of the OrgChartGroupItemCollection class. - - - - - Add a new GroupItem to the OrgChartGroupItemCollection if the collection does not contains it. - - - This example shows how to add an Item into OrgChartGroupItemCollection - - - orgChart.Nodes[0].GroupItems.Add(new OrgChartGroupItem()); - - - orgChart.Nodes(0).GroupItems.Add(New OrgChartGroupItem()) - - - The added Item - - - - - Insert a new Item to the OrgChartGroupItemCollection on a specific position. - - - This example shows how to insert a GroupItem into OrgChartGroupItemCollection on first position - - - orgChart.Nodes[0].GroupItems.Insert(0, new OrgChartGroupItem()); - - - orgChart.Nodes(0).GroupItems.Insert(0, New OrgChartGroupItem()) - - - Integer position to insert at - - - The added GroupItem - - - - - Add an IEnumerable of GroupItems to the OrgChartGroupItemCollection. - - - IEnumerable ofGroupItems - - - - - Insert a collection of GroupItems to a specified index in the OrgChartGroupItemCollection. - - - Integer the position to insert at - - - IEnumerable of GroupItems - - - - - Remove a GroupItem from the OrgChartGroupItemCollection if the collection contains it. - - - This example shows how to remove an Item from OrgChartGroupItemCollection - - - var item = new OrgChartGroupItem(); - item.Text = "item1"; - orgChart.Nodes[0].GroupItems.Remove(item); - - - Dim item As New OrgChartGroupItem() - item.Text = "item1" - orgChart.Nodes(0).GroupItems.Remove(item) - - - The removed GroupItem - - - - - Remove all GroupItems in the collection matching the passed condition. - - - Predicate to match GroupItems - - - - - Remove the GroupItem on the specified position in the collection. - - - Integer index - - - - - Removes a range of GroupItems in the collection. - - - Integer index - the starting point of the range - - - Integer count - the size of the range - - - - - Remove all GroupItems in the collection. - - - - - Synchronize Renderer's properties during OnPreRender stage. - - - - - Gets or sets the node to which the items belong. - - - - - Gets the Renderer for OrgChartGroupItemCollection. - - - - - Represents collection of Nodes in the RadOrgChart control. - - - - - Initializes a new instance of the OrgChartNodeCollection class. - - - - - Add a new Node to the OrgChartNodeCollection if the collection does not contains it. - - - This example shows how to add a Node into OrgChartNodeCollection - - - orgChart.Nodes.Add(new OrgChartNode()); - - - orgChart.Nodes.Add(New OrgChartNode()) - - - The added Node - - - - - Insert a new Node to the OrgChartNodeCollection on a specific position. - - - This example shows how to insert a Node into OrgChartNodeCollection on first position - - - orgChart.Nodes.Insert(0, new OrgChartNode()); - - - orgChart.Nodes.Insert(0, New OrgChartNode()) - - - Integer position to insert at - - - The added Node - - - - - Add a collection of Nodes to the OrgChartNodeCollection. - - - IEnumerable of Nodes - - - - - Insert a collection of Nodes to a specified index in the OrgChartNodeCollection. - - - Integer the position to insert at - - - IEnumerable of Nodes - - - - - Remove a Node from the OrgChartNodeCollection if the collection contains it. - - - This example shows how to remove a Node from OrgChartNodeCollection - - - var node = new OrgChartNode(); - node.ColumnCount = 2; - orgChart.Nodes.Remove(node); - - - Dim node As New OrgChartNode() - node.ColumnCount = 2 - orgChart.Nodes.Remove(node) - - - The removed Node - - - - - Remove all Nodes that match the passed criteria from the collection. - - - Predicate to match Nodes for removal - - - - - Remove the Node on the specified position in the collection. - - - Integer index - - - - - Removes a range of Nodes in the collection. - - - Integer index - the starting point of the range - - - Integer count - the size of the range - - - - - Remove all Nodes in the collection. - - - - - Synchronize Renderer's properties during OnPreRender stage. - - - - - Gets and sets OrgChartNodeCollection's parent container. - - - - - Check if the OrgChartNodeCollection is the root node collection for RadOrgChart control. - - - - - Gets the Renderer for OrgChartNodeCollection - - - - - For internal use - - - - - - - Represents an OrgChartGroupItem in the RadOrgChart control. - - - - - Initializes a new instance of the OrgChartGroupItem class. - - - - - Initializes a new instance of the OrgChartGroupItem class. - - OrgChart to which the item belongs. - - - - Although OrgChartGroupItem is not a Control inheritor, it provides a method to search controls in its renderer (OrgChartGroupItemRenderer). - - The id of the searched control - Control instance or null - - - - Synchronize Renderer's properties during OnPreRender stage. - - - - - Gets or sets the OrgChart to which the item belongs. - - - - - Gets or sets the item's image URL. - - The URL can be a full or relative path to an image. - - If the property is not set a default image will be rendered. - - - This example shows how set ImageURL - - - orgChart1.Nodes[0].GroupItems[0].ImageUrl = "Images/Copy.jpg"; - orgChart1.Nodes[0].GroupItems[0].ImageUrl = "http://sampleimages.com/sampleImage.jpg"; - - - orgChart1.Nodes(0).GroupItems(0).ImageUrl = "Images/Copy.jpg" - orgChart1.Nodes(0).GroupItems(0).ImageUrl = "http://sampleimages.com/sampleImage.jpg" - - - - - Gets or sets the item image's alternative text. - - - - - Gets or sets item's text. - - - The set text will be rendered on the item. - - - - - Gets the Renderer for OrgChartGroupItem. - - - - - Gets OrgChartRenderedFieldCollection for OrgChartGroupItem. - - - - - Gets or sets the Template for OrgChartGroupItem. - - When a template is set, it is applied only for the current item. - - - - Gets or sets the OrgChartNode to which the item belongs. - - - - - Gets the value of the data field ID of the currently bound GroupItem. - - The value is set in Group-Enabled binding. - - - - Gets or sets the CSS class of the GroupItem. - - The set CSS class is rendered additionally to the GroupItem. - - - - Gets or sets data source DataItem during data binding. - - - - - Gets or sets item's Children. - - - - - Represents an OrgChartNode in the RadOrgChart control. - - - - - Initializes a new instance of the OrgChartNode class. - - - - - Initializes a new instance of the OrgChartNode class. - - OrgChart to which the node belongs. - - - - Synchronize Renderer's properties during OnPreRender stage. - - - - - Gets or sets OrgChartNode's GroupItem collection. - - Collection of all GroupItems in the Node. - - - - Gets the Renderer for OrgChartNode. - - - - - Gets the Node collection containing the current Node. - - The collection containing the current Node. - - - - Gets Node's parent in the hierarchy (OrgChartNode/RadOrgChart). - - - - - Gets OrgChartRenderedFieldCollection for theNode. - - - - - Gets or sets Template for all contained GroupItems. - - When a template is set, it is applied for all items in the Node, which doesn't have a template set. - - - - Gets the depth level of the Node towards the RadOrgChart. - - When the Node is not added in RadOrgChart, the level is -1. - - - - Gets or sets the number of columns in the Node's visualization. - - Simply breaks the single-line presentation of the group in RadOrgChart on multiple lines. - - - - Gets the value of the data field ID of the currently bound Node. - - - - - Gets or sets the CSS class of the OrgChartNode. - - The set CSS class is rendered additionally to the Node. - - - - Gets or sets whether the Node to be collapsed/expand - - - The property takes effect if EnableCollapsing property of the RadOrgChart is set to true. - - - - - Gets or sets whether the GroupItems of the Node to be collapsed/expand - - - The property takes effect if EnableGroupCollapsing property of the RadOrgChart is set to true. - - - - - Gets a collection of the direct child Nodes of the current. - - - - - Gets or set whether the Node has nodes for load - - - Used to determine if the Node is the last and to render an expand/collapse arrow on it in web service binding - - - - - Represents an OrgChartRenderedField in the RadOrgChart control. - - - RenderedField is an extra text information about every Node or Item. They can be added either to the - Node or OrgChartGroupItem of the RadOrgChart, or to the both. - - - - - Gets or sets field name of the data item that populates the entity (Node/GroupItem). - - - - - Gets or sets description about custom field's text. - - - - - Gets or sets short description of the custom field that will appears in the Node or OrgChartGroupItem. - - - - - Gets the text which is to be rendered in the Node or the GroupItem. - - - - - Load nodes on demand - - - - - Loads Group - - - - - Load on Demand is disabled (default value). - - - - - Loads Nodes on Demand. - - - - - Loads Groups on Demand. - - - - - Loads Nodes and Groups on Demand. - - - - - For internal use - - - - - - - Represents an OrgChartGroupItemDataBoundEventArguments in the RadOrgChart control. - - - OrgChartGroupItemDataBoundEventArguments is an event argument of the OnGroupItemDataBound event handler. - - - - - Initializes a new instance of the OrgChartGroupItemDataBoundEventArguments class. - - - The OrgChartGroupItem which is bound. - - - - - Gets the OrgChartGroupItem which is created from a data source. - - - The item is added to it's parent-node's GroupItems Collection. - - - - - Represents an OrgChartNodeDataBoundEventArguments in the RadOrgChart control. - - - OrgChartNodeDataBoundEventArguments is an event argument of the OnNodeDataBound event handler. - - - - - Initializes a new instance of the OrgChartNodeDataBoundEventArguments class. - - The OrgChartNode which is bound. - - - - Gets the OrgChartNode which is created from a data source. - - - It is added to OrgChartNodeCollection and all of its OrgChartGroupItems are binded and inserted in its GroupItems collection. - - - - - This example shows how to set event handler for OnNodeDataBound event. - - - protected void Page_Load(object sender, EventArgs e) - { - RadOrgChart1.NodeDataBound += new OrgChartNodeDataBoundEventHandler(RadOrgChart1_NodeDataBound); - } - - void RadOrgChart1_NodeDataBound(object sender, OrgChartNodeDataBoundEventArguments e) - { - e.Node.RenderedFields.Add(new OrgChartRenderedField() { Text = "SampleFieldText" }); - } - - - Protected Sub RadOrgChart2_NodeDataBound(sender As Object, e As Telerik.Web.UI.OrgChartNodeDataBoundEventArguments) Handles RadOrgChart1.NodeDataBound - e.Node.RenderedFields.Add(New OrgChartRenderedField() With {.Text = "SampleFieldText"}) - End Sub - - - - - This example shows how to set event handler for OnGroupItemDataBound event. - - - protected void Page_Load(object sender, EventArgs e) - { - RadOrgChart1.GroupItemDataBound += new OrgChartGroupItemDataBoundEventHandler(RadOrgChart1_GroupItemDataBound); - } - - void RadOrgChart1_GroupItemDataBound(object sender, OrgChartGroupItemDataBoundEventArguments e) - { - e.Item.RenderedFields.Add(new OrgChartRenderedField() { Text = "SampleFieldText" }); - } - - - Protected Sub RadOrgChart2_GroupItemDataBound(sender As Object, e As Telerik.Web.UI.OrgChartGroupItemDataBoundEventArguments) Handles RadOrgChart1.GroupItemDataBound - e.Item.RenderedFields.Add(New OrgChartRenderedField() With {.Text = "SampleFieldText"}) - End Sub - - - - - Represents the GroupEnabledBinding settings in the RadOrgChart control. - - - - - Gets the NodeBindingSettings. - - - - - Gets the GroupItemBindingSettings. - - - - - Represents an GroupItemBindingSettings section in the RadOrgChart control. - - - RadOrgChart supports binding to hierarchical data including groups as logical entities. - - - - - Gets or sets the name of the data field which indicates the GroupItem's parent Node. - - - - - Gets or sets the name of the data field containing the GroupItem's ImageUrl. - - - - - Gets or sets the name of the data field containing the GroupItem's ImageAltText. - - - - - Gets or sets the name of the data field containing the GroupItem's Text. - - - - - Gets or sets an instance of GroupItem's data source. - - - - - Gets or sets the ID of the GroupItem's data source. - - - - - Gets or sets the name of the data field used to uniquely identify each row. - - - - - Represents an NodeBindingSettings section in the RadOrgChart control. - - - RadOrgChart supports binding to hierarchical data including groups as logical entities. - - - - - Gets or sets the name of the data field used to identify the parent Node. - - - - - Gets or sets an instance of Node's data source. - - - - - Gets or sets the ID of the Node's data source. - - - - - Gets or sets the name of the data field used to uniquely identify each row. - - - - - Gets or sets the data field holding the Collapsed property for the currently bound Node. - - - - - Gets or sets the data field holding the GroupCollapsed property for the currently bound Node. - - - - - For internal use - - - - - - - Represents all CSS classes that are rendered to the RadOrgChart. - - - - - RadOrgChart is a flexible tool for visualization of organizational structures and hierarchies. - - - - - Saves the client state data - - - - - - Gets a node by hierarchical index - - If the node does not exist the returned value is null. - - - - Returns all GroupItems in the RadOrgChart. - - Collection of OrgChartGroupItem - - - - Returns items by some criteria (lambda). - - Collection of OrgChartGroupItem - Lambda expression - - - - Returns items by some criteria (lambda). - - Collection of OrgChartGroupItem - Lambda expression - - - - Returns all Nodes in the RadOrgChart. - - - - - Returns nodes by some criteria (lambda). - - - - - Collapse all Nodes in the RadOrgChart - - - - - Collapse Nodes by criteria (lambda) - - - - - Expand all Nodes in the RadOrgChart - - - - - Expand Nodes by criteria (lambda) - - - - - Collapse all Groups in the RadOrgChart - - - - - Collapse Groups by criteria (lambda) - - - - - Expand all Groups in the RadOrgChart - - - - - Expand Groups by criteria (lambda) - - - - - Gets OrgChart serialized as XML. - - string (XML). - - - - Deserializes OrgChart from XML file. - - Relative or virtual path of the loaded Xml file. - - - - Deserializes OrgChart from XML string. - - string (XML) - - - - Gets or sets default image URL for every GroupItem image. - - - When GroupItem's image URL is not set a default image is rendered for every GroupItem. - - - - - Gets or sets whether to render a default image for every GroupItem. - - - - - Gets or sets the data field holding the unique identifier for a Node. - - - - - Gets or sets the data field holding the ID of the parent Node. - - - - - Gets or sets the data field holding an image URL for the currently bound GroupItem. - - - - - Gets or sets the data field holding the ImageAltText property for the currently bound GroupItem. - - - - - Gets or sets the data field holding the Collapsed property for the currently bound Node. - - - - - Gets or sets the data field holding the Text of the currently bound GroupItem. - - - - - Gets or sets GroupEnabledBinding settings for RadOrgChart. - - - - - Gets or sets the maximum depth of the RadOrgChart hierarchy which will be binded. - - - - - Gets RenderedFields settings. - - - - - Gets or sets template for all items that doesn't have template nor does their node. - - - - - Gets or sets the number of columns in all Node's visualization, except these that have their ColumnCount property set locally. - - - Simply breaks the single-line presentation of the Node (group) in RadOrgChart on multiple lines. - - - - - Gets or sets whether to enable drag and drop - - - - - Allows dragging of GroupItems (except in Simple Binding) - - - - - Gets or sets whether to enable collapsing and expanding of the Nodes - - - - - Gets or sets whether to enable collapsing and expanding the GroupItems of a Node. - - - The property takes effect if there is more than one item in a Node. In SimpleBinding is ignored. - - - - - Gets or sets whether to persist expand/collapse state after a postback. - - - - - Gets or sets whether to enable drill down functionality of the RadOrgChart. - - - - - Gets or Sets LoadOnDemand state - - - - - Gets OrgChart's child nodes. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartNodeCollection is about to be populated (for example by callback). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartNodeCollection is populated (for example by callback). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartNodeCollection populating failed (for example by callback). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartGroupItemCollection is about to be populated (for example by callback). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartGroupItemCollection is populated (for example by callback). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the OrgChartGroupItemCollection populating failed (for example by callback). - - - - - For internal use - - - - - - - Represents the OrgChartRenderedFieldsSettings section in the RadOrgChart control. - - - The set RenderedFields will apply for every - Node or GroupItem in the RadOrgChart. - - - - - Gets the RenderedFields collection for OrgChartNodes. - - - - - Gets the RenderedFields collection for OrgChartGroupItems. - - - - - Represents the renderer of not loaded item when web service binding is used. - - - - - Represents the renderer of OrgChartGroupItemCollection. - - - Renders OrgChartGroupItemCollection. - All renderers are attached to the control's tree during PreRender stage. - - - - - Gets or sets if the parent Node has more than one GroupItem. - - - - - Gets or sets if it is SimpleBinding. - - - - - Gets or sets if collapsing is enabled. - - - - - Gets or sets if group collapsing is enabled. - - - - - Gets or sets the Node collapsed state - - - Determines what CSSClass to render on the Expand/Collapse Node - - - - - Gets or sets the Group collapsed state - - - Determines what CSSClass to render on the Expand/Collapse Node - - - - - Gets or set whether the Node has nodes - - - Used to determine if the Node is the last and not to render an expand/collapse arrow on it - - - - - Gets or set whether the Node has nodes for load - - - Used to determine if the Node is the last and to render an expand/collapse arrow on it in web service binding - - - - - Gets or sets number of the GroupItems. - - - - - The default HtmlTextWriterTag is overrided to div. - - - The base HtmlTextWriterTag is span. - - - - - Represents the renderer of OrgChartGroupItem. - - - Renders OrgChartGroupItem. - All renderers are attached to the control's tree during PreRender stage. - - - - - Gets or sets if collapsing is enabled. - - - - - Gets or sets the Node collapsed state - - - Determines what CSSClass to render on the Expand/Collapse Node - - - - - Gets or set whether the Node has nodes - - - Used to determine if the Node is the last and not to render an expand/collapse arrow on it - - - - - Gets or set whether the Node has nodes for load - - - Used to determine if the Node is the last and to render an expand/collapse arrow on it in web service binding - - - - - The default HtmlTextWriterTag is overrided to li or div(depends on if the item's GroupItemCollection is a group) - - - The base HtmlTextWriterTag is span. - - - - - Represents the renderer of OrgChartNodeCollection. - - - Renders OrgChartNodeCollection. - All renderers are attached to the control's tree during PreRender stage. - - - - - Gets or sets depth level of the Node towards RadOrgChart. - - - - - The default HtmlTextWriterTag is overrided to ul. - - - The base HtmlTextWriterTag is span. - - - - - Represents the renderer of OrgChartNode. - - - Renders OrgChartNode. - All renderers are attached to the control's tree during PreRender stage. - - - - - Gets or set whether the Node has nodes for load - - - Used to determine if the Node is the last and to render an expand/collapse class on it in web service binding - - - - - The default HtmlTextWriterTag is overrided to li. - - - The base HtmlTextWriterTag is span. - - - - - - - - This partial Class describes the client properties and events in RadPanelBar. - - A navigation control used for building collapsible side-menu systems and Outlook-type panels. - - - The RadPanelBar control is used to display a list of items in a Web Forms - page and is often used control for building collapsible side-menu - interfaces. The RadPanelBar control supports the following features: - - - Databinding that allows the control to be populated from various - datasources - Programmatic access to the RadPanelBar object model - which allows to dynamic creation of panelbars, populate items, set - properties. - Customizable appearance through built-in or user-defined skins. - -

Items

- - The RadPanelBar control is made up of tree of items represented - by RadPanelItem objects. Items at the first level (level 0) are - called root items. A items that has a parent item is called a child item. All root - items are stored in the Items collection. Child items are - stored in a parent item's Items collection. - - - Each item has a Text and a Value property. - The value of the Text property is displayed in the RadPanelBar control, - while the Value property is used to store any additional data about the item, - such as data passed to the postback event associated with the item. When clicked, a item can - navigate to another Web page indicated by the NavigateUrl property. - -
- - Telerik RadPanelBar for ASP.NET Ajax is a flexible navigation component - for use in ASP.NET applications. The panel bar can act as a vertical menu, - or, by using templates, it can act as an entry form or tool bar. - -
- - - Defines properties that menu item containers (RadTreeView, - RadPanelItem) should implement - - - - Gets the parent IMenuItemContainer. - - - Gets the collection of child items. - - A RadPanelItemCollection that represents the child - items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - - - Initializes a new instance of the RadPanelBar class. - - - Use this constructor to create and initialize a new instance of the RadPanelBar - control. - - - The following example demonstrates how to programmatically create a RadPanelBar - control. - - void Page_Load(object sender, EventArgs e) - { - RadPanelBar RadPanelBar1 = new RadPanelBar(); - RadPanelBar1.ID = "RadPanelBar1"; - - if (!Page.IsPostBack) - { - //RadPanelBar persist its item in ViewState (if EnableViewState is true). - //Hence items should be created only on initial load. - - PadPanelItem sportItem= new PadPanelItem("Sport"); - RadPanelBar1.Items.Add(sportItem); - - PadPanelItem newsItem = new PadPanelItem("News"); - RadPanelBar1.Items.Add(newsItem); - } - - PlaceHolder1.Controls.Add(newsItem); - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - Dim RadPanelBar1 As RadPanelBar = New RadPanelBar() - RadPanelBar1.ID = "RadPanelBar1" - - If Not Page.IsPostBack Then - 'RadPanelBar persist its item in ViewState (if EnableViewState is true). - 'Hence items should be created only on initial load. - - Dim sportItem As PadPanelItem = New PadPanelItem("Sport") - RadPanelBar1.Items.Add(sportItem) - - Dim newsItem As PadPanelItem = New PadPanelItem("News") - RadPanelBar1.Items.Add(newsItem) - End If - - PlaceHolder1.Controls.Add(newsItem) - End Sub - - - - - - Populates the RadPanelBar control from external XML file. - - - The newly added items will be appended after any existing ones. - - - The following example demonstrates how to populate RadPanelBar control - from XML file. - - private void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadPanelBar1.LoadContentFile("~/RadPanelBar/Examples/panelbar.xml"); - } - } - - - Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load - If Not Page.IsPostBack Then - RadPanelBar1.LoadContentFile("~/RadPanelBar/Examples/panelbar.xml") - End If - End Sub - - - The name of the XML file. - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Text property equal to - the specified value. - - - A RadPanelItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Text property equal to - the specified value. - - - A RadPanelItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Value property equal - to the specified value. - - - A RadPanelItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Value property equal - to the specified value. - - - A RadPanelItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadPanelbar control for the first - Item with a NavigateUrl - property equal to the specified value. - - - A RadPanelItem whose NavigateUrl - property is equal to the specified value. - - - The method returns the first Item matching the search criteria. If no Item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Returns the first RadPanelItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadPanel1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadPanelItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadPanel1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadPanelItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Gets a linear list of all items in the RadPanelBar - control. - - - An IList<RadPanelBarItem> containing all items (from all hierarchy - levels). - - - Use the GetAllItems method to obtain a linear collection of all - items regardless their place in the hierarchy. - - - The following example demonstrates how to disable all items within a - RadPanelBar control. - - void Page_Load(object sender, EventArgs e) - { - foreach (RadPanelBarItem item in RadPanelBar1.GetAllItems()) - { - item.Enabled = false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - For Each childItem As RadPanelBarItem In RadPanelBar1.GetAllItems - childItem.Enabled = False - Next - End Sub - - - - - - This methods clears the selected items of the current RadPanelBar instance. Useful when you need to clear item selection after postback. - - - - - This methods collapses all expanded panel items - - - - - Raises the ItemClick event. - - - - - - Raises the ItemDataBound event. - - - - - - Raises the ItematCreated event. - - - - - - Gets a list of all client-side changes (adding an item, removing an item, changing an item's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new item - removing existing item - clearing the children of an item or the control itself - changing a property of the item - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadPanelItem> operation in RadToolBar1.ClientChanges) - { - RadPanelItem item = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //An item has been inserted - operation.Item contains the inserted item - break; - case ClientOperationType.Remove: - //An item has been inserted - operation.Item contains the removed item. - //Keep in mind the item has been removed from the panelbar. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadPanelItem> update = operation as UpdateClientOperation<RadPanelItem> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is null then the root items have been removed. - break; - } - } - - - For Each operation As ClientOperation(Of RadPanelItem) In RadToolBar1.ClientChanges - Dim item As RadPanelItem = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'An item has been inserted - operation.Item contains the inserted item - Exit Select - Case ClientOperationType.Remove - 'An item has been inserted - operation.Item contains the removed item. - 'Keep in mind the item has been removed from the panelbar. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadPanelItem) = TryCast(operation, UpdateClientOperation(Of RadPanelItem)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - 'All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is Nothing then the root items have been removed. - Exist Select - End Select - Next - - - - - - Gets a RadPanelItemCollection object that contains the root items of the current RadPanelBar control. - - - A RadPanelItemCollection that contains the root items of the current RadPanelBar control. By default - the collection is empty (RadPanelBar has no children). - - - Use the Items property to access the child items of RadPanelBar. You can also use the Items property to - manage the root items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of root items. - - RadPanelBar1.Items[0].Text = "Example"; - RadPanelBar1.Items[0].NavigateUrl = "http://www.example.com"; - - - RadPanelBar1.Items(0).Text = "Example" - RadPanelBar1.Items(0).NavigateUrl = "http://www.example.com" - - - - - Gets the selected panel item. - - Returns the panel item which is currently selected. If no item is selected - the SelectedItem property will - return null (Nothing in VB.NET). - - - - - Gets or sets the template for displaying the items in - RadPanelBar. - - - A ITemplate implemented object that contains the template - for displaying panel items. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - The ItemTemplate property sets a template that will be used - for all panel items. - - To specify unique display for individual items use the - ItemTemplate property of the - RadPanelItem class. - - - - The following example demonstrates how to use the - ItemTemplate property to add a CheckBox for each item. - ASPX: - <telerik:RadPanelBar runat="server" ID="RadPanelBar1"> -
- <ItemTemplate> -
- <asp:CheckBox runat="server" - ID="CheckBox"></asp:CheckBox>
- <asp:Label runat="server" ID="Label1"
-
- Text='<%# DataBinder.Eval(Container, "Text") %>' - ></asp:Label> -
-
- </ItemTemplate> - <Items> -
- <telerik:RadPanelItem Text="News" /> - <telerik:RadPanelItem Text="Sports" /> - <telerik:RadPanelItem Text="Games" /> -
- </Items> -
- </telerik:RadPanelBar> -
-
- - - Gets of sets a value indicating the behavior of RadPanelbar when an item is - expanded. - - - One of the PanelBarExpandMode Enumeration - values. The default value is MultipleExpandedItems. - - - Use the ExpandMode property to specify the way RadPanelbar - should behave after an item is expanded. The available options are: - - MultipleExpandedItems (default) - More than one item can - be expanded at a time. - SingleExpandedItem - Only one item can be expanded at a - time. Expanding another item collapses the previously expanded one. - FullExpandedItem - Only one item can be expanded at a - time. The expanded area occupies the entire height of the RadPanelbar. The - Height property should be set in order - RadPanelbar to operate correctly in this mode. - - - - - - Gets or sets a value indicating whether all items can be collapsed. - This allows all the items to be collapsed even if the panelbar's ExpandMode is set to SingleExpandedItem or FullExpandedItem mode. - - - - - Gets or sets the URL of the page to post to from the current page when an item - from the panel is clicked. - - - The URL of the Web page to post to from the current page when an item from the - panel control is clicked. The default value is an empty string (""), which causes - the page to post back to itself. - - - - - Gets the data bindings for panel items in the panelbar. - - The data bindings. - - - - Gets or sets the maximum number of levels to bind to the RadPanelBar control. - - - The maximum number of levels to bind to the RadPanelBar control. The default is -1, which binds all the levels in the data source to the control. - - - When binding the RadPanelBar control to a data source, use the MaxDataBindDepth - property to limit the number of levels to bind to the control. For example, setting this property to 2 binds only - the root panel items and their immediate children. All remaining records in the data source are ignored. - - - - - Gets or sets a value indicating whether the control would persists its state - between pages (expanded and selected items). - - - true if the control would persist its state; - false otherwise. The default value is false. - - - Use the PersistStateInCookie property to make - RadPanelbar persist its state between pages. This feature requires - browser cookies to be enabled. Also the ClientID and - ID properties of the RadPanelbar control must be - the same in all pages accessible via the control (and containing it). - Page1.aspx: - <radP:RadPanelbar ID="RadPanelbar1" > ... - </radP:RadPanelbar> - Page2.aspx - <radP:RadPanelbar ID="RadPanelbar1" > ... - </radP:RadPanelbar> - - - - - Specifies the name of the cookie which should be used when PersistStateInCookie is set to true. - - - If this property is not set the ClientID property will be used as the name of the cookie. - - - - Gets the settings for the animation played when an item opens. - - An AnnimationSettings that represents the - expand animation. - - - - Use the ExpandAnimation property to customize the expand - animation of RadPanelBar. You can specify the - Type, - Duration and the - To disable expand animation effects you should set the - Type to - AnimationType.None.
- To customize the collapse animation you can use the - CollapseAnimation property. -
-
- - The following example demonstrates how to set the ExpandAnimation - of RadPanelBar. - - ASPX: - - - <telerik:RadPanelBar ID="RadPanelBar1" runat="server"> - <ExpandAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadPanelBarItem Text="News" > - <Items> - <telerik:RadPanelBarItem Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadPanelBarItem Text="Google News" NavigateUrl="http://news.google.com" - /> - </Items> - </telerik:RadPanelBarItem> - <telerik:RadPanelBarItem Text="Sport" > - <Items> - <telerik:RadPanelBarItem Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadPanelBarItem Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Items> - </telerik:RadPanelBarItem> - </Items> - - - </telerik:RadPanelBar> - - - void Page_Load(object sender, EventArgs e) - { - RadPanelBar1.ExpandAnimation.Type = AnimationType.Linear; - RadPanelBar1.ExpandAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadPanelBar1.ExpandAnimation.Type = AnimationType.Linear - RadPanelBar1.ExpandAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a panel item starts to - open. - - - An integer specifying the timeout measured in milliseconds. The default value is - 0 milliseconds. - - - Use the ExpandDelay property to delay item opening. - - To customize the timeout prior to item closing use the - CollapseDelay property. - - - - The following example demonstrates how to specify a half second (500 - milliseconds) timeout prior to item opening: - ASPX: - <telerik:RadPanelBar ID="RadPanelBar1" runat="server" - ExpandDelay="500" /> - - - - Gets the settings for the animation played when an item closes. - - An AnnimationSettings that represents the - collapse animation. - - - - Use the CollapseAnimation property to customize the expand - animation of RadPanelBar. You can specify the - Type, - Duration and the - items are collapsed.
- To disable expand animation effects you should set the - Type to - AnimationType.None. To customize the expand animation you can - use the ExpandAnimation property. -
-
- - The following example demonstrates how to set the - CollapseAnimation of RadPanelBar. - - ASPX: - - - <telerik:RadPanelBar ID="RadPanelBar1" runat="server"> - <CollapseAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadPanelBarItem Text="News" > - <Items> - <telerik:RadPanelBarItem Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadPanelBarItem Text="Google News" NavigateUrl="http://news.google.com" - /> - </Items> - </telerik:RadPanelBarItem> - <telerik:RadPanelBarItem Text="Sport" > - <Items> - <telerik:RadPanelBarItem Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadPanelBarItem Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Items> - </telerik:RadPanelBarItem> - </Items> - - - </telerik:RadPanelBar> - - - - - - - void Page_Load(object sender, EventArgs e) - { - RadPanelBar1.CollapseAnimation.Type = AnimationType.Linear; - RadPanelBar1.CollapseAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadPanelBar1.CollapseAnimation.Type = AnimationType.Linear - RadPanelBar1.CollapseAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets a value indicating the timeout after which a panel item starts to - close. - - - An integer specifying the timeout measured in milliseconds. The default value is - 0 milliseconds. - - - - To customize the timeout prior to item closing use the - ExpandDelay property. - - - - The following example demonstrates how to specify one second (1000 - milliseconds) timeout prior to item closing: - ASPX: - <telerik:RadPanelBar ID="RadPanelBar1" runat="server" - CollapseDelay="1000" /> - - - - - Gets or sets a value indicating whether RadPanelBar should HTML encode the text of its items. - - - true if the text should be encoded; otherwise, false. The default value is - false. - - - - - Occurs on the server when an item in the RadPanelBar control is - created. - - - The ItemCreated event is raised every time a new item is - added. - The ItemCreated event is not related to data binding and you - cannot retrieve the DataItem of the item in the event - handler. - The ItemCreated event is often useful in scenarios where you want - to initialize all items - for example setting the ToolTip of each - RadPanelBarItem to be equal to the Text property. - - - The following example demonstrates how to use the ItemCreated - event to set the ToolTip property of each item. - - private void RadPanelBar1_ItemCreated(object sender, Telerik.WebControls.RadPanelBarItemEventArgs e) - { - e.Item.ToolTip = e.Item.Text; - } - - - Sub RadPanelBar1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.WebControls.RadPanelBarItemEventArgs) Handles RadPanelBar1.ItemCreated - e.Item.ToolTip = e.Item.Text - End Sub - - - - - Occurs before template is being applied to the panel item. - - The TemplateNeeded event is raised before a template is been applied on the panel item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the panel items. - - protected void RadPanelBar1_TemplateNeeded(object sender, Telerik.Web.UI.RadPanelBarEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - e.Item.ItemTemplate = textBoxTemplate; - } - } - } - - - Sub RadPanelBar1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadPanelBarEventArgs) Handles RadPanelBar1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - e.Item.ItemTemplate = textBoxTemplate - End If - End If - End Sub - - - - - - Occurs on the server when a panel item in the RadPanelBar - control is clicked. - - - - The panel will also postback if you navigate to a panel item - using the [panel item] key and then press [enter] on the panel item that is focused. The - instance of the clicked panel item is passed to the ItemClick event - handler - you can obtain a reference to it using the eventArgs.RadPanelBarItem property. - - - - - Occurs after a panel item is data bound. - - - The ItemDataBound event is raised for each panel item upon - databinding. You can retrieve the item being bound using the event arguments. - The DataItem associated with the item can be retrieved using - the DataItem property. - - The ItemDataBound event is often used in scenarios when - you want to perform additional mapping of fields from the DataItem - to their respective properties in the RadPanelBarItem class. - - - The following example demonstrates how to map fields from the data item to - RadPanelItem properties using the ItemDataBound - event. - - private void RadPanelBar1_ItemDataBound(object sender, Telerik.WebControls.RadPanelBarEventArgs e) - { - RadPanelBarItem item = e.RadPanelBarItem; - DataRowView dataRow = (DataRowView) e.Item.DataItem; - - item.ImageUrl = "image" + dataRow["ID"].ToString() + ".gif"; - item.NavigateUrl = dataRow["URL"].ToString(); - } - - - Sub RadPanelBar1_ItemDataBound(ByVal sender As Object, ByVal e As RadPanelBarEventArgs) Handles RadPanelBar1.ItemDataBound - Dim item As RadPanelBarItem = e.RadPanelBarItem - Dim dataRow As DataRowView = CType(e.Item.DataItem, DataRowView) - - item.ImageUrl = "image" + dataRow("ID").ToString() + ".gif" - item.NavigateUrl = dataRow("URL").ToString() - End Sub - - - - - - Gets or sets a value indicating the client-side event handler that is called - before the browser context panel shows (after right-clicking an item). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientContextMenu property to specify a JavaScript - function that will be executed before the context menu shows after right clicking an - item. - Two parameters are passed to the handler - - sender (the client-side RadPanelbar object) - - eventArgs with two properties -
    -
  • Item - the instance of the selected item
  • -
  • EventObject - the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientContextpanel property. - - <script language="javascript">
- function OnContextpanelHandler(sender, eventArgs)
- {
- var panelbar = sender;
- var item = eventArgs.Item;
-
- alert("You have right-clicked the " + item.Text + " item in the " + panelbar.ID + - "panelbar.");
- }
- </script>
- <radP:RadPanelbar id="RadPanelbar1" runat="server" - OnClientContextpanel="OnContextpanelHandler">
- <Items>
- <radP:RadPanelItem Text="Personal Details"></radP:RadPanelItem>
- <radP:RadPanelItem Text="Education"></radP:RadPanelItem>
- <radP:RadPanelItem Text="Computing Skills"></radP:RadPanelItem>
- </Items>
- </radP:RadPanelbar>
-
-
-
- - - This event is similar to OnClientItemFocus but fires only on - mouse click. - If specified, the OnClientItemClicking client-side event - handler is called before a panel item is clicked upon. Two parameters are passed to - the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - The OnClientItemClicking event can be cancelled. To do so, - return False from the event handler. -
-
-
-
- - Gets or sets a value indicating the client-side event handler that is called when - a panel item is clicked. - - - <script type="text/javascript">
- function OnClientItemClickingHandler(sender, eventArgs)
- {
- if (eventArgs.Item.Text == "News")
- {
- return false; - }
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemClicking="OnClientItemClickingHandler">
- ....
- </radP:RadPanelbar>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - -
- - - Gets or sets a value indicating the client-side event handler that is called - after a panel item is clicked. - - - This event is similar to OnClientItemFocus but fires only on - mouse click. - If specified, the OnClientItemClicked client-side event - handler is called after a panel item is clicked upon. Two parameters are passed to - the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function OnClientItemClickedHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemClicked="OnClientItemClickedHandler">
- ....
- </radP:RadPanelbar> -
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a panel item gets focus. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function OnClientItemFocusHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemFocus="OnClientItemFocusHandler">
- ....
- </radP:RadPanelbar>
-
- - If specified, the OnClientItemFocus client-side event - handler is called when a panel item is selected using either the keyboard (the - [TAB] or arrow keys) or by clicking it. Two parameters are passed to the - handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called - after an item loses focus. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientItemBlur client-side event handler - is called when a panel item loses focus as a result of the user pressing a key or - clicking elsewhere on the page. Two parameters are passed to the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function OnClientItemBlurHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemBlur="OnClientItemBlurHandler">
- ....
- </radP:RadPanelbar>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items expands. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientItemOpen client-side event handler - is called when a group of child items opens. Two parameters are passed to the - handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - - - <script type="text/javascript">
- function OnClientItemExpandHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemExpand="OnClientItemExpandHandler">
- ....
- </radP:RadPanelbar>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - a group of child items collapses. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function OnClientItemCollapseHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat="server"
- OnClientItemCollapse="OnClientItemCollapseHandler">
- ....
- </radP:RadPanelbar>
-
- - If specified, the OnClientItemClose client-side event - handler is called when a group of child items closes. Two parameters are passed to - the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - -
- - - Gets or sets the name of the JavaScript function called when an item's expand/collapse animation finishes - - - - - If specified, the OnClienLoad client-side event handler is - called after the panelbar is fully initialized on the client. - A single parameter - the panelbar client object - is passed to the - handler. - This event cannot be cancelled. - - - <script type="text/javascript">
- function OnClientLoadHandler(sender)
- {
- alert(sender.ID);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat= "server"
- OnClientLoad= "OnClientLoadHandler">
- ....
- </radP:RadPanelbar>
-
- - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Gets or sets a value indicating the client-side event handler that is called - after the RadPanelbar client-side object is initialized. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the mouse moves over a panel item in the RadPanelbar control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the - OnClientMouseOverclient-side event handler is - called when the mouse moves over a panel item. Two parameters are passed to - the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientMouseOver property. - -
- <script type="text/javascript">
- function OnClientMouseOverHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script> -
-
- <radP:RadPanelbar ID="RadPanelbar1"
- runat= "server"
- OnClientMouseOver= "OnClientMouseOverHandler">
- ....
- </radP:RadPanelbar> -
-
-
-
- - - If specified, the OnClientMouseOut client-side event handler - is called when the mouse moves out of a panel item. Two parameters are passed to - the handler: - - sender, the panelbar client object; - eventArgs with one property, Item (the - instance of the panel item). - - This event cannot be cancelled. - - - Gets or sets a value indicating the client-side event handler that is called when - the mouse moves out of a panel item in the RadPanelbar control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function OnClientMouseOutHandler(sender, eventArgs)
- {
- alert(eventArgs.Item.Text);
- }
- </script>
- <radP:RadPanelbar ID="RadPanelbar1"
- runat= "server"
- OnClientMouseOut= "OnClientMouseOutHandler">
- ....
- </radP:RadPanelbar>
-
-
- - - Base StateStorageProvider class - - - - - StateStorageProvider interface that should be implemented by the different storage providers - - - - - Save the provided serialized state to the repository - - The key identifier for the stored state - State's serialized value that should be stored in the repository - - - - Retrieves stored state from the repository - - The key identifier for the stored state - State value corresponding to the provided key - - - - StateStorageProvider class utilizing HttpCookies as data repository - - - - - Gets or Sets the LifeSpan of the cookie - - - - - Base ControlState class that should be inherited by each control state class - - - - - Container for additional settings to be persisted with the state - - - - - Gets or sets the UniqueId representing the corresponding control's UniqueId property - - - - - Represents the aggregate fields zone of . - - - - - Represents the row fields zone of . - - - - - Represents the column fields zone of . - - - - - Represents the row fields zone of . - - - - - Represents the filter fields zone of . - - - - - Represents the row fields zone of . - - - - - Provides data for Command events including CancelCommand, SortCommand and FilterCommand. - - - - Override to fire the corresponding command. - - - Gets or sets a value, defining whether the command should be canceled. - - - - Fires the command stored in - property - - - - - The arguments passed when - fires AggregateChange event. - - - - - Fires the command stored in - property - - The source control which triggers the event - - - - Gets the owner pivot grid. - - The owner pivot grid. - - - - - - - - - - - - Summary description for PivotGridPageChangedEvent. - - - - - The event arguments passed when fires Expand\Collapse of a Rows or Columns group level. - - - - - Fires the command stored in - property - - - - - Gets the owner pivot grid. - - The owner pivot grid. - - - - Gets the group which will be expanded or collapsed. - - - - - Gets a value indicating if a expand or collapse operation will be performed. - - - - - Get a value indicating which level will be expanded or collapsed. - - - - - Enumeration determining a group type. Could be either Columns or Rows. - - - - - Enumeration determining if a operation is Expand or Collapse. - - - - - The event arguments passed when reorders field. - - - - - Fires the command stored in - property. - - The source control which triggers the event. - - - - Summary description for NeedDataSourceEvent. - - - - - Summary description for PivotGridPageChangedEvent. - - - - - The arguments passed when - fires ShowHideField event. - - - - - Fires the command stored in - property - - The source control which triggers the event - - - - Summary description for PivotGridSortEventargs. - - - - - The type of command which will be executed. - - - - - The class represents one command which is one client-side - operation when the - DeferLayoutUpdate is enabled. - - - - - Executes the command and depending on the Type - and Arguments properties it performs different operations. - - - - - Gets the owner pivot grid. - - The owner pivot grid. - - - - Gets the type of the command which determines - what operation will be made on - . - - The type of the command which determines - what operation will be made on - . - - - - Gets the arguments of the command which determines - the operation values. - - The arguments of the command which determines - the operation values. - - - - The arguments passed when - fires UpdateLayout event which is fired when - DeferLayoutUpdate - is enabled and then the is pressed. - - - - - Fires the command stored in - property - - The source control which triggers the event - - - - Gets the update layout commands which will be executed in order for the - to be updated depending on - the operations made client-side. - - The update layout commands which will be executed in order for the - to be updated depending on - the operations made client-side. - - - - The settings are associated with - and determines its behavior and enabled functionalities. - - - - - Gets or sets if the drag drop in the configuration panel - will be enabled. - - Enable\disables if the drag drop in the configuration panel - will be enabled. - - - - Gets or sets if a context menu will be displayed when - right clicking fields in the configuration panel. - - Enable\disables if a context menu will be displayed when - right clicking fields in the configuration panel. - - - - Gets or sets if the defered layout update is enabled which - determines if the changes will be applied after every operation or - only when clicking the Update button. - - The defered layout update determines if the changes will be applied after every operation or - only when clicking the Update button. - - - - Gets or set a value indicating where the ConfigurationPanel will be - places relative to the pivot grid. - - This default value for this property is Right. - - - - Gets or sets a value indicating whether the row header zone of the pivotgrid will be - shown. - - - - - ToolTip that would appear over the fields' checkboxes - - - - - Gets or sets a value indicating if the will use a - Load-on-demand to load its nodes. - - A value indicating if the will use a - Load-on-demand to load its nodes. - - - - Represents an aggregate error. - - - - - Represents a base type for aggregate description. - - - - - Specify the set of properties and methods that a AggregateDescription should implement. - - - - - Get the TotalFormat. - - - - - Gets a value indicating whether aggregate values should be interpreted as KPIs. - - - true if values will be interpreted as KPIs; otherwise, false. - - - - - - - - - - - Gets or sets the used to format the generated aggregate values. - - - - - - - - Describes the supported aggregate functions available for . - . - . - . - - - - - Creates an AggregateValue supported by that AggregateFunction. - - An . - - - - Gets a string format suitable to format the value of the s produced by that . - - The type of the data items. - A string format selected by other means. You may keep or discard it. - A string. - - - - - - - Converts instances of other types to and from instances. - - - - - - - - - - - - - - - - - Describes the supported aggregate functions available for . - - - - - Computes the sum. - - - - - Counts items. - - - - - Computes the average. - - - - - Computes the maximum. - - - - - Computes the minimum. - - - - - Computes the product. - - - - - Estimates the standard deviation of a population based on a sample. - - - - - Estimates the standard deviation of a population based on the entire population. - - - - - Estimates the variance based on a sample. - - - - - Estimates the variance based on the entire population. - - - - - Computes the average. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Counts items. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Computes the maximum. - - - - - Base class for generic that preserve the meaning of the underlying data. - It provides a basic functionality to select default string formats. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Computes the minimum. - - - - - - - - - - - - - - - - - - - - - - - - - - Computes the product. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes the aggregation of items using a property name as the criteria. - - - - - Base class that describes the aggregation of items using a property name as the criteria. - - - - - Returns AggregateValue instance based on the AggregateFunction value. - - Returns AggregateValue used for summary calculation. - - - - Returns the value that will be passed in the aggregate for given item. - - The item which value will be extracted. - Returns the value for given item. - - - - - - - - - - Makes the instance a clone (deep copy) of the specified . - - The object to clone. - Notes to Inheritors - If you derive from , you need to override this method to copy all properties. - It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties). - - - - - Gets a string format suitable to format the created by this . - - - - - - - - - Gets or sets a value identifying a property on the grouped items. - - - - - Gets or sets the aggregate function that will be used for summary calculation. - - - - - Gets or sets a general string format to use for this . - This format will be used if the or does not alter the meaning of the original data. - - - - - Gets or sets a that would provide a proper StringFormat for - or that alter the meaning of the original data. - . - . - - - - - Initializes a new instance of the class. - - - - - - - - - - - Base class for generic statistical . - It provides a basic functionality to select default string formats. - - - - - - - - Estimates the standard deviation of a population based on a sample. - - - - - - - - - - - - - - - - - - - - - - - - - - Estimates the standard deviation of a population based on the entire population. - - - - - - - - - - - - - - - - - - - - - - - - - - Computes the sum. - - - - - - - - - - - - - - - - - - - - - - - - - - Estimates the variance based on a sample. - - - - - - - - - - - - - - - - - - - - - - - - - - Estimates the variance based on the entire population. - - - - - - - - - - - - - - - - - - - - - - - - - - Provides a way to choose a string format for a . - - - - - Select a StringFormat suitable to format the s provided for the and . - - The type of the data items. - The for which s a StringFormat is selected. - A string format. - - - - A base class that is used for all totals that compare a to other from the totals or the s sibling list. - - - - - Formats the aggregate values based on the values for its siblings identified by and . - - - - - A base class for all total formats. For internal use. Please refer to one of the or instead. - - - - - Gets a string format suitable to form the produced s by this . - - The type of the data items. - A string format selected by other means. You may keep or discard it. - A string. - - - - Gets a read only collection of the s for all siblings at the and . Based on the s the should be set. - - A read only list of the s for all siblings at the and . - The with the current pivot grouping results. - - - - - - - Gets the type of the variation for the groups deeper than the . - - The type. - - - - The axis for which siblings are compared. - - - - - The level at which siblings are compared. - - - - - - - - A that is used for all totals that compute a as a difference from other specified by . - - - - - A base class that is used for all totals that compute a as a difference from other from the totals or the s sibling list. - - - - - - - - - - - - - - Gets or sets the name of the used for comparison. - - - - - A that compute the difference for each TotalValue from its next sibling. - - - - - - - - A that compute the difference for each TotalValue from its previous sibling. - - - - - - - - A base class TotalComparers. One could be used with . - - - - - Compares the two s. The results should be as the result from . - - The first to compare. - The second to compare. - A signed integer that indicates the relative values of x and y, as shown: Value Meaning Less than zero - x is less than y. Zero - x equals y. Greater than zero - x is greater than y. - - - - A that computes the 'Index' for the pivot grouping values. The index is computed by the following formula: (aggregateValue * grandTotalValue) / (rowTotalValue * columnTotalValue). - - - - - Formats the aggregate value based on its own value and some relative values such as row/column subtotals or grand totals. - - - - - Formats the value located at the . The current value could be retrieved from the . - - The for the formatted value. - The current results in the pivot grouping. - The index of the aggregate description we are formatting value for. - The formatted value. - - - - - - - - - - - - - - - - - - - - - - - - - A base class that is used for all totals that compute a as a difference from other and computes the difference as percent from the previous difference. - - - - - A base class that is used for all totals that compute a as a difference from other and computes the difference as percent from the previous difference. - - - - - - - - - - - - - - Gets or sets the name of the used for comparison. - - - - - A base class for all 'percent-difference' s. - - - - - - - - A base class that calculate the percent of the difference for each of its previous sibling. - - - - - - - - A that formats each to show the percent of the group with = . - - - - - A base class for all that show 'percent-of'. - - - - - - - - - - - - - - - - - - - - Gets or sets the name which will be used to find a base value for comparison for all sibling groups. - - - - - A that is base class for all "percent of" formats. - - - - - - - - - - - - - - A that formats each to show the percent of the column total. - - - - - - - - - - - - - - A that formats each total as the percent of the grand total. - - - - - - - - - - - - - - - - - A that formats each to show the percent of the next sibling. - - - - - - - - A that formats each to show the percent of the previous sibling. - - - - - - - - A that formats each to show the percent of the row total. - - - - - - - - - - - - - - A that computes running totals and then computes the percent of these running totals from the grand total. - For example if you group by and use to on that groups the results will show how the values sum up in time. The values will show the percent of the so accumulated values from the grand total. - - - - - - - - - - - - - - A that rank totals by sorting the totals using the and then uses the indices of the s in the sorted list for . - - - - - - - - - - - - - - - - - - - - A used to rank the total values. - - - - - The comparer used to sort the s. - - - - - A that computes running totals. - For example if you group by and use to on that groups the results will show how the values sum up in time. - - - - - - - - - - - Specifies which sibling values should be grouped. - - - - - Totals that have equal names for them and their parent groups are considered siblings. - - - - - Totals that have equal names and are generated for the same are considered siblings. - - - - - Used to format an for a in a pivot grouping. - - - - - Gets the this is responsible for. - - - - - Gets or sets the that should replace the in the final result. - - - - - Gets and caches the value for from the this is generated for. - - - - - Represents an aggregate that computes the average of items. - - - - - - - - - - - - - - Represents an aggregate that computes the average of items. The sum used to compute the average is stored in a and the count in a . - - - - - - - - - - - - - - Represents an aggregate that counts items. - - - - - - - - - - - - - - Represents an aggregate that computes the maximum. - - - - - - - - - - - - - - Represents an aggregate that computes the maximum. The minimum value is stored in a . - - - - - - - - - - - - - - Represents an aggregate that computes the maximum. The minimum value is stored in a . - - - - - - - - - - - - - - Represents an aggregate that computes the minimum. - - - - - - - - - - - - - - Represents an aggregate that computes the minimum. The minimum value is stored in a . - - - - - - - - - - - - - - Represents an aggregate that computes the minimum. The minimum value is stored in a . - - - - - - - - - - - - - - Represents an aggregate that computes the product of items. - - - - - - - - - - - - - - Represents an aggregate that estimates the standard deviation of a population based on a sample. - - - - - Represents an abstract aggregate class helping in variance estimation. - - - - - - - - - - - - - - Represents an aggregate that estimates the standard deviation of a population based on the entire population. - - - - - - - - Represents an aggregate that computes the sum of items. - - - - - - - - - - - - - - Represents an aggregate that computes the sum of items. The sum is aggregated in a . - - - - - - - - - - - - - - Represents an aggregate that computes the sum of items. The sum is aggregated in a . - - - - - - - - - - - - - - Represents an aggregate that estimates the variance based on a sample. - - - - - Initializes a new instance of the class. - - - - - - - - Represents an aggregate that estimates the variance based on the entire population. - - - - - Initializes a new instance of the class. - - - - - - - - Base implementation of . - - - - - Provides data access for pivot grouping. - - - - - Force recalculation operation. - - - - - Block the calling thread until all calculations performed by calling method completes. - - - - - Enters a defer cycle that you can use to merge changes to the data provider and delay automatic refresh. - - An IDisposable object that you can use to dispose of the calling object. - - - - Creates and returns an aggregate description suitable for the supplied field description. - - A instance. - An instance. - - - - Creates and returns a group description suitable for the supplied field description. - - A instance. - An instance. - - - - Returns a filter description suitable for the supplied field description. - - A instance. - An instance. - - - - Returns a list of suitable functions for the supplied aggregate description. - - The . - A list of possible aggregate functions. - - - - Set the retrieved from to the . - - The . - The aggregate function. - - - - Occurs when the current operation has completed. - - - - - Occurs when description should be prepared for a specified field info. - - - - - Gets the status of this instance. - - - - - Gets the results from the last grouping. - - - - - Gets or sets the instance that is being used. - - - - - Gets the instance that provided information for all available properties of the data source. - - - The field information. - - - - - Gets or sets a value indicating where the aggregate groups should be positioned. - - - - - Gets or sets the position where groups for the aggregates should be placed. - - - - - Gets the state object that is provided to method. - - The object that will be passed to method. - - - - Gets or sets a property that indicates if changes to the grouping settings would trigger computations immediately when invalidated or on explicit . - - - - - Gets a value that indicates if there are pending changes since the last . - The value will be true after a change is applied. - The value will be false after an automatic or user triggered . - The value will be false during any work or download process so even if false may not be ready yet. - In that case you may check for additional information. - - - - - - - - - - - - - - - - - - - - Enters a defer cycle that you can use to merge changes to the provider and delay automatic refresh. - - An object that you can use to dispose of the calling object. - - - - Notify that changes were applied that would alter the pivot results. - Queues an automatic . - - - - - Recreates the . - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Called when FieldDescriptionsProvider is changed. - - - - - Creates an instance of for this . - - - - - Raises PropertyChanged event. - - - - - Creates and returns an aggregate description suitable for the supplied field description. - - A instance. - An instance. - - - - Creates and returns a group description suitable for the supplied field description. - - A instance. - An instance. - - - - Returns a filter description suitable for the supplied field description. - - A instance. - An instance. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value that indicates if changes to this will trigger automatic . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies description type. - - - - - Identifies a group description. - - - - - Identifies a filter description. - - - - - Identifies an aggregate description. - - - - - An status. - - - - - The provider is in uninitialized state. - - - - - The provider is initializing. - - - - - The provider is ready for data processing. - - - - - The provider is currently retrieving data. - - - - - The provider action was canceled. - - - - - The provider has failed. - - - - - Event data for the event of all types. - - - - - Initializes a new instance of the class. - - The old status. - The new status. - DataProvider results have changed if set to true. - Exception if available . - - - - Gets or sets the error. - - The error. - - - - Gets the old status. - - - The new status. - - - - - Gets the new status. - - - The new status. - - - - - Gets a value indicating whether the results of the data provider have changed. - - - true if results have changed; otherwise, false. - - - - - Represents an interface for controlling pivot settings like group descriptions, aggregate descriptions, etc. - - - - - Enters the in a new editing scope. - Use when applying multiple changes to the pivot settings. - - using(pivotSettings.BeginEdit()) - { - // Apply multiple changes to pivotSettings here. - } - - - An edit scope token that you must when you are done with the editing. - - - - An event that notifies some of the - , - , - , - , - - or has changed. - Notifications are raised even in scope. - - - - - Notifies when this or one of the children is changed. - - - - - Gets the pivot filter descriptions list. - - - - - Gets the pivot row group descriptions list. - - - - - Gets the pivot column group descriptions list. - - - - - Gets the pivot aggregate descriptions list. - - - - - Gets or sets the position where groups for the aggregates should be placed. - - - - - Gets or sets a value indicating where the aggregate groups should be positioned. - - - - - Provides a pivot grouping access to local source such as an IList of instances of user defined classes. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A list of that specified how the pivot items should be filtered. - - - - - A list of that specified how the pivot should be grouped by rows. - - - - - A list of that specified how the pivot should be grouped by columns. - - - - - A list of that specified how the pivot should be aggregated for the groups. - - - - - - - - - - - The item source for the grouping. - - - - - Description position and index map build based on two description snapshots. - - - - - SettingsNodeCollection with notification rerouting. - - - - - A Collection of items. Tunnels events from the items to the . - Does not raises on collection change. - - A class that inherits the . - - - - Initializes a new instance of the class. - - The parent . - - - - - - - - - - - - - - - - Notifies the Parent for a change. - - The that contains the event data. - - - - Gets the parent . - - - - - Provides data for the event. - - - - - Initializes a new instance of the class. - - The field info for which description should be prepared. - Default description instance. - Type of description that should be prepared. - - - - Gets the field info for which description should be prepared. - - - The field info. - - - - - Gets the type of the description that should be prepared. - - - The type of the description. - - - - - Gets or sets the description that will be passed to . - This property is initialized with the default description for the specified field info. - - - The description. - - - - - An read only list. - - Items type. - - - - Gets the count of items in this . - - - - - Get the item at position . - - The index. - The item. - - - - Represents a trace writer for RadPivotGrid-related information. - - - - - Writes a trace text. - - The text. - - - - Exposes RadPivotGrid-related trace infrastructure. - - - - - Sets a trace writer to be used for writing trace messages. - - The new writer. - - - - Trace writer that writes all trace messages to a string. - - - - - Initializes a new instance of the class. - - - - - - - - - - - Provides debug tracing support that is specifically targeted for applications that use Telerik pivot components. - - - - - Gets a trace source for data providers. - - - - - Represents a node in hierarchy. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Gets a string that can be used as an identifier of this instance. - - - The name. - - - - - Gets or sets the display name. - - The display name. - - - - Gets the children. - - The children. - - - - Value indicating whether this instance has child nodes. - - True, if there are child nodes. - - - - Gets or sets the role. - - The role. - - - - An role. - - - - - Dimension. - - - - - A measure item. - - - - - A folder in hierarchy. - - - - - Kpi. - - - - - Other. - - - - - Selectable. - - - - - None. - - - - - Gets the for the specified type. - - Field type. - - - - - Available roles for an . - - - - - This is best use as source for aggregate. - - - - - This is best use as source for aggregate. - - - - - This is best use for grouping in rows. - - - - - This is best use for grouping in columns. - - - - - This is best use for filtering. - - - - - This is best use for filtering. - - - - - A s provider. - - - - - Gets the s. - - The s. - - - - An that uses to identify a property. - - - - - Initializes a new instance of the class. - - The property descriptor. - - - - - - - - - - An that uses for property access. - - - - - Initializes a new instance of the class. - - The property info. - The property access. - - - - Initializes a new instance of the class. - - The property info. - - - - - - - - - - Gets the . - - - - - Gets the for property access. - - - - - Represents a node that is associated with instance. - - - - - Initializes a new instance of the class. - - The associated with this node. - The role. - - - - Initializes a new instance of the class. - - The associated with this node. - - - - - - - An implementation for source. - - - - - Initializes a new instance of the class. - - The table. - - - - - - - Interface used to provide for specific data source. - - - - - Gets a instance by name. - - Name of a description. - - - - - Gets the root node of the hierarchy of instances. - - - - - - An for source. - - - - - Initializes a new instance of the class. - - The source. - - - - - - - A base class for various implementations of . - - - - - Handles creation and lookup of instances. - - - - - Retrieves information about all available field descriptions. - This method does not block the calling thread. - - - - - Occurs when an asynchronous GetDescriptionsData operation completes. - - - - - Gets whether a GetDescriptionsData request is in progress. - - - - - Initializes a new instance of the class. - - - - - - - - Raise GetDescriptionsDataAsyncCompleted event. - - The event args used to invoke the event. - - - - - - - - - - An state. - - - - - The provider's initialization is pending. - - - - - The provider is initializing. - - - - - The provider has completed initialization. - - - - - Provides information about properties/fields of items that are used by a . - - - - - Initializes a new instance of the class. - - The root. - - - - - - - - - - Provides data for the event. - - - - - Initializes a new instance of the class. - - - - - Gets a value indicating which error occurred during an operation. - - The error. - - - - Gets the unique identifier for the asynchronous operation. - - Identifier. - - - - Provides information about available fields/properties. - - - - - An for a generic ItemsSource. - - - - - A base class for various FieldInfo classes presenting local sources. An implementation of . - - - - - Retrieves the DescriptionsData for data source. - - DescriptionsData instance. - - - - Gets the field description hierarchy. - - Collection of instances. - - - - - - - - - - - Gets the object which FieldDescriptions are generated. - - - - - Initializes a new instance of the class. - - - - - - - - Gets the for the itemsSource. - - The with all s for this provider. - - - - - - - A list of all possible filtering conditions used in . - - - - - checks if the compared value equals the comparison value. - - - - - checks if the compared value does not equals the comparison value. - - - - - checks if the compared value is greater than the comparison value. - - - - - checks if the compared value is greater than or equal the comparison value. - - - - - checks if the compared value is less than the comparison value. - - - - - checks if the compared value is less than or equal to the comparison value. - - - - - A list of all possible filtering conditions used in . - - - - - that checks if a value is within an interval. - - - - - Gets the that checks if a value is outside an interval. - - - - - Exposes a method that compares two objects. - - - - - Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. - - The first object to compare. - The second object to compare. - - A signed integer that indicates the relative values of x and y, as shown - in the following table.Value Meaning Less than zero x is less than y. Zero - x equals y. Greater than zero x is greater than y. - - - - - A list of all possible filtering conditions used in . - - - - - Items included in the will pass the condition. - - - - - Items that are not included in the will pass the condition. - - - - - Filter that checks if items are included/excluded from a set. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Gets or sets the filter condition. - - - - - Gets the set of items used for filtering. Setting this property will create a clone of the provided value. The setter is implemented to support deserialization. - - - - - A list of all possible filtering conditions used in . - - - - - that checks if a string begins with a specific pattern. - - - - - that checks if a string does not begin with a specific pattern. - - - - - that checks if a string ends with a specific pattern. - - - - - that checks if a string does not end with a specific pattern. - - - - - that checks if a string contains a specific pattern. - - - - - that checks if a string does not contain a specific pattern. - - - - - A class that filters based on text matching. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - Gets or sets the text pattern used in the comparison. - - - - - Gets or sets the condition used in the comparison. - - - - - Gets or set a value that indicates if the case of the strings should be ignored. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same and . - - - - - Initializes a new instance of the struct. - - The month which this DayGroup will represents. - The day which this DayGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same day group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same day group; otherwise, false. - - - - Gets the Day this represents. - - - - - Gets the Month this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The month. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same month group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same month group; otherwise, false. - - - - Gets the Month this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The quarter which this QuarterGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same quarter group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same quarter group; otherwise, false. - - - - Gets the Quarter this represents. - - - - - Used for values of s that are grouping by . - The contains the items with values with the same . - - - - - Initializes a new instance of the struct. - - The year which this YearGroup will represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same year group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same year group; otherwise, false. - - - - Gets the Year this represents. - - - - - Used for values to group items, provide well known groups, sort and filter the groups. - - - - - Base class used to group items, provide well known groups, sort and filter the groups for a based on the item's value. - - - - - Return a name for group that would contain the . - - The item to group. - The level of grouping for this . - A name for the group that would contain the . - - - - - - - - - - Makes the instance a clone (deep copy) of the specified . - - The object to clone. - Notes to Inheritors - If you derive from , you need to override this method to copy all properties. - It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties). - - - - - - - - - - - Gets or sets a value identifying a property on the grouped items. - - - - - Initializes a new instance of the class. - - - - - - - - Names a group that would contain the . - . - . - . - . - - The item to group. - The level of grouping for this . - A name for the group that would contain the . - - - - - - - - - - - - - Gets or sets the step of the grouping. - Items will be put in an with a based on the . - . - . - . - . - . - - not auto generated by default. - - not auto generated by default. - - not auto generated by default. - - - - - Grouping steps for groups based on values. - - - - - Group by year. - - - - - Group by quarters. - - - - - Group by months. - - - - - Group by weeks. - - - - - Group by month and day. - - - - - Group by hour. - - - - - Group by minute. - - - - - Group by second. - - - - - Used for numeric values to group items, provide well known groups, sort and filter the groups. - - - - - Initializes a new instance of the class. - - - - - - - - Names a group that would contain the . - . - - The item to group. - The level of grouping for this . - A name for the group that would contain the . - - - - - - - - - - Gets or sets the size of the generated s. - - - - - Used to group items, provide well known groups, sort and filter the groups for a based on the item's value. - - - - - Initializes a new instance of the class. - - - - - - - - - - - Used for advanced group filtering based on group's siblings. - Can filters the groups based on count, average values, sorted values etc. - - - - - Initializes a new instance of the class. - - - - - Filters the groups within a parent group. Can filter based on count, average values or sorted values. - - A read only list of all siblings. - The current aggregate results. - Identifies if the groups are in or . - The level of the groups. - A implementation that is used to filter the groups. - - - - Implements a that selects a specific number of groups sorted by a given criteria. - - - - - A base class for groups filter based on sorted list. - - - - - - - - - - - Specifies which aggregate description in the grouping would be used as source for comparison. - - - - - Specifies whether the or groups would be accepted by the filter. - - - - - Gets or sets the comparer used to sort for the . - - - - - - - - - - - - - - Filters groups until that sum of their totals reaches that sum. - - - - - A that selects groups until the sum of their aggregates reaches a percent of their total. - - - - - - - - - - - - - - A percent of the total to be reached while selecting s. - - - - - Implements a that selects from the groups until sum of their grand totals reaches . - - - - - - - - - - - - - - Filters groups until that sum of their totals reaches that sum. - - - - - Identifies a location of a subset of items in a sorted list. - - - - - Identifies the items in the beginning of a sorted list. - - - - - Identifies the items at the bottom of a sorted list. - - - - - Implements a default comparison for AggregateValues. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Gets or sets if the string comparisons will ignore case. - - - - - Used for values of s that are grouping in ranges by numeric values. - The contains the items with values in range from to . - - - - - Initializes a new instance of the struct. - - The start value which this group represents. - The end value which this group represents. - - - - - - - - - - - - - - - - - - - - - - Determines whether one specified is less than another specified . - - The first object to compare. - The second object to compare. - true if is less than ; otherwise, false. - - - - Determines whether one specified is greater than another specified . - - The first object to compare. - The second object to compare. - true if is greater than ; otherwise, false. - - - - Determines whether one specified is less than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is less than or equal to ; otherwise, false. - - - - Determines whether one specified is greater than or equal to another specified . - - The first object to compare. - The second object to compare. - true if is greater than or equal to ; otherwise, false. - - - - Determines whether two specified instances of are equal. - - The first object to compare. - The second object to compare. - true if and represent the same double group; otherwise, false. - - - - Determines whether two specified instances of are not equal. - - The first object to compare. - The second object to compare. - true if and do not represent the same double group; otherwise, false. - - - - Gets the lower limit for values in this . - - - - - Gets the upper limit for values in this . - - - - - Used for comparison based on their grand totals. - - - - - A base class for comparers. - - - - - Compares two s based on the current aggregate results. - - The current aggregate results. - The first to compare. - The second to compare. - Identifies if the groups are in or . - - A signed integer that indicates the relative values of x and y, as shown in the following table. - Value Meaning Less than zero x is less than y. - Zero x equals y. - Greater than zero x is greater than y. - - - - - Compares two s based on their grand totals. - - The current aggregate results. - The first to compare. - The second to compare. - Identifies if the groups are in or . - - A signed integer that indicates the relative values of x and y, as shown in the following table. - Value Meaning Less than zero x is less than y. - Zero x equals y. - Greater than zero x is greater than y. - - - - - - - - - - - Gets or sets a value that indicates the aggregate's grand total to be used in the comparison. - - - - - Used for comparison based on their s. - - - - - - - - - - - Compares two s based on their s. - - The current aggregate results. - The first to compare. - The second to compare. - Identifies if the groups are in or . - - A signed integer that indicates the relative values of x and y, as shown in the following table. - Value Meaning Less than zero x is less than y. - Zero x equals y. - Greater than zero x is greater than y. - - - - - Specifies how items are sorted. - - - - - Items are sorted in ascending order. - - - - - Rows are sorted in descending order. - - - - - Add a value with an associated index to the table. - - Index where the value is to be added or updated. - Value to add. - - - - Add multiples values with an associated start index to the table. - - Index where first value is added. - Total number of values to add (must be greater than 0). - Value to add. - - - - Clears the index table. - - - - - Returns true if the given index is contained in the table. - - Index to search for. - True if the index is contained in the table. - - - - Returns true if the entire given index range is contained in the table. - - Beginning of the range. - End of the range. - True if the entire index range is present in the table. - - - - Returns true if the given index is contained in the table with the the given value. - - Index to search for. - Value expected. - True if the given index is contained in the table with the the given value. - - - - Returns a copy of this IndexToValueTable. - - Copy of this IndexToValueTable. - - - - Returns the inclusive index count between lowerBound and upperBound of all indexes with the given value. - - LowerBound criteria. - UpperBound criteria. - Value to look for. - Number of indexes contained in the table between lowerBound and upperBound (inclusive). - - - - Returns the inclusive index count between lowerBound and upperBound. - - LowerBound criteria. - UpperBound criteria. - Number of indexes contained in the table between lowerBound and upperBound (inclusive). - - - - Returns the number indexes in this table after a given startingIndex but before. - reaching a gap of indexes of a given size. - - Index to start at. - Size of index gap. - - - - - Returns an enumerator that goes through the indexes present in the table. - - An enumerator that enumerates the indexes present in the table. - - - - Returns all the indexes on or after a starting index. - - Start index. - - - - Return the index of the Nth element in the table. - - N. - - - - Returns the value at a given index or the default value if the index is not in the table. - - Index to search for. - The value at the given index or the default value if index is not in the table. - - - - Returns the value at a given index or the default value if the index is not in the table. - - Index to search for. - Set to true by the method if the index was found; otherwise, false. - The value at the given index or the default value if index is not in the table. - - - - Returns an index's index within this table. - - - - - Inserts an index at the given location. This does not alter values in the table. - - Index location to insert an index. - - - - Inserts an index into the table with the given value . - - Index to insert. - Value for the index. - - - - Inserts multiple indexes into the table. This does not alter Values in the table. - - First index to insert. - Total number of indexes to insert. - - - - Inserts multiple indexes into the table with the given value. - - Index to insert first value. - Total number of values to insert. (must be greater than 0). - Value to insert. - - - - Removes an index from the table. This does not alter Values in the table. - - Index to remove. - - - - Removes a value and its index from the table. - - Index to remove. - - - - Removes multiple indexes from the table. This does not alter Values in the table. - - First index to remove. - Total number of indexes to remove. - - - - Removes multiple values and their indexes from the table. - - First index to remove. - Total number of indexes to remove. - - - - Removes a value from the table at the given index. This does not alter other indexes in the table. - - Index where value should be removed. - - - - Removes multiple values from the table. This does not alter other indexes in the table. - - First index where values should be removed. - Total number of values to remove. - - - - Total number of indices represented in the table. - - - - - Returns true if the table is empty. - - - - - Returns the number of index ranges in the table. - - - - - Base class for all ViewModel classes. - It provides support for property change notifications and has a DisplayName property. - This class is abstract. - - - - - Initializes a new instance of the class. - - - - - Warns the developer if this object does not have - a public property with the specified name. This - method does not exist in a Release build. - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - Raises this object's event. - - The property that has a new value. - - - - Releases unmanaged and - optionally - managed resources. - - true to release both managed and unmanaged resources. - false to release only unmanaged resources. - - - - Raised when a property on this object has a new value. - - - - - Holds extension methods for function delegates. - - - - - Converts the given function to untyped one. - - The type of the parameter of the function. - The type of the return value of the function. - The function that will be converted. - Untyped function for the given . - - - - Converts the given function to untyped one. - - The type of the first parameter of the function. - The type of the second parameter of the function. - The type of the return value of the function. - The function that will be converted. - Untyped function for the given . - - - - Converts the given function to untyped one. - - The function. - - - - - Converts the given function to an untyped one that has a strongly-typed return value. - - The type of the parameter of the function. - The type of the return value of the function. - The function that will be converted. - Untyped function with a strongly-typed return value for the given . - - - - Base dynamic class . - - - - - - - - - Returns a string that represents the current object. - - A string that represents the current object. - - - - Initializes a new instance of the class. - - The name. - The type. - - - - - - Gets the name. - - - - The name. - - - - Gets the type. - - - - The type. - - - - Used to specify aggregation parameters for OLAP data sources. - - - - - - - - - - - - - - - - - - - - Gets or sets cube measure name that is used for aggregation. - - The name of the field. - - - - - - - Exception type that represents OLAP errors. - - - - - - - - - - - - - - Base class for Olap data providers. - - - - - An for Olap data sources. - - - - - - - - Gets the object for which FieldDescriptions are generated. - - - - - Gets the loaded data. - - The data. - - - - A class that represents an olap group name. - - - - - Initializes a new instance of the class by provided caption and a group key object. - - The group caption used to display the group in UI. Sets the property. - The group key used to identify and compare the group with other groups. Sets the property. - - - - Initializes a new instance of the class by provided group name. - - The group caption used to display the group in UI and compare the group with other groups. Sets the and properties. - - - - - - - - - - - - - - - - Gets or sets the GroupCaption. Use setter only on groups created by you. - - - - - Gets or sets the GroupCaption. Use setter only on groups created by you. - - - - - Pivot results supplied by Olap data providers. - - - - - This interface provides access to the s and s accumulated during a pivot grouping process. - - - - - Gets the AggregateValue for the at index for the and s. - - The index of the for which a value is retrieved. - An from the 's tree. - An from the 's tree. - Null or if it is available. - - - - Returns the unique keys generated for the GroupDescription located at at index . - - The axis. - The GroupDescription index. - The unique keys. - - - - Returns the unique items generated for FilterDescription located at index . - - The FilterDescription index. - The unique items. - - - - A read-only collection of the s used to generate the 's s tree. - - - - - A read-only collection of the s used to generate the 's s tree. - - - - - A read-only collection of the used to generate the the available s for the . - - - - - A read-only collection of the used to filter the items. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies a pivot grouping axis - rows or columns. - - - - - Identifies the Rows. - - - - - Identifies the Columns. - - - - - An unique point determined by two s - the and the . - - - - - Initializes a new instance of the struct. - - The row group. - The column group. - - - - - - - - - - - - - Compares two instances of for equality. - - The first instance of to compare. - The second instance of to compare. - true if the instances of are equal; otherwise, false. - - - - Evaluates two instances of to determine inequality. - - The first instance of to compare. - The second instance of to compare. - false if is equal to ; otherwise, true. - - - - Get the RowGroup. - - - - - Gets the ColumnGroup. - - - - - A pivot group abstraction. - - - - - Gets the name of this group. - - - - - s contained within this . - - - - - Gets a value that indicates if the is empty. - - - - - Gets the parent . This instance would be in its parent's list. - - - - - Gets the type of the group. - - - - - Gets the level of the . - - - - - Possible IGroup types. - - - - - The group has no children and usually an aggregate value is available for it. - - - - - The group has aggregated values for all other groups. - - - - - The group contains other groups. Aggregate values may or may not be available. - - - - - The group contains no subgroups. The aggregate values for this groups parent could be retrieved using this group. - - - - - Object that represents Group with null value. - - - - - Overrides the string representation. - - - - - Gets the singleton instance of NullValue class. - - - - - - - - - - - Signals a pivot has completed, been canceled or an error occurred. - - - - - The completion status. - - - - - A read-only collection of any Exceptions thrown during a pivot grouping. - - - - - A pivot grouping status. - - - - - The pivot grouping has successfully completed grouping. - - - - - The pivot grouping has failed. - - - - - The pivot result is working. - - - - - Contains the value of an and the that produced it. - - - - - - - - - - - - - - - - - Gets the row for which this values is generated. - - - - - Gets the column for which this values is generated. - - - - - Gets the which produced the . - - - - - Gets the value for the some s produced by the . - - - - - Gets the string representation of the value with the 's string formats applied. - - - - - Describes a hierarchy. - - - - - Get an enumeration with the child items of the provided . - - The item children are requested for. - The children of the . - - - - Gets a child of at the . - - The item child is requested for. - The index of the requested child. - The child of at . - - - - Gets or sets the name for grand total groups. - - - - - Gets or sets the name of the description for value groups. - - - - - Gets or sets a string value used to format the name of a grand total group created for aggregate description. - The indexed parameter {0} is the display name of the aggregate description. - Default value: "Total {0}" - By default for the 'Sum of Quantity' aggregate description the grand total group would be named 'Sum of Quantity Total'. - - - - - Gets or sets a string value used to format the name of a sub total group. - The indexed parameter {0} is the name of the group for which a sub total is created. - Default value: "{0} Total". - By default for the 'Copy holder' group the sub total group would be named 'Copy holder Total'. - - - - - Gets or sets a string value used to format the name of a sub total group. - The indexed parameter {0} is the name of the group for which a sub total is created. - The indexed parameter {1} is the display name of the aggregate description. - Default value: "{0} {1}" - By default for the 'Copy holder' group the aggregate for 'Sum of Quantity' will be named 'Copy holder Sum of Quantity'. - - - - - Report implementation. - - - - - Report implementation. - - - - - Return a value the . - - The item. - A name for the group that would contain the . - - - - Gets the item that is used in filtering for the provided . - - The data to be filtered. - The value used for filtering. - - - - - Checks if a value generated from passes the filter. - - The value to filter. - True if the passes the filter; otherwise - false. - - - - - - - - Makes the instance a clone (deep copy) of the specified . - - The object to clone. - Notes to Inheritors - If you derive from , you need to override this method to copy all properties. - It is essential that all implementations call the base implementation of this method (if you don't call base you should manually copy all needed properties including base properties). - - - - - - - - - - - Gets or sets a value identifying a property on the grouped items. - - - - - Gets or sets the used to filter the groups. - - - - - - - - - - - Provides data for the event. - - - - - Initializes a new instance of the class. - - - - - Gets the from which the change originated. - - - - - Connection setting class used by . - - - - - - - - - - - - - - Compares two instances for equality. - - The left. - The right. - True, if instances are equal. - - - - Compares two instances for non-equality. - - The left. - The right. - True, if instances are not equal. - - - - Gets or sets the name of the cube that will be used. - - Cube name. - - - - Gets or sets the database to connect to. - - Database name. - - - - Gets or sets the connection string (OLE DB connection string format). - - The connection string. - - - - Provides Cube data access and operations using Adomd. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A list of that specified how the pivot items should be filtered. - - - - - A list of that specified how the pivot should be grouped by rows. - - - - - A list of that specified how the pivot should be grouped by columns. - - - - - A list of that specified how the pivot should be aggregated for the groups. - - - - - - - - Gets or sets the connection settings that are used for establishing connection to the data server. - - The connection settings. - - - - - - - An implementation for Adomd sources. - - - - - Initializes a new instance of the class. - - The connection settings. - - - - - - - - - - Used to specify aggregation parameters for . - - - - - - - - Used to specify grouping parameters for . - - - - - - - - Represents an aggregate description for QueryableDataProvider. - - - - - Generates identification string for this function using . - - - Function identification string. - - - - - Creates the aggregate expression. - - The grouping expression. - TODO: finish this. - - - - - Creates the aggregate expression. - - TODO: finish this. - - - - - Gets or sets the name of the aggregate function, which appears as a property of the group record on which records the function works. - - The name of the function as visible from the group record. - - - - Gets the type of the extension methods that holds the extension methods for - aggregation. For example or . - - - The type of that holds the extension methods. The default value is . - - - - - Gets the name of the aggregate method on the - that will be used for aggregation. - - The name of the aggregate method that will be used. - - - - Represents a aggregation operation for QueryableDataProvider. - - - - - Represents Sum aggregate operation. - - - - - Represents Count aggregate operation. - - - - - Represents Average aggregate operation. - - - - - Represents Max aggregate operation. - - - - - Represents Mix aggregate operation. - - - - - Represents a group descriptor, which can group by date time values. - - - - - Represents a group descriptor, which groups by its . - - - - - Serves as a base class for group descriptors of . - that will be used for column and row grouping. - - - - - Creates the group key expression. - - Value expressions used for generating group key. - Expression that creates group key for the given item. - - - - Creates value expressions for values that will be used for generating group key expression. - - The parameter expression, which will be used for grouping. - Value expressions. - - - - Processes group item TODO: document this. - - - - - Gets a value indicating whether grouped data should be processed before handing it over to the engine. - - - true if should process; otherwise, false. - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value identifying a property on the grouped items. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the step of the grouping. - - - - - - - - Represents a group descriptor, which can group numeric values. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the size of the generated s. - - - - - - - - Represents an aggregate descriptor, which aggregates by . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value identifying a property on the grouped items. - - - - - - - - Gets or sets the aggregate function that will be used for summary calculation. - - Aggregation function. - - - - Used for internal grouping by days. - - - - - Gets the Day part of the group. - - - - - Gets the Month part of the group. - - - - - Used for internal grouping by numeric ranges. - - - - - Gets the start part of the group. - - - - - Gets the end part of the group. - - - - - Used for internal grouping by months. - - - - - Gets the Month part of the group. - - - - - Used for internal grouping by quarters. - - - - - Gets the Quarter part of the group. - - - - - Used for internal grouping by years. - - - - - Gets the Year part of the group. - - - - - Holds extension methods for . - - - - - Projects each element of a sequence into a new form. - - - An whose elements are the result of invoking a - projection selector on each element of . - - A sequence of values to project. - A projection function to apply to each element. - - - - Groups the elements of a sequence according to a specified key selector function. - - An whose elements to group. - A function to extract the key for each element. - - An with items, - whose elements contains a sequence of objects and a key. - - - - - Represents an that works with IQueryable sources. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A list of that specified how the pivot items should be filtered. - - - - - A list of that specified how the pivot should be grouped by rows. - - - - - A list of that specified how the pivot should be grouped by columns. - - - - - A list of that specified how the pivot should be aggregated for the groups. - - - - - Gets or sets the IQueryable data source. - - - - - - - - - - - Represents a property of an entity. - - - - - Initializes a new instance of the class. - - The property info. - - - - Represents an for . - - - - - Initializes a new instance of the class. - - - - - - - - Used to specify aggregation parameters for . - - - - - - - - Used to specify grouping parameters for . - - - - - - - - Connection setting class used by . - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - Compares two instances for equality. - - The left. - The right. - True, if instances are equal. - - - - Compares two instances for non-equality. - - The left. - The right. - True, if instances are not equal. - - - - Gets the default encoding used for XMLA service calls. - - - The default encoding. - - - - - Properties that are used for Discover and Execute methods. - - - The query properties. - - - - - Gets or sets the name of the cube that will be used. - - Cube name. - - - - Gets or sets the database to connect to. - - Database name. - - - - Gets or sets the server address. - - The server address. - - - - Gets or sets the client credentials used for XMLA service calls. - - The credentials. - - - - Gets or sets the encoding that is used for XMLA service calls. - - - The encoding. - - - - - Provides Cube data access and operations using Xmla. - - - - - Initializes a new instance of the class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A list of that specified how the pivot items should be filtered. - - - - - A list of that specified how the pivot should be grouped by rows. - - - - - A list of that specified how the pivot should be grouped by columns. - - - - - A list of that specified how the pivot should be aggregated for the groups. - - - - - Gets or sets the connection settings that are used for establishing connection to the data server. - - The connection settings. - - - - - - - - - - An implementation for Xmla sources. - - - - - Initializes a new instance of the class. - - The connection settings. - - - - - - - Provides credentials used for XMLA service calls. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The username. - The password. - - - - Initializes a new instance of the class. - - The username. - The password. - The domain. - - - - A PivotGridField is the main logic unit that relates the content of the pivot grid to - fields in the DataSource. - The PivotGridField defines the properties and methods that are common to all - field types in RadPivotGrid. - - - - - Sets the IsHidden property to false and sets the - ZoneIndex so the field will be placed as last in the zone - - - - - Gets or sets the string that specifies the display format for all cells which belongs to this field. - - - A string that specifies the display format all cells which belongs to this field. - - - - - Gets or sets a referance of the PivotGridFieldRenderingControl that allow you to control how the field is rendered. - - - - Gets the zone type of the field which - determines in which zone the field is positioned. - - The zone type of the field which - determines in which zone the field is positioned. - - - - Gets or sets if the field will be hidden - which exlude it from the pivot table calculations. - - Determines if the field will be hidden - which exlude it from the pivot table calculations. - - - - Gets or sets a referance instance of the PivotGridSortOrder enum. - - - - - Gets or sets the order indexes for fields displayed within the same zone. - - - - - Each column in Telerik RadPivotGrid has an UniqueName - property (string). This property is assigned automatically by the designer (or the - first time you want to access the columns if they are built dynamically). - - - - - Gets or sets the field name from the specified data source to bind to the - PivotGridField. - - - A string, specifying the data field from the data - source, from which to bind the PivotGridField. - - - - - Gets or sets the field's display caption. - - - - - Gets or sets the string that specifies the display format for all total cells which belongs to this field. - - - A string that specifies the display format all cells which belongs to this field. - - - - - Style of the cells in the the grid, corresponding to the field. - - - - - RadPivotGrid Aggregate Cell Template property - - - - - RadPivotGrid Header Cell (Aggregate Field) Template - - - - - RadPivotGrid Total Cell Template (Row Field) Template - - - - - RadPivotGrid Total Cell Template (Column Field) Template - - - - - RadPivotGrid Total Cell Template (Row And Column) Template - - - - - RadPivotGrid Grand Total Cell Template (Row Field) Template - - - - - RadPivotGrid Grand Total Cell Template (Column Field) Template - - - - - RadPivotGrid Grand Total Cell Template (Row And Column) Template - - - - - RadPivotGrid Grand Total Header Cell Template (Row Field) Template - - - - - RadPivotGrid Grand Total Header Cell Template (Column Field) Template - - - - - Gets or sets the Aggregate function of the field. - - - - - Gets or sets the string that specifies the display format for all grand total cells. - - - A string that specifies the display format all grand total cells. - - - - - The enumeration determines where - aggregate will be positioned. Used in AggregatesPosition property of - . - - - - - Gets or sets a referance instance of the PivotGridGroupRange enum - which combine fields into groups - - - - - Gets or sets a GroupIntervalNumericRange - which specifies the length of the numeric group interval - - - - - Determines whether the empty column groups will be displayed - - - - - RadPivotGrid Column Cell Template property - - - - - RadPivotGrid Column Total Header Cell Template property - - - - - The collection of fields of RadPivotGrid. Accessible through - Fields property of RadPivotGrid classes. - - - - - Determines the index of a specific field in the - PivotGridFieldsCollection. - - - The index of value if found in the collection; - otherwise, -1. - - The object to locate in the PivotGridFieldsCollection. - - - - Inserts a field to the PivotGridFieldsCollection at the specified - index. - - - The zero-based index at which field should be - inserted. - - - - The to insert into the collection. - - - - - - Removes the PivotGridFieldsCollection field at the specified - index. - - The zero-based index of the field to remove. - - - - Access a in the collection by index. - - The index in the collection. - The at the specified position. - - - - Finds the in the collection with the specified . - - The to search for. - Returns the found . If no field is found returns null. - - - - Telerik RadWindow - - - - - - - - - - - - - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element that will open the RadWindow when clicked. - - - - - Specifies the URL that will originally be loaded in the - RadWindow (can be changed on the client). - - The default is an empty string - "". - - - - Gets the control, where the ContentTemplate will be instantiated in. You can add controls programmatically here. - - - You can use this property to programmatically add controls to the content area. - If you add controls to the ContentContainer the NavigateUrl property will be ignored. - - - RadWindow1.ContentContainer.Controls.Add(new LiteralControl("this will appear in the RadWindow")); - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control content area. - - - You cannot set this property twice, or when you added controls to the ContentContainer. If you set - ContentTemplate the NavigateUrl property will be ignored. - - - - - Gets a object that represents - the child controls for a specified server control in the UI hierarchy. - - The collection of child controls for the specified server control. - - - - - RadPivotGrid Row Cell Template property - - - - - RadPivotGrid Row Total Header Cell Template property - - - - - Determines the aggregate type when filtering - with Top and Bottom filtering functions. - - - - - Finds the top or bottom items depending on their sum. - - - - - Finds the top or bottom items. - - - - - Fintd the top or bottom items depending on their calculated percent. - - - - - - - - - Creates copy of button used for the pager in RadPivotGrid control. - - - must be on of the following: - FirstPageCommandArgument, - NextPageCommandArgument, - PrevPageCommandArgument, - LastPageCommandArgument - - - GetButtonForArgument(RadPivotGrid.FirstPageCommandArgument) - - - - - - The mode of the pager defines what buttons will be displayed and how the pager - will navigate through the pages. - - - - The pivotgrid Pager will display only the Previous and Next link buttons. - - - The pivotgrid Pager will display only the page numbers as link buttons. - - - - The pivotgrid Pager will display the Previous button, page numbers, - the Next button, the PageSize dropdown and information about the items and pages count. - - - - - The pivotgrid Pager will display the Previous button, then the page numbers and then - the Next button. On the next Pager row, the Pager will display text boxes for - navigating to a specific page and setting the Page size (number of items per - page). - - - - - The pivotgrid Pager will display text boxes for navigating to a specific page and - setting the Page size (number of items per page). - - - - - The pivotgrid Pager will display a slider for very fast and AJAX-based navigation - through pivotgrid pages. - - - - This enumeration defines the possible positions of the pager item - - - - The Pager item will be displayed on the bottom of the pivotgrid. (Default - value) - - - - The Pager item will be displayed on the top of the pivotgrid. - - - - The Pager item will be displayed both on the bottom and on the top of the - pivotgrid. - - - - - RadPivotGrid use instance of this class to set style of thir PagerItem-s when rendering - - - - - Summary description for TreeListTableItemStyle. - - - - - Returns 'True' if none of the properties have been set - - - - Returns true if none of the properties have been set. - - Gets a value indicating whether the default pager will be used, i.e. no - customizations have been made. - - - - - Gets a value indicating whether the pager is displayed on the bottom of the - pivotgrid. - - - Returns true if the pager will be displayed on the bottom of the - pivotgrid. Otherwise false. - - - - - Gets a value indicating whether the pager is displayed on the top of the - pivotgrid. - - - Returns true if the pager will be displayed on the top of the - pivotgrid. Otherwise false. - - - - - Gets or sets the mode of Telerik PivotGrid Pager. The mode defines what the pager - will contain. This property accepts as values only members of the PivotGridPagerMode Enumeration. - - - Returns the pager mode as one of the values of the PivotGridPagerMode Enumeration. - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is NextPrevNumericAndAdvanced for 'GoToPage' textbox - - - - - ToolTip that would appear if Mode is NextPrevNumericAndAdvanced for 'ChangePageSize' textbox - - - - - ToolTip that would appear if Mode is NextPrevNumericAndAdvanced for 'GoToPage' button - - - - - ToolTip that would appear if Mode is NextPrevNumericAndAdvanced for 'Change' button - - - - Gets or sets the 'summary' attribute for the PageSizeComboBox control's table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadPivotGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - - - - ToolTip that would appear over the pager's RadComboBox input - - - - - ToolTip that would appear if Mode is PrevNext for 'last' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'prev' page button - - - - - Gets or sets the number of buttons that would be rendered if pager Mode is - - - - returns the number of button that will be displayed. The default value is 10 - buttons. - - - By default 10 buttons will be displayed. If the number of pivotgrid pages is greater - than 10, ellipsis will be displayed. - - - - - Gets or sets the Position of pager item(s).Accepts only values, members of the - PivotGridPagerPosition Enumeration. - - - Returns the Pager position as a value, member of the PivotGridPagerPosition Enumeration. - - - - - In order to display the PivotGrid pager regardless of the number of records returned - and the page size, you should set this property to - true. Its default value is false. - - - Gets or set a value indicating whether the Pager will be visible regardless of - the number of items. (See the remarks) - - - true, if pager will be displayed, regardless of the number of - PivotGrid items, othewise false. By fefault it is - false. - - - - - ToolTip that would appear if Mode is Slider for 'Increase' button. - - - - - ToolTip that would appear if Mode is Slider for 'Decrease' button. - - - - - ToolTip that would appear if Mode is Slider for 'Drag' button. - - - - - Text that will appear if Mode is Slider for current page. - - - - - Text that will appear before the dropdown for changing the page size. - - - - - Text for the 'Change' button when Mode is Advanced. - - - - - Text for the 'Go' button when Mode is Advanced. - - - - - Text that will appear before current page number when Mode is Advanced. - - - - - Text that will appear after the current page number and before count of all pages when Mode is Advanced. - - - - - Gets or sets the type of the page size drop down control. - - - - - This enumeration defines the possible positions of the PivotGrid's subtotal items and - grandtotal items. - - - - - Gets or sets the database to connect to. - - Database name. - - - - Gets or sets the name of the cube that will be used. - - Cube name. - - - - Gets or sets the server address. - - The server address. - - - - Gets or sets the encoding that is used for XMLA service calls. - - - The encoding. - - - - - Gets the default encoding used for XMLA service calls. - - - The default encoding. - - - - - Gets or sets the client credentials used for XMLA service calls. - - The credentials. - - - - Gets or sets the user name for the network credentials that will be used. - - User name. - - - - Gets or sets the password for the network credentials that will be used. - - Password. - - - - Gets or sets the domain for the network credentials will be used. - - Domain. - - - - The class holding all client events. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired before the client-side object - have been fully initialized. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired after the client-side object - have been fully initialized. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired before the client-side object - have been fully disposed. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired after the client-side object - have been fully disposed. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when is set to true - and a cell tooltip is shown. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when , , - is clicked. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when mouse is over a , - and . - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when mouse is out of , - and . - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when , and - is double clicked. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired when , and - is right clicked. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired before is shown. - - - - - Gets or sets the name of the JavaScript function (the handler) which - will be fired after is shown. - - - - - Gets or sets a string that will be displayed as a tooltip when you hover a expand button. - - - The string that will be displayed as a tooltip when you hover a expand button. - field. By default it states "Expand". - - - - - Gets or sets a string that will be displayed as a tooltip when you hover a collapse button. - - - The string that will be displayed as a tooltip when you hover a collapse button. - By default it states "Collapse". - - - - - Gets or sets a string that will be displayed as a tooltip when you hover a field - that can be dragged. - - - The string that will be displayed as a tooltip when you hover a field - that can be dragged. By default it states "Drag to reorder". - - - - - Class holding all settings associated with client-side - functionlity for the . - - - - - Determines whether the dragging fields between and in zones is allowed - - - - - Gets a reference to , which holds various - properties for setting the Telerik RadPivotGrid scrolling features. - - - - - Gets a reference to , which holds - properties for setting the Telerik RadPivotGrid client-side events - - - - - Gets a reference to , which holds various - properties for setting the Telerik RadPivotGrid client messages - - - - - The idea behind the ConfigurationPanel is taken from the Excel - PivotTable Field List which enables Fields manipulations like - sorting, reordering, hiding outside of the table which represents - the data. Enabling such functionality gives the user ability to - separate the logic for manipulating fields and displaying data. - - - - - Gets the owner pivot grid. - - The owner pivot grid. - - - - Gets the position where the - will be placed. - - The position where the - will be placed. - - - - Gets the panel layout which could be altered on the client and its - default type could be changed by setting on of the four available values. - - The type of the layout. - - - - Gets the control - which determines if the updates will be made on every operation - or only when clicking the Update button. - - The control - which determines if the updates will be made on every operation - or only when clicking the Update button. - - - - Gets the control which - is enabled when DeferLayoutUpdateCheckBox is Checked and performs - postback updating the . - - The control which - is enabled when DeferLayoutUpdateCheckBox is Checked and performs - postback updating the . - - - - Gets a object that represents - the child controls for a specified server control in the UI hierarchy. - - The collection of child controls for the specified server control. - - - - - Enumeration determining the - layout. The values are taken from Excel and present similar behavior. - - - - - Enumeration determining where - will be placed relative to the pivot grid. - - - - - Class extending from - which represents the - context menu. - - - - - This partial Class describes the client properties and events in RadContextMenu. - - A navigation control used to create context menus. - - - The RadContextMenu control is used to display context-aware options for various targets. Those targets - are specified through the property. RadContextMenu supports the following targets: - - - - - Used to associate a context menu with an ASP.NET Server control. - Accepts the control ID as an argument. - - - - Used to associate a context menu with an HTML element. Accepts - the HTML element id as an argument. - - - - Used to specify document-wide context menu. - - - - Used to associate a context menu with all elements with the specified - tag name (e.g. IMG, INPUT). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the collection containing the targets to which right-click - RadContextMenu will attach. - - A ContextMenuTargetCollection - containing the targets to which RadContextMenu will attach. - - RadContextMenu can attach to four target types: ASP.NET control, element on the page, - document, set of client-side elements, specified by tagName. - - - This example demonstrates how to specify that the RadContextMenu will be displayed - when a specific textbox and all images on the page clicked. - -
- <img src="http://demos.telerik.com/aspnet-ajax/Common/Img/qsfRentCarDemoThumb.gif" />
- <img src="http://demos.telerik.com/aspnet-ajax/Common/Img/qsfSalesDashboardDemoThumb.gif" />
- <asp:TextBox ID="TextBox1" runat="server"/gt;
- <Telerik:RadContextMenu ID="RadContextMenu1"
- runat= "server">
- <Targets>
- <Telerik:RadContextMenuControlTarget ControlID="TextBox1"/>
- <Telerik:RadContextMenuTagNameTarget TagName="img"/>
- </Targets>
- </Telerik:RadContextMenu> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadContextMenu is to be displayed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShowing client-side event handler is - called before the context menu is shown on the client. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with two properties, - get_cancel()/set_cancel(cancel) and - get_domEvent (a reference to the browser event). - - The OnClientShowing event can be cancelled. To do so, - set the cancel property to false from the event handler (e.g. - eventArgs.set_cancel(true);). - - - The following example demonstrates how to use the - OnClientShowing property. - -
- <script type="text/javascript">
- var shouldDisplayContextMenu = confirm("Do you want to enable context menus on this page?"); - function onClientShowingHandler(sender, eventArgs)
- {
- eventArgs.set_cancel(!shouldDisplayContextMenu);
- }
- </script> -
-
- <Telerik:RadContextMenu ID="RadContextMenu1"
- runat= "server"
- OnClientShowing="onClientShowingHandler">
- ....
- </Telerik:RadContextMenu> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadContextMenu is displayed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShown client-side event handler is - called after the context menu is shown on the client. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with one property, get_domEvent - (a reference to the browser event). - - - - The following example demonstrates how to use the - OnClientShown property. - -
- <input type="text" id="txtContextMenuState" value="hidden" /> - <script type="text/javascript">
- function onClientShownHandler(sender, eventArgs)
- {
- document.getElementById("txtContextMenuState").value = "shown";
- }
- </script> -
-
- <Telerik:RadContextMenu ID="RadContextMenu1"
- runat= "server"
- OnClientShown="onClientShownHandler">
- ....
- </Telerik:RadContextMenu> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadContextMenu is to be hidden. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientHiding client-side event handler is - called before the context menu is hidden on the client. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with two properties, - get_cancel()/set_cancel(cancel) and - get_domEvent (a reference to the browser event). - - The OnClientHiding event can be cancelled. To do so, - set the cancel property to false from the event handler (e.g. - eventArgs.set_cancel(true);). - - - The following example demonstrates how to use the - OnClientHiding property. - -
- <script type="text/javascript">
- function onClientShowingHandler(sender, eventArgs)
- {
- var shouldHide = confirm("Do you want to hide the context menu?") - eventArgs.set_cancel(!shouldHide);
- }
- </script> -
-
- <Telerik:RadContextMenu ID="RadContextMenu1"
- runat= "server"
- OnClientHiding="onClientHidingHandler">
- ....
- </Telerik:RadContextMenu> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadContextMenu is hidden. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientHidden client-side event handler is - called after the context menu is hidden on the client. Two parameters are passed to the - handler: - - sender, the menu client object; - eventArgs with one property, get_domEvent - (a reference to the browser event). - - - - The following example demonstrates how to use the - OnClientHidden property. - -
- <input type="text" id="txtContextMenuState" /> - <script type="text/javascript">
- function onClientHiddenHandler(sender, eventArgs)
- {
- document.getElementById("txtContextMenuState").value = "hidden";
- }
- </script> -
-
- <Telerik:RadContextMenu ID="RadContextMenu1"
- runat= "server"
- OnClientHidden="onClientHiddenHandler">
- ....
- </Telerik:RadContextMenu> -
-
-
-
- - - - - - - Gets or sets a value indicating if the currently selected item will be tracked and highlighted. - - - - - Gets the owner pivot grid. - - The owner pivot grid. - - - - The class holding all properties associated with the Fields Popup functionality - which groups the fields in convinient popup in order to leave more space for the data to be displayed. - - - - - The minimum amount of row fields that should the Row zone contain - in order for the popup to appear. - - - - - The minimum amount of column fields that should the Column zone contain - in order for the popup to appear. - - - - - The minimum amount of aggregate fields that should the Aggregate zone contain - in order for the popup to appear. - - - - - The minimum amount of filter fields that should the Filter zone contain - in order for the popup to appear. - - - - - Class holding all settings associated with connection parameters for OLAP binding - for . - - - - - Gets a reference to , which holds various - properties for setting the Telerik RadPivotGrid Adomd Olap settings - - - - - Gets a reference to , which holds various - properties for setting the Telerik RadPivotGrid Xmla Olap settings - - - - - - - - - - - - - Formats the text depending on PivotGridPagerButtonType. Text for LinkButton is wrapped with span tag. - - Value from PivotGridPagerButtonType enum. - Text to be formatted. - Returns string representing content of button. - - - - Ensures button Enabled property. If button command argumetn is same as current page, button - will be disabled. - - Button instance to be validated. - Command argument for the button. - Returns same button with Enabled property set. - - - - Creates button control from one of the following type: LinkButton, PushButton, ImageButton - or HyperLink if AllowSEOPaging is set to "true". Button Enabled state will be validated - depending on current page index. - - PivotGridPagerButtonType enumerator - Text shown as content the button control - Tooltip of the button - Command that button triggers - Command argument which will be passed along with CommandName - CssClass that will be applied on the button - Returns button control of type: LinkButton, PushButton, ImageButton - or HyperLink if SEO paging. - - - - Create button control for one of the following types: LinkButton, PushButton, ImageButton - - - - - Method for creating "Previous" button. - - - - - Method for creating "Next" button. - - - - - Method for creating "First" button. - - - - - Method for creating "Last" button. - - - - - Method for creating all numeric pager buttons. - - - - - Contains properties related to customizing the settings for scrolling operation - in Telerik RadPivotGrid. - - - - - Gets or sets a value indicating whether vertical scrolling will be enabled in - Telerik RadPivotList. - - true, if scrolling is enabled, otherwise false (the default value). - - - - Gets or sets a value specifying the RadPivotGrid height in pixels (px) beyond which the - scrolling will be enabled. - - the default value is 300px - - - - Gets or sets a value indicating whether Telerik RadPivotGrid will keep the - scroll position during postbacks. - - - true (the default value), if Telerik RadPivotGrid keeps - the scroll position on postback, otherwise false . - - - - - RadTooltipManager class - - - - - RadToolTipBase class - - - - - Causes the tooltip to open automatically when the page is loaded - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether the tooltip will open automatically when its parent [aspx] page is loaded on the client. - - The default value is false. - - - - Get/Set the animation effect of the tooltip. Turned off by default. - - - Takes one of the members of the enumerator. The default value is None. - - - - - Sets/gets the duration of the animation in milliseconds. 500 by default. - - - - - This property is obsolete. Please use HideEvent="ManualClose" instead. - Gets/Sets whether the tooltip will need to be closed manually by the user using the [x] button, or will close automatically. - - - - - This property is obsolete. Please use HideEvent="LeaveToolTip" instead. - Gets/Sets whether the tooltip will hide when the mouse moves away from the target element (when false), - or when the mouse [enters] and moves out of the tooltip itself (when set to true). - - - - - Get/Set the client event at which the tooltip will be hidden. - - - Takes one of the members of the enumerator. - The default value is Default, which means the tooltip will hide when the mouse moves out of the target element. - - - - - Get/Set the client event at which the tooltip will be made visible for a particular target control. - - - Takes one of the members of the enumerator. The default value is OnMouseOver. - - - - - Get/Set the Width of the tooltip in pixels. - - - - - Get/Set the Height of the tooltip in pixels. - - - - - Get/Set the Text that will appear in the tooltip (if it should be different from the content of the 'title' attribute of the target element). - - - Can take and properly display an HTML string. This requires that line breaks and special characters are prepared (escaped) for HTML as well. - - - - - Get/Set the indicator whether the Alt specified for the target should be ignored or not - - - You can use the IgnoreAltAttribute to instruct the RadToolTip to ignore the AlternateText and alt properties and not remove them from its target element. - This will result in a change of the content source priorities for images and a second tooltip being shown under IE6 and IE7, - as these browsers interpret the alt attribute like the title attribute. - - - - - Get/Set a title for the tooltip. - - - This title is not affected by the rest of the content and is always displayed, regardless of the content source. - For more details see this help article: http://www.telerik.com/help/aspnet-ajax/tooltip-content.html. - - - - - Get/Set the manual close button's tooltip text. - - - - - Get/Set the top/left position of the tooltip relative to the target element - - - Takes one of the members of the Telerik.Web.UI.ToolTipPosition enumerator. The default value is BottomCenter. - - - If there isn't enough room in the viewport to show the tooltip in the specified position (this depends on the tooltip's Width and Height and the target's position) - the tooltip will automatically reposition itself so that it is entirely visible. Usually this will be the opposite position. - All positions are tried until enough room is found on the screen, if there isn't the top left corner of the tooltip will be visible and scrollbars will be produced. - - - - - Get/Set overflow of the tooltip's content area. - - - Takes one of the members of the enumeration. The default value is Default which leaves the default behavior of the HTML elements - with respect to handling content larger than their original dimensions (usually they stretch visually, but programmatically keep their orignal dimensions). - - - - - Get/Set whether the tooltip should appear relative to the mouse, to the target element or to the browser viewport. Works in cooperation with the Position property. - - - Takes a member of the enumerator. The default value is Mouse. - - - When the display is relative to the mouse or to the element the tooltips are positioned absolutely on the page, when relative to the browser viewport - they have fixed position and do not scroll with the rest of the page. - - - - - Get/Set the tooltip's horizontal offset from the target control in pixels. Works in cooperation with the Position property. - - - Takes an integer specifying how many pixels the offset will be. Zero by default. - - - - - Get/Set the tooltip's vertical offset from the target control in pixels. Works in cooperation with the Position property. - - - Takes an integer specifying how many pixels the offset will be. Zero by default. - - - - - Get/Set the delay (in milliseconds) after which the tooltip will hide if the mouse stands still over the target element. 3000 by default. - - - - - Get/Set delay (in milliseconds) for the tooltip to hide after the mouse leaves the target element. 300 by default. - - - - - Get/Set the time (in milliseconds) for which the user should hold the mouse over a target element for the tooltip to appear. The default is 400. - - - - - Get/Set whether the tooltip will move to follow mouse movement over the target control or will stay fixed. - - - - - Get/Set whether the tooltip will show a small arrow pointing to its target element. True by default. - - - - - Get/Set whether the tooltip should be added as a child of the form element or as a child of its direct parent. False by default. - - - - - Gets or sets a value indicating whether the RadToolTip should have shadow. True by default. - - - True if there should be shadow; otherwise - false. The default value is true. - - - - - Gets or sets a value indicating whether the RadToolTip should have rounded corners. True by default. - - - True if there should be rounded corners; otherwise - false. The default value is true. - - - - Gets or sets a value indicating whether a tooltip is modal or not. - The default value is false. - - - Gets or sets a value indicating whether the tooltip will create an overlay element to ensure it will be displayed over a flash element. - The default value is false. - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets the name of client-side JavaScript function that is called just before the RadToolTip is shown. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientBeforeShow - client-side event handler is called before the RadToolTip - is shown. Two parameters are passed to the handler: - - sender, the RadToolTip object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientBeforeShow property. - -
- <script type="text/javascript">
- function OnToolTipShowHandler(sender, args)
- {
- var tooltip = sender;
- }
- </script> -
-
- <radsld:RadToolTip ID="RadToolTip1"
- runat= "server"
- OnClientBeforeShow="OnToolTipShowHandler">
- ....
- </radsld:RadToolTip> -
-
-
-
- - - Gets or sets the name of client-side JavaScript function that is called just after the RadToolTip is shown. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShow - client-side event handler is called after the tooltip is shown - Two parameters are passed to the handler: - - sender, the RadToolTip object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientShow property. - -
- <script type="text/javascript">
- function OnClientShowHandler(sender, args)
- {
- var tooltip = sender;
- }
- </script> -
-
- <radsld:RadToolTip ID="RadToolTip1"
- runat= "server"
- OnClientShow="OnClientShowHandler">
- ....
- </radsld:RadToolTip> -
-
-
-
- - - Gets or sets the name of client-side JavaScript function that is called just before the RadToolTip hides. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientBeforeHide - client-side event handler that is called - before the tooltip is hidden. Two parameters are passed to the handler: - - sender, the RadToolTip object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientBeforeHide property. - -
- <script type="text/javascript">
- function OnBeforeHideHandler(sender, args)
- {
- var tooltip = sender;
- }
- </script> -
-
- <radsld:RadToolTip ID="RadToolTip1"
- runat= "server"
- OnClientBeforeHide="OnBeforeHideHandler">
- ....
- </radsld:RadToolTip> -
-
-
-
- - - Gets or sets the name of client-side JavaScript function that is called just after the RadToolTip is hidden. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientHide - client-side event handler that is called - after the tooltip is hidden. Two parameters are passed to the handler: - - sender, the RadToolTip object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientHide property. - -
- <script type="text/javascript">
- function OnHideHandler(sender, args)
- {
- var tooltip = sender;
- }
- </script> -
-
- <radsld:RadToolTip ID="RadToolTip1"
- runat= "server"
- OnClientHide="OnHideHandler">
- ....
- </radsld:RadToolTip> -
-
-
-
- - - - - - - - - - - - - - - - - - - Allows for dynamic content to be set into the tooltip with an ajax request. - The tooltip triggers the event when it is shown on the client. - - - A string specifying the name of the server-side event handler that will handle the - event. The default value is empty string. - - - If specified, the OnAjaxUpdate - is triggered when the tooltip is shown on the client. Two parameters are passed to the handler: - - sender, the RadToolTip object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnAjaxUpdate property. - -
- <telerik:RadToolTip ID="RadToolTip1"
- runat= "server"
- OnAjaxUpdate="OnAjaxUpdate">
- ....
- </telerik:RadToolTip> -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the settings for the web service used to populate items. - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both - Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public string WebServiceMethodName(object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadToolTipManager when a call to a WebService is initiated or AJAX request is started. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientRequestStart - client-side event handler is called when the request is started Two parameters are passed to the handler: - - sender, the RadToolTipManager object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientRequestStart property. - -
- <script type="text/javascript">
- function OnClientRequestStart(sender, args)
- {
- var tooltipManager = sender;
- }
- </script> -
-
- <radsld:RadToolTipManager ID="RadToolTipManager1"
- runat= "server"
- OnClientRequestStart="OnClientRequestStart">
- ....
- </radsld:RadToolTipManager> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadToolTipManager receives the server response from a WebService or AJAX request. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientResponseEnd - client-side event handler is called before the RadToolTipManager - displays the content returned from the server. Two parameters are passed to the handler: - - sender, the RadToolTipManager object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientResponseEnd property. - -
- <script type="text/javascript">
- function OnClientResponseEnd(sender, args)
- {
- var tooltipManager = sender;
- }
- </script> -
-
- <radsld:RadToolTipManager ID="RadToolTipManager1"
- runat= "server"
- OnClientResponseEnd="OnClientResponseEnd">
- ....
- </radsld:RadToolTipManager> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the Load On Demand call to the WebService or the AJAX request is interrupted by an error. - - - - - Gets or sets a value indicating whether the content of loaded on demand tooltip should be cached after the first request. - - - True if data should be cached; otherwise - false. The default value is false. - - - When caching is enabled only one request will be performed for each target, regardless of how many times the tooltip will be shown. - By default a new request is performed each time the tooltip must be shown (caching is disabled). - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element whose children will be tooltipified - - - - - Gets or sets a value whether the RadToolTipManager, when its TargetControls collection is empty will tooltipify automatically all elements on the page that have a 'title' attribute - - - - - The collection of TargetControl objects that allows for specifying the objects for which tooltips will be created on the client-side. - - - The collection of TargetControl objects that allows for specifying the objects for which tooltips will be created on the client-side. - - - Use the TargetControls collection to programmatically control which objects should be tooltipified on the client-side. - - - - - Gets a reference to the UpdatePanel property of RadToolTipManager. The UpdatePanel allows for sending AJAX content to the client-side during the OnAjaxUpdate event. - - - Gets a reference to the UpdatePanel property of RadToolTipManager. The UpdatePanel allows for sending AJAX content to the client-side during the OnAjaxUpdate event. - - - - - The event is used to load content on-demand in the tooltip via AJAX - - - The event handler takes two parameters - an object for the sender and an object of type - for the event arguments. - The event cannot be cancelled. - - - - - Class that is used to define sort field and sort order for RadPivotGrid - - - - - - - - - - - - - - - - - Sets the sort order. - The SortOrder paremeter should be either "Ascending" or "Descending". - - ArgumentException. - - - - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - Returns a enumeration based on the string input. Takes either "ASC" - or "DESC" - - - - - Parses a string representation of the sort order and returns RadPivotGridSortExpression. - - - - Gets or sets the name of the field to which sorting is applied. - - - Sets or gets the current sorting order. - - - - A collection of objects. - - - - - - - - - - - - - - - - - Returns an enumerator that iterates through the - RadPivotGridSortExpressionCollection. - - - - Adds a to the collection. - - - Clears the RadPivotGridSortExpressionCollection of all items. - - - - - - - - Find a SortExpression in the collection if it contains any with sort field = expression - - sort field - - - - - Adds the sortExpression in the collection. - - - - - - Adds the sortExpression in the collection. - - String containing sort field and optionaly sort order (ASC or DESC) - - - - Adds a to the collection at the specified - index. - - - - Removes the specified from the collection. - - - - Returns true or false depending on whether the specified sorting expression exists - in the collection. Takes a parameter. - - - - - Returns true or false depending on whether the specified sorting expression - exists in the collection. Takes a string parameter. - - - - - Adds the sort field (expression parameter) if the collection does not alreqady contain the field. Else the sort order of the field will be inverted. The default change order is - Asc -> Desc. - - - - - - Get a comma separated list of sort fields and sort-order, in the same format used by - DataView.Sort string expression. Returns null (Nothing) if there are no sort expressions in the collection - - Comma separated list of sort fields and optionaly sort-order, null if there are no sort expressions in the collection - - - - Searches for the specified - and - returns the zero-based index of the first occurrence within the entire - . - - - - This is the default indexer of the collection - takes an integer value. - - - Returns the number of items in the RadPivotGridSortExpressionCollection. - - - - Gets a value indicating whether access to the RadPivotGridSortExpressionCollection is - synchronized (thread safe). - - - - - - - - - - -
Gets an object that can be used to synchronize access to the - RadPivotGridSortExpressionCollection.
-
-
- - - Enables or disabled the visibility of the grand totals - - - - - Gets or sets all rows subtotals items position - - - - - Gets or sets row grandtotals item position - - - - - Gets or sets all columns subtotals items position - - - - - Gets or sets column grandtotals item position - - - - - Changes the sort order of the specified field. - - The UniqueName value of the field for which the sort order will be changed. - The new sort order. - A value indicating whether a Rebind will be called after the Sort operation. - - - - Changes the sort order of the specified field. - - The field for which the sort order will be changed. - A value indicating whether a Rebind will be called after the Sort operation. - - - - Changes the sort order of the specified field. - - The field for which the sort order will be changed. - The new sort order. - A value indicating whether a Rebind will be called after the Sort operation. - - - - Executes the sort expressions which should contain the field UniqueName which will be sorted and - optionally include the sort order - ASC (Ascending) or DESC (Descending). - - The expression containing which field will be sorted and - optionally includes the sort order. - A value indicating whether a Rebind will be called after the Sort operation. - - - - Executes the provided if it does not exist - it will add it in the or otherwise will - change the currently added. - - The . - A value indicating whether a will be called after the Sort operation. - - - - Expands all column groups. - - A value indicating whether a will be called after the Sort operation. - - - - Expands all column groups at a certain level. - - The column level group which will be expanded. - A value indicating whether a will be called after the Sort operation. - - - - Expands all rows groups. - - A value indicating whether a will be called after the Sort operation. - - - - Expands all column groups at a certain level. - - The row level group which will be expanded. - A value indicating whether a will be called after the Sort operation. - - - - Expands all row groups which are at the level of the specified field. - - The field which groups will be expanded. - A value indicating whether a will be called after the Sort operation. - - - - Expands all column groups which are at the level of the specified field. - - The field which groups will be expanded. - A value indicating whether a will be called after the Sort operation. - - - - Collapses all column groups. - - A value indicating whether a will be called after the Sort operation. - - - - Collapses all column groups at a certain level. - - The column level group which will be collapsed. - A value indicating whether a will be called after the Sort operation. - - - - Collapses all row groups. - - A value indicating whether a will be called after the Sort operation. - - - - Collapses all row groups at a certain level. - - The row level group which will be collapsed. - A value indicating whether a will be called after the Sort operation. - - - - Collapses all row groups which are at the level of the specified field. - - The field which groups will be collapsed. - A value indicating whether a will be called after the Sort operation. - - - - Collapses all column groups which are at the level of the specified field. - - The field which groups will be collapsed. - A value indicating whether a will be called after the Sort operation. - - - - Clears all previously applied filter expressions. - - - - - Clears all filter expressions associated with a field. - - The which expressions will be cleared. - - - - Clears all filter expressions associated with a field. - - The which expressions will be cleared. - - - - Filters by the text value of the field. Label filters control which groups for a given field - will remain in the pivot data view after grouping has been performed. If, for example, you - have your data grouped by a Country field and you need only those Country groups of items - that relate to Bulgaria you should apply an Equals label filter to the Country field with - the respective string filter value of ?Bulgaria?. - - The filter function to be applied to the filter expression. - The that will be filtered. - The value that will be used for the filtering of the data. - A value indicating whether a will - be called after the Filter operation. - - - - Filters by the text value of the field. Label filters control which groups for a given field - will remain in the pivot data view after grouping has been performed. - - The filter function to be applied to the filter expression. - The that will be filtered. - The value that will be used for the filtering of the data. - The value that will be used as the between value when filtering the data. - A value indicating whether a will - be called after the Filter operation. - - - - Filters by the values of the field. Value filters, for their part, allow filtering operations - to be performed on the aggregate results. Again, the filtering is applied after the grouping - of the data. Here is another example: Suppose you have grouped your data by Country, aggregated - it by Sum of Cost and need only those Country groups of items which cumulative cost falls within - a certain range. Then you should apply a Between value filter on the Country field with the - corresponding filter values. - - The filter function to be applied to the filter expression. - The that will be filtered. - The that will be used to determine - which values will be used when filtering. - The value that will be used for the filtering of the data. - A value indicating whether a will - be called after the Filter operation. - - - - Filters by the values of the field. Value filters, for their part, allow filtering operations - to be performed on the aggregate results. Again, the filtering is applied after the grouping - of the data. - - The filter function to be applied to the filter expression. - The that will be filtered. - The that will be used to determine - which values will be used when filtering. - The value that will be used for the filtering of the data. - The value that will be used as the between value when filtering the data. - A value indicating whether a will - be called after the Filter operation. - - - - When a Top/Bottom value filter is applied to a given field with the Items mode, it will select the top/bottom groups for - that field sorted by the chosen aggregate field and the count of which is given by the filter value. For example, - a Top operator with and Items filter value of 10 on the Sum of Cost aggregate field will return the 10 groups - (of the field filtered on) which Sum of Cost is greatest. The Percent mode will return the top/bottom groups which - cumulative aggregate values (just to remind: the aggregate field being set as part of the filter condition) add to - the specified percent of the grand total for that field. The Sum mode, in a similar fashion, gets the top/bottom - groups which cumulative aggregate values add to the sum specified by the filter value. - - The that will be filtered. - The that will be used to determine - which values will be used when filtering. - The aggregate type determining the mode which filters the data. - The value that will be used for the filtering of the data. - A value indicating whether a will - be called after the Filter operation. - - - - When a Top/Bottom value filter is applied to a given field with the Items mode, it will select the top/bottom groups for - that field sorted by the chosen aggregate field and the count of which is given by the filter value. For example, - a Top operator with and Items filter value of 10 on the Sum of Cost aggregate field will return the 10 groups - (of the field filtered on) which Sum of Cost is greatest. The Percent mode will return the top/bottom groups which - cumulative aggregate values (just to remind: the aggregate field being set as part of the filter condition) add to - the specified percent of the grand total for that field. The Sum mode, in a similar fashion, gets the top/bottom - groups which cumulative aggregate values add to the sum specified by the filter value. - - The that will be filtered. - The that will be used to determine - which values will be used when filtering. - The aggregate type determining the mode which filters the data. - The value that will be used for the filtering of the data. - A value indicating whether a will - be called after the Filter operation. - - - - Set the values which will be included in the results of the . - - The which values will be filtered. - The values that will be included in the results. - A value indicating whether a will - be called after the Filter operation. - - - - Sets the values which will be excluded in the results of the . - - The which values will be filtered. - The values will be excluded in the results. - A value indicating whether a will - be called after the Filter operation. - - - - Returns a collection of objects based on their - . - - - A s collection of objects based on their - . - - - The , which will be used as a criteria for - the collection. - - - - - Tries to reorder the specified field with new ZoneType and/or new ZoneIndex. - - The field reference which will be reordered - The new ZoneType for the field - The new ZoneIndex for the field - If the reorder happened or not which could happen if the zoneType - and zoneIndex are the same - - - - Tries to reorder the specified field with new ZoneType and/or new ZoneIndex. - - The field unique name which will be reordered - The new ZoneType for the field - The new ZoneIndex for the field - If the reorder happened or not if the zoneType and zoneIndex are the same - - - - - - - - Saves any control state changes that have - occurred since the time the page was posted back to the server. - - - Returns the 's current state. If there is - no state associated with the control, this method returns null. - - - - - Restores control-state information from a previous page request that - was saved by the - method. - - An that - represents the control state to be restored. - - - - - Creates the filter item. - - - - - Creates the aggregate item. - - - - - Creates the Row item. - - - - - Creates the HeaderRow items. - - - - - Creates the HeaderColumn items. - - - - - Creates the Data Table which contains calculated aggregates. - - - - - Raises event - - - - - - Gets zone by its type. - - - - - - - Handles the event. - - An object that contains the event data. - - - - Handles the event. - - An object that - contains event data. - - - - Raises event - - - - - - Exports the pivot grid data in Microsoft Excel format using the properties set in the ExportSettings - - - - - Stores a custom PageSize value if such is set when page mode is NextPrevAndNumeric - - - - - Gets or sets the outer table. - - The outer table. - - - - Gets or sets the row header table - - The row header table. - - - - Gets or sets the column header table - - The column header table. - - - - Gets or sets the data table - - The data table. - - - - Gets if the grid should be data-bound. - - The flag that indicates if the grid should be data-bound. - - - - Gets if the grid is always bound on post-back (when the view state is disabled). - - The flag indicating if the grid is always bound on post-back. - - - - Raised before a is inserted into particular zone. - - - - - Event raised after a field have been added to the collection. - - - - Fires when a paging action has been performed. - - - Fires when has been changed. - - - - Raised when a button in a control is clicked. - - - - - Gets or sets the default expand state of all row groups - which will be applied on initial load. - - - - - Gets or sets the default expand state of all column groups - which will be applied on initial load. - - - - Gets or sets a value that indicates whether the &nbsp; will be rendered into all empty data cells instead of empty string. - - - - Gets or sets a value that indicates if the aggregate will be placed in the row axis or the column axis. - - - - - Gets or sets a value that indicates the aggregate level. - - - - Gets or sets a value that indicates whether the row table layout will be Tabular, Outline or Fixed. - - - - Gets a reference to which holds all properties associated - with the Fields Popup functionality which groups the fields in convinient - popup in order to leave more space for the data to be displayed. - - - - Gets or sets a string that indicates whether the pivot model should be persisted into the session cache. - - - Gets or sets a string that indicates whether the pivot model should be persisted into the session cache. - - - Gets or sets a value that indicates whether the row table layout is fixed or auto. - - - Gets or sets a value that indicates whether the column table layout is fixed or auto. - - - - Gets or sets a value that will be displayed in data cells where aggragate values could not be calculated. - - - - - Gets or sets a value that will be displayed in data cells where aggragate values were empty. - - - - - Specify the maximum number of items that would appear in a page, - when paging is enabled by property. - Default value is 10. - - value is out of range. - - - - - - - - Gets or sets a value indicating the index of the currently active page in case - paging is enabled ( is - true). - - The index of the currently active page in case paging is enabled. - AllowPaging Property - value is out of range. - - - - Gets the number of pages required to display the records of the data - source in a control. - - - - - Gets or sets a value indicating whether the paging feature is - enabled. - - - - - Gets or sets a value indicating whether the pivotgrid uses IQueryableDataProvider. - - - - - Gets or sets a value indicating whether the sorting feature is enabled. - - - - - Gets or sets a value indicating whether the filtering feature is enabled. - - - - - Gets a reference to the - object that allows - you to set the configuration parameters for OLAP binding - in a Telerik control. - - - - - Gets a collection of RadPivotGridDataItem objects that represent the data items of the current page of data in a RadPivotGrid control - - - - - Gets a collection of PivotGridFieldsCollection objects. - - - - - Field settings collection. Used by Persistence Framework. - - - - - Gets a collection of the pivot grid's collapsed row groups indexes. - - - - - Gets a collection of the pivot grid's collapsed column groups indexes. - - - - - Gets a collection of sort expressions for - - - - - Gets a reference to the - object that allows - you to set the properties of the client-side behavior and - appearance in a Telerik control. - - - - - Gets a reference to the - object that allows - you to set the properties of the control's - child controls for purpose and structure for user - agents rendering to non-visual media such as speech and Braille - - - - - Returns a reference to the object. This group contains - all the settings that are related to the PivotGrid totals. - - - - - Gets or set a value indicating whether the filter header zone of the pivotgrid will be - shown. - - This default value for this property is true. - - - - Gets or set a value indicating whether the data header zone of the pivotgrid will be - shown. - - This default value for this property is true. - - - - Gets or set a value indicating whether the column header zone of the pivotgrid will be - shown. - - This default value for this property is true. - - - - Gets or set a value indicating whether the row header zone of the pivotgrid will be - shown. - - This default value for this property is true. - - - - Gets or sets if the - configuration panel will be enabled. For customization use - . - - The configuration panel enabled state. - - - - Returns a reference to the object. - This group contains all settings related to the - - - - - Gets or sets a value indicating whether the zone context menu should be - enabled. - - - - true if the zone context menu feature is enabled; otherwise, - false. Default is false. - - - - - - Represents the ContextMenu RadMenu control - - - - - Represents the FieldsWindow RadWindow control which - holds all hidden fields - - - - - Represents the PivotGridConfigurationPanel control which is used - to manipulate fields and AggregatesPosition and AggregatesLevel values - - - - - Represents the control that manages the settings of - the automatically generated tooltips in the PivotGrid - - - - - Represents the window that manages the filter expressions for the pivot grid. - - - - - Represents the dialogues that manages the filter expressions for the TOP/Bottom filter operators. - - - - - Gets or sets the header zone text when there are no items added to the row header zone. - - - - - Gets or sets the filter zone text when there are no items added to the filter header zone. - - - - - Gets or sets the column zone text when there are no items added to the column header zone. - - - - - Gets or sets the data zone text when there are no items added to the data header zone. - - - - - Gets the horizontal scroll div. - - - - - Gets the vertical scroll div. - - - - - When set to true enables support for WAI-ARIA - - - - - Style of the row heades' cells in the the pivotgrid. - - - - - Style of the column heades' cells in the the pivotgrid. - - - - - Style of the row totals' cells in the the pivotgrid. - - - - - Style of the column totals' cells in the the pivotgrid. - - - - - Style of the data cells in the the pivotgrid. - - - - - Style of the row grand totals' cells in the the pivotgrid. - - - - - Style of the column grand totals' cells in the the pivotgrid. - - - - - Gets or sets a value indicating where RadPivotGrid will look for its .resx localization file. - By default this file should be in the App_GlobalResources folder. However, if you cannot put - the resource file in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource file. - - - A relative path to the dialogs location. For example: "~/controls/RadPivotGridResources/". - - - If specified, the LocalizationPath - property will allow you to load the grid localization file from any location in the - web application. - - - - - Gets or sets a value indicating whether the ToolTips in the PivotGrid will be enabled feature. - - - - - - Gets a reference to the object that - allows you to set the properties of the grouping operation in a - Telerik RadGrid control. - - - - - Fires when a pivotgrid is exporting. - - - Fires when a pivotgrid is exporting to BIFF format - - - Fires when a pivotgrid cell is exporting. - - - - Raised when the is about to be bound and the data source must be assigned. - - - - - PersistableFieldSetting type. Used by Persistence Framework. - - - - - Gets or sets the context menu button which will show a context menu - when ConfigurationPanelSettings - EnableFieldsContextMenu is set to true and the field is placed in the - ConfigurationPanel. - - The context menu button which will show a context menu - when ConfigurationPanelSettings - EnableFieldsContextMenu is set to true and the field is placed in the - ConfigurationPanel. - - - - Gets or sets the - control which shows\hides the field. - - The - control which shows\hides the field. - - - - - - - - Gets the numericTextBox. - - - - - Gets the group of the combobox. - - - - - Gets the new text of the combobox. - - - - - Gets the numericTextBox. - - - - - Gets the group of the combobox. - - - - - Gets the new text of the combobox. - - - - - Gets the combobox. - - - - - Gets the group of the combobox. - - - - - Gets the new text of the combobox. - - - - - Gets the index of the item in the combo. - - - - - Gets the parent combobox of the selected item. - - - - - Gets the group of the selected item's parent combobox. - - - - - Gets the listitem that has been selected. - - - - - Gets the index of the item in the combo. - - - - - Gets the parent combobox of the selected item. - - - - - Gets the group of the selected item's parent combobox. - - - - - Gets the listitem that has been selected. - - - - RadRibbonBar control allows you to easily organize the navigation of your application in a simple, structured way. - - - RadRibbonBar mimics the UI of the RibbonBar used in Microsoft Office 2007, thus providing your end-users with a familiar way to navigate around your application. - - - - - - The tabs to render are: - * In an Active contextual tab group; - * In an Inactive contextual tab group only if the RenderInactiveContextualTabGroups is set to true; - * Their Visible property is set to true; - - - - - - The contextual tab groups to render are: - * In a Visible tab in an Active contextual tab group; - * In a Visible tab in an Inactive contextual tab group only if the RenderInactiveContextualTabGroups is set to true; - * Their Visible property is set to true; - - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - The instance that triggered the event. - - - - Loads the posted content of the list control, if it is different from the last posting. - - The key identifier for the control, used to index the postCollection. - A that contains value information indexed by control identifiers. - true if the posted content is different from the last posting; otherwise, false. - - - - - - - - - - - - Searches the RadRibbonBar control for the first - RibbonBarTab which Value - property is equal to the specified value. - - - A RibbonBarTab whose Value property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RadRibbonBar control for the first - RibbonBarGroup which Value - property is equal to the specified value. - - - A RibbonBarGroup whose Value property is equal to the specifed - value. If a group is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RadRibbonBar control for the first - RibbonBarButton which Value - property is equal to the specified value. - - - A RibbonBarButton whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RadRibbonBar control for the first - RibbonBarToggleButton which Value - property is equal to the specified value. - - - A RibbonBarToggleButton whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RadRibbonBar control for the first - RibbonBarMenuItem which Value - property is equal to the specified value. - - - A RibbonBarMenuItem whose Value property is equal to the specifed - value. If a menu item is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Populates the control from the specified XML file. - - The name of the XML file. - - - - Loads the control from an XML string. - - - The string representing the XML from which the control will be populated. - - - Use the LoadXml method to populate the control from an XML string. You can use it along the GetXml - method to implement caching. - - - - - Gets an XML string representing the state of the control. All child items and their properties are serialized in this - string. - - - A String representing the state of the control - child items, properties etc. - - - Use the GetXml method to get the XML state of the control. You can cache it and then restore it using - the LoadXml method. - - - - - Occurs (server-side) after a non-selected tab is clicked. - - - The following example demonstrates how to use the SelectedTabChange event to determine the new and the previously selected tab. - - protected void RadRibbonBar1_SelectedTabChange(object sender, RibbonBarSelectedTabChangeEventArgs e) - { - string message = string.Format("Tab {0} was selected.", e.Tab.Text); - string details = string.Format("Previosly selected tab was: {0}", e.PreviouslySelectedTab.Text); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_SelectedTabChange(sender As Object, e As RibbonBarSelectedTabChangeEventArgs) - Dim message As String = String.Format("Tab {0} was selected.", e.Tab.Text) - Dim details As String = String.Format("Previosly selected tab was: {0}", e.PreviouslySelectedTab.Text) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after a button is clicked. - - - The following example demonstrates how to use the ButtonClick event to determine the clicked button and its group. - - protected void RadRibbonBar1_ButtonClick(object sender, RibbonBarButtonClickEventArgs e) - { - string message = string.Format("Button {0} was clicked.", e.Button.Text); - string details = string.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_ButtonClick(sender As Object, e As RibbonBarButtonClickEventArgs) - Dim message As String = String.Format("Button {0} was clicked.", e.Button.Text) - Dim details As String = String.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after a split button or button inside of it is clicked. - - - The following example demonstrates how to use the SplitButtonClick event to determine the clicked button and its group. - - protected void RadRibbonBar1_SplitButtonClick(object sender, RibbonBarSplitButtonClickEventArgs e) - { - string message = string.Format("Button {0} was clicked.", e.Button.Text); - string details = string.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_SplitButtonClick(sender As Object, e As RibbonBarSplitButtonClickEventArgs) - Dim message As String = String.Format("Button {0} was clicked.", e.Button.Text) - Dim details As String = String.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after a menu item inside RibbonBarMenu is clicked. - - - The following example demonstrates how to use the MenuItemClick event to determine the clicked menu item and its group. - - protected void RadRibbonBar1_MenuItemClick(object sender, RibbonBarMenuItemClickEventArgs e) - { - string message = string.Format("Item {0} was clicked.", e.Item.Text); - string details = string.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_MenuItemClick(sender As Object, e As RibbonBarMenuItemClickEventArgs) - Dim message As String = String.Format("Item {0} was clicked.", e.Item.Text) - Dim details As String = String.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after a group launcher is clicked. - - - The following example demonstrates how to use the LauncherClick event to determine the group of the clicked launcher. - - protected void RadRibbonBar1_LauncherClick(object sender, RibbonBarLauncherClickEventArgs e) - { - string message = string.Format("Launcher of group {0} was clicked.", e.Group.Text); - - textBox1.Text = message; - } - - - Protected Sub RadRibbonBar1_LauncherClick(sender As Object, e As RibbonBarLauncherClickEventArgs) - Dim message As String = String.Format("Launcher of group {0} was clicked.", e.Group.Text) - - textBox1.Text = message - End Sub - - - - - - Occurs (server-side) after a toggle button is clicked. - - - The following example demonstrates how to use the ButtonToggle event to determine the toggled button and its group. - - protected void RadRibbonBar1_ButtonToggle(object sender, RibbonBarButtonToggleEventArgs e) - { - string message = string.Format("ToggleButton {0} was toggled.", e.Button.Text); - string details = string.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_ButtonToggle(sender As Object, e As RibbonBarButtonToggleEventArgs) - Dim message As String = String.Format("ToggleButton {0} was toggled.", e.Button.Text) - Dim details As String = String.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after a toggle button inside RibbonBarToggleList is clicked. - - - The following example demonstrates how to use the ToggleListToggle event to determine the toggled button and its group. - - protected void RadRibbonBar1_ToggleListToggle(object sender, RibbonBarToggleListToggleEventArgs e) - { - string message = string.Format("ToggleList's ToggleButton {0} was toggled.", e.ToggleButton.Text); - string details = string.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index); - - textBox1.Text = string.Format("{0} {1}", message, details); - } - - - Protected Sub RadRibbonBar1_ToggleListToggle(sender As Object, e As RibbonBarToggleListToggleEventArgs) - Dim message As String = String.Format("ToggleList's ToggleButton {0} was toggled.", e.ToggleButton.Text) - Dim details As String = String.Format("Group: {0}, Index: {1}", e.Group.Text, e.Index) - - textBox1.Text = String.Format("{0} {1}", message, details) - End Sub - - - - - - Occurs (server-side) after an item of the ApplicationMenu is clicked. - - - The following example demonstrates how to use the ApplicationMenuItemClick event to determine the clicked item. - - protected void RadRibbonBar1_ApplicationMenuItemClick(object sender, RibbonBarApplicationMenuItemClickEventArgs e) - { - string message = string.Format("Application menu item {0} was clicked.", e.Item.Text); - - textBox1.Text = message; - } - - - Protected Sub RadRibbonBar1_ApplicationMenuItemClick(sender As Object, e As RibbonBarApplicationMenuItemClickEventArgs) - Dim message As String = String.Format("Application menu item {0} was clicked.", e.Item.Text) - - textBox1.Text = message - End Sub - - - - - - Occurs (server-side) after a ComboBox item is selected. - - - - - Occurs (server-side) after the text of the ComboBox is changed. - - - - - Occurs (server-side) after a DropDown item is selected. - - - - - Occurs (server-side) after an item is clicked. - - - - - Gets a RibbonBarTabCollection object that contains the tabs of the RibbonBar. - - - A RibbonBarTabCollection that contains the tabs of the RibbonBar. By default - the collection is empty (RibbonBar has no tabs). - - - Use the Tabs property to access the tabs of RadRibbonBar. You can also use the Tabs property to - manage the tabs. You can add, remove or modify tabs from the Tabs collection. - - - The following example demonstrates how to programmatically modify the properties of root tabs. - - RadRibbonBar1.Tabs[0].Text = "Example"; - - - RadTabStrip1.Tabs(0).Text = "Example" - - - - - - Gets or sets the rendering mode of all RibbonBarClickableItems images. - - - One of the RibbonBarImageRenderingMode values. The default value is - Auto. - - - - - Used to customize the RibbonBar keyboard navigation functionality - - - - - Gets or sets the index of the selected tab. - - - The zero based index of the selected tab. The default value is -1 (empty Tabs collection). - - - Use the SelectedTabIndex property to programmatically specify the selected - tab in RadRibbonBar. - - - The following example demonstrates how to programmatically select a tab by using - the SelectedTabIndex property. - - void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - var tab1 = new RibbonBarTab(){ Text="GraphicTools" }; // this will be selected tab - RadRibbonBar1.Tabs.Add(tab1); - - var tab2 = new RibbonBarTab(){ Text="TextTools" }; - RadRibbonBar1.Tabs.Add(tab2); - - RadRibbonBar1.SelectedIndex = 1; // will select "TextTools" tab - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then - ' this will be selected tab - Dim tab1 = New RibbonBarTab() With { Key .Text = "GraphicTools" } - RadRibbonBar1.Tabs.Add(tab1) - - Dim tab2 = New RibbonBarTab() With { Key .Text = "TextTools" } - RadRibbonBar1.Tabs.Add(tab2) - - ' will select "TextTools" tab - RadRibbonBar1.SelectedIndex = 1 - End If - End Sub - - - - - - Gets or sets whether maximizing/minimizing of the RibbonBar should be enabled. - - - True or False. The default value is False. - - - - - Gets or sets whether the RibbonBar should be minimized. - - - True or False. The default value is False. - - - - - Enables automatic arrange of items within a group. - - - True or False. The default value is True. - - - - - Gets a RibbonBarApplicationMenu object (if one is set). - - - A RibbonBarApplicationMenu. If not set, returns null. - - - Use the RibbonBarApplicationMenu property to assign/retrieve an ApplicationMenu to/from RadRibbonBar. - - - The following example demonstrates how to programmatically modify the ApplicationMenu. - - RadRibbonBar1.ApplicationMenu.Items[0].Text = "Example"; - - - RadRibbonBar1.ApplicationMenu.Items(0).Text = "Example" - - - - - - Gets or sets a value indicating the client-side event handler that is called - after the client object of RadRibbonBar is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientLoad property to specify a - JavaScript function that is executed after - the client object of RadRibbonBar is initialized. - A single parameter is passed to the handler, which is the - client-side RadRibbonBar object. - - - The following example demonstrates how to use the OnClientLoad - property. - - <script language="javascript">
- function ClientLoadHandler(sender)
- {
- // perform actions after the RibbonBar is initialized
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientLoad="ClientLoadHandler">
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a non-selected tab is clicked. The event serves as a point for conditional - cancel of the selecting of new tab. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientSelectedTabChanging property to specify a - JavaScript function that is executed after a non-selected tab - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 3 properties: -
    -
  • get_tab() - the instance of the tab which is - just clicked;
  • -
  • get_previouslySelectedTab() - the instance of the tab - which still is the selected tab (it's cancelable event);
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientSelectedTabChanging - property. - - <script language="javascript">
- function ClientSelectedTabChangingHandler(sender, args)
- {
- if (args.get_tab().get_text() == "Unselectable")
- args.set_cancel(true);
- else
- alert("The tab about to be selected is: " + arge.get_tab().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientSelectedTabChanging="ClientSelectedTabChangingHandler">
- <telerik:RibbonBarTab Text="DefaultSelected"/>
- <telerik:RibbonBarTab Text="Unselectable"/>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a non-selected tab is clicked. The event is passed the point for conditional - cancel of the selecting of new tab (ClientSelectedTabChanging). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientSelectedTabChanged property to specify a - JavaScript function that is executed after a non-selected tab - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 3 properties: -
    -
  • get_tab() - the instance of the tab which is - the new selected tab;
  • -
  • get_previouslySelectedTab() - the instance of the tab - which was previously selected;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientSelectedTabChanged - property. - - <script language="javascript">
- function ClientSelectedTabChangedHandler(sender, args)
- {
- alert("The new selected tab is: " + args.get_tab().get_text());
- alert("The previously selected tab is: " + args.get_previouslySelected().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientSelectedTabChanged="ClientSelectedTabChangedHandler">
- <telerik:RibbonBarTab Text="DefaultSelected"/>
- <telerik:RibbonBarTab Text="Unselectable"/>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a button is clicked. The event serves as a point for conditional - cancel of the button clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonClicking property to specify a - JavaScript function that is executed after a button - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientButtonClicking - property. - - <script language="javascript">
- function ClientButtonClickingHandler(sender, args)
- {
- if (args.get_button().get_text() == "Unclickable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientButtonClicking="ClientButtonClickingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarButton Text="Unclickable" />
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a button is clicked. The event is passed the point for conditional - cancel of the button clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonClicked property to specify a - JavaScript function that is executed after a button - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientButtonClicked - property. - - <script language="javascript">
- function ClientButtonClickedHandler(sender, args)
- {
- alert("Clicked button is: " + args.get_button().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientButtonClicked="ClientButtonClickedHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarButton Text="Button" />
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a button inside split button is clicked. The event serves as a point for conditional - cancel of the button clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientSplitButtonClicking property to specify a - JavaScript function that is executed after a button inside of a split button - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientSplitButtonClicking - property. - - <script language="javascript">
- function ClientSplitButtonClickingHandler(sender, args)
- {
- if (args.get_button().get_text() == "Unclickable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientSplitButtonClicking="ClientSplitButtonClickingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarSplitButton Text="SplitButton">
- <Buttons>
- <telerik:RibbonBarButton Text="Unclickable" />
- </Buttons>
- </telerik:RibbonBarSplitButton>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a button inside of a split button is clicked. The event is passed the point for conditional - cancel of the button clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientSplitButtonClicked property to specify a - JavaScript function that is executed after a button inside of a split button - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientSplitButtonClicked - property. - - <script language="javascript">
- function ClientSplitButtonClickedHandler(sender, args)
- {
- alert("The clicked button is:" + args.get_button().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientSplitButtonClicked="ClientSplitButtonClickedHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarSplitButton Text="SplitButton">
- <Buttons>
- <telerik:RibbonBarButton Text="Button" />
- </Buttons>
- </telerik:RibbonBarSplitButton>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a menu item is clicked. The event serves as a point for conditional - cancel of the menu item clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMenuItemClicking property to specify a - JavaScript function that is executed after a menu item - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_item() - the instance of the menu item which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientMenuItemClicking - property. - - <script language="javascript">
- function ClientMenuItemClickingHandler(sender, args)
- {
- if (args.get_item().get_text() == "Unclickable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientMenuItemClicking="ClientMenuItemClickingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarMenu Text="Menu">
- <Items>
- <telerik:RibbonBarMenuItem Text="Unclickable" />
- </Items>
- </telerik:RibbonBarMenu>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a menu item is clicked. The event is passed the point for conditional - cancel of the menu item clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMenuItemClicked property to specify a - JavaScript function that is executed after a menu item - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_item() - the instance of the menu item which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientMenuItemClicked - property. - - <script language="javascript">
- function ClientMenuItemClickedHandler(sender, args)
- {
- alert("The clicked menu item is:" + args.get_item().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientMenuItemClicked="ClientMenuItemClickedHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarMenu Text="Menu">
- <Buttons>
- <telerik:RibbonBarMenuItem Text="MenuItem" />
- </Buttons>
- </telerik:RibbonBarMenu>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after the group launcher is clicked. The event serves as a point for conditional - cancel of the group launcher clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientLauncherClicking property to specify a - JavaScript function that is executed after a group launcher - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_group() - the instance of the group which launcher is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientLauncherClicking - property. - - <script language="javascript">
- function ClientLauncherClickingHandler(sender, args)
- {
- if (args.get_group().get_text() == "Unlaunchable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientLauncherClicking="ClientLauncherClickingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Unlaunchable">
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after the group launcher is clicked. The event is passed the point for conditional - cancel of the group launcher clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientLauncherClicked property to specify a - JavaScript function that is executed after a group launcher - is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_group() - the instance of the group which launcher is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientLauncherClicked - property. - - <script language="javascript">
- function ClientLauncherClickedHandler(sender, args)
- {
- alert("Clicked is the launcher of group: " + args.get_group().get_text());
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientLauncherClicked="ClientLauncherClickedHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a toggle button is clicked. The event serves as a point for conditional - cancel of the button's toggling. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonToggling property to specify a - JavaScript function that is executed after a toggle button is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the toggle button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientButtonToggling - property. - - <script language="javascript">
- function ClientButtonTogglingHandler(sender, args)
- {
- if (args.get_button().get_text() == "Untogglable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientButtonToggling="ClientButtonTogglingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarToggleButton Text="Untogglable" />
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a toggle button is clicked. The event is passed the point for conditional - cancel of the button's toggling. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonToggled property to specify a - JavaScript function that is executed after a toggle button is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the toggle button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientButtonToggled - property. - - <script language="javascript">
- function ClientButtonTogglingHandler(sender, args)
- {
- alert("ToggleButton: " + args.get_button().get_text() + " was toggled");
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientButtonToggled="ClientButtonToggledHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarToggleButton Text="ToggleButton" />
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a toggle button inside of ToggleList is clicked. The event serves as a point for conditional - cancel of the toggle list's toggle-state change. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientToggleListToggling property to specify a - JavaScript function that is executed after a toggle button inside of a ToggleList is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the toggle button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientToggleListToggling - property. - - <script language="javascript">
- function ClientToggleListTogglingHandler(sender, args)
- {
- if (args.get_button().get_text() == "Untogglable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientToggleListToggling="ClientToggleListTogglingHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarToggleList>
- <ToggleButtons>
- <telerik:RibbonBarToggleButton Text="Untogglable" />
- </ToggleButtons>
- </telerik:RibbonBarToggleList>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a toggle button inside of ToggleList is clicked. The event is passed the point for conditional - cancel of the toggle list's toggle-state change. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientToggleListToggled property to specify a - JavaScript function that is executed after a toggle button inside of a ToggleList is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 2 properties: -
    -
  • get_button() - the instance of the toggle button which is - clicked;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientToggleListToggled - property. - - <script language="javascript">
- function ClientToggleListToggledHandler(sender, args)
- {
- alert("Toggled button is: " + args.get_button().get_text()
- }
- </script>
-
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" - OnClientToggleListToggled="ClientToggleListToggledHandler">
- <telerik:RibbonBarTab Text="Tab">
- <telerik:RibbonBarGroup Text="Group">
- <Items>
- <telerik:RibbonBarToggleList>
- <ToggleButtons>
- <telerik:RibbonBarToggleButton Text="ToggleButton" />
- </ToggleButtons>
- </telerik:RibbonBarToggleList>
- </Items>
- </telerik:RibbonBarGroup>
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after an item inside of an ApplicationMenu is clicked. The event serves as a point for conditional - cancel of the item's clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientApplicationMenuItemClicking property to specify a - JavaScript function that is executed after an item inside of na ApplicationMenu is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 3 properties: -
    -
  • get_applicationMenu() - the instance of the application menu;
  • -
  • get_item() - the instance of the clicked application menu item;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientApplicationMenuItemClicking - property. - - <script language="javascript">
- function ClientApplicationMenuItemClickingHandler(sender, args)
- {
- if (args.get_item().get_text() == "Unclickable")
- args.set_cancel(true);
- }
- </script>
-
- <telerik:RibbonBarApplicationMenu ID="RadRibbonBarApplicationMenu1" runat="server" Text="Menu">
- <Items>
- <telerik:RibbonBarApplicationMenuItem Text="Unclickable"/>
- </Items>
- </telerik:RibbonBarApplicationMenu>
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" ApplicationMenuID="RadRibbonBarApplicationMenu1" - OnClientApplicationMenuItemClicking="ClientApplicationMenuItemClickingHandler">
- <telerik:RibbonBarTab Text="Tab">
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after an item inside of an ApplicationMenu is clicked. The event is passed the point for conditional - cancel of the item's clicking. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientApplicationMenuItemClicked property to specify a - JavaScript function that is executed after an item inside of na ApplicationMenu is clicked. - Two parameters are passed to the handler: - - sender (the client-side RadRibbonBar - object); - - eventArgs with 3 properties: -
    -
  • get_applicationMenu() - the instance of the application menu;
  • -
  • get_item() - the instance of the clicked application menu item;
  • -
  • get_domEvent().
  • -
-
-
-
- - The following example demonstrates how to use the OnClientApplicationMenuItemClicked - property. - - <script language="javascript">
- function ClientApplicationMenuItemClickedHandler(sender, args)
- {
- alert("The clicked ApplicationMenuItem is: " + args.get_item().get_text());
- }
- </script>
-
- <telerik:RibbonBarApplicationMenu ID="RadRibbonBarApplicationMenu1" runat="server" Text="Menu">
- <Items>
- <telerik:RibbonBarApplicationMenuItem Text="MenuItem"/>
- </Items>
- </telerik:RibbonBarApplicationMenu>
- <telerik:RadRibbonBar id="RadRibbonBar1" runat="server" ApplicationMenuID="RadRibbonBarApplicationMenu1" - OnClientApplicationMenuItemClicked="ClientApplicationMenuItemClickedHandler">
- <telerik:RibbonBarTab Text="Tab">
- </telerik:RibbonBarTab>
- </telerik:RadRibbonBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - when the RibbonBar is about to be minimized.The event serves as a point for conditional - cancel of the RibbonBar's minimizing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the RibbonBar is minimized. The event is passed the point for conditional - cancel of the RibbonBar's minimizing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the RibbonBar is about to be maximized.The event serves as a point for conditional - cancel of the RibbonBar's maximizing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the RibbonBar is maximized. The event is passed the point for conditional - cancel of the RibbonBar's maximizing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when an item inside the RibbonBarComboBox is about to be selected.The event serves as a point for conditional - cancel of the item's selecting. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when an item inside the RibbonBarComboBox is selected. The event is passed the point for conditional - cancel of the item's selecting. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when an text inside the RibbonBarComboBox is changed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when an item inside the RibbonBarDropDown is about to be selected.The event serves as a point for conditional - cancel of the item's selecting. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when an item inside the RibbonBarDropDown is selected. The event is passed the point for conditional - cancel of the item's selecting. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the value inside the RibbonBarNumericTextBox is about to be changed. The event serves as a point for conditional - cancel of the value's changing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the value inside the RibbonBarNumericTextBox is changed. The event is passed the point for conditional - cancel of the value's changing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the selected color of the RibbonBarColorPicker is about to be changed. The event serves as a point for conditional - cancel of the selected color's changing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when the selected color of the RibbonBarColorPicker is changed. The event is passed the point for conditional - cancel of the selected color's changing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when a gallery item is focused. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when a gallery item loses focus. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating the client-side event handler that is called - when a gallery item is clicked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - - - Gets or sets a value indicating whether the Quick Access Toolbar is enabled. False by default. - - - - - This class defines the RibbonBarApplicationMenu object that inherits WebControl. - - - - - - - - - Gets a RibbonBarApplicationMenuItemCollection object that contains the items of the ApplicationMenu. - - - A RibbonBarApplicationMenuItemCollection that contains the items of the ApplicationMenu. By default - the collection is empty (the ApplicationMenu has no items). - - - Use the Items property to access the items of the ApplicationMenu. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of the items inside the collection. - - applicationMenu.Items[0].Text = "SampleMenuItemText"; - - - applicationMenu.Items(0).Text = "SampleMenuItemText" - - - - - - Used to customize the ApplicationMenu Footer. - - - - - Used to customize the ApplicationMenu AuxiliaryPane. - - - - - Gets or sets the text of the ApplicationMenu. - - - The text of the ApplicationMenu. The default value is empty - string. - - - Use the property to set the displayed text of the ApplicationMenu. - - - - - Gets or sets the access key that allows you to quickly navigate to the - Web server control. - - The access key for quick navigation to the Web server control. The default - value is , which indicates that this property - is not set. - The specified access key - is neither null, nor a single character string. - - - - - - This Class defines RibbonBarApplicationMenuItem that inherits WebControl and IRibbonBarCommandItem. - - - - - Gets or sets the description of the ApplicationMenuItem. - - - The description of the ApplicationMenuItem. The default value is empty - string. - - - Use the property to set the description that appears below the ApplicationMenuItem text. - - - - - This Class defines RibbonBarApplicationMenuItem collection that inherits List collection. - - - - - Gets the application menu item that has been clicked. - - - - - Gets the previously selected tab. - - - - - Gets the currently selected tab. - - - - - Specifies where the end user can save the edited image - - - - - The user can save the image on the client and server machine. - - - - - The user can save image on the client only. - - - - - The user can save image on the server only. - - - - - Specifies the control (panel) used for loading the ImageEditor tool dialogs. It can use UpdatePanel(AjaxPanel), XmlHttpPanel and RadAjaxPanel. - The default value is AjaxPanel, which means asp:UpdatePanel will be used. - - - - - (Default Value) ASP.NET UpdatePanel is used to load the tools dialogs. - - - - - Telerik RadXmlHttpPanel is used to load the tools dialogs. - - - - - Telerik RadAjaxPanel is used to load the tools dialogs. - - - - - Provides the event data for the RadImageEditor's ImageLoading event. - - - - - Gets or sets a bool value indicating whether the saving on the image should be canceled. - - - - - Gets or set the Editable image that will be used by the ImageEditor control. - - - - - Provides the event data for the RadImageEditor's ImageSaving event. - - - - - Gets or sets a bool value indicating whether the saving on the image should be canceled. - - - - - Gets or sets the name of the image that will be saved. - - - - - Gets or sets a bool value indicating whether the existing image with the same file name will be overwritten. - - - - - Gets or sets additional argument that will be passed back to the 'saved' client-side event. - - - - - Exception for the case of missing editable image. - - - - - Represents an ImageEditor dialog used for controlling the Print functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Save functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - The settings determining the password strenght. - - - - - Gets or sets a value indicating whether PasswordStrengthInticator will be shown - - - true, if you want to show PasswordStrengthInticator, otherwise false (the default value). - - - - - List of semi-colon separated numeric values used to determine the weighting of a strength characteristic. - There must be 4 values specified which must total 100. - The default weighting values are defined as 50;15;15;20. - This corresponds to password length is 50% of the strength calculation, Numeric criteria is 15% of strength calculation, casing criteria is 15% of calculation, and symbol criteria is 20% of calculation. - So the format is 'A;B;C;D' where A = length weighting, B = numeric weighting, C = casing weighting, D = symbol weighting. - - - - - Preferred length of the password. - Default preffered length is 10 - - - - - Minimum number of numeric characters. - Default number of minimum numeric characters is 2 - - - - - Specifies whether mixed case characters are required. - By default is true - - - - - Only in effect if RequiresUpperAndLowerCaseCharacters property is true. - Specifies the minimum number of lowercase characters required when requiring mixed case characters as part of your password strength considerations. - By default MinimumLowerCaseCharacters is 2 - - - - - Only in effect if RequiresUpperAndLowerCaseCharacters property is true. - Specifies the minimum number of uppercase characters required when requiring mixed case characters as part of your password strength considerations. - By default MinimumUpperCaseCharacters is 2 - - - - - Minimum number of symbol characters. - By default is 2 - - - - - Specify the client event handler that will be executed when calculating the password strength - - - - - List of semi-colon separated descriptions that will be shown depending on the calculated password strength - By default TextStrengthDescriptions is "Very Weak;Weak;Medium;Strong;Very Strong" - - - - - List of semi-colon separated names of CSS Styles that will be used to style the indicator element. - By default TextStrengthDescriptionStyles = "riStrengthBarL0;riStrengthBarL1;riStrengthBarL2;riStrengthBarL3;riStrengthBarL4;riStrengthBarL5;" - - - - - Set the CSS Style for the indicator element. This style will be set regardless of the calculated password strength. - - - - - Set ID of the element wtich to style and show the text. Leave this empty and such element will be created automatically. - - - - - Set Width of the indicator - - - - - This property auto enables key hints on page load. - - - - - This property sets the key that is used to focus RadRibbonBar. It is always used in combination with FocusKey. - - - - - This property sets the key that is used to focus RadGrid. It is always used in combination with CommandKey. - - - - - The ColorPickerItem class represents Colors items within a RadColorPicker control. - - - - - Creates an instance of the RibbonBarColorPickerItem class. - - - - - Creates an instance of the RibbonBarColorPickerItem class. - - The color of the RibbonBarColorPicker item. - - - - Creates an instance of the RibbonBarColorPickerItem class. - - The color of the RibbonBarColorPickerItem item. - The title that will be displayed in the tooltip of the item. - - - - Gets or sets the tooltip text of the RibbonBarColorPickerItem. - - - - - Gets or sets the Color value of the RibbonBarColorPickerItem. - - - - - Adds colors to the palette of RibbonBarColorPicker. - - A collection of ColorPickerItem objects. - - - - Gets the height of the item. - - A that represents the - height of the item. The default is . - - - - - - Gets a RibbonBarColorPickerItemCollection object that contains the items of the ColorPicker. - - - A RibbonBarColorPickerItemCollection that contains the items of the ColorPicker. - - - Use the Items property to access the items of the ColorPicker. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - - - Get/Set the selected color of the ColorPicker. - - - - - Gets or sets the image's URL of a certain color picker. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrl property to specify a custom image that will be - shown in the color picker dropdown button. - - - - - This Class defines RibbonBarListItemCollection collection that inherits List collection. - - - - - Returns the Visible list items. - - All visible items in the DropDown. - - - - Clears the selection. The property of all items is set to false. - - - - - Gets a RibbonBarListItemCollection object that contains the items of the DropDown. - - - A RibbonBarListItemCollection that contains the items of the DropDown. By default - the collection is empty (the DropDown has no items). - - - Use the Items property to access the items of the DropDown. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - - - Gets or sets the selected index of the control. - - The index that should be selected. - - Set the selected index to -1 to clear the selection. - - - - - Gets or sets the text of the ComboBox. - - - The text of the ComboBox. The default value is - the text of the selected item, or empty string. - - - - Gets or sets the value of the RibbonBarNumericTextBox item. - - The Value property is a Nullable Double type. A - nullable type can represent the normal range of values for its underlying value type, - plus an additional null value. - - - - - Gets or sets the text content of the RibbonBarNumericTextBox item. - - The text content of the RibbonBarNumericTextBox item. - - - - - Gets or sets the value to increment or decrement the spin box when the up or down buttons are clicked. - - - - - Gets or sets the text content to be displayed before the value in the input element of the RibbonBarNumericTextBox item. - - The text content to be displayed before the value in the input element. - - - - - Gets or sets the text content to be displayed after the value inside the input element of the RibbonBarNumericTextBox item. - - The text content to be displayed after the value inside the input element. - - - - - The default ItemTemplate used when using the RadRotator in AdRotator mode(for displaying banners/ads). A custom template can be specified. - - - - - Defines the child controls of the BannerItemTemplate. - - The parent Control to which the child controls will be added. - - - - Helper class that provides the the DataItem object when using the RadRotator in AdRotator mode (for displaying banners/ads). - - - - - Gets or sets the location of the image. - - - - - Gets or sets the alternate text of the image. - - - - - Gets or sets the URL to which the user will be navigated when the item is clicked. - - - - - A resource type class used in OData binding. - - - - - Gets or sets the name. - - The name. - - - - Gets or sets the key field. - - The key field. - - - - Gets or sets the text field. - - The text field. - - - - Gets or sets the container. - - The container. - - - - Resource type collection used in OData binding. - - - - - - - - - Servers Resources loading - - - - - For internal use only. - - - - - - - - - - RadScheduler settings used in OData binding. - - - - - For internal use only. - - - - - - - Gets or sets theGets or sets the id of the ODataDataSource control which has been used. - - The O data data source ID. - - - - Gets or sets the data recurrence parent key field. - - The data recurrence parent key field. - - - - Gets or sets the data recurrence field. - - The data recurrence field. - - - - Gets or sets the data start field. - - The data start field. - - - - Gets or sets the data end field. - - The data end field. - - - - Gets or sets the data description field. - - The data description field. - - - - Gets or sets the data subject field. - - The data subject field. - - - - Gets or sets the data key field. - - The data key field. - - - - Gets or sets the initial container name field. - - The data model ID. - - - - Collection of Resources to bind against. - - - - - This interface defines the ITimeZoneModel. - - - - - Supports creating new Appointment instances. - - - - - Creates a new Appointment instance. - - - A new Appointment instance. - - - - - For internal use only. - - - - - - - - - - Using the Telerik RadScheduler control, you can build powerful ASP.NET - applications to allow users to create and manage tasks. RadScheduler displays - and edits scheduled appointments that are stored in a separate data source. A variety - of data binding options allows you to work with data sources that - are as simple or as powerful as you want. - - - RadScheduler - - RadScheduler control class. - - This Class describes the Client Properties and Events of RadScheduler. - - - - - Exports to PDF. - - - - - Returns the results of a callback event that targets a control. - - The result of the callback. - - - - Processes a callback event that targets a control. - - A string that represents an event argument to pass - to the event handler. - - - - Rebinds this instance. - - - - - Exports an appointment to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the appointment in iCalendar format. - The appointment which should be exported. - - - - Exports an appointment to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the appointment in iCalendar format. - The appointment which should be exported. - The time zone offset to apply to the exported appointments. - - - - Exports the specified appointments to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the iCalendar representation of the supplied appointments. - A collection of appointments which should be exported. - - - - Exports the specified appointments to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the iCalendar representation of the supplied appointments. - An IEnumerable of appointments which should be exported. - - - - Exports the specified appointments to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the iCalendar representation of the supplied appointments. - A collection of appointments which should be exported. - The time zone offset to apply to the exported appointments. - - - - Exports the specified appointments to iCalendar format. - - - The return value should be saved as a text file with an "ics" extension. - - A string containing the iCalendar representation of the supplied appointments. - An IEnumerable of appointments which should be exported. - The time zone offset to apply to the exported appointments. - - - - Creates a new appointment instance. - This method is used internally by RadScheduler and can be used by custom appointment providers. - - - A new appointment instance. - - - - Normally this is an instance of the Appointment class. - - - This method can be overriden by inheritors to create instances of custom classes. - - - An alternative method for working with custom appointments is to use the - AppointmentFactory property. - - - - - - - Returns the UTC date that corresponds to midnight on the client for the selected date. - - Client's date and time in UTC. - The UTC date that corresponds to midnight on the client for the selected date. - - - - Shows the inline edit form. - - - The appointment which is edited. Its properties are used to populate the edit form. - - - - - Shows the inline edit form. - - - The appointment which is edited. Its properties are used to populate the edit form. - - - A boolean value indicating whether to edit the recurring series. - - - - - Shows the advanced edit form. - - - The appointment which is edited. Its properties are used to populate the edit form. - - - - - Shows the advanced edit form. - - - The appointment which is edited. Its properties are used to populate the edit form. - - - A boolean value indicating whether to edit the recurring series. - - - - - Shows the inline insert form. - - - Specifies the start time for the insert form. It is used to determine the row in which the form is shown. - - - - - Shows the inline insert form. - - The time slot object where the insert form will be shown - - - - Shows the advansed insert form. - - - Specifies the start time for the insert form. It is used to determine the row in which the form is shown. - - - - - Shows the all-day inline insert form - - - Specifies the start time for the insert form. It is used to determine the row in which the form is shown. - - - - - Retrieves a TimeSlot object from its client-side index - - String representation of the TimeSlot's index - The TimeSlot that corresponds to the passed index - - - - Hides the active insert or edit form (if any). - - - - - Converts a date time object from UTC to client date format using the TimeZoneOffset property. - - The date to convert. Must be in UTC format. - - The date in client format which corresponds to the supplied UTC date - - - RadScheduler always stores dates in UTC format to allow support for multiple time zones. - The UtcToDisplay method must be used when - a date (e.g. Appointment.Start) - should be presented to the client in some way - e.g. displayed in a label. - - - - Appointment appointment = RadScheduler1.Appointments[0]; - Label1.Text = RadScheduler1.UtcToDisplay(appointment.Start).ToString() - - - Dim appointment As Appointment = RadScheduler1.Appointments(0) - Label1.Text = RadScheduler1.UtcToDisplay(appointment.Start).ToString() - - - - - - Converts a date time object from client date format to UTC using the TimeZoneOffset property. - - The date to convert. Must be in client format. - - The date in UTC format which corresponds to the supplied client format date. - - - RadScheduler always stores dates in UTC format to allow support for multiple time zones. The DisplayToUtc method must be used when - a date is supplied to RadScheduler to be persisted in some way. For example updating the Appointment.Start property from a textbox. - - - - Appointment appointment = RadScheduler1.Appointments[0]; - DateTime startInClientFormat = DateTime.Parse(TextBox1.Text); - appointment.Start = RadScheduler1.DisplayToUtc(startInClientFormat); - RadScheduler1.Update(appointment); - - - Dim appointment As Appointment = RadScheduler1.Appointments(0) - Dim startInClientFormat As DateTime = DateTime.Parse(TextBox1.Text) - appointment.Start = RadScheduler1.DisplayToUtc(startInClientFormat) - RadScheduler1.Update(appointment) - - - - - - Inserts the specified appointment in the Appointments collection, - expands the series (if it is recurring) and inserts persists it through the provider. - - The appointment to insert. - - - - Updates the specified appointment and persists the changes through the provider. - - - This method can be used, along with PrepareToEdit - to create and persist a recurrence exceptions. - - - - Appointment occurrence = RadScheduler1.Appointments[0]; - Appointment recurrenceException = RadScheduler1.PrepareToEdit(occurrence, false); - - recurrenceException.Subject = "This is a recurrence exception"; - - RadScheduler1.UpdateAppointment(recurrenceException); - - - Dim occurrence As Appointment = RadScheduler1.Appointments(0) - Dim recurrenceException as Appointment = RadScheduler1.PrepareToEdit(occurrence, False) - - recurrenceException.Subject = "This is a recurrence exception" - - RadScheduler1.UpdateAppointment(recurrenceException) - - - The appointment to update. - - - - Updates the specified appointment and persists the changes through the provider. - - Use this overload when the underlying data source requires both original and modified - data to perform an update operation. One such example is LinqDataSource. - - - This method can be used, along with PrepareToEdit - to create and persist a recurrence exceptions. - - - - Appointment occurrence = RadScheduler1.Appointments[0]; - Appointment recurrenceException = RadScheduler1.PrepareToEdit(occurrence, false); - - Appointment modifiedAppointment = recurrenceException.Clone(); - modifiedAppointment.Subject = "This is a recurrence exception"; - - RadScheduler1.UpdateAppointment(modifiedAppointment, recurrenceException); - - - Dim occurrence As Appointment = RadScheduler1.Appointments(0) - Dim recurrenceException as Appointment = RadScheduler1.PrepareToEdit(occurrence, False) - - Dim modifiedAppointment = recurrenceException.Clone() - modifiedAppointment.Subject = "This is a recurrence exception" - - RadScheduler1.UpdateAppointment(modifiedAppointment, recurrenceException) - - - The appointment to update. - - The original appointment. Use Appointment.Clone - to obtain a copy of the appointment before updating its properties. - - - - - Prepares the specified appointment for editing. - - - If the specified appointment is not recurring, the method does nothing and returns the same appointment. - If the appointment is recurring and editSeries is set to true the method returns the recurrence parent. - Otherwise, the method clones the appointment and updates it state to recurrence exception. - - - - Appointment occurrence = RadScheduler1.Appointments[0]; - Appointment recurrenceException = RadScheduler1.PrepareToEdit(occurrence, false); - - recurrenceException.Subject = "This is a recurrence exception"; - - RadScheduler1.UpdateAppointment(recurrenceException); - - - Dim occurrence As Appointment = RadScheduler1.Appointments(0) - Dim recurrenceException as Appointment = RadScheduler1.PrepareToEdit(occurrence, False) - - recurrenceException.Subject = "This is a recurrence exception" - - RadScheduler1.UpdateAppointment(recurrenceException) - - - The appointment to edit. - if set to true [edit series]. - - - - - Deletes the appointment or the recurrence series it is part of. - - - When deleting an appointment that is part of recurrence series and deleteSeries is set to false - this method will update the master appointment to produce a recurrence exception. - - The appointment to delete. - if set to true delete complete recurrence series. - - - - Removes the associated recurrence exceptions through the provider. - - The recurrence master. - - - - Updates the appointment by dismissing its reminder. - - The appointment to update. - The original appointment. - - - - Indicates whether to instantiate a clent-side object for the - advanced insert form (applicable only in Web Service mode). - - - - - Indicates whether to instantiate a clent-side object for the - advanced edit form (applicable only in Web Service mode). - - - - - - Gets a reference to the object that - allows you to set the properties of the grouping operation in a - Telerik RadScheduler control. - - - - A reference to the SchedulerExportSettings that allows you to set the properties of - the grouping operation in a Telerik RadScheduler control. - - - Use the ExportSettings property to control the settings of the grouping - operations in a Telerik RadScheduler control. This property is read-only; - however, you can set the properties of the SchedulerGroupingSettings object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadScheduler - control in the form Property-Subproperty, where Subproperty is a property of - the SchedulerExportSettings object (for example, - GroupingSettings-ExpandTooltip). - Nest a <GroupingSettings> element between the opening and closing - tags of the Telerik RadScheduler control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, GroupingSettings.ExpandTooltip). Common settings - usually include the tool tips for the sorting controls. - - - - Fires when a scheduler is exporting. - - - - Gets the time zones enabled. - - The time zones enabled. - - - - Gets a collection of Appointment objects that represent individual - appointments in the RadScheduler control. - - - A collection of the currently loaded Appointment objects. - - - - - Gets a collection of Appointment objects that represent individual - appointments in the RadScheduler control. - - - A collection of the currently loaded Appointment objects. - - - - - A factory for appointment instances. - - - - The default factory returns instances of the - Appointment class. - - - RadScheduler needs to create appointment instances in various - stages of the control life cycle. You can use custom appointment - classes by either implementing an IAppointmentFactory or by overriding - the CreateAppointment method. - - - - - - A collection of all resources loaded by RadScheduler. - - - - - Returns visible start date of the current view. - - - All tasks rendered in the current view will be within the range specified by the VisibleRangeStart - and VisibleRangeEnd properties. - - - - - Returns visible end date of the current view. - - - All tasks rendered in the current view will be within the range specified by the VisibleRangeStart - and VisibleRangeEnd properties. - - - - - Gets a value indicating whether the recurring series are being edited at the moment, as opposed to a single appointment of the series. - - - This property is also used to indicate the target of the delete and move operations. - - - true if the recurring series are being edited at the moment; false otherwise. - - - - - Gets a boolean value that indicates if recurrence support has been configured for this - instance of RadScheduler. - - - - - - True when the - DataRecurrenceField and - DataRecurrenceParentKeyField - fields are set or when using a custom data provider. - - False if either of the above conditions is not satisfied - or when the EnableRecurrenceSupport property - is set to false. - - - - - Gets a boolean value that indicates if reminders support has been configured for this - instance of RadScheduler. - - - - - - True when the - DataReminderField - field is set or when using a custom data provider. - - False if the above conditions is not satisfied - or when the Reminders.Enabled property - is set to false. - - - - - One of the SchedulerViewType values. The - default is DayView. - - Gets or sets the current view type. - - - - Gets the name of the resource to group by. - Can also be in the format "Date,[Resource Name]" when grouping by date. - - The resource to group by. - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - Gets or sets a value indicating whether the user can use the advanced insert/edit form. - - true if the user should be able to use the advanced insert/edit form; false otherwise. The default value is true. - - - - Gets or sets a value indicating whether "advanced" mode is the default edit mode. - - true if the "advanced" mode is the default edit mode; false if "inline" is default edit mode. The default value is true. - - - - Gets or sets a value indicating whether "advanced" mode is the default insert mode. - - true if the "advanced" mode is the default insert mode; false if "inline" is default insert mode. The default value is false. - - - - Gets the Advanced form settings. - - The Advanced form settings. - - - - Gets or sets a value indicating whether a delete confirmation dialog should be displayed when the user clicks the "delete" button of an appointment. - - - true if the confirmation dialog should be displayed; false otherwise. The default value is true. - - - - - Gets or sets a value indicating whether a confirmation dialog should be displayed when the user moves a recurring appointment. - - - true if the confirmation dialog should be displayed; false otherwise. The default value is false. - - - - - Gets or sets a value indicating whether RadScheduler is in read-only mode. - - - true if RadScheduler should be read-only; false otherwise. The default value is false. - - - By default the user is able to insert, edit and delete appointments. Use the ReadOnly to disable the editing capabilities of RadScheduler. - - - - - Gets or sets the ODataDataSource used for data binding. - - - - - Gets a collection of ResourceType objects that represent - the resource types used by RadScheduler. - - - - - Gets a collection of ResourceStyleMapping - objects can be used to associate resources with particular - cascading style sheet (CSS) classes. - - - Resources are matched by all (boolean AND) specified properties. - - - - - Gets or sets the time zone offset to use when displaying appointments. - - The time zone offset to use when displaying appointments. - - The default value is TimeSpan.Zero. - This property is ignored if TimeZoneID is set. - - - - - Gets or sets the time zone offset to use when determining todays date. - - The time zone offset to use when determining todays date. - - The default value is the system's time zone offset. - This value is ignored when TimeZoneOffset is set. - - - - - The meaning of this property is different depending on the current - view type. - In day view mode SelectedDate - gets or sets the currently displayed date. - In week and - month view modes SelectedDate - gets or sets the highlighted date in the current week or month. - - - - - Gets or sets the number of rows each time label spans. - - - The number of rows each time label spans. The default value is 2 - - - - Gets or sets the number of minuties which a single row represents - - An integer specifying how many minutes a row represents. The default value is 30. - - - - Gets or sets the number of rows that are hovered when the mouse is over the appointment area. - - An integer specifying the number of rows that are hovered when the mouse is over the appointment area. - The default value is 2. - This value also determines the initial length of inserted appointments. - - - - - Gets or sets the time used to denote the start of the day. If you need to set DayStartTime="00:00:00" and DayEndTime="23:59:59", it is recommended to set ShowFullTime="true" instead. - - - The time used to denote the start of the day. - - - This property is ignored in month view mode. If you need to set DayStartTime="00:00:00" and DayEndTime="23:59:59", it is recommended to set ShowFullTime="true" instead. - - - - - Gets or sets the time used to denote the end of the day. If you need to set DayStartTime="00:00:00" and DayEndTime="23:59:59", it is recommended to set ShowFullTime="true" instead. - - - The time used to denote the end of the day. - - - This property is ignored in month view mode. If you need to set DayStartTime="00:00:00" and DayEndTime="23:59:59", it is recommended to set ShowFullTime="true" instead. - - - - - Gets or sets the time used to denote the start of the work day. - - - The time used to denote the start of the work day. - - - The effect from this property is only visual. - This property is ignored in month view mode. - - - - - Gets or sets the time used to denote the end of the work day. - - - The time used to denote the end of the work day. - - - The effect from this property is only visual. - This property is ignored in month view mode. - - - - - Gets or sets a value that indicates whether the resource editing in the advanced form is enabled. - - A value that indicates whether the resource editing in the advanced form is enabled. - - - - Gets or sets a value that indicates whether the attribute editing in the advanced form is enabled. - - A value that indicates whether the attribute editing in the advanced form is enabled. - - - - Gets or sets the first day of the week. - - - Used this property to specify the first day rendered in week view. - - - - - Gets or sets the last day of the week. - - - This property is applied in week and month view. - - - - - Gets or sets a value specifying the way RadScheduler should behave when its content - overflows its dimensions. - - - One of the OverflowBehavior values. The default value is OverflowBehavior.Scroll. - - - By default RadScheduler will render a scrollbar should its content exceed the specified dimensions - (set via the Width and Height properties). If - OverflowBehavior.Expand is set RadScheduler - will expand vertically. The Height property must not be set in that case. - - - - - Gets or sets a value indicating whether to render the hours column in day and week view. - - true if the hours column is rendered in day and week view; otherwise, false. - - - - Gets or sets a value indicating whether to render date headers for the current view. - - true if the date headers for the current view are rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render resource headers for the current view. - - true if the resource headers for the current view are rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render the header. - - true if the header is rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render the footer. - - true if the footer is rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render the navigation links.. - - true if the header is rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render the tabs for switching between the view types. - - true if the tabs is rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render the all day pane. - - true if the header is rendered; otherwise, false. - - - - Gets or sets the edit form date format string. - - The edit form date format string. - - - - Gets or sets the edit form time format string. - - The edit form time format string. - - - - Gets or sets the hours panel time format string. - - The hours panel time format string. - - - - Gets or sets a value indicating whether to display the complete day (24-hour view) or the range between DayStartTime and DayEndTime. - - true if showing the complete day (24-hour view); otherwise, false. - - - - Defines the styling mode for appointments. - - - - AppointmentStyleMode.Auto - - Appointments with set background or border color are rendered using the Simple style - without rounded corners or gradiented background. - All others are rendered using their default style - with rounded corners and gradiented background. - - - AppointmentStyleMode.Simple - - Appointments are rendered using the simple style - without rounded corners or gradiented background. - - - AppointmentStyleMode.Default - - Appointments rendered with rounded corners and gradiented background. - Custom background and border colors are supported. Gradiented backgrounds for custom colors are not available in IE6. - - - - - - Gets or sets the resource grouping direction of the RadScheduler. - - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where RadScheduler will look for its .resx localization files. - - The localization path. - - - - Gets the timeline view. - - The timeline view. - - - - Gets the WeekView settings. - - The WeekView. - - - - Gets the Day view settings. - - The day view. - - - - Gets the Multi-day view settings. - - The multi day view. - - - - Gets the Month view settings. - - The month view. - - - - Gets the appointment context menu settings. - - The appointment context menu settings. - - - - Gets the time slot context menu settings. - - The time slot context menu settings. - - - - Gets or sets a value indicating whether to enable the date picker for quick navigation. - - true if the date picker for quick navigation is enabled; otherwise, false. - - - - Gets or sets the height of RadScheduler rows. - - The height of a RadScheduler row - - - - Gets or sets the width of each content column. - - The width of each content column - - - - Gets or sets the width of each row header. - - The width of each row header - - - - Gets or sets the minimum height of the inline insert/edit template. - - - The height is applied to the textbox inside the default inline template. - It will be ignored when using custom templates for the inline form. - - The minimum height of the inline insert/edit template. - - - - Gets or sets the minimum width of the inline insert/edit template. - - The minimum width of the inline insert/edit template. - - - - Gets or sets the height. - - The height. - - - - Gets or sets a value indicating whether the appointment start and end time should be rendered exactly. - - - true if the appointment start and end time should be rendered exactly; - false if the appointment start and end time should be snapped to the row boundaries. - The default value is false. - - - Currently, exact time rendering is supported only in Day, Week and MultiDay views. - - - - - Gets a collection of RadSchedulerContextMenu objects - that represent the time slot context menus of the RadScheduler control. - - - - - Gets a collection of RadSchedulerContextMenu objects - that represent the Appointment context menus of the RadScheduler control. - - A RadSchedulerContextMenuCollection that - contains all the Appointment context menus of the RadScheduler control. - - - By default, if the AppointmentContextMenus collection contains RadSchedulerContextMenus, - the first one is displayed on the right-click of each Appointment. - To specify a different context menu for a Appointment, use its - ContextMenuID property. - - - The following code example demonstrates how to populate the AppointmentContextMenus - collection declaratively. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <telerik:RadScheduler runat="server" ID="RadScheduler1"> - <AppointmentContextMenus> - <telerik:RadSchedulerContextMenu runat="server" ID="ContextMenu1"> - <Items> - <telerik:RadMenuItem Text="Open" Value="CommandEdit" /> - <telerik:RadMenuItem IsSeparator="True" /> - <telerik:RadMenuItem Text="Categorize"> - <Items> - <telerik:RadMenuItem Text="Development" Value="1" /> - <telerik:RadMenuItem Text="Marketing" Value="2" /> - <telerik:RadMenuItem Text="Personal" Value="3" /> - <telerik:RadMenuItem Text="Work" Value="4" /> - </Items> - </telerik:RadMenuItem> - <telerik:RadMenuItem IsSeparator="True" /> - <telerik:RadMenuItem Text="Delete" ImageUrl="Images/delete.gif" Value="CommandDelete" /> - </Items> - </telerik:RadSchedulerContextMenu> - </AppointmentContextMenus> - </telerik:RadScheduler> - - </form> - </body> - </html> - - - - - - Gets or sets the name of the validation group to be used for the integrated validation controls. - - - - - Overridden. Gets or sets the ID property of the data source control that the - RadScheduler should use to retrieve its data source. - - - - - Gets or sets the provider instance to be used by RadScheduler. Use this property - with providers that are created at runtime. For ASP.NET providers defined in web.config - use the ProviderName property. - - - The provider instance to be used by RadScheduler. - - - - - Gets or sets the name of the current appointment provider used by RadScheduler. The provider - must be defined in the RadScheduler section of web.config. - - - The name of the current appointment provider used by RadScheduler as defined in web.config. - - - - - Gets the current provider context. The context object contains - additional information about the currently performed operation, - that can be used to improve and optimize provider implementations. - - - The current provider context. - The context object can be of type - UpdateAppointmentContext or - CreateRecurrenceExceptionContext. - - - - - Gets or sets the key field for appointments in the data source specified by the - DataSourceID property. - - - The name of the key field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the subject field for appointments in the data source specified by the - DataSourceID property. - - - The name of the subject field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the time zone field for appointments in the data source specified by the - DataSourceID property. - - - The name of the time zone field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the description field for appointments in the data source specified by the - DataSourceID property. - - - The name of the description field for appointments in the data source specified by - DataSourceID. - - - This property is optional. If it's not specified the description field will not be - visible in the insert/edit forms. - Setting this property to a non-empty string will enable the Description field - regardless of the value of EnableDescriptionField. - - - - - Gets or sets the reminder field for appointments in the data source specified by the - DataSourceID property. - - - The name of the reminder field for appointments in the data source specified by - DataSourceID. - - - This property is optional. If it's not specified the reminder drop-down will not be - visible in the insert/edit forms. - Setting this property to a non-empty string will enable the reminder drop-down - regardless of the value of Reminders-Enabled. - - - - - Gets the reminders. - - The reminders. - - - - Gets or sets the end field for appointments in the data source specified by the - DataSourceID property. - - - The name of the end field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the start field for appointments in the data source specified by the - DataSourceID property. - - - The name of the start field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the recurrence rule field for appointments in the data source specified by - the DataSourceID property. - - - The name of the recurrene rule field for appointments in the data source specified by - DataSourceID. - - - - - Gets or sets the recurrence parent key field for appointments in the data source specified - by the DataSourceID property. - - - The name of the recurrence parent key field for appointments in the data source specified - by DataSourceID. - - - - - Specifies the database fields (column names) which should be loaded as appointment attributes. - - - An array of strings representing the names of the database fields which should be populated as appointment custom attributes. By default RadScheduler does not populate any - database fields as custom attributes. - - - You should use the CustomAttributeNames property when you want RadScheduler to populate the Attributes collection of the appointments. - - - - - Gets or sets the current time zone RadScheduler ins operating in - - The time zone ID. - - - - Gets or sets the comparer instance used to determine the appointment ordering within the same slot. - By default, appointments are ordered by start time and duration. - - - - - Gets or sets the maximum recurrence candidates limit. - - - This limit is used to prevent lockups when evaluating long recurring series. - The default value should not be changed under normal conditions. - - The maximum recurrence candidates limit. - - - - Gets or sets a value indicating whether the user can create and edit recurring appointments. - - true if the user is allowed to create and edit recurring appointments; false otherwise. The default value is true. - - - - Gets or sets a value indicating whether the user can view and edit the description field of appointments. - - - true if the user is allowed to view and edit the description field of appointments; - false otherwise. The default value is false. - - - - - Gets the web service to be used for binding this instance of RadScheduler. - - The web service settings. - - - - Gets or sets a value indicating whether appointments editing is allowed. - - true if appointments editing is allowed; otherwise, false. - - - - Gets or sets a value indicating whether appointments deleting is allowed. - - true if appointments deleting is allowed; otherwise, false. - - - - Gets or sets a value indicating whether appointments inserting is allowed. - - true if appointments inserting is allowed; otherwise, false. - - - - Gets or sets the appointment template. - - The appointment template. - - - - Gets or sets the inline insert template. - - The inline insert template. - - - - Gets or sets the inline edit template. - - The inline edit template. - - - - Gets or sets the advanced insert template. - - The advanced insert template. - - - - Gets or sets the advanced edit template. - - The advanced edit template. - - - - Gets or sets the resource header template. - - The resource header template. - - - - Occurs when a button is clicked within the appointment template. - - - The AppointmentCommand event is raised when any button is clicked withing the appointment template. - This event is commonly used to handle button controls with a custom CommandName value. - - - - void RadScheduler1_AppointmentCommand(object sender, AppointmentCommandEventArgs e) - { - if (e.CommandName == "Delete") - { - Delete(e.Container.Appointment); - } - } - - - Sub RadScheduler1_AppointmentCommand(sender As Object, e As AppointmentCommandEventArgs) - If e.CommandName = "Delete" Then - Delete(e.Container.Appointment) - End If - End Sub - - - - - - Occurs when an appointment context menu item is clicked, before processing default commands. - - - The AppointmentContextMenuItemClicking event is raised when an appointment context menu item is clicked, before are processing default commands. - - - - - Occurs after an appointment context menu item is clicked. - - - The AppointmentContextMenuItemClicked event is raised after an appointment context menu item is clicked. - - - - - Occurs when a time slot context menu item is clicked, before processing default commands. - - - The TimeSlotContextMenuItemClicking event is raised when a time slot context menu item is clicked, before are processing default commands. - - - - - Occurs after a time slot context menu item is clicked. - - - The TimeSlotContextMenuItemClicked event is raised after a time slot context menu item is clicked. - - - - - Occurs when an appointment is about to be inserted in the database through the provider. - - - The insert operation can be cancelled by setting the - SchedulerCancelEventArgs.Cancel - property of SchedulerCancelEventArgs to true. - - - - void RadScheduler1_AppointmentInsert(object sender, SchedulerCancelEventArgs e) - { - if (e.Appointment.Subject == String.Empty) - { - e.Cancel = true; - } - } - - - Sub RadScheduler1_AppointmentInsert(sender As Object, e As SchedulerCancelEventArgs) - If e.Appointment.Subject = String.Empty Then - e.Cancel = True - End If - End Sub - - - - - - Occurs when an appointment is about to be updated through the provider. - - - The AppointmentUpdateEventArgs hold a reference both - to the original and the modified appointment. Any modifications on the original appointments are - discarded. - The update operation can be cancelled by setting the - AppointmentUpdateEventArgs.Cancel - property of AppointmentUpdateEventArgs to true. - - - - void RadScheduler1_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e) - { - e.ModifiedAppointment.End = e.ModifiedAppointment.End.AddHours(1); - } - - - Sub RadScheduler1_AppointmentUpdate(sender As Object, e As AppointmentUpdateEventArgs) - e.ModifiedAppointment.End = e.ModifiedAppointment.End.AddHours(1) - End Sub - - - - - - Occurs when an appointment is about to be deleted from the database through the provider. - - - The delete operation can be cancelled by setting the - SchedulerCancelEventArgs.Cancel - property of SchedulerCancelEventArgs to true. - - - - void RadScheduler1_AppointmentDelete(object sender, SchedulerCancelEventArgs e) - { - if (e.Appointment.Attributes["ReadOnly"] == "true") - { - e.Cancel = true; - } - } - - - Sub RadScheduler1_AppointmentDelete(sender As Object, e As SchedulerCancelEventArgs) - If e.Appointment.Attributes("ReadOnly") = "true" Then - e.Cancel = True - End If - End Sub - - - - - - Occurs when an appointment template has been instantiated. - - - You can use this event to modify the appointment template before data binding. - - - - void RadScheduler1_AppointmentCreated(object sender, AppointmentCreatedEventArgs e) - { - Label testLabel = (Label) e.Container.FindControl("Test"); - testLabel.Text = "Test"; - } - - - Sub RadScheduler1_AppointmentCreated(sender As Object, e As AppointmentCreatedEventArgs) - Dim testLabel As Label = CType(e.Container.FindControl("Test"), Label) - testLabel.Text = "Test" - End Sub - - - - - - Occurs when an appointment has been added to the Appointments collection from the data source. - - - You can use this event to make adjustments to the appointments as they are being loaded. - - - - void RadScheduler1_AppointmentDataBound(object sender, SchedulerEventArgs e) - { - e.Appointment.Start = e.Appointment.Start.AddHours(1); - } - - - Sub RadScheduler1_AppointmentDataBound(sender As Object, e As SchedulerEventArgs) - e.Appointment.Start = e.Appointment.Start.AddHours(1) - End Sub - - - - - - Occurs when an appointment has been clicked. - - - You can use this event to perform additional actions when an appointment has been clicked. - - - - void RadScheduler1_AppointmentClick(object sender, SchedulerEventArgs e) - { - Response.Redirect("Page.aspx); - } - - - Sub RadScheduler1_AppointmentClick(sender As Object, e As SchedulerEventArgs) - Response.Redirect("Page.aspx) - End Sub - - - - - - Occurs when the RadScheduler is about to execute a navigation command. - - - You can use this event to customize the action when the RadScheduler is about to execute a navigation command. - The event can be cancelled by setting the - SchedulerNavigationCommandEventArgs.Cancel - property of SchedulerNavigationCommandEventArgs to true. - - - - void RadScheduler1_NavigationCommand(object sender, SchedulerNavigationCommandEventArgs e) - { - if (e.Command == SchedulerNavigationCommand.NavigateToNextPeriod) - { - e.Cancel = true; - } - } - - - Sub RadScheduler1_NavigationCommand(sender As Object, e As SchedulerNavigationCommandEventArgs) - If e.Command = SchedulerNavigationCommand.NavigateToNextPeriod Then - e.Cancel = True - End If - End Sub - - - - - - Occurs when a navigation command has been executed. - - - You can use this event to perform custom actions when a navigation command has been processed. - - - - void RadScheduler1_NavigationComplete(object sender, SchedulerNavigationCompleteEventArgs e) - { - Label1.Text = RadScheduler1.SelectedDate; - } - - - Sub RadScheduler1_NavigationComplete(sender As Object, e As SchedulerNavigationCompleteEventArgs) - Label1.Text = RadScheduler1.SelectedDate - End Sub - - - - - - Occurs when an insert/edit form is being created. - - - You can use this event to perform custom actions when a form is about to be created. - The event can be cancelled by setting the - SchedulerFormCreatingEventArgs.Cancel - property of SchedulerFormCreatingEventArgs to true. - - - - void RadScheduler1_FormCreating(object sender, SchedulerFormCreatingEventArgs e) - { - if (e.Mode == SchedulerFormMode.Insert) - { - e.Cancel = true; - } - } - - - Sub RadScheduler1_FormCreating(sender As Object, e As SchedulerFormCreatingEventArgs) - If e.Mode = SchedulerFormMode.Insert Then - e.Cancel = True - End If - End Sub - - - - - - Occurs when an insert/edit form has been created. - - - You can use this event to make modifications to the form template. - - - - void RadScheduler1_FormCreated(object sender, SchedulerFormCreatedEventArgs e) - { - if (e.Container.Mode == SchedulerFormMode.Insert) - { - Label startDate = (Label) e.Container.FindControl("StartDate"); - startDate.Text = e.Container.Appointment.Start; - } - } - - - Sub RadScheduler1_FormCreated(sender As Object, e As SchedulerFormCreatedEventArgs) - If e.Container.Mode = SchedulerFormMode.Insert Then - Dim startDate As Label = CType(e.Container.FindControl("StartDate"), Label) - startDate.Text = e.Container.Appointment.Start - End If - End Sub - - - - - - Occurs when the Cancel button of an edit form is clicked, but before RadScheduler exits edit mode. - - - You can use this event to provide an event-handling method that performs a custom routine, - such as stopping the cancel operation if it would put the appointment in an undesired state. - To stop the cancel action set the - AppointmentCancelingEditEventArgs.Cancel - property of AppointmentCancelingEditEventArgs to true. - - - - void RadScheduler1_FormCreated(object sender, SchedulerFormCreatedEventArgs e) - { - if (e.Container.Mode == SchedulerFormMode.Insert) - { - TextBox startDate = (TextBox) e.Container.FindControl("StartDate"); - if (startDate.Text == String.Empty) - { - e.Cancel = true; - } - } - } - - - Sub RadScheduler1_FormCreated(sender As Object, e As SchedulerFormCreatedEventArgs) - If e.Container.Mode = SchedulerFormMode.Insert Then - Dim startDate As TextBox = CType(e.Container.FindControl("StartDate"), TextBox) - If startDate.Text = String.Empty Then - e.Cancel = true - End If - End If - End Sub - - - - - - Occurs when a time slot has been created. - - - You can use this event to make modifications to the time slots. - - - - void RadScheduler1_TimeSlotCreated(object sender, TimeSlotCreatedEventArgs e) - { - e.TimeSlot.CssClass = "holidayTimeSlot"; - } - - - Sub RadScheduler1_TimeSlotCreated(sender As Object, e As TimeSlotCreatedEventArgs) - e.TimeSlot.CssClass = "holidayTimeSlot" - End Sub - - - - - - Occurs when a resource header has been created. - - - You can use this event to make modifications to the resouce headers. - - - - void RadScheduler1_ResourceHeaderCreated(object sender, ResourceHeaderCreatedEventArgs e) - { - e.Container.Controls.Add(new LiteralControl("Test")); - } - - - Sub RadScheduler1_ResourceHeaderCreated(sender As Object, e As ResourceHeaderCreatedEventArgs) - e.Container.Controls.Add(new LiteralControl("Test")) - End Sub - - - - - - Occurs when an occurrence is about to be removed. - - - The OccurrenceDeleteEventArgs hold a reference both - to the master and the occurrence appointment. - The operation can be cancelled by setting the - Cancel - property of OccurrenceDeleteEventArgs to true. - - - - void RadScheduler1_OccurrenceDelete(object sender, OccurrenceDeleteEventArgs e) - { - e.Cancel = true; - } - - - Sub RadScheduler1_OccurrenceDelete(sender As Object, e As OccurrenceDeleteEventArgs) - e.Cancel = true - End Sub - - - - - - Occurs when an appointment that represents a recurrence exception is about to be created. - - - The RecurrenceExceptionCreatedEventArgs hold a reference both - to the master and the exception appointment. - The operation can be cancelled by setting the - Cancel - property of RecurrenceExceptionCreatedEventArgs to true. - - - - void RadScheduler1_RecurrenceExceptionCreated(object sender, RecurrenceExceptionCreatedEventArgs e) - { - e.Cancel = true; - } - - - Sub RadScheduler1_RecurrenceExceptionCreated(sender As Object, e As RecurrenceExceptionCreatedEventArgs) - e.Cancel = true - End Sub - - - - - - Occurs when the scheduler is about to request resources from the Web Service. - - - - Resources need to be populated from the server when using resource grouping. - Doing so also reduces the client-side initialization time. - - - This operation requires the WebPermission to be granted - for the Web Service URL. This permission is not granted by default in Medium Trust. - - - You can disable the population of the resources from the server and still use - client-side rendering for grouped views. To do so you need to set the - WebServiceSettings.ResourcePopulationMode - to Manual and - populate the resources from the OnInit method of the page. - - - The ResourcesPopulatingEventArgs - contains additional information about the request that is about to be made. - You can use its properties to modify the URL, supply credentials and so on. - - - The operation can be cancelled by setting the - ResourcesPopulatingEventArgs.Cancel - property of ResourcesPopulatingEventArgs to true. - - - - - void RadScheduler1_ResourcesPopulating(object sender, ResourcesPopulatingEventArgs e) - { - e.Cancel = true; - } - - - Sub RadScheduler1_ResourcesPopulating(sender As Object, e As ResourcesPopulatingEventArgs) - e.Cancel = true - End Sub - - - - - - Occurs when the scheduler is about to request appointments from the provider / data source. - - - - You can use this event to supply additional information to the providers' GetAppointments(ISchedulerInfo) method. - - - In order to send additional data to the provider you need to inherit - or implement from scratch, adding your custom properties in the process. - Replace the object with your implementation - and access it from the providers' GetAppointments(ISchedulerInfo) method. - - - The operation can be cancelled by setting the - AppointmentsPopulatingEventArgs.Cancel - property of to true. - - - - - void RadScheduler1_AppointmentsPopulating(object sender, AppointmentsPopulatingEventArgs e) - { - MySchedulerInfo info = new MySchedulerInfo(e.SchedulerInfo); // Copy existing data - info.UserID = 42; - - e.ScheduulerInfo = info; - } - - - Private Sub RadScheduler1_AppointmentsPopulating(sender As Object, e As AppointmentsPopulatingEventArgs) - Dim info As New MySchedulerInfo(e.SchedulerInfo) - ' Copy existing data - - info.UserID = 42 - e.ScheduulerInfo = info - End Sub - - - - - - Occurs when a reminder has been snoozed. - - - - The event arguments contain: - - The snoozed reminder - The minutes the reminder was snoozed for. - Positive values indicate that the reminder will be snoozed for the next N minutes; - Negative values indicate that the reminder is snoozed until -N minutes before the appointment start. - The appointment the reminder belongs to - - - - The operation can be cancelled by setting the - ReminderSnoozeEventArgs.Cancel - property of ReminderSnoozeEventArgs to true. - If the operation is not cancelled RadScheduler will update the appointment. - - - - - void RadScheduler1_ReminderSnooze(object sender, ReminderSnoozeEventArgs e) - { - e.Cancel = true; - } - - - Sub RadScheduler1_ReminderSnooze(sender As Object, e As ReminderSnoozeEventArgs) - e.Cancel = true - End Sub - - - - - - Occurs when a reminder has been dismissed. - - - - The event arguments contain: - - The dismissed reminder - The original appointment with non-modified reminders - The modified appointment with updated reminders - The modified appointment with updated reminders - - - - The operation can be cancelled by setting the - ReminderDismissEventArgs.Cancel - property of ReminderDismissEventArgs to true. - If the operation is not cancelled RadScheduler will update the appointment. - - - - - void RadScheduler1_ReminderDismiss(object sender, ReminderDismissEventArgs e) - { - e.Cancel = true; - } - - - Sub RadScheduler1_ReminderDismiss(sender As Object, e As ReminderDismissEventArgs) - e.Cancel = true - End Sub - - - - - - Gets or sets the OnClientAppointmentClick. - - The OnClientAppointmentClick. - - - - Gets or sets the OnClientAppointmentInserting. - - The OnClientAppointmentInserting. - - - - Gets or sets the OnClientAppointmentInserting. - - The OnClientAppointmentInserting. - - - - Gets or sets the OnClientAppointmentResizeStart. - - The OnClientAppointmentResizeStart. - - - - Gets or sets the OnClientAppointmentResizeEnd. - - The OnClientAppointmentResizeEnd. - - - - Gets or sets the OnClientAppointmentResizing. - - The OnClientAppointmentResizing. - - - - Gets or sets the OnClientAppointmentDeleting. - - The OnClientAppointmentDeleting. - - - - Gets or sets the OnClientAppointmentEditing. - - The OnClientAppointmentEditing. - - - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is about to be moved. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientAppointmentMoveStartHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentMoveStart="onClientAppointmentMoveStartHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentMoveStart client-side event - handler is called when an appointment is about to be moved. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with four properties: - - get_appointment(), the instance of the appointment. - set_cancel(), set to true to cancel the move operation. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is being moved. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientAppointmentMovingHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var targetSlot = eventArgs.get_targetSlot();
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentMoving="onClientAppointmentMovingHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentMoving client-side event - handler is called when an appointment is being moved. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with four properties: - - get_appointment(), the instance of the appointment. - get_targetSlot(), the slot that the appointment currently occupies. - set_cancel(), set to true to cancel the move operation. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment has been moved. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientAppointmentMoveEndHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var newStartTime = eventArgs.get_newStartTime();
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentMoveEnd="onClientAppointmentMoveEndHandler">
- ....
- </telerik:RadScheduler>
-
- - - If specified, the OnClientAppointmentMoveEnd client-side event - handler is called when an appointment has been moved. - - - The event will also be fired when the move operation has been aborted by the - user. In this case the get_isAbortedByUser() property of the event arguments will - be set to "true". - - - The event will also fire if the appointment is dropped in its original location, - but no postback will occur as the appointment is not altered. - - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with six properties: - - get_appointment(), the instance of the appointment. - get_newStartTime(), the new start time of the appointment. - get_editingRecurringSeries(), a boolean value indicating whether the user has selected to edit the whole series. - get_targetSlot(), the target slot that the appointment has been moved to. - get_isAbortedByUser(), indicates whether the move operation has been aborted as a result of user action. - set_cancel(), set to true to cancel the move operation. - - - - This event can be cancelled. - -
- - - Gets or sets the on client time slot click. - - The on client time slot click. - - - - Gets or sets a value indicating the client-side event handler that is called when - the recurrence action confirmation dialog is about to be shown. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientRecurrenceActionDialogShowingHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var action = eventArgs.get_recurrenceAction();
-
- if (action == Telerik.Web.UI.RecurrenceAction.Edit)
- {
- alert("Overriding recurrence action dialog to 'Edit series' for appointment '" + appointment.get_subject() + "'"); - eventArgs.set_cancel(true);
- eventArgs.set_editSeries(true);
- }
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRecurrenceActionDialogShowing="onClientRecurrenceActionDialogShowingHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRecurrenceActionDialogShowing client-side event - handler is called when the recurrence action confirmation dialog is about to be shown. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - set_cancel(), set to true to suppress the confirmation dialog. - set_editSeries(), set to true or false to override the result from the dialog (only if it has been cancelled by calling eventArgs.set_cancel(true)). - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the recurrence action confirmation dialog has been closed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientRecurrenceActionDialogClosedHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var editSeries = eventArgs.get_editSeries();
-
- alert("The user has set editSeries to '" + editSeries + "' for appointment '" + appointment.get_subject() + "'"); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRecurrenceActionDialogClosed="onClientRecurrenceActionDialogClosedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRecurrenceActionDialogClosed client-side event - handler is called when the recurrence action confirmation dialog has been closed. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - get_editSeries(), the selected option from the dialog. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an edit/insert form has been created. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientFormCreatedHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var formElement = eventArgs.get_formElement();
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientFormCreated="onClientFormCreatedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientFormCreated client-side event - handler is called when an edit/insert form has been created. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the instance of the appointment. - get_formElement(), the DOM element of the form. - get_mode(), enumerable of type Telerik.Web.UI.SchedulerFormMode. - See SchedulerFormMode for the list of possible values. - get_editingRecurringSeries(), a boolean indicating if the user - has chosen to edit the recurring series (true) or a single occurrence (false). - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment has been right-clicked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientAppointmentContextMenuHandler(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- // ...
- eventArgs.get_domEvent().preventDefault(); // Prevent displaying the browser menu
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentContextMenu="onClientAppointmentContextMenuHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentContextMenu client-side event - handler is called when an appointment has been right-clicked. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the instance of the appointment. - get_domEvent(), the original DOM event. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an empty time slot has been right-clicked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientTimeSlotContextMenuHandler(sender, eventArgs)
- {
- var time = eventArgs.get_time();
- // ...
- eventArgs.get_domEvent().preventDefault(); // Prevent displaying the browser menu
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientTimeSlotContextMenu="onClientTimeSlotContextMenuHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentContextMenu client-side event - handler is called when an empty time slot has been right-clicked. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with four properties: - - get_targetSlot(), the target slot. - get_time(), the time that corresponds to the slot. - get_isAllDay(), a boolean indicating if this is an all-day slot (the time should be discarded in this case). - get_domEvent(), the original DOM event. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler is about to request appointments from the Web Service. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentsPopulatingHandler(sender, eventArgs)
- {
- alert("Data loading");
- eventArgs.get_schedulerInfo().CustomProperty = "My Data"; - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentsPopulating="clientAppointmentsPopulatingHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentsPopulating client-side event - handler is called when the scheduler is about to request appointments. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised before - the appointments are retrieved from the data service. - The event will be raised again each time new data is about to be retrieved from the web service. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler has received appointments from the Web Service. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentsPopulatedHandler(sender)
- {
- alert("Appointments populated");
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentsPopulated="clientAppointmentsPopulatedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentsPopulated client-side event - handler is called when the scheduler has received appointments. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised after - the appointments are retrieved from the data service. - The event will be raised again each time new data has been retrieved from the web service. - One parameter is passed to the handler: - - sender, the scheduler client object; - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is received from the Web Service and is about to be rendered. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentDataBoundHandler(sender, eventArgs)
- {
- alert("Appointment loaded");
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentDataBound="clientAppointmentDataBoundHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentDataBound client-side event - handler is called when an appointment is received and is about to be rendered. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised after - the appointments are retrieved from the data service. - The event will be raised for each appointment that has been retrieved from the web service. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the instance of the appointment; - get_data(), the original data object retrieved from the web service. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment has been serialized to a data object and is about to be sent to the Web Service. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentSerializedHandler(sender, eventArgs)
- {
- eventArgs.get_data().myProperty = 1234;
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentSerialized="clientAppointmentSerializedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentSerialized client-side event - handler is called when an appointment has been serialized to a data object and - is about to be sent to the Web Service. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised before - the appointment is sent to the data service. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the instance of the appointment; - get_data(), the constructed data object that will be sent to the web service. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is received from the Web Service and hase been rendered. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentCreatedHandler(sender, eventArgs)
- {
- eventArgs.get_appointment().get_element().style.border = "1px solid red";
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentCreated="clientAppointmentCreatedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentCreated client-side event - handler is called when an appointment is received and has been rendered. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised after - the appointments are retrieved from the data service. - The event will be raised for each appointment that has been retrieved from the web service. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with one property: - - get_appointment(), the appointment that has been rendered. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler is about to request resources from the Web Service. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientResourcesPopulatingHandler(sender, eventArgs)
- {
- alert("Resources loading");
- eventArgs.get_schedulerInfo().CustomProperty = "My Data"; - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientResourcesPopulating="clientResourcesPopulatingHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientResourcesPopulating client-side event - handler is called when the scheduler is about to request resources. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised before - the resources are retrieved from the data service. - The event will be raised only once, at the time of the initial load. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler has received resources from the Web Service. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientResourcesPopulatedHandler(sender)
- {
- alert("Resources loaded");
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientResourcesPopulated="clientResourcesPopulatedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientResourcesPopulated client-side event - handler is called when the scheduler has received resources. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised after - the resources have been retrieved from the data service. - The event will be raised only once, at the time of the initial load. - One parameter is passed to the handler: - - sender, the scheduler client object; - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler has been populated with data. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientDataBoundHandler(sender, eventArgs)
- {
- alert("Data loaded");
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientDataBound="clientDataBoundHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientDataBound client-side event - handler is called when the scheduler has been populated with data. - In the case of server-side binding, the event will be raised - immediately after the control is initialized. - When client-side binding is used, the event will be raised when - both the appointments and the resources are retrieved from the data service. - The event will be raised again each time new data is retrieved from the web service. - One parameter is passed to the handler: - - sender, the scheduler client object; - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a request to the Web Service has succeeded. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientRequestSuccessHandler(sender, eventArgs)
- {
- alert("Operation code: " + eventArgs.get_result().Code);
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRequestSuccess="clientRequestSuccessHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRequestSuccess client-side event - handler is called when a request to the Web Service has succeeded. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with one property: - - get_result(), the object received from the server as. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a request to the Web Service has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientRequestFailedHandler(sender, eventArgs)
- {
- alert("Request failed!");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRequestFailed="clientRequestFailedHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRequestFailed client-side event - handler is called when a request to the Web Service has failed. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_errorMessage(), the error message sent from the server. - set_cancel(), set to true to suppress the default action (alert message). - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is about to be stored via Web Service call. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentWebServiceInserting(sender, eventArgs)
- {
- alert("Insert cancelled");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentWebServiceInserting="clientAppointmentWebServiceInserting">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentWebServiceInserting client-side event - handler is called when an appointment is about to be stored via Web Service call. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the appointment that is about to be inserted. - set_cancel(), set to true cancel the operation. - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is about to be deleted via Web Service call. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentWebServiceDeleting(sender, eventArgs)
- {
- alert("Delete cancelled");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentWebServiceDeleting="clientAppointmentWebServiceDeleting">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentWebServiceDeleting client-side event - handler is called when an appointment is about to be deleted via Web Service call. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the appointment that is about to be deleted. - get_editingRecurringSeries(), indicates whether the recurring series are being deleted. - set_cancel(), set to true cancel the operation. - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment is about to be updated via Web Service call. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientAppointmentWebServiceUpdating(sender, eventArgs)
- {
- alert("Update cancelled");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentWebServiceUpdating="clientAppointmentWebServiceUpdating">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentWebServiceUpdating client-side event - handler is called when an appointment is about to be updated via Web Service call. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the appointment that is about to be updated. - set_cancel(), set to true cancel the operation. - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a recurrence exception is about to be created via Web Service call. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientRecurrenceExceptionCreating(sender, eventArgs)
- {
- alert("Operation cancelled");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRecurrenceExceptionCreating="clientRecurrenceExceptionCreating">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRecurrenceExceptionCreating client-side event - handler is called when a recurrence exception is about to be created via Web Service call. - In the case of server-side binding, the event will not be raised. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the appointment that represents the recurrence exception that is about to be stored. - set_cancel(), set to true cancel the operation. - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - recurrence exceptions are about to be removed via Web Service call. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientRecurrenceExceptionsRemoving(sender, eventArgs)
- {
- alert("Operation cancelled");
- eventArgs.set_cancel(true); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientRecurrenceExceptionsRemoving="clientRecurrenceExceptionsRemoving">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientRecurrenceExceptionsRemoving client-side event - handler is called when recurrence exceptions are about to be removed via Web Service call. - In the case of server-side binding, the event will not be raised. - When client-side binding is used, the event will be raised when the user - chooses to remove the recurrence exceptions of a given series through the advanced form. - - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the master appointment that represents the recurrence series. - set_cancel(), set to true cancel the operation. - get_schedulerInfo(), the schedulerInfo object that will be passed to the web service method. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the scheduler is about to execute a navigation command. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientNavigationCommandHandler(sender, eventArgs)
- {
- if (eventArgs.get_command() == Telerik.Web.UI.SchedulerNavigationCommand.NavigateToNextPeriod)
- alert("Navigating to next period"); - }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientNavigationCommand="clientNavigationCommandHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientNavigationCommand client-side event - handler is called when the scheduler is about to execute a navigation command. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_command(), the navigation command that is being processed. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a navigation command has been completed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function clientNavigationCompleteHandler(sender, eventArgs)
- {
- if (eventArgs.get_command() == Telerik.Web.UI.SchedulerNavigationCommand.SwitchToDayView)
- alert("Displaying day view");
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnNavigationComplete="clientNavigationCompleteHandler">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnNavigationComplete client-side event - handler is called when a navigation command has been completed. - The event will be raised only when client-side binding is used. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with one properties: - - get_command(), the navigation command that is being processed. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an apointment context menu item is clicked, before RadScheduler processes the click event. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function appointmentContextMenuItemClicking(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var clickedItem = eventArgs.get_item();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentContextMenuItemClicking="appointmentContextMenuItemClicking">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentContextMenuItemClicking - client-side event handler is called when an apointment context menu item is clicked, - before RadScheduler processes the click event. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - get_item(), the clicked menu item. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. Cancelling it will prevent any further processing of the command. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an apointment context menu item is clicked, after RadScheduler has processed the event. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function appointmentContextMenuItemClicked(sender, eventArgs)
- {
- var appointment = eventArgs.get_appointment();
- var clickedItem = eventArgs.get_item();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientAppointmentContextMenuItemClicked="appointmentContextMenuItemClicked">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientAppointmentContextMenuItemClicking - client-side event handler is called when an apointment context menu item is clicked, - after RadScheduler has processed the event. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_appointment(), the instance of the appointment. - get_item(), the clicked menu item. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a time slot context menu item is clicked, before RadScheduler processes the click event. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function appointmentTimeSlotMenuItemClicking(sender, eventArgs)
- {
- var timeSlot = eventArgs.get_slot();
- var clickedItem = eventArgs.get_item();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientTimeSlotContextMenuItemClicking="appointmentTimeSlotMenuItemClicking">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientTimeSlotContextMenuItemClicking - client-side event handler is called when a time slot context menu item is clicked, - before RadScheduler processes the click event. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_slot(), the instance of the time slot. - get_item(), the clicked menu item. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. Cancelling it will prevent any further processing of the command. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - a time slot context menu item is clicked, after RadScheduler has processed the event. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function appointmentTimeSlotMenuItemClicked(sender, eventArgs)
- {
- var timeSlot = eventArgs.get_slot();
- var clickedItem = eventArgs.get_item();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientTimeSlotContextMenuItemClicked="appointmentTimeSlotMenuItemClicked">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientTimeSlotContextMenuItemClicking - client-side event handler is called when a time slot context menu item is clicked, - after RadScheduler has processed the event. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with two properties: - - get_slot(), the instance of the time slot. - get_item(), the clicked menu item. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment reminder is due and is about to be triggered. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function reminderTriggering(sender, eventArgs)
- {
- var appointment = eventArgs.get_appoitment();
- var reminder = eventArgs.get_reminder();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientReminderTriggering="reminderTriggering">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientReminderTriggering - client-side event handler is called when an appointment reminder is about to be triggered, - before the pop-up dialog is shown. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - get_reminder(), the reminder. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. Doing so effectively ignores the reminder. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment reminder is about to be snoozed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function reminderSnoozing(sender, eventArgs)
- {
- var appointment = eventArgs.get_appoitment();
- var reminder = eventArgs.get_reminder();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientReminderSnoozing="reminderSnoozing">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientReminderSnoozing - client-side event handler is called when an appointment reminder has been snoozed by the user, - before the command is sent to the server. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - get_reminder(), the snoozed reminder. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - an appointment reminder is about to be dismissed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function reminderDismissing(sender, eventArgs)
- {
- var appointment = eventArgs.get_appoitment();
- var reminder = eventArgs.get_reminder();
- // ...
- }
- </script>
- <telerik:RadScheduler ID="RadScheduler1"
- runat="server"
- OnClientReminderDismissing="reminderDismissing">
- ....
- </telerik:RadScheduler>
-
- - If specified, the OnClientReminderDismissing - client-side event handler is called when an appointment reminder has been dismissed by the user, - before the command is sent to the server. - Two parameters are passed to the handler: - - sender, the scheduler client object; - eventArgs with three properties: - - get_appointment(), the instance of the appointment. - get_reminder(), the reminder. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - - - - This Abstract partial Class defines the RecurrenceEditor object. - - - Wraps the panel for creating recurring appointments in a separate class. - - - RecurrenceEditor - - - The RadSchedulerRecurrenceEditor is a lightweight control that encapsulates - all of the User Interface elements needed to display and edit RadScheduler recurrence rules. - - - This partial class describes the client Properties and Events in RecurrenceEditor. - - - This Class adds the Style classes in the RecurrenceEditor. - - - - - When implemented by a class, enables a server control to process an - event raised when a form is posted to the server. - - A that represents an - optional event argument to be passed to the event handler. - - - - Gets or sets the date format string. - - - The default value of this property is inferred from the - Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern - property. - - The date format string. - - - - Gets or sets the ID of the calendar that will be used for picking dates. - This property allows you to use an existing RadCalendar instance for the - RecurrenceEditor date picker. - - - The RecurrenceEditor will look for the RadCalendar instance in a way similar to how - ASP.NET validators work. It will not go beyond the current naming container which - means that you will not be able to configure a calendar that is inside a control in - another naming container. You can still share a calendar, but you will have to pass - a direct object reference via the SharedCalendar - property. - - - The string ID of the RadCalendar control if set; otherwise String.Empty. - - - - - Gets or sets the reference to the calendar that will be used for picking dates. - This property allows you to use an existing RadCalendar instance for the - RecurrenceEditor date picker. - - - The instance of the RadCalendar control if set; otherwise null. - - - - - Gets or sets a value indicating the base z-index of the recurrence editor. - - - An integer value that specifies the desired base z-index. - The default value is 2500. - - - The z-index value is used to position any detachable elements (like RadCalendar pop-ups) - over other elements in the form. - - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets the localization. - - The localization. - - - - Gets or sets the first day of the week. - - - This property is used when building Monthly and Yearly recurrence rules. - - - - - The start date of the first occurrence. - - - The StartDate and EndDate must be set - in order to obtain the recurrence rule. - - - - - The end date of the first occurrence. - - - The StartDate and EndDate must be set - in order to obtain the recurrence rule. - - - - - The currently selected recurrence rule. - - - - - The currently selected recurrence rule (as text). - - - - - - - - - - Gets or sets a value indicating the base z-index of the reminder dialog. - - - An integer value that specifies the desired base z-index. - The default value is 2500. - - - The z-index value is used to position any detachable elements - over other elements in the form. - - - - - Gets the transition delta of a given time frame., i.e. the time to add or substract in when daylgiht saving starts or end. - - - - - The time zone ID. - - - - - Localized version of the standard name - - - - - The standard name of a time zone - - - - - The base utc offset, without apply daylight saving - - - - - Returns bool value indicating whether the time zone - selected uses daylight saving. - - - - - Returns array of adjustment rules to be used when DLS occurs. - - - - - This Class defines the TimeZoneNamePair object. - - - - - Gets or sets the id. - - The id. - - - - Gets or sets the display name. - - The display name. - - - - This abstract class defines the TimeZoneProviderBase. - - - - - Locals to UTC. - - The local. - - - - - UTCs to local. - - The UTC. - - - - - Gets list of all time zones available on the system. - - Returns list of all time zones available on the system. - - - - Gets or sets the operation time zone. - - The operation time zone. - - - - THis Class defines the TimeZoneProvider collection. - - - - - Adds a provider to the collection. - - The provider to be added. - The collection is read-only. - - - is null. - The - of is null.- or -The length of the - of is less than 1. - - - - - - - This Class defines the TimeZoneInfoProvider that - implements the TimeZoneProviderBase and IDisposable. - - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific - attributes specified in the configuration for this provider. - The name of the provider is - null. - The name of the provider has a length - of zero. - An attempt is made to call - - on a provider after the provider has already been initialized. - - - - UTCs to local. - - The UTC. - - - - - Locals to UTC. - - The local. - - - - - Gets list of all time zones available on the system. - - Returns list of all time zones available on the system. - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - A containter for the appointment content. It determines the html rendered by the appointment object. - - - - - Gets the appointment. - - The appointment. - - - - Gets or sets the appointment container. - - The appointment container. - - - - For internal use only. - - - - - - - This Class defines AppDataCacheProvider that inherits WebResourceCacheProvider. - - - - - This abstract class defines the WebResourceCacheProvider object that - inherits ProviderBase. - - - - - If the provider is created with code, put the initialization logic of the provider in this method. - Optionally you can set the IsInitialized property to true after the initialization finishes. - The calls this method when the Provider property is set - if the IsInitialized property of the provider returns false. - - - - - Stores the combined web resources output for a given unique URL in cache. - - The unqiue URL of the requested combination of web resources. - The combined output of the requested web resources. - - - - Associates the given unique key with a URL of a combination of web resources. - One key can have many URLs associated with it. - - The unique key with which the URL will be associated. The key is usually a unique identifier of a web page. - The URL of the requested combination of web resources. - - - - Checks whether the given unique key and URL are associated in cache. - - The unique key with which the URL will be associated. The key is usually a unique identifier of a web page. - The URL of the requested combination of web resources. - True if the key and URL are associated in cache; false otherwise. - - - - Gets the combined web resources output from cache for a given URL. - The method reads the content of the entry in the cache. If you want to verify whether an entry exists, use the Exists method. - - The URL of the requested combination of web resources. - The combined output of the requested web resources from the cache. - Returns null if there is no entry for the requested URL in the cache. - - - - Checks whether there is an entry for the requested URL in the cache. - - The URL of the requested combination of web resources. - True if there is an entry in the cache; false otherwise. - - - - Deletes all URL entries for the given key from cache. - - The unique key with which URLs are associated. - (The key is usually a unique identifier of a web page.) - - - - Clears the cache. - - - - - Gets or sets the is initialized. - - The is initialized. - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific - attributes specified in the configuration for this provider. - The name of the provider is - null. - The name of the provider has a length - of zero. - An attempt is made to call - - on a provider after the provider has already been initialized. - - - - If the provider is created with code, put the initialization logic of the provider in this method. - Optionally you can set the IsInitialized property to true after the initialization finishes. - The calls this method when the Provider property is set - if the IsInitialized property of the provider returns false. - - - - - Initializes the specified app data relative path. - - The app data relative path. - - - - Stores the combined web resources output for a given unique URL in cache. - - The unqiue URL of the requested combination of web resources. - The combined output of the requested web resources. - - - - Associates the given unique key with a URL of a combination of web resources. - One key can have many URLs associated with it. - - The unique key with which the URL will be associated. The key is usually a unique identifier of a web page. - The URL of the requested combination of web resources. - - - - Gets the combined web resources output from cache for a given URL. - The method reads the content of the entry in the cache. If you want to verify whether an entry exists, use the Exists method. - - The URL of the requested combination of web resources. - - The combined output of the requested web resources from the cache. - Returns null if there is no entry for the requested URL in the cache. - - - - - Checks whether there is an entry for the requested URL in the cache. - - The URL of the requested combination of web resources. - True if there is an entry in the cache; false otherwise. - - - - Checks whether the given unique key and URL are associated in cache. - - The unique key with which the URL will be associated. The key is usually a unique identifier of a web page. - The URL of the requested combination of web resources. - - True if the key and URL are associated in cache; false otherwise. - - - - - Deletes all URL entries for the given key from cache. - - The unique key with which URLs are associated. - (The key is usually a unique identifier of a web page.) - - - - Clears the cache. - - - - - This Class defines the Cache Settings of RadScriptManager. - - - - - Enables web resource cache. Cache is disabled by default. - - The enabled. - - - - Gets or sets the unique key of the page. Combined web resources are associated with a page key. - - The page key. - - - - This Class defines the WebResourceCacheProvider collection that inherits ProviderCollection. - - - - - This Class defines the ScriptCacheProviderManager. - - - - - Gets or sets the provider. - - The provider. - - - - Gets the providers. - - The providers. - - - - This Class defines RadScriptManagerConfigurationSection that inherits ConfigurationSection. - - - - - Gets the providers. - - The providers. - - - - Gets or sets the default cache provider. - - The default cache provider. - - - - This enum specifies if the ScriptReferenceOutput position is Beginning, End or Same. - - - - - ScriptReferenceOutputPosition is set to Beginning. - - Beginning - - - - ScriptReferenceOutputPosition is set to End. - - End - - - - ScriptReferenceOutputPosition is set to Same. - - Same - - - - RadScriptManager. - - - ScriptManager derived class to add the ability to combine multiple - smaller scripts into a larger one as a way to reduce the number - of files the client must download - - - RadScriptManager is a control that replaces the ScriptManager available in the Microsoft Ajax Extensions suite. - - - This Class defines RadScriptManager- a control that replaces the ScriptManager available in the Microsoft Ajax Extensions suite. - - - - - Determines whether [is encoding in accept list] [the specified accept encoding header]. - - The accept encoding header. - The expected encoding. - - - - - Gets the groups. - - The groups. - - - - Gets or sets a value indicating if RadScriptManager should check the Telerik.Web.UI.WebResource - handler existence in the application configuration file. - - - When EnableHandlerDetection set to true, RadScriptManager automatically checks if the - HttpHandler it uses is registered to the application configuration file and throws - an exception if the HttpHandler registration missing. Set this property to false - if your scenario uses a file to output the combined scripts, or when running in Medium trust. - - - - - Specifies whether or not multiple script references should be combined into a single file - - - When EnableScriptCombine set to true, the script references of the controls - on the page are combined to a single file, so that only one <script> - tag is output to the page HTML - - - - - Specifies whether or not the combined output will be compressed. - - - In some cases the browsers do not recognize compressed streams (e.g. if IE 6 lacks - an update installed). In some cases the Telerik.Web.UI.WebResource handler - cannot determine if to compress the stream. Set this property - to Disabled - if you encounter that problem. - The OutputCompression property works only when - EnableScriptCombine is set to true. - - - - - Specifies the URL of the HTTPHandler that combines and serves the scripts. - - - - The HTTPHandler should either be registered in the application configuration - file, or a file with the specified name should exist at the location, which - HttpHandlerUrl points to. - - - If a file is to serve the files, it should inherit the class Telerik.Web.UI.WebResource - - - - - - Gets the CDN settings. - - The CDN settings. - - - - Gets the cache settings. - - The cache settings. - - - - Specifies whether the CompositeScript (if defined) should render last or - on its default place when script combining is enabled. - - - When combining is disabled the CompositeScript renders directly after the - MS ASP.NET AJAX Framework scripts and before all third-party scripts (including RadControls'). - - If RadScriptManager 3.5 is used in an ASP.NET 4.0 site/application and the - AjaxFrameworkMode property is either 'Disabled' or 'Eplicit' you could set the property - to true or upgrade to RadScriptManager 4.0, so that the RadControls scripts are combined in one file instead of in two. - - - - - Specifies whether the embedded jQuery library is output with RadControls' scripts. - - - If the embedded jQuery is disabled, you must manually load a version of jQuery on the page and ensure that - RadControls are compatible with it. If this property is set to false and no compatible jQuery library is used, - the page will throw JavaScript exceptions. - - - - - This Class defines tha ScriptReferenceGroup object. - - - - - Gets the scripts. - - The scripts. - - - - This type of script reference allows the user to exclude a script reference from - combining by RadScriptManager (when RadScriptManager.EnableScriptCombine is set to true). - The property Combine (true by default) controls this behavior. - - - - - Set this property to tell RadScriptManager whether to combine the script reference or serve it as a separate resource. - True by default. - - - - - Set this property to one of the available values - - ScriptReferenceOutputPosition.Beggining, - ScriptReferenceOutputPosition.Same, - ScriptReferenceOutputPosition.End - - to move the current script to the beginning of the whole script block, remain on its place in the order of registration or - move at the end of the script block. ScriptReferenceOutputPosition.Same by default. - - - - - This attribute should be used on classes which will be present in the Visual Studio toolbox - - i.e. the ones that should also have a attribute. - - - - - Creates a new instance of the TelerikToolboxCategoryAttribute attribute with the specified title. - - The title of the category where the control will be placed - - - - The title of the category where the control will be placed - - - - - Specifies the possible values for the StatusBarMode property of the RadImageEditor control. - - - - - The StatusBar is rendered below the editable area of the ImageEditor - - - - - The StatusBar is rendered above the editable area of the ImageEditor and below the ToolBar. - - - - - The StatusBar is not rendered at all. - - - - - Sets content-disposition header to the HttpResponse using the provided filename. - - The current HttpContext - The filename to use - - - - Combines the name of an editable image using the provided name and image format as extension. - - The editable image specifying the file extension - The name of the image - - - - - Combines a file name from the name and extension provided. If filename is empty, then it uses a default one. - - The name of the file. If empty, a default value will be used. - The file extension - - - - - Sends a byte array to the client - - binary file content - the filename to be sent to the client - the file content type - The Response object to which the image is sent. - - - - Represents a provider for images of a instance. It stores the images into Cache or Session. - - - - - Defines the methods and properties that an image provider, for the RadImageEditor's intermediary objects, must implement so that the ImageEditor instance will perform server image operations correctly. - - - - - Stores an image, generates key that corresponds to the stored image, and returns the key. - - The EditableImage object to store. - The key that corresponds to the stored editable image. - - - - Retrieves an EditableImage from the provider. - - The key that corresponds to the editable image. - An object that corresponds to the passed. - - - - Loads an image from the specified location. This image will be used to create an object. - - The path to the image to load. - The physical path to the image to load. - The to which the application belongs. - Returns the object loaded from the specified location. - - - - Saves the image in persistent storage location. - - The EditableImage object to store. - The physical path (including the file name) where the image will be stored. - The path (relative) to the image that is currently loaded in the ImageEditor. If new image name was specified when saving the image, it will be reflected in the imageUrl. - Bool value indicating whether or not the existing image (if it exists) will be overwritten. - Returns string.Empty if the saving was successful. - - "FileExists" - if overwriting is not allowed and the file exists. - "MessageCannotWriteToFolder" - if there are not enough permissions to write the file. - - - - - - Clears all images currently saved by the provider. - - - - - Clears the images in the provider up to the image key passed. - - The clearing is done from the first image that was placed by the provider, up to the one corresponding to the key. - The image that corresponds to the key is not cleared. - - - The key up to which the images are cleared. - - - - Gets or sets the location where the objects will be stored. - This property is set by the instance. - - When implementing the property in a class, providing an Auto-Implemented property is enough for the provider to work correctly. - - - - - - Gets or sets a unique key that used to associate the current instance with the images stored by the provider. - This property is set by the instance. - - The class provides exactly the same property, and the provider and the corresponding ImageEditor instance have the same value. - - - When implementing the property in a class, providing an Auto-Implemented property is enough for the provider to work correctly. - The property should not be set, since it is set by the corresponding ImageEditor instance. - - - - - - Creates an instance of the class. - - - - - Creates an instance of the class. - - The location where the objects will be stored. - - - - Creates an instance of the class. - - The location where the objects will be stored. - The unique key associated with the current instance of the RadImageEditor. - - - - Stores an image, generates key that corresponds to the stored image, and returns the key. - - The EditableImage object to store. - The key that corresponds to the stored editable image. - - - - Retrieves an EditableImage from the provider. - - The key that corresponds to the editable image. - An object that corresponds to the passed. - - - - Clears all images currently saved by the provider. - - - - - Clears the images in the provider up to the image key passed. - - The clearing is done from the first image that was placed by the provider, up to the one corresponding to the key. - The image that corresponds to the key is not cleared. - - - The key up to which the images are cleared. - - - - Saves the current image on the FileSystem and returns a string.Empty if the saving was successful. - - The EditableImage to save. - The full physical path (including the file name) where the image will be saved. - The path (relative) to the image that is currently loaded in the ImageEditor. If new image name was specified when saving the image, it will be reflected in the imageUrl. - Should we overwrite the file if it exists. - String.Empty if the operation was successful, else a string indicating the problem. - - - - Gets a file from the FileSystem. - - The physicalPath of the file. - The file stream. Null if the file does not exist. - - - - Deletes a file from the FileSystem and returns a string.Empty if the action was successful. - - The physical path to the file. - - String.Empty if the deletion was successful. - "FileReadOnly" if the file exists and it is read only. The file is not deleted. - "NoPermissionsToDeleteFile" if the deletion was successful. The file is not deleted. - - - - - Loads an image from the specified location. This image will be used to create an object. - - The path to the image to load. - The physical path to the image to load. - The to which the application belongs. - Returns the object loaded from the specified location. - - - - Gets or sets the location where the objects will be stored. - This property is set by the instance. - - - - - Gets or sets a unique key that used to associate the current instance with the images stored by the provider. - This property is set by the instance. - - The class provides exactly the same property, and the provider and the corresponding ImageEditor instance have the same value. - - - - - - Gets or sets a value that indicates whether the current instance of the ImageEditor is used in some of the RadEditor's dialogs. - - - - - Gets or sets a value that indicates whether the current instance of the ImageEditor is used in some of the RadEditor's dialogs. - - - - - The serializer for the Crop operation - - - - - - Name of the current serializer. - - - - - The empty serializer. This is the default serializer. It will serialize to the EmptyOperation. - - - - - - Serializes the content to an empty operation content with name being Empty. The input operation is not taken into account. - - The input operation. It is not taken into account for this method. - - - - - Returns plain-old EmptyOperation. - - Data is not taken into account for this case. - - - - - Name of the current serializer. - - - - - The serializer for the FlipOperation - - - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Constructs an image operation from the provided data. - - The input key/value collection of the operation - A newly constructed operation based on the input data - - - - - Name of the current serializer. - - - - - The serializer for the RotateOperation - - - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Constructs an image operation from the provided data. - - The input key/value collection of the operation - A newly constructed operation based on the input data - - - - - Name of the current serializer. - - - - - The serializer for the ResizeOperation - - - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Constructs an image operation from the provided data. - - The input key/value collection of the operation - A newly constructed operation based on the input data - - - - - Name of the current serializer. - - - - - The serializer for the OpacityOperation - - - - - - Constructs a key/value pair collection from the image operation. - - The image operation, from which the data is contructed - The constructed data from the image operation - - - - Constructs an image operation from the provided data. - - The input key/value collection of the operation - A newly constructed operation based on the input data - - - - - Name of the current serializer. - - - - - A collection of image operations - - - - - Serializes the collected image operations in a collection representation - - - - - - Reads the serialized input and deserializes it to populate the collection of image operations - - The serialized collection of image operations - - - - Populates the image operations collection using the provided enumerated data - - The enumerated data input - - - - Sorts the current collection of IImageOperation(s) on their Index property. - - - - - The factory class that handles the serialization and deserialization by IImageOperation implementations - - - - - Initializes the factory with the default(built-in) serializers - - - - - Intializes the factory with the provided serializers. Default serializers are not included. - - A collection of image operation serializers. - - - - Serializes the provided image operation. - - The image operation to serialize - The already serialized operation - - - - Composes an image operation based on the provided serialized value - - - - - - - Composes an image operation based on the provided data - - A key/value collection for the operation - The newly composed image operation - - - - A key/value pair collection of image operations' serializers following the conversion of key being the operation to serialize and value - the respective serializer - - - - - Distinguishes between operations using their names. - - The input image operation serializer - The unique key for the serializer. Usually based on the value of the Name property. - - - - Represents a single ImageEditor ToolStrip. - - - - - - - - - Gets or sets a bool value that indicates whether the tool is a separator. - - - - - Creates an ImageEditor ToolStrip. - - - - - Creates an ImageEditor ToolStrip with the specified command name. - - The CommandName of the ToolStrip. - - - - Creates an ImageEditor ToolStrip with the specified command name. - - The CommandName of the ToolStrip. - The ShortCut of the ToolStrip. - - - - - - - - - - - - - - - - - - - - Gets the collection of ImageEditorTool objects, inside the tool strip. - - - - - The ImageEditorTool should not be used as a tool separator. - - - - - Gets or sets the name of the command fired when the tool is clicked. - - - - - Gets or sets the text displayed in the tool. - - - - - Gets or sets the ToolTip of the ImageEditor tool. - - - - - Gets or sets the CSS class applied to the ImageEditor tool. - - - - - Gets or sets the location of an image (icon) to display in the ImageEditor tool - - - - - Gets or sets a value indicating whether this ImageEditor tool is enabled. - - - - - Enables the use of default tools. Last selected becomes the default. - - - - - Gets or sets the keyboard shortcut which will invoke the associated RadImageEditor command. - - - - - An implementation of IGraphicsCore that uses IImageOperations internally - - - - - Specifies methods that change the graphics of an image. The operations should not change the original image, but rather provide an altered version as a result. - - - - - Defines the changes of the pixel opacity of the provided Image - - The original image being the base for the operation - The level of opacity. Should be in the range [0-1]. - The resultant image of the applied graphics method - - - - Resizes the original image by shrinking or expanding it by the provided dimensions - - The original image being the base for the operation - The new dimensions of the image - The resultant image of the applied graphics method - - - - Flips the image content in the specified direction - - The original image being the base for the operation - The direction of the flip change. - The resultant image of the applied graphics method - - - - Rotates the image using the enumerated rotation. Currently only rectangular angles' are supported - 90?, 180?, 270? - - The original image being the base for the operation - The rotation direction for the rotation method - The resultant image of the applied graphics method - - - - Crops the provided image using the specified rectangular box - - The original image being the base for the operation - The bounding box specifying the cropping area - The resultant image of the applied graphics method - - - - Adds text to the image on the provided position. - - The original image being the base for the operation - The top/left position relative to the original image. - The definition of the test to insert, including the content itself - The resultant image of the applied graphics method - - - - Insert another image within the original image at the specified location. - - The original image being the base for the operation - The top/left coordinates relative to the original image. - The image that should be inserted in the original image - The resultant image of the applied graphics method - - - - Converts the image to the specified format. This change may degrade the quality of the image. - - The original image being the base for the operation - The format of the resultant image - The resultant image of the applied graphics method - - - - Defines the changes of the pixel opacity of the provided Image - - The original image being the base for the operation - The level of opacity. Should be in the range [0-1]. - The resultant image of the applied graphics method - - - - Resizes the original image by shrinking or expanding it by the provided dimensions - - The original image being the base for the operation - The new dimensions of the image - The resultant image of the applied graphics method - - - - Flips the image content in the specified direction - - The original image being the base for the operation - The direction of the flip change. - The resultant image of the applied graphics method - - - - Rotates the image using the enumerated rotation. Currently only rectangular angles' are supported - 90?, 180?, 270? - - The original image being the base for the operation - The rotation direction for the rotation method - The resultant image of the applied graphics method - - - - Crops the provided image using the specified rectangular box - - The original image being the base for the operation - The bounding box specifying the cropping area - The resultant image of the applied graphics method - - - - Adds text to the image on the provided position. - - The original image being the base for the operation - The top/left position relative to the original image. - The definition of the test to insert, including the content itself - The resultant image of the applied graphics method - - - - Insert another image within the original image at the specified location. - - The original image being the base for the operation - The top/left coordinates relative to the original image. - The image that should be inserted in the original image - The resultant image of the applied graphics method - - - - Converts the image to the specified format. This change may degrade the quality of the image. - - The original image being the base for the operation - The format of the resultant image - The resultant image of the applied graphics method - - - - Applies the provided image operation agaist the original image - - The original image being the base for the operation - The operation to apply - The resultant image of the applied graphics method - - - - The supported flip directions by the ImageEditor's editing capabilities - - - - - Defines flip in the vertical/y direction - - - - - Defines flip in the horizontal/x direciton - - - - - Defines flip in both horizontal and vertical directions - - - - - Represents an Image that can be edited. - - - - - Creates an instance of the EditableImage class from a given Stream. - - The Stream from which the editable image will be created. - - - - Creates an instance of the EditableImage class from a specified location. - - A physical path to the image. - - - - Creates an instance of the EditableImage class from a given Image object. - - The image object from which EditableImage will be created. - - - - Creates an instance of the EditableImage class from a given Image object, and the Graphics core used for image manipulation. - - The image object from which EditableImage will be created. - The IGraphicsCore object to use for image manipulation. - - - - Changes the transparency of the current image. - - A double value between 0.00 - 1.00, representing the opacity. Passing 1 means no opacity. - - - - Resizes the image to the size specified. - - The new dimensions (size) of the image. - - - - Resizes the image to the width and height specified. - - The new width to apply. - The new height to apply. - - - - Flips the image in the specified direction. - - The flipping direction. (Possible values: Vertical, Horizontal and Both) - - - - Rotates the image clockwise, in the specified rotation direction. - - The rotation direction.(Possible values of clockwise rotation: Rotate90, Rotate180 and Rotate270). - - - - Crop the image into the given rectangle. - - The rectangle to crop the image into. - - - - Adds text to the image. - - The position of the text. - The Image text to add. - - - - Inserts additional image into the editable image. - - The position of the inserted image. - The image that will be inserted. - - - - Changes the format of the editable image. - - The new image format of the editable image. - - - - Applies the IImageOperation(s) to the current image in the order they appear in the operations collection. - - Collection of IImageOperation(s) to apply. - - - - Fixes a problem with the Gif file format support in the .NET framework. - - - - - Disposes the EditableImage object. - - - - - Gets a file from the FileSystem. - - The physicalPath of the file. - The file stream. - - - - Replaces the current object of the EditableImage. - - The object to replace the existing Image with. - - - - Creates an identical object of the editable image. - - The cloned editable image. - - - - Checks whether the PixelFormat of an image is indexed or not and returns FALSE if it is indexed, and TRUE if it is NOT indexed. - - This method is used to determine which method will be used when creating new bitmaps, because the Graphics.FromImage method throws exceptions - in some scenarios. http://msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage.aspx - - - The image whose pixel format is checked. - False if the PixelFormat is indexed, and True if it is NOT indexed. - - - - Gets the width of the image. - - - - - Gets the height of the image. - - - - - Gets the size of the image. (Pair of width and height of the image.) - - - - - Gets the actual Bitmap that is being edited. - - - - - Gets the format of the image being edited. - - - - - Gets the ImageFormat of the image being edited. - - - - - Gets a bool value that indicates whether the dispose method of the EditableImage has been called. - - - - - A straight-forward implementation of the IGraphicsCore using GDI+ - - - - - Defines the changes of the pixel opacity of the provided Image - - The original image being the base for the operation - The level of opacity. Should be in the range [0-1]. - The resultant image of the applied graphics method - - - - Resizes the original image by shrinking or expanding it by the provided dimensions - - The original image being the base for the operation - The new dimensions of the image - The resultant image of the applied graphics method - - - - Resize the image using a specific interpolation mode. - - The original image to resize. - The new image size. - The interpolation mode to use. All modes except NearestNeighbor will cause a small loss (1-2 px) of image data around the edges of the original image. - The resized image. If the new size is identical to the original size, then the original image is returned. - - - - Flips the image content in the specified direction - - The original image being the base for the operation - The direction of the flip change. - The resultant image of the applied graphics method - - - - Rotates the image using the enumerated rotation. Currently only rectangular angles' are supported - 90?, 180?, 270? - - The original image being the base for the operation - The rotation direction for the rotation method - The resultant image of the applied graphics method - - - - Crops the provided image using the specified rectangular box - - The original image being the base for the operation - The bounding box specifying the cropping area - The resultant image of the applied graphics method - - - - Adds text to the image on the provided position. - - The original image being the base for the operation - The top/left position relative to the original image. - The definition of the test to insert, including the content itself - The resultant image of the applied graphics method - - - - Insert another image within the original image at the specified location. - - The original image being the base for the operation - The top/left coordinates relative to the original image. - The image that should be inserted in the original image - The resultant image of the applied graphics method - - - - Converts the image to the specified format. This change may degrade the quality of the image. - - The original image being the base for the operation - The format of the resultant image - The resultant image of the applied graphics method - - - - A factory for built-in graphics cores. - - - - - Creates an instance of a graphics core based on the provided type. - - The possible types of graphics cores. - The chosen graphics core - - - - Available built-in graphics cores - - - - - Resize the image using a specific interpolation mode. - - The original image to resize. - The new image size. - The interpolation mode to use. All modes except NearestNeighbor will cause a small loss (1-2 px) of image data around the edges of the original image. - The resized image. If the new size is identical to the original size, then the original image is returned. - - - - Data container that defines information text intertable in images - - - - - The content of the image text - - - - - The font family related to the image text - - - - - The font size of the image text - - - - - The color of the image text - - - - - The available rotation directions - - - - - Rotate 90? - - - - - Rotate 180? - - - - - Rotate 270? - - - - - A special ImageEditorTool object, which is rendered as a separator by the default. - - - - - Creates a tool separator. - - - - - The ImageEditorSeparator is a separator. - - - - - Parses the ToolsFileContent property of RadImageEditor and initializes the corresponding - collections. - - - - - Initializes the Tools collection from the ToolsFileContent property of RadImageEditor. - - - - - Represents an ImageEditor dialog used for controlling the AddText functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Crop functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an empty ImageEditor dialog. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Zoom functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Resize functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Rotate functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Represents an ImageEditor dialog used for controlling the Flip functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - Telerik Notification control - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Shows the notification when the page is loaded on the client. - - It does not require that the control is updated after a partial postback in order to work. - - - - Shows the notification when the page is loaded on the client with the new text that is provided as an argument. - - The new text that will be shown in the notification. Can be an HTML string. - - It does not require that the control is updated after a partial postback in order to work. - This text will not be persisted in the ViewState or after postbacks - - - - - The prototype of the event handler for the callback update load-on-demand mechanism. Prepares the event arguments. - - The argument received by the handler is of type . - - - - - - - - - - - - - - - - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control content area. - - - You cannot set this property twice, or when you added controls to the ContentContainer. If you set - ContentTemplate, and properties will be ignored. - - - - - Gets the context title menu. - - - - - Gets the control, where the ContentTemplate will be instantiated in. Controls can be added programmatically here. - - - You can use this property to programmatically add controls to the content area. If you add controls - to the ContentContainer the Text and ContentIcon properties will be ignored. - - - - - Gets or sets the web method name in the web service used to populate content. - - - - - Gets or sets the path to the web service used to populate content. - - - - - Gets or sets the request method for WCF Service used to populate content GET, POST, PUT, DELETE. - - - - - Gets or sets a string value that indicates the virtual path of the WCF Service used to populate content. - - - - - Gets or sets a string value that indicates the WCF Service method used to populate content. - - - - - Gets or sets when the content should be loaded. - - Takes a member of the enum. - - Works together with and - properties to control how and when new content will be loaded. - - - - - Gets or sets when the interval after which the notification will automatically show (in milliseconds). - - The value is in milliseconds. Defaults to zero (disabled). - - - Use together with and - properties to control how and when new content will be loaded. - - - The counter is reset when the notification shows, not when it hides. In order to make sure there is a certain interval between the hiding and subsequent showing - the value of the must also be taken into account - (considering is set to false to ensure that user activity will not interfere with this logic). - - - - - - Gets or sets when the interval (in milliseconds) after which the notification will automatically update the content. - - The value is in milliseconds and defaults to zero (disabled). - - Use together with and - properties to control how and when new content will be loaded. - - - - - Get/Set the delay after which the notification will hide if not explicitly closed. - - The value is in milliseconds and defaults to 3000. - Setting the property to true causes this timer to pause when the mouse is over the control. - - - Gets or sets a value indicating whether the notification has a visible titlebar. - The default value is true. - - - Gets or sets the title icon (built-in or URL for a custom one). - The default value is info which is one of the built-in icons. It can also take an URL to a custom icon. - - The size of this icon is 16x16 pixels. The list of built-in icons is as follows: - - info - delete - deny - edit - ok - warning - none - - The built-in icons are not available when a custom skin is used for the control, because they are parts of the built-in skins. - - - - Gets or sets the content icon (built-in or URL for a custom one). - The default value is info. - - The size of this icon is 32x32 pixels. The list of built-in icons is as follows: - - info - delete - deny - edit - ok - warning - none - - The built-in icons are not available when a custom skin is used for the control, because they are parts of the built-in skins. Also, if the - ContentTemplate is used this icon will not be shown. - - - - Gets or sets the sound to be played on show (built-in or URL for a custom one). - The default value is none. - - - info - warning - ok - - - - - Gets or sets whether the close [X] button should be visible - The default value is true. - - - Gets or sets the content of the close button tooltip - The default value is Close - - - Gets or sets whether the icon for the title menu should be visible - The default value is true. - - - Gets or sets the content of the the tooltip for the title menu button - The default value is Menu - - - - Get/Set the top and left position of the notification relative to the browser - - Takes a member of the enumeration. BottomRight is the default one. - - - - Get/Set the animation effect of the notification - - Takes a member of the enumeration. None by default. - - - - Sets/gets the duration of the animation in milliseconds. 500 by default. - - - - - Get/Set the notification's horizontal offset. Works in cooperation with the property. - - - - - Get/Set the notification's vertical offset. Works in cooperation with the property. - - - - - Gets or sets a value indicating whether the notification will open automatically when its parent [aspx] page is loaded on the client. - - The default value is false. - - - Gets or sets a value indicating whether the notification will create an overlay element. - The default value is false. - The overlay is used to allow the popup to be displayed above heavy-weight objects like PDFs, Flash and Silverlight. - - - - Gets or sets a value indicating whether the notification is pinned (when true it does not scroll with the page). - - The default value is true. - - - - Get/Set the Width of the notification in pixels - - - - - Get/Set the Height of the notification in pixels - - - - - Get/Set the Text that will appear in the notification (if there is no ContentTemplate used). - - The control can display a proper HTML string as well. This is an easy way to add simple styling via a simple property. - - - - Get/Set the Text that will appear in the titlebar of the notification. - - - - - Get/Set the an optional Value to pass. - - Can be used to pass arbitrary information especially in Load-on-demand scenarios. For example to the webservice, or from the CallbackUpdate method. - - - - Gets or sets a value indicating whether the notification should stay on the screen when hovered (autoclose is delayed until the mouse goes outside the popup). - - The default value is false. - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets a value indicating whether the notification is enabled - - The default value is true. - - - - Gets or sets a value indicating whether the notification should have rounded corners - - The default value is false. - The effect is achieved via CSS3 and is not available for older browsers (e.g. Internet Explorer 8, FireFox3). - - - - Gets or sets a value indicating whether the notification should have shadow - - The default value is false. - The effect is achieved via CSS3 and is not available for older browsers (e.g. Internet Explorer 8, FireFox3). - - - - Get/Set overflow of the notification's content area - - Takes a member of the enumeration. - - - Gets or sets a value indicating what should be the opacity of the notification. The value must be between 0 (transparent) and 100 (opaque). - The default value is 100. - - - - Gets or sets a value indicating the name of the client-side event handler that is called before - the RadNotification shows. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShowing - client-side event handler is called before the RadNotification - is shown. Two parameters are passed to the handler: - - sender, the RadNotification object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientShowing property. - -
- <script type="text/javascript">
- function OnClientShowing(sender, args)
- {
- var notification = sender;
- }
- </script> -
-
- <telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientShowing="OnClientShowing">
- ....
- </telerik:RadNotification> -
-
-
-
- - - Gets or sets a value indicating the name of the client-side event handler that is called - just after the RadNotification is shown. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientShown - client-side event handler is called after the notification is shown - Two parameters are passed to the handler: - - sender, the RadNotification object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientShown property. - -
- <script type="text/javascript">
- function OnClientShown(sender, args)
- {
- var notification = sender;
- }
- </script> -
-
- <telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientShown="OnClientShown">
- ....
- </telerik:RadNotification> -
-
-
-
- - - Gets or sets a value indicating the name of the client-side event handler that is called when - the RadNotification is to be hidden. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientHiding client-side event handler is - called before the notification is hidden on the client. Two parameters are passed to the - handler: - - sender, the notification client object; - eventArgs - - The OnClientHiding event can be cancelled. To do so, - set the cancel property to false from the event handler (e.g. - eventArgs.set_cancel(true);). - - - The following example demonstrates how to use the - OnClientHiding property. - -
- <script type="text/javascript">
- function onClientShowingHandler(sender, eventArgs)
- {
- var shouldHide = confirm("Do you want to hide the notification?") - eventArgs.set_cancel(!shouldHide);
- }
- </script> -
-
- <Telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientHiding="onClientHidingHandler">
- ....
- </Telerik:RadNotification> -
-
-
-
- - - Gets or sets a value indicating the name of the client-side event handler that is called when - the RadNotification is hidden. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientHidden client-side event handler is - called after the notification is hidden on the client. Two parameters are passed to the - handler: - - sender, the notification client object; - eventArgs - - - - The following example demonstrates how to use the - OnClientHidden property. - -
- <script type="text/javascript">
- function onClientHiddenHandler(sender, eventArgs)
- {
- var notification = sender;
- }
- </script> -
-
- <Telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientHidden="onClientHiddenHandler">
- ....
- </Telerik:RadNotification> -
-
-
-
- - - Gets or sets a value indicating the name of the client-side event handler that is called when - the content of RadNotification is to be updated. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientUpdating client-side event handler is - called before the content of the notification is updated. Two parameters are passed to the - handler: - - sender, the notification client object; - eventArgs - - The OnClientUpdating event can be cancelled. To do so, - set the cancel property to false from the event handler (e.g. - eventArgs.set_cancel(true);). - Cancelling it will prevent the new content from being populated in the notification, but will not prevent the request for the new data. - - - The following example demonstrates how to use the - OnClientUpdating property. - -
- <script type="text/javascript">
- function onClientUpdatingHandler(sender, eventArgs)
- {
- var shouldUpdate = confirm("Do you want to update the content of the notification?") - eventArgs.set_cancel(!shouldUpdate);
- }
- </script> -
-
- <Telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientUpdating="onClientUpdatingHandler">
- ....
- </Telerik:RadNotification> -
-
-
- -
- - - Gets or sets a value indicating the name of the client-side event handler that is called when - the content of RadNotification is updated. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientUpdated client-side event handler is - called after the content of the notification is updated. Two parameters are passed to the - handler: - - sender, the notification client object; - eventArgs - - - - The following example demonstrates how to use the - OnClientUpdated property. - -
- <script type="text/javascript">
- function onClientUpdatedHandler(sender, eventArgs)
- {
- var notification = sender;
- }
- </script> -
-
- <Telerik:RadNotification ID="RadNotification1"
- runat= "server"
- OnClientUpdated="onClientUpdatedHandler">
- ....
- </Telerik:RadNotification> -
-
-
-
- - - Gets or sets a value indicating the name of the client-side event handler that is called when - the call to the WebService or the callback is interrupted by an error. - - The server error is received as a browser alert() box. It can be avoided by calling the set_cancelErrorAlert(true) method of the event arguments object (the second parameter the event handler receives). - - - - This event is raised when content must be loaded on demand via a callback. - - - - - The event handler delegate for the callback update mechanism. - - An object that can be cast to a RadNotification. It is the control that fired the event. - The argument received by the handler is of type . - - - - The class that is the event arguments object for the event handler. - - - - - Contructor for the class based on the property of the control. - - - - - - Passes the property of the notification to/from the handler for the load-on-demand mechanism. - - - - - - - - - Represents a single ImageEditor tool. - - - - - Creates an ImageEditor tool. - - - - - Creates an ImageEditor tool with the specified command name. - - The CommandName of the tool. - - - - Creates an ImageEditor tool with the specified command name. - - The CommandName of the tool. - The ShortCut of the tool. - - - - The ImageEditorTool should not be used as a tool separator. - - - - - Gets or sets the name of the command fired when the tool is clicked. - - - - - Gets or sets the text displayed in the tool. - - - - - Gets or sets the ToolTip of the ImageEditor tool. - - - - - Gets or sets the CSS class applied to the ImageEditor tool. - - - - - Gets or sets the location of an image (icon) to display in the ImageEditor tool - - - - - Gets or sets a value indicating whether this ImageEditor tool is enabled. - - - - - Gets or sets a value indicating whether the ImageEditor tool can be toggled or not. - - - - - Gets or sets the keyboard shortcut which will invoke the associated RadImageEditor command. - - - - - - - - - - - - - Represents logical group of ImageEditorTool objects. - - - - - Gets all tools inside the group. - - - - - Finds the tool with the given name. - - - - - Determines whether the group a tool with the specified name. - - - - - - - - - - - - - - - - - - - - - Gets the children of the ImageEditorToolGroup. - - - - - Represents an object used to manage the keyboard navigation of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the TreeView of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the ToolBar of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the Grid of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the Address of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to close the RadWindow that is opened to view/upload/delete/create a file in the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to bring the focus to the Slider used for paging in the Grid of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to open the context menu. - - - - - Gets or sets the keyboard shortcut used to navigate one view Back (if possible) of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to navigate one view Forward (if possible) of the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to open the selected file or folder. - - - - - Gets or sets the keyboard shortcut used to refresh the content of the FileExplorer. - - - - - Gets or sets the keyboard shortcut used to create new folder in the FileExplorer. - - - - - Gets or sets the keyboard shortcut used to delete the currently selected file or folder in the FileExplorer control. - - - - - Gets or sets the keyboard shortcut used to upload a new file to the FileExplorer control. - - - - - A context menu control used with the control. - The menu could have title icon as target if ShowTitleMenu is set to true. A custom target could also be set. - - - - - Checks whether the provided target ID is already added to the menu - - the target ID to be checked - true if the target is already added - - - - Used to specify when content is loaded on demand in the notification. PageLoad by default. - - - - - When the page is loaded. This is the default value. - - - - - When the notification is shown for the first time. - - - - - Every time the notification is shown. - - - - - On a time interval specified via the property. - - - - - Specifies the position of the notification according to the browser viewport. BottomRight by default - - - - - The notification is in the top left corner of the viewport - - - - - The notification is in the middle of the browser attached to the top - - - - - The notification is in the top right corner of the viewport - - - - - The notification is in the middle of the left side of the viewport attached to the left border - - - - - The notification is in the center of the viewport - - - - - The notification is in the middle of the right side of the viewport attached to the right border - - - - - The notification is in the bottom left corner of the viewport - - - - - The notification is in the middle of the browser attached to the bottom - - - - - The notification is in the bottom right corner of the viewport - - - - - Chooses the animation through which the notification becomes visible. None by default. - - - - - No animation is used. - - - - - Shows the notification with a size increase from 0 to the size set in its properties. - - - - - Shows the notification with a change of the opacity from transparent to opaque. - - - - - Slides the notification down from its titlebar. - - - - - Shows the notification with a change of position from outside of the viewport to the position specified by its properties. - - - - - Controls the scrolling of the notification's content element. - - - - - Sets overflow to auto - - - - - Sets overflow to hidden - - - - - Sets overflow-x to scroll, overflow-y to hidden - - - - - Sets overflow-x to hidden, overflow-y to scroll - - - - - Sets overflow to scroll - - - - - Does nothing, leaves the default browser behavior. - - - - - Represents an ImageEditor dialog used for controlling the Opacity functionality of the control. - - - - - Creates an instance of the class. - - The Skin of the parent ImageEditor control. - The parent ImageEditor control to which the dialog control belongs. - - - - For internal use only. - - - - - - - SchedulerPdfExportingEventArgs - - - - - This Class defines the SchedulerPdfExportException. - - - - - Container of misc. grouping settings of RadScheduler control - - - - - A string specifying the name (without the extension) of the file that will be - created. The file extension is automatically added based on the method that is - used. - - - - Opens the exported Scheduler in a new instead of the same page. - - - - Gets the PDF. - - The PDF. - - - - Represents the paper size used when exporting to PDF. - - - - - Container of misc. grouping settings of RadScheduler control - - - - - Gets or sets the creator. - - The creator. - - - - Gets or sets the producer. - - The producer. - - - - Gets or sets the author. - - The author. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the subject. - - The subject. - - - - Gets or sets the page title. - - The page title. - - - - Gets or sets the comma delimited list of keywords. - - The keywords. - - - - Gets or sets the allow add. - - The allow add. - - - - Gets or sets the allow copy. - - The allow copy. - - - - Gets or sets the allow printing. - - The allow printing. - - - - Gets or sets the allow modify. - - The allow modify. - - - - Gets or sets the physical paper size that RadScheduler will use when exporting to PDF. - - - It will be overriden by setting PageWidth and PageHeight explicitly. - - - - - Gets or sets the page width that RadScheduler will use when exporting to PDF. - - - This setting will override any predefined value that comes from the PaperSize property. - - - - - Gets or sets the page height that RadScheduler will use when exporting to PDF. - - - This setting will override any predefined value that comes from the PaperSize property. - - - - - Gets or sets the page top margin. - - The page top margin. - - - - Gets or sets the page bottom margin. - - The page bottom margin. - - - - Gets or sets the page left margin. - - The page left margin. - - - - Gets or sets the page right margin. - - The page right margin. - - - - Gets or sets the page header margin. - - The page header margin. - - - - Gets or sets the page footer margin. - - The page footer margin. - - - - This property describes the different types of font embedding: Link, - Embed and Subset. - - - Possible values: - - -
- Link
- The font program is referenced by name in the rendered PDF. Anyone who - views a rendered PDF with a linked font program must have that font - installed on their computer otherwise it will not display correctly. -
-
- -
- Embed
- The entire font program is embedded in the rendered PDF. Embedding the - entire font program guarantees the PDF will display as intended by the - author on all computers, however this method does possess several - disadvantages: -
-
    -
  1. -
    - Font programs can be extremely large and will significantly - increase the size of the rendered PDF. For example, the MS - Gothic TrueType collection is 8MB! -
    -
  2. -
  3. -
    - Certain font programs cannot be embedded due to license - restrictions. If you attempt to embed a font program that - disallows embedding, RadScheduler will substitute the font with a - base 14 font and generate a warning message. -
    -
  4. -
-
- -
- Subset (default value)
Subsetting a font will - generate a new font that is embedded in the rendered PDF that contains - only the chars referenced by RadScheduler. For example, if a particular - RadScheduler utilised the Verdana font referencing only the character 'A', a - subsetted font would be generated at run-time containing only the - information necessary to render the character 'A'.
-
- Subsetting provides the benefits of embedding and significantly reduces - the size of the font program. However, small processing overhead is - incurred to generated the subsetted font. -
-
-
-
-
- - - Gets or sets the user password.If you set a password, the exported document will be password protected. - - The user password. - - - - Gets or sets the default font family. - - The default font family. - - - - This Class defines the SchedulerStringArrayConverter that implements StringArrayConverter. - - - - - For internal use - - - - - - - Represents the method that handles the event of the control. - - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - The commandName of the referenced button. - The commandArgument of the referenced button. - - - - Gets or sets the commandName of the button in the control when the event is raised. - - The commandName of the referenced button in the control when the event is raised. - - - - Gets or sets the commandArgument of the referenced button in the control when the event is raised. - - The commandArgument of the referenced button in the control when the event is raised. - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - The text of the referenced item. - The value of the referenced item. - The dataItem object of the referenced item. - - - - Gets or sets the text of the referenced item in the control when the event is raised. - - The text of the referenced item in the control when the event is raised. - - - - Gets or sets the value of the referenced item in the control when the event is raised. - - The value of the referenced item in the control when the event is raised. - - - - Gets or sets the dataItem object of the referenced item in the control when the event is raised. - - The dataItem object of the referenced item in the control when the event is raised. - - - - Represents the method that handles the event of the control. - - - - - For internal use - - - - - - - Gets or sets the type. - - The type. - - - - Gets or sets the text of the item. - - The text of the item. - - - - Gets or sets the value of the item. - - The value of the item. - - - - Gets or sets the dataItem object of the item. - - The dataItem object of the item. - - - - Gets or sets the CommandName of the button. - - The CommandName of the button. - - - - Gets or sets the CommandArgument of the button. - - The CommandArgument of the button. - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the Enabled. - - The Enabled. - - - - Gets or sets index of the currently selected SearchContextItem. - - The index of the currently selected SearchContextItem. - - - - For internal use only. - - - - - - - This Class defines the DropDownItem that implements - Control and INamingContainer and its fields, constructors and methods. - - - - - This method should return object that implements ISearchBoxRenderer or Inherits the DropDownItemRenderer class. - - - - - - Gets or sets the data item. - - The data item. - - - - Gets or sets the Templated. - - The Templated. - - - - Represents the settings of the DropDown in a control. - - - - - Gets or sets the width of the DropDown area. - - The width of the area. - - - - Gets or sets the height of the DropDown area. - - The height of the area. - - - - Gets or sets the css class of the dropdown. - - The dropdown CSS class. - - - - Gets or sets the HTML template of a drop down item - when added on the client. - - - - Gets or sets the template for the items that appear in the dropdown. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - - - Gets or sets the that defines the header template. - - The header template. - - - - Gets or sets the that defines the footer template. - - The footer template. - - - - Get a header of - RadSearchBox. - - - - - Get a footer of - RadSearchBox. - - - - - This enum specifies the position of the SearchBoxButton relative to the input field of the RadSearchBox. - - - - - SearchBoxButton is positioned before the input. - - Left = 0 - - - - SearchBoxButton is positioned after the input. - - Right = 1 - - - - This enum specifies if the RadSearchBox Filter uses Contains or StartsWith functionality. - - - - - Filter is set to Contains filtering mode. - - Contains = 0 - - - - Filter is set to StartsWith filtering mode. - - StartsWith = 1 - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - This method marks the Parameter object so its state will be recorded in view state. - - - - - Gets or sets the image's URL of a certain button. - - - The URL to the image. The default value is empty string. - - - - - Gets or sets the image element alt tag value. - - - The value of the image alt tag. The default value is "image". - - - - - Gets or sets the command name associated with the Button that is passed to the ButtonCommand event. - - - - - Gets or sets an optional parameter passed to the ButtonCommand event along with the associated CommandName. - - - - - Gets or sets a value indicating whether the should be positioned "Left" or "Right" - from the input field of the control. - - - - - - - - RadSiteMap object - - - This Class defines the RadSiteMap control. This UI component with its - efficient semantic rendering gives you a lightning fast solution and highly - optimized HTML output. With the ease of Telerik?s SiteMap for ASP.NET AJAX you - can organize and list the pages on your web site, customize the layout, - choose from a variety of appearance options and templates. Add value to - your web site by optimizing it for crawler and search engines with no extra development effort. - - - - - Defines properties that node containers (RadSiteMap, - RadSiteMapNode) should implement. - - - - Gets the parent IRadSiteMapNodeContainer. - - - Gets the collection of child items. - - A RadSiteMapNodeCollection that represents the child - items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - This methods clears the selected nodes of the current RadSiteMap instance. - - - - - Gets a linear list of all nodes in the RadSiteMap control. - - An IList<RadSiteMapNode> containing all nodes (from all hierarchy levels). - - - - Gets a object that contains the root nodes of the current RadSiteMap control. - - - A that contains the root nodes of the current RadSiteMap control. By default - the collection is empty (RadSiteMap has no children). - - - Use the nodes property to access the root nodes of the RadSiteMap control. You can also use the nodes property to - manage the root nodes - you can add, remove or modify nodes. - - - The following example demonstrates how to programmatically modify the properties of a root node. - - RadSiteMap1.Nodes[0].Text = "Example"; - RadSiteMap1.Nodes[0].NavigateUrl = "http://www.example.com"; - - - RadSiteMap1.Nodes(0).Text = "Example" - RadSiteMap1.Nodes(0).NavigateUrl = "http://www.example.com" - - - - - - Gets a collection of RadSiteMapNode objects that represent the node in the control - that is currently selected. - - - - - Gets or sets the SiteMapLevelSetting - object to be used when no specific settings have been defined for a given level. - - - A SiteMapLevelSetting object. - - - Individual levels can be customized using the LevelSettings - collection. Levels not specified in this collection will get the default settings. - - - - - Gets the collection of LevelSettings objects that - define the appearance of the nodes according to their level in the hierarchy. - - - A SiteMapLevelSettingCollection - containing LevelSettings that define the - appearance of the nodes according to their level in the hierarchy. - - - - - Gets or sets a value indicating whether to render node lines in a fashion similar to RadTreeView. - - - Node lines are supported in List rendering mode without columns. - - - true if node lines should be rendered; - false otherwise. - The default value is false - - - - - Gets a collection of objects that define the relationship - between a data item and the tree node it is binding to. - - - A that represents the relationship between a data item and the tree node it is binding to. - - - - - Gets or sets a value indicating whether the html encoding will be applied when the site map items are rendered. - - - By default RadSiteMap will not apply a html encoding when the site map items are rendered. - - - - - Occurs when node is data bound. - - - Use the NodeDataBound event to set additional properties of the databound nodes. - - - - protected void RadSiteMap1_NodeDataBound(object sender, RadSiteMapNodeEventArgs e) - { - e.Node.ToolTip = (string)DataBinder.Eval(e.Node.DataItem, "ToolTipColumn"); - } - - - Protected Sub RadSiteMap1_NodeDataBound(sender As Object, e As RadSiteMapNodeEventArgs) - e.Node.ToolTip = DirectCast(DataBinder.Eval(e.Node.DataItem, "ToolTipColumn"), String) - End Sub - - - - - - Occurs when node is created. - - - The NodeCreated event occurs before and after postback if ViewState is enabled. - NodeCreated is not raised for items defined inline in the ASPX. - - - - Occurs before template is being applied to the node. - - The TemplateNeeded event is raised before a template is been applied on the node, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for nodes - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the nodes. - - protected void RadSiteMap1_TemplateNeeded(object sender, Telerik.Web.UI.RadSiteMapNodeEventArgs e) - { - string value = e.Node.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Node); - } - } - } - - - Sub RadSiteMap1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadSiteMapNodeEventArgs) Handles RadSiteMap1.TemplateNeeded - Dim value As String = e.Node.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Node) - End If - End If - End Sub - - - - - - This Class defines the styles for ChildList object. - - - - - This Class defines the styles for Node object. - - - - - Represents the target control to which applies a skin. - - - - - Returns a string value representing the Skin that should be applied to the passed skinnable control. - - An ISkinnableControl object to which the resolved skin would be applied. - A string value representing the resolved Skin. - - - - Gets or sets a string value representing the server ID of the target control. - - - - - Gets or sets a string value representing the skin which will be applied to the target control(s). - - - - - Gets or sets a value indicating whether skinning should be enabled or not. - - - - - Gets or sets a ControlTypeToApplySkin value representing the type of RadControls which will be - targetted by the Skin setting. - - - - - An enumeration listing all the RadControls to which RadSkinManager could apply skins. - - - - - A collection of TargetControl instances. - - - - - Adds a passed Target control reference to the collection. - - A TargetControl object to add to the collection. - - - - Adds a TargetControl with the provided string ID to the collection. - - A string representing the control ID. - - - - Adds a TargetControl with the provided string ID to the collection and sets it a Skin value. - - A string representing the control ID. - A string representing the applied Skin. - - - - Adds a TargetControl with the provided string ID to the collection and sets it a Skin value. - - A string representing the control ID. - A string representing the applied Skin. - A boolean value indicating whether skinning should be enabled. - - - - Adds a TargetControl to the collection providing the type of RadControls that will be skinned - along with a string value representing the Skin value. - - A ControlTypeToApplySkin value, representing the type of controls that will be skinned. - A string representing the applied Skin. - - - - Returns a string value representing the skin to be applied to a given type of control. - - An ISkinnableControl to check the skin for. - A string representing the resolved skin. - - - - the main class from which the button collections derive - - The button type - - - - - Adds the specified item. - - The item. - - - - Determines whether the collection contains the specified item. - - The item. - - true if the collection contains the specified item; otherwise, false. - - - - - Copies the collection items to the specified array. - - - - - Adds the specified items to the collection. - - - - - Gets the index of the specified item. - - - - - Inserts the specified item at the specified index. - - - - - Removes the specified item. - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - index is not a valid index in the . - The is read-only.-or- The has a fixed size. - - - - Clears the collection of items - - - - - - - - - - - - - - - - - Gets or sets the button at the specified index. - - - - - - - - - Telerik Social Share control - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get/Set orientation of the buttons. Horizontal by default. - - - - - Get/Set the width of the social dialog popup. - - - - - Get/Set the height of the social dialog popup. - - - - - Get/Set the top of the social dialog. It is centered by default. - - - - - Get/Set the left of the social dialog popup. It is centered by default. - - - - - Get/Set the width of the social share control. - - - - - Get/Set the height of the social share control. - - - - - Get/Set the url to share. The default value is empty string which results in sharing the page on which the button resides. - - - - - Get/Set the title of the shared message. The default value is an empty string - which results in sharing the title of the current page or the url itself if there isn't a title. - - - - Get/Set whether IFRAMEs should be hidden while the compact popup or send email dialog is moved. The default value is true. - - - - - Compact buttons collection. - - - - - Main buttons collection. - - - - - Get/set the web property ID for your Analytics account. - - - - - Get/set the FacebookAppId of your Facebook application. - - - - - Get/set the Application ID of the Yammer application related to the RadSocialShare buttons - - - - - Email settings - - - - - Get/set the name of the JavaScript function that is called when one of the - Styled buttons is clicked. The event is raised before the event and it can be cancelled. - - - - - Get/set the name of the JavaScript function that is called after one of the - Styled buttons is clicked. The event is raised after the event and it cannot be cancelled. - - - - - Get/set the name of the JavaScript function that is called when the Facebook Like standard button is clicked. - - - - - Get/set the name of the JavaScript function that is called when the Facebook UnLike standard button is clicked. - - - - - Get/set the name of the JavaScript function that is called when the Facebook Send standard button is clicked. - - - - - Get/set the name of the JavaScript function that is called when the Tweet standard button is clicked. - - - - - Get/set the name of the JavaScript function that is called when the LinkedIn standard button is clicked. - - - - - Get/set the name of the JavaScript function that is called when the GooglePlus standard button is clicked for approval. - - - - - Get/set the name of the JavaScript function that is called when the GooglePlus standard button is clicked for disapproval. - - - - - The class that is used to set the e-mail settings for the SendEmail button. - - - - - Get/Set the email address which sends the mail message. - - - - - Get/Set the SMTP server. - - - - - Get/Set the user name for network credentials. - - - - - Get/Set the password for network credentials. - - - - - Specifies the type (network) of the Styled button. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creates a styled button to share on Google Bookmarks. - - Numeric value is 6. - - - - Creates a styled button to share on Twitter. - - Numeric value is 7. - - - - Creates a styled button to share on LinkedIn - - Numeric value is 8. - - - - Creates a styled button to share on Delicious. - - Numeric value is 9. - - - - Creates a styled button to share on Blogger. - - Numeric value is 10. - - - - Creates a styled button to share on Digg. - - Numeric value is 11. - - - - Creates a styled button to share on Reddit. - - Numeric value is 12. - - - - Creates a styled button to share on StumbleUpon. - - Numeric value is 13. - - - - Creates a styled button to share on MySpace. - - Numeric value is 14. - - - - Creates a styled button to share on Tumblr. - - Numeric value is 15. - - - - Creates a styled button to share on Facebook. - - Numeric value is 16. - - - - Creates a styled button to open the user's default mail agent to send an e-mail. - - Numeric value is 17. - - - - Creates a styled button to open the SendEmail popup. Its functionality requires a properly configured SMTP server. - - Numeric value is 18. - - - - - - - - Defines a button related to the Yammer network - - - - - Utilized for the button for sharing to the Yammer network - - - - - Defines a button related to the Pinterest network - - - - - Creates a styled button for the Pinterest network - - - - - Specifies the ButtonType of the Facebook standard button. - - - If both a FacebookLike and FacebookSend buttons are present in the collection Facebook automatically combines them in a new, bigger button even if they are not adjacent. - - - - - Creates a Share button - - Numeric value is 0 - - - - Creates a Like button - - Numeric value is 1 - - - - Creates a Send button - - Numeric value is 2 - - - - Creates a Recommend button - - Numeric value is 3 - - - - Specifies the ButtonLayout of the Facebook Standard button. ButtonCount by default. - - - - - Displays social text to the right of the button and friends' profile photos below. - - Numeric value is 0 - - - - Specific for the Share button - renders it as images only. - - Numeric value is 1 - - - - Specific for the Share button - renders it as a small image and text. - - Numeric value is 2 - - - - Displays the total number of likes above the button. - - Numeric value is 3 - - - - Displays the total number of likes to the right of the button. - - Numeric value is 4 - - - - The color scheme for the Facebook Like button. - - - - - Lighter hue. - - Numeric value is 0 - - - - Darker hue. - - Numeric value is 0 - - - - The font to display in the Facebook button. - - - - - Arial - - - - - Lucia Grande - - - - - Segue UI - - - - - Tahoma - - - - - Trebuchet MS - - - - - Verdana - - - - - The position of the counter for the Twitter Standard button. - - - - - The counter is shown next to the button. - - Numeric value is 0 - - - - The coutner is shown above the button. - - Numeric value is 0 - - - - No counter is shown. - - Numeric value is 0 - - - - Controls the size and annotation type (in combination with the AnnotationType property) for the Google PlusOne Standard button. - - - - - Small button. - - Numeric value is 0 - - - - Average button. - - Numeric value is 1 - - - - Normal size. - - Numeric value is 2 - - - - Taller button. - - Numeric value is 3 - - - - Controls the annotation type for the Google PlusOne Standard button. Depends on the size of the button. - - - - - Displays number and profile pictures of the users. - - Numeric value is 0 - - - - Displays the number of users to the right or above the button (depending on its size) - - Numeric value is 0 - - - - Not additional annotations are rendered. - - Numeric value is 0 - - - - Determines the way counters are displayed for the LinkedIn Standard button. - - - - - The counter is next to the button. - - Numeric value is 0 - - - - The counter is above the button. - - Numeric value is 1 - - - - No counter is shown. - - Numeric value is 2 - - - - Defines the action button types for the Yammer social network - - - - - Like button is used to like the respective page and send it as an activity story - - - - - Follow button is used to create a following association between the user and the object/page - - - - - Defines the position of the counter for the Pinterest Standard button. - - - - - The counter is shown next to the button. - - Numeric value is 0 - - - - The coutner is shown above the button. - - Numeric value is 0 - - - - No counter is shown. - - Numeric value is 0 - - - - Defines the action button types for the Pinterest social network - - - - - PinIt button is used to share an image - - - - - PinPageImage allows the user to choose which image to pin from all images on the current page - - - - - Follow button opens a person's profile - - - - - The class for creating a Facebook Standard button. - - - - - Get/Set the type of the button. - - Takes a member of the enum. - - - - - - - - Get/Set whether profile pictures should be displayed. - - - - - Get/Set the button layout. - - Takes a mmeber of the enum. - - - - Get/Set the color scheme of the button. - - Takes a member of the enum. - - - - Get/Set the width of the button - used when annotation is displayed. - - - - - Get/Set the font for the button. - - - - - Get/Set the label for referrals. - - - - - For internal use - - - - - - - Provides data for the event of the control. - - - - - Provides data for the events of the RadTabStrip control. - - - - - Initializes a new instance of the - RadTabStripEventArgs class. - - - A RadTab which represents a tab in the - RadTabStrip control. - - - - - Gets the referenced tab in the RadTabStrip control when the event is raised. - - - The referenced tab in the RadTabStrip control when the event is raised. - - - Use this property to programmatically access the tab referenced in the RadTabStrip control when the event is raised. - - - - - Gets or sets the offset. - - The offset. - - - - Represents the method that handles the event of the control. - - - - - - - A navigation control used to create tabbed interfaces. - - - The RadTabStrip control is used to display a list of tabs in a Web Forms - page and is often used in combination with a - RadMultiPage control for building tabbed - interfaces. The RadTabStrip control supports the following features: - - - Databinding that allows the control to be populated from various - datasources - Programmatic access to the RadTabStrip object model - which allows to dynamic creation of tabstrips, populate h tabs, set - properties. - Customizable appearance through built-in or user-defined skins. - -

Tabs

- - The RadTabStrip control is made up of tree of tabs represented - by RadTab objects. Tabs at the top level (level 0) are - called root tabs. A tab that has a parent tab is called a child tab. All root - tabs are stored in the Tabs collection. Child tabs are - stored in a parent tab's Tabs collection. - - - Each tab has a Text and a Value property. - The value of the Text property is displayed in the RadTabStrip control, - while the Value property is used to store any additional data about the tab, - such as data passed to the postback event associated with the tab. When clicked, a tab can - navigate to another Web page indicated by the NavigateUrl property. - -
- - Telerik RadTabStrip is a flexible navigation component for use in ASP.NET applications. - Telerik RadMultiPage is a related control that you can use with RadTabStrip to manage - the content of pages that are selected using RadTabStrip. - - - This partial class describes the Client Properties of control. - -
- - - Defines properties that tab containers (RadTabStrip, - RadTab) should implement. - - - - - Gets the parent IRadTabContainer. - - - - - Gets the collection of child tabs. - - - A RadTabCollection which represents the child tabs of - the IRadTabContainer. - - - - - Gets or sets the index of the selected child tab. - - - The zero based index of the selected tab. The default value is -1 (no child tab is selected). - - - Use the SelectedIndex property to programmatically specify the selected - child tab in a IRadTabContainer (RadTabStrip or RadTab). - To clear the selection set the SelectedIndex property to -1. - - - - - Gets the selected child tab. - - - Returns the child tab which is currently selected. If no tab is selected - (the SelectedIndex property is -1) the SelectedTab - property will return null (Nothing in VB.NET). - - - - - Gets or sets a value indicating whether the children of the tab will be - scrollable. - - - true if the child tabs will be scrolled; otherwise - false. The default value is false. - - - - - Gets or sets a value indicating whether the tabstrip should scroll directly to - the next tab. - - - true if the tabstrip should scroll to the next (or previous) tab; otherwise false. - The default value is false. - - - - The position of the scroll buttons with regards to the tab band. - - This property is applicable when the - ScrollChildren property is set to - true; otherwise it is ignored. - - - One of the TabStripScrollButtonsPosition - enumeration values. The default value is Right. - - - - - Gets or sets the position of the scrollable band of tabs relative to the - beginning of the scrolling area. - - - This property is applicable when the - ScrollChildren property is set to - true; otherwise it is ignored. - - - An integer specifying the initial scrolling position (measured in pixels). The default value is 0 - (no offset from the default scrolling position). Use negative values to move the tabs to the left. - - - - - Initializes a new instance of the RadTabStrip class. - - - Use this constructor to create and initialize a new instance of the RadTabStrip - control. - - - The following example demonstrates how to programmatically create a RadTabStrip - control. - - void Page_Load(object sender, EventArgs e) - { - RadTabStrip RadTabStrip1 = new RadTabStrip(); - RadTabStrip1.ID = "RadTabStrip1"; - - if (!Page.IsPostBack) - { - //RadTabStrip persist its tab in ViewState (if EnableViewState is true). - //Hence tabs should be created only on initial load. - - RadTab sportTab = new RadTab("Sport"); - RadTabStrip1.Tabs.Add(sportTab); - - RadTab newsTab = new RadTab("News"); - RadTabStrip1.Tabs.Add(newsTab); - } - - PlaceHolder1.Controls.Add(RadTabStrip1); - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - Dim RadTabStrip1 As RadTabStrip = New RadTabStrip() - RadTabStrip1.ID = "RadTabStrip1" - - If Not Page.IsPostBack Then - 'RadTabStrip persist its tab in ViewState (if EnableViewState is true). - 'Hence tabs should be created only on initial load. - - Dim sportTab As RadTab = New RadTab("Sport") - RadTabStrip1.Tabs.Add(sportTab) - - Dim newsTab As RadTab = New RadTab("News") - RadTabStrip1.Tabs.Add(newsTab) - End If - - PlaceHolder1.Controls.Add(RadTabStrip1) - End Sub - - - - - - Populates the RadTabStrip control from external XML file. - - - The newly added items will be appended after any existing ones. - - - The following example demonstrates how to populate RadTabStrip control - from XML file. - - private void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadTabStrip1.LoadContentFile("~/Data.xml"); - } - } - - - Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load - If Not Page.IsPostBack Then - RadTabStrip1.LoadContentFile("~/Data.xml") - End If - End Sub - - - The name of the XML file. - - - - Gets a linear list of all tabs in the RadTabStrip control. - - - An IList object containing - all tabs in the current RadTabStrip control. - - - - - Searches the RadTabStrip control for the first - RadTab whose NavigateUrl - property is equal to the specified value. - - - A RadTab whose NavigateUrl property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The URL to search for. - - - - - Searches the RadTabStrip control for the first - RadTab whose Value property is equal - to the specified value. - - - A RadTab whose Value property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The value to search for. - - - - - Searches the RadTabStrip control for the first - RadTab whose Value property is equal - to the specified value. - - - A RadTab whose Value property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The value to search for. - - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadTabStrip control for the first - RadTab whose Text property is equal to - the specified value. - - - A RadTab whose Text property is equal - to the specified value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - The value to search for. - - - - Searches the RadTabStrip control for the first - RadTab whose Text property is equal to - the specified value. - - - A RadTab whose Text property is equal - to the specified value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the first RadTab - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindTab method. - - void Page_Load(object sender, EventArgs e) - { - RadTabStrip1.FindTab(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadTab tab) - { - if (tab.Text == tab.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadTabStrip1.FindTab(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal tab As RadTab) As Boolean - If tab.Text = tab.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - - - - - - - - - Gets a list of all client-side changes (adding a tab, removing a tab, changing a tab's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new tab - removing existing tab - clearing the children of a tab or the control itself - changing a property of the tab - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadTab> operation in RadTabStrip1.ClientChanges) - { - RadTab tab = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //An tab has been inserted - operation.Item contains the inserted tab - break; - case ClientOperationType.Remove: - //An tab has been inserted - operation.Item contains the removed tab. - //Keep in mind the tab has been removed from the tabstrip. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadTab> update = operation as UpdateClientOperation<RadTab> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of have been removed - operation.Item contains the parent tab whose children have been removed. If operation.Item is null then the root tabs have been removed. - break; - } - } - - - For Each operation As ClientOperation(Of RadTab) In RadTabStrip1.ClientChanges - Dim tab As RadTab = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'A tab has been inserted - operation.Item contains the inserted tab - Exit Select - Case ClientOperationType.Remove - 'A tab has been inserted - operation.Item contains the removed tab. - 'Keep in mind the tab has been removed from the tabstrip. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadTab) = TryCast(operation, UpdateClientOperation(Of RadTab)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - 'All children of have been removed - operation.Item contains the parent tab whose children have been removed. If operation.Item is Nothing then the root tabs have been removed. - Exist Select - End Select - Next - - - - - - Gets or sets a value indicating whether the immediate children of the RadTabStrip control will be - scrollable. - - - true if the child tabs will be scrollable; otherwise false. The default value is false. - - - - The position of the scroll buttons with regards to the tab band. - - This property is applicable when the - ScrollChildren property is set to - true; otherwise it is ignored. - - - One of the TabStripScrollButtonsPosition - enumeration values. The default value is Right. - - - - - Gets or sets the position of the scrollable band of tabs relative to the - beginning of the scrolling area. - - - This property is applicable when the ScrollChildren property is set to - true; otherwise it is ignored. - - - An integer specifying the initial scrolling position (measured in pixels). The default value is 0 - (no offset from the default scrolling position). Use negative values to move the tabs to the left. - - - - - Gets or sets a value indicating whether the tabstrip should scroll directly to - the next tab. - - - true if the tabstrip should scroll to the next (or previous) tab; otherwise false. - The default value is false. - - - By default tabs are scrolled smoothly. If you want the tabstrip to scroll directly - to the next (or previous) tab set this property to true. This - property is applicable when the ScrollChildren - property is set to true; otherwise it is ignored. - - - - - Gets or sets the index of the selected child tab. - - - The zero based index of the selected tab. The default value is -1 (no child tab is selected). - - - Use the SelectedIndex property to programmatically specify the selected - child tab in a IRadTabContainer (RadTabStrip or RadTab). - To clear the selection set the SelectedIndex property to -1. - - - The following example demonstrates how to programmatically select a tab by using - the SelectedIndex property. - - void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadTab newsTab = new RadTab("News"); - RadTabStrip1.Tabs.Add(newsTab); - - RadTabStrip1.SelectedIndex = 0; //This will select the "News" tab - - RadTab cnnTab = new RadTab("CNN"); - newsTab.Tabs.Add(cnnTab); - - RadTab nbcTab = new RadTab("NBC"); - newsTab.Tabs.Add(nbcTab); - - newsTab.SelectedIndex = 1; //This will select the "NBC" child tab of the "News" tab - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then - Dim newsTab As RadTab = New RadTab("News") - RadTabStrip1.Tabs.Add(newsTab) - - RadTabStrip1.SelectedIndex = 0 'This will select the "News" tab - - Dim cnnTab As RadTab = New RadTab("CNN") - newsTab.Tabs.Add(cnnTab) - - Dim nbcTab As RadTab = New RadTab("NBC") - newsTab.Tabs.Add(nbcTab) - - newsTab.SelectedIndex = 1 'This will select the "NBC" child tab of the "News" tab - End If - End Sub - - - - - - Gets the selected child tab. - - - Returns the child tab which is currently selected. If no tab is selected - (the SelectedIndex property is -1) the SelectedTab - property will return null (Nothing in VB.NET). - - - - - Gets a RadTabCollection object that contains the root tabs of the current RadTabStrip control. - - - A RadTabCollection that contains the root tabs of the current RadTabStrip control. By default - the collection is empty (RadTabStrip has no children). - - - Use the Tabs property to access the child tabs of RadTabStrip. You can also use the Tabs property to - manage the root tabs. You can add, remove or modify tabs from the Tabs collection. - - - The following example demonstrates how to programmatically modify the properties of root tabs. - - RadTabStrip1.Tabs[0].Text = "Example"; - RadTabStrip1.Tabs[0].NavigateUrl = "http://www.example.com"; - - - RadTabStrip1.Tabs(0).Text = "Example" - RadTabStrip1.Tabs(0).NavigateUrl = "http://www.example.com" - - - - - Gets or sets the template for displaying all tabs in the control. - - An object implementing the ITemplateThe default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - To specify unique display for specific tabs use the - property of the class. - - - - The following example demonstrates how to customize the appearance of all tabs - - <telerik:RadTabStrip runat="server" ID="RadTabStrip1"> - <TabTemplate> - <%# DataBinder.Eval(Container, "Text") %> - <img style="margin-left: 10px" src="Images/delete.gif" alt="delete"/> - </TabTemplate> - <Tabs> - <telerik:RadTab Text="Products"> - </telerik:RadTab> - <telerik:RadTab Text="Services"> - </telerik:RadTab> - <telerik:RadTab Text="Corporate"> - </telerik:RadTab> - </Tabs> - </telerik:RadTabStrip> - - - protected void Page_Load(object sender, System.EventArgs e) - { - if (!Page.IsPostBack) - { - //Required to evaluate the databinding expressions inside the template (<%# DataBinder.Eval)%> - RadTabStrip1.DataBind(); - } - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - If Not Page.IsPostBack Then - RadTabStrip1.DataBind() - End If - End Sub - - - - - - Gets or sets a value indicating whether tabs should postback when clicked. - - - True if tabs should postback; otherwise false. The default value is false. - - - RadTabStrip will postback provided one of the following conditions is met: - - - The AutoPostBack property is set to true. - - - The user has subscribed to the TabClick event. - - - - - - - Gets or sets a value indicating whether reording with dragging should be enabled. - - - true reordering is enabled; otherwise false. - The default value is false. - - - - - Gets a collection of objects that define the relationship - between a data item and the tab it is binding to. - - - - - Gets or sets a value that indicates whether child tabs are cleared before - data binding. - - - The AppendDataBoundTabs property allows you to add items to - the RadTabStrp control before data binding occurs. After data binding, the items - collection contains both the items from the data source and the previously added - items. - The value of this property is stored in view state. - - - True if child tabs should not be cleared before databinding; - otherwise false. The default value is false (child - items will be cleared before databinding). - - - - - Gets or sets the maximum number of levels to bind to the RadTabStrip control. - - - The maximum number of levels to bind to the RadTabStrip control. The default is -1, which binds all the levels in the data source to the control. - - - When binding the RadTabStrip control to a data source, use the MaxDataBindDepth - property to limit the number of levels to bind to the control. For example, setting this property to 2 binds only - the root tabs and their immediate children. All remaining records in the data source are ignored. - - - - - Gets or sets the field of the data source that provides the text content of the tabs. - - - A string that specifies the field of the data source that provides the text content of the tabs. - The default value is empty string. - - - Use the DataTextField property to specify the field of the data source (in most cases the name of the database column) - which provides values for the Text property of databound tabs. The DataTextField property is - taken into account only during data binding. - - - The following example demonstrates how to use the DataTextField. - - DataTable data = new DataTable(); - data.Columns.Add("MyText"); - - data.Rows.Add(new object[] {"Tab Text 1"}); - data.Rows.Add(new object[] {"Tab Text 2"}); - - RadTabStrip1.DataSource = data; - RadTabStrip1.DataTextField = "MyText"; //"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataBind(); - - - Dim data As new DataTable(); - data.Columns.Add("MyText") - - data.Rows.Add(New Object() {"Tab Text 1"}) - data.Rows.Add(New Object() {"Tab Text 2"}) - - RadTabStrip1.DataSource = data - RadTabStrip1.DataTextField = "MyText" '"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataBind() - - - - - - Gets or sets the field of the data source that provides the value of the tabs. - - - A string that specifies the field of the data source that provides the value of the tabs. - The default value is empty string. - - - Use the DataValueField property to specify the field of the data source (in most cases the name of the database column) - which provides the values for the Value property of databound tabs. The DataValueField property is - taken into account only during data binding. If the DataValueField property is not set the Value - property of databound tabs will have its default value - empty string. - - - The following example demonstrates how to use the DataValueField. - - DataTable data = new DataTable(); - data.Columns.Add("MyText"); - data.Columns.Add("MyValue"); - - data.Rows.Add(new object[] {"Tab Text 1", "Tab Value 1"}); - data.Rows.Add(new object[] {"Tab Text 2", "Tab Value 2"}); - - RadTabStrip1.DataSource = data; - RadTabStrip1.DataTextField = "MyText"; //"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataValueField = "MyValue"; //"MyValue" column provides values for the Value property of databound tabs - RadTabStrip1.DataBind(); - - - Dim data As new DataTable(); - data.Columns.Add("MyText") - data.Columns.Add("MyValue") - - data.Rows.Add(New Object() {"Tab Text 1", "Tab Value 1"}) - data.Rows.Add(New Object() {"Tab Text 2", "Tab Value 2"}) - - RadTabStrip1.DataSource = data - RadTabStrip1.DataTextField = "MyText" '"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataValueField = "MyValue" '"MyValue" column provides values for the Value property of databound tabs - RadTabStrip1.DataBind() - - - - - - Gets or sets the field of the data source that provides the URL to which tabs navigate. - - - A string that specifies the field of the data source that provides the URL to which tabs will navigate. - The default value is empty string. - - - Use the DataNavigateUrlField property to specify the field of the data source (in most cases the name of the database column) - which provides the values for the NavigateUrl property of databound tabs. - The DataNavigateUrlField property is taken into account only during data binding. If the DataNavigateUrlField property - is not set the NavigateUrl property of databound tabs will have its default value - empty string. - - - The following example demonstrates how to use the DataNavigateUrlField. - - DataTable data = new DataTable(); - data.Columns.Add("MyText"); - data.Columns.Add("MyUrl"); - - data.Rows.Add(new object[] {"Tab Text 1", "http://www.example.com/page1.aspx"}); - data.Rows.Add(new object[] {"Tab Text 2", "http://www.example.com/page2.aspx"}); - - RadTabStrip1.DataSource = data; - RadTabStrip1.DataTextField = "MyText"; //"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataNavigateUrlField = "MyUrl"; //"MyUrl" column provides values for the NavigateUrl property of databound tabs - RadTabStrip1.DataBind(); - - - Dim data As new DataTable(); - data.Columns.Add("MyText") - data.Columns.Add("MyUrl") - - data.Rows.Add(New Object() {"Tab Text 1", "http://www.example.com/page1.aspx"}) - data.Rows.Add(New Object() {"Tab Text 2", "http://www.example.com/page2.aspx"}) - - RadTabStrip1.DataSource = data - RadTabStrip1.DataTextField = "MyText" '"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataValueField = "MyUrl" '"MyUrl" column provides values for the NavigateUrl property of databound tabs - RadTabStrip1.DataBind() - - - - - - Gets or sets the field from the data source which is the "child" column in the - "parent-child" relationship used to databind the RadTabStrip - control. - - - A string that specifies the field of the data source that will be the "child" - column during databinding. The default is empty string. - - - RadTabStrip requires both DataFieldID and - DataFieldParentID properties to be set in order to be hierarchically databound. - - - The following example demonstrates how to use DataFieldID and DataFieldParentID. - - DataTable data = new DataTable(); - data.Columns.Add("MyText"); - data.Columns.Add("MyID", typeof(int)); - data.Columns.Add("MyParentID", typeof(int)); - - data.Rows.Add(new object[] {"Root Tab 1", 1, null}); - data.Rows.Add(new object[] {"Child Tab 1.1", 3, 1}); - data.Rows.Add(new object[] {"Root Tab 2", 2, null}); - data.Rows.Add(new object[] {"Child Tab 2.1", 4, 2}); - - RadTabStrip1.DataSource = data; - RadTabStrip1.DataTextField = "MyText"; //"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataFieldID = "MyID"; //"MyID" column provides values for the "child" column in the relation. - RadTabStrip1.DataFieldParentID = "MyParentID"; //"MyParentID" column provides values for the "parent" column in the relation. - RadTabStrip1.DataBind(); - - - Dim data As New DataTable() - data.Columns.Add("MyText") - data.Columns.Add("MyID", GetType(Integer)) - data.Columns.Add("MyParentID", GetType(Integer)) - - data.Rows.Add(New Object() {"Root Tab 1", 1, Nothing}) - data.Rows.Add(New Object() {"Child Tab 1.1", 3, 1}) - data.Rows.Add(New Object() {"Root Tab 2", 2, Nothing}) - data.Rows.Add(New Object() {"Child Tab 2.1", 4, 2}) - - RadTabStrip1.DataSource = data - RadTabStrip1.DataTextField = "MyText" '"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataFieldID = "MyID" '"MyID" column provides values for the "child" column in the relation. - RadTabStrip1.DataFieldParentID = "MyParentID" '"MyParentID" column provides values for the "parent" column in the relation. - RadTabStrip1.DataBind() - - - - - - Gets or sets the field from the data source which is the "parent" column in the - "parent-child" relationship used to databind the RadTabStrip - control. - - - A string that specifies the field of the data source that will be the "parent" - column during databinding. The default is empty string. - - - - RadTabStrip requires both DataFieldID and - DataFieldParentID properties to be set in order to be hierarchically databound. - - - The value of the column specified by DataFieldParentID must be null (Nothing) for root tabs. This is a requirement - for databinding RadTabStrip. - - - - The following example demonstrates how to use DataFieldID and DataFieldParentID. - - DataTable data = new DataTable(); - data.Columns.Add("MyText"); - data.Columns.Add("MyID", typeof(int)); - data.Columns.Add("MyParentID", typeof(int)); - - data.Rows.Add(new object[] {"Root Tab 1", 1, null}); - data.Rows.Add(new object[] {"Child Tab 1.1", 3, 1}); - data.Rows.Add(new object[] {"Root Tab 2", 2, null}); - data.Rows.Add(new object[] {"Child Tab 2.1", 4, 2}); - - RadTabStrip1.DataSource = data; - RadTabStrip1.DataTextField = "MyText"; //"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataFieldID = "MyID"; //"MyID" column provides values for the "child" column in the relation. - RadTabStrip1.DataFieldParentID = "MyParentID"; //"MyParentID" column provides values for the "parent" column in the relation. - RadTabStrip1.DataBind(); - - - Dim data As New DataTable() - data.Columns.Add("MyText") - data.Columns.Add("MyID", GetType(Integer)) - data.Columns.Add("MyParentID", GetType(Integer)) - - data.Rows.Add(New Object() {"Root Tab 1", 1, Nothing}) - data.Rows.Add(New Object() {"Child Tab 1.1", 3, 1}) - data.Rows.Add(New Object() {"Root Tab 2", 2, Nothing}) - data.Rows.Add(New Object() {"Child Tab 2.1", 4, 2}) - - RadTabStrip1.DataSource = data - RadTabStrip1.DataTextField = "MyText" '"MyText" column provides values for the Text property of databound tabs - RadTabStrip1.DataFieldID = "MyID" '"MyID" column provides values for the "child" column in the relation. - RadTabStrip1.DataFieldParentID = "MyParentID" '"MyParentID" column provides values for the "parent" column in the relation. - RadTabStrip1.DataBind() - - - - - - Gets or sets the formatting string used to control how text to the tabstrip - control is displayed. - - - - Use the DataTextFormatString property to provide a custom display format for text of the tabs. - The data format string consists of two parts, separated by a colon, in the form { A: Bxx }. - For example, the formatting string {0:F2} would display a fixed point number with two decimal places. - - - The entire string must be enclosed in braces to indicate that it is a format string and not a literal string. - Any text outside the braces is displayed as literal text. - - - The value before the colon (A in the general example) specifies the parameter index in a zero-based list of parameters. - This value can only be set to 0. - - - - - - Gets the innermost selected tab in a hierarchical RadTabStrip control. - - - In hierarchical tabstrips this property returns the innermost selected - tab. - - - Returns the inner most selected child tab in hierarchical tabstrip scenarios. - Null (Nothing in VB.NET) if no tab is selected. - - - - - Gets or sets the name of the validation group to which this validation - control belongs. - - - The name of the validation group to which this validation control belongs. The - default is an empty string (""), which indicates that this property is not set. - - - This property works only when CausesValidation - is set to true. - - - - - - Gets or sets the URL of the page to post to from the current page when a tab - from the tabstrip is clicked. - - - The URL of the Web page to post to from the current page when a tab from the - tabstrip control is clicked. The default value is an empty string (""), which causes - the page to post back to itself. - - - - - Gets or sets the ID of the RadMultiPage control that - will be controlled by the current RadTabStrip control. - - - You should use different value depending on the following conditions: - - - Use the ID property of the RadMuitiPage control if the RadMultiPage control is in - the same INamingContainer (user control, page, content page, master page) as the current RadTabStrip control. - - - Use the UniqueID property of the RadMuitiPage control if the RadMultiPage - control is in a different INamingContainer (user control, page, content page, master page) than - the current RadTabStrip control. - - - - - The ID of the associated RadMultiPage. The default value is empty string. - - - The following example demonstrates how to associate a RadMultiPage - control with a RadTabStrip control through the - MultiPageID property. - - <telerik:RadTabStrip id="RadTabStrip1" runat="server" - MultiPageID="RadMultiPage1">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
- <telerik:RadMultiPage id="RadMultiPage1" - runat="server">
- .....
- </telerik:RadMultiPage>
-
-
-
- - - Gets the associated RadMultiPage control if the - MultiPageID property is set. - - - The RadMultiPage control associated with the - current RadTabStrip control. Will return null (Nothing in VB.NET) if the MultiPageID - is not set or a corresponding RadMultiPage control cannot be found - - - - - Gets or sets a value indicating whether the tabstrip should postback when the user clicks the currently selected tab. - - - True if the tabstrip should postback when the user clicks the currently selected tab; otherwise false. - The default value is false. - - - - - Gets or sets a value indicating the orientation of child tabs within the - RadTabStrip control. - - - One of the TabStripOrientation values. - The default value is HorizontalTopToBottom. - - - - Gets or sets the alignment of the tabs in the RadTabStrip control. - - One of the TabStripAlign enumeration values. The - default value is Left. - - - - - Gets or sets a value indicating whether the row of the selected tab should move - to the bottom. - - - true if the row containing the selected tab should be moved to - the bottom; otherwise false. The default value is - false. - - - Use the ReorderTabsOnSelect property to mimic the behavior of the - Windows tabstrip control. - - - - - Shows or hides the image at the base of the first level of tabs. - - - true if line is visible; - otherwise, false. The default value is false. - - - - - Controls whether the subitems of the tabstrip will have different styles than the main items. - - - true if styling should be different; - otherwise, false. The default value is false. - - - - - Gets or sets a value determining whether child tabs are unselected when a parent - tab is unselected. - - - true if child tabs are unselected when a parent tab is - unselected. false if the tabs persist their state even when hidden. - The default value is false. - - - - - Gets or sets a value indicating whether validation is performed when a tab within - the RadTabStrip control is selected. - - - true if validation is performed when a tab is selected; - otherwise, false. The default value is true. - - - By default, page validation is performed when a tab is selected. Page - validation determines whether the input controls associated with a validation - control on the page all pass the validation rules specified by the validation - control. You can specify or determine whether validation is performed on both the - client and the server when a tab is clicked by using the CausesValidation - property. To prevent validation from being performed, set the - CausesValidation property to false. - - - - - Gets or sets a value indicating the client-side event handler that is called - after selecting a tab. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientTabSelected property to specify a JavaScript - function that will be executed after a tab is selected - either by left-clicking it - with a mouse or hitting enter after tabbing to that tab. - Two parameters are passed to the handler - - sender (the client-side RadTabStrip object) - - eventArgs with one property -
    -
  • tab - the instance of the selected tab
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientTabSelected property. - - <script language="javascript">
- function ClientTabSelectedHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
-
- alert("You have selected the " + tab.get_text() + " tab in the " + tabStrip.get_id() + - "tabstrip.");
- }
- </script>
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientTabSelected="ClientTabSelectedHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - before the browser context menu shows (after right-clicking an item). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientContextMenu property to specify a JavaScript - function that will be executed before the context menu shows after right clicking a - tab. - Two parameters are passed to the handler - - sender (the client-side RadTabStrip object) - - eventArgs with two properties -
    -
  • tab - the instance of the selected tab
  • -
  • domEvent - the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientContextMenu property. - - <script language="javascript">
- function OnContextMenuHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
-
- alert("You have right-clicked the " + tab.get_text() + " tab in the " + tabStrip.get_id() + - "tabstrip.");
- }
- </script>
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientContextMenu="OnContextMenuHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - when the user double-clicks a tab. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientDoubleClick property to specify a JavaScript - function that will be executed when the user double-clicks a tab. - - Two parameters are passed to the handler - - sender (the client-side RadTabStrip object) - - eventArgs with two properties -
    -
  • tab - the instance of the selected tab
  • -
  • domEvent - the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientDoubleClick property. - - <script language="javascript">
- function OnDoubleClickHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
-
- alert("You have double-clicked the " + tab.get_text() + " tab in the " + tabStrip.get_id() + - "tabstrip.");
- }
- </script>
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientDoubleClick="OnDoubleClickHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - - - - - - - - - - - - - - - - Gets or sets a value indicating the client-side event handler that is called just - prior to selecting a tab. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientTabSelecting property to specify a - JavaScript function that will be executed prior to tab selecting - either by - left-clicking it with a mouse or hitting enter after tabbing to that tab. You can - cancel that event (prevent tab selecting) by seting the cancel property of the event argument to true. - Two parameters are passed to the handler - - sender (the client-side RadTabStrip object) - - eventArgs with one property -
    -
  • tab - the instance of the selected tab
  • -
  • cancel - whether to cancel the event
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientTabSelecting property. - - <script language="javascript">
- function ClientTabSelectingHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
-
- alert("You will be selecting the " + tab.get_text() + " tab in the " + tabStrip.get_id() + - " tabstrip.");
-
- if (tab.Text == "Education")
- {
- alert("Education cannot be selected");
- eventArgs.set_cancel(true);
- }
- }
- </script>
-
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientTabSelecting="ClientTabSelectedHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the mouse hovers a tab in the RadTabStrip control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMouseOver property to specify a JavaScript - function that is called when the user hovers a tab with the mouse. - Two parameters are passed to the handler: - - sender (the client-side RadTabStrip object); - - eventArgs with two properties -
    -
  • tab - the instance of the tab that is being hovered
  • -
  • domEvent - the instance of the browser event.
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientMouseOver property. - - <script language="javascript">
- function ClientMouseOverHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
- var domEvent = eventArgs.get_domEvent();
-
- alert("You have just moved over the " + tab.get_text() + " tabs in the " + - tabStrip.get_id() + " tabstrip");
- alert("Mouse coordinates: " + domEvent.clientX + ":" + - domEvent.clientY);
- }
- </script>
-
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientMouseOver="ClientMouseOverHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the mouse leaves a tab in the RadTabStrip control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMouseOut property to specify a JavaScript - function that is executed whenever the user moves the mouse - away from a particular tab in the RadTabStrip control. - Two parameters are passed to the handler: - - sender (the client-side RadTabStrip - object); - - eventArgs with two properties: -
    -
  • tab - the instance of the tab we are moving - away from;
  • -
  • domEvent - the instance of the browser - event.
  • -
-
-
-
- - The following example demonstrates how to use the OnClientMouseOut - property. - - <script language="javascript">
- function ClientMouseOutHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.Tab;
- var domEvent = eventArgs.get_domEvent();
- alert("You have just moved out of " + tab.get_text() + " in - the " + tabStrip.get_id() + " tabstrip.");
- alert("Mouse coordinates: " + domEvent.clientX + ":" + - domEvent.clientY);
- }
- </script>
-
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientMouseOut="ClientMouseOutHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after a tab is unselected (i.e. the user has selected another tab). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientTabUnSelected property to specify a - JavaScript function that is executed after a tab is - unselected. - Two parameters are passed to the handler: - - sender (the client-side RadTabStrip - object); - - eventArgs with one property: -
    -
  • tab - the instance of the tab which is - unselected;
  • -
-
-
-
- - The following example demonstrates how to use the OnClientMouseOut - property. - - <script language="javascript">
- function ClientTabUnSelectedHandler(sender, eventArgs)
- {
- var tabStrip = sender;
- var tab = eventArgs.get_tab();
-
- alert("You have unselected the " + tab.get_text() + " tab in the " + tabStrip.get_id() + - "tabstrip.");
- }
- </script>
-
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientTabUnSelected="ClientTabUnSelectedHandler">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - - Gets or sets the name of the javascript function called when the control is fully - initialized on the client side. - - - A string specifying the name of the javascript function called when the control - is fully initialized on the client side. The default value is empty string. - - - Use the OnClientLoad property to specify a JavaScript - function that is executed after the control is initialized on the client side. - A single parameter is passed to the handler, which is the - client-side RadTabStrip object. - - - The following example demonstrates how to use the OnClientLoad - property. - - <script language="javascript">
- function ClientTabstripLoad(tabstrip, eventArgs)
- {
- alert(tabstrip.get_id() + " is loaded.");
- }
- </script>
-
- <telerik:RadTabStrip id="RadTabStrip1" runat="server" - OnClientLoad="ClientTabstripLoad">
- <Tabs>
- <telerik:RadTab Text="Personal Details"></telerik:RadTab>
- <telerik:RadTab Text="Education"></telerik:RadTab>
- <telerik:RadTab Text="Computing Skills"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - Occurs when a tab is created. - - The TabCreated event is raised when an tab in the RadTabStrip control is created, - both during round-trips and at the time data is bound to the control. The TabCreated event is not raised for tabs - which are defined inline in the page or user control. - The TabCreated event is commonly used to initialize tab properties. - - - The following example demonstrates how to use the TabCreated event - to set the ToolTip property of each tab. - - protected void RadTabStrip1_TabCreated(object sender, Telerik.Web.UI.RadTabStripEventArgs e) - { - e.Tab.ToolTip = e.Tab.Text; - } - - - Sub RadTabStrip1_TabCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTabStripEventArgs) Handles RadTabStrip1.TabCreated - e.Tab.ToolTip = e.Tab.Text - End Sub - - - - - Occurs before template is being applied to the tab. - - The TemplateNeeded event is raised before a template is been applied on the tab, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for tabs - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property the tabs. - - protected void RadTabStrip_TemplateNeeded(object sender, Telerik.Web.UI.RadTabStripArgs e) - { - string value = e.Tab.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - e.Tab.TabTemplate = textBoxTemplate; - } - } - } - - - Sub RadTabStrip1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTabStripEventArgs) Handles RadTabStrip1.TemplateNeeded - Dim value As String = e.Tab.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - e.Tab.TabTemplate = textBoxTemplate - End If - End If - End Sub - - - - - Occurs when a tab is data bound. - - - The TabDataBound event is raised for each tab upon - databinding. You can retrieve the tab being bound using the event arguments. - The DataItem associated with the tab can be retrieved using - the DataItem property. - - The TabDataBound event is often used in scenarios when you - want to perform additional mapping of fields from the DataItem to their respective - properties in the Tab class. - - - The following example demonstrates how to map fields from the data item to - tab properties using the TabDataBound event. - - protected void RadTabStrip1_TabDataBound(object sender, Telerik.Web.UI.RadTabStripEventArgs e) - { - e.Tab.ImageUrl = "image" + (string)DataBinder.Eval(e.Tab.DataItem, "ID") + ".gif"; - e.Tab.NavigateUrl = (string)DataBinder.Eval(e.Tab.DataItem, "URL"); - } - - - Sub RadTabStrip1_TabDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTabStripEventArgs) Handles RadTabStrip1.TabDataBound - e.Tab.ImageUrl = "image" & DataBinder.Eval(e.Tab.DataItem, "ID") & ".gif" - e.Tab.NavigateUrl = CStr(DataBinder.Eval(e.Tab.DataItem, "URL")) - End Sub - - - - - - Occurs on the server when a tab in the RadTabStrip - control is clicked. - - - The following example demonstrates how to use the TabClick event to determine the clicked tab. - - protected void RadTabStrip1_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e) - { - Response.Write("Clicked tab is " + e.Tab.Text); - } - - - Sub RadTabStrip1_TabClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTabStripEventArgs) Handles RadTabStrip1.TabClick - Response.Write("Clicked tab is " & e.Tab.Text) - End Sub - - - - - - Occurs on the server when a tab in the RadTabStrip - control is reordered. - - - - - For internal use - - - - - - - Gets or sets the type. - - The type. - - - - Gets or sets the index. - - The index. - - - - Gets or sets the offset. - - The offset. - - - - - - - This partial class describes the client properties and events of control. - - - Telerik RadToolBar for ASP.NET AJAX lets you build tool bars used in ASP.NET applications. - - - This Class defines control. - - - RadToolBar control class. - - - - - Defines properties that toolbar item container (RadToolBar) - should implement - - - - Gets the collection of child items. - - A RadToolBarItemCollection that represents the child - items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - - - Populates the RadToolBar control from external XML file. - - - The newly added items will be appended after any existing ones. - - - The following example demonstrates how to populate RadToolBar control - from XML file. - - private void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadToolBar1.LoadContentFile("~/ToolBarData.xml"); - } - } - - - Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load - If Not Page.IsPostBack Then - RadToolBar1.LoadContentFile("~/ToolBarData.xml") - End If - End Sub - - - The name of the XML file. - - - - Gets a linear list of all toolbar items in the RadToolBar control. - - - An IList object containing - all items in the current RadToolBar control. - - - - - Gets a linear list of all toolbar buttons in the RadToolBar control, - which belong to the specified group - - The name of the group to search for. - An IList object containing - all the buttons in the current RadToolBar control, which belong to the specified group. - - - - - Gets the checked button which belongs to the specified group in the - RadToolBar control - - The name of the group to search for. - A RadToolBarButton object which - CheckOnClick and Checked properties are set to true. - - - - - Searches the RadToolBar control for the first - RadToolBarItem whose Text - property is equal to the specified value. - - - A RadToolBarItem whose Text - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The value to search for. - - - - Searches the RadToolBar control for the first - RadToolBarItem whose Text - property is equal to the specified value. - - - A RadToolBarItem whose Text - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadToolBar control for the first - RadToolBarButton or - RadToolBarSplitButton which - Value - property is equal to the specified value. - - - A RadToolBarButton or - RadToolBarSplitButton which - Value - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The value to search for. - - - - Searches the RadToolBar control for the first - RadToolBarButton or - RadToolBarSplitButton which - Value - property is equal to the specified value. - - - A RadToolBarButton or - RadToolBarSplitButton which - Value - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Finds the child by value. - - The value. - - - - - Finds the child by value. - - The value. - The ignore case. - - - - - Searches the RadToolBar control for the first - RadToolBarButton or - RadToolBarSplitButton which - NavigateUrl - property is equal to the specified value. - - - A RadToolBarButton or - RadToolBarSplitButton which - NavigateUrl - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The url to search for. - - - - Searches the RadToolBar control for the first - IRadToolBarButton - CommandName - property is equal to the specified value. - - - A IRadToolBarButton which - CommandName - property is equal to the specified value. If an item is not found, null - (Nothing in Visual Basic) is returned. - - The commandName to search for. - - - - Returns the first RadToolBarItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadToolBar1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadToolBarItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadToolBar1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadToolBarItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Gets a list of all client-side changes (adding an item, removing an item, changing an item's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new item - removing existing item - clearing the children of an item or the control itself - changing a property of the item - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadToolBarItem> operation in RadToolBar1.ClientChanges) - { - RadToolBarItem item = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //An item has been inserted - operation.Item contains the inserted item - break; - case ClientOperationType.Remove: - //An item has been inserted - operation.Item contains the removed item. - //Keep in mind the item has been removed from the toolbar. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadToolBarItem> update = operation as UpdateClientOperation<RadToolBarItem> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is null then the root items have been removed. - break; - } - } - - - For Each operation As ClientOperation(Of RadToolBarItem) In RadToolBar1.ClientChanges - Dim item As RadToolBarItem = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'An item has been inserted - operation.Item contains the inserted item - Exit Select - Case ClientOperationType.Remove - 'An item has been inserted - operation.Item contains the removed item. - 'Keep in mind the item has been removed from the toolbar. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadToolBarItem) = TryCast(operation, UpdateClientOperation(Of RadToolBarItem)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - 'All children of have been removed - operation.Item contains the parent item whose children have been removed. If operation.Item is Nothing then the root items have been removed. - Exist Select - End Select - Next - - - - - - Gets a collection of RadToolBarItem objects representing - the individual items within the RadToolBar. - - - A RadToolBarItemCollection that contains a collection of - RadToolBarItem objects representing - the individual items within the RadToolBar. - - - Use the Items collection to programmatically control the items in the - RadToolBar control. - - - The following example demonstrates how to declare a RadToolBar - with different items. - - <telerik:RadToolBar ID="RadToolBar1" runat="server"> - <Items> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/CreateNew.gif" - Text="Create new" CommandName="CreateNew"/> - <telerik:RadToolBarButton IsSeparator="true" /> - <telerik:RadToolBarDropDown ImageUrl="~/ToolbarImages/Manage.gif" Text="Manage"> - <Buttons> - <telerik:RadToolBarButton ImageUrl="~/ToolbarImages/ManageUsers.gif" - Text="Users" /> - <telerik:RadToolBarButton ImageUrl="~/ToolbarImages/ManageOrders.gif" - Text="Orders" /> - </Buttons> - </telerik:RadToolBarDropDown> - <telerik:RadToolBarSplitButton ImageUrl="~/ToolBarImages/RegisterPurchase.gif" - Text="Register Purchase"> - <Buttons> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterCachePurchase.gif" - Text="Cache Purchase" /> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterCheckPurchase.gif" - Text="Check Purchase" /> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterDirectBankPurchase.gif" - Text="Bank Purchase" /> - </Buttons> - </telerik:RadToolBarSplitButton> - </Items> - </telerik:RadToolBar> - - - - - - Gets or sets the direction in which to render the RadToolBar control. - - - One of the Orientation enumeration values. The default is Orientation.Horizontal. - - - Use the Orientation property to specify the direction in which to render the RadToolBar - control. The following table lists the available directions. - - - - Orientation - Description - - - Orientation.Horizontal - The RadToolBar control is rendered horizontally. - - - Orientation.Vertical - The RadToolBar control is rendered vertically. - - - - - - The following example demonstrates how to use the Orientation property - to display a vertical RadToolBar. - - <telerik:RadToolBar ID="RadToolBar1" runat="server"> - <Items> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/CreateNew.gif" - Text="Create new" CommandName="CreateNew"/> - <telerik:RadToolBarButton IsSeparator="true" /> - <telerik:RadToolBarDropDown ImageUrl="~/ToolbarImages/Manage.gif" Text="Manage"> - <Buttons> - <telerik:RadToolBarButton ImageUrl="~/ToolbarImages/ManageUsers.gif" - Text="Users" /> - <telerik:RadToolBarButton ImageUrl="~/ToolbarImages/ManageOrders.gif" - Text="Orders" /> - </Buttons> - </telerik:RadToolBarDropDown> - <telerik:RadToolBarSplitButton ImageUrl="~/ToolBarImages/RegisterPurchase.gif" - Text="Register Purchase"> - <Buttons> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterCachePurchase.gif" - Text="Cache Purchase" /> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterCheckPurchase.gif" - Text="Check Purchase" /> - <telerik:RadToolBarButton ImageUrl="~/ToolBarImages/RegisterDirectBankPurchase.gif" - Text="Bank Purchase" /> - </Buttons> - </telerik:RadToolBarSplitButton> - </Items> - </telerik:RadToolBar> - - - - - Gets the settings for the animation played when a dropdown opens. - - An AnnimationSettings that represents the - expand animation. - - - - Use the ExpandAnimation property to customize the expand - animation of the RadToolBar dropdown items - - RadToolBarDropDown and - RadToolBarSplitButton. You can specify the - Type and - the Duration of the expand animation. - To disable expand animation effects you should set the - Type to - AnimationType.None.
- To customize the collapse animation you can use the - CollapseAnimation property. -
-
- - The following example demonstrates how to set the ExpandAnimation - of the RadToolBar dropdown items. - - ASPX: - - - <telerik:RadToolBar ID="RadToolBar1" runat="server"> - <ExpandAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadToolBarDropDown Text="Insert Html Element" > - <Buttons> - <telerik:RadToolBarButton Text="Image" /> - <telerik:RadToolBarButton Text="Editable Div element" /> - </Buttons> - </telerik:RadToolBarDropDown> - <telerik:RadToolBarSplitButton Text="Insert Form Element" > - <Buttons> - <telerik:RadToolBarButton Text="Button" /> - <telerik:RadToolBarButton Text="TextBox" /> - <telerik:RadToolBarButton Text="TextArea" /> - <telerik:RadToolBarButton Text="CheckBox" /> - <telerik:RadToolBarButton Text="RadioButton" /> - </Buttons> - </telerik:RadToolBarSplitButton> - </Items> - </telerik:RadToolBar> - - - void Page_Load(object sender, EventArgs e) - { - RadToolBar1.ExpandAnimation.Type = AnimationType.Linear; - RadToolBar1.ExpandAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadToolBar1.ExpandAnimation.Type = AnimationType.Linear - RadToolBar1.ExpandAnimation.Duration = 300 - End Sub - - -
- - Gets the settings for the animation played when a dropdown closes. - - An AnnimationSettings that represents the - collapse animation. - - - - Use the CollapseAnimation property to customize the collapse - animation of the RadToolBar dropdown items - - RadToolBarDropDown and - RadToolBarSplitButton. You can specify the - Type and - the Duration of the collapse animation. - To disable collapse animation effects you should set the - Type to - AnimationType.None.
- To customize the expand animation you can use the - ExpandAnimation property. -
-
- - The following example demonstrates how to set the CollapseAnimation - of the RadToolBar dropdown items. - - ASPX: - - - <telerik:RadToolBar ID="RadToolBar1" runat="server"> - <CollapseAnimation Type="OutQuint" Duration="300" - /> - <Items> - <telerik:RadToolBarDropDown Text="Insert Html Element" > - <Buttons> - <telerik:RadToolBarButton Text="Image" /> - <telerik:RadToolBarButton Text="Editable Div element" /> - </Buttons> - </telerik:RadToolBarDropDown> - <telerik:RadToolBarSplitButton Text="Insert Form Element" > - <Buttons> - <telerik:RadToolBarButton Text="Button" /> - <telerik:RadToolBarButton Text="TextBox" /> - <telerik:RadToolBarButton Text="TextArea" /> - <telerik:RadToolBarButton Text="CheckBox" /> - <telerik:RadToolBarButton Text="RadioButton" /> - </Buttons> - </telerik:RadToolBarSplitButton> - </Items> - </telerik:RadToolBar> - - - void Page_Load(object sender, EventArgs e) - { - RadToolBar1.CollapseAnimation.Type = AnimationType.Linear; - RadToolBar1.CollapseAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadToolBar1.CollapseAnimation.Type = AnimationType.Linear - RadToolBar1.CollapseAnimation.Duration = 300 - End Sub - - -
- - - Gets or sets the name of the validation group to which this validation - control belongs. - - - The name of the validation group to which this validation control belongs. The - default is an empty string (""), which indicates that this property is not set. - - - This property works only when CausesValidation - is set to true. - - - - - - Gets or sets the URL of the page to post to from the current page when a button item - from the RadToolBar control is clicked. - - - The URL of the Web page to post to from the current page when a tab from the - tabstrip control is clicked. The default value is an empty string (""), which causes - the page to post back to itself. - - - - - Gets or sets a value indicating whether validation is performed when a button item within - the RadToolBar control is clicked. - - - true if validation is performed when a button item is clicked; - otherwise, false. The default value is true. - - - By default, page validation is performed when a button item is clicked. Page - validation determines whether the input controls associated with a validation - control on the page all pass the validation rules specified by the validation - control. You can specify or determine whether validation is performed on both the - client and the server when a tab is clicked by using the CausesValidation - property. To prevent validation from being performed, set the - CausesValidation property to false. - - - - - Gets or sets a value indicating whether button items should postback when clicked. - - - True if button items should postback; otherwise false. The default - value is false. - - - RadToolBar will postback provided one of the following conditions is met: - - - The AutoPostBack property is set to true. - - - The user has subscribed to the ButtonClick event. - - - - - - - Gets or sets a value indicating whether child items should have rounded corners. - - - True if the child items should have rounded corners; otherwise - false. The default value is false. - - - - - Gets or sets a value indicating whether child items should have shadows. - - - True if the child items should have shadows; otherwise - false. The default value is false. - - - - - Gets or sets a value indicating whether item images should have sprite support. - - - True if the child items should have sprite support; otherwise - False. The default value is False. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - - The CSS class rendered by the Web server control on the client. The - default is . - - - - - Gets or Sets SingleClick state - - - - - Gets or sets the name of the javascript function called when the control is fully - initialized on the client side. - - - A string specifying the name of the javascript function called when the control - is fully initialized on the client side. The default value is empty string. - - - Use the OnClientLoad property to specify a JavaScript - function that is executed after the control is initialized on the client side. - A single parameter is passed to the handler, which is the - client-side RadToolBar object. - - - The following example demonstrates how to use the OnClientLoad - property. - - <script language="javascript">
- function onClientToolBarLoad(toolBar, eventArgs)
- {
- alert(toolBar.get_id() + " is loaded.");
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientButtonClicking="onButtonClicking">
- <Items>
- <telerik:RadToolBarButton Text="Save"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Load"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Apply Color (Red)">
- <Buttons>
- <telerik:RadToolBarButton Text="Red"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Yellow"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Blue"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called just - prior to clicking a toolbar button item (RadToolBarButton or RadToolBarSplitButton). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonClicking property to specify a - JavaScript function that will be executed prior to button item clicking - either by - left-clicking it with the mouse or hitting enter after tabbing to that button. You can - cancel that event (prevent button clicking) by seting the cancel property of the event argument to true. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with three properties -
    -
  • item - the instance of the button item being clicked
  • -
  • cancel - whether to cancel the event
  • -
  • domEvent - the reference to the browser DOM event
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientButtonClicking property. - - <script language="javascript">
- function clientButtonClicking(sender, eventArgs)
- {
- var toolBar = sender;
- var button = eventArgs.get_item();
-
- alert("You are clicking the '" + button.get_text() + "' button in the '" + toolBar.get_id() + - "' toolBar.");
-
- if (button.get_text() == "Right")
- {
- alert("Right alignment is not available");
- eventArgs.set_cancel(true);
- }
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientButtonClicking="clientButtonClicking">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after clicking a button item (RadToolBarButton or RadToolBarSplitButton). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientButtonClicked property to specify a JavaScript - function that will be executed after a button is clicked - either by left-clicking it - with the mouse or hitting enter after tabbing to that button item. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with two properties -
    -
  • item - the instance of the clicked button
  • -
  • domEvent - the reference to the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientButtonClicked property. - - <script language="javascript">
- function clientButtonClicked(sender, eventArgs)
- {
- var toolBar = sender;
- var button = eventArgs.get_item();
-
- alert(String.format("You clicked the '{0}' button in the '{1}' toolBar.", - button.get_text(), toolBar.get_id()));
- }
- </script>
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientButtonClicked="clientButtonClicked">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called just - prior to opening a toolbar dropdown item (RadToolBarDropDown or RadToolBarSplitButton). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientDropDownOpening property to specify a - JavaScript function that will be executed prior to dropdown item opening - either by - left-clicking it with the mouse or hitting the down arrow after tabbing to that item. You can - cancel that event (prevent dropdown opening) by seting the cancel property of the event argument to true. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with three properties -
    -
  • item - the instance of the dropdown item being opened
  • -
  • cancel - whether to cancel the event
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as dropDownItem.showDropDown();)
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientDropDownOpening property. - - <script language="javascript">
- function clientDropDownOpening(sender, eventArgs)
- {
- var toolBar = sender;
- var dropDownItem = eventArgs.get_item();
-
- alert("You are opening the '" + dropDownItem.get_text() + "' dropDown in the '" + toolBar.get_id() + - "' toolBar.");
-
- if (dropDownItem.get_text() == "Align")
- {
- alert("Alignment is not available");
- eventArgs.set_cancel(true);
- }
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientDropDownOpening="clientDropDownOpening">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called after a - toolbar dropdown item (RadToolBarDropDown or RadToolBarSplitButton) is opened. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientDropDownOpened property to specify a - JavaScript function that will be executed after a toolbar dropdown item - is opened - either by left-clicking it with the mouse or hitting the down arrow - after tabbing to that item. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with two properties -
    -
  • item - the instance of the dropdown item which is opened
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as dropDownItem.showDropDown())
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientDropDownOpened property. - - <script language="javascript">
- function clientDropDownOpened(sender, eventArgs)
- {
- var toolBar = sender;
- var dropDownItem = eventArgs.get_item();
-
- alert("You just opened the '" + dropDownItem.get_text() + "' dropDown in the '" + toolBar.get_id() + - "' toolBar.");
-
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientDropDownOpened="clientDropDownOpened">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called just - prior to closing a toolbar dropdown item (RadToolBarDropDown or RadToolBarSplitButton). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientDropDownClosing property to specify a - JavaScript function that will be executed prior to dropdown item closing - either by - left-clicking an open dropdown with the mouse, hitting the ESC key when the dropdown or - a button in it is focused, or clicking a non-checkable button in the dropdown. You can - cancel that event (prevent dropdown closing) by seting the cancel property of the event argument to true. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with three properties -
    -
  • item - the instance of the dropdown item being closed
  • -
  • cancel - whether to cancel the event
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as dropDownItem.hideDropDown())
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientDropDownClosing property. - - <script language="javascript">
- function clientDropDownClosing(sender, eventArgs)
- {
- var toolBar = sender;
- var dropDownItem = eventArgs.get_item();
-
- alert("You are about to close the '" + dropDownItem.get_text() + "' dropDown in the '" + toolBar.get_id() + - "' toolBar.");
-
- if (dropDownItem.get_text() == "Align")
- {
- alert("You cannot close the Align dropdown!");
- eventArgs.set_cancel(true);
- }
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientDropDownClosing="clientDropDownClosing">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called after a - toolbar dropdown item (RadToolBarDropDown or RadToolBarSplitButton) is closed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientDropDownClosed property to specify a - JavaScript function that will be executed after a toolbar dropdown item - is closed - either by left-clicking an open dropdown with the mouse, hitting - the ESC key when the dropdown or a button in it is focused, or clicking a - non-checkable button in the dropdown. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with two properties -
    -
  • item - the instance of the dropdown item which is closed
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as dropDownItem.hideDropDown())
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientDropDownClosed property. - - <script language="javascript">
- function clientDropDownClosed(sender, eventArgs)
- {
- var toolBar = sender;
- var dropDownItem = eventArgs.get_item();
-
- alert("You just closed the '" + dropDownItem.get_text() + "' dropDown in the '" + toolBar.get_id() + - "' toolBar.");
-
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientDropDownClosed="clientDropDownClosed">
- <Items>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Right">
- <Buttons>
- <telerik:RadToolBarButton Text="Left"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right"></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - before the browser context menu shows (after right-clicking an item). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientContextMenu property to specify a JavaScript - function that will be executed before the context menu shows after right clicking an - item. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with two properties -
    -
  • item - the instance of the selected toolbar item
  • -
  • domEvent - the reference to the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientContextMenu property. - - <script language="javascript">
- function onContextMenuHandler(sender, eventArgs)
- {
- var toolBar = sender;
- var item = eventArgs.get_item();
-
- alert(String.format("You have right-clicked the {0} item in the {1} toolBar.", item.get_text(), toolBar.get_id());
- }
- </script>
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientContextMenu="onContextMenuHandler">
- <Items>
- <telerik:RadToolBarButton Text="Bold"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Italic"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Underline"></telerik:RadToolBarButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the mouse hovers an item in the RadToolBar control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMouseOver property to specify a JavaScript - function that is called when the user hovers an item with the mouse. - Two parameters are passed to the handler: - - sender (the client-side RadToolBar object); - - eventArgs with two properties -
    -
  • item - the instance of the toolbar item that is being hovered
  • -
  • domEvent - the reference to the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the - OnClientMouseOver property. - - <script language="javascript">
- function onClientMouseOver(sender, eventArgs)
- {
- var toolBar = sender;
- var item = eventArgs.get_item();
- var domEvent = eventArgs.get_domEvent();
-
- alert(String.format("You have just moved over the {0} item in the {1} toolBar", item.get_text(), toolBar.get_id());
- alert(String.format("Mouse coordinates: \n\nx = {0};\ny = {1}", domEvent.clientX, domEvent.clientY));
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientMouseOver="onClientMouseOver">
- <Items>
- <telerik:RadToolBarButton Text="Bold"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Italic"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Underline"></telerik:RadToolBarButton>
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the mouse leaves an item in the RadToolBar control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientMouseOut property to specify a JavaScript - function that is executed whenever the user moves the mouse - away from a particular item in the RadToolBar control. - Two parameters are passed to the handler: - - sender (the client-side RadToolBar object); - - eventArgs with two properties: -
    -
  • item - the instance of the item which the mouse is moving - away from;
  • -
  • domEvent - the reference to the browser DOM event
  • -
-
-
-
- - The following example demonstrates how to use the OnClientMouseOut - property. - - <script language="javascript">
- function onClientMouseOut(sender, eventArgs)
- {
- var toolBar = sender;
- var item = eventArgs.get_item();
- var domEvent = eventArgs.get_domEvent(); - alert(String.format("You have just moved out of '{0}' item in the {1} toolBar.", - item.get_text(), toolBar.get_id()));
- alert(String.format("Mouse coordinates: \n\nx = {0}\ny = {1}", - domEvent.clientX, domEvent.clientY));
- }
- </script>
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientMouseOut="onClientMouseOut">
- <Items>
- <telerik:RadToolBarButton Text="Bold"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Italic"></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Underline"></telerik:RadToolBarButton>
- </Items>
- </telerik:RadToolBar> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called just - prior to changing the state of a checkable RadToolBarButton. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientCheckedStateChanging property to specify a - JavaScript function that will be executed prior to button checked state changing - either by - left-clicking a checkable button or pressing the ENTER key after tabbing to that button. You can - cancel that event (prevent button checked state changing) by seting the cancel property of the - event argument to true. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with three properties -
    -
  • item - the instance of the button which checked state is being changed
  • -
  • cancel - whether to cancel the event
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as button.toggle())
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientCheckedStateChanging property. - - <script language="javascript">
- function clientCheckedStateChanging(sender, eventArgs)
- {
- var toolBar = sender;
- var button = eventArgs.get_item();
-
- alert(String.format("You are about to change the checked state of the '{0}' button in the '{1}' toolBar.", - button.get_text(), toolBar.get_id()));
-
- if (item.get_text() == "Left" && item.get_group() == "Align")
- {
- alert("You cannot change the checked state of the 'Align Left' button!");
- eventArgs.set_cancel(true);
- }
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientCheckedStateChanging="clientCheckedStateChanging">
- <Items>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Reset">
- <Buttons>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called after a - RadToolBarButton is checked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Use the OnClientCheckedStateChanged property to specify a - JavaScript function that will be executed after a toolbar dropdown button - is checked - either by left-clicking a checkable button or pressing the ENTER - key after tabbing to that button. - Two parameters are passed to the handler - - sender (the client-side RadToolBar object) - - eventArgs with two properties -
    -
  • item - the instance of the button which is checked
  • -
  • domEvent - the reference to the browser DOM event (null if the event was initiated by - calling a client-side method such as button.toggle())
  • -
-
-
-
-
- - The following example demonstrates how to use the - OnClientCheckedStateChanged property. - - <script language="javascript">
- function clientCheckedStateChanged(sender, eventArgs)
- {
- var toolBar = sender;
- var button = eventArgs.get_item();
-
- alert(String.format("You just changed the checked state of the '{0}' button in the '{1}' toolBar.", - button.get_text(), toolBar.get_id()));
-
- }
- </script>
-
- <telerik:RadToolBar id="RadToolBar1" runat="server" - OnClientCheckedStateChanged="clientCheckedStateChanged">
- <Items>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarDropDown Text="Align">
- <Buttons>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarDropDown>
- <telerik:RadToolBarSplitButton Text="Reset">
- <Buttons>
- <telerik:RadToolBarButton Text="Left" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Center" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- <telerik:RadToolBarButton Text="Right" CheckOnClick="true" Group="Align" ></telerik:RadToolBarButton>
- </Buttons>
- </telerik:RadToolBarSplitButton>
- </Items>
- </telerik:RadToolBar>
-
-
-
- - Occurs when a toolbar item is created. - - The ItemCreated event is raised when an item in the RadToolBar - control is created, both during round-trips and at the time data is bound to the control. - The ItemCreated event is not raised for items which are defined inline in the page or user control. - The ItemCreated event is commonly used to initialize item properties. - - - The following example demonstrates how to use the ItemCreated event - to set the ToolTip property of each item. - - protected void RadToolBar1_ItemCreated(object sender, Telerik.Web.UI.RadToolBarEventArgs e) - { - e.Item.ToolTip = e.Item.Text; - } - - - Sub RadToolBar1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarEventArgs) Handles RadToolBar1.ItemCreated - e.Item.ToolTip = e.Item.Text - End Sub - - - - - Occurs before template is being applied to the item. - - The TemplateNeeded event is raised before a template is been applied on the item, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for items - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property the nodes. - - protected void RadToolBar1_TemplateNeeded(object sender, Telerik.Web.UI.RadToolBarEventArgs e) - { - string value = e.Item.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - textBoxTemplate.InstantiateIn(e.Item); - } - } - } - - - Sub RadToolBar1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarEventArgs) Handles RadToolBar1.TemplateNeeded - Dim value As String = e.Item.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - textBoxTemplate.InstantiateIn(e.Item) - End If - End If - End Sub - - - - - Occurs when a button is data bound. - - - The ButtonDataBound event is raised for each button upon - databinding. You can retrieve the button being bound using the event arguments. - The DataItem associated with the button can be retrieved using - the DataItem property. - - The ButtonDataBound event is often used in scenarios when you - want to perform additional mapping of fields from the DataItem to their respective - properties in the RadToolBarButton class. - - - The following example demonstrates how to map fields from the data item to - button properties using the ButtonDataBound - event. - - protected void RadToolBar1_ButtonDataBound(object sender, Telerik.Web.UI.RadToolBarButtonEventArgs e) - { - e.Button.ImageUrl = "~/ToolBarImages/tool" + (string)DataBinder.Eval(e.Button.DataItem, "Text") + ".gif"; - e.Button.NavigateUrl = (string)DataBinder.Eval(e.Button.DataItem, "URL"); - } - - - Sub RadToolBar1_ButtonDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarButtonEventArgs) Handles RadToolBar1.ButtonDataBound - e.Button.ImageUrl = "~/ToolBarImages/tool" & CStr(DataBinder.Eval(e.Button.DataItem, "Text")) & ".gif" - e.Button.NavigateUrl = CStr(DataBinder.Eval(e.Button.DataItem, "URL")) - End Sub - - - - - - Occurs on the server when a button or in the RadToolBar - control is clicked. - - - The following example demonstrates how to use the ButtonClick event to - determine the clicked button. - - protected void RadToolBar1_ButtonClick(object sender, Telerik.Web.UI.RadToolBarButtonEventArgs e) - { - Label1.Text = "Clicked button is " + e.Item.Text; - } - - - Sub RadToolBar1_ButtonClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarButtonEventArgs) Handles RadToolBar1.ButtonClick - Label1.Text = "Clicked button is " & e.Item.Text; - End Sub - - - - - - TreeListDragDropColumn is used for utilizing items drag and drop operation in RadTreeList. - It renders a drag handle which can be used to get hold of the item and drag it around. - When this column is used, an item can be dragged only if the drag handle is clicked. - Note that item selection still needs to be enabled in order for the handle to be active. - - - - - The base class that represents all columns in . - - - - - Initializes one by one the cells which belong to the column. - These could be data, header and footer cells. - - The cell which will be set up. - The index of the column to which the cell belongs. - The TreeListItem to which the cell will be added. - - - - Prepares the cell of the given item when the treelist is rendered. - - - - - - - - - By default returns the SortExpression of the column. If the SortExpression is not set explicitly, it would be calculated, based on the - DataField of the column. - - - - - - Gets a reference to the object - to which the column belongs - - - - - Indicates if the control is in design-mode. - - - - - Returns a string which represents the type of the current column. - - - - - Gets or sets the text which will appear in the header cell of the column. - - - - - Gets or sets the tooltip of the header cell. - - - - - Use the FooterText property to specify your own or determine the current - text for the footer section of the column. - - - - - Each column in Telerik RadTreeList has an UniqueName - property (string). This property is assigned automatically by the designer (or the - first time you want to access the columns if they are built dynamically). - - - - - Style of the cell in the header item of the RadTreeList, corresponding to the column. - - - - - Style of the cell in the item of the RadTreeList, corresponding to the column. - - - - - Gets or sets a value indicating if the column and all corresponding cells would be rendered. - - - This property returns a Boolean value, indicating - whether the cells corresponding to the column, would be visible on the client, and - whether they would be rendered on the client. - - - - - Should override if sorting will be disabled - - - - - Gets or sets a value indicating whether the column can be resized client-side. - You can use this property, by setting it to false, to disable resizing for a particular - column, while preserving this functionality for all the other columns. - - - The property returns a boolean value, indicating - whether the column can be resized on the client. - - - - - Gets or sets a value indicating whether the column can be reordered client-side. - - - This property returns a boolean value, indicating whether the column is - reorderable. The default value is true, meaning that the column can be reordered, using - the SwapColumns client side method. - - - - - Gets or sets minimum width of the column. Used when resizing. - - - This property returns value in pixels. The default value is Unit.Empty. - - - - - Gets or sets maximum width of the column. Used when resizing. - - - This property returns value in pixels. The default value is Unit.Empty. - - - - - Gets or sets a value indicating whether the cells corresponding to a column would be rendered with a 'display:none' style attribute (end-user-not-visible). - To completely prevent cells from rendering, set the property to false, instead of the Display property. - - - This property returns a Boolean value, indicating - whether the cells corresponding to the column would be rendered with a 'display:none' - style attribute (end-user-not-visible). - - - - - Gets or sets the order index of column used when reordering the columns. - - - integer representing the current column index. - - - - - The string representing a filed-name from the DataSource that should be used when grid sorts by this column. - - - - - initializes the data cells of the column - - the table cell - the column index - the TreeListDataItem - - - - Gets or sets the ToolTip of the Drag image for the TreeListDragDropColumn - - - - - Gets or sets the URL of the drag image that will be displayed - instead of the default Drag image for the TreeListDragDropColumn - - - - - Gets or sets the unique name for this column - - - - - Readonly property. The DragDropColumn cannot be resized - - returns false - - - - - The arguments passed when - fires the ChildItemsDataBind event. - - - - - Gets an object of type - that represents the nested level and level index of the item that is being expanded. - - - - - Returns a Hashtable containing the data key values associated with the parent item. - It can be indexed using the key names specified in the DataKeyNames collection of the - - - - - - Gets or sets the data source for the child items of the - currently expanded item. - - - - - Represents a custom skin reference. - - - - - Gets or sets a string value representing the resource name. - - - - - Gets or sets a string value representing the url of the custom skin. - - - - - Gets or sets a string value representing the name of the custom skin. - - - - - Gets or sets a boolean value indicating whether a reference the skin is registered. - - - - - Represents a collection of custom non-embedded skins. - - - - - Returns the index of a given CustomNonEmbeddedSkin object in the collection. - - The CustomNonEmbeddedSkin to search for. - An integer value representing the position of the item in the collection. - - - - Adds a passed CustomNonEmbeddedSkin to the collection. - - A CustomNonEmbeddedSkin item to add to the collection. - - - - Returns a boolean value indicating whether the passed CustomNonEmbeddedSkin object belongs to the collection. - - The CustomNonEmbeddedSkin to search for. - True if the passed object is found in the collection; otherwise false. - - - - Returns a boolean value indicating whether a CustomNonEmbeddedSkin object, located by the - passed resource name, belongs to the collection. - - A string value representing the ResourceName of the custom skin. - True if the resolved CustomNonEmbeddedSkin is found in the collection; otherwise false. - - - - Returns a reference to a CustomNonEmbeddedSkin object by a given resource name. - - A string representing the resource name. - The located CustomNonEmbeddedSkin reference. - - - - - - - - - - - - - - - - - - - - - - - - Represents a reference to a given skin in its containing assembly/folder. - - - - - Gets or sets a string value representing the path to the skin files of the current skin. - - - - - Gets or sets a string value representing the name of the assembly where a skin resides. - - - - - Represents a collection of SkinReference objects representing the references to all available skins. - - - - - Gets a list of strings representing the assembly names of all skin references in the collection. - - - - - Gets or sets the template for the item. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - The following template demonstrates how to add a Calendar control in a RibbonBarTemplateItem - - templateItem.Template = new TextBoxTemplate(); - - - templateItem.Template = new TextBoxTemplate() - - - - - - The arguments passed when - fires the ColumnsOrderChanged event. - - - - - A collection containing information about the columns which - were reordered to trigger the event - - - - - A class used to provide information about reordered columns. - - - - - Gets a reference to the TreeListColumn which was reordered. - - - - - Gets an integer value corresponding to the old OrderIndex property - value of the reordered column. - - - - - A base class representing the event args passed when - fires the ItemInserted, ItemUpdated and ItemDeleted events. - - - - - Gets the number of affected rows. - - - - - Gets the Exception object in case an exception happended during - the automatic operation. - - - - - Gets a reference to the edited item. - - - - - Gets or sets a value indicating whether the exception - that was thrown is handled. - - - - - The arguments passed when - fires the ItemUpdated event. - - - - - Gets or sets a boolean value indicating whether the edited item - will remain in edit mode. - - - - - The arguments passed when - fires the ItemInserted event. - - - - - Gets or sets a value indicating whether the inserted item - will remain in insert mode. - - - - - The arguments passed when - fires the ItemDeleted event. - - - - - Gets a collection of the deleted items' key values. - - - - - Represents the argument data passed to the event handler of the ItemCreated and ItemDataBound events of RadRating. - - - - - Gets/Sets the current RadRatingItem. - - - - - Represents an object that provides the data binding information for the Items of the Rating control. - - - - - Gets/Sets the field of the data source that provides the value content (Value property of the Rating item) of the Rating items. - - - - - Gets/Sets the field of the data source that provides the ToolTip content (ToolTip property of the Rating item) of the Rating items. - - - - - Gets/Sets the formatting string used to control how data bound to the RatingItem's ToolTip is displayed. - - - - - Gets the index of the clicked toggle button in its containing toggle list. - - - - - Gets the parent toggle list of the clicked toggle button. - - - - - Gets the parent group of the clicked toggle button. - - - - - The that has been toggled. - - - - - An with all toggle buttons in the parent toggle list. - - - - - Gets a list of RibbonBarToggleButton that contains the visible toggle buttons of the ToggleList. - - - - - Loads the control from an XML string. - - - The XmlReader from which the control will be populated. - - - Use the LoadXml method to populate the control from an XML string. - - - - - Gets a RibbonBarToggleButtonCollection object that contains the toggle buttons of the ToggleList. - - - A RibbonBarToggleButtonCollection that contains the toggle buttons of the ToggleList. By default - the collection is empty (ToggleList has no ToggleButtons). - - - Use the ToggleButtons property to access the toggle buttons of the ToggleList. You can also use the ToggleButtons property to - manage the toggle buttons. You can add, remove or modify toggle buttons. - - - The following example demonstrates how to programmatically modify the properties of a toggle button inside of a ToggleList. - - toggleList.ToggleButtons[0].Text = "Example"; - - - toggleList.ToggleButtons(0).Text = "Example" - - - - - - Gets the currently toggled RibbonBarToggleButton. - - - The currently toggled RibbonBarToggleButton. When there isn't a toggle button or the - collection is empty, the returned result is null. - - - Use the ToggledButton property to access the toggled button of the ToggleList. - - - The following example demonstrates how to programmatically modify the properties of the toggled button. - - toggleList.ToggledButton.Text = "Example"; - - - toggleList.ToggledButton.Text = "Example" - - - - - - Gets the index of the clicked button in its containing group. - - - - - Gets the group of the clicked toggle button's parent group. - - - - - The toggle button that has been toggled. - - - - - For internal use only. - - - - - - - Boolean property that shows whether the key hints are visile or not. - - - - - Gets or sets the small (or in Clip ImageRenderingMode both small and large) image's URL of a certain item. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrl property to specify a custom image that will be - used when the item has Size = RibbonBarItemSize.Small or RibbonBarItemSize.Medium, when in Dual mode and all sizes in Clip mode. - - - - - Gets or sets the tooltip of a certain item. - - - The text displayed in the RibbonbBar's enhanced ToolTip. The default value is empty - string. - - - When the ToolTip value is empty, the default ASP ToolTip is displayed - with the Text of the item as a value. When ToolTip is set, the enhanced RibbonBar tooltip - is shown instead of the default one. - - - - - Gets or sets the small (or in Clip ImageRenderingMode both small and large) disabled image's URL of a certain item. - - - The URL to the image. The default value is empty - string. - - - Use the DisabledImageUrl property to specify a custom image that will be - used when the item has Size = RibbonBarItemSize.Small or RibbonBarItemSize.Medium, when in Dual mode and all sizes in Clip mode - and at the same time disabled. - - - - - Gets or sets the large image's URL of a certain item. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrlLarge property to specify a custom image that will be - used when the item has Size = RibbonBarItemSize.Large. - - - - - Gets or sets the large image's URL of a certain item for disabled state. - - - The URL to the image. The default value is empty - string. - - - Use the DisabledImageUrlLarge property to specify a custom image that will be - used when the item has Size = RibbonBarItemSize.Large and is disabled. - - - - - Gets or sets the size of a certain item. This property is used to determine - a combination of Text, ImageUrl and ImageUrlLarge which should be displayed - at initial load of the RibbonBar for a specific item. - - - The value is from the enum RibbonBarItemSize. The default value is - RibbonBarItemSize.Small. - - - Use the Size property to specify the item's initial size: - - For small icon - RibbonBarItemSize.Small; - - For small icon with text - RibbonBarItemSize.Medium; - - For large icon with text - RibbonBarItemSize.Large. - - - - - Gets/sets the Image Rendering Mode, localy for the item. - - - The value is from the enum RibbonBarImageRenderingMode. It depends - of the value of ImageRenderingMode property of RadRibbonBar. - - - In case ImageRenderingMode is not explicitly set (meaning RibbonBar's ImageRenderingMode is Auto), it's considered as follows: - - If ImageUrl is set and ImageUrlLarge is not set - the mode is Clip; - - Any other case - Dual. - - - - - Gets or sets the text of a certain item. - - - The text of an item. The default value is empty - string. - - - Use the property to set the displayed text for an item. - - - - - Gets or sets the rendered alt text of the item's image dom element. - - - alt text of an item's image. The default value is empty - string. - - - Use the property to set the alt text for the item's image element, when needed for accessibility. - - - - - Gets or sets the value property of the button. - - - You can use it to associate custom data with the button. - - - This example illustrates how to use the Value property on ButtonClick event. - - - protected void RadRibbonBar1_ButtonClick(object sender, RibbonBarButtonClickEventArgs e) - { - if (e.Button.Value == "TriggersSomeAction") - { - // trigger the action - } - } - - - Protected Sub RadRibbonBar1_ButtonClick(sender As Object, e As RibbonBarButtonClickEventArgs) - If e.Button.Value = "TriggersSomeAction" Then - ' trigger the action - End If - End Sub - - - - - Gets or sets the command name associated with the Button that is passed to the Command event. - - - - - Gets or sets an optional parameter passed to the Command event along with the associated CommandName. - - - - - Property for the toggle state of the button. - - - Boolean. The default value is false. - - - Use the property to get the toggle state of the button. - - - - - Gets a list of RibbonBarButton that contains the visible buttons of the ButtonStrip. - - - - - Gets a RibbonBarButtonCollection object that contains the buttons of the ButtonStrip. - - - A RibbonBarButtonCollection that contains the buttons of the ButtonStrip. By default - the collection is empty (ButtonStrip has no buttons). - - - Use the Buttons property to access the buttons of the ButtonStrip. You can also use the Buttons property to - manage the buttons. You can add, remove or modify buttons. - - - The following example demonstrates how to programmatically modify the properties of a button inside of a ButtonStrip. - - buttonStrip.Buttons[0].Text = "Example"; - - - buttonStrip.Buttons(0).Text = "Example" - - - - - - Gets or sets the text of a certain item. - - - The text of an item. The default value is empty - string. - - - Use the property to set the displayed text for an item. - - - - - Gets or sets a value indicating whether this is selected. - - true if selected; otherwise, false. - - - - Returns all buttons with Visible=true in the Buttons collection. - - A list of RibbonBarButton objects. - - - - Searches the RibbonBarSplitButton for the first - RibbonBarButton which Value - property is equal to the specified value. - - - A RibbonBarButton whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Gets a RibbonBarButtonCollection object that contains the buttons of the SplitButton. - - - A RibbonBarButtonCollection that contains the buttons of the SplitButton. By default - the collection is empty (SplitButton has no buttons). - - - Use the Buttons property to access the buttons of the SplitButton. You can also use the Buttons property to - manage the buttons. You can add, remove or modify buttons. - - - The following example demonstrates how to programmatically modify the properties of a button inside of a SplitButton. - - splitButton.Buttons[0].Text = "Example"; - - - splitButton.Buttons(0).Text = "Example" - - - - - - Determines whether button selection on button click is enabled. - - - Boolean. The default value is false. - - - Use the property to enable/disable button selection. Button selection is the - ability to select a button from the drop-down, which becames the default action - for the Split Button. - - - - - Property allowing one to select a default action of the Split Button. - If proper conditions are met, the text and the image of the SplitButton - are also updated using the selected button. - - - Integer. The default value is -1. - - - Use the property to select a button as a default action of the Split Button. - - - - - Gets the group, which launcher has been clicked. - - - - - Gets the index of the clicked button in its containing split button. - - - - - Gets the parent split button of the clicked button. - - - - - Gets the parent group of the clicked button. - - - - - Gets the button that has been clicked. - - - - - Gets the index of the item in its parent (menu or menu item). - - - - - Gets the parent menu item of the clicked menu item. - - - - - Gets the parent menu of the clicked menu item. - - - - - Gets the group of the clicked item's parent menu. - - - - - Gets the menu item that has been clicked. - - - - - Gets the index of the clicked button in its containing group. - - - - - Gets the parent group of the clicked button. - - - - - Gets the button that has been clicked. - - - - - This partial class RibbonBarMenu that inherits RibbonBarMenuBaseItem. - - - - - Returns the Visible menu items. - - All visible items in the Menu. - - - - Searches the RibbonBarMenu for the first - RibbonBarMenuItem which Value - property is equal to the specified value. - - - A RibbonBarMenuItem whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Reads the XML. - - The reader. - - - - Gets a RibbonBarMenuItemCollection object that contains the items of the Menu. - - - A RibbonBarMenuItemCollection that contains the items of the Menu. By default - the collection is empty (the Menu has no items). - - - Use the Items property to access the items of the Menu. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of the items inside the collection. - - menu.Items[0].Text = "SampleMenuItemText"; - - - menu.Items(0).Text = "SampleMenuItemText" - - - - - - Gets or sets the parent web control. - - The parent web control. - - - - This Class defines RibbonBarMenuItem. - - - - - Outputs server control content to a provided - object and stores tracing information about the control if tracing is enabled. - - The object - that receives the control content. - - - - Returns the Visible sub-items. - - All visible sub-items. - - - - Searches the RibbonBarMenuItem for the first - sub-item which Value - property is equal to the specified value. - - - A sub-item of the current MenuItem whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Reads the XML. - - The reader. - - - - Gets the parent item of the menu item. Returns null if the parent is the menu itself. - - - - - Gets or sets the container. - - The container. - - - - Gets a reference to the RibbonBar instance. - - - Use the property to get the RibbonBar instance. - - RadRibbonBar instance. If not set, the returned is null. - - - - Gets or sets the parent web control. - - The parent web control. - - - - Gets or sets the image's URL of the item, used when it's enabled. - - - The URL to the image. The default value is empty - string. - - - Use the ImageUrl property to specify a custom image that will be - used when the item is enabled. - - - - - Gets or sets the image's URL of the item, used when it's disabled. - - - The URL to the image. The default value is empty - string. - - - Use the DisabledImageUrl property to specify a custom image that will be - used when the item is disabled. - - - - - Gets or sets the rendered alt text of the item's image dom element. - - - alt text of an item's image. The default value is empty - string. - - - Use the property to set the alt text for the item's image element, when needed for accessibility. - - - - - Gets or sets navigation URL for the item. Usually pointing to a page. - - - URL. The default value is empty - string. - - - Use the NavigateUrl property to specify a custom a url to a page - which should be loaded on click on the item. - - - - - Gets or sets the text of a certain item. - - - The text of an item. The default value is empty - string. - - - Use the property to set the displayed text for an item. - - - - - Gets or sets the value property of the item. - - - You can use it to associate custom data with the item. - - - This example illustrates how to use the Value property on MenuItemClick event. - - - protected void RadRibbonBar1_MenuItemClick(object sender, RibbonBarMenuItemClickEventArgs e) - { - if (e.Item.Value == "SpecialItem") - { - // trigger an action - } - } - - - Protected Sub RadRibbonBar1_MenuItemClick(sender As Object, e As RibbonBarMenuItemClickEventArgs) - If e.Item.Value = "SpecialItem" Then - ' trigger the action - End If - End Sub - - - - - Gets or sets the tooltip of a certain item. - - - The text displayed in the RibbonbBar's enhanced ToolTip. The default value is empty - string. - - - When the ToolTip value is empty, the default ASP ToolTip is displayed - with the Text of the item as a value. When ToolTip is set, the enhanced RibbonBar tooltip - is shown instead of the default one. - - - - - Gets or sets the command name associated with the MenuItem that is passed to the Command event. - - - - - Gets or sets an optional parameter passed to the Command event along with the associated CommandName. - - - - - Gets a RibbonBarMenuItemCollection object that contains the sub-items of the MenuItem. - - - A RibbonBarMenuItemCollection that contains the sub-items of the MenuItem. By default - the collection is empty (the MenuItem has no sub-items). - - - Use the Items property to access the sub-items of the MenuItem. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of the items inside the collection. - - menuItem.Items[0].Text = "SampleMenuItemText"; - - - menuItem.Items(0).Text = "SampleMenuItemText" - - - - - - RibbonBarItem is rendered using small image and no text - - - - - RibbonBarItem is rendered using small image and text - - - - - RibbonBarItem is rendered using large image and text - - - - - The default value - If only ImageUrl (and not ImageUrlLarge) is set to one RibbonBarClickableItem, then Auto equals to Clip mode, if both or only ImageUrlLarge is set -> it equals Dual mode - - - - - RibbonBarClickableItem's small and large images (ImageUrl and ImageUrlLarge) are in two separate image files (they are not part of a sprite) - - - - - RibbonBarClickableItem's small and large images are sharing one sprite image (clip) which is assigned to their ImageUrl property - - - - - Returns all functional Items in the Group. This excludes ButtonStrips and ToggleLists. - - A list with functional Items. - - - - Returns functionl Items in the Group depending on their visibility. - - Tells the method whether to filter out invisible functionl Items. - All functionl Items in the Group if is false. - If is true, returns only the visible Items. - - - - Returns functionl Items in the Group depending on their visibility. - - Tells the method whether to filter out invisible functionl Items. - Tells the method which items collection to search through. - All functionl Items in the if is false. - If is true, returns only the visible Items. - - - - Returns strictly the Visible functionl Items in the Group. - - All visible functional Items in the Group. - - - - Gets all RibbonBarToggleList items in the Group. - - - - - Searches the RibbonBarGroup for the first - RibbonBarButton which Value - property is equal to the specified value. - - - A RibbonBarButton whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RibbonBarGroup for the first - RibbonBarToggleButton which Value - property is equal to the specified value. - - - A RibbonBarToggleButton whose Value property is equal to the specifed - value. If a toggle button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RibbonBarGroup for the first - RibbonBarMenuItem which Value - property is equal to the specified value. - - - A RibbonBarMenuItem whose Value property is equal to the specifed - value. If a menu item is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Gets or sets the text of the group. - - - The text of a group. The default value is empty - string. - - - Use the property to set the displayed text of the group. - - - - - Gets or sets the value property of the group. - - - You can use it to associate custom data with the group. - - - This example illustrates how to use the Value property on ButtonClick event. - - - protected void RadRibbonBar1_ButtonClick(object sender, RibbonBarButtonClickEventArgs e) - { - if ((e.Button.Container as RibbonBarGroup).Value == "SpecialGroup") - { - // trigger an action - } - } - - - Protected Sub RadRibbonBar1_ButtonClick(sender As Object, e As RibbonBarButtonClickEventArgs) - If TryCast(e.Button.Container, RibbonBarGroup).Value = "SpecialGroup" Then - ' trigger the action - End If - End Sub - - - - - Determines if the group's launcher will be available or not. - - - Boolean. The default value is true. - - - Use the property to enable/disable the group's launcher button. - - - - - Gets or sets the url to an image displayed when the group is collapsed. - - - URL. The default value is empty - string. - - - Use the property to set the image for a collapsed group. - - - - - Gets a RibbonBarItemCollection object that contains the items of the group. - - - A RibbonBarItemCollection that contains the items of the group. By default - the collection is empty (the group has no items). - - - Use the Items property to access the items of the group. You can also use the Items property to - manage the items. You can add, remove or modify items from the Items collection. - - - The following example demonstrates how to programmatically modify the properties of the items inside the collection. - - group.Items[0].Enabled = true; - - - group.Items(0).Enabled = True - - - - - - Gets a reference to the RibbonBarTab instance holding this group. - - - RibbonBarTab instance. If not set, the returned is null. - - - Use the property to get the RibbonBarTab holding the group. - - - - - This Class defines the RibbonBarMenuItem collection that inherits List collection and IRibbonBarSubComponent. - - - - - Adds the specified item. - - The item. - - - - Inserts the specified index. - - The index. - The item. - - - - Removes the specified item. - - The item. - - - - Gets or sets the container. - - The container. - - - - Gets a reference to the RibbonBar instance. - - - Use the property to get the RibbonBar instance. - - RadRibbonBar instance. If not set, the returned is null. - - - - Gets or sets the parent web control. - - The parent web control. - - - - Returns the Visible groups in the tab. - - All visible groups inside this tab. - - - - Searches the RibbonBarTab for the first - RibbonBarGroup which Value - property is equal to the specified value. - - - A RibbonBarGroup whose Value property is equal to the specifed - value. If a group is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RibbonBarTab for the first - RibbonBarButton which Value - property is equal to the specified value. - - - A RibbonBarButton whose Value property is equal to the specifed - value. If a button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RibbonBarTab for the first - RibbonBarToggleButton which Value - property is equal to the specified value. - - - A RibbonBarToggleButton whose Value property is equal to the specifed - value. If a toggle button is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Searches the RibbonBarTab for the first - RibbonBarMenuItem which Value - property is equal to the specified value. - - - A RibbonBarMenuItem whose Value property is equal to the specifed - value. If a menu item is not found, null (Nothing in Visual Basic) is returned. - - - The Value to search for. - - - - - Gets or sets the text of the tab. - - - The text of the tab. The default value is empty - string. - - - Use the property to set the displayed text of the tab. - - - - - Gets or sets the value property of the tab. - - - You can use it to associate custom data with the tab. - - - This example illustrates how to use the Value property on ButtonClick event. - - - protected void RadRibbonBar1_ButtonClick(object sender, RibbonBarButtonClickEventArgs e) - { - if ((e.Button.Container as RibbonBarGroup).Tab.Value == "SpecialTab") - { - // trigger an action - } - } - - - Protected Sub RadRibbonBar1_ButtonClick(sender As Object, e As RibbonBarButtonClickEventArgs) - If TryCast(e.Button.Container, RibbonBarGroup).Tab.Value = "SpecialTab" Then - ' trigger the action - End If - End Sub - - - - - Gets a RibbonBarGroupCollection object that contains the groups of the tab. - - - A RibbonBarGroupCollection that contains the groups of the tab. By default - the collection is empty (the tab has no groups). - - - Use the Groups property to access the groups of the tab. You can also use the Groups property to - manage the items. You can add, remove or modify groups from the Groups collection. - - - The following example demonstrates how to programmatically modify the properties of the groups inside the collection. - - tab.Groups[0].Text = "ExampleGroupText"; - - - tab.Groups(0).Text = "ExampleGroupText" - - - - - - Represents an object that provides the data binding information for the Items of the Slider control. - - - - - Gets/Sets the field of the data source that provides the value content (Value property of the Slider item) of the Slider items. - - - - - Gets/Sets the field of the data source that provides the ToolTip content (ToolTip property of the Slider item) of the Slider items. - - - - - Gets/Sets the field of the data source that provides the Text content (Text property of the Slider item) of the Slider items. - - - - - For internal use - - - - - - - Base control used to contain a template. Ensures that if the template - has been instantiated or the Controls collection has been accessed - the template cannot be set again. - - - 1) Into an existing WebControl add a readonly property and - a member for the template container - - private SingleTemplateContainer _contentContainer; - - [Browsable(false)] - public SingleTemplateContainer ContentContainer - { - get - { - EnsureChildControls(); - return _contentContainer; - } - } - - 2) Override CreateChildControls() and instantiate the SingleTemplateContainer. - The parameter is a reference to the instantiating control (used when throwing exceptions). - - protected override void CreateChildControls() - { - base.CreateChildControls(); - - _contentContainer = new SingleTemplateContainer(this); - _contentContainer.ID = "Content"; - Controls.Add(_contentContainer); - } - - 3) Add read/write property for the template. You will need the TemplateContainer - attribute in case if you override SingleTemplateContainer in order to add - properties, accessible during the databinding. - - //[TemplateContainer(typeof(SingleTemplateContainer))] - [PersistenceMode(PersistenceMode.InnerProperty)] - [TemplateInstance(TemplateInstance.Single)] - [Browsable(false)] - public ITemplate ContentTemplate - { - get - { - EnsureChildControls(); - return ContentContainer.Template; - } - set - { - EnsureChildControls(); - ContentContainer.Template = value; - } - } - - - - - - Instantiates a new instance of SingleTemplateContainer. - - - The control which contains the template. This parameter is used when - SingleTemplateContainer throws exceptions. - - - - - cssLinkFormat is used when registering css during ajax requests or when the page header is not runat="server". - - - - - the registerSkins() method is in Core.js - - - - - Returns the skin that should be applied to the control. - - - - - Returns the web.config value which specifies the application-wide Skin setting. - - - Telerik.[ShortControlName].Skin or Telerik.Skin, depending on which value was set. - - - - - Registers the common skin CSS file and the CSS files, associated with the selected skin. - - - - - Registers a Css file reference on the page - - reference to the page - reference to the control - the css file url - - - - Returns the attributes for the common skin CSS file and the CSS files, associated with the selected skin. - - - - - Returns the attributes for all embedded skins. - - - - - Returns the names of all embedded skins. The common skin attribute is not included! - - - - - Retrieves the resource URL for the specified embedded resource. - - The control instance associated with the resource - The name of the resource, whose URL to retrive - - - - Retrieves the resource URL for the specified embedded resource. - - The instance - The of the control with which this resource is associated - The name of the resource, whose URL to retrive - - - - Retrieves the skin name from the specified resource name, e.g. - "Telerik.Web.UI.Skins.Vista.Grid.Refresh.gif" => "Vista" - - - - - - - Retrieves the type of the control that is associated with - embedded resources for the specified skin. - - - - - Allows the mapping of a property declared in managed code to a property - declared in client script. For example, if the client script property is named "handle" and you - prefer the name on the TargetProperties object to be "Handle", you would apply this attribute with the value "handle." - - - - - Creates an instance of the ClientPropertyNameAttribute and initializes - the PropertyName value. - - The name of the property in client script that you wish to map to. - - - - The name of the property in client script code that you wish to map to. - - - - - Associates a client script resource with an extender class. - This allows the extender to find it's associated script and what - names and prefixes with which to reference it. - - - - - Called from other constructors to set the prefix and the name. - - The name given to the class in the Web.TypeDescriptor.addType call - - - - Associates a client script resource with the class. - - The name given to the class in the Web.TypeDescriptor.addType call - A Type that lives in the same folder as the script file - The name of the script file itself (e.g. 'foo.cs') - - - - Associates a client script resource with the class. - - The name given to the class in the Web.TypeDescriptor.addType call - The name of the script resource, e.g. 'ControlLibrary1.FooExtender.Foo.js' - - - - The component type name to use when referencing the component class in XML. If - the XML reference is "<myns:Foo/>", the component type is "Foo". - - - - - This is the path to the resource in the assembly. This is usually defined as - [default namespace].[Folder name].FileName. In a project called "ControlLibrary1", a - JScript file called Foo.js in the "Script" subdirectory would be named "ControlLibrary1.Script.Foo.js" by default. - - - - - Signifies that this property references a ScriptComponent - - - - - Repository of old "Atlas" code that we're waiting to have integrated into the new Microsoft Ajax Library - - - - - Specifies this property is an element reference and should be converted during serialization. - The default (e.g. cases without this attribute) will generate the element's ID - - - - - Constructs a new ElementReferenceAttribute - - - - - Signifies that this Property should be exposed as a client-side event reference - - - - - Initializes a new ClientControlEventAttribute - - - - - Initializes a new ClientControlEventAttribute - - - - - - Tests for object equality - - - - - - - Gets a hash code for this object - - - - - - Gets whether this is the default value for this attribute - - - - - - Whether this is a valid ScriptEvent - - - - - Signifies that this method should be exposed as a client callback - - - - - Initializes a new ClientControlMethodAttribute - - - - - Initializes a new ClientControlMethodAttribute - - - - - - Tests for object equality - - - - - - - Gets a hash code for this object - - - - - - Gets whether this is the default value for this attribute - - - - - - Whether this is a valid ScriptMethod - - - - - Signifies that this property is to be emitted as a client script property - - - - - Initializes a new ClientControlPropertyAttribute - - - - - Initializes a new ClientControlPropertyAttribute - - - - - - Tests for object equality - - - - - - - Gets a hash code for this object - - - - - - Gets whether this is the default value for this attribute - - - - - - Whether this property should be exposed to the client - - - - - Describes an object which supports ClientState - - - - - Loads the client state for the object - - - - - - Saves the client state for the object - - - - - - Whether ClientState is supported by the object instance - - - - - Defines the common property categories' names - - - - - The presence of this attribute on a property of a subclass of - TargetControlPropertiesBase indicates that the property value is - required and the control can not be used without it. Absence of a - required property value causes an exception to be thrown during - creation of the control. - - - - - Constructs a new RequiredPropertyAttribute - - - - - Gets the script references for a type - - - - - Describes an object to a IScriptDescriptor based on its reflected properties and methods - - The object to be described - The script descriptor to fill - The object used to resolve urls - The object used to resolve control references - - - - Gets the script references for a type - - - - - - - Gets the script references for a type - - - - - - - - Gets the embedded css file references for a type - - - - - - - Register's the Css references for this control - - - - - - Executes a callback capable method on a control - - - - - - - - ScriptReference objects aren't immutable. The AJAX core adds context to them, so we cant' reuse them. - Therefore, we track only ReferenceEntries internally and then convert them to NEW ScriptReference objects on-demand. - - - - - - - Gets the script references for a type and walks the type's dependencies with circular-reference checking - - - - - - - - Gets the css references for a type and walks the type's dependencies with circular-reference checking - - - - - - - - - Telerik RadEditor - - - - - - - - - - - - - - - - - Forces the ToolsFile to be parsed and loaded at any given time. - - - - - - - - - - - - - Adds HTML attributes and styles that need to be rendered to the specified . This method is used primarily by control developers. - - A that represents the output stream to render HTML content on the client. - - - - The Enabled property is reset in AddAttributesToRender in order - to avoid setting disabled attribute in the control tag (this is - the default behavior). This property has the real value of the - Enabled property in that moment. - - - - - Registers the control with the ScriptManager - - - - - Registers the CSS styles for the control - - - - - Registers the script descriptors. - - - - - - - - - - - - - - - - - Outputs the content of a server control's children to a provided object, which writes the content to be rendered on the client. - - The object that receives the rendered content. - - - - - - - - - - - - - - - - Finds the tool with the given name. - - The name of the tool to find. - - - - - - - - Executed when post data is loaded from the request - - - - - Executes during the prerender event. We set the tools file and fill the collections with their default values. - - - - - Removes a specific filter from the ContentFilters. - - An EditorFilters value - - - - Add a specific filter to the ContentFilters. - - An EditorFilters value - - - - Used to set the file browser configuration paths for the editor dialogs - - A string array containing the paths to set. - Which dialogs to set the paths to. - Which paths (view, upload, delete) to set. - - - - Restores view-state information from a previous request that was saved with the System.Web.UI.WebControls.WebControl.SaveViewState() method. - - An object that represents the control state to restore. - - - - Saves any state that was modified after the System.Web.UI.WebControls.Style.TrackViewState() method was invoked. - - An object that contains the current view state of the control; otherwise, if there is no view state associated with the control, null. - - - - Causes the control to track changes to its view state so they can be stored in the object's System.Web.UI.Control.ViewState property. - - - - - This method is used to strip comments from the Content of the editor. - - - - - A way to inject a custom implementation for accepting/rejecting track changes. - - A custom implementation of the track changes adapter - - - - Changes the content of the Editor by accepting the track changes - - - - - Changes the content of the Editor by rejecting the track changes - - - - - A way to export editor's content by using the provided RadEditorExportTemplate. - - Object, which implements the RadEditorExportTemplate abstract class. - - - - A way to inject a custom implementation of the PDF export engine. - - Object, which implements the RadEditorExportTemplate abstract class. - - - - This method is used to export the editor's content to PDF format. - - - - - A way to inject a custom implementation of the RTF export engine. - - Object, which implements the RadEditorExportTemplate abstract class. - - - - This method is used to export the editor's content to RTF format. - - - - - This method is used to convert RTF content to HTML and loadit in RadEditor. - - A Stream object holding the RTF content to be transformed and loaded. - - - - This method is used to convert Markdown content to RTF and loadit in RadEditor. - - A String object holding the RTF content to be transformed and loaded. - - - - A way to inject a custom implementation of the Markdown export engine. - - Object, which implements the RadEditorExportTemplate abstract class. - - - - This method is used to export the editor's content to Markdown format. - - - - - This method is used to convert Markdown content to HTML and loadit in RadEditor. - - A Stream object holding the Markdown content to be transformed and loaded. - - - - This method is used to convert Markdown content to HTML and loadit in RadEditor. - - A String object holding the Markdown content to be transformed and loaded. - - - - Raises the FileDelete event. - - - - - Raises the ExportContent event. - - - - - Raises the FileUpload event. - - - - - Raises the TextChanged event. - - - - - - - - - - - - - Gets the value that corresponds to this Web server control. This property is used primarily by control developers. - - - One of the enumeration values. - - - - - - - - - Gets a reference to the object that - allows you to set the export file properties - - - - A reference to the EditorExportSettings that allows you to set the export file properties - - - Use the ExportSettings property to control the export file settings - This property is read-only; - however, you can set the properties of the EditorExportSettings object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadEditor - control in the form Property-Subproperty, where Subproperty is a property of - the EditorExportSettings object (for example, - ExportSettings-FileName). - Nest a <ExportSettings> element between the opening and closing - tags of the Telerik RadEditor control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, ExportSettings.FileName). - - - - - Gets a value indicating whether the editor is being rendered in accessible mode - - - This propery has no setter. If you wish to enable the accessible editor interface, use the AccessibleRadEditor control instead. - - - - - Gets or sets a string containing the ID (will search for both server or client ID) of a client object that should be used as a tool provider. - - - - This property helps significantly reduce the HTML markup and JSON sent from server to the - client when multiple RadEditor objects with the same tools are used on the same page. - - The ToolProviderID can be set to the ID of another RadEditor, or to a custom - control that implements two clientside methods get_toolHTML and get_toolJSON. - - - - - - Gets a reference to a that can be used to add external CSS files in the editor content area. - - - By default, RadEditor uses the CSS classes available in the current page. - However, it can be configured to load external CSS files instead. This scenario is - very common for editors integrated in back-end administration areas, which have one - set of CSS classes, while the content is being saved in a database and displayed on - the public area, which has a different set of CSS classes. - If this property is set the RadEditor loads only the styles - defined in the CssFiles collection. The styles defined in the current page are not loaded in - the editor content area and the "Apply Class" dropdown. - - If you want to load only a subset of the defined classes you can use the - CssClasses property. - - - - A containing the names of the external CSS files that should be - available in the editor's content area. - - - - - Gets the list of modules that should be made included in RadEditor. - - - - - Gets the collection containing the colors to put in the Foreground and Background color dropdowns. - - - A StringCollection containing the colors to put in the Foreground and Background - color dropdowns. Default is an empty StringCollection. - - - The contents of this collection will override the default colors available in - the Foreground and Background color dropdowns. In order to extend the default set - you should add the default colors and the new colors. - Note: Setting this property will affect all color pickers of - the RadEditor, including those in the table proprties dialogs. - - - This example demonstrates how to put only Red, Green and Blue into the Foreground - and Background dropdowns. - - Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load - RadEditor1.Colors.Add("Red") - RadEditor1.Colors.Add("Green") - RadEditor1.Colors.Add("Blue") - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - RadEditor1.Colors.Add("Red"); - RadEditor1.Colors.Add("Green"); - RadEditor1.Colors.Add("Blue"); - } - - - - - Gets the collection containing the symbols to put in the Symbols dropdown. - - A SymbolCollection containing the symbols to put in the Symbols dropdown. Default - is an empty SymbolCollection. - - - The contents of this collection will override the default symbols available - in the Symbols dropdown. - Note: multiple symbols can be added at once by using the - SymbolCollection.Add() method. - - - This example demonstrates how to put only the english alphabet symbols to the - Symbols dropdown. - - Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load - For i As Integer = 65 To 90 - RadEditor1.Symbols.Add(Convert.ToChar(i)) - Next - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - for (int i=65; i<=90; i++) - { - RadEditor1.Symbols.Add(Convert.ToChar(i)); - } - } - - - - - - Gets the collection containing the links to put in the Custom Links dropdown. - - A Link object containing the links to put in the Custom Links dropdown. - - The Custom Links dropdown of the RadEditor is a very convenient tool for - inserting predefined hyperlinks. - Note: the links can be organized in a tree like - structure. - - - This example demonstrates how to create a tree like structure of custom links. - - Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load - 'Add the root - RadEditor1.Links.Add("Telerik", "http://www.telerik.com") - 'Add the Products node And its children - RadEditor1.Links("Telerik").Add("Products", "http://www.telerik.com/products") - RadEditor1.Links("Telerik")("Products").Add("RadControls", "http://www.telerik.com/radcontrols") - RadEditor1.Links("Telerik")("Products").Add("RadEditor", "http://www.telerik.com/RadEditor") - RadEditor1.Links("Telerik")("Products")("RadEditor").Add("QSF", "http://www.telerik.com/demos/aspnet/Editor/Examples/Default/DefaultCS.aspx") - 'Add Purchase, Support And Client.Net nodes - RadEditor1.Links("Telerik").Add("Purchase", "http://www.telerik.com/purchase") - RadEditor1.Links("Telerik").Add("Support", "http://www.telerik.com/support") - RadEditor1.Links("Telerik").Add("Client.Net", "http://www.telerik.com/clientnet") - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - //Add the root - RadEditor1.Links.Add("Telerik", "http://www.telerik.com"); - //Add the Products node and its children - RadEditor1.Links["Telerik"].Add("Products", "http://www.telerik.com/products"); - RadEditor1.Links["Telerik"]["Products"].Add("RadControls", "http://www.telerik.com/radcontrols"); - RadEditor1.Links["Telerik"]["Products"].Add("RadEditor", "http://www.telerik.com/RadEditor"); - RadEditor1.Links["Telerik"]["Products"]["RadEditor"].Add("QSF", "http://www.telerik.com/demos/aspnet/Editor/Examples/Default/DefaultCS.aspx"); - //Add Purchase, Support and Client.Net nodes - RadEditor1.Links["Telerik"].Add("Purchase", "http://www.telerik.com/purchase"); - RadEditor1.Links["Telerik"].Add("Support", "http://www.telerik.com/support"); - RadEditor1.Links["Telerik"].Add("Client.Net", "http://www.telerik.com/clientnet"); - } - - - - - - Gets the collection containing the custom font sizes to put in the [Size] dropdown. - - - A string collection containing the custom font sizes to put in the Size dropdown. - Default is an empty StringCollection. - - - The contents of this collection will override the default font sizes - available in the [Size] dropdown. In order to extend the default set you should add - the default font sizes and the new font sizes. The default font sizes are: 1, 2, 3, - 4, 5, 6 and 7. - Note: the minimum font size is 1, the maximum is 7. - - - This example demonstrates how to remove the font size 1 from the Size dropdown. - - Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load - RadEditor1.FontSizes.Add(2) - RadEditor1.FontSizes.Add(3) - RadEditor1.FontSizes.Add(4) - RadEditor1.FontSizes.Add(5) - RadEditor1.FontSizes.Add(6) - RadEditor1.FontSizes.Add(7) - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - RadEditor1.FontSizes.Add(2); - RadEditor1.FontSizes.Add(3); - RadEditor1.FontSizes.Add(4); - RadEditor1.FontSizes.Add(5); - RadEditor1.FontSizes.Add(6); - RadEditor1.FontSizes.Add(7); - } - - - - - - Gets the collection containing the custom font names to put in the Font dropdown. - - - A string collection containing the custom font names to put in the Font dropdown. - Default is an empty StringCollection. - - - The contents of this collection will override the default fonts available in - the Font dropdown. In order to extend the default set you should add the default - font names and the new font names. The default font names are: Arial, Comic Sans - MS, Courier New, Tahoma, Times New Roman, Verdana. - Note: the fonts must exist on the client computer. - - - This example demonstrates how to add Arial Narrow font to the Font dropdown. - - Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load - RadEditor1.FontNames.Add("Arial") - RadEditor1.FontNames.Add("Arial Narrow") - RadEditor1.FontNames.Add("Comic Sans MS") - RadEditor1.FontNames.Add("Courier New") - RadEditor1.FontNames.Add("Tahoma") - RadEditor1.FontNames.Add("Times New Roman") - RadEditor1.FontNames.Add("Verdana") - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - RadEditor1.FontNames.Add("Arial"); - RadEditor1.FontNames.Add("Arial Narrow"); - RadEditor1.FontNames.Add("Comic Sans MS"); - RadEditor1.FontNames.Add("Courier New"); - RadEditor1.FontNames.Add("Tahoma"); - RadEditor1.FontNames.Add("Times New Roman"); - RadEditor1.FontNames.Add("Verdana"); - } - - - - - - Gets the collection containing the paragraph styles to put in the Paragraph Style - dropdown. - - - A NameValueCollection containing the paragraph styles to put in the Paragraph - Style dropdown. Default is an empty NameValueCollection. - - - The contents of this collection will override the default paragraph styles - available in the Paragraph Style dropdown. - Note: RadEditor also supports block format with css class - set. See the example below. - - - This example demonstrates how to put several paragraph styles in the Paragraph - Style dropdown. - - Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load - 'Add clear formatting - RadEditor1.Paragraphs.Add("Clear Formatting", "body") - 'Add the standard paragraph styles - RadEditor1.Paragraphs.Add("Heading 1", "<h1>") - RadEditor1.Paragraphs.Add("Heading 2", "<h2>") - RadEditor1.Paragraphs.Add("Heading 3", "<h3>") - 'Add paragraph style With block Format And css Class - RadEditor1.Paragraphs.Add("Heading 2 Bordered", "<h2 class=\"bordered\">") - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - //Add clear formatting - RadEditor1.Paragraphs.Add("Clear Formatting", "body"); - //Add the standard paragraph styles - RadEditor1.Paragraphs.Add("Heading 1", "<h1>"); - RadEditor1.Paragraphs.Add("Heading 2", "<h2>"); - RadEditor1.Paragraphs.Add("Heading 3", "<h3>"); - //Add paragraph style with block format and css class - RadEditor1.Paragraphs.Add("Heading 2 Bordered", "<h2 class=\"bordered\">"); - } - - - - - - Gets the collection containing the format sets to put in the FormatSets dropdown. - - - An EditorFormatSetCollection containing the format sets to put in the FormatSets dropdown. - - - The contents of this collection will override the default format sets available in the FormatSets dropdown. - - - - - Gets the collection containing the custom real font sizes to put in the RealFontSize dropdown. - - - A string collection containing the custom real font sizes to put in the RealFontSize dropdown. - Default is an empty StringCollection. - - - The contents of this collection will override the default real font sizes available in - the RealFontSize dropdown. - - - This example demonstrates how to add custom font sizes to the RealFontSize dropdown. - - Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load - RadEditor1.RealFontSizes.Add("8pt") - RadEditor1.RealFontSizes.Add("9pt") - RadEditor1.RealFontSizes.Add("11pt") - RadEditor1.RealFontSizes.Add("13pt") - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - RadEditor1.RealFontSizes.Add("8pt") - RadEditor1.RealFontSizes.Add("9pt") - RadEditor1.RealFontSizes.Add("11pt") - RadEditor1.RealFontSizes.Add("13pt") - } - - - - - - Gets the collection containing the CSS classes to put in the [Apply CSS Class] dropdown. - - - A NameValueCollection containing the CSS classes to put in the [Apply CSS Class] - dropdown. Default is an empty NameValueCollection . - - - The contents of this collection will override the default CSS classes - available in the Apply CSS Class dropdown. - - - - - Gets the collection containing the snippets to put in the Code Snippet - dropdown. - - - A NameValueCollection containing the snippets to put in the Code Snippet dropdown. - Default is an empty NameValueCollection. - - - The Code Snippet dropdown is a very convenient tool for inserting predefined - chunks of HTML content like signatures, product description templates, custom - tables, etc. - The contents of this collection will override the default snippets available - in the Code Snippet dropdown. - - - - Gets the collection containing the available languages for spellchecking. - - RadEditor has integrated support for the multi-language mode of RadSpell. When - working with content in different languages you can select the proper spellchecking - dictionary from a dropdown button on the RadEditor toolbar. - - - A NameValueCollection containing the available languages for spellchecking. - Default value is empty NameValueCollection. - - - This example demonstrates how to enable spellchecking for English, French and German languages - in RadEditor spellchecker. - - Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadEditor1.Languages.Add("en-US", "English"); - RadEditor1.Languages.Add("fr-FR", "French"); - RadEditor1.Languages.Add("de-DE", "German"); - End Sub - - - private void Page_Load(object sender, EventArgs e) - { - RadEditor1.Languages.Add("en-US", "English"); - RadEditor1.Languages.Add("fr-FR", "French"); - RadEditor1.Languages.Add("de-DE", "German"); - } - - /// - - - - Gets the collection containing RadEditor tools. - - - - - Gets or sets a string containing the path to the XML toolbar configuration file. - - - This property is provided for backwards compatibility. Please, use either - inline toolbar declaration or code-behind to configure the toolbars. To configure - multiple RadEditor controls with the same settings you could use either Theme, - UserControl with inline declaration, or CustomControl. - - Use "~" (tilde) as a substitution of the web-application's root - directory. - You can also provide this property with an absolute URL which returns a valid XML - toolbar configuration file, e.g. http://MyServer/MyApplication/Tools/MyToolsFile.aspx - - - - - Gets or sets a string containing the localization language for the RadEditor UI - - - - - Gets or sets a string, containing the location of the content area CSS styles. - You need to set this property only if you are using a custom skin. - - The content area CSS file. - - - - Gets or sets a string, containing the location of the CSS styles for table css style layout tool in the TableProperties dialogue. - - The content area CSS file. - - - - The Localization property specifies the strings that appear in the runtime user interface of RadEditor. - - - - - Gets or sets a value indicating where the editor will look for its .resx localization files. - By default these files should be in the App_GlobalResources folder. However, if you cannot put - the resource files in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource files. - - - A relative path to the dialogs location. For example: "~/controls/RadEditorResources/". - - - If specified, the LocalizationPath - property will allow you to load the editor localization files from any location in the - web application. - - - - - Gets or sets the value indicating whether script tags will be allowed in the editor content. - This property is now obsolete. Please use the ContentFilters property or the EnableFilter and DisableFilter methods - - - The default value is false. This means that script tags will be removed from the content. - - - - - Gets or sets the value indicating whether the RadEditor will auto-resize its height to match content height - - - The default value is false. - - - - - Gets or sets the value indicating whether the users will be able to resize the RadEditor control on the client - - - The default value is true. - - - - - This property is obsolete. Please, use the NewLineMode property instead. - - - true when the RadEditor will insert <br> tag when the - [Enter] key is pressed; otherwise false. The default - value is true. - - - Note: this property is intended for use only in Internet Explorer. - The gecko-based browsers always insert <BR> tags. - - - - - Gets or sets the value indicating what element will be inserted when the [Enter] key is pressed. - - - - - Gets or sets the value indicating how the editor toolbar will be rendered and will act on the client - - - Default Toolbars are rendered around the editor content area.
- Floating Toolbars are rendered in a moveable window.
- PageTop Toolbars appear on top of page when editor gets focus.
- ShowOnFocus Toolbars appear right above the editor when it focus. -
- - - Several editors can simulate usage of the same toolbar if this property has the same value everywhere - - -
- - - Gets or sets the tool adapter, which is responsible for rendering the tools in the toolbar. - - - The default tool adapter is of type Telerik.Web.UI.Editor.DefaultToolAdapter. - - - - - Gets or sets a value indicating the client-side event handler that is called when editor is loaded on the client. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientLoad - client-side event handler is called when editor is loaded on the client. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientLoad property. - -
- <script type="text/javascript">
- function OnClientLoad(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientLoad="OnClientLoad">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when editor starts to load on the client. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientInit - client-side event handler is called when editor starts to load on the client. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientInit property. - -
- <script type="text/javascript">
- function OnClientInit(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientInit="OnClientInit">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when a dialog is closed, but before its value returned would be pasted into the editor. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientPasteHtml - client-side event handler is called when a dialog is closed, but before its value returned would be pasted into the editor. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientPasteHtml property. - -
- <script type="text/javascript">
- function OnClientPasteHtml(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientPasteHtml="OnClientPasteHtml">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when an editor command has been executed providing the changed Dom element. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientDomChange - client-side event handler is called when an editor command has been executed providing the changed Dom element. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - - - Gets or sets a value indicating the client-side event handler that is called when the content is submitted. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientPasteHtml - client-side event handler is called when a dialog is closed, but before its value returned would be pasted into the editor. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientSubmit property. - -
- <script type="text/javascript">
- function OnClientSubmit(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientSubmit="OnClientSubmit">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when the content is submitted. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientModeChange - client-side event handler is called when the mode of the editor is changing.. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientModeChange property. - -
- <script type="text/javascript">
- function OnClientModeChange(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientModeChange="OnClientModeChange">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when selection inside editor content area changes - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientSelectionChange - client-side event handler is called when selection inside editor content area changes. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientSelectionChange property. - -
- <script type="text/javascript">
- function OnClientSelectionChange(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientSelectionChange="OnClientSelectionChange">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - an editor command starts executing. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientCommandExecuting - client-side event handler is called before a command starts executing. - Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientCommandExecuting property. - -
- <script type="text/javascript">
- function OnClientCommandExecuting(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadEditor1"
- runat= "server"
- OnClientCommandExecuting="OnClientCommandExecuting">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - after an editor command was executed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientCommandExecuted - client-side event handler that is called - when after an editor command was executed. Two parameters are passed to the handler: - - sender, the RadEditor object. - args. - - - - The following example demonstrates how to use the - OnClientCommandExecuted property. - -
- <script type="text/javascript">
- function OnClientCommandExecuted(sender, args)
- {
- var editor = sender;
- }
- </script> -
-
- <radsld:RadEditor ID="RadWindow1"
- runat= "server"
- OnClientCommandExecuted="OnClientCommandExecuted">
- ....
- </radsld:RadEditor> -
-
-
-
- - - Gets or sets bool value indicating if the Runtime skin is touch. - - - - - Gets or sets the height of the Web server control. The default height is 400 pixels. - - - - - Gets or sets the width of the Web server control. The default width is 680 pixels. - - - - - Gets or sets the width of the editor's toolbar (should be used when ToolbarMode != Default). - - - - - Gets or sets the max length (in symbols) of the text inserted in the RadEditor. When the value is 0 the property is disabled. - - - - - Gets or sets the max length (in symbols) of the HTML inserted in the RadEditor. When the value is 0 the property is disabled. - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - Gets or sets the value, indicating whether to render links to the embedded client scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed script files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - Gets or sets the value, indicating whether to render the editor as a simple textarea (for compatibility with older browsers). - - - If EnableTextareaMode is set to true, the editor will be replaced by a textbox where you can write its HTML. All advanced editor features will be disabled. - - - - - - Gets the text content of the RadEditor control without the HTML markup. - - - The text displayed in the RadEditor without the HTML markup. The default is - string.Empty. - - - - The text returned by this property contains no HTML markup. If only the HTML - markup in the text is needed use the Html property. - - - You can set the text content of the RadEditor by using the - Html property or inline between its opening and closing - tags. In this case setting the Html property in the code - behind will override the inline content. - - - - For an example see the Html property. - - - - - Gets or sets the value indicating which will be the available EditModes. - - - - - Gets or sets the text content of the RadEditor control inlcuding the HTML - markup. The Html property is deprecated in RadEditor. - Use Content instead. - - - The text content of the RadEditor control including the HTML markup. The default is - string.Empty. - - - - - Gets or sets the text content of the RadEditor control inlcuding the HTML - markup. - - - The text content of the RadEditor control including the HTML markup. The default is - string.Empty. - - - - The text returned by this property contains HTML markup. If only the text is - needed use the Text property. - - You can also set the text content of the RadEditor inline between the - <Content></Content> tags. In this case setting this property - in the code behind will override the inline content. - - - This example demonstrates how to set the content of the RadEditor inline and the - differences between the Content and Text - <rade:RadEditor id="RadEditor1" runat="server" - >
- <Content>
- Telerik RadEditor<br>
- the best <span style="COLOR: red">html editor</span> in the - world
- </Content>
- </rade:RadEditor>
- <asp:button id="btnSave" runat="server" text="Submit" - onclick="btnSave_Click" /><br />
- Content:<asp:label runat="server" id="LabelContent"></asp:label><br - />
- Text:<asp:label runat="server" id="LabelText"></asp:label><br - />
-
- - Private Sub btnSave_Click(sender As Object, e As System.EventArgs) - 'HtmlEncode the content of the editor to display the HTML tags - LabelContent.Text = Server.HtmlEncode(RadEditor1.Content); - LabelText.Text = Server.HtmlEncode(RadEditor1.Text); - End Sub - - - private void btnSave_Click(object sender, System.EventArgs e) - { - //HtmlEncode the content of the editor to display the HTML tags - LabelContent.Text = Server.HtmlEncode(RadEditor1.Content); - LabelText.Text = Server.HtmlEncode(RadEditor1.Text); - } - -
-
- - - Contains the configuration of the ImageManager dialog. - - - An ImageManagerDialogConfiguration - instance, containing the configuration of the ImageManager dialog - - - - - Contains the configuration of the DocumentManager dialog. - - - An FileManagerDialogConfiguration - instance, containing the configuration of the DocumentManager dialog - - - - - Contains the configuration of the FlashManager dialog. - - - An FileManagerDialogConfiguration - instance, containing the configuration of the FlashManager dialog - - - - - Contains the configuration of the SilverlightManager dialog. - - - An FileManagerDialogConfiguration - instance, containing the configuration of the SilverlightManager dialog - - - - - Contains the configuration of the MediaManager dialog. - - - An FileManagerDialogConfiguration - instance, containing the configuration of the MediaManager dialog - - - - - Contains the configuration of the TemplateManager dialog. - - - An FileManagerDialogConfiguration - instance, containing the configuration of the TemplateManager dialog - - - - - Contains the configuration of the spell checker. - - - - - Contains the configuration of the track changes functionality. - - - - - Gets the collection of the dialog definitions (configurations) of the editor. - - - A DialogDefinitionDictionary, specifying the definitions of the dialogs of the editor. - - - - - This property is obsolete. Please, use the StripFormattingOptions property instead. - - - The default value is EditorStripFormattingOptions.None. - - - - - Gets or sets the value indicating how the editor should clear the HTML formatting - when the user pastes data into the content area. - - - The default value is EditorStripFormattingOptions.None. - - - - EditorStripFormattingOptions - enum members - - - Member - Description - - - None - Doesn't strip anything, asks a question when MS Word - formatting was detected. - - - NoneSupressCleanMessage - Doesn't strip anything and does not ask a - question. - - - MSWord - Strips only MSWord related attributes and - tags. - - - MSWordNoFonts - Strips the MSWord related attributes and tags and font - tags. - - - MSWordNoMargins - Strips the MSWord related attributes and tags and margins - - - - MSWordRemoveAll - Strips MSWord related attributes and tags, font tags and - font size attributes. - - - Css - Removes style attributes. - - - Font - Removes Font tags. - - - Span - Clears Span tags. - - - AllExceptNewLines - Clears all tags except "br" and new lines (\n) on paste. - - - All - Remove all HTML formatting. - - - - Note: In Gecko-based browsers you will see the mandatory - dialog box where you need to paste the content. - - - - - Gets or sets the URL which the AJAX call will be made to. Check the help for more information. - - - - - Gets or sets the location of a CSS file, that will be added in the dialog window. If you need to include - more than one file, use the CSS @import url(); rule to add the other files from the first. - This property is needed if you are using a custom skin. It allows you to include your custom skin - CSS in the dialogs, which are separate from the main page. - - - - - Gets or sets the location of a JavaScript file, that will be added in the dialog window. If you need to include - more than one file, you will need to combine the scripts into one first. - This property is needed if want to override some of the default functionality without loading the dialog - from an external ascx file. - - - - - A read-only property that returns the DialogOpener instance used in the editor control. - - - - - Gets a reference to the ribbon bar, when toolbar mode is BibbonBar. - - - - - Gets or sets a value indicating which content filters will be active when the editor is loaded in the browser. - - - The default value is EditorFilters.DefaultFilters. - - - EditorFilters enum members - - - Member - Description - - - RemoveScripts - This filter removes script tags from the editor content. Disable the filter if you want to insert script tags in the content. - - - MakeUrlsAbsolute - This filter makes all URLs in the editor content absolute (e.g. "http://server/page.html" instead of "page.html"). This filter is DISABLED by default. - - - FixUlBoldItalic - This filter changes the deprecated u tag to a span with CSS style. - - - IECleanAnchors - Internet Explorer only - This filter removes the current page url from all anchor(#) links to the same page. - - - FixEnclosingP - This filter removes a parent paragraph tag if the whole content is inside it. - - - MozEmStrong - This filter changes b to strong and i to em in Mozilla browsers. - - - ConvertFontToSpan - This filter changes deprecated font tags to compliant span tags. - - - ConvertToXhtml - This filter converts the HTML from the editor content area to XHTML. - - - IndentHTMLContent - This filter indents the HTML content so it is more readable when you view the code. - - - OptimizeSpans - This filter tries to decrease the number of nested spans in the editor content. - - - ConvertCharactersToEntities - This filter converts reserved characters to their html entity names. - - - ConvertInlineStylesToAttributes - This filter converts XHTML compliant inline style attributes to Email compliant element attributes. - - - DefaultFilters - The default editor behavior. All content filters except MakeUrlsAbsolute are activated. - - - - - - - - Gets or sets a value indicating where the editor will look for its dialogs. - - - A relative path to the dialogs location. For example: "~/controls/RadEditorDialogs/". - - - If specified, the ExternalDialogsPath - property will allow you to customize and load the editor dialogs from normal ASCX files. - - - - - Gets or sets the rendering mode of the editor content area. When set to Iframe, the content area is a separate document - (suitable for CMS solutions or when editing a whole page). When set to Div, the content area is in the main page. The default value is Iframe. - - The rendering mode of the editor content area. - - - - When set to true enables support for WAI-ARIA - - - - - When set to true enables support for entering comments in the editor content - - - - - When set to true enables support for tracking changes each time the editor content is modified - - - - - Message that will be shown over the content area when the editor is empty. - - - - - This event is raised before a file is deleted using the current content provider. - The file delete will be canceled if you return false from the event handler. - - - - - This event is raised before the content is exported. - The ExportContent event will be canceled if you return false from the event handler. - - - - - This event is raised before the file is stored using the current content provider. - The file upload will be canceled if you return false from the event handler. - - - - - Occurs when the content of the RadEditor changes between posts to the server. - - - - - Represents and expression evaluator internally used to build filter expressions using Dynamic LINQ syntax. - - - - - Represents a base for all evaluator classes in - - - - - Evaluates the passes expression - - A RadFilterNonGroupExpression object representing the expression - to be evaluated. - The string representation of the expression. - - - - Evaluates an expression and returns its evaluation data. - - A RadFilterNonGroupExpression object representing the expression - to be evaluated. - The evaluation data for the expression. - - - - Gets or sets a value indicating whether the formatted field name and value are case sensitive - - - - - Gets\sets a delegate that will be called after every expression evaluation. - The property could be used to alter the result of the evaluation by changing - the values or the format based on the expression. - - - - - Returns a reference to the RadFilterDynamicLinqExpressionEvaluator instance. - - The RadFilterFunction used in the evaluated filter expression. - The RadFilterDynamicLinqExpressionEvaluator for the specific function provided. - - - - Represents a query provider which builds a string expression used for visual preview of the filter expression. - - - - - Represents a base class for all query providers in . - - - - - Processes the passed RadFilterGroupExpression to create the expressions for - filtering . - - The RadFilterGroupExpression to process internally. - - - - Checks whether a given filter function is supported by the current query provider. - - A member of the RadFilterFunction representing a filter function - in RadFilter. - true if the filter function is among the supported functions; otherwise returns false. - - - - Checks whether a given group operation is supported by the current query provider. - - A member of the RadFilterGroupOperation representing a group operation - in RadFilter. - true if the filter function is among the supported operations; otherwise returns false. - - - - Gets a collection of the RadFilterFunction values supported by the current query provider. - - - - - Gets a collection of the RadFilterGroupOperation supported by the current query provider. - - - - - Gets string value representing the result from the processed filter expression. - - - - - Gets\sets a delegate that will be called after every expression evaluation. - The property could be used to alter the result of the evaluation by changing - the values or the format based on the expression. - - - - - Processes the passed RadFilterGroupExpression object to build a filter expression. - - A RadFilterGroupExpression object that will be used to extract the - filter expression. - - - - Gets a reference to the owner object. - - - - - Gets List of the filter functions supported by this provider. - - - - - Gets List of the group operations supported by this provider. - - - - - When Items Drag-and-Drop is enabled in RadGrid, defining a GridDragDropColumn - in the Columns collection of the respective GridTableView will make the data - items inside draggable only when grabbed by the drag handle inside the column cells. - - - - - - - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Gets or sets the ToolTip of the Drag image for the GridDragDropColumn - - - - - Gets or sets the URL of the drag image that will be displayed - instead of the default Drag image for the GridDragDropColumn - - - - - Gets or sets the unique name for this column - - - - - - - - - - - - - Allows to change the 'protected' state of a cell - - - - - Default constructor for the CellProtectionElement - - - - - Determines whether a given cell is protected (read-only) when the parent Worksheet is protected. Default value: true - - - - - Used to add a footer to the exported page. Visible in Print mode only. - - - - - PageFooterElement default constructor - - - - - Represents the footer's contents. Visible in Print mode only. - - - - - Defines the margin between the footer element and the page. Applies in Print mode only. - - Value is out of range. - - - - Used to add a header to the exported page. Visible in Print mode only. - - - - - PageHeaderElement default constructor - - - - - Represents the header's contents. Visible in Print mode only. - - - - - Defines the margin between the footer element and the page. Applies in Print mode only. - - Value is out of range. - - - - Represents the page orientation when viewing the exported file in Print mode - - - - - Used to change the page orientation and alignment. The effect of these settings is visible in Print mode only. - - - - - PageLayoutElement default constructor - - - - - Determines whether the page will be centered vertically - - - - - Determines whether the page will be centered horizontally - - - - - Sets the page orientation to portrait (default) or landscape - - - - - Used to set the page margins. - - - - - Determines the size of the Right margin - - Value is out of range. - - - - Determines the size of the Left margin - - Value is out of range. - - - - Determines the size of the Top margin - - Value is out of range. - - - - Determines the size of the Bottom margin - - Value is out of range. - - - - Used to change various aspects of the exported page - header/footer, layout, margins, etc. - - - - - Determines the page margins - - - - - Determines the page orientation - - - - - Used to setup a page footer's margins and content - - - - - Used to setup a page header's margins and content - - - - - Provides the possibility to change various options for the current Worksheet. - - - - - Specifies whether the panes of a worksheet window are frozen. - - - - - Fits the whole content in a single page when enabled. - - - - - Used to set the Printer-related settings. - - - - - Used to set the Page-related settings. - - - - - Determines the zoom level in Print Preview mode (in percentages) - - - - - Determines the active pane. - - - - - Contains the number of points from the left of the window that a worksheet is split vertically. - - - - - Contains the number of points from the top of the window that a worksheet is split horizontally. - - - - - Contains the column number of the leftmost visible column in the right pane of a worksheet window. - - - - - Contains the row number of the topmost visible row in the bottom pane of a worksheet window. - - - - - Class holding settings associated with the animations. - - - - - Gets or sets whether column animations are enabled for RadGrid when column reorder is enabled. - - - - - Gets or sets the duration of the reorder animation when column reorder is enabled in RadGrid. - - - - - Gets or sets whether revert animations are enabled for RadGrid when column drag-to-group is enabled. - - - - - Gets or sets the duration of the revert animation when column drag-to-group is enabled in RadGrid. - - - - - - - - - - - - - - - - - - - - - This Class defines the RadPanelItemHeaderTemplateContainer. - - - - - When implemented, gets an object that is used in simplified data-binding - operations. - - An object that represents the value to use when data-binding operations - are performed. - - - - - When implemented, gets the index of the data item bound to a control. - - An Integer representing the index of the data item in the data source. - - - - - - When implemented, gets the position of the data item as displayed in - a control. - - An Integer representing the position of the data item as displayed in - a control. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - A reminder data class. - - - - - A reminder data interface. - - - - - Copies from. - - The SRC reminder. - - - - Copies to. - - The dest reminder. - - - - Gets or sets the ID. - - The ID. - - - - Gets or sets the trigger minutes. - - The trigger minutes. - - - - Gets or sets the attributes. - - The attributes. - - - - Provides data for the event of the control. - - - - - Gets or sets the ISchedulerInfo object - that will be passed to the providers' GetAppointments method. - - - The ISchedulerInfo object - that will be passed to the providers' GetAppointments method. - - - You can replace this object with your own implementation of - ISchedulerInfo in order - to pass additional information to the provider. - - - - - Provides data for the event of the control. - - - - - Allows cancelling RadScheduler events. - - - - - Gets the appointment. - - The appointment. - - - - Gets or sets the ISchedulerInfo object - that will be passed to the providers' Insert method. - - - The ISchedulerInfo object - that will be passed to the providers' Insert method. - - - You can replace this object with your own implementation of - ISchedulerInfo in order - to pass additional information to the provider. - - - - - Provides data for the event of the control. - - - - - Gets or sets the ISchedulerInfo object - that will be passed to the providers' Delete method. - - - The ISchedulerInfo object - that will be passed to the providers' Delete method. - - - You can replace this object with your own implementation of - ISchedulerInfo in order - to pass additional information to the provider. - - - - - Provides data for the event of the control. - - - - - Gets or sets the reminder. - - The reminder. - - - - Gets or sets the modified appointment. - - The modified appointment. - - - - Provides data for the event of the control. - - - - - The base for the RadScheduler event arguments. - - - - - Gets the appointment. - - The appointment. - - - - Gets or sets the reminder. - - The reminder. - - - - Gets or sets the snooze minutes. - - The snooze minutes. - - - - The localization strings to be used in ReminderDialog. - - - - - This Class defines the Raminder object. - - - - - Returns a that represents the current - . - - - A that represents the current . - - - - - Creates a list of reminders from their string representation. - - The string to parse. - List of reminders if the parsing succeeded or null (Nothing in Visual Basic) if the parsing failed. - - - - Creates a list of reminders from their string representation. - - The string to parse. - - Output parameter that contains the list of reminders if the - parsing succeeded or null (Nothing in Visual Basic) if the parsing failed. - - True if input was parsed successfully, false otherwise. - - - - Creates a new Reminder object that is a clone of the current instance. - - - A new Reminder object that is a clone of the current instance. - - - - - Gets or sets the trigger. - - The trigger. - - - - Gets or sets the ID. - - The ID. - - - - Gets the collection of arbitrary attributes that do not correspond to properties on the reminder. - - - A AttributeCollection of name and value pairs. - - - - - THis Class defines the Reminder collection. - - - - - Finds by ID. - - The id. - - - - - Converts all reminders in the collection to their string representation. - - - Use Reminder.TryParse to convert the string representation back to reminder objects. - - The string representation of all reminders in the collection. - - - - This Class defines the Reminder settings and gets or sets - a value indicating whether the user can view and edit reminders for appointments. - - - - - Gets or sets a value indicating whether the user can view and edit reminders for appointments. - - - true if the user is allowed to view and edit reminders for appointments; - false otherwise. The default value is false. - - - - - The period from the Appointment start after which the Reminder is expired. - - - - - From a relative path and a specified style sheet folder, returns the relative path of that file in that folder (Secure Path). - - The relative path to the file inside the project file structure. - The Secure Path of the relative path. Throws an exception if the relative path falls outside of the style sheet folder. - - - - Gets the secure path of a file, inside a style sheet folder, from its hash. - - The hash of the secure path of the file. - The secure path of the file; null if the hash does not match a file in any of the secure folders. - - - - Loads the content of the file specified with its secure path. - - The path to the file. - The content of the file. - - - - Telerik RadTagCloud is a UI component for ASP.NET AJAX applications, which displays a panel (cloud) of commonly used or related keywords. - - - - - Indicates whether the GenerateTagsFromText method was called. - - - - - Binds the TagCloud to a IEnumerable data source - - IEnumerable data source - - - - The Enabled property is reset in AddAttributesToRender in order - to avoid setting disabled attribute in the control tag (this is - the default behavior). This property has the real value of the - Enabled property in that moment. - - - - - Executed right after the item is databound to the data source. - - - - - - Executed when a TagCloud item is clicked. - - - - - - Calculates the coefficient when Linear distribution is used. - - The TagCloud item for which the coefficient is calculated. - The coefficient of the TagCloud item. - - - - Calculates the coefficient when Logarithmic distribution is used. - - The TagCloud item for which the coefficient is calculated. - The coefficient of the TagCloud item. - - - - Calculates the font size of a TagCloud item using Logarithmic or Linear distribution. - The font-size is calculated based on the weight of the item. - - The Logarithmic or Linear coefficient used for the calculations. - The calculated font size of the TagCloud item. - - - - Calculates the color of a TagCloud item using Logarithmic or Linear distribution. - The (fore) color is calculated based on the weight of the certain item. - - The Logarithmic or Linear coefficient used for the calculations. - The calculated color of the TagCloud item. - - - - Gets the fore color of the TagCloud item based on the ForeColor, MinColor and MaxColor properties. - - The coefficient needed to calculate the fore color of the item. - The fore color of the item. - - - - Returns a dictionary of <string,int> that represents the frequency of a given word in a text. - - The text from which word map (dictionary will be created. - The dictionary containing the word and the number of times it occurs in the text. - - - - Populates the Items collection of the current TagCloud, from a provided text. - Every word is weighted based on its occurence in the text. - - The text from which a weighted cloud will be generated. - - - - Reads a .TXT file and returns the text as a string. If the file does not exist, string.Empty is returned. - - The physical path to the file. - The text from the file. - - - - Reads an HTML document from the provided URL and returns the text as a string. - If the URL does not exist, or the HTML document is not valid, a string.Empty is returned. - - The URL from which the text will be scanned and returned. - The text, with stripped HTML tags, of the HTML document on the provided URL. - - - - Finds the least and most important item (i.e. the item with max and min occurance). - - - - - Writes a default cloud of items at design-time. - - The HTML text writer. - - - - Checks whether a word should be excluded from a given text. - - The word to check. - The list of words that should be excluded from a text. - The bool value that indicates whether the word is excluded or not. - - - - Checks whether a given character is a valid character that should be included in a word. - - The character to check. - String of invalid characters. - If empty string is provided the Char.IsPunctuation is used to check for validity. - The 0-based index position of the character in the given text. - The text where the character occurs. - The string of the valid punctuation characters. - The bool value indicating whether a character is a valid one. - Usually, letters and numbers are valid word characters. - - - - Checks whether a character is punctuation mark (i.e. ,.!?"'-). - - The character to check. - String of punctuation marks. - If empty string is provided Char.IsPunctuation method is used to check for punctuation. - The bool value indicating whether a character is a punctutation mark. - - - - Checks whether a given punctuation mark (i.e. an invalid character) is surronded by alpha numeric characters. - If yes the character is considered a valid one and added to the word. - - The character to check. - The 0-based index position of the character in the text. - The text where the character occurs. - The bool value indicating whether the character is considered a valid one. - - - - Strips the HTML from a given text (containing an XHTML markup) and returns the inner text of the HTML elements. - The text should be a vaild HTML. The method does not strip the CSS between opening and closing <style> tags, - because it assumes that all the CSS occurs in the <head> tag, which is not searched for text by the TagCloud. - - The text containing the HTML to strip. - The bool value that indicates whether the string passed is full Html document. - When passing InnerHtml of an element set this value to false. - The text within the <body> element is taken into consideration when this parameter is true. - String containing the "clean" text. - An empty string is returned if the text does not contain a <body> element. - - - - Skips an attribute in a given HTML text, and returns the 0-based index position of the closing attribute qoute. - - The HTML text containing the attribute. - The current charater in the text. - The 0-based index position of the current character. - The 0-based index position of the closing qoute if the current character is the opening qoute. - The same position is returned if the current character is not a valid opening qoute. - - - - Skips script tags and returns the 0-based index position of the closing <script> tag. - - The HTML text containing the script tag. - The current character of the text. - The 0-based index position of the current character of the text. - Bool value indicating whether the current character is within a <script> element. - The length of the text. - The 0-based index position of the closing <script> tag. - The current position is returned if the character is outside a script element. - - - - Gets the web site's base url. - - - - - The name of the javascript function called when an item is clicked. - - - - - The name of the javascript function called after an item is clicked. - - - - - The name of the javascript function when the control loads. - - - - - Adds or removes an event handler method from the ItemDataBound event. - The event is fried right after RadTagCloudItem is databound. - - - - - Adds or removes an event handler method from the ItemClick event. - The event is fired after RadTagCloudItem is clicked. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadTagCloud items are about to be populated from web service. The event is cancellable - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadTagCloud items were just populated from web service. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the RadTagCloud when loading has failed. - - - - - Holds the minimal Weight of all the TagCloud items. - (Usually, this is the least frequent word.) - - - - - Holds the maximal Weight of all the TagCloud items. - (Usually, this is the most frequent word.) - - - - - Gets or sets a value indicating whether the GenerateTagsFromText method should be called. - - - - - Gets or sets a SortedList of items, which is used to more efficently sort the items by weight. - The list is then used to calculate the MaxNumberOfItems, when TakeTopWeightedItems is specified to true. - - - - - Gets or sets a bool value that indicates whether tagCloud items are cleared before data binding. - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make Telerik RadTagCloud postback to the server - on item click. - - - The default value is false. - - - - - Gets or sets the field of the data source that provides the URL (NavigateUrl) content of the TagCloud items. - - - - - Gets or sets the formatting string used to control how data bound to the NavigateUrl property of the TagCloud item is displayed. - - - - - Gets or sets the field of the data source that provides the text content of the TagCloud items. - - - - - Gets or sets the formatting string used to control how data bound to the Text property of the TagCloud item is displayed. - - - - - Gets or sets the field of the data source that provides the ToolTip content of the TagCloud items. - - - - - Gets or sets the formatting string used to control how data bound to the ToolTip property of the TagCloud item is displayed. - - - - - Gets or sets the field of the data source that provides the value content of the TagCloud items. - - - - - Gets or sets the field of the data source that provides the weight of the TagCloud items. - - - - - Gets the collection of all TagCloud items currently present in the TagCloud. - - - - - Gets or sets a value indicating how the font-size will be distributed among the different words. - There is Linear and Logarithmic Distribution. - (Use Telerik.Web.UI.TagCloudDistribution.Linear or Telerik.Web.UI.TagCloudDistribution.Logarithmic) - - - - - Gets or sets the fore color to the most important (frequent) item. - - - - - Gets or sets the fore color to the least important (frequent) item. - - - - - Gets or sets the font-size to the most important (frequent) item. - - - - - Gets or sets the font-size to the least important (frequent) item. - - - - - Gets or sets the minimal weight a TagCloud item could have. - If the weight of the item is less than this value, the keyword will not appear in the cloud. - - The default value is 0.0, which means the items will not be filtered. - - - - Gets or sets the number of visible items in the cloud. - - The default value is 0, which means the items will not be filtered. - - - - Gets or sets the target window or frame to display the new content when the TagCloud item is clicked. - - - - - Must be used with MaxNumberOfItems property.
- Gets or sets a bool value indicating whether the [MaxNumberOfItems] visible items will be the ones with the biggest weight, - or the ones that occur first in the DataSource. The default value is false. -
-
- - - The URL to post to when an item is clicked. - - - - - Gets or sets a bool value indicating whether the item weight will be rendered. It is rendered right next to the item's text. - - - - - Gets or sets a value indicating how the TagCloud items will be sorted. - Possible values are alphabetic and weighted sorting in ascending/descending order. - - - - - Gets or sets the punctuation characters that will not be included in the TagCloud, when generated from text source.
- When none are specified, the Char.IsPunctuation(Char c) method is used to check whether a character is punctuation mark. - The property should be used in conjuction with the following properties: Text. -
-
- - - Gets or sets the punctuation characters that will be considered valid (i.e. they should be considered as a character of the word), - if they appear between alphanumeric characters. - For example the following words are valid, although they have punctuation characters: ASP.NET, web-site, telerik.com, web.config - - - - - Gets or sets the array of words that will be excluded from the TagCloud, when the cloud is generated from a text source. - - - - - Gets or sets text from which a weighted cloud will be generated. Most frequent words are more important. - - - - - Gets or sets the text (.TXT) file from which text will be retrieved to generate tags. - - - - - Gets or sets the URL from which text will be retrieved to generate tags. - - - - - Gets the settings for the web service used to populate items - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public TagCloudDataItem[] WebServiceMethodName(int itemIndex, int itemCount) - { - List<TagCloudDataItem> result = new List<TagCloudDataItem>(); - TagCloudDataItem item; - for (int i = 0; i < itemCount; i++) - { - item = new RadTagCloudItemData(); - item.accessKey = ""; - item.navigateUrl = ""; - item.tabIndex = ""; - item.text = ""; - item.toolTip = ""; - item.value = ""; - item.weight = 0; - result.Add(item); - } - return result.ToArray(); - } - } - - - - - - - This class represents a item. - - - This class represents a item. - - - - - Creates a TagCloud item. - - - - - Creates a TagCloud item from a given data item object. - - The data item object. - - - - Creates a TagCloud item from given text. - - The text of the TagCloud item to set. - - - - Creates a TagCloud item from given text and weight - - The text of the TagCloud item to set. - The weight of the TagCloud item to set. - - - - Creates a TagCloud item from given text, weight and navigateUrl. - - The text of the TagCloud item to set. - The weight of the TagCloud item to set. - The navigateUrl of the TagCloud item to set. - - - - Creates a TagCloud item from given text, weight, navigateUrl and toolTip. - - The text of the TagCloud item to set. - The weight of the TagCloud item to set. - The navigateUrl of the TagCloud item to set. - The toolTip of the TagCloud item to set. - - - - Gets or sets the access key of the TagCloud item. - - - - - Gets or sets the data object (from the data source) associated with the TagCloud item. - - - - - Gets the zero based index of the item. - - - - - Gets or sets the URL of the TagCloud item. - When the item is clicked, the user is redirected to the specified url. - - - The URL of the TagCloud item. - - - - - Gets or sets the TabIndex of the tagCloud item. - - - - - Gets or sets the text that is displayed in the TagCloud item. - - - The text of the TagCloud item. - - - - - Gets or sets the Value of the TagCloud item. - - - The value of the TagCloud item. - - - - - Gets or sets the ToolTip of the TagCloud item. - - - - - Gets or sets the weight, that determines how the TagCloud item (tag, keyword) will be styled. - Greater value means, greater font-weight and size. - - - The weight of the TagCloud item. - - - - - A collection of RadTagCloudItem objects in a - RadTagCloud control. - - - - - - Initializes a new instance of the RadTagCloudItemCollection class. - - The parent TagCloud control. - - - - Adds an item to the TagCloud Items collection. - If the Weight of the item is smaller than the MinimalWeightAllowed, - the item will not be added to the collection. - - The TagCloud item to add. - - - - Checks whether a TagCloud item is present in the collection. - - The TagCloud item to check. - Bool value indicating whether the TagCloud item is present in the Items collection. - - - - Copies the TagCloud Items collection to an array, starting at a particular index. - - The one-dimensional, zero-based index destination array, to which the elements of the Items collection will be copied. - The zero-based index of the array, at which the copying begins. - - - - Gets the index of the TagCloud item in the Items collection - - The TagCloud item the index of. - The index of the TagCloud item. - - - - Inserts a TagCloud item at the specified index. - - The index (position), where the TagCloud item will be inserted. - The TagCloud item to insert. - - - - Removes the passed TagCloud item from the Items collection. - - The TagCloud item to remove. - - - - Removes a TagCloud item from the Items collection, at the specified index. - - The index of the TagCloud item. - - - - Sorts the current list of TagCloud items. The collection itself is not modified. - If any of the MinimalWeightAllowed, MaxNumberOfItems and TakeTopWeightedItems - properties are set, the collection will be filtered too. - - The collection of sorted items. - - - - - Filters the current collection (the collection itself is not modified) of items based on the values of - MinimalWeightAllowed, MaxNumberOfItems and TakeTopWeightedItems properties, - and returns the filtered collection of TagCloud items. - - - The collection of filtered items. - - - - - Finds the TagCloud item with minimal weight. - - - - - - Finds the TagCloud item with maximal weight. - - - - - - Finds the TagCloud item with maximal/minimal weight. - - - - - Sort the items using the ListOfSortedItems - - - - - Filters the list of items based on a maximum number of items allowed in the tag cloud. - - Should the items with the highest weight be taken. - The list of items to filter. - Returns the filtered list of TagCloud items - - - - The parent TagCloud control, which the items collection belongs to. - - - - - Gets an IList object of the Items collection of the TagCloud. - - - - - Represents the Close command item in a RadDock control. - - - - - Represents a custom command item in a RadDock control. - - - - - Initializes a new instance of the DockCommand class. - - - - - Initializes a new instance of the DockCommand class with the specified - clientTypeName, cssClass, name, text and autoPostBack. - - - - - - - Creates an HtmlAnchor control with applied CssClass and Title. - - An HtmlAnchor control. - - - - Returns the value of the CssClass property. This method should be overridden - in multistate commands, such as DockToggleCommand, to return one of the - CssClass and AlternateCssClass properties, depending on the command state. - - - - - - - Returns the value of the Text property. This method should be overridden - in multistate commands, such as DockToggleCommand, to return one of the - Text and AlternateText properties, depending on the command state. - - - - - - - Specifies the name of the type of the client object, which - will be instantiated when the command is initialized for the first time. - - - - - Specifies the name of the command. The value of this property is used - to determine on the server which command was clicked on the client. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button. - - - - - Gets or sets a value indicating whether a postback to the server - automatically occurs when the user drags the RadDock control. - - - - - Get ot set the the shortcut key that executes the command - - - - - Gets or sets the client-side script that executes when the Command event is raised - on the client. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client. - - - - - Initializes a new instance of the DockCloseCommand class - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client. - - - - - Specifies the name of the command. The value of this property is used - to determine on the server which command was clicked on the client. - - - - - A collection of DockCommand objects in a RadDock control. - - - - - Appends a DockCommand to the end of the collection - - - - - Inserts a DockCommand to a given index in the collection - - - - - Provides data for the DockCommand event. - - - - - Gets the DockCommand item which initiated the event. - - - - - Represents the method that handles a DockCommand event - - The source of the event - A DockCommandEventArgs that contains the event data - - - - Represents the ExpandCollapse command item in a RadDock control. - - - - - Represents a two state command item in a RadDock control. - - - - - Initializes a new instance of the DockToggleCommand class - - - - - Initializes a new instance of the DockToggleCommand class with the specified - clientTypeName, cssClass, alternateCssClass, name, text, alternateText and autoPostBack - - - - - - - Returns the value of the CssClass property if the value of the State - property is Primary, otherwise AlternateCssClass. - - - - - - - Returns the value of the Text property if the value of the State property is - Primary, otherwise AlternateText. - - - - - - - Gets or sets the initial state of the command item. If the value of this property - is Primary, the values of the Text and CssClass properties will be used initially, - otherwise the command will use AlternateText and AlternateCssClass. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client when State is Alternate. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button when State is Alternate. - - - - - Initializes a new instance of the DockExpandCollapseCommand class. - - - - - Gets or sets the initial state of the command item. If the value of this property - is Primary, the values of the Text and CssClass properties will be used initially, - otherwise the command will use AlternateText and AlternateCssClass. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button when State is Alternate (Collapsed). - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client when State is Alternate (Collapsed). - - - - - Specifies the name of the command. The value of this property is used - to determine on the server which command was clicked on the client. - - - - - Represents a object that unifies the most important properties of the class, for easier saving and restoring the state of a RadDock. - Each property of this class corresponds to a property in the class. - - - - - Serializes the current DockState object. The resulting string can be deserialized using the static method, and the identical object recreated. - - Serialized string that can be later used to recreate the same DockState object. - - - - Deserializes the input string, and creates the corresponding object. - - The string to deserialize. - The deserialized DockState object that corresponds to the input string. - - - - Creates a new instance of the class. - - - - - Gets or sets the ClientID of the RadDockZone, where the RadDock control is docked. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the width of the RadDock control. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the height of the RadDock control when it is expanded. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the height of the RadDock control. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets the position of the RadDock control in its parent zone. If undocked returns -1. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the vertical position of the RadDock control in pixels. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the horizontal position of the RadDock control in pixels. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets a value, indicating whether the RadDock control is closed (style="display:none;"). - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets a value, indicating whether the RadDock control is resizable. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets a value, indicating whether the RadDock control is collapsed. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets a value, indicating whether the RadDock control is pinned. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the unique name of the RadDock control, which allows the parent RadDockLayout to - automatically manage its position. If this property is not set, the control ID will be - used instead. RadDockLayout will throw an exception if it finds two RadDock controls with - the same UniqueName. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the additional data associated with the RadDock control. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the text which will appear in the RadDock control titlebar area. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Gets or sets the text which will appear in the RadDock control content area. - This property is used to save and restore the value of the property of the RadDock class. - - - - - Implements methods, needed by RadDock or RadDockZone to register with - a control which will take care of the dock positions. - - - - - Each dock will use this method in its OnInit event to register - with the IDockLayout. This is needed in order the layout to - be able to manage the dock position, set on the client. - - - - - Each dock will use this method in its OnUnload event to unregister - with the IDockLayout. This is needed in order the layout to - be able to manage the dock state properly. - - - - - Each zone will use this method in its OnInit event to register - with the IDockLayout. This is needed so that the layout is able to manage the dock positions, set on the client. - - - - - Each zone will use this method in its OnUnload event to unregister - with the IDockLayout. - - - - - Docks the RadDock control inside a child zone with ID=newParentClientID. - - - - - RadDock is a control, which enables the developers to move, dock, - expand/collapse any DHTML/ASP.NET content - - - - - Raises the DockPositionChanged event. - - - This method notifies the server control that it should perform actions to - ensure that it should be docked in the specified RadDockZone on the client. - - - - - - - Raises the Command event and allows you to handle the Command event directly. - - - - - - - Docks the RadDock control in the zone with ClientID equal to dockZoneID. - - - The RadDock control should be placed into a RadDockLayout in order this - method to work. It is not necessary for the layout to be a direct parent of the - RadDock control. - - The ClientID of the RadDockZone control, where - the control should be docked. - - - - Docks the RadDock control in the specified RadDockZone. - - The RadDockZone control in which the control should be docked. - - - - Removes the RadDock control from its parent RadDockZone. - - - - - Returns the unique name for the dock, based on the UniqueName and - the ID properties. - - - A string, containing the UniqueName property of the dock, or its - ID, if the UniqueName property is not set. - - - - - Returns a DockState object, containing data about the current state - of the RadDock control. - - A DockState object, containing data about the current state - of the RadDock control. This object could be passed to ApplyState() - method. - - - - - Applies the data from the supplied DockState object. - - - A DockState object, containing data about the state, which should - be applied on the RadDock control. - - - - - overridden. Handles the Init event. Inherited from WebControl. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value, indicating whether the control will initiate postback - when it is docked/undocked or its position changes. The default value is false. - - - - - Gets or sets a value, indicating whether the control is closed (style="display:none;"). - - - When the value of this property is true, the control will be hidden, but its HTML will - be rendered on the page. The default value is false. - - - - - Gets or sets the tooltip of the CloseCommand when the corresponding - property was not explicitly set on the command object. - - - - - Gets or sets a value, indicating whether the control is collapsed. - - - When the value of this property is true, the content area of the control - will not be visible. The default value is false. - - - - - Gets or sets the tooltip of the ExpandCollapseCommand when the dock - is not collapsed and the corresponding property was not explicitly set - on the command object. - - - - - Gets a collection of DockCommand objects representing the individual commands within the control titlebar. - - - A DockCommandCollection that contains a collection of DockCommand objects representing the individual commands within the control titlebar. - - - Use the Commands collection to programmatically control the commands buttons within the control titlebar. - - - - - Gets or sets a value, indicating whether the control will initiate postback - when its command items are clicked. The default value is false. - - - - - Gets the control, where the ContentTemplate will be instantiated in. - - - You can use this property to programmatically add controls to the content area. If you add controls - to the ContentContainer the Text property will be ignored. - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control content area. - - - You cannot set this property twice, or when you added controls to the ContentContainer. If you set - ContentTemplate the Text property will be ignored. - - - - - Gets or sets the value, defining the commands which will appear - in the RadDock titlebar when the commands collection is not modified. The default value is Close and ExpandCollapse. - - - - - Gets or sets the value, defining the behavior of the control titlebar and grips. - The default value is TitleBar. - - - - - Gets or sets a value, indicating whether the control could be left undocked. - - - - - Gets the ClientID of the RadDockZone, in which the control is docked. When the control is undocked, - this property returns string.Empty. - - - - - Gets or sets a value, indicating whether the control will have animation. - - - When the value of this property is true, the RadDock will be moved, expanded, collapsed, - showed and hid with animations. The default value is false. - - - - - Gets or sets a value, indicating whether the control could be dragged. - - - When the value of this property is true, the control could be dragged with the mouse. - The default value is true. - - - - - Gets or sets a value, indicating whether the control will be with rounded corners. - - - When the value of this property is true, the control will have rounded corners. The default value is false. - - - - - Gets or sets the tooltip of the ExpandCollapseCommand when the dock - is collapsed and the corresponding property was not explicitly set - on the command object. - - - - - Specifies the UniqueNames of the RadDockZone controls, where - the RadDock control will NOT be allowed to dock. - - - - - Specifies the UniqueNames of the RadDockZone controls, where - the RadDock control will be allowed to dock. - - - - - Gets or sets the height of the RadDock control. - - - - - Gets or sets the expanded height of the RadDock control. - - - - - Gets the position of the RadDock control in its parent zone. If undocked returns -1. - - - - - - - - - Gets or sets the horizontal position of the RadDock control in pixels. This - property is ignored when the RadDock control is docked into a RadDockZone. The default value is "0px". - - - - - Gets or sets the client-side script that executes when a RadDock Command event is raised. - - - - - Gets or sets the client-side script that executes when a RadDock DragStart event is raised. - - - - - Gets or sets the client-side script that executes when a RadDock DragEnd event is raised. - - - - - Gets or sets the client-side script that executes when a RadDock Drag event is raised. - - - - - Gets or sets the client-side script that executes when the RadDock control changes its position. - - - - - Gets or sets the client-side script that executes when the RadDock control is dropped onto a zone - before it changes its position. - - - - - Gets or sets the client-side script that executes after the RadDock client-side obect is initialized. - - - - - Gets or sets the client-side script that executes when a RadDock ResizeStart event is raised. - - - - - Gets or sets the client-side script that executes when a RadDock ResizeEnd event is raised. - - - - - Gets or sets a value, indicating whether the control is resizable. - - - When the value of this property is true, the control will be resizable. The default value is false. - - - - - Gets or sets a value, indicating whether the control is pinned. - - - When the value of this property is true, the control will retain its position - if the page scrolled. The default value is false. - - - - - Gets or sets the tooltip of the PinUnpinCommand when the dock - is not pinned and the corresponding property was not explicitly set - on the command object. - - - - - Gets or sets the additional data, which could be saved in the DockState. - The default value is an empty string. - - - - - Gets or sets the text which will appear in the control content area. If the ContentTemplate - or the ContentContainer contain any controls, the value of this property is ignored. The default value is an empty string. - - - - - Gets or sets the text which will appear in the control titlebar area. If the TitlebarTemplate - or the TitlebarContainer contain any controls, the value of this property is ignored. The default value is an empty string. - - - - - Gets the control, in which the TitlebarTemplate will be instantiated. - - - You can use this property to programmatically add controls to the titlebar. If you add controls - to the TitlebarContainer the Title property will be ignored. - - - - - Gets or sets the System.Web.UI.ITemplate that contains the controls which will be - placed in the control titlebar. - - - You cannot set this property twice, or when you added controls to the TitlebarContainer. If you set - TitlebarTemplate the Title property will be ignored. - - - - - Gets or sets the vertical position of the RadDock control in pixels. This - property is ignored when the RadDock control is docked into a RadDockZone. - The default value is "0px". - - - - - Gets or sets the unique name of the control, which allows the parent RadDockLayout to - automatically manage its position. If this property is not set, the control ID will be - used instead. RadDockLayout will throw an exception if it finds two RadDock controls with - the same UniqueName. - - - - - Gets or sets the tooltip of the PinUnpinCommand when the dock - is pinned and the corresponding property was not explicitly set - on the command object. - - - - - Gets or sets the width of the RadDock control. The default value is "300px". - - - - - Occurs when the control is docked in another RadDockZone, or - its current zone position was changed. - - - Notifies the server control to perform the needed actions to ensure that - it should be docked in the specified RadDockZone on the client. - - - - - Occurs when a command is clicked. - - - The event handler receives an argument of type DockCommandEventArgs containing - data related to this event. - - - - - - - - - - - - - This enum is used to list the valid modes for the RadEditor content area. - - - - - The content area will be rendered as a separate document (iframe element). - - - - - The content area will be rendered in the same document (div element). - - - - - Workflow: - 1). OnInit - ensure that the framework will call TrackViewState, LoadViewState and SaveViewState. - We expect that all child docks will be created here. - 2). TrackViewState - raise LoadDockLayout event in order to let the developer to supply - the initial parents of the registered docks, because the docks could be created with - different parents than needed. - 2a). LoadViewState - loads and applies the dock parents from the ViewState in order to persist - the dock positions between the page postbacks. - 3). LoadPostData - returns true to ensure that RaisePostDataChangedEvent() - 3a). Dock_DockZoneChanged - this event is raised by each dock in its LoadPostData method. - We handle this event and store the pair UniqueName/NewDockZoneID in the _clientPositions - Dictionary. This Dictionary will be used in #4. - 4). RaisePostDataChangedEvent - sets the parents of the registered docks according their - positions, set on the client. These positions are stored in the _clientPositions Dictionary. - 5). OnLoad, other events, such as Click, Command, etc. If you create a dock here it will be - rendered on the page, but if it is not recreated in the next OnInit, it will not persist - its position, set on the client! - 6). SaveViewState - stores the dock parents in the ViewState in order to persist their positions - between the page postbacks. - 7). Page_SaveStateComplete - raises the SaveDockLayout event to let the developer to save - the state in a database or other storage medium. - Note: The dock parents will be stored in the ViewState if StoreLayoutInViewState is set - to true (default). Otherwise the developer should take care of the dock positions when the page - is posted back. - - - - - overridden. Handles the Init event. Inherited from Control. - - - - - - - - - - - Handler for LoadDockLayout event used for the built-in state storing - - - - - - - Handler for LoadDockLayout event used for the built-in state storing - - - - - - - Returns the JavaScriptSerializer used for storing the state - - JavaScriptSerisalizer instance with registered Unit converters - - - - - - The docks must be already created. We will apply their order - and if there is a state information, we will apply it. - - - - - We will apply the dock positions saved in the ViewState here. - - - - - - - Overridden. Raises the PreRender event - - - - - - - - - - - We will loop through all registered docks and will retrieve their - positions and state. Those positions will be saved in the ViewState - if StoreLayoutInViewState is true. - - base.SaveViewState() - - - - - - Reorders the docks in the control tree, according the supplied parameters. - - - This method will check for uniqueness of the UniqueNames of the registered docks. If - there are two docks with equal unique names an exception will be thrown. - - A Dictionary, containing UniqueName/DockZoneID pairs. - A Dictionary, containing UniqueName/Index pairs. - - - - Docks the dock to a zone with ClientID = newParentClientID. - - The dock which should be docked. - The ClientID of the new parent. - - - - - - Cycles through all registered docks and retrieves their parents. The Dictionary - returned by this method could be passed to SetRegisteredDockParents(). - - - A dictionary, containing UniqueName/DockZoneID pairs. - - - - - - - Cycles through all registered docks and retrieves their indices. The Dictionary - returned by this method could be passed to SetRegisteredDockParents(). - - - A dictionary, containing UniqueName/Index pairs. - - - - - - - Cycles through all registered docks and retrieves their state, depending - on the omitClosedDocks parameter and the value of the Closed property of - each RadDock control. The List returned by this method could be used to - recreate the docks when the user visits the page again. - - - A bool value that specifies whether the closed RadDock controls should be excluded from the state. - - - A List, containing UniqueName/DockState pairs. - - - - - Cycles through all registered docks and retrieves their state. The List - returned by this method could be used to recreate the docks when the user - visits the page again. - - - A List, containing UniqueName/DockState pairs. - - - - - Raises the LoadDockLayout event. - - A DockLayoutEventArgs that contains the event data. - - - - Raises the SaveDockLayout event. - - A DockLayoutEventArgs that contains the event data. - - - - Ensures that the dock has unique UniqueName or ID properties to its - RadDockLayout. If the UniqueName or the ID are not unique, an - exception is thrown. - - A RadDock object. - A list of UniqueNames of the RadDock controls in RadDockLayout. - - A string, containing the UniqueName property of the dock, or its - ID if the UniqueName property is not set. Got from the RadDock.GetUniqueName(). - - - - - - - Each dock will use this method in its OnInit event to register - with the RadDockLayout. This is needed in order for the layout to - be able to manage the dock position set on the client. - - The RadDock object that will be registered. - - - - Each zone will use this method in its OnInit event to register - with the RadDockLayout. This is needed in order the layout to - be able to manage the dock positions, set on the client. - - The RadDockZone object that will be registered. - - - - Docks the dock to a zone with ClientID = newParentClientID. - - The dock which should be docked. - The ClientID of the new parent. - - - - Each dock will use this method in its OnUnload event to unregister - with the IDockLayout. This is needed in order the layout to - be able to manage the dock state properly. - - The RadDock object that will be unregistered. - - - - Each zone will use this method in its OnUnload event to unregister - with the IDockLayout. - - The RadDockZone object that will be unregistered. - - - - Each dock will store its position on the client in the DockZoneChanged event. - In RaisePostDataChangedEvent() RadDockLayout will reorganize the docks according to - this information. - - - - - All docks, which are direct or indirect children of the RadDockLayout. - - - - - All zones, which are direct or indirect children of the RadDockLayout. - - - - - Returns the names of all embedded skins. Used by Telerik.Web.Examples. - - - - - Returns all registered docks with this RadDockLayout control. - - - Returns a read only collection containing all registered docks. - - - - - Returns all registered zones with this RadDockLayout control. - - - Returns a read only collection containing all registered zones. - - - - - RadDockLayout will raise the LoadDockLayout event in order to retrieve the parents - which will be automatically applied on the registered docks. The client - positions will be applied in a later stage of the lifecycle. - - - - - RadDockLayout will raise this event to let the developer to save - the parents of the registered docks in a database or other storage - medium. These parents can be later supplied to the LoadDockLayout event. - - - - - This is the container where we will store the dock positions set on the client. - - - - - This is the container where we will store the dock indices set on the client. - - - - - By default RadDockLayout will store the positions of its inner docks in - the ViewState. If you want to store the positions in other storage medium - such as a database, or the Session, set this property to false. Setting this - property to false will also minimize the ViewState usage. - - - - Gets or sets the skin name for the child controls' user interface. - A string containing the skin name for the control user interface. The - default is string.Empty. - - - If this property is set, RadDockLayout will set the Skin and EnableEmbeddedSkins properties - of each child RadDock and RadDockZone, unless their Skin property is not explicitly set. - - - - - - For internal use. - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - If the Skin property is set, RadDockLayout will set the Skin and EnableEmbeddedSkins properties - of each child RadDock and RadDockZone, unless their Skin property is not explicitly set. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests. - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - Gets or sets the StateStorageProvider instance that will be used for the built-in state storing. - - - - - Specifies wheter the built-in state storing should be enabled. - - - - - Gets or sets the type of the data repository to be used for storing the state. - - - The corresponding StorageProvider will be used for the state storing functionality. - - - - - Gets or sets the key identifier of the stored RadDocks' states. - - - The corresponding StorageProvider will be used for the state storing functionality. - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - Represents different slider types - - - - - - Defines the position of the slider track - - - - - - Defines the different interaction modes of the slider. Interaction mode is defined for range sliders and specifies the iteraction when one of the drag handle crosses the other drag handle. - - - - - - Telerik RadSlider is a flexible UI component that allows users to select a value from a defined range using a smooth or step-based slider. - - - - - Gets or sets a value indicating the server-side event handler that is called - when the value of the slider has been changed. - - - A string specifying the name of the server-side event handler that will handle the - event. The default value is empty string. - - - If specified, the OnValueChanged - event handler that is called - when the value of the slider has been changed. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnValueChanged property. - -
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnValueChanged="OnValueChanged">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Raises the ItemDataBound event. This event is raised per item for a Data-Bound RadSlider. - - Event arguments instance containing a reference to the currently bound item - - - - Binds the Slider control to a IEnumerable data source - - IEnumerable data source - - - - Creates a Slider item based on the data item object. - - - - - Adds HTML attributes and styles that need to be rendered to the specified . This method is used primarily by control developers. - - A that represents the output stream to render HTML content on the client. - - - - The Enabled property is reset in AddAttributesToRender in order - to avoid setting disabled attribute in the control tag (this is - the default behavior). This property has the real value of the - Enabled property in that moment. - - - - - Get/Set the value of the slider - - - - - Get/Set the position value of the slider, from where the selection region will begin - - - - - Gets or sets the value of RadSlider in a database-friendly way. - - - A Decimal object that represents the value. - The default value is 0m. - - - The following example demonstrates how to use the DbValue - property to set the value of RadSlider. - - private void Page_Load(object sender, System.EventArgs e) - { - RadSlider1.DbValue = tableRow["SliderValue"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadSlider1.DbValue = tableRow("SliderValue") - End Sub - - - - This property behaves exactly as the Value property. - The only difference is that it will not throw an exception if the new value is null or - DBNull. Setting a null value will revert the selected value to 0m. - - - - - Get/Set the SelectionStart of the slider - - - - - Get/Set the SelectionEnd of the slider - - - - - Get/Set the IsSelectionRangeEnabled of the slider - - - - - Get/Set the EnableDragRange of the slider - - - - - Get/Set the IsDirectionReversed of the slider - - - - - Get/Set the LiveDrag of the slider - - - - - Get/Set the ItemType of the slider items - - - - - Get/Set the TrackPosition of the slider track - - - - - Get/Set orientation of the slider - - - - - Get/Set the step with which the slider value will change - - - - - Get/Set the delta with which the value will change - when user click on the track - - - - - Get/Set the length of the animation - - - - - Get/Set the length of the slider including the decrease and increase handles. - - - If the slider is horizontal the width will be set, otherwise the height will be set. - - - - - Get/Set the Width of the slider including the decrease and increase handles. - - - - - Get/Set the Height of the slider including the decrease and increase handles. - - - - - True to cause a postback on value change. - - - - - Get/Set the min value of the slider - - - - - Get/Set the max value of the slider - - - - - Enable/Disable whether the mouse wheel should be handled - - - - - Show/Hide the drag handle - - - - - Show/Hide the decrease handle - - - - - Show/Hide the increase handle - - - - - Gets or sets the text for the decrease handle - - - - - Gets or sets the text for the increase handle - - - - - Gets or sets the text for the increase handle - - - - - Gets or sets a value, indicating whether the HTML of the control will be output from the server or created with client-side code. - - - - - Get/Set the InteractionMode of the slider thumbs - - - - - Gets/Sets a value indicating whether the DataBound items should be appended to the Slider Items collection, or the collection - should be cleared before creating the DataBound items. - - - - - Gets the object through which the user should provide the binding information about the slider items. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadSlider control is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientLoad property. - -
- <script type="text/javascript">
- function OnClientLoad(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientLoad="OnClientLoad">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the sliding is started. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientSlideStart - client-side event handler is called before - the sliding is started. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlideStart property. - -
- <script type="text/javascript">
- function OnSlideBeginHandler(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlideStart="OnSlideBeginHandler">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - while the handle is being slided. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientSlide - client-side event handler that is called - while the handle is being slided. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlide property. - -
- <script type="text/javascript">
- function OnSlidingHandler(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlide="OnSlidingHandler">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - when slide has ended. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientSlideEnd - client-side event handler that is called - when slide has ended. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlideEnd property. - -
- <script type="text/javascript">
- function OnSlideHandler(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlideEnd="OnSlideHandler">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called just before the - user starts sliding the selected region of RadSlider, thus changing both SelectionStart and SelectionEnd values. - - - A string specifying the name of the JavaScript function which will handle the - event. The default value is empty string. - - - If specified, the OnClientSlideRangeStart - client-side event handler is called before the - user starts sliding the selected region. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlideRangeStart property. - -
- <script type="text/javascript">
- function OnClientSlideRangeStart(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlideRangeStart="OnClientSlideRangeStart">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - while the user is sliding the selected region, thus changing the both SelectionStart and SelectionEnd values. - - - A string specifying the name of the JavaScript function which will handle the - event. The default value is empty string. - - - If specified, the OnClientSlideRange - client-side event handler that is called - while the selected region is being slided. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlideRange property. - -
- <script type="text/javascript">
- function OnClientSlideRange(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlideRange="OnClientSlideRange">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when the - user releases the selected region of RadSlider, after dragging it, thus changing both SelectionStart and SelectionEnd values. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientSlideRangeEnd - client-side event handler that is called - when slide has ended. Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientSlideRangeEnd property. - -
- <script type="text/javascript">
- function OnClientSlideRangeEnd(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientSlideRangeEnd="OnClientSlideRangeEnd">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - when the value of the slider has been changed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientValueChanged property. - -
- <script type="text/javascript">
- function OnClientValueChanged(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientValueChanged="OnClientValueChanged">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called - just before the value of the slider changes. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientValueChanging property. - -
- <script type="text/javascript">
- function OnClientValueChanging(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientValueChanging="OnClientValueChanging">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the items of the RadSlider control are created. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlider object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientItemsCreated property. - -
- <script type="text/javascript">
- function OnClientItemsCreated(sender, args)
- {
- var slider = sender;
- }
- </script> -
-
- <telerik:RadSlider ID="RadSlider1"
- runat= "server"
- OnClientItemsCreated="OnClientItemsCreated">
- ....
- </telerik:RadSlider> -
-
-
-
- - - Gets a RadSliderItemCollection object that contains the items of the current RadSlider control. - - - A RadSliderItemCollection that contains the items of the current RadSlider control. By default - the collection is empty (RadSlider is a numeric slider). - - - Use the Items property to access the child items of RadSlider - You can add, remove or modify items from the Items collection. - - - - - Gets a RadSliderItem object that represents the selected item in the RadSlider control in case - ItemType of the control equals SliderItemType.Item. - - A RadSliderItem object that represents the selected item. If there are no items in the Items collection - of the RadSlider control, returns null. - - - - Gets a collection of RadSliderItem objects that represent the items in the RadSlider control that are currently selected - in case ItemType of the control equals SliderItemType.Item. - - A RadSliderItemCollection containing the selected items. - - - - Gets the Value of the selected item in case - ItemType of the RadSlider control equals SliderItemType.Item. - - - The Value of the selected item. If there are no items in the Items collection - of the RadSlider control, returns empty string. - - - - - Gets the Value of the selected item in case - ItemType of the RadSlider control equals SliderItemType.Item. - - - The Value of the selected item. If there are no items in the Items collection - of the RadSlider control, returns empty string. - - - - - RadPane class - - - - - This property is being used internally by the RadSplitter control. - Setting it may lead to unpredictable results. - - - The Index property is used internally. - - - - - Sets/gets the min width to which the pane can be resized - - - - - Sets/gets the max width to which the pane can be resized - - - - - Sets/gets the min height to which the pane can be resized - - - - - Sets/gets the max height to which the pane can be resized - - - - - Sets/gets whether the content of the pane will get a scrollbars when it exceeds the pane area size - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadPane is collapsed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the pane object that raised the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientCollapsed property. - -
- <script type="text/javascript">
- function OnClientCollapsed(sender, args)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientCollapsed="OnClientCollapsed">
- ....
- </radspl:RadPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the RadPane is collapsed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the pane object that raised the event - args - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientCollapsing property. - -
- <script type="text/javascript">
- function OnClientCollapsing(sender, args)
- {
- alert(sender.get_id());
- args.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientCollapsing="OnClientCollapsing">
- ....
- </radspl:RadPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadPane is expanded. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the pane object that raised the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientExpanded property. - -
- <script type="text/javascript">
- function OnClientExpanded(sender, eventArgs)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientExpanded="OnClientExpanded">
- ....
- </radspl:RadPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the RadPane is expanded. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the pane object that raised the event - args - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientExpanding property. - -
- <script type="text/javascript">
- function OnClientExpanding(sender, args)
- {
- alert(sender.get_id());
- args.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientExpanding="OnClientExpanding">
- ....
- </radspl:RadPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when the RadPane is resized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the pane object that raised the event - args with the following methods: - - get_oldWidth - the width of the pane before the resize - get_oldHeight - the height of the pane before the resize - - - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientResized property. - -
- <script type="text/javascript">
- function OnClientResized(sender, eventArgs)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientResized="OnClientResized">
- ....
- </radspl:RadPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the RadPane is resized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the event object - args with the following methods: - - get_delta - the delta with which the pane will be resized - get_resizeDirection - the direction in which the pane will be resized. You can use the Telerik.Web.UI.SplitterDirection hash to check the direction. The 2 possible values are : Forward and Backward - - - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientResizing property. - -
- <script type="text/javascript">
- function OnClientResizing(sender, eventArgs)
- {
- alert(sender.get_id());
- eventArgs.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadPane ID="RadPane1"
- runat= "server"
- OnClientResizing="OnClientResizing">
- ....
- </radspl:RadPane> -
-
-
-
- - - Sets/gets whether the scrolls position will be persisted acrosss postbacks - - - - - - - - - - - - - - - - - Get the expanded Size of the pane, when the pane is collapsed. - In case the Orientation of the splitter is Vertical, returns the expanded Height, otherwise, the expanded Width. - - - - - Set the expanded Size of the pane, when the pane is collapsed. - In case the Orientation of the splitter is Vertical, sets the expanded Height, otherwise, the expanded Width. - - - - - Sets/gets whether the pane is collapsed - - - - - Sets/gets whether the pane is locked - - - - - The URL of the page to load inside the pane. - - - Use the ContentUrl property if you want to load external page - into the pane content area. - - - - - Gets or sets a value indicating whether the page that is loaded - through the ContentUrl property should be shown during the loading process, or a loading sign is displayed instead. - - The default value is true. - - - - Get/Set the Width of the pane. - - - - - Get/Set the Height of the pane. - - - - - Sets/gets the min width to which the pane can be resized - - - - - Sets/gets the min height to which the pane can be resized - - - - - Reference to the parent Splitter object - - - - - RadSlidingPane class - - - - - - - - - - - - - - - - - Sets/gets the min height to which the pane can be resized - - - - - Sets/gets the height of the sliding pane - - - - - Sets/gets the min width to which the pane can be resized - - - - - Sets/gets the width of the sliding pane - - - - - Sets/gets whether the resize bar will be active - - - - - Sets/gets whether the sliding pane will automatically dock on open - - - When set to true the animation is disabled, so the duration set via the - property of the RadSlidingZone is ignored. False by default. - - - - - Gets or sets the path to an image to display for the item. - - - - - Sets/gets way the tab of the pane is rendered - - - - - Sets/gets whether the pane can be docked - - - - - The title that will be displayed when the pane is docked/docked - - - - - Gets or sets the text for resize bar - - - - - Gets or sets the text for undock image - - - - - Gets or sets the text for dock image - - - - - Gets or sets the text for collapse image - - - - Gets or sets a value indicating whether the sliding pane will create an overlay element. - The default value is false. - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadSlidingPane is docked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlidingPane client object that fired the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientDocked property. - -
- <script type="text/javascript">
- function OnClientDocked(sender, args)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadSlidingPane ID="RadSlidingPane1"
- runat= "server"
- OnClientDocked="OnClientDocked">
- ....
- </radspl:RadSlidingPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadSlidingPane is undocked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlidingPane client object that fired the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientUndocked property. - -
- <script type="text/javascript">
- function OnClientUndocked(sender, args)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadSlidingPane ID="RadSlidingPane1"
- runat= "server"
- OnClientUndocked="OnClientUndocked">
- ....
- </radspl:RadSlidingPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the RadSlidingPane is docked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlidingPane client object that fired the event - args - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientDocking property. - -
- <script type="text/javascript">
- function OnClientDocking(sender, args)
- {
- alert(sender.get_id());
- args.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadSlidingPane ID="RadSlidingPane1"
- runat= "server"
- OnClientDocking="OnClientDocking">
- ....
- </radspl:RadSlidingPane> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before - the RadSlidingPane is undocked. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlidingPane client object that fired the event - args - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientUndocking property. - -
- <script type="text/javascript">
- function OnClientUndocking(sender, args)
- {
- alert(sender.get_id());
- args.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadSlidingPane ID="RadSlidingPane1"
- runat= "server"
- OnClientUndocking="OnClientUndocking">
- ....
- </radspl:RadSlidingPane> -
-
-
-
- - - Reference to the parent SlidingZone object - - - - - RadSlidingZone class - - - - - Gets the collection of child items in the RadSplitter - control. - - - A SplitterItemsCollection that represents the children within - the RadSplitter control. The default is empty collection. - - - Use this property to retrieve the child items of the RadSplitter - control. You can also use it to programmatically add or remove items. - - - The following example demonstrates how to programmatically add items. - - void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadPane pane1 = new RadPane(); - RadSplitter1.Items.Add(pane1); - - RadSplitbar splitBar1 = new RadSplitBar(); - RadSplitter1.Items.Add(splitBar1); - - RadPane pane2 = new RadPane(); - RadSplitter1.Items.Add(pane2); - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then - Dim pane1 As RadPane = New RadPane() - RadSplitter1.Items.Add(pane1) - - Dim splitBar1 As RadSplitbar = New RadSplitBar() - RadSplitter1.Items.Add(splitBar1) - - Dim pane2 As RadPane = New RadPane() - RadSplitter1.Items.Add(pane2) - - End If - End Sub - - - - - - - - - - - - - - - - - - - - - - - - - - Sets/gets the height of the sliding zone - - - - - Sets/gets the width of the sliding zone - - - - - Sets/gets whether the pane should be clicked in order to open - - - - - Sets/gets the id of the pane that is will be displayed docked - - - - - Sets/gets the id of the pane that is will be expanded - - - - - Sets/gets the direction in which the panes will slide - - - - - Sets/gets the step in px in which the resize bar will be moved when dragged. - - - - - Sets/gets the duration of the slide animation in milliseconds. - - - Animation is not performed when the RadSlidingPane's property is set to true. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadSlidingZone control is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSlidingZone that fired the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientLoad property. - -
- <script type="text/javascript">
- function OnClientLoad(sender, eventArgs)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadSlidingZone ID="RadSlidingZone1"
- runat= "server"
- OnClientLoad="OnClientLoad">
- ....
- </radspl:RadSlidingZone> -
-
-
-
- - - Reference to the parent Splitter object - - - - - RadSplitBar class - - - - - - - - - - - - - - - - - - - - - - - - - Sets/gets the collapse mode of the splitbar - - - - - Sets/gets whether the resize bar will be active - - - - - Sets/gets the step in px in which the resize bar will be moved when dragged. - - - - - Reference to the parent Splitter object - - - - - Gets or sets the text for collapse bar images - - - - - Gets or sets the names of the adjacent panes as they appear in the tooltips for the splitbar buttons. - - - - - Specifies the collapse mode of a splitbar - - - - - No collapse is available - - 1 - - - - Forward collapse availalbe only - - 2 - - - - Backward collapse availalbe only - - 3 - - - - Both - forward and backward collapse available - - 4 - - - - telerik RadSplitter is a flexible UI component for ASP.NET applications which allows users to manage effectively the content size and layout. - - - - - - - - - - - - - - - - - - - - - - - - - Sets/gets the pixels that should be substracted from the splitter height when its height is defined in percent - - - - - Resize the splitter in 100% of the page - - - - - Whether the Splitter should be visible during its initialization or not - - - - - Sets/gets the height of the splitter - - - - - Sets/gets the width of the splitter - - - - - Sets/gets whether the rendering of the splitter panes is previewed during the resize - - - - - Sets/gets whether the splitter will be resized when the browser window is resized. The Width or Height properties should be defined in percent. - - - - - Sets/gets whether the splitter will resize when the parent pane is resized - - - - - Specify the orientation of the panes inside the splitter - - - - - Set/Get the way the panes are resized - - - - - Set/Get size of the splitter border - - - - - Set/Get size of the splitter panes border - - - - - Set/Get size of the split bars - in pixels - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadSplitter control is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSplitter that fired the event - args - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientLoad property. - -
- <script type="text/javascript">
- function OnClientLoad(sender, args)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadSplitter ID="RadSplitter1"
- runat= "server"
- OnClientLoad="OnClientLoad">
- ....
- </radspl:RadSplitter> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when - the RadSplitter is resized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientResized - client-side event handler is called when the RadSplitter - is resized. Two parameters are passed to the handler: - - sender, the event object - eventArgs with the following methods: - - get_oldWidth - the width of the splitter before the resize - get_oldHeight - the height of the splitter before the resize - - - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientResized property. - -
- <script type="text/javascript">
- function OnClientResizedHandler(sender, eventArgs)
- {
- alert(sender.get_id());
- }
- </script> -
-
- <radspl:RadSplitter ID="RadSplitter1"
- runat= "server"
- OnClientResized="OnClientResizedHandler">
- ....
- </radspl:RadSplitter> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called before the RadSplitter is resized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadSplitter that fired the event - args with the following methods: - - get_newWidth - the new width that will be applied to the RadSplitter object - get_newHeight - the new height that will be applied to the RadSplitter object - - - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientResizing property. - -
- <script type="text/javascript">
- function OnClientResizing(sender, args)
- {
- alert(sender.get_id());
- args.set_cancel(true);//cancel the event
- }
- </script> -
-
- <radspl:RadSplitter ID="RadSplitter1"
- runat= "server"
- OnClientResizing="OnClientResizing">
- ....
- </radspl:RadSplitter> -
-
-
-
- - - Specifies the collapse direction options of the splitter bar - - - - - On collapse the current pane is collapsed - - 1 - - - - On collapse the next pane is resized - - 2 - - - - A collection of SplitterItem objects in a - RadSplitter control. - - - The SplitterItemsCollection class represents a collection of - SplitterItem objects. The SplitterItem objects in turn represent - panes items within a RadSplitter control. - - - Use the indexer to programmatically retrieve a - single SplitterItem from the collection, using array notation. - - - Use the Count property to determine the total - number of panes in the collection. - - - Use the Add method to add panes in the collection. - - - Use the Remove method to remove panes from the - collection. - - - - - - - Initializes a new instance of the SplitterItemsCollection class. - Use the constructor to create a new SplitterItemsCollection class. - The container of the collection. - - - Appends a SplitterItem to the end of the collection. - - The following example demonstrates how to programmatically add items in a - RadSplitter control. - - RadPane pane = new RadPane(); - - RadMenu1.Panes.Add(pane); - - - Dim pane As RadPane = New RadPane() - - RadMenu1.Panes.Add(pane) - - - - - - - - - - Inserts the specified SplitterItem in the collection at the specified - index location. - - - Use the Insert method to add a SplitterItem to the collection at - the index specified by the index parameter. - - The location in the collection to insert the SplitterItem. - The SplitterItem to add to the collection. - - - - - - - - Determines the index value that represents the position of the specified - SplitterItem in the collection. - - - The zero-based index position of the specified SplitterItem in the - collection. - - - Use the IndexOf method to determine the index value of the - SplitterItem specified by the item parameter in the collection. If an item - with this criteria is not found in the collection, -1 is returned. - - A SplitterItem to search for in the collection. - - - - - - - - Determines whether the collection contains the specified - SplitterItem. - - - true if the collection contains the specified item; otherwise, - false. - - - Use the Contains method to determine whether the SplitterItem - specified by the item parameter is in the collection. - - A SplitterItem to search for in the collection. - - - - - - - Removes the specified SplitterItem from the collection. - - Use the Remove method to remove a SplitterItem from the - collection. - - - The following example demonstrates how to programmatically remove a SplitterItem from a - RadSplitter control. - - RadPane pane = RadSplitter1.GetPaneById("pane1"); - if (pane != null) - { - RadSplitter1.Panes.Remove(pane); - } - - - Dim pane As RadPane = RadSplitter1.GetPaneById("pane1") - If Not pane Is Nothing Then - RadSplitter1.Panes.Remove(pane) - End If - - - - - - - - - Removes the SplitterItem at the specified index from the collection. - - Use the RemoveAt method to remove the SplitterItem at the - specified index from the collection. - - The index of the SplitterItem to remove. - - - Removes all items from the collection. - - Use the Clear method to remove all items from the collection. The - Count property is set to 0. - - - - - - Gets a SplitterItem at the specified index in the collection. - - - - Use this indexer to get a SplitterItem from the collection at the - specified index, using array notation. - - - The zero-based index of the SplitterItem to retrieve from the - collection. - - - - - Specifies the scrolling options for the RadPane object - - - - - Both X and Y scrolls are displayed - - 1 - - - - Only the scroll on X dimension is displayed - - 2 - - - - Only the scroll on Y dimension is displayed - - 3 - - - - No scrolls are displayed - - 1 - - - - Specifies resize mode options for the RadSplitter object - - - - - On resize of a pane the adjacent pane is resized also - - 1 - - - - On resize of a pane the other panes are resize proportionaly - - 2 - - - - On resize of a pane the end pane in the splitter is resized also - - 3 - - - - Specifies the available directions for the slide panes - - - - - Slide panes are sliding from left to right - - 1 - - - - Slide panes are sliding from right to left - - 2 - - - - Slide panes are sliding from top to bottom - - 3 - - - - Slide panes are sliding from bottom to top - - 4 - - - - Specifies views of the pane tab - - - - - Pane tab is displayed using its Title and Icon - - 1 - - - - Pane tab is displayed using only its Title - - 2 - - - - Pane tab is displayed using only its Icon - - 3 - - - - Class which holds properties for setting the - client-side events. - - - - - Gets or sets the event which is fired when a request - to the server is started. - - The event is fired when a request to the server is started. - - - - Gets or sets the event which is fired when a response - from the server is processed. - - The event which is fired when a response - from the server is processed. - - - - This class holds a reference to a single updated control and the loading panel to - display. - - - - - A constructor of AjaxUpdatedControl which takes the control to be updated and the - id of the loading panel to display as parameters. - - - - - Determines whether the specified is equal - to the current . - - - - true if the specified is equal to the - current ; otherwise, false. - - - - - Serves as a hash function for a particular type. - - A hash code for the current . - - - The default constructor of the AjaxUpdatedControl class. - - - The ID of the web control that is to be updated. - - - - The ID of the RadAjaxLoadingPanel to be displayed during the update of the - control. - - - - - Height which will be set to the generated UpdatePanel - - - - - Set class attribute to UpdatePanel that will wrap the UpdatedControl - - - - - Gets or sets the render mode of the the RadAjaxPanel. The default value is Block. - - - - A collection of the controls that are updated by the AjaxManager. - - - Adds an item to the collection - - - Removes the specified item from the collection - - - Checks wether the collection contains the specified item. - - - Gets the index of the specified item in the collection. - - - Inserts an item at the specified index in the collection. - - - - Adds a collection to the - current collection - - The collection. - - - The default indexer of the collection. - - - - Represents a single AjaxManager setting - a mapping between a control that - initiates an AJAX request and a collection of controls to be updated by the - operation. - - - - Default constructor for the AjaxSetting class. - - - - A constructor for AjaxSetting taking the ClientID of the control initiating the - AJAX request. - - - - - This field holds the control id of the control that can initiate an - AJAX request. - - - - Corresponds to the EventName property of the internally created AsyncPostBackTrigger. - - - A collection of controls that will be updated by the AjaxManager - - - - Summary description for ConfiguredControls. - - - - The default constructor for AjaxSettingsCollection class. - - - - - - - - This method adds a new AjaxSetting to the collection by building one from its - parameters. - - The web control to be ajaxified (the initiator of the AJAX request) - The web control that has to be updated. - - - - This method adds a new AjaxSetting to the collection by building one from its - parameters. - - The web control to be ajaxified (the initiator of the AJAX request). - The web control that has to be updated. - The loading panel which will be shown during the ajax request. - - - - This method adds a new AjaxSetting to the collection by building one from its - parameters. - - The web control to be ajaxified (the initiator of the AJAX request). - The web control that has to be updated. - The loading panel which will be shown during the ajax request. - The render mode which determines if the rendered content will be - inside of <div> or <span> HTML element. - - - - This method adds a new AjaxSetting to the collection by building one from its - parameters. - - The web control to be ajaxified (the initiator of the AJAX request). - The web control that has to be updated. - The loading panel. - The render mode which determines if the rendered content will be - inside of <div> or <span> HTML element. - Determines the height of the update panel. - - - Adds an item to the collection. - An instance of AjaxSetting to be added. - - - Removes an item from the collection. - An instance of AjaxSetting to be removed - - - Checks wether the item is present in the collection. - An instance of AjaxSetting - - - Determines the index of the specified item. - An instance of AjaxSetting - - - Inserts an item at the specificed index in the collection. - The index at which the setting will be inserted - An instance of AjaxSetting - - - Default indexer for the collection. - - - - Base class for and - holding base properties - available for both controls. - - - - - - - - Redirects the page to another location. - None. - - This method is usually used in the AJAX event handler instead of - Response.Redirect(). It provides the only way to redirect to a page which does not - contain any AJAX control at all. - - - The following code redirects from a button's click event handler. Note the control - should be ajaxified in order redirection to work. - - private void Button1_Click(object sender, System.EventArgs e) - { - RadAjaxManager1.Redirect("support.aspx"); - } - - - Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click - RadAjaxManager1.Redirect("support.aspx") - End Sub 'Button1_Click - - - - - Displays an alert message at client-side. - None. - - This is the easiest way to show a message, generated from the server, on the - client in a message box. - Note: Special characteres are not escaped. - - - The following example illustrates a sample usage of the Alert - method. - - private void Button1_Click(object sender, System.EventArgs e) - { - if (!UserAccessAllowed(UserProfile)) - { - RadAjaxManager1.Alert("You are not allowed to access this user control!"); - } - else - { - LoadSecretControl(); - } - } - - - Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click - If Not UserAccessAllowed(UserProfile) Then - RadAjaxManager1.Alert("You are not allowed to access this user control!") - Else - LoadSecretControl() - End If - End Sub 'Button1_Click - - - - - - Gets client side code which raises an AjaxRequest event in either AJAX Manager or - AJAX Panel. - - - - - - - - - - - - - Sets focus to the specified web control after the AJAX Request is - finished. - - - - - Sets focus to the specified web control after the AJAX Request is - finished. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - - RadAjax for ASP.NET has some limitations when running in medium trust. - To make it work you should change the base type of your pages that use radjax - from to . However DNN module - controls Inherit from Entities.Modules.PortalModuleBase and thus you cannot - simply change the page's base class. For such cases you should use the new - property RestoreOriginalRenderDelegate. By default it is true, if you work in - DNN or medium trust, you should set that to false. - - By default it is true, if you work in - DNN or medium trust, you should set that to false. - - - - Gets or sets if the ajax is enabled. If disabled - all ajaxified controls will cause postback. - - Determines if the Ajax is enabled. - - - - Enables browser back/forward buttons state (browser history). - Please, review the RadAjax "Changes and backwards compatibility" - "Back and Forward buttons" article for more info. - - - - - When set to true enables support for WAI-ARIA - - - - - Gets the response scripts which represent JavaScript code - that will be passed to the client and executed. - - The response scripts. - - - - Gets a reference to , which holds - properties for setting the client-side events - - - - - This property is overridden in order to support controls which implement INamingContainer. - The default value is changed to "AutoID". - - - - - Gets or sets if the page html head tag will be - updated during the ajax request. - - Determines if the page html head tag will be - updated during the ajax request. - - - - By design ASP.NET AJAX Framework cancels the ongoing ajax request if you try to initiate another one prior to receiving the response for the first request. - By setting the RequestQueueSize property to a value greater than zero, you are enabling the queuing mechanism of RadAjax - that will allow you to complete the ongoing request and then initiate the pending requests in the control queue. - - - If the queue is full (queue size equals RequestQueueSize), an attempt for new ajax request will be discarded. - - - The default value is 0 (queuing disabled). - - - - - Gets if the requst is ajax or full postback. - - Determines if the request is ajax; otherwise its full postback - - - - This property is overridden in order to support controls which implement INamingContainer. - The default value is changed to "AutoID". - - - - - This enumeration defines the possible positions of the RadAjaxLoadingPanel background - image. This property matters only if the Skin property is set. The default value is Center. - - - - - is one of the two major controls of the Telerik RadAjax suite. - The other one is . The control provides the easiest - way to AJAX-enable ASP.NET web control(s). To do this you simply need to place - the controls that you want ajaxified into and Telerik RadAjax takes - care of the rest. Best of all this happens transparently to the framework and the - controls that are being ajaxified. - - - - - Registers the CSS references - - - - - - - - - - - - - - - - - - - - - - - - - Returns the names of all embedded skins. Used by Telerik.Web.Examples. - - - - - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - - - - - - Gets or sets transparency in percentage. Default value is 0 percents. - - - - - Gets or sets transparency of the loading panel without affecting the icon. Default value is 0 percents. - - - - - Defines whether the transparency set in the skin will be applied. - Default value is True. - - - - - Gets or sets the z-index of the loading panel. Default value is 90,000. - - - - - Gets or sets the position of the skin background image. Default value is center. - - - - - The IsSticky property of the Loading Panel controls where - the panel will appear during the AJAX request. If this property is set to - true, the panel will appear where you have placed it on your - webform. If this property is set to false, the Loading panel will - appear on the place of the updated control(s). - By default this property is set to false. - - - - - Gets or sets a value specifying the delay in milliseconds, after which the - RadAjaxLoadingPanel will be shown. If the request returns before this time, - the RadAjaxLoadingPanel will not be shown. - - - - - Gets or sets a value that specifies the minimum time in milliseconds that the - RadAjaxLoadingPanel will last. The control will not be updated before this - period has passed even if the request returns. This will ensure more smoother interface - for your page. - - - - - Gets or sets animation duration in milliseconds. Default value is 0, i.e. no animation. - - - - - - - - - - - - - - - When set to true enables support for WAI-ARIA - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will not use any skin (backwards compatibility) - If EnableEmbeddedSkins is set to false, the control will not register a skin CSS file automatically. - - - - - - For internal use. - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets the real skin name for the control user interface. If Skin is not set, returns - an empty string, otherwise returns Skin. - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - is one of the two major controls of the Telerik RadAjax suite. - The other one is . allows - developers rapidly develop powerful and complex AJAX solutions. - - - - - Gets the current on the page. - - The current on the page. - - - - - - - - - - - - - - - - - - - - - Gets or sets the default RenderMode for the UpdatePanels. - - The default RenderMode for the UpdatePanels. - - - - Gets or sets if only the ajax initiator UpdatedControls UpdatePanel parents will be updated. - - Determines if only the ajax initiator UpdatedControls UpdatePanel parents will be updated. - - - - Gets or sets the default loading panel for every ajax setting. - - The default loading panel ID. - - - - Gets the ajax settings which sets the relationship - between ajaxified and updated controls. - - The ajax settings which sets the relationship - between ajaxified and updated controls. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RadAjax no longer allows more than one on the page. Instead, - in a complex scenario like WebUserControls or Master/ContentPages, one should - place instance on the main/master page and add a proxy control - to the user control/content page. copies the exact same - designer configuration so that one can set all the necessary - AJAX settings within the WebUserControl/ContentPage entirely through the designer. - - - - - Gets the ajax settings. - - The ajax settings. - - - - This class is required as a base class for any page that hosts a - RadAjaxManager control and runs under Medium trust privileges. - - Inheriting from RadAjaxPage is not required if you run under Full trust. - - - - Interface implemented by which - forces implementation of AttachOnRender event. - - - - - is one of the two major controls of the Telerik RadAjax suite. - The other one is . - The control provides the easiest - way to AJAX-enable ASP.NET web control(s). To do this you simply need to place - the controls that you want ajaxified into and Telerik RadAjax takes - care of the rest. Best of all this happens transparently to the framework and the - controls that are being ajaxified. - - - - - - - - - - - - - Gets or sets the ID of the RadAjaxLoadingPanel control that - will be displayed over the control during AJAX requests. - - The ID of the RadAjaxLoadingPanel control that - will be displayed over the control during AJAX requests. - - - - Gets or sets the render mode of the the RadAjaxPanel. The default value is Block. - - The render mode of the the RadAjaxPanel. The default value is Block. - - - - This property specifies the layout of the AjaxPanel. When this is set to FALSE, - the AjaxPanel contents will not be wrapped to a new line no matter how wide the control - is. - - - - - This property specifies the horizontal alignment of the RadAjaxPanel - contents. - - - - - Set class attribute to UpdatePanel that will wrap the UpdatedControl - - - - - This property specifies the image that should be displayed as background in the - AjaxPanel. If left blank, no background image is applied. - - - - - Gets a reference to , which holds - properties for setting the client-side events. - - A reference to , which holds - properties for setting the client-side events. - - - - Summary description for CalendarDayCollection. - - - - - IClientData is used to provide a standard way of generating data output from a component, - which will be processed and streamed thereafter to the client. - - - - - gets the data that is required on the client. The returned ArrayList should be processed - further and serialized as clientside array of values. - - ArrayList with the properties to serialize to the client. - - - - Adds a RadCalendarDay object to the collection of CalendarDays. - - The RadCalendarDay object to add to the collection. - - - - Returns a zero based index of a RadCalendarDay object depending on the passed index. - - The zero-based index, RadCalendarDay object or the date represented by the searched RadCalendarDay object. - A zero based index of the RadCalendarDay object in the collection, or -1 if the RadCalendarDay object is not found. - - - - Adds a RadCalendarDay object in the collection at the specified index. - - The index after which the RadCalendarDay object is inserted. - The RadCalendarDay object to insert. - - - - Deletes a RadCalendarDay object from the collection. - - The RadCalendarDay object to remove. - - - - Deletes the RadCalendarDay object from the collection at the specified index. - - The index in collection at which the RadCalendarDay object will be deleted. - - - - Removes all RadCalendarDay objects in the collection of CalendarDays. - - - - - Checks whether a specific RadCalendarDay object is in the collection of CalendarDays. - - The RadCalendarDay object to search. - True if the RadCalendarDay is found, false otherwise. - - - - Copies all elements of the Array to the specified - one-dimensional starting at the specified destination index. The - index is specified as a 32-bit integer. - - The one-dimensional that is the destination - of the elements copied from the current . - A 32-bit integer that represents the index in array at which copying begins. - - - - Copies all elements of the Array to the specified - one-dimensional . - - The one-dimensional that is the destination - of the elements copied from the current . - - - - Clones the inner . - - - - - - Clones instance. - - - - - - Reverses the order of the elements in the entire collection. - - - Please refer to for details. - - - - Copies the elements of CalendarDayCollection to a new - of elements. - - A one-dimensional of - elements containing copies of the elements of the . - Please refer to for details. - - - - Removes a range of elements from the . - - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - - - Adds the templates of the specified - collection to the end of the . - - The templates. - - - - Sorts the elements in the or a portion of it. - - - Sorts the elements in the entire - using the implementation of each element. - - - Please refer to for details. - - - - Sorts the elements in the entire - using the specified interface. - - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - Please refer to for details. - - - - Sorts the elements in the specified range - using the specified interface. - - The zero-based starting index of the range - of elements to sort. - The number of elements to sort. - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - and do not denote a - valid range of elements in the . - - is less than zero. - -or- - is less than zero. - - - Please refer to for details. - - - - Returns a RadCalendarDay object depending on the passed index. - Only integer and string indexes are valid. - - - - - Gets or sets the parent conrols. - - The parent conrols. - - - - Summary description for DayTemplatess. - - - - - Adds the specified day template to the end of the collection. - - The day template. - - - - Adds the templates of the specified collection to the end of the List. - - The day templates. - - - - Removes all objects from the instance. This method cannot be overridden. - - - - - Determines whether the is containted in the collection. - - The day template. - - - - - Indexes the of. - - The obj. - - - - - Removes the first occurrence of a specific from the . - - The day template. - - - - Removes the element at the specified index of the . - - The index. - - - - Gets the number of DayTemplate items in the collection. - - The number of DayTemplate items in the collection. - - - - Summary description for CalendarViewCollection. - - - - - Adds a CalendarView object to the collection of CalendarDays. - - The CalendarView object to add to the collection. - - - - Returns a zero based index of a CalendarView object depending on the passed index. - - The zero-based index, CalendarView object or the date represented by the searched CalendarView object. - A zero based index of the CalendarView object in the collection, or -1 if the CalendarView object is not found. - - - - Adds a CalendarView object in the collection at the specified index. - - The index after which the CalendarView object is inserted. - The CalendarView object to insert. - - - - Deletes a CalendarView object from the collection. - - The CalendarView object to remove. - - - - Deletes the CalendarView object from the collection at the specified index. - - The index in collection at which the CalendarView object will be deleted. - - - - Removes all CalendarView objects in the collection of CalendarDays. - - - - - Checks whether a specific CalendarView object is in the collection of CalendarDays. - - The CalendarView object to search. - True if the CalendarView is found, false otherwise. - - - - Copies all elements of the Array to the specified - one-dimensional starting at the specified destination index. The - index is specified as a 32-bit integer. - - The one-dimensional that is the destination - of the elements copied from the current . - A 32-bit integer that represents the index in array at which copying begins. - - - - Copies all elements of the Array to the specified - one-dimensional . - - The one-dimensional that is the destination - of the elements copied from the current . - - - - Clones the inner collection. - - - - - - Clones the instance. - - - - - - Reverses the order of the elements in the entire collection. - - - Please refer to for details. - - - - Copies the elements of CalendarViewCollection to a new - of elements. - - A one-dimensional of - elements containing copies of the elements of the . - Please refer to for details. - - - - Removes a range of elements from the . - - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - - - Adds the elements of the specified collection to the end of the . - - The collection whose elements should be added - to the end of the . - - - - Sorts the elements in the or a portion of it. - - - Sorts the elements in the entire - using the implementation of each element. - - - Please refer to for details. - - - - Sorts the elements in the entire - using the specified interface. - - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - Please refer to for details. - - - - Sorts the elements in the specified range - using the specified interface. - - The zero-based starting index of the range - of elements to sort. - The number of elements to sort. - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - and do not denote a - valid range of elements in the . - - is less than zero. - -or- - is less than zero. - - - Please refer to for details. - - - - Returns a CalendarView object depending on the passed index. - Only integer and string indexes are valid. - - - - - Gets or sets the parent(owner) calendar. - - The parent(owner) calendar. - - - - Collection containing dates of type . - - - - - Adds a DateTime object to the collection of CalendarDays. - - The RadDate object to add to the collection. - - - - Returns a zero based index of a DateTime object depending on the passed index. - - The zero-based index, DateTime object or the date represented by the searched DateTime object. - A zero based index of the DateTime object in the collection, or -1 if the DateTime object is not found. - - - - Adds a DateTime object in the collection at the specified index. - - The index after which the DateTime object is inserted. - The DateTime object to insert. - - - - Deletes a DateTime object from the collection. - - The DateTime object to remove. - - - - Deletes the DateTime object from the collection at the specified index. - - The index in collection at which the DateTime object will be deleted. - - - - Removes all DateTime objects in the collection of CalendarDays. - - - - - Checks whether a specific DateTime object is in the collection of CalendarDays. - - The DateTime object to search. - True if the DateTime is found, false otherwise. - - - - Copies all elements of the Array to the specified - one-dimensional starting at the specified destination index. The - index is specified as a 32-bit integer. - - The one-dimensional that is the destination - of the elements copied from the current . - A 32-bit integer that represents the index in array at which copying begins. - - - - Copies all elements of the Array to the specified - one-dimensional . - - The one-dimensional that is the destination - of the elements copied from the current . - - - - Copies all the elements of the current one-dimensional to the specified - one-dimensional starting at the specified destination index. The - index is specified as a 32-bit integer. - - The one-dimensional that is the destination - of the elements copied from the current . - A 32-bit integer that represents the index in array at which copying begins. - - - - Clones the inner collection. - - - - - - Clones the instance. - - - - - - Reverses the order of the elements in the entire collection. - - - Please refer to for details. - - - - Copies the elements of DateTimeCollection to a new - of elements. - - A one-dimensional of - elements containing copies of the elements of the . - Please refer to for details. - - - - Selects a range of dates from start to end date. - - The From date. - The To date. - - - - Removes a range of elements from the . - - The zero-based starting index of the range of elements to remove. - The number of elements to remove. - - - - Adds the elements of the specified collection to the end of the . - - The collection whose elements should be added - to the end of the . - - - - Sorts the elements in the or a portion of it. - - - Sorts the elements in the entire - using the implementation of each element. - - - Please refer to for details. - - - - Sorts the elements in the entire - using the specified interface. - - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - Please refer to for details. - - - - Sorts the elements in the specified range - using the specified interface. - - The zero-based starting index of the range - of elements to sort. - The number of elements to sort. - - The implementation to use when comparing elements. - -or- - A null reference to use the implementation - of each element. - - and do not denote a - valid range of elements in the . - - is less than zero. - -or- - is less than zero. - - - Please refer to for details. - - - - Returns a DateTime object depending on the passed index. - Only integer and string indexes are valid. - - - - - Gets or sets the parent conrols. - - The parent conrols. - - - - Summary description for Constants. - - - - - For internal use only. - - - - - - - Returns a that represents the current - . - - - A that represents the current . - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing - the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter - for this object, or null if there is no - for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents - the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents - the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the - editor for this object. - - An of the specified type that is the editor - for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component. - - - An that - represents the events for this component instance. - - - - - Returns the events for this instance of a component using the specified - attribute array as a filter. - - An array of type that - is used as a filter. - - An that - represents the filtered events for this component instance. - - - - - Returns the properties for this instance of a component. - - - A - that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute - array as a filter. - - An array of type that - is used as a filter. - - A - that represents the filtered properties for this component instance. - - - - - Returns an object that contains the property described by the specified - property descriptor. - - A that - represents the property whose owner is to be found. - - An that represents the owner of the specified - property. - - - - - When the - ShowColumnHeaders - and/or - ShowRowHeaders - properties are set to true, the UseRowHeadersAsSelectors property - specifies whether to use the number of the week, which overrides the used text/image - selector if any. - - - - - - When the - ShowColumnHeaders - and/or - ShowRowHeaders - properties are set to true, the UseColumnHeadersAsSelectors property specifies - whether to use the days of the week, which overrides the used text/image header if - any. - - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - - - - A string containing the path for the grid images. The default is string.Empty. - - - - - A control which ensures the date entered by the user is verified and - accurate. - - - The following example demonstrates how to dynamically add - RadDateInput to the page. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput dateInput = new RadDateInput(); - dateInput.ID = "dateInput"; - dateInput.Format = "d"; //Short date format - dateInput.Culture = new CultureInfo("en-US"); - dateInput.SelectedDate = DateTime.Now; - - DateInputPlaceholder.Controls.Add(dateInput); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim dateInput As New RadDateInput() - dateInput.ID = "dateInput" - dateInput.Format = "d" 'Short Date Format - dateInput.Culture = New CultureInfo("en-US") - dateInput.SelectedDate = DateTime.Now - - DateInputPlaceholder.Controls.Add(dateInput) - End Sub - - - - You need to set the DateFormat Property to specify the - relevant format for the date. You can also specify the culture information by - setting the Culture Property. - - - A control which ensures the date entered by the user is verified and - accurate. - - - The following example demonstrates how to dynamically add - RadDateInput to the page. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput dateInput = new RadDateInput(); - dateInput.ID = "dateInput"; - dateInput.Format = "d"; //Short date format - dateInput.Culture = new CultureInfo("en-US"); - dateInput.SelectedDate = DateTime.Now; - - DateInputPlaceholder.Controls.Add(dateInput); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim dateInput As New RadDateInput() - dateInput.ID = "dateInput" - dateInput.Format = "d" 'Short Date Format - dateInput.Culture = New CultureInfo("en-US") - dateInput.SelectedDate = DateTime.Now - - DateInputPlaceholder.Controls.Add(dateInput) - End Sub - - - - You need to set the DateFormat Property to specify the - relevant format for the date. You can also specify the culture information by - setting the Culture Property. - - - - - The RadInputControl control is the base for all Telrik RadInput controls. - , , - , , - - - - The RadInputControl control is the base for all Telrik RadInput controls. - , , - , , - - - - - Sets input focus to a RadInput. - - Use the Focus method to set the initial focus of the Web page to the - RadInput. The page will be opened in the browser with the control - selected. - The Focus method causes a call to the page focus script to be emitted on the - rendered page. If the page does not contain a control with an HTML ID attribute - that matches the control that the Focus method was invoked on, then page focus will - not be set. An example where this can occur is when you set the focus on a user - control instead of setting the focus on a child control of the user control. In - this scenario, you can use the FindControl method to find the child control of the - user control and invoke its Focus method. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - - - - - Gets or sets the single input rendering mode which renderes only two main HTML elements - on the page, instead of two or three (depending on the specific RadInput) which are - rendered in the non-single mode of the controls. - - The single input rendering mode which renderes only two main HTML elements - on the page, instead of two or three (depending on the specific RadInput) which are - rendered in the non-single mode of the controls. - - - - - Occurs after all child controls of the RadDateInput control have been created. - You can customize the control there, and add additional child controls. - - - - - Gets or sets the text of the - - - A string used as a label for the control. The default value is empty string - (""). - - - If the value of this property has not been set, a tag will not be rendered. Keep - in mind that accessibility standards require labels for all input controls. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - The following code example demonstrates how to use the Label property: -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
- <head>
- <title>RadTextBox Example </title>
-
<script runat="server">
-
-
protected void RadTextBox1_TextChanged(object sender, EventArgs e)
- {
this.RadTextBox1.Label = this.RadTextBox1.Text;
}
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- RadTextBox Example
</h3>
- <radI:RadTextBox ID="RadTextBox1" AutoPostBack="true" EmptyMessage="Type Here" Label="Default Label: " runat="server" OnTextChanged="RadTextBox1_TextChanged">
- </radI:RadTextBox>
-
</form>
</body>
</html> -
-
-
- - - Gets or sets the CSS class applied to the tag rendered along with RadInput - control. - - - A string used specifying the CSS class of the label of the control. The default - value is empty string (""). - - This property is applicable only if the Label property has been set. - - - - Gets or sets a value indicating whether an automatic post back to the server - occurs whenever the user presses the ENTER or the TAB key while in the RadInput - control. - - - Use the AutoPostBack property to specify whether an automatic post back to the - server will occur whenever the user presses the ENTER or the TAB key while in the - RadInput control. - - - true if an automatic postback occurs whenever the user presses the ENTER or the - TAB key while in the RadInput control; otherwise, false. The default is - false. - - - The following code example demonstrates how to use the AutoPostBack property - to automatically display the sum of the values entered in the RadTextBoxes when the - user presses the ENTER or the TAB key. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>RadTextBox Example </title>
-
<script runat="server">
-
protected void Page_Load(Object sender, EventArgs e)
{
int Answer;
-
// Due to a timing issue with when page validation occurs, call the
- // Validate method to ensure that the values on the page are valid.
Page.Validate();
-
// Add the values in the text boxes if the page is valid.
if(Page.IsValid)
{
Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
-
AnswerMessage.Text = Answer.ToString();
}
-
}
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
RadTextBox Example
- </h3>
<table>
<tr>
<td colspan="5">
Enter integer values into the text boxes.
- <br />
The two values are automatically added
<br />
when you tab out of the text boxes.
- <br />
</td>
</tr>
<tr>
<td colspan="5">
-
</td>
</tr>
<tr align="center">
<td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" AutoPostBack="True" Text="1" runat="server" />
</td>
<td>
- +
</td>
<td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" AutoPostBack="True" Text="1" runat="server" />
- </td>
<td>
=
</td>
<td>
<asp:Label ID="AnswerMessage" runat="server" />
- </td>
</tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
ErrorMessage="Please enter a value.<br />" EnableClientScript="False" Display="Dynamic"
- runat="server" />
<asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- EnableClientScript="False" Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
<asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" EnableClientScript="False" Display="Dynamic"
runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- EnableClientScript="False" Display="Dynamic" runat="server" />
</td>
<td>
&nbsp
</td>
</tr>
</table>
- </form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

<!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>RadTextBox Example </title>

<script runat="server">

- Protected Sub Page_Load(sender As Object, e As EventArgs)

Dim Answer As Integer

' Due to a timing issue with when page validation occurs, call the
' Validate method to ensure that the values on the page are valid.
- Page.Validate()

' Add the values in the text boxes if the page is valid.
If Page.IsValid Then

Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

- AnswerMessage.Text = Answer.ToString()

End If

End Sub
</script>

</head>
<body>
<form id="form1" runat="server">
<h3>
- RadTextBox Example
</h3>
<table>
<tr>
- <td colspan="5">
Enter Integer values into the text boxes.
- <br />
The two values are automatically added
- <br />
When you tab out of the text boxes.
- <br />
</td>
</tr>
- <tr>
<td colspan="5">

</td>
- </tr>
<tr align="center">
<td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" AutoPostBack="True" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
- <radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" AutoPostBack="True" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
- </td>
</tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" EnableClientScript="False" Display="Dynamic"
- runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- EnableClientScript="False" Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" EnableClientScript="False" Display="Dynamic"
- runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- EnableClientScript="False" Display="Dynamic" runat="server" />
- </td>
<td>
&nbsp
</td>
- </tr>
</table>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets or sets a value that indicates the AutoComplete behavior of the input control - - - One of the System.Web.UI.WebControls.AutoCompleteType enumeration values, - indicating the AutoComplete behavior for the input control. The default value is - None. - - The selected value is not one of the System.Web.UI.WebControls.AutoCompleteType enumeration values. - - To assist with data entry, Microsoft Internet Explorer 5 and later and - Netscape support a feature called AutoComplete. AutoComplete monitors a RadInput control - and creates a list of values entered by the user. When the user returns to the - input at a later time, the list is displayed. Instead of retyping a previously - entered value, the user can simply select the value from this list. Use the - AutoCompleteType property to control the behavior of the AutoComplete feature for a - RadInput control. The System.Web.UI.WebControls.AutoCompleteType enumeration is - used to represent the values that you can apply to the AutoCompleteType property. - Not all browsers support the AutoComplete feature. Check with your browser to - determine compatibility. - By default, the AutoCompleteType property for a RadInput control is set to - AutoCompleteType.None. With this setting, the RadInput control shares the list - with other RadInput controls with the same ID property across different pages. - You can also share a list between RadInput controls based on a category, instead - of an ID property. When you set the AutoCompleteType property to one of the - category values (such as AutoCompleteType.FirstName, AutoCompleteType.LastName, and - so on), all RadInput controls with the same category share the same list. You can - disable the AutoComplete feature for a RadInput control by setting the - AutoCompleteType property to AutoCompleteType.Disabled. - Refer to your browser documentation for details on configuring and enabling - the AutoComplete feature. For example, to enable the AutoComplete feature in - Internet Explorer version 5 or later, select Internet Options from the Tools menu, - and then select the Content tab. Click the AutoComplete button to view and modify - the various browser options for the AutoComplete feature. - This property cannot be set by themes or style sheet themes. - - - The following code example demonstrates how to use the AutoCompleteType - enumeration to specify the AutoComplete category for a RadInput control. This - example has a text box that accepts user input, which is a potential security - threat. By default, ASP.NET Web pages validate that user input does not include - script or HTML elements. - [C#] -
-            </%@ Page Language="C#" /%>
-
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
<head id="Head1" runat="server">
<title>AutoCompleteType example</title>
</head>
<body>
- <form id="form1" runat="server">
<!-- You need to enable the AutoComplete feature on -->
- <!-- a browser that supports it (such as Internet -->
<!-- Explorer 5.0 and later) for this sample to -->
- <!-- work. The AutoComplete lists are created after -->
<!-- the Submit button is clicked. -->
- <h3>
AutoCompleteType example</h3>
Enter values in the text boxes and click the Submit
<br />
- button.
<br />
<br />
<!-- The following TextBox controls have different -->
- <!-- categories assigned to their AutoCompleteType -->
<!-- properties. -->
- First Name:<br />
<radI:RadTextBox ID="FirstNameTextBox" AutoCompleteType="FirstName" runat="server" />
<br />
- Last Name:<br />
<radI:RadTextBox ID="LastNameTextBox" AutoCompleteType="LastName" runat="server" />
<br />
- Email:<br />
<radI:RadTextBox ID="EmailTextBox" AutoCompleteType="Email" runat="server" />
<br />
- <!-- The following TextBox controls have the same -->
<!-- categories assigned to their AutoCompleteType -->
- <!-- properties. They share the same AutoComplete -->
<!-- list. -->
Phone Line #1:<br />
- <radI:RadTextBox ID="Phone1TextBox" AutoCompleteType="HomePhone" runat="server" />
<br />
Phone Line #2:<br />
- <radI:RadTextBox ID="Phone2TextBox" AutoCompleteType="HomePhone" runat="server" />
<br />
- <!-- The following TextBox control has its -->
<!-- AutoCompleteType property set to -->
- <!-- AutoCompleteType.None. All TextBox controls -->
- <!-- with the same ID across different pages share -->
<!-- the same AutoComplete list. -->
Category:<br />
- <radI:RadTextBox ID="CategoryTextBox" AutoCompleteType="None" runat="server" />
<br />
<!-- The following TextBox control has the -->
- <!-- AutoComplete feature disabled. -->
Comments:<br />
<radI:RadTextBox ID="CommentsTextBox" AutoCompleteType="Disabled" runat="server" />
- <br />
<br />
<br />
<asp:Button ID="SubmitButton" Text="Submit" runat="Server" />
</form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head id="Head1" runat="server">
- <title>AutoCompleteType example</title>
</head>
<body>
<form id="form1" runat="server">
<!-- You need to enable the AutoComplete feature on -->
- <!-- a browser that supports it (such as Internet -->
<!-- Explorer 5.0 and later) for this sample to -->
<!-- work. The AutoComplete lists are created after -->
- <!-- the Submit button is clicked. -->
<h3>
AutoCompleteType example</h3>
Enter values in the text boxes and click the Submit
<br />
- button.
<br />
<br />
<!-- The following TextBox controls have different -->
<!-- categories assigned to their AutoCompleteType -->
- <!-- properties. -->
First Name:<br />
<radI:RadTextBox ID="FirstNameTextBox" AutoCompleteType="FirstName" runat="server" />
<br />
- Last Name:<br />
<radI:RadTextBox ID="LastNameTextBox" AutoCompleteType="LastName" runat="server" />
<br />
Email:<br />
- <radI:RadTextBox ID="EmailTextBox" AutoCompleteType="Email" runat="server" />
<br />
<!-- The following TextBox controls have the same -->
- <!-- categories assigned to their AutoCompleteType -->
<!-- properties. They share the same AutoComplete -->
<!-- list. -->
Phone Line #1:<br />
- <radI:RadTextBox ID="Phone1TextBox" AutoCompleteType="HomePhone" runat="server" />
<br />
Phone Line #2:<br />
<radI:RadTextBox ID="Phone2TextBox" AutoCompleteType="HomePhone" runat="server" />
- <br />
<!-- The following TextBox control has its -->
<!-- AutoCompleteType property set to -->
<!-- AutoCompleteType.None. All TextBox controls -->
<!-- with the same ID across different pages share -->
- <!-- the same AutoComplete list. -->
Category:<br />
<radI:RadTextBox ID="CategoryTextBox" AutoCompleteType="None" runat="server" />
<br />
<!-- The following TextBox control has the -->
- <!-- AutoComplete feature disabled. -->
Comments:<br />
<radI:RadTextBox ID="CommentsTextBox" AutoCompleteType="Disabled" runat="server" />
<br />
<br />
<br />
<asp:Button ID="SubmitButton" Text="Submit" runat="Server" />
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0
-
-
- - - Gets or sets a value indicating whether validation is performed when the - RadInput control is set to validate when a postback occurs. - - - true if validation is performed when the RadInput control is set to validate - when a postback occurs; otherwise, false. The default value is false. - - - Use the CausesValidation property to determine whether validation is - performed on both the client and the server when a RadInput control is set to - validate when a postback occurs. Page validation determines whether the input - controls associated with a validation control on the page all pass the validation - rules specified by the validation control. - By default, a RadInput control does not cause page validation when the - control loses focus. To set the RadInput control to validate when a postback - occurs, set the CausesValidation property to true and the AutoPostBack property to - true. - When the value of the CausesValidation property is set to true, you can also - use the ValidationGroup property to specify the name of the validation group for - which the RadInput control causes validation. - This property cannot be set by themes or style sheet themes. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0
-
-
- - Gets or sets the maximum number of characters allowed in the text box. - - The maximum number of characters allowed in the text box. The default is 0, which - indicates that the property is not set. - - - Use the MaxLength property to limit the number of characters that can be entered - in the RadInput control. This property cannot be set by themes or style sheet - themes. For more information, see ThemeableAttribute and Introduction to ASP.NET - Themes. - - - The following code example demonstrates how to use the MaxLength property to - limit the number of characters allowed in the RadTextBox control to 3. This example - has a RadTextBox that accepts user input, which is a potential security threat. By - default, ASP.NET Web pages validate that user input does not include script or HTML - elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>RadTextBox Example </title>
-
<script runat="server">
-
protected void AddButton_Click(Object sender, EventArgs e)
{
- int Answer;
-
Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
-
AnswerMessage.Text = Answer.ToString();
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
- <h3>
RadTextBox Example
</h3>
<table>
- <tr>
<td colspan="5">
Enter integer values into the text boxes.
- <br />
Click the Add button to add the two values.
- <br />
Click the Reset button to reset the text boxes.
- </td>
</tr>
<tr>
<td colspan="5">
- -
</td>
</tr>
<tr align="center">
- <td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
</td>
- </tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td>
- &nbsp
</td>
</tr>
<tr align="center">
- <td colspan="4">
<asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
<td>
-
</td>
</tr>
</table>
</form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
<head>
<title>RadTextBox Example </title>

<script runat="server">

- Protected Sub AddButton_Click(sender As Object, e As EventArgs)

Dim Answer As Integer

- Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

AnswerMessage.Text = Answer.ToString()
-
End Sub

</script>

</head>
<body>
<form id="form1" runat="server">
- <h3>
RadTextBox Example
</h3>
<table>
<tr>
- <td colspan="5">
Enter Integer values into the text boxes.
- <br />
Click the Add button To add the two values.
- <br />
Click the Reset button To reset the text boxes.
- </td>
</tr>
<tr>
<td colspan="5">

- </td>
</tr>
<tr align="center">
<td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
- </td>
</tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td>
&nbsp
</td>
</tr>
- <tr align="center">
<td colspan="4">
- <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
<td>

</td>
- </tr>
</table>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets or sets a value indicating whether the contents of the RadInput control - can be changed. - - - true if the contents of the RadInput control cannot be changed; otherwise, - false. The default value is false. - - - Use the ReadOnly property to specify whether the contents of the RadInput - control can be changed. Setting this property to true will prevent users from entering - a value or changing the existing value. Note that the user of the RadInput control - cannot change this property; only the developer can. The Text value of a RadInput - control with the ReadOnly property set to true is sent to the server when a postback - occurs, but the server does no processing for a read-only RadInput. This prevents a - malicious user from changing a Text value that is read-only. The value of the Text - property is preserved in the view state between postbacks unless modified by - server-side code. This property cannot be set by themes or style sheet themes. - - - The following code example demonstrates how to use the ReadOnly property to - prevent any changes to the text displayed in the RadTextBox control. This example - has a RadTextBox that accepts user input, which is a potential security threat. By - default, ASP.NET Web pages validate that user input does not include script or HTML - elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>MultiLine TextBox Example </title>
-
<script runat="server">
protected void SubmitButton_Click(Object sender, EventArgs e)
- {
-
Message.Text = "Thank you for your comment: <br />" + Comment.Text;
-
}
-
protected void Check_Change(Object sender, EventArgs e)
{
-
Comment.Wrap = WrapCheckBox.Checked;
Comment.ReadOnly = ReadOnlyCheckBox.Checked;
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- MultiLine TextBox Example
</h3>
Please enter a comment and click the submit button.
- <br />
<br />
- <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
- ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
- <hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
- </html> -
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>MultiLine RadTextBox Example </title>
-
<script runat="server">
-
Protected Sub SubmitButton_Click(sender As Object, e As EventArgs )
-
Message.Text = "Thank you for your comment: <br />" + Comment.Text
-
End Sub
-
Protected Sub Check_Change(sender As Object, e As EventArgs )
-
Comment.Wrap = WrapCheckBox.Checked
Comment.ReadOnly = ReadOnlyCheckBox.Checked
-
End Sub
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- MultiLine RadTextBox Example
</h3>
Please enter a comment and click the submit button.
- <br />
<br />
- <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
- ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
- <hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
- </html> -
-
- - This example has a text box that accepts user input, which is a potential - security threat. By default, ASP.NET Web pages validate that user input does not - include script or HTML elements. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets or sets a value message shown when the control is empty. - - A string specifying the empty message. The default value is empty string. - (""). - - - Shown when the control is empty and loses focus. You can set the empty message - text through EmptyMessage property. - - - The following code example demonstrates how to set an empty message in code - behind: - [C#] -
-            </%@ Page Language="C#" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
- <title>Untitled Page</title>
<script runat="server">
- protected void Button1_Click(object sender, EventArgs e)
{
- RadNumericTextBox1.EmptyMessage = RadNumericTextBox1.Text;
RadNumericTextBox1.Text = String.Empty;
- }
</script>
</head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="Type Here" ID="RadNumericTextBox1" runat="server">
- </radI:RadTextBox>
- <asp:Button ID="Button1" runat="server" Text="Set Empty Message" OnClick="Button1_Click" />
- </form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" /%>
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>Untitled Page</title>
<script runat="server">
- Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
- RadNumericTextBox1.EmptyMessage = RadNumericTextBox1.Text
RadNumericTextBox1.Text = String.Empty
- End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="Type Here" ID="RadNumericTextBox1" runat="server">
- </radI:RadTextBox>
<asp:Button ID="Button1" runat="server" Text="Set Empty Message" />
- </form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets or sets the selection on focus options for the RadInput control - - A Telerik.WebControls.SelectionOnFocus object that represents the selection on - focus in RadInput control. The default value is "None". - - None - CaretToBeginning - CaretToEnd - SelectAll - - - - Use this property to provide selection on focus of RadInput control. You - can set one of the following values: - - - The following example demonstrates how to set the SelectionOnFocus property - from DropDownList: -
-            </%@ Page Language="C#" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>RadTextBox selection</title>
<script runat="server">
- protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
- if (DropDownList1.SelectedValue == "CaretToBeginning")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToBeginning;
- }
else if (DropDownList1.SelectedValue == "CaretToEnd")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToEnd;
- }
else if (DropDownList1.SelectedValue == "SelectAll")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.SelectAll;
- }
}
</script>
</head>
<body>
- <form id="form1" runat="server">
<div>
- <radI:RadTextBox SelectionOnFocus="CaretToBeginning" ID="RadTextBox1" runat="server"></radI:RadTextBox>
- <br />
- <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
- <asp:ListItem Text="CaretToBeginning">CaretToBeginning</asp:ListItem>
- <asp:ListItem Text="CaretToEnd">CaretToEnd</asp:ListItem>
- <asp:ListItem Text="SelectAll">SelectAll</asp:ListItem>
- </asp:DropDownList></div>
</form>
</body>
</html> -
-
-
- - - The InvalidStyleDuration property is used to determine how long (in milliseconds) - the control will display its invalid style when incorrect data is entered. - - - - - Gets or sets an instance of the Telerik.WebControls.InputClientEvents class which defines - the JavaScript functions (client-side event handlers) that are invoked when specific client-side events are raised. - - - - - Gets or sets a value indicating whether the button is displayed in the - RadInput control. - - - true if the button is displayed; otherwise, false. The default value is true, - however this property is only examined when the ButtonTemplate property is not a null - reference (Nothing in Visual Basic). - - - Use the ShowButton property to specify whether the button is displayed in the - RadInput control. - The contents of the button are controlled by the ButtonTemplate - property. - - - The following code example demonstrates how to use the ShowButton property to - display the button in the RadInput control. -
-            </%@ Page Language="C#" /%>    
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- -
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>Untitled Page</title>
- <script language="javascript" type="text/javascript">
function Click(sender)
{
- alert("click");
}
</script>
</head>
<body>
- <form id="form1" runat="server">
- <radI:RadTextBox ShowButton="true" ID="RadNumericTextBox1" runat="server">
- <ClientEvents OnButtonClick="Click" />
<ButtonTemplate>
- <input type="button" value="click here" />
</ButtonTemplate>
- </radI:RadTextBox>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets or sets a value that indicates whether the button should be positioned left or right of the RadInput box. - - - - - Gets or sets the CSS class applied to the button. - - The CSS class applied to the button. - - - - Gets or sets the wrapper CSS class which holds the HTML input element. - - The wrapper CSS class which holds the HTML input element. - - - Gets or sets the text content of the RadInput control. - - The text displayed in the RadInput control. The default is an empty string - (""). - - - Use the Text property to specify or determine the text displayed in the - RadInput control. To limit the number of characters accepted by the control, set - the MaxLength property. If you want to prevent the text from being modified, set - the ReadOnly property. - The value of this property, when set, can be saved automatically to a - resource file by using a designer tool. - - - The following code example demonstrates how to use the Text property to - specify the text displayed in the RadTextBox control. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>RadTextBox Example </title>
-
<script runat="server">
-
-
protected void AddButton_Click(object sender, EventArgs e)
{
- int Answer;
-
Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
-
AnswerMessage.Text = Answer.ToString();
}
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- RadTextBox Example
</h3>
<table>
<tr>
- <td colspan="5">
Enter integer values into the text boxes.
- <br />
Click the Add button to add the two values.
- <br />
Click the Reset button to reset the text boxes.
- </td>
</tr>
<tr>
<td colspan="5">
-
</td>
</tr>
<tr align="center">
- <td>
<radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
- </td>
</tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td>
- &nbsp
</td>
</tr>
<tr align="center">
- <td colspan="4">
- <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
<td>
-
</td>
</tr>
</table>
</form>
</body>
- </html> -
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>RadTextBox Example </title>

<script runat="server">

- Protected Sub AddButton_Click(sender As Object, e As EventArgs)

Dim Answer As Integer

- Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

- AnswerMessage.Text = Answer.ToString()

End Sub

</script>

</head>
- <body>
<form id="form1" runat="server">
<h3>
RadTextBox Example
- </h3>
<table>
<tr>
<td colspan="5">
- Enter Integer values into the text boxes.
<br />
- Click the Add button To add the two values.
<br />
- Click the Reset button To reset the text boxes.
</td>
- </tr>
<tr>
<td colspan="5">

</td>
- </tr>
<tr align="center">
<td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
</td>
- </tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td>
&nbsp
- </td>
</tr>
<tr align="center">
<td colspan="4">
- <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
- <td>

</td>
- </tr>
</table>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets the validation text which is used when validation of the fails. - - The validation text which is used when validation of the fails. - - - - Gets or sets the display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - The display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - - - Gets or sets the group of controls for which the ra.a.d.input control causes - validation when it posts back to the server. - - - The group of controls for which the RadInput control causes validation when it - posts back to the server. The default value is an empty string (""). - - - Validation groups allow you to assign validation controls on a page to a - specific category. Each validation group can be validated independently from other - validation groups on the page. Use the ValidationGroup property to specify the name - of the validation group for which the RadInput control causes validation when it - posts back to the server. - This property has an effect only when the CausesValidation property is set to - true. When you specify a value for the ValidationGroup property, only the - validation controls that are part of the specified group are validated when the - RadInput control posts back to the server. If you do not specify a value for - this property and the CausesValidation property is set to true, all validation - controls on the page that are not assigned to a validation group are validated when - the control posts back to the server. - This property cannot be set by themes or style sheet themes. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0
-
-
- - - Set to false in order to change "display" style of the wrapper span to "none" - - - - - When set to true enables support for WAI-ARIA - - - - - Gets the style properties for RadInput when when the control is - empty. - - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for RadInput control. The default value is an empty TextBoxStyle object. - - - The following code example demonstrates how to set EmptyMessageStyle - property: -
-            </%@ Page Language="C#" /%>    
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
- </head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
- </radI:RadTextBox>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - Use this property to provide a custom style for the empty message state of - RadInput control. Common style attributes that can be adjusted include - foreground color, background color, font, and alignment within the RadInput. - Providing a different style enhances the appearance of the RadInput - control. - Empty message style properties in the RadInput control are inherited from - one style property to another through a hierarchy. For example, if you specify a - red font for the EnabledStyle property, all other style properties in the - RadInput control will also have a red font. This allows you to provide a common - appearance for the control by setting a single style property. You can override the - inherited style settings for an item style property that is higher in the hierarchy - by setting its style properties. For example, you can specify a blue font for the - FocusedStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <EmptyMessageStyle> tags between - the opening and closing tags of the RadInput control. You can then list the - style attributes within the opening <EmptyMessageStyle> tag. - -
- - - Gets the style applied to control when is read only."), - - The style applied to control when is read only."), - - - Gets the style properties for focused RadInput control. - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for focused RadInput control. The default value is an empty TextBoxStyle - object. - - - The following code example demonstrates how to set FocusedStyle - property: -
-            </%@ Page Language="C#" /%>    
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
- <title>Untitled Page</title>
</head>
<body>
- <form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
- </radI:RadTextBox>
</form>
</body>
</html> -
-
- - Use this property to provide a custom style for the focused RadInput - control. Common style attributes that can be adjusted include foreground color, - background color, font, and alignment within the RadInput. Providing a different - style enhances the appearance of the RadInput control. - Focused style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - FocusedStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <FocusedStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <FocusedStyle> tag. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets the style properties for disabled RadInput control. - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for disabled RadInput control. The default value is an empty TextBoxStyle - object. - - - The following code example demonstrates how to set - DisabledStyle property: -
-            </%@ Page Language="C#" /%>      
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
- </head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
- </radI:RadTextBox>
</form>
</body>
</html> -
-
- - Use this property to provide a custom style for the disabled RadInput - control. Common style attributes that can be adjusted include foreground color, - background color, font, and alignment within the RadInput. Providing a different - style enhances the appearance of the RadInput control. - Disabled style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - DisabledStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <DisabledStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <DisabledStyle> tag. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets the style properties for invalid state of RadInput control. - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for invalid RadInput control. The default value is an empty TextBoxStyle - object. - - - The following code example demonstrates how to set InvalidStyle - property: -
-            </%@ Page Language="C#" /%>      
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
- </head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
</radI:RadTextBox>
- </form>
</body>
</html>
-
-
- - Use this property to provide a custom style for the invalid state RadInput - control. Common style attributes that can be adjusted include foreground color, - background color, font, and alignment within the RadInput. Providing a different - style enhances the appearance of the RadInput control. - Enabled style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - InvalidStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <InvalidStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <InvalidStyle> tag. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Set to true if you like the input to be rendered in invalid state. - - - - Gets the style properties for hovered RadInput control. - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for hovered RadInput control. The default value is an empty TextBoxStyle - object. - - - The following code example demonstrates how to set HoveredStyle - property: -
-            </%@ Page Language="C#" /%>     
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
- <title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
- </radI:RadTextBox>
</form>
</body>
</html> -
-
- - Use this property to provide a custom style for the hovered RadInput - control. Common style attributes that can be adjusted include foreground color, - background color, font, and alignment within the RadInput. Providing a different - style enhances the appearance of the RadInput control. - Hovered style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - HoveredStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <HoveredStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <HoveredStyle> tag. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- Gets the style properties for enabled RadInput control. - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for enabled RadInput control. The default value is an empty TextBoxStyle - object. - - - Use this property to provide a custom style for the enabled RadInput - control. Common style attributes that can be adjusted include foreground color, - background color, font, and alignment within the RadInput. Providing a different - style enhances the appearance of the RadInput control. - Enabled style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - FocusedStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <EnabledStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <EnabledStyle> tag. - - - The following code example demonstrates how to set EnabledStyle - property: -
-            </%@ Page Language="C#" /%>    
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
- <body>
<form id="form1" runat="server">
- <radI:RadTextBox EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
- <EnabledStyle BackColor="red" />
<EmptyMessageStyle BackColor="AliceBlue" />
- <FocusedStyle BackColor="yellow" />
<HoveredStyle BackColor="blue" />
- </radI:RadTextBox>
</form>
</body>
</html> -
-
-
- - - Gets or sets the width of the Web server control. - - A that represents the - width of the control. The default is . - - The width of the Web server control - was set to a negative value. - - - - - Gets or sets width of the Label - - - - - Gets or sets whether the textbox width should include the textbox paddings and borders. - The default value is FALSE, i.e. the textbox will actually be wider than expected. - - Determines whether the textbox width should include the textbox paddings and borders. - The default value is FALSE, i.e. the textbox will actually be wider than expected. - - - - Gets or sets whether the textbox width should be recalculated and reset in pixels on the client. - This prevents textbox expansion in Internet Explorer if the textbox content is too long, but can - cause unexpected side effects, depending on the particular scenario. The default value is TRUE. - - The textbox width should be recalculated and reset in pixels on the client. - This prevents textbox expansion in Internet Explorer if the textbox content is too long, but can - cause unexpected side effects, depending on the particular scenario. The default value is TRUE. - - - - Gets or sets the height of the Web server control. - - A that represents the - height of the control. The default is . - - The height was set to a negative - value. - - - - Gets or sets the access key that allows you to quickly navigate to the - Web server control. - The access key for quick navigation to the Web server control. The default - value is , which indicates that this property - is not set. - The specified access key - is neither null, nor a single character string. - - - - - Gets or sets the background color of the Web server control. - - A that represents the background - color of the control. The default is , - which indicates that this property is not set. - - - - - Gets or sets the border color of the Web control. - - A that represents the border color - of the control. The default is , which - indicates that this property is not set. - - - - Gets or sets the border style of the Web server control. - One of the enumeration - values. The default is NotSet. - - - - Gets or sets the border width of the Web server control. - - A that represents the - border width of a Web server control. The default value is , - which indicates that this property is not set. - The specified border width is a - negative value. - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - The CSS class rendered by the Web server control on the client. The - default is . - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - true if the control is visible on the page; otherwise false. - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - Gets or sets a value indicating whether themes apply to this control. - - true to use themes; otherwise, false. The default is false. - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - Gets or sets the tab index of the Web server control. - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - Gets or sets the skin name for the control user interface. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - A string containing the skin name for the control user interface. The default is string.Empty. - - - - - Gets or sets the skin to apply to the control. - - The name of the skin to apply to the control. The default is . - - The style sheet has already - been applied.- or -The Page_PreInit event has already occurred.- or -The control - was already added to the Controls collection. - - - - Gets control that contains the buttons of RadInput control - The ShowButton or ShowSpinButton properties must be set to true - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Interface implemented by which is part of the - , , controls. - - - - - Clears the selected date of the RadDateInput control and displays a blank date. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value that indicates the end of the century that is used to interpret - the year value when a short year (single-digit or two-digit year) is entered in the input. - - - The year when the century ends. Default is 2029. - - - Having a value of 2029 indicates that a short year will be interpreted as a year between 1930 and 2029. - For example 55 will be interpreted as 1955 but 12 -- as 2012 - - - - - Gets a value that indicates the start of the century that is used to interpret - the year value when a short year (single-digit or two-digit year) is entered in the input. - - - The year when the century starts. Default is 2029. - - - Having a value of 2029 indicates that a short year will be interpreted as a year between 1930 and 2029. - For example 55 will be interpreted as 1955 but 12 -- as 2012 - - - - - Gets the settings associated with - increment settings determining the behavior when using the mouse wheel and keyboard arrow keys. - - The settings associated with - increment settings determining the behavior when using the mouse wheel and keyboard arrow keys. - - - - Gets or sets the display date format used by - RadDateInput.(Visible when the control is not on focus.) - - - You can examine DateTimeFormatInfo class for a list of all - available format characters and patterns. - - - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput1.DisplayDateFormat = "M/d/yyyy"; //Short date pattern. The same as "d". - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateInput1.DisplayDateFormat = "M/d/yyyy" 'Short date pattern. The same as "d". - End Sub - - - - A string specifying the display date format used by RadDateInput. The default - value is "d" (short date format). If the DisplayDateFormat is left - blank, the DateFormat will be used both for editing and - display. - - - - - Gets or sets the date and time format used by - RadDateInput. - - - A string specifying the date format used by RadDateInput. The - default value is "d" (short date format). - - - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput1.DateFormat = "M/d/yyyy"; //Short date pattern. The same as "d". - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateInput1.DateFormat = "M/d/yyyy" 'Short date pattern. The same as "d". - End Sub - - - - - - Gets or sets the text content of a control. - - The text content of a control. - - - - - Gets the invalid date string in the control's textbox - - - - Gets or sets the date content of RadDateInput. - - A DateTime object that represents the selected - date. The default value is MinDate. - - - The following example demonstrates how to use the SelectedDate - property to set the content of RadDateInput. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput1.SelectedDate = DateTime.Now; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateInput1.SelectedDate = DateTime.Now - End Sub - - - - - - Gets or sets if the server-side min/max date validation. - - The server-side min/max date validation - - - - Gets or sets the date content of RadDateInput in a - database-friendly way. - - - A DateTime object that represents the selected - date. The default value is MinDate. - - - The following example demonstrates how to use the SelectedDate - property to set the content of RadDateInput. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput1.DbSelectedDate = tableRow["BirthDate"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateInput1.DbSelectedDate = tableRow("BirthDate") - End Sub - - - - This property behaves exactly like the SelectedDate property. - The only difference is that it will not throw an exception if the new value is null or - DBNull. Setting a null value will revert the selected date to the MinDate value. - - - - - Gets or sets the culture used by RadDateInput to format the - date. - - - A CultureInfo object that - represents the current culture used. The default value is - System.Threading.Thread.CurrentThread.CurrentUICulture. - - - The following example demonstrates how to use the Culture - property. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateInput1.Culture = new CultureInfo("en-US"); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateInput1.Culture = New CultureInfo("en-US") - End Sub - - - - - - Gets or sets the smallest date value allowed by - RadDateInput. - - - A DateTime object that represents the smallest - date value by RadDateInput. The default value is 1/1/1980. - - - - - Gets or sets the largest date value allowed by - RadDateInput. - - - A DateTime object that represents the largest - date value allowed by RadDateInput. The default value is - 12/31/2099. - - - - - Gets or sets the selection on focus options for the RadInput control - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - Use this property to provide selection on focus of RadInput control. You - can set one of the following values: - - - The following example demonstrates how to set the SelectionOnFocus property - from DropDownList: -
-            </%@ Page Language="C#" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>RadTextBox selection</title>
<script runat="server">
- protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
- if (DropDownList1.SelectedValue == "CaretToBeginning")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToBeginning;
- }
else if (DropDownList1.SelectedValue == "CaretToEnd")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToEnd;
- }
else if (DropDownList1.SelectedValue == "SelectAll")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.SelectAll;
- }
}
</script>
</head>
<body>
- <form id="form1" runat="server">
<div>
- <radI:RadTextBox SelectionOnFocus="CaretToBeginning" ID="RadTextBox1" runat="server"></radI:RadTextBox>
- <br />
- <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
- <asp:ListItem Text="CaretToBeginning">CaretToBeginning</asp:ListItem>
- <asp:ListItem Text="CaretToEnd">CaretToEnd</asp:ListItem>
- <asp:ListItem Text="SelectAll">SelectAll</asp:ListItem>
- </asp:DropDownList></div>
</form>
</body>
</html> -
-
- - A Telerik.WebControls.SelectionOnFocus object that represents the selection on - focus in RadInput control. The default value is "None". - - None - CaretToBeginning - CaretToEnd - SelectAll - - -
- - Used to determine if RadDateInput is empty. - - true if the date is empty; otherwise false. - - - - - Gets or sets the display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - - The display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - - - - Gets or sets the JavaScript event handler fired whenever the date of - RadDateInput changes. - - - A string specifying the name of the JavaScript event handling routine. The - default value is empty string (""). - - - The event handler function is called with 2 parameters: - - A reference to the RadDateInput object, which triggered - the event; - - An event arguments object that contains the following properties: -
    -
  • OldDate - The old date of the - RadDateInput
  • -
  • NewDate - The new date of the - RadDateInput
  • -
-
-
-
- - This example demonstrates the usage of the - OnClientDateChanged property. -
-            <script type="text/javascript&quot>
function onDateChange(dateInput, args)
{
alert("New date:" + args.NewDate);
}
</script>
-
<radI:RadDateInput
ID="RadDateInput1"
runat="server"
OnClientDateChanged="onDateChange">
</radI:RadDateInput> -
-
-
- - - Summary description for AutoPostBackControl. - - - - - Without AutoPostBack - - 0 - - - - Automatically postback to the server after the Date or Time is modified. - - 1 - - - - Automatically postback to the server after the Time is modified. - - 2 - - - - Automatically postback to the server after the Date is modified. - - 3 - - - - Internal enumeration used by the component - - - - Specifies the type of a selector sell. - - - - Rendered as the first cell in a row. When clicked if UseRowHeadersAsSelectors is true, - it will select the entire row. - - - - - Rendered as the first cell in a column. When clicked if UseColumnHeadersAsSelectors is true, - it will select the entire column. - - - - - Rendered in the top left corner of the calendar view. When clicked if EnableViewSelector is true, - it will select the entire view. - - - - - Summary description for MonthLayout. - Layout_7columns_x_6rows - horizontal layout - Layout_14columns_x_3rows - horizontal layout - Layout_21columns_x_2rows - horizontal layout - Layout_7rows_x_6columns - vertical layout, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - Layout_14rows_x_3columns - vertical layout, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - Layout_21rows_x_2columns - vertical layout, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - - - - - Allows the calendar to display the days in a 7 by 6 matrix. - - 1 - - - - Alows the calendar to display the days in a 14 by 3 matrix. - - 2 - - - - Allows the calendar to display the days in a 21 by 2 matrix. - - 4 - - - - Allows the calendar to display the days in a 7 by 6 matrix, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - - 8 - - - - Allows the calendar to display the days in a 14 by 3 matrix, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - - 16 - - - - Allows the calendar to display the days in a 21 by 2 matrix, required when UseColumnHeadersAsSelectors is true and Orientation is set to RenderInColumns. - - 32 - - - - Summary description for Orientation. - RenderInRows - Renders the calendar data row after row. - RenderInColumns - Renders the calendar data column after column. - None - Enforces fallback to the default Orientation for Telerik RadCalendar. - - - - - Renders the calendar data row after row. - - 1 - - - - RenderInColumns - Renders the calendar data column after column. - - 3 - - - - Describes how RadCalendar will handle its layout, and how will - react to user interaction. Interactive - user is allowed to select dates, navigate, - etc. Preview - does not allow user interaction, for presentation purposes only. - - - - - Interactive - user is allowed to select dates, navigate, etc. - - 1 - - - - Preview - does not allow user interaction, for presentation purposes only. - - 2 - - - - Summary description for RecurringEvents. - DayInMonth - Only the day part of the date is taken into account. That gives the ability to serve events repeated every month on the same day. - DayAndMonth - The month and the day part of the date is taken into account. That gives the ability to serve events repeated in a specific month on the same day. - Today - gives the ability to control the visual appearace of today's date. - None - Default value, means that the day in question is a single point event, no recurrences. - - - - - Only the day part of the date is taken into account. That gives the ability to serve events repeated every month on the same day. - - 1 - - - - The month and the day part of the date are taken into account. That gives the ability to serve events repeated in a specific month on the same day. - - 2 - - - - The week day is taken into account. That gives the ability to serve events repeated in a specific day of the week. - - 4 - - - - The week day and the month are taken into account. That gives the ability to serve events repeated in a specific week day in a specific month. - - 8 - - - - Gives the ability to control the visual appearace of today's date. - - 16 - - - - The week number, the weekday (Mon, Tue, etc.) and the month are taken into account. That gives the ability to serve public holiday events - repeated each year (e.g. Martin Luther King Jr. Day is observed on the third Monday of January each year - so you would specify as a date Jan 21st, 2008 (or Jan 19th, 2009 -- it would have the same effect). - - 32 - - - - Default value, means that the day in question is a single point event, no recurrence. - - 64 - - - Specifies the type of a selector sell. - - - - Rendered as the first cell in a row. When clicked, it will select the entire - row. - - - - - Rendered as the first cell in a column. When clicked, it will select the entire - column. - - - - - Rendered in the top left corner of the calendar view. When clicked, it will - select the entire view. - - - - - Defines the JavaScript functions (client-side event handlers) that are invoked - when specific client-side event is raised. - - - - - This class implements the PropertyBag "enabled" base object class, from which all other - classes in Telerik RadCalendar descend, excluding those that are descendents of PropertiesControl. - - - - - Event fired after the RadCalendar client object has been completely initialized. - - - - - The event is fired immediately after the page onload event. - - - - - Event fired when a valid date is being selected. - Return false to cancel selection. - - - - - Event fired after a valid date has been selected. Can be used in combination with - OnDateClick for maximum convenience. This event can be used to conditionally process the - selected date or any related event with it on the client. - - - - - Event fired when a calendar cell, representing a date is clicked. This event is not the same as - OnDateSelected. One can have an OnDateClick event for a disabled or read only calendar - cell which does not allow.s OnDateSelected event to be fired. - This event can be used to conditionally process some information/event based on the clicked - date. - Return false to cancel the click event. - - - - - Event fired when a calendar row header is clicked. This event is not the same as - OnDateClick. One can have an OnRowHeaderClick event for a disabled or read only calendar - cell which does not allow to select calendar dates. - This event can be used to conditionally process some information/event based on the clicked - row header. - Return false to cancel the click event. - - - - - Event fired when a calendar column header is clicked. This event is not the same as - OnDateClick. One can have an OnColumnHeaderClick event for a disabled or read only calendar - cell which does not allow selection of calendar dates. - This event can be used to conditionally process some information/event based on the clicked - column header. - Return false to cancel the click event. - - - - - Event fired when a calendar view selector is clicked. This event is not the same as - OnDateClick. One can have an OnViewSelectorClick event for a disabled or read only calendar - cell which does not allow selection of calendar cell. - This event can be used to conditionally process some information/event based on the clicked - view selector. - Return false to cancel the click event. - - - - - Event fired when the calendar view is about to change. - Return false to cancel the event. - - - - - Event fired when the calendar view has changed. Generally - the event is raised as a result of using the built-in navigation controls. Event is - raised before the results are rendered, so that custom logic could be executed, and the - change could be prevented if necessary. There is no way to find whether the operation - was accomplished successfully. This event can be used to preprocess some conditions or - visual styles/content before the final rendering of the calendar. Return false to - cancel the event. - - - - - Event fired for every calendar day cell when the calendar is rendered as a result of a client-side navigation (i.e. only in OperationType="Client"). - This event mimics the server-side DayRender event -- gives final control over the output of a specific calendar cell. - This event can be used to apply final changes to the output (content and visial styles) just before the content is displayed. - - - - - Summary description for DatePickerClientEvents. - - - - - - Gets or sets the name of the client-side event handler that is executed whenever - the selected date of the datepicker is changed. - - -
-            [ASPX/ASCX]
-            
-
-            <script type="text/javascript" >
function DatePicker_OnDateSelected(pickerInstance, args)
{
alert("The picker date has been chanded from " + args.OldDate + " to " + args.NewDate);
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server" >
<ClientEvents OnDateSelected="DatePicker_OnDateSelected" />
</radCln:RadDatePicker> -
-
- -
- - - Gets or sets the name of the client-side event handler that is executed prior to - opening the calendar popup and its synchronizing with the DateInput value. - - - There can be some conditions you do want not to open the calendar popup on - click of the popup button. Then you should cancel the event either by return - false; or set its argument args.CancelOpen = true; -
-            <script type="text/javascript">
function Opening(sender, args)
{
args.CancelOpen = true;
//or
return false;
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupOpening="Opening"/>
</radCln:RadDatePicker> -
- Set the args.CancelSynchronize = true; to override the default - DatePicker behavior of synchronizing the date in the DateInput and Calendar - controls. This is useful for focusing the Calendar control on a date different from - the DateInput one. -
-            <script type="text/javascript">
function Opening(sender, args)
{
args.CancelCalendarSynchronize = true;
sender.Calendar.NavigateToDate([2006,12,19]);
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server" >
<ClientEvents OnPopupOpening="Opening"/>
</radCln:RadDatePicker> -
-
- -
-            [ASPX/ASCX]        
-            
-
-            <script type="text/javascript">
function OnPopupOpening(datepickerInstance, args)
{
......
}
</script>

<radcln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupOpening="OnPopupOpening" />
</radcln:RadDatePicker> -
-
-
- - - Gets or sets the name of the client-side event handler that is executed prior to - closing the calendar popup. - - -
-            [ASPX/ASCX]        
-            
-
-            <script type="text/javascript">
function OnPopupClosing(datepickerInstance, args)
{
......
}
</script>

<radcln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupClosing="OnPopupClosing" />
</radcln:RadDatePicker> -
-
- - There can be some conditions you do want not to close the calendar popup on - click over it. Then you should cancel the event either by return false; or - set its argument args.CancelClose = true; -
-            <script type="text/javascript">
function Closing(sender, args)
{
args.CancelClose = true;
//or
return false;
}
</script>
<radCln:RadDatePicker ID="RadDatePicker1" runat="server">
<ClientEvents OnPopupClosing="Closing"/>
</radCln:RadDatePicker> -
-
-
- - - Arguments class used with the DayRender event. - - - - - Gets a reference to the TableCell object that represents the specified day to render. - - - - - Gets a reference to the RadCalendarDay object that represents the specified day to render. - - - - - Gets a reference to the MonthView object that represents the current View, corresponding to the specified day to render. - - - - - Arguments class used when the DefaultViewChanged event is fired. - - - - - Gets the CalendarView instance that was the default one prior to the rise of DefaultViewChanged - event. - - - - - Gets the new default CalendarView instance set by the DefaultViewChanged event. - - - - - Arguments class used with the DayRender event. - - - - - Gets a reference to the TableCell object that represents the specified day to render. - - - - - Gets a reference to the RadCalendarDay object that represents the specified day to render. - - - - - Provides data for the SelectedDateChanged event of the DatePicker control. - - - - - Gets the previously selected date. - - The previously selected date. - - - - Gets the newly selected date. - - The newly selected date. - - - - Arguments class used when the SelectionChanged event is fired. - - - - - Gets a reference to the SelectedDates collection, represented by the Telerik RadCalendar component - that rise the SelectionChanged event. - - - - - Event arguments passed when fires events - like ItemCreated and ItemDataBound. - - - - - Gets the associated with the event. - - The associated with the event. - - - - - - - - Returns an - object for the object. - - - An object for - the object. - - - - - - - - - Deletes the item with the specified key from the collection. - - The key of the item. - - - - Removes all elements from the - object. - - The - object is read-only. - - - - - - - - - - - - - - - - Summary description for PropertyItem. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrapper class for System.DateTime, which allows implementing persistable DateTime collections - like DateTimeCollection. - - - - - - - - - The System.DateTime represented by this RadDate wrapper class. - - - - - Enumeration determining where a popup - - - - - RadDatePicker class - - - A control with an integrated control to let - users either enter the date and time value directly in the input area or select it - from a popup calendar. The values of the two controls are synchronized to allow - further change of the chosen date. - - - - - Override this method to provide any last minute configuration changes. Make sure you call the base implementation. - - - - - Override this method to provide any last minute configuration changes. Make sure you call the base implementation. - - - - - - - - - Sets input focus to a control. - - - - - Clears the selected date of the RadDatePicker control and displays a blank date. - - - - IPostBackDataHandler implementation - - - - Gets or sets the skin name for the control user interface. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - A string containing the skin name for the control user interface. The default is string.Empty. - - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - A string containing the path for the grid images. The default is string.Empty. - - - - - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - - Occurs after all child controls of the DatePicker control have been created. - You can customize the control there, and add additional child controls. - - - - - Occurs when the selected date of the DatePicker changes between posts to the server. - - - - - Gets the RadCalendar instance of the datepicker control. - - - - - Gets the RadDateInput instance of the datepicker control. - - - - - Gets the DatePopupButton instance of the datepicker control. - You can use the object to customize the popup button's appearance and behavior. - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make RadDatePicker postback to the server - on date selection through the Calendar or the DateInput components. - - - The default value is false. - - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - - Gets or sets the title attribute for the hidden field. - - - The default value is "Visually hidden input created for functionality purposes.". - - - - - Gets or sets summary attribute for the table which wrappes the RadDatePicker controls. - - - Setting this property to empty string will force Telerik RadDatePicker to not render summary tag. - - - The default value is "Table holding date picker control for selection of dates.". - - - - - Gets or sets the caption for the table which wrappes the RadDatePicker controls. - - - Setting this property to empty string will force Telerik RadDatePicker to not render caption tag. - - - The default value is "RadDatePicker". - - - - Gets or sets the direction in which the popup Calendar is displayed, - with relation to the DatePicker control. - - - Gets or sets whether the screen boundaries should be taken into consideration - when the Calendar or TimeView are displayed. - - - Gets or sets the z-index style of the control's popups - - - Gets or sets whether popup shadows will appear. - - - Gets or sets the date content of RadDatePicker. - - A DateTime object that represents the selected - date. The default value is MinDate. - - - The following example demonstrates how to use the SelectedDate - property to set the content of RadDatePicker. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDatePicker1.SelectedDate = DateTime.Now; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDatePicker1.SelectedDate = DateTime.Now - End Sub - - - - - - Gets or sets if the server-side min/max date validation. - - Determines if the server-side min/max date validation. - - - - This property is used by the RadDateInput's internals only. It is subject to - change in the future versions. Please do not use. - - - - - Gets the invalid date string in the control's textbox - - - - Gets or sets the date content of RadDatePicker in a database friendly way. - - A DateTime object that represents the selected - date. The default value is null (Nothing in VB). - - - The following example demonstrates how to use the DbSelectedDate - property to set the content of RadDatePicker. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDatePicker1.DbSelectedDate = tableRow["BirthDate"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDatePicker1.DbSelectedDate = tableRow("BirthDate") - End Sub - - - - This property behaves exactly like the SelectedDate property. The only difference - is that it will not throw an exception if the new value is null or DBNull. Setting a - null value will internally revert the SelectedDate to the null value, i.e. the input value will be empty. - - - - - Used to determine if RadDatePicker is empty. - - - true if the date is empty; otherwise false. - - - - - Enables or disables typing in the date input box. - - - true if the user should be able to select a date by typing in the date input box; otherwise - false. The default value is true. - - - - - Gets or sets whether the popup control (Calendar or TimeView) is displayed when the DateInput textbox is focused. - - - The default value is false. - - - - - Gets or sets the minimal range date for selection. - Selecting a date earlier than that will not be allowed. - - - This property has a default value of 1/1/1980 - - - - - Gets or sets the latest valid date for selection. - Selecting a date later than that will not be allowed. - - - This property has a default value of 12/31/2099 - - - - Gets or sets the culture used by RadDatePicker to format the date. - - A CultureInfo object that represents the current culture used. The default value is System.Threading.Thread.CurrentThread.CurrentUICulture. - - - The following example demonstrates how to use the Culture - property. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDatePicker1.Culture = new CultureInfo("en-US"); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDatePicker1.Culture = New CultureInfo("en-US") - End Sub - - - - - - Gets or sets the ID of the calendar that will be used for picking dates. This - property allows you to configure several datepickers to use a single RadCalendar - instance. - - - RadDatePicker will look for the RadCalendar instance in a way similar to how - ASP.NET validators work. It will not go beyond the current naming container which - means that you will not be able to configure a calendar that is inside a control in - another naming container. You can still share a calendar, but you will have to pass - a direct object reference via the SharedCalendar - property. - - The string ID of the RadCalendar control if set; otherwise String.Empty. - - - - Gets or sets the reference to the calendar that will be used for picking dates. - This property allows you to configure several datepickers to use a single RadCalendar - instance. - - The RadCalendar instance if set; otherwise null; - - This property is not accessible from the VS.NET designer and you will have to - set it from the code-behind. It should be used when the shared calendar instance is - in another naming container or is created dynamically at runtime. - - - - - Gets or sets the date that the - Calendar uses for - focusing itself whenever the - RadDateInput component of - the RadDatePicker is - empty. - - - - - Sets the render mode of the RadDatePicker and its child controls - - - - - Gets or sets the width of the datepicker in pixels. - - - - - Gets the settings asociated with showing the its popup controls. - - The settings asociated with showing the its popup controls. - - - - Gets the settings asociated with hiding the its popup controls. - - The settings asociated with hiding the its popup controls. - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets an instance of - DatePickerClientEvents - class which defines the JavaScript functions (client-side event handlers) that are - invoked when specific client-side events are raised. - - - - - A control with an integrated - control and an integrated control. This combines the - features of and in a - single control for selecting both a date and a time value. - - - A control in time only mode with an integrated - control to let users enter a time directly in the - input area or select it from the popup time view control. The values of the - two controls are synchronized to allow further change of the chosen time. - - - - - Gets or sets the skin name for the control user interface. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - A string containing the skin name for the control user interface. The default is string.Empty. - - - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - - - - A string containing the path for the grid images. The default is string.Empty. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - - This property is used by the RadDateTimeInput's internals only. It is subject to - change in the future versions. Please do not use. - - - - - Gets the RadTimeView instance of the datetimepicker control. - - - - - Gets the TimePopupButton instance of the RadDateTimeView - control. - - - You can use the object to customize the popup button's appearance and - behavior. - - - - - Gets or sets a value indicating whether a postback to the server - automatically occurs when the user interacts with the control. - - The default value is false. - - Setting this property to true will make RadDateTimePicker postback to the server - on date selection through the Calendar and Time popups or the DateInput - components. - - - - - Gets or sets the culture used by RadDateTimePicker to format the date and time - value. - - - A CultureInfo object that - represents the current culture used. The default value is - System.Threading.Thread.CurrentThread.CurrentUICulture. - - - The following example demonstrates how to use the Culture - property. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDateTimePicker1.Culture = new CultureInfo("en-US"); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDateTimePicker1.Culture = New CultureInfo("en-US") - End Sub - - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the list selection. - - The default value is None - - Set this to Both, TimeView or Calendar if the server needs to capture the - selection changed event. - This property is effective only for RadDateTimePicker; for RadTimePicker use the AutoPostBack property. - - - - - Gets or sets the ID of the timeview that will be used for picking time. This - property allows you to configure several datetimepickers to use a single RadTimeView - instance. - - - RadDateTimePicker will look for the RadTimeView instance in a way similar to how - ASP.NET validators work. It will not go beyond the current naming container which - means that you will not be able to configure a timeview that is inside a control in - another naming container. You can still share a timeview, but you will have to pass - a direct object reference via the SharedTimeView - property. - - The string ID of the RadTimeView if set; otherwise String.Empty. - - - - Gets or sets the reference to the timeview that will be used for picking time. - This property allows you to configure several datetimepickers to use a single RadTimeView - instance. - - The RadTimeView instance if set; otherwise null; - - This property is not accessible from the VS.NET designer and you will have to - set it from the code-behind. It should be used when the shared timeview instance is - in another naming container or is created dynamically at runtime. - - - - - Occurs when an item is data bound to the RadTimeView - control. - - - The ItemDataBound event is raised after an item is data - bound to the RadTimeView control. This event provides you with the - last opportunity to access the data item before it is displayed on the client. - After this event is raised, the data item is no longer available. - - - [ASPX] - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
-
- <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %>
-
- <!DOCTYPE html PUBLIC - "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>Untitled Page</title>
- </head>
- <body>
- <form id="form1" - runat="server">
- <div>
- <radCln:RadTimePicker
- OnItemDataBound=
- "RadTimePicker1_ItemDataBound"
- ID="RadTimePicker1"
- runat="server">
- </radCln:RadTimePicker>
- </div>
- </form>
- </body>
- </html>
- - using System; - using System.Data; - using System.Configuration; - using System.Web; - using System.Web.Security; - using System.Web.UI; - using System.Web.UI.WebControls; - using System.Web.UI.WebControls.WebParts; - using System.Web.UI.HtmlControls; - - public partial class _Default : System.Web.UI.Page - { - protected void RadTimePicker1_ItemDataBound(object sender, Telerik.WebControls.Base.Calendar.Events.TimePickerEventArgs e) - { - if (e.Item.ItemType == ListItemType.AlternatingItem) - { - e.Item.Controls.Add(new LiteralControl("AlternatingItem")); - } - } - } - - - Imports System - Imports System.Data - Imports System.Configuration - Imports System.Web - Imports System.Web.Security - Imports System.Web.UI - Imports System.Web.UI.WebControls - Imports System.Web.UI.WebControls.WebParts - Imports System.Web.UI.HtmlControls - Public Class _Default - Inherits System.Web.UI.Page - - Protected Sub RadTimePicker1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.WebControls.Base.Calendar.Events.TimePickerEventArgs) - If (e.Item.ItemType = ListItemType.AlternatingItem) Then - e.Item.Controls.Add(New LiteralControl("AlternatingItem")) - End If - End Sub - End Class - -
-
- - - Occurs on the server when an item in the RadTimeView control is - created. - - - The ItemCreated event is raised when an item in the - RadTimeView control is created, both during round-trips and at the - time data is bound to the control. - The ItemCreated event is commonly used to control the - content and appearance of a row in the RadTimeView control. - - - The following code example demonstrates how to - specify and code a handler for the ItemCreated event to set the CSS styles on the - RadTimeView. - [ASPX] - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
-
- <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %>
-
- <!DOCTYPE html PUBLIC - "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>Untitled Page</title>
- <style type="text/css">
- .TimeCss
- {
- background-color: Red;
- }
- .AlternatingTimeCss
- {
- background-color: Yellow;
- }
- </style>
- </head>
- <body>
- <form id="form1" - runat="server">
- <div>
- <radCln:RadTimePicker
- OnItemCreated=
- "RadTimePicker1_ItemCreated"
- ID="RadTimePicker1"
- runat="server">
- </radCln:RadTimePicker>
- </div>
- </form>
- </body>
- </html>
- - protected void RadTimePicker1_ItemCreated(object sender, Telerik.WebControls.Base.Calendar.Events.TimePickerEventArgs e) - { - if (e.Item.ItemType == ListItemType.Item) - { - e.Item.CssClass = "TimeCss"; - } - - if (e.Item.ItemType == ListItemType.AlternatingItem) - { - e.Item.CssClass = "AlternatingTimeCss"; - } - } - - - Protected Sub RadTimePicker1_ItemCreated(sender As Object, e As Telerik.WebControls.Base.Calendar.Events.TimePickerEventArgs) - If e.Item.ItemType = ListItemType.Item Then - e.Item.CssClass = "TimeCss" - End If - - If e.Item.ItemType = ListItemType.AlternatingItem Then - e.Item.CssClass = "AlternatingTimeCss" - End If - End Sub 'RadTimePicker1_ItemCreated - -
-
- - - A control in time only mode with an integrated - control to let users enter a time directly in the - input area or select it from the popup time view control. The values of the - two controls are synchronized to allow further change of the chosen time. - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make RadTimePicker postback to the server - on time selection through the TimeView or the DateInput components. - - - The default value is false. - - - - - Gets or sets a value indicating whether a postback to the server automatically - occurs when the user changes the list selection. - - - Set this to Both, TimeView or Calendar if the server needs to capture the - selection changed event. - This property is effective only for RadDateTimePicker; for RadTimePicker use the AutoPostBack property. - - The default value is None - - - Gets or set if TimeSpan object should be used for returning value of DbSelectedDate. - - Set to True if you want DbSelectedDate to return TimeSpan object. - Set to False(the default value) if you want the DbSelectedDate to return DateTime object. - - - - - Gets or sets the date content of RadTimePicker in a database friendly way. - - A DateTime object that represents the selected - date. The default value is null (Nothing in VB). - - - The following example demonstrates how to use the DbSelectedDate - property to set the content of RadDatePicker. - - private void Page_Load(object sender, System.EventArgs e) - { - RadDatePicker1.DbSelectedDate = tableRow["TimeOfDay"]; - //or - RadDatePicker1.DbSelectedDate = tableRow["DateAndTime"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadDatePicker1.DbSelectedDate = tableRow("TimeOfDay") - 'or - RadDatePicker1.DbSelectedDate = tableRow("DateAndTime") - End Sub - - - - This property behaves simmilar to SelectedDate property or to SelectedTime property, - depending on UseTimeSpanForBinding is se to true or false. - Setting a null value will internally revert the SelectedDate to the null value, i.e. the input value will be empty. - - - - - Gets or sets the time of the dat in the selected date of RadTimePicker using TimeSpan object. - - Use values between 00:00:00 and 23:59:59 to specify the time of the day - - - If you set SelectedTime to 'null' then the SelectedDate will also become 'null'. - - - - - - The RadTimeView control works only as a popup embedded in a or control. - The main reason to add a RadTimeView control from the toolbox to the Web page is when using it as a shared popup control. - - - The RadTimeView control works only as a popup embedded in a or control. - The main reason to add a RadTimeView control from the toolbox to the Web page is when using it as a shared popup control. - - - - - Binds a data source to the invoked server control and all its child - controls. - - - - - Restores view-state information from a previous page request that was saved by the SaveViewState method. - - The saved view state. - - - - Saves any server control view-state changes that have occurred since the time the page was posted back to the server. - - The saved view state. - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing - the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter - for this object, or null if there is no - for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents - the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents - the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the - editor for this object. - - An of the specified type that is the editor - for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component. - - - An that - represents the events for this component instance. - - - - - Returns the events for this instance of a component using the specified - attribute array as a filter. - - An array of type that - is used as a filter. - - An that - represents the filtered events for this component instance. - - - - - Returns the properties for this instance of a component. - - - A - that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute - array as a filter. - - An array of type that - is used as a filter. - - A - that represents the filtered properties for this component instance. - - - - - Returns an object that contains the property described by the specified - property descriptor. - - A that - represents the property whose owner is to be found. - - An that represents the owner of the specified - property. - - - - Gets a data bound list control that displays items using templates. - - - - Gets or sets DataList ReapeatDirection - - - - - Gets or sets the custom time values to be displayed in the time picker - - Allowed objects are: array of strings, array of DateTime objects, array of TimeSpan values; - Allowed values should fall between 00:00:00 and 23:59:59 to specify the time of the day - - - - - - Gets or sets a value indicating whether the TimeView should use client time zone offset for the values bound to a custom collection. - - - Setting this property to true will make the timeview to convert its values from UTC to the current user time zone. - - - The default value is false. - - - - - When set to true enables support for WAI-ARIA - - - - Gets or sets the template for alternating time cells in the RadTimeView. - - Use the AlternatingTimeTemplate property to control the - contents of alternating items in the RadTimeView control. The - appearance of alternating time cells is controlled by the - AlternatingTimeStyle property. - To specify a template for the alternating time cells, place the - <AlternatingTimeTemplate> tags between the opening and closing tags of the - RadTimeView control. You can then list the contents of the - template between the opening and closing <AlternatingTimeTemplate> - tags. - - - The following code example demonstrates how to use the - AlternatingTimeTemplate property to control the contents of - alternating items in the RadTimeView control. -
- - - - - - -
-
- - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView> - <AlternatingTimeTemplate> - <input type="button" id="button1" value='<%# DataBinder.Eval(((DataListItem)Container).DataItem, "time", "{0:t}") %>' /> - </AlternatingTimeTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - -
-
- - - Gets or sets the template for the footer section of the - RadTimeView control. - - - To specify a template for the footer section, place the - <FooterTemplate> tags between the opening and closing tags of the - RadTimeView control. You can then list the contents of the - template between the opening and closing <FooterTemplate> tags. - The ShowFooter property must be set to true for this property to be - visible. - - - The following code example demonstrates how to use the - FooterTemplate property to control the contents of the footer - section of the RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView ShowFooter="true"> - <FooterTemplate> - <asp:Label ID="Label1" runat="server" Text="Footer"></asp:Label> - </FooterTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets or sets the template for the heading section of the RadTimeView - control. - - - Use the HeaderTemplate property to control the contents of - the heading section. The appearance of the header section is controlled by the - HeaderStyle property. - To specify a template for the heading section, place the - <HeadingTemplate> tags between the opening and closing tags of the - RadTimeView control. You can then list the contents of the - template between the opening and closing <HeadingTemplate> tags. - The ShowHeader property must be set to true for this property to be - visible. - - - The following code example demonstrates how to use the - HeaderTemplate property to control the contents of the heading - section of the RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView> - <HeaderTemplate> - <asp:Label ID="Label1" runat="server" Text="Header"></asp:Label> - </HeaderTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets or sets the template for the heading section of the RadTimeView - control. - - - Use the HeaderTemplate property to control the contents of - the heading section. The appearance of the header section is controlled by the - HeaderStyle property. - To specify a template for the heading section, place the - <HeadingTemplate> tags between the opening and closing tags of the - RadTimeView control. You can then list the contents of the - template between the opening and closing <HeadingTemplate> tags. - The ShowHeader property must be set to true for this property to be - visible. - - - The following code example demonstrates how to use the - HeaderTemplate property to control the contents of the heading - section of the RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView> - <HeaderTemplate> - <asp:Label ID="Label1" runat="server" Text="Header"></asp:Label> - </HeaderTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets or sets the foreground color (typically the color of the text) of the - RadTimeView control. - - - A System.Drawing.Color that represents the foreground color of the control. The - default is Color.Empty. - - - Use the ForeColor property to specify the foreground color - of the RadTimeView control. The foreground color is usually the - color of the text. This property will render on browsers earlier than Microsoft - Internet Explorer version 4. - Note: On browsers that do not support styles, this property is rendered as a - FONT element. - - - On browsers that do not support styles, this property is rendered as a FONT - element. - - - - - Gets or sets the background color of the RadTimeView - control. - - - Use the BackColor property to specify the background color - of the RadTimeView control. This property is set using a - System.Drawing.Color object. - In general, only controls that render as a <table> tag can display a - background color in HTML 3.2, whereas almost any control can in HTML 4.0. - For controls that render as a <span> tag (including Label, all - validation controls, and list controls with their RepeatLayout property set to - RepeatLayout.Flow), this property will work in Microsoft Internet Explorer version - 5 or later, but not for Microsoft Internet Explorer version 4. - - - - Gets or sets the border color of the RadTimeView control. - - Use the BorderColor property to specify the border color of the - RadTimeView control. This property is set using a System.Drawing.Color - object. - - - A System.Drawing.Color that represents the border color of the control. The - default is Color.Empty, which indicates that this property is not set. - - - - Gets or sets the border style of the RadTimeView control. - - One of the BorderStyle enumeration values. The default is - NotSet. - - - Use the BorderStyle property to specify the border style for - the RadTimeView control. This property is set using one of the - BorderStyle enumeration values. The following table lists the - possible values. - - - - Border Style - Description - - - NotSet - The border style is not set. - - - None - No border - - - Dotted - A dotted line border. - - - Dashed - A dashed line border. - - - Solid - A solid line border. - - - Double - A solid double line border. - - - Groove - A grooved border for a sunken border - appearance. - - - Ridge - A ridged border for a raised border - appearance. - - - Inset - An inset border for a sunken control - appearance. - - - - Note: This property will not render on some browsers. - - - - Gets or sets the border width of the RadTimeView control. - - A Unit that represents the border width of a RadTimeView control. The default - value is Unit.Empty, which indicates that this property is not set. - - - Use the BorderWidth property to specify a border width for a - control. - This property is set with a Unit object. If the Value property of the Unit - contains a negative number, an exception is thrown. - - - - - Gets or sets the cascading style sheet (CSS) class rendered by the - RadTimeView on the client. - - - The CSS class rendered by the RadTimeView control on the client. - The default is String.Empty. - - - Use the CssClass property to specify the CSS class to render on the client - for the RadTimeView control. This property will render on browsers - for all controls. It will always be rendered as the class attribute, regardless of - the browser. - For example, suppose you have the following RadTimeVeiw - control declaration: - <asp:TextBox id="TextBox1" ForeColor="Red" CssClass="class1" /> - The following HTML is rendered on the client for the previous - RadTimeView control declaration: - - - - Gets or sets the height of the RadTimeView control. - - A Unit that represents the height of the RadTimeView - control. The default is Empty. - - - Use the Height property to specify the height of the - RadTimeView control. - - - - Gets or sets the width of the RadTimeView control. - - A Unit that represents the width of the RadTimeView control. The - default is Empty. - - - Use the Width property to specify the width of the - RadTimeView control. - - - - - Gets the font properties associated with the RadTimeView - control. - - A FontInfo that represents the font properties of the Web server control. - - Use the Font property to specify the font properties of the - RadTimeView control. This property includes subproperties that can be - accessed declaratively in the form of Property-Subproperty (for example Font-Bold) or - programmatically in the form of Property.Subproperty (for example Font.Bold). - - - - - Gets or sets the access key. - - The access key. - - - - Gets or sets a value indicating whether the Web server control is enabled. - - true if control is enabled; otherwise, false. The default is true. - - - - - Gets or sets a value indicating whether themes apply to this control. - - true to use themes; otherwise, false. The default is true. - The Page_PreInit event has - already occurred.- or -The control has already been added to the Controls collection. - - - - - Gets or sets the skin to apply to the control. - The name of the skin to apply to the control. The default is . - - The skin specified in the - property does not exist in the theme. - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - true if the control is visible on the page; otherwise false. - - - Gets or sets default path for the grid images when EnableEmbeddedSkins is set to false. - A string containing the path for the grid images. The default is string.Empty. - - - - - - - - - - Gets or sets a value that specifies whether the border between the cells of the - RadTimeView control is displayed. - - - One of the GridLines enumeration values. The default is - Both. - - - Use the GridLines property to specify whether the border between - the cells of the data list control is displayed. This property is set with one of the - GridLines enumeration values. - - - - - Gets or sets the hetader associated with the RadTimeView - control. - - Use HeaderText when UseAccessibleHeader is set to true - - - Gets or sets the alignemt of the associated caption. - - - - Indicates that the control should use accessible header cells in its containing - table control. - - - - - Gets or sets the summary attribute for the RadTimeView. - - - Setting this property to empty string will force Telerik RadTimeView to not render summary attribute. - - - The default value is "Table holding time picker for selecting time of day.". - - - - - Gets or sets the caption for the table RadTimeView. - - - Setting this property to empty string will force Telerik RadTimeView to not render caption tag. - - - The default value is "RadTimeView". - - - - - Occurs on the client when an time sell in the RadTimeView - control is selected. - - The default value is String.Empty - - The following example demonstrates how to attach the - OnClientSelectedEvent - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - <script language="javascript"> - function ClientTimeSelected(sender, args) - { - alert(args.oldTime); - alert(args.newTime); - } - </script> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView OnClientTimeSelected="ClientTimeSelected"> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Occurs on the client when a time cell in RadTimeView is about to be selected - - The default value is String.Empty - - - - Gets or sets the horizontal alignment of the RadTimeView - control. - - - One of the HorizontalAlign enumeration values. The default is - NotSet. - - - Use the HorizontalAlign property to specify the horizontal - alignment of the data list control within its container. This property is set with one - of the HorizontalAlign enumeration values. - - - - - Gets or sets the amount of space between the contents of the cell and the cell's - border. - - - The distance (in pixels) between the contents of a cell and the cell's border. - The default is -1, which indicates that this property is not set. - - - Use the CellPadding property to control the spacing between - the contents of a cell and the cell's border. The padding amount specified is added - to all four sides of a cell. - All cells in the same column of a data listing control share the same cell - width. Therefore, if the content of one cell is longer than the content of other - cells in the same column, the padding amount is applied to the widest cell. All - other cells in the column are also set with this cell width. - Similarly, all cells in the same row share the same height. The padding - amount is applied to the height of the tallest cell in the row. All other cells in - the same row are set with this cell height. Individual cell sizes cannot be - specified. - The value of this property is stored in view state. - - - - - Gets or sets the distance between time cells of the - RadTimeView. - - - The distance (in pixels) between table cells. The default is -1, which indicates - that this property is not set. - - - Use the CellSpacing property to control the spacing between - adjacent cells in a data listing control. This spacing is applied both vertically - and horizontally. The cell spacing is uniform for the entire data list control. - Individual cell spacing between each row or column cannot be specified. - The value of this property is stored in view state. - - - - - Gets or sets the number of columns to display in the RadTimeView - control. - - - Use this property to specify the number of columns that display items in the - RadTimeView control. For example, if you set this property to 5, the - RadTimeView control displays its items in five columns. - - - The following code example demonstrates how to use the Columns - property to specify the number of columns to display in the - RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView Columns="5" > - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets or sets a value indicating whether the footer section is displayed in - the RadTimeView control. - - - true if the footer section is displayed; otherwise, false. The default value is - true, however this property is only examined when the FooterTemplate - property is not a null reference (Nothing in Visual Basic). - - - Use the ShowFooter property to specify whether the footer - section is displayed in the RadTimeView control. - You can control the appearance of the footer section by setting the - FooterStyle property. The contents of the footer section are - controlled by the FooterTemplate property. - - - The following code example demonstrates how to use the - ShowFooter property to display the footer section in the - RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView ShowFooter="true" > - <FooterTemplate> - <asp:Label ID="Label1" runat="server" Text="Hello Footer!"></asp:Label> - </FooterTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets or sets a value indicating whether the header section is displayed in the - RadTimeView control. - - - true if the header is displayed; otherwise, false. The default value is true, - however this property is only examined when the HeaderTemplate - property is not a null reference (Nothing in Visual Basic). - - - Use the ShowHeader property to specify whether the header - section is displayed in the RadTimeView control. - You can control appearance of the header section by setting the - HeaderStyle property. The contents of the header section are - controlled by the HeaderTemplate property. - - - The following code example demonstrates how to use the - ShowHeader property to display the header section in the - RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimeView ShowHeader="true"> - <HeaderTemplate> - <asp:Label ID="Label1" runat="server" Text="Hello Header!"></asp:Label> - </HeaderTemplate> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - Gets or sets the start time of the control. - - - - Provides information about a specific culture. The information includes the names - for the culture, the writing system, the calendar used, and formatting for the - times. - - - The CultureInfo class renders culture-specific information, - such as the associated language, sublanguage, country/region, calendar, and - cultural conventions. This class also provides access to culture-specific instances - of DateTimeFormatInfo, NumberFormatInfo, CompareInfo, and TextInfo. These objects - contain the information required for culture-specific operations, such as casing, - formatting dates and numbers, and comparing strings. - - - - ite - - - - Gets or sets the interval between StartTime and - EndTime - - - - Gets or sets the format of the time. - - A custom Time format string consists of one or more custom Time format - specifiers, and that format string defines the text representation of a DateTime - object that is produced by a formatting operation. - Custom Time format specifiers. - - - - h - Represents the hour as a number from 1 through 12, that - is, the hour as represented by a 12-hour clock that counts the whole - hours since midnight or noon. Consequently, a particular hour after - midnight is indistinguishable from the same hour after noon. The hour - is not rounded, and a single-digit hour is formatted without a leading - zero. For example, given a time of 5:43, this format specifier displays - "5". For more information about using a single format specifier, see - Using Single Custom Format Specifiers. - - - hh, hh (plus any number of additional "h" specifiers) - Represents the hour as a number from 01 through 12, that - is, the hour as represented by a 12-hour clock that counts the whole - hours since midnight or noon. Consequently, a particular hour after - midnight is indistinguishable from the same hour after noon. The hour - is not rounded, and a single-digit hour is formatted with a leading - zero. - - - H - Represents the hour as a number from 0 through 23, that - is, the hour as represented by a zero-based 24-hour clock that counts - the hours since midnight. A single-digit hour is formatted without a - leading zero. - - - HH, HH (plus any number of additional "H" specifiers) - Represents the hour as a number from 00 through 23, that - is, the hour as represented by a zero-based 24-hour clock that counts - the hours since midnight. A single-digit hour is formatted with a - leading zero. - - - m - Represents the minute as a number from 0 through 59. The - minute represents whole minutes passed since the last hour. A - single-digit minute is formatted without a leading zero. - - - mm, mm (plus any number of additional "m" specifiers) - Represents the minute as a number from 00 through 59. The - minute represents whole minutes passed since the last hour. A - single-digit minute is formatted with a leading zero. - - - s - Represents the seconds as a number from 0 through 59. The - second represents whole seconds passed since the last minute. A - single-digit second is formatted without a leading zero. - - - ss, ss (plus any number of additional "s" specifiers) - Represents the seconds as a number from 00 through 59. The - second represents whole seconds passed since the last minute. A - single-digit second is formatted with a leading zero. - - - t - Represents the first character of the A.M./P.M. designator - defined in the current - System.Globalization.DateTimeFormatInfo.AMDesignator or - System.Globalization.DateTimeFormatInfo.PMDesignator property. The A.M. - designator is used if the hour in the time being formatted is less than - 12; otherwise, the P.M. designator is used. - - - tt, tt (plus any number of additional "t" specifiers) - Represents the A.M./P.M. designator as defined in the - current System.Globalization.DateTimeFormatInfo.AMDesignator or - System.Globalization.DateTimeFormatInfo.PMDesignator property. The A.M. - designator is used if the hour in the time being formatted is less than - 12; otherwise, the P.M. designator is used. - - - -
- Standard Time Format Specifiers
- - - - t - ShortTimePattern - For example, the custom format string - for the invariant culture is "HH:mm". - - - T - LongTimePattern - For example, the custom format string - for the invariant culture is "HH:mm:ss". - - - -
-
- - - Gets the style properties for the time cells in the RadTimeView - control. - - - Use this property to provide a custom style for the items of the - RadTimeView control. Common style attributes that can be adjusted - include foreground color, background color, font, and content alignment within the - cell. Providing a different style enhances the appearance of the - RadTimeView control. - If you specify a red font for the TimeStyle property, all - other item style properties in the RadTimeView control will also - have a red font. This allows you to provide a common appearance for the control by - setting a single item style property. You can override the inherited style settings - for an item style property that is higher in the hierarchy by setting its style - properties. For example, you can specify a blue font for the - AlternatingTimeStyle property, overriding the red font specified - in the TimeStyle property. - To specify a custom style for the items of the RadTimeView - control, place the <TimeStyle> tags between the opening and closing tags of - the RadTimeView control. You can then list the style attributes - within the opening <TimeStyle> tag. - You can also use the AlternatingTimeStyle property to provide a different - appearance for the alternating items in the RadTimeView - control. - - - The following code example demonstrates how to use the TimeStyle - property to specify a different background color for the time cells in the - RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <div> - <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> - <asp:ListItem Text="Select" Value=""></asp:ListItem> - <asp:ListItem Text="DarkGray" Value="DarkGray"></asp:ListItem> - <asp:ListItem Text="Khaki" Value="Khaki"></asp:ListItem> - <asp:ListItem Text="DarkKhaki" Value="DarkKhaki"></asp:ListItem> - </asp:DropDownList> - </div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimePopupButton ImageUrl="clock.gif" HoverImageUrl="clock.gif" /> - <TimeView Skin="None"> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - using System; - using System.Data; - using System.Configuration; - using System.Web; - using System.Web.Security; - using System.Web.UI; - using System.Web.UI.WebControls; - using System.Web.UI.WebControls.WebParts; - using System.Web.UI.HtmlControls; - - public partial class _Default : System.Web.UI.Page - { - protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) - { - this.RadTimePicker1.TimeView.TimeStyle.BackColor = - System.Drawing.Color.FromName(this.DropDownList1.SelectedItem.Value); - } - } - - - - - - Gets the style applied to items - - The style applied to items. - - - - Gets the style properties for alternating time sells in the - RadTimeView control. - - - Use the AlternatingTimeStyle property to provide a custom - style for the alternating time cells in the RadTimeView control. - Common style attributes that can be adjusted include foreground color, background - color, font, and content alignment within the cell. Providing a different style - enhances the appearance of the RadTimeView control. - If you specify a red font for the TimeStyle property, all - other item style properties in the RadTimeView control will also - have a red font. This allows you to provide a common appearance for the control by - setting a single item style property. You can override the inherited style settings - for an item style property that is higher in the hierarchy by setting its style - properties. For example, you can specify a blue font for the - AlternatingTimeStyle property, overriding the red font specified - in the TimeStyle property. - To specify a custom style for the alternating items, place the - <AlternatingTimeStyle> tags between the opening and closing tags of the - RadTimeView control. You can then list the style attributes within - the opening <AlternatingTimeStyle> tag. - - - The following code example demonstrates how to use the - AlternatingTimeStyle property to specify a different background - color for alternating items in the RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <div> - <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> - <asp:ListItem Text="Select" Value=""></asp:ListItem> - <asp:ListItem Text="DarkGray" Value="DarkGray"></asp:ListItem> - <asp:ListItem Text="Khaki" Value="Khaki"></asp:ListItem> - <asp:ListItem Text="DarkKhaki" Value="DarkKhaki"></asp:ListItem> - </asp:DropDownList> - </div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimePopupButton ImageUrl="clock.gif" HoverImageUrl="clock.gif" /> - <TimeView Skin="None"> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - using System; - using System.Data; - using System.Configuration; - using System.Web; - using System.Web.Security; - using System.Web.UI; - using System.Web.UI.WebControls; - using System.Web.UI.WebControls.WebParts; - using System.Web.UI.HtmlControls; - - public partial class _Default : System.Web.UI.Page - { - protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) - { - this.RadTimePicker1.TimeView.AlternatingTimeStyle.BackColor = - System.Drawing.Color.FromName(this.DropDownList1.SelectedItem.Value); - } - } - - - - - - Gets the style properties for the heading section of the - RadTimeView control. - - - Use this property to provide a custom style for the heading of the - RadTimeView control. Common style attributes that can be adjusted - include foreground color, background color, font, and content alignment within the - cell. Providing a different style enhances the appearance of the - RadTimeView control. - To specify a custom style for the heading section, place the - <HeaderStyle> tags between the opening and closing tags of the - RadTimeView control. You can then list the style attributes within - the opening <HeaderStyle> tag. - Note: The ShowHeader property must be set - to true for this property to be visible. - - - The following code example demonstrates how to use the HeaderStyle - property to specify a custom background color for the heading section of the - RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimePopupButton ImageUrl="clock.gif" HoverImageUrl="clock.gif" /> - <TimeView Skin="None" ShowHeader="true"> - <HeaderStyle BackColor="red" /> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - Gets the style properties for the footer section of the - RadTimeView control. - - - Use this property to provide a custom style for the footer section of the - radTimeView control. Common style attributes that can be adjusted - include foreground color, background color, font, and content alignment within the - cell. Providing a different style enhances the appearance of the - RadTimeView control. - The FooterStyle property of the RadTimeView - control inherits the style settings of the ControlStyle property. For example, if - you specify a red font for the ControlStyle property, the - FooterStyle property will also have a red font. This allows you to - provide a common appearance for the control by setting a single style property. You - can override the inherited style settings by setting the - FooterStyle property. For example, you can specify a blue font for - the FooterStyle property, overriding the red font specified in the - ControlStyle property. - To specify a custom style for the footer section, place the - <FooterStyle> tags between the opening and closing tags of the - RadTimeView control. You can then list the style attributes within - the opening <FooterStyle> tag. - Note: The ShowFooter property must be set - to true for this property to be visible. - - - The following code example demonstrates how to use the - FooterStyle property to specify a custom background color for the - footer section of the RadTimeView control. - - <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> - - <%@ Register Assembly="RadCalendar.Net2" Namespace="Telerik.WebControls" TagPrefix="radCln" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radCln:RadTimePicker - ID="RadTimePicker1" - runat="server"> - <TimePopupButton ImageUrl="clock.gif" HoverImageUrl="clock.gif" /> - <TimeView Skin="None" ShowFooter="true"> - <FooterStyle BackColor="Aqua" /> - </TimeView> - </radCln:RadTimePicker> - </div> - </form> - </body> - </html> - - - - - - The control that toggles the TimeView popup. - You can customize the appearance by setting the object's properties. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web - server control on the client. - - The CSS class rendered by the Web server control on the client. The - default is . - - - - - Gets or sets the popup button image URL. - - - - - - Gets or sets the popup button hover image URL. - - - - - - Gets or sets the text displayed when the mouse pointer hovers over the - Web server control. - - The text displayed when the mouse pointer hovers over the Web server - control. The default is . - - - - - Custom Type convertor that gives enhanced selection abilities for the properties that - reffer to collections like CalendarDayCollection. - - - - - Returns a collection of standard values for the data type this type - converter is designed for when provided with a format context. - - An - that provides a format context that can be used to extract additional information - about the environment from which this converter is invoked. This parameter or - properties of this parameter can be null. - - A - that holds a standard set of valid values, or null if the data type does not - support a standard set of values. - - - - - Returns whether the collection of standard values returned from - is an exclusive list of possible values, using the specified context. - - An - that provides a format context. - - true if the - returned from - is an exhaustive list of possible values; false if other values are possible. - - - - - Returns whether this object supports a standard set of values that can - be picked from a list, using the specified context. - - An - that provides a format context. - - true if - should be called to find a common set of values the object supports; otherwise, - false. - - - - - Summary description for JsBuilder. - - - - - Summary description for Utility. - - - - - This static member is used translating .NET arrays to JS arrays. - Acts like a compressor. - - The 1D array to compress - The compressed string - - - - Converts an input 2D JavaScript array like [[5,10,2005],[6,10,2005],[7,10,2005]] into a DateTimeCollection. - - The DateTimeCollection that will be filled. - The input string. - - - - RadCalendarDay represents a object that maps date value to corresponding visual settings. - Also the object implements Boolean properties that represent the nature of the selected date - - whether it is a weekend, disabled or selected in the context of the calendar. Mostly the values - of those properties are set at runtime when a RadCalendarDay instance is constructed and passed - to the DayRender event. - - - - - Summary description for RichUITemplateControl. - - - - - Reset all properties to their defaults. - - - - - - - - - Persists the ID of the template used by this instance of RichUITemplateControl if - any. The TemplateID could be used to index the Templates collection and instantiate - the required template. - - - - - Determines whether the specified compare time is recurring. - - The compare time. - The current calendar. - - - - - - - - - Gets or sets the date represented by this RadCalendarDay. - - - - - Gets the style properties for the RadCalendarDay - instance. - - - A TableItemStyle that contains the style properties for the RadCalendarDay instance. - - - - - Gets or sets a value indicating whether the RadCalendarDay is qualified as available for selection. - - - - - Gets or sets a value indicating whether the RadCalendarDay is selected - - - - - Gets or sets a value indicating whether the RadCalendarDay is disabled - - - - - Gets or sets a value indicating whether the RadCalendarDay represents the current date. - - - - - Gets or sets a value indicating whether the RadCalendarDay settings are repeated/recurring through out the valid - date range displayed by the calendar. - - - The RecurringEvents enumeration determines which part of the date is handled (day or day and month). - - - - - Gets or sets a value indicating whether the RadCalendarDay is mapped to a date that represents a non working - day/weekend. - - - - - Gets or sets the text displayed when the mouse pointer hovers over the calendar day. - - - - - Summary description for BaseRenderer. - - - - - Summary description for CalendarView. - - - - - - - - - - - - - Returns an ArrayList of all properties of RadCalendar that are to be exported on the client. - - - - - - Gets or sets the parent conrols. - - The parent conrols. - - - - Gets or sets the parent . - - The parent . - - - - Gets or sets the ID of the . - Returns the parent ClientID if - the view is TopView. - - The ID of the . - Returns the parent ClientID if - the view is TopView. - - - - Gets the current child - views as a . - - The current child - views as a . - - - - RenderInRows - Renders the calendar data row after row. - RenderInColumns - Renders the calendar data column after column. - None - Enforces fallback to the default Orientation for Telerik RadCalendar. - - - RenderInRows - Renders the calendar data row after row. - RenderInColumns - Renders the calendar data column after column. - None - Enforces fallback to the default Orientation for Telerik RadCalendar. - - - - - Gets the title text. - - The title text. - - - - Gets or sets if the is hidden. - - Determines if the is hidden. - - - - The presentation type which describes how RadCalendar will handle its layout, and how will - react to user interaction. Interactive - user is allowed to select dates, navigate, - etc. Preview - does not allow user interaction, for presentation purposes only. - - - - - Gets or sets if the calendar view header will be visible. - - Determines if the calendar view header will be visible. - - - - Gets or sets if the column headers will be visible. - - Determines if the column headers will be visible. - - - - Gets or sets if the row headers will be visible. - - Determines if the row headers will be visible. - - - - Gets or sets if the row headers will be used as selectors. - - Determines if the row headers will be used as selectors. - - - - Gets or sets if the column headers will be used as selectors. - - Determines if the column headers will be used as selectors. - - - - Gets or sets if the view selector is enabled. - - Determines if the view selector is enabled. - - - - Gets or sets if MultiView Mode is enabled\disabled. - - Determines if MultiView Mode is enabled\disabled. - - - - Gets or sets if the multi selection of dates will be enabled\disabled. - - Determines if the multi selection of dates will be enabled\disabled. - - - - Gets if the MultiView Mode is enabled. - - Determines if the MultiView Mode is enabled. - - - - Gets if the view the top view or part of the child views. - - Determines if the view the top view or part of the child views. - - - - Gets or sets if the calendar view is initialized. - - Determines if the calendar view is initialized. - - - - Gets the number of rows for the multi view. - - The number of rows for the multi view. - - - - Gets the number of columns for the multi view. - - The number of columns for the multi view. - - - - Gets the default row index. - - The default row index. - - - - Gets the default column index. - - The default column index. - - - - Gets or sets the width of the single view. - - The width of the single view. - - - - Gets or sets the height of the single view. - - The height of the single view. - - - - Gets or sets the header . - - The header . - - - - Gets or sets the view . - - The view . - - - - Gets or sets the title alignment. - - The title alignment. - - - - Gets or sets the current view begin date. - - The current view begin date. - - - - Gets or sets the current view end date. - - The current view end date. - - - - Gets the previous . - - The previous . - - - - Gets the next . - - The next . - - - - Gets or sets the calendar view title. - - The string for the title. - - - - Gets or sets the conditions error message which will - be displayed if there any errors in the settings. - - The conditions error message which will - be displayed if there any errors in the settings. - - - - Gets the number of rows in the . - - The number of rows in the . - - - - Gets the single view columns. - - The single view columns. - - - - Gets or sets the row selector text. - - The row selector text. - - - - Gets or sets the row header image. - - The row header image. - - - - Gets or sets the column header text. - - The column header text. - - - - Gets or sets the column header image. - - The column header image. - - - - Gets or sets the view selector text. - - The view selector text. - - - - Gets or sets the view selector image. - - The view selector image. - - - - Gets or sets the view start date. - - The view start date. - - - - Gets or sets the view end date. - - The view end date. - - - - Summary description for CalendarView. - - - - - - - - - - - - - Gets the month start date. - - The month start date. - - - - Gets the month end date. - - The month end date. - - - - Gets or sets the string format of the title. - - The string format of the title. Default value is 'MMMM'. - - - - Descendent of Control, DayTemplate implements an ITemplate wrapper, required for building - collections of templates like CalendarDayTemplateCollection. - - - - - Gets or sets the day template. - - The day template. - - - - This is the control that is used to instantiate any required template. - - - - - A collection of RadComboBoxItem objects in a - RadComboBox control. - - - The RadComboBoxItemCollection class represents a collection of - RadComboBoxItem objects. - - - Use the indexer to programmatically retrieve a - single RadComboBoxItem from the collection, using array notation. - - - Use the Count property to determine the total - number of combo items in the collection. - - - Use the Add method to add items in the collection. - - - Use the Remove method to remove items from the - collection. - - - - - - - - Initializes a new instance of the RadComboBoxItemCollection class. - - The owner of the collection. - - - - Appends the specified RadComboBoxItem object to the end of the current RadComboBoxItemCollection. - - - The RadComboBoxItem to append to the end of the current RadComboBoxItemCollection. - - - The following example demonstrates how to programmatically add items in a - RadComboBox control. - - RadComboBoxItem newsItem = new RadComboBoxItem("News"); - RadComboBox1.Items.Add(newsItem); - - - Dim newsItem As RadPanelItem = New RadComboBoxItem("News") - RadComboBox1.Items.Add(newsItem) - - - - - - Finds the first RadComboBoxItem with Text that - matches the given text value. - - - The first RadComboBoxItem that matches the - specified text value. - - The string to search for. - This method is not recursive. - - - - Finds the first RadComboBoxItem with Value that - matches the given value. - - - The first RadComboBoxItem that matches the - specified value. - - The value to search for. - This methos is not recursive. - - - - Searches the items in the collection for a RadComboBoxItem which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadComboBoxItem that matches the specified arguments. Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Finds the first RadComboBoxItem with Text that - matches the given text value. - - - The first RadComboBoxItem that matches the - specified text value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByText("New York",true) - - - RadComboBoxItem item = RadComboBox1.FindItemByText("New York",true); - - - The string to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Finds the first RadComboBoxItem with Value that - matches the given value. - - - The first RadComboBoxItem that matches the - specified value. - - - - Dim item As RadComboBoxItem = RadComboBox1.FindItemByValue("1", true) - - - RadComboBoxItem item = RadComboBox1.FindItemByValue("1", true); - - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the index of the first RadComboBoxItem with - Text that matches the given text value. - - The string to search for. - - - - Returns the index of the first RadComboBoxItem with - Text that matches the given text value. - - The string to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the index of the first RadComboBoxItem with - Value that matches the given value. - - The value to search for. - - - - Returns the index of the first RadComboBoxItem with - Value that matches the given value. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the first RadComboBoxItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadComboBox1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadComboBoxItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadComboBox1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadComboBoxItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Determines whether the specified RadComboBoxItem object is in the current - RadComboBoxItemCollection. - - - The RadComboBoxItem object to find. - - - true if the current collection contains the specified RadComboBoxItem object; - otherwise, false. - - - - Appends the specified array of RadComboBoxItem objects to the end of the - current RadComboBoxItemCollection. - - - The following example demonstrates how to use the AddRange method - to add multiple items in a single step. - - RadComboBoxItem[] items = new RadComboBoxItem[] { new RadComboBoxItem("First"), new RadComboBoxItem("Second"), new RadComboBoxItem("Third") }; - RadComboBox1.Items.AddRange(items); - - - Dim items() As RadComboBoxItem = {New RadComboBoxItem("First"), New RadComboBoxItem("Second"), New RadComboBoxItem("Third")} - RadComboBox1.Items.AddRange(items) - - - - The array of RadComboBoxItem o append to the end of the current - RadComboBoxItemCollection. - - - - - Determines the index of the specified RadComboBoxItem object in the collection. - - - The RadComboBoxItem to locate. - - - The zero-based index of item within the current RadComboBoxItemCollection, - if found; otherwise, -1. - - - - - Inserts the specified RadComboBoxItem object in the current - RadComboBoxItemCollection at the specified index location. - - The zero-based index location at which to insert the RadComboBoxItem. - The RadComboBoxItem to insert. - - - - Removes the specified RadComboBoxItem object from the current - RadComboBoxItemCollection. - - - The RadComboBoxItem object to remove. - - - - - Removes the specified RadComboBoxItem object from the current - RadComboBoxItemCollection. - - - The zero-based index of the index to remove. - - - - - Sort the items from RadComboBoxItemCollection. - - - - - Sort the items from RadComboBoxItemCollection. - - - An object from IComparer interface. - - - - - Gets the RadComboBoxItem object at the specified index in - the current RadComboBoxItemCollection. - - - The zero-based index of the RadComboBoxItem to retrieve. - - - The RadComboBoxItem at the specified index in the - current RadComboBoxItemCollection. - - - - - Provides data to the RadComboBoxItem event argument. - - - - - Gets or sets the RadComboBoxItem. - - The RadComboBoxItem. - - - - Clientside implementation of visual element resize functionality - - - - - - - - - Clientside implementation of visual element resize functionality - - - - - This class is intended to simply define the common scripts reference - - - - - Used from DialogLoaderBase to extract the definition - of the dialog to be loaded - - - The parameters got from the DialogLoader. They must include - either VirtualPath or Type for the control to be loaded. - - - - - Used from a RadControl (Editor, Spell) to define an UserControl dialog - - The path to the ascx to be loaded - The parameters to be passed to the dialog - - - - Used from a RadControl (Editor, Spell) to define a WebControl dialog - - The type of the control to be loaded - The parameters to be passed to the dialog - - - - Gets or sets a value indicating the behavior of this dialog - if it can be - resized, has expand/collapse commands, closed command, etc. - - - - - This is the default dialog handler class for Telerik dialogs. It requires Session State to be enabled - - - - - This class can be used instead of the default (DialogHandler) class for Telerik dialogs. It does not require Session State to be enabled. - - - - - RadDialogOpener class - - - - - - - - - If the EnableTelerikManagers property is set to true, this function should be called to copy the settings - (CDN, handler URL, etc.) to the script/stylesheet manager control in the dialogs. - - - - - This control has no skin! This property will prevent the SkinRegistrar from - registering the missing CSS references. - - - - - A read-only property that returns the RadWindow instance used in the RadDialogOpener control. - - - - - When set to True, tells the dialog opener to use RadScriptManager and RadStyleSheetManager when loading an .ascx dialog file. - - - - - Gets or sets an additional querystring appended to the dialog URL. - - A String, appended to the dialog URL - - - - Gets the DialogDefinitionDictionary, containing the DialogDefinitions of the managed dialogs. - - TODO - TODO - - - - Gets or sets a value, indicating if classic windows will be used for opening a dialog. - - A boolean, indicating if classic windows will be used - for opening a dialog - When set to true, the RadDialogOpener shows a dialog similar to the - ones opened by window.open and window.showModalDialog; - - - Gets or sets the localization language for the user interface. - - The localization language for the user interface. The default value is - en-US. - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed script files by hand. - - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - Gets or sets the client-side script that gets executed when the dialog opening event is raised - - - - - Gets or sets the client-side script that gets executed when the dialog closing event is raised - - - - - Gets or sets the location of a CSS file, that will be added in the dialog window. If you need to include - more than one file, use the CSS @import url(); rule to add the other files from the first. - This property is needed if you are using a custom skin. It allows you to include your custom skin - CSS in the dialogs, which are separate from the main page. - - - - - Gets or sets the location of a JavaScript file, that will be added in the dialog window. If you need to include - more than one file, you will need to combine the scripts into one first. - This property is needed if want to override some of the default functionality without loading the dialog - from an external ascx file. - - - - - Get/Set the animation effect of the window - - - - - This class is provided for backwards compatibility with old solutions. - - - - - An empty class to just indicate that the parameters must be taken in a querystring/javascript manner - - - - - Instantiates the DialogParametersProvider - - The page that uses the DialogParametersProvider - - - - Returns the DialogParameters for a dialog - - the unique identifier of the dialogOpener, which - parameters are stored - the name of the dialog which parameters are requested - the DialogParameters for the specified dialog of the exact editor - - - - Stores the DialogParameters for - all the dialogs of a specified RadDialogOpener - - the unique identifier of the editor - which DialogParameters - will be stored - The list of dialog parameters - - - - DialogParametersSerializer - serializes a DialogParameters object to a string and deserializes it. - - - Known limitations: - - When deserializing, the enum values are passed as ints and an implicit cast is required. - If a string array with a one element == string.Empty is passed, the deserialized array will have no elements - - - - - - - Represents a collection of RadDock objects. - - - - - Initializes a new instance of the DockCollection class. - - The RadDockZone that will contain the RadDock objects. - - - - - - - - - - - - - - - - Sorts the RadDock objects in the DockCollection. - - A delegate that represents the method for comparing two RadDock objects. - - - - Defines the RadDock titlebar and grips behavior. - - - - - The control will not have titlebar or grips. - - - - - The control will have only titlebar. - - - - - The control will have only grips. - - - - - Provides data for the SaveDockLayout and the LoadDockLayout events. - - - - - Initializes a new instance of the DockLayoutEventArgs class. - - - - - Dictionary, containing UniqueName/DockZoneID pairs. - - - - - Dictionary, containing UniqueName/Index pairs. - - - - - Represents the method that handles a SaveDockLayout or LoadDockLayout events. - - The source of the event. - A DockLayoutEventArgs that contains the event data. - - - - Defines the docking behavior of a RadDock control. - - - - - The RadDock control is able to float (to be undocked). - - - - - The RadDock control is able to dock into zones. - - - - - The RadDock control is able to be both docked and undocked. - - - - - Represents the PinUnpin command item in a RadDock control. - - - - - Initializes a new instance of the DockPinUnpinCommand class. - - - - - Gets or sets the initial state of the command item. If the value of this property - is Primary, the values of the Text and CssClass properties will be used initially, - otherwise the command will use AlternateText and AlternateCssClass. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button. - - - - - Specifies the text, which will be displayed as tooltip when the user - hovers the mouse cursor over the command button when State is Alternate (Pinned). - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client. - - - - - Gets or sets the Cascading Style Sheet (CSS) class rendered by the Command item - on the client when State is Alternate (Pinned). - - - - - Specifies the name of the command. The value of this property is used - to determine on the server which command was clicked on the client. - - - - - Defines the commands which should appear in the RadDock control - titlebar when its Commands property is not set. - - - - - No commands will appear - - - - - Close command - - - - - ExpandCollapse command - - - - - PinUnpin command - - - - - All commands - - - - - Provides data for the DockPositionChanged event. - - - - - Contains the ClientID of the dock zone the dock has been dropped to. - If the dock was not dropped in a zone (undocked) the value will be - string.Empty. - - - - - Contains the index of the dock in the new dock zone. - - - - - Gets a bool value indicating whether the RadDock is actually dragged or just it changed its position in the zone, or changed zone itself. - - True if the user has actually dragged the dock. - - - - Represents the method that handles a DockPositionChanged event. - - The source of the event. - A DockPositionChangedEventArgs that contains the event data. - - - - Defines the state of a DockToggleCommand item. - - - - - The command is in primary state. It will be initially rendered - using the CssClass and Text properties. - - - - - The command is in alternate state. It will be initially rendered - using the AlternateCssClass and AlternateText properties. - - - - - Use this attribute to set the width of a DropDown - - - - - Use this attribute to set the height of a DropDown - - - - - Use this attribute to set the popup class name of a DropDown - - - - - Use this attribute to let the DropDown to adjust its size to its content automatically - - - - - Use this attribute to set the number of the items per row in a DropDown - - - - - Copied from Reflector - - - - - Represents a CssFile item. - - - - - A strongly typed collection of EditorCssFile objects - - - - - About dialog for RadEditor - - - - - The name of the dialog (e.g. "About") - - - - - Enables or disables async (no postback) upload in the file browser dialogs. - - - A Bool, specifying whether async upload should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - uploading new files in these dialogs will happen faster - without a doing a full postback. - Selecting a file will start the upload process immediately. After the file(s) are successfuly uploaded, - the user should click the "Upload" button to go back to the file explorer view. - - - - - Enables or disables multiple item selection in the file browser dialogs. - - - A Bool, specifying whether multiple item selection should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - will allow multiple files / folders to be selected and deleted / copied / moved. Also, if Insert button - is clicked all the selected file items will be inserted in the editor's content area - - - - - Enables or disables async (no postback) upload in the file browser dialogs. - - - A Bool, specifying whether async upload should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - uploading new files in these dialogs will happen faster - without a doing a full postback. - Selecting a file will start the upload process immediately. After the file(s) are successfuly uploaded, - the user should click the "Upload" button to go back to the file explorer view. - - - - - Enables or disables multiple item selection in the file browser dialogs. - - - A Bool, specifying whether multiple item selection should be enabled. Default value is false - - - Used in the RadEditor dialogs like Image Manager, Document Manager. If the value is set to true, - will allow multiple files / folders to be selected and deleted / copied / moved. Also, if Insert button - is clicked all the selected file items will be inserted in the editor's content area - - - - - A RadEditor color picker color - - - - - The ColorPickerItem class represents Colors items within a RadColorPicker control. - - - - - Creates an instance of the ColorPickerItem class. - - - - - Creates an instance of the ColorPickerItem class. - - The color of the RadColorPicker item. - - - - Creates an instance of the ColorPickerItem class. - - The color of the RadColorPicker item. - The title that will be displayed in the tooltip of the item. - - - - Gets or sets the index of the ColorPickerItem. - - - - - Gets or sets the tooltip text of the ColorPickerItem. - - - - - Gets or sets the Color value of the ColorPickerItem. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - A strongly typed collection of EditorColor objects - - - - - Initializes a new instance of the class. - - - - - Adds a EditorColor object, initialized with the specified value. - - - - - When overridden in a derived class, instructs an object contained by the collection to record its entire state to view state, rather than recording only change information. - - The that should serialize itself completely. - - - - Represents a RadEditor context menu. - - - - - - - - - - - - - - - - - - - - - Gets or sets the name of the tag, this EditorContextMenu will be associated to. - - - - - Gets or sets a value indicating whether this is enabled. - - true if enabled; otherwise, false. - - - - Gets the collection of EditorTool objects, placed in this context menu instance. - - - - - A strongly typed collection of EditorContextMenu objects - - - - - Adds the specified item to the collection. If the collection already contains an item - with the same TagName, it will be replaced with the new item. - - - - - - - - - Represents a CssClass dropdown item. - - - - - A strongly typed collection of EditorCssClass objects - - - - - Represents a FontName dropdown item. - - - - - A strongly typed collection of EditorFont objects - - - - - Represents a FontSize dropdown item. - - - - - A strongly typed collection of EditorFontSize objects - - - - - A strongly typed collection of EditorLink objects - - - - - Represents a FormatBlock dropdown item. - - - - - The text which will be displayed in the FormatBlock dropdown - - - - - The tag which the selected text will be enclosed with. - - - - - A strongly typed collection of EditorParagraph objects - - - - - Represents a RealFontSize dropdown item. - - - - - A strongly typed collection of EditorRealFontSize objects - - - - - Represents a InsertSnippet dropdown item. - - - - - A strongly typed collection of EditorSnippet objects - - - - - Represents a InsertSymbol dropdown item. - - - - - A strongly typed collection of EditorSymbol objects - - - - - Represents a SpellCheck dropdown item. - - - - - A strongly typed collection of SpellCheckerLanguage objects - - - - - A special EditorTool object, which is rendered as a separator by the default - ToolAdapter. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether this is visible. - - true if visible; otherwise, false. - - - - Gets the custom attributes which will be serialized on the client. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the type of the tool - by default it is a button - - The type of the tool on the client. - - - - - - - - Adds the specified item. - - The item. - - - - Determines whether the collection contains the specified item. - - The item. - - true if the collection contains the specified item; otherwise, false. - - - - - Copies the collection items to the specified array. - - - - - Adds the specified items to the collection. - - - - - Gets the index of the specified item. - - - - - Inserts the specified item at the specified index. - - - - - Removes the specified item. - - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - index is not a valid index in the . - The is read-only.-or- The has a fixed size. - - - - - - - - - - - - - - - - Gets or sets the tool at the specified index. - - - - - - - - - Represents a ToolStrip RadEditor tool, containing other tools. - - - - - - - - - - - - - - - - - - - - - Gets or sets the name of the tool strip. - - The name. - - - - Gets the collection of EditorTool objects, inside the tool strip. - - The tools. - - - - Encapsulates the properties used for ImageManager dialog management. - - - - - Gets or sets the default suffix for thumbnails. - - - A String, specifying the default thumbnail suffix. The default value - is "thumb". - - - Used in the ImageManager dialog. The value of the ImageEditorFileSuffix property is - used to determine if an image selected in the file browser is a thumbnail of another image - in the same folder. When a thumbnail image is selected in the file list, additional controls - for the image insertion appear - if the inserted image should link to the original one and - if the link that will be inserted will open in a new window. - - - - - Gets or sets the HttpHandlerUrl property of RadImageEditor control, which is incorporated in the ImageEditor dialog. - - - - - Gets or sets a value indicating whether to show the Image Editor tool in the Image Manager dialog. - - - - - Gets or sets a value indicating whether to show the thumbnail linking options in the image manager properties tab. - - - - - Gets or sets the ExplorerMode of the FileExplorer that handles the file browsing in the ImageManager - - - - - - - - - - - - - - - - - - - - - - - - - Gets the custom attributes which will be serialized on the client. - - - - Gets or sets the suffix for the custom dictionary files. - The default is -Custom - - The filenames are formed with the following scheme: Language + CustomDictionarySuffix + - ".txt". Different suffixes can be used to create different custom dictionaries for - different users. - - - - Gets or sets the path for the dictionary files. - The default is ~/App_Data/Spell/ - - This is the path that contains the TDF files, and the custom dictionary TXT - files. - - - - - Gets or sets a the edit distance. If you increase the value, the checking speed - decreases but more suggestions are presented. Applicable only in EditDistance mode. - - The default is 1 - - This property takes effect only if the - SpellCheckProvider property is set to - EditDistanceProvider. - - - - Gets or sets the value indicating whether the spell will allow adding custom words. - The default is true - - - - Gets or sets the spellcheck language if different than the Language property. - - - - - Configures the spellchecker engine, so that it knows whether to skip URL's, email - addresses, and filenames and not flag them as erros. - - - - - Specifies the type name for a custom spell check provider. - - - - - Specifies the spellchecking algorithm that will be used. - - - The default is TelerikProvider - - - - - Gets or sets the value used to configure the spellchecker engine to ignore words containing: UPPERCASE, some - CaPitaL letters, numbers; or to ignore repeated words (very very) - - - - - Gets or sets the URL, to which the spellchecker engine AJAX call will be made. Check the help for more information. - - - - - Gets or sets the type for the spell custom dictionary provider. - - - - - This property gets or sets a value, indicating whether to show the input box of the spin box element - - - - - Parses the ToolsFileContent property of RadEditor and initializes the corresponding - collections. - - - - - Initializes the Colors collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the ContextMenus collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the CssClasses collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the CssFiles collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Links collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Links collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Languages collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Links collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Modules collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Paragraphs collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the FormatSets collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Links collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Snippets collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Symbols collection from the ToolsFileContent property of RadEditor. - - - - - Initializes the Tools collection from the ToolsFileContent property of RadEditor. - - - - This is a base class for all column editors for GridCheckBoxColumn. - It defines the base properties for controls that can edit boolean values. - - - - Gets or sets the value for each cell in a - GridCheckBoxColumn. - - - - - The editor for the . - - - - - Provides a reference to the control in the corresponding grid cell of the current - GridCheckBoxColumn. - - - - - Gets or sets the style defining the appearance of the corresponding - check-box. - - - - - The ToolTip that will be applied to the control. - - - - - - - - - Gets or sets the value for each cell in a - GridCheckBoxColumn. - - - - - Exception which is thrown when a column editor encounters an error. - - - - - Exception thrown when encounters a generic error. - - - - - Summary description for GridCreateColumnEditorEvent. - - - - - The event arguments passed when creates a column editor and fires the - event. - - - - - Gets or sets the column editor that have been created. - - The the column editor that have been created. - - - - Gets or sets the associated column. - - The associated column. - - - - Summary description for GridDropDownColumnEditor. - - - - - - - - - Gets or sets the selected index of the drop down list control. - - The selected index of the drop down list control. - - - - Gets or sets the selected value of the drop down list control. - - The selected value of the drop down list control. - - - - Gets or sets the selected text of the drop down list control. - - The selected text of the drop down list control. - - - - Gets or sets the DataMember property of the drop down list control. - - The DataMember property of the drop down list control. - - - - Gets or sets the DataSource property of the drop down list control. - - The DataSource property of the drop down list control. - - - - Gets or sets the DataTextField property of the drop down list control. - - The DataTextField property of the drop down list control. - - - - Gets or sets the DataTextFormatString property of the drop down list control. - - The DataTextFormatString property of the drop down list control. - - - - Gets or sets the DataValueField property of the drop down list control. - - The DataValueField property of the drop down list control. - - - - The editor for the column. - - - - - - - - - - - - - Gets the control places in the cell if the - DropDownControlType property is set to DropDownList. - - The control places in the cell if the - DropDownControlType property is set to DropDownList. - - - - Gets the control places in the cell if the - DropDownControlType property is set to RadComboBox. - - The control places in the cell if the - DropDownControlType property is set to RadComboBox. - - - - Gets the drop down style used for the drop down list control. - - The drop down style used for the drop down list control. - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - - Gets or sets the selected value of the drop down list control. - - The selected value of the drop down list control. - - - - Gets or sets the selected text of the drop down list control. - - The selected text of the drop down list control. - - - - Gets or sets the selected index of the drop down list control. - - The selected index of the drop down list control. - - - - The editor for the . - - - - - Base class that intruduces the editor of GridBoundColumn. THis can be an editor that creates a simple TextBox control, ot RichTexst editors, that has a single string property Text. - - - - - Gets or sets the cell text. - - The cell text. - - - - The ToolTip that will be applied to the control. - - - - - Class tha implements data editing of a GridBoundColumn with a single TextBox control. - - - - - Gets The text box instance created of extracted from a cell after calls to AddControlsToContainer or LoadControlsFromContainer methods. - - - - - Gets the instace of the Style that would be applied to the TextBox control, when initializing in a TableCell. - - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - Gets or sets the cell text. - - The cell text. - - - - Gets or sets the text box control property. - - The text box control property. - - - - Gets or sets the text box control MaxLength property. - - The text box control MaxLength property. - - - - A column type for the RadGrid control that is bound to a field in a data - source. - - Grid column types - - The default data binding (when AutoGenerateColumns property - is set to true) generates GridBoundColumn type of columns. It - displays each item from the DataSource field as text. This column is - editable (implements the - IGridEditableColumn - interface) and provides by default GridTextColumnEditor, used for - editing the text in each item. - GridBoundColumn has three similar and yet different - properties controlling its visibility and rendering in a browser in regular and in - edit mode: - - Display - concerns only the appearance of the column in - browser mode, client-side. The column will be rendered in the browser but all - the cells will be styled with display: none. The column editor will be - visible in edit mode. - Visible - will stop the column cells from rendering in - browser mode. The column will be visible in edit mode. - - ReadOnly - the column will be displayed according to the - settings of previous properties in browser mode but will not appear in the - edit-form.
-
- - - None of these properties can prevent you from - accessing the column cells' content server-side using the - UniqueName of the column. - - -
-
-
-
- -
-            <telerik:GridBoundColumn FooterText="BoundColumn footer" UniqueName="CustomerID" SortExpression="CustomerID"
HeaderText="Bound<br/>Column" DataField="CustomerID">
</telerik:GridBoundColumn> -
-
- Grid Column types - Adding columns design-time - Using columns -
- - Resets the GridBoundColumn to its initial state. - - - - Resets the specified cell in the GridBoundColumn to its initial - state. - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets the field name from the specified data source to bind to the - GridBoundColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Gets a reference to the object that - allows you to set the properties associated with the columns' validation base on autogenerated validators. - - - - - Gets or sets the field name from the specified data source to bind to the - GridBoundColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Sets or gets whether cell content must be encoded. Default value is - false. - - - - - Sets or gets default text when column is empty. Default value is - "&nbsp;" - - - - - Gets or sets the footer aggregate format string. - - The footer aggregate format string. - - - - Gets or Sets an integer, specifying the maximum number of characters, which will - be accepted in the edit textbox for the field, when in edit mode. - - - An integer, specifying the maximum number of - characters, which the item will accept when in edit mode. - - - - -
- Use the DataFormatString property to provide a custom format for the items - in the column. - The data format string consists of two parts, separated by a colon, in the form { - A : Bxx }.
- For example, the formatting string {0:C2} displays a currency formatted number with two - decimal places.
- Note: The entire string must be enclosed in braces to indicate - that it is a format string and not a literal string. Any text outside the braces is - displayed as literal text. - The value before the colon (A in the general - example) specifies the parameter index in a zero-based list of parameters. -
- Note: This value can only be set to 0 because there is only one - value in each cell.
- The value before the colon (A in the general - example) specifies the parameter index in a zero-based list of parameters. - The character after the colon (B in the general - example) specifies the format to display the value in. The following table lists the - common formats. -
-
- - - - Format character - - Description - - - C - - Displays numeric values in currency format. - - - D - - Displays numeric values in decimal format. - - - E - - Displays numeric values in scientific (exponential) - format. - - - F - - Displays numeric values in fixed format. - - - G - - Displays numeric values in general format. - - - N - - Displays numeric values in number format. - - - X - - Displays numeric values in hexadecimal - format.
-
- Note: The format character is not case-sensitive, except for - X, which displays the hexadecimal characters in the case specified.
-
The value after the format character - (xx in the general example) specifies the number of - significant digits or decimal places to display.
- For more information on formatting strings, see - Formatting - Overview (external link to MSDN library).
-
- - Gets or sets the string that specifies the display format for items in the - column. - - - A string that specifies the display format for items in - the column - -
- - Gets or sets whether the column data can be filtered. - A boolean value, indicating whether the column data can be filtered. - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets a boolean value, indicating whether the column is editable. A ReadOnly - column will return a false value for this property. The property is readOnly. - - - A boolean value, indicating whether the column is - editable - - - - Defines what button will be rendered in a GridButtonColumn - - - Renders a standard hyperlink button. - - - Renders a standard button. - - - Renders an image that acts like a button. - - - Defines what kind of confirm dialog will be used in a GridButtonColumn - - - Standard browser confirm dialog. - - - RadWindow confirm dialog. - - - It displays a button for each item in the column. - Grid column types - - - This column renderes a button of the specified ButtonType in each corresponding - cell of the items of type and - . You can use this buttons to fire command - events that can be handeled in event - handler. This, in combination with the - event - bubbling mechanism in Telerik RadGrid, allows you to create a - column of custom button controls, such as Add, - Remove, Select or Edit - buttons. - - The available buttons types are: - PushButton,LinkButton and ImageButton. - Telerik RadGrid comes with two types of button columns: - - Select - when a button in this column is pressed, it - will select the whole row. The Select column below uses a - PushButton. - Remove selection - when a button in this column is - pressed, it will delete the row. The Remove selection column - below uses a LinkButton. - - - -
-                <radG:GridButtonColumn FooterText="PushButtonColumn<br/>footer" DataTextFormatString="Select {0}"
ButtonType="PushButton" UniqueName="column" HeaderText="PushButton<br/>Column"
CommandName="Select" DataTextField="CustomerID">
</radG:GridButtonColumn> -
-
- Grid Column types - Adding columns design-time - Using columns -
- - Constructs a new GridButtonColumn object. - - - - The Initialize method is inherited by a derived - GridButtonColumn class. Is is used to reset a column of the derived - type. - - - - - After a call to this method the column should add the corresponding button into - the cell given, regarding the inItem type and column index. - Note: This method is called within RadGrid and is not intended - to be used directly from your code. - - - - Returns a copy of the GridButtonColumn. - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Gets or sets the title that will be shown on the RadWindow confirmation dialog when a button - in this column is clicked. - - - - - Gets or sets a value indicating the type of the button that will be rendered. The - type should be one of the specified by the - enumeration. - - - - - LinkButton - Renders a standard hyperlink button. - - PushButton - Renders a standard button. - - ImageButton - Renders an image that acts like a - button. - - - - - Gets or sets the CssClass of the button - - - - - Gets or sets what kind of confirm dialog will be used in a . - - The type of the confirm dialog. - - - - Gets or sets the width of the Confirm Dialog (if it is a RadWindow) - - - - - Gets or sets the height of the Confirm Dialog (if it is a RadWindow) - - - - - Gets or sets a value defining the name of the command that will be fired when a - button in this column is clicked. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Fired By controls within DataItems - showing and - editing data
CancelCommandNameRepresents the Cancel command name. Fires RadGrid.CancelCommand - event and sets Item.Edit to false for the parent - Item.
DeleteCommandNameRepresents the Delete command name. Fires RadGrid.DeleteCommand - event. Under .Net 2.0 performs automatic delete operation and then sets - Item.Edit to false.
UpdateCommandNameRepresents the Update command name. Fires RadGrid.UpdateCommand - event. Under .Net 2.0 performs automatic update operation and then sets - Item.Edit to false.
- EditCommandNameRepresents the Edit command name. Sets Item.Edit to - true.
- SelectCommandNameRepresents the Select command name. Sets Item.Selected to - true.
- DeselectCommandNameRepresents the Deselect command name. Sets Item.Selected to - false.
- Can be fired by controls within any Item
- InitInsertCommandNameBy default grid renders an image button in the CommandItem. Opens - the insert item.
- PerformInsertCommandNameFires RadGrid.InsertCommand event. Under .Net 2.0 Perfoms - automatic insert operation and closes the insert item.
- RebindGridCommandNameBy default grid renders an image button in the CommandItem. Forces - RadGrid.Rebind
- SortCommandNameRepresents the Sort command name. By default it is fired by image buttons in the - header item when Sorting is enabled. The argument for the SortCommand - must be the DataField name for the DataField to be - sorted.
-
-
- - - Gets or sets an optional parameter passed to the Command event along with the - associated - CommandName. - - - - - Use the DataTextField property to specify the field name - from the data source to bind to the - Text property of the - buttons in the - GridButtonColumn object. - Binding the column to a field instead of directly setting the Text - property allows you to display different captions for the buttons in the - GridButtonColumn by using - the values in the specified field. - Tip: This property is most - often used in combination with - - DataTextFormatString Property. - - - Gets or sets a value from the specified datasource field. This value will then be - displayed in the GridBoundColumn. - - -
- - - - - - -
-
- - [ASPX/ASCX]<br/><br/><radg:RadGrid id=<font class="string">"RadGrid1"</font> runat=<font class="string">"server"</font>><br/> <MasterTableView AutoGenerateColumns=<font class="string">"False"</font>><br/> <Columns><br/> <radg:GridButtonColumn HeaderText=<font class="string">"Customer ID"</font><font color="red">DataTextField=<font class="string">"CustomerID"</font></font><br/><font color="red">DataTextFormatString=<font class="string">"Edit Customer {0}"</font></font> ButtonType=<font class="string">"LinkButton"</font> UniqueName=<font class="string">"ButtonColumn"</font>><br/> </radg:GridButtonColumn> - - - - - -
-
- - - Use the DataTextFormatString property to provide a custom - display format for the caption of the buttons in the - GridButtonColumn. - Note: The entire - string must be enclosed in braces to indicate that it is a format string and not a - literal string. Any text outside the braces is displayed as literal text. - - - - - - - - -
- - [ASPX/ASCX]<br/><br/><radg:RadGrid id=<font color="black"><font class="string">"RadGrid1"</font> runat=<font class="string">"server"</font>><br/> <MasterTableView AutoGenerateColumns=<font class="string">"False"</font>><br/> <Columns><br/> <radg:GridButtonColumn HeaderText=<font class="string">"Customer ID"</font></font><font color="red">DataTextField=<font class="string">"CustomerID"</font><br/>DataTextFormatString=<font class="string">"Edit Customer {0}"</font></font> ButtonType=<font class="string" color="black">"LinkButton"</font> UniqueName=<font color="black"><font class="string">"ButtonColumn"</font>><br/> </radg:GridButtonColumn></font> - -
- - Gets or sets the string that specifies the display format for the caption in each - button. - -
- - Gets or sets a value indicating the text that will be shown for a button. - - - - Gets or sets a value indicating the URL for the image that will be used in a - Image button. should be set to - ImageButton. - - - - - Gets or sets the text that will be shown on the confirmation dialog when a button - in this column is clicked. The prompt is automatically enabled when this property is - set. - - - - - Gets or sets a string, specifying the FormatString of the ConfirmText. - - - A string, specifying the FormatString of the - ConfirmText. - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will be applied to the formatting specified in the ConfirmTextFormatString property. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will be applied to the formatting specified in the ConfirmTextFormatString property. - - - - - - - - - - - - Gets the status of property. - - - - - If the corresponding is in edit mode - specifies whether this column will - render an Enabled=true button control, when the corresponding item is edit - mode. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Displays a CheckBox control for each item in the column. This allows you - to edit for example Boolean field(s) from data table(s). - - Grid column types - - This column is editable (implements the IGridEditableColumn - interface) and provides by default GridBoolColumnEditor, used for - editing the text in each item. You can persist the checked state of a checkbox, if you - use it within GridTemplateColumn - ( - see here). - - -
-                <radG:GridCheckBoxColumn FooterText="CheckBoxColumn footer" UniqueName="Bool" HeaderText="CheckBox<br/>Column"
DataField="Bool">
</radG:GridCheckBoxColumn> -
-
- Grid Column types - Adding columns design-time - Using columns - Similarities/Differences between GridCheckBoxColumn and GridTemplateColumn with - checkbox -
- - - - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets the field name from the specified data source to bind to the - column. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - Gets or sets whether the column data can be filtered. - A boolean value, indicating whether the column data can be filtered. - - - - The ToolTip that will be applied to every item control. - - - - - Gets a boolean value, indicating whether the column is editable. A ReadOnly - column will return a false value for this property. The property is readOnly. - - - A boolean value, indicating whether the column is - editable. - - - - - A special type of GridButtonColumn, including a delete buttons in each row. It - provides the functionality of erasing records client-side, without making a round trip - to the server. - - - This optimizes the performance and the source data is automatically refreshed - on the subsequent post to the server. The user experience is improved because the - delete action is done client-side and the table presentation is updated - immediately. - Its ConfirmText property can be assigned like with the default - GridButtonColumn showing a dialog which allows the user to cancel the - action. - - -
-            <radG:GridClientDeleteColumn ConfirmText="Are you sure you want to delete the selected row?" HeaderStyle-Width="35px" ButtonType="ImageButton" ImageUrl="~/RadControls/Grid/Skins/WebBlue/Delete.gif" />
-                
-
- Client-side delete feature - Grid column types - Client-side delete - Web Grid -
- - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - Gets or sets a value indicating the text that will be shown for a button. - - - - Gets or sets a value indicating the URL for the image that will be used in a - Image button. should be set to - ImageButton. - - - - - Displays a Checkbox control for each item in the column. This - allows you to select grid rows client-side automatically when you change the status of - the checkbox to checked. - - Column types - Client selection - - If you choose AllowMultiRowSelection = true for the grid, a - checkbox will be displayed in the column header to toggle the checked/selected stated - of the rows simultaneously (according to the state of that checkbox in the - header).
-
- To enable this feature you need to turn on the client selection of the grid - (ClientSettings -> Selecting -> AllowRowSelect = true). -
- -
-            <radG:GridClientSelectColumn UniqueName="CheckboxSelectColumn" HeaderText="CheckboxSelect column <br />" />
-                
-
- Grid Column types - Adding columns design-time - Using columns -
- - - - - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The collection of columns of RadGrid or its tables. Accessible through - Columns property of RadGrid and GridTableView (MasterTableView) - classes. - - - Its items are of the available Grid - column - types. - - - - GridBoundColumn boundColumn; - boundColumn = new GridBoundColumn(); - boundColumn.DataField = "CustomerID"; - boundColumn.HeaderText = "CustomerID"; - RadGrid1.MasterTableView.Columns.Add(boundColumn); - boundColumn = new GridBoundColumn(); - boundColumn.DataField = "ContactName"; - boundColumn.HeaderText = "Contact Name"; - RadGrid1.MasterTableView.Columns.Add(boundColumn); - RadGrid1.MasterTableView.Columns.Add( new GridExpandColumn() ); - - - Dim boundColumn As GridBoundColumn - boundColumn = New GridBoundColumn() - boundColumn.DataField = "CustomerID" - boundColumn.HeaderText = "CustomerID" - RadGrid1.MasterTableView.Columns.Add(boundColumn) - boundColumn = New GridBoundColumn() - boundColumn.DataField = "ContactName" - boundColumn.HeaderText = "Contact Name" - RadGrid1.MasterTableView.Columns.Add(boundColumn) - RadGrid1.MasterTableView.Columns.Add(New GridExpandColumn()) - - - - - Adds a column object to the GridColumnCollection. - The GridColumn object to add to the collection. - - - - Adds an item to the collection. - - The position into which the new element was inserted. - - - - Determines whether the CridColumnCollection contains the value specified - by the given GridColumn object. - - - true if the GridColumn is found in the - GridColumnCollection; otherwise, false. - - GridColumn object to locate in the GridColumnCollection. - - - - Determines the index of a specific column in the - GridColumnCollection. - - - The index of value if found in the collection; - otherwise, -1. - - The object to locate in the GridColumnCollection. - - - - Inserts a column to the GridColumnCollectino at the specified - index. - - - The zero-based index at which column should be - inserted. - - - - The to insert into the collection. - - - - - - Removes the first occurrence of an object from the - GridColumnCollection. - - The object to remove from the collection. - - - - Adds a column in the collection at the specified index. - - The index where the column will be inserted. - The column that will be inserted. - - - - Removes all column from the collection. - - - - - Copies the columns of the collection - to an , starting at a particular - index. - - The one-dimensional that is - the destination of the elements copied from . - The must have zero-based indexing. - The zero-based index in at which - copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- The number of elements in the - source is greater than the available - space from to the end of the destination .-or- - The type of the source collection cannot - be cast automatically to the type of the destination . - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - Determines the index of a specific column in the - GridColumnCollection. - - - The index of value if found in the collection; - otherwise, -1. - - - The to locate in the - GridColumnCollection. - - - - - Removes the first occurrence of a column from the - GridColumnCollection. - - The column to remove from the collection. - - - - Removes the GridColumnCollection item at the specified - index. - - The zero-based index of the item(column) to remove. - - - - Gets the first column with UniqueName found. Throws GridException if no column is found. - - - - - - - Gets the first column with UniqueName found. Returns null if no column is found. - - - - - - - Gets the first column found bound to the DataField. Throws GridException if no column is bound to this DataField - - - - - - - Gets the first column found bound to the DataField. Returns null is no column is bound to this DataField - - - - - - - Gets all columns found bound to the DataField specified. Returns null is no column is bound to this DataField - - - - - - - Gets a value indicating whether the collection - has a fixed size. - - true if the collection has a fixed size; - otherwise, false. - - - - Gets the number of columns added programmatically or declaratively. - - Note that this is not the actual number of column in a - . See also - - - RenderColumns Property (Telerik.Web.UI.GridTableView) - - - - Gets a value indicating whether the collection - is read-only. - - true if the collection is read-only; otherwise, - false. - - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - - If the column/detail table structure is created after the control has been - initialized (indicated by RadGrid.Init event ) the state of the - columns/detail tables may have been lost. This happens when properties have been set to - GridColumn/GridTableView instance before it has been - added to the corresponding collection of - Columns/DetailTables. Then a - GridException is thrown with message: "Failed accessing - GridColumn by index. Please verify that you have specified the structure of RadGrid - correctly." - - - - - Gets an object that can be used to synchronize access to the collection. - - An object that can be used to synchronize access to the collection. - - - - - - The event arguments passed when ColumnCreating event is fired - before creates an auto generated column. - - - - - Gets or sets the column which will be created. - - The column which will be created. - - - - Gets the type of the column which will be created. - - The type of the column which will be created. - - - - Gets the which holds the column which will be created. - - The which holds the column which will be created. - - - - The event arguments passed when ColumnCreated event is fired - when creates an auto generated column. - - - - - Gets the column that have been created. - - The column. - - - - Gets the which holds the column which have been created. - - The which holds the column which have beeen created. - - - - Enumeration determining what kind of picker will be used in the . - - - - - A column type for the RadGrid control that is bound to a field in a data - source which is of type DateTime. Displays RadDatePicker, RadDateTimePicker or RadDateInput for editor and filter control. - - Grid column types - - The default data binding (when AutoGenerateColumns property - is set to true) generates GridDateTimeColumn type of column for source field which is of type DateTime. It - displays each item from the DataSource field as text in regular mode. This column is - editable (implements the - IGridEditableColumn - interface) and provides by default GridDateTimeColumnEditor, used for - editing the date in each item. - GridDateTimeColumn has three similar and yet different - properties controlling its visibility and rendering in a browser in regular and in - edit mode: - - Display - concerns only the appearance of the column in - browser mode, client-side. The column will be rendered in the browser but all - the cells will be styled with display: none. The column editor will be - visible in edit mode. - Visible - will stop the column cells from rendering in - browser mode. The column will be visible in edit mode. - - ReadOnly - the column will be displayed according to the - settings of previous properties in browser mode but will not appear in the - edit-form.
-
- - - None of these properties can prevent you from - accessing the column cells' content server-side using the - UniqueName of the column. - - -
-
-
-
- -
-            <telerik:GridDateTimeColumn FooterText="GridDateTimeColumn footer" UniqueName="OrderDate" SortExpression="OrderDate"
HeaderText="GridDateTimeColumn" DataFormatString="{0:D}" DataField="OrderDate">
</telerik:GridBoundColumn> -
-
- Grid Column types - Adding columns design-time - Using columns -
- - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Evaluates the column filter expression based on the , , - , propeties. It could be used to handle custom - filtering and is internally used for determining FilterExpression value. - - - - - - Gets a string representing a filter expression, based on the settings of all - columns that support filtering, with a syntax ready to be used by a - DataView object - - - - - - - Gets or sets the data format that will be applied to the edit field - when a GridDataItem is edited in RadGrid - - - - - Gets or sets the picker type that will be used when rendering the column. - - If you use DataType="TimeSpan", change the PickerType to "TimePicker" and - the pickers UseTimeSpanForBinding property will be automatically set to "true". - - - - - - Gets or sets the MinDate property of the controls. - - The MinDate property of the controls. - - - - Gets or sets the MaxDate property of the controls. - - The MaxDate property of the controls. - - - - Gets or sets the date format that will be applied to the filter date input - when filtering is enabled - - - - - Gets or sets if range filtering is enabled for the column - - - - - Gets or sets if only date portion of the date is taken in effect when filtering - - - - - Enumeration determining whether a or a - will be used in the instance. - - - - - Here is the mechanism which Telerik RadGrid uses to present - values for GridDropDownColumn. Consider the snippet below: - <radg:GridDropDownColumn
- UniqueName="LevelID"
- ListDataMember="Level"
- ListTextField="Description"
- ListValueField="LevelID"
- HeaderText="LevelID"
- DataField="LevelID"
- />
- -
- As you can see, a requirement for the proper functioning of - GridDropDownColumn is that all column - values referenced by the DataField - attribute match the column values referenced by the - ListValueField attribute.
- If there are values in the LevelID column of the LevelID table which do not - have corresponding equal values in the LevelID column of the Level table, then - the grid will display the default first value from the Description column as it - will not "know" what is the correct field. -
-
- - Displays a DropDown control for each item in the column. This allows you - to edit for example lookup field(s) from data table(s). - - Grid column types - Grid Column types - Adding columns design-time - Using columns -
- - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - - - - - - - - - - - - - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets the drop down control DataTextFormatString value. - - The drop down control DataTextFormatString value. - - - - The ListDataMember property points to the data table (part - of the dataset used for grid data-source) which is the source for the - GridDropDownColumn generation. - - - - - A string, specifying the ID of the datasource control, which will be used to - populate the dropdown with data. - - - A string, specifying the ID of the datasource control, - which will be used to populate the dropdown with data. - - - - - The ListTextField points to the column in the data table - from which the grid will extract the values for the dropdown. - - - - - The ListValueField points to the column in the data table - which will be used as a pointer to retrieve the items for the dropdown in the - GridDropDownColumn. - - - - - Gets a reference to the object that - allows you to set the properties associated with the columns' validation base on autogenerated validators. - - - - - The DataField property points to the column in the grid - data-source containing values which will be compared at a later stage with the - values available in the column, referenced by the - %ListValueField:ListValueField% property. - - - - - Gets or sets a value indicating whether automatic load-on-demand - is enabled for the RadComboBox editor of this column. - - - - - Gets or sets a value indicating whether the RadComboBox editor - displays a More Results box. Setting this property to true requires - AllowAutomaticLoadOnDemand to be set to true. - - - - - Gets or sets a value indicating whether virtual scrolling is enabled - for RadComboBox editor. Setting this property to true requires - AllowAutomaticLoadOnDemand to be set to true - - - - - Gets or sets the number of Items the RadComboBox editor will load per Item request. - This property requires EnableAutomaticLoadOnDemand to be set to true. - - - Set this property to -1 to load all Items when AllowAutomaticLoadOnDemand is set to true - and disable Virtual Scrolling/Show More Results. The default is -1. - - - - - A Boolean value, indicating whether the dropdown column will be bound to a - default value/text when there is no data source specified, from which to fetch the - data. - - - A Boolean value, specifying whether the dropdown column - accepts EmptyListItemText and EmptyListItemValue strings. - - - - - A string, specifying the text to be displayed in normal mode, when there is no - Data Source specified for the column. In edit mode, this value is rendered as a - dropdown list item. When in edit mode, and there is a valid DataSource specified for - the control, this value is appended as the first item of the dropdown box. - - - A string, specifying the text to be displayed in - normal/edit mode, when there is no Data Source specified for the column. - - - - - A string value, representing the value, associated with the - . - - - A string value, representing the value, associated with - the . - - - - - Gets or sets the type of the dropdown control associated with the column. - - - Returns a value from the GridDropDownColumnControlType enumeration; default value is RadComboBox. - - - - - A Boolean value, indicating whether a dropdown column is editable. If it is - editable, it will be represented as an active dropdown box in edit mode. - - - A Boolean value, indicating whether a dropdown column - is editable. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - A Boolean property, which specifies whether filtering will be enabled for the - column. - - - A Bollean value, indicating whether a particular - dropdown column can be filtered. - - - - - Force RadGrid to extract values from EditableColumns that are ReadOnly. - See also the method. - - - - - No values would be extracted from ReadOnly column - - - - - Values will be extracted only when an item is NOT in edit mode - - - - - Values will be extracted only when an item is in edit mode - - - - - Values will be extracted in all cases. - - - - - Initially only the [Edit] button is shown. When it is pressed, the [Update] and - [Cancel] appear at its place and the cells on this row become editable. - - Grid column types - Web Grid - -
-            <radg:GridEditCommandColumn ButtonType="ImageButton" UpdateImageUrl="..\Img\Update.gif"
EditImageUrl="..\Img\Edit.gif" InsertImageUrl="..\Img\Insert.gif"
CancelImageUrl="..\Img\Cancel.gif" UniqueName="EditCommandColumn">
</radg:GridEditCommandColumn> -
-
- Grid Column types - Adding columns design-time - Using columns -
- - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Gets or sets a value indicating what type of buttons will be used in the - GridEditCommandColumn items. - - - - - Gets or sets a string representing the text that will be used for the Cancel - button, in the Edit/Insert form. - - string, representing the text that will be used for the Cancel button. - - - string, representing the text that will be used for the Edit button. - - Gets or sets a string, representing the text of the edit linkbutton, which is - located in the GridEditCommandColumn, and which will replace the default "Edit" - text. - - - - - A string, representing the text that will be used for - the Update button. - - - Gets or sets a string, representing the text that will be used for the Update - button. - - - - - A string, representing the text that will be used for - the Insert button. - - - Gets or sets a string, representing a text, which will be displayed instead of - the default "Insert" text for the GridEditFormInsertItem item. - - - - - Gets or sets the URL for the image that will be used to fire the Insert command. - This property should be used in conjunction with ButtonType set to - ImageButton. - - string, representing the URL of the image that is used. - - - - Gets or sets the URL for the image that will be used to fire the Update command. - This property should be used in conjunction with set - to ImageButton. - - string, representing the URL of the image that is used. - - - - A string, representing the URL of the image that is - used. - - - Gets or sets the URL for the image that will be used to fire the Edit command. - This property should be used in conjunction with ButtonType set to - ImageButton. - - - - - - A string, representing the url path to the image that will be used instead of the - default cancel linkbutton, in the EditForm. - - - A string, representing the url path to the image that - will be used instead of the default cancel linkbutton, in the EditForm. - - - - - - - - Gets or sets a unique name for this column. The unique name can be used to - reference particular columns, or cells within grid rows. - - - A string, representing the Unique name of the - column. - - - - - Enumeration determining the type of button to be used in the . - - - - - button. - - - - - button. - - - - - button. - - - - - button. - - - - - This column appears when the grid has a hierarchical structure, to facilitate the - expand/collapse functionality. The expand column is always placed in front of all other - grid content columns and can not be moved. - - Column Types - How to hide images of ExpandCollapse column when no records - - - - - - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Gets or Sets the text value which should be added to alt attribute of the filter control - - - - - Gets or sets a string, specifying the URL to the image, which will be used - instead of the default Expand image for the GridGroupSplitterColumn (the plus - sign). - - - A string, specifying the URL to the image, which will - be used instead of the default Expand image for the GridGroupSplitterColumn - - - - - Gets or sets a string, specifying the URL to the image, which will be used - instead of the default Collapse image for the GridGroupSplitterColumn (the minus - sign). - - - A string, specifying the URL to the image, which will - be used instead of the default Collapse image for the GridGroupSplitterColumn - - - - - Gets a Telerik.Web.UI.GridExpandColumnType value, indicating the type of the - button. The button of the GridExpandColumn is by default of type SpriteButton. - - - A Telerik.Web.UI.GridExpandColumnType value, indicating the type of the - button. - - - - - Gets or sets a string, specifying the Unique name of the column. The default value - is "ExpandColumn". - - function - GridCreated() { - } - - - - A string, specifying the Unique name of the - column. - - - - - Gets a Boolean value indicating whether the - GridGroupSplitterColumn is groupable. This value is always false. - - - Gets a Boolean value indicating whether the - GridGroupSplitterColumn is groupable. - - - - - Gets a Boolean value, indicating whether the GridExpandColumn is reorderable. - This value is always false, due to the specificity of the column, which should always - be positioned first. - - - A Boolean value, indicating whether the - GridExpandColumn is reorderable. - - - - - Gets a Boolean value, indicating whether the GridExpandColumn is resizable. - This value is always false, due to the specificity of the column, which should always - be positioned first. - - - A Boolean value, indicating whether the - GridExpandColumn is resizable. - - - - - Gets a Boolean value, indicating whether the GridExpandColumn is visible. - This value is always false, due to the specificity of the column. - - - A Boolean value, indicating whether the - GridExpandColumn is visible. - - - - - Gets or sets a string, representing the CommandName of the GridExpandColumn. The - command name's default value is "ExpandCollapse". It can be used to determine the - type of command in the ItemCommand event handler. - - function - GridCreated() { - } - - - - A string, representing the CommandName of the - GridExpandColumn. - - - - - - - - - This column appears when grouping is enabled, to facilitate the expand/collapse - functionality. The group splitter column is always placed first and can not be - moved. - - Grid Column types - Grouping demo with GridGroupSplitterColumn - - - - - - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets the value determining if the column is selectable. - - The value determining if the column is selectable. - - - - Gets or sets a string, specifying the URL to the image, which will be used - instead of the default Expand image for the GridGroupSplitterColumn (the plus - sign). - - - A string, specifying the URL to the image, which will - be used instead of the default Expand image for the GridGroupSplitterColumn - - - - - Gets or sets a string, specifying the URL to the image, which will be used - instead of the default Collapse image for the GridGroupSplitterColumn (the minus - sign). - - - A string, specifying the URL to the image, which will - be used instead of the default Collapse image for the GridGroupSplitterColumn - - - - - Gets a Boolean value indicating whether the - GridGroupSplitterColumn is groupable. This value is always false. - - - Gets a Boolean value indicating whether the - GridGroupSplitterColumn is groupable. - - - - - - This property is for internal usage. - - - - An enumeration, used to get/set the button type of the headers of the - columns. The default value is LinkButton. The possible values are: - - LinkButton - PushButton - TextButton - - If set to a value other than LinkButton, the property is only honored when - sorting is enabled. - - - - - Each row in a Hyperlink column will contain a predefined - hyperlink. This link is not the same for the whole column and can be defined for each - row individually. - - Grid column types - - The content of the column can be bound to a field in a data source or to a - static text. You can customize the look of the links by - using - CSS classes. - You can set multiple fields to a GridHyperlinkColumn through - its DataNavigateUrlFields property. These fields can later be used - when setting the DataNavigateUrlFormatString property and be part - of a query string: -
- - - - - - -
-
-            
-            <radG:GridHyperLinkColumn
DataNavigateUrlFields= "ProductID,OrderID"
DataNavigateUrlFormatString= "~/Details.aspx?ProductID={0}&OrderID={1}">
</radG:GridHyperLinkColumn>
-
-
-
-
-
- Grid Column types - Adding columns design-time - Using columns -
- - - - - - - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - Returns if the column supports filtering. - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - Determines whether [is bound to field name] [the specified URL fields]. - - The URL fields. - The name. - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the url of the windwow/frame that the hyperlink - will target. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will form the url of the windwow/frame that the - hyperlink will target. - - - - - Gets or sets a string, specifying the FormatString of the DataNavigateURL. - Essentially, the DataNavigateUrlFormatString property sets the formatting for the url - string of the target window or frame. - - - A string, specifying the FormatString of the - DataNavigateURL. - - - - - Gets or sets a string, representing the DataField name from the data source, - which will be used to supply the text for the hyperlink in the column. This text can - further be customized, by using the DataTextFormatString property. - - - A string, representing the DataField name from the data - source, which will be used to supply the text for the hyperlink in the column. - - - - - Gets or sets a string, specifying the format string, which will be used to format - the text of the hyperlink, rendered in the cells of the column. - - - A string, specifying the format string, which will be - used to format the text of the hyperlink, rendered in the cells of the column. - - - - - Gets or sets a string, specifying the url, to which to navigate, when a hyperlink - within a column is pressed. This property will be honored only if the - DataNavigateUrlFields are not set. If either - DataNavigateUrlFields are set, they will override the - NavigateUrl property. - - - A a string, specifying the url, to which to navigate, - when a hyperlink within a column is pressed. - - - - - Gets or sets a value specifying the ImageUrl property of the HyperLink control - rendered in every data cell of the GridHyperLinkColumn. - - - - - Sets or gets a string, specifying the window or frame at which to target - content. The possible values are: - _blank - the target URL will open in a new window
- _self - the target URL will open in the same frame as it was clicked
- _parent - the target URL will open in the parent frameset
- _top - the target URL will open in the full body of the window
-
- - A string, specifying the window or frame at which to - target content. - -
- - - Gets or sets a string, specifying the text to be displayed by the hyperlinks in - the column, when there is no DataTextField specified. - - - A string, specifying the text to be displayed by the - hyperlinks in the column, when there is no DataTextField specified. - - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Displays each item in the column in accordance with a specified templates (item, - edit item, header and footer templates). This allows you to provide custom controls in - the column. - - Grid column types - -
-            <radG:GridTemplateColumn UniqueName="TemplateColumn" SortExpression="CompanyName">
<FooterTemplate>
<img src="Img/image.gif" alt="" style="vertical-align: middle" />
Template footer
- </FooterTemplate>
<HeaderTemplate>
- <table id="Table1" cellspacing="0" cellpadding="0" width="300" border="1">
<tr>
<td colspan="2" align="center">
<b>Contact details</b></td>
</tr>
<tr>
<td style="width: 50%" align="center">
- <asp:LinkButton CssClass="Button" Width="140" ID="btnContName" Text="Contact name"
- ToolTip="Sort by ContactName" CommandName='Sort' CommandArgument='ContactName'
- runat="server" /></td>
<td style="width: 50%" align="center">
- <asp:LinkButton CssClass="Button" Width="140" ID="btnContTitle" Text="Contact title"
- ToolTip="Sort by ContactTitle" CommandName='Sort' CommandArgument='ContactTitle'
- runat="server" /></td>
</tr>
</table>
- </HeaderTemplate>
<ItemTemplate>
- <table cellpadding="1" cellspacing="1" class="customTable">
- <tr>
<td style="width: 50%">
- </%# Eval("ContactName") /%>
</td>
- <td style="width: 50%">
- </%# Eval("ContactTitle") /%>
- </td>
</tr>
<tr>
- <td colspan="2" align="center">
- <a href='</%# "http://www.google.com/search?hl=en&q=" + DataBinder.Eval(Container.DataItem, "ContactName") + "&btnG=Google+Search"/%>'>
- <em>Search Google for
</%# Eval("ContactName") /%>
- </em></a>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<img src="Img/image.gif" alt="" />
- </td>
</tr>
</table>
- </ItemTemplate>
</radG:GridTemplateColumn> -
-
- Grid Column types - Adding columns design-time - Using columns - Customizing with GridTemplateColumn - Persisting CheckBox control state in GridTemplateColumn on Rebind - - You can view and set templates using the Edit Templates command in grid's - Smart Tag. - You can also create the template columns programmatically and bind the - controls in the code-behind (see - Programmatic creation of - Telerik RadGrid). - Note: Unlike other grid columns, GridTemplateColumn cannot - be set as read-only. - - Programmatic creation -
- - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - Gets or sets a string, specifying which DataField from the data source the - control will use to handle the automatic filtering. - - - A string, specifying which DataField from the data - source the control will use to handle the automatic filtering. - - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - - Gets or sets the field name from the specified data source to bind to the - GridTemplateColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Sets or gets the format string for the footer/group footer aggregate. - - The format string for the footer/group footer aggregate. - - - - Gets or sets the HTML template of a - item when using client-side databinding. - - - - - Gets or sets the ItemTemplate, which is rendered in the control in edit mode. - - A value of type ITemplate - - - - Gets or sets the ItemTemplate, which is rendered in the control in insert mode. - - A value of type ITemplate - - - - Gets or sets the template, which will be rendered in the footer of the template - column. - - A value of type ITemplate. - - - - Gets or sets the template, which will be rendered in the header of the template - column. - - A value of type ITemplate. - - - - Gets or sets the ItemTemplate, which is rendered in the control in normal - (non-Edit) mode. - - A value of type ITemplate - - - - Gets a Boolean value, indicating whether the column is editable. If a template - column is editable, it will render the contents of the EditItemTemplate in the edit - form or InsertItemTemplate, if such defined, in the insert form. - If there are no contents in the EditItemTemplate or InsertItemTemplate, the column will not be - editable. - - - A Boolean value, indicating whether the column is - editable. - - - - - Set to false if templates should overwrite other controls in header cell (sort image, etc) - - - - - A base class holding properties for all event arguments related with changing the - data. Examples: , , - . - - - - - Gets the rows affected from the operation that changed the data. - - The rows affected from the operation that changed the data. - - - - Gets the exception related with the operation. The property value will be - 'null' if no exception occured during the operation. - - The exception. - - - - Gets the caused the event. - - The caused the event. - - - - Gets or sets a value which if set to 'true' and exception was thrown - will cause the to skip throwing the exception - and will let the user handle it. - - A value which if set to 'true' and exception was thrown - will cause the to skip throwing the exception - and will let the user handle it. - - - - Event arguments passed when updates a record. - - - - - Gets or sets a value determining if the which - fired the event will stay in edit mode after the postback. - - A value determining if the which - fired the event will stay in edit mode after the postback. - - - - Gets or sets a value determining if the method - will be called after the event. - - A value determining if the method - will be called after the event. - - - - Event arguments passed when inserts a new record. - - - - - Gets or sets a value determining if the which - fired the event will stay in insert mode after the postback. - - A value determining if the which - fired the event will stay in insert mode after the postback. - - - - Event arguments passed when deletes a record. - - - - - - - - - - - - - Number of items in the group - - - - - Number of items displayed on the page - - - - - if true Group is countinued from the previous page or it continues - on the next page if value of false - - - - - Summary description for DataSetHelper. - - - - - Summary description for DefaultValueChecker. - - - - - Type of the edit forms in RadGrid - - - - - Form is autogenerated, based on the column that each GridTableView exposes. - - - - - The edit form is a WebUserControl specified by - - - - - The template specified by is used as an edit form. - - - - - Settings for the edit forms generated by a for each item that is in edit mode and the - is set to . - - - Set the type of the EditForm using . - If the type is then the form will be autogenerated based on the - columns of the corresponding table view. Note that only the columns that are editable wil be included. Those are - the standatrd columns that have editing capabilities - such that has - set to false. All the style properties apply only to the autogenerated edit form. - See for more details on the types of the edit forms. - - - - - Set properties of the update-cancel buttons column that appears in an edit form - - - - - Number of vertical columns to split all edit fields on the form when it is autogenerated. - Each GridColumn has a to choose the column where - the editor would appear. - - - - - Data field to incude in form's caption - - - - - Caption format string - {0} parameter must be included and would be repaced with DataField value - - - - - Caption for the pop-up insert form - - - - - Style of the forms's area (rendered as a DIV elemet) - - - - - Style of the forms' table element - - - - - Style of the forms' main table element - - - - - Style of the table row that shows the caption of the form - - - - - Style of the normal rows in the edit-form's table - - - - - Style of the alternating rows in the edit-form's table - - - - - Style of the footer row of the table, where the update-cancel buttons appear - - - - - Specifies the type of the edit form. See about details for - the possible values and their meanings. - - - - - Name (filename) of the if is of type . - - - You have two options regarding the implementation of the web user control depending on the - desired mode of exchanging data between Telerik RadGrid and the UserControl instances. - As the binding container of the edit form is a GridEditFormItem and UserControl is a binding container iteself too, - in order to access data from the object currently the edit form is binding to - the binding-expressions used in the UserControl should be implemented in a slightly different then the traditional way. - Here is an example of declaration of a TextBox server control that should be bound to the Region property - of the DataItem in RadGrid: - - ;' /> - ]]> - - The container object is always the UserControl isself. That is why you should refer the parent - object, which is actually a edit for table cell in the grid's . Then - the BindingContainer would refer the binding GridEditFormItem instance. - - If using this kind of expression seems in some way uncorfotable, you have another option. - You user control should implement a property with name DataItem. The type of the propertry - should be public and assignable from the type of the object that construct the data-source for RadGrid. - For example if you bind to a DataSet then the DataItem can be declared as: - c#: - - - private DataRowView _dataItem = null; - - public DataRowView DataItem - { - get - { - return this._dataItem; - } - set - { - this._dataItem = value; - } - } - - - VB.NET - - private _dataItem As DataRowView = Nothing - - Public Property DataItem As DataRowView - Get - Return Me._dataItem - End Get - Set (ByVal value As DataRowView) - Me._dataItem = value - End Set - End Property - - - DataItem can also be declared as of type object. - - Then in the usercontrol code, an expression binding the text of a TextBox control - to the Country property of the datasource item can be declared this way: - - '> - - ]]> - - - - - - EditForm template - if EditFormType if is of type . - - - - - Gets a reference to class providing properties - related to PopUp EditForm. - - - - - The summary attribute for the table that wraps the whole . - - - - - The caption for the table that wraps the whole . - - - - - The summary attribute for the table which holds all cells created from the grid column editors. - - - - - The caption for the table which holds all cells created from the grid column editors. - - - - - The class holding settings when setting up . - - - - - Gets or sets the visibility and position of scroll bars in the popup control. - - The scroll bars. - - - - Gets or sets if the popup will be modal. If set to true - the background will be grayed and only operations in the popup - will be possible. - - - - - Gets or sets the z-index css property of the modal popup. - - The z-index css property of the modal popup. - - - - Gets or sets a value specifying the grid height in pixels (px). - - the default value is 300px - - - - Gets or sets a value specifying the grid height in pixels (px). - - the default value is 400px - - - - Gets or sets the tooltip that will be displayed when you hover the - close button of the popup edit form. - - - - - Gets or sets a value indicating whether the caption text is shown in the edit form. - - - - - The class is responsible for editors. - Depending on the column type a different editor is created. - - - - - Gets the for the specified column. - - The for the specified column. - - - - - Gets the for the specified column by providing a . - - The for the specified column by providing a . - - - - - Serves as the abstract base class for data tables. This class provides the - methods and properties common to all tables in - Telerik RadGrid. - - - - - - - - - Occurs when a different item is selected in a table between posts to the - server. - - - - - Occurs when a different cell/cells is/are selected in a table between posts to the - server. - - - - Gets or sets the tab index of the Web server control. - - - - Gets or sets the amount of space between the contents of a cell and the cell's - border. - - - - Gets or sets the amount of space between cells. - - - - - - - - Gets or sets a value that specifies whether the border between the cells of a - data table is displayed. - - - - - Gets or sets the horizontal alignment of a data table within its - container. - - - - - The class holding all client-side events associated with the control. - - - - - This event is fired when the grid request data using client-side data-binding. - - - - - This event is fired if request for data fails when using client-side data-binding. - - - - - This event is fired when the grid client-side data is retrieved from the server. - - - - - This event is fired when the grid client-side data-binding is finished. - - - - - This event is fired before grid creation. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - Examples - - - ascx/aspx - <ClientEvents - OnGridCreating="GridCreating" ... - - JavaScript - <script> -
- function - GridCreating() - { - alert("Creting grid with ClientID: " + this.ClientID); - }
- </script>
-
- This client-side event is fired before grid creation. -
- - - Gets or sets the client-side event which is fired when header - fires its 'Showing' event. - - The header menu showing event. - - - - Gets or sets the client-side event which is fired when a row is dropping. - - The on row dropping event. - - - - Gets or sets the client-side event which is fired when a row is dropped. - - The on row dropped event. - - - - Gets or sets the client-side event which will be fired when a row drag starts. - - The row drag started event. - - - - This event is fired after the grid is created. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnGridCreated="GridCreated" ... - - JavaScript - <script> - function GridCreated() - { - alert("Grid with ClientID: " + this.ClientID + " was created"); - } - </script> - - This client-side event is fired after the grid is created. - - - - This event is fired when RadGrid object is destroyed, i.e. on each - window.onunload - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - Examples - - - ascx/aspx - <ClientEvents - OnGridCreating="GridDestroying" ... - - JavaScript - <script> - function - GridDestroying() - { - alert("Destroying grid with ClientID: " + this.ClientID); - } - </script> - - - This client-side event is fired when RadGrid object is - destroyed, i.e. on each window.onunload - - - - - This event is fired before the MasterTableView is created. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - Examples - - - ascx/aspx - <ClientEvents - OnMasterTableViewCreating="MasterTableViewCreating" ... - - JavaScript - <script> - function - MasterTableViewCreating() - { - alert("Creating MasterTableView"); - } - </script> - - This client-side event is fired before the MasterTableView is created. - - - - This event is fired after the MasterTableView is created. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnMasterTableViewCreated="MasterTableViewCreated" ... - - JavaScript - <script> - function - MasterTableViewCreated() - { - alert("MasterTableView was created"); - } - </script> - - This client-side event is fired after the MasterTableView is created. - - - - This event is fired before table creation. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnTableCreating="TableCreating" ... - - JavaScript - <script> - function - TableCreating() - { - alert("Creating DetailTable"); - } - </script> - - This client-side event is fired before table creation. - - - - This event is fired after the table is created. - - - - Fired by - RadGrid - - - Arguments - RadGridTable Object - - - Can be canceled - No - - Examples - - - ascx/aspx - <ClientEvents - OnTableCreated="TableCreated" ... - - JavaScript - <script> - function - TableCreated(tableObject) - { - alert("DetailTable with ClientID: " + tableObject.ClientID + " was - created"); - } - </script> - - This client-side event is fired after the table is created. - - - - This event is fired when table object is destroyed. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnTableDestroying="TableDestroying" ... - - JavaScript - <script> - function - TableDestroying() - { - alert("Destroing DetailTable with ClientID: " + this.ClientID); - } - </script> - - This client-side event is fired when table object is destroyed. - - - - This event is fired before a column cell is selected client-side. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - Yes - - - Examples - - - ascx/aspx - <ClientEvents - OnCellSelecting="CellSelecting" ... - - JavaScript - <script> - function - CellSelecting() - { - alert("Selecting column cell!"); - } - </script> - - - This client-side event is fired before a column cell is selected client-side. - - - - - This event is fired after a column cell is selected client-side. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnCellSelected="CellSelected" ... - - JavaScript - <script> - function - CellSelected() - { - alert("Cell selected!"); - } - </script> - - - This client-side event is after a column cell is selected client-side. - - - - - This event is fired before a column cell has been deselected client-side. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - Yes - - - Examples - - - ascx/aspx - <ClientEvents - OnCellDeselecting="CellDeselecting" ... - - JavaScript - <script> - function - CellDeselecting() - { - alert("Cell deselecting!"); - } - </script> - - - This client-side event is before a column cell is deselected client-side. - - - - - This event is fired after a column cell has been deselected client-side. - - - - Fired by - RadGrid - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnCellDeselected="CellDeselected" ... - - JavaScript - <script> - function - CellDeselected() - { - alert("Cell deselected!"); - } - </script> - - - This client-side event is after a column cell is deselected client-side. - - - - - This event is fired before column available at client-side creation. - - - - Fired by - RadGridTable - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnColumnCreating="ColumnCreating" ... - - JavaScript - <script> - function - ColumnCreating() - { - alert("Creating column); - } - </script> - - - This client-side event is fired before column available at client-side - creation. - - - - - This event is fired after a column available at client-side is created. - - - - Fired by - RadGridTable - - - Arguments - RadGridTableColumn object - - - Can be canceled - No - - Examples - - - ascx/aspx - <ClientEvents - OnColumnCreated="ColumnCreated" ... - - JavaScript - <script> - function - ColumnCreated(columnObject) - { - alert("Column with Index: " + columnObject.Index + " was created"); - } - </script> - - - This client-side event is fired after a column available at client-side is - created. - - - - - This event is fired when a column object is destroyed. - - - - Fired by - RadGridTable - - - Arguments - N/A - - - Can be canceled - No - - - Examples - - - ascx/aspx - <ClientEvents - OnColumnDestroying="ColumnDestroying" ... - - JavaScript - <script> - function - ColumnDestroying() - { - alert("Destroing column with Index: " + this.Index); - } - </script> - - This client-side event is fired when a column object is destroyed. - - - - This event is fired before a column is resized. - - - - Fired by - RadGridTable - - - Arguments - columnIndex, columnWidth - - - Can be canceled - Yes, return false to cancel - - - Examples - - - ascx/aspx - <ClientEvents - OnColumnResizing="ColumnResizing" ... - - JavaScript - <script> - function - ColumnResizing(columnIndex, columnWidth) - { - alert("Resizng column with Index: " + columnIndex + ", width: " + - columnWidth); - } - OR - function - ColumnResizing(columnIndex, columnWidth) - { - return false; //cancel ColumnResizing event - } - </script> - - This client-side event is fired before a column is resized. - - - - Gets or sets the client-side event which will be fired when a column have been resized. - - The column resized event. - - - - Gets or sets the client-side event which will be fired before a column have been swapped. - - The column swapping event. - - - - Gets or sets the client-side event which will be fired when a column have been swaped. - - The column swapped event. - - - - Gets or sets the clint-side event which will be fired before a column have been moved to the left. - - The column moving to left event. - - - - Gets or sets the client-side event which will be fired after a column have been moved to the left. - - The column moved to left event. - - - - Gets or sets the clint-side event which will be fired before a column have been moved to the right. - - The column moving to right event. - - - - Gets or sets the client-side event which will be fired after a column have been moved to the right. - - The column moved to right event. - - - - Gets or sets the client-side event which is fired before a column have been hidden. - - The column hiding event. - - - - Gets or sets the client-side event which is fired when a column have been hidden. - - The column hidden event. - - - - Gets or sets the client-side event which will be fired before a column have been shown. - - The column showing event. - - - - Gets or sets the client-side event which will be fired when a column is shown. - - The column shown event. - - - - Gets or sets the client-side event which will be fired before a row have been created. - - The row creating event. - - - - Gets or sets the client-side event which will be fired when a row have been created. - - The row created event. - - - - Gets or sets the client-side event which will be fired when a row have been destroyed. - - The row destroying event. - - - - Gets or sets the client-side event which will be fired before a row have been resized. - - The on row resizing. - - - - Gets or sets the client-side event which is fired when a row have been resized. - - The row resized event. - - - - Gets or sets the client-side event which will be fired before a row is hidden. - - The row hiding event. - - - - Gets or sets the client-side event which will be fired when a row have been hidden. - - The on row hidden. - - - - Gets or sets the client-side event which will be fired before a row is shown. - - The row showing event. - - - - Gets or sets the client-side event which will be fired when a row have been shown. - - The row shown event. - - - - Gets or sets the client-side event which will be fired when a row have been clicked. - - The row click event. - - - - Gets or sets the client-side event which will be fired when a row have been double clicked. - - Thes row double click event. - - - - Gets or sets the client-side event which will be fired when a colum have been clicked. - - The on column click. - - - - Gets or sets the client-side event which will be fired when a column have been double clicked. - - The column double click event. - - - - Gets or sets the client-side event which will be fired before a row is selected. - - The row selecting event. - - - - Gets or sets the client-side event which will be fired when a row have been selected. - - The row selected event. - - - - Gets or sets the client-side event which will be fired before a row is deselected. - - The row deselecting event. - - - - Gets or sets the client-side event which will be fired when a row have been deselected. - - The row deselected event. - - - - Gets or sets the client-side event which will be fired when a mouse hovers over a row element. - - The row mouse over event. - - - - Gets or sets the client-side event which will be fired when a mouse leaves a row element. - - The row mouse out event. - - - - Gets or sets the client-side event which will be fired when a mouse hovers over a column element. - - The column mouse over event. - - - - Gets or sets the client-side event which will be fired when a mouse leaves a column element. - - The column mouse out event. - - - - Gets or sets the client-side event which will be fired when a column is right clicked. - - The on column context menu. - - - - The client-side script - for RadGrid.ClientSettings.ClientEvents.OnRowContextMenu kills any exceptions that - occur in the event handler. This can make bugs hard to track down because it - appears that nothing happens when actually the exception was killed before it - becomes visible. - You can avoid this problem by putting a try/catch block around the - event handler that sends an alert if an exception was thrown: -
-            RadGrid1.ClientSettings.ClientEvents.OnRowContextMenu = " try { ... my event handling code ... } catch (exp) { alert(exp.message); }";
-                
-
-
- - - Gets or sets the client-side event which will be fired when is scrolled. - - The on scroll. - - - - Gets or sets the client-side event which will be fired when the grid is foused and a key is pressed. - - The on key press. - - - - Gets or sets the client-side event which is fired before a hierarchy is expanded. - - The hierarchy expanding event. - - - - Gets or sets the client-side event which is fired after a hierarchy have been expanded. - - The hierarchy expanded event. - - - - Gets or sets the client-side event which will be fired before a hierarchy is collapsed. - - The hierarchy collapsing event. - - - - Gets or sets the client-side event which will be fired after a hierarchy have have been collapsed. - - The on hierarchy collapsed. - - - - Gets or sets the client-side event which is fired before a group is expanded. - - The group expanding event. - - - - Gets or sets the client-side event which is fired after a group have been expanded. - - The group expanded event. - - - - Gets or sets the client-side event which is fired before a group is collapsed. - - The group collapsing event. - - - - Gets or sets the client-side event which is fired after a group have been collapsed. - - The group collapsed event. - - - - Gets or sets the client-side event which will be fired before a active row changes. - - The active row changing event. - - - - Gets or sets the client-side event which will be fired after active row have changed. - - The active row changed event. - - - - Gets or sets the client-side event which will be fired before - row have been deleted with GridClientDeleteColumn or deleteItem method. - - The row deleting event. - - - - Gets or sets the client-side event which will be fired after a - row have been deleted with GridClientDeleteColumn or deleteItem method. - - The row deleted event. - - - - Gets or sets the client-side event which will be fired before the filter menu is shown. - - The filter menu showing event. - - - - Gets or sets the client-side event which will fired before a popup is shown. - - The pop up showing event. - - - - Gets or sets the client-side event which will be fired when a command occurs. - - The command event. - - - - Gets or sets the client-side event which will be fired when a - row is data bound. Note that the event could only be used in - client-side data binding scenario. - - The row data bound event. - - - - Gets or sets a client-side event which helps in custom implementation of the batch editing functionality. - Gets the value from the edit control which is positioned in the GridTemplateColumn.EditItemTemplate. - - - - - Gets or sets a client-side event which helps in custom implementation of the batch editing functionality. - Gets the value from the cell which is positioned in the GridTemplateColumn.ItemTemplate. - - - - - Gets or sets a client-side event which helps in custom implementation of the batch editing functionality. - Sets the value from the edit control which is positioned in the GridTemplateColumn.EditItemTemplate. - - - - - Gets or sets a client-side event which helps in custom implementation of the batch editing functionality. - Sets the value from the cell which is positioned in the GridTemplateColumn.ItemTemplate. - - - - - Gets or sets the client-side event which will be fired when the is Batch - and a cell value is changing. The event could be canceled. - - - - - Gets or sets the client-side event which will be fired when the is Batch - and a cell value have been changed. - - - - - Contains properties related to messages appearing as tooltips for various grid - actions. You can use this class for localizing the grid messages. - - - - - Gets or sets a string that will be displayed as a tooltip when you start dragging - a column header trying to reorder columns. - - - string, the tooltip that will be displayed when you try to - reorder columns. By default it states "Drop here to reorder". - - - - - Gets or sets a string that will be displayed as a tooltip when you hover a column - that can be dragged. - - - string, the tooltip that will be displayed hover a draggable - column. By default it states "Drag to group or reorder". - - - - - string, the tooltip that will be displayed when you hover the - resizing handle of a column. By default it states "Drag to - resize". - - - Gets or sets a string that will be displayed as a tooltip when you hover the - resizing handle of a column. - - - - - The format string used for the tooltip when using Ajax scroll paging or the Slider pager - - - - - The format string used for the tooltip when resizing a column - - - - - The class containing properties associated with the client-side functionlities of . - - - - This method is for Telerik RadGrid internal usage. - - Checks if a client settings property value was changed and differs from its - default. - - - - - Gets a reference to class providing properties - related to client-side data-binding settings. - - - - - Gets a reference to class providing properties - related to client-side selection features. - - - - Gets a reference to class. - - - - Gets a reference to class, holding properties - that can be used for localizing Telerik RadGrid. - - - - - Gets a reference to class, holding properties - related to RadGrid keyboard navigation. - - - - - Gets or sets the index of the active row. - - The index of the active row. - - - - Gets a reference to , which holds various - properties for setting the Telerik RadGrid scrolling features. - - - - - Gets a reference to , which holds properties related - to Telerik RadGrid resizing features. - - - - - Gets or sets if a style is applied when a mouse is over a row. - - The enable row hover style. - - - - Determines whether the alternating items will render with a different CSS class. - - - - - Gets or sets the value determining if the rows could be dragged and dropped. - - The allow rows drag drop. - - - - Gets or sets the value dermeming if a row click will trigger a postback. - - The enable post back on row click. - - - - Gets or sets a value indicating whether the keyboard navigation will be enabled - in Telerik RadGrid. - - - true, if keyboard navigation is enabled, otherwise false (the default - value). - - -
    -
  • Arrowkey Navigation - allows end-users to navigate around - the menu structure using the arrow keys.
  • -
  • select grid items pressing the [SPACE] key
  • -
  • edit rows hitting the [ENTER] key
  • -
-
-
- - - Gets or sets a value indicating whether you will be able to drag column headers to - and let the grid automatically form - and group its data. - - - true, if you are able to drag group header to the group panel, - otherwise false (the default value) - - - - - Gets or sets a value indicating whether you will be able to reorder columns by - using drag&drop. By default it is false. - - ReorderColumnsOnClient Property - - true if reorder via drag&drop is enabled, otherwise - false (the default value). - - - - - Gets or sets a value indicating whether MasterTableView will be automatically scrolled when an item is dragged. - - - - - Gets or sets a value indicating whether columns will be reordered on the client. - This property is meaningful when used in conjunction with - set to true. - - - False by default, which means that each time you try to reorder columns a - postback will be performed. - Note that in case this property is true the order changes will be persisted - on the server only after postback. - - - true if columns are reordered on the client, otherwise - false (the default value. - - - - - Gets or sets the columns reorder method determining behavior when reordering method. - - The columns reorder method. - - - - Gets or sets a value which determines if the RadGrid rows could be hidden. - - The allow row hide. - - - - Gets or sets the property determining if the columns could be hidden. - - The allow column hide. - - - - Gets or sets a value indicating whether the expand/collapse functionality for - hierarchical structures in grid will be enabled. - The AllowExpandCollapse property of RadGrid is meaningful with client - hierarchy load mode only and determine
- whether the end user will be able to expand/collapse grid items. This property do - not control the visibility of the corresponding expand/collapse column.
-
- - This property should be set to true, when working in - HierarchyLoadMode.Client. - - - true if expand/collapse is enabled, otherwise - false (the default value). - -
- - - Gets or sets a value indicating whether the expand/collapse functionality for - grouped data in grid will be enabled. - The AllowGroupExpandCollapse property of RadGrid is meaningful with client - group load mode only and determine whether the end user will be able to - expand/collapse grid items. This property do not control the visibility of the - corresponding expand/collapse column. - - - true, if expand/collapse is enabled, otherwise - false (the default value). - - - - - - - - - - - - - Gets a reference to class providing properties - related to client-side grid animations. - - - - - - - - - Gets if the client-side row objects will be created. - - - - - Class holding the columns reorder methods - determining the behavior when reordering method. - - - - - The swap method will swap the columns. - - - - - The reorder method will reorder the columns instead of swapping them. - - - - - The event arguments passed when reorders a column. - - - - - Gets or sets a value indicating whether - event will be canceled. - - - true, if the event is canceled, otherwise - false. - - - - - Gets the column which will be reordered. - - The column which will be reordered. - - - - Gets the column on which place will be positioned the reordered column. - - The column on which place will be positioned the reordered column. - - - For internal usage only. - - - - For internal usage only. - - - - Represents the method that will handle grid's Command events including - CancelCommand, DeleteCommand, EditCommand, InsertCommand, ItemCommand, SortCommand and - UpdateCommand. - - The source of the event. - A object that contains the event data. - - - - Provides data for Command events including CancelCommand, DeleteCommand, - EditCommand, InsertCommand, ItemCommand, SortCommand and UpdateCommand. - - - - - Fires the command stored in - property - - - - Gets the source of the command - - - // Get a reference to the control that triggered expand/collapse command - protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) - { - if (e.CommandName == RadGrid.ExpandCollapseCommandName) - { - Control c = e.CommandSource as Control; - } - } - - - ' Get a reference to the control that triggered expand/collapse command - Protected Sub RadGrid1_ItemCommand([source] As Object, e As GridCommandEventArgs) - If e.CommandName = RadGrid.ExpandCollapseCommandName Then - Dim c As Control = e.CommandSource - End If - End Sub 'RadGrid1_ItemCommand - - - - - Gets the item containing the command source - - - protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) - { - if (e.Item is GridEditFormItem && e.Item.IsInEditMode) - { - GridEditFormItem item = e.Item as GridEditFormItem; - Hashtable newValues = new Hashtable(); - item.OwnerTableView.ExtractValuesFromItem(newValues, item); - if (newValues["Name"].ToString() == "DefaultName") - { - e.Canceled = true; - } - } - } - - - Protected Sub RadGrid1_UpdateCommand([source] As Object, e As GridCommandEventArgs) - If Typeof e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode Then - Dim item As GridEditFormItem = e.Item - Dim newValues As New Hashtable() - item.OwnerTableView.ExtractValuesFromItem(newValues, item) - If newValues("Name").ToString() = "DefaultName" Then - e.Canceled = True - End If - End If - End Sub - - - - - Gets or sets a value, defining whether the command should be canceled. - - - protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) - { - if (e.Item is GridEditFormItem && e.Item.IsInEditMode) - { - GridEditFormItem item = e.Item as GridEditFormItem; - Hashtable newValues = new Hashtable(); - item.OwnerTableView.ExtractValuesFromItem(newValues, item); - if (newValues["Name"].ToString() == "DefaultName") - { - e.Canceled = true; - } - } - } - - - Protected Sub RadGrid1_UpdateCommand([source] As Object, e As GridCommandEventArgs) - If Typeof e.Item Is GridEditFormItem AndAlso e.Item.IsInEditMode Then - Dim item As GridEditFormItem = e.Item - Dim newValues As New Hashtable() - item.OwnerTableView.ExtractValuesFromItem(newValues, item) - If newValues("Name").ToString() = "DefaultName" Then - e.Canceled = True - End If - End If - End Sub - - - - - For internal usage only. - - - - Fires RadGrid.SelectedIndexChanged event. - - - For internal usage only - - - - Fires RadGrid.SelectedIndexChanged event. - - - Represents a method that will handle grid's DetailTableDataBind event. - - - Provides data for DetailTableDataBind event. - - - protected void RadGrid1_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) - { - GridDataItem parentItem = e.DetailTableView.ParentItem as GridDataItem; - if (e.DetailTableView.DataSourceID == "AccessDataSource2") - { - Session["CustomerID"] = parentItem["CustomerID"].Text; - } - } - - - Protected Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind - Dim parentItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) - If (e.DetailTableView.DataSourceID = "AccessDataSource2") Then - Session("CustomerID") = parentItem("CustomerID").Text - End If - End Sub - - - - - - Fires RadGrid.DetailTableDataBind event - - - - - Gets a reference to the detail table being bound. - - - protected void RadGrid1_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e) - { - GridDataItem parentItem = e.DetailTableView.ParentItem as GridDataItem; - if (e.DetailTableView.DataSourceID == "AccessDataSource2") - { - Session["CustomerID"] = parentItem["CustomerID"].Text; - } - } - - - Protected Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As GridDetailTableDataBindEventArgs) Handles RadGrid1.DetailTableDataBind - Dim parentItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) - If (e.DetailTableView.DataSourceID = "AccessDataSource2") Then - Session("CustomerID") = parentItem("CustomerID").Text - End If - End Sub - - - - - Gets or sets a value, defining whether the command should be canceled. - - - For internal usage only. - - - - - Expands/Collapses the containing the - - - - - For internal usage only. - - - - - Calculates and sets the to the corresponding - and rebinds the grid. - - - - - The event arguments passed when clears a filter. - - - - - - - - - The event arguments passed when fires a filter command from the header context menu. - - - - - - - - For internal usage only. - - - - - - - - - Gets the attachment column from which the event was fired. - - The attachment column from which the event was fired. - - - - Gets or sets the file name which was uploaded. - - The file name which was uploaded. - - - - Gets the associated attachment key values. - - The associated attachment key values. - - - - Class holding all settings associated with the . - - - - - Gets or sets text which will be used for the AddNewRecord Button. The default value is 'Add New Record'. - - The text which will be used for the AddNewRecord Button. The default value is 'Add New Record'. - - - - Gets or sets text which will be used for the SaveChanges Button. The default value is 'Save Changes'. - - The text which will be used for the SaveChanges Button. The default value is 'Save Changes'. - - - - Gets or sets text which will be used for the CancelChanges Button. The default value is 'Cancel Changes'. - - The text which will be used for the CancelChanges Button. The default value is 'Cancel Changes'. - - - - Gets or sets text which will be used for the Refresh Button. The default value is 'Refresh'. - - The text which will be used for the Refresh Button. The default value is 'Refrest'. - - - - Gets or sets text which will be used for the ExportToExcel Button. The default value is 'Export To Excel'. - - The text which will be used for the ExportToExcel Button. The default value is 'Export To Excel'. - - - - Gets or sets text which will be used for the ExportToWord Button. The default value is 'Export To Word'. - - The text which will be used for the ExportToWord Button. The default value is 'Export To Word'. - - - - Gets or sets text which will be used for the ExportToPdf Button. The default value is 'Export To Pdf'. - - The text which will be used for the ExportToPdf Button. The default value is 'Export To Pdf'. - - - - Gets or sets the Export To CSV button text. Default value Export to CSV. - - The Export To CSV button text. Default value Export to CSV. - - - - Gets or sets the Add New Record image URL. - - The Add New Record image URL. - - - - Gets or sets the Refresh image URL. - - The Refresh image URL. - - - - Gets or sets the Export To Excel image URL. - - The Export To Excel image URL. - - - - Gets or sets the Export To Word image URL. - - The Export To Word image URL. - - - - Gets or sets the Export To Pdf image URL. - - The Export To Pdf image URL. - - - - Gets or sets the Export To CSV image URL. - - The Export To CSV image URL. - - - - Gets or sets a value indicating whether the default command item should expose the Add New Record button. - - The value that indicates whether the default command item should expose the Add New Record button. - - - - Gets or sets a value indicating whether the default command item should show the SaveChanges button. - - The value that indicates whether the default command item should show the SaveChanges button. - - - - Gets or sets a value indicating whether the default command item should show the CancelChanges button. - - The value that indicates whether the default command item should show the CancelChanges button. - - - - Gets or sets a value indicating whether the default command item should expose the Refresh button. - - The value that indicates whether the default command item should expose the Refresh button. - - - - Gets or sets a value indicating whether the default command item should expose Export to Excel button. - - The value that indicates whether the default command item should expose Export to Excel button. - - - - Gets or sets a value indicating whether the default command item should expose Export to Word button. - - The value that indicates whether the default command item should expose Export to Word button. - - - - Gets or sets a value indicating whether the default command item should expose Export to PDF button. - - The value that indicates whether the default command item should expose Export to PDF button. - - - - Gets or sets a value indicating whether the default command item should expose Export to CSV button. - - The value that indicates whether the default command item should expose Export to CSV button. - - - - A class representing collection for data key values for the . Used in the DataKeyValues property. - - - - - Copies all the elements of the current collection to the specified one-dimensional Array starting at - the specified destination index. The index is specified as a 32-bit integer. - - The array to be copied. - The index where to copy the array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - Gets the number of elements contained in the colleciton. - - The number of elements contained in the collection. - - - - - - Gets if the collection is read-only and could be changed. - - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - - Gets an object that can be used to synchronize access to the collection. - - An object that can be used to synchronize access to the collection. - - - - - - A class holding a data key which is inherited from and - contains additional functionality for view state management. - - - - - A collection that stores objects. You can access - this collection through property of a - parent . - - - - - - - Initializes a new instance of . - - - that would aggregate this instance - which owns the collection - - - - - Initializes a new instance of based on another . - - - - A from which the contents are copied - - - - - - Initializes a new instance of containing any array of objects. - - - - An array of objects with which to intialize the collection - - - - - Adds a with the specified value to the - . - - The to add. - - The index at which the new element was inserted. - - - - - - Copies the elements of an array to the end of the . - - - An array of type containing the objects to add to the collection. - - - None. - - - - - - - Adds the contents of another to the end of the collection. - - - - A containing the objects to add to the collection. - - - None. - - - - - - Gets a value indicating whether the - contains the specified . - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - - Copies the values to a one-dimensional instance at the - specified index. - - The one-dimensional that is the destination of the values copied from . - The index in where copying begins. - - None. - - is multidimensional. -or- The number of elements in the is greater than the available space between and the end of . - is . - is less than "s lowbound. - - - - - Returns the index of a in - the . - - The to locate. - - The index of the of in the - , if found; otherwise, -1. - - - - - - Inserts a into the at the specified index. - - The zero-based index where should be inserted. - The to insert. - None. - - - - - Returns an enumerator that can iterate through - the . - - None. - - - - - Removes a specific from the - . - - The to remove from the . - None. - is not found in the Collection. - - - - Get the instance of that owns this instance - - - - - Represents the entry at the specified index of the . - - The zero-based index of the entry to locate in the collection. - - The entry at the specified index of the collection. - - is outside the valid range of indexes for the collection. - - - - - - - - - - - - - - - - - - - - Add DataColumns for grid columns with composite DataFields (sub properties) - - - - - - - - - - - - - Summary description for IGridEnumerable. - - - - - exception specifying certain operation could not be - performed when is not assigned. - - - - - Exception thrown when encounters an error associated with the grouping. - - - - - Exception thrown when encounters an error associated with the binding. - - - - - Exception thrown when encounters an error associated with the filtering. - - - - - Exception thrown when encounters an error associated with the filtering parameters. - - - - - Class holding settings associated with the export settings. - - - - - A string specifying the name (without the extension) of the file that will be - created. The file extension is automatically added based on the method that is - used. - - Export Grid to Microsoft Excel, Microsoft Word - - - Determines whether only data will be exported. - Export Grid to Microsoft Excel, Microsoft Word - - - Determines whether the structure columns (the row indicator and the expand/collapse columns) will be exported. - - - - Determines whether the RadGrid styles will be applied to the exported files - - - - - Determines whether the DataFormatStrings of the columns will be suppressed when exporting. Setting this property to true will cause a rebind when exporting. - - - - - Specifies whether all records will be exported or merely those on the current - page. - - Export Grid to Microsoft Excel, Microsoft Word - - - Opens the exported grid in a new instead of the same page. - Export Grid to Microsoft Excel, Microsoft Word - - - - Gets the PDF settings. - - The PDF settings. - - - - Gets the Excel settings. - - The Excel settings. - - - - Gets the CSV settings. - - The CSV settings. - - - - Container of misc. grouping settings of RadGrid control - - - - - Gets or sets the file extension for RadGrid CSV export. - - The file extension for RadGrid CSV export. - - - - Gets or sets the row delimiter for RadGrid CSV export. - - - - - Gets or sets the row delimiter for RadGrid CSV export. - - - - - Gets or sets whether the data will be enclosed with quotes for RadGrid CSV export. - - - - - Determines the delimter when exports to CSV. - - - - - Predefined filter expression enumeration. Used by class. - - Basic Filtering - - Some functions are applicable (and are not displayed on filterting) to all - the data types: - String type supports all the functions. - Integer: NoFilter, EqualTo, NotEqualTo, GreaterThan, - LessThan, GreaterThanOrEqualTo, LessThanOrEqualTo, Between, NotBetween, IsNull and - NotIsNull are supported. Contains, DoesNotContain, - StartsWith, - EndsWith, IsEmpty and - NotIsEmpty - are not supported. - Date: same as Integer. - - Basic Filtering - How-To: Localizing filtering menu options - How-To: Reducing filtering menu options - - - - No filter would be applied, filter controls would be cleared - - - - Same as: dataField LIKE '/%value/%' - - - Same as: dataField NOT LIKE '/%value/%' - - - Same as: dataField LIKE 'value/%' - - - Same as: dataField LIKE '/%value' - - - - Same as: dataField = value - - - - Same as: dataField != value - - - Same as: dataField > value - - - - Same as: dataField < value - - - - Same as: dataField >= value - - - - Same as: dataField <= value - - - - - Same as: value1 <= dataField <= value2.
- Note that value1 and value2 should be separated by [space] when entered as - filter. -
-
- - - Same as: dataField <= value1 && dataField >= value2.
- Note that value1 and value2 should be separated by [space] when entered as - filter. -
-
- - - Same as: dataField = '' - - - - Same as: dataField != '' - - - - Only null values - - - - - Only those records that does not contain null values within the corresponding column - - - - - Custom function will be applied. The filter value should contain a valid filter expression, including DataField, operators and value - - - - - Choose which filter function will be enabled for a column - - Basic Filtering - Custom option for filtering (FilterListOptions -> - VaryByDataTypeAllowCustom) - - - - Depending of data type of the column, RadGrid will automatically choose which filters to be displayed in the list - - - - - As VaryByDataType with custom filtering enabled - - - - - All filters will be displayed. Note that some data types are not applicatble to some filter functions. For example you cannot apply - the 'like' function for integer data type. In such cases you should handle the filtering in a custom manner, handling - for 'Filter' command - - - - - Used when column-based filtering feature of RadGrid is enabled. Defines properties and methods for formatting the - predefined filter expressions - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the illegal strings array. These values indicate which strings could not be entered as a part of the filtering value. - Excluding values from the array will allow these values to be entered in the filtering value. However, it is not recommended - because possible security vulnerabilities could arise. - - The illegal strings array. These values indicate which strings could not be entered as a part of the filtering value. - Excluding values from the array will allow these values to be entered in the filtering value. However, it is not recommended - because possible security vulnerabilities could arise. - - - - - - - - - - - - - - - - - - - - - - - - Enumeration representing the aggregate functions which can be applied to a - GridGroupByField (part of - collection) - - - Meaningful only when GridGroupByField is part of - collection - - Programmatic GridGroupByField syntax - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "Freight"; - gridGroupByField.HeaderText = "Total shipping cost is "; - gridGroupByField.Aggregate = GridAggregateFunction.Sum; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "Freight" - gridGroupByField.HeaderText = "Total shipping cost is " - gridGroupByField.Aggregate = GridAggregateFunction.Sum - expression.SelectFields.Add(gridGroupByField) - - - - - - Field which is part of each - and collection - - - - Dim groupExpression As GridGroupByExpression = New GridGroupByExpression() - - Dim groupByField As GridGroupByField = New GridGroupByField() - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupExpression.SelectFields.Add(groupByField) - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupExpression.GroupByFields.Add(groupByField) - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression) - - - GridGroupByExpression groupExpression = new GridGroupByExpression(); - - GridGroupByField groupByField = new GridGroupByField(); - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupExpression.SelectFields.Add(groupByField); - - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupExpression.GroupByFields.Add(groupByField); - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression); - - - - Some of the GridGroupByField properties are meaningful only when present under - specific collection - or - - - Declarative GridGroupByField syntax - Programmatic GridGroupByField syntax - - - - Method setting the aggregate function applied for a - GridGroupByField which is part of the - collection. - - N/A - - - Dim groupExpression As GridGroupByExpression = New GridGroupByExpression() - - Dim groupByField As GridGroupByField = New GridGroupByField() - groupByField.FieldName = "Size" - groupByField.SetAggregate(GridAggregateFunction.Sum) - groupExpression.SelectFields.Add(groupByField) - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupExpression.SelectFields.Add(groupByField) - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupExpression.GroupByFields.Add(groupByField) - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression) - - - GridGroupByExpression groupExpression = new GridGroupByExpression(); - - GridGroupByField groupByField = new GridGroupByField(); - groupByField.FieldName = "Size"; - groupByField.SetAggregate(GridAggregateFunction.Sum); - groupExpression.SelectFields.Add(groupByField); - - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupExpression.SelectFields.Add(groupByField); - - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupExpression.GroupByFields.Add(groupByField); - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression); - - - - Meaningful only for GridGroupByFields from the - collection - - - - - Method setting the sort order applied for a GridGroupByField which - is part of the collection. - - N/A - - Meaningful only for GridGroupByFields from the - collection - - - - GridGroupByExpression groupExpression = new GridGroupByExpression(); - - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupExpression.SelectFields.Add(groupByField); - - groupByField = new GridGroupByField(); - groupByField.FieldName = "Received"; - groupByField.SetSortOrder(GridSortOrder.Ascending); - groupExpression.GroupByFields.Add(groupByField); - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression); - - - Dim groupExpression As GridGroupByExpression = New GridGroupByExpression() - - Dim groupByField As GridGroupByField = New GridGroupByField() - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupExpression.SelectFields.Add(groupByField) - - groupByField = New GridGroupByField() - groupByField.FieldName = "Received" - groupByField.SetSortOrder(GridSortOrder.Descending) - groupExpression.GroupByFields.Add(groupByField) - - RadGrid1.MasterTableView.GroupByExpressions.Add(groupExpression) - - - - - - Method which gets the HeaderText value from GridGroupByField part - of the collection - - String containing the HeaderText value - - Meaningful only for GridGroupByFields from the - collection - - - - Dim groupExpression As GridGroupByExpression = RadGrid1.MasterTableView.GroupByExpressions(0) - Dim headerText as String = groupExpression.SelectFields(0).GetHeaderText() - - - GridGroupByExpression groupExpression = RadGrid1.MasterTableView.GroupByExpressions[0] as GridGroupByExpression; - String headerText = groupExpression.SelectFields[0].GetHeaderText() - - - - - - Method which gets the FormatString value from GridGroupByField - part of the collection - - String containing the FormatString value - - Meaningful only for GridGroupByFields from the - collection - - - - Dim groupExpression As GridGroupByExpression = RadGrid1.MasterTableView.GroupByExpressions(0) - Dim formatString As String = groupExpression.SelectFields(0).GetFormatString() - - - GridGroupByExpression groupExpression = RadGrid1.MasterTableView.GroupByExpressions[0] As GridGroupByExpression; - String formatString = groupExpression.SelectFields[0].GetFormatString() - - - - - Inherited but not used - - - - Method that retrieves a System.String that indicates the current - object - - The string format of the object. - Object.ToString() - - - Inherited but not used - - - - Gets or sets a string that represents the DataField column - property that will be used to form the GroupByExpression. - - - Unless you have specified a FieldAlias, the value of this - property will be used when Telerik RadGrid constructs the text for - GridGroupHeaderItem. FieldName has a meaning both for - SelectFields and GroupByFields of - GroupByExpression. - - - String representing the DataField for the corresponding grouped - column - - - - GridGroupByField gridGroupByField; - - //Add select fields (before the "Group By" clause) - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.HeaderText = "Employee"; - expression.SelectFields.Add( gridGroupByField ); - - //Add a field for group-by (after the "Group By" clause) - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - expression.GroupByFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - 'Add select field (before the "Group By" clause) - gridGroupByField = New GridGroupByField() - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.HeaderText = "Employee" - expression.SelectFields.Add(gridGroupByField) - - 'Add a field for group-by (after the "Group By" clause) - gridGroupByField = New GridGroupByField() - gridGroupByField.FieldName = "EmployeeID" - expression.GroupByFields.Add(gridGroupByField) - - - Declarative GridGroupByField syntax - Programmatic GridGroupByField syntax - - - - Gets or sets a value representing a friendly name for the field used for forming - the group by expression. This name will be displayed in each group header when grouping - by the respective field. - - - - Use this property for setting the field text that will be displayed in the - GridGroupHeaderItem. If this property is not set, the value of - property will be used. Note that this property has - a meaning only for GridGroupByField part of the SelectFields of - GridGroupByExpression. - - This property is useful in cases when: - - you want to change the value displayed in group header (different than - the default DataField column value)
- or
- group by a template column and Telerik RadGrid cannot get the - header text for that column. -
-
- - - GridGroupByField gridGroupByField; - - //Add select fields (before the "Group By" clause) - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.FieldAlias = "EmployeeIdentificator"; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - 'Add select fields (before the "Group By" clause) - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.FieldAlias = "EmployeeIdentificator" - expression.SelectFields.Add(gridGroupByField) - - - String representing the friendly name shown - Declarative GridGroupByField syntax - Programmatic GridGroupByField syntax -
- - - Meaningful only for fields in the - collection. - - - Gets or sets aggregate function (from - enumeration values) that will be applied on the grouped data. - - - Returns the result from currently used aggregate function. This property defaults - to GridAggregateFunction.None - - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "Freight"; - gridGroupByField.HeaderText = "Total shipping cost is "; - gridGroupByField.Aggregate = GridAggregateFunction.Sum; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "Freight" - gridGroupByField.HeaderText = "Total shipping cost is " - gridGroupByField.Aggregate = GridAggregateFunction.Sum - expression.SelectFields.Add(gridGroupByField) - - - Programmatic GridGroupByField syntax - - - - Meaningful only for fields in the - collection. 'None' value is - not supported because it can not determine uniquely the order in which the groups - will be displayed. - - - Gets or sets the value representing how the data will be sorted. Acceptable values - are the values of enumeration except for None - (Ascending, Descending). - - - Returns the sorting mode applied to the grouped data. By default it is - Ascending. - - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.SortOrder = GridSortOrder.Descending; - expression.GroupByFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.SortOrder = GridSortOrder.Descending - expression.GroupByFields.Add(gridGroupByField) - - - Programmatic GridGroupByField syntax - - - - - Meaningful only for fields in the - collection. - - When rendering RadGrid is using this expression to format field's value. It - is mandatory that {0} parameter is specified in the string - it will be replaced - with field's runtime value. - - - Gets or sets the string that will be used to format the GridGroupByField part of - the collection. - - - String, formated by the GridGroupByField's FormatString property. It defaults to: - "{0}". - - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.FormatString = "<strong>{0}</strong>"; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.FormatString = "<strong>{0}</strong>" - expression.SelectFields.Add(gridGroupByField) - - - Declarative GridGroupByField syntax - Programmatic GridGroupByField syntax - - - - Meaningful only for fields in the - collection. When rendering - RadGrid will override the FieldAlias value with the - HeaderText specified. - - - string, copied from the column's HeaderText if this group - expression is based on a column. It defaults to the FieldAlias value - (if specified). - - - Gets or sets the expression that will be displayed in the - . - - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.HeaderText = "EmployeeNo"; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.HeaderText = "EmployeeNo" - expression.SelectFields.Add(gridGroupByField) - - - Programmatic GridGroupByField syntax - - - - Gets or sets the string that separates header text from value text as the - field is rendered in the GroupHeaderItems. - - - string, represents the separator between the header text and value - text. - This field value defaults to ": ". - - - - GridGroupByField gridGroupByField; - - gridGroupByField = new GridGroupByField(); - gridGroupByField.FieldName = "EmployeeID"; - gridGroupByField.HeaderValueSeparator = " for current group: "; - expression.SelectFields.Add( gridGroupByField ); - - - Dim gridGroupByField As GridGroupByField - - gridGroupByField = New GridGroupByField - gridGroupByField.FieldName = "EmployeeID" - gridGroupByField.HeaderValueSeparator = " for current group: " - expression.SelectFields.Add(gridGroupByField) - - - - Meaningful only for fields in the - collection. - - Programmatic GridGroupByField syntax - Declarative GridGroupByField syntax - - - - - - - - Finds a item in the collection by specified FieldName. - - The specified FieldName. - - - - - Adds the specified item. - - The . - - - - - Inserts a at the specified index. - - The index where the field will be inserted. - The field to be inserted. - - - - Adds a collection of fields in the current collection. - - The c. - - - - Inserts a collection of items at the specified index. - - The index where the items will be inserted. - The items to be inserted. - - - - Determines whether the collection contains - a specific value. - - The item to locate in the collection. - - true if the is found in the ; - otherwise, false. - - - - - Removes all items from the collection. - - The collection - is read-only. - - - - Determines the index of a specific item in the collection - - The to locate in the collection. - - The index of if found in the list; otherwise, - -1. - - - - - Removes the at the specified - index. - - The zero-based index of the item to remove. - - - - Copies the elements of the collection - to an , starting at a particular - index. - - The one-dimensional that is - the destination of the elements copied from collection - The must have zero-based indexing. - The zero-based index in at which - copying begins. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - Gets a value indicating whether the collection - is read-only. - - true if the collection is read-only; otherwise, - false. - - - - - Gets a value indicating whether the collection - has a fixed size. - - true if the collection has a fixed size; - otherwise, false. - - - - - Gets the number of group by fields contained in the collection. - - The number of group by fields contained in the collection. - - - - - - Gets an object that can be used to synchronize access to the collection. - - An object that can be used to synchronize access to the collection. - - - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - Container of miscellaneous grouping settings of RadGrid control - - - For internal usage only - - - For internal usage only - - - - The group header message, indicating that the group continues on the next - page. - - Localizing the grid messages - - Localizing the grid messages topic lists all the tooltips and text messages which - can be modified. - - -
-            <GroupingSettings GroupContinuesFormatString="The group continues on the next page." />
-                
-
-
- - - The group header message indicating that this group continues from the previous - page. - - Localizing the grid messages - - Localizing the grid messages topic lists all the tooltips and text messages which - can be modified. - - -
-            <GroupingSettings GroupContinuedFormatString="This group continues from the previous page." />
-                
-
-
- - - A part of the string that formats the information label that appears on each - group header of a group that is split onto several pages parameter {0} will be replaced - with the number of actual items displayed on the page parameter {1} will be replaced - with the number of all items in the group - - - - - Gets or sets the format string that will be used when group is split, containing - the GroupSplitDisplayFormat or - GroupContinuedFormatString and - GroupContinuesFormatString or the three together. - - This property defaults to "({0})" - - - - String that separates each group-by field when displayed in - GridGroupHeaderItems. - - This property default to ";" - - - - Gets or sets a value indicating whether the grouping operations will be case - sensitive or not. - - - true if grouping is case sensitive, otherwise - false. The default value is true. - - - - - Gets or sets a string that will be displayed when the group expand image is - hovered. - - Localizing the grid messages - - Localizing the grid messages topic lists all the tooltips and text messages which - can be modified. - - -
-              <GroupingSettings ExpandTooltip="Click here to expand the group!" />
-            
-
-
- - - Gets or sets a string that will be displayed when the group collapse image is - hovered. - - Localizing the grid messages - - Localizing the grid messages topic lists all the tooltips and text messages which - can be modified. - - -
-              <GroupingSettings ExpandTooltip="Click here to collapse the group!" />
-                
-
-
- - - Gets or sets a string that will be displayed when a group panel item is - hovered. - - Localizing the grid messages - - Localizing the grid messages topic lists all the tooltips and text messages which - can be modified. - - -
-                <radG:RadGrid>
..
<GroupingSettings UnGroupTooltip="Wanna ungroup? Drag me back!" />
</radG:RadGrid> -
-
-
- - - Gets or sets value text of group panel item's ungroup button's tooltip - - - - - Gets or sets value indicating if group panel item's ungroup button should be shown - - - - - Gets or sets a value indicating whether the group footers should be kept visible - when their parent group headers are collapsed. - - - - - The summary attribute for the table that wraps the . - - - - - The summary attribute for the table second level table in the . - - - - - The summary attribute for the table which holds all group items in the . - - - - - The caption for the table that wraps the . - - - - - The caption for the table second level table in the . - - - - - The caption for the table which holds all group items in the . - - - - - Enumeration, which holds information about what action did fire the event. - - - - - Holds properties specific for grouping mechanism such as performed action and - reference to GridTableView where the action was performed. - - - - - Gets a reference to enumeration, which - holds information about what action did fire the - event. - - - protected void RadGrid1_GroupsChanging(object source, - Telerik.Web.UI.GridGroupsChangingEventArgs e)
- {
- if (e.Action == GridGroupsChangingAction.Group)
- { ... } -
-
- - - Gets a reference to the GridTableView object where the grouping - is performed. - - a reference to GridTableView object. - - - - Gets or sets the that will be used for - grouping Telerik RadGrid. - - - - protected void RadGrid1_GroupsChanging(object source, Telerik.Web.UI.GridGroupsChangingEventArgs e) - { - if (e.Action == GridGroupsChangingAction.Group) - { - GridGroupByField countryGroupField = new GridGroupByField(); - countryGroupField.FieldName = "Country"; - GridGroupByField cityGroupField = new GridGroupByField(); - cityGroupField.FieldName = "City"; - - e.Expression.SelectFields.Clear(); - e.Expression.SelectFields.Add(countryGroupField); - e.Expression.SelectFields.Add(cityGroupField); - - e.Expression.GroupByFields.Clear(); - e.Expression.GroupByFields.Add(countryGroupField); - e.Expression.GroupByFields.Add(cityGroupField); - ... - } - } - - - Protected Sub RadGrid1_GroupsChanging(ByVal source As Object, ByVal e As Telerik.Web.UI.GridGroupsChangingEventArgs) - 'Expression is added (by drag/grop on group panel) - If (e.Action = GridGroupsChangingAction.Group) Then - Dim countryGroupField As GridGroupByField = New GridGroupByField - countryGroupField.FieldName = "Country" - Dim cityGroupField As GridGroupByField = New GridGroupByField - cityGroupField.FieldName = "City" - e.Expression.SelectFields.Clear - e.Expression.SelectFields.Add(countryGroupField) - e.Expression.SelectFields.Add(cityGroupField) - e.Expression.GroupByFields.Clear - e.Expression.GroupByFields.Add(countryGroupField) - e.Expression.GroupByFields.Add(cityGroupField) - End If - End Sub - - - - - - Gets the swap expression which represents the with which the - will be swapped. The only case the value is not null is when - property is set to . - - The swap expression which represents the with which the - will be swapped. The only case the value is not null is when - property is set to . - - - Gets a reference to the currently used . - - - - Gets or sets a value indicating whether - event will be canceled. - - - true, if the event is canceled, otherwise - false. - - - - - Container of misc. grouping settings of RadGrid control - - - - - Gets or sets a string that represents the tooltip that will be shown when the - expand image is hovered. - - - - - Gets or sets a string that represents the tooltip that will be shown when the - collapse image is hovered. - - - - - Gets or sets a string that represents the tooltip that will be shown when the - self-hierarchy expand image is hovered. - - - - - Gets or sets a string that represents the tooltip that will be shown when the - self-hierarchy collapse image is hovered. - - - - - - - - - - - - - A class used within columns inhereted from . - Used as a sort icon. - - - - - Gets or sets the border width of the Web server control. - - A that represents the - border width of a Web server control. The default value is , - which indicates that this property is not set. - The specified border width is a - negative value. - - - - - A class used within group panel inhereted from . - Used when there is empty skin. - - - - - Gets or sets the border width of the Web server control. - - A that represents the - border width of a Web server control. The default value is , - which indicates that this property is not set. - The specified border width is a - negative value. - - - - - This is a collection of item indexes - each item index is unique within the - collection - - - - - Copies the elements of the collection - to an , starting at a particular - index. - - The one-dimensional that is - the destination of the elements copied from . - The must have zero-based indexing. - The zero-based index in at which - copying begins. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - This method is for internal use only! - - - - - - Determines whether the collection contains the specified item by providing its hierarchical index. - - The hierarchical index of the item. - Returns whethever the item is present in the collection - - - - Clears all items from the collection. - - - - - Constructs and add item hierarchical index to the collection - of indexes. - - - The hierarchical-index is based on sequential numbers of - indxes of items and detail tables. For example - index Add(1) will construct the hierarchicalindex for Item 1 in MasterTableView. - Add(1, 0, 2) references to the item with index 2 that belongs to a child table 0 of - the item 1 in MastertableView. - - - - - - Determines whether the collection contains the child index by providing a parent index. - - The parent index. - Returns a boolean property whether the index exists. - - - - Gets a collection of child indexes based on a provided parent index. - - The parent index. - The child indexes collection. - - - - Gets a collection of child indexes based on a provided parent index and detail table index. - - The parent index. - The index of the DetailTable. - The child indexes collection. - - - - Removes indexes from the collection of child indexes based on a provided parent index and detail table index. - - The parent index. - The index of the DetailTable. - - - - Persistence Framework need this method to get the internal list when restoring the state of the collection - - The internal ArrayList the GridIndexCollection is based on - - - - Gets the number of elements contained in the collection. - - The number of elements contained in the collection. - - - - - - Gets a boolean value indicationg whether the collection is read only and can me modified. - - A boolean value indicationg whether the collection is read only and can me modified. - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - - Gets an object that can be used to synchronize access to the collection. - - An object that can be used to synchronize access to the collection. - - - - - - Class representing a insertion object and is used as a base class for - items that are inserting records. - - - - - - - - - - - - - Summary description for GridItemDecorator. - - - - - Determines whether the given cell is child of GridDetailTemplateItem and whether it is the actual DataCell in which the template is instantiated. - For internal use only. - - TableCell to be checked - True if the current cell is the cell where the template is instantiated. Otherwise false. - - - - The class representing the event arguments holding arguments associated with an item event. - - - - - Gets the which fired the event. - - The which fired the event. - - - - Event info object. Cast to derrived classes to obtain the appropriate instance - - - - - Set to true to cancel the default event execution, if available. The ItemCreated and ItemDataBound events cannot be cancelled. - - - - - The class holding the event name of the . - - - - - Gets the name of the event. - - The name of the event. - - - - - - - - - - - - passed when initializes - a pager item. - - - - - Gets the holding values associated with the paging and its current state. - - The holding values associated with the paging and its current state. - - - - /// - passed when initializes - a . - - - - - - Gets or sets the container that holds the . - - The container that holds the . - - - - Specifies the position at which the user has dragged and dropped the source item(s) with regards to the - destination item. - - - - - The source item(s) is dropped above (before) the destination item. - - - - - The source item(s) is dropped below (after) the destination item. - - - - - The class holding the event arguments passed when a drag-drop event have fired. - - - - - Gets the destionation if the row have been droped over a data item. - - The dest data item. - - - - Gets a collection of all dragged items. - - The dragged items. - - - - Gets the HTML element id attribute of the element on which the row have been dropped. - - The HTML element. - - - - Gets the control in which a row have been dropped. - - The destination grid. - - - - Gets the position at which the user has dragged and dropped the source item(s) with regards to the - destination item. - - - - - Contains instance to which belongs the destinationItem - - - - - The event arguments passed when is exporting to PDF. - - - - - Contains raw RadGrid's HTML which will be transformed to PDF. - - - - - The event argumnets passed when exports regardless - of what kind of file. - - - - - Gets the type of the export. - - The type of the export. - - - - Contains export document which will be written to the response - - - - - Enumeration determining the type of export. - - - - - Event arguments passed when exports to excel. The event associated with - the arguments will be called for each cell individually. - - - - - Gets the column associated with the formatting cell. - - The column associated with the formatting cell. - - - - Gets the cell for formatting. - - The cell for formatting. - - - - Event arguments passed when exports. The event associated with - the arguments will be called for each cell individually. - - - - - Gets the column associated with the formatting cell. - - The column associated with the formatting cell. - - - - Gets the cell for formatting. - - The cell for formatting. - - - - The event arguments passed when exports with HTML format. - In cases of Word export and Excel with Format set to HTML. - - - - - Gets styles associated with the exported html. - - The styles. - - - - Gets or sets the XML options associated with the exported html. - - The XML options associated with the exported html. - - - - Item that is displayed on top or at the bottom of the each GridTableView base on the settings of - property. Generally this item displays by default "Add new record" and "Refresh" button, - but it can be customized using the . The commands bubbled through this item will be fired by - RadGrid.ItemCommand event. - - - - - - - - - - - - - - - - - - - - - Gets or sets the caption for the table command item. - - - Setting this property to empty string will force the pager to not render caption tag. - - - The default value is "Data pager". - - - - - Gets or sets the summary attribute for the table command item. - - - Setting this property to empty string will force the pager to not render summary attribute. - - - The default value is "Command item for additional functionalities for the grid like adding a new record and exporting.". - - - - - Represents the base class for any items that display and edit data in a - GridTableView of RadGrid. Inheritors has the - capabilities to: - - Locate a table cell based on the column unique names - Extract values from the cells of column editors - Has a dictionary of saved-old-values that are necessary for optimistic concurency - editing oprations - Edit/browse mode - EditManager instance, which is capable of locating the column - editors - - - - - - - - - Extracts values for each column, using - - This dictionary to fill, this parameter should not be null - - - - Extracts values for each column, using and updates values in provided object; - - The object that should be updated - - - - Get the DataKeyValues from the owner GridTableView with the corresponding item ItemIndex and keyName. - The keyName should be one of the specified in the array - - data key name - data key value - - - Allows you to access the column editors - - - GridEditManager editMan = editedItem.EditManager; - IGridEditableColumn editableCol = (column as IGridEditableColumn); - IGridColumnEditor editor = editMan.GetColumnEditor( editableCol ); - - - Dim editMan As GridEditManager = editedItem.EditManager - Dim editableCol As IGridEditableColumn = CType(column, IGridEditableColumn) - Dim editor As IGridColumnEditor = editMan.GetColumnEditor(editableCol) - - - - - - - - - - - - - Gets the old value of the edited item - - - foreach (DictionaryEntry entry in newValues) - { - Label1.Text += "\n<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues[entry.Key] + "<br />"; - } - - - - - For Each entry As DictionaryEntry In newValues - Label1.Text += "" & Microsoft.VisualBasic.Chr(10) & "<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues(entry.Key) + "<br />" - Next - - - - - - - - - - - string keyValues = ((GridEditableItem)e.Item).KeyValues; - if (keyValues.Contains("CustomerID")) - Session["CustomerID"] = keyValues.Substring(13, keyValues.Length - 1); - else - Session["OrderID"] = keyValues.Substring(10, keyValues.Length - 1); - - - Dim keyValues As String = CType(e.Item, GridEditableItem).KeyValues - If keyValues.Contains("CustomerID") Then - Session("CustomerID") = keyValues.Substring(13, keyValues.Length - 1) - Else - Session("OrderID") = keyValues.Substring(10, keyValues.Length - 1) - End If - - - - - - Interface determining if the grid item is an insert item. - - - - - Summary description for GridDataItem. - - - - - Generates a client-side function which fires a command with a given name and arguments - - - GridTableView fireCommand - - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridDataItem) - { - GridDataItem dataItem = (GridDataItem) e.Item; - ((Button) dataItem["MyTemplateColumn"].Controls[0]).OnClientClick = - dataItem.ClientFireCommandFunction("MyCommandName", ""); - } - } - - - Command's name - Command's argument - - - Sets the visibility of the children items. - This method is for Telerik RadGrid internal usage. - - - This method is for Telerik RadGrid internal usage. - - - - Gets the which represents the item holding any detail tables. - - - - - Gets the which repsents the edit item below the current . - - - - - Gets a value indicating whether this item has child items - or items somehow - related to this. - - - For example the GridDataItem has child - NestedViewItem that holds the hierarchy tables when grid is - rendering hierarchy.
- GroupHeaderItems has the items with a group for children, and so - on. - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).HasChildItems == true) - { - Label1.Text = "has items"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).HasChildItems = True) Then - Label1.Text = "has items" - End If - End Sub - -
-
- - - Gets a boolean value indication if the current does have a below it. - - - - - Returns a reference to the cell where the DetailItemTemplate has been instantiated. - - - - - Sets whether the GridItem will be visible or with style="display:none;" - Note that visibility of the GridDataItem will affect the PreviewItem also. - - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - Note that visibility of the GridDataItem will affect the PreviewItem also. - - - - - Gets the old value of the edited item - - - - foreach (DictionaryEntry entry in newValues) - { - Label1.Text += "\n<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues[entry.Key] + "<br />"; - } - - - - - For Each entry As DictionaryEntry In newValues - Label1.Text += "" & Microsoft.VisualBasic.Chr(10) & "<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues(entry.Key) + "<br />" - Next - - - - - - - Gets a value indicating whether the grid item is bound to a data source. - - - Default value is true when the grid is databound. - - - - - - Gets a value indicating whether the grid item is in edit mode at the - moment. - - - Will locate the TextBox for Item in Edit mode: - - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - TextBox txt = (e.Item as GridEditableItem)["SomeColumnName"].Controls[0] as TextBox; - } - - - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - ... - End If - - - - - - - The grid data item which will be used for inserting a records in the data souce. - - - - - This method is not intended to be used directly from your code. - - - - - - - - Gets a value indicating whether the grid item is in edit mode at the - moment. - - - Will locate the TextBox for Item in Edit mode: - - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - TextBox txt = (e.Item as GridEditableItem)["SomeColumnName"].Controls[0] as TextBox; - } - - - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - ... - End If - - - - - - - Sets the Item in edit mode. Requires Telerik RadGrid to rebind. - - - - If is set to InPlace, the grid column - editors will be displayed inline of this item. - - - If is set to EditForms, a new - GridItem will be created, which will be child of this item - (GridEditFormItem). The new item will hold the edit form. - - - - We suggest using IsInEditMode instead of Edit to check whether an Item is in - edit more or not. - - - - - - Gets a value indicating whether this item has child items - or items somehow - related to this. - - - For example the GridDataItem has child - NestedViewItem that holds the hierarchy tables when grid is - rendering hierarchy.
- GroupHeaderItems has the items with a group for children, and so - on. - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).HasChildItems == true) - { - Label1.Text = "has items"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).HasChildItems = True) Then - Label1.Text = "has items" - End If - End Sub - -
- -
- - - Gets a value indicating whether the item can be "expanded" to show its child items - - - Shows whether an item can be "expanded" to show its child items - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).CanExpand == true) - { - Label1.Text = "Item was expanded"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).CanExpand = True) - Label1.Text = "Item was expanded" - End If - End Sub - - - - - - - Item that loads an EditForm during binding if is . When in this mode - RadGrid loads an EditFormItem for each normal data-bound item. EditForm is generated only for the items that are in = true mode. - - - - - Override this method to change the default logic for rendering the item. Intended for internal usage. - - - - - - - This method is not intended to be used directly from your code - - - - - - - - - - - - - - - - Extracts values for each column, using - - This dictionary to fill, this parameter should not be null - - - - The table cell where the edit form will be instantiated, during data-binding. - - - - - FormColumns are only available when EditFormType is GridEditFormType.AutoGenerated. - These are the container controls for each edit-form-column. You cna find the edit controls - in these containers. You should not remove any controls from this containers. - - - - - The corresponding DataItem that the edit form is generated for. - - - - - Allows you to access the column editors - - - - GridEditManager editMan = editedItem.EditManager; - IGridEditableColumn editableCol = (column as IGridEditableColumn); - IGridColumnEditor editor = editMan.GetColumnEditor( editableCol ); - - - Dim editMan As GridEditManager = editedItem.EditManager - Dim editableCol As IGridEditableColumn = CType(column, IGridEditableColumn) - Dim editor As IGridColumnEditor = editMan.GetColumnEditor(editableCol) - - - - - - - Gets a value indicating whether the grid item is bound to a data source. - - - Default value is true when the grid is databound. - - - - - - Gets a value indicating whether the grid item is in edit mode at the - moment. - - - Will locate the TextBox for Item in Edit mode: - - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - TextBox txt = (e.Item as GridEditableItem)["SomeColumnName"].Controls[0] as TextBox; - } - - - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - ... - End If - - - - - - - Gets the old value of the edited item - - - - foreach (DictionaryEntry entry in newValues) - { - Label1.Text += "\n<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues[entry.Key] + "<br />"; - } - - - - - For Each entry As DictionaryEntry In newValues - Label1.Text += "" & Microsoft.VisualBasic.Chr(10) & "<br />Key: " + entry.Key + "<br />New value: " + entry.Value + "<br /> Old value: " + editedItem.SavedOldValues(entry.Key) + "<br />" - Next - - - - - - - - - - - Cell holding the cells. - - - - - Gets or sets the column name of the associated cell. - - The column name of the associated cell. - - - - The item which will be used for inserting records when EditMode is set to EditForms. - - - - - Sets the Item in edit mode. Requires Telerik RadGrid to rebind. - - - - If is set to InPlace, the grid column - editors will be displayed inline of this item. - - - If is set to EditForms, a new - GridItem will be created, which will be child of this item - (GridEditFormItem). The new item will hold the edit form. - - - - We suggest using IsInEditMode instead of Edit to check whether an Item is in - edit more or not. - - - - - - Gets a value indicating whether the grid item is in edit mode at the - moment. - - - Will locate the TextBox for Item in Edit mode: - - if (e.Item is GridEditableItem && e.Item.IsInEditMode) - { - TextBox txt = (e.Item as GridEditableItem)["SomeColumnName"].Controls[0] as TextBox; - } - - - If Typeof e.Item Is GridEditableItem And e.Item.IsInEditMode Then - ... - End If - - - - - - - It's an item, displaying input controls, which allows user to enter a filter values - for each visible column in a GridTableView. By default the columns render a textbox - and a button, displaying the filtering menu on click. This item is visible based on - the settings of property. - The items is displayed right under the header row of a GridTabelView. - - Setting filter textbox dimensions/changing default filter image - - - Protected Sub RadGrid1_ItemCreated(sender As Object, e As GridItemEventArgs) Handles RadGrid1.ItemCreated - If Typeof e.Item Is GridFilteringItem Then - Dim filteringItem As GridFilteringItem = CType(e.Item, GridFilteringItem) - - 'set dimensions for the filter textbox - Dim box As TextBox = CType(filteringItem("ContactName").Controls(0), TextBox) - box.Width = Unit.Pixel(30) - - 'set ImageUrl which points to your custom image - Dim image As Image = CType(filteringItem("ContactName").Controls(1), Image) - image.ImageUrl = "<my_image_url>" - End If - End Sub 'RadGrid1_ItemCreated - - - Protected void RadGrid1_ItemCreated(Object sender, GridItemEventArgs e) - { - If (e.Item Is GridFilteringItem) - { - GridFilteringItem filteringItem = e.Item As GridFilteringItem; - - //Set dimensions For the filter textbox - TextBox box = filteringItem["ContactName"].Controls[0] As TextBox; - box.Width = Unit.Pixel(30); - - //Set ImageUrl which points To your custom image - Image image = filteringItem["ContactName"].Controls[1] As Image; - image.ImageUrl = "<my_image_url>"; - } - } - - - - - - - - - - Gets a value indicating whether the item can be "expanded" to show its child items - - - Shows whether an item can be "expanded" to show its child items - - protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) - { - if (e.Item is GridItem && (e.Item as GridItem).CanExpand == true) - { - Label1.Text = "Item was expanded"; - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) - If (Typeof e.Item Is GridItem AndAlso CType(e.Item, GridItem).CanExpand = True) - Label1.Text = "Item was expanded" - End If - End Sub - - - - - - - Gets or sets a value indicating whether the grid item is expanded or - collapsed. - - - The example below sets all expanded items to collapsed - - for(int i = 0; i < RadGrid.Items.Count - 1;i++) - if(RadGrid.Items[i].Expanded) - { - RadGrid.Items[i].Expanded = false; - } - - - Dim i As Integer - For i = 0 To (RadGrid.Items.Count - 1) Step -1 - If RadGrid.Items(i).Expanded Then - RadGrid.Items(i).Expanded = False - End If - Next i - - - - - - - - - - - Displays the footer row of a GridTableView with cells for each column in the grid similar to GridHeaderItem. - - - - - - - - - - - - - The item which splits the groups (when utilizing the grouping feature of RadGrid) - and provides expand/collapse functionality for them. - - - Here is how you can get reference to the GridGroupHeaderItem on - ItemDataBound: - - Private Sub RadGrid1_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) - If Typeof e.Item Is GridGroupHeaderItem Then - Dim item As GridGroupHeaderItem = CType(e.Item, GridGroupHeaderItem) - 'do something here - End If - End Sub 'RadGrid1_ItemDataBound - - - private void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) - { - if ( e.Item is GridGroupHeaderItem ) - { - GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item; - //do something here - } - } - } - - - Created and meaningful only with grouping enabled. - - should be applied to have such type of - item(s). - - Customize GridGroupHeaderItem - Performing calculations in group header - - - Marked for internal usage only - - - Inherited from Control, for internal usage only - - - Inherited from Control, for internal usage only - - - Inherited from Control, for internal usage only - - - - Method which returns the data items under the - group. - - An array of GridItem instances - - The code below can be used to loop through the data items in a group on button - click handler (for example): - - Dim groupHeader As GridGroupHeaderItem = RadGrid1.MasterTableView.GetItems(GridItemType.GroupHeader)(0) - Dim groupItems As GridItem() = groupHeader.GetChildItems() - 'traverse the items and operate with them further - - - GridGroupHeaderItem groupHeader= RadGrid1.MasterTableView.GetItems(GridItemType.GroupHeader)[0] as GridGroupHeaderItem; - GridItem [] groupItems = groupHeader.GetChildItems(); - //traverse the items and operate with them further - - - Meaningful only with grouping enabled. - - should be applied to have - available. - - - - - Method which shows/hides the items in the group designated by the - - - N/A - - The code below will hide the items under the first group in the grid: - - Dim groupHeader As GridGroupHeaderItem = RadGrid1.MasterTableView.GetItems(GridItemType.GroupHeader)(0) - groupHeader.SetVisibleChildren(False) - - - GridGroupHeaderItem groupHeader = RadGrid1.MasterTableView.GetItems(GridItemType.GroupHeader)[0] as GridGroupHeaderItem; - groupHeader.SetVisibleChildren(false); - - - Meaningful only with grouping enabled. - - should be applied to have - available. - - - boolean, determines whether the items in the group will be displayed or - hidden - - - - - Gets or sets all aggregate values in the header. - - All aggregate values in the header. - - - The cell holding the content of the - N/A - - Below is a sample code presenting how to customize the DataCell - content dynamically on ItemDataBound: - - Private Sub RadGrid1_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) - If Typeof e.Item Is GridGroupHeaderItem Then - Dim item As GridGroupHeaderItem = CType(e.Item, GridGroupHeaderItem) - Dim groupDataRow As DataRowView = CType(e.Item.DataItem, DataRowView) - - 'Clear the present text of the cell - item.DataCell.Text = "" - Dim column As DataColumn - For Each column In groupDataRow.DataView.Table.Columns - - 'Check the condition and add only the field you need - If column.ColumnName = "Country" Then - item.DataCell.Text += "Customized display - Country is " + groupDataRow("Country").ToString() - End If - Next column - End If - End Sub 'RadGrid1_ItemDataBound - - - Private void RadGrid1_ItemDataBound(Object sender, Telerik.Web.UI.GridItemEventArgs e) - { - If ( e.Item Is GridGroupHeaderItem ) - { - GridGroupHeaderItem item = (GridGroupHeaderItem)e.Item; - DataRowView groupDataRow = (DataRowView)e.Item.DataItem; - - //Clear the present text of the cell - item.DataCell.Text = ""; - foreach( DataColumn column In groupDataRow.DataView.Table.Columns) - - //Check the condition And add only the field you need - If ( column.ColumnName == "Country" ) - { - item.DataCell.Text += "Customized display - Country is " + groupDataRow - ["Country"].ToString(); - } - } - } - - - Created and meaningful only with grouping enabled. - - should be applied to have - with DataCell. - - Customize GridGroupHeaderItem - Performing calculations in group header - - - - Boolean property indicating whether the relevant - has child items inside the group it forms. - - boolean - - - Dim groupHeader As GridGroupHeaderItem = grid.MasterTableView.GetItems(GridItemType.GroupHeader)(0) - If (groupHeader.HasChildItems) Then - 'operate with the items - Else - 'do something else - End If - - - GridGroupHeaderItem groupHeader = grid.MasterTableView.GetItems(GridItemType.GroupHeader)[0] as GridGroupHeaderItem; - if (groupHeader.HasChildItems) - { - //operate with the items - } - else - { - //do something else - } - - - Meaningful only with grouping enabled. - - should be applied to have - with this boolean property. - - - - Marked for internal usage - - - - Summary description for GridHeaderItem. - - - - - - - - - - - - - - - - - - - - - The event argumnets passed when a grid cell have been data bound. - - - - - Gets the associated table cell which have been data bound. - - The associated table cell which have been data bound. - - - - Gets the table cell column owner. - - The table cell column owner. - - - - Collection holding objects. - - - - - Copies the elements of the collection - to an , starting at a particular - index. - - The one-dimensional that is - the destination of the elements copied from collection - The must have zero-based indexing. - The zero-based index in at which - copying begins. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be - used to iterate through the collection. - - - - - Gets the number of elements contained in the collection. - - The number of elements contained in the collection. - - - - - - Gets a value indicating if the collection is read only and could be modified. - - A value indicating if the collection is read only and could be modified. - - - - Gets a value indicating whether access to the collection - is synchronized (thread safe). - - true if access to the collection - is synchronized (thread safe); otherwise, false. - - - - - Gets an object that can be used to synchronize access to the collection. - - An object that can be used to synchronize access to the collection. - - - - - - A collection holding items. - - - - Enumeration for all grid item types. - - - - Summary description for GridMultiRowItem. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Item that contains the nested instances of GridTableView class, that appear as a child item of the corresponding GridDataItem - - - The child tables will be created when grid is databinding and will be added as controls of the - Then these tables can also be accessed using the array. - - - - - Creates an instance of GridNestedViewItem For - internal usage only. - - - - - An instance of GridTableView Class, which will - contain the created item - - - The value for ItemIndex Property - (Telerik.Web.UI.GridItem) property - - - The value for DataSetIndex Property - (Telerik.Web.UI.GridItem) property - - - - Defines the default logic for rendering the item. For internal usage only. - - - - - This method is not intended to be used directly from your code - - - - - This method is not intended to be used directly from your code - - - - - - Binds a data source to the invoked server control and all its child - controls. - - - - Gets the cell that contains the . - System.Web.UI.WebControls.TableCell - - - foreach (GridNestedViewItem nestedViewItem in radgrid1.MasterTableView.GetItems(GridItemType.NestedView)) - { - TableCell cell = nestedViewItem.NestedViewCell; - cell.BorderColor = System.Drawing.Color.Red; - } - - - Dim nestedViewItem As GridNestedViewItem - For Each nestedViewItem In RadGrid1.MasterTableView.GetItems(GridItemType.NestedView) - Dim cell As TableCell = nestedViewItem.NestedViewCell - cell.BorderColor = System.Drawing.Color.Red - Next nestedViewItem - - - - - - Gets an array of GridTableView objects residing in the . - - - - GridTableView nestedTable = RadGrid1.MasterTableView.Items[0].ChildItem.NestedTableViews[0]; - - - Dim nestedTable As GridTableView = RadGrid1.MasterTableView.Items(0).ChildItem.NestedTableViews(0) - - - - - - Gets a reference to a that is parent of this - - - - - - GridNoRecordsItem is used to display no records template, in the corresponding table view has - is set to true (the default). - - - - - - - - - - - - - - - - - - - - - Gets the item template cell which will override the default look of - the no records item if specified. - - The item template cell which will override the default look of - the no records item if specified. - - - - Summary description for GridPagerItem. - - - - - - - - - - - - - - - - - - - - Returns instance of control which contains grid numeric pager - - If you have already defined an GridPagerTemplate, but still standard numeric - pager is required you can attain this using the following code - - protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) - { - if (e.Item is GridPagerItem) - { - GridPagerItem gridPager = e.Item as GridPagerItem; - Control numericPagerControl = gridPager.GetNumericPager(); - gridPager.Controls[0].Controls.Add(numericPagerControl); - } - } - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) - If Typeof e.Item Is GridPagerItem Then - Dim gridPager As GridPagerItem = TryCast(e.Item, GridPagerItem) - Dim numericPagerControl As Control = gridPager.GetNumericPager() - gridPager.Controls(0).Controls.Add(numericPagerControl) - End If - End Sub - - - - - - Gets or sets the caption for the table pager. - - - Setting this property to empty string will force the pager to not render caption tag. - - - The default value is "Data pager". - - - - - Gets or sets the summary for the table pager. - - - Setting this property to empty string will force the pager to not render summary attribute. - - - The default value is "Data pager which controls on which page is the RadGrid control.". - - - - Gets the position of the pager in the RadGrid. Default value is false. - - - if (((GridPagerItem)this.Item).IsTopPager) - { - Item.Visible = false; - return; - } - - - If CType(Me.Item, GridPagerItem).IsTopPager Then - Item.Visible = False - Return - End If - - - - - - Gets the paging manager holding information and providing setup for the pagging. - - The paging manager holding information and providing setup for the pagging. - - - The Cell where the PagerItems are located - - - if (e.Item is GridPagerItem) - { - GridPagerItem pagerItem = (e.Item as GridPagerItem); - pagerItem.PagerContentCell.Controls.Clear(); - //custom paging - } - - - If Typeof e.Item Is GridPagerItem Then - Dim pagerItem As GridPagerItem = CType(e.Item, GridPagerItem) - pagerItem.PagerContentCell.Controls.Clear - 'custom paging - End If - - - - - - - - - - - - - - GridStatusBarItem is used to display information messages for - Telerik RadGrid status. Meaningful only when Telerik RadGrid is in AJAX - mode. - - - - - - - - - - - - - - - - - - - - - Gets the item template cell which will override the default look of - the no records item if specified. - - The item template cell which will override the default look of - the no records item if specified. - - - - The event arguments passed when the grid performs pagging and fires PageChanged event. - - - - - - - - - Gets the new page index the grid will go on. - - The new page index. - - - - The event arguments passed when page size have changed and - fires PageSizeChanged event. - - - - - - - - - Gets the new selected page size that will be applied. - - The new selected page size. - - - - The mode of the pager defines what buttons will be displayed and how the pager - will navigate through the pages. - - - - The grid Pager will display only the Previous and Next link buttons. - - - The grid Pager will display only the page numbers as link buttons. - - - - The grid Pager will display the Previous button, page numbers, - the Next button, the PageSize dropdown and information about the items and pages count. - - - - - The grid Pager will display the Previous button, then the page numbers and then - the Next button. On the next Pager row, the Pager will display text boxes for - navigating to a specific page and setting the Page size (number of items per - page). - - - - - The grid Pager will display text boxes for navigating to a specific page and - setting the Page size (number of items per page). - - - - - The grid Pager will display a slider for very fast and AJAX-based navigation - through grid pages. - - - - This enumeration defines the possible positions of the pager item - - - - The Pager item will be displayed on the bottom of the grid. (Default - value) - - - - The Pager item will be displayed on the top of the grid. - - - - The Pager item will be displayed both on the bottom and on the top of the - grid. - - - - - RadGrid and GridTableView use instance of this class to set style of thir PagerItem-s when rendering - - - - - Summary description for GridTableItemStyle. - - - - - Returns 'True' if none of the properties have been set - - - - - Duplicates the non-empty style properties of the specified - into the instance of the - class that this method is called from. - - A that represents - the style to copy. - - - - Combines the style properties of the specified - into the instance of the - class that this method is called from. - - A that represents - the style to combine. - - - - Removes any defined style elements from the state bag. - - - - Returns true if none of the properties have been set. - - Gets a value indicating whether the default pager will be used, i.e. no - customizations have been made. - - - - - Gets a value indicating whether the pager is displayed on the bottom of the - grid. - - - Returns true if the pager will be displayed on the bottom of the - grid. Otherwise false. - - - - - Gets a value indicating whether the pager is displayed on the top of the - grid. - - - Returns true if the pager will be displayed on the top of the - grid. Otherwise false. - - - - - Gets or sets the mode of Telerik RadGrid Pager. The mode defines what the pager - will contain. This property accepts as values only members of the GridPagerMode Enumeration. - - - Returns the pager mode as one of the values of the - GridPagerMode - Enumeration. - - - You should have Paging enabled by setting the - property. - - - - - Gets/sets a comma/semicolon delimited list of page size values. - - - - - Text that would appear if Mode is PrevNext for 'next' page button - - - - - Text that would appear if Mode is PrevNext for 'last' page button - - - - - Gets or sets url for Previous Page image - - - - - Gets or sets url for Next Page image - - - - - Gets or sets url for first page image - - - - - Gets or sets url for first page image - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'last' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'prev' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'prev' page button - - - - - The ToolTip that will be applied to the GoToPage control. - - - - - The ToolTip that will be applied to the GoToPage input element. - - - - - The ToolTip that will be applied to the ChangePageSize control. - - - - - The ToolTip that will be applied to the ChangePageSize control. - - - - - The summary attribute that will be applied to the table which holds the ChangePageSize control. - - - - - The ToolTip that will be applied to the input element in the ChangePageSize control. - - - - - The text of the page size label situated before the page size combo. - - - - - Gets or sets the number of buttons that would be rendered if pager Mode is - - - - returns the number of button that will be displayed. The default value is 10 - buttons. - - - By default 10 buttons will be displayed. If the number of grid pages is greater - than 10, ellipsis will be displayed. - - - - - Gets or sets the Position of pager item(s).Accepts only values, members of the - GridPagerPosition Enumeration. - - - Returns the Pager position as a value, member of the - GridPagerPosition - Enumeration. - - - - - Text that would appear if Mode is PrevNext for 'previous' page button - - - - - Text that would appear if Mode is PrevNext for 'first' page button - - - - Gets or sets the visibility of the pager item - - - - In order to display the grid pager regardless of the number of records returned - and the page size, you should set this property of the corresponding GridTableView to - true. Its default value is false. - - - Gets or set a value indicating whether the Pager will be visible regardless of - the number of items. (See the remarks) - - - true, if pager will be displayed, regardless of the number of - grid items, othewise false. By fefault it is - false. - - - - - Get or set a value indicating whether the SEO (Search Engine Optimized) paging - enabled - - December 15, 2006 - - - - Gets or sets the SEO paging query string key. - - The SEO paging query string key. - - - - Gets or sets a value indicating whether URL Routing is enabled for the - current web application - - - - - Gets or sets the name of the URL parameter that specifies the page number - when SEO paging and routing are enabled. - - - - - Gets or sets the name of the route that is used when SEO paging and routing are enabled. - - - - - Gets or sets the horizontal align of the pager. Accepts as values members of the - enumeration. - - - the horizontal align of the pager as a value from the - enumeration. - - - - - Gets or sets a value indicating whether the pager text or only the pager buttons - will be displayed. - - - true if both pager text and buttons will be displayed, otherwise - false. By default it is true. - - - - - The string used to format the description text that appears in a pager item. See - the remarks. - - - The parameters {0) - {4} are mandatory.
-
- Parameter {0} is used to display current page number.
- Parameter {1} is total number of pages.
- Parameter {2} will be replaced with the number of the first item in the current - page.
- Parameter {3} will be set to the number of the last item in the current page.
- Parameter {4} indicates where pager buttons would appear.
- Parameter {5} corresponds to number of all items in the datasource. -
- - The default value is:
- Change page: {4} Displaying page {0} of {1}, items {2} - to {3} of {5} -
-
- - - Gets or sets the type of the page size drop down control. - - - - - Summary description for GridPagingManager. - - - - - Gets or sets a value indicating whether the automatic paging feature is - enabled. - - - true if the paging feature is enabled; otherwise, - false. The default is false - - - - Gets or sets an integer value representing the current page index. - - Note that the Paging must be enabled ( must - be true) in order to use this property. - - zero-based int representing the index of the current page. - - - - Gets the number of pages required to display the records of the data source - in a Telerik RadGrid control. - - - When the paging feature is enabled (by setting the AllowPaging property to true), - use the PageCount property to determine the total number of pages required to display - the records in the data source. This value is calculated by dividing the total number - of records in the data source by the number of records displayed in a page (as - specified by the PageSize property) and rounding up. - - - - - Gets or sets a value indicating whether the automatic paging feature is - enabled and supported. - - - true if the paging feature is enabled and supported; otherwise, - false. The default is false - - - - - Gets or sets an integer value indicating the number of Items that a single page - in Telerik RadGrid will contain. - - - Note that the Paging must be enabled ( must - be true) in order to use this property. - - - integer, indicating the number of the Items that a single grid page would - contain. - - - - - Gets the first index in the current page. - - The first index in the current page. - - - - Gets the a value indicating if the custom pagging functionality have been enabled. - - A value indicating if the custom pagging functionality have been enabled. - - - - Gets the a value indicating if the custom pagging functionality have been enabled. - - A value indicating if the custom pagging functionality have been enabled. - - - - Gets a value indicating if the control is on the first page. - - A value indicating if the control is on the first page. - - - - Gets a value indicating if the control is on the last page. - - A value indicating if the control is on the last page. - - - - Gets or sets a value, indicating the total number of items in the data source - when custom paging is used. Thus the grid "understands" that the data source contains - the specified number of records and it should fetch merely part of them at a time to - execute requested operation. - - - int, representing the total number of items in the datasource. - The default value is 0. - - - - - Gets the last index in the current page. - - The last index in current page. - - - - Number of items in the data-source - - - - - Number of items in the current page - - - - - Represents the paper size used when exporting to PDF. - - - - - PDF filter - - - - - Container of misc. grouping settings of RadGrid control - - - - - GridPdfSettings constructor (for internal use only) - - StateBag of the owner - - - - PageHeader element holds the contents of the header zone - - - - - This element holds the contents of the footer zone of the page - - - - - Document creator - - - - - Document producer - - - - - Document author - - - - - Document title - - - - - Document subject - - - - - Page title - - - - - Document keywords (comma-separated) - - - - - Determines whether the content encryption will be disabled - - - - - Allow content to be added to the PDF file - - - - - Allow content to be copied from the PDF file - - - - - Allow the content of the PDF file to be printed - - - - - Allow the document to be modified - - - - - Determines what will happen when a given text is larger than the cell width (and there are no whitespaces inside). - If set to true, the overflowing text will be carried over to the next line; otherwise (false) the text will break the cell boundaries - - - - - Gets or sets the physical paper size that RadGrid will use when exporting to PDF. - - - It will be overriden by setting PageWidth and PageHeight explicitly. - - - - - Determines the default content filter used by the PDF engine - - - - - Determines the border type for the exported RadGrid - - - - - Determines the thickness of the border - - - - - Determines the color of the borders - - - - - Gets or sets the page width that RadGrid will use when exporting to PDF. - - - This setting will override any predefined value that comes from the PaperSize property. - - - - - Gets or sets the page height that RadGrid will use when exporting to PDF. - - - This setting will override any predefined value that comes from the PaperSize property. - - - - - The top margin of the page - - - - - The bottom margin of the page - - - - - The left margin of the page - - - - - The right margin of the page - - - - - The margin of the page header - - - - - The margin of the page footer - - - - - This property describes the different types of font embedding: Link, - Embed and Subset. - - - Possible values: - - -
- Link
- The font program is referenced by name in the rendered PDF. Anyone who - views a rendered PDF with a linked font program must have that font - installed on their computer otherwise it will not display correctly. -
-
- -
- Embed
- The entire font program is embedded in the rendered PDF. Embedding the - entire font program guarantees the PDF will display as intended by the - author on all computers, however this method does possess several - disadvantages: -
-
    -
  1. -
    - Font programs can be extremely large and will significantly - increase the size of the rendered PDF. For example, the MS - Gothic TrueType collection is 8MB! -
    -
  2. -
  3. -
    - Certain font programs cannot be embedded due to license - restrictions. If you attempt to embed a font program that - disallows embedding, RadGrid will substitute the font with a - base 14 font and generate a warning message. -
    -
  4. -
-
- -
- Subset (default value)
Subsetting a font will - generate a new font that is embedded in the rendered PDF that contains - only the chars referenced by RadGrid. For example, if a particular - RadGrid utilised the Verdana font referencing only the character 'A', a - subsetted font would be generated at run-time containing only the - information necessary to render the character 'A'.
-
- Subsetting provides the benefits of embedding and significantly reduces - the size of the font program. However, small processing overhead is - incurred to generated the subsetted font. -
-
-
-
-
- - - Determines whether the exported document will be password protected. - - - - - Determines the default font - - - - - RadGrid PDF border type - - - - - RadGrid PDF border type - - - - - - - - - - - - - - - - - - - - - GridPropertyEvaluator - A DataBinder.Eval() workalike that is a bit more forgiving and does not throw exceptions when it can't find a property. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class containing settings associated with the resizing in . - - - - - Gets or sets a value determining whether the column resize will be enabled. - - A value determining whether the column resize will be enabled. - - - - Gets or sets a value determining whether the row resize will be enabled. - - A value determining whether the row resize will be enabled. - - - - Gets or sets a value determining if a indicator column will be created. - The column leaves extra space so it is easier to resize columns. - - A value determining if a indicator column will be created. - The column leaves extra space so it is easier to resize columns. - - - - Gets or sets a value determining whether the html element - will be resized during column resizing. - - A value determining whether the html element - will be resized during column resizing. - - - - Gets or sets a value determining if the clip cell content functionlity is enabled. - The feature when enabled allows the column to be resized so the content of the cells - is no longer visible. If set to false the resizing will force the cell content to be - always visible. - - The clip cell content on resize. - - - - Gets or sets a value determining if the column are resized in real time - and the result is visible during resizing or if the value is false - the visual result is seen after the user have ended the resize operation. - - A value determining if the column are resized in real time - and the result is visible during resizing or if the value is false - the visual result is seen after the user have ended the resize operation. - - - - Gets or sets a value indicating if the resize to fit functionality have been enabled. - The feature allows when double clicking on the 'Drag to resize' handle the column to be resized - to exactly fit the content of the biggest cell in the column. - - A value indicating if the resize to fit functionality have been enabled. - The feature allows when double clicking on the 'Drag to resize' handle the column to be resized - to exactly fit the content of the biggest cell in the column. - - - - Exception thrown when does not support certain operation. - - - - - This column appears when row resizing is enabled. It provides an easy location - for users to click in order to resize the respective row. This column always - appears immediately before the first data column. - - - - - - - - - - - - - Gets or Sets the text value which should be added to alt attribute of the filter control - - - - - - - - - - - - - - - - - - - - - Each column in Telerik RadGrid has an UniqueName - property (string). This property is assigned automatically by the designer (or the - first time you want to access the columns if they are built dynamically). - - - You can also set it explicitly, if you prefer. However, the automatic - generation handles most of the cases. For example a - GridBoundColumn with DataField 'ContactName' - would generate an UniqueName of 'ContactName'. - Additionally, there may be occasions when you will want to set the UniqueName - explicitly. You can do so simply by specifying the custom name that you want to - choose: -
- - - - - - -
- - <radG:GridTemplateColumn
UniqueName="ColumnUniqueName">
</radG:GridTemplateColumn>
-
-
-
-
- - When you want to access a cell within a grid item, you - should use the following code to obtain the right cell: - TableCell cell = gridDataItem["ColumnUniqueName"]; - or - gridDataItem["ColumnUniqueName"].Text = - to access the Text property - Using this property you can index objects of type - %GridDataItem:GridDataItem% or - %GridEditFormItem:GridEditFormItem% (or all descendants of - %GridEditableItem:GridEditableItem% class) - In events related to creating, binding or for commands in items, the event - argument has a property Item to access the item that event is - fired for. To get an instance of type GridDataItem, you should use - the following: - //presume e is the event argument object
- if (e.Item is GridDataItem)
- {
- GridDataItem gridDataItem = e.Item as GridDataItem;
-
- -
- - - Contains properties related to customizing the settings for scrolling operation - in Telerik RadGrid. - - - - - Gets or sets a value indicating whether scrolling will be enabled in - Telerik RadGrid. - - true, if scrolling is enabled, otherwise false (the default value). - - - - Gets or sets a value specifying the grid height in pixels (px) beyond which the - scrolling will be enabled. - - the default value is 300px - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether grid column headers will scroll as the - rest of the grid items or will remain static (MS Excel ? style). - - - true if headers remain static on scroll, otherwise - false (the default value). - - - This property is meaningful only when used in conjunction with - set to true. - - - - - Gets or sets a value indicating whether Telerik RadGrid will keep the - scroll position during postbacks. - - - This property is meaningful only when used in conjunction with - set to true. - - - true (the default value), if Telerik RadGrid keeps - the scroll position on postback, otherwise false . - - - - - This property is particularly useful when working with huge datasets. Using - the grid scrollbar, you can change the grid pages just like in Microsoft - Word?. When scrolling with the virtual scrollbar, - Telerik RadGrid uses AJAX requests to change the pages, i.e. no - Postbacks are performed. The overall behavior is smooth and with no flicker. - Note that you should have AJAX enabled for Telerik RadGrid by - setting the EnableAJAX="True". - - - Gets or sets a value indicating whether Telerik RadGrid will change - the pages when you scroll using the grid scroller. This in terms of - Telerik RadGrid is called Virtual Scrolling. - - - true, if virtual scrolling is enabled, otherwise - false (the default value). - - - - - To enable static columns, set the ClientSettings.Scrolling.FrozenColumnsCount property to a value greater than 0. - The value of FrozenColumnsCount specifies the number of columns (starting with the leftmost column) that do not - scroll when the of the user scrolls the grid horizontally, using the horizontal scroll bar. This feature is - functional even when in hierarchical grids and grids that support grouping. - - The frozen columns count. - - - - - Provides properties related to setting the client-side selection in - Telerik RadGrid. - - - You can get a reference to this class using - property. - - - - - Gets or sets the cell selection mode. - - The cell selection mode. - - - - Gets or sets a value indicating whether you will be able to select a grid row on - the client by clicking on it with the mouse. - - - true, if you will be able to select a row on the client, otherwise false (the - default value). - - - - - Gets or sets a value indicating whether you will be able to select multiple rows - by dragging a rectangle around them with the mouse. - - - true, if you can select rows by dragging a rectangle with the mouse, otherwise - false (the default value) - - - - - Gets or sets value indicating whether items can be only selected through GridClientSelectColumn - - - true, if you can select rows only by clicking on the GridClientSelectColumn, otherwise - false (the default value) - - - - - - - - - Apart from row selection RadGrid supports the selection of individual cells and columns in the grid table. - The cell selection functionality is controlled through the ClientSettings.Selecting.CellSelectionMode property: - - SingleCell switches on the single cell selection. - - MultiCell turns on multiple cell selection. - - Column gives you the opportunity to select all the cells withing a given column by clicking on its header or using - the column selection API (server and client side). - - MultiColumn takes the column selection one step further and equips the grid with the ability to support multiple column selection. - - - - - Holds the column names presenting the self-referencing relations in the source - table. - - - <MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" - EnableNoRecordsTemplate="false"
- DataKeyNames= "ID,ParentID" Width="100%">
- <SelfHierarchySettings ParentKeyName="ParentID" KeyName="ID" - />
- </MasterTableView> -
- Meaningful in cases of self-referenced grid. -
- - This method is for Telerik RadGrid internal usage. - - Checks if a self-hierarchy settings property value was changed and differs from its - default. - - - - - Gets or sets a value representing the parent ID field when building the - self-referencing hierarchy. - - - The value property must be included in the DataKeyNames array - for the MasterTableView. - - - string, representing the parent ID of the current table - level. - - - - - -
-            <radG:RadGrid ID="RadGrid1" EnableAJAX="True" ShowHeader="true" runat="server" Skin="None"
Width= "97%" GridLines="None" OnColumnCreated="RadGrid1_ColumnCreated"
OnItemCreated="RadGrid1_ItemCreated"
OnNeedDataSource= "RadGrid1_NeedDataSource">
<MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" EnableNoRecordsTemplate="false"
- DataKeyNames= "ID,ParentID" Width="100%">
<SelfHierarchySettings ParentKeyName="ParentID" KeyName="ID" />
</MasterTableView>
<ClientSettings AllowExpandCollapse="true" /> - </radG:RadGrid> -
-
-
-
-
-
- - - Gets or sets a value, representing the ID of the current table level in - self-referencing hierarchy structure. - - string, representing the current table level. - - The value property must be included in the DataKeyNames array - for the MasterTableView. - - - - - -
-            <radG:RadGrid ID="RadGrid1" EnableAJAX="True" ShowHeader="true" runat="server" Skin="None"
Width= "97%" GridLines="None" OnColumnCreated="RadGrid1_ColumnCreated"
OnItemCreated="RadGrid1_ItemCreated"
OnNeedDataSource= "RadGrid1_NeedDataSource">
<MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" EnableNoRecordsTemplate="false"
- DataKeyNames= "ID,ParentID" Width="100%">
<SelfHierarchySettings ParentKeyName="ParentID" KeyName="ID" />
</MasterTableView>
<ClientSettings AllowExpandCollapse="true" /> -
-
-
- - -
-            </radG:RadGrid>
-            
-
-
-
-
-
- - - This property can be set only once when the grid is initialized - and can not be modified. - - - Gets or sets a value indicating the level-depth limit of the nested - tables. - - - integer, representing the depth limit in levels of nesting. By - default the limit is 10 levels. - - - - - The event arguments passed when sorts happens. - - - - - - - - - Gets the sort expression associated with the performed sorting. - - The sort expression associated with the performed sorting.. - - - - Gets the old sort order of the current sort expression. - - The old sort order of the current sort expression. - - - - Gets the new sort order of the current sort expression. - - The new sort order of the current sort expression. - - - - The evernt arguments passed when fires a ClearSort command which clears a certain sort expression. - - - - - - - - - Gets the sort expression associated with the performed sorting. - - The sort expression associated with the performed sorting.. - - - - Gets the current sort order of the expression which will be cleared. - - The current sort order of the expression which will be cleared. - - - Enumeration representing the order of sorting data in RadGrid - - - do not sort the grid data - - - sorts grid data in ascending order - - - sorts grid data in descending order - - - - Class that is used to define sort field and sort order for RadGrid - - - - - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - Returns a GridSortOrder enumeration based on the string input. Takes either "ASC" - or "DESC" - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - - - - - - - - - Sets the sort order. - The SortOrder paremeter should be either "Ascending", "Descending" or "None". - - - - - - - - - Parses a string representation of the sort order and returns - GirdSortExpression. - - - - Gets or sets the name of the field to which sorting is applied. - - - Sets or gets the current sorting order. - - - - A collection of objects. Depending on the value of - it holds single - or multiple sort expressions. - - - - - - - - - - - - - - - - - - - - - Returns an enumerator that iterates through the - GridSortExpressionCollection. - - - - Adds a to the collection. - - - Clears the GridSortExpressionCollection of all items. - - - - Find a SortExpression in the collection if it contains any with sort field = expression - - sort field - - - - - Tries to find a by providing an expression string. - Otherwise returns false. - - The expression to search for. - The sort expression. - Returns false a sort expression have not been found. - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - String containing sort field and optionaly sort order (ASC or DESC) - - - - Adds a to the collection at the specified - index. - - - As a convenience feature, adding at an index greater than zero will set the - to true. - - - - Removes the specified from the collection. - - - - Returns true or false depending on whether the specified sorting expression exists - in the collection. Takes a parameter. - - - - - Returns true or false depending on whether the specified sorting expression - exists in the collection. Takes a string parameter. - - - - - Adds the sort field (expression parameter) if the collection does not alreqady contain the field. Else the sort order of the field will be inverted. The default change order is - Asc -> Desc -> No Sort. The No-Sort state can be controlled using property - - - - - - Get a comma separated list of sort fields and sort-order, in the same format used by - DataView.Sort string expression. Returns null (Nothing) if there are no sort expressions in the collection - - Comma separated list of sort fields and optionaly sort-order, null if there are no sort expressions in the collection - - - - Searches for the specified - GridSortExpression and - returns the zero-based index of the first occurrence within the entire - GridSortExpressionCollection. - - - - - If false, the collection can contain only one sort expression at a time. - Trying to add a new one in this case will delete the existing expression - or will change the sort order if its FiledName is the same. - - - - Returns the number of items in the GridSortExpressionCollection. - - - - Gets a value indicating whether access to the GridSortExpressionCollection is - synchronized (thread safe). - - - - This is the default indexer of the collection - takes an integer value. - - - - - - - - - -
Gets an object that can be used to synchronize access to the - GirdSortExpressionCollection.
-
-
- - - Allow the no-sort state when changing sort order. - - - - - Holds miscellaneous properties related to sorting like the localization - properties. - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and there is no sorting applied. - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and the column is sorted ascending. - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and the column is sorted descending. - - - - - Gets or sets the background color of a sorted cell. - - The background color of a sorted cell. - - - - Defines whether a predefined CssClass will be applied to the sorted column's cells - Default value is True - - - - - State managemenet helper. This class is intended to be used only internally in RadGrid. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class holds settings related to the StatusBar item. - - <StatusBarSettingsReadyText="Stand - by"/> - - - - Gets the ID of the Label that will display the status message. - - - - Gets or sets the text that will be displayed in - GridStatusBarItem when Telerik RadGrid does not perform - any operations. - - the default value is "Ready" - - - - Gets or sets the text that will be displayed in - GridStatusBarItem when Telerik RadGrid is performing an - AJAX request. - - the default value is "Loading..." - - - - A base class inherited from . - - - - - A String Tokenizer that accepts Strings as source and delimiter. Only 1 delimiter is supported (either String or char[]). - - - - - Constructor for GridStringTokenizer Class. - - The Source String. - The Delimiter String. If a 0 length delimiter is given, " " (space) is used by default. - whether to include delimiters in the list of returned tokens (default is false) - - - - Constructor for GridStringTokenizer Class. - - The Source String. - The Delimiter String. If a 0 length delimiter is given, " " (space) is used by default. - - - - Constructor for GridStringTokenizer Class. - - The Source String. - The Delimiter String as a char[]. Note that this is converted into a single String and - expects Unicode encoded chars. - - - - Constructor for GridStringTokenizer Class. The default delimiter of " " (space) is used. - - The Source String. - - - - Empty Constructor. Will create an empty GridStringTokenizer with no source, no delimiter, and no tokens. - If you want to use this GridStringTokenizer you will have to call the NewSource(string s) method. You may - optionally call the NewDelim(string d) or NewDelim(char[] d) methods if you don't with to use the default - delimiter of " " (space). - - - - - Method to add or change this Instance's Source string. The delimiter will - remain the same (either default of " " (space) or whatever you constructed - this GridStringTokenizer with or added with NewDelim(string d) or NewDelim(char[] d) ). - - The new Source String. - - - - Method to add or change this Instance's Delimiter string. The source string - will remain the same (either empty if you used Empty Constructor, or the - previous value of source from the call to a parameterized constructor or - NewSource(string s)). - - The new Delimiter String. - - - - Method to add or change this Instance's Delimiter string. The source string - will remain the same (either empty if you used Empty Constructor, or the - previous value of source from the call to a parameterized constructor or - NewSource(string s)). - - The new Delimiter as a char[]. Note that this is converted into a single String and - expects Unicode encoded chars. - - - - Method to get the number of tokens in this GridStringTokenizer. - - The number of Tokens in the internal ArrayList. - - - - Method to probe for more tokens. - - true if there are more tokens; false otherwise. - - - - Method to get the next (string)token of this GridStringTokenizer. - - A string representing the next token; null if no tokens or no more tokens. - - - - Gets the Source string of this GridStringTokenizer. - - A string representing the current Source. - - - - Gets the Delimiter string of this GridStringTokenizer. - - A string representing the current Delimiter. - - - - A class extending used for a base class for all cells in control. - - - - - Gets or sets the which contains the cell. - - The which contains the cell. - - - - Gets or sets the of the item which contains the cell. - - The of the item which contains the cell. - - - - Gets or sets the cell owner column. - - The the cell owner column. - - - - Gets the a value uniquely identifying a cell in the . - - A value uniquely identifying a cell in the . - - - Gets or set a value indicating whether the grid cell is selected - - - - The frame attribute for a table specifies which sides of the frame surrounding - the table will be visible. - - - - No sides. - - - The top side only. - - - The bottom side only. - - - The top and bottom sides only. - - - The left-hand side only. - - - The right-hand side only. - - - The right and left sides only. - - - All four sides. - - - All four sides - - - - A class extending used for a base class for all header cells in control. - - - - - Gets or sets the id attribute of the cell. - - The id attribute of the cell. - - - - Enumeration determining table-layout html attribute. - - - - - Specifies the two possible text directions. Related to - Telerik RadGrid support for right-to-left languages. - - - - Left-To-Right direction - - - Right-To-Left direction - - - - Defines the possible modes for loading the child items when - RadGrid displays hierarchy. - - - - - All child GridTableViews will be bound immediately when DataBind occurs for a parent GridTableView or RadGrid. - - - - - - - - DataBind of a child GridTableView would only take place when an item is Expanded . - This is the default value of - - - - - This mode is similar to ServerBind, but items are expanded client-side, using - JavaScript manipulations, instead of postback to the server. - - In order to use client-side hierarchy expand, you will need to set also - to - true. - - - - - - Once expanded with postback the item can be expanded and collapsed on the client without additional postback, until the next rebinding of the control - - - - - Specifies where the grouping will be handled. There are two options: - - Server-side - GridTableView.GroupLoadMode.Server - Client-side - - GridTableView.GroupLoadMode.Client - - - - - This is the default behavior. Groups are expanded after postback to the server - for example: -
- - - -
- - <MasterTableView GroupLoadMode="Server"> -
-
-
- - - Groups will be expanded client-side and no postback will be performed.
-
- - - -
- - <MasterTableView GroupLoadMode="Client"> -
- and set the client setting AllowGroupExpandCollapse to - true:
-
- - - -
- - <ClientSettings AllowGroupExpandCollapse="True"> -
-
-
- - - To display the grid column editors inline when switching grid item in edit - mode (see the screenshot below), you simply need to change the - EditMode property to InPlace. -
- - - - - - -
-
-            							
-            <radg:RadGrid id="RadGrid1" runat="server">
<MasterTableView AutoGenerateColumns="True" EditMode="InPlace" />
</radg:RadGrid>
-
-
-
-
- A row in edit mode - To display the grid column editors in auto-generated form when switching grid - item in edit mode (see the screenshot below), you simply need to change the - MasterTableView EditMode property to - EditForms. -
- - - - - - -
-
-            							
-            <radg:RadGrid id="RadGrid1" runat="server">
<MasterTableView AutoGenerateColumns="True" EditMode="EditForms" />
</radg:RadGrid>
-
-
-
-
Edit in forms mode -
-
- - - Telerik RadGrid will display the column editors inline when switching - grid item in edit mode - - - - - Telerik RadGrid will display the grid column editors in - auto-generated form when switching grid item in edit mode - - - - - Indicate where RadGrid would store its data - - - - - DataSource (or generated html tables) data will not be stored. - RadGrid will fire NeedDataSource event and will bind after each postback - - - - - Default - RadGrid stores data in the view-state bag. - - - - - Discribe how RadGrid whould respond if the - is invalid when data-binding. See - - - - - - CurrentPageIndex would be set to 0 - - - - - CurrentPageIndex would be set to current page count - 1 - - - - - RadGrid would repord an InvalidOperationException. - - - - - Determines on which page the will go - after a successful insert. - - - - - InsertItem will be shown on first page - - - - - InsertItem will be shown on the last page - - - - - InsertItem will be shown on the current page - - - - - Specifies the position of the in - Telerik RadGrid. - - - - There will be no command item. - - - The command item will be above the Telerik RadGrid - - - The command item will be on the bottom of Telerik RadGrid - - - - The command item will be both on the top and bottom of - Telerik RadGrid. - - - - - Used to determine which is the last/current stage of the control lifecycle - - - - - Specifies the position of the in - Telerik RadGrid. - - - - The command item will be above the Telerik RadGrid - - - The command item will be on the bottom of Telerik RadGrid - - - Represents one table of data. - - In case of flat grid structure, i.e. no hierarchy levels, this object is the - MasterTableView itself. - In case of hierarchical structure, the topmost GridTableView is - the MasterTableView. All inner (child) tables are refered as - DetailTables. Each table that has children tables has a collection called - where you can access these tables. - - - - - The base class for encapsulating general functionalities. - - - - - Gets or sets the tab index of the Web server control. - - The tab index of the Web server control. The default is 0, which indicates - that this property is not set. - The specified tab index - is not between -32768 and 32767. - - - - Gets the owner RadGrid object. - The owner RadGrid object. - OwnerGrid Property - - - - Gets or sets the cell padding of the html table. - - The cell padding of the html table. - - - - Gets or sets the cell spacing of the html table. - - The cell spacing of the html table. - - - - Gets a collection of the child controls within the composite data-bound - control. - - A that represents the - child controls within the composite data-bound control. - - - - - Gets or sets a value that specifies the gridline styles for controls that display items in a table - structure. - - A value that specifies the gridline styles for controls that display items in a table - structure. - - - - Gets or sets a value that specifies the horizontal alignment of items within a container. - - A value that specifies the horizontal alignment of items within a container. - - - Gets the rendering style of a FilterItem. - - - Gets the rendering style of a CommandItem. - - - Gets the rendering style of a MultiHeaderItem. - - - - Constructs a new GridTableView and sets as its owner the RadGrid - object. - - GridTableView Method - GridTableView Method - - - - Constructs a new GridTableView and sets as its owner the - RadGrid object. Sets the IsTrackingViewState property - to the corresponding value of the boolean parameter. - - GridTableView Method - GridTableView Method - The owner RadGrid object - - Indicates whether RadGrid is saving changes to its view - state. - - - - - Default contructor for GridTableView - generally used by Page - serializer only. - - GridTableView Method - GridTableView Method - - - - Swaps columns appearance position using the unique names of the two - columns. - - SwapColumns Method - first column unique name - second column unique name - - - - Swaps columns appearance position using the column instances. - - SwapColumns Method - The first column. - The second column. - - - Swaps columns appearance position using order indexes of the two columns. - - You should have in mind that GridExpandColumn and - RowIndicatorColumn are always in front of data columns so that's why - you columns will start from index 2. - - SwapColumns Method - first column order index - second column order index - - - - Removes all selected items that belong to this GridTableView - instance. - - GridSelecting Class - ClearEditItems Method - - - - Removes all edit items that belong to the GridTableView - instance. - - GridEditFormItem Class - ClearSelectedItems Method - - - - Forces the Owner RadGrid to fire - event then calls - . - - GridNeedDataSourceEventHandler Delegate - DataBind Method - - The Rebind method should be called every time a change to the - RadGrid columns/items has been made. - - - - Binds the data source to the RadGrid instance. - - Call this member to bind partially RadGrid. Before calling this - method the property should be assigned or you can use - method instead. Use - or member to bind all - GridTableViews in RadGrid. - - DataSource Property - Rebind Method - - - For internal usage. - - - - - For internal usage. - - - - - For internal usage. - - - - - - Clears any edited items with an index greater than the new page size. - - The new page size. - - - - - - - - Returns a based on its - . - - - The GridColumn object related to the - columnUniqueName. - - GridColumn Class - UniqueName Property (Telerik.Web.UI.GridColumn) - - The following code snippet demonstrates how you to access a column at - PreRender RadGrid event and make set it as invisible: - [ASPX/ASCX] - <radg:radgrid id="RadGrid1" DataSourceID="AccessDataSource1" - runat="server" OnPreRender="RadGrid1_PreRender">
- </radg:radgrid>
- <asp:AccessDataSource ID="AccessDataSource1" - DataFile="~/Grid/Data/Access/Nwind.mdb"
- SelectCommand="SELECT CustomerID, CompanyName, ContactName FROM Customers"
- runat="server">
- </asp:AccessDataSource>
- - protected void RadGrid1_PreRender(object sender, System.EventArgs e) - { - RadGrid1.MasterTableView.GetColumn( "CustomerID" ).Visible = false; - } - -
- GetItems Method - The for the requested column. -
- - - Returns a based on its - . - - The for the requested column. - - - - Returns a collection of objects based on their - . - - - A s collection of objects based on their - . - - GetColumn Method - - The , which will be used as a criteria for - the collection. - - - - - Gets the currently selected items. - - Returns an Array of - objects representing the currently selected items. - - - - Applies all view changes to control hierarchy before rendering - - - - - This method is used by RadGrid internally. Please do not use. - - - - - - For internal structure usage. - - - - - - - - Recreates all GridItems and chld controls, using the DataSource or the ViewState - - 'True' means that DataBind() is executing. 'False' means that Viewtate - has been just loaded after postback. - - - - Validates whether the tree-like multiheader structure is defined correctly - - The grid's column collection - The dictionary which contains all column groups - thrown when the structure is not valid. - - - - recursively calculates a number of properties (col and row spans, visibility, order indexes etc.) for each cell in the multi header structure - - the colSpan of the top multiheader cell - - - - - Exports the grid data in CSV format using the properties set in the - ExportSettings. - - ExportToWord Method - ExportToExcel Method - MS Excel and MS Word online example - - - - Exports the grid data in PDF format using the properties set in the - ExportSettings. - - Exporting online example - - - - Exports the grid data in Microsoft Excel ? format using the properties set in the - ExportSettings. - - ExportToWord Method - ExportToExcel Method - MS Excel and MS Word online example - - - - Exports the grid data in Microsoft Word ? format based on the selected ExportSettings. - - GridExportSettings Class - ExportToExcel Method - - - - Export-specific method. Clears the table view controls of type IScriptControl and IExtenderControl - - Control parameter passed through the recursive method - - - For internal usage. - - - - - - - For internal usage. - - - - The passed IDictionary object (like Hashtable for example) will be filled with the - names/values of the corresponding column data-fields and their values. Only - instances of type support extracting values. - - Using grid server-side API for extraction - the dictionary that will be filled - the item to extract values from - - - - Perform asynchronous update operation, using the DataSource control API and the - Rebind method. Please, make sure you have specified the correct - DataKeyNames for the . When the - asynchronous operation calls back, RadGrid will fire - event. - - - The following online example uses PerformUpdate method: - - - Edit on double-click - - DataKeyNames Property - PerformInsert Method - PerformDelete Method - - - - Perform asynchronous update operation, using the DataSource control API. Please - make sure you have specified the correct DataKeyNames for the - GridTableView. When the asynchronous operation calls back, RadGrid will fire - event. The boolean property defines if - RadGrid will after the update. - - PerformInsert Method - PerformDelete Method - the item that is in edit mode and should be updated - set to true to prevent grid from binding after the update operation completes - - - - Perform asynchronous insert of the new item, diplayed by RadGrid when in edit mode, - using the DataSourceControl API, then . When the - asynchronous operation calls back, RadGrid will fire - event. - - PerformUpdate Method - PerformDelete Method - - - - Get the item that appears when grid is in Insert Mode. - - PerformInsert Method - A reference to the newly inserted item for the respective GridTableView. - - There is scenarios in which you need to make some changes with/depending on - the inserted item. - If you want to predifine some controls values on item insertion, you should - use the ItemCommand server-side event to access it: -
-            [C#]
private void RadGrid1_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.InitInsertCommandName)
- {
e.Canceled = true;
- e.Item.OwnerTableView.InsertItem();
GridEditableItem insertedItem = e.Item.OwnerTableView.GetInsertItem();
- GridEditFormItem editFormItem = insertedItem as GridEditFormItem;

TextBox box = editFormItem.FindControl("txtEmployeeID") as TextBox;
box.Text = "11";
}
} -
-
-            		
[VB.NET] -
-
-            Private Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.ItemCommand
If (e.CommandName = RadGrid.InitInsertCommandName) Then
- e.Canceled = True
e.Item.OwnerTableView.InsertItem()
Dim insertedItem As GridEditableItem = e.Item.OwnerTableView.GetInsertItem()
- Dim editFormItem As GridEditFormItem = CType(insertedItem, GridEditFormItem)

Dim box As TextBox = CType(MyUserControl.FindControl("insertedItem"), TextBox)
box.Text = "11"
End If
End Sub -
- If you want to get access to - the newly added row and its values to update in a custom data source, you can use - the InsertCommand event: - [C#] -
-            		protected void RadGrid1_InsertCommand(object source, GridCommandEventArgs e)  
{
GridDataInsertItem gridDataInsertItem =
(GridDataInsertItem)(RadGrid1.MasterTableView.GetInsertItem());
- Hashtable ht = new Hashtable();
gridDataInsertItem.ExtractValues(ht);
//Loop through each "DictionaryEntry" in hash table and insert using key value
foreach (DictionaryEntry ent in ht)
- {
//get the key values and insert to custom datasource.
}
-
}
-
- [Visual Basic] -
-            Protected Sub RadGrid1_InsertCommand(ByVal source As Object, ByVal e As GridCommandEventArgs)
Dim gridDataInsertItem As GridDataInsertItem = CType(RadGrid1.MasterTableView.GetInsertItem,GridDataInsertItem)
- Dim ht As Hashtable = New Hashtable
gridDataInsertItem.ExtractValues(ht)
'Loop through each "DictionaryEntry" in hash table and insert using key value
For Each ent As DictionaryEntry In ht
- 'get the key values and insert to custom datasource.
Next
End Sub -
-
-
- - - Performs asynchronous insert operation, using the DataSourceControl API, then - Rebinds. When the asynchronous operation calls back, RadGrid will fire - event. - - PerformUpdate Method - PerformDelete Method - item to be inserted - - - - Perform asynchronous insert operation, using the DataSource control API. - When the asynchronous operation calls back, RadGrid will fire event. - - PerformUpdate Method - PerformDelete Method - the item to be inserted - True to prevent from binding after the insert operartion completes. - - - - Perform asynchronous delete operation, using the DataSourceControl API the Rebinds the grid. Please make sure you have specified the correct DataKeyNames for the GridTableView. - When the asynchronous operation calls back, RadGrid will fire event. - - DataKeyNames Property - PerformUpdate Method - PerformInsert Method - The item that should be deleted - - - - Perform delete operation, using the DataSourceControl API. Please make sure you have specified the correct DataKeyNames for the GridTableView. - - DataKeyNames Property - PerformUpdate Method - PerformInsert Method - The item that should be deleted - Set to true to stop error from binding - - - - Places the GridTableView in insert mode, allowing user to insert a new data-item - values. The will be set to display the last - page. You can use also the to place the - GridTableView in insert mode. - - - - - Places the GridTableView in insert mode, allowing the user to insert a new - data-item values. The GridInsertItem created will be bound to values of the - newDataItem object. The will be set to display - the last page. You can use also the property to - place the GridTableView in insert mode. - - - - - Places the GridTableView in insert mode, allowing the user to insert a new - data-item values. The GridInsertItem created will be bound to values found in - newValues dictionary; The will be set to - display the last page. You can use also the to - place the GridTableView in insert mode. - - - - - Get a list of the page sizes set declaratively either in the current table view or in the owner grid. - Default value is {10,20,50} - - List of page sizes - - - - Finds the based on specified key name and key value. - - The key name. - The key value. - - - - - Finds a collection of objects based on a of key values. - - The dictionary containing key values.. - - - - - Gets the server control identifier generated by ASP.NET. - - The server control identifier generated by ASP.NET. - - - - - Gets or sets the width of the Web server control. - - A that represents the - width of the control. The default is . - - The width of the Web server control - was set to a negative value. - - - - Gets the ClientID of the RadGrid object that contains this instance. - - The string representation of the ClientID object that contains the - instance. - - OwnerID Property - - - - Caches the maximum column span value of the current tableview - - - - Gets or sets a value indicating whether items' data type should be - retrieved from supplied enumerable's first item. - - true if this function is enabled; otherwise, - false. The default is false. - - - You should enable this property in scenarios in which the item type should not - be retrieved from the enumerable?s generic argument but from its first item?s - type. Such cases will be the use of various O/R Mappers where the enumerable - is a entity base class and does not contains the actual object?s properties. - - - - - Gets or sets a value indicating whether grouping will use LINQ queries. - - A value indicating whether grouping will use LINQ queries. - - - - Gets or sets a value indicating whether the groups expand/collapse all header buttons should be switched on. - - A value indicating whether the groups expand/collapse all header buttons should be switched on. - - - - Gets or sets a value indicating whether the hierarchy expand/collapse all header buttons should be switched on. - - A value indicating whether the hierarchy expand/collapse all header buttons should be switched on. - - - - DetailwItemTemplate is a template that will be instantiated as a part of each data item. - Supports one-way databinding. - - - - - Gets or sets the ItemTemplate, which is rendered in the control in normal - (non-Edit) mode. - - A value of type System.Web.UI.CompiledBindableTemplateBuilder - - - - Gets or sets the EditItemTemplate, which is rendered in the control in edit - mode. - - A value of type System.Web.UI.CompiledBindableTemplateBuilder - - - - Gets or sets the ItemTemplate, which is rendered in the control in normal - (non-Edit) mode. - - A value of type System.Web.UI.CompiledBindableTemplateBuilder - - - - Gets or sets the group header ItemTemplate. - - - - - Gets or sets the group footer ItemTemplate. - - - - - Gets or sets the collection of detail table views for this - GridTableView. - - - A collection of detail table views for this - GridTableView. - - DataKeyValues Property - DataKeyNames Property - - Adding or removing objects to the DetailTables collection changes - the hierarchical structure. - - Use after modifying the collection - programmatically. - - This collection can also be altered unsing the environment designer. - - - - - - Gets or sets a value that describes how RadGrid would respond - if the is invalid when data-binding. - - - - - This property is not persisted in the ViewState. By deafult the value is - . - - - GridResetPageIndexAction Enumeration - - A member of the GridResetPageIndexAction enumeration which - describes how RadGrid would respond if the - CurrentPageIndex is invalid when data-binding. By default its - value is - - - - - Gets or sets on which page the will go after item insertion. - - - - - Gets or sets a value indicating whether the border lines for grid cells will be - displayed. - - - One of the - GridLines - values. The default is . - - - Use the GridLines property to specify the gridline style for - a GridTableView control. The following table lists the available - styles. - - - - Style - Description - - - GridLines.None - No gridlines are displayed. - - - GridLines.Horizontal - Displays the horizontal gridlines only. - - - GridLines.Vertical - Displays the vertical gridlines only. - - - GridLines.Both - Displays both the horizontal and vertical - gridlines. - - - - - CellPadding Property (Telerik.Web.UI.GridTableViewBase) - CellSpacing Property (Telerik.Web.UI.GridTableViewBase) - - The following code snippet demonstrates how to use the - GridLines property to hide the gridlines in a - GridTableView control. - [ASPX/ASCX] - <radG:RadGrid ID="RadGrid1" runat="server" - GridLines="None">
- </radGrid:RadGrid>
- - RadGrid1.GridLines = GridLines.None - - - RadGrid1.GridLines = GridLines.None; - -
- HorizontalAlign Property -
- - - Gets or sets a value indicating the horizontal alignment of the grid - table. - - - One of the - HorizontalAlign - values. The default is . - - - Use the HorizontalAlign property to specify the horizontal - alignment of a GridTableView control within the page. The - following table lists the different horizontal alignment styles. - - - - Alignment value - Description - - - HorizontalAlign.NotSet - The horizontal alignment of the GridTableView - control has not been set. - - - HorizontalAlign.Left - The GridTableView control is left-aligned on the - page. - - - HorizontalAlign.Center - The GridTableView control is centered on the - page. - - - HorizontalAlign.Right - The GridTableView control is right-aligned on the - page. - - - HorizontalAlign.Justify - The GridTableView control is aligned with both the - left and right margins of the page. - - - - - GridLines Property - - The following code snippet demonstrates how to use the - HorizontalAlign property to align a GridTableView - control on the right side of a page. - [ASPX/ASCX] - <radG:RadGrid ID="RadGrid1" runat="server" - HorizontalAlign="Right">
- </radG:RadGrid>
- - RadGrid1.HorizontalAlign = HorizontalAlign.Right - - - RadGrid1.HorizontalAlign = HorizontalAlign.Right; - -
-
- - - - Gets a collection of DataKeyValue objects that represent the - data key value of the corresponding item (specified with its - ) and the DataKeyName - (case-sensitive!). The DataKeyName should be one of the - specified in the array. - - - - - protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e) - { - if (e.Exception != null) - { - e.KeepInEditMode = true; - e.ExceptionHandled = true; - Response.Write("Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " cannot be updated. Reason: " + e.Exception.Message); - } - else - { - Response.Write("Employee " + e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["EmployeeID"] + " updated"); - } - } - - - int eID = (int)tableView.DataKeyValues[editedItem.ItemIndex]["EmployeeID"]; - - - Dim eID as Integer = (CInt)tableView.DataKeyValues(editedItem.ItemIndex)("EmployeeID") - - - Protected Sub RadGrid1_ItemUpdated(ByVal source As Object, ByVal e As Telerik.Web.UI.GridUpdatedEventArgs) Handles RadGrid1.ItemUpdated - If Not e.Exception Is Nothing Then - e.KeepInEditMode = True - e.ExceptionHandled = True - Response.Write("Employee " + e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("EmployeeID").ToString() + " cannot be updated. Reason: " + e.Exception.Message) - Else - Response.Write("Employee " + e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("EmployeeID").ToString() + " updated") - End If - End Sub - - - data key name/value pair - - A - GridDataKeyArray that - contains the data key of each item in a GridTableView control. - - - When the - DataKeyNames - property is set, the GridTableView control automatically creates a - DataKeyValue object for each item in the control. The - DataKeyValue object contains the values of the field or fields - specified in the DataKeyNames property. The - DataKeyValue objects are then added to the control's - DataKeysValue collection. Use the DataKeysValue - property to retrieve the DataKeyValue object for a specific data item - in the GridTableView control. - - - - - - Gets or sets an array of data-field names that will be used to populate the - collection, when the - GridTableView - control is databinding. - - - - Use the DataKeyNames property to specify the field or fields - that represent the primary key of the data source. - Note: Values set to this property are case-sensitive! The - field names should be coma-separated. - - The data key names/values are stored in the ViewState so they - are available at any moment after grid have been data-bound, after postbacks, - etc. This collection is used when editing data, and for automatic relations - when binding an hiararchical grid (see - ). - - If the - Visible - property of a column field is set to false, the column is not displayed in the - GridTableView control and the data for the column does not make a - round trip to the client. If you want the data for a column that is not visible to - make a round trip, add the field name to the DataKeyNames - property. - - - An array that contains the names of the primary key fields for the items - displayed in a GridTableView control. - - - - - This property is used to specify the field from the underlying datasource, - which will populate the ClientDataKeyNames collection.
- This collection can later be accessed on the client, to get the key - value(s).
- The following example demonstrates the extraction of the data key value for a - given data table view object: -
- <ClientSettings>
- <ClientEvents OnHierarchyExpanded="HierarchyExpanded" />
- </ClientSettings>
- <script type="text/javascript">
- function HierarchyExpanded(sender, args)
- {
- var firstClientDataKeyName = - args.get_tableView().get_clientDataKeyNames()[0];
- alert("Item with " + firstClientDataKeyName + ":'" + - args.getDataKeyValue(firstClientDataKeyName)
- + "' expanded.");
- }
- </script>
- The logic is placed in the OnHierarchyExpanded client side event handler, - which is triggered when the user expands a node
- in a hierarchical grid, but can be used in any other event, given that a proper - reference to the client table view object is obtained.
-
-
- - - Gets or sets values indicating DataFieldNames that should be - sorted, grouped, etc and are not included as columns, in case the property - is false. - - DataKeyValues Property - DataKeyNames Property - - An array of DataFieldNames values that should be sorted, grouped, etc and are not - included as columns. - - RetrieveAllDataFields Property - - - - Gets or sets a value indicating whether RadGrid will show - instead of the corresponding - if there is no items to display. - - - true if usage is enabled; - otherwise, false. The default value is true. - - NoRecordsTemplate Property - NoMasterRecordsText Property - NoDetailRecordsText Property - - - - Gets or sets the template that will be displayed if a - GridTableView - control is bound to a data source that does not contain any records. - - - - You can set the text that will appear in the NoRecordsTemplate through - NoMasterRecordsText and - NoDetailRecordsText properties. - - By default if Items.Count equals 0, - GridTableView will render no records message. - If NoRecordsTemplate and - NoMasterRecordsText/NoDetailRecordsText are set, - the NoRecordsTemplate property has priority. - - - A - System.Web.UI.ITemplate - that contains the custom content for the empty data row. The default value is a - null reference (Nothing in Visual Basic), which indicates that - this property is not set. - - - The following example demonstrates how NoRecordsTemplate can - be implemented declaratively: - [ASPX/ASCX] - <radG:RadGrid ID="RadGrid1" runat="server">
- <MasterTableView>
- <NoRecordsTemplate>
- <div style="text-align: center; height: 300px">
- <asp:Label ForeColor="RoyalBlue" runat="server" ID="Label1">Currently there - are no items in this folder.</asp:Label>
- <br />
- </div>
- </NoRecordsTemplate>
- </MasterTableView>
- </radG:RadGrid>
- The following code snippet demonstrates how the NoRecordsTemplate can be - implemented dynamically: - - RadGrid1.MasterTableView.NoRecordsTemplate = New NoRecordsTemplate() - - Public Class NoRecordsTemplate - Implements ITemplate - - Public Sub New() - End Sub - - Public Sub InstantiateIn(ByVal container As System.Web.UI.Control) Implements System.Web.UI.ITemplate.InstantiateIn - Dim lbl As Label = New Label() - lbl.ID = "Label1" - lbl.Text = "Currently there are no items in this folder." - lbl.ForeColor = System.Drawing.Color.RoyalBlue - container.Controls.Add(lbl) - End Sub - End Class - - - RadGrid1.MasterTableView.NoRecordsTemplate = new NoRecordsTemplate(); - - class NoRecordsTemplate: ITemplate - { - public NoRecordsTemplate() - { - } - - public void InstantiateIn(Control container) - { - Label lbl = new Label(); - lbl.ID = "Label1"; - lbl.Text = "Currently there are no items in this folder."; - lbl.ForeColor = System.Drawing.Color.RoyalBlue; - container.Controls.Add(lbl); - } - } - -
- - The - - EnableNoRecordsTemplate Property should be set to true (its - default value) in order to be displayed the - NoRecordsTemplate. - - EnableNoRecordsTemplate Property - NoMasterRecordsText Property - NoDetailRecordsText Property -
- - - Gets or sets the text that will be displayed in there is no - defined and no records in the - MasterTableView. - - EnableNoRecordsTemplate Property - NoRecordsTemplate Property - NoDetailRecordsText Property - - The text to display in the empty data item. The default is an empty string ("") - which indicates that this property is not set. - - - The empty data row is displayed in a GridTableView control when - the data source that is bound to the control does not contain any records. Use the - NoMasterRecordsText and NoDetailRecordsText property - to specify the text to display in the empty data item. Alternatively, you can define - your own custom user interface (UI) for the empty data item by setting the - NoRecordsTemplate property instead of this property. - - - - - Gets or sets the Expanded value of the . - - The Expanded value of the . - - - - Gets or sets the text that will be displayed in there is no - defined and no records in the Detail tables. - - - The text to display in the empty data item. The default is an empty string (""), - which indicates that this property is not set. - - - The empty data row is displayed in a GridTableView control when - the data source that is bound to the control does not contain any records. Use the - NoMasterRecordsText and NoDetailRecordsText property - to specify the text to display in the empty data item. Alternatively, you can define - your own custom user interface (UI) for the empty data item by setting the - NoRecordsTemplate property instead of this property. - - EnableNoRecordsTemplate Property - NoRecordsTemplate Property - NoMasterRecordsText Property - - - - Gets or sets a value indicating whether the GridTableView - will extract all bindable properties from the DataSource when - binding, to perform operations like sorting, grouping, etc on DataFields that are - not included in the column declarations. - - - You can also use the array to indicate - RadGrid DataFieldNames that should be sorted, grouped, ect and are - not included as columns. - - - true, if the GridTableView will extract all - bindable properties from the DataSource when binding; otherwise, - false. The default value is true. - - AdditionalDataFieldNames Property - - - - Gets or sets a value indicating whether the GridTableView - should use all retieved properties from the DataSource when - binding, to perform operations like sorting, grouping, etc on DataFields that are - not included in the column declarations. - - - You can also use the array to indicate - RadGrid DataFieldNames that should be sorted, grouped, ect and are - not included as columns. - - - false, if the GridTableView will not use all - bindable properties from the DataSource when binding; otherwise, - true. The default value is false. - - AdditionalDataFieldNames Property - - - - Gets or sets a value indicating whether null values in the - database will be retrieved as dbnull values. - - - true if the null values in the database - will be retrieved as dbnull values; otherwise, - false. The default is false. - - - - - Gets or sets the collection of data-field pairs that describe the relations in a - hierarchical grid. - - - If you have specified the relations RadGrid will automatically - filter the child data-source when when binding detail-tables. The specified - in each - in this collection should be a Key that is - specified in the parent table's array. Each - DetailKeyField specfied should also be included in this - GridTableView's DataKeyNames array. - MasterTableView does not need any - ParentTableRelations. - - - A GridTableViewRelation collection of data-field pairs that - describe the relations in a hierarchical grid. - - GridTableViewRelation Class - DataKeyValues Property - DataKeyNames Property - Hierarchy online example - - - - Gets a set the options for GridTableView's self-hierarchy - behavior. - - GridSelfHierarchySettings Class - Options for GridTableView's self-hierarchy behavior. - Self-referencing hierarchy online example - - - - Gets a set of options for the GridTableView's data-bound - nested view template. - - - - Gets a set the options for GridTableView's command item. - The options for GridTableView's command item. - GridCommandItemSettings Class - CommandItemDisplay Property - - - - Gets or sets the object from which the data-bound control retrieves its list - of data items. - - - - Generally the DataSource object references - . Assign this property only if you need to - change the default behavior or . - - - RadGrid modifies this property when - is assigned. - - On postback the DataSource property settings are not - persisted due to performance reasons. Note, however, that you can save the grid - DataSource in a Session/Application/Cache - variable and then retrieve it from there after postback invocation. Respectively, - you can get the changes made in the data source in a dataset object and then - operate with them. - This property cannot be set by themes or style sheet themes. - - - An object that represents the data source from which the - GridTableView control retrieves its data. The default is a null - reference (Nothing in Visual Basic). - - DataSourceID Property - Simple data-binding online example - Various data sources online example - GridNeedDataSourceEventHandler Delegate - - - - Gets or sets the ID of the DataSource control used for - population of this GridTableView data items. - - - [ASPX/ASCX]
- <radG:RadGrid ID="RadGrid1" runat="server" - DataSourceID="SessionDataSource1">
- ............
- </radG:RadGrid>
-
- - The ID of a control that represents the data source from which the data-bound - control retrieves its data. The default is String.Empty (""). - - This property cannot be set by themes or style sheet themes. - DataSource Property - GridNeedDataSourceEventHandler Delegate -
- - - Gets a reference to a GridItem that is a parent of this - GridTableView, when this GridTableView represents a - child table in a hierarchical structure. - - A reference to the server control's parent control. - - Whenever a page is requested, a hierarchy of server controls on that page is - built. This property allows you to determine the parent control of the current server - control in that hierarchy, and to program against it. - - - Whenever a page is requested, a hierarchy of server controls on that page is - built. This property allows you to determine the parent control of the current server - control in that hierarchy, and to program against it. - - GridItem Class - - - Gets or sets the filtering options for grid columns. - - In the most common case, Telerik RadGrid checks all filtering options - for each column, then prepares a filter expression and sets this property internally. - Note: You should be careful when setting this property as it may - break the whole filtering functionality for your grid. - More info on the way, the expressions are created you can find - - here (external link to MSDN library). - - - - If (Not Page.IsPostBack) Then - RadGrid1.MasterTableView.FilterExpression = "([Country] LIKE '<see cref="Germany"/>') " - - Dim column As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Country") - column.CurrentFilterFunction = GridKnownFunction.Contains - column.CurrentFilterValue = "Germany" - End If - - - if (!Page.IsPostBack) - { - RadGrid1.MasterTableView.FilterExpression = "([Country] LIKE \'<see cref="Germany"/>\') "; - - GridColumn column = RadGrid1.MasterTableView.GetColumnSafe("Country"); - column.CurrentFilterFunction = GridKnownFunction.Contains; - column.CurrentFilterValue = "Germany"; - } - - - Applying default filter on initial load - - - - Gets or sets a value indicating whether the groups will be expanded on grid load - (true by default). - - - true, if the groups will be expanded on grid load; otherwise, - false. The default value is true. - - GroupLoadMode Property - GroupByExpressions Property - - - - Gets or sets a value indicating whether the hierarchy will be expanded by - default. The default value of the property is false. - - - - - Gets a reference to the object, allowing - you to customize its settings. - - The property setter does nothing and should not be used. It works around a bug in the VS.NET designer. - - - - Gets a reference to the object, allowing - you to customize its settings. - - The property setter does nothing and should not be used. It works around a bug in the VS.NET designer. - - - - - Gets or sets a value indicating when the DataBind of the child - GridTableView will occur when working in hierarchy mode. - Accepts values from enumeration. See the - remars for details. - - - - Changing this propery value impacts the performance the following way: - - In ServerBind mode - Roundtrip to the database only when - grid is bound. ViewState holds all detail tables data. Only detail table-views - of the expanded items are rendered. Postback to the server to expand an - item - In ServerOnDemand mode - Roundtrip to the database when - grid is bound and when item is expanded. ViewState holds data for only visible - Items (smallest possible). Only detail table-views of the expanded items are - rendered. Postback to the server to expand an item. - In Client mode - Roundtrip to the database only when - grid is bound. ViewState holds all detail tables data. All items are rendered - - even is not visible (not expanded). NO postback to the server to expand an item - - expand/collapse of hierarchy items is managed client-side.
- Note: In order to use client-side hierarchy expand, you will - need to set also - - to true.
-
-
- The default value is ServerOnDemand. -
- - - Specifies where the grouping will be handled. There are two options: - - Server-side - GridTableView.GroupLoadMode.Server - Client-side - - GridTableView.GroupLoadMode.Client - - - GridTableView.GroupLoadMode.Server - This is the default behavior. Groups are expanded after postback to the server - for example: -
- - - -
-
-            							
-            <MasterTableView GroupLoadMode="Server">
-            							
-            						
-
- GridTableView.GroupLoadMode.Client
-
Groups will be - expanded client-side and no postback will be performed.
-
- - - -
-
-            								
-            <MasterTableView GroupLoadMode="Client">
-            								
-            							
- and set the client setting AllowGroupExpandCollapse to - true:
-
- - - -
-
-            								
-            <ClientSettings AllowGroupExpandCollapse="True">
-            								
-            							
-
-
- - - There are two possible values defined by the GridEditMode - enumeration: - - InPlace - EditForms - - To display the grid column editors inline when switching grid item in edit - mode (see the screenshot below), you simply need to change the - EditMode property to InPlace. -
- - - - - - -
-
-            							
-            <radg:RadGrid id="RadGrid1" runat="server">
<MasterTableView AutoGenerateColumns="True" EditMode="InPlace" />
</radg:RadGrid>
-
-
-
-
- A row in edit mode - To display the grid column editors in auto-generated form when switching grid - item in edit mode (see the screenshot below), you simply need to change the - MasterTableView EditMode property to - EditForms. -
- - - - - - -
-
-            							
-            <radg:RadGrid id="RadGrid1" runat="server">
<MasterTableView AutoGenerateColumns="True" EditMode="EditForms" />
</radg:RadGrid>
-
-
-
-
Edit in forms mode -
- - FormsGets or sets a value indicating how a GridItem will - look in edit mode. - - - A value indicating how a GridItem will look in edit mode. The - default is EditForms. - - GridEditMode Enumeration -
- - - Gets or sets the value indicating wheather more than one column can be sorted in a - single GridTableView. The order is the same as the sequence of - expressions in . - - - true, if more than one column can be sorted in a single - GridTableView; otherwise, false. The default value is - false. - - AllowSorting Property - SortExpressions Property - - - - Gets or sets the value indicated whether the no-sort state when changing sort - order will be allowed. - - - true, if the no-sort state when changing sort order will be - allowed; otherwise, false. The default value is - true. - - SortExpressions Property - AllowSorting Property - - - - Gets or sets a value indicating whether the sorting feature is - enabled. - - - - true if the sorting feature is enabled; otherwise, - false. The default is . - - - SortExpressions Property - AllowCustomSorting Property - AllowMultiColumnSorting Property - - When a data source control that supports sorting is bound to the - GridTableView - control, the GridTableView control can take advantage of the data - source control's capabilities and provide automatic sorting functionality. - To enable sorting, set the AllowSorting property to - true. When sorting is enabled, the heading text for each column - field with its - SortExpressions - property set is displayed as a link button. - Clicking the link button for a column causes the items in the - GridTableView control to be sorted based on the sort expression. - Typically, the sort expression is simply the name of the field displayed in the - column, which causes the GridTableView control to sort with - respect to that column. To sort by multiple fields, use a sort expression that - contains a comma-separated list of field names. You can determine the sort - expression that the GridTableView control is applying by using the - SortExpressions property. Clicking a column's link button repeatedly toggles the - sort direction between ascending and descending order. - Note that if you want to sort the grid by a column different - than a GridBoundColumn, you should set also its - SortExpression - property to the desired data field name you want the column to be sorted by. - - - Different data sources have different requirements for enabling their sorting - capabilities. To determine the requirements, see the documentation for the specific - data source. - The SortExpression property for an automatically generated - columns field is automatically populated. If you define your own columns through - the Columns - collection, you must set the SortExpression property for each - column; otherwise, the column will not display the link button in the - header. - - AllowNaturalSort Property - SortExpressions Property - - - - Gets or sets a value indicating whether the filtering by column feature is - enabled. - - - - true if the filtering by column feature is enabled; otherwise, - false. Default value is the value of - . - - - - - When the value is true, GridTableView will display the - filtering item, under the table's header item. The filtering can be controlled - based on a column through column properties: - , - , - . The column - method is used to determine if - a column can be used with filtering. Generally, this function returns the value - set to AllowFiltering for a specific column. For example - will return the values of - property. - - - GridFilteringItem Class - Basic filtering online example - - - - Gets or sets a value indicating whether the header context menu should be - enabled. - - - - true if the header context menu feature is enabled; otherwise, - false. Default value is the value of - . - - - - - - Gets or sets a value indicating whether the option to set columns aggregates should appear in - header context menu. - - - - true if the set columns aggregates option is enabled; otherwise, - false. Default is false. - - - - - - Gets or sets a value indicating whether the header context filter menu should be - enabled. - - - - true if the header context filter menu feature is enabled; otherwise, - false. Default value is the value of - . - - - - - - Gets or sets a value indicating whether Telerik RadGrid will - automatically generate columns at runtime based on its - DataSource. - - - - A value indicating whether Telerik RadGrid will automatically - generate columns at runtime based on its DataSource. The - default value is the value of RadGrid's property - . - - - AutoGeneratedColumns Property - - - For internal usage. - - - - - - - Gets all items among the hierarchy of - GridTableView - items that are selected. The selected items in a GridTableView - are cleared when collapses and the - ParentItem becomes selected. - - - - A GridItemCollection of items among the hierarchy of - GridTableView items that are selected. - - GridItemCollection Class - - - - - Gets all items among the hierarchy of - GridTableView - items that are in edit mode. The edit items in a GridTableView - are cleared when collapses. - - - A GridItemCollection of items that are in edit mode. - GridItemCollection Class - EditMode Property - EditFormSettings Property - - - - Gets or sets a value indicating whether all columns settings will be persisted in - the ViewState or not. - - - true if columns are kept in the view state; otherwise - false. The default value is true. - - - Set this property to false if you need to change dynamically the - structure of the RadGrid. - - - - Gets or sets if the custom sorting feature is enabled. - - With custom sorting turned on, RadGrid will display as Sorting Icons, will maintain - the SortExpressions collection and so on, but it will not actually sort the Data. - You should perform the custom sorting in the SortCommand event handler. You can - also use the method, - which will return the sort expressions string in the same format as it wold be used - by a DataView component. - - - true, if custom sorting feature is enabled; otherwise, - false. The default value is false. - - AllowSorting Property - SortExpressions Property - GridSortCommandEventHandler Delegate - - - Gets or sets if the custom paging feature is enabled. - - true, if the custom paging feature is enabled; otherwise, - false. Default value is the value of - . - - AllowPaging Property - Custom paging online example - - There are cases in which you may want to fetch only a fixed number of records and - perform operations over this specified set of data. Telerik RadGrid allows such - data manipulation through the custom paging mechanism integrated in the control. - The main steps you need to undertake are: - - Set AllowPaging = true and AllowCustomPaging = true for - your grid instance - Implement code logic which to extract merely a fixed number of records - from the grid source and present them in the grid structure - The total number of records in the grid source should be defined through - the VirtualItemCount property of the MasterTableView/GridTableView - instance. Thus the grid "understands" that the data source contains the - specified number of records and it should fetch merely part of them at a time - to execute requested operation. - Another available option for custom paging support is through the - ObjectDataSource control custom paging feature:
- - Custom paging with ObjectDataSource grid content generator -
-
- - Gets or sets a value indicating whether the paging feature is enabled. - - - true if the paging feature is enabled; otherwise, - false. The default is . - - - PageCount Property - PageSize Property - PagingManager Property - PagerStyle Property - RenderPagerStyle Property - PagerTemplate Property - CurrentPageIndex Property - CurrentResetPageIndexAction Property - - Instead of displaying all the records in the data source at the same time, - the GridTableView - control can automatically break the records up into pages. If the data source - supports the paging capability, the GridTableView control can take - advantage of that and provide built-in paging functionality. The paging feature can - be used with any data source object that supports the - System.Collections.ICollection interface or a data source that supports - paging capability. - To enable the paging feature, set the AllowPaging property - to true. By default, the GridTableView control - displays 10 records on a page at a time. You can change the number of records - displayed on a page by setting the - PageSize - property. To determine the total number of pages required to display the data - source contents, use the - PageCount - property. You can determine the index of the currently displayed page by using the - CurrentPageIndex - property. - When paging is enabled, an additional row called the pager item is - automatically displayed in the GridTableView control. The pager - row contains controls that allow the user to navigate to the other pages. You can - control the settings of the pager row (such as the pager display mode, the number - of page links to display at a time, and the pager control's text labels) by using - the - PagerStyle - properties. The pager row can be displayed at the top, bottom, or both the top and - bottom of the control by setting the - Position - property. You can also select from one of six built-in pager display modes by - setting the Mode - property. - The GridTableView control also allows you to define a custom - template for the pager row. For more information on creating a custom pager row - template, see - PagerTemplate. - The GridTableView control provides an event that you can use - to perform a custom action when paging occurs. - - - - Event - Description - - - - - - Occurs when one of the pager buttons is clicked, but after - the GridTableView control handles the paging operation. This - event is commonly used when you need to perform a task after the user - navigates to a different page in the control. - - - - - - - Gets or sets a value indicating whether Telerik RadGrid should retrieve all data and ignore server paging in case of filtering or grouping. - - - true (default) if the retrieve all data feature is enabled; otherwise, - false. - - - - - - - Specify the maximum number of items that would appear in a page, when paging is - enabled by or - property. Default value is the value of - . - - - The number of records to display on a single page. The default is 10. - The PageSize property is set to a value less than 1. - - When the paging feature is enabled (by setting the - AllowPaging - property to true), use the PageSize property to specify the number of - records to display on a single page. - - The number of records to display on a single page. The default is 10. - - - - Gets or sets a value indicating whether Telerik RadGrid will perform - automatic updates, i.e. using the DataSource controls - functionality. - - - true, if Telerik RadGrid will perform automatic - updates; otherwise, false. The default value is - false. - - Automatic operations online example - - - - Gets or sets a value indicating whether Telerik RadGrid will perform - automatic inserts, i.e. using the DataSource controls - functionality. - - - true, if the Telerik RadGrid will perform automatic - inserts; otherwise, false. The default value is - false. - - Automatic operations online example - - - - Gets or sets a value indicating whether Telerik RadGrid will perform - automatic deletes, i.e. using the DataSource controls - functionality. - - - true, if Telerik RadGrid will perform automatic - deletes; otherwise, false. The default value is - false. - - Automatic operations online example - - - - Gets a collection of - GridColumn objects - that represent the column fields in a - GridTableView - control. - - - A - GridColumnCollection - that contains all the column fields in the GridTableView - control. - - - A column field represents a column in a GridTableView - control. The Columns property (collection) is used to store all - the explicitly declared column fields that get rendered in the GridTableView - control. You can also use the Columns collection to - programmatically manage the collection of column fields. - The column fields are displayed in the GridTableView control - in the order that the column fields appear in the Columns - collection. - - To get a list of all columns rendered in the current instance use - - - Although you can programmatically add column fields to the - Columns collection, it is easier to list the column fields - declaratively in the GridTableView control and then use the - Visible - property of each column field to show or hide each column field. - If the Visible property of a column field is set to false, - the column is not displayed in the GridTableView control and the - data for the column does not make a round trip to the client. If you want the data - for a column that is not visible to make a round trip, add the field name to the - DataKeyNames - property. - This property can be managed programmatically or by Property Builder (IDE - designer). - - - Explicitly declared column fields can be used in combination with automatically - generated column fields. When both are used, explicitly declared column fields are - rendered first, followed by the automatically generated column fields. Automatically - generated column fields are not added to the Columns - collection. - - GridColumnCollection Class - GridColumn Class - Column types online example - - - - Gets the column groups. - - Returns the column groups in a collection of type . - - - - Gets the number of pages required to display the records of the data source - in a GridTableView - control. - - The number of pages in a GridTableView control. - - When the paging feature is enabled (by setting the - AllowPaging - Property to true), use the PageCount property to - determine the total number of pages required to display the records in the data source. - This value is calculated by dividing the total number of records in the data source by - the number of records displayed in a page (as specified by the - PageSize - property) and rounding up. - - AllowPaging Property - AllowCustomPaging Property - PageSize Property - PagingManager Property - PagerStyle Property - PagerTemplate Property - - - Gets the number of pages if paging is enabled. - The number of pages if paging is enabled. - AllowPaging Property - AllowCustomPaging Property - - - - Gets a DataView object that represents the data sent to the - to be displayed. - - A result DataView object of all grid operations. - - ResolvedDataSourceView is available only in event - handler i.e. when the grid is bound. - - - - - Gets a Paging object that is the result of paging settings and runtime paging - state of the grid. - - - A - GridPagingManager - object that corresponds to the Paging object. - - - Note that changes made to this object would not have - effect on the structure of the grid. - - AllowPaging Property - PageSize Property - PageCount Property - - - - Gets a collection of sort expressions for this table view instance, associated - with the column or columns being sorted. - - - - Modifying the SortExpressions collection will result in change - of the order of appearance of items in the table view. If - is set to false this collection can - only contain one item. Adding other in - the collection in this case will cause existing expression to be deleted or if - GridSortExpression with the same same - exist its - will be changed. - - This property's value is preserved in the ViewState. - - GridSortExpressionCollection Class - AllowSorting Property - AllowCustomSorting Property - AllowMultiColumnSorting Property - - The collection of sort expressions associated with the column or columns being - sorted. - - Advanced sorting online example - - - - Adding to this collection will cause the - current table-view to display items sorted and devided in groups separated by - s, that display common group and aggregate - field values. See on details of - expressions syntax. - - - Note that the correctness of the expressions in the collection is - checked when DataBind occures. Then if an expression in not correct or a - combination of expressions is erroneous a - would be thrown on . This property's value is preserved - in the ViewState. - - - A GroupByExpressionCollection of values that will cause the current table-view to - display items sorted and devided in groups separated by - GridGroupHeaderItems, that display common group and aggregate field - values. - - Group-By expressions online example - - - - - - - - Get an array of automatically generated columns. This array is available when - is set to true. Autogenerated - columns appear always after when rendering. - - An array of automatically generated columns. - - - - Gets a value defining the setting that will be applied when an Item is in edit - mode and the property is set to - EditForms. - - - [ASPX/ASCX] - <MasterTableView>
- <EditFormSettings - CaptionFormatString='<img src="img/editRowBg.gif" alt="" - />
'>
- <FormMainTableStyle GridLines="None" - CellSpacing="0" - CellPadding="3" - Width="100%" - CssClass="none"/>
- <FormTableStyle CssClass="EditRow" - CellSpacing="0" - BorderColor="#c4c0b5" - CellPadding="2" - Width="100%"/>
- <FormStyle Width="100%" - BackColor="#ffffe1"
></FormStyle>
- </EditFormSettings>
-
- GridEditFormSettings Class -
- - - Gets or sets a string that specifies a brief description of a - GridTableView. - Related to Telerik RadGrid accessibility compliance. - - - A string that represents the text to render in an HTML caption element in a - GridTableView control. The default value is an empty string - (""). - - - Use the Caption property to specify the text to render in an - HTML caption element in a GridTableView control. The text that you - specify provides assistive technology devices with a description of the table that - can be used to make the control more accessible. - - Summary Property - -
-            The following example demonstrates how to style the Caption of a MasterTableView and detail GridTableView.
-            
-
-            <head runat="server">
<title>Untitled Page</title>
<style type="text/css">
- .MasterTable_Default caption
{
color: red;
} -
-
-            		.DetailTable_Default caption
{
color: blue;
}
-
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<radG:RadGrid runat="server" ID="RadGrid1" DataSourceID="SqlDataSource1" AllowPaging="true"
AllowMultiRowEdit="true" OnItemCommand="RadGrid1_ItemCommand" >
<MasterTableView EditMode="EditForms" DataKeyNames="CustomerID" Caption="Master Caption" CommandItemDisplay="Top">
- <Columns>
<radG:GridEditCommandColumn>
</radG:GridEditCommandColumn>
</Columns>
<DetailTables>
<radG:GridTableView DataKeyNames="OrderID" DataSourceID="SqlDataSource2" Caption="Detail Caption" CssClass="DetailTable_Default">
<ParentTableRelation>
<radG:GridRelationFields DetailKeyField="CustomerID" MasterKeyField="CustomerID" />
</ParentTableRelation>
</radG:GridTableView>
</DetailTables>
</MasterTableView>
</radG:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="</%$ ConnectionStrings:NorthwindConnectionString2/%>"
SelectCommand="SELECT [CustomerID], [CompanyName], [ContactName], [ContactTitle] FROM [Customers]">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="</%$ ConnectionStrings:NorthwindConnectionString2/%>"
SelectCommand="SELECT [OrderID], [CustomerID], [ShipCountry] FROM [Orders] WHERE ([CustomerID] = @CustomerID)">
<SelectParameters>
<asp:Parameter Name="CustomerID" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</div>
</form>
</body> -
-
-
- - Gets or sets the 'summary' attribute for the respective table. - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadGrid accessibility features. - - - A string representation of the 'summary' attribute for the respective - table. - - Caption Property - - - - Gets or sets the text direction. This property is related to Telerik RadGrid support - for Right-To-Left lanugages. It has two possible vales defined by - enumeration: - - LTR - left-to-right text - RTL - right-to-left text - - - - - The frame attribute for a table specifies which sides of the frame surrounding - the table will be visible. Possible values: - - void: No sides. This is the default - value. - above: The top side only. - below: The bottom side only. - hsides: The top and bottom sides only. - vsides: The right and left sides only. - lhs: The left-hand side only. - rhs: The right-hand side only. - box: All four sides. - border: All four sides - - Gets or sets a value specifying the frame table attribute. - - A - GridTableFrame value, - specifying the frame table attribute. - - GridTableFrame Enumeration - - - GridTableLayout Enumeration - - - A - GridTableLayout - value, indicating the table layout type. The default value is - . - - - Gets or sets a string that indicates whether the table layout is fixed. - - - The value of the TableLayout property is a string that - specifies or receives one of the following GridTableLayout - enumeration values: - - - Auto - Default (except in some scenarios, e.g. when using static headers with grouping or hierarchy). Column width is set by the widest unbreakable content in - the column cells. - - - Fixed - - Table and column widths are set either by the sum of the - widths on the objects or, if these are - not specified, by the width of the first row of cells. If no width - is specified for the table, it renders by default with width=100%. - - - - - - - - - Gets a reference to the - GridTableItemStyle - object that allows you to set the appearance of items in a - GridTableView - control. - - - A reference to the GridTableItemStyle that represents the style of - data items in a GridTableView control. If style is not altered (is - default) is used. - - AlternatingItemStyle Property - CommandItemStyle Property - FooterStyle Property - HeaderStyle Property - SelectedItemStyle Property - - - Gets the rendering style of an Item. - - A reference to the GridTableItemStyle that represents the - rendering style of the item. If is not specified the - return value is OwnerGrid.. - - GridTableItemStyle Class - - - Manage visual style of the group header items. - - A reference to the GridTableItemStyle that represents the style of - the group header items. If style is not altered (is default) - is used. - - GridTableItemStyle Class - - - Gets the rendering style of the group header items. - - A reference to the GridTableItemStyle that represents the - rendering style of the group header items. If - is not specified the return value is - OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a reference to the - GridTableItemStyle - object that allows you to set the appearance of alternating items in a - GridTableView - control. - - - A reference to the GridTableItemStyle that represents the style of - alternating data items in a GridTableView control. If style is not - altered (is default) is used. - - - Use the AlternatingItemStyle property to control the - appearance of alternating items in a GridTableView control. When - this property is set, the items are displayed alternating between the - ItemStyle - settings and the AlternatingItemStyle settings. This property is - read-only; however, you can set the properties of the - GridTableItemStyle object it returns. The properties can be set - declaratively using one of the following methods: - - Place an attribute in the opening tag of the - GridTableView control in the form - Property-Subproperty, where Subproperty is a - property of the GridTableItemStyle object (for example, - AlternatingItemStyle-ForeColor). - Nest an <AlternatingItemStyle> element between the opening and - closing tags of the GridTableView control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, - AlternatingItemStyle.ForeColor). Common settings usually include a custom - background color, foreground color, and font properties. - - GridTableItemStyle Class - - - Gets the rendering style of the AlternatingItem. - GridTableItemStyle Class - - A reference to the GridTableItemStyle that represents the - rendering style of the AlternatingItem. If - is not specified the return value is - OwnerGrid.. - - - - - Gets a reference to the - GridTableItemStyle - object that allows you to set the appearance of the item selected for editing in a - GridTableView - control. - - - - A reference to the GridTableItemStyle that represents the - style of the row being edited in a GridTableView control. If style is not - altered (is default) is used. - - - - Use the EditItemStyle property to control the appearance of - the item in edit mode. This property is read-only; however, you can set the - properties of the GridTableItemStyle object it returns. The - properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the - GridTableView control in the form - Property-Subproperty, where Subproperty is a - property of the GridTableItemStyle object (for example, - EditItemStyle-ForeColor). - Nest an <EditItemStyle> element between the - opening and closing tags of the GridTableView control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, - EditItemStyle.ForeColor). Common settings usually include a custom - background color, foreground color, and font properties. - - ItemStyle Property - GroupHeaderItemStyle Property - AlternatingItemStyle Property - PagerStyle Property - HeaderStyle Property - FilterItemStyle Property - CommandItemStyle Property - FooterStyle Property - SelectedItemStyle Property - GridTableItemStyle Class - - - Gets the rendering style of an edit Item. - - A reference to the GridTableItemStyle that represents the - rendering style of an edit item. If is not - specified the return value is OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a reference to the - GridPagerStyle object - that allows you to set the appearance of the pager item in a - GridTableView - control. - - - A reference to the GridPagerStyle that represents the style of the - pager item in a GridTableView control. If style is not altered (is - default) is used. - - - Use the PagerStyle property to control the appearance of the - pager item in a GridTableView control. The pager item is displayed - when the paging feature is enabled (by setting the AllowPaging - property to true) and contains the controls that allow the user to - navigate to the different pages in the control. This property is read-only; - however, you can set the properties of the GridPagerStyle object it returns. The - properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the - GridTableView control in the form - Property-Subproperty, where Subproperty is a - property of the GridPagerStyle object (for example, - PagerStyle-ForeColor). - Nest a <PagerStyle> element between the opening - and closing tags of the GridTableView control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, - PagerStyle.ForeColor). Common settings usually include a custom - background color, foreground color, and font properties. - - ItemStyle Property - AlternatingItemStyle Property - HeaderStyle Property - FooterStyle Property - SelectedItemStyle Property - GridTableItemStyle Class - Styling Header, Footer and Pager items online example - - - Gets the rendering style of the Pager item. - - A reference to the GridTableItemStyle that represents the rendering style of the - pager item. If is not specified the return value is - OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a reference to the - GridTableItemStyle - object that allows you to set the appearance of the header item in a - GridTableView - control. - - - - A reference to the GridTableItemStyle that represents the - style of the header row in a GridTableView control. If style - is not altered (is default) is used. - - - - Use the HeaderStyle property to control the appearance of - the header item in a GridTableView control. This property is - read-only; however, you can set the properties of the - GridTableItemStyle object it returns. The properties can be set - declaratively using one of the following methods: - - Place an attribute in the opening tag of the - GridTableView control in the form - Property-Subproperty, where Subproperty is a - property of the GridTableItemStyle object (for example, - HeaderStyle-ForeColor). - Nest a <HeaderStyle> element between the opening - and closing tags of the GridTableView control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, - HeaderStyle.ForeColor). Common settings usually include a custom - background color, foreground color, and font properties. - - ItemStyle Property - AlternatingItemStyle Property - EditItemStyle Property - FooterStyle Property - SelectedItemStyle Property - GridTableItemStyle Class - Styling Header, Footer and Pager items online example - - - Gets the rendering style of a GridHeaderItem. - - A reference to the GridTableItemStyle that represents the rendering style of the - GridHeaderItem. If is not specified the return value - is OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a reference to the - GridTableItemStyle - object that allows you to set the appearance of the filter item in a - GridTableView - control. - - - A reference to the GridTableItemStyle that represents the style - of the filter item. - - GridTableItemStyle Class - - - Gets the rendering style of a FilterItem. - - A reference to the GridTableItemStyle that represents the - rendering style of a FilterItem. If is not - specified the return value is OwnerGrid. - - GridTableItemStyle Class - - - - Gets a referenct to the - GridTableItemStyle - object that allows you to set the appearance of the command item in a - GridTableView - control. - - - A reference to the GridTableItemStyle that represents the style - of the command item. - - GridTableItemStyle Class - - - Gets the rendering style of a CommandItem. - - A reference to the GridTableItemStyle that represents the - rendering style of a CommandItem. If is not - specified the return value is - OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a referenct to the - GridTableItemStyle - object that allows you to set the appearance of the multi header item in a - GridTableView - control. - - - A reference to the GridTableItemStyle that represents the style - of the multi header item. - - GridTableItemStyle Class - - - Gets the rendering style of a MultiHeaderItem. - - A reference to the GridTableItemStyle that represents the - rendering style of a MultiHeaderItem. If is not - specified the return value is - OwnerGrid.. - - GridTableItemStyle Class - - - Gets the rendering style of an ActiveItem. - - A reference to the GridTableItemStyle that represents the - rendering style of an ActiveItem. - - GridTableItemStyle Class - - - Manage visual style of the footer item. - - A reference to the GridTableItemStyle that represents the style of - the footer item. If style is not altered (is default) - is used. - - GridTableItemStyle Class - Styling Header, Footer and Pager items online example - - - Gets the rendering style of an FooterItem. - - A reference to the GridTableItemStyle that represents the - rendering style of an FooterItem. If is not - specified the return value is OwnerGrid.. - - GridTableItemStyle Class - - - - Gets a reference to the - Style object that allows you to set the appearance of the selected item - in a GridTableView - control. - - - - A reference to the Style object that represents the style of - the selected item in a GridTableView control. If style is not - altered (is default) is used. - - - - Use the SelectedItemStyle property to control the appearance - of the selected item in a GridTableView control. This property is read-only; - however, you can set the properties of the Style object it - returns. The properties can be set declaratively using one of the following - methods: - - Place an attribute in the opening tag of the - GridTableView control in the form - Property-Subproperty, where Subproperty is a - property of the Style object (for example, - SelectedItemStyle-ForeColor). - Nest a <SelectedRowStyle> element between the - opening and closing tags of the GridTableView control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, - SelectedItemStyle.ForeColor). Common settings usually include a - custom background color, foreground color, and font properties. - - - The following code example demonstrates how to use the - SelectedItemStyle property to define a custom style for the - selected item in a GridTableView control. - [ASPX/ASCX] - <radG:RadGrid ID="RadGrid1" runat="server">
- ..........
- <SelectedItemStyle BackColor="#FFE0C0" />
- </radG:RadGrid>
- - RadGrid1.SelectedItemStyle.BackColor = System.Drawing.Color.Azure - - - RadGrid1.SelectedItemStyle.BackColor = System.Drawing.Color.Azure; - -
- ItemStyle Property - AlternatingItemStyle Property -
- - - Gets or sets the name of the - GridTableView. - - - The string representation of the Name of the GridTableView it is - assigned to. The default is String.Empty (""). - - - The Name property can be used distinguish different - GridTableView instances. Often used to set different settings for - different views conditionally. - - - The following example demonstrates different action on - [ASPX/ASCX]<script type="text/javascript" >
- function OnRowDblClick(index)
- {
- if(this.Name == "MasterTableView")
- {
- alert("Cliecked row with index " + index + " of the MasterTableView");
- }
- if(this.Name == "DetailTableView1")
- {
- alert("Clicked row with index " + index + " of the first detail table");
- }
- if(this.Name == "DetailTableView2")
- {
- alert("Clicked row with index " + index + " of the second detail table");
- }
- }
- </script>
-
- <radG:RadGrid ID="RadGrid1" runat="server" >
- <MasterTableView Name="MasterTableView">
- <DetailTables>
- <radG:GridTableView Name="DetailTableView1" >
- </radG:GridTableView>
- <radG:GridTableView Name="DetailTableView2">
- </radG:GridTableView>
- </DetailTables>
- </MasterTableView>
- <ClientSettings>
- <ClientEvents OnRowDblClick="OnRowDblClick"></ClientEvents>
- </ClientSettings>
- </radG:RadGrid> -
-
- - - Gets or sets a value indicating if the will be - shown in the current GridTableView. - - - true, if the GridHeaderItem will be shown in - the current GridTableView; otherwise, false. The - default value is true. - - ShowFooter Property - - - - Gets or sets a value indicating if the will be - shown in the current GridTableView. - - - true, if the GridGroupFooterItem will be shown in - the current GridTableView; otherwise, false. The - default value is true. - - ShowFooter Property - - - - Gets or sets a value indicating if the will be - shown in the current GridTableView. - - - true, if the GridFooterItem will be shown in - the current GridTableView; otherwise, false. The - default value is false. - - ShowHeader Property - - - - Gets an array of all columns that are used when rendering the grid - instance. - - An array of all columns that are used when rendering the grid instance. - - Modifying the array would not affect rendering as it is regenerated before - each data-bind. To modify the list of columns available use - property. - - Columns Property - - - - - Gets a collection of all data items of a grid table view and items that belong - to child tables of the GridTableView if the hierarchy is - expanded. The items are collected depth-first. The property - actually referres to - ItemsHierarchy of
- . This property can be used to - traverse all
- DataItems items in the hiearchy of a GridTableView. -
-
- - A GridDataItemCollection of all data items of a grid table view - and items that belong to child tables of the GridTableView if the - hierarchy is expanded. - - GridDataItem Class -
- - - Gets a collection of GridDataItem objects that represent the data items in a - GridDataItem - control. - - - The Items property (collection) is used to store the data items - in a GridTableView control. The GridTableView control - automatically populates the Items collection by creating a - GridDataItem object for each record in the data source and then adding - each object to the collection. This property is commonly used to access a specific item - in the control or to iterate though the entire collection of items. - - - A GridDataItemCollection that contains all the data items in a - GridTableView control - - GridDataItem Class - - - AllowCustomPaging Property - - - - - Gets or sets a value indicating the index of the currently active page in case - paging is enabled ( is - true). - - The index of the currently active page in case paging is enabled. - AllowCustomPaging Property - AllowPaging Property - - - - Gets value indicating whether the GridTableView will render multiple headers. Read only. - - True if the table view has multiple headers, otherwise false. - - - - If set to true (the default) - GridNoRecordsItem - is used to display no records template. This item is the only one displayed in the - GridTableView in this case. - - NoRecordsTemplate Property - - - - Gets a value indicating if the GridTableView instance has - children (Detail) tables. - - - true, if the GridTableView instance has - children (Detail) tables; otherwise, false. - - DetailTables Property - - - - Gets or sets the programmatic identifier assigned to the current - GridTableView. - - - This property is set automatically by RadGrid object that - owns this instance. - - The programmatic identifier assigned to the control. - - Only combinations of alphanumeric characters and the underscore character ( _ ) - are valid values for this property. Including spaces or other invalid characters will - cause an ASP.NET page parser error. - - OwnerID Property - - - - Gets or sets a value indicating whether RadGrid will be built on - PreRender unless it was built before that. This property is supposed for - Telerik RadGrid internal usage, yet you can set it with care. - - - true, if the RadGrid will be built on - PreRender; otherwise, false. - - - - - The unique hierarchy index of the current table view, generated when it is - binding. - - The hierarchy index of the current table view. - - - - Indicates whether the items have been created, generally by data-binding. - - - true, if the items have beed created; otherwise, - false. - - - - - This property is used internally by RadGrid and it is not - intended to be used directly from your code. - - - - - - - Gets or sets the custom content for the pager item in a - GridTableView - control. - - - A - System.Web.UI.ITemplate - that contains the custom content for the pager item. The default value is null, which - indicates that this property is not set. - - - If this template is set, RadGrid will not create the default - pager controls. - - AllowPaging Property - PagingManager Property - - - - Gets or sets the template that will be instantiated in the CommandItem. If - this template is set, RadGrid will not create the default - CommandItem controls. - - - A - System.Web.UI.ITemplate - object that contains the custom content for the pager item. The default value is null, - which indicates that this property is not set. - - GridCommandItem Class - CommandItemSettings Property - - - - Gets or sets a value indicating if the GridTableView is - currently in insert mode. - - - true, if the GridTableView is currently in - insert mode; otherwise, false. - - - The ItemInserted property indicates if the GridTableView is - currently in insert mode. After setting it you should call the - method. You can also use the - method, that will also reposition the grid to show - the last page, where the newly inserted item is generally displayed. - - - - - Gets or sets a value indicating if the GridTableView should override the - default DataSourceControl sorting with grid native sorting. - - - You can set this to true in case of ObjectDataSource with IEnumerable data without implemented sorting. - - - - - Gets or sets a value indicating if the text in the header of the GridTableView should be split on capital letter. - - True if header text should be split; otherwise, - false. The default is true. - - - This property is meaningful only when the GridTableView has AutoGenerateColumns = "true" - - - - - - Gets or sets the default position of the GridCommandItem as defined by the - . The possible values are: - - None - this is the default value - the command item will not be rendered - Top - the command item will be rendered on the top of the grid - Bottom - the command item will be rendered on the bottom of the grid - TopAndBottom - the command item will be rendered both on top and bottom of the - grid. - - - A - GridCommandItemDisplay - proprty which define the default position of the - GridCommandItem. - - GridCommandItemDisplay Enumeration - - - - Gets or sets a value determining the position of the . - - A value determining the position of the . - - - - Stores a custom PageSize value if such is set when page mode is NextPrevAndNumeric - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - corresponding fields from a master-detail relation - - - - - Gets or sets the key field which will be used for a relation between the and the parent table. - The key field should refer to parent DataField which you want to use as relation. - The MasterKeyField in the GridRelationFields should match the primary key of the parent table in the corresponding relation. - - The key field which will be used for a relation between the and the parent table. - The key field should refer to parent DataField which you want to use as relation. - The MasterKeyField in the GridRelationFields should match the primary key of the parent table in the corresponding relation. - - - - Gets or sets the key field which will be used for a relation between the and the parent table. - The key field should refer to current DataField which you want to use as relation. - The DetailKeyField in the GridRelationFields should match the foreign key of the child table in the corresponding relation. - - The key field which will be used for a relation between the and the parent table. - The key field should refer to current DataField which you want to use as relation. - The DetailKeyField in the GridRelationFields should match the foreign key of the child table in the corresponding relation. - - - - - A collection that stores objects. - - - - - - - - Initializes a new instance of . - - - - - - - Initializes a new instance of based on another . - - - - A from which the contents are copied - - - - - - Initializes a new instance of containing any array of objects. - - - - A array of objects with which to intialize the collection - - - - - Adds a with the specified value to the - . - - The to add. - - The index at which the new element was inserted. - - - - - - Copies the elements of an array to the end of the . - - - An array of type containing the objects to add to the collection. - - - None. - - - - - - - Adds the contents of another to the end of the collection. - - - - A containing the objects to add to the collection. - - - None. - - - - - - Gets a value indicating whether the - contains the specified . - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - - Copies the values to a one-dimensional instance at the - specified index. - - The one-dimensional that is the destination of the values copied from . - The index in where copying begins. - - None. - - is multidimensional. -or- The number of elements in the is greater than the available space between and the end of . - is . - is less than 's lowbound. - - - - - Returns the index of a in - the . - - The to locate. - - The index of the of in the - , if found; otherwise, -1. - - - - - - Inserts a into the at the specified index. - - The zero-based index where should be inserted. - The to insert. - None. - - - - - Returns an enumerator that can iterate through - the . - - None. - - - - - Removes a specific from the - . - - The to remove from the . - None. - is not found in the Collection. - - - - - - - - - - - - - - - - Clones the instance and returns a copy. - - The cloned instance. - - - - Represents the entry at the specified index of the . - - The zero-based index of the entry to locate in the collection. - - The entry at the specified index of the collection. - - is outside the valid range of indexes for the collection. - - - - - - - - - - - - - - - - - - - - - - - - A class extending used when - is set to . - - - - - Container of misc. grouping settings of RadGrid control - - - - - Gets or sets a value indicating of the validation is enabled. - - A value indicating of the validation is enabled.The enable validation. - - - - Gets or sets the validation group. - - The validation group. - - - - Gets or sets a commands list of commands names which will be validated. - - The commands list of command names to be validate. - - - - Expression similar to SQL's "Select Group By" clause that is used by - GridTableView to group items - (. Expressions can be defined by - assigning Expression property and/or managing the - items in or - collections. - - - If you use property to assign - group by expression as string then the expression is parsed and - and - are created. If the - expression syntax is incorrect a would be - thrown. You can use 's properties to set - expression's fields appearance format strings, etc. See - property for details about the expression syntax. - - - - Constructs a new GroupByExpression from a grid GridColumn. - - If the column does not have a valid string assigned this - constructor will throw . Column should be - The following properties will be copied from the corresponding column's properties: - - - Column's data-format-string depending on the type of the column. For example - will be copied to - . - - Column's will be copied to - - - - - the column (and its DataField respectively) that will be used - for grouping Telerik RadGrid - - - - Calls GridGroupByExpression(expression) - - - The same as the property - the string representation of the expression. - - - - Compares the current expression against the expression set as parameter and check - if both expressions contain field with the same name. - - - true if both expressions contain field with the same name, - otherwise false. - - expression to check against this expression - - - Checks if the given expression contains same Group-By field as this one. - - true if the expression already contains this GroupByField, otherwise - false. - - - Use this function to determine if two expressions seem to produce the same set of results - - Expression to check - - - - Copies the current from another . - - The to be coppied from. - - - - Gets a collection of SelectField objects (field names, aggregates etc.) that form - the "Select" clause. Standing on the left side of the "Group By" clause. - - - - - Gets a collection of objects that form the grouping - clause. Standing on the right side of the "Group By" clause - - - - String representation of the GroupBy expression. - - Expression syntax: - fieldname[ alias]|aggregate(fieldname)[ alias][, ...] Group By fieldname[ - sort][, ...] - - - fieldname: the name of any field from the - - - alias: alas string. This cannot contain blanks or other - reserved symbols like ',', '.' etc. - - aggregate: any of - min, max, - sum, count, last, first etc (the same - as in enumeration ) - - sort: asc or desc - the sort order of - the grouped items - - - - - Country, City, count(Country) Items, ContactName Group By Country, City desc - - - Country, City, count(Country) Items, ContactName Group By Country, City desc - - - - - - Gets the index of the expression if added in a - - - - integer, representing the index of the collection ni - . - - - - - Collection that stores group by expressions - - - - - - Initializes a new instance of . - - - - - - - Initializes a new instance of based on another . - - - - A from which the contents are copied - - - - - - Initializes a new instance of containing any array of objects. - - - - An array of objects with which to intialize the collection - - - - - Adds a with the specified value to the - . - - The to add. - - The index at which the new element was inserted. - - - - - - Parses value and adds a to the - . - - The string representation to add. - - The index at which the new element was inserted. - - - - - - Copies the elements of an array to the end of the . - - - An array of type containing the objects to add to the collection. - - - None. - - - - - - - Adds the contents of another to the end of the collection. - - - - A containing the objects to add to the collection. - - - None. - - - - - - Gets a value indicating whether the - contains the specified . - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - - Copies the values to a one-dimensional instance at the - specified index. - - The one-dimensional that is the destination of the values copied from . - The index in where copying begins. - - None. - - is multidimensional. -or- The number of elements in the is greater than the available space between and the end of . - is . - is less than "s lowbound. - - - - - Returns the index of a in - the . - - The to locate. - - The index of the of in the - , if found; otherwise, -1. - - - - - - Inserts a into the at the specified index. - - The zero-based index where should be inserted. - The to insert. - None. - - - - - Returns an enumerator that can iterate through - the . - - None. - - - - - Removes a specific from the - . - - The to remove from the . - None. - is not found in the Collection. - - - - Removes a specific from the - . by provided expression string - - The string expression to remove from the . - None. - is not found in the Collection. - - - - Represents the entry at the specified index of the . - - The zero-based index of the entry to locate in the collection. - - The entry at the specified index of the collection. - - is outside the valid range of indexes for the collection. - - - - - - - - - - - - - - - - - - - - Represents a single item in the . The item is rendered as header cell - and inherited from . - - - - - Gets or sets the HierarchicalIndex. - - The HierarchicalIndex. - - - - GridGroupPanel appears on the top of Telerik RadGrid - when ShowGroupPanel of RadGrid is set to - true and if - is set to true, you can drag column to the panel to group data by - that column. - - Basic Grouping - Traversing items in group panel - - - protected void RadGrid1_PreRender(object sender, System.EventArgs e) - { - TableCell cell; - - foreach (cell in RadGrid1.GroupPanel.GroupPanelItems) - { - Control ctrl; - foreach (ctrl in cell.Controls) - { - if (ctrl is ImageButton) - { - ImageButton button = ctrl as ImageButton; - button.ImageUrl = "<my_img_url>"; - button.CausesValidation = false; - } - } - } - } - - - Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender - Dim cell As TableCell - - For Each cell In RadGrid1.GroupPanel.GroupPanelItems - Dim ctrl As Control - For Each ctrl In cell.Controls - If (Typeof ctrl Is ImageButton) Then - Dim button As ImageButton = CType(ctrl, ImageButton) - button.ImageUrl = "<my_img_url>" - button.CausesValidation = False - End If - Next ctrl - Next cell - End Sub - - - - Group by fields (displayed in the GroupPanel) are defined through the - GridGroupByExpressions. - - - - For internal usage only. - - - - - - - - - - - - - - - - Gets a collection of items displayed in the group panel. These items represent - the GroupByFields used for Telerik RadGrid - grouping. - - - - protected void RadGrid1_PreRender(object sender, System.EventArgs e) - { - TableCell cell; - - foreach (cell in RadGrid1.GroupPanel.GroupPanelItems) - { - Control ctrl; - foreach (ctrl in cell.Controls) - { - if (ctrl is ImageButton) - { - ImageButton button = ctrl as ImageButton; - button.ImageUrl = "<my_img_url>"; - button.CausesValidation = false; - } - } - } - } - - - Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender - Dim cell As TableCell - - For Each cell In RadGrid1.GroupPanel.GroupPanelItems - Dim ctrl As Control - For Each ctrl In cell.Controls - If (Typeof ctrl Is ImageButton) Then - Dim button As ImageButton = CType(ctrl, ImageButton) - button.ImageUrl = "<my_img_url>" - button.CausesValidation = False - End If - Next ctrl - Next cell - End Sub - - - Traversing items in group panel - - - - Gets or sets the text displayed in the group panel to urge the user dragging a - column to group by. - - -
-            <GroupPanel Text="Drag here the column you need to group by."></GroupPanel>
-            
-
- - Note that the GroupPanel Text has a default value, so you don't need to set it - generally. - -
- - Gets the style that will be used for the group panel. - -
-                <GroupPanel Text="Drag a column here.">
<PanelStyle BackColor="Aqua" BorderStyle="Dotted" />
</GroupPanel> -
-
-
- - Gets the style that will be used for the group panel items. - -
-                <GroupPanel Text="Drag a column here.">
<PanelStyle BackColor="Aqua" BorderStyle="Dotted" />
<PanelItemsStyle BackColor="Black" Font-Italic="true"/>
</GroupPanel> -
-
-
- - Gets or sets a value indicating whether the group panel will be displayed. - true, if group panel is visible, otherwise false (the default value). - - - - - - Summary description for GridGroupPanelStyle. - - - - - Gets or sets the distance between table cells. - - The distance (in pixels) between table cells. The default is -1, which - indicates that this property is not set. - The specified distance - is set to a value less than -1. - - - - - Gets a value determining if the style is empty. - - - - Represents the style for the items panel - control and some Web Parts. - - - - Gets or sets the amount of space between the contents of the cell and - the cell's border. - - The distance (in pixels) between the contents of a cell and the cell's - border. The default is -1, which indicates that this property is not set. - The specified distance - is set to a value less than -1. - - - - - Gets a value determining if the style is empty. - - - - - GridContextMenu - - - - - Gets the items. - - The items. - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - - true if the control is visible on the page; otherwise false. - - - - - Gets or sets the ClickToOpen. - - The ClickToOpen. - - - - Gets or sets the programmatic identifier assigned to the server control. - - The programmatic identifier assigned to the control. - - - - - Gets or sets a value indicating whether item images should have sprite support. - - - True if the child items should have sprite support; otherwise - False. The default value is False. - - - - - - - - - - Gets the column name for header context filtering menu. - - - - - - Gets or sets a value indicating whether item images should have sprite support. - - - True if the child items should have sprite support; otherwise - False. The default value is True. - - - - - Gets the collapse animation. - - The collapse animation. - - - - Gets the filter numeric box first condition. - - The filter numeric box first condition. - - - - Gets or sets a value indicating if an automatic scroll is applied if the groups are larger then the screen height. - - - - - This Class defines GridContextFilterTemplate that inherits ITemplate. - - - - - When implemented by a class, defines the - object that child controls and templates belong to. These child controls are - in turn defined within an inline template. - - The object to contain - the instances of controls from the inline template. - - - - Gets the control ID. - - The filter control. - The id suffix. - - - - - This enum specifies the FilterControl value. - - - - - FilterControl is set to CheckBox. - - CheckBox - - - - FilterControl is set to TableCell. - - TableCell - - - - FilterControl is set to RadTextBox. - - RadTextBox - - - - FilterControl is set to RadComboBox. - - RadComboBox - - - - FilterControl is set to RadDateInput. - - RadDateInput - - - - FilterControl is set to RadDatePicker. - - RadDatePicker - - - - FilterControl is set to RadDateTimePicker. - - RadDateTimePicker - - - - FilterControl is set to RadTimePicker. - - RadTimePicker - - - - FilterControl is set to RadNumericBox. - - RadNumericBox - - - - FilterControl is set to RadMaskedBox. - - RadMaskedBox - - - - FilterControl is set to FilterButton. - - FilterButton - - - - FilterControl is set to ClearFilterButton. - - ClearFilterButton - - - - This enum specifies if the IdSuffix value. - - - - - IdSuffix is set to FirstCond. - - FirstCond - - - - IdSuffix is set to SecondCond. - - SecondCond - - - Represents the filtering menu for Telerik RadGrid. - - - - Enumeration specifing the reason a event was fired. - - - - - Event arguments passed when calls its event. - - - - - Gets a value indicating if the - - The is from detail table. - - - - Gets a value specifying why the event was fired. - - The rebind reason. - - - - RadGrid control class. - - - - Set properties of RadGrid as default for the corresponding properties of grid's - table views . - The best approach to bind RadGrid is to handle its event and set the DataSource property - there. This way RadGrid will handle automatically operations like paging, sorting, grouping, etc. - The main table-view can be accessed through property. - The group panel and its items can be accessed using GroupPanel property. Note that the group items can be modified only - through the properties of each GridTableView. - Hierarchical grid structure can be implemented adding GridTableView objects to and handling - event, where you should set the DataSource of each bound detail table filtered - according to the property key values. - The of RadGrid property is a reference to the columns of the MasterTableView and is present in RadGrid for - compatibility with the DataGrid server control. - - - - Represents the Cancel command name. This field is read-only. - - Use the CancelCommandName field to represent the "Cancel" command name. - This command cancels the edit operation and RadGrid returns to normal mode. - - - The example below demonstrates how to use the Cancel command within an - EditItemTemplate. -
-            <radG:GridTemplateColumn UniqueName="TemplateColumn">
-            
-
-                <EditItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="Cancel" Text="Cancel Edit" CommandName="Cancel">
-            
-
-                    </asp:LinkButton>
-            
-
-                </EditItemTemplate>
-            
-
-            </radG:GridTemplateColumn>
-            
-
-
- - Represents the "Delete" command name. This field is read-only. - - Use the DeleteCommandName field to represent the "Delete" command - name. - - - The example below demonstrates how to use the Delete command within an - ItemTemplate. -
-            <radG:GridTemplateColumn UniqueName="TemplateColumn">
-            
-
-                <ItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="Delete" Text="Delete" CommandName="Delete">
-            
-
-                    </asp:LinkButton>
-            
-
-                </ItemTemplate>
-            
-
-            </radG:GridTemplateColumn>
-            
-
-
- - Represents the "Edit" command name. This field is read-only. - - Use the EditCommandName field to represent the "Edit" command name. This - command enters RadGrid in edit mode. - - - The example below demonstrates how to use the "Edit" command within an - ItemTemplate. -
-            <radG:GridTemplateColumn UniqueName="TemplateColumn">
-            
-
-                <ItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="Edit" Text="Edit" CommandName="Edit">
-                
-
-                    </asp:LinkButton>
-            
-
-                </ItemTemplate>
-            
-
-            </radG:GridTemplateColumn>
-            
-
-
- - Represents the "InitInsert" command name. This field is read-only. - - The example below demonstrates how to use the InitInsert command within an - CommandItemTemplate. -
-                <CommandItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="AddNew" Text="Add new record" CommandName="InitInsert">
-            
-
-                    </asp:LinkButton>
-            
-
-                </CommandItemTemplate>
-            
-
- - Use the InitInsertCommandName field to represent the - "InitInsert" command name. This command enters RadGrid in edit mode and lets the user - enter the data for a new record. - -
- - Represents the "PerformInsert" command name. This field is read-only. - - Use the PerformInsertCommandName field to represent the - "PerformInsert" command name. This command enters the new record into the - database. - - - - - Represents the "RebindGrid" command name. This field is read-only. Forces - RadGrid.Rebind - - - Use the RebindGridCommandName field to force rebinding the - grid. - - - - - The example below demonstrates how to use the Update command within an - EditItemTemplate. -
-            <radG:GridTemplateColumn UniqueName="TemplateColumn">
-                
-
-                <EditItemTemplate>
-                
-
-                    <asp:LinkButton runat="server" ID="Update" Text="Update" CommandName="Update">
-                
-
-                    </asp:LinkButton>
-                
-
-                </EditItemTemplate>
-                
-
-            </radG:GridTemplateColumn>
-            
-
- Represents the "Update" command name. This field is read-only. - - Use the UpdateCommandName field to represent the "Update" command - name. - -
- - - Represents the "UpdateEdited" command name. Updates all items that are in edit - mode. This field is read-only. - - - The example below demonstrates how to use the UpdateEdited command within an - CommandItemTemplate. -
-                <CommandItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="UpdateEdited" Text="Update Edited" CommandName="UpdateEdited">
-            
-
-                    </asp:LinkButton>
-            
-
-                </CommandItemTemplate>
-            
-
- - Use the UpdateCommandName field to represent the "Update" command - name. - -
- - Represents the "DeleteSelected" command name. This field is read-only. - - Use the DeleteSelectedCommandName field to represent the - "DeleteSelected" command name. - - - The example below demonstrates how to use the DeleteSelected command within - an CommandItemTemplate. -
-                <CommandItemTemplate>
-            
-
-                    <asp:LinkButton runat="server" ID="DeleteSelected" Text="Delete Selected" CommandName="DeleteSelected">
-                
-
-                    </asp:LinkButton>
-            
-
-                </CommandItemTemplate>
-            
-
-
- - Represents the "DownloadAttachment" command name. This field is read-only. - - Use the DownloadAttachment field to represent the - "DownloadAttachment" command name. - - - - - Represents the name of the filter command fired through RadGrid's header context menu. - - - - - Constructs a new instance of RadGrid - - - - - Data-bind %MasterTableView% and its detail - %GridTableView%s. Prior to calling DataBind, the - %DataSource% property should be assigned. - - Simple Data-binding - - You should have in mind, that in case you are using simple data binding (i.e. - when you are not using NeedDataSource event) the correct approach - is to call the DataBind() method on the first page load when - !Page.IsPostBack and after handling some event (sort event for - example). - You will need to assign DataSource and rebind the grid after - each operation (paging, sorting, editing, etc.) - this copies exactly MS - DataGrid behavior. - - We recommend using the method instead and handling - the event. - - - - - - - - - - Sets property of the GridDateTimeColumn, GridNumericColumn or GridRatingColumn indicating - whether the current filter function is Between ot NotBetween. Used in case of custom FilterTemplates - - - - - - - - - - - - - - - - - - This method is used by RadGrid internally. Please do not use. - - - - - Forces RadGrid to fire - NeedDataSource - event then calls - DataBind - - - - - - - - - - Gets a object that could be used when binding a control - to a service. The GetBindingData method have many overrides and their main purpose is to return - a object to be used and returned from a service so a control could handle complex operations - like sorting, filtering, paging. In the general case the parameters are automatically passed when the - makes a request to the service. However, you could use it for custom scenarios by providing your manually generated - parameters. - - - The contextTypeName parameter for the . - The tableName parameter for the . - The index from where to start retrieving records. The parameter is used for pagging support. - The maximum rows to be loaded. The parameter is used for pagging support. - The sort expression. - The filter expression. - Returns a object which could be used to return the data to the control. - - - - Gets a object that could be used when binding a control - to a service. The GetBindingData method have many overrides and their main purpose is to return - a object to be used and returned from a service so a control could handle complex operations - like sorting, filtering, paging. In the general case the parameters are automatically passed when the - makes a request to the service. However, you could use it for custom scenarios by providing your manually generated - parameters. - - - The contextTypeName parameter for the . - The tableName parameter for the . - The select for the . - The index from where to start retrieving records. The parameter is used for pagging support. - The maximum rows to be loaded. The parameter is used for pagging support. - The sort expression. - The filter expression. - Returns a object which could be used to return the data to the control. - - - - Gets a object that could be used when binding a control - to a service. The RadGrid.GetBindingData method have many overrides and their main purpose is to return - a object to be used and returned from a service so a control could handle complex operations - like sorting, filtering, paging. In the general case the parameters are automatically passed when the - makes a request to the service. However, you could use it for custom scenarios by providing your manually generated - parameters. - - - Generic collection to be paged, filtered and sorted. - The index from where to start retrieving records. The parameter is used for pagging support. - The maximum rows to be loaded. The parameter is used for pagging support. - The sort expression. - The filter expression. - Returns a object which could be used to return the data to the control. - - - - Gets a object that could be used when binding a control - to a service. The GetBindingData method have many overrides and their main purpose is to return - a object to be used and returned from a service so a control could handle complex operations - like sorting, filtering, paging. In the general case the parameters are automatically passed when the - makes a request to the service. However, you could use it for custom scenarios by providing your manually generated - parameters. - - - collection to be paged, filtered and sorted. - The index from where to start retrieving records. The parameter is used for pagging support. - The maximum rows to be loaded. The parameter is used for pagging support. - The sort expression. - The filter expression. - Returns a object which could be used to return the data to the control. - - - - Used by the SPRadGrid control - - - - - - The event which is fired when a batch edit operation is made. - - - - - Occurs when the Cancel button is clicked for an item in the - Telerik RadGrid control. - - - The CancelCommand event is raised when the Cancel button is clicked for an - item in the Telerik RadGrid control. - - -
- The following code example demonstrates how to specify and code a handler for the - CancelCommand event to cancel edits made to an item in the - Telerik RadGrid control. - - <%@ Page Language="VB" > @ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_CancelCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - Response.Write("Cancel") - End Sub - - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnCancelCommand="RadGrid1_CancelCommand" > - <MasterTableView> - <Columns> - <radG:GridEditCommandColumn> - </radG:GridEditCommandColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$ ConnectionStrings: NorthwindConnectionString %>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - -
-
- - - Fires when each editable column creates its column editor, prior to initializing its controls in the cells of the grid - - - - - Fires when the grid is about to be bound and the data source must be assigned - (is null/Nothing). - - - - Using this event eliminates the need for calling - when the grid content should be refreshed, due to a structural change.
- For example if Edit command bubbles, grid will automatically rebind and display - the item in edit mode, with no additional code. -
- Note that when you use NeedDataSource you need to assign - manually the DataSource property only once in the event handler! - Important: You should never call Rebind() - method in NeedDataSource event handler or - DataBind() for the grid - at any stage of the page lifecycle! - For more information related to Advanced Data Binding (i.e. with - NeedDataSource) see the following Data - binding article. -
-
- - - Fires when various item events occur - for example, before Pager item is - initialized, before EditForm is initialized, etc. - - - - - Fires when a detail-table in the hierarchy is about to be bound. You should only assign the DataSource property of the detail table to a - data-source properly filtered to display ony child records related to the parent item. - - - You can find the instance of the detail table in the event argument (e). You can - find the parent item using e.DetailTable.ParentItem property. For more information see - Hierarchical Binding - - - - - Occurs when the Delete button is clicked for an item in the - Telerik RadGrid control. - - - The DeleteCommand event is raised when the Delete button is clicked for an - item in the Telerik RadGrid control. - A typical handler for the DeleteCommand event removes the selected item from - the data source. - - - The following code example demonstrates how to specify and code a handler for the - CancelCommand event to cancel a Telerik RadGrid control. - - <%@ Page Language="VB" /> @ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_DeleteCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - Response.Write("Delete") - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnDeleteCommand="RadGrid1_DeleteCommand" > - <MasterTableView> - <Columns> - <radG:GridButtonColumn Text="Delete" CommandName="Delete" UniqueName="Delete"></radG:GridButtonColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$ ConnectionStrings: NorthwindConnectionString %>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Occurs when the Edit button is clicked for an item in the - Telerik RadGrid control. - - - The EditCommand event is raised when the Edit button is clicked for an item - in the Telerik RadGrid control. - A typical handler for the EditCommand event edites the selected item from the - data source. - - - The following code example demonstrates how to specify and code a handler for the - EditCommand event to edit a Telerik RadGrid control. - - <%@ Page Language="VB" /> @ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_EditCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - Response.Write("Edit") - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnEditCommand="RadGrid1_EditCommand" > - <MasterTableView> - <Columns> - <radG:GridEditCommandColumn> - </radG:GridEditCommandColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Occurs when a button is clicked in a Telerik RadGrid - control. - - - The ItemCommand event is raised when a button is clicked in the - Telerik RadGrid control. This allows you to provide an event-handling - method that performs a custom routine whenever this event occurs. - Buttons within a Telerik RadGrid control can also invoke some of - the built-in functionality of the control. Fires if any control inside - Telerik RadGrid rises a bubble event. This can be a command button - (like Edit, Update button, Expand/Collapse of an items) The command arguemtn - carries a reference to the item which rised the event, the command name and - argument object. - A GridCommandEventArgs object is passed to the event-handling method, which - allows you to determine the command name and command argument of the button - clicked. - - - The following code example demonstrates how to use the ItemCommand event to add the - name of a customer from a Telerik RadGrid control to a ListBox control when a item's Add - button is clicked. - - <%@ Page Language="VB" <see cref="> <"/>@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) - If e.Item.ItemType = GridItemType.AlternatingItem Or e.Item.ItemType = GridItemType.Item Then - Dim item As Telerik.Web.UI.GridDataItem - item = e.Item - Dim LinkButton1 As LinkButton - LinkButton1 = item("LinkColumn").FindControl("LinkButton1") - LinkButton1.CommandArgument = e.Item.ItemIndex.ToString() - End If - End Sub - - Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - ' If multiple buttons are used in a Telerik RadGrid control, use the - ' CommandName property to determine which button was clicked. - If e.CommandName = "Add" Then - - ' Convert the row index stored in the CommandArgument - ' property to an Integer. - Dim index As Integer = Convert.ToInt32(e.CommandArgument) - - ' Retrieve the item that contains the button clicked - ' by the user from the Items collection. - Dim item As Telerik.Web.UI.GridDataItem = RadGrid1.Items(index) - - ' Create a new ListItem object for the customer in the item. - Dim nitem As New ListItem() - nitem.Text = Server.HtmlDecode(item("CustomerID").Text) - - ' If the customer is not already in the ListBox, add the ListItem - ' object to the Items collection of the ListBox control. - If Not CustomersListBox.Items.Contains(nitem) Then - - CustomersListBox.Items.Add(nitem) - - End If - - End If - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnItemCreated="RadGrid1_ItemCreated" OnItemCommand="RadGrid1_ItemCommand"> - <MasterTableView> - <Columns> - <radG:GridTemplateColumn - UniqueName="LinkColumn" - HeaderText="LinkColumn"> - <ItemTemplate> - <asp:LinkButton CommandName="Add" Text="click" ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> - </ItemTemplate> - </radG:GridTemplateColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <asp:listbox id="CustomersListBox" runat="server"/> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Occurs when an item is created in a Telerik RadGrid - control. - - - Before the Telerik RadGrid control can be rendered, a GridItem - object must be created for each row in the control. The ItemCreated event is raised - when each row in the Telerik RadGrid control is created. This allows - you to provide an event-handling method that performs a custom routine, such as - adding custom content to a item, whenever this event occurs. - A GridItemEventArgs object is passed to the event-handling method, which - allows you to access the properties of the row being created. You can determine - which item type (header item, data pager item, and so on) is being bound by using - the Item.ItemType property. - Note that the changes made to the item control and its - children at this stage does not persist into the ViewState. - - - The following code example demonstrates how to use the ItemCreated event to store - the index of the item being created in the CommandArgument property of a LinkButton - control contained in the item. This allows you to determine the index of the item - that contains the LinkButton control when the user clicked the button. - - <%@ Page Language="VB" > <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - - Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) - If e.Item.ItemType = GridItemType.AlternatingItem Or e.Item.ItemType = GridItemType.Item Then - Dim item As Telerik.Web.UI.GridDataItem - item = e.Item - Dim LinkButton1 As LinkButton - LinkButton1 = item("LinkColumn").FindControl("LinkButton1") - LinkButton1.CommandArgument = e.Item.ItemIndex.ToString() - End If - End Sub - - Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - ' If multiple buttons are used in a Telerik RadGrid control, use the - ' CommandName property to determine which button was clicked. - If e.CommandName = "Add" Then - - ' Convert the row index stored in the CommandArgument - ' property to an Integer. - Dim index As Integer = Convert.ToInt32(e.CommandArgument) - - ' Retrieve the item that contains the button clicked - ' by the user from the Items collection. - Dim item As Telerik.Web.UI.GridDataItem = RadGrid1.Items(index) - - ' Create a new ListItem object for the customer in the item. - Dim nitem As New ListItem() - nitem.Text = Server.HtmlDecode(item("CustomerID").Text) - - ' If the customer is not already in the ListBox, add the ListItem - ' object to the Items collection of the ListBox control. - If Not CustomersListBox.Items.Contains(nitem) Then - - CustomersListBox.Items.Add(nitem) - - End If - - End If - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnItemCreated="RadGrid1_ItemCreated" OnItemCommand="RadGrid1_ItemCommand"> - <MasterTableView> - <Columns> - <radG:GridTemplateColumn - UniqueName="LinkColumn" - HeaderText="LinkColumn"> - <ItemTemplate> - <asp:LinkButton CommandName="Add" Text="click" ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> - </ItemTemplate> - </radG:GridTemplateColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <asp:listbox id="CustomersListBox" runat="server"/> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString">" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Fires before a custom column is created. You can handle the - event to replace or modify the instance of the column that should be created and added - into the collection of column in the corresponding - GridTableView. - - - The ColumnCreating event of Telerik RadGrid is - fired only for custom grid columns. It is not designed to be used - to cancel the creation of auto-generated columns. Its purpose is to have place - where to define your custom columns (extending the default grid columns) - programmatically and add them to the grid Columns - collection. - See the manual part of Telerik RadGrid documentation for details - about Telerik RadGrid inheritance. - - - - - The ColumnCreated event of Telerik RadGrid is - designated to customize auto-generated columns at runtime (for example - DataFormatString, ReadOnly or other properties of - these auto-generated columns). - - - This event is fired after the creation of auto-generated - columns. - - - - - Occurs when a data item is bound to data in a Telerik RadGrid - control. - - - Before the Telerik RadGrid control can be rendered, each item in - the control must be bound to a record in the data source. The ItemDataBound event - is raised when a data item (represented by a GridItem object) is bound to data in - the Telerik RadGrid control. This allows you to provide an - event-handling method that performs a custom routine, such as modifying the values - of the data bound to the item, whenever this event occurs. - A GridItemEventArgs object is passed to the event-handling method, which - allows you to access the properties of the item being bound. You can determine - which item type (header item, data pager item, and so on) is being bound by using - the Item.ItemType property. - Note that the changes made to the item control and its children does persist - into the ViewState. This event is fired as a result of a data-binding of Telerik RadGrid - contorl. This event is fired for items of type: - - GridDataItem - GridEditFormItem - GridHeaderItem - GridPagerItem - GridFooterItem - - - - The following code example demonstrates how to use the ItemDataBound event to - modify the value of a field in the data source before it is displayed in a - Telerik RadGrid control. - - <%@ Page Language="VB"> <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) - If e.Item.ItemType = GridItemType.AlternatingItem Or e.Item.ItemType = GridItemType.Item Then - Dim item As Telerik.Web.UI.GridDataItem - item = e.Item - item("CustomerID").Text = "Telerik" - End If - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnItemDataBound="RadGrid1_ItemDataBound"> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </form> - </body> - </html> - - - - - Fires when a paging action has been performed. - - - - Fires when - PageSize property - value has been changed. - - - The PageSizeChanged event is rised when the value of the property - PageSize is changed. You can cancel the event if the new PageSize value is - invalid and it will not be saved. For example: -
-            protected void RadGrid1_PageSizeChanged(object source, GridPageSizeChangedEventArgs e)
{
if(e.NewPageSize < 1)
- e.Canceled = true;
} -
-
-
- - Occurs when a column is sorted. - - The SortCommand event is raised when a column is sorted. - A typical handler for the SortCommand event sorts the list. - - - The following code example demonstrates how to specify and code a handler for the - SortCommand event to sort a Telerik RadGrid control. - - <%@ Page Language="VB" > <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_SortCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridSortCommandEventArgs) - Response.Write("Sort") - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" AllowSorting="true" - runat="server" OnSortCommand="RadGrid1_SortCommand" > - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Occurs when the Update button is clicked for an item in the - Telerik RadGrid control. - - - The UpdateCommand event is raised when the Update button is clicked for an - item in the Telerik RadGrid control. - A typical handler for the UpdateCommand event updates the selected item from - the data source. - - - The following code example demonstrates how to specify and code a handler for the - UpdateCommand event to update a Telerik RadGrid control. - - <%@ Page Language="VB" > <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_UpdateCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - Response.Write("Update") - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnUpdateCommand="RadGrid1_UpdateCommand" > - <MasterTableView> - <Columns> - <radG:GridEditCommandColumn> - </radG:GridEditCommandColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Occurs when the Insert button is clicked for an item in the - Telerik RadGrid control. - - - The InsertCommand event is raised when the Insert button is clicked for an - item in the Telerik RadGrid control. - A typical handler for the InsertCommand event insert the item into the data - source. - - - The following code example demonstrates how to specify and code a handler for the - InsertCommand event to insert a Telerik RadGrid control. - - <%@ Page Language="VB" > <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - - Protected Sub RadGrid1_InsertCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) - Response.Write("Insert") - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" OnInsertCommand="RadGrid1_InsertCommand" > - <MasterTableView CommandItemDisplay="TopAndBottom"> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Fires when a grouping action has been performed. For example when a column header - was dragged in the GroupPanel. - - - You can use this event to set your own - GridGroupByExpression - when the user tries to group the grid. - - - - protected void RadGrid1_GroupsChanging(object source, Telerik.Web.UI.GridGroupsChangingEventArgs e) - { - //Expression is added (by drag/grop on group panel) - - if (e.Action == GridGroupsChangingAction.Group) - { - if (e.Expression.GroupByFields[0].FieldName != "CustomerID") - { - GridGroupByField countryGroupField = new GridGroupByField(); - countryGroupField.FieldName = "Country"; - GridGroupByField cityGroupField = new GridGroupByField(); - cityGroupField.FieldName = "City"; - - e.Expression.SelectFields.Clear(); - e.Expression.SelectFields.Add(countryGroupField); - e.Expression.SelectFields.Add(cityGroupField); - - e.Expression.GroupByFields.Clear(); - e.Expression.GroupByFields.Add(countryGroupField); - e.Expression.GroupByFields.Add(cityGroupField); - } - - } - } - - - Protected Sub RadGrid1_GroupsChanging(ByVal source As Object, ByVal e As Telerik.Web.UI.GridGroupsChangingEventArgs) - 'Expression is added (by drag/grop on group panel) - If (e.Action = GridGroupsChangingAction.Group) Then - If (e.Expression.GroupByFields(0).FieldName <> "CustomerID") Then - Dim countryGroupField As GridGroupByField = New GridGroupByField - countryGroupField.FieldName = "Country" - Dim cityGroupField As GridGroupByField = New GridGroupByField - cityGroupField.FieldName = "City" - e.Expression.SelectFields.Clear - e.Expression.SelectFields.Add(countryGroupField) - e.Expression.SelectFields.Add(cityGroupField) - e.Expression.GroupByFields.Clear - e.Expression.GroupByFields.Add(countryGroupField) - e.Expression.GroupByFields.Add(cityGroupField) - End If - End If - End Sub - - - - - Fires when an automatic update operation is executed. - - - Fires when an automatic insert operation is executed. - - - Fires when an automatic delete operation is executed. - - - Fires when a grid is exported to ExcelML and styles collections is created. - - - Fires when a grid is exported to ExcelML and row is created. - - - Fires when a grid is exported to ExcelML and WorkBook is created. - - - Fires when a grid is exporting. - - - Fires when a grid is exporting to BIFF format - - - Fires when a grid is exporting. - - - Fires when a grid is exporting to Word or HTML Excel. - - - - - - - - - Fires when a grid is exporting. - - - - Fires when a columns reorder action has been performed. - - - - Gets or sets the object from which the Telerik RadGrid control - retrieves its list of data items. - - - You should have in mind, that in case you are using simple data binding (i.e. - when you are not using NeedDataSource event) the correct approach - is to call the DataBind() method on the first page load when - !Page.IsPostBack and after handling some event (sort event for - example). - You will need to assign DataSource and rebind the grid after - each operation (paging, sorting, editing, etc.) - this copies exactly MS - DataGrid behavior. - - - An object that represents the data source from which the - Telerik RadGrid control retrieves its data. The default is a null reference - (Nothing in Visual Basic). - - - The following code example demonstrates how the DataSource property of a - Telerik RadGrid control is used. In this example, the - Telerik RadGrid control is bound to a DataSet object. After the DataSource - property is set, the DataBind method is called explicitly. - - - - - Gets or sets the name of the list of data that the Telerik RadGrid - control binds to, in cases where the data source contains more than one distinct list - of data items. - - - The name of the specific list of data that the Telerik RadGrid - control binds to, if more than one list is supplied by a data source control. The - default value is String.Empty. - - - - Use the DataMember property to specify a member from a multimember data - source to bind to the list control. For example, if you have a data source with - more than one table specified in the DataSource - property, use the DataMember property to specify which table to bind to - a data listing control. - - The value of the DataMember property is stored in view state. - This property cannot be set by themes or style sheet themes. For more - information, see ThemeableAttribute and Themes and Skins - Overview in MSDN. - - - - - - Gets a reference to the object that - allows you to set the properties of the grouping operation in a - Telerik RadGrid control. - - - - The following code example demonstrates how to set the GroupingSettings property - declaratively. It sets the tooltips of the group expand control of the - Telerik RadGrid. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server"> - <GroupingSettings ExpandTooltip="ExpandTooltip" /> - <MasterTableView> - <GroupByExpressions> - <radG:GridGroupByExpression> - <SelectFields> - <radG:GridGroupByField FieldAlias="CompanyName" FieldName="CompanyName" ></radG:GridGroupByField> - </SelectFields> - <GroupByFields> - <radG:GridGroupByField FieldName="CompanyName" SortOrder="Descending"></radG:GridGroupByField> - </GroupByFields> - </radG:GridGroupByExpression> - </GroupByExpressions> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - A reference to the that allows you to set - the properties of the grouping operation in a Telerik RadGrid control. - - - Use the GroupingSettings property to control the settings of - the grouping operations in a Telerik RadGrid control. This property is - read-only; however, you can set the properties of the - GridGroupingSettings object it returns. The properties can be set - declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridGroupingSettings object (for example, - GroupingSettings-ExpandTooltip). - Nest a <GroupingSettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, GroupingSettings.ExpandTooltip). Common settings - usually include the tool tips for the sorting controls. - - - - - Gets or sets the width of the Web server control. - - A that represents the - width of the control. The default is . - - The width of the Web server control - was set to a negative value. - - - - - - Gets a reference to the object that - allows you to set the properties of the sorting operation in a - Telerik RadGrid control. - - - - A reference to the that allows you to set - the properties of the sorting operation in a Telerik RadGrid control. - - - Use the SortingSettings property to control the settings of the sorting - operations in a Telerik RadGrid control. This property is read-only; - however, you can set the properties of the GridSortingSettings object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridSortingSettings object (for example, - SortingSettings-SortedAscToolTip). - Nest a <SortingSettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, SortingSettings.SortedAscToolTip). Common - settings usually include the tool tips for the sorting controls. - - - The following code example demonstrates how to set the SortingSettings property - declaratively. It sets the tooltips of the sorting control of the - Telerik RadGrid control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - AllowSorting="true"> - <SortingSettings SortToolTip="SortToolTip" SortedAscToolTip="SortedAscToolTip" SortedDescToolTip="SortedDescToolTip" /> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - - Gets a reference to the object that - allows you to set the properties of the hierarchical - Telerik RadGrid control. - - - - A reference to the GridHierarchySettings that allows you to set the properties of - the hierarchical Telerik RadGrid control. - - - Use the HierarchySettings property to control the settings of the - hierarchical Telerik RadGrid control. This property is read-only; - however, you can set the properties of the GridHierarchySettings object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridHierarchySettings object (for example, - HierarchySettings-CollapseTooltip). - Nest a <HierarchySettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, HierarchySettings.CollapseTooltip). Common - settings usually include the tool tips for the hierarchical - Telerik RadGrid control. - - - - - - - - - - Gets a reference to the object that - allows you to set the properties of the grouping operation in a - Telerik RadGrid control. - - - - A reference to the GridExportSettings that allows you to set the properties of - the grouping operation in a Telerik RadGrid control. - - - Use the ExportSettings property to control the settings of the grouping - operations in a Telerik RadGrid control. This property is read-only; - however, you can set the properties of the GridGroupingSettings object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridExportSettings object (for example, - GroupingSettings-ExpandTooltip). - Nest a <GroupingSettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, GroupingSettings.ExpandTooltip). Common settings - usually include the tool tips for the sorting controls. - - - - - - Gets a reference to the object that - allows you to set the properties of the validate operation in a - Telerik RadGrid control. - - - - A reference to the that allows you to set - the properties of the validate operation in a Telerik RadGrid control. - - - The following code example demonstrates how to set the - ValidationSettings property declaratively. It sets the validation - for the PerformInsert command event of the TextBox1 control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - AutoGenerateColumns="false" - runat="server"> - <ValidationSettings - EnableValidation="true" - CommandsToValidate="PefrormInsert" /> - <MasterTableView CommandItemDisplay="TopAndBottom"> - <Columns> - <radG:GridEditCommandColumn> - </radG:GridEditCommandColumn> - <radG:GridTemplateColumn HeaderText="ContactName" UniqueName="ContactName" DataField="ContactName"> - <ItemTemplate> - <%# Eval("ContactName") <see cref="TextBox Text='<">> - </ItemTemplate> - <EditItemTemplate> - <asp</see># Bind("ContactName") %>' ID="TextBox1" runat="server"></asp:TextBox> - <asp:RequiredFieldValidator ControlToValidate="TextBox1" ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator> - </EditItemTemplate> - </radG:GridTemplateColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT TOP 3 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - Use the ValidationSettings property to control the settings of the validate - operations in a Telerik RadGrid control. This property is read-only; - however, you can set the properties of the GridValidationSettings object it - returns. The properties can be set declaratively using one of the following - methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridValidationSettings object (for example, - ValidationSettings-EnableValidation). - Nest a <ValidationSettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, ValidationSettings.EnableValidation). Common - settings usually include the propeties for the validation logic in - Telerik RadGrid control. - - - - - Gets or sets a value indicating whether the server control persists - its view state, and the view state of any child controls it contains, to the - requesting client. - - true if the server control maintains its view state; otherwise false. - The default is true. - - - - - - - - - Gets or sets a value determining if will automatically - generate a . - - A value determining if will automatically - generate a . - - - - Gets or sets a value determining if will automatically - generate a with CommandName set to 'Delete'. - - A value determining if will automatically - generate a with CommandName set to 'Delete'. - - - - Gets or sets a value indicating whether custom paging should be performed instead - of the integrated automatic paging. - - - - - This online example demonstrates an approach to implementing custom paging with - Telerik RadGrid. The simulated "DataLayer" wraps the logic of extracting records - for only the specified page and deleting records. Telerik RadGrid - maintains the pager buttons, changing of pager and other presentation specific - features. - Another available option for custom paging support is represented in the - how-to - section. - Note: There is no universal mechanism for grouping when - custom paging is allowed. The reason for this is that with the custom paging - mechanism you fetch only part of the whole information from the grid datasource. - Thus, when you trigger the grouping event the grid is restricted from operating - with the whole available source data and is not able to group the items accurately. - Furthermore, the aggregate functions as Count, Sum, etc. (covering operations with - the whole set of grid items) will return incorrect results. - A workaround solution for you could be to use hierarchy in the grid instead - of grouping to single out the grid items logically and visually according to custom - criteria. Thus you will be able to use custom paging without further - limitations. - Another approach is to build your own complex SQL statements which to get the - whole available data from the grid datasource and then group the items in the grid - with custom code logic.
-
- Finally, you can use standard paging instead of custom paging to ensure the - consistency of the data on grouping.
-
- - true, if custom paging is allowed; otherwise - false. The default is false. - -
- - - Gets or sets a value indicating whether the automatic paging feature is - enabled. - - - true if the paging feature is enabled; otherwise, - false. The default is false - - - Instead of displaying all the records in the data source at the same time, - the Telerik RadGrid control can automatically break the records up into - pages. If the data source supports the paging capability, the - Telerik RadGrid control can take advantage of that and provide built-in - paging functionality. The paging feature can be used with any data source object - that supports the System.Collections.ICollection interface or a data source that - supports paging capability. - To enable the paging feature, set the AllowPaging property - to true. By default, the Telerik RadGrid control - displays 10 records on a page at a time. You can change the number of records - displayed on a page by setting the PageSize property. To determine the total number - of pages required to display the data source contents, use the PageCount property. - You can determine the index of the currently displayed page by using the - CurrentPageIndex property. - When paging is enabled, an additional item called the pager item is - automatically displayed in the Telerik RadGrid control. The pager item contains controls - that allow the user to navigate to the other pages. You can control the settings of - the pager item by using the PagerItemStyle property. The pager - item can be displayed at the top, bottom, or both the top and bottom of the control - by setting the Position property. You can also select from one of four built-in - pager display modes by setting the Mode property. - The Telerik RadGrid control also allows you to define a custom - template for the pager item. - - - The following code example demonstrates how to use the AllowPaging - property to declaratively enable the paging feature in the - Telerik RadGrid control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - AllowPaging="true" > - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - AllowCustomPaging Property - Basic Paging - Pager Item - - - Gets or sets a value indicating whether the sorting feature is enabled. - - true if the sorting feature is enabled; otherwise, - false. The default is false. - - - When a data source control that supports sorting is bound to the - Telerik RadGrid control, the Telerik RadGrid control can - take advantage of the data source control's capabilities and provide automatic - sorting functionality. - To enable sorting, set the AllowSorting property to - true. When sorting is enabled, the heading text for each column - field with its SortExpression property set is displayed as a link button. - Clicking the link button for a column causes the items in the - Telerik RadGrid control to be sorted based on the sort expression. - Typically, the sort expression is simply the name of the field displayed in the - column, which causes the Telerik RadGrid control to sort with respect - to that column. To sort by multiple fields, use a sort expression that contains a - comma-separated list of field names. You can determine the sort expression that the - Telerik RadGrid control is applying by using the SortExpression - property. Clicking a column's link button repeatedly toggles the sort direction - between ascending and descending order. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - The following code example demonstrates how to use the AllowSorting property to - enable sorting in a Telerik RadGrid control when automatically - generated columns are used. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - AllowSorting="true"> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Sorting Expressions - - - Gets or sets a value indicating whether native LINQ expressions will be enabled. - - true if the sorting LINQ expressions are enabled; otherwise, - false. The default is true. - - - - - - Gets a reference to the object that - allows you to set the properties of the client-side behavior and appearance in - a Telerik RadGrid control. - - - - A reference to the that allows you to set the - properties of the the client-side behavior and appearance in a - Telerik RadGrid control. - - - Use the ClientSettings property to control the settings of the client-side - behavior and appearance in a Telerik RadGrid control. This property is - read-only; however, you can set the properties of the GridClientSettings object it - returns. The properties can be set declaratively using one of the following - methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridClientSettings object (for example, - ClientSettings-AllowDragToGroup). - Nest a <ClientSettings> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, SortingSettings.AllowDragToGroup). Common - settings usually include the behavior and appearance on the client-side. - - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of alternating data items in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of alternating - data items in a Telerik RadGrid control. - - - Use the AlternatingItemStyle property to control the appearance of - alternating data items in a Telerik RadGrid control. When this property - is set, the data items are displayed alternating between the ItemStyle settings and - the AlternatingItemStyle settings. This property is read-only; however, you can set - the properties of the GridTableItemStyle object it returns. The properties can be - set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, - AlternatingItemStyle-ForeColor). - Nest an <AlternatingItemStyle> element between the opening and - closing tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, AlternatingItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the AlternatingItemStyle - property to declaratively define the style for alternating data items in a - Telerik RadGrid control. - - <%@ Page language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html > - <head id="Head1" runat="server"> - <title>GridView ItemStyle and AlternatingItemStyle Example</title> - </head> - <body> - <form id="form1" runat="server"> - <h3>GridView ItemStyle and AlternatingItemStyle Example</h3> - - <radG:RadGrid id="CustomersGridView" - datasourceid="CustomersSource" - autogeneratecolumns="true" - Skin="" - runat="server"> - - <itemstyle backcolor="LightCyan" - forecolor="DarkBlue" - font-italic="true"/> - - <alternatingitemstyle backcolor="PaleTurquoise" - forecolor="DarkBlue" - font-italic="true"/> - - </radG:RadGrid> - - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:sqldatasource id="CustomersSource" - selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" - connectionstring="<<see cref="NorthWindConnectionString">$ ConnectionStrings</see>>" - runat="server"/> - - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the group-header item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the - group-header item in a Telerik RadGrid control. - - - Use the GroupHeaderItemStyle property to control the appearance of the - group-header item in a Telerik RadGrid control. This property is - read-only; however, you can set the properties of the GridTableItemStyle object it - returns. The properties can be set declaratively using one of the following - methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, - GroupHeaderItemStyle-ForeColor). - Nest a <GroupHeaderItemStyle> element between the opening and - closing tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, GroupHeaderItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the group-header item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin="None" > - <GroupHeaderItemStyle BackColor="red" /> - <MasterTableView> - <GroupByExpressions> - <radG:GridGroupByExpression> - <SelectFields> - <radG:GridGroupByField FieldAlias="CompanyName" FieldName="CompanyName" ></radG:GridGroupByField> - </SelectFields> - <GroupByFields> - <radG:GridGroupByField FieldName="CompanyName" SortOrder="Descending"></radG:GridGroupByField> - </GroupByFields> - </radG:GridGroupByExpression> - </GroupByExpressions> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets or sets a value indicating whether bound fields are automatically created - for each field in the data source. - - - When the AutoGenerateColumns property is set to true, an - GridBoundColumn object is automatically created for each field in - the data source. Each field is then displayed as a column in the - Telerik RadGrid control in the order that the fields appear in the data - source. This option provides a convenient way to display every field in the data - source; however, you have limited control of how an automatically generated column - field is displayed or behaves. - This set of columns can be accessed using the - AutoGeneratedColumns - collection. -
- - - - Runtime auto-generated columns will always appear after - the user-specified columns, unless the columns are ordered - programmatically. - - -
- Instead of letting the Telerik RadGrid control automatically - generate the column fields, you can manually define the column fields by setting - the AutoGenerateColumns property to false and - then creating a custom Columns collection. In addition to bound column fields, you - can also display a button column, a check box column, a button column, a hyperlink - column, an image column, or a column based on your own custom-defined template - etc. -
- - true to automatically create bound fields for each field in the - data source; otherwise, false. The default is - true. - - - The following code example demonstrates how to use the AutoGenerateColumns property - to automatically create bound columns in a Telerik RadGrid control for - each field in the data source. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - AutoGenerateColumns="true" - AllowSorting="true"> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework -
- - - Gets or sets a value indicating whether detail tables will be automatically created from the - dataset object to which the grid is bound. - - - - - Gets or sets the URL to an image to display in the background of a - Telerik RadGrid control. - - - The URL of an image to display in the background of the - Telerik RadGrid control. The default is an empty string (""), which - indicates that this property is not set. - - - Use the BackImageUrl property to specify the URL to an image - to display in the background of a Telerik RadGrid control. - If the specified image is smaller than the Telerik RadGrid - control, the image is tiled to fill in the background. If the image is larger than - the control, the image is cropped. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets group panel control instance - visible only if grouping is enabled in grid - (). Each 's - Group-By-Expression is visualized in this panel. - - - - If grouping is enabled grid allows grouping by column(s) by drag-and-drop of - columns from it's detail tables in this panel For this purpose set - AllowDragToGroup - property to true. You can modify panel's appearance using - and - . - - - - - - - Gets or sets a value indicating whether the - would be shown in Telerik RadGrid. - - - - true, when Telerik RadGrid will display the panel; otherwise - false. The default is false. - - - - GroupPanel - Gets or sets a value indicating whether the grouping is enabled. - - Most often this property is used in conjunction with - property set to true. The - easiest way to turn the grouping on is by using the grid's SmartTag option for - enabling the grouping. - - Basic Grouping - - true, when the automatic grouping is enabled; otherwise - false. The default is false. - - - - - Gets or sets a value indicating whether Telerik RadGrid will perform - automatic updates to the data source. - - - true, when the automatic updates are allowed; otherwise - false. The default is false. - - - See Automatic Data Source - Operations for details. - - - - - Gets or sets a value indicating whether Telerik RadGrid will perform - automatic insert of records to the data source. - - - See Automatic Data Source - Operations for details. - - - true, when automatic insert into the database would be - performed; otherwise false. The default is - false. - - - - - Gets or sets a value indicating whether Telerik RadGrid will - automatically delete records from the specified data source. - - - See Automatic Data Source - Operations for details. - - - true, when automatic delete from the database would be - performed; otherwise false. The default is - false. - - - - - The instance of that represents the main - grid-table view in RadGrid. - - - - Telerik RadGrid introduces a new approach to hierarchical data - structures. The innovative in Telerik RadGrid is having a so called - MasterTableView. This is the topmost table of the hierarchical - structure. It is a with - . The collection holds the so called - DetailTables - tables related to the fields of the MasterTable. Each - DetailTable can have its own GridTableViewCollection with - other Detail Tables, thus forming the hierarchical structure. - -
- - - Note: There is only one Master Table for - a single Telerik RadGrid. This is the topmost table. All - inner tables are referred as a Detail Tables regardless of whether they - have related (inner) tables or not. - - -
-
- - A reference to the topmost , i.e the - MasterTableView. - - RadGrid and MasterTableView difference - -
-            <radg:radgrid id="RadGrid1" runat="server"
- CssClass= "RadGrid" Width="100%" AutoGenerateColumns="False" PageSize="3" AllowSorting="True"
- AllowMultiRowSelection= "False" AllowPaging="True" GridLines="None" AllowFilteringByColumn="true">
- <PagerStyle Mode="NumericPages" CssClass="Pager"></PagerStyle>
- <HeaderStyle CssClass="Header"></HeaderStyle>
- <ItemStyle CssClass="Row"></ItemStyle>
- <AlternatingItemStyle CssClass="AltRow"></AlternatingItemStyle>
- <MasterTableView DataKeyNames="CustomerID" AllowMultiColumnSorting="True">
- <DetailTables>
- <radG:GridTableView DataKeyNames="OrderID" DataMember="Orders">
- <ParentTableRelation>
- <radG:GridRelationFields DetailKeyField="CustomerID" MasterKeyField="CustomerID" />
- </ParentTableRelation>
<DetailTables>
- <radG:GridTableView DataKeyNames="OrderID" DataMember="OrderDetails">
- <ParentTableRelation>
- <radG:GridRelationFields DetailKeyField="OrderID" MasterKeyField="OrderID" />
- </ParentTableRelation>
- <Columns>
- <radG:GridBoundColumn SortExpression="UnitPrice" HeaderText="Unit Price" HeaderButtonType="TextButton"
- DataField= "UnitPrice">
- </radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="Quantity" HeaderText="Quantity" HeaderButtonType="TextButton"
- DataField= "Quantity">
</radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="Discount" HeaderText="Discount" HeaderButtonType="TextButton"
- DataField= "Discount">
</radG:GridBoundColumn>
- </Columns>
<SortExpressions>
- <radG:GridSortExpression FieldName="Quantity" SortOrder="Descending"></radG:GridSortExpression>
- </SortExpressions>
<ItemStyle BackColor="#A7B986"></ItemStyle>
- <HeaderStyle CssClass="Header1"></HeaderStyle>
- <AlternatingItemStyle BackColor="#D9E8C4"></AlternatingItemStyle>
- </radG:GridTableView>
- </DetailTables>
- <Columns>
- <radG:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton"
- DataField= "OrderID">
</radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton"
- DataField= "OrderDate">
</radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton"
- DataField= "EmployeeID">
</radG:GridBoundColumn>
- </Columns>
<SortExpressions>
- <radG:GridSortExpression FieldName="OrderDate"></radG:GridSortExpression>
- </SortExpressions>
<ItemStyle Height="19px" BackColor="#FCEDB0"></ItemStyle>
- <HeaderStyle CssClass="Header2" ForeColor="#ffffff"></HeaderStyle>
- <AlternatingItemStyle Height="19px" BackColor="#D5B96A"></AlternatingItemStyle>
- </radG:GridTableView>
</DetailTables>
- <Columns>
- <radG:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton"
- DataField= "CustomerID">
- </radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton"
- DataField= "ContactName">
- </radG:GridBoundColumn>
- <radG:GridBoundColumn SortExpression="CompanyName" HeaderText="Company" HeaderButtonType="TextButton"
- DataField= "CompanyName">
- </radG:GridBoundColumn>
</Columns>
- <SortExpressions>
- <radG:GridSortExpression FieldName="CompanyName"></radG:GridSortExpression>
- </SortExpressions>
</MasterTableView>
- <SelectedItemStyle ForeColor="White" BackColor="DarkBlue" CssClass=""></SelectedItemStyle>
- </radg:radgrid> -
-
-
- - Gets or sets an integer value representing the current page index. - - Note that the Paging must be enabled ( must - be true) in order to use this property. - - zero-based int representing the index of the current page. - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the item selected for editing in a Telerik RadGrid - control. - - - A reference to the GridTableItemStyle that represents the style of the item being - edited in a Telerik RadGrid control. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - Use the EditItemStyle property to control the appearance of the item being - edited in a Telerik RadGrid control. This property is read-only; - however, you can set the properties of the GridTableItemStyle object it returns. - The properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, EditItemStyle-ForeColor). - Nest a <EditItemStyle> element between the opening and closing tags - of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, EditItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the EditItemStyle property to - define a custom style for the item being edited in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin="" > - <EditItemStyle BackColor="red" /> - <MasterTableView> - <Columns> - <radG:GridEditCommandColumn> - </radG:GridEditCommandColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the footer item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the footer - item in a Telerik RadGrid control. - - - Use the FooterItemStyle property to control the appearance of the footer item - in a Telerik RadGrid control. This property is read-only; however, you - can set the properties of the GridTableItemStyle object it returns. The properties - can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, FooterItemStyle-ForeColor). - Nest a <FooterItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, FooterItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the footer item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin="" - ShowFooter="true" > - <FooterStyle BackColor="red" /> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - Gets the style properties of the heading section in the RadGrid control. - - A reference to the that represents the style - of the header item in a Telerik RadGrid control. - - - Use the HeaderItemStyle property to control the appearance of the header item - in a Telerik RadGrid control. This property is read-only; however, you - can set the properties of the GridTableItemStyle object it returns. The properties - can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, HeaderItemStyle-ForeColor). - Nest a <HeaderItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, HeaderItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The ShowHeader property must be set to true for this property to - be visible. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the header item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin="" > - <HeaderStyle BackColor="red" /> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the filter item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the filter - item in a Telerik RadGrid control. - - - Use the FilterItemStyle property to control the appearance of the filter item - in a Telerik RadGrid control. This property is read-only; however, you - can set the properties of the GridTableItemStyle object it returns. The properties - can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, FilterItemStyle-ForeColor). - Nest a <FilterItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, FilterItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the filter item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin="" - AllowFilteringByColumn="true"> - <FilterItemStyle BackColor="red" /> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the command item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the command - item in a Telerik RadGrid control. - - - Use the CommandItemStyle property to control the appearance of the command - item in a Telerik RadGrid control. This property is read-only; however, - you can set the properties of the GridTableItemStyle object it returns. The - properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, CommandItemStyle-ForeColor). - Nest a <CommandItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, CommandItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the command item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin=""> - <CommandItemStyle BackColor="red" /> - <MasterTableView CommandItemDisplay="TopAndBottom"> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the active item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the actibe - item in a Telerik RadGrid control. - - - Use the ActiveItemStyle property to control the appearance of the active item - in a Telerik RadGrid control. This property is read-only; however, you - can set the properties of the GridTableItemStyle object it returns. The properties - can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, ActiveItemStyle-ForeColor). - Nest a <ActiveItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, ActiveItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the active item in a Telerik RadGrid - control. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the MultiHeader item in a Telerik RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the multi header - item in a Telerik RadGrid control. - - - - Gets a collection of all GridDataItems. - - The RadGrid control automatically populates the Items collection by creating - a GridDataItem object for each record in the data source and then adding each - object to the collection. This property is commonly used to access a specific item - in the control or to iterate though the entire collection of items. - - You cannot use this collection to get special Items like Header, Pager, Footer, - etc. Handle event and use the event arguments to - get a reference to such items. - - - all grid data items as - - - - Gets a reference to the GridTableItemStyle object that allows you to set the - appearance of the data items in a RadGrid control. - - - A reference to the GridTableItemStyle that represents the style of the data items - in a Telerik RadGrid control. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - <%@ Page language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html > - <head id="Head1" runat="server"> - <title>GridView ItemStyle And AlternatingItemStyle Example</title> - </head> - <body> - <form id="form1" runat="server"> - <h3>GridView ItemStyle And AlternatingItemStyle Example</h3> - - <radG:RadGrid id="CustomersGridView" - datasourceid="CustomersSource" - autogeneratecolumns="true" - Skin="" - runat="server"> - - <itemstyle backcolor="LightCyan" - forecolor="DarkBlue" - font-italic="true"/> - - <alternatingitemstyle backcolor="PaleTurquoise" - forecolor="DarkBlue" - font-italic="true"/> - - </radG:RadGrid> - - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:sqldatasource id="CustomersSource" - selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]" - connectionstring="<<see cref="NorthWindConnectionString">$ ConnectionStrings</see>>" - runat="server"/> - - </form> - </body> - </html> - - - - Use the ItemStyle property to control the appearance of the data items in a - Telerik RadGrid control. When the AlternatingItemStyle property is also set, the data - items are displayed alternating between the ItemStyle settings and the - AlternatingItemStyle settings. This property is read-only; however, you can set the - properties of the GridTableItemStyle object it returns. - - - - - Gets the number of pages required to display the records of the data source - in a Telerik RadGrid control. - - - When the paging feature is enabled (by setting the AllowPaging property to true), - use the PageCount property to determine the total number of pages required to display - the records in the data source. This value is calculated by dividing the total number - of records in the data source by the number of records displayed in a page (as - specified by the PageSize property) and rounding up. - - The number of pages in a Telerik RadGrid control. - - The following code example demonstrates how to use the PageCount property to - determine the total number of pages displayed in the Telerik RadGrid - control. - - <%@ Page Language="C#" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - protected void RadGrid1_PreRender(object sender, EventArgs e) - { - Label1.Text = RadGrid1.PageCount.ToString(); - } - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - AllowPaging="true" - runat="server" OnPreRender="RadGrid1_PreRender"> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div> - </form> - </body> - </html> - - - <%@ Page Language="VB" > <@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) - Label1.Text = RadGrid1.PageCount.ToString() - End Sub - </script> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - AllowPaging="true" - runat="server" OnPreRender="RadGrid1_PreRender" > - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div> - </form> - </body> - </html> - - - - - - Gets a reference to the GridPagerStyle object that allows you to - set the appearance of the page item in a Telerik RadGrid control. - - - A GridPagerStyle object that contains the style properties of - the paging section of the RadGrid control. The default value is an - empty GridPagerStyle object. - - - Use this property to provide a custom style for the paging section of the - RadGrid control. Common style attributes that can be adjusted - include forecolor, backcolor, font, and content alignment within the cell. - Providing a different style enhances the appearance of the RadGrid - control. - To specify a custom style for the paging section, place the - <PagerStyle> tags between the opening and closing tags of - the RadGrid control. You can then list the style attributes within - the opening <PagerStyle> tag. - - - The following code example demonstrates how to use the PagerStyle - property to specify a custom style for the page selection elements of the - RadGrid control. - - <%@ Page Language="VB" %> - - <%@ Import Namespace="System.Data" <see cref="> <"/>@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - - <script runat="server"> - - Function CreateDataSource() As ICollection - Dim dt As New DataTable() - Dim dr As DataRow - - dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) - dt.Columns.Add(New DataColumn("StringValue", GetType(String))) - dt.Columns.Add(New DataColumn("DateTimeValue", GetType(String))) - dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean))) - - Dim i As Integer - For i = 0 To 99 - dr = dt.NewRow() - - dr(0) = i - dr(1) = "Item " & i.ToString() - dr(2) = DateTime.Now.ToShortDateString() - If i Mod 2 <> 0 Then - dr(3) = True - Else - dr(3) = False - End If - - dt.Rows.Add(dr) - Next i - - Dim dv As New DataView(dt) - Return dv - End Function 'CreateDataSource - - Sub ShowStats() - lblEnabled.Text = "AllowPaging is " & RadGrid1.AllowPaging - lblCurrentIndex.Text = "CurrentPageIndex is " & RadGrid1.CurrentPageIndex - lblPageCount.Text = "PageCount is " & RadGrid1.PageCount - lblPageSize.Text = "PageSize is " & RadGrid1.PageSize - End Sub 'ShowStats - - - Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource - RadGrid1.DataSource = CreateDataSource() - ShowStats() - End Sub - - Protected Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged - If CheckBox1.Checked Then - RadGrid1.PagerStyle.Mode = GridPagerMode.NumericPages - Else - RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrev - End If - - RadGrid1.Rebind() - End Sub - </script> - - <head id="Head1" runat="server"> - <title>RadGrid Paging Example</title> - </head> - <body> - <h3> - RadGrid Paging Example</h3> - <form id="form1" runat="server"> - <radG:RadGrid ID="RadGrid1" runat="server" AllowPaging="True"> - <PagerStyle Mode="NumericPages" HorizontalAlign="Right"></PagerStyle> - <HeaderStyle BackColor="#aaaadd"></HeaderStyle> - <AlternatingItemStyle BackColor="#eeeeee"></AlternatingItemStyle> - </radG:RadGrid> - <br /> - <asp:CheckBox ID="CheckBox1" runat="server" Text="Show numeric page navigation buttons" - AutoPostBack="true" /> - <br /> - <table style="background-color: #eeeeee; padding: 6"> - <tr> - <td style="display: inline"> - <asp:Label ID="lblEnabled" runat="server" /><br /> - <asp:Label ID="lblCurrentIndex" runat="server" /><br /> - <asp:Label ID="lblPageCount" runat="server" /><br /> - <asp:Label ID="lblPageSize" runat="server" /><br /> - </td> - </tr> - </table> - </form> - </body> - </html> - - - <%@ Page Language="C#" %> - - <%@ Import Namespace="System.Data" <see cref="> <"/>@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"> - - <script runat="server"> - ICollection CreateDataSource() - { - DataTable dt = new DataTable(); - DataRow dr; - dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); - dt.Columns.Add(new DataColumn("StringValue", typeof(string))); - dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string))); - dt.Columns.Add(new DataColumn("BoolValue", typeof(bool))); - int i; - for (i = 0; (i <= 99); i++) - { - dr = dt.NewRow(); - dr[0] = i; - dr[1] = ("Item " + i.ToString()); - dr[2] = DateTime.Now.ToShortDateString(); - if (((i % 2) - != 0)) - { - dr[3] = true; - } - else - { - dr[3] = false; - } - dt.Rows.Add(dr); - } - DataView dv = new DataView(dt); - return dv; - } - - // CreateDataSource - void ShowStats() - { - lblEnabled.Text = ("AllowPaging is " + RadGrid1.AllowPaging); - lblCurrentIndex.Text = ("CurrentPageIndex is " + RadGrid1.CurrentPageIndex); - lblPageCount.Text = ("PageCount is " + RadGrid1.PageCount); - lblPageSize.Text = ("PageSize is " + RadGrid1.PageSize); - } - - // ShowStats - protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) - { - RadGrid1.DataSource = CreateDataSource(); - ShowStats(); - } - - protected void CheckBox1_CheckedChanged(object sender, System.EventArgs e) - { - if (CheckBox1.Checked) - { - RadGrid1.PagerStyle.Mode = GridPagerMode.NumericPages; - } - else - { - RadGrid1.PagerStyle.Mode = GridPagerMode.NextPrev; - } - RadGrid1.Rebind(); - } - </script> - - <head id="Head1" runat="server"> - <title>RadGrid Paging Example</title> - </head> - <body> - <h3> - RadGrid Paging Example</h3> - <form id="form1" runat="server"> - <radG:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" OnNeedDataSource="RadGrid1_NeedDataSource"> - <PagerStyle Mode="NumericPages" HorizontalAlign="Right"></PagerStyle> - <HeaderStyle BackColor="#aaaadd"></HeaderStyle> - <AlternatingItemStyle BackColor="#eeeeee"></AlternatingItemStyle> - </radG:RadGrid> - <br /> - <asp:CheckBox ID="CheckBox1" runat="server" Text="Show numeric page navigation buttons" - AutoPostBack="true" OnCheckedChanged="CheckBox1_CheckedChanged" /> - <br /> - <table style="background-color: #eeeeee; padding: 6"> - <tr> - <td style="display: inline"> - <asp:Label ID="lblEnabled" runat="server" /><br /> - <asp:Label ID="lblCurrentIndex" runat="server" /><br /> - <asp:Label ID="lblPageCount" runat="server" /><br /> - <asp:Label ID="lblPageSize" runat="server" /><br /> - </td> - </tr> - </table> - </form> - </body> - </html> - - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - - - Gets or sets an integer value indicating the number of Items that a single page - in Telerik RadGrid will contain. - - - Note that the Paging must be enabled ( must - be true) in order to use this property. - - - integer, indicating the number of the Items that a single grid page would - contain. - - - - - Gets or sets a value indicating whether you will be able to select multiple rows - in Telerik RadGrid. By default this property is set to - false. - - - true if you can have multiple rows selected at once. Otherwise, - false. The default is false. - - - Note: You will not be able to select the Header, Footer or Pager - rows. - - - - - Gets or sets a value indicating whether Telerik RadGrid will allow - you to have multiple rows in edit mode. The default value is - false. - - - true if you can have more than one row in edit mode. Otherwise, - false. The default value is false. - - - - - You can see an example usage of this property in the following online example: - - - http://www.telerik.com/r.a.d.controls/Grid/Examples/Hierarchy/ThreeLevel/DefaultCS.aspx - - private void Page_Load(object sender, EventArgs e) - { - if (!IsPostBack) - { - RadGrid1.SelectedIndexes.Add(1, 0, 1, 0, 1); - //Index of 1, 0, 1, 0, 1 means: - //1 - item with index 1 in the MasterTabelView - //0 - detail table with index 0 - //1 - item with index 1 (the second item) in the first detail table - //0 - 0 the third-level detail table - //1 - the item with index 1 in the third-level table - } - } - - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If Not IsPostBack Then - RadGrid1.SelectedIndexes.Add(1, 0, 1, 0, 1) - 'Index of 1, 0, 1, 0, 1 means: - '1 - item With index 1 In the MasterTabelView - '0 - detail table With index 0 - '1 - item With index 1 (the second item) In the first detail table - '0 - 0 the third-level detail table - '1 - the item With index 1 In the third-level table - End If - End Sub - - - Gets a collection of indexes of the selected items. - - returns of the indexes of all selected - Items. - - - - Gets a collection of indexes of the selected items. - - returns of the indexes of all selected - Items. - - - - Gets a collection of the indexes of the Items that are in edit mode. - - - The following example demonstrates how to hide "Add New" button in the - CommandItemTemplate when Telerik RadGrid is in - edit/insert mode. The easiest way to check if Telerik RadGrid is in - edit mode is to check whether the - (EditIndexes gives a reference to this) is empty. - -
-            <CommandItemTemplate>
-                
-
-                <asp:LinkButton ID="LinkButton1" Visible="<%# (!(RadGrid1.MasterTableView.IsItemInserted || RadGrid1.EditIndexes.Count >0 )) %>"
-                
-
-            runat="server" CommandName="InitInsert">Add New</asp:LinkButton>
-                
-
-            </CommandItemTemplate>
-                
-
- - returns of all data items that are in edit - mode. - -
- - Gets a collection of the currently selected GridDataItems - Returns a of all selected data items. - - - Gets a collection of the currently selected GridTableCells - Returns a of all selected cells. - - - Gets the data key value of the selected row in a RadGrid control. - The data key value of the selected row in a RadGrid control. - - The following code example demonstrates how to use the - SelectedValue property to determine the data key value of the - selected row in a RadGrid control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - - Sub RadGrid1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) - - ' Display the primary key value of the selected row. - Label1.Text = "The primary key value of the selected row is " & _ - RadGrid1.SelectedValue.ToString() & "." - - End Sub - - </script> - - <html xmlns="http://www.w3.org/1999/xhtml"> - <head runat="server"> - <title>RadGrid SelectedValue Example</title> - </head> - <body> - <form id="form1" runat="server"> - <h3> - RadGrid SelectedValue Example</h3> - <asp:Label ID="Label1" ForeColor="Red" runat="server" /> - <radG:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" - OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged" - runat="server"> - <MasterTableView DataKeyNames="CustomerID"> - <Columns> - <radG:GridButtonColumn CommandName="Select" Text="Select" /> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource ID="SqlDataSource1" SelectCommand="SELECT * FROM [Customers]" - runat="server" ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" /> - </form> - </body> - </html> - - - - - <%@ Page Language="C#" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <script runat="server"> - protected void RadGrid1_SelectedIndexChanged(object sender, EventArgs e) - { - // Display the primary key value of the selected row. - Label1.Text = "The primary key value of the selected row is " + - RadGrid1.SelectedValue.ToString() + "."; - } - </script> - - <html xmlns="http://www.w3.org/1999/xhtml"> - <head runat="server"> - <title>RadGrid SelectedValue Example</title> - </head> - <body> - <form id="form1" runat="server"> - <h3> - RadGrid SelectedValue Example</h3> - <asp:Label ID="Label1" ForeColor="Red" runat="server" /> - <radG:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" OnSelectedIndexChanged="RadGrid1_SelectedIndexChanged" - runat="server"> - <MasterTableView DataKeyNames="CustomerID"> - <Columns> - <radG:GridButtonColumn CommandName="Select" Text="Select" /> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server And connects --> - <!-- To the Northwind sample database. Use an ASP.NET --> - <!-- expression To retrieve the connection String value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource ID="SqlDataSource1" SelectCommand="SELECT * FROM [Customers]" - runat="server" ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" /> - </form> - </body> - </html> - - - - - - Gets the corresponding data key values for the selected items in the grid. - - The corresponding data key values for the selected items in the grid. - - - - The EditItems collection contains InPlace - edit mode items. When you switch the edit type to EditForms, the - EditItems collection holds the currently edited items but not - their EditFormItems (which in this case hold the new values). See - this help article for more - details. - - You should not use this property to check whether there are items in edit mode. - The better approach is to use property instead. - - - - Gets a collection of all GridItems in edit mode. See the Remarks - for more info. - - of all items that are in edit mode. - - - - Gets a reference to the object that allows - you to set the appearance of the selected item in a Telerik RadGrid - control. - - - A reference to the GridTableItemStyle that represents the style of the selected - item in a Telerik RadGrid control. - - Supported in: 3.0, 2.0, 1.1, 1.0 .NET Framework - - The following code example demonstrates how to use the SelectedItemStyle property - to define a custom style for the selected item in a Telerik RadGrid - control. - - <%@ Page Language="VB" %> - - <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server" - Skin=""> - <SelectedItemStyle BackColor="red" /> - <MasterTableView> - <Columns> - <radG:GridButtonColumn - Text="Select" - UniqueName="Select" - CommandName="Select"> - </radG:GridButtonColumn> - </Columns> - </MasterTableView> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<%$NorthwindConnectionString>" - SelectCommand="SELECT TOP 5 [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - </div> - </form> - </body> - </html> - - - - Use the SelectedItemStyle property to control the appearance of the selected - item in a Telerik RadGrid control. This property is read-only; however, - you can set the properties of the GridTableItemStyle object it returns. The - properties can be set declaratively using one of the following methods: - - Place an attribute in the opening tag of the Telerik RadGrid - control in the form Property-Subproperty, where Subproperty is a property of - the GridTableItemStyle object (for example, - SelectedItemStyle-ForeColor). - Nest a <SelectedItemStyle> element between the opening and closing - tags of the Telerik RadGrid control. - - The properties can also be set programmatically in the form - Property.Subproperty (for example, SelectedItemStyle.ForeColor). Common settings - usually include a custom background color, foreground color, and font - properties. - - - - - Gets or set a value indicating whether the footer item of the grid will be - shown. - - - Setting this property will affect all grid tables, unless they specify otherwise - explicitly. - - The default value of this property is false. - - - - Gets or set a value indicating whether the statusbar item of the grid will be - shown. - - - - This property is meaningful when the grid is in AJAX mode, i.e. when - is set to true. - - See this help topic for more - details. - - - true if the status bar item would be shown, otherwise - false. The default value of this property is - false. - - Status bar item - - - - Gets a object that contains variable - settings related to the status bar. - - -
-            <radG:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" ShowStatusBar="true" EnableAjax="true">
<StatusBarSettings LoadingText="Loading... Please wait!" ReadyText="Online" />
</radG:RadGrid> -
-
- returns a reference to object. -
- - - Gets or set a value indicating whether the header item of the grid will be - shown. - - This default value for this property is true. - - Setting this property will affect all grid tables, unless they specify otherwise - explicitly. - - - - - Gets or sets a value, indicating the total number of items in the data source - when custom paging is used. Thus the grid "understands" that the data source contains - the specified number of records and it should fetch merely part of them at a time to - execute requested operation. - - - int, representing the total number of items in the datasource. - The default value is 0. - - - If you set a value that is greater than the actual number of items, RadGrid - will show all available items plus empty pages (or whatever other content you set) - for the items that exceed the actual number. - For example you have a data source with 9'000 items and you set - VirtualItemCount to 10'000. If your page size is 1000, the grid will render 10 - pages and the last page will be empty (or with NoRecordsTemplate if you're using - such). - - - - - Gets a reference to object. The filtering menu - appears when the filter button on the is clicked. - - returns a reference to object. - - This property is meaningful only when you have filtering enabled (by setting - AllowFilteringByColumn="true"). - - - The following example demonstrates how to customize the filtering - menu: - [ASPX/ASCX]
<head - runat="server">
- <title>Filter menu change</title>
- <style type="text/css">
- .FilterMenuClass1 td
- {
- background-color: white;
- color: green;
- font-size: 10px;
- }
- .FilterMenuClass2 td
- {
- background-color: blue;
- color: white;
- font-size: 15px;
- }
- </style>
- </head>
- <body>
- <form id="form1" - runat="server">
- <div>
- <script type="text/javascript">
- function GridCreated()
- {
- window.setTimeout(SetFilterMenuClass(this), 500);
- }
- function - SetFilterMenuClass(gridObject)
- {
- gridObject.FilterMenu.SelectColumnBackColor = "";
- gridObject.FilterMenu.TextColumnBackColor = "";
-
- }
- </script>
- <radG:RadGrid ID="RadGrid1" - AllowFilteringByColumn="true" - DataSourceID=
- "AccessDataSource1"
- AllowSorting= "True" - runat="server">
- <FilterMenu - CssClass="FilterMenuClass1"></FilterMenu>
- <ClientSettings>
- <ClientEvents OnGridCreated="GridCreated" - />
- </ClientSettings>
- </radG:RadGrid>
- <br />
- <asp:AccessDataSource ID="AccessDataSource1" - DataFile="~/Grid/Data/Access/Nwind.mdb"
- SelectCommand= "SELECT TOP 10 CustomerID, CompanyName, - ContactName, ContactTitle, Address, PostalCode FROM Customers"
- runat= "server"></asp:AccessDataSource>
- <radG:RadGrid ID="RadGrid2" - DataSourceID="AccessDataSource1" - AllowSorting="True"
- AllowFilteringByColumn= "true" - Skin="Windows" - runat="server">
- <ClientSettings>
- <ClientEvents OnGridCreated="GridCreated" - />
- </ClientSettings>
- <FilterMenu - CssClass="FilterMenuClass2"></FilterMenu>
- </radG:RadGrid>
- </div>
- </form>
- </body>
- </html>
-
-
- - - Represents a HeaderContextMenu - - - - - Gets a collection () of all columns in - Telerik RadGrid. - - - This is one of the three columns collections in Telerik RadGrid. The - other two are AutoGeneratedColumns and - RenderColumns. - - returns a of all grid columns. - - The example below demonstrates how to use the - columns collection to define columns declaratively (in the ASPX) -
-            		<
-            		radG:RadGrid ID="RadGrid1" DataSourceID="AccessDataSource1" AllowPaging="True" ShowFooter="True"
runat="server" AutoGenerateColumns="False" AllowSorting="True" PageSize="3" Width="925px"
GridLines="None" CellPadding="0" Skin="Default" AllowMultiRowSelection="true">
<MasterTableView ShowFooter="True">
<RowIndicatorColumn Visible="False" UniqueName="RowIndicator">
<HeaderStyle Width="20px"></ - HeaderStyle>
</RowIndicatorColumn - >
<Columns - >
<radG:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn"
HeaderText="Edit&#160;Command Column">
</radG:GridEditCommandColumn - >
<radG:GridClientSelectColumn UniqueName="CheckboxSelectColumn" HeaderText="CheckboxSelect column <br - />" />
<radG:GridBoundColumn FooterText="BoundColumn footer" UniqueName="CustomerID" SortExpression="CustomerID"
HeaderText="Bound<br/ - >Column" DataField="CustomerID">
</radG:GridBoundColumn - >
<radG:GridCheckBoxColumn FooterText="CheckBoxColumn footer" UniqueName="Bool" HeaderText="CheckBox< - br/>Column"
DataField="Bool">
</radG:GridCheckBoxColumn - >
<radG:GridDropDownColumn FooterText="DropDownColumn footer" UniqueName="DropDownListColumn"
ListTextField="ContactName" ListValueField="CustomerID" DataSourceID="AccessDataSource2"
HeaderText="DropDown< - br/>Column" DataField="CustomerID">
</radG:GridDropDownColumn - >
<radG:GridButtonColumn FooterText="PushButtonColumn< - br/>footer" DataTextFormatString="Select {0}"
ButtonType="PushButton" UniqueName="column" HeaderText="PushButton< - br/>Column"
CommandName="Select" DataTextField="CustomerID">
</radG:GridButtonColumn - >
<radG:GridButtonColumn FooterText="LinkButtonColumn footer" DataTextFormatString="Remove selection"
UniqueName="column1" HeaderText="LinkButton< - br/>Column" CommandName="Deselect"
DataTextField="CustomerID">
</radG:GridButtonColumn - >
<radG:GridHyperLinkColumn FooterText="HyperLinkColumn footer" DataTextFormatString="Search Google for '{0}'"
DataNavigateUrlField="CompanyName" UniqueName="CompanyName" DataNavigateUrlFormatString="http://www.google.com/search?hl=en&amp;q={0}&amp;btnG=Google+Search"
HeaderText="HyperLink< - br/>Column" DataTextField="CompanyName">
</radG:GridHyperLinkColumn - >
<radG:GridTemplateColumn UniqueName="TemplateColumn" SortExpression="CompanyName">
<FooterTemplate - >
<img src="Img/image.gif" alt="" style="vertical-align: middle" />
Template footer
</FooterTemplate - >
<HeaderTemplate - >
<table id="Table1" cellspacing="0" cellpadding="0" width="300" border="1">
<tr - >
<td colspan="2" align="center">
<b - >Contact details</b - ></td - >
</tr - >
<tr - >
<td style="width: 50%" align="center">
<asp:LinkButton CssClass="Button" Width="140" ID="btnContName" Text="Contact name"
Tooltip="Sort by ContactName" CommandName='Sort' CommandArgument='ContactName' runat="server" /></td>

<td style="width: 50%" align="center">
<asp:LinkButton CssClass="Button" Width="140" ID="btnContTitle" Text="Contact title"
Tooltip="Sort by ContactTitle" CommandName='Sort' CommandArgument='ContactTitle'
runat="server" /></td>

</tr - >
</table - >
</HeaderTemplate - >
<ItemTemplate - >
<table cellpadding="1" cellspacing="1" class="customTable">
<tr - >
<td style="width: 50%">
<%#Eval("ContactName") %>
</td - >
<td style="width: 50%">
<%#Eval("ContactTitle") %>
</td - >
</tr - >
<tr - >
<td colspan="2" align="center">
<a href='<%#"http://www.google.com/search?hl=en&amp;q=" + DataBinder.Eval(Container.DataItem, "ContactName") + "&amp;btnG=Google+Search"%>' >
<em - >Search Google for
<%#Eval("ContactName") %>
</em - ></a - >
</td - >
</tr - >
<tr - >
<td colspan="2" align="center">
<img src="Img/image.gif" alt="" />
</td - >
</tr - >
</table - >
</ItemTemplate - >
</radG:GridTemplateColumn - >
</Columns - >
</MasterTableView - >
<ClientSettings - >
<Selecting AllowRowSelect="true" />
</ClientSettings - >
</radG:RadGrid - > -
- - this.RadGrid1 = new RadGrid(); - - this.RadGrid1.NeedDataSource += new GridNeedDataSourceEventHandler(this.RadGrid1_NeedDataSource); - - this.RadGrid1.AutoGenerateColumns = false; - this.RadGrid1.MasterTableView.DataMember = "Customers"; - - GridBoundColumn boundColumn; - boundColumn = new GridBoundColumn(); - boundColumn.DataField = "CustomerID"; - boundColumn.HeaderText = "CustomerID"; - this.RadGrid1.MasterTableView.Columns.Add(boundColumn); - - .... - //Add to page controls collection - this.PlaceHolder1.Controls.Add( RadGrid1 ); - - - Me.RadGrid1 = New RadGrid - - AddHandler RadGrid1.NeedDataSource, AddressOf Me.RadGrid1_NeedDataSource - AddHandler RadGrid1.DetailTableDataBind, AddressOf Me.RadGrid1_DetailTableDataBind - - Me.RadGrid1.AutoGenerateColumns = False - Me.RadGrid1.MasterTableView.DataMember = "Customers" - - Dim boundColumn As GridBoundColumn - boundColumn = New GridBoundColumn - boundColumn.DataField = "CustomerID" - boundColumn.HeaderText = "CustomerID" - Me.RadGrid1.MasterTableView.Columns.Add(boundColumn) - - - ....'Add to page controls collection - Me.PlaceHolder1.Controls.Add(RadGrid1) - -
-
- - - - Gets a value indicating whether a detail table is currently binding. - - - - - - - - Gets or sets the ID of the control from which the Telerik RadGrid - control retrieves its list of data items. - - - The ID of a control that represents the data source from which the - Telerik RadGrid control retrieves its data. The default is - String.Empty. - - - If the Telerik RadGrid control has already been initialized when - you set the DataSourceID property. - This property cannot be set by themes or style sheet themes. - - - The following code example demonstrates how the DataSourceID property of a - Telerik RadGrid control is used. The Telerik RadGrid - control is associated to the SqlDataSource control by setting its DataSourceID - property to "SqlDataSource1", the ID of the SqlDataSource control. When the - DataSourceID property is set (instead of the DataSource property), the - Telerik RadGrid control automatically binds to the data source control - at run time. - - <%@ Page Language="VB" <see cref="> <"/>@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - - - <html xmlns="http://www.w3.org/1999/xhtml" > - <head runat="server"> - <title>Untitled Page</title> - </head> - <body> - <form id="form1" runat="server"> - <div> - <radG:RadGrid - DataSourceID="SqlDataSource1" - ID="RadGrid1" - runat="server"> - </radG:RadGrid> - <!-- This example uses Microsoft SQL Server and connects --> - <!-- to the Northwind sample database. Use an ASP.NET --> - <!-- expression to retrieve the connection string value --> - <!-- from the Web.config file. --> - <asp:SqlDataSource - ID="SqlDataSource1" - runat="server" - ConnectionString="<<see cref="NorthwindConnectionString">$ ConnectionStrings</see>>" - SelectCommand="SELECT [CustomerID], [ContactName], [CompanyName] FROM [Customers]"> - </asp:SqlDataSource> - <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div> - </form> - </body> - </html> - - - - - - Gets or sets the ODataDataSource used for data binding. - - - - - Gets or sets a OData service DataModelID. - - The OData service DataModelID. - - - - - - - - Gets or sets the name of the Skin that Telerik RadGrid will use. - In case one needs custom skin (not embedded within the assembly) she has to refer - the respective .css in the head tag as explained in docs here: - RadControls for ASP.NET Ajax Fundamentals -> Controlling Visual Appearance -> Creating a custom skin - - - There are three possible scenarios for using this property: - - Leave this property unset or set it to "Default" - the default skin, - common for the RadControls for ASP.NET Ajax suite will be used - Set the name of the embedded grid skin - the skin will be applied - Set the name of the custom grid skin along with the EnableEmbeddedSkins="false" - (see 'Creating a custom skin' Fundamentals article) - Set this property to "" - no skin will be applied. - Only the default grid images (for Expand/Collapse, Sort, Edit, etc) will be - used. Use this option if you have own appearance customizations for prevous - Telerik RadGrid versions. - - - The name of the skin as String. - - - - Gets or sets a value indicating whether the filtering of all tables in the - hierarchy will be enabled, unless specified other by - GridTableView.AllowFilteringByColumn. - - - true, enables filtering for the whole grid. Otherwise, - false. Default is false. - - - - - Gets or sets a value indicating whether the header context menu should be - enabled. - - - - true if the header context menu feature is enabled; otherwise, - false. Default is false. - - - - - - Gets or sets a value indicating whether the option to set columns aggregates should appear in - header context menu. - - - - true if the set columns aggregates option is enabled; otherwise, - false. Default is false. - - - - - - Gets or sets a value indicating whether the header context filter menu should be - enabled. - - - - true if the header context filter menu feature is enabled; otherwise, - false. Default is false. - - - - - Gets or sets default path for the grid images. - A string containing the path for the grid images. The default is string.Empty. - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The selected culture. Localization strings will be loaded based on this value. - - - - Gets or sets a value indicating where RadGrid will look for its .resx localization file. - By default this file should be in the App_GlobalResources folder. However, if you cannot put - the resource file in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource file. - - - A relative path to the dialogs location. For example: "~/controls/RadGridResources/". - - - If specified, the LocalizationPath - property will allow you to load the grid localization file from any location in the - web application. - - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets a value indicating whether the hierarchy expand/collapse all header buttons should be switched on. - - A value indicating whether the hierarchy expand/collapse all header buttons should be switched on. - - - - Gets or sets a value indicating whether the groups expand/collapse all header buttons should be switched on. - - A value indicating whether the groups expand/collapse all header buttons should be switched on. - - - - Object returned from the GetBindingData methods. Returns - a result and the count of the returned items. Used when binding the - to a service. - - - - - Gets or sets the number of items in the binding data. - - The number of items in the binding data. - - - - Gets or sets the binding data. - - The binding data. - - - - Object returned from the GetBindingData methods. Returns - a result and the count of the returned items. Used when binding the - to a service. - - - - - Gets or sets the binding data. - - The binding data. - - - - Gets or sets the number of items in the binding data. - - The number of items in the binding data. - - - - Generic object returned from the RadGrid.GetBindingData methods. Returns - a result and the count of the returned items. Used when binding the - to a service. - - - - - Gets or sets the binding data. - - The binding data. - - - - Gets or sets the number of items in the binding data. - - The number of items in the binding data. - - - - A specific extension of base - functionality. Introduces a new method called GetData which is used in - GetBindingData method to retrieve a data. - - - - - Use the GetBindingData method instead. - - - - - PDF export exception - - - - - PDF export exception constructor - - Exception message - - - - GridTableView exporter. For internal use only. - - - - - TableViewExporter constructor - - GridTableView object - File name - Export only data? - Ignore paging? - - - - TableViewExporter constructor - - GridTableView object - RadGrid export settings - - - - Exports the control to Excel - - - - - Exports the control to Word - - - - - Exports the control to PDF - - - - - Returns a temporary directory - - Temporary directory path - - - - Traverses the controls within a cell and returns their values concatenated as a single string (CSV specific) - - TableCell object - String value - - - - CSV-specific method. Extracts the text from the given header item cell - - Template column object - Resolved text - - - - The class representing the settings associated with - increment settings determining the behavior when using the mouse wheel and keyboard arrow keys. - - - - - - - - - - - - - Gets or sets the value to increment or decrement the spin box when the up or down buttons are clicked. - - - - - Gets or sets a value indicating whether the user can use the UP ARROW and DOWN ARROW keys to increment/decrement values. - - - - - Gets or sets a value indicating whether the user can use the MOUSEWHEEL to increment/decrement values. - - - - This enumeration determines the direction in which child items will open. - - When set to Auto the direction is determined by the - following rules - - If the item is top level and the parent item flow is - Horizontal the direction will be Down. - If the item is top level and the parent item flow is - Vertical the direction will be Right. - If the item is subitem (a child of another menu item rather than the - RadMenu itself) the direction is - Right. - - Note: - If there is not enough room for the child items to - open the expand direction is inverted. For example Right becomes - Left, Down becomes Up and vice - versa. - - - - - The direction is determined by parent's ItemFlow and - level. - - - - Child items open above their parent. - - - Child items open below their parent. - - - Child items open from the left side of their parent. - - - Child items open from the right side of their parent. - - - Represents the different ways menu items can flow. - - The ItemFlow enumeration is used to specify the flow of submenu - items. - - - - - Items will flow one below the other - - - - - Items will flow one after another - - - - - - - - - Provides data for the events of the control. - - - - - Initializes a new instance of the - RadMenuEventArgs class. - - - A RadMenuItem which represents an item in the - RadMenu control. - - - - - Gets the referenced RadMenuItem in the - RadMenu control when the event is raised. - - - The referenced item in the RadMenu control when - the event is raised. - - - Use this property to programmatically access the item referenced in the - RadMenu when the event is raised. - - - - - Represents the method that handles the events provided by the control. - - - - Represents an item in the control. - - - The control is made up of items. Items which are immediate children - of the menu are root items. Items which are children of root items are child items. - - - An item usually stores data in two properties, the property and - the property. The value of the property is displayed - in the control, and the - property is used to store additional data. - - To create items, use one of the following methods: - - - Use declarative syntax to define items inline in your page or user control. - - - Use one of the constructors to dynamically create new instances of the - class. These items can then be added to the - Items collection of another item or menu. - - - Data bind the control to a data source. - - - - When the user clicks an item, the control can navigate - to a linked Web page, post back to the server or select that item. If the - property of an item is set, the - RadMenu control navigates to the linked page. By default, a linked page - is displayed in the same window or frame. To display the linked content in a different - window or frame, use the property. - - - Represents a single item in the RadMenu class. - - - The RadMenu control is made up of a hierarchy of menu items - represented by RadMenuItem objects. Menu items at the top level (level 0) - that do not have a parent menu item are called root or top-level menu items. A - menu item that has a parent menu item is called a submenu item. All root menu - items are stored in the Items collection of the - menu. Submenu items are stored in a parent menu item's - Items collection. You can access a menu item's parent - menu item by using the Owner property. - - To create the menu items for a RadMenu control, use one of the - following methods: - - Use declarative syntax to create static menu items. - Use a constructor to dynamically create new instances of the - RadMenuItem class. These RadMenuItem objects can then be added to the - Items collection of their owner. - Bind the Menu control to a data source. - - - When the user clicks a menu item, the Menu control can either navigate - to a linked Web page or simply post back to the server. If the - NavigateUrl property of a menu item is set, the - RadMenu control navigates to the linked page. By default, a linked page - is displayed in the same window or frame as the RadMenu - control. To display the linked content in a different window or frame, use the - Target property. - - - Each menu item has a Text and a - Value property. The value of the Text property - is displayed in the RadMenu control, while the Value property is - used to store any additional data about the menu item. - - - - This Class RadMenuItem object. - - - - - Highlights the path from the item to the top of the menu. - - - The HighlightPath method applies the "rmFocused" CSS class to the item and - his ancestor items. As a results the "path" from the top level to that specific item - is highlighted. - - - - - Removes the item from its container - - - - Creates a copy of the current RadMenuItem object. - A RadMenuItem which is a copy of the current one. - - Use the Clone method to create a copy of the current item. All - properties of the clone are set to the same values as the current ones. Child items are - not cloned. - - - - Initializes a new instance of the RadMenuItem class. - - Use this constructor to create and initialize a new instance of the - RadMenuItem class using default values. - - - The following example demonstrates how to add items to - RadMenu controls. - - RadMenuItem item = new RadMenuItem(); - item.Text = "News"; - item.NavigateUrl = "~/News.aspx"; - - RadMenu1.Items.Add(item); - - - Dim item As New RadMenuItem() - item.Text = "News" - item.NavigateUrl = "~/News.aspx" - - RadMenu1.Items.Add(item) - - - - - - Initializes a new instance of the RadMenuItem class with the - specified text data. - - - - Use this constructor to create and initialize a new instance of the - RadMenuItem class using the specified text. - - - - The following example demonstrates how to add items to - RadMenu controls. - - RadMenuItem item = new RadMenuItem("News"); - - RadMenu1.Items.Add(item); - - - Dim item As New RadMenuItem("News") - - RadMenu1.Items.Add(item) - - - - The text of the item. The Text property is set to the value - of this parameter. - - - - - Initializes a new instance of the RadMenuItem class with the - specified text and URL to navigate to. - - - - Use this constructor to create and initialize a new instance of the - RadMenuItem class using the specified text and URL. - - - - This example demonstrates how to add items to RadMenu - controls. - - RadMenuItem item = new RadMenuItem("News", "~/News.aspx"); - - RadMenu1.Items.Add(item); - - - Dim item As New RadMenuItem("News", "~/News.aspx") - - RadMenu1.Items.Add(item) - - - - The text of the item. The Text property is set to the value - of this parameter. - - - The url which the item will navigate to. The - NavigateUrl property is set to the value of this - parameter. - - - - - Gets a object that contains the child items of the current RadMenuItem. - - - A that contains the child items of the current RadMenuItem. By default - the collection is empty (the item has no children). - - - Use the Items property to access the child items of the RadMenuItem. You can also use the Items property to - manage the child items - you can add, remove or modify items. - - - The following example demonstrates how to programmatically modify the properties of a child item. - - RadMenuItem item = RadMenu1.FindItemByText("Test"); - item.Items[0].Text = "Example"; - item.Items[0].NavigateUrl = "http://www.example.com"; - - - Dim item As RadMenuItem = RadMenu1.FindItemByText("Test") - item.Items(0).Text = "Example" - item.Items(0).NavigateUrl = "http://www.example.com" - - - - - - Gets the object which contains the current menu item. - - - The object which contains the menu item. It might be an instance of the - class or the - class depending on the hierarchy level. - - - The value is of the type which is - implemented by the and the - classes. Use the Owner property when - recursively traversing items in the RadMenu control. - - - - Gets or sets the data item represented by the item. - - An object representing the data item to which the Item is bound to. The - DataItem property will always return null when - accessed outside of MenuItemDataBound - event handler. - - - This property is applicable only during data binding. Use it along with the - MenuItemDataBound event to perform - additional mapping of fields from the data item to - RadMenuItem properties. - - - The following example demonstrates how to map fields from the data item to - - RadMenuItem properties. It assumes the user has subscribed to the - MenuItemDataBound:RadMenu.MenuItemDataBound - event. - - - private void RadMenu1_MenuItemDataBound(object sender, Telerik.WebControls.ItemStripEventArgs e) - { - RadMenuItem item = e.Item; - DataRowView dataRow = (DataRowView) e.Item.DataItem; - - item.ImageUrl = "image" + dataRow["ID"].ToString() + ".gif"; - item.NavigateUrl = dataRow["URL"].ToString(); - } - - - Sub RadMenu1_MenuItemDataBound(ByVal sender As Object, ByVal e As ItemStripEventArgs) Handles RadMenu1.MenuItemDataBound - Dim item As RadMenuItem = e.Item - Dim dataRow As DataRowView = CType(e.Item.DataItem, DataRowView) - - item.ImageUrl = "image" + dataRow("ID").ToString() + ".gif" - item.NavigateUrl = dataRow("URL").ToString() - End Sub - - - - - Gets or sets the text caption for the menu item. - The text of the item. The default value is empty string. - - This example demonstrates how to set the text of the item using the - Text property. - - <telerik:RadMenu ID="RadMenu1" - runat="server">
- <Items>
- <telerik:RadMenuItem Text="News" />
- <telerik:RadMenuItem Text="News" />
- </Items>
- </telerik:RadMenu>
-
-
- - Use the Text property to specify the text to display for the - item. - -
- - Gets or sets the value associated with the menu item. - The value associated with the item. The default value is empty string. - - Use the Value property to specify or determine the value associated - with the item. - - - - Gets or sets the template for displaying the item. - - A ITemplate implemented object that contains the template - for displaying the item. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - To specify common display for all menu items use the - ItemTemplate property of the - RadMenu class. - - - - The following template demonstrates how to add a Calendar control in certain - menu item. - ASPX: - <telerik:RadMenu runat="server" ID="RadMenu1"> -
- <Items> -
- <telerik:RadMenuItem Text="Date"> -
- <Items> -
- <telerik:RadMenuItem Text="SelectDate"> -
- <ItemTemplate> -
- <asp:Calendar runat="server" ID="Calendar1" - /> -
- </ItemTemplate> -
- </telerik:RadMenuItem> -
- </Items> -
- </telerik:RadMenuItem> -
- </Items> -
- </telerik:RadMenu> -
-
- - Specifies the settings for child item behavior. - - An instance of the MenuItemGroupSettings - class. - - - You can customize the following settings - - item flow - expand direction - horizontal offset from the parent item - vertical offset from the parent item - width - height - - - For more information check - MenuItemGroupSettings. - - - - - - Gets or sets the expand behavior of the menu item. - - When set to ExpandMode.WebService the RadMenuItem will populate its children from the web service specified by the RadMenu.WebService and RadMenu.WebServiceMethod properties. - - - On of the MenuItemExpandMode values. The default value is ClientSide. - - - - - Gets or sets a value indicating whether the item image should have sprite support. - - - True if the item should have sprite support; otherwise - False. The default value is False. - - - - Gets or sets the URL to link to when the item is clicked. - - The URL to link to when the item is clicked. The default value is empty - string. - - - The following example demonstrates how to use the NavigateUrl - property - - <telerik:RadMenu id="RadMenu1" - runat="server">
- <Items>
- <telerik:RadMenuItem Text="News" NavigateUrl="~/News.aspx" - />
- <telerik:RadMenuItem Text="External URL" - NavigateUrl="http://www.example.com" />
- </Items>
- </telerik:RadMenu>
-
-
- - Use the NavigateUrl property to specify the URL to link to when - the item is clicked. Use "~" (tilde) in front of an URL within the same ASP.NET - application. When specifying external URL do not forget the protocol (e.g. - "http://"). - -
- - - Gets or sets a value indicating whether clicking on the item will - postback. - - - True if the menu item should postback; otherwise - false. By default all the items will postback provided the user - has subscribed to the ItemClick event. - - - If you subscribe to the ItemClick all menu - items will postback. To turn off that behavior you should set the - PostBack property to false. This property cannot - be set in design time. - - - - Gets the RadMenu instance which contains the item. - - Use this property to obtain an instance to the - RadMenu object containing the item. - - - - - Sets or gets whether the item is separator. It also represents a logical state of - the item. Might be used in some applications for keyboard navigation to omit processing - items that are marked as separators. - - - - - Gets or sets a value indicating whether the item is selected. - - - True if the item is selected; otherwise false. The default value is - false. - - - Only one item can be selected. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the menu item is - disabled. - - - The CSS class applied when the menu item is disabled. The default value is - "disabled". - - - By default the visual appearance of disabled menu items is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for the menu item when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the menu item is - opened (its child items are visible). - - - The CSS class applied when the menu item is opened. The default value is - "expanded". - - - By default the visual appearance of opened menu items is defined in the skin CSS - file. You can use the ExpandedCssClass property to specify unique - appearance for the menu item when it is opened. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the menu item is - focused. - - - The CSS class applied when the menu item is focused. The default value is - "focused". - - - By default the visual appearance of focused menu items is defined in the skin CSS - file. You can use the FocusedCssClass property to specify unique - appearance for the menu item when it is focused. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the item is - selected. - - - By default the visual appearance of selected items is defined in the skin CSS - file. You can use the SelectedCssClass property to specify unique - appearance for a item when it is selected. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the menu item is - clicked. - - - The CSS class applied when the menu item is clicked. The default value is - "clicked". - - - By default the visual appearance of clicked menu items is defined in the skin CSS - file. You can use the ClickedCssClass property to specify unique - appearance for the menu item when it is clicked. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied on the outmost item element (<LI>). - - - The CSS class applied on the wrapping element (<LI>). The default value is empty string. - - - You can use the OuterCssClass property to specify unique - appearance for the item. - - - - - Gets or sets the target window or frame to display the Web page content linked to - when the menu item is clicked. - - - The target window or frame to load the Web page linked to when the Item is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without - frames. - - - _parent - Renders the content in the immediate frameset - parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without - frames. - - - The default value is empty string. - - - - Use the Target property to specify the frame or window that displays the - Web page linked to when the menu item is clicked. The Web page is specified by - setting the NavigateUrl property. - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The following example demonstrates how to use the Target - property - ASPX: - <telerik:RadMenu runat="server" ID="RadMenu1"> - <Items> - <telerik:RadMenuItem Target="_blank" - NavigateUrl="http://www.google.com" /> - </Items> - </telerik:RadMenu> - - - - - Manages the item level of a particular Item instance. This property allows easy - implementation/separation of the menu items in levels. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - The following example demonstrates how to specify the image to display for - the item using the ImageUrl property. - - <telerik:RadMenu id="RadMenu1" - runat="server">
- <Items>
- <telerik:RadMenuItem ImageUrl="~/Img/inbox.gif" Text="Index" - />
- <telerik:RadMenuItem ImageUrl="~/Img/outbox.gif" Text="Outbox" - />
- </Items>
- </telerik:RadMenu>
-
-
-
- - - Gets or sets the path to an image to display for the item when the user moves the - mouse over the item. - - - The path to the image to display when the user moves the mouse over the item. The - default value is empty string. - - - <telerik:RadMenu id="RadMenu1" runat="server">
- <Items>
- <telerik:RadMenuItem ImageUrl="~/Img/inbox.gif" - HoveredImageUrl="~/Img/inboxOver.gif" Text="Index" />
- <telerik:RadMenuItem ImageUrl="~/Img/outbox.gif" - HoveredImageUrl="~/Img/outboxOver.gif" Text="Outbox" />
- </Items>
- </telerik:RadMenu>
-
- - Use the HoveredImageUrl property to specify the image that will be - used when the user moves the mouse over the item. If the HoveredImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - - Gets or sets the path to an image to display for the item when the user clicks the - item. - - - The path to the image to display when the user clicks the item. The default value - is empty string. - - - <telerik:RadMenu id="RadMenu1" runat="server">
- <Items>
- <telerik:RadMenuItem ImageUrl="~/Img/inbox.gif" - ClickedImageUrl="~/Img/inboxClicked.gif" Text="Index" />
- <telerik:RadMenuItem ImageUrl="~/Img/outbox.gif" - ClickedImageUrl="~/Img/outboxClicked.gif" Text="Outbox" - />
- </Items>
- </telerik:RadMenu>
-
- - Use the ClickedImageUrl property to specify the image that will be - used when the user clicks the item. If the ClickedImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - Gets or sets the path to an image to display when the items is disabled. - - The path to the image to display when the item is disabled. The default value is - empty string. - - - Use the DisabledImageUrl property to specify the image that will - be used when the item is disabled. If the DisabledImageUrl property is - set to empty string the image specified by the ImageUrl property will - be used. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - <telerik:RadMenu id="RadMenu1" runat="server">
- <Items>
- <telerik:RadMenuItem ImageUrl="~/Img/inbox.gif" - DisabledImageUrl="~/Img/inboxDisabled.gif" Text="Index" - />
- <telerik:RadMenuItem ImageUrl="~/Img/outbox.gif" - DisabledImageUrl="~/Img/outboxDisabled.gif" Text="Outbox" - />
- </Items>
- </telerik:RadMenu>
-
-
- - Gets or sets the path to an image to display when the items is expanded. - - The path to the image to display when the item is expanded. The default value is - empty string. - - - <telerik:RadMenu id="RadMenu1" runat="server">
- <Items>
- <telerik:RadMenuItem ImageUrl="~/Img/inbox.gif" - ExpandedImageUrl="~/Img/inboxExpanded.gif" Text="Index" - />
- <telerik:RadMenuItem ImageUrl="~/Img/outbox.gif" - ExpandedImageUrl="~/Img/outboxExpanded.gif" Text="Outbox" - />
- </Items>
- </telerik:RadMenu>
-
- - Use the ExpandedImageUrl property to specify the image that will - be used when the item is expanded. If the ExpandedImageUrl property is - set to empty string the image specified by the ImageUrl property will - be used. Use "~" (tilde) when referring to images within the current ASP.NET - application. - -
- - - Gets or sets a value specifying the URL of the image rendered when the item is selected. - - - If the SelectedImageUrl property is not set the ImageUrl - property will be used when the node is selected. - - - - - A collection of RadMenuItem objects in a - RadMenu control. - - - The RadMenuItemCollection class represents a collection of - RadMenuItem objects. The RadMenuItem objects in turn represent - menu items within a RadMenu control. - - - Use the indexer to programmatically retrieve a - single RadMenuItem from the collection, using array notation. - - - Use the Count property to determine the total - number of menu items in the collection. - - - Use the Add method to add menu items in the collection. - - - Use the Remove method to remove menu items from the - collection. - - - - - - - - Initializes a new instance of the class. - - The owner of the collection. - - - - Appends the specified object to the end of the current . - - - The to append to the end of the current . - - - The following example demonstrates how to programmatically add items in a - RadMenu control. - - RadMenuItem newsItem = new RadMenuItem("News"); - RadMenu1.Items.Add(newsItem); - - - Dim newsItem As RadMenuItem = New RadMenuItem("News") - RadMenu1.Items.Add(newsItem) - - - - - - Searches the RadMenuItemCollection control for the first - RadMenuItem with a Text property equal to - the specified value. - - - A RadMenuItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadMenu control for the first - RadMenuItem with a Text property equal to - the specified value. - - - A RadMenuItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadMenuItemCollection control for the first - RadMenuItem with a Value property equal - to the specified value. - - - A RadMenuItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadMenu control for the first - RadMenuItem with a Value property equal - to the specified value. - - - A RadMenuItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the items in the collection for a RadMenuItem which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadMenuItem that matches the specified arguments. Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Returns the first RadMenuItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadMenu1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadMenuItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadMenu1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadMenuItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Determines whether the specified object is in the current - . - - - The object to find. - - - true if the current collection contains the specified object; - otherwise, false. - - - - - Copies the contents of the current into the - specified array of objects. - - The target array. - The index to start copying from. - - - Appends the specified array of objects to the end of the - current . - - - The following example demonstrates how to use the AddRange method - to add multiple items in a single step. - - RadMenuItem[] items = new RadMenuItem[] { new RadMenuItem("First"), new RadMenuItem("Second"), new RadMenuItem("Third") }; - RadMenu1.Items.AddRange(items); - - - Dim items() As RadMenuItem = {New RadMenuItem("First"), New RadMenuItem("Second"), New RadMenuItem("Third")} - RadMenu1.Items.AddRange(items) - - - - The array of to append to the end of the current . - - - - - Determines the index of the specified object in the collection. - - - The to locate. - - - The zero-based index of item within the current , - if found; otherwise, -1. - - - - - Inserts the specified object in the current - at the specified index location. - - - The zero-based index location at which to insert the . - - - The to insert. - - - - - Removes the specified object from the current - . - - - The RadMenuItem object to remove. - - - - - Removes the object at the specified index - from the current . - - - The zero-based index of the index to remove. - - - - - Gets the object at the specified index in - the current . - - - The zero-based index of the to retrieve. - - - The at the specified index in the - current . - - - - Represents settings controlling child item behavior. - - - - - - - - - - - - - - - - Returns a that represents the current - . - - - A that represents the current . - - - - - - - - Gets or sets the flow of child items. - - One of the ItemFlow enumeration values. The default - value is Vertical. - - - Use the Flow property to customize the flow of child menu items. - By default RadMenu mimics the behavior of Windows and child items - (apart from top level ones) flow vertically. - - - - Gets or sets the direction in which child items will open. - - One of the ExpandDirection enumeration values. - The default value is Auto. - - - Use the ExpandDirection property to specify different expand - direction than the automatically determined one. See the - ExpandDirection description for more information. - - - - - Gets or sets a value indicating the horizontal offset of child menu items - considering their parent. - - - An integer specifying the horizontal offset of child menu items (measured in - pixels). The default value is 0 (no offset). - - - Use the OffsetX property to change the position where child - items will appear. - - To customize the vertical offset use the OffsetY - property. - - - - - - Gets or sets a value indicating the vertical offset of child menu items - considering their parent. - - - An integer specifying the vertical offset of child menu items (measured in - pixels). The default value is 0 (no offset). - - - Use the OffsetY property to change the position where child - items will appear. - - To customize the horizontal offset use the OffsetX - property. - - - - - - Gets or sets a value indicating the width of child menu items (the whole item - group). - - - A Unit that represents the width of the child item group. The - default value is Unit.Empty. - - - If the total width of menu items exceeds the Width property - scrolling will be applied. - - - - - Gets or sets a value indicating the height of child menu items (the whole item - group). - - - A Unit that represents the height of the child item group. The - default value is Unit.Empty. - - - If the total height of menu items exceeds the Height property - scrolling will be applied. - - - - - Gets or sets the number of columns to display in this item group. - - - Specifies the number of columns which are displayed for a given item group. For example, - if it set to 3, the child items are displayed in three columns. - The default value is 1. - Displaying more than 1 column automatically disables scrolling for this group. - - - - - Gets or sets whether the columns are repeated vertically or horizontally - - - When this property is set to Vertical, - items are displayed vertically in columns from top to bottom, - and then left to right, until all items are rendered. - - - When this property is set to Horizontal, - items are displayed horizontally in rows from left to right, - then top to bottom, until all items are rendered. - - - - - - This enum specifies the SchedulerFormMode. - - - - - SchedulerFormMode is set to Hidden. - - Hidden - - - - SchedulerFormMode is set to Insert. - - Insert - - - - SchedulerFormMode is set to Edit. - - Edit - - - - SchedulerFormMode is set to AdvancedInsert. - - AdvancedInsert - - - - SchedulerFormMode is set to AdvancedEdit. - - AdvancedEdit - - - - Provides data for the event of the control. - - - - - Gets or sets the modified appointment. - - The modified appointment. - - - - Gets or sets the ISchedulerInfo object - that will be passed to the providers' Update method. - - - The ISchedulerInfo object - that will be passed to the providers' Update method. - - - You can replace this object with your own implementation of - ISchedulerInfo in order - to pass additional information to the provider. - - - - - This enum specifies if the OverflowBehavior is set to Scroll, Expand or Auto. - - - - - OverflowBehavior is set to Scroll. - - Scroll = 1 - - - - OverflowBehavior is set to Expand. - - Expand = 2 - - - - OverflowBehavior is set to Auto. - - Auto = 3 - - - - The localization strings to be used in RadScheduler. - - - - - Gets or sets the header today. - - The header today. - - - - Gets or sets the header prev day. - - The header prev day. - - - - Gets or sets the header next day. - - The header next day. - - - - Gets or sets the header day. - - The header day. - - - - Gets or sets the header week. - - The header week. - - - - Gets or sets the header month. - - The header month. - - - - Gets or sets the header timeline. - - The header timeline. - - - - Gets or sets the header multi day. - - The header multi day. - - - - Gets or sets all day. - - All day. - - - - Gets or sets the Show24Hours. - - The Show24Hours. - - - - Gets or sets the show business hours. - - The show business hours. - - - - Gets or sets the save. - - The save. - - - - Gets or sets the cancel. - - The cancel. - - - - Gets or sets the show advanced form. - - The show advanced form. - - - - Gets or sets the show more. - - The show more. - - - - Gets or sets the advanced subject. - - The advanced subject. - - - - Gets or sets the advanced description. - - The advanced description. - - - - Gets or sets the advanced from. - - The advanced from. - - - - Gets or sets the advanced to. - - The advanced to. - - - - Gets or sets the advanced all day event. - - The advanced all day event. - - - - Gets or sets the advanced time zone. - - The advanced time zone. - - - - Gets or sets the advanced recurrence. - - The advanced recurrence. - - - - Gets or sets the advanced hourly. - - The advanced hourly. - - - - Gets or sets the advanced daily. - - The advanced daily. - - - - Gets or sets the advanced weekly. - - The advanced weekly. - - - - Gets or sets the advanced monthly. - - The advanced monthly. - - - - Gets or sets the advanced yearly. - - The advanced yearly. - - - - Gets or sets the advanced every. - - The advanced every. - - - - Gets or sets the advanced hours. - - The advanced hours. - - - - Gets or sets the advanced days. - - The advanced days. - - - - Gets or sets the advanced weeks. - - The advanced weeks. - - - - Gets or sets the advanced months. - - The advanced months. - - - - Gets or sets the advanced every weekday. - - The advanced every weekday. - - - - Gets or sets the advanced recur every. - - The advanced recur every. - - - - Gets or sets the advanced day. - - The advanced day. - - - - Gets or sets the advanced of every. - - The advanced of every. - - - - Gets or sets the advanced first. - - The advanced first. - - - - Gets or sets the advanced second. - - The advanced second. - - - - Gets or sets the advanced third. - - The advanced third. - - - - Gets or sets the advanced fourth. - - The advanced fourth. - - - - Gets or sets the advanced last. - - The advanced last. - - - - Gets or sets the advanced mask day. - - The advanced mask day. - - - - Gets or sets the advanced mask weekday. - - The advanced mask weekday. - - - - Gets or sets the advanced mask weekend day. - - The advanced mask weekend day. - - - - Gets or sets the advanced the. - - The advanced the. - - - - Gets or sets the advanced of. - - The advanced of. - - - - Gets or sets the advanced reset. - - The advanced reset. - - - - Gets or sets the advanced no end date. - - The advanced no end date. - - - - Gets or sets the advanced end after. - - The advanced end after. - - - - Gets or sets the advanced end by this date. - - The advanced end by this date. - - - - Gets or sets the advanced occurrences. - - The advanced occurrences. - - - - Gets or sets the advanced calendar OK. - - The advanced calendar OK. - - - - Gets or sets the advanced calendar cancel. - - The advanced calendar cancel. - - - - Gets or sets the advanced calendar today. - - The advanced calendar today. - - - - Gets or sets the advanced subject required. - - The advanced subject required. - - - - Gets or sets the advanced start time before end time. - - The advanced start time before end time. - - - - Gets or sets the advanced start time required. - - The advanced start time required. - - - - Gets or sets the advanced start date required. - - The advanced start date required. - - - - Gets or sets the advanced end time required. - - The advanced end time required. - - - - Gets or sets the advanced end date required. - - The advanced end date required. - - - - Gets or sets the advanced invalid number. - - The advanced invalid number. - - - - Gets or sets the advanced working. - - The advanced working. - - - - Gets or sets the advanced done. - - The advanced done. - - - - Gets or sets the advanced new appointment. - - The advanced new appointment. - - - - Gets or sets the advanced edit appointment. - - The advanced edit appointment. - - - - Gets or sets the advanced close. - - The advanced close. - - - - Gets or sets the reminder. - - The reminder. - - - - Gets or sets the reminders. - - The reminders. - - - - Gets or sets the reminder minute. - - The reminder minute. - - - - Gets or sets the reminder minutes. - - The reminder minutes. - - - - Gets or sets the reminder hour. - - The reminder hour. - - - - Gets or sets the reminder hours. - - The reminder hours. - - - - Gets or sets the reminder day. - - The reminder day. - - - - Gets or sets the reminder days. - - The reminder days. - - - - Gets or sets the reminder week. - - The reminder week. - - - - Gets or sets the reminder weeks. - - The reminder weeks. - - - - Gets or sets the reminder none. - - The reminder none. - - - - Gets or sets the reminder before start. - - The reminder before start. - - - - Gets or sets the reminder snooze. - - The reminder snooze. - - - - Gets or sets the reminder dismiss. - - The reminder dismiss. - - - - Gets or sets the reminder dismiss all. - - The reminder dismiss all. - - - - Gets or sets the reminder open item. - - The reminder open item. - - - - Gets or sets the reminder snooze hint. - - The reminder snooze hint. - - - - Gets or sets the reminder due in. - - The reminder due in. - - - - Gets or sets the reminder overdue. - - The reminder overdue. - - - - Gets or sets the confirm recurrence edit title. - - The confirm recurrence edit title. - - - - Gets or sets the confirm recurrence edit occurrence. - - The confirm recurrence edit occurrence. - - - - Gets or sets the confirm recurrence edit series. - - The confirm recurrence edit series. - - - - Gets or sets the confirm recurrence resize title. - - The confirm recurrence resize title. - - - - Gets or sets the confirm recurrence resize occurrence. - - The confirm recurrence resize occurrence. - - - - Gets or sets the confirm recurrence resize series. - - The confirm recurrence resize series. - - - - Gets or sets the confirm recurrence delete title. - - The confirm recurrence delete title. - - - - Gets or sets the confirm recurrence delete occurrence. - - The confirm recurrence delete occurrence. - - - - Gets or sets the confirm recurrence delete series. - - The confirm recurrence delete series. - - - - Gets or sets the confirm delete title. - - The confirm delete title. - - - - Gets or sets the confirm delete text. - - The confirm delete text. - - - - Gets or sets the confirm recurrence move title. - - The confirm recurrence move title. - - - - Gets or sets the confirm recurrence move occurrence. - - The confirm recurrence move occurrence. - - - - Gets or sets the confirm recurrence move series. - - The confirm recurrence move series. - - - - Gets or sets the confirm OK. - - The confirm OK. - - - - Gets or sets the confirm cancel. - - The confirm cancel. - - - - Gets or sets the confirm reset exceptions title. - - The confirm reset exceptions title. - - - - Gets or sets the confirm reset exceptions text. - - The confirm reset exceptions text. - - - - Gets or sets the context menu edit. - - The context menu edit. - - - - Gets or sets the context menu delete. - - The context menu delete. - - - - Gets or sets the context menu add appointment. - - The context menu add appointment. - - - - Gets or sets the context menu add recurring appointment. - - The context menu add recurring appointment. - - - - Gets or sets the context menu go to today. - - The context menu go to today. - - - Specifies the view mode of a RadScheduler control. - - - - A view that spans a single day. All day-events are displayed in a separate row on - top. - - - - - A view that spans seven days. Each day is displayed as in DayView mode and the - current date is highlighted. - - - - A view that spans a whole month. The current date is highlighted. - - - - The Timeline view spans an arbitrary time period. It is divided in slots with - user selectable duration. - - - - - Similar to WeekView, but shows a fixed number of days and does not observe week boundaries. - - - - - This class should be used in the HTTP Handler declaration for Telerik.Web.UI.WebResource if you need access to the Session object - - - - - This Class defines the WabResource object that inherits Page. - - - - - Determines whether [is II s7 request] [the specified context]. - - The context. - - - - - Sets the intrinsics of the , such - as the , , - , and - properties. - - An object that provides - references to the intrinsic server objects (for example, , - , and ) - used to service HTTP requests. - - - - Populates the Handlers collection - - - - - Gets the query string's key name which value determines the handler to be called - - - - - Gets the key/value collection of handlers which are currently available - - - - - Summary description for DictionarySorter. - - - - - Saves the dictionary to a file. - - The output file name. - - - - Load a word list from a file. - - The import file name. - - - - Load a word list from a StreamReader. - - The import reader. - - - "Vowels" to test for - - - Prefixes when present which are not pronounced - - - Maximum length of an encoding, default is 4 - - - Encode a value with Double Metaphone - - @param value string to encode - @return an encoded string - - - Encode a value with Double Metaphone, optionally using the alternate - encoding. - - @param value string to encode - @param alternate use alternate encode - @return an encoded string - - - Check if the Double Metaphone values of two string values - are equal. - - @param value1 The left-hand side of the encoded {@link string#equals(Object)}. - @param value2 The right-hand side of the encoded {@link string#equals(Object)}. - @return true if the encoded strings are equal; - false otherwise. - @see #isDoubleMetaphoneEqual(string,string,bool) - - - Check if the Double Metaphone values of two string values - are equal, optionally using the alternate value. - - @param value1 The left-hand side of the encoded {@link string#equals(Object)}. - @param value2 The right-hand side of the encoded {@link string#equals(Object)}. - @param alternate use the alternate value if true. - @return true if the encoded strings are equal; - false otherwise. - - - Returns the maxCodeLen. - @return int - - - Sets the maxCodeLen. - @param maxCodeLen The maxCodeLen to set - - - Handles 'A', 'E', 'I', 'O', 'U', and 'Y' cases - - - Handles 'C' cases - - - Handles 'CC' cases - - - Handles 'CH' cases - - - Handles 'D' cases - - - Handles 'G' cases - - - Handles 'GH' cases - - - Handles 'H' cases - - - Handles 'J' cases - - - Handles 'L' cases - - - Handles 'P' cases - - - Handles 'R' cases - - - Handles 'S' cases - - - Handles 'SC' cases - - - Handles 'T' cases - - - Handles 'W' cases - - - Handles 'X' cases - - - Handles 'Z' cases - - - Complex condition 0 for 'C' - - - Complex condition 0 for 'CH' - - - Complex condition 1 for 'CH' - - - Complex condition 0 for 'L' - - - Complex condition 0 for 'M' - - - Determines whether or not a value is of slavo-germanic orgin. A value is - of slavo-germanic origin if it contians any of 'W', 'K', 'CZ', or 'WITZ'. - - - Determines whether or not a character is a vowel or not - - - Determines whether or not the value starts with a silent letter. It will - return true if the value starts with any of 'GN', 'KN', - 'PN', 'WR' or 'PS'. - - - Cleans the input - - - Gets the character at index index if available, otherwise - it returns Character.MIN_VALUE so that there is some sort - of a default - - - Shortcut method with 1 criteria - - - Shortcut method with 2 criteria - - - Shortcut method with 3 criteria - - - Shortcut method with 4 criteria - - - Shortcut method with 5 criteria - - - Shortcut method with 6 criteria - - - * Determines whether value contains any of the criteria - starting - * at index start and matching up to length length - - - Inner class for storing results, since there is the optional alternate - encoding. - - - - Initializes the length and offset arrays as well as the distance matrix. - - - - - Finds possible suggestions for a misspelled word. - - the misspelled word string - array of suggestion replacement strings - - - - Calculates Levenshtein distance for two given strings. - - String 1. - String 2. - Edit Distance. - - - - A custom interface that defines the access to the custom dictionary. - It can be used to replace the custom dictionary storage mechanism and store the words in a database or on a remote computer. - - - - - Reads a word from the storage. It should return null if no more words are present. - - - - - - Adds a new custom word. - - the new word - - - - The directory that contains the custom dictionary file. - Necessary only for file based storage -- it is set to the physical directory corresponding to RadSpell's DictPath property setting. - - - - - The language for the custom dictionary. It is usually a culture name like en-US or de-DE. - - - - - A custom appendix string that can be used to distinguish different custom dictionaries. It is passed the CustomAppendix of the RadSpell object. This way one can create different dictionaries for John and Mary. - - - - - This is the .NET 1.x implementation. - The .NET 2.0 one gets into an infinite loop when using the WordComparer. - - - - - Summary description for WordComparer. - - - - - ISpellCheckProvider interface -- defines the behavior that we need - from a component to do spell checking. - - - - - Summary description for TelerikSpellCheckProvider. - - - - - This class can be used to initiate a spell check request using the RadSpell dictionaries. - - - - - Create a new RadSpellChecker object. You need to pass a correct path to the folder that contains the dictionary files (*.TDF) - - - The method expects local paths. E.g. "C:\SomeFolder\RadControls\Spell\TDF". Transform URL's to local paths with the method. - C# - - SpellChecker checker = new SpellChecker(Server.MapPath("~/RadControls/Spell/TDF")); - - VB.NET - - - Dim checker As SpellChecker - checker = New SpellChecker(Server.MapPath("~/RadControls/Spell/TDF")) - - - - - - Cleans up any resources held by the SpellChecker object. It is an alias of the Dispose method. - - - - - Performs the actual spellchecking. It will be automatically called by the Errors property accessor. - - -- a collection with all the errors found. - - - - Gets a list of suggestions from the dictionary for the specified word - - A string containing the word to be used. - A string array containing the spellcheck suggestions for the input word. - - - - Adds a new word to the custom dictionary. It first checks if the word is already present in the current base or custom dictionaries. - - The new custom word. - - - - Clean up used resources. - - - - - Sets the text to be spellchecked. It can be plain text or HTML. - - - This property can be used to pass the text to the spellchecker engine programmatically. The engine can deal with plaintext or any HTML-like format. - It ignores text inside angle brackets (<>) and transforms HTML entities to their character values. E.g. &amp; becomes & - C#: - - using (SpellChecker checker = new SpellChecker(Server.MapPath("~/RadControls/Spell/TDF"))) - { - checker.Text = text; - return checker.Errors; - } - - VB.NET - - Dim checker As SpellChecker - Try - checker = New SpellChecker(Server.MapPath("~/RadControls/Spell/TDF")) - checker.Text = text - Return checker.Errors - Finally - checker.Dispose() - End Try - - - - - - The language of the dictionary to be used for spellchecking. It usually is the same as the corresponding TDF file (without the extension). - - - To spellcheck in German you have to have de-DE.tdf inside your dictionary folder, and set DictionaryLanguage to "de-DE" - C#: - - spellChecker.DictionaryLanguage = "de-DE"; - - VB.NET - - spellChecker.DictionaryLanguage = "de-DE" - - - The default is en-US - - - - The folder path that contains the TDF files. - - - The method expects local paths. E.g. "C:\SomeFolder\RadControls\Spell\TDF". Transform URL's to local paths with the method. - C# - - SpellChecker checker = new SpellChecker(Server.MapPath("~/RadControls/Spell/TDF")); - - VB.NET - - - Dim checker As SpellChecker - checker = New SpellChecker(Server.MapPath("~/RadControls/Spell/TDF")) - - - - - The suffix that gets appended to the custom dictionary file name. It is usually a user specific string that allows to distinguish dictionaries for different users. - Default filenames are Language + CustomAppendix + ".txt". - The default is -Custom - - - - - Specifies the edit distance. If you increase the value, the checking speed decreases but more suggestions are presented. It does not do anything for the phonetic spellchecking. - - The default is 1 - - - - Specifies whether or not to check words in CAPITALS (e.g. "UNESCO") - - The default is false - - - - Specifies whether or not to count repeating words as errors (e.g. "very very") - - The default is false - - - - Specifies whether or not to check words in Capitals (e.g. "Washington") - - The default is true - - - - Specifies whether or not to check words containing numbers (e.g. "l8r") - - The default is false - - - - A set of rules that specify words that should be ignored during the spellcheck. Note that this property should be set before the property. - - - - - Specifies the type name for the custom spell check provider - - - - - Specifies whether RadSpell should use the internal spellchecking algorithm or try to use Microsoft Word. The possible values are defined in the enum. - - The default is PhoneticProvider - - - - Configures the spellchecker engine, so that it knows whether to skip URL's, email addresses, and filenames and not flag them as erros. - - - - - - Manipulate the custom dictionary source. The new value must implement ICustomDictionarySource. - - - - - The fully qualified name of the type that will be used for the custom dictionary storage. The type name must include the assembly, culture and public key token. - A new instance will be created internally unless you set CustomDictionarySource directly. - - - - - The errors after the last spellcheck. The getter method will call automatically if the text has not been checked yet. - - - - - - This property returns the list of words that was generated when the property is set. - - - - - Contains the information about a spellcheck error. The most important properties are the mistaken word and its offset in the source text. - - - - - The index of the misspelled word - - - - - The offset in the source text. It is useful for locating the original word and replacing it with one of the suggestions. - - - - - The original word that the spellchecker has determined to be wrong. - - - - - Suggestions for replacing the mistaken word. - - - - - - A collection that stores objects. - - - - - - - - Initializes a new instance of . - - - - - - - Initializes a new instance of . - - - - - - Adds a with the specified value to the - . - - The to add. - - The index at which the new element was inserted. - - - - - - Copies the elements of an array to the end of the . - - - An array of type containing the objects to add to the collection. - - - None. - - - - - - - Adds the contents of another to the end of the collection. - - - - A containing the objects to add to the collection. - - - None. - - - - - - Gets a value indicating whether the - contains the specified . - - The to locate. - - if the is contained in the collection; - otherwise, . - - - - - - Copies the values to a one-dimensional instance at the - specified index. - - The one-dimensional that is the destination of the values copied from . - The index in where copying begins. - - None. - - is multidimensional. -or- The number of elements in the is greater than the available space between and the end of . - is . - is less than 's lowbound. - - - - - Returns the index of a in - the . - - The to locate. - - The index of the of in the - , if found; otherwise, -1. - - - - - - Inserts a into the at the specified index. - - The zero-based index where should be inserted. - The to insert. - None. - - - - - Returns an enumerator that can iterate through - the . - - None. - - - - - Removes a specific from the - . - - The to remove from the . - None. - is not found in the Collection. - - - - Represents the entry at the specified index of the . - - The zero-based index of the entry to locate in the collection. - - The entry at the specified index of the collection. - - is outside the valid range of indexes for the collection. - - - - The spellcheck provider enumeration. - - - - - The default provider. The same as PhoneticProvider - - - - - This provider uses the edit distance algorithm. It will work for non-western - languages. - - - - - This provider uses phonetic codes to provide "sounds like" word suggestions. Really effective for English, and less so for other languages. - - - - - This provider automates Microsoft Word via its COM Interop interface. - - - - - Specifies whether or not to check words in CAPITALS (e.g. 'UNESCO') - - - - - Specifies whether or not to check words in Capitals (e.g. 'Washington') - - - - - Specifies whether or not to count repeating words as errors (e.g. 'very very') - - - - - Specifies whether or not to check words containing numbers (e.g. 'l8r') - - - - - Specifies the possible values for the Distribution property of the RadTagCloud control. - - - - - The font-size is linearly distributed among the different words based on their occurance. - - - - - The font-size is logarithmically distributed among the different words based on their occurance. - - - - - Specifies the possible values for the Sorting property of the RadTagCloud control. - - - - - The TagCloud items are left as they appear in the Items collection (DataSource). - - - - - The TagCloud items are sorted alphabetically in ascending order. - - - - - The TagCloud items are sorted alphabetically in descending order. - - - - - The TagCloud items are sorted based on their Weight in ascending order. - - - - - The TagCloud items are sorted based on their Weight in descending order. - - - - - Represents an editor for DateTime values, used as the default editor for the TreeListDateTimeColumn. - - - - - Represents the base class of all column editors in . - - - - - Represents the common interface of a column editor in . - - - - - Initialize controls and add to the provided container control for the specified . - - - - - Set the specified edit values to the controls in this editor. - - - - - Get the collection of edited values from this editor. - - - - - Returns the first value from an object implementing IEnumerable, passed as argument. - If the collection is empty, returns null. - - An instance of a class that implements IEnumerable. - The first value form the enumerable collection. - - - - Get the first value from the values of the current . - This method returns the first item from , if any. - - - - - Initializes the column editor for the TreeListColumn. - - The which will hold the edit control. - The container control to which the editor will be added. - - - - Sets the edit values in the column editor. - - A collection of the values which will be used to populate the editor control. - - - - Returns a collection of the values in the editor control. - - - - - - Gets the column for which the column editor is created. - - - - - Initializes the editor control. - - The TreeListEditableItem where the editor will be added. - The container Control to which Controls collection the editor control will be added. - - - - Sets the edit values to the edit control. - - An enumerable collection containing the edit values. - - - - Returns a collection of the edit values contained in the editor. - - An enumerable object holding the values. - - - - Gets a reference to the RadDateInput control used for editing the column. - - - - - Gets a reference to the RadDatePicker control used for editing the column. - - - - - Represents the default column editor for the . - - - - - Initializes the TreeListNumericColumnEditor object. - - The TreeListEditableItem which will hold the current editor. - The Control where the editor controls will be added. - - - - Sets the edit values to the edit control. - - An enumerable collection containing the edit values. - - - - Returns a collection of the edit values contained in the editor. - - An enumerable object holding the values. - - - - Gets a reference to the RadNumericTextBox created by the editor. - - - - - Represents the default editor for the - - - - - Initializes the TreeListCheckBoxColumn editor. - - The which will hold the edit control. - The container control to which the editor will be added. - - - - Sets the Checked state of the CheckBox editor. - - An object containing the value to be assigned to the CheckBox editor. - - - - Gets the value of the CheckBox column editor. - - A boolean value indicating the checked state of the CheckBox editor. - - - - Gets a reference to the CheckBox created for the editor. - - - - - Represents the default column editor for the - - - - - Initializes the editor control. - - The TreeListEditableItem where the editor will be added. - The container Control to which Controls collection the editor control will be added. - - - - - - - - Returns a collection of the edit values contained in the editor. - - An enumerable object holding the values. - - - - Gets a reference to the ITemplate object used for the editor. - - - - - Gets a reference to the Control object which will hold the editor template. - - - - - Represents a column editor that provides a TextBox control for data editing. - - - - - Initializes the editor control. - - The TreeListEditableItem where the editor will be added. - The container Control to which Controls collection the editor control will be added. - - - - Sets the edit values to the edit control. - - An enumerable collection containing the edit values. - - - - Returns a collection of the edit values contained in the editor. - - An enumerable object holding the values. - - - - Gets a reference to the TextBox control used for editing the column. - - - - - Represents a TreeListColumn extended to perform calculations upon fields from the data source. - - - - - Gets or sets the field name from the specified data source to bind to the - TreeListBoundColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the expression. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will form the expression. - - - - - Gets or sets a string representing the expression used when calculating the column values. - - - - - Gets or sets the string used for formatting the calculated column value. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets or sets (see the Remarks) the type of the data from the DataField as it - was set in the DataSource. - - - The DataType property supports the following base .NET Framework data - types: - - Boolean - Byte - Char - DateTime - Decimal - Double - Int16 - Int32 - Int64 - SByte - Single - String - TimeSpan - UInt16 - UInt32 - UInt64 - - - - - - Gets or sets a string used for formatting the footer aggregate text. - - - - - Represents a extended to display an Image - in each of its data cells. - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - Gets or sets (see the Remarks) the type of the data from the DataField as it - was set in the DataSource. - - - The DataType property supports the following base .NET Framework data - types: - - Boolean - Byte - Char - DateTime - Decimal - Double - Int16 - Int32 - Int64 - SByte - Single - String - TimeSpan - UInt16 - UInt32 - UInt64 - - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the url of the image which will be shown. - - - A string, representing a comma-separated enumeration - of DataFields from the data source, which will form the url of the image which - will be shown. - - - - - Gets or sets a string, specifying the FormatString of the DataNavigateURL. - Essentially, the DataNavigateUrlFormatString property sets the formatting for the url - string of the image. - - - A string, specifying the FormatString of the - DataNavigateURL. - - - - - Gets or sets a string, specifying the url, from which the image should be - retrieved. This property will be honored only if the DataImageUrlFields are - not set. If either DataImageUrlFields are set, they will override the - ImageUrl property. - - - A string, specifying the url, from which the image, - should be loaded. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets or sets a string, specifying the text which will be shown as alternate - text to the image - - - - - Gets or sets a value from the ImageAlign enumeration representing the alignment of - the rendered image in relation to the text. - - - - - Gets or sets the width of the image - - - - - Gets or sets the height of the image - - - - - Gets or sets a string, representing the DataField name from the data source, - which will be used to supply the alternateText for the image in the column. This text can - further be customized, by using the DataTextFormatString property. - - - A string, representing the DataField name from the data - source, which will be used to supply the alternate text for the image in the column. - - - - - Gets or sets a string, specifying the format string, which will be used to format - the alternate text of the image, rendered in the cells of the column. - - - A string, specifying the format string, which will be - used to format the text of the hyperlink, rendered in the cells of the column. - - - - - Enumeration representing the aggregate functions which can be applied to a - TreeListGroupByField - - - - - The base abstract class representing the bindable columns in - - - - - Gets or sets the field name from the specified data source to bind to the TreeListDataColumn. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets or sets (see the Remarks) the type of the data from the DataField as it - was set in the DataSource. - - - The DataType property supports the following base .NET Framework data - types: - - Boolean - Byte - Char - DateTime - Decimal - Double - Int16 - Int32 - Int64 - SByte - Single - String - TimeSpan - UInt16 - UInt32 - UInt64 - - - - - - A column type for the RadTreeList control that is bound to a field in the control data source. - - - - - Implements the base functionality of a RadTreeList editable column. - - - - - Create and return a default column editor for the current RadTreeList editable column. - - - - - Gets the editor of this column from the specified instance. - - - - - Gets or sets a value specifying whether RadTreeList should extract values from the specified - instance based on the item's editable state, - the current column's ReadOnly state and the value of ForceExtractValue property. - - - - - Extracts the values from the specified instance and - fills the names/values pairs for each data-field edited by the column in the specified IDictionary instance. - - Dictionary to fill. This param should not be null (Nothing in VB.NET) - The GridEditableItem to extract values from - - - - Checks if the DataField of the current column is in the DataKeyNames or ParentDataKeyNames - collection of and tries to extract the data key value from - the specified instance. - - - - - Retrieves the data value of this column from the specified TableCell of a . - - - - - Extracts the editor values from the specified instance. - - - - - Gets or sets a value indicating whether the column is read-only. A read-only column - will be shown in items in view mode, but will not appear in the edit form of edited items. - - - - - Gets a value indicating whether this column is currently editable. Use the column's - ReadOnly property if you want to change its editing capabilities. - - - - - Specifies how values for this column will be extracted when the column is read-only. - - - - - Gets or sets the default value for this column's editor when a new item is inserted in RadTreeList. - - - - - Gets or sets the format of the that is set - to the edit cell inside an auto-generated edit form. - - - - - Specifies the vertical column number where this column will appear when - using EditForms editing mode and the form is auto-generated. - - - - - Create and return a default column editor for the current RadTreeList editable column. - - - - - Gets or sets the string that specifies the display format for items in the - column. - - - A string that specifies the display format for items in - the column - - - - - Gets or sets the string used to format the footer text. - - - - - Gets or sets the field name from the specified data source to bind to the - TreeListBoundColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Sets or gets default text when column is empty. Default value is - "&nbsp;" - - - - - Sets or gets whether cell content must be encoded. Default value is - false. - - - - - Convert the emty string to null when extracting values during data editing operations. - - - - Defines what button will be rendered in a TreeListButtonColumn - - - Renders a standard hyperlink button. - - - Renders a standard button. - - - Renders an image that acts like a button. - - - Defines what type of dialogue will be displayed for confirmation - - - Standard browser confirm dialog. - - - RadWindow confirm dialog. - - - - A column type for the RadTreeList control that displays a button - in each corresponding cell inside all rendered - instances. - - - - - Gets or sets a value indicating the type of the button that will be rendered. - The type should be one of the specified by the enumeration. - - - - - Gets or sets a value defining the name of the command that will be fired when a button in this column is clicked. - - - - - Gets or sets an optional parameter passed to the Command event along with the - associated - - - - - Gets or sets a string, specifying the FormatString of the ConfirmText. - - - A string, specifying the FormatString of the - ConfirmText. - - - - - Gets or sets the title that will be shown on the RadWindow confirmation dialog when a button - in this column is clicked. - - - - - Gets or sets the text that will be shown on the confirmation dialog when a button - in this column is clicked. The prompt is automatically enabled when this property is - set. - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will be applied to the formatting specified in the ConfirmTextFormatString property. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will be applied to the formatting specified in the ConfirmTextFormatString property. - - - - - Gets or sets what kind of confirm dialog will be used in a . - - The type of the confirm dialog. - - - - Gets or sets the width of the Confirm Dialog (if it is a RadWindow) - - - - - Gets or sets the height of the Confirm Dialog (if it is a RadWindow) - - - - Gets or sets a value indicating the text that will be shown for a button. - - - - Gets or sets a value indicating the URL for the image that will be used in a - Image button. should be set to - ImageButton. - - - - - Gets or sets the CssClass of the button - - - - - Gets or sets a value representing a field from the specified data source. - The Text property of the rendered button will then be bound to this field. - - - - - Gets or sets the string that specifies the formatting applied to the value bound to the Text property. - - - - - Gets or sets the tooltip for each of buttons. - - - - - A column type for the RadTreeList control that displays a CheckBox - in each corresponding cell inside all rendered - instances. - - - - - Creates the default editor for the TreeListCheckBox column. - - - - - - Gets or sets the tooltip of each select checkbox - - - - - A class representing a collection of RadTreeListColumn objects. - - - - - Gets the index of the passed column in the column collection. - - The TreeListColumn object to find in the collection. - An integer that indicates the index of the column in the collection. - - - - Inserts the provided column at the given index in the collection. - - An integer that indicates at which position the column should be inserted. - The TreeListColumn object that should be added. - - - - Removes the column at the provided index. - - An integer specifying the position from which a column should be removed. - - - - Adds the passed column to the column collection. - - A TreeListColumn object that should be added to the collection. - - - - Clears all column from the collection. - - - - - Checks whether a given column belongs to the collection. - - The TreeListColumn object to check for in the collection. - A boolean value indicating whether the column was found. - - - - Copies the column collection to a given array. - - A reference to TreeListColumn[] object where the columns need to be copied to. - An integer indicating from which index on the columns should be added to the new collection. - - - - Removes the passed column from the collection. - - The TreeListColumn to remove from the collection. - A boolean value indicating whether the column was removed successfully - - - - Returns an enumerator that iterates through the collection. - - An IEnumerator<TreeListColumn> used for iterating the collection. - - - - Gets a reference to the owner object. - - - - - Gets the count of columns in the collection. - - - - - Gets a value indicating whether the collection is read only. - - - - - An enumeration representing the possible types of date pickers in the TreeListDateTimeColumn. - - - - - Represents a extended to display a RadCalendar picker control - when in edit mode. - - - - - Creates and returns a reference to the TreeListDateTimeColumnEditor of the column. - - A TreeListDateTimeColumnEditor object representing the editor of the current column. - - - - Gets or sets the data format that will be applied to the edit field - when a TreeListDataItem is edited in RadTreeList - - - - - Gets or sets a value from the TreeListDateTimeColumnPickerType enumeration representing the - type of picker which will be shown in edit mode. - - - - - Gets or sets a DateTime value representing the MinValue setting of the picker control in edit mode. - - - - - Gets or sets a DateTime value representing the MaxValue setting of the picker control in edit mode. - - - - - Force RadTreeList to extract values from editable columns that are ReadOnly. - See also the RadTreeList.ExtractValuesFromItem method. - - - - - No values would be extracted from a ReadOnly column - - - - - Values will be extracted only when an item is NOT in edit mode - - - - - Values will be extracted only when an item is in edit mode - - - - - Values will be extracted in all cases. - - - - - Represents a column of buttons firing data-editing commands (Edit, InitInsert, PeformInsert, Update, Cancel). - - - - - Initializes the cells of the edit command column. - - A TableCell which will hold the content. - An integer value representing the position of the column. - A TreeListItem which will hold the current column cell. - - - - Initializes the cells of the edit command column when in edit mode. - - A TableCell which will hold the content. - The TreeListEditableItem which will hold the current cell. - - - - Gets or sets a value indicating whether the Add Record button will be shown. - - - - - Gets or sets a value indicating whether the Edit button will be shown. - - - - - Gets or sets a value indicating the type of the button that will be rendered. - The type should be one of the specified by the enumeration. - - - - - Gets or sets a unique name for this column. The unique name can be used to - reference particular columns, or cells within grid rows. - - - A string, representing the Unique name of the - column. - - - - - Gets or sets the text of the Cancel button in the edited items. - - - - - Gets or sets the text value of the Edit button in the column cells. - - - - - Gets or sets the text of the Update button in the edited items. - - - - - Gets or sets the text of the Add New Record button in data items. - - - - - Gets or sets the text of the Insert button in the insert items. - - - - - Gets or sets the URL of the image for the Add Record button when - is set to ImageButton. - - - - - Gets or sets the URL of the image for the Insert button when - is set to ImageButton. - - - - - Gets or sets the URL of the image for the Update button when - is set to ImageButton. - - - - - Gets or sets the URL of the image for the Edit button when - is set to ImageButton. - - - - - Gets or sets the URL of the image for the Cancel button when - is set to ImageButton. - - - - - Gets or sets the title attribute that will be applied to the buttons. - - - - - Represents a extended to display a HyperLink - in each of its data cells. - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the url of the windwow/frame that the hyperlink - will target. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will form the url of the windwow/frame that the - hyperlink will target. - - - - - Gets or sets a string, specifying the FormatString of the DataNavigateURL. - Essentially, the DataNavigateUrlFormatString property sets the formatting for the url - string of the target window or frame. - - - A string, specifying the FormatString of the - DataNavigateURL. - - - - - Gets or sets a string, representing the DataField name from the data source, - which will be used to supply the text for the hyperlink in the column. This text can - further be customized, by using the DataTextFormatString property. - - - A string, representing the DataField name from the data - source, which will be used to supply the text for the hyperlink in the column. - - - - - Gets or sets a string, specifying the format string, which will be used to format - the text of the hyperlink, rendered in the cells of the column. - - - A string, specifying the format string, which will be - used to format the text of the hyperlink, rendered in the cells of the column. - - - - - Gets or sets a string, specifying the url, to which to navigate, when a hyperlink - within a column is pressed. This property will be honored only if the - DataNavigateUrlFields are not set. If either - DataNavigateUrlFields are set, they will override the - NavigateUrl property. - - - A a string, specifying the url, to which to navigate, - when a hyperlink within a column is pressed. - - - - - Sets or gets a string, specifying the window or frame at which to target - content. The possible values are: - _blank - the target URL will open in a new window
- _self - the target URL will open in the same frame as it was clicked
- _parent - the target URL will open in the parent frameset
- _top - the target URL will open in the full body of the window
-
- - A string, specifying the window or frame at which to - target content. - -
- - - Gets or sets a string, specifying the text to be displayed by the hyperlinks in - the column, when there is no DataTextField specified. - - - A string, specifying the text to be displayed by the - hyperlinks in the column, when there is no DataTextField specified. - - - - - Represents a extended to display a RadNumericTextBox control - when in edit mode. - - - - - Created the default column editor for the TreeListNumericColumn. - - A TreeListNumericColumnEditor object representing the default column editor. - - - - Gets or sets a value from the NumericType enumeration indicating the numeric type of the - RadNumericTextBox rendered in edit mode. - - - - - Gets or sets a boolean value indicating whether the RadNumericTextBox rendered in - edit mode will automatically round values when they are longer than allowed. - - - - - Gets or sets a boolean value indicating whether the RadNumericTextBox rendered in edit mode - will keep its not rounded value and show it when it is focused. - - - - - An integer value that specifies the number of digits that are displayed after the decimal separator - in the RadNumericTextBox rendered in edit mode. - - - - - Represents a which allows templating its content. - - - - - Creates the default column editor for the column. - - A TreeListTemplateColumnEditor representing the default editor for this column. - - - - Populates the passed values into the provided TreeListEditableItem. - - An IDictionary collection of values. - The TreeListEditableItem which should be populated with the provided values. - - - - Gets or sets an ITemplate implementation representing the footer template of the column. - - - - - Gets or sets an ITemplate implementation representing the regular item template of the column. - - - - - Gets or sets an ITemplate implementation representing the header template of the column. - - - - - Gets or sets an ITemplate implementation representing the edit template of the column. - - - - - Gets or sets an ITemplate implementation representing the insert template of the column. - If not set, the EditItemTemplate is used for the insert form as well. - - - - - Gets or sets a string that is used to format the footer cell of the column. - - - - - Gets or sets the field name from the specified data source to bind to the - TreeListBoundColumn. - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Convert the emty string to null when extracting values during data editing operations. - - - - - Displays a Checkbox control for each item in the column. This - allows you to select TreeList items automatically when you change the status of - the checkbox to checked. - - - If you choose AllowMultiItemSelection = true for the TreeList, a - checkbox will be displayed in the column header to toggle the checked/selected stated - of the items simultaneously (according to the state of that checkbox in the - header).
-
- To enable this feature you need to turn on the client selection of the grid - (ClientSettings -> Selecting -> AllowItemSelection = true). -
- -
-            <telerik:TreeListSelectColumn UniqueName="SelectColumn" HeaderStyle-Width="40px" />
-                
-
-
- - - Gets or sets the tooltip of each select checkbox - - - - - An interface representing all command events in . - - - - Override to fire the corresponding command. - - - Gets or sets a value, defining whether the command should be canceled. - - - - The arguments passed when - fires a command event. - - - - - Forces the execution of the command that triggered the event. - - The owner RadTreeList object - - - - The item in which the command was triggered. - - - - - Gets the control which was responsible for firing the event. - - - - - Gets or sets a value indicating whether the current command is cancelled. - - - - For internal usage only. - - - - For internal usage only. - - - - - Provides event data for the event. - - - - - Gets the column for which an editor is initialized. - - - - - Gets the default column-supplied editor instance. - - - - - The delegate that initializes a new column editor instance. - Set this to a function that returns a column editor every time it is called. - - - - - A base class representing the event args passed when - fires the ItemCommand event with a DeselectAll command. - - - - - Forces the execution of the DeselectAll command. - - The RadTreeList object. - - - - A base class representing the event args passed when - fires the ItemCommand event with a Deselect command. - - - - - Forces the execution of the Deselect command. - - The RadTreeList object. - - - - A base class representing the event args passed when - fires the ItemCommand event with an ExpandCollapse command. - - - - - Forces the control to execute the ExpandCollapse command. - - The RadTreeList object. - - - - The event arguments passed before exports. - - - - - This property returns the generated export content just before it sent to the browser - - - - - Gets or sets the format that will be used fir the export. - - The type of the export. - - - - Gets the ExportBytes string encoded with 1252 codepage. - - The export output. - - - - A base class representing the event args passed when - fires the ItemCreated event. - - - - - Gets a reference to the TreeListItem that has just been created. - - - - - A base class representing the event args passed when - fires the ItemDataBound event. - - - - - Gets a reference to the TreeListItem that has just been databound. - - - - - A base class representing the event args passed when - fires the NeedDataSource event. - - - - - Gets a value from the TreeListRebindReason enumeration indicating what action - caused the control to fire the NeedDataSource event. - - - - - The arguments passed when - fires the PageIndexChanged event. - - - - - Forces the execution of the Page command. - - The RadTreeList object. - - - - Gets an integer value indicating the new page index that will be set to the RadTreeList object. - - - - - The arguments passed when - fires the PageSizeChanged event. - - - - - Forces the execution of the command that triggered the event. - - The owner RadTreeList object - - - - Gets an integer value representing the new page size set for the control. - - - - - The event arguments passed before exports to PDF. - - - - - Gets or sets the rendered HTML code before it is converted to binary (PDF) - - - - - A base class representing the event args passed when - fires the ItemCommand event with a SelectAll command. - - - - - Forces the execution of the SelectAll command. - - The RadTreeList object. - - - - A base class representing the event args passed when - fires the ItemCommand event with a Select command. - - - - - Forces the execution of the Select command. - - The RadTreeList object. - - - - A base class representing the event args passed when - fires the SortCommand event. - - - - - Forces the execution of the sort command that riggered the event. - - - - - Triggers the RadTreeList to handle the sorting operation. - - The owner RadTreeList object. - The object that was used to trigger the command. - A string representing the command argument. - - - - A string representing the current sort expression. - - - - - Gets a value from the TreeListSortOrder enumeration representing the sort order of the column - before the SortCommand event was fired. - - - - - Gets a value from the TreeListSortOrder enumeration representing the sort order of the column - after the SortCommand event was fired. - - - - - RadTreeList Excel export exception - - - - - RadTreeList Export exception - - - - - Default constructor for the RadTreeList export exception - - - - - - TreeListExcelExportException constructor - - Exception message - - - - Generates the Excel content by traversing the TreeList structure - - - - - Applies the ExpandCollapseCellStyle (Excel style) to the TableCell element - - - - - Copies the Excel styles from the first cell onto the second. - - - - - Gets the styles from TableCell element and applies them on the Excel cell - - - - - Parses the content of the TableCell element - - Object value - - - - Returns the TreeListColumn object that corresponds to a given TableCell - - TableCell object - TreeListColumn object - - - - Returns the DataType of the column that corresponds to a given cell - - TableCell element - Type value - - - - Default Font name. Used by ExcelConverter for unit calculations. - - - - - RadTreeList Excel style - - - - - Copies a given style - - Style object - - - - Returns true if none of the properties have been set - - - - - RadTreeList Excel export settings - - - - - Returns the paper dimensions in SizeF object - - - PaperKind value to be converted to SizeF object - - - PaperFormat.xml resource is based on the PaperKind enumeration. - - - - - - - - - - - - - - - - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - Used to set the page footer of the exported worksheet - - - - - Used to set the page header of the exported worksheet - - - - - Set the name of the worksheet - - - - - Determines whether the gridlines will be enabled in the worksheet - - - - - Determines the margin between the top of the page and the beginning of the page content - - - - - Determines the margin between the bottom of the page and the beginning of the page content - - - - - Determines the margin between the left side of the page and the beginning of the page content - - - - - Determines the margin between the right side of the page and the beginning of the page content - - - - - This will swap the values of the PageWidth and PageHeight properties. - - - - - Excel paper size - - - - - Excel export item style - - - - - Excel export alternating item style - - - - - Excel export header style - - - - - Excel export footer item style - - - - - Excel export expand/collapse cell style - - - - - RadTreeList Excel export Expand/Collapse cell style - - - - - Represents the text that replaces the expand image - - - - - Represents the text that replaces the collapse image - - - - - Determines whether the expand/collapse image will be resized to fit in the cell boundaries. - - - - - Represents the path to the expand image - - - - - Width of the expand image. - - - - - Height of the expand image. - - - - - Represents the path to the collapse image - - - - - Width of the collapse image. - - - - - Height of the collapse image. - - - - - RadTreeList PDF export exception - - - - - RadTreeList PDF exception constructor - - Exception message - - - - RadTreeList PDF expand/collapse cell style - - - - - RadTreeList PDF style - - - - - Copies from a given style - - Style object - - - - Returns true if none of the properties have been set - - - - - Forced word wrap is not supported for PDF export. Automatic word wrap is available (always on) if there are whitespace characters in the content. - - - - - Vertical align is not supported - - - - - Determines the line height - - - - - Represents the text that replaces the expand image - - - - - Represents the text that replaces the collapse image - - - - - Represents the path to the expand image - - - - - Width of the expand image. - - - - - Height of the expand image. - - - - - Represents the path to the collapse image - - - - - Width of the collapse image. - - - - - Height of the collapse image. - - - - - LineHeight is not used for ExpandCollapseCellStyle - - - - - Determines the export format - - - - - PDF format - - - - - Excel format - - - - - Determines the way RadTreeList will handle the controls when exporting - - - - - The rendered contents will be exported directly. - - - - - All controls except the images will be removed. - - - - - All controls that cannot be replaced by simple text will be removed. The rest of them will be converted to plain text. - - - - - All controls including images will be removed. - - - - - RadTreeList Export settings - - - - - - - - - - - - - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - RadTreeList Excel export settings - - - - - RadTreeList PDF export settings - - - - - Determines the way RadTreeList will treat the controls in the exported file. Default value is RemoveControls. - - - - - If enabled, exports all items regardless of the current page size - - - - - Determines the way the exported file will be sent to the browser. - - - - - Sets or gets the name of the exported file - - - - - Contains settings for TreeList resizing. - - - - - Gets or sets a string that will be displayed as a tooltip when you start dragging - a column header trying to reorder columns. - - - string, the tooltip that will be displayed when you try to - reorder columns. By default it states "Drop here to reorder". - - - - - Gets or sets a string that will be displayed as a tooltip when you hover a column - that can be dragged. - - - string, the tooltip that will be displayed hover a draggable - column. By default it states "Drag to reorder". - - - - - string, the tooltip that will be displayed when you hover the - resizing handle of a column. By default it states "Drag to - resize". - - - Gets or sets a string that will be displayed as a tooltip when you hover the - resizing handle of a column. - - - - - The format string used for the tooltip when resizing a column - - - - - The title attribute that will be to the expand image. - - - - - The title attribute that will be to the collapse image. - - - - - Represents the settings used when keyboard navigation is enabled in . - - - - - This property set whether active row should be set to first/last item when current item is last/first - and down/up key is pressed (default is false) - - - - - This property set whether the edit form will be submited when the ENTER key is pressed - (default is false) - - - - - This property sets the key that is used to focus RadTreeList. It is always used with CTRL key combination. - - - - - This property sets the key that is used to open insert edit form of RadTreeList. It is always used with CTRL key combination. - - - - - This property set the key that is used for expanding the active row's child items - (default key is Right arrow) - - - - - This property set the key that is used for collapsing the active row's child item - (default key is Left arrow) - - - - - Gets an integer value indicating the code of the key used to exit insert and edit mode. - - - - - Gets an integer value indicating the code of the key used to perform insert or update. - - - - - Gets an integer value indicating the code of the key used to delete the currently active row. - - - - - An enumeration listing the focus keys for keyboard navigation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Builds default value for given property type. - - source item of the property - property name - Returns value representing default value of given value type. If property type is not value returns null. - - - - Builds default value for given property type. - - PropertyDescriptor of already extracted property - Returns value representing default value of given value type. If property type is not value returns null. - - - - - - - - - - - - Adjust CSS classes, column span and visibility of column cells - - - - - Adjust CSS classes, column span and visibility of column cells - - - - - Represents the footer item in . - - - - - Represents all items in . - - - - - Represents the table row objects inside . - - - - - Initializes the footer item. - - The columns to which the footer cells should be added. - - - Override this method to change the default logic for rendering the item - - - - - - Use this method to simulate item command event that bubbles to - and can be handled automatically or in a - custom manner, handling .ItemCommand event. - - command to bubble, for example 'Page' - - command argument, for example 'Next' - - - - - Gets a value from the TreeListItemType enumeration indicating what role the items has in the treelist. - - - - - Gets a reference to the owner RadTreeList object. - - - - - Gets or sets a value indicating whether the control is currently being bound. - - - - - Initializes the footer item. - - A collection containing the columns to which the footer cells should be added. - - - - Gets a value of type TreeListHierarchyIndex representing the nested level of the footer item. - - - - - - - - - The arguments passed when - fires the CellDataBound event. - - - - - Returns a reference to the TableCell object that is bound - when the event fires. - - - - - Returns a reference to the - to which the cell belongs. - - - - - Represents the items bound to entries from the data source in . - - - - - Represents the base call for all editable items in . - - - - - Extracts values for each column, using - - This dictionary to fill, this parameter should not be null - - - - Extracts values for each column, using and updates values in provided object; - - The object that should be updated - - - - Returns a reference to the column editor for the column using its UniqueName. - - A string value representing the UniqueName of the column. - The ITreeListColumnEditor object containing the editor control. - - - - Returns a reference to the column editor for the passed TreeListEditableColumn. - - The TreeListEditableColumn which editor should be returned. - Te ITreeListColumnEditor object containing the editor control. - - - - Initializes the editor for a column at given position. - - A TableCell in which the editor should be added. - An integer value representing the column index. - The TreeListEditableColumn for which the editor is initialized. - - - - Gets or sets the original data source object that the current treelist item is bound to. - - - - - Gets a value indicating whether the current item is in edit mode. - - - - - Gets or sets a value indicating whether the current item should be edited. - - - - - Gets the old values of the current edited item. - - - - - Gets a value indicating whether the current item can extract data values. - - - - - Inserts a new item as a child item of the current instance. - - - - - Inserts a new item as a child item of the current instance. - The insert item will be databound to the specified object. - - - - - - - - - - - - Returns the column editor for the passed column. - - A TreeListEditableColumn object. - The TreeListColumnEditor corresponding to the passed column. - - - - Gets the key value of the item, corresponding to a predefined key name. - The key should be listed in the DataKeyNames collection of the control. - - The name of the field. - The object from the data item which corresponds to the given key. - - - - Gets the key value of the item's parent item, corresponding to a predefined key name. - The key should be listed in the ParentDataKeyNames collection of the control. - - The name of the field. - The object from the data item which corresponds to the given key. - - - - Returns the parent item (if resolved) for the item with the given parent hierarchy index - - the parent hierarchical index of the child item - - - - - Gets the resolved child items of the item - - List of - - - - Returns a flat list of all existing child items (recursively) of the current item. - Items are listed as a result of depth-dirst search. - - - - - Gets or sets a value indicating whether the current item contains the specified keys. - Used to identify a TreeListDataItem by its keys - - - - - Gets a boolean value indicating whether the current item can be expanded. - - - - - Gets a boolean value indicating whether the item is expanded. - - - - - Gets an object of type - representing the nested level and level index of the item. - - - - - Returns a boolean value indicating whether the item is in edit mode. - - - - - Gets or sets a value indicating whether the current item should be edited. - - - - - Gets or sets a value indicating whether a child item should be inserted into the current item. - - - - - Gets the instance that is used to edit values from the - current when the current item is in edit mode - and is set to . - - - - - Gets the instance that is used to insert - a new data item as a child of the current . - - - - - - - - - Gets an integer value indicating the index of the current - item's corresponding record inside the treelist datasource. - - - - - Gets an integer value indicating the index of the current - item in the treelist, regardless of the items hierarchy. - - - - - Gets or sets a boolean value indicating whether the item is selected. - - - - - Gets a reference to the TreeListDetailTemplate item corresponding to the current item. - - - - - Returns the parent item (if resolved) of the current item. This property is readonly. - - - - - Returns a collection of the visible child items of the current item. This property is readonly. - - - - - Represents the insert items in . - - - - - Represents an insert item when is set to . - - - - - - - - - - - - - Gets the parent instance for which this edit form item is created. - - - - - Gets a value indicating whether the current item is inserted at the root level. - - - - - An indexator used to get the TableCell corresponding to a column using its UniqueName. - - A string representing the column UniqueName. - The TableCell corresponding to the column which unique name was passed. - - - - Gets a boolean value indicating whether the item is in edit mode. - - - - - Gets or sets a boolean value indicating whether the item should be put in edit mode. - - - - - Represents the edit form in . - - - - - Gets the ID that is given to the UserControl edit form when the - EditFormType property is set to WebUserControl. - - - - - - - - - Extracts the edit values from the edit form item and populates them into a passed IDictionary object - - An IDictionary object that will be populated with the extracted values. - - - - Sets up the style of the cell containing the edit controls. - - - - - Gets a boolean value indicating whether the current item is in edit mode. - - - - - Gets or sets a value indicating whether the parent - should be in edit mode. - - - - - Gets the cell in which the edit form will be instantiated during databinding. - - - - - Gets the parent instance for which this edit form item is created. - - - - - Gets a value indicating whether values can automatically be extracted from the edit form item. - - - - - Represents the edit form in . - - - - - Gets a value indicating whether the current item is inserted at the root level. - - - - - Gets or sets a value indicating whether the parent RadTreeList should be in insert mode. - - - - - Represents the header item of the . - - - - - Gets the location for the TreeListHeaderItem object in the Table control - created by . - - - - - - - - - An enumeration listing all possible types of items in . - - - - - - - - - - - - - - - - - Represents the item shown in when its assigned datasource has no records. - - - - - Initializes the TreeListNoRecordsItem. - - - - - Gets a reference to the TableCell that holds the no records item content. - - - - - - - - - - - - - Formats the text depending on PagerButtonType. Text for LinkButton is wrapped with span tag. - - Value from PagerButtonType enum. - Text to be formatted. - Returns string representing content of button. - - - - Ensures button Enabled property. If button command argumetn is same as current page, button - will be disabled. - - Button instance to be validated. - Command argument for the button. - Returns same button with Enabled property set. - - - - Creates button control from one of the following type: LinkButton, PushButton, ImageButton - or HyperLink if AllowSEOPaging is set to "true". Button Enabled state will be validated - depending on current page index. - - PagerButtonType enumerator - Text shown as content the button control - Tooltip of the button - Command that button triggers - Command argument which will be passed along with CommandName - CssClass that will be applied on the button - Returns button control of type: LinkButton, PushButton, ImageButton - or HyperLink if SEO paging. - - - - Create button control for one of the following types: LinkButton, PushButton, ImageButton - - - - - Method for creating "Previous" button. - - - - - Method for creating "Next" button. - - - - - Method for creating "First" button. - - - - - Method for creating "Last" button. - - - - - Method for creating all numeric pager buttons. - - - - - Represents the pager item in . - - - - - Initializes the TreeListPagerItem. - - - - - - Creates copy of button used for the pager in RadTreeList control. - - - must be on of the following: - FirstPageCommandArgument, - NextPageCommandArgument, - PrevPageCommandArgument, - LastPageCommandArgument - - - GetButtonForArgument(RadTreeList.FirstPageCommandArgument) - - - - - - Returns a value of type TableRowSection indicating where the pager item row is placed in the - Table control rendered by RadTreeList. - - - - - Gets a reference to the TableCell that holds the pager item content. - - - - - Gets a reference to the TreeListPagingManager object for the current RadTreeList object. - - - - - Gets a boolean value indicating whether the pager item is placed on top or bottom of the - rendered treelist control. - - - - - Gets a reference to the numeric pager Control object. - - - - - The mode of the pager defines what buttons will be displayed and how the pager - will navigate through the pages. - - - - The treelist Pager will display only the Previous and Next link buttons. - - - The treelist Pager will display only the page numbers as link buttons. - - - - The treelist Pager will display the Previous button, page numbers, - the Next button, the PageSize dropdown and information about the items and pages count. - - - - - The treelist Pager will display the Previous button, then the page numbers and then - the Next button. On the next Pager row, the Pager will display text boxes for - navigating to a specific page and setting the Page size (number of items per - page). - - - - - The treelist Pager will display text boxes for navigating to a specific page and - setting the Page size (number of items per page). - - - - - The grid Pager will display a slider for very fast and AJAX-based navigation - through grid pages. - - - - This enumeration defines the possible positions of the pager item - - - - The Pager item will be displayed on the bottom of the treelist. (Default - value) - - - - The Pager item will be displayed on the top of the treelist. - - - - The Pager item will be displayed both on the bottom and on the top of the - treelist. - - - - - RadTreeList use instance of this class to set style of thir PagerItem-s when rendering - - - - - Summary description for TreeListTableItemStyle. - - - - - Returns 'True' if none of the properties have been set - - - - - Copies the style settings from a passed Style object. Before it is used for type specific settings - a cast to TreeListPagerStyle is attempted. - - A Style object containing the style settings which should be applied to the pager. - - - - Merges the current style settings with those of a passed Style object. Before it is used for type specific settings - a cast to TreeListPagerStyle is attempted. - - A Style object containing the style settings which should be merged with those of the pager. - - - - Resets all style settings in the pager item. - - - - - Gets a reference to the owner RadTreeList object. - - - - Returns true if none of the properties have been set. - - Gets a value indicating whether the default pager will be used, i.e. no - customizations have been made. - - - - - Gets a value indicating whether the pager is displayed on the bottom of the - treelist. - - - Returns true if the pager will be displayed on the bottom of the - treelist. Otherwise false. - - - - - Gets a value indicating whether the pager is displayed on the top of the - treelist. - - - Returns true if the pager will be displayed on the top of the - treelist. Otherwise false. - - - - - Gets or sets the mode of Telerik RadTreeList Pager. The mode defines what the pager - will contain. This property accepts as values only members of the RadTreeListPagerMode Enumeration. - - - Returns the pager mode as one of the values of the RadTreeListPagerMode Enumeration. - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'next' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'last' page button - - - - - ToolTip that would appear if Mode is PrevNext for 'prev' page button - - - - - The ToolTip that will be applied to the GoToPage control. - - - - - The ToolTip that will be applied to the GoToPage input element. - - - - - The ToolTip that will be applied to the ChangePageSize control. - - - - - The ToolTip that will be applied to the ChangePageSize control. - - - - - The summary attribute that will be applied to the table which holds the ChangePageSize control. - - - - - The ToolTip that will be applied to the input element in the ChangePageSize control. - - - - - Gets or sets the number of buttons that would be rendered if pager Mode is - - - - returns the number of button that will be displayed. The default value is 10 - buttons. - - - By default 10 buttons will be displayed. If the number of treelist pages is greater - than 10, ellipsis will be displayed. - - - - - Gets or sets the Position of pager item(s).Accepts only values, members of the - RadTreeListPagerPosition Enumeration. - - - Returns the Pager position as a value, member of the RadTreeListPagerPosition Enumeration. - - - - - In order to display the TreeList pager regardless of the number of records returned - and the page size, you should set this property to - true. Its default value is false. - - - Gets or set a value indicating whether the Pager will be visible regardless of - the number of items. (See the remarks) - - - true, if pager will be displayed, regardless of the number of - TreeList items, othewise false. By fefault it is - false. - - - - - ToolTip that would appear if Mode is Slider for 'Increase' button. - - - - - ToolTip that would appear if Mode is Slider for 'Decrease' button. - - - - - ToolTip that would appear if Mode is Slider for 'Drag' button. - - - - - Text that will appear if Mode is Slider for current page. - - - - - Text that will appear before the dropdown for changing the page size. - - - - - Text for the 'Change' button when Mode is Advanced. - - - - - Text for the 'Go' button when Mode is Advanced. - - - - - Text that will appear before current page number when Mode is Advanced. - - - - - Text that will appear after the current page number and before count of all pages when Mode is Advanced. - - - - - Gets or sets the type of the page size drop down control. - - - - - Represents the template item rendered under each - when a DetailTemplate is declared for - - - - - - - - - Gets or sets the original data source object that the current treelist item is bound to. - - - - - Gets a reference to the TreeListDataItem for which the detail item is rendered. - - - - - Gets a reference to the TableCell which holds the template item content. - - - - - The arguments passed when - fires the CreateCustomColumn event. - - - - - Gets a reference to the custom column that is being created. - - - - - Returns a string indicating the type of the custom column. - - - - - is a data visualization control used for hierarchical representation of self-referencing data. - - - RadTreeList is a data visualization control used for hierarchical representation of self-referencing data. - - - - - Creates a default - object used - by the data-bound control if no arguments are specified. - - - A - initialized to - . - - - - There was a problem extracting - DataKeyValues from the DataSource. Please ensure that DataKeyNames - are specified correctly and all fields specified exist in the - DataSource. - - - container is null. - - -or- - propName is null or an empty string (""). - - - The object in container does not have the property specified by propName. - - - - - Saves any control state changes that have - occurred since the time the page was posted back to the server. - - - Returns the 's current state. If there is - no state associated with the control, this method returns null. - - - - - Restores control-state information from a previous page request that - was saved by the - method. - - An that - represents the control state to be restored. - - - - - - - - - Handles the event. - - An object that contains the event data. - - - - Handles the event. - - An object that - contains event data. - - - - Raises event - - - - - - Raises event - - - - - You should not call - DataBind in event handler. DataBind would take place - automatically right after handler finishes execution. - - - - - Forces RadTreeList to rebind to its assigned datasource. - - - - - Perform asynchronous update operation, using the control API and the - Rebind method. Please, make sure you have specified the correct - DataKeyNames for the . When the - asynchronous operation calls back, will fire - event. - - - - - Perform asynchronous update operation, using the - control API. Please make sure you have specified the correct - DataKeyNames for the - . When the asynchronous operation calls - back, will fire - event. The boolean - property defines if will after - the update. - - editedItem is - null. - - - - Performs asynchronous insert operation, using the API, then - Rebinds. When the asynchronous operation calls back, will fire - event. - - Insert item is available only when RadTreeList is in insert mode. - - - - Performs asynchronous insert operation, using the API, then - Rebinds. When the asynchronous operation calls back, will fire - event. - - insertItem is null. - - - - Perform asynchronous delete operation, using the - API the Rebinds the grid. Please - make sure you have specified the correct - for the - . When the asynchronous operation calls - back, will fire - event. - - - - - Perform delete operation, using the - API. Please make sure you have specified the correct - for the . - - - - - The passed object (like for example) will be filled with the - names/values of the corresponding 's bound values and data-key values if included. - - dataItem is null. - newValues is null. - - - - Raises the event. - - - - - - Raises the event. - - - - - - Raises the event. - - - - - - Raises the TreeList event - - - - - - Raises the TreeList event - - - - - - Raises the event - - - - - Inserts a new root level item. - - - - - Inserts a new root level item. The insert form will be - databound to the specified data item object. - - - - - Inserts a new item as a child item of the specified instance. - - - The instance for which a child item is to be inserted. - - - - - Inserts a new item as a child item of the specified instance. - The insert item will be databound to the specified object. - - - The instance for which a child item is to be inserted. - - - The object that will be passed as data context to the insert item. - - - - - Recursively selects or deselects all child items of a RadTreeList item specified by its hierarchical index. - Updates the selected state of all the parent items of the specified item to reflect the recursive selection. - - The RadTreeListDataItem instance - The selected state of the item - - - - Recursively selects or deselects all child items of a RadTreeList item specified by its hierarchical index. - Updates the selected state of all the parent items of the specified item to reflect the recursive selection. - - The hierarchical index of a RadTreeListDataItem - The selected state of the item - - - - Select or deselect all child items in all levels - - - - - Select or deselect parent items in all levels - - - - - Sets the Selected property of a tree list item if the item exists. If not, only - adds to or removes the item index from the SelectedIndexes collection - - - - - Selects all RadTreeList items - - - - - Deselects all RadTreeList items - - - - - Gets a value indicating whether all items are selected in RadTreeList. When recursive - selection is enabled, returns true if all items in all levels are selected. If recursive - selection is disabled, returns true if items in the current visible page are selected. - Otherwise returns false. - - - - - - Expands all items. - - - - - Collapses all items. - - - - - Exports RadTreeList content to PDF format - - - - - Exports RadTreeList content to Excel format - - - - - Expands all RadTreeList items to the specified level. - - The nested level to expand to - - - - Expands the specified TreeListDataItem to the specified level. - - The TreeListDataItem to expand - The nested level to expand to - - - - Swaps columns appearance position using the unique names of the two - columns. - - first column unique name - second column unique name - - - - Swaps the position of the two columns. - - SwapColumns Method - first column - second column - - - Swaps columns appearance position using order indexes of the two columns. - SwapColumns Method - first column order index - second column order index - - - - Reorder columns appearance position using the unique names of the two - columns. - - first column unique name - second column unique name - - - - Reorders the position of the two columns. - - ReorderColumns Method - first column - second column - - - Reorders columns appearance position using order indexes of the two columns. - ReorderColumns Method - first column order index - second column order index - - - - Returns a based on its . - Throws ArgumentException if the specified column is not found. - - - - - Returns a based on its . - Return null if the specified column is not found. - - - - - Returns a collection of objects based on their - . - - - A s collection of objects based on their - . - - - The , which will be used as a criteria for - the collection. - - - - - Removes all selected items that belong to instance. - - - - - Raises event - - - - - - Raises event - - - - - - Raises event - - - - - - Gets or sets a string value representing the name of the skin applied to the control - - - - - Stores a custom PageSize value if such is set when page mode is NextPrevAndNumeric - - - - - Returns a collection of all TreeListColumns which will be rendered in the control, including auto-generated ones - - - - - Get an array of automatically generated columns. This array is available when - is set to true. - - An array of automatically generated columns. - - - - Gets or sets the ItemTemplate, which is rendered with each tree list item. - - - - - - - - - - - - - Raised when the is about to be bound and the data source must be assigned. - - - - - Raised when the TreeList item is about to be bound. - - - - - Enables recursive delete. - - - - - Occurs when a new item has been selected in the - control or the currently selected item has changed. - - - - - Occurs when a delete operation is requested, after the - control deletes the item. - - - - - Occurs when an insert operation is requested, after the - control has inserted the item in the data source. - - - - - Occurs when the Update command is fired from any - - - - - Triggered when the export output is about to be sent to the file. - - - - - Raised before the HTML code is parsed to PDF binary - - - - - Occurs when a RadTreeList item is dragged and dropped on another item or an HTML element - - - - - Occurs when column's order in the columns collection is changed - - - - - Gets or sets an array of data-field names that will be used to - populate the - collection, when the - control is databinding. This collection can later be accessed on the client, - to get the key value(s). - - - - - Gets a collection of ClientDataKeyName objects that represent the parent data key value of the corresponding item specified with its item index and the client data key name (case-sensitive!). The key name should be one of the specified in the ClientDataKeyNames array. - - - - - Gets or sets an array of data-field names that will be used to - populate the - collection, when the - control is databinding. - - - - - Gets a collection of DataKeyValue objects that represent the data key value of the corresponding item specified with its item index and the data key name (case-sensitive!). The data key name should be one of the specified in the DataKeyNames array. - - - - - Gets or sets an array of data-field names that will be used to - populate the - collection, when the - control is databinding. - - - - - Gets a collection of ParentDataKeyValue objects that represent the parent data key value of the corresponding item specified with its item index and the parent data key name (case-sensitive!). The key name should be one of the specified in the ParentDataKeyNames array. - - - - - Gets a reference to the - object that allows - you to set the properties of the client-side behavior and - appearance in a Telerik control. - - - - - Returns a reference to the object that contains export-specific settings. - - - - - Gets or sets a value indicating the index of the currently active page in case - paging is enabled ( is - true). - - The index of the currently active page in case paging is enabled. - AllowPaging Property - value is out of range. - - - - Specify the maximum number of items that would appear in a page, - when paging is enabled by property. - Default value is 10. - - value is out of range. - - - - Gets or sets a value indicating the width of the RadTreeList's ExpandCollapse column. - - - - - Enables TreeListItem's child items to be loaded on demand. - - - - - Enables TreeListItem's child items to be loaded on demand. - - - - - Gets or sets a value indicating whether the automatic paging feature is - enabled. - - - - - Gets the number of pages required to display the records of the data - source in a control. - - - - - Gets a collection containing the indexes of all rendered items which are currently expanded. - - - - - - - - - Gets a collection containing the indexes of all the selected items in the RadTreeList. - - - - Gets a collection of the currently selected - RadTreeListDataItem - Returns a of all - selected data items. - - - - Gets a collection containing the indexes of all items which are currently in edit mode. - - - - - Gets a collection of currently edited instances. - - - - - Gets a collection containing the indexes of all items which are currently being inserted. - - - - - Gets a collection of currently inserted instances. - - - - - Gets or sets a value indicating whether a root item is inserted in . - Setting this property to true will show the root insert item if not already shown. - - - - - Gets or sets a value indicating whether you will be able to select multiple items in Telerik RadTreeList. - By default this property is set to false. - - - - - Gets or sets a value indicating whether multiple items can be simultaneously edited in . - Default value is false. - - - - - Gets a collection of sort expressions for - - - - - - Gets a reference to the object that - allows you to set the properties of the sorting operation in a - Telerik RadTreeList control. - - - - - - Gets or sets the value indicating wheather more than one column can be sorted in a - single RadTreeList. The order is the same as the sequence of - expressions in . - - - - - Gets or sets the value indicated whether the no-sort state when changing sort - order will be allowed. - - - true, if the no-sort state when changing sort order will be - allowed; otherwise, false. The default value is - true. - - - - - Allow RadTreeList equal items not to be reordered when sorting. - Enables sorting result consistancy between 3.5, 4.0, 4.5 Framework - - - - - Gets or sets a value indicating whether the sorting feature is enabled. - - - - - Gets or sets a value indicating whether child items will be selected recursively when a RadTreeList item is selected. - Setting this property to true automatically enables MultiItemSelection in RadTreeList. Default value is false. - - - - - Gets or sets the editing mode for RadTreeList. - - - - - Contains various data editing related properties. - - - - - Contains validation settings for . - - - - - Enable/Disable auto genrated columns - - - - - Gets a TreeListColumnCollection of all columns in RadTreeList. - - - - - Gets a collection of all TreeListDataItem objects in the RadTreeList. These are only the items currently visible in the control. - - - - - Gets a reference to the TreeListPagerStyle object that allows you to - set the appearance of the pager item in a Telerik RadTreeList control. - - - - - Gets a reference to the object that allows - you to set the appearance of the header item in a Telerik RadTreeList - control. - - - - - Gets a reference to the object that allows - you to set the appearance of a normal item in a Telerik RadTreeList - control. - - - - - Gets a reference to the object that allows - you to set the appearance of the alternating items in a Telerik RadTreeList - control. - - - - - Gets a reference to the object that allows - you to set the appearance of the footer item in a Telerik RadTreeList - control. - - - - - Gets a reference to the object that allows - you to set the appearance of the selected item in a Telerik RadTreeList - control. - - - - - Gets a reference to the object that allows - you to set the appearance of the edit item in a Telerik RadTreeList - control. - - - - - Gets or sets a string that specifies a brief description of a - RadTreeList. - Related to Telerik RadTreeList accessibility compliance. - - - - Gets or sets the 'summary' attribute for the - RadTreeList. - - - This attribute provides a summary of the table's purpose and structure for user - agents rendering to non-visual media such as speech and Braille. This property is a - part of Telerik RadTreeList accessibility features. - - Caption Property - - - - Gets or sets a value indicating where RadTreeList will look for its .resx localization file. - By default this file should be in the App_GlobalResources folder. However, if you cannot put - the resource file in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource file. - - - A relative path to the dialogs location. For example: "~/controls/RadTreeListResources/". - - - If specified, the LocalizationPath - property will allow you to load the grid localization file from any location in the web application. - - - - - Gets or sets a value of type CultureInfo representing the current culture of the control. - - - - - Gets or sets the text direction. This property is related to Telerik RadTreeList support - for Right-To-Left lanugages. It has two possible vales defined by - enumeration: - - LTR - left-to-right text - RTL - right-to-left text - - - - - Gets or sets value indicating whether the control will show outer borders. The default value is true. - - - - - Gets or sets value indicating whether the control will show outer tree lines. The default value is true. - - - - - Gets or sets value indicating whether borders will be displayed when the RadTreeList is rendered. - - - - - Gets or set a value indicating whether the footer item of the TreeList will be - shown. - - - Setting this property will affect all TreeList tables, unless they specify otherwise - explicitly. - - The default value of this property is false. - - - - Gets or sets the custom content for the pager item in a RadTreeList control. - - - - - Template that will be displayed if there are no records in the DataSource assigned - - - - - Gets or sets a value indicating whether RadTreeList will show - NoRecordsTemplate if there is no items to display. - - - true if NoRecordsTemplate usage is enabled; - otherwise, false. The default value is true. - - - - - Gets or sets the text that will be displayed in there is no - NoRecordsTemplate defined and no records in the - RadTreeList. - - - - - When set to true enables support for WAI-ARIA - - - - - Raised when a button in a control is clicked. - - - - Fires when a paging action has been performed. - - - Fires when has been changed. - - - - Raised when a auto generated column is created. - - - - - Raised when a custom column is recreated on postback. - - - - - An enumeration representing the three edit modes in RadTreeList: InPlace, EditForms and PopUp. - - - - - RadTreeList will display the column editors inline. - - - - - RadTreeList will display the grid column editors in auto-generated - edit form below the edited item. - - - - - RadTreeList will display a floating, movable popup window for editing. - - - - - The arguments passed when - fires the AutoGeneratedColumnCreated event. - - - - - Gets the - which has been created when the event fired. - - - - - Represents the client events of . - Allows setting the names of client-side functions which will be called - when the given events are raised on the client. - - - - - Gets or sets the name of a client-side function that will be fired - when the RadTreeList client component is initializing - - - - - Gets or sets the name of a client-side function that will be fired - when the RadTreeList client component is fully initialized - - - - - Gets or sets the name of a client-side function that will be fired - when the RadTreeList client component is about to be disposed. - - - - - Gets or sets the name of a client-side function that will be fired - when each of the RadTreeListDataItem client components is created. - - - - - Gets or sets the name of a client-side function that will be fired - when a RadTreeListDataItem is about to be selected on the client. This event can be canceled. - - - - - Gets or sets the name of a client-side function that will be fired - when a RadTreeListDataItem is selected on the client. - - - - - Gets or sets the name of a client-side function that will be fired - when a RadTreeListDataItem is about to be deselected on the client. This event can be canceled. - - - - - Gets or sets the name of a client-side function that will be fired - when a RadTreeListDataItem is deselected on the client. - - - - - Gets or sets the name of a client-side function that will be fired - when a data row is clicked in RadTreeList. - - - - - Gets or sets the name of a client-side function that will be fired - when a RadTreeList is scrolled. - - - - - Gets or sets the name of a client-side function that will be fired - when a data row is double-clicked in RadTreeList. - - - - - This client-side event is fired when a item is about to be dragged. - - - - - This client-side event is fired when a item is dragged. - - [DefaultValue("")] - - - - This client-side event is fired when a item - is about to be dropped after dragging. This event can be canceled. - - - - - This client-side event is fired when a item - is dropped after dragging. This event cannot be canceled. - - - - - This client-side event is fired when a item - is right clicked to show its context menu. - - - - - This client-side event is fired (only when keyboard navigation is enabled) when any key is pressed - inside the and the control is about to process this key. - - - - This client-side event is fired before a column is resized. - - - This client-side event is fired after a column is resized. - - - This client-side event is fired before a column is shown. - - - This client-side event is fired after a column is shown. - - - This client-side event is fired before a column is hidden. - - - This client-side event is fired after a column is hidden. - - - This client-side event is fired before a column is swapped. - - - This client-side event is fired after a column is swapped. - - - This client-side event is fired before a column is reordered. - - - This client-side event is fired after a column is reordered. - - - - Represents a collection of DateKey objects. - - - - - Gets the enumerator that iterates the collection. - - The enumerator object used to iterate the collection. - - - - Copies the DataKey collection to a given array. - - A reference to DataKey[] object where the entries need to be copied to. - An integer indicating from which index on the entries should be added to the new collection. - - - - Gets an integer value representing the count of entries in the collection. - - - - - - - - - - - Contains event data in an event. - - - - - Gets the collection of dragged items - - - - - Gets the destination instance. Can be null. - - - - - Gets the destination instance. Can be null. - - - - - Gets the client-side ID attribute of the HTML element that is the drop target. - - - - - Gets the collection of parent data key values that will be assigned to the dragged items - when automatic item reordering is enabled. To change the parent-child relations between - the dragged items and the destination item, each item in the DraggedItems collection - will have its parent data key values updated with values in this collection. - - - - - Gets or sets a value indicating whether the event should be canceled. Canceling - an event will prevent automatic item reordering when binding - to data source controls through DataSourceID. - - - - - Gets or sets a value indicating whether the target should - be expanded after an automatic reorder operation. Meaningful when automatic reordering - is enabled in . - - - - - A class representing the settings of the . - - - - - Set properties of the update-cancel buttons column that appears in an edit form - - - - - Number of vertical columns to split all edit fields on the form when it is autogenerated. - Each TreeListEditableColumn has a - to choose the column where the editor would appear. - - - - - Gets or sets the DataField from 's data source that will - be used with the - - - - - Gets or sets the format of the caption text that will be shown on top of edit form - items in . If this property is empty, no caption will be shown. - - - - - Gets or sets the caption text that will be shown on top of insert forms in - . If this property is empty, no caption will be shown. - - - - - Specifies the type of the edit form. - - - - - Specifies the path to the that will be instantiated - as the edit form in , if RadTreeList.EditFormType is - set to TreeListEditFormType.WebUserControl. The path should be in the same - format as provided to the Page.LoadControl method. - - - - - The summary attribute for the table that wraps the whole . - - - - - The caption for the table that wraps the whole . - - - - - The summary attribute for the table which holds all cells created from the grid column editors . - - - - - The caption for the table which holds all cells created from the grid column editors . - - - - - Specifies the template that will be instantiated as the edit form in , - if RadTreeList.EditFormType is set to TreeListEditFormType.Template. - - - - - Style of the edit form container in . - - - - - Style of the edit form's main table. - - - - - Style of the edit form's table element in - - - - - Style of the edit form table row that shows the caption. - - - - - Style of the edit form table rows. - - - - - Style of the alternating rows in the edit form table. - - - - - Style of the edit form table's footer row, where the Update/Insert/Cancel buttons appear. - - - - - Gets a reference to class providing properties - related to PopUp EditForm. - - - - - Enumerates the supported edit form types in . - - - - - Form is auto-generated based on the editable columns. - - - - - The edit form is a WebUserControl specified by - - - - - The edit form is instantiated from a template specified by . - - - - - Represents the settings of the PopUp edit form in RadTreeList. - - - - - Gets or sets the visibility and position of scroll bars in the PopUp edit form of RadTreeList. - - - - - Gets or sets a boolean value indicating whether the PopUp edit form will be modal. - - - - - Gets or sets an integer value indicating the z-index assigned to the PopUp edit form. - - - - - Gets or sets a value specifying the grid height in pixels (px). - - the default value is 300px - - - - Gets or sets a value specifying the grid height in pixels (px). - - the default value is 400px - - - - Gets or sets the tooltip that will be displayed when you hover the - close button of the popup edit form. - - - - - Gets or sets a value indicating whether the caption text is shown in the edit form. - - - - - An enumeration listing the options for showing grid lines in . - - - - - Represents the position of an item in the RadTreeList hierarchy. - - - - - Checks whether two objects of type TreeListHierarchyIndex are equal. - - A TreeListHierarchyIndex object to check for equality. - A boolean value indicating whether the two indexes are equal. - - - - Checks whether a passed object is equal to the current one. - - An object to compare the current one to. - A boolean value indicating whether the two objects are equal. - - - - Serves as a hash function for the TreeListHierarchyIndex type. - - An integer value representing the hash for the current object. - - - - Gets an integer value indicating on which level of the treelist hierarchy is the current item. - - - - - Gets an integer value indicating the position of the item in the nested level. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a helper type exposing information about paging in . - - - - - Gets an integer value which indicates the total number of items in the resolved datasource of the control. - - - - - Gets an integer value which indicates the number of items in the current page. - - - - - Gets an integer value which indicates the current page index of the RadTreeList control. - - - - - Gets an integer value which indicates the page size of the RadTreeList control. - - - - - Gets a boolean value which indicates whether paging is allowed in the RadTreeList control. - - - - - Gets an integer value indicating the index of the current page's first item in the resolved datasource. - - - - - Gets a boolean value indicating whether the RadTreeList control is currently displaying its first page of items. - - - - - Gets a boolean value indicating whether the RadTreeList control is currently displaying its last page. - - - - - Gets an integer value indicating the index of the current page's last item in the resolved datasource. - - - - - Gets an integer value indicating the number of pages in the current RadTreeList instance. - - - - - Gets a boolean value indicating whether paging is enabled in the current RadTreeList instance. - - - - - PDF export settings - - - - - - - - - - - - - - - - - Returns the paper dimensions by given PaperKind value - - PaperKind value - - PaperFormat.xml resource is based on the PaperKind enumeration. - - - - - - - - Returns Unit object representing the page width - - PdfPagerSize value - Page width. - - - - Returns Unit object representing the page height - - PdfPagerSize value - Page height. - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - PDF export item style - - - - - PDF export alternating item style - - - - - PDF export header style - - - - - PDF export expand/collapse cell style - - - - - This will swap the values of the PageWidth and PageHeight properties. - - - - - PDF paper size. Can be overriden by setting PageWidth and PageHeight explicitly. - - - - - Determines the default font - - - - - Top page margin size - - - - - Bottom page margin size - - - - - Left page margin size - - - - - Right page margin size - - - - - Page header margin size - - - - - Page footer margin size - - - - - Page title contents will be displayed in the page header - - - - - Setting a value for this property will enable password protection - - - - - Determines whether to embed, link or subset the fonts, used in the PDF document - - - - - Determines the page width of the exported PDF file. Will override the PaperSize property, if used - - - - - Determines the page height of the exported PDF file. Will override the PaperSize property, if used - - - - - Allow adding new content to the PDF file - - - - - Allow copying PDF content to the clipboard - - - - - Allow printing the contents of the PDF document - - - - - Allow modifying the PDF contents - - - - - Document creator - - - - - Document producer - - - - - Document author - - - - - Document title - - - - - Document subject - - - - - PDF document keywords - - - - - An enumeration listing the possible reasons for rebinding . - Used in the event arguments of the NeedDataSource event. - - - - - Contains settings for TreeList resizing. - - - - - Gets or sets a value indicating whether column reodering is allowed. - - ReorderColumnsOnClient Property - - true if reorder via drag&drop is enabled, otherwise - false (the default value). - - - - - Gets or sets a value indicating whether columns will be reordered on the client. - This property is meaningful when used in conjunction with - set to true. - - - False by default, which means that each time you try to reorder columns a - postback will be performed. - Note that in case this property is true the order changes will be persisted - on the server only after postback. - - - true if columns are reordered on the client, otherwise - false (the default value). - - - - - Gets or sets a value indicating the method that will be used when reordering columns: Swap or Reorder - - - The default is Swap. - - - - - An enumeration listing the possible methods for reordering columns. - - - - - Contains settings for TreeList resizing. - - - - - This property is set to allow column resizing in TreeList - - - - - This property is set to enable realtime resizing. - - - - - This property sets the different resize modes of RadTreeList. Set one of the values of the enumeration TreeListResizeMode - The default is NoScroll. - - - - - An enumeration representing the possible resize modes in . - - - - - Contains properties related to customizing the settings for scrolling operation - in Telerik RadTreeList. - - - - - Gets or sets a value indicating whether scrolling will be enabled in - Telerik RadTreeList. - - true, if scrolling is enabled, otherwise false (the default value). - - - - Gets or sets a value specifying the RadTreeList height in pixels (px) beyond which the - scrolling will be enabled. - - the default value is 300px - - - - Gets or sets a value indicating whether Telerik RadTreeList will keep the - scroll position during postbacks. - - - This property is meaningful only when used in conjunction with - set to true. - - - true (the default value), if Telerik RadTreeList keeps - the scroll position on postback, otherwise false . - - - - - Gets or sets a value indicating whether RadTreeList column headers will scroll as the - rest of the RadTreeList items or will remain static (MS Excel ? style). - - - true if headers remain static on scroll, otherwise - false (the default value). - - - This property is meaningful only when used in conjunction with - set to true. - - - - - Gets or sets a string value representing the vertical position of the scroll bar. - - - - - Gets or sets a string value representing the horizontal position of the scroll bar. - - - - - Provides properties related to setting the client-side selection in - Telerik RadTreeList. - - - You can get a reference to this class using - property. - - - - - Gets or sets a value indicating whether you will be able to select a treelist row on - the client by clicking on it with the mouse. - - - true, if you will be able to select a row on the client, otherwise false (the - default value). - - - - - Gets or sets a boolean value indicating whether selection will be - performed only using the . - - - - - Gets or sets a value indicating whether clicking an item in RadTreeList will - toggle the item's selected state. - - - true, if you will be able to select a row on the client, otherwise false (the - default value). - - - - Enumeration representing the order of sorting data in RadTreeList - - - do not sort the treeList data - - - sorts treeList data in ascending order - - - sorts treeList data in descending order - - - - Class that is used to define sort field and sort order for RadTreeList - - - - - - - - - - - - - - - - - Sets the sort order. - The SortOrder paremeter should be either "Ascending", "Descending" or "None". - - ArgumentException. - - - - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - Returns a enumeration based on the string input. Takes either "ASC" - or "DESC" - - - - - Parses a string representation of the sort order and returns RadTreeListSortExpression. - - - - Gets or sets the name of the field to which sorting is applied. - - - Sets or gets the current sorting order. - - - - A collection of objects. Depending on the value of - it holds single - or multiple sort expressions. - - - - - - - - - - - - - - - - - Returns an enumerator that iterates through the - RadTreeListSortExpressionCollection. - - - - Adds a to the collection. - - - Clears the RadTreeListSortExpressionCollection of all items. - - - - - - - - Find a SortExpression in the collection if it contains any with sort field = expression - - sort field - - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - String containing sort field and optionaly sort order (ASC or DESC) - - - - Adds a to the collection at the specified - index. - - - As a convenience feature, adding at an index greater than zero will set the - to true. - - - - Removes the specified from the collection. - - - - Returns true or false depending on whether the specified sorting expression exists - in the collection. Takes a parameter. - - - - - Returns true or false depending on whether the specified sorting expression - exists in the collection. Takes a string parameter. - - - - - Adds the sort field (expression parameter) if the collection does not alreqady contain the field. Else the sort order of the field will be inverted. The default change order is - Asc -> Desc -> No Sort. The No-Sort state can be controlled using property - - - - - - Get a comma separated list of sort fields and sort-order, in the same format used by - DataView.Sort string expression. Returns null (Nothing) if there are no sort expressions in the collection - - Comma separated list of sort fields and optionaly sort-order, null if there are no sort expressions in the collection - - - - Searches for the specified - and - returns the zero-based index of the first occurrence within the entire - . - - - - - If false, the collection can contain only one sort expression at a time. - Trying to add a new one in this case will delete the existing expression - or will change the sort order if its FiledName is the same. - - - - This is the default indexer of the collection - takes an integer value. - - - - Allow the no-sort state when changing sort order. - - - - Returns the number of items in the RadTreeListSortExpressionCollection. - - - - Gets a value indicating whether access to the RadTreeListSortExpressionCollection is - synchronized (thread safe). - - - - - - - - - - -
Gets an object that can be used to synchronize access to the - RadTreeListSortExpressionCollection.
-
-
- - - - - - - Enumeration holding the possible values for the Dir property, - namely LTR (left-to-right) and RTL (right-to-left). - - - - - Represents the table cells in . - - - - - Represents the cells in the header. - - - - - Represents the settings for client features in . - - - - - Gets a reference to class providing properties - related to client-side selection features. - - - - Gets a reference to class. - - - - Gets or sets a value indicating whether should postback on row click. - - - - - Gets a reference to , which holds various - properties for setting the Telerik RadTreeList scrolling features. - - - - - - - - - Gets or sets a value indicating whether the items can be dragged and dropped - - - - - Gets or sets a value indicating whether the keyboard navigation will be enabled - in Telerik RadTreeList. - - - true, if keyboard navigation is enabled, otherwise false (the default - value). - - -
    -
  • Arrowkey Navigation - allows end-users to navigate around - the menu structure using the arrow keys.
  • -
  • select TreeList items pressing the [SPACE] key
  • -
  • edit rows hitting the [ENTER] key
  • -
-
-
- - - Gets a reference to class, holding properties - related to TreeList keyboard navigation. - - - - - Gets a reference to class providing properties - related to client-side resizing features. - - - - - Gets a reference to class providing properties - related to client-side reordering features. - - - - - Gets a reference to class, holding properties - that can be used for localizing Telerik RadTreeList. - - - - - Gets or sets the index of the active when keyboard navigation is enabled - - - - - - - - - - - - - - - - - - - - InvalidOperationException. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns last created LevelIndex for given NestedLevel - - - - - Generates unqiue LevelIndex for current NestedLevel. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents the settings for sorting . - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and there is no sorting applied. - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and the column is sorted ascending. - - - - - Gets or sets the tooltip that will be displayed when you hover the sorting button - and the column is sorted descending. - - - - - Contains validation settings for - - - - - Gets or sets a value indicating whether validation is enabled for . - - - - - Gets or sets the ValidationGroup of the buttons in . - - - - - Gets or sets the set of command names that will be validated. - By default, the "PerformInsert" and "Update" commands are validated. - - - - - Defines properties that node containers (RadTreeView, - RadTreeNode) should implement. - - - - Gets the parent IRadTreeNodeContainer. - - - Gets the collection of child items. - - A RadTreeNodeCollection that represents the child - items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - - - - - - Telerik RadTreeView for ASP.NET AJAX is the supercharged treeview - component for ASP.NET, combining highly-efficient rendering and AJAX Load on Demand - support for superior performance. Added to this are SEO compliance, - full drag-and-drop capabilities, and nearly codeless development experience. - - - This Class describes the client Properties and Events in control. - - A hierarchical control used to display a tree of nodes in a web page. - - - The RadTreeView control is used to display a list of nodes in a Web Forms - page. The RadTreeView control supports the following features: - - - - Danodeinding that allows the control to be populated from various - datasources. - - - Programmatic access to the RadTreeView object model - which allows dynamic creation of treeviews, populating with nodes and customizing the behavior - by various properties. - - - Customizable appearance through built-in or user-defined skins. - - -

nodes

- - The RadTreeView control is made up of tree of nodes represented - by objects. Nodes at the top level (level 0) are - called root nodes. An node that has a parent node is called a child node. All root - nodes are stored in the property of the RadTreeView control. Child nodes are - stored in the property of their parent . - - - Each node has a and a property. - The value of the property is displayed in the RadTreeView control, - while the property is used to store any additional data about the node, - such as data passed to the postback event associated with the node. When clicked, a node can - navigate to another Web page indicated by the property. - -
-
- - - Initializes a new instance of the RadTreeView class. - - - Use this constructor to create and initialize a new instance of the RadTreeView - control. - - - The following example demonstrates how to programmatically create a RadTreeView - control. - - void Page_Load(object sender, EventArgs e) - { - RadTreeView RadTreeView1 = new RadTreeView(); - RadTreeView1.ID = "RadTreeView1"; - - if (!Page.IsPostBack) - { - //RadTreeView persist its nodes in ViewState (if EnableViewState is true). - //Hence nodes should be created only on initial load. - - RadTreeNode sportNode = new RadTreeNode("Sport"); - RadTreeView1.Nodes.Add(sportNode); - - RadTreeNode newsNode = new RadTreeNode("News"); - RadTreeView1.Nodes.Add(newsNode); - } - - PlaceHolder1.Controls.Add(RadTreeView1); - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - Dim RadTreeView1 As RadTreeView = New RadTreeView() - RadTreeView1.ID = "RadTreeView1" - - If Not Page.IsPostBack Then - 'RadTreeView persist its nodes in ViewState (if EnableViewState is true). - 'Hence nodes should be created only on initial load. - - Dim sportNode As RadTreeNode = New RadTreeNode("Sport") - RadTreeView1.Nodes.Add(sportNode) - - Dim newsNode As RadTreeNode = New RadTreeNode("News") - RadTreeView1.Nodes.Add(newsNode) - End If - - PlaceHolder1.Controls.Add(RadTreeView1) - End Sub - - - - - - Gets or sets the template displayed when child nodes are being loaded. - - - The following example demonstrates how to use the LoadingStatusTemplate to display an image. - - <telerik:RadTreeView runat="server" ID="RadTreeView1"> - <LoadingStatusTemplate> - <asp:Image runat="server" ID="Image1" ImageUrl="~/Img/loading.gif" /> - </LoadingStatusTemplate> - </telerik:RadTreeView> - - - - - - Gets a linear list of all nodes in the RadTreeView control. - - An IList<RadTreeNode> containing all nodes (from all hierarchy levels). - - - - Searches all nodes for a RadTreeNode with a Text property - equal to the specified text. - - The text to search for - A RadTreeNode whose Text property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - - - - Searches all nodes for a RadTreeNode with a Text property - equal to the specified text. - - The text to search for - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - A RadTreeNode whose Text property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - - - - Searches all nodes for a RadTreeNode with a Value property - equal to the specified value. - - The value to search for - A RadTreeNode whose Value property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - - - - Searches all nodes for a RadTreeNode with a Value property - equal to the specified value. - - The value to search for - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - A RadTreeNode whose Value property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - - - - Searches all nodes for a RadTreeNode with a NavigateUrl property - equal to the specified URL. - - The URL to search for - A RadTreeNode whose NavigateUrl property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - - The ResolveUrl method is used to resolve NavigateUrl property before comparing it to the specified URL. - - - - - Returns the first RadTreeNode - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindNode method. - - void Page_Load(object sender, EventArgs e) - { - RadTreeView1.FindNode(NodeWithEqualsTextAndValue); - } - private static bool NodeWithEqualsTextAndValue(RadTreeNode node) - { - if (node.Text == node.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadTreeView1.FindNode(NodeWithEqualsTextAndValue) - End Sub - Private Shared Function NodeWithEqualsTextAndValue(ByVal node As RadTreeNode) As Boolean - If node.Text = node.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Loads the control from an XML string. Identical to LoadXml. - - The XML string to populate from. - - - - Populates the control from the specified XML file. - - The name of the XML file. - - - - Searches all nodes for a RadTreeNode which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadTreeNode that matches the specified arguments. Null (Nothing) is returned if no node is found. - - - - - - - - This method unselects all nodes of the current RadTreeView instance. Useful when you need to clear node selection after postback. - - - - - - - - - This method unchecks all nodes of the current RadTreeView instance. Useful when you need to uncheck all nodes after postback. - - - - - Checks all nodes of the current RadTreeView object. - - - - - Expands all nodes in the tree. - - - - - Collapses all nodes in the tree. - - - - - Gets a list of all client-side changes (adding a node, removing a node, changing a node's property) which have occurred. - - - A list of objects which represent all client-side changes the user has performed. - By default the ClientChanges property returns empty list. Client-changes are recorded if and only if the client-side - methods trackChanges()/commitChanges() have been invoked. - - - You can use the ClientChanges property to respond to client-side modifications such as - - adding a new item - removing existing item - clearing the children of an item or the control itself - changing a property of the item - - The ClientChanges property is available in the first postback (ajax) request after the client-side modifications - have taken place. After this moment the property will return empty list. - - - The following example demonstrates how to use the ClientChanges property - - foreach (ClientOperation<RadTreeNode> operation in RadTreeView1.ClientChanges) - { - RadTreeNode node = operation.Item; - - switch (operation.Type) - { - case ClientOperationType.Insert: - //A node has been inserted - operation.Item contains the inserted node - break; - case ClientOperationType.Remove: - //A node has been inserted - operation.Item contains the removed node. - //Keep in mind the node has been removed from the treeview. - break; - case ClientOperationType.Update: - UpdateClientOperation<RadTreeNode> update = operation as UpdateClientOperation<RadTreeNode> - //The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - break; - case ClientOperationType.Clear: - //All children of have been removed - operation.Item contains the parent node whose children have been removed. If operation.Item is null then the root nodes have been removed. - break; - } - } - - - For Each operation As ClientOperation(Of RadTreeNode) In RadTreeView1.ClientChanges - Dim node As RadTreeNode = operation.Item - Select Case operation.Type - Case ClientOperationType.Insert - 'A node has been inserted - operation.Item contains the inserted node - Exit Select - Case ClientOperationType.Remove - 'A node has been inserted - operation.Item contains the removed node. - 'Keep in mind the node has been removed from the treeview. - Exit Select - Case ClientOperationType.Update - Dim update As UpdateClientOperation(Of RadTreeNode) = TryCast(operation, UpdateClientOperation(Of RadTreeNode)) - 'The "UpdateOperation" provides an additional property "PropertyName". This is the property whose value was changed from the client side. - Exit Select - Case ClientOperationType.Clear - 'All children of have been removed - operation.Item contains the parent node whose children have been removed. If operation.Item is Nothing then the root nodes have been removed. - Exist Select - End Select - Next - - - - - - Gets a collection of RadTreeNode objects that represent the nodes in the control - that display a selected check box. - - An IList<RadTreeNode> containing the checked nodes. - - - When check boxes are displayed in the RadTreeView control (by setting the - CheckBoxes property to true), use the CheckedNodes - property to determine which nodes display a selected check box. This collection - is commonly used to iterate through all the nodes that have a selected check - box in the tree. - - - The CheckedNodes collection is populated using a depth-first traversal of the tree - structure: each parent node is processed down to its child nodes before the next - parent node is populated. - - - - Protected Sub ShowCheckedNodes(ByVal sender As Object, ByVal e As System.EventArgs) - Dim message As String = String.Empty - Dim node As RadTreeNode - For Each node In RadTree1.CheckedNodes - message += node.FullPath - Next node - nodes.Text = message - End Sub - - - protected void ShowCheckedNodes(object sender, System.EventArgs e) - { - string message = string.Empty; - foreach (RadTreeNode node in RadTree1.CheckedNodes) - { - message += node.FullPath + "<br/>"; - } - nodes.Text = message; - } - - - - - - Gets the Value of the selected node. - - - The Value of the selected node. If there is no selected node returns empty string. - - - - - Gets a collection of RadTreeNode objects that represent the nodes in the control - that are currently selected. - - An IList<RadTreeNode> containing the selected nodes. - - This collection is commonly used to iterate through all the nodes that have - been selected in the tree. - The SelectedNodes collection is populated using a - depth-first traversal of the tree structure: each parent node is processed down to - its child nodes before the next parent node is populated. - - - - - Gets a RadTreeNode object that represents the selected node in the RadTreeView - control. - - - When a node is in selection mode, the user can select a node by clicking on - the text in the node. Use the SelectedNode property to determine which node is - selected in the TreeView control. - - A node cannot be selected when the TreeView control displays hyperlinks. When - hyperlinks are displayed, the SelectedNode property always returns a null reference - (Nothing in Visual Basic). - - When the user selects a different node in the RadTreeView control by clicking - the text in the new node, the NodeClick event is - raised, by default. If you set the - MultipleSelect property of the treeview to - true, end-users can select multiple nodes by holding the Ctrl / Shift keys - while selecting. - - - - - <radT:RadTreeView - ID="RadTree1" - runat="server" - OnNodeClick="NodeClick" - /> - - Protected Sub NodeClick(ByVal sender As Object, ByVal NodeEventArgs As RadTreeNodeEventArgs) - info.Text = String.Empty - Dim NodeClicked As RadTreeNode = NodeEventArgs.NodeClicked - info.Text = NodeClicked.Text - End Sub - - - <radT:RadTreeView - ID="RadTree1" - runat="server" - OnNodeClick="NodeClick" - /> - - protected void NodeClick(object sender, RadTreeNodeEventArgs NodeEventArgs) - { - info.Text = string.Empty; - RadTreeNode NodeClicked = NodeEventArgs.NodeClicked; - info.Text = NodeClicked.Text; - } - - - - - Gets a value indicating whether the RadTreeView control has no nodes. - - - Gets or sets the template for displaying all node in the current RadTreeView. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - - - - Gets or sets the HTML template of a - when added on the client. - - - - - Gets or sets the loading status template. - - The loading status template. - - - - Gets or sets the loading message that is displayed when child nodes are retrieved - on AJAX calls. - - - This property can be used for localization purposes (e.g. "Loading..." in - different languages). - - - - Protected Sub LoadingMessagePositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) - Select Case LoadingMessagePos.SelectedItem.Value - Case "Before" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BeforeNodeText - RadTree1.LoadingMessage = "(loading ..)" - Case "After" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.AfterNodeText - RadTree1.LoadingMessage = "(loading ...)" - Case "Below" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BelowNodeText - RadTree1.LoadingMessage = "(loading ...)" - Case "None" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.None - End Select - End Sub - - - protected void LoadingMessagePositionChanged(object sender, System.EventArgs e) - { - switch (LoadingMessagePos.SelectedItem.Value) - { - case "Before" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BeforeNodeText; - RadTree1.LoadingMessage = "(loading ..)"; - break; - case "After" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.AfterNodeText; - RadTree1.LoadingMessage = "(loading ...)"; - break; - case "Below" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BelowNodeText; - RadTree1.LoadingMessage = "(loading ...)"; - break; - case "None" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.None; - break; - } - } - - - - - - Gets a object that contains the root nodes of the current RadTreeView control. - - - A that contains the root nodes of the current RadTreeView control. By default - the collection is empty (RadTreeView has no children). - - - Use the nodes property to access the root nodes of the RadTreeView control. You can also use the nodes property to - manage the root nodes - you can add, remove or modify nodes. - - - The following example demonstrates how to programmatically modify the properties of a root node. - - RadTreeView1.Nodes[0].Text = "Example"; - RadTreeView1.Nodes[0].NavigateUrl = "http://www.example.com"; - - - RadTreeView1.Nodes(0).Text = "Example" - RadTreeView1.Nodes(0).NavigateUrl = "http://www.example.com" - - - - - - Gets or sets the position of the loading message when child nodes are retrieved - on AJAX calls. - - - - Protected Sub LoadingMessagePositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) - Select Case LoadingMessagePos.SelectedItem.Value - Case "Before" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BeforeNodeText - RadTree1.LoadingMessage = "(loading ..)" - Case "After" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.AfterNodeText - RadTree1.LoadingMessage = "(loading ...)" - Case "Below" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BelowNodeText - RadTree1.LoadingMessage = "(loading ...)" - Case "None" - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.None - End Select - End Sub - - - protected void LoadingMessagePositionChanged(object sender, System.EventArgs e) - { - switch (LoadingMessagePos.SelectedItem.Value) - { - case "Before" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BeforeNodeText; - RadTree1.LoadingMessage = "(loading ...)"; - break; - case "After" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.AfterNodeText; - RadTree1.LoadingMessage = "(loading ...)"; - break; - case "Below" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.BelowNodeText; - RadTree1.LoadingMessage = "(loading ...)"; - break; - case "None" : - RadTree1.LoadingStatusPosition = TreeViewLoadingStatusPosition.None; - break; - } - } - - - - - - Gets a value indicating whether the text of the tree nodes are edinodele in the - browser. - - - End-users can edit the text of tree-nodes by pressing F2 when the node is - selected or by clicking on a node that is already selected (slow double - click). - - You can disable / enable node editing for specific tree nodes by setting the - AllowEdit property of the specific - RadTreeNode. - - -
- After node editing, RadTreeView fires the NodeEdit - event and you can change the text of the node - the RadTreeNode instance is - contained in the NodeEdited property of the event arguments and the new text is - in the NewText property of the event arguments. -
-
- - - <radT:RadTreeView - ID="RadTree1" - Runat="server" - AllowNodeEditing="True" - OnNodeEdit="HandleNodeEdit" - /> - - Protected Sub HandleNodeEdit(ByVal sender As Object, ByVal NodeEvents As RadTreeNodeEventArgs) - Dim nodeEdited As RadTreeNode = NodeEvents.NodeEdited - Dim newText As String = NodeEvents.NewText - - nodeEdited.Text = newText - End Sub - - - <radT:RadTreeView - ID="RadTree1" - Runat="server" - AllowNodeEditing="True" - OnNodeEdit="HandleNodeEdit" - /> - - protected void HandleNodeEdit(object sender, RadTreeNodeEventArgs NodeEvents) - { - RadTreeNode nodeEdited = NodeEvents.NodeEdited; - string newText = NodeEvents.NewText; - - nodeEdited.Text = newText; - } - - -
- - - Gets a value indicating whether the dotted lines indenting the nodes should be - displayed or not. - - - - - Gets a value indicating whether only the current branch of the treeview is - expanded. - - - The property closes all nodes that are not parents of the last expanded node. - This property is only effective on the client browser - in postback modes you need to - handle the logic yourself. - - - - - When set to true displays a checkbox next to each treenode. - - - - - Gets or sets a value indicating whether checking (unchecking) a node will check (uncheck) its child nodes. - - true if child nodes will be checked (checked) when the user checks (unchecks) their parent node; - otherwise, false. The default value is false - - - - - Gets or sets a value indicating whether RadTreeView should display tri-state checkboxes. - - - true if tri-state checkboxes should be displayed; otherwise, false. The default value is - false. - - - Enabling three state checkbox support requires the property to be set to true. - - - - - When set to true the treeview allows multiple node selection (by holding down ctrl key while selecting nodes) - - - - - When set to true enables drag-and-drop functionality - - - - - When set to true enables drag-and-drop visual clue (underline) between nodes while draggin - - - - - Gets a collection of RadTreeViewContextMenu objects - that represent the context menus of a RadTreeView control. - - A RadTreeViewContextMenuCollection that - contains all the context menus of the RadTreeView control. - - - By default, if the ContextMenus collection contains RadTreeViewContextMenus, - the first one is displayed on the right-click of each RadTreeNode. To disable a context menu for a - RadTreeNode, set its EnableContextMenu - property to false. To specify a different context menu for a RadTreeNode, use its - ContextMenuID property. - - - The following code example demonstrates how to populate the ContextMenus - collection declaratively. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <nodes> - <Telerik:RadTreeNode Text="Menu1Item1"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Menu1Item2"></Telerik:RadTreeNode> - </nodes> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <nodes> - <Telerik:RadTreeNode Text="Menu2Item1"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Menu2Item2"></Telerik:RadTreeNode> - </nodes> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - - - - Gets the settings for the web service used to populate nodes when - ExpandMode set to - TreeNodeExpandMode.WebService. - - - An WebServiceSettings that represents the - web service used for populating nodes. - - - - Use the WebServiceSettings property to configure the web - service used to populate nodes on demand. - You must specify both - Path and - Method - to fully describe the service. - - - You can use the LoadingStatusTemplate - property to create a loading template. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public RadTreeNodeData[] WebServiceMethodName(RadTreeNodeData item, object context) - { - // We cannot use a dictionary as a parameter, because it is only supported by script services. - // The context object should be cast to a dictionary at runtime. - IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context; - - //... - } - } - - - - - - - When set to true, the nodes populated through Load On Demand are persisted on the server. - - - - Gets the settings for the animation played when a node opens. - - An AnnimationSettings that represents the - expand animation. - - - - Use the ExpandAnimation property to customize the expand - animation of RadTreeView. You can specify the - Type and - Duration. - To disable expand animation effects you should set the - Type to - AnimationType.None.
- To customize the collapse animation you can use the - CollapseAnimation property. -
-
- - The following example demonstrates how to set the ExpandAnimation - of RadTreeView. - - ASPX: - - - <telerik:RadTreeView ID="RadTreeView1" runat="server"> - <ExpandAnimation Type="OutQuint" Duration="300" - /> - <Nodes> - <telerik:RadTreeViewNode Text="News" > - <Nodes> - <telerik:RadTreeViewNode Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadTreeViewNode Text="Google News" NavigateUrl="http://news.google.com" - /> - </Nodes> - </telerik:RadTreeViewNode> - <telerik:RadTreeViewNode Text="Sport" > - <Nodes> - <telerik:RadTreeViewNode Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadTreeViewNode Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Nodes> - </telerik:RadTreeViewNode> - </Nodes> - - - </telerik:RadTreeView> - - - void Page_Load(object sender, EventArgs e) - { - RadTreeView1.ExpandAnimation.Type = AnimationType.Linear; - RadTreeView1.ExpandAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadTreeView1.ExpandAnimation.Type = AnimationType.Linear - RadTreeView1.ExpandAnimation.Duration = 300 - End Sub - - -
- - Gets the settings for the animation played when a node closes. - - An AnnimationSettings that represents the - collapse animation. - - - - Use the CollapseAnimation property to customize the expand - animation of RadTreeView. You can specify the - Type and - Duration. -
- To disable expand animation effects you should set the - Type to - AnimationType.None. To customize the expand animation you can - use the ExpandAnimation property. -
-
- - The following example demonstrates how to set the - CollapseAnimation of RadTreeView. - - ASPX: - - - <telerik:RadTreeView ID="RadTreeView1" runat="server"> - <CollapseAnimation Type="OutQuint" Duration="300" - /> - <Nodes> - <telerik:RadTreeViewNode Text="News" > - <Nodes> - <telerik:RadTreeViewNode Text="CNN" NavigateUrl="http://www.cnn.com" - /> - <telerik:RadTreeViewNode Text="Google News" NavigateUrl="http://news.google.com" - /> - </Nodes> - </telerik:RadTreeViewNode> - <telerik:RadTreeViewNode Text="Sport" > - <Nodes> - <telerik:RadTreeViewNode Text="ESPN" NavigateUrl="http://www.espn.com" - /> - <telerik:RadTreeViewNode Text="Eurosport" NavigateUrl="http://www.eurosport.com" - /> - </Nodes> - </telerik:RadTreeViewNode> - </Nodes> - - - </telerik:RadTreeView> - - - - - - - void Page_Load(object sender, EventArgs e) - { - RadTreeView1.CollapseAnimation.Type = AnimationType.Linear; - RadTreeView1.CollapseAnimation.Duration = 300; - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - RadTreeView1.CollapseAnimation.Type = AnimationType.Linear - RadTreeView1.CollapseAnimation.Duration = 300 - End Sub - - -
- - - Gets a collection of objects that define the relationship - between a data item and the tree node it is binding to. - - - A that represents the relationship between a data item and the tree node it is binding to. - - - - - Gets or sets the maximum number of levels to bind to the RadTreeView control. - - - The maximum number of levels to bind to the RadTreeView control. The default is -1, which binds all the levels in the data source to the control. - - - When binding the RadTreeView control to a data source, use the MaxDanodeindDepth - property to limit the number of levels to bind to the control. For example, setting this property to 2 binds only - the root nodes and their immediate children. All remaining records in the data source are ignored. - - - - - Gets or sets the URL of the page to post to from the current page when a tree node is clicked. - - - The URL of the Web page to post to from the current page when a tree node is clicked. - The default value is an empty string (""), which causes the page to post back to itself. - - - - - Gets the unique, hierarchically qualified identifier for the server - control. - - The fully qualified identifier for the server control. - - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets a value indicating whether RadTreeView should HTML encode the text of the nodes. - - - true if the text should be encoded; otherwise, false. The default value is - false. - - - - - Gets or sets the name of the JavaScript function called when a node's expand/collapse animation finishes - - - - - Gets or sets the name of the JavaScript function called when a node starts being edited - - - - - Gets or sets the name of the JavaScript function called when the client template for a node is evaluated - - - - - Gets or sets the name of the JavaScript function called when a node is databound during load on demand - - - - - Gets or sets the name of the JavaScript function called when the control is fully - initialized on the client side. - - - - - The name of the JavaScript function that will be called upon click on a treenode. The function must accept a single parameter which is the instance of the node clicked. - For example if you define OnClientClick="ProcessClientClick", you must define a javascript function defined in the following way (example):

- function ProcessClientClick(node) - { - alert("You clicked on: " + node.Text); - } -
-
- - - The name of the JavaScript function that will be called after click on a treenode. Used for AJAX/callback hooks. - - - - - The name of the JavaScript function that will be called when the user highlights a treenode. - - - - - The name of the JavaScript function that will be called when the user double clicks on a node. - - - - - The name of the JavaScript function that will be called when the mouse hovers away from the TreeView. - - - - - The name of the JavaScript function that will be called before the user edits a node - - - - - The name of the JavaScript function that will be called after the user edits a node - - - - - The name of the JavaScript function that will be called before a node is expanded. - - - - - The name of the JavaScript function that will be called after a node is expanded. - - - - - The name of the JavaScript function that will be called before a node is collapsed. - - - - - The name of the JavaScript function that will be called after a node is collapsed. - - - - - The name of the JavaScript function that will be called when the user drops a node onto another node. - - - - - The name of the JavaScript function that will be called after the user drops a node onto another node. - - - - - The name of the JavaScript function that will be called when the user checks (checkbox) a treenode. - - - - - The name of the JavaScript function that will be called after the user checks (checkbox) a treenode. - - - - - The name of the JavaScript function that will be called when the user starts dragging a node. - - - - - The name of the JavaScript function that will be called when the user moves the mouse while dragging a node. - - - - - The name of the JavaScript function that will be called when the user clicks on a context menu item. - - - - - The name of the JavaScript function that will be called after the user clicks on a context menu item. - - - - - The name of the JavaScript function that will be called when a context menu is to be displayed. - - - - - The name of the JavaScript function that will be called after context menu is displayed. - - - - - Gets or sets the OnClientTreePopulating event value in the ViewState. - - The OnClientTreePopulating. - - - - Gets or sets the OnClientTreePopulated event value in the ViewState. - - The OnClientTreePopulated. - - - - Gets or sets a value indicating the client-side event handler that is called when - the children of a tree node are about to be populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientNodePopulatingHandler(sender, eventArgs)
- {
- var node = eventArgs.get_node();
- var context = eventArgs.get_context();
- context["CategoryID"] = node.get_value();
- }
- </script>
- <telerik:RadTreeView ID="RadTreeView1"
- runat="server"
- OnClientNodePopulating="onClientNodePopulatingHandler">
- ....
- </telerik:RadTreeView>
-
- - If specified, the OnClientNodePopulating client-side event - handler is called when the children of a tree node are about to be populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with three properties: - - get_node(), the instance of the node. - get_context(), an user object that will be passed to the web service. - set_cancel(), used to cancel the event. - - - - This event can be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the children of a tree node were just populated (for example from web service). - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientNodePopulatedHandler(sender, eventArgs)
- {
- var node = eventArgs.get_node();
- alert("Loading finished for " + node.get_text());
- }
- </script>
- <telerik:RadTreeView ID="RadTreeView1"
- runat="server"
- OnClientNodePopulated="onClientNodePopulatedHandler">
- ....
- </telerik:RadTreeView>
-
- - If specified, the OnClientNodePopulated client-side event - handler is called when the children of a tree node were just populated. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with one property: - - get_node(), the instance of the tree node. - - - - This event cannot be cancelled. - -
- - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the children of a tree node has failed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - <script type="text/javascript">
- function onClientNodePopulationFailedHandler(sender, eventArgs)
- {
- var node = eventArgs.get_node();
- var errorMessage = eventArgs.get_errorMessage();
-
- alert("Error: " + errorMessage);
- eventArgs.set_cancel(true);
- }
- </script>
- <telerik:RadTreeView ID="RadTreeView1"
- runat="server"
- OnClientNodePopulationFailed="onClientNodePopulationFailedHandler">
- ....
- </telerik:RadTreeView>
-
- - If specified, the OnClientNodePopulationFailed client-side event - handler is called when the operation to populate the children of a tree node has failed. - Two parameters are passed to the handler: - - sender, the menu client object; - eventArgs with three properties: - - get_node(), the instance of the tree node. - set_cancel(), set to true to suppress the default action (alert message). - - - - This event cannot be cancelled. - -
- - - The name of the JavaScript function that will be called when a key is pressed. - - - - - Occurs on the server when a node in the - control is clicked. - - - The following example demonstrates how to use the NodeClick event to determine the clicked node. - - protected void RadTreeView1_NodeClick(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - Response.Write("Clicked node is " + e.Node.Text); - } - - - Sub RadTreeView1_NodeClick(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeClick - Response.Write("Clicked node is " & e.Node.Text) - End Sub - - - - - Occurs when a node is data bound. - - - The NodeDataBound event is raised for each node upon - danodeinding. You can retrieve the node being bound using the event arguments. - The DataItem associated with the node can be retrieved using - the property. - - The NodeDataBound event is often used in scenarios when you - want to perform additional mapping of fields from the DataItem to their respective - properties in the class. - - - - The following example demonstrates how to map fields from the data item to - properties using the NodeDataBound event. - - protected void RadTreeView1_NodeDataBound(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - e.Node.ImageUrl = "image" + (string)DataBinder.Eval(e.Node.DataItem, "ID") + ".gif"; - e.Node.NavigateUrl = (string)DataBinder.Eval(e.Node.DataItem, "URL"); - } - - - Sub RadTreeView1_NodeDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeDataBound - e.Node.ImageUrl = "image" & DataBinder.Eval(e.Node.DataItem, "ID") & ".gif" - e.Node.NavigateUrl = CStr(DataBinder.Eval(e.Node.DataItem, "URL")) - End Sub - - - - - Occurs before template is being applied to the node. - - The TemplateNeeded event is raised before a template is been applied on the node, - both during round-trips (postbacks) and at the time data is bound to the control. The TemplateNeeded event is not raised for nodes - which are defined inline in the page or user control. - The TemplateNeeded event is commonly used for dynamic templating. - - - The following example demonstrates how to use the TemplateNeeded event - to apply templates with respect to the Value property of the nodes. - - protected void RadTreeView1_TemplateNeeded(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - string value = e.Node.Value; - if (value != null) - { - // if the value is an even number - if ((Int32.Parse(value) % 2) == 0) - { - var textBoxTemplate = new TextBoxTemplate(); - e.Node.NodeTemplate = textBoxTemplate; - } - } - } - - - Sub RadTreeView1_Template(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.TemplateNeeded - Dim value As String = e.Node.Value - If value IsNot Nothing Then - ' if the value is an even number - If ((Int32.Parse(value) Mod 2) = 0) Then - Dim textBoxTemplate As TextBoxTemplate = New TextBoxTemplate() - e.Node.NodeTemplate = textBoxTemplate - End If - End If - End Sub - - - - - Occurs when a node is created. - - The NodeCreated event is raised when an node in the control is created, - both during round-trips and at the time data is bound to the control. The NodeCreated event is not raised for nodes - which are defined inline in the page or user control. - The NodeCreated event is commonly used to initialize node properties. - - - The following example demonstrates how to use the NodeCreated event - to set the ToolTip property of each node. - - protected void RadTreeView1_NodeCreated(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - e.Node.ToolTip = e.Node.Text; - } - - - Sub RadTreeView1_NodeCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeCreated - e.Node.ToolTip = e.Node.Text - End Sub - - - - - - Occurs when a node is expanded. - - - - The NodeExpand event will be raised for nodes whose property is set to - ServerSide or ServerSideCallback. - - - The NodeExpand event is commonly used to populate nodes on demand. - - - - The following example demonstrates how to use the NodeExpand event to populate nodes on demand. - - protected void RadTreeView1_NodeExpanded(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - RadTreeNode nodeCreatedOnDemand = new RadTreeNode("Node created on demand"); - e.Node.Nodes.Add(nodeCreatedOnDemand); - } - - - Sub RadTreeView1_NodeExpanded(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles RadTreeView1.NodeExpanded - Dim nodeCreatedOnDemand As RadTreeNode = New RadTreeNode("Node created on demand") - e.Node.Nodes.Add(nodeCreatedOnDemand) - End Sub - - - - - - Occurs when a node is collapsed. - - - The NodeCollapse event is raised only for nodes whose property - is set to ServerSide. - - - - - Occurs when a node is checked. - - - - - Occurs when a node (or nodes) is dragged and dropped. - - - The NodeDrop event is commonly used to move nodes from one location into other. - - - The following example demonstrates how to move the dragged nodes in the destination node. - - protected void RadTreeView1_NodeDrop(object sender, RadTreeNodeDragDropEventArgs e) - { - foreach (RadTreeNode sourceNode in e.DraggedNodes) - { - if (!sourceNode.IsAncestorOf(e.DestDragNode)) - { - sourceNode.Remove(); - e.DestDragNode.Nodes.Add(sourceNode); - } - } - } - - - Protected Sub RadTreeView1_NodeDrop(ByVal sender As Object, ByVal e As RadTreeNodeDragDropEventArgs) Handles RadTreeView1.NodeDrop - For Each sourceNode As RadTreeNode In e.DraggedNodes - If Not sourceNode.IsAncestorOf(e.DestDragNode) Then - sourceNode.Remove() - e.DestDragNode.Nodes.Add(sourceNode) - End If - Next - End Sub - - - - - - Occurs when a node's text is edited. - - - The NodeEdit event is commonly used to update the property after editing. - - - The following example demonstrates how to update the property after editing - - protected void RadTreeView1_NodeEdit(object sender, RadTreeNodeEditEventArgs e) - { - RadTreeNode nodeEdited = e.Node; - string newText = e.Text; - nodeEdited.Text = newText; - } - - - Protected Sub HandleNodeEdit(ByVal sender As Object, ByVal e As RadTreeNodeEditEventArgs) Handles RadTreeView1.NodeEdit - Dim nodeEdited As RadTreeNode = e.Node - Dim newText As String = e.Text - nodeEdited.Text = newText - End Sub - - - - - - Occurs on the server when a item in the is clicked. - - - The context menu will also postback if you navigate to a menu item - using the [menu item] key and then press [enter] on the menu item that is focused. The - instance of the clicked menu item is passed to the ContextMenuItemClick event - handler - you can obtain a reference to it using the eventArgs.Item property. - - - - - This Class defiens the RadTreeNode object. - - Represents a node in the RadTreeView control. - - - The RadTreeView control is made up of nodes. Nodes which are immediate children - of the treeview are root nodes. Nodes which are children of root nodes are child nodes. - - - A node usually stores data in two properties, the Text property and - the Value property. The value of the Text property is displayed - in the RadTreeView control, and the Value property is used to store additional data. - - To create tree nodes, use one of the following methods: - - - Use declarative syntax to define nodes inline in your page or user control. - - - Use one of the constructors to dynamically create new instances of the - RadTreeNode class. These nodes can then be added to the - Nodes collection of another node or treeview. - - - Data bind the RadTreeView control to a data source. - - - - When the user clicks a tree node, the RadTreeView control can navigate - to a linked Web page, post back to the server or select that node. If the - NavigateUrl property of a node is set, the - RadTreeView control navigates to the linked page. By default, a linked page - is displayed in the same window or frame. To display the linked content in a different - window or frame, use the Target property. - - - - - Initializes a new instance of the RadTreeNode class. - - Use this constructor to create and initialize a new instance of the - RadTreeNode class using default values. - - - The following example demonstrates how to add node to - RadTreeView controls. - - RadTreeNode node = new RadTreeNode(); - node.Text = "News"; - node.NavigateUrl = "~/News.aspx"; - - RadTreeView1.Nodes.Add(node); - - - Dim node As New RadTreeNode() - node.Text = "News" - node.NavigateUrl = "~/News.aspx" - - RadTreeView1.Nodes.Add(node) - - - - - - Initializes a new instance of the RadTreeNode class with the - specified text data. - - - Use this constructor to create and initialize a new instance of the - RadTreeNode class using the specified text. - - - The following example demonstrates how to add nodes to - RadTreeView controls. - - RadTreeNode node = new RadTreeNode("News"); - - RadTreeView1.Nodes.Add(node); - - - Dim node As New RadTreeNode("News") - - RadTreeView1.Nodes.Add(node) - - - - The text of the node. The Text property is set to the value - of this parameter. - - - - - Initializes a new instance of the RadTreeNode class with the - specified text and value. - - - Use this constructor to create and initialize a new instance of the - RadTreeNode class using the specified text and value. - - - This example demonstrates how to add nodes to RadTreeView - controls. - - RadTreeNode node = new RadTreeNode("News", "NewsValue"); - - RadTreeView1.Nodes.Add(node); - - - Dim node As New RadTreeNode("News", "NewsValue") - - RadTreeView1.Nodes.Add(node) - - - - The text of the node. The Text property is set to the value - of this parameter. - - - The value of the node. The Value property is set to the value of this - parameter. - - - - - Initializes a new instance of the RadTreeNode class with the - specified text, value and URL. - - - Use this constructor to create and initialize a new instance of the - RadTreeNode class using the specified text, value and URL. - - - This example demonstrates how to add nodes to RadTreeView - controls. - - RadTreeNode node = new RadTreeNode("News", "NewsValue", "~/News.aspx"); - - RadTreeView1.Nodes.Add(node); - - - Dim node As New RadTreeNode("News", "NewsValue", "~/News.aspx") - - RadTreeView1.Nodes.Add(node) - - - - The text of the node. The Text property is set to the value - of this parameter. - - - The value of the node. The Value property is set to the value of this - parameter. - - - The url which the node will navigate to. The - NavigateUrl property is set to the value of this - parameter. - - - - - Returns the full path (location) of the node delimited by the specified character. - - The character to use as a delimiter - Returns the full path of the node delimited by the specified character. - - - - Collapses recursively all child nodes of the node. - - - - - Expands all parent nodes of the node. - - - - - Inserts a node before the current node. - - The node to be inserted. - - - - Inserts a node after the current node. - - The node to be inserted. - - - - Checks if the current node is ancestor of another node. - - The node to check for. - - True if the current node is ancestor of the other node; otherwise false. - - - - - Checks if the current node is descendant of another node node. - - The node to check for. - - True if the current node is descendant of the other node; otherwise false. - - - - - Toggles Expand/Collapse state of the node. - - - - - Expands all child nodes of the node. - - - - - Expands all parent nodes of the node. - - - - - Removes the node from the Nodes collection of its parent - - - The following example demonstrates how to remove a node. - - RadTreeNode node = RadTreeView1.Nodes[0]; - node.Remove(); - - - Dim node As RadTreeNode = RadTreeView1.Nodes(0) - node.Remove() - - - - - - Creates a copy of the current object. - - A which is a copy of the current one. - - Use the Clone method to create a copy of the current node. All - properties of the clone are set to the same values as the current ones. Child nodes are - copied as well. - - - - - Checks all child nodes of the current node. - - - - - Unchecks all child nodes of the current node. - - - - - Gets a linear list of all nodes in the RadTreeNode. - - An IList<RadTreeNode> containing all nodes (from all hierarchy levels). - - - - Gets the parent IRadTreeNodeContainer. - - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied by default to the node. - - - By default the visual appearance of hovered nodes is defined in the skin CSS - file. You can use the CssClass property to specify unique - appearance for the node. - - - - - Gets or sets the tooltip shown for the node when the user hovers it with the mouse - - - A string representing the tooltip. The default value is empty string. - - - The ToolTip property is also used as the alt attribute of the node image (in case is set) - - - - - Gets or sets a value indicating whether the node is enabled. - - - true if the node is enabled; otherwise false. The default value is true. - - - Disabled nodes cannot be clicked, or expanded. - - - - - Gets a object that contains the child nodes of the current RadTreeNode. - - - A that contains the child nodes of the current RadTreeNode. By default - the collection is empty (the node has no children). - - - Use the Nodes property to access the child nodes of the RadTreeNode. You can also use the Nodes property to - manage the child nodes - you can add, remove or modify nodes. - - - The following example demonstrates how to programmatically modify the properties of a child node. - - RadTreeNode node = RadTreeView1.FindNodeByText("Test"); - node.Nodes[0].Text = "Example"; - node.Nodes[0].NavigateUrl = "http://www.example.com"; - - - Dim node As RadTreeNode = RadTreeView1.FindNodeByText("Test") - node.Nodes(0).Text = "Example" - node.Nodes(0).NavigateUrl = "http://www.example.com" - - - - - Gets the data item that is bound to the node - - An Object that represents the data item that is bound to the node. The default value is null (Nothing in Visual Basic), - which indicates that the node is not bound to any data item. The return value will always be null unless accessed within - a NodeDataBound event handler. - - - This property is applicable only during data binding. Use it along with the - NodeDataBound event to perform additional - mapping of fields from the data item to RadTreeNode properties. - - - The following example demonstrates how to map fields from the data item to - RadTreeNode properties. It assumes the user has subscribed to the - NodeDataBound event. - - private void RadTreeView1_NodeDataBound(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e) - { - e.Node.ImageUrl = "image" + (string)DataBinder.Eval(e.Node.DataItem, "ID") + ".gif"; - e.Node.NavigateUrl = (string)DataBinder.Eval(e.Node.DataItem, "URL"); - } - - - Sub RadTreeView1_NodeDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTreeNodeEventArgs ) Handles RadTreeView1.NodeDataBound - e.Node.ImageUrl = "image" & DataBinder.Eval(e.Node.DataItem, "ID") & ".gif" - e.Node.NavigateUrl = CStr(DataBinder.Eval(e.Node.DataItem, "URL")) - End Sub - - - - - - Gets or sets the text displayed for the current node. - - - The text displayed for the node in the RadTreeView control. The default is empty string. - - - Use the Text property to specify or determine the text that is displayed for the node - in the RadTreeView control. - - - - - Gets or sets custom (user-defined) data associated with the current node. - - - A string representing the user-defined data. The default value is emptry string. - - - Use the Value property to associate custom data with a RadTreeNode object. - - - - - Gets or sets the URL to navigate to when the current node is clicked. - - - The URL to navigate to when the node is clicked. The default value is empty string which means that - clicking the current node will not navigate. - - - - Setting the NavigateUrl property will disable node selection and as a result the - NodeClick event won't be raised for the current node. - - - - - - Gets or sets the target window or frame in which to display the Web page content associated with the current node. - - - The target window or frame to load the Web page linked to when the node is - clicked. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without frames. - - - _parent - Renders the content in the immediate frameset parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without frames. - - - - The default value is empty string which means the linked resource will be loaded in the current window. - - - - Use the Target property to target window or frame in which to display the - Web page content associated with the current node. The Web page is specified by - the NavigateUrl property. - - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The Target property is taken into consideration only when the NavigateUrl - property is set. - - - - The following example demonstrates how to use the Target property - - - <telerik:RadTreeView id="RadTreeView1" runat="server">
- <Nodes>
- <telerik:RadTreeNode Text="News" NavigateUrl="~/News.aspx" - Target="_self" />
- <telerik:RadTreeNode Text="External URL" NavigateUrl="http://www.example.com" - Target="_blank" />
- </Nodes>
- </telerik:RadTreeView>
-
-
-
- - - Gets or sets the URL to an image which is displayed next to the text of a node. - - - The URL to the image to display for the node. The default value is empty - string which means by default no image is displayed. - - - Use the ImageUrl property to specify a custom image that will be - displayed before the text of the current node. - - - - The following example demonstrates how to specify the image to display for - the node using the ImageUrl property. - - - <telerik:RadTreeView id="RadTreeView1" runat="server">
- <Nodes>
- <telerik:RadTreeNodeImageUrl="~/Img/inbox.gif" - Text="Index"></telerik:RadTreeNode>
- <telerik:RadTreeNodeImageUrl="~/Img/outbox.gif" - Text="Outbox"></telerik:RadTreeNode>
- <telerik:RadTreeNodeImageUrl="~/Img/trash.gif" - Text="Trash"></telerik:RadTreeNode>
- <telerik:RadTreeNodeImageUrl="~/Img/meetings.gif" - Text="Meetings"></telerik:RadTreeNode>
- </Nodes>
- </telerik:RadTreeView> -
-
-
- - - Gets or sets the category of the node. - - - The Category property is similar to the Value property. You - can use it to associate custom data with the node. - - - This example illustrates how to use the Category property during the NodeDataBound event. - - - protected void RadTreeView1_NodeDataBound(object sender, RadTreeNodeEventArgs e) - { - //"NodeCategory" is the database column which provides data for the Category property. - e.Node.Category = DataBinder.Eval(e.Node.DataItem, "NodeCategory").ToString(); - } - - - Protected Sub RadTreeView1_NodeDataBound(ByVal sender As Object, ByVal e As RadTreeNodeEventArgs) Handles RadTreeView1.NodeDataBound - ' "NodeCategory" is the database column which provides data for the Category property. - e.Node.Category = DataBinder.Eval(e.Node.DataItem, "NodeCategory") - End Sub - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the node when the mouse hovers it. - - - By default the visual appearance of hovered nodes is defined in the skin CSS - file. You can use the HoveredCssClass property to specify unique - appearance for a node when it is hoevered. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the node when it is disabled. - - - By default the visual appearance of disabled nodes is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for a node when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the content - wrapper of the node. - - - You can use the ContentCssClass property to specify unique - appearance for a node content area and its children. Useful when using - CSS sprites. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when node is - selected. - - - By default the visual appearance of selected nodes is defined in the skin CSS - file. You can use the SelectedCssClass property to specify unique - appearance for a node when it is selected. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is expanded. - - - If the ExpandedImageUrl property is not set the ImageUrl property will be - used when the node is expanded. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is selected. - - - If the SelectedImageUrl property is not set the ImageUrl property will be - used when the node is selected. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is hovered with the mouse. - - - If the HoveredImageUrl property is not set the ImageUrl property will be - used when the node is hovered. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is disabled. - - - If the DisabledImageUrl property is not set the ImageUrl property will be - used when the node is disabled. - - - - - Gets the level of the node. - - - An integer representing the level of the node. Root nodes are level 0 (zero). - - - - - Gets the RadTreeView which the node is part of. - - - - - Gets or sets a value indicating whether clicking on the node will - postback. - - - True if the node should postback; otherwise - false. - - - If you subscribe to the NodeClick all nodes - will postback. To turn off that behavior you can set the - PostBack property to false. - - - - Gets or sets a value indicating whether the node is expanded. - - true if the node is expanded; otherwise, - false. The default is false. - - - - - Gets or sets a value indicating whether the node is checked or not. - - - True if the node is checked; otherwise false. The default value - is false - - - - - Gets the checked state of the tree node - - - One of the TreeNodeExpandMode values. - - - - - Gets or sets a value indicating whether the node is checkable. A checkbox control is rendered - for checkable nodes. - - - If the CheckBoxes property set to true, RadTreeView automatically displays a checkbox next to each node. - You can set the Checkable property to false for nodes that do not need to display a checkbox. - - - - - Gets or sets a value indicating whether the node is selected. - - - True if the node is selected; otherwise false. The default value is - false. - - - By default, only one node can be selected. You can enable multiple node selection by setting the - MultipleSelect property of the - parent RadTreeView to true - - - - - Gets or sets a value indicating whether the node can be dragged and dropped. - - - True if the user is able drag and drop the node; otherwise false. - The default value is true. - - - - - Gets or sets a value indicating whether the use can drag and drop nodes over this - node. - - - True if the user is able to drag and drop nodes over this node; otherwise - false. The default value is true. - - - - - Gets or sets a value indicating whether the use can edit the text of the node. - - - True if the node is editable; otherwise false. The default value - is true. - - - - - Gets or sets the expand behavior of the tree node. - - When set to ExpandMode.ServerSide the RadTreeView will fire a server event (NodeExpand) so you can populate the node on demand. - - - On of the TreeNodeExpandMode values. The default value is - ClientSide. - - - - - A Section 508 element - - - - - Gets the previous sibling of the node. - Gets the previous node sibling in the tree structure or returns null if this is the first node in the respective node group. - - - The previous sibling of the node or null (Nothing) if the node is first in its - parent RadTreeNodeCollection. - - - - - Gets the next sibling of the node. - - - The next sibling of the node or null (Nothing) if the node is last in its - parent RadTreeNodeCollection. - - - - Gets or sets the template for displaying the node. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - To specify common display for all nodes use the property of - the control. - - - - The following template demonstrates how to add a Calendar control in certain - node. - ASPX: - - <telerik: RadTreeView runat="server" ID="RadTreeView1"> - <Nodes> - <telerik:RadTreeNode Text="Root Node" Expanded="True" > - <Nodes> - <telerik:RadTreeNode> - <NodeTemplate> - <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar> - </NodeTemplate> - </telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeView> - - - - - - Gets the full path (location) of the node. - - - A slash delimited path of the node. The path is constructed based on the Text property - of the node and its parents. For example if the Text of the node it "Houston", its parent node is "Texas" and its parent (root) - is "U.S.A", FullPath will return "U.S.A/Texas/Houston" - - - - - Gets the parent node of the current node. - - - The parent node. If the the node is a root node null (Nothing) is returned. - - - - - Gets or sets a value indicating the ID of the displayed for the current node. - - - A string representing the ID of the context menu associated with the current node. The default value is empty string. - - - If the ContextMenuID property is not set the first context menu from the collection - will be used. - - - - - Gets or sets a value indicating whether a context menu should be displayed for the current node. - - - True if a context menu should be displayed for the current node; otherwise false. The default - value is false. - - - Use the EnableContextMenu property to disable the context menu for particular nodes. - - - - - A collection of RadTreeNode objects in a - control. - - - The RadTreeNodeCollection class represents a collection of - RadTreeNode objects. - - - Use the indexer to programmatically retrieve a - single RadTreeNode from the collection, using array notation. - - - Use the Count property to determine the total - number of menu items in the collection. - - - Use the Add method to add nodes in the collection. - - - Use the Remove method to remove nodes from the - collection. - - - - - - - - Initializes a new instance of the class. - - The owner of the collection. - - - - Appends the specified object to the end of the current - . - - - The to append to the end of the current - . - - - The following example demonstrates how to programmatically add nodes in a control. - - RadTreeNode newsNode = new RadTreeNode("News"); - RadTreeView1.Nodes.Add(newsNode); - - - Dim newsNode As RadTreeNode = New RadTreeNode("News") - RadTreeView1.Nodes.Add(newsNode) - - - - - - Removes the specified object from the current - . - - - The object to remove. - - - - - Removes the object at the specified index - from the current . - - - The zero-based index of the node to remove. - - - - - Determines whether the specified object is in the current - . - - - The object to find. - - - true if the current collection contains the specified object; - otherwise, false. - - - - - Copies the instances stored in the current - object to an System.Array object, beginning at the specified - index location in the System.Array. - - The System.Array to copy the instances to. - The zero-based relative index in array where copying begins. - - - Appends the specified array of objects to the end of the - current . - - - The following example demonstrates how to use the AddRange method - to add multiple nodes in a single step. - - RadTreeNode[] nodes = new RadTreeNode[] { new RadTreeNode("First"), new RadTreeNode("Second"), new RadTreeNode("Third") }; - RadTreeView1.Nodes.AddRange(nodes); - - - Dim nodes() As RadTreeNode = {New RadTreeNode("First"), New RadTreeNode("Second"), New RadTreeNode("Third")} - RadTreeView1.Nodes.AddRange(nodes) - - - - The array of to append to the end of the current - . - - - - - Determines the index of the specified object in the collection. - - - The to locate. - - - The zero-based index of tab within the current , - if found; otherwise, -1. - - - - - Inserts the specified object in the current - at the specified index location. - - The zero-based index location at which to insert the . - The to insert. - - - - Searches all nodes for a RadTreeNode with a Text property - equal to the specified text. - - The text to search for - A RadTreeNode whose Text property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - - - - Searches all nodes for a RadTreeNode with a Text property - equal to the specified text. - - The text to search for - A RadTreeNode whose Text property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches all nodes for a RadTreeNode with a Value property - equal to the specified value. - - The value to search for - A RadTreeNode whose Value property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - - - - Searches all nodes for a RadTreeNode with a Value property - equal to the specified value. - - The value to search for - A RadTreeNode whose Value property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the nodes in the collection for a RadTreeNode which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadTreeNode that matches the specified arguments. Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Returns the first RadTreeNode - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindNode method. - - void Page_Load(object sender, EventArgs e) - { - RadTreeView1.FindNode(NodeWithEqualsTextAndValue); - } - private static bool NodeWithEqualsTextAndValue(RadTreeNode node) - { - if (node.Text == node.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadTreeView1.FindNode(NodeWithEqualsTextAndValue) - End Sub - Private Shared Function NodeWithEqualsTextAndValue(ByVal node As RadTreeNode) As Boolean - If node.Text = node.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - - - - - - - - - Gets the object at the specified index in - the current . - - - The zero-based index of the to retrieve. - - - The at the specified index in the - current . - - - - - A tool which will be rendered as a button - - - - - A tool which will be rendered as a dropdown - - - - - A tool which will be rendered as a split button - - - - - A tool which will be rendered as a separator - - - - - A tool which will be rendered as a toolstrip - - - - - Represents logical group of EditorTool objects. The default ToolAdapter will - render the EditorToolGroup object as a toolbar. - - - - - - - - - - - - - Gets all tools inside the group. - - - - - Finds the tool with the given name. - - - - - Determines whether the group a tool with the specified name. - - - - - - - - - - - - - - - - - - - - - Gets the custom attributes which will be serialized on the client. - - - - - Gets or sets a string which will be used by the ToolAdapter to associate - the group with the adapter's virtual structure. In the default adapter this - is the name of the docking zone where the toolbar should be placed. - - - - - Gets the children of the EditorToolGroup. - - - - - State managed collection of EditorToolGroup objects - - - - - Represents a single RadEditor tool. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the tool. - - - - Initializes a new instance of the class. - - The name of the tool. - The shortcut for the tool. - - - - Throws an exception if the EditorTool has no name. - - - - - Gets or sets a value indicating whether this is enabled. - - true if enabled; otherwise, false. - - - - Gets or sets the name. It will be used by RadEditor to find - the command which should be executed when the user clicks this tool. - - The tool name. - - - - Gets or sets the title of the . The default ToolAdapter will - render the value of this property as a tooltip or static text near the - tool icon. - - The text. - - - - Gets or sets the keyboard shortcut which will invoke the associated - RadEditor command. - - - - - This property sets the tool's small icon for RibbonBar mode. - - - - - This property sets the tool's large icon for RibbonBar mode. - - - - - Gets or sets a value indicating whether the tool icon should be displayed. - - true if the tool icon should be displayed; otherwise, false. - - - - Gets or sets a value indicating whether the tool text should be displayed. - - true if the tool text should be displayed; otherwise, false. - - - - Gets or sets the type of the tool - by default it is a button - - The type of the tool on the client. - - - - - - - - Returns a value that indicates whether this instance is equal to a specified - object. - - An to compare with this instance - or null. - - true if equals the type and value of this instance; - otherwise, false. - - - - - Returns the hash code for this instance. - - A 32-bit signed integer hash code. - - - - - - - - Summary description for DisplayFormatPosition. - - - - - Enumeration determining the position of button. - - - - - The class holding all client side events. - - - - - Returns a that represents the current - . - - - A that represents the current . - - - - - - - - - Gets or sets the client event will be fired when incorrect value is entered in the input and the validation fails. - - The client event will be fired when incorrect value is entered in the input and the validation fails. - - - - Gets or sets the button click event which will be fired when the input controls is clicked. - - The client event will be fired when the input controls is clicked. - - - - Gets or sets the client event which will called when the input loads. - - The client event is called when the input loads. - - - - Gets or sets the client side event which will be fired when the user mouse leaves the input control. - - The client side event will be fired when the user mouse leaves the input control. - - - - Gets or sets the client side event which will be fired when the user mouse enters the input control area. - - The client side event which will be fired when the user mouse enters the input control area. - - - - Gets or sets the client side event which will be fired when a focus to the input control is given. - - The client side event which will be fired when a focus to the input control is given. - - - - Gets or sets the client side event which will be fired when the input contol loses focus. - - The client side event which will be fired when the input contol loses focus. - - - - Gets or sets the client side event which will be fired when the input control is disabled. - - The client side event which will be fired when the input control is disabled. - - - - Gets or sets the client side event which will be fired when the input control is enabled. - - The client side event which will be fired when the input control is enabled. - - - - Gets or sets the client side event which will be fired before the input control value is changed. The event could be canceled. - - The client side event which will be fired before the input control value is changed. The event could be canceled. - - - - Gets or sets the client side event which will be fired after the input control value is changed. - - The client side event which will be fired after the input control value is changed. - - - - Gets or sets the client side event which will be fired on every key press when the input control is focused. - - The client side event which will be fired on every key press when the input control is focused. - - - - Fired whenever the value of any enumeration mask part has changed. - - - Note this event is effective only for the RadMaskedTextBox control. - - - - - Fired whenever the user increases the value of any enumeration or numeric range mask part of RadMaskedTextBox - (with either keyboard arrow keys or mouse wheel). - - - Note this event is effective only for the RadMaskedTextBox control. - - - - - Fired whenever the user decreases the value of any enumeration or numeric range mask part of RadMaskedTextBox - (with either keyboard arrow keys or mouse wheel). - - - Note this event is effective only for the RadMaskedTextBox control. - - - - - Enumeration determining the mode. - Which could determine if the input will be multiline, password or - normal single line input. - - - - - - - - - - - - - Class representing the styles for . - - - - - - - - - Duplicates the style properties of the specified - into the instance of the class - that this method is called from. - - A that represents - the style to copy. - - has been set. - - - - - Combines the style properties of the specified - with the instance of the class - that this method is called from. - - A that represents - the style to combine. - - has been set. - - - - - Removes any defined style elements from the state bag. - - - - - A protected property. Gets a value indicating whether any style elements - have been defined in the state bag. - - true if the state bag has no style elements defined; otherwise, false. - - - - - - Gets or sets the horizontal alignment applied to the HTML input element. - - The horizontal alignment applied to the HTML input element. - - - - Gets or sets the right padding applied to the html input element. - - The right padding applied to the html input element. - - - - Gets or sets the left padding applied to the html input element. - - The left padding applied to the html input element. - - - - Gets or sets the top padding applied to the html input element. - - The top padding applied to the html input element. - - - - Gets or sets the top padding applied to the html input element. - - The top padding applied to the html input element. - - - - Gets or sets the spacing between letters in the input control. - - The spacing between letters in the input control. - - - Represents a single character, digit only mask part. - - This example demonstrates how to add a DigitMaskPart object in the - MaskParts property of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - DigitMaskPart digitPart = new DigitMaskPart(); - RadMaskedTextBox1.MaskParts.Add(digitPart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim digitPart As New DigitMaskPart() - RadMaskedTextBox1.MaskParts.Add(digitPart) - End Sub - - - - - - Returns the friendly name of the part. - - - - - - - - - Represents a MaskPart object which accepts only a predefined set of - options. - - - This example demonstrates how to add an EnumerationMaskPart object - in the MaskParts property of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - EnumerationMaskPart enumPart = new EnumerationMaskPart(); - enumPart.Items.Add("Mon"); - enumPart.Items.Add("Two"); - enumPart.Items.Add("Wed"); - enumPart.Items.Add("Thu"); - enumPart.Items.Add("Fri"); - enumPart.Items.Add("Sat"); - enumPart.Items.Add("Sun"); - - RadMaskedTextBox1.MaskParts.Add(enumPart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim enumPart As New EnumerationMaskPart - enumPart.Items.Add("Mon") - enumPart.Items.Add("Two") - enumPart.Items.Add("Wed") - enumPart.Items.Add("Thu") - enumPart.Items.Add("Fri") - enumPart.Items.Add("Sat") - enumPart.Items.Add("Sun") - - RadMaskedTextBox1.MaskParts.Add(enumPart) - End Sub - - - - - Returns the friendly name of the part. - - - - Gets the options collection of the part. - - - - - - - - - Represents a single character MaskPart object which accepting any - character. - - - This example demonstrates how to add a FreeMaskPart object in the - MaskParts property of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - FreeMaskPart freePart = new FreeMaskPart(); - RadMaskedTextBox1.MaskParts.Add(freePart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim fixedPart As New FreeMaskPart() - RadMaskedTextBox1.MaskParts.Add(fixedPart) - End Sub - - - - - - Returns the friendly name of the part. - - - - Represents a multi character MaskPart whose content cannot be modified. - - This example demonstrates how to add a LiteralMaskPart object in - the MaskParts property of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - LiteralMaskPart literalPart = new LiteralMaskPart(); - literalPart.Text = "("; - RadMaskedTextBox1.MaskParts.Add(literalPart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim literalPart As New LiteralMaskPart() - RadMaskedTextBox1.MaskParts.Add(literalPart) - End Sub - - - - - - Returns the friendly name of the part. - - - - - - - - Gets or sets the string that the LiteralMaskPart will render. - - - - Represents a single character MaskPart. The character is converted to lower upon - input. - - - This example demonstrates how to add a LowerMaskPart object in the - MaskParts property of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - LowerMaskPart lowerPart = new LowerMaskPart(); - RadMaskedTextBox1.MaskParts.Add(lowerPart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim lowerPart As New LowerMaskPart() - RadMaskedTextBox1.MaskParts.Add(lowerPart) - End Sub - - - - - - Returns the friendly name of the part. - - - - - - - - Represents the collection of mask parts in a RadMaskedTextBox. - - - - Appends the specified MaskPart to - the end of the collection. - - - The MaskPart to append to the - collection. - - - - - Inserts the specified MaskPart in - the collection at the specified index location. - - - The location in the collection to insert the - MaskPart. - - - The MaskPart to add to the - collection. - - - - Determines whether the collection contains the specified item - - true if the collection contains the specified - MaskPart; otherwise - false. - - - The MaskPart to search for in the - collection. - - - - - - Removes the specified MaskPart - from the collection. - - - - The MaskPart to remove from the - collection. - - - - - Determines the index value that represents the position of the specified - MaskPart in the collection. - - - The zero-based index position of the specified - MaskPart in the collection. - - - A MaskPart to search for in the - collection. - - - - - Gets or sets the RadMaskedInputControl, which uses the - collection. - - - - - Gets or sets the MaskedTextBoxSetting, which uses the - collection. - - - - - Gets a MaskPart at the specified - index in the collection. - - - Use this indexer to get a MaskPart - from the - MaskPartCollection at the - specified index, using array notation. - - - The zero-based index of the MaskPart - to retrieve from the collection. - - - - Represents a MaskPart which accepts numbers in a specified range. - - This example demonstrates how to add a NumericRangeMaskPart object - in the MaskParts collection of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - NumericRangeMaskPart rangePart = new NumericRangeMaskPart(); - rangePart.LowerLimit = 0; - rangePart.UpperLimit = 255; - RadMaskedTextBox1.MaskParts.Add(rangePart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim rangePart As New NumericRangeMaskPart() - rangePart.LowerLimit = 0 - rangePart.UpperLimit = 255 - RadMaskedTextBox1.MaskParts.Add(rangePart) - End Sub - - - - - Returns the friendly name of the part. - - - - - - - Gets or sets the smallest possible value the part can accept. - - An integer representing the smallest acceptable number that the - NumericRangeMaskPart can accept. The default value is 0. - - - - Gets or sets the largest possible value the part can accept. - - An integer representing the largest acceptable number that the - NumericRangeMaskPart can accept. The default value is 0. - - - - - Represents a single character MaskPart. The character is converted to upper upon - input. . - - - This example demonstrates how to add an UpperMaskPart object in - the MaskParts collection of RadMaskedTextBox. - - private void Page_Load(object sender, System.EventArgs e) - { - UpperMaskPart upperPart = new UpperMaskPart(); - RadMaskedTextBox1.MaskParts.Add(upperPart); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - Dim upperPart As New UpperMaskPart() - RadMaskedTextBox1.MaskParts.Add(upperPart) - End Sub - - - - - Returns the friendly name of the part. - - - - - - - - Numeric range alignment options - - - - - The numbers are aligned left - - - - - The numbers are aligned right - - - - - RadMaskedTextBox is an enhanced data entry control that uses a mask to distinguish - between proper and improper user input. It shares the common properties of all RadInput - controls, including support for skins, styles for different states, empty message support, - conditional postback on text change, flexible caret and button positioning, labels, and so on. - - - RadMaskedTextBox is an enhanced data entry control that uses a mask to distinguish - between proper and improper user input. It shares the common properties of all RadInput - controls, including support for skins, styles for different states, empty message support, - conditional postback on text change, flexible caret and button positioning, labels, and so on. - - - - - - - - - Gets the which determines which mask parts - will be used when the is not focused. - - The display mask parts. - - - - Gets or sets the mask. - - The mask. - - - - Gets or sets the display mask which is shown when the - is not focused. - - The display mask which is shown when the - is not focused. - - - - Gets or sets the format position when the - is in display mode. - - The format position when the - is in display mode. - - - - Gets or sets the text mode which could determine if the input will be multiline, password or - normal single line input. - - The text mode which could determine if the input will be multiline, password or - normal single line input. - - - - Gets or sets if the prompt will be hidden when - is blurred. - - The hide on blur. - - - - Gets or sets if it is required to complete entered text in the RadMaskedTextBox. - By default is 'false'. Set to 'true' if you want full text to be required. - - Determines if it is required to complete entered text in the RadMaskedTextBox. - By default is 'false'. Set to 'true' if you want full text to be required. - - - - Gets or sets if the caret will be moved to the begging when the is focused. - - Determines if the caret will be moved to the begging - when the is focused. - - - - Gets or sets the prompt char. - - The prompt char. - - - - Gets or sets the prompt character used in the display mask. - - The prompt character used in the display mask. - - - - Gets or sets if the values of numeric range parts of the mask to have a fixed width. - - Enforces the values of numeric range parts of the mask to have a fixed width. - - - - Gets or sets if the numberic ranges will be rounded. - - Determines if the numberic ranges will be rounded. - - - - Gets or sets a value which determines if empty mask parts are allowed. - - A value which determines if empty mask parts are allowed. - - - - Gets or sets alignment of numeric ranges. - - The alignment of numeric ranges. - - - - Gets or sets the number of rows. - - The number of rows. - - - - Gets or sets the number columns. - - The number columns. - - - - If the Wrap property is True, the value in the text box extends to - the limit set by the Columns property, and then wraps to additional rows as necessary. - If the Wrap property is False, the value in the text box does not wrap. Additional - lines are used only if the text value includes a new-line character. A horizontal - scroll bar appears if the value of any line exceeds the limit set by the Columns property. - - If the Wrap property is True, the value in the text box extends to - the limit set by the Columns property, and then wraps to additional rows as necessary. - If the Wrap property is False, the value in the text box does not wrap. Additional - lines are used only if the text value includes a new-line character. A horizontal - scroll bar appears if the value of any line exceeds the limit set by the Columns property. - - - - Gets or sets the selection on focus options for the RadInput control - - - Use this property to provide selection on focus of RadInput control. You - can set one of the following values: - - - The following example demonstrates how to set the SelectionOnFocus property - from DropDownList: -
-            </%@ Page Language="C#" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>RadTextBox selection</title>
<script runat="server">
- protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
- if (DropDownList1.SelectedValue == "CaretToBeginning")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToBeginning;
- }
else if (DropDownList1.SelectedValue == "CaretToEnd")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToEnd;
- }
else if (DropDownList1.SelectedValue == "SelectAll")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.SelectAll;
- }
}
</script>
</head>
<body>
- <form id="form1" runat="server">
<div>
- <radI:RadTextBox SelectionOnFocus="CaretToBeginning" ID="RadTextBox1" runat="server"></radI:RadTextBox>
- <br />
- <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
- <asp:ListItem Text="CaretToBeginning">CaretToBeginning</asp:ListItem>
- <asp:ListItem Text="CaretToEnd">CaretToEnd</asp:ListItem>
- <asp:ListItem Text="SelectAll">SelectAll</asp:ListItem>
- </asp:DropDownList></div>
</form>
</body>
</html> -
-
- - A Telerik.WebControls.SelectionOnFocus object that represents the selection on - focus in RadInput control. The default value is "None". - - None - CaretToBeginning - CaretToEnd - SelectAll - - -
- - - Gets or sets the text content of a control. - - The text content of a control. - - - - - Gets or sets a value indicating whether the contents of the RadInput control - can be changed. - - - Use the ReadOnly property to specify whether the contents of the RadInput - control can be changed. Setting this property to true will prevent users from entering - a value or changing the existing value. Note that the user of the RadInput control - cannot change this property; only the developer can. The Text value of a RadInput - control with the ReadOnly property set to true is sent to the server when a postback - occurs, but the server does no processing for a read-only RadInput. This prevents a - malicious user from changing a Text value that is read-only. The value of the Text - property is preserved in the view state between postbacks unless modified by - server-side code. This property cannot be set by themes or style sheet themes. - - - The following code example demonstrates how to use the ReadOnly property to - prevent any changes to the text displayed in the RadTextBox control. This example - has a RadTextBox that accepts user input, which is a potential security threat. By - default, ASP.NET Web pages validate that user input does not include script or HTML - elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>MultiLine TextBox Example </title>
-
<script runat="server">
protected void SubmitButton_Click(Object sender, EventArgs e)
- {
-
Message.Text = "Thank you for your comment: <br />" + Comment.Text;
-
}
-
protected void Check_Change(Object sender, EventArgs e)
{
-
Comment.Wrap = WrapCheckBox.Checked;
Comment.ReadOnly = ReadOnlyCheckBox.Checked;
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- MultiLine TextBox Example
</h3>
Please enter a comment and click the submit button.
- <br />
<br />
- <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
- ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
- <hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
- </html> -
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>MultiLine RadTextBox Example </title>
-
<script runat="server">
-
Protected Sub SubmitButton_Click(sender As Object, e As EventArgs )
-
Message.Text = "Thank you for your comment: <br />" + Comment.Text
-
End Sub
-
Protected Sub Check_Change(sender As Object, e As EventArgs )
-
Comment.Wrap = WrapCheckBox.Checked
Comment.ReadOnly = ReadOnlyCheckBox.Checked
-
End Sub
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
- MultiLine RadTextBox Example
</h3>
Please enter a comment and click the submit button.
- <br />
<br />
- <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
- ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
- <hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
- </html> -
-
- - This example has a text box that accepts user input, which is a potential - security threat. By default, ASP.NET Web pages validate that user input does not - include script or HTML elements. - - - true if the contents of the RadInput control cannot be changed; otherwise, - false. The default value is false. - -
- - - Gets or sets the maximum number of characters allowed in the text box. - - - Use the MaxLength property to limit the number of characters that can be entered - in the RadInput control. This property cannot be set by themes or style sheet - themes. For more information, see ThemeableAttribute and Introduction to ASP.NET - Themes. - - - The following code example demonstrates how to use the MaxLength property to - limit the number of characters allowed in the RadTextBox control to 3. This example - has a RadTextBox that accepts user input, which is a potential security threat. By - default, ASP.NET Web pages validate that user input does not include script or HTML - elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>RadTextBox Example </title>
-
<script runat="server">
-
protected void AddButton_Click(Object sender, EventArgs e)
{
- int Answer;
-
Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
-
AnswerMessage.Text = Answer.ToString();
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
- <h3>
RadTextBox Example
</h3>
<table>
- <tr>
<td colspan="5">
Enter integer values into the text boxes.
- <br />
Click the Add button to add the two values.
- <br />
Click the Reset button to reset the text boxes.
- </td>
</tr>
<tr>
<td colspan="5">
-
</td>
</tr>
<tr align="center">
- <td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
</td>
- </tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td>
- &nbsp
</td>
</tr>
<tr align="center">
- <td colspan="4">
<asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
<td>
-
</td>
</tr>
</table>
</form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
<head>
<title>RadTextBox Example </title>

<script runat="server">

- Protected Sub AddButton_Click(sender As Object, e As EventArgs)

Dim Answer As Integer

- Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

AnswerMessage.Text = Answer.ToString()
-
End Sub

</script>

</head>
<body>
<form id="form1" runat="server">
- <h3>
RadTextBox Example
</h3>
<table>
<tr>
- <td colspan="5">
Enter Integer values into the text boxes.
- <br />
Click the Add button To add the two values.
- <br />
Click the Reset button To reset the text boxes.
- </td>
</tr>
<tr>
<td colspan="5">

- </td>
</tr>
<tr align="center">
<td>
- <radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
+
</td>
- <td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
- </td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
- </td>
</tr>
<tr>
<td colspan="2">
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
- <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
- <td>
&nbsp
</td>
</tr>
- <tr align="center">
<td colspan="4">
- <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
- </td>
<td>

</td>
- </tr>
</table>
</form>
</body>
</html> -
-
- - The maximum number of characters allowed in the text box. The default is 0, which - indicates that the property is not set. - -
- - - Gets the text including the prompt. - - The text including the prompt. - - - - Gets or sets the text including literals. - - The text including literals. - - - - Gets the text with prompt and literals. - - The text with prompt and literals. - - - - Gets or sets the skin name for the control user interface. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - A string containing the skin name for the control user interface. The default is string.Empty. - - - - - Gets the validation text which is used when validation of the fails. - - - The validation text which is used when validation of the fails. - - - - - Gets the mask parts of a which determine - which masks will be used for the control. - - The mask parts of a which determine - which masks will be used for the control. - - - - Class holding settings for number formating which are applied on - value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the string to use as the decimal separator in values. - The string to use as the decimal separator in values. - The property is being set to an empty string. - The property is being set to null. - - - Gets the native decimal separator of the control's culture. - - - Gets or sets the number of decimal places to use in numeric values - The number of decimal places to use in values. - The property is being set to a value that is less than 0 or greater than 99. - - - - Gets or sets the number of digits in each group to the left of the decimal in - values. - - The number of digits in each group to the left of the decimal in values. - The property is being set to null. - - - - Gets or sets the string that separates groups of digits to the left of the - decimal in values. - - - The string that separates groups of digits to the left of the decimal in - values. - - The property is being set to null. - - - Gets or sets the format pattern for negative values. - The format pattern for negative percent values. - The property is being set to a value that is less than 0 or greater than 11. - - - Gets or sets the format pattern for positive values. - The format pattern for positive percent values. The - The property is being set to a value that is less than 0 or greater than 3. - - - Gets or sets the format pattern for zero values. - The format pattern for zero percent values. The - The property is being set to a value that is less than 0 or greater than 3. - - - - Gets or sets the value that indicates whether the value will be rounded. - - The value that indicates whether the value will be rounded. - - - - Gets or sets the value that indicates whether the control will keep his not rounded value on edit mode. - - The value that indicates whether the control will keep his not rounded value on edit mode. - - - - Gets or sets whether the control will keep its trailing zeros - (according to the DecimalDigits setting) when focused. - - Determines whether the control will keep its trailing zeros - (according to the DecimalDigits setting) when focused. - - - - Gets or sets numeric value placeholder inside PositivePattern/NegativePattern. - - The numeric value placeholder inside PositivePattern/NegativePattern. - - - - Enumeration determining a numeric type. - - - - - RadNumericTextBox restricts user input to numeric values. It shares the common properties - of all RadInput controls, including support for skins, styles for different states, empty - message support, conditional postback on text change, flexible caret and button positioning, labels, and so on. - - - RadNumericTextBox restricts user input to numeric values. It shares the common properties - of all RadInput controls, including support for skins, styles for different states, empty - message support, conditional postback on text change, flexible caret and button positioning, labels, and so on. - - - - - Interface implemented by giving base - for the Culture and NumericType of the control. - - - - - - - - - Gets the style properties for RadInput when when the text is - negative. - - - A Telerik.WebControls.TextBoxStyle object that represents the style properties - for RadInput control. The default value is an empty TextBoxStyle object. - - - The following code example demonstrates how to set NegativeStyle - property: - [C#] -
-            </%@ Page Language="C#" /%>
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<radI:RadTextBox Text="-1" EmptyMessage="EmptyMessage" ID="RadNumericTextBox1" runat="server">
<NegativeStyle BackColor="red" />
</radI:RadTextBox>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - Use this property to provide a custom style for the negative state of - RadInput control. Common style attributes that can be adjusted include - foreground color, background color, font, and alignment within the RadInput. - Providing a different style enhances the appearance of the RadInput - control. - Negative style properties in the RadInput control are inherited from one - style property to another through a hierarchy. For example, if you specify a red - font for the EnabledStyle property, all other style properties in the RadInput - control will also have a red font. This allows you to provide a common appearance - for the control by setting a single style property. You can override the inherited - style settings for an item style property that is higher in the hierarchy by - setting its style properties. For example, you can specify a blue font for the - NegativeStyle property, overriding the red font specified in the EnabledStyle - property. - To specify a custom style, place the <NegativeStyle> tags between the - opening and closing tags of the RadInput control. You can then list the style - attributes within the opening <NegativeStyle> tag. - -
- - - Gets the settings associated with - increment settings determining the behavior when using the mouse wheel and keyboard arrow keys. - - The settings associated with - increment settings determining the behavior when using the mouse wheel and keyboard arrow keys. - - - Gets or sets the value of the RadInput control. - - Use the Text property to specify or determine the text displayed in the - RadInput control. To limit the number of characters accepted by the control, set - the MaxLength property. If you want to prevent the text from being modified, set - the ReadOnly property. - The value of this property, when set, can be saved automatically to a - resource file by using a designer tool. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - null if the Text property is Empty.The Value property are Nullable Double type. A - nullable type can represent the normal range of values for its underlying value type, - plus an additional null value. For example, a Nullable<Double>, pronounced - "Nullable of Double," can be assigned any value from -2^46 (-70368744177664) to - 2^46 (70368744177664), or it can be assigned the null value. - -
- - - Gets or sets the text content of a control. - - The text content of a control. - - - - - Gets the validation text which is used when validation of the fails. - - - The validation text which is used when validation of the fails. - - - - - Gets or sets the date content of RadNumericTextBox in a database friendly - way. - - An object that represents the Text property. The default value is null. - - This property behaves exactly like the Value property. The only difference is - that it will not throw an exception if the new value is not double object (or null). If - you assign null to the control you will see blank RadInput. - - - The following example demonstrates how to bind the RadNumericTextBox: - [C#] -
-            </%@ Page Language="C#" /%>
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable table = new System.Data.DataTable();
table.Columns.Add("num");
-
System.Data.DataRow row = table.NewRow();
row["num"] = (double)12.56;
table.Rows.Add(row);
-
row = table.NewRow();
row["num"] = (int)12;
table.Rows.Add(row);
-
row = table.NewRow();
row["num"] = DBNull.Value;
table.Rows.Add(row);
-
row = table.NewRow();
row["num"] = "33";
table.Rows.Add(row);
-
row = table.NewRow();
table.Rows.Add(row);
-
Repeater1.DataSource = table;
Repeater1.DataBind();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater runat="server" ID="Repeater1">
<ItemTemplate>
<radI:RadNumericTextBox DbValue='</%# Bind("num") /%>'
ID="RadNumericTextBox1" runat="server">
</radI:RadNumericTextBox>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html> -
- [VisualBasic] -
-            </%@ Page Language="VB" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

<!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim table As System.Data.DataTable = New System.Data.DataTable
table.Columns.Add("num")
Dim row As System.Data.DataRow = table.NewRow
row("num") = CType(12.56,Double)
table.Rows.Add(row)
row = table.NewRow
row("num") = CType(12,Integer)
table.Rows.Add(row)
row = table.NewRow
row("num") = DBNull.Value
table.Rows.Add(row)
row = table.NewRow
row("num") = "33"
table.Rows.Add(row)
row = table.NewRow
table.Rows.Add(row)
Repeater1.DataSource = table
Repeater1.DataBind
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater runat="server" ID="Repeater1">
<ItemTemplate>
<radI:RadNumericTextBox DbValue='</%# Bind("num") /%>'
ID="RadNumericTextBox1" runat="server">
</radI:RadNumericTextBox>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets or sets a value indicating the Multiplication factor used in DbValue property. - - - 1.0 by default. It can be set to anything different than zero. - - - Use this property when you want to multiply value bound from the database by some factor, - and then to devide by the same factor when saving it back to the database. - - - Set "DbValueFactor=100". Then if you set "DbValue=0.5", it will be displayed in the input as "50". - If the user type in the browser value like "30", then the DbValue will be "0.3". - - - - - Gets or sets a value indicating whether the button is displayed in the - RadInput control. - - - true if the button is displayed; otherwise, false. The default value is true, - however this property is only examined when the ButtonTemplate property is not a null - reference (Nothing in Visual Basic). - - - Use the ShowButton property to specify whether the button is displayed in the - RadInput control. - The contents of the button are controlled by the ButtonTemplate - property. - - - The following code example demonstrates how to use the ShowButton property to - display the button in the RadInput control. - [C#] -
-            </%@ Page Language="C#" /%>
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
function Click(sender)
{
alert("click");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<radI:RadTextBox ShowButton="true" ID="RadNumericTextBox1" runat="server">
<ClientEvents OnButtonClick="Click" />
<ButtonTemplate>
<input type="button" value="click here" />
</ButtonTemplate>
</radI:RadTextBox>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Type of object that is used to wrap the DbValue property. - -
- That property is designed to be used when this control is - embedded into grid or other data-bound control. - Default value is set to the Double. -
-
- Default value is set to the Double. -
- - - Gets or sets CSS class for the spin up button. - - The CSS class for the spin up button. - - - - Gets or sets CSS class for the spin down button. - - The CSS class for the spin down button. - - - Gets or sets the culture used by RadNumericTextBox to format the numburs. - - A CultureInfo object that represents the current culture used. The default value - is System.Threading.Thread.CurrentThread.CurrentUICulture. - - - The following example demonstrates how to use the Culture property. - - private void Page_Load(object sender, System.EventArgs e) - { - RadNumericTextBox.Culture = new CultureInfo("en-US"); - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadNumericTextBox1.Culture = New CultureInfo("en-US") - End Sub - - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets or sets the largest possible value of a RadNumericTextBox. - The default value is positive 2^46. - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- -
- Gets or sets the smallest possible value of a RadNumericTextBox. -
- The default value is negative -2^46. -
- - - Gets or sets whether the RadNumericTextBox should autocorrect out of range values to valid values or leave them visible to the user and apply its InvalidStyle. If the InvalidStyle is applied, the control will have no value. - - The default value is true - - - Gets or sets the numeric type of the RadNumericTextBox. - One of the NumericType enumeration values. The default is Number. - - Use the Type property to determine the numeric type that the RadNumericTextBox - represents. The Type property is represented by one of the NumericType enumeration - values. - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Gets or sets the display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - - The display text which allows you to set the display value from the Server to a - different value the actual value. Similar to the empty message, but shown even if the input is not empty. - This text will be cleared once the user changes the input value. - - - - - Gets or sets the selection on focus options for the RadInput control - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
- - Use this property to provide selection on focus of RadInput control. You - can set one of the following values: - - - The following example demonstrates how to set the SelectionOnFocus property - from DropDownList: -
-            </%@ Page Language="C#" /%>  
- </%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
- <title>RadTextBox selection</title>
<script runat="server">
- protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
- if (DropDownList1.SelectedValue == "CaretToBeginning")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToBeginning;
- }
else if (DropDownList1.SelectedValue == "CaretToEnd")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.CaretToEnd;
- }
else if (DropDownList1.SelectedValue == "SelectAll")
{
- this.RadTextBox1.SelectionOnFocus = Telerik.WebControls.SelectionOnFocus.SelectAll;
- }
}
</script>
</head>
<body>
- <form id="form1" runat="server">
<div>
- <radI:RadTextBox SelectionOnFocus="CaretToBeginning" ID="RadTextBox1" runat="server"></radI:RadTextBox>
- <br />
- <asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
- <asp:ListItem Text="CaretToBeginning">CaretToBeginning</asp:ListItem>
- <asp:ListItem Text="CaretToEnd">CaretToEnd</asp:ListItem>
- <asp:ListItem Text="SelectAll">SelectAll</asp:ListItem>
- </asp:DropDownList></div>
</form>
</body>
</html> -
-
- - A Telerik.WebControls.SelectionOnFocus object that represents the selection on - focus in RadInput control. The default value is "None". - - None - CaretToBeginning - CaretToEnd - SelectAll - - -
- - - Gets the numeric format of the RadNumericTextBox control. - - The numeric format of the RadNumericTextBox control. - - - Gets control that contains the up button of RadInput control - The ShowButton or ShowSpinButton properties must be set to true - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets control that contains the up button of RadInput control - The ShowButton or ShowSpinButton properties must be set to true - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Summary description for AutoPostBackControl. - - - - - RadTextBox is a simple input control for letting the user enter text values. - It shares the common properties of all RadInput controls, including support - for skins, styles for different states, empty message support, conditional - postback on text change, flexible caret and button positioning, labels, and so on. - - - RadTextBox is a simple input control for letting the user enter text values. - It shares the common properties of all RadInput controls, including support - for skins, styles for different states, empty message support, conditional - postback on text change, flexible caret and button positioning, labels, and so on. - - - - - Gets or sets the behavior mode (single-line, multiline, or password) of the - RadTextBox control. - - - One of the RadInputTextBoxMode enumeration values. The default value is - SingleLine. - - - Use the TextMode property to specify whether a RadTextBox control is - displayed as a single-line, multiline, or password text box. - When the RadTextBox control is in multiline mode, you can control the number - of rows displayed by setting the Rows property. You can also specify whether the - text should wrap by setting the Wrap property. - If the RadTextBox control is in password mode, all characters entered in the - control are masked. - This property cannot be set by themes or style sheet themes - - The specified mode is not one of the TextBoxMode enumeration values. - - The following code example demonstrates how to use the RadTextMode property to - specify a multiline text box. This example has a text box that accepts user input, - which is a potential security threat. By default, ASP.NET Web pages validate that - user input does not include script or HTML elements. - - <%@ Page Language="VB" AutoEventWireup="True" %> - - <%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html> - <head> - <title>MultiLine RadTextBox Example </title> - - <script runat="server"> - - Protected Sub SubmitButton_Click(sender As Object, e As EventArgs ) - - Message.Text = "Thank you for your comment: <br />" + Comment.Text - - End Sub - - Protected Sub Check_Change(sender As Object, e As EventArgs ) - - Comment.Wrap = WrapCheckBox.Checked - Comment.ReadOnly = ReadOnlyCheckBox.Checked - - End Sub - - </script> - - </head> - <body> - <form id="form1" runat="server"> - <h3> - MultiLine RadTextBox Example - </h3> - Please enter a comment and click the submit button. - <br /> - <br /> - <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" /> - <br /> - <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment" - ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" /> - <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True" - OnCheckedChanged="Check_Change" runat="server" /> - - <asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True" - OnCheckedChanged="Check_Change" runat="server" /> - - <asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" /> - <hr /> - <asp:Label ID="Message" runat="server" /> - </form> - </body> - </html> - - - <%@ Page Language="C#" AutoEventWireup="True" %> - - <%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" %> - - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html> - <head> - <title>MultiLine RadTextBox Example </title> - - <script runat="server"> - - protected void SubmitButton_Click(Object sender, EventArgs e) - { - - Message.Text = "Thank you for your comment: <br />" + Comment.Text; - - } - - protected void Check_Change(Object sender, EventArgs e) - { - - Comment.Wrap = WrapCheckBox.Checked; - Comment.ReadOnly = ReadOnlyCheckBox.Checked; - - } - - </script> - - </head> - <body> - <form id="form1" runat="server"> - <h3> - MultiLine RadTextBox Example - </h3> - Please enter a comment and click the submit button. - <br /> - <br /> - <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" /> - <br /> - <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment" - ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" /> - <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True" - OnCheckedChanged="Check_Change" runat="server" /> - - <asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True" - OnCheckedChanged="Check_Change" runat="server" /> - - <asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" /> - <hr /> - <asp:Label ID="Message" runat="server" /> - </form> - </body> - </html> - - - - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets or sets the number of rows displayed in a multiline RadTextBox. - - The number of rows in a multiline RadTextBox. The default is 0, which displays a - two-line text box. - - - Use the Rows property to specify the number of rows displayed in a multiline - RadTextBox. This property is applicable only when the TextMode property is set to - MultiLine. This property cannot be set by themes or style sheet themes. This example - has a text box that accepts user input, which is a potential security threat. By - default, ASP.NET Web pages validate that user input does not include script or HTML - elements. - - - The following code example demonstrates how to use the Rows property to - specify a height of 5 rows for a multiline RadTextBox control. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>
-
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>MultiLine TextBox Example </title>
-
<script runat="server">
protected void SubmitButton_Click(Object sender, EventArgs e)
{
Message.Text = "Thank you for your comment: <br />" + Comment.Text;
}
-
protected void Check_Change(Object sender, EventArgs e)
{
Comment.Wrap = WrapCheckBox.Checked;
Comment.ReadOnly = ReadOnlyCheckBox.Checked;
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
MultiLine TextBox Example
</h3>
Please enter a comment and click the submit button.
<br />
<br />
- <radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
<br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
<hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
</html> -
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>MultiLine RadTextBox Example </title>

<script runat="server">

Protected Sub SubmitButton_Click(sender As Object, e As EventArgs )

- Message.Text = "Thank you for your comment: <br />" + Comment.Text

End Sub

Protected Sub Check_Change(sender As Object, e As EventArgs )

Comment.Wrap = WrapCheckBox.Checked
Comment.ReadOnly = ReadOnlyCheckBox.Checked

End Sub

</script>

</head>
<body>
- <form id="form1" runat="server">
<h3>
MultiLine RadTextBox Example
</h3>
Please enter a comment and click the submit button.
<br />
<br />
<radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
<asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />

- <asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />

<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
<hr />
<asp:Label ID="Message" runat="server" />
- </form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - Gets or sets the display width of the RadTextBox in characters. - - The display width, in characters, of the RadTextBox. The default is 0, which - indicates that the property is not set. - - The specified width is less than 0. - - The following code example demonstrates how to use the Columns property to - specify a width of 2 characters for the RadTextBox control. This example has a text - box that accepts user input, which is a potential security threat. By default, - ASP.NET Web pages validate that user input does not include script or HTML - elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>
-
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>RadTextBox Example </title>
-
<script runat="server">
-
protected void AddButton_Click(Object sender, EventArgs e)
{
int Answer;
-
Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
-
AnswerMessage.Text = Answer.ToString();
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
RadTextBox Example
</h3>
-
<table>
<tr>
<td colspan="5">
Enter integer values into the text boxes.
<br />
- Click the Add button to add the two values.
<br />
Click the Reset button to reset the text boxes.
</td>
</tr>
<tr>
<td colspan="5">
-
</td>
</tr>
<tr align="center">
<td>
<radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
</td>
- <td>
+
</td>
<td>
<radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
</td>
<td>
=
</td>
- <td>
<asp:Label ID="AnswerMessage" runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
- ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
<asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
- Display="Dynamic" runat="server" />
</td>
<td colspan="2">
<asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
Display="Dynamic" runat="server" />
</td>
- <td>
&nbsp
</td>
</tr>
<tr align="center">
<td colspan="4">
<asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
</td>
<td>
-
</td>
</tr>
</table>
</form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
- <title>TextBox Example </title>

<script runat="server">

Protected Sub AddButton_Click(sender As Object, e As EventArgs)

Dim Answer As Integer

Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text)

AnswerMessage.Text = Answer.ToString()

End Sub

- </script>

</head>
<body>
<form id="form1" runat="server">
<h3>
RadTextBox Example
</h3>
<table>
<tr>
<td colspan="5">
Enter integer values into the text boxes.
- <br />
Click the Add button to add the two values.
<br />
Click the Reset button to reset the text boxes.
</td>
</tr>
<tr>
<td colspan="5">

</td>
- </tr>
<tr align="center">
<td>
<radI:RadTextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server" />
</td>
<td>
+
</td>
<td>
- <radI:RadTextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server" />
</td>
<td>
=
</td>
<td>
<asp:Label ID="AnswerMessage" runat="server" />
</td>
- </tr>
<tr>
<td colspan="2">
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
- <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1" Type="Integer"
MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
Display="Dynamic" runat="server" />
</td>
- <td colspan="2">
<asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
ErrorMessage="Please enter a value.<br />" Display="Dynamic" runat="server" />
<asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2" Type="Integer"
- MinimumValue="1" MaximumValue="100" ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
Display="Dynamic" runat="server" />
</td>
<td>
&nbsp
</td>
</tr>
- <tr align="center">
<td colspan="4">
<asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server" />
</td>
<td>

</td>
</tr>
</table>
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - - - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0 -
-
- - - Gets or sets a value indicating whether the text content wraps within a multiline - RadTextBox. - - - true if the text content wraps within a multiline RadTextBox; otherwise, false. - The default is true. - - - Use the Wrap property to specify whether the text displayed in a multiline - RadTextBox control automatically continues on the next line when the text reaches the - end of the control. This property is applicable only when the RadTextMode property is - set to MultiLine - - - The following code example demonstrates how to use the Wrap property to wrap - text entered in the RadTextBox control. This example has a text box that accepts - user input, which is a potential security threat. By default, ASP.NET Web pages - validate that user input does not include script or HTML elements. - [C#] -
-            </%@ Page Language="C#" AutoEventWireup="True" /%>  
</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>MultiLine RadTextBox Example </title>
-
<script runat="server">
-
protected void SubmitButton_Click(Object sender, EventArgs e)
{
-
Message.Text = "Thank you for your comment: <br />" + Comment.Text;
-
}
-
protected void Check_Change(Object sender, EventArgs e)
{
-
Comment.Wrap = WrapCheckBox.Checked;
Comment.ReadOnly = ReadOnlyCheckBox.Checked;
-
}
-
</script>
-
</head>
<body>
<form id="form1" runat="server">
<h3>
MultiLine RadTextBox Example
</h3>
- Please enter a comment and click the submit button.
<br />
<br />
<radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
<br />
- <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />
-
<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />
-
<asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
<hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
</html>
-
- [Visual Basic] -
-            </%@ Page Language="VB" AutoEventWireup="True" /%>

</%@ Register Assembly="RadInput.Net2" Namespace="Telerik.WebControls" TagPrefix="radI" /%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>MultiLine RadTextBox Example </title>

<script runat="server">

- Protected Sub SubmitButton_Click(sender As Object, e As EventArgs )

Message.Text = "Thank you for your comment: <br />" + Comment.Text

End Sub

Protected Sub Check_Change(sender As Object, e As EventArgs )

- Comment.Wrap = WrapCheckBox.Checked
Comment.ReadOnly = ReadOnlyCheckBox.Checked

End Sub

</script>

</head>
<body>
<form id="form1" runat="server">
<h3>
- MultiLine RadTextBox Example
</h3>
Please enter a comment and click the submit button.
<br />
<br />
<radI:RadTextBox ID="Comment" TextMode="MultiLine" Columns="50" Rows="5" runat="server" />
- <br />
<asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Comment"
ErrorMessage="Please enter a comment.<br />" Display="Dynamic" runat="server" />
- <asp:CheckBox ID="WrapCheckBox" Text="Wrap Text" Checked="True" AutoPostBack="True"
- OnCheckedChanged="Check_Change" runat="server" />

<asp:CheckBox ID="ReadOnlyCheckBox" Text="ReadOnly" Checked="False" AutoPostBack="True"
OnCheckedChanged="Check_Change" runat="server" />

- <asp:Button ID="SubmitButton" Text="Submit" OnClick="SubmitButton_Click" runat="server" />
<hr />
<asp:Label ID="Message" runat="server" />
</form>
</body>
</html> -
-
- - Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media - Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP - Starter Edition - The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft - Windows XP SP2, and Windows Server 2003 SP1. - .NET Framework
- Supported in: 3.0, 2.0, 1.1, 1.0
-
-
- - - Get or sets the specific HTML input type that will be rendered in the control - - - - - Gets the settings that are determining the strenght of a - with type set to password. - - The settings that are determining the strenght of a - with type set to password. - - - - Use this property to set resizing mode of RadTextBox when TextMode is InputMode.MultiLine. - - - Supports ResizeMode enumeration values: None, Both, Horizontal, and Vertical - - - - - A scheduled event in RadScheduler with Start and End time, Subject as well other optional additional informatioin such as resources or custom attributes. - - - - - Creates a new Appointment object that is a clone of the current instance. - - - A new Appointment object that is a clone of the current instance. - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - Gets the appointment controls. - - The appointment controls. - - - - Gets the client ID. - - The client ID. - - - - Gets the DOM elements. - - The DOM elements. - - - - Gets the attributes. - - The attributes. - - - - Gets or sets the resources. - - The resources. - - - - A collection of all reminders associated with the appointment - - - - - Gets or sets the CSS class. - - The CSS class. - - - - Gets or sets the color of the back. - - The color of the back. - - - - Gets or sets the color of the border. - - The color of the border. - - - - Gets or sets the width of the border. - - The width of the border. - - - - Gets or sets the border style. - - The border style. - - - - Gets the font. - - The font. - - - - Gets or sets the ForeColor. - - The ForeColor. - - - - Gets or sets the ID. - - The ID. - - - - Gets or sets the visible. - - The visible. - - - - Gets or sets the start. - - The start. - - - - Gets or sets the end. - - The end. - - - - The appointment duration. - - - The duration can be zero. - - - - - The Appointment subject. - - - - - The Appointment time zone - - - - - The Appointment description. - - - - - Gets or sets the tool tip. - - The tool tip. - - - - Gets or sets the recurrence rule. - - The recurrence rule. - - - - Gets or sets the recurrence parent ID. - - The recurrence parent ID. - - - - Gets or sets the state of the recurrence. - - The state of the recurrence. - - - - Gets or sets the owner. - - The owner. - - - - Gets or sets the context menu ID. - - The context menu ID. - - - - Gets or sets a value indicating whether the editing of this appointment is allowed. - - true if editing of this appointment is allowed; otherwise, false. - - - - Gets or sets a value indicating whether the deleting of this appointment is allowed. - - true if the deleting of this appointment is allowed; otherwise, false. - - - - Gets or sets the data item represented by the - Appointment object in the - RadScheduler control. - - - This property is available only during data binding. - - - - - A collection of appointments. - - - - - Creates an empty AppointmentCollection. - - - - - Creates an AppointmentCollection - and populates it with Appointment objects. - - - The Appointment objects to add to the collection. - - - - - Determines whether an element is in the AppointmentCollection. - - - The Appointment to locate in the AppointmentCollection. - - true if item is found in the AppointmentCollection; otherwise, false. - - This method performs a linear search; therefore, this method is an O(n) operation, where n is Count. - - - - - Copies the entire AppointmentCollection to a compatible one-dimensional Array, - starting at the specified index of the target array. - - - The one-dimensional Array that is the destination of the Appointments copied from AppointmentCollection. - The Array must have zero-based indexing. - - - The zero-based index in array at which copying begins. - - - - - Searches for the specified Appointment and returns the zero-based index of the - first occurrence within the entire AppointmentCollection. - - - The Appointment to locate in the AppointmentCollection. - - - The zero-based index of the first occurrence of value within the entire AppointmentCollection, if found; otherwise, -1. - - - - - Searches for an Appointment with the specified ID and returns a reference to it. - - - The Appointment ID to search for. - - - The Appointment with the specified ID, if found; otherwise, null. - - - This method determines equality by calling Object.Equals. - - - - - Searches for all Appointments with the specified RecurrenceParentID - and returns a generic IList containing them. - - - The RecurrenceParentID to search for. - - - A generic IList containing the Appointments with the specified RecurrenceParentID, if found. - - - This method determines equality by calling Object.Equals. - - Appointments with recurrence state Exception - are linked to their parents using the RecurrenceParentID property. - - - - - Searches for all Appointments with the specified - RecurrenceParentID and - RecurrenceState. - - - The RecurrenceParentID to search for. - - - The RecurrenceState to search for. - - - A generic IList containing the Appointments - with the specified RecurrenceParentID and - RecurrenceState, if found. - - - This method determines equality by calling Object.Equals. - - - - - Searches for all Appointments that - start in the specified time range and returns a generic IList containing them. - - - The start of the time range. - - - The end of the time range. - - - A generic IList containing the Appointments - that start in the specified time range. - - - - - Searches for all Appointments that - overlap with the specified time range and returns a generic IList containing them. - - - The start of the time range. - - - The end of the time range. - - - A generic IList containing the Appointments - that overlap with the specified time range. - - - - - Searches for all Appointments that - are fully contained within the specified time range. - - - The start of the time range. - - - The end of the time range. - - - A generic IList containing the Appointments - that are fully contained within the specified time range. - - - - - Copies the elements of the AppointmentCollection - to a new Appointment array. - - - An Appointment array containing copies of the elements of the - AppointmentCollection. - - - - - Returns an enumerator for the entire AppointmentCollection. - - - An IEnumerator for the entire AppointmentCollection. - - - - - Gets or sets the Appointment at the specified index. - - The zero-based index of the Appointment to get or set. - The appointment at the specified index. - - - - Provides data for the event of the control. - - - - - Gets the container. - - The container. - - - - Provides data for the event of the control. - - - - - Gets the mode. - - The mode. - - - - Provides data for the event of the control. - - - - - Gets the container. - - The container. - - - - Provides data for the event of the control. - - - - - Gets the container. - - The container. - - - - Provides data for the event of the control. - - - - - Gets the container. - - The container. - - - - Specifies the type of navigation commands that are supported by RadScheduler. - - - - - - - Indicates that RadScheduler is about to switch to Day View as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to Week View as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to Month View as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to Timeline View as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to Multi-day View as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to the next time period as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to the previous time period as a result of user interaction. - - - - - Indicates that RadScheduler is about to switch to a given date. - - - This command occurs when: - - The "today" link in the header is clicked. - A day header is clicked in Month View. - - - - - - Indicates that RadScheduler is about to switch from/to 24-hour view as a result of user interaction. - - - Only applicable in Day and Week views. - The current mode can be determined by inspecting the - ShowFullTime property. - - - - - Indicates that RadScheduler is about to adjust its visible range, so the next appointment segment - becomes visible. - - - This command is a result of the user clicking the bottom arrow of an appointment. - Depending on the current view RadScheduler will either switch to the next - time period or to 24-hour view. - - - - - Indicates that RadScheduler is about to adjust its visible range, so the previous appointment segment - becomes visible. - - - This command is a result of the user clicking the top arrow of an appointment. - Depending on the current view RadScheduler will either switch to the previous - time period or to 24-hour view. - - - - - Indicates that RadScheduler is about to switch to a different date that the - user has selected from the integrated date picker. - - - - - Provides data for the event of the control. - - - - - The type of navigation command that is being processed. - - - - - The new date that has been selected. - - - This property is applicable only for the - NavigateToSelectedDate and - SwitchToSelectedDay commands. - - - - - Provides data for the event of the control. - - - - - The type of navigation command that has been processed. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - This abstract class defines the SchedulerProviderBase that inherits ProviderBase. - - - - - Gets the appointments. - - The scheduler info. - - - - - Gets the resources. - - The scheduler info. - - - - - Inserts the specified scheduler info. - - The scheduler info. - The appointment to insert. - - - - Updates the specified scheduler info. - - The scheduler info. - The appointment to update. - - - - Deletes the specified scheduler info. - - The scheduler info. - The appointment to delete. - - - - Returns a synchronized (thread safe) wrapper for this provider instance. - - A synchronized (thread safe) wrapper for this provider instance. - - - - Gets the appointments. - - The owner. - - - - - Gets the resource types. - - The owner. - - - - - Gets the type of the resources by. - - The owner. - Type of the resource. - - - - - Inserts the specified owner. - - The owner. - The appointment to insert. - - - - Updates the specified owner. - - The owner. - The appointment to update. - - - - Deletes the specified owner. - - The owner. - The appointment to delete. - - - - This abstract class defines the DbSchedulerProviderBase that inherits SchedulerProviderBase. - - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific - attributes specified in the configuration for this provider. - The name of the provider is - null. - The name of the provider has a length - of zero. - An attempt is made to call - - on a provider after the provider has already been initialized. - - - - Gets or sets the db factory. - - The db factory. - - - - Gets or sets the persist changes. - - The persist changes. - - - - Gets or sets the connection string. - - The connection string. - - - - This Class defines the SchedulerProvider Collection that implements ProviderCollection. - - - - - Adds a provider to the collection. - - The provider to be added. - The collection is read-only. - - - is null. - The - of is null.- or -The length of the - of is less than 1. - - - - - - - For internal use only. - - - - - - - A RadScheduler provider that uses XML document as a data store. - - - - - Format string for the dates. The "Z" appendix signifies UTC time. - - - - - Initializes a new instance of the class. - - Name of the data file. - if set to true the changes will be persisted. - - - - Initializes a new instance of the class. - - The document instance to use as a data store. - - - - Initializes a new instance of the class. - - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider. - The name of the provider is null. - An attempt is made to call on a provider after the provider has already been initialized. - The name of the provider has a length of zero. - - - - Fetches appointments. - - The owner RadScheduler instance. - - - - - Inserts the specified appointment. - - The owner RadScheduler instance. - The appointment to insert. - - - - Updates the specified appointment. - - The owner RadScheduler instance. - The appointment to update. - - - - Deletes the specified appointment. - - The owner RadScheduler instance. - The appointment to delete. - - - - Gets the resource types. - - The owner RadScheduler instance. - - - - - Gets the type of the resources by. - - The owner RadScheduler instance. - Type of the resource. - - - - - This Class defines the Configuration Section of RadScheduler. - - - - - Gets the appointment providers. - - The appointment providers. - - - - Gets the default appointment provider. - - The default appointment provider. - - - Occurrences of this rule repeat on a daily basis. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class DailyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every two days. - DailyRecurrenceRule rrule = new DailyRecurrenceRule(2, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM (Friday) - 2: 6/3/2007 3:30:00 PM (Sunday) - 3: 6/5/2007 3:30:00 PM (Tuesday) - 4: 6/7/2007 3:30:00 PM (Thursday) - 5: 6/9/2007 3:30:00 PM (Saturday) - 6: 6/11/2007 3:30:00 PM (Monday) - 7: 6/13/2007 3:30:00 PM (Wednesday) - 8: 6/15/2007 3:30:00 PM (Friday) - 9: 6/17/2007 3:30:00 PM (Sunday) - 10: 6/19/2007 3:30:00 PM (Tuesday) - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class DailyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every two days. - Dim rrule As New DailyRecurrenceRule(2, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM (Friday) - ' 2: 6/3/2007 3:30:00 PM (Sunday) - ' 3: 6/5/2007 3:30:00 PM (Tuesday) - ' 4: 6/7/2007 3:30:00 PM (Thursday) - ' 5: 6/9/2007 3:30:00 PM (Saturday) - ' 6: 6/11/2007 3:30:00 PM (Monday) - ' 7: 6/13/2007 3:30:00 PM (Wednesday) - ' 8: 6/15/2007 3:30:00 PM (Friday) - ' 9: 6/17/2007 3:30:00 PM (Sunday) - '10: 6/19/2007 3:30:00 PM (Tuesday) - ' - - - - - Provides the abstract base class for recurrence rules. - HourlyRecurrenceRule Class - DailyRecurrenceRule Class - WeeklyRecurrenceRule Class - MonthlyRecurrenceRule Class - YearlyRecurrenceRule Class - - Notes to implementers: This base class is provided to make it - easier for implementers to create a recurrence rule. Implementers are encouraged to - extend this base class instead of creating their own. - - - - - Represents an empty recurrence rule - - - - - Creates a recurrence rule with the specified pattern and range. - - The recurrence pattern. - The recurrence range. - The constructed recurrence rule. - - - Creates a recurrence rule instance from it's string representation. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class ParsingExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - // Prints the string representation of the recurrence rule: - string rruleAsString = rrule.ToString(); - Console.WriteLine("Recurrence rule:\n\n{0}\n", rruleAsString); - - // The string representation can be stored in a database, etc. - // ... - - // Then it can be reconstructed using TryParse method: - RecurrenceRule parsedRule; - RecurrenceRule.TryParse(rruleAsString, out parsedRule); - Console.WriteLine("After parsing (should be the same):\n\n{0}", parsedRule); - } - } - } - - /* - This example produces the following results: - - Recurrence rule: - - DTSTART:20070601T123000Z - DTEND:20070601T130000Z - RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - - - After parsing (should be the same): - - DTSTART:20070601T123000Z - DTEND:20070601T130000Z - RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class ParsingExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - ' Prints the string representation of the recurrence rule: - Dim rruleAsString As String = rrule.ToString() - Console.WriteLine("Recurrence rule:" & Chr(10) & "" & Chr(10) & "{0}" & Chr(10) & "", rruleAsString) - - ' The string representation can be stored in a database, etc. - ' ... - - ' Then it can be reconstructed using TryParse method: - Dim parsedRule As RecurrenceRule - RecurrenceRule.TryParse(rruleAsString, parsedRule) - Console.WriteLine("After parsing (should be the same):" & Chr(10) & "" & Chr(10) & "{0}", parsedRule) - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Recurrence rule: - ' - 'DTSTART:20070601T123000Z - 'DTEND:20070601T130000Z - 'RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - ' - ' - 'After parsing (should be the same): - ' - 'DTSTART:20070601T123000Z - 'DTEND:20070601T130000Z - 'RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - ' - - - True if input was converted successfully, false otherwise. - The string representation to parse. - - When this method returns, contains the recurrence rule instance, if the - conversion succeeded, or null if the conversion failed. The conversion fails if the - value parameter is a null reference (Nothing in Visual Basic) - or represents invalid recurrence rule. - - - - - Creates a recurrence rule instance from it's string representation. - - The string to parse. - RecurrenceRule if the parsing succeeded or null (Nothing in Visual Basic) if the parsing failed. - - See the TryParse overload for more information and examples. - - - - Specifies the effective range for evaluating occurrences. - End date is before Start date. - - The range is inclusive. To clear the effective range call - . - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class EffectiveRangeExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - // Limits the effective range. - rrule.SetEffectiveRange(Convert.ToDateTime("6/1/2007 5:00 PM"), Convert.ToDateTime("6/1/2007 8:00 PM")); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 5:30:00 PM - 2: 6/1/2007 7:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class EffectiveRangeExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - ' Limits the effective range. - rrule.SetEffectiveRange(Convert.ToDateTime("6/1/2007 5:00 PM"), Convert.ToDateTime("6/1/2007 8:00 PM")) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 5:30:00 PM - ' 2: 6/1/2007 7:30:00 PM - ' - - - ClearEffectiveRange Method - The starting date of the effective range. - The ending date of the effective range. - - - Clears the effective range set by calling . - If no effective range was set, calling this method has no effect. - SetEffectiveRange Method - - - Converts the recurrence rule to it's equivalent string representation. - The string representation of this recurrence rule. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class ParsingExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - // Prints the string representation of the recurrence rule: - string rruleAsString = rrule.ToString(); - Console.WriteLine("Recurrence rule:\n\n{0}\n", rruleAsString); - - // The string representation can be stored in a database, etc. - // ... - - // Then it can be reconstructed using TryParse method: - RecurrenceRule parsedRule; - RecurrenceRule.TryParse(rruleAsString, out parsedRule); - Console.WriteLine("After parsing (should be the same):\n\n{0}", parsedRule); - } - } - } - - /* - This example produces the following results: - - Recurrence rule: - - DTSTART:20070601T123000Z - DTEND:20070601T130000Z - RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - - - After parsing (should be the same): - - DTSTART:20070601T123000Z - DTEND:20070601T130000Z - RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class ParsingExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - ' Prints the string representation of the recurrence rule: - Dim rruleAsString As String = rrule.ToString() - Console.WriteLine("Recurrence rule:" & Chr(10) & "" & Chr(10) & "{0}" & Chr(10) & "", rruleAsString) - - ' The string representation can be stored in a database, etc. - ' ... - - ' Then it can be reconstructed using TryParse method: - Dim parsedRule As RecurrenceRule - RecurrenceRule.TryParse(rruleAsString, parsedRule) - Console.WriteLine("After parsing (should be the same):" & Chr(10) & "" & Chr(10) & "{0}", parsedRule) - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Recurrence rule: - ' - 'DTSTART:20070601T123000Z - 'DTEND:20070601T130000Z - 'RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - ' - ' - 'After parsing (should be the same): - ' - 'DTSTART:20070601T123000Z - 'DTEND:20070601T130000Z - 'RRULE:FREQ=HOURLY;COUNT=10;INTERVAL=2; - ' - - - - The string representation is based on the iCalendar data format (RFC - 2445). - - - - Overriden. Returns the hash code for this instance. - The hash code for this instance. - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value is an instance of - and equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - - Determines whether two specified objects have the - same value. - - - - - Determines whether two specified objects have - different values. - - - - - Populates a SerializationInfo with the data needed to serialize this - object. - - The to populate with data. - The destination (see ) for this serialization. - - - Gets the associated with this recurrence rule. - The associated with this recurrence rule. - - By calling the range of the generated - occurrences can be narrowed. - - - - Gets the associated with this recurrence rule. - The associated with this recurrence rule. - - - Occurrence times are in UTC. - Gets the evaluated occurrence times of this recurrence rule. - The evaluated occurrence times of this recurrence rule. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class HourlyRecurrenceRuleExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM - 2: 6/1/2007 5:30:00 PM - 3: 6/1/2007 7:30:00 PM - 4: 6/1/2007 9:30:00 PM - 5: 6/1/2007 11:30:00 PM - 6: 6/2/2007 1:30:00 AM - 7: 6/2/2007 3:30:00 AM - 8: 6/2/2007 5:30:00 AM - 9: 6/2/2007 7:30:00 AM - 10: 6/2/2007 9:30:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class HourlyRecurrenceRuleExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM - ' 2: 6/1/2007 5:30:00 PM - ' 3: 6/1/2007 7:30:00 PM - ' 4: 6/1/2007 9:30:00 PM - ' 5: 6/1/2007 11:30:00 PM - ' 6: 6/2/2007 1:30:00 AM - ' 7: 6/2/2007 3:30:00 AM - ' 8: 6/2/2007 5:30:00 AM - ' 9: 6/2/2007 7:30:00 AM - '10: 6/2/2007 9:30:00 AM - ' - - - - - - Gets a value indicating whether this recurrence rule yields any - occurrences. - - True this recurrence rule yields any occurrences, false otherwise. - - - Gets or sets a list of the exception dates associated with this recurrence rule. - A list of the exception dates associated with this recurrence rule. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class RecurrenceExceptionsExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - // Creates a recurrence exception for 5:30 PM (local time). - // Note that exception dates must be in universal time. - rrule.Exceptions.Add(Convert.ToDateTime("6/1/2007 5:30 PM").ToUniversalTime()); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM - 2: 6/1/2007 7:30:00 PM - 3: 6/1/2007 9:30:00 PM - 4: 6/1/2007 11:30:00 PM - 5: 6/2/2007 1:30:00 AM - 6: 6/2/2007 3:30:00 AM - 7: 6/2/2007 5:30:00 AM - 8: 6/2/2007 7:30:00 AM - 9: 6/2/2007 9:30:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class RecurrenceExceptionsExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - ' Creates a recurrence exception for 5:30 PM (local time). - ' Note that exception dates must be in universal time. - rrule.Exceptions.Add(Convert.ToDateTime("6/1/2007 5:30 PM").ToUniversalTime()) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM - ' 2: 6/1/2007 7:30:00 PM - ' 3: 6/1/2007 9:30:00 PM - ' 4: 6/1/2007 11:30:00 PM - ' 5: 6/2/2007 1:30:00 AM - ' 6: 6/2/2007 3:30:00 AM - ' 7: 6/2/2007 5:30:00 AM - ' 8: 6/2/2007 7:30:00 AM - ' 9: 6/2/2007 9:30:00 AM - ' - - - - Any date placed in the list will be considered a recurrence exception, i.e. an - occurrence will not be generated for that date. The dates must be in universal - time. - - - - - Gets a value indicating whether this recurrence rule has associated - exceptions. - - True if this recurrence rule has associated exceptions, false otherwise. - - - - Gets or sets the maximum candidates limit. - - - This limit is used to prevent lockups when evaluating infinite rules without using SetEffectiveRange. - The default value should not be changed under normal conditions. - - The maximum candidates limit. - - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class DailyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every two days. - DailyRecurrenceRule rrule = new DailyRecurrenceRule(2, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM (Friday) - 2: 6/3/2007 3:30:00 PM (Sunday) - 3: 6/5/2007 3:30:00 PM (Tuesday) - 4: 6/7/2007 3:30:00 PM (Thursday) - 5: 6/9/2007 3:30:00 PM (Saturday) - 6: 6/11/2007 3:30:00 PM (Monday) - 7: 6/13/2007 3:30:00 PM (Wednesday) - 8: 6/15/2007 3:30:00 PM (Friday) - 9: 6/17/2007 3:30:00 PM (Sunday) - 10: 6/19/2007 3:30:00 PM (Tuesday) - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class DailyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every two days. - Dim rrule As New DailyRecurrenceRule(2, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM (Friday) - ' 2: 6/3/2007 3:30:00 PM (Sunday) - ' 3: 6/5/2007 3:30:00 PM (Tuesday) - ' 4: 6/7/2007 3:30:00 PM (Thursday) - ' 5: 6/9/2007 3:30:00 PM (Saturday) - ' 6: 6/11/2007 3:30:00 PM (Monday) - ' 7: 6/13/2007 3:30:00 PM (Wednesday) - ' 8: 6/15/2007 3:30:00 PM (Friday) - ' 9: 6/17/2007 3:30:00 PM (Sunday) - '10: 6/19/2007 3:30:00 PM (Tuesday) - ' - - - - Initializes a new instance of with the - specified interval (in days) and . - - The number of days between the occurrences. - - The instance that specifies the range of this - recurrence rule. - - - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class DailyRecurrenceRuleExample2 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every week day. - DailyRecurrenceRule rrule = new DailyRecurrenceRule(RecurrenceDay.WeekDays, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM (Friday) - 2: 6/4/2007 3:30:00 PM (Monday) - 3: 6/5/2007 3:30:00 PM (Tuesday) - 4: 6/6/2007 3:30:00 PM (Wednesday) - 5: 6/7/2007 3:30:00 PM (Thursday) - 6: 6/8/2007 3:30:00 PM (Friday) - 7: 6/11/2007 3:30:00 PM (Monday) - 8: 6/12/2007 3:30:00 PM (Tuesday) - 9: 6/13/2007 3:30:00 PM (Wednesday) - 10: 6/14/2007 3:30:00 PM (Thursday) - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class DailyRecurrenceRuleExample2 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every week day. - Dim rrule As New DailyRecurrenceRule(RecurrenceDay.WeekDays, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM (Friday) - ' 2: 6/4/2007 3:30:00 PM (Monday) - ' 3: 6/5/2007 3:30:00 PM (Tuesday) - ' 4: 6/6/2007 3:30:00 PM (Wednesday) - ' 5: 6/7/2007 3:30:00 PM (Thursday) - ' 6: 6/8/2007 3:30:00 PM (Friday) - ' 7: 6/11/2007 3:30:00 PM (Monday) - ' 8: 6/12/2007 3:30:00 PM (Tuesday) - ' 9: 6/13/2007 3:30:00 PM (Wednesday) - '10: 6/14/2007 3:30:00 PM (Thursday) - ' - - - - Initializes a new instance of with the - specified days of week bit mask and . - - A bit mask that specifies the week days on which the event recurs. - - The instance that specifies the range of this - recurrence rule. - - - - Gets the interval (in days) between the occurrences. - The interval (in days) between the occurrences. - - - - Gets or sets the bit mask that specifies the week days on which the event - recurs. - - RecurrenceDay Enumeration - - For additional information on how to create masks see the - documentation. - - A bit mask that specifies the week days on which the event recurs. - - - Occurrences of this rule repeat every given number of hours. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class HourlyRecurrenceRuleExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every 2 hours. - HourlyRecurrenceRule rrule = new HourlyRecurrenceRule(2, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM - 2: 6/1/2007 5:30:00 PM - 3: 6/1/2007 7:30:00 PM - 4: 6/1/2007 9:30:00 PM - 5: 6/1/2007 11:30:00 PM - 6: 6/2/2007 1:30:00 AM - 7: 6/2/2007 3:30:00 AM - 8: 6/2/2007 5:30:00 AM - 9: 6/2/2007 7:30:00 AM - 10: 6/2/2007 9:30:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class HourlyRecurrenceRuleExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every 2 hours. - Dim rrule As New HourlyRecurrenceRule(2, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM - ' 2: 6/1/2007 5:30:00 PM - ' 3: 6/1/2007 7:30:00 PM - ' 4: 6/1/2007 9:30:00 PM - ' 5: 6/1/2007 11:30:00 PM - ' 6: 6/2/2007 1:30:00 AM - ' 7: 6/2/2007 3:30:00 AM - ' 8: 6/2/2007 5:30:00 AM - ' 9: 6/2/2007 7:30:00 AM - '10: 6/2/2007 9:30:00 AM - ' - - - - - - Initializes a new instance of the class - with the specified interval (in hours) and . - - The number of hours between the occurrences. - - The instance that specifies the range of this - recurrence rule. - - - - Gets the interval (in hours) assigned to the current instance. - The interval (in hours) assigned to the current instance. - - - - Occurrences of this rule repeat on a monthly basis. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class MonthlyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the 5th day of every month. - MonthlyRecurrenceRule rrule = new MonthlyRecurrenceRule(5, 1, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/5/2007 3:30:00 PM - 2: 7/5/2007 3:30:00 PM - 3: 8/5/2007 3:30:00 PM - 4: 9/5/2007 3:30:00 PM - 5: 10/5/2007 3:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class MonthlyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the 5th day of every month. - Dim rrule As New MonthlyRecurrenceRule(5, 1, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/5/2007 3:30:00 PM - ' 2: 7/5/2007 3:30:00 PM - ' 3: 8/5/2007 3:30:00 PM - ' 4: 9/5/2007 3:30:00 PM - ' 5: 10/5/2007 3:30:00 PM - ' - - - - - - Initializes a new instance of the class. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class MonthlyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the 5th day of every month. - MonthlyRecurrenceRule rrule = new MonthlyRecurrenceRule(5, 1, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/5/2007 3:30:00 PM - 2: 7/5/2007 3:30:00 PM - 3: 8/5/2007 3:30:00 PM - 4: 9/5/2007 3:30:00 PM - 5: 10/5/2007 3:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class MonthlyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the 5th day of every month. - Dim rrule As New MonthlyRecurrenceRule(5, 1, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/5/2007 3:30:00 PM - ' 2: 7/5/2007 3:30:00 PM - ' 3: 8/5/2007 3:30:00 PM - ' 4: 9/5/2007 3:30:00 PM - ' 5: 10/5/2007 3:30:00 PM - ' - - - The day of month on which the event recurs. - The interval (in months) between the occurrences. - The instance that specifies the range of this rule. - - - - Initializes a new instance of the class. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class MonthlyRecurrenceRuleExample2 - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the last monday of every two months. - MonthlyRecurrenceRule rrule = new MonthlyRecurrenceRule(-1, RecurrenceDay.Monday, 2, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/25/2007 3:30:00 PM - 2: 8/27/2007 3:30:00 PM - 3: 10/29/2007 2:30:00 PM - 4: 12/31/2007 2:30:00 PM - 5: 2/25/2008 2:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class MonthlyRecurrenceRuleExample2 - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the last monday of every two months. - Dim rrule As New MonthlyRecurrenceRule(-1, RecurrenceDay.Monday, 2, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/25/2007 3:30:00 PM - ' 2: 8/27/2007 3:30:00 PM - ' 3: 10/29/2007 2:30:00 PM - ' 4: 12/31/2007 2:30:00 PM - ' 5: 2/25/2008 2:30:00 PM - ' - - - The day ordinal modifier. See for additional information. - A bit mask that specifies the week days on which the event recurs. - The interval (in months) between the occurrences. - The instance that specifies the range of this rule. - - - - Gets the day of month on which the event recurs. - - The day of month on which the event recurs. - - - - Gets the day ordinal modifier. See for additional information. - - - The day ordinal modifier. - - - - Gets the month in which the event recurs. - - The month in which the event recurs. - - - Gets the interval (in months) between the occurrences. - The interval (in months) between the occurrences. - - - - Specifies the days of the week. Members might be combined using bitwise - operations to specify multiple days. - - - The constants in the enumeration might be combined - with bitwise operations to represent any combination of days. It is designed to be - used in conjunction with the class to filter - the days of the week for which the recurrence pattern applies. - - - Consider the following example that demonstrates the basic usage pattern of - RecurrenceDay. The most common operators used for manipulating bit fields - are: - - Bitwise OR: Turns a flag on. - Bitwise XOR: Toggles a flag. - Bitwise AND: Checks if a flag is turned on. - Bitwise NOT: Turns a flag off. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class RecurrenceDayExample - { - static void Main() - { - // Selects Friday, Saturday and Sunday. - RecurrenceDay dayMask = RecurrenceDay.Friday | RecurrenceDay.WeekendDays; - PrintSelectedDays(dayMask); - - // Selects all days, except Thursday. - dayMask = RecurrenceDay.EveryDay ^ RecurrenceDay.Thursday; - PrintSelectedDays(dayMask); - } - - static void PrintSelectedDays(RecurrenceDay dayMask) - { - Console.WriteLine("Value: {0,3} - {1}", (int) dayMask, dayMask); - } - } - } - - /* - This example produces the following results: - - Value: 112 - Friday, WeekendDays - Value: 119 - Monday, Tuesday, Wednesday, Friday, WeekendDays - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class RecurrenceDayExample - Shared Sub Main() - ' Selects Friday, Saturday and Sunday. - Dim dayMask As RecurrenceDay = RecurrenceDay.Friday Or RecurrenceDay.WeekendDays - PrintSelectedDays(dayMask) - - ' Selects all days, except Thursday. - dayMask = RecurrenceDay.EveryDay Xor RecurrenceDay.Thursday - PrintSelectedDays(dayMask) - End Sub - - Shared Sub PrintSelectedDays(ByVal dayMask As RecurrenceDay) - Console.WriteLine("Value: {0,3} - {1}", DirectCast(dayMask, Integer), dayMask) - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Value: 112 - Friday, WeekendDays - 'Value: 119 - Monday, Tuesday, Wednesday, Friday, WeekendDays - ' - - - - - Indicates no selected day. - - - Indicates Monday. - - - Indicates Tuesday. - - - Indicates Wednesday. - - - Indicates Thursday. - - - Indicates Friday. - - - Indicates Saturday. - - - Indicates Sunday. - - - Indicates the range from Sunday to Saturday inclusive. - - - Indicates the range from Monday to Friday inclusive. - - - Indicates the range from Saturday to Sunday inclusive. - - - Specifies the frequency of a recurrence. - - - Indicates no recurrence. - - - Indicates hourly recurrence. - - - Indicates daily recurrence. - - - Indicates weekly recurrence. - - - Indicates monthly recurrence. - - - Indicates yearly recurrence. - - - Specifies the months in which given event recurs. - - - Indicates no monthly recurrence. - - - Indicates that the event recurs in January. - - - Indicates that the event recurs in February. - - - Indicates that the event recurs in March. - - - Indicates that the event recurs in April. - - - Indicates that the event recurs in May. - - - Indicates that the event recurs in June. - - - Indicates that the event recurs in July. - - - Indicates that the event recurs in August. - - - Indicates that the event recurs in September. - - - Indicates that the event recurs in October. - - - Indicates that the event recurs in November. - - - Indicates that the event recurs in December. - - - - Specifies the pattern that uses to evaluate the - recurrence dates set. - - - - The properties of the class work together - to define a complete pattern definition to be used by the - engine. - - - You should not need to work with it directly as specialized - classes are provided for the supported modes - of recurrence. They take care of constructing appropriate - objects. - - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class RecurrencePatternExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule for the appointment. - DailyRecurrenceRule rrule = new DailyRecurrenceRule(1, range); - - // Displays the relevant parts of the generated pattern: - Console.WriteLine("The active recurrence pattern is:"); - Console.WriteLine(" Frequency: {0}", rrule.Pattern.Frequency); - Console.WriteLine(" Interval: {0}", rrule.Pattern.Interval); - Console.WriteLine(" Days of week: {0}\n", rrule.Pattern.DaysOfWeekMask); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - The active recurrence pattern is: - Frequency: Daily - Interval: 1 - Days of week: EveryDay - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM - 2: 6/2/2007 3:30:00 PM - 3: 6/3/2007 3:30:00 PM - 4: 6/4/2007 3:30:00 PM - 5: 6/5/2007 3:30:00 PM - 6: 6/6/2007 3:30:00 PM - 7: 6/7/2007 3:30:00 PM - 8: 6/8/2007 3:30:00 PM - 9: 6/9/2007 3:30:00 PM - 10: 6/10/2007 3:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class RecurrencePatternExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule for the appointment. - Dim rrule As New DailyRecurrenceRule(1, range) - - ' Displays the relevant parts of the generated pattern: - Console.WriteLine("The active recurrence pattern is:") - Console.WriteLine(" Frequency: {0}", rrule.Pattern.Frequency) - Console.WriteLine(" Interval: {0}", rrule.Pattern.Interval) - Console.WriteLine(" Days of week: {0}" & Chr(10) & "", rrule.Pattern.DaysOfWeekMask) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'The active recurrence pattern is: - ' Frequency: Daily - ' Interval: 1 - ' Days of week: EveryDay - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM - ' 2: 6/2/2007 3:30:00 PM - ' 3: 6/3/2007 3:30:00 PM - ' 4: 6/4/2007 3:30:00 PM - ' 5: 6/5/2007 3:30:00 PM - ' 6: 6/6/2007 3:30:00 PM - ' 7: 6/7/2007 3:30:00 PM - ' 8: 6/8/2007 3:30:00 PM - ' 9: 6/9/2007 3:30:00 PM - '10: 6/10/2007 3:30:00 PM - ' - - - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value is an instance of - and equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - Overriden. Returns the hash code for this instance. - The hash code for this instance. - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - - Determines whether two specified objects have the - same value. - - - - - Determines whether two specified objects have - different values. - - - - - - A enumerated constant that indicates the - frequency of recurrence. - - - Gets or sets the frequency of recurrence. - The default value is . - RecurrenceFrequency Enumeration - - - Gets or sets the interval of recurrence. - - - A positive integer representing how often the recurrence rule repeats, - expressed in units. - - - The default value is 1. - - - - Gets or sets the bit mask that specifies the week days on which the event - recurs. - - RecurrenceDay Enumeration - - For additional information on how to create masks see the - documentation. - - A bit mask that specifies the week days on which the event recurs. - - - Gets or sets the day month on which the event recurs. - The day month on which the event recurs. - - - - - This property is meaningful only when is - set to or - and - is not set. - - In such scenario it selects the n-th occurrence within the set of events - specified by the rule. Valid values are from -31 to +31, 0 is ignored. - For example with RecurrenceFrequency set to Monthly and DaysOfWeekMask set to - Monday DayOfMonth is interpreted in the following way: - - -
    -
  • 1: Selects the first monday of the month.
  • -
  • 3: Selects the third monday of the month.
  • -
  • -1: Selects the last monday of the month.
  • -
-
-
- - For detailed examples see the documentation of the - class. - -
- MonthlyRecurrenceRule Class -
- - Gets or sets the month on which the event recurs. - - This property is only meaningful when is set - to . - - - - Gets or sets the day on which the week starts. - - This property is only meaningful when is set - to and is greater than 1. - - - - - - Specifies the time frame for which given is - active. It consists of the start time of the event, it's duration and optional - limits. - - - - - Limits for both occurrence count and end date can be specified via the - and - properties. - - - Start and EventDuration properties refer to the recurring event's start and - duration. In the context of they are usually - derived from and . - - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class RecurrenceRangeExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a daily recurrence rule for the appointment. - DailyRecurrenceRule rrule = new DailyRecurrenceRule(1, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/1/2007 3:30:00 PM - 2: 6/2/2007 3:30:00 PM - 3: 6/3/2007 3:30:00 PM - 4: 6/4/2007 3:30:00 PM - 5: 6/5/2007 3:30:00 PM - 6: 6/6/2007 3:30:00 PM - 7: 6/7/2007 3:30:00 PM - 8: 6/8/2007 3:30:00 PM - 9: 6/9/2007 3:30:00 PM - 10: 6/10/2007 3:30:00 PM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class RecurrenceRangeExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a daily recurrence rule for the appointment. - Dim rrule As New DailyRecurrenceRule(1, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/1/2007 3:30:00 PM - ' 2: 6/2/2007 3:30:00 PM - ' 3: 6/3/2007 3:30:00 PM - ' 4: 6/4/2007 3:30:00 PM - ' 5: 6/5/2007 3:30:00 PM - ' 6: 6/6/2007 3:30:00 PM - ' 7: 6/7/2007 3:30:00 PM - ' 8: 6/8/2007 3:30:00 PM - ' 9: 6/9/2007 3:30:00 PM - '10: 6/10/2007 3:30:00 PM - ' - - - - - - Overloaded. Initializes a new instance of the - class. - - - - - Overloaded. Initializes a new instance of the - class with to the specified Start, EventDuration, RecursUntil and MaxOccurrences - values. - - The start of the recurring event. - The duration of the recurring event. - - Optional end date for the recurring appointment. Defaults to no end date - (DateTime.MaxValue). - - - Optional limit for the number of occurrences. Defaults to no limit - (Int32.MaxInt). - - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value is an instance of - and equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - Overriden. Returns the hash code for this instance. - - - - Overloaded. Overridden. Returns a value indicating whether this instance is equal - to a specified object. - - - true if value equals the value of this instance; - otherwise, false. - - An object to compare with this instance. - - - - Determines whether two specified objects have the - same value. - - - - - Determines whether two specified objects have - different values. - - - - The start of the recurring event. - - - The duration of the recurring event. - - - - Optional end date for the recurring appointment. Defaults to no end date - (DateTime.MaxValue). - - - - - Optional limit for the number of occurrences. Defaults to no limit - (Int32.MaxInt). - - - - - Provides a type converter to convert RecurrenceRule objects to and from string - representation. - - - - - Overloaded. Returns whether this converter can convert an object of one type to - the type of this converter. - - - - - Overloaded. Converts the given value to the type of this converter. - - - - - Overloaded. Returns whether this converter can convert the object to the - specified type. - - - - Overloaded. Converts the given value object to the specified type. - - - Overloaded. Returns whether the given value object is valid for this type. - - - Occurrences of this rule repeat on a weekly basis. - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class WeeklyRecurrenceRuleExample - { - static void Main() - { - // Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), - Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 10; - - // Creates a recurrence rule to repeat the appointment every two weeks on Mondays and Tuesdays. - RecurrenceDay mask = RecurrenceDay.Monday | RecurrenceDay.Tuesday; - WeeklyRecurrenceRule rrule = new WeeklyRecurrenceRule(2, mask, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 6/4/2007 3:30:00 PM (Monday) - 2: 6/5/2007 3:30:00 PM (Tuesday) - 3: 6/18/2007 3:30:00 PM (Monday) - 4: 6/19/2007 3:30:00 PM (Tuesday) - 5: 7/2/2007 3:30:00 PM (Monday) - 6: 7/3/2007 3:30:00 PM (Tuesday) - 7: 7/16/2007 3:30:00 PM (Monday) - 8: 7/17/2007 3:30:00 PM (Tuesday) - 9: 7/30/2007 3:30:00 PM (Monday) - 10: 7/31/2007 3:30:00 PM (Tuesday) - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class WeeklyRecurrenceRuleExample - Shared Sub Main() - ' Creates a sample appointment that starts at 6/1/2007 3:30 PM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("6/1/2007 3:30 PM"), Convert.ToDateTime("6/1/2007 4:00 PM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 10 - - ' Creates a recurrence rule to repeat the appointment every two weeks on Mondays and Tuesdays. - Dim mask As RecurrenceDay = RecurrenceDay.Monday Or RecurrenceDay.Tuesday - Dim rrule As New WeeklyRecurrenceRule(2, mask, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1} ({2})", ix, occurrence.ToLocalTime(), occurrence.DayOfWeek) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 6/4/2007 3:30:00 PM (Monday) - ' 2: 6/5/2007 3:30:00 PM (Tuesday) - ' 3: 6/18/2007 3:30:00 PM (Monday) - ' 4: 6/19/2007 3:30:00 PM (Tuesday) - ' 5: 7/2/2007 3:30:00 PM (Monday) - ' 6: 7/3/2007 3:30:00 PM (Tuesday) - ' 7: 7/16/2007 3:30:00 PM (Monday) - ' 8: 7/17/2007 3:30:00 PM (Tuesday) - ' 9: 7/30/2007 3:30:00 PM (Monday) - '10: 7/31/2007 3:30:00 PM (Tuesday) - ' - - - - - - Initializes a new instance of with the - specified interval, days of week bit mask and . - - The number of weeks between the occurrences. - A bit mask that specifies the week days on which the event recurs. - - The instance that specifies the range of this rule. - - - - - Initializes a new instance of with the - specified interval, days of week bit mask and . - - The number of weeks between the occurrences. - A bit mask that specifies the week days on which the event recurs. - - The instance that specifies the range of this rule. - - - The first day of week to use for calculations. - - - - Gets the interval (in weeks) assigned to the current instance. - The interval (in weeks) assigned to the current instance. - - - - Gets the bit mask that specifies the week days on which the event - recurs. - - RecurrenceDay Enumeration - - For additional information on how to create masks see the - documentation. - - A bit mask that specifies the week days on which the event recurs. - - - - Occurrences of this rule repeat on a yearly basis. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class YearlyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), - Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the 1th of April each year. - YearlyRecurrenceRule rrule = new YearlyRecurrenceRule(RecurrenceMonth.April, 1, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 4/1/2007 10:00:00 AM - 2: 4/1/2008 10:00:00 AM - 3: 4/1/2009 10:00:00 AM - 4: 4/1/2010 10:00:00 AM - 5: 4/1/2011 10:00:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class YearlyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the 1th of April each year. - Dim rrule As New YearlyRecurrenceRule(RecurrenceMonth.April, 1, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 4/1/2007 10:00:00 AM - ' 2: 4/1/2008 10:00:00 AM - ' 3: 4/1/2009 10:00:00 AM - ' 4: 4/1/2010 10:00:00 AM - ' 5: 4/1/2011 10:00:00 AM - ' - - - - - - Initializes a new instance of the class. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class YearlyRecurrenceRuleExample1 - { - static void Main() - { - // Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), - Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the 1th of April each year. - YearlyRecurrenceRule rrule = new YearlyRecurrenceRule(RecurrenceMonth.April, 1, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 4/1/2007 10:00:00 AM - 2: 4/1/2008 10:00:00 AM - 3: 4/1/2009 10:00:00 AM - 4: 4/1/2010 10:00:00 AM - 5: 4/1/2011 10:00:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class YearlyRecurrenceRuleExample1 - Shared Sub Main() - ' Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the 1th of April each year. - Dim rrule As New YearlyRecurrenceRule(RecurrenceMonth.April, 1, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 4/1/2007 10:00:00 AM - ' 2: 4/1/2008 10:00:00 AM - ' 3: 4/1/2009 10:00:00 AM - ' 4: 4/1/2010 10:00:00 AM - ' 5: 4/1/2011 10:00:00 AM - ' - - - The month in which the event recurs. - The day of month on which the event recurs. - The instance that specifies the range of this rule. - - - - Initializes a new instance of the class. - - - - using System; - using Telerik.Web.UI; - - namespace RecurrenceExamples - { - class YearlyRecurrenceRuleExample2 - { - static void Main() - { - // Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Appointment recurringAppointment = new Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), - Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment"); - - // Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - RecurrenceRange range = new RecurrenceRange(); - range.Start = recurringAppointment.Start; - range.EventDuration = recurringAppointment.End - recurringAppointment.Start; - range.MaxOccurrences = 5; - - // Creates a recurrence rule to repeat the appointment on the second monday of April each year. - YearlyRecurrenceRule rrule = new YearlyRecurrenceRule(2, RecurrenceMonth.April, RecurrenceDay.Monday, range); - - Console.WriteLine("Appointment occurrs at the following times: "); - int ix = 0; - foreach (DateTime occurrence in rrule.Occurrences) - { - ix = ix + 1; - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()); - } - } - } - } - - /* - This example produces the following results: - - Appointment occurrs at the following times: - 1: 4/9/2007 10:00:00 AM - 2: 4/14/2008 10:00:00 AM - 3: 4/13/2009 10:00:00 AM - 4: 4/12/2010 10:00:00 AM - 5: 4/11/2011 10:00:00 AM - */ - - - Imports System - Imports Telerik.Web.UI - - Namespace RecurrenceExamples - Class YearlyRecurrenceRuleExample2 - Shared Sub Main() - ' Creates a sample appointment that starts at 4/1/2007 10:00 AM (local time) and lasts half an hour. - Dim recurringAppointment As New Appointment("1", Convert.ToDateTime("4/1/2007 10:00 AM"), Convert.ToDateTime("4/1/2007 10:30 AM"), "Sample appointment") - - ' Creates a recurrence range, that specifies a limit of 10 occurrences for the appointment. - Dim range As New RecurrenceRange() - range.Start = recurringAppointment.Start - range.EventDuration = recurringAppointment.[End] - recurringAppointment.Start - range.MaxOccurrences = 5 - - ' Creates a recurrence rule to repeat the appointment on the second monday of April each year. - Dim rrule As New YearlyRecurrenceRule(2, RecurrenceMonth.April, RecurrenceDay.Monday, range) - - Console.WriteLine("Appointment occurrs at the following times: ") - Dim ix As Integer = 0 - For Each occurrence As DateTime In rrule.Occurrences - ix = ix + 1 - Console.WriteLine("{0,2}: {1}", ix, occurrence.ToLocalTime()) - Next - End Sub - End Class - End Namespace - - ' - 'This example produces the following results: - ' - 'Appointment occurrs at the following times: - ' 1: 4/9/2007 10:00:00 AM - ' 2: 4/14/2008 10:00:00 AM - ' 3: 4/13/2009 10:00:00 AM - ' 4: 4/12/2010 10:00:00 AM - ' 5: 4/11/2011 10:00:00 AM - ' - - - The day ordinal modifier. See for additional information. - The month in which the event recurs. - A bit mask that specifies the week days on which the event recurs. - The instance that specifies the range of this rule. - - - - Gets the day of month on which the event recurs. - - The day of month on which the event recurs. - - - - Gets the day ordinal modifier. See for additional information. - - The day ordinal modifier. - - - - Gets the month in which the event recurs. - - The month in which the event recurs. - - - - Gets the bit mask that specifies the week days on which the event - recurs. - - RecurrenceDay Enumeration - - For additional information on how to create masks see the - documentation. - - A bit mask that specifies the week days on which the event recurs. - - - - This Class defines the Resource object in control. - - - - - Determines whether the specified is equal - to the current . - - The to compare with the current - . - The - parameter is null. - - true if the specified is equal to the - current ; otherwise, false. - - - - - Equalses the specified res. - - The res. - - - - - Serves as a hash function for a particular type. - - A hash code for the current . - - - - Gets or sets a value indicating the resource primary key value. - - - The resource primary key value. - - - - - Gets or sets a value indicating the user-friendly description of the resource. - - - The user-friendly description of the resource. - - - - - Gets or sets a value indicating the resource type. - - - The resource type. - - - The type must be one of the described resource types in - ResourceTypes collection. - - - - - Gets or sets a value indicating if the resource is a available. - - - A value indicating if the resource is a available. - - - Resources marked as unavailable will not be visible - in the drop-down lists in the advanced form (if applicable). - - - - - Gets or sets the cascading style sheet (CSS) class rendered for appointments that use this resource. - - - The cascading style sheet (CSS) class rendered for appointments that use this resource. - The default value is Empty. - - - You can define your own CSS class name or use some of the predefined class names: - - rsCategoryRed - rsCategoryBlue - rsCategoryOrange - rsCategoryGreen - - - - - - Gets the collection of arbitrary attributes that do not correspond to properties on the resource. - - - A AttributeCollection of name and value pairs. - - - - - Gets the header controls. - - The header controls. - - - - Gets or sets the data item represented by the - Resource object in the - RadScheduler control. - - - This property is available only during data binding. - - - - - This Class defines the Resource Collection that inherits StronglyTypedStateManagedCollection and IEnumerable - collections. - - - - - Gets the first resource (if any) of the specified type. - - The type of resource to search for. - The first resource of the specified type; null if no resource matches. - - - - Gets the resources of the specified type. - - The type of resource to search for. - The resources of the specified type. - - - - Gets the resource that matches the specified type and key. - - The type. - The key. - The resource that matches the specified type and key; null if no resource matches. - - - - This Class defines the ResourceType object. - - - - - Determines whether the specified is equal - to the current . - - The to compare with the current - . - The - parameter is null. - - true if the specified is equal to the - current ; otherwise, false. - - - - - Equalses the specified res type. - - Type of the res. - - - - - Serves as a hash function for a particular type. - - A hash code for the current . - - - - Gets or sets the key field. - - The key field. - - - - Gets or sets the data source. - - The data source. - - - - Gets or sets the name. - - The name. - - - - Gets or sets the text field. - - The text field. - - - - Gets or sets the foreign key field. - - The foreign key field. - - - - Gets or sets the data source ID. - - The data source ID. - - - - Gets or sets the allow multiple values. - - The allow multiple values. - - - - This Class defines ResourceType collection. - - - - - Finds by name. - - The name. - - - - - Adds the specified item. - - The item. - - - - Inserts the specified index. - - The index. - The item. - - - - This Class defines the SchedulerAppointmentContainer. - - - - - Gets or sets the appointment. - - The appointment. - - - - Gets or sets the template. - - The template. - - - - This Class defines the SchedulerFormContainer that inherits SchedulerAppointmentContainer. - - - - - This property is overridden in order to allow the client-side script to easily locate child controls. - The default value is changed to "AutoID". - - - - - Gets or sets the template. - - The template. - - - - Gets or sets the mode. - - The mode. - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Deserializes from JSON. - - The json. - The scheduler. - - - - - Gets or sets the appointment ID. - - The appointment ID. - - - - Gets or sets the start date. - - The start date. - - - - Gets or sets the start date parsed. - - The start date parsed. - - - - Gets or sets the end date. - - The end date. - - - - Gets or sets the end date parsed. - - The end date parsed. - - - - Gets or sets the command. - - The command. - - - - Gets or sets the name of the context menu command. - - The name of the context menu command. - - - - Gets or sets the edit series. - - The edit series. - - - - Gets or sets the scroll top. - - The scroll top. - - - - Gets or sets the index of the target slot. - - The index of the target slot. - - - - Gets or sets the index of the last slot. - - The index of the last slot. - - - - Gets or sets the index of the source slot. - - The index of the source slot. - - - - Gets or sets the appointment. - - The appointment. - - - - Gets or sets the width of the slot. - - The width of the slot. - - - - Gets or sets the height of the slot. - - The height of the slot. - - - - Gets or sets the index of the menu item. - - The index of the menu item. - - - - Gets or sets the context menu ID. - - The context menu ID. - - - - For internal use only. - - - - - - - This Class sets the styles for WeekView. - - - - - This Class sets the styles for MonthView. - - - - - This Class sets the styles for AdvancedForm. - - - - - This Class sets the styles for InlineForm. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Represents a directory item in the FileBrowser control. - - - - - The base class of the FileItem and DirectoryItem classes. Contains the common functionality. - - - - - Serializes the item into a javascript array. This method should be overridden only when developing - a custom FileBrowser control. - - a StringWriter used as a target for the serialization. - - - - Utility method used when serializing. Escapes a string for javascript. - - - - - Utility method used when serializing. Writes a javascript array separator. - - - - - Utility method used when serializing. Removes the last javascript array separator from the underlying - StringBuilder of writer. - - - - - Serializes the Attributes array. - - - - - - Gets or sets a string array containing custom values which can be used on the client when - customizing the FileBrowser control. - - - - - Gets the full virtual path to the file/directory item. - - - - - Gets the name of the file item. The value of this property will be displayed in the FileBrowser control. - - - - - Gets the permissions on the file item. - - - - - Gets the tag of the file/directory item. Used in custom content providers (can store additional data). - - - - - Clears the Directories array. Can be used when building the directory list in List mode. - - - - - Serializes the directory item into a javascript array. This method should be overridden only when developing - a custom FileBrowser control. - - a StringWriter used as a target for the serialization. - - - - Serializes the children of the directory item as a javascript array. - Recursively calls the Serialize methods of all child objects. - - a StringWriter used as a target for the serialization. - - - - Creates an instance of the DirectoryItem class. - - - - - Creates an instance of the DirectoryItem class. - - The name of the directory item. - The location of the directory item. To let the FileBrowser control - automatically build its path you should set this parameter to string.Empty. If the DirectoryItem is a - root item, this parameter must contain the virtual location of the item. - The full virtual path of the directory item. Used by the ContentProvider for - populating the Directories and Files properties. - The tag of the directory item. Used when the virtual path must be different than the url of the item. - When the value of this property is set, the FileBrowser control uses it instead of the combined virtual path. - The permissions for this directory item. - A FileItem array containing all child file items. - A DirectoryItem array containing all child directory items. - - - - Gets the full virtual path to the directory item. - - - - - Gets the full virtual path to the directory item. - - - - - Gets the virtual location of the directory item. When the item is not root, the value - of this property should be string.Empty. The FileBrowser control recursively combines the names - of all parent directory items in order to get the full virtual path of the item. - - - - - Gets a DirectoryItem array containing all child directory items. - - - - - Gets a FileItem array containing all child file items. - - - - - Provides storage independent mechanism for uploading files and - populating the content of the FileBrowser dialog controls. - - - - - Creates a new instance of the class. Used internally by FileManager to create instances of the content provider. - - The current HttpContext. - Search patterns for files. Allows wildcards. - The paths which will be displayed in the FileManager. You can disregard - this value if you have custom mechanism for determining the rights for directory / file displaying. - The paths which will allow uploading in the FileManager. You can disregard this - value if you have custom mechanism for determining the rights for uploading. - The paths which will allow deleting in the dialog. You can disregard this - value if you have custom mechanism for determining the rights for deleting. - The selected url in the file browser. The file browser will navigate to the item - which has this url. - The selected tag in the file browser. The file browser will navigate to the - item which has this tag. - - - - Resolves a root directory with the given path in list mode. - - The virtual path of the directory. - A DirectoryItem array, containing the root directory and all child directories. - - - - Resolves a root directory with the given path in tree mode. This method populates the Directories collection in the returned DirectoryItem - - The virtual path of the directory. - A DirectoryItem, containing the root directory. - - - - Resolves a directory with the given path. This method populates the Files collection in the returned DirectoryItem - - The virtual path of the directory. - A DirectoryItem, containing the directory. - - Used mainly in the Ajax calls. - - - - - Get the name of the file with the given url. - - The url of the file. - String containing the file name. - - - - Gets the virtual path of the item with the given url. - - The url of the item. - String containing the path of the item. - - - - Gets a read only Stream for accessing the file item with the given url. - - The url of the file. - Stream for accessing the contents of the file item with the given url. - - - - Stores an image with the given url and image format. - - The Bitmap object to be stored. - The url of the bitmap. - The image format of the bitmap. - string.Empty when the operation was successful; otherwise an error message token. - - Used when creating thumbnails in the ImageManager dialog. - - - - - Creates a file item from a HttpPostedFile to the given path with the given name. - - The uploaded HttpPostedFile to store. - The virtual path where the file item should be created. - The name of the file item. - Additional values to be stored such as Description, DisplayName, etc. - String containing the full virtual path (including the file name) of the file item. - - The default FileUploader control does not include the arguments parameter. If you need additional arguments - you should create your own FileUploader control. - - - - - Creates a file item from a Telerik.Web.UI.UploadedFile in the given path with the given name. - - The UploadedFile instance to store. - The virtual path where the file item should be created. - The name of the file item. - Additional values to be stored such as Description, DisplayName, etc. - String containing the full virtual path (including the file name) of the file item. - - The default FileUploader control does not include the arguments parameter. If you need additional arguments - you should create your own FileUploader control. - - - - - Deletes the file item with the given virtual path. - - The virtual path of the file item. - string.Empty when the operation was successful; otherwise an error message token. - - - - Deletes the directory item with the given virtual path. - - The virtual path of the directory item. - string.Empty when the operation was successful; otherwise an error message token. - - - - Creates a directory item in the given path with the given name. - - The path where the directory item should be created. - The name of the new directory item. - string.Empty when the operation was successful; otherwise an error message token. - - - - Moves a file from a one virtual path to a new one. This method can also be used for renaming items. - - old virtual location - new virtual location - string.Empty when the operation was successful; otherwise an error message token. - - - - Moves a directory from a one virtual path to a new one. This method can also be used for renaming items. - - old virtual location - new virtual location - string.Empty when the operation was successful; otherwise an error message token. - - - - Copies a file from a one virtual path to a new one. - - old virtual location - new virtual location - string.Empty when the operation was successful; otherwise an error message token. - - - - Copies a directory from a one virtual path to a new one - - old virtual location - new virtual location - string.Empty when the operation was successful; otherwise an error message token. - - - - Removes the protocol and the server names from the given url. - - Fully qualified url to a file or directory item. - The root based absolute path. - -

- Url: http://www.myserver.com/myapp/mydirectory/myfile - Result: /myapp/mydirectory/myfile -

-

- Url: www.myserver.com/myapp/mydirectory/myfile - Result: /myapp/mydirectory/myfile -

-
-
- - - Checks if the current configuration allows reading from the specified folder - - The virtual path that will be checked - True if reading is allowed, otherwise false - - - - Checks if the current configuration allows deleting from the specified folder - - the virtual path that will be checked - true if deleting is allowed, otherwise false - - - - Checks if the current configuration allows writing (uploading) to the specified folder - - the virtual path that will be checked - true if writing is allowed, otherwise false - - - - Gets a value indicating whether the ContentProvider can create directory items or not. The visibility of the - Create New Directory icon is controlled by the value of this property. - - - - - The HttpContext object, set in the constructor of the class. - - - - - Gets or sets the url of the selected item. The file browser will navigate to the item - which has this url. - - - - - Gets or sets the tag of the selected item. The file browser will navigate to the item - which has this tag. Used mainly in Database content providers, where the file items have - special url for accessing. - - - - - Gets the search patterns for the file items to be displayed in the FileBrowser control. This property - is set in the constructor of the class. Supports wildcards. - - - - - Gets the paths which will be displayed in the dialog. This is passed by RadEditor and is - one of the values of ImagesPaths, DocumentsPaths, MediaPaths, FlashPaths, TemplatesPaths properties. - You can disregard this value if you have custom mechanism for determining the rights for - directory / file displaying. - - - - - Gets the paths which will allow uploading in the dialog. This is passed by RadEditor and is - one of the values of UploadImagesPaths, UploadDocumentsPaths, UploadMediaPaths, UploadFlashPaths, - UploadTemplatesPaths properties. You can disregard this value if you have custom mechanism for determining the rights - for uploading. - - - - - The paths which will allow deleting in the dialog. This is passed by RadEditor and is - one of the values of DeleteImagesPaths, DeleteDocumentsPaths, DeleteMediaPaths, DeleteFlashPaths, - DeleteTemplatesPaths properties. You can disregard this value if you have custom mechanism for determining the rights - for deleting. - - - - - The character, used to separate parts of the virtual path (e.g. '/' is the path separator in /path1/path2/file) - - - - - Represents a file item in the FileBrowser control. - - - - - Serializes the file item into a javascript array. This method should be overridden only when developing - a custom FileBrowser control. - - a StringWriter used as a target for the serialization. - - - - Creates an instance of the FileItem class without setting any initial values. - - - - - Creates an instance of the FileItem class. - - The name of the file item. The value of this property will be displayed in the FileBrowser control. - The file extension of the file item. - The size of the file item in bytes. - The virtual path to the file item (needs to be unique). When the value is string.Empty, the location is the - parent's full path + the name of the file. - The url which will be inserted into the RadEditor content area. - The tag of the file item. Used when the virtual path must be different than the url of the item. - When the value of this property is set, the FileBrowser control uses it instead of the combined virtual path. - The permissions on the file item. - - - - Gets the file extension of the file item. - - - - - Gets the size of the file item in bytes. - - - - - Gets the virtual path of the parent directory item. When the value is string.Empty, the location is got - from the item's parent. - - - - - Gets the virtual path of the parent directory item. When the value is string.Empty, the location is got - from the item's parent. - - - - - Gets the url which will be inserted into the RadEditor content area. - - - - - Checks whether the given folder path is one of the DeletePaths. - - The folder path to check. - True if the path is one of the DeletePaths. - - - - Represents the actions which will be allowed on the FileBrowserItem. - - -

- If you want to specify multiple permissions, use the following syntax: -

-
-            Dim permissions As PathPermissions = PathPermissions.Read Or PathPermissions.Upload Or PathPermissions.Delete
-            
-
-
- - - The default permission. The FileBrowserItem can only be displayed. - - - - - Used for DirectoryItems. If enabled, the Upload tab of the dialog will be enabled when - the DirectoryItem is opened. - - - - - If enabled, the DirectoryItem or the FileItem can be deleted. - - - - - Provides enumerated values to be used to set edit mode in RadEditor - This enumeration has a FlagsAttribute attribute that allows - a bitwise combination of its member values. - - - - - Design mode. The default edit mode in RadEditor, where you could edit HTML in WYSIWYG fashion. - - - - - HTML mode. Advanced edit mode where you could directly modify the HTML. - - - - - Preview mode. In this mode RadEditor will display its content the same way as it should be displayed when placed outside of the control. - - - - - Provides enumerated values to be used to set format cleaning options on - paste. - This enumeration has a FlagsAttribute attribute that allows - a bitwise combination of its member values. - - - - Doesn't strip anything on paste, asks a question when MS Word formatting detected. - - - Doesn't strip anything on paste and does not ask a question. - - - Strips only MSWord related attributes and tags on paste. - - - Strips the MSWord related attributes and tags and font tags on paste. - - - Strips MSWord related attributes and tags, font tags and font size attributes on paste. - - - Removes style attributes on paste. - - - Removes Font tags on paste. - - - Clears Span tags on paste. - - - Clears all tags except "br" and new lines (\n) on paste. - - - Converts Word ordered/unordered lists to HTML tags. - - - Remove all HTML formatting on paste. - - - Strips MSWord related attributes and tags, margin attributes on paste. - - - - Provides enumerated values to be used as paremeter in the GetHtml method. - - - - Doesn't strip anything. - - - Strips all comments elments. - - - As if track changes are accepted - - - As if track changes are rejected - - - - Provides enumerated values to be used to set the active content filters - This enumeration has a FlagsAttribute attribute that allows - a bitwise combination of its member values. - - - - - Provides enumerated values to be used to indicate what element will be inserted when the [Enter] key is pressed. - - - - - Insert a BR element. - - - - - Insert a P (paragraph) element. - - - - - Insert a DIV element. - - - - - RadToolTip class - - - - - - - - - - - - - - - - - Get/Set the target control of the tooltip - - - Takes a string value that should be either the server ID, or the ClientID of the targeted control, depending on the value of the IsClientID property - - - - - Get/Set whether the TargetControlID is server or client ID - - - - - Controls the overflow of the tooltip content. - - - - - Overflow is set to auto. - - The numeric value is 0 - - - - Overflow is set to hidden. - - The numeric value is 1 - - - - Overflow is set to empty string, overflow-x is set to scroll, overflow-y is set to none. - - The numeric value is 2 - - - - Overflow is set to empty string, overflow-x is set to none, overflow-y is set to scroll. - - The numeric value is 3 - - - - Overflow is set to scroll. - - The numeric value is 0 - - - - Nothing is set explicitly, leaves the default browser behavior. - - The numeric value is 0 - - - - Controls the initial position of the tooltip regarding its target element (or the browser viewport). - It may be recalculated dynamically depending on the position of the target element and the size of the tooltip. - - - - - The tooltip is positioned above and on the left from the target element. - - The numeric value is 11 - - - - The tooltip is positioned above and in the horizontal middle of the target element. - - The numeric value is 12 - - - - The tooltip is above and on the right from the target element. - - The numeric value is 13 - - - - The tooltip is on the left of the target pointing to its vertical middle. - - The numeric value is 21 - - - - The tooltip is centered above the target. - - The numeric value is 22 - - - - The tooltip is on the right of the target pointing to its vertical middle. - - The numeric value is 23 - - - - The tooltip is below and on the left of the target element. - - The numeric value is 31 - - - - The tooltip is below and in the horizontal middle of the target element. - - The numeric value is 32 - - - - The tooltip is below and on the right of the target element. - - The numeric value is 33 - - - - Controls according to which element the tooltip's relativity is calculated. - - - - - The tooltip's position is calculated with respect to the mouse pointer. - - The numeric value is 0 - - - - The tooltip's position is calculated with respect to the target element bounds. - - The numeric value is 1 - - - - The tooltip's position is calculated with respect to the browser viewport. The positions in this case refer to positions in the - respective corner/side of the viewport, not outside. - - The numeric value is 2 - - - - Controls the animation that is used to make the tooltip initially visible. No animation is used by default. - - - - - No animation is used. This is the default value. - - The numeric value is 0 - - - - Shows the tooltip with a size increase from 0 to the size set in its properties. - - The numeric value is 1 - - - - Shows the tooltip with a change of the opacity from transparent to opaque. - - The numeric value is 2 - - - - Slides the tooltip down from its top. - - The numeric value is 4 - - - - Shows the tooltip with a change of position from outside of the viewport to the position specified by its properties. - - The numeric value is 8 - - - - Specifies which is the client-side event that causes the tooltip to show. By default this is OnMouseOver. - - - - - The tooltip is shown when the mouse moves over the target element. - - The numeric value is 1 - - - - The tooltip is shown when the mouse's left button is clicked within the target element. - - The numeric value is 2 - - - - The tooltip is shown when the mouse's right button is clicked within the target element. - - The numeric value is 4 - - - - The tooltip is shown when the target element receives focus. Most useful for input elements. - - The numeric value is 8 - - - - The tooltip is shown only when explicitly called via JavaScript. - - The numeric value is 16 - - - - Specifies the event/sequence of events that causes the tooltip to hide. By default this happens when the mouse leaves the target element. - In all cases if another RadToolTip is to be shown the previous one will be hidden. - - - - - The tooltip is hidden when the mouse leaves the target element. - - The numeric value is 1 - - - - The tooltip is hidden when the mouse leaves the tooltip itself. - - The numeric value is 2 - - - - The tooltip is hidden when the tooltip's close button is clicked. - - The numeric value is 4 - - - - The tooltip is hidden when the mouse moves over the tooltip, back to the target element and leaves both. - - The numeric value is 8 - - - - The tooltip is hidden when explicitly called via JavaScript. - - The numeric value is 16 - - - - An object of this type can be added as a TargetControl of the RadToolTipManager. - - - - - Generic constructor. - - - - - Creates a new target control object based on the provided arguments. - - The server ID of the target control. - - - - Creates a new target control object based on the provided arguments. - - An ID (server or client) for the target control. - A boolean value indicating whether a server or client ID was provided. - - - - Creates a new target control object based on the provided arguments. - - The server ID of the target control. - An arbitrary value that can be used to provide additional information when loading the content. - - - - Creates a new target control object based on the provided arguments. - - An ID (server or client) for the target control. - An arbitrary value that can be used to provide additional information when loading the content. - A boolean value indicating whether a server or client ID was provided. - - - - A flag that indicates what type of ID (server/client) was provided. - - A boolean flag. - - Must be set according to the value of the property. - Must be set to true if ClientID has been passed, otherwise to false. - - - - - The target control's ID. - - A string that indicates the ID. - - According to the ID of the targeted control that you pass the property must be set. - If it is the server ID set it to false, if it is the ClientID - set it to true. In the case of dynamically created controls their ClientID is available only - after they have been added to their container. In INaming container scenarios (e.g. grids) it is better to use the ClientID to avoid duplicates. - - - - - An arbitrary value that can be used to provide additional information when loading the content. - - A string that is generated when adding the target control. - It is passed as a field in the object - that is passed as event arguments to the OnAjaxUpdate event handler. - - - - Adds a new target control for the ToolTipManager. - - A parameter of type . - - - - Adds a new target control for the ToolTipManager. - - The server ID of the targeted control. - - - - Adds a new target control for the ToolTipManager. - - The ID of the control that will be added. Set the isClientID property according to whether this ID is the server or ClientID. - A boolean value that indicates whether the ClientID was passed for the target control. Set it according to the controlID parameter. - - - - Adds a new target control for the ToolTipManager. - - The ID of the control that will be added. Set the isClientID property according to whether this ID is the server or ClientID. - An arbitrary value that can be used to provide additional information when loading the content. - A boolean value that indicates whether the ClientID was passed for the target control. Set it according to the controlID parameter. - - - - Adds a new target control for the ToolTipManager. - - The server ID of the targeted control. - An arbitrary value that can be used to provide additional information when loading the content. - - - - - - - - The event arguments object that is passed to the OnAjaxUpdate event handler. Holds information about the target control and its associated tooltip. - - - - - The ClientID of the target control for which the tooltip is currently being shown. - - - - - An optional parameter allowing arbitrary information to be passed from the client to the server to help determine what information to load in the tooltip in the AJAX request. - - - - - Provides a reference to the UpdatePanel of RadToolTipManager. Allows content and controls to be set and displayed in the tooltip on the client. - - - - - The event handler that is called when the OnAjaxUpdate event is fired. - - the RadToolTipManager instance that fired the event. - Event arguments object of type . - - - - This Class defines the SPRadUploadHttpModule that inherits the RadUploadHttpModule. - - - - - This Class defines the RadUploadHttpModule that inherits the IHttpModule. - - - - - Disposes of the resources (other than memory) used by the module that - implements . - - - - - Initializes a module and prepares it to handle requests. - - - - - - Gets the IsRegistered. - - The IsRegistered. - - - - Gets or sets the context. - - The context. - - - - Inits the specified app. - - The app. - - - - - - The byte array, which is currently being used - The index (distributed in the _bufferedBytes array and the chunk), - at which the field starts - The count of the field bytes to be added to the state store - Indicates if this is the final part of data - for the field (i.e. a boundary was found) - - - - This class defines the RadProgressContext object. - - - - - - - - - Serializes the specified writer. - - The writer. - - - - Gets or sets the primary total. - - The primary total. - - - - Gets or sets the primary value. - - The primary value. - - - - Gets or sets the primary percent. - - The primary percent. - - - - Gets or sets the secondary total. - - The secondary total. - - - - Gets or sets the secondary value. - - The secondary value. - - - - Gets or sets the secondary percent. - - The secondary percent. - - - - Gets or sets the current operation text. - - The current operation text. - - - - Gets or sets the speed. - - The speed. - - - - Gets or sets the time estimated. - - The time estimated. - - - - Gets or sets the time elapsed. - - The time elapsed. - - - - Gets or sets the operation complete. - - The operation complete. - - - - Removes the progress context. - - The context. - - - - Serializes the specified writer. - - The writer. - - - - Serializes the specified writer. - - The writer. - The is JSON. - - - - Gets the current. - - The current. - - - - RadProgressManager control - - - This partial class describes the Client Properties and Events of RadProgressManager. - - - - - - - - - - - - Adds RadUrid=[GUID] parameter to the supplied URL. - - - Use this method to generate proper URL for cross page postbacks - which will enable RadMemoryOptimization and RadProgressArea. - - - This example demonstrates how to set the PostBackUrl property of a button - in order to enable RadMemoryOptimization and RadProgressArea. This example - will postback to the current page, but you could use URL of your choice. - - Button1.PostBackUrl = RadProgressManager1.ApplyUniquePageIdentifier(Request.Url.PathAndQuery) - - - Button1.PostBackUrl = RadProgressManager1.ApplyUniquePageIdentifier(Request.Url.PathAndQuery); - - - - - - Gets or sets the URL which the AJAX calls will be made to. Check the help for more information. - - The ajax URL. - - - - Gets or sets the OnClientProgressStarted event value in the ViewState. - - The on client progress started. - - - - Gets or sets the OnClientProgressUpdating event value in the ViewState. - - The on client progress updating. - - - - Gets or sets the OnClientSubmitting event value in the ViewState. - - The on client submitting. - - - - Gets or sets the register for submit. - - The register for submit. - - - - Deprecated. Memory optimization is implemented as part of the .NET Framework and is no longer a feature of RadUpload. - - - - - Gets or sets a value indicating wether an error message will be displayed when the RadUploadHttpModule is not registered. - - - - - Gets or sets the period (in milliseconds) of the progress data refresh. - - - The period of the progress data refresh in milliseconds. The default value is - 500. - - - The refresh period might not be exactly the same as the value specified if - the AJAX request has not been completed before the upload. The minimum value is 50 - ms. - Note: If the value is very low (50ms) both the client CPU - and server CPU load would increase because of the increased number of AJAX requests - performed. - - - - - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - RadProgressManager's FormId property is not used anymore. Please, remove any assignments. - - - - Specifies which control objects will be visible on a RadUpload control. - - - Only the file inputs will be visible. - - - Display checkboxes for selecting a file input. - - - Display buttons for removing a file input. - - - Display buttons for clearing a file input. - - - Display button for adding a file input. - - - Display button for removing the file inputs with checked checkboxes. - - - CheckBoxes | RemoveButtons | AddButton | DeleteSelectedButton - - - - CheckBoxes | RemoveButtons | ClearButtons | AddButton | - DeleteSelectedButton - - - - - Telerik RadUpload - - - This partial Class describes the Client Proprties and Events in RadUpload. - - - - - - RadUpload - - - - - Fires the ValidatingFile event. - - - - - Fires the FileExists event. - - - - - Occurs before the internal validation of every file in the UploadedFiles collection. - - - To skip the internal validation of the file, set e.SkipInternalValidation = true. - - - This example demostrates how to implement custom validation for specific file type. - - - Private Sub RadUpload1_ValidatingFile(ByVal sender As Object, ByVal e As WebControls.ValidateFileEventArgs) Handles RadUpload1.ValidatingFile - If e.UploadedFile.GetExtension.ToLower = ".zip" Then - Dim maxZipFileSize As Integer = 10000000 '~10MB - If e.UploadedFile.ContentLength > maxZipFileSize Then - e.IsValid = False - End If - 'The zip files are not validated for file size, extension and mime type - e.SkipInternalValidation = True - End If - End Sub - - - private void RadUpload1_ValidatingFile(object sender, ValidateFileEventArgs e) - { - if (e.UploadedFile.GetExtension().ToLower() == ".zip") - { - int maxZipFileSize = 10000000; //~10MB - if (e.UploadedFile.ContentLength > maxZipFileSize) - { - e.IsValid = false; - } - //The zip files are not validated for file size, extension and content type - e.SkipInternalValidation = true; - } - } - - - MaxFileSize Property - AllowedMimeTypes Property - AllowedFileExtensions Property - - - - Occurs after an unsuccessful attempt for automatic saving of a file in the - UploadedFiles collection. - - - - This event should be consumed only when the automatic file saving is enabled by - setting the TargetFolder property. In this mode - the files are saved in the selected folder with the same name as on the client - computer. If a file with such name already exists in the - TargetFolder it is either overwritten or skipped - depending the value of the - OverwriteExistingFiles property. This - event is fired if - OverwriteExistingFiles is set to - false and a file with the same name already exists in the - TargetFolder. - - - - This example demostrates how to create custom logic for renaming and saving the - existing uploaded files. - - Private Sub RadUpload1_FileExists(ByVal sender As Object, ByVal e As WebControls.UploadedFileEventArgs) Handles RadUpload1.FileExists - Dim TheFile As Telerik.WebControls.UploadedFile = e.UploadedFile - - TheFile.SaveAs(Path.Combine(RadUpload1.TargetFolder, TheFile.GetNameWithoutExtension() + "1" + TheFile.GetExtension()), true) - End Sub - - - private void RadUpload1_FileExists(object sender, Telerik.WebControls.UploadedFileEventArgs e) - { - Telerik.WebControls.UploadedFile TheFile = e.UploadedFile; - - TheFile.SaveAs(Path.Combine(RadUpload1.TargetFolder, TheFile.GetNameWithoutExtension() + "1" + TheFile.GetExtension()), true); - } - - - OverwriteExistingFiles Property - TargetFolder Property - TargetPhysicalFolder Property - - - - Gets the localization. - - The localization. - - - - Gets or sets a value indicating where will look for its .resx localization files. - - The localization path. - - - - Gets or sets the size of the file input field - - The default value is 23. - - - - Gets or sets the allowed file extensions for uploading. - - - Set this property to empty array of strings in order to prevent the file - extension checking. - Note that the file extensions must include the dot before the actual - extension. See the example below. - - - The default value is empty string array. In order to check for multiple file - extensions you should set an array of strings containing the allowed file extensions - for uploading. - - - This example demonstrates how to set multiple allowed file extensions in a - RadUpload control. - - Dim allowedFileExtensions As String() = New String(2) {".zip", ".doc", ".config"} - RadUpload1.AllowedFileExtensions = allowedFileExtensions - - - string[] allowedFileExtensions = new string[3] {".zip", ".doc", ".config"}; - RadUpload1.AllowedFileExtensions = allowedFileExtensions; - - - MaxFileSize Property - AllowedMimeTypes Property - ValidatingFile Event - - - - Gets or sets the allowed MIME types for uploading. - - - Set this property to string.Empty in order to prevent the - mime type checking. - - - The default value is empty string array. In order to check for multiple mime - types you should set an array of strings containing the allowed MIME types - for uploading. - - - This example demostrates how to set multiple allowed MIME types to a RadUpload - control. - - ' For example you can Get these from your web.config file - Dim commaSeparatedMimeTypes As String = "application/octet-stream,application/msword,video/mpeg" - - Dim allowedMimeTypes As String() = commaSeparatedMimeTypes.Split(",") - RadUpload1.AllowedMimeTypes = allowedMimeTypes - - - // For example you can get these from your web.config file - string commaSeparatedMimeTypes = "application/octet-stream,application/msword,video/mpeg"; - - string[] allowedMimeTypes = commaSeparatedMimeTypes.Split(','); - RadUpload1.AllowedMimeTypes = allowedMimeTypes; - - - MaxFileSize Property - AllowedFileExtensions Property - ValidatingFile Event - - - - Gets or sets the value indicating which control objects will be displayed. - - - The default value is ControlObjectsVisibility.Default. You can - set any combination of the enum values. - - - ControlObjectVisibility enum members - - - Member - Description - - - None - Only the file inputs will be visible. - - - CheckBoxes - Display checkboxes for selecting a file input. - - - RemoveButtons - Display buttons for removing a file input. - - - ClearButtons - Display buttons for clearing a file input. - - - AddButton - Display button for adding a file input. - - - DeleteSelectedButton - Display button for removing the file inputs with checked - checkboxes. - - - Default - CheckBoxes | RemoveButtons | AddButton | - DeleteSelectedButton - - - All - CheckBoxes | RemoveButtons | ClearButtons | AddButton | - DeleteSelectedButton - - - - - This example demostrates how to display only the Add and Remove buttons on a - RadUpload control. - - RadUpload1.ControlObjectsVisibility = Telerik.WebControls.ControlObjectsVisibility.AddButton Or _ - Telerik.WebControls.ControlObjectsVisibility.RemoveButtons - - - RadUpload1.ControlObjectsVisibility = Telerik.WebControls.ControlObjectsVisibility.AddButton | - Telerik.WebControls.ControlObjectsVisibility.RemoveButtons; - - - MaxFileInputsCount Property - InitialFileInputsCount Property - ControlObjectsVisibility Enumeration - - - - Gets or sets the value indicating whether the file input fields skinning will be enabled. - - - true when the file input skinning is enabled; otherwise false. - - - The <input type=file> DHTML elements are not skinnable by default. If the - EnableFileInputSkinning is true some browsers can have strange behaviour. - - - - - Gets or sets the initial count of file input fields, which will appear in RadUpload. - - - The file inputs count which will be available at startup. The default value is - 1. - - MaxFileInputsCount Property - ControlObjectsVisibility Property - - - - Provides access to the invalid files uploaded by the RadUpload - instance. This is populated only if a validation was set. - - - If the internal validation is enabled this collection contains the invalid - uploaded files for the particular instance of RadUpload - control. - - - - - Gets or sets the localization language of the RadUpload user interface. - - - A string containing the localization language of the RadUpload user inteface. The - default value is en-US. - - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The culture. - - - - Gets or sets the maximum file input fields that can be added to the control. - - The default value is 0 (unlimited). - - Using this property you can limit the maximum number of file inputs which can be - added to a RadUpload instance. - - InitialFileInputsCount Property - ControlObjectsVisibility Property - - - Gets or sets the maximum file size allowed for uploading in bytes. - The default value is 0 (unlimited). - Set this property to 0 in order to prevent the file size checking. - AllowedMimeTypes Property - AllowedFileExtensions Property - ValidatingFile Event - - - - Gets or sets the name of the client-side function which will be executed before - a new fileinput is added to a RadUpload instance. - - The default value is string.Empty. - - This example demonstrates how to create a javascript function which is called every - time when the used adds a new file input to the RadUpload instance. - - <radU:RadUpload OnClientAdding="myOnClientAdding" ... /> - ... - <script> - function myOnClientAdding() - { - alert("You just added a new file input."); - } - </script> - - - <radU:RadUpload OnClientAdding="myOnClientAdding" ... /> - ... - <script> - function myOnClientAdding() - { - alert("You just added a new file input."); - } - </script> - - - - - - Gets or sets the name of the client-side function which will be executed after - a new fileinput is added to a RadUpload instance. - - The default value is string.Empty. - - This example demonstrates how to create a javascript function which is called every - time when the used adds a new file input to the RadUpload instance. - - <radU:RadUpload OnClientAdded="myOnClientAdded" ... /> - ... - <script> - function myOnClientAdded() - { - alert("You just added a new file input."); - } - </script> - - - <radU:RadUpload OnClientAdded="myOnClientAdded" ... /> - ... - <script> - function myOnClientAdded() - { - alert("You just added a new file input."); - } - </script> - - - - - - Gets or sets the name of the client-side function which will be executed before a file input is deleted - from a RadUpload instance. - - The default value is string.Empty. - - This example demonstrates how to implement a confirmation dialog when removing a - file input item. - - <radU:RadUpload OnClientDeleting="myOnClientDeleting" ... /> - <script language="javascript"> - function myOnClientDeleting() - { - return prompt("Are you sure?"); - } - </script> - - - <radU:RadUpload OnClientDeleting="myOnClientDeleting" ... /> - <script language="javascript"> - function myOnClientDeleting() - { - Return prompt("Are you sure?"); - } - </script> - - - - If you want to cancel the deleting of the file input return - false in the javascript handler. - - - - - Gets or sets the name of the client-side function which will be executed before a fileinput field is - cleared in a RadUpload instance using the Clear button. - - The default value is string.Empty. - - This example demonstrates how to create a client side confirmation dialog when - clearing a file input item of a RadUpload instance. - - <radU:RadUpload OnClientClearing="myOnClientClearing" ... /> - ... - <script> - function myOnClientClearing() - { - return confirm("Are you sure you want to clear this input?"); - } - </script> - - - <radU:RadUpload OnClientClearing="myOnClientClearing" ... /> - ... - <script> - function myOnClientClearing() - { - Return confirm("Are you sure you want to clear this input?"); - } - </script> - - - - - - Gets or sets the name of the client-side function which will be executed when a file input value changed. - - The default value is string.Empty. - - - - Gets or sets the name of the client-side function which will be executed before the selected file inputs are removed. - - The default value is string.Empty. - - This example demonstrates how to create a client side confirmation dialog when - removing the selected file input items from a RadUpload control. - - <radU:RadUpload OnClientDeletingSelected="myOnClientDeletingSelected" ... /> - - <script> - function myOnClientDeletingSelected() - { - var mustCancel = confirm("Are you sure?"); - return mustCancel; - } - </script> - - - <radU:RadUpload OnClientDeletingSelected="myOnClientDeletingSelected" ... /> - - <script> - function myOnClientDeletingSelected() - { - var mustCancel = confirm("Are you sure?"); - return mustCancel; - } - </script> - - - - You can cancel the removing of the file input items by returning - false in the javascript function. - - - - - Gets or sets the value indicating whether RadUpload should overwrite existing files having same name in the TargetFolder. - - - true when the existing files should be overwritten; otherwise - false. The default value is false. - - - When set to true, the existing files are overwritten, else no - action is taken. - - FileExists Event - TargetFolder Property - TargetPhysicalFolder Property - - - - Gets or sets a value indicating if the file input fields should be read-only - (e.g. no typing allowed). - - - true when the file input fields should be read-only; otherwise - false. - - - When users type into the box and the filename is not valid, the form submission - in Internet Explorer could not proceed or even display a javascript error. This - behavior can be avoided by setting the ReadOnlyFileInputs property to true. - - - - - Gets or sets the virtual path of the folder, where RadUpload will automatically save the valid files after the upload completes. - - - A string containing the virtual path of the folder where RadUpload will automatically save the valid files - after the upload completes. The default value is string.Empty. - - - When set to string.Empty, the files must be saved manually to the desired location. - If both TargetPhysicalFolder property and this property are set, the - TargetPhysicalFolder will override the virtual path provided by TargetFolder. - - OverwriteExistingFiles Property - FileExists Event - TargetPhysicalFolder Property - - - - Gets or sets the physical path of the folder, where RadUpload will automatically save the valid files after the upload completes. - - - A string containing the physical path of the folder where RadUpload will automatically save the valid files - after the upload completes. The default value is string.Empty. - - - When set to string.Empty, the files must be saved manually to the desired location. - If both TargetFolder property and this property are set, the - TargetPhysicalFolder will override the virtual path provided by TargetFolder. - - TargetFolder Property - OverwriteExistingFiles Property - FileExists Event - - - - Provides access to the valid files uploaded by the RadUpload - instance. - - - UploadedFileCollection containing all valid files uploaded using - a RadUpload control. - - - The collection contains only the files uploaded with the particular instance of - the RadUpload control. If the RadUploadHttpModule is used, the - uploaded files are removed from the Request.Files collection in order - to conserve the server's memory. Else the Request.Files contains all uploaded files as - a HttpPostedFile collection and each RadUpload instance has its own - uploaded files as UploadedFileCollection. - - - This example demonstrates how to save the valid uploaded files with a - RadUpload control. - - For Each file As Telerik.WebControls.UploadedFile In RadUpload1.UploadedFiles - file.SaveAs(Path.Combine("c:\my files\", file.GetName()), True) - Next - - - foreach (Telerik.WebControls.UploadedFile file in RadUpload1.UploadedFiles) - { - file.SaveAs(Path.Combine(@"c:\my files\", file.GetName()), true); - } - - - - - Gets or sets the value indicating whether the first file input field of RadUpload should get - the focus on itself on load. - - true when the first file input field of RadUpload should get - the focus; otherwise false. The default value is false. - - - - - Gets a value indicating whether the RadUpload HttpModule is registered in the current web.application - - - - - Gets or sets the enabled. - - The enabled. - - - - This Class defines the RadUploadContext onject. - - - - - Gets the current. - - The context. - - - - - Gets the uploaded files. - - The uploaded files. - - - - Gets the current. - - The current. - - - Provides access to and organizes files uploaded by a client. - - Clients encode files and transmit them in the content body using multipart MIME - format with an HTTP Content-Type header of multipart/form-data. RadUpload - extracts the encoded file(s) from the content body into individual members of an - UploadedFileCollection. Methods and properties of the - UploadedFile class provide access to the contents and properties of - each file. - - - - - Gets an individual UploadedFile object from the file - collection. - In C#, this property is the indexer for the - UploadedFileCollection class. - - The UploadedFile specified by index. - - The following example retrieves the first file object (index = 0) from the - collection sent by the client and retrieves the name of the actual file represented - by the object. - - Dim MyUploadedFile As UploadedFile = RadUpload1.UploadedFiles(0) - Dim MyFileName As String = UploadedFile.FileName - - - HttpPostedFile MyUploadedFile = RadUpload1.UploadedFiles[0]; - String MyFileName = MyUploadedFile.FileName; - - - UploadedFile Class - The index of the item to get from the file collection. - - - - This class loads the dialog resources - localization, skins, base scripts, etc. - - - - - Gets or sets a string containing the localization language for the RadEditor UI - - - - - Shows a RadAlert dialog when the page is loaded on the client. - - The text that will be shown in the dialog - The width of the dialog. - The height of the dialog. - The title of the dialog. - The name of the JavaScript function that will be called when the dialog is closed. - Passing an empty string will not require a callback function. - - - - - - - - - - - Shows a RadAlert dialog when the page is loaded on the client. - - The text that will be shown in the dialog - The width of the dialog. - The height of the dialog. - The title of the dialog. - The name of the JavaScript function that will be called when the dialog is closed. - Passing an empty string will not require a callback function. - The URL to the new image that will appera on the left side of the dialog. - An empty string will remove the image, null/Nothing will keep the original image - - - - - - - - - - - Shows a RadConfirm dialog when the page is loaded on the client. - - The text that will be shown in the dialog. - The name of the JavaScript function that will be called when the dialog is closed. - Passing an empty string will not require a callback function. - The width of the dialog. - The height of the dialog. - Must be null/Nothing. - The title of the dialog. - - For more information see the following help article: http://www.telerik.com/help/aspnet-ajax/window-dialogs-confirm.html. - - - - - Shows a RadConfirm dialog when the page is loaded on the client. - - The text that will be shown in the dialog. - The name of the JavaScript function that will be called when the dialog is closed. - Passing an empty string will not require a callback function. - The width of the dialog. - The height of the dialog. - Must be null/Nothing. - The title of the dialog. - The URL to the new image that will appera on the left side of the dialog. - An empty string will remove the image, null/Notghing will keep the original image - - For more information see the following help article: http://www.telerik.com/help/aspnet-ajax/window-dialogs-confirm.html. - - - - - Shows a RadPrompt dialog when the page is loaded on the client. - - The text that will be shown in the dialog. - The name of the JavaScript function that will be called when the dialog is closed. - Passing an empty string will not require a callback function. - The width of the dialog. - The height of the dialog. - Must be null/Nothing. - The title of the dialog. - The default value in the input field. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the collection of RadWindow objects the RadWindowManager has. - - - - - Gets or sets a value indicating whether the RadWindow objects' state (size, location, behavior) will be - persisted in a client cookie to restore state over page postbacks/visits. - - - - - This property allows to specify the HTML for the RadAlert popup - - - Fore more information see this KB article: - http://www.telerik.com/support/kb/aspnet-ajax/window/change-the-templates-of-the-predefined-dialogs-radalert-radconfirm-and-radprompt.aspx. - - - - - This property allows to specify the HTML for the RadConfirm popup - - - Fore more information see this KB article: - http://www.telerik.com/support/kb/aspnet-ajax/window/change-the-templates-of-the-predefined-dialogs-radalert-radconfirm-and-radprompt.aspx. - - - - - This property allows to specify the HTML for the RadPrompt popup - - - Fore more information see this KB article: - http://www.telerik.com/support/kb/aspnet-ajax/window/change-the-templates-of-the-predefined-dialogs-radalert-radconfirm-and-radprompt.aspx. - - - - - The enumerator that holds the possible values for the Animation property. - - - - - No animation. This is the default value. - - Numeric value: 0 - - - - Shows the RadWindow with a size increase from 0 to the size set in its properties. - - Numeric value: 1 - - - - Shows the RadWindow with a change of the opacity from transparent to opaque. - - Numeric value: 2 - - - - Slides the RadWindow down from its titlebar. - - Numeric value: 4 - - - - Shows the RadWindow with a change of position from outside of the viewport to the position specified by its properties. - - Numeric value: 8 - - - - Specifies the automatic resize behavior of a RadWindow. - - - - - Resizes according to the width of the content. The top left corner stays in place. - - Numeric value: 1 - - - - Resizes according to the Width of the content. The RadWindow repositions to distribute the size change evenly on both sides. - - Numeric value: 2 - - - - Resizes according to the height of the content. The top left corner stays in place. - - Numeric value: 4 - - - - Resizes according to the height of the content. The RadWindow repositions to distribute the size change evenly on both sides. - - Numeric value: 8 - - - - Resizes according to both the width and height of the content. Distributes the size change evently in all directions. Equivalent to WidthProportional plus HeightProportional. - - (WidthProportional | HeightProportional) - - - - Specifies the behaviors of the RadWindow object - - - - - No behavior is specified. - - Numeric value: 0x0 - - - - The object can be resized. - - Numeric value: 1 - - - - The object can be minimized. - - Numeric value: 2 - - - - The object can be closed. - - Numeric value: 4 - - - - The objct can be pinned. - - Numeric value: 8 - - - - The object can be maximized. - - Numeric value: 16 - - - - The object can be moved. - - Numeric value: 32 - - - - The object will have a reload button. - - Numeric value: 64 - - - - Default object behavior: all together. - - (Minimize | Maximize | Close | Pin | Resize | Move | Reload) - - - - Adds a new RadWindow instance to the Windows collection of the RadWindowManager. - - The RadWindow instance to be added. - - - - - - - - - - - - Removes a RadWindow instance from the Windows collection of the RadWindowManager. - - The RadWindow instance to be removed. - - - - Removes the RadWindow object at the specified index from the Windows collection of the RadWindowManager. - - The index of the item to be removed. - - - - Clears all items from the Windows collection of the RadWindowManager. - - - - - - - - - The arguments passed when ajax request is initiated - from the client. - - - - - Gets the event argument passed when calling - the ajax request from the client. - - The event argument. - - - - The event arguments passed when - fires AjaxSettingsCreated event. - - - - - Gets or sets the control that initiated the request. - - The control that initiated the request. - - - - Gets or sets the updated control. - - The updated control. - - - - Gets the update panel in which the updated control is positioned. - - The update panel in which the updated controls is positioned. - - - - The event arguments passed when - fires AjaxSettingsCreating event. - - - - - Gets or sets if the event will be canceled. - If set to true the will - not be created - - Determines if the event will be canceled. - - - - Gets or sets the control that initiated the request. - - The control that initiated the request. - - - - Gets or sets the updated control. - - The updated control. - - - - Gets the update panel in which the updated control is positioned. - - The update panel in which the updated controls is positioned. - - - - should be used when you have server code blocks - placed within the markup (most often some JavaScript functions - accessing server controls). prevents the server error: - - - - - is used where you have JavaScript that evaluates - after an AJAX request, for example when the content of - is updated asynchronously. also can be used like - to handle server code blocks (<% ... %>). - - - - - ApocDriver provides the client with a single interface to invoking Apoc XSL-FO. - - - The examples belows demonstrate several ways of invoking Apoc XSL-FO. The - methodology is the same regardless of how Apoc is embedded in your - system (ASP.NET, WinForm, Web Service, etc). - - - - // This example demonstrates rendering an XSL-FO file to a PDF file. - ApocDriver driver = ApocDriver.Make(); - driver.Render( - new FileStream("readme.fo", FileMode.Open), - new FileStream("readme.pdf", FileMode.Create)); - - - // This example demonstrates rendering an XSL-FO file to a PDF file. - Dim driver As ApocDriver = ApocDriver.Make - driver.Render( _ - New FileStream("readme.fo", FileMode.Open), _ - New FileStream("readme.pdf", FileMode.Create)) - - - // This example demonstrates rendering the result of an XSLT transformation - // into a PDF file. - ApocDriver driver = ApocDriver.Make(); - driver.Render( - XslTransformer.Transform("readme.xml", "readme.xsl"), - new FileStream("readme.pdf", FileMode.Create)); - - - // This example demonstrates rendering the result of an XSLT transformation - // into a PDF file. - Dim driver As ApocDriver = ApocDriver.Make - driver.Render( _ - XslTransformer.Transform("readme.xml", "readme.xsl"), _ - New FileStream("readme.pdf", FileMode.Create)) - - - // This example demonstrates using an XmlDocument as the source of the - // XSL-FO tree. The XmlDocument could easily be dynamically generated. - XmlDocument doc = new XmlDocument() - doc.Load("reader.fo"); - - ApocDriver driver = ApocDriver.Make(); - driver.Render(doc, new FileStream("readme.pdf", FileMode.Create)); - - - // This example demonstrates using an XmlDocument as the source of the - // XSL-FO tree. The XmlDocument could easily be dynamically generated. - Dim doc As XmlDocument = New XmlDocument() - doc.Load("reader.fo") - - Dim driver As ApocDriver = ApocDriver.Make - driver.Render(doc, New FileStream("readme.pdf", FileMode.Create)) - - - - - - This interface is implemented by the ApocDriver class to permit usage - from COM applications. This is the recommended method of supporting - invocation from COM application as it permits interface versioning. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the output format of the renderer. - - - Defaults to PDF. - - - - - Determines if the output stream passed to - should be closed upon completion or if a fatal exception occurs. - - - - - Options to supply to the renderer. - - - - - Maps a set of credentials to an internet resource - - - - - The ResourceManager embedded in the core dll. - - - - - The active driver. - - - - - Permits the product key to be specified using code, rather than - the flakey licenses.licx method. - - - - - Constructs a new ApocDriver and registers the newly created - driver as the active driver. - - An instance of ApocDriver - - - - Sets the the 'baseDir' property in the Configuration class using - the value returned by Directory.GetCurrentDirectory(). - - - - - An optional image handler that can be registered to load image - data for external graphic formatting objects. - - - - - Executes the conversion reading the source tree from the supplied - XmlDocument, converting it to a format dictated by the renderer - and writing it to the supplied output stream. - - - An in-memory representation of an XML document (DOM). - - - Any subclass of the Stream class. - - - Any exceptions that occur during the render process are arranged - into three categories: information, warning and error. You may - intercept any or all of theses exceptional states by registering - an event listener. See for an - example of registering an event listener. If there are no - registered listeners, the exceptions are dumped to standard out - - except for the error event which is wrapped in a - . - - - - - Executes the conversion reading the source tree from the input - reader, converting it to a format dictated by the renderer and - writing it to the supplied output stream. - - A character orientated stream - Any subclass of the Stream class - - - - Executes the conversion reading the source tree from the file - inputFile, converting it to a format dictated by the - renderer and writing it to the file identified by outputFile. - - - If the file outputFile does not exist, it will created - otherwise it will be overwritten. Creating a file may - generate a variety of exceptions. See - for a complete list.
-
- Path to an XSL-FO file - Path to a file -
- - - Executes the conversion reading the source tree from the file - inputFile, converting it to a format dictated by the - renderer and writing it to the supplied output stream. - - Path to an XSL-FO file - - Any subclass of the Stream class, e.g. FileStream - - - - - Executes the conversion reading the source tree from the input - stream, converting it to a format dictated by the render and - writing it to the supplied output stream. - - Any subclass of the Stream class, e.g. FileStream - Any subclass of the Stream class, e.g. FileStream - - - - Executes the conversion reading the source tree from the input - reader, converting it to a format dictated by the render and - writing it to the supplied output stream. - - - The evaluation copy of this class will output an evaluation - banner to standard out - - - Reader that provides fast, non-cached, forward-only access - to XML data - - - Any subclass of the Stream class, e.g. FileStream - - - - - Retrieves the string resource with the specific key using the - default culture - - A resource key - - The resource string identified by key from the - current culture's setting - - - The key parameter is a null reference - - The value of the specified resource is not a string - - No usable set of resources has been found, and there are no - neutral culture resources - - - - - Sends an 'error' event to all registered listeners. - - - If there are no listeners, a is - thrown immediately halting execution - - Any error message, which may be null - - If no listener is registered for this event, a SystemException - will be thrown - - - - - Sends a 'warning' event to all registered listeners - - - If there are no listeners, message is written out - to the console instead - - Any warning message, which may be null - - - - Sends an 'info' event to all registered lisetners - - - If there are no listeners, message is written out - to the console instead - - An info message, which may be null - - - - Utility method that creates an - for the supplied file - - - The returned interprets all whitespace - - - - - Utility method that creates an - for the supplied file - - - The returned interprets all whitespace - - - - - Utility method that creates an - for the supplied file - - - The returned interprets all whitespace - - - - - A multicast delegate. The error event Apoc publishes. - - - The method signature for this event handler should match - the following: -

-                void ApocError(object driver, ApocEventArgs e);
-                
- The first parameter driver will be a reference to the - active ApocDriver instance. -
- Subscribing to the 'error' event -
[C#]
- { - ApocDriver driver = ApocDriver.Make(); - driver.OnError += new ApocDriver.ApocEventHandler(ApocError); - ... - } -
-
-
- - - A multicast delegate. The warning event Apoc publishes. - - - The method signature for this event handler should match - the following: -

-                void ApocWarning(object driver, ApocEventArgs e);
-                
- The first parameter driver will be a reference to the - active ApocDriver instance. -
-
- - - A multicast delegate. The info event Apoc publishes. - - - The method signature for this event handler should match - the following: -

-                void ApocInfo(object driver, ApocEventArgs e);
-                
- The first parameter driver will be a reference to the - active ApocDriver instance. -
-
- - - Determines if the output stream should be automatically closed - upon completion of the render process. - - - - - Gets or sets the active . - - - An instance of created via the factory method - . - - - - - Determines which rendering engine to use. - - - A value from the enumeration. - - - The default value is - . - - - - - Gets or sets the base directory used to locate external - resourcs such as images. - - - Defaults to the current working directory. - - - - - Gets or sets the handler that is responsible for loading the image - data for external graphics. - - - If null is returned from the image handler, then Apoc will perform - normal processing. - - - - - Gets or sets the time in milliseconds until an HTTP image request - times out. - - - The default value is 100000 milliseconds. - - - The timeout value in milliseconds - - - - - Gets a reference to a object - that manages credentials for multiple Internet resources. - - - - The purpose of this property is to associate a set of credentials against - an Internet resource. These credentials are then used by Apoc when - fetching images from one of the listed resources. - - - ApocDriver driver = ApocDriver.Make(); - - NetworkCredential nc1 = new NetworkCredential("foo", "password"); - driver.Credentials.Add(new Uri("http://www.chive.com"), "Basic", nc1); - - NetworkCredential nc2 = new NetworkCredential("john", "password", "UK"); - driver.Credentials.Add(new Uri("http://www.xyz.com"), "Digest", nc2); - - - - - Write only property that can be used to bypass licenses.licx - and set a product key directly. - - - - - Returns the product key. - - - - - Options that are passed to the rendering engine. - - - An object that implements the marker interface. - The default value is null, in which case all default options will be used. - - - An instance of - is typically passed to this property. - - - - - True if the current license is an evaluation license. - - - - - The delegate subscribers must implement to receive Apoc events. - - - The parameter will be a reference to - the active ApocDriver. The parameter will - contain a human-readable error message. - - A reference to the active ApocDriver - Encapsulates a human readable error message - - - - The delegat subscribers must implement to handle the loading - of image data in response to external-graphic formatting objects. - - - - - A class containing event data for the Error, Warning and Info - events defined in . - - - - - Initialises a new instance of the ApocEventArgs class. - - The text of the event message. - - - - Retrieves the event message. - - A string which may be null. - - - - Converts this ApocEventArgs to a string. - - - A string representation of this class which is identical - to . - - - - - This exception is thrown by Apoc when an error occurs. - - - - - Initialises a new instance of the ApocException class. - - - The property will be initialised - to innerException.Message - - - The exception that is the cause of the current exception - - - - - Initialises a new instance of the ApocException class. - - - The error message that explains the reason for this exception - - - - - Initialises a new instance of the ApocException class. - - - The error message that explains the reason for this exception - - - The exception that is the cause of the current exception - - - - - A length quantity in XSL which is specified as "auto". - - - - a colour quantity in XSL - - - the red component - - - the green component - - - the blue component - - - the alpha component - - - set the colour given a particular String specifying either a - colour name or #RGB or #RRGGBB - - - a space quantity in XSL (space-before, space-after) - - - a length quantity in XSL - - - Set the length given a number of relative units and the current - font size in base units. - - - Set the length given a number of units and a unit name. - - - set the length as a number of base units - - - Convert the given length to a dimensionless integer representing - a whole number of base units (milli-points). - - - Constructor for IDNode - - @param idValue The value of the id for this node - - - Sets the page number for this node - - @param number page number of node - - - Returns the page number of this node - - @return page number of this node - - - creates a new GoTo object for an internal link - - @param objectNumber - the number to be assigned to the new object - - - sets the page reference for the internal link's GoTo. The GoTo will jump to this page reference. - - @param pageReference - the page reference to which the internal link GoTo should jump - ex. 23 0 R - - - Returns the reference to the Internal Link's GoTo object - - @return GoTo object reference - - - Returns the id value of this node - - @return this node's id value - - - Returns the PDFGoTo object associated with the internal link - - @return PDFGoTo object - - - Determines whether there is an internal link GoTo for this node - - @return true if internal link GoTo for this node is set, false otherwise - - - Sets the position of this node - - @param x the x position - @param y the y position - - - Constructor for IDReferences - - - Creates and configures the specified id. - - @param id The id to initialize - @param area The area where this id was encountered - @exception ApocException - - - Creates id entry - - @param id The id to create - @param area The area where this id was encountered - @exception ApocException - - - Creates id entry that hasn't been validated - - @param id The id to create - @exception ApocException - - - Adds created id list of unvalidated ids that have already - been created. This should be used if it is unsure whether - the id is valid but it must be anyhow. - - @param id The id to create - - - Removes id from list of unvalidated ids. - This should be used if the id has been determined - to be valid. - - @param id The id to remove - - - Determines whether specified id already exists in - idUnvalidated - - @param id The id to search for - @return true if ID was found, false otherwise - - - Configures this id - - @param id The id to configure - @param area The area where the id was encountered - - - Adds id to validation list to be validated . This should be used if it is unsure whether the id is valid - - @param id id to be added - - - Removes id from validation list. This should be used if the id has been determined to be valid - - @param id the id to remove - - - Removes id from IDReferences - - @param id The id to remove - @exception ApocException - - - Determines whether all id's are valid - - @return true if all id's are valid, false otherwise - - - Returns all invalid id's still remaining in the validation list - - @return invalid ids from validation list - - - Determines whether specified id already exists in IDReferences - - @param id the id to search for - @return true if ID was found, false otherwise - - - Determines whether the GoTo reference for the specified id is defined - - @param id the id to search for - @return true if GoTo reference is defined, false otherwise - - - Returns the reference to the GoTo object used for the internal link - - @param id the id whose reference to use - @return reference to GoTo object - - - - Creates an PdfGoto object that will 'goto' the passed Id. - - The ID of the link's target. - The PDF object id to use for the GoTo object. - - This method is a bit 'wrong'. Passing in an objectId seems a bit - dirty and I don't see why an IDNode should be responsible for - keeping track of the GoTo object that points to it. These decisions - only seem to pollute this class with PDF specific code. - - - - Adds an id to IDReferences - - @param id the id to add - - - Returns the PDFGoTo object for the specified id - - @param id the id for which the PDFGoTo to be retrieved is associated - @return the PdfGoTo object associated with the specified id - - - sets the page reference for the internal link's GoTo. The GoTo will jump to this page reference. - - @param pageReference - the page reference to which the internal link GoTo should jump - ex. 23 0 R - - - Sets the page number for the specified id - - @param id The id whose page number is being set - @param pageNumber The page number of the specified id - - - Returns the page number where the specified id is found - - @param id The id whose page number to return - @return the page number of the id, or null if the id does not exist - - - Sets the x and y position of specified id - - @param id the id whose position is to be set - @param x x position of id - @param y y position of id - - - XSL FO Keep Property datatype (keep-together, etc) - - - What to do here? There isn't really a meaningful single value. - - - Keep Value - Stores the different types of keeps in a single convenient format. - - - FO parent of the FO for which this property is to be calculated. - - - PropertyList for the FO where this property is calculated. - - - One of the defined types of LengthBase - - - Accessor for parentFO object from subclasses which define - custom kinds of LengthBase calculations. - - - Accessor for propertyList object from subclasses which define - custom kinds of LengthBase calculations. - - - This datatype hold a pair of lengths, specifiying the dimensions in - both inline and block-progression-directions. - It is currently only used to specify border-separation in tables. - - - a "progression-dimension" quantity - ex. block-progression-dimension, inline-progression-dimension - corresponds to the triplet min-height, height, max-height (or width) - - - Set minimum value to min. - @param min A Length value specifying the minimum value for this - LengthRange. - @param bIsDefault If true, this is set as a "default" value - and not a user-specified explicit value. - - - Set maximum value to max if it is >= optimum or optimum isn't set. - @param max A Length value specifying the maximum value for this - @param bIsDefault If true, this is set as a "default" value - and not a user-specified explicit value. - - - Set the optimum value. - @param opt A Length value specifying the optimum value for this - @param bIsDefault If true, this is set as a "default" value - and not a user-specified explicit value. - - - Return the computed value in millipoints. - - - A length quantity in XSL which is specified with a mixture - of absolute and relative and/or percent components. - The actual value may not be computable before layout is done. - - - a percent specified length quantity in XSL - - - construct an object based on a factor (the percent, as a - a factor) and an object which has a method to return the - Length which provides the "base" for this calculation. - - - Return the computed value in millipoints. This assumes that the - base length has been resolved to an absolute length value. - - - - A space quantity in XSL (space-before, space-after) - - - - A table-column width specification, possibly including some - number of proportional "column-units". The absolute size of a - column-unit depends on the fixed and proportional sizes of all - columns in the table, and on the overall size of the table. - It can't be calculated until all columns have been specified and until - the actual width of the table is known. Since this can be specified - as a percent of its parent containing width, the calculation is done - during layout. - NOTE: this is only supposed to be allowed if table-layout=fixed. - - - Number of table-column proportional units - - - Construct an object with tcolUnits of proportional measure. - - - Override the method in Length to return the number of specified - proportional table-column units. - - - Calculate the number of millipoints and set it. - - - The original specified value for properties which inherit - specified values. - - - Accessor functions for all possible Property datatypes - - - - Gets or setd the original value specified for the property attribute. - - - - - Construct an instance of a PropertyMaker. - - - The property name is set to "UNKNOWN". - - - - - Construct an instance of a PropertyMaker for the given property. - - The name of the property to be made. - - - - Default implementation of isInherited. - - A boolean indicating whether this property is inherited. - - - - Return a boolean indicating whether this property inherits the - "specified" value rather than the "computed" value. The default is - to inherit the "computed" value. - - If true, property inherits the value specified. - - - - Return an object implementing the PercentBase interface. This is - used to handle properties specified as a percentage of some "base - length", such as the content width of their containing box. - Overridden by subclasses which allow percent specifications. See - the documentation on properties.xsl for details. - - - - - - - - Return a Maker object which is used to set the values on components - of compound property types, such as "space". Overridden by property - maker subclasses which handle compound properties. - - - The name of the component for which a Maker is to returned, for - example "optimum", if the FO attribute is space.optimum='10pt'. - - - - - - Return a property value for the given component of a compound - property. - - - NOTE: this is only to ease porting when calls are made to - PropertyList.get() using a component name of a compound property, - such as get("space.optimum"). - The recommended technique is: get("space").getOptimum(). - Overridden by property maker subclasses which handle compound properties. - - A property value for a compound property type such as SpaceProperty. - The name of the component whose value is to be returned. - - - - - Return a property value for a compound property. If the property - value is already partially initialized, this method will modify it. - - - The Property object representing the compound property, such as - SpaceProperty. - - The name of the component whose value is specified. - The propertyList being built. - - The FO whose properties are being set. - A compound property object. - - - - Set a component in a compound property and return the modified - compound property object. This default implementation returns - the original base property without modifying it. It is overridden - by property maker subclasses which handle compound properties. - - - The Property object representing the compound property, such as SpaceProperty. - - The name of the component whose value is specified. - - A Property object holding the specified value of the component to be set. - - The modified compound property object. - - - - Create a Property object from an attribute specification. - - The PropertyList object being built for this FO. - The attribute value. - The current FO whose properties are being set. - The initialized Property object. - - - - Return a String to be parsed if the passed value corresponds to - a keyword which can be parsed and used to initialize the property. - For example, the border-width family of properties can have the - initializers "thin", "medium", or "thick". The foproperties.xml - file specifies a length value equivalent for these keywords, - such as "0.5pt" for "thin". These values are considered parseable, - since the Length object is no longer responsible for parsing - unit expresssions. - - The string value of property attribute. - - A string containging a parseable equivalent or null if the passed - value isn't a keyword initializer for this Property. - - - - - Return a Property object based on the passed Property object. - This method is called if the Property object built by the parser - isn't the right type for this property. - It is overridden by subclasses when the property specification in - foproperties.xml specifies conversion rules. - - The Property object return by the expression parser - The PropertyList object being built for this FO. - The current FO whose properties are being set. - - A Property of the correct type or null if the parsed value - can't be converted to the correct type. - - - - - Return a Property object representing the initial value. - - The PropertyList object being built for this FO. - - - - - Return a Property object representing the initial value. - - The PropertyList object being built for this FO. - The parent FO for the FO whose property is being made. - - A Property subclass object holding a "compound" property object - initialized to the default values for each component. - - - - - Return a Property object representing the value of this property, - based on other property values for this FO. - A special case is properties which inherit the specified value, - rather than the computed value. - - The PropertyList for the FO. - - Property A computed Property value or null if no rules are - specified (in foproperties.xml) to compute the value. - - - - - Return the name of the property whose value is being set. - - - - base class for extension objects - - - base class for representation of formatting objects and their processing - - - - Value of marker before layout begins - - - - value of marker after break-after - - - where the layout was up to. - for FObjs it is the child number - for FOText it is the character number - - - lets outside sources access the property list - first used by PageNumberCitation to find the "id" property - returns null by default, overide this function when there is a property list - @param name - the name of the desired property to obtain - @returns the property - - - At the start of a new span area layout may be partway through a - nested FO, and balancing requires rollback to this known point. - The snapshot records exactly where layout is at. - @param snapshot a Vector of markers (Integer) - @returns the updated Vector of markers (Integers) - - - When balancing occurs, the flow layout() method restarts at the - point specified by the current marker snapshot, which is retrieved - and restored using this method. - @param snapshot the Vector of saved markers (Integers) - - - adds characters (does nothing here) - @param data text - @param start start position - @param length length of the text - - - generates the area or areas for this formatting object - and adds these to the area. This method should always be - overridden by all sub classes - - @param area - - - returns the name of the formatting object - @return the name of this formatting objects - - - - - - - - - lets outside sources access the property list - first used by PageNumberCitation to find the "id" property - @param name - the name of the desired property to obtain - @return the property - - - Return the "content width" of the areas generated by this FO. - This is used by percent-based properties to get the dimension of - the containing block. - If an FO has a property with a percentage value, that value - is usually calculated on the basis of the corresponding dimension - of the area which contains areas generated by the FO. - NOTE: subclasses of FObj should implement this to return a reasonable - value! - - - removes property id - @param idReferences the id to remove - - - Set writing mode for this FO. - Find nearest ancestor, including self, which generates - reference areas and use the value of its writing-mode property. - If no such ancestor is found, use the value on the root FO. - - - - @param parent the parent formatting object - @param propertyList the explicit properties of this object - - - Called for extensions within a page sequence or flow. These extensions - are allowed to generate visible areas within the layout. - - - @param area - - - Called for root extensions. Root extensions aren't allowed to generate - any visible areas. They are used for extra items that don't show up in - the page layout itself. For example: pdf outlines - - @param areaTree - - - The parent outline object if it exists - - - an opaque renderer context object, e.g. PDFOutline for PDFRenderer - - - The fo:root formatting object. Contains page masters, root extensions, - page-sequences. - - - Called by subclass if no match found. - - - By default, functions have no percent-based arguments. - - - Return the specified or initial value of the property on this object. - - - Return the name as a String (should be specified with quotes!) - - - Construct a Numeric object from a Number. - @param num The number. - - - Construct a Numeric object from a Length. - @param l The Length. - - - Construct a Numeric object from a PercentLength. - @param pclen The PercentLength. - - - v * Construct a Numeric object from a TableColLength. - * @param tclen The TableColLength. - - - Return the current value as a Length if possible. This constructs - a new Length or Length subclass based on the current value type - of the Numeric. - If the stored value has a unit dimension other than 1, null - is returned. - - - Return the current value as a Number if possible. - Calls asDouble(). - - - Return a boolean value indiciating whether the currently stored - value consists of different "types" of values (absolute, percent, - and/or table-unit.) - - - Subtract the operand from the current value and return a new Numeric - representing the result. - @param op The value to subtract. - @return A Numeric representing the result. - @throws PropertyException If the dimension of the operand is different - from the dimension of this Numeric. - - - Add the operand from the current value and return a new Numeric - representing the result. - @param op The value to add. - @return A Numeric representing the result. - @throws PropertyException If the dimension of the operand is different - from the dimension of this Numeric. - - - Multiply the the current value by the operand and return a new Numeric - representing the result. - @param op The multiplier. - @return A Numeric representing the result. - @throws PropertyException If both Numerics have "mixed" type. - - - Divide the the current value by the operand and return a new Numeric - representing the result. - @param op The divisor. - @return A Numeric representing the result. - @throws PropertyException If both Numerics have "mixed" type. - - - Return the absolute value of this Numeric. - @return A new Numeric object representing the absolute value. - - - Return a Numeric which is the maximum of the current value and the - operand. - @throws PropertyException If the dimensions or value types of the - object and the operand are different. - - - Return a Numeric which is the minimum of the current value and the - operand. - @throws PropertyException If the dimensions or value types of the - object and the operand are different. - - - This class holds context information needed during property expression - evaluation. - It holds the Maker object for the property, the PropertyList being - built, and the FObj parent of the FObj for which the property is being set. - - - Return whether this property inherits specified values. - Propagates to the Maker. - @return true if the property inherits specified values, false if it - inherits computed values. - - - Return the PercentBase object used to calculate the absolute value from - a percent specification. - Propagates to the Maker. - @return The PercentBase object or null if percentLengthOK()=false. - - - Return the current font-size value as base units (milli-points). - - - Construct a new PropertyTokenizer object to tokenize the passed - string. - @param s The Property expressio to tokenize. - - - Return the next token in the expression string. - This sets the following package visible variables: - currentToken An enumerated value identifying the recognized token - currentTokenValue A string containing the token contents - currentUnitLength If currentToken = TOK_NUMERIC, the number of - characters in the unit name. - @throws PropertyException If un unrecognized token is encountered. - - - Attempt to recognize a valid NAME token in the input expression. - - - Attempt to recognize a valid sequence of decimal digits in the - input expression. - - - Attempt to recognize a valid sequence of hexadecimal digits in the - input expression. - - - Return a bool value indicating whether the following non-whitespace - character is an opening parenthesis. - - - Return a bool value indicating whether the argument is a - decimal digit (0-9). - @param c The character to check - - - Return a bool value indicating whether the argument is a - hexadecimal digit (0-9, A-F, a-f). - @param c The character to check - - - Return a bool value indicating whether the argument is whitespace - as defined by XSL (space, newline, CR, tab). - @param c The character to check - - - Return a bool value indicating whether the argument is a valid name - start character, ie. can start a NAME as defined by XSL. - @param c The character to check - - - Return a bool value indicating whether the argument is a valid name - character, ie. can occur in a NAME as defined by XSL. - @param c The character to check - - - Public entrypoint to the Property expression parser. - @param expr The specified value (attribute on the xml element). - @param propInfo A PropertyInfo object representing the context in - which the property expression is to be evaluated. - @return A Property object holding the parsed result. - @throws PropertyException If the "expr" cannot be parsed as a Property. - - - Private constructor. Called by the static parse() method. - @param propExpr The specified value (attribute on the xml element). - @param propInfo A PropertyInfo object representing the context in - which the property expression is to be evaluated. - - - Parse the property expression described in the instance variables. - Note: If the property expression String is empty, a StringProperty - object holding an empty String is returned. - @return A Property object holding the parsed result. - @throws PropertyException If the "expr" cannot be parsed as a Property. - - - Try to parse an addition or subtraction expression and return the - resulting Property. - - - Try to parse a multiply, divide or modulo expression and return - the resulting Property. - - - Try to parse a unary minus expression and return the - resulting Property. - - - Checks that the current token is a right parenthesis - and throws an exception if this isn't the case. - - - Try to parse a primary expression and return the - resulting Property. - A primary expression is either a parenthesized expression or an - expression representing a primitive Property datatype, such as a - string literal, an NCname, a number or a unit expression, or a - function call expression. - - - Parse a comma separated list of function arguments. Each argument - may itself be an expression. This method consumes the closing right - parenthesis of the argument list. - @param nbArgs The number of arguments expected by the function. - @return An array of Property objects representing the arguments - found. - @throws PropertyException If the number of arguments found isn't equal - to the number expected. - - - Evaluate an addition operation. If either of the arguments is null, - this means that it wasn't convertible to a Numeric value. - @param op1 A Numeric object (Number or Length-type object) - @param op2 A Numeric object (Number or Length-type object) - @return A new NumericProperty object holding an object which represents - the sum of the two operands. - @throws PropertyException If either operand is null. - - - Evaluate a subtraction operation. If either of the arguments is null, - this means that it wasn't convertible to a Numeric value. - @param op1 A Numeric object (Number or Length-type object) - @param op2 A Numeric object (Number or Length-type object) - @return A new NumericProperty object holding an object which represents - the difference of the two operands. - @throws PropertyException If either operand is null. - - - Evaluate a unary minus operation. If the argument is null, - this means that it wasn't convertible to a Numeric value. - @param op A Numeric object (Number or Length-type object) - @return A new NumericProperty object holding an object which represents - the negative of the operand (multiplication by *1). - @throws PropertyException If the operand is null. - - - Evaluate a multiplication operation. If either of the arguments is null, - this means that it wasn't convertible to a Numeric value. - @param op1 A Numeric object (Number or Length-type object) - @param op2 A Numeric object (Number or Length-type object) - @return A new NumericProperty object holding an object which represents - the product of the two operands. - @throws PropertyException If either operand is null. - - - Evaluate a division operation. If either of the arguments is null, - this means that it wasn't convertible to a Numeric value. - @param op1 A Numeric object (Number or Length-type object) - @param op2 A Numeric object (Number or Length-type object) - @return A new NumericProperty object holding an object which represents - op1 divided by op2. - @throws PropertyException If either operand is null. - - - Evaluate a modulo operation. If either of the arguments is null, - this means that it wasn't convertible to a Number value. - @param op1 A Number object - @param op2 A Number object - @return A new NumberProperty object holding an object which represents - op1 mod op2. - @throws PropertyException If either operand is null. - - - - Parses a double value using a culture insensitive locale. - - The double value as a string. - The double value parsed. - - - Return an object which implements the PercentBase interface. - Percents in arguments to this function are interpreted relative - to 255. - - - Return true if the passed area is on the left edge of its nearest - absolute AreaContainer (generally a page column). - - - base class for representation of mixed content formatting objects - and their processing - - - Return the content width of the boxes generated by this FO. - - - Return the content width of the boxes generated by this block - container FO. - - - this class represents the flow object 'fo:character'. Its use is defined by - the spec: "The fo:character flow object represents a character that is mapped to - a glyph for presentation. It is an atomic unit to the formatter. - When the result tree is interpreted as a tree of formatting objects, - a character in the result tree is treated as if it were an empty - element of type fo:character with a character attribute - equal to the Unicode representation of the character. - The semantics of an "auto" value for character properties, which is - typically their initial value, are based on the Unicode codepoint. - Overrides may be specified in an implementation-specific manner." (6.6.3) - - - - PageSequence container - - - Vector to store snapshot - - - flow-name attribute - - - Content-width of current column area during layout - - - Return the content width of this flow (really of the region - in which it is flowing). - - - returns the maker for this object. - - @return the maker for SVG objects - - - constructs an instream-foreign-object object (called by Maker). - - @param parent the parent formatting object - @param propertyList the explicit properties of this object - - - layout this formatting object. - - @param area the area to layout the object into - - @return the status of the layout - - - inner class for making SVG objects. - - - make an SVG object. - - @param parent the parent formatting object - @param propertyList the explicit properties of this object - - @return the SVG object - - - Implements fo:leader; main property of leader leader-pattern. - The following patterns are treated: rule, space, dots. - The pattern use-content is ignored, i.e. it still must be implemented. - - - adds a leader to current line area of containing block area - the actual leader area is created in the line area - - @return int +1 for success and -1 for none - - - Return the content width of the boxes generated by this FO. - - - - The page the marker was registered is put into the renderer - queue. The marker is transferred to it's own marker list, - release the area for GC. We also know now whether the area is - first/last. - - - - - This has actually nothing to do with resseting this marker, - but the 'marker' from FONode, marking layout status. - Called in case layout is to be rolled back. Unregister this - marker from the page, it isn't laid aout anyway. - - - - - More hackery: reset layout status marker. Called before the - content is laid out from RetrieveMarker. - - - - 6.6.11 fo:page-number-citation - - Common Usage: - The fo:page-number-citation is used to reference the page-number for the page containing the first normal area returned by - the cited formatting object. - - NOTE: - It may be used to provide the page-numbers in the table of contents, cross-references, and index entries. - - Areas: - The fo:page-number-citation formatting object generates and returns a single normal inline-area. - Constraints: - - The cited page-number is the number of the page containing, as a descendant, the first normal area returned by the - formatting object with an id trait matching the ref-id trait of the fo:page-number-citation (the referenced formatting - object). - - The cited page-number string is obtained by converting the cited page-number in accordance with the number to string - conversion properties specified on the ancestor fo:page-sequence of the referenced formatting object. - - The child areas of the generated inline-area are the same as the result of formatting a result-tree fragment consisting of - fo:character flow objects; one for each character in the cited page-number string and with only the "character" property - specified. - - Contents: - - EMPTY - - The following properties apply to this formatting object: - - [7.3 Common Accessibility Properties] - [7.5 Common Aural Properties] - [7.6 Common Border, Padding, and Background Properties] - [7.7 Common Font Properties] - [7.10 Common Margin Properties-Inline] - [7.11.1 "alignment-adjust"] - [7.11.2 "baseline-identifier"] - [7.11.3 "baseline-shift"] - [7.11.5 "dominant-baseline"] - [7.36.2 "id"] - [7.17.4 "keep-with-next"] - [7.17.5 "keep-with-previous"] - [7.14.2 "letter-spacing"] - [7.13.4 "line-height"] - [7.13.5 "line-height-shift-adjustment"] - [7.36.5 "ref-id"] - [7.18.4 "relative-position"] - [7.36.6 "score-spaces"] - [7.14.4 "text-decoration"] - [7.14.5 "text-shadow"] - [7.14.6 "text-transform"] - [7.14.8 "word-spacing"] - - - Return true if any column has an unfinished vertical span. - - - Done with a row. - Any spans with only one row left are done - This means that we can now set the total height for this cell box - Loop over all cells with spans and find number of rows remaining - if rows remaining = 1, set the height on the cell area and - then remove the cell from the list of spanned cells. For other - spans, add the rowHeight to the spanHeight. - - - If the cell in this column is in the last row of its vertical - span, return the height left. If it's not in the last row, or if - the content height <= the content height of the previous rows - of the span, return 0. - - - helper method to prevent infinite loops if - keeps or spans are not fitting on a page - @param true if keeps and spans should be ignored - - - helper method (i.e. hack ;-) to prevent infinite loops if - keeps or spans are not fitting on a page - @return true if keeps or spans should be ignored - - - Return the height remaining in the span. - - - Optimum inline-progression-dimension - - - Minimum inline-progression-dimension - - - Maximum inline-progression-dimension - - - Return the content width of the boxes generated by this table FO. - - - Initialize table inline-progression-properties values - - - Offset of content rectangle in inline-progression-direction, - relative to table. - - - Dimension of allocation rectangle in inline-progression-direction, - determined by the width of the column(s) occupied by the cell - - - Offset of content rectangle, in block-progression-direction, - relative to the row. - - - Offset of content rectangle, in inline-progression-direction, - relative to the column start edge. - - - Adjust to theoretical column width to obtain content width - relative to the column start edge. - - - Minimum ontent height of cell. - - - Set to true if all content completely laid out. - - - Border separation value in the block-progression dimension. - Used in calculating cells height. - - - Return the allocation height of the cell area. - Note: called by TableRow. - We adjust the actual allocation height of the area by the value - of border separation (for separate borders) or border height - adjustment for collapse style (because current scheme makes cell - overestimate the allocation height). - - - Set the final size of cell content rectangles to the actual row height - and to vertically align the actual content within the cell rectangle. - @param h Height of this row in the grid which is based on - the allocation height of all the cells in the row, including any - border separation values. - - - Calculate cell border and padding, including offset of content - rectangle from the theoretical grid position. - - - Set the column width value in base units which overrides the - value from the column-width Property. - - - Called by parent FO to initialize information about - cells started in previous rows which span into this row. - The layout operation modifies rowSpanMgr - - - Before starting layout for the first time, initialize information - about spanning rows, empty cells and spanning columns. - - - Return column which doesn't already contain a span or a cell - If past the end or no free cells after colNum, return -1 - Otherwise return value >= input value. - - - Return type of cell in colNum (1 based) - - - Return cell in colNum (1 based) - - - Store cell starting at cellColNum (1 based) and spanning numCols - If any of the columns is already occupied, return false, else true - - - Implementation for fo:wrapper formatting object. - The wrapper object serves as - a property holder for it's children objects. - - Content: (#PCDATA|%inline;|%block;)* - Properties: id - - - - Builds the formatting object tree. - - - - - Table mapping element names to the makers of objects - representing formatting objects. - - - - - Class that builds a property list for each formatting object. - - - - - Current formatting object being handled. - - - - - The root of the formatting object tree. - - - - - Set of names of formatting objects encountered but unknown. - - - - - The class that handles formatting and rendering to a stream. - - - - - Sets the stream renderer that will be used as output. - - - - - Add a mapping from element name to maker. - - - - - Add a mapping from property name to maker. - - - - - Makes final changes to the Text Node. Specifically, it does insert zero-width breaking characters specially - tailored to enable unconditional text wrapping. - - Input string - Modified input string - - - This object may be also be a subclass of Length, such - as PercentLength, TableColLength. - - - public Double getDouble() { - return new Double(this.number.doubleValue()); - } - public Integer getInteger() { - return new Integer(this.number.intValue()); - } - - - Returns the "master-reference" attribute of this page master reference - - - Checks whether or not a region name exists in this master set - @returns true when the region name specified has a region in this LayoutMasterSet - - - Base PageMasterReference class. Provides implementation for handling the - master-reference attribute and containment within a PageSequenceMaster - - - Classes that implement this interface can be added to a PageSequenceMaster, - and are capable of looking up an appropriate PageMaster. - - - Called before a new page sequence is rendered so subsequences can reset - any state they keep during the formatting process. - - - Gets the formating object name for this object. Subclasses must provide this. - - @return the element name of this reference. e.g. fo:repeatable-page-master-reference - - - Checks that the parent is the right element. The default implementation - checks for fo:page-sequence-master - - - Returns the "master-reference" attribute of this page master reference - - - This class uses the 'format', 'groupingSeparator', 'groupingSize', - and 'letterValue' properties on fo:page-sequence to return a string - corresponding to the supplied integer page number. - - - This provides pagination of flows onto pages. Much of the logic for paginating - flows is contained in this class. The main entry point is the format method. - - - The parent root object - - - the set of layout masters (provided by the root object) - - - Map of flows to their flow name (flow-name, Flow) - - - the "master-reference" attribute, - which specifies the name of the page-sequence-master or - page-master to be used to create pages in the sequence - - - specifies page numbering type (auto|auto-even|auto-odd|explicit) - - - used to determine whether to calculate auto, auto-even, auto-odd - - - the current subsequence while formatting a given page sequence - - - the current index in the subsequence list - - - the name of the current page master - - - Runs the formatting of this page sequence into the given area tree - - - Creates a new page area for the given parameters - @param areaTree the area tree the page should be contained in - @param firstAvailPageNumber the page number for this page - @param isFirstPage true when this is the first page in the sequence - @param isEmptyPage true if this page will be empty (e.g. forced even or odd break) - @return a Page layout object based on the page master selected from the params - - - Formats the static content of the current page - - - Returns the next SubSequenceSpecifier for the given page sequence master. The result - is bassed on the current state of this page sequence. - - - Returns the next simple page master for the given sequence master, page number and - other state information - - - Returns true when there is more flow elements left to lay out. - - - Returns the flow that maps to the given region class for the current - page master. - - - This is an abstract base class for pagination regions - - - Creates a Region layout object for this pagination Region. - - - Returns the default region name (xsl-region-before, xsl-region-start, - etc.) - - - Returns the element name ("fo:region-body", "fo:region-start", - etc.) - - - Returns the name of this region - - - Checks to see if a given region name is one of the reserved names - - @param name a region name to check - @return true if the name parameter is a reserved region name - - - Max times this page master can be repeated. - INFINITE is used for the unbounded case - - - The fo:root formatting object. Contains page masters, root extensions, - page-sequences. - - - keeps count of page number from over PageSequence instances - - - Some properties, such as 'force-page-count', require a - page-sequence to know about some properties of the next. - @returns succeeding PageSequence; null if none - - - Page regions (regionClass, Region) - - - Set the appropriate components when the "base" property is set. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Set the appropriate components when the "base" property is set. - - - Set the appropriate components when the "base" property is set. - - - Return object used to calculate base Length - for percent specifications. - - - Set the appropriate components when the "base" property is set. - - - Set the appropriate components when the "base" property is set. - - - Set the appropriate components when the "base" property is set. - - - Set the appropriate components when the "base" property is set. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Set the appropriate components when the "base" property is set. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return object used to calculate base Length - for percent specifications. - - - Return the value explicitly specified on this FO. - @param propertyName The name of the property whose value is desired. - It may be a compound name, such as space-before.optimum. - @return The value if the property is explicitly set or set by - a shorthand property, otherwise null. - - - Return the value explicitly specified on this FO. - @param propertyName The name of the property whose value is desired. - It may be a compound name, such as space-before.optimum. - @return The value if the property is explicitly set, otherwise null. - - - Return the value explicitly specified on this FO. - @param propertyName The name of the base property whose value is desired. - @return The value if the property is explicitly set, otherwise null. - - - Return the value of this property inherited by this FO. - Implements the inherited-property-value function. - The property must be inheritable! - @param propertyName The name of the property whose value is desired. - @return The inherited value, otherwise null. - - - Return the property on the current FlowObject if it is specified, or if a - corresponding property is specified. If neither is specified, it returns null. - - - Return the property on the current FlowObject. If it isn't set explicitly, - this will try to compute it based on other properties, or if it is - inheritable, to return the inherited value. If all else fails, it returns - the default value. - - - Return the property on the current FlowObject. Depending on the passed flags, - this will try to compute it based on other properties, or if it is - inheritable, to return the inherited value. If all else fails, it returns - the default value. - - - Return the "nearest" specified value for the given property. - Implements the from-nearest-specified-value function. - @param propertyName The name of the property whose value is desired. - @return The computed value if the property is explicitly set on some - ancestor of the current FO, else the initial value. - - - Return the value of this property on the parent of this FO. - Implements the from-parent function. - @param propertyName The name of the property whose value is desired. - @return The computed value on the parent or the initial value if this - FO is the root or is in a different namespace from its parent. - - - Given an absolute direction (top, bottom, left, right), - return the corresponding writing model relative direction name - for the flow object. Uses the stored writingMode. - - - Given a writing mode relative direction (start, end, before, after) - return the corresponding absolute direction name - for the flow object. Uses the stored writingMode. - - - Set the writing mode traits for the FO with this property list. - - - Name of font-size property attribute to set first. - - - - This seems to be just a helper method that looks up a property maker and - creates the property. - - - - - Convenience function to return the Maker for a given property. - - - - classes representating the status of laying out a formatting object - - - This represents an unknown element. - For example with unsupported namespaces. - This prevents any further problems arising from the unknown - data. - - - returns the maker for this object. - - @return the maker for an unknown xml object - - - constructs an unknown xml object (called by Maker). - - @param parent the parent formatting object - @param propertyList the explicit properties of this object - - - inner class for making unknown xml objects. - - - make an unknown xml object. - - @param parent the parent formatting object - @param propertyList the explicit properties of this object - - @return the unknown xml object - - - - A bitmap image that will be referenced by fo:external-graphic. - - - This class and the associated ColorSpace class are PDF specific ideally - will be moved to the PDF library project at some point in the future. - Internally, Apoc should handle images using the standard framework - Bitmap class. - - - - - Filter that will be applied to image data - - - - - Constructs a new ApocImage using the supplied bitmap. - - - Does not hold a reference to the passed bitmap. Instead the - image data is extracted from bitmap on construction. - - The location of bitmap - The image data - - - - Extracts the raw data from the image into a byte array suitable - for including in the PDF document. The image is always extracted - as a 24-bit RGB image, regardless of it's original colour space - and colour depth. - - The from which the data is extracted - A byte array containing the raw 24-bit RGB data - - - - Return the image URL. - - the image URL (as a string) - - - - Return the image width. - - the image width - - - - Return the image height. - - the image height - - - - Return the number of bits per pixel. - - number of bits per pixel - - - - Return the image data size - - The image data size - - - - Return the image data (uncompressed). - - the image data - - - - Return the image color space. - - the image color space (Apoc.Datatypes.ColorSpace) - - - - Returns the implementation - that should be applied to the bitmap data. - - - - - - - - - - - - - - - - - - - - - Creates ApocImage instances. - - - - - Returns temporary directory - - - - Creates a ApocImage from the supplied resource locator. The - ApocImageFactory does cache images, therefore this method may - return a reference to an existing ApocImage - - A Uniform Resource Identifier - A reference to a ApocImage - - - - - Total height of content of this area. - - - Creates a new Area instance. - - @param fontState a FontState value - @param allocationWidth the inline-progression dimension of the content - rectangle of the Area - @param maxHeight the maximum block-progression dimension available - for this Area (its allocation rectangle) - - - Set the allocation width. - @param w The new allocation width. - This sets content width to the same value. - Currently only called during layout of Table to set the width - to the total width of all the columns. Note that this assumes the - column widths are explicitly specified. - - - - Tell whether this area contains any children which are not - DisplaySpace. This is used in determining whether to honour keeps. - - - - - Returns content height of the area. - - @return Content height in millipoints - - - Returns allocation height of this area. - The allocation height is the sum of the content height plus border - and padding in the vertical direction. - - @return allocation height in millipoints - - - - Return absolute Y position of the current bottom of this area, - not counting any bottom padding or border. - - - This is used to set positions for link hotspots. - In fact, the position is not really absolute, but is relative - to the Ypos of the column-level AreaContainer, even when the - area is in a page header or footer! - - - - - Set "absolute" Y position of the top of this area. - - - In fact, the position is not really absolute, but relative to - the Ypos of the column-level AreaContainer, even when the area - is in a page header or footer! - It is set from the value of getAbsoluteHeight() on the parent - area, just before adding this area. - - - - Return space remaining in the vertical direction (height). - This returns maximum available space - current content height - Note: content height should be based on allocation height of content! - @return space remaining in base units (millipoints) - - - Set the content height to the passed value if that value is - larger than current content height. If the new content height - is greater than the maximum available height, set the content height - to the max. available (!!!) - - @param height allocation height of content in millipoints - - - amount of space added since the original layout - needed by links - - - - Parses the contents of a JPEG image header to infer the colour - space and bits per pixel. - - - - - JPEG image data - - - - - Contains number of bitplanes, color space and optional ICC Profile - - - - - Raw ICC Profile - - - - - Class constructor. - - - - - - - - - - - Reads a 16-bit integer from the underlying stream - - - - - - Reads a 32-bit integer from the underlying stream - - - - - - Reads the specified number of bytes from theunderlying stream - and converts them to a string using the ASCII encoding. - - - - - - - Reads the initial marker which should be SOI. - - - After invoking this method the stream will point to the location - immediately after the fiorst marker. - - - - - - Reads the next JPEG marker and returns its marker code. - - - - - - Skips over the parameters for any marker we don't want to process. - - - - - Parses a <uri-specification> as defined by - section 5.11 of the XSL specification. - - - This class may be better expressed as a datatype residing in - Telerik.Web.Apoc.DataTypes. - - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - object containing information on available fonts, including - metrics - - - List of root extension objects - - - - Auxillary function for retrieving markers. - - - - - - Auxillary function for retrieving markers. - - - - - - Auxillary function for retrieving markers. - - - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - This class represents a Block Area. - A block area is made up of a sequence of Line Areas. - - This class is used to organise the sequence of line areas as - inline areas are added to this block it creates and ands line areas - to hold the inline areas. - This uses the line-height and line-stacking-strategy to work - out how to stack the lines. - - - Add a Line Area to this block area. - Used internally to add a completed line area to this block area - when either a new line area is created or this block area is - completed. - - @param la the LineArea to add - - - Get the current line area in this block area. - This is used to get the current line area for adding - inline objects to. - This will return null if there is not enough room left - in the block area to accomodate the line area. - - @return the line area to be used to add inlie objects - - - Create a new line area to add inline objects. - This should be called after getting the current line area - and discovering that the inline object will not fit inside the current - line. This method will create a new line area to place the inline - object into. - This will return null if the new line cannot fit into the block area. - - @return the new current line area, which will be empty. - - - Notify this block that the area has completed layout. - Indicates the the block has been fully laid out, this will - add (if any) the current line area. - - - Return the maximum space remaining for this area's content in - the block-progression-dimension. - Remove top and bottom padding and spacing since these reduce - available space for content and they are not yet accounted for - in the positioning of the object. - - - Depending on the column-count of the next FO, determine whether - a new span area needs to be constructed or not, and return the - appropriate ColumnArea. - The next cut of this method should also inspect the FO to see - whether the area to be returned ought not to be the footnote - or before-float reference area. - @param fo The next formatting object - @returns the next column area (possibly the current one) - - - Add a new span area with specified number of column areas. - @param numColumns The number of column areas - @returns AreaContainer The next column area - - - This almost does what getNewArea() does, without actually - returning an area. These 2 methods can be reworked. - @param fo The next formatting object - @returns bool True if we need to balance. - - - This is where the balancing algorithm lives, or gets called. - Right now it's primitive: get the total content height in all - columns, divide by the column count, and add a heuristic - safety factor. - Then the previous (unbalanced) span area is removed, and a new - one added with the computed max height. - - - Determine remaining height for new span area. Needs to be - modified for footnote and before-float reference areas when - those are supported. - @returns int The remaining available height in millipoints. - - - Used by resetSpanArea() and addSpanArea() to adjust the main - reference area height before creating a new span. - - - Used in Flow when layout returns incomplete. - @returns bool Is this the last column in this span? - - - This variable is unset by getNextArea(), is set by addSpanArea(), - and may be set by resetSpanArea(). - @returns bool Is the span area new or not? - - - Return a full copy of the BorderAndPadding information. This clones all - padding and border information. - @return The copy. - - - Creates a key from the given strings - - - - Class constructor - - - Defaults the letter spacing to 0 millipoints. - - - - - Gets width of given character identifier plus - in millipoints (1/1000ths of a point). - - - - - - - Map a Unicode character to a code point - - Any Unicode character. - - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - - A font descriptor specifies metrics and other attributes of a - font, as distinct from the metrics of individual glyphs. - - - See page 355 of PDF 1.4 specification for more information. - - - - - Gets a collection of flags providing various font characteristics. - - - - - Gets the smallest rectangle that will encompass the shape that - would result if all glyhs of the font were placed with their - origins coincident. - - - - - Gets the main italic angle of the font expressed in tenths of - a degree counterclockwise from the vertical. - - - - - TODO: The thickness, measured horizontally, of the dominant vertical - stems of the glyphs in the font. - - - - - Gets a value that indicates whether this font has kerning support. - - - - - - Gets a value that indicates whether this font program may be legally - embedded within a document. - - - - - - Gets a value that indicates whether this font program my be subsetted. - - - - - - Gets a byte array representing a font program to be embedded - in a document. - - - If is false it is acceptable - for this method to return null. - - - - - Gets kerning information for this font. - - - If is false it is acceptable - for this method to return null. - - - - - Interface for font metric classes - - - - - Gets the width of a character in 1/1000ths of a point size - located at the supplied codepoint. - - - For a type 1 font a code point is an octal code obtained from a - character encoding scheme (WinAnsiEncoding, MacRomaonEncoding, etc). - For example, the code point for the space character is 040 (octal). - For a type 0 font a code point represents a GID (Glyph index). - - A character code point. - - - - - Specifies the maximum distance characters in this font extend - above the base line. This is the typographic ascent for the font. - - - - - Specifies the maximum distance characters in this font extend - below the base line. This is the typographic descent for the font. - - - - - Gets the vertical coordinate of the top of flat captial letters. - - - - - Gets the value of the first character used in the font - - - - - Gets the value of the last character used in the font - - - - - Gets a reference to a font descriptor. A descriptor is akin to - the PDF FontDescriptor object (see page 355 of PDF 1.4 spec). - - - - - Gets the widths of all characters in 1/1000ths of a point size. - - - - - This is NOT the content width of the instream-foreign-object. - This is the content width for a Box. - - - This is NOT the content height of the instream-foreign-object. - This is the content height for a Box. - - - @param ul true if text should be underlined - - - And eatable InlineSpace is discarded if it occurs - as the first pending element in a LineArea - - - adds text to line area - - @return int character position - - - adds a Leader; actually the method receives the leader properties - and creates a leader area or an inline area which is appended to - the children of the containing line area. - leader pattern use-content is not implemented. - - - adds pending inline areas to the line area - normally done, when the line area is filled and - added as child to the parent block area - - - aligns line area - - - - Balance (vertically) the inline areas within this line. - - - sets hyphenation related traits: language, country, hyphenate, hyphenation-character - and minimum number of character to remain one the previous line and to be on the - next line. - - - creates a leader as String out of the given char and the leader length - and wraps it in an InlineArea which is returned - - - calculates the width of space which has to be inserted before the - start of the leader, so that all leader characters are aligned. - is used if property leader-align is set. At the moment only the value - for leader-align="reference-area" is supported. - - - - calculates the used space in this line area - - - extracts a complete word from the character data - - - Calculates the wordWidth using the actual fontstate - - - adds a single character to the line area tree - - - Same as addWord except that characters in wordBuf is mapped - to the current fontstate's encoding - - - adds a InlineArea containing the String startChar+wordBuf to the line area children. - - - Checks if it's legal to break a word in the middle - based on the current language property. - @return true if legal to break word in the middle - - - Helper method for getting the width of a unicode char - from the current fontstate. - This also performs some guessing on widths on various - versions of space that might not exists in the font. - - - Helper method to determine if the character is a - space with normal behaviour. Normal behaviour means that - it's not non-breaking - - - Method to determine if the character is a nonbreaking - space. - - - @return true if the character represents any kind of space - - - Add a word that might contain non-breaking spaces. - Split the word into WordArea and InlineSpace and add it. - If addToPending is true, add to pending areas. - - - an object that stores a rectangle that is linked, and the LineArea - that it is logically associated with - @author Arved Sandstrom - @author James Tauber - - - the linked Rectangle - - - the associated LineArea - - - the associated InlineArea - - - a set of rectangles on a page that are linked to a common - destination - - - the destination of the links - - - the set of rectangles - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - Ensure that page is set not only on B.A.C. but also on the - three top-level reference areas. - @param area The region-body area container (special) - - - Store all hyphenation related properties on an FO. - Public "structure" allows direct member access. - - - This class holds information about text-decoration - - - - @return true if text should be underlined - - - set text as underlined - - - @return true if text should be overlined - - - - A collection of instances. - - - - - Adds the supplied to the end of the collection. - - - - - - Returns an ArrayList enumerator that references a read-only version - of the BfEntry list. - - - - - - Gets the at index. - - - - - Gets the number of objects contained by this - - - - - - Returns the number of instances that - represent bfrange's - - - - - - - - - - - Returns the number of instances that - represent bfchar's - - - - - - - - - - - A class can represent either a bfrange - or bfchar. - - - - - Class cosntructor. - - - - - - - Increments the end index by one. - - - Incrementing the end index turns this BfEntry into a bfrange. - - - - - Returns true if this BfEntry represents a glyph range, i.e. - the start index is not equal to the end index. - - - - - Returns true if this BfEntry represents a bfchar entry, i.e. - the start index is equal to the end index. - - - - - A File Identifier is described in section 8.3 of the PDF specification. - The first string is a permanent identifier based on the contents of the file - at the time it was originally created, and does not change as the file is - incrementally updated. The second string is a changing identifier based - on the file's contents the last time it was updated. - - - If this class were being use to update a PDF's file identifier, we'd need - to add a method to parse an existing file identifier. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Initialises the CreatedPart and ModifiedPart to a randomly generated GUID. - - - - - Initialises the CreatedPart and ModifiedPart to the passed string. - - - - - - - - - Returns the CreatedPart as a byte array. - - - - - Returns the ModifiedPart as a byte array. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thrown during creation of PDF font object if the font's license - is violated, e.g. attempting to subset a font that does not permit - subsetting. - - - - - - - - - Represents an entry in the directory table - - - - - Gets an instance of an implementation that is - capable of parsing the table identified by tab. - - - - - - Returns the table tag as a string - - - - - - Gets the table tag encoded as an unsigned 32-bite integer. - - - - - Gets or sets a value that represents a - offset, i.e. the number of bytes from the beginning of the file. - - - - - Gets or sets a value representing the number number of bytes - a object occupies in a stream. - - - - - Gets or sets value that represents a checksum of a . - - - - - Class designed to parse a TrueType font file. - - - - - A Big Endian stream. - - - - - Used to identity a font within a TrueType collection. - - - - - Maps a table name (4-character string) to a - - - - - A dictionary of cached instances. - The index is the table name. - - - - - Maps a glyph index to a subset index. - - - - - Class constructor. - - Font data stream. - - - - Class constructor. - - Font data stream. - Name of a font in a TrueType collection. - - - - Gets a value indicating whether or not this font contains the - supplied table. - - A table name. - - - - - Gets a reference to the table structure identified by tableName - - - Only the following tables are supported: - - Font header, - - Horizontal header, - - Horizontal metrics, - - Maximum profile, - - Index to location, - - Glyf data, - - Control value, - - Control value program, - - Font program - - A 4-character code identifying a table. - - If tableName does not represent a table in this font. - - - - - Gets a object for the supplied table. - - A 4-character code identifying a table. - - A object or null if the table cannot - be located. - - - If tag does not represent a table in this font. - - - - - Reads the Offset and Directory tables. If the FontFileStream represents - a TrueType collection, this method will look for the aforementioned - tables belonging to fontName. - - - This method can handle a TrueType collection. - - - - - Caches the following tables: 'head', 'hhea', 'maxp', 'loca' - - - - - Sets the stream position to the offset in the supplied directory - entry. Also ensures that the FontFileStream has enough bytes - available to read a font table. Throws an exception if this - condition is not met. - - - - If the supplied stream does not contain enough data. - - - - - - - - - - - - - Gets or sets a dictionary containing glyph index to subset - index mappings. - - - - - Gets the underlying . - - - - - Gets the number tables. - - - - - Class designed to read and write primitive datatypes from/to a - TrueType font file. - - -

All OpenType fonts use Motorola-style byte ordering (Big Endian).

-

The following table lists the primitives and their definition. - Note the difference between the .NET CLR definition of certain - types and the TrueType definition.

-

- BYTE 8-bit unsigned integer. - CHAR 8-bit signed integer. - USHORT 16-bit unsigned integer. - SHORT 16-bit signed integer. - ULONG 32-bit unsigned integer. - LONG 32-bit signed integer. - Fixed 32-bit signed fixed-point number (16.16) - FWORD 16-bit signed integer (SHORT) that describes a - quantity in FUnits. - UFWORD 16-bit unsigned integer (USHORT) that describes a - quantity in FUnits. - F2DOT14 16-bit signed fixed number with the low 14 bits of - fraction (2.14). - LONGDATETIME Date represented in number of seconds since 12:00 - midnight, January 1, 1904. The value is represented - as a signed 64-bit integer. - Tag Array of four uint8s (length = 32 bits) used to identify - a script, language system, feature, or baseline - GlyphID Glyph index number, same as uint16(length = 16 bits) - Offset Offset to a table, same as uint16 (length = 16 bits), - NULL offset = 0x0000 -

-
-
- - - Initialises a new instance of the - class using the supplied byte array as the underlying buffer. - - The font data encoded in a byte array. - - data is a null reference. - - - data is a zero-length array. - - - - - Initialises a new instance of the - class using the supplied stream as the underlying buffer. - - Reference to an existing stream. - - stream is a null reference. - - - - - Reads an unsigned byte from the font file. - - - - - - Writes an unsigned byte from the font file. - - - - - - Reads an signed byte from the font file. - - - - - - Writes a signed byte from the font file. - - - - - - Reads a short (16-bit signed integer) from the font file. - - - - - - Writes a short (16-bit signed integer) to the font file. - - - - - - Reads a short (16-bit signed integer) from the font file. - - - - - - Writes a short (16-bit signed integer) to the font file. - - - - - - Reads a int (16-bit unsigned integer) from the font file. - - - - - - Writes a int (16-bit unsigned integer) to the font file. - - - - - - Reads a int (16-bit unsigned integer) from the font file. - - - - - - Writes a int (16-bit unsigned integer) to the font file. - - - - - - Reads an int (32-bit signed integer) from the font file. - - - - - - Writes an int (32-bit signed integer) to the font file. - - - - - - Reads a int (32-bit unsigned integer) from the font file. - - - - - - Writes a int (32-bit unsigned integer) to the font file. - - - - - - Reads an int (32-bit signed integer) from the font file. - - - - - - Writes an int (32-bit unsigned integer) to the font file. - - - - - - Reads a long (64-bit signed integer) from the font file. - - - - - - Writes a long (64-bit signed integer) to the font file. - - - - - - Reads a tag (array of four bytes) from the font stream. - - - - - - Writes a tab (array of four bytes) to the font file. - - - - - - Ensures the stream is padded on a 4-byte boundary. - - - This method will output between 0 and 3 bytes to the stream. - - - A value between 0 and 3 (inclusive). - - - - - Writes a sequence of bytes to the underlying stream. - - - - - - - - Reads a block of bytes from the current stream and writes - the data to buffer. - - A byte buffer big enough to store count bytes. - The byte offset in buffer to begin reading. - Number of bytes to read. - - - - Offsets the stream position by the supplied number of bytes. - - - - - - Saves the current stream position onto a marker stack. - - - Returns the current stream position. - - - - - Sets the stream using the marker at the - head of the marker stack. - - - Returns the stream position before it was reset. - - - If the markers stack is empty. - - - - - Gets or sets the current position of the font stream. - - - - - Gets the length of the font stream in bytes. - - - - - A specialised stream writer for creating OpenType fonts. - - - - - Size of the offset table in bytes. - - - - - The underlying stream. - - - - - List of font tables to write. - - - - - Creates a new instance of the class - using stream as the underlying stream object. - - - - If stream is not writable. - - - If streamm is a null reference. - - - - - Queues the supplied for writing - to the underlying stream. - - - The method will not immediately write the supplied font - table to the underlying stream. Instead it queues the - font table since the offset table must be written out - before any tables. - - - - - - Writes the header and font tables to the underlying stream. - - - - - Updates the checkSumAdjustment field in the head table. - - - - - Writes out each table to the font stream. - - - - - Writes the offset table that appears at the beginning of - every TrueType/OpenType font. - - - - - Does not actually write the table directory - simply "allocates" - space for it in the stream. - - - - - Returns the maximum power of 2 <= max - - - - - - - Calculates the checksum of the entire font. - - - The underlying must be aligned on - a 4-byte boundary. - - - - - - Calculates the checksum of a . - - - The supplied stream must be positioned at the beginning of - the table. - - - - - - - Gets the underlying . - - - - - Generates a subset from a TrueType font. - - - - - Creates a new instance of the FontSubset class. - - TrueType font parser. - - - - Writes the font subset to the supplied output stream. - - - - - Reads a glyph description from the specified offset. - - - - - Populate the compositesIList containing all child glyphs - that this glyph uses. - - - The stream parameter must be positioned 10 bytes from - the beginning of the glyph description, i.e. the flags field. - - - - - Gets the length of the glyph description in bytes at - index index. - - - - - - - Bit masks of the flags field in a composite glyph. - - - - - Utility class that stores a list of glyph indices and their - asociated subset indices. - - - - - Maps a glyph index to a subset index. - - - - - Maps a subset index to glyph index. - - - - - Class constructor. - - - - - Determines whether a mapping exists for the supplied glyph index. - - - - - - - Returns the subset index for glyphIndex. If a subset - index does not exist for glyphIndex one is generated. - - - A subset index. - - - - Adds the list of supplied glyph indices to the index mappings using - the next available subset index for each glyph index. - - - - - - Gets the subset index of glyphIndex. - - - - A glyph index or -1 if a glyph to subset mapping does not exist. - - - - - Gets the glyph index of subsetIndex. - - - - A subset index or -1 if a subset to glyph mapping does not exist. - - - - - Gets the number of glyph to subset index mappings. - - - - - Gets a list of glyph indices sorted in ascending order. - - - - - Gets a list of subset indices sorted in ascending order. - - - - - Key - Kerning pair identifier - Value - Kerning amount - - - - - Creates an instance of KerningPairs allocating space for - 100 kerning pairs. - - - - - Creates an instance of KerningPairs allocating space for - numPairs kerning pairs. - - - - - - Returns true if a kerning value exists for the supplied - glyph index pair. - - Glyph index for left-hand glyph. - Glyph index for right-hand glyph. - - - - - Creates a new kerning pair. - - - This method will ignore duplicates. - - The glyph index for the left-hand glyph in the kerning pair. - The glyph index for the right-hand glyph in the kerning pair. - The kerning value for the supplied pair. - - - - Returns a kerning pair identifier. - - - - - - - - Gets the kerning amount for the supplied glyph index pair. - - - - - Gets the number of kernings pairs. - - - - - A helper designed that provides the size of each TrueType primitives. - - - - - List of all TrueType and OpenType tables - - - - - Converts one of the predefined table names to an unsigned integer. - - - - - - - Class that represents the Control Value Program table ('prep'). - - - - - Class derived by all TrueType table classes. - - - - - The dictionary entry for this table. - - - - - Class constructor - - The table name. - Table directory entry. - - - - Reads the contents of a table from the current position in - the supplied stream. - - - - If the supplied stream does not contain enough data. - - - - - Writes the contents of a table to the supplied writer. - - - This method should not be concerned with aligning the - table output on the 4-byte boundary. - - - - - - Gets or sets a directory entry for this table. - - - - - Gets the unique name of this table as a 4-character string. - - - Note that some TrueType tables are only 3 characters long - (e.g. 'cvt'). In this case the returned string will be padded - with a extra space at the end of the string. - - - - - Gets the table name encoded as a 32-bit unsigned integer. - - - - - Set of instructions executed whenever point size or font - or transformation change. - - - - - Creates an instance of the class. - - - - - - Reads the contents of the "prep" table from the current position - in the supplied stream. - - - - - - Writes out the array of instructions to the supplied stream. - - - - - - Class that represents the Control Value table ('cvt'). - - - - - List of N values referenceable by instructions. - - - - - Creates an instance of the class. - - - - - - Reads the contents of the "cvt" table from the current position - in the supplied stream. - - - - - - Writes out the array of values to the supplied stream. - - - - - - Gets the value representing the number of values that can - be referenced by instructions. - - - - - Class that represents the Font Program table ('fpgm'). - - - - - List of N instructions. - - - - - Creates an instance of the class. - - - - - - Reads the contents of the "fpgm" table from the current position - in the supplied stream. - - - - - - Writes out the array of instructions to the supplied stream. - - - - - - Gets the value representing the number of instructions - in the font program. - - - - - Instantiates a font table from a table tag. - - - - - Prevent instantiation since this is a factory class. - - - - - Creates an instance of a class that implements the FontTable interface. - - - One of the pre-defined TrueType tables from the class. - - - - A subclass of that is capable of parsing - a TrueType table. - - - If a class capable of parsing tableName is not available. - - - - - Class that represents the Glyf Data table ('glyf'). - - - http://www.microsoft.com/typography/otspec/glyf.htm - - - - - Maps a glyph index to a object. - - - - - Creates an instance of the class. - - - - - - Reads the contents of the "glyf" table from the current position - in the supplied stream. - - - - - - Writes the contents of the glyf table to the supplied stream. - - - - - - Gets the instance located at glyphIndex - - - - - Gets the number of glyphs. - - - - - Represents either a simple or composite glyph description from - the 'glyf' table. - - - This class is nothing more than a wrapper around - a byte array. - - - - - The index of this glyph as obtained from the 'loca' table. - - - - - Contains glyph description as raw data. - - - - - List of composite glyph indices. - - - - - Class constructor. - - - - - Sets the glyph data (duh!). - - - - - - Add the supplied glyph index to list of children. - - - - - - Writes a glyph description to the supplied stream. - - - - - - Gets or sets the index of this glyph. - - - - - Gets the length of the glyph data buffer. - - - - - Gets a ilst of child glyph indices. - - - - - Gets a value indicating whether or not this glyph represents - a composite glyph. - - - - - Class that represents the Font Header table. - - - http://www.microsoft.com/typography/otspec/head.htm - - - - - Class constructor. - - - - - - Reads the contents of the "head" table from the current position - in the supplied stream. - - - - - - Returns a DateTime instance which is the result of adding seconds - to BaseDate. If an exception occurs, BaseDate is returned. - - - - - - Writes the contents of the head table to the supplied stream. - - - - - - Gets a value that indicates whether glyph offsets in the - loca table are stored as a int or ulong. - - - - - Class that represents the Horizontal Header table. - - - http://www.microsoft.com/typography/otspec/hhea.htm - - - - - Table version number 0x00010000 for version 1.0. - - - - - Typographic ascent. (Distance from baseline of highest ascender). - - - - - Typographic descent. (Distance from baseline of lowest descender). - - - - - Typographic line gap. Negative LineGap values are treated as zero - in Windows 3.1, System 6, and System 7. - - - - - Maximum advance width value in 'hmtx' table. - - - - - Minimum left sidebearing value in 'hmtx' table. - - - - - Minimum right sidebearing value. - - - - - Max(lsb + (xMax - xMin)). - - - - - Used to calculate the slope of the cursor (rise/run); 1 for vertical. - - - - - 0 for vertical. - - - - - The amount by which a slanted highlight on a glyph needs to be - shifted to produce the best appearance. Set to 0 for non-slanted fonts. - - - - - 0 for current format. - - - - - Number of hMetric entries in 'hmtx' table. - - - - - Class constructor. - - - - - - Reads the contents of the "hhea" table from the current position - in the supplied stream. - - - - - - Gets the number of horiztonal metrics. - - - - - Summary description for HorizontalMetric. - - - - - Class that represents the Horizontal Metrics ('hmtx') table. - - - http://www.microsoft.com/typography/otspec/hmtx.htm - - - - - Initialises a new instance of the - class. - - - - - - Initialises a new instance of the HorizontalMetricsTable class. - - - - - Reads the contents of the "hmtx" table from the supplied stream - at the current position. - - - - - - Returns the number of horizontal metrics stored in the - hmtx table. - - - - - Gets the located at index. - - - - - Class that represents the Index To Location ('loca') table. - - - http://www.microsoft.com/typography/otspec/loca.htm - - - - - Initialises a new instance of the - class. - - - - - - Initialises a new instance of the IndexToLocationTable class. - - - - - Reads the contents of the "loca" table from the supplied stream - at the current position. - - - - - - Removes all offsets. - - - - - Includes the supplied offset. - - - - - - Gets the number of glyph offsets. - - - - - Gets or sets the glyph offset at index index. - - A glyph index. - - - - - Class that represents the Kerning table. - - - http://www.microsoft.com/typography/otspec/kern.htm - - - - - Class constructor. - - - - - - Reads the contents of the "kern" table from the current position - in the supplied stream. - - - - - - No supported. - - - - - - Gets a boolean value that indicates this font contains format 0 - kerning information. - - - - - Returns a collection of kerning pairs. - - - If HasKerningInfo returns false, this method will - always return null. - - - - - Class that represents the Horizontal Metrics ('maxp') table. - - - http://www.microsoft.com/typography/otspec/maxp.htm - - - - - Table version number - - - - - The number of glyphs in the font. - - - - - Maximum points in a non-composite glyph. - - - - - Maximum contours in a non-composite glyph. Only set if - versionNo is 1.0. - - - - - Maximum points in a composite glyph. Only set if - versionNo is 1.0. - - - - - Maximum contours in a composite glyph. Only set if - versionNo is 1.0. - - - - - 1 if instructions do not use the twilight zone (Z0), or - 2 if instructions do use Z0; should be set to 2 in most - cases. Only set if versionNo is 1.0. - - - - - Maximum points used in Z0. Only set if - versionNo is 1.0. - - - - - Number of Storage Area locations. Only set if - versionNo is 1.0. - - - - - Number of FDEFs. Only set if versionNo is 1.0. - - - - - Number of IDEFs. Only set if versionNo is 1.0. - - - - - Maximum stack depth2. Only set if versionNo is 1.0. - - - - - Maximum byte count for glyph instructions. Only set - if versionNo is 1.0. - - - - - Maximum number of components referenced at "top level" - for any composite glyph. Only set if - versionNo is 1.0. - - - - - Maximum levels of recursion; 1 for simple components. - Only set if versionNo is 1.0. - - - - - Initialises a new instance of the - class. - - - - - - Reads the contents of the "maxp" table from the supplied stream - at the current position. - - - - - - Gets the number of glyphs - - - - - Class that represents the Naming ('name') table - - - http://www.microsoft.com/typography/otspec/name.htm - - - - - Offset to start of string storage (from start of table). - - - - - Reads the contents of the "name" table from the supplied stream - at the current position. - - - - - - Reads a string from the storage area beginning at offset - consisting of length bytes. The returned string will be - converted using the Unicode encoding. - - Big-endian font stream. - - The offset in bytes from the beginning of the string storage area. - - The length of the string in bytes. - - - - - Not supported. - - - - - - Get the font family name. - - - - - Gets the font full name composed of the family name and the - subfamily name. - - - - - Class that represents the OS/2 ('OS/2') table - - -

For detailed information on the OS/2 table, visit the following link: - http://www.microsoft.com/typography/otspec/os2.htm

-

For more details on the Panose classification metrics, visit the following URL: - http://www.panose.com/hardware/pan2.asp

-
-
- - - Reads the contents of the "os/2" table from the supplied stream - at the current position. - - - - - - Gets a boolean value that indicates whether this font contains - italic characters. - - - - - Gets a boolean value that indicates whether characters are - in the standard weight/style. - - - - - Gets a boolean value that indicates whether characters possess - a weight greater than or equal to 700. - - - - - Gets a boolean value that indicates whether this font contains - characters that all have the same width. - - - - - Gets a boolean value that indicates whether this font contains - special characters such as dingbats, icons, etc. - - - - - Gets a boolean value that indicates whether characters - do possess serifs - - - - - Gets a boolean value that indicates whether characters - are designed to simulate hand writing. - - - - - Gets a boolean value that indicates whether characters - do not possess serifs - - - - - Gets a boolean value that indicates whether this font may be - legally embedded. - - - - - Gets a boolean value that indicates whether this font may be - subsetted. - - - - - Class that represents the PostScript ('post') table - - - http://www.microsoft.com/typography/otspec/post.htm - - - - - 0x00010000 for version 1.0 - 0x00020000 for version 2.0 - 0x00025000 for version 2.5 (deprecated) - 0x00030000 for version 3.0 - - - - - Italic angle in counter-clockwise degrees from the vertical. - Zero for upright text, negative for text that leans to the - right (forward). - - - - - This is the suggested distance of the top of the underline from - the baseline (negative values indicate below baseline). - - - - - Suggested values for the underline thickness. - - - - - Set to 0 if the font is proportionally spaced, non-zero if the - font is not proportionally spaced (i.e. monospaced). - - - - - Minimum memory usage when an OpenType font is downloaded. - - - - - Maximum memory usage when an OpenType font is downloaded. - - - - - Minimum memory usage when an OpenType font is downloaded - as a Type 1 font. - - - - - Maximum memory usage when an OpenType font is downloaded - as a Type 1 font. - - - - - Class constructor. - - - - - - Reads the contents of the "post" table from the supplied stream - at the current position. - - - - - - Gets a boolean value that indicates whether this font is - proportionally spaced (fixed pitch) or not. - - - - - Class that represents the Offset and Directory tables. - - - http://www.microsoft.com/typography/otspec/otff.htm - - - - - Gets a value indicating whether or not this font contains the - supplied table. - - A table name. - - - - - Gets a DirectoryEntry object for the supplied table. - - A 4-character code identifying a table. - - A DirectoryEntry object or null if the table cannot be located. - - - If tableName does not represent a table in this font. - - - - - Gets the number tables. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A very lightweight wrapper around a Win32 device context - - - - - Pointer to device context created by ::CreateDC() - - - - - Creates a new device context that matches the desktop display surface - - - - - Invokes . - - - - - - - - - Delete the device context freeing the associated memory. - - - - - Selects a font into a device context (DC). The new object - replaces the previous object of the same type. - - Handle to object. - A handle to the object being replaced. - - - - Gets a handle to an object of the specified type that has been - selected into this device context. - - - - - Returns a handle to the underlying device context - - - - - A thin wrapper around a handle to a font - - - - - Class constructor - - A handle to an existing font. - The typeface name of a font. - The height of a font. - - - - Class destructor - - - - - - - - - - - - - Creates a font based on the supplied typeface name and size. - - The typeface name of a font. - - The height, in logical units, of the font's character - cell or character. - - - - - - - - - - Creates a font whose height is equal to the negative value - of the EM Square - - - - - - - - - - - - - - - - - - - - - - Retrieves all pertinent TrueType tables by invoking GetFontData. - - - - - - - - - - - - - - - - - - - - - Summary description for GdiFontEnumerator. - - - - - Class constructor. - - A non-null reference to a wrapper around a GDI device context. - - - - Returns a list of font styles associated with familyName. - - - - - - - Returns a list of font family names sorted in ascending order. - - - - - - - - - - - - - - - - - - - - - - - - - Class that obtains OutlineTextMetrics for a TrueType font - - - - - - - - - - - Gets font metric data for a TrueType font or TrueType collection. - - - - - - Retrieves the widths, in PDF units, of consecutive glyphs. - - - An array of integers whose size is equal to the number of glyphs - specified in the 'maxp' table. - The width at location 0 is the width of glyph with index 0, - The width at location 1 is the width of glyph with index 1, - etc... - - - - - Returns the width, in PDF units, of consecutive glyphs for the - WinAnsiEncoding only. - - An array consisting of 256 elements. - - - - Translates the supplied character to a glyph index using the - currently selected font. - - A unicode character. - - - - - - - - - - - - - Retrieves the typeface name of the font that is selected into the - device context supplied to the GdiFontMetrics constructor. - - - - - Specifies the number of logical units defining the x- or y-dimension - of the em square for this font. The common value for EmSquare is 2048. - - - The number of units in the x- and y-directions are always the same - for an em square.) - - - - - Gets the main italic angle of the font expressed in tenths of - a degree counterclockwise from the vertical. - - - Regular (roman) fonts have a value of zero. Italic fonts typically - have a negative italic angle (that is, they lean to the right). - - - - - Specifies the maximum distance characters in this font extend - above the base line. This is the typographic ascent for the font. - - - - - Specifies the maximum distance characters in this font extend - below the base line. This is the typographic descent for the font. - - - - - Gets the distance between the baseline and the approximate - height of uppercase letters. - - - - - Gets the distance between the baseline and the approximate - height of non-ascending lowercase letters. - - - - - TODO: The thickness, measured horizontally, of the dominant vertical - stems of the glyphs in the font. - - - - - Gets the value of the first character defined in the font - - - - - Gets the value of the last character defined in the font - - - - - Gets the average width of glyphs in a font. - - - - - Gets the maximum width of glyphs in a font. - - - - - Gets a value indicating whether the font can be legally embedded - within a document. - - - - - Gets a value indicating whether the font can be legally subsetted. - - - - - Gets the font's bounding box. - - - This is the smallest rectangle enclosing the shape that would - result if all the glyphs of the font were placed with their - origins cooincident and then filled. - - - - - Gets a collection of flags defining various characteristics of - a font (e.g. serif or sans-serif, symbolic, etc). - - - - - Gets a collection of kerning pairs. - - - - - - Gets a collection of kerning pairs for characters defined in - the WinAnsiEncoding scheme only. - - - - - - - - - - - - - - Class constructor. - - Kerning pairs read from the TrueType font file. - Class to convert from TTF to PDF units. - - - - Returns true if a kerning value exists for the supplied - character index pair. - - - - - - - - Gets the number of kerning pairs. - - - - - Gets the kerning amount for the supplied index pair or 0 if - a kerning pair does not exist. - - - - - Installs a collection of private fonts on the system and uninstalls - them when disposed. - - - - - Specifies that only the process that called the AddFontResourceEx - function can use this font. - - - - - Specifies that no process, including the process that called the - AddFontResourceEx function, can enumerate this font. - - - - - Collection of absolute filenames. - - - - - Adds filename to this private font collection. - - - Absolute path to a TrueType font or collection. - - - If filename is null. - If filename is the empty string. - - - - Adds fontFile to this private font collection. - - - Absolute path to a TrueType font or collection. - - - If fontFile does not exist. - - - If fontFile has already been added. - - - If fontFile cannot be added to the system font collection. - - - - - Custom collection that maintains a list of Unicode ranges - a font supports and the glyph indices of each character. - The list of ranges is obtained by invoking GetFontUnicodeRanges, - however the associated glyph indices are lazily instantiated as - required to save memory. - - - - - List of unicode ranges in ascending numerical order. The order - is important since a binary search is used to locate and - uicode range from a charcater. - - - - - Class constuctor. - - - - - - Loads all the unicode ranges. - - - - - Locates the for the supplied character. - - - - The object housing c or null - if a range does not exist for c. - - - - - Translates the supplied character to a glyph index. - - Any unicode character. - - A glyph index for c or 0 the supplied character does - not exist in the font selected into the device context. - - - - - Gets the number of unicode ranges. - - - - - Converts from logical TTF units to PDF units. - - - - - Class constructor. - - - Specifies the number of logical units defining the x- or - y-dimension of the em square of a font. - - - - - Convert the supplied integer from TrueType units to PDF units - based on the EmSquare - - - - If the value of emSquare is zero, this method will - always return value. - - - - - The ABC structure contains the width of a character in a TrueType font. - - - - - TODO: Figure out why CreateFontIndirect fails when this class - is converted to a struct. - - - - - The OUTLINETEXTMETRIC structure contains metrics describing - a TrueType font. - - - - - The PANOSE structure describes the PANOSE font-classification values - for a TrueType font. These characteristics are then used to associate - the font with other fonts of similar appearance but different names. - - - - - The Point structure defines the x- and y- coordinates of a point. - - - - - The Rect structure defines the coordinates of the upper-left - and lower-right corners of a rectangle - - - - - The TEXTMETRIC structure contains basic information about a physical - font. All sizes are specified in logical units; that is, they depend - on the current mapping mode of the display context. - - - - - Class that represents a unicode character range as returned - by the GetFontUnicodeRanges function. - - - - - Array of glyph indices for each character represented by - this range begining at . - - - - - Class constructor. - - GDI Device content - Value representing start of unicode range. - Value representing end of unicode range. - - - - Returns the glyph index of c. - - - - - - - Populates the indices array with the glyph index of each - character represented by this rnage starting at . - - - - - Gets a value representing the start of the unicode range. - - - - - Gets a value representing the end of the unicode range. - - - - - Summary description for UnicodeRangeComparer. - - - - - Maps a Unicode character to a WinAnsi codepoint value. - - - - - First column is codepoint value. Second column is unicode value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The root of a document's object hierarchy is the catalog dictionary. - - - The document catalog is described in section 3.6.1 of the PDF specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary that contains information about a CIDFont program. - - - A Type 0 CIDFont contains glyph descriptions based on Adobe's Type - 1 font format, whereas those in a Type 2 CIDFont are based on the - TrueType font format. - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing entries that define the character collection - of the CIDFont. - - - - - - - - - - - - - - - - - - - - - - - - - Class that defines a mapping between character codes (CIDs) - to a character selector (Identity-H encoding) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TODO: This method is temporary. I'm assuming that all string should - be represented as a PdfString object? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds the supplied glyph -> unicode pairs. - - - Both the key and value must be a int. - - - - - - Adds the supplied glyph index to unicode value mapping. - - - - - - - Overriden to create CMap content stream. - - - - - - Writes the bfchar entries to the content stream in groups of 100. - - - - - - Writes the bfrange entries to the content stream in groups of 100. - - - - - - - - - - Was originally called PdfDocument, but this name is now in - use by the Telerik.Pdf library. Eventually all code in this - class should either be moved to either the Telerik.Pdf library, - or to the PdfRenderer. - - - - Get the root Outlines object. This method does not write - the outline to the Pdf document, it simply creates a - reference for later. - - - Make an outline object and add it to the given outline - @param parent parent PdfOutline object - @param label the title for the new outline object - @param action the PdfAction to reference - - - get the /Resources object for the document - - @return the /Resources object - - - - Checks whether the FIPS validation is enabled (true if enabled; false otherwise) - FIPS key: HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy -> Enabled - (DWORD value 0x00000001 for enabled, 0x00000000 for disabled) - - - - - PDF defines a standard date format. The PDF date format closely - follows the format defined by the international standard ASN.1. - - - The format of the PDF date is defined in section 3.8.2 of the - PDF specification. - - - - - - - - - A class that enables a well structured PDF document to be generated. - - - Responsible for allocating object identifiers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class representing a file trailer. - - - File trailers are described in section 3.4.4 of the PDF specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns the internal name used for this font. - - - - - Creates all the necessary PDF objects required to represent - a font object in a PDF document. - - - - - Generates object id's. - - - - - - - - - - - Returns a subclass of the PdfFont class that may be one of - PdfType0Font, PdfType1Font or PdfTrueTypeFont. The type of - subclass returned is determined by the type of the font - parameter. - - The PDF font identifier, e.g. F15 - Underlying font object. - - - - - Creates a character indexed font from cidFont - - - The font and cidFont will be different object - references since the font parameter will most likely - be a . - - The Pdf font identifier, e.g. F15 - Required to access the font descriptor. - The underlying CID font. - - - - - Returns the next available Pdf object identifier. - - - - - - Creates an instance of the class - - The Pdf font identifier, e.g. F15 - - - - - - Creates an instance of the class - that defaults the font encoding to WinAnsiEncoding. - - - - - - - - - A ProxyFont must first be resolved before getting the - IFontMetircs implementation of the underlying font. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An enumeration listing all the fonts types available in Pdf. - - - - - - - - - - - - - - - - - - - - - - - - - An enumeration listing all the font subtypes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An International Color Code stream - - - - - - - - - - - - - - - - - Represents a Identity-H character encoding - - - Maps 2-byte character codes ranging from 0 to 65,535 to - the same 2-byte CID value, interpreted high-order byte first - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Do not call this method directly - - - - - Do not call this method directly - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class representing a document information dictionary. - - - Document information dictionaries are described in section 9.2.1 of the - PDF specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Well-known PDF name objects. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This represents a single Outline object in a PDF, including the root Outlines - object. Outlines provide the bookmark bar, usually rendered to the right of - a PDF document in user agents such as Acrobat Reader - - - - - List of sub-entries (outline objects) - - - - - Parent outline object. Root Outlines parent is null - - - - - Title to display for the bookmark entry - - - - - Class constructor. - - The object id number - The title of the outline entry (can only be null for root Outlines obj) - The page which this outline refers to. - - - - - - - - Add a sub element to this outline - - - - - - - - - - - - - - - - - - - - - - - - - - The pages of a document are accessed through a structure known - as the page tree. - - - The page tree is described in section 3.6.2 of the PDF specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns this PdfString expressed using the 'literal' convention. - - - A literal string is written as an arbitrary number of characters - enclosed in parentheses. Any characters may appear in a string - except unbalanced parentheses and the backslash, which must be - treated specially. Balanced pairs of parentheses within a string - require no special treatment. - - - - - Used by ToPdfHexadecimal. - - - - - Returns the PdfString expressed using the 'hexadecimal' convention. - - - Strings may also be written in hexadecimal form; this is useful for - including arbitrary binary data in a PDF file. A hexadecimal string - is written as a sequence of hexadecimal digits (0?9 and either A?F - or a?f) enclosed within angle brackets (< and >). - - - - - The convention used when outputing the string to the PDF document. - - - Defaults to format. - - - - - Determines if the string should bypass encryption, even when - available. - - - Some PDF strings need to appear unencrypted in a secure PDF - document. Most noteably those in the encryption dictionary - itself. This property allows those strings to be flagged. - - - - - The PDF specification describes two conventions that can be - used to embed a string in a PDF document. This enumeration, - along with the property - can be used to select how a string will be formatted in the - PDF file. - - - - - - - - - - - - - - - - - A unique object number. - - - The name by which the font is reference in the Font subdictionary - - - The PostScript name of the font. - - - - - Sets a value representing the character encoding. - - - - - Sets the font descriptor. - - - - - Sets the first character code defined in the font's widths array - - - The default value is 0. - - - - - Sets the last character code defined in the font's widths array - - - The default value is 255. - - - - - Sets the array of character widths. - - - - - A Type 0 font is a composite font whose glyphs are obtained from a - font like object called a CIDFont (a descendant font). - - - All versions of the PDF specification up to and including version 1.4 - only support a single descendant font. - - - - - - - - - Sets the stream containing a CMap that maps character codes to - unicode values. - - - - - Sets the descendant font. - - - - - Sets a value representing the character encoding. - - - - - - - - - - - - - Sets a value representing the character encoding. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Array class used to represent the /W entry in the CIDFont dictionary. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARC4 is a fast, simple stream encryption algorithm that is - compatible with RSA Security's RC4 algorithm. - - - - - Initialises internal state from the passed key. - - - Can be called again with a new key to reuse an Arc4 instance. - - The encryption key. - - - - Encrypts or decrypts the passed byte array. - - - The data to be encrypted or decrypted. - - - The location that the encrypted or decrypted data is to be placed. - The passed array should be at least the same size as dataIn. - It is permissible for the same array to be passed for both dataIn - and dataOut. - - - - - Generates a pseudorandom byte used to encrypt or decrypt. - - - - - Implements Adobe's standard security handler. A security handler is - a software module that implements various aspects of the encryption - process. - - - - - Constructs a new standard security manager. - - - The user supplied PDF options that provides access to the passwords and - the access permissions. - - - The PDF document's file identifier (see section 8.3 of PDF specification). - - - - - - - - - Computes the master key that is used to encrypt string and stream data - in the PDF document. - - - The user supplied PDF options that provides access to the passwords and - the access permissions. - - - The PDF document's file identifier (see section 8.3 of PDF specification). - - - - - Computes the O(owner) value in the encryption dictionary. - - - Corresponds to algorithm 3.3 on page 69 of the PDF specficiation. - - - The user supplied PDF options that provides access to the passwords. - - - - - Computes the U(user) value in the encryption dictionary. - - - Corresponds to algorithm 3.4 on page 70 of the PDF specficiation. - - - The user supplied PDF options that provides access to the passwords. - - - - - Encrypts the passed byte array using the ARC4 cipher. - - - - - Computes an encryption key that is used to encrypt string and stream data - in the PDF document. - - - Corresponds to algorithm 3.1 in section 3.5 of the PDF specficiation. - - - - - Computes an encryption key that is used to encrypt string and stream data - in the PDF document. - - - Corresponds to algorithm 3.2 in section 3.5 of the PDF specficiation. - - - - - Pads or truncates a password string to exactly 32-bytes. - - - Corresponds to step 1 of algorithm 3.2 on page 69 of the PDF 1.3 specficiation. - - The password to pad or truncate. - - A byte array of length 32 bytes containing the padded or truncated password. - - - - - Determines if the passed password matches the user password - used to initialise this security manager. - - - Used for testing purposes only. Corresponds to algorithm 3.5 in the - PDF 1.3 specification. - - True if the password is correct. - - - - Performs the actual checking of the user password. - - - - - Checks the owner password. - - - - - Compares two byte arrays and returns true if they are equal. - - - - - Access to the raw user entry byte array. - - - Required for testing purposes; - - - - - Access to the raw owner entry byte array. - - - Required for testing purposes; - - - - - - - - - Collection of flags describing permissions granted to user who opens - a file with the user password. - - - The given initial value zero's out first two bits. - The PDF specification dictates that these entries must be 0. - - - - - Enables or disables printing. - - If true enables printing otherwise false - - - - Enable or disable changing the document other than by adding or - changing text notes and AcroForm fields. - - - - - - Enable or disable copying of text and graphics from the document. - - - - - - Enable or disable adding and changing text notes and AcroForm fields. - - - - - - Password that disables all security permissions - - - - - The user password - - - - - Returns the owner password as a string. - - - The default value is null - - - - - Returns the user password as a string. - - - The default value is null - - - - - The document access privileges encoded in a 32-bit unsigned integer - - - The default access priviliges are: -
    -
  • Printing disallowed
  • -
  • Modifications disallowed
  • -
  • Copy and Paste disallowed
  • -
  • Addition or modification of annotation/form fields disallowed
  • -
- To override any of these priviliges see the , - , , - methods -
-
- - - A single section in a PDF file's cross-reference table. - - - The cross-reference table is described in section 3.4.3 of - the PDF specification. - - - - - Right now we only support a single subsection. - - - - - Adds an entry to the section. - - - - - Writes the cross reference section to the passed PDF writer. - - - - - A sub-section in a PDF file's cross-reference table. - - - The cross-reference table is described in section 3.4.3 of - the PDF specification. - - - - - This entries contained in this subsection. - - - - - Creates a new blank sub-section, that initially contains no entries. - - - - - Adds an entry to the sub-section. - - - - - Writes the cross reference sub-section to the passed PDF writer. - - - - - Structure representing a single cross-reference entry. - - - - - The object number and generation number. - - - - - The number of bytes from the beginning of the file to - the beginning of the object. - - - - - Implementation of IComparable. - - - - - A PDF file's cross-reference table. - - - The cross-reference table is described in section 3.4.3 of - the PDF specification. - - - - - Right now we only support a single section. - - - - - Adds an entry to the table. - - - - - Writes the cross reference table to the passed PDF writer. - - - - - A marker interface to indicate an object can be passed to - the property. - - - - - - - - Sets up the PDF fonts. - - - Assigns the font (with metrics) to internal names like "F1" and - assigns family-style-weight triplets to the fonts. - - - - - First 16 indices are used by base 14 and generic fonts - - - - - Handles mapping font triplets to a IFontMetric implementor - - - - - Adds all the system fonts to the FontInfo object. - - - Adds metrics for basic fonts and useful family-style-weight - triplets for lookup. - - Determines what type of font to instantiate. - - - - Returns true is familyName represents one of the - base 14 fonts; otherwise false. - - - - - - - Gets the next available font name. A font name is defined as an - integer prefixed by the letter 'F'. - - - - - - Add the fonts in the font info to the PDF document. - - Object that creates PdfFont objects. - Resources object to add fonts too. - - - - Base class for the standard 14 fonts as defined in the PDF spec. - - - - - Base class for PDF font classes - - - - - Maps a Unicode character to a character index. - - A Unicode character. - - - - - See - - - - - Get the encoding of the font. - - - A font encoding defines a mapping between a character code - and a code point. - - - - - Gets the base font name. - - - - - - Gets the type of font, e.g. Type 0, Type 1, etc. - - - - - - Gets the font subtype. - - - - - - Gets a reference to a FontDescriptor - - - - - Gets a boolean value indicating whether this font supports - multi-byte characters - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - See - - - - - Class constructor. - - - - - Will always return null since the standard 14 fonts do not - have a FontDescriptor. - - - It is possible to override the default metrics, but the - current version of Apoc does not support this feature. - - - - - Base class for a CID (Character Indexed) font. - - - There are two types of CIDFont: Type 0 and Type 2. A Type 0 CIDFont - contains glyph description based on Adobe Type 1 font format; a - Type 2 CIDFont contains glyph descriptions based on the TrueType - font format. - See page 338 of the Adode PDF 1.4 specification for futher details. - - - - - Gets the PostScript name of the font. - - - - - Gets a dictionary mapping character codes to unicode values - - - - - Returns . - - - - - Gets a string identifying the issuer of the character collections. - - - The default implementation returns . - - - - - Gets a string that uniquely names the character collection. - - - The default implementation returns . - - - - - Gets the supplement number of the character collection. - - - The default implementation returns . - - - - - Gets the default width for all glyphs. - - - The default implementation returns - - - - - Represents a collection of font descriptor flags specifying - various characterisitics of a font. - - - The following lists the bit positions and associated flags: - 1 - FixedPitch - 2 - Serif - 3 - Symbolic - 4 - Script - 6 - Nonsymbolic - 7 - Italic - 17 - AllCap - 18 - SmallCap - 19 - ForceBold - - - - - Default class constructor. - - - - - Class constructor. Initialises the flags BitVector with the - supplied integer. - - - - - Gets the font descriptor flags as a 32-bit signed integer. - - - - - Handy enumeration used to reference individual bit positions - in the BitVector32. - - - - - Collection of font properties such as face name and whether the - a font is bold and/or italic. - - - - - Class constructor. - - - Regular : bold=false, italic=false - Bold : bold=true, italic=false - Italic : bold=false, italic=true - BoldItalic : bold=true, italic=true - - Font face name, e.g. Arial. - Bold flag. - Italic flag. - - - - A proxy object that delegates all operations to a concrete - subclass of the Font class. - - - - - Flag that indicates whether the underlying font has been loaded. - - - - - Font details such as face name, bold and italic flags - - - - - The font that does all the work. - - - - - Determines what type of "real" font to instantiate. - - - - - Class constructor. - - - - - - - Loads the underlying font. - - - - - Gets the underlying font. - - - - - Represents a TrueType font program. - - - - - Wrapper around a Win32 HDC. - - - - - Provides font metrics using the Win32 Api. - - - - - List of kerning pairs. - - - - - Maps a glyph index to a PDF width - - - - - - - - - - Class constructor - - - - - - Creates a object from baseFontName - - - - - See - - A WinAnsi codepoint. - - - - - Returns . - - - - - A Type 2 CIDFont is a font whose glyph descriptions are based on the - TrueType font format. - - - TODO: Support font subsetting - - - - - Wrapper around a Win32 HDC. - - - - - Provides font metrics using the Win32 Api. - - - - - List of kerning pairs. - - - - - Maps a glyph index to a PDF width - - - - - Windows font name, e.g. 'Arial Bold' - - - - - - - - - - Maps a glyph index to a character code. - - - - - Maps character code to glyph index. The array is based on the - value of . - - - - - Class constructor. - - - - - - Creates a object from baseFontName - - - - - Class destructor. - - - - - Returns . - - - - - A subclass of Type2CIDFont that generates a subset of a - TrueType font. - - - - - Maps a glyph index to a subset index. - - - - - Quasi-unique six character name prefix. - - - - - Class constructor. - - - - - - Creates the index mappings list and adds the .notedef glyphs - - - - - Enumeration that dictates how Apoc should treat fonts when - producing a PDF document. - - -

Each of the three alernatives has particular advantages and - disadvantages, which will be explained here.

-

The member specifies that all fonts - should be linked. This option will produce the smallest PDF - document because the font program required to render individual - glyphs is not embedded in the PDF document. However, this - option does possess two distinct disadvantages: -

    -
  1. Only characters in the WinAnsi character encoding are - supported (i.e. Latin)
  2. -
  3. The PDF document will not render correctly if the linked - font is not installed.
  4. -
///

-

The option will copy the contents of - the entire font program into the PDF document. This will guarantee - correct rendering of the document on any system, however certain - fonts - especially CJK fonts - are extremely large. The MS Gothic - TrueType collection, for example, is 8MB. Embedding this font file - would produce a ridicuously large PDF.

-

Finally, the option will only copy the required - glyphs required to render a PDF document. This option will ensure that - a PDF document is rendered correctly on any system, but does incur a - slight processing overhead to subset the font.

-
-
- - - Fonts are linked. - - - - - The entire font program is embedded. - - - - - The font program is subsetted and embedded. - - - - - The current vertical position in millipoints from bottom. - - - - - The current horizontal position in millipoints from left. - - - - - The horizontal position of the current area container. - - - - - The PDF Document being created. - - - - - The /Resources object of the PDF document being created. - - - - - The current stream to add PDF commands to. - - - - - The current annotation list to add annotations to. - - - - - The current page to add annotations to. - - - - - True if a TJ command is left to be written. - - - - - The previous Y coordinate of the last word written. - - - Used to decide if we can draw the next word on the same line. - - - - - The previous X coordinate of the last word written. - - - Used to calculate how much space between two words. - - - - - The width of the previous word. - - - Used to calculate space between. - - - - - Reusable word area string buffer to reduce memory usage. - - - TODO: remove use of this. - - - - - User specified rendering options. - - - - - The current (internal) font name. - - - - - The current font size in millipoints. - - - - - The current color/gradient to fill shapes with. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Previous values used for text-decoration drawing. - - - - - Provides triplet to font resolution. - - - - - Handles adding base 14 and all system fonts. - - - - - The IDReferences for this document. - - - - - Create the PDF renderer. - - - - - - - - - add a line to the current stream - - @param x1 the start x location in millipoints - @param y1 the start y location in millipoints - @param x2 the end x location in millipoints - @param y2 the end y location in millipoints - @param th the thickness in millipoints - @param r the red component - @param g the green component - @param b the blue component - - - add a line to the current stream - - @param x1 the start x location in millipoints - @param y1 the start y location in millipoints - @param x2 the end x location in millipoints - @param y2 the end y location in millipoints - @param th the thickness in millipoints - @param rs the rule style - @param r the red component - @param g the green component - @param b the blue component - - - add a rectangle to the current stream - - @param x the x position of left edge in millipoints - @param y the y position of top edge in millipoints - @param w the width in millipoints - @param h the height in millipoints - @param stroke the stroke color/gradient - - - add a filled rectangle to the current stream - - @param x the x position of left edge in millipoints - @param y the y position of top edge in millipoints - @param w the width in millipoints - @param h the height in millipoints - @param fill the fill color/gradient - @param stroke the stroke color/gradient - - - add a filled rectangle to the current stream - - @param x the x position of left edge in millipoints - @param y the y position of top edge in millipoints - @param w the width in millipoints - @param h the height in millipoints - @param fill the fill color/gradient - - - render image area to PDF - - @param area the image area to render - - - render a foreign object area - - - render inline area to PDF - - @param area inline area to render - - - Convert a char to a multibyte hex representation - - - Checks to see if we have some text rendering commands open - still and writes out the TJ command to the stream if we do - - - render page into PDF - - @param page page to render - - - defines a string containing dashArray and dashPhase for the rule style - - - - Renders an area's background. - - The area whose background is to be rendered. - The x position of the left edge in millipoints. - The y position of top edge in millipoints. - The width in millipoints. - The height in millipoints. - - - - Renders an image, rendered at the image's intrinsic size. - This by default calls drawImageScaled() with the image's - intrinsic width and height, but implementations may - override this method if it can provide a more efficient solution. - - The x position of left edge in millipoints. - The y position of top edge in millipoints. - The image to be rendered. - - - - Renders an image, scaling it to the given width and height. - If the scaled width and height is the same intrinsic size - of the image, the image is not scaled - - The x position of left edge in millipoints. - The y position of top edge in millipoints. - The width in millipoints. - The height in millipoints. - The image to be rendered. - - - - Renders an image, clipping it as specified. - - The x position of left edge in millipoints. - The y position of top edge in millipoints. - The left edge of the clip in millipoints. - The top edge of the clip in millipoints. - The clip width in millipoints. - The clip height in millipoints. - The image to be rendered. - - - render display space - - @param space the display space to render - - - render inline space - - @param space space to render - - - render leader area - - @param area area to render - - - - Assigns renderer options to this PdfRenderer - - - This property will only accept an instance of the PdfRendererOptions class - - - If value is not an instance of PdfRendererOptions - - - - - This class can be used to control various properties of PDF files - created by Apoc XSL-FO. - - - Can be used to control certain values in the generated PDF's information - dictionary. These values are typically displayed in a document summary - dialog of PDF viewer applications. - This class also allows security settings to be specified that will - cause generated PDF files to be encrypted and optionally password protected. - - - - - The given initial value zero's out first two bits. - The PDF specification dictates that these entries must be 0. - - - - - Adds a keyword to the PDF document. - - - Keywords are embedded in the PDF information dictionary. - - The keyword to be added. - - - - Adds fileInfo to the private font collection. - - - Absolute path to a TrueType font or collection. - - - If fileInfo is null. - - - If fileInfo does not exist. - - - If fileInfo has already been added. - - - If fileInfo cannot be added to the system font collection. - - - - - Creates and returns a new instance of the active content filter - - IFilter instance - - - - Specifies the Title of the PDF document. - - - The default value is null. - - - This value will be embedded in the PDF information dictionary. - - - - - Specifices the default font - - - The default value is empty string. - - - - - Specifies the Subject of the PDF document. - - - The default value is null. - - - This value will be embedded in the PDF information dictionary. - - - - - Specifies the Author of the PDF document. - - - The default value is null. - - - This value will be embedded in the PDF information dictionary. - - - - - Returns the Creator of the PDF document. - - - This method will always return "XSL-FO http://www.w3.org/1999/XSL/Format". - - - - - Returns the Producer of the PDF document. - - - This method will return the assembly name and version of Apoc. - - - - - Returns a list of keywords as a comma-separated string - - - If no keywords exist the empty string is returned - - - - - Specifies the owner password that will protect full access to any generated PDF documents. - - - If either the owner or the user password is specified, - then the document will be encrypted. - - - The default value is null. - - - - - Specifies the user password that will protect access to any generated PDF documents. - - - If either the owner or the user password is specified, - then the document will be encrypted. - - - The default value is null. - - - - - Disables the content encryption - - - - - Returns true if any permissions have been set. - - - - - Returns the PDF permissions encoded as an 32-bit integer. - - - - - Enables or disables printing. - - - The default value is true. - - - - - Enables or disables modifying document contents (other than text annotations and - interactive form fields). - - - The default value is true. - - - - - Enables or disables copying of text and graphics. - - - The default value is true. - - - - - Enables or disables adding or modifying text annotations and interactive - form fields. - - - The default value is true. - - - - - Specifies how Apoc should treat fonts. - - - The default value is FontType.Link - - - - - Gets or sets a value that indicates whether to enable kerning. - - - The default value is false - - - - - Determines whether the text will be forced to wrap or will break the cell boundaries when - longer than its container (and when there is no whitespace for automatic wrapping) - - - - - Gets/sets the current content filter - - - - - PDF filter - - - - - Specifies the output format that Apoc XSL-FO should render to. - - - Currently the only useful format supported is PDF. The - XML format is intended for informational/debugging purposes - only. - - - - - - Instructs Apoc to output an XML representation. - - - This format is useful only for informational/debugging purposes. - - - - - Instructs Apoc to output PDF. - - - - - Clean up used resources. - - - - - This class can be used to control various properties of PDF files - created by the XML tree renderer. - - - - - Default XML renderer properties - - - - - Determines if the XMLRenderer should use verbose output - - - - - This class acts as a bridge between the XML:FO parser and the - formatting/rendering classes. It will queue PageSequences up until - all the IDs required by them are satisfied, at which time it will - render the pages. - StreamRenderer is created by Driver and called from FOTreeBuilder - when a PageSequence is created, and AreaTree when a Page is formatted. - - - - - Keep track of the number of pages rendered. - - - - - The renderer being used. - - - - - The formatting results to be handed back to the caller. - - - - - The FontInfo for this renderer. - - - - - The list of pages waiting to be renderered. - - - - - The current set of IDReferences, passed to the areatrees - and pages. This is used by the AreaTree as a single map of - all IDs. - - - - - The list of extensions. - - - - - The list of markers. - - - - - Format the PageSequence. The PageSequence formats Pages and adds - them to the AreaTree, which subsequently calls the StreamRenderer - instance (this) again to render the page. At this time the page - might be printed or it might be queued. A page might not be - renderable immediately if the IDReferences are not all valid. In - this case we defer the rendering until they are all valid. - - - - - - Try to process the queue from the first entry forward. If an - entry can't be processed, then the queue can't move forward, - so return. - - - - - - Auxillary function for retrieving markers. - - - - - - Auxillary function for retrieving markers. - - - - - - Auxillary function for retrieving markers. - - - - - - A RenderQueueEntry consists of the Page to be queued, plus a list - of outstanding ID references that need to be resolved before the - Page can be renderered. - - - - - The Page that has outstanding ID references. - - - - - MG - to replace the outer this Java nonsense */ - - - - - A list of ID references (names). - - - - - See if the outstanding references are resolved in the current - copy of IDReferences. - - - - - - Provides a static method that applies an - XSL stylesheet to an XML document - - - - - Private constructor to prevent instantiation - - - - - Applies the style sheet xslFile to the XML document - identified by xmlFile. - - Path to an XML document - Path to an XSL stylesheet - A Stream representing a sequence of XSL:FO elements - - The files xmlFile and xslFile do not exist or are - inaccessible. The XSL file cannot be compiled - - - This method will create a temporary filename in the system's - temporary directory, which is automatically deleted when the - returned stream is closed. - - - - - - This Class implements the fields and - the properties in the FileUploaded server EventArgs. - - - - - Gets or sets the uploaded file. - - The uploaded file. - - - - Gets or sets the IsValid property. - - The IsValid property. - - - - Gets the upload result. - - The upload result. - - - - This class implements the UploadedFileInfo object and its fields and methods. - - - - - Copies the file info to IAsyncUploadResult. - - The result. - The file. - - - - Gets the fully-qualified name of the file on the client's computer (for example - "C:\MyFiles\Test.txt"). - - - A string containing the fully-qualified name of the file on the client's computer. - - - - - Gets the MIME content type of a file sent by a client. - - The MIME content type of the uploaded file. - - - - Gets the size in bytes of an uploaded file. - - The length of the file. - - - - Gets the last modified date of the uploaded file in JSON format. - - The property is available only in RadAsyncUpload control when FileApi module is used - - Last modified date of the uploaded file in JSON format. - - - - - Gets or sets the index. - - The index. - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Gets or sets the is enabled. - - The IsEnabled. - - - - Collection of binary image filters. Extends List of BinaryImageFilter. - Access by filter name is available - - - - - Abstract filter class which is used when creating filters. - Filters are used to manipulate the binary data of an image. - - - - - Process image data by applying the filter transformations - - data to be processed - processed data - - - - Gets the filter's name - - - - - - - Intended for internal use only - - - - - - - - - - - - - Enumerates the different resize modes the control supports - - - - - The original image will not be resized - - - - - The image will be resized to fit to the specified control Width and Height, preserving the image's width/height ratio. - - - - - The image will be cropped and centered if larger than the specified control Width and Height - - - - - The image will be stretched or shrinked to exactly fit the specified control Width and Height - - - - - Enumerates the crop positions that can apply when cropping the binary image. - - - - - The original image will be cropped from top when its height is greater than its width. - - - - - The original image will be cropped from all sides - - - - - The original image will be cropped from bottom when its height is greater than its width - - - - - The original image will be cropped from left when its width is greater than its height - - - - - The original image will be cropped from right when its width is greater than its height - - - - - Transformation filter which transform the image. - The filter could alter the image width, height and manipulate croping and interpolation mode - - - - - Process image data by applying the filter transformations - - - The processed data in bytes - - - - Gets the filter's name as string representation - - The filter name as string - - - - Gets or sets the width of the image. - - The width of the image in pixels. - - - - Gets or sets the height of the image. - - The height of the image in pixels. - - - - Gets or sets the interpolation mode which specifies the algorithm - that is used when images are scaled or rotated - - The interpolation mode which specifies the algorithm - that is used when images are scaled or rotated. - - - - Gets or sets the resize mode of the image. - - The resize mode of the image. - - - - Gets or sets the crop position that - can apply when cropping the binary image. - - The crop position that - can apply when cropping the binary image. - - - - - - - - - - - - Represents a control which is capable of displaying images from a binary data - - - - - - - - - Adds HTML attributes and styles that need to be rendered to the specified - . This method is used primarily - by control developers. - - A that - represents the output stream to render HTML content on the client. - - - - - Binds a data source to the invoked server control and all its child - controls. - - - - - Saves any state that was modified after the - method was - invoked. - - - An object that contains the current view state of the control; otherwise, if - there is no view state associated with the control, null. - - - - - Gets the value that corresponds - to this Web server control. This property is used primarily by control - developers. - - - One of the enumeration values. - - - - - Gets or sets the alignment of the control in relation to other elements on - the Web page. - - - - - - Gets or sets the alternate text displayed in the Image control when the image - is unavailable. Browsers that support the ToolTips feature display this text as - a ToolTip. - - - - - The URL for the file that contains a detailed description for the image. The - default is an empty string (""). - - - - - Gets or sets a value indicating whether the control generates an alternate text - attribute for an empty string value. The default value is false - - - - - Gets or sets a value indicating whether the image data will - be persisted if control is invisible - - - - - Gets or sets the location of an image to display in the - control. - - - Applicable only when property is not set. - - - - - Specifies the URL of the HTTPHandler from which the image will be served - - - - - - Gets the instance which is responsible for - saving and loading image's data - - - This should be an instance of same type as - 's ImagePersister - - - - - Gets or sets binary data to which control will be bound to - - - - - Contains collections of which will be applied to image's data - - - - - Specifies the resize mode that will use to resize the image. - Default value is BinaryImageResizeMode.None, indicating no resizing will be performed. - - - - - Specifies the crop position will use when cropping the image. - This property has a meaning only when the ResizeMode property is set to BinaryImageResizeMode.Crop. - Default value is BinaryImageCropPosition.Center. - - - - - Get or set the name of the file which will appear inside of the SaveAs - browser dialog - - - - - When set to true enables support for WAI-ARIA - - - - - Set whenever to render <img> tag when the image src is empty string. - Default value is true. - - - - - Specifies if the HTML image element's dimensions are inferred from image's binary data - - - - - Represents an object which can server 's content - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that implements - the interface. - - An object that - provides references to the intrinsic server objects (for example, Request, - Response, Session, and Server) used to service HTTP requests. - - - - - Gets the instance which is responsible for - saving and loading image's data - - - This should be an instance of same type as 's - ImagePersister - - - - - - - Intended for internal use only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents an object which can handle image data's storage and retrieval - - - - - Generates an Uri at which the image's data can be accessed - - URL of the HTTPHandler from which image data - should be served - Generated Uri - - - - Saves a image's data to storage - - Image's binary data - - - - Retrieves image binary data from storage - - image's data - - - - Represents an object which contains RadBinaryImage's data content - - - - - Gets or sets the binary image data container data. - - The data in bytes. - - - - Gets or sets the name of the image. - - The name of the image. - - - - - - - - Represents an object which can handle image data's storage and retrieval using HTTPCache - - - - - Generates an Uri at which the image's data can be accessed - - URL of the HTTPHandler from which image data - should be served - Generated Uri - - - - Saves a image's data to storage - - Image's binary data - - - - Retrieves image binary data from storage - - image's data - - - - Gets portion of generated Uri which represents image's identification key value - - - - - Gets portion of generated Uri which represents image's identification key name - - - - - Gets current instance - - - - - Gets or sets the name of the image file. - - The name of the image file. - - - - The class holding the settings for the animations. - Duration and the type of the animation could be changed. - - - - Gets or sets the animation duration in milliseconds. - - An integer representing the animation duration in milliseconds. - The default value is 300 milliseconds. - - - - - Gets or sets the calendar animation type - - - - - Summary description for CalendarAnimationType. - Fade - The calendar or timeview fades in and out - Slide - The calendar or timeview slides in and out - - - - - The calendar or timeview fades in and out - - - - - The calendar or timeview slides in and out - - - - - This spam protector implements different startegies for automatic - robot discovery. - - - - - Interface defining a spam protector - - - - - Add the child controls for this spam protector to the main contrainer with controls - - The main container with controls - - - - Load the post back data for the spam protector - - The main container with controls - - - - Validate the post back data - - - - - Customize ASP.NET PreRender event - - - - - Gets an indicator wherher the user is validated ot not - - - - - Is the spam protector visible in the captcha control or not. - - - - - Initializes a new instance of the class. - - - - - Add the child controls for this spam protector to the main contrainer with controls - - The main container with controls - - - - Load the post back data for the spam protector - - The main container with controls - - - - Validate the post back data - - - - - List of all enabled automatic robot discovery strategies - - - - - Gets an indicator whether the user is validated ot not - - - - - - Gets or sets the hidden text box strategy. - - The hidden text box strat. - - - - Gets or sets the minimum submission time strategy. - - The minimum submission time strategy. - - - - Interface defining an auto bot discovery strategy - - - - - Initializes a new instance of the class. - - - - - Add the child controls for this spam protector to the main container with controls - - The main container with controls - - - - Load the post back data for the spam protector - - The main container with controls - - - - Validate the post back data - - - - - Removes the GUID from cache. - - - - - Gets an indicator whether the user is validated ot not - - - - - - Gets or sets an error message displayed when the user is not validated - - - - - - Gets or sets the label text. - - The label text. - - - - Gets or sets the GUID of the previous session. - - The GUID of the previous session. - - - - Bot trap stream HttpModule. Adds Bot Guids to the cache. - - You *MUST* enable this HttpHandler in your web.config, like so: - <httpHandlers> - <add verb="GET" path="BotHandler.axd" type="Telerik.Web.UI.BotTrapLinkHandler, Telerik.Web.UI" /> - </httpHandlers> - - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that implements the interface. - - An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests. - - - - Gets a value indicating whether another request can use the instance. - - - true if the instance is reusable; otherwise, false. - - - - Auto bot discovery strategy relying on whether a hidden textbox in the form - will be filled or not in order to determine the session as being from a human or not. - - - - - Add the child controls for this spam protector to the main contrainer with controls - - The main container with controls - - - - Load the post back data for the spam protector - - The main container with controls - - - - Validate the post back data - - - - - Gets an indicator whether the user is validated ot not - - - - - - Gets or sets the label text. - - The label text. - - - - This automatic robot discovery strategy relies on the submission time of the form. - If it is less than a predefined time, then this session is considered to be from a robot. - - - - - Adds the child controls. - - The container. - - - - Loads the post back data. - - The container. - - - - Validates the post back data. - - - - - Gets an indicator whether the user is validated ot not - - - - - - Gets or sets the minimum time in which the form should not be submitted. - - The minimum time in which the form should not be submitted. - - - - Gets or sets the time this instance was rendered at. - - The time this instance was rendered at. - - - - Determines whether the RadCaptcha control is valid. - - The bool value indicating whether the Captcha is valid. - - - - Gets or sets the name of the validation group to which this validation control belongs. - - - - - The parent captcha control, which the custom validator belongs to. - - - - - Captcha audio stream HttpModule. "Speaks" the Captcha code, - renders them to memory and streams it to the browser. - - - - To use this handler, add it in your web.config, like so: - - - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that implements the interface. - - An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests. - - - - Gets a value indicating whether another request can use the instance. - - - true if the instance is reusable; otherwise, false. - - - - Amount of random font warping to apply to rendered text. - - - - - No font warping will be applied. - - - - - Low font warping will be applied. - - - - - Medium font warping will be applied. - - - - - Hight font warping will be applied. - - - - - Extreme font warping will be applied. - - - - - Amount of background noise to add to rendered image. - - - - - No background noise will be added. - - - - - Low background noise will be added. - - - - - Medium background noise will be added. - - - - - Hight background noise will be added. - - - - - Extreme background noise will be added. - - - - - Amount of curved line noise to add to rendered image. - - - - - No curved line noise will be added. - - - - - Low curved line noise will be added. - - - - - Medium curved line noise will be added. - - - - - High curved line noise will be added. - - - - - Extreme curved line noise will be added. - - - - - The character set from which the CaptchaImage text is randomly generated. - - - - - The CaptchaImage text will be generated from letters and numbers. - - - - - The CaptchaImage text will be generated from letters. - - - - - The CaptchaImage text will be generated from numbers. - - - - - The CaptchaImage text will be generated from custom character set (the RadCaptcha property 'CharSet' is used to specify the characters). - - - - - RadCaptcha image generation class - - - - - Creates an instance of the CaptchaImage class. - - - - - Creates an instance of the CaptchaImage class. - - The old CaptchaImage object. - An instance of the Random class. - The date and time the CaptchaImage was rendered. - A GUID that uniquely identifies the CaptchaImage. - - - - Creates an instance of the CaptchaImage class. - - The old CaptchaImage object. - An instance of the TelerikRandom class. - The date and time the CaptchaImage was rendered. - A GUID that uniquely identifies the CaptchaImage. - - - - Forces a new Captcha image to be generated using current property value settings. - - - - - Returns a random font family from the font whitelist - - - - - Checks whether the current code is an offensive word. - - True if the word is offensive. - - - - Generates a new RadCaptcha code. - - Bool value that indicates whether or not bad words will be filtered. - RadCaptcha has a built-in list of words that should not appear on the image. - - - - Generates a new RadCaptcha code. - - - - - Generates random text for the RadCaptcha. - - - - - Returns a random point within the specified x and y ranges. - - - - - Returns a random point within the specified rectangle. - - - - - Returns a GraphicsPath containing the specified string and font. - - - - - Returns the RadCaptcha font in an appropriate size. - - - - - Renders the RadCaptcha image. - - - - - Warps the provided text GraphicsPath by a variable amount. - - - - - Add a variable level of graphic noise to the image. - - - - - Add variable level of curved lines to the image - - - - - Gets a GUID that uniquely identifies this CaptchaImage - - - - - Gets the date and time this image was last rendered - - - - - Gets or sets bool value that indicates - whether the RadCaptcha Image will only be rendered on the page (without the textbox and Label). - - Bool value indicating whether the RadCaptcha will only be rendered on the page. - - - - Gets or sets the font used to render RadCaptcha text. - - The name of the font used to render RadCaptcha text. - - - - Gets or sets a bool value indicating - whether a random font will be used to generate the CaptchaImage text. - - Bool value indicating whether a random font will be used to generate the CaptchaImage text. - - - - Gets or sets the amount of random font warping used on the RadCaptcha text. - - The amount of random font warping used on the RadCaptcha text. - - - - Gets or sets the amount of background noise to generate in the RadCaptcha image. - - The amount of background noise to generate in the RadCaptcha image. - - - - Gets or sets the line noise level to the RadCaptcha image. - - The line noise level to the RadCaptcha image. - - - - Gets or sets the characters used to render RadCaptcha text. - A character will be picked randomly from the string. - - The characters used to render RadCaptcha text. - A character will be picked randomly from the string. - - - - Gets or sets a custom Character Set, from which the characters - used to render RadCaptcha, are randomly chosen. The TextChars property must be set to CustomCharSet. - - The custom characters used to RadCaptcha text. - A character will be picked randomly from the string. - - - - Gets or sets the color of the RadCaptcha text. - - The color of the RadCaptcha text. - - - - Gets or sets the background color of the CaptchaImage. - - The background color of the CaptchaImage. - - - - Gets or sets the number of CaptchaChars used in the RadCaptcha text. - - Number of CaptchaChars used in the RadCaptcha text. - - - - Gets the randomly generated RadCaptcha text. - - - - - Gets or sets the width of the RadCaptcha image. - - The width of the RadCaptcha image. - - - - Gets or sets the height of the RadCaptcha image. - - The height of the RadCaptcha image. - - - - Gets or sets a semicolon-delimited list of valid fonts to use when no font is provided. - - - - - Gets or sets the RadCaptcha image alternative text. - - The RadCaptcha image alternative text. - - - - Gets or sets the RadCaptcha image CSS class. - - The RadCaptcha image CSS class. - - - - Gets or sets the bool value indicating whether the CaptchaAudio will be enabled. - - Gets or sets the bool value indicating whether the CaptchaAudio will be enabled. - - - - Gets or sets the path to the directory where the audio (.wav) files are located. - The default value is ~/App_Data/RadCaptcha. - - The path to the directory where the audio (.wav) files are located. - - Use the AudioFilesPath property to specify the directory where the audio (*.wav) files are located, and from which the - audio code is generated. The audio files must be named "[Char]".wav (i.e. A.wav, B.wav, C.wav, 1.wav, 2.wav) and should contain the audio that - corresponds to the specific character. Place the RadCaptcha folder (provided with the installation) in the App_Data directory of your WebSite. - - - - - Gets or sets a bool value indicating whether the audio code will be generated by concatenation of the audio files from a given folder. - - The bool value indicating whether the audio code will be generated by concatenation of the audio files from a given folder. - - - - Gets the previous text of the CaptchaImage. - - - - - Gets or sets a bool value that indicates whether or not the Captcha will persist the code during Ajax requests that do not affect - the RadCaptcha control. The default is false, which means a new code will be generated on every trip to the server (no matter if full or partial postback). - Note: This property is useful when there is another Ajax panel on the page that does not update the Captcha. Setting it to true will cause the RadCaptcha control to persist its code during the Ajax requests. - - - - - Captcha image stream HttpModule. Retrieves RadCaptcha objects from cache (or session), - renders them to memory, and streams them to the browser. - - - - To use this handler, add it in your web.config, like so: - - - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that implements the interface. - - An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests. - - - - Gets a value indicating whether another request can use the instance. - - - true if the instance is reusable; otherwise, false. - - - - Internal helper class that retrieves the CaptchaImage form the Cache or Session. - Used in CaptchaImageHandler and CaptchaAudioHandler classes. - - - - - Storage medium of the RadCaptcha Image - - - - - The CaptchaImage is stored in Cache. - - - - - The CaptchaImage is stored in Session. - - - - - Defines that a custom CachingProvider will be used. - Type of the provider should be defined in the web.config as an AppSetting with key Telerik.Web.CaptchaImageStorageProviderTypeName - - - - - This spam protector represents a RadCaptcha image with obfuscated text. - - - - - Initializes a new instance of the class. - - - - - Add the child controls for this spam protector to the main contrainer with controls - - The main container with controls - - - - Makes sure the correct controls are shown on the RadCaptcha. - - To show or not the controls. - - - - Returns the handler URL that points to the Captcha Audio code - - - - - - Load the post back data for the spam protector - - The main container with controls - - - - Validate the post back data - - - - - Gets the cached RadCaptcha. - - The GUID indicating the generated RadCaptcha. - - - - - Removes the cached RadCaptcha. - - The GUID indicating the generated RadCaptcha. - - - - Validate the user's text against the RadCaptcha text - - - - - Generate a new RadCaptcha and store it in the ASP.NET Cache by unique GUID - - - - - Indicator whether the user is validated ot not - - - - - - Gets or sets the previous GUID of the RadCaptcha image. - - The previous GUID of the RadCaptcha image. - - - - Gets or sets the maximum number of minutes RadCaptcha will be cached and valid. - If you're too slow, you may be a RadCaptcha hack attempt. Set to zero to disable. - - The maximum number of minutes RadCaptcha will be cached and valid. - If you're too slow, you may be a RadCaptcha hack attempt. Set to zero to disable. - - - - Gets or sets the CSS class applied to the RadCaptcha input textbox. - - The CSS class applied to the RadCaptcha input textbox. - - - - Gets or sets the RadCaptcha image. - - The RadCaptcha image. - - - - Gets or sets the tabindex of the RadCaptcha input text box. - - The tabindex of the RadCaptcha input text box. - - - - Gets or sets the RadCaptcha input text box access key. - - The RadCaptcha input text box access key. - - - - Gets or sets the RadCaptcha input text box title. - - The RadCaptcha input text box title. - - - - Gets or sets the label which explains that the user needs to input the RadCaptcha text box. - - The label which explains that the user needs to input this text box. - - - - Gets or sets the CSS class to the label which explains that the user needs to input the RadCaptcha text box. - - The CSS class to the label which explains that the user needs to input the RadCaptcha text box. - - - - Gets or sets a bool value indicating whether the RadCaptcha should ignore - the case of the letters or not. - - Bool value indicating whether the RadCaptcha should ignore the case or not. - - - - Gets or sets the storage medium for the CaptchaImage. - - Gets or sets a value indication where the CaptchaImage is stored. - - - - Gets or sets a bool value indicating whether or not the RadCaptchaImage can be refreshed. - - Gets or sets a bool value indicating whether or not the RadCaptchaImage can be refreshed. - - - - Gets or sets the access key for generating new captcha image - - - - - Gets or sets the access key for the Get Audio Code link - - - - - Gets or sets the text of the LinkButton that generates new CaptchaImage. - - Gets or sets the text of the LinkButton that generates new CaptchaImage - - - - Gets or sets the code entered by the user when custom textbox is used (internal). - - Gets or sets the code entered by the user when custom textbox is used. - - - - Gets reference to the caching provider used by the control. - - - - - Gets a value indicating whether this instance is in design mode. - - - true if this instance is in design mode; otherwise, false. - - - - - Class that implements the audio code feature of the RadCaptcha control - - - - - Creates an instance of the CaptchaAudio class - - The memory stream to which the wave will be outputted. - The text (code) to be spoken by the RadCaptcha. - - - - Speaks the currently saved text in the TextToSpeak property. - - - - - Creates the Memory stream to which the wave will be outputted. - - The path to the current application. - Memory stream that contains the audio code. - - - - Gets the Memory stream to which the wave will be outputted. - - - - - Gets the Text (code) to be spoken by the RadCaptcha. - - - - - Gets or sets a bool value indicating whether the Text (code)should be spoken or concatenated from the provided wav files. - - - - - Class that combines the audio files (wav) of RadCaptcha to create the audio output. - - - - - Get information about every audio file. - - The physical path to the file. - - - - Ouputs an empty wave file by writing its header. - - The memory stream of the empty file. - - - - Concatenates Audio Files (wav) into a single file. - - The string array containing the physical path to each file. - The MemoryStream of the concatenated audio files. - - - - Event arguments when a chart element is clicked. - - - - - Reverse link to a parent - - - - - Initializes a new instance of the class. - - The element. - - - - Reverse link to a parent - - - - Represents the active region of the chart element/item. - - - - Base class implements IStateManager - - - - - Common interface for a State managed collection items - - - - - The common interface for all chart elements support View State tracking - - - - - Loads data from a View State - - View Sate to load data from - - - - Saves object data to a View State - - Saved View State - - - - Tracks view state changes - - - - - Sets item dirty state - - - - - Loads data from a view state - - View state to load data from - - - - Saves object data to a view state - - Saved view state object - - - - Tracks view state changes - - - - - Makes a view state clone - - StateBag - - - - Saves object data to a view state - - Saved view state object - - - - Tracks view state changes - - - - - Loads data from a view state - - View state to load data from - - - - Sets the item dirty state - - - - - - - ToString() override. Used in the properties grid to avoid object type showing. - - Empty string - - - - Gets if view sate should ignore case - - - - - Sate bag to store view state content - - - - - Is view state tracking changes - - - - - Parent chart element - - - - - List contains all regions for element - - - - Creates a new instance of the class. - - - Creates a new instance of the class. - - - - Checks whether point lies inside region - - The point. - if set to true [onclick]. - - - - - Checks whether point lies inside region - - The point. - - - - - Opens a web browser to the specified URL - - - - - Returns true if ActiveRegion contains no data - - - - - - Determine on which elements(if its visually intersect) of chart click occur - - Click coordinates - Container object - Active region object collection - - - - Has click event or not - - - - - - Called after a Click event - - - - - Called when [click]. - - The sender. - - - Reference to the parent. - - - - Define a graphic path - - - - - URL - - - - - Tooltip - - - - - Attributes - - - - - Fires when the chart element to which the active region belongs is - clicked. - - - - - - Base Interface for classes which support click feature - - - - Active region object - - - - - Chart graphics class. Wrapper over the System.Drawing.Graphics. - - - - - Base System.Drawing.Graphics object - - - - - Fixed displacement for X coordinate - - - - - Fixed displacement for Y coordinate - - - - - Default translate transform order - - - - - Apply TranslateTransform with fixed displacements - - - - - Apply TranslateTransform with fixed negative displacements - - - - - Create instance of class - - System.Drawing.Graphics object - - - - Apply TranslateTransform with fixed displacements and sets its - - Fixed displacement for X coordinate - Fixed displacement for Y coordinate - - - - Apply TranslateTransform with fixed displacements and sets its - - Fixed displacement for X coordinate - Fixed displacement for Y coordinate - Matrix order - - - - Changing fixed displacements - - Fixed displacement for X coordinate - Fixed displacement for Y coordinate - - - - Adds a comment to the current System.Drawing.Imaging.Metafile. - - Array of bytes that contains the comment. - - - - Saves a graphics container with the current state of this System.Drawing.Graphics - and opens and uses a new graphics container. - - - This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents - the state of this System.Drawing.Graphics at the time of the method call. - - - - - Saves a graphics container with the current state of this System.Drawing.Graphics - and opens and uses a new graphics container with the specified scale transformation. - - System.Drawing.Rectangle structure that, together with the srcrect parameter, - specifies a scale transformation for the container. - System.Drawing.Rectangle structure that, together with the dstrect parameter, - specifies a scale transformation for the container. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure for the container. - This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents - the state of this System.Drawing.Graphics at the time of the method call. - - - - Saves a graphics container with the current state of this System.Drawing.Graphics - and opens and uses a new graphics container with the specified scale transformation. - - System.Drawing.RectangleF structure that, together with the srcrect parameter, - specifies a scale transformation for the new graphics container. - System.Drawing.RectangleF structure that, together with the dstrect parameter, - specifies a scale transformation for the new graphics container. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure for the container. - This method returns a System.Drawing.Drawing2D.GraphicsContainer that represents - the state of this System.Drawing.Graphics at the time of the method call. - - - - Clears the entire drawing surface and fills it with the specified background - color. - - System.Drawing.Color structure that represents the background color of the - drawing surface. - - - - Performs a bit-block transfer of color data, corresponding to a rectangle - of pixels, from the screen to the drawing surface of the System.Drawing.Graphics. - - The point at the upper-left corner of the source rectangle. - The point at the upper-left corner of the destination rectangle. - The size of the area to be transferred. - - - - Performs a bit-block transfer of color data, corresponding to a rectangle - of pixels, from the screen to the drawing surface of the System.Drawing.Graphics. - - The point at the upper-left corner of the source rectangle. - The point at the upper-left corner of the destination rectangle. - The size of the area to be transferred. - One of the System.Drawing.CopyPixelOperation values. - CopyPixelOperation is not a member of System.Drawing.CopyPixelOperation. - The operation failed. - - - - - Performs a bit-block transfer of the color data, corresponding to a rectangle - of pixels, from the screen to the drawing surface of the System.Drawing.Graphics. - - The x-coordinate of the point at the upper-left corner of the source rectangle. - The y-coordinate of the point at the upper-left corner of the source rectangle. - The x-coordinate of the point at the upper-left corner of the destination - rectangle. - The y-coordinate of the point at the upper-left corner of the destination - rectangle. - The size of the area to be transferred. - - - - Performs a bit-block transfer of the color data, corresponding to a rectangle - of pixels, from the screen to the drawing surface of the System.Drawing.Graphics. - - The x-coordinate of the point at the upper-left corner of the source rectangle. - The y-coordinate of the point at the upper-left corner of the source rectangle - The x-coordinate of the point at the upper-left corner of the destination - rectangle. - The y-coordinate of the point at the upper-left corner of the destination - rectangle. - The size of the area to be transferred. - One of the System.Drawing.CopyPixelOperation values. - copyPixelOperation is not a member of System.Drawing.CopyPixelOperation. - The operation failed - - - - Releases all resources used by this System.Drawing.Graphics. - - - - - Draws an arc representing a portion of an ellipse specified by a System.Drawing.Rectangle - structure. - - System.Drawing.Pen that determines the color, width, and style of the arc. - System.Drawing.RectangleF structure that defines the boundaries of the ellipse. - Angle in degrees measured clockwise from the x-axis to the starting point - of the arc. - Angle in degrees measured clockwise from the startAngle parameter to ending - point of the arc. - - - - Draws an arc representing a portion of an ellipse specified by a System.Drawing.RectangleF - structure. - - System.Drawing.Pen that determines the color, width, and style of the arc. - System.Drawing.RectangleF structure that defines the boundaries of the ellipse. - Angle in degrees measured clockwise from the x-axis to the starting point - of the arc. - Angle in degrees measured clockwise from the startAngle parameter to ending - point of the arc. - - - - Draws an arc representing a portion of an ellipse specified by a pair of - coordinates, a width, and a height. - - System.Drawing.Pen that determines the color, width, and style of the arc. - The x-coordinate of the upper-left corner of the rectangle that defines the - ellipse. - The y-coordinate of the upper-left corner of the rectangle that defines the - ellipse. - Width of the rectangle that defines the ellipse. - Height of the rectangle that defines the ellipse. - Angle in degrees measured clockwise from the x-axis to the starting point - of the arc. - Angle in degrees measured clockwise from the startAngle parameter to ending - point of the arc. - - - - Draws an arc representing a portion of an ellipse specified by a pair of - coordinates, a width, and a height. - - System.Drawing.Pen that determines the color, width, and style of the arc. - The x-coordinate of the upper-left corner of the rectangle that defines the - ellipse. - The y-coordinate of the upper-left corner of the rectangle that defines the - ellipse. - Width of the rectangle that defines the ellipse. - Height of the rectangle that defines the ellipse. - Angle in degrees measured clockwise from the x-axis to the starting point - of the arc. - Angle in degrees measured clockwise from the startAngle parameter to ending - point of the arc. - - - - Draws a B?zier spline defined by four System.Drawing.Point structures. - - System.Drawing.Pen structure that determines the color, width, and style - of the curve. - System.Drawing.Point structure that represents the starting point of the - curve. - System.Drawing.Point structure that represents the first control point for - the curve. - System.Drawing.Point structure that represents the second control point for - the curve. - System.Drawing.Point structure that represents the ending point of the curve. - - - - Draws a Bezier spline defined by four System.Drawing.PointF structures. - - System.Drawing.Pen that determines the color, width, and style of the curve. - System.Drawing.PointF structure that represents the starting point of the - curve. - System.Drawing.PointF structure that represents the first control point for - the curve. - System.Drawing.PointF structure that represents the second control point - for the curve. - System.Drawing.PointF structure that represents the ending point of the curve. - - - - Draws a B?zier spline defined by four ordered pairs of coordinates that represent - points. - - System.Drawing.Pen that determines the color, width, and style of the curve. - The x-coordinate of the starting point of the curve. - The y-coordinate of the starting point of the curve. - The x-coordinate of the first control point of the curve. - The y-coordinate of the first control point of the curve. - The x-coordinate of the second control point of the curve. - The y-coordinate of the second control point of the curve. - The x-coordinate of the ending point of the curve. - The y-coordinate of the ending point of the curve. - - - - Draws a series of B?zier splines from an array of System.Drawing.Point structures. - - System.Drawing.Pen that determines the color, width, and style of the curve. - Array of System.Drawing.Point structures that represent the points that determine - the curve. - - - - Draws a series of B?zier splines from an array of System.Drawing.PointF structures. - - System.Drawing.Pen that determines the color, width, and style of the curve. - Array of System.Drawing.PointF structures that represent the points that - determine the curve. - - - - Draws a closed cardinal spline defined by an array of System.Drawing.Point - structures. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.Point structures that define the spline. - - - - Draws a closed cardinal spline defined by an array of System.Drawing.PointF - structures. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.PointF structures that define the spline. - - - - Draws a closed cardinal spline defined by an array of System.Drawing.Point - structures using a specified tension. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.Point structures that define the spline. - Value greater than or equal to 0.0F that specifies the tension of the curve. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. This parameter is required but ignored. - - - - Draws a closed cardinal spline defined by an array of System.Drawing.PointF - structures using a specified tension. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.PointF structures that define the spline. - Value greater than or equal to 0.0F that specifies the tension of the curve. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. This parameter is required but is ignored. - - - - Draws a cardinal spline through a specified array of System.Drawing.Point - structures. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.Point structures that define the spline. - - - - Draws a cardinal spline through a specified array of System.Drawing.PointF - structures. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.PointF structures that define the spline. - - - - Draws a cardinal spline through a specified array of System.Drawing.Point - structures using a specified tension. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.Point structures that define the spline. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Draws a cardinal spline through a specified array of System.Drawing.PointF - structures using a specified tension. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.PointF structures that represent the points that - define the curve. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Draws a cardinal spline through a specified array of System.Drawing.PointF - structures. The drawing begins offset from the beginning of the array. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.PointF structures that define the spline. - Offset from the first element in the array of the points parameter to the - starting point in the curve. - Number of segments after the starting point to include in the curve. - - - - Draws a cardinal spline through a specified array of System.Drawing.Point - structures using a specified tension. - - System.Drawing.Pen that determines the color, width, and height of the curve. - Array of System.Drawing.Point structures that define the spline. - Offset from the first element in the array of the points parameter to the - starting point in the curve. - Number of segments after the starting point to include in the curve. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Draws a cardinal spline through a specified array of System.Drawing.PointF - structures using a specified tension. The drawing begins offset from the - beginning of the array. - - System.Drawing.Pen that determines the color, width, and height of the curve - Array of System.Drawing.PointF structures that define the spline. - Offset from the first element in the array of the points parameter to the - starting point in the curve. - Number of segments after the starting point to include in the curve. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Draws an ellipse specified by a bounding System.Drawing.Rectangle structure. - - System.Drawing.Pen that determines the color, width, and style of the ellipse. - System.Drawing.Rectangle structure that defines the boundaries of the ellipse. - - - - Draws an ellipse defined by a bounding System.Drawing.RectangleF. - - System.Drawing.Pen that determines the color, width, and style of the ellipse. - System.Drawing.RectangleF structure that defines the boundaries of the ellipse. - - - - Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, - a height, and a width. - - System.Drawing.Pen that determines the color, width, and style of the ellipse. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - Width of the bounding rectangle that defines the ellipse. - Height of the bounding rectangle that defines the ellipse. - - - - Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, - a height, and a width. - - System.Drawing.Pen that determines the color, width, and style of the ellipse. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - Width of the bounding rectangle that defines the ellipse. - Height of the bounding rectangle that defines the ellipse. - - - - Draws the image represented by the specified System.Drawing.Icon within the - area specified by a System.Drawing.Rectangle structure. - - System.Drawing.Icon to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the resulting image on the display surface. The image contained in the icon - parameter is scaled to the dimensions of this rectangular area. - - - - Draws the image represented by the specified System.Drawing.Icon at the specified - coordinates. - - System.Drawing.Icon to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - - - - Draws the image represented by the specified System.Drawing.Icon without - scaling the image. - - System.Drawing.Icon to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the resulting image. The image is not scaled to fit this rectangle, but retains - its original size. If the image is larger than the rectangle, it is clipped - to fit inside it. - - - - Draws the specified System.Drawing.Image, using its original physical size, - at the specified location. - - System.Drawing.Image to draw - System.Drawing.Point structure that represents the location of the upper-left - corner of the drawn image. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified shape and size. - - System.Drawing.Image to draw. - Array of three System.Drawing.Point structures that define a parallelogram. - - - - Draws the specified System.Drawing.Image, using its original physical size, - at the specified location. - - System.Drawing.Image to draw. - System.Drawing.PointF structure that represents the upper-left corner of - the drawn image. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified shape and size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified size. - - System.Drawing.Image to draw. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn image. - - - - Draws the specified System.Drawing.Image, using its original physical size, - at the specified location. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - - - - Draws the specified image, using its original physical size, at the location - specified by a coordinate pair. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.Point structures that define a parallelogram. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.RectangleF structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn image. The image is scaled to fit the rectangle. - System.Drawing.RectangleF structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified size. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - Width of the drawn image. - Height of the drawn image - - - - Draws a portion of an image at a specified location. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - System.Drawing.RectangleF structure that specifies the portion of the System.Drawing.Image - to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified System.Drawing.Image at the specified location and with - the specified size. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - Width of the drawn image. - Height of the drawn image. - - - - Draws a portion of an image at a specified location. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location. - - System.Drawing.Image to draw. - Array of three System.Drawing.Point structures that define a parallelogram. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.RectangleF structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort) - method according to application-determined criteria. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.RectangleF structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort) - method according to application-determined criteria. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.Rectangle structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32) - method according to application-determined criteria. - Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort - delegate to use when checking whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point[],System.Drawing.Rectangle,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32) - method. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - Array of three System.Drawing.PointF structures that define a parallelogram. - System.Drawing.RectangleF structure that specifies the portion of the image - object to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used by the srcRect parameter. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32) - method according to application-determined criteria. - Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort - delegate to use when checking whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF[],System.Drawing.RectangleF,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.Int32) - method. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort) - method according to application-determined criteria. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for image. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort) - method according to application-determined criteria. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Single,System.Single,System.Single,System.Single,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.IntPtr) - method according to application-determined criteria. - Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort - delegate to use when checking whether to stop execution of the DrawImage - method. - - - - Draws the specified portion of the specified System.Drawing.Image at the - specified location and with the specified size. - - System.Drawing.Image to draw. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn image. The image is scaled to fit the rectangle. - The x-coordinate of the upper-left corner of the portion of the source image - to draw. - The y-coordinate of the upper-left corner of the portion of the source image - to draw. - Width of the portion of the source image to draw. - Height of the portion of the source image to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - units of measure used to determine the source rectangle. - System.Drawing.Imaging.ImageAttributes that specifies recoloring and gamma - information for the image object. - System.Drawing.Graphics.DrawImageAbort delegate that specifies a method to - call during the drawing of the image. This method is called frequently to - check whether to stop execution of the System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle,System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.GraphicsUnit,System.Drawing.Imaging.ImageAttributes,System.Drawing.Graphics.DrawImageAbort,System.IntPtr) - method according to application-determined criteria. - Value specifying additional data for the System.Drawing.Graphics.DrawImageAbort - delegate to use when checking whether to stop execution of the DrawImage - method. - - - - Draws a specified image using its original physical size at a specified location. - - System.Drawing.Image to draw. - System.Drawing.Point structure that specifies the upper-left corner of the - drawn image. - - - - Draws a specified image using its original physical size at a specified location. - - System.Drawing.Image to draw. - System.Drawing.Rectangle that specifies the upper-left corner of the drawn - image. The X and Y properties of the rectangle specify the upper-left corner. - The Width and Height properties are ignored. - - - - Draws the specified image using its original physical size at the location - specified by a coordinate pair. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - - - - Draws a specified image using its original physical size at a specified location. - - System.Drawing.Image to draw. - The x-coordinate of the upper-left corner of the drawn image. - The y-coordinate of the upper-left corner of the drawn image. - Not used. - Not used. - - - - Draws the specified image without scaling and clips it, if necessary, to - fit in the specified rectangle. - - The System.Drawing.Image to draw. - The System.Drawing.Rectangle in which to draw the image. - - - - Draws a line connecting two System.Drawing.Point structures. - - System.Drawing.Pen that determines the color, width, and style of the line. - System.Drawing.Point structure that represents the first point to connect. - System.Drawing.Point structure that represents the second point to connect. - - - - Draws a line connecting two System.Drawing.PointF structures. - - System.Drawing.Pen that determines the color, width, and style of the line. - System.Drawing.PointF structure that represents the first point to connect. - System.Drawing.PointF structure that represents the second point to connect. - - - - Draws a line connecting the two points specified by the coordinate pairs. - - System.Drawing.Pen that determines the color, width, and style of the line. - The x-coordinate of the first point. - The y-coordinate of the first point. - The x-coordinate of the second point. - The y-coordinate of the second point. - - - - Draws a line connecting the two points specified by the coordinate pairs. - - System.Drawing.Pen that determines the color, width, and style of the line. - The x-coordinate of the first point. - The y-coordinate of the first point. - The x-coordinate of the second point. - The y-coordinate of the second point. - - - - Draws a series of line segments that connect an array of System.Drawing.Point - structures. - - System.Drawing.Pen that determines the color, width, and style of the line - segments. - Array of System.Drawing.Point structures that represent the points to connect. - - - - Draws a series of line segments that connect an array of System.Drawing.PointF - structures. - - System.Drawing.Pen that determines the color, width, and style of the line - segments. - Array of System.Drawing.PointF structures that represent the points to connect. - - - - Draws a System.Drawing.Drawing2D.GraphicsPath. - - System.Drawing.Pen that determines the color, width, and style of the path. - System.Drawing.Drawing2D.GraphicsPath to draw. - - - - Draws a pie shape defined by an ellipse specified by a System.Drawing.Rectangle - structure and two radial lines. - - System.Drawing.Pen that determines the color, width, and style of the pie - shape. - System.Drawing.Rectangle structure that represents the bounding rectangle - that defines the ellipse from which the pie shape comes. - Angle measured in degrees clockwise from the x-axis to the first side of - the pie shape. - Angle measured in degrees clockwise from the startAngle parameter to the - second side of the pie shape. - - - - Draws a pie shape defined by an ellipse specified by a System.Drawing.RectangleF - structure and two radial lines. - - System.Drawing.Pen that determines the color, width, and style of the pie - shape. - System.Drawing.RectangleF structure that represents the bounding rectangle - that defines the ellipse from which the pie shape comes. - Angle measured in degrees clockwise from the x-axis to the first side of - the pie shape. - Angle measured in degrees clockwise from the startAngle parameter to the - second side of the pie shape. - - - - Draws a pie shape defined by an ellipse specified by a coordinate pair, a - width, a height, and two radial lines. - - System.Drawing.Pen that determines the color, width, and style of the pie - shape. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie shape comes. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie shape comes. - Width of the bounding rectangle that defines the ellipse from which the pie - shape comes. - Height of the bounding rectangle that defines the ellipse from which the - pie shape comes. - Angle measured in degrees clockwise from the x-axis to the first side of - the pie shape. - Angle measured in degrees clockwise from the startAngle parameter to the - second side of the pie shape. - - - - Draws a pie shape defined by an ellipse specified by a coordinate pair, a - width, a height, and two radial lines. - - System.Drawing.Pen that determines the color, width, and style of the pie - shape. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie shape comes. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie shape comes. - Width of the bounding rectangle that defines the ellipse from which the pie - shape comes. - Height of the bounding rectangle that defines the ellipse from which the - pie shape comes. - Angle measured in degrees clockwise from the x-axis to the first side of - the pie shape. - Angle measured in degrees clockwise from the startAngle parameter to the - second side of the pie shape. - - - - Draws a polygon defined by an array of System.Drawing.Point structures. - - System.Drawing.Pen that determines the color, width, and style of the polygon. - Array of System.Drawing.Point structures that represent the vertices of the - polygon. - - - - Draws a polygon defined by an array of System.Drawing.PointF structures. - - System.Drawing.Pen that determines the color, width, and style of the polygon. - Array of System.Drawing.PointF structures that represent the vertices of - the polygon. - - - - Draws a rectangle specified by a System.Drawing.Rectangle structure. - - A System.Drawing.Pen that determines the color, width, and style of the rectangle. - A System.Drawing.Rectangle structure that represents the rectangle to draw. - - - - Draws a rectangle specified by a System.Drawing.RectangleF structure. - ChartGraphics custom method - - A System.Drawing.Pen that determines the color, width, and style of the rectangle. - A System.Drawing.RectangleF structure that represents the rectangle to draw. - - - - Draws a rectangle specified by a coordinate pair, a width, and a height. - - A System.Drawing.Pen that determines the color, width, and style of the rectangle. - The x-coordinate of the upper-left corner of the rectangle to draw. - The y-coordinate of the upper-left corner of the rectangle to draw. - The width of the rectangle to draw. - The height of the rectangle to draw. - - - - Draws a rectangle specified by a coordinate pair, a width, and a height. - - System.Drawing.Pen that determines the color, width, and style of the rectangle. - The x-coordinate of the upper-left corner of the rectangle to draw. - The y-coordinate of the upper-left corner of the rectangle to draw. - Width of the rectangle to draw. - Height of the rectangle to draw. - - - - Draws a series of rectangles specified by System.Drawing.Rectangle structures. - - System.Drawing.Pen that determines the color, width, and style of the outlines - of the rectangles. - Array of System.Drawing.Rectangle structures that represent the rectangles - to draw. - - - - Draws a series of rectangles specified by System.Drawing.RectangleF structures. - - System.Drawing.Pen that determines the color, width, and style of the outlines - of the rectangles. - Array of System.Drawing.RectangleF structures that represent the rectangles - to draw. - - - - Draws the specified text string at the specified location with the specified - System.Drawing.Brush and System.Drawing.Font objects. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - System.Drawing.PointF structure that specifies the upper-left corner of the - drawn text. - - - - Draws the specified text string in the specified rectangle with the specified - System.Drawing.Brush and System.Drawing.Font objects. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - System.Drawing.RectangleF structure that specifies the location of the drawn - text. - - - - Draws the specified text string at the specified location with the specified - System.Drawing.Brush and System.Drawing.Font objects. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - The x-coordinate of the upper-left corner of the drawn text. - The y-coordinate of the upper-left corner of the drawn text. - - - - Draws the specified text string at the specified location with the specified - System.Drawing.Brush and System.Drawing.Font objects using the formatting - attributes of the specified System.Drawing.StringFormat. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - System.Drawing.PointF structure that specifies the upper-left corner of the - drawn text. - System.Drawing.StringFormat that specifies formatting attributes, such as - line spacing and alignment, that are applied to the drawn text. - - - - Draws the specified text string in the specified rectangle with the specified - System.Drawing.Brush and System.Drawing.Font objects using the formatting - attributes of the specified System.Drawing.StringFormat. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - System.Drawing.RectangleF structure that specifies the location of the drawn - text. - System.Drawing.StringFormat that specifies formatting attributes, such as - line spacing and alignment, that are applied to the drawn text. - - - - Draws the specified text string at the specified location with the specified - System.Drawing.Brush and System.Drawing.Font objects using the formatting - attributes of the specified System.Drawing.StringFormat. - - String to draw. - System.Drawing.Font that defines the text format of the string. - System.Drawing.Brush that determines the color and texture of the drawn text. - The x-coordinate of the upper-left corner of the drawn text. - The y-coordinate of the upper-left corner of the drawn text. - System.Drawing.StringFormat that specifies formatting attributes, such as - line spacing and alignment, that are applied to the drawn text. - - - - Closes the current graphics container and restores the state of this System.Drawing.Graphics - to the state saved by a call to the System.Drawing.Graphics.BeginContainer() - method. - - System.Drawing.Drawing2D.GraphicsContainer that represents the container - this method restores. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point using specified - image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram using - specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display at a specified point using specified - image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified parallelogram using - specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.RectangleF structures that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle using specified - image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records of the specified System.Drawing.Imaging.Metafile, one at - a time, to a callback method for display in a specified rectangle using specified - image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - that specifies image attribute information - for the drawn image. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point using - specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Point structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram - using specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.Point structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display at a specified point using - specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.PointF structure that specifies the location of the upper-left - corner of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records in a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified parallelogram - using specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - Array of three System.Drawing.PointF structures that define a parallelogram - that determines the size and location of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle - using specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.Rectangle structure that specifies the location and size of - the drawn metafile. - System.Drawing.Rectangle structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Sends the records of a selected rectangle from a System.Drawing.Imaging.Metafile, - one at a time, to a callback method for display in a specified rectangle - using specified image attributes. - - System.Drawing.Imaging.Metafile to enumerate. - System.Drawing.RectangleF structure that specifies the location and size - of the drawn metafile. - System.Drawing.RectangleF structure that specifies the portion of the metafile, - relative to its upper-left corner, to draw. - Member of the System.Drawing.GraphicsUnit enumeration that specifies the - unit of measure used to determine the portion of the metafile that the rectangle - specified by the srcRect parameter contains. - System.Drawing.Graphics.EnumerateMetafileProc delegate that specifies the - method to which the metafile records are sent. - Internal pointer that is required, but ignored. You can pass System.IntPtr.Zero - for this parameter. - System.Drawing.Imaging.ImageAttributes that specifies image attribute information - for the drawn image. - - - - Updates the clip region of this System.Drawing.Graphics to exclude the area - specified by a System.Drawing.Rectangle structure. - - System.Drawing.Rectangle structure that specifies the rectangle to exclude - from the clip region. - - - - Updates the clip region of this System.Drawing.Graphics to exclude the area - specified by a System.Drawing.Region. - - System.Drawing.Region that specifies the region to exclude from the clip region. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.Point structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Point structures that define the spline. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.PointF structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.PointF structures that define the spline. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.Point structures using the specified fill mode. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Point structures that define the spline. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.PointF structures using the specified fill mode. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.PointF structures that define the spline. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.Point structures using the specified fill mode and tension - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Point structures that define the spline. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Fills the interior of a closed cardinal spline curve defined by an array - of System.Drawing.PointF structures using the specified fill mode and tension. - - A System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.PointF structures that define the spline. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - how the curve is filled. - Value greater than or equal to 0.0F that specifies the tension of the curve. - - - - Fills the interior of an ellipse defined by a bounding rectangle specified - by a System.Drawing.Rectangle structure. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.Rectangle structure that represents the bounding rectangle - that defines the ellipse. - - - - Fills the interior of an ellipse defined by a bounding rectangle specified - by a System.Drawing.RectangleF structure. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.RectangleF structure that represents the bounding rectangle - that defines the ellipse. - - - - Fills the interior of an ellipse defined by a bounding rectangle specified - by a pair of coordinates, a width, and a height. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - Width of the bounding rectangle that defines the ellipse. - Height of the bounding rectangle that defines the ellipse. - - - - Fills the interior of an ellipse defined by a bounding rectangle specified - by a pair of coordinates, a width, and a height. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse. - Width of the bounding rectangle that defines the ellipse. - Height of the bounding rectangle that defines the ellipse. - - - - Fills the interior of a System.Drawing.Drawing2D.GraphicsPath. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.Drawing2D.GraphicsPath that represents the path to fill. - - - - Fills the interior of a pie section defined by an ellipse specified by a - System.Drawing.RectangleF structure and two radial lines. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.Rectangle structure that represents the bounding rectangle - that defines the ellipse from which the pie section comes. - Angle in degrees measured clockwise from the x-axis to the first side of - the pie section. - Angle in degrees measured clockwise from the startAngle parameter to the - second side of the pie section. - - - - Fills the interior of a pie section defined by an ellipse specified by a - pair of coordinates, a width, a height, and two radial lines. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie section comes. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie section comes. - Width of the bounding rectangle that defines the ellipse from which the pie - section comes. - Height of the bounding rectangle that defines the ellipse from which the - pie section comes. - Angle in degrees measured clockwise from the x-axis to the first side of - the pie section. - Angle in degrees measured clockwise from the startAngle parameter to the - second side of the pie section. - - - - Fills the interior of a pie section defined by an ellipse specified by a - pair of coordinates, a width, a height, and two radial lines. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie section comes. - The y-coordinate of the upper-left corner of the bounding rectangle that - defines the ellipse from which the pie section comes. - Width of the bounding rectangle that defines the ellipse from which the pie - section comes. - Height of the bounding rectangle that defines the ellipse from which the - pie section comes. - Angle in degrees measured clockwise from the x-axis to the first side of - the pie section. - Angle in degrees measured clockwise from the startAngle parameter to the - second side of the pie section. - - - - Fills the interior of a polygon defined by an array of points specified by - System.Drawing.Point structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Point structures that represent the vertices of the - polygon to fill. - - - - Fills the interior of a polygon defined by an array of points specified by - System.Drawing.PointF structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.PointF structures that represent the vertices of - the polygon to fill. - - - - Fills the interior of a polygon defined by an array of points specified by - System.Drawing.Point structures using the specified fill mode. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Point structures that represent the vertices of the - polygon to fill. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - the style of the fill. - - - - Fills the interior of a polygon defined by an array of points specified by - System.Drawing.PointF structures using the specified fill mode. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.PointF structures that represent the vertices of - the polygon to fill. - Member of the System.Drawing.Drawing2D.FillMode enumeration that determines - the style of the fill. - - - - Fills the interior of a rectangle specified by a System.Drawing.Rectangle - structure. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.Rectangle structure that represents the rectangle to fill. - - - - Fills the interior of a rectangle specified by a System.Drawing.RectangleF - structure. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.RectangleF structure that represents the rectangle to fill. - - - - Fills the interior of a rectangle specified by a pair of coordinates, a width, - and a height. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the rectangle to fill. - The y-coordinate of the upper-left corner of the rectangle to fill. - Width of the rectangle to fill. - Height of the rectangle to fill. - - - - Fills the interior of a rectangle specified by a pair of coordinates, a width, - and a height. - - System.Drawing.Brush that determines the characteristics of the fill. - The x-coordinate of the upper-left corner of the rectangle to fill. - The y-coordinate of the upper-left corner of the rectangle to fill. - Width of the rectangle to fill. - Height of the rectangle to fill. - - - - Fills the interiors of a series of rectangles specified by System.Drawing.Rectangle - structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.Rectangle structures that represent the rectangles - to fill. - - - - Fills the interiors of a series of rectangles specified by System.Drawing.RectangleF - structures. - - System.Drawing.Brush that determines the characteristics of the fill. - Array of System.Drawing.RectangleF structures that represent the rectangles - to fill. - - - - Fills the interior of a System.Drawing.Region. - - System.Drawing.Brush that determines the characteristics of the fill. - System.Drawing.Region that represents the area to fill. - - - - Forces execution of all pending graphics operations and returns immediately without waiting for the operations to finish. - - - - - Forces execution of all pending graphics operations with the method waiting - or not waiting, as specified, to return before the operations finish. - - Member of the System.Drawing.Drawing2D.FlushIntention enumeration that specifies - whether the method returns immediately or waits for any existing operations - to finish. - - - - XML comment contains invalid XML: End tag 'doc' does not match the start tag 'member'. - - Object - - - - Gets the handle to the device context associated with this System.Drawing.Graphics. - - Handle to the device context associated with this System.Drawing.Graphics. - - - - Gets the nearest color to the specified System.Drawing.Color structure. - - System.Drawing.Color structure for which to find a match. - A System.Drawing.Color structure that represents the nearest color to the one specified with the color parameter. - - - - Updates the clip region of this System.Drawing.Graphics to the intersection - of the current clip region and the specified System.Drawing.Rectangle structure. - - System.Drawing.Rectangle structure to intersect with the current clip region. - - - - Updates the clip region of this System.Drawing.Graphics to the intersection - of the current clip region and the specified System.Drawing.Rectangle structure. - - System.Drawing.Rectangle structure to intersect with the current clip region. - - - - Updates the clip region of this System.Drawing.Graphics to the intersection - of the current clip region and the specified System.Drawing.Region. - - System.Drawing.Region to intersect with the current region. - - - - Indicates whether the specified System.Drawing.Point structure is contained - within the visible clip region of this System.Drawing.Graphics. - - System.Drawing.Point structure to test for visibility. - true if the point specified by the point parameter is contained within the - visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the specified System.Drawing.PointF structure is contained - within the visible clip region of this System.Drawing.Graphics. - - System.Drawing.PointF structure to test for visibility. - true if the point specified by the point parameter is contained within the - visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the rectangle specified by a System.Drawing.Rectangle structure - is contained within the visible clip region of this System.Drawing.Graphics. - - System.Drawing.Rectangle structure to test for visibility. - true if the rectangle specified by the rect parameter is contained within - the visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the rectangle specified by a System.Drawing.RectangleF - structure is contained within the visible clip region of this System.Drawing.Graphics. - - System.Drawing.RectangleF structure to test for visibility. - true if the rectangle specified by the rect parameter is contained within - the visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the point specified by a pair of coordinates is contained - within the visible clip region of this System.Drawing.Graphics. - - The x-coordinate of the point to test for visibility. - The y-coordinate of the point to test for visibility. - true if the point defined by the x and y parameters is contained within the - visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the point specified by a pair of coordinates is contained - within the visible clip region of this System.Drawing.Graphics. - - The x-coordinate of the point to test for visibility. - The y-coordinate of the point to test for visibility. - true if the point defined by the x and y parameters is contained within the - visible clip region of this System.Drawing.Graphics; otherwise, false. - - - - Indicates whether the rectangle specified by a pair of coordinates, a width, - and a height is contained within the visible clip region of this System.Drawing.Graphics. - - The x-coordinate of the upper-left corner of the rectangle to test for visibility. - The y-coordinate of the upper-left corner of the rectangle to test for visibility. - Width of the rectangle to test for visibility. - Height of the rectangle to test for visibility. - true if the rectangle defined by the x, y, width, and height parameters is - contained within the visible clip region of this System.Drawing.Graphics; - otherwise, false. - - - - Indicates whether the rectangle specified by a pair of coordinates, a width, - and a height is contained within the visible clip region of this System.Drawing.Graphics. - - The x-coordinate of the upper-left corner of the rectangle to test for visibility. - The y-coordinate of the upper-left corner of the rectangle to test for visibility. - Width of the rectangle to test for visibility. - Height of the rectangle to test for visibility. - true if the rectangle defined by the x, y, width, and height parameters is - contained within the visible clip region of this System.Drawing.Graphics; - otherwise, false. - - - - Gets an array of System.Drawing.Region objects, each of which bounds a range - of character positions within the specified string. - - String to measure. - System.Drawing.Font that defines the text format of the string. - System.Drawing.RectangleF structure that specifies the layout rectangle for - the string. - System.Drawing.StringFormat that represents formatting information, such - as line spacing, for the string. - This method returns an array of System.Drawing.Region objects, each of which - bounds a range of character positions within the specified string. - - - - Measures the specified string when drawn with the specified System.Drawing.Font. - - String to measure. - System.Drawing.Font that defines the text format of the string. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified by the text parameter as drawn with the font parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font. - - String to measure. - System.Drawing.Font that defines the format of the string. - Maximum width of the string in pixels. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified in the text parameter as drawn with the font parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font - within the specified layout area. - - String to measure. - System.Drawing.Font defines the text format of the string. - System.Drawing.SizeF structure that specifies the maximum layout area for - the text. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified by the text parameter as drawn with the font parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font - and formatted with the specified System.Drawing.StringFormat. - - String to measure. - System.Drawing.Font that defines the text format of the string. - Maximum width of the string. - System.Drawing.StringFormat that represents formatting information, such - as line spacing, for the string. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified in the text parameter as drawn with the font parameter - and the stringFormat parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font - and formatted with the specified System.Drawing.StringFormat. - - String to measure. - System.Drawing.Font defines the text format of the string. - System.Drawing.PointF structure that represents the upper-left corner of - the string. - System.Drawing.StringFormat that represents formatting information, such - as line spacing, for the string. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified by the text parameter as drawn with the font parameter - and the stringFormat parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font - and formatted with the specified System.Drawing.StringFormat. - - String to measure. - System.Drawing.Font defines the text format of the string. - System.Drawing.SizeF structure that specifies the maximum layout area for - the text. - System.Drawing.StringFormat that represents formatting information, such - as line spacing, for the string. - This method returns a System.Drawing.SizeF structure that represents the - size, in the units specified by the System.Drawing.Graphics.PageUnit property, - of the string specified in the text parameter as drawn with the font parameter - and the stringFormat parameter. - - - - Measures the specified string when drawn with the specified System.Drawing.Font - and formatted with the specified System.Drawing.StringFormat. - - String to measure. - System.Drawing.Font that defines the text format of the string. - System.Drawing.SizeF structure that specifies the maximum layout area for - the text. - System.Drawing.StringFormat that represents formatting information, such - as line spacing, for the string. - Number of characters in the string - Number of text lines in the string. - This method returns a System.Drawing.SizeF structure that represents the - size of the string, in the units specified by the System.Drawing.Graphics.PageUnit - property, of the text parameter as drawn with the font parameter and the - stringFormat parameter. - - - - Multiplies the world transformation of this System.Drawing.Graphics and specified - the System.Drawing.Drawing2D.Matrix. - - 4x4 System.Drawing.Drawing2D.Matrix that multiplies the world transformation. - - - - Multiplies the world transformation of this System.Drawing.Graphics and specified - the System.Drawing.Drawing2D.Matrix in the specified order. - - 4x4 System.Drawing.Drawing2D.Matrix that multiplies the world transformation. - Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that determines - the order of the multiplication. - - - - Releases a device context handle obtained by a previous call to the System.Drawing.Graphics.GetHdc() - method of this System.Drawing.Graphics. - - - - - Releases a device context handle obtained by a previous call to the System.Drawing.Graphics.GetHdc() - method of this System.Drawing.Graphics. - - Handle to a device context obtained by a previous call to the System.Drawing.Graphics.GetHdc() - method of this System.Drawing.Graphics. - - - - Releases a handle to a device context. - - Handle to a device context. - - - - Resets the clip region of this System.Drawing.Graphics to an infinite region. - - - - - Resets the world transformation matrix of this System.Drawing.Graphics to - the identity matrix. - - - - - Restores the state of this System.Drawing.Graphics to the state represented - by a System.Drawing.Drawing2D.GraphicsState. - - System.Drawing.Drawing2D.GraphicsState that represents the state to which - to restore this System.Drawing.Graphics. - - - - Applies the specified rotation to the transformation matrix of this System.Drawing.Graphics. - - Angle of rotation in degrees. - - - - Applies the specified rotation to the transformation matrix of this System.Drawing.Graphics - in the specified order. - - Angle of rotation in degrees. - Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies - whether the rotation is appended or prepended to the matrix transformation. - - - - Saves the current state of this System.Drawing.Graphics and identifies the - saved state with a System.Drawing.Drawing2D.GraphicsState. - - This method returns a System.Drawing.Drawing2D.GraphicsState that represents - the saved state of this System.Drawing.Graphics. - - - - Applies the specified scaling operation to the transformation matrix of this - System.Drawing.Graphics by prepending it to the object's transformation matrix. - - Scale factor in the x direction. - Scale factor in the y direction. - - - - Applies the specified scaling operation to the transformation matrix of this - System.Drawing.Graphics in the specified order. - - Scale factor in the x direction. - Scale factor in the y direction. - Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies - whether the scaling operation is prepended or appended to the transformation - matrix. - - - - Sets the clipping region of this System.Drawing.Graphics to the Clip property - of the specified System.Drawing.Graphics. - - System.Drawing.Graphics from which to take the new clip region. - - - - Sets the clipping region of this System.Drawing.Graphics to the specified - System.Drawing.Drawing2D.GraphicsPath. - - System.Drawing.Drawing2D.GraphicsPath that represents the new clip region. - - - - Sets the clipping region of this System.Drawing.Graphics to the rectangle - specified by a System.Drawing.Rectangle structure. - - System.Drawing.Rectangle structure that represents the new clip region. - - - - Sets the clipping region of this System.Drawing.Graphics to the rectangle - specified by a System.Drawing.RectangleF structure. - - System.Drawing.RectangleF structure that represents the new clip region. - - - - Sets the clipping region of this System.Drawing.Graphics to the result of - the specified combining operation of the current clip region and the System.Drawing.Graphics.Clip - property of the specified System.Drawing.Graphics. - - System.Drawing.Graphics that specifies the clip region to combine. - Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies - the combining operation to use. - - - - Sets the clipping region of this System.Drawing.Graphics to the result of - the specified operation combining the current clip region and the specified - System.Drawing.Drawing2D.GraphicsPath. - - System.Drawing.Drawing2D.GraphicsPath to combine. - Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies - the combining operation to use. - - - - Sets the clipping region of this System.Drawing.Graphics to the result of - the specified operation combining the current clip region and the rectangle - specified by a System.Drawing.Rectangle structure. - - System.Drawing.Rectangle structure to combine. - Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies - the combining operation to use. - - - - Sets the clipping region of this System.Drawing.Graphics to the result of - the specified operation combining the current clip region and the rectangle - specified by a System.Drawing.RectangleF structure. - - System.Drawing.RectangleF structure to combine. - Member of the System.Drawing.Drawing2D.CombineMode enumeration that specifies - the combining operation to use. - - - - Sets the clipping region of this System.Drawing.Graphics to the result of - the specified operation combining the current clip region and the specified - System.Drawing.Region. - - System.Drawing.Region to combine. - Member from the System.Drawing.Drawing2D.CombineMode enumeration that specifies - the combining operation to use. - - - - Transforms an array of points from one coordinate space to another using - the current world and page transformations of this System.Drawing.Graphics. - - Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies - the destination coordinate space. - Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies - the source coordinate space. - Array of System.Drawing.Point structures that represents the points to transformation. - - - - Transforms an array of points from one coordinate space to another using - the current world and page transformations of this System.Drawing.Graphics. - - Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies - the destination coordinate space. - Member of the System.Drawing.Drawing2D.CoordinateSpace enumeration that specifies - the source coordinate space. - Array of System.Drawing.PointF structures that represent the points to transform. - - - - Translates the clipping region of this System.Drawing.Graphics by specified - amounts in the horizontal and vertical directions. - - The x-coordinate of the translation. - The y-coordinate of the translation. - - - - Translates the clipping region of this System.Drawing.Graphics by specified - amounts in the horizontal and vertical directions. - - The x-coordinate of the translation. - The y-coordinate of the translation. - - - - Changes the origin of the coordinate system by prepending the specified translation - to the transformation matrix of this System.Drawing.Graphics. - - The x-coordinate of the translation. - The y-coordinate of the translation. - - - - Changes the origin of the coordinate system by applying the specified translation - to the transformation matrix of this System.Drawing.Graphics in the specified - order. - - The x-coordinate of the translation. - The y-coordinate of the translation. - Member of the System.Drawing.Drawing2D.MatrixOrder enumeration that specifies - whether the translation is pretended or appended to the transformation matrix. - - - - Base System.Drawing.Graphics object - - - - - Gets or sets a System.Drawing.Region that limits the drawing region of this System.Drawing.Graphics. - - - A System.Drawing.Region that limits the portion of this System.Drawing.Graphics that is currently available for drawing. - - - - - Gets a System.Drawing.RectangleF structure that bounds the clipping region of this System.Drawing.Graphics. - - - A System.Drawing.RectangleF structure that represents a bounding rectangle for the clipping region of this System.Drawing.Graphics. - - - - - Gets a value that specifies how composited images are drawn to this System.Drawing.Graphics. - - - This property specifies a member of the System.Drawing.Drawing2D.CompositingMode enumeration. - - - - - Gets or sets the rendering quality of composited images drawn to this System.Drawing.Graphics. - - This property specifies a member of the System.Drawing.Drawing2D.CompositingQuality enumeration. - - - - Gets the horizontal resolution of this System.Drawing.Graphics. - - - The value, in dots per inch, for the horizontal resolution supported by this System.Drawing.Graphics. - - - - - Gets the vertical resolution of this System.Drawing.Graphics. - - - The value, in dots per inch, for the vertical resolution supported by this - System.Drawing.Graphics. - - - - - Gets or sets the interpolation mode associated with this System.Drawing.Graphics. - - - One of the System.Drawing.Drawing2D.InterpolationMode values. - - - - - Gets a value indicating whether the clipping region of this System.Drawing.Graphics - is empty. - - - true if the clipping region of this System.Drawing.Graphics is empty; otherwise, - false. - - - - - Gets a value indicating whether the visible clipping region of this System.Drawing.Graphics - is empty. - - - true if the visible portion of the clipping region of this System.Drawing.Graphics - is empty; otherwise, false. - - - - - Gets or sets the scaling between world units and page units for this System.Drawing.Graphics. - - - This property specifies a value for the scaling between world units and page - units for this System.Drawing.Graphics. - - - - - Gets or sets the unit of measure used for page coordinates in this System.Drawing.Graphics. - - - One of the System.Drawing.GraphicsUnit values other than System.Drawing.GraphicsUnit.World. - - - System.Drawing.Graphics.PageUnit is set to System.Drawing.GraphicsUnit.World, - which is not a physical unit. - - - - - Gets or set a value specifying how pixels are offset during rendering of - this System.Drawing.Graphics. - - - This property specifies a member of the System.Drawing.Drawing2D.PixelOffsetMode - enumeration - - - - - Gets or sets the rendering origin of this System.Drawing.Graphics for dithering - and for hatch brushes. - - - A System.Drawing.Point structure that represents the dither origin for 8-bits-per-pixel - and 16-bits-per-pixel dithering and is also used to set the origin for hatch - brushes. - - - - - Gets or sets the rendering quality for this System.Drawing.Graphics. - - - One of the System.Drawing.Drawing2D.SmoothingMode values. - - - - - Gets or sets the gamma correction value for rendering text. - - - The gamma correction value used for rendering anti aliased and ClearType text. - - - - - Gets or sets the rendering mode for text associated with this System.Drawing.Graphics. - - - One of the System.Drawing.Text.TextRenderingHint values. - - - - - Gets or sets a copy of the geometric world transformation for this System.Drawing.Graphics. - - - A copy of the System.Drawing.Drawing2D.Matrix that represents the geometric - world transformation for this System.Drawing.Graphics. - - - - - Gets the bounding rectangle of the visible clipping region of this System.Drawing.Graphics. - - - A System.Drawing.RectangleF structure that represents a bounding rectangle - for the visible clipping region of this System.Drawing.Graphics. - - - - - Provides data for RadChart.Zoom event. - - - - - This is an class which provides charting functionality for Telerik - products. - - - - - Base class for all objects being calculated - - - - - Base class for all objects being rendered - - - - - Common interface for an order list element of rendering container - - - - - Gets elements order position - - - - - Sets this object in new render order position - - new position - - - - Remove element from render order list - - - - - Send element at one step forward in the render order list - - - - - Sets element at the first position in render order list - - - - - Send element at one step back in the render order list - - - - - Send element at the end of render order list - - - - - Gets or sets the container element - - - - - Container, that contains the render order for taken up elements - (For property) - - - - - Get this elements order position in container - - - - - Set this object in new render order position - - New position - - - - Remove this element from render order list - - - - - Send element at one step forward in the render order list - - - - - Set element at the first position in render order list - - - - - Send element at one step back in the render order list - - - - - Send element at the end of render order list - - - - - Called after rendering - - - - - Link to container element - - - - - Rendering event handler - - - - - Creates new class instance - - Container - - - - Creates new class instance - - Appearance - Container object - - - - Gets element offset - - Element - Offset calculation method delegate (left, right, top, bottom) - Offset value - - - - Gets left offset - - Element to get an offset of - Offset value - - - - Gets top offset - - Element to get an offset of - Offset value - - - - Gets right offset - - Element to get an offset of - Offset value - - - - Gets bottom offset - - Element to get an offset of - Offset value - - - - Calculates element position in container - - Rendering container dimensions - - - - Calculates element position. Makes an additional check for a container object type - - - - - - Tracking view state changes - - - - - Loads data from a view state - - Views state to load from - - - - Saves settings to a view state - - Saved view state - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Offset calculation method delegate - - Previous element in a container's order list - Rendering container - Previous element's position in a container order list - - - - - Common interface for a rendering container objects - - - - - Get elements order position - - Element - - - - Add element at the end of list - - Element - - - - Insert element at specific position in list - - Element - Position index - - - - Remove element from list - - Element for removing - - - - Remove element from list by it's index - - Elements index for remove - - - - Re index order list - - - - - List, that is represent the render order for taken up elements - - - - - Get a next free order position - - - - - Title for chart - - - - - Chart legend - - - - - Chart plot area - - - - - Control holder - - - - - List, that is represent the render order for taken up elements - (For IContainer.OrderList property) - - - - - Provides information whether the chart is used in design-time mode. - - - - - Data Manager for data binding - - - - - Series collection - - - - - Temporary series collection in design time - - - - - Temporary copy of original series collection in design time - - - - - Custom palettes collection - - - - - Users custom figures collection - - - - - Default figures collection - - - - - Skins Collection - - - - - Default constructor for Chart - - - - - Default method for BeforeLayout event handler - - Object - EventArgs - - - - Default method for PrePaint event handler - - Object - EventArgs - - - - Constructor from different chart controls - - IChartComponent - - - - Determine on which element of chart click occur - - Click coordinates - Container object - Active region object - - - - Set type for all series as DefaultType - - - - - Apply palette for chart - - Palette name - - - - Apply skin for chart - - Skin name - - - - Specifies should apply text wrapping or not - - AutoTextWrap from text block - Boolean - - - - Makes a chart's clone - - Chart's clone - - - - Update design-time preview - - - - - Changes the DataGroupColumn property without DataBind method call - - Column Name - - - - Provide relation between enums TextQuality(Teleriks) and TextRenderingHint(.Net) - - TextRenderingHint value - - - - Provide relation between enums ImageQuality(Teleriks) and SmoothingMode(.Net) - - SmoothingMode value - - - - Returns true if only pie series present - - Boolean - - - - MapPath functionality - - path - path - - - - Initialize design-time mode - - - - - Finalize design-time mode - - - - - Clearing skin settings - - - - - Checking property on a default value - - - - - Return a default value of a property - - - - - Return a value of a property - - - - - Load skin from - - - - - Saving skin - - - - - Loading chart from XML string wrapped in TextWriter - - - - - Exports chart to a XML string wrapped in TextWriter - - - - - Return a full path - - - - - Return a full path for a data source object - - - - - Return a full path for a data source object - - - - - Initialize chart and its properties - - - - - Chart calculations: Binding series to legend for BeforeLayout Event - - - - - Chart recalculation - - - - - Execute BeforeLayoutEventHandler - - Chart - Arguments - - - - Execute PrePaintEventHandler - - Chart - Arguments - - - Returns the chart image - - - Returns the chart image - - - Returns the chart image - - - Returns the chart static area as image for zoom feature - - - Returns the chart plot area part as image for zoom feature - - - - Get image width when scaling enabled - - X scale coefficient - Y scale coefficient - Width in pixels - - - - Get image height when scaling enabled - - X scale coefficient - Y scale coefficient - Height in pixels - - - Preapare chart for zooming - - - Restore chart after zooming - - - - Checking restrictions for when some charts modes enabled - - - - - Prepare chart elements for AutoLayout feature - - - - - Restore chart elements setting after drawing in AutoLayout mode - - - - Returns an axis image only with ticks and axis items - - - Returns crash-exception image if any - - - - Determine on which element of chart click occur - - Click x coodrinate - Click y coodrinate - Active region object - - - - Determine on which element of chart click occur - - Click x coodrinate - Click y coodrinate - Active region object - - - - Determine on which element of chart click occur - - Click coodrinates - Active region object - - - - Determine on which element of chart click occur - - Click coodrinates - Active region object - - - - Get series - - Series name - Series or null - - - - Get series - - Series index - Series or null - - - - Gets a reference to the data first series by specifying data series color. - - Series color - Series or null - - - - Adds a new data series to the chart's data series collection. - - Series for adding - - - - Add series - - Series to add - - - - Add series - - Series for adding - - - - Add series - - Series for adding - - - - Add series - - Series for adding - - - - Add series - - Series for adding - Series for adding - - - - Clear series collection - - - - - Remove series - - Series - Series - - - - Remove series - - Series name - Series names - - - - Remove series - - Series index - Series indexes - - - - Get elements order position - - Element - - - - Add element at the end of list - - Element - - - - Insert element at specific position in list - - Position - Element - - - - Remove element from list - - Element - - - - Remove element from list by it's index - - Position - - - - Re-index order list - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Tracking ViewState - - - - - Loading ViewState data - - - - - Saving ViewState - - - - - Copy chart setting - - Base chart - - - Contains a figures collection . - - - Contains a collection of custom figures. - - - - Contains a collection of custom palettes - - - - Provides information whether the chart is used in design-time mode. - - - Provides access to the title element of the chart. - - - Provides access to the legend element of the chart. - - - Contains appearance related settings. - - - Contains a chart plot area element. - - - - - Specifies the default series type. - - - Use this property to access the chart bitmap. - - - - Specifies a column which will be used for group by clause. A new series will be - created for each unique record in this column. - - - - - Gets or sets the RadChart's chart series collection object. - - - - - Specifies the series palette - - - - - Added just temporary to avoid build warnings - - - - - Specifies AutoLayout mode to all items on the chart control. - - - - - Added just temporary to avoid build warnings - - - - - Specifies AutoTextWrap mode for all wrappable text blocks of the chart control. - - - - - Added just temporary to avoid build warnings - - - - Specifies the skin to use. - - - - When true and using a skin, user will not be able to override any of the skin - appearance. - - - - - Exposes advanced data binding options. You can use this property to perform custom - data binding at runtime. - - - - - Specifies the orientation of chart series on the plot area. - - - - Toggles the use of the IntelligentLabels feature. - - - Parent application path. - - - Temporary images path. - - - Specifies the image rendering format. - - - Specifies the bitmap resolution. - - - - Return factor for wrap mechanism for fixed sides proportion wrap type - - - - - Event handle for BeforeLayout Event - - - - - Event handle for PrePaint Event - - - - - Specifies a design-time series collection - - - - - Specifies a temporary copy of original series in design-time mode - - - - - Parent chart element - - - - - Show enable scale or not - - - - List containing the render order of elements. - - - - - Gets the next free order position. - - - - - - Common chart components definitions - - - - - - - MapMath method - - path - path - - - - Control clone - - - - - - Chart object - - - - - Path to the Temp folder - - - - Gets or sets the associated - with the . - The object associated with - the component; or null, if the component does not have a site. - - - Represents the method that handles the - event of a component. - - - - Gets a value indicating whether scaling is enabled. - - - - - Charting component - - - - - - - Updating designer - - - - - Common charting error - - - - - - - Default constructor - - Message - - - - Constructor - - Message - Parent Error - - - - For chart exceptions drawing - - Graphics - Message - Font - Width - string - - - Supported series types. - - - - Specifies a bar data series. - - - - - Specifies a stacked bar data series. - - - - - Specifies a stacked 100 bar data series. - - - - /// - Specifies a line data series. - - - - - Specifies an area data series. - - - - - Specifies a stacked area data series. - - - - - Specifies a stacked 100 area data series. - - - - /// - Specifies a pie data series. - - - - /// - Specifies a gantt data series. - - - - - Specifies a bezier data series. - - - - - Specifies a spline data series. - - - - - Specifies a bubble data series. - - - - - Specifies a point data series. - - - - - Specifies an spline area data series. - - - - - Specifies a stacked spline area data series. - - - - - Specifies a stacked 100 spline area data series. - - - - Specifies a candlestick data series. - - - Specifies a stacked line data series. - - - Specifies a stacked spline data series. - - - - RenderType of DataTable - - - - - Horizontal Alignment of text in DataTable cells - - - - - Vertical Alignment of text in DataTable cells - - - - - DataTable. Shows the series data in a tabular format. - - - - - Contains DataTable data - - - - - PlotArea to which DataTable related to - - - - - Cells' width - - - - - Cells' height - - - - - Markers of series - - - - - Should be recalculated when AutoLayout - - - - - Fill data by series' items values - - - - - - Reset to default - - - - - Initialize DataTable's data - - - - - Wrap DataTable text using factor for wrap mechanism - - Text that should be wrapped - RenderEngine of chart - Wrapped string - - - - Wrap DataTable text - - Text that should be wrapped - RenderEngine of chart - Fixed width of wrapped text - Wrapped string - - - - Calculate size of DataTable - - RenderEngine of chart - - - - Calculate position - - RenderEngine of chart - - - - Create new instance of ChartDataTable class - - PlotArea to which DataTable is related to - - - - Create new instance of ChartDataTable class - - PlotArea to which DataTable is related to - Container of DataTable - - - - Cells' widths array - - - - - Cells' heights array - - - - - Plot area to which DataTable is related - - - - - Data stored in cells - - - - - Visibility of DataTable - - - - - Visible and not calculate - - - - - Appearance options - - - - - Markers of series - - - - - Helper class used for an Arrays data binding - - - - - Common helper class. Implements most of ICommonDataHelper members - - - - - Contains common members that should be implemented in the data source helpers for supported data sources - - - - - Gets the column index by column name in the Data Source object - - Column name - Column index if column found or -1 if column not found - This method is not supported by all data sources - - - - Gets the column name if it is supported by data source - - Column index - Column name if found or an empty string - - - - Return the double value at the given row and column - - Row position index - Column index - Double value at given column and row - - - - Return the object value at the given row and column - - Row position index - Column index - Object value at given column and row from data source - - - - Return the string value at the given row and column - - Row position index - Column index - String value at given column and row of a data source - - - - Return unique column's content - - Column index - Objects array with unique column values - - - - Return sorted unique column's content - - Column index - Objects array with unique column values sorted ascending - - - - Returns true if given column contains numeric values - - Column index - True if data source column contains numeric values - - - - Returns true if given column contains string type values - - Column index - True if data source column contains string values - - - - Returns true if value at the given position is numeric - - Row position index of data item in a data source - Column index of data item in a data source - True if data item contains numeric value at given row and column - - - - Returns possible groups column used for automatic data binding - - Automatically found possible column with repeating values for a data grouping - Only the first found numeric column will be checked. - If such column is not found or does not contain repeatable values the -1 will be returned - - - - - Returns possible column used as labels source when group column present - - DataGroupColumn index in a data source - Column index that can be used as a series item labels source - - - - Returns possible series items X values column - - Possible series items X values column's index or -1 if no proper column found - - - - Returns possible series items Y values column - - Possible numeric columns array available for a data binding - - - - Returns all possible series items Y values columns - - Possible numeric columns array available for a data binding - - - - Returns possible Gantt series items values columns array - - Data source columns array available for a Gantt series data binding (X, Y, X2, Y2 values) - - - - Gets the data source rows count - - - - - Gets the data source columns count - - - - - Returns true if data source supports columns naming or false in other cases - - - - - Return the double value at the given row and column - - Row position index - Column index - Double value at given column and row - - - - Return the object value at the given row and column - - Row position index - Column index - Object value at given column and row from data source - - - - Return the string value at the given row and column - - Row position index - Column index - String value at given column and row of a data source - - - - Returns true if given column contains numeric values - - Column index - True if data source column contains numeric values - - - - Returns true if given column contains string type values - - Column index - True if data source column contains string values - - - - Gets the column index by column name in the Data Source object - - Column name - Column index if column found or -1 if column not found - This method is not supported by all data sources - - - - Gets the column name if it is supported by data source - - Column index - Column name if supported by a data source - - - - Returns true if value at the given position is numeric - - Row position index of data item in a data source - Column index of data item in a data source - True if data item contains numeric value at given row and column - - - - Returns possible column used as labels source when group column present - - DataGroupColumn index in a data source - Column index that can be used as a series item labels source - - - - Returns possible groups column used for automatic data binding - - Automatically found possible column with repeating values for a data grouping - Only the first found numeric column will be checked. - If such column is not found or does not contain repeatable values the -1 will be returned - - - - - Return unique column's content - - Column index - Objects array with unique column values - - - - Return sorted unique column's content - - Column index - Objects array with unique column values sorted ascending - - - - Gets possible series items X values column - - Possible series items X values column's index or -1 if no proper column found - - - - Gets possible series items Y values column - - Possible series items Y values column's index or -1 if no proper column found - - - - Returns all possible series items Y values columns - - Possible numeric columns array available for a data binding - - - - Returns all possible data source columns that could be used as Gantt series items - - Data source columns array available for a Gantt series data binding - - - - Checks is given type is Nullable - - Type to check - True if type is Nullable, or False - - - - Checks whether the type given is numeric - - Type to check - True if Type is numeric - - - - Checks whether the value's type is numeric - - Value to check - True if given object can be converted to number - - - - Checks whether the type given is string type - - Type to check - True if given type is string - - - - Checks whether the value's type is String - - Object to check - True if object can be converted to string - - - - Returns the data helper class accordingly to the data source type - - Data source - Data Member (i.e. Table name) - Design mode pointer - ICommonDataHelper-compartable object - - - - Returns the data source rows count - - - - - Returns the data source columns count - - - - - Returns true if data source supports columns naming or false in other cases - - - - - Indices matrix accordingly to a data array Rank - - Data column index - - - - - Array DataHelper constructor - - Data array - - - - Return the object value at the given row and column - - Row position index - Column index - - - - - Returns true if given column contains numeric values - - - - - - - Returns true if given column contains string type values - - - - - - - Returns column index in a data array by column name - - Column name in data array - Unsupported by current DataHelper - Always returns -1 - - - - Returns column name in a data array by column index - - Column index - Empty string, because it is unsupported by current DataHelper - - - - Gets the data source rows count - - - - - Gets the data source columns count - - - - - Returns false, because current data source does not support columns naming - - - - - Acquires and manipulates data from databases or other sources. - Populates the SeriesCollection of the chart control. - - - - - Top data sources rows used during design-time data binding - - - - - General column's index detection method - - Column index or name - Data source column type accordingly to ColumnType enumeration - Column index in a data source - - - - Returns possible column index in data source - - DataGroupColumn index if present or -1 if not - Data source column type accordingly to ColumnType enumeration - Column index or -1 if impossible to find column - - - - Gets the groups column index from data source - - DataGroupColumn index if present or -1 if not - Groups column index or -1 if data grouping disabled - When the groups column has not been set it will be found automatically - - - - Gets the labels column index in data source - - DataLabelsColumn index if present or -1 if not - Series labels column index - When the labels column has not been set it will be found automatically - - - - Gets the series X, Y, X2, Y2, Y3, Y4 values columns - - DataGroupColumn index if present or -1 if not - Column name - Data source column type accordingly to ColumnType enumeration - Column with numeric values. It can be used as X, Y, X2, Y2, Y3, Y4 values source. - If impossible to find a column or data helper is NULL it returns -1 - When the series X, X2 or Y2 values column has not been set it will be found automatically - Should automatic column search be used or not - - - - Gets the series Y values columns array - - Y values columns array. Can contain as column names as indexes - Should auto mode be applied - Y values columns indexes array - When the series Y values column has not been set it will be found automatically - - - - Gets the axis labels column index - - Axis labels column index or name - Column index - - - - Returns either chart series name or series item name - - DataGroupColumn index - True if group column contains numeric values only - Series Labels column index - Y Values columns array - Data item's row index in a data source - Data item's column index in a data source - Item type Series or SeriesItem - Chart item name for an auto created Series or SeriesItem - - - - Data bind X Axis labels - - DataGroupColumn index if present or -1 in other case - - - - Compares two series items - - Item to compare - Item to compare - True if items represent the same data and have same names - - - - Populates existing chart series collection with data. - - - - - Automatically populates chart series collection with data. - - - - - Returns new chart series - - DataGroupColumn index or -1 if grouping is not used - True if group column contains numeric values only - Data item's row index in a data source - Data item's column index in a data source - Values columns array - New ChartSeries instance - - - - Creates new Chart Series item from data source - - Data item's row index in a data source - Data item's column index in a data source - DataGroupColumn index or -1 if grouping is not used - Series items labels column - Values columns array - Assign name and label for a series item or not - New ChartSeriesItem instance with data from a data source - - - - Returns a Data item from a data source - - Data item's row index in a data source - Data item row or null in other cases - - - - Validates data source object passed - - Data Source - The data source should implement the IEnumerable interface - - - - Calls an ItemDataBound event - - Series - Series item - Data Source - - - - Forces the data to be refreshed - - - - - Clears the Data Source used - - - - - Copies settings from another data manager - - Source DataManager to copy settings from - - - - Default constructor - - Parent chart object - - - - Sets the necessary using or not the automatic data binding at the design time - - - - - Returns true if possible to use the automatic X Axis data binding - - - - - Does the chart series support the X Values - - - - - Does the chart series support the Y2 Values - - - - - Does the chart series support the X2 Values - - - - - Does the chart series support the X2 and Y2 Values - - - - - Does the chart series support the Y3 Values - - - - - Does the chart series support the Y4 Values - - - - - Type of the currently processed series - - - - - Active DataHelper - - - - - Parent Chart object's reference - - - - - Event raised after the each series item's data binding - - - - - Chart Data Source object - - - - - Gets or sets the name of the list of data that the data-bound control binds to, in cases where the data source contains more than one distinct list of data items. - - - - - Returns true if DataBind method has been called - - - - - The data source column used as chart labels source - - - - - The data source column used as series items X coordinate - - - - - The data source columns array used as series items Y coordinate source - - This array could be used to set the Gantt chart data source columns. - The columns should be added in the following order: X, Y, X2, Y2 - - - - Enables or disables the series grouping feature - - Default value is True - - - - Data source columns indexes used for a series data binding - - - - - Possible data source columns' types - - - - - Chart item type Series or SeriesItem - - - - - Class containing event data for an ItemDataBound event - - - - - Class constructor - - Data bound series item - Parent series - Current data source object - - - - Real data source object for a chart. - - - - - Chart series - - - - - Series item - - - - - DataTable data source helper class - - - - - Default constructor - - DataTable objects as chart's data source - - - - Return the object value at the given row and column - - Row position index - Column index - Object value at given column and row from data source - - - - Returns true if given column contains numeric values - - Column index - True if data source column contains numeric values - - - - Returns true if given column contains string type values - - Column index - True if data source column contains string values - - - - Gets the column index by column name in the Data Source object - - Column name - Column index if column found or -1 if column not found - - - - Gets the column name - - Column index - - - - - Gets the data source rows count - - - - - Gets the data source columns count - - - - - Returns true, because current data source supports columns naming - - - - - Gets the DataTable object - - - - - Sample object. Used for a data binding demonstration only - - - - - Sample business logic object. Used for a data binding demonstration only - - - - - Returns products list - - - - - - Sample class returns DataSet for an ObjectDataSource data binding demo - - - - - Constructor. Loads sample data in DataSet - - - - - Destructor - - - - - Gets data as DataSet object - - DataSet with sample data - - - - Sample class returns DataSet with several columns which could be used as Y values source. Used for a data binding demonstration only - - Shows products sales by month. - - - - Constructor. Loads sample data in DataSet - - - - - Class destructor - - - - - Gets data - - DataSet with sample multicolumn data - - - - IBindingList example. Used for a data binding demonstration only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Collection base object example. Used for a data binding demostration only - - - - - Data load method - - - - - Simple data sources examples class. Used for a data binding demonstration only - - - - - Double Array example - - - - - Object array without groups column example - - - - - Object array with groups column example - - - - - Main class constructor - - - - - Strong typed double list example - - - - - Helper class for data binding on the strongly typed lists of objects that can be accessed by index - - - - - Constructor - - Data source that implements IList interface - - - - Return the object value at the given row and column - - Row position index - Column index - Object value at given column and row from data source - - - - Returns true if given column contains numeric values - - Column index - True if data source column contains numeric values - - - - Returns true if given column contains string type values - - Column index - True if data source column contains string values - - - - Returns column index in a data list by column name - - Column name in data list - Unsupported by current DataHelper - Always returns -1 - - - - Returns column name in a data list by column index - - Column index - Empty string, because it is unsupported by current DataHelper - - - - Gets the data source rows count - - - - - Gets the data source columns count - - - - - Returns false, because current data source does not support columns naming - - - - - Base class for all labels - - - - - ChartLabel text - - - - - Graphic marker - - - - - Parent element - - - - - List, that represent the render order for taken up elements - (For IContainer.OrderList property) - - - - - Active region - - - - - Create new instance of ChartBaseLabel class. - - - - - Create new instance of ChartBaseLabel class. - - Container of the label - - - - Create new instance of ChartBaseLabel class. - - Parent element - Container of the label - - - - Create new instance of ChartBaseLabel class. - - Parent element - - - - Create new instance of ChartBaseLabel class. - - Text of TextBlock - - - - Create new instance of ChartBaseLabel class. - - TextBlock - - - - Create new instance of ChartBaseLabel class. - - Parent element - Container of the label - TextBlock - - - - Create new instance of ChartBaseLabel class. - - Parent element - Container of the label - TextBlock - Style of label - - - - Gets whether Label is real visible - - Label's visibility - - - - Measure label - - Render Engine of chart - Calculated size of Label - - - - Calculates position - - RenderEngine of chart - - - - Gets elements order position - - Element - - - - Add element at the end of list - - Element - - - - Insert element at specific position in list - - Position - Element - - - - Remove element from list - - Element - - - - Remove element from list by it's index - - Position - - - - Re-index order list - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load ViewState - - ViewState with data - - - - Save to ViewState - - Saved data - - - - Clone this object - - New instance of ChartBaseLabel class with the same fields as this object - - - - ChartLabel TextBlock - - - - - Graphic marker of label - - - - - Gets and sets Parent element - - Element that should be Parent for this - - - - Gets and sets Direction of label position in auto mode - - Direction of label position. - - - - Gets and sets Active region - - Active region to set - - - - Gets and sets label's visibility - - Visible label or not - - - - List, that represent the render order for taken up elements - - - - - Gets a next free order position - - - - - Base class for labels with style - - - - - Create new instance of ChartLabel class - - - - - Create new instance of ChartLabel class. - - Parent Element - - - - Create new instance of ChartLabel class. - - Text of label - - - - Create new instance of ChartLabel class. - - Style of label - - - - Create new instance of ChartLabel class. - - Style of label - Parent element - - - - Create new instance of ChartLabel class. - - Style of label - Text - - - - Create new instance of ChartLabel class. - - Style of label - TextBlock of label - - - - Create new instance of ChartLabel class. - - Style of label - TextBlock of label - Parent element - - - - Create new instance of ChartLabel class. - - Parent element - Container element - - - - Create new instance of ChartLabel class. - - Parent element - Container element - Style of chart - TextBlock of label - Text of label - - - - Gets visibility of label - - Visible or not - - - - Link to visualization and design properties - - - - - Base class for extended labels - - - - - Inside labels collection - - - - - Create new instance of Extended label class. - - - - - Create new instance of Extended label class. - - Parent element - - - - Create new instance of Extended label class. - - Text of label - - - - Create new instance of Extended label class. - - Style of label - - - - Create new instance of Extended label class. - - Style of label - Parent element - - - - Create new instance of Extended label class. - - Style of label - Text - - - - Create new instance of Extended label class. - - TextBlock - - - - Create new instance of Extended label class. - - Parent element - Container - TextBlock - - - - Create new instance of Extended label class. - - Parent element - Container - Style of label - TextBlock - Text of elemnt - - - - Gets Available Content Size - - Size without margins and paddings - - - - Gets visibility of label - - Visibility of label - - - - Measure label - - RenderEngine of chart - Size of label - - - - Clear LabelItems collection - - - - - Add inside labels - - Inside label to add - Inside labels to add - - - - Add inside labels - - Inside labels to add - - - - Add inside labels - - Inside labels to add - - - - Add inside labels - - Inside labels to add - - - - Get inner label at specified position - - Position to get label - Label at specified position - - - - Removes all inner labels - - - - - Removes inner labels - - Label to remove - Labels to remove - - - - Removes inner labels - - Position where label should be removed - Positions where labels should be removed - - - - Track ViewState - - - - - load ViewState - - ViewState with data - - - - Save ViewState - - Saved data - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets style of label - - - - - Gets and sets LabelItem at specified position - - Item position - Item at specified position - Item to set at specified position - - - - Items collection. - - - - - Base class for labels in label collection - - - - - Whether item is bound to series - - - - - New instance of LabelItem class. - - - - - New instance of LabelItem class. - - Parent element - - - - New instance of LabelItem class. - - Text of label - - - - New instance of LabelItem class. - - Style of label - - - - New instance of LabelItem class. - - Style of label - Parent element - - - - New instance of LabelItem class. - - Style of chart - Text - - - - New instance of LabelItem class. - - Style of chart - TextBlock - - - - New instance of LabelItem class. - - Parent element - Style of chart - TextBlock - Text of label - - - - Gets and sets Label name in collection - - Name of label - - - - Is current item bound item or custom item - - - - - Class for bindable legend items - - - - - Object to which items are bindable - - - - - Create new instance of BindableLegendItem class. - - Style of label - Parent element - - - - Source object item bound to - - - - - Series item label - - - - - Connection point for label - - - - - Center of label - - - - - Rectangle of label - - - - - Create new instance of SeriesItemLabel class. - - - - - Create new instance of SeriesItemLabel class. - - Series to which label belongs - - - - Checks if label intersect bounds of PlotArea - - PlotArea for checking - Whether label intersect bounds of PlotArea - - - - Move part of label in PlotArea - - PlotArea to move in - Side of label which is not in PlotArea - - - - Set label outside item - - Item rectangle - If Location is auto(Location - Auto, Outside, Inside) - - - - Set label inside item - - Item rectangle - - - - Visibility of label - - Series to which label belongs - Visibility of label - - - - Calculate position - - Location point - Connection point - Visibilit of label connectors - RenderEngine of chart - - - - Moves label inside PlotArea - - PlotArea - - - - Relocate connection point for pie series - - Angle of pie part - Connection point - Corrected connection point - - - - Clone this object - - Create new instance of SeriesItemLabel class with the same fields as this object - - - - Connection point for label - - - - - Center of label to connect to - - - - - Visualization and design properties - - - - - Axis label base - - - - - Create new instance of AxisLabelHidden - - - - - Create new instance of AxisLabelHidden - - Parent element - - - - Create new instance of AxisLabelHidden - - Text of label - - - - Create new instance of AxisLabelHidden - - Parent element - Container element - Style of label - TextBlock - Text of label - - - - Gets and sets Visibility of label - - Visibility of label - - - - X Axis label - - - - - Create new instance of AxisLabel - - - - - Create new instance of AxisLabel - - Parent element - Container element - - - - Y axis label - - - - - Create new instance of AxisYLabel - - - - - Create new instance of AxisYLabel - - Parent element - Container element - - - - MarkedZone label class - - - - - Create new instance of MarkedZoneLabel - - - - - Create new instance of MarkedZoneLabel - - Style of label - - - - Create new instance of MarkedZoneLabel - - Style of label - Parent element - - - - Create new instance of MarkedZoneLabel - - Style of label - Text - - - - Create new instance of MarkedZoneLabel - - Parent element - Container element - - - - Collection of labels - - - - - Base class for all collections support view state tracking - - Collection item type - - - - Describes the elements collection which can be de-serialized using StyleSerializer - - - - - Populates collection with items from imported Xml code - - XmlElement to import from - - - - Item index in collection - - Item to get index of - Index - - - - Inserts item at the given index - - Index - Item to insert - - - - Removes item from collection at given index - - Index to remove at - - - - Adds new item in collection - - Item to add - - - - Adds items range in collection - - Items array to add - - - - Clears collection - - - - - Checks does collection contain the given item - - Item to check - True if item is a collection member - - - - Copies the entire System.Collections.Generic.List<T> to a compatible one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional System.Array that is the destination of the elements - The zero-based index in array at which copying begins - - - - Removes item from collection - - Item to remove - True in case of success - - - - Returns an enumerator that iterates through the System.Collections.Generic.List>T<. - - A System.Collections.Generic.List>T<.Enumerator for the System.Collections.Generic.List>T<. - - - - Returns an enumerator that iterates through the collection - - An System.Collections.IEnumerator object that can be used to iterate through the collection - - - - Loads collection from view state - - View state to load from - - - - Loads collection from view state - - View state to load from - - - - Saves collection to a view state - - Saved state bag object - - - - Saves collection to a view state - - Saved state bag object - - - - Tracks view state changes - - - - - Sets is item in the dirty state - - - - - Marks collection item dirty - - Item to mark - - - - Adds new item in the IList - - Item to add - Item index in IList - - - - Clears IList items - - - - - Checks does IList contain the given value - - Value to check - True if contains - - - - Gets the index of the object value in an IList - - Value to check - Index in IList or -1 if IList does not contain given value - - - - Inserts new value in IList at given index - - Index to insert to - Value to insert - - - - Removes value from IList - - Value to remove - - - - Removes value from IList at the given index - - Index to remove value at - - - - Copies the entire ICollection to a compatible one-dimensional - array, starting at the specified index of the target array. - - The one-dimensional System.Array that is the destination of the elements - The zero-based index in array at which copying begins - - - - Item before insert event - - Index to insert at - Value to insert - - - - Item after insert event - - Index to insert at - Value to insert - - - - Item before remove event - - Index to insert at - Value to insert - - - - Item after remove event - - Index to insert at - Value to insert - - - - Before collection clearing event - - - - - Collection after clean event - - - - - Populates collection from XML element - - XmlElement to import from - - - - Populates collection from XML element - - XmlElement to import from - - - - - - ToString() override. Used in the properties grid to avoid object type showing. - - Empty string - - - - Items list - - - - - Link to first item in collection - - - - - Link to last item in collection - - - - - Gets the collection item at given index - - Index - Item of type "T" - - - - Gets items count in collection - - - - - Gets true if collection is read-only - - - - - Gets the view state tracking status - - - - - Is IList fixed size. Returns False - - - - - Is IList is read-only - - - - - Gets or sets the value from/to IList at the give index - - Index to give element at - Value from IList - - - - Gets the collection items count - - - - - Checks is collection synchronized - - - - - Gets the collection root - - - - - Parent element - - - - - Create new instance of ChartLabelsCollection class. - - - - - Clear bindable items from collection - - - - - Copy bindable items to collection - - Collection of items copy to - - - - Visibility of items collection - - Whether any item is visible - - - - Add LabelItem at the collection - - LabelItem for adding - - - - Clear collection - - - - - Insert LabelItem in collection at the specific position - - Position - LabelItem - - - - Remove LabelItem from collection - - LabelItem - - - - Remove LabelItem in the specific position from collection - - Position - - - - Remove item at specified index - - - - - - - Clear items - - - - - Insert item in collection - - Index to insert in - Value to insert - - - - Save data to ViewState - - Saved data - - - - Load data from ViewState - - ViewState with data - - - - Parent element - - - - - Gets or sets a LabelItem at the specific position in Labels collection. - - Position in the collection - LabelItem at the specific position - - - - Base class for a different markers representation - - - - - Parent Chart element - - - - - Active region - - - - - Create new instance of ChartMarker class. - - - - - Create new instance of ChartMarker class. - - Parent lement - - - - Create new instance of ChartMarker class. - - Container element - - - - Create new instance of ChartMarker class. - - Parent element - Container element - - - - Copy fields from specified object - - Marker to copy from - - - - Track ViewState - - - - - Load data to ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets and sets visibility - - Visibility of marker - - - - Gets and sets Parent element - - Parent element - - - - LabelAppearance properties - - - - - Active region - - - - - Intelligence labels engine. Used to automatically series labels relocation to avoid their overlapping. - - - - - Distribute labels - - - - - Distribute labels - - - - - Filters labels - - Label for checking whether it is in visible part of chart - Visible area - - - - Intersection testing - - Rectangles for checking whether intersection takes place - Rectangle to check intersection with other rectangles - Point of rectangle that intersect other rectangle - Rectangle that specified rectangle intersects - True if rectangle intersect specified rectangles - - - - Move rect to new location - - Rectangle to move - New point location - - - - Calculates distance between two points - - First point - Second point - Distance between two points - - - - Define an object that containes an information about moving required - - One label rectangle - Second label rectangle - Intersection point - MoveData object - - - - Define an object that containes an information about moving required - - One label rectangle - Second label rectangle - Intersection point - MoveData object - - - - Define a side in which moving require - - Array of distances - Index for Direction enum - - - - Check if vertical moving takes place - - Direction to move - True if vertical moving takes place - - - - Where label should be moved - - - - - Moving related data holder - - - - - Distance to move label - - - - - Direction where to move - - - - - Gets and sets Moving distance - - Distance for moving - - - - Gets and sets Moving direction - - Direction for moving - - - - Label text properties - - - - - Max length of text - - - - - Contains specified parameters for wrapping text - - - - - Wrapped text - - - - - Parent element - - - - - Default text of text block - - - - - Create new instance of TextBlock class. - - - - - Create new instance of TextBlock class. - - Style of TextBlock - - - - Create new instance of TextBlock class. - - Text - - - - Create new instance of TextBlock class. - - Style of TextBlock - Text - - - - Create new instance of TextBlock class. - - Parent element - Container element - - - - Create new instance of TextBlock class. - - Parent element - Container element - Text - - - - Create new instance of TextBlock class. - - Parent element - Container element - Style of TextBlock - - - - Create new instance of TextBlock class. - - Parent element - Container element - Style of textblock - Text - - - - Forms ToolTip if text length greater than max length - - - - - Forms ToolTip if text length greater than max length - - Text - - - - Check if tooltip should be changed when max length changed - - - - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Calculate TextBlock position - - RenderEngine of chart - - - - get a and sets visibility of TextBlock - - Visibility of TextBlock - - - - Parent chart element - - Parent element - - - - Contained text data - - Text - - - - Text field style - - Style of TextBlock - - - - Visible text with MaxLength applied - - - - - Gets TextBlock visibility - - - - - Chart title text container properties - - - - - Create new instance of TextBlockTitle class. - - - - - Create new instance of TextBlockTitle class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Contained text data - - - - - Empty Series message text container properties - - - - - Create new instance of TextBlockEmptySeriesMessage class. - - - - - Create new instance of TextBlockEmptySeriesMessage class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Contained text data - - - - - Axis item text container properties - - - - - Create new instance of TextBlockAxisItem class. - - - - - Create new instance of TextBlockAxisItem class. - - Parent element - Container element - - - - Define Max Length - - RenderEngine of chart - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Series label text container properties - - - - - Create new instance of TextBlockSeriesItem class. - - - - - Create new instance of TextBlockSeriesItem class. - - Parent element - Container element - - - - Chart title text container properties - - - - - Create new instance of TextBlockHidden class. - - - - - Create new instance of TextBlockHidden class. - - Parent element - Container element - - - - Gets and sets visibility of TextBlock - - Visibility of TextBlock - - - - Chart Y Axis text container properties - - - - - Create new instance of TextBlockYAxisLabel class. - - - - - Create new instance of TextBlockYAxisLabel class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Contained text data - - - - - Chart X Axis text container properties - - - - - Create new instance of TextBlockXAxisLabel class. - - - - - Create new instance of TextBlockXAxisLabel class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Contained text data - - - - - Legend item's text block - - - - - Create new instance of TextBlockLabelItem class. - - - - - Create new instance of TextBlockLabelItem class. - - Style of TextBlock - - - - Create new instance of TextBlockLabelItem class. - - Text - - - - Create new instance of TextBlockLabelItem class. - - Style of chart - Text - - - - Create new instance of TextBlockLabelItem class. - - Parent element - Container element - - - - Create new instance of TextBlockLabelItem class. - - Parent element - Container element - Text - - - - Create new instance of TextBlockLabelItem class. - - Parent element - Container element - Style of TextBlock - - - - Create new instance of TextBlockLabelItem class. - - Parent element - Container element - Style of TextBlock - Text - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - Chart title text container properties - - - - - Create new instance of TextBlockLegend class. - - - - - Create new instance of TextBlockLegend class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - Size of TextBlock - - - - MarkedZone label's text container properties - - - - - Create new instance of TextBlockMarkedZone class. - - - - - Create new instance of TextBlockMarkedZone class. - - Parent element - Container element - - - - Measure TextBlock - - RenderEngine of chart - size of TextBlock - - - - The helper class for a text wrapping feature. Represents the text string - - - - - Defines whether it is first string or not - - - - - Defines whether it is last string or not - - - - - Parent element - - - - - Collection of words in text - - - - - Height of string - - - - - Width of string - - - - - Create instance of ChartString - - - - - Create instance of ChartString with specified height - - Height of string - - - - Calculate string width - - - - - Move last word to next string - - - - - Clone this object - - New instance with the same properties values as current class instance - - - - Defines whether it is first string or not - - - - - Defines whether it is last string or not - - - - - Parent element - - - - - Get next string - - - - - Get previous string - - - - - Get width of string - - - - - Get height of string - - - - - Collection of words - - - - - Strings collection - - - - - Parent element - - - - - Create new instance of ChartStringCollection class - - Parent element - - - - Add new string to collection - - String to add - Index of added string - - - - Get next string after specified one - - String for search - Next string after specified one - - - - Get previous string before specified one - - String for search - Previous string before specified one - - - - Clone of this object - - New instance with the same fields - - - - Get string with specified index - - Index to get string - String with specified index - - - - Get the first string - - - - - Get the last string - - - - - Parent element - - - - - Helper class for a text wrapping feature. Represents the text to wrap - - - - - Word separator - - - - - Text divided into strings - - - - - Inner text - - - - - Font of text - - - - - Used for measuring text - - - - - Create new instance of the class. - - - - - Create new instance of the class. - - Text - Font of text - Graphics object for measuring string - - - - Breaks text into lines - - Used to make decision for breaking - Determines which of parameters(height, width) is fixed - - - - Breaks text into lines - - Used to make decision for breaking - Fixed width of text - - - - Breaks text into lines - - Used to make decision for breaking - - - - String representation - - String representation - - - - Breaks text into lines with fixed proportions - - Factor(Height-Width proportion) to make decision - - - - Breaks text into lines with fixed Height - - Factor(Height-Width proportion) to make decision - Max Strings Count - - - - Breaks text into lines with fixed width - - Fixed width - - - - - Add new string to text of fixed width - - Inner text - String should be added - Separator between text and new string - Fixed width - - - - - Gets the longest string - - The longest string - - - - Clone this object - - New instance of ChartText class with the same fields as this object - - - - Concat lines to one text - - Inner text - Text without new lines delimiters - - - - Word separator - - - - - Height of text - - - - - Width of text - - - - - Used to make decision for breaking text into lines - - - - - Helper class for a text wrapping feature. Represents the one word - - - - - Word width - - - - - Text of one word - - - - - Parent element - - - - - Create new instance of ChartWord - - - - - Create new instance of ChartWord. - - Text of word. - Width of word. - - - - Clone this object - - New instance of ChartWord with the same fields as this object - - - - Gets and sets Parent element - - Element that should be parent for this object - - - - Gets Width of word - - - - - Gets Word text - - - - - Parent element - - - - - Create new instance of the object. - - Parent element - - - - Add new word to collection - - Word for adding - Index of added word - - - - Remove last word from collection - - Last word that was removed - - - - Insert word at the beginning of collection - - Word to insert - - - - Clone this object - - New instance of ChartWordCollection class with the same fields as this one - - - - Gets and sets Parent element - - Element that should be Parent for this object - - - - Gets and sets word from/to collection - - Index of word in collection - Word from collection with specified index - Word that should be placed on specified position - - - - Gets last word in collection - - - - - Helper enumeration with a text wrapping modes - - - - - Text wrapping context object - - - - - Width of container - - - - - Height of container - - - - - Type demonstrate which of parameters is fixed - - - - - Create instance of WrapContext class - - Width of container - Height of container - Type - - - - Create instance of WrapContext class - - Dimensions of container object - Type - - - - Gets container width - - Width of container - - - - Gets container height - - Height of container - - - - Gets Type of WrapContext - - Type that shows what parameter is fixed - - - - Specifies the location of the RadChart's elements. - - - - - The chart element is placed inside plot area. - - - - - The chart element is placed outside plot area. - - - - - Chart legend. Shows the series names or series labels listing. Can contains custom items. - - - - - Labels for bindable items collection - - - - - Constructor - - - - - Constructor - - Reference to a parent object (Current Chart instance) - Element container - - - - Clears bound items collection - - Should automatically created bound items be removed or not - - - - Creates new legend item bound to series or series item - - RenderEngine - Chart series - Series item - How series will be represented in Legend: Series names, Series items or hidden (Nothing) - Series index in collection - Series item index in collection - New LegendItem bound to a chart object: series or series item - - - - Creates bound items collection - - RenderEngine - - - - Adds custom item to Legend - - Custom legend item text - FillStyle - Figure for an item marker - - - - Reference to a label item by its index in items collection - - Label item's index - LabelItem at given index - - - - Bound items collection - - - - - The base class with common functionality needed by web chart controls for an image maps creation - - - - - Gets a string of element path in a parent control order list hierarchy. - For example, Legend has an index 4 in a Chart's order list, first legend item has an index 0 in Legend's order list. - So result string will look like "4, 0" - - IOrdering element - ArrayList with parent indexes - - - - - Generates the image map HTML code - - - HTML code with created image map - - - - Creates chart axes specific image maps code - - Chart axis - StringBuilder to populate with image map HTML code - - - - Generates an image map string for a given IOrdering object and appends it to a given StringBuilder object - - IOrdering element - The target StringBuilder object - Disables a JavaScript post back function creation if only tool tip creation required - - - - Gets a figure name for a image map type for a different series types - - Series item - The Active region index in a regions list - Figure name - - - - Gets an appropriate HTML shape name by an internal figure name - - The charting Figure string value - HTML shape name (rect, circle, poly) - - - - Gets the image maps coordinates - - Graphics Path object to get coordinates from - Charting figure - String of element coordinates in the image map separated by comma - - - - Returns a string that can be used in a client event to cause post back to - the server. The reference string is defined by string argument of additional event information. - - A string of optional arguments to pass to the control that processes the post back. - A string that, when treated as script on the client, initiates the post back. - - - - Checks if chart control has a Click event enabled - - True or False - - - - Generates image map HTML string - - HTML string - - - - Axis segment in case of ScaleBreaks enabled - - - - - Start point of segment - - - - - End point of segment - - - - - Segments rectangle - - - - - Axis visible values - - - - - Items count in this segment - - - - - Array of two elements with segments lines as GraphicsPath - - - - - Value indicate: how much percents of axis this segment is take up - - - - - Creates a new class instance - - - - - Creates a new class instance - Segment name - - - - - Gets X coordinate - - Series value to get coordinate of - Coordinate - - - - Gets Y coordinate - - Series value to get coordinate of - Coordinate - - - - Recalculates items values in collection - - Series items with values in current segment diapason - Should max value optimization be done or not - - - - Getting the better value - - Number - Should get biggest number or not - Number - - - - Create axis items - - Axis - Final value - - - - Check segments on a intersections - - Any other segment - True if segments intersect - - - - Return a path around segments rectangle - - Path depending of scale break line type - Should start segment line as scale break line type be created - Should end segment line as scale break line type be created - Plot area series orientation, true if horizontal - Segments path - - - - Segments name in collection - - - - - Segment minimum value at the axis - - - - - Maximum segment's value at the axis - - - - - Axis items step for a current Segment - - - - - Segment start point - - - - - Segment end point - - - - - Segment's bound rectangle - - - - - Pixels per one value - - - - - Segments collection - - - - - Check segment and add it into collection - - Segment for adding - - - - Searches for a segment where value is located - - Value to check - AxisSegment - - - - Searches for a segment where value is located - - Value to check - Null values exclusion reason - AxisSegment - - - - Sorts segments - - - - - Checks if series item in current segment - - SeriesItemsCollectionv - True if value is in segment - - - - Gets true if just one negative value presents in segment - - - - - Gets true if just one positive value presents in segment - - - - - Gets true if segment contains axis zero value - - - - - Gets the nearest to Zero axis value - - - - - Segments comparer - - - - - Segments order comparison - - First segment - Second segment - 0 if segments are equal, - -1 if first segment should be rendered at top of the second segment at axis, - 1 if second segment should be rendered at top of the first segment at axis - - - - Chart axis types enumeration - - - - - Base chart axis class - - - - - ChartAxis style - - - - - ChartAxis main label - - - - - ChartAxis items - - - - - Parent element - - - - - Show only negative values - - - - - Show positive values only - - - - - Is axis zero based - - - - - Min axis item value - - - - - Max axis item value - - - - - Minimum series value - - - - - Maximum series value - - - - - Axis start point - - - - - Axis zero value end point - - - - - Pixels per value field. - - - - - Cached zero coordinate value. - - - - - Tracking ViewState - - - - - Loading ViewState data - - Saved state bag - - - - Saves data to a State Bag - - Saved axis data to a state bag - - - - Gets distance between points - - First point - Second point - Distance - - - - Calculates grid lines and ticks positions - - - - - Excludes the excessive serialization of axis items properties - - - - - Used to correct initial axis label AlignedPosition for AutoLayout - - Position - - - - Used to automatically correct the axis item AlignedPosition in AutoLayout - - Position - - - - Gets the largest axis item width - - Width value - - - - Gets the largest axis item height - - Height value - - - - Formats the axis item value with a selected ValueFormat value - - Item value - Formatted string - - - - Gets value coordinate at axis - - Value - Coordinate - - - - Gets value coordinate at axis - - Value - Pixels per value - Make a coordinate value rounding or not - Coordinate - - - - Return the base value of the axis. - - Axis zero value - - - - Gets the coordinate of zero value - - Coordinate - - - - Gets the start value coordinate - - Coordinate - - - - Gets the end value coordinate - - Coordinate - - - - Saves the initial axis label and common axis items positions settings - - - - - Restores the initial axis label and common axis items positions settings - - - - - Recalculates items values in collection - - - - - Checks the range values - - Min axis value - Max axis value - Axis step value - - - - Restores initial values of cached axis settings - - - - - Gets the axis item's max bound: horizontally or vertically - - Axis item - Rotation angle's value - Max bound value - - - - Gets axis image rectangle - - Start point - End point - Used with client-zoom in ASP.NET Ajax chart - Rectangle - - - - Gets axis image rectangle - - Used with client-zoom in ASP.NET Ajax chart - Rectangle - - - - Gets the half of the first axis item's largest dimension - - Half of the largest dimension - - - - Gets the half of the last axis item's largest dimension - - Half of the largest dimension - - - - Calculates axis layout settings - - RenderEngine - - - - Initialize the axis items collection - - - - - Calculates axis label's layout settings - - RenderEngine - - - - Checks the axis item visibility - - Axis item - True if item should be rendered - - - - Checks the axis item visibility - - The Boolean value - - - - Sets the min axis range value - - Value to set - - - - The axis MinValue design time serialization reason - - True is value have to be serialized - - - - Resets the MinValue to default - - - - - The axis MaxValue design time serialization reason - - True is value have to be serialized - - - - Resets the MaxValue to default - - - - - Sets the maximum axis range value - - Value to set - - - - The axis Step design time serialization reason - - True is value have to be serialized - - - - Resets the Step value to default - - - - Creates a new instance of the ChartAxis class. - - - Creates a new instance of the ChartAxis class. - - - Initializes the axis with min and max values. - - - - Auto determines the min and max value of the axis - - - - - Axis Step calculation method for AutoScaled axes - - Min range value - Max range value - Calculated Step value - - - - Adjusting min/max value according to the set axis properties - - Min range value - Max range value - Rounding digits limit - - - - Sets the minimum and maximum axis range values - - Min range value - Max range value - - - Adds a ChartAxisItem to the axis. - - - Adds a ChartAxisItemsCollection to the axis. - - - Adds ChartAxisItems to the axis. - - - Adds ChartAxisItems to the axis. - - - Gets the item at the specified index. - - - Removes all items - - - Removes the ChartAxisItem specified. - - - Removes the ChartAxisItems at the specified indexes. - - - - Removes the ChartAxisItem at the specified index. - - item's index - - - - Removes the last item from the axis. - - - - - Clears data values of the axis. - - - - - Automatically adds new axis items in AutoScale mode. - - Min range value - Max range value - Axis step value - - - - Adds a new ChartAxisItem object to the axis with the specified label and color. - - Axis label - Item text color - - - - Adds a new ChartAxisItem object to the axis with the specified label and color. - - Axis label - Item text color - Visibility - - - - Adds a new ChartAxisItem object to the axis with the specified label. - - Axis label text - - - - Adds a new ChartAxisItem object to the axis with the specified label. - - Axis label text - Axis item value - - - - Sets new label text for the axis item at the specified position. - - Item index in collection - Axis item label text - - - - Sets new label for the axis item at the specified position. - - Item index in collection - Axis item - - - - Sets new color for the axis item text at the specified position. - - Item index in collection - Item text color - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the longest tick length - - - - - Gets the major axis ticks visibility - - - - - Gets the minor axis ticks visibility - - - - - Gets the axis ticks visibility - - - - - Gets or Sets the start point of axis line - - - - - Gets or Sets the end point of axis line - - - - - Gets the larger value of axis items dimensions: height or width - - - - - Pixels per axis unit. - - - - - Reference to a Chart class instance - - - - - Gets the PlotArea's rectangle - - - - - Gets the axis type: X, Y and Y2 axis - - - - - Gets if PlotArea should be rendered or not - - - - Specifies whether the axis should be rendered. - - - - Returns the axis item at the specified position. - - - - - Enables or disables automatic axis scaling. - - - - - ChartAxis style - - - - - ChartAxis label - - - - - Parent element (PlotArea) - - - - - Specifies the min value of the axis range. - - - - - Specifies the max value of the axis range. - - - - - Specifies the step at which axis values are calculated - - - - - Specifies whether the axis begins from 0. - - - - - Gets or sets maximal count of the axis items when auto scaling. - - - - - Determines the type of shown values - - - - - Draw each 1,2,...,n item - - - - - Returns a collection of axis items. - - - - - Bar charts ordering modes - - - - Represents the X Axis. - - - - Cached pixel step value. - - - - - Creates a new instance of the ChartXAxis class. - - - - Creates a new instance of the ChartXAxis class. - - - - Axis ticks points - - - - - Axis grid lines points - - - - - Ticks points' types - - - - - Grid points' types in array - - - - - Returns axis step in pixels - - - - - - Gets value coordinate at axis - - Value - Coordinate - - - - Gets the X coordinate of the axis which corresponds to the base value (0, min (if positive), max (if negative)) - - Coordinate - - - - Gets the start value coordinate - - Coordinate - - - - Gets the end value coordinate - - Coordinate - - - - Axis items count without min and max value - - Integer - - - - Tick marks count - - - - - - Gets coordinate of the first axis item in a different LayoutModes - - Coordinate - - - - Restores initial values of cached axis settings - - - - - Gets axis image rectangle - - Start point - End point - Used with client-zoom in ASP.NET Ajax chart - Rectangle - - - - Gets axis image rectangle - - Rectangle - - - - Gets the half of the first axis item's largest dimension - - Half of the largest dimension - - - - Gets the half of the last axis item's largest dimension - - Half of the largest dimension - - - - Gets the larger value of axis items dimensions: height or width - - - - - Initialize axis items collection in dependency of series items collection values limits - - - - - Calculates axis layout settings - - Render Engine reference - - - - Checks the axis item visibility - - Axis item - True if item should be rendered - - - - Calculates axis items layout settings - - Render Engine reference - Already calculated ItemsBound value - - - - Calculates grid lines and ticks positions - - - - - Adds a new axis item. - - Item text - - - - Adds a new axis item. - - Item text - Item text color - - - - Clears all data bound settings for axis - - - - - The data source column used as axis items labels source - - - - - Gets whether X ChartAxis data bound or not - - - - - Specifies the layout style of the axis. - - - - - Specifies whether the axis is auto shrink or not. - - - - - Max axis item coordinate (X or Y). Farther value. - - - - - Define bar's series ordering mode - - - - - Pixels count per value - - - - - Axis type value: XAxis - - - - - Gets the minor axis ticks visibility - Always false for XAxis - - - - - Gets the major axis ticks visibility - - - - - Specifies the Y axis modes. - - - - - Sets default Y axis mode. - - - - Extends the axis when AutoScale property is set to true. - - - - Primary or Secondary - - - - Specifies primary Y-Axis - - - Specifies secondary Y-Axis - - - Represents a chart Y Axis. - - - - Scale break settings - - - - - Tracks view state changes - - - - - Loads Y axis settings from view state - - View state - - - - Saves axis settings to a state bag - - - - - Creates a new instance of the ChartYAxis class. - - - - Calculates grid lines and ticks positions - - - - Initializes the axis with min and max values. - - - - Makes preparations for an axis segmentation in case of Scale Breaks enabled - - - - - Creates axis segments when Scale breaks enabled - - - - - Replaces overlapped segments with one segment - - Calculated segments - Series items - Optimized axis segments collection without overlapped segments - - - - Calculates segments positions - - - - - Gets value coordinate at axis - - Value - Coordinate - - - - Gets the coordinate of zero value - - Coordinate - - - - Gets the start value coordinate - - Coordinate - - - - Gets the end value coordinate - - Coordinate - - - - Return the base value of the axis. - - Axis zero value - - - - Gets axis image rectangle - - Start point - End point - Used with client-zoom in ASP.NET Ajax chart - Rectangle - - - - Gets axis image rectangle - - Used with client-zoom in ASP.NET Ajax chart - Rectangle - - - - Gets the half of the first axis item's largest dimension - - Half of the largest dimension - - - - Gets the half of the last axis item's largest dimension - - Half of the largest dimension - - - - Gets the larger value of axis items dimensions: height or width - - - - - Initialize axis items collection in dependency of series items collection values limits - - - - - Calculates axis layout settings - - Render Engine reference - - - - Calculates axis items layout settings - - Render Engine reference - Should method calculate the ItemsBound value only - Already calculated ItemsBound value - - - - Gets pixels between two axis items - - Axis item value. Can be used to detect if value is located in the any axis segment - Distance in pixels - - - - Creates rendering areas for a several axis segments in case of Scale breaks - - Render Engine reference - - - - Use Logarithmic scale or not. - - - - - Specifies the min value of the axis range. - - - - - Specifies the max value of the axis range. - - - - - Specifies the step at which axis values are calculated - - - - - Logarithm base. - Min possible value is 2 - - - - - Segments collection - - - - - Scale breaks settings - - - - - Defines a type of YAxis - - - - - Gets or sets the style of the Y axis. - - - - - Max axis item coordinate (X or Y). Farther value. - - - - - Points array for a major ticks and grid lines - - - - - Points array for a minor ticks and grid lines - - - - - Gets the axis type: Y or Y2 axes - - - - - Segments sorting support structure - - - - - Axis item types enumeration - - - - - Simple axis item - - - - - Segment start axis item - - - - - Segment end axis item - - - - Represents an axis item. - - - Creates a new instance of the class. - - - Creates a new instance of the class. - - - Creates a new instance of the class. - - - - Creates a new instance of the class. - - Item text - Item text color - - - - Creates a new instance of the class. - - Item text - Item text color - Visibility - - - - Creates a new instance of the class. - - Item text - Item text color - Visibility - Item container object - - - - Gets the bound rectangle - - RectangleF - - - - Bound rectangle's height - - Height value - - - - Bound rectangle's height - - Include top margin value in target height or not - Include bottom margin value in target height or not - - - - - Bound rectangle's width - - Width value - - - - Bound rectangle's width - - Include left margin value in target width or not - Include right margin value in target width or not - Width value - - - - Corrects text block's aligned position value - - Reason to correct - - - - Calculates the text block's size - - RenderEngine reference - Axis item with default settings to compare with current item - SizeF - - - Specifies whether the axis item should be rendered. - - - - Specifies the value of the axis. - - - - A collection to store axis items. - - - - Parent element - - - - Creates a new instance of the ChartAxisItemsCollection class. - - - Creates a new instance of the ChartAxisItemsCollection class. - - - - Creates a new instance of the AxisItems class with the specified default item font. - - Axis item's Font settings - - - - Creates a new instance of the AxisItems class with the specified default item color. - - Axis item text color settings - - - - Creates a new instance of the AxisItems class with the specified default item font and color. - - Axis item's Font settings - Axis item text color settings - - - - Removes axis item from collection - - Item index to delete at - - - - Gets axis item's rotation angle - - Axis item - Rotation angle value - - - - Gets widest axis item's width - - Width value - - - - Gets highest axis item's height - - Height value - - - - Adds a chart axis item to the collection. - - Axis item to add - - - - Parent element - - - - - Gets or sets a ChartAxisItem element at the specified position. - - - - - Possible axis scale break's line types - - - - - Y Axis scale break - - - - - Parent element - - - - - Tracking view state changes - - - - - Loads settings from a view state - - Saved state bag - - - - Saves settings to a view state - - Saved state bag - - - - Constructor - - - - - Gets the scale break line - - Line length - Is series orientation horizontal (true) or vertical (false) - Graphics path with an appropriate line inside - - - - Is scale break feature enabled - - - - - Break line's appearance settings - - - - - Max scale breaks count - - - - - Value tolerance in percents - - - - - Space width between two break lines - - - - - Break line appearance settings - - - - - Segments collection. Used with ScaleBreak feature enabled - - - - - Parent element reference (ChartAxis) - - - - - Plot area - series rendering canvas. - - - - - Collection of Marked zones - - - - - X Axis - - - - - Y Axis - - - - - Secondary Y Axis - - - - - Link to a chart object - - - - - Label for empty series notification - - - - - Temporary (for rendering process) contains common drawing region of plot area based on both (main and secondary) axis scale breaks - - - - - Temporary (for rendering process) contains drawing region of plot area based on Y axis scale breaks - - - - - Temporary (for rendering process) contains drawing region of plot area based on secondary Y axis scale breaks - - - - - Temporary (for rendering process) list of series items labels - - - - - List for save series popular values. Used for render strict bar series - - - - - Table that contain series data - - - - - List, that represents the render order list for taken up elements - (For IOrdering.Container property) - - - - - Track ViewState - - - - - Load ViewState - - ViewState with data - - - - Save Track ViewState - - Object data as array - - - - Shoulds the serialize intelligent labels enabled. - - - - - - Create instance of the class - - - - - Create instance of the class - - Chart - - - - Initialize object properties - - - - - Fill order list - - - - - Updated axes orientation accordingly to the SeriesOrientation - - - - - Series collection on current plot area - - Series collection - - - - Series collection on plot area filtered by Y axis type - - - Series collection - - - - Axis initialization - - - - - Create rectangles in the series items labels for Intelligent engine - - - - - Clearing automatic properties for axis items - - - - - Return position for starting bars drawing - - Series - Position - - - - Return position for starting bars drawing - - Series - Local(true) or global(false) - Position - - - - Restore default settings - - - - - Drop plot area clip regions - - - - - Prepare plot area for scale feature - - - - - Prepare plot area for scale feature - - X scale coefficient - Y scale coefficient - - - - Restore plot area settings after scaling - - - - - Returns the width of the bars according to the number of bar series and overlap ratio between them. - - Bar width - - - - Returns the width of the bars according to the number of bar series and overlap ratio between them. - - Series - Bar width - - - - Position calculation - - Instance of RenderEngine object - - - - Calculate plot area relative data table - - Instance of RenderEngine object - Visual container width - Visual container height - - - - Get elements order position - - Element - - - - Add element at the end of list - - Element - - - - Insert element at specific position in list - - Position - Element - - - - Remove element from list - - Element - - - - Remove element from list by it's index - - Position - - - - Re-index order list - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Temporary (for rendering process) list of series items labels - - - - - Common rendering region - - - - - Rendering region for a primary Y Axis series - - - - - Rendering region for a secondary Y Axis series - - - - - Marked zones collection - - - - - Visibility - - - - - Table that contain series data - - - - - Specifies the orientation of chart series on the plot area. - - - - - Intelligent labels engine switch - - - - - Specifies empty series message text - - - - - Gets XAxis. - - - - - Primary YAxis. - - - - - Secondary YAxis - - - - - Parent element - - - - - Style - - - - - Link to chart object - - - - - Popular values collection - - - - - List, that is represent the render order for taken up elements - - - - - Get a next free order position - - - - - Empty series message - Visible if no or empty series present - - - - - Create instance of the class - - - - - Create instance of the class - - Plot area - - - - Create instance of the class - - Rendering container element - - - - Create instance of the class - - Plot area - Rendering container element - - - - Checks if empty series message should be visible or not - - Should be visible or not - - - - Visibility - - - - - Enum describe a marked zone types - - - - - Y axis based marked zone - - - - - X axis based marked zone - - - - - Both axis based marked zone - - - - - Class describe a Marked zone functionality - - - - - Appearance properties for marked zone - - - - - Marked zone label - - - - - Tracking ViewState for Marked zone object - - - - - Loading ViewState data into Marked zone object - - - - - Saving Marked zone object into ViewState - - - - - Create a instance of object - - Container object - - - - Create a instance of object - - - - - Create a instance of object - - Name for marked zone - - - - Marked zone to String - - Marked zone name - - - - Define and return a marked zone type - - Marked zone type - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Visibility - - - - - Marked zone label - - - - - Appearance properties - - - - - Marked zone name - - - - - Marked zone Y Axis type - - - - - Marker start position X - - - - - Marker end position X - - - - - Marker start position Y - - - - - Marker end position Y - - - - - Marked zones collection - - - - - Parent element - - - - - Create instance of class - - - - - Create instance of class - - ChartPlotArea object as parent - - - - Add MarkerZone in the collection - - GridMarker for adding - - - - Clear collection - - - - - Insert GridMarker in collection at the specific position - - Position - GridMarker - - - - Remove GridMarker from collection - - GridMarker - - - - Remove GridMarker in the specific position from collection - - Position - - - - Parent element - - - - - Gets or sets a GridMarker at the specific position in GridMarkers collection. - - Position in the collection - GridMarker at the specific position - - - - Support class for defining the most popular values in a series items - - - - - Series item value - - - - - Count of series item whit this value - - - - - X position - - - - - Use for stacked series, max positive value - - - - - Use for stacked series, min negative value - - - - - Create instance of class - - Series item value - Count of items with this value - X-position - - - - Create instance of class - - Series item value - Count of items with this value - X-position - Use for stacked series, max positive value - Use for stacked series, min negative value - - - - X position - - - - - Use for stacked series, max positive value - - - - - Use for stacked series, min negative value - - - - - Series item value - - - - - X position - - - - - Collection of Popular objects - - - - - Copy list of pop values to targeted list - - Popular collection - - - - Getting popular values from all series and form list with pop values, his coordinates and number of his popularity - - Chart object - Popular values collection object - - - - Get popularity number by value - - Value - Number - - - - Get index by value in list of Popularity objects - - value - Index - - - - Series - - - - - Link to visualization and design properties - - - - - ChartSeries items collection - - - - - Plot area element for series drawing - - - - - Parent element - - - - - Returns whether there is an active region associated with the series. - - - - - Set series parent - - - - - - Creates a new instance of ChartSeries class. - - - - - Creates a new instance of ChartSeries class with given name - - Name of series - - - - Creates a new instance of ChartSeries class with given name and type. - - Name of series - Type of series - - - - Creates a new instance of ChartSeries class. - - Name of series - Type of series - Parent of series - - - - Creates a new instance of ChartSeries class. - - Name of series - Type of series - Parent of series - YAxisType(Primary or Secondary) - Style of series - - - - Creates a new instance of ChartSeries class. - - Name of series - Type of series - Parent of series - YAxisType(Primary or Secondary) - Style of series - DataSource column that is used to data-bind to the series YValue - DataSource column that is used to data-bind to the series XValue - DataSource column that is used to data-bind to the series YValue2 - DataSource column that is used to data-bind to the series XValue2 - DataSource column that is used to data-bind to the series YValue3 - DataSource column that is used to data-bind to the series YValue4 - DataSource column (member) that will be used as ChartSeries names source when Y-values are taken from one column for a several chart ChartSeries - - - - Creates a new instance of ChartSeries class. - - Parent of series - - - - Resets active region properties values - - - - - Search item index in series collection - - Item which index should to find - Index of item - - - - Sets the legend item's formatted text - - - - - Gets a Y value for empty points - - Series item - Series item index - Empty point y value - - - - Gets a Y value for empty points - - - - - Performs check for a required Bezier series items amount - - Error message - Bezier series items amount is proper - - - - Creates Pie series labels - - Points where labels should be located - Labels text - Angles - PieCenter point - PieRadius - RenderEngine of chart - - - - Filters X dependent series items without X value - - - - - Sum of series items' Y values - - Sum of series items' Y values - - - - Custom format string - - String should be formatted - Format expression - Formated string - - - - Return a sum value of items values - - Series item - Sum - - - - Replaces string - - String that should be changed - Expression for formatting - Item Value - Default format - - - - - - - - Returns text for item label - - Item which label should be taken - Label text - - - - Clears all series items from the data series. - - - - - Removes a series item(s) from the series. - - Item for removing - Items for removing - - - - Removes a series item(s) from the series. - - Index of item should be removed - Indexes of items should be removed - - - - Adds a series item(s) to the series. - - Item to add - Items to add - - - - Adds a series item(s) to the series. - - Items to add - - - - Adds a series item(s) to the series. - - Items to add - - - - Adds a series item(s) to the series. - - Items to add - - - - Adds a new series item to the data series by specifying its value. - - YValue of new item - - - - Adds a new series item to the data series by specifying its value and label. - - YValue of new item - Label of new item - - - - Adds a new series item to the data series by specifying its value, label and color. - - YValue of new item - Label of new item - Color of new item - - - - Adds a new series item to the data series by specifying its value, label, color and explosion. - - YValue of new item - Label of new item - Color of new item - If item is exploded - - - - Sets a new color to the series item at the specified index. - - Index of item to change color - New color of item - - - - Sets a new value for the series item at the specified index. - - Index of item to change YValue - New YValue - - - - Sets a new label for the series item at the specified index. - - Index of item to change label - New label - - - - Sets a new explode status for the series item at the specified index. - - Index of item - Shoul be exploded or not - - - - Sets new values to the data series by passing an array of real values. Old values are cleared. - - New values - - - - Sets new colors to the items in the data series. - - New colors - - - - Sets new labels to the items in the data series. - - New labels - - - - Sets exploded statuses to the items in the data series. - - New exploded values - - - - Sets new SeriesItems objects to the data series. - - New Items to replace old items in series - - - - Removes the SeriesItem object at the specified index. - - Index to remove - - - - Removes data binding links from series - - - - - Overridden - - Series name - - - - Copies settings from given series - - Series to copy from - - - - Copies series items from given series - - Series that items should be copied - - - - Return new ChartSeries instance with copied all properties from source object and cloned Items collection - - New instance of ChartSeries with copied fields - - - - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load ViewState - - ViewState with data - - - - Save Track ViewState - - Object data as array - - - Returns whether there is an active region associated with the series. - - - - Default attributes for series items' active regions - - - - - Default tooltip for series items' active regions - - - - - Default url for series items' active regions - - - - Specifies whether to render the series or not. - - - - Specifies the visual appearance of series items. - - - - - Gets or sets the type of the series. - - - - - Plot area element for series drawing - - - - - Parent element - - - - - Link to Chart object - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series X-value - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series X2-value - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series Y-value - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series Y2-value - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series Y3-value (High for CandleStick chart). - - - - - Gets or sets the name of the DataSource column (member) that is used to data-bind to the series Y4-value (Low for CandleStick chart). - - - - - Gets or sets the name of the DataSource column (member) that will be used as ChartSeries names source when Y-values are taken from one column for a several chart ChartSeries - - - - - Determines whether the series is configured as data bound or not. - - - - - Gets or sets the name of the data series. - - - - - Specifies the default value for the series items labels. - - - - - Current series index in the series collection - - - - - Y Axis used by series - - - - - Gets or sets a ChartSeries SeriesItem object at the specified index. - - - - - Gets a collection of series items. - - - - - Formatted text string for a Legend - - - - - Defines whether series can be used with zoom or not - - - - - If series depends of X value - - - - - If current series type is x dependent - - - - - Determines whether the series is stacked and not stacked100 or not. - - - - - Determines whether the series is stacked100 or not. - - - - - Determines whether the series is stacked or not. - - - - - Determines whether the series is line-type. - - - - - Determines whether the series is spline area-type. - - - - - Determines whether the series is normal area-type. - - - - - Determines whether the series is stacked line-type. - - - - - Determines whether the series is stacked area-type. - - - - - Determines whether the series is stacked area-type. - - - - - Determines whether the series is stacked area-type. - - - - - Determines whether the series has items with empty values - - - - - Series collection - - - - - Parent element - - - - Creates a new instance of the ChartSeriesCollection class. - - - - Creates a new instance of the ChartSeriesCollection class. - - Parent for collection - - - - Gets minimum Stacked 100 series item value - - Series Type - Minimum Stacked 100 series item value - - - - Gets maximum Stacked 100 series item value - - Maximum Stacked 100 series item value - - - - Gets the min value of the stacked series of a specifies type. - - Series Type - Min value of the stacked series of a specifies type. - - - - Gets the max value of the stacked series of a specified type. - - Series Type - Max value of the stacked series of a specified type - - - - Compares two doubles and return minimum value - - First value to compare - Second value to compare - Less value - Should NAN values be compared as 0 or not - - - - Compares two doubles and return maximum value - - First value to compare - Second value to compare - Greater value - Should NAN values be compared as 0 or not - - - - Checks if collection contains only Bezier series - - Whether collection contains only Bezier series - - - - Returns true if collection contains only pie series - - - - - - Define items label text for each item for the all series in the collection - - - - - Clear auto generated items label text for each item in the collection - - - - - Check if collection contains proper data - - Text of error - - - - Returns True if series is a stacked type - - - Is series a stacked type - - - - Returns True if series is a stacked100 type - - - Is series a stacked100 type - - - - Gets maximum series items count of specified type - - Type of series - Maximum series items count of specified type - - - - Gets series count of specified type - - Series type - Series count of specified type - - - - Gets series items sum - - Item index for calculating summary - Series items sum - - - - Return a sum value of items values - - Series - Dictionary of value and sum - - - - Checks if any series item has X value - - Checks if any series item has X value - - - - Gets value limits - - Value limits - - - - Clears all series's style main and secondary colors - - - - - Returns True if all series have no items - - True if all series have no items - - - - Count of specified type series - - Type of series - Start index to search - Count of specified type series - - - - Collection of series of specified type - - Type of series to select - Collection of series of specified type - - - - Collection of series of specified types - - Types of series to select - Collection of series of specified types - - - - Collection of series that use and have XValues - - Collection of series that use and have XValues - - - - Clone X-dpended series collection - - Clone X-dpended series collection - - - - Collection of series that use YAxis - - Collection of series that use YAxis - - - - Prepare series after AutoScale, add fake X values - - - - - Restore series after AutoScale, remove fake X values - - - - - Final code for series insertion - - Index where series should be insert - Value to insert - - - - Add ChartSeries at the collection - - ChartSeries to add - - - - Clears items in all series - - - - - Removes the all data series from the series collection. - - - - - Insert ChartSeries in collection at the specific position - - Position - ChartSeries - - - - Insert ChartSeries in collection at the specific position - - Position - ChartSeries - - - - Find series by name - - ChartSeries name - ChartSeries - - - - Returns a reference to the ChartsSereis object at the specified index. - - Index of series - Series with specified index - - - - Returns the number of items in the longest data series. - - Number of items in the longest data series - - - - Removes data binding links from series - - - - - Gets all series related to the given Y ChartAxis - - YAxisType(Primary, Secondary) - All series related to the given Y ChartAxis - - - - Gets the minimal item value of all series. - - Minimal item value of all series - - - - Gets the maximal item value of all series. - - Maximal item value of all series - - - - Load ViewState - - ViewState with data - - - - Parent element (chart) - - - - - Gets or sets a ChartSeries at the specific position in ChartSeries collection. - - Position in the collection - ChartSeries at the specific position - - - - Property is true if all series in collection is X depended - - - - - Returns the number of bar series which are drawn next to each other. StackedBars, StackedBars100 are counted as 1 bar series. - - Cont of bar series - - - - Defines whether all series in collection are scalable - - - - - Defines whether all series in collection are unscalable - - - - - Specifies legend items presentation. - - - - - The legend does not show any information from the series. - - - - - The legend shows the series name. - - - - - The legend shows the names of the series items. - - - - - Series orientation - - - - - Specifies Vertical Orientation - - - - - Specifies Horizontal Orientation - - - - - Class describe a value limits for axis calculation - - - - - Min X value - - - - - Max X value - - - - - Min Y value - - - - - Max Y value - - - - - Creates instance of ChartValueLimits class. - - Minimal x value - Maximal x value - Minimal y value - Maximal y value - - - - Represents the base element of RadChart's series. - - - - - Link to visualization and design properties - - - - - Point mark style - - - - - Item Label - - - - - Parent element - - - - - Relative value used for Stacked100 series - - - - - ActiveRegion - - - - - Defines if item has user-defined XValue or XValue was generated - - - - Creates a new instance of the ChartSeriesItem class. - - - Creates a new instance of the ChartSeriesItem class. - - - Creates a new instance of the ChartSeriesItem class. - - - Creates a new instance of the ChartSeriesItem class. - - - - Creates a new instance of the ChartSeriesItem class. - - - - Creates a new instance of the ChartSeriesItem class. - - - - Creates a new instance of the empty ChartSeriesItem class. - - - - - - Creates a new instance of the ChartSeriesItem class. - - - - - - Creates a new instance of the ChartSeriesItem class. - - - - - - - Creates a new instance of the ChartSeriesItem class. - - - - - - - - Creates a new instance of the ChartSeriesItem class. - - - - - - - - - Define items label text for item - - - - - Clear auto generated items label text for item - - - - - Returns XValue or 0 if it was not set - - XValue or 0 if it was not set - - - - Add item label to collection of PlotArea's labels for further their rendering - - Label text - Item's rectangle to calculate label position - RenderEngine of chart - Created Label - - - - Locate item label - - Label to correct position depend on SeriesOrientation - SeriesOrientation of chart - - - - Returns if item is inside PlotArea - - Rectangle that contains item - Whether item is inside PlotArea - - - - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Tracking ViewState data - - - - - Loading ViewState data - - ViewState with data - - - - Saving ViewState data - - Saved in View state data - - - - Clone this object - - New instance of ChartSeriesItem class that is copy of this object - - - Specifies whether the series item should be rendered. - - - - Relative value used for Stacked100 series - - - - - Active region - - - - - Link to visualization and design properties - - - - - Item label - - - - - Parent element - - - - - Is series item contains empty value - - - - - Main X value - - - - - Second x value for item - - - - - Main Y value for item - - - - - Second y value for item - - - - - Third y value for item (could be used in CandleStick charts as High value) - - - - - Fourth y value for item (could be used in CandleStick charts as Low value) - - - - - Return value by item value type name - - Value type name - value - - - - ChartSeriesItem name - - - - - Point appearance settings - - - - - Index in items collection - - - - - Design-time series item - - - - - Main X for design created item - - - - - Second X for design created item - - - - - Main Y for design created item - - - - - Second Y for design created item - - - - - Third Y value for design created item (could be used in CandleStick charts as High value) - - - - - Third Y value for design created item (could be used in CandleStick charts as Low value) - - - - - Random generator for design items - - - - - Constructor to initialize random generator - - - - - Creates new instance of the class. - - Specifies parent for item - - - - Creates new instance of the class. - - Name of item - Parent of item - - - - Initialize item X and Y values - - - - - Clear X and Y values of the item - - - - - Use needed X and Y values depend on type of series - - - - - Series items collection - - - - - Parent element - - - - Creates a new instance of the ChartSeriesItemsCollection class. - - - - Creates a new instance of the ChartSeriesItemsCollection class. - - Parent of the collection - - - - Define items label text for each item in the collection - - - - - Clear auto generated items label text for each item in the collection - - - - - Get item with max YValue not greater than specified - - Item which YValue is limit for searching - Item with max YValue not greater than specified - - - - Get item with min YValue not less than specified - - Item which YValue is limit for searching - Item with min YValue not less than specified - - - - Count of items with YValues in specified range - - Min limit for searching - Max limit for searching - Count of items with YValues in specified range - - - - Min YValue in specified range - - Min limit for searching - Max limit for searching - Min YValue in specified range - - - - Max YValue in specified range - - Min limit for searching - Max limit for searching - Max YValue in specified range - - - - Sort items - - - - - Filter items by YAxis VisibleValues(All, Negative, Positive) - - YAxis VisibleValues(All, Negative, Positive) - - - - Clear for all items Region - - - - - Add Item at the collection - - Item to add - - - - Adds a collection of series items to the items collection. - - Items to add - - - - Load ViewState data - - ViewState with data - - - - Parent element - - - - - Gets or sets a Item at the specific position in Items collection. - - Position in the collection - Item at the specific position - - - - Method for comparing ChartSeriesItems - - First SeriesItem - Second SeriesItem - Difference between YValues - - - - Chart Title - - - - Creates a new instance of the ChartTitle class. - - - Creates a new instance of the ChartTitle class. - Chart - - - Creates a new instance of the ChartTitle class. - Chart - Elements container - - - - Layout zone types - - - - - Vertical layout zone - - - - - Horizontal layout zone - - - - - Virtual chart area for a chart elements placement in auto-layout - - - - - Creates new class instance - - - - - Export zone to rectangle - - RectangleF - - - - Layout zone to Position - - Position - - - - Layout zone to Dimensions - - - - - - Creates Layout zone from chart object - - Zone container dimensions - Chart element like ChartTitle or Legend - LayoutZone - - - - Creates new layout zone from a space available for a chart element - - Chart dimensions - Chart element - Existing layout zones - LayoutZone - - - - Relocates existing layout zones to avoid their overlapping - - ChartTitle layout zone - Legend LayoutZone - DataTable layout zone - - - - Corrects element position to place it inside zone - - Element position - - - - Calculates element position - - Chart element - Element dimensions - Current element position - - - - Relocates current layout zone elements inside of layout zone - - - - - Gets the DataTable from Layout zone - - DataTable or null - - - - Gets ChartTitle from Layout zone - - ChartTitle or null - - - - Gets Legend from Layout zone - - Legend or null - - - - Remove duplicates from layout zone - - Layout zones array - - - - Fixes layout zone dimensions - - Layout zone to fix - - - - Is layout zone already used - - Layout zones array - Layout zone to check - Start index - True if zone already used - - - - Get Y offset of the element in zone - - Element - Left offset value - - - - Gets element's bound rectangle height - - Height - - - - Fix X coordinate and Width of two layout zones - - First Layout zone - Second Layout zones - - - - Corrects element position position - - Position - - - - Sets the layout zone dimension including appropriate margins - - Bound rectangle - Element margins - - - - Sets the layout zone dimension - - Container object dimensions - - - - Corrects the element position to place it inside Layout Zone - - Zone element position - Zone container dimensions - - - - Adds chart element in current layout zone - - Element to add - - - - X coordinate - - - - - Y coordinate - - - - - Zone width - - - - - Zone height - - - - - Zone type - - - - - IOrdering list element by index - - Element index - - - - - Zone aligned position - - - - - Encryption utility class - - - - - Encrypts string using AES algorithm - - Text string to encrypt - Encryption key array - IV array - Encrypted byte array - - - - Decrypts bytes array to a string using AES algorithm - - Encrypted bytes array - Encryption key array - IV array - Encrypted byte array - - - - Common chart utility methods - - - - - Class constructor - - - - - Xml support method. Gets the Xml attribute value - - Target string to save the value - XmlNode to get attribute from - Xml attribute name - True in case of success - - - - Sets the XmlAttribute value - - XmlElement to set attribute value - Attribute name - Value to set - Value type if value is Enumeration - - - - Compares two Color arrays - - First array to compare - Second array to compare - True if arrays are equal - - - - Compares two float arrays - - First array to compare - Second array to compare - True if arrays are equal - - - - Calculates sum of a float array members - - Array - Sum value - - - - Default properties values constants - - - - - Rounding digits limit - - - - - Minimum possible axis step value - - - - - Default main colors array - - - - - Default secondary colors array - - - - - Gets main color from a colors array at the specified index - - Colors index in an array - Color - - - - Gets secondary color from a colors array at the specified index - - Colors index in an array - Color - - - - Supporting class for Visual Studio design mode. - Used for manipulations of content of axis segments collection - - - - - Parent object of axis segments collection - - - - - Create a instance of AxisSegmentsCollectionEditor class - - Type descriptor - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - returned value - - - - Creates a new instance of a column for custom collection - - Type descriptor - new instance - - - - Supporting class for Visual Studio design mode. - Used for manipulations of content of axis items collection - - - - - Parent object of axis items collection - - - - - Create a instance of ChartAxisItemsCollectionEditor class - - Type descriptor - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - returned value - - - - Creates a new instance of a column for custom collection - - Type descriptor - new instance - - - - Supporting class for Visual Studio design mode. - Used for select palette - - - - - Object that provide an interface for a System.Drawing.Design.UITypeEditor to display - Windows Forms or to display a control in a drop-down area from a property - grid control in design mode. - - - - - ListBox for palette selection - - - - - Create a instance of ChartPaletteEditor class - - - - - Return edit style for ListBox - - Object which provide contextual information about a component - Edit style - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Added to automatically close dropdown after user selection - - Object which generate a event - Event arguments - - - - Dispose - - - - - Dispose - - True - if should disposing - - - - For resize ability - - - - - Supporting class for Visual Studio design mode. - Used for palette collection changes - - - - - Chart component object - - - - - Create a instance of CustomPaletteCollectionEditor class - - Type descriptor - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Creates a new instance of a column for custom collection - - Type descriptor - New instance - - - - Supporting class for Visual Studio design mode. - Used for series collection content manipulations - - - - - Chart as component object - - - - - Create a instance of SeriesCollectionEditor class - - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Creates a new instance of a column for custom collection - - Type descriptor - New instance - - - - Supporting class for Visual Studio design mode. - Used for series items collection changes - - - - - Series - - - - - Create a instance of CustomPaletteCollectionEditor class - - Type descriptor - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Creates a new instance of a column for custom collection - - Type descriptor - New instance - - - - Supporting class for Visual Studio design mode. - Used for skins collection changes - - - - - Object which Provides an interface for a System.Drawing.Design.UITypeEditor to display - Windows Forms or to display a control in a drop-down area from a property - grid control in design mode. - - - - - ListBox for select value - - - - - Create a instance of ChartSkinEditor class - - - - - Return edit style for ListBox - - Object which provide contextual information about a component - Edit style - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Added to automatically close dropdown after user selection - - Object which generate a event - Event arguments - - - - Return a component for changes - - Object which defines a mechanism for retrieving a service object. - Object which provides functionality required by all components - - - - Dispose object - - - - - Dispose object - - Should dispose - - - - Used for resize ability - - - - - Supporting class for Visual Studio design mode. - Used for edit complex gradient - - - - - Create a instance of ColorBlendEditor class - - - - - - Creates a new instance of a column for custom collection - - Type descriptor - New instance - - - - Supporting class for Visual Studio design mode. - Used for comments(additional labels) collection changes - - - - - Chart component object - - - - - Create a instance of CustomPaletteCollectionEditor class - - Type descriptor - - - - Called to edit a value in collection editor - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Supporting class for Visual Studio design mode. - Used for DataColumn changing - - - - - Object which Provides an interface for a System.Drawing.Design.UITypeEditor to display - Windows Forms or to display a control in a drop-down area from a property - grid control in design mode. - - - - - ListBox for select value - - - - - Previous value - - - - - Return edit style for ListBox - - Object which provide contextual information about a component - Edit style - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Filling listbox - - Data - DataMember - - - - Added to automatically close dropdown after user selection - - Object which generate a event - Event arguments - - - - Dispose object - - - - - Dispose object - - Should dispose - - - - Supporting class for Visual Studio design mode. - Used for figure change - - - - - Object which Provides an interface for a System.Drawing.Design.UITypeEditor to display - Windows Forms or to display a control in a drop-down area from a property - grid control in design mode. - - - - - ListBox for select value - - - - - Previous value - - - - - Style object - - - - - Create new instance of FiguresEditor class - - - - - Return edit style for ListBox - - Object which provide contextual information about a component - Edit style - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Added to automatically close dropdown after user selection - - Object which generate a event - Event arguments - - - - Dispose object - - - - - Dispose object - - Should dispose - - - - Supporting class for Visual Studio design mode. - Used for custom figures collection changes - - - - - Chart component object - - - - - Collection of custom figures - - - - - True after cancel button click - - - - - Create new instance of FiguresEditor class - - Type - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Return collection to previous state - - Custom figures collection - - - - Drop changes - - - - - Creates a new instance of a column for custom collection - - Type - New instance - - - - Supporting class for Visual Studio design mode. - Used for labels collection changing - - - - - Extended label - - - - - Create new instance of FiguresEditor class - - Type - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Creates a new instance of a column for custom collection - - Type - New instance - - - - Supporting class for Visual Studio design mode. - Used for marked zones collection changes - - - - - Plot area - - - - - Create new instance of FiguresEditor class - - Type - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Creates a new instance of a column for custom collection - - Type - New instance - - - - Supporting class for Visual Studio design mode. - Used for DataColumn with numeric data changing - - - - - Filling listbox - - Data - DataMember - - - - Supporting class for Visual Studio design mode. - Used for palette items collection changes - - - - - Palette for changing - - - - - Create new instance of FiguresEditor class - - Type - - - - Call when value change - - Object which provide contextual information about a component - Object which define a mechanism for retrieving a service object - Value - New value - - - - Return collection to previous state - - Custom figures collection - - - - Common interface for a ordering collections - - - - - Adds IOrdering elements list in the collection - - IOrdering list to add - The starting index at collection to add elements to - - - - Adds only visible items to collection - - IOrdering list to add - The starting index at collection to add elements to - - - - Adds only visible item to collection - - IOrdering element to add - The starting index at collection to add element to - - - - Gets the IOrdering element from collection at the given index - - Element index - IOrdering element - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Event arguments when a chart element is clicked. - - - - - Reverse link to a parent - - - - - Chart series - - - - - Chart Series Item - - - - - Create instance of the class - - Parent object - series - series item - - - - Create instance of the class - - Parent object - series - - - - Create instance of the class - - Parent object - - - - Reverse link to a parent - - - - - Chart series - - - - - Chart Series Item - - - - - Main Image object - - - - - Main Graphics object - - - - - Chart that should be rendered - - - - - Temporary series list for rendering - - - - - Show if only bound of axis items be calculated - - - - - Resolution of resulting bitmap - - - - - Temporary series list - - - - - Create instance of class - - Chart - Image width - Image height - - - - Create instance of class - - Chart - Image width - Image height - Resolution - - - - Create instance of class - - Chart - Image width - Image height - Value that indicate should initialize graphics object or not - - - - Destructor - - - - - Scaling graphic path - - Path for scale - Width - Height - Scaled path - - - - Moving graphic path - - Path for moving - New X coordinate - New Y coordinate - Moved path - - - - Translate local elements coordinates to global - - Chart element - Global positio - - - - Translate elements visual setting to Pen object - - Border style - Pen Alignment - Pen - - - - Translate elements visual setting to Pen object - - Elements border style - Pen - - - - Translate elements visual setting to Pen object - - Elements line style - Color - Width - Pen - - - - Translate elements visual setting to Brush object - - Fill style of elements - Element bound rectangle - Brush - - - - Translate elements visual setting to Brush object - - Elements bound rectangle - Elements fill setting - Brush - - - - Return a angle for diagonal in rectangle - - Rectangle - Angle - - - - Normalize rectangle - - Rectangle - - - - Normalize corners round coefficient - - Round coefficient - Type of corner - Type of corner - Width - Height - Round coefficient - - - - Rounding corners for rectangle elements - - Corners - X coordinate - Y coordinate - Width - Height - Graphics Path with rounded corners - - - - Rounding corners for rectangle elements - - Corners - Rectangle - Series - Graphics Path with rounded corners - - - - Compare list of SizeF object and return the largest of them - - List of sizes - Max size - - - - String manipulation use in PrepareForHorisontalOverflow and PrepareForVerticalOverflow methods - - Graphics - Result string - String for adding - Spacer - Width - Font - String - - - - Prepare text for vertical overflow - - Graphics - String - Font - Width - String - - - - Return area (Region object) for clipping - - Type of YAxis - Region - - - - Return area(Region object) for clipping - - Chart element - Region - - - - Rendering chart and/or its elements - - Chart element - - - - Rendering PlotArea and its elements - - Value that indicate should render grid lines or not - Value that indicate should render ticks or not - - - - Drawing ScaleBreacks - - Y Axis - - - - Rendering MarkedZones Label - - - - - Rendering all MarkedZones - - - - - Rendering chart axis items - - Axis - - - - Rendering chart axis - - Axis - - - - Rendering YAxis - - Y axis - - - - Rendering chart axis label - - Axis label - - - - Rendering MarkedZone - - Marked zone - X Axis - Y Axis - - - - Change x to y and y to x - - Point - - - - Grids line drawing - - Array of points - Pen - - - - Ticks drawing - - Array of points - Length - Pen - - - - Ticks drawing - - - - - Ticks drawing - - Axis - - - - Ticks drawing - - Axis - - - - Grids line drawing - - - - - Grids line drawing - - Axis - - - - Grids line drawing - - Axis - - - - Rendering TextBlock - - Text block element - - - - Rendering chart elements - - Chart element - - - - Rendering chart elements - - Chart element - Series item - - - - Rendering chart elements - - Chart element - Value that indicate should drawing fill or not - Value that indicate should drawing border or not - - - - Rendering chart - - - - - Rendering chart data table border - - Data table - - - - Rendering chart data table - - Data table - - - - Translate elements visual setting to Brush object - - FillStyle object - X coordinate of element - Y coordinate of element - Elements width - Elements height - Image - Brush - - - - Translate elements visual setting to Brush object - - X coordinate - Y coordinate - Width - Height - Image - Brush - - - - Returns a base point for rotation aligned elements - - Rectangle - Aligned position - Point - - - - Return a list of all ancestry elements - - Element - Parents list - - - - Return global Rotation angle - - Chart element - Path - Rotation angle - - - - Initializing elements of chart - - - - - Prepare chart elements (calculating sizes, positions, etc) for rendering - - - - - Scaling PlotArea for zoom feature - - X scale coefficient - Y scale coefficient - - - - Prepare chart elements (calculating sizes, positions, etc) for rendering - - IContainer chart element - - - - Create layout zone (for AutoLayout feature) based on chart label element - - Label - Is label visible - Labels Layout zone - - - - Prepare chart elements (calculating sizes, positions, etc) for rendering - - Chart object - - - - Creating graphics stage for EMF file format - - Image width - Image Height - Image MetaFile - - - - First rendering engine initialization - - Image width - Image height - Succses - - - - Renders default chart image and returns it - - - - - - Renders default chart image. Could return image clone. - - Value that indicate should create clone of result image or not - - - - - Renders Plot area image only - - Value that indicate should create clone of result image or not - - - - - Rendering chart background area image without plot area - - Value that indicate should create clone of result image or not - Value that indicate use background or not - Value that indicate should render title or not - Value that indicate should legend or not - Value that indicate should render plot area border or not - Value that indicate should render XAxis or not - Value that indicate should render YAxis or not - Value that indicate should render YAxis2 or not - - - - Rendering chart axis image with ticks and items - - Value that indicate should create clone of result image or not - Axis type - Image - - - - Renders the entire chart image - - Value that indicate should create clone of result image or not - Image - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Show if need render only shadows - - - - - Common bars width - - - - - Common bars width ratio - - - - - Selected Palette - - - - - Rendering chart and/or its elements - - Series - Series index - - - - Rendering Bar - type chart - - Series - Series index - Series item - Series item index - Bars rectangle - - - - Rendering series shadow for Bar - type chart - - Series - Series item - Bars rectangle - - - - Rendering series for Bar - type chart - - Series - Series index - Bar ordering mode - - - - Rendering series for StackedBar - type chart - - Series type - Bar ordering mode - - - - Modifications in StackedBars for strict mode - - Series item - Bars overlap ratio - Item index - Bars x position - Bar width - - - - Modifications in StackedBars (with positive values) for strict mode - - Series item - Series item value - Bar width - Bars overlap ratio - Bars x position - Bar width - Minimal value - Total positive value - Value - - - - Modifications in StackedBars (with negatives values) for strict mode - - Series item - Series item value - Bar width - Bars overlap ratio - Bars x position - Bar width - Minimal value - Total negative value - Value - - - - Returns array of points - - Array of points - Array of points - - - - Returns array of points for drawing points Marks - - Array of points - Items count - Array of points - - - - Create path for Area-type series - - Series - Series index - Max items count - Array of points - Area path - - - - Create ActiveRegion for Area-type series item - - Point for first item - Point for second item - Value of first item - Value of second item - Series Orientation - Path for active region - Area item active region path - - - - Rendering series for Area - type chart - - Series - Series index - - - - Rendering series for StackedArea - type chart - - Series type - - - - Rendering series for Line - type chart - - Series - Series index - - - - Rendering series for Pie - type chart - - Series - Series index - - - - Rendering Empty point - - Series - Series item - Series item index - Axis start value - - - - Rendering series for Gantt - type chart - - Series - Series index - - - - Rendering series for Point - type chart - - Series - Series index - - - - Rendering point label and marker - - Series - Series item - Series index - Series item index - Point - - - - Rendering series for Bubble - type chart - - Series - Series index - - - - Rendering series for CandleStickr - type chart - - Series - Series index - Ordering mode - - - - Rendering Series labels - - - - - Rendering point marks - - Series - Array of points - - - - Checking YAxis type for Series - - Series - PlotArea - YAxis Visible Values - - - - Rendering shadow for Line - type chart - - Pen for shadow drawing - Series - Path - - - - Removing unnecessary zeros from lists' end - - List - - - - Rendering series for Line - type chart - - Series - Series index - Array of points - - - - Rendering series for Bezier - type chart - - Series - Serie index - Array of points - - - - Rendering lines for Area - type chart - - Series - Series index - Array of points - - - - Rendering polygon for area-types chart series - - - - - Translate elements visual setting to Brush object - - Series - Series index - Series item - Series item index - Item rectangle - Brush - - - - Gets the empty brush. - - The series. - The rect. - - - - - Translate elements visual setting to Fill - - Series - Series index - Series item - Series item index - FillStyle - - - - Return a default color - - Fill style of elements - Elements(series or series item) index - - - - Translate elements visual setting to Pen object - - Series - Series index - Series item - StyleBorder - - - - Translate elements visual setting to Pen object - - Series - Series index - Series item - Pen - - - - Returns empty Pen object - - Series - Series index - Series item - Pen - - - - Drop clip area - - - - - Set correct ordering mode for x axis - - - - - Checking a series. Should be applied categorical x axis or not - - BarOrderingMode - - - - Checks if error message rendered - - Signal - - - - Aligned positions listing - - - - - Assign the right position for element - - - - - Assign the left position for element - - - - - Assign the top position for element - - - - - Assign the bottom position for element - - - - - Assign the center position for element - - - - - Assign the top right position for element - - - - - Assign the top left position for element - - - - - Assign the bottom right position for element - - - - - Assign the bottom left position for element - - - - - Define auto wrap option for text - - - - - Means that value of auto text wrap will be inherit of parent element. - - - - - Means that auto text wrap will be applied. - - - - - Means that auto text wrap will not be applied. - - - - - Specifies different axis styles for positioning of item labels and marks. - - - - - Sets the default axis layout style. - - - - - Sets the endmost axis items inside the axis. - - - - - Sets axis items between axis marks. - - - - - Define visibility option for axis - - - - - Means that axis will be visible if it is XAxis or any series belongs to it. - - - - - Means that axis will be visible. - - - - - Means that axis will be not visible. - - - - - Axis visible values range positive / negative - - - - - All values will be visible. - - - - - Only positive values will be visible. - - - - - Only negative values will be visible. - - - - - Specifies that no default format string is specified. Uses CustomFormat if is . - - - - - Default format string is set to currency : "C". - - - - - Default format string is set to scientific : "E". - - - - - Default format string is set to general : "G". - - - - - Default format string is set to number : "N". - - - - - Default format string is set to percent : "P". - - - - - Converts to short date using ShortDatePattern set in CurrentCulture. Uses CustomFormat if is set. - - - - - Converts to short time using ShortTimePattern set in CurrentCulture. Uses CustomFormat if is set. - - - - - Converts to long date using LongDatePattern set in CurrentCulture. Uses CustomFormat if is set. - - - - - Converts to long time using LongTimePattern set in CurrentCulture. Uses CustomFormat if is set. - - - - - Gradient element - - - - - Create new instance of GradientElement class. - - - - - Create new instance of GradientElement class. - - Color - Position - - - - Reset to default parameters - - - - - Comparing to objects - - Object for comparing - Whether objects are equal or not - - - - Gets hash code - - Hash code - - - - Clone this object. - - New instance of GradientElement class with the same fields as this one - - - - Gets and sets Color - - Color - - - - Gets and sets Position - - Position - - - - Defines arrays of elements and positions used for interpolating GradientElement blending in a multicolor gradient. - - - - - Container element - - - - - Create new instance of ColorBlend class. - - - - - Create new instance of ColorBlend class. - - Colors to add - - - - Create new instance of ColorBlend class. - - Colors to add to the object - Container element - - - - Create new instance of ColorBlend class. - - Colors to add to the object. - Positions of colors. - Container element - - - - Create new instance of ColorBlend class. - - Colors to add to the object - Positions of colors - - - - Create new instance of ColorBlend class. - - Container element. - - - - Adds a range of elements to the collection. - - Object that contains element to add - - - - Load pairs colors\positions from specified object. - - Object to load from. - - - - Gets ColorBlend's colors. - - ColorBlend's colors. - - - - Gets ColorBlend's positions. - - ColorBlend's positions. - - - - Gets color at specified position. - - Position to get color. - Color at specified position. - - - - Returns gradient brush - - Rectangle of brush - Angle of brush. - Gradient brush - - - - Comparing two objects. - - Object to compare. - Whether objects equal or not - - - - Color blends comparer - - First object for comparing - Second object for comparing - Whether objects equal or not - - - - Clone this object. - - New instance of ColorBlend class with the same fields as this one. - - - - Sets the edge type of rectangular shapes. - - - - - Container object - - - - - Create new instance of Corners class. - - Container object - - - - Create new instance of Corners class. - - - - - Create new instance of Corners class. - - RoundSize for coners - - - - Create new instance of Corners class. - - Type of top left corner - Type of top right corner - Type of bottom left corner - Type of bottom right corner - RoundSize of corners - - - - Implicitly creates a Corners from the specified string. - - The string to parse - Object of corners type - - - - Converts the specified string to Corners. - - The string to convert. - Corners that represents the specified string. - - - - Converts the specified string to a Corners. - - The string to convert. - CultureInfo used - Object of corners type - - - - Set specified type for all corners - - Type of corners - - - - Compare two objects of Corners type - - Object to compare with - Whether objects equal - - - - Gets HashCode - - HashCode - - - - Clone this object - - New instance of Corners type - - - - Copy fields from specified object - - Object to copy from - - - - Reset all settings to default - - - - - Gets and sets the type of the top left corner of the rectangular shape. - - Type of top left corner - - - - Gets and sets the type of the top right corner of the rectangular shape. - - Type of top right corner - - - - Gets and sets the type of the bottom left corner of the rectangular shape. - - Type of bottom left corner - - - - Gets and sets the type of the bottom right corner of the rectangular shape. - - Type of bottom right corner - - - - Gets and sets the round size of the corner. - - Round size of corners - - - - Check whether all corners are of Rectangle type. - - - - - Check whether can convert an object of the given type to the type of this converter, using the specified context - - Context for types converting - Type to convert - Can convert an object or not - - - - Conversion of an object to the type of this converter - - Context for types converting - To use at the current culture - Object to convert - Converted object - - - - Conversion of an object to the specified type - - Context for types converting - To use at the current culture - Object to convert - Type to convert the value parameter to - converted object - - - - Get Properties Supported - - Context - Properties Supported - - - - Gets Properties of type - - Context - - - Properties of this type - - - - Get Create Instance Supported - - Context - Get Create Instance Supported - - - - Create new instance - - Context - Properties - New instance - - - - Corner type - - - - - Specifies a sharp corner. - - - - - Specifies a rounded corner. - - - - Represents custom shape of an element. - - - Represents element shape. Base class for specialized shapes such as - EllipseShape, RoundRectShape, Office12Shape, etc. - - - - Serializes properties. Required for serialization mechanism of telerik - framework. - - - - - Deserializes properties. Required for the deserialization mechanism of telerik - framework. - - - - Initializes a new instance of the CustomShape class. - - - Initializes a new instance of the CustomShape class using a container. - - - Creates a path using a ractangle for bounds. - - - Serializes properties. Required for telerik serialization mechanism. - - - Deserializes properties. Required for telerik deserialization mechanism. - - - Gets a List of Shape points. - - - Gets or sets a Rectangle indicating the dimension of the shape. - - - - Represents a shape editor control. - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Represents a shape point. - - - - - Represents a base class of the ShapePoint class. - - - - - Initializes a new instance of the ShapePointbase class. - - - - - Initializes a new instance of the ShapePoint class using X and Y - coordinates. - - - - - Initializes a new instance of the ShapePoint class using a Point structure. - - - - - - Initializes a new instance of the ShapePoint class using an instance of the - ShapePointBase class. - - - - - - Sets the X and Y coordinates of the shape point. - - - - - - - Sets the point position from a Point structure. - - - - - - Retrieves a Point structure corresponding to the point position. - - - - - - - - - - - - - Retrieves a string representation of the ShapePointBase class. - - - - - - Gets or sets a float value indicating the X coordinate of the shape point. - - - - - Gets or sets a float value indicating the Y coordinate of the shape point. - - - - - Gets or sets a value indicating the anchor style. - - - - - Gets or sets a boolean value indicating whether the shape point is locked. - - - - - Initializes a new instance of the ShapePoint class. - - - - - Initializes a new instance of the ShapePoint class from - the X and Y coordinates of the point. - - - - - - - Initializes a new instance of the ShapePoint class from a Point structure. - - - - - Initializes a new instance of the ShapePoint class using a ShapePoint instance. - - - - - - Creates a Bezier curve between the current point and the point given as a - parameter. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the first control point. - - - - - Gets or sets the second control point. - - - - - Exposes the line direction. - - - - - Exposes the line position. - - - - - Indicates horizontal position. - - - - - Indicates vertical position. - - - - Represents element shape converter. - - - - - - Represents round rectangle shape. - - - Initializes a new instance of the RoundRectShape class. - - - Initializes a new instance of the RoundRectShape class using a radius. - - - Greates round rectangle like path. - - - Serializes properties. Required for telerik serialization mechanism. - - - Deserializes properties. Required for telerik deserialization mechanism. - - - Gets or sets the radius of the shape. - - - - Defaults - - - - - Dimensions base class - - - - - Interface that sizable objects implement. - - - - - Gets and sets auto size mode. - - - - - Gets and sets height value. - - - - - Gets and sets width value. - - - - - Gets and sets margins. - - - - - Gets and sets paddings. - - - - - Specifies the margins properties - - - - - Specifies the paddings properties - - - - - Gets if Height property should be serializable. - - If Height property should be serializable. - - - - Reset Height to default value. - - - - - Gets if Width property should be serializable. - - If Width property should be serializable. - - - - Gets if Width property should be serializable. - - If Width property should be serializable. - - - - Create new instance of Dimensions class. - - Container element - - - - Create new instance of Dimensions class. - - - - - Create new instance of Dimensions class. - - Width of element - Height of element - - - - Create new instance of Dimensions class. - - Width of element - Height of element - - - - Create new instance of Dimensions class. - - Margins of element - - - - Create new instance of Dimensions class. - - Paddings of element - - - - Create new instance of Dimensions class. - - Margins of element - Paddings of element - - - - Container element. - - - - - Copy of this object. - - - - - Resets to default values - - - - - Checks if objects are equal without margins and paddings. - - Object to compare - If objects are equal without margins and paddings - - - - Sets the new Width and Height values - - Width of element - Height of element - - - - Sets the new Width and Height values - - Width of element - Height of element - - - - Copy dimensions from the object. - - Object tot copy from. - - - - Comparing of two objects. - - Object to compare with. - Whether objects are equal. - - - - Gets hash code. - - Hash code. - - - - Returns True if dimensions width and height are zero values - - True if dimensions width and height are zero values - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Clone this object. - - New instance of Dimensions class with the same fields as this object. - - - - Track ViewState. - - - - - Load data from ViewState. - - ViewState with data - - - - Save data to ViewState. - - Saved data - - - - Gets and sets Auto sizing mode - - True if auto size, false - if not. - - - - Specifies the height property - - Height value of Unit type. - - - - Specifies the width property - - Width value of Unit type - - - - Specifies the margins properties - - Margins for element - - - - Specifies the paddings properties - - Paddings for element - - - - Gets property value by name. - - Name of property. - Value of property. - - - - Specific series point marks dimensions - - - - - Create new instance of DimensionsSeriesPointMark class. - - Container element. - - - - Create new instance of DimensionsSeriesPointMark class. - - - - - Resets Height to default values - - - - - Resets Width to default values - - - - - Resets to default values - - - - - Clone this object. - - New instance of DimensionsSeriesPointMark class with the same fields as this object. - - - - Specifies Height of element. - - - - - Specifies Width of element. - - - - - Specifies margins of element. - - - - - Specifies paddings of element. - - - - - Chart title's dimensions - - - - - Create new instance of DimensionsTitle class. - - - - - Reset to default values. - - - - - Specifies margins of element. - - - - - Specifies paddings of element. - - - - - Default plot area's dimensions - - - - - Create new instance of DimensionsPlotArea class. - - - - - Reset to default settings - - - - - Specifies margins of element. - - - - - Chart's dimensions - - - - - Reset Height to default settings - - - - - Reset Width to default settings - - - - - Default height - - - - - Default width - - - - - Reset to default settings - - - - - Specifies Height of element - - - - - Specifies Width of element - - - - - Legend's dimensions - - - - - Create new instance of DimensionsLegend - - - - - Reset to default settings - - - - - Specifies margins of element - - - - - Specified paddings of element - - - - - Marker's default dimensions - - - - - Create new instance of DimensionsMarker class. - - Container element - - - - Create new instance of DimensionsMarker class. - - - - - Create new instance of DimensionsMarker class. - - Width of element - Height of element - - - - Reset Height to default settings - - - - - Reset Width to default settings - - - - - Reset to default settings - - - - - Specifies paddings of element - - - - - Gets and sets Auto size mode of element - - - - - Specifies height of element - - - - - Specifies width of element - - - - - PointMark's default dimensions - - - - - Clone this object. - - New instance of DimensionsPointMarker class with the same fields as this object. - - - - Specifies margins of element - - - - - Empty values representation mode - - - - - Empty value - - - - - Empty value point appearance - - - - - Line, Spline, Bezier series line style - - - - - Specifies an empty bar fill style - - - - - Create new instance of EmptyValue class. - - - - - Reset all settings to default. - - - - - Clone this object. - - New instance of the object EmptyValue with the same fields as this object has. - - - - Track ViewState. - - - - - Load data from ViewState. - - ViewState with data - - - - Save data to ViewState. - - Saved data. - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets and sets Empty values representation mode - - - - - Gets and sets Empty line style - - - - - Gets and sets Empty value point mark - - - - - Specifies an empty bar fill style - - - - - User-defined figure - - - - - Creates new instance of CustomFigure class. - - - - - Creates new instance of CustomFigure class. - - Name of figure - Data in string format used for figure creation - - - - Gets String representation - - String representation - - - - Gets and sets Figure's name - - Name of figure - - - - Gets and sets Figure's source - - Data in string format needed to restore object - - - - Custom figures collection - - - - - Gets or sets a custom figures collection item. - - Index to get figure - Figure at specified index - - - - Gets or sets a custom figures collection item. - - Name of figure to get - Figure with specified name - - - - Adds a custom figure to the collection. - - Figure for adding - - - - Adds an array of figure items to the figures collection. - - Figures for adding - - - - Indicates whether the specified figure item exists in the collection. - - Figure name - Whether the specified figure item exists in the collection or not - - - - Returns the index of the specified figure item. - - Name of figure - Index of figure with specified name - - - - Removes figure with specified name - - Name of figure - - - - Default figures' names - - - - - List of default figures' names - - - - - Gets whether list contains figure with specified name - - Name of figure - Whether list contains figure with specified name or not - - - - Get graphics path of figure with specified name - - Name of figure - Graphics path - - - - Create graphics path for star figure - - Count of points in star - Rectangle of star figure - Ratio - Graphics path of star figure - - - - Default figures - - - - - List of figures - - - - - Create new instance of FiguresCollection class. - - - - - Create new instance of FiguresCollection class. - - Chart to add figures into collection - - - - Add list of figures into collection - - List of figures - - - - Add figure with specified name - - Name figure for adding - - - - Gets graphics path of figure with specified name - - Name of figure - Graphics path - - - - Gets graphics path of figure with specified name in chart's custom figures - - Name of figure - Chart with custom figures - Graphics path - - - - Gets list of figures - - - - - Specifies the direction of a linear gradient. - - - - - Fill settings - - - - - Specifies the blend colors for Gradient fill - - - - - Create new instance of FillSettings class. - - Container object - - - - Create new instance of FillSettings class. - - - - - Constructor for FillSettings for the Linear gradient fill mode - - Linear gradient fill mode - Linear gradient fill angle - Specifies the blend colors for Gradient fill - - - - Constructor for FillSettings for the Hatch fill mode - - Hatch style - - - - Constructor for FillSettings for the Image fill mode - - Image mode - Image path - Alignment of image - Flip mode - - - - Container element - - - - - Reset to default values - - - - - Get background image of chart - - Chart to get image - Image from resources - - - - Clone this object - - New instance of FillSettings class with the same fields as this object. - - - - Comparing two objects. - - Object for comparing - Whether objects are equal or not - - - - Gets hash code - - Hash code - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Specifies the Linear gradient fill mode - - - - - Specifies the Linear gradient fill angle - - - - - Specifies the blend colors for Gradient fill - - - - - Specifies the style of hatch fill type - - - - - Specifies how image should be drawing - - - - - Specifies the URL of Image file - - - - - Specifies the Image align mode - - - - - Specifies the image flip settings - - - - - Gets property value by name - - Name of property - Value of property - - - - Vertical gradient default fill settings - - - - - Reset values to default - - - - - Specifies the Linear gradient fill mode - - - - - Fill style base class - - - - - Fill settings - - - - - Create new instance of FillStyle class. - - - - - Create new instance of FillStyle class. - - Container element - - - - Create new instance of FillStyle class. - - Main color - - - - Create new instance of FillStyle class. - - Main color - Second color - - - - Create new instance of FillStyle class. - - Main color - One of FillType values(Solid, Gradient, ComplexGradient, Image,Hatch) - - - - Create new instance of FillStyle class. - - Main color - Second color - One of FillType values(Solid, Gradient, ComplexGradient, Image,Hatch) - - - - Create new instance of FillStyle class. - - Main color - Second color - Fill settings - Specifies whether gamma correction should be used - One of FillType values(Solid, Gradient, ComplexGradient, Image,Hatch) - - - - Container element - - - - - Reset to default settings - - - - - Clone of this object - - New instance of FillStyle class with the same fields as this object - - - - Comparing of two objects - - Object to compare - Whether objects are equal or not - - - - Gets hash code - - Hash code - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Gets and sets the main color of figure background - - - - - Gets and sets the second color of figure background - - - - - Gets and sets fill settings - - - - - Gets and sets the main color opacity coefficient - - - - - Gets and sets the second color opacity coefficient - - - - - Specifies whether gamma correction should be used - - - - - Specifies which of fill styles (Hatch, Solid, Image, Gradient) should be used - - - - - Gets value of property by its name - - Name of property - Value of property - - - - Series fill style - - - - - FillStyleSeries with default settings - - - - - Create new instance of FillStyleSeries class. - - - - - Create new instance of FillStyleSeries class. - - Container element(series) - - - - Reset to default values - - - - - Gets or sets the color of the data series. - - - - - Gets or sets the color of the data series. - - - - - Series points fill style - - - - - Create new instance of FillStyleSeriesPoint class. - - Container element - - - - Create new instance of FillStyleSeriesPoint class. - - - - - Reset to default values - - - - - Chart's background fill style - - - - - Create new instance of FillStyleChart class. - - - - - Reset to default values - - - - - Specifies which of fill styles (Hatch, Solid, Image, Gradient) should be used - - - - - Gets or sets the color of the data series. - - - - - Create new instance of FillStylePlotArea class. - - - - - Default value of Main color - - - - - Default value of Second color - - - - - Reset to default values - - - - - Chart plot area main color - - - - - Chart plot area second color - - - - - Specifies which of fill styles (Hatch, Solid, Image, Gradient) should be used - - - - - Title's background fill style - - - - - Reset to default values - - - - - Chart title main color - - - - - Specifies which of fill styles (Hatch, Solid, Image, Gradient) should be used - - - - - Marked zone fill style - - - - - Reset to default values - - - - - Chart marked zone main color - - - - - Specifies which of fill styles (Hatch, Solid, Image, Gradient) should be used - - - - - Fill types listing - - - - - Element is filled by one color. - - - - - Element is filled by two color. - - - - - Element is filled by colors at specified positions. - - - - - Element is filled by Hatch type(standard). - - - - - Element is filled by image. - - - - - Image is located at Top of element. - - - - - Image is located at Bottom of element. - - - - - Image is located at Right of element. - - - - - Image is located at Left of element. - - - - - Image is located at Center of element. - - - - - Image is located at TopRight of element. - - - - - Image is located at TopLeft of element. - - - - - Image is located at BottomRight of element. - - - - - Image is located at BottomLeft of element. - - - - - Image is aligned by specified alignment. - - - - - Stretch image. - - - - - Flip image. - - - - - Fill element by image that repeats by X and Y. - - - - - Fill element by image that flips by X. - - - - - Fill element by image that flips by Y. - - - - - Fill element by image that flips by X and Y. - - - - - Interface that objects with position implement. - - - - - Gets position. - - - - - Specifies how marker and text block are situated related to each other. - - - - - Marker at left, TextBlock - at right - - - - - Marker at right, TextBlock - at left - - - - - Marker at top, TextBlock - at bottom - - - - - Marker at bottom, TextBlock - at top - - - - - Marker and TextBlock use Position-AlignedPosition. Default value. - - - - - Base class for a chart Margins and Paddings - - - - - Container element - - - - - Creates new instance of LayoutDecoratorBase class. - - Container element - - - - Creates new instance of LayoutDecoratorBase class. - - - - - Creates new instance of LayoutDecoratorBase class. - - Container element - Top side - Right side - Bottom side - Left side - - - - Creates new instance of LayoutDecoratorBase class. - - Top side - Right side - Bottom side - Left side - - - - Creates new instance of LayoutDecoratorBase class. - - Top side - Right side - Bottom side - Left side - - - - Creates new instance of LayoutDecoratorBase class. - - Value in pixels or percents of all sides - - - - Reset to default settings. - - - - - Set value in pixels or percents of all sides - - Value in pixels or percents of all sides - - - - Checks whether objects are equal - - Object to compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Operator comparing - - First object for comparing - Second object for comparing - Result of comparing - - - - Operator not equal - - First object for comparing - Second object for comparing - Whether objects are not equal - - - - Clone this object - - New instance of LayoutDecoratorBase class with the same fields as this one - - - - Copy fields from object - - Object to copy from - - - - Sets the left side in pixels or percents of the chart's width. - - - - - Sets the right side in pixels or percents of the chart's width. - - - - - Sets the top side in pixels or percents of the chart's height. - - - - - Sets the bottom side in pixels or percents of the chart's height. - - - - - Base appearance settings for any element being calculated - - - - - Base style class - - - - - Specifies the shadowStyle property - - - - - Specifies the border for style - - - - - Style container object - - - - - Chart style related to - - - - - Creates new instance of Style class. - - Container object element - - - - Creates new instance of Style class. - - - - - Creates new instance of Style class. - - Style border - - - - Creates new instance of Style class. - - Style border - Visibility - - - - Creates new instance of Style class. - - Style border - Visibility - Shadow style - - - - Gets element visibility - - Element visibility to check - Visibility of the specified element - - - - Reset settings to default - - - - - Set pixels value to width and height properties of element - - Element to calculate pixel values - Container of element - - - - Set pixels value to width and height properties of element - - Element to calculate pixel values - Container's width - Container's height - - - - Set pixels value to width and height properties of element's dimensions - - Element's dimensions - Container's width - Container's height - - - - Calculate bounds of element depend on its rotation and previous dimensions - - Dimensions of element - Rotation angle - - - - - Clone this object - - Cloned object - - - - Gets property value of element by name - - Element to get property - Property name - Property value of specified element - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState to load data - - - - Save data to ViewState - - Saved data - - - - Specifies the border style - - - - - Specifies the shadow settings - - - - - Specifies visibility - - - - - Gets property value by name - - Name of property - Value of property - - - - Specifies chart style related to - - - - - Position of element - - - - - Dimensions of element - - - - - Creates new instance of LayoutStyle class. - - Container object - - - - Creates new instance of LayoutStyle class. - - Position of element - - - - Creates new instance of LayoutStyle class. - - Dimensions of element. - - - - Creates new instance of LayoutStyle class. - - Position of element - Dimensions of element. - - - - Creates new instance of LayoutStyle class. - - Border of element - Visibility of element - Shadow - Position - Dimensions - - - - Reset to default settings - - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Specifies the elements Position property - - - - - Specifies the elements Dimensions property - - - - - Border style - - - - - Style container object - - - - - Determines whether this instance is visible. - - - true if this instance is visible; otherwise, false. - - - - - Creates new instance of StyleBorder class - - Container object - - - - Creates new instance of StyleBorder class - - - - - Creates new instance of StyleBorder class - - Border visibility - - - - Creates new instance of StyleBorder class - - Border color - - - - Creates new instance of StyleBorder class - - Border color - Border width - - - - Creates new instance of StyleBorder class - - Border color - Border width - Border PenStyle - - - - Reset to default settings - - - - - Compare two objects - - Object tot compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Clone this object - - Object with the same fields as this one - - - - Specifies the line color property - - - - - Specifies the pen style property - - - - - Specifies the width property - - - - - Visibility - - - - - Gets property value by name - - Name of property - Value of property - - - - Common lines style - - - - - Creates new instance of LineStyle class - - Container object - - - - Creates new instance of LineStyle class - - - - - Creates new instance of LineStyle class - - Line visibility - - - - Creates new instance of LineStyle class - - Line color - - - - Creates new instance of LineStyle class - - Line color - Line width - - - - Creates new instance of LineStyle class - - Line color - Line width - Line PenStyle - - - - Creates new instance of LineStyle class - - Line color - Line width - Line PenStyle - Line end cap - - - - Reset to default settings - - - - - Compare two objects - - Object tot compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Clone this object - - Object with the same fields as this one - - - - Specifies the end cap property - - - - - Specifies the start cap property - - - - - Gets property value by name - - Name of property - Value of property - - - - Line series specific style - - - - - Line series color - - - - - Reset to default settings - - - - - Gets or sets the width of the series line. - - Width of line - - - - Gets or sets PenStyle of the series line - - PenStyle of line - - - - Checks if line belongs to StyleEmptyLineSeries class. - - - - - Gets or sets color of the series line - - Color of line - - - - Line series visibility (same as Series.Visible) - - Visibility of line - - - - Empty Line series specific style - - - - - Reset to default settings - - - - - Gets or sets color of the series line - - Color of line - - - - Gets or sets PenStyle of the series line - - PenStyle of line - - - - Series border specific style - - - - - Creates new instance of StyleSeriesBorder class. - - Series object - - - - Reset to default settings - - - - - Gets or sets PenStyle of the series border - - PenStyle of line - - - - Gets or sets color of the series border - - Color of line - - - - Title border specific style - - - - - Legend border specific style - - - - - Reset to default settings - - - - - Gets and sets border color - - Legend's border color - - - - Chart border specific style - - - - - Reset to default settings - - - - - Gets and sets border color - - Chart's border color - - - - Data table's border specific style - - - - - Reset to default settings - - - - - Gets and sets border color - - DataTable's border color - - - - Series item label connector line specific style - - - - - Creates new instance of StyleItemLabelConnector class. - - - - - Reset to default settings - - - - - Gets and sets item label connector's color - - Item label connector'scolor - - - - Scale breaks line specific style - - - - - Reset to default settings - - - - - Gets and sets ScaleBreak's color - - ScaleBreak's color - - - - Margins base class - - - - - Creates new instance of ChartMargins class. - - Container object - - - - Creates new instance of ChartMargins class. - - - - - Creates new instance of ChartMargins class. - - Container object - Top margin in pixels or percents - Right margin in pixels or percents - Bottom margin in pixels or percents - Left margin in pixels or percents - - - - Creates new instance of ChartMargins class. - - Top margin in pixels or percents - Right margin in pixels or percents - Bottom margin in pixels or percents - Left margin in pixels or percents - - - - Creates new instance of ChartMargins class. - - Top margin in pixels - Right margin in pixels - Bottom margin in pixels - Left margin in pixels - - - - Creates new instance of ChartMargins class. - - Value to set for all margins - - - - Implicitly creates a new instance of ChartMargins from the specified string. - - The string to parse - New instance of ChartMargins from the specified string - - - - Converts the specified string to an instance of ChartMargins. - - The string to convert from. - New instance of ChartMargins from the specified string - - - - Converts the specified string to an instance of ChartMargins. - - The string to convert from. - Culture info - New instance of ChartMargins from the specified string - - - - Title's margins - - - - - Creates new instance of ChartMarginsTitle class. - - - - - Reset to default settings - - - - - Sets the right margin in pixels or percent of the chart's width. - - - - - Sets the top margin in pixels or percent of the chart's height. - - - - - Sets the bottom margin in pixels or percent of the chart's height. - - - - - Sets the left margin in pixels or percent of the chart's width. - - - - - Plot area's margins - - - - - Creates new instance of ChartMarginsPlotArea class. - - - - - Reset to default settings - - - - - Sets the left margin in pixels or percent of the chart's width. - - - - - Sets the right margin in pixels or percent of the chart's width. - - - - - Sets the top margin in pixels or percent of the chart's height. - - - - - Sets the bottom margin in pixels or percent of the chart's height. - - - - - Legend's margins - - - - - Creates new instance of ChartMarginsLegend class. - - - - - Reset to default settings - - - - - Sets the right margin in pixels or percent of the chart's width. - - - - - Specifies a horizontal drawing - - - - - Specifies a vertical drawing - - - - - Not set - - - - - Full auto resizing by contents - - - - - Horizontal auto resizing by contents - - - - - Vertical auto resizing by contents - - - - - No auto resizing - - - - - Base paddings class - - - - - Creates new instance of ChartPaddings class. - - Container element - - - - Creates new instance of ChartPaddings class. - - - - - Creates new instance of ChartPaddings class. - - Container object - Top padding in pixels or percents - Right padding in pixels or percents - Bottom padding in pixels or percents - Left padding in pixels or percents - - - - Creates new instance of ChartPaddings class. - - Top padding in pixels or percents - Right padding in pixels or percents - Bottom padding in pixels or percents - Left padding in pixels or percents - - - - Creates new instance of ChartPaddings class. - - Top padding in pixels - Right padding in pixels - Bottom padding in pixels - Left padding in pixels - - - - Creates new instance of ChartPaddings class. - - Value to set for all paddings - - - - Implicitly creates an instance of ChartPaddings class from the specified string. - - The string to parse - Instance of ChartPaddings class from the specified string - - - - Converts the specified string to an instance of ChartPaddings class. - - The string to convert from. - Instance of ChartPaddings class from the specified string - - - - Converts the specified string to an instance of ChartPaddings class. - - The string to convert from. - Culture info - Instance of ChartPaddings class from the specified string - - - - Chart title's paddings - - - - - Creates new instance of ChartPaddingsTitle class. - - - - - Reset to default values - - - - - Specifies the left padding - - - - - Specifies the right padding - - - - - Specifies the top padding - - - - - Specifies the bottom padding - - - - - Chart title's paddings - - - - - Creates new instance of ChartPaddingsLegend class. - - - - - Reset to default values - - - - - Specifies the top padding - - - - - Specifies the right padding - - - - - Specifies the bottom padding - - - - - Specifies the left padding - - - - - User-defined palettes collection - - - - - Create new instance of CustomPalettesCollection class. - - - - - Indicates whether the specified palette item exists in the collection. - - Name of palette - Whether the specified palette item exists in the collection - - - - Returns the index of the specified palette item. - - Name of palette - Index of the specified palette item - - - - Removes palette with specified name from collection - - Name of palette - - - - Returns a reference to the Palette object at the specified index. - - Index to get palette - Palette at specified index - - - - Returns a reference to the Palette object by the specified name. - - Name of palette - Palette object with specified name - - - - Series color palette. Used for an automatic series items colors assignment - - - - - Palette items collection that palette contains - - - - - Create new instance of Palette class. - - - - - Create new instance of Palette class. - - Name of palette - - - - Create new instance of Palette class. - - Name of palette - Main colors of palette items - Second colors of palette items - - - - Create new instance of Palette class. - - Name of Palette - Additional colors of palette - - - - Create new instance of Palette class. - - Name - Colors of items - If true than second and main colors are equal - - - - Fill items collection from two color arrays - - Main colors of items - Second color of items - - - - Gets palette item with specified index - - Index where palette item should be get - Palette item - - - - Gets string representation - - String representation - - - - Clone this object - - New instance with the same fields as this one - - - - Track ViewState - - - - - Load data from ViewState - - ViewState data - - - - Save data into ViewState - - Saved data - - - - Gets and sets Palette item at specified index - - Index to get palette item - Palette item at specified index - Palette item - - - - Gets Palette Items Collection - - - - - Specifies the palette name - - Palette name - - - - Palette item - - - - - Defines arrays of colors and positions used for interpolating color blending - - - - - Create new instance of PaletteItem class. - - - - - Create new instance of PaletteItem class. - - Colors with positions - - - - Create new instance of PaletteItem class. - - Name of item - Colors with positions - - - - Create new instance of PaletteItem class. - - Name of item - Main color of item - Second color of item - - - - Create new instance of PaletteItem class. - - Main color of item - Second color of item - - - - Reset all settings to default - - - - - Gets string representation - - String representation - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data into ViewState - - Saved data - - - - Clone this object - - New instance with fields equal to these ones - - - - Defines arrays of colors and positions used for interpolating color blending - - - - - Specifies the main color for palette item - - Main color of item - - - - Specifies the second color for palette item - - Second color of item - - - - Specifies the name for palette item - - Name of item - - - - Palette items collection - - - - - Create new instance of PaletteItemsCollection class. - - - - - Gets Palette item at specified index - - Index to get palette item - Palette item at specified index - - - - Default palettes - - - - - Default color palettes listing - - - - - Creates object of PalettesCollection class - - - - - Returns default palette by name - - Name of palette - - - - Checks whether palette name exist in default palettes list - - Name of palette - Whether palette name exist in default palettes list or not - - - - Returns custom palette by name - - Name of palette - Chart to get custom palettes - - - - - Direction of label position in auto mode - - - - - Horizontal label's direction - - - - - Vertical label's direction - - - - - Represents the element position in the container - - - - - Contains elements' calculated position X for speed optimization - - - - - Contains elements' calculated position Y for speed optimization - - - - - Contains True if calculation of Positions is needed - - - - - Copy of positions - - - - - Manages design-time serialization of X - - True if value should be serialized - - - - Reset X coordinate to default - - - - - Manages design-time serialization of Y - - True if value should be serialized - - - - Reset Y coordinate to default - - - - - Creates an instance of Position class. - - Container element - - - - Creates an instance of Position class. - - - - - Creates an instance of Position class. - - X coordinate - Y coordinate - - - - Creates an instance of Position class. - - Aligned position of element - - - - Creates an instance of Position class. - - Aligned position of element - X coordinate - Y coordinate - - - - Container element - - - - - Reset to default settings - - - - - Resets the cached position - - - - - Aligned Positions correction for AutoLayout - - - - - Determines whether the specified System.Object is equal to the current System.Object. - - Object to compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Clone this object - - Cloned object - - - - Defines if position is Top (Top, TopLeft, TopRight, None) - - - - - Defines if position is Bottom (Bottom, BottomLeft, BottomRight) - - - - - Defines if position is Left (Left, BottomLeft, TopLeft) - - - - - Defines if position is Right (Right, TopRight, BottomRight) - - - - - Defines if position is None - - - - - Gets and sets copy of positions - - Positions to copy - - - - Automatic positioning - - - - - Specifies aligned position in comprehensive figure - - - - - Specifies the X coordinate of the figure position - - - - - Specifies the Y coordinate of the figure position - - - - - Gets value of property by name - - Property name - Object - - - - Gets and sets X calculated position used for speed optimization - - - - - Gets and sets Y calculated position used for speed optimization - - - - - Defines whether position coordinates were already calculated - - - - - Specific Position object with predefined AlignedPosition.Center - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.Top - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.Bottom - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.TopLeft - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.Right - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.TopRight - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Specific Position object with predefined AlignedPosition.Left - - - - - Reset to default settings - - - - - Specifies aligned position in comprehensive figure - - - - - Represents the custom property attribute used to mark property as skinable and being used with a skin application - - - - - Defines whether attribute is skinable - - - - - Create new instance of SkinnablePropertyAttribute class. - - - - - Gets whether attribute is skinable - - - - - XML document to save and load style data - - - - - Should serialize all properties or only that have skinable property attributes - - - - - Save specified object to XML - - Object which properties should be save to XML - Saved XML text - - - - Serialize properties to XML - - Object which properties should be save to XML - Elemnt created in XML - - - - Serialize properties to XML - - Object which properties should be save to XML - Name that created element in XML should have - Elemnt created in XML - - - - Serialize specified property to XML - - Abstraction of property style - Parent element - Object which properties should be save to XML - - - - Serialize complex object - - Abstraction of property style - Parent element - Object which properties should be save to XML - - - - Load elements and properties from XML - - String that contains XML representation of the object - Object which properties should be load from XML - - - - Deserialize element from XML - - Root element - Object which properties should be load from XML - - - - Deserialize property from XML - - Abstraction of property on a one of styles class - Property element that should be deserialized - Object which properties should be load from XML - - - - Deserialize element of ColorBlend type - - Root element - ColorBlend object - High index limit for which deserialization should take place - - - - Checks if property has default value - - Abstraction of property on a one of styles class - Style container object - Whether property has default value or not - - - - Gets the default value for specified property - - Abstraction of property on a one of styles class - Default value - - - - Gets the default value for specified property - - Abstraction of property on a one of styles class - Style container object - Default value - - - - Gets and sets XML document - - - - - Should serialize all properties or only that have skinable property attributes - - - - - Shadow settings - - - - - Create new instance of ShadowStyle class. - - - - - Create new instance of ShadowStyle class. - - Shadow color - Shadow blur - Shadow distance - Shadow position - - - - Reset to default settings - - - - - Comparing of two objects - - Object to compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Clone this object - - New instance with the same fields as this one - - - - Specifies the shadow color property - - - - - The main color opacity coefficient - - - - - Specifies the shadow position property - - - - - Specifies the shadow blur property - - - - - Specifies the shadow distance property - - - - - Common shadow settings - - - - - Chart shadow related to - - - - - Create new instance of ShadowStyleChart class. - - Parent chart element - - - - Sets blur for all chart elements - - Blur to set - - - - Sets position for all chart elements - - Position to set - - - - Sets distance for all chart elements - - Distance to set - - - - Sets color for all chart elements - - Color to set - - - - Specifies the shadow blur property - - - - - Specifies the shadow color property - - - - - Specifies the shadow distance property - - - - - Specifies the shadow position property - - - - - Shadow rendering support class - - - - - Draw shadow for line - - Chart graphics object - Pen used for line shadow - Points that create line's path - Type of line(0-Line, 1-Bezier, 2-Spline) - Width of line - PlotArea's width - PlotArea's height - Shadow's distance - Shadow's color - Shadow's blur - Shadow's position type - - - - Draw shadow for line - - Chart graphics object - Pen used for line shadow - Line's path - Line's width - PlotArea's width - PlotArea's height - Shadow's distance - Shadow's color - Shadow's blur - Shadow's position type - - - - Set shadow start point position by shadowPosition parameter and shadowDistance - - Shadow's position type - Calculated shadow position - Shadow's distance - Corrected shadow position depended on distance and position type - - - - Draws shadow for polygon - - ChartSeries that contains shadow style - Garphics path of polygon - ChartGraphics object - PlotArea's width - PlotArea's height - - - - Draw shadow for polygon - - ChartSeries that contains shadow style - Points that form polygon - ChartGraphics object - PlotArea's width - PlotArea's height - - - - Draw shadow for polygon - - Garphics path of polygon - ChartGraphics object - PlotArea's width - PlotArea's height - Shadow's distance - Shadow's color - Shadow's blur - Shadow's position type - - - - Draw shadow for polygon - - Points that form polygon - ChartGraphics object - PlotArea's width - PlotArea's height - Shadow's distance - Shadow's color - Shadow's blur - Shadow's position type - - - - Method creates shadow for path, based on shadow parameters and Gaussian blur logic for render shadow - - Path, that describe a figure - Brush, that used for drawing a shadow (define shadow color and transparency) - Pen, that used for drawing a shadow - Distance from object to it shadow - Blur coefficient - Size for image, that contain shadow - Draw figure type - Image that contains shadow with blur - - - - Creates pixels array from image using managed code - - Source bitmap to get pixels - Weight of bitmap - Height of bitmap - Pixels colors - - - - Creates pixels array from image using unmanaged code - - Data about bitmap locked in memory - Weight of bitmap - Height of bitmap - Pixels colors - - - - Creates pixels array from image - - Source bitmap to get pixels - Data about bitmap locked in memory - Weight of bitmap - Height of bitmap - Can unmanaged code be used - Pixels colors - - - - Updates image from pixels array - - Source bitmap to get pixels - Pixels colors - Blur top point - Blur height - Blur left point - Blur width - Pixels colors as one-dimensioned array - Weight of bitmap - Height of bitmap - Data about bitmap locked in memory - Can unmanaged code be used - - - - Updates image from pixels array using managed code - - Source bitmap to get pixels - Pixels colors - Blur top point - Blur height - Blur left point - Blur width - Pixels colors as one-dimensioned array - Weight of bitmap - Height of bitmap - - - - Updates image from pixels array using unmanaged code - - Source bitmap to get pixels - Pixels colors - Blur top point - Blur height - Blur left point - Blur width - Pixels colors as one-dimensioned array - Weight of bitmap - Height of bitmap - Data about bitmap locked in memory - - - - Gaussian blur algorithm for bitmap image - - Image, that can be degraded - Blur coefficient - Degraded bitmap - Blur rectangle - Blur image - - - - Support function for blur, generate one dimensional array with coefficients - - Blur coefficient - Array with blur coefficients - - - - Sets pixels colors to image - - Image to set pixels colors - Pixels colors as two-dimensioned array - Blur top point - Blur height - Blur left point - Blur width - Pixels colors as one-dimensioned array - Image width - Image height - - - - Types for drawing figures - - - - - Only lines - - - - - Only fills - - - - - Lines and fills - - - - - Describe a 4-byte color and functionality that works with color and byte arrays - - - - - Red channel - - - - - Green channel - - - - - Blue channel - - - - - Alpha (transparency) channel - - - - - Create new instance of BColor class - - Red component - Green component - Blue component - Transparency channel - New instance of BColor class - - - - Create new instance of BColor class - - New instance of BColor class - - - - Create new instance of BColor class - - Red channel value - Green channel value - Blue channel value - Alpha (transparency) channel value - - - - Convert BColor object to string representation - - String - - - - Get pixels colors from image - - Iamge to get pixels - Width of image - Height of image - Pixels colors from image - - - - Transform one dimensional byte array to two dimensional BColor array, that describe the image - - Array of 4 channel image bytes - Image width - Image height - Two dimensional BColor array, that describe the image - - - - Convert two-dimensioned array of pixels colors to one-dimensioned array - - Two-dimensioned array of pixels colors - Top - Height - Left - Width - One-dimensioned array of pixels colors - - - - Pixels colors represented as one-dimensioned array each four elements of it contain information about pixel color(r,g,b,a) - - Two-dimensioned array of pixels colors - Top - Height - Left - Width - Pixels colors as one-dimensioned array - Image height - Image width - - - - - Possible shadow positions listing - - - - - Assign the right position for shadow - - - - - Assign the left position for shadow - - - - - Assign the top position for shadow - - - - - Assign the bottom position for shadow - - - - - Assign the top right position for shadow - - - - - Assign the top left position for shadow - - - - - Assign the bottom right position for shadow - - - - - Assign the bottom left position for shadow - - - - - Assign the behind position for shadow - - - - - Chart skin - - - - - Skin name - - - - - XML document that contains skin properties. - - - - - Create new instance of ChartSkin class. - - - - - Create new instance of ChartSkin class with specified name. - - Name of skin. - - - - Create new instance of ChartSkin class. - - XML document that contains skin properties. - - - - Checks if skin is not specified for chart. - - Skin name - Whether skin is not specified for chart or not - - - - Applies skin to given chart - - Chart to apply skin - - - - Grabs skin from given chart - - Chart to get skin - Skin name - - - - Gets and sets skin name. - - Name of skin - - - - Gets and sets XML document that contains skin properties. - - - - - Chart skins collection - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Skins listing. New skin name should be added here - - - - - Resource that holds skins. - - - - - Gets the names of the skins in the collection. - - Names of skins in collection. - - - - Resource manager. - - - - - Provides information about resource. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Embedded background images for skins. - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Get image with specified name of specified skin. - - Name of image. - Skin name. - Image from resource - - - - Resource manager. - - - - - Provides information about resource. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - - Chart background image of Inox skin. - - - - - Chart background image of Mac skin. - - - - - Chart background image of Marble skin. - - - - - Chart background image of Metal skin. - - - - - Chart background image of Wood skin. - - - - - PlotArea background image of Inox skin. - - - - - PlotArea background image of Marble skin. - - - - - PlotArea background image of Metal skin. - - - - - Possible style properties - - - - - Axis appearance - - - - - Specifies the orientation property - - - - - Default style for axis label - - - - - Default axis items text properties style - - - - - Axis minor ticks style - - - - - Axis major ticks style - - - - - Major Grid Lines options - - - - - Minor Grid Lines options - - - - - Reset to default settings - - - - - Creates new instance of StyleAxis class - - Axis related to - - - - Creates new instance of StyleAxis class - - - - - Creates new instance of StyleAxis class - - Axis orientation - - - - Creates new instance of StyleAxis class - - Axis orientation - Axis related to - - - - Creates new instance of StyleAxis class - - Axis orientation - Visibility of axis - - - - Creates new instance of StyleAxis class - - Axis orientation - Visibility of axis - Axis orientation - - - - Creates new instance of StyleAxis class - - Axis orientation - Visisbility of axis - Line style of axis - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Major Grid Lines options - - - - - Minor Grid Lines options - - - - - Specifies the orientation property - - - - - Color of Axis - - - - - Specifies the axis visibility option - - - - - Specifies a predefined numerical format string. - - - - - Default style for all axis items - - - - - ChartAxis minor ticks style - - - - - ChartAxis major ticks style - - - - - Specifies a custom numerical format string. - - - - - Specifies the width of the axis. - - - - - Common axis items labels text blocks settings - - - - - Gets property value by name - - Name of property - Value of property - - - - Y axis specific style - - - - - Creates new instance of StyleAxisY class - - Axis related to - - - - Reset to default settings - - - - - Specifies the orientation property - - - - - X axis specific style - - - - - Creates new instance of StyleAxisX class - - Axis related to - - - - Reset to default settings - - - - - Specifies minor ticks options - - - - - Specifies major ticks options - - - - - Specifies the orientation property - - - - - Specifies the quality at which text is rendered. - - - - - Specifies that each character is drawn using its glyph bitmap, with the system default rendering hint. The text will be drawn using whatever font smoothing settings the user has selected for the system. - - - - - Specifies that each character is drawn using its glyph bitmap. Hinting is not used. - - - - - Specifies that each character is drawn using its glyph bitmap. Hinting is used to improve character appearance on stems and curvature. - - - - - Specifies that each character is drawn using its anti aliased glyph bitmap without hinting. Better quality due to anti aliasing. Stem width differences may be noticeable because hinting is turned off. - - - - - Specifies that each character is drawn using its anti aliased glyph bitmap with hinting. Much better quality due to anti aliasing, but at a higher performance cost. - - - - - Specifies that each character is drawn using its glyph CT bitmap with hinting. The highest quality setting. Used to take advantage of ClearType font features. - - - - - Specifies the quality at which image is rendered. - - - - - Specifies the default mode. - - - - - Specifies anti aliased rendering. - - - - - Specifies high quality, low speed rendering. - - - - - Specifies no anti aliasing. - - - - - Main chart appearance settings - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Creates new instance of StyleChart class. - - Chart related to. - - - - Creates new instance of StyleChart class. - - Chart dimensions - FillStyle of chart - Corners of chart - Chart border style - Chart shadow style - Visibility of chart - - - - Reset to default settings - - - - - Clone this object - - Cloned object - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewSatate with data - - - - Save data to ViewState - - Saved data - - - - Determines the width of bars. - - - - - Determines how much of the bar's area is overlapped in multiple bar charts. - - - - - Specifies the quality at which text in chart is rendered. - - - - - Specifies the quality at which chart image is rendered. - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Specifies the figure property - - - - - Gets visibility of chart - - - - - Gets positions - - - - - Gets property value by name - - Name of property - Value of property - - - - DataTable appearance settings - - - - - Specifies the background property - - - - - Specifies the text properties - - - - - Specifies the corners for background rectangle - - - - - Style parent object - - - - - Creates a new instance of StyleChartDataTable class. - - - - - Creates a new instance of StyleChartDataTable class. - - Parent element - - - - Creates a new instance of StyleChartDataTable class. - - DataTable's dimensions - DataTable's fillStyle - DataTable's position - DataTable's textProperties - DataTable's border - DataTable's shadowStyle - DataTable's visiblity - - - - Reset to default settings - - - - - Save DataTable's dimensions - - - - - Save DataTable's dimensions and positions for auto layout - - - - - Restore dimensions - - - - - Restore margins - - - - - Clone this object - - Cloned object - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Specifies DataTable visibility - - - - - Specifies data table cell width - - - - - Specifies data table cell height - - - - - Specifies data table rendering type - - - - - Should horizontal lines be rendered - - - - - Should vertical lines be rendered - - - - - Hide/show all lines - - - - - Specifies text vertical alignment - - - - - Specifies text horizontal alignment - - - - - Specifies the figure property - - - - - Specifies the background property - - - - - Specifies text wrap property for texts in Data Table - - - - - Specifies the text properties - - - - - Specifies RadChart's styles for the grid lines layout. - - - - - Sets normal grid lines. - - - - - Sets expanded grid lines. - - - - - Grid line specific style - - - - - Checks whether grid line be rendered or not - - - - - - - Reset to default settings - - - - - Should grid lines be hidden with axis or not - - Default value is true - - - - Gets or sets the width of the grid line. - - - - - Specifies the pen style used for grid lines' drawing. - - - - - Specifies the color of the grid lines. - - - - - Reset to default settings - - - - - Gets and sets grid lines' visibility - - - - - Reset to default settings - - - - - Reset to default settings - - - - - Specifies the pen style used for grid lines' drawing. - - - - - Base label appearance style - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Specifies that style has container object - - - - - Creates new instance of StyleLabel class. - - Style container element - - - - Creates new instance of StyleLabel class. - - - - - Creates new instance of StyleLabel class. - - FillStyle of label - - - - Creates new instance of StyleLabel class. - - Label's position - - - - Creates new instance of StyleLabel class. - - FillStyle of label - Label's position - - - - Creates new instance of StyleLabel class. - - FillStyle of label - Label's position - Label's dimensions - - - - Creates new instance of StyleLabel class. - - FillStyle of label - Corners of label - Label's position - Label's dimensions - - - - Creates new instance of StyleLabel class. - - CompositionType to specify textblock and marker positions - Label's dimensions - Label's figure - FillStyle of label - Label's position - Rotation angle - Corners of label - Label's border - Shadow style of label - Label's visibility - - - - Reset to default settings - - - - - Copy dimensions - - - - - Restore saved dimensions value - - - - - Restore margins initial value - - - - - Save dimensions and positions for autolayout - - - - - Clone this object - - Cloned object - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Specifies the figure property - - - - - Specifies the rotation angle property - - - - - Specifies the label's items composition type - - - - - Specifies tha label's visibility - - - - - Specifies that style has container object - - - - - Gets property value by name - - Name of property - Property value - - - - Creates new instance of StyleLabelHidden class. - - Container element - - - - Creates new instance of StyleLabelHidden class. - - - - - Creates new instance of StyleLabelHidden class. - - FillStyle of label - - - - Creates new instance of StyleLabelHidden class. - - Label's position - - - - Creates new instance of StyleLabelHidden class. - - FillStyle of label - Label's position - - - - Creates new instance of StyleLabelHidden class. - - FillStyle of label - Label's position - Label's dimensions - - - - Reset to default settings - - - - - Specifies tha label's visibility - - - - - Specifies label item's style - - - - - Specifies label item's marker's style - - - - - Specifies label item's textblock's style - - - - - Creates new instance of StyleExtendedLabel class - - Container element - - - - Creates new instance of StyleExtendedLabel class - - - - - Creates new instance of StyleExtendedLabel class - - FillStyle of label - - - - Creates new instance of StyleExtendedLabel class - - Position of label - - - - Creates new instance of StyleExtendedLabel class - - FillStyle of label - Position of label - - - - Creates new instance of StyleExtendedLabel class - - FillStyle of label - Position of label - Label's dimensions - - - - Creates new instance of StyleExtendedLabel class - - Composition type of label items - Label's dimensions - Label's figure - Label's fillstyle settings - Layout of label items - Label's position - Label's rotation angle - Label's corners - Label's border - Label's shadow style - Label's visibility - - - - Dispose object - - - - - Clone this object - - Cloned object - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Specifies label location (InsidePlotArea, OutsidePlotArea) - - - - - Specifies item label's style - - - - - Specifies item label's text's style - - - - - Specifies item label's marker's style - - - - - Specifies the behavior when overflow occurred - - - - - Specifies the series names format shown in Legend when data grouping being used and names are digits. - - Supported format strings as "#VALUE" / "#NAME" - - - - Series item appearance style - - - - - Style of connector line - - - - - Specifies that style has container object - - - - - Creates new instance of StyleSeriesItemLabel class. - - - - - Creates new instance of StyleSeriesItemLabel class. - - Style container element - - - - Reset to default settings - - - - - Clone this object - - Cloned object - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Save data to ViewState - - Saved data - - - - Label distance from series when LabelLocation equals Auto - - - - - Specifies labels' visibility - - - - - Gets label's connector's style - - - - - Specifies label's layout - - - - - Gets property value by name - - Name of property - Value of property - - - - Inside item - - - - - Outside item - - - - - Auto - - - - - Inside PlotArea location - - - - - Outside PlotArea location - - - - - Legend appearance style - - - - - Creates new instance of StyleLabelLegend class. - - - - - Reset to default settings - - - - - Save dimensions and positions for AutoLayout - - - - - Gets label's figure - - - - - Specifies label's overflow - - - - - Axis label style - - - - - Creates new instance of StyleAxisLabel class. - - - - - Reset to default settings - - - - - Axis label style - - - - - Reset to default settings - - - - - Specifies label's rotation angle - - - - - Chart title style - - - - - Creates new instance of StyleLabelTitle class. - - - - - Creates new instance of StyleLabelTitle class. - - Style container object - - - - Reset to default settings - - - - - Save dimensions and positions for AutoLayout - - - - - Empty series message style - - - - - Creates new instance of StyleLabelEmptySeriesMessage class. - - - - - Reset to default settings - - - - - Specifies label' visibility - - - - - Marked zone. Used to mark the values ranges at the plot area. - - - - - Specifies the FillStyle property - - - - - Creates a new instance of StyleMarkedZoneclass. - - - - - Creates a new instance of StyleMarkedZoneclass. - - FillStyle of Marked Zone - Marked Zone's border - Marked Zone's shadow style - Visibility of Marked Zone - - - - Reset to default settings - - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Specifies the FillStyle property - - - - - Get property value by name - - Name of property - Value of property - - - - Base marker's style - - - - - Specifies the corners of background rectangle - - - - - Specifies the FillStyle property - - - - - Creates a new instance of StyleMarker class. - - Style container object - - - - Creates a new instance of StyleMarker class. - - - - - Creates a new instance of StyleMarker class. - - Marker's figure name - - - - Creates a new instance of StyleMarker class. - - Marker's figure name - Width and height of marker - - - - Creates a new instance of StyleMarker class. - - Marker's figure name - Dimensions of marker - Marker's fillstyle settings - - - - Creates a new instance of StyleMarker class. - - Dimensions of marker - Marker's figure name - Marker's fillstyle settings - Marker's positions - Marker's rotation angle - Corners of marker - Border of marker - Marker's shadow style - Marker's visibility - - - - Reset to default settings - - - - - Comparing of two objects - - Object to compare - Result of comparing - - - - Gets hash code - - Hash code - - - - Clone this object - - Cloned object - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Specifies marker's visibility - - - - - Specifies the corners of background rectangle - - - - - Specifies the FillStyle property - - - - - Specifies the Rotation angle - - - - - Specifies the Figure property - - - - - Gets property value by name - - Name of property - Value of property - - - - Specific series point markers style - - - - - Creates a new instance of StyleMarkerSeriesPoint class. - - Series that is style container object - - - - - Creates a new instance of StyleMarkerSeriesPoint class. - - - - - Specifies marker's positions - - - - - Specifies marker's visibility - - - - - Specifies Figure - - - - - Specific series point markers style - - - - - Creates a new instance of StyleMarkerLegend class. - - - - - Reset to default settings - - - - - Specifies marker's figure - - - - - Specifies marker's visibility - - - - - Specific empty point marker style - - - - - Creates a new instance of StyleMarkerEmptyValue class. - - - - - Reset to default settings - - - - - Specifies marker's visibility - - - - - Specifies marker's figure - - - - - Specific empty point marker style - - - - - Creates a new instance of StyleMarkerPositionNone class. - - - - - Reset to default settings - - - - - Specifies marker's visibility - - - - - Plot area's appearance - - - - - Parent element - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Margins for auto layout - - - - - Creates a new instance of StylePlotArea class. - - - - - Creates a new instance of StylePlotArea class. - - Dimensions of PlotArea - FillStyle settings - PlotArea's position - Palette used in PlotArea - PlotArea's corners - Border of PlotArea - PlotArea's shadow style - PlotArea's visibility - - - - Reset to default settings - - - - - Save dimensions for auto layout - - - - - Save dimensions - - - - - Restore previous saved dimensions - - - - - Restore previous saved dimensions - - - - - Restore previous saved margins - - - - - Cloned this object - - New instance of StylePlotArea class with the same fields as this one - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Specifies parent element - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Specifies the figure property - - - - - Specifies the series palette - - - - - Gets property value by name - - Name of property - Value of property - - - - Series appearance - - - - - Default size of bubbles - - - - - Default series legend display mode - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Default series items labels style - - - - - Default series item labels' text style - - - - - Point marks style - - - - - Line, Spline, Bezier series line style - - - - - Style of empty values - - - - - Parent series element - - - - - Dimensions of points in Point series - - - - - Reset to default settings - - - - - Constructor for Series's style - - Parent series element - - - - Creates new instance of StyleSeries class. - - - - - Creates new instance of StyleSeries class. - - FillStyle of series - Series default labels' settings - Style of Point marker - Items' corners - Border of series - Series' shadow style - Visibility of series - - - - Cloned this object - - New instance of StyleSeries class with the same fields as this one - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Determines the width of bars. - - - - - Specifies the corners for background rectangle - - - - - Specifies the background property - - - - - Specifies the shape for point series - - - - - Specifies the dimensions of points in point series - - - - - Specifies the Rotation angle - - - - - Legend visualization mode - - - - - Specifies whether the item labels should be shown or not. - - - - - Specifies whether a line should be drawn between the label and the item. - - - - - Gets or sets the start angle of the pie. Zero angle is identical with the X axis direction. - - - - - Gets or sets the pie's diameter length according to the size of the plot area. - - - - - Gets or sets the explode percent of the exploded items. - - - - - Specifies the x offset of the pie center. - - - - - Specifies the y offset of the pie center. - - - - - Default bubble size - - - - - Gets or sets the common settings for the series items labels - - - - - Line, Spline, Bezier series line style - - - - - Series points appearance - - - - - Gets or sets the common text settings for the series items - - - - - Empty value point mark - - - - - Specifies the border - - - - - Specifies visibility of series - - - - - Series item appearance - - - - - Specifies the background property - - - - - Specifies the corners for background rectangle - - - - - Dimensions of points in Point series - - - - - Creates new instance of StyleSeriesItem class. - - Style container object - - - - Creates new instance of StyleSeriesItem class. - - - - - Reset to default settings - - - - - Cloned this object - - New instance of StyleSeriesItem class with the same fields as this one - - - - Track ViewState - - - - - Load data from ViewState - - ViewState with data - - - - Saved data to ViewState - - saved data - - - - Specifies item's shadow - - - - - Specifies the background property - - - - - Exploded of item in Pie series - - - - - Specifies the corners for background rectangle - - - - - Specifies the figure property for point series - - - - - Specifies the Rotation angle - - - - - Specifies the dimensions of points in point series - - - - - Text block appearance - - - - - Specifies the corners of background rectangle - - - - - Specifies the FillStyle property - - - - - Specifies the Rotation angle - - - - - Specifies the Text properties - - - - - Specifiers the overflow behavior - - - - - Text string formatting properties - - - - - Should the MaxLength property be serialized or not - - True if should be serialized - - - - Sets the default value for a MaxLength property - - - - - Creates a new class instance - - - - - Creates a new class instance - - Fill style settings - - - - Creates a new class instance - - Fill style settings - Position settings - - - - Creates a new class instance - - Text appearance settings - - - - Creates a new class instance - - Fill style settings - Text appearance settings - - - - Creates a new class instance - - Fill style settings - Position settings - Text appearance settings - - - - Creates a new class instance - - Fill style settings - Position settings - Text appearance settings - Dimensions - - - - Creates a new class instance - - Fill style settings - Position settings - Text appearance settings - Dimensions - Rotation angle - Corners appearance - Border settings - Shadow settings - Visibility settings - - - - Sets the text alignment accordingly to the AlignedPosition property value - - - - - Sets the default values for a properties - - - - - Creates the object's clone - - Clone - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Tracks view state changes - - - - - Loads class settings from a view state - - ViewState to load from - - - - Saves class data to a view state - - Saved view state - - - - Max number of visible characters. Rest will be truncated - Full string will be added to parent label's ActiveRegion.Tooltip - - - - - MaxLength property changed event - - - - - Specifies the corners of background rectangle - - - - - Specifies the FillStyle property - - - - - Specifies the Figure property - - - - - Specifies the Text properties - - - - - Gets the property value by its name - - Name of the property. String - Object - - - - Gets or sets the automatic text wrapping functionality switch - - - - - Gets the string format - - - - - Series item label text block's appearance - - - - - Creates a new class instance - - - - - Creates a new class instance - - Chart series - - - - Sets the default values for a properties - - - - - Gets should the MaxLength value be serialized - - True if can be serialized, overwise returns false - - - - Sets the default value - - - - - Axis item label text block's appearance - - - - - Creates a new class instance - - - - - Sets the default values for a properties - - - - - Gets should the MaxLength value be serialized - - True if can be serialized, overwise returns false - - - - Sets the default value - - - - - Title text block's appearance - - - - - Creates a new class instance - - - - - Sets the default values for a properties - - - - - Error text block's appearance - - - - - Creates a new class instance - - - - - Sets the default values for a properties - - - - - Hidden text block's default appearance - - - - - Sets the default values for a properties - - - - - Visibility. False by default - - - - - Hidden text block's default appearance - - - - - Creates a new class instance - - - - - Sets the default values for a properties - - - - - Base axis ticks appearance settings - - - - - Creates the new class instance - - - - - Creates the new class instance - - Tick length in pixels - - - - Creates the new class instance - - Tick length in pixels - Tick visibility - - - - Creates the new class instance - - Tick length in pixels - Tick visibility - Tick line color - - - - Sets the default values for a class properties - - - - - Specifies the Length of tick - - - - - Tick line color - - - - - Tick line width - - - - - Gets the property by its name - - Property name. String - Object or null - - - - Minor ticks style - - - - - Creates a new class instance - - - - - Creates a new class instance - - Minor ticks count - - - - Creates a new class instance - - Visibility value - - - - Creates a new class instance - - Minor tick visibility - Minor tick length - Minor ticks count between two major ticks - - - - Sets the default values for a properties - - - - - Minor ticks count between the two major ticks - - - - - Specifies the Length of tick - - - - - Gets the property value by its name - - Name of the property - Object or null - - - - Major ticks visual style - - - - - Specifies the text rendering direction - - - - - Assign the right to left text direction - - - - - Assign the left to right text direction - - - - - Assign the left to right top to bottom text direction - - - - - Assign the left to right bottom to top text direction - - - - - Base text appearance settings class (Font, Color) - - - - - Creates a new class instance - - - - - Creates a new class instance - - Text color - - - - Creates a new class instance - - Text color - Text font - - - - Creates a new class instance - - Text color - Font family - Font size in EM - Font style - Graphics measurement unit - - - - Class instance container - - - - - Sets the default values - - - - - Creates an object clone - - object - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object - true if the specified System.Object is equal to the current System.Object; - otherwise, false. - - - - Serves as a hash function for a TextProperties type. - - A hash code for the current class instance - - - - Specifies the text color property - - - - - Specifies the text font properties - - - - - Gets the property by its name - - Property name. String - Object - - - - Default Title's text properties - - - - - Sets the default values for a properties - - - - - Specifies the text font properties - - Default value is Verdana, 15pt - - - - Errors text properties - - - - - Sets the default values for a properties - - - - - Specifies the text color property - - - - - Specifies the text font properties - - Default value is Verdana, 10pt, style=Bold - - - - Axis item label text properties - - - - - Sets default values for a properties - - - - - Specifies the text color property - - - - - Axis item label text properties - - - - - Sets default values for a properties - - - - - Specifies the text color property - - - - - Series item label text properties - - - - - Sets default values for a properties - - - - - Specifies the text color property - - - - - Specifies the axis Ticks location relatively to plot area - - - - - Inside of plot area - - - - - Outside of plot area (default value) - - - - - Tick line crosses the axis line - - - - - Provides a type converter to convert IList objects to and from a different representations - - - - - Checks the possibility to convert from a different object type - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The type to convert from - True if conversion is possible - - - - Converts the given object to the type of this converter, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - Current culture settings - The System.Object to convert. - An System.Object that represents the converted value. - - - - Returns whether this converter can convert the object to the specified type, - using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Type that represents the type you want to convert to. - true if this converter can perform the conversion; otherwise, false. - - - - Converts the given value object to the specified type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Globalization.CultureInfo. If null is passed, the current culture - is assumed. - The System.Object to convert. - The System.Type to convert the value parameter to. - An System.Object that represents the converted value. - - - - Provides a unified way of converting Double type values to other types, as well - as for accessing standard values and sub properties. - - - - - Checks the possibility to convert from a different object type - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The type to convert from - True if conversion is possible - - - - Converts the given object to the Double type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - Current culture settings - The System.Object to convert. - An System.Object that represents the converted value. - - - - Converts the given Double object to the specified type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Globalization.CultureInfo. If null is passed, the current culture - is assumed. - The System.Object to convert. - The System.Type to convert the value parameter to. - An System.Object that represents the converted value. - - - - Provides a unified way of converting ChartMargins type values to other types, as well - as for accessing standard values and sub properties. - - - - - Checks the possibility to convert from a different object type - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The type to convert from - True if conversion is possible - - - - Converts the given object to the ChartMargins, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - Current culture settings - The System.Object to convert. - An System.Object that represents the converted value. - - - - Converts the given value object to the specified type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Globalization.CultureInfo. If null is passed, the current culture - is assumed. - The System.Object to convert. - The System.Type to convert the value parameter to. - An System.Object that represents the converted value. - - - - Creates an instance of the type that this MarginsConverter - is associated with, using the specified context, given a set of property - values for the object. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - An System.Collections.IDictionary of new property values. - An System.Object representing the given System.Collections.IDictionary, or - null if the object cannot be created. - - - - Returns whether changing a value on this object requires a call to System.ComponentModel.TypeConverter.CreateInstance(System.Collections.IDictionary) - to create a new value, using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - true - - - - Returns whether this object supports properties, using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - true - - - - Returns a collection of properties for the type of array specified by the - value parameter, using the specified context and attributes. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - An System.Object that specifies the type of array for which to get properties. - An array of type System.Attribute that is used as a filter. - A System.ComponentModel.PropertyDescriptorCollection with the properties - that are exposed for this data type, or null if there are no properties. - - - - Provides a unified way of converting ChartMargins type values to other types, as well - as for accessing standard values and sub properties. - - - - - Checks the possibility to convert from a different object type - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The type to convert from - True if conversion is possible - - - - Converts the given object to the ChartPaddings, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - Current culture settings - The System.Object to convert. - An System.Object that represents the converted value. - - - - Converts the given value object to the specified type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Globalization.CultureInfo. If null is passed, the current culture - is assumed. - The System.Object to convert. - The System.Type to convert the value parameter to. - An System.Object that represents the converted value. - - - - Creates an instance of the type that this PaddingsConverter - is associated with, using the specified context, given a set of property - values for the object. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - An System.Collections.IDictionary of new property values. - An System.Object representing the given System.Collections.IDictionary, or - null if the object cannot be created. - - - - Returns whether changing a value on this object requires a call to System.ComponentModel.TypeConverter.CreateInstance(System.Collections.IDictionary) - to create a new value, using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - true - - - - Returns whether this object supports properties, using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - true - - - - Returns a collection of properties for the type of array specified by the - value parameter, using the specified context and attributes. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - An System.Object that specifies the type of array for which to get properties. - An array of type System.Attribute that is used as a filter. - A System.ComponentModel.PropertyDescriptorCollection with the properties - that are exposed for this data type, or null if there are no properties. - - - - Provides a unified way of converting Units type values to other types, as well - as for accessing standard values and sub properties. - - - - - Checks the possibility to convert from a different object type - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - The type to convert from - True if conversion is possible - - - - Returns whether this converter can convert the object to the specified type, - using the specified context. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Type that represents the type you want to convert to. - true if this converter can perform the conversion; otherwise, false. - - - - Converts the given object to the Unit type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - Current culture settings - The System.Object to convert. - An System.Object that represents the converted value. - - - - Converts the given value object to the specified type, using the specified - context and culture information. - - An System.ComponentModel.ITypeDescriptorContext that provides a format context. - A System.Globalization.CultureInfo. If null is passed, the current culture - is assumed. - The System.Object to convert. - The System.Type to convert the value parameter to. - An System.Object that represents the converted value. - - - - Specifies the unit of measurement. - - - - - Measurement is in pixels. - - - - - Measurement is a percentage relative to the parent element. - - - - - Represents a length measurement. - - - - - Represents an empty Unit. This field is read-only. - - - - - Compares two Unit objects to determine whether they are not equal. - - The Unit on the left side of the operator. - The Unit on the right side of the operator. - true if the Unit objects are not equal; otherwise, false. - - - - Compares two Unit objects to determine whether they are equal. - - The Unit on the left side of the operator. - The Unit on the right side of the operator. - true if both Unit objects are equal; otherwise, false. - - - - Implicitly creates a Unit of type Pixel from the specified float. - - A float that represents the length of the Unit. - A Unit of type Pixel that represents the specified by the n parameter. - - - - Converts the specified string to a Unit. - - The string to convert. - A Unit that represents the specified string. - - - - Creates a Unit of type Pixel from the specified 32-bit signed integer. - - A 32-bit signed integer that represents the length of the Unit. - A Unit of type Pixel that represents the length specified by the n parameter. - - - - Creates a Unit of type Percentage from the specified double-precision floating-point number. - - A double-precision floating-point number that represents the length of the Unit - A Unit of type Percentage that represents the length specified by the double-precision floating-point number. - - - - Gets the string representation of the Unit type - - Unit type value to get string of - System.String with unit type value - - - - Gets the UnitType by its string representation - - Unit type string - UnitType - - - - Creates a class instance - - - - - Creates a class instance - - UnitType specifies the target Unit type - - - - Initializes a new instance of the Unit with the specified double precision floating point number. - - A double precision floating point number that represents the length of the Unit in pixels. - - - - Initializes a new instance of the Unit with the specified double precision floating point number. - - A float precision floating point number that represents the length of the Unit in pixels. - - - - Initializes a new instance of the Unit with the specified 32-bit signed integer. - - A 32-bit signed integer that represents the length of the Unit in pixels. - - - - Initializes a new instance of the Unit with the specified 32-bit signed integer and the target type - - A 32-bit signed integer that represents the length of the Unit in pixels. - Unit type - - - - Initializes a new instance of the Unit with the specified double precision floating point number and the target type - - A double precision floating point number that represents the length of the Unit in pixels. - Unit type - - - - Initializes a new instance of the Unit with the specified double precision floating point number and the target type. - - A float precision floating point number that represents the length of the Unit in pixels. - Unit type (Pixel / Percentage) - - - - Initializes a new instance of the Unit with the specified length. - - A string that represents the length of the Unit. - - - - Initializes a new instance of the Unit with the specified length. - - A string that represents the length of the Unit. - CultureInfo - - - - Initializes a new instance of the Unit with the specified length. - - A string that represents the length of the Unit. - CultureInfo - Unit type - - - - Returns a hash code for this Unit. - - Hash code - - - - Compares this Unit with the specified object. - - The specified object for comparison. - true if the Unit that this method is called from is equal to the specified object; otherwise, false. - - - - Gets the pixels equivalent of the Unit.Value - - The parent elements dimension to get the percents of - - - - Gets the pixels equivalent of the Unit.Value - - - - - Creates a Unit clone - - New Unit class instance - - - - Base ToString override - - String representation of the Unit instance - - - - Base ToString override - - CultureInfo - String representation of the Unit instance - - - - Gets whether Unit is empty - - - - - The unit length in Pixels - - - - - Gets or sets the unit type of the Unit. - - - - - Gets or sets the length of the Unit. - - - - - PlotArea scrollable mode. - - - - - PlotArea will be scrollable by X axis. - - - - - PlotArea will be scrollable by Y axis. - - - - - PlotArea will be scrollable by both X and Y axis. - - - - - PlotArea will not be scrollable. - - - - Chart client settings - - - - - - - - Gets or sets a value indicating whether the zoom assist axis markers are enabled. - - - - - Gets or sets a value indicating the color of the zoom assist axis markers. - - - - - Gets or sets a value indicating the size of the axis markers in pixels (size for the YAxis marker represents its width, while size for the XAxis marker -- its height). - - - - - Gets or sets a value indicating whether the client-side zoom functionality is enabled. - - - - - Gets or sets a value indicating the color of the zoom rectangle. - - - - - Gets or sets a value indicating the opacity of the zoom rectangle. - - - - - Gets or sets a value indicating the plotarea client scroll mode. - - - - - Gets or sets a value indicating the YAxis scroll offset ratio. - - - YScrollOffset accepts values between 0 and 1. - - - - - Gets or sets a value indicating the XAxis scroll offset ratio. - - - XScrollOffset accepts values between 0 and 1. - - - - - Gets or sets a value indicating the plotarea scale value by Y axis. - - - - - Gets or sets a value indicating the plotarea scale value by X axis. - - - - - The class represents the base functionality of the RadChart. - - - - - Adds a new data series to the RadChart's series collection. - - - - - - Creates a new instance of RadChart. - - - - - Resets current chart's skin to default - - - - - Loads user skin from a TextWriter object - - - - - - Exports current chart's settings into TextWriter object - - - - - - Saves the chart's state into XML file in the specified by fileName location. - - Path to the file - - - - Loads RadChart's settings and data from external XML file. - - - - - - Loads entire chart settings from a TextWriter object - - - - - - Exports current chart's skin into TextWriter object - - - - - - Removes the data series associated with the chart control. - - - - - Removes all data series from the series collection without removing axis items. - - - - - Removes the data series at the specified index. - - - - - - Gets a reference to the data series object at the specified index. - - - - - - - Gets a reference to the data series object with the specified name. - - - - - - - Gets a reference to the data series object with the specified color. - - - - - - - Creates a new chart series and adds it to the series collection. - - - - - - - - - - Saves the chart with the specified file name. - - - - - - Saves the chart with the specified file name and the specified image format. - - - - - - - Changes the DataSourceID property without DataBind method call - - - - - - Binds a data source to the invoked server control and all its child controls. - - - - - Gets or sets a value indicating whether RadChart should automatically check for the - ChartHttpHandler existence in the system.web section of the application configuration file. - - - Set this property to false if you are running your application under IIS7 Integrated Mode - and have set the validateIntegratedModeConfiguration flag that does not allow legacy - HttpHandler registration under the system.web configuration section. - - - - - Gets or sets a value indicating the URL to the ChartHttpHandler that is necessary for the correct operation - of the RadChart control. - - - Returns the URL of the ChartHttpHandler. The default value is "ChartImage.axd". - - - Generally the default relative value should work as expected and you do not need to modify it manually here; - however in some scenarios where url rewriting is involved, the default value might not work out-of-the-box - and you can customize it via this property to suit the requirements of your application. - - - - - Specifies the custom palettes for chart - - - - - Chart engine - - - - - Default chart series type - - - - - Specifies AutoLayout mode to all items on the chart control. - - - - - Specifies AutoLayout mode to all items on the chart control. - - - - - Specifies the series palette - - - - - Chart style - - - - - Should skin override user setting or not - - - - - Data management support object - - - - - Collection of the chart's data series. - - - - - Chart height - - - - - Chart width - - - - - Gets or sets RadChart's legend object. - - - - - Specifies the chart's plot area. - - - - - The chart title message. - - - - - Enables or disables use of session. - - - - - Enables or disables use of image maps. - - - - - Sets folder for the chart's temp images. - - - - - Gets or sets RadChart's content file path and file name. - - - - - Specifies the image format in which the image is streamed. - - - - - The alternate text displayed when the image cannot be shown. - - - - - Specifies the custom palettes for chart - - - - - Specifies the orientation of chart series on the plot area. - - - - - Enables / disables Intelligent labels logic for series items labels in all plot areas. - - - - - - Image maps support - - - - Client-side settings. - - - - - Gets or sets the ID of the control from which the data-bound control retrieves its list of data items. - - - - - The DataSource object - - Gets or sets the object from which the chart control retrieves its list of data items - - - - Gets or sets the name of the list of data that the data-bound control binds to, in cases where the data source contains more than one distinct list of data items. - - - - - Gets or sets the name of the DataSource column (member) that will be used to split one column data into several chart Series - - - - - This property supports the RadChart infrastructure and is not intended for public use. - - - - - A collection of ColorPickerItem objects in a - RadColorPicker control. - - - The ColorPickerItemCollection class represents a collection of - ColorPickerItem objects. The ColorPickerItem objects in turn represent - Colors items within a RadColorPicker control. - - - Use the indexer to programmatically retrieve a - single ColorPickerItem from the collection, using array notation. - - - Use the Count property to determine the total - number of Items in the collection. - - - Use the Add method to add Items in the collection. - - - Use the Remove method to remove Items from the - collection. - - - - - - - - - - - - Adds colors to the palette of RadColorPicker. - - A collection of ColorPickerItem objects. - - - - Defines the available embedded palettes which can be used by setting the Preset property of the RadColorPicker. - - - - - No palette will be set. - - - - - Default palette. - - - - - Standard palette. - - - - - Grayscale palette. - - - - - Web216 palette. - - - - - ReallyWebSafe palette. - - - - - Office palette. - - - - - Apex palette. - - - - - Aspect palette. - - - - - Civic palette. - - - - - Concourse palette. - - - - - Equity palette. - - - - - Flow palette. - - - - - Foundry palette. - - - - - Median palette. - - - - - Metro palette. - - - - - Module palette. - - - - - Opulent palette. - - - - - Oriel palette. - - - - - Origin palette. - - - - - Paper palette. - - - - - Solstice palette. - - - - - Technic palette. - - - - - Trek palette. - - - - - Urban palette. - - - - - Verve palette. - - - - - The RadColorPickerLocalization class defines the localization strings for the RadColorPicker. - - - - - Gets or sets the tooltip of the icon. - - - - - Gets or sets the text in the icon. - - - - - Gets or sets the text for the no color box. - - - - - Gets or sets the text for the tab of the Web Palette mode. - - - - - Gets or sets the text for the tab of the RGB Sliders palette mode. - - - - - Gets or sets the text for the tab of the HSB palette mode. - - - - - Gets or sets the text for the tab of the HSV palette mode. - - - - - Gets or sets the text for the 'Apply' button. - - - - - Gets or sets the text for the increase handle of the RGB Slider. - (This property is added for complete localization of the slider control. By default it is not used.) - - - - - Gets or sets the text for the decrease handle of the RGB Slider. - (This property is added for complete localization of the slider control. By default it is not used.) - - - - - Gets or sets the text for the drag handle of the RGB Slider. - - - - - Gets or sets the text for the drag handle of the HSB Slider. - - - - - Gets or sets the text for the drag handle of the HSV Slider. - - - - - Gets ot sets the title of the icon when no color is selected. - - - - - Gets or sets the text for the Custom Color icon tooltip. - - - - - Gets or sets the text for the Recent Colors label. - - - - - Gets or sets the text for 'OK' button. - - - - - Gets or sets the text for 'Cancel' button. - - - - - Gets or sets the text for the color hexadecimal code input. - - - - - Specifies the visible modes of the RadColorPicker's palette. - - - - - A palete with a set of predefined colors. - - 1 - - - - RGB RadSliders which define a point in the RGB color space. - - 2 - - - - HSB (hue, saturation, lightness) representation of points in an RGB color space. - - 4 - - - - HSV (hue, saturation, brightness) representation of points in an RGB color space. - - 8 - - - - Default object behavior: all together. - - (WebPalette | RGBSliders | HSB | HSV) - - - - RadColorPicker class - - - - - - - Gets or sets a value indicating the server-side event handler that is called - when the value of the ColorPicker has been changed. - - - A string specifying the name of the server-side event handler that will handle the - event. The default value is empty string. - - - If specified, the OnColorChanged - event handler that is called - when the value of the ColorPicker has been changed. Two parameters are passed to the handler: - - sender, the RadColorPicker object. - args. - - This event cannot be cancelled. - - - - - Retrieves all the colors from the Default preset. - - - A ColorPickerItemCollection collection with the colors from the Default preset. - - - - - Retrieves all the colors from the Standard preset. - - - A ColorPickerItemCollection collection with the colors from the Standard preset. - - - - Dim colors As ColorPickerItemCollection = RadColorPicker1.GetStandardColors() - - - ColorPickerItemCollection colors = RadColorPicker1.GetStandardColors(); - - - - - - Retrieves all the colors from the Office preset. - - - A ColorPickerItemCollection collection with the colors from the Office preset. - - - - - Retrieves all the colors from the Apex preset. - - - A ColorPickerItemCollection collection with the colors from the Apex preset. - - - - - Retrieves all the colors from the Aspect preset. - - - A ColorPickerItemCollection collection with the colors from the Aspect preset. - - - - - Retrieves all the colors from the Civic preset. - - - A ColorPickerItemCollection collection with the colors from the Civic preset. - - - - - Retrieves all the colors from the Concourse preset. - - - A ColorPickerItemCollection collection with the colors from the Concourse preset. - - - - - Retrieves all the colors from the Equity preset. - - - A ColorPickerItemCollection collection with the colors from the Equity preset. - - - - - Retrieves all the colors from the Flow preset. - - - A ColorPickerItemCollection collection with the colors from the Flow preset. - - - - - Retrieves all the colors from the Foundry preset. - - - A ColorPickerItemCollection collection with the colors from the Foundry preset. - - - - - Retrieves all the colors from the Median preset. - - - A ColorPickerItemCollection collection with the colors from the Median preset. - - - - - Retrieves all the colors from the Metro preset. - - - A ColorPickerItemCollection collection with the colors from the Metro preset. - - - - - Retrieves all the colors from the Module preset. - - - A ColorPickerItemCollection collection with the colors from the Module preset. - - - - - Retrieves all the colors from the Opulent preset. - - - A ColorPickerItemCollection collection with the colors from the Opulent preset. - - - - - Retrieves all the colors from the Oriel preset. - - - A ColorPickerItemCollection collection with the colors from the Oriel preset. - - - - - Retrieves all the colors from the Origin preset. - - - A ColorPickerItemCollection collection with the colors from the Origin preset. - - - - - Retrieves all the colors from the Paper preset. - - - A ColorPickerItemCollection collection with the colors from the Paper preset. - - - - - Retrieves all the colors from the Solstice preset. - - - A ColorPickerItemCollection collection with the colors from the Solstice preset. - - - - - Retrieves all the colors from the Technic preset. - - - A ColorPickerItemCollection collection with the colors from the Technic preset. - - - - - Retrieves all the colors from the Trek preset. - - - A ColorPickerItemCollection collection with the colors from the Trek preset. - - - - - Retrieves all the colors from the Urban preset. - - - A ColorPickerItemCollection collection with the colors from the Urban preset. - - - - - Retrieves all the colors from the Verve preset. - - - A ColorPickerItemCollection collection with the colors from the Verve preset. - - - - - Retrieves all the colors from the Grayscale preset. - - - A ColorPickerItemCollection collection with the colors from the Grayscale preset. - - - - - Retrieves all the colors from the Grayscale preset. - - - A ColorPickerItemCollection collection with the colors from the Grayscale preset. - - - - - Retrieves all the colors from the ReallyWebSafe preset. - - - A ColorPickerItemCollection collection with the colors from the ReallyWebSafe preset. - - - - - Retrieves all the colors from the Web216 preset. - - - A ColorPickerItemCollection collection with the colors from the Web216 preset. - - - - - Retrieves all the colors from the Web216 preset, used in the Default preset. - - - A ColorPickerItemCollection collection with the colors from the Web216 preset, used in the Default preset. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Restores view-state information from a previous request that was saved with the System.Web.UI.WebControls.WebControl.SaveViewState() method. - - An object that represents the control state to restore. - - - - - - Saves any state that was modified after the System.Web.UI.WebControls.Style.TrackViewState() method was invoked. - - An object that contains the current view state of the control; otherwise, if there is no view state associated with the control, null. - - - - - - Causes the control to track changes to its view state so they can be stored in the object's System.Web.UI.Control.ViewState property. - - - - - - - - - - - - - - - - - Collection of the color picker items. - - - - - Get/Set the preset colors of the color picker. - - - - - Get/Set the selected color of the ColorPicker. - - - - - Get/Set the number of the columns in the palette. - - - - - Determines whether the control causes a postback on value change. - - - - - Determines whether to show the None color selection. - - - - - Determines whether to show the color picker as an icon, which when clicked opens the palette. - - - - - Determines whether to preview the color which has been selected. - - - - - Gets or sets the localization strings for the RadColorPicker. - - - - - Gets or sets the tooltip of the icon. - - - - - Gets or sets the text in the icon. - - - - - Gets or sets the text for the no color box. - - - - - Gets or sets a value indicating the visible modes of the RadColorPicker's palette. - - - - Gets or sets a value indicating whether the RadColorPicker will create an overlay element. - The default value is false. - - - Gets or sets a value indicating whether the RadColorPicker popup will stay in the visible viewport of the browser window. - The default value is true. - - - Gets or sets a value indicating whether the RadColorPicker will display an array of recently used colors. - The default value is false. - - - Gets or sets a value indicating whether the RadColorPicker will display a button for choosing a custom color in the WebPalette tab. - The default value is false. - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadColorPicker control is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadColorPicker object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientLoad property. - - - - - - Gets or sets a value indicating the client-side event handler that is called when a user previews a color. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - Two parameters are passed to the handler: - - sender, the RadColorPicker that fired the event. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientColorPreview property. - - - - - - Gets or sets a value indicating the client-side event handler that is called - just before the value of the color picker is changed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientColorChanging - client-side event handler that is called - just before the value of the color picker is changed. Two parameters are passed to the handler: - - sender, the RadColorPicker object. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the - OnClientColorChanging property. - - - - - - Gets or sets a value indicating the client-side event handler that is called - while the value of the color picker has been changed. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientColorChange - client-side event handler that is called - when the value of the color picker has been changed. Two parameters are passed to the handler: - - sender, the RadColorPicker object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the - OnClientColorChange property. - - - - - - Gets or sets a value indicating the client-side event handler that is called - when the popup element of the RadColorPicker (in case ShowIcon=true) shows. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is empty string. - - - If specified, the OnClientPopUpShow - client-side event handler is called when the value of the color picker has been changed. - Two parameters are passed to the handler: - - sender, the RadColorPicker object. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientPopUpShow property. - - - - - - Fires when the value of the ColorPicker has been changed. - - - The specified ColorChanged - event handler is called - when the value of the ColorPicker has been changed. - - - - - - - - - - - - - - Represents the animation settings like type and duration for the control. - - - - - Represents the animation settings like type and duration. - - - - - - - - Gets or sets the effect that will be used for the animation. - - On of the AnimationType values. The default value - is OutQuart. - - - Use the Type property of the AnimationSettings - class to customize the effect used for the animation. To turn off animation effects set - this property to None. - - - - Gets or sets the duration in milliseconds of the animation. - An integer representing the duration in milliseconds of the animation. - - - Gets or sets the duration in milliseconds of the animation. - - An integer representing the duration in milliseconds of the animation. - The default value is 450 milliseconds. - - - - - The Telerik.Web.UI.RadComboBoxFilter enumeration supports three values - None, Contains, StartsWith. Default is None. - - - - - The Telerik.Web.UI.RadComboBoxSort enumeration supports three values - None, Ascending, Descending. Default is None. - - - - - Items are not sorted at all. - - - - - Items are sorted in ascending order (min to max) - - - - - Items are sorted in descending order (max to min) - - - - - The localization strings to be used in RadComboBox. - - - - - Gets or sets the NoMatches. - - The NoMatches. - - - - Gets or sets the show more format string. - - The show more format string. - - - - Gets or sets all items checked string. - - All items checked string. - - - - Gets or sets the items checked string. - - The items checked string. - - - - Gets or sets the check all string. - - The check all string. - - - - This class defines RadComboBoxData and its properties-Text, - Value, NumberOfItems, Message, EndOfItems Context and Items. - - - - - Gets or sets the text. - - The text. - - - - Gets or sets the value. - - The value. - - - - Gets or sets the number of items. - - The number of items. - - - - Gets or sets the end of items. - - The end of items. - - - - Gets or sets the message. - - The message. - - - - Gets or sets the context. - - The context. - - - - Gets or sets the items. - - The items. - - - - This Class inherits ControlItemData class. - - - - - - - - - - - - - Gets all script URLs that should be registered by a script manager for the given control - - A control reference to get scripts from - Whether to check child controls as well - A list of script URLs - - - - This control is used to render a on a dummy page so we can get the actual control scripts when RegisterWithScriptManager is false - - - - - The CompressedPageState class is used by - and to compress / decompress page state. - - - - - Call this method to compress the state into object of type . - - The state to be compressed as a object. - . - - - - Call this method to decompress the state into object. - - The state data as a object. - - - - A property that holds the compressed state. - - Returns the compressed state as a byte array object. - - - - RadCompression is a HttpModule that is designed to automatically compress AJAX and Web Service responses. - It also supports some additional features such as state compression, postback compression and excluding particular handlers from compression. - - - - - A default constructor. - - - - - Gets value indicating if the HTTP compression is activated - - - - - - Retrieves RadCompression's configuration section from the webconfig. - - - - - - Gets value indicating if the compression filter should be applied on full page postbacks. - - - - - - Gets value indicating whether State compression is activated. - - - - - - Initializes the RadCompression module and prepares it to handle requests. - - A that provides access to the methods, properties, - and events common to all application objects within an ASP.NET application - - - - Determines whether the response is already compressed. - - - - - - Indicates if compression type should be explicitly added to content encoding header - - - - - - A container class for the configuration element. - - - - - A string property that stores a handler that should be excluded from compression. /> configuration element. - - - - - - A boolean property that indicates whether the HandlerPath should be matched exactly as it is defined. /> configuration element. - - - - - - Represents the RadCompressionSettings attribute class. It can be used to setup RadCompression settings on per handler basis - (e.g. ) . - - - - - A default constructor. - - - - - A property that Gets or Sets the to be used for Http compression. - - - - - - A property that Gets or Sets the to be used for ViewState compression. - - - - - - A property that Gets or Sets whether RadCompression module should compress responses to regular post back requests. - - - - - - Represents the RadCompression section within a configuration file. - - - - - A default constructor. - - - - - A boolean property that gets the enablePostbackCompression attribute value from a configuration file. - - - - - - A boolean property that gets the enableTracing attribute value from a configuration file. - - - - - - A property that gets a collection of objects containing the handlers that should not be compressed. - - - - - - Represents a single exclude setting configuration element within a configuration file. - - - - - Represents request handler name. - - - - - - Gets whether handler's name represents only portion of request handler - URL. Default value is true - - - - - - Represents a configuration element containing a collection of elements. - - - - - A default constructor. - - - - - Creates a new instance of the class. - - An instance of the interface. - - - - Adds a new to the collection. - - An instance of the class. - - - - Removes an instance of the from the collection. - - An instance of the class. - - - - Removes all instances from the collection. - - - - - An indexer that allows access to collection members by integer index. - - A index. - The instance for the provided index. - - - - An indexer that allows access to collection members by string index. - - A index. - The instance for the provided index. - - - - Enumeration used for the different supported compression types. - - - - - A class that overrides to provide viewstate and controlstate compression in hidden fields. - - - - - If state compression is enabled returns object which supports compressed state manipulation. - Otherwise returns the default persister. - - - - - - A class based on that supports viewstate and controlstate manipulation even if they are compressed. - - - - - Creates a new instance of the persister for the provided object. - - A instance which state is to be compressed. - - - - Loads viewstate and controlstate even if they are previously compressed. - - - - - If needed compresses viewstate and controlstate and saves them in hidden fields. Only state greater than 8 KB is compressed. - - - - - Determines whether the response is already compressed. - - - - - - If return true ViewState data will be compressed even the - HTTPCompression is applied.Default is false. - - - - - A class that overrides to provide viewstate compression in session. - - - - - If state compression is enabled returns object which supports compressed state manipulation. - Otherwise returns the default persister. - - - - - - A class based on that supports viewstate manipulation even if it is compressed. - - - - - Creates a new instance of the persister for the provided object. - - A instance which viewstate is to be compressed. - - - - Loads viewstate even if it is previously compressed. - - - - - If needed compresses viewstate and saves it in session. Only viewstate greater than 8 KB is compressed. - - - - - creates a new instance of the LayoutBuilder class - - - - - Sets the RowCollection collection using the XML in the TableHtmlXml - - - - - Returns a XmlDocument object based on the LayoutBuilderRow collection. - - - - - Returns a Html Table version of current Layout. - - - - - Saves the - - - - - Saves the - - - - - Loads the client state data - - - - - - Saves the client state data - - - - - Gets or sets the xml file. - - - - - Gets or sets the width of the Layout. - - - - - Gets or sets the height of the Layout. - - - - - Gets or sets the value indicating whether every cell should has id. - - - - - Gets or sets the current table html source. - - - - - Gets a XmlDocument in which is loaded the TableHtml. - - - - - - - - - Copied from Reflector - - - - - - - - - - - - - Gets the custom attributes which will be serialized on the client. - - - - - Used internally. - - - - - Represents an client-side operation (e.g. adding an item, removing an item, updating an item etc.) - - The type of the item (e.g. , , - , , , ) - - - - - Returns the item (, , - , , , ) - associated with this client operation. - - - When the of the operation is the Item property will - return null (Nothing in VB.NET) in case the items of the control have been cleared. - - - - - Gets the type of the client operation - - - One of the enumeration values. - - - If the Type property is equal to the type will be used. - - - - - Adds a listener that will get notified along the interpretation process. - - the listener to add - in case of a null argument - - - - Removes a listener from this instance. - - the listener to remove - in case of a null argument - - - - Parses the given RTF document and informs the registered listeners about - all occurring events. - - the RTF documet to interpret - in case of an unsupported RTF structure - in case of a null argument - - - - Combines the setting for sub/super script: negative values are considered - equivalent to subscript, positive values correspond to superscript.
- Same unit as font size. -
-
- - Thrown upon RTF specific error conditions. - - - Thrown upon RTF specific error conditions. - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - - Searches for the first child group which has a tag with the given name - as its first child, e.g. the given destination. - - the name of the start tag of the group to search - the first matching group or null if nothing found - in case of a null argument - - - - Returns the name of the first element if it is a tag, null otherwise. - - - - - Determines whether the first element is a '\*' tag. - - - - - Adds a listener that will get notified along the parsing process. - - the listener to add - in case of a null argument - - - - Removes a listener from this instance. - - the listener to remove - in case of a null argument - - - - Parses the given RTF text that is read from the given source. - - the source with RTF text to parse - in case of invalid RTF syntax - in case of an IO error - in case of a null argument - - - - Determines whether to ignore all content after the root group ends. - Set this to true when parsing content from streams which contain other - data after the RTF or if the writer of the RTF is known to terminate the - actual RTF content with a null byte (as some popular sources such as - WordPad are known to behave). - - - - - Called before any other of the methods upon starting parsing of new input. - - - - - Called when a new group began. - - - - - Called when a new tag was found. - - the newly found tag - - - - Called when a new text was found. - - the newly found text - - - - Called after a group ended. - - - - - Called if parsing finished sucessfully. - - - - - Called if parsing failed. - - the reason for the failure - - - - Called after parsing finished. Always called, also in case of a failure. - - - - - Returns the name together with the concatenated value as it stands in the rtf. - - - - Thrown upon RTF specific error conditions. - - - Thrown upon RTF specific error conditions. - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Thrown upon RTF specific error conditions. - - - Creates a new instance. - - - Creates a new instance with the given message. - the message to display - - - Creates a new instance with the given message, based on the given cause. - the message to display - the original cause for this exception - - - Serialization support. - the info to use for serialization - the context to use for serialization - - - Provides strongly typed resource access for this namespace. - - - - Provides some helper functionality to keep resource handling in a - namespace as simple and uniform as possible. - - - intended to be used by a singleton class per namespace, which should - commonly be named Strings. This singleton instance should - provide access to resources via strongly typed properties, thus - avoiding coding errors with misspelled resource identifiers. - - - - - Formats the given format-string with the invariant culture and the - given arguments. - - the string to format - the arguments to fill in - the formatted string - - - - Creates a ResourceManager instance for the given type, loading its resources - from the type's full name, suffixed with '.resx'. - - the type of the singleton - a ResourceManager for loading the given type's resources - - - - Some helper methods for common checks on arguments. - - - - - Checks the given value and returns it. - - the value to check - the name for the ArgumentException - the trimmed value - in case the given value is null - in case the trimmed given value is empty - - - - Checks the given value and returns it. - - the value to check - the message in the - in case the given value is empty - the name for the ArgumentException - the trimmed value - in case the given value is null - in case the trimmed given value is empty - - - - Some utility methods for collections. - - - Just a container for some static methods which make life somewhat easier. - - - - - conventiently concatenates the given items to a string for debugging purposes. - - - the whole collection is embraced with square brackets and the individual items - are separated by a comma. null items will be displayed as 'null' instead of the - empty string. - - the collection of items to print - the starting text - the ending textrint - the item delimiter text - text for undefined values - a concatenation of the string representations of all the items - - - - A simple immutable storage utility to hold multiple strings. - - - - - Copies this collections items to the given array. - - the target array - the target index - - - - Locates the given string in this collection. - - the string to search - the position of the given string in this collection or -1 if not found - - - - Tests whether the given string is present in this collection. - - the string to search - true if this collection contains such a string, false otherwise - - - - Formats the lists items as a comma separated string without any special - quoting (e.g. if the items contain commas themselves ...) - - a string with all items separated by commas - - - - Access to the number of items. - - the number of items in the collection - - - - Index access to the items of this collection. - - the index of the item to retrieve - the item at the given position - - - - A simple immutable storage utility to hold multiple strings. - - - - - Creates a new empty instance. - - - - - Creates a new instance with all the items of the given collection. - - the items to add. may not be null. any non-string items - in this collection will be returned as null when trying to access them later. - - - - Creates a new instance with all the items of the given collection. - - the items to add. may not be null. any non-string items - in this collection will be returned as null when trying to access them later. - - - - Creates a new instance with all the items of the given array. - - the items to add. may be null or empty. any null items in - this array will be added too. - - - - Adds the given item. - - the item to add - the insertion position - - - - Removes the given item. - - the item to remove - - - - Removes the given item. - - the index of the item to remove - - - - Adds the given item at the given position. - - the item to add - the position to insert the new item into - - - - Adds all items in the given list to this instance. - - the items to add - - - - Adds all items in the given comma separated list to this instance. - - the items to add - - - - Removes all items in the given list from this instance. - - the items to remove - - - - Copies this collections items to the given array. - - the target array - the target index - - - - Lists the contents of this collection. - - a string with the items of this collection - - - - Index access to the items of this collection. - - the index of the item to retrieve - the item at the given position - - - - Some hash utility methods for collections. - - - - Provides strongly typed resource access for this namespace. - - - - Splits a string in the same way as the System.String.Split() method but - with support for special treatment for escaped characters and for quoted - sections which won't be split. - - - Escaping supports the following special treatment: - - escape is followed by 'n': a new line character is inserted - escape is followed by 'r': a form feed character is inserted - escape is followed by 't': a tabulator character is inserted - escape is followed by 'x': the next two characters are interpreted - as a hex code of the character to be inserted - any other character after the escape is inserted literally - - Escaping is applied within and outside of quoted sections. - - the string to split - the quoting character, e.g. '"' - an escaping character to use both within and outside - of quoted sections, e.g. '\\' - whether to return zero-length sections - outside of quotations or not. empty sections adjacent to a quoted section are - never returned. - the separator character(s) which will be used to - split the string outside of quoted sections - the array of sections into which the string has been split up. - never null but possibly empty. - - - - This enumeration lists the available controls in the file explorer and allows customizing the look of the control. - - - - - A treeview, which shows the folders in the file explorer. - - - - - A grid, which shows the files/folders in the current file explorer folder - - - - - A toolbar, which provides shortcuts for the file explorer commands (delete, new folder, back, forward, etc.) - - - - - A textbox, which shows the current selected path in the file explorer - - - - - The grid and treeview context menus, which are shown when the user right clicks inside the controls. - - - - - The RadListView control to hold the thumbnails view - - - - - FileList is a the place to show the file list. This could be either Grid, or Thumbnails. Therefore 0x2 + 0x20 = 0x22 - - - - - The default value for the RadFileExplorer control - all controls are shown - - - - - This enumeration lists the possible FileExplorer control operation modes. - - - - - The Default mode renders all controls in the FileExplorer (tree, grid, toolbar, etc.) - - - - - The FileTree mode renders both files and folders in the tree and removes the grid control. - - - - - Replaces the grid from the default configuration with a listView, displaying the items as thumbnails - - - - - Telerik File Explorer control - - - - - Fired when on all file explorer file and folder operations. - - an instance of the RadFileExplorerEventArgs event argument. - - - - Fired when the grid data is retrieved from the content provider. - - an instance of the RadFileExplorerEventArgs event argument. - - - - Updates the strings that are localizable in the FileExplorer controls. Useful if you change the Localization collection after it has already - set the values to the controls. - - - - - Implemented using ASP.NET 2.0 Callback functionality built into RadTreeView - - the tree instance - event arguments - - - - Handle Renaming of folders - - tree instance - rename event arguments - - - - Determines if the "MetroTouch" is used by the RadFileExplorer control. - - True if "MetroTouch" skin is used, false otherwise. - - - - Rebinds the tree in the RadFileExplorer control. If there were any nodes in the tree when this method is called, - they will be cleared unless you set the RadFileExplorer.Tree.AppendDataBoundItems property to true. - - - - - This method is used in the RadTreeView1_NodeExpand handler, in the TreeUpdatePanel_AjaxRequest method, when a folder is created - and in the TreeUpdatePanel_AjaxRequest method, in order to reach a node in the tree - - The node to be populated - - - - This method is used in OnNodeEdit handler - - the virtual path of the new node - source node - destination node - true for a copy operation - - - - This method is used in OnNodeEdit handler and in RenameGridItem method to handle renaming the folder - and node in tree - - the virtual path of the new node - node to rename - new name - - - - Create folder when perform this action in tree or in grid - - parent folder path - new folder name - - - - delete folder/file(s) from the grid or tree - - a list of virtual paths to the item being deleted - - - - Get the Grid data for the current selected folder in the file explorer tree - - path to current selected folder - sort argument (column and direction) - the index of the first item to return (used for paging) - the number of items to return (used for paging) - if set to true, will return files and folders, otherwise only folders - the control that needs the data ("grid" or "tree") - out parameter - set to the number of items returned - a list of files and folders in the selected path - - - - Get the Grid data for the current selected folder in the file explorer tree - - path to current selected folder - sort argument (column and direction) - the index of the first item to return (used for paging) - the number of items to return (used for paging) - if set to true, will return files and folders, otherwise only folders - the control that needs the data ("grid" or "tree") - out parameter - set to the number of items returned - the keyword used to filter the items in the grid - a list of files and folders in the selected path - - - - Restores view-state information from a previous request that was saved with the System.Web.UI.WebControls.WebControl.SaveViewState() method. - - An object that represents the control state to restore. - - - - Saves any state that was modified after the System.Web.UI.WebControls.Style.TrackViewState() method was invoked. - - An object that contains the current view state of the control; otherwise, if there is no view state associated with the control, null. - - - - Causes the control to track changes to its view state so they can be stored in the object's System.Web.UI.Control.ViewState property. - - - - - Gets or sets the current FileExplorerMode (e.g. default, show files in the tree, etc.) - - - - - Gets or sets the current PageSize of the grid - - - - - When set to true, this property will enable paging in the File Explorer's Grid component. - - - - - When set to true, renders a textbox used to filter files in the grid. - - - - - When set to true, performs the filtering after the "Enter" key is pressed. - EnableFilterTextBox should be set to true (i.e. filtering enabled) to enable filtering. - - - - - Gets or sets the text of the label displayed next to the Filter TextBox. - - - - - Gets or sets a value indicating whether to allow copying of files/folders - - - - - Gets or sets a value indicating whether to allow creating new folders - - - - - Gets or sets a value indicating whether to allow opening a new window with the file - - - - - Gets or sets a value indicating whether to allow opening a new window with the file - - - - - Gets or sets the width of the Web server control. - - - A System.Web.UI.WebControls.Unit that represents the width of the control. - The default is System.Web.UI.WebControls.Unit.Empty. - - The width of the Web server control was set to a negative value. - - - - Gets or sets the width of the file explorer's tree pane - - - A System.Web.UI.WebControls.Unit that represents the width of the control. - The default is 222 pixels. - - The width of the Web server control was set to a negative value. - - - - Gets or sets the height of the Web server control. - - - A System.Web.UI.WebControls.Unit that represents the height of the control. - The default is System.Web.UI.WebControls.Unit.Empty. - - The height of the Web server control was set to a negative value. - - - - Gets a reference to the toolbar, which shows on the top of the file explorer control. - - - - - Gets a reference to the grid, which shows on the right of the file explorer control. - - - - - Gets a reference to the grid, which shows on the right of the file explorer control. - - - - - Gets a reference to the grid, which shows on the right of the file explorer control. - - - - - Gets a reference to the tree, which shows on the left of the file explorer control. - - - - - Gets a reference to the context menu, which shows when the user right-clicks the grid control - - - - - Gets a reference to the tooltip control used for meta information popups - - - - - Gets a reference to the upload component, which shows inside a popup window when the user wants to upload files. - If you want to set the allowed file types or max upload file size, please use the Configuration property - - - - - Gets a reference to the async upload component, which shows inside a popup window when the user wants to upload files. - If you want to set the allowed file types or max upload file size, please use the Configuration property - - - - - Gets a reference to the window component, which shows the upload popup and the alert/confirmation dialogs. - - - - - Gets a reference to the splitter component in the file explorer - - - - - Determines which of the FileExplorer controls will be visible(available). - - - - - Determines which file list controls will be available on the client-side so that their respective file list view can be displayed dynamically - - - - - Specifies an access key to enable keyboard navigation for the File Explorer control - - - - - Gets or sets a string containing the localization language for the File Explorer UI - - - - - Gets or sets a value indicating where the control will look for its .resx localization files. - By default these files should be in the App_GlobalResources folder. However, if you cannot put - the resource files in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource files. - - - A relative path to the dialogs location. For example: "~/controls/RadEditorResources/". - - - If specified, the LocalizationPath - property will allow you to load the control localization files from any location in the - web application. - - - - - Specifies the skin that will be used by the control - - - - - Contains the FileExplorer configuration (paths, content provider type, etc.). - - - An FileManagerDialogConfiguration - instance, containing the configuration of the control - - - - - Gets or sets the initial path that will be shown in the file explorer control. - - - If this property is not set, the file explorer will use the first path in the ViewPaths as the initial one. - - - - - Gets or sets a value indicating whether to show the up one folder (..) item in the grid if available. - - - - - Returns the currently selected node in the tree. This property is useful during postbacks. - - - - - Gets the Keyboard Shortcuts of the FileExplorer control. - - - - - The name of the javascript function called when the user selects an item in the explorer. - - - - - The name of the javascript function called when a folder is loaded in the grid. - - - - - The name of the javascript function called when an item is double clicked in the grid. - - - - - The name of the javascript function called when the the selected folder in the tree changes. - - - - - The name of the javascript function called before the control loads in the browser. - - - - - The name of the javascript function called when the control loads in the browser. - - - - - The name of the javascript function called when the user tries to create a new folder. - - - - - The name of the javascript function called when the user tries to delete a file. - - - - - The name of the javascript function called when the user tries to rename/move a file or folder. - - - - - The name of the javascript function called when the user tries to copy a file or folder. - - - - - The name of the javascript function called when the user filters the files in the grid. - - - - - This event is fired when on all file and folder operations of the file explorer. If you wish to cancel the command - simply return False from your event handler. - - - - - This event is fired when the grid data is retrieved from the content provider - - - - - - - - - Gets the virtual path for the current item command - - - - - Gets the second virtual path for the current item command (for rename, move, etc. commands) - - - - - Gets the virtual command name - - - - - Set this argument to true if you wish to cancel the file explorer command - - - - - (OBSOLETE: Please use the RadImageEditor control for editing images.) - Provides a set of image manipulation functions (resize, crop, transform) for basic image editor support. - - - - - Creates a new instance of the ImageEditor class with the specified image - - An image that will be changed by the editor functions - - - - resize an image using the high quality algorithm. - - The new image size - - - - Resize the image using a specific interpolation mode - - The new image size - The interpolation mode to use. All modes except NearestNeighbor will cause a small loss (1-2 px) of image data around the edges of the original image. - - - - Rotate or flip the current image - - Whether the image should be flipped vertically - Whether the image should be flipped horizontally - An angle, which is used to rotate the image. The only supported values are 0, 90, 180, and 270 - The type of flip that was used on the image - - - - Get a flip type given a set of parameters - - An angle, which is used to rotate the image. The only supported values are 0, 90, 180, and 270 - Whether the image should be flipped horizontally - Whether the image should be flipped vertically - - - - - Crops the image with the specified dimensions - - The rectangle area that should be left from the original image - - - - Applies an alpha channel (transparency) to the image. - - The percent of transparency (between 0 and 100). - - - - Fixes a problem with the Gif file format support in the .NET framework. - - - - - Called when the class is disposed. This will dispose the edited image instance. - - - - - Gets or sets the current image to be manipulated. - - - - - Represents a EditorDropDown tool that renders as a custom dropdown in the editor - - - - - Represents a EditorDropDown tool that renders as a custom dropdown in the editor - - - - - This will set the width of the dropdown if it was set before. - - Unit containing the new default width - - - - - - - - - - - - - - - - - - - - Gets the collection of EditorTool objects, inside the tool strip. - - The tools. - - - - Represents a provider for filter expressions using Dynamic LINQ syntax. - - - - - Proccesses a RadFilterGroupExpression object to build a filter query. - - A RadFilterGroupExpression instance representing the current filter - expression. - - - - Prepares a string query using the RadFilterDynamicLinqExpressionEvaluator. - - A RadFilterNonGroupExpression instance to build the query from. - A string representation of the filter expression using Dynamic LINQ syntax. - - - - Gets an IList of the RadFilterFunction values supported by the query provider. - - - - - Gets an IList of the RadFilterGroupOperation values supported by the query provider. - - - - - Represents a base filter expression formatter. - - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression uses Dynamic LINQ syntax. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression uses Entity SQL syntax. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression uses OQL syntax. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Creates a formatted string representing a DateTime value, using invariant DateFormatInfo. - - The DateTime value to create a formatted string from. - The resulting string that represents the DateTime value. - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression uses LINQ syntax. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression is useful when - is pointed as a filter container. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Represents a formatter that creates a string representation of a filter expression - using the passed field name and data type. The expression is useful when - is pointed as a filter container. - - - - - Creates a formatted string using the respective syntax that is populated with the - provided field name and data type parameters. - - The name of the field the expression is built for. - The data type of the field the expression is built for. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Formats the string expression using the passed filter value(s). - - An ArrayList with the expression values. - The data type of the expression. - A boolean value indicating whether the formatted expression - should be case-sensitive. - A formatted string representing the filter expression. - - - - Represents and expression evaluator internally used to build filter expressions using Entity SQL syntax. - - - - - Returns a reference to the RadFilterDynamicLinqExpressionEvaluator instance. - - The RadFilterFunction used in the filter expression. - The RadFilterDynamicLinqExpressionEvaluator for the specific function provided. - - - - Represents a provider that builds a string filter expression using Entity SQL syntax. - - - - - Represents an interface for all value expressions in . - - - - - Represents the strongly typed Between filter expression. - - The Type of the value in the current expression. - - - - Represents a filter expression that takes two values for filtering. - - The Type of the values in the current expression. - - - - Represents a non-group RadFilterExpression in . - - - - - Represents all filter expressions in . - - - - - Gets the filter function used in the current expression. - - - - - Gets or sets the name of the field the current expression is used for. - - - - - Gets or sets the name of the field the current expression is used for. - - - - - Gets or sets the left value in the expression. - - - - - Gets or sets the right value in the expression. - - - - - Gets the type of the field the expression is built for. - - - - - Gets a RadFilterFunction value representing the Between filter function. - - - - - Represents a strongly typed Contains filter expression. - - - - - Represents a filter expression that takes a single value for filtering. - - The Type of the value in the current expression. - - - - Gets or sets the value of the type provided when initializing the generic class. - - - - - Gets the type of the field the expression is built for. - - - - - Gets a RadFilterFunction value representing the Contains filter function. - - - - - Represents a strongly typed DoesNotContain filter expression. - - - - - Gets a RadFilterFunction value representing the DoesNotContain filter function. - - - - - Represents a strongly typed EndsWith filter expression. - - - - - Gets a RadFilterFunction value representing the EndsWith filter function. - - - - - Represents the strongly typed EqualTo filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the EqualTo filter function. - - - - - Represents a collection filter expressions in . - - - - - Determines the index of a specific expression in the list. - - The RadFilterExpression to locate in the list. - The index of the expression if found in the list; otherwise, -1. - - - - Inserts an expression into the list at the specified index. - - The zero-based index at which the expression should be inserted. - The RadFilterExpression to insert into the list. - - - - Removes the element at the specified index of the collection. - - The zero-based index of the expression to remove. - - - - Adds an object to the end of the collection. - - The RadFilterExpression to be added to the end of the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - - - - Removes all elements from the collection. - - - - - Determines whether an element is in the collection. - - The RadFilterExpression to locate in the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - True if item is found in the collection; otherwise, false. - - - - Copies the entire collection to a compatible one-dimensional Array, - starting at the specified index of the target array. - - The one-dimensional Array that is the destination of the elements copied from - collection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Removes the first occurrence of a specific object from the collection. - - The RadFilterExpression to remove from the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - true if the expression is successfully removed; otherwise, false. - This method also returns false if expression was not found in the original collection. - - - - Returns an enumerator that iterates through the collection. - - An IEnumerator(RadFilterExpression) for the collection. - - - - Gets the number of elements actually contained in the collection. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Represents the strongly typed GreaterThan filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the GreaterThan filter function. - - - - - Represents the strongly typed GreaterThanOrEqualTo filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the GreaterThanOrEqualTo filter function. - - - - - Represents the group expressions in . - - - - - Returns a RadFilterNonGroupExpression based on the field name provided. - - A string representing the field name of the expression. - A RadFilterNonGroupExpression having the provided field name. - - - - Adds a passed RadFilterExpression to the Expressions collection of the group. - - The RadFilterExpression to add to the Expressions of the current group. - - - - Gets or sets a value from the RadFilterGroupOperation enumeration representing the currently used - group operation. - - - - - Gets a collection of all RadFilterExpression objects belonging to the current group. - - - - - Gets the filter function of the current expression. - - - - - Returns a boolean value indicating whether the current group expression has no filter - expressions added. - - - - - Represents an IsEmpty filter expression. - - - - - Gets the type of the field. - - - - - Gets a RadFilterFunction value representing the IsEmpty filter function. - - - - - Represents an IsNull filter expression. - - - - - Gets a RadFilterFunction value representing the IsNull filter function. - - - - - Represents the strongly typed LessThan filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the LessThan filter function. - - - - - Represents the strongly typed LessThanOrEqualTo filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the LessThanOrEqualTo filter function. - - - - - Represents the strongly typed NotBetween filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the NotBetween filter function. - - - - - Represents the strongly typed NotEqualTo filter expression. - - The Type of the value in the current expression. - - - - Gets a RadFilterFunction value representing the NotEqualTo filter function. - - - - - Represents an NotIsEmpty filter expression. - - - - - Gets the type of the field. - - - - - Gets a RadFilterFunction value representing the NotIsEmpty filter function. - - - - - Represents an NotIsNull filter expression. - - - - - Gets a RadFilterFunction value representing the NotIsNull filter function. - - - - - Represents a strongly typed StartsWith filter expression. - - - - - Gets a RadFilterFunction value representing the StartsWith filter function. - - - - - Represents an editor used for filtering fields of boolean type. - - - - - Initializes the default CheckBox control used in the field editor. - - The container Control where the CheckBox will be added. - - - - Extracts an ArrayList with the values from the editor. - - An ArrayList holding the editor values. - - - - Populates the field editor using the first values from the passed ArrayList. - - An ArrayList holding a boolean value. - - - - Gets the type of the field that is filtered using this editor. - - - - - Represents a collection of field editors in . - - - - - Adds an object to the end of the collection. - - The object to be added to the end of the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - - - - Removes all elements from the collection. - - - - - Determines whether an element is in the collection. - - The object to locate in the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - True if item is found in the collection; otherwise, false. - - - - Copies the entire collection to a compatible one-dimensional Array, - starting at the specified index of the target array. - - The one-dimensional Array that is the destination of the elements copied from - collection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Removes the first occurrence of a specific object from the collection. - - The RadFilterDataFieldEditor to remove from the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - true if item is successfully removed; otherwise, false. - This method also returns false if item was not found in the original collection. - - - - Returns an enumerator that iterates through the collection. - - An IEnumerator(T) for the collection. - - - - Determines the index of a specific item in the list. - - The RadFilterDataFieldEditor to locate in the list. - The index of the item if found in the list; otherwise, -1. - - - - Inserts an item into the list at the specified index. - - The zero-based index at which the item should be inserted. - The RadFilterDataFieldEditor to insert into the list. - - - - Removes the element at the specified index of the collection. - - The zero-based index of the item to remove. - - - - Gets the number of elements actually contained in the collection. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Represents an editor used for filtering fields of DateTime type. - - - - - Initializes the default control used in the field editor. - - The container Control where the RadDateTimePicker will be added. - - - - Extracts an ArrayList with the values from the editor. - - An ArrayList holding the editor values. - - - - Populates the field editor using the first values from the passed ArrayList. - - An ArrayList holding a boolean value. - - - - Gets or sets what type of date control will be created. - The default value is DateTimePicker. - - - - - Gets the type of the field that is filtered using this editor. - - - - - Gets/sets MinDate on RadDatePicker control. - - - - - Gets or sets the DateFormat and DisplayDateFormat that will be applied to the - control. - - - - - Enumeration determining what kind of picker will be used in the . - - - - - The arguments passed when - fires the FieldEditorCreated event. - - - - - Instance of RadFilterDataFieldEditor that has been loaded. - - - - - The arguments passed when - fires the FieldEditorCreating event. - - - - - Instance of RadFilterDataFieldEditor that will be loaded. - - - - - The name of editor type that will be loaded. - - - - - Represents an editor used for filtering fields of numeric type. - - - - - Initializes the default RadNumericTextBox control used in the field editor. - - The container Control where the CheckBox will be added. - - - - Extracts an ArrayList with the values from the editor. - - An ArrayList holding the editor values. - - - - Populates the field editor using the first values from the passed ArrayList. - - An ArrayList holding a boolean value. - - - - Gets or sets the NumericType property of the control. - - The NumericType property of the control. - - - - Gets or sets the NumberFormat.AllowRounding property of the control. - - The NumberFormat.AllowRounding property of the control. - - - - Gets or sets the NumberFormat.KeepNotRoundedValue property of the control. - - The NumberFormat.KeepNotRoundedValue property of the control. - - - - Gets or sets the NumberFormat.DecimalDigits property of the control. - - The NumberFormat.DecimalDigits property of the control. - - - - Represents the field editor in RadFilter used to build filter expressions for string values. - - - - - Initializes the textbox editor. - - The container Control which will contain the TextBox control. - - - - Extracts the value of the TextBox editors. - - An ArrayList containing the editor values. - - - - Sets the values of the text editor. - - An array containing the values that will populate the editor. - - - - Get/set TextBox width in pixels. - - - - - Represents a common class for the command events in . - - - - Override to fire the corresponding command. - - - Gets or sets a value, defining whether the command should be canceled. - - - - The arguments passed when - fires a command event. - - - - - Forces the execution of the command that triggered the event. - - The owner RadFilter object - - - - Gets the RadFilterExpressionItem that fired the command, if there is such. - - - - - Gets the control which was responsible for firing the event. - - - - - Gets or sets a value indicating whether the current command is cancelled. - - - - For internal usage only. - - - - For internal usage only. - - - - - Represents the UI component that holds the filter expression items in the rendered . - - - - - Gets or sets a value indicating whether the lines that connect the filter expression items - will be shown. - - - - - Represents the UI component rendered by to represent - a filter expression. - - - - - Initializes the filter expression item. - - - - - Gets the owner . - - - - - Returns a reference to the owner object. - - - - - Gets the container holding the menu links - the GroupOperation(for ), - FilterFunction and the editor FieldName. - - - - - Gets the container holding item specific controls. An input control for the - and AddGroupExpression, AddItemExpression for the . - - - - - Gets the remove button which removes an expression from the expression tree. - - - - - Gets the string representation of the hierarchical position of the item in the RadFilter visual structure. - - - - - Gets a string value representing the client id of the filter expression item control. - - - - - Gets the integer index of the filter expression item. - - - - - Represents the UI component rendered by to represent - a group of filter expressions.. - - - - - Adds a RadFilterExpressionItem to the ChildItems collection of the current group expression. - - A RadFilterExpressionItem to add to the ChildItems collection. - - - - Gets the RadFilterGroupExpression that the current item represents. - - - - - Gets a boolean value indicating whether the current Control represents a root group expression. - - - - - Gets the control which chooses the item expression GroupOperation value. - - - - - Gets the control which adds a new - to the expression items tree. - - - - - Gets the control which adds a new - to the expression items tree. - - - - - Gets a reference to the UI component that holds the filter expression items in the - rendered RadFilter.. - - - - - Gets a collection of the RadFilterExpressionItem objects belonging to the current group. - - - - - Represents a builder for objects belonging to a certain - . - - - - - Creates a new collection of RadFilterExpressionItem objects based on the provided parameter. - - The RadFilterGroupExpression the current item will be part of - the representation for. - The RadFilterGroupExpressionItem to which the current item will be - added. - - - - - Adds an item to the current RadFilterGroupExpressionItem. - - A RadFilterExpressionItem to add to the RadFilterGroupExpressionItem. - - - - Represents a collection of objects. - - - - - Adds a RadFilterExpressionItem to the end of the collection. - - The RadFilterExpressionItem to be added to the end of the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - - - - Removes all elements from the collection. - - - - - Determines whether an element is in the collection. - - The RadFilterExpressionItem to locate in the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - True if item is found in the collection; otherwise, false. - - - - Copies the entire collection to a compatible one-dimensional Array, - starting at the specified index of the target array. - - The one-dimensional Array that is the destination of the elements copied from - collection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Removes the first occurrence of a specific item from the collection. - - The RadFilterExpressionItem to remove from the collection. - The value can be a null reference (Nothing in Visual Basic) for reference types. - true if the item is successfully removed; otherwise, false. - This method also returns false if item was not found in the original collection. - - - - Returns an enumerator that iterates through the collection. - - An IEnumerator(RadFilterExpressionItem) for the collection. - - - - Gets the number of elements actually contained in the collection. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Represents the UI component rendered by to to represent - a filter expression having a single value. - - - - - Gets a reference to the RadFilterNonGroupExpression which the expression item represents. - - - - - Gets the associated value. - - - - - Gets a value indicating if the expression item have only one value. - If the property returns true the InputControl value will not be null. - - - - - Gets a value indicating if the expression item have two values (between filtering is performed). - If the property returns true the SecondInputControl value will not be null. - - - - - The input control which determines an expression value. The property could return null - if the Expression is not of type . - - - - - The second input control which determines the second expression value when performing between filtering. - The property will not return null only when performing between filtering. - - - - - Gets the control which is used for choosing the FieldName. - - - - - Gets the control which is used for choosing the FilterFunction. - - - - - Gets the which is placed between the two input controls - when the filter function is "Between" or "NotBetween". - - - - - The localization strings to be used in RadFilter. - - - - - Gets or sets "And group operation" string in the control. - - The "And group operation" string. - - - - Gets or sets "Or group operation" string in the control. - - The "Or group operation" string. - - - - Gets or sets "Not And group operation" string in the control. - - The "Not And group operation" string. - - - - Gets or sets "Not Or group operation" string in the control. - - The "Not Or group operation" string. - - - - Gets or sets the string used for the "Contains" filter function. - - The string used for the "Contains" filter function. - - - - Gets or sets the string used for the "DoesNotContain" filter function. - - The string used for the "DoesNotContain" filter function. - - - - Gets or sets the string used for the "StartsWith" filter function. - - The string used for the "StartsWith" filter function. - - - - Gets or sets the string used for the "EndsWith" filter function. - - The string used for the "EndsWith" filter function. - - - - Gets or sets the string used for the "EqualTo" filter function. - - The string used for the "EqualTo" filter function. - - - - Gets or sets the string used for the "NotEqualTo" filter function. - - The string used for the "NotEqualTo" filter function. - - - - Gets or sets the string used for the "GreaterThan" filter function. - - The string used for the "GreaterThan" filter function. - - - - Gets or sets the string used for the "LessThan" filter function. - - The string used for the "LessThan" filter function. - - - - Gets or sets the string used for the "GreaterThanOrEqualTo" filter function. - - The string used for the "GreaterThanOrEqualTo" filter function. - - - - Gets or sets the string used for the "LessThanOrEqualTo" filter function. - - The string used for the "LessThanOrEqualTo" filter function. - - - - Gets or sets the string used for the "Between" filter function. - - The string used for the "Between" filter function. - - - - Gets or sets the string used for the "NotBetween" filter function. - - The string used for the "NotBetween" filter function. - - - - Gets or sets the string used for the "IsEmpty" filter function. - - The string used for the "IsEmpty" filter function. - - - - Gets or sets the string used for the "NotIsEmpty" filter function. - - The string used for the "NotIsEmpty" filter function. - - - - Gets or sets the string used for the "IsNull" filter function. - - The string used for the "IsNull" filter function. - - - - Gets or sets the string used for the "NotIsNull" filter function. - - The string used for the "NotIsNull" filter function. - - - - Gets or sets the string used for the "Between" filter function used in the . - - The string used for the "Between" filter function used in the . - - - - Gets or sets the string used for the "NotBetween" filter function used in the . - - The string used for the "NotBetween" filter function used in the . - - - - Gets or sets the string used for the "Contains" filter function used in the . - - The string used for the "Contains" filter function used in the . - - - - Gets or sets the string used for the "DoesNotContain" filter function used in the . - - The string used for the "DoesNotContain" filter function used in the . - - - - Gets or sets the string used for the "EndsWith" filter function used in the . - - The string used for the "EndsWith" filter function used in the . - - - - Gets or sets the string used for the "StartsWith" filter function used in the . - - The string used for the "StartsWith" filter function used in the . - - - - Gets or sets the string used for the "IsEmpty" filter function used in the . - - The string used for the "IsEmpty" filter function used in the . - - - - Gets or sets the string used for the "NotIsEmpty" filter function used in the . - - The string used for the "NotIsEmpty" filter function used in the . - - - - Gets or sets the string used for the "IsNull" filter function used in the . - - The string used for the "IsNull" filter function used in the . - - - - Gets or sets the string used for the "NotIsNull" filter function used in the . - - The string used for the "NotIsNull" filter function used in the . - - - - Gets or sets the string used for the "EqualTo" filter function used in the . - - The string used for the "EqualTo" filter function used in the . - - - - Gets or sets the string used for the "GreaterThan" filter function used in the . - - The string used for the "GreaterThan" filter function used in the . - - - - Gets or sets the string used for the "GreaterThanOrEqualTo" filter function used in the . - - The string used for the "GreaterThanOrEqualTo" filter function used in the . - - - - Gets or sets the string used for the "LessThan" filter function used in the . - - The string used for the "LessThan" filter function used in the . - - - - Gets or sets the string used for the "LessThanOrEqualTo" filter function used in the . - - The string used for the "LessThanOrEqualTo" filter function used in the . - - - - Gets or sets the string used for the "NotEqualTo" filter function used in the . - - The string used for the "NotEqualTo" filter function used in the . - - - - Represents a base for the OQL expression evaluator classes in . - - - - - Based on a passed RadFilterFunction object returns a specific RadFilterOqlExpressionEvaluator object. - - A RadFilterFunction instance representing the current filter function. - A RadFilterOqlEvaluator inherited object representing a specific evaluator, based on the - provided function. - - - - Represents a provider that builds a string filter expression using OQL syntax. - - - - - Represents a component that builds filter expressions, with various types of syntax, based on user input - - - Represents a component that builds filter expressions, with various types of syntax, based on user input - - - - - Apply all filter expressions to IRadFilterableContainer. - - true if IRadFilterableContainer must be re-bind, otherwise false - - - - Listen IRadFilterableContainer for fields descriptors. - - - - - This method is called when IRadFilterableContainer fires OnFieldDescriptorsReady event - - instance of IRadFilterableContainer control - arguments that has description of IRadFilterableContainer filtering capabilities - - - - This method is called when RootGroupItem is accessed and it is not created yet. - Force creation of all RadFilterExpressionItems. - - - - - Build controls hierarchy. - - - - - - - - - - - - - - - Notifies the RadFilter control that it should handle an incoming postback event. - - A string representing the passed event argument - - - - Force RadFilter control to recreate its structure. - - - - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection. - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection. - - - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the objects. - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the objects. - - - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the - objects which are created from the - with the specified FieldName. - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the - objects which are created from the - with the specified FieldName. - - - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the objects. - - Loops through all expression items in the expression items tree - by performing recursion and returns them in a collection containing only the objects. - - - - Add child expression for item. - - The item that will be the parent for the new item. - Indicates whether the new child item should be group item or not. - - - - Removes filter expression from its parent. - - filter expression to be removed - Indicates whether to recrete the control - - - - Removes group filter expression from its parent. - If it is root group item removes all its child items. - - group filter expression to be removed - Indicates whether to recrete the control - - - - Change current group operator. - - group that current operator must be changed - new group operation value - Indicates whether to recrete the control - - - - Change current filter function for the item. - - item which filter function will be changed - new filter function value - Indicates whether to recrete the control - - - - Change field name for item - - item which FieldName will be changed - new FieldName value - - - - Handles Apply command - - - - - Loop through all IRadFilterValueExpression's and assing their value from RadFilterSingleExpressionItem editors. - - RadFilterGroupExpressionItem to start from - - - - - - - - - - - - Applies the resolved filter expression on the DataSourceControl assigned using DataSourceControlID property - - - - - Raises event - - - - - - Raises event - - - - - - Raises event - - - - - - Raises event - - - - - - Triggers ApplyExpressions command. - - - - - Serialize the control state to Base64 encoded string. - - returns serialized state in Base64 format - - - - Loads the provided state in the control. - - Base64 encoded string representing saved control state - - - - For use with RadPersistenceFramework - - - - - Gets the apply which fires the ApplyExpressions and generates a filter query. - - - - - Gets the used for all menus in the control. - - - - - Get / set Apply button text - - - - - Gets or sets the operation mode of the control - which determines if some of the operations in the control - will be executed on the client or performed on the server. - Server: Every operation performs a postback. - ServerAndClient: Only Adding field expressions and changing field expression name causes postback. - - - - - Get / set whether RadFilter should postback when value in editor change. - - - - - Gets or sets a value determining if the AddGroupExpressionButton placed in the - will be visible. - - - - - Get / set Add expression button tooltip. - - - - - Get / set Add group button tooltip. - - - - - Get / set Remove button tooltip. - - - - - Get / set the text that will be visible when Between/NotBetween filter expression. - - - - - Gets the instance that will be used for all - pickers in the current instance. - - - - - Gets or sets the RangeMinDate property of the which is shared for all - controls in the current instance. - - The RangeMinDate property of the which is shared for all - controls in the current instance. - - - - Gets or sets the RangeMinDate property of the which is shared for all - controls in the current instance. - - The RangeMinDate property of the which is shared for all - controls in the current instance. - - - - The FieldName property of the defaultly created editor that will be initialized when AddExpressionButton is pressed. - - - - - The default GroupOperation that will be set when a new is created. - - - - - Gets a value indicating whether the dotted lines indenting the nodes should be - displayed or not. - - - - - Root group for all expressions in RadFilter control. - This group cannot be removed. - - - - - Root group item for all expressions in RadFilter control. - - - - - A collection of type RadFilterDataFieldEditorCollection containing all RadFilterDataFieldEditor instances - contained in the RadFilter - - - - - Get/set ID of the IRadFilterableContainer control - - - - - Read only property. Holds reference to control that implements IRadFilterableContainer. - - - - - Get/set ID of the IDataSource control - - - - - Read only property. Holds reference to IDataSource control. - - - - - Gets a reference to the filterable container - - - - - Gets a reference to the - object that allows - you to set the properties of the client-side behavior and - appearance in a Telerik control. - - - - - Event raised when a new is created. The event could be - used to manipulate the controls inside each of the items. - - - - - Raised when a button in a control is clicked. - - - - - Raised when a button Apply in a control is clicked. - - - - - Raised when custom field editor is creating on postback. - - - - - Raised when field editor is created when RadFilter is used integrated with IRadFilterableContainer. - - - - - Indicates whether the Apply button should be visible. - - - - - Gets or sets a CultureInfo value representing the current culture of the control. - - - - - Gets a value of type FilterStrings representing the localization strings which will be used in RadFilter - - - - - Gets or sets a value indicating where RadFilter will look for its .resx localization file. - By default this file should be in the App_GlobalResources folder. However, if you cannot put - the resource file in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource file. - - - A relative path to the dialogs location. For example: "~/controls/RadFilterResources/". - - - If specified, the LocalizationPath - property will allow you to load the filter localization file from any location in the - web application. - - - - - When set to true enables support for WAI-ARIA - - - - - Get/Set the possition of expression preview item. - - - - - Get/Set provider used for building the expression in preview item. Default provider is RadFilterExpressionPreviewProvider. - - - - - Gets or sets a value from the RadFilterSettingsFormatter enumeration representing the type of - formatter used to serialize the filter settings - - - - - Represents a helper for working with datasource controls - - - - - Returns a boolean value indicating whether the passed type is bindable - - a Type object to be checked - a bool value indicating whether the type is bindable - - - - An enumeration containing the options for positioning the filter expression preview in the rendered control. - - - - - An enumeration containing the options for the type of formatter used to serialize the saved settings. - - - - - Represents a helper used to get a reference to the current filterable container. - - - - - Search for IRadFilterableContainer control. - - instance of control from which search will start - id of the IRadFilterableContainer container control - IRadFilterableContainer istance if found, otherwise null - - - - Search for IDataSource control. - - instance of control from which search will start - id of the IDataSource control - IDataSource istance if found, otherwise null - - - - The arguments passed when - fires the ApplyExpressions event. - - - - - Gets a reference to the root group expression. - - - - - Represents the client events of . - - - - This client-side event is fired after the - is created. - - - This client-side event is fired before the - is created. - - - - This client-side event is fired when object is - destroyed, i.e. on each window.onunload - - - - - Gets or sets the client-side event which is fired before is shown. - - - - - Gets or sets the client-side event which is fired when is shown. - - - - - Represents the client settings of . - - - - Gets a reference to class. - - - - - - - - Returns entity that describes current IRadFilterableContainer container filtering capabilities. - - - - - Represents an entity that describes current IRadFilterableContainer container filtering capabilities. - - - - - Collection of all filterable fields - - - - - Collection of all group operations that IRadFilterableContainer supports - - - - - Collection of all filter functions that IRadFilterableContainer supports - - - - - Describes all filterable fields of IRadFilterableContainer - - - - - Determines whether the specified RadFilterFieldDescriptor is equal to the current RadFilterFieldDescriptor. - - A RadFilterFieldDescriptor to compare the current one to. - true if the specified RadFilterFieldDescriptor is equal to the current RadFilterFieldDescriptor; - otherwise, false. - - - - Determines whether the specified Object is equal to the current RadFilterFieldDescriptor. - - An Object to compare the current RadFilterFieldDescriptor to. - true if the specified Object is equal to the current RadFilterFieldDescriptor; - otherwise, false. - - - - Serves as a hash function for a RadFilterFieldDescriptor. - - A hash code for the current RadFilterFieldDescriptor. - - - - Name of the filterable field - - - - - Name of the filterable field that will be displayed - - - - - Data type of filterable field - - - - - An enumeration representing all filter functions supported by . - - - - Same as: dataField LIKE '/%value/%' - - - Same as: dataField NOT LIKE '/%value/%' - - - Same as: dataField LIKE 'value/%' - - - Same as: dataField LIKE '/%value' - - - - Same as: dataField = value - - - - Same as: dataField != value - - - Same as: dataField > value - - - - Same as: dataField < value - - - - Same as: dataField >= value - - - - Same as: dataField <= value - - - - - Same as: value1 <= dataField <= value2.
- Note that value1 and value2 should be separated by [space] when entered as - filter. -
-
- - - Same as: dataField <= value1 && dataField >= value2.
- Note that value1 and value2 should be separated by [space] when entered as - filter. -
-
- - - Same as: dataField = '' - - - - Same as: dataField != '' - - - - Only null values - - - - - Only those records that does not contain null values within the corresponding column - - - - - Only for expression group - - - - - An enumeration representing the options for grouping expressions in . - - - - All expressions in the group will be aggregate with AND logical opeartion. - (Expression1 AND Expression2...) - - - All expressions in the group will be aggregate with OR logical opeartion. - /// (Expression1 OR Expression2...) - - - All expressions in the group will be aggregate with NOT AND logical opeartion. - /// NOT(Expression1 AND Expression2...) - - - All expressions in the group will be aggregate with NOT OR logical opeartion. - NOT(Expression1 OR Expression2...) - - - - Represents a query provider used to filter when it is assigned as a filter - container for . - - - - - Gets or sets a boolean value indicating whether the query will be case-sensitive. - - - - - Represents a base for the expression evaluator classes in - used for creating expressions for filtering RadGrid. - - - - - Returns a reference to the RadFilterLinqRowExpressionEvaluator instance. - - The RadFilterFunction used in the evaluated filter expression. - The RadFilterDynamicLinqExpressionEvaluator for the specific function provided. - - - - Represents an expression evaluator used for building filter expressions for - . - - - - - Returns a reference to the RadFilterDynamicLinqExpressionEvaluator instance. - - The RadFilterFunction used in the evaluated filter expression. - The RadFilterDynamicLinqExpressionEvaluator for the specific function provided. - - - - Represents an expression evaluator used for building filter expressions for - in scenarios where a calculated column is present. - - - - - Returns a reference to the RadFilterDynamicLinqExpressionEvaluator instance. - - The RadFilterFunction used in the evaluated filter expression. - The RadFilterDynamicLinqExpressionEvaluator for the specific function provided. - - - - Represents a base for the RadFilterListViewExpression evaluator classes in - - - - - - Based on a passed RadFilterFunction object returns a specific RadFilterListViewExpressionEvaluator object. - - A RadFilterFunction instance representing the current filter function. - A RadFilterListViewExpressionEvaluator inherited object representing a specific evaluator, - based on the provided function. - - - - Evaluates the passed non-group expression to create a new RadListViewFilterExpression object. - - The RadFilterNonGroupExpression to evaluate. - A resulting RadListViewFilterExpression. - - - - Represents a query provider for expressions used to filter a control. - - - - - Processes the passed RadFilterGroupExpression to create the expressions for - filtering . - - The RadFilterGroupExpression to process internally. - - - - Gets a collection of the RadFilterFunctions supported by the current query provider. - - - - - Gets a collection of the RadFilterGroupOperation supported by the current query provider. - - - - - Gets a collection of the RadListViewFilterExpression objects created by the provider. - - - - - Represents the "Add Expression" and "Add Group" buttons rendered in the control. - - - - - Represents the "Apply" button in . - - - - - Represents the which shows the list of fields and list of - filter functions in . - - - - - Renders the HTML closing tag of the control into the specified writer. - - A HtmlTextWriter that represents the output stream to render HTML content on the client. - - - - Gets the items. - - The items. - - - - Gets or sets a value that indicates whether a server control is rendered - as UI on the page. - - true if the control is visible on the page; otherwise false. - - - - - Gets or sets the programmatic identifier assigned to the server control. - - The programmatic identifier assigned to the control. - - - - - - - - - Represents a base for the SQL expression evaluator classes in - - - - - Based on a passed RadFilterFunction object returns a specific RadFilterSqlExpressionEvaluator object. - - A RadFilterFunction instance representing the current filter function. - A RadFilterSqlEvaluator inherited object representing a specific evaluator, based on the - provided function. - - - - Represents a query provider which builds a filter expression using SQL syntax. - - - - - Processes the passed RadFilterGroupExpression object to build a filter expression. - - A RadFilterGroupExpression object that will be used to extract the - filter expression. - - - - Gets List of the filter functions supported by this provider. - - - - - Gets List of the group operations supported by this provider. - - - - - Telerik RadFormDecorator - - - - - Finds all instances of FormView, GridView, DetailsView controls in the current page and adds a CSS class - so they can be decorated on the client - - - - - Form Decorator will render as a Div tag in order to be XHTML compliant - - - - - Get/Set the DecoratedControls enum of RadFormDecorator - - - - - Get/Set the ControlsToSkip enum of RadFormDecorator - a shortcut for faster fine-tuning of the decorated controls - - - - - Gets or sets whether decorated textboxes, textarea and fieldset elements will have rounded corners - - - - - Gets or sets the id (ClientID if a runat=server is used) of a html element whose children will be decorated - - - - - The editor for the column. - - - - - Gets the control placed in the current cell editor. - - The control placed in the current cell editor. - - - - Gets the content as byte Array of the uploaded file. - - The content as byte Array of the uploaded file. - - - - The editor for the column. - - - - - Gets the control placed in the current cell editor. - - The control placed in the current cell editor. - - - - Gets the content as byte Array of the uploaded file. - - The content as byte Array of the uploaded file. - - - - The editor used for . - - - - - - - - - Gets the RadRating control associated with this column editor - - - - - Gets the current value of the RadRating control - - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - When you have attachments saved in your data source as a blob of binary data, GridAttachmentColumn - provides you an easy way to upload to and download straight from your data source. In normal mode, - GridAttachmentColumn displays a button to download the attachment associated with the respective data - record. In edit mode, a RadUpload is provided for the user to upload an attachment into the data source. - - - - - - - - - - - - - Get value based on the current IsEditable state, item edited state and ForceExtractValue setting. - - item to check to extract values from - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - A string, specifying the ID of the datasource control, which will be used to - retrieve binary data of the attachment. - - - A string, specifying the ID of the datasource control, - which will be used to retrieve binary data of the attachment. - - - - - Gets or sets an array of file extensions that are allowed for uploading. - - - - - Gets or sets the maximum allowed size (in bytes) of the uploaded attachment. - - - - - Gets or sets a value indicating the type of the download button that will be rendered. The - type should be one of the specified by the - enumeration. - - - - - LinkButton - Renders a standard hyperlink button. - - PushButton - Renders a standard button. - - ImageButton - Renders an image that acts like a - button. - - - - - Gets or sets the CssClass of the button - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, that uniquely identify an attachment from the column's data source - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which form the unique key identifying an attachment - from the column's data source - - - - - Gets or sets the name of the data field from the column's data source where the binary attachment data is stored. - - - - - Use the DataTextField property to specify the field name - from the data source to bind to the - Text property of the - buttons in the - GridAttachmentColumn object. - Binding the column to a field instead of directly setting the Text - property allows you to display different captions for the buttons in the - GridAttachmentColumn by using - the values in the specified field. - Tip: This property is most - often used in combination with - - DataTextFormatString Property. - - - Gets or sets a value from the specified datasource field. This value will then be - displayed in the GridAttachmentColumn. - - -
- - - - - - -
-
- - [ASPX/ASCX]<br/><br/><radg:RadGrid id=<font class="string">"RadGrid1"</font> runat=<font class="string">"server"</font>><br/> <MasterTableView AutoGenerateColumns=<font class="string">"False"</font>><br/> <Columns><br/> <radg:GridAttachmentColumn HeaderText=<font class="string">"Customer ID"</font><font color="red">DataTextField=<font class="string">"CustomerID"</font></font><br/><font color="red">DataTextFormatString=<font class="string">"Edit Customer {0}"</font></font> ButtonType=<font class="string">"LinkButton"</font> UniqueName=<font class="string">"ButtonColumn"</font>><br/> </radg:GridAttachmentColumn> - - - - - -
-
- - - Use the DataTextFormatString property to provide a custom - display format for the caption of the buttons in the - GridAttachmentColumn. - Note: The entire - string must be enclosed in braces to indicate that it is a format string and not a - literal string. Any text outside the braces is displayed as literal text. - - - - - - - - -
- - [ASPX/ASCX]<br/><br/><radg:RadGrid id=<font color="black"><font class="string">"RadGrid1"</font> runat=<font class="string">"server"</font>><br/> <MasterTableView AutoGenerateColumns=<font class="string">"False"</font>><br/> <Columns><br/> <radg:GridAttachmentColumn HeaderText=<font class="string">"Customer ID"</font></font><font color="red">DataTextField=<font class="string">"CustomerID"</font><br/>DataTextFormatString=<font class="string">"Edit Customer {0}"</font></font> ButtonType=<font class="string" color="black">"LinkButton"</font> UniqueName=<font color="black"><font class="string">"ButtonColumn"</font>><br/> </radg:GridAttachmentColumn></font> - -
- - Gets or sets the string that specifies the display format for the caption in each - button. - -
- - Gets or sets a value indicating the text that will be shown for a button. - - - - Gets or sets the name of the field bound to the file name of the attachment. - - - - - Gets or sets the format string applied to the value bound to the FileNameTextField property - - - - - Gets or sets the file name of the attachment. - - - - - Gets or sets a value indicating the URL for the image that will be used in a - Image button. should be set to - ImageButton. - - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - - This property is supposed for developers of new grid columns. It gets whether - a column is currently ReadOnly. The ReadOnly property determines whether a column - will be editable in edit mode. A column for which the ReadOnly property is true - will not be present in the automatically generated edit form. - - - A boolean value, indicating whether a specific column is editable. - - - - - Each cell in a GridBinaryImageColumn contains an image streamed from a binary image source field - (specified through the DataField property of the column). When used this column will show a RadBinaryImage - control in view mode and RadUpload in edit mode to upload an image. - The image will be sized automatically to ImageHeight and ImageWidth pixel values if the ResizeMode property - of the column is different than None. Possible values for the ResizeMode property of the column are: - - Crop (the image will be trimmed) - - Fit (the image will be sized to fit the given dimensions) - - None (default) - Additionally, you can set the DataAlternateTextField property to specify by which field in the grid source - the column will be sorted/filtered. For the filtering you must also set explicitly the DataType property of - the column to the type of the field specified through the DataAlternateTextField property - (System.String in the common case). You can also apply format using the DataAlternateTextFormatString property. - - - - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets the field name from the specified data source to bind to the - . - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Gets or sets a url, specifying the location of a default image - which to be loaded if there is no data for the binary image - - - - - Gets or sets a string, specifying the text which will be shown as alternate - text to the image - - - - - Gets or sets the property for each cell. - - The property for each cell. - - - - Gets or sets the width of the image - - - - - Gets or sets the height of the image - - - - - Get or set the name of the file which will appear inside of the SaveAs - browser dialog - - - - - Specifies if the HTML image element's dimensions are inferred from image's binary data - - - - - Gets or sets a string, representing the DataField name from the data source, - which will be used to supply the alternateText for the image in the column. This text can - further be customized, by using the DataTextFormatString property. - - - A string, representing the DataField name from the data - source, which will be used to supply the alternate text for the image in the column. - - - - - Gets or sets a string, specifying the format string, which will be used to format - the alternate text of the image, rendered in the cells of the column. - - - A string, specifying the format string, which will be - used to format the text of the hyperlink, rendered in the cells of the column. - - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - - This property is supposed for developers of new grid columns. It gets whether - a column is currently ReadOnly. The ReadOnly property determines whether a column - will be editable in edit mode. A column for which the ReadOnly property is true - will not be present in the automatically generated edit form. - - - A boolean value, indicating whether a specific column is editable. - - - - - Gets or sets the property for each cell. - - The property for each cell. - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Each cell in a GridImageColumn contains an image. To specify the image url of that image, you can do one of the following: - - Set the ImageUrl property to a static value. When you use this method, every image appears the same in the entire column. - - Set the DataImageUrlFields property to a field in the source that can be used to supply the image path and format it by - setting the DataImageUrlFormatString property. You can specify multiple fields if the image url is determined by more - than one field in the database. - - Set the DataAlternateTextField property to specify by which field in the grid source the column will be sorted/filtered. - For the filtering you must also set explicitly the DataType property of the column to the type of the field specified - through the DataAlternateTextField property (System.String in the common case). You can also apply format using the - DataAlternateTextFormatString property. - - - - - - - - - - - - - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - Determines whether [is bound to field name] [the specified URL fields]. - - The URL fields. - The name. - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the url of the image which will be shown. - - - A string, representing a comma-separated enumeration - of DataFields from the data source, which will form the url of the image which - will be shown. - - - - - Gets or sets a string, specifying the FormatString of the DataNavigateURL. - Essentially, the DataNavigateUrlFormatString property sets the formatting for the url - string of the image. - - - A string, specifying the FormatString of the - DataNavigateURL. - - - - - Gets or sets a string, specifying the url, from which the image should be - retrieved. This property will be honored only if the DataImageUrlFields are - not set. If either DataImageUrlFields are set, they will override the - ImageUrl property. - - - A string, specifying the url, from which the image, - should be loaded. - - - - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets or sets a string, specifying the text which will be shown as alternate - text to the image - - - - - Gets or sets the image alignment of the column Image control. - - The image alignment of the column Image control. - - - - Gets or sets the width of the image - - - - - Gets or sets the height of the image - - - - - Gets or sets a string, representing the DataField name from the data source, - which will be used to supply the alternateText for the image in the column. This text can - further be customized, by using the DataTextFormatString property. - - - A string, representing the DataField name from the data - source, which will be used to supply the alternate text for the image in the column. - - - - - Gets or sets a string, specifying the format string, which will be used to format - the alternate text of the image, rendered in the cells of the column. - - - A string, specifying the format string, which will be - used to format the text of the hyperlink, rendered in the cells of the column. - - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - - A databound column type in RadGrid that displays a RadRating control in view and edit mode - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - - - - - Extracts the values from the editedItem and fills the names/values pairs for each data-field edited by the column in the newValues dictionary. - - dictionary to fill. This param should not be null (Nothing in VB.NET) - the GridEditableItem to extract values from - - - - This method returns true if the column is bound to the specified field - name. - - The name of the DataField, which will be checked. - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - Gets or sets the field name from the specified data source to bind to the - - - - - - Gets or sets a value indicating whether data in this column can be filtered. The - default value is true - - - A Boolean value indicating whether the column can be filtered. The - default value is true - - - - - Gets or set a value indicating whether data in this column can be sorted. The - default value is true - - - A Boolean value indicating whether the column can be sorted. The - default value is true - - - - - Gets or sets a value indicating the number of items RadRating in each cell of the - will show - - - An Integer value indicating the number of items RadRating in each - column cell will show. The default value is 5 - - - - - Gets or sets a value indicating the selection mode of the RadRating control in each - cell of the . The default value is - RatingSelectionMode.Continuous - - - An enumerated RatingSelectionMode value indicating the selection mode - of the RadRating control in each cell. The default value - is RatingSelectionMode.Continuous - - - - - Gets or sets a value indicating the rating precision of the RadRating control - in each cell of the . The default value - is RatingPrecision.Item - - - An enumerated RatingPrecision value undicatig the precision - of the RadRating control in each cell. The defautl value is RatingPrecision.Item - - - - - Gets or sets a value indicating whether the direction of the RadRating control - should be reversed. The default value is false - - - A Boolean value indicating whether the direction of the RadRating - control should be reversed. The default value is false - - - - - Gets or sets a value indicating whether the column allows rating in view mode. - The default value is false - - - A Boolean value indicating whether the column allows rating - in view mode. The default value is false - - - - - This property is supposed for developers of new grid columns. It gets whether - a column is currently ReadOnly. The ReadOnly property determines whether a column - will be editable in edit mode. A column for which the ReadOnly property is true - will not be present in the automatically generated edit form. - - - A boolean value, indicating whether a specific column is editable. - - - - - - - - - Provides properties related to setting the client-side data-binding in - Telerik RadGrid. - - - You can get a reference to this class using - property. - - - - - Gets a reference to class providing properties - related to client-side ADO.NET DataService data-binding. - - - - - Gets or sets url for the WebService or Page which will be requested to get data. - - - - - Gets or sets method name in the WebService or Page which will be requested to get data. - - - - - Gets or sets method name in the WebService or Page which will be requested to get total records count. - - - - - Gets or sets maximum rows parameter name for the SelectMethod in the WebService or Page which will be requested to get data. - - - - - Gets or set start row index parameter name for the SelectMethod in the WebService or Page which will be requested to get data. - - - - - Gets or set sort parameter name for the SelectMethod in the WebService or Page which will be requested to get data. - - - - - Gets or set filter parameter name for the SelectMethod in the WebService or Page which will be requested to get data. - - - - - Gets or set filter parameter type for the SelectMethod in the WebService or Page which will be requested to get data. Default value is List. - - - - - Gets or set sort parameter type for the SelectMethod in the WebService or Page which will be requested to get data. Default value is List. - - - - - Gets or set a value indicating whether the client-side caching should be enabled or not. - - - - - Gets or set data property name for the SelectMethod in the WebService or Page which will be requested to get data and count. Default is "Data"! - - - - - Gets or set data property total records count for the SelectMethod in the WebService or Page which will be requested to get data and count. Default is "Count"! - - - - - Gets or sets the type of the data requested from a data service. A value of - GridClientDataResponseType.JSONP allows for cross-domain JSONP requests. - Default value is GridClientDataResponseType.JSON. - - - - - Gets or sets a value indicating whether empty data rows are shown in - when client-side databinding is setup. Defalut value is true. - - - - - - - - - Enumeration determining the parameter type which will be used - for the SelectMethod in the WebService or Page which will be requested to get data. - - - - - Enumerates the data request formats RadGrid uses when making data service requests. - - - - - Class holding settings for setuping the control binding to a data service. - - - - - Gets or set table name for the specified ADO.NET DataService. Default is empty string! - - - - - Gets or sets the client data service type RadGrid binds to. - Default is GridClientDataServiceType.ADONet. - - - - - Gets or set a filter string for the specified ADO.NET DataService. Default is empty string! - - - - - Gets or set a filter string for the specified ADO.NET DataService. Default is empty string! - - - - - Specifies the data service type RadGrid binds to - - - - - Specifies an ADO.NET Data Service - - - - - Specifies an Open Data Protocol service - - - - - - - - - - - - - - - - - Class holding settings associated with the keyboard - navigation functionality. - - - - - This property set whether active row should be set to first/last item when current item is last/first - and down/up key is pressed (default is false) - - - - - This property set whether the edit form will be submited when the ENTER key is pressed - (default is false) - - - - - This property set the validation group of all controls placed into the Edit/Insert form of the RadGrid - - - - - This property sets the key that is used to focus RadGrid. It is always used with CTRL key combination. - - - - - This property sets the key that is used to open insert edit form of RadGrid. It is always used with CTRL key combination. - - - - - This property sets the key that is used to rebind RadGrid. It is always used with CTRL key combination. - - - - - This property set the key that is used for expanding the active row's detail table - (default key is Right arrow) - - - - - This property set the key that is used for collapsing the active row's detail table - (default key is Left arrow) - - - - - Gets the key used when exiting edit or insert mode. - - The key used when exiting edit or insert mode. - - - - Gets the key used when updating or inserting an item. - - The key used when updating or inserting an item. - - - - Gets the key which deletes the current active row. - - The key which deletes the current active row. - - - - Gets or sets a value which if set to false, prevents the keyboard short-cuts such as update/insert on ENTER, - exit edit/insert mode on ESC, etc. from being active. - - A value which if set to false, prevents the keyboard short-cuts such as update/insert on ENTER, - exit edit/insert mode on ESC, etc. from being active. - - - - Enumeration representing keyboard keys which could - be associated with keyboard navigation - keys to perform certain actions. - - - - - Class holding settings in order to setup a settings. - - - - - Gets or sets the DataSourceID of the nested view template. - - The the DataSourceID of the nested view template. - - - - Each entry in this collection consists of a relation key names. These key names have to be also populated in each GridTableView - DataKeyNames array. When these properties are specified correctly, will be able to determine the child records of - each GridTableView when the control builds the hierarchy, without handling the DetailTableDataBind event. - You need to define the ParentTableRelations/DataKeyNames for the MasterTableView/GridTableViews according to the database relations - conventions.And here are the exact conventions: - the primary key column name for each table in the grid source (used for master/detail table population) should be added to the - DataKeyNames collection of the respective master/detail table - - The MasterKeyField in the GridRelationFields should match the primary key of the parent table in the corresponding relatio - - The DetailKeyField in the GridRelationFields should match the foreign key of the child table in the corresponding relation - - The parent table relation. - - - - The class holding the settings for the control which - are used to determine the date input behavior. - - - - - Validates the specified control with supplied context. - - The control. - The context. - - - - Validates the specified control. - - The control. - - - - Gets or sets the culture used by RadDateSetting to format the - date. - - - A - CultureInfo object that represents the current culture used. The default value is - System.Threading.Thread.CurrentThread.CurrentUICulture. - - - - - - - - - Gets or sets the smallest date value allowed by - RadDateSetting. - - - A - DateTime object that represents the smallest date value by - RadDateSetting. The default value is 1/1/1980. - - - - - Gets or sets the largest date value allowed by - RadDateSetting. - - - A - DateTime object that represents the largest date value allowed by - RadDateSetting. The default value is 12/31/2099. - - - - - Gets or sets the date and time format used by - RadDateSetting. - - - A string specifying the date format used by RadDateSetting. The - default value is "d" (short date format). - - - - - Gets or sets the display date format used by - RadDateSetting.(Visible when the control is not on focus.) - - - A string specifying the display date format used by - RadDateSetting. The default value is "d" (short date format). If the - DisplayDateFormat is left blank, the DateFormat will - be used both for editing and display. - - - - - Gets or sets a value that indicates the end of the century that is used to - interpret the year value when a short year (single-digit or two-digit year) is entered - in the input. - - The year when the century ends. Default is 2029. - - - - - - - - - - - - Code moved into this method from OnPreRender to make sure it executed when the framework skips OnPreRender() for some reason - - - - - Registers the control with the ScriptManager - - - - - Registers the CSS references - - - - - Loads the client state data - - - - - - Saves the client state data - - - - - - - - - - - - - - Gets or sets the value, indicating whether to register with the ScriptManager control on the page. - - - - If RegisterWithScriptManager is set to false the control can be rendered on the page using Web Services or normal callback requests/page methods. - - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - For internal use. - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets the real skin name for the control user interface. If Skin is not set, returns - "Default", otherwise returns Skin. - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - - Specifies the rendering mode of the control. Setting the mode to Lightweight will yield - HTML 5/CSS 3 html and css. - - - Lightweight rendering mode might change the outlook of the component in some older browsers - that don't support CSS3/HTML5. - - - - - The CssClass property will now be used instead of the former Skin - and will be modified in AddAttributesToRender() - - - protected override string CssClassFormatString - { - get - { - return "RadDock RadDock_{0} rdWTitle rdWFooter"; - } - } - - - - - Gets or sets the skin to apply to the control. - - The name of the skin to apply to the control. The default is . - - The style sheet has already - been applied.- or -The Page_PreInit event has already occurred.- or -The control - was already added to the Controls collection. - - - - - The class holding all client events. - - - - - - - - - - - - - Gets or sets the client side event which will be fired when the input contol loses focus. - - The client side event which will be fired when the input contol loses focus. - - - - Gets or sets the client event will be fired when incorrect value is entered in the input and the validation fails. - - The client event will be fired when incorrect value is entered in the input and the validation fails. - - - - Gets or sets the client side event which will be fired on every key press when the input control is focused. - - The client side event which will be fired on every key press when the input control is focused. - - - - Gets or sets the client side event which will be fired on changing the value of the input control. - - The client side event which will be fired on changing the value of the input control. - - - - Gets or sets the client side event which will be fired when a focus to the input control is given. - - The client side event which will be fired when a focus to the input control is given. - - - - Gets or sets the client side event which will be fired before a input control is validated. - - The client side event which will be fired before a input control is validated. - - - - The event arguments passed when fires - InputSettingsCreating event. The event is fired before creating the - settings and could be canceled. - - - - - Gets or sets if the creation of the settings will be canceled. - - Determines if the creation of the settings will be canceled. - - - - Gets the on which the settings will be applied. - - The on which the settings will be applied. - - - - Gets the target input properties associated with the TextBox. - - The target input properties associated with the TextBox. - - - - Gets the input setting which will be created. - - The input setting which will be created. - - - - The class holding a reference to a target control - in order for to track all targeted inputs. - - - - - Gets or sets the TextBox ID - - The TextBox ID. - - - - Gets or sets a value indicating the control should be enabled or not. - - The value indicating the control should be enabled or not. - - - - Collection containg items. - - - - - Finds TargetInput setting by ID of input control - - ID of input control - TargetInput or null - - - - - - - Adds an item to the collection. - The position into which the new element was inserted, or -1 to indicate - that the item was not inserted into the collection, - The to add to the collection. - - - - Removes the first occurrence of a specific from the collection. - - The to remove from the collection. - - - - Determines whether the collection contains - a specific value. - true if the is found in the collection; - otherwise, false. - The object to locate in the collection. - - - - Determines the index of a specific item in the collection. - - The index of if found in the list; otherwise, - -1. - The to locate in the collection. - - - - Inserts an item to the collection at the - specified index. - The zero-based index at which should - be inserted. - The to insert into the collection. - - - is not a valid index in the collection. - - - is null reference in the collection - - - - - Collection holding items. - - - - - Adds an to the end of the collection. - - The . - - - - - Returns the zero-based index of the first occurrence of a in the collection. - - The . - - - - - Inserts an element into the collection at the specified index. - - The index. - The . - - - - Copies the entire collection to a compatible one-dimensional array, starting at the beginning of the target array. - - The . - The starting index. - - - - Removes the first occurrence of a specific from the collection. - - The . - - - - Removes the element at the specified index of the collection. - - The index. - - - - Determines whether an element is in the collection. - - The value. - - - - - Class holding settings associated with - validation process. - - - - - - - - - - - - - Gets or sets a value indicating the control should be required on client or not. - - A value indicating the control should be required on client or not. - - - - Gets or sets the name of the validation group to wich this setting belongs. - - The name of the validation group to wich this setting belongs. - - - - Gets or sets which event will cause the control to be validated. - - Which event will cause the control to be validated. - - - - Gets or sets url for the WebService or Page which will be requested to validate data. - - - - - Gets or sets method name in the WebService or Page which will be requested to validate data. - - - - - Enumeration determining when control - will be validated. - - - - - The RadInputManager offers an easy and intuitive way to extend a standard ASP.NET , - and without any extra custom code, introduce much functionality, normally related to a Telerik RadInput - control. For example, a standard text box control offers no default functionality for text parsing and - validation ? this has to be done via custom code, either client or server side. This input validation is - normally associated with Telerik RadInput controls. - - - The RadInputManager offers an easy and intuitive way to extend a standard ASP.NET , - and without any extra custom code, introduce much functionality, normally related to a Telerik RadInput - control. For example, a standard text box control offers no default functionality for text parsing and - validation ? this has to be done via custom code, either client or server side. This input validation is - normally associated with Telerik RadInput controls. - - - - - - - - - - - - - Finds the by provided behaviorID. - - The behaviorID. - - - - - Finds the by provided type. - - The type. - - - - - Gets a collection of InputSetting objects that allows for specifying the objects - for which input elements will be created on the client-side. - - - - Gets or sets a value indicating whether manager should be enabled or not. - - - - The event arguments passed before - validation happens and InputManagerValidating event is fired. - - - - - Gets the which holds - settings for all controls thar are being validated. - - The which holds - settings for all controls thar are being validated. - - - - - - - - Gets or sets if the validation will be canceled and - the controls will be valid. - - Determines if the validation will be canceled and - the controls will be valid. - - - - Gets or sets if the valdiation - is valid. - - Determines if the valdiation - is valid. - - - - The event arguments passed when validated - its input controls storred in particular . - - - - - Gets the which holds - settings for all controls thar are being validated. - - The which holds - settings for all controls thar are being validated. - - - - custom validator which loops through - TargetControls. - - - - - Class holding settings determining the how the number will be displayed. - - - - - Validates the specified control with supplied context. - - The control. - The context. - - - - Validates the specified control. - - The control. - - - Gets or sets the string to use as the decimal separator in values. - The string to use as the decimal separator in values. - The property is being set to an empty string. - The property is being set to null. - - - Gets or sets the number of decimal places to use in numeric values - The number of decimal places to use in values. - The property is being set to a value that is less than 0 or greater than 99. - - - - Gets or sets the number of digits in each group to the left of the decimal in - values. - - The number of digits in each group to the left of the decimal in values. - The property is being set to null. - - - - Gets or sets the string that separates groups of digits to the left of the - decimal in values. - - - The string that separates groups of digits to the left of the decimal in - values. - - The property is being set to null. - - - Gets or sets the format pattern for negative values. - The format pattern for negative percent values. - The property is being set to a value that is less than 0 or greater than 11. - - - Gets or sets the format pattern for positive values. - The format pattern for positive percent values. The - The property is being set to a value that is less than 0 or greater than 3. - - - Gets or sets the format pattern for zero values. - The format pattern for zero percent values. The - The property is being set to a value that is less than 0 or greater than 3. - - - - Gets or sets the value that indicates whether the value will be rounded. - - The value that indicates whether the value will be rounded. - - - - Gets or sets whether the control will keep its trailing zeros - (according to the DecimalDigits setting) when focused. - - Determines whether the control will keep its trailing zeros - (according to the DecimalDigits setting) when focused. - - - - Gets or sets the culture used by NumericTextBoxSetting to format - the numburs. - - - A CultureInfo object that represents the current culture used. - The default value is System.Threading.Thread.CurrentThread.CurrentUICulture. - - - - - Gets or sets the largest possible value of a - NumericTextBoxSetting. - - The default value is positive 2^46. - - - - Gets or sets the smallest possible value of a RadNumericTextBox. - - The smallest possible value of a RadNumericTextBox. - - - - Gets or sets the time, in milliseconds, the InvalidStyle should be displayd. Must be a positive integer. - - The Time, in milliseconds, the InvalidStyle should be displayd. Must be a positive integer. - - - - Gets or sets the type of the RadNumericTextBox. - - The type of the RadNumericTextBox. - - - - Gets or sets the CSS style applied to control when is negative. - - The CSS style applied to control when is negative. - - - - Class holding settings for regular expression validation on control. - - - - - Validates the specified control. - - The control. - - - - Validates the specified control with supplied context. - - The control. - The context. - - - - Gets or sets the regular expression that determins the pattern used to validate the field. - - The regular expression that determins the pattern used to validate the field. - - - - Gets or sets a value indicating the control should be required on client or not. - - A value indicating the control should be required on client or not - - - - Settings determining the strength of a password. - - - - - Gets the settings determining the stength of a password. - - The settings determining the stength of a password. - - - - Specifies which reorder buttons should be shown in . Members might be - combined using bitwise operators allowing for custom configurations. - - - - - - - - Displays the move up button - - - - - Displays the move down button - - - - - Displays the move to top button - - - - - Displays the move to down button - - - - - Displays all buttons - - - - - Displays the move up and the move down buttons only - - - - - Specifies the position of the buttons in a . - - - - - The buttons appear to the right of the listbox - - - - - The buttons appear below the listbox - - - - - The buttons appear to the left of the listbox - - - - - The buttons appear above the listbox - - - - - For internal use - - - - - - - Specifies the horizontal alignment of buttons - - - - - Buttons are left aligned - - - - - Buttons are centered - - - - - Buttons are right aligned - - - - - This enumeration controls the Selection Mode of RadListBox. - - - - - The default behaviour - only one Item can be selected at a time. - - - - - Allows selection of multiple Items. - - - - - Specifies which transfer buttons should be shown in . Members might be - combined using bitwise operators allowing for custom configurations. - - - - - Displays the transfer to button - - - - - Displays the transfer from button - - - - - Displays the transfer all to button - - - - - Displays the transfer all from button - - - - - Displays all buttons - - - - - Displays the transfer to and transfer from buttons only - - - - - Specifies the transfer behavior - - - - - Items are moved to the destination listbox - - - - - Items are copied to the destination listbox - - - - - Specifies the vertical alignment of buttons - - - - - The buttons are aligned with the top of the listbox - - - - - The buttons are aligned with the middle of the listbox - - - - - The buttons are aligned with the bottom of the listbox - - - - - The Telerik.Web.UI.RadListBoxSort enumeration supports three values - None, Ascending, Descending. Default is None. - - - - - Items are not sorted at all. - - - - - Items are sorted in ascending order (min to max) - - - - - Items are sorted in descending order (max to min) - - - - - Specifies the position at which the user has dragged and dropped the source item(s) with regards to the - destination item. - - - - - The source item(s) is dropped above (before) the destination item. - - - - - The source item(s) is dropped below (after) the destination item. - - - - - Provides data for the event of the control. - - - - - Provides data for the and events of the control. - - - - - Gets the SourceDragItems. - - The SourceDragItems. - - - - Gets the ID of the HTML element on which the source item(s) is(are) dropped. - - - A string representing the ID of the HTML element on which the source item(s) is(are) dropped. - - - - - Represents the method that handles the event - of the control. - - - - - Provides data for the event of the control. - - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the event is canceled the Dropped event will not fire. - - - - - Represents the method that handles the event - of the control. - - - - - Provides data for the event of the control. - - - - - Gets or sets the source listbox of the transfer operation. - - The source listbox. - - - - Gets or sets the destination listbox of the transfer operation. - - The destination listbox. - - - - Gets or sets the referenced items in the control when the event is raised. - - The items. - - - - Represents the method that handles the event of the control. - - - - - Provides data for the event. - - - - - Provides data for the , , - and events. - - - - - Initializes a new instance of the class. - - The referenced items the control when the event is raised. - - - - Gets the referenced items in the control when the event is raised. - - The referenced items in the control when the event is raised. - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the event is canceled the items will not be deleted. - - - - - Represents the method that handles the event - of the control. - - - - - Represents the method that handles the event - of the control. - - - - - Provides data for the event of the control. - - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the is canceled the item will not be inserted. - - - - - Represents the method that handles the event of the control. - - - - - Provides data for the , events of the - control. - - - - - Initializes a new instance of the class. - - The referenced item. - - - - Gets or sets the referenced item in the control when the event is raised. - - The referenced item in the control when the event is raised. - - - - Represents the method that handles the and events. - of the control. - - - - - Provides data for the event of the control. - - - - - Gets or sets the referenced items in the control when the event is raised. - - The items. - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the event is canceled the item will not be reordered. - - - - - Gets or sets the offset at which the item is reordered. - - The offset. - - - - Gets or sets the index at which the items are reordered. - - The new index. - - - - Represents the method that handles the event of the control. - - - - - Provides data for the event of the control. - - - - - Gets or sets the source listbox of the transfer operation. - - The source listbox. - - - - Gets or sets the destination listbox of the transfer operation. - - The destination listbox. - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the is canceled the item will not be transferred. - - - - - Gets or sets the referenced items in the control when the event is raised. - - The items. - - - - Represents the method that handles the event of the control. - - - - - Provides data for the event. - - - - - Gets or sets a value indicating whether the event is canceled. - - true if cancel; otherwise, false. - - If the event is canceled the items will not be deleted. - - - - - Represents the method that handles the event - of the control. - - - - - Represents the settings of the buttons in a controls. - - - - - Gets or sets the width of the button area. - - The width of the area. The default value is 30px. - - The AreaWidth property is taken into consideration only if the property is set to or - . If not the button area is as wide as the listbox control. - - - - - Gets or sets the height of the button area. - - The height of the area. The default value is 30px - - The AreaWidth property is taken into consideration only if the property is set to or - . If not the button area is as tall as the listbox control. - - - - - Gets or sets the position of the buttons. - - - The position of the buttons. The default value is . - - - - - When set to true enables render text on buttons functionality - - - - - Gets or sets the horizontal align of the buttons within the button area. - - - The horizontal align. The default value is - - - The HorizontalAlign property is taken into consideration only if the property is set to or - . - - - - - Gets or sets the vertical align of the buttons in the within the button area. - - - The vertical align. The default value is - - - The VerticalAlign property is taken into consideration only if the property is set to or - . - - - - - Gets or sets a value indicating whether to display the "delete" button. - - true if the "delete" button should be displayed; otherwise, false. - - RadListBox displays the "delete" button when the and - properties are both set to true. - - - - - Gets or sets a value indicating whether to display the "reorder" buttons. - - true if the "reorder" buttons should be displayed; otherwise, false. - - RadListBox displays the "reorder" buttons when the and - properties are both set to true. - - - - - Gets or sets a value indicating whether to display the "transfer" buttons. - - true if the "transfer" buttons should be displayed; otherwise, false. - - RadListBox displays the "transfer" buttons when the and - properties are both set to true. - - - - - Gets or sets a value indicating whether to display the "transfer all" buttons. - - true if the "transfer all" buttons should be displayed; otherwise, false. - - RadListBox displays the "transfer all" buttons when the and - properties are both set to true. - - - - - Gets or sets a value that specifies which reorder buttons should be rendered. - - The reorder buttons mode. The default value is - - A value that specifies which reorder buttons should be rendered. Members might be - combined using bitwise operators allowing for custom configurations. - - - - - Gets or sets a value that specifies which transfer buttons should be rendered. - - The transfer buttons mode. The default value is - - A value that specifies which transfer buttons should be rendered. Members might be - combined using bitwise operators allowing for custom configurations. - - - - - For internal use - - - - - - - Gets or sets the type. - - The type. - - - - Gets or sets the offset. - - The offset. - - - - Gets or sets the SourceListBox. - - The SourceListBox. - - - - Gets or sets the destination list box. - - The destination list box. - - - - Gets or sets the index of the destination. - - The index of the destination. - - - - Gets or sets the number of items. - - The number of items. - - - - Gets or sets the HTML element id. - - The HTML element id. - - - - Gets or sets the index of the item. - - The index of the item. - - - - Gets or sets the drop position. - - The drop position. - - - - This class gets and sets the localization properties in the buttons that are part RadListBox. - - - - - Gets or sets the MoveUp string. - - The MoveUp string. - - - - Gets or sets the MoveDown string. - - The MoveDown string. - - - - Gets or sets the Delete string. - - The Delete string. - - - - Gets or sets ToLeft string. - - ToLeft string. - - - - Gets or sets ToRight string. - - ToRight string. - - - - Gets or sets ToTop string. - - ToTop string. - - - - Gets or sets ToBottom string. - - ToBottom string. - - - - Gets or sets AllToTop string. - - AllToTop string. - - - - Gets or sets AllToBottom string. - - AllToBottom string. - - - - Gets or sets AllToLeft string. - - AllToLeft string. - - - - Gets or sets AllToRight string. - - AllToRight string. - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the selected indices. - - The selected indices. - - - - Gets or sets the checked indices. - - The checked indices. - - - - Gets or sets the scroll position. - - The scroll position. - - - - Gets or sets the IsEnabled. - - The IsEnabled. - - - - This Class defines the RadListBoxItem in RadListBox. - - - Represents an item in the control. - Use the property to set the text of the item. - Use the property to specify the value of the item. - - - - - Renders the HTML opening tag of the control to the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text of the item. - - - - Initializes a new instance of the class. - - The text of the item. - The value of the item. - - - - Clones this instance. - - - - - Compares the current instance with another object of the same type. - - An object to compare with this instance. - - is not the same type as this instance. - - A 32-bit signed integer that indicates the relative order of the objects - being compared. The return value has these meanings: Value Meaning Less than - zero This instance is less than . Zero This instance is - equal to . Greater than zero This instance is greater than - . - - - - - Removes this from the control which contains it. - - - - - Not supported - - - - - - - Gets or sets the value of this . - - - The value of the item. If the Value property is not set the will be returned. - - - - - Gets the which this item belongs to. - - - The which this item belongs to; null (Nothing) if the item is not added to any control. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - - Gets or sets a value indicating whether this is selected. - - true if selected; otherwise, false. - - - - Gets or sets a value indicating whether the item is checked or not. - - - True if the item is checked; otherwise false. The default value - is false - - - - - Gets or sets a value indicating whether the item is checkable. A checkbox control is rendered - for checkable nodes. - - - If the CheckBoxes property set to true, RadTreeView automatically displays a checkbox next to each node. - You can set the Checkable property to false for nodes that do not need to display a checkbox. - - - - - Gets or sets a value indicating whether the Item can be dragged and dropped. - - - True if the user is able drag and drop the Item; otherwise false. - The default value is true. - - - - - Gets the data key. - - The data key. - - - - Represents a collection of objects in a control. - - - - - Initializes a new instance of the class. - - The parent control. - - - - Appends an item to the collection. - - The item to add to the collection. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which should be inserted. - The item to insert into the collection. - - - - Finds all items mathcing the specified criteria. - - The delegate which determines whether an item matches the search criteria. - - - - Removes the specified item from the collection. - - The item to remove from the collection. - - - - Sort the items from RadListBoxItemCollection. - - - - - Sort the items from RadListBoxItemCollection. - - - An object from IComparer interface. - - - - - Sort the items from RadListBoxItemCollection. - - - - - Gets or sets the at the specified index. - - - - - The interface implemened from all events. - - - - - Override to fire the corresponding command. - - The source control which fires the command. - - - Gets or sets a value, defining whether the command should be canceled. - - - - The event arguments passed when - fires Command event. - - - - - Override to fire the corresponding command. - - The source control which fires the command. - - - - Gets or sets the which was responsible for firing the event. - - The which was responsible for firing the event. - - - - Gets or sets the event source which represent the control which fired the event. - - The event source which represent the control which fired the event. - - - - Gets or sets a value, defining whether the command should be canceled. - - A value, defining whether the command should be canceled. - - - For internal usage only. - - - - - - - - - - The event arguments passed when - fires DataChange event. - - - - - Gets or sets the rows affected by the change. - - The affected rows. - - - - Gets or sets the exception which could be thrown during the changing of the data. - Otherwise the value is null. - - The exception which could be thrown during the changing of the data. - Otherwise the value is null. - - - - Gets or sets the - item which initiated the change. - - The - item which initiated the change. - - - - Gets or sets if the thrown expcetion is handled. - - The value representing if the thrown exception is handeled. - - - - The event arguments passed when fires Deleted event. - - - - - The event arguments passed when fires Updated event. - - - - - Gets or sets if the will remain in - edit mode or will be closed. - - Determines if the will remain in - edit mode or will be closed. - - - - - - - - - Gets or sets if the will remain in - insert mode or will be closed. - - Determines if the will remain in - insert mode or will be closed. - - - - The event arguments passed when - fires PageChanged event during paging. - - - - - Executes the corresponding command. - - The source control which fires the command. - - - - Gets or sets the new PageIndex value. - - The new PageIndex value. - - - - The event arguments passed when - fires PageSizeChanged event. - - - - - Executes the corresponding command. - - The source control which fires the command. - - - - Gets or sets the new PageSize value. - - The new PageSize value. - - - For internal usage only. - - - - Fires .SelectedIndexChanged event. - - - - Gets or sets the which - was selected. - - The selected . - - - - Gets or sets the which was responsible for firing the event. - - - The which was responsible for firing the event. - - - - For internal usage only. - - - - Fires .SelectedIndexChanged event. - - - - Gets or sets the deselected item. - - The deselected item. - - - - Gets or sets the which was responsible for firing the event. - - - The which was responsible for firing the event. - - - - - The event arguments passed when - sorting is performed. - - - - - Executes the corresponding command. - - The source control which fires the command. - - - - - - - - Gets the sort expression associated with the sort command. - - The sort expression associated with the sort command. - - - - Gets the old sort order. - - The old sort order. - - - - Gets the new sort order. - - The new sort order. - - - - The arguments passed the - fires FieldCreated event. - - - - - Holds reference to RadDataPagerFieldItem that contains current field controls. - - - - - - - - - - Abstract class used from - which is building block of the pager. - - - - - - - - - - After calling this method DataPagerField controls will be created and added to Controls colleciton - of the passed DataPagerFieldItem - - DataPagerFieldItem item where controls will be instanciated - - - - Returns a that represents the - current . - - - A that represents the current . - - - - - Builds navigation url if SEO paging is enabled. - - Argument that the link must be build for. - Returns string representation of navigation url. - - - - Returns RadDataPager control that owns current pager field. - This property is set by DataPagerFieldCollection and is read only. - - - - - Gets the string representation of the type-name of this instance. The value is - used by RadDataPager to determine the type of the pager field persisted into the ViewState, when - recreating the pager after postback. This property is read only. - - - - - Gets or sets the positioning of the pager field with regard to its CSS float style. - - - - - Gets or sets value that indicates whether RadDataPagerField is rendered. - - - - - Creates button control from one of the following type: LinkButton, PushButton, ImageButton - or HyperLink if AllowSEOPaging is set to "true". Button Enabled state will be validated - depending on current page index. - - PagerFieldButtonType enumerator - Text shown as content the button control - Tooltip of the button - Command that button triggers - Command argument which will be passed along with CommandName - CssClass that will be applied on the button - The image url that will be applied on the button if it is of type Next, Prev, First, Last - Returns button control of type: LinkButton, PushButton, ImageButton - or HyperLink if SEO paging. - - - - Create button control for one of the following types: LinkButton, PushButton, ImageButton - - - - - Create button of type HyperLink whenever AllowSEOPaging is set to "true". - - - - - Sets content of HyperLink button if SEO paging is enabled, depending on commandArgument. - - - - - Get reference to image from embeded resources. Internally used by PrepareSEOButtonContent method. - - - - - Formats the text depending on PagerFieldButtonType. Text for LinkButton is wrapped with span tag. - - Value from PagerFieldButtonType enum. - Text to be formatted. - Returns string representing content of button. - - - - Ensures button Enabled property. If button command argumetn is same as current page, button - will be disabled. - - Button instance to be validated. - Command argument for the button. - Returns same button with Enabled property set. - - - - This property specifies the type of the buttons for current pager field. Default value LinkButton. - - - - - - which contains a button depending on the FieldType - - - - - This method must be overriden in order to build controls for the current RadDataPagerField. - - - - - - Method for creating "Previous" button. - - - - - Method for creating "Next" button. - - - - - Method for creating "First" button. - - - - - Method for creating "Last" button. - - - - - Method for creating all numeric pager buttons. - - - - - This property specifies the type of the field. Default value is PrevNext field type. - - - - - This property specifies Next button text. - - - - - This property specifies Prev button text. - - - - - This property specifies First button text. - - - - - This property specifies Last button text. - - - - - This property specifies the image url for the first button field. - - - - - This property specifies the image url for the last button field. - - - - - This property specifies the image url for the previous button field. - - - - - This property specifies the image url for the next button field. - - - - - This property specifies the number of the buttons for Numeric field type. - - - - - - which contains control in order to - change the PageIndex property of - - - - - - - - - - Get or set RadNumericTextBox Width in pixels. Default value is 30px. - - - - - Get or set text of the label before RadNumericTextBox. - - - - - Get or set text of the lable after RaddNumericTextBox. - - - - - Determines whether submit button should be render to change current page. - - - - - Get or set submit button text if EnableSubmitButton is set to true. - - - - - - which contains page numbers which change the PageIndex property of - . - - - - - - - - - Get or set RadNumericTextBox Width in pixels. Default value is 30px. - - - - - Get or set submit button text. - - - - - Get or set text of the label. - - - - - - which contains control in order to - change the PageSize property of - - - - - - - - - - - - - - Gets or sets the type of the page size drop down control. - - - - - Get/Set the text of the label before RadComboBox - - - - - Get/Set RadComboBox Width property in pixels. Default value is 50px. - - - - - Gets or sets comma or semicolon delimited list of page sizes values. - - The comma or semicolon delimited list of page sizes values. - - - - Slider field which provides interface for - changing the page size with a control. - - - - - - - - - - Get or set RadSlider DragText property. - - - - - Get or set RadSlider DecreaseText property. - - - - - Get or set RadSlider IncreaseText property. - - - - - Get or set RadSlider orientation. - - - - - Get or set the format of the label text. Default value is "Page {0} of {1}" - - - - - template - which could be used for creating template fields and inserting custom functionality - - - - - - - - - This property contains template for RadDataPagerTemplateField. - Container control is RadDataPagerFieldItem. - - - - - Class which holds properties for setting the - client-side events. - - - - This client-side event is fired after the - is created. - - - This client-side event is fired before the - is created. - - - - This client-side event is fired when object is - destroyed, i.e. on each window.onunload - - - - - This client-side event is fired when current page index is set on - object. - - - - - This client-side event is fired when current page size is set on - object. - - - - - The related exception. - Thrown when encouters internal errors. - - - - - Enumeration representing the type of a field button. - - - - - Enumeration representing the type of a button field. - - - - - Enumeration representing where the PageField will be position horizontally. - - - - - Collection holding references to - for the - - - - - - - - - - - - - - - - - Adds the to the end of the collection. - - The item. - - - - Removes all items from the collection. - - The - is read-only. - - - - Determines whether the specified is contained in the collection. - - The item. - - - - - Copies a range of elements from the to - a compatible one-dimensional array, starting at the specified index of the target array. - - The one-dimensional array. - The index of the target array. - - - - Removes the item from the collection. - - The item. - - - - - Returns an enumerator that iterates through the collection. - - - A that can - be used to iterate through the collection. - - - - - Searches for the specified object and returns - the zero-based index of the first occurrence within the entire - - The item. - - - - - Inserts a item with the specified index. - - The index where the item will be inserted. - The item. - - - - Removes the item - at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - - The - is read-only. - - - - - - - - Gets the number of elements contained in the collection. - - The number of elements contained in the collection. - - - - - - Gets a value indicating whether the collection - is read-only. - - true if the collection is read-only; otherwise, - false. - - - - - field which holds the - instanciated . - - - - - Holds reference to that is instanciated in current item. - - - - - Holds reference to RadDataPager control. - - - - - The arguments passed when - fires command events. - - - - - Gets the owner . - - The . - - - - Gets the - which have - fired the command event. - - The - . - - - - Gets the control which was responsible for firing the event. - - The event source. - - - - The - - - - - Gets or sets the field. - - The field. - - - - Gets the type of the field. - - The type of the field. - - - - The event arguments passed when - fires page event during paging. - - - - - Gets the maximum rows. - - The maximum rows. - - - - Gets the start row index in the specified data source. - - The start index. - - - - Gets the total row count which represents the count in the specified data source. - - The total row count. - - - - Class used to search controls and pageable item container by calling - RetrievePageableItemContainer - - - - - Retrieves the pageable item container which is the control - implementing . - - The control. - The control id. - - - - - RadDataPager can be used to display paging navigation controls for other - data-bound controls that implement the IPageableItemContainer or - IRadPageableItemContainer interface (like the RadListView and MS ListView). - The RadDataPager control lets users view large sets of data in small chunks - for faster loading and easier navigation. It also provides a set of events, - helper methods and properties for custom intervention. - - - - - Raises event - - - - - - Raises event - - - - - - Raises event - - - - - - Triggers command on RadDataPager. - - Command that will be fired. - Arguments of the command. - - - - Triggers command on RadDataPager. - - Command argument to be processed by RadDataPager - - - - Add listener to IRadPageableItemContainer events. - - - - - This method is called when total row count is supplied by IRadPageableContainer. - - IRadPageableContainer itself - DataPagerPageEventArgs arguments for creating pager fields - - - - This method is called to create all RadDataPager fields. - - - - - This method checks query string for the key specified by SEOPagingQueryPageKey and - if present attempt to page. - - - - - Handles event that bubbles from any RadDataPagerField. Command event will be triggered. - - - - - - - - This method is called whenever any command bubbles from RadDataPagerField. If the command can be handled from RadDataPager - it will return true and event bubbling will be prevented. If command name is custom return value will be false and command - will continue to bubble. - - Could be any of the predefined RadDataPager commands or any custom command. - Could be any of the predefined RadDataPager commands arguments or any custom argument. - Return false will command should continue bubble or true if command is handled by RadDataPager. - - - - - - - - - - - - Raised when custom pager field is creating on postback - - - - - Raised when pager field item is created. - - - - - Raised when a button in a RadDataPager control is clicked. - - - - - Raised when RadDataPager is not attached to pageable container and need information regarding total count of the items to page. - - - - - Raised when current page index is changing. - - - - - Gets or sets the ID of the control which will be paged. - - The paged control ID. - - - - Gets a collection of items. - - The fields. - - - - Gets a reference to , which holds - properties for setting the client-side events - - - - - Read only property. Holds reference to control that implements - IRadPageableItemContainer or IPageableItemContainer. - - - - - Gets reference to - which helps in search for controls by ID, Type or finding the controls - implementing . - - The container locator. - - - - Gets the start row index in the specified data source. - - The start index. - - - - Gets the total row count which represents the count in the specified data source. - - The total row count. - - - - Gets the maximum rows. - - The maximum rows. - - - - It is used for storing page size set declaratively - In order to show this page size in the combo box with page sizes - - - - - Gets or sets the page size of the target paged control. - - The page size. - - - - Gets the index of the current page. - - The index of the current page. - - - - Gets the page count of the target paged control. - - The page count. - - - - Get or set query string key for SEO paging. This property may be used in conjunction with - AllowSEOPaging - - - - - Get or set whether SEO paging should be used. - - - - - When set to true enables support for WAI-ARIA - - - - - Gets or sets if the routing is enabled. - - The allow routing. - - - - Gets or sets the name of the route. - - The name of the route. - - - - Gets or sets the name of the route page index parameter. - - The name of the route page index parameter. - - - - Gets a object that represents - the child controls for a specified server control in the UI hierarchy. - - The collection of child controls for the specified server control. - - - - - Gets or sets the selected culture. Localization strings will be loaded based on this value. - - The selected culture. Localization strings will be loaded based on this value. - - - - Gets or sets a value indicating where RadDataPager will look for its .resx localization file. - By default this file should be in the App_GlobalResources folder. However, if you cannot put - the resource file in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource file. - - - A relative path to the dialogs location. For example: "~/controls/RadDataPagerResources/". - - - If specified, the LocalizationPath - property will allow you to load the grid localization file from any location in the - web application. - - - - - The event arguments passed when RadDataPager fires TotalRowCountRequest event. - - - - - Gets the total row count which represents the count in the specified data source. - - The total row count. - - - - The event arguments passed when RadDataPager fires PageIndexChange event. - - - - - Gets or sets the new RadDataPager PageIndex value. - - The RadDataPager PageIndex value. - - - - Gets or sets the new RadDataPager StartRowIndex value. - - The new RadDataPager StartRowIndex value. - - - - - - - - Equalses the specified value. - - The value. - - - - - Gets the hash code. - - - - - - Gets the type. - - - - - - Toes the string. - - - - - - Represents an container for RadListViewFilterExpression - - - - - Represents Contains RadListView filter expression - - - - - Abstract class holding all filter expression which use single string for a filter value. - - - - - Abstract class representing basic single value filter expressions. - Examples for single value expressions are: "EqualTo", "EndsWith", - "Contains", "GreaterThan", "IsEmpty", "IsNotNull", "IsNull", "LessThan", - "StartsWith", etc. - - - - - Represents basic FilterExpression for the RadListView control - - - - - Returns a representation of the current filter expression as a delegate - - - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - OpenAccessDataSource string representation - Not intended for external usage - - - - - - - - - - - - - - - - Gets or sets the name of the field on which the filter expression should be applied - - Argument is null. - - - - Gets or sets the illegal strings array. These values indicate which strings could not be entered as a part of the filtering value. - Excluding values from the array will allow these values to be entered in the filtering value. However, it is not recommended - because possible security vulnerabilities could arise. - - The illegal strings array. These values indicate which strings could not be entered as a part of the filtering value. - Excluding values from the array will allow these values to be entered in the filtering value. However, it is not recommended - because possible security vulnerabilities could arise. - - - - Gets the type of filter function - - - - - Gets the type of the field - - - - - Gets the type of the current filter expression object - - - - - Interface used within . - - - - - Determines if the specified single value expression equals this instance expression. - - The other filter expression which will be used for comprasion. - - - - - - - - - - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - OpenAccessDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Value to be filter on - - - - - Get the type of the field - - - - - Creates a instance of RadListViewStartsWithFilterExpression class - - name of the field on which filter will be applied - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Creates a instance of RadListViewContainsFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - Not intended for external usage - - - - Get the type of filter function - - - - - Class representing coresponding to the EndsWith filter expression. - - - - - Creates a instance of RadListViewEndsWithFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - Not intended for external usage - - - - - Gets the type of filter function - - - - - - Represents a EqualTo RadListView filter expression - - type of the field on which filter will be applied - - - - Creates a instance of RadListViewEqualToFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - - Not intended for external usage - - - - Get the type of filter function - - - - - Get the field for the filter expresion. - - - - - - A collection holding items. - - - - - Returns a expression builder object, the root of the - fluent api helpers - - expression builder object - This entry point for the fluent filter expression API - - - - A helper method for building filter expressions hierarchy in an fluent like manner - - expression builder helper object - This entry point for the fluent filter expression API - - - - Returns a string representation of the filter expressions - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expressions - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expressions - in format suitable for Oql usage. - - Oql string representation - Not intended for external usage - - - - Finds a expression bound to a given fieldName - - Field's name to search for - filterExpression - - - - Returns an enumerator that iterates through the collection. - - - A that can - be used to iterate through the collection. - - - - - Adds the specified item to the end of the collection. - - The item to be added. - - - - Removes all items from the collection. - - The collection - is read-only. - - - - Determines whether the item exists in the collection. - - The item to search for. - - - - - Copies the collection to the target array from the specified array index. - - The target array. - The start index from where to copy the current collection. - - - - Removes the specified item from the collection. - - The item to be removed. - - - - - Returns the index position in the collection of the searched item. Othwise returns -1. - - The searched element item. - - - - - Inserts the item in the specified index. - - The index the item will be placed. - The item which will be inserted. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - - - Gets the number of elements contained in the collection. - - The number of elements contained in the collection. - - - - - - - - - - - - Intended for internal use only - - - - - Appends an "And" clause to the FilterExpression. - - The result. - - - - Appends an "Or" clause to the FilterExpression. - - The result. - - - - Builds current expressions hierarchy - - expressions hierarchy can be build only once - - - - - - - - - - - - - - - - - - - - - - Intended for internal use only - - - - - Adds an EqualTo filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an NotEqualTo filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an GreaterThan filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an GreaterThanOrEqualTo filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an Contains filter expression - - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an StartsWith filter expression - - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an EndsWith filter expression - - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an LessThen filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an LessThanOrEqualTo filter expression - - type of the field which will be filtered - name of the field which will be filtered - value to be filter on - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an IsNull filter expression - - name of the field which will be filtered - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an IsNotNull filter expression - - name of the field which will be filtered - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an IsEmpty filter expression - - name of the field which will be filtered - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds an IsNotEmpty filter expression - - name of the field which will be filtered - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Adds a group of filter expressions - - inner group instance - instance of the RadListViewFilterExpressionLogicalBuilder - - - - Builds current expressions hierarchy - - expressions hierarchy can be build only once - - - - - - - - - - - - - - - - - - - - Gets value indicating if current expression hierarchy is build - - - - - The filter expression enumeration. - - - - Same as: dataField LIKE '/%value/%' - - - - Same as: dataField = value - - - - Same as: dataField != value - - - Same as: dataField > value - - - - Same as: dataField < value - - - - Same as: dataField >= value - - - - Same as: dataField <= value - - - - - Same as: dataField = '' - - - - Same as: dataField != '' - - - - Only null values - - - - - Only those records that does not contain null values within the corresponding column - - - - Same as: dataField LIKE 'value/%' - - - Same as: dataField LIKE '/%value' - - - - Represents a GreaterThan RadListView filter expression - - type of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Get the type of filter function - - - - - Represents a GreaterThen Or EqualTo RadListView filter expression - - type of the field on which filter will be applied - - - - Creates a instance of RadListViewGreaterThenOrEqualToFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Get the type of filter function - - - - - Enumeration representing the group filter operations "And" and "Or". - - - - - Represents a group of filter expressions - - - - - Creates an instance of RadListViewGroupFilterExpression - - - - - Creates an instance of RadListViewGroupFilterExpression - - logical operator which is connects the inner filterexpression - - - - Returns a representation of the current filter expression as a delegate - - delegate instance - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expressions - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Adds a given filter expression of the group - - fitlerexpression to be added - - - - Finds the by specified field name. - - The field name to be searched for. - - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - Not intended for external usage - OpenAccessDataSource string representation - - - - Gets logical operator which is connects the inner filterexpression - - - - - Gets the type of filter function. - - - - - Gets the type of the field. - - - - - Gets the collection holding all filter expressions. - - The filter expressions. - - - - Class representing the "IsEmpty" filter expression extending the . - - - - - Creates a instance of RadListViewIsEmptyFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - OpenAccessDataSource string representation - Not intended for external usage - - - - Get the type of filter function - - - - - Gets the type of the field - - - - - Represents IsEmpty RadListView filter expression - - - - - Creates a instance of RadListViewIsNotEmptyFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - Not intended for external usage - OpenAccessDataSource string representation - - - - Get the type of filter function - - - - - Gets the type of the field - - - - - Class representing the "IsNotNull" filter expression extending the . - - - - - Creates a instance of RadListViewIsNotNullFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - Not intended for external usage - OpenAccessDataSource string representation - - - - Gets the type of filter function - - - - - Gets the type of the field - - - - - Class representing the "IsNull" filter expression extending the . - - - - - Creates a instance of RadListViewIsNullFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for LinqDataSource usage. - - LinqDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for EntityDataSource usage. - - EntityDataSource string representation - Not intended for external usage - - - - Returns a string representation of the filter expression - in format suitable for OpenAccessDataSource control usage. - - Not intended for external usage - OpenAccessDataSource string representation - - - - Gets the type of filter function - - - - - Gets the type of the field - - - - - Class representing the "LessThen" filter expression extending the . - - type of the field on which filter will be applied - - - - Creates a instance of RadListViewLessThanFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Get the type of filter function - - - - - Represents a LessThanOrEqualTo RadListView filter expression - - type of the field on which filter will be applied - - - - Creates a instance of RadListViewLessThanOrEqualToFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - delegate's instance - Not intended for external usage - - - - Get the type of filter function - - - - - Class representing the "NotEqualTo" filter expression extending the . - - type of the field on which filter will be applied - - - - Creates a instance of RadListViewNotEqualToFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - - Not intended for external usage - - - - Get the type of filter function - - - - - A filter expression that corresponds to "StarsWith". - - - - - Creates a instance of RadListViewStartsWithFilterExpression class - - name of the field on which filter will be applied - - - - Returns a representation of the current filter expression as a delegate - - Not intended for external usage - - - - - Gets the type of filter function - - - - - - Represents an individual data item in a control. - - - - - Represents an individual item in a control. - - - - - Use this method to simulate item command event that bubbles to - and can be handled automatically or in a - custom manner, handling .ItemCommand event. - - command to bubble, for example 'Page' - - command argument, for example 'Next' - - - - - Gets or sets the type of the item which represents enumeration and - determines for what the item is used. - - The type of the item which represents enumeration and - determines for what the item is used. - - - - Gets or sets the owner of the item. - - The owner of the item. - - - - Gets a value indicating whether the item is in edit mode at the - moment. - - - - - Get the DataKeyValues from the owner with the corresponding item and . - The should be one of the specified in the array - - data key name - data key value - - - - Extracts values from this instance - and appends them to passed collection - - This is dictionary to fill, this parameter - should not be null - newValues is null. - - - - Updates properties of the passed object instance from current - 's extracted values - - object to be updated - objectToUpdate is null. - - - - When implemented, gets an object that is used in simplified data-binding - operations. - - An object that represents the value to use when data-binding operations - are performed. - - - - - Gets the index of the data item bound to a control. - - - An Integer representing the index of the data item in the data source. - - - - - Gets the position of the data item as displayed in a control. - - - An Integer representing the position of the data item as displayed in a control. - - - - Gets or set value indicating whether the - item is selected - - - Sets the Item in edit mode. - Requires to rebind. - - - Gets the old value of the edited item - - - - Represents an editable item - - - - - Creates instance of RadListViewEditableItem - - instance which owns the item - index at which the item is located on the current page - - - - Gets a value indicating whether the item is in edit mode at the - moment. - - - - - The interface implemented by the - determining if the is insert item. - - - - - Represents an insert item - - - - - representing empty item which will be shown when no records - are returned as DataSource for . - - - - - Represents an item which is rendered when 's data source is empty - - - - - Creates new instance of RadListViewEmptyDataItem - - - - - Represents an item for the single group container - - - - - - - - - - - - InvalidOperationException. - - - InvalidOperationException. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cannot perform this - operation when DataSource is not assigned - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - source is null. - - - source is null. - - - source is null. - predicate is null. - - - source is null. - - - - Specifies the function of an item in the control. - - - - - Class which holds properties for setting the - client-side events. - - - - This client-side event is fired after the - is created. - - - This client-side event is fired before the - is created. - - - - This client-side event is fired when object is - destroyed, i.e. on each window.onunload - - - - - This client-side event is fired when a item is about to be selected. - - - - - This client-side event is fired when a item is selected. - - - - - This client-side event is fired when a item is about to be deselected. - - - - - This client-side event is fired when a item is deselected. - - - - - This client-side event is fired when a item is about to be dragged. - - - - - This client-side event is fired when a item is dragged. - - [DefaultValue("")] - - - - This client-side event is fired when a item - is about to be dropped after dragging. This event can be canceled. - - - - - This client-side event is fired when a item - is dropped after dragging. This event cannot be canceled. - - - - - This client-side event is fired when a RadListView command occurs. - - - - - This client-side event is fired before RadListView databinds. - - - - - This client-side event is fired after RadListView databinds. - - - - - This client-side event is fired when RadListView fails to databind automatically to a web service. - - - - - This client-side event is fired during automatic databinding to a web service when the data source is resolved. - - - - - This client-side event is fired during databinding when a client-side template is created. - - - - - This client-side event is fired during databinding when a client-side template is databound. - - - - - Class holding all settings associated with client-side - functionlity for the . - - - - Gets a reference to class. - - - - Gets a reference to the instance - that contains client-side databinding settings for this - - - - - Gets the post back function which is used when - fires command from the client. - - The post back function which is used when - fires command from the client.. - - - - Gets or sets a value indicating whether the items can be dragged and dropped - - - - - Collection holding items of type - used in Items collection. - - - - - A collection holding items of type . It is used - in to hold different item collections. - - - - - Class representing a collection of - data key values. - - - - - - - - - Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array. - - The array to be coppied. - The index where it will be copied. - - - - Gets the number of elements contained in the . - - The number of elements contained in the . - - - - - - Gets an object that can be used to synchronize access to the . - - An object that can be used to synchronize access to the . - - - - - - Gets a value indicating whether access to the - is synchronized (thread safe). - - true if access to the - is synchronized (thread safe); otherwise, false. - - - - - Collection containing integer values representing the - - ItemIndex property. - - - - - Adds the specified item index. - - The item index. - - - - Specifies the location of the InsertItemTemplate template when it is - rendered as part of the control. - - - - - The event arguments passed when - fires ItemDragDrop event after a client-side drag-drop operation. - - - - - Gets or sets the dragged item. - - The dragged item. - - - - Gets or sets the destination HTML element which represents - the element on which - - The destination HTML element. - - - - Control used to enable a Drag-Drop operation in the - by placing it in an template. - - - - - - - Gets the CSS class applied to the drag handle. - - The CSS class applied to the drag handle. - - - - Provides data for the ItemCreated and ItemDataBound events. - - - - - Initializes a new instance of the RadListViewItemEventArgs class. - - - - - - The item being created or data-bound. - - - - - The event arguments passed when - fires NeedDataSource event. - - - - - Gets or sets the rebind reason enumeration determining - the reason for the call to Rebind. - - The rebind reason. - - - - Enumeration determining the reason for the - call to Rebind. - - - - Enumeration representing the order of sorting data in RadListView - - - do not sort the listview data - - - sorts listview data in ascending order - - - sorts listview data in descending order - - - - Class that is used to define sort field and sort order for RadListView - - - - - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - Returns a enumeration based on the string input. Takes either "ASC" - or "DESC" - - - - - This method gives the string representation of the sorting order. It can be - either "ASC" or "DESC" - - - - - - - - - - - - - Sets the sort order. - The SortOrder paremeter should be either "Ascending", "Descending" or "None". - - ArgumentException. - - - - - - - - Parses a string representation of the sort order and returns - GirdSortExpression. - - - - Gets or sets the name of the field to which sorting is applied. - - - Sets or gets the current sorting order. - - - - A collection of objects. Depending on the value of - it holds single - or multiple sort expressions. - - - - - - - - - - - - - - - - - Returns an enumerator that iterates through the - RadListViewSortExpressionCollection. - - - - Adds a to the collection. - - - Clears the RadListViewSortExpressionCollection of all items. - - - - - - - - Find a SortExpression in the collection if it contains any with sort field = expression - - sort field - - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - - - - - If is true adds the sortExpression in the collection. - Else any other expression previously stored in the collection wioll be removed - - String containing sort field and optionaly sort order (ASC or DESC) - - - - Adds a to the collection at the specified - index. - - - As a convenience feature, adding at an index greater than zero will set the - to true. - - - - Removes the specified from the collection. - - - - Returns true or false depending on whether the specified sorting expression exists - in the collection. Takes a parameter. - - - - - Returns true or false depending on whether the specified sorting expression - exists in the collection. Takes a string parameter. - - - - - Adds the sort field (expression parameter) if the collection does not alreqady contain the field. Else the sort order of the field will be inverted. The default change order is - Asc -> Desc -> No Sort. The No-Sort state can be controlled using property - - - - - - Get a comma separated list of sort fields and sort-order, in the same format used by - DataView.Sort string expression. Returns null (Nothing) if there are no sort expressions in the collection - - Comma separated list of sort fields and optionaly sort-order, null if there are no sort expressions in the collection - - - - Searches for the specified - and - returns the zero-based index of the first occurrence within the entire - . - - - - - If false, the collection can contain only one sort expression at a time. - Trying to add a new one in this case will delete the existing expression - or will change the sort order if its FiledName is the same. - - - - This is the default indexer of the collection - takes an integer value. - - - - Allow the no-sort state when changing sort order. - - - - Returns the number of items in the RadListViewSortExpressionCollection. - - - - Gets a value indicating whether access to the RadListViewSortExpressionCollection is - synchronized (thread safe). - - - - - - - - - - -
Gets an object that can be used to synchronize access to the - GirdSortExpressionCollection.
-
-
- - - Provides a type converter to convert a string of comma-separated values to - and from an array of strings for the . - - - - - Represents a various validation setting of control - - - - - Gets or sets a value that specifies whether validation is performed - when the editor is set to validate when a postback occurs. - - A value that specifies whether validation is performed - when the editor is set to validate when a postback occurs. - - - - Gets or sets a value that indicates whether a validator control will - handle exceptions that occur during insert or update operations. - - A value that indicates whether a validator control will - handle exceptions that occur during insert or update operations. - - - - Gets or sets the group of controls for which the - control causes validation when it posts back to the server. - - The group of controls for which the - control causes validation when it posts back to the server.. - - - - Gets or sets the commands to validate representing comma delimited list of command names. - - The commands to validate representing comma delimited list of command names. - - - - Specifies the repeat direction of RadMenu items when rendered in columns. - - - - - Items are displayed vertically in columns from top to bottom, - and then left to right, until all items are rendered. - - - - - Items are displayed horizontally in rows from left to right, - then top to bottom, until all items are rendered. - - - - - Represents the animation settings like type and duration for the control. - - - - Gets or sets the duration in milliseconds of the animation. - - An integer representing the duration in milliseconds of the animation. - The default value is 450 milliseconds. - - - - - Represents the animation settings like type and duration for the control. - - - - Gets or sets the duration in milliseconds of the animation. - - An integer representing the duration in milliseconds of the animation. - The default value is 450 milliseconds - - - - - RadRating class - - - - - Gets or sets a value indicating the server-side event handler that is called - when the current rating of the RadRating control changes. - - - A string specifying the name of the server-side event handler that will handle the - event. The default value is an empty string. - - - Two parameters are passed to the handler: - - sender, the RadRating object that raised the event. - args. - - - - The following example demonstrates how to use the OnRate property. - -
- <telerik:RadRating ID="RadRating1" runat= "server"
- OnRate="OnRate" AutoPostBack="true">
- ....
- </telerik:RadRating> -
-
-
-
- - - Executed right after the item is data-bound to the data source. - - - - - Executed right after the item is created and inserted in the Rating Items collection. - - - - - Binds the Rating control to a IEnumerable data source - - IEnumerable data source - - - - Creates a Rating item based on the data item object. - - - - - Adds HTML attributes and styles that need to be rendered to the specified . This method is used primarily by control developers. - - A that represents the output stream to render HTML content on the client. - - - - The Enabled property is reset in AddAttributesToRender in order - to avoid setting disabled attribute in the control tag (this is - the default behavior). This property has the real value of the - Enabled property in that moment. - - - - - Converts a string to decimal. - - The string value to parse. - The resulting decimal value. - Is parsing successful. - - - - Converts a number or bool value to decimal. - - The value to parse. - The resulting value. - Is parsing successful. - - - - Get/Set the number of items in the RadRating control - e.g. the number of stars that the control will have. - - - - - Get/Set the width of each item in the RadRating control. - - - Default: Unit.Empty - - - - - Get/Set the height of each item in the RadRating control. - - - Default: Unit.Empty - - - - - Get/Set the current rating for the RadRating control. - - - - - Gets or sets the value of RadRating in a database-friendly way. - - - A Decimal object that represents the value. - The default value is 0m. - - - The following example demonstrates how to use the DbValue - property to set the value of RadRating. - - private void Page_Load(object sender, System.EventArgs e) - { - RadRating1.DbValue = tableRow["Rating"]; - } - - - Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load - RadRating1.DbValue = tableRow("Rating") - End Sub - - - - This property behaves exactly as the Value property. - The only difference is that it will not throw an exception if the new value is null or - DBNull. Setting a null value will revert the selected value to 0m. - - - - - Get/Set the selection mode for the RadRating control - when the user rates, either mark a single item (star) as selected - or all items(stars) from the first to the selected one. - - - - - Get/Set the rating precision for the RadRating control - the precision with which the user can rate. - - - - - Get/Set the orientation of the RadRating control. - - - - - Get/Set the direction of the RadRating control, that is, the position of the item (star) with value 1. - - - - - Get/Set a value indicating whether the RadRating control will display a browser toolip for its values. - - - - - Get/Set a value indicating whether the RadRating control will initiate a postback after its value changes. - - - - - Get/Set a value indicating whether the RadRating control is in read-only mode. - - - - - Gets/Sets a value indicating whether the DataBound items should be appended to the Rating Items collection, or the collection - should be cleared before creating the DataBound items. - - - - - Gets the object through which the user should provide the binding information about the rating items. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadRating control is initialized. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is an empty string. - - - Two parameters are passed to the handler: - - sender, the RadRating object that raised the event. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientLoad property. - -
- <script type="text/javascript">
- function OnClientLoad(sender, args)
- {
- var ratingControl = sender;
- }
- </script> -
-
- <telerik:RadRating ID="RadRating1" runat="server"
- OnClientLoad="OnClientLoad">
- ....
- </telerik:RadRating> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when the user clicks an - item (star) of the RadRating control, but before the new value is set. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is an empty string. - - - Two parameters are passed to the handler: - - sender, the RadRating object that raised the event. - args. - - This event can be cancelled. - - - The following example demonstrates how to use the OnClientRating property. - -
- <script type="text/javascript">
- function OnClientRating(sender, args)
- {
- var ratingControl = sender;
- args.set_cancel(true); - }
- </script> -
-
- <telerik:RadRating ID="RadRating1" runat="server"
- OnClientRating="OnClientRating">
- ....
- </telerik:RadRating> -
-
-
-
- - - Gets or sets a value indicating the client-side event handler that is called when the user clicks an - item (star) of the RadRating control. - - - A string specifying the name of the JavaScript function that will handle the - event. The default value is an empty string. - - - Two parameters are passed to the handler: - - sender, the RadRating object that raised the event. - args. - - This event cannot be cancelled. - - - The following example demonstrates how to use the OnClientRated property. - -
- <script type="text/javascript">
- function OnClientRated(sender, args)
- {
- var ratingControl = sender;
- }
- </script> -
-
- <telerik:RadRating ID="RadRating1" runat="server"
- OnClientRated="OnClientRated">
- ....
- </telerik:RadRating> -
-
-
-
- - - Adds or removes an event handler method from the Rate event. - Fired after a rating item (star) is clicked. - - - - - Adds or removes an event handler method from the ItemDataBound event. - Fired after a rating item (star) is data bound. - - - - - Adds or removes an event handler method from the ItemDataBound event. - Fired after a rating item is created and inserted in the Rating Items collection. - - - - - Gets a RadRatingItemCollection object that contains the items of the current RadRating control. - - - A RadRatingItemCollection that contains the items of the current RadRating control. By default - the collection is empty (RadRating creates its items, based on the value of its ItemCount property). - - - Use the Items property to access the child items of RadRating. You can add, remove or modify items from the Items collection. - - - - - Gets a RadRatingItem object that represents the selected item in the RadRating control - in case Items collection of the control is not empty. - - - A RadRatingItem object that represents the selected item. If there are no items in the - Items collection of the RadRating control, returns null. - - - - - Gets a RadRatingItemCollection object that contains the selected items in the RadRating control. - The collection is empty in case there are no items in the Items collection of the control. - - A RadRatingItemCollection containing the selected items. - - - - RadRatingItem class. - - - - Gets or sets the value of the rating item. - - The value of the rating item. - - - - - Gets the index of the rating item in the Items collection of the rating control. - - - The index of the rating item. - - - - Gets or sets the tooltip of the rating item. - - The tooltip of the rating item. The default value is empty string. - - - - Gets or sets the CSS class of the rating item. - - The CSS class to apply to the rating item. The default value is empty string. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty string. - - - Use the ImageUrl property to specify the image for the item. If the ImageUrl - property is set to empty string, the item will render the image, defined in the Skin - of the rating control. Use "~" (tilde) when referring to images within the current ASP.NET application. - - - - Gets or sets the path to an image to display for the item when it is hovered. - - The path to the image to display for the item. The default value is empty string. - - - Use the HoveredImageUrl property to specify the image for the item when it is hovered. If - the HoveredImageUrl property is set to empty string, the item will display the HoveredSelectedImageUrl - image. Use "~" (tilde) when referring to images within the current ASP.NET application. - - - - Gets or sets the path to an image to display for the item when it is selected. - - The path to the image to display for the item. The default value is empty string. - - - Use the SelectedImageUrl property to specify the image for the item when it is selected. If - the SelectedImageUrl property is set to empty string, the item will display the ImageUrl - image. Use "~" (tilde) when referring to images within the current ASP.NET application. - - - - Gets or sets the path to an image to display for the selected item when it is hovered. - - The path to the image to display for the item. The default value is empty string. - - - Use the HoveredSelectedImageUrl property to specify the image for the selected item when it is hovered. If - the HoveredSelectedImageUrl property is set to empty string, the item will display the SelectedImageUrl - image. Use "~" (tilde) when referring to images within the current ASP.NET application. - - - - - A collection of RadRatingItem objects in a - RadRating control. - - - The RadRatingItemCollection class represents a collection of - RadRatingItem objects. - - - Use the indexer to programmatically retrieve a - single RadRatingItem from the collection, using array notation. - - - Use the Count property to determine the total - number of rating items in the collection. - - - Use the Add method to add items in the collection. - - - Use the Remove method to remove items from the - collection. - - - - - - - - Initializes a new instance of the RadRatingItemCollection class. - - The owner of the collection. - - - - Specifies the possible values for the Precision property of the RadRating control. - - - - - The user can select only the entire item (star). - - - - - The user can select half an item (star) or the entire item (star). - - - - - The user can select any portion of an item (star). - - - - - Specifies the possible values for the SelectionMode property of the RadRating control. - - - - - Only one item (star) is marked as selected - the currently selected item (star). - - - - - Default behavior - all items (stars) from the first item (star) to the currently selected one are marked as selected. - - - - - RadTicker control - - - - - Binds the ticker to a IEnumerable data source - - IEnumerable data source - - - - The collection that holds all RadTickerItem objects. - - - - - Specifies whether the ticker begins ticking automatically. - - - You should leave this set to false if you are using the ticker within a RadTicker - If you use the ticker independently and leave this setting to false you should use the - client API call ticker_id.startTicker() to start it. - - - Default: False - - - - - Specifies whether will begin ticking the next tickerline - (if any) after it has finished ticking the current one. - - - If you set the AutoAdvance property to false, then you will have to use - a client API Call ticker_id.tickNextLine() - - - Default: True - - - - - Specifies whether will repeat the first tickerline after displaying the last one. - - - If you set this property to true RadTicker will never finish ticking. - This may have possible implications when having more than one instance in - a . This way works is that when the first ticker - on a frame has finished ticking it will start ticking the next ticker on the frame. If a - instance is ticking (has Loop=true) it will never finish and the next ticker on the frame will not get started. - - - Default: False - - - - - Specifies the duration in milliseconds between ticking each character of a tickerline. - The lower the value the faster a line will finish ticking. - - - Default: 20ms - - - - - Specifies in milliseconds the pause makes before starting to tick - the next line (if AutoAdvance=True). - - - Default: 2000ms - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make Telerik RadTicker postback to the server on item click. - - - The default value is false. - - - - - Gets or sets the field of the data source that provides the value of the ticker lines. - - - A string that specifies the field of the data source that provides the value of the ticker lines. - The default value is an empty string. - - - Use the DataTextField property to specify the field of the data source (in most cases the name of the database column) - which provides the values for the Text property of databound ticker items. The DataTextField property is - taken into account only during data binding. If the DataTextField property is not set and your datasource is not a list of strings, - the RadTicker control will throw an exception. - - - The following example demonstrates how to use the DataTextField. - - DataTable data = new DataTable(); - data.Columns.Add("MyID"); - data.Columns.Add("MyValue"); - - data.Rows.Add(new object[] {"1", "ticker item text 1"}); - data.Rows.Add(new object[] {"2", "ticker item text 2"}); - - RadTicker1.DataSource = data; - RadTicker1.DataTextField = "MyValue"; //"MyValue" column provides values for the Text property of databound ticker items - RadTicker1.DataBind(); - - - Dim data As new DataTable(); - data.Columns.Add("MyID") - data.Columns.Add("MyValue") - - data.Rows.Add(New Object() {"1", "ticker item text 1"}) - data.Rows.Add(New Object() {"2", "ticker item text 2"}) - - RadTicker1.DataSource = data - RadTicker1.DataTextField = "MyValue" '"MyValue" column provides values for the Text property of databound ticker items - RadTicker1.DataBind() - - - - - - RadRotator Control - - - - - Binds the rotator to a IEnumerable data source - - IEnumerable data source - - - - - - - - Binds the RadRotator to the collection of images found in the provided . - If no path is provided the Rotator will use the data source provided. - - Forces the rotator to request the images from the specified location. - - This method is called by the RadRotator on PreRender. - Therefore you don't have to call it unless you want to explicitly force the rotator to request its items. - - - - - Gets all the images (used as banners/ads) from the specified folder. - - The virtual path to the folder where the images will be taken. - The string of comma-separated allowed image extensions. - Collection of all the images in the specified folder. - - - - Gets a string of comma-separated allowed image extensions when the rotator searches the for image files. - - The string of comma-separated allowed image extensions. The default allowed extensions are: "*.jpg,*.jpeg,*.gif,*.png,*.bmp,". - - - - Specifies the type of rotator [how the rotator will render and what options the user will have for interacting with it on the client] - - - - Default: RotatorType.Buttons - - - - - Specifies possible directions for scrolling rotator items. - - - - Default: RotatorScrollDirection.Left | RotatorScrollDirection.Right - - - - - Specifies the speed in milliseconds for scrolling rotator items. - - - Default: 500 - - - - - Specifies the index of the item, which will be shown first when the rotator loads. - When set to 0 (default) - positions initial item to be visible in the rotator. - When set to -1 - positions the initial item just outside of the rotator viewport. - Any other positive value - the rotator starts with that particular item in the viewport. - - - Default: 0 - - - - - Specifies the time in milliseconds each frame will display in automatic scrolling scenarios. - - - Default: 2000 - - - - - Specifies the default rotator item width. - - - Default: Unit.Empty - - - - - Specifies the default rotator item height. - - - Default: Unit.Empty - - - - - Gets the settings for the web service used to populate items - - - An WebServiceSettings that represents the - web service used for populating items. - - - - Use the WebServiceSettings property to configure the web - service used to populate items on demand. - You must specify both Path and - Method - to fully describe the service. - - - In order to use the integrated support, the web service should have the following signature: - - - [ScriptService] - public class WebServiceName : WebService - { - [WebMethod] - public RadRotatorItemData[] WebServiceMethodName(int itemIndex, int itemCount) - { - List<RadRotatorItemData> result = new List<RadRotatorItemData>(); - RadRotatorItemData item; - for (int i = 0; i < itemCount; i++) - { - item = new RadRotatorItemData(); - item.Html = "test "+(itemIndex+i); - result.Add(item); - } - return result.ToArray(); - } - } - - - - - - - Gets or sets the height of the Web server control. The default height is 200 pixels. - - - - - Gets or sets the width of the Web server control. The default width is 200 pixels. - - - - - Gets or sets a value indicating whether a postback to the server automatically occurs when the user interacts with the control. - - - Setting this property to true will make Telerik RadRotator postback to the server - on item click. - - - The default value is false. - - - - - Gets or sets a value indicating whether to pause the rotator scrolling when the mouse is over a roatator item - - - The default value is true. This means the animation will be paused when the user hovers over a rotator item. - - - - - Gets or sets a value indicating whether to randomize the order of display for the rotator items. - - - The default value is false. This means the items will be displayed in the order they appear in the datasource. - - - - - Gets or sets a flag determining if drag-scrolling should be enabled. - - - The default value is false. This means the drag-scrolling is not enabled. - - - - - Gets or sets the virtual path where the rotator will look for ads/banners (images) to play. - This property basically enables the Ad mode of the Rotator. The default value is string.Empty. - - - The default value is an empty string. - - - - - The name of the javascript function called when an item is clicked. - - - - - The name of the javascript function called after an item is clicked. - - - - - The name of the javascript function called when the mouse hovers over an item. - - - - - The name of the javascript function called after the mouse leaves an item. - - - - - The name of the javascript function called when an item is about to be shown. - - - - - The name of the javascript function called after an item has been shown. - - - - - The name of the javascript function called when the rotator is loaded on the client. The function - is called right before the automatic animation (if used) begins. - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadRotator items are about to be populated when load on demand(from web service).The event is cancellable - - - - - Gets or sets a value indicating the client-side event handler that is called when - the RadRotator items were just populated when load on demand(from web service). - - - - - Gets or sets a value indicating the client-side event handler that is called when - the operation for populating the RadRotator when load on demand has failed. - - - - - This class represents a item. - - - - - Gets the zero based index of the item. - - - - - A collection of RadTickerItem objects in a - RadTicker control. - - - - - - Initializes a new instance of the RadTickerItemCollection class. - - The parent Ticker control. - - - Gets or sets the effect that will be used for the animation. - - - Gets or sets the animation duration in milliseconds. - - - - Returns the web.config value which specifies the application EnableEmbeddedScripts property. - - - Telerik.[ShortControlName].EnableEmbeddedScripts or Telerik.EnableEmbeddedScripts, depending on which value was set. - - - - - Returns the web.config value which specifies the application EnableEmbeddedSkins property. - - - Telerik.[ShortControlName].EnableEmbeddedSkins or Telerik.EnableEmbeddedSkins, depending on which value was set. - - - - - Specifies the type of the . - - - - - An item has been inserted in the control. - - - - - An item has been removed from the control. - - - - - A property of the item has been changed. - - - - - All children of the control or the item have been removed. - - - - - An item has changed its position - - - - - Used in case of update client operations. - - The type of the item (e.g. , , - , , , ) - - - - - Gets the name of the property which has been changed on the client side. - - - - - This Class defines the CombinedScriptWriter. - - - - - Outputs the combined script file requested by the HttpRequest to the HttpResponse - - A Page, representing the HttpHandler - HttpContext for the transaction - true if the script file was output - - - - Regular expression for detecting WebResource/ScriptResource substitutions in script files - - - - - Creates an instance of the ScriptEntryUrlBuilder class. - Assumes that the resources are scripts only. If you want to combine style sheet files, - use the other constructor, which has a third parameter to indicate that. - - - - - - - Creates an instance of the ScriptEntryUrlBuilder class. - If registerStyleSheets is true, splits combined style sheet files if their selector count exceeds 4000. - - - - - - - - Gets a string output, containing the HTML code with added styles around new/deleted parts - - the NEW Html/Text content - the OLD Html/Text content - HTML code containing the content and differences between old and new versions - - - - Summary description for HtmlParser. - - - - - Summary description for TagSnippet. - - - - - Summary description for TagSnippet. - - - - - Summary description for TagSnippet. - - - - - Summary description for TagSnippet. - - - - - Allow the transfer of data files using the W3C's - specification for HTTP multipart form data. - Microsoft's version has a bug where it does not - format the ending boundary correctly. - - - - - Transmits a file to the web server stated - in the URL property. - You may call this several times and it will - use the values previously set for fields and URL. - - the text to send - The local path of - the file to send. - - - - Initialize our class for use to - send data files. - - The URL of the - destination server. - - - - Used to signal we want the output to go to a - text file verses being transfered to a URL. - - The local path to the - output file. - - - - Allows you to add some additional field data - to be sent along with the transfer. - This is usually used for things like userid - and password to validate the transfer. - - The name of the - custom field. - The value of the - custom field. - - - - Allows you to add some additional header data - to be sent along with the transfer. - - The name of the custom header. - The value of the custom header. - - - - Determines if we have a file stream set, and - returns either the HttpWebRequest stream or - the file. - - Either the HttpWebRequest stream or - the local output file. - - - - Make the request to the web server and - retrieve it's response into a text buffer. - - - - - Builds the proper format of the multipart - data that contains the form fields and - their respective values. - - All form fields, properly formatted - in a string. - - - - Returns the proper content information for - the file we are sending. - - The local path to - the file that should be sent. - All file headers, properly formatted - in a string. - - - - Creates the proper ending boundary for the - multipart upload. - - The ending boundary. - - - - Mainly used to turn the string into a byte - buffer and then write it to our IO stream. - - The stream to write to. - The data to place into the stream. - - - - Reads in the file a chunck at a time then - sends it to the output stream. - - The stream to write to. - The local path of the file to send. - - - - Allows you to specify the specific version - of HTTP to use for uploads. - The dot NET stuff currently does not allow - you to remove the continue-100 header - from 1.1 and 1.0 currently has a bug in it - where it adds the continue-100. - MS has sent a patch to remove the - continue-100 in HTTP 1.0. - - - - - Used to change the content type of the file - being sent. - Currently defaults to: text/xml. Other options - are text/plain or binary. - - - - - The string that defines the begining boundary - of our multipart transfer as defined in the - w3c specs. - This method also sets the Content and Ending - boundaries as defined by the w3c specs. - - - - - The string that defines the content boundary - of our multipart transfer as defined in the - w3c specs. - - - - - The string that defines the ending boundary - of our multipart transfer as defined in the - w3c specs. - - - - - The data returned to us after the transfer - is completed. - - - - - The web address of the recipient of the - transfer. - - - - - Allows us to determine the size of the buffer - used to send a piece of the file at a time - out the IO stream. - Defaults to 1024 * 10. - - - - - Allows us to specified the credentials used - for the transfer. - - - - - Allows us to specifiy the certificate to use - for secure communications. - - - - - Gets or sets a value indicating whether to - make a persistent connection to the - Internet resource. - - - - - Gets or sets a value indicating whether the - Expect100-Continue header should be sent. - - - - - Gets or sets a value indicating whether to - pipeline the request to the Internet resource. - - - - - Gets or sets a value indicating whether the - file can be sent in smaller packets. - - - - - Represents a EditorDropDownItem dropdown item from a custom editor dropdown - - - - - A strongly typed collection of EditorDropDownItem objects - - - - - Enumerates all the possible controls or element for decoration. The flags are accumulating, i.e. combinations between values are possible - - - - - No control should be decorate - - - - - Decorate checkboxes only - - - - - Decorate radio buttons form elements - - - - - Decorate buttons elements. There are inputs[type=button,submit,reset] or button elements. - - - - - Decorate browser scrollbar elements, where applicable - not all browsers support scrollbar decoration. - - - - - Decorate input form elements that work with text. Most prominent representative is input[type=text]. Other types like password, search, url, file, etc. are decorated as well. - - - - - Decorate textarea elements. - - - - - Apply decoration to fieldsets - - - - - Decorate label elements - - - - - Decorate H[4-6] heading elements. - - - - - Decorate select elements. - - - - - Styling the decoration zone or the tag of the page - - - - - Allow styling of GridView, FormView and DetailsView - - - - - Decorate a ValidationSummary control - - - - - Decorate the standard Login control - - - - - Choose default decoration. It includes checkboxes, radio buttons, button and scrollbars - - - - - Apply decoration to all applicable elements - - - - - The editor for the column. - - - - - - - - - Gets The text box instance created of extracted from a cell after calls to AddControlsToContainer or LoadControlsFromContainer methods. - - - - - Gets The text box instance created of extracted from a cell after calls to AddControlsToContainer or LoadControlsFromContainer methods. - - - - - Gets the shared calendar used for all picker controls. - - The shared calendar used for all picker controls. - - - - Gets the shared time view used for all controls using TimeView. - - The shared time view used for all controls using TimeView. - - - - Gets the instace of the Style that would be applied to the TextBox control, when initializing in a TableCell. - - - - Gets or sets default path for the GridDateTimeColumnEditor images when EnableEmbeddedSkins is set to false. - A string containing the path for the grid images. The default is String.Empty. - - - - - - - - - - - - - - Gets or sets the cell text. - - The cell text. - - - - The editor for column. - - - - - - - - - Gets or sets the Content property. - - The Content property. - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - - Gets the control. - - The control. - - - - The editor for the column. - - - - - - - - - Gets or sets the Text property. - - The Text property. - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - Gets the control. - - The control. - - - - The editor for the . - - - - - - - - - Gets or sets the DbValue property. - - The DbValue property. - - - - Get value if the editor has been initialized after an InitializeInControl or InitializeFromControl method call - - - - - - Gets the instance for the current column editor. - - The the instance for the current column editor.. - - - - GridCalculatedColumn displays a value that is calculated based on one or more fields and an - expression that indicates how to calculate the display value. Use the DataFields property to - list all the fields that are used to calculate the column value. The Expression property then - specifies how the field values are to be combined, using parameters based on the order of the - fields listed in the DataFields property. - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - - - - - This method should be used in case you develop your own column. It returns true - if the column supports filtering. - - - - - - Calculate the default Group-by expression based on the settings of the - DataField (if available) - - - For example, if a column's DataField is ProductType the default group-by expression will be: - 'ProductType Group By ProductType' - - - - - - This method should be used in case you develop your own column. It returns the - full list of DataFields used by the column. - GridTableView uses this to decide which DataFields - from the specified DataSource will be inlcuded in case of - GridTableView.RetrieveAllDataFields is set to - false. - - - - - - - Gets or sets the field name from the specified data source to bind to the - . - - - A string, specifying the data field from the data - source, from which to bind the column. - - - - - Sets or gets format string for the footer/group footer aggregate. - - The footer aggregate format string. - - - - Gets or sets whether the column data can be filtered. The default value is - true. - - - A Boolean value, indicating whether the column can be - filtered. - - - - -
- Use the DataFormatString property to provide a custom format for the items - in the column. - The data format string consists of two parts, separated by a colon, in the form { - A : Bxx }.
- For example, the formatting string {0:C2} displays a currency formatted number with two - decimal places.
- Note: The entire string must be enclosed in braces to indicate - that it is a format string and not a literal string. Any text outside the braces is - displayed as literal text. - The value before the colon (A in the general - example) specifies the parameter index in a zero-based list of parameters. -
- Note: This value can only be set to 0 because there is only one - value in each cell.
- The value before the colon (A in the general - example) specifies the parameter index in a zero-based list of parameters. - The character after the colon (B in the general - example) specifies the format to display the value in. The following table lists the - common formats. -
-
- - - - Format character - - Description - - - C - - Displays numeric values in currency format. - - - D - - Displays numeric values in decimal format. - - - E - - Displays numeric values in scientific (exponential) - format. - - - F - - Displays numeric values in fixed format. - - - G - - Displays numeric values in general format. - - - N - - Displays numeric values in number format. - - - X - - Displays numeric values in hexadecimal - format.
-
- Note: The format character is not case-sensitive, except for - X, which displays the hexadecimal characters in the case specified.
-
The value after the format character - (xx in the general example) specifies the number of - significant digits or decimal places to display.
- For more information on formatting strings, see - Formatting - Overview (external link to MSDN library).
-
- - Gets or sets the string that specifies the display format for items in the - column. - - - A string that specifies the display format for items in - the column - -
- - Gets or sets a whether the column data can be sorted. - - A boolean value, indicating whether the column data can - be sorted. - - - - - Gets or sets a string, representing a comma-separated enumeration of DataFields - from the data source, which will form the expression. - - - A string, representing a comma-separated enumeration of - DataFields from the data source, which will form the expression. - - - - - Gets or sets the expression used to filter rows, calculate the values in a column, or create an aggregate column. - - - - The expression used to filter rows, calculate the values in a column, or create an aggregate column. - - - - GridHTMLEditorColumn is for columns whose values are a string of HTML. - It uses RadEditor to allow WYSIWYG editing of HTML values. The DataField - property must identify a field with a valid data type (string of HTML). - This column type is editable (implements the IGridEditableColumn interface) - and by default provides GridHTMLEditorColumnEditor as its column editor. - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - When in browser mode, GridMaskedColumn looks and behaves like a standard GridBoundColumn. - When in edit mode, however, it displays a RadMaskedTextBox control. This column type is - for values that fit a specific format. Use the Mask property to specify an edit mask that - defines the valid values. The DataField property must identify a field with a valid data - type (values conform to the mask). - This column type is editable (implements the IGridEditableColumn interface) and by default - provides GridMaskedColumnEditor as its column editor. - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Gets or sets the Mask property of the control. - - The Mask property of the control. - - - - Gets or sets the DsiplayMask property of the control. - - The DsiplayMask property of the control. - - - - When in browser mode, GridNumericColumn looks and behaves like a standard GridBoundColumn. - When in edit mode, however, it displays a RadNumericTextBox control. - This column type is for numeric values. Its DataField property must identify a field with - a valid data type (Number or Decimal). - This column type is editable (implements the IGridEditableColumn interface) and by default - provides GridNumericColumnEditor as its column editor. - - - - - Creates a copy of the current column. - - - Note: When implementing/overriding this method be sure to call - the base member or call CopyBaseProperties to be sure that all base - properties will be copied accordingly - - - - - - Modifies the CurrentFilterValue property according to the - corresponding selected item in the filter text-box control in the filtering - item. - - - - - - Modifies the CurrentFilterFunction and - CurrentFilterValue properties according to the function given and the - corresponding filter text-box control in the filtering item. - - - - - - - Gets or sets a value indicating the multiplication factor. - - - - - Gets or sets the NumericType property of the control. - - The NumericType property of the control. - - - - Gets or sets the NumberFormat.AllowRounding property of the control. - - The NumberFormat.AllowRounding property of the control. - - - - Gets or sets the NumberFormat.KeepNotRoundedValue property of the control. - - The NumberFormat.KeepNotRoundedValue property of the control. - - - - Gets or sets the NumberFormat.DecimalDigits property of the control. - - The NumberFormat.DecimalDigits property of the control. - - - - The event arguments passed when fires CustomAggregate event. - The event is fired when a property is set to - . - - - - - Gets the in which the aggregate will be placed. - - The in which the aggregate will be placed. - - - - Gets the column for which the custom aggregate should be calculated. - - The column for which the custom aggregate should be calculated. - - - - Gets or sets aggregate result. - - - - - item which represents a footer for each group on the current page. - - - - - - - - - Gets or sets all aggregate values in the footer. - - All aggregate values in the footer. - - - - The original DataItem from the DataSource. See - examples section below. - - - For example if you bind the grid to a DataView object the - DataItem will represent the DataRowView object - extracted from the DataView for this GridItem. Note - that the DataItem object is available only when grid binds to data - (inside the ItemDataBound server event handler). - - - - - - Class containing functionality for formating a double number - with the specified . - - - - - Formats a double number by looking at the provided . - - The number to be formated.. - The . - The formatted value. - - - - - - - - Data class used for transferring rotator items from and to web services. - - - For information about the role of each property see the - RadRotatorItem class. - - - - - The HTML content of the rotator frame. Note that you do not need to use templates here - the HTML will be added to the page directly. - - - - - See RadRotatorItem.Visible. - - - - - See RadRotatorItem.CssClass. - - - - - This class represents a item. - - - - - Gets the zero based index of the item. - - - - - A collection of RadRotatorItem objects in a - RadRotator control. - - - - - - Initializes a new instance of the RadRotatorItemCollection class. - - The parent Rotator control. - - - - Encapsulates the properties used for the RadRotator control buttons management. - - - - - this function tries to get the client id of a control in the same naming container - - the control id - the control to search in - the client id if the control is found, or the input parameter if the control does not exist - - - - The name of the javascript function called when the user clicks one of the control buttons. - - This event is raised only when the rotator is in Buttons mode! - - - - The name of the javascript function called when the mouse is over one of the control buttons. - - This event is raised only when the rotator is in ButtonsOver mode! - - - - The name of the javascript function called when the mouse leaves one of the control buttons. - - This event is raised only when the rotator is in ButtonsOver mode! - - - - This enum defines the available scroll directions for the RadRotator control. - - - - - Left scroll direction is used to create a horizontal rotator. Cannot be used together with Up or Down. - - - - - Right scroll direction is used to create a horizontal rotator. Cannot be used together with Up or Down. - - - - - Up scroll direction is used to create a vertical rotator. Cannot be used together with Left or Right. - - - - - Down scroll direction is used to create a vertical rotator. Cannot be used together with Left or Right. - - - - - Defines the available RadRotator layout and animation types. - - - - - Automatically move the items of the rotator after a specified delay. - - - - - Move the rotator items when the mouse is over the rotator buttons. - - - - - Move the rotator items when the user clicks one of the rotator buttons. - - - - - Use a slideshow effect to move the items of the rotator automatically after a specified delay. - - - - - Use a slideshow effect to move the items of the rotator when the user clicks one of the rotator buttons. - - - - - The rotator items will not move automatically. The developer must write JavaScript code to guide the movement of the rotator items. - - - - - Use a carousel (items arranged in a ellipse) to move the rotator items automatically after a specified delay. - - - - - Use a carousel (items arranged in a ellipse) to move the rotator items when the user clicks one of the rotator buttons. - - - - - Use a coverflow ("iTunes" like) to move the rotator items automatically after a specified delay. - - - - - Use a coverflow ("iTunes" like) to move the rotator items when the user clicks one of the rotator buttons. - - - - - Used to serialize resource values. - - - - - Serializes the specified object to serialize. - - The object to serialize. - - - - - Serializes the specified object to serialize. - - The object to serialize. - The enable mac validation. - - - - - Deserializes the specified serialized object. - - The serialized object. - - - - - Deserializes the specified serialized object. - - The serialized object. - The enable mac validation. - - - - - Minimal implementation of ISchedulerOperationResult. - - - The type of the appointment data transfer object in use. - Typically this is AppointmentData - or derived class. - - - - - This interface defines an operation result contract that - can be optionally used by the web service methods. - - - Implementers can extend it with additional data fields to - report status and to transfer additional metadata. - See the online documentation for more details. - - - The type of the appointment data transfer object in use. - Typically this is AppointmentData - or derived class. - - - - - Gets or sets the appointments. - - The appointments. - - - - A data transfer object used for Web Service data binding. - - - - - A resource data interface. - - - - - A resource data class. - - - - - Copies from. - - The SRC resource. - - - - Copies to. - - The dest resource. - - - - Gets or sets the key. - - The key. - - - - Gets or sets the text. - - The text. - - - - Gets or sets the type. - - The type. - - - - Gets or sets the available. - - The available. - - - - Gets or sets the encoded key. - - The encoded key. - - - - Gets or sets the attributes. - - The attributes. - - - - A context menu control used with the control. - - - - The RadSchedulerContextMenu object is used to assign context menus to appointments. Use the - property to add context menus for a - object. - - - Use the property to assign specific context menu to a given . - - - - The following example demonstrates how to add context menus declaratively - - <telerik:RadTreeView ID="RadTreeView1" runat="server"> - <ContextMenus> - <telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <telerik:RadMenuItem Text="Menu1Item1"></telerik:RadMenuItem> - <telerik:RadMenuItem Text="Menu1Item2"></telerik:RadMenuItem> - </Items> - </telerik:RadTreeViewContextMenu> - <telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <telerik:RadMenuItem Text="Menu2Item1"></telerik:RadMenuItem> - <telerik:RadMenuItem Text="Menu2Item2"></telerik:RadMenuItem> - </Items> - </telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeView> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OnClientItemClicking is not available for RadSchedulerContextMenu. Use the OnClientContextMenuItemClicking property of RadScheduler instead. - - - - - OnClientItemClicked is not available for RadSchedulerContextMenu. Use the OnClientContextMenuItemClicked property of RadScheduler instead. - - - - - OnClientShowing is not available for RadSchedulerContextMenu. Use the OnClientContextMenuShowing property of RadScheduler instead. - - - - - OnClientShown is not available for RadSchedulerContextMenu. Use the OnClientContextMenuShown property of RadScheduler instead. - - - - - Provides a collection container that enables RadScheduler to maintain a list of its RadSchedulerContextMenus. - - - - - Initializes a new instance of the RadSchedulerContextMenuCollection class for the specified RadScheduler. - - The RadScheduler that the RadSchedulerContextMenuCollection is created for. - - - - Adds the specified RadSchedulerContextMenu object to the collection - - The RadSchedulerContextMenu to add to the collection - - - - Determines whether the specified RadSchedulerContextMenu is in the parent - RadScheduler's RadSchedulerContextMenuCollection object. - - The RadSchedulerContextMenu to search for in the collection - true if the specified RadSchedulerContextMenu exists in - the collection; otherwise, false. - - - - Copies the RadSchedulerContextMenu instances stored in the - RadSchedulerContextMenuCollection - object to an System.Array object, beginning at the specified index location in the System.Array. - - The System.Array to copy the RadSchedulerContextMenu instances to. - The zero-based relative index in array where copying begins - - - Appends the specified array of objects to the end of the - current . - - - The array of to append to the end of the current - . - - - - - Retrieves the index of a specified RadSchedulerContextMenu object in the collection. - - The RadSchedulerContextMenu - for which the index is returned. - The index of the specified RadSchedulerContextMenu - instance. If the RadSchedulerContextMenu is not - currently a member of the collection, it returns -1. - - - - Inserts the specified RadSchedulerContextMenu object - to the collection at the specified index location. - - The location in the array at which to add the RadSchedulerContextMenu instance. - The RadSchedulerContextMenu to add to the collection - - - - Removes the specified RadSchedulerContextMenu - from the parent RadScheduler's RadSchedulerContextMenuCollection - object. - - The RadSchedulerContextMenu to be removed - To remove a control from an index location, use the RemoveAt method. - - - - Removes a child RadSchedulerContextMenu, at the - specified index location, from the RadSchedulerContextMenuCollection - object. - - The ordinal index of the RadSchedulerContextMenu - to be removed from the collection. - - - - Gets a reference to the RadSchedulerContextMenu at the specified index location in the - RadSchedulerContextMenuCollection object. - - The location of the RadSchedulerContextMenu in the RadSchedulerContextMenuCollection - The reference to the RadSchedulerContextMenu. - - - - Represents the method that handles the ContextMenuItemClick - event of a RadTreeView control. - - The source of the event. - A RadTreeViewContextMenuEventArgs - that contains the event data. - - - The ContextMenuItemClick event is raised - when an item in the RadTreeViewContextMenu of the - RadTreeView control is clicked. - - - A click on a RadTreeViewContextMenu item of the - RadTreeView makes a postback only if an event handler is attached - to the ContextMenuItemClick event. - - - - The following example demonstrates how to display information about the clicked item in the - RadTreeViewContextMenu shown after a right-click - on a RadTreeNode. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) - { - lblInfo.Text = string.Format(@"You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text); - } - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - <%@ Page Language="VB" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - Sub RadTreeView1_ContextMenuItemClick(ByVal sender as Object, ByVal e as RadTreeViewContextMenuEventArgs) - lblInfo.Text = String.Format("You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", _ - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text) - End Sub - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - - - - Provides data for the ContextMenuItemClick - event of the RadTreeView control. This class cannot be inherited. - - - - The ContextMenuItemClick event is raised - when an item in the RadTreeViewContextMenu of the - RadTreeView control is clicked. - - - A click on a RadTreeViewContextMenu item of the - RadTreeView makes a postback only if an event handler is attached - to the ContextMenuItemClick event. - - - - The following example demonstrates how to display information about the clicked item in the - RadTreeViewContextMenu shown after a right-click - on a RadTreeNode. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) - { - lblInfo.Text = string.Format(@"You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text); - } - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - <%@ Page Language="VB" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - Sub RadTreeView1_ContextMenuItemClick(ByVal sender as Object, ByVal e as RadTreeViewContextMenuEventArgs) - lblInfo.Text = String.Format("You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", _ - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text) - End Sub - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - - - - Initializes a new instance of the RadTreeViewContextMenuEventArgs class. - - A RadTreeNode which represents a - node in the RadTreeView control. - - A RadMenuItem which represents an - item in the RadTreeViewContextMenu control. - - - - - Gets the referenced RadMenuItem in the - RadTreeViewContextMenu control - when the event is raised. - - - Use this property to programmatically access the item referenced in the - RadTreeViewContextMenu when the event is raised. - - - - - Gets the referenced RadTreeNode in the - RadTreeView control when the event is raised. - - - Use this property to programmatically access the item referenced in the - RadTreeNode when the event is raised. - - - - - Defines the appointment sorting mode for TimelineView - - - - - In Global mode the appointments are sorted as a single list. - - - - - In PerSlot mode the appointments are sorted independently in each slot. - - - - - Defines the styling mode for appointments. - - - - - Appointments with set background or border color are rendered using the Simple style - without rounded corners or gradiented background. - All others are rendered using their default style - with rounded corners and gradiented background. - - - - - Appointments are rendered using the simple style - without rounded corners or gradiented background. - - - - - Appointments rendered with rounded corners and gradiented background. - Custom background and border colors are supported. Gradiented backgrounds for custom colors are not available in IE6. - - - - - Provides data for the event of the control. - - - - - Gets the menu item. - - The menu item. - - - - Provides data for the event of the control. - - - - - Gets the menu item. - - The menu item. - - - - Provides data for the event of the control. - - - - - Gets the master appointment that was used to generate the occurrence. - - The master appointment that was used to generate the occurrence. - - - - Gets the occurrence appointment that is about to be removed. - - The occurrence appointment that is about to be removed. - - This can also be the master appointment itself. If this is the case, - it'll remain in the Appointments collection, but it will be hidden (Visible=false). - - - - - Provides data for the event of the control. - - - - - Gets the menu item. - - The menu item. - - - - Gets the time slot. - - The time slot. - - - - Provides data for the event of the control. - - - - - Gets the menu item. - - The menu item. - - - - Gets the time slot. - - The time slot. - - - - Provides data for the event of the control. - - - - - Gets or sets the ISchedulerInfo object - that will be passed to the provider/web service. - - - The ISchedulerInfo object - that will be passed to the provider/web service. - - - You can replace this object with your own implementation of - ISchedulerInfo in order - to pass additional information to the provider/web service. - - - - - Gets or sets the URI for the request that is about to be made by a RadScheduler. - - - The URI for the request that is about to be made by a RadScheduler; - null (Nothing in Visual Basic) when web service binding is not used. - - - This property contains the absolute URI for the request, as resolved - by RadScheduler. You might need to modify this URI to accommodate for - URL rewriters and other scenarios. - - - - - Gets a collection of header name/value pairs associated with the request. - - - A WebHeaderCollection containing - header name/value pairs associated with this request; - null (Nothing in Visual Basic) when web service binding is not used. - - - The Headers property contains a WebHeaderCollection - instance containing header information that RadScheduler sends with the request. - - - - - Gets or sets the network credentials that are sent to the host and used to authenticate the request. - - - An ICredentials containing the authentication credentials for the request. - The default is a null reference (Nothing in Visual Basic). - - - Typically, you would set this property to the credentials of the client on whose behalf the request is made. - - - - - Gets or sets the proxy to be used to connect to the Web Service. - - - An IWebProxy instance. - The default is a null reference (Nothing in Visual Basic). - - - - - The localization strings to be used in RadSchedulerRecurrenceEditor. - - - - - This Class defines RadSchedulerRecurrenceEditor control that inherits RecurrenceEditor and INamingContainer. - - - - - Call when the RecurrenceEditor internal controls should be reinitialized. - A good example is when placing the RecurrenceEditor in external edit/insert form. - In order to clean the last selected values (from the previous display of the form) - you can call the ResetLayout in the FormCreating event of RadScheduler - and then on FormCreated event to populate the RecurrenceEditor with a RecurrenceRule (if edit). - - - - - Gets the localization. - - The localization. - - - - This Class implements the ResourceStyleMapping. - - - - - Gets or sets a value indicating the resource key to match. - - - Resource key to match. - - - - - Gets or sets a value indicating the resource text to match. - - - Resource text to match. - - - - - Gets or sets a value indicating the resource type to match. - - - Resource type to match. - - - - - Gets or sets a value indicating the cascading style sheet (CSS) class - to render for appointments that use the matching resource. - - - The cascading style sheet (CSS) class to render for appointments - that use the matching resource. - - The default value is Empty. - - - You can define your own CSS class name or use some of the predefined class names: - - rsCategoryBlue - rsCategoryDarkBlue - rsCategoryDarkGreen - rsCategoryDarkRed - rsCategoryGreen - rsCategoryOrange - rsCategoryPink - rsCategoryRed - rsCategoryViolet - rsCategoryYellow - - - - - - Gets or sets a value indicating the background color - to render for appointments that use the matching resource. - - - The background color to render for appointments - that use the matching resource. - - The default value is Empty. - - - Setting a background color automatically switches the appointment rendering - to Simple (no rounded corners and gradients). In order to disable this - legacy behavior, and force the default rendering, set AppointmentStyleMode - to Default. - - - - - Gets or sets a value indicating the border color - to render for appointments that use the matching resource. - - - The border color to render for appointments - that use the matching resource. - - The default value is Empty. - - - Setting a border color automatically switches the appointment rendering - to Simple (no rounded corners and gradients). In order to disable this - legacy behavior, and force the default rendering, set AppointmentStyleMode - to Default. - - - - - This Class implements the ResourceStyleMapping collection. - - - - - Specifies the resource population mode of a RadScheduler control when using Web Service data binding. - - - - - In manual mode RadScheduler will not request resources from the Web Service. - They can be populated from the code-behind of the ASP.NET page that hosts - the RadScheduler control. - - - This mode is useful when server-side requests from the server are undesirable - or forbidden (Medium Trust for example). - - - - - The resources will be populated from the server by issuing a request to - the Web Service. - - - The ResourcesPopulating - event will be raised. - - - - - The resources will be populated from the client by issuing a request to - the Web Service. - - - The ResourcesPopulating - client-side event will be raised. - Grouped views are not supported in this mode. - - - - - This Class gets and sets the SchedulerWebService Settings. - - - - - - - - - - - - - Gets or sets the method name to be called to populate items with - ExpandMode set to WebService. - - - The method must be part of the web service specified through the - Path property. - - - - - - Gets or sets the method name to be called to populate the appointments. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to delete appointments. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to insert appointments. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to update appointments. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to get the resources list. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to create recurrence exceptions. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the method name to be called to remove the recurrence exceptions of a given appointment. - - - The method must be part of the web service specified through the - Path property. - - - - - Gets or sets the resource population mode - to be used from RadScheduler. - - - The resource population mode - to be used from RadScheduler. The default value is - ClientSide - - - - Resources need to be populated from the server when using resource grouping. - Doing so also reduces the client-side initialization time. - - - This operation requires the WebPermission to be granted - for the Web Service URL. This permission is not granted by default in Medium Trust. - - - You can disable the population of the resources from the server and still use - client-side rendering for grouped views. To do so you need to set the - value to Manual and - populate the resources from the OnInit method of the page. - - - - - - Used to customize the OData binding settings. - - - - - Provides data for the event of the control. - - - - - Gets the container. - - The container. - - - - For internal use only. - - - - - - - This enum specifies if the RecurrenceState is NotRecurring, Master, Occurrence or Exception. - - - - - RecurrenceState is set to NotRecurring. - - NotRecurring = 0 - - - - RecurrenceState is set to Master. - - Master = 1 - - - - RecurrenceState is set to Occurrence. - - Occurrence = 2 - - - - RecurrenceState is set to Exception. - - Exception = 3 - - - - This interface contains the basic information about the scheduler instance - that will be transferred to the Web Service and to the corresponding provider. - - - - - See RadScheduler.VisibleRangeStart - - - - - See RadScheduler.VisibleRangeEnd - - - - - See RadScheduler.EnableDescriptionField - - - - - See RadScheduler.MinutesPerRow - - - - - Time Zone Offset in milliseconds - See RadScheduler.TimeZoneOffset - - - - - Limit of visible appointments per day. A value of 0 means no limit. - - - - - Default implementation of ISchedulerInfo - - - - - See RadScheduler.VisibleRangeStart - - - - - - See RadScheduler.VisibleRangeEnd - - - - - - See RadScheduler.EnableDescriptionField - - - - - - See RadScheduler.MinutesPerRow - - - - - - Time Zone Offset in milliseconds - See RadScheduler.TimeZoneOffset - - - - - - Limit of visible appointments per day. A value of 0 means no limit. - - - - - - Represents the appointment data for an appointment such as Start, End, Subject, Description, etc. - - - - - Copies from. - - The SRC appointment. - - - - Copies to. - - The dest appointment. - - - - Gets or sets the ID. - - The ID. - - - - Gets or sets the encoded ID. - - The encoded ID. - - - - Gets or sets the start. - - The start. - - - - Gets or sets the end. - - The end. - - - - Gets or sets the subject. - - The subject. - - - - Gets or sets the description. - - The description. - - - - Gets or sets the state of the recurrence. - - The state of the recurrence. - - - - Gets or sets the recurrence parent ID. - - The recurrence parent ID. - - - - Gets or sets the encoded RecurrenceParentID. - - The encoded RecurrenceParentID. - - - - Gets or sets the recurrence rule. - - The recurrence rule. - - - - Gets or sets the visible. - - The visible. - - - - Gets or sets the time zone ID. - - The time zone ID. - - - - Gets or sets the resources. - - The resources. - - - - Gets or sets the attributes. - - The attributes. - - - - Gets or sets the reminders. - - The reminders. - - - - The WebServiceAppointmentController provides a facade over a object - and is used to call your provider from web services. - - - - - Instantiates a new based on the default provider configured - in web.config. - - - If there is no provider configured in the web.config file a will be thrown. - - - - - Instantiates a new by using the specified provider name. - - The name of the provider configured in web.config - - - - Instantiates a new based on the supplied - - The provider which will be used - - - XmlSchedulerProvider provider = new XmlSchedulerProvider(Server.MapPath("~/App_Data/data.xml"), true); - WebServiceAppointmentController controller = new WebServiceAppointmentController(provider); - - - Dim provider As New XmlSchedulerProvider(Server.MapPath("~/App_Data/data.xml"), True) - Dim controller As New WebServiceAppointmentController(provider) - - - - - - Gets the appointments corresponding to specified time period - - Contains the current time period - - - [WebMethod] - public IEnumerable<AppointmentData> GetAppointments(SchedulerInfo schedulerInfo) - { - return Controller.GetAppointments(schedulerInfo); - } - - - <WebMethod> _ - Public Function GetAppointments(schedulerInfo As SchedulerInfo) As IEnumerable(Of AppointmentData) - Return Controller.GetAppointments(schedulerInfo) - End Function - - - - - - Gets the appointments. - - The scheduler info. - - - - - Inserts the specified appointment and returns the available appointments. - - A object which contains the current time period. - A object which contains the appointment properties. - - - [WebMethod] - public IEnumerable<AppointmentData> InsertAppointment(SchedulerInfo schedulerInfo, AppointmentData appointmentData) - { - return Controller.InsertAppointment(schedulerInfo, appointmentData); - } - - - <WebMethod> _ - Public Function InsertAppointment(schedulerInfo As SchedulerInfo, appointmentData As AppointmentData) As IEnumerable(Of AppointmentData) - Return Controller.InsertAppointment(schedulerInfo, appointmentData) - End Function - - - - - - Inserts the appointment. - - The scheduler info. - The appointment data. - - - - - Updates the specified appointment and returns the available appointments. - - A object which contains the current time period. - A object which contains the appointment properties. - - - [WebMethod] - public IEnumerable<AppointmentData> UpdateAppointment(SchedulerInfo schedulerInfo, AppointmentData appointmentData) - { - return Controller.UpdateAppointment(schedulerInfo, appointmentData); - } - - - <WebMethod> _ - Public Function UpdateAppointment(schedulerInfo As SchedulerInfo, appointmentData As AppointmentData) As IEnumerable(Of AppointmentData) - Return Controller.UpdateAppointment(schedulerInfo, appointmentData) - End Function - - - - - - Updates the appointment. - - The scheduler info. - The appointment data. - - - - - Creates a recurrence exception with the specified appointment data and returns the available appointments. - - A object which contains the current time period. - A object which contains the exception properties. - - - [WebMethod] - public IEnumerable<AppointmentData> CreateRecurrenceException(SchedulerInfo schedulerInfo, AppointmentData recurrenceExceptionData) - { - return Controller.CreateRecurrenceException(schedulerInfo, recurrenceExceptionData); - } - - - <WebMethod> _ - Public Function CreateRecurrenceException(schedulerInfo As SchedulerInfo, recurrenceExceptionData As AppointmentData) As IEnumerable(Of AppointmentData) - Return Controller.CreateRecurrenceException(schedulerInfo, recurrenceExceptionData) - End Function - - - - - - Creates the recurrence exception. - - The scheduler info. - The recurrence exception data. - - - - - Removes all recurrence exceptions of the specified recurrence master and returns the available appointments. - - A object which contains the current time period. - A object which is the recurrence master. - - - [WebMethod] - public IEnumerable<AppointmentData> RemoveRecurrenceExceptions(SchedulerInfo schedulerInfo, AppointmentData masterAppointmentData) - { - return Controller.RemoveRecurrenceExceptions(schedulerInfo, masterAppointmentData); - } - - - <WebMethod> _ - Public Function RemoveRecurrenceExceptions(schedulerInfo As SchedulerInfo, masterAppointmentData As AppointmentData) As IEnumerable(Of AppointmentData) - Return Controller.RemoveRecurrenceExceptions(schedulerInfo, masterAppointmentData) - End Function - - - - - - Removes the recurrence exceptions. - - The scheduler info. - The master appointment data. - - - - - Returns the resources of all appointments within the specified time period. - - The time period - - - - Gets the resources. - - The scheduler info. - - - - - Deletes the specified appointment and returns the available appointments. - - A object which contains the current time period. - A which represents the apointment that shoud be deleted. - Specified wether to delete the recurring series if the specified appointment is recurrence master. - - - [WebMethod] - public IEnumerable<AppointmentData> DeleteAppointment(SchedulerInfo schedulerInfo, AppointmentData appointmentData, bool deleteSeries) - { - return Controller.DeleteAppointment(schedulerInfo, masterAppointmentData, deleteSeries); - } - - - <WebMethod> _ - Public Function DeleteAppointment(schedulerInfo As SchedulerInfo, appointmentData As AppointmentData, deleteSeries As Bool) As IEnumerable(Of AppointmentData) - Return Controller.DeleteAppointment(schedulerInfo, masterAppointmentData, deleteSeries) - End Function - - - - - - Deletes the appointment. - - The scheduler info. - The appointment data. - The delete series. - - - - - Performs application-defined tasks associated with freeing, releasing, - or resetting unmanaged resources. - - - - - A factory for appointment instances. - - - - The default factory returns instances of the - Appointment class. - - - WebServiceAppointmentController needs to create appointment instances - before passing them to the provider. You can use custom appointment - classes by implementing an IAppointmentFactory and setting this property. - - - - - - Gets or sets the comparer instance used to determine the appointment ordering within the same slot. - By default, appointments are ordered by start time and duration. - - - You need to implement an appointment comparer only if you've overriden - the client-side Telerik.Web.UI.Appointment.prototype.compare(appointment) function. - In this case both the server-side and client-side implementation must work in the same manner. - - - - - - - - - This Class gets and sets the AdvancedForm Settings. - - - - - Gets or sets a value indicating whether the user can use the advanced insert/edit form. - - true if the user should be able to use the advanced insert/edit form; false otherwise. The default value is true. - - - - Gets or sets a value indicating whether advanced form is displayed as a modal dialog. - - - true if the advanced form is displayed as a modal dialog; - false if the advanced form replaces the scheduler content. - The default value is false. - - - - - Gets or sets a value indicating the z-index of the modal dialog. - - - An integer value that specifies the desired z-index. - The default value is 2500. - - - Use this property to position the form over elements with higher z-index - than the modal form. - - - - - Gets or sets a value that indicates whether the resource editing in the advanced form is enabled. - - A value that indicates whether the resource editing in the advanced form is enabled. - - - - Gets or sets a value that controls whether one can chose custom time zone for appointment, i.e. - different from the one RadScheduler is operating in." - - A value that indicates whether one can chose custom time zone for appointment, - i.e. different from the one RadScheduler is operating in." - - - - Gets or sets a value that indicates whether the attribute editing in the advanced form is enabled. - - A value that indicates whether the attribute editing in the advanced form is enabled. - - - - Gets or sets the edit form date format string. - - - The default value of this property is inferred from the - Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern - property. - - The edit form date format string. - - - - Gets or sets the edit form time format string. - - - The default value of this property is inferred from the - Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern - property. - - The edit form time format string. - - - - Gets or sets the maximum height of the modal advanced form. - - The maximum height of the modal advanced form. - - - - Gets or sets the width of the modal advanced form. - - The width of the modal advanced form - - - - This Class defines the ContextMenuSettings object that inherits ObjectWithState. - - - - - Gets or sets a value indicating whether to use the integrated context menu. - - true if the intergrated menu is enabled; otherwise, false. - - - Gets or sets the skin name for the context menu. - A string indicating the skin name for the context menu. The default is "Default". - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - - Gets or sets the value, indicating whether to render script references to the embedded scripts or not. - - - - If EnableEmbeddedScripts is set to false you will have to register the needed Scripts files by hand. - - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - This Class defines the SchedulerResourceContainer. - - - - - Gets or sets the resource. - - The resource. - - - - Gets or sets the template. - - The template. - - - - Provides data for the event of the control. - - - - - Gets the recurrence exception appointment that is about to be created. - - The recurrence exception appointment that is about to be created. - - - - Gets the master appointment to which the recurrence exception is about to be attached. - - The master appointment to which the recurrence exception is about to be attached. - - - - Gets the occurrence appointment that is about to be overriden by the recurrence exception. - - The occurrence appointment that is about to be overriden by the recurrence exception. - - - - Provides data for the event of the control. - - - - - Gets the time slot. - - The time slot. - - - - This Class defines the RemoveRecurrenceExcseptionsContext. - - - - - This Class creates the recurrence Exception Context object. - - - - - The date of the recurrence exception that is being created by - the current Insert / Update operation pair. - - - - - Gets or sets the parent appointment. - - The parent appointment. - - - - THis Class updates the AppointmentContext. - - - - - A reference to the original appointment during an Update operation. - - - - - For internal use only. - - - - - - - Gets the old resource. - - The old resource. - - - - Gets the new resource. - - The new resource. - - - - For internal use only. - - - - - - - Gets or sets the scroll top. - - The scroll top. - - - - Gets or sets the scroll left. - - The scroll left. - - - - Gets or sets the is dirty. - - The is dirty. - - - - For internal use only. - - - - - - Represents settings for RadScheduler's multi-day view. - - - Represents settings for RadScheduler's week view. - - - - This abstract class defines the Bas eMultiDayView Settings. - - - - - This Class defines the GroupableViewSettings of RadScheduler. - - - - - This abstract class gets and sets the ViewSettings. - - - - - Gets or sets a value indicating whether the view is in read-only mode. - - - true if view should be read-only; false otherwise. The default value is false. - - - By default the user is able to insert, edit and delete appointments. Use the ReadOnly to disable the editing capabilities of RadScheduler. - - - - - Gets or sets a value indicating whether to render date headers for the current view. - - true if the date headers for the current view are rendered; otherwise, false. - - - - Gets or sets a value indicating whether to render a tab for the current view in the view chooser. - - true if a tab for the current view in the view chooser is rendered; otherwise, false. - - - - Gets or sets the resource to group by. - - The resource to group by. - - - - Gets or sets the resource grouping direction. - - - - - Gets or sets a value indicating whether to render resource headers for the current view. - - true if the resource headers for the current view are rendered; otherwise, false. - - - - Gets or sets the header date format. - - The header date format. - - - - Gets or sets the time used to denote the start of the day. - - - The time used to denote the start of the day. - - - - - Gets or sets the time used to denote the end of the day. - - - The time used to denote the end of the day. - - - - - Gets or sets the time used to denote the start of the work day. - - - The time used to denote the start of the work day. - - - The effect from this property is only visual. - - - - - Gets or sets the time used to denote the end of the work day. - - - The time used to denote the end of the work day. - - - The effect from this property is only visual. - - - - - Gets or sets a value indicating whether to render the hours column in day and week view. - - true if the hours column is rendered in day and week view; otherwise, false. - - - - Gets or sets a value indicating whether to render indicator for appointments - that are not visible when displaying only working hours, but will become visible when - displaying the full day. - - - true if the indicator for hidden appointments should be rendered; otherwise, false. - The default value is true. - - - - - Gets or sets a boolean value that specifies whether to - show an empty area at the end of each AllDay time slot that can - be used to insert appointments. - - - true, insert are should be shown; false otherwise. - The default value is true - - - - The insert area is not visible if the scheduler is in read-only mode or - AllowInsert is false. - - - If all time slots are full and this property is set to false, - the user will not be able to insert appointments. - - - - - - Gets or sets a boolean value that specifies whether to - show an empty area at the end of each time slot that can - be used to insert appointments. - - - true, insert are should be shown; false otherwise. - The default value is true - - - - The insert area is not visible if the scheduler is in read-only mode or - AllowInsert is false. - - - - - - Gets or sets a value indicating whether the appointment start and end time should be rendered exactly. - - - true if the appointment start and end time should be rendered exactly; - false if the appointment start and end time should be snapped to the row boundaries. - The default value is false. - - - - - - - - - Gets or sets the week header date format string. - - The week header date format string. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the week column header date format string. - - The week column header date format string. - - For additional information, please read this - MSDN article. - - - - - - - - - Gets or sets the mult-day header date format string. - - The multi-day header date format string. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the multi-day header column date format string. - - The multi-day column header date format string. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the number of visible days in multi-day view. - - The number of days. - - - - Gets or sets a value indicating whether to render a tab for the current view in the view chooser. - - true if a tab for the current view in the view chooser is rendered; otherwise, false. - - - Represents settings for RadScheduler's day view. - - - - - - - - Gets or sets the day header date format string. - - The day header date format string. - - For additional information, please read this - MSDN article. - - - - - Not applicable in day view. - - - - Represents settings for RadScheduler's Month view. - - - - - - - - Gets or sets the RadScheduler's header date format string in Month View. - - The RadScheduler's header date format string in Month View. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the column header date format string in Month View. - - The column header date format string in Month View. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the day header date format string in Month View. - - The day header date format string in Month View. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the first day of month header date format in Month View. - - The first day of month header date format in Month View. - - For additional information, please read this - MSDN article. - - - - - Gets or sets a value indicating the number of visible appointments per day in month view. - - - A number specifying the number of visible appointments per day. The default value is 2. - - - A link button navigating to the specific date will be rendered when - the number of appointments exceeds this value. - - - - - Gets or sets a value indicating whether the height of each row - should be adjusted to match the height of its content. - - - true if the height of each row should be adjusted to match the height of its content; - false if all rows should be with the same height. - The default value is false. - - - By default, all rows are rendered with the same height. - This property allows you to change this behaviour. - - - - - Gets or sets a value indicating the minimum row height in month view. - - - A number specifying the the minimum row height. The default value is 4. - - - This property is ignored when AdaptiveRowHeight - is set to true. - - - - - Specifies resource grouping direction in RadScheduler. - - - - Represents settings for the time line view. - - - - - - - - The starting time of the Timeline view. - - - - - The number of slots to display in timeline view. - - - - - The duration of each slot in timeline view. - - - - - Gets or sets the Timeline view header date format string. - - The Timeline view header date format string. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the timeline column header date format string. - - The timeline column header date format string. - - For additional information, please read this - MSDN article. - - - - - Gets or sets the number of rows/columns each time label spans. - - - The number of rows/columns each time label spans. - The default value is 1 - - - - - Gets or sets a value that specifies the sorting mode to use when rendering the appointments. - - - AppointmentSortingMode.PerSlot, appointments are sorted individually for each slot; - AppointmentSortingMode.Global appointments are sorted as a single list. - The default value is AppointmentSortingMode.PerSlot - - - - - Gets or sets a boolean value that specifies whether to - show an empty area at the end of each time slot that can - be used to insert appointments. - - - true, insert are should be shown; false otherwise. - The default value is true - - - - The insert area is not visible if the scheduler is in read-only mode or - AllowInsert is false. - - - If all time slots are full and this property is set to false, - the user will not be able to insert appointments. - - - - - - Gets or sets a value indicating whether the appointment start and end time should be rendered exactly. - - - true if the appointment start and end time should be rendered exactly; - false if the appointment start and end time should be snapped to the row boundaries. - The default value is false. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Creates default recurrence rule for newly created recurring appointments. - - - - - For internal use only. - - - - - - - Synchronize the height of all cells in the table. - - - - - Adds padding to the table cells, so they are at least hight. - - - - - Sycnhronize the height of the cells in the specified row. - - - - - Synchronizes the row heights of two tables with identical dimensions. - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - This interface defines the ISchedulerTimeSlot model. - - - - - A list of the appointments that start in this time slot. - - - - - The control that represents this time slot. - - - - - The start time of the time slot. - - - - - The end time of the time slot. - - - - - The duration of the time slot. - - - - - The unique index of the time slot. - - - - - - - - - An optional CSS class name that will be rendered for the time slot. - - - - - The resource associated with the time slot. - - The resource associated with the time slot in grouped views, otherwise null. - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Base class for CDN Related settings - - - - - Gets or sets a value indicating whether to use the Telerik CDN network to load control scripts. - - - TelerikCdnMode.Disabled if the scripts should be loaded from the assembly or registered manually; - TelerikCdnMode.Enabled if the Telerik CDN should be used. - TelerikCdnMode.Auto value is determined from ScriptManager.EnableCdn for .NET 4.0; For earlier versions of ASP.NET the value is set to Disabled. - - - - By default the Telerik CDN is not used. If you enable it the scripts will be loaded from the Telerik CDN. - - - - The Telerik CDN is hosted on Amazon CloudFront. This is a global content delivery service with edge - locations in US, Europe and Asia. It automatically routes requests to the nearest location, - so content is delivered with the best possible performance. - - - - The Telerik CDN uses the following host names: - - - - - Host name (HTTP) - Served content - - - aspnet-scripts.telerikstatic.com - Telerik ASP.NET controls scripts - - - aspnet-skins.telerikstatic.com - Telerik ASP.NET controls skins and images - - - - - - Host name (HTTPS) - Served content - - - https://d2i2wahzwrm1n5.cloudfront.net - Telerik ASP.NET controls scripts - - - https://d35islomi5rx1v.cloudfront.net - Telerik ASP.NET controls skins and images - - - - - RadScriptManager only manages the control scripts. - See RadStyleSheetManager for enabling CDN support for the control skins. - - - - You can globally configure CDN-related settings from web.config by using the following application settings: - - - - - Application setting - Maps to - - - Telerik.ScriptManager.TelerikCdn - RadScriptManager.CdnSettings.TelerikCdn - - - Telerik.ScriptManager.TelerikCdn.BaseUrl - RadScriptManager.CdnSettings.BaseUrl - - - Telerik.ScriptManager.TelerikCdn.BaseSecureUrl - RadScriptManager.CdnSettings.BaseSecureUrl - - - - - For example: - - - - <appSettings><br /> - <add key="Telerik.ScriptManager.TelerikCdn" value="Enabled" /><br /> - <add key="Telerik.ScriptManager.TelerikCdn.BaseUrl" value="http://myserver" /><br /> - <add key="Telerik.ScriptManager.TelerikCdn.BaseSecureUrl" value="https://myserver" /><br /> - </appSettings><br /> - - - - Note: - Ensure that your customers have unlimited access to the telerikstatic.com domain before turning on this feature. - - - - - - Gets or sets the base URL of the CDN that hosts the control scripts. - - - The base URL of the CDN for HTTP connections. The default value is http://aspnet-scripts.telerikstatic.com - - - - In order to obtain the URL for a specific resource, RadScriptManager will combine the - base URL with the suite name (ajax) and the current version. - For example: http://aspnet-scripts.telerikstatic.com/ajax/2009.3.1207/Common/Core.js - - - - If the browser supports it, the RadScriptManager will serve a gzip compressed version from the "ajaxz" folder. - - - See TelerikCdn for detailed description of the Telerik CDN network. - - - - - Gets or sets the base secure (HTTPS) URL of the CDN that hosts the control scripts. - - - The base secure (HTTPS) URL of the CDN for HTTP connections. The default value is https://d2i2wahzwrm1n5.cloudfront.net - - - - The BaseSecureUrl will be used when the page is served over a secure connection. - - - - In order to obtain the URL for a specific resource, RadScriptManager will combine the - base URL with the suite name (ajax) and the current version. - For example: https://d2i2wahzwrm1n5.cloudfront.net/ajax/2009.3.1207/Common/Core.js - - - - If the browser supports it, the RadScriptManager will serve a gzip compressed version from the "ajaxz" folder. - - - See TelerikCdn for detailed description of the Telerik CDN network. - - - - - Enumeration of the possible modes for the Telerik CDN. - - - - - The Telerik static resources are served from a CDN - - - - - The Telerik static resources are served locally - - - - - Value is determined from ScriptManager.EnableCdn for .NET 4.0; - For earlier versions of ASP.NET the value is set to Disabled - - - - - RadStyleSheetManager CDN settings - - - - - Gets or sets a value indicating whether to use the Telerik CDN network to load control skins. - - - TelerikCdnMode.Disabled if the skins should be loaded from the assembly or registered manually; - TelerikCdnMode.Enabled if the Telerik CDN should be used. - TelerikCdnMode.Auto value is determined from ScriptManager.EnableCdn for .NET 4.0; For earlier versions of ASP.NET the value is set to Disabled. - - - - By default the Telerik CDN is not used. If you enable it the skins will be loaded from the Telerik CDN. - - - - The Telerik CDN is hosted on Amazon CloudFront. This is a global content delivery service with edge - locations in US, Europe and Asia. It automatically routes requests to the nearest location, - so content is delivered with the best possible performance. - - - - The Telerik CDN uses the following host names: - - - - - Host name (HTTP) - Served content - - - aspnet-scripts.telerikstatic.com - Telerik ASP.NET controls scripts - - - aspnet-skins.telerikstatic.com - Telerik ASP.NET controls skins and images - - - - - - Host name (HTTPS) - Served content - - - https://d2i2wahzwrm1n5.cloudfront.net - Telerik ASP.NET controls scripts - - - https://d35islomi5rx1v.cloudfront.net - Telerik ASP.NET controls skins and images - - - - - RadStyleSheetManager only manages the control skins. - See RadScriptManager for enabling CDN support for the control scripts. - - - - You can globally configure CDN-related settings from web.config by using the following application settings: - - - - - Application setting - Maps to - - - Telerik.StyleSheetManager.TelerikCdn - StyleSheetManager.CdnSettings.TelerikCdn - - - Telerik.StyleSheetManager.TelerikCdn.BaseUrl - StyleSheetManager.CdnSettings.BaseUrl - - - Telerik.StyleSheetManager.TelerikCdn.BaseSecureUrl - StyleSheetManager.CdnSettings.BaseSecureUrl - - - - - For example: - - - - <appSettings><br /> - <add key="Telerik.StyleSheetManager.TelerikCdn" value="Enabled" /><br /> - <add key="Telerik.StyleSheetManager.TelerikCdn.BaseUrl" value="http://myserver" /><br /> - <add key="Telerik.StyleSheetManager.TelerikCdn.BaseSecureUrl" value="https://myserver" /><br /> - </appSettings><br /> - - - - Note: - Ensure that your customers have unlimited access to the telerikstatic.com domain before turning on this feature. - - - - - - Gets or sets the base URL of the CDN that hosts the control skins. - - - The base URL of the CDN for HTTP connections. The default value is http://aspnet-skins.telerikstatic.com - - - - In order to obtain the URL for a specific resource, RadStyleSheetManager will combine the - base URL with the suite name (ajax) and the current version. - For example: http://aspnet-skins.telerikstatic.com/ajax/2009.3.1207/Default/Menu.Default.css - - - - If the browser supports it, the RadScriptManager will serve a gzip compressed version from the "ajaxz" folder. - - - See TelerikCdn for detailed description of the Telerik CDN network. - - - - - Gets or sets the base secure (HTTPS) URL of the CDN that hosts the control skins. - - - The base secure (HTTPS) URL of the CDN for HTTP connections. The default value is https://d35islomi5rx1v.cloudfront.net - - - - The BaseSecureUrl will be used when the page is served over a secure connection. - - - - In order to obtain the URL for a specific resource, RadStyleSheetManager will combine the - base URL with the suite name (ajax) and the current version. - For example: https://d35islomi5rx1v.cloudfront.net/ajax/2009.3.1207/Default/Menu.Default.css - - - - If the browser supports it, the RadStyleSheetManager will serve a gzip compressed version from the "ajaxz" folder. - - - See TelerikCdn for detailed description of the Telerik CDN network. - - - - - Defines the output compression mode of the Telerik.Web.UI.WebResource.axd handler. - - - - - The compression is disabled (raw content is output to the browser). - - - - - Compression is identified by the browser and its version. - - - - - Output is always compressed. - - - - - Specialized class for the RadSiteMap.DefaultLevelSettings. - Removes the Level property from the property grid and IntelliSense. - - - - - This Class defines the SiteMapLevelSetting. - - - - - Gets or sets the level to which a given LevelSetting refer/ - - - The Level property serves for explicitly setting the level to which a given - LevelSetting refer. - - - - - Gets or sets the layout mode that is applied to a given LevelSetting. By default is set to List - - - - levelSetting.LayoutMode = SiteMapLayout.List; - levelSetting.LayoutMode = SiteMapLayout.Flow; - - - levelSetting.LayoutMode = SiteMapLayout.List - levelSetting.LayoutMode = SiteMapLayout.Flow - - - - - - Gets or sets the maximum nodes that are allowed for a given level. - - - Use the MaximumNodes property to explicitly state how many nodes should be rendered - for a given level. - - Redundant nodes are sliced. If MaximumNodes is set to a value larger - than the nodes count, all of the nodes will be rendered. - - - - - - Gets or sets the width of the specified level. - - - A Unit specifying width of the specified level. The - default value is Unit.Empty. - - - - - Gets or sets the separator text that is going to be used to separate - nodes in Flow layout mode. - - - A string value that is used to separate nodes when the LevelSetting layout mode is set to Flow. - - - - - Gets the Specific settings for the List layout mode. - - The list layout. - - - - Gets or sets the URL to an image which is displayed next to all the nodes of a given level - - - The URL to the image to display for all the nodes of a given level. The default value is empty - string which means by default no image is displayed. - - - Use the ImageUrl property to specify a custom image that will be - displayed before the text of the current node. - - - - Gets or sets the template for displaying the nodes on the specified level. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - To specify template for a single node use the property of - the control. - - - - The following template demonstrates how to add an Image control in certain - node. - ASPX: - - <telerik: RadSiteMap runat="server" ID="RadSiteMap1"> - <DefaultLevelSettings> - <NodeTemplate> - <asp:Image ID="Image1" runat="server" ImageUrl="MyImage.gif"></asp:Image> - </NodeTemplate> - </DefaultLevelSettings> - </telerik:RadSiteMap> - - - - - Gets or sets the separator template for nodes on the specified level. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - To specify separator template for a single node use the property of - the control. - - - The separator is rendered only in Flow mode. - - - - The following template demonstrates how to add custom separator to a certain node. - ASPX: - - <telerik: RadSiteMap runat="server" ID="RadSiteMap1"> - <DefaultLevelSettings> - <SeparatorTemplate> - <asp:Image ID="Image1" runat="server" ImageUrl="MySeparator.gif"></asp:Image> - </SeparatorTemplate> - </DefaultLevelSettings> - </telerik:RadSiteMap> - - - - - - Not applicable to DefaultSiteMapLevelSetting - - - - - Specifies the layout mode of RadSiteMap nodes. - - - - - Nodes are rendered as a list in one or more columns. - - - - - Nodes are rendered horizontally to fill the available width. Nodes automatically wrap. - - - - - Specifies the repeat direction of RadSiteMap columns. - - - - - Nodes are displayed vertically in columns from top to bottom, - and then left to right, until all nodes are rendered. - - - - - Nodes are displayed horizontally in rows from left to right, - then top to bottom, until all nodes are rendered. - - - - - This Class defines RadSiteMapDataSource. - - - - - Gets or sets the relative path to the .sitemap file from which to load SiteMap data. - - The site map file. - - - - This Class defines the SiteMapLevelSetting Collection that inherits StronglyTypedStateManagedCollection. - - - - - Gets the level setting. - - The level. - - - - Represents a node in the RadSiteMap control. - - - The RadSiteMap control is made up of nodes. Nodes which are immediate children - of the control are root nodes. Nodes which are children of other nodes are child nodes. - - - A node usually stores data in two properties, the Text property and - the NavigateUrl property. - - To create nodes, use one of the following methods: - - - Data bind the RadSiteMap control to a data source, - for example SiteMapDataSource. - - - Use declarative syntax to define nodes inline in your page or user control. - - - Use one of the constructors to dynamically create new instances of the - RadSiteMap class. These nodes can then be added to the - Nodes collection of another node or site map. - - - - When the user clicks a node, the RadSiteMap control navigates - to the linked Web page. By default, a linked page - is displayed in the same window or frame. To display the linked content in a different - window or frame, use the Target property. - - - - This Class defines the RadSiteMapNode. - - - - Initializes a new instance of the RadSiteMapNode class. - - Use this constructor to create and initialize a new instance of the - RadSiteMapNode class using default values. - - - The following example demonstrates how to add node to - RadSiteMap controls. - - RadSiteMapNode node = new RadSiteMapNode(); - node.Text = "News"; - node.NavigateUrl = "~/News.aspx"; - - RadSiteMap1.Nodes.Add(node); - - - Dim node As New RadSiteMapNode() - node.Text = "News" - node.NavigateUrl = "~/News.aspx" - - RadSiteMap1.Nodes.Add(node) - - - - - - Initializes a new instance of the RadSiteMapNode class with the - specified text, value and URL. - - - Use this constructor to create and initialize a new instance of the - RadSiteMapNode class using the specified text, value and URL. - - - This example demonstrates how to add nodes to RadSiteMap - control. - - RadSiteMapNode node = new RadSiteMapNode("News", "~/News.aspx"); - - RadSiteMap1.Nodes.Add(node); - - - Dim node As New RadSiteMapNode("News", "~/News.aspx") - - RadSiteMap1.Nodes.Add(node) - - - - The text of the node. The Text property is set to the value - of this parameter. - - - The url which the node will navigate to. The - NavigateUrl property is set to the value of this - parameter. - - - - - Removes the node from the Nodes collection of its parent - - - The following example demonstrates how to remove a node. - - RadSiteMapNode node = RadSiteMap1.Nodes[0]; - node.Remove(); - - - Dim node As RadSiteMapNode = RadSiteMap1.Nodes(0) - node.Remove() - - - - - - Renders the HTML closing tag of the control into the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Gets or sets the text displayed for the current node. - - - The text displayed for the node in the RadSiteMap control. The default is empty string. - - - Use the Text property to specify or determine the text that is displayed for the node - in the RadSiteMap control. - - - - - Gets or sets the URL to navigate to when the current node is clicked. - - - The URL to navigate to when the node is clicked. The default value is empty string which means that - clicking the current node will not navigate. - - - - - Gets or sets the target window or frame in which to display the Web page content associated with the current node. - - - The target window or frame to load the Web page linked to when the node is - clicked. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without frames. - - - _parent - Renders the content in the immediate frameset parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without frames. - - - - The default value is empty string which means the linked resource will be loaded in the current window. - - - - Use the Target property to target window or frame in which to display the - Web page content associated with the current node. The Web page is specified by - the NavigateUrl property. - - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The Target property is taken into consideration only when the NavigateUrl - property is set. - - - - The following example demonstrates how to use the Target property - - - <telerik:RadSiteMap id="RadSiteMap1" runat="server">
- <Nodes>
- <telerik:RadSiteMapNode Text="News" NavigateUrl="~/News.aspx" - Target="_self" />
- <telerik:RadSiteMapNode Text="External URL" NavigateUrl="http://www.example.com" - Target="_blank" />
- </Nodes>
- </telerik:RadSiteMap>
-
-
-
- - - Gets or sets custom (user-defined) data associated with the current node. - - - A string representing the user-defined data. The default value is emptry string. - - - Use the Value property to associate custom data with a RadSiteMap object. - - - - - Gets or sets the tooltip shown for the node when the user hovers it with the mouse - - - A string representing the tooltip. The default value is empty string. - - - The ToolTip property is also used as the alt attribute of the node image (in case is set) - - - - - Gets or sets a value indicating whether the node is enabled. - - - true if the node is enabled; otherwise false. The default value is true. - - - Disabled nodes cannot be clicked, or expanded. - - - - Gets the data item that is bound to the node - - An Object that represents the data item that is bound to the node. The default value is null (Nothing in Visual Basic), - which indicates that the node is not bound to any data item. The return value will always be null unless accessed within - a NodeDataBound event handler. - - - This property is applicable only during data binding. Use it along with the - NodeDataBound event to perform additional - mapping of fields from the data item to RadSiteMapNode properties. - - - The following example demonstrates how to map fields from the data item to - RadSiteMapNode properties. It assumes the user has subscribed to the - NodeDataBound event. - - private void RadSiteMap1_NodeDataBound(object sender, Telerik.Web.UI.RadSiteMapNodeEventArgs e) - { - e.Node.ImageUrl = "image" + (string)DataBinder.Eval(e.Node.DataItem, "ID") + ".gif"; - e.Node.NavigateUrl = (string)DataBinder.Eval(e.Node.DataItem, "URL"); - } - - - Sub RadSiteMap1_NodeDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadSiteMapNodeEventArgs ) Handles RadSiteMap1.NodeDataBound - e.Node.ImageUrl = "image" & DataBinder.Eval(e.Node.DataItem, "ID") & ".gif" - e.Node.NavigateUrl = CStr(DataBinder.Eval(e.Node.DataItem, "URL")) - End Sub - - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied by default to the node. - - - By default the visual appearance of hovered nodes is defined in the skin CSS - file. You can use the CssClass property to specify unique - appearance for the node. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the node when the mouse hovers it. - - - By default the visual appearance of hovered nodes is defined in the skin CSS - file. You can use the HoveredCssClass property to specify unique - appearance for a node when it is hoevered. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the node when it is disabled. - - - By default the visual appearance of disabled nodes is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for a node when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when node is - selected. - - - By default the visual appearance of selected nodes is defined in the skin CSS - file. You can use the SelectedCssClass property to specify unique - appearance for a node when it is selected. - - - - - Gets or sets the URL to an image which is displayed next to the text of a node. - - - The URL to the image to display for the node. The default value is empty - string which means by default no image is displayed. - - - Use the ImageUrl property to specify a custom image that will be - displayed before the text of the current node. - - - - The following example demonstrates how to specify the image to display for - the node using the ImageUrl property. - - - <telerik:RadSiteMap id="RadSiteMap1" runat="server">
- <Nodes>
- <telerik:RadSiteMapNodeImageUrl="~/Img/inbox.gif" - Text="Index"></telerik:RadSiteMapNode>
- <telerik:RadSiteMapNodeImageUrl="~/Img/outbox.gif" - Text="Outbox"></telerik:RadSiteMapNode>
- <telerik:RadSiteMapNodeImageUrl="~/Img/trash.gif" - Text="Trash"></telerik:RadSiteMapNode>
- <telerik:RadSiteMapNodeImageUrl="~/Img/meetings.gif" - Text="Meetings"></telerik:RadSiteMapNode>
- </Nodes>
- </telerik:RadSiteMap> -
-
-
- - - Gets or sets a value specifying the URL of the image rendered when the node is hovered with the mouse. - - - If the HoveredImageUrl property is not set the ImageUrl property will be - used when the node is hovered. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is disabled. - - - If the DisabledImageUrl property is not set the ImageUrl property will be - used when the node is disabled. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is selected. - - - If the SelectedImageUrl property is not set the ImageUrl property will be - used when the node is selected. - - - - - Gets the level of the node. - - - An integer representing the level of the node. Root nodes are level 0 (zero). - - - - - Gets a object that contains the child nodes of the current RadSiteMapNode. - - - A that contains the child nodes of the current RadSiteMapNode. By default - the collection is empty (the node has no children). - - - Use the Nodes property to access the child nodes of the RadSiteMapNode. You can also use the Nodes property to - manage the child nodes - you can add, remove or modify nodes. - - - The following example demonstrates how to programmatically modify the properties of a child node. - - RadSiteMapNode node = RadSiteMap1.FindNodeByText("Test"); - node.Nodes[0].Text = "Example"; - node.Nodes[0].NavigateUrl = "http://www.example.com"; - - - Dim node As RadSiteMapNode = RadSiteMap1.FindNodeByText("Test") - node.Nodes(0).Text = "Example" - node.Nodes(0).NavigateUrl = "http://www.example.com" - - - - - - Gets the parent IRadSiteMapNodeContainer. - - - - - - Gets the which this node belongs to. - - - The which this node belongs to; - null (Nothing) if the node is not added to any control. - - - - - Gets or sets a value indicating whether the node is selected. - - - True if the node is selected; otherwise false. The default value is - false. - - - Only one node can be selected. - - - - Gets or sets the template for displaying the node. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - To specify common display for all nodes use the - RadSiteMap.DefaultLevelSettings.NodeTemplate property. - - - - The following template demonstrates how to add an Image control in certain - node. - ASPX: - - <telerik: RadSiteMap runat="server" ID="RadSiteMap1"> - <Nodes> - <telerik:RadSiteMapNode Text="Root Node" > - <Nodes> - <telerik:RadSiteMapNode> - <NodeTemplate> - <asp:Image ID="Image1" runat="server" ImageUrl="MyImage.gif"></asp:Image> - </NodeTemplate> - </telerik:RadSiteMapNode> - </Nodes> - </telerik:RadSiteMapNode> - </Nodes> - </telerik:RadSiteMap> - - - - - Gets or sets the separator template for the node. - - - An object implementing the ITemplate interface. The default value is a null reference - (Nothing in Visual Basic), which indicates that this property is not set. - - - To specify common display for all nodes use the - RadSiteMap.DefaultLevelSettings.SeparatorTemplate property. - - - The separator is rendered only in Flow mode. - - - - The following template demonstrates how to add custom separator to a certain node. - ASPX: - - <telerik: RadSiteMap runat="server" ID="RadSiteMap1"> - <Nodes> - <telerik:RadSiteMapNode Text="Root Node" > - <Nodes> - <telerik:RadSiteMapNode> - <SeparatorTemplate> - <asp:Image ID="Image1" runat="server" ImageUrl="MySeparator.gif"></asp:Image> - </SeparatorTemplate> - </telerik:RadSiteMapNode> - </Nodes> - </telerik:RadSiteMapNode> - </Nodes> - </telerik:RadSiteMap> - - - - - - Gets the parent node of the current node. - - - The parent node. If the the node is a root node null (Nothing) is returned. - - - - - Represents the method that handles the and events. - of the control. - - - - - Provides data for the , events of the - control. - - - - - Initializes a new instance of the class. - - The referenced node. - - - - Gets or sets the referenced node in the control when the event is raised. - - The referenced node in the control when the event is raised. - - - - Defines the relationship between a data item and the RadSiteMap node it is binding to in a - RadSiteMapcontrol. - - - - - Gets the object at the specified index in - the current . - - - The zero-based index of the to retrieve. - - - The at the specified index in the - current . - - - - - Represents a collection of objects in a control. - - - - - Initializes a new instance of the class. - - The parent control. - - - - Appends a node to the collection. - - The node to add to the collection. - - - Appends the specified array of objects to the end of the - current . - - - The following example demonstrates how to use the AddRange method - to add multiple nodes in a single step. - - RadSiteMapNode[] nodes = new RadSiteMapNode[] { new RadSiteMapNode("First"), new RadSiteMapNode("Second"), new RadSiteMapNode("Third") }; - RadSiteMap1.Nodes.AddRange(nodes); - - - Dim nodes() As RadSiteMapNode = {New RadSiteMapNode("First"), New RadSiteMapNode("Second"), New RadSiteMapNode("Third")} - RadSiteMap1.Nodes.AddRange(nodes) - - - - The array of to append to the end of the current - . - - - - - Inserts a node to the collection at the specified index. - - The zero-based index at which should be inserted. - The node to insert into the collection. - - - - Removes the specified node from the collection. - - The node to remove from the collection. - - - - Searches all nodes for a RadSiteMapNode with a Text property - equal to the specified text. - - The text to search for - A RadSiteMapNode whose Text property equals to the specified argument. - Null (Nothing) is returned when no matching node is found. - This method is not recursive. - - - - Searches all nodes for a RadSiteMapNode with a Text property - equal to the specified text. - - The text to search for - A RadSiteMapNode whose Text property equals to the specified argument - Null (Nothing) is returned when no matching node is found. - This method is not recursive. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the first RadSiteMapNode - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindNode method. - - void Page_Load(object sender, EventArgs e) - { - RadSiteMap1.FindNode(NodeWithEqualsTextAndValue); - } - private static bool NodeWithEqualsTextAndValue(RadSiteMapNode node) - { - if (node.Text == node.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadSiteMap1.FindNode(NodeWithEqualsTextAndValue) - End Sub - Private Shared Function NodeWithEqualsTextAndValue(ByVal node As RadSiteMapNode) As Boolean - If node.Text = node.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <RadSiteMapNode> that defines the conditions of the element to search for. - - - - Gets or sets the at the specified index. - - - - - Represents the simple binding between the property value of an object and the property value of a - RadSiteMapNode. - - - - - Specifies the model to bind against in OData scenarios. The selected model is used - to the current depth (level) only. - - - - - Specifies the exact value of the DisabledCssClass property of the - RadSiteMapNode that will be created during the data binding. - - - - - Specifies the field, containing the DisabledCssClass property - value of the RadSiteMapNode that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledImageUrl property of the - RadSiteMapNode that will be created during the data binding. - - - - - Specifies the field, containing the DisabledImageUrl property - value of the RadSiteMapNode that will be created during - the data binding. - - - - - Specifies the exact value of the HoveredCssClass property of the - RadSiteMapNode that will be created during the data binding. - - - - - Specifies the field, containing the HoveredCssClass property - value of the RadSiteMapNode that will be created during - the data binding. - - - - - This Class gets or sets the settings in the SiteMapListLayout. - - - - - Gets or sets the number of columns to display on this level. - - - Specifies the number of columns which are displayed for a given level. For example, - if it set to 3, the nodes in the level are displayed in three columns. - - - - - Gets or sets whether the columns are repeated vertically or horizontally - - - When this property is set to Vertical, - nodes are displayed vertically in columns from top to bottom, - and then left to right, until all nodes are rendered. - - - When this property is set to Horizontal, - nodes are displayed horizontally in rows from left to right, - then top to bottom, until all nodes are rendered. - - - - - - Gets or sets the align rows. - - The align rows. - - - - This Class defines the SitemapProtocolExporter. - - - - - Gets the sitemaps. - - - - - - Adds the node. - - The URL. - - - - Gets or sets the sitemap node limit. - - The sitemap node limit. - - - - Gets or sets the sitemap byte limit. - - The sitemap byte limit. - - - - A control used to define a global skin for the RadControls on the page as well as granular settings for particular controls. - - - - - Applies a provided skin to a target control. - - The RadControl which will be skinned. - The string name of the skin. - - - - Applies the current skin on a target control. - - - - - - A static method used to return a reference to the RadSkinManager on the current page. - Usually used when the control needs to be used from an inner level of the page (user control, - content page, etc.) - - The current Page object. - A reference to the currently avaialble RadSkinManager. - - - - Gets a reference to the control representing - the skin chooser. - - The RadComboBox which shows the options for skins to apply. - - - - Gets or sets a value indicating whether Skin chooser should be rendered in run-time. - - - - - Gets or sets a value indicating whether skinning should be enabled or not. - - - - - "Specifies the skin that will be used by the control" - - - - - Specifies the persistance key that will be used by the control. - - - - - Specifies the skin manager persistance mode. - - - - - Gets a collection of TargetControl objects that allows for specifying the objects for which tooltips will be created on the client-side. - - - Gets a collection of TargetControl objects that allows for specifying the objects for which tooltips will be created on the client-side. - - - Use the TargetControls collection to programmatically control which objects should be tooltipified on the client-side. - - - - - Gets a collection of all skins references available in the control. - - - - - The arguments passed when - fires the SkinChanging event. - - - - - Gets or sets a boolean value indicating whether the skin changing will be cancelled. - - - - - Gets or sets a string value representing the skin which is going to be applied. - - - - - The arguments passed when - fires the SkinChanged event. - - - - - Gets a string value representing the skin that was just applied. - - - - - An enumeration containing the possible values for the persistence mode of - . - - - - - Represents an item that is part of the RadSlider control using items collection - - - RadSliderItem class. - - - - - The default contrustor. All properties are at default values. - - - - - Creates a slider item with the specified text. Value has default value. - - Text for the slider item - - - - Creates a slider item specifying both text and value. - - Text for the item - Value for the item - - - Gets or sets the text caption for the slider item. - The text of the item. The default value is empty string. - - Use the Text property to specify the text to display for the - item. - - - - Gets or sets the value for the slider item. - The value of the item. The default value is empty string. - - Use the Value property to specify the value - - - - - Gets the RadSlider instance which contains the current item. - - - - - Gets the RadSlider instance which contains the current item. - - - - Gets the selected state of the slider item. - - Use the Selected property to determine whether the item is selected or not. - - - - Gets or sets the tooltip of the slider item. - - - - A collection of RadSliderItem objects in a - RadSlider control. - - - The RadSliderItemCollection class represents a collection of - RadSliderItem objects. - - - Use the indexer to programmatically retrieve a - single RadSliderItem from the collection, using array notation. - - - Use the Count property to determine the total - number of slider items in the collection. - - - Use the Add method to add items in the collection. - - - Use the Remove method to remove items from the - collection. - - - - - - - - Initializes a new instance of the RadSliderItemCollection class. - - The owner of the collection. - - - - Appends the specified RadSliderItem object to the end of the current RadSliderItemCollection. - - - The RadSliderItem to append to the end of the current RadSliderItemCollection. - - - - - Finds the first RadSliderItem with Text that - matches the given text value. - - - The first RadSliderItem that matches the - specified text value. - - The string to search for. - - - - Finds the first RadSliderItem with Value that - matches the given value. - - - The first RadSliderItem that matches the - specified value. - - The value to search for. - - - - Searches the items in the collection for a RadSliderItem which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadSliderItem that matches the specified arguments. Null (Nothing) is returned if no node is found. - - - - Determines whether the specified RadSliderItem object is in the current - RadSliderItemCollection. - - - The RadSliderItem object to find. - - - true if the current collection contains the specified RadSliderItem object; - otherwise, false. - - - - Appends the specified array of RadSliderItem objects to the end of the - current RadSliderItemCollection. - - - The array of RadSliderItem to append to the end of the current - RadSliderItemCollection. - - - - - Determines the index of the specified RadSliderItem object in the collection. - - - The RadSliderItem to locate. - - - The zero-based index of item within the current RadSliderItemCollection, - if found; otherwise, -1. - - - - - Inserts the specified RadSliderItem object in the current - RadSliderItemCollection at the specified index location. - - The zero-based index location at which to insert the RadSliderItem. - The RadSliderItem to insert. - - - - Removes the specified RadSliderItem object from the current - RadSliderItemCollection. - - - The RadSliderItem object to remove. - - - - - Removes the specified RadSliderItem object from the current - RadSliderItemCollection. - - - The zero-based index of the index to remove. - - - - - Gets the RadSliderItem object at the specified index in - the current RadSliderItemCollection. - - - The zero-based index of the RadSliderItem to retrieve. - - - The RadSliderItem at the specified index in the - current RadSliderItemCollection. - - - - - - - - - Representation of the event arguments passed for RadSlider server-side events - - - - - The reference to the item, to which the event is related. - - - - - A JS converter implementation for RadSliderItem instances - - - - - - - - - - Serializes a RadSliderItem to a key/value pair collection - - An instance of RadSliderItem - The JS converter that handles the serialization. - RadSliderItem in a converted key/value pair colleciton format - - - - - - - - Telerik RadSpell - - - - - - - - - Gets the value that corresponds to this Web server control. This property is used primarily by control developers. - - - One of the enumeration values. - - - - Gets or sets the URL for the spell dialog handler - - the relative path for the spell dialog handler - - - - Gets or sets the location of a CSS file, that will be added in the dialog window. If you need to include - more than one file, use the CSS @import url(); rule to add the other files from the first. - This property is needed if you are using a custom skin. It allows you to include your custom skin - CSS in the dialogs, which are separate from the main page. - - - - - Gets or sets the location of a JavaScript file, that will be added in the dialog window. If you need to include - more than one file, you will need to combine the scripts into one first. - This property is needed if want to override some of the default functionality without loading the dialog - from an external ascx file. - - - - - Gets or sets an additional querystring appended to the dialog URL. - - A String, appended to the dialog URL - - - Gets or sets the value indicating whether the spell will allow adding custom words. - The default is true - - - - Gets or sets the URL which the AJAX call will be made to. Check the help for more information. - - - - Gets or sets the text of the button that will start the spellcheck. This property is localizable. - The default is Spell Check - - - Gets or sets the type of the button that will start the spellcheck. - The default is PushButton - - Values allowed: - PushButton/LinkButton/ImageButton/ - None. - Setting the value to None will not render a button. The only - way to start a spellcheck will be through the client-side API. - - - - Gets or sets the class of the client side text source object. - - A string containing the name of the JavaScript class. The - default is HtmlElementTextSource -- a built in implementation that obtains the - source from a HTML element. - - - The text source is a JavaScript object. It has to provide two methods: GetText() and SetText(newValue). - - - - <script type="text/javascript"> - function DifferentControlsSource() - { - this.GetText = function() - { - return document.getElementById('before').value; - } - - this.SetText = function(newValue) - { - document.getElementById('after').value = newValue; - } - } - </script> - - - - - - The ID of the control to check. - - - The ID can be both a server-side ID, or a client-side ID. RadSpell will find the - appropriate server control and use its ClientID to attach to it. - - - - - An array of IDs of the control to check. - - - The IDs can be server-side or client-side. RadSpell will find the - appropriate server control and use its ClientID to attach to it. - Note that you cannot mix server and client IDs in this list - use only one kind. - - - - - Gets or sets the fully qualified type name that will be used to store and read - the custom dictionary. - - - The type name must be fully qualified if the type is in a GAC-deployed assembly. - The type must implement the - ICustomDictionarySource - interface. - - - - spell1.CustomDictionarySourceTypeName = "RadSpellExtensions.CustomDictionarySource, RadSpellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b5e57ccb698eab8e"; - - - spell1.CustomDictionarySourceTypeName = "RadSpellExtensions.CustomDictionarySource, RadSpellExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b5e57ccb698eab8e" - - - - - Gets or sets the suffix for the custom dictionary files. - The default is -Custom - - The filenames are formed with the following scheme: Language + CustomDictionarySuffix + - ".txt". Different suffixes can be used to create different custom dictionaries for - different users. - - - - Gets or sets the assembly qualified name of the SpellDialog type. - The default is string.Empty - - - Gets or sets the virtual path of the UserControl that represents the SpellDialog. - The default is string.Empty - - - Gets or sets the dictionary language used for spellchecking. - The default is en-US - - The language name is used to find a corresponding dictionary file. Spellchecking in - en-US will work only if a file en-US.TDF can be found inside the folder pointed to - by DictionaryPath. - - - - Gets or sets the path for the dictionary files. - The default is ~/RadControls/Spell/TDF/ - - This is the path that contains the TDF files, and the custom dictionary TXT - files. - - - - - Gets or sets a the edit distance. If you increase the value, the checking speed - decreases but more suggestions are presented. Applicable only in EditDistance mode. - - The default is 1 - - This property takes effect only if the - SpellCheckProvider property is set to - EditDistanceProvider. - - - - - Configures the spellchecker engine, so that it knows whether to skip URL's, email - addresses, and filenames and not flag them as erros. - - - - - Gets or sets a value indicating whether whether the ControlToCheck - property provides a client element ID or a server side control ID. - - The default is false. - - When true RadSpell will look for the server-side control and get - its ClientID. When false the - ControlToCheck property will be interpreted as a - client-side ID and will be used to attach to the target control. - - - - Gets or sets the localization language for the user interface. - - The localization language for the user interface. The default value is - en-US. - - - - - Gets a value indicating if the target control has been spellchecked. - - - Spellchecking the entire text by the client would set the property to - true on postback. - - The property is used by the SpellCheckValidator class. You can set it on the - client side with RadSpell's SetSpellChecked(false) on various events, say a - TEXTAREA's OnChange. - - - - Allows the use of a custom spell checking provider. It must implement the ISpellCheckProvider interface. - The default is PhoneticProvider - - - Specifies the spellchecking algorithm which will be used by RadSpell. - The default is PhoneticProvider - - - Gets or sets the supported languages. - - The supported languages will be displayed in a drop-down list, and the user can - select the language for spellchecking. - - - A string array containing the codes and names of the languages (code, name, code, - name...) - - - - <radS:RadSpell ID="spell1" - Runat="server" - ControlToCheck="textBox1" - SupportedLanguages="en-US,English,fr-FR,French"> - </radS:RadSpell> - - - - - - Gets or sets the value used to configure the spellchecker engine to ignore words containing: UPPERCASE, some - CaPitaL letters, numbers; or to ignore repeated words (very very) - - - - - Gets or sets the name of the client-side function that will be called when the - spell control is initialized on the page. - - - The function should accept two parameters: sender (the spell client object) and arguments. - - - - function onSpellLoad(sender, args) - { - log("spell: " + sender.get_id() + " ready."); - } - - - - - - Gets or sets the name of the client-side function that will be called when the - spell check starts. - - - The function should accept two parameters: sender (the spell client object) and arguments. - - - - function onCheckStarted(sender, args) - { - log("spell: " + sender.clientId + " started for: " + sender.targetControlId); - } - - - - - - Gets or sets the name of the client-side function that will be called when the - spell check is finished. - - - The function should accept two parameters: sender (the spell client object) and arguments. - - - - function onCheckFinished(sender, args) - { - log("spell: " + sender.clientId + " finished for: " + sender.targetControlId); - } - - - - - - Specifies the name of the client-side function that will be called when the user - cancels the spell check. - - - The function should accept two parameters: sender (the spell client object) and arguments. - - - - function onCheckCancelled(sender, args) - { - log("spell: " + sender.clientId + " cancelled for: " + sender.targetControlId); - } - - - - - - Specifies the name of the client-side function that will be called before the - spell check dialog closes. - - - The function should accept two parameters: sender (the dialog opener client object) and arguments. - - - - function onDialogClosed(sender, args) - { - alert("spell: " + sender.get_id()+ " dialog closed"); - } - - - - - Gets or sets the skin name for the control user interface. - A string containing the skin name for the control user interface. The default is string.Empty. - - - If this property is not set, the control will render using the skin named "Default". - If EnableEmbeddedSkins is set to false, the control will not render skin. - - - - - Gets or sets the value, indicating whether to render the skin CSS files during Ajax requests - - - If EnableAjaxSkinRendering is set to false you will have to register the needed control base CSS file by hand when adding/showing the control with Ajax. - - - - - Gets or sets the value, indicating whether to render links to the embedded client scripts or not. - - - If EnableEmbeddedScripts is set to false you will have to register the needed script files by hand. - - - - - - Gets or sets a value indicating where the soell will look for its .resx localization files. - By default these files should be in the App_GlobalResources folder. However, if you cannot put - the resource files in the default location or .resx files compilation is disabled for some reason - (e.g. in a DotNetNuke environment), this property should be set to the location of the resource files. - - - A relative path to the dialogs location. For example: "~/controls/RadControlsResources/". - - - If specified, the LocalizationPath - property will allow you to load the spell localization files from any location in the current - web application. - - - - Gets or sets the value, indicating whether to render links to the embedded skins or not. - - - If EnableEmbeddedSkins is set to false you will have to register the needed CSS files by hand. - - - - - Gets or sets the value, indicating whether to render the link to the embedded base stylesheet of the control or not. - - - If EnableEmbeddedBaseStylesheet is set to false you will have to register the needed control base CSS file by hand. - - - - - - Gets or sets the tabindex of the RadSpell SpellCheck Button. - - The tabindex of the RadSpell SpellCheck Button. - - - - A control allowing the ability to combine multiple embedded stylesheet references - into a larger one as a way to reduce the number of files the client must download - - - This Class defines RadStyleSheetManager- a control allowing the ability to combine multiple embedded stylesheet references - into a larger one as a way to reduce the number of files the client must download - - - - - Registers the skinnable control. - - The control. - - - - Gets the current. - - The page. - - - - - This method puts all RadControls style sheets in the following order - in the StyleSheets collection of RadStyleSheeManager: - 1) first are all style sheets from the Telerik.Web.UI assembly; - 2) second are all style sheets from the Telerik.Web.UI.Skins assembly; - - The style sheets were divided when registered through the RegisterSkinnableControl method. - - - - - Gets or sets a value indicating if RadStyleSheetManager should check the Telerik.Web.UI.WebResource - handler existence in the application configuration file. - - - When EnableHandlerDetection set to true, RadStyleSheetManager automatically checks if the - HttpHandler it uses is registered to the application configuration file and throws - an exception if the HttpHandler registration missing. Set this property to false - if your scenario uses a file to output the combined skins, or when running in Medium trust. - - - - - Specifies whether or not multiple embedded stylesheet references should be combined into a single file - - - When EnableStyleSheetCombine set to true, the stylesheet references of the controls - on the page are combined to a single file, so that only one <link> - tag is output to the page HTML - - - - - Specifies whether or not the combined output will be compressed. - - - In some cases the browsers do not recognize compressed streams (e.g. if IE 6 lacks - an update installed). In some cases the Telerik.Web.UI.WebResource handler - cannot determine if to compress the stream. Set this property - to Disabled - if you encounter that problem. - The OutputCompression property works only when - EnableStyleSheetCombine is set to true. - - - - - Specifies the URL of the HTTPHandler that combines and serves the stylesheets. - - - - The HTTPHandler should either be registered in the application configuration - file, or a file with the specified name should exist at the location, which - HttpHandlerUrl points to. - - - If a file is to serve the files, it should inherit the class Telerik.Web.UI.WebResource - - - - - - Gets the style sheets. - - The style sheets. - - - - Gets the CDN settings. - - The CDN settings. - - - - This Clas defines the StyleSheetReference object. - - - - - Gets or sets the name. - - The name. - - - - Gets or sets the assembly. - - The assembly. - - - - Gets or sets the path. - - The path. - - - - Gets or sets the is common CSS. - - The is common CSS. - - - - This Class defines the StyleSheetReference Collection. - - - - - Specifies the visibility and position of scrollbars in a RadMultiPage control. - - - - - No scroll bars are displayed. Overflowing content will be visible. - - - - - Displays only a horizontal scroll bar. The scroll bar is always visible. - - - - - Displays only a vertical scroll bar. The scroll bar is always visible. - - - - - Displays both a horizontal and a vertical scroll bar. The scroll bars are always visible. - - - - - Displays, horizontal, vertical, or both scroll bars as necessary (the content overflows the RadMultiPage boundaries). - Otherwise, no scroll bars are shown. - - - - - No scroll bars are displayed. Overflowing content is clippet at RadMultiPage boundaries. - - - - - Provides data for the events of the RadMultiPage control. - - - - - Initializes a new instance of the RadMultiPageEventArgs class. - - - A RadPageView which represents a page view in the - RadMultiPage control. - - - - - Gets the referenced page view in the RadMultiPage control when the event is raised. - - - The referenced page view in the RadMultiPage control when the event is raised. - - - Use this property to programmatically access the page view referenced in the RadMultiPage control when the event is raised. - - - - - Represents the method that handles the event provided by the control. - - - - - For internal use only. - - - - - - - Gets or sets the index of the selected. - - The index of the selected. - - - - Gets or sets the change log. - - The change log. - - - - The RadPageView class represents a single page in the - RadMultiPage control. - - - This partial Class defines the RadPageView object that inherits WebControl. - - - - - Gets the RadMultiPage control which contains the current RadPageView - - - A RadMultiPage object which contains the current RadPageView. - Null (Nothing in VB.NET) is returned if the current RadPageView is not added in a RadMultiPage control. - - - - - Gets or sets a value indicating whether the current RadPageView is selected. - - - true if the current RadPageView is selected; otherwise - false. The default value is false. - - - Use the Selected property to select a RadPageView object. There can be only one selected - RadPageView at a time within a RadMultiPage control. - - - - - Gets the zero-based index of the current RadPageView object. - - - The zero-based index of the current RadPageView; -1 will be returned if the current RadPageView object is not added - in a RadMultiPage control. - - - - - Gets or sets the identifier for the default button that is contained in the RadPageView control. - - - A string value corresponding to the ID for a button control contained in the RadPageView. - The default is an empty string, indicating that the RadPageView does not have a default button. - - - Use the DefaultButton property to indicate which button gets clicked when the RadPageView control has focus and the user presses the ENTER key. - - - - - Specifies the URL that will originally be loaded in the - RadPageView (can be changed on the client). - - The default is an empty string - "". - - - - A control which contains controls. Only one page view can be visible at a time. - - - RadMultiPage is usually used with RadTabStrip to create paged data entry forms. Use the - property to associate a RadMultiPage control with RadTabStrip. - - - This Class defines RadMultiPage- you can use the RadMultiPage control - to organize the content of tabbed pages. RadMultiPage acts as a container - for RadPageView controls, where each RadPageView represents the content - of a page associated with a tab in a RadTabStrip control. Separated from - the tab strip labels, the content can be positioned anywhere on the page. - - - - - Finds a RadPageView with the specified ID. - - The ID of the RadPageView - - A RadPageView with the specified ID. Null (Nothing) is returned if there is no - RadPageView with the specified ID. - - - - - - - - - Gets or sets the index of the selected RadMultiPage. - - - The index of the currently selected RadMultiPage. The default value is -1, - which means that no RadMultiPage is selected. - - - - - Gets the selected pageview. - - - Returns the pageview which is currently selected. If no pageview is selected - (the SelectedIndex property is -1) the SelectedPageView - property will return null (Nothing in VB.NET). - - - - - Gets a RadPageViewCollection that represents the RadMultiPage - controls int the current RadMultiPage instance. - - - - - Gets or sets a value indicating whether to render only the currently selected RadMultiPage. - - - True if only the current RadMultiPage should be rendered; otherwise false. - The default value is false which means all pageviews will be rendered. - - - Use the RenderSelectedPageOnly to make the RadMultiPage control render only the selected RadMultiPage. - This can save output size because by default all pageviews are rendered. If RenderSelectedPageOnly is set to true - RadMultiPage will make a request to the server in order to change the selected pageview. - - - - - Gets or sets the visibility and position of scroll bars in the RadMultiPage control. - - - One of the values. The default value is None. - - - Use this property to customize the visibility and position of scroll bars. By default any overflowing content is visible. - - - - - - - - - - - - - Occurs when page views are added programmatically to the RadMultiPage control. It also occurs after postback when - the RadMultiPage control recreates its page views from ViewState. - - - The example below starts by defining a dynamic page view and adding a control (i.e. - Label) to the new page view. - - protected void Page_Load(object sender, System.EventArgs e) - { - if (!Page.IsPostBack) - { - PageView view = new RadPageView(); - view.ID = "dynamicPageView"; - RadMultiPage1.PageViews.Add(view); - } - } - - protected void RadMultiPage1_PageViewCreated(object sender, Telerik.Web.UI.RadMultiPageEventArgs e) - { - Label l = new Label(); - l.ID = "dynamicLabel"; - l.Text = "Programatically created label"; - e.PageView.Controls.Add(l); - } - - - Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) - If Not Page.IsPostBack Then - Dim view As PageView = New RadPageView() - view.ID = "dynamicPageView" - RadMultiPage1.PageViews.Add(view) - End If - End Sub - - Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadMultiPageEventArgs) Handles RadMultiPage1.PageViewCreated - Dim l As New Label() - l.ID = "dynamicLabel" - l.Text = "Programatically created label" - e.PageView.Controls.Add(l) - End Sub - - - - Use this event when you need to create page views from code behind. Controls added dynamically should be created in - the PageViewCreated event handler. - - - - - Specifies the alignment of tabs within the RadTabStrip control. - - - - - The Tabs will be aligned to the left. - - - - - The Tabs will be centered in the middle. - - - - - The Tabs will be aligned to the right. - - - - - The Tabs will be justified. - - - - - Specifies the way tabs can be oriented - - - - - RadTabStrip is above the content (e.g. RadMultiPage). - Child tabs (if any) are shown below parent tabs. - - - - - RadTabStrip is below the content (e.g. RadMultiPage). - Child tabs (if any) are shown above parent tabs. - - - - - RadTabStrip is on the right side of the content (e.g. RadMultiPage). - Child tabs (if any) are shown on the left side of parent tabs. - - - - - RadTabStrip is on the left side of the content (e.g. RadMultiPage). - Child tabs (if any) are shown on the right side of parent tabs. - - - - - The position of the scroll buttons when the RadTabStrip.ScrollChildren - property is set to true. - - - - - The buttons are to the left of tabs. - - - - - The tabs are between the left and right scroll buttons. - - - - - The buttons are to the right of the tabs. - - - - - Represents the method that handles the events provided by the control. - - - - - A collection of RadPageView objects in a - RadMultiPage control. - - - The RadPageViewCollection class represents a collection of - RadPageView objects. - - - Use the indexer to programmatically retrieve a - single RadPageView from the collection, using array notation. - - - Use the Count property to determine the total - number of RadPageView controls in the collection. - - - Use the Add method to add RadPageView controls to the collection. - - - Use the Remove method to remove RadPageView controls from the - collection. - - - - - - - - Initializes a new instance of the class. - - The owner of the collection. - - - - Appends the specified RadPageView to the collection. - - - The RadPageView to append to the collection. - - - - - Inserts the specified RadPageView object in the current - RadPageViewCollection at the specified index location. - - The zero-based index location at which to insert the RadPageView. - The RadPageView to insert. - - - - - - - - - - - - - - - - - - - - - - - - Removes the specified RadPageView from the collection. - - - The RadPageView to remove from the collection. - - - - - Determines the index of the specified RadPageView in the collection. - - - The zero-based index position of the specified RadPageView in the - collection. If the specified RadPageView is not found in the collection -1 is returned. - - - A RadPageView to search for in the collection. - - - - - Gets the RadPageView at the specified index in the - collection. - - - Use this indexer to get a RadPageView from the collection at - the specified index, using array notation. - - - The zero-based index of the RadPageView to retrieve from the - collection. - - - - - Defines the relationship between a data item and the tab it is binding to in a - control. - - - - - - - - - Specifies the exact value of the ChildGroupCssClass property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the ChildGroupCssClass property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledCssClass property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the DisabledCssClass property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledImageUrl property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the DisabledImageUrl property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the HoveredCssClass property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the HoveredCssClass property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the OuterCssClass property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the OuterCssClass property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the IsSeparator property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the IsSeparator property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the IsBreak property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the IsBreak property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the PerTabScrolling property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the PerTabScrolling property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the ScrollChildren property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the ScrollChildren property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the ScrollPosition property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the ScrollPosition property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedCssClass property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the SelectedCssClass property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedImageUrl property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the SelectedImageUrl property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the field, containing the SelectedIndex property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedIndex property of the - RadTab that will be created during the data binding. - - - - - Specifies the exact value of the PageViewID property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the PageViewID property - value of the RadTab that will be created during - the data binding. - - - - - Specifies the exact value of the ScrollButtonsPosition property of the - RadTab that will be created during the data binding. - - - - - Specifies the field, containing the ScrollButtonsPosition property - value of the RadTab that will be created during - the data binding. - - - - - Represents a collection of objects. - - - - - Gets the object at the specified index from the collection. - - - The at the specified index in the collection. - - - The zero-based index of the to retrieve. - - - - Represents a tab in the RadTabStrip control. - - - The RadTabStrip control is made up of tabs. Tabs which are immediate children - of the tabstrip are root tabs. tabs which are children of root tabs are child tabs. - - - A tab usually stores data in two properties, the Text property and - the Value property. The value of the Text property is displayed - in the RadTabStrip control, and the Value - property is used to store additional data. - - To create tabs, use one of the following methods: - - - Use declarative syntax to define tabs inline in your page or user control. - - - Use one of the constructors to dynamically create new instances of the - RadTab class. These tabs can then be added to the - Tabs collection of another tab or tabstrip. - - - Data bind the RadTabStrip control to a data source. - - - - When the user clicks a tab, the RadTabStrip control can navigate - to a linked Web page, post back to the server or select that tab. If the - NavigateUrl property of a tab is set, the - RadTabStrip control navigates to the linked page. By default, a linked page - is displayed in the same window or frame. To display the linked content in a different - window or frame, use the Target property. - - - - This partitial Class defines the RadTab object. - - - - Initializes a new instance of the RadTab class. - - Use this constructor to create and initialize a new instance of the - RadTab class using default values. - - - The following example demonstrates how to add tabs to the - RadTabStrip control. - - RadTab tab = new RadTab(); - tab.Text = "News"; - tab.NavigateUrl = "~/News.aspx"; - - RadTabStrip1.Tabs.Add(tab); - - - Dim tab As New RadTab() - tab.Text = "News" - tab.NavigateUrl = "~/News.aspx" - - RadTabStrip1.Tabs.Add(tab) - - - - - - Initializes a new instance of the RadTab class with the - specified text data. - - - Use this constructor to create and initialize a new instance of the - RadTab class using the specified text. - - - The following example demonstrates how to add tabs to the - RadTabStrip control. - - RadTab tab = new RadTab("News"); - - RadTabStrip1.Tabs.Add(tab); - - - Dim tab As New RadTab("News") - - RadTabStrip1.Tabs.Add(tab) - - - - The text displayed for the tab. The Text property is initialized with the value - of this parameter. - - - - - Initializes a new instance of the RadTab class with the - specified text and value data. - - - - Use this constructor to create and initialize a new instance of the - RadTab class using the specified text and value. - - - - This example demonstrates how to add tabs to the - RadTabStrip control. - - RadTab tab = new RadTab("News", "NewsTabValue"); - - RadTabStrip1.Tabs.Add(tab); - - - Dim tab As New RadTab("News", "NewsTabValue") - - RadTabStrip1.Tabs.Add(tab) - - - - The text displayed for the tab. The Text property is initialized with the value - of this argument. - - - The value associated with the tab. The Value property is initialized with the value - of this parameter. - - - - - Selects recursively all parent tabs in the hierarchy. - - - Use this method to programmatically select all parents of the tab. Selected tabs - will be visible in the browser. - - - The following example demonstrates how to select the parents of the tab which - corresponds to the current URL. - - RadTab currentTab = RadTabStrip1.FindTabByUrl(Request.Url.PathAndQuery); - if (currentTab != null) - { - currentTab.SelectParents(); - } - - - Dim currentTab as RadTab = RadTabStrip1.FindTabByUrl(Request.Url.PathAndQuery) - - If Not currentTab Is Nothing Then - currentTab.SelectParents() - End If - - - - - - Renders the HTML closing tag of the control into the specified writer. - This method is used primarily by control developers. - - A that represents - the output stream to render HTML content on the client. - - - - Gets or sets a value indicating whether the tab will behave as separator. - - true if the tab is separator; otherwise false. The default value is false. - - - Use separators to visually separate the tabs. You also need to specify the width - of the separator tab through the Width property. - - - - Gets or sets the template for displaying the tab. - - An object implementing the ITemplateThe default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - To specify common display for all tabs use the - property of the control. - - - - The following example demonstrates how to customize the appearance of a specific tab using the - TabTemplate property - - <telerik:RadTabStrip ID="RadTabStrip1" runat="server"> - <Tabs> - <telerik:RadTab> - <TabTemplate> - Tab 1 <img src="Images/tabIcon.gif" alt="" /> - </TabTemplate> - </telerik:RadTab> - </Tabs> - </telerik:RadTabStrip> - - - - - - Gets the level of the current tab. - - - An integer representing the level of the tab. Root tabs are level 0 (zero). - - - - - Gets or sets a value indicating whether the tab is selected. - - - true if the tab is selected; otherwise false. - The default value is false. - - - Use the Selected property to determine whether the tab is currently selected - within its parent RadTabCollection. Setting the Selected - property to true will deselect the previously selected tab. - - - - - Gets the RadTabStrip instance which contains the current tab. - - - - - Gets or sets a value indicating whether clicking on the tab will postback. - - - true if the node should postback; otherwise false. - - - If you subscribe to the TabClick event all tabs - will postback. To prevent the current tab from initiating postback you can set the PostBack - property to false. - - - - Gets the data item that is bound to the tab - - An Object that represents the data item that is bound to the tab. The default value is null (Nothing in Visual Basic), - which indicates that the tab is not bound to any data item. The return value will always be null unless accessed within - a TabDataBound event handler. - - - This property is applicable only during data binding. Use it along with the - TabDataBound event to perform additional - mapping of fields from the data item to RadTab properties. - - - The following example demonstrates how to map fields from the data item to - RadTab properties. It assumes the user has subscribed to the - TabDataBound event. - - private void RadTabStrip1_TabDataBound(object sender, Telerik.Web.UI.RadTabStripEventArgs e) - { - e.Tab.ImageUrl = "image" + (string)DataBinder.Eval(e.Tab.DataItem, "ID") + ".gif"; - e.Tab.NavigateUrl = (string)DataBinder.Eval(e.Tab.DataItem, "URL"); - } - - - Sub RadTabStrip1_TabDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadTabStripEventArgs) Handles RadTabStrip1.TabDataBound - e.Tab.ImageUrl = "image" & DataBinder.Eval(e.Tab.DataItem, "ID") & ".gif" - e.Tab.NavigateUrl = CStr(DataBinder.Eval(e.Tab.DataItem, "URL")) - End Sub - - - - - - Gets or sets a value indicating whether the children of the tab will be - scrollable. - - - true if the child tabs will be scrollable; otherwise false. The default value is false. - - - To enable scrolling of the child tabs the ScrollChildren property - must also be set to true. - - - - The position of the scroll buttons with regards to the tab band. - - This property is applicable when the - ScrollChildren property is set to - true; otherwise it is ignored. - - - One of the TabStripScrollButtonsPosition - enumeration values. The default value is Right. - - - - - Gets or sets the position of the scrollable band of tabs relative to the - beginning of the scrolling area. - - - This property is applicable when the - ScrollChildren property is set to - true; otherwise it is ignored. - - - An integer specifying the initial scrolling position (measured in pixels). The default value is 0 - (no offset from the default scrolling position). Use negative values to move the tabs to the left. - - - - - Gets or sets a value indicating whether the tabstrip should scroll directly to - the next tab. - - - true if the tabstrip should scroll to the next (or previous) tab; otherwise false. - The default value is false. - - - By default tabs are scrolled smoothly. If you want the tabstrip to scroll directly - to the next (or previous) tab set this property to true. This - property is applicable when the ScrollChildren - property is set to true; otherwise it is ignored. - - - - - Gets or sets the index of the selected child tab. - - - The zero based index of the selected tab. The default value is -1 (no child tab is selected). - - - Use the SelectedIndex property to programmatically specify the selected - child tab in a IRadTabContainer (RadTabStrip or RadTab). - To clear the selection set the SelectedIndex property to -1. - - - The following example demonstrates how to programmatically select a tab by using - the SelectedIndex property. - - void Page_Load(object sender, EventArgs e) - { - if (!Page.IsPostBack) - { - RadTab newsTab = new RadTab("News"); - RadTabStrip1.Tabs.Add(newsTab); - - RadTabStrip1.SelectedIndex = 0; //This will select the "News" tab - - RadTab cnnTab = new RadTab("CNN"); - newsTab.Tabs.Add(cnnTab); - - RadTab nbcTab = new RadTab("NBC"); - newsTab.Tabs.Add(nbcTab); - - newsTab.SelectedIndex = 1; //This will select the "NBC" child tab of the "News" tab - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If Not Page.IsPostBack Then - Dim newsTab As RadTab = New RadTab("News") - RadTabStrip1.Tabs.Add(newsTab) - - RadTabStrip1.SelectedIndex = 0 'This will select the "News" tab - - Dim cnnTab As RadTab = New RadTab("CNN") - newsTab.Tabs.Add(cnnTab) - - Dim nbcTab As RadTab = New RadTab("NBC") - newsTab.Tabs.Add(nbcTab) - - newsTab.SelectedIndex = 1 'This will select the "NBC" child tab of the "News" tab - End If - End Sub - - - - - - Gets the selected child tab. - - - Returns the child tab which is currently selected. If no tab is selected - (the SelectedIndex property is -1) the SelectedTab - property will return null (Nothing in VB.NET). - - - - - Gets the IRadTabContainer instance which contains the current tab. - - - The object which contains the tab. It might be an instance of the - RadTabStrip class or the RadTab - class depending on the hierarchy level. - - - The value is of the IRadTabContainer type which is - implemented by the RadTabStrip class and the - RadTab class. Use the Owner property when - recursively traversing tabs in the RadTabStrip control. - - - The following example demonstrates how to make a bread crumb trail out of - hierarchical RadTabStrip. - - void Page_Load(object sender, EventArgs e) - { - if (RadTabStrip1.SelectedIndex >= 0) - { - RadTab selected = RadTabStrip1.InnermostSelectedTab; - IRadTabContainer owner = selected.Owner; - string breadCrumbTrail = string.Empty; - while (owner != null) - { - breadCrumbTrail = " > " + owner.SelectedTab.Text + breadCrumbTrail; - owner = owner.Owner; - } - Label1.Text = breadCrumbTrail; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load - If RadTabStrip1.SelectedIndex >= 0 Then - Dim selected As RadTab = RadTabStrip1.InnermostSelectedTab - Dim owner As IRadTabContainer = selected.Owner - Dim breadCrumbTrail As String = String.Empty - While Not owner Is Nothing - breadCrumbTrail = " > " & owner.SelectedTab.Text & breadCrumbTrail - owner = owner.Owner - End While - Label1.Text = breadCrumbTrail - End If - End Sub - - - - - - Gets a RadTabCollection object that contains the child tabs of the current tab. - - - A RadTabCollection that contains the child tabs of the current tab. By default - the collection is empty (the tab has no children). - - - Use the Tabs property to access the child tabs of the current tab. You can also use the Tabs property to - manage the children of the current tab. You can add, remove or modify tabs from the Tabs collection. - - - The following example demonstrates how to programmatically modify the properties of child tabs. - - RadTabStrip1.Tabs[0].Tabs[0].Text = "Example"; - RadTabStrip1.Tabs[0].Tabs[0].NavigateUrl = "http://www.example.com"; - - - RadTabStrip1.Tabs(0).Tabs(0).Text = "Example" - RadTabStrip1.Tabs(0).Tabs(0).NavigateUrl = "http://www.example.com" - - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the tab is selected. - - - The CSS class applied when the tab is selected. The default value is empty string. - - - By default the visual appearance of selected tabs is defined in the skin CSS - file. You can use the SelectedCssClass property to specify unique - appearance for the current tab when it is selected. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the tab is disabled. - - - The CSS class applied when the tab is disabled. The default value is empty string. - - - By default the visual appearance of disabled tabs is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for the tab when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the tab is hovered with the mouse. - - - The CSS class applied when the tab is hovered. The default value is empty string. - - - By default the visual appearance of hovered tabs is defined in the skin CSS - file. You can use the HoveredCssClass property to specify unique - appearance for the tab when it is hovered. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied on the outmost tab element (<LI>). - - - The CSS class applied on the wrapping element (<LI>). The default value is empty string. - - - You can use the OuterCssClass property to specify unique - appearance for the tab, or to insert elements that are before/after the link element. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the HTML element - containing the child tabs. - - - The CSS class applied to the child tabs container. The default value is empty - string. - - - Tabs are rendered as LI (list item) HTML elements inside a - UL (unordered list). The CSS class specified by the - ChildGroupCssClass property is applied to the UL - tag. - - -

ASPX:

<telerik:RadTabStrip ID="RadTabStrip1" runat="server">
- <Tabs>
- <telerik:RadTab Text="News" ChildGroupCssClass="news">
- <Tabs>
- <telerik:RadTab Text="CNN" />
- <telerik:RadTab Text="NBC" />
- </Tabs>
- </telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip> -

HTML:

- - <li>News
- <ul class="news">
- <li>CNN</li>
- <li>NBC</li>
- </ul>
- </li> -
-
-
- - - Gets or sets a value indicating whether next tab will be displayed on a new - line. - - - true if the next tab should be displayed on a new line; otherwise false. - The default value is false. - - - Use the IsBreak property to create multi-row tabstrip. All tabs after the "break" - tab will be displayed on a new line. - - - - - Gets or sets the ID of the RadPageView in - a RadMultiPage that will be switched when the tab is - selected. - - - This property overrides the default relation between the page views within a - RadMultiPage and the tabs in a - RadTabStrip. By default a tab activates the page view - with the same index. - - - The ID of the RadPageView that will be - activated when the tab is selected. The default value is empty string. - - - - - Gets or sets the text displayed for the current tab. - - - The text displayed for the tab in the RadTabStrip control. The default is empty string. - - - Use the Text property to specify or determine the text that is displayed for the tab - in the RadTabStrip control. - - - - - Gets or sets custom (user-defined) data associated with the current tab. - - - A string representing the user-defined data. The default value is emptry string. - - - Use the Value property to associate custom data with a RadTab object. - - - - - Gets or sets the URL to navigate to when the current tab is clicked. - - - The URL to navigate to when the tab is clicked. The default value is empty string which means that - clicking the current tab will not navigate. - - - - By default clicking a tab will select it. If the tab has any child tabs they will be displayed. To make a tab - navigate to some designated URL you can use the NavigateUrl property. You can optionally set the - Target property to specify the window or frame in which to display the linked content. - - - Setting the NavigateUrl property will disable tab selection and as a result the - TabClick event won't be raised for the current tab. - - - - - - Gets or sets the URL to an image which is displayed next to the text of a tab. - - - The URL to the image to display for the tab. The default value is empty - string which means by default no image is displayed. - - - Use the ImageUrl property to specify a custom image that will be - displayed before the text of the current tab. - - - - The following example demonstrates how to specify the image to display for - the tab using the ImageUrl property. - - - <telerik:RadTabStrip id="RadTabStrip1" runat="server">
- <Tabs>
- <telerik:RadTabImageUrl="~/Img/inbox.gif" - Text="Index"></telerik:RadTab>
- <telerik:RadTabImageUrl="~/Img/outbox.gif" - Text="Outbox"></telerik:RadTab>
- <telerik:RadTabImageUrl="~/Img/trash.gif" - Text="Trash"></telerik:RadTab>
- <telerik:RadTabImageUrl="~/Img/meetings.gif" - Text="Meetings"></telerik:RadTab>
- </Tabs>
- </telerik:RadTabStrip> -
-
-
- - - Gets or sets the URL to an image which is displayed when the - user hovers the current tab with the mouse. - - - The URL to the image to display for the tab when the user hovers it with the mouse. The default value is empty - string which means the image specified via ImageUrl will be used. - - - - Use the HoveredImageUrl property to specify a custom image that will be - displayed when the user hovers the tab with the mouse. Setting the HoveredImageUrl - property required the ImageUrl property to be set beforehand. - - - If the HoveredImageUrl property is not set the value of the ImageUrl - will be used instead. - - - - - - Gets or sets the URL to an image which is displayed when the tab is selected. - - - The URL to the image to display when the tab is selected. The default value is empty - string which means the image specified via ImageUrl will be used. - - - - Use the SelectedImageUrl property to specify a custom image that will be - displayed when the current tab is selected. Setting the SelectedImageUrl - property required the ImageUrl property to be set beforehand. - - - If the SelectedImageUrl property is not set the value of the ImageUrl - will be used instead. - - - - - - Gets or sets the URL to an image which is displayed when the tab is disabled - (its Enabled property is set to false). - - - The URL to the image to display when the tab is disabled. The default value is empty - string which means the image specified via ImageUrl will be used. - - - - Use the DisabledImageUrl property to specify a custom image that will be - displayed when the current tab is disabled. Setting the DisabledImageUrl - property required the ImageUrl property to be set beforehand. - - - If the DisabledImageUrl property is not set the value of the ImageUrl - will be used instead. - - - - - - Gets or sets the target window or frame in which to display the Web page content associated with the current tab. - - - The target window or frame to load the Web page linked to when the tab is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without frames. - - - _parent - Renders the content in the immediate frameset parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without frames. - - - - The default value is empty string which means the linked resource will be loaded in the current window. - - - - Use the Target property to target window or frame in which to display the - Web page content associated with the current tab. The Web page is specified by - the NavigateUrl property. - - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The Target property is taken into consideration only when the NavigateUrl - property is set. - - - - The following example demonstrates how to use the Target property - - - <telerik:RadTabStrip id="RadTabStrip1" runat="server">
- <Tabs>
- <telerik:RadTab Text="News" NavigateUrl="~/News.aspx" - Target="_self" />
- <telerik:RadTab Text="External URL" NavigateUrl="http://www.example.com" - Target="_blank" />
- </Tabs>
- </telerik:RadTabStrip>
-
-
-
- - Gets the RadPageView activated when the tab is selected. - - The RadPageView that is activated when the tab is selected. - The default value is null (Nothing in VB.NET). - - - - - A collection of RadTab objects in a - RadTabStrip control. - - - The RadTabCollection class represents a collection of - RadTab objects. - - - Use the indexer to programmatically retrieve a - single RadTab from the collection, using array notation. - - - Use the Count property to determine the total - number of menu items in the collection. - - - Use the Add method to add tabs in the collection. - - - Use the Remove method to remove tabs from the - collection. - - - - - - - - Initializes a new instance of the RadTabCollection class. - - The owner of the collection. - - - - Appends the specified RadTab object to the end of the current RadTabCollection. - - - The RadTab to append to the end of the current RadTabCollection. - - - The following example demonstrates how to programmatically add tabs in a - RadTabStrip control. - - RadTab newsTab = new RadTab("News"); - RadTabStrip1.Tabs.Add(newsTab); - - - Dim newsTab As RadTab = New RadTab("News") - RadTabStrip1.Tabs.Add(newsTab) - - - - - Appends the specified array of RadTab objects to the end of the - current RadTabCollection. - - - The following example demonstrates how to use the AddRange method - to add multiple tabs in a single step. - - RadTab[] tabs = new RadTab[] { new RadTab("First"), new RadTab("Second"), new RadTab("Third") }; - RadTabStrip1.Tabs.AddRange(tabs); - - - Dim tabs() As RadTab = {New RadTab("First"), New RadTab("Second"), New RadTab("Third")} - RadTabStrip1.Tabs.AddRange(tabs) - - - - The array of RadTab o append to the end of the current - RadTabCollection. - - - - - Inserts the specified RadTab object in the current - RadTabCollection at the specified index location. - - The zero-based index location at which to insert the RadTab. - The RadTab to insert. - - - - Determines the index of the specified RadTab object in the collection. - - - The RadTab to locate. - - - The zero-based index of tab within the current RadTabCollection, - if found; otherwise, -1. - - - - - Determines whether the specified RadTab object is in the current - RadTabCollection. - - - The RadTab object to find. - - - true if the current collection contains the specified RadTab object; - otherwise, false. - - - - - Removes the specified RadTab object from the current - RadTabCollection. - - - The RadTab object to remove. - - - - - Removes the RadTab object at the specified index - from the current RadTabCollection. - - The zero-based index of the tab to remove. - - - - Searches the RadTabStrip control for the first - RadTab whose Value property is equal - to the specified value. - - - A RadTab whose Value property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The value to search for. - - - - - Searches the RadTabStrip control for the first - RadTab whose Value property is equal - to the specified value. - - - A RadTab whose Value property is equal to the specifed - value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - - The value to search for. - - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadTabStrip control for the first - RadTab whose Text property is equal to - the specified value. - - - A RadTab whose Text property is equal - to the specified value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - The value to search for. - - - - Searches the RadTabStrip control for the first - RadTab whose Text property is equal to - the specified value. - - - A RadTab whose Text property is equal - to the specified value. If a tab is not found, null (Nothing in Visual Basic) is returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Returns the first RadTab - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindTab method. - - void Page_Load(object sender, EventArgs e) - { - RadTabStrip1.FindTab(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadTab tab) - { - if (tab.Text == tab.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadTabStrip1.FindTab(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal tab As RadTab) As Boolean - If tab.Text = tab.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Gets the RadTab object at the specified index in - the current RadTabCollection. - - - The zero-based index of the RadTab to retrieve. - - - The RadTab at the specified index in the - current RadTabCollection. - - - - - For internal use only. - - - - - - - Gets or sets the selected indexes. - - The selected indexes. - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the state of the scroll. - - The state of the scroll. - - - - Provides data for the ButtonDataBound event - of the RadToolBar control. - - - - - Initializes a new instance of the - RadToolBarButtonEventArgs class. - - - A RadToolBarItem which represents a button in the - RadToolBar control. - - - - - Gets the referenced button in the RadToolBar control when the - ButtonDataBound event is raised. - - - The referenced button in the RadToolBar control when the - ButtonDataBound event is raised. - - - Use this property to programmatically access the button referenced in the - RadToolBar control when the - ButtonDataBound event is raised. - - - - - Represents the method that handles the ButtonDataBound - event of a RadToolBar control. - - The source of the event. - A RadToolBarButtonEventArgs that - contains the event data. - - When you create a RadToolBarButtonEventHandler delegate, you identify the method that will - handle the event. To associate the event with your event handler, add an instance of the delegate to the - event. The event handler is called whenever the event occurs, unless you remove the delegate. - - - - - Provides data for the events of the RadToolBar control. - - - - - Initializes a new instance of the - RadToolBarEventArgs class. - - - A RadToolBarItem which represents an item in the - RadToolBar control. - - - - - Gets the referenced item in the RadToolBar control when the - event is raised. - - - The referenced item in the RadToolBar control when the event is raised. - - - Use this property to programmatically access the item referenced in the - RadToolBar control when the event is raised. - - - - - Represents the method that handles the events of a RadToolBar control. - - The source of the event. - A RadToolBarEventArgs that contains the event data. - - When you create a RadToolBarEventHandler delegate, you identify the method that will - handle the event. To associate the event with your event handler, add an instance of the delegate to the - event. The event handler is called whenever the event occurs, unless you remove the delegate. - - - - - Specifies the expand direction of a drop down within the RadToolBar control. - - - - - The drop down will expand upwards - - - - - The drop down will expand downwards - - - - - Defines properties that must be implemented to allow a control to act like - a RadToolBarButton item in a RadToolBar. - - - - - Gets or sets a value, indicating if the item will perform a postback. - - - Used to indicate that an item should not perform a postback when - the containing RadToolBar performs postback through. - - - - Gets or sets the value associated with the toolbar item. - The value associated with the item. The default value is empty string. - - Use the Value property to specify or determine the value associated - with the item. - - - - Gets or sets the URL to link to when the item is clicked. - - The URL to link to when the item is clicked. The default value is empty - string. - - - Use the NavigateUrl property to specify the URL to link to when - the item is clicked. Use "~" (tilde) in front of an URL within the same ASP.NET - application. When specifying external URL do not forget the protocol (e.g. - "http://"). - - - - - Gets or sets the target window or frame to display the Web page content linked to - when the toolbar item is clicked. - - - The target window or frame to load the Web page linked to when the item is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without - frames. - - - _parent - Renders the content in the immediate frameset - parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without - frames. - - - The default value is empty string. - - - - Use the Target property to specify the frame or window that displays the - Web page linked to when the toolbar item is clicked. The Web page is specified by - setting the NavigateUrl property. - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - - Gets or sets the template for displaying the item. - - A ITemplate implemented object that contains the template - for displaying the item. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - - - - Gets or sets the command name associated with the toolbar item that is passed to the - ItemCommand event of the RadToolBar instance. - - - The command name of the toolbar item. The default value is an empty string. - - - - - Gets or sets an optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName - - - An optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName. The default value is an empty string. - - - - - Gets or sets a value indicating whether clicking the button causes page validation - to occur. - - - true if clicking the button causes page validation to occur; otherwise, false. - - - - - Gets or sets the URL of the Web page to post to from the current page when - the button control is clicked. - - - The URL of the Web page to post to from the current page when the button - control is clicked. - - - - - Gets or sets the name for the group of controls for which the button control - causes validation when it posts back to the server. - - - The name for the group of controls for which the button control causes validation - when it posts back to the server. - - - - Gets the RadToolBar instance which contains the item. - - Use this property to obtain an instance to the - RadToolBar object containing the item. - - - - - Gets or sets the text displayed for the current item. - - - The text an item in the RadToolBar control displays. The default is empty string. - - - Use the Text property to specify or determine the text an item displays displays - in the RadToolBar control. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - - Gets or sets the path to an image to display when the user moves the - mouse over the item. - - - The path to the image to display when the user moves the mouse over the item. The - default value is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/inbox.gif" - HoveredImageUrl="~/Img/inboxOver.gif" Text="Index" />
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets the Cascading Style Sheet (CSS) class applied when the user moves the mouse - over the toolbar item. - - - The CSS class applied when the user moves the mouse over the toolbar item. The default value is - String.Empty. - - - By default the visual appearance of a hovered toolbar items is defined in the skin CSS - file. You can use the HoveredCssClass property to specify unique - appearance for the toolbar item when it is hovered. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolbar item is - clicked. - - - The CSS class applied when the toolbar item is clicked. The default value is - String.Empty. - - - By default the visual appearance of clicked toolbar items is defined in the skin CSS - file. You can use the ClickedCssClass property to specify unique - appearance for the toolbar item when it is clicked. - - - - - Gets or sets the path to an image to display for the item when the user clicks it. - - - The path to the image to display when the user clicks the item. The default value - is empty string. - - - Use the ClickedImageUrl property to specify the image that will be - used when the user clicks the item. If the ClickedImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - - - - - Gets or sets the path to an image to display when the item is disabled. - - - The path to the image to display when the item is disabled. The - default value is empty string. - - - Use the DisabledImageUrl property to specify the image that will be - used when the item is disabled. If the DisabledImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolbar item is - disabled. - - - The CSS class applied when the toolbar item is disabled. The default value is - String.Empty. - - - By default the visual appearance of disabled toolbar items is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for the toolbar item when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolBar item is - focused after tabbing to it, or by using its AccessKey - - - The CSS class applied when the toolBar item is focused. The default value is - String.Empty. - - - By default the visual appearance of focused toolBar items is defined in the skin CSS - file. You can use the FocusedCssClass property to specify unique - appearance for the toolBar item when it is focused. - - - - - Gets or sets the path to an image to display when the user focuses the - item either by tabbing to it or by using the AccessKey - - - The path to the image to display when the user user focuses the - item either by tabbing to that it or by using the AccessKey. The - default value is empty string. - - - Use the FocusedImageUrl property to specify the image that will be - used when the item gets the focus after tabbing or using its AccessKey. - If the FocusedImageUrl property is set to empty string the image specified - by the ImageUrl property will be used. Use "~" (tilde) when referring to - images within the current ASP.NET application. - - - - - Gets or sets the position of the item image according to the item text. - - - The position of the item image according to the item text. The - default value is ToolBarImagePosition.Left. - - - - - Defines properties that toolbar button containers - (RadToolBarDropDown, - RadToolBarSplitButton) should implement. - - - - - Specifies the position of the image of an item within the RadToolBar - control according to the item text. - - - - - The image will be displayed to the left of the text - - - - - The image will be displayed to the right of the text - - - - - The image will be displayed above the text - - - - - The image will be displayed below the text - - - - - This partial class specifies the rendering of RadToolBarButton. - - - This partial class implements the rendering of RadToolBarButton. - - - This partial class implements the rendering of RadToolBarButton. - - - This partial class implements the rendering of RadToolBarButton. - - - This partial class defines RadToolBarButton. - - Represents a single button in the RadToolBar class. - - - When the user clicks a toolbar button, the RadToolBar control can - either navigate to a linked Web page or simply post back to the server. If the - NavigateUrl property of a toolbar button is set, the - RadToolBar control navigates to the linked page. By default, - a linked page is displayed in the same window or frame as the RadToolBar - control. To display the linked content in a different window or frame, use the - Target property. - - - - - - This partial class defines the rendering RadToolBarItem. - - - This abstract partial class defines the RadToolBarItem object that inherits ControlItem. - - Represents a single item in the RadToolBar class. - - - The RadToolBar control is made up of a list of toolbar items - represented by RadToolBarItem objects (RadToolBarButton, - RadToolBarDropDown, - RadToolBarSplitButton). All toolbar items are stored - in the Items collection of the toolbar. - You can access the toolbar to which the item belongs - by using the ToolBar property. - - To create the toolbar items for a RadToolBar control, use one of the - following methods: - - Use declarative syntax to create static toolbar items. - Use a constructor to dynamically create new instances of either toolbar item classes - (RadToolBarButton, - RadToolBarDropDown, - RadToolBarSplitButton). These RadToolBarItem - objects can then be added to the Items collection of the - RadToolBar. - Bind the RadToolBar control to a data source. - - - Each toolbar item has a Text property. The Button items - (RadToolBarButton and - RadToolBarSplitButton) have a - Value property. The value of the - Text property is displayed in the RadToolBar - control, while the Value property is used to store any - additional data about the toolbar item. - - - - - Gets the RadToolBar instance which contains the item. - - Use this property to obtain an instance to the - RadToolBar object containing the item. - - - - - Gets or sets the text displayed for the current item. - - - The text an item in the RadToolBar control displays. The default is empty string. - - - Use the Text property to specify or determine the text an item displays displays - in the RadToolBar control. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - The following example demonstrates how to specify the image to display for - a button using the ImageUrl property. - - <telerik:RadToolBar id="RadToolBar1" - runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/inbox.gif" Text="Index" - />
- <telerik:RadToolBarButton ImageUrl="~/Img/outbox.gif" Text="Outbox" - />
- </Items>
- </telerik:RadToolBar>
-
-
-
- - - Gets or sets the path to an image to display when the user moves the - mouse over the item. - - - The path to the image to display when the user moves the mouse over the item. The - default value is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/inbox.gif" - HoveredImageUrl="~/Img/inboxOver.gif" Text="Index" />
- </Items>
- </telerik:RadToolBar>
-
- - Use the HoveredImageUrl property to specify the image that will be - used when the user moves the mouse over the item. If the HoveredImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - - Gets or sets the Cascading Style Sheet (CSS) class - that contains the sprite image for this item and the positioning for it. - - - The CSS that is used in sprite image scenarios. - String.Empty. - - - By default, the image in an item is defined by the ImageUrl property. - You can use SpriteCssClass to specify a class that will position a sprite - instead of using image. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the user moves the mouse - over the toolbar item. - - - The CSS class applied when the user moves the mouse over the toolbar item. The default value is - String.Empty. - - - By default the visual appearance of a hovered toolbar items is defined in the skin CSS - file. You can use the HoveredCssClass property to specify unique - appearance for the toolbar item when it is hovered. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolbar item is - clicked. - - - The CSS class applied when the toolbar item is clicked. The default value is - String.Empty. - - - By default the visual appearance of clicked toolbar items is defined in the skin CSS - file. You can use the ClickedCssClass property to specify unique - appearance for the toolbar item when it is clicked. - - - - - Gets or sets the path to an image to display for the item when the user clicks it. - - - The path to the image to display when the user clicks the item. The default value - is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarDropDown ImageUrl="~/Img/inbox.gif" - ClickedImageUrl="~/Img/inboxClicked.gif" Text="DropDown1" > - <Items>
- <telerik:RadToolBarButton Text="Mail1" ClickedImageUrl="~/Img/mail1Clicked.gif" - /> - </Items>
- </telerik:RadToolBarDropDown>/
- </Items>
- </telerik:RadToolBar>
-
- - Use the ClickedImageUrl property to specify the image that will be - used when the user clicks the item. If the ClickedImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - - Gets or sets the path to an image to display when the item is disabled. - - - The path to the image to display when the item is disabled. The - default value is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/inbox.gif" - DisabledImageUrl="~/Img/inboxDisabled.gif" Text="Index" />
- </Items>
- </telerik:RadToolBar>
-
- - Use the DisabledImageUrl property to specify the image that will be - used when the item is disabled. If the DisabledImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolbar item is - disabled. - - - The CSS class applied when the toolbar item is disabled. The default value is - String.Empty. - - - By default the visual appearance of disabled toolbar items is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for the toolbar item when it is disabled. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolBar item is - focused after tabbing to it, or by using its AccessKey - - - The CSS class applied when the toolBar item is focused. The default value is - String.Empty. - - - - <style type="text/css"> - .myFocusedCssClass .rtbText - { - font-weight:bold !important; - color:red !important; - } - </style> - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton - FocusedCssClass="myFocusedCssClass" Text="Bold" />
- </Items>
- </telerik:RadToolBar>
-
- - By default the visual appearance of focused toolBar items is defined in the skin CSS - file. You can use the FocusedCssClass property to specify unique - appearance for the toolBar item when it is focused. - -
- - - Gets or sets the path to an image to display when the user focuses the - item either by tabbing to it or by using the AccessKey - - - The path to the image to display when the user user focuses the - item either by tabbing to that it or by using the AccessKey. The - default value is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/bold.gif" - FocusedImageUrl="~/Img/boldFocused.gif" Text="Bold" />
- </Items>
- </telerik:RadToolBar>
-
- - Use the FocusedImageUrl property to specify the image that will be - used when the item gets the focus after tabbing or using its AccessKey. - If the FocusedImageUrl property is set to empty string the image specified - by the ImageUrl property will be used. Use "~" (tilde) when referring to - images within the current ASP.NET application. - -
- - - Gets or sets the Cascading Style Sheet (CSS) class applied on the outmost element (<LI>). - - - The CSS class applied on the wrapping element (<LI>). The default value is empty string. - - - You can use the OuterCssClass property to specify unique - appearance for the item, or to insert elements that are before/after the link element. - - - - - Gets or sets the position of the item image according to the item text. - - - The position of the item image according to the item text. The - default value is ToolBarImagePosition.Left. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/bold.gif" - ImagePosition="Right" Text="Bold" />
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets a value indicating whether the item image should have sprite support. - - - True if the item should have sprite support; otherwise - False. The default value is False. - - - - - For internal use only - - - - - - Initializes a new instance of the RadToolBarButton class. - - Use this constructor to create and initialize a new instance of the - RadToolBarButton class using default values. - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarButton button = new RadToolBarButton(); - button.Text = "Create New"; - button.CommandName = "CreateNew"; - button.ImageUrl = "~/ToolBarImages/CreateNew.gif"; - - RadToolBar1.Items.Add(button); - - - Dim button As New RadToolBarButton() - button.Text = "Create New" - button.CommandName = "CreateNew" - button.ImageUrl = "~/ToolBarImages/CreateNew.gif" - - RadToolBar1.Items.Add(button) - - - - - - Initializes a new instance of the RadToolBarButton class with the - specified text data. - - - - Use this constructor to create and initialize a new instance of the - RadToolBarButton class using the specified text. - - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarButton button = new RadToolBarButton("Create New"); - button.CommandName = "CreateNew"; - button.ImageUrl = "~/ToolBarImages/CreateNew.gif"; - - RadToolBar1.Items.Add(button); - - - Dim button As New RadToolBarButton("Create New") - button.CommandName = "CreateNew" - button.ImageUrl = "~/ToolBarImages/CreateNew.gif" - - RadToolBar1.Items.Add(button) - - - - The text of the button. The Text property is set to the value - of this parameter. - - - - - Initializes a new instance of the RadToolBarButton class with the - specified text, checked state and group name data. - - - - Use this constructor to create and initialize a new instance of the - RadToolBarButton class using the specified text, - checked state and group name. - - - When this constructor used, the CheckOnClick property of the created - RadToolBarButton is automatically set to true. - - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarButton alighLeftButton = new RadToolBarButton("Left", false, "Alignment"); - alighLeftButton.CommandName = "AlignLeft"; - alighLeftButton.ImageUrl = "~/ToolBarImages/AlignLeft.gif"; - RadToolBar1.Items.Add(alighLeftButton); - - RadToolBarButton alignCenterButton = new RadToolBarButton("Center", false, "Alignment"); - alignCenterButton.CommandName = "AlignCenter"; - alignCenterButton.ImageUrl = "~/ToolBarImages/AlignCenter.gif"; - RadToolBar1.Items.Add(alignCenterButton); - - RadToolBarButton alignRightButton = new RadToolBarButton("Right", false, "Alignment"); - alignRightButton.CommandName = "AlignRight"; - alignRightButton.ImageUrl = "~/ToolBarImages/AlignRight.gif"; - RadToolBar1.Items.Add(alignRightButton); - - - Dim alighLeftButton As RadToolBarButton = New RadToolBarButton("Left", False, "Alignment") - alighLeftButton.CommandName = "AlignLeft" - alighLeftButton.ImageUrl = "~/ToolBarImages/AlignLeft.gif" - RadToolBar1.Items.Add(alighLeftButton) - - Dim alignCenterButton As RadToolBarButton = New RadToolBarButton("Center", False, "Alignment") - alignCenterButton.CommandName = "AlignCenter" - alignCenterButton.ImageUrl = "~/ToolBarImages/AlignCenter.gif" - RadToolBar1.Items.Add(alignCenterButton) - - Dim alignRightButton As RadToolBarButton = New RadToolBarButton("Right", False, "Alignment") - alignRightButton.CommandName = "AlignRight" - alignRightButton.ImageUrl = "~/ToolBarImages/AlignRight.gif" - RadToolBar1.Items.Add(alignRightButton) - - - - The text of the button. The Text property is set to the value - of this parameter. - - - The checked state of the button. The Checked property is set to the value - of this parameter. - - - The group to which the button belongs. The Group property is set - to the value of this parameter. - - - - Creates a copy of the current RadToolBarButton object. - A RadToolBarButton which is a copy of the current one. - - Use the Clone method to create a copy of the current button. All - properties of the clone are set to the same values as the current ones. - - - - - Gets a reference to the owner of the RadToolBarButton. - - - The IToolBarItemContainer control (RadToolBar, - RadToolBarDropDown, - RadToolBarSplitButton) which holds the RadToolBarButton. - - - - Gets the data item that is bound to the button - - An Object that represents the data item that is bound to the button. The default value is null - (Nothing in Visual Basic), which indicates that the button is not bound to any data item. The - return value will always be null unless accessed within a - ButtonDataBound event handler. - - - This property is applicable only during data binding. Use it along with the - ButtonDataBound event to perform additional - mapping of fields from the data item to RadToolBarButton properties. - - - The following example demonstrates how to map fields from the data item to - RadToolBarButton properties. It assumes the user has subscribed to the - ButtonDataBound event. - - private void RadToolBar1_ButtonDataBound(object sender, Telerik.Web.UI.RadToolBarButtonEventArgs e) - { - e.Button.ImageUrl = "image" + (string)DataBinder.Eval(e.Button.DataItem, "ID") + ".gif"; - e.Button.NavigateUrl = (string)DataBinder.Eval(e.Button.DataItem, "URL"); - } - - - Sub RadToolBar1_ButtonDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadToolBarButtonEventArgs) Handles RadToolBar1.ButtonDataBound - e.Button.ImageUrl = "image" & DataBinder.Eval(e.Button.DataItem, "ID") & ".gif" - e.Button.NavigateUrl = CStr(DataBinder.Eval(e.Button.DataItem, "URL")) - End Sub - - - - - - Gets or sets whether the button is separator. - - - - - Gets or sets whether the button has a check state. - - - - - Gets or sets if the button is checked. - - - The Checked property of the button depends on the - CheckOnClick property. If the - CheckOnClick property is set to - false, the Checked property will be ignored. - - When a button's Checked state is set to true, all the buttons that belong - to the same group in the RadToolBar get their Checked - state set to false. - - - - - - Gets or sets the group to which the button belongs. - - - The Group property of the button depends on the - CheckOnClick property. When several buttons - in the RadToolBar are assigned to the same group, checking one - of them will uncheck the one that is currently checked. If the - CheckOnClick property is set to - false, the Group property will be ignored. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the toolbar button is - checked. - - - The CSS class applied when the toolbar button is checked. The default value is - string.Empty. - - - By default the visual appearance of clicked toolbar buttons is defined in the skin CSS - file. You can use the ClickedCssClass property to specify unique - appearance for the toolbar button when it is clicked. - - - - - Gets or sets the path to an image to display for the button when its Checked state is "true". - - - The path to the image to display when its Checked state is "true". The default value - is empty string. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarButton ImageUrl="~/Img/alignLeft.gif" - CheckedImageUrl="~/Img/alignLeftChecked.gif" Text="Left" />
- <telerik:RadToolBarButton ImageUrl="~/Img/alignRight.gif" - CheckedImageUrl="~/Img/alignRightChecked.gif" Text="Right" - />
- </Items>
- </telerik:RadToolBar>
-
- - Use the CheckedImageUrl property to specify the image that will be - used when the button is checked. If the CheckedImageUrl - property is set to empty string the image specified by the ImageUrl - property will be used. Use "~" (tilde) when referring to images within the current - ASP.NET application. - -
- - - Gets or sets a value indicating if a checked button will get unchecked when clicked. - - - If a checked button will get unchecked when clicked. The default value is - false. - - - - Gets or sets the template for displaying the button. - - A ITemplate implemented object that contains the template - for displaying the item. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - - The following template demonstrates how to add a Calendar control in a certain - ToolBar button. - ASPX: - <telerik:RadToolBar runat="server" ID="RadToolBar1"> -
- <Items> -
- <telerik:RadToolBarDropDown Text="Date"> -
- <Items> - <telerik:RadToolBarButton Text="Date"> -
- <ItemTemplate> -
- <asp:Calendar runat="server" ID="Calendar1" - /> -
- </ItemTemplate> -
- </telerik:RadToolBarDropButton> - </Items> -
- </telerik:RadToolBarDropDown> -
- </Items> -
- </telerik:RadToolBar> -
-
- - - Gets or sets a value indicating whether clicking on the button will - postback. - - - True if the toolbar button should postback; otherwise - false. By default all the items will postback provided the user - has subscribed to the ButtonClick event. - - - If you subscribe to the ButtonClick all toolbar - buttons will postback. To turn off that behavior you should set the - PostBack property to false. - - - - Gets or sets the value associated with the toolbar button. - The value associated with the button. The default value is empty string. - - Use the Value property to specify or determine the value associated - with the button. - - - - Gets or sets the URL to link to when the button is clicked. - - The URL to link to when the button is clicked. The default value is empty - string. - - - The following example demonstrates how to use the NavigateUrl - property - - <telerik:RadToolBar id="RadToolBar1" - runat="server">
- <Items>
- <telerik:RadToolBarButton Text="News" NavigateUrl="~/News.aspx" - />
- <telerik:RadToolBarButton Text="External URL" - NavigateUrl="http://www.example.com" />
- </Items>
- </telerik:RadToolBar>
-
-
- - Use the NavigateUrl property to specify the URL to link to when - the button is clicked. Use "~" (tilde) in front of an URL within the same ASP.NET - application. When specifying external URL do not forget the protocol (e.g. - "http://"). - -
- - - Gets or sets the target window or frame to display the Web page content linked to - when the toolbar button is clicked. - - - The target window or frame to load the Web page linked to when the button is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without - frames. - - - _parent - Renders the content in the immediate frameset - parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without - frames. - - - The default value is empty string. - - - - Use the Target property to specify the frame or window that displays the - Web page linked to when the toolbar button is clicked. The Web page is specified by - setting the NavigateUrl property. - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The following example demonstrates how to use the Target - property - ASPX: - <telerik:RadToolBar runat="server" ID="RadToolBar1"> - <Items> - <telerik:RadToolBarButton Target="_blank" - NavigateUrl="http://www.google.com" /> - </Items> - </telerik:RadToolBar> - - - - - Gets or sets the command name associated with the toolbar button that is passed to the - ItemCommand event of the RadToolBar instance. - - - The command name of the toolbar button. The default value is an empty string. - - - - - Gets or sets an optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName - - - An optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName. The default value is an empty string. - - - - - Gets or sets a value indicating whether validation is performed when - the RadToolBarButton is clicked - - - true if validation is performed when the RadToolBarButton - is clicked otherwise, false. The default value is true. - - - By default, page validation is performed when the button is clicked. Page - validation determines whether the input controls associated with a validation - control on the page all pass the validation rules specified by the validation - control. You can specify or determine whether validation is performed when the button is clicked - on both the client and the server by using the CausesValidation - property. To prevent validation from being performed, set the - CausesValidation property to false. - - - - - Gets or sets the name of the validation group to which the - RadToolBarButton belongs. - - - The name of the validation group to which this RadToolBarButton - belongs. The default is an empty string (""), which indicates that this property is not set. - - - This property works only when CausesValidation - is set to true. - - - - - - Gets or sets the URL of the page to post to from the current page when the - RadToolBarButton is clicked. - - - The URL of the Web page to post to from the current page when the - RadToolBarButton is clicked. The default value is an empty - string (""), which causes the page to post back to itself. - - - - - - - - - - - - - - - - - - - - - This partial class defines the rendering of RadToolBarDropDown. - - - This partial class defines the RadToolBarDropDown. - - Represents a dropdown in the RadToolBar class. - - - Initializes a new instance of the RadToolBarDropDown class. - - Use this constructor to create and initialize a new instance of the - RadToolBarDropDown class using default values. - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarDropDown dropdown = new RadToolBarDropDown(); - dropdown.Text = "Manage"; - dropdown.ImageUrl = "~/ToolbarImages/Manage.gif"; - - RadToolBar1.Items.Add(dropdown); - - - Dim dropdown As New RadToolBarDropDown() - dropdown.Text = "Manage" - dropdown.ImageUrl = "~/ToolbarImages/Manage.gif" - - RadToolBar1.Items.Add(dropdown) - - - - - - Initializes a new instance of the RadToolBarDropDown class with the - specified text data. - - - - Use this constructor to create and initialize a new instance of the - RadToolBarDropDown class using the specified text. - - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarDropDown dropdown = new RadToolBarDropDown("Manage"); - - RadToolBar1.Items.Add(dropdown); - - - Dim dropdown As New RadToolBarDropDown("Manage") - - RadToolBar1.Items.Add(dropdown) - - - - The text of the dropdown. The Text property is set to the value - of this parameter. - - - - - Gets a RadToolBarButtonCollection object that - contains the child buttons of the dropdown. - - - A RadToolBarButtonCollection that contains the - child buttons of the dropdown. By default the collection is empty (the dropdown has no buttons). - - - Use the Buttons property to access the child buttons of the dropdown. You can also use - the Buttons property to manage the children of the dropdown. You can add, - remove or modify buttons from the Buttons collection. - - - The following example demonstrates how to programmatically modify the properties of child buttons. - - manageDropDown.Buttons[0].Text = "Users"; - manageDropDown.Buttons[0].ImageUrl = "~/ToolbarImages/ManageUsers.gif"; - - - manageDropDown.Buttons[0].Text = "Users" - manageDropDown.Buttons[0].ImageUrl = "~/ToolbarImages/ManageUsers.gif" - - - - - - Gets or sets the expand direction of the drop down. - - - The expand direction of the drop down. The - default value is ToolBarDropDownExpandDirection.Down. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarDropDown ImageUrl="~/Img/bold.gif" - ExpandDirection="Up" Text="Bold" />
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets the width of the dropdown in pixels. - - - - - Gets or sets the height of the dropdown in pixels. - - - - - Gets or sets the value. - - The value. - "Value property is not supported by RadToolBarDropDown - - - - - - - - - This Class specifies the rendering of RadToolBarSplitButton. - - - This partial class defines the RadToolBarSplitButton object. - - - This partial class defines the RadToolBarSplitButton. - - Represents a splitbutton in the RadToolBar class. - - - Initializes a new instance of the RadToolBarSplitButton class. - - Use this constructor to create and initialize a new instance of the - RadToolBarSplitButton class using default values. - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarSplitButton splitButton = new RadToolBarSplitButton(); - splitButton.Text = "News"; - splitButton.ImageUrl = "~/News.gif"; - - RadToolBar1.Items.Add(splitButton); - - - Dim splitButton As New RadToolBarSplitButton() - splitButton.Text = "News" - splitButton.ImageUrl = "~/News.gif" - - RadToolBar1.Items.Add(splitButton) - - - - - - Initializes a new instance of the RadToolBarSplitButton class with the - specified text data. - - - - Use this constructor to create and initialize a new instance of the - RadToolBarSplitButton class using the specified text. - - - - The following example demonstrates how to add items to - RadToolBar controls. - - RadToolBarSplitButton splitButton = new RadToolBarSplitButton("News"); - - RadToolBar1.Items.Add(splitButton); - - - Dim splitButton As New RadToolBarSplitButton("News") - - RadToolBar1.Items.Add(splitButton) - - - - The text of the split button. The Text property is set to the value - of this parameter. - - - - - Gets a RadToolBarButtonCollection object that - contains the child buttons of the split button. - - - A RadToolBarButtonCollection that contains the - child buttons of the split button. By default the collection is empty (the split button has - no buttons). - - - Use the Buttons property to access the child buttons of the split button. - You can also use the Buttons property to manage the children of the - current tab. You can add, remove or modify buttons from the Buttons collection. - - - The following example demonstrates how to programmatically modify the properties of child buttons. - - registerPurchaseSplitButton.Buttons[0].Text = "Cache Purchase"; - registerPurchaseSplitButton.Buttons[0].ImageUrl = "~/ToolBarImages/RegisterCachePurchase.gif"; - - registerPurchaseSplitButton.Buttons[1].Text = "Check Purchase"; - registerPurchaseSplitButton.Buttons[1].ImageUrl = "~/ToolBarImages/RegisterCheckPurchase.gif"; - - - registerPurchaseSplitButton.Buttons[0].Text = "Cache Purchase" - registerPurchaseSplitButton.Buttons[0].ImageUrl = "~/ToolBarImages/RegisterCachePurchase.gif" - - registerPurchaseSplitButton.Buttons[1].Text = "Check Purchase" - registerPurchaseSplitButton.Buttons[1].ImageUrl = "~/ToolBarImages/RegisterCheckPurchase.gif" - - - - - - Gets or sets the expand direction of the drop down. - - - The expand direction of the drop down. The - default value is ToolBarDropDownExpandDirection.Down. - - - <telerik:RadToolBar id="RadToolBar1" runat="server">
- <Items>
- <telerik:RadToolBarDropDown ImageUrl="~/Img/bold.gif" - ExpandDirection="Up" Text="Bold" />
- </Items>
- </telerik:RadToolBar>
-
-
- - - Gets or sets the width of the dropdown in pixels. - - - - - Gets or sets the height of the dropdown in pixels. - - - - Gets or sets a value, indicating if the RadToolBarSplitButton will - use the DefaultButton behavior. - - A value, indicating if the RadToolBarSplitButton wll - use the DefaultButton behavior. The default value is true - - - Use the EnableDefaultButton property to set if - RadToolBarSplitButton will use the DefaultButton - behavior or not. When the DefaultButton behavior is used, the - RadToolBarSplitButton properties are ignored and the - properties of the last selected button are used instead. Use the EnableDefaultButton - property in conjunction with the DefaultButtonIndex property to - specify which of the RadToolBarSplitButton child buttons will - be used when the RadToolBar is initially displayed. - - - The following example demonstrates how to use the EnableDefaultButton - property - - <telerik:RadToolBar id="RadToolBar1" - runat="server">
- <Items>
- <telerik:RadToolBarSplitButton EnableDefaultButton="true" - DefaultButtonIndex="1"> - <Buttons>
- <telerik:RadToolBarButton ImageUrl="~/images/red.gif" Text="Red" /> - <telerik:RadToolBarButton ImageUrl="~/images/green.gif" Text="Green" /> - <telerik:RadToolBarButton ImageUrl="~/images/blue.gif" Text="Blue" /> - </Buttons>
- </telerik:RadToolBarSplitButton>/
- </Items>
- </telerik:RadToolBar>
-
-
-
- - Gets or sets the index of the button which properties will be used by default when the - EnableDefaultButton property set to true. - - The index of the button which properties will be used by default when the - EnableDefaultButton property set to true. - The default value is 0 - - - Use the DefaultButtonIndex property to specify the button - which properties RadToolBarSplitButton will use - when the RadToolBar is initially displayed. - - - The following example demonstrates how to use the DefaultButtonIndex - property - - <telerik:RadToolBar id="RadToolBar1" - runat="server">
- <Items>
- <telerik:RadToolBarSplitButton EnableDefaultButton="true" - DefaultButtonIndex="1"> - <Buttons>
- <telerik:RadToolBarButton ImageUrl="~/images/red.gif" Text="Red" /> - <telerik:RadToolBarButton ImageUrl="~/images/green.gif" Text="Green" /> - <telerik:RadToolBarButton ImageUrl="~/images/blue.gif" Text="Blue" /> - </Buttons>
- </telerik:RadToolBarSplitButton>/
- </Items>
- </telerik:RadToolBar>
-
-
-
- - Gets or sets the template for displaying the button. - - A ITemplate implemented object that contains the template - for displaying the button. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - - The following template demonstrates how to add a Calendar control in a certain - ToolBar button. - ASPX: - <telerik:RadToolBar runat="server" ID="RadToolBar1"> -
- <Items> -
- <telerik:RadToolBarDropDown Text="Date"> -
- <Items> -
- <ItemTemplate> -
- <asp:Calendar runat="server" ID="Calendar1" - /> -
- </ItemTemplate> -
- </Items> -
- </telerik:RadToolBarDropDown> -
- </Items> -
- </telerik:RadToolBar> -
-
- - - Gets or sets a value indicating whether clicking on the button will - postback. - - - True if the toolbar split button should postback; otherwise - false. By default all the items will postback provided the user - has subscribed to the ButtonClick event. - - - If you subscribe to the ButtonClick all toolbar - buttons will postback. To turn off that behavior you should set the - PostBack property to false. - - - - Gets or sets the value associated with the toolbar split button. - The value associated with the button. The default value is empty string. - - Use the Value property to specify or determine the value associated - with the button. - - - - Gets or sets the URL to link to when the button is clicked. - - The URL to link to when the button is clicked. The default value is empty - string. - - - The following example demonstrates how to use the NavigateUrl - property - - <telerik:RadToolBar id="RadToolBar1" - runat="server">
- <Items>
- <telerik:RadToolBarSplitButton Text="News" NavigateUrl="~/News.aspx" - ImageUrl="~/Img/News.gif"> - <Buttons>
- <telerik:RadToolBarButton Text="Button1" /> - </Buttons>
- </telerik:RadToolBarSplitButton>/
- <telerik:RadToolBarButton Text="News" NavigateUrl="~/News.aspx" - />
- <telerik:RadToolBarButton Text="External URL" - NavigateUrl="http://www.example.com" />
- </Items>
- </telerik:RadToolBar>
-
-
- - Use the NavigateUrl property to specify the URL to link to when - the button is clicked. Use "~" (tilde) in front of an URL within the same ASP.NET - application. When specifying external URL do not forget the protocol (e.g. - "http://"). - -
- - - Gets or sets the target window or frame to display the Web page content linked to - when the toolbar button is clicked. - - - The target window or frame to load the Web page linked to when the button is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without - frames. - - - _parent - Renders the content in the immediate frameset - parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without - frames. - - - The default value is empty string. - - - - Use the Target property to specify the frame or window that displays the - Web page linked to when the toolbar button is clicked. The Web page is specified by - setting the NavigateUrl property. - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The following example demonstrates how to use the Target - property - ASPX: - <telerik:RadToolBar runat="server" ID="RadToolBar1"> - <Items> - <telerik:RadToolBarSplitButton Text="News" NavigateUrl="~/News.aspx" - Target="_blank" ImageUrl="~/Img/News.gif"> - <Buttons>
- <telerik:RadToolBarButton Text="Button1" /> - </Buttons>
- </telerik:RadToolBarSplitButton>/
- </Items> - </telerik:RadToolBar> -
-
- - - Gets or sets the command name associated with the toolbar button that is passed to the - ItemCommand event of the RadToolBar instance. - - - The command name of the toolbar button. The default value is an empty string. - - - - - Gets or sets an optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName - - - An optional parameter passed to the Command event of the - RadToolBar instance along with the associated - CommandName. The default value is an empty string. - - - - - Gets or sets a value indicating whether validation is performed when - the RadToolBarSplitButton is clicked - - - true if validation is performed when the - RadToolBarSplitButton is clicked otherwise, false. - The default value is true. - - - By default, page validation is performed when the button is clicked. Page - validation determines whether the input controls associated with a validation - control on the page all pass the validation rules specified by the validation - control. You can specify or determine whether validation is performed when the button is clicked - on both the client and the server by using the CausesValidation - property. To prevent validation from being performed, set the - CausesValidation property to false. - - - - - Gets or sets the name of the validation group to which the - RadToolBarSplitButton belongs. - - - The name of the validation group to which this RadToolBarSplitButton - belongs. The default is an empty string (""), which indicates that this property is not set. - - - This property works only when CausesValidation - is set to true. - - - - - - Gets or sets the URL of the page to post to from the current page when the - RadToolBarSplitButton is clicked. - - - The URL of the Web page to post to from the current page when the - RadToolBarSplitButton is clicked. The default value is an empty - string (""), which causes the page to post back to itself. - - - - - - - - - - - - - This enum specifies the position of RadComboBoxImage. - - - - - RadComboBoxImage position is set to right. - - Right - - - - RadComboBoxImage position is set to left. - - Left - - - - Provides data for the RadComboBoxItemsRequested event of the RadComboBox control. - - - - - Text is the text in the input area of the combobox. - This value can be used to filter the items that are added. - - - - - Value is the value of the currently selected item. - - - - - NumberOfItems is the number of items that have been added by all previous calls to the - ItemsRequested event handler when the ShowMoreResultsBox property is True. - - - - - EndOfItems is boolean property indicating that no more items should be requested. - Once set, the serverside ItemsRequested event is no longer fired. - - - - - Message is the message that appears in the ShowMoreResults box. - This is only used when the ShowMoreResultsBox property is True. - - - - - Gets or sets the context. - - The context. - - - - Provides data for the RadComboBoxSelectedIndexChanged event of the RadComboBox control. - - - - - Gets or sets the text. - - The text. - - - - Gets or sets the old text. - - The old text. - - - - Gets or sets the value. - - The value. - - - - Gets or sets the old value. - - The old value. - - - - For internal use only. - - - - - - - Gets or sets the command. - - The command. - - - - Gets or sets the index. - - The index. - - - - Gets or sets the ClientState. - - The ClientState. - - - - Gets or sets the text. - - The text. - - - - Gets or sets the context. - - The context. - - - - Gets or sets the number of items. - - The number of items. - - - - This Class defines the RadComboBoxContext object and gets or sets the text and the number of items in it. - - - - - Gets or sets the number of items. - - The number of items. - - - - Gets or sets the text. - - The text. - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the text. - - The text. - - - - Gets or sets the value. - - The value. - - - - Gets or sets the enabled. - - The enabled. - - - - Gets or sets the checked indices. - - The checked indices. - - - - Gets or sets the checked items text overflows. - - The checked items text overflows. - - - - - - - - - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - - - - - Attributes collection interface - - - - - Border styles collection interface - - - - - Columns collection - - - - - Elements collection interface - - - - - Collection of ExcelML elements - - - - - Default constructor for the elements collection - - - - - Add element to the collection - - Element to be added to the collection - The position into which the new element was inserted - - - - Removes all items - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the Object is found in the collection; otherwise, false. - - - - etermines the index of a specific item in the IList. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Returns the item at the specified position - - Item index - - - - - Rows collection interface - - - - - Styles collection interface - - - - - Worksheet collection interface - - - - - Horizontal alignment type. Possible options are: Automatic, Left, Center, Right, Fill, CenterAcrossSelection - - - - - Vertical alignment type. Possible options include Automatic, Top, Bottom, Center. - - - - - AlignmentStyle object. Unifies the vertical and the horizontal alignment settings for a given element. - - - - - Vertical alignment setting for the current element - - - - - Horizontal alignment setting for the current element - - - - - Collection of attributes for a given object - - - - - Constructor for the Attributes collection that accepts IDictionary - - IDictionary collection of Attribute objects - - - - Default Attributes collection constructor - - - - - Add an Attribute to the collection - - - - - - - Clears the Attribute collection - - - - - Determines whether the collection contains an element with the specified key. - - The key to locate in the collection. - true if the collection contains an element with the key; otherwise, false. - - - - Returns an IDictionaryEnumerator object for the IDictionary object. - - An IDictionaryEnumerator object for the IDictionary object. - - - - Removes the element with the specified key from the collection. - - The key of the element to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.) - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets an ICollection object containing the keys of the collection. - - - - - Gets an ICollection object containing the values in the collection. - - - - - Returns the attribute located at the corresponding position - - Attribute index - Attribute object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - AutoFilter options - - - - - Defines the filtering properties for a single column of the AutoFilter range. - - - - - AutoFilter Or element - - - - - AutoFilter And element - - - - - AutoFilter Condition element - - - - - Index of AutoFilter element - - - - - AutoFilter element value - - - - - Gets/sets the FilterType of the AutoFilter element - - - - - Determines whether the AutoFilter element is visible - - - - - AutoFilter condition type - - - - - Defines a single condition in a custom AutoFilter function. - - - - - AutoFilterConditionElement constructor that accepts a string - - - - - - Default AutoFilterConditionElement constructor - - - - - Gets/sets the AutoFilter FilterConditionOperator - - - - - Gets/sets the AutoFilter value - - - - - Returns false if the value of the AutoFilter is not empty; otherwise returns true - - - - - Returns a collection containing the inner elements - - - - - Defines an AND condition in a custom AutoFilter function. - - - - - Returns the AutoFilter condition for the current AutoFilterAndElement object - - - - - Defines an OR condition in a custom AutoFilter function. - - - - - Gets the second filter condition (AutoFilterConditionElement) - - - - - Gets the first filter contidion (AutoFilterConditionElement) - - - - - Defines an AutoFilter range on the current worksheet. - - - - - AutoFilter cell range - - - - - Returns true if the AutoFilterElement is empty; otherwise returns false - - - - - Border styles collection - - - - - BorderStyles collection default constructor - - - - - BorderStyles constructor that accepts list of BorderStyles objects - - IList of BorderStyles - - - - Adds an item to the collection. - - The object to add to the collection. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the collection. - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the element is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the IList at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.) - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets/sets the BorderStyles element at a given position - - BorderStyles index - BorderStyles element - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - Border position type - - - - - Border line type - - - - - BorderStyles element - - - - - BorderStyles default constructor - - - - - BorderStyles constructor that accepts border position. - - PositionType value. - - - - Border weight. Max value is 3. - - - - - Border line style - - - - - Border position - - - - - Border color - - - - - ExcelML Cell element - - - - - Specifies the URL to which to link this cell. - - - - - Specifies the number of adjacent cells below the current cell to merge. - - - - - Specifies the number of adjacent cells across (right unless in right-to-left mode) from the current cell to merge. - - - - - Data element; specifies the value of this cell. - - - - - The ID of the style that has to be applied to the current cell. - - - - - The name of the Column element that corresponds to the current cell - - - - - Cells collection - - - - - Default constructor for the CellsCollection class - - - - - Adds a Cell element to the collection - - CellElement value - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the collection. - - - - - Gets a CellElement by given unique column name - - Column name - CellElement object - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the object is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.) - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - An IEnumerator object that can be used to iterate through the collection. - - - - Gets a value indicating whether the IList has a fixed size. - - - - - Gets a value indicating whether the IList is read-only. - - - - - Gets/sets the CellElement object at a given index - - Cell index - CellElement object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - Represents a column in the XMLSS structure - - - - - True specifies that this column is hidden. False (or omitted) specifies that this column is shown. - - - - - Specifies the width of a column. This value must be greater than or equal to 0. - - - - - Columns collection - - - - - Default constructor for the Columns collection - - - - - ColumnsCollection constructor that accepts list of Column object - - IList of Column objects - - - - Adds an item to the collection. - - The object to add to the collection. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the collection. - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the object is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - An IEnumerator object that can be used to iterate through the collection. - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets/sets a ColumnElement at a given index - - Column index - ColumnElement object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - Data type - - - - - Data type converter - - - - - Converts a DataType value to string - - DataType value - String representation of the DataType - - - - Returns true if the object can be converted to any of the supported data types - - Object to be tested - Returns true if conversion is possible; otherwise, false. - - - - Converts an object to String - - Object to be converted - Converted string. - - - - Convert .NET data type to XMLSS DataType - - Object to be converted. - Converted DataType value - - - - DataElement object - - - - - DataElement default constructor - - - - - DataElement constructor that accepts object - - - - - - DataElement constructor that accepts DataTypeConverter and object - - DataTypeConverter object - DataElement object value - - - - DataType of the DataElement object - - - - - Value of the DataElement object - - - - - DataElement inner elements - - - - - FontStyleElement object - - - - - Font underline - - - - - Font size - - - - - Font italic - - - - - Font name - - - - - Font color - - - - - Font bold - - - - - InteriorPatternType element. Determines the fill patern. - - - - - InteriorStyleElement object - - - - - Interior pattern style - - - - - Interior color - - - - - Number format type - - - - - Number format style - - - - - Number format type - - - - - GridExportExcelMLStyleCreatedArgs event arguments object - - - - - GridExportExcelMLStyleCreatedArgs event arguments object - - Collection of styles - - - - Collection of styles - - - - - ExcelML row type - - - - - GridExcelMLExportRowCreatedEventHandler delegate - - Sender object - Event arguments - - - - GridExcelMLExportStylesCreatedEventHandler delegate - - Sender object - Event arguments - - - - GridExportExcelMLRowCreatedArgs event arguments object - - - - - GridExportExcelMLRowCreatedArgs event arguments object - - RowElement object - ExcelML row type - Parent worksheet - - - - ExcelML row type - - - - - Row object - - - - - Parent worksheet element - - - - - GridExcelMLWorkBookCreatedEventArgs event arguments - - - - - GridExcelMLWorkBookCreatedEventArgs event arguments - - ExcelML workbook - - - - ExcelML workbook - - - - - ExcelML row element - - - - - Specifies the height of a row. This value must be greater than or equal to 0. - - - - - Cells corresponding to the current row - - - - - The row element cannot have inner elements. - - - - - Collection of RowElement objects - - - - - RowsCollection default constructor - - - - - RowsCollection constructor that accepts list of RowElement objects - - IList of RowElement objects - - - - Adds an item to the collection. - - The object to add to the collection. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection, - - - - Removes all items from the IList. - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the object is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets/sets the RowElement object by given row index - - Row index - RowElement object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - Style element - - - - - Style element constructor that accepts Style ID - - Style ID string - - - - Default constructor for the StyleElement - - - - Id must be set - - - - Alignment style object. Speicifies both horizontal and vertical alignment. - - - - - Borders set for the current style - - - - - Number format - - - - - Interior style - - - - - Font style - - - - - Cell protection settings - - - - - Style ID string - - - - - Collection of StyleElement objects - - - - - StylesCollection constructor that accepts list of StyleElement objects - - IList of StyleElement objects - - - - Default constructor for StylesCollection - - - - - Adds an item to the collection. - - The object to add to the collection. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the collection. - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the object is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.) - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - An IEnumerator object that can be used to iterate through the collection. - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets/sets StyleElement object at given position - - Style index - StyleElement object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - StylesElement object - - - - - Styles collection - - - - - The Styles element cannot have attributes - - - - - ExcelML table element - - - - - Returns the columns that belong to the current table - - - - - Returns current table's row elements - - - - - Utilily class. Provides helpful methods for ExcelML units conversion. - - - - - Converts Color object to HTML color string - - Color object - HTML-coded color string - - - - Converts Unit values to point (UnitType.Point) - - Unit value - Point value (double) - - - - Converts ASP.NET HorizontalAlign to ExcelML HorizontalAlignmentType - - HorizontalAlign value - HorizontalAlignmentType value - - - - ExcelML workbook element - - - - - Renders the workbook - - StringBuilder that holds the rendered output - - - - Styles collection for the workbook element - - - - - Worksheet elements belonging to this workbook - - - - - Worksheet collection - - - - - WorksheetCollection constructor that accepts list of worksheets - - IList of worksheet objects - - - - Default constructor for the WorksheetCollection - - - - - Adds an item to the collection. - - The object to add to the collection. - The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection. - - - - Removes all items from the collection. - - - - - Determines whether the collection contains a specific value. - - The object to locate in the collection. - true if the object is found in the collection; otherwise, false. - - - - Determines the index of a specific item in the collection. - - The object to locate in the collection. - The index of value if found in the collection; otherwise, -1. - - - - Inserts an item to the collection at the specified index. - - The zero-based index at which value should be inserted. - The object to insert into the collection. - - - - Removes the first occurrence of a specific object from the collection. - - The object to remove from the collection. - - - - Removes the collection item at the specified index. - - The zero-based index of the item to remove. - - - - Copies the elements of the ICollection to an Array, starting at a particular Array index. (Inherited from ICollection.) - - The one-dimensional Array that is the destination of the elements copied from ICollection. The Array must have zero-based indexing. - The zero-based index in array at which copying begins. - - - - Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.) - - An IEnumerator object that can be used to iterate through the collection. - - - - Gets a value indicating whether the collection has a fixed size. - - - - - Gets a value indicating whether the collection is read-only. - - - - - Gets/sets the Worksheet element residing at the specified position - - Worksheet index - WorksheetElement object - - - - Gets the number of elements contained in the ICollection. (Inherited from ICollection.) - - - - - Gets a value indicating whether access to the ICollection is synchronized (thread safe). (Inherited from ICollection.) - - - - - Gets an object that can be used to synchronize access to the ICollection. (Inherited from ICollection.) - - - - - ExcelML Worksheet element - - - - - WorksheetElement constructor that accepts name (string) - - - - - - Default constructor for the WorksheetElement - - - - - Determines whether the worksheet is protected - - - - - Returns the AutoFilterElement object - - - - - Worksheet name - - - - - Provides the possibility to change various options for the current Worksheet. - - - - - Table element belonging to the current worksheet - - - - - Enumeration determining in what format the Excel data will be exported. - - - - - Class holding settings associated with the exporting to Excel functionality. - - - - - Gets or sets in which format the Excel data will be exported. - - The Excel format type. - - - - Gets or sets the file extension for RadGrid Excel export. - - The file extension for RadGrid Excel export. - - - - Determines whether RadGrid will fit the image within the boundaries of its parent cell (true) or will leave it with the default dimensions (false). - False by default. BIFF only. - - - - Represents the effects that can be used in an animation. - - - - Represents a ContextMenuTargettarget, specified - by the id of a server control. - - - - - An abstract class representing a target - which RadContextMenu will be attached to. - - - - - Gets or sets the ID of the server control RadContextMenu - will attach to. - - - - - Specifies that the RadContextMenu will be displayed - when a right-click on the entire page occurs. - - - - - Represents a ContextMenuTargettarget, specified - by client-side element id. - - - - - Gets or sets the ID of the element RadContextMenu - will attach to on the client. - - - - - Represents a ContextMenuTargettarget, specified - by element tagName. - - - - - Gets or sets the TagName of the elements RadContextMenu - will search and attach to on the client. - - - - - Represents a collection of objects. - - - - - Initializes a new instance of the ContextMenuTargetCollection class. - - The owner of the collection. - - - - Appends the specified ContextMenuTarget object to the end of the current ContextMenuTargetCollection. - - - The ContextMenuTarget to append to the end of the current ContextMenuTargetCollection. - - - - - Determines whether the specified ContextMenuTarget object is in the current - ContextMenuTargetCollection. - - - The ContextMenuTarget object to find. - - - true if the current collection contains the specified ContextMenuTarget object; - otherwise, false. - - - - - Copies the contents of the current ContextMenuTargetCollection into the - specified array of ContextMenuTarget objects. - - The target array. - The index to start copying from. - - - Appends the specified array of ContextMenuTarget objects to the end of the - current ContextMenuTargetCollection. - - - The array of ContextMenuTarget o append to the end of the current - ContextMenuTargetCollection. - - - - - Determines the index of the specified ContextMenuTarget object in the collection. - - - The ContextMenuTarget to locate. - - - The zero-based index of tab within the current ContextMenuTargetCollection, - if found; otherwise, -1. - - - - - Inserts the specified ContextMenuTarget object in the current - ContextMenuTargetCollection at the specified index location. - - The zero-based index location at which to insert the ContextMenuTarget. - The ContextMenuTarget to insert. - - - - Removes the specified ContextMenuTarget object from the current - ContextMenuTargetCollection. - - - The ContextMenuTarget object to remove. - - - - - Removes the ContextMenuTarget object at the specified index - from the current ContextMenuTargetCollection. - - The zero-based index of the tab to remove. - - - - Gets the ContextMenuTarget object at the specified index in - the current ContextMenuTargetCollection. - - - The zero-based index of the ContextMenuTarget to retrieve. - - - The ContextMenuTarget at the specified index in the - current ContextMenuTargetCollection. - - - - - This enumeration controls the expand behaviour of the items. - - - - - The default behaviour - all items are loaded in the intial request and expand is performed on the client, without server interaction - - - - - The child items are loaded from the web service specified by the RadMenu.WebServicePath and RadMenu.WebServiceMethod properties. - - - - - - - - - - - - - Represents a collection of objects. - - - - - Gets the object at the specified index from the collection. - - - The at the specified index in the collection. - - - The zero-based index of the to retrieve. - - - - - Defines the relationship between a data item and the menu item it is binding to in a - control. - - - - - - - - - Specifies the exact value of the ClickedCssClass property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the ClickedCssClass property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledCssClass property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the DisabledCssClass property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledImageUrl property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the DisabledImageUrl property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandedImageUrl property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the ExpandedImageUrl property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandedCssClass property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the ExpandedCssClass property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandMode property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the ExpandMode property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the FocusedCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the FocusedCssClass property - value of the RadMenuItem that will be created during - the data binding. - - - - - Specifies the exact value of the IsSeparator property of the - RadMenuItem that will be created during the data binding. - - - - - Specifies the field, containing the IsSeparator property - value of the RadMenuItem that will be created during - the data binding. - - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the index of the selected item. - - The index of the selected item. - - - - Data class used for transferring menu items from and to web services. - - - For information about the role of each property see the - RadMenuItem class. - - - - - See RadMenuItem.ExpandMode. - - - - - See RadMenuItem.Selected. - - - - - See RadMenuItem.NavigateUrl. - - - - - See RadMenuItem.PostBack. - - - - - See RadMenuItem.Target. - - - - - See RadMenuItem.IsSeparator. - - - - - See RadMenuItem.CssClass. - - - - - See RadMenuItem.DisabledCssClass. - - - - - See RadMenuItem.ExpandedCssClass. - - - - - See RadMenuItem.FocusedCssClass. - - - - - See RadMenuItem.ClickedCssClass. - - - - - See RadMenuItem.ImageUrl. - - - - - See RadMenuItem.HoveredImageUrl. - - - - - See RadMenuItem.ClickedImageUrl. - - - - - See RadMenuItem.DisabledImageUrl. - - - - - See RadMenuItem.ExpandedImageUrl. - - - - - Represents the different ways RadPanelbar behaves when an item is - expanded. - - - - More than one item can be expanded at a time. - - - - Only one item can be expanded at a time. Expanding another item collapses the - previously expanded one. - - - - - Only one item can be expanded at a time. The expanded area occupies the entire height of the RadPanelbar. - - - - The position of the image within a panel item. - - - The image is rendered leftmost. - - - The image is rendered rightmost. - - - - Provides data for the events which represents an item in the - RadPanelBar control. - - - - - Initializes a new instance of the - RadPanelBarEventArgs class. - - - A RadPanelItem which represents an item in the - RadPanelBar control. - - - - - Gets the referenced RadPanelItem in the - RadPanelBar control when the event is raised. - - - The referenced item in the RadPanelBar control when - the event is raised. - - - Use this property to programmatically access the item referenced in the - RadPanelBar when the event is raised. - - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the expanded items. - - The expanded items. - - - - Gets or sets the selected items. - - The selected items. - - - - This partial Class defines RadPanelItem object that inherits NavigationItem, IRadPanelItemContainer - and ICloneable. - - Represents a item in the RadPanelBar control. - - - The RadPanelBar control is made up of items. Items which are immediate children - of the panelbar are root items. Items which are children of root items are child items. - - - A item usually stores data in two properties, the Text property and - the Value property. The value of the Text property is displayed - in the RadPanelBar control, and the Value property is used to store additional data. - - To create panel items, use one of the following methods: - - - Use declarative syntax to define items inline in your page or user control. - - - Use one of the constructors to dynamically create new instances of the - RadPanelItem class. These items can then be added to the - Items collection of another item or panelbar. - - - Data bind the RadPanelBar control to a data source. - - - - When the user clicks a panel item, the RadPanelBar control can navigate - to a linked Web page, post back to the server or select that item. If the - NavigateUrl property of a item is set, the - RadPanelBar control navigates to the linked page. By default, a linked page - is displayed in the same window or frame. To display the linked content in a different - window or frame, use the Target property. - - - - - - Clones this instance. - - - - - Initializes a new instance of the RadPanelItem class. - - Use this constructor to create and initialize a new instance of the - RadPanelItem class using default values. - - - The following example demonstrates how to add items to - RadPanelBar controls. - - RadPanelItem item = new RadPanelItem(); - item.Text = "News"; - item.NavigateUrl = "~/News.aspx"; - - RadPanelbar1.Items.Add(item); - - - Dim item As New RadPanelItem() - item.Text = "News" - item.NavigateUrl = "~/News.aspx" - - RadPanelbar1.Items.Add(item) - - - - - - Initializes a new instance of the RadPanelItem class with the - specified text data. - - - - Use this constructor to create and initialize a new instance of the - RadPanelItem class using the specified text. - - - - The following example demonstrates how to add items to - RadPanelBar controls. - - RadPanelItem item = new RadPanelItem("News"); - - RadPanelbar1.Items.Add(item); - - - Dim item As New RadPanelItem("News") - - RadPanelbar1.Items.Add(item) - - - - The text of the item. The Text property is set to the value - of this parameter. - - - - - Expands all parent items so the item is visible. - - - - - Initializes a new instance of the RadPanelItem class with the - specified text and URL to navigate to. - - - - Use this constructor to create and initialize a new instance of the - RadPanelItem class using the specified text and URL. - - - - This example demonstrates how to add items to RadPanelBar - controls. - - RadPanelItem item = new RadPanelItem("News", "~/News.aspx"); - - RadPanelbar1.Items.Add(item); - - - Dim item As New RadPanelItem("News", "~/News.aspx") - - RadPanelbar1.Items.Add(item) - - - - The text of the item. The Text property is set to the value - of this parameter. - - - The url which the item will navigate to. The - NavigateUrl property is set to the value of this - parameter. - - - - - Instantiates the HeaderTemplate inside the Header. - Clears all existing controls in the Header before that. - - - - - Gets the collection of child items. - - - Use this property to retrieve the child items. You can also use it to - programmatically add or remove items. - - - A RadPanelItemCollection that represents the child - items. - - - - Gets or sets a value indicating the position of the image within the item. - - One of the RadPanelItemImagePosition - Enumeration values. The default value is Left. - - - - Gets the RadPanelBar instance which contains the item. - - Use this property to obtain an instance to the - RadPanelBar object containing the item. - - - - - Gets the IRadPanelItemContainer instance which contains the current item. - - - The object which contains the item. It might be an instance of the - RadPanelBar class or the RadPanelItem - class depending on the hierarchy level. - - - The value is of the IRadPanelItemContainer type which is - implemented by the RadPanelBar class and the - RadPanelItem class. Use the Owner property when - recursively traversing items in the RadPanelBar control. - - - - - Sets or gets whether the item is separator. It also represents a logical state of - the item. Might be used in some applications for keyboard navigation to omit processing - items that are marked as separators. - - - - Gets or sets a value indicating whether the panel item is expanded. - - true if the panel item is expanded; otherwise, - false. The default is false. - - - - - Manages the item level of a particular Item instance. This property allows easy - implementation/separation of the panel items in levels. - - - - Gets or sets the height of the child item group. - - A Unit that represents the height of the child item group. The - default value is Empty. - - - If the total child group height exceeds the value specified with the - ChildGroupHeight property scrolling will be applied. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied to the element enclosing the child items. - - - The default value is empry string. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the panel item is - disabled. - - - The CSS class applied when the panel item is disabled. The default value is - "disabled". - - - By default the visual appearance of disabled panel items is defined in the skin CSS - file. You can use the DisabledCssClass property to specify unique - appearance for the panel item when it is disabled. - - - - - Gets or sets a value indicating whether clicking on the item will - postback. - - - True if the panel item should postback; otherwise - false. By default all the items will postback provided the user - has subscribed to the ItemClick event. - - - If you subscribe to the ItemClick all panel - items will postback. To turn off that behavior you should set the - PostBack property to false. - - - - - Gets or sets a value indicating whether clicking on the item will - collapse it. - - - False if the panel item should collapse; otherwise - True. - - - - Gets or sets a value indicating whether the item is selected. - - true if the item is selected; otherwise, false. The default is - false. - - - true if the item is selected; otherwise false. - The default value is false. - - - Use the Selected property to determine whether the item is currently selected. - - - - Gets or sets the text caption for the panel item. - The text of the item. The default value is empty string. - - This example demonstrates how to set the text of the item using the - Text property. - - <radP:RadPanelbar ID="RadPanelbar1" - runat="server">
- <Items>
- <radP:RadPanelItem Text="News" />
- <radP:RadPanelItem Text="News" />
- </Items>
- </radP:RadPanelbar>
-
-
- - Use the Text property to specify the text to display for the - item. - -
- - Gets or sets the URL to link to when the item is clicked. - - The URL to link to when the item is clicked. The default value is empty - string. - - - The following example demonstrates how to use the NavigateUrl - property - - <telerik:RadPanelBar id="RadPanelBar1" - runat="server">
- <Items>
- <telerik:RadPanelItem Text="News" NavigateUrl="~/News.aspx" - />
- <telerik:RadPanelItem Text="External URL" - NavigateUrl="http://www.example.com" />
- </Items>
- </telerik:RadPanelBar>
-
-
- - Use the NavigateUrl property to specify the URL to link to when - the item is clicked. Use "~" (tilde) in front of an URL within the same ASP.NET - application. When specifying external URL do not forget the protocol (e.g. - "http://"). - -
- - - Gets or sets the target window or frame to display the Web page content linked to - when the panel item is clicked. - - - The target window or frame to load the Web page linked to when the Item is - selected. Values must begin with a letter in the range of a through z (case - insensitive), except for the following special values, which begin with an - underscore: - - - - _blank - Renders the content in a new window without - frames. - - - _parent - Renders the content in the immediate frameset - parent. - - - _self - Renders the content in the frame with focus. - - - _top - Renders the content in the full window without - frames. - - - The default value is empty string. - - - - Use the Target property to specify the frame or window that displays the - Web page linked to when the panel item is clicked. The Web page is specified by - setting the NavigateUrl property. - - If this property is not set, the Web page specified by the - NavigateUrl property is loaded in the current window. - - - The following example demonstrates how to use the Target - property - ASPX: - <telerik:RadPanelBar runat="server" ID="RadPanelBar1"> - <Items> - <telerik:RadPanelItem Target="_blank" - NavigateUrl="http://www.google.com" /> - </Items> - </telerik:RadPanelBar> - - - - Gets or sets the value associated with the panel item. - The value associated with the item. The default value is empty string. - - Use the Value property to specify or determine the value associated - with the item. - - - - Gets or sets the data item represented by the item. - - An object representing the data item to which the Item is bound to. The - DataItem property will always return null when - accessed outside of ItemDataBound - event handler. - - - This property is applicable only during data binding. Use it along with the - ItemDataBound event to perform - additional mapping of fields from the data item to - RadPanelItem properties. - - - The following example demonstrates how to map fields from the data item to - %RadPanelItem properties. It assumes the user has subscribed to - the ItemDataBound:RadPanelbar.ItemDataBound - event.:RadPanelItem% - - private void RadPanelbar1_PanelItemDataBound(object sender, Telerik.WebControls.RadPanelbarEventArgs e) - { - RadPanelItem item = e.Item; - DataRowView dataRow = (DataRowView) e.Item.DataItem; - - item.ImageUrl = "image" + dataRow["ID"].ToString() + ".gif"; - item.NavigateUrl = dataRow["URL"].ToString(); - } - - - Sub RadPanel1_PanelItemDataBound(ByVal sender As Object, ByVal e As RadPanelbarEventArgs) Handles RadPanelbar1.ItemDataBound - Dim item As RadPanelItem = e.Item - Dim dataRow As DataRowView = CType(e.Item.DataItem, DataRowView) - - item.ImageUrl = "image" + dataRow("ID").ToString() + ".gif" - item.NavigateUrl = dataRow("URL").ToString() - End Sub - - - - - Gets or sets the template for displaying the item. - - A ITemplate implemented object that contains the template - for displaying the item. The default value is a null reference (Nothing in - Visual Basic), which indicates that this property is not set. - - To specify common display for all panel items use the - ItemTemplate property of the - RadPanelbar class. - - - - The following template demonstrates how to add a Calendar control in certain - panel item. - ASPX: - <radP:RadPanelbar runat="server" ID="RadPanelbar1"> -
- <Items> -
- <radP:RadPanelItem Text="Date"> -
- <Items> -
- <radP:RadPanelItem Text="SelectDate"> -
- <ItemTemplate> -
- <asp:Calendar runat="server" ID="Calendar1" - /> -
- </ItemTemplate> -
- </radP:RadPanelItem> -
- </Items> -
- </radP:RadPanelItem> -
- </Items> -
- </radP:RadPanelbar> -
-
- - - Gets or sets the content template. - - The content template. - - - - Gets or sets the template for displaying footer in - RadcomboBox. - - - - - Get the Header Template container of the RadPanelItem. - - - - Gets or sets the path to an image to display for the item. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ImageUrl property to specify the image for the item. If - the ImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - - Gets or sets a value specifying the URL of the image rendered when the node is hovered with the mouse. - - - If the HoveredImageUrl property is not set the ImageUrl property will be - used when the node is hovered. - - - - Gets or sets the path to an image to display for the item when it is disabled. - - The path to the image to display for the item. The default value is empty - string. - - - Use the DisabledImageUrl property to specify the image for the item when it is disabled. If - the DisabledImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - Gets or sets the path to an image to display for the item when it is selected. - - The path to the image to display for the item. The default value is empty - string. - - - Use the SelectedImageUrl property to specify the image for the item when it is disabled. If - the SelectedImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - Gets or sets the path to an image to display for the item when it is expanded. - - The path to the image to display for the item. The default value is empty - string. - - - Use the ExpandedImageUrl property to specify the image for the item when it is expanded. If - the ExpandedImageUrl property is set to empty string no image will be - rendered. Use "~" (tilde) when referring to images within the current ASP.NET - application. - - - - - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the panel item is - clicked. - - - The CSS class applied when the panel item is clicked. The default value is - "clicked". - - - By default the visual appearance of clicked panel items is defined in the skin CSS - file. You can use the ClickedCssClass property to specify unique - appearance for the panel item when it is clicked. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the panel item is - selected. - - - The CSS class applied when the panel item is selected. The default value is - "selected". - - - By default the visual appearance of selected panel items is defined in the skin CSS - file. You can use the SelectedCssClass property to specify unique - appearance for the panel item when it is selected. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the panel item is - opened (its child items are visible). - - - The CSS class applied when the panel item is opened. The default value is - "expanded". - - - By default the visual appearance of opened panel items is defined in the skin CSS - file. You can use the ExpandedCssClass property to specify unique - appearance for the panel item when it is opened. - - - - - Gets or sets the Cascading Style Sheet (CSS) class applied when the panel item is - focused. - - - The CSS class applied when the panel item is focused. The default value is - "focused". - - - By default the visual appearance of focused panel items is defined in the skin CSS - file. You can use the FocusedCssClass property to specify unique - appearance for the panel item when it is focused. - - - - - Represents the simple binding between the property value of an object and the property value of a - RadPanelItem. - - - - - - - - - Specifies the exact value of the ChildGroupCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ChildGroupCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the ChildGroupHeight property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ChildGroupHeight property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the ClickedCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ClickedCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the DisabledCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledImageUrl property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the DisabledImageUrl property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the Expanded property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the Expanded property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandedImageUrl property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ExpandedImageUrl property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandedCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ExpandedCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the FocusedCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the FocusedCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the ImagePosition property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the ImagePosition property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the IsSeparator property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the IsSeparator property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the PreventCollapse property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the PreventCollapse property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedCssClass property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the SelectedCssClass property - value of the RadPanelItem that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedImageUrl property of the - RadPanelItem that will be created during the data binding. - - - - - Specifies the field, containing the SelectedImageUrl property - value of the RadPanelItem that will be created during - the data binding. - - - - - A collection of RadPanelItem objects in a - RadPanelBar control. - - - The RadPanelItemCollection class represents a collection of - RadPanelItem objects. - - - Use the indexer to programmatically retrieve a - single RadPanelItem from the collection, using array notation. - - - Use the Count property to determine the total - number of panel items in the collection. - - - Use the Add method to add items in the collection. - - - Use the Remove method to remove items from the - collection. - - - - - - - - Initializes a new instance of the RadPanelItemCollection class. - - The owner of the collection. - - - - Appends the specified RadPanelItem object to the end of the current RadPanelItemCollection. - - - The RadPanelItem to append to the end of the current RadPanelItemCollection. - - - The following example demonstrates how to programmatically add items in a - RadPanelBar control. - - RadPanelItem newsItem = new RadPanelItem("News"); - RadPanelBar1.Items.Add(newsItem); - - - Dim newsItem As RadPanelItem = New RadPanelItem("News") - RadPanelBar1.Items.Add(newsItem) - - - - - Appends the specified array of RadPanelItem objects to the end of the - current RadPanelItemCollection. - - - The following example demonstrates how to use the AddRange method - to add multiple items in a single step. - - RadPanelItem[] items = new RadPanelItem[] { new RadPanelItem("First"), new RadPanelItem("Second"), new RadPanelItem("Third") }; - RadPanelBar1.Items.AddRange(items); - - - Dim items() As RadPanelItem = {New RadPanelItem("First"), New RadPanelItem("Second"), New RadPanelItem("Third")} - RadPanelBar1.Items.AddRange(items) - - - - The array of RadPanelItem o append to the end of the current - RadPanelItemCollection. - - - - - Removes the specified RadPanelItem object from the current - RadPanelItemCollection. - - - The RadPanelItem object to remove. - - - - - Removes the RadPanelItem object at the specified index - from the current RadPanelItemCollection. - - The zero-based index of the item to remove. - - - - Determines the index of the specified RadPanelItem object in the collection. - - - The RadPanelItem to locate. - - - The zero-based index of item within the current RadPanelItemCollection, - if found; otherwise, -1. - - - - - Determines whether the specified RadPanelItem object is in the current - RadPanelItemCollection. - - - The RadPanelItem object to find. - - - true if the current collection contains the specified RadPanelItem object; - otherwise, false. - - - - - Inserts the specified RadPanelItem object in the current - RadPanelItemCollection at the specified index location. - - The zero-based index location at which to insert the RadPanelItem. - The RadPanelItem to insert. - - - - Searches all nodes for a RadPanelItem with a Text property - equal to the specified text. - - The text to search for - A RadPanelItem whose Text property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - - - - Searches all nodes for a RadPanelItem with a Value property - equal to the specified value. - - The value to search for - A RadPanelItem whose Value property equals to the specified argument. Null (Nothing) is returned when no matching node is found. - This method is not recursive. - - - - Searches the nodes in the collection for a RadPanelItem which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadPanelItem that matches the specified arguments. Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Returns the first RadPanelItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadPanel1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadPanelItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadPanel1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadPanelItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Text property equal to - the specified value. - - - A RadPanelItem whose Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the RadPanelbar control for the first - RadPanelItem with a Value property equal - to the specified value. - - - A RadPanelItem whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Gets the RadPanelItem object at the specified index in - the current RadPanelItemCollection. - - - The zero-based index of the RadPanelItem to retrieve. - - - The RadPanelItem at the specified index in the - current RadPanelItemCollection. - - - - - This Class defines RadPanelItemBindingCollection that inherits NavigationItemBindingCollection. - - - - - This class is a container for the Spell Dialog UI - - - - - - - - - - - - - - - - - - - - - Holds the Spell Localization strings for the RadSpell dialog (loaded from RadSpell.Dialog.resx). - - - - - - - - - Gets or sets a string containing the localization language for the RadSpell Dialog - - - - - Gets or sets a string containing the localization language for the RadSpell Dialog - - - - - SpellCheckValidator validates a form based on a RadSpell control. It can be used to enforce spellchecking before form submission. - The ControlToValidate must be set to the ID of a RadSpell control. The RadSpell control should be separately set up with a control to check and other options. - - - - - A collection of RadToolBarButton objects in - RadToolBarDropDown and - RadToolBarSplitButton. - - - The RadToolBarButtonCollection class represents a collection of - RadToolBarButton objects. The RadToolBarButton objects - in turn represent buttons within a RadToolBarDropDown or - a RadToolBarSplitButton. - - - Use the indexer to programmatically retrieve a - single RadToolBarButton from the collection, using array notation. - - - Use the Count property to determine the total - number of buttons in the collection. - - - Use the Add method to add buttons to the collection. - - - Use the Remove method to remove buttons from the - collection. - - - - - - - A collection of RadToolBarItem objects in a - RadToolBar control. - - - The RadToolBarItemCollection class represents a collection of - RadToolBarItem objects. The RadToolBarItem objects - in turn represent items (buttons, dropdowns or split buttons) within a - RadToolBar control. - - Use the indexer to programmatically retrieve a - single RadToolBarItem from the collection, using array notation. - - - Use the Count property to determine the total - number of toolbar items in the collection. - - - Use the Add method to add toolbar items to the collection. - - - Use the Remove method to remove toolbar items from the - collection. - - - - - - - Initializes a new instance of the RadToolBarItemCollection class. - - The owner of the collection. - - - - Appends the specified RadToolBarItem object to the end of the - current RadToolBarItemCollection. - - - The RadToolBarItem to append to the end of the current - RadToolBarItemCollection. - - - The following example demonstrates how to programmatically add toolbar buttons in a - RadToolBar control. - - RadToolBarButton createNewButton = new RadToolBarButton("CreateNew"); - RadToolBar1.Items.Add(createNewButton); - - - Dim createNewButton As RadToolBarButton = New RadToolBarButton("CreateNew") - RadToolBar1.Items.Add(createNewButton) - - - - - - Searches the ToolBarItemCollection for the first - RadToolBarItem with a Text property equal to - the specified value. - - - A RadToolBarItem which Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the ToolBarItemCollection for the first button item - (RadToolBarButton or - RadToolBarSplitButton) with a - Value property equal - to the specified value. - - - A button item which Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the ToolBarItemCollection for the first - RadToolBarItem with a Text property equal to - the specified value. - - - A RadToolBarItem which Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the ToolBarItemCollection for the first button item - (RadToolBarButton or - RadToolBarSplitButton) with a - Value property equal - to the specified value. - - - A button item which Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - A Boolean indicating a case-sensitive or insensitive comparison (true indicates a case-insensitive comparison). - - - - Searches the items in the collection for a RadToolBarItem which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadToolBarItem that matches the specified arguments. Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Returns the first RadToolBarItem - that matches the conditions defined by the specified predicate. - The predicate should returns a boolean value. - - - The following example demonstrates how to use the FindItem method. - - void Page_Load(object sender, EventArgs e) - { - RadToolBar1.FindItem(ItemWithEqualsTextAndValue); - } - private static bool ItemWithEqualsTextAndValue(RadToolBarItem item) - { - if (item.Text == item.Value) - { - return true; - } - else - { - return false; - } - } - - - Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) - RadToolBar1.FindItem(ItemWithEqualsTextAndValue) - End Sub - Private Shared Function ItemWithEqualsTextAndValue(ByVal item As RadToolBarItem) As Boolean - If item.Text = item.Value Then - Return True - Else - Return False - End If - End Function - - - The Predicate <> that defines the conditions of the element to search for. - - - - Determines whether the specified RadToolBarItem object is in the current - RadToolBarItemCollection. - - - The RadToolBarItem object to find. - - - true if the current collection contains the specified - RadToolBarItem object; otherwise, false. - - - - - Appends the specified array of RadToolBarItem objects - to the end of the current RadToolBarItemCollection. - - - The following example demonstrates how to use the AddRange method - to add multiple items in a single step. - - RadToolBarItem[] items = new RadToolBarItem[] { new RadToolBarButton("Create New"), - new RadToolBarDropDown("Manage"), - new RadToolBarSplitButton("Register Purchase")}; - RadToolBar1.Items.AddRange(items); - - - Dim items() As RadToolBarItem = {New RadToolBarButton("Create New"), - New RadToolBarDropDown("Manage"), - New RadToolBarSplitButton("Register Purchase")} - RadToolBar1.Items.AddRange(items) - - - - The array of RadToolBarItem objects to append to the end of the current - RadToolBarItemCollection. - - - - - Determines the index of the specified RadToolBarItem object in - the collection. - - - The RadToolBarItem to locate. - - - The zero-based index of a toolbar item within the current - RadToolBarItemCollection, - if found; otherwise, -1. - - - - - Inserts the specified RadToolBarItem object in the current - RadToolBarItemCollection at the specified index location. - - The zero-based index location at which to insert the - RadToolBarItem. - The RadToolBarItem to insert. - - - - Removes the specified RadToolBarItem object from the current - RadToolBarItemCollection. - - - The RadToolBarItem object to remove. - - - - - Removes the RadToolBarItem object at the specified index - from the current RadToolBarItemCollection. - - The zero-based index of the item to remove. - - - - Gets the RadToolBarItem object at the specified index in - the current RadToolBarItemCollection. - - - The zero-based index of the RadToolBarItem to retrieve. - - - The RadToolBarItem at the specified index in the - current RadToolBarItemCollection. - - - - - Initializes a new instance of the - RadToolBarButtonCollection class. - - The owner of the collection. - - - - Appends the specified RadToolBarButton object to the end of the - current RadToolBarButtonCollection. - - - The RadToolBarButton to append to the end of the current - RadToolBarButtonCollection. - - - The following example demonstrates how to programmatically add toolbar buttons to a - RadToolBarDropDown. - - RadToolBarDropDown manageDropDown = new RadToolBarDropDown("Manage"); - - RadToolBarButton manageUsersButton = new RadToolBarButton("Users"); - manageDropDown.Buttons.Add(manageUsersButton); - - RadToolBarButton manageOrdersButton = new RadToolBarButton("Orders"); - manageDropDown.Buttons.Add(manageOrdersButton); - - RadToolBar1.Items.Add(manageDropDown); - - - Dim manageDropDown As RadToolBarDropDown = New RadToolBarDropDown("Manage") - - Dim manageUsersButton As RadToolBarButton = New RadToolBarButton("Users") - manageDropDown.Buttons.Add(manageUsersButton) - - Dim manageOrdersButton As RadToolBarButton = New RadToolBarButton("Orders") - manageDropDown.Buttons.Add(manageOrdersButton) - - RadToolBar1.Items.Add(manageDropDown) - - - - - - Searches the RadToolBarButtonCollection for the first - RadToolBarButton with a Text property equal to - the specified value. - - - A RadToolBarButton which Text property is equal - to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the RadToolBarButtonCollection for the first - RadToolBarButton with a Value property equal - to the specified value. - - - A RadToolBarButton whose Value property is - equal to the specified value. - - - The method returns the first item matching the search criteria. This method is not recursive. If no item is - matching then null (Nothing in VB.NET) is - returned. - - The value to search for. - - - - Searches the items in the collection for a RadToolBarButton - which contains the specified attribute and attribute value. - - The name of the target attribute. - The value of the target attribute - The RadToolBarButton that matches the specified arguments. - Null (Nothing) is returned if no node is found. - This method is not recursive. - - - - Determines whether the specified RadToolBarButton object - is in the current RadToolBarButtonCollection. - - - The RadToolBarButton object to find. - - - true if the current collection contains the specified - RadToolBarButton object; otherwise, false. - - - - - Appends the specified array of RadToolBarButton objects - to the end of the current RadToolBarButtonCollection. - - - The following example demonstrates how to use the AddRange method - to add multiple buttons in a single step. - - RadToolBarDropDown manageDropDown = new RadToolBarDropDown("Manage"); - RadToolBarButton[] buttons = new RadToolBarButton[] { new RadToolBarButton("Users"), - new RadToolBarButton("Orders")}; - - manageDropDown.Buttons.AddRange(buttons); - - RadToolBar1.Items.Add(manageDropDown); - - - Dim manageDropDown As RadToolBarDropDown = New RadToolBarDropDown("Manage") - Dim buttons() As RadToolBarButton = {New RadToolBarButton("Users"), - New RadToolBarButton("Orders")} - - manageDropDown.Buttons.AddRange(buttons) - - RadToolBar1.Items.Add(manageDropDown) - - - - The array of RadToolBarButton objects to append to - the end of the current RadToolBarButtonCollection. - - - - - Determines the index of the specified RadToolBarButton object in - the collection. - - - The RadToolBarButton to locate. - - - The zero-based index of a toolbar button within the current - RadToolBarButtonCollection, - if found; otherwise, -1. - - - - - Inserts the specified RadToolBarButton object in the current - RadToolBarButtonCollection at the specified index location. - - The zero-based index location at which to insert the - RadToolBarButton. - The RadToolBarButton to insert. - - - - Removes the specified RadToolBarButton object from the current - RadToolBarButtonCollection. - - - The RadToolBarButton object to remove. - - - - - Removes the RadToolBarButton object at the specified index - from the current RadToolBarButtonCollection. - - The zero-based index of the button to remove. - - - - Gets the RadToolBarButton object at the specified index in - the current RadToolBarButtonCollection. - - - The zero-based index of the RadToolBarButton to retrieve. - - - The RadToolBarButton at the specified index in the - current RadToolBarButtonCollection. - - - - - - - - - - - - - - - - - Represents the animation settings like type and duration for the control. - - - - Gets or sets the duration in milliseconds of the animation. - - An integer representing the duration in milliseconds of the animation. - The default value is 450 milliseconds. - - - - - For internal use only. - - - - - - - Gets or sets the log entries. - - The log entries. - - - - A context menu control used with the control. - - - - The RadTreeViewContextMenu object is used to assign context menus to nodes. Use the - property to add context menus for a - object. - - - Use the property to assign specific context menu to a given . - - - - The following example demonstrates how to add context menus declaratively - - <telerik:RadTreeView ID="RadTreeView1" runat="server"> - <ContextMenus> - <telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <telerik:RadMenuItem Text="Menu1Item1"></telerik:RadMenuItem> - <telerik:RadMenuItem Text="Menu1Item2"></telerik:RadMenuItem> - </Items> - </telerik:RadTreeViewContextMenu> - <telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <telerik:RadMenuItem Text="Menu2Item1"></telerik:RadMenuItem> - <telerik:RadMenuItem Text="Menu2Item2"></telerik:RadMenuItem> - </Items> - </telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - <telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeNode> - </Nodes> - </telerik:RadTreeView> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OnClientItemClicking is not available for RadTreeViewContextMenu. Use the OnClientContextMenuItemClicking property of RadTreeView instead. - - - - - OnClientItemClicked is not available for RadTreeViewContextMenu. Use the OnClientContextMenuItemClicked property of RadTreeView instead. - - - - - OnClientShowing is not available for RadTreeViewContextMenu. Use the OnClientContextMenuShowing property of RadTreeView instead. - - - - - OnClientShown is not available for RadTreeViewContextMenu. Use the OnClientContextMenuShown property of RadTreeView instead. - - - - - Provides a collection container that enables RadTreeView to maintain a list of its RadTreeViewContextMenus. - - - - - Initializes a new instance of the RadTreeViewContextMenuCollection class for the specified RadTreeView. - - The RadTreeView that the RadTreeViewContextMenuCollection is created for. - - - - Adds the specified RadTreeViewContextMenu object to the collection - - The RadTreeViewContextMenu to add to the collection - - - - Determines whether the specified RadTreeViewContextMenu is in the parent - RadTreeView's RadTreeViewContextMenuCollection object. - - The RadTreeViewContextMenu to search for in the collection - true if the specified RadTreeViewContextMenu exists in - the collection; otherwise, false. - - - - Copies the RadTreeViewContextMenu instances stored in the - RadTreeViewContextMenuCollection - object to an System.Array object, beginning at the specified index location in the System.Array. - - The System.Array to copy the RadTreeViewContextMenu instances to. - The zero-based relative index in array where copying begins - - - Appends the specified array of objects to the end of the - current . - - - The array of to append to the end of the current - . - - - - - Retrieves the index of a specified RadTreeViewContextMenu object in the collection. - - The RadTreeViewContextMenu - for which the index is returned. - The index of the specified RadTreeViewContextMenu - instance. If the RadTreeViewContextMenu is not - currently a member of the collection, it returns -1. - - - - Inserts the specified RadTreeViewContextMenu object - to the collection at the specified index location. - - The location in the array at which to add the RadTreeViewContextMenu instance. - The RadTreeViewContextMenu to add to the collection - - - - Removes the specified RadTreeViewContextMenu - from the parent RadTreeView's RadTreeViewContextMenuCollection - object. - - The RadTreeViewContextMenu to be removed - To remove a control from an index location, use the RemoveAt method. - - - - Removes a child RadTreeViewContextMenu, at the - specified index location, from the RadTreeViewContextMenuCollection - object. - - The ordinal index of the RadTreeViewContextMenu - to be removed from the collection. - - - - Gets a reference to the RadTreeViewContextMenu at the specified index location in the - RadTreeViewContextMenuCollection object. - - The location of the RadTreeViewContextMenu in the RadTreeViewContextMenuCollection - The reference to the RadTreeViewContextMenu. - - - - Represents the method that handles the ContextMenuItemClick - event of a RadTreeView control. - - The source of the event. - A RadTreeViewContextMenuEventArgs - that contains the event data. - - - The ContextMenuItemClick event is raised - when an item in the RadTreeViewContextMenu of the - RadTreeView control is clicked. - - - A click on a RadTreeViewContextMenu item of the - RadTreeView makes a postback only if an event handler is attached - to the ContextMenuItemClick event. - - - - The following example demonstrates how to display information about the clicked item in the - RadTreeViewContextMenu shown after a right-click - on a RadTreeNode. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) - { - lblInfo.Text = string.Format(@"You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text); - } - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - <%@ Page Language="VB" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - Sub RadTreeView1_ContextMenuItemClick(ByVal sender as Object, ByVal e as RadTreeViewContextMenuEventArgs) - lblInfo.Text = String.Format("You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", _ - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text) - End Sub - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - - - - Provides data for the ContextMenuItemClick - event of the RadTreeView control. This class cannot be inherited. - - - - The ContextMenuItemClick event is raised - when an item in the RadTreeViewContextMenu of the - RadTreeView control is clicked. - - - A click on a RadTreeViewContextMenu item of the - RadTreeView makes a postback only if an event handler is attached - to the ContextMenuItemClick event. - - - - The following example demonstrates how to display information about the clicked item in the - RadTreeViewContextMenu shown after a right-click - on a RadTreeNode. - - <%@ Page Language="C#" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) - { - lblInfo.Text = string.Format(@"You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text); - } - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - <%@ Page Language="VB" AutoEventWireup="true" %> - <%@ Register TagPrefix="Telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> - - <script runat="server"> - Sub RadTreeView1_ContextMenuItemClick(ByVal sender as Object, ByVal e as RadTreeViewContextMenuEventArgs) - lblInfo.Text = String.Format("You clicked on Menu Item {0}(""{1}"") of Node {2}(""{3}"")", _ - e.MenuItem.Index, e.MenuItem.Text, e.Node.Index, e.Node.Text) - End Sub - </script> - - <html> - <body> - <form id="form1" runat="server"> - <Telerik:RadScriptManager ID="RadScriptManager1" runat="server"></Telerik:RadScriptManager> - <br /> - <asp:Label ID="lblInfo" style="border:solid 1px black; background-color:InfoBackground;font:normal 12px Courier New;" runat="server">Click on a context menu item to see the information for it.</asp:Label> - <br /> - <Telerik:RadTreeView ID="RadTreeView1" runat="server" OnContextMenuItemClick="RadTreeView1_ContextMenuItemClick"> - <ContextMenus> - <Telerik:RadTreeViewContextMenu ID="ContextMenu1"> - <Items> - <Telerik:RadMenuItem Text="Menu1Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu1Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - <Telerik:RadTreeViewContextMenu Skin="Outlook" ID="ContextMenu2"> - <Items> - <Telerik:RadMenuItem Text="Menu2Item1"></Telerik:RadMenuItem> - <Telerik:RadMenuItem Text="Menu2Item2"></Telerik:RadMenuItem> - </Items> - </Telerik:RadTreeViewContextMenu> - </ContextMenus> - <Nodes> - <Telerik:RadTreeNode Text="Node1" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node11" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node12" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node2" ContextMenuID="ContextMenu2"> - <Nodes> - <Telerik:RadTreeNode Text="Node21" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - <Telerik:RadTreeNode Text="Node22" ContextMenuID="ContextMenu2"></Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeNode> - </Nodes> - </Telerik:RadTreeView> - - </form> - </body> - </html> - - - - - - Initializes a new instance of the RadTreeViewContextMenuEventArgs class. - - A RadTreeNode which represents a - node in the RadTreeView control. - - A RadMenuItem which represents an - item in the RadTreeViewContextMenu control. - - - - - Gets the referenced RadMenuItem in the - RadTreeViewContextMenu control - when the event is raised. - - - Use this property to programmatically access the item referenced in the - RadTreeViewContextMenu when the event is raised. - - - - - Gets the referenced RadTreeNode in the - RadTreeView control when the event is raised. - - - Use this property to programmatically access the item referenced in the - RadTreeNode when the event is raised. - - - - - Specifies the checked state of . - - - - - The is not checked - - - - - The is checked - - - - - The is in Indeterminate mode (some of its child nodes is not checked) - - - - - This enumeration controls the expand behaviour of the nodes. - - - - - The default behaviour - all nodes are loaded in the intial request and expand is performed on the client, without server interaction - - - - - Forces firing of the NodeExpand event - a postback occurs and developers can populate the node with its children in server side event handler - - - - - Forces firing of the NodeExpand event asyncronously from the client without postback - the NodeExpand event fires and child nodes added to the node collection are automatically transferred to the client without postback. - - - - - The child nodes are loaded from the web service specified by the RadTreeView.WebServicePath and RadTreeView.WebServiceMethod properties. - - - - - Specifies where the loading message is shown when Client-side load on demand is used. - - - - - If the node text is "Some Text", the text is changed to "(loading ...) Some Text" when child nodes are being loaded (Assuming the LoadingMessage property has been set to "(loading...)"; - - - - - If the node text is "Some Text", the text is changed to "Some Text (loading ...)" when child nodes are being loaded (Assuming the LoadingMessage property has been set to "(loading...)"; - - - - - The text is not changed and (loading ...)" when child nodes are being loaded (Assuming the LoadingMessage property has been set to "(loading...)"; - - - - - No loading text is displayed at all. - - - - - Specifies the position at which the user has dragged and dropped the source node(s) with regards to the - destination node. - - - - - The source node(s) is dropped over (onto) the destination node. - - - - - The source node(s) is dropped above (before) the destination node. - - - - - The source node(s) is dropped below (after) the destination node. - - - - - Provides data for the event of the control. - - - - - Initializes a new instance of the class. - - A list of objects representing the source (dragged) nodes. - A representing the destination node. - - A value representing the drop position of the - source node(s) with regards to the destination node. - - - - - Initializes a new instance of the class. - - A list of objects representing the source (dragged) nodes. - A string representing the id of the HTML element on which the source nodes are dropped. - - - - Gets the source (dragged) node. - - - A object representing the currently dragged node. The first dragged node is - returned if there is more than one dragged node. - - - - - Gets the destination node. - - - A object representing the destination node. - - - - - Gets all source (dragged) nodes. - - - A list of object representing the source nodes. - - - - - Gets or sets the position at which the user drops the source node(s) with regards to the destination nodes. - - - One of the enumeration values. - - - - - Gets or sets the ID of the HTML element on which the source node(s) is dropped. - - - A string representing the ID of the HTML element on which the source node(s) is dropped. - - - - - Provides data for the event of the control. - - - - - Provides data for the , , - , , - and - events of the control. - - - - - Initializes a new instance of the class. - - - A which represents a node in the control. - - - - - Gets the referenced node in the control when the event is raised. - - - The referenced node in the control when the event is raised. - - - Use this property to programmatically access the node referenced in the control when the event is raised. - - - - - Initializes a new instance of the class - - A object representing the node being edited. - A string representing the text entered by the user. - - - - Gets the text which the user entered during node editing. - - - - - Represents the method that handles the event provided by the control. - - - - - Represents the method that handles the event provided by the control. - - - - - Represents the method that handles the , , - , , - and - events provided by the control. - - - - - Data class used for transferring tree nodes from and to web services. - - - For information about the role of each property see the - class. - - - - - See RadTreeNode.ExpandMode. - - - - - See RadTreeNode.NavigateUrl. - - - - - See RadTreeNode.PostBack. - - - - - The CssClass of the RadTreeNode. - - - - - See RadTreeNode.DisabledCssClass. - - - - - See RadTreeNode.SelectedCssClass. - - - - - See RadTreeNode.ContentCssClass. - - - - - See RadTreeNode.HoveredCssClass. - - - - - See RadTreeNode.ImageUrl. - - - - - See RadTreeNode.HoveredImageUrl. - - - - - See RadTreeNode.DisabledImageUrl. - - - - - See RadTreeNode.ExpandedImageUrl. - - - - - See RadTreeNode.ContextMenuID. - - - - - See RadTreeNode.Checked. - - - - - Represents the simple binding between the property value of an object and the property value of a - RadTreeNode. - - - - - Specifies the exact value of the ContextMenuID property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the ContextMenuID property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the AllowDrag property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the AllowDrag property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the AllowDrop property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the AllowDrop property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the AllowEdit property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the AllowEdit property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the Category property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the Category property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the Checkable property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the Checkable property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the Checked property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the Checked property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledCssClass property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the DisabledCssClass property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the DisabledImageUrl property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the DisabledImageUrl property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the EnableContextMenu property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the EnableContextMenu property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the Expanded property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the Expanded property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandedImageUrl property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the ExpandedImageUrl property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the ExpandMode property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the ExpandMode property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the HoveredCssClass property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the HoveredCssClass property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedCssClass property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the SelectedCssClass property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the ContentCssClass property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the ContentCssClass property - value of the RadTreeNode that will be created during - the data binding. - - - - - Specifies the exact value of the SelectedImageUrl property of the - RadTreeNode that will be created during the data binding. - - - - - Specifies the field, containing the SelectedImageUrl property - value of the RadTreeNode that will be created during - the data binding. - - - - - Defines the relationship between a data item and the menu item it is binding to in a - control. - - - - - Gets the object at the specified index in - the current . - - - The zero-based index of the to retrieve. - - - The at the specified index in the - current . - - - - - Represents the animation settings like type and duration for the control. - - - - Gets or sets the duration in milliseconds of the animation. - - An integer representing the duration in milliseconds of the animation. - The default value is 200 milliseconds - - - - - For internal use only. - - - - - - - Gets or sets the expanded nodes. - - The expanded nodes. - - - - Gets or sets the collapsed nodes. - - The collapsed nodes. - - - - Gets or sets the checked nodes. - - The checked nodes. - - - - Gets or sets the selected nodes. - - The selected nodes. - - - - Gets or sets the log entries. - - The log entries. - - - - Gets or sets the scroll position. - - The scroll position. - - - - For internal use only. - - - - - - - For internal use only. - - - - - - - Gets or sets the name of the command. - - The name of the command. - - - - Gets or sets the index. - - The index. - - - - Gets or sets the index of the dest. - - The index of the dest. - - - - Gets or sets the source nodes indices. - - The source nodes indices. - - - - Gets or sets the state of the client. - - The state of the client. - - - - Gets or sets the HTML element id. - - The HTML element id. - - - - Gets or sets the tree id. - - The tree id. - - - - Gets or sets the drop position. - - The drop position. - - - - Gets or sets the index of the menu item. - - The index of the menu item. - - - - Gets or sets the context menu ID. - - The context menu ID. - - - - Gets or sets the node edit text. - - The node edit text. - - - - Gets or sets the data. - - The data. - - - - Derives from HttpWorker request; Updates the current RadProgressContext - with upload progress information; - - - - - Represents the method that will handle the event that has an - UploadedFileEventArgs event data. - - The RadUpload instance which fired the event. - An UploadedFileEventArgs that contain the event data. - - - - UploadedFileEventArgs is the base class for the RadUpload event data. - - - - Gets the currently processed UploadedFile. - - UploadedFile object that contains information about - the currently processed file. - - - The following example demonstrates how to use the - UploadedFile property to save a file in the - FileExists event. - - Private Sub RadUpload1_FileExists(ByVal sender As Object, ByVal e As WebControls.UploadedFileEventArgs) Handles RadUpload1.FileExists - Dim TheFile As Telerik.WebControls.UploadedFile = e.UploadedFile - - e.UploadedFile.SaveAs(Path.Combine(RadUpload1.TargetFolder, TheFile.GetName + "1" + TheFile.GetExtension)) - End Sub - - - private void RadUpload1_FileExists(object sender, Telerik.WebControls.UploadedFileEventArgs e) - { - Telerik.WebControls.UploadedFile TheFile = e.UploadedFile; - - TheFile.SaveAs(Path.Combine(RadUpload1.TargetFolder, TheFile.GetName() + "1" + TheFile.GetExtension())); - } - - - - - - Represents the method that will handle the custom validation event. - - The RadUpload instance which fired the event. - - A ValidateFileEventArgs that contain the - event data. - - - - - Provides data for the ValidatingFile - event of the RadUpload control. - - - - A ValidatingFileEventArgs is passed to the - ValidatingFile event handler to - provide event data to the handler. The - ValidatingFile event event is raised - when validation is performed on the server. This allows you to perform a custom - server-side validation routine on a file of a - RadUpload control. - - - - - - Gets or sets whether the value specified by - UploadedFile property passed - validation. - - - true to indicate that the value specified by the - UploadedFile property passed - validation; otherwise, false - - - - Once your validation routine finishes, use the IsValid - property to indicate whether the value specified by the - UploadedFile property - passed validation. This value determines whether the file from the - RadUpload control passed validation. - - - - This example demonstrates how to implement validation for filenames. - - Private Sub RadUpload1_ValidatingFile(ByVal sender As Object, ByVal e As WebControls.ValidateFileEventArgs) Handles RadUpload1.ValidatingFile - If e.UploadedFile.GetExtension.ToLower() = ".zip" Then - 'The zip files are not allowed for upload - e.IsValid = False - End If - End Sub - - - private void RadUpload1_ValidatingFile(object sender, ValidateFileEventArgs e) - { - if (e.UploadedFile.GetExtension().ToLower() == ".zip") - { - //The zip files are not allowed for upload - e.IsValid = false; - } - } - - - - - - Gets or sets whether the internal validation should continue validating the file - specified by the UploadedFile property. - - - false to indicate that the internal validation should validate - the file specified by the UploadedFile property; otherwise, - true - - - Once your validation routine finishes, use the SkipInternalValidation - property to skip the internal validation provided by the RadUpload - control. - - - This example demostrates how to implement custom validation for specific file type. - - - Private Sub RadUpload1_ValidatingFile(ByVal sender As Object, ByVal e As WebControls.ValidateFileEventArgs) Handles RadUpload1.ValidatingFile - If e.UploadedFile.GetExtension.ToLower = ".zip" Then - Dim maxZipFileSize As Integer = 10000000 '~10MB - If e.UploadedFile.ContentLength > maxZipFileSize Then - e.IsValid = False - End If - 'The zip files are not validated for file size, extension and mime type - e.SkipInternalValidation = True - End If - End Sub - - - private void RadUpload1_ValidatingFile(object sender, ValidateFileEventArgs e) - { - if (e.UploadedFile.GetExtension().ToLower() == ".zip") - { - int maxZipFileSize = 10000000; //~10MB - if (e.UploadedFile.ContentLength > maxZipFileSize) - { - e.IsValid = false; - } - //The zip files are not validated for file size, extension and content type - e.SkipInternalValidation = true; - } - } - - - MaxFileSize Property (Telerik.WebControls.RadUpload) - AllowedMimeTypes Property (Telerik.WebControls.RadUpload) - AllowedFileExtensions Property (Telerik.WebControls.RadUpload) - - - - Stores a single request field - header data and body info (does not hold the entire body). - No boundary here. - - - - - Continuously fills the current request field member (header or body); - - The byte data of the current request field - Indicates if this is the last chunk of information - - - - Returns null if the header is not complete yet: - - - - - Records field information - - the raw byte array for the field (if the entire field is in the byte array, - this would include the header and the body) - indicates if this is the final part of the field body data (e.g., in terms - of the request parser - if the boundary is reached after this field) - - - - Contains only fields with complete headers - - - - - The most current field, which header is complete - - - - - This Class gets or sets the ProgressArea strings. - - - - - Gets or sets the cancel. - - The cancel. - - - - Gets or sets the name of the current file. - - The name of the current file. - - - - Gets or sets the uploaded files. - - The uploaded files. - - - - Gets or sets the total files. - - The total files. - - - - Gets or sets the uploaded. - - The uploaded. - - - - Gets or sets the total. - - The total. - - - - Gets or sets the elapsed time. - - The elapsed time. - - - - Gets or sets the estimated time. - - The estimated time. - - - - Gets or sets the transfer speed. - - The transfer speed. - - - - This Classs gets or sets the Upload strings. - - - - - Gets or sets the select. - - The select. - - - - Gets or sets the remove. - - The remove. - - - - Gets or sets the add. - - The add. - - - - Gets or sets the clear. - - The clear. - - - - Gets or sets the delete. - - The delete. - - - - This enum specifies the ProgressIndicators. - - - - - ProgressIndicators is set to None. - - None = 0 - - - - ProgressIndicators is set to TotalProgressBar. - - TotalProgressBar = 1 - - - - ProgressIndicators is set to TotalProgress. - - TotalProgress = 2 - - - - ProgressIndicators is set to TotalProgressPercent. - - TotalProgressPercent = 4 - - - - ProgressIndicators is set to RequestSize. - - RequestSize = 8 - - - - ProgressIndicators is set to FilesCountBar. - - FilesCountBar = 16 - - - - ProgressIndicators is set to FilesCount. - - FilesCount = 32 - - - - ProgressIndicators is set to FilesCountPercent. - - FilesCountPercent = 64 - - - - ProgressIndicators is set to SelectedFilesCount. - - SelectedFilesCount = 128 - - - - ProgressIndicators is set to CurrentFileName. - - CurrentFileName = 256 - - - - ProgressIndicators is set to TimeElapsed. - - TimeElapsed = 512 - - - - ProgressIndicators is set to TimeEstimated. - - TimeEstimated = 1024 - - - - ProgressIndicators is set to TransferSpeed. - - TransferSpeed = 2048 - - - - This Class defines the RadUploadProgressHandler that inherits IHttpHandler. - - - - - Enables processing of HTTP Web requests by a custom HttpHandler that - implements the interface. - - An object that provides - references to the intrinsic server objects (for example, Request, Response, Session, - and Server) used to service HTTP requests. - - - - Gets a value indicating whether another request can use the - instance. - - true if the instance is reusable; - otherwise, false. - - - - - This Class defines the RadUploadProgressHandler. - - - - - The tooltip text for the Close titlebar button. - - - - - The tooltip text for the Maximize titlebar button. - - - - - The tooltip text for the Minimize titlebar button. - - - - - The tooltip text for the Reload titlebar button. - - - - - The tooltip text for the PinOn titlebar button. - - - - - The tooltip text for the PinOff titlebar button. - - - - - The tooltip text for the Restore titlebar button. - - - - - The text for the OK button. - - - - - The text for the Cancel button. - - - - - The text for the Yes button. - - - - - The text for the No button. - - - - - - - - - - - - - - - - - - - - - - - - - Adds a new shortcut to the collection. - - The name of the command that will be executed. - The key combination that will trigger the command - - For more information and for the available commands see this help article: - http://www.telerik.com/help/aspnet-ajax/radwindow-keyboard-support.html - - - - - - - - - - - - - Adds the elements from the specified collection - to the end of the target . - - The collection that will be extended. - The items that will be added. - is null - - - index is out of range. - - - first is null. - second is null. - resultSelector is null. - - - - This type is used internally by the data binding infrastructure and is not intended to be used directly from your code. - - - - - - Initializes a new instance of the class. - - The source. - - - - Holds extension methods for . - - - - - Sorts the elements of a sequence using the specified sort descriptors. - - A sequence of values to sort. - The sort descriptors used for sorting. - - An whose elements are sorted according to a . - - - - - Projects each element of a sequence into a new form. - - - An whose elements are the result of invoking a - projection selector on each element of . - - A sequence of values to project. - A projection function to apply to each element. - - - - Groups the elements of a sequence according to a specified key selector function. - - An whose elements to group. - A function to extract the key for each element. - - An with items, - whose elements contains a sequence of objects and a key. - - - - - Sorts the elements of a sequence in ascending order according to a key. - - - An whose elements are sorted according to a key. - - - A sequence of values to order. - - - A function to extract a key from an element. - - - - - Sorts the elements of a sequence in descending order according to a key. - - - An whose elements are sorted in descending order according to a key. - - - A sequence of values to order. - - - A function to extract a key from an element. - - - - - Calls - or depending on the . - - The source. - The key selector. - The sort direction. - - An whose elements are sorted according to a key. - - - - - Groups the elements of a sequence according to a specified . - - An whose elements to group. - The group descriptors used for grouping. - - An with items, - whose elements contains a sequence of objects and a key. - - - - - Calculates the results of given aggregates functions on a sequence of elements. - - An whose elements will - be used for aggregate calculation. - The aggregate functions. - Collection of s calculated for each function. - - - - Calculates the results of a given aggregate function on a sequence of elements. - - An whose elements will - be used for aggregate calculation. - The aggregate function. - Collection of s calculated for the function. - - - - Filters a sequence of values based on a predicate. - - - An that contains elements from the input sequence - that satisfy the condition specified by . - - An to filter. - A function to test each element for a condition. - - - - Filters a sequence of values based on a collection of . - - The source. - The filter descriptors. - - An that contains elements from the input sequence - that satisfy the conditions specified by each filter descriptor in . - - - - - Returns a specified number of contiguous elements from the start of a sequence. - - - An that contains the specified number - of elements from the start of . - - The sequence to return elements from. - The number of elements to return. - is null. - - - - Bypasses a specified number of elements in a sequence - and then returns the remaining elements. - - - An that contains elements that occur - after the specified index in the input sequence. - - - An to return elements from. - - - The number of elements to skip before returning the remaining elements. - - is null. - - - Returns the number of elements in a sequence. - The number of elements in the input sequence. - - The that contains the elements to be counted. - - is null. - - - Returns the element at a specified index in a sequence. - The element at the specified position in . - An to return an element from. - The zero-based index of the element to retrieve. - is null. - is less than zero. - - - - Creates a from an where T is . - - - A that contains elements from the input sequence. - - - The to create a from. - - - is null. - - - - - Base class for all descriptors used for - handling the logic for property changed notifications. - - - - - Raises the event. - - The instance containing the event data. - - - - Calls - creating a new instance of with given . - - Name of the property that is changed. - - - - Occurs when a property changes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents a filtering descriptor which serves as a container for one or more child filtering descriptors. - - - - - Base class for all used for - handling the logic for property changed notifications. - - - - - Represents a filtering abstraction that knows how to create predicate filtering expression. - - - - - Creates a predicate filter expression used for collection filtering. - - The instance expression, which will be used for filtering. - A predicate filter expression. - - - - Creates a filter expression by delegating its creation to - , if - is , otherwise throws - - The instance expression, which will be used for filtering. - A predicate filter expression. - Parameter should be of type - - - - Creates a predicate filter expression used for collection filtering. - - The parameter expression, which will be used for filtering. - A predicate filter expression. - - - - Creates a predicate filter expression combining - expressions with . - - The parameter expression, which will be used for filtering. - A predicate filter expression. - - - - Gets or sets the logical operator used for composing of . - - The logical operator used for composition. - - - - Gets or sets the filter descriptors that will be used for composition. - - The filter descriptors used for composition. - - - - Logical operator used for filter descriptor composition. - - - - - Combines filters with logical AND. - - - - - Combines filters with logical OR. - - - - - The class enables implementation of custom filtering logic. - - - - - The method checks whether the passed parameter satisfies filter criteria. - - - - - Creates a predicate filter expression that calls . - - The parameter expression, which parameter - will be passed to method. - - - - If false will not execute. - - - - - Represents declarative filtering. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The member. - The filter operator. - The filter value. - - - - Initializes a new instance of the class. - - The member. - The filter operator. - The filter value. - If set to true indicates that this filter descriptor will be case sensitive. - - - - Creates a predicate filter expression. - - The parameter expression, which will be used for filtering. - A predicate filter expression. - - - - Determines whether the specified descriptor - is equal to the current one. - - The other filter descriptor. - - True if all members of the current descriptor are - equal to the ones of , otherwise false. - - - - - Determines whether the specified - is equal to the current descriptor. - - - Calls - if is , otherwise - returns false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current filter descriptor. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the member name which will be used for filtering. - - The member that will be used for filtering. - - - - Gets or sets the type of the member that is used for filtering. - Set this property if the member type cannot be resolved automatically. - Such cases are: items with ICustomTypeDescriptor, XmlNode or DataRow. - Changing this property does not raise - event. - - The type of the member used for filtering. - - - - Gets or sets the filter operator. - - The filter operator. - - - - Gets or sets the target filter value. - - The filter value. - - - - Gets or sets a value indicating whether this filter descriptor is case sensitvive. - - true if the filter descriptor is case sensitive; otherwise, - false. The default value is true. - - - - Represents collection of . - - - - - Operator used in - - - - - Left operand must be smaller than the right one. - - - - - Left operand must be smaller than or equal to the right one. - - - - - Left operand must be equal to the right one. - - - - - Left operand must be different from the right one. - - - - - Left operand must be larger than the right one. - - - - - Left operand must be larger than or equal to the right one. - - - - - Left operand must start with the right one. - - - - - Left operand must end with the right one. - - - - - Left operand must contain the right one. - - - - - Left operand must be contained in the right one. - - - - InvalidOperationException. - - - InvalidOperationException. - - - - Represents group with aggregate functions. - - - - - Represents an item that is created after grouping. - - - - - Represents an item that is created after grouping. - - - - - Gets the key for this group. - - The key for this group. - - - - Gets the items in this groups. - - The items in this group. - - - - Gets a value indicating whether this instance has sub groups. - - - true if this instance has sub groups; otherwise, false. - - - - - Gets the count. - - The count. - - - - Gets the subgroups, if is true, otherwise empty collection. - - The subgroups. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Gets a value indicating whether this instance has any sub groups. - - - true if this instance has sub groups; otherwise, false. - - - - - Gets the number of items in this group. - - The items count. - - - - Gets the subgroups, if is true, otherwise empty collection. - - The subgroups. - - - - Gets the items in this groups. - - The items in this group. - - - - Gets the key for this group. - - The key for this group. - - - - Gets the aggregate results generated for the given aggregate functions. - - The aggregate results for the provided aggregate functions. - functions is null. - - - - Gets or sets the aggregate functions projection for this group. - This projection is used to generate aggregate functions results for this group. - - The aggregate functions projection. - - - - Represents the basic class that supports creating functions that provide statistical information about a set of items. - - - - - Creates the aggregate expression that is used for constructing expression - tree that will calculate the aggregate result. - - The grouping expression. - - - - - Generates default name for this function using this type's name. - - - Function name generated with the following pattern: - {.}_{} - - - - - Gets or sets the informative message to display as an illustration of the aggregate function. - - The caption to display as an illustration of the aggregate function. - - - - Gets or sets the name of the aggregate function, which appears as a property of the group record on which records the function works. - - The name of the function as visible from the group record. - - - - Gets or sets a string that is used to format the result value. - - The format string. - - - - Represents a result returned by an aggregate function. - - - - - Initializes a new instance of the class. - - The value of the result. - The number of arguments used for the calculation of the result. - Function that generated the result. - function is null. - - - - Initializes a new instance of the class. - - that generated the result. - function is null. - - - - Initializes a new instance of the class. - - The value of the result. - that generated the result. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Called when a property has changed. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Gets or sets the value of the result. - - The value of the result. - - - - Gets the formatted value of the result. - - The formatted value of the result. - - - - Gets or sets the number of arguments used for the calulation of the result. - - The number of arguments used for the calulation of the result. - - - - Gets or sets the text which serves as a caption for the result in a user interface.. - - The text which serves as a caption for the result in a user interface. - - - - Gets the name of the function. - - The name of the function. - - - - Represents a collection of items. - - - - - Gets the first which - is equal to . - - - The for the specified function if any, otherwise null. - - - - - Servers as a base class for group descriptors. Holds - that will be used to sort the groups created from the descriptor. - - - - - Represents a grouping abstraction that knows how to - create group key and group sort expressions. - - - - - Creates a group expression that returns - the grouping key for each item in a collection. - - - Expression representing an item in a collection. - - - Expression that creates group key for the given item. - - - - - Creates the group order by expression that sorts - the groups created from this descriptor. - - - The grouping expression, which represents the grouped items - created from the . - - - Expression that represents the sort criteria for each group. - - - - - Gets the sort direction for this descriptor. If the value is - no sorting will be applied. - - The sort direction. The default value is . - - - - Creates a group expression by delegating its creation to - , if - is , - otherwise throws - - - The instance expression, which will be used for grouping. - - - Expression that creates group key for the given item. - - Parameter should be of type - - - - Creates a group expression that returns - the grouping key for each item in a collection. - - - The parameter expression, which will be used for grouping. - - - Expression that creates group key for the given item. - - - - - Creates sorting key expression that sorts the groups - created from this descriptor using the group's key. - - The grouping expression, which represents the grouped items - created from the . - - Expression that represents the sort criteria for each group. - - - - - Changes the to the next logical value. - - - - - Gets or sets the sort direction for this descriptor. If the value is null - no sorting will be applied. - - The sort direction. The default value is null. - - - - Defines property for collection of . - Used by the expression data engine to create aggregates for a given group. - - - - - Gets the aggregate functions used when grouping is executed. - - The aggregate functions that will be used in grouping. - - - - Represents declarative sorting. - - - - - Gets or sets the member name which will be used for sorting. - - The member that will be used for sorting. - - - - Gets or sets the sort direction for this sort descriptor. If the value is null - no sorting will be applied. - - The sort direction. The default value is null. - - - - Gets or sets a value indicating whether member access expression used - by this builder should be lifted to null. The default value is true; - - - true if member access should be lifted to null; otherwise, false. - - - - Provided expression should have string type - - - ArgumentException. - - - ArgumentException. - - - - - - - ArgumentException. - - - did not implement . - - - - Invalid name for property or field; or indexer with the specified arguments. - - - - InvalidOperationException. - - - InvalidCastException. - - - - Holds extension methods for . - - - - - Child element with name specified by does not exists. - - -
-
diff --git a/DNN Platform/Components/WebFormsMvp/License.txt b/DNN Platform/Components/WebFormsMvp/License.txt new file mode 100644 index 00000000000..3913a7f9f67 --- /dev/null +++ b/DNN Platform/Components/WebFormsMvp/License.txt @@ -0,0 +1,36 @@ +Copyright (c) 2009, The Outercurve Foundation. The software is licensed under the (the "License"); you may not use the software except in compliance with the License. + +The text of the Ms-PL License 2.0 can be found online at: +http://www.opensource.org/licenses/ms-pl + +Microsoft Public License (Ms-PL) + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions + +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. + +A "contribution" is the original software, or any additions or changes to the software. + +A "contributor" is any person that distributes its contribution under this license. + +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights + +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. + +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations + +(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. + +(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. + +(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. + +(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. + +(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. \ No newline at end of file diff --git a/DNN Platform/Components/WebFormsMvp/WebFormsMvp.dnn b/DNN Platform/Components/WebFormsMvp/WebFormsMvp.dnn new file mode 100644 index 00000000000..0bbab720d87 --- /dev/null +++ b/DNN Platform/Components/WebFormsMvp/WebFormsMvp.dnn @@ -0,0 +1,28 @@ + + + + WebFormsMvp + Library for module development using MVP pattern. + + + DNN + .NET Foundation + https://dnncommunity.org + info@dnncommunity.org + + + https://github.com/webformsmvp/webformsmvp/releases + + + + + bin + WebFormsMvp.dll + 1.4.5 + + + + + + + diff --git a/DNN Platform/Connectors/Azure/AzureConnector.dnn b/DNN Platform/Connectors/Azure/AzureConnector.dnn index e1bd9f18bb5..5905d30bbae 100644 --- a/DNN Platform/Connectors/Azure/AzureConnector.dnn +++ b/DNN Platform/Connectors/Azure/AzureConnector.dnn @@ -1,6 +1,6 @@  - + Dnn Azure Connector The Azure Connector allows you to integrate Azure as your commenting solution with the Publisher module. ~/DesktopModules/Connectors/Azure/Images/icon-azure-32px.png @@ -8,8 +8,8 @@ 09.02.00
- DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Connectors/Azure/Dnn.AzureConnector.csproj b/DNN Platform/Connectors/Azure/Dnn.AzureConnector.csproj index 89200e4e725..0357299d451 100644 --- a/DNN Platform/Connectors/Azure/Dnn.AzureConnector.csproj +++ b/DNN Platform/Connectors/Azure/Dnn.AzureConnector.csproj @@ -69,23 +69,22 @@ False ..\..\Components\WindowsAzure\Microsoft.WindowsAzure.Storage.dll - - ..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll - True + + ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll @@ -103,6 +102,7 @@ stylecop.json + diff --git a/DNN Platform/Connectors/Azure/app.config b/DNN Platform/Connectors/Azure/app.config new file mode 100644 index 00000000000..0c9bbe869d4 --- /dev/null +++ b/DNN Platform/Connectors/Azure/app.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Connectors/Azure/packages.config b/DNN Platform/Connectors/Azure/packages.config index 1586140139e..9373f026768 100644 --- a/DNN Platform/Connectors/Azure/packages.config +++ b/DNN Platform/Connectors/Azure/packages.config @@ -1,9 +1,9 @@  - - - - - + + + + + \ No newline at end of file diff --git a/DNN Platform/Connectors/GoogleAnalytics/Dnn.GoogleAnalyticsConnector.csproj b/DNN Platform/Connectors/GoogleAnalytics/Dnn.GoogleAnalyticsConnector.csproj index d36b1f05ab2..41a30a6b62e 100644 --- a/DNN Platform/Connectors/GoogleAnalytics/Dnn.GoogleAnalyticsConnector.csproj +++ b/DNN Platform/Connectors/GoogleAnalytics/Dnn.GoogleAnalyticsConnector.csproj @@ -65,19 +65,19 @@ 7
- - ..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll @@ -88,6 +88,7 @@ stylecop.json + diff --git a/DNN Platform/Connectors/GoogleAnalytics/GoogleAnalyticsConnector.dnn b/DNN Platform/Connectors/GoogleAnalytics/GoogleAnalyticsConnector.dnn index a4888620f61..29c68350fd4 100644 --- a/DNN Platform/Connectors/GoogleAnalytics/GoogleAnalyticsConnector.dnn +++ b/DNN Platform/Connectors/GoogleAnalytics/GoogleAnalyticsConnector.dnn @@ -1,6 +1,6 @@ - + Google Analytics Connector Configure your sites Google Analytics settings. ~/DesktopModules/Connectors/GoogleAnalytics/Images/GoogleAnalytics_32X32_Standard.png @@ -8,10 +8,10 @@ 09.02.00 - DNN Community - .NET Foundation and Contributors - https://dnncommunity.org - info@dnncommunity.org + .NET Foundation and Contributors + DNN Community + https://dnncommunity.org + info@dnncommunity.org diff --git a/DNN Platform/Connectors/GoogleAnalytics/app.config b/DNN Platform/Connectors/GoogleAnalytics/app.config new file mode 100644 index 00000000000..c63cc7d0666 --- /dev/null +++ b/DNN Platform/Connectors/GoogleAnalytics/app.config @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Connectors/GoogleAnalytics/packages.config b/DNN Platform/Connectors/GoogleAnalytics/packages.config index e20aaf2d525..dea6b00f56c 100644 --- a/DNN Platform/Connectors/GoogleAnalytics/packages.config +++ b/DNN Platform/Connectors/GoogleAnalytics/packages.config @@ -1,7 +1,7 @@  - - - + + + \ No newline at end of file diff --git a/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj b/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj index 2e0afe427f0..4d9a6d6bcd6 100644 --- a/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj +++ b/DNN Platform/Connectors/GoogleTagManager/Dnn.GoogleTagManagerConnector.csproj @@ -66,19 +66,19 @@ 7 - - ..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll @@ -89,6 +89,7 @@ stylecop.json + diff --git a/DNN Platform/Connectors/GoogleTagManager/GoogleTagManager.config b/DNN Platform/Connectors/GoogleTagManager/GoogleTagManager.config index c0c823a2f4e..c2a85307979 100644 --- a/DNN Platform/Connectors/GoogleTagManager/GoogleTagManager.config +++ b/DNN Platform/Connectors/GoogleTagManager/GoogleTagManager.config @@ -4,7 +4,7 @@ DotNetNuke.Services.Analytics.GoogleTagManagerEngine, DNN.Connectors.GoogleTagManager Head - False + True diff --git a/DNN Platform/Connectors/GoogleTagManager/GoogleTagManagerConnector.dnn b/DNN Platform/Connectors/GoogleTagManager/GoogleTagManagerConnector.dnn index 057f1f91700..015a6885fdd 100644 --- a/DNN Platform/Connectors/GoogleTagManager/GoogleTagManagerConnector.dnn +++ b/DNN Platform/Connectors/GoogleTagManager/GoogleTagManagerConnector.dnn @@ -1,6 +1,6 @@ - + Google Tag Manager Connector Configure your sites Google Tag Manager settings. ~/DesktopModules/Connectors/GoogleTagManager/Images/GoogleTagManager_32X32_Standard.png @@ -8,10 +8,10 @@ 09.02.00 - DNN Community - .NET Foundation and Contributors - https://dnncommunity.org - info@dnncommunity.org + .NET Foundation and Contributors + DNN Community + https://dnncommunity.org + info@dnncommunity.org diff --git a/DNN Platform/Connectors/GoogleTagManager/app.config b/DNN Platform/Connectors/GoogleTagManager/app.config new file mode 100644 index 00000000000..c63cc7d0666 --- /dev/null +++ b/DNN Platform/Connectors/GoogleTagManager/app.config @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Connectors/GoogleTagManager/packages.config b/DNN Platform/Connectors/GoogleTagManager/packages.config index e20aaf2d525..dea6b00f56c 100644 --- a/DNN Platform/Connectors/GoogleTagManager/packages.config +++ b/DNN Platform/Connectors/GoogleTagManager/packages.config @@ -1,7 +1,7 @@  - - - + + + \ No newline at end of file diff --git a/DNN Platform/Controls/SolpartMenu/spmenu.js b/DNN Platform/Controls/SolpartMenu/spmenu.js index 013fd4ab71b..c217318aea2 100644 --- a/DNN Platform/Controls/SolpartMenu/spmenu.js +++ b/DNN Platform/Controls/SolpartMenu/spmenu.js @@ -1,2134 +1,2134 @@ -//------------------------------------------------------// -// Solution Partner's ASP.NET Hierarchical Menu Control // -// Copyright (c) 2002-2010 // -// Jon Henning - Solution Partner's Inc // -// jhenning@solpart.com - http://www.solpart.com // -// Compatible Menu Version: // -// // -// "; - this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "DnnFormNumericTextBoxItem", initalizeScript); - - return this._textBox; - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - this.FormMode = DnnFormMode.Short; - } - - private void TextChanged(object sender, EventArgs e) - { - this.UpdateDataSource(this.Value, this._textBox.Text, this.DataField); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormPagesItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormPagesItem.cs deleted file mode 100644 index a6e49ca7a35..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormPagesItem.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Services.Localization; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnFormPagesItem : DnnFormComboBoxItem - { - public DnnFormPagesItem() - { - this.ListSource = TabController.GetPortalTabs(this.PortalSettings.PortalId, Null.NullInteger, true, "<" + Localization.GetString("None_Specified") + ">", true, false, true, true, false); - this.ListTextField = "TabName"; - this.ListValueField = "TabID"; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormSkinsItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormSkinsItem.cs deleted file mode 100644 index 5493942ad0e..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormSkinsItem.cs +++ /dev/null @@ -1,116 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Entities.Portals; - using DotNetNuke.UI.Skins; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnFormSkinsItem : DnnFormItemBase - { - // private DropDownList _containerCombo; - private DnnComboBox _containerCombo; - private object _containerValue; - - // private DropDownList _skinCombo; - private DnnComboBox _skinCombo; - private object _skinValue; - - public string ContainerDataField { get; set; } - - public bool IncludePortalSkins { get; set; } - - public int PortalId { get; set; } - - public string SkinDataField { get; set; } - - protected override WebControl CreateControlInternal(Control container) - { - var panel = new Panel(); - - container.Controls.Add(panel); - - var skinLabel = new Label { Text = this.LocalizeString("Skin") }; - skinLabel.CssClass += "dnnFormSkinLabel"; - panel.Controls.Add(skinLabel); - - // _skinCombo = new DropDownList { ID = ID + "_SkinComboBox" }; - this._skinCombo = new DnnComboBox { ID = this.ID + "_SkinComboBox" }; - this._skinCombo.CssClass += "dnnFormSkinInput"; - this._skinCombo.SelectedIndexChanged += this.SkinIndexChanged; - panel.Controls.Add(this._skinCombo); - - DnnFormComboBoxItem.BindListInternal(this._skinCombo, this._skinValue, this.GetSkins(SkinController.RootSkin), "Key", "Value"); - - var containerLabel = new Label { Text = this.LocalizeString("Container") }; - containerLabel.CssClass += "dnnFormSkinLabel"; - panel.Controls.Add(containerLabel); - - // _containerCombo = new DropDownList { ID = ID + "_ContainerComboBox" }; - this._containerCombo = new DnnComboBox { ID = this.ID + "_ContainerComboBox" }; - this._containerCombo.CssClass += "dnnFormSkinInput"; - this._containerCombo.SelectedIndexChanged += this.ContainerIndexChanged; - panel.Controls.Add(this._containerCombo); - - DnnFormComboBoxItem.BindListInternal(this._containerCombo, this._containerValue, this.GetSkins(SkinController.RootContainer), "Key", "Value"); - - return panel; - } - - protected override void DataBindInternal() - { - this.DataBindInternal(this.SkinDataField, ref this._skinValue); - - this.DataBindInternal(this.ContainerDataField, ref this._containerValue); - - this.Value = new Pair { First = this._skinValue, Second = this._containerValue }; - } - - protected override void LoadControlState(object state) - { - base.LoadControlState(state); - var pair = this.Value as Pair; - if (pair != null) - { - this._skinValue = pair.First; - this._containerValue = pair.Second; - } - } - - private void ContainerIndexChanged(object sender, EventArgs e) - { - this.UpdateDataSource(this._containerValue, this._containerCombo.SelectedValue, this.ContainerDataField); - } - - private void SkinIndexChanged(object sender, EventArgs e) - { - this.UpdateDataSource(this._skinValue, this._skinCombo.SelectedValue, this.SkinDataField); - } - - private Dictionary GetSkins(string skinRoot) - { - // load host skins - var skins = SkinController.GetSkins(null, skinRoot, SkinScope.Host).ToDictionary(skin => skin.Key, skin => skin.Value); - - if (this.IncludePortalSkins) - { - // load portal skins - var portal = PortalController.Instance.GetPortal(this.PortalId); - - foreach (var skin in SkinController.GetSkins(portal, skinRoot, SkinScope.Site)) - { - skins.Add(skin.Key, skin.Value); - } - } - - return skins; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormToggleButtonItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormToggleButtonItem.cs deleted file mode 100644 index 290c57b7cd6..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnFormToggleButtonItem.cs +++ /dev/null @@ -1,88 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI; - using System.Web.UI.WebControls; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnFormToggleButtonItem : DnnFormItemBase - { - // private DnnRadButton _checkBox; - private CheckBox _checkBox; - - public DnnFormToggleButtonItem() - { - this.Mode = CheckBoxMode.TrueFalse; - } - - public enum CheckBoxMode - { - TrueFalse = 0, - YN = 1, - YesNo = 2, - } - - public CheckBoxMode Mode { get; set; } - - protected override WebControl CreateControlInternal(Control container) - { - // _checkBox = new DnnRadButton {ID = ID + "_CheckBox", ButtonType = RadButtonType.ToggleButton, ToggleType = ButtonToggleType.CheckBox, AutoPostBack = false}; - this._checkBox = new CheckBox { ID = this.ID + "_CheckBox", AutoPostBack = false }; - - this._checkBox.CheckedChanged += this.CheckedChanged; - container.Controls.Add(this._checkBox); - - // Load from ControlState - if (!this._checkBox.Page.IsPostBack) - { - } - - switch (this.Mode) - { - case CheckBoxMode.YN: - case CheckBoxMode.YesNo: - var stringValue = this.Value as string; - if (stringValue != null) - { - this._checkBox.Checked = stringValue.StartsWith("Y", StringComparison.InvariantCultureIgnoreCase); - } - - break; - default: - this._checkBox.Checked = Convert.ToBoolean(this.Value); - break; - } - - return this._checkBox; - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - this.FormMode = DnnFormMode.Short; - } - - private void CheckedChanged(object sender, EventArgs e) - { - string newValue; - switch (this.Mode) - { - case CheckBoxMode.YN: - newValue = this._checkBox.Checked ? "Y" : "N"; - break; - case CheckBoxMode.YesNo: - newValue = this._checkBox.Checked ? "Yes" : "No"; - break; - default: - newValue = this._checkBox.Checked ? "true" : "false"; - break; - } - - this.UpdateDataSource(this.Value, newValue, this.DataField); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGrid.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGrid.cs deleted file mode 100644 index c2a3c2875ea..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGrid.cs +++ /dev/null @@ -1,63 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGrid : RadGrid - { - public int ScreenRowNumber { get; set; } - - public int RowHeight { get; set; } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - this.EnableEmbeddedBaseStylesheet = false; - Utilities.ApplySkin(this); - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - if (string.IsNullOrEmpty(this.ClientSettings.ClientEvents.OnGridCreated)) - { - this.ClientSettings.ClientEvents.OnGridCreated = "$.dnnGridCreated"; - } - - this.PreRender += new EventHandler(this.DnnGrid_PreRender); - - this.MasterTableView.NoMasterRecordsText = Localization.GetString("NoRecords", Localization.SharedResourceFile); - } - - private void DnnGrid_PreRender(object sender, EventArgs e) - { - var items = this.MasterTableView.Items; - if (this.ScreenRowNumber == 0) - { - this.ScreenRowNumber = 15; - } - - if (items.Count > this.ScreenRowNumber) - { - // need scroll - this.ClientSettings.Scrolling.AllowScroll = true; - this.ClientSettings.Scrolling.UseStaticHeaders = true; - - if (this.RowHeight == 0) - { - this.RowHeight = 25; - } - - this.ClientSettings.Scrolling.ScrollHeight = this.RowHeight * this.ScreenRowNumber; - } - else - { - this.ClientSettings.Scrolling.AllowScroll = false; - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridAttachmentColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridAttachmentColumn.cs deleted file mode 100644 index 36948e98f56..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridAttachmentColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridGroupSplitterColumn : GridGroupSplitterColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridGroupSplitterColumn dnnGridColumn = new DnnGridGroupSplitterColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBinaryImageColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBinaryImageColumn.cs deleted file mode 100644 index 3b68dcfd40d..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBinaryImageColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridBinaryImageColumn : GridBinaryImageColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridBinaryImageColumn dnnGridColumn = new DnnGridBinaryImageColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBoundColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBoundColumn.cs deleted file mode 100644 index e0dda976097..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridBoundColumn.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridBoundColumn : GridBoundColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridBoundColumn dnnGridColumn = new DnnGridBoundColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - GridHeaderItem headerItem = inItem as GridHeaderItem; - string columnName = this.DataField; - if (!this.Owner.AllowSorting) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - else - { - LinkButton button = (LinkButton)headerItem[columnName].Controls[0]; - button.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridButtonColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridButtonColumn.cs deleted file mode 100644 index 953f97084c3..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridButtonColumn.cs +++ /dev/null @@ -1,84 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridButtonColumn : GridButtonColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets or sets the Icon Key to obtain ImageURL. - /// - /// A String. - /// ----------------------------------------------------------------------------- - public string IconKey { get; set; } - - /// ----------------------------------------------------------------------------- - /// - /// Gets or sets the Icon Siz to obtain ImageURL. - /// - /// A String. - /// ----------------------------------------------------------------------------- - public string IconSize { get; set; } - - /// ----------------------------------------------------------------------------- - /// - /// Gets or sets the Icon Style to obtain ImageURL. - /// - /// A String. - /// ----------------------------------------------------------------------------- - public string IconStyle { get; set; } - - public override string ImageUrl - { - get - { - if (string.IsNullOrEmpty(base.ImageUrl)) - { - base.ImageUrl = Entities.Icons.IconController.IconURL(this.IconKey, this.IconSize, this.IconStyle); - } - - return base.ImageUrl; - } - - set - { - base.ImageUrl = value; - } - } - - public override GridColumn Clone() - { - DnnGridButtonColumn dnnGridColumn = new DnnGridButtonColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCalculatedColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCalculatedColumn.cs deleted file mode 100644 index 1a5abeb8170..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCalculatedColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridCalculatedColumn : GridCalculatedColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridCalculatedColumn dnnGridColumn = new DnnGridCalculatedColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCheckBoxColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCheckBoxColumn.cs deleted file mode 100644 index 12386fb09f1..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridCheckBoxColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridCheckBoxColumn : GridCheckBoxColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridCheckBoxColumn dnnGridColumn = new DnnGridCheckBoxColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridClientSelectColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridClientSelectColumn.cs deleted file mode 100644 index 98c430e05cd..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridClientSelectColumn.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridClientSelectColumn : GridClientSelectColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - var dnnGridColumn = new DnnGridClientSelectColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - if (!inItem.OwnerTableView.OwnerGrid.AllowMultiRowSelection) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridColumn.cs deleted file mode 100644 index c83fa709db8..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridColumn.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridColumn : GridColumn - { - private string _HeaderText; - - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override string HeaderText - { - get - { - if (string.IsNullOrEmpty(base.HeaderText)) - { - base.HeaderText = Localization.GetString(string.Format("{0}.Header", this._HeaderText), DotNetNuke.Web.UI.Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent)); - } - - return base.HeaderText; - } - - set - { - this._HeaderText = value; - base.HeaderText = string.Empty; - } - } - - public string setHeaderText - { - set - { - base.HeaderText = value; - } - } - - public override GridColumn Clone() - { - var dnnGridColumn = new DnnGridColumn(); - dnnGridColumn.CopyBaseProperties(this); - dnnGridColumn.setHeaderText = this.HeaderText; - return dnnGridColumn; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDataItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDataItem.cs deleted file mode 100644 index 21d631d138f..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDataItem.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridDataItem : GridDataItem - { - public DnnGridDataItem(GridTableView ownerTableView, int itemIndex, int dataSetIndex) - : base(ownerTableView, itemIndex, dataSetIndex) - { - } - - public DnnGridDataItem(GridTableView ownerTableView, int itemIndex, int dataSetIndex, GridItemType itemType) - : base(ownerTableView, itemIndex, dataSetIndex, itemType) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDateTimeColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDateTimeColumn.cs deleted file mode 100644 index d75905167d3..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDateTimeColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridDateTimeColumn : GridDateTimeColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridDateTimeColumn dnnGridColumn = new DnnGridDateTimeColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDropDownColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDropDownColumn.cs deleted file mode 100644 index 0f27f92a3e0..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridDropDownColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridDropDownColumn : GridDropDownColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridDropDownColumn dnnGridColumn = new DnnGridDropDownColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditColumn.cs deleted file mode 100644 index c7d200d0098..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditColumn.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridEditColumn : GridEditCommandColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridEditColumn dnnGridColumn = new DnnGridEditColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditFormSettings.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditFormSettings.cs deleted file mode 100644 index 6a623ae8812..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridEditFormSettings.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridEditFormSettings : GridEditFormSettings - { - public DnnGridEditFormSettings(DnnGridTableView owner) - : base(owner) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridExpandColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridExpandColumn.cs deleted file mode 100644 index 3932e372d61..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridExpandColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridExpandColumn : GridColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridExpandColumn dnnGridColumn = new DnnGridExpandColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridFooterItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridFooterItem.cs deleted file mode 100644 index ac62e80b830..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridFooterItem.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridFooterItem : GridFooterItem - { - public DnnGridFooterItem(GridTableView ownerTableView, int itemIndex, int dataSetIndex) - : base(ownerTableView, itemIndex, dataSetIndex) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridGroupSplitterColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridGroupSplitterColumn.cs deleted file mode 100644 index 13746509d4e..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridGroupSplitterColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridAttachmentColumn : GridAttachmentColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridAttachmentColumn dnnGridColumn = new DnnGridAttachmentColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHTMLEditorColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHTMLEditorColumn.cs deleted file mode 100644 index dbd15ca6bde..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHTMLEditorColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridHTMLEditorColumn : GridHTMLEditorColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridHTMLEditorColumn dnnGridColumn = new DnnGridHTMLEditorColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHeaderItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHeaderItem.cs deleted file mode 100644 index e3bbfb6368f..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHeaderItem.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridHeaderItem : GridHeaderItem - { - public DnnGridHeaderItem(GridTableView ownerTableView, int itemIndex, int dataSetIndex) - : base(ownerTableView, itemIndex, dataSetIndex) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHyperlinkColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHyperlinkColumn.cs deleted file mode 100644 index 3ee33515743..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridHyperlinkColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridHyperLinkColumn : GridHyperLinkColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridHyperLinkColumn dnnGridColumn = new DnnGridHyperLinkColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageColumn.cs deleted file mode 100644 index cc2f2aef131..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridImageColumn : GridImageColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridImageColumn dnnGridColumn = new DnnGridImageColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumn.cs deleted file mode 100644 index f1fce956949..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumn.cs +++ /dev/null @@ -1,177 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web; - using System.Web.UI.WebControls; - - using DotNetNuke.Entities.Icons; - using DotNetNuke.UI.WebControls; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridImageCommandColumn : DnnGridTemplateColumn - { - private ImageCommandColumnEditMode _editMode = ImageCommandColumnEditMode.Command; - private bool _showImage = true; - - private string _imageURL = string.Empty; - - /// - /// Gets or sets the CommandName for the Column. - /// - /// A String. - public string CommandName { get; set; } - - /// - /// Gets or sets editMode for the Column. - /// - /// A String. - public ImageCommandColumnEditMode EditMode - { - get { return this._editMode; } - set { this._editMode = value; } - } - - /// - /// Gets or sets the URL of the Image. - /// - /// A String. - public string ImageURL - { - get - { - if (!string.IsNullOrEmpty(this._imageURL)) - { - return this._imageURL; - } - - return IconController.IconURL(this.IconKey, this.IconSize, this.IconStyle); - } - - set { this._imageURL = value; } - } - - /// - /// Gets or sets the Icon Key to obtain ImageURL. - /// - /// A String. - public string IconKey { get; set; } - - /// - /// Gets or sets the Icon Siz to obtain ImageURL. - /// - /// A String. - public string IconSize { get; set; } - - /// - /// Gets or sets the Icon Style to obtain ImageURL. - /// - /// A String. - public string IconStyle { get; set; } - - /// - /// Gets or sets the Key Field that provides a Unique key to the data Item. - /// - /// A String. - public string KeyField { get; set; } - - /// - /// Gets or sets the URL of the Link (unless DataBinding through KeyField). - /// - /// A String. - public string NavigateURL { get; set; } - - /// - /// Gets or sets the URL Formatting string. - /// - /// A String. - public string NavigateURLFormatString { get; set; } - - /// - /// Gets or sets javascript text to attach to the OnClick Event. - /// - /// A String. - public string OnClickJs { get; set; } - - /// - /// Gets or sets a value indicating whether gets or sets whether an Image is displayed. - /// - /// Defaults to True. - /// A Boolean. - public bool ShowImage - { - get { return this._showImage; } - set { this._showImage = value; } - } - - /// - /// Gets or sets the Text (for Header/Footer Templates). - /// - /// A String. - public string Text { get; set; } - - /// - /// Gets or sets an flag that indicates whether the buttons are visible. - /// - /// A Boolean. - public string VisibleField { get; set; } - - /// - /// Initialises the Column. - /// - public override void Initialize() - { - this.ItemTemplate = this.CreateTemplate(GridItemType.Item); - this.EditItemTemplate = this.CreateTemplate(GridItemType.EditItem); - this.HeaderTemplate = this.CreateTemplate(GridItemType.Header); - - if (HttpContext.Current == null) - { - this.HeaderStyle.Font.Names = new[] { "Tahoma, Verdana, Arial" }; - this.HeaderStyle.Font.Size = new FontUnit("10pt"); - this.HeaderStyle.Font.Bold = true; - } - - this.ItemStyle.HorizontalAlign = HorizontalAlign.Center; - this.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; - } - - /// - /// Creates a ImageCommandColumnTemplate. - /// - /// A ImageCommandColumnTemplate. - private DnnGridImageCommandColumnTemplate CreateTemplate(GridItemType type) - { - bool isDesignMode = HttpContext.Current == null; - var template = new DnnGridImageCommandColumnTemplate(type); - if (type != GridItemType.Header) - { - template.ImageURL = this.ImageURL; - if (!isDesignMode) - { - template.CommandName = this.CommandName; - template.VisibleField = this.VisibleField; - template.KeyField = this.KeyField; - } - } - - template.EditMode = this.EditMode; - template.NavigateURL = this.NavigateURL; - template.NavigateURLFormatString = this.NavigateURLFormatString; - template.OnClickJs = this.OnClickJs; - template.ShowImage = this.ShowImage; - template.Visible = this.Visible; - - template.Text = type == GridItemType.Header ? this.HeaderText : this.Text; - - // Set Design Mode to True - template.DesignMode = isDesignMode; - - return template; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumnTemplate.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumnTemplate.cs deleted file mode 100644 index c79d58ac671..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridImageCommandColumnTemplate.cs +++ /dev/null @@ -1,288 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections.Specialized; - using System.Globalization; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.UI.Utilities; - using DotNetNuke.UI.WebControls; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridImageCommandColumnTemplate : IBindableTemplate - { - private ImageCommandColumnEditMode _editMode = ImageCommandColumnEditMode.Command; - private GridItemType _itemType = GridItemType.Item; - private bool _showImage = true; - private bool _visible = true; - - public DnnGridImageCommandColumnTemplate() - : this(GridItemType.Item) - { - } - - public DnnGridImageCommandColumnTemplate(GridItemType itemType) - { - this.ItemType = itemType; - } - - /// - /// Gets or sets the CommandName for the Column. - /// - /// A String. - public string CommandName { get; set; } - - /// - /// Gets or sets a value indicating whether gets or sets the Design Mode of the Column. - /// - /// A Boolean. - public bool DesignMode { get; set; } - - /// - /// Gets or sets the CommandName for the Column. - /// - /// A String. - public ImageCommandColumnEditMode EditMode - { - get { return this._editMode; } - set { this._editMode = value; } - } - - /// - /// Gets or sets the URL of the Image. - /// - /// A String. - public string ImageURL { get; set; } - - /// - /// Gets or sets the type of Template to Create. - /// - /// A String. - public GridItemType ItemType - { - get { return this._itemType; } - set { this._itemType = value; } - } - - /// - /// Gets or sets the Key Field that provides a Unique key to the data Item. - /// - /// A String. - public string KeyField { get; set; } - - /// - /// Gets or sets the URL of the Link (unless DataBinding through KeyField). - /// - /// A String. - public string NavigateURL { get; set; } - - /// - /// Gets or sets the URL Formatting string. - /// - /// A String. - public string NavigateURLFormatString { get; set; } - - /// - /// Gets or sets javascript text to attach to the OnClick Event. - /// - /// A String. - public string OnClickJs { get; set; } - - /// - /// Gets or sets a value indicating whether gets or sets whether an Image is displayed. - /// - /// Defaults to True. - /// A Boolean. - public bool ShowImage - { - get { return this._showImage; } - set { this._showImage = value; } - } - - /// - /// Gets or sets the Text (for Header/Footer Templates). - /// - /// A String. - public string Text { get; set; } - - /// - /// Gets or sets a value indicating whether an flag that indicates whether the buttons are visible (this is overridden if - /// the VisibleField is set) - /// changed. - /// - /// A Boolean. - public bool Visible - { - get { return this._visible; } - set { this._visible = value; } - } - - /// - /// Gets or sets an flag that indicates whether the buttons are visible. - /// - /// A Boolean. - public string VisibleField { get; set; } - - /// - /// InstantiateIn instantiates the template (implementation of ITemplate). - /// - /// - /// - /// The parent container (DataGridItem). - public void InstantiateIn(Control container) - { - switch (this.ItemType) - { - case GridItemType.Item: - case GridItemType.AlternatingItem: - case GridItemType.SelectedItem: - case GridItemType.EditItem: - if (this.EditMode == ImageCommandColumnEditMode.URL) - { - var hypLink = new HyperLink { ToolTip = this.Text }; - if (!string.IsNullOrEmpty(this.ImageURL) && this.ShowImage) - { - var img = new Image { ImageUrl = this.DesignMode ? this.ImageURL.Replace("~/", "../../") : this.ImageURL }; - hypLink.Controls.Add(img); - img.ToolTip = this.Text; - } - else - { - hypLink.Text = this.Text; - } - - hypLink.DataBinding += this.ItemDataBinding; - container.Controls.Add(hypLink); - } - else - { - if (!string.IsNullOrEmpty(this.ImageURL) && this.ShowImage) - { - var colIcon = new ImageButton - { ImageUrl = this.DesignMode ? this.ImageURL.Replace("~/", "../../") : this.ImageURL, ToolTip = this.Text }; - if (!string.IsNullOrEmpty(this.OnClickJs)) - { - ClientAPI.AddButtonConfirm(colIcon, this.OnClickJs); - } - - colIcon.CommandName = this.CommandName; - colIcon.DataBinding += this.ItemDataBinding; - container.Controls.Add(colIcon); - } - - if (!string.IsNullOrEmpty(this.Text) && !this.ShowImage) - { - var colLink = new LinkButton { ToolTip = this.Text }; - if (!string.IsNullOrEmpty(this.OnClickJs)) - { - ClientAPI.AddButtonConfirm(colLink, this.OnClickJs); - } - - colLink.CommandName = this.CommandName; - colLink.Text = this.Text; - colLink.DataBinding += this.ItemDataBinding; - container.Controls.Add(colLink); - } - } - - break; - case GridItemType.Footer: - case GridItemType.Header: - container.Controls.Add(new LiteralControl(this.Text)); - break; - } - } - - public IOrderedDictionary ExtractValues(Control container) - { - // do nothing we don't really support databinding - // but the telerik grid trys to databind to all template columns regardless - return new OrderedDictionary(); - } - - /// - /// Gets whether theButton is visible. - /// - /// The parent container (DataGridItem). - private bool GetIsVisible(GridItem container) - { - if (!string.IsNullOrEmpty(this.VisibleField)) - { - return Convert.ToBoolean(DataBinder.Eval(container.DataItem, this.VisibleField)); - } - - return this.Visible; - } - - /// - /// Gets the value of the key. - /// - /// The parent container (DataGridItem). - private int GetValue(GridItem container) - { - int keyValue = Null.NullInteger; - if (!string.IsNullOrEmpty(this.KeyField)) - { - keyValue = Convert.ToInt32(DataBinder.Eval(container.DataItem, this.KeyField)); - } - - return keyValue; - } - - /// - /// Item_DataBinding runs when an Item of type GridItemType.Item is being data-bound. - /// - /// - /// - /// The object that triggers the event. - /// An EventArgs object. - private void ItemDataBinding(object sender, EventArgs e) - { - GridItem container; - int keyValue; - if (this.EditMode == ImageCommandColumnEditMode.URL) - { - var hypLink = (HyperLink)sender; - container = (GridItem)hypLink.NamingContainer; - keyValue = this.GetValue(container); - if (!string.IsNullOrEmpty(this.NavigateURLFormatString)) - { - hypLink.NavigateUrl = string.Format(this.NavigateURLFormatString, keyValue); - } - else - { - hypLink.NavigateUrl = keyValue.ToString(CultureInfo.InvariantCulture); - } - } - else - { - // Bind Image Button - if (!string.IsNullOrEmpty(this.ImageURL) && this.ShowImage) - { - var colIcon = (ImageButton)sender; - container = (GridItem)colIcon.NamingContainer; - keyValue = this.GetValue(container); - colIcon.CommandArgument = keyValue.ToString(CultureInfo.InvariantCulture); - colIcon.Visible = this.GetIsVisible(container); - } - - if (!string.IsNullOrEmpty(this.Text) && !this.ShowImage) - { - // Bind Link Button - var colLink = (LinkButton)sender; - container = (GridItem)colLink.NamingContainer; - keyValue = this.GetValue(container); - colLink.CommandArgument = keyValue.ToString(CultureInfo.InvariantCulture); - colLink.Visible = this.GetIsVisible(container); - } - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItem.cs deleted file mode 100644 index 26287487705..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItem.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridItem : GridItem - { - public DnnGridItem(GridTableView ownerTableView, int itemIndex, int dataSetIndex, GridItemType itemType) - : base(ownerTableView, itemIndex, dataSetIndex, itemType) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventArgs.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventArgs.cs deleted file mode 100644 index 3b9f6ded992..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventArgs.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridItemSelectedEventArgs : EventArgs - { - private readonly GridItemCollection _SelectedItems; - - public DnnGridItemSelectedEventArgs(GridItemCollection selectedItems) - { - this._SelectedItems = selectedItems; - } - - public GridItemCollection SelectedItems - { - get - { - return this._SelectedItems; - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventHandler.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventHandler.cs deleted file mode 100644 index 9fac43f8a53..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridItemSelectedEventHandler.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public delegate void DnnGridItemSelectedEventHandler(object sender, DnnGridItemSelectedEventArgs e); -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridMaskedColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridMaskedColumn.cs deleted file mode 100644 index 0f6537f0f80..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridMaskedColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridMaskedColumn : GridMaskedColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridMaskedColumn dnnGridColumn = new DnnGridMaskedColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridNumericColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridNumericColumn.cs deleted file mode 100644 index d856210057f..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridNumericColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridNumericColumn : GridNumericColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridNumericColumn dnnGridColumn = new DnnGridNumericColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRatingColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRatingColumn.cs deleted file mode 100644 index 7539fa58362..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRatingColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridRatingColumn : GridRatingColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridRatingColumn dnnGridColumn = new DnnGridRatingColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRowIndicatorColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRowIndicatorColumn.cs deleted file mode 100644 index 5ba536bad89..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridRowIndicatorColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridRowIndicatorColumn : GridRowIndicatorColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridRowIndicatorColumn dnnGridColumn = new DnnGridRowIndicatorColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTableView.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTableView.cs deleted file mode 100644 index 70c8204caa0..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTableView.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridTableView : GridTableView - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTemplateColumn.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTemplateColumn.cs deleted file mode 100644 index e3abc556a60..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnGridTemplateColumn.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI.WebControls; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnGridTemplateColumn : GridTemplateColumn - { - public string LocalResourceFile - { - get - { - return Utilities.GetLocalResourceFile(this.Owner.OwnerGrid.Parent); - } - } - - public override GridColumn Clone() - { - DnnGridTemplateColumn dnnGridColumn = new DnnGridTemplateColumn(); - - // you should override CopyBaseProperties if you have some column specific properties - dnnGridColumn.CopyBaseProperties(this); - - return dnnGridColumn; - } - - public override void InitializeCell(TableCell cell, int columnIndex, GridItem inItem) - { - base.InitializeCell(cell, columnIndex, inItem); - if (inItem is GridHeaderItem && this.HeaderTemplate == null && !string.IsNullOrEmpty(this.HeaderText)) - { - cell.Text = Localization.GetString(string.Format("{0}.Header", this.HeaderText), this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnInputManager.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnInputManager.cs deleted file mode 100644 index 091a678abfe..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnInputManager.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnInputManager : RadInputManager - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnLanguageComboBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnLanguageComboBox.cs deleted file mode 100644 index e4ed736069e..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnLanguageComboBox.cs +++ /dev/null @@ -1,282 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Linq; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.Services.Localization; - using DotNetNuke.Services.Personalization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnLanguageComboBox : WebControl - { - private readonly string _viewTypePersonalizationKey; - private DnnComboBox _englishCombo; - private LanguagesListType _languagesListType = LanguagesListType.Enabled; - private RadioButtonList _modeRadioButtonList; - private DnnComboBox _nativeCombo; - - private string _originalValue; - - public DnnLanguageComboBox() - { - this.AutoPostBack = Null.NullBoolean; - this.CausesValidation = Null.NullBoolean; - this.ShowFlag = true; - this.ShowModeButtons = true; - this.HideLanguagesList = new Dictionary(); - this.FlagImageUrlFormatString = "~/images/Flags/{0}.gif"; - this._viewTypePersonalizationKey = "ViewType" + this.PortalId; - } - - public event EventHandler ItemChanged; - - public event EventHandler ModeChanged; - - public string SelectedValue - { - get - { - string selectedValue = this.DisplayMode.Equals("NATIVE", StringComparison.InvariantCultureIgnoreCase) ? this._nativeCombo.SelectedValue : this._englishCombo.SelectedValue; - if (selectedValue == "None") - { - selectedValue = Null.NullString; - } - - return selectedValue; - } - } - - public string FlagImageUrlFormatString { get; set; } - - public Dictionary HideLanguagesList { get; set; } - - public bool IncludeNoneSpecified { get; set; } - - public LanguagesListType LanguagesListType - { - get - { - return this._languagesListType; - } - - set - { - this._languagesListType = value; - } - } - - public int PortalId { get; set; } - - public bool ShowFlag { get; set; } - - public bool ShowModeButtons { get; set; } - - /// ----------------------------------------------------------------------------- - /// - /// Gets or sets a value indicating whether determines whether the List Auto Posts Back. - /// - /// ----------------------------------------------------------------------------- - public bool AutoPostBack { get; set; } - - public bool CausesValidation { get; set; } - - protected override HtmlTextWriterTag TagKey - { - get - { - return HtmlTextWriterTag.Div; - } - } - - private string DisplayMode - { - get - { - string displayMode = Convert.ToString(Personalization.GetProfile("LanguageDisplayMode", this._viewTypePersonalizationKey)); - if (string.IsNullOrEmpty(displayMode)) - { - displayMode = "NATIVE"; - } - - return displayMode; - } - } - - public void BindData(bool refresh) - { - if (refresh) - { - List cultures; - switch (this.LanguagesListType) - { - case LanguagesListType.Supported: - cultures = LocaleController.Instance.GetCultures(LocaleController.Instance.GetLocales(Null.NullInteger)); - break; - case LanguagesListType.Enabled: - cultures = LocaleController.Instance.GetCultures(LocaleController.Instance.GetLocales(this.PortalId)); - break; - default: - cultures = new List(CultureInfo.GetCultures(CultureTypes.SpecificCultures)); - break; - } - - foreach (KeyValuePair lang in this.HideLanguagesList) - { - string cultureCode = lang.Value.Code; - CultureInfo culture = cultures.Where(c => c.Name == cultureCode).SingleOrDefault(); - if (culture != null) - { - cultures.Remove(culture); - } - } - - this._nativeCombo.DataSource = cultures.OrderBy(c => c.NativeName); - this._englishCombo.DataSource = cultures.OrderBy(c => c.EnglishName); - } - - this._nativeCombo.DataBind(); - this._englishCombo.DataBind(); - - if (this.IncludeNoneSpecified && refresh) - { - this._englishCombo.Items.Insert(0, new RadComboBoxItem(Localization.GetString("System_Default", Localization.SharedResourceFile), "None")); - this._nativeCombo.Items.Insert(0, new RadComboBoxItem(Localization.GetString("System_Default", Localization.SharedResourceFile), "None")); - } - } - - public void SetLanguage(string code) - { - if (string.IsNullOrEmpty(code)) - { - this._nativeCombo.SelectedIndex = this._nativeCombo.FindItemIndexByValue("None"); - this._englishCombo.SelectedIndex = this._englishCombo.FindItemIndexByValue("None"); - } - else - { - this._nativeCombo.SelectedIndex = this._nativeCombo.FindItemIndexByValue(code); - this._englishCombo.SelectedIndex = this._englishCombo.FindItemIndexByValue(code); - } - } - - public override void DataBind() - { - this.BindData(!this.Page.IsPostBack); - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - this._nativeCombo = new DnnComboBox(); - this._nativeCombo.DataValueField = "Name"; - this._nativeCombo.DataTextField = "NativeName"; - this._nativeCombo.SelectedIndexChanged += this.ItemChangedInternal; - this.Controls.Add(this._nativeCombo); - - this._englishCombo = new DnnComboBox(); - this._englishCombo.DataValueField = "Name"; - this._englishCombo.DataTextField = "EnglishName"; - this._englishCombo.SelectedIndexChanged += this.ItemChangedInternal; - this.Controls.Add(this._englishCombo); - - this._modeRadioButtonList = new RadioButtonList(); - this._modeRadioButtonList.AutoPostBack = true; - this._modeRadioButtonList.RepeatDirection = RepeatDirection.Horizontal; - this._modeRadioButtonList.Items.Add(new ListItem(Localization.GetString("NativeName", Localization.GlobalResourceFile), "NATIVE")); - this._modeRadioButtonList.Items.Add(new ListItem(Localization.GetString("EnglishName", Localization.GlobalResourceFile), "ENGLISH")); - this._modeRadioButtonList.SelectedIndexChanged += this.ModeChangedInternal; - this.Controls.Add(this._modeRadioButtonList); - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this._originalValue = this.SelectedValue; - } - - protected virtual void OnItemChanged() - { - if (this.ItemChanged != null) - { - this.ItemChanged(this, new EventArgs()); - } - } - - protected void OnModeChanged(EventArgs e) - { - if (this.ModeChanged != null) - { - this.ModeChanged(this, e); - } - } - - protected override void OnPreRender(EventArgs e) - { - if (this.DisplayMode.Equals("ENGLISH", StringComparison.InvariantCultureIgnoreCase)) - { - if (this._englishCombo.Items.FindItemByValue(this._originalValue) != null) - { - this._englishCombo.Items.FindItemByValue(this._originalValue).Selected = true; - } - } - else - { - if (this._nativeCombo.Items.FindItemByValue(this._originalValue) != null) - { - this._nativeCombo.Items.FindItemByValue(this._originalValue).Selected = true; - } - } - - this._modeRadioButtonList.Items.FindByValue(this.DisplayMode).Selected = true; - - foreach (RadComboBoxItem item in this._englishCombo.Items) - { - item.ImageUrl = string.Format(this.FlagImageUrlFormatString, item.Value); - } - - foreach (RadComboBoxItem item in this._nativeCombo.Items) - { - item.ImageUrl = string.Format(this.FlagImageUrlFormatString, item.Value); - } - - this._englishCombo.AutoPostBack = this.AutoPostBack; - this._englishCombo.CausesValidation = this.CausesValidation; - this._englishCombo.Visible = this.DisplayMode.Equals("ENGLISH", StringComparison.InvariantCultureIgnoreCase); - - this._nativeCombo.AutoPostBack = this.AutoPostBack; - this._nativeCombo.CausesValidation = this.CausesValidation; - this._nativeCombo.Visible = this.DisplayMode.Equals("NATIVE", StringComparison.InvariantCultureIgnoreCase); - - this._modeRadioButtonList.Visible = this.ShowModeButtons; - - this._englishCombo.Width = this.Width; - this._nativeCombo.Width = this.Width; - - base.OnPreRender(e); - } - - private void ModeChangedInternal(object sender, EventArgs e) - { - Personalization.SetProfile("LanguageDisplayMode", this._viewTypePersonalizationKey, this._modeRadioButtonList.SelectedValue); - - // Resort - this.BindData(true); - - this.OnModeChanged(EventArgs.Empty); - } - - private void ItemChangedInternal(object sender, EventArgs e) - { - this.OnItemChanged(); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBox.cs deleted file mode 100644 index 07ff5cbdf4b..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBox.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnListBox : RadListBox - { - // public DnnListBox() - // { - // Utilities.ApplySkin(this); - // } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBoxItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBoxItem.cs deleted file mode 100644 index b6a7e1ebcb6..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListBoxItem.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnListBoxItem : RadListBoxItem - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListView.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListView.cs deleted file mode 100644 index dbfb61d0345..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListView.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnListView : RadListView - { - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItem.cs deleted file mode 100644 index d2c43488f62..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItem.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnListViewItem : RadListViewItem - { - public DnnListViewItem(RadListViewItemType itemType, RadListView ownerView) - : base(itemType, ownerView) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItemDragHandle.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItemDragHandle.cs deleted file mode 100644 index da1ad5d8632..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnListViewItemDragHandle.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnListViewItemDragHandle : RadListViewItemDragHandle - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMaskedTextBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMaskedTextBox.cs deleted file mode 100644 index db373ebb3db..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMaskedTextBox.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnMaskedTextBox : RadMaskedTextBox - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenu.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenu.cs deleted file mode 100644 index b527e8d12af..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenu.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnMenu : RadMenu - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItem.cs deleted file mode 100644 index 6d2ed2cbf92..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItem.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnMenuItem : RadMenuItem - { - public DnnMenuItem() - { - } - - public DnnMenuItem(string text) - : base(text) - { - } - - public DnnMenuItem(string text, string navigateUrl) - : base(text, navigateUrl) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItemBinding.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItemBinding.cs deleted file mode 100644 index 1f24d59b4f7..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMenuItemBinding.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnMenuItemBinding : RadMenuItemBinding - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnModuleComboBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnModuleComboBox.cs deleted file mode 100644 index b83ef1eb503..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnModuleComboBox.cs +++ /dev/null @@ -1,207 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web.UI.WebControls; - - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Entities.Modules.Definitions; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Installer.Packages; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnModuleComboBox : WebControl - { - private const string DefaultExtensionImage = "icon_extensions_32px.png"; - - private DnnComboBox _moduleCombo; - private string _originalValue; - - public event EventHandler ItemChanged; - - public int ItemCount - { - get - { - return this._moduleCombo.Items.Count; - } - } - - public string SelectedValue - { - get - { - return this._moduleCombo.SelectedValue; - } - } - - public string RadComboBoxClientId - { - get - { - return this._moduleCombo.ClientID; - } - } - - public Func, bool> Filter { get; set; } - - public override bool Enabled - { - get - { - return this._moduleCombo.Enabled; - } - - set - { - this._moduleCombo.Enabled = value; - } - } - - public void BindAllPortalDesktopModules() - { - this._moduleCombo.SelectedValue = null; - this._moduleCombo.DataSource = this.GetPortalDesktopModules(); - this._moduleCombo.DataBind(); - this.BindPortalDesktopModuleImages(); - } - - public void BindTabModulesByTabID(int tabID) - { - this._moduleCombo.SelectedValue = null; - this._moduleCombo.DataSource = GetTabModules(tabID); - this._moduleCombo.DataBind(); - this.BindTabModuleImages(tabID); - } - - public void SetModule(string code) - { - this._moduleCombo.SelectedIndex = this._moduleCombo.FindItemIndexByValue(code); - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - this._moduleCombo = new DnnComboBox(); - this._moduleCombo.DataValueField = "key"; - this._moduleCombo.DataTextField = "value"; - this.Controls.Add(this._moduleCombo); - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - this._originalValue = this.SelectedValue; - } - - protected virtual void OnItemChanged() - { - if (this.ItemChanged != null) - { - this.ItemChanged(this, new EventArgs()); - } - } - - protected override void OnPreRender(EventArgs e) - { - if (this._moduleCombo.Items.FindItemByValue(this._originalValue) != null) - { - this._moduleCombo.Items.FindItemByValue(this._originalValue).Selected = true; - } - - this._moduleCombo.Width = this.Width; - base.OnPreRender(e); - } - - private static Dictionary GetTabModules(int tabID) - { - var tabModules = ModuleController.Instance.GetTabModules(tabID); - - // Is this tab from another site? - var isRemote = TabController.Instance.GetTab(tabID, Null.NullInteger, false).PortalID != PortalSettings.Current.PortalId; - - var pageModules = tabModules.Values.Where(m => !isRemote || ModuleSuportsSharing(m)).Where(m => ModulePermissionController.CanAdminModule(m) && m.IsDeleted == false).ToList(); - - return pageModules.ToDictionary(module => module.ModuleID, module => module.ModuleTitle); - } - - private static bool ModuleSuportsSharing(ModuleInfo moduleInfo) - { - switch (moduleInfo.DesktopModule.Shareable) - { - case ModuleSharing.Supported: - case ModuleSharing.Unknown: - return moduleInfo.IsShareable; - default: - return false; - } - } - - private Dictionary GetPortalDesktopModules() - { - IOrderedEnumerable> portalModulesList; - if (this.Filter == null) - { - portalModulesList = DesktopModuleController.GetPortalDesktopModules(PortalSettings.Current.PortalId) - .Where((kvp) => kvp.Value.DesktopModule.Category == "Uncategorised" || string.IsNullOrEmpty(kvp.Value.DesktopModule.Category)) - .OrderBy(c => c.Key); - } - else - { - portalModulesList = DesktopModuleController.GetPortalDesktopModules(PortalSettings.Current.PortalId) - .Where(this.Filter) - .OrderBy(c => c.Key); - } - - return portalModulesList.ToDictionary( - portalModule => portalModule.Value.DesktopModuleID, - portalModule => portalModule.Key); - } - - private void BindPortalDesktopModuleImages() - { - var portalDesktopModules = DesktopModuleController.GetDesktopModules(PortalSettings.Current.PortalId); - var packages = PackageController.Instance.GetExtensionPackages(PortalSettings.Current.PortalId); - - foreach (RadComboBoxItem item in this._moduleCombo.Items) - { - string imageUrl = - (from pkgs in packages - join portMods in portalDesktopModules on pkgs.PackageID equals portMods.Value.PackageID - where portMods.Value.DesktopModuleID.ToString() == item.Value - select pkgs.IconFile).FirstOrDefault(); - - item.ImageUrl = string.IsNullOrEmpty(imageUrl) ? Globals.ImagePath + DefaultExtensionImage : imageUrl; - } - } - - private void BindTabModuleImages(int tabID) - { - var tabModules = ModuleController.Instance.GetTabModules(tabID); - var portalDesktopModules = DesktopModuleController.GetDesktopModules(PortalSettings.Current.PortalId); - var moduleDefnitions = ModuleDefinitionController.GetModuleDefinitions(); - var packages = PackageController.Instance.GetExtensionPackages(PortalSettings.Current.PortalId); - - foreach (RadComboBoxItem item in this._moduleCombo.Items) - { - string imageUrl = (from pkgs in packages - join portMods in portalDesktopModules on pkgs.PackageID equals portMods.Value.PackageID - join modDefs in moduleDefnitions on portMods.Value.DesktopModuleID equals modDefs.Value.DesktopModuleID - join tabMods in tabModules on modDefs.Value.DesktopModuleID equals tabMods.Value.DesktopModuleID - where tabMods.Value.ModuleID.ToString() == item.Value - select pkgs.IconFile).FirstOrDefault(); - - item.ImageUrl = string.IsNullOrEmpty(imageUrl) ? Globals.ImagePath + DefaultExtensionImage : imageUrl; - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMonthYearPicker.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMonthYearPicker.cs deleted file mode 100644 index bac8c1c8120..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMonthYearPicker.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - internal class DnnMonthYearPicker : RadMonthYearPicker - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMultiPage.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMultiPage.cs deleted file mode 100644 index 66adf3db7cd..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnMultiPage.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnMultiPage : RadMultiPage - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnNumericTextBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnNumericTextBox.cs deleted file mode 100644 index d7a1486adb2..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnNumericTextBox.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnNumericTextBox : RadNumericTextBox - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPageView.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPageView.cs deleted file mode 100644 index d78b9205c80..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPageView.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnPageView : RadPageView - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelBar.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelBar.cs deleted file mode 100644 index 10ddcd80d5f..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelBar.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnPanelBar : RadPanelBar - { - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - Utilities.ApplySkin(this); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItem.cs deleted file mode 100644 index de44f1fc967..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItem.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnPanelItem : RadPanelItem - { - public DnnPanelItem() - { - } - - public DnnPanelItem(string text) - : base(text) - { - } - - public DnnPanelItem(string text, string navigateUrl) - : base(text, navigateUrl) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItemBinding.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItemBinding.cs deleted file mode 100644 index a24904301a9..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnPanelItemBinding.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnPanelItemBinding : RadPanelItemBinding - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressArea.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressArea.cs deleted file mode 100644 index b1ecdaf64a0..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressArea.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnProgressArea : RadProgressArea - { - // public DnnProgressArea() - // { - // Utilities.ApplySkin(this); - // } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressManager.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressManager.cs deleted file mode 100644 index 11b65ecd2c8..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnProgressManager.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnProgressManager : RadProgressManager - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadButton.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadButton.cs deleted file mode 100644 index 2072996e4a5..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadButton.cs +++ /dev/null @@ -1,70 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI; - - using DotNetNuke.Services.Localization; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRadButton : RadButton - { - private bool _Localize = true; - - public bool Localize - { - get - { - if (this.DesignMode) - { - return false; - } - - return this._Localize; - } - - set - { - this._Localize = value; - } - } - - public string LocalResourceFile { get; set; } - - public virtual void LocalizeStrings() - { - if (this.Localize) - { - if (!string.IsNullOrEmpty(this.ToolTip)) - { - this.ToolTip = Localization.GetString(this.ToolTip, this.LocalResourceFile); - } - - if (!string.IsNullOrEmpty(this.Text)) - { - this.Text = Localization.GetString(this.Text, this.LocalResourceFile); - - if (string.IsNullOrEmpty(this.ToolTip)) - { - this.ToolTip = Localization.GetString(string.Format("{0}.ToolTip", this.Text), this.LocalResourceFile); - } - } - } - } - - protected override void OnPreRender(EventArgs e) - { - base.OnPreRender(e); - this.LocalResourceFile = Utilities.GetLocalResourceFile(this); - } - - protected override void Render(HtmlTextWriter writer) - { - this.LocalizeStrings(); - base.Render(writer); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadRibbonBar.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadRibbonBar.cs deleted file mode 100644 index 5119444da06..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadRibbonBar.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRadRibbonBar : RadRibbonBar - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadTab.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadTab.cs deleted file mode 100644 index c56b7388042..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRadTab.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRadTab : RadTab - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRating.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRating.cs deleted file mode 100644 index 178df963425..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRating.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRating : RadRating - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRatingItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRatingItem.cs deleted file mode 100644 index 633daa806a8..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRatingItem.cs +++ /dev/null @@ -1,37 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRatingItem : RadRatingItem - { - public DnnRatingItem() - { - } - - public DnnRatingItem(string imageUrl) - : base(imageUrl) - { - } - - public DnnRatingItem(string imageUrl, string selectedImageUrl) - : base(imageUrl, selectedImageUrl) - { - } - - public DnnRatingItem(string imageUrl, string selectedImageUrl, string hoveredImageUrl) - : base(imageUrl, selectedImageUrl, hoveredImageUrl) - { - } - - public DnnRatingItem(string imageUrl, string selectedImageUrl, string hoveredImageUrl, string hoveredSelectedImageUrl) - : base(imageUrl, selectedImageUrl, hoveredImageUrl, hoveredSelectedImageUrl) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotator.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotator.cs deleted file mode 100644 index 26256c06830..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotator.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRotator : RadRotator - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotatorItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotatorItem.cs deleted file mode 100644 index a6df57849fe..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnRotatorItem.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnRotatorItem : RadRotatorItem - { - public DnnRotatorItem() - { - } - - public DnnRotatorItem(object dataItem) - : base(dataItem) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScheduler.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScheduler.cs deleted file mode 100644 index 31a5b48bd4c..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScheduler.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnScheduler : RadScheduler - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerContextMenu.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerContextMenu.cs deleted file mode 100644 index ec924bb847a..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerContextMenu.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSchedulerContextMenu : RadSchedulerContextMenu - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceStyleMapping.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceStyleMapping.cs deleted file mode 100644 index c6db11cc5e5..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceStyleMapping.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSchedulerResourceStyleMapping : ResourceStyleMapping - { - public DnnSchedulerResourceStyleMapping() - { - } - - public DnnSchedulerResourceStyleMapping(string type, string key, string applyCssClass) - : base(type, key, applyCssClass) - { - } - - public DnnSchedulerResourceStyleMapping(string type, string key, string text, string applyCssClass) - : base(type, key, text, applyCssClass) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceType.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceType.cs deleted file mode 100644 index b531e740080..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSchedulerResourceType.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSchedulerResourceType : ResourceType - { - public DnnSchedulerResourceType() - { - } - - public DnnSchedulerResourceType(string resourceTypeName) - : base(resourceTypeName) - { - } - - public DnnSchedulerResourceType(string resourceTypeName, bool allowMultipleResourceValues) - : base(resourceTypeName, allowMultipleResourceValues) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptBlock.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptBlock.cs deleted file mode 100644 index 3f34f6c836c..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptBlock.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnScriptBlock : RadScriptBlock - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptManager.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptManager.cs deleted file mode 100644 index b59baab72a0..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnScriptManager.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - internal class DnnScriptManager : RadScriptManager - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMap.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMap.cs deleted file mode 100644 index 179f6e797b0..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMap.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSiteMap : RadSiteMap - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapLevelSetting.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapLevelSetting.cs deleted file mode 100644 index 9fc08552217..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapLevelSetting.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSiteMapLevelSetting : SiteMapLevelSetting - { - public DnnSiteMapLevelSetting() - { - } - - public DnnSiteMapLevelSetting(int level) - : base(level) - { - } - - public DnnSiteMapLevelSetting(int level, SiteMapLayout layout) - : base(level, layout) - { - } - - public DnnSiteMapLevelSetting(SiteMapLayout layout) - : base(layout) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNode.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNode.cs deleted file mode 100644 index 16f740c5bd5..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNode.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSiteMapNode : RadSiteMapNode - { - public DnnSiteMapNode() - { - } - - public DnnSiteMapNode(string text, string navigateUrl) - : base(text, navigateUrl) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNodeBinding.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNodeBinding.cs deleted file mode 100644 index 4c258ac2bca..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSiteMapNodeBinding.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSiteMapNodeBinding : RadSiteMapNodeBinding - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSkinComboBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSkinComboBox.cs deleted file mode 100644 index bc4dcc7c028..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSkinComboBox.cs +++ /dev/null @@ -1,119 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections; - using System.Collections.Generic; - using System.ComponentModel; - using System.Linq; - using System.Text; - using System.Web.UI; - - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Users; - using DotNetNuke.UI.Skins; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - [ToolboxData("<{0}:DnnSkinComboBox runat='server'>")] - public class DnnSkinComboBox : DnnComboBox - { - public DnnSkinComboBox() - { - this.PortalId = Null.NullInteger; - } - - public int PortalId { get; set; } - - public string RootPath { get; set; } - - public SkinScope Scope { get; set; } - - public bool IncludeNoneSpecificItem { get; set; } - - public string NoneSpecificText { get; set; } - - private PortalInfo Portal - { - get { return this.PortalId == Null.NullInteger ? null : PortalController.Instance.GetPortal(this.PortalId); } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.DataTextField = "Key"; - this.DataValueField = "Value"; - - if (!this.Page.IsPostBack && !string.IsNullOrEmpty(this.RootPath)) - { - this.DataSource = SkinController.GetSkins(this.Portal, this.RootPath, this.Scope) - .ToDictionary(skin => skin.Key, skin => skin.Value); - this.DataBind(this.SelectedValue); - - if (this.IncludeNoneSpecificItem) - { - this.InsertItem(0, this.NoneSpecificText, string.Empty); - } - } - - this.AttachEvents(); - } - - protected override void PerformDataBinding(IEnumerable dataSource) - { - // do not select item during data binding, item will select later - var selectedValue = this.SelectedValue; - this.SelectedValue = string.Empty; - - base.PerformDataBinding(dataSource); - - this.SelectedValue = selectedValue; - } - - private void AttachEvents() - { - if (!UserController.Instance.GetCurrentUserInfo().IsSuperUser) - { - return; - } - - this.Attributes.Add("PortalPath", this.Portal != null ? this.Portal.HomeDirectory : string.Empty); - this.Attributes.Add("HostPath", Globals.HostPath); - - this.OnClientSelectedIndexChanged = "selectedIndexChangedMethod"; - var indexChangedMethod = @"function selectedIndexChangedMethod(sender, eventArgs){ - var value = eventArgs.get_item().get_value(); - value = value.replace('[L]', sender.get_attributes().getAttribute('PortalPath')); - value = value.replace('[G]', sender.get_attributes().getAttribute('HostPath')); - sender.get_inputDomElement().title = value; -}"; - this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "OnClientSelectedIndexChanged", indexChangedMethod, true); - - foreach (RadComboBoxItem item in this.Items) - { - if (string.IsNullOrEmpty(item.Value)) - { - continue; - } - - var tooltip = item.Value.Replace("[G]", Globals.HostPath); - if (this.Portal != null) - { - tooltip = tooltip.Replace("[L]", this.Portal.HomeDirectory); - } - - item.ToolTip = tooltip; - if (item.Value.Equals(this.SelectedValue)) - { - this.ToolTip = tooltip; - } - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSlider.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSlider.cs deleted file mode 100644 index d8dcb4dd0d8..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSlider.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSlider : RadSlider - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSliderItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSliderItem.cs deleted file mode 100644 index cf8422819d9..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSliderItem.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSliderItem : RadSliderItem - { - public DnnSliderItem() - { - } - - public DnnSliderItem(string text) - : base(text) - { - } - - public DnnSliderItem(string text, string value) - : base(text, value) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSpell.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSpell.cs deleted file mode 100644 index b1dd21faf15..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSpell.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSpell : RadSpell - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitBar.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitBar.cs deleted file mode 100644 index a05b73c7562..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitBar.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSplitBar : RadSplitBar - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitPane.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitPane.cs deleted file mode 100644 index 85b3ddff0f7..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitPane.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSplitPane : RadPane - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingPane.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingPane.cs deleted file mode 100644 index 5d260c41689..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingPane.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSplitSlidingPane : RadSlidingPane - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingZone.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingZone.cs deleted file mode 100644 index 16a96ea7408..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitSlidingZone.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSplitSlidingZone : RadSlidingZone - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitter.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitter.cs deleted file mode 100644 index ce5dc524d82..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnSplitter.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnSplitter : RadSplitter - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabPanel.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabPanel.cs deleted file mode 100644 index 03cabdfeda5..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabPanel.cs +++ /dev/null @@ -1,114 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI; - using System.Web.UI.WebControls; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - [ParseChildrenAttribute(true)] - public class DnnTabPanel : WebControl - { - private DnnTabCollection _Tabs; - private RadMultiPage _TelerikPages; - private RadTabStrip _TelerikTabs; - - public DnnTabCollection Tabs - { - get - { - if (this._Tabs == null) - { - this._Tabs = new DnnTabCollection(this); - } - - return this._Tabs; - } - } - - private RadTabStrip TelerikTabs - { - get - { - if (this._TelerikTabs == null) - { - this._TelerikTabs = new RadTabStrip(); - } - - return this._TelerikTabs; - } - } - - private RadMultiPage TelerikPages - { - get - { - if (this._TelerikPages == null) - { - this._TelerikPages = new RadMultiPage(); - } - - return this._TelerikPages; - } - } - - protected override void OnLoad(EventArgs e) - { - this.EnsureChildControls(); - } - - protected override void CreateChildControls() - { - this.Controls.Clear(); - - this.TelerikTabs.ID = this.ID + "_Tabs"; - this.TelerikTabs.Skin = "Office2007"; - this.TelerikTabs.EnableEmbeddedSkins = true; - - this.TelerikPages.ID = this.ID + "_Pages"; - - this.TelerikTabs.MultiPageID = this.TelerikPages.ID; - - this.Controls.Add(this.TelerikTabs); - this.Controls.Add(this.TelerikPages); - } - - protected override void OnPreRender(EventArgs e) - { - if (!this.Page.IsPostBack) - { - this.TelerikTabs.SelectedIndex = 0; - this.TelerikPages.SelectedIndex = 0; - - int idIndex = 0; - - foreach (DnnTab t in this.Tabs) - { - RadTab tab = new RadTab(); - tab.TabTemplate = t.Header; - RadPageView pageView = new RadPageView(); - pageView.Controls.Add(t); - - tab.PageViewID = "PV_" + idIndex; - pageView.ID = "PV_" + idIndex; - - this.TelerikTabs.Tabs.Add(tab); - this.TelerikPages.PageViews.Add(pageView); - - idIndex = idIndex + 1; - } - } - - base.OnPreRender(e); - } - - protected override void Render(HtmlTextWriter writer) - { - base.Render(writer); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabStrip.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabStrip.cs deleted file mode 100644 index 943595d0337..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTabStrip.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTabStrip : RadTabStrip - { - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - Utilities.ApplySkin(this); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloud.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloud.cs deleted file mode 100644 index 9980c4d8d77..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloud.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTagCloud : RadTagCloud - { - protected void OnItemDataBound(DnnTagCloudItem item) - { - base.OnItemDataBound(item); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloudItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloudItem.cs deleted file mode 100644 index 7caa158a977..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTagCloudItem.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTagCloudItem : RadTagCloudItem - { - public DnnTagCloudItem() - { - } - - public DnnTagCloudItem(string text) - : base(text) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTextBox.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTextBox.cs deleted file mode 100644 index 34ed12b5fe6..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTextBox.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTextBox : RadTextBox - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTicker.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTicker.cs deleted file mode 100644 index 101ef6e2506..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTicker.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTicker : RadTicker - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTickerItem.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTickerItem.cs deleted file mode 100644 index f9040fb720a..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTickerItem.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTickerItem : RadTickerItem - { - public DnnTickerItem() - { - } - - public DnnTickerItem(string text) - : base(text) - { - } - - public DnnTickerItem(string text, string navigateUrl) - : base(text, navigateUrl) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimePicker.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimePicker.cs deleted file mode 100644 index 3a7d3dfe69a..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimePicker.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTimePicker : RadTimePicker - { - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - this.EnableEmbeddedBaseStylesheet = true; - Utilities.ApplySkin(this, string.Empty, "DatePicker"); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimeView.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimeView.cs deleted file mode 100644 index e96c112f3f6..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTimeView.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTimeView : RadTimeView - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBar.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBar.cs deleted file mode 100644 index 89a1e68cba7..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBar.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolBar : RadToolBar - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarButton.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarButton.cs deleted file mode 100644 index 85d41628510..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarButton.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolBarButton : RadToolBarButton - { - public DnnToolBarButton() - { - } - - public DnnToolBarButton(string text) - : base(text) - { - } - - public DnnToolBarButton(string text, bool isChecked, string @group) - : base(text, isChecked, @group) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarDropDown.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarDropDown.cs deleted file mode 100644 index 7602e0b2b48..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarDropDown.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolBarDropDown : RadToolBarDropDown - { - public DnnToolBarDropDown() - { - } - - public DnnToolBarDropDown(string text) - : base(text) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarSplitButton.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarSplitButton.cs deleted file mode 100644 index fd1e4270614..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolBarSplitButton.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolBarSplitButton : RadToolBarSplitButton - { - public DnnToolBarSplitButton() - { - } - - public DnnToolBarSplitButton(string text) - : base(text) - { - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTip.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTip.cs deleted file mode 100644 index 8e1176b2533..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTip.cs +++ /dev/null @@ -1,66 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Web.UI; - - using DotNetNuke.Web.UI; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolTip : RadToolTip, ILocalizable - { - private bool _localize = true; - - public string ResourceKey { get; set; } - - public bool Localize - { - get - { - if (this.DesignMode) - { - return false; - } - - return this._localize; - } - - set - { - this._localize = value; - } - } - - public string LocalResourceFile { get; set; } - - public virtual void LocalizeStrings() - { - if (this.Localize && (!string.IsNullOrEmpty(this.ResourceKey))) - { - if (!string.IsNullOrEmpty(this.ManualCloseButtonText)) - { - this.ManualCloseButtonText = Utilities.GetLocalizedStringFromParent(string.Format("{0}.ManualCloseButtonText", this.ResourceKey), this); - } - - if (!string.IsNullOrEmpty(this.Text)) - { - this.Text = Utilities.GetLocalizedStringFromParent(string.Format("{0}.Text", this.ResourceKey), this); - } - - if (!string.IsNullOrEmpty(this.ToolTip)) - { - this.ToolTip = Utilities.GetLocalizedStringFromParent(string.Format("{0}.ToolTip", this.ResourceKey), this); - } - } - } - - protected override void Render(HtmlTextWriter writer) - { - this.LocalizeStrings(); - base.Render(writer); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTipManager.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTipManager.cs deleted file mode 100644 index bc0622179cb..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnToolTipManager.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnToolTipManager : RadToolTipManager - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeList.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeList.cs deleted file mode 100644 index 49e6d6fdd61..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeList.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTreeList : RadTreeList - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeNode.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeNode.cs deleted file mode 100644 index 0c0652dc493..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeNode.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTreeNode : RadTreeNode - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeView.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeView.cs deleted file mode 100644 index 82e2bcb8381..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeView.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTreeView : RadTreeView - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeViewContextMenu.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeViewContextMenu.cs deleted file mode 100644 index 18d2a35d078..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnTreeViewContextMenu.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnTreeViewContextMenu : RadTreeViewContextMenu - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnUpload.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnUpload.cs deleted file mode 100644 index 9c1ade96566..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnUpload.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnUpload : RadUpload - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindow.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindow.cs deleted file mode 100644 index 4a286639fb6..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindow.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnWindow : RadWindow - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindowManager.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindowManager.cs deleted file mode 100644 index 86200738448..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/DnnWindowManager.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class DnnWindowManager : RadWindowManager - { - - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateEditControl.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateEditControl.cs deleted file mode 100644 index 77bc6cbb772..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateEditControl.cs +++ /dev/null @@ -1,279 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls.PropertyEditorControls -{ - using System; - using System.Collections.Specialized; - using System.Data.SqlTypes; - using System.Globalization; - using System.Web.UI; - - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Instrumentation; - using DotNetNuke.UI.WebControls; - - - /// ----------------------------------------------------------------------------- - /// - /// The DateEditControl control provides a standard UI component for editing - /// date properties. - /// - /// - /// - /// ----------------------------------------------------------------------------- - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - [ToolboxData("<{0}:DateEditControl runat=server>")] - public class DateEditControl : EditControl - { - private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(DateEditControl)); - private DnnDatePicker _dateControl; - - public override string EditControlClientId - { - get - { - this.EnsureChildControls(); - return this.DateControl.DateInput.ClientID; - } - } - - public override string ID - { - get - { - return base.ID + "_control"; - } - - set - { - base.ID = value; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets dateValue returns the Date representation of the Value. - /// - /// A Date representing the Value. - /// ----------------------------------------------------------------------------- - protected DateTime DateValue - { - get - { - DateTime dteValue = Null.NullDate; - try - { - var dteString = Convert.ToString(this.Value); - DateTime.TryParse(dteString, CultureInfo.InvariantCulture, DateTimeStyles.None, out dteValue); - } - catch (Exception exc) - { - Logger.Error(exc); - } - - return dteValue; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets defaultDateFormat is a string that will be used to format the date in the absence of a - /// FormatAttribute. - /// - /// A String representing the default format to use to render the date. - /// A Format String. - /// ----------------------------------------------------------------------------- - protected virtual string DefaultFormat - { - get - { - return "d"; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets format is a string that will be used to format the date in View mode. - /// - /// A String representing the format to use to render the date. - /// A Format String. - /// ----------------------------------------------------------------------------- - protected virtual string Format - { - get - { - string _Format = this.DefaultFormat; - if (this.CustomAttributes != null) - { - foreach (Attribute attribute in this.CustomAttributes) - { - if (attribute is FormatAttribute) - { - var formatAtt = (FormatAttribute)attribute; - _Format = formatAtt.Format; - break; - } - } - } - - return _Format; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets oldDateValue returns the Date representation of the OldValue. - /// - /// A Date representing the OldValue. - /// ----------------------------------------------------------------------------- - protected DateTime OldDateValue - { - get - { - DateTime dteValue = Null.NullDate; - try - { - // Try and cast the value to an DateTime - var dteString = this.OldValue as string; - if (!string.IsNullOrEmpty(dteString)) - { - dteValue = DateTime.Parse(dteString, CultureInfo.InvariantCulture); - } - } - catch (Exception exc) - { - Logger.Error(exc); - } - - return dteValue; - } - } - - /// - /// Gets or sets the Value expressed as a String. - /// - protected override string StringValue - { - get - { - string _StringValue = Null.NullString; - if (this.DateValue.ToUniversalTime().Date != (DateTime)SqlDateTime.MinValue && this.DateValue != Null.NullDate) - { - _StringValue = this.DateValue.ToString(this.Format); - } - - return _StringValue; - } - - set - { - this.Value = DateTime.Parse(value); - } - } - - private DnnDatePicker DateControl - { - get - { - if (this._dateControl == null) - { - this._dateControl = new DnnDatePicker(); - } - - return this._dateControl; - } - } - - public override bool LoadPostData(string postDataKey, NameValueCollection postCollection) - { - this.EnsureChildControls(); - bool dataChanged = false; - string presentValue = this.StringValue; - string postedValue = postCollection[postDataKey + "_control"]; - if (!presentValue.Equals(postedValue)) - { - if (string.IsNullOrEmpty(postedValue)) - { - this.Value = Null.NullDate; - dataChanged = true; - } - else - { - this.Value = DateTime.Parse(postedValue).ToString(CultureInfo.InvariantCulture); - dataChanged = true; - } - } - - this.LoadDateControls(); - return dataChanged; - } - - protected override void CreateChildControls() - { - base.CreateChildControls(); - - this.DateControl.ControlStyle.CopyFrom(this.ControlStyle); - this.DateControl.ID = base.ID + "_control"; - - this.Controls.Add(this.DateControl); - } - - protected virtual void LoadDateControls() - { - if (this.DateValue != Null.NullDate) - { - this.DateControl.SelectedDate = this.DateValue.Date; - } - } - - /// - /// OnDataChanged is called by the PostBack Handler when the Data has changed. - /// - /// An EventArgs object. - protected override void OnDataChanged(EventArgs e) - { - var args = new PropertyEditorEventArgs(this.Name); - args.Value = this.DateValue; - args.OldValue = this.OldDateValue; - args.StringValue = this.DateValue.ToString(CultureInfo.InvariantCulture); - this.OnValueChanged(args); - } - - protected override void OnPreRender(EventArgs e) - { - base.OnPreRender(e); - - this.LoadDateControls(); - - if (this.Page != null && this.EditMode == PropertyEditorMode.Edit) - { - this.Page.RegisterRequiresPostBack(this); - } - } - - /// - /// RenderEditMode is called by the base control to render the control in Edit Mode. - /// - /// - protected override void RenderEditMode(HtmlTextWriter writer) - { - this.RenderChildren(writer); - } - - /// ----------------------------------------------------------------------------- - /// - /// RenderViewMode renders the View (readonly) mode of the control. - /// - /// A HtmlTextWriter. - /// ----------------------------------------------------------------------------- - protected override void RenderViewMode(HtmlTextWriter writer) - { - this.ControlStyle.AddAttributesToRender(writer); - writer.RenderBeginTag(HtmlTextWriterTag.Span); - writer.Write(this.StringValue); - writer.RenderEndTag(); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateTimeEditControl.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateTimeEditControl.cs deleted file mode 100644 index 40784b0be57..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/PropertyEditorControls/DateTimeEditControl.cs +++ /dev/null @@ -1,282 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls.PropertyEditorControls -{ - using System; - using System.Collections.Specialized; - using System.Data.SqlTypes; - using System.Globalization; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Instrumentation; - using DotNetNuke.Services.Localization; - using DotNetNuke.UI.WebControls; - - using Calendar = DotNetNuke.Common.Utilities.Calendar; - - /// ----------------------------------------------------------------------------- - /// Project: DotNetNuke - /// Namespace: DotNetNuke.UI.WebControls - /// Class: DateEditControl - /// ----------------------------------------------------------------------------- - /// - /// The DateEditControl control provides a standard UI component for editing - /// date properties. - /// - /// - /// - /// ----------------------------------------------------------------------------- - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - [ToolboxData("<{0}:DateTimeEditControl runat=server>")] - public class DateTimeEditControl : EditControl - { - private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(DateTimeEditControl)); - private DnnDateTimePicker _dateControl; - - public override string ID - { - get - { - return base.ID + "_control"; - } - - set - { - base.ID = value; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets dateValue returns the Date representation of the Value. - /// - /// A Date representing the Value. - /// ----------------------------------------------------------------------------- - protected DateTime DateValue - { - get - { - DateTime dteValue = Null.NullDate; - try - { - var dteString = Convert.ToString(this.Value); - DateTime.TryParse(dteString, CultureInfo.InvariantCulture, DateTimeStyles.None, out dteValue); - } - catch (Exception exc) - { - Logger.Error(exc); - } - - return dteValue; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets defaultDateFormat is a string that will be used to format the date in the absence of a - /// FormatAttribute. - /// - /// A String representing the default format to use to render the date. - /// A Format String. - /// ----------------------------------------------------------------------------- - protected virtual string DefaultFormat - { - get - { - return "g"; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets format is a string that will be used to format the date in View mode. - /// - /// A String representing the format to use to render the date. - /// A Format String. - /// ----------------------------------------------------------------------------- - protected virtual string Format - { - get - { - string _Format = this.DefaultFormat; - if (this.CustomAttributes != null) - { - foreach (Attribute attribute in this.CustomAttributes) - { - if (attribute is FormatAttribute) - { - var formatAtt = (FormatAttribute)attribute; - _Format = formatAtt.Format; - break; - } - } - } - - return _Format; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// Gets oldDateValue returns the Date representation of the OldValue. - /// - /// A Date representing the OldValue. - /// ----------------------------------------------------------------------------- - protected DateTime OldDateValue - { - get - { - DateTime dteValue = Null.NullDate; - try - { - // Try and cast the value to an DateTime - var dteString = this.OldValue as string; - if (!string.IsNullOrEmpty(dteString)) - { - dteValue = DateTime.Parse(dteString, CultureInfo.InvariantCulture); - } - } - catch (Exception exc) - { - Logger.Error(exc); - } - - return dteValue; - } - } - - /// - /// Gets or sets the Value expressed as a String. - /// - protected override string StringValue - { - get - { - string _StringValue = Null.NullString; - if (this.DateValue.ToUniversalTime().Date != (DateTime)SqlDateTime.MinValue && this.DateValue != Null.NullDate) - { - _StringValue = this.DateValue.ToString(this.Format); - } - - return _StringValue; - } - - set - { - this.Value = DateTime.Parse(value); - } - } - - private DnnDateTimePicker DateControl - { - get - { - if (this._dateControl == null) - { - this._dateControl = new DnnDateTimePicker(); - } - - return this._dateControl; - } - } - - public override bool LoadPostData(string postDataKey, NameValueCollection postCollection) - { - this.EnsureChildControls(); - bool dataChanged = false; - string presentValue = this.StringValue; - string postedValue = postCollection[postDataKey + "_control"]; - if (!presentValue.Equals(postedValue)) - { - if (string.IsNullOrEmpty(postedValue)) - { - this.Value = Null.NullDate; - dataChanged = true; - } - else - { - DateTime value; - if (DateTime.TryParseExact(postedValue, "yyyy-MM-dd-HH-mm-ss", CultureInfo.InvariantCulture, - DateTimeStyles.None, out value)) - { - this.Value = value; - dataChanged = true; - } - } - } - - this.LoadDateControls(); - return dataChanged; - } - - protected override void CreateChildControls() - { - base.CreateChildControls(); - - this.DateControl.ControlStyle.CopyFrom(this.ControlStyle); - this.DateControl.ID = base.ID + "_control"; - - this.Controls.Add(this.DateControl); - } - - protected virtual void LoadDateControls() - { - if (this.DateValue != Null.NullDate) - { - this.DateControl.SelectedDate = this.DateValue; - } - } - - /// - /// OnDataChanged is called by the PostBack Handler when the Data has changed. - /// - /// An EventArgs object. - protected override void OnDataChanged(EventArgs e) - { - var args = new PropertyEditorEventArgs(this.Name); - args.Value = this.DateValue; - args.OldValue = this.OldDateValue; - args.StringValue = this.DateValue.ToString(CultureInfo.InvariantCulture); - this.OnValueChanged(args); - } - - protected override void OnPreRender(EventArgs e) - { - base.OnPreRender(e); - - this.LoadDateControls(); - - if (this.Page != null && this.EditMode == PropertyEditorMode.Edit) - { - this.Page.RegisterRequiresPostBack(this); - } - } - - /// - /// RenderEditMode is called by the base control to render the control in Edit Mode. - /// - /// - protected override void RenderEditMode(HtmlTextWriter writer) - { - this.RenderChildren(writer); - } - - /// ----------------------------------------------------------------------------- - /// - /// RenderViewMode renders the View (readonly) mode of the control. - /// - /// A HtmlTextWriter. - /// ----------------------------------------------------------------------------- - protected override void RenderViewMode(HtmlTextWriter writer) - { - this.ControlStyle.AddAttributesToRender(writer); - writer.RenderBeginTag(HtmlTextWriterTag.Span); - writer.Write(this.StringValue); - writer.RenderEndTag(); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.css b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.css deleted file mode 100644 index bc7606efc47..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.css +++ /dev/null @@ -1,3 +0,0 @@ -.TermsSelector > table { - width: 100% !important; -} \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.js b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.js deleted file mode 100644 index 922d0d9a29b..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/Resources/TermsSelector.js +++ /dev/null @@ -1,122 +0,0 @@ -(function ($) { - if (typeof webcontrols === "undefined" || webcontrols === null) { webcontrols = {}; }; - webcontrols.termsSelector = { - OnClientDropDownOpened: function (sender, e) { - webcontrols.termsSelector.fire(sender); - }, - OnClientNodeChecked: function (sender, e) { - webcontrols.termsSelector.update(sender); - }, - itemDataLoaded: function(result, context) { - var itemsData = eval("(" + result + ")"); - var clientId = itemsData[0].clientId; - var selectedTerms = $("#" + clientId).attr("selectedterms").split(','); - var selectedObj = {}; - for (var i = 0; i < selectedTerms.length; i++) { - selectedObj["t_" + selectedTerms[i]] = true; - } - var tree = $find($("div[id^=" + clientId + "][id$=_TreeView]").attr("id")); - tree.trackChanges(); - tree.get_nodes().clear(); - for (var i = 1; i < itemsData.length; i++) { - var data = itemsData[i]; - var node = new Telerik.Web.UI.RadTreeNode(); - node.set_text(data.name); - node.set_value(data.termId); - if (itemsData[i].termId < 0) { - node.set_checkable(false); - } else { - node.set_checked(selectedObj["t_" + data.termId]); - } - - var parentNode = tree.findNodeByValue(data.parentTermId); - if (parentNode && data.termId > 0) { - parentNode.get_nodes().add(node); - if (!parentNode.get_expanded()) { - parentNode.set_expanded(true); - } - } else { - tree.get_nodes().add(node); - } - } - tree.commitChanges(); - webcontrols.termsSelector.update(tree); - $("div[id^=" + clientId + "][id$=_TreeView] input[type=checkbox]").dnnCheckbox(); - }, - itemDataLoadError: function(result, context) { - - }, - update: function (tree) { - var treeDiv = $("#" + tree.get_id()); - var comboBox = treeDiv.data("combo"); - var nodes = tree.get_checkedNodes(); - var text = '', value = ''; - for (var i = 0; i < nodes.length; i++) { - text += nodes[i].get_text() + ", "; - value += nodes[i].get_value() + ", "; - } - if (text != '' && text.substr(text.length - 2, 2) == ', ') { - text = text.substr(0, text.length - 2); - } - if (value != '' && value.substr(value.length - 2, 2) == ', ') { - value = value.substr(0, value.length - 2); - } - - comboBox.trackChanges(); - var valueItem; - if (comboBox.get_items().get_count() == 1) { - valueItem = new Telerik.Web.UI.RadComboBoxItem(); - comboBox.get_items().add(valueItem); - valueItem.set_visible(false); - } else { - valueItem = comboBox.get_items().getItem(1); - } - valueItem.set_text(text); - valueItem.set_value(value); - valueItem.select(); - comboBox.commitChanges(); - }, - fire: function(combobox) { - var $this = $("#" + combobox.get_id()); - var treeDiv = $("div[id^=" + combobox.get_id() + "][id$=_TreeView]"); - if (treeDiv.data("combo")) { - return; - } - treeDiv.data("combo", combobox); - - treeDiv.click(function (e) { - if (!$(e.srcElement).is(":checkbox")) { - return false; - } - }); - } - }; - - var updateTerms = function() { - setTimeout(function() { - $("div[class*=TermsSelector]").each(function() { - var clientId = $(this).attr("id"); - var includeSystemVocabularies = $(this).attr("includesystemvocabularies"); - var includeTags = $(this).attr("includetags"); - var portalId = $(this).attr("portalid"); - - var combo = $find(clientId); - if (combo != null) { - webcontrols.termsSelector.fire(combo); - combo.set_text("Loading..."); - eval(dnn.getVar('TermsSelectorCallback').replace('[PARAMS]', clientId + '-' + portalId + '-' + includeTags + '-' + includeSystemVocabularies)); - } - }); - }, 0); - }; - - $(document).ready(function () { - updateTerms(); - if (typeof Sys != "undefined") { - Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () { - updateTerms(); - }); - } - }); -}(jQuery)); - diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsList.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsList.cs deleted file mode 100644 index 8cfabe8d000..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsList.cs +++ /dev/null @@ -1,174 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections.Generic; - using System.Web.UI.WebControls; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Content.Taxonomy; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class TermsList : WebControl - { - private bool _IsHeirarchical; - private DnnListBox _ListBox; - - private DnnTreeView _TreeView; - - public event EventHandler SelectedTermChanged; - - public bool IsHeirarchical - { - get - { - return this._IsHeirarchical; - } - } - - public Term SelectedTerm - { - get - { - Term _SelectedTerm = null; - if (!string.IsNullOrEmpty(this.SelectedValue)) - { - int _TermId = int.Parse(this.SelectedValue); - foreach (Term term in this.Terms) - { - if (term.TermId == _TermId) - { - _SelectedTerm = term; - break; - } - } - } - - return _SelectedTerm; - } - } - - public string SelectedValue - { - get - { - string _SelectedValue = Null.NullString; - if (this.IsHeirarchical) - { - _SelectedValue = this._TreeView.SelectedValue; - } - else - { - _SelectedValue = this._ListBox.SelectedValue; - } - - return _SelectedValue; - } - } - - public List Terms - { - get - { - object _DataSource = null; - if (this.IsHeirarchical) - { - _DataSource = this._TreeView.DataSource; - } - else - { - _DataSource = this._ListBox.DataSource; - } - - return _DataSource as List; - } - } - - public void BindTerms(List terms, bool isHeirarchical, bool dataBind) - { - this._IsHeirarchical = isHeirarchical; - - this._ListBox.DataSource = terms; - this._TreeView.DataSource = terms; - - if (dataBind) - { - this._ListBox.DataBind(); - this._TreeView.DataBind(); - } - } - - public void ClearSelectedTerm() - { - this._ListBox.SelectedIndex = Null.NullInteger; - this._TreeView.UnselectAllNodes(); - } - - protected override void CreateChildControls() - { - this.Controls.Clear(); - - this._ListBox = new DnnListBox(); - this._ListBox.ID = string.Concat(this.ID, "_List"); - this._ListBox.DataTextField = "Name"; - this._ListBox.DataValueField = "TermId"; - this._ListBox.AutoPostBack = true; - this._ListBox.SelectedIndexChanged += this.ListBoxSelectedIndexChanged; - - this._TreeView = new DnnTreeView(); - this._TreeView.ID = string.Concat(this.ID, "_Tree"); - this._TreeView.DataTextField = "Name"; - this._TreeView.DataValueField = "TermId"; - this._TreeView.DataFieldID = "TermId"; - this._TreeView.DataFieldParentID = "ParentTermId"; - this._TreeView.NodeClick += this.TreeViewNodeClick; - - this.Controls.Add(this._ListBox); - this.Controls.Add(this._TreeView); - } - - protected override void OnInit(EventArgs e) - { - this.EnsureChildControls(); - } - - protected override void OnPreRender(EventArgs e) - { - this._ListBox.Visible = !this.IsHeirarchical; - this._TreeView.Visible = this.IsHeirarchical; - - this._ListBox.Height = this.Height; - this._ListBox.Width = this.Width; - this._TreeView.Height = this.Height; - this._TreeView.Width = this.Width; - - this._TreeView.ExpandAllNodes(); - - base.OnPreRender(e); - } - - protected virtual void OnSelectedTermChanged(TermsEventArgs e) - { - // Raise the SelectedTermChanged Event - if (this.SelectedTermChanged != null) - { - this.SelectedTermChanged(this, e); - } - } - - private void ListBoxSelectedIndexChanged(object sender, EventArgs e) - { - // Raise the SelectedTermChanged Event - this.OnSelectedTermChanged(new TermsEventArgs(this.SelectedTerm)); - } - - private void TreeViewNodeClick(object sender, RadTreeNodeEventArgs e) - { - // Raise the SelectedTermChanged Event - this.OnSelectedTermChanged(new TermsEventArgs(this.SelectedTerm)); - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsSelector.cs b/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsSelector.cs deleted file mode 100644 index 930b4e9e442..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/UI/WebControls/TermsSelector.cs +++ /dev/null @@ -1,203 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Web.UI.WebControls -{ - using System; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Web.Script.Serialization; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Content.Common; - using DotNetNuke.Entities.Content.Taxonomy; - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.UI.Utilities; - using DotNetNuke.Web.Client.ClientResourceManagement; - using Telerik.Web.UI; - - [Obsolete("Telerik support will be removed in DNN Platform 10.0.0. You will need to find an alternative solution")] - public class TermsSelector : DnnComboBox, IClientAPICallbackEventHandler - { - public TermsSelector() - { - this.IncludeSystemVocabularies = false; - this.IncludeTags = true; - this.EnableViewState = false; - } - - public int PortalId { get; set; } - - public bool IncludeSystemVocabularies { get; set; } - - public bool IncludeTags { get; set; } - - public List Terms { get; set; } - - public string RaiseClientAPICallbackEvent(string eventArgument) - { - var parameters = eventArgument.Split('-'); - this.PortalId = Convert.ToInt32(parameters[1]); - this.IncludeTags = Convert.ToBoolean(parameters[2]); - this.IncludeSystemVocabularies = Convert.ToBoolean(parameters[3]); - var terms = this.GetTerms(); - terms.Insert(0, new { clientId = parameters[0] }); - var serializer = new JavaScriptSerializer(); - return serializer.Serialize(terms); - } - - protected override void OnInit(EventArgs e) - { - this.ItemTemplate = new TreeViewTemplate(); - this.Items.Add(new RadComboBoxItem()); - base.OnInit(e); - - JavaScript.RequestRegistration(CommonJs.jQueryMigrate); - - this.OnClientDropDownOpened = "webcontrols.termsSelector.OnClientDropDownOpened"; - if (!string.IsNullOrEmpty(this.CssClass)) - { - this.CssClass = string.Format("{0} TermsSelector", this.CssClass); - } - else - { - this.CssClass = "TermsSelector"; - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - if (this.Page.IsPostBack) - { - if (this.Terms == null) - { - this.Terms = new List(); - } - else - { - this.Terms.Clear(); - } - - if (!string.IsNullOrEmpty(this.SelectedValue)) - { - foreach (var id in this.SelectedValue.Split(',')) - { - var termId = Convert.ToInt32(id.Trim()); - var term = Util.GetTermController().GetTerm(termId); - if (term != null) - { - this.Terms.Add(term); - } - } - - // clear the append item by client side - if (this.Items.Count > 1) - { - this.Items.Remove(1); - } - } - } - - if (!this.Page.IsPostBack) - { - this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "DotNetNuke.Web.UI.WebControls.Resources.TermsSelector.js"); - - ClientResourceManager.RegisterStyleSheet( - this.Page, - this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "DotNetNuke.Web.UI.WebControls.Resources.TermsSelector.css")); - - ClientAPI.RegisterClientVariable(this.Page, "TermsSelectorCallback", - ClientAPI.GetCallbackEventReference(this, "'[PARAMS]'", "webcontrols.termsSelector.itemDataLoaded", "this", - "webcontrols.termsSelector.itemDataLoadError"), true); - } - } - - protected override void OnPreRender(EventArgs e) - { - base.OnPreRender(e); - if (this.Terms != null) - { - this.Attributes.Add("SelectedTerms", string.Join(",", this.Terms.Select(t => t.TermId.ToString()).ToArray())); - } - - this.Attributes.Add("IncludeSystemVocabularies", this.IncludeSystemVocabularies.ToString().ToLowerInvariant()); - this.Attributes.Add("IncludeTags", this.IncludeTags.ToString().ToLowerInvariant()); - this.Attributes.Add("PortalId", this.PortalId.ToString()); - } - - private ArrayList GetTerms() - { - var vocabRep = Util.GetVocabularyController(); - var terms = new ArrayList(); - var vocabularies = from v in vocabRep.GetVocabularies() where v.ScopeType.ScopeType == "Application" || (v.ScopeType.ScopeType == "Portal" && v.ScopeId == this.PortalId) select v; - - foreach (Vocabulary v in vocabularies) - { - if (v.IsSystem) - { - if (this.IncludeSystemVocabularies || (this.IncludeTags && v.Name == "Tags")) - { - this.AddTerms(v, terms); - } - } - else - { - this.AddTerms(v, terms); - } - } - - return terms; - } - - private void AddTerms(Vocabulary v, ArrayList terms) - { - ITermController termRep = Util.GetTermController(); - - // Add a blank parent term if simple vocabulary - if (v.Type == VocabularyType.Simple) - { - terms.Add(new { termId = -v.VocabularyId, name = v.Name, parentTermId = Null.NullInteger }); - } - - foreach (Term t in termRep.GetTermsByVocabulary(v.VocabularyId)) - { - if (v.Type == VocabularyType.Simple) - { - t.ParentTermId = -v.VocabularyId; - } - - terms.Add(new { termId = t.TermId, name = t.Name, parentTermId = t.ParentTermId }); - } - } - - public class TreeViewTemplate : ITemplate - { - private RadComboBoxItem _container; - private TermsSelector _termsSelector; - - private DnnTreeView _tree; - - public void InstantiateIn(Control container) - { - this._container = (RadComboBoxItem)container; - this._termsSelector = (TermsSelector)container.Parent; - - this._tree = new DnnTreeView(); - this._tree.ID = string.Format("{0}_TreeView", this._termsSelector.ID); - this._tree.CheckBoxes = true; - this._tree.EnableViewState = false; - - // bind client-side events - this._tree.OnClientNodeChecked = "webcontrols.termsSelector.OnClientNodeChecked"; - - this._container.Controls.Add(this._tree); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/dnn_Web_Deprecated.dnn b/DNN Platform/DotNetNuke.Web.Deprecated/dnn_Web_Deprecated.dnn deleted file mode 100644 index 3684943c791..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/dnn_Web_Deprecated.dnn +++ /dev/null @@ -1,31 +0,0 @@ - - - - DNN Deprecated Web Controls Library - DNN Deprecated Web Controls library for legacy Telerik depepndency - - - DNN - .NET Foundation - https://dnncommunity.org - info@dnncommunity.org - - - - true - - 09.01.00 - - - - - - bin - DotNetNuke.Web.Deprecated.dll - - - - - - - diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/license.txt b/DNN Platform/DotNetNuke.Web.Deprecated/license.txt deleted file mode 100644 index 67ea9ae6bb8..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/license.txt +++ /dev/null @@ -1,20 +0,0 @@ -
-

License

-

- Copyright (c) .NET Foundation and Contributors
- All Rights Reserved -

-

- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated - documentation files (the "Software"), to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and - to permit persons to whom the Software is furnished to do so, subject to the following conditions: -

-

- The above copyright notice and this permission notice shall be included in all copies or substantial portions - of the Software. -

-

- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

-
\ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/packages.config b/DNN Platform/DotNetNuke.Web.Deprecated/packages.config deleted file mode 100644 index e619441b462..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Deprecated/releaseNotes.txt b/DNN Platform/DotNetNuke.Web.Deprecated/releaseNotes.txt deleted file mode 100644 index 2f1e28f6e4c..00000000000 --- a/DNN Platform/DotNetNuke.Web.Deprecated/releaseNotes.txt +++ /dev/null @@ -1,4 +0,0 @@ -This DotNetNuke.Web.Deprecated library is separated from the Platform core -in order to remove any legacy dependency on Telerik from the code. This is -packaged as a stand-alone installable library for backward compatibility -with some modules internal and third party that are still using Telerik. diff --git a/DNN Platform/DotNetNuke.Web.Mvc/DnnMvcHandler.cs b/DNN Platform/DotNetNuke.Web.Mvc/DnnMvcHandler.cs index 65db080e138..434f9e2db9d 100644 --- a/DNN Platform/DotNetNuke.Web.Mvc/DnnMvcHandler.cs +++ b/DNN Platform/DotNetNuke.Web.Mvc/DnnMvcHandler.cs @@ -10,7 +10,9 @@ namespace DotNetNuke.Web.Mvc using System.Web.SessionState; using DotNetNuke.ComponentModel; + using DotNetNuke.Entities.Portals; using DotNetNuke.HttpModules.Membership; + using DotNetNuke.Services.Localization; using DotNetNuke.UI.Modules; using DotNetNuke.Web.Mvc.Common; using DotNetNuke.Web.Mvc.Framework.Modules; @@ -66,6 +68,7 @@ protected virtual bool IsReusable void IHttpHandler.ProcessRequest(HttpContext httpContext) { + this.SetThreadCulture(); MembershipModule.AuthenticateRequest(this.RequestContext.HttpContext, allowUnknownExtensions: true); this.ProcessRequest(httpContext); } @@ -93,6 +96,23 @@ protected virtual void ProcessRequest(HttpContext httpContext) this.ProcessRequest(httpContextBase); } + private void SetThreadCulture() + { + var portalSettings = PortalController.Instance.GetCurrentSettings(); + if (portalSettings is null) + { + return; + } + + var pageLocale = Localization.GetPageLocale(portalSettings); + if (pageLocale is null) + { + return; + } + + Localization.SetThreadCultures(pageLocale, portalSettings); + } + private IModuleExecutionEngine GetModuleExecutionEngine() { var moduleExecutionEngine = ComponentFactory.GetComponent(); diff --git a/DNN Platform/DotNetNuke.Web.Mvc/DotNetNuke.Web.Mvc.csproj b/DNN Platform/DotNetNuke.Web.Mvc/DotNetNuke.Web.Mvc.csproj index 55388cf6ab3..6bb74bfb891 100644 --- a/DNN Platform/DotNetNuke.Web.Mvc/DotNetNuke.Web.Mvc.csproj +++ b/DNN Platform/DotNetNuke.Web.Mvc/DotNetNuke.Web.Mvc.csproj @@ -1,258 +1,248 @@ - - - - - - - - true - - - - - Debug - AnyCPU - {64DC5798-9D37-4F8D-97DD-8403E6E70DD3} - Library - Properties - DotNetNuke.Web.Mvc - DotNetNuke.Web.Mvc - v4.7.2 - 512 - ..\..\ - true - - - true - full - false - bin\ - DEBUG;TRACE - prompt - 4 - 7 - - - pdbonly - true - bin\ - TRACE - prompt - 4 - 7 - - - - False - ..\Library\bin\DotNetNuke.dll - - - - ..\..\packages\Microsoft.AspNet.WebHelpers.3.2.7\lib\net45\Microsoft.Web.Helpers.dll - True - - - ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - True - - - ..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll - - - - - - - ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll - True - - - - - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll - True - - - ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll - - - ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll - - - ..\..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll - True - - - ..\..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll - True - - - False - - - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll - True - - - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll - True - - - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll - True - - - - - - - - ..\..\packages\Microsoft.AspNet.WebPages.Data.3.2.7\lib\net45\WebMatrix.Data.dll - True - - - ..\..\packages\Microsoft.AspNet.WebPages.WebData.3.2.7\lib\net45\WebMatrix.WebData.dll - True - - - - - SolutionInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - stylecop.json - - - - Designer - - - Designer - - - - - {6928a9b1-f88a-4581-a132-d3eb38669bb0} - DotNetNuke.Abstractions - - - {0fca217a-5f9a-4f5b-a31b-86d64ae65198} - DotNetNuke.DependencyInjection - - - {3cd5f6b8-8360-4862-80b6-f402892db7dd} - DotNetNuke.Instrumentation - - - {03E3AFA5-DDC9-48FB-A839-AD4282CE237E} - DotNetNuke.Web.Client - - - {3D9C3F5F-1D2D-4D89-995B-438055A5E3A6} - DotNetNuke.HttpModules - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - - - + + + + + + + + true + + + + + Debug + AnyCPU + {64DC5798-9D37-4F8D-97DD-8403E6E70DD3} + Library + Properties + DotNetNuke.Web.Mvc + DotNetNuke.Web.Mvc + v4.7.2 + 512 + ..\..\ + true + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + 7 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + 7 + + + + False + ..\Library\bin\DotNetNuke.dll + + + + ..\..\packages\Microsoft.AspNet.WebHelpers.3.2.9\lib\net45\Microsoft.Web.Helpers.dll + + + ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + True + + + ..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll + + + + + + + ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll + + + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.Helpers.dll + + + ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll + + + ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll + + + ..\..\packages\Microsoft.AspNet.Mvc.5.2.9\lib\net45\System.Web.Mvc.dll + + + ..\..\packages\Microsoft.AspNet.Razor.3.2.9\lib\net45\System.Web.Razor.dll + + + False + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Deployment.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Razor.dll + + + + + + + + ..\..\packages\Microsoft.AspNet.WebPages.Data.3.2.9\lib\net45\WebMatrix.Data.dll + + + ..\..\packages\Microsoft.AspNet.WebPages.WebData.3.2.9\lib\net45\WebMatrix.WebData.dll + + + + + SolutionInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + stylecop.json + + + + Designer + + + Designer + + + + + {6928a9b1-f88a-4581-a132-d3eb38669bb0} + DotNetNuke.Abstractions + + + {0fca217a-5f9a-4f5b-a31b-86d64ae65198} + DotNetNuke.DependencyInjection + + + {3cd5f6b8-8360-4862-80b6-f402892db7dd} + DotNetNuke.Instrumentation + + + {03E3AFA5-DDC9-48FB-A839-AD4282CE237E} + DotNetNuke.Web.Client + + + {3D9C3F5F-1D2D-4D89-995B-438055A5E3A6} + DotNetNuke.HttpModules + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Mvc/Framework/ActionFilters/ValidateAntiForgeryTokenAttribute.cs b/DNN Platform/DotNetNuke.Web.Mvc/Framework/ActionFilters/ValidateAntiForgeryTokenAttribute.cs index eebfd78eac4..6c33e4fd59d 100644 --- a/DNN Platform/DotNetNuke.Web.Mvc/Framework/ActionFilters/ValidateAntiForgeryTokenAttribute.cs +++ b/DNN Platform/DotNetNuke.Web.Mvc/Framework/ActionFilters/ValidateAntiForgeryTokenAttribute.cs @@ -9,10 +9,6 @@ namespace DotNetNuke.Web.Mvc.Framework.ActionFilters using System.Linq; using System.Threading; using System.Web; - using System.Web.Mvc; - - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Users; using DotNetNuke.Web.Mvc.Common; public class ValidateAntiForgeryTokenAttribute : AuthorizeAttributeBase @@ -28,9 +24,7 @@ public virtual bool IsAuthenticated(HttpContextBase httpContext) // Try to fetch the token from Headers. (Used with Dnn service framework.). // If not found then fetch it from form fields. (Would be used with standard MVC call). - var token = headers.AllKeys.Contains("RequestVerificationToken") ? headers.GetValues("RequestVerificationToken").FirstOrDefault() - : ( - form.AllKeys.Contains("__RequestVerificationToken") ? form.GetValues("__RequestVerificationToken").FirstOrDefault() : null); + var token = headers.GetValues("RequestVerificationToken")?.FirstOrDefault() ?? form.GetValues("__RequestVerificationToken")?.FirstOrDefault(); var cookieValue = this.GetAntiForgeryCookieValue(httpContext); if (token != null) diff --git a/DNN Platform/DotNetNuke.Web.Mvc/app.config b/DNN Platform/DotNetNuke.Web.Mvc/app.config index 373d9cdf1d1..9dae6a77661 100644 --- a/DNN Platform/DotNetNuke.Web.Mvc/app.config +++ b/DNN Platform/DotNetNuke.Web.Mvc/app.config @@ -6,6 +6,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Mvc/packages.config b/DNN Platform/DotNetNuke.Web.Mvc/packages.config index 38e8fda58fb..56d2574b500 100644 --- a/DNN Platform/DotNetNuke.Web.Mvc/packages.config +++ b/DNN Platform/DotNetNuke.Web.Mvc/packages.config @@ -1,18 +1,18 @@  - - - - - - - - - - - - + + + + + + + + + + + + - + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Razor/DotNetNuke.Web.Razor.csproj b/DNN Platform/DotNetNuke.Web.Razor/DotNetNuke.Web.Razor.csproj index ae2ddb16e2e..63b08b3aeed 100644 --- a/DNN Platform/DotNetNuke.Web.Razor/DotNetNuke.Web.Razor.csproj +++ b/DNN Platform/DotNetNuke.Web.Razor/DotNetNuke.Web.Razor.csproj @@ -1,8 +1,8 @@  - - - + + + true @@ -61,8 +61,7 @@ ..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll
- ..\..\packages\Microsoft.AspNet.WebHelpers.3.2.7\lib\net45\Microsoft.Web.Helpers.dll - True + ..\..\packages\Microsoft.AspNet.WebHelpers.3.2.9\lib\net45\Microsoft.Web.Helpers.dll True @@ -71,34 +70,27 @@ - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.Helpers.dll - ..\..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll - True + ..\..\packages\Microsoft.AspNet.Razor.3.2.9\lib\net45\System.Web.Razor.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Deployment.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Razor.dll - ..\..\packages\Microsoft.AspNet.WebPages.Data.3.2.7\lib\net45\WebMatrix.Data.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.Data.3.2.9\lib\net45\WebMatrix.Data.dll - ..\..\packages\Microsoft.AspNet.WebPages.WebData.3.2.7\lib\net45\WebMatrix.WebData.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.WebData.3.2.9\lib\net45\WebMatrix.WebData.dll
@@ -160,14 +152,14 @@ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - + + + + + + - - - + + +
\ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web.Razor/packages.config b/DNN Platform/DotNetNuke.Web.Razor/packages.config index 5febd36410b..da7f21c16fb 100644 --- a/DNN Platform/DotNetNuke.Web.Razor/packages.config +++ b/DNN Platform/DotNetNuke.Web.Razor/packages.config @@ -1,15 +1,15 @@  - - - - - - + + + + + + - - + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web/DotNetNuke.Web.csproj b/DNN Platform/DotNetNuke.Web/DotNetNuke.Web.csproj index 8c5c82f2101..1b6e2c871a0 100644 --- a/DNN Platform/DotNetNuke.Web/DotNetNuke.Web.csproj +++ b/DNN Platform/DotNetNuke.Web/DotNetNuke.Web.csproj @@ -1,8 +1,8 @@  - - - + + + true @@ -45,7 +45,6 @@ false true - ..\..\..\Evoq.Content\ true @@ -113,8 +112,8 @@ ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll True - - ..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll True @@ -123,8 +122,8 @@ - - ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll @@ -132,36 +131,32 @@ - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.Helpers.dll - - ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll - - ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + ..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll - ..\..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll - True + ..\..\packages\Microsoft.AspNet.Razor.3.2.9\lib\net45\System.Web.Razor.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Deployment.dll - ..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll - True + ..\..\packages\Microsoft.AspNet.WebPages.3.2.9\lib\net45\System.Web.WebPages.Razor.dll - - ..\..\Packages\WebFormsMVP.1.4.1.0\lib\WebFormsMvp.dll + + ..\..\packages\WebFormsMvp.1.4.5.0\lib\WebFormsMvp.dll + True @@ -425,6 +420,7 @@ stylecop.json + Designer @@ -457,14 +453,14 @@ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - + + + + + + - - - + + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Web/InternalServices/FileUploadController.cs b/DNN Platform/DotNetNuke.Web/InternalServices/FileUploadController.cs index 991441a9660..52abe1ba7b6 100644 --- a/DNN Platform/DotNetNuke.Web/InternalServices/FileUploadController.cs +++ b/DNN Platform/DotNetNuke.Web/InternalServices/FileUploadController.cs @@ -419,91 +419,6 @@ public Task UploadFromLocal(int portalId) return task; } - [HttpPost] - [ValidateAntiForgeryToken] - [AllowAnonymous] - public HttpResponseMessage UploadFromUrl(UploadByUrlDto dto) - { - FileUploadDto result; - WebResponse response = null; - Stream responseStream = null; - var mediaTypeFormatter = new JsonMediaTypeFormatter(); - mediaTypeFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/plain")); - - if (this.VerifySafeUrl(dto.Url) == false) - { - return this.Request.CreateResponse(HttpStatusCode.BadRequest); - } - - try - { - var request = (HttpWebRequest)WebRequest.Create(dto.Url); - request.Credentials = CredentialCache.DefaultCredentials; - response = request.GetResponse(); - responseStream = response.GetResponseStream(); - if (responseStream == null) - { - throw new Exception("No server response"); - } - - var fileName = this.GetFileName(response); - if (string.IsNullOrEmpty(fileName)) - { - fileName = HttpUtility.UrlDecode(new Uri(dto.Url).Segments.Last()); - } - - var portalId = dto.PortalId; - if (portalId > -1) - { - if (!this.IsPortalIdValid(portalId)) - { - throw new HttpResponseException(HttpStatusCode.Unauthorized); - } - } - else - { - portalId = this.PortalSettings.PortalId; - } - - result = UploadFile(responseStream, portalId, this.UserInfo, dto.Folder.ValueOrEmpty(), dto.Filter.ValueOrEmpty(), - fileName, dto.Overwrite, dto.IsHostMenu, dto.Unzip, dto.ValidationCode); - - /* Response Content Type cannot be application/json - * because IE9 with iframe-transport manages the response - * as a file download - */ - return this.Request.CreateResponse( - HttpStatusCode.OK, - result, - mediaTypeFormatter, - "text/plain"); - } - catch (Exception ex) - { - result = new FileUploadDto - { - Message = ex.Message, - }; - return this.Request.CreateResponse( - HttpStatusCode.OK, - result, - mediaTypeFormatter, - "text/plain"); - } - finally - { - if (response != null) - { - response.Close(); - } - - if (responseStream != null) - { - responseStream.Close(); - } - } - } - private static string GetLocalizedString(string key) { const string resourceFile = "/App_GlobalResources/FileUpload.resx"; diff --git a/DNN Platform/DotNetNuke.Web/UI/RibbonBarManager.cs b/DNN Platform/DotNetNuke.Web/UI/RibbonBarManager.cs index 33395adbd94..dab1f1cc9f7 100644 --- a/DNN Platform/DotNetNuke.Web/UI/RibbonBarManager.cs +++ b/DNN Platform/DotNetNuke.Web/UI/RibbonBarManager.cs @@ -87,12 +87,18 @@ public static TabInfo InitTabInfoObject(TabInfo relativeToTab, TabRelativeLocati { newTab.PortalID = parentTab.PortalID; newTab.ParentId = parentTab.TabID; - newTab.Level = parentTab.Level + 1; - if (PortalSettings.Current.SSLEnabled) - { - newTab.IsSecure = parentTab.IsSecure; - - // Inherit from parent + newTab.Level = parentTab.Level + 1; + switch (PortalSettings.Current.SSLSetup) + { + case Abstractions.Security.SiteSslSetup.Off: + newTab.IsSecure = false; + break; + case Abstractions.Security.SiteSslSetup.Advanced: + newTab.IsSecure = parentTab.IsSecure; + break; + default: + newTab.IsSecure = true; + break; } } else diff --git a/DNN Platform/DotNetNuke.Web/UI/WebControls/DnnRibbonBarTool.cs b/DNN Platform/DotNetNuke.Web/UI/WebControls/DnnRibbonBarTool.cs index 75959ae55f4..0dba8139839 100644 --- a/DNN Platform/DotNetNuke.Web/UI/WebControls/DnnRibbonBarTool.cs +++ b/DNN Platform/DotNetNuke.Web/UI/WebControls/DnnRibbonBarTool.cs @@ -310,7 +310,7 @@ protected virtual void ProcessTool() // Prevent PageSettings in a popup if SSL is enabled and enforced, which causes redirection/javascript broswer security issues. if (this.ToolInfo.ToolName == "PageSettings" || this.ToolInfo.ToolName == "CopyPage" || this.ToolInfo.ToolName == "NewPage") { - if (!(PortalSettings.SSLEnabled && PortalSettings.SSLEnforced)) + if (!(PortalSettings.SSLSetup != Abstractions.Security.SiteSslSetup.Off && PortalSettings.SSLEnforced)) { this.DnnLink.Attributes.Add("onclick", "return " + UrlUtils.PopUpUrl(this.DnnLink.NavigateUrl, this, PortalSettings, true, false)); } diff --git a/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDropDownCheckBoxes.cs b/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDropDownCheckBoxes.cs deleted file mode 100644 index de3e3f76127..00000000000 --- a/DNN Platform/DotNetNuke.Web/UI/WebControls/Internal/DnnDropDownCheckBoxes.cs +++ /dev/null @@ -1,751 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -using System; -using System.ComponentModel; -using System.Drawing; -using System.Linq; -using System.Web.UI; -using System.Web.UI.WebControls; - - -namespace DotNetNuke.Web.UI.WebControls.Internal -{ - public class DnnDropDownCheckBoxes : CheckBoxList, IPostBackEventHandler - { - public DnnDropDownCheckBoxes() - { - AddJQueryReference = true; - UseButtons = false; - UseSelectAllNode = true; - ReseteParentProperties(); - } - - private void ReseteParentProperties() - { - base.RepeatDirection = RepeatDirection.Vertical; - base.RepeatLayout = RepeatLayout.Flow; - base.AutoPostBack = false; - } - - #region Properties - - private DropDownStyle _style; - - /// - /// CSS classes of HTML elements building the control, implicit width and height properties - /// - [PersistenceMode(PersistenceMode.InnerProperty)] - public new DropDownStyle Style - { - get - { - if (_style == null) - { - _style = new DropDownStyle(); - - if (IsTrackingViewState) - { - ((IStateManager)_style).TrackViewState(); - } - } - - return _style; - } - } - - /// - /// !!! Use in .aspx in Visual Studio 2008 instead of <Style/> to avoid 'Ambiguous match found' parsing error !!! - /// CSS classes of HTML elements building the control, implicit width and height properties - /// - [PersistenceMode(PersistenceMode.InnerProperty)] - public DropDownStyle Style2 - { - get - { - if (_style == null) - { - _style = new DropDownStyle(); - - if (IsTrackingViewState) - { - ((IStateManager)_style).TrackViewState(); - } - } - - return _style; - } - } - - /// - /// Same as Style.SelectBoxCssClass - /// - public new string CssClass - { - get - { - return Style.SelectBoxCssClass; - } - set - { - Style.SelectBoxCssClass = value; - } - } - - private DropDownTexts _texts; - - /// - /// Texts for control elements - /// - /// - /// Use this complex property to specify Texts for specific control elements, e.g. button captions, 'select all' node, select box caption - /// - [Localizable(true)] - [PersistenceMode(PersistenceMode.InnerProperty)] - public DropDownTexts Texts - { - get - { - if (_texts == null) - { - _texts = new DropDownTexts(); - - if (IsTrackingViewState) - { - ((IStateManager)_texts).TrackViewState(); - } - } - - return _texts; - } - } - - /// - /// Whether to include reference to JQuery using embeded resources - /// - /// - /// - /// Set this property to 'true 'if you don't have reference to jQuery lib on your page/master page. - /// Set it to 'false' otherwise (or you'll get not working control) - /// - /// - /// If you use ScriptManager or ScriptManagerProxy controls to add script references (via ScriptReference tag) the control is capable of detecting - /// jQuery reference among others and in this case you may always have this property set to 'true' - /// - /// - [PersistenceMode(PersistenceMode.Attribute)] - public bool AddJQueryReference - { - get - { - return (bool)(ViewState["AddJQueryReference"] ?? true); - } - set - { - { - ViewState["AddJQueryReference"] = value; - } - } - } - - /// - /// Whether to use 'OK' and 'Cancel' for initiating postbacks - /// - /// - /// If 'true' - corresponding buttons will be displayed within drop down box. Clicking 'OK' causes postback, - /// the value of the AutoPostBack property is irrelivant in this case. - /// - [PersistenceMode(PersistenceMode.Attribute)] - public bool UseButtons - { - get - { - return (bool)(ViewState["UseButtons"] ?? true); - } - set - { - { - ViewState["UseButtons"] = value; - } - } - } - - /// - /// Whether to initiate postback whenever drop down box is hidden - /// - /// - /// If 'true' - clicking on any area outside the control will trigger postback to server. When UseButtons = 'true' this property - /// has no effect - /// - [PersistenceMode(PersistenceMode.Attribute)] - public new bool AutoPostBack - { - get - { - return (bool)(ViewState["AutoPostBack2"] ?? false); - } - set - { - ViewState["AutoPostBack2"] = value; - } - } - - /// - /// Whther to show 'Select all' node in the drop down - /// - /// - /// - public bool UseSelectAllNode - { - get - { - return (bool)(ViewState["UseSelectAllNode"] ?? true); - } - set - { - { - ViewState["UseSelectAllNode"] = value; - } - } - } - - private bool AreScriptsInitialized - { - get - { - return (bool)(ViewState["AreScriptsInitialized"] ?? false); - } - set - { - ViewState["AreScriptsInitialized"] = value; - } - } - - private bool PropertiesAreDirty - { - get - { - return - ViewState.IsItemDirty("UseSelectAllNode") || - ViewState.IsItemDirty("AutoPostBack2") || - ViewState.IsItemDirty("UseButtons") || - ViewState.IsItemDirty("AddJQueryReference"); - } - } - - #endregion Properties - - #region Parent methods' overides - - protected override void OnPreRender(System.EventArgs e) - { - base.OnPreRender(e); - - var scriptManager = ScriptManager.GetCurrent(Page); - var asyncEnabled = scriptManager != null; - - if (AddJQueryReference) - IncludeJqueryScript(scriptManager, asyncEnabled); - -#if DEBUG - var scriptResource = checkBoxScriptResource; -#else - var scriptResource = checkBoxMinScriptResource; -#endif - - if (asyncEnabled) - scriptManager.Scripts.Add(new ScriptReference(Page.ClientScript.GetWebResourceUrl(this.GetType(), scriptResource))); - else Page.ClientScript.RegisterClientScriptInclude("dd_script", Page.ClientScript.GetWebResourceUrl(this.GetType(), scriptResource)); - - var initializeScript = string.Format( - initScript, - ClientID, - divPstfx, - selectPstfx, - "dd_chk_" + ClientID, - UseButtons.ToString().ToLower(), - AutoPostBack.ToString().ToLower(), - UseSelectAllNode.ToString().ToLower()); - - var cssRef = string.Format("", Page.ClientScript.GetWebResourceUrl(this.GetType(), defaultCssResource)); - - var postbackScript = string.Format("function dd_chk_{0}(){{ {1} }}", ClientID, Page.ClientScript.GetPostBackEventReference(this, null)); - - if (asyncEnabled && !AreScriptsInitialized && scriptManager.IsInAsyncPostBack) - { - ScriptManager.RegisterStartupScript(this, GetType(), ClientID, initializeScript, true); - ScriptManager.RegisterClientScriptBlock(this, GetType(), "post_" + ClientID, postbackScript, true); - AreScriptsInitialized = true; - } - else - { - Page.ClientScript.RegisterStartupScript(GetType(), ClientID, initializeScript, true); - Page.ClientScript.RegisterClientScriptBlock(GetType(), "post_" + ClientID, postbackScript, true); - AreScriptsInitialized = true; - } - - Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "dd_chk_styles", cssRef, false); - - if (Page.IsPostBack && asyncEnabled && (PropertiesAreDirty || Texts.IsDirty || Style.IsDirty)) - { - var script = string.Format( - updateScript, - ClientID, - divPstfx, - selectPstfx, - "dd_chk_" + ClientID, - UseButtons.ToString().ToLower(), - AutoPostBack.ToString().ToLower(), - UseSelectAllNode.ToString().ToLower()); - - ScriptManager.RegisterStartupScript(this, GetType(), ClientID + "_upd", script, true); - } - } - - private void IncludeJqueryScript(ScriptManager scriptManager, bool asyncEnabled) - { - if (!asyncEnabled) - Page.ClientScript.RegisterClientScriptInclude("dd_chk_jquery", Page.ClientScript.GetWebResourceUrl(this.GetType(), jqeuryResource)); - else - { - var jqureyRegistered = scriptManager.Scripts.All(script1 => !script1.Path.Contains("jquery-1.")); // search for jQuery registrations - if (jqureyRegistered) - scriptManager.Scripts.Add( - new ScriptReference(Page.ClientScript.GetWebResourceUrl(this.GetType(), jqeuryResource))); - } - - } - - protected override void Render(System.Web.UI.HtmlTextWriter writer) - { - //ReseteParentProperties(); - - // Add wrapper div - writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "inline-block"); - writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "relative"); - writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + selectPstfx); - writer.AddAttribute(HtmlTextWriterAttribute.Class, !string.IsNullOrEmpty(Style.SelectBoxCssClass) ? Style.SelectBoxCssClass + " " + selectCssClass : selectCssClass); - if (Style.SelectBoxWidth.Value > 0) writer.AddStyleAttribute(HtmlTextWriterStyle.Width, Style.SelectBoxWidth.ToString()); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - - // Add caption - if (!string.IsNullOrEmpty(Texts.SelectBoxCaption)) - { - writer.AddAttribute(HtmlTextWriterAttribute.Id, "caption"); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - writer.WriteEncodedText(Texts.SelectBoxCaption); - writer.RenderEndTag(); - } - - // Add dropdown div markup - writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + divPstfx); - writer.AddAttribute(HtmlTextWriterAttribute.Class, !string.IsNullOrEmpty(Style.DropDownBoxCssClass) ? Style.DropDownBoxCssClass + " " + dropDownCssClass : dropDownCssClass); - writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); - writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); - if (Style.DropDownBoxBoxWidth.Value > 0) writer.AddStyleAttribute(HtmlTextWriterStyle.Width, Style.DropDownBoxBoxWidth.ToString()); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - - // Add div with check boxes - writer.AddAttribute(HtmlTextWriterAttribute.Id, "checks"); - if (Style.DropDownBoxBoxHeight.Value > 0) writer.AddStyleAttribute(HtmlTextWriterStyle.Height, Style.DropDownBoxBoxHeight.ToString()); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - - // Add span for 'Select all' node - if (UseSelectAllNode) - { - - var selectAllHtml = @""; - - if (!string.IsNullOrEmpty(Texts.SelectAllNode)) - selectAllHtml = string.Format(selectAllHtml, ClientID + selectAllPstfx, Texts.SelectAllNode); - - writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "block"); - writer.RenderBeginTag(HtmlTextWriterTag.Span); - writer.Write(selectAllHtml); - writer.RenderEndTag(); - } - - // Render legacy markup within wrapping markup - base.Render(writer); - - // Close div with check boxes - writer.RenderEndTag(); - - // Add div with action buttons - if (UseButtons) - { - writer.AddAttribute(HtmlTextWriterAttribute.Id, "buttons"); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - - // Close buttons div - writer.RenderEndTag(); - } - - // Close dropdown div - writer.RenderEndTag(); - - // Close wrapper div - writer.RenderEndTag(); - } - - public void RaisePostBackEvent(string eventArgument) - { - if (CausesValidation) - { - Page.Validate(ValidationGroup); - } - - OnSelectedIndexChanged(EventArgs.Empty); - } - - #endregion - - #region State management overrides - - protected override void LoadViewState(object savedState) - { - var p = savedState as Pair; - if (p != null) - { - base.LoadViewState(p.First); - var propertiesState = p.Second as object[]; - - if (propertiesState != null) - { - if (propertiesState.Length > 0 && propertiesState[0] != null) - ((IStateManager)Texts).LoadViewState(propertiesState[0]); - if (propertiesState.Length > 1 && propertiesState[1] != null) - ((IStateManager)Style).LoadViewState(propertiesState[1]); - } - return; - } - base.LoadViewState(savedState); - } - - protected override object SaveViewState() - { - object baseState = base.SaveViewState(); - var thisState = new object[2]; - - if (_texts != null) - thisState[0] = ((IStateManager)_texts).SaveViewState(); - if (_style != null) - thisState[1] = ((IStateManager)_style).SaveViewState(); - - return new Pair(baseState, thisState); - } - - protected override void TrackViewState() - { - if (_texts != null) - ((IStateManager)_texts).TrackViewState(); - if (_style != null) - ((IStateManager)_style).TrackViewState(); - - base.TrackViewState(); - } - #endregion - - #region Constants - - private const string inputTag = @""; - private const string initScript = @"window.{0} = new DropDownScript('{0}','{1}','{2}',{3}, {4}, {5}, {6}); window.{0}.init();"; - private const string updateScript = @"window.{0}.update('{1}','{2}',{3}, {4}, {5}, {6});"; - private const string divPstfx = "_dv"; - private const string selectPstfx = "_sl"; - private const string selectAllPstfx = "_sll"; - private const string defaultCssResource = "Saplin.Controls.EmbeddedResources.DefaultStyles.css"; - private const string jqeuryResource = "Saplin.Controls.EmbeddedResources.jquery-1.6.1.min.js"; - private const string checkBoxScriptResource = "Saplin.Controls.EmbeddedResources.DropDownScript.js"; - private const string checkBoxMinScriptResource = "Saplin.Controls.EmbeddedResources.DropDownScript.min.js"; - private const string selectCssClass = "dd_chk_select"; - private const string dropDownCssClass = "dd_chk_drop"; - - #endregion - - #region Not implemented members - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Unit Width - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Unit Height - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new RepeatLayout RepeatLayout - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new RepeatDirection RepeatDirection - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Color BackColor - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Color BorderColor - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new bool BorderStyle - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Unit BorderWidth - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Unit CellPadding - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new Unit CellSpacing - { - get; - set; - } - - [EditorBrowsable(EditorBrowsableState.Never)] - [Obsolete] - public new bool EnableTheming - { - get; - set; - } - - #endregion - } - - public class DropDownTexts : StateManagedComplexProperty - { - private StateBag viewState; - - public DropDownTexts() - { - SelectBoxCaption = "Select"; - SelectAllNode = "Select all"; - } - - /// - /// Caption of the control - /// - [Localizable(true)] - [DefaultValue("Select")] - [NotifyParentProperty(true)] - public string SelectBoxCaption - { - get - { - return ViewState["SelectBoxCaption"] as string; - } - set - { - ViewState["SelectBoxCaption"] = value; - } - } - - /// - /// 'Select all' node (check box) text - /// - [Localizable(true)] - [DefaultValue("Select All")] - [NotifyParentProperty(true)] - public string SelectAllNode - { - get - { - return ViewState["SelectAllNode"] as string; - } - set - { - ViewState["SelectAllNode"] = value; - } - } - } - - public class DropDownStyle : StateManagedComplexProperty - { - public string SelectBoxCssClass - { - get - { - return ViewState["SelectBoxCssClass"] as string; - } - set - { - ViewState["SelectBoxCssClass"] = value; - } - } - - public string DropDownBoxCssClass - { - get - { - return ViewState["DropDownBoxCssClass"] as string; - } - set - { - ViewState["DropDownBoxCssClass"] = value; - } - } - - public Unit SelectBoxWidth - { - get - { - return (Unit)(ViewState["SelectBoxWidth"] ?? new Unit()); - } - set - { - ViewState["SelectBoxWidth"] = value; - } - } - - public Unit DropDownBoxBoxWidth - { - get - { - return (Unit)(ViewState["DropDownBoxBoxWidth"] ?? new Unit()); - } - set - { - ViewState["DropDownBoxBoxWidth"] = value; - } - } - - public Unit DropDownBoxBoxHeight - { - get - { - return (Unit)(ViewState["DropDownBoxBoxHeight"] ?? new Unit()); - } - set - { - ViewState["DropDownBoxBoxHeight"] = value; - } - } - } - - public abstract class StateManagedComplexProperty : IStateManager - { - private bool isTrackingViewState; - private StateBag viewState; - - protected virtual StateBag ViewState - { - get - { - if (viewState == null) - { - viewState = new StateBag(false); - - if (isTrackingViewState) - { - ((IStateManager)viewState).TrackViewState(); - } - } - return viewState; - } - } - - bool IStateManager.IsTrackingViewState - { - get - { - return isTrackingViewState; - } - } - - void IStateManager.LoadViewState(object savedState) - { - if (savedState != null) - { - ((IStateManager)ViewState).LoadViewState(savedState); - } - } - - object IStateManager.SaveViewState() - { - object savedState = null; - - if (viewState != null) - { - savedState = - ((IStateManager)viewState).SaveViewState(); - } - return savedState; - } - - void IStateManager.TrackViewState() - { - isTrackingViewState = true; - - if (viewState != null) - { - ((IStateManager)viewState).TrackViewState(); - } - } - - public bool IsDirty - { - get - { - return ViewState.IsDirty(); - } - } - } - - public static class StateBagExtensions - { - public static bool IsDirty(this StateBag stateBag) - { - foreach (string key in stateBag.Keys) - { - if (stateBag.IsItemDirty(key)) return true; - } - - return false; - } - } -} diff --git a/DNN Platform/DotNetNuke.Web/app.config b/DNN Platform/DotNetNuke.Web/app.config new file mode 100644 index 00000000000..0c9bbe869d4 --- /dev/null +++ b/DNN Platform/DotNetNuke.Web/app.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/DotNetNuke.Web/packages.config b/DNN Platform/DotNetNuke.Web/packages.config index a56fca777db..65130f692ba 100644 --- a/DNN Platform/DotNetNuke.Web/packages.config +++ b/DNN Platform/DotNetNuke.Web/packages.config @@ -1,19 +1,19 @@  - - - - - - - + + + + + + + - - + + - + - + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.ClientAPI.dnn b/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.ClientAPI.dnn index 893231adfb4..c486109e342 100644 --- a/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.ClientAPI.dnn +++ b/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.ClientAPI.dnn @@ -1,14 +1,14 @@  - + DotNetNuke ClientAPI The DotNetNuke Client API is composed of both server-side and client-side code that works together to enable a simple and reliable interface for the developer to provide a rich client-side experience. - DotNetNuke - DotNetNuke Corporation - www.dotnetnuke.com - jon.henning@dotnetnuke.com + .NET Foundation and Contributors + DNN Community + https://dnncommunity.org + info@dnncommunity.org diff --git a/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.WebUtility.vbproj b/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.WebUtility.vbproj index 017d0f81bee..d47e9619f1d 100644 --- a/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.WebUtility.vbproj +++ b/DNN Platform/DotNetNuke.WebUtility/DotNetNuke.WebUtility.vbproj @@ -1,225 +1,225 @@ - - - - - - - true - - - - - Local - 9.0.30729 - 2.0 - {4912F062-F8A8-4F9D-8F8E-244EBEE1ACBD} - Debug - AnyCPU - - - - - DotNetNuke.WebUtility - - - None - JScript - Grid - IE50 - false - Library - Binary - On - On - - - - - - - Windows - - - v4.7.2 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - bin\ - DotNetNuke.WebUtility.xml - 2015428608 - - - - - true - true - true - false - false - false - false - 1 - 42016,42017,42018,42019,42032,42353,42354,42355 - full - AllRules.ruleset - - - bin\ - DotNetNuke.WebUtility.xml - 2015428608 - - - - - false - true - true - true - false - false - false - 1 - 42016,42017,42018,42019,42032,42353,42354,42355 - pdbonly - AllRules.ruleset - - - - ..\DotNetNuke.Web.Client\bin\DotNetNuke.Web.Client.dll - - - System - - - - System.Web - - - System.XML - - - - - - - - - - - Code - - - - - - - - - - Code - - - Code - - - - - - Code - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - stylecop.json - - - - - - - - - - - - - - - - - $(MSBuildProjectDirectory)\..\.. - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - + + + + + + + true + + + + + Local + 9.0.30729 + 2.0 + {4912F062-F8A8-4F9D-8F8E-244EBEE1ACBD} + Debug + AnyCPU + + + + + DotNetNuke.WebUtility + + + None + JScript + Grid + IE50 + false + Library + Binary + On + On + + + + + + + Windows + + + v4.7.2 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + bin\ + DotNetNuke.WebUtility.xml + 2015428608 + + + + + true + true + true + false + false + false + false + 1 + 42016,42017,42018,42019,42032,42353,42354,42355 + full + AllRules.ruleset + + + bin\ + DotNetNuke.WebUtility.xml + 2015428608 + + + + + false + true + true + true + false + false + false + 1 + 42016,42017,42018,42019,42032,42353,42354,42355 + pdbonly + AllRules.ruleset + + + + ..\DotNetNuke.Web.Client\bin\DotNetNuke.Web.Client.dll + + + System + + + + System.Web + + + System.XML + + + + + + + + + + + Code + + + + + + + + + + Code + + + Code + + + + + + Code + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + stylecop.json + + + + + + + + + + + + + + + + + $(MSBuildProjectDirectory)\..\.. + + + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.WebUtility/js/dnn.js b/DNN Platform/DotNetNuke.WebUtility/js/dnn.js index e1a5724b4ed..b67b6d10a15 100644 --- a/DNN Platform/DotNetNuke.WebUtility/js/dnn.js +++ b/DNN Platform/DotNetNuke.WebUtility/js/dnn.js @@ -73,7 +73,7 @@ dnn.extend(dnn, { /// if (this.getVars()[key] != null) { - var re = eval('/' + QUOTE_REPLACEMENT + '/g'); + var re = new RegExp(QUOTE_REPLACEMENT, 'g'); return this.getVars()[key].replace(re, '"'); } return def; @@ -1293,7 +1293,7 @@ dnn.dom.browser = new dnn.dom.browserObject(); //-- shorthand functions. Only define if not already present if (typeof($) == 'undefined') { -eval("function $() {var ary = new Array(); for (var i=0; i - - - + + + \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/DotNetNuke.Website.Deprecated.csproj b/DNN Platform/DotNetNuke.Website.Deprecated/DotNetNuke.Website.Deprecated.csproj deleted file mode 100644 index 24c380d2a76..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/DotNetNuke.Website.Deprecated.csproj +++ /dev/null @@ -1,217 +0,0 @@ - - - - true - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {19EAE090-9D06-43BE-A62E-D6217E813AD1} - Library - DotNetNuke.Website - DotNetNuke.Website.Deprecated - 512 - WebControl - v4.7.2 - true - On - Binary - Off - On - - - 4.0 - - false - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - true - - ..\..\ - true - - - true - full - true - true - bin\ - bin\DotNetNuke.Website.Deprecated.xml - 1591 - AllRules.ruleset - 7 - false - - - pdbonly - false - true - true - bin\ - bin\DotNetNuke.Website.Deprecated.xml - 1591 - AllRules.ruleset - false - 7 - - - 1591 - AllRules.ruleset - false - - - AllRules.ruleset - false - - - - - ..\..\packages\Microsoft.Extensions.DependencyInjection.2.1.1\lib\net461\Microsoft.Extensions.DependencyInjection.dll - - - ..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - - - - - - - - - - - - - - - SolutionInfo.cs - - - ASPXCodeBehind - - - AddModule.ascx.cs - - - ASPXCodeBehind - - - AddPage.ascx.cs - - - ASPXCodeBehind - - - ControlBar.ascx.cs - - - ASPXCodeBehind - - - RibbonBar.ascx.cs - - - ASPXCodeBehind - - - SwitchSite.ascx.cs - - - ASPXCodeBehind - - - UpdatePage.ascx.cs - - - ASPXCodeBehind - - - WebUpload.ascx.cs - - - - - - - - - - - - - - {6928A9B1-F88A-4581-A132-D3EB38669BB0} - DotNetNuke.Abstractions - - - {ddf18e36-41a0-4ca7-a098-78ca6e6f41c1} - DotNetNuke.Instrumentation - - - {537b45eb-2ec3-4849-bc6b-d761f43674a5} - DotNetNuke.Web.Client - - - {9ba59b3d-9ffb-4a9e-bd7d-8b58d08b3a33} - DotNetNuke.Web.Deprecated - - - {4912f062-f8a8-4f9d-8f8e-244ebee1acbd} - DotNetNuke.WebUtility - - - {ee1329fe-fd88-4e1a-968c-345e394ef080} - DotNetNuke.Web - - - {6b29aded-7b56-4484-bea5-c0e09079535b} - DotNetNuke.Library - - - {a86ebc44-2bc8-4c4a-997b-2708e4aac345} - DotNetNuke.Modules.DDRMenu - - - - - stylecop.json - - - Designer - - - Designer - - - - - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/Library.build b/DNN Platform/DotNetNuke.Website.Deprecated/Library.build deleted file mode 100644 index d332103729c..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/Library.build +++ /dev/null @@ -1,21 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\.. - - - - zip - dnn_Website_Deprecated - DNNCE_Website.Deprecated - $(WebsitePath) - $(WebsiteInstallPath)\Library - - - - - - - - - diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/Properties/AssemblyInfo.cs b/DNN Platform/DotNetNuke.Website.Deprecated/Properties/AssemblyInfo.cs deleted file mode 100644 index d2b25837307..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; -using System.Web.UI; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. - -// Review the values of the assembly attributes -[assembly: AssemblyTitle("DotNetNuke.Website.Deprecated")] -[assembly: AssemblyDescription("Open Source Web Application Framework")] -[assembly: CLSCompliant(false)] -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("4B693EF0-E5D9-4647-B9F1-CD057D8DC011")] diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.cs deleted file mode 100644 index 496dc00a212..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.cs +++ /dev/null @@ -1,912 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.UI.ControlPanel -{ - using System; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Threading; - using System.Web; - using System.Web.UI.WebControls; - - using DotNetNuke.Abstractions; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Content.Common; - using DotNetNuke.Entities.Content.Taxonomy; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Entities.Modules.Definitions; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Entities.Users; - using DotNetNuke.Framework; - using DotNetNuke.Instrumentation; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.Localization; - using DotNetNuke.Services.Log.EventLog; - using DotNetNuke.Services.Personalization; - using DotNetNuke.UI.Utilities; - using DotNetNuke.Web.UI; - using DotNetNuke.Web.UI.WebControls; - using DotNetNuke.Web.UI.WebControls.Extensions; - using Microsoft.Extensions.DependencyInjection; - - using Globals = DotNetNuke.Common.Globals; - using PortalInfo = DotNetNuke.Entities.Portals.PortalInfo; - using Reflection = DotNetNuke.Framework.Reflection; - - public partial class AddModule : UserControlBase, IDnnRibbonBarTool - { - private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(AddModule)); - private readonly INavigationManager _navigationManager; - private bool _enabled = true; - - public AddModule() - { - this._navigationManager = Globals.DependencyProvider.GetRequiredService(); - } - - public override bool Visible - { - get - { - return base.Visible && TabPermissionController.CanAddContentToPage(); - } - - set - { - base.Visible = value; - } - } - - public bool Enabled - { - get - { - return this._enabled && this.CanAddModuleToPage(); - } - - set - { - this._enabled = value; - } - } - - public string ToolName - { - get - { - return "QuickAddModule"; - } - - set - { - throw new NotSupportedException("Set ToolName not supported"); - } - } - - /// Gets the currently-selected module. - protected DesktopModuleInfo SelectedModule - { - get - { - if (this.AddExistingModule.Checked) - { - var tabId = -1; - if (!string.IsNullOrEmpty(this.PageLst.SelectedValue)) - { - tabId = int.Parse(this.PageLst.SelectedValue); - } - - if (tabId < 0) - { - tabId = PortalSettings.Current.ActiveTab.TabID; - } - - if (!string.IsNullOrEmpty(this.ModuleLst.SelectedValue)) - { - var moduleId = int.Parse(this.ModuleLst.SelectedValue); - if (moduleId >= 0) - { - return ModuleController.Instance.GetModule(moduleId, tabId, false).DesktopModule; - } - } - } - else - { - var portalId = -1; - - if (this.SiteListPanel.Visible) - { - portalId = int.Parse(this.SiteList.SelectedValue); - } - - if (portalId < 0) - { - portalId = PortalSettings.Current.PortalId; - } - - if (!string.IsNullOrEmpty(this.ModuleLst.SelectedValue)) - { - var moduleId = int.Parse(this.ModuleLst.SelectedValue); - if (moduleId >= 0) - { - return DesktopModuleController.GetDesktopModule(moduleId, portalId); - } - } - } - - return null; - } - } - - /// - /// Gets return the for the selected portal (from the Site list), unless - /// the site list is not visible or there are no other sites in our site group, in which case - /// it returns the PortalSettings for the current portal. - /// - private PortalSettings SelectedPortalSettings - { - get - { - var portalSettings = PortalSettings.Current; - - try - { - if (this.SiteListPanel.Visible && this.SiteList.SelectedItem != null) - { - if (!string.IsNullOrEmpty(this.SiteList.SelectedItem.Value)) - { - var selectedPortalId = int.Parse(this.SiteList.SelectedItem.Value); - if (this.PortalSettings.PortalId != selectedPortalId) - { - portalSettings = new PortalSettings(int.Parse(this.SiteList.SelectedItem.Value)); - } - } - } - } - catch (Exception) - { - portalSettings = PortalSettings.Current; - } - - return portalSettings; - } - } - - private string LocalResourceFile - { - get - { - return string.Format("{0}/{1}/{2}.ascx.resx", this.TemplateSourceDirectory, Localization.LocalResourceDirectory, this.GetType().BaseType.Name); - } - } - - public bool CanAddModuleToPage() - { - if (HttpContext.Current == null) - { - return false; - } - - // If we are not in an edit page - return string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["mid"]) && string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["ctl"]); - } - - protected void AddNewOrExisting_OnClick(object sender, EventArgs e) - { - this.LoadAllLists(); - } - - protected void PaneLstSelectedIndexChanged(object sender, EventArgs e) - { - this.LoadPositionList(); - this.LoadPaneModulesList(); - } - - protected void PageLstSelectedIndexChanged(object sender, EventArgs e) - { - this.LoadModuleList(); - } - - protected void PositionLstSelectedIndexChanged(object sender, EventArgs e) - { - this.PaneModulesLst.Enabled = this.PositionLst.SelectedValue == "ABOVE" || this.PositionLst.SelectedValue == "BELOW"; - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - // Is there more than one site in this group? - var multipleSites = this.GetCurrentPortalsGroup().Count() > 1; - ClientAPI.RegisterClientVariable(this.Page, "moduleSharing", multipleSites.ToString().ToLowerInvariant(), true); - - ServicesFramework.Instance.RequestAjaxAntiForgerySupport(); - - this.cmdAddModule.Click += this.CmdAddModuleClick; - this.AddNewModule.CheckedChanged += this.AddNewOrExisting_OnClick; - this.AddExistingModule.CheckedChanged += this.AddNewOrExisting_OnClick; - this.SiteList.SelectedIndexChanged += this.SiteList_SelectedIndexChanged; - this.CategoryList.SelectedIndexChanged += this.CategoryListSelectedIndexChanged; - this.PageLst.SelectedIndexChanged += this.PageLstSelectedIndexChanged; - this.PaneLst.SelectedIndexChanged += this.PaneLstSelectedIndexChanged; - this.PositionLst.SelectedIndexChanged += this.PositionLstSelectedIndexChanged; - - try - { - if (this.Visible) - { - this.cmdAddModule.Enabled = this.Enabled; - this.AddExistingModule.Enabled = this.Enabled; - this.AddNewModule.Enabled = this.Enabled; - this.Title.Enabled = this.Enabled; - this.PageLst.Enabled = this.Enabled; - this.ModuleLst.Enabled = this.Enabled; - this.VisibilityLst.Enabled = this.Enabled; - this.PaneLst.Enabled = this.Enabled; - this.PositionLst.Enabled = this.Enabled; - this.PaneModulesLst.Enabled = this.Enabled; - - UserInfo objUser = UserController.Instance.GetCurrentUserInfo(); - if (objUser != null) - { - if (objUser.IsSuperUser) - { - var objModule = ModuleController.Instance.GetModuleByDefinition(-1, "Extensions"); - if (objModule != null) - { - var strURL = this._navigationManager.NavigateURL(objModule.TabID, true); - this.hlMoreExtensions.NavigateUrl = strURL + "#moreExtensions"; - } - else - { - this.hlMoreExtensions.Enabled = false; - } - - this.hlMoreExtensions.Text = this.GetString("hlMoreExtensions"); - this.hlMoreExtensions.Visible = true; - } - } - } - - if (!this.IsPostBack && this.Visible && this.Enabled) - { - this.AddNewModule.Checked = true; - this.LoadAllLists(); - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void CmdAddModuleClick(object sender, EventArgs e) - { - if (TabPermissionController.CanAddContentToPage() && this.CanAddModuleToPage()) - { - int permissionType; - try - { - permissionType = int.Parse(this.VisibilityLst.SelectedValue); - } - catch (Exception exc) - { - Logger.Error(exc); - - permissionType = 0; - } - - int position = -1; - switch (this.PositionLst.SelectedValue) - { - case "TOP": - position = 0; - break; - case "ABOVE": - if (!string.IsNullOrEmpty(this.PaneModulesLst.SelectedValue)) - { - try - { - position = int.Parse(this.PaneModulesLst.SelectedValue) - 1; - } - catch (Exception exc) - { - Logger.Error(exc); - - position = -1; - } - } - else - { - position = 0; - } - - break; - case "BELOW": - if (!string.IsNullOrEmpty(this.PaneModulesLst.SelectedValue)) - { - try - { - position = int.Parse(this.PaneModulesLst.SelectedValue) + 1; - } - catch (Exception exc) - { - Logger.Error(exc); - - position = -1; - } - } - else - { - position = -1; - } - - break; - case "BOTTOM": - position = -1; - break; - } - - int moduleLstID; - try - { - moduleLstID = int.Parse(this.ModuleLst.SelectedValue); - } - catch (Exception exc) - { - Logger.Error(exc); - - moduleLstID = -1; - } - - if (moduleLstID > -1) - { - if (this.AddExistingModule.Checked) - { - int pageID; - try - { - pageID = int.Parse(this.PageLst.SelectedValue); - } - catch (Exception exc) - { - Logger.Error(exc); - - pageID = -1; - } - - if (pageID > -1) - { - this.DoAddExistingModule(moduleLstID, pageID, this.PaneLst.SelectedValue, position, string.Empty, this.chkCopyModule.Checked); - } - } - else - { - DoAddNewModule(this.Title.Text, moduleLstID, this.PaneLst.SelectedValue, position, permissionType, string.Empty); - } - } - - // set view mode to edit after add module. - if (Personalization.GetUserMode() != PortalSettings.Mode.Edit) - { - Personalization.SetProfile("Usability", "UserMode" + this.PortalSettings.PortalId, "EDIT"); - } - - this.Response.Redirect(this.Request.RawUrl, true); - } - } - - protected string GetString(string key) - { - return Localization.GetString(key, this.LocalResourceFile); - } - - private static ModulePermissionInfo AddModulePermission(ModuleInfo objModule, PermissionInfo permission, int roleId, int userId, bool allowAccess) - { - var objModulePermission = new ModulePermissionInfo - { - ModuleID = objModule.ModuleID, - PermissionID = permission.PermissionID, - RoleID = roleId, - UserID = userId, - PermissionKey = permission.PermissionKey, - AllowAccess = allowAccess, - }; - - // add the permission to the collection - if (!objModule.ModulePermissions.Contains(objModulePermission)) - { - objModule.ModulePermissions.Add(objModulePermission); - } - - return objModulePermission; - } - - private static void SetCloneModuleContext(bool cloneModuleContext) - { - Thread.SetData( - Thread.GetNamedDataSlot("CloneModuleContext"), - cloneModuleContext ? bool.TrueString : bool.FalseString); - } - - private static void DoAddNewModule(string title, int desktopModuleId, string paneName, int position, int permissionType, string align) - { - try - { - DesktopModuleInfo desktopModule; - if (!DesktopModuleController.GetDesktopModules(PortalSettings.Current.PortalId).TryGetValue(desktopModuleId, out desktopModule)) - { - throw new ArgumentException("desktopModuleId"); - } - } - catch (Exception ex) - { - Exceptions.LogException(ex); - } - - foreach (ModuleDefinitionInfo objModuleDefinition in - ModuleDefinitionController.GetModuleDefinitionsByDesktopModuleID(desktopModuleId).Values) - { - var objModule = new ModuleInfo(); - objModule.Initialize(PortalSettings.Current.ActiveTab.PortalID); - - objModule.PortalID = PortalSettings.Current.ActiveTab.PortalID; - objModule.TabID = PortalSettings.Current.ActiveTab.TabID; - objModule.ModuleOrder = position; - objModule.ModuleTitle = string.IsNullOrEmpty(title) ? objModuleDefinition.FriendlyName : title; - objModule.PaneName = paneName; - objModule.ModuleDefID = objModuleDefinition.ModuleDefID; - if (objModuleDefinition.DefaultCacheTime > 0) - { - objModule.CacheTime = objModuleDefinition.DefaultCacheTime; - if (PortalSettings.Current.DefaultModuleId > Null.NullInteger && PortalSettings.Current.DefaultTabId > Null.NullInteger) - { - ModuleInfo defaultModule = ModuleController.Instance.GetModule(PortalSettings.Current.DefaultModuleId, PortalSettings.Current.DefaultTabId, true); - if (defaultModule != null) - { - objModule.CacheTime = defaultModule.CacheTime; - } - } - } - - ModuleController.Instance.InitialModulePermission(objModule, objModule.TabID, permissionType); - - if (PortalSettings.Current.ContentLocalizationEnabled) - { - Locale defaultLocale = LocaleController.Instance.GetDefaultLocale(PortalSettings.Current.PortalId); - - // check whether original tab is exists, if true then set culture code to default language, - // otherwise set culture code to current. - if (TabController.Instance.GetTabByCulture(objModule.TabID, PortalSettings.Current.PortalId, defaultLocale) != null) - { - objModule.CultureCode = defaultLocale.Code; - } - else - { - objModule.CultureCode = PortalSettings.Current.CultureCode; - } - } - else - { - objModule.CultureCode = Null.NullString; - } - - objModule.AllTabs = false; - objModule.Alignment = align; - - ModuleController.Instance.AddModule(objModule); - } - } - - private static bool GetIsPortable(string moduleID, string tabID) - { - bool isPortable = false; - int parsedModuleID; - int parsedTabID; - - bool validModuleID = int.TryParse(moduleID, out parsedModuleID); - bool validTabID = int.TryParse(tabID, out parsedTabID); - - if (validModuleID && validTabID) - { - ModuleInfo moduleInfo = ModuleController.Instance.GetModule(parsedModuleID, parsedTabID, false); - if (moduleInfo != null) - { - DesktopModuleInfo moduleDesktopInfo = moduleInfo.DesktopModule; - if (moduleDesktopInfo != null) - { - isPortable = moduleDesktopInfo.IsPortable; - } - } - } - - return isPortable; - } - - private void CmdConfirmAddModuleClick(object sender, EventArgs e) - { - this.CmdAddModuleClick(sender, e); - } - - private void SiteList_SelectedIndexChanged(object sender, EventArgs e) - { - this.LoadModuleList(); - this.LoadPageList(); - } - - private void CategoryListSelectedIndexChanged(object sender, EventArgs e) - { - this.LoadModuleList(); - } - - private void DoAddExistingModule(int moduleId, int tabId, string paneName, int position, string align, bool cloneModule) - { - ModuleInfo moduleInfo = ModuleController.Instance.GetModule(moduleId, tabId, false); - - int userID = -1; - if (this.Request.IsAuthenticated) - { - UserInfo user = UserController.Instance.GetCurrentUserInfo(); - if (user != null) - { - userID = user.UserID; - } - } - - if (moduleInfo != null) - { - // Is this from a site other than our own? (i.e., is the user requesting "module sharing"?) - var remote = moduleInfo.PortalID != PortalSettings.Current.PortalId; - if (remote) - { - switch (moduleInfo.DesktopModule.Shareable) - { - case ModuleSharing.Unsupported: - // Should never happen since the module should not be listed in the first place. - throw new ApplicationException(string.Format( - "Module '{0}' does not support Shareable and should not be listed in Add Existing Module from a different source site", - moduleInfo.DesktopModule.FriendlyName)); - case ModuleSharing.Supported: - break; - default: - case ModuleSharing.Unknown: - break; - } - } - - // clone the module object ( to avoid creating an object reference to the data cache ) - ModuleInfo newModule = moduleInfo.Clone(); - - newModule.UniqueId = Guid.NewGuid(); // Cloned Module requires a different uniqueID - newModule.TabModuleID = Null.NullInteger; - newModule.TabID = PortalSettings.Current.ActiveTab.TabID; - newModule.ModuleOrder = position; - newModule.PaneName = paneName; - newModule.Alignment = align; - - if (cloneModule) - { - newModule.ModuleID = Null.NullInteger; - - // copy module settings and tab module settings - newModule.ModuleSettings.Clear(); - foreach (var key in moduleInfo.ModuleSettings.Keys) - { - newModule.ModuleSettings.Add(key, moduleInfo.ModuleSettings[key]); - } - - newModule.TabModuleSettings.Clear(); - foreach (var key in moduleInfo.TabModuleSettings.Keys) - { - newModule.TabModuleSettings.Add(key, moduleInfo.TabModuleSettings[key]); - } - - // reset the module id - newModule.ModuleID = ModuleController.Instance.AddModule(newModule); - - if (!string.IsNullOrEmpty(newModule.DesktopModule.BusinessControllerClass)) - { - object objObject = Reflection.CreateObject(newModule.DesktopModule.BusinessControllerClass, newModule.DesktopModule.BusinessControllerClass); - if (objObject is IPortable) - { - try - { - SetCloneModuleContext(true); - string content = Convert.ToString(((IPortable)objObject).ExportModule(moduleId)); - if (!string.IsNullOrEmpty(content)) - { - ((IPortable)objObject).ImportModule(newModule.ModuleID, content, newModule.DesktopModule.Version, userID); - } - } - finally - { - SetCloneModuleContext(false); - } - } - } - } - else - { - // copy tab module settings - newModule.TabModuleSettings.Clear(); - foreach (var key in moduleInfo.TabModuleSettings.Keys) - { - newModule.TabModuleSettings.Add(key, moduleInfo.TabModuleSettings[key]); - } - - ModuleController.Instance.AddModule(newModule); - } - - if (remote) - { - // Ensure the Portal Admin has View rights - var permissionController = new PermissionController(); - ArrayList arrSystemModuleViewPermissions = permissionController.GetPermissionByCodeAndKey("SYSTEM_MODULE_DEFINITION", "VIEW"); - AddModulePermission( - newModule, - (PermissionInfo)arrSystemModuleViewPermissions[0], - PortalSettings.Current.AdministratorRoleId, - Null.NullInteger, - true); - - // Set PortalID correctly - newModule.OwnerPortalID = newModule.PortalID; - newModule.PortalID = PortalSettings.Current.PortalId; - ModulePermissionController.SaveModulePermissions(newModule); - } - - // Add Event Log - EventLogController.Instance.AddLog(newModule, PortalSettings.Current, userID, string.Empty, EventLogController.EventLogType.MODULE_CREATED); - } - } - - private IEnumerable GetCurrentPortalsGroup() - { - var groups = PortalGroupController.Instance.GetPortalGroups().ToArray(); - - var result = (from @group in groups - select PortalGroupController.Instance.GetPortalsByGroup(@group.PortalGroupId) - into portals - where portals.Any(x => x.PortalID == PortalSettings.Current.PortalId) - select portals.ToArray()).FirstOrDefault(); - - // Are we in a group of one? - if (result == null || result.Length == 0) - { - result = new[] { PortalController.Instance.GetPortal(PortalSettings.Current.PortalId) }; - } - - return result; - } - - private void LoadAllLists() - { - this.LoadSiteList(); - this.LoadCategoryList(); - this.LoadPageList(); - this.LoadModuleList(); - this.LoadVisibilityList(); - this.LoadPaneList(); - this.LoadPositionList(); - this.LoadPaneModulesList(); - } - - private void LoadCategoryList() - { - this.CategoryListPanel.Visible = !this.AddExistingModule.Checked; - - ITermController termController = Util.GetTermController(); - this.CategoryList.DataSource = termController.GetTermsByVocabulary("Module_Categories").OrderBy(t => t.Weight).Where(t => t.Name != "< None >").ToList(); - this.CategoryList.DataBind(); - - // CategoryList.Items.Add(new ListItem(Localization.GetString("AllCategories", LocalResourceFile), "All")); - this.CategoryList.AddItem(Localization.GetString("AllCategories", this.LocalResourceFile), "All"); - if (!this.IsPostBack) - { - this.CategoryList.Select("Common", false); - } - } - - private void LoadModuleList() - { - if (this.AddExistingModule.Checked) - { - // Get list of modules for the selected tab - if (!string.IsNullOrEmpty(this.PageLst.SelectedValue)) - { - var tabId = int.Parse(this.PageLst.SelectedValue); - if (tabId >= 0) - { - this.ModuleLst.BindTabModulesByTabID(tabId); - } - - if (this.ModuleLst.ItemCount > 0) - { - this.chkCopyModule.Visible = true; - this.SetCopyModuleMessage(GetIsPortable(this.ModuleLst.SelectedValue, this.PageLst.SelectedValue)); - } - } - } - else - { - this.ModuleLst.Filter = this.CategoryList.SelectedValue == "All" - ? (kvp => true) - : (Func, bool>)(kvp => kvp.Value.DesktopModule.Category == this.CategoryList.SelectedValue); - this.ModuleLst.BindAllPortalDesktopModules(); - } - - this.ModuleLst.Enabled = this.ModuleLst.ItemCount > 0; - } - - private void LoadPageList() - { - this.PageListPanel.Visible = this.AddExistingModule.Checked; - this.TitlePanel.Enabled = !this.AddExistingModule.Checked; - this.chkCopyModule.Visible = this.AddExistingModule.Checked; - - if (this.AddExistingModule.Checked) - { - this.chkCopyModule.Text = Localization.GetString("CopyModuleDefault.Text", this.LocalResourceFile); - } - - var portalSettings = this.SelectedPortalSettings; - - this.PageLst.Items.Clear(); - - if (this.PageListPanel.Visible) - { - this.PageLst.DataValueField = "TabID"; - this.PageLst.DataTextField = "IndentedTabName"; - if (this.PortalSettings.PortalId == this.SelectedPortalSettings.PortalId) - { - this.PageLst.DataSource = TabController.GetPortalTabs(portalSettings.PortalId, portalSettings.ActiveTab.TabID, true, string.Empty, true, false, false, false, true); - } - else - { - this.PageLst.DataSource = TabController.GetPortalTabs(portalSettings.PortalId, Null.NullInteger, true, string.Empty, true, false, false, false, true); - } - - this.PageLst.DataBind(); - } - } - - private void LoadPaneList() - { - this.PaneLst.Items.Clear(); - this.PaneLst.DataSource = PortalSettings.Current.ActiveTab.Panes; - this.PaneLst.DataBind(); - if (PortalSettings.Current.ActiveTab.Panes.Contains(Globals.glbDefaultPane)) - { - this.PaneLst.SelectedValue = Globals.glbDefaultPane; - } - } - - private void LoadPaneModulesList() - { - var items = new Dictionary { { string.Empty, string.Empty } }; - - foreach (ModuleInfo m in PortalSettings.Current.ActiveTab.Modules) - { - // if user is allowed to view module and module is not deleted - if (ModulePermissionController.CanViewModule(m) && !m.IsDeleted) - { - // modules which are displayed on all tabs should not be displayed on the Admin or Super tabs - if (!m.AllTabs || !PortalSettings.Current.ActiveTab.IsSuperTab) - { - if (m.PaneName == this.PaneLst.SelectedValue) - { - int moduleOrder = m.ModuleOrder; - - while (items.ContainsKey(moduleOrder.ToString()) || moduleOrder == 0) - { - moduleOrder++; - } - - items.Add(moduleOrder.ToString(), m.ModuleTitle); - } - } - } - } - - this.PaneModulesLst.Enabled = true; - this.PaneModulesLst.Items.Clear(); - this.PaneModulesLst.DataValueField = "key"; - this.PaneModulesLst.DataTextField = "value"; - this.PaneModulesLst.DataSource = items; - this.PaneModulesLst.DataBind(); - - if (this.PaneModulesLst.Items.Count <= 1) - { - var listItem = this.PositionLst.Items.FindByValue("ABOVE"); - if (listItem != null) - { - this.PositionLst.Items.Remove(listItem); - } - - listItem = this.PositionLst.Items.FindByValue("BELOW"); - if (listItem != null) - { - this.PositionLst.Items.Remove(listItem); - } - - this.PaneModulesLst.Enabled = false; - } - - if (this.PositionLst.SelectedValue == "TOP" || this.PositionLst.SelectedValue == "BOTTOM") - { - this.PaneModulesLst.Enabled = false; - } - } - - private void LoadPositionList() - { - var items = new Dictionary - { - { "TOP", this.GetString("Top") }, - { "ABOVE", this.GetString("Above") }, - { "BELOW", this.GetString("Below") }, - { "BOTTOM", this.GetString("Bottom") }, - }; - - this.PositionLst.Items.Clear(); - this.PositionLst.DataValueField = "key"; - this.PositionLst.DataTextField = "value"; - this.PositionLst.DataSource = items; - this.PositionLst.DataBind(); - this.PositionLst.SelectedValue = "BOTTOM"; - } - - private void LoadSiteList() - { - // Is there more than one site in this group? - var multipleSites = this.GetCurrentPortalsGroup().Count() > 1; - - this.SiteListPanel.Visible = multipleSites && this.AddExistingModule.Checked; - - if (this.SiteListPanel.Visible) - { - // Get a list of portals in this SiteGroup. - var portals = PortalController.Instance.GetPortals().Cast().ToArray(); - - this.SiteList.DataSource = portals.Select( - x => new { Value = x.PortalID, Name = x.PortalName, GroupID = x.PortalGroupID }).ToList(); - this.SiteList.DataTextField = "Name"; - this.SiteList.DataValueField = "Value"; - this.SiteList.DataBind(); - } - } - - private void LoadVisibilityList() - { - this.VisibilityLst.Enabled = !this.AddExistingModule.Checked; - if (this.VisibilityLst.Enabled) - { - var items = new Dictionary { { "0", this.GetString("PermissionView") }, { "1", this.GetString("PermissionEdit") } }; - - this.VisibilityLst.Items.Clear(); - this.VisibilityLst.DataValueField = "key"; - this.VisibilityLst.DataTextField = "value"; - this.VisibilityLst.DataSource = items; - this.VisibilityLst.DataBind(); - } - } - - private void SetCopyModuleMessage(bool isPortable) - { - if (isPortable) - { - this.chkCopyModule.Text = Localization.GetString("CopyModuleWcontent", this.LocalResourceFile); - this.chkCopyModule.ToolTip = Localization.GetString("CopyModuleWcontent.ToolTip", this.LocalResourceFile); - } - else - { - this.chkCopyModule.Text = Localization.GetString("CopyModuleWOcontent", this.LocalResourceFile); - this.chkCopyModule.ToolTip = Localization.GetString("CopyModuleWOcontent.ToolTip", this.LocalResourceFile); - } - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.designer.cs deleted file mode 100644 index 10fdc722053..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddModule.ascx.designer.cs +++ /dev/null @@ -1,289 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanel { - - - public partial class AddModule { - - /// - /// UpdateAddModule control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UpdatePanel UpdateAddModule; - - /// - /// AddNewModule control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RadioButton AddNewModule; - - /// - /// AddExistingModule control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RadioButton AddExistingModule; - - /// - /// hlMoreExtensions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink hlMoreExtensions; - - /// - /// Label1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label Label1; - - /// - /// SiteListPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel SiteListPanel; - - /// - /// SiteLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label SiteLbl; - - /// - /// SiteList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList SiteList; - - /// - /// CategoryListPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel CategoryListPanel; - - /// - /// CategoryListLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label CategoryListLbl; - - /// - /// CategoryList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList CategoryList; - - /// - /// PageListPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel PageListPanel; - - /// - /// PageListLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label PageListLbl; - - /// - /// PageLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PageLst; - - /// - /// ModuleLstLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label ModuleLstLbl; - - /// - /// ModuleLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnModuleComboBox ModuleLst; - - /// - /// TitlePanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel TitlePanel; - - /// - /// TitleLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label TitleLbl; - - /// - /// Title control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox Title; - - /// - /// VisibilityLstLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label VisibilityLstLbl; - - /// - /// VisibilityLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList VisibilityLst; - - /// - /// Label2 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label Label2; - - /// - /// PaneLstLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label PaneLstLbl; - - /// - /// PaneLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PaneLst; - - /// - /// PositionLstLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label PositionLstLbl; - - /// - /// PositionLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PositionLst; - - /// - /// PaneModulesLstLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label PaneModulesLstLbl; - - /// - /// PaneModulesLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PaneModulesLst; - - /// - /// chkCopyModule control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkCopyModule; - - /// - /// cmdAddModule control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdAddModule; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.cs deleted file mode 100644 index f14ca575580..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.cs +++ /dev/null @@ -1,232 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.UI.ControlPanel -{ - using System; - using System.Collections; - using System.IO; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Abstractions; - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Entities.Users; - using DotNetNuke.Security; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.Localization; - using DotNetNuke.Web.UI; - using DotNetNuke.Web.UI.WebControls; - using Microsoft.Extensions.DependencyInjection; - - public partial class AddPage : UserControl, IDnnRibbonBarTool - { - private readonly INavigationManager _navigationManager; - - private TabInfo _newTabObject; - - public AddPage() - { - this._navigationManager = Globals.DependencyProvider.GetRequiredService(); - } - - public override bool Visible - { - get - { - return base.Visible && TabPermissionController.CanAddPage(); - } - - set - { - base.Visible = value; - } - } - - public string ToolName - { - get - { - return "QuickAddPage"; - } - - set - { - throw new NotSupportedException("Set ToolName not supported"); - } - } - - protected TabInfo NewTabObject - { - get - { - if (this._newTabObject == null) - { - this._newTabObject = RibbonBarManager.InitTabInfoObject(PortalSettings.ActiveTab); - } - - return this._newTabObject; - } - } - - private static PortalSettings PortalSettings - { - get - { - return PortalSettings.Current; - } - } - - private string LocalResourceFile - { - get - { - return string.Format("{0}/{1}/{2}.ascx.resx", this.TemplateSourceDirectory, Localization.LocalResourceDirectory, this.GetType().BaseType.Name); - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.cmdAddPage.Click += this.CmdAddPageClick; - - try - { - if (PortalSettings.Pages < PortalSettings.PageQuota || UserController.Instance.GetCurrentUserInfo().IsSuperUser || PortalSettings.PageQuota == 0) - { - this.cmdAddPage.Enabled = true; - } - else - { - this.cmdAddPage.Enabled = false; - this.cmdAddPage.ToolTip = Localization.GetString("ExceededQuota", this.LocalResourceFile); - } - - if (!this.IsPostBack) - { - if (this.Visible) - { - this.LoadAllLists(); - } - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void CmdAddPageClick(object sender, EventArgs e) - { - int selectedTabID = int.Parse(this.PageLst.SelectedValue); - TabInfo selectedTab = TabController.Instance.GetTab(selectedTabID, PortalSettings.ActiveTab.PortalID, false); - var tabLocation = (TabRelativeLocation)Enum.Parse(typeof(TabRelativeLocation), this.LocationLst.SelectedValue); - TabInfo newTab = RibbonBarManager.InitTabInfoObject(selectedTab, tabLocation); - - newTab.TabName = this.Name.Text; - newTab.IsVisible = this.IncludeInMenu.Checked; - - string errMsg = string.Empty; - try - { - RibbonBarManager.SaveTabInfoObject(newTab, selectedTab, tabLocation, this.TemplateLst.SelectedValue); - } - catch (DotNetNukeException ex) - { - Exceptions.LogException(ex); - errMsg = (ex.ErrorCode != DotNetNukeErrorCode.NotSet) ? this.GetString("Err." + ex.ErrorCode) : ex.Message; - } - catch (Exception ex) - { - Exceptions.LogException(ex); - errMsg = ex.Message; - } - - // Clear the Tab's Cached modules - DataCache.ClearModuleCache(PortalSettings.ActiveTab.TabID); - - // Update Cached Tabs as TabPath may be needed before cache is cleared - TabInfo tempTab; - if (TabController.Instance.GetTabsByPortal(PortalSettings.ActiveTab.PortalID).TryGetValue(newTab.TabID, out tempTab)) - { - tempTab.TabPath = newTab.TabPath; - } - - if (string.IsNullOrEmpty(errMsg)) - { - this.Response.Redirect(this._navigationManager.NavigateURL(newTab.TabID)); - } - else - { - errMsg = string.Format("

{0}

{1}

", this.GetString("Err.Header"), errMsg); - Web.UI.Utilities.RegisterAlertOnPageLoad(this, new MessageWindowParameters(errMsg) { Title = this.GetString("Err.Title") }); - } - } - - private void LoadAllLists() - { - this.LoadLocationList(); - this.LoadTemplateList(); - this.LoadPageList(); - } - - private void LoadTemplateList() - { - this.TemplateLst.ClearSelection(); - this.TemplateLst.Items.Clear(); - - // Get Templates Folder - ArrayList templateFiles = Globals.GetFileList(PortalSettings.PortalId, "page.template", false, "Templates/"); - foreach (FileItem dnnFile in templateFiles) - { - var item = new ListItem(dnnFile.Text.Replace(".page.template", string.Empty), dnnFile.Value); - this.TemplateLst.Items.Add(item); - if (item.Text == "Default") - { - item.Selected = true; - } - } - - this.TemplateLst.Items.Insert(0, new ListItem(this.GetString("NoTemplate"), string.Empty)); - } - - private void LoadLocationList() - { - this.LocationLst.ClearSelection(); - this.LocationLst.Items.Clear(); - - this.LocationLst.Items.Add(new ListItem(this.GetString("Before"), "BEFORE")); - this.LocationLst.Items.Add(new ListItem(this.GetString("After"), "AFTER")); - this.LocationLst.Items.Add(new ListItem(this.GetString("Child"), "CHILD")); - - this.LocationLst.SelectedIndex = (!PortalSecurity.IsInRole("Administrators")) ? 2 : 1; - } - - private void LoadPageList() - { - this.PageLst.ClearSelection(); - this.PageLst.Items.Clear(); - - this.PageLst.DataTextField = "IndentedTabName"; - this.PageLst.DataValueField = "TabID"; - this.PageLst.DataSource = RibbonBarManager.GetPagesList(); - this.PageLst.DataBind(); - - var item = this.PageLst.Items.FindByValue(PortalSettings.ActiveTab.TabID.ToString()); - if (item != null) - { - item.Selected = true; - } - } - - private string GetString(string key) - { - return Localization.GetString(key, this.LocalResourceFile); - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.designer.cs deleted file mode 100644 index f313bf94e2e..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/AddPage.ascx.designer.cs +++ /dev/null @@ -1,82 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanel { - - - public partial class AddPage { - - /// - /// NameLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label NameLbl; - - /// - /// Name control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox Name; - - /// - /// TemplateLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList TemplateLst; - - /// - /// LocationLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList LocationLst; - - /// - /// PageLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PageLst; - - /// - /// IncludeInMenu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox IncludeInMenu; - - /// - /// cmdAddPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdAddPage; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.cs deleted file mode 100644 index 6197e59f4a0..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.cs +++ /dev/null @@ -1,1130 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -// ReSharper disable CheckNamespace -namespace DotNetNuke.UI.ControlPanels - -// ReSharper restore CheckNamespace -{ - using System; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Text; - using System.Web; - using System.Web.UI.HtmlControls; - using System.Web.UI.WebControls; - - using DotNetNuke.Abstractions; - using DotNetNuke.Application; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Content.Common; - using DotNetNuke.Entities.Content.Taxonomy; - using DotNetNuke.Entities.Host; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Entities.Users; - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Localization; - using DotNetNuke.Services.Personalization; - using DotNetNuke.UI.Utilities; - using DotNetNuke.Web.Client; - using DotNetNuke.Web.Client.ClientResourceManagement; - using DotNetNuke.Web.Common; - using DotNetNuke.Web.Components.Controllers; - using DotNetNuke.Web.Components.Controllers.Models; - using DotNetNuke.Web.UI.WebControls; - using Microsoft.Extensions.DependencyInjection; - - using Globals = DotNetNuke.Common.Globals; - - public partial class ControlBar : ControlPanelBase - { - protected DnnFileUpload FileUploader; - - private readonly INavigationManager _navigationManager; - - private readonly IList _adminCommonTabs = new List - { - "Site Settings", - "Security Roles", - "User Accounts", - "File Management", - }; - - private readonly IList _hostCommonTabs = new List - { - "Host Settings", - "Site Management", - "File Management", - "Extensions", - "Dashboard", - "Health Monitoring", - "Technical Support", - "Knowledge Base", - "Software and Documentation", - }; - - private List _adminBookmarkItems; - - private List _hostBookmarkItems; - - private List _adminTabs; - private List _adminBaseTabs; - private List _adminAdvancedTabs; - private List _hostTabs; - private List _hostBaseTabs; - private List _hostAdvancedTabs; - - public ControlBar() - { - this._navigationManager = Globals.DependencyProvider.GetRequiredService(); - } - - public override bool IncludeInControlHierarchy - { - get - { - return base.IncludeInControlHierarchy && (this.IsPageAdmin() || this.IsModuleAdmin()); - } - } - - public override bool IsDockable { get; set; } - - protected string BookmarkModuleCategory - { - get - { - return ControlBarController.Instance.GetBookmarkCategory(this.PortalSettings.PortalId); - } - } - - protected string BookmarkedModuleKeys - { - get - { - var bookmarkModules = Personalization.GetProfile("ControlBar", "module" + this.PortalSettings.PortalId); - if (bookmarkModules == null) - { - return string.Empty; - } - - return bookmarkModules.ToString(); - } - } - - protected List AdminBookmarkItems - { - get - { - if (this._adminBookmarkItems == null) - { - var bookmarkItems = Personalization.GetProfile("ControlBar", "admin" + this.PortalSettings.PortalId); - - this._adminBookmarkItems = bookmarkItems != null - ? bookmarkItems.ToString().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() - : new List(); - } - - return this._adminBookmarkItems; - } - } - - protected List HostBookmarkItems - { - get - { - if (this._hostBookmarkItems == null) - { - var bookmarkItems = Personalization.GetProfile("ControlBar", "host" + this.PortalSettings.PortalId); - - this._hostBookmarkItems = bookmarkItems != null - ? bookmarkItems.ToString().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList() - : new List(); - } - - return this._hostBookmarkItems; - } - } - - protected List AdminBaseTabs - { - get - { - if (this._adminBaseTabs == null) - { - this.GetAdminTabs(); - } - - return this._adminBaseTabs; - } - } - - protected List AdminAdvancedTabs - { - get - { - if (this._adminAdvancedTabs == null) - { - this.GetAdminTabs(); - } - - return this._adminAdvancedTabs; - } - } - - protected List HostBaseTabs - { - get - { - if (this._hostBaseTabs == null) - { - this.GetHostTabs(); - } - - return this._hostBaseTabs; - } - } - - protected List HostAdvancedTabs - { - get - { - if (this._hostAdvancedTabs == null) - { - this.GetHostTabs(); - } - - return this._hostAdvancedTabs; - } - } - - protected string CurrentUICulture { get; set; } - - protected string LoginUrl { get; set; } - - protected string LoadTabModuleMessage { get; set; } - - private new string LocalResourceFile - { - get - { - return string.Format("{0}/{1}/{2}.ascx.resx", this.TemplateSourceDirectory, Localization.LocalResourceDirectory, this.GetType().BaseType?.Name); - } - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - // page will be null if the control panel initial twice, it will be removed in the second time. - if (this.Page != null) - { - this.ID = "ControlBar"; - - this.FileUploader = new DnnFileUpload { ID = "fileUploader", SupportHost = false }; - this.Page.Form.Controls.Add(this.FileUploader); - - this.LoadCustomMenuItems(); - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - if (this.PortalSettings.EnablePopUps && Host.EnableModuleOnLineHelp) - { - this.helpLink.Text = string.Format(@"
  • {1}
  • ", UrlUtils.PopUpUrl(Host.HelpURL, this, this.PortalSettings, false, false), this.GetString("Tool.Help.ToolTip")); - } - else if (Host.EnableModuleOnLineHelp) - { - this.helpLink.Text = string.Format(@"
  • {1}
  • ", Host.HelpURL, this.GetString("Tool.Help.ToolTip")); - } - - this.LoginUrl = this.ResolveClientUrl(@"~/Login.aspx"); - - if (this.ControlPanel.Visible && this.IncludeInControlHierarchy) - { - ClientResourceManager.RegisterStyleSheet(this.Page, "~/admin/ControlPanel/ControlBar.css", FileOrder.Css.ResourceCss); - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - ClientResourceManager.RegisterScript(this.Page, "~/resources/shared/scripts/dnn.controlBar.js"); - - // Is there more than one site in this group? - var multipleSites = GetCurrentPortalsGroup().Count() > 1; - ClientAPI.RegisterClientVariable(this.Page, "moduleSharing", multipleSites.ToString().ToLowerInvariant(), true); - } - - ServicesFramework.Instance.RequestAjaxAntiForgerySupport(); - var multipleSite = false; - - this.conrolbar_logo.ImageUrl = ControlBarController.Instance.GetControlBarLogoURL(); - if (!this.IsPostBack) - { - this.LoadCategoryList(); - multipleSite = this.LoadSiteList(); - this.LoadVisibilityList(); - this.AutoSetUserMode(); - this.BindPortalsList(); - this.BindLanguagesList(); - } - - this.LoadTabModuleMessage = multipleSite ? this.GetString("LoadingTabModuleCE.Text") : this.GetString("LoadingTabModule.Text"); - } - - protected bool CheckPageQuota() - { - UserInfo objUser = UserController.Instance.GetCurrentUserInfo(); - return (objUser != null && objUser.IsSuperUser) || this.PortalSettings.PageQuota == 0 || this.PortalSettings.Pages < this.PortalSettings.PageQuota; - } - - protected string GetUpgradeIndicator() - { - UserInfo objUser = UserController.Instance.GetCurrentUserInfo(); - - if (objUser != null && objUser.IsSuperUser) - { - var upgradeIndicator = ControlBarController.Instance.GetUpgradeIndicator( - DotNetNukeContext.Current.Application.Version, - this.Request.IsLocal, this.Request.IsSecureConnection); - if (upgradeIndicator == null) - { - return string.Empty; - } - - return this.GetUpgradeIndicatorButton(upgradeIndicator); - } - - return string.Empty; - } - - protected string PreviewPopup() - { - var previewUrl = string.Format( - "{0}/Default.aspx?ctl={1}&previewTab={2}&TabID={2}", - Globals.AddHTTP(this.PortalSettings.PortalAlias.HTTPAlias), - "MobilePreview", - this.PortalSettings.ActiveTab.TabID); - - if (this.PortalSettings.EnablePopUps) - { - return UrlUtils.PopUpUrl(previewUrl, this, this.PortalSettings, true, false, 660, 800); - } - - return string.Format("location.href = \"{0}\"", previewUrl); - } - - protected IEnumerable LoadPaneList() - { - ArrayList panes = PortalSettings.Current.ActiveTab.Panes; - var resultPanes = new List(); - - if (panes.Count < 4) - { - foreach (var p in panes) - { - var topPane = new[] - { - string.Format(this.GetString("Pane.AddTop.Text"), p), - p.ToString(), - "TOP", - }; - - var botPane = new[] - { - string.Format(this.GetString("Pane.AddBottom.Text"), p), - p.ToString(), - "BOTTOM", - }; - - resultPanes.Add(topPane); - resultPanes.Add(botPane); - } - } - else - { - foreach (var p in panes) - { - var botPane = new[] - { - string.Format(this.GetString("Pane.Add.Text"), p), - p.ToString(), - "BOTTOM", - }; - - resultPanes.Add(botPane); - } - } - - return resultPanes; - } - - protected string GetString(string key) - { - return Localization.GetString(key, this.LocalResourceFile); - } - - protected string BuildToolUrl(string toolName, bool isHostTool, string moduleFriendlyName, - string controlKey, string navigateUrl, bool showAsPopUp) - { - if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) - { - return "javascript:void(0);"; - } - - if (!string.IsNullOrEmpty(navigateUrl)) - { - return navigateUrl; - } - - string returnValue = "javascript:void(0);"; - switch (toolName) - { - case "PageSettings": - if (TabPermissionController.CanManagePage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=settingTab"); - } - - break; - case "CopyPage": - if (TabPermissionController.CanCopyPage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=copy&activeTab=copyTab"); - } - - break; - case "DeletePage": - if (TabPermissionController.CanDeletePage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=delete"); - } - - break; - case "PageTemplate": - if (TabPermissionController.CanManagePage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=advancedTab"); - } - - break; - case "PageLocalization": - if (TabPermissionController.CanManagePage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=localizationTab"); - } - - break; - case "PagePermission": - if (TabPermissionController.CanAdminPage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "Tab", "action=edit&activeTab=permissionsTab"); - } - - break; - case "ImportPage": - if (TabPermissionController.CanImportPage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "ImportTab"); - } - - break; - case "ExportPage": - if (TabPermissionController.CanExportPage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID, "ExportTab"); - } - - break; - case "NewPage": - if (TabPermissionController.CanAddPage()) - { - returnValue = this._navigationManager.NavigateURL("Tab", "activeTab=settingTab"); - } - - break; - case "PublishPage": - if (TabPermissionController.CanAdminPage()) - { - returnValue = this._navigationManager.NavigateURL(this.PortalSettings.ActiveTab.TabID); - } - - break; - default: - if (!string.IsNullOrEmpty(moduleFriendlyName)) - { - var additionalParams = new List(); - returnValue = this.GetTabURL(additionalParams, toolName, isHostTool, - moduleFriendlyName, controlKey, showAsPopUp); - } - - break; - } - - return returnValue; - } - - protected string GetTabURL(List additionalParams, string toolName, bool isHostTool, - string moduleFriendlyName, string controlKey, bool showAsPopUp) - { - int portalId = isHostTool ? Null.NullInteger : this.PortalSettings.PortalId; - - string strURL = string.Empty; - - if (additionalParams == null) - { - additionalParams = new List(); - } - - var moduleInfo = ModuleController.Instance.GetModuleByDefinition(portalId, moduleFriendlyName); - - if (moduleInfo != null) - { - bool isHostPage = portalId == Null.NullInteger; - if (!string.IsNullOrEmpty(controlKey)) - { - additionalParams.Insert(0, "mid=" + moduleInfo.ModuleID); - if (showAsPopUp && this.PortalSettings.EnablePopUps) - { - additionalParams.Add("popUp=true"); - } - } - - string currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Name; - strURL = this._navigationManager.NavigateURL(moduleInfo.TabID, isHostPage, this.PortalSettings, controlKey, currentCulture, additionalParams.ToArray()); - } - - return strURL; - } - - protected string GetTabURL(string tabName, bool isHostTool) - { - return this.GetTabURL(tabName, isHostTool, null); - } - - protected string GetTabURL(string tabName, bool isHostTool, int? parentId) - { - if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) - { - return "javascript:void(0);"; - } - - int portalId = isHostTool ? Null.NullInteger : this.PortalSettings.PortalId; - return this.GetTabURL(tabName, portalId, parentId); - } - - protected string GetTabURL(string tabName, int portalId, int? parentId) - { - var tab = parentId.HasValue ? TabController.Instance.GetTabByName(tabName, portalId, parentId.Value) : TabController.Instance.GetTabByName(tabName, portalId); - - if (tab != null) - { - return tab.FullUrl; - } - - return string.Empty; - } - - protected string GetTabPublishing() - { - return TabPublishingController.Instance.IsTabPublished(TabController.CurrentPage.TabID, this.PortalSettings.PortalId) ? "true" : "false"; - } - - protected string GetPublishActionText() - { - return TabPublishingController.Instance.IsTabPublished(TabController.CurrentPage.TabID, this.PortalSettings.PortalId) - ? ClientAPI.GetSafeJSString(this.GetString("Tool.UnpublishPage.Text")) - : ClientAPI.GetSafeJSString(this.GetString("Tool.PublishPage.Text")); - } - - protected string GetPublishConfirmText() - { - return TabPublishingController.Instance.IsTabPublished(TabController.CurrentPage.TabID, this.PortalSettings.PortalId) - ? this.GetButtonConfirmMessage("UnpublishPage") - : this.GetButtonConfirmMessage("PublishPage"); - } - - protected string GetPublishConfirmHeader() - { - return TabPublishingController.Instance.IsTabPublished(TabController.CurrentPage.TabID, this.PortalSettings.PortalId) - ? this.GetButtonConfirmHeader("UnpublishPage") - : this.GetButtonConfirmHeader("PublishPage"); - } - - protected string GetMenuItem(string tabName, bool isHostTool) - { - if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) - { - return string.Empty; - } - - List tabList; - if (isHostTool) - { - if (this._hostTabs == null) - { - this.GetHostTabs(); - } - - tabList = this._hostTabs; - } - else - { - if (this._adminTabs == null) - { - this.GetAdminTabs(); - } - - tabList = this._adminTabs; - } - - var tab = tabList?.SingleOrDefault(t => t.TabName == tabName); - return this.GetMenuItem(tab); - } - - protected string GetMenuItem(string tabName, bool isHostTool, bool isRemoveBookmark, bool isHideBookmark = false) - { - if (isHostTool && !UserController.Instance.GetCurrentUserInfo().IsSuperUser) - { - return string.Empty; - } - - List tabList; - if (isHostTool) - { - if (this._hostTabs == null) - { - this.GetHostTabs(); - } - - tabList = this._hostTabs; - } - else - { - if (this._adminTabs == null) - { - this.GetAdminTabs(); - } - - tabList = this._adminTabs; - } - - var tab = tabList?.SingleOrDefault(t => t.TabName == tabName); - return this.GetMenuItem(tab, isRemoveBookmark, isHideBookmark); - } - - protected string GetMenuItem(TabInfo tab, bool isRemoveBookmark = false, bool isHideBookmark = false) - { - if (tab == null) - { - return string.Empty; - } - - if (tab.IsVisible && !tab.IsDeleted && !tab.DisableLink) - { - string name = !string.IsNullOrEmpty(tab.LocalizedTabName) ? tab.LocalizedTabName : tab.Title; - var linkClass = DotNetNukeContext.Current.Application.Name == "DNNCORP.CE" && tab.FullUrl.Contains("ProfessionalFeatures") ? "class=\"PE\"" : string.Empty; - if (!isRemoveBookmark) - { - if (!isHideBookmark) - { - return string.Format( - "
  • {1}
  • ", - tab.FullUrl, - name, - ClientAPI.GetSafeJSString(this.GetString("Tool.AddToBookmarks.ToolTip")), - ClientAPI.GetSafeJSString(tab.TabName), - linkClass); - } - else - { - return string.Format( - "
  • {1}
  • ", - tab.FullUrl, - name, - ClientAPI.GetSafeJSString(this.GetString("Tool.AddToBookmarks.ToolTip")), - ClientAPI.GetSafeJSString(tab.TabName), - linkClass); - } - } - - return string.Format( - "
  • {1}
  • ", - tab.FullUrl, - name, - ClientAPI.GetSafeJSString(this.GetString("Tool.RemoveFromBookmarks.ToolTip")), - ClientAPI.GetSafeJSString(tab.TabName), - linkClass); - } - - return string.Empty; - } - - protected string GetAdminBaseMenu() - { - var tabs = this.AdminBaseTabs; - var sb = new StringBuilder(); - foreach (var tab in tabs) - { - var hideBookmark = this.AdminBookmarkItems.Contains(tab.TabName); - sb.Append(this.GetMenuItem(tab, false, hideBookmark)); - } - - return sb.ToString(); - } - - protected string GetAdminAdvancedMenu() - { - var tabs = this.AdminAdvancedTabs; - var sb = new StringBuilder(); - foreach (var tab in tabs) - { - var hideBookmark = this.AdminBookmarkItems.Contains(tab.TabName); - sb.Append(this.GetMenuItem(tab, false, hideBookmark)); - } - - return sb.ToString(); - } - - protected string GetHostBaseMenu() - { - var tabs = this.HostBaseTabs; - - var sb = new StringBuilder(); - foreach (var tab in tabs) - { - var hideBookmark = this.HostBookmarkItems.Contains(tab.TabName); - sb.Append(this.GetMenuItem(tab, false, hideBookmark)); - } - - return sb.ToString(); - } - - protected string GetHostAdvancedMenu() - { - var tabs = this.HostAdvancedTabs; - var sb = new StringBuilder(); - foreach (var tab in tabs) - { - var hideBookmark = this.HostBookmarkItems.Contains(tab.TabName); - sb.Append(this.GetMenuItem(tab, false, hideBookmark)); - } - - return sb.ToString(); - } - - protected string GetBookmarkItems(string title) - { - var isHostTool = title == "host"; - var bookmarkItems = isHostTool ? this.HostBookmarkItems : this.AdminBookmarkItems; - - if (bookmarkItems != null && bookmarkItems.Any()) - { - var sb = new StringBuilder(); - foreach (var itemKey in bookmarkItems) - { - sb.Append(this.GetMenuItem(itemKey, isHostTool, true)); - } - - return sb.ToString(); - } - - return string.Empty; - } - - protected string GetButtonConfirmMessage(string toolName) - { - return ClientAPI.GetSafeJSString(Localization.GetString("Tool." + toolName + ".ConfirmText", this.LocalResourceFile)); - } - - protected string GetButtonConfirmHeader(string toolName) - { - return ClientAPI.GetSafeJSString(Localization.GetString("Tool." + toolName + ".ConfirmHeader", this.LocalResourceFile)); - } - - protected IEnumerable LoadPortalsList() - { - var portals = PortalController.Instance.GetPortals(); - - var result = new List(); - foreach (var portal in portals) - { - var pi = portal as PortalInfo; - - if (pi != null) - { - string[] p = - { - pi.PortalName, - pi.PortalID.ToString("D"), - }; - - result.Add(p); - } - } - - return result; - } - - protected IEnumerable LoadLanguagesList() - { - var result = new List(); - - if (this.PortalSettings.AllowUserUICulture) - { - if (this.CurrentUICulture == null) - { - object oCulture = Personalization.GetProfile("Usability", "UICulture"); - - if (oCulture != null) - { - this.CurrentUICulture = oCulture.ToString(); - } - else - { - var l = new Localization(); - this.CurrentUICulture = l.CurrentUICulture; - this.SetLanguage(true, this.CurrentUICulture); - } - } - - IEnumerable cultureListItems = Localization.LoadCultureInListItems(CultureDropDownTypes.NativeName, this.CurrentUICulture, string.Empty, false); - foreach (var cultureItem in cultureListItems) - { - var selected = cultureItem.Value == this.CurrentUICulture ? "true" : "false"; - string[] p = new string[] - { - cultureItem.Text, - cultureItem.Value, - selected, - }; - result.Add(p); - } - } - - return result; - } - - protected bool ShowSwitchLanguagesPanel() - { - if (this.PortalSettings.AllowUserUICulture && this.PortalSettings.ContentLocalizationEnabled) - { - if (this.CurrentUICulture == null) - { - object oCulture = Personalization.GetProfile("Usability", "UICulture"); - - if (oCulture != null) - { - this.CurrentUICulture = oCulture.ToString(); - } - else - { - var l = new Localization(); - this.CurrentUICulture = l.CurrentUICulture; - } - } - - IEnumerable cultureListItems = Localization.LoadCultureInListItems(CultureDropDownTypes.NativeName, this.CurrentUICulture, string.Empty, false); - return cultureListItems.Count() > 1; - } - - return false; - } - - protected string CheckedWhenInLayoutMode() - { - return this.UserMode == PortalSettings.Mode.Layout ? "checked='checked'" : string.Empty; - } - - protected string CheckedWhenStayInEditMode() - { - string checkboxState = string.Empty; - var cookie = this.Request.Cookies["StayInEditMode"]; - if (cookie != null && cookie.Value == "YES") - { - checkboxState = "checked='checked'"; - } - - if (this.UserMode == PortalSettings.Mode.Layout) - { - checkboxState += " disabled='disabled'"; - } - - return checkboxState; - } - - protected string SpecialClassWhenNotInViewMode() - { - return this.UserMode == PortalSettings.Mode.View ? string.Empty : "controlBar_editPageInEditMode"; - } - - protected string GetModeForAttribute() - { - return this.UserMode.ToString().ToUpperInvariant(); - } - - protected string GetEditButtonLabel() - { - return this.UserMode == PortalSettings.Mode.Edit ? this.GetString("Tool.CloseEditMode.Text") : this.GetString("Tool.EditThisPage.Text"); - } - - protected virtual bool ActiveTabHasChildren() - { - var children = TabController.GetTabsByParent(this.PortalSettings.ActiveTab.TabID, this.PortalSettings.ActiveTab.PortalID); - - if ((children == null) || children.Count < 1) - { - return false; - } - - return true; - } - - protected bool IsLanguageModuleInstalled() - { - return DesktopModuleController.GetDesktopModuleByFriendlyName("Languages") != null; - } - - private static IEnumerable GetCurrentPortalsGroup() - { - var groups = PortalGroupController.Instance.GetPortalGroups().ToArray(); - - var result = (from @group in groups - select PortalGroupController.Instance.GetPortalsByGroup(@group.PortalGroupId) - into portals - where portals.Any(x => x.PortalID == PortalSettings.Current.PortalId) - select portals.ToArray()).FirstOrDefault(); - - // Are we in a group of one? - if (result == null || result.Length == 0) - { - result = new[] { PortalController.Instance.GetPortal(PortalSettings.Current.PortalId) }; - } - - return result; - } - - private void LoadCustomMenuItems() - { - foreach (var menuItem in ControlBarController.Instance.GetCustomMenuItems()) - { - var liElement = new HtmlGenericControl("li"); - liElement.Attributes.Add("id", menuItem.ID + "_tab"); - - var control = this.Page.LoadControl(menuItem.Source); - control.ID = menuItem.ID; - - liElement.Controls.Add(control); - - this.CustomMenuItems.Controls.Add(liElement); - } - } - - private string GetUpgradeIndicatorButton(UpgradeIndicatorViewModel upgradeIndicator) - { - return string.Format( - "\"{4}\"", - upgradeIndicator.ID, upgradeIndicator.WebAction, upgradeIndicator.CssClass, this.ResolveClientUrl(upgradeIndicator.ImageUrl), upgradeIndicator.AltText, upgradeIndicator.ToolTip); - } - - private void LoadCategoryList() - { - ITermController termController = Util.GetTermController(); - var terms = termController.GetTermsByVocabulary("Module_Categories").OrderBy(t => t.Weight).Where(t => t.Name != "< None >").ToList(); - var allTerm = new Term("All", Localization.GetString("AllCategories", this.LocalResourceFile)); - terms.Add(allTerm); - this.CategoryList.DataSource = terms; - this.CategoryList.DataBind(); - if (!this.IsPostBack) - { - this.CategoryList.SelectedValue = !string.IsNullOrEmpty(this.BookmarkedModuleKeys) ? this.BookmarkModuleCategory : "All"; - } - } - - private bool LoadSiteList() - { - // Is there more than one site in this group? - var multipleSites = GetCurrentPortalsGroup().Count() > 1; - if (multipleSites) - { - this.PageList.Services.GetTreeMethod = "ItemListService/GetPagesInPortalGroup"; - this.PageList.Services.GetNodeDescendantsMethod = "ItemListService/GetPageDescendantsInPortalGroup"; - this.PageList.Services.SearchTreeMethod = "ItemListService/SearchPagesInPortalGroup"; - this.PageList.Services.GetTreeWithNodeMethod = "ItemListService/GetTreePathForPageInPortalGroup"; - this.PageList.Services.SortTreeMethod = "ItemListService/SortPagesInPortalGroup"; - } - - this.PageList.UndefinedItem = new ListItem(DynamicSharedConstants.Unspecified, string.Empty); - this.PageList.OnClientSelectionChanged.Add("dnn.controlBar.ControlBar_Module_PageList_Changed"); - return multipleSites; - } - - private void LoadVisibilityList() - { - var items = new Dictionary { { "0", this.GetString("PermissionView") }, { "1", this.GetString("PermissionEdit") } }; - - this.VisibilityLst.Items.Clear(); - this.VisibilityLst.DataValueField = "key"; - this.VisibilityLst.DataTextField = "value"; - this.VisibilityLst.DataSource = items; - this.VisibilityLst.DataBind(); - } - - private void AutoSetUserMode() - { - int tabId = this.PortalSettings.ActiveTab.TabID; - int portalId = PortalSettings.Current.PortalId; - string pageId = string.Format("{0}:{1}", portalId, tabId); - - HttpCookie cookie = this.Request.Cookies["StayInEditMode"]; - if (cookie != null && cookie.Value == "YES") - { - if (Personalization.GetUserMode() != PortalSettings.Mode.Edit) - { - this.SetUserMode("EDIT"); - this.SetLastPageHistory(pageId); - this.Response.Redirect(this.Request.RawUrl, true); - } - - return; - } - - string lastPageId = this.GetLastPageHistory(); - var isShowAsCustomError = this.Request.QueryString.AllKeys.Contains("aspxerrorpath"); - - if (lastPageId != pageId && !isShowAsCustomError) - { - // navigate between pages - if (Personalization.GetUserMode() != PortalSettings.Mode.View) - { - this.SetUserMode("VIEW"); - this.SetLastPageHistory(pageId); - this.Response.Redirect(this.Request.RawUrl, true); - } - } - - if (!isShowAsCustomError) - { - this.SetLastPageHistory(pageId); - } - } - - private void SetLastPageHistory(string pageId) - { - this.Response.Cookies.Add(new HttpCookie("LastPageId", pageId) { Path = !string.IsNullOrEmpty(Globals.ApplicationPath) ? Globals.ApplicationPath : "/" }); - } - - private string GetLastPageHistory() - { - var cookie = this.Request.Cookies["LastPageId"]; - if (cookie != null) - { - return cookie.Value; - } - - return "NEW"; - } - - private void SetLanguage(bool update, string currentCulture) - { - if (update) - { - Personalization.SetProfile("Usability", "UICulture", currentCulture); - } - } - - private void BindPortalsList() - { - foreach (var portal in this.LoadPortalsList()) - { - this.controlBar_SwitchSite.Items.Add(new ListItem(portal[0], portal[1])); - } - } - - private void BindLanguagesList() - { - if (this.ShowSwitchLanguagesPanel()) - { - const string FlagImageUrlFormatString = "~/images/Flags/{0}.gif"; - foreach (var lang in this.LoadLanguagesList()) - { - var item = new ListItem(lang[0], lang[1]); - var imageUrl = string.Format(FlagImageUrlFormatString, item.Value); - item.Text = $" {item.Text}"; - if (lang[2] == "true") - { - item.Selected = true; - } - - this.controlBar_SwitchLanguage.Items.Add(item); - } - } - } - - private void GetHostTabs() - { - var hostTab = TabController.GetTabByTabPath(Null.NullInteger, "//Host", string.Empty); - var hosts = TabController.GetTabsByParent(hostTab, -1); - - var professionalTab = TabController.Instance.GetTabByName("Professional Features", -1); - var professionalTabs = professionalTab != null - ? TabController.GetTabsByParent(professionalTab.TabID, -1) - : new List(); - - this._hostTabs = new List(); - this._hostTabs.AddRange(hosts); - this._hostTabs.AddRange(professionalTabs); - this._hostTabs = this._hostTabs.OrderBy(t => t.LocalizedTabName).ToList(); - - this._hostBaseTabs = new List(); - this._hostAdvancedTabs = new List(); - - foreach (var tabInfo in this._hostTabs) - { - if (this.IsCommonTab(tabInfo, true)) - { - this._hostBaseTabs.Add(tabInfo); - } - else - { - this._hostAdvancedTabs.Add(tabInfo); - } - } - } - - private void GetAdminTabs() - { - var adminTab = TabController.GetTabByTabPath(this.PortalSettings.PortalId, "//Admin", string.Empty); - this._adminTabs = TabController.GetTabsByParent(adminTab, this.PortalSettings.PortalId).OrderBy(t => t.LocalizedTabName).ToList(); - - this._adminBaseTabs = new List(); - this._adminAdvancedTabs = new List(); - - foreach (var tabInfo in this._adminTabs) - { - if (this.IsCommonTab(tabInfo)) - { - this._adminBaseTabs.Add(tabInfo); - } - else - { - this._adminAdvancedTabs.Add(tabInfo); - } - } - } - - private bool IsCommonTab(TabInfo tab, bool isHost = false) - { - if (tab.TabSettings.ContainsKey("ControlBar_CommonTab") && - tab.TabSettings["ControlBar_CommonTab"].ToString() == "Y") - { - return true; - } - - return isHost ? this._hostCommonTabs.Contains(tab.TabName) : this._adminCommonTabs.Contains(tab.TabName); - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.designer.cs deleted file mode 100644 index 0269ed119ee..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/ControlBar.ascx.designer.cs +++ /dev/null @@ -1,100 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanels { - - - public partial class ControlBar { - - /// - /// ControlPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ControlPanel; - - /// - /// conrolbar_logo control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Image conrolbar_logo; - - /// - /// controlBar_SwitchSite control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList controlBar_SwitchSite; - - /// - /// controlBar_SwitchLanguage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList controlBar_SwitchLanguage; - - /// - /// helpLink control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Literal helpLink; - - /// - /// CustomMenuItems control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl CustomMenuItems; - - /// - /// CategoryList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList CategoryList; - - /// - /// PageList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnPageDropDownList PageList; - - /// - /// VisibilityLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList VisibilityLst; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.cs deleted file mode 100644 index 053f6b7a796..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.cs +++ /dev/null @@ -1,352 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.UI.ControlPanels -{ - using System; - using System.Collections.Generic; - using System.Web; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Application; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Host; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Users; - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Security; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.Localization; - using DotNetNuke.Services.Mobile; - using DotNetNuke.Services.Upgrade; - using DotNetNuke.UI.Utilities; - using DotNetNuke.Web.Client.ClientResourceManagement; - using DotNetNuke.Web.UI.WebControls; - - using Globals = DotNetNuke.Common.Globals; - - public partial class RibbonBar : ControlPanelBase - { - public override bool IncludeInControlHierarchy - { - get - { - return base.IncludeInControlHierarchy && (this.IsPageAdmin() || this.IsModuleAdmin()); - } - } - - public override bool IsDockable { get; set; } - - protected string GetButtonConfirmMessage(string toolName) - { - if (toolName == "DeletePage") - { - return ClientAPI.GetSafeJSString(Localization.GetString("Tool.DeletePage.Confirm", this.LocalResourceFile)); - } - - if (toolName == "CopyPermissionsToChildren") - { - if (PortalSecurity.IsInRole("Administrators")) - { - return ClientAPI.GetSafeJSString(Localization.GetString("Tool.CopyPermissionsToChildren.Confirm", this.LocalResourceFile)); - } - - return ClientAPI.GetSafeJSString(Localization.GetString("Tool.CopyPermissionsToChildrenPageEditor.Confirm", this.LocalResourceFile)); - } - - if (toolName == "CopyDesignToChildren") - { - if (PortalSecurity.IsInRole("Administrators")) - { - return ClientAPI.GetSafeJSString(Localization.GetString("Tool.CopyDesignToChildren.Confirm", this.LocalResourceFile)); - } - - return ClientAPI.GetSafeJSString(Localization.GetString("Tool.CopyDesignToChildrenPageEditor.Confirm", this.LocalResourceFile)); - } - - return string.Empty; - } - - protected void DetermineNodesToInclude(object sender, EventArgs e) - { - var skinObject = (Web.DDRMenu.SkinObject)sender; - string admin = this.StripLocalizationPrefix(Localization.GetString("//Admin.String", Localization.GlobalResourceFile)).Trim(); - string host = this.StripLocalizationPrefix(Localization.GetString("//Host.String", Localization.GlobalResourceFile)).Trim(); - - skinObject.IncludeNodes = admin + ", " + host; - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - this.ID = "RibbonBar"; - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.ddlMode.SelectedIndexChanged += this.ddlMode_SelectedIndexChanged; - this.ddlUICulture.SelectedIndexChanged += this.ddlUICulture_SelectedIndexChanged; - - try - { - this.AdminPanel.Visible = false; - this.AdvancedToolsPanel.Visible = false; - - if (this.ControlPanel.Visible && this.IncludeInControlHierarchy) - { - ClientResourceManager.RegisterStyleSheet(this.Page, "~/admin/ControlPanel/module.css"); - ClientResourceManager.RegisterScript(this.Page, "~/Resources/ControlPanel/ControlPanel.debug.js"); - } - - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - - Control copyPageButton = this.CurrentPagePanel.FindControl("CopyPage"); - if (copyPageButton != null) - { - copyPageButton.Visible = LocaleController.Instance.IsDefaultLanguage(LocaleController.Instance.GetCurrentLocale(this.PortalSettings.PortalId).Code); - } - - if (this.Request.IsAuthenticated) - { - UserInfo user = UserController.Instance.GetCurrentUserInfo(); - if (user != null) - { - bool isAdmin = user.IsInRole(PortalSettings.Current.AdministratorRoleName); - this.AdminPanel.Visible = isAdmin; - } - } - - if (this.IsPageAdmin()) - { - this.ControlPanel.Visible = true; - this.BodyPanel.Visible = true; - - if (DotNetNukeContext.Current.Application.Name == "DNNCORP.CE") - { - // Hide Support icon in CE - this.AdminPanel.FindControl("SupportTickets").Visible = false; - } - else - { - // Show PE/XE tools - this.AdvancedToolsPanel.Visible = true; - } - - this.Localize(); - - if (!this.Page.IsPostBack) - { - UserInfo objUser = UserController.Instance.GetCurrentUserInfo(); - if (objUser != null) - { - if (objUser.IsSuperUser) - { - this.hypMessage.ImageUrl = Upgrade.UpgradeIndicator(DotNetNukeContext.Current.Application.Version, this.Request.IsLocal, this.Request.IsSecureConnection); - if (!string.IsNullOrEmpty(this.hypMessage.ImageUrl)) - { - this.hypMessage.ToolTip = Localization.GetString("hypUpgrade.Text", this.LocalResourceFile); - this.hypMessage.NavigateUrl = Upgrade.UpgradeRedirect(); - } - } - else - { - if (PortalSecurity.IsInRole(this.PortalSettings.AdministratorRoleName) && Host.DisplayCopyright) - { - this.hypMessage.ImageUrl = "~/images/branding/iconbar_logo.png"; - this.hypMessage.ToolTip = DotNetNukeContext.Current.Application.Description; - this.hypMessage.NavigateUrl = Localization.GetString("hypMessageUrl.Text", this.LocalResourceFile); - } - else - { - this.hypMessage.Visible = false; - } - - if (!TabPermissionController.CanAddContentToPage()) - { - this.CommonTasksPanel.Visible = false; - } - } - - if (this.PortalSettings.AllowUserUICulture) - { - object oCulture = DotNetNuke.Services.Personalization.Personalization.GetProfile("Usability", "UICulture"); - string currentCulture; - if (oCulture != null) - { - currentCulture = oCulture.ToString(); - } - else - { - Localization l = new Localization(); - currentCulture = l.CurrentUICulture; - } - - // Localization.LoadCultureDropDownList(ddlUICulture, CultureDropDownTypes.NativeName, currentCulture); - IEnumerable cultureListItems = Localization.LoadCultureInListItems(CultureDropDownTypes.NativeName, currentCulture, string.Empty, false); - foreach (var cultureItem in cultureListItems) - { - this.ddlUICulture.Items.Add(new ListItem(cultureItem.Text, cultureItem.Value)); - } - - var selectedCultureItem = this.ddlUICulture.Items.FindByValue(currentCulture); - if (selectedCultureItem != null) - { - selectedCultureItem.Selected = true; - } - - // only show language selector if more than one language - if (this.ddlUICulture.Items.Count > 1) - { - this.lblUILanguage.Visible = true; - this.ddlUICulture.Visible = true; - - if (oCulture == null) - { - this.SetLanguage(true); - } - } - } - } - - this.SetMode(false); - } - } - else if (this.IsModuleAdmin()) - { - this.ControlPanel.Visible = true; - this.BodyPanel.Visible = false; - this.adminMenus.Visible = false; - if (!this.Page.IsPostBack) - { - this.SetMode(false); - } - } - else - { - this.ControlPanel.Visible = false; - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void ddlMode_SelectedIndexChanged(object sender, EventArgs e) - { - if (this.Page.IsCallback) - { - return; - } - - this.SetMode(true); - this.Response.Redirect(this.Request.RawUrl, true); - } - - protected string PreviewPopup() - { - var previewUrl = string.Format( - "{0}/Default.aspx?ctl={1}&previewTab={2}&TabID={2}", - Globals.AddHTTP(this.PortalSettings.PortalAlias.HTTPAlias), - "MobilePreview", - this.PortalSettings.ActiveTab.TabID); - - if (this.PortalSettings.EnablePopUps) - { - return UrlUtils.PopUpUrl(previewUrl, this, this.PortalSettings, true, false, 660, 800); - } - else - { - return string.Format("location.href = \"{0}\"", previewUrl); - } - } - - private void Localize() - { - Control ctrl = this.AdminPanel.FindControl("SiteNewPage"); - if ((ctrl != null) && ctrl is DnnRibbonBarTool) - { - var toolCtrl = (DnnRibbonBarTool)ctrl; - toolCtrl.Text = Localization.GetString("SiteNewPage", this.LocalResourceFile); - toolCtrl.ToolTip = Localization.GetString("SiteNewPage.ToolTip", this.LocalResourceFile); - } - } - - private void SetMode(bool update) - { - if (update) - { - this.SetUserMode(this.ddlMode.SelectedValue); - } - - if (!TabPermissionController.CanAddContentToPage()) - { - this.RemoveModeDropDownItem("LAYOUT"); - } - - if (!(new PreviewProfileController().GetProfilesByPortal(this.PortalSettings.PortalId).Count > 0)) - { - this.RemoveModeDropDownItem("PREVIEW"); - } - - switch (this.UserMode) - { - case PortalSettings.Mode.View: - this.ddlMode.Items.FindByValue("VIEW").Selected = true; - break; - case PortalSettings.Mode.Edit: - this.ddlMode.Items.FindByValue("EDIT").Selected = true; - break; - case PortalSettings.Mode.Layout: - this.ddlMode.Items.FindByValue("LAYOUT").Selected = true; - break; - } - } - - private void RemoveModeDropDownItem(string value) - { - var item = this.ddlMode.Items.FindByValue(value); - if (item != null) - { - this.ddlMode.Items.Remove(item); - } - } - - private void SetLanguage(bool update) - { - if (update) - { - DotNetNuke.Services.Personalization.Personalization.SetProfile("Usability", "UICulture", this.ddlUICulture.SelectedValue); - } - } - - private string StripLocalizationPrefix(string s) - { - const string prefix = "[L]"; - - if (s.StartsWith(prefix)) - { - return s.Substring(prefix.Length); - } - - return s; - } - - private void ddlUICulture_SelectedIndexChanged(object sender, EventArgs e) - { - if (this.Page.IsCallback) - { - return; - } - - this.SetLanguage(true); - this.Response.Redirect(this.Request.RawUrl, true); - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.designer.cs deleted file mode 100644 index 3ad16a50e65..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/RibbonBar.ascx.designer.cs +++ /dev/null @@ -1,397 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanels { - - - public partial class RibbonBar { - - /// - /// ControlPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ControlPanel; - - /// - /// adminMenus control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.DDRMenu.SkinObject adminMenus; - - /// - /// lblUILanguage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblUILanguage; - - /// - /// ddlUICulture control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlUICulture; - - /// - /// lblMode control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblMode; - - /// - /// ddlMode control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList ddlMode; - - /// - /// hypMessage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink hypMessage; - - /// - /// BodyPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl BodyPanel; - - /// - /// CommonTasksPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel CommonTasksPanel; - - /// - /// AddMod control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.ControlPanel.AddModule AddMod; - - /// - /// CurrentPagePanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel CurrentPagePanel; - - /// - /// CurrentTabActions control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral CurrentTabActions; - - /// - /// EditCurrentSettings control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool EditCurrentSettings; - - /// - /// NewPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool NewPage; - - /// - /// CopyPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool CopyPage; - - /// - /// DeletePage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool DeletePage; - - /// - /// ImportPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool ImportPage; - - /// - /// ExportPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool ExportPage; - - /// - /// CurrentTabCopyToChildren control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral CurrentTabCopyToChildren; - - /// - /// CopyPermissionsToChildren control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool CopyPermissionsToChildren; - - /// - /// CopyDesignToChildren control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool CopyDesignToChildren; - - /// - /// CurrentTabAddPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral CurrentTabAddPage; - - /// - /// AddPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.ControlPanel.AddPage AddPage; - - /// - /// CurrentTabEditPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral CurrentTabEditPage; - - /// - /// EditPage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.ControlPanel.UpdatePage EditPage; - - /// - /// AdminPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel AdminPanel; - - /// - /// SiteTabManage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral SiteTabManage; - - /// - /// NewUser control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool NewUser; - - /// - /// NewRole control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool NewRole; - - /// - /// UploadFile control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool UploadFile; - - /// - /// ClearCache control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool ClearCache; - - /// - /// RecycleApp control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool RecycleApp; - - /// - /// AdvancedToolsPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel AdvancedToolsPanel; - - /// - /// SystemTabTools control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral SystemTabTools; - - /// - /// WebServerManager control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool WebServerManager; - - /// - /// SupportTickets control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool SupportTickets; - - /// - /// ImpersonateUser control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool ImpersonateUser; - - /// - /// IntegrityChecker control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool IntegrityChecker; - - /// - /// SystemTabSwitchSite control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral SystemTabSwitchSite; - - /// - /// SwitchSite control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.ControlPanel.SwitchSite SwitchSite; - - /// - /// CurrentTabHelp control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnLiteral CurrentTabHelp; - - /// - /// Help control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnRibbonBarTool Help; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.cs deleted file mode 100644 index e36d8decc62..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.cs +++ /dev/null @@ -1,111 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.UI.ControlPanel -{ - using System; - using System.Collections; - using System.Linq; - using System.Threading; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Web.UI.WebControls; - - public partial class SwitchSite : UserControl, IDnnRibbonBarTool - { - public override bool Visible - { - get - { - if (PortalSettings.Current.UserId == Null.NullInteger) - { - return false; - } - - return PortalSettings.Current.UserInfo.IsSuperUser && base.Visible; - } - - set - { - base.Visible = value; - } - } - - public string ToolName - { - get - { - return "QuickSwitchSite"; - } - - set - { - throw new NotSupportedException("Set ToolName not supported"); - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.cmdSwitch.Click += this.CmdSwitchClick; - - try - { - if (this.Visible && !this.IsPostBack) - { - this.LoadPortalsList(); - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void CmdSwitchClick(object sender, EventArgs e) - { - try - { - if (!string.IsNullOrEmpty(this.SitesLst.SelectedValue)) - { - int selectedPortalID = int.Parse(this.SitesLst.SelectedValue); - var portalAliases = PortalAliasController.Instance.GetPortalAliasesByPortalId(selectedPortalID).ToList(); - - if (portalAliases.Count > 0 && (portalAliases[0] != null)) - { - this.Response.Redirect(Globals.AddHTTP(((PortalAliasInfo)portalAliases[0]).HTTPAlias)); - } - } - } - catch (ThreadAbortException) - { - // Do nothing we are not logging ThreadAbortxceptions caused by redirects - } - catch (Exception ex) - { - Exceptions.LogException(ex); - } - } - - private void LoadPortalsList() - { - var portals = PortalController.Instance.GetPortals(); - - this.SitesLst.ClearSelection(); - this.SitesLst.Items.Clear(); - - this.SitesLst.DataSource = portals; - this.SitesLst.DataTextField = "PortalName"; - this.SitesLst.DataValueField = "PortalID"; - this.SitesLst.DataBind(); - - this.SitesLst.Items.Insert(0, string.Empty); - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.designer.cs deleted file mode 100644 index 8c45a3f8b9f..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/SwitchSite.ascx.designer.cs +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanel { - - - public partial class SwitchSite { - - /// - /// SitesLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList SitesLst; - - /// - /// cmdSwitch control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdSwitch; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.cs deleted file mode 100644 index 810888a91cb..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.cs +++ /dev/null @@ -1,359 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.UI.ControlPanel -{ - using System; - using System.IO; - using System.Linq; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Abstractions; - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Portals; - using DotNetNuke.Entities.Tabs; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.Localization; - using DotNetNuke.UI.Skins; - using DotNetNuke.Web.UI; - using DotNetNuke.Web.UI.WebControls; - using Microsoft.Extensions.DependencyInjection; - - public partial class UpdatePage : UserControl, IDnnRibbonBarTool - { - private readonly INavigationManager _navigationManager; - - private TabInfo _currentTab; - - public UpdatePage() - { - this._navigationManager = Globals.DependencyProvider.GetRequiredService(); - } - - public override bool Visible - { - get - { - return base.Visible && TabPermissionController.CanManagePage(); - } - - set - { - base.Visible = value; - } - } - - public string ToolName - { - get - { - return "QuickUpdatePage"; - } - - set - { - throw new NotSupportedException("Set ToolName not supported"); - } - } - - private static PortalSettings PortalSettings - { - get - { - return PortalSettings.Current; - } - } - - private TabInfo CurrentTab - { - get - { - // Weird - but the activetab has different skin src value than getting from the db - if (this._currentTab == null) - { - this._currentTab = TabController.Instance.GetTab(PortalSettings.ActiveTab.TabID, PortalSettings.ActiveTab.PortalID, false); - } - - return this._currentTab; - } - } - - private string LocalResourceFile - { - get - { - return string.Format("{0}/{1}/{2}.ascx.resx", this.TemplateSourceDirectory, Localization.LocalResourceDirectory, this.GetType().BaseType.Name); - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.cmdUpdate.Click += this.CmdUpdateClick; - - try - { - if (this.Visible && !this.IsPostBack) - { - this.Name.Text = this.CurrentTab.TabName; - this.IncludeInMenu.Checked = this.CurrentTab.IsVisible; - this.IsDisabled.Checked = this.CurrentTab.DisableLink; - this.IsSecurePanel.Visible = PortalSettings.SSLEnabled; - this.IsSecure.Enabled = PortalSettings.SSLEnabled; - this.IsSecure.Checked = this.CurrentTab.IsSecure; - this.LoadAllLists(); - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void CmdUpdateClick(object sender, EventArgs e) - { - if (TabPermissionController.CanManagePage()) - { - TabInfo selectedTab = null; - if (!string.IsNullOrEmpty(this.PageLst.SelectedValue)) - { - int selectedTabID = int.Parse(this.PageLst.SelectedValue); - selectedTab = TabController.Instance.GetTab(selectedTabID, PortalSettings.ActiveTab.PortalID, false); - } - - TabRelativeLocation tabLocation = TabRelativeLocation.NOTSET; - if (!string.IsNullOrEmpty(this.LocationLst.SelectedValue)) - { - tabLocation = (TabRelativeLocation)Enum.Parse(typeof(TabRelativeLocation), this.LocationLst.SelectedValue); - } - - TabInfo tab = this.CurrentTab; - - tab.TabName = this.Name.Text; - tab.IsVisible = this.IncludeInMenu.Checked; - tab.DisableLink = this.IsDisabled.Checked; - tab.IsSecure = this.IsSecure.Checked; - tab.SkinSrc = this.SkinLst.SelectedValue; - - string errMsg = string.Empty; - try - { - RibbonBarManager.SaveTabInfoObject(tab, selectedTab, tabLocation, null); - } - catch (DotNetNukeException ex) - { - Exceptions.LogException(ex); - errMsg = (ex.ErrorCode != DotNetNukeErrorCode.NotSet) ? this.GetString("Err." + ex.ErrorCode) : ex.Message; - } - catch (Exception ex) - { - Exceptions.LogException(ex); - errMsg = ex.Message; - } - - // Clear the Tab's Cached modules - DataCache.ClearModuleCache(PortalSettings.ActiveTab.TabID); - - // Update Cached Tabs as TabPath may be needed before cache is cleared - TabInfo tempTab; - if (TabController.Instance.GetTabsByPortal(PortalSettings.ActiveTab.PortalID).TryGetValue(tab.TabID, out tempTab)) - { - tempTab.TabPath = tab.TabPath; - } - - if (string.IsNullOrEmpty(errMsg)) - { - this.Response.Redirect(this._navigationManager.NavigateURL(tab.TabID)); - } - else - { - errMsg = string.Format("

    {0}

    {1}

    ", this.GetString("Err.Header"), errMsg); - Web.UI.Utilities.RegisterAlertOnPageLoad(this, new MessageWindowParameters(errMsg) { Title = this.GetString("Err.Title") }); - } - } - } - - private static string FormatSkinName(string strSkinFolder, string strSkinFile) - { - if (strSkinFolder.ToLowerInvariant() == "_default") - { - return strSkinFile; - } - - switch (strSkinFile.ToLowerInvariant()) - { - case "skin": - case "container": - case "default": - return strSkinFolder; - default: - return strSkinFolder + " - " + strSkinFile; - } - } - - private void LoadAllLists() - { - this.LocationLst.Enabled = RibbonBarManager.CanMovePage(); - this.PageLst.Enabled = RibbonBarManager.CanMovePage(); - if (this.LocationLst.Enabled) - { - this.LoadLocationList(); - this.LoadPageList(); - } - - this.LoadSkinList(); - } - - private void LoadSkinList() - { - this.SkinLst.ClearSelection(); - this.SkinLst.Items.Clear(); - this.SkinLst.Items.Add(new ListItem(this.GetString("DefaultSkin"), string.Empty)); - - // load portal skins - var portalSkinsHeader = new ListItem(this.GetString("PortalSkins"), string.Empty) { Enabled = false, }; - portalSkinsHeader.Attributes["class"] = "SkinListHeader"; - this.SkinLst.Items.Add(portalSkinsHeader); - - string[] arrFolders; - string[] arrFiles; - string strLastFolder = string.Empty; - string strRoot = PortalSettings.HomeDirectoryMapPath + SkinController.RootSkin; - if (Directory.Exists(strRoot)) - { - arrFolders = Directory.GetDirectories(strRoot); - foreach (string strFolder in arrFolders) - { - arrFiles = Directory.GetFiles(strFolder, "*.ascx"); - foreach (string strFile in arrFiles) - { - string folder = strFolder.Substring(strFolder.LastIndexOf("\\") + 1); - if (strLastFolder != folder) - { - if (!string.IsNullOrEmpty(strLastFolder)) - { - this.SkinLst.Items.Add(this.GetSeparatorItem()); - } - - strLastFolder = folder; - } - - this.SkinLst.Items.Add(new ListItem( - FormatSkinName(folder, Path.GetFileNameWithoutExtension(strFile)), - "[L]" + SkinController.RootSkin + "/" + folder + "/" + Path.GetFileName(strFile))); - } - } - } - - // No portal skins added, remove the header - if (this.SkinLst.Items.Count == 2) - { - this.SkinLst.Items.RemoveAt(1); - } - - // load host skins - var hostSkinsHeader = new ListItem(this.GetString("HostSkins"), string.Empty) { Enabled = false, }; - hostSkinsHeader.Attributes["class"] = "SkinListHeader"; - this.SkinLst.Items.Add(hostSkinsHeader); - - strRoot = Globals.HostMapPath + SkinController.RootSkin; - if (Directory.Exists(strRoot)) - { - arrFolders = Directory.GetDirectories(strRoot); - foreach (string strFolder in arrFolders) - { - if (!strFolder.EndsWith(Globals.glbHostSkinFolder)) - { - arrFiles = Directory.GetFiles(strFolder, "*.ascx"); - foreach (string strFile in arrFiles) - { - string folder = strFolder.Substring(strFolder.LastIndexOf("\\") + 1); - if (strLastFolder != folder) - { - if (!string.IsNullOrEmpty(strLastFolder)) - { - this.SkinLst.Items.Add(this.GetSeparatorItem()); - } - - strLastFolder = folder; - } - - this.SkinLst.Items.Add(new ListItem( - FormatSkinName(folder, Path.GetFileNameWithoutExtension(strFile)), - "[G]" + SkinController.RootSkin + "/" + folder + "/" + Path.GetFileName(strFile))); - } - } - } - } - - // Set the selected item - this.SkinLst.SelectedIndex = 0; - if (!string.IsNullOrEmpty(this.CurrentTab.SkinSrc)) - { - ListItem selectItem = this.SkinLst.Items.FindByValue(this.CurrentTab.SkinSrc); - if (selectItem != null) - { - selectItem.Selected = true; - } - } - } - - private ListItem GetSeparatorItem() - { - var separatorItem = new ListItem(this.GetString("SkinLstSeparator"), string.Empty) { Enabled = false }; - separatorItem.Attributes["class"] = "SkinLstSeparator"; - return separatorItem; - } - - private void LoadLocationList() - { - this.LocationLst.ClearSelection(); - this.LocationLst.Items.Clear(); - - this.LocationLst.Items.Add(new ListItem(this.GetString("NoLocationSelection"), string.Empty)); - this.LocationLst.Items.Add(new ListItem(this.GetString("Before"), "BEFORE")); - this.LocationLst.Items.Add(new ListItem(this.GetString("After"), "AFTER")); - this.LocationLst.Items.Add(new ListItem(this.GetString("Child"), "CHILD")); - - this.LocationLst.SelectedIndex = 0; - } - - private void LoadPageList() - { - this.PageLst.ClearSelection(); - this.PageLst.Items.Clear(); - - this.PageLst.DataTextField = "IndentedTabName"; - this.PageLst.DataValueField = "TabID"; - this.PageLst.DataSource = RibbonBarManager.GetPagesList().Where(t => !this.IsParentTab(t, this.CurrentTab.TabID)); - this.PageLst.DataBind(); - - this.PageLst.Items.Insert(0, new ListItem(this.GetString("NoPageSelection"), string.Empty)); - this.PageLst.SelectedIndex = 0; - } - - private string GetString(string key) - { - return Localization.GetString(key, this.LocalResourceFile); - } - - private bool IsParentTab(TabInfo tab, int parentTabId) - { - while (tab != null) - { - if (tab.TabID == parentTabId) - { - return true; - } - - tab = tab.ParentId != Null.NullInteger ? TabController.Instance.GetTab(tab.ParentId, tab.PortalID, false) : null; - } - - return false; - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.designer.cs deleted file mode 100644 index 041006b2dda..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/UpdatePage.ascx.designer.cs +++ /dev/null @@ -1,136 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.UI.ControlPanel { - - - public partial class UpdatePage { - - /// - /// Name control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox Name; - - /// - /// LocationLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList LocationLst; - - /// - /// PageLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList PageLst; - - /// - /// SkinLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label SkinLbl; - - /// - /// SkinLst control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.DropDownList SkinLst; - - /// - /// IncludeInMenu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox IncludeInMenu; - - /// - /// IncludeInMenuLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label IncludeInMenuLbl; - - /// - /// IsDisabled control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox IsDisabled; - - /// - /// DisabledLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label DisabledLbl; - - /// - /// IsSecurePanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel IsSecurePanel; - - /// - /// IsSecureLbl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnFieldLabel IsSecureLbl; - - /// - /// IsSecure control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox IsSecure; - - /// - /// cmdUpdate control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdUpdate; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.cs deleted file mode 100644 index 0240d0a0a36..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.cs +++ /dev/null @@ -1,388 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information -namespace DotNetNuke.Modules.Admin.FileManager -{ - using System; - using System.Collections; - using System.IO; - using System.Linq; - using System.Web; - using System.Web.UI.WebControls; - - using DotNetNuke.Abstractions; - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Host; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Entities.Users; - using DotNetNuke.Instrumentation; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Services.Localization; - using DotNetNuke.UI.Skins; - using DotNetNuke.UI.Skins.Controls; - using DotNetNuke.Web.Common; - using Microsoft.Extensions.DependencyInjection; - - using Host = DotNetNuke.Entities.Host.Host; - - /// ----------------------------------------------------------------------------- - /// Project : DotNetNuke - /// Class : WebUpload - /// ----------------------------------------------------------------------------- - /// - /// Supplies the functionality for uploading files to the Portal. - /// - /// - /// - /// ----------------------------------------------------------------------------- - public partial class WebUpload : PortalModuleBase - { - private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(WebUpload)); - private readonly INavigationManager _navigationManager; - - private string _DestinationFolder; - private UploadType _FileType; - private string _FileTypeName; - - private string _RootFolder; - private string _UploadRoles; - - public WebUpload() - { - this._navigationManager = this.DependencyProvider.GetRequiredService(); - } - - public string DestinationFolder - { - get - { - if (this._DestinationFolder == null) - { - this._DestinationFolder = string.Empty; - if (this.Request.QueryString["dest"] != null) - { - this._DestinationFolder = Globals.QueryStringDecode(this.Request.QueryString["dest"]); - } - } - - return PathUtils.Instance.RemoveTrailingSlash(this._DestinationFolder.Replace("\\", "/")); - } - } - - public UploadType FileType - { - get - { - this._FileType = UploadType.File; - if (this.Request.QueryString["ftype"] != null) - { - // The select statement ensures that the parameter can be converted to UploadType - switch (this.Request.QueryString["ftype"].ToLowerInvariant()) - { - case "file": - this._FileType = (UploadType)Enum.Parse(typeof(UploadType), this.Request.QueryString["ftype"]); - break; - } - } - - return this._FileType; - } - } - - public string FileTypeName - { - get - { - if (this._FileTypeName == null) - { - this._FileTypeName = Localization.GetString(this.FileType.ToString(), this.LocalResourceFile); - } - - return this._FileTypeName; - } - } - - public int FolderPortalID - { - get - { - if (this.IsHostMenu) - { - return Null.NullInteger; - } - else - { - return this.PortalId; - } - } - } - - public string RootFolder - { - get - { - if (this._RootFolder == null) - { - if (this.IsHostMenu) - { - this._RootFolder = Globals.HostMapPath; - } - else - { - this._RootFolder = this.PortalSettings.HomeDirectoryMapPath; - } - } - - return this._RootFolder; - } - } - - public string UploadRoles - { - get - { - if (this._UploadRoles == null) - { - this._UploadRoles = string.Empty; - - if (Convert.ToString(this.Settings["uploadroles"]) != null) - { - this._UploadRoles = Convert.ToString(this.Settings["uploadroles"]); - } - } - - return this._UploadRoles; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// This routine determines the Return Url. - /// - /// - /// - /// - /// ----------------------------------------------------------------------------- - public string ReturnURL() - { - int TabID = this.PortalSettings.HomeTabId; - - if (this.Request.Params["rtab"] != null) - { - TabID = int.Parse(this.Request.Params["rtab"]); - } - - return this._navigationManager.NavigateURL(TabID); - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - // Customise the Control Title - this.ModuleConfiguration.ModuleTitle = Localization.GetString("UploadType" + this.FileType, this.LocalResourceFile); - } - - /// ----------------------------------------------------------------------------- - /// - /// The Page_Load runs when the page loads. - /// - /// - /// - /// - /// ----------------------------------------------------------------------------- - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - - this.cmdAdd.Click += this.cmdAdd_Click; - this.cmdReturn1.Click += this.cmdReturn_Click; - this.cmdReturn2.Click += this.cmdReturn_Click; - - try - { - this.CheckSecurity(); - - // Get localized Strings - string strHost = Localization.GetString("HostRoot", this.LocalResourceFile); - string strPortal = Localization.GetString("PortalRoot", this.LocalResourceFile); - - this.maxSizeWarningLabel.Text = string.Format(Localization.GetString("FileSizeRestriction", this.LocalResourceFile), Config.GetMaxUploadSize() / (1024 * 1024)); - - if (!this.Page.IsPostBack) - { - this.cmdAdd.Text = Localization.GetString("UploadType" + this.FileType, this.LocalResourceFile); - if (this.FileType == UploadType.File) - { - this.foldersRow.Visible = true; - this.rootRow.Visible = true; - this.unzipRow.Visible = true; - - if (this.IsHostMenu) - { - this.lblRootType.Text = strHost + ":"; - this.lblRootFolder.Text = this.RootFolder; - } - else - { - this.lblRootType.Text = strPortal + ":"; - this.lblRootFolder.Text = this.RootFolder; - } - - this.LoadFolders(); - } - - this.chkUnzip.Checked = false; - } - } - catch (Exception exc) // Module failed to load - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - /// ----------------------------------------------------------------------------- - /// - /// This routine checks the Access Security. - /// - /// - /// - /// ----------------------------------------------------------------------------- - private void CheckSecurity() - { - if (!ModulePermissionController.HasModulePermission(this.ModuleConfiguration.ModulePermissions, "CONTENT,EDIT") && !UserController.Instance.GetCurrentUserInfo().IsInRole("Administrators")) - { - this.Response.Redirect(this._navigationManager.NavigateURL("Access Denied"), true); - } - } - - /// ----------------------------------------------------------------------------- - /// - /// This routine populates the Folder List Drop Down - /// There is no reference to permissions here as all folders should be available to the admin. - /// - /// - /// - /// ----------------------------------------------------------------------------- - private void LoadFolders() - { - var user = UserController.Instance.GetCurrentUserInfo(); - - var folders = FolderManager.Instance.GetFolders(this.FolderPortalID, "ADD", user.UserID); - this.ddlFolders.Services.Parameters.Add("permission", "ADD"); - if (!string.IsNullOrEmpty(this.DestinationFolder)) - { - this.ddlFolders.SelectedFolder = folders.SingleOrDefault(f => f.FolderPath == this.DestinationFolder); - } - else - { - var rootFolder = folders.SingleOrDefault(f => f.FolderPath == string.Empty); - if (rootFolder != null) - { - this.ddlFolders.SelectedItem = new ListItem() { Text = DynamicSharedConstants.RootFolder, Value = rootFolder.FolderID.ToString() }; - } - } - } - - /// ----------------------------------------------------------------------------- - /// - /// The cmdAdd_Click runs when the Add Button is clicked. - /// - /// - /// - /// - /// - /// ----------------------------------------------------------------------------- - private void cmdAdd_Click(object sender, EventArgs e) - { - try - { - this.CheckSecurity(); - var strMessage = string.Empty; - - var postedFile = this.cmdBrowse.PostedFile; - - // Get localized Strings - Localization.GetString("InvalidExt", this.LocalResourceFile); - var strFileName = Path.GetFileName(postedFile.FileName); - if (!string.IsNullOrEmpty(postedFile.FileName)) - { - switch (this.FileType) - { - case UploadType.File: // content files - try - { - var folder = FolderManager.Instance.GetFolder(this.ddlFolders.SelectedItemValueAsInt); - var fileManager = Services.FileSystem.FileManager.Instance; - var file = fileManager.AddFile(folder, strFileName, postedFile.InputStream, true, true, postedFile.ContentType); - if (this.chkUnzip.Checked && file.Extension == "zip") - { - fileManager.UnzipFile(file, folder); - } - } - catch (PermissionsNotMetException exc) - { - Logger.Warn(exc); - strMessage += "
    " + string.Format(Localization.GetString("InsufficientFolderPermission"), this.ddlFolders.SelectedItemValueAsInt); - } - catch (NoSpaceAvailableException exc) - { - Logger.Warn(exc); - strMessage += "
    " + string.Format(Localization.GetString("DiskSpaceExceeded"), strFileName); - } - catch (InvalidFileExtensionException exc) - { - Logger.Warn(exc); - strMessage += "
    " + string.Format(Localization.GetString("RestrictedFileType"), strFileName, Host.AllowedExtensionWhitelist.ToDisplayString()); - } - catch (Exception exc) - { - Logger.Error(exc); - strMessage += "
    " + string.Format(Localization.GetString("SaveFileError"), strFileName); - } - - break; - } - } - else - { - strMessage = Localization.GetString("NoFile", this.LocalResourceFile); - } - - if (this.phPaLogs.Controls.Count > 0) - { - this.tblLogs.Visible = true; - } - else if (string.IsNullOrEmpty(strMessage)) - { - Skin.AddModuleMessage(this, string.Format(Localization.GetString("FileUploadSuccess", this.LocalResourceFile), strFileName), ModuleMessage.ModuleMessageType.GreenSuccess); - } - else - { - this.lblMessage.Text = strMessage; - } - } - catch (Exception exc) // Module failed to load - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - /// ----------------------------------------------------------------------------- - /// - /// The cmdReturn_Click runs when the Return Button is clicked. - /// - /// - /// - /// - /// - /// ----------------------------------------------------------------------------- - private void cmdReturn_Click(object sender, EventArgs e) - { - this.Response.Redirect(this.ReturnURL(), true); - } - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.designer.cs b/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.designer.cs deleted file mode 100644 index cfbb7d32b94..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/admin/ControlPanel/WebUpload.ascx.designer.cs +++ /dev/null @@ -1,190 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.Admin.FileManager { - - - public partial class WebUpload { - - /// - /// rootRow control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl rootRow; - - /// - /// lblRootType control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblRootType; - - /// - /// lblRootFolder control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblRootFolder; - - /// - /// plBrowse control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.UserControls.LabelControl plBrowse; - - /// - /// cmdBrowse control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlInputFile cmdBrowse; - - /// - /// cmdAdd control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdAdd; - - /// - /// foldersRow control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl foldersRow; - - /// - /// plFolder control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.UserControls.LabelControl plFolder; - - /// - /// ddlFolders control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnFolderDropDownList ddlFolders; - - /// - /// unzipRow control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl unzipRow; - - /// - /// Label1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.UI.UserControls.LabelControl Label1; - - /// - /// chkUnzip control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CheckBox chkUnzip; - - /// - /// lblMessage control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblMessage; - - /// - /// maxSizeWarningLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label maxSizeWarningLabel; - - /// - /// cmdReturn1 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdReturn1; - - /// - /// tblLogs control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl tblLogs; - - /// - /// lblLogTitle control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label lblLogTitle; - - /// - /// phPaLogs control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.PlaceHolder phPaLogs; - - /// - /// cmdReturn2 control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdReturn2; - } -} diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/dnn_Website_Deprecated.dnn b/DNN Platform/DotNetNuke.Website.Deprecated/dnn_Website_Deprecated.dnn deleted file mode 100644 index 7cb0b36eae8..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/dnn_Website_Deprecated.dnn +++ /dev/null @@ -1,31 +0,0 @@ - - - - DNN Deprecated Website Codebehind files - DNN Deprecated Website Codebehind files for backward compability. - - - DNN - .NET Foundation - https://dnncommunity.org - info@dnncommunity.org - - - - true - - 09.01.00 - - - - - - bin - DotNetNuke.Website.Deprecated.dll - - - - - - - diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/license.txt b/DNN Platform/DotNetNuke.Website.Deprecated/license.txt deleted file mode 100644 index 67ea9ae6bb8..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/license.txt +++ /dev/null @@ -1,20 +0,0 @@ -
    -

    License

    -

    - Copyright (c) .NET Foundation and Contributors
    - All Rights Reserved -

    -

    - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated - documentation files (the "Software"), to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and - to permit persons to whom the Software is furnished to do so, subject to the following conditions: -

    -

    - The above copyright notice and this permission notice shall be included in all copies or substantial portions - of the Software. -

    -

    - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

    -
    \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/packages.config b/DNN Platform/DotNetNuke.Website.Deprecated/packages.config deleted file mode 100644 index 4fca05e5f8c..00000000000 --- a/DNN Platform/DotNetNuke.Website.Deprecated/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/DNN Platform/DotNetNuke.Website.Deprecated/releaseNotes.txt b/DNN Platform/DotNetNuke.Website.Deprecated/releaseNotes.txt deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/DNN Platform/HttpModules/DotNetNuke.HttpModules.csproj b/DNN Platform/HttpModules/DotNetNuke.HttpModules.csproj index ce1237baf05..91a0fc87908 100644 --- a/DNN Platform/HttpModules/DotNetNuke.HttpModules.csproj +++ b/DNN Platform/HttpModules/DotNetNuke.HttpModules.csproj @@ -1,173 +1,174 @@ - - - - - - - true - - - - - 9.0.30729 - 2.0 - {3D9C3F5F-1D2D-4D89-995B-438055A5E3A6} - Debug - AnyCPU - DotNetNuke.HttpModules - Library - v4.7.2 - DotNetNuke.HttpModules - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - - bin\ - bin\DotNetNuke.HttpModules.XML - true - true - 4 - full - AllRules.ruleset - 1591 - 7 - DEBUG - - - bin\ - bin\DotNetNuke.HttpModules.XML - true - true - 4 - pdbonly - AllRules.ruleset - 1591 - true - 7 - - - - False - ..\DotNetNuke.Instrumentation\bin\DotNetNuke.Instrumentation.dll - - - - ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll - - - - - - - - - - - SolutionInfo.cs - - - - - - - Code - - - - - - - - - - - {6928A9B1-F88A-4581-A132-D3EB38669BB0} - DotNetNuke.Abstractions - - - {6b29aded-7b56-4484-bea5-c0e09079535b} - DotNetNuke.Library - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - stylecop.json - - - - - - - - - - - - - - - - $(MSBuildProjectDirectory)\..\.. - - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - + + + + + + + true + + + + + 9.0.30729 + 2.0 + {3D9C3F5F-1D2D-4D89-995B-438055A5E3A6} + Debug + AnyCPU + DotNetNuke.HttpModules + Library + v4.7.2 + DotNetNuke.HttpModules + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + bin\ + bin\DotNetNuke.HttpModules.XML + true + true + 4 + full + AllRules.ruleset + 1591 + 7 + DEBUG + + + bin\ + bin\DotNetNuke.HttpModules.XML + true + true + 4 + pdbonly + AllRules.ruleset + 1591 + true + 7 + + + + False + ..\DotNetNuke.Instrumentation\bin\DotNetNuke.Instrumentation.dll + + + + ..\..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll + + + + + + + + + + + SolutionInfo.cs + + + + + + + Code + + + + + + + + + + + {6928A9B1-F88A-4581-A132-D3EB38669BB0} + DotNetNuke.Abstractions + + + {6b29aded-7b56-4484-bea5-c0e09079535b} + DotNetNuke.Library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + stylecop.json + + + + + + + + + + + + + + + + + $(MSBuildProjectDirectory)\..\.. + + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/HttpModules/UrlRewrite/BasicUrlRewriter.cs b/DNN Platform/HttpModules/UrlRewrite/BasicUrlRewriter.cs index 207887af027..0e15ec8d689 100644 --- a/DNN Platform/HttpModules/UrlRewrite/BasicUrlRewriter.cs +++ b/DNN Platform/HttpModules/UrlRewrite/BasicUrlRewriter.cs @@ -291,34 +291,44 @@ internal override void RewriteUrl(object sender, EventArgs e) { // request is for a standard page strURL = string.Empty; - - // if SSL is enabled - if (portalSettings.SSLEnabled) - { - // if page is secure and connection is not secure orelse ssloffload is enabled and server value exists - if ((portalSettings.ActiveTab.IsSecure && !request.IsSecureConnection) && - (UrlUtils.IsSslOffloadEnabled(request) == false)) - { - // switch to secure connection - strURL = requestedPath.Replace("http://", "https://"); - strURL = this.FormatDomain(strURL, portalSettings.STDURL, portalSettings.SSLURL); - } - } - - // if SSL is enforced - if (portalSettings.SSLEnforced) - { - // if page is not secure and connection is secure - if (!portalSettings.ActiveTab.IsSecure && request.IsSecureConnection) - { - // check if connection has already been forced to secure orelse ssloffload is disabled - if (request.QueryString["ssl"] == null) - { - strURL = requestedPath.Replace("https://", "http://"); - strURL = this.FormatDomain(strURL, portalSettings.SSLURL, portalSettings.STDURL); - } - } - } + + switch (portalSettings.SSLSetup) + { + case Abstractions.Security.SiteSslSetup.On: + if (!request.IsSecureConnection) + { + // switch to secure connection + strURL = requestedPath.Replace("http://", "https://"); + } + + break; + case Abstractions.Security.SiteSslSetup.Advanced: + // if site is secure or else page is secure and connection is not secure orelse ssloffload is enabled and server value exists + if (portalSettings.ActiveTab.IsSecure && + !request.IsSecureConnection && + (UrlUtils.IsSslOffloadEnabled(request) == false)) + { + // switch to secure connection + strURL = requestedPath.Replace("http://", "https://"); + strURL = this.FormatDomain(strURL, portalSettings.STDURL, portalSettings.SSLURL); + } + + if (portalSettings.SSLEnforced) + { + // if page is not secure and connection is secure + if (!portalSettings.ActiveTab.IsSecure && request.IsSecureConnection) + { + // check if connection has already been forced to secure orelse ssloffload is disabled + if (request.QueryString["ssl"] == null) + { + strURL = requestedPath.Replace("https://", "http://"); + strURL = this.FormatDomain(strURL, portalSettings.SSLURL, portalSettings.STDURL); + } + } + } + + break; + } // if a protocol switch is necessary if (!string.IsNullOrEmpty(strURL)) diff --git a/DNN Platform/HttpModules/app.config b/DNN Platform/HttpModules/app.config new file mode 100644 index 00000000000..b04cb15962e --- /dev/null +++ b/DNN Platform/HttpModules/app.config @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/HttpModules/packages.config b/DNN Platform/HttpModules/packages.config index a207d534a2c..c79737534b3 100644 --- a/DNN Platform/HttpModules/packages.config +++ b/DNN Platform/HttpModules/packages.config @@ -1,8 +1,8 @@  - - - + + + \ No newline at end of file diff --git a/DNN Platform/JavaScript Libraries/Knockout/03.03.00.txt b/DNN Platform/JavaScript Libraries/Knockout/03.03.00.txt new file mode 100644 index 00000000000..a9c3612fda5 --- /dev/null +++ b/DNN Platform/JavaScript Libraries/Knockout/03.03.00.txt @@ -0,0 +1 @@ +Resources\Libraries\Knockout\03_03_00\ \ No newline at end of file diff --git a/DNN Platform/JavaScript Libraries/Knockout/Knockout.dnn b/DNN Platform/JavaScript Libraries/Knockout/Knockout.dnn index 1ff689a124a..6010c060a99 100644 --- a/DNN Platform/JavaScript Libraries/Knockout/Knockout.dnn +++ b/DNN Platform/JavaScript Libraries/Knockout/Knockout.dnn @@ -1,12 +1,12 @@ - + Knockout JavaScript Library Knockout is an MVVM library that is used for client side databinding. Icons\Sigma\Extensions_32x32_Standard.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org @@ -19,7 +19,7 @@ Knockout knockout.js ko - //cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js + //cdnjs.cloudflare.com/ajax/libs/knockout/3.5.1/knockout-latest.min.js @@ -31,6 +31,7 @@ + diff --git a/DNN Platform/JavaScript Libraries/Knockout/knockout.js b/DNN Platform/JavaScript Libraries/Knockout/knockout.js index d1af860cd27..d7520e3b54c 100644 --- a/DNN Platform/JavaScript Libraries/Knockout/knockout.js +++ b/DNN Platform/JavaScript Libraries/Knockout/knockout.js @@ -1,115 +1,139 @@ /*! - * Knockout JavaScript library v3.3.0 - * (c) Steven Sanderson - http://knockoutjs.com/ + * Knockout JavaScript library v3.5.1 + * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) */ -(function() {(function(p){var y=this||(0,eval)("this"),w=y.document,M=y.navigator,u=y.jQuery,E=y.JSON;(function(p){"function"===typeof define&&define.amd?define(["exports","require"],p):"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?p(module.exports||exports):p(y.ko={})})(function(N,O){function J(a,d){return null===a||typeof a in Q?a===d:!1}function R(a,d){var c;return function(){c||(c=setTimeout(function(){c=p;a()},d))}}function S(a,d){var c;return function(){clearTimeout(c); -c=setTimeout(a,d)}}function K(b,d,c,e){a.d[b]={init:function(b,k,h,l,g){var m,x;a.w(function(){var q=a.a.c(k()),n=!c!==!q,r=!x;if(r||d||n!==m)r&&a.Z.oa()&&(x=a.a.la(a.e.childNodes(b),!0)),n?(r||a.e.T(b,a.a.la(x)),a.Ja(e?e(g,q):g,b)):a.e.ma(b),m=n},null,{q:b});return{controlsDescendantBindings:!0}}};a.h.ka[b]=!1;a.e.R[b]=!0}var a="undefined"!==typeof N?N:{};a.b=function(b,d){for(var c=b.split("."),e=a,f=0;fa.a.m(c,b[g])&&c.push(b[g]);return c},Ka:function(a,b){a=a||[];for(var c=[],g=0,d=a.length;gd?g&&b.push(c):g||b.splice(d,1)},za:f,extend:d,Fa:c,Ga:f?c:d,A:b,pa:function(a,b){if(!a)return a;var c={},g;for(g in a)a.hasOwnProperty(g)&&(c[g]=b(a[g],g,a));return c},Ra:function(b){for(;b.firstChild;)a.removeNode(b.firstChild)},Jb:function(b){b=a.a.O(b);for(var c=(b[0]&&b[0].ownerDocument||w).createElement("div"),g=0,d=b.length;g< -d;g++)c.appendChild(a.S(b[g]));return c},la:function(b,c){for(var g=0,d=b.length,e=[];gg?a.setAttribute("selected",b):a.selected=b},ib:function(a){return null===a||a===p?"":a.trim?a.trim():a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Dc:function(a,b){a=a||"";return b.length>a.length?!1:a.substring(0,b.length)===b},jc:function(a,b){if(a===b)return!0;if(11===a.nodeType)return!1;if(b.contains)return b.contains(3===a.nodeType? -a.parentNode:a);if(b.compareDocumentPosition)return 16==(b.compareDocumentPosition(a)&16);for(;a&&a!=b;)a=a.parentNode;return!!a},Qa:function(b){return a.a.jc(b,b.ownerDocument.documentElement)},tb:function(b){return!!a.a.vb(b,a.a.Qa)},v:function(a){return a&&a.tagName&&a.tagName.toLowerCase()},n:function(b,c,d){var m=g&&l[c];if(!m&&u)u(b).bind(c,d);else if(m||"function"!=typeof b.addEventListener)if("undefined"!=typeof b.attachEvent){var e=function(a){d.call(b,a)},f="on"+c;b.attachEvent(f,e);a.a.C.fa(b, -function(){b.detachEvent(f,e)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else b.addEventListener(c,d,!1)},qa:function(b,c){if(!b||!b.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var g;"input"===a.a.v(b)&&b.type&&"click"==c.toLowerCase()?(g=b.type,g="checkbox"==g||"radio"==g):g=!1;if(u&&!g)u(b).trigger(c);else if("function"==typeof w.createEvent)if("function"==typeof b.dispatchEvent)g=w.createEvent(h[c]||"HTMLEvents"),g.initEvent(c, -!0,!0,y,0,0,0,0,0,!1,!1,!1,!1,0,b),b.dispatchEvent(g);else throw Error("The supplied element doesn't support dispatchEvent");else if(g&&b.click)b.click();else if("undefined"!=typeof b.fireEvent)b.fireEvent("on"+c);else throw Error("Browser doesn't support triggering events");},c:function(b){return a.F(b)?b():b},cb:function(b){return a.F(b)?b.B():b},Ia:function(b,c,g){var d;c&&("object"===typeof b.classList?(d=b.classList[g?"add":"remove"],a.a.o(c.match(m),function(a){d.call(b.classList,a)})):"string"=== -typeof b.className.baseVal?e(b.className,"baseVal",c,g):e(b,"className",c,g))},Ha:function(b,c){var g=a.a.c(c);if(null===g||g===p)g="";var d=a.e.firstChild(b);!d||3!=d.nodeType||a.e.nextSibling(d)?a.e.T(b,[b.ownerDocument.createTextNode(g)]):d.data=g;a.a.mc(b)},Rb:function(a,b){a.name=b;if(7>=g)try{a.mergeAttributes(w.createElement(""),!1)}catch(c){}},mc:function(a){9<=g&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},kc:function(a){if(g){var b=a.style.width; -a.style.width=0;a.style.width=b}},Bc:function(b,c){b=a.a.c(b);c=a.a.c(c);for(var g=[],d=b;d<=c;d++)g.push(d);return g},O:function(a){for(var b=[],c=0,g=a.length;c",""]||!f.indexOf("", -""]||(!f.indexOf("",""]||[0,"",""],k="ignored
    "+f[1]+b+f[2]+"
    ";for("function"==typeof c.innerShiv?e.appendChild(c.innerShiv(k)):e.innerHTML=k;f[0]--;)e=e.lastChild;c=a.a.O(e.lastChild.childNodes)}return c};a.a.gb=function(b,d){a.a.Ra(b);d=a.a.c(d);if(null!==d&&d!==p)if("string"!=typeof d&&(d=d.toString()),u)u(b).html(d);else for(var c=a.a.ca(d,b.ownerDocument),e=0;ef[0]?r+f[0]:f[0]),r);for(var r=1===v?r:Math.min(d+(f[1]||0),r),v=d+v-2,t=Math.max(r,v),G=[],A=[],p=2;dc;c++)b=b();return b})};a.toJSON=function(b,c,d){b=a.Vb(b);return a.a.jb(b,c,d)};c.prototype={save:function(b,c){var d=a.a.m(this.keys,b);0<=d?this.mb[d]=c:(this.keys.push(b),this.mb.push(c))},get:function(b){b=a.a.m(this.keys,b);return 0<=b?this.mb[b]:p}}})();a.b("toJS",a.Vb);a.b("toJSON",a.toJSON);(function(){a.i={s:function(b){switch(a.a.v(b)){case "option":return!0===b.__ko__hasDomDataOptionValue__?a.a.f.get(b,a.d.options.ab):7>=a.a.M?b.getAttributeNode("value")&&b.getAttributeNode("value").specified? -b.value:b.text:b.value;case "select":return 0<=b.selectedIndex?a.i.s(b.options[b.selectedIndex]):p;default:return b.value}},Y:function(b,d,c){switch(a.a.v(b)){case "option":switch(typeof d){case "string":a.a.f.set(b,a.d.options.ab,p);"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__;b.value=d;break;default:a.a.f.set(b,a.d.options.ab,d),b.__ko__hasDomDataOptionValue__=!0,b.value="number"===typeof d?d:""}break;case "select":if(""===d||null===d)d=p;for(var e=-1,f=0,k=b.options.length, -h;f=n){c.push(x&&h.length?{key:x, -value:h.join("")}:{unknown:x||h.join("")});x=n=0;h=[];continue}}else if(58===t){if(!n&&!x&&1===h.length){x=h.pop();continue}}else 47===t&&r&&1a.a.M&&(a.g.register=function(a){return function(b){w.createElement(b); -return a.apply(this,arguments)}}(a.g.register),w.createDocumentFragment=function(b){return function(){var d=b(),f=a.g.$b,k;for(k in f)f.hasOwnProperty(k)&&d.createElement(k);return d}}(w.createDocumentFragment))})();(function(b){function d(b,c,d){c=c.template;if(!c)throw Error("Component '"+b+"' has no template");b=a.a.la(c);a.e.T(d,b)}function c(a,b,c,d){var e=a.createViewModel;return e?e.call(a,d,{element:b,templateNodes:c}):d}var e=0;a.d.component={init:function(f,k,h,l,g){function m(){var a=x&& -x.dispose;"function"===typeof a&&a.call(x);q=null}var x,q,n=a.a.O(a.e.childNodes(f));a.a.C.fa(f,m);a.w(function(){var l=a.a.c(k()),h,t;"string"===typeof l?h=l:(h=a.a.c(l.name),t=a.a.c(l.params));if(!h)throw Error("No component name specified");var p=q=++e;a.g.get(h,function(e){if(q===p){m();if(!e)throw Error("Unknown component '"+h+"'");d(h,e,f);var l=c(e,f,n,t);e=g.createChildContext(l,b,function(a){a.$component=l;a.$componentTemplateNodes=n});x=l;a.Ja(e,f)}})},null,{q:f});return{controlsDescendantBindings:!0}}}; -a.e.R.component=!0})();var P={"class":"className","for":"htmlFor"};a.d.attr={update:function(b,d){var c=a.a.c(d())||{};a.a.A(c,function(c,d){d=a.a.c(d);var k=!1===d||null===d||d===p;k&&b.removeAttribute(c);8>=a.a.M&&c in P?(c=P[c],k?b.removeAttribute(c):b[c]=d):k||b.setAttribute(c,d.toString());"name"===c&&a.a.Rb(b,k?"":d.toString())})}};(function(){a.d.checked={after:["value","attr"],init:function(b,d,c){function e(){var e=b.checked,f=x?k():e;if(!a.Z.Ca()&&(!l||e)){var h=a.k.u(d);g?m!==f?(e&&(a.a.ga(h, -f,!0),a.a.ga(h,m,!1)),m=f):a.a.ga(h,f,e):a.h.ra(h,c,"checked",f,!0)}}function f(){var c=a.a.c(d());b.checked=g?0<=a.a.m(c,k()):h?c:k()===c}var k=a.Nb(function(){return c.has("checkedValue")?a.a.c(c.get("checkedValue")):c.has("value")?a.a.c(c.get("value")):b.value}),h="checkbox"==b.type,l="radio"==b.type;if(h||l){var g=h&&a.a.c(d())instanceof Array,m=g?k():p,x=l||g;l&&!b.name&&a.d.uniqueName.init(b,function(){return!0});a.w(e,null,{q:b});a.a.n(b,"click",e);a.w(f,null,{q:b})}}};a.h.V.checked=!0;a.d.checkedValue= -{update:function(b,d){b.value=a.a.c(d())}}})();a.d.css={update:function(b,d){var c=a.a.c(d());null!==c&&"object"==typeof c?a.a.A(c,function(c,d){d=a.a.c(d);a.a.Ia(b,c,d)}):(c=String(c||""),a.a.Ia(b,b.__ko__cssValue,!1),b.__ko__cssValue=c,a.a.Ia(b,c,!0))}};a.d.enable={update:function(b,d){var c=a.a.c(d());c&&b.disabled?b.removeAttribute("disabled"):c||b.disabled||(b.disabled=!0)}};a.d.disable={update:function(b,d){a.d.enable.update(b,function(){return!a.a.c(d())})}};a.d.event={init:function(b,d,c, -e,f){var k=d()||{};a.a.A(k,function(h){"string"==typeof h&&a.a.n(b,h,function(b){var g,m=d()[h];if(m){try{var k=a.a.O(arguments);e=f.$data;k.unshift(e);g=m.apply(e,k)}finally{!0!==g&&(b.preventDefault?b.preventDefault():b.returnValue=!1)}!1===c.get(h+"Bubble")&&(b.cancelBubble=!0,b.stopPropagation&&b.stopPropagation())}})})}};a.d.foreach={Ib:function(b){return function(){var d=b(),c=a.a.cb(d);if(!c||"number"==typeof c.length)return{foreach:d,templateEngine:a.P.Va};a.a.c(d);return{foreach:c.data,as:c.as, -includeDestroyed:c.includeDestroyed,afterAdd:c.afterAdd,beforeRemove:c.beforeRemove,afterRender:c.afterRender,beforeMove:c.beforeMove,afterMove:c.afterMove,templateEngine:a.P.Va}}},init:function(b,d){return a.d.template.init(b,a.d.foreach.Ib(d))},update:function(b,d,c,e,f){return a.d.template.update(b,a.d.foreach.Ib(d),c,e,f)}};a.h.ka.foreach=!1;a.e.R.foreach=!0;a.d.hasfocus={init:function(b,d,c){function e(e){b.__ko_hasfocusUpdating=!0;var f=b.ownerDocument;if("activeElement"in f){var g;try{g=f.activeElement}catch(m){g= -f.body}e=g===b}f=d();a.h.ra(f,c,"hasfocus",e,!0);b.__ko_hasfocusLastValue=e;b.__ko_hasfocusUpdating=!1}var f=e.bind(null,!0),k=e.bind(null,!1);a.a.n(b,"focus",f);a.a.n(b,"focusin",f);a.a.n(b,"blur",k);a.a.n(b,"focusout",k)},update:function(b,d){var c=!!a.a.c(d());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===c||(c?b.focus():b.blur(),a.k.u(a.a.qa,null,[b,c?"focusin":"focusout"]))}};a.h.V.hasfocus=!0;a.d.hasFocus=a.d.hasfocus;a.h.V.hasFocus=!0;a.d.html={init:function(){return{controlsDescendantBindings:!0}}, -update:function(b,d){a.a.gb(b,d())}};K("if");K("ifnot",!1,!0);K("with",!0,!1,function(a,d){return a.createChildContext(d)});var L={};a.d.options={init:function(b){if("select"!==a.a.v(b))throw Error("options binding applies only to SELECT elements");for(;0a.a.M)var k=a.a.f.I(),h=a.a.f.I(),l=function(b){var c=this.activeElement;(c=c&&a.a.f.get(c,h))&&c(b)},g=function(b,c){var d=b.ownerDocument;a.a.f.get(d,k)||(a.a.f.set(d,k,!0),a.a.n(d,"selectionchange",l));a.a.f.set(b,h,c)};a.d.textInput={init:function(b,c,l){function h(c,d){a.a.n(b,c,d)}function k(){var d=a.a.c(c());if(null===d||d===p)d="";w!==p&&d===w?setTimeout(k,4):b.value!==d&&(u=d,b.value=d)}function v(){A|| -(w=b.value,A=setTimeout(t,4))}function t(){clearTimeout(A);w=A=p;var d=b.value;u!==d&&(u=d,a.h.ra(c(),l,"textInput",d))}var u=b.value,A,w;10>a.a.M?(h("propertychange",function(a){"value"===a.propertyName&&t()}),8==a.a.M&&(h("keyup",t),h("keydown",t)),8<=a.a.M&&(g(b,t),h("dragend",v))):(h("input",t),5>e&&"textarea"===a.a.v(b)?(h("keydown",v),h("paste",v),h("cut",v)):11>d?h("keydown",v):4>f&&(h("DOMAutoComplete",t),h("dragdrop",t),h("drop",t)));h("change",t);a.w(k,null,{q:b})}};a.h.V.textInput=!0;a.d.textinput= -{preprocess:function(a,b,c){c("textInput",a)}}})();a.d.uniqueName={init:function(b,d){if(d()){var c="ko_unique_"+ ++a.d.uniqueName.fc;a.a.Rb(b,c)}}};a.d.uniqueName.fc=0;a.d.value={after:["options","foreach"],init:function(b,d,c){if("input"!=b.tagName.toLowerCase()||"checkbox"!=b.type&&"radio"!=b.type){var e=["change"],f=c.get("valueUpdate"),k=!1,h=null;f&&("string"==typeof f&&(f=[f]),a.a.ia(e,f),e=a.a.wb(e));var l=function(){h=null;k=!1;var e=d(),g=a.i.s(b);a.h.ra(e,c,"value",g)};!a.a.M||"input"!= -b.tagName.toLowerCase()||"text"!=b.type||"off"==b.autocomplete||b.form&&"off"==b.form.autocomplete||-1!=a.a.m(e,"propertychange")||(a.a.n(b,"propertychange",function(){k=!0}),a.a.n(b,"focus",function(){k=!1}),a.a.n(b,"blur",function(){k&&l()}));a.a.o(e,function(c){var d=l;a.a.Dc(c,"after")&&(d=function(){h=a.i.s(b);setTimeout(l,0)},c=c.substring(5));a.a.n(b,c,d)});var g=function(){var e=a.a.c(d()),f=a.i.s(b);if(null!==h&&e===h)setTimeout(g,0);else if(e!==f)if("select"===a.a.v(b)){var l=c.get("valueAllowUnset"), -f=function(){a.i.Y(b,e,l)};f();l||e===a.i.s(b)?setTimeout(f,0):a.k.u(a.a.qa,null,[b,"change"])}else a.i.Y(b,e)};a.w(g,null,{q:b})}else a.va(b,{checkedValue:d})},update:function(){}};a.h.V.value=!0;a.d.visible={update:function(b,d){var c=a.a.c(d()),e="none"!=b.style.display;c&&!e?b.style.display="":!c&&e&&(b.style.display="none")}};(function(b){a.d[b]={init:function(d,c,e,f,k){return a.d.event.init.call(this,d,function(){var a={};a[b]=c();return a},e,f,k)}}})("click");a.J=function(){};a.J.prototype.renderTemplateSource= -function(){throw Error("Override renderTemplateSource");};a.J.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock");};a.J.prototype.makeTemplateSource=function(b,d){if("string"==typeof b){d=d||w;var c=d.getElementById(b);if(!c)throw Error("Cannot find template with ID "+b);return new a.t.l(c)}if(1==b.nodeType||8==b.nodeType)return new a.t.ha(b);throw Error("Unknown template type: "+b);};a.J.prototype.renderTemplate=function(a,d,c,e){a=this.makeTemplateSource(a, -e);return this.renderTemplateSource(a,d,c,e)};a.J.prototype.isTemplateRewritten=function(a,d){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(a,d).data("isRewritten")};a.J.prototype.rewriteTemplate=function(a,d,c){a=this.makeTemplateSource(a,c);d=d(a.text());a.text(d);a.data("isRewritten",!0)};a.b("templateEngine",a.J);a.kb=function(){function b(b,c,d,h){b=a.h.bb(b);for(var l=a.h.ka,g=0;g]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,c=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{lc:function(b, -c,d){c.isTemplateRewritten(b,d)||c.rewriteTemplate(b,function(b){return a.kb.xc(b,c)},d)},xc:function(a,f){return a.replace(d,function(a,c,d,e,m){return b(m,c,d,f)}).replace(c,function(a,c){return b(c,"\x3c!-- ko --\x3e","#comment",f)})},dc:function(b,c){return a.H.$a(function(d,h){var l=d.nextSibling;l&&l.nodeName.toLowerCase()===c&&a.va(l,b,h)})}}}();a.b("__tr_ambtns",a.kb.dc);(function(){a.t={};a.t.l=function(a){this.l=a};a.t.l.prototype.text=function(){var b=a.a.v(this.l),b="script"===b?"text": -"textarea"===b?"value":"innerHTML";if(0==arguments.length)return this.l[b];var d=arguments[0];"innerHTML"===b?a.a.gb(this.l,d):this.l[b]=d};var b=a.a.f.I()+"_";a.t.l.prototype.data=function(c){if(1===arguments.length)return a.a.f.get(this.l,b+c);a.a.f.set(this.l,b+c,arguments[1])};var d=a.a.f.I();a.t.ha=function(a){this.l=a};a.t.ha.prototype=new a.t.l;a.t.ha.prototype.text=function(){if(0==arguments.length){var b=a.a.f.get(this.l,d)||{};b.lb===p&&b.Na&&(b.lb=b.Na.innerHTML);return b.lb}a.a.f.set(this.l, -d,{lb:arguments[0]})};a.t.l.prototype.nodes=function(){if(0==arguments.length)return(a.a.f.get(this.l,d)||{}).Na;a.a.f.set(this.l,d,{Na:arguments[0]})};a.b("templateSources",a.t);a.b("templateSources.domElement",a.t.l);a.b("templateSources.anonymousTemplate",a.t.ha)})();(function(){function b(b,c,d){var e;for(c=a.e.nextSibling(c);b&&(e=b)!==c;)b=a.e.nextSibling(e),d(e,b)}function d(c,d){if(c.length){var e=c[0],f=c[c.length-1],h=e.parentNode,k=a.L.instance,r=k.preprocessNode;if(r){b(e,f,function(a, -b){var c=a.previousSibling,d=r.call(k,a);d&&(a===e&&(e=d[0]||b),a===f&&(f=d[d.length-1]||c))});c.length=0;if(!e)return;e===f?c.push(e):(c.push(e,f),a.a.na(c,h))}b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.ub(d,b)});b(e,f,function(b){1!==b.nodeType&&8!==b.nodeType||a.H.Xb(b,[d])});a.a.na(c,h)}}function c(a){return a.nodeType?a:0a.a.M?0:b.nodes)?b.nodes():null)return a.a.O(d.cloneNode(!0).childNodes);b=b.text();return a.a.ca(b,e)};a.P.Va=new a.P;a.hb(a.P.Va);a.b("nativeTemplateEngine",a.P);(function(){a.Ya=function(){var a=this.uc=function(){if(!u||!u.tmpl)return 0;try{if(0<=u.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(a){}return 1}();this.renderTemplateSource=function(b, -e,f,k){k=k||w;f=f||{};if(2>a)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var h=b.data("precompiled");h||(h=b.text()||"",h=u.template(null,"{{ko_with $item.koBindingContext}}"+h+"{{/ko_with}}"),b.data("precompiled",h));b=[e.$data];e=u.extend({koBindingContext:e},f.templateOptions);e=u.tmpl(h,b,e);e.appendTo(k.createElement("div"));u.fragments={};return e};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+ -a+" })()) }}"};this.addTemplate=function(a,b){w.write(" \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.cs b/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.cs deleted file mode 100644 index 6ebe96a1878..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.cs +++ /dev/null @@ -1,240 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Threading; - using System.Web.UI; - using System.Web.UI.HtmlControls; - - using DotNetNuke.Entities.Modules; - using DotNetNuke.ExtensionPoints; - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - using DotNetNuke.Modules.DigitalAssets.Components.ExtensionPoint; - using DotNetNuke.Modules.DigitalAssets.Services; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.UI.Skins.Controls; - using DotNetNuke.Web.UI; - - public partial class FileProperties : PortalModuleBase - { - private readonly IDigitalAssetsController controller = new Factory().DigitalAssetsController; - - private IFileInfo file; - private IFolderInfo folder; - private ItemViewModel fileItem; - private Control previewPanelControl; - private Control fileFieldsControl; - private IEnumerable tabContentControls; - - protected string DialogTitle - { - get - { - return this.fileItem.ItemName; - } - } - - protected bool CanManageFolder - { - get - { - return this.UserInfo.IsSuperUser || FolderPermissionController.CanManageFolder((FolderInfo)this.folder); - } - } - - protected string ActiveTab - { - get - { - var activeTab = this.Request.QueryString["activeTab"]; - return string.IsNullOrEmpty(activeTab) ? string.Empty : System.Text.RegularExpressions.Regex.Replace(activeTab, "[^\\w]", string.Empty); - } - } - - protected override void OnInit(EventArgs e) - { - try - { - base.OnInit(e); - - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - - var fileId = Convert.ToInt32(this.Request.Params["FileId"]); - this.file = FileManager.Instance.GetFile(fileId, true); - this.fileItem = this.controller.GetFile(fileId); - this.folder = FolderManager.Instance.GetFolder(this.file.FolderId); - - this.SaveButton.Click += this.OnSaveClick; - this.CancelButton.Click += this.OnCancelClick; - - if (FolderPermissionController.CanViewFolder((FolderInfo)this.folder)) - { - var mef = new ExtensionPointManager(); - var preViewPanelExtension = mef.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "PreviewInfoPanelExtensionPoint"); - this.previewPanelControl = this.Page.LoadControl(preViewPanelExtension.UserControlSrc); - this.PreviewPanelContainer.Controls.Add(this.previewPanelControl); - - var fileFieldsExtension = mef.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "FileFieldsControlExtensionPoint"); - this.fileFieldsControl = this.Page.LoadControl(fileFieldsExtension.UserControlSrc); - this.fileFieldsControl.ID = this.fileFieldsControl.GetType().BaseType.Name; - this.FileFieldsContainer.Controls.Add(this.fileFieldsControl); - - this.PrepareFilePreviewInfoControl(); - this.PrepareFileFieldsControl(); - - // Tab Extension Point - var tabContentControlsInstances = new List(); - foreach (var extension in mef.GetEditPageTabExtensionPoints("DigitalAssets", "FilePropertiesTab")) - { - if (FolderPermissionController.HasFolderPermission(this.folder.FolderPermissions, extension.Permission)) - { - var liElement = new HtmlGenericControl("li") { InnerHtml = "" + extension.Text + "", }; - liElement.Attributes.Add("class", extension.CssClass); - liElement.Attributes.Add("id", extension.EditPageTabId + "_tab"); - this.Tabs.Controls.Add(liElement); - - var container = new PanelTabExtensionControl { PanelId = extension.EditPageTabId }; - var control = (PortalModuleBase)this.Page.LoadControl(extension.UserControlSrc); - control.ID = Path.GetFileNameWithoutExtension(extension.UserControlSrc); - control.ModuleConfiguration = this.ModuleConfiguration; - var contentControl = control as PropertiesTabContentControl; - if (contentControl != null) - { - contentControl.OnItemUpdated += this.OnItemUpdated; - tabContentControlsInstances.Add(contentControl); - } - - container.Controls.Add(control); - this.TabsPanel.Controls.Add(container); - } - } - - this.tabContentControls = tabContentControlsInstances.ToList(); - } - } - catch (Exception ex) - { - Exceptions.ProcessModuleLoadException(this, ex); - } - } - - protected override void OnLoad(EventArgs e) - { - try - { - if (!this.Page.IsPostBack) - { - this.SetPropertiesAvailability(this.CanManageFolder); - } - - if (!FolderPermissionController.CanViewFolder((FolderInfo)this.folder)) - { - this.SaveButton.Visible = false; - this.SetPropertiesVisibility(false); - UI.Skins.Skin.AddModuleMessage(this, this.LocalizeString("UserCannotReadFileError"), ModuleMessage.ModuleMessageType.RedError); - } - else - { - this.SetFilePreviewInfo(); - this.SaveButton.Visible = FolderPermissionController.CanViewFolder((FolderInfo)this.folder) && FolderPermissionController.CanManageFolder((FolderInfo)this.folder); - } - } - catch (DotNetNukeException dnnex) - { - UI.Skins.Skin.AddModuleMessage(this, dnnex.Message, ModuleMessage.ModuleMessageType.RedError); - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - private void OnItemUpdated() - { - this.SetFilePreviewInfo(); - foreach (var propertiesTabContentControl in this.tabContentControls) - { - propertiesTabContentControl.DataBindItem(); - } - } - - private void OnSaveClick(object sender, EventArgs e) - { - if (!this.Page.IsValid) - { - return; - } - - try - { - this.SaveFileProperties(); - this.Page.CloseClientDialog(true); - } - catch (ThreadAbortException) - { - } - catch (DotNetNukeException dnnex) - { - UI.Skins.Skin.AddModuleMessage(this, dnnex.Message, ModuleMessage.ModuleMessageType.RedError); - } - catch (Exception ex) - { - Exceptions.LogException(ex); - UI.Skins.Skin.AddModuleMessage(this, ex.Message, ModuleMessage.ModuleMessageType.RedError); - } - } - - private void OnCancelClick(object sender, EventArgs e) - { - this.Page.CloseClientDialog(false); - } - - private void SaveFileProperties() - { - this.file = (IFileInfo)((FileFieldsControl)this.fileFieldsControl).SaveProperties(); - } - - private void SetPropertiesVisibility(bool visibility) - { - ((FileFieldsControl)this.fileFieldsControl).SetPropertiesVisibility(visibility); - } - - private void SetPropertiesAvailability(bool availability) - { - ((FileFieldsControl)this.fileFieldsControl).SetPropertiesAvailability(availability); - } - - private void SetFilePreviewInfo() - { - var previewPanelInstance = (PreviewPanelControl)this.previewPanelControl; - previewPanelInstance.SetPreviewInfo(this.controller.GetFilePreviewInfo(this.file, this.fileItem)); - } - - private void PrepareFilePreviewInfoControl() - { - var previewPanelInstance = (PreviewPanelControl)this.previewPanelControl; - previewPanelInstance.SetController(this.controller); - previewPanelInstance.SetModuleConfiguration(this.ModuleConfiguration); - } - - private void PrepareFileFieldsControl() - { - var fileFieldsIntance = (FileFieldsControl)this.fileFieldsControl; - fileFieldsIntance.SetController(this.controller); - fileFieldsIntance.SetItemViewModel(this.fileItem); - fileFieldsIntance.SetFileInfo(this.file); - fileFieldsIntance.SetModuleConfiguration(this.ModuleConfiguration); - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.designer.cs deleted file mode 100644 index 1df2ee03d25..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FileProperties.ascx.designer.cs +++ /dev/null @@ -1,100 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class FileProperties { - - /// - /// ScopeWrapper control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ScopeWrapper; - - /// - /// FolderContentPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel FolderContentPanel; - - /// - /// Tabs control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl Tabs; - - /// - /// GeneralTabLink control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink GeneralTabLink; - - /// - /// TabsPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel TabsPanel; - - /// - /// PreviewPanelContainer control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel PreviewPanelContainer; - - /// - /// FileFieldsContainer control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel FileFieldsContainer; - - /// - /// SaveButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton SaveButton; - - /// - /// CancelButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton CancelButton; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx b/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx deleted file mode 100644 index 747119151f4..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx +++ /dev/null @@ -1,28 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FolderMappings.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.FolderMappings" %> -<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.UI.WebControls" Assembly="DotNetNuke" %> -<%@ Register TagPrefix="dnn" Assembly="DotNetNuke.Web.Deprecated" Namespace="DotNetNuke.Web.UI.WebControls" %> -<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> -
    -
    -
    -

    - - - - - - - - - - - - - - -
    -
      -
    • -
    • -
    -
    \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.cs b/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.cs deleted file mode 100644 index 1c07286c59e..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.cs +++ /dev/null @@ -1,188 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Collections.Generic; - - using DotNetNuke.Abstractions; - using DotNetNuke.Application; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Services.Localization; - using DotNetNuke.UI.Utilities; - using DotNetNuke.UI.WebControls; - using Microsoft.Extensions.DependencyInjection; - using Telerik.Web.UI; - - using Globals = DotNetNuke.Common.Globals; - - public partial class FolderMappings : PortalModuleBase - { - private readonly INavigationManager _navigationManager; - - private readonly IFolderMappingController _folderMappingController = FolderMappingController.Instance; - - public FolderMappings() - { - this._navigationManager = this.DependencyProvider.GetRequiredService(); - } - - public int FolderPortalID - { - get - { - return this.IsHostMenu ? Null.NullInteger : this.PortalId; - } - } - - protected List FolderMappingsList - { - get - { - try - { - var obj = this.Session["FolderMappingsList"]; - if (obj == null) - { - obj = this._folderMappingController.GetFolderMappings(this.FolderPortalID); - if (obj != null) - { - this.Session["FolderMappingsList"] = obj; - } - else - { - obj = new List(); - } - } - - return (List)obj; - } - catch - { - this.Session["FolderMappingsList"] = null; - } - - return new List(); - } - - set { this.Session["FolderMappingsList"] = value; } - } - - protected override void OnInit(EventArgs e) - { - base.OnInit(e); - - if (!this.UserInfo.IsSuperUser && !this.UserInfo.IsInRole(this.PortalSettings.AdministratorRoleName)) - { - this.Response.Redirect(Globals.AccessDeniedURL(), true); - } - } - - protected override void OnLoad(EventArgs e) - { - base.OnLoad(e); - JavaScript.RegisterClientReference(this.Page, ClientAPI.ClientNamespaceReferences.dnn); - this.CancelButton.NavigateUrl = this._navigationManager.NavigateURL(); - this.NewMappingButton.Click += this.OnNewMappingClick; - - if (!this.IsPostBack) - { - this.Session["FolderMappingsList"] = null; - - if (this.ModuleConfiguration.ModuleControl.SupportsPopUps) - { - this.MappingsGrid.Rebind(); - } - } - } - - protected void MappingsGrid_OnItemCommand(object source, GridCommandEventArgs e) - { - if (e.CommandName == "Edit") - { - this.Response.Redirect(this._navigationManager.NavigateURL(this.TabId, "EditFolderMapping", "mid=" + this.ModuleId, "popUp=true", "ItemID=" + e.CommandArgument.ToString())); - } - else - { - var folderMappingsList = this.FolderMappingsList; - var folderMapping = folderMappingsList.Find(f => f.FolderMappingID == int.Parse(e.CommandArgument.ToString())); - - switch (e.CommandName) - { - case "Delete": - this._folderMappingController.DeleteFolderMapping(folderMapping.PortalID, folderMapping.FolderMappingID); - folderMappingsList.Remove(folderMapping); - break; - default: - break; - } - - this.FolderMappingsList = folderMappingsList; - this.MappingsGrid.Rebind(); - } - } - - protected void MappingsGrid_OnItemDataBound(object sender, GridItemEventArgs e) - { - if (e.Item.ItemType != GridItemType.Item && e.Item.ItemType != GridItemType.AlternatingItem) - { - return; - } - - var folderMapping = e.Item.DataItem as FolderMappingInfo; - if (folderMapping == null || !folderMapping.IsEditable) - { - return; - } - - var cmdEditMapping = e.Item.FindControl("EditMappingButton") as CommandButton; - if (cmdEditMapping != null) - { - cmdEditMapping.ToolTip = Localization.GetString("cmdEdit"); - } - - var cmdDeleteMapping = e.Item.FindControl("DeleteMappingButton") as CommandButton; - if (cmdDeleteMapping == null) - { - return; - } - - cmdDeleteMapping.ToolTip = Localization.GetString("cmdDelete"); - - var deleteMessage = string.Format(Localization.GetString("DeleteConfirm", this.LocalResourceFile), folderMapping.MappingName); - cmdDeleteMapping.OnClientClick = "return confirm(\"" + ClientAPI.GetSafeJSString(deleteMessage) + "\");"; - } - - protected void MappingsGrid_OnNeedDataSource(object source, GridNeedDataSourceEventArgs e) - { - this.MappingsGrid.DataSource = this.FolderMappingsList; - } - - protected void OnNewMappingClick(object sender, EventArgs e) - { - try - { - this.Response.Redirect(this._navigationManager.NavigateURL(this.TabId, "EditFolderMapping", "mid=" + this.ModuleId, "popUp=true")); - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - private void UpdateFolderMappings(IList folderMappingsList) - { - for (var i = 3; i < folderMappingsList.Count; i++) - { - folderMappingsList[i].Priority = i + 1; - this._folderMappingController.UpdateFolderMapping(folderMappingsList[i]); - } - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.designer.cs deleted file mode 100644 index fd9f853401c..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderMappings.ascx.designer.cs +++ /dev/null @@ -1,64 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class FolderMappings { - - /// - /// DescriptionLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label DescriptionLabel; - - /// - /// TableHeaderLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label TableHeaderLabel; - - /// - /// MappingsGrid control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnGrid MappingsGrid; - - /// - /// NewMappingButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton NewMappingButton; - - /// - /// CancelButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.HyperLink CancelButton; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx b/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx deleted file mode 100644 index cfa48bd726c..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx +++ /dev/null @@ -1,136 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FolderProperties.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.FolderProperties" %> -<%@ Import Namespace="DotNetNuke.Services.Localization" %> -<%@ Import Namespace="DotNetNuke.UI.Utilities" %> -<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Security.Permissions.Controls" Assembly="DotNetNuke" %> -<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web" %> -<%@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/LabelControl.ascx" %> -<%@ Register TagPrefix="dam" tagName="PreviewPanelControl" src="~/DesktopModules/DigitalAssets/PreviewPanelControl.ascx"%> - - - - -
    -
    -
    - -
    -
    -
    - - - - -
    -
    - - -
    - -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
      -
    • -
    • -
    • -
    • -
    -
    -
    - diff --git a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.cs b/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.cs deleted file mode 100644 index 4ef5dbd1e72..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.cs +++ /dev/null @@ -1,296 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Text.RegularExpressions; - using System.Threading; - using System.Web.UI; - - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Modules; - using DotNetNuke.ExtensionPoints; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - using DotNetNuke.Modules.DigitalAssets.Components.ExtensionPoint; - using DotNetNuke.Modules.DigitalAssets.Services; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.UI.Skins.Controls; - using DotNetNuke.Web.UI; - - public partial class FolderProperties : PortalModuleBase - { - private static readonly DigitalAssetsSettingsRepository SettingsRepository = new DigitalAssetsSettingsRepository(); - - private readonly IDigitalAssetsController controller = new Factory().DigitalAssetsController; - private FolderViewModel folderViewModel; - private bool isRootFolder; - private Control folderFieldsControl; - - protected bool CanManageFolder - { - get - { - return this.UserInfo.IsSuperUser || FolderPermissionController.CanManageFolder((FolderInfo)this.Folder); - } - } - - protected string DialogTitle - { - get - { - return string.Format(this.LocalizeString("DialogTitle"), this.folderViewModel.FolderName); - } - } - - protected bool IsHostPortal - { - get - { - return this.IsHostMenu || this.controller.GetCurrentPortalId(this.ModuleId) == Null.NullInteger; - } - } - - protected IFolderInfo Folder { get; private set; } - - protected bool HasFullControl { get; private set; } - - protected override void OnInit(EventArgs e) - { - try - { - base.OnInit(e); - - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - - var folderId = Convert.ToInt32(this.Request.Params["FolderId"]); - this.Folder = FolderManager.Instance.GetFolder(folderId); - this.HasFullControl = this.UserInfo.IsSuperUser || FolderPermissionController.HasFolderPermission(this.Folder.FolderPermissions, "FULLCONTROL"); - - FolderViewModel rootFolder; - switch (SettingsRepository.GetMode(this.ModuleId)) - { - case DigitalAssestsMode.Group: - var groupId = Convert.ToInt32(this.Request.Params["GroupId"]); - rootFolder = this.controller.GetGroupFolder(groupId, this.PortalSettings); - if (rootFolder == null) - { - throw new Exception("Invalid group folder"); - } - - break; - - case DigitalAssestsMode.User: - rootFolder = this.controller.GetUserFolder(this.PortalSettings.UserInfo); - break; - - default: - rootFolder = this.controller.GetRootFolder(this.ModuleId); - break; - } - - this.isRootFolder = rootFolder.FolderID == folderId; - this.folderViewModel = this.isRootFolder ? rootFolder : this.controller.GetFolder(folderId); - - // Setup controls - this.CancelButton.Click += this.OnCancelClick; - this.SaveButton.Click += this.OnSaveClick; - this.PrepareFolderPreviewInfo(); - this.cmdCopyPerm.Click += this.cmdCopyPerm_Click; - - var mef = new ExtensionPointManager(); - var folderFieldsExtension = mef.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "FolderFieldsControlExtensionPoint"); - if (folderFieldsExtension != null) - { - this.folderFieldsControl = this.Page.LoadControl(folderFieldsExtension.UserControlSrc); - this.folderFieldsControl.ID = this.folderFieldsControl.GetType().BaseType.Name; - this.FolderDynamicFieldsContainer.Controls.Add(this.folderFieldsControl); - var fieldsControl = this.folderFieldsControl as IFieldsControl; - if (fieldsControl != null) - { - fieldsControl.SetController(this.controller); - fieldsControl.SetItemViewModel(new ItemViewModel - { - ItemID = this.folderViewModel.FolderID, - IsFolder = true, - PortalID = this.folderViewModel.PortalID, - ItemName = this.folderViewModel.FolderName, - }); - } - } - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected override void OnLoad(EventArgs e) - { - try - { - if (!this.Page.IsPostBack) - { - this.SetupPermissionGrid(); - this.PrepareFolderProperties(); - this.SetPropertiesAvailability(FolderPermissionController.CanManageFolder((FolderInfo)this.Folder)); - } - - if (!FolderPermissionController.CanViewFolder((FolderInfo)this.Folder)) - { - this.SaveButton.Visible = false; - this.SetPropertiesVisibility(false); - UI.Skins.Skin.AddModuleMessage(this, this.LocalizeString("UserCannotReadFolderError"), ModuleMessage.ModuleMessageType.RedError); - } - else - { - this.SaveButton.Visible = FolderPermissionController.CanViewFolder((FolderInfo)this.Folder) && FolderPermissionController.CanManageFolder((FolderInfo)this.Folder); - } - } - catch (DotNetNukeException dnnex) - { - UI.Skins.Skin.AddModuleMessage(this, dnnex.Message, ModuleMessage.ModuleMessageType.RedError); - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - private void OnSaveClick(object sender, EventArgs e) - { - try - { - if (!this.Page.IsValid) - { - return; - } - - this.SaveFolderProperties(); - - this.SavePermissions(); - this.Page.CloseClientDialog(true); - } - catch (ThreadAbortException) - { - } - catch (DotNetNukeException dnnex) - { - UI.Skins.Skin.AddModuleMessage(this, dnnex.Message, ModuleMessage.ModuleMessageType.RedError); - } - catch (Exception ex) - { - Exceptions.LogException(ex); - UI.Skins.Skin.AddModuleMessage(this, ex.Message, ModuleMessage.ModuleMessageType.RedError); - } - } - - private void SaveFolderProperties() - { - if (!this.CanManageFolder) - { - throw new DotNetNukeException(this.LocalizeString("UserCannotEditFolderError")); - } - - if (!this.isRootFolder) - { - this.controller.RenameFolder(this.folderViewModel.FolderID, this.FolderNameInput.Text); - } - - var fieldsControl = this.folderFieldsControl as IFieldsControl; - if (fieldsControl != null) - { - this.Folder = (IFolderInfo)fieldsControl.SaveProperties(); - } - } - - private void SavePermissions() - { - if (!this.CanManageFolder) - { - throw new DotNetNukeException(this.LocalizeString("UserCannotChangePermissionsError")); - } - - this.Folder = FolderManager.Instance.GetFolder(this.Folder.FolderID); - this.Folder.FolderPermissions.Clear(); - this.Folder.FolderPermissions.AddRange(this.PermissionsGrid.Permissions); - FolderPermissionController.SaveFolderPermissions(this.Folder); - } - - private void OnCancelClick(object sender, EventArgs e) - { - this.Page.CloseClientDialog(false); - } - - private void cmdCopyPerm_Click(object sender, EventArgs e) - { - try - { - FolderPermissionController.CopyPermissionsToSubfolders(this.Folder, this.PermissionsGrid.Permissions); - UI.Skins.Skin.AddModuleMessage(this, this.LocalizeString("PermissionsCopied"), ModuleMessage.ModuleMessageType.GreenSuccess); - } - catch (Exception ex) - { - UI.Skins.Skin.AddModuleMessage(this, this.LocalizeString("PermissionCopyError"), ModuleMessage.ModuleMessageType.RedError); - Exceptions.ProcessModuleLoadException(this, ex); - } - } - - private void SetPropertiesAvailability(bool availability) - { - this.FolderNameInput.Enabled = (!this.isRootFolder) && availability; - var fieldsControl = this.folderFieldsControl as IFieldsControl; - if (fieldsControl != null) - { - fieldsControl.SetPropertiesAvailability(availability); - } - } - - private void SetPropertiesVisibility(bool visibility) - { - this.FolderNameInput.Visible = visibility; - this.FolderTypeLiteral.Visible = visibility; - this.FolderInfoPreviewPanel.Visible = visibility; - var fieldsControl = this.folderFieldsControl as IFieldsControl; - if (fieldsControl != null) - { - fieldsControl.SetPropertiesVisibility(visibility); - } - } - - private void PrepareFolderProperties() - { - this.FolderNameInput.Text = this.folderViewModel.FolderName; - this.FolderTypeLiteral.Text = FolderMappingController.Instance.GetFolderMapping(this.folderViewModel.FolderMappingID).MappingName; - - this.FolderNameInvalidCharactersValidator.ValidationExpression = "^([^" + Regex.Escape(this.controller.GetInvalidChars()) + "]+)$"; - this.FolderNameInvalidCharactersValidator.ErrorMessage = this.controller.GetInvalidCharsErrorText(); - - var fieldsControl = this.folderFieldsControl as IFieldsControl; - if (fieldsControl != null) - { - fieldsControl.PrepareProperties(); - } - } - - private void PrepareFolderPreviewInfo() - { - var folderPreviewPanel = (PreviewPanelControl)this.FolderInfoPreviewPanel; - if (folderPreviewPanel != null) - { - folderPreviewPanel.SetPreviewInfo(this.controller.GetFolderPreviewInfo(this.Folder)); - } - } - - private void SetupPermissionGrid() - { - this.PermissionsGrid.FolderPath = this.Folder.FolderPath; - this.PermissionsGrid.Visible = this.HasFullControl && !this.IsHostPortal; - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.designer.cs deleted file mode 100644 index 2493f29e033..00000000000 --- a/DNN Platform/Modules/DigitalAssets/FolderProperties.ascx.designer.cs +++ /dev/null @@ -1,163 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class FolderProperties { - - /// - /// ScopeWrapper control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ScopeWrapper; - - /// - /// FolderContentPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel FolderContentPanel; - - /// - /// FolderInfoPreviewPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FolderInfoPreviewPanel; - - /// - /// FolderNameLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FolderNameLabel; - - /// - /// FolderNameInput control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox FolderNameInput; - - /// - /// FolderNameValidator control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator FolderNameValidator; - - /// - /// FolderNameInvalidCharactersValidator control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator FolderNameInvalidCharactersValidator; - - /// - /// FolderTypeLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FolderTypeLabel; - - /// - /// FolderTypeLiteral control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Label FolderTypeLiteral; - - /// - /// FolderDynamicFieldsContainer control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel FolderDynamicFieldsContainer; - - /// - /// PermissionsGrid control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Security.Permissions.Controls.FolderPermissionsGrid PermissionsGrid; - - /// - /// copyPermissionRow control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl copyPermissionRow; - - /// - /// lblCopyPerm control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl lblCopyPerm; - - /// - /// cmdCopyPerm control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton cmdCopyPerm; - - /// - /// SaveButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton SaveButton; - - /// - /// CancelButton control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.LinkButton CancelButton; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Images/Files_32x32_Standard.png b/DNN Platform/Modules/DigitalAssets/Images/Files_32x32_Standard.png deleted file mode 100644 index 073d3b85f08..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/Files_32x32_Standard.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/Search.png b/DNN Platform/Modules/DigitalAssets/Images/Search.png deleted file mode 100644 index f9c8dd7168e..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/Search.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/cancel.png b/DNN Platform/Modules/DigitalAssets/Images/cancel.png deleted file mode 100644 index d2593dafe14..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/cancel.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/checkmark.png b/DNN Platform/Modules/DigitalAssets/Images/checkmark.png deleted file mode 100644 index 2eef0414733..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/checkmark.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/down.png b/DNN Platform/Modules/DigitalAssets/Images/down.png deleted file mode 100644 index 5068382861e..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/down.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/dropZone.png b/DNN Platform/Modules/DigitalAssets/Images/dropZone.png deleted file mode 100644 index 47efffbf12c..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/dropZone.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/indeterminate.gif b/DNN Platform/Modules/DigitalAssets/Images/indeterminate.gif deleted file mode 100644 index d441f75ebfb..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/indeterminate.gif and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/manageFolderTypes.png b/DNN Platform/Modules/DigitalAssets/Images/manageFolderTypes.png deleted file mode 100644 index 7be8417092b..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/manageFolderTypes.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/transparencyBG.jpg b/DNN Platform/Modules/DigitalAssets/Images/transparencyBG.jpg deleted file mode 100644 index 5916d569bb9..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/transparencyBG.jpg and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/Images/tree.png b/DNN Platform/Modules/DigitalAssets/Images/tree.png deleted file mode 100644 index 5cb2604e6fc..00000000000 Binary files a/DNN Platform/Modules/DigitalAssets/Images/tree.png and /dev/null differ diff --git a/DNN Platform/Modules/DigitalAssets/License.txt b/DNN Platform/Modules/DigitalAssets/License.txt deleted file mode 100644 index b6f11aa6243..00000000000 --- a/DNN Platform/Modules/DigitalAssets/License.txt +++ /dev/null @@ -1,21 +0,0 @@ -
    -

    License

    -

    - DotNetNuke Corporation http://www.dnnsoftware.com
    - Copyright (c) 2002-2018
    - by DNN Corporation
    -

    -

    - Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated - documentation files (the "Software"), to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and - to permit persons to whom the Software is furnished to do so, subject to the following conditions: -

    -

    - The above copyright notice and this permission notice shall be included in all copies or substantial portions - of the Software. -

    -

    - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -

    -
    \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx b/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx deleted file mode 100644 index 7b6236214d2..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx +++ /dev/null @@ -1,2 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PreviewFieldsControl.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.PreviewFieldsControl" %> - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.cs b/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.cs deleted file mode 100644 index 161e95313f9..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Collections.Generic; - using System.Web.UI; - using System.Web.UI.WebControls; - - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - - public partial class PreviewFieldsControl : UserControl - { - public List Fields { get; set; } - - public void GenerateFieldsTable() - { - this.FieldsTable.Rows.Clear(); - foreach (var field in this.Fields) - { - var cellLabel = new TableCell { Text = field.DisplayName + ":", CssClass = "dnnModuleDigitalAssetsPreviewInfoFieldLabel" }; - var cellValue = new TableCell { Text = field.StringValue, CssClass = "dnnModuleDigitalAssetsPreviewInfoFieldValue" }; - var rowField = new TableRow { Cells = { cellLabel, cellValue }, CssClass = "dnnModuleDigitalAssetsPreviewInfoFieldsRow" }; - this.FieldsTable.Rows.Add(rowField); - } - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.designer.cs deleted file mode 100644 index 87224a328aa..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewFieldsControl.ascx.designer.cs +++ /dev/null @@ -1,28 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class PreviewFieldsControl { - - /// - /// FieldsTable control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Table FieldsTable; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx b/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx deleted file mode 100644 index 177dbe0abc2..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx +++ /dev/null @@ -1,9 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PreviewPanelControl.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.PreviewPanelControl" %> -<%@ Register TagPrefix="dam" tagName="PreviewFieldsControl" src="~/DesktopModules/DigitalAssets/PreviewFieldsControl.ascx"%> - -
    <%=Title %>:
    -
    -
    - -
    -
    diff --git a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.cs b/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.cs deleted file mode 100644 index 6cd1c34dc3a..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using DotNetNuke.Entities.Modules; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - - public partial class PreviewPanelControl : System.Web.UI.UserControl - { - protected string Title - { - get - { - return this.PreviewInfo.Title; - } - } - - protected string PreviewImageUrl - { - get - { - return this.PreviewInfo.PreviewImageUrl; - } - } - - protected PreviewInfoViewModel PreviewInfo { get; private set; } - - protected IDigitalAssetsController Controller { get; private set; } - - protected ModuleInfo ModuleConfiguration { get; private set; } - - public void SetPreviewInfo(PreviewInfoViewModel previewInfoViewModel) - { - this.PreviewInfo = previewInfoViewModel; - if (this.FieldsControl != null && this.PreviewInfo != null) - { - var fieldsControl = (PreviewFieldsControl)this.FieldsControl; - fieldsControl.Fields = this.PreviewInfo.Fields; - fieldsControl.GenerateFieldsTable(); - } - } - - public void SetController(IDigitalAssetsController damController) - { - this.Controller = damController; - } - - public void SetModuleConfiguration(ModuleInfo moduleConfiguration) - { - this.ModuleConfiguration = moduleConfiguration; - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.designer.cs deleted file mode 100644 index 8d3e6e1d856..00000000000 --- a/DNN Platform/Modules/DigitalAssets/PreviewPanelControl.ascx.designer.cs +++ /dev/null @@ -1,37 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class PreviewPanelControl { - - /// - /// ScopeWrapper control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ScopeWrapper; - - /// - /// FieldsControl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FieldsControl; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Properties/AssemblyInfo.cs b/DNN Platform/Modules/DigitalAssets/Properties/AssemblyInfo.cs deleted file mode 100644 index ac3d0b16bb4..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("DotNetNuke.Modules.DigitalAssets")] -[assembly: AssemblyDescription("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5ef01dd5-84a1-49f3-9232-067440288455")] diff --git a/DNN Platform/Modules/DigitalAssets/ReleaseNotes.txt b/DNN Platform/Modules/DigitalAssets/ReleaseNotes.txt deleted file mode 100644 index 953407de163..00000000000 --- a/DNN Platform/Modules/DigitalAssets/ReleaseNotes.txt +++ /dev/null @@ -1,14 +0,0 @@ -

    DigitalAssets

    -

    - DotNetNuke Corporation
    - support@dnnsoftware.com
    - www.dnnsoftware.com
    -

    -
    -
    -

    About the DigitalAssets

    -

    - Version 09.01.00

    -

    -

    This version is dependent now on the DotNetNuke.Web.Deprecated installable library.

    -
    \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx b/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx deleted file mode 100644 index 5c592ce6c47..00000000000 --- a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx +++ /dev/null @@ -1,15 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchBoxControl.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.SearchBoxControl" %> - -
    - - -
    - - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.cs b/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.cs deleted file mode 100644 index 805eeb3df4a..00000000000 --- a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - - using DotNetNuke.Entities.Modules; - using DotNetNuke.Web.Client; - using DotNetNuke.Web.Client.ClientResourceManagement; - - public partial class SearchBoxControl : PortalModuleBase - { - protected override void OnInit(EventArgs e) - { - ClientResourceManager.RegisterScript(this.Page, "~/DesktopModules/DigitalAssets/ClientScripts/dnn.DigitalAssets.SearchBox.js", FileOrder.Js.DefaultPriority + 10); - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.designer.cs deleted file mode 100644 index f411342af91..00000000000 --- a/DNN Platform/Modules/DigitalAssets/SearchBoxControl.ascx.designer.cs +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets -{ - - - public partial class SearchBoxControl - { - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/ContentServiceController.cs b/DNN Platform/Modules/DigitalAssets/Services/ContentServiceController.cs deleted file mode 100644 index 25ae0d126e0..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/ContentServiceController.cs +++ /dev/null @@ -1,166 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services -{ - using System; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Web.Http; - - using DotNetNuke.Instrumentation; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Modules.DigitalAssets.Services.Models; - using DotNetNuke.Security; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Web.Api; - - [SupportedModules("DotNetNuke.Modules.DigitalAssets")] - [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)] - [DamExceptionFilter] - public class ContentServiceController : DnnApiController - { - protected static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(ContentServiceController)); - - public ContentServiceController() - { - var f = new Factory(); - this.DigitalAssetsController = f.DigitalAssetsController; - } - - protected IDigitalAssetsController DigitalAssetsController { get; private set; } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage GetFolderContent(GetFolderContentRequest r) - { - var moduleId = this.Request.FindModuleId(); - var p = this.DigitalAssetsController.GetFolderContent(moduleId, r.FolderId, r.StartIndex, r.NumItems, r.SortExpression); - return this.Request.CreateResponse(HttpStatusCode.OK, p); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage SearchFolderContent(SearchFolderContentRequest r) - { - var moduleId = this.Request.FindModuleId(); - var p = this.DigitalAssetsController.SearchFolderContent(moduleId, r.FolderId, r.Pattern, r.StartIndex, r.NumItems, r.SortExpression); - return this.Request.CreateResponse(HttpStatusCode.OK, p); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage DeleteItems(DeleteItemsRequest request) - { - var notDeletedItems = this.DigitalAssetsController.DeleteItems(request.Items); - return this.Request.CreateResponse(HttpStatusCode.OK, notDeletedItems); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage UnlinkFolder(UnlinkFolderRequest request) - { - this.DigitalAssetsController.UnlinkFolder(request.FolderId); - return this.Request.CreateResponse(HttpStatusCode.OK); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage GetMappedSubfoldersCount(MappedPathSubFoldersCountRequest request) - { - var mappedSubfoldersCount = this.DigitalAssetsController.GetMappedSubFoldersCount(request.Items, this.PortalSettings.PortalId); - return this.Request.CreateResponse(HttpStatusCode.OK, mappedSubfoldersCount); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage RenameFile(RenameFileRequest request) - { - try - { - var itemViewModel = this.DigitalAssetsController.RenameFile(request.FileId, request.NewFileName); - return this.Request.CreateResponse(HttpStatusCode.OK, itemViewModel); - } - catch (FileAlreadyExistsException ex) - { - return this.Request.CreateResponse(HttpStatusCode.InternalServerError, ex); - } - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage CopyFile(CopyMoveItemRequest request) - { - var copyFileResponse = this.DigitalAssetsController.CopyFile(request.ItemId, request.DestinationFolderId, request.Overwrite); - return this.Request.CreateResponse(HttpStatusCode.OK, copyFileResponse); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage MoveFile(CopyMoveItemRequest request) - { - var copyMoveFileResponse = this.DigitalAssetsController.MoveFile(request.ItemId, request.DestinationFolderId, request.Overwrite); - return this.Request.CreateResponse(HttpStatusCode.OK, copyMoveFileResponse); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage MoveFolder(CopyMoveItemRequest request) - { - var copyMoveFolderResponse = this.DigitalAssetsController.MoveFolder(request.ItemId, request.DestinationFolderId, request.Overwrite); - return this.Request.CreateResponse(HttpStatusCode.OK, copyMoveFolderResponse); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage GetSubFolders(GetSubFolderRequest request) - { - var moduleId = this.Request.FindModuleId(); - var subFolders = this.DigitalAssetsController.GetFolders(moduleId, request.FolderId).ToList(); - return this.Request.CreateResponse(HttpStatusCode.OK, subFolders); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage RenameFolder(RenameFolderRequest request) - { - this.DigitalAssetsController.RenameFolder(request.FolderId, request.NewFolderName); - return this.Request.CreateResponse(HttpStatusCode.OK, "Success"); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage CreateNewFolder(CreateNewFolderRequest request) - { - var folder = this.DigitalAssetsController.CreateFolder(request.FolderName, request.ParentFolderId, - request.FolderMappingId, request.MappedName); - return this.Request.CreateResponse(HttpStatusCode.OK, folder); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage SynchronizeFolder(SynchronizeFolderRequest request) - { - this.DigitalAssetsController.SyncFolderContent(request.FolderId, request.Recursive); - return this.Request.CreateResponse(HttpStatusCode.OK, "Success"); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage UnzipFile(UnzipFileRequest request) - { - var model = this.DigitalAssetsController.UnzipFile(request.FileId, request.Overwrite); - return this.Request.CreateResponse(HttpStatusCode.OK, model); - } - - [HttpPost] - [ValidateAntiForgeryToken] - public HttpResponseMessage GetUrl(GetUrlRequest request) - { - var url = this.DigitalAssetsController.GetUrl(request.FileId); - return this.Request.CreateResponse(HttpStatusCode.OK, url); - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/DamExceptionFilterAttribute.cs b/DNN Platform/Modules/DigitalAssets/Services/DamExceptionFilterAttribute.cs deleted file mode 100644 index 5ad27d5cf53..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/DamExceptionFilterAttribute.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services -{ - using System.Net; - using System.Net.Http; - using System.Web.Http.Filters; - - using DotNetNuke.Services.Exceptions; - - public class DamExceptionFilterAttribute : ExceptionFilterAttribute - { - public override void OnException(HttpActionExecutedContext context) - { - if (context.Exception != null) - { - Exceptions.LogException(context.Exception); - context.Response = context.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, context.Exception.Message, context.Exception); - } - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/DownloadServiceController.cs b/DNN Platform/Modules/DigitalAssets/Services/DownloadServiceController.cs deleted file mode 100644 index c344371042b..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/DownloadServiceController.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services -{ - using System; - using System.Net; - using System.Net.Http; - using System.Net.Http.Headers; - using System.Web.Http; - - using DotNetNuke.Instrumentation; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Security; - using DotNetNuke.Web.Api; - - [SupportedModules("DotNetNuke.Modules.DigitalAssets")] - [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)] - [DamExceptionFilter] - public class DownloadServiceController : DnnApiController - { - protected static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(ContentServiceController)); - - public DownloadServiceController() - { - var f = new Factory(); - this.DigitalAssetsController = f.DigitalAssetsController; - } - - protected IDigitalAssetsController DigitalAssetsController { get; private set; } - - [HttpGet] - public HttpResponseMessage Download(int fileId, bool forceDownload) - { - var result = new HttpResponseMessage(HttpStatusCode.OK); - string fileName; - string contentType; - var streamContent = this.DigitalAssetsController.GetFileContent(fileId, out fileName, out contentType); - result.Content = new StreamContent(streamContent); - result.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType); - result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(forceDownload ? "attachment" : "inline"); - result.Content.Headers.ContentDisposition.FileName = fileName; - return result; - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Factory.cs b/DNN Platform/Modules/DigitalAssets/Services/Factory.cs deleted file mode 100644 index de273e8cd70..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Factory.cs +++ /dev/null @@ -1,36 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services -{ - using System; - using System.Collections.Generic; - using System.ComponentModel.Composition; - using System.Linq; - - using DotNetNuke.ExtensionPoints; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - - public class Factory - { -#pragma warning disable 649 - [ImportMany] - private IEnumerable> controllers; -#pragma warning restore 649 - - public Factory() - { - ExtensionPointManager.ComposeParts(this); - } - - public IDigitalAssetsController DigitalAssetsController - { - get - { - var dac = this.controllers.SingleOrDefault(c => c.Metadata.Edition == "PE"); - return dac != null ? dac.Value : this.controllers.Single(c => c.Metadata.Edition == "CE").Value; - } - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/CopyMoveItemRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/CopyMoveItemRequest.cs deleted file mode 100644 index 1643f411b87..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/CopyMoveItemRequest.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class CopyMoveItemRequest - { - public int ItemId { get; set; } - - public int DestinationFolderId { get; set; } - - public bool Overwrite { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/CreateNewFolderRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/CreateNewFolderRequest.cs deleted file mode 100644 index 58545519be1..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/CreateNewFolderRequest.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class CreateNewFolderRequest - { - public string FolderName { get; set; } - - public int ParentFolderId { get; set; } - - public int FolderMappingId { get; set; } - - public string MappedName { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItem.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItem.cs deleted file mode 100644 index 25774d4ebfe..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItem.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class DeleteItem - { - public bool IsFolder { get; set; } - - public int ItemId { get; set; } - - public string UnlinkAllowedStatus { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItemsRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItemsRequest.cs deleted file mode 100644 index 40f700a1998..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/DeleteItemsRequest.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - using System.Collections.Generic; - - public class DeleteItemsRequest - { - public IEnumerable Items { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/GetFolderContentRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/GetFolderContentRequest.cs deleted file mode 100644 index 4e38b59d5e4..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/GetFolderContentRequest.cs +++ /dev/null @@ -1,17 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class GetFolderContentRequest - { - public int FolderId { get; set; } - - public int StartIndex { get; set; } - - public int NumItems { get; set; } - - public string SortExpression { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/GetSubFolderRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/GetSubFolderRequest.cs deleted file mode 100644 index 6c1c1973e4a..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/GetSubFolderRequest.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class GetSubFolderRequest - { - public int FolderId { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/GetUrlRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/GetUrlRequest.cs deleted file mode 100644 index bfaae1af5d1..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/GetUrlRequest.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class GetUrlRequest - { - public int FileId { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/MappedPathSubFoldersCountRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/MappedPathSubFoldersCountRequest.cs deleted file mode 100644 index 138415ef28b..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/MappedPathSubFoldersCountRequest.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - using System.Collections.Generic; - - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - - public class MappedPathSubFoldersCountRequest - { - public IEnumerable Items { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFileRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFileRequest.cs deleted file mode 100644 index 92ba07c1541..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFileRequest.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class RenameFileRequest - { - public int FileId { get; set; } - - public string NewFileName { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFolderRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFolderRequest.cs deleted file mode 100644 index 72feb9c884a..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/RenameFolderRequest.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class RenameFolderRequest - { - public int FolderId { get; set; } - - public string NewFolderName { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/SearchFolderContentRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/SearchFolderContentRequest.cs deleted file mode 100644 index 039a10604fd..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/SearchFolderContentRequest.cs +++ /dev/null @@ -1,19 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class SearchFolderContentRequest - { - public int FolderId { get; set; } - - public string Pattern { get; set; } - - public int StartIndex { get; set; } - - public int NumItems { get; set; } - - public string SortExpression { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/SynchronizeFolderRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/SynchronizeFolderRequest.cs deleted file mode 100644 index 3af9dc6a4b6..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/SynchronizeFolderRequest.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Web; - - public class SynchronizeFolderRequest - { - public int FolderId { get; set; } - - public bool Recursive { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/UnlinkFolderRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/UnlinkFolderRequest.cs deleted file mode 100644 index 99fc49200be..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/UnlinkFolderRequest.cs +++ /dev/null @@ -1,11 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class UnlinkFolderRequest - { - public int FolderId { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/Models/UnzipFileRequest.cs b/DNN Platform/Modules/DigitalAssets/Services/Models/UnzipFileRequest.cs deleted file mode 100644 index 17df98cc663..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/Models/UnzipFileRequest.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services.Models -{ - public class UnzipFileRequest - { - public int FileId { get; set; } - - public bool Overwrite { get; set; } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Services/ServiceRouteMapper.cs b/DNN Platform/Modules/DigitalAssets/Services/ServiceRouteMapper.cs deleted file mode 100644 index 1f7f49e243e..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Services/ServiceRouteMapper.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets.Services -{ - using DotNetNuke.Web.Api; - - public class ServiceRouteMapper : IServiceRouteMapper - { - public void RegisterRoutes(IMapRoute mapRouteManager) - { - mapRouteManager.MapHttpRoute("DigitalAssets", "default", "{controller}/{action}", new[] { "DotNetNuke.Modules.DigitalAssets.Services" }); - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Settings.ascx b/DNN Platform/Modules/DigitalAssets/Settings.ascx deleted file mode 100644 index 1d04c9084d1..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Settings.ascx +++ /dev/null @@ -1,76 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Settings.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.Settings" %> -<%@ Register TagPrefix="dnnweb" TagName="Label" Src="~/controls/LabelControl.ascx" %> -<%@ Register TagPrefix="dnnweb" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web" %> -<%@ Register TagPrefix="dnnweb" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web.Deprecated" %> -<%@ Import Namespace="DotNetNuke.Services.Localization" %> - -

    <%=LocalizeString("BasicSettings")%>

    -
    -
    - - -
    - -
    - - - - - - - - -
    - -
    - -
    - - - - -
    -
    -
    - - - - - -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/Settings.ascx.cs b/DNN Platform/Modules/DigitalAssets/Settings.ascx.cs deleted file mode 100644 index 570478f908f..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Settings.ascx.cs +++ /dev/null @@ -1,158 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Collections.Generic; - using System.Web.UI.WebControls; - - using DotNetNuke.Entities.Modules; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Services.Assets; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Web.Client; - using DotNetNuke.Web.Client.ClientResourceManagement; - - public partial class Settings : ModuleSettingsBase - { - private static readonly DigitalAssetsSettingsRepository SettingsRepository = new DigitalAssetsSettingsRepository(); - - private DigitalAssestsMode SelectedDigitalAssestsMode - { - get - { - DigitalAssestsMode mode; - Enum.TryParse(this.ModeComboBox.SelectedValue, true, out mode); - return mode; - } - } - - private FilterCondition SelectedFilterCondition - { - get - { - FilterCondition filterCondition; - Enum.TryParse(this.FilterOptionsRadioButtonsList.SelectedValue, true, out filterCondition); - return filterCondition; - } - } - - /// ----------------------------------------------------------------------------- - /// - /// LoadSettings loads the settings from the Database and displays them. - /// - /// ----------------------------------------------------------------------------- - public override void LoadSettings() - { - if (this.Page.IsPostBack) - { - return; - } - - try - { - this.DefaultFolderTypeComboBox.DataSource = FolderMappingController.Instance.GetFolderMappings(this.PortalId); - this.DefaultFolderTypeComboBox.DataBind(); - - var defaultFolderTypeId = new DigitalAssetsController().GetDefaultFolderTypeId(this.ModuleId); - if (defaultFolderTypeId.HasValue) - { - this.DefaultFolderTypeComboBox.SelectedValue = defaultFolderTypeId.ToString(); - } - - this.ModeComboBox.SelectedValue = SettingsRepository.GetMode(this.ModuleId).ToString(); - - this.LoadFilterViewSettings(); - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - /// ----------------------------------------------------------------------------- - /// - /// UpdateSettings saves the modified settings to the Database. - /// - /// ----------------------------------------------------------------------------- - public override void UpdateSettings() - { - this.Page.Validate(); - if (!this.Page.IsValid) - { - return; - } - - try - { - SettingsRepository.SaveDefaultFolderTypeId(this.ModuleId, Convert.ToInt32(this.DefaultFolderTypeComboBox.SelectedValue)); - - SettingsRepository.SaveMode(this.ModuleId, this.SelectedDigitalAssestsMode); - - this.UpdateFilterViewSettings(); - } - catch (Exception exc) - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected override void OnInit(EventArgs e) - { - ClientResourceManager.RegisterScript(this.Page, "~/DesktopModules/DigitalAssets/ClientScripts/dnn.DigitalAssets.FilterViewSettings.js", FileOrder.Js.DefaultPriority); - } - - protected void ValidateFolderIsSelected(object source, ServerValidateEventArgs args) - { - if (this.SelectedFilterCondition == FilterCondition.FilterByFolder && this.FilterByFolderDropDownList.SelectedFolder == null) - { - args.IsValid = false; - return; - } - - args.IsValid = true; - } - - private void LoadFilterViewSettings() - { - // handle upgrades where FilterCondition didn't exist - SettingsRepository.SetDefaultFilterCondition(this.ModuleId); - - this.FilterOptionsRadioButtonsList.SelectedValue = SettingsRepository.GetFilterCondition(this.ModuleId).ToString(); - this.SubfolderFilterRadioButtonList.SelectedValue = SettingsRepository.GetSubfolderFilter(this.ModuleId).ToString(); - - if (this.FilterOptionsRadioButtonsList.SelectedValue == FilterCondition.FilterByFolder.ToString()) - { - var folderId = SettingsRepository.GetRootFolderId(this.ModuleId); - if (folderId.HasValue) - { - var folder = FolderManager.Instance.GetFolder(folderId.Value); - this.FilterByFolderDropDownList.SelectedFolder = folder; - } - } - } - - private void UpdateFilterViewSettings() - { - var filterCondition = this.SelectedDigitalAssestsMode != DigitalAssestsMode.Normal ? FilterCondition.NotSet : this.SelectedFilterCondition; - - SettingsRepository.SaveFilterCondition(this.ModuleId, filterCondition); - - switch (filterCondition) - { - case FilterCondition.NotSet: - SettingsRepository.SaveExcludeSubfolders(this.ModuleId, SubfolderFilter.IncludeSubfoldersFolderStructure); - break; - case FilterCondition.FilterByFolder: - SubfolderFilter subfolderFilter; - Enum.TryParse(this.SubfolderFilterRadioButtonList.SelectedValue, true, out subfolderFilter); - SettingsRepository.SaveExcludeSubfolders(this.ModuleId, subfolderFilter); - SettingsRepository.SaveRootFolderId(this.ModuleId, this.FilterByFolderDropDownList.SelectedFolder.FolderID); - break; - } - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/Settings.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/Settings.ascx.designer.cs deleted file mode 100644 index 1428b44ef30..00000000000 --- a/DNN Platform/Modules/DigitalAssets/Settings.ascx.designer.cs +++ /dev/null @@ -1,109 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class Settings { - - /// - /// DefaultFolderTypeLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl DefaultFolderTypeLabel; - - /// - /// DefaultFolderTypeComboBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnComboBox DefaultFolderTypeComboBox; - - /// - /// ModeLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl ModeLabel; - - /// - /// ModeComboBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnComboBox ModeComboBox; - - /// - /// ViewConditionItem control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl ViewConditionItem; - - /// - /// ViewConditionLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl ViewConditionLabel; - - /// - /// FilterOptionsRadioButtonsList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RadioButtonList FilterOptionsRadioButtonsList; - - /// - /// FilterByFolderDropDownList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnFolderDropDownList FilterByFolderDropDownList; - - /// - /// SubfolderFilterRadioButtonList control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RadioButtonList SubfolderFilterRadioButtonList; - - /// - /// FolderMustBeSelected control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.CustomValidator FolderMustBeSelected; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/View.ascx b/DNN Platform/Modules/DigitalAssets/View.ascx deleted file mode 100644 index 360b55989f7..00000000000 --- a/DNN Platform/Modules/DigitalAssets/View.ascx +++ /dev/null @@ -1,370 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="View.ascx.cs" Inherits="DotNetNuke.Modules.DigitalAssets.View" %> - -<%@ Import Namespace="System.Globalization" %> -<%@ Import Namespace="DotNetNuke.Services.FileSystem" %> -<%@ Import Namespace="DotNetNuke.Services.Localization" %> -<%@ Import Namespace="DotNetNuke.UI.Utilities" %> -<%@ Import Namespace="DotNetNuke.Entities.Icons" %> - -<%@ Register TagPrefix="dnnext" Namespace="DotNetNuke.ExtensionPoints" Assembly="DotNetNuke" %> -<%@ Register TagPrefix="dnnweb" Assembly="DotNetNuke.Web" Namespace="DotNetNuke.Web.UI.WebControls" %> -<%@ Register TagPrefix="dnnweb" Assembly="DotNetNuke.Web.Deprecated" Namespace="DotNetNuke.Web.UI.WebControls" %> -<%@ Register TagPrefix="dnnweb" TagName="Label" Src="~/controls/LabelControl.ascx" %> - - - -
    - -
    - -
    -
      -
    • - -
    • -
    - -
    -
    - - - - - - - -
    -
      -
      -
      -
      - -
      - - - -
      -
        -
        -
        - <%=Localization.GetString("ToolbarTitle.Views.Text", LocalResourceFile)%> - <%=Localization.GetString("ToolbarTitle.Actions.Text", LocalResourceFile)%> - -
        -
        - -
        -
        - - -
        - -
        - - - - - - - - - - - - - - - - - - - -
        - -
        -
        - -
        -
        - -
        - - - - - - - -
        - -
        - - - - - - - - - -
        - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/View.ascx.cs b/DNN Platform/Modules/DigitalAssets/View.ascx.cs deleted file mode 100644 index 79535f3c465..00000000000 --- a/DNN Platform/Modules/DigitalAssets/View.ascx.cs +++ /dev/null @@ -1,695 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information - -namespace DotNetNuke.Modules.DigitalAssets -{ - using System; - using System.Collections.Generic; - using System.Collections.Specialized; - using System.Globalization; - using System.Linq; - using System.Text; - using System.Text.RegularExpressions; - using System.Web; - - using DotNetNuke.Abstractions; - using DotNetNuke.Common; - using DotNetNuke.Common.Utilities; - using DotNetNuke.Entities.Icons; - using DotNetNuke.Entities.Modules; - using DotNetNuke.Entities.Modules.Actions; - using DotNetNuke.ExtensionPoints; - using DotNetNuke.ExtensionPoints.Filters; - using DotNetNuke.Framework; - using DotNetNuke.Framework.JavaScriptLibraries; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers; - using DotNetNuke.Modules.DigitalAssets.Components.Controllers.Models; - using DotNetNuke.Modules.DigitalAssets.Services; - using DotNetNuke.Security; - using DotNetNuke.Security.Permissions; - using DotNetNuke.Services.Assets; - using DotNetNuke.Services.Exceptions; - using DotNetNuke.Services.FileSystem; - using DotNetNuke.Services.Localization; - using DotNetNuke.UI.Skins; - using DotNetNuke.UI.Skins.Controls; - using DotNetNuke.Web.Client; - using DotNetNuke.Web.Client.ClientResourceManagement; - using DotNetNuke.Web.UI.WebControls; - using Microsoft.Extensions.DependencyInjection; - using Telerik.Web.UI; - - public partial class View : PortalModuleBase, IActionable - { - private static readonly DigitalAssetsSettingsRepository SettingsRepository = new DigitalAssetsSettingsRepository(); - - private readonly IDigitalAssetsController controller; - private readonly ExtensionPointManager epm = new ExtensionPointManager(); - - private readonly INavigationManager _navigationManager; - private NameValueCollection damState; - - public View() - { - this.controller = new Factory().DigitalAssetsController; - this._navigationManager = this.DependencyProvider.GetRequiredService(); - } - - public ModuleActionCollection ModuleActions - { - get - { - var actions = new ModuleActionCollection(); - if (ModulePermissionController.CanManageModule(this.ModuleConfiguration)) - { - actions.Add(this.GetNextActionID(), Localization.GetString("ManageFolderTypes", this.LocalResourceFile), string.Empty, string.Empty, "../DesktopModules/DigitalAssets/Images/manageFolderTypes.png", this.EditUrl("FolderMappings"), false, SecurityAccessLevel.Edit, true, false); - - foreach (var item in this.epm.GetMenuItemExtensionPoints("DigitalAssets", "ModuleActions", this.Filter)) - { - actions.Add(this.GetNextActionID(), item.Text, string.Empty, string.Empty, item.Icon, this.EditUrl(item.Value), false, SecurityAccessLevel.Edit, true, false); - } - } - else - { - actions = new ModuleActionCollection(); - } - - return actions; - } - } - - protected int InitialTab - { - get - { - return this.controller.GetInitialTab(this.Request.Params, this.DAMState); - } - } - - protected bool IsHostPortal - { - get - { - return this.IsHostMenu || this.controller.GetCurrentPortalId(this.ModuleId) == Null.NullInteger; - } - } - - protected string InvalidCharacters - { - get - { - return GetNoControlCharsString(this.controller.GetInvalidChars()); - } - } - - protected string InvalidCharactersErrorText - { - get - { - return this.controller.GetInvalidCharsErrorText(); - } - } - - protected int MaxUploadSize - { - get - { - return (int)Config.GetMaxUploadSize(); - } - } - - protected string NavigateUrl - { - get - { - var url = this._navigationManager.NavigateURL(this.TabId, "ControlKey", "mid=" + this.ModuleId, "ReturnUrl=" + this.Server.UrlEncode(this._navigationManager.NavigateURL())); - - // append popUp parameter - var delimiter = url.Contains("?") ? "&" : "?"; - url = string.Format("{0}{1}popUp=true", url, delimiter); - - return url; - } - } - - protected IEnumerable DefaultFolderProviderValues - { - get - { - return this.controller.GetDefaultFolderProviderValues(this.ModuleId).Select(f => f.FolderMappingID.ToString(CultureInfo.InvariantCulture)).ToList(); - } - } - - protected string DefaultFolderTypeId - { - get - { - var defaultFolderTypeId = this.controller.GetDefaultFolderTypeId(this.ModuleId); - return defaultFolderTypeId.HasValue ? defaultFolderTypeId.ToString() : string.Empty; - } - } - - protected bool FilteredContent - { - get - { - return SettingsRepository.GetSubfolderFilter(this.ModuleId) != SubfolderFilter.IncludeSubfoldersFolderStructure; - } - } - - protected string PageSize { get; private set; } - - protected string ActiveView { get; private set; } - - protected FolderViewModel RootFolderViewModel { get; private set; } - - private IExtensionPointFilter Filter - { - get - { - return new CompositeFilter() - .And(new FilterByHostMenu(this.IsHostPortal)) - .And(new FilterByUnauthenticated(HttpContext.Current.Request.IsAuthenticated)); - } - } - - private NameValueCollection DAMState - { - get - { - if (this.damState == null) - { - var stateCookie = this.Request.Cookies["damState-" + this.UserId]; - this.damState = HttpUtility.ParseQueryString(Uri.UnescapeDataString(stateCookie != null ? stateCookie.Value : string.Empty)); - } - - return this.damState; - } - } - - protected override void OnLoad(EventArgs e) - { - try - { - base.OnLoad(e); - - // if (IsPostBack) return; - switch (SettingsRepository.GetMode(this.ModuleId)) - { - case DigitalAssestsMode.Group: - int groupId; - if (string.IsNullOrEmpty(this.Request["groupId"]) || !int.TryParse(this.Request["groupId"], out groupId)) - { - Skin.AddModuleMessage(this, Localization.GetString("InvalidGroup.Error", this.LocalResourceFile), ModuleMessage.ModuleMessageType.RedError); - return; - } - - var groupFolder = this.controller.GetGroupFolder(groupId, this.PortalSettings); - if (groupFolder == null) - { - Skin.AddModuleMessage(this, Localization.GetString("InvalidGroup.Error", this.LocalResourceFile), ModuleMessage.ModuleMessageType.RedError); - return; - } - - this.RootFolderViewModel = groupFolder; - break; - - case DigitalAssestsMode.User: - if (this.PortalSettings.UserId == Null.NullInteger) - { - Skin.AddModuleMessage(this, Localization.GetString("InvalidUser.Error", this.LocalResourceFile), ModuleMessage.ModuleMessageType.RedError); - return; - } - - this.RootFolderViewModel = this.controller.GetUserFolder(this.PortalSettings.UserInfo); - break; - - default: - // handle upgrades where FilterCondition didn't exist - SettingsRepository.SetDefaultFilterCondition(this.ModuleId); - this.RootFolderViewModel = this.controller.GetRootFolder(this.ModuleId); - break; - } - - var initialPath = string.Empty; - int folderId; - if (int.TryParse(this.Request["folderId"] ?? this.DAMState["folderId"], out folderId)) - { - var folder = FolderManager.Instance.GetFolder(folderId); - if (folder != null && folder.FolderPath.StartsWith(this.RootFolderViewModel.FolderPath)) - { - initialPath = PathUtils.Instance.RemoveTrailingSlash(folder.FolderPath.Substring(this.RootFolderViewModel.FolderPath.Length)); - } - } - - this.PageSize = this.Request["pageSize"] ?? this.DAMState["pageSize"] ?? "10"; - this.ActiveView = this.Request["view"] ?? this.DAMState["view"] ?? "gridview"; - - this.Page.DataBind(); - this.InitializeTreeViews(initialPath); - this.InitializeSearchBox(); - this.InitializeFolderType(); - this.InitializeGridContextMenu(); - this.InitializeEmptySpaceContextMenu(); - - this.FolderNameRegExValidator.ErrorMessage = this.controller.GetInvalidCharsErrorText(); - this.FolderNameRegExValidator.ValidationExpression = "^([^" + Regex.Escape(this.controller.GetInvalidChars()) + "]+)$"; - } - catch (Exception exc) // Module failed to load - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected override void OnInit(EventArgs e) - { - try - { - base.OnInit(e); - - this.fileUpload.ModuleId = this.ModuleId; - this.fileUpload.Options.Parameters.Add("isHostPortal", this.IsHostPortal ? "true" : "false"); - - ServicesFramework.Instance.RequestAjaxScriptSupport(); - ServicesFramework.Instance.RequestAjaxAntiForgerySupport(); - JavaScript.RequestRegistration(CommonJs.DnnPlugins); - - // register the telerik core js manually - var telerikCoreJs = this.Page.ClientScript.GetWebResourceUrl(typeof(RadGrid), "Telerik.Web.UI.Common.Core.js"); - ClientResourceManager.RegisterScript(this.Page, telerikCoreJs, FileOrder.Js.jQuery + 3); - - var popupFilePath = HttpContext.Current.IsDebuggingEnabled - ? "~/js/Debug/dnn.modalpopup.js" - : "~/js/dnn.modalpopup.js"; - ClientResourceManager.RegisterScript(this.Page, popupFilePath, FileOrder.Js.DnnModalPopup); - ClientResourceManager.RegisterScript(this.Page, "~/DesktopModules/DigitalAssets/ClientScripts/dnn.DigitalAssetsController.js", FileOrder.Js.DefaultPriority); - - var i = 1; - foreach (var script in this.epm.GetScriptItemExtensionPoints("DigitalAssets")) - { - ClientResourceManager.RegisterScript(this.Page, script.ScriptName, FileOrder.Js.DefaultPriority + i++); - } - - ClientResourceManager.RegisterScript(this.Page, "~/DesktopModules/DigitalAssets/ClientScripts/dnn.DigitalAssets.js", FileOrder.Js.DefaultPriority + i); - - this.InitializeGrid(); - this.FolderTypeComboBox.ItemDataBound += this.OnItemDataBoundFolderTypeComboBox; - - this.MainToolBar.ModuleContext = this.ModuleContext; - this.SelectionToolBar.ModuleContext = this.ModuleContext; - } - catch (Exception exc) // Module failed to load - { - Exceptions.ProcessModuleLoadException(this, exc); - } - } - - protected void GridOnItemCreated(object sender, GridItemEventArgs e) - { - if (!(e.Item is GridPagerItem)) - { - return; - } - - var items = new[] - { - new RadComboBoxItem { Text = "10", Value = "10" }, - new RadComboBoxItem { Text = "25", Value = "25" }, - new RadComboBoxItem { Text = "50", Value = "50" }, - new RadComboBoxItem { Text = "100", Value = "100" }, - new RadComboBoxItem - { - Text = Localization.GetString("All", this.LocalResourceFile), - Value = int.MaxValue.ToString(CultureInfo.InvariantCulture), - }, - }; - - var dropDown = (RadComboBox)e.Item.FindControl("PageSizeComboBox"); - dropDown.Items.Clear(); - foreach (var item in items) - { - item.Attributes.Add("ownerTableViewId", e.Item.OwnerTableView.ClientID); - dropDown.Items.Add(item); - } - } - - private static string GetNoControlCharsString(string text) - { - var result = new StringBuilder(); - foreach (char c in text.Where(c => !char.IsControl(c))) - { - result.Append(c); - } - - return result.ToString(); - } - - private void InitializeFolderType() - { - this.FolderTypeComboBox.DataSource = this.controller.GetFolderMappings(this.ModuleId); - this.FolderTypeComboBox.DataBind(); - } - - private void InitializeGrid() - { - this.Grid.MasterTableView.PagerStyle.PrevPageToolTip = this.LocalizeString("PagerPreviousPage.ToolTip"); - this.Grid.MasterTableView.PagerStyle.NextPageToolTip = this.LocalizeString("PagerNextPage.ToolTip"); - this.Grid.MasterTableView.PagerStyle.FirstPageToolTip = this.LocalizeString("PagerFirstPage.ToolTip"); - this.Grid.MasterTableView.PagerStyle.LastPageToolTip = this.LocalizeString("PagerLastPage.ToolTip"); - this.Grid.MasterTableView.PagerStyle.PageSizeLabelText = this.LocalizeString("PagerPageSize.Text"); - - foreach (var columnExtension in this.epm.GetGridColumnExtensionPoints("DigitalAssets", "GridColumns", this.Filter)) - { - var column = new DnnGridBoundColumn - { - HeaderText = columnExtension.HeaderText, - DataField = columnExtension.DataField, - UniqueName = columnExtension.UniqueName, - ReadOnly = columnExtension.ReadOnly, - Reorderable = columnExtension.Reorderable, - SortExpression = columnExtension.SortExpression, - HeaderTooltip = columnExtension.HeaderText, - }; - column.HeaderStyle.Width = columnExtension.HeaderStyleWidth; - - var index = Math.Min(columnExtension.ColumnAt, this.Grid.Columns.Count - 1); - this.Grid.Columns.AddAt(index, column); - } - } - - private void LoadSubfolders(DnnTreeNode node, int folderId, string nextFolderName, out DnnTreeNode nextNode, out int nextFolderId) - { - nextNode = null; - nextFolderId = 0; - var folders = this.controller.GetFolders(this.ModuleId, folderId); - foreach (var folder in folders) - { - var hasViewPermissions = this.HasViewPermissions(folder.Permissions); - var newNode = this.CreateNodeFromFolder(folder); - this.SetupNodeAttributes(newNode, folder.Permissions, folder); - - node.Nodes.Add(newNode); - - if (hasViewPermissions && folder.FolderName.Equals(nextFolderName, StringComparison.InvariantCultureIgnoreCase)) - { - newNode.Expanded = true; - nextNode = newNode; - nextFolderId = folder.FolderID; - } - } - } - - private void InitializeTreeViews(string initialPath) - { - var rootFolder = this.RootFolderViewModel; - - var rootNode = this.CreateNodeFromFolder(rootFolder); - rootNode.Selected = true; - rootNode.Expanded = true; - - var folderId = rootFolder.FolderID; - var nextNode = rootNode; - foreach (var folderName in initialPath.Split('/')) - { - this.LoadSubfolders(nextNode, folderId, folderName, out nextNode, out folderId); - if (nextNode == null) - { - // The requested folder does not exist or the user does not have permissions - break; - } - } - - if (nextNode != null) - { - nextNode.Expanded = false; - nextNode.Selected = true; - rootNode.Selected = false; - } - - if (rootNode.Nodes.Count == 0) - { - this.SetExpandable(rootNode, false); - } - - this.SetupNodeAttributes(rootNode, this.GetPermissionsForRootFolder(rootFolder.Permissions), rootFolder); - - this.FolderTreeView.Nodes.Clear(); - this.DestinationTreeView.Nodes.Clear(); - - this.FolderTreeView.Nodes.Add(rootNode); - this.DestinationTreeView.Nodes.Add(rootNode.Clone()); - - this.InitializeTreeViewContextMenu(); - } - - private DnnTreeNode CreateNodeFromFolder(FolderViewModel folder) - { - var node = new DnnTreeNode - { - Text = folder.FolderName, - ImageUrl = folder.IconUrl, - Value = folder.FolderID.ToString(CultureInfo.InvariantCulture), - Category = folder.FolderMappingID.ToString(CultureInfo.InvariantCulture), - }; - this.SetExpandable(node, folder.HasChildren && this.HasViewPermissions(folder.Permissions)); - return node; - } - - private void SetExpandable(DnnTreeNode node, bool expandable) - { - node.ExpandMode = expandable ? TreeNodeExpandMode.WebService : TreeNodeExpandMode.ClientSide; - } - - private void SetupNodeAttributes(DnnTreeNode node, IEnumerable permissions, FolderViewModel folder) - { - node.Attributes.Add("permissions", permissions.ToJson()); - foreach (var attribute in folder.Attributes) - { - node.Attributes.Add(attribute.Key, attribute.Value.ToJson()); - } - } - - private void InitializeTreeViewContextMenu() - { - this.MainContextMenu.Items.AddRange(new[] - { - new DnnMenuItem - { - Text = Localization.GetString("CreateFolder", this.LocalResourceFile), - Value = "NewFolder", - CssClass = "permission_ADD disabledIfFiltered", - ImageUrl = IconController.IconURL("FolderCreate", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("RefreshFolder", this.LocalResourceFile), - Value = "RefreshFolder", - CssClass = "permission_BROWSE permission_READ", - ImageUrl = IconController.IconURL("FolderRefreshSync", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("RenameFolder", this.LocalResourceFile), - Value = "RenameFolder", - CssClass = "permission_MANAGE", - ImageUrl = IconController.IconURL("FileRename", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Move", this.LocalResourceFile), - Value = "Move", - CssClass = "permission_COPY", - ImageUrl = IconController.IconURL("FileMove", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("DeleteFolder", this.LocalResourceFile), - Value = "DeleteFolder", - CssClass = "permission_DELETE", - ImageUrl = IconController.IconURL("FileDelete", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("UnlinkFolder", this.LocalResourceFile), - Value = "UnlinkFolder", - CssClass = "permission_DELETE", - ImageUrl = IconController.IconURL("UnLink", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("ViewFolderProperties", this.LocalResourceFile), - Value = "Properties", - CssClass = "permission_READ", - ImageUrl = IconController.IconURL("ViewProperties", "16x16", "CtxtMn"), - }, - }); - - // Dnn Menu Item Extension Point - foreach (var menuItem in this.epm.GetMenuItemExtensionPoints("DigitalAssets", "TreeViewContextMenu", this.Filter)) - { - this.MainContextMenu.Items.Add(new DnnMenuItem - { - Text = menuItem.Text, - Value = menuItem.Value, - CssClass = menuItem.CssClass, - ImageUrl = menuItem.Icon, - }); - } - } - - private void InitializeSearchBox() - { - var extension = this.epm.GetUserControlExtensionPointFirstByPriority("DigitalAssets", "SearchBoxExtensionPoint"); - var searchControl = (PortalModuleBase)this.Page.LoadControl(extension.UserControlSrc); - searchControl.ModuleConfiguration = this.ModuleConfiguration; - - searchControl.ID = searchControl.GetType().BaseType.Name; - this.SearchBoxPanel.Controls.Add(searchControl); - } - - private void InitializeGridContextMenu() - { - this.GridMenu.Items.AddRange(new[] - { - new DnnMenuItem - { - Text = Localization.GetString("Download", this.LocalResourceFile), - Value = "Download", - CssClass = "permission_READ", - ImageUrl = IconController.IconURL("FileDownload", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Rename", this.LocalResourceFile), - Value = "Rename", - CssClass = "permission_MANAGE singleItem", - ImageUrl = IconController.IconURL("FileRename", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Copy", this.LocalResourceFile), - Value = "Copy", - CssClass = "permission_COPY onlyFiles", - ImageUrl = IconController.IconURL("FileCopy", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Move", this.LocalResourceFile), - Value = "Move", - CssClass = "permission_COPY disabledIfFiltered", - ImageUrl = IconController.IconURL("FileMove", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Delete", this.LocalResourceFile), - Value = "Delete", - CssClass = "permission_DELETE", - ImageUrl = IconController.IconURL("FileDelete", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("Unlink", this.LocalResourceFile), - Value = "Unlink", - CssClass = "permission_DELETE singleItem onlyFolders", - ImageUrl = IconController.IconURL("UnLink", "16x16", "Black"), - }, - new DnnMenuItem - { - Text = Localization.GetString("UnzipFile", this.LocalResourceFile), - Value = "UnzipFile", - CssClass = "permission_MANAGE singleItem onlyFiles", - ImageUrl = IconController.IconURL("Unzip", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("ViewProperties", this.LocalResourceFile), - Value = "Properties", - CssClass = "permission_READ singleItem", - ImageUrl = IconController.IconURL("ViewProperties", "16x16", "CtxtMn"), - }, - new DnnMenuItem - { - Text = Localization.GetString("GetUrl", this.LocalResourceFile), - Value = "GetUrl", - CssClass = "permission_READ singleItem onlyFiles", - ImageUrl = IconController.IconURL("FileLink", "16x16", "Black"), - }, - }); - - // Dnn Menu Item Extension Point - foreach (var menuItem in this.epm.GetMenuItemExtensionPoints("DigitalAssets", "GridContextMenu", this.Filter)) - { - this.GridMenu.Items.Add(new DnnMenuItem - { - Text = menuItem.Text, - Value = menuItem.Value, - CssClass = menuItem.CssClass, - ImageUrl = menuItem.Icon, - }); - } - } - - private void InitializeEmptySpaceContextMenu() - { - this.EmptySpaceMenu.Items.AddRange(new[] - { - new DnnMenuItem - { - Text = Localization.GetString("CreateFolder", this.LocalResourceFile), - Value = "NewFolder", - CssClass = "permission_ADD disabledIfFiltered", - ImageUrl = IconController.IconURL("FolderCreate", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("RefreshFolder", this.LocalResourceFile), - Value = "RefreshFolder", - CssClass = "permission_READ permission_BROWSE", - ImageUrl = IconController.IconURL("FolderRefreshSync", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("UploadFiles.Title", this.LocalResourceFile), - Value = "UploadFiles", - CssClass = "permission_ADD", - ImageUrl = IconController.IconURL("UploadFiles", "16x16", "Gray"), - }, - new DnnMenuItem - { - Text = Localization.GetString("ViewFolderProperties", this.LocalResourceFile), - Value = "Properties", - CssClass = "permission_READ", - ImageUrl = IconController.IconURL("ViewProperties", "16x16", "CtxtMn"), - }, - }); - } - - private bool HasViewPermissions(IEnumerable permissions) - { - return permissions.Where(permission => permission.Key == "BROWSE" || permission.Key == "READ").Any(permission => permission.Value); - } - - private IEnumerable GetPermissionsForRootFolder(IEnumerable rootPermissions) - { - var result = new List(); - - var deniedPermissionsForRoot = new[] { "DELETE", "MANAGE", "COPY" }; - - foreach (var permission in rootPermissions) - { - result.Add(deniedPermissionsForRoot.Contains(permission.Key) - ? new PermissionViewModel { Key = permission.Key, Value = false } - : permission); - } - - return result; - } - - private void OnItemDataBoundFolderTypeComboBox(object sender, RadComboBoxItemEventArgs e) - { - var dataSource = (FolderMappingViewModel)e.Item.DataItem; - e.Item.Attributes["SupportsMappedPaths"] = FolderProvider.GetProviderList()[dataSource.FolderTypeName].SupportsMappedPaths.ToString().ToLowerInvariant(); - } - } -} diff --git a/DNN Platform/Modules/DigitalAssets/View.ascx.designer.cs b/DNN Platform/Modules/DigitalAssets/View.ascx.designer.cs deleted file mode 100644 index b4ae7c88980..00000000000 --- a/DNN Platform/Modules/DigitalAssets/View.ascx.designer.cs +++ /dev/null @@ -1,235 +0,0 @@ -// -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the MIT License. See LICENSE file in the project root for full license information. -// -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace DotNetNuke.Modules.DigitalAssets { - - - public partial class View { - - /// - /// ScopeWrapper control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel ScopeWrapper; - - /// - /// LeftPaneTabsControl control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.HtmlControls.HtmlGenericControl LeftPaneTabsControl; - - /// - /// LeftPaneContents control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel LeftPaneContents; - - /// - /// FolderTreeView control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnTreeView FolderTreeView; - - /// - /// MainContextMenu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnTreeViewContextMenu MainContextMenu; - - /// - /// SearchBoxPanel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.Panel SearchBoxPanel; - - /// - /// MainToolBar control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.ExtensionPoints.ToolBarButtonExtensionControl MainToolBar; - - /// - /// SelectionToolBar control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.ExtensionPoints.ToolBarButtonExtensionControl SelectionToolBar; - - /// - /// FolderListView control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnListView FolderListView; - - /// - /// Grid control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnGrid Grid; - - /// - /// GridMenu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnContextMenu GridMenu; - - /// - /// EmptySpaceMenu control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnContextMenu EmptySpaceMenu; - - /// - /// ParentFolderLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl ParentFolderLabel; - - /// - /// FolderNameLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FolderNameLabel; - - /// - /// FolderNameTextBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox FolderNameTextBox; - - /// - /// FolderNameRequiredValidator control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RequiredFieldValidator FolderNameRequiredValidator; - - /// - /// FolderNameRegExValidator control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator FolderNameRegExValidator; - - /// - /// FolderTypeLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl FolderTypeLabel; - - /// - /// FolderTypeComboBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnComboBox FolderTypeComboBox; - - /// - /// MappedPathLabel control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.UserControl MappedPathLabel; - - /// - /// MappedPathTextBox control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.TextBox MappedPathTextBox; - - /// - /// MappedPathRegExValidator control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::System.Web.UI.WebControls.RegularExpressionValidator MappedPathRegExValidator; - - /// - /// DestinationTreeView control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnTreeView DestinationTreeView; - - /// - /// fileUpload control. - /// - /// - /// Auto-generated field. - /// To modify move field declaration from designer file to code-behind file. - /// - protected global::DotNetNuke.Web.UI.WebControls.DnnFileUpload fileUpload; - } -} diff --git a/DNN Platform/Modules/DigitalAssets/dnn_DigitalAssets.dnn b/DNN Platform/Modules/DigitalAssets/dnn_DigitalAssets.dnn deleted file mode 100644 index 0bee455ae60..00000000000 --- a/DNN Platform/Modules/DigitalAssets/dnn_DigitalAssets.dnn +++ /dev/null @@ -1,161 +0,0 @@ - - - - Digital Asset Management - DotNetNuke Corporation Digital Asset Management module - Images/Files_32x32_Standard.png - - DNN - .NET Foundation - https://dnncommunity.org - info@dnncommunity.org - - - - true - - 09.01.00 - DotNetNuke.Web.Deprecated - - - - - DotNetNuke.Modules.DigitalAssets - DigitalAssets - DotNetNuke.Modules.DigitalAssets.Components.Controllers.DigitalAssetsController, DotNetNuke.Modules.DigitalAssets - - - - - - Digital Asset Management - 0 - - - - DesktopModules/DigitalAssets/View.ascx - False - - View - - https://dnndocs.com - 0 - - - Settings - DesktopModules/DigitalAssets/Settings.ascx - False - Digital Asset Management Settings - Edit - - - 0 - - - FolderProperties - DesktopModules/DigitalAssets/FolderProperties.ascx - False - Folder Info - View - - - 0 - True - - - FileProperties - DesktopModules/DigitalAssets/FileProperties.ascx - False - File Info - View - - - 0 - True - - - FolderMappings - DesktopModules/DigitalAssets/FolderMappings.ascx - False - Folder Mappings - Edit - - - 0 - True - - - EditFolderMapping - DesktopModules/DigitalAssets/EditFolderMapping.ascx - True - Edit Folder Mapping - Edit - - - 0 - True - - - - - - - DotNetNuke.Entities.Modules.EventMessageProcessor, DotNetNuke - UpgradeModule - - DotNetNuke.Modules.DigitalAssets.Components.Controllers.DigitalAssetsController - [DESKTOPMODULEID] - 07.01.00 - - - - - - - bin - DotNetNuke.Modules.DigitalAssets.dll - - - - - - DesktopModules/DigitalAssets - - View.ascx - View.ascx - - - Settings.ascx - Settings.ascx - - - FolderProperties.ascx - FolderProperties.ascx - - - FileProperties.ascx - FileProperties.ascx - - - FolderMappings.ascx - FolderMappings.ascx - - - EditFolderMapping.ascx - EditFolderMapping.ascx - - - - - - DesktopModules/DigitalAssets - - Resources.zip - - - - - - - - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/module.css b/DNN Platform/Modules/DigitalAssets/module.css deleted file mode 100644 index 492e53f0bfb..00000000000 --- a/DNN Platform/Modules/DigitalAssets/module.css +++ /dev/null @@ -1,1214 +0,0 @@ -.dnnModuleDigitalAssetsBackground { - background-color: rgba(0, 0, 0, 0.1); - position: relative; - min-height: 530px; - text-align: left !important; -} - -#dnnModuleDigitalAssetsLeftPane { - position: absolute; - width: 220px; - min-height: 465px; - height: 100%; - outline: none; - background: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.1) 100%) repeat-y scroll right center / 15px auto transparent; -} - -#dnnModuleDigitalAssetsLeftPane ul.dnnAdminTabNav { - margin: 41px 0 4px 5px; - width: 200px; - border-bottom: 0 none; - height: 35px; - padding: 0; -} - -#dnnModuleDigitalAssetsLeftPane ul.dnnAdminTabNav li { - width: 50%; - margin-right: 0; -} - -#dnnModuleDigitalAssetsLeftPane ul.dnnAdminTabNav li a { - width: 100%; -} - -.dnnModuleDigitalAssetsLeftPaneContents { - position: absolute; - top: 85px; - bottom: 0; - width: 100% -} - -#dnnModuleDigitalAssetsLeftPaneFilesTabContent { - height: 100%; -} - -#dnnModuleDigitalAssetsLeftPaneFilesTabContentScroll { - padding-top: 10px; - outline: none; - position: absolute; - bottom: 0; - top: 0; - left: 10px; - right: 0; -} - -#dnnModuleDigitalAssetsLeftPaneActions { - position: absolute; - list-style: none outside none; - color: #000000; - font: 12px/16px "Segoe UI",Arial,Helvetica,sans-serif; - margin-left: 0; -} - -#dnnModuleDigitalAssetsLeftPaneActions li { - cursor: pointer; - line-height: 40px; - background-position: 3px center; - background-repeat: no-repeat; - padding-left: 22px; -} - -#dnnModuleDigitalAssetsLeftPaneActions li.selected { - color: #4E89E3; - font-weight: bold; -} - -#dnnModuleDigitalAssetsContentPane { - margin-left: 220px; -} - -#dnnModuleDigitalAssetsContentPane .dnnCheckbox-focus { - background-color: transparent; -} - -.dnnModuleDigitalAssetsErrorMessage { - color: red; -} - -#dnnModuleDigitalAssetsSelectionToolbar { - padding: 9px 10px; -} - -#dnnModuleDigitalAssetsSelectionToolbar, #dnnModuleDigitalAssetsListViewToolbar, #dnnModuleDigitalAssetsListContainer, -.dnnModuleDigitalAssetsGrid > table > thead > tr { - min-height: 20px; - border: none; - border-right: 1px solid #E0E0E0; - background: #f0f2f1; - background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); /* Chrome10+,Safari5.1+ */ - background: linear-gradient(top, #fff 0%,#f0f2f1 100%); /* W3C */ - border-left: 1px solid #CCCCCC; -} - -#dnnModuleDigitalAssetsSelectionToolbar button.startSelectionToolBarSection { - border-left: 1px solid #ccc; - padding-left: 25px; - margin-left: 6px; -} - -#dnnModuleDigitalAssetsListViewToolbar { - border: solid #E0E0E0; - border-width: 1px 0; - padding: 6px 0 0 12px; - height: 24px; - font-size: 12px; -} - -.dnnModuleDigitalAssetsGrid span:hover { - text-decoration: underline; -} - -.dnnModuleDigitalAssetsGrid .dnnModuleDigitalAssetsPagerStyle span:hover { - text-decoration: none; -} - -.dnnModuleDigitalAssetsGrid .dnnModuleDigitalAssetsPagerStyle a.rgCurrentPage>span:hover { - text-decoration: none; -} - -.dnnModuleDigitalAssetsGrid .dnnModuleDigitalAssetsPagerStyle a>span:hover { - text-decoration: underline; - color: black; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPager .RadComboBox { - margin: 0; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPager .RadComboBox .rcbArrowCellRight, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPager .RadComboBox .rcbArrowCellRight a { - margin-right: 5px; - width: 7px; -} - -.dnnModuleDigitalAssetsPagerStyle .RadComboBox_Default .rcbInput { - padding: 7px !important; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgNumPart { - padding: 10px 0 0; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgNumPart a { - padding: 0; - width: 18px; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgNumPart span { - padding: 0; - text-align: center; - width: 18px; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageFirst, .RadGrid.dnnModuleDigitalAssetsGrid .rgPagePrev { - margin-right: 0; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageNext, .RadGrid.dnnModuleDigitalAssetsGrid .rgPageLast { - margin-left: 0; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgWrap.rgArrPart2 { - padding-left: 5px; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageFirst, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPagePrev, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageNext, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageLast { - - color: #999999; - height: 22px; - vertical-align: top; - visibility: visible; - width: auto; - font-size: 12px; - padding-bottom: 2px; -} - -.dnnModuleDigitalAssetsPagerStyle span.rgPagerLabel { - color: #999999; -} - -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageFirst:hover, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPagePrev:hover, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageNext:hover, -.RadGrid.dnnModuleDigitalAssetsGrid .rgPageLast:hover { - - color: #333; - text-decoration: underline; -} - -#dnnModuleDigitalAssetsGridViewNoItems, #dnnModuleDigitalAssetsListViewNoItems { - height: 38px; - line-height: 38px; - padding: 1px; - font-size: 12px; - text-align: center; -} - -#dnnModuleDigitalAssetsListViewNoItems { - padding-top: 2px; -} - -span.dnnModuleDigitalAssetsNoItems { - color: #BBBBBB; - text-align: center; - text-decoration: none !important; -} - -#dnnModuleDigitalAssetsSelectionToolbar button { - background: none repeat scroll 0 0 transparent; - border: 0 none; - width: 20px; - height: 20px; - margin-left: 7px; - cursor: pointer; - padding: 0; - position: relative; - float: left; -} - -#dnnModuleDigitalAssetsSelectionToolbar button span { - background-position: center center; - background-repeat: no-repeat; - display: block; - height: 20px; - width: 20px; -} -#dnnModuleDigitalAssetsMainToolbarTitle { - padding: 5px 0 5px 10px; -} -#dnnModuleDigitalAssetsMainToolbarTitle span { - display: inline-block; -} -#dnnModuleDigitalAssetsMainToolbarTitle span.title-currentFolder { - float: right; - margin-right: 10px; -} -#dnnModuleDigitalAssetsMainToolbarTitle span.title-currentFolder img { - width: 16px; - height: 16px; - margin-right: 4px; - vertical-align: text-bottom; -} -#dnnModuleDigitalAssetsMainToolbar { - height: 34px; - padding: 5px 0 5px 10px; - border-left: 1px solid #CCCCCC; - position: relative; -} - -#dnnModuleDigitalAssetsMainToolbar button { - background-image: linear-gradient(top, #FEFEFE 0%, #EAEAEA 100%); - background-image: -o-linear-gradient(top, #FEFEFE 0%, #EAEAEA 100%); - background-image: -moz-linear-gradient(top, #FEFEFE 0%, #EAEAEA 100%); - background-image: -webkit-linear-gradient(top, #FEFEFE 0%, #EAEAEA 100%); - background-image: -ms-linear-gradient(top, #FEFEFE 0%, #EAEAEA 100%); - background-image: -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, #FEFEFE), - color-stop(1, #EAEAEA) - ); - box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.4), 0 1px 0 0 #FFFFFF inset; - border: 1px solid #C2C2C2; - height: 30px; - min-width: 31px; - cursor: pointer; - padding: 0; -} - -#dnnModuleDigitalAssetsMainToolbar button.leftAligned { - float: left; -} - -#dnnModuleDigitalAssetsMainToolbar button.rightAligned { - float: right; -} - -#dnnModuleDigitalAssetsMainToolbar button.singleButton { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - margin-right: 10px; -} - -#dnnModuleDigitalAssetsMainToolbar button.leftButton { - -webkit-border-top-left-radius: 3px; - -webkit-border-bottom-left-radius: 3px; - -moz-border-radius-topleft: 3px; - -moz-border-radius-bottomleft: 3px; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; - border-right-width: 0; - margin-right: 0; -} - -#dnnModuleDigitalAssetsMainToolbar button.middleButton { - margin-right: 0; - margin-left: 0; - border-left-width: 0; - border-right-width: 0; - -webkit-border-bottom-left-radius: 1px; - -moz-border-radius-bottomleft: 1px; - border-bottom-left-radius: 1px; -} - -#dnnModuleDigitalAssetsMainToolbar button.split { - border-left-width: 1px; -} - -#dnnModuleDigitalAssetsMainToolbar button.rightButton { - -webkit-border-top-right-radius: 3px; - -webkit-border-bottom-right-radius: 3px; - -moz-border-radius-topright: 3px; - -moz-border-radius-bottomright: 3px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - margin-right: 10px; - margin-left: 0; -} -#dnnModuleDigitalAssetsMainToolbar button.hidden, #dnnModuleDigitalAssetsMainToolbar span.hidden { - display: none !important; -} - -#dnnModuleDigitalAssetsMainToolbar button span { - background-position: center center; - background-repeat: no-repeat; - display: block; - height: 30px; - width: 100%; - max-width: 30px; -} - -#dnnModuleDigitalAssetsSearchBox { - background-color: white; - border-radius: 3px 3px 3px 3px; - box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8), 0 1px 2px 0 rgba(0, 0, 0, 0.1) inset; - float: right; - height: 27px; - margin-right: 11px; - margin-top: 10px; - position: relative; - min-width: 300px; -} - -#dnnModuleDigitalAssetsSearchBox > input.searchInput { - color: #777777; - background: none repeat scroll 0 0 transparent; - border: medium none; - box-shadow: none; - height: 21px; - padding: 3px 9px; - width: 200px; - outline: none; -} - -#dnnModuleDigitalAssetsSearchBox > a.searchButton { - background-image: url("Images/Search.png"); - cursor: pointer; - height: 16px; - position: relative; - float: right; - right: 9px; - top: 6px; - width: 16px; -} - -#dnnModuleDigitalAssetsSearchBox::-ms-clear { - display: none; -} - -#dnnModuleDigitalAssetsSelectionText -{ - font-weight: bold; - margin-left: 10px; - margin-right: 20px; - float: left; - line-height: 20px; -} - -/*To hide TreeView/Grid ContextMenu items*/ -li.rmItem a.permission_denied { - display: none; -} - -.permission_denied { - display: none; -} - -#dnnModuleDigitalAssetsCreateFolderModal fieldset { - margin-top: 56px; - position: relative; -} - -#dnnModuleDigitalAssetsCreateFolderModal .dnnModuleDigitalAssetsCreateFolderModalNoEditableField { - margin-bottom: 18px; - max-width: 225px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#dnnModuleDigitalAssetsCreateFolderModal .dnnModuleDigitalAssetsHideFolderTypeDropDowList { - display: none !important; -} - -#dnnModuleDigitalAssetsCreateFolderModal #dnnModuleDigitalAssetsFolderTypeNoEditableLabel { - position: relative; - bottom: -4px; -} - -#dnnModuleDigitalAssetsCreateFolderMappedPathFieldRow { - margin-top: 5px; -} - -#dnnModuleDigitalAssetsCreateFolderMappedPathFieldRow .dnnFormHelpContent { - top: -82px; -} - -#dnnModuleDigitalAssetsCreateFolderModal .dnnFormItem { - position: relative; -} - -.ItemNameEdit { - width: 90%; - color: black; -} - -.ItemIcon { - margin-right: 5px; - width: 16px; - height: 16px; -} - -.dnnModuleDigitalAssetsLoading { - background: url("../../images/loading.gif") no-repeat scroll center center #FFFFFF; - position: absolute; - z-index: 999; - opacity: 0.7; -} - -.dnnModuleDigitalAssetsMainLoading { - bottom: 0; - left: 220px; - right: 0; - top: 42px; -} - -#dnnModuleDigitalAssetsAlertItemsSubtext { - margin: 25px 0 10px 0; -} - -table.dnnModuleDigitalAssetsAlertItemsTable -{ - background-color: #F2F2F2; - width: 100%; - border-collapse: collapse; - border-spacing: 0px; -} - -table.dnnModuleDigitalAssetsAlertItemsTable tr td -{ - color: #A5A5A5; - padding: 5px; - border-bottom: 1px solid #ccc; -} - -.dnnModuleDigitalAssetsAlertItemsTable a { - margin-right: 15px; -} - -/* Grid */ - -.dnnModuleDigitalAssetsGrid > table > thead > tr { - height: 30px; -} - -.dnnModuleDigitalAssetsGrid > table > tbody > tr { - height: 40px; - white-space: nowrap; -} - -.dnnModuleDigitalAssetsGrid table.rgMasterTable -{ - border-collapse: collapse; - border-spacing: 0; -} - -div.dnnModuleDigitalAssetsGrid -{ - border: solid #E0E0E0; - border-width: 1px 0 0; - outline: none; - padding-bottom: 52px; - background: none; -} - -#dnnModuleDigitalAssetsListContainer { - background-color: white; - background-image: none; - min-height: 488px; - position: relative; -} - -div.dnnModuleDigitalAssetsGrid > table > tfoot > tr.rgPager > td > table { - background-color: #F7F7F7; - position: absolute; - bottom: 0; -} - -.dnnModuleDigitalAssetsGrid tr.rgRow, .dnnModuleDigitalAssetsGrid tr.rgAltRow -{ - background-color: transparent; - color: #777777; -} - -.dnnModuleDigitalAssetsGrid tr.rgRow td, .dnnModuleDigitalAssetsGrid tr.rgAltRow td -{ - border-bottom: none; - border-top: 1px solid #E0E0E0; -} - -.dnnModuleDigitalAssetsGrid th.rgHeader, .dnnModuleDigitalAssetsGrid th.rgResizeCol -{ - border-bottom-color: #E0E0E0; - border-right-color: #E0E0E0; -} - -.dnnModuleDigitalAssetsGrid th.rgHeader a, .dnnModuleDigitalAssetsGrid th.rgResizeCol a, #dnnModuleDigitalAssetsListViewToolbar -{ - color: #777; -} - -.dnnModuleDigitalAssetsGrid tr.rgRow:hover td, .dnnModuleDigitalAssetsGrid tr.rgAltRow:hover td -{ - color: black; -} - -.dnnModuleDigitalAssetsGrid tr.rgSelectedRow, .dnnModuleDigitalAssetsGrid tr.rgSelectedRow, -.dnnModuleDigitalAssetsGrid tr.rgSelectedRow:hover, .dnnModuleDigitalAssetsGrid tr.rgSelectedRow:hover -{ - background-color: #4D8AE2; -} - -.dnnModuleDigitalAssetsGrid tr.rgSelectedRow, .dnnModuleDigitalAssetsGrid tr.rgSelectedRow -{ - color: white; -} - -.dnnModuleDigitalAssetsGrid-SizeColumn { - text-align: right; -} - -/* Footer Pager */ -.dnnModuleDigitalAssetsGrid tr.rgPager { - background-color: #F7F7F7; -} - -.dnnModuleDigitalAssetsGrid tr.rgPager td.rgPagerCell { - padding: 0px; -} - -.dnnModuleDigitalAssetsGrid tr.rgPager thead { - display: none !important; -} - -/* Context Menu */ - -.RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup li.rmItem - { - background-color: white; - background-image: none; - border-bottom: 1px solid #DFDFDF; - height: 35px; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu, .RadMenu.dnnModuleDigitalAssetsContextMenu a.rmLink -{ - font: inherit; - font-size: 11px; - line-height: 35px; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup { - border-radius: 5px; - box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3); -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup span.rmText { - background-image: none; - color: #777; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup a.rmLink:hover -{ - background-color: #E8F0FC; - background-repeat: no-repeat; - background-image: none; - background-position: initial; - border: none; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup a.rmLink:hover span { - color: black; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu .RadMenu.dnnModuleDigitalAssetsContextMenu ul.rmGroup li.rmItem.rmLast -{ - border-bottom: none; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu .rmItem.rmFirst, .RadMenu.dnnModuleDigitalAssetsContextMenu .rmItem.rmFirst a { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu .rmItem.rmLast, .RadMenu.dnnModuleDigitalAssetsContextMenu .rmItem.rmLast a { - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; -} - -.RadMenu.dnnModuleDigitalAssetsContextMenu .rmLeftImage { - margin-left: 15px !important; - margin-top: 9px !important; - margin-right: 10px !important; -} - -#dnnModuleDigitalAssetsBreadcrumb { - border-left: 1px solid #CCCCCC; - display: table-cell; - height: 38px; - padding-top: 4px; - vertical-align: middle; - padding-left: 6px; -} - -#dnnModuleDigitalAssetsBreadcrumb ul { - list-style: none outside none; - margin-bottom: 0; - margin-left: 7px; - padding: 0; -} - -#dnnModuleDigitalAssetsBreadcrumb li { - float: left; - color: #666666; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 180px; - font-size: 13px; -} - -#dnnModuleDigitalAssetsBreadcrumb li.dnnModuleDigitalAssetsBreadcrumbLink { - background-image: url("../../icons/sigma/BreadcrumbArrows_16x16_Gray.png"); - background-position: right center; - background-repeat: no-repeat; - margin-right: 5px; - padding-right: 20px; - font-size: 13px; -} - -.dnnModuleDigitalAssetItemNameTemplate { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.DigitalAssetsToggleLeftPane { - float: left; -} - -#dnnModuleDigitalAssetsDestinationFolderScroll { - background-color: #E5E5E5; - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 15px; - width: auto; -} - -.dnnModuleDigitalAssetsFilesView { - padding-left: 10px; -} - -.dnnModuleDigitalAssetsDestinationTreeView { - margin: 10px; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView .rtIn { - color: #555; - cursor: pointer; - vertical-align: text-bottom; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView li.rtLI.selected > div > span.rtIn { - color: #4E89E3; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView .rtImg { - cursor: pointer; - height: 16px; - width: 16px; -} - -.dnnModuledigitalAssetsTreeView { - width: 200px; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView_Default .rtPlus, .dnnModuledigitalAssetsTreeView.RadTreeView_Default .rtMinus { - background-image: url("images/tree.png"); -} - -.dnnModuledigitalAssetsTreeView.RadTreeView_Default .rtHover .rtIn, .dnnModuledigitalAssetsTreeView.RadTreeView_Default .rtSelected .rtIn { - border: 1px solid transparent; - background-color: transparent; - background-image: none; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView_Default .rtSelected .rtIn { - background-color: transparent; - background-image: none; - font-weight: bold; - color: #4E89E3; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView li.rtLI>div { - text-overflow: ellipsis; -} - -#dnnModuleDigitalAssetsGetUrlModal input { - cursor: pointer; - margin-top: 25px; - width: 410px; -} - -#dnnModuleDigitalAssetsButtonPane .dnnActions { - padding-top: 15px; - border-top: 1px solid #c0c0c0; -} - -#dnnModuleDigitalAssetsPropertiesContent { - min-height: 250px; -} - -/* List View */ -#dnnModuleDigitalAssetsListViewContainer -{ - min-height: 487px; - margin-bottom: 47px; -} - -#dnnModuleDigitalAssetsListView { - padding: 9px; - display: inline-block; -} - -#dnnModuleDigitalAssetsListView.moreItems:after { - bottom: 62px; - content: "..."; - font-size: 12em; - line-height: 148px; - opacity: 0.1; - position: absolute; - right: 16px; -} - -.dnnModuleDigitalAssetsListViewItem { - padding: 13px; - margin: 5px; - background-color: #EFEFEF; - display: inline; - float: left; - width: 148px; - height: 148px; - text-align: center; - cursor: pointer; - color: #777777; - position: relative; -} - -.dnnModuleDigitalAssetsListViewItem span.dnnCheckbox { - left: 5px; - position: absolute; - top: 5px; -} - -.dnnModuleDigitalAssetsListViewItem input { - text-align: center; - width: 144px; - color: black; -} - -div.dnnModuleDigitalAssetsListViewItem:hover { - color: #333333; - background-color: #E8F0FC; -} - -div.dnnModuleDigitalAssetsListViewItem span:hover { - text-decoration: underline; -} - -.dnnModuleDigitalAssetsListViewItem.selected:hover { - background-color: #4D8AE2; -} - -.dnnModuleDigitalAssetsListViewItem.selected { - background-color: #4D8AE2; - color: white; -} - -.dnnModuleDigitalAssetsThumbnail { - width: 150px; - height: 100px; - vertical-align: middle; - display: table-cell; -} - -.dnnModuleDigitalAssetsThumbnailNoThumbnail { - width: 32px; - height: 32px; -} - -/* View Properties dialogs */ -.dnnModuleDigitalAssetsPreviewInfo { - min-height: 275px; - width: 244px; - margin-top: 7px; - margin-bottom: 25px; - background-color: #e5e5e5; - float: left; - padding: 18px 18px 18px 18px; -} - -.dnnModuleDigitalAssetsGeneralProperties { - min-height: 300px; - width: 600px !important; - margin-top: 7px; - margin-bottom: 25px; - float: left; -} - -.dnnModuleDigitalAssetsPreviewInfoImageContainer { - width: 240px; - background-color: #d3d3d3; - height: 160px; - vertical-align: middle; - display: table-cell; - text-align: center; -} - -.dnnModuleDigitalAssetsPreviewInfoImageContainerThumbnail -{ - position: relative; - display: inline-block; - background-image: url("Images/transparencyBG.jpg"); -} - -.dnnModuleDigitalAssetsPreviewInfoZoomOut { - margin-top: 8px; -} - -.dnnModuleDigitalAssetsPreviewInfoZoomOutContainer { - position: absolute; - bottom: 0px; - right: 0px; - - vertical-align: middle; - display: table-cell; - text-align: center; - - width: 32px; - height: 32px; - background-color: black; - background-color: rgba(0, 0, 0, 0.65); -} - -.dnnModuleDigitalAssetsPreviewInfoZoomOutContainer a { - display: block; - width: 32px; - height: 32px; -} - -.dnnModuleDigitalAssetsPreviewInfoImage { - width: 111px; - height: 111px; -} - -.dnnModuleDigitalAssetsPreviewInfoImageThumbnail { - min-width: 64px; - min-height: 64px; -} - -.dnnModuleDigitalAssetsPreviewInfoFieldLabel { - width: 35%; - text-align: right; - font-weight: bold; -} - -.dnnModuleDigitalAssetsPreviewInfoFieldValue { - padding-left: 5px; -} - -.dnnModuleDigitalAssetsPreviewInfoFieldsContainer { - margin-top: 18px; -} - -.dnnModuleDigitalAssetsPreviewInfoFieldsTable { - width: 100%; -} - -.dnnModuleDigitalAssetsPreviewInfoTitle { - margin-bottom: 18px; -} - -.dnnModuleDigitalAssetsGeneralPropertiesSingleField{ - margin-left: 8px; -} - -.dnnLabel + span.dnnModuleDigitalAssetsGeneralPropertiesSingleField -{ - margin-bottom: 18px; -} - -.dnnModuleDigitalAssetsGeneralPropertiesGroupedFields { - display: inline-block; - padding-left: 8px; - width: 55%; - background-color: #f0f0f0; -} - -.dnnModuleDigitalAssetsGeneralPropertiesGroupedFields .dnnCheckbox { - position: relative; - left: -5px; -} - -.dnnFormItem > div.dnnModuleDigitalAssetsGeneralPropertiesGroupedFields { - margin-bottom: 18px; -} - -.dnnModuleDigitalAssetsGeneralProperties .token-input-list-facebook { - width: 47.5%; - left: 8px; - position: relative; - margin-bottom: 18px; -} - -#FilePublishPeriodDates .dnnLabel { - text-align: left; - float: none; - width: auto; - padding-top: 5px; - font-weight: bold; -} - -#StartDateFieldsContainer { - float: left; - margin-right: 6px; -} - -.dnnModuleDigitalAssetsHighlight { - background: yellow; - color: black; -} - -#dnnModuleDigitalAssetsLeftPane ul.buttonGroup li a { - padding: 5px 0px; - margin-top: 5px; - border: 1px solid #c2c2c2; - background: #f0f2f1; - background: -moz-linear-gradient(top, #fff 0%, #f0f2f1 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f0f2f1)); - background: -webkit-linear-gradient(top, #fff 0%,#f0f2f1 100%); - background: linear-gradient(top, #fff 0%,#f0f2f1 100%); - color: #999999; - font-weight: normal; - box-shadow: 0 1px grey; - -webkit-box-shadow: 0 1px grey; -} - -#dnnModuleDigitalAssetsLeftPane ul.buttonGroup li:first-child a -{ - -webkit-border-radius: 3px 0 0 3px; - border-radius: 3px 0 0 3px; - border-right: 0; -} - -#dnnModuleDigitalAssetsLeftPane ul.buttonGroup li:last-child a -{ - -webkit-border-radius: 0 3px 3px 0; - border-radius: 0 3px 3px 0; -} - -#dnnModuleDigitalAssetsLeftPane ul.buttonGroup li.ui-tabs-active a { - background: #d0d0d0; - background: -moz-linear-gradient(top, #d0d0d0 0%, #eaeaea 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d0d0d0), color-stop(100%,#eaeaea)); - background: -webkit-linear-gradient(top, #d0d0d0 0%,#eaeaea 100%); - background: -o-linear-gradient(top, #d0d0d0 0%,#eaeaea 100%); - background: -ms-linear-gradient(top, #d0d0d0 0%,#eaeaea 100%); - background: linear-gradient(to bottom, #d0d0d0 0%,#eaeaea 100%); - text-shadow: 0 0; - color: #666666; -} - -/* Synchronize Menu options */ - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton > span { - display:block; - height:30px; - float:right; - border:1px solid transparent -} - -.DigitalAssetsMenuButton_menu > ul > li > span { - display: inline-block; - margin-right: 3px; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_wrapper { - height:16px; - margin-top: 5px; - min-width:1px; - position: relative; - float: left; - top: -5px; -} -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_wrapper button { - margin-left: 6px; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton { - border-left-width: 0; - left: -6px; - min-width: 16px; - position: relative; - z-index: 1; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu { - position: absolute; - right: -3px; - bottom: -13px; - display:none; - min-width:82px; - margin-top: 24px; - background-color:#fff; - z-index:1000; -} -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu .handle{ - z-index:1000; - position:absolute; - right: 19px; - top: -29px; - width: 39px; - height:25px; - border:1px solid #ccc; - border-bottom:1px solid #fff; - -moz-border-radius-topright: 3px; - -webkit-border-radius: 0px 3px 0px 0px; - border-radius: 0px 3px 0px 0px; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu .handle:hover -{ - cursor: pointer; -} - -#dnnModuleDigitalAssetsMainToolbar .expanded { - background: white; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul{ - position:absolute; - top:-3px; - right:-157px; - width: 215px; - padding:10px 0 10px 0; - border:1px solid #ccc; - list-style:none; - background:#fff; - - -webkit-border-radius: 0px 0px 3px 3px; - border-radius: 0px 0px 3px 3px; - - -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); - -moz-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); - box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, .5); - -} -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul li { - list-style:none; - margin-bottom: 4px; - padding-left: 10px; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul li.first -{ - margin-bottom: 10px; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul li.medium { - margin-bottom: 10px; - padding-top: 10px; - border-top: 1px solid #ccc; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul li.last -{ - padding-top: 10px; - border-top: 1px solid #ccc; -} - -#dnnModuleDigitalAssetsMainToolbar .DigitalAssetsMenuButton_menu ul li a { - color: #666666; - text-shadow: 0 0; -} - -div.dnnModuleDigitalAssetsDragClue, .dnnModuleDigitalAssetsGrid.GridDraggedRows, .dnnModuledigitalAssetsTreeView.rtDragClue { - background-color: #333333; - background-color: rgba(0, 0, 0, 0.75); - border-radius: 3px 3px 3px 3px; - border-width: 0; - padding: 10px 15px; - color: #DDDDDD; - font-weight: bold; - display: inline; -} - -.dnnModuledigitalAssetsTreeView.rtDragClue>ul>div { - padding-left: 0; -} - -.dnnModuledigitalAssetsTreeView.RadTreeView_Default.rtDragClue>ul>div>span.rtIn { - color: inherit; -} - -div.dnnModuleDigitalAssetsDragClue span.dragIcon, -.dnnModuleDigitalAssetsGrid.GridDraggedRows span.dragIcon { - background: url(../../images/pin-icn.png); - display: inline-block; - height: 14px; - margin-right: 10px; - vertical-align: text-bottom; - width: 14px; -} - -li.dropTarget, .dnnModuleDigitalAssetsListViewItem.dropTarget { - box-shadow: 0 0 10px 0 #028BFF inset; -} - -tr.dropTarget td { - box-shadow: 0px 10px 8px -10px #028BFF inset, 0 -10px 8px -10px #028BFF inset; -} - -tr.dropTarget td:first-child { - box-shadow: 10px 3px 7px -10px #028BFF inset, 0px 10px 8px -10px #028BFF inset, 0 -10px 8px -10px #028BFF inset; -} - -tr.dropTarget td:nth-last-child(2) { - box-shadow: -10px 3px 7px -10px #028BFF inset, 0px 10px 8px -10px #028BFF inset, 0 -10px 8px -10px #028BFF inset; -} - -#dnnModuleDigitalAssetsListContainer.dropTarget { - box-shadow: 0 -58px 10px 0 #028BFF inset, 0 36px 10px 0 #028BFF inset; -} - -.rcbSlide { - z-index: 100100 !important; /*This z-index must be greater than ui-dialog z-index*/ -} - -div.moving .dnnModuleDigitalAssetsGrid tr.rgRow, div.moving .dnnModuleDigitalAssetsGrid tr.rgAltRow { - background-color: transparent; - color: #777777; -} - -div.EditFolderMappingContent .dnnFormItem .dnnLeft { - float: left; - width: 50%; -} - -.dnnDigitalAssetsSettingControlBox { - background: none repeat scroll 0 0 #E3E3E5; - display: inline-block; - margin: 0 0 14px; - padding: 8px; - position: relative; - white-space: normal; -} - -#FilterByFolderOptions .dnnDropDownList { - margin-bottom: 0; - width: 98%; -} - -.dialogNote { - margin: 5px 0 5px 0; -} \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/packages.config b/DNN Platform/Modules/DigitalAssets/packages.config deleted file mode 100644 index 4c907085514..00000000000 --- a/DNN Platform/Modules/DigitalAssets/packages.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/DNN Platform/Modules/DigitalAssets/web.config b/DNN Platform/Modules/DigitalAssets/web.config deleted file mode 100644 index 1b3cf4537a7..00000000000 --- a/DNN Platform/Modules/DigitalAssets/web.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/DNN Platform/Modules/DnnExportImport/DnnExportImport.csproj b/DNN Platform/Modules/DnnExportImport/DnnExportImport.csproj index 18f6d396d1b..c30c6668b63 100644 --- a/DNN Platform/Modules/DnnExportImport/DnnExportImport.csproj +++ b/DNN Platform/Modules/DnnExportImport/DnnExportImport.csproj @@ -1,8 +1,8 @@  - - - + + + true @@ -44,14 +44,13 @@ 7 - - ..\..\..\packages\LiteDB.3.1.0\lib\net35\LiteDB.dll - True + + ..\..\..\packages\LiteDB.5.0.12\lib\net45\LiteDB.dll - + False - ..\..\..\Packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll @@ -60,13 +59,14 @@ - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll + - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll @@ -163,6 +163,7 @@ stylecop.json + @@ -186,21 +187,21 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/DnnExportImport/app.config b/DNN Platform/Modules/DnnExportImport/app.config new file mode 100644 index 00000000000..c63cc7d0666 --- /dev/null +++ b/DNN Platform/Modules/DnnExportImport/app.config @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/DnnExportImport/dnn_SiteExportImport.dnn b/DNN Platform/Modules/DnnExportImport/dnn_SiteExportImport.dnn index 4c6c535154a..1f11d35db66 100644 --- a/DNN Platform/Modules/DnnExportImport/dnn_SiteExportImport.dnn +++ b/DNN Platform/Modules/DnnExportImport/dnn_SiteExportImport.dnn @@ -1,12 +1,12 @@ - + Site Export Import DotNetNuke Corporation Site Export Import Library Images/Files_32x32_Standard.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/DnnExportImport/packages.config b/DNN Platform/Modules/DnnExportImport/packages.config index 0180aeaa216..392b14cc6cd 100644 --- a/DNN Platform/Modules/DnnExportImport/packages.config +++ b/DNN Platform/Modules/DnnExportImport/packages.config @@ -1,11 +1,11 @@  - - - - - - - + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj b/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj index 093e3e0fc83..863f995013e 100644 --- a/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj +++ b/DNN Platform/Modules/DnnExportImportLibrary/DnnExportImportLibrary.csproj @@ -1,130 +1,130 @@ - - - - - - - - true - - - - - Debug - AnyCPU - {2C624453-4ED2-4BCB-9D71-664AC7D5955C} - Library - Properties - Dnn.ExportImport - DotNetNuke.SiteExportImport.Library - v4.7.2 - 512 - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - 1591 - 7 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - 1591 - 7 - - - - ..\..\..\packages\LiteDB.3.1.0\lib\net35\LiteDB.dll - True - - - - - - - Properties\SolutionInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - stylecop.json - - - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - - - - - - - - + + + + + + + + true + + + + + Debug + AnyCPU + {2C624453-4ED2-4BCB-9D71-664AC7D5955C} + Library + Properties + Dnn.ExportImport + DotNetNuke.SiteExportImport.Library + v4.7.2 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + 1591 + 7 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + 1591 + 7 + + + + ..\..\..\packages\LiteDB.5.0.12\lib\net45\LiteDB.dll + + + + + + + + Properties\SolutionInfo.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + stylecop.json + + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/DnnExportImportLibrary/Repository/ExportImportRepository.cs b/DNN Platform/Modules/DnnExportImportLibrary/Repository/ExportImportRepository.cs index 5c5d581a860..70fc62dfb46 100644 --- a/DNN Platform/Modules/DnnExportImportLibrary/Repository/ExportImportRepository.cs +++ b/DNN Platform/Modules/DnnExportImportLibrary/Repository/ExportImportRepository.cs @@ -22,7 +22,7 @@ public class ExportImportRepository : IExportImportRepository /// The LiteDB connection string. public ExportImportRepository(string dbFileName) { - this.liteDb = new LiteDatabase(dbFileName); + this.liteDb = new LiteDatabase(new ConnectionString(dbFileName) { Upgrade = true }); this.liteDb.Mapper.EmptyStringToNull = false; this.liteDb.Mapper.TrimWhitespace = false; } @@ -245,7 +245,7 @@ public void DeleteItems(Expression> deleteExpression) var collection = this.DbCollection(); if (deleteExpression != null) { - collection.Delete(deleteExpression); + collection.DeleteMany(deleteExpression); } } @@ -298,7 +298,7 @@ private void Dispose(bool isDisposing) return result.AsEnumerable(); } - private LiteCollection DbCollection() + private ILiteCollection DbCollection() { return this.liteDb.GetCollection(typeof(T).Name); } diff --git a/DNN Platform/Modules/DnnExportImportLibrary/packages.config b/DNN Platform/Modules/DnnExportImportLibrary/packages.config index dce84d57d76..228c7e6c01b 100644 --- a/DNN Platform/Modules/DnnExportImportLibrary/packages.config +++ b/DNN Platform/Modules/DnnExportImportLibrary/packages.config @@ -1,8 +1,8 @@  - - - - + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj b/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj index 2851c55cd6f..d212b0c9c0a 100644 --- a/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj +++ b/DNN Platform/Modules/Groups/DotNetNuke.Modules.Groups.csproj @@ -60,27 +60,27 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - + False - ..\..\..\Packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll diff --git a/DNN Platform/Modules/Groups/SocialGroups.dnn b/DNN Platform/Modules/Groups/SocialGroups.dnn index 1386e630e24..d3ecd54b09f 100644 --- a/DNN Platform/Modules/Groups/SocialGroups.dnn +++ b/DNN Platform/Modules/Groups/SocialGroups.dnn @@ -1,12 +1,12 @@ - + Social Groups DotNetNuke Corporation Social Groups module ~/DesktopModules/SocialGroups/Images/Social_Groups_32X32.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/Groups/packages.config b/DNN Platform/Modules/Groups/packages.config index 05c0d878401..767b5ee95ed 100644 --- a/DNN Platform/Modules/Groups/packages.config +++ b/DNN Platform/Modules/Groups/packages.config @@ -1,11 +1,11 @@  - - - - + + + + - + \ No newline at end of file diff --git a/DNN Platform/Modules/Groups/web.config b/DNN Platform/Modules/Groups/web.config index 27ab2d72e82..4f21d0d70f1 100644 --- a/DNN Platform/Modules/Groups/web.config +++ b/DNN Platform/Modules/Groups/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/HTML/Components/HtmlTextController.cs b/DNN Platform/Modules/HTML/Components/HtmlTextController.cs index 12e9ff1410d..b12161b77f0 100644 --- a/DNN Platform/Modules/HTML/Components/HtmlTextController.cs +++ b/DNN Platform/Modules/HTML/Components/HtmlTextController.cs @@ -98,82 +98,88 @@ public static string FormatHtmlText(int moduleId, string content, HtmlModuleSett return content; } - public static string ManageRelativePaths(string strHTML, string strUploadDirectory, string strToken, int intPortalID) + [Obsolete("Deprecated in Platform 9.11.0. Use overload without int. Scheduled removal in v11.0.0.")] + public static string ManageRelativePaths(string htmlContent, string strUploadDirectory, string strToken, int intPortalID) { - int P = 0; - int R = 0; - int S = 0; - int tLen = 0; - string strURL = null; + return ManageRelativePaths(htmlContent, strUploadDirectory, strToken); + } + + public static string ManageRelativePaths(string htmlContent, string uploadDirectory, string token) + { + var htmlContentIndex = 0; var sbBuff = new StringBuilder(string.Empty); - if (!string.IsNullOrEmpty(strHTML)) + if (string.IsNullOrEmpty(htmlContent)) { - tLen = strToken.Length + 2; - string uploadDirectory = strUploadDirectory.ToLowerInvariant(); + return string.Empty; + } - // find position of first occurrance: - P = strHTML.IndexOf(strToken + "=\"", StringComparison.InvariantCultureIgnoreCase); - while (P != -1) - { - sbBuff.Append(strHTML.Substring(S, P - S + tLen)); + token = token + "=\""; + var tokenLength = token.Length; + uploadDirectory = uploadDirectory.ToLowerInvariant(); - // keep charactes left of URL - S = P + tLen; + // find position of first occurrence: + var tokenIndex = htmlContent.IndexOf(token, StringComparison.InvariantCultureIgnoreCase); + while (tokenIndex != -1) + { + sbBuff.Append(htmlContent.Substring(htmlContentIndex, tokenIndex - htmlContentIndex + tokenLength)); - // save startpos of URL - R = strHTML.IndexOf("\"", S); + // keep characters left of URL + htmlContentIndex = tokenIndex + tokenLength; - // end of URL - if (R >= 0) - { - strURL = strHTML.Substring(S, R - S).ToLowerInvariant(); - } - else + // save start position of URL + var urlEndIndex = htmlContent.IndexOf('\"', htmlContentIndex); + + // end of URL + string strURL; + if (urlEndIndex >= 0 && urlEndIndex < htmlContent.Length - 2) + { + strURL = htmlContent.Substring(htmlContentIndex, urlEndIndex - htmlContentIndex).ToLowerInvariant(); + } + else + { + tokenIndex = -1; + continue; + } + + if (htmlContent.Substring(tokenIndex + tokenLength, 10).Equals("data:image", StringComparison.InvariantCultureIgnoreCase)) + { + tokenIndex = htmlContent.IndexOf(token, htmlContentIndex + strURL.Length + 2, StringComparison.InvariantCultureIgnoreCase); + continue; + } + + // if we are linking internally + if (!strURL.Contains("://")) + { + // remove the leading portion of the path if the URL contains the upload directory structure + var strDirectory = uploadDirectory; + if (!strDirectory.EndsWith("/", StringComparison.Ordinal)) { - strURL = strHTML.Substring(S).ToLowerInvariant(); + strDirectory += "/"; } - if (strHTML.Substring(P + tLen, 10).Equals("data:image", StringComparison.InvariantCultureIgnoreCase)) + if (strURL.IndexOf(strDirectory, StringComparison.InvariantCultureIgnoreCase) != -1) { - P = strHTML.IndexOf(strToken + "=\"", S + strURL.Length + 2, StringComparison.InvariantCultureIgnoreCase); - continue; + htmlContentIndex = htmlContentIndex + strURL.IndexOf(strDirectory, StringComparison.InvariantCultureIgnoreCase) + strDirectory.Length; + strURL = strURL.Substring(strURL.IndexOf(strDirectory, StringComparison.InvariantCultureIgnoreCase) + strDirectory.Length); } - // if we are linking internally - if (!strURL.Contains("://")) + // add upload directory + // We don't write the UploadDirectory if the token/attribute has not value. Therefore we will avoid an unnecessary request + if (!strURL.StartsWith("/", StringComparison.Ordinal) && !string.IsNullOrWhiteSpace(strURL)) { - // remove the leading portion of the path if the URL contains the upload directory structure - string strDirectory = uploadDirectory; - if (!strDirectory.EndsWith("/")) - { - strDirectory += "/"; - } - - if (strURL.IndexOf(strDirectory) != -1) - { - S = S + strURL.IndexOf(strDirectory) + strDirectory.Length; - strURL = strURL.Substring(strURL.IndexOf(strDirectory) + strDirectory.Length); - } - - // add upload directory - if (!strURL.StartsWith("/") - && !string.IsNullOrEmpty(strURL.Trim())) // We don't write the UploadDirectory if the token/attribute has not value. Therefore we will avoid an unnecessary request - { - sbBuff.Append(uploadDirectory); - } + sbBuff.Append(uploadDirectory); } - - // find position of next occurrance - P = strHTML.IndexOf(strToken + "=\"", S + strURL.Length + 2, StringComparison.InvariantCultureIgnoreCase); } - if (S > -1) - { - sbBuff.Append(strHTML.Substring(S)); - } + // find position of next occurrence + tokenIndex = htmlContent.IndexOf(token, htmlContentIndex + strURL.Length + 2, StringComparison.InvariantCultureIgnoreCase); + } - // append characters of last URL and behind + // append characters of last URL and behind + if (htmlContentIndex > -1) + { + sbBuff.Append(htmlContent.Substring(htmlContentIndex)); } return sbBuff.ToString(); diff --git a/DNN Platform/Modules/HTML/dnn_HTML.dnn b/DNN Platform/Modules/HTML/dnn_HTML.dnn index 11215452f72..cdd09e146a7 100644 --- a/DNN Platform/Modules/HTML/dnn_HTML.dnn +++ b/DNN Platform/Modules/HTML/dnn_HTML.dnn @@ -1,12 +1,12 @@  - + HTML This module renders a block of HTML or Text content. The Html/Text module allows authorized users to edit the content either inline or in a separate administration page. Optional tokens can be used that get replaced dynamically during display. All versions of content are stored in the database including the ability to rollback to an older version. DesktopModules\HTML\Images\html.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/HTML/web.config b/DNN Platform/Modules/HTML/web.config index 1b3cf4537a7..4f21d0d70f1 100644 --- a/DNN Platform/Modules/HTML/web.config +++ b/DNN Platform/Modules/HTML/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj b/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj index d30eaea91b5..cce84b7a77a 100644 --- a/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj +++ b/DNN Platform/Modules/HtmlEditorManager/DotNetNuke.Modules.HtmlEditorManager.csproj @@ -27,7 +27,6 @@ - ..\..\..\..\Evoq.Content\ true @@ -83,8 +82,9 @@ - - ..\..\..\packages\WebFormsMVP.1.4.1.0\lib\WebFormsMvp.dll + + ..\..\..\packages\WebFormsMvp.1.4.5.0\lib\WebFormsMvp.dll + True diff --git a/DNN Platform/Modules/HtmlEditorManager/dnn_HtmlEditorManager.dnn b/DNN Platform/Modules/HtmlEditorManager/dnn_HtmlEditorManager.dnn index 6ad9beceacb..03559bb90b0 100644 --- a/DNN Platform/Modules/HtmlEditorManager/dnn_HtmlEditorManager.dnn +++ b/DNN Platform/Modules/HtmlEditorManager/dnn_HtmlEditorManager.dnn @@ -1,12 +1,12 @@  - + Html Editor Management Images/HtmlEditorManager_Standard_32x32.png A module used to configure toolbar items, behavior, and other options used in the DotNetNuke HtmlEditor Provider. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/HtmlEditorManager/packages.config b/DNN Platform/Modules/HtmlEditorManager/packages.config index 537d21b6b33..864dc3654db 100644 --- a/DNN Platform/Modules/HtmlEditorManager/packages.config +++ b/DNN Platform/Modules/HtmlEditorManager/packages.config @@ -1,5 +1,5 @@  + - \ No newline at end of file diff --git a/DNN Platform/Modules/HtmlEditorManager/web.config b/DNN Platform/Modules/HtmlEditorManager/web.config index 1b3cf4537a7..4f21d0d70f1 100644 --- a/DNN Platform/Modules/HtmlEditorManager/web.config +++ b/DNN Platform/Modules/HtmlEditorManager/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj b/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj index e6d1b0dd77d..89361028ca3 100644 --- a/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj +++ b/DNN Platform/Modules/Journal/DotNetNuke.Modules.Journal.csproj @@ -26,7 +26,6 @@ - ..\..\..\..\Evoq.Content\ true @@ -67,9 +66,9 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - + False - ..\..\..\Packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll @@ -78,8 +77,8 @@ ..\..\Components\WebAPI\System.Net.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll @@ -87,11 +86,11 @@ - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll diff --git a/DNN Platform/Modules/Journal/Journal.dnn b/DNN Platform/Modules/Journal/Journal.dnn index cb85db9955c..9ff6af19767 100644 --- a/DNN Platform/Modules/Journal/Journal.dnn +++ b/DNN Platform/Modules/Journal/Journal.dnn @@ -1,12 +1,12 @@ - + Journal DotNetNuke Corporation Journal module DesktopModules/Journal/Images/journal_32X32.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/Journal/packages.config b/DNN Platform/Modules/Journal/packages.config index 05c0d878401..767b5ee95ed 100644 --- a/DNN Platform/Modules/Journal/packages.config +++ b/DNN Platform/Modules/Journal/packages.config @@ -1,11 +1,11 @@  - - - - + + + + - + \ No newline at end of file diff --git a/DNN Platform/Modules/Journal/web.config b/DNN Platform/Modules/Journal/web.config index 1b3cf4537a7..4f21d0d70f1 100644 --- a/DNN Platform/Modules/Journal/web.config +++ b/DNN Platform/Modules/Journal/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj b/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj index 9e0f0ec724e..338aad587cd 100644 --- a/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj +++ b/DNN Platform/Modules/MemberDirectory/DotNetNuke.Modules.MemberDirectory.csproj @@ -27,7 +27,6 @@ - ..\..\..\..\Evoq.Content\ true @@ -64,8 +63,8 @@ False ..\..\DotNetNuke.Web.Client\bin\DotNetNuke.Web.Client.dll - - ..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll @@ -73,8 +72,8 @@ ..\..\DotNetNuke.Web\bin\System.Net.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll @@ -82,17 +81,18 @@ - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.9\lib\net45\System.Web.Http.WebHost.dll - - ..\..\..\packages\WebFormsMVP.1.4.1.0\lib\WebFormsMvp.dll + + ..\..\..\packages\WebFormsMvp.1.4.5.0\lib\WebFormsMvp.dll + True diff --git a/DNN Platform/Modules/MemberDirectory/MemberDirectory.dnn b/DNN Platform/Modules/MemberDirectory/MemberDirectory.dnn index e15645583a2..70e45b211ba 100644 --- a/DNN Platform/Modules/MemberDirectory/MemberDirectory.dnn +++ b/DNN Platform/Modules/MemberDirectory/MemberDirectory.dnn @@ -1,12 +1,12 @@ - + Member Directory The Member Directory module displays a list of Members based on role, profile property or relationship. ~/DesktopModules/MemberDirectory/Images/member_list_32X32.png - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/MemberDirectory/packages.config b/DNN Platform/Modules/MemberDirectory/packages.config index 1b8f6b182b1..7faebcfcc4c 100644 --- a/DNN Platform/Modules/MemberDirectory/packages.config +++ b/DNN Platform/Modules/MemberDirectory/packages.config @@ -1,10 +1,10 @@  - - - - - + + + + + - + \ No newline at end of file diff --git a/DNN Platform/Modules/MemberDirectory/web.config b/DNN Platform/Modules/MemberDirectory/web.config index 1b3cf4537a7..4f21d0d70f1 100644 --- a/DNN Platform/Modules/MemberDirectory/web.config +++ b/DNN Platform/Modules/MemberDirectory/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/RazorHost/Manifest.dnn b/DNN Platform/Modules/RazorHost/Manifest.dnn index 1dfb437740e..914fa90687c 100644 --- a/DNN Platform/Modules/RazorHost/Manifest.dnn +++ b/DNN Platform/Modules/RazorHost/Manifest.dnn @@ -1,6 +1,6 @@  - + {0} {1} diff --git a/DNN Platform/Modules/RazorHost/RazorHost.dnn b/DNN Platform/Modules/RazorHost/RazorHost.dnn index 3f9e4ca00a8..8989cbb54ad 100644 --- a/DNN Platform/Modules/RazorHost/RazorHost.dnn +++ b/DNN Platform/Modules/RazorHost/RazorHost.dnn @@ -1,11 +1,11 @@  - + Razor Host The Razor Host module allows developers to host Razor Scripts. - DNN - .NET Foundation + .NET Foundation and Contributors + DNN Community https://dnncommunity.org info@dnncommunity.org diff --git a/DNN Platform/Modules/RazorHost/web.config b/DNN Platform/Modules/RazorHost/web.config index 1b3cf4537a7..4f21d0d70f1 100644 --- a/DNN Platform/Modules/RazorHost/web.config +++ b/DNN Platform/Modules/RazorHost/web.config @@ -1,11 +1,19 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/.gitignore b/DNN Platform/Modules/ResourceManager/.gitignore new file mode 100644 index 00000000000..1374d0c3fea --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/.gitignore @@ -0,0 +1 @@ +/Scripts \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx index 1c35ffd4857..1cb26e65040 100644 --- a/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx +++ b/DNN Platform/Modules/ResourceManager/App_LocalResources/ResourceManager.resx @@ -1,321 +1,426 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Add Asset - - - Add Folder - - - Use the tools above to add an asset or create a folder - - - This Folder is Empty - - - Cancel - - - Close - - - Database - - - Confirm delete - - - Are you sure to delete the file? - - - Confirm delete - - - Are you sure to delete the folder? - - - The file you want to upload already exists in this folder. - - - File Uploaded. - - - File upload stopped - - - Enter folder name - - - The folder name is required - - - Folder Parent - - - The folder type is required - - - Name - - - Save - - - Secure - - - Standard - - - Type - - - The user does not have permission to delete folder. - - - The user does not have permission to download this file. - - - Drag and Drop a File or Select an Option - - - Your Search Produced No Results - - - Search Files - - - Search - - - Url copied to clipboard - - - Created - - - Description - - - Last Modified - - - Size - - - Title - - - URL - - - Name is required - - - User has no permission to read file properties. - - - An error has ocurred. - - - Item saved. - - - Folder Type - - - Created on Date - - - Item Name - - - Last Modified on Date - - - is too big. The maximun file size allowed is - - - The user does not have permission to delete file. - - - User has no permission to manage file properties. - - - The user does not have permission to manage this folder. - - - No Folder Selected - - - Search Folder - - - Disabled for anonymous users. - - - The user does not have permission to add new folders. - - - The Group Icon file can't be deleted. - - - is not of a type that is allowed to be uploaded - - - Refresh - - - Sync This Folder - - - Sync This Folder & Subfolders - - - Manage Folder Types - - - Add Folder Type - - - Folder Provider - - - Folder Type Definitions - - - Edit Folder Type - - - Remove Folder Type - - - Are you sure you want to remove this folder type? - - - Remove Folder Type - - - Move Item - - - New Location - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add Asset + + + Add Folder + + + Use the tools above to add an asset or create a folder + + + This Folder is Empty + + + Cancel + + + Close + + + Database + + + The file you want to upload already exists in this folder. + + + File Uploaded. + + + File upload stopped + + + Enter folder name + + + The folder name is required + + + Folder Parent + + + The folder type is required + + + Name + + + Save + + + Secure + + + Standard + + + Type + + + The user does not have permission to delete folder. + + + The user does not have permission to download this file. + + + Drag and Drop a File or Select an Option + + + Your Search Produced No Results + + + Search Files + + + Search + + + Url copied to clipboard + + + Created + + + Description + + + Last Modified + + + Size + + + Title + + + URL + + + Name is required + + + User has no permission to read file properties. + + + An error has ocurred. + + + Item saved. + + + Folder Type + + + Created on Date + + + Item Name + + + Last Modified on Date + + + is too big. The maximun file size allowed is + + + The user does not have permission to delete file. + + + User has no permission to manage file properties. + + + The user does not have permission to manage this folder. + + + No Folder Selected + + + Search Folder + + + Disabled for anonymous users. + + + The user does not have permission to add new folders. + + + The Group Icon file can't be deleted. + + + is not of a type that is allowed to be uploaded + + + Refresh + + + Sync + + + Sync This Folder + + + Sync This Folder & Subfolders + + + Manage Folder Types + + + Add Folder Type + + + Folder Provider + + + Folder Type Definitions + + + Edit Folder Type + + + Remove Folder Type + + + Are you sure you want to remove this folder type? + + + Remove Folder Type + + + Move Item(s) + + + New Location + + + Name + + + Last Modified + + + Size + + + Parent Folder + + + Date Created + + + Sort + + + Items + + + Mapped Path + + + Edit + + + Role Permissions + + + User Permissions + + + Folder ID + + + General + + + Permissions + + + File ID + + + Are you sure you want to delete the selected items? + + + Are you sure you want to move the selected items? + + + Are you sure you want to unlink the following folders? + + + Delete + + + Delete Items + + + Deleting Items + + + Files + + + Folders + + + Move + + + Moving Items + + + No + + + Select the destination folder. + + + Unlink + + + Unlink Folder(s) + + + Unlinking Folders + + + Yes + + + Copy URL + + + Showing {0} of {1} items + + + Download + + + Upload + + + Extract uploaded ZIP files + + + Overwrite + + + Edit Folder Mappings + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/Components/ItemsManager.cs b/DNN Platform/Modules/ResourceManager/Components/ItemsManager.cs index 495703a4ef2..f116cdd1ac7 100644 --- a/DNN Platform/Modules/ResourceManager/Components/ItemsManager.cs +++ b/DNN Platform/Modules/ResourceManager/Components/ItemsManager.cs @@ -133,7 +133,7 @@ public void SaveFileDetails(IFileInfo file, FileDetailsRequest fileDetails) public void SaveFolderDetails(IFolderInfo folder, FolderDetailsRequest folderDetails) { this.assetManager.RenameFolder(folderDetails.FolderId, folderDetails.FolderName); - folder.FolderPermissions.Clear(); + folder.FolderPermissions.Clear(); folder.FolderPermissions.AddRange(folderDetails.Permissions.RolePermissions.ToPermissionInfos(folderDetails.FolderId)); folder.FolderPermissions.AddRange(folderDetails.Permissions.UserPermissions.ToPermissionInfos(folderDetails.FolderId)); FolderManager.Instance.UpdateFolder(folder); diff --git a/DNN Platform/Modules/ResourceManager/Components/PermissionHelper.cs b/DNN Platform/Modules/ResourceManager/Components/PermissionHelper.cs index 805a45e126b..cb9335c4d9e 100644 --- a/DNN Platform/Modules/ResourceManager/Components/PermissionHelper.cs +++ b/DNN Platform/Modules/ResourceManager/Components/PermissionHelper.cs @@ -229,7 +229,7 @@ public static ArrayList ToPermissionInfos(this IList permissions AllowAccess = p.AllowAccess, FolderID = folderId, PermissionID = p.PermissionId, - RoleID = Null.NullInteger, + RoleID = int.Parse(Globals.glbRoleNothing), UserID = permission.UserId, }); } diff --git a/DNN Platform/Modules/ResourceManager/Components/ResourceManagerController.cs b/DNN Platform/Modules/ResourceManager/Components/ResourceManagerController.cs new file mode 100644 index 00000000000..d4967b9bea9 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Components/ResourceManagerController.cs @@ -0,0 +1,66 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information + +namespace Dnn.Modules.ResourceManager.Components +{ + using System; + + using DotNetNuke.Entities.Modules; + using DotNetNuke.Entities.Modules.Definitions; + using DotNetNuke.Instrumentation; + using DotNetNuke.Services.Upgrade; + + /// + /// Provides upgrade support for module. + /// + public class ResourceManagerController : IUpgradeable + { + private static readonly ILog Logger = LoggerSource.Instance.GetLogger(typeof(ResourceManagerController)); + + /// + public string UpgradeModule(string version) + { + try + { + switch (version) + { + case "00.00.01": + Logger.Info("Adding Global Assets host menu item."); + ModuleDefinitionInfo mDef = ModuleDefinitionController.GetModuleDefinitionByFriendlyName("ResourceManager"); + + // Add tab to Admin Menu + if (mDef != null) + { + var hostPage = Upgrade.AddHostPage( + "Global Assets", + "Manage Global assets", + "~/Icons/Sigma/Files_16X16_Standard.png", + "~/Icons/Sigma/Files_32X32_Standard.png", + true); + + // Add module to page + var moduleId = Upgrade.AddModuleToPage(hostPage, mDef.ModuleDefID, "Global Assets Management", "~/Icons/Sigma/Files_32X32_Standard.png", true); + ModuleController.Instance.UpdateModuleSetting(moduleId, Constants.HomeFolderSettingName, "1"); + ModuleController.Instance.UpdateModuleSetting(moduleId, Constants.ModeSettingName, "0"); + Logger.Info("Added Global Assets host menu item."); + } + + // Remove Previous Host File Manager pages + Logger.Info("Removing old pages."); + Upgrade.RemoveHostPage("File Manager"); + Upgrade.RemoveHostPage("File Management"); + + break; + } + + return "Success"; + } + catch (Exception exc) + { + Logger.Error(exc); + return "Failed"; + } + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj index 02cafadd612..39ccd23cc1f 100644 --- a/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj +++ b/DNN Platform/Modules/ResourceManager/Dnn.Modules.ResourceManager.csproj @@ -57,19 +57,19 @@ ..\..\..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.1\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\..\..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\..\..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.9\lib\net45\System.Net.Http.Formatting.dll - - ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + ..\..\..\packages\Microsoft.AspNet.WebApi.Core.5.2.9\lib\net45\System.Web.Http.dll @@ -107,6 +107,7 @@ + @@ -132,6 +133,7 @@ + @@ -146,13 +148,6 @@ Settings.ascx - - View.ascx - ASPXCodeBehind - - - View.ascx - stylecop.json @@ -195,9 +190,7 @@ - - @@ -216,6 +209,10 @@ + + {8b50ba8b-0a08-41b8-81b8-ea70707c7379} + Dnn.PersonaBar.Library + {6928A9B1-F88A-4581-A132-D3EB38669BB0} DotNetNuke.Abstractions @@ -256,6 +253,7 @@ + web.config @@ -268,6 +266,9 @@ + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png deleted file mode 100644 index bb623f5b979..00000000000 Binary files a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.png and /dev/null differ diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg new file mode 100644 index 00000000000..192add01da5 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-azure-folder.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png deleted file mode 100644 index cd409e1a308..00000000000 Binary files a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.png and /dev/null differ diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg new file mode 100644 index 00000000000..8aebcab225e --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-database-folder.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png deleted file mode 100644 index 1d0c0e7a85d..00000000000 Binary files a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.png and /dev/null differ diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg new file mode 100644 index 00000000000..4adefda9037 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-secure-folder.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png deleted file mode 100644 index 45a92f639d4..00000000000 Binary files a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.png and /dev/null differ diff --git a/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.svg b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.svg new file mode 100644 index 00000000000..1366ecd8623 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/Images/icon-asset-manager-standard-folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/DNN Platform/Modules/ResourceManager/Module.build b/DNN Platform/Modules/ResourceManager/Module.build index 63a3fa59ac6..3dfe874716a 100644 --- a/DNN Platform/Modules/ResourceManager/Module.build +++ b/DNN Platform/Modules/ResourceManager/Module.build @@ -1,23 +1,37 @@ - - - - $(MSBuildProjectDirectory)\..\..\.. - $(MSBuildProjectDirectory)\ResourceManager.Web - - - - resources - ResourceManager - DNNCE_ResourceManager - $(WebsitePath)\DesktopModules\ResourceManager - $(WebsiteInstallPath)\Module - - - - - - - - + + + + $(MSBuildProjectDirectory)\..\..\.. + $(MSBuildProjectDirectory)\ResourceManager.Web + + + + zip + ResourceManager + DNNCE_ResourceManager + $(WebsitePath)\DesktopModules\ResourceManager + $(WebsiteInstallPath)\Module + + + + + + $(MSBuildProjectDirectory)\Scripts\dnn-resource-manager + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc deleted file mode 100644 index 59a01ef24ee..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.babelrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "presets": [ - "@babel/preset-env", - "@babel/preset-react" - ], - "plugins": [ - "transform-object-assign", - "@babel/plugin-proposal-object-rest-spread", - "@babel/plugin-proposal-class-properties" - ], - "env": { - "production": { - "plugins": [ - "transform-react-remove-prop-types" - ] - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig new file mode 100644 index 00000000000..f1cc3ad329c --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.editorconfig @@ -0,0 +1,15 @@ +# http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore deleted file mode 100644 index ca83d8f7145..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -./node_modules/**/* -**/dnn-react-common.min.js \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js deleted file mode 100644 index de205a18d94..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.eslintrc.js +++ /dev/null @@ -1,43 +0,0 @@ -module.exports = { - "plugins": [ - "react" - ], - "env": { - "browser": true, - "commonjs": true - }, - "extends": ["eslint:recommended", "plugin:react/recommended"], - "parser": "babel-eslint", - "parserOptions": { - "ecmaFeatures": { - "jsx": true - }, - "ecmaVersion": 2018, - "sourceType": "module" - }, - "settings": { - "react":{ - "version": "16" - } - }, - "globals": { - "__": false, - "Promise": false, - "VERSION": false - }, - "rules": { - "semi": "error", - "no-var": "error", - "quotes": ["warn", "double" ], - "indent": ["warn", 4, {"SwitchCase": 1}], - "no-unused-vars": "warn", - "no-console": "warn", - "keyword-spacing": "warn", - "eqeqeq": "warn", - "space-before-function-paren": ["warn", { "anonymous": "always", "named": "never" }], - "space-before-blocks": "warn", - "no-multiple-empty-lines": "warn", - "react/jsx-equals-spacing": ["warn", "never"], - "id-match": ["error", "^([A-Za-z0-9_])+$", {"properties": true}] - } -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore new file mode 100644 index 00000000000..c3ea58a61b7 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/.gitignore @@ -0,0 +1,26 @@ +dist/ +www/ +loader/ + +*~ +*.sw[mnpcod] +*.log +*.lock +*.tmp +*.tmp.* +log.txt +*.sublime-project +*.sublime-workspace + +.stencil/ +.idea/ +.vscode/ +.sass-cache/ +.versions/ +node_modules/ +$RECYCLE.BIN/ + +.DS_Store +Thumbs.db +UserInterfaceState.xcuserstate +.env diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js deleted file mode 100644 index 1a21d251e45..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addAssetPanelActionsTypes.js +++ /dev/null @@ -1,12 +0,0 @@ -const addAssetPanelActionsTypes = { - SHOW_ADD_ASSET_PANEL: "SHOW_ADD_ASSET_PANEL", - HIDE_ADD_ASSET_PANEL: "HIDE_ADD_ASSET_PANEL", - UPDATE_PROGRESS: "UPDATE_PROGRESS", - RESET_PANEL: "RESET_PANEL", - ASSET_ADDED: "ASSET_ADDED", - ASSET_ADDED_ERROR: "ASSET_ADDED_ERROR", - FILE_ALREADY_EXIST: "FILE_ALREADY_EXIST", - STOP_UPLOAD: "STOP_UPLOAD" -}; - -export default addAssetPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js deleted file mode 100644 index d5b87983b90..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/addFolderPanelActionsTypes.js +++ /dev/null @@ -1,13 +0,0 @@ -const addFolderPanelActionsTypes = { - SHOW_ADD_FOLDER_PANEL: "SHOW_ADD_FOLDER_PANEL", - HIDE_ADD_FOLDER_PANEL: "HIDE_ADD_FOLDER_PANEL", - FOLDER_MAPPINGS_LOADED: "FOLDER_MAPPINGS_LOADED", - LOAD_FOLDER_MAPPINGS_ERROR: "LOAD_FOLDER_MAPPINGS_ERROR", - CHANGE_NAME: "CHANGE_NAME", - CHANGE_FOLDER_TYPE: "CHANGE_FOLDER_TYPE", - FOLDER_CREATED: "FOLDER_CREATED", - ADD_FOLDER_ERROR: "ADD_FOLDER_ERROR", - SET_VALIDATION_ERRORS: "SET_VALIDATION_ERRORS" -}; - -export default addFolderPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js deleted file mode 100644 index b509d6dfb98..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/dialogModalActionsTypes.js +++ /dev/null @@ -1,6 +0,0 @@ -const dialogModalActionsTypes = { - OPEN_DIALOG_MODAL: "OPEN_DIALOG_MODAL", - CLOSE_DIALOG_MODAL: "CLOSE_DIALOG_MODAL" -}; - -export default dialogModalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js deleted file mode 100644 index 8d932a7f6e8..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/folderPanelActionsTypes.js +++ /dev/null @@ -1,19 +0,0 @@ -const folderPanelActionsTypes = { - SET_LOADING: "SET_LOADING", - CONTENT_LOADED: "CONTENT_LOADED", - MORE_CONTENT_LOADED: "MORE_CONTENT_LOADED", - LOAD_CONTENT_ERROR: "LOAD_CONTENT_ERROR", - FILE_DOWNLOADED: "FILE_DOWNLOADED", - FOLDER_DELETED: "FOLDER_DELETED", - DELETE_FOLDER_ERROR: "DELETE_FOLDER_ERROR", - CLOSE_TOP_PANELS: "CLOSE_TOP_PANELS", - FILE_DELETED: "FILE_DELETED", - DELETE_FILE_ERROR: "DELETE_FILE_ERROR", - CHANGE_SEARCH: "CHANGE_SEARCH", - FILES_SEARCHED: "FILES_SEARCHED", - SEARCH_FILES_ERROR: "SEARCH_FILES_ERROR", - URL_COPIED_TO_CLIPBOARD: "URL_COPIED_TO_CLIPBOARD", - CHANGE_SORTING: "CHANGE_SORTING" -}; - -export default folderPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js deleted file mode 100644 index dd8f4eada35..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/globalActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const globalActionsTypes = { - MODULE_PARAMETERS_LOADED: "MODULE_PARAMETERS_LOADED" -}; - -export default globalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js deleted file mode 100644 index 9de0b6c683b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/infiniteScrollActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const infiniteScrollActionsTypes = { - SET_MAX_SCROLL_TOP: "SET_MAX_SCROLL_TOP" -}; - -export default infiniteScrollActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js deleted file mode 100644 index d1cd5d9e8f2..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/itemDetailsActionsTypes.js +++ /dev/null @@ -1,18 +0,0 @@ -const itemDetailsActionsTypes = { - EDIT_ITEM: "EDIT_ITEM", - EDIT_ITEM_ERROR: "EDIT_ITEM_ERROR", - CANCEL_EDIT_ITEM: "CANCEL_EDIT_ITEM", - CHANGE_NAME: "CHANGE_NAME", - CHANGE_TITLE: "CHANGE_TITLE", - CHANGE_DESCRIPTION: "CHANGE_DESCRIPTION", - CHANGE_PERMISSIONS: "CHANGE_PERMISSIONS", - SET_VALIDATION_ERRORS: "SET_VALIDATION_ERRORS", - ITEM_SAVED: "ITEM_SAVED", - SAVE_ITEM_ERROR: "SAVE_ITEM_ERROR", - MOVE_ITEM: "MOVE_ITEM", - MOVE_ITEM_ERROR: "MOVE_ITEM_ERROR", - CANCEL_MOVE_ITEM: "CANCEL_MOVE_ITEM", - ITEM_MOVED: "ITEM_MOVED", -}; - -export default itemDetailsActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js deleted file mode 100644 index 4df0637de47..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/manageFolderTypesPanelActionsTypes.js +++ /dev/null @@ -1,7 +0,0 @@ -const manageFolderTypesPanelActionsTypes = { - SHOW_MANAGE_FOLDER_TYPES_PANEL: "SHOW_MANAGE_FOLDER_TYPES_PANEL", - HIDE_MANAGE_FOLDER_TYPES_PANEL: "HIDE_MANAGE_FOLDER_TYPES_PANEL", - ADD_FOLDER_TYPE_URL_LOADED: "ADD_FOLDER_TYPE_URL_LOADED", -} - -export default manageFolderTypesPanelActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js deleted file mode 100644 index f2a9b23adae..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/messageModalActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const messageModalActionsTypes = { - CLOSE_MESSAGE_MODAL: "CLOSE_MESSAGE_MODAL" -}; - -export default messageModalActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js deleted file mode 100644 index e4e21064484..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/action types/topBarActionsTypes.js +++ /dev/null @@ -1,5 +0,0 @@ -const topBarActionsTypes = { - CHANGE_SEARCH_FIELD: "CHANGE_SEARCH_FIELD" -}; - -export default topBarActionsTypes; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js deleted file mode 100644 index 6d709ee13ac..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addAssetPanelActions.js +++ /dev/null @@ -1,133 +0,0 @@ -import actionTypes from "../action types/addAssetPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import ItemsService from "../services/itemsService"; -import LocalizeService from "../services/localizeService"; - -let files = {}; - -function fileUploadedHandler(dispatch, file, overwrite, response) { - const {alreadyExists, fileName, message} = response; - - if (alreadyExists) { - files[fileName] = file; - - return dispatch ({ - type: actionTypes.FILE_ALREADY_EXIST, - data: response - }); - } - - if (!fileName || message) { - return dispatch (fileUploadError(file.name, message)); - } - - files[fileName] = undefined; - - dispatch ({ - type: actionTypes.ASSET_ADDED, - data: response - }); -} - -function fileUploadError(fileName, message) { - return { - type: actionTypes.ASSET_ADDED_ERROR, - data: { - fileName, - message - } - }; -} - -const addAssetPanelActions = { - showPanel() { - return (dispatch) => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_ADD_ASSET_PANEL - }); - }; - }, - hidePanel() { - return (dispatch) => { - dispatch ({ - type: actionTypes.HIDE_ADD_ASSET_PANEL - }); - - dispatch ({ - type: actionTypes.RESET_PANEL - }); - }; - }, - overwriteFile(fileName, folderPath, folderPanelState, trackProgress) { - let file = files[fileName]; - return this.uploadFiles([file], folderPath, folderPanelState, trackProgress, true); - }, - uploadFiles(files, folderPath, folderPanelState, trackProgress, overwrite=false) { - const { numItems, sorting } = folderPanelState; - const folderId = folderPanelState.folder ? folderPanelState.folder.folderId : folderPanelState.homeFolderId; - - return dispatch => { - const uploadFilePromises = []; - - files.forEach ( - file => uploadFilePromises.push(ItemsService.uploadFile(file, folderPath, overwrite, trackProgress.bind(null, file.name)) - .then( - response => fileUploadedHandler(dispatch, file, overwrite, response), - reason => dispatch (fileUploadError(file.name, reason.message)) - )) - ); - - Promise.all(uploadFilePromises).then( - () => ItemsService.getContent(folderId, 0, numItems, sorting) - ) - .then( - getContentResponse => dispatch ({ - type: folderPanelActionTypes.CONTENT_LOADED, - data: getContentResponse - }) - ); - }; - }, - trackProgress(fileName, progress) { - return dispatch => - dispatch ({ - type: actionTypes.UPDATE_PROGRESS, - data: { - fileName, - percent: progress.percent - } - }); - }, - stopUpload(fileName) { - files[fileName] = undefined; - - return dispatch => dispatch ({ - type: actionTypes.STOP_UPLOAD, - data: fileName - }); - }, - fileSizeError(fileName, maxSize) { - const fileTooBigMessage = LocalizeService.getString("FileSizeErrorMessage"); - return dispatch => - dispatch(fileUploadError(fileName, fileName + fileTooBigMessage + maxSize)); - }, - invalidExtensionError(fileName) { - const invalidExtensionMessage = LocalizeService.getString("InvalidExtensionMessage"); - return dispatch => - dispatch(fileUploadError(fileName, fileName + invalidExtensionMessage)); - } -/*, - startUpload() { - return dispatch => - dispatch ({ - type: actionTypes.RESET_PANEL - }); - }, - */ -}; - -export default addAssetPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js deleted file mode 100644 index 0d4a035b766..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/addFolderPanelActions.js +++ /dev/null @@ -1,101 +0,0 @@ -import actionTypes from "../action types/addFolderPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import ItemsService from "../services/itemsService"; - -const addFolderPanelActions = { - showPanel() { - return (dispatch) => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_ADD_FOLDER_PANEL - }); - }; - }, - hidePanel() { - return (dispatch) => { - dispatch ({ - type: actionTypes.HIDE_ADD_FOLDER_PANEL - }); - }; - }, - loadFolderMappings() { - return (dispatch) => { - ItemsService.loadFolderMappings().then((response) => { - dispatch({ - type: actionTypes.FOLDER_MAPPINGS_LOADED, - data: response - }); - }).catch(() => { - dispatch({ - type: actionTypes.LOAD_FOLDER_MAPPINGS_ERROR - }); - }); - }; - }, - changeName(event) - { - return { - type: actionTypes.CHANGE_NAME, - data: event.target.value - }; - }, - changeFolderType(folderType) - { - return { - type: actionTypes.CHANGE_FOLDER_TYPE, - data: folderType - }; - }, - addFolder(data) { - const {formData, folderPanelState} = data; - const { numItems, sorting } = folderPanelState; - const folderId = folderPanelState.folder ? folderPanelState.folder.folderId : folderPanelState.homeFolderId; - - let newFolderData = { - folderName: formData.name, - FolderMappingId: formData.folderType, - ParentFolderId: folderId - }; - - return (dispatch) => { - ItemsService.addFolder(newFolderData) - .then( - addFolderResponse => - ItemsService.getContent(folderId, 0, numItems, sorting) - .then( - getContentResponse => { - dispatch({ - type: folderPanelActionTypes.CONTENT_LOADED, - data: getContentResponse - }); - - dispatch({ - type: actionTypes.FOLDER_CREATED, - data: addFolderResponse - }); - } - ), - reason => dispatch({ - type: actionTypes.ADD_FOLDER_ERROR, - data: reason.data ? reason.data.message : null - }) - ) - .catch( - dispatch({ - type: actionTypes.ADD_FOLDER_ERROR - }) - ); - }; - }, - setValidationErrors(validationErrors) { - return { - type: actionTypes.SET_VALIDATION_ERRORS, - data: validationErrors - }; - } -}; - -export default addFolderPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js deleted file mode 100644 index ae3440334d4..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/dialogModalActions.js +++ /dev/null @@ -1,19 +0,0 @@ -import actionTypes from "../action types/dialogModalActionsTypes"; - -const dialogModalActions = { - open(dialogHeader, dialogMessage, yesFunction, noFunction) { - return { - type: actionTypes.OPEN_DIALOG_MODAL, - data: { - dialogHeader, dialogMessage, yesFunction, noFunction - } - }; - }, - close() { - return { - type: actionTypes.CLOSE_DIALOG_MODAL - }; - } -}; - -export default dialogModalActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js deleted file mode 100644 index fac5345c72a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/folderPanelActions.js +++ /dev/null @@ -1,191 +0,0 @@ -import ItemsService from "../services/itemsService"; -import actionTypes from "../action types/folderPanelActionsTypes"; -import copyToClipboard from "copy-to-clipboard"; - -function loadingWrap(actionFunction) { - return (dispatch) => { - dispatch({ - type: actionTypes.SET_LOADING, - data: true - }); - - actionFunction() - .then(() => - dispatch({ - type: actionTypes.SET_LOADING, - data: false - }) - ); - }; -} - -function getContent(folderPanelState, changeToFolderId=null) { - const { numItems, sorting, currentFolderId, loadedItems } = folderPanelState; - const folderId = changeToFolderId || currentFolderId; - const startIndex = changeToFolderId ? 0 : loadedItems; - - return dispatch => - ItemsService.getContent(folderId, startIndex, numItems, sorting) - .then( - response => dispatch({ - type: startIndex ? actionTypes.MORE_CONTENT_LOADED : actionTypes.CONTENT_LOADED, - data: response - }), - reason => dispatch({ - type: actionTypes.LOAD_CONTENT_ERROR, - data: reason.data ? reason.data.message : null - }) - ); -} - -function syncContent(folderPanelState, recursive) { - const { numItems, sorting, currentFolderId } = folderPanelState; - - return dispatch => - ItemsService.syncContent(currentFolderId, numItems, sorting, recursive) - .then( - response => dispatch({ - type: actionTypes.CONTENT_LOADED, - data: response - }), - reason => dispatch({ - type: actionTypes.LOAD_CONTENT_ERROR, - data: reason.data ? reason.data.message : null - }) - ); -} - -const folderPanelActions = { - syncContent(folderPanelState, changeToFolderId=null) { - return (dispatch) => { - let syncContentLogic = () => dispatch(syncContent(folderPanelState, changeToFolderId)); - dispatch(loadingWrap(syncContentLogic)); - - let currentHistoryFolderId = history.state ? history.state.folderId : null; - - if (changeToFolderId && currentHistoryFolderId !== changeToFolderId && changeToFolderId !== folderPanelState.homeFolderId) { - history.pushState({folderId: changeToFolderId}, null, "?folderId=" + changeToFolderId); - } - else if (changeToFolderId && currentHistoryFolderId !== changeToFolderId) { - let url = window.location.toString(); - if (url.indexOf("?") > 0) { - let clean_url = url.substring(0, url.indexOf("?")); - history.pushState({folderId: changeToFolderId}, null, clean_url); - } - } - }; - }, - loadContent(folderPanelState, changeToFolderId=null) { - return (dispatch) => { - let getContentLogic = () => dispatch(getContent(folderPanelState, changeToFolderId)); - dispatch(loadingWrap(getContentLogic)); - - let currentHistoryFolderId = history.state ? history.state.folderId : null; - - if (changeToFolderId && currentHistoryFolderId !== changeToFolderId && changeToFolderId !== folderPanelState.homeFolderId) { - history.pushState({folderId: changeToFolderId}, null, "?folderId=" + changeToFolderId); - } - else if (changeToFolderId && currentHistoryFolderId !== changeToFolderId) { - let url = window.location.toString(); - if (url.indexOf("?") > 0) { - let clean_url = url.substring(0, url.indexOf("?")); - history.pushState({folderId: changeToFolderId}, null, clean_url); - } - } - }; - }, - deleteFolder(folderToRemoveId, folderPanelState) { - const { currentFolderId } = folderPanelState; - - return (dispatch) => { - let deleteFolder = () => - ItemsService.deleteFolder(folderToRemoveId) - .then( - () => dispatch(getContent(folderPanelState, currentFolderId)), - - reason => dispatch({ - type: actionTypes.DELETE_FOLDER_ERROR, - data: reason.data ? reason.data.message : null - }) - ); - - dispatch(loadingWrap(deleteFolder)); - }; - }, - deleteFile(fileToRemoveId, folderPanelState) { - const { currentFolderId } = folderPanelState; - - return (dispatch) => { - let deleteFile = () => - ItemsService.deleteFile(fileToRemoveId) - .then( - () => dispatch(getContent(folderPanelState, currentFolderId)), - - reason => dispatch({ - type: actionTypes.DELETE_FILE_ERROR, - data: reason.data ? reason.data.message : null - }) - ); - - dispatch(loadingWrap(deleteFile)); - }; - }, - downloadFile(fileId) { - return (dispatch) => { - let downloadUrl = ItemsService.getDownloadUrl(fileId); - window.open(downloadUrl, "_blank"); - dispatch ({ - type: actionTypes.FILE_DOWNLOADED - }); - }; - }, - copyFileUrlToClipboard(item) { - if (!item.path) { - return; - } - - let fullUrl = ItemsService.getItemFullUrl(item.path); - copyToClipboard(fullUrl); - - return { - type: actionTypes.URL_COPIED_TO_CLIPBOARD, - data: fullUrl - }; - }, - changeSearchingValue(searchText) { - return { - type: actionTypes.CHANGE_SEARCH, - data: searchText - }; - }, - searchFiles(folderPanelState, search, searchMore=false) { - const { numItems, sorting, currentFolderId, loadedItems } = folderPanelState; - const folderId = currentFolderId; - const startIndex = searchMore ? Math.ceil(loadedItems/numItems) + 1 : 1; - - return (dispatch) => { - let getContent = () => - ItemsService.searchFiles(folderId, search, startIndex, numItems, sorting, "") - .then( - response => dispatch({ - type: searchMore ? actionTypes.MORE_CONTENT_LOADED : actionTypes.FILES_SEARCHED, - data: response - }), - reason => dispatch({ - type: actionTypes.SEARCH_FILES_ERROR, - data: reason - }) - ); - - dispatch(loadingWrap(getContent)); - }; - }, - changeSorting(sorting) { - return { - type: actionTypes.CHANGE_SORTING, - data: sorting - }; - } -}; - -export default folderPanelActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js deleted file mode 100644 index d87e6afddbc..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/globalActions.js +++ /dev/null @@ -1,13 +0,0 @@ - -import actionTypes from "../action types/globalActionsTypes"; - -const globalActions = { - loadInitialParameters(initialConfig) { - return { - type: actionTypes.MODULE_PARAMETERS_LOADED, - data: initialConfig - }; - } -}; - -export default globalActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js deleted file mode 100644 index 95aa4e97ede..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/infiniteScrollActions.js +++ /dev/null @@ -1,12 +0,0 @@ -import actionTypes from "../action types/infiniteScrollActionsTypes"; - -const infiniteScrollActions = { - setMaxScrollTop(maxScrollTop) { - return { - type: actionTypes.SET_MAX_SCROLL_TOP, - data: maxScrollTop - }; - } -}; - -export default infiniteScrollActions; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js deleted file mode 100644 index 607d5976b1b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/itemDetailsActions.js +++ /dev/null @@ -1,136 +0,0 @@ -import actionTypes from "../action types/itemDetailsActionsTypes"; -import itemsService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -const itemDetailsActions = { - editItem(item) { - const itemData = {isFolder: item.isFolder, iconUrl: item.iconUrl, thumbnailAvailable: item.thumbnailAvailable, thumbnailUrl: item.thumbnailUrl}; - let getItemDetails = () => item.isFolder - ? itemsService.getFolderDetails(item.itemId) - : itemsService.getFileDetails(item.itemId); - return dispatch => { - getItemDetails() - .then( - response => dispatch({ - type: actionTypes.EDIT_ITEM, - data: {...response, ...itemData} - }), - reason => dispatch({ - type: actionTypes.EDIT_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - }, - cancelEditItem() { - return { - type: actionTypes.CANCEL_EDIT_ITEM - }; - }, - moveItem(item) { - const itemData = {isFolder: item.isFolder, iconUrl: item.iconUrl, thumbnailAvailable: item.thumbnailAvailable, thumbnailUrl: item.thumbnailUrl}; - let getItemDetails = () => item.isFolder - ? itemsService.getFolderDetails(item.itemId) - : itemsService.getFileDetails(item.itemId); - return dispatch => { - getItemDetails() - .then( - response => dispatch({ - type: actionTypes.MOVE_ITEM, - data: {...response, ...itemData} - }), - reason => dispatch({ - type: actionTypes.SAVE_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - }, - moveFolder(sourceFolderId, destinationFolderId) { - return dispatch => { - itemsService.moveFolder(sourceFolderId, destinationFolderId) - .then( - () => { - dispatch({ - type: actionTypes.ITEM_MOVED, - }); - }, - reason => { - reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - } - ) - }; - }, - moveFile(sourceFileId, destinationFolderId) { - return dispatch => { - itemsService.moveFile(sourceFileId, destinationFolderId) - .then( - () => dispatch({ - type: actionTypes.ITEM_MOVED - }), - reason => { - reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - } - ) - } - }, - cancelMoveItem() { - return { - type: actionTypes.CANCEL_MOVE_ITEM - }; - }, - changeName(event) { - return { - type: actionTypes.CHANGE_NAME, - data: event.target.value - }; - }, - changeTitle(event) { - return { - type: actionTypes.CHANGE_TITLE, - data: event.target.value - }; - }, - changeDescription(event) { - return { - type: actionTypes.CHANGE_DESCRIPTION, - data: event.target.value - }; - }, - changePermissions(permissions) { - return { - type: actionTypes.CHANGE_PERMISSIONS, - data: permissions - }; - }, - setValidationErrors(validationErrors) { - return { - type: actionTypes.SET_VALIDATION_ERRORS, - data: validationErrors - }; - }, - saveItem(item) { - let saveFunction = () => item.isFolder - ? itemsService.saveFolderDetails(item) - : itemsService.saveFileDetails(item); - return dispatch => { - saveFunction() - .then( - () => dispatch({ - type: actionTypes.ITEM_SAVED, - data: { - isFolder: item.isFolder, - itemId: item.isFolder ? item.folderId : item.fileId, - itemName: item.isFolder ? item.folderName : item.fileName - } - }), - reason => dispatch({ - type: actionTypes.SAVE_ITEM_ERROR, - data: reason.data && reason.data.message ? reason.data.message : localizeService.getString("GenericErrorMessage") - }) - ); - }; - } -}; - -export default itemDetailsActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js deleted file mode 100644 index 1d246da77eb..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/manageFolderTypesPanelActions.js +++ /dev/null @@ -1,48 +0,0 @@ -import actionTypes from "../action types/manageFolderTypesPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import ItemsService from "../services/itemsService"; - -const manageFolderTypesPanelActions = { - showPanel() { - return dispatch => { - dispatch ({ - type: folderPanelActionTypes.CLOSE_TOP_PANELS - }); - - dispatch ({ - type: actionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL - }); - } - }, - hidePanel() { - return dispatch => { - dispatch ({ - type: actionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL - }); - }; - }, - removeFolderType(folderMappingId) { - return (dispatch) => { - ItemsService.removeFolderType(folderMappingId) - .then( - () => { - dispatch(addFolderPanelActions.loadFolderMappings()); - } - ); - } - }, - getAddFolderTypeUrl() { - return dispatch => { - ItemsService.getAddFolderTypeUrl() - .then(data => { - dispatch({ - type: actionTypes.ADD_FOLDER_TYPE_URL_LOADED, - data - }); - }); - } - } -}; - -export default manageFolderTypesPanelActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js deleted file mode 100644 index 9bb61abe72c..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/messageModalActions.js +++ /dev/null @@ -1,11 +0,0 @@ -import actionTypes from "../action types/messageModalActionsTypes"; - -const messageModalActions = { - close() { - return { - type: actionTypes.CLOSE_MESSAGE_MODAL - }; - } -}; - -export default messageModalActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js deleted file mode 100644 index f01d568652e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/actions/topBarActions.js +++ /dev/null @@ -1,12 +0,0 @@ -import actionTypes from "../action types/topBarActionsTypes"; - -const topBarActions = { - changeSearchField(text) { - return { - type: actionTypes.CHANGE_SEARCH_FIELD, - data: text - }; - } -}; - -export default topBarActions; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx deleted file mode 100644 index 1805cfc13fe..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/App.jsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from "react"; -import ModuleLayout from "../containers/ModuleLayout"; - -export default class App extends React.Component { - render() { - return ( - - ); - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx deleted file mode 100644 index d42673b99b0..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/AssetsHeader.jsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from "react"; -import ButtonsContainer from "../containers/ButtonsContainer"; -import BreadcrumbsContainer from "../containers/BreadcrumbsContainer"; - -const AssetsHeader = () => ( -
        - - -
        -); - -export default AssetsHeader; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx deleted file mode 100644 index e24694b9d09..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Breadcrumb.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; - -const Breadcrumb = ({name, onClick}) => ( -
        - { name } -
        -); - -Breadcrumb.propTypes = { - name: PropTypes.string.isRequired, - onClick: PropTypes.func -}; - -export default Breadcrumb; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx deleted file mode 100644 index 70a4099f801..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileDetails.jsx +++ /dev/null @@ -1,63 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import itemService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -const FileDetails = ({file, handlers, validationErrors}) => ( -
        -
        -
        -
        - {localizeService.getString("Created")}: - {file.createdOnDate} -
        -
        -
        - {localizeService.getString("Size")}: - {file.size} -
        -
        -
        - {localizeService.getString("LastModified")}: - {file.lastModifiedOnDate} -
        -
        -
        - {localizeService.getString("URL")}: - {itemService.getItemFullUrl(file.url)} -
        -
        -
        -
        -
        - - - -
        -
        - - -
        -
        - - -
        -
        -
        - - -
        -
        -); - -FileDetails.propTypes = { - file: PropTypes.object.isRequired, - handlers: PropTypes.object.isRequired, - validationErrors: PropTypes.object.isRequired -}; - -export default FileDetails; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx deleted file mode 100644 index 2d048760d42..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileProgress.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import OverwriteContainer from "../containers/ProgressBarOverwriteContainer"; - -const FileProgress = ({fileName, progress, imgSrc, fileUrl, uploading, error, stopped, message, alreadyExists}) => ( -
        - - - - -
        - {fileName} - {alreadyExists && } - {message && {message}} -
        -
        -
        -
        -
        -); - -FileProgress.propTypes = { - fileName: PropTypes.string, - progress: PropTypes.number, - imgSrc: PropTypes.string, - fileUrl: PropTypes.string, - uploading: PropTypes.bool, - error: PropTypes.bool, - stopped: PropTypes.bool, - message: PropTypes.string, - alreadyExists: PropTypes.bool -}; - -export default FileProgress; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx deleted file mode 100644 index 46567143ae1..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FileUpload.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react"; -import DropZone from "../containers/DropZoneContainer"; -import Progress from "../containers/ProgressContainer"; -import localizeService from "../services/localizeService.js"; - -const FileUpload = () => ( -
        - - - {localizeService.getString("FileUploadPanelMessage")} - - - -
        -); - -export default FileUpload; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx deleted file mode 100644 index a0993db1157..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderDetails.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import localizeService from "../services/localizeService"; -import itemsService from "../services/itemsService"; -import Permissions from "./Permissions"; - -const FolderDetails = ({folder, handlers, validationErrors}) => ( -
        -
        -
        -
        - {localizeService.getString("Created")}: - {folder.createdOnDate} -
        -
        -
        - {localizeService.getString("LastModified")}: - {folder.lastModifiedOnDate} -
        -
        -
        - {localizeService.getString("FolderType")}: - {folder.type} -
        -
        -
        - {localizeService.getString("URL")}: - {itemsService.getFolderUrl(folder.folderId)} -
        -
        -
        -
        - handlers.changePermissions(permissions)} - > -
        -
        -
        -
        - - - -
        -
        - - -
        -
        -); - -FolderDetails.propTypes = { - folder: PropTypes.object.isRequired, - handlers: PropTypes.object.isRequired, - validationErrors: PropTypes.object.isRequired -}; - -export default FolderDetails; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx deleted file mode 100644 index 8b20dace839..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderPicker.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import FolderSelector from "./FolderSelector"; -import internalService from "../../services/internalService"; - -function findKey(thisObject, id) { - /* eslint-disable spellcheck/spell-checker */ - let p, tRet; - for (p in thisObject) { - if (p === "data") { - if (thisObject[p].key === id) { - return thisObject; - } - } else if (thisObject[p] instanceof Object) { - if (thisObject.hasOwnProperty(p)) { - tRet = findKey(thisObject[p], id); - if (tRet) { return tRet; } - } - } - } - return false; - /* eslint-enable spellcheck/spell-checker */ -} - -export default class FolderPicker extends React.Component { - - constructor(props) { - super(props); - - this.state = { - folders: null - }; - } - - componentDidMount() { - this.getFolders(); - } - - componentWillUnmount() { - this.unmounted = true; - } - - getFolders(searchText) { - let folderPromise = searchText ? internalService.searchFolders(searchText) : internalService.getFolders(); - folderPromise.then( - this.setFolders.bind(this) - ); - } - - getChildrenFolders(parentId) { - internalService.getFolderDescendant(parentId) - .then( - this.addChildFolders.bind(this, parentId) - ); - } - - setFolders(result) { - if (this.unmounted) { - return; - } - - const { props } = this; - let homeFolderId = props.homeFolderId; - - let source = result.Tree; - let filtered = this.findNode(source, (n) => {return n !== null && n.data.key === homeFolderId.toString();}); - if (filtered !== null){ - source.children.splice(0, source.children.length, filtered); - } - this.setState({ folders: result.Tree }); - } - - findNode(node, condition) { - if (condition(node)) { - return node; - } - - for (let i = 0; i < node.children.length; i++) { - let found = this.findNode(node.children[i], condition); - if (found !== null) { - return found; - } - } - - return null; - } - - addChildFolders(parentId, result) { - const folders = this.state.folders; - const parent = findKey(folders, parentId); - const children = result.Items.map((item) => { - return { data: item, children: [] }; - }); - parent.children = children; - this.setState({ folders }); - } - - render() { - const {changeFolder} = this.props; - - return ( - - ); - } -} - -/** - * propTypes - * @property {object} selectedFolder selected folder. Should be null or have a key and value properties - * @property {object} onSelectFolder called when change folder. Pass as parameter a selectedFolder object - * @property {object} onRetrieveFolderError callback for error when retrieve data - */ - -FolderPicker.propTypes = { - selectedFolder: PropTypes.object, - changeFolder: PropTypes.func, - onRetrieveFolderError: PropTypes.func, - noFolderSelectedValue: PropTypes.string.isRequired, - searchFolderPlaceHolder: PropTypes.string.isRequired, - homeFolderId: PropTypes.number -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx deleted file mode 100644 index 0832a9ac9df..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/FolderSelector.jsx +++ /dev/null @@ -1,127 +0,0 @@ -import React, { Component } from "react"; -import { PropTypes } from "prop-types"; -import Folders from "./Folders"; -import { Scrollbars } from "react-custom-scrollbars"; -import "./style.less"; - -const searchIconImage = require("!raw-loader!./img/search.svg").default; - -export default class FolderSelector extends Component { - - constructor() { - super(); - this.state = { - showFolderPicker: false, - searchFolderText: "" - }; - this.timeOut = null; - this.handleClick = this.handleClick.bind(this); - this.folderSelector = React.createRef(); - } - - componentDidMount() { - document.addEventListener("click", this.handleClick, false); - this._isMounted = true; - } - - componentWillUnmount() { - document.removeEventListener("click", this.handleClick, false); - this._isMounted = false; - } - - handleClick(e) { - if (!this._isMounted) { return; } - const node = this.folderSelector; - if (node && node.contains(e.target) || e.target.className === "clear-button") { - return; - } - this.hide(); - } - - hide() { - this.setState({ showFolderPicker: false}); - } - - onFolderChange(folder) { - this.hide(); - this.props.onFolderChange(folder); - } - - onChangeSearchFolderText(e) { - const searchFolderText = e.target.value ? e.target.value : ""; - this.setState({ searchFolderText }); - clearTimeout(this.timeOut); - this.timeOut = setTimeout(() => - this.props.searchFolder(searchFolderText.toLowerCase()), - 500); - } - - clearSearch(e) { - e.preventDefault(); - this.setState({ searchFolderText: "" }); - this.props.searchFolder(); - } - - onFoldersClick() { - const {showFolderPicker} = this.state; - this.setState({ showFolderPicker: !showFolderPicker }); - } - - getSearchIcon() { - /* eslint-disable react/no-danger */ - return (
        ); - /* eslint-enable react/no-danger */ - } - - render() { - const {selectedFolder, folders, onParentExpands, noFolderSelectedValue, searchFolderPlaceHolder} = this.props; - const selectedFolderText = selectedFolder ? selectedFolder.value : "<" + noFolderSelectedValue + ">"; - const searchIcon = this.getSearchIcon(); - - return ( -
        this.folderSelector = fs} className="dnn-folder-selector"> -
        - {selectedFolderText} -
        -
        -
        -
        - this.onChangeSearchFolderText(e) } - placeholder={searchFolderPlaceHolder} - aria-label="Search" /> - {this.state.searchFolderText && -
        ×
        - } - {searchIcon} -
        -
        - - - -
        -
        -
        -
        - ); - } -} - - -FolderSelector.propTypes = { - folders: PropTypes.object, - onFolderChange: PropTypes.func.isRequired, - onParentExpands: PropTypes.func.isRequired, - selectedFolder: PropTypes.object, - searchFolder: PropTypes.func.isRequired, - noFolderSelectedValue: PropTypes.string.isRequired, - searchFolderPlaceHolder: PropTypes.string.isRequired -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx deleted file mode 100644 index 4cc00d55afa..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/Folders.jsx +++ /dev/null @@ -1,103 +0,0 @@ -import React, { Component } from "react"; -import { PropTypes } from "prop-types"; -import "./style.less"; - -const folderIcon = require("!raw-loader!./img/folder.svg").default; - -export default class Folders extends Component { - - constructor() { - super(); - this.state = { - openFolders: [] - }; - } - - componentWillReceiveProps(props) { - if (!props.folders || !props.folders.children || !props.folders.children[0] || - !props.folders.children[0].data || !props.folders.children[0].data.key) { - return; - } - const rootKey = props.folders.children[0].data.key; - const {openFolders} = this.state; - openFolders.push(rootKey); - this.setState({ openFolders }); - } - - - toggleFolder(key) { - let {openFolders} = this.state; - if (openFolders.some(id => id === key)) { - openFolders = openFolders.filter(id => id !== key); - } else { - openFolders.push(key); - } - this.setState({ openFolders }); - } - - onParentClick(item) { - if (!item.data.hasChildren) { - return; - } - this.toggleFolder(item.data.key); - if (item.children && item.children.length) { - return; - } - this.props.onParentExpands(item.data.key); - } - - onFolderNameClick(folder) { - this.props.onFolderChange(folder.data); - } - - getFolderIcon() { - /* eslint-disable react/no-danger */ - return (
        ); - /* eslint-enable react/no-danger */ - } - - getFolders(folder) { - if (!folder) { - return false; - } - - const folderIcon = this.getFolderIcon(); - const children = folder.children.map((child) => { - const isOpen = this.state.openFolders.some(id => child !== null && id === child.data.key); - const className = isOpen ? "open" : ""; - return child !== null &&
      • - {child.data.hasChildren && -
        -
        - } -
        - {folderIcon} -
        {child.data.value}
        -
        - {child.data.hasChildren && - this.getFolders(child) - } -
      • ; - }); - - return
          {children}
        ; - } - - render() { - const folders = this.getFolders(this.props.folders); - - return ( -
        - {folders} -
        - ); - } -} - -Folders.propTypes = { - folders: PropTypes.object, - onFolderChange: PropTypes.func.isRequired, - onParentExpands: PropTypes.func.isRequired -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg deleted file mode 100644 index cf83478037a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/folder.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg deleted file mode 100644 index 9622314b685..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/img/search.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less deleted file mode 100644 index a2af1f28a27..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/FolderSelector/style.less +++ /dev/null @@ -1,296 +0,0 @@ -.prefixes(@property, @value) { - -webkit-@{property}: @value; - -khtml-@{property}: @value; - -moz-@{property}: @value; - -ms-@{property}: @value; - @{property}: @value; -} - -@import "~@dnnsoftware/dnn-react-common/styles/index"; -@transition: .2s; - -.dnn-folder-selector { - width: 100%; - float: left; - height: 30px; - border: 1px solid @mountainMist; - position: relative; - border: none; - - &:after { - content: ""; - position: absolute; - right: 20px; - top: 12px; - width: 0; - height: 0; - pointer-events: none; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 4px solid @rollingStone; - } - - .selected-item { - float: left; - width: 100%; - height: 100%; - padding: 7px; - box-sizing: border-box; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding-right: 20px; - } - - span > strong { - cursor: pointer; - &:hover { - text-decoration: underline; - } - } - - .folder-selector-container { - position: absolute; - top: ~"calc(100% + 1px)"; - left: -1px; - width: 100%; - border: 1px solid @alto; - background: white; - z-index: 1; - transition: @transition; - overflow: hidden; - max-height: 0px; - box-shadow: none; - opacity: 0; - &.show { - max-height: 600px; - opacity: 1; - } - .inner-box { - box-sizing: border-box; - padding: 20px; - float: left; - width: 100%; - height: 100%; - .search { - float: left; - width: 100%; - border: 1px solid @alto; - position: relative; - .clear-button { - position: absolute; - right: 32px; - top: 50%; - height: 26px; - margin-top: -13px; - font-size: 26px; - line-height: 26px; - opacity: .5; - cursor: pointer; - &:hover { - opacity: 1; - } - } - .search-icon { - position: absolute; - right: 0px; - top: 50%; - transform: translate(0, -50%); - height: 24px; - color: @rollingStone; - } - input[type="text"] { - float: left; - border: none; - width: ~"calc(100% - 40px)"; - box-sizing: border-box; - outline: none !important; - padding: 0px !important; - box-shadow: none; - border: none !important; - margin-top: 3px; - margin-left: 5px; - } - } - .items { - float: left; - width: 100%; - border: 1px solid @alto; - height: 200px; - margin-top: 14px; - &, * { - .prefixes(user-select, none); - } - - .scrollArea { - height: 100% !important; - max-height: none !important; - - & > div:first-child{ - box-sizing: content-box; - padding-bottom: 17px; - height: 100%; - } - - .dnn-folders-component{ - div.has-children{ - top: 9px; - } - } - } - } - } - } -} - -.dnn-folders-component { - padding-top: 6px; - ul { - padding-left: 20px; - box-sizing: border-box; - li { - list-style: none; - position: relative; - float: left; - width: 100%; - margin-top: 0px; - & > div { - padding-top: 0px; - cursor: pointer; - float: left; - width: 100%; - padding-top: 4px; - &:hover { - color: @curiousBlue; - } - } - & > ul { - height: 0px; - overflow: hidden; - float: left; - width: 100%; - } - &.open { - & > ul { - height: auto; - } - & > .has-children { - transform: rotate(90Deg); - } - } - .icon { - width: 14px; - float: left; - margin-right: 5px; - height: 13px; - cursor: pointer; - } - .item-name { - cursor: pointer; - float: left; - width: ~"calc(100% - 30px)"; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - &.none-specified { - font-weight: bold; - } - } - .has-children { - position: absolute; - left: -15px; - top: 1px; - width: 10px; - height: 10px; - cursor: pointer; - transition: .18s; - &:after { - content: ""; - position: absolute; - left: 4px; - top: 1px; - width: 0; - height: 0; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-left: 4px solid @rollingStone; - } - } - } - } - - padding-top: 6px; - ul { - padding-left: 20px; - box-sizing: border-box; - li { - list-style: none; - position: relative; - float: left; - width: 100%; - margin-top: 0px; - & > div { - padding-top: 0px; - cursor: pointer; - float: left; - width: 100%; - padding-top: 4px; - &:hover { - color: @curiousBlue; - } - } - & > ul { - height: 0px; - overflow: hidden; - float: left; - width: 100%; - } - &.open { - & > ul { - height: auto; - } - & > .has-children { - transform: rotate(90Deg); - } - } - .icon { - width: 14px; - float: left; - margin-right: 5px; - height: 13px; - cursor: pointer; - } - .item-name { - cursor: pointer; - float: left; - width: ~"calc(100% - 30px)"; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - &.none-specified { - font-weight: bold; - } - } - .has-children { - position: absolute; - left: -15px; - top: 1px; - width: 10px; - height: 10px; - cursor: pointer; - transition: .18s; - &:after { - content: ""; - position: absolute; - left: 4px; - top: 1px; - width: 0; - height: 0; - border-top: 4px solid transparent; - border-bottom: 4px solid transparent; - border-left: 4px solid @rollingStone; - } - } - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx deleted file mode 100644 index 1bf4faab8b5..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Item.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; - -function truncateString(content, length) { - if (typeof length === "undefined") { - length = 13; - } - - return content.length <= length ? content : content.substr(0, length) + "..."; -} - -const Item = ({item, iconUrl, handlers, isHighlighted, isDetailed}) => ( -
        -
        -
        -
        -

        { truncateString(item.itemName) }

        -
        -
        -
        -
        -
        -
        - -
        - { handlers.onEdit ?
        : "" } - { handlers.onCopyToClipboard ?
        : "" } - { handlers.onDownload ?
        : "" } - { handlers.onMove ?
        : ""} - { handlers.onDelete ?
        : "" } -
        -
        - {isDetailed &&
        } -
        -); - -Item.propTypes = { - item: PropTypes.object.isRequired, - iconUrl: PropTypes.string.isRequired, - handlers: PropTypes.object.isRequired, - isHighlighted: PropTypes.bool, - isDetailed: PropTypes.bool -}; - -export default Item; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx deleted file mode 100644 index 1d34801acb9..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/components/Permissions.jsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import { PermissionGrid } from "@dnnsoftware/dnn-react-common"; -import DnnSf from "../globals/dnnSf"; - -class Permissions extends React.Component { - constructor(props) { - super(props); - - this.state = { - permissions: JSON.parse( - JSON.stringify(props.folderBeingEdited.permissions) - ), - }; - } - - onPermissionsChanged(permissions) { - const { state } = this; - - let newPermissions = Object.assign({}, state.permissions, permissions); - this.props.updateFolderBeingEdited(newPermissions); - this.setState({ permissions: newPermissions }); - } - - render() { - const { state } = this; - const dnnSf = new DnnSf(); - const grid = ( - {}} - permissions={state.permissions} - service={dnnSf} - onPermissionsChanged={this.onPermissionsChanged.bind(this)} - /> - ); - return
        {grid}
        ; - } -} - -Permissions.propTypes = { - updateFolderBeingEdited: PropTypes.func, - folderBeingEdited: PropTypes.object, -}; - -function mapStateToProps() { - return {}; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({}, dispatch), - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(Permissions); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx deleted file mode 100644 index 8de7b06f21e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddAssetPanelContainer.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import FileUpload from "../components/FileUpload"; -import localizeService from "../services/localizeService"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; - -class AddAssetPanelContainer extends React.Component { - render() { - const { expanded, hasPermission, hidePanel } = this.props; - - return hasPermission ? ( - - ) : null; - } -} - -AddAssetPanelContainer.propTypes = { - expanded: PropTypes.bool, - hasPermission: PropTypes.bool, - hidePanel: PropTypes.func -}; - -function mapStateToProps(state) { - const addAssetPanelState = state.addAssetPanel; - const folderPanelState = state.folderPanel; - - return { - expanded: addAssetPanelState.expanded, - hasPermission: folderPanelState.hasAddFilesPermission - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: addAssetPanelActions.hidePanel - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(AddAssetPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx deleted file mode 100644 index 83f1bcc04e3..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AddFolderPanelContainer.jsx +++ /dev/null @@ -1,173 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import DropDown from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown"; - -class AddFolderPanelContainer extends React.Component { - constructor(props) { - super(props); - this.props.loadFolderMappings(); - this.nameInput = React.createRef(); - this.container = React.createRef(); - } - - componentDidUpdate(previousProps) { - if (!previousProps.expanded && this.props.expanded) { - this.nameInput.focus(); - - // Workaround so the dropdown shows properly with more than 3 folder providers - setTimeout(() => { - this.container.style = "overflow: visible;"; - }, 1000); - } - if (previousProps.expanded && !this.props.expanded) { - this.container.style = "overflow: hidden;"; - } - } - - getParentFolderName() { - const {currentFolderId, currentFolderName, homeFolderId} = this.props.folderPanelState; - - if (currentFolderId === homeFolderId) { - return "HOME"; - } - - return currentFolderName; - } - - render() { - const { expanded, hasPermission, hidePanel, folderTypes, formData, validationErrors, folderPanelState, - changeName, changeFolderType, addFolder, setValidationErrors } = this.props; - - let localizedFolderTypes = folderTypes ? folderTypes.map(obj => - { - let label = localizeService.getString(obj.MappingName); - return { label, value: obj.FolderMappingID }; - }) : undefined; - - let nameValidationError = validationErrors ? validationErrors.name : ""; - let typeValidationError = validationErrors ? validationErrors.type : ""; - - function onSelectChange(option) { - changeFolderType.call(this, option.value); - } - - function formSubmit() { - if (!validateForm()) { - return; - } - - let data = { - formData, - folderPanelState - }; - - addFolder(data); - } - - function validateForm() { - let result = true; - let validationErrors = {}; - - if (!formData.name) { - validationErrors.name = localizeService.getString("FolderNameRequiredMessage"); - result = false; - } - - if (!formData.folderType) { - validationErrors.type = localizeService.getString("FolderTypeRequiredMessage"); - result = false; - } - - setValidationErrors(validationErrors); - - return result; - } - - return hasPermission ? ( -
        this.container = e} className={"top-panel add-folder" + (expanded ? " rm-expanded" : "")} > -
        -
        - - { "/" + this.getParentFolderName() } -
        -
        - - { this.nameInput = input; }} /> - - -
        - { - folderPanelState.folder.folderPath === "" && -
        - - - -
        - } -
        - - - - - -
        -
        - ) : null; - } -} - -AddFolderPanelContainer.propTypes = { - expanded: PropTypes.bool, - hasPermission: PropTypes.bool, - hidePanel: PropTypes.func, - loadFolderMappings: PropTypes.func, - folderTypes: PropTypes.array, - validationErrors: PropTypes.object, - formData: PropTypes.object, - folderPanelState: PropTypes.object, - changeName: PropTypes.func, - changeFolderType: PropTypes.func, - addFolder: PropTypes.func, - setValidationErrors: PropTypes.func -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addFolderPanelState = state.addFolderPanel; - - return { - expanded: addFolderPanelState.expanded, - hasPermission: folderPanelState.hasAddFoldersPermission, - folderTypes: addFolderPanelState.folderMappings, - formData: addFolderPanelState.formData || {}, - validationErrors: addFolderPanelState.validationErrors, - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: addFolderPanelActions.hidePanel, - loadFolderMappings: addFolderPanelActions.loadFolderMappings, - changeName: addFolderPanelActions.changeName, - changeFolderType: addFolderPanelActions.changeFolderType, - addFolder: addFolderPanelActions.addFolder, - setValidationErrors: addFolderPanelActions.setValidationErrors - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(AddFolderPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx deleted file mode 100644 index ee1ea7707ed..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/AssetsPanelContainer.jsx +++ /dev/null @@ -1,224 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { bindActionCreators } from "redux"; -import AssetsHeader from "../components/AssetsHeader"; -import folderPanelActions from "../actions/folderPanelActions"; -import ManageFolderTypesContainer from "../containers/ManageFolderTypesPanelContainer"; -import AddFolderPanelContainer from "../containers/AddFolderPanelContainer"; -import AddAssetPanelContainer from "../containers/AddAssetPanelContainer"; -import TopBarContainer from "./TopBarContainer"; -import Item from "../containers/ItemContainer"; -import ItemDetailsContainer from "../containers/ItemDetailsContainer"; -import ItemMoveContainer from "../containers/ItemMoveContainer"; -import localizeService from "../services/localizeService.js"; -import ReactCSSTransitionGroup from "react-transition-group/CSSTransitionGroup"; - -class AssetsPanelContainer extends React.Component { - constructor(props) { - super(props); - this.mainContainer = React.createRef(); - } - componentWillMount() { - window.addEventListener("scroll", this.handleScroll.bind(this)); - } - - getDetailsPosition(i) { - const itemWidth = this.props.itemWidth; - const container = this.mainContainer; - const containerWidth = container.clientWidth; - const itemsPerRow = Math.floor(containerWidth / itemWidth); - let position = Math.floor(i / itemsPerRow) * itemsPerRow + itemsPerRow - 1; - - return position; - } - - getDetailsPanel(showPanel, i) { - return ( - - {showPanel && } - - ); - } - - getMovePanel(showPanel, i) { - return ( - - {showPanel && } - - ); - } - - handleScroll() { - const { folderPanelState, loadContent, searchFiles } = this.props; - const { totalCount, loadedItems, search, loading } = folderPanelState; - - const bodyHeight = document.body.offsetHeight; - const windowHeight = window.innerHeight; - const totalScrolled = window.pageYOffset; - const scrollMax = bodyHeight - windowHeight; - - if (loadedItems < totalCount && totalScrolled + 100 > scrollMax) { - if (!loading) { - this.setState({ - loadingFlag: true, - }); - - if (search) { - searchFiles(folderPanelState, search, true); - } else { - loadContent(folderPanelState); - } - } - } - } - - render() { - const { - items, - itemEditing, - itemMoving, - search, - itemContainerDisabled, - loading, - } = this.props; - let propsPosition = -1; - - let result = []; - for (let i = 0; i < items.length; i++) { - const item = items[i]; - const { itemId, itemName, isFolder } = item; - result.push(); - - if ( itemEditing && - ( - (isFolder && itemEditing.folderId === itemId) || - (!isFolder && itemEditing.fileId === itemId) - ) - ) { - propsPosition = this.getDetailsPosition(i); - } - - if ( itemMoving && - ( - (isFolder && itemMoving.folderId === itemId) || - (!isFolder && itemMoving.fileId === itemId) - ) - ) { - propsPosition = this.getDetailsPosition(i); - } - - let showPanel = - i === propsPosition || - (propsPosition >= items.length && i === items.length - 1); - if (itemEditing){ - result.push(this.getDetailsPanel(showPanel, i)); - } - - if (itemMoving) { - result.push(this.getMovePanel(showPanel, i)); - } - } - - return ( -
        e.stopPropagation()}> - -
        - -
        (this.mainContainer = c)} - className={"main-container" + (loading ? " loading" : "")} - > - - - -
        - {result} -
        - - {localizeService.getString("AssetsPanelNoSearchResults")} - -
        -
        - - {localizeService.getString("AssetsPanelEmpty_Title")} - - - {localizeService.getString("AssetsPanelEmpty_Subtitle")} - -
        -
        -
        -
        -
        - ); - } -} - -AssetsPanelContainer.propTypes = { - folderPanelState: PropTypes.object, - items: PropTypes.array, - search: PropTypes.string, - itemContainerDisabled: PropTypes.bool, - loading: PropTypes.bool, - itemEditing: PropTypes.object, - itemMoving: PropTypes.object, - itemWidth: PropTypes.number, - loadContent: PropTypes.func, - searchFiles: PropTypes.func, -}; - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators( - { - loadContent: folderPanelActions.loadContent, - searchFiles: folderPanelActions.searchFiles, - }, - dispatch - ), - }; -} - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addFolderPanelState = state.addFolderPanel; - const addAssetPanelState = state.addAssetPanel; - const itemDetailsState = state.itemDetails; - - return { - folderPanelState, - items: folderPanelState.items || [], - search: folderPanelState.search, - itemContainerDisabled: - addFolderPanelState.expanded || addAssetPanelState.expanded, - loading: folderPanelState.loading, - itemEditing: itemDetailsState.itemEditing, - itemMoving: itemDetailsState.itemMoving, - itemWidth: folderPanelState.itemWidth, - }; -} - -export default connect( - mapStateToProps, - mapDispatchToProps -)(AssetsPanelContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx deleted file mode 100644 index 8c6a6db0ec9..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/BreadcrumbsContainer.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import Breadcrumb from "../components/Breadcrumb"; -import folderPanelActions from "../actions/folderPanelActions"; -import localizeService from "../services/localizeService"; - -class BreadcrumbsContainer extends React.Component { - render() { - const { breadcrumbs, loadContent, folderPanelState } = this.props; - const search = folderPanelState.search; - - let result = []; - let folderId; - - if (breadcrumbs[0]) { - folderId = breadcrumbs[0].folderId; - } - result.push(); - for (let i = 1; i"); - result.push(); - } - - if (search) { - result.push(">"); - result.push(); - } - - return ( -
        - { result } -
        - ); - } -} - -BreadcrumbsContainer.propTypes = { - breadcrumbs: PropTypes.array, - loadContent: PropTypes.func, - folderPanelState: PropTypes.object -}; - -function mapStateToProps(state) { - const breadcrumbsState = state.breadcrumbs; - const folderPanelState = state.folderPanel; - - return { - breadcrumbs: breadcrumbsState.breadcrumbs || [], - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(BreadcrumbsContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx deleted file mode 100644 index 80258fb3244..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ButtonsContainer.jsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService.js"; -import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; - -class ButtonsContainer extends React.Component { - render() { - const { hasManageFolderTypesPermission, hasAddFilesPermission, hasAddFoldersPermission, showAddFolderPanel, showAddAssetPanel, showManageFolderTypesPanel } = this.props; - - return ( -
        -
        - { hasManageFolderTypesPermission ? { localizeService.getString("ManageFolderTypes") } : null } - { hasAddFoldersPermission ? { localizeService.getString("AddFolder") } : null } - { hasAddFilesPermission ? { localizeService.getString("AddAsset") } : null } -
        -
        - ); - } -} - -ButtonsContainer.propTypes = { - showManageFolderTypesPanel: PropTypes.func, - showAddFolderPanel: PropTypes.func, - showAddAssetPanel: PropTypes.func, - hasManageFolderTypesPermission: PropTypes.bool, - hasAddFilesPermission: PropTypes.bool, - hasAddFoldersPermission: PropTypes.bool -}; - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - showManageFolderTypesPanel: manageFolderTypesPanelActions.showPanel, - showAddFolderPanel: addFolderPanelActions.showPanel, - showAddAssetPanel: addAssetPanelActions.showPanel - }, dispatch) - }; -} - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const moduleState = state.module; - return { - hasManageFolderTypesPermission: moduleState.isAdmin, - hasAddFilesPermission: folderPanelState.hasAddFilesPermission, - hasAddFoldersPermission: folderPanelState.hasAddFoldersPermission - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ButtonsContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js deleted file mode 100644 index 89ffa86bf64..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DevTools.js +++ /dev/null @@ -1,11 +0,0 @@ -import React from "react"; -import { createDevTools } from "redux-devtools"; -import LogMonitor from "redux-devtools-log-monitor"; -import DockMonitor from "redux-devtools-dock-monitor"; - -export default createDevTools( - - - -); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx deleted file mode 100644 index 0dfb455f9b6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DialogModalContainer.jsx +++ /dev/null @@ -1,76 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import dialogModalActions from "../actions/dialogModalActions"; -import Modal from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Modal"; -import Label from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Label"; - -class DialogModalContainer extends React.Component { - render() { - const modalStyles = { - overlay: { - zIndex: "99999", - backgroundColor: "rgba(0,0,0,0.6)" - }, - content: { - borderRadius: "7px", - "background": "white", - WebkitBoxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - boxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - textAlign: "center", - "width": "300px", - height: "178px", - margin: "auto", - padding: 0, - border: "none", - boxSizing: "border-box" - } - }; - - const { dialogHeader, dialogMessage, close, yesFunction, noFunction } = this.props; - - function yesHandler() { - close(); - yesFunction(); - } - - return ( - - - ); - } -} - -DialogModalContainer.propTypes = { - dialogHeader: PropTypes.string, - dialogMessage: PropTypes.string, - close: PropTypes.func.isRequired, - yesFunction: PropTypes.func, - noFunction: PropTypes.func -}; - -function mapStateToProps(state) { - const dialogModalState = state.dialogModal; - return { - dialogHeader: dialogModalState.dialogHeader, - dialogMessage: dialogModalState.dialogMessage, - yesFunction: dialogModalState.yesFunction, - noFunction: dialogModalState.noFunction - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - close: dialogModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(DialogModalContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx deleted file mode 100644 index 043151329c6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/DropZoneContainer.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import DropZone from "react-dropzone"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; -import api from "../globals/api"; - -class DropZoneContainer extends React.Component { - validateFile(file) { - const { - maxUploadSize, - maxFileUploadSizeHumanReadable, - fileSizeError, - invalidExtensionError, - } = this.props; - - if (file.size > maxUploadSize) { - fileSizeError(file.name, maxFileUploadSizeHumanReadable); - return false; - } - - const validExtensions = api - .getWhitelistObject() - .extensionWhitelist.split(","); - const ext = file.name.substr(file.name.lastIndexOf(".") + 1); - let valid = false; - for (let i = 0; i < validExtensions.length; i++) { - const extension = validExtensions[i]; - if (extension !== ext) continue; - valid = true; - break; - } - - if (!valid) { - invalidExtensionError(file.name); - return false; - } - - return true; - } - - uploadFilesHandler(acceptedFiles) { - const { - showPanel, - folderPanelState, - trackProgress, - uploadFiles, - } = this.props; - showPanel(); - const validFiles = acceptedFiles.filter(this.validateFile.bind(this)); - uploadFiles( - validFiles, - this.getFolderPath(), - folderPanelState, - trackProgress - ); - } - - getFolderPath() { - const { folder } = this.props.folderPanelState; - return folder ? folder.folderPath : ""; - } - - render() { - const { hasPermission, style, activeStyle, className } = this.props; - return hasPermission ? ( - - {() => this.props.children} - - ) : ( -
        {this.props.children}
        - ); - } -} - -DropZoneContainer.propTypes = { - children: PropTypes.node, - disableClick: PropTypes.bool, - className: PropTypes.string, - style: PropTypes.any, - activeStyle: PropTypes.any, - folderPanelState: PropTypes.object, - hasPermission: PropTypes.bool, - showPanel: PropTypes.func, - uploadFiles: PropTypes.func, - trackProgress: PropTypes.func, - maxUploadSize: PropTypes.number, - maxFileUploadSizeHumanReadable: PropTypes.string, - fileSizeError: PropTypes.func, - invalidExtensionError: PropTypes.func, -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const moduleState = state.module; - - return { - folderPanelState, - maxUploadSize: moduleState.maxUploadSize, - maxFileUploadSizeHumanReadable: moduleState.maxFileUploadSizeHumanReadable, - hasPermission: folderPanelState.hasAddFilesPermission, - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators( - { - showPanel: addAssetPanelActions.showPanel, - uploadFiles: addAssetPanelActions.uploadFiles, - trackProgress: addAssetPanelActions.trackProgress, - fileSizeError: addAssetPanelActions.fileSizeError, - invalidExtensionError: addAssetPanelActions.invalidExtensionError, - }, - dispatch - ), - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(DropZoneContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx deleted file mode 100644 index 23b4c8a97de..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemContainer.jsx +++ /dev/null @@ -1,176 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import dialogModalActions from "../actions/dialogModalActions"; -import Item from "../components/Item"; -import itemsService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -class ItemContainer extends React.Component { - render() { - const { item, itemEditing, loadContent, editItem, moveItem, downloadFile, deleteFolder, - deleteFile, copyFileUrlToClipboard, openDialog, closeDialog, - folderPanelState, uploadedFiles, newFolderId } = this.props; - const isFolder = item.isFolder; - const { hasDeletePermission, hasManagePermission } = folderPanelState; - - function isHighlighted() { - if (isFolder && newFolderId === item.itemId) { - return true; - } - - if (!isFolder) { - for (let i = 0; i < uploadedFiles.length; i++) { - if (uploadedFiles[i].fileId === item.itemId) { - return true; - } - } - } - - return false; - } - - function getIconUrl() { - return itemsService.getIconUrl(item); - } - - function onClickFolder() { - if (!isFolder) { - return; - } - - loadContent(folderPanelState, item.itemId); - } - - function onEditItem(item, event) { - event.stopPropagation(); - editItem(item); - } - - function onDeleteFolder(event) { - event.stopPropagation(); - if (!isFolder) { - return; - } - - const dialogHeader = localizeService.getString("DeleteFolderDialogHeader"); - const dialogMessage = localizeService.getString("DeleteFolderDialogMessage"); - const yesFunction = deleteFolder.bind(this, item.itemId, folderPanelState); - const noFunction = closeDialog; - - openDialog(dialogHeader, dialogMessage, yesFunction, noFunction); - } - - function onMoveFolder(item, event) { - event.stopPropagation(); - if (!isFolder) { - return; - } - - moveItem(item); - } - - function onMoveFile(item, event) { - event.stopPropagation(); - if(isFolder) { - return; - } - - moveItem(item); - } - - function onDeleteFile(event) { - event.stopPropagation(); - if (isFolder) { - return; - } - - const dialogHeader = localizeService.getString("DeleteFileDialogHeader"); - const dialogMessage = localizeService.getString("DeleteFileDialogMessage"); - const yesFunction = deleteFile.bind(this, item.itemId, folderPanelState); - const noFunction = closeDialog; - - openDialog(dialogHeader, dialogMessage, yesFunction, noFunction); - } - - function isDetailed() { - if (!itemEditing) { - return false; - } - - const {isFolder, fileId, folderId} = itemEditing; - - if ((isFolder && folderId === item.itemId) || - (!isFolder && fileId === item.itemId)) { - return true; - } - - return false; - } - - const handlers = { - onClick: isFolder ? onClickFolder : null, - onEdit: hasManagePermission ? onEditItem.bind(this, item) : null, - onCopyToClipboard: isFolder ? null : copyFileUrlToClipboard.bind(this, item), - onDownload: isFolder ? null : downloadFile.bind(this, item.itemId), - onMove: (hasManagePermission && hasDeletePermission) ? isFolder ? onMoveFolder.bind(this, item) : onMoveFile.bind(this, item) : null, - onDelete: hasDeletePermission ? isFolder ? onDeleteFolder : onDeleteFile : null - }; - - return ( - - ); - } -} - -ItemContainer.propTypes = { - item: PropTypes.object, - loadContent: PropTypes.func, - editItem: PropTypes.func, - moveItem: PropTypes.func, - downloadFile: PropTypes.func, - deleteFolder: PropTypes.func, - deleteFile: PropTypes.func, - copyFileUrlToClipboard: PropTypes.func, - openDialog: PropTypes.func, - closeDialog: PropTypes.func, - folderPanelState: PropTypes.object, - uploadedFiles: PropTypes.array, - newFolderId: PropTypes.number, - itemEditing: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const addAssetPanelState = state.addAssetPanel; - const addFolderPanelState = state.addFolderPanel; - const itemDetailsState = state.itemDetails; - - return { - folderPanelState, - uploadedFiles: addAssetPanelState.uploadedFiles, - newFolderId: addFolderPanelState.newFolderId, - itemEditing: itemDetailsState.itemEditing - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent, - editItem: itemDetailsActions.editItem, - moveItem: itemDetailsActions.moveItem, - downloadFile: folderPanelActions.downloadFile, - deleteFolder: folderPanelActions.deleteFolder, - deleteFile: folderPanelActions.deleteFile, - copyFileUrlToClipboard: folderPanelActions.copyFileUrlToClipboard, - openDialog: dialogModalActions.open, - closeDialog: dialogModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx deleted file mode 100644 index 6afa215c5c0..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemDetailsContainer.jsx +++ /dev/null @@ -1,95 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import FolderDetails from "../components/FolderDetails"; -import FileDetails from "../components/FileDetails"; -import itemService from "../services/itemsService"; -import localizeService from "../services/localizeService"; - -class ItemDetailsContainer extends React.Component { - constructor(props) { - super(props); - } - - validateForm() { - const {itemEditing, setValidationErrors} = this.props; - let result = true; - let validationErrors = {}; - - if ((!itemEditing.isFolder && !itemEditing.fileName) || (itemEditing.isFolder && !itemEditing.folderName)) { - validationErrors.fileName = localizeService.getString("ItemNameRequiredMessage"); - result = false; - } - - setValidationErrors(validationErrors); - return result; - } - formSubmit() { - if (!this.validateForm()) { - return; - } - - const {itemEditing, saveItem} = this.props; - saveItem(itemEditing); - } - render() { - const {itemEditing, cancelEditItem, - changeName, changeTitle, changeDescription, changePermissions} = this.props; - const onSave = this.formSubmit.bind(this); - const handlers = {changeName, changeTitle, changeDescription, changePermissions, cancelEditItem, onSave}; - let fileName, folderName, title, description; - fileName = folderName = title = description = ""; - let item = {fileName, folderName, title, description}; - const isFolder = itemEditing ? itemEditing.isFolder : false; - const validationErrors = this.props.validationErrors || {}; - - if (itemEditing) { - let iconStyle = {backgroundImage: "url('" + itemService.getIconUrl(itemEditing) + "')"}; - item = {...itemEditing, iconStyle}; - } - - return ( - isFolder ? - : - - ); - } -} - -ItemDetailsContainer.propTypes = { - itemEditing: PropTypes.object, - cancelEditItem: PropTypes.func, - changeName: PropTypes.func, - changeTitle: PropTypes.func, - changeDescription: PropTypes.func, - changePermissions: PropTypes.func, - saveItem: PropTypes.func, - setValidationErrors: PropTypes.func, - validationErrors: PropTypes.object -}; - -function mapStateToProps(state) { - const itemDetailsState = state.itemDetails; - return { - itemEditing: itemDetailsState.itemEditing, - validationErrors: itemDetailsState.validationErrors - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - cancelEditItem: itemDetailsActions.cancelEditItem, - changeName: itemDetailsActions.changeName, - changeTitle: itemDetailsActions.changeTitle, - changeDescription: itemDetailsActions.changeDescription, - changePermissions: itemDetailsActions.changePermissions, - saveItem: itemDetailsActions.saveItem, - setValidationErrors: itemDetailsActions.setValidationErrors - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemDetailsContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx deleted file mode 100644 index fd452473a01..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ItemMoveContainer.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import itemDetailsActions from "../actions/itemDetailsActions"; -import localizeService from "../services/localizeService"; -import FolderPicker from "../components/FolderSelector/FolderPicker" -import folderPanelActions from "../actions/folderPanelActions"; - -class ItemMoveContainer extends React.Component { - constructor(props) { - super(props); - this.state = { - selectedFolderId: this.props.folderPanelState.currentFolderId, - selectedFolderName: this.props.folderPanelState.currentFolderName, - }; - } - - handleFolderChange(e){ - this.setState({ - ...this.state, - selectedFolderId: e.key, - selectedFolderName: e.value, - }); - } - - handleItemMove(){ - if (this.state.selectedFolderId === this.props.folderPanelState.currentFolderId){ - this.props.cancelMoveItem(); - return; - } - - if (this.props.itemMoving.isFolder){ - this.props.moveFolder(this.props.itemMoving.folderId, this.state.selectedFolderId); - } - else { - this.props.moveFile(this.props.itemMoving.fileId, this.state.selectedFolderId); - } - } - - componentWillUnmount(){ - this.props.loadContent(this.props.folderPanelState, this.state.selectedFolderId); - } - - render() { - const { cancelMoveItem, homeFolderId } = this.props; - return ( -
        -

        {localizeService.getString("MoveItem")}

        - -
        - - this.handleFolderChange(e)} - homeFolderId={homeFolderId} - noFolderSelectedValue={localizeService.getString("NoFolderSelected")} - searchFolderPlaceHolder={localizeService.getString("SearchFolder")} - /> -
        - -
        - - -
        -
        - ); - } -} - -ItemMoveContainer.propTypes = { - itemMoving: PropTypes.object, - cancelMoveItem: PropTypes.func, - moveItem: PropTypes.func, - moveFolder: PropTypes.func, - moveFile: PropTypes.func, - loadContent: PropTypes.func, - folderPanelState: PropTypes.object, - homeFolderId: PropTypes.number, -}; - -function mapStateToProps(state) { - const itemDetailsState = state.itemDetails; - return { - folderPanelState: state.folderPanel, - itemMoving: itemDetailsState.itemMoving, - homeFolderId: state.module.homeFolderId, - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - cancelMoveItem: itemDetailsActions.cancelMoveItem, - moveItem: itemDetailsActions.moveItem, - moveFolder: itemDetailsActions.moveFolder, - moveFile: itemDetailsActions.moveFile, - loadContent: folderPanelActions.loadContent, - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ItemMoveContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx deleted file mode 100644 index 4c69a4f981a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ManageFolderTypesPanelContainer.jsx +++ /dev/null @@ -1,143 +0,0 @@ -import React from "react"; -import { PropTypes } from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import localizeService from "../services/localizeService"; -import manageFolderTypesPanelActions from "../actions/manageFolderTypesPanelActions"; -import { SvgIcons } from "@dnnsoftware/dnn-react-common"; -import addFolderPanelActions from "../actions/addFolderPanelActions"; -import dialogModalActions from "../actions/dialogModalActions"; - -class ManageFolderTypesPanelContainer extends React.Component { - constructor(props) { - super(props); - this.props.loadFolderMappings(); - if (props.isAdmin){ - this.props.getAddFolderTypeUrl(); - } - } - - handleConfirmRemoveFolderType(e, folderTypeMappingId) { - e.preventDefault(); - let dialogHeader = localizeService.getString("RemoveFolderTypeDialogHeader"); - let dialogBody = localizeService.getString("RemoveFolderTypeDialogBody"); - this.props.openDialog(dialogHeader, dialogBody, () => this.handleRemoveFolderType(folderTypeMappingId), this.props.closeDialog); - } - - handleRemoveFolderType(folderTypeMappingId) { - this.props.removeFolderType(folderTypeMappingId); - this.props.loadFolderMappings(); - } - - render() { - const { - expanded, - hidePanel, - folderTypes, - isAdmin, - addFolderTypeUrl, - } = this.props; - - return isAdmin && expanded ? ( -
        -

        {localizeService.getString("FolderTypeDefinitions")}

        - - - - - - - - - - - {folderTypes && folderTypes.map(folderType => { - return ( - - - - - - - ); - })} - -
         {localizeService.getString("Name")}{localizeService.getString("FolderProvider")} 
        - {!folderType.IsDefault && - - } - {folderType.MappingName}{folderType.FolderProviderType} - {!folderType.IsDefault && -
        - - - - - -
        -
        - ) : null; - } -} - -ManageFolderTypesPanelContainer.propTypes = { - expanded: PropTypes.bool, - hidePanel: PropTypes.func, - folderTypes: PropTypes.array, - isAdmin: PropTypes.bool, - loadFolderMappings: PropTypes.func, - removeFolderType: PropTypes.func, - openDialog: PropTypes.func, - closeDialog: PropTypes.func, - getAddFolderTypeUrl: PropTypes.func, - addFolderTypeUrl: PropTypes.string, -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const manageFolderTypesPanelState = state.manageFolderTypesPanel; - const addFolderPanelState = state.addFolderPanel; - const module = state.module; - - return { - expanded: manageFolderTypesPanelState.expanded, - isAdmin: module.isAdmin, - folderTypes: addFolderPanelState.folderMappings, - addFolderTypeUrl: manageFolderTypesPanelState.addFolderTypeUrl, - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - hidePanel: manageFolderTypesPanelActions.hidePanel, - loadFolderMappings: addFolderPanelActions.loadFolderMappings, - removeFolderType: manageFolderTypesPanelActions.removeFolderType, - openDialog: dialogModalActions.open, - closeDialog: dialogModalActions.close, - getAddFolderTypeUrl: manageFolderTypesPanelActions.getAddFolderTypeUrl, - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ManageFolderTypesPanelContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx deleted file mode 100644 index 55c5052ba9e..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/MessageModalContainer.jsx +++ /dev/null @@ -1,78 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import messageModalActions from "../actions/messageModalActions"; -import Modal from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Modal"; - - -class MessageModalContainer extends React.Component { - render() { - const modalStyles = { - overlay: { - zIndex: "99999", - "background": "none" - }, - content: { - borderRadius: "3px", - color: "white", - textAlign: "center", - background: "#002e47", - opacity: ".9", - WebkitBoxShadow: "0 0 25px 0 rgba(0, 0, 0, 0.75)", - width: "10%", - minWidth: "250px", - minHeight: "80px", - maxHeight: "120px", - margin: "auto", - padding: 0, - border: "none", - boxSizing: "border-box" - } - }; - - const { infoMessage, errorMessage, close } = this.props; - const messageToShow = infoMessage || errorMessage; - - function setTimeOutToClose() { - setTimeout(function () { - close(); - }, 3000); - } - - if (messageToShow) - { - setTimeOutToClose(); - } - - return ( - -

        {messageToShow}

        -
        - ); - } -} - -MessageModalContainer.propTypes = { - infoMessage: PropTypes.string, - errorMessage: PropTypes.string, - close: PropTypes.func.isRequired -}; - -function mapStateToProps(state) { - const messageModalState = state.messageModal; - return { - infoMessage: messageModalState.infoMessage, - errorMessage: messageModalState.errorMessage - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - close: messageModalActions.close - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(MessageModalContainer); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx deleted file mode 100644 index 6ee59723c19..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ModuleLayout.jsx +++ /dev/null @@ -1,62 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import AssetsPanelContainer from "./AssetsPanelContainer"; -import DialogModalContainer from "./DialogModalContainer"; -import MessageModalContainer from "./MessageModalContainer"; -import DropZone from "../containers/DropZoneContainer"; - -class ModuleLayout extends React.Component { - componentDidMount() { - const { folderPanelState, loadContent } = this.props; - this.props.loadContent(folderPanelState); - - window.addEventListener("popstate", - event => { - const state = event.state; - if (state && state.folderId) { - loadContent(folderPanelState, state.folderId); - } - else { - loadContent(folderPanelState, folderPanelState.homeFolderId); - } - } - ); - } - - render() { - return ( -
        - - - - - -
        - ); - } -} - -ModuleLayout.propTypes = { - loadContent: PropTypes.func, - folderPanelState: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - return { - folderPanelState - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(ModuleLayout); diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx deleted file mode 100644 index c0f766954b7..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressBarOverwriteContainer.jsx +++ /dev/null @@ -1,71 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import addAssetPanelActions from "../actions/addAssetPanelActions"; -import localizeService from "../services/localizeService.js"; - -class ProgressBarOverwriteContainer extends React.Component { - render() { - const {fileName, folderPanelState, overwriteFile, stopUpload, trackProgress, breadcrumbs} = this.props; - - function getFolderPath() { - let path = ""; - for (let i = 1; i < breadcrumbs.length; i++) { - path += breadcrumbs[i].folderName + "/"; - } - - return path; - } - - function overwriteClickHandler() { - overwriteFile(fileName, getFolderPath(), folderPanelState, trackProgress, true); - } - - function abortClickHandler() { - stopUpload(fileName); - } - - return ( - - - {localizeService.getString("Replace")} - {localizeService.getString("Keep")} - - ); - } -} - -ProgressBarOverwriteContainer.propTypes = { - fileName: PropTypes.string, - breadcrumbs: PropTypes.array, - file: PropTypes.object, - folderPanelState: PropTypes.object, - overwriteFile: PropTypes.func, - stopUpload: PropTypes.func, - trackProgress: PropTypes.func, - progress: PropTypes.object -}; - -function mapStateToProps(state) { - const folderPanelState = state.folderPanel; - const breadcrumbsState = state.breadcrumbs; - - return { - folderPanelState, - breadcrumbs: breadcrumbsState.breadcrumbs - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - overwriteFile: addAssetPanelActions.overwriteFile.bind(addAssetPanelActions), - stopUpload: addAssetPanelActions.stopUpload, - trackProgress: addAssetPanelActions.trackProgress - }, dispatch) - }; -} - - -export default connect(mapStateToProps, mapDispatchToProps)(ProgressBarOverwriteContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx deleted file mode 100644 index 765ec90c4a1..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/ProgressContainer.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import FileProgress from "../components/FileProgress"; -import localizeService from "../services/localizeService"; - -function isImage(url) { - if (!url) { - return false; - } - - const imageExtensions = ["JPG", "JPE", "BMP", "GIF", "PNG", "JPEG", "ICO"]; - let urlNoParameters = url.split("?")[0]; - let ext = urlNoParameters.split(".").reverse()[0].toUpperCase(); - for (let i = 0; i < imageExtensions.length; i++) { - if (imageExtensions[i] === ext) return true; - } - return false; -} - -class ProgressContainer extends React.Component { - isUploading(fileProgress) { - const {completed, alreadyExists, stopped, error} = fileProgress; - return !completed && !alreadyExists && !stopped && !error; - } - getImageUrl(fileProgress) { - const uploading = this.isUploading(fileProgress); - - if (uploading) { - return ""; - } - - if (isImage(fileProgress.path)) { - return fileProgress.path; - } - - return fileProgress.fileIconUrl; - } - - getMessage(fileProgress) { - const {error, stopped, completed} = fileProgress; - - if (error) { - return fileProgress.error; - } - - if (stopped) { - return localizeService.getString("FileUploadStoppedMessage"); - } - - if (completed) { - return localizeService.getString("FileUploadedMessage"); - } - - return null; - } - - render() { - const { progress } = this.props; - let output = []; - for (let fileName in progress) { - const fileProgress = progress[fileName]; - const {error, stopped, path, alreadyExists} = fileProgress; - const uploading = this.isUploading(fileProgress); - const imageUrl = this.getImageUrl(fileProgress); - const message = this.getMessage(fileProgress); - - output.push(); - } - - return ( -
        - { output } -
        - ); - } -} - -ProgressContainer.propTypes = { - progress: PropTypes.object, - uploaded: PropTypes.object -}; - -function mapStateToProps(state) { - const addAssetPanelState = state.addAssetPanel; - - return { - progress: addAssetPanelState.progress, - uploaded: addAssetPanelState.uploaded - }; -} - -export default connect(mapStateToProps)(ProgressContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx deleted file mode 100644 index 5dd5dce8d68..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/containers/TopBarContainer.jsx +++ /dev/null @@ -1,166 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { bindActionCreators } from "redux"; -import { connect } from "react-redux"; -import folderPanelActions from "../actions/folderPanelActions"; -import topBarActions from "../actions/topBarActions"; -import localizeService from "../services/localizeService"; -import DropDown from "../../../../../../Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown"; -import FolderPicker from "../components/FolderSelector/FolderPicker"; -import debounce from "lodash/debounce"; - -const refreshSyncIcon = require("!raw-loader!../../../Images/redeploy.svg").default; - -class TopBarContainer extends React.Component { - componentWillMount() { - this.debouncedSearch = debounce(this.searchHandler.bind(this, true), 500); - } - - onChangeFolder(folder) { - const {folderPanelState, loadContent} = this.props; - const folderId = parseInt(folder.key); - loadContent(folderPanelState, folderId); - } - - searchHandler(checkLength) { - const {folderPanelState, changeSearchingValue, searchFiles, loadContent} = this.props; - const {currentFolderId} = folderPanelState; - const oldSearch = folderPanelState.search; - let search = this.props.search; - - search = checkLength && search.length < 3 ? "" : search; - - if (!oldSearch && !search) { - return; - } - - changeSearchingValue(search); - if (!search) { - loadContent(folderPanelState, currentFolderId); - } - else { - searchFiles(folderPanelState, search); - } - } - - onSearchChanged(event) { - this.props.changeSearchField(event.target.value); - this.debouncedSearch(); - } - - onSortingChange(option) { - const {changeSorting, loadContent, folderPanelState} = this.props; - const {currentFolderId} = folderPanelState; - const newFolderPanelState = { ...folderPanelState, sorting: option.value }; - - changeSorting(option.value); - loadContent(newFolderPanelState, currentFolderId); - } - - onRefreshSyncChange(folderPanelState, currentFolderId, option) { - switch (option.value) { - case "Refresh": - this.props.loadContent(folderPanelState, currentFolderId); - break; - - case "SyncThisFolder": - this.props.syncContent(folderPanelState, false); - break; - - case "SyncThisFolderAndSubfolders": - this.props.syncContent(folderPanelState, true); - break; - - default: - break; - } - } - - render() { - const {folderPanelState, search, userLogged, homeFolderId} = this.props; - const {currentFolderId, currentFolderName, sortOptions, sorting} = folderPanelState; - - return ( -
        -
        - {userLogged ? -
        - this.onRefreshSyncChange(folderPanelState, currentFolderId, option)} - withBorder={false} - fixedHeight={200} - label="" - prependWith={} - withIcon={false} /> - -
        - : {localizeService.getString("DisabledForAnonymousUsersMessage")} - } -
        -
        - -
        -
        - - - -
        -
        - ); - } -} - -TopBarContainer.propTypes = { - folderPanelState: PropTypes.object, - loadContent: PropTypes.func, - syncContent: PropTypes.func, - changeSearchingValue: PropTypes.func, - searchFiles: PropTypes.func, - changeSorting: PropTypes.func, - changeSearchField: PropTypes.func, - search: PropTypes.string, - userLogged: PropTypes.bool, - homeFolderId: PropTypes.number -}; - -function mapStateToProps(state) { - const moduleState = state.module; - const folderPanelState = state.folderPanel; - const topBarState = state.topBar; - - return { - folderPanelState, - search: topBarState.search || "", - userLogged: moduleState.userLogged, - homeFolderId: moduleState.homeFolderId - }; -} - -function mapDispatchToProps(dispatch) { - return { - ...bindActionCreators({ - loadContent: folderPanelActions.loadContent, - syncContent: folderPanelActions.syncContent, - searchFiles: folderPanelActions.searchFiles, - changeSearchingValue: folderPanelActions.changeSearchingValue, - changeSorting: folderPanelActions.changeSorting, - changeSearchField: topBarActions.changeSearchField - }, dispatch) - }; -} - -export default connect(mapStateToProps, mapDispatchToProps)(TopBarContainer); \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js deleted file mode 100644 index 29d53933aa6..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/api.js +++ /dev/null @@ -1,263 +0,0 @@ -let tabId = -1; -let moduleId = -1; -let groupId = -1; -let moduleName = ""; -let extensionWhitelist = ""; -let validationCode = ""; - -const ANTIFORGERY_TOKEN_KEY = "__RequestVerificationToken"; - -function getAntiForgeryToken() { - let inputNodes = document.getElementsByTagName("input"); - inputNodes = Array.prototype.slice.call(inputNodes); - const antiforgeryTokenNodes = inputNodes.filter(function (inputNode) { - return inputNode.getAttribute("name") === ANTIFORGERY_TOKEN_KEY; - }); - - if (antiforgeryTokenNodes.length > 0) { - return antiforgeryTokenNodes[0].value; - } - - return ""; -} - -/** function to perform raw http request */ -function httpRequest(url, options) { - const headersObject = { - "ModuleId": moduleId, - "TabId": tabId, - "GroupId": groupId - }; - - if (options.headers) { - Object.assign(headersObject, options.headers); - } - - const antiforgeryToken = getAntiForgeryToken(); - if (antiforgeryToken) { - headersObject.RequestVerificationToken = antiforgeryToken; - } - - const headers = new Headers(headersObject); - options = Object.assign(options, { - credentials: "same-origin", - headers: headers - }); - - - return fetch(url, options).then(handleHttpResponse); -} - -function SAHttpRequest(url, options) { - // eslint-disable-next-line - const request = require("superagent"); - const { method, body, progressTracker } = options; - - const headersObject = { - "ModuleId": moduleId, - "TabId": tabId, - "GroupId": groupId - }; - - if (options.headers) { - Object.assign(headersObject, options.headers); - } - - const antiforgeryToken = getAntiForgeryToken(); - if (antiforgeryToken) { - headersObject.RequestVerificationToken = antiforgeryToken; - } - - return request(method, url).set(headersObject).send(body).on("progress", progressTracker) - .then(response => JSON.parse(response.text), handleSAHttpRequestFailure); -} - -function handleSAHttpRequestFailure(response) { - const error = new Error(response.status + " - An expected error has been received from the server."); - error.code = response.status; - throw error; -} - -/** function to handle http response */ -function handleHttpResponse(response) { - if (response.status >= 200 && response.status < 300) { - return response.json(); - } - - return response.json() - .then(function processErrorJson(json) { - const error = new Error(); - error.code = response.status; - error.data = json; - throw error; - } - , () => { - const error = new Error(response.status + " - An expected error has been received from the server."); - error.code = response.status; - throw error; - }); -} - -/** function to serialize query string object */ -function serializeQueryStringParameters(obj) { - let s = []; - for (let p in obj) { - if (obj.hasOwnProperty(p)) { - s.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); - } - } - return s.join("&"); -} - -/** - * @module api - */ -const api = { - /** initialize the api module. This call must be done before use any other method of the module - * @param {object} options - moduleId, tabId and moduleName are required - * */ - init(options) { - if (!options) { - throw new Error("The init method requires an options parameter with tabId, moduleId and moduleName"); - } - - if (typeof(options.moduleId) !== "number" || options.moduleId <= 0 ) { - throw new Error("The moduleId must be a number greater than 0."); - } - - if (typeof(options.moduleName) !== "string" || !options.moduleName ) { - throw new Error("The moduleName must be a string and it can't be empty. "); - } - - if (typeof(options.tabId) !== "number" || options.tabId <= 0 ) { - throw new Error("The tabId must be a number greater than 0"); - } - - moduleId = options.moduleId; - moduleName = options.moduleName; - tabId = options.tabId; - groupId = options.groupId; - extensionWhitelist = options.extensionWhitelist; - validationCode = options.validationCode; - }, - - getAntiForgeryToken() { - return getAntiForgeryToken(); - }, - - getServiceRoot(ignoreCurrentModuleApi) { - // eslint-disable-next-line no-undef - let serviceRoot = dnn.getVar("sf_siteRoot", "/"); - serviceRoot += "DesktopModules/"; - if (!ignoreCurrentModuleApi) { - serviceRoot += moduleName + "/API/"; - } - return serviceRoot; - }, - - getModuleRoot() { - // eslint-disable-next-line no-undef - let moduleRoot = dnn.getVar("sf_siteRoot", "/"); - moduleRoot += "DesktopModules/" + moduleName; - - return moduleRoot; - }, - - /** this function performs a get http request - * @param {string} url - * @param {object} query string object - * */ - get(url, queryString = null) { - - if (queryString) { - url += (url.indexOf("?") > 0 ? "&" : "?") + serializeQueryStringParameters(queryString); - } - - return httpRequest(url, { - method: "GET" - }); - }, - /** this function performs a post http request - * @param {string} url - * @param {object} body - * */ - post(url, body, headers) { - let data = null; - if (headers && headers["Content-Type"] === "multipart/form-data") { - let formData = new FormData(); - for (const name in body) { - formData.append(name, body[name]); - } - data = formData; - - delete headers["Content-Type"]; - } - - return httpRequest(url, { - method: "POST", - body: data || JSON.stringify(body), - headers: headers - }); - }, - /** Posta a primitive value (integer, string, etc.) - * @param {string} url - * @param {any} value - */ - postPrimitive(url, value) { - var urlencoded = new URLSearchParams(); - urlencoded.append("", value.toString()); - return httpRequest(url, { - method: "POST", - body: urlencoded, - headers: [{"Content-Type": "application/x-www-form-urlencoded"}], - }); - }, - /** this function performs a post http request - * @param {string} url - * @param {object} body - * */ - postFile(url, formData, progressTracker) { - return SAHttpRequest(url, { - method: "POST", - body: formData, - progressTracker - }); - - }, - /** this function performs a put http request - * @param {string} url - * @param {object} body - * */ - put(url, body) { - return httpRequest(url, { - method: "PUT", - body: JSON.stringify(body) - }); - }, - /** this function performs a delete http request - * @param {string} url - * @param {object} body - * */ - delete(url, body) { - return httpRequest(url, { - method: "DELETE", - body: JSON.stringify(body) - }); - }, - getHeadersObject() { - const headersObject = { - moduleId, - tabId, - groupId - }; - return headersObject; - }, - getWhitelistObject() { - const whitelistObject = { - extensionWhitelist, - validationCode - }; - return whitelistObject; - } -}; -export default api; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js deleted file mode 100644 index 5ef8f918664..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/dnnSf.js +++ /dev/null @@ -1,101 +0,0 @@ -export default class DnnSf { - moduleRoot = ""; - controller = ""; - siteRoot = ""; - tabId = -1; - antiForgeryToken = ""; - - constructor() { - this.siteRoot = window.top.dnn.getVar("sf_siteRoot", "/"); - this.tabId = parseInt(window.top.dnn.getVar("sf_tabId", "-1")); - this.antiForgeryToken = window.top.document.querySelector("input[name=__RequestVerificationToken]").value; - } - - get = (method, params, success, failure, loading, beforeSend) => { - return this.call("GET", method, params, success, failure, loading, beforeSend, false, false); - } - - call = (httpMethod, method, params, success, failure, loading, beforeSend, sync, silence, postFile) => { - let url = this.getServiceRoot() + this.controller + "/" + method; - this.moduleRoot = "personaBar"; - this.controller = ""; - - return this.rawCall(httpMethod, url, params, success, failure, loading, beforeSend, sync, silence, postFile); - } - - getServiceRoot = () => { - return this.siteRoot + "API/" + this.moduleRoot + "/"; - } - - rawCall = (httpMethod, url, params, success, failure, loading, beforeSend, sync, silence, postFile) => { - let beforeCallback; - if (typeof beforeSend === "function") { - beforeCallback = (xhr) => { - this.setHeaders(xhr); - return beforeSend(xhr); - }; - } - else { - beforeCallback = this.setHeaders; - } - - let options = { - url: url, - beforeSend: beforeCallback, - type: httpMethod, - async: sync === false, - success: function (d) { - if (typeof loading === "function") { - loading(false); - } - - if (typeof success === "function") { - success(d || {}); - } - }, - error: function (xhr, status, err) { - if (typeof loading === "function") { - loading(false); - } - - if (typeof failure === "function") { - if (xhr) { - failure(xhr, err); - } - else { - failure(null, "Unknown error"); - } - } - } - }; - - if (httpMethod === "GET") { - options.data = params; - } else if (postFile) { - options.processData = false; - options.contentType = false; - options.data = params; - } - else { - options.contentType = "application/json; charset=UTF-8"; - options.data = JSON.stringify(params); - options.dataType = "json"; - } - - if (typeof loading === "function") { - loading(true); - } - - return window.$.ajax(options); - } - - setHeaders = (xhr) => { - if (this.tabId) { - xhr.setRequestHeader("TabId", this.tabId); - } - - if (this.antiForgeryToken.length > 0) { - xhr.setRequestHeader("RequestVerificaitonToken", this.antiForgeryToken); - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js deleted file mode 100644 index 97f7d10ca08..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/globals/resourceManager.js +++ /dev/null @@ -1,35 +0,0 @@ -import api from "./api"; -import globalActions from "../actions/globalActions"; -import localizeService from "../services/localizeService.js"; - -const resourceManager = { - init(options) { - api.init(options); - localizeService.init(options.resx); - require("../less/styles.less"); - - resourceManager.dispatch(globalActions.loadInitialParameters(options)); - const container = document.getElementById(options.containerId); - - this.render(container); - }, - - dispatch() { - throw new Error("dispatch method needs to be overwritten from the Redux store"); - }, - - render() { - throw new Error("render method needs to be overwritten from the Redux store"); - } - -}; - -if (typeof window.dnn === "undefined" || window.dnn === null) { - window.dnn = {}; -} -if (typeof window.dnn.ResourceManager === "undefined") { - window.dnn.ResourceManager = {}; -} -window.dnn.ResourceManager.instance = resourceManager; - -export default resourceManager; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less deleted file mode 100644 index 25d1e9df41a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/Assets.less +++ /dev/null @@ -1,1099 +0,0 @@ -#Assets-panel { - @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { - div#folder-picker div.selected-item { - margin-left: -20px; - } - } - #assets-header.socialpanelheader { - padding-bottom: 0; - padding: 0; - min-height: 103px; - max-height: 103px; - -webkit-box-sizing: border-box !important; - -moz-box-sizing: border-box !important; - box-sizing: border-box !important; - box-shadow: 0 1px 2px -1px rgba(0,0,0,.2); - position: relative; - } - #assets-header.socialpanelheader > h3 { - float: left; - margin: 14px 0 0 0; - } - #assets-header.socialpanelheader:after { - border: 0; - } - #assets-header.socialpanelheader > div.right-container > div { - float: right; - &:first-child { - margin-left: 12px; - } - } - #assets-header.socialpanelheader a.add-folder { - background-image: url('/DesktopModules/ResourceManager/Images/icon-add-folder.png'); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - height: 32px; - padding: 0; - width: 32px; - } - #assets-header.socialpanelheader a.add-folder:hover { - background-color: #d9ecfa; - } - #assets-header.socialpanelheader .right-container { - position: absolute; - right: 0; - top: 50%; - transform: translate(0, -50%); - } - .rm-button.primary { - display: inline-block; - background-color: #1E88C3; - border: none; - border-radius: 3px; - padding: 0 16px; - height: 42px; - line-height: 42px; - text-align: center; - color: #FFFFFF; - box-sizing: border-box; - vertical-align: top; - min-width: 106px; - cursor: pointer; - } - .rm-button.secondary { - display: inline-block; - border: 1px solid #1E88C3; - border-radius: 3px; - padding: 0 16px; - height: 42px; - line-height: 42px; - text-align: center; - color: #1E88C3; - vertical-align: top; - box-sizing: border-box; - cursor: pointer; - min-width: 106px; - margin-right: 10px; - } - .rm-button.primary.normal, .rm-button.secondary.normal { - height: 35px; - line-height: 35px; - min-width: 92px; - } - #assets-header.socialpanelheader a { - cursor: pointer; - } - #assets-header.socialpanelheader div.folder-picker-container { - display: inline-block; - vertical-align: top; - } - .assets-body { - margin-top: 0; - position: relative; - } - .assets-body .header-container { - padding: 10px 0px; - height: 51px; - border-bottom: 1px solid #C8C8C8; - box-sizing: border-box; - } - .assets-body .header-container .assets-input { - margin-left: 5px; - box-shadow: none; - } - /*Reduce input placeholder font size*/ - .assets-body .header-container .assets-input::-webkit-input-placeholder { - font-size: 12px; - } - .assets-body .header-container .assets-input:-moz-placeholder { - font-size: 12px; - } - .assets-body .header-container .assets-input::-moz-placeholder { - font-size: 12px; - } - .assets-body .header-container input.assets-input:-ms-input-placeholder { - font-size: 12px; - min-width: 123px; - min-height: 16px; - } - .assets-body .header-container .assets-input, input, select, textarea { - border: 1px solid #ddd; - padding: 8px 16px; - border-radius: 3px; - background-color: #fff; - } - .assets-body .header-container input[type='search'].assets-input { - -webkit-appearance: none; - font-weight: bold; - padding-right: 29px; - margin: 0; - width: ~"calc(100% - 24px)"; - border: none; - background: none; - outline: none; - } - .assets-body .header-container .dnnDropDownList .selected-item { - border: 1px solid #ddd; - box-shadow: none; - background: #fff; - } - .assets-body .header-container .assets-input[type=search]::-webkit-search-cancel-button { - display: none; - } - .assets-body .header-container .assets-input[type=search]::-ms-clear { - display: none; - width: 0; - height: 0; - } - .assets-body .header-container a.search-button { - background-image: url('/DesktopModules/ResourceManager/Images/search.svg'); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - width: 22px; - height: 20px; - right: 15px; - position: absolute; - top: 8px; - cursor: pointer; - } - - .assets-body .header-container a.sync-button { - background-image: url(/DesktopModules/ResourceManager/Images/redeploy.svg); - background-repeat: no-repeat; - background-position: center; - display: inline-block; - width: 22px; - height: 20px; - top: 7px; - position: absolute; - right: 0px; - cursor: pointer; - } - - .assets-body .header-container { - color: #46292b; - - .folder-picker-container, .sort-container { - height: 31px; - border-right: 1px solid #C8C8C8; - } - .folder-picker-container { - span { - display: block; - margin-top: 7px; - } - - .dnn-folder-selector { - border: none; - .selected-item { - padding: 7px 15px; - } - } - } - .sort-container { - .dnn-dropdown { - width: 100%; - background: none; - } - } - .refresh-sync-container { - display: flex; - justify-content: right; - .dnn-dropdown { - width: 33%; - background: none; - } - } - } - .assets-body .dnnDropDownList.rm-folder { - width: 100%; - vertical-align: top; - } - .assets-body .dnnDropDownList.rm-folder * { - box-sizing: border-box; - } - .assets-body .dnnDropDownList.rm-folder .selected-item { - border: none; - box-shadow: none; - background: none; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a { - font-weight: bold; - padding: 7px 0; - border-left: none; - background: none; - position: relative; - color: #4B4E4F; - height: 32px; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a:after { - content: ""; - display: block; - width: 0; - height: 0; - position: absolute; - right: 0; - top: 14px; - border-left: 5px solid transparent; - border-right: 5px solid transparent; - border-top: 4px solid #4B4E4F; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a.opened { - color: #1E88C3; - background: none; - } - .assets-body .dnnDropDownList.rm-folder .selected-item a.opened:after { - border-top-color: #1E88C3; - } - .assets-body .dt-container { - width: 267px; - background: #fff; - border: 1px solid #C8C8C8; - border-radius: 3px; - box-shadow: 0 0 20px 0 gba(0, 0, 0, .2); - top: 42px; - height: 330px; - .dt-header { - margin: 20px 20px 13px 20px; - background: none; - border: none; - box-shadow: none; - padding: 0; - } - .dt-header .sort-button { - display: none; - } - .dt-header .search-container { - margin: 0; - position: relative; - .search-input-container { - border: 1px solid #C8C8C8; - border-radius: 0; - padding: 0 32px 0 0; - input { - background-color: transparent; - border-radius: 0; - border: none; - } - } - .clear-button { - right: 32px; - border: none; - } - .search-button { - position: absolute; - right: 1px; - top: 1px; - width: 32px; - height: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/search.png); - background-repeat: no-repeat; - background-position: center; - } - } - .dt-content { - margin: 65px 20px 0 20px; - border: 1px solid #C8C8C8; - height: 224px; - width: auto; - position: relative; - overflow: hidden; - } - ul.tv-nodes { - &.tv-root { - margin: 4px 4px 0 -10px; - } - li.tv-node { - list-style: none; - padding: 0 0 0 16px; - } - a.text { - background: url(/DesktopModules/ResourceManager/Images/folder.png) no-repeat 2px 0px; - border: 1px solid transparent; - color: #6F7273; - padding: 0 8px 0 24px; - text-decoration: none; - &.selected { - font-weight: bold; - } - } - a.text:hover { - text-decoration: none; - background-image: url(/DesktopModules/ResourceManager/Images/folder-hover.png); - color: #1E88C3; - border: 1px solid transparent; - } - a.icon { - text-decoration: none; - display: inline-block; - padding: 0; - height: 16px; - width: 16px; - border: 1px solid transparent; - outline: none; - vertical-align: middle; - cursor: pointer; - &.rm-expanded { - background: url(/DesktopModules/ResourceManager/Images/tree-sprite.png) no-repeat 0 -18px; - } - &.collapsed { - background: url(/DesktopModules/ResourceManager/Images/tree-sprite.png) no-repeat 0 -2px; - } - } - } - .dt-footer { - background: none; - margin: 10px 20px 20px 20px; - border: none; - } - .dt-footer .result { - margin: 10px 0 0 0; - } - .dt-footer .resizer { - display: none; - } - } - .select-destination-folder { - width: 500px; - margin: 30px auto 30px auto; - .dt-container { - width: 100%; - box-shadow: none; - border: none; - .dt-content { - margin-top: 20px; - } - } - } - .assets-body .header-container { - .search-box-container, .sort-container { - position: relative; - display: block; - float: left; - } - .folder-picker-container { - width: 40%; - } - .sort-container { - width: 20%; - } - .search-box-container { - width: 40%; - } - .rm-folder-picker-refresh-sync-container { - display: flex; - .rm-refresh-sync-dropdown { - border-right: 1px solid #C8C8C8; - .collapsible-label { - height: 30px; - span { - margin: 0; - } - svg { - fill: #777; - width: 22px; - height: auto; - } - } - } - } - } - .breadcrumbs-container { - position: absolute; - width: 100%; - font-size: 0; - line-height: 0; - text-transform: uppercase; - font-weight: bold; - left: 0; - bottom: 0; - - > div { - height: 20px; - line-height: 20px; - background: 0; - color: #1e88c3; - font-weight: bold; - text-transform: uppercase; - cursor: pointer; - - &:first-child:not(:last-child) { - padding-right: 16px; - position: relative; - display: inline-block; - } - - &:first-child:last-child { - width: 150px; - margin-left: 0; - } - - &:not(:first-child):not(:last-child) { - padding-right: 10px; - position: relative; - margin-left: 25px; - box-sizing: border-box; - } - - &:not(:last-child)::after { - content: ''; - position: absolute; - right: -15px; - top: 0; - width: 20px; - height: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/arrow_forward.svg); - background-repeat: no-repeat; - background-position: center; - } - - &:last-child { - color: #1e88c3; - font-family: proxima_nova,Arial; - text-decoration: none; - font-size: 14px; - padding-right: 10px; - position: relative; - margin-left: 25px; - cursor: default; - } - } - - div { - display: inline-block; - height: 32px; - line-height: 32px; - font-family: proxima_nova,Arial; - text-decoration: none; - font-size: 14px; - max-width: 20%; - color: #4b4e4f; - - > span { - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - } - } - div.rm-field { - position: relative; - display: inline-block; - margin: 32px 0 0 0; - min-width: 325px; - vertical-align: top; - } - div.rm-field.long { - margin-right: 340px; - } - div.rm-field.right { - min-width: 325px; - } - div.rm-field.hide { - visibility: hidden; - margin: 32px 0 0 0; - } - div.versioning { - margin: 20px 20px 0 0; - } - div.versioning > input { - vertical-align: middle; - margin-right: 5px; - } - div.rm-field > label { - display: block; - margin-bottom: 5px; - } - div.rm-field > input[type="text"], div.rm-field > select, div.rm-field > textarea { - width: 100%; - box-sizing: border-box; - min-height: 34px; - border: 1px solid #7F7F7F; - border-radius: 0; - } - div.rm-field > textarea#description { - min-height: 135px; - } - div.file-upload-panel { - margin: 1px 1px 30px 1px; - - .dnn-file-upload { - width: 100%; - box-sizing: border-box; - float:none; - margin:auto; - - span { - float: none; - } - } - } - .container-main .toolbar-main { - height: 70px; - width: 860px; - background-color: #e6e6e6; - } - .container-main .filter-results { - height: 50px; - width: 860px; - padding-bottom: 0px; - } - .page-title { - font-family: Arial, Helvetica, sans-serif; - font-size: 24px; - } - div.main-container { - margin-top: 16px; - position: relative; - overflow: auto; - } - div.item-container { - width: 100%; - overflow-y: auto; - overflow-x: visible; - } - div.item-container.empty { - .rm_infinite-scroll-container { - display: none; - } - } - div.item-container.empty:not(.loading) { - background-image: url(/DesktopModules/ResourceManager/Images/folder-empty-state-asset-manager.png); - background-repeat: no-repeat; - background-position: center 120px; - min-height: 465px; - } - div.item-container.empty.rm_search:not(.loading) { - background-image: url(/DesktopModules/ResourceManager/Images/search-glass-no-results.png); - } - div.item-container > div.empty-label { - display: none; - color: #aaa; - max-width: 250px; - text-align: center; - top: 240px; - position: relative; - margin-left: auto; - margin-right: auto; - } - div.item-container.empty:not(.rm_search):not(.loading) > div.empty-label.rm-folder { - display: block; - } - div.item-container.empty.rm_search:not(.loading) > div.empty-label.rm_search { - display: block; - top: 180px; - } - div.item-container > div.empty-label > span.empty-title { - font-size: 22px; - font-weight: bold; - display: block; - margin: 10px 0; - } - div.item-container > div.empty-label > span.empty-subtitle { - font-size: 15px; - } - div.item-container.drop-target { - border: 10px #0087c6 dashed; - padding: 0 0 5px 5px; - overflow: hidden; - } - .item-container .rm-card { - position: relative; - height: 212px; - width: 100%; - padding: 20px; - bottom: 0px; - font-family: "Proxima Nova-light", HelveticaNeue-Light, Arial-light, Helvetica, sans-serif; - -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - -moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.30); - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - background-color: #79bdd8; - color: #FFF; - font-size: 17px; - margin: 15px 0 5px 0; - float: left; - overflow: hidden; - transition: 0.2s; - box-sizing: border-box; - - &.rm-folder { - cursor: pointer; - } - } - div.item-container:not(.disabled) .rm-card:hover, div.item-container:not(.disabled) .rm-card.selected { - background-color: rgba(48, 137, 198, 1); - transition: 0.2s; - } - .item.highlight { - -webkit-animation: card-highlight 1.5s 1; - -moz-animation: card-highlight 1.5s 1; - animation: card-highlight 1.5s 1; - } - @-webkit-keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - @-moz-keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - @keyframes card-highlight { - 0% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 25% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 50% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - 75% { - box-shadow: 0 0 5px 8px rgba(125, 226, 166, 1); - } - 100% { - box-shadow: 0 0 0 0 rgba(0, 220, 0, 0); - } - } - .rm-card-container { - float: left; - width: 22%; - margin-right: 4%; - } - .rm-card-container:nth-of-type(4n){ - margin-right: 0; - } - .item.rm-card { - float: none; - } - .item.rm-card .card-icons { - height: 58px; - width: 53px; - position: absolute; - left: 0px; - top: 0px; - } - .item.rm-card .text-card { - position: absolute; - bottom: 22px; - width: 149px; - overflow: hidden; - word-wrap: break-word; - height: 30px; - line-height: 15px; - - p { - margin: 0; - } - } - .item.rm-card .text-card:before { - content: ""; - float: left; - width: 5px; - height: 30px; - } - .item.rm-card .text-card > *:first-child { - float: right; - width: 100%; - margin-left: -5px; - } - .item.rm-card .text-card:after { - content: "\02026"; - box-sizing: content-box; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - float: right; - position: relative; - top: -15px; - left: 100%; - width: 1em; - margin-left: -1em; - padding-right: 5px; - text-align: right; - background-color: rgba(121, 189, 216, 1); - transition: 0.2s; - } - div.item-container:not(.disabled) .rm-card:hover .text-card:after, div.item-container:not(.disabled) .rm-card.selected .text-card:after { - background-color: rgba(48, 137, 198, 1); - transition: 0.2s; - } - .item.rm-card .text-card font.highlight { - background-color: #CCCCCC; - } - .rm-circular { - width: 100%; - height: 100%; - border-radius: 50%; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; - border: 12px solid #79bdd8; - margin-right: auto; - margin-left: auto; - background-position: center center; - background-repeat: no-repeat; - background-color: #eeeeee; - box-sizing: border-box; - } - .rm-circular.rm-folder { - background-color: #9EDCEF; - } - .rm-card .image-center { - margin-right: auto; - margin-left: auto; - height: 110px; - width: 110px; - border: 2px white solid; - border-radius: 50%; - position: relative; - } - .rm-card .overlay-disabled { - height: 213px; - width: 190px; - position: absolute; - left: 0px; - top: 0px; - background-color: black; - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - opacity: 0; - visibility: hidden; - -webkit-transition: visibility 0.2s linear, opacity 0.2s linear; - -moz-transition: visibility 0.2s linear, opacity 0.2s linear; - -o-transition: visibility 0.2s linear, opacity 0.2s linear; - } - div.item-container.disabled .rm-card { - cursor: auto; - } - div.item-container.disabled .rm-card .overlay-disabled { - opacity: 0.5; - visibility: visible; - } - .rm-card > div.rm-actions { - position: absolute; - right: -32px; - width: 32px; - background-color: #236F99; - top: 0; - bottom: 0; - transition: 0.2s; - - > div { - cursor: pointer; - } - } - .rm-card.selected > div.rm-actions, .rm-card:hover > div.rm-actions { - right: 0; - transition: 0.2s; - transition-delay: 0.4s; - } - .rm-card > div.unpublished { - position: absolute; - width: 32px; - height: 32px; - top: 6px; - left: 6px; - background-image: url(/DesktopModules/ResourceManager/Images/unpublished.svg); - } - .rm-card > div.rm-actions > div { - height: 32px; - background-position: center; - background-repeat: no-repeat; - position: absolute; - width: 100%; - background-size: 80%; - &.rm-edit { - top: 0; - background-image: url(/DesktopModules/ResourceManager/Images/edit.svg); - } - &.rm-link { - top: 32px; - background-image: url(/DesktopModules/ResourceManager/Images/clipboard.svg); - } - &.rm-download { - top: 96px; - background-image: url(/DesktopModules/ResourceManager/Images/download.svg); - } - &.rm-move { - top: 64px; - background-image: url(/DesktopModules/ResourceManager/Images/move.svg); - } - &.rm-delete { - background-image: url(/DesktopModules/ResourceManager/Images/delete.svg); - background-color: #195774; - bottom: 0; - } - } - .top-panel { - &.add-folder, &.manage-folder-types { - .animateHeight(970px, 0.5s); - .rm-button { - margin-bottom: 30px; - } - } - &.manage-folder-types { - h3{ - text-align: center; - } - table.folder-types{ - margin: 1em auto; - border: 1px solid gray; - th{ - text-transform: uppercase; - } - th, td { - padding: 1em 2em; - border-bottom: 1px solid gray; - button, a{ - border: none; - margin: 0; - padding: 0; - background-color: transparent; - svg{ - width: 1.5em; - height: auto; - } - } - } - } - } - } - - .folder-adding { - .folder-parent-label { - margin-right: 10px; - } - } - - .top-panel.add-folder > .folder-adding { - margin: 30px; - margin-bottom: 45px; - } - - .top-panel.add-asset { - .animateHeight(970px, 0.5s); - - .close { - float: none; - margin-bottom: 30px; - } - } - .details-panel { - border: none; - border-radius: 0; - padding: 30px; - } - div.item-details { - float: left; - margin: 0; - border-top: 2px solid #1E88C3; - border-bottom: 2px solid #1E88C3; - width: 100%; - padding: 25px 10px; - box-sizing: border-box; - overflow: hidden; - &.item-move{ - overflow: visible; - .dnn-folder-selector{ - border: 1px solid gray; - } - } - } - ul.tabControl { - background-color: #FFF; - border-radius: 0; - border: none; - border-bottom: 1px solid #ddd; - &> li { - text-transform: uppercase; - font-weight: bold; - padding: 10px 0; - margin: 0 20px; - &.selected { - border-bottom: 3px solid #1E88C3; - } - } - } - div.details-icon { - display: inline-block; - width: 50px; - height: 50px; - border-radius: 50%; - box-shadow: 0px 0px 0px 1px #79bdd8; - border: 5px solid #FFF; - background-position: center center; - background-repeat: no-repeat; - float: left; - margin: 0 15px 25px 0; - background-color: #eee; - } - div.details-icon.folder { - background-color: #9EDCEF; - background-size: 50%; - } - div.details-info { - padding-top: 12px; - position: relative; - } - div.details-field { - display: inline-block; - margin-bottom: 8px; - max-width: 200px; - overflow: hidden; - text-overflow: ellipsis; - vertical-align: top; - &:first-child { - margin-right: 16px; - padding-right: 16px; - border-right: 1px solid #c8c8c8; - } - &.rm-url { - max-width: none; - } - } - div.details-field a { - color: #0087c6; - text-decoration: none; - } - div.details-field a:hover { - color: #2fa6eb; - } - div.details-field + div.vertical-separator { - margin: 0 16px; - border-left: 1px solid #e2e2e2; - display: inline; - height: 16px; - } - div.details-field + div.line-break { - clear: right; - } - div.details-field.right { - position: absolute; - right: 0; - top: 12px; - } - span.details-label { - font-weight: bold; - margin-right: 10px; - } - span.details-label.checkbox { - vertical-align: top; - line-height: 22px; - margin-right: 27px; - color: #46292b; - } - div.file-panel { - padding: 25px; - background-color: #fff; - } - div.separator { - clear: both; - border-bottom: 1px solid #C8C8C8; - margin-bottom: 8px; - } - label { - font-weight: bold; - } - label.formRequired::after { - content: "*"; - display: inline-block; - margin: 0 0 0 5px; - color: Red; - font-size: 16px; - line-height: 1em; - font-family: proxima_nova_semibold; - } - div.cancel { - width: 50%; - float: left; - margin: 10px 0 0 0; - position: relative; - } - div.cancel > a { - display: block; - float: right; - margin-right: 5px; - } - div.close { - width: 100%; - float: left; - text-align: center; - } - div.close > a { - margin-right: auto; - margin-left: auto; - } - div.save { - width: 50%; - float: left; - margin: 10px 0 0 0; - position: relative; - } - div.details-selector { - position: relative; - &> div { - margin: auto; - content: ''; - width: 0; - height: 0; - border-style: solid; - border-width: 8px 8px 0 8px; - border-color: #3089C6 transparent transparent transparent; - position: relative; - - } - } - - .rm-clear { - clear: both - } -} - -.dnn-slide-in-out-enter { - max-height: 0; -} - -.dnn-slide-in-out-enter.dnn-slide-in-out-enter-active { - max-height: 970px; - transition: max-height 500ms ease-in; -} - -.dnn-slide-in-out-leave { - max-height: 970px; -} - -.dnn-slide-in-out-leave.dnn-slide-in-out-leave-active { - max-height: 0; - transition: max-height 300ms ease-in; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less deleted file mode 100644 index 97193fe185a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/button.less +++ /dev/null @@ -1,52 +0,0 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; - -button.rm-common-button { - border: 1px solid @curiousBlue; - height: 34px; - min-width: 100px; - padding: 0 22px; - font-size: 10pt; - color: @curiousBlue; - background: @white; - border-radius: 3px; - cursor: pointer; - font-family: Helvetica, Arial, sans-serif; - &:hover { - color: @cerulean; - border-color: @cerulean; - } - &:focus{ - outline: none; - } - &:active { - color: @matisse; - border-color: @matisse; - } - &:disabled { - color: @alto; - border-color: @alto; - cursor: not-allowed; - } - - &.large{ - height: 44px; - } - - &[role=primary] { - background: @curiousBlue; - border: none; - color: @white; - - &:hover { - background: @cerulean; - } - &:active { - background: @matisse; - } - &:disabled { - color: @mountainMist; - background: @mercury; - cursor: not-allowed; - } - } -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less deleted file mode 100644 index 522067ab022..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/components.less +++ /dev/null @@ -1,183 +0,0 @@ -.loading::after { - content: ""; - display: block; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(255,255,255,0.7) url(/DesktopModules/ResourceManager/Images/loading.gif) no-repeat center center; - z-index: 99999; -} - -.three-columns { - display: block; - width: 33%; - float: left; -} - -.dnn-dropdown { - height: 31px; - background-color: white; - - .collapsible-content { - margin: 0; - box-shadow: none; - width: 250px; - } - - ul, li { - margin: 0px; - list-style: none; - box-sizing: border-box; - } -} - -.rm-field .dnn-dropdown { - width: 100% -} - -label.rm-error { - color: red -} - -.file-upload-container { - .file-upload-panel { - position: relative; - border: 1px solid rgb(102, 102, 102); - padding: 10px; - margin-bottom: 30px; - min-height: 163px; - color: #959695; - transition: 200ms linear; - cursor: pointer; - - &:hover { - color: #FFF; - background-color: rgba(30,136,195,0.6); - } - - span { - overflow: hidden !important; - width: 140px !important; - display: block !important; - position: relative; - text-transform: none; - font-size: 14px; - padding-top: 95px; - text-align: center; - margin: 0 auto; - } - } - - .upload-file { - background-image: url(/DesktopModules/ResourceManager/Images/upload.svg); - height: 40px; - width: 40px; - display: block; - margin: 0 auto; - } - - span { - display: block; - text-align: center; - } -} - -.progresses-container { - margin: 20px 0; - max-height: 240px; - overflow-y: auto; -} - -.uploading-container { - overflow: hidden; - border-bottom: 1px solid #c8c8c8; - padding: 6px 0; - color: #0a85c3; - font-weight: bold; - font-family: proxima_nova,Arial; - font-size: 13px; - - .file-upload-thumbnail { - background: 0; - border-radius: 0; - border: 2px solid #0a85c3; - padding: 2px; - float: left; - position: relative; - height: 76px; - width: 76px; - line-height: 76px; - text-align: center; - - img { - max-height: 100%; - max-width: 100%; - } - } - .file-name-container, .progress-bar-container { - width: ~"calc(100% - 100px)"; - float: right; - } - .file-name-container { - span { - display: block; - width: 100%; - } - } - .progress-bar-container { - margin-top: 18px; - height: 5px; - background-color: #c7c7c7; - - .progress-bar { - background-color: #0a85c3; - height: 100%; - transition: 0.5s; - } - } - - &.rm-error { - color: red; - - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - background-image: url(/DesktopModules/ResourceManager/Images/loader_failed.svg); - } - - .progress-bar { - background-color: red; - } - } - - &.rm-uploading { - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - background: url(/DesktopModules/ResourceManager/Images/dnnanim.gif) no-repeat center; - } - } - - &.rm-stopped { - color: #777; - - .file-upload-thumbnail { - border: 2px solid #c8c8c8; - } - } -} - -.rm-error label { - color: red -} - -.dnn-switch-container { - display: inline-block; - float: none; - padding: 0; -} - -.dnn-dropdown .collapsible-label { - padding: 7px 15px; - box-sizing: border-box; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less deleted file mode 100644 index 074cc2b804f..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/mixins.less +++ /dev/null @@ -1,25 +0,0 @@ -.border-box(){ - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -.transition(@transition){ - -moz-transition: @transition; - -webkit-transition: @transition; - transition: @transition; -} - -.animateHeight(@max-Height, @duration){ - & { - max-height: 0; - overflow: hidden; - height: 100%; - .transition(max-height @duration ease); - } - - &.rm-expanded{ - max-height: @max-Height; - } - -} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less deleted file mode 100644 index e48020bd392..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/modal.less +++ /dev/null @@ -1,29 +0,0 @@ -.ReactModalPortal { - .modal-header { - background-color: #092836; - border: none; - - h3 { - color: white; - margin: 0; - } - } - - .rm-dialog-modal-label { - float: none; - width: 100%; - text-align: center; - label { - margin: 0; - } - } - - .rm-form-buttons-container { - text-align: center; - margin-top: 20px; - - .rm-common-button { - margin-left: 10px; - } - } -} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less deleted file mode 100644 index b813c111dc5..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/less/styles.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "mixins.less"; - -.rm-container { - @import "Assets.less"; - @import "components.less"; -} - -@import "modal.less"; -@import "button.less"; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx deleted file mode 100644 index 24fd667c86c..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/main.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from "react"; -import { render } from "react-dom"; -import { Provider } from "react-redux"; -import configureStore from "./store/configureStore"; -import resourceManager from "./globals/resourceManager"; -import App from "./components/App"; - -import "fetch-ie8"; -import "es6-shim"; - -const store = configureStore(); -resourceManager.dispatch = store.dispatch; -resourceManager.render = function (appContainer) { - render( - - - , - appContainer - ); -}; - diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js deleted file mode 100644 index 26c199c1867..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/AddFolderPanel.js +++ /dev/null @@ -1,44 +0,0 @@ -import addFolderPanelActionsTypes from "../action types/addFolderPanelActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false -}; - -export default function addFolderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case addFolderPanelActionsTypes.SHOW_ADD_FOLDER_PANEL: - return { ...state, expanded: true }; - case addFolderPanelActionsTypes.FOLDER_CREATED: - return { ...state, newFolderId: data.FolderID, expanded: false }; - case folderPanelActionsTypes.CLOSE_TOP_PANELS: - case addFolderPanelActionsTypes.HIDE_ADD_FOLDER_PANEL: { - let formData = { - name: "", - folderType: state.defaultFolderType - }; - let res = { ...state, formData, expanded: false, newFolderId: null }; - delete res.validationErrors; - - return res; - } - case addFolderPanelActionsTypes.FOLDER_MAPPINGS_LOADED: { - let defaultFolderType = data && data[0] ? data[0].FolderMappingID : null; - let formData = { ...state.formData, folderType: defaultFolderType }; - return { ...state, formData, folderMappings: data, defaultFolderType }; - } - case addFolderPanelActionsTypes.CHANGE_NAME: { - let formData = { ...state.formData, name: data }; - return { ...state, formData }; - } - case addFolderPanelActionsTypes.CHANGE_FOLDER_TYPE: { - let formData = { ...state.formData, folderType: data }; - return { ...state, formData }; - } - case addFolderPanelActionsTypes.SET_VALIDATION_ERRORS: - return { ...state, validationErrors: data }; - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js deleted file mode 100644 index a515cfcb4d2..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/addAssetPanel.js +++ /dev/null @@ -1,47 +0,0 @@ -import addAssetPanelActionsTypes from "../action types/addAssetPanelActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false, - progress: {}, - uploadedFiles: [] -}; - -function mutateFileProgress(progress, fileProgress) { - return { ...progress, [fileProgress.fileName]: fileProgress }; -} - -export default function addFolderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case addAssetPanelActionsTypes.SHOW_ADD_ASSET_PANEL: - return { ...state, expanded: true }; - case folderPanelActionsTypes.CLOSE_TOP_PANELS: - case addAssetPanelActionsTypes.HIDE_ADD_ASSET_PANEL: { - return { ...state, expanded: false }; - } - case addAssetPanelActionsTypes.RESET_PANEL: - return { ...state, error: null, progress: {}, uploadedFiles: [] }; - case addAssetPanelActionsTypes.ASSET_ADDED: { - let uploadedFiles = [ ...state.uploadedFiles, data ]; - let fileProgress = { ...state.progress[data.fileName], completed: true, path: data.path, fileIconUrl: data.fileIconUrl }; - return { ...state, uploadedFiles, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.ASSET_ADDED_ERROR: { - const fileProgress = { ...state.progress[data.fileName], fileName: data.fileName, error: data.message}; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.UPDATE_PROGRESS: - return { ...state, progress: mutateFileProgress(state.progress, data) }; - case addAssetPanelActionsTypes.FILE_ALREADY_EXIST: { - const fileProgress = { ...state.progress[data.fileName], path: data.path, fileIconUrl: data.fileIconUrl, percent: 0, alreadyExists: true }; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - case addAssetPanelActionsTypes.STOP_UPLOAD: { - const fileProgress = { ...state.progress[data], alreadyExists:false, stopped: true }; - return { ...state, progress: mutateFileProgress(state.progress, fileProgress) }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js deleted file mode 100644 index a78ef40d5d7..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/breadcrumbs.js +++ /dev/null @@ -1,50 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - breadcrumbs: [] -}; - -export default function breadcrumbsReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED : { - const {openFolderId} = data; - let breadcrumbs = initialState.breadcrumbs; - if (openFolderId) { - breadcrumbs = [{folderId: data.homeFolderId}]; - } - - return { ...state, breadcrumbs }; - } - case folderPanelActionsTypes.CONTENT_LOADED : { - let found = false; - const { folderId, folderName, folderPath, folderParentId } = data.folder; - let folderLoaded = { folderId, folderName: !folderName && !folderPath ? "Site Root" : folderName }; - let breadcrumbs = state.breadcrumbs.slice(); - - for (let i = 0; i < breadcrumbs.length; i++) { - let breadcrumb = breadcrumbs[i]; - if (breadcrumb.folderId === folderId) { - breadcrumbs = breadcrumbs.slice(0, i); - found = true; - break; - } - else if (breadcrumb.folderId === folderParentId) { - breadcrumbs = breadcrumbs.slice(0, i+1); - found = true; - break; - } - } - - if (!found) { - breadcrumbs = breadcrumbs.slice(0, 1); - } - - breadcrumbs.push(folderLoaded); - return { ...state, breadcrumbs }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js deleted file mode 100644 index 7b2b4a81c73..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/dialogModal.js +++ /dev/null @@ -1,23 +0,0 @@ -import dialogModalActionsTypes from "../action types/dialogModalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -export default function dialogModalReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case dialogModalActionsTypes.OPEN_DIALOG_MODAL : { - return Object.assign({}, state, data); - } - case dialogModalActionsTypes.CLOSE_DIALOG_MODAL : - case folderPanelActionsTypes.FOLDER_DELETED : - case folderPanelActionsTypes.DELETE_FOLDER_ERROR : { - let res = { ...state }; - delete res.dialogMessage; - delete res.yesFunction; - delete res.noFunction; - return res; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js deleted file mode 100644 index e42b98f475a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/folderPanel.js +++ /dev/null @@ -1,58 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; - -const initialState = { - loadedItems: 0, - numItems: 0, - sorting: "", - hasAddPermission: false -}; - -export default function folderPanelReducer(state = initialState, action) { - const data = action.data; - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED : { - return { ...state, homeFolderId: data.homeFolderId, currentFolderId: data.openFolderId || data.homeFolderId, - numItems: data.numItems, itemWidth: data.itemWidth, sortOptions: data.sortingOptions, sorting: data.sorting }; - } - case folderPanelActionsTypes.SET_LOADING : { - return { ...state, loading: data}; - } - case folderPanelActionsTypes.FILES_SEARCHED : { - let res = Object.assign({}, state, data); - delete res.newItem; - return { ...res, loadedItems: data.items.length }; - } - case folderPanelActionsTypes.CONTENT_LOADED : { - let res = Object.assign({}, state, data); - delete res.newItem; - delete res.search; - const {folder, items, hasAddPermission} = data; - const currentFolderName = !folder.folderName && !folder.folderPath ? "Root" : folder.folderName; - return { ...res, currentFolderId: folder.folderId, currentFolderName, loadedItems: items.length, hasAddPermission }; - } - case folderPanelActionsTypes.MORE_CONTENT_LOADED: { - let items = state.items.slice(); - items = items.concat(data.items); - return { ...state, items, loadedItems: items.length, hasAddPermission: data.hasAddPermission }; - } - case folderPanelActionsTypes.CHANGE_SEARCH: { - return { ...state, search: data }; - } - case itemDetailsActionsTypes.ITEM_SAVED : { - let itemUpdated = data; - let items = state.items.slice(); - let updatedItemIndex = items.findIndex(x => x.isFolder === itemUpdated.isFolder && x.itemId === itemUpdated.itemId); - - items[updatedItemIndex] = { ...items[updatedItemIndex], itemName: itemUpdated.itemName }; - - return { ...state, items }; - } - case folderPanelActionsTypes.CHANGE_SORTING : { - return { ...state, sorting: data }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js deleted file mode 100644 index 0261e045f83..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/infiniteScroll.js +++ /dev/null @@ -1,22 +0,0 @@ -import infiniteScrollActionsTypes from "../action types/infiniteScrollActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - maxScrollTop: 0 -}; - -export default function dialogModalReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case infiniteScrollActionsTypes.SET_MAX_SCROLL_TOP : { - return { ...state, maxScrollTop: data}; - } - case folderPanelActionsTypes.CONTENT_LOADED : - case folderPanelActionsTypes.FILES_SEARCHED : { - return { ...state, maxScrollTop: 0 }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js deleted file mode 100644 index f9be76284df..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/itemDetails.js +++ /dev/null @@ -1,51 +0,0 @@ -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; - -const initialState = { - maxScrollTop: 0 -}; - -export default function itemDetailsReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case itemDetailsActionsTypes.EDIT_ITEM: { - return { ...state, itemEditing: data }; - } - case itemDetailsActionsTypes.MOVE_ITEM: { - return { ...state, itemMoving: data }; - } - case itemDetailsActionsTypes.CHANGE_NAME: { - let itemEditing = { ...state.itemEditing, fileName: data, folderName: data}; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_TITLE: { - let itemEditing = { ...state.itemEditing, title: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_DESCRIPTION: { - let itemEditing = { ...state.itemEditing, description: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.CHANGE_PERMISSIONS: { - let itemEditing = { ...state.itemEditing, permissions: data }; - return { ...state, itemEditing }; - } - case itemDetailsActionsTypes.SET_VALIDATION_ERRORS: { - return { ...state, validationErrors: data }; - } - case itemDetailsActionsTypes.ITEM_SAVED : - case itemDetailsActionsTypes.CANCEL_EDIT_ITEM: { - let res = { ...state }; - delete res.itemEditing; - return res; - } - case itemDetailsActionsTypes.ITEM_MOVED : - case itemDetailsActionsTypes.CANCEL_MOVE_ITEM : { - let res = { ...state }; - delete res.itemMoving; - return res; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js deleted file mode 100644 index 3e90e5c347d..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/manageFolderTypesPanel.js +++ /dev/null @@ -1,20 +0,0 @@ -import manageFolderTypesPanelActionTypes from "../action types/manageFolderTypesPanelActionsTypes"; -import folderPanelActionTypes from "../action types/folderPanelActionsTypes"; - -const initialState = { - expanded: false -}; - -export default function manageFolderTypesPanelReducer(state = initialState, action) { - switch (action.type) { - case manageFolderTypesPanelActionTypes.SHOW_MANAGE_FOLDER_TYPES_PANEL: - return { ...state, expanded: true }; - case folderPanelActionTypes.CLOSE_TOP_PANELS: - case manageFolderTypesPanelActionTypes.HIDE_MANAGE_FOLDER_TYPES_PANEL: - return { ...state, expanded: false }; - case manageFolderTypesPanelActionTypes.ADD_FOLDER_TYPE_URL_LOADED: - return { ...state, addFolderTypeUrl: action.data }; - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js deleted file mode 100644 index 6f0fb9296a4..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/messageModal.js +++ /dev/null @@ -1,34 +0,0 @@ -import messageModalActionsTypes from "../action types/messageModalActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; -import itemDetailsActionsTypes from "../action types/itemDetailsActionsTypes"; -import addFolderPanelActionsTypes from "../action types/addFolderPanelActionsTypes"; -import localizeService from "../services/localizeService"; - -export default function messageModalReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case messageModalActionsTypes.CLOSE_MESSAGE_MODAL : { - let res = { ...state }; - delete res.infoMessage; - delete res.errorMessage; - return res; - } - case itemDetailsActionsTypes.EDIT_ITEM_ERROR : - case itemDetailsActionsTypes.SAVE_ITEM_ERROR : - case folderPanelActionsTypes.DELETE_FILE_ERROR: - case folderPanelActionsTypes.DELETE_FOLDER_ERROR: - case folderPanelActionsTypes.LOAD_CONTENT_ERROR : - case addFolderPanelActionsTypes.ADD_FOLDER_ERROR: { - return { ...state, infoMessage: data}; - } - case itemDetailsActionsTypes.ITEM_SAVED : { - return { ...state, infoMessage: localizeService.getString("ItemSavedMessage") }; - } - case folderPanelActionsTypes.URL_COPIED_TO_CLIPBOARD : { - return { ...state, infoMessage: localizeService.getString("UrlCopiedMessage") }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js deleted file mode 100644 index 078b81b3f8a..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/module.js +++ /dev/null @@ -1,20 +0,0 @@ -import globalActionsTypes from "../action types/globalActionsTypes"; - -const initialState = { - isEditMode: false, - moduleId: -1, - moduleName: "", - tabId: -1, - portalId: -1, - isAdmin: false -}; - -export default function moduleReducer(state = initialState, action) { - const data = action.data; - - switch (action.type) { - case globalActionsTypes.MODULE_PARAMETERS_LOADED: - return Object.assign({}, state, data); - } - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js deleted file mode 100644 index 34e49f3c7b8..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/rootReducer.js +++ /dev/null @@ -1,28 +0,0 @@ -import { combineReducers } from "redux"; -import module from "./module"; -import folderPanel from "./folderPanel"; -import breadcrumbs from "./breadcrumbs"; -import addFolderPanel from "./addFolderPanel"; -import addAssetPanel from "./addAssetPanel"; -import dialogModal from "./dialogModal"; -import infiniteScroll from "./infiniteScroll"; -import messageModal from "./messageModal"; -import itemDetails from "./itemDetails"; -import topBar from "./topBar"; -import manageFolderTypesPanel from "./manageFolderTypesPanel"; - -const rootReducer = combineReducers({ - module, - folderPanel, - breadcrumbs, - addFolderPanel, - addAssetPanel, - dialogModal, - infiniteScroll, - messageModal, - itemDetails, - topBar, - manageFolderTypesPanel, -}); - -export default rootReducer; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js deleted file mode 100644 index 8ba386dcec3..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/reducers/topBar.js +++ /dev/null @@ -1,17 +0,0 @@ -import topBarActionsTypes from "../action types/topBarActionsTypes"; -import folderPanelActionsTypes from "../action types/folderPanelActionsTypes"; - -export default function topBarReducer(state = {}, action) { - const data = action.data; - - switch (action.type) { - case topBarActionsTypes.CHANGE_SEARCH_FIELD: { - return { ...state, search: data }; - } - case folderPanelActionsTypes.CONTENT_LOADED: { - return { ...state, search: undefined }; - } - } - - return state; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js deleted file mode 100644 index f08c1094e3b..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/internalService.js +++ /dev/null @@ -1,28 +0,0 @@ -import api from "../globals/api"; - -const API_PATH = "InternalServices/API/"; -const GET_FOLDERS_ENDPOINT = API_PATH + "ItemListService/GetFolders"; -const SEARCH_FOLDERS_ENDPOINT = API_PATH + "ItemListService/SearchFolders"; -const GET_FOLDER_DESCENDANT_ENDPOINT = API_PATH + "ItemListService/GetFolderDescendants"; - -function getUrl(endpoint) { - return api.getServiceRoot(true) + endpoint; -} - -function getFolders() { - return api.get(getUrl(GET_FOLDERS_ENDPOINT)); -} - -function searchFolders(searchText) { - return api.get(getUrl(SEARCH_FOLDERS_ENDPOINT), {searchText}); -} - -function getFolderDescendant(parentId) { - return api.get(getUrl(GET_FOLDER_DESCENDANT_ENDPOINT), {parentId}); -} - -export default { - getFolders, - searchFolders, - getFolderDescendant -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js deleted file mode 100644 index 97389ae4268..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/itemsService.js +++ /dev/null @@ -1,159 +0,0 @@ -import api from "../globals/api"; - -const GET_CONTENT_ENDPOINT = "Items/GetFolderContent"; -const SYNC_CONTENT_ENDPOINT = "Items/SyncFolderContent"; -const DOWNLOAD_FILE_ENDPOINT = "Items/Download"; -const FILE_DETAILS_ENDPOINT = "Items/GetFileDetails"; -const FOLDER_DETAILS_ENDPOINT = "Items/GetFolderDetails"; -const LOAD_FOLDER_MAPPINGS_ENDPOINT = "Items/GetFolderMappings"; -const ADD_FOLDER_ENDPOINT = "Items/CreateNewFolder"; -const DELETE_FOLDER_ENDPOINT = "Items/DeleteFolder"; -const DELETE_FILE_ENDPOINT = "Items/DeleteFile"; -const API_PATH = "InternalServices/API/"; -const FILE_UPLOAD = API_PATH + "FileUpload/UploadFromLocal"; -const SEARCH_FILES_ENDPOINT = "Items/Search"; -const SAVE_FILE_DETAILS_ENDPOINT = "Items/SaveFileDetails"; -const SAVE_FOLDER_DETAILS_ENDPOINT = "Items/SaveFolderDetails"; -const REMOVE_FOLDER_TYPE_ENDPOINT = "Items/RemoveFolderType"; -const ADD_FOLDER_TYPE_URL_ENDPOINT = "Items/GetAddFolderTypeUrl"; -const MOVE_FOLDER_URL_ENDPOINT = "Items/MoveFolder"; -const MOVE_FILE_URL_ENDPOINT = "Items/MoveFile"; - -function getUrl(endpoint, ignoreCurrentModuleAPI=false) { - return api.getServiceRoot(ignoreCurrentModuleAPI) + endpoint; -} - -function getContent(folderId, startIndex, numItems, sorting) { - return api.get(getUrl(GET_CONTENT_ENDPOINT), {folderId, startIndex, numItems, sorting}) - .then(response => { - return response; - }); -} - -function syncContent(folderId, numItems, sorting, recursive) { - return api.get(getUrl(SYNC_CONTENT_ENDPOINT), {folderId, numItems, sorting, recursive}) - .then(response => { - return response; - }); -} - -function getDownloadUrl(fileId) { - let {moduleId, tabId} = api.getHeadersObject(); - return getUrl(DOWNLOAD_FILE_ENDPOINT) + "?forceDownload=true&fileId=" + fileId + "&moduleId=" + moduleId + "&tabId=" + tabId; -} - -function loadFolderMappings() { - return (api.get(getUrl(LOAD_FOLDER_MAPPINGS_ENDPOINT))) - .then(response => { - return response; - }); -} - -function addFolder(data) { - return api.post(getUrl(ADD_FOLDER_ENDPOINT), data, { "Content-Type":"application/json" }); -} - -function deleteFolder(folderId) { - return api.post(getUrl(DELETE_FOLDER_ENDPOINT), {folderId}, { "Content-Type":"application/json" }); -} - -function deleteFile(fileId) { - return api.post(getUrl(DELETE_FILE_ENDPOINT), {fileId}, { "Content-Type":"application/json" }); -} - -function moveFolder(sourceFolderId, destinationFolderId) { - const data = { sourceFolderId, destinationFolderId } - return api.post(getUrl(MOVE_FOLDER_URL_ENDPOINT), data, { "Content-Type": "application/json" }); -} - -function moveFile(sourceFileId, destinationFolderId) { - const data = {sourceFileId, destinationFolderId}; - return api.post(getUrl(MOVE_FILE_URL_ENDPOINT), data, {"Content-Type": "application/json"}); -} - -function getFileDetails(fileId) { - return api.get(getUrl(FILE_DETAILS_ENDPOINT), {fileId}); -} - -function getFolderDetails(folderId) { - return api.get(getUrl(FOLDER_DETAILS_ENDPOINT), {folderId}); -} - -function uploadFile(file, folderPath, overwrite, trackProgress) { - const formData = new FormData(); - formData.append("postfile", file); - if (folderPath && typeof folderPath === "string") { - formData.append("folder", folderPath); - } - if (overwrite && typeof overwrite === "boolean") { - formData.append("overwrite", overwrite); - } - let {extensionWhitelist, validationCode} = api.getWhitelistObject(); - formData.append("filter", extensionWhitelist); - formData.append("validationCode", validationCode); - const url = getUrl(FILE_UPLOAD, true); - - return api.postFile(url, formData, trackProgress); -} - -function searchFiles(folderId, search, pageIndex, pageSize, sorting, culture) { - return api.get(getUrl(SEARCH_FILES_ENDPOINT), {folderId, search, pageIndex, pageSize, sorting, culture}) - .then(response => { - return response; - }); -} - -function getItemFullUrl(relativeUrl) { - return location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : "") + relativeUrl; -} - -function getFolderUrl(folderId) { - return location.protocol + "//" + location.host + location.pathname + "?folderId=" + folderId; -} - -function getIconUrl(item) { - if (item.isFolder) { - return item.iconUrl; - } else { - return !item.thumbnailAvailable ? item.iconUrl : item.thumbnailUrl; - } -} - -function saveFileDetails(item) { - return api.post(getUrl(SAVE_FILE_DETAILS_ENDPOINT), item, { "Content-Type":"application/json" }); -} - -function saveFolderDetails(item) { - return api.post(getUrl(SAVE_FOLDER_DETAILS_ENDPOINT), item, { "Content-Type":"application/json" }); -} - -function removeFolderType(folderMappingId) { - return api.postPrimitive(getUrl(REMOVE_FOLDER_TYPE_ENDPOINT), folderMappingId.toString()); -} - -function getAddFolderTypeUrl() { - return api.get(getUrl(ADD_FOLDER_TYPE_URL_ENDPOINT)) -} - -export default { - getContent, - syncContent, - getDownloadUrl, - loadFolderMappings, - addFolder, - deleteFolder, - deleteFile, - getFileDetails, - getFolderDetails, - uploadFile, - searchFiles, - getItemFullUrl, - getFolderUrl, - getIconUrl, - saveFileDetails, - saveFolderDetails, - removeFolderType, - getAddFolderTypeUrl, - moveFolder, - moveFile, -}; \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js deleted file mode 100644 index a2a3db54389..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/services/localizeService.js +++ /dev/null @@ -1,19 +0,0 @@ -let localization = {}; -let initialized = false; - -function init(localizedResources) { - localization = localizedResources; - initialized = true; -} - -function getString(key) { - if (!initialized) { - throw new Error("please call init method before use this method"); - } - return localization[key] || "[" + key + "]"; -} - -export default { - init, - getString -}; diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js deleted file mode 100644 index e4c7fbe3a20..00000000000 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/app/store/configureStore.js +++ /dev/null @@ -1,21 +0,0 @@ -import { createStore, applyMiddleware, compose } from "redux"; -import thunkMiddleware from "redux-thunk"; -import reduxImmutableStateInvariant from "redux-immutable-state-invariant"; -import rootReducer from "../reducers/rootReducer"; -import DevTools from "../containers/DevTools"; - -/* eslint-disable no-undef */ -const IS_PRODUCTION = process.env.NODE_ENV === "production"; - -export default function configureStore(initialState) { - const store = createStore( - rootReducer, - initialState, - compose( - IS_PRODUCTION ? - applyMiddleware(thunkMiddleware) : - applyMiddleware(thunkMiddleware, reduxImmutableStateInvariant()), DevTools.instrument() - ) - ); - return store; -} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json index 06db85c2670..706e143f813 100644 --- a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/package.json @@ -1,72 +1,37 @@ { - "name": "resource-library", - "version": "9.10.2", - "description": "Resource Library", + "name": "dnn-resource-manager", + "version": "9.11.0", + "description": "Resource Manager", "private": true, + "main": "dist/index.cjs.js", + "module": "dist/index.js", + "es2015": "dist/esm/index.mjs", + "es2017": "dist/esm/index.mjs", + "types": "dist/types/components.d.ts", + "collection": "dist/collection/collection-manifest.json", + "collection:main": "dist/collection/index.js", + "unpkg": "dist/dnn-resource-manager/dnn-resource-manager.esm.js", + "repository": { + "type": "git", + "url": "https://github.com/dnnsoftware/Dnn.Platform.git" + }, + "files": [ + "dist/", + "loader/" + ], "scripts": { - "build": "set NODE_ENV=production&&webpack -p", - "debug": "set NODE_ENV=debug&&webpack -p", - "webpack": "webpack-dev-server -d --port 8080 --hot --inline --content-base dist/ --history-api-fallback", - "watch": "set NODE_ENV=debug & webpack --mode=development --progress --colors --watch", - "analyze": "set NODE_ENV=production&&webpack -p --json | webpack-bundle-size-analyzer", - "lint": "eslint --fix" + "build": "stencil build --docs", + "watch": "stencil build --config stencil.dnn.config.ts --watch", + "start": "stencil build --dev --watch --serve", + "generate": "stencil generate" + }, + "dependencies": { + "@stencil/core": "^2.18.0" }, - "author": "", "license": "MIT", "devDependencies": { - "@babel/core": "^7.2.0", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/preset-env": "^7.2.0", - "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", - "babel-eslint": "^10.1.0", - "babel-loader": "8.0.6", - "babel-plugin-transform-object-assign": "6.22.0", - "babel-plugin-transform-object-rest-spread": "6.26.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24", - "babel-polyfill": "6.26.0", - "css-loader": "2.1.1", - "eslint": "5.8.0", - "eslint-loader": "2.1.1", - "eslint-plugin-babel": "5.3.0", - "eslint-plugin-filenames": "1.3.2", - "eslint-plugin-import": "^2.24.0", - "eslint-plugin-react": "7.11.1", - "eslint-plugin-spellcheck": "0.0.11", - "prop-types": "^15.7.2", - "webpack": "4.43.0", - "webpack-bundle-size-analyzer": "3.1.0", - "webpack-cli": "3.3.11", - "webpack-dev-server": "3.11.0" - }, - "dependencies": { - "copy-to-clipboard": "^3.0.5", - "es6-shim": "0.35.6", - "fetch-ie8": "1.4.2", - "file-loader": "3.0.1", - "less": "3.9.0", - "less-loader": "5.0.0", - "lodash": "^4.17.4", - "raw-loader": "2.0.0", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-dropzone": "6.2.4", - "react-height": "^3.0.1", - "react-hot-loader": "4.8.5", - "react-modal": "^3.5.1", - "react-motion": "^0.5.2", - "react-redux": "^5.1.1", - "react-tooltip": "^4.2.6", - "react-transition-group": "^1.2.0", - "redux": "^4.0.1", - "redux-devtools": "^3.5.0", - "redux-devtools-dock-monitor": "^1.1.3", - "redux-devtools-log-monitor": "^1.4.0", - "redux-immutable-state-invariant": "^2.1.0", - "redux-thunk": "^2.3.0", - "style-loader": "0.23.1", - "superagent": "^3.2.1", - "url-loader": "1.1.2" + "@dnncommunity/dnn-elements": "^0.15.1", + "@stencil/sass": "^2.0.0", + "@stencil/store": "^2.0.1" } -} \ No newline at end of file +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md new file mode 100644 index 00000000000..a9fe3b0039d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/readme.md @@ -0,0 +1,13 @@ +![Built With Stencil](https://img.shields.io/badge/-Built%20With%20Stencil-16161d.svg?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjIuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI%2BCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI%2BCgkuc3Qwe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU%2BCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MjQuNywzNzMuOWMwLDM3LjYtNTUuMSw2OC42LTkyLjcsNjguNkgxODAuNGMtMzcuOSwwLTkyLjctMzAuNy05Mi43LTY4LjZ2LTMuNmgzMzYuOVYzNzMuOXoiLz4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTQyNC43LDI5Mi4xSDE4MC40Yy0zNy42LDAtOTIuNy0zMS05Mi43LTY4LjZ2LTMuNkgzMzJjMzcuNiwwLDkyLjcsMzEsOTIuNyw2OC42VjI5Mi4xeiIvPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDI0LjcsMTQxLjdIODcuN3YtMy42YzAtMzcuNiw1NC44LTY4LjYsOTIuNy02OC42SDMzMmMzNy45LDAsOTIuNywzMC43LDkyLjcsNjguNlYxNDEuN3oiLz4KPC9zdmc%2BCg%3D%3D&colorA=16161d&style=flat-square) + +# dnn-resource-manager Web Component + +This component is made to interact with a DNN backend. + +# Stencil + +Stencil is a compiler for building fast web apps using Web Components. + +Stencil combines the best concepts of the most popular frontend frameworks into a compile-time rather than run-time tool. Stencil takes TypeScript, JSX, a tiny virtual DOM layer, efficient one-way data binding, an asynchronous rendering pipeline (similar to React Fiber), and lazy-loading out of the box, and generates 100% standards-based Web Components that run in any browser supporting the Custom Elements v1 spec. + +Stencil components are just Web Components, so they work in any major framework or with no framework at all. \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts new file mode 100644 index 00000000000..a25c45fcc7e --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components.d.ts @@ -0,0 +1,705 @@ +/* eslint-disable */ +/* tslint:disable */ +/** + * This is an autogenerated file created by the Stencil compiler. + * It contains typing information for all components that exist in this project. + */ +import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; +import { GetFolderContentResponse, Item } from "./services/ItemsClient"; +import { FolderTreeItem } from "./services/InternalServicesClient"; +export namespace Components { + interface DnnActionCopyUrl { + "items": Item[]; + } + interface DnnActionCreateFolder { + "parentFolderId": number; + } + interface DnnActionDeleteItems { + "items": Item[]; + } + interface DnnActionDownloadItem { + "item": Item; + } + interface DnnActionEditItem { + "item": Item; + } + interface DnnActionMoveItems { + "items": Item[]; + } + interface DnnActionUnlinkItems { + "items": Item[]; + } + interface DnnActionUploadFile { + "parentFolderId": number; + } + interface DnnResourceManager { + /** + * The ID of the module. + */ + "moduleId": number; + } + interface DnnRmActionsBar { + } + interface DnnRmCreateFolder { + } + interface DnnRmDeleteItems { + /** + * The list of items to delete. + */ + "items": Item[]; + } + interface DnnRmEditFile { + /** + * The ID of the folder to edit. + */ + "fileId": number; + } + interface DnnRmEditFolder { + /** + * The ID of the folder to edit. + */ + "folderId": number; + } + interface DnnRmFileContextMenu { + /** + * The item that triggered this menu. + */ + "item": Item; + } + interface DnnRmFilesPane { + /** + * Defines how much more pixels to load under the fold. + */ + "preloadOffset": number; + } + interface DnnRmFolderContextMenu { + /** + * The item that triggered this menu. + */ + "item": Item; + } + interface DnnRmFolderList { + } + interface DnnRmFolderListItem { + /** + * If true, this node will be expanded on load. + */ + "expanded": boolean; + /** + * The basic information about the folder + */ + "folder": FolderTreeItem; + /** + * The ID of the parent folder. + */ + "parentFolderId": number; + /** + * Indicates if this item is the currently selected one. + */ + "selectedFolder": FolderTreeItem; + } + interface DnnRmFolderMappings { + } + interface DnnRmItemsCardview { + /** + * The list of current items. + */ + "currentItems": GetFolderContentResponse; + } + interface DnnRmItemsListview { + /** + * The list of current items. + */ + "currentItems": GetFolderContentResponse; + } + interface DnnRmLeftPane { + } + interface DnnRmMoveItems { + /** + * The list of items to delete. + */ + "items": Item[]; + } + interface DnnRmProgressBar { + /** + * Defines the max progress value. + */ + "max": number; + /** + * Defines the current progress value. + */ + "value": number; + } + interface DnnRmQueuedFile { + /** + * Whether to extract uploaded zip files. + */ + "extract": boolean; + /** + * The file to upload. + */ + "file": File; + /** + * Optionally limit the file types that can be uploaded. + */ + "filter": string; + /** + * The maximal allowed file upload size + */ + "maxUploadFileSize": number; + /** + * The validation code to use for uploads. + */ + "validationCode": string; + } + interface DnnRmRightPane { + } + interface DnnRmStatusBar { + } + interface DnnRmTopBar { + } + interface DnnRmUnlinkItems { + /** + * The list of items to delete. + */ + "items": Item[]; + } + interface DnnRmUploadFile { + } +} +export interface DnnActionUploadFileCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnActionUploadFileElement; +} +export interface DnnRmCreateFolderCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmCreateFolderElement; +} +export interface DnnRmDeleteItemsCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmDeleteItemsElement; +} +export interface DnnRmEditFileCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmEditFileElement; +} +export interface DnnRmEditFolderCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmEditFolderElement; +} +export interface DnnRmFolderListCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmFolderListElement; +} +export interface DnnRmFolderListItemCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmFolderListItemElement; +} +export interface DnnRmMoveItemsCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmMoveItemsElement; +} +export interface DnnRmUnlinkItemsCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmUnlinkItemsElement; +} +export interface DnnRmUploadFileCustomEvent extends CustomEvent { + detail: T; + target: HTMLDnnRmUploadFileElement; +} +declare global { + interface HTMLDnnActionCopyUrlElement extends Components.DnnActionCopyUrl, HTMLStencilElement { + } + var HTMLDnnActionCopyUrlElement: { + prototype: HTMLDnnActionCopyUrlElement; + new (): HTMLDnnActionCopyUrlElement; + }; + interface HTMLDnnActionCreateFolderElement extends Components.DnnActionCreateFolder, HTMLStencilElement { + } + var HTMLDnnActionCreateFolderElement: { + prototype: HTMLDnnActionCreateFolderElement; + new (): HTMLDnnActionCreateFolderElement; + }; + interface HTMLDnnActionDeleteItemsElement extends Components.DnnActionDeleteItems, HTMLStencilElement { + } + var HTMLDnnActionDeleteItemsElement: { + prototype: HTMLDnnActionDeleteItemsElement; + new (): HTMLDnnActionDeleteItemsElement; + }; + interface HTMLDnnActionDownloadItemElement extends Components.DnnActionDownloadItem, HTMLStencilElement { + } + var HTMLDnnActionDownloadItemElement: { + prototype: HTMLDnnActionDownloadItemElement; + new (): HTMLDnnActionDownloadItemElement; + }; + interface HTMLDnnActionEditItemElement extends Components.DnnActionEditItem, HTMLStencilElement { + } + var HTMLDnnActionEditItemElement: { + prototype: HTMLDnnActionEditItemElement; + new (): HTMLDnnActionEditItemElement; + }; + interface HTMLDnnActionMoveItemsElement extends Components.DnnActionMoveItems, HTMLStencilElement { + } + var HTMLDnnActionMoveItemsElement: { + prototype: HTMLDnnActionMoveItemsElement; + new (): HTMLDnnActionMoveItemsElement; + }; + interface HTMLDnnActionUnlinkItemsElement extends Components.DnnActionUnlinkItems, HTMLStencilElement { + } + var HTMLDnnActionUnlinkItemsElement: { + prototype: HTMLDnnActionUnlinkItemsElement; + new (): HTMLDnnActionUnlinkItemsElement; + }; + interface HTMLDnnActionUploadFileElement extends Components.DnnActionUploadFile, HTMLStencilElement { + } + var HTMLDnnActionUploadFileElement: { + prototype: HTMLDnnActionUploadFileElement; + new (): HTMLDnnActionUploadFileElement; + }; + interface HTMLDnnResourceManagerElement extends Components.DnnResourceManager, HTMLStencilElement { + } + var HTMLDnnResourceManagerElement: { + prototype: HTMLDnnResourceManagerElement; + new (): HTMLDnnResourceManagerElement; + }; + interface HTMLDnnRmActionsBarElement extends Components.DnnRmActionsBar, HTMLStencilElement { + } + var HTMLDnnRmActionsBarElement: { + prototype: HTMLDnnRmActionsBarElement; + new (): HTMLDnnRmActionsBarElement; + }; + interface HTMLDnnRmCreateFolderElement extends Components.DnnRmCreateFolder, HTMLStencilElement { + } + var HTMLDnnRmCreateFolderElement: { + prototype: HTMLDnnRmCreateFolderElement; + new (): HTMLDnnRmCreateFolderElement; + }; + interface HTMLDnnRmDeleteItemsElement extends Components.DnnRmDeleteItems, HTMLStencilElement { + } + var HTMLDnnRmDeleteItemsElement: { + prototype: HTMLDnnRmDeleteItemsElement; + new (): HTMLDnnRmDeleteItemsElement; + }; + interface HTMLDnnRmEditFileElement extends Components.DnnRmEditFile, HTMLStencilElement { + } + var HTMLDnnRmEditFileElement: { + prototype: HTMLDnnRmEditFileElement; + new (): HTMLDnnRmEditFileElement; + }; + interface HTMLDnnRmEditFolderElement extends Components.DnnRmEditFolder, HTMLStencilElement { + } + var HTMLDnnRmEditFolderElement: { + prototype: HTMLDnnRmEditFolderElement; + new (): HTMLDnnRmEditFolderElement; + }; + interface HTMLDnnRmFileContextMenuElement extends Components.DnnRmFileContextMenu, HTMLStencilElement { + } + var HTMLDnnRmFileContextMenuElement: { + prototype: HTMLDnnRmFileContextMenuElement; + new (): HTMLDnnRmFileContextMenuElement; + }; + interface HTMLDnnRmFilesPaneElement extends Components.DnnRmFilesPane, HTMLStencilElement { + } + var HTMLDnnRmFilesPaneElement: { + prototype: HTMLDnnRmFilesPaneElement; + new (): HTMLDnnRmFilesPaneElement; + }; + interface HTMLDnnRmFolderContextMenuElement extends Components.DnnRmFolderContextMenu, HTMLStencilElement { + } + var HTMLDnnRmFolderContextMenuElement: { + prototype: HTMLDnnRmFolderContextMenuElement; + new (): HTMLDnnRmFolderContextMenuElement; + }; + interface HTMLDnnRmFolderListElement extends Components.DnnRmFolderList, HTMLStencilElement { + } + var HTMLDnnRmFolderListElement: { + prototype: HTMLDnnRmFolderListElement; + new (): HTMLDnnRmFolderListElement; + }; + interface HTMLDnnRmFolderListItemElement extends Components.DnnRmFolderListItem, HTMLStencilElement { + } + var HTMLDnnRmFolderListItemElement: { + prototype: HTMLDnnRmFolderListItemElement; + new (): HTMLDnnRmFolderListItemElement; + }; + interface HTMLDnnRmFolderMappingsElement extends Components.DnnRmFolderMappings, HTMLStencilElement { + } + var HTMLDnnRmFolderMappingsElement: { + prototype: HTMLDnnRmFolderMappingsElement; + new (): HTMLDnnRmFolderMappingsElement; + }; + interface HTMLDnnRmItemsCardviewElement extends Components.DnnRmItemsCardview, HTMLStencilElement { + } + var HTMLDnnRmItemsCardviewElement: { + prototype: HTMLDnnRmItemsCardviewElement; + new (): HTMLDnnRmItemsCardviewElement; + }; + interface HTMLDnnRmItemsListviewElement extends Components.DnnRmItemsListview, HTMLStencilElement { + } + var HTMLDnnRmItemsListviewElement: { + prototype: HTMLDnnRmItemsListviewElement; + new (): HTMLDnnRmItemsListviewElement; + }; + interface HTMLDnnRmLeftPaneElement extends Components.DnnRmLeftPane, HTMLStencilElement { + } + var HTMLDnnRmLeftPaneElement: { + prototype: HTMLDnnRmLeftPaneElement; + new (): HTMLDnnRmLeftPaneElement; + }; + interface HTMLDnnRmMoveItemsElement extends Components.DnnRmMoveItems, HTMLStencilElement { + } + var HTMLDnnRmMoveItemsElement: { + prototype: HTMLDnnRmMoveItemsElement; + new (): HTMLDnnRmMoveItemsElement; + }; + interface HTMLDnnRmProgressBarElement extends Components.DnnRmProgressBar, HTMLStencilElement { + } + var HTMLDnnRmProgressBarElement: { + prototype: HTMLDnnRmProgressBarElement; + new (): HTMLDnnRmProgressBarElement; + }; + interface HTMLDnnRmQueuedFileElement extends Components.DnnRmQueuedFile, HTMLStencilElement { + } + var HTMLDnnRmQueuedFileElement: { + prototype: HTMLDnnRmQueuedFileElement; + new (): HTMLDnnRmQueuedFileElement; + }; + interface HTMLDnnRmRightPaneElement extends Components.DnnRmRightPane, HTMLStencilElement { + } + var HTMLDnnRmRightPaneElement: { + prototype: HTMLDnnRmRightPaneElement; + new (): HTMLDnnRmRightPaneElement; + }; + interface HTMLDnnRmStatusBarElement extends Components.DnnRmStatusBar, HTMLStencilElement { + } + var HTMLDnnRmStatusBarElement: { + prototype: HTMLDnnRmStatusBarElement; + new (): HTMLDnnRmStatusBarElement; + }; + interface HTMLDnnRmTopBarElement extends Components.DnnRmTopBar, HTMLStencilElement { + } + var HTMLDnnRmTopBarElement: { + prototype: HTMLDnnRmTopBarElement; + new (): HTMLDnnRmTopBarElement; + }; + interface HTMLDnnRmUnlinkItemsElement extends Components.DnnRmUnlinkItems, HTMLStencilElement { + } + var HTMLDnnRmUnlinkItemsElement: { + prototype: HTMLDnnRmUnlinkItemsElement; + new (): HTMLDnnRmUnlinkItemsElement; + }; + interface HTMLDnnRmUploadFileElement extends Components.DnnRmUploadFile, HTMLStencilElement { + } + var HTMLDnnRmUploadFileElement: { + prototype: HTMLDnnRmUploadFileElement; + new (): HTMLDnnRmUploadFileElement; + }; + interface HTMLElementTagNameMap { + "dnn-action-copy-url": HTMLDnnActionCopyUrlElement; + "dnn-action-create-folder": HTMLDnnActionCreateFolderElement; + "dnn-action-delete-items": HTMLDnnActionDeleteItemsElement; + "dnn-action-download-item": HTMLDnnActionDownloadItemElement; + "dnn-action-edit-item": HTMLDnnActionEditItemElement; + "dnn-action-move-items": HTMLDnnActionMoveItemsElement; + "dnn-action-unlink-items": HTMLDnnActionUnlinkItemsElement; + "dnn-action-upload-file": HTMLDnnActionUploadFileElement; + "dnn-resource-manager": HTMLDnnResourceManagerElement; + "dnn-rm-actions-bar": HTMLDnnRmActionsBarElement; + "dnn-rm-create-folder": HTMLDnnRmCreateFolderElement; + "dnn-rm-delete-items": HTMLDnnRmDeleteItemsElement; + "dnn-rm-edit-file": HTMLDnnRmEditFileElement; + "dnn-rm-edit-folder": HTMLDnnRmEditFolderElement; + "dnn-rm-file-context-menu": HTMLDnnRmFileContextMenuElement; + "dnn-rm-files-pane": HTMLDnnRmFilesPaneElement; + "dnn-rm-folder-context-menu": HTMLDnnRmFolderContextMenuElement; + "dnn-rm-folder-list": HTMLDnnRmFolderListElement; + "dnn-rm-folder-list-item": HTMLDnnRmFolderListItemElement; + "dnn-rm-folder-mappings": HTMLDnnRmFolderMappingsElement; + "dnn-rm-items-cardview": HTMLDnnRmItemsCardviewElement; + "dnn-rm-items-listview": HTMLDnnRmItemsListviewElement; + "dnn-rm-left-pane": HTMLDnnRmLeftPaneElement; + "dnn-rm-move-items": HTMLDnnRmMoveItemsElement; + "dnn-rm-progress-bar": HTMLDnnRmProgressBarElement; + "dnn-rm-queued-file": HTMLDnnRmQueuedFileElement; + "dnn-rm-right-pane": HTMLDnnRmRightPaneElement; + "dnn-rm-status-bar": HTMLDnnRmStatusBarElement; + "dnn-rm-top-bar": HTMLDnnRmTopBarElement; + "dnn-rm-unlink-items": HTMLDnnRmUnlinkItemsElement; + "dnn-rm-upload-file": HTMLDnnRmUploadFileElement; + } +} +declare namespace LocalJSX { + interface DnnActionCopyUrl { + "items": Item[]; + } + interface DnnActionCreateFolder { + "parentFolderId"?: number; + } + interface DnnActionDeleteItems { + "items": Item[]; + } + interface DnnActionDownloadItem { + "item": Item; + } + interface DnnActionEditItem { + "item": Item; + } + interface DnnActionMoveItems { + "items": Item[]; + } + interface DnnActionUnlinkItems { + "items": Item[]; + } + interface DnnActionUploadFile { + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnActionUploadFileCustomEvent) => void; + "parentFolderId"?: number; + } + interface DnnResourceManager { + /** + * The ID of the module. + */ + "moduleId": number; + } + interface DnnRmActionsBar { + } + interface DnnRmCreateFolder { + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmCreateFolderCustomEvent) => void; + } + interface DnnRmDeleteItems { + /** + * The list of items to delete. + */ + "items": Item[]; + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmDeleteItemsCustomEvent) => void; + } + interface DnnRmEditFile { + /** + * The ID of the folder to edit. + */ + "fileId": number; + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmEditFileCustomEvent) => void; + } + interface DnnRmEditFolder { + /** + * The ID of the folder to edit. + */ + "folderId": number; + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmEditFolderCustomEvent) => void; + } + interface DnnRmFileContextMenu { + /** + * The item that triggered this menu. + */ + "item": Item; + } + interface DnnRmFilesPane { + /** + * Defines how much more pixels to load under the fold. + */ + "preloadOffset"?: number; + } + interface DnnRmFolderContextMenu { + /** + * The item that triggered this menu. + */ + "item": Item; + } + interface DnnRmFolderList { + /** + * Fires when a folder is picked. + */ + "onDnnRmFolderListFolderPicked"?: (event: DnnRmFolderListCustomEvent) => void; + } + interface DnnRmFolderListItem { + /** + * If true, this node will be expanded on load. + */ + "expanded"?: boolean; + /** + * The basic information about the folder + */ + "folder": FolderTreeItem; + /** + * Fires when a folder is clicked. + */ + "onDnnRmFolderListItemClicked"?: (event: DnnRmFolderListItemCustomEvent) => void; + /** + * Fires when a context menu is opened for this item. Emits the folder ID. + */ + "onDnnRmcontextMenuOpened"?: (event: DnnRmFolderListItemCustomEvent) => void; + /** + * The ID of the parent folder. + */ + "parentFolderId": number; + /** + * Indicates if this item is the currently selected one. + */ + "selectedFolder"?: FolderTreeItem; + } + interface DnnRmFolderMappings { + } + interface DnnRmItemsCardview { + /** + * The list of current items. + */ + "currentItems": GetFolderContentResponse; + } + interface DnnRmItemsListview { + /** + * The list of current items. + */ + "currentItems": GetFolderContentResponse; + } + interface DnnRmLeftPane { + } + interface DnnRmMoveItems { + /** + * The list of items to delete. + */ + "items": Item[]; + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmMoveItemsCustomEvent) => void; + } + interface DnnRmProgressBar { + /** + * Defines the max progress value. + */ + "max"?: number; + /** + * Defines the current progress value. + */ + "value"?: number; + } + interface DnnRmQueuedFile { + /** + * Whether to extract uploaded zip files. + */ + "extract"?: boolean; + /** + * The file to upload. + */ + "file": File; + /** + * Optionally limit the file types that can be uploaded. + */ + "filter": string; + /** + * The maximal allowed file upload size + */ + "maxUploadFileSize": number; + /** + * The validation code to use for uploads. + */ + "validationCode": string; + } + interface DnnRmRightPane { + } + interface DnnRmStatusBar { + } + interface DnnRmTopBar { + } + interface DnnRmUnlinkItems { + /** + * The list of items to delete. + */ + "items": Item[]; + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmUnlinkItemsCustomEvent) => void; + } + interface DnnRmUploadFile { + /** + * Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. + */ + "onDnnRmFoldersChanged"?: (event: DnnRmUploadFileCustomEvent) => void; + } + interface IntrinsicElements { + "dnn-action-copy-url": DnnActionCopyUrl; + "dnn-action-create-folder": DnnActionCreateFolder; + "dnn-action-delete-items": DnnActionDeleteItems; + "dnn-action-download-item": DnnActionDownloadItem; + "dnn-action-edit-item": DnnActionEditItem; + "dnn-action-move-items": DnnActionMoveItems; + "dnn-action-unlink-items": DnnActionUnlinkItems; + "dnn-action-upload-file": DnnActionUploadFile; + "dnn-resource-manager": DnnResourceManager; + "dnn-rm-actions-bar": DnnRmActionsBar; + "dnn-rm-create-folder": DnnRmCreateFolder; + "dnn-rm-delete-items": DnnRmDeleteItems; + "dnn-rm-edit-file": DnnRmEditFile; + "dnn-rm-edit-folder": DnnRmEditFolder; + "dnn-rm-file-context-menu": DnnRmFileContextMenu; + "dnn-rm-files-pane": DnnRmFilesPane; + "dnn-rm-folder-context-menu": DnnRmFolderContextMenu; + "dnn-rm-folder-list": DnnRmFolderList; + "dnn-rm-folder-list-item": DnnRmFolderListItem; + "dnn-rm-folder-mappings": DnnRmFolderMappings; + "dnn-rm-items-cardview": DnnRmItemsCardview; + "dnn-rm-items-listview": DnnRmItemsListview; + "dnn-rm-left-pane": DnnRmLeftPane; + "dnn-rm-move-items": DnnRmMoveItems; + "dnn-rm-progress-bar": DnnRmProgressBar; + "dnn-rm-queued-file": DnnRmQueuedFile; + "dnn-rm-right-pane": DnnRmRightPane; + "dnn-rm-status-bar": DnnRmStatusBar; + "dnn-rm-top-bar": DnnRmTopBar; + "dnn-rm-unlink-items": DnnRmUnlinkItems; + "dnn-rm-upload-file": DnnRmUploadFile; + } +} +export { LocalJSX as JSX }; +declare module "@stencil/core" { + export namespace JSX { + interface IntrinsicElements { + "dnn-action-copy-url": LocalJSX.DnnActionCopyUrl & JSXBase.HTMLAttributes; + "dnn-action-create-folder": LocalJSX.DnnActionCreateFolder & JSXBase.HTMLAttributes; + "dnn-action-delete-items": LocalJSX.DnnActionDeleteItems & JSXBase.HTMLAttributes; + "dnn-action-download-item": LocalJSX.DnnActionDownloadItem & JSXBase.HTMLAttributes; + "dnn-action-edit-item": LocalJSX.DnnActionEditItem & JSXBase.HTMLAttributes; + "dnn-action-move-items": LocalJSX.DnnActionMoveItems & JSXBase.HTMLAttributes; + "dnn-action-unlink-items": LocalJSX.DnnActionUnlinkItems & JSXBase.HTMLAttributes; + "dnn-action-upload-file": LocalJSX.DnnActionUploadFile & JSXBase.HTMLAttributes; + "dnn-resource-manager": LocalJSX.DnnResourceManager & JSXBase.HTMLAttributes; + "dnn-rm-actions-bar": LocalJSX.DnnRmActionsBar & JSXBase.HTMLAttributes; + "dnn-rm-create-folder": LocalJSX.DnnRmCreateFolder & JSXBase.HTMLAttributes; + "dnn-rm-delete-items": LocalJSX.DnnRmDeleteItems & JSXBase.HTMLAttributes; + "dnn-rm-edit-file": LocalJSX.DnnRmEditFile & JSXBase.HTMLAttributes; + "dnn-rm-edit-folder": LocalJSX.DnnRmEditFolder & JSXBase.HTMLAttributes; + "dnn-rm-file-context-menu": LocalJSX.DnnRmFileContextMenu & JSXBase.HTMLAttributes; + "dnn-rm-files-pane": LocalJSX.DnnRmFilesPane & JSXBase.HTMLAttributes; + "dnn-rm-folder-context-menu": LocalJSX.DnnRmFolderContextMenu & JSXBase.HTMLAttributes; + "dnn-rm-folder-list": LocalJSX.DnnRmFolderList & JSXBase.HTMLAttributes; + "dnn-rm-folder-list-item": LocalJSX.DnnRmFolderListItem & JSXBase.HTMLAttributes; + "dnn-rm-folder-mappings": LocalJSX.DnnRmFolderMappings & JSXBase.HTMLAttributes; + "dnn-rm-items-cardview": LocalJSX.DnnRmItemsCardview & JSXBase.HTMLAttributes; + "dnn-rm-items-listview": LocalJSX.DnnRmItemsListview & JSXBase.HTMLAttributes; + "dnn-rm-left-pane": LocalJSX.DnnRmLeftPane & JSXBase.HTMLAttributes; + "dnn-rm-move-items": LocalJSX.DnnRmMoveItems & JSXBase.HTMLAttributes; + "dnn-rm-progress-bar": LocalJSX.DnnRmProgressBar & JSXBase.HTMLAttributes; + "dnn-rm-queued-file": LocalJSX.DnnRmQueuedFile & JSXBase.HTMLAttributes; + "dnn-rm-right-pane": LocalJSX.DnnRmRightPane & JSXBase.HTMLAttributes; + "dnn-rm-status-bar": LocalJSX.DnnRmStatusBar & JSXBase.HTMLAttributes; + "dnn-rm-top-bar": LocalJSX.DnnRmTopBar & JSXBase.HTMLAttributes; + "dnn-rm-unlink-items": LocalJSX.DnnRmUnlinkItems & JSXBase.HTMLAttributes; + "dnn-rm-upload-file": LocalJSX.DnnRmUploadFile & JSXBase.HTMLAttributes; + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx new file mode 100644 index 00000000000..b9cec6e4bb8 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/dnn-action-copy-url.tsx @@ -0,0 +1,29 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-copy-url', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionCopyUrl { + + @Prop() items!: Item[]; + + private handleClick(): void { + const url = `${window.location.protocol}//${window.location.host}${this.items[0].path}`; + navigator.clipboard.writeText(url); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/readme.md new file mode 100644 index 00000000000..f6ccc55e243 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-copy-url/readme.md @@ -0,0 +1,32 @@ +# dnn-action-move-items + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------------- | --------- | ----------- | -------- | ----------- | +| `items` _(required)_ | -- | | `Item[]` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-file-context-menu](../../context-menus/dnn-rm-file-context-menu) + +### Graph +```mermaid +graph TD; + dnn-rm-actions-bar --> dnn-action-copy-url + dnn-rm-file-context-menu --> dnn-action-copy-url + style dnn-action-copy-url fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx new file mode 100644 index 00000000000..956cae8d6bd --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/dnn-action-create-folder.tsx @@ -0,0 +1,54 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { ItemsClient } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-create-folder', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionCreateFolder { + + @Prop() parentFolderId: number; + + private readonly itemsClient: ItemsClient; + + constructor(){ + this.itemsClient = new ItemsClient(state.moduleId); + } + + private handleClick(): void { + if (this.parentFolderId){ + this.itemsClient.getFolderContent(this.parentFolderId, 0, 0) + .then(data => { + state.currentItems = data; + this.showModal(); + }) + .catch(error => alert(error)); + return; + } + + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = false; + modal.showCloseButton = false; + const editor = document.createElement("dnn-rm-create-folder"); + modal.appendChild(editor); + document.body.appendChild(modal); + modal.show(); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/readme.md new file mode 100644 index 00000000000..46970721d7f --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-create-folder/readme.md @@ -0,0 +1,42 @@ +# dnn-action-create-folder + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ---------------- | ------------------ | ----------- | -------- | ----------- | +| `parentFolderId` | `parent-folder-id` | | `number` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-folder-context-menu](../../context-menus/dnn-rm-folder-context-menu) + +### Depends on + +- dnn-modal +- [dnn-rm-create-folder](../../dnn-rm-create-folder) + +### Graph +```mermaid +graph TD; + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-actions-bar --> dnn-action-create-folder + dnn-rm-folder-context-menu --> dnn-action-create-folder + style dnn-action-create-folder fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx new file mode 100644 index 00000000000..a9ea5e89451 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/dnn-action-delete-items.tsx @@ -0,0 +1,39 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-delete-items', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionDeleteItems { + + @Prop() items!: Item[]; + + private handleClick(): void { + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = false; + modal.showCloseButton = false; + const editor = document.createElement("dnn-rm-delete-items") as HTMLDnnRmDeleteItemsElement; + editor.items = this.items; + modal.appendChild(editor); + document.body.appendChild(modal); + modal.show(); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/readme.md new file mode 100644 index 00000000000..477699e37ca --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-delete-items/readme.md @@ -0,0 +1,45 @@ +# dnn-action-move-items + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------------- | --------- | ----------- | -------- | ----------- | +| `items` _(required)_ | -- | | `Item[]` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-file-context-menu](../../context-menus/dnn-rm-file-context-menu) + - [dnn-rm-folder-context-menu](../../context-menus/dnn-rm-folder-context-menu) + +### Depends on + +- dnn-modal +- [dnn-rm-delete-items](../../dnn-rm-delete-items) + +### Graph +```mermaid +graph TD; + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-actions-bar --> dnn-action-delete-items + dnn-rm-file-context-menu --> dnn-action-delete-items + dnn-rm-folder-context-menu --> dnn-action-delete-items + style dnn-action-delete-items fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx new file mode 100644 index 00000000000..e77ebe2b38d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/dnn-action-download-item.tsx @@ -0,0 +1,34 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item, ItemsClient } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-download-item', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionDownloadItem { + + @Prop() item!: Item; + + private itemsClient: ItemsClient; + + constructor(){ + this.itemsClient = new ItemsClient(state.moduleId); + } + + private handleClick(): void { + this.itemsClient.download(this.item.itemId, true); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/readme.md new file mode 100644 index 00000000000..963fdd64a81 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-download-item/readme.md @@ -0,0 +1,32 @@ +# dnn-action-move-items + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------------- | --------- | ----------- | ------ | ----------- | +| `item` _(required)_ | -- | | `Item` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-file-context-menu](../../context-menus/dnn-rm-file-context-menu) + +### Graph +```mermaid +graph TD; + dnn-rm-actions-bar --> dnn-action-download-item + dnn-rm-file-context-menu --> dnn-action-download-item + style dnn-action-download-item fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx new file mode 100644 index 00000000000..43e22d45782 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/dnn-action-edit-item.tsx @@ -0,0 +1,47 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-edit-item', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionEditItem { + + @Prop() item!: Item; + + private handleClick(): void { + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = false; + modal.showCloseButton = false; + // We also need to show a different model depending if we have a file or folder + if (this.item.isFolder){ + const editor = document.createElement("dnn-rm-edit-folder") as HTMLDnnRmEditFolderElement; + editor.folderId = this.item.itemId; + modal.appendChild(editor); + } + else { + const editor = document.createElement("dnn-rm-edit-file") as HTMLDnnRmEditFileElement; + editor.fileId = this.item.itemId; + modal.appendChild(editor); + } + document.body.appendChild(modal); + modal.show(); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/readme.md new file mode 100644 index 00000000000..4fa824cd2d7 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-edit-item/readme.md @@ -0,0 +1,56 @@ +# dnn-action-edit-item + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------------- | --------- | ----------- | ------ | ----------- | +| `item` _(required)_ | -- | | `Item` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-file-context-menu](../../context-menus/dnn-rm-file-context-menu) + - [dnn-rm-folder-context-menu](../../context-menus/dnn-rm-folder-context-menu) + +### Depends on + +- dnn-modal +- [dnn-rm-edit-folder](../../dnn-rm-edit-folder) +- [dnn-rm-edit-file](../../dnn-rm-edit-file) + +### Graph +```mermaid +graph TD; + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-rm-actions-bar --> dnn-action-edit-item + dnn-rm-file-context-menu --> dnn-action-edit-item + dnn-rm-folder-context-menu --> dnn-action-edit-item + style dnn-action-edit-item fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx new file mode 100644 index 00000000000..f50394ab3d7 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/dnn-action-move-items.tsx @@ -0,0 +1,39 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-move-items', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionMoveItems { + + @Prop() items!: Item[]; + + private handleClick(): void { + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = false; + modal.showCloseButton = false; + const editor = document.createElement("dnn-rm-move-items") as HTMLDnnRmMoveItemsElement; + editor.items = this.items; + modal.appendChild(editor); + document.body.appendChild(modal); + modal.show(); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/readme.md new file mode 100644 index 00000000000..1e6edb0a218 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-move-items/readme.md @@ -0,0 +1,77 @@ +# dnn-action-move-items + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------------- | --------- | ----------- | -------- | ----------- | +| `items` _(required)_ | -- | | `Item[]` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-file-context-menu](../../context-menus/dnn-rm-file-context-menu) + - [dnn-rm-folder-context-menu](../../context-menus/dnn-rm-folder-context-menu) + +### Depends on + +- dnn-modal +- [dnn-rm-move-items](../../dnn-rm-move-items) + +### Graph +```mermaid +graph TD; + dnn-action-move-items --> dnn-modal + dnn-action-move-items --> dnn-rm-move-items + dnn-rm-move-items --> dnn-rm-folder-list + dnn-rm-move-items --> dnn-rm-progress-bar + dnn-rm-move-items --> dnn-button + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-collapsible + dnn-rm-folder-list-item --> dnn-rm-folder-context-menu + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-rm-folder-context-menu --> dnn-action-move-items + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-treeview-item --> dnn-collapsible + dnn-rm-actions-bar --> dnn-action-move-items + dnn-rm-file-context-menu --> dnn-action-move-items + style dnn-action-move-items fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx new file mode 100644 index 00000000000..31b74111e1c --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/dnn-action-unlink-items.tsx @@ -0,0 +1,39 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-unlink-items', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionUnlinkItems { + + @Prop() items!: Item[]; + + private handleClick(): void { + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = false; + modal.showCloseButton = false; + const editor = document.createElement("dnn-rm-unlink-items") as HTMLDnnRmUnlinkItemsElement; + editor.items = this.items; + modal.appendChild(editor); + document.body.appendChild(modal); + modal.show(); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/readme.md new file mode 100644 index 00000000000..07d7551661d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-unlink-items/readme.md @@ -0,0 +1,43 @@ +# dnn-action-move-items + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------------- | --------- | ----------- | -------- | ----------- | +| `items` _(required)_ | -- | | `Item[]` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + - [dnn-rm-folder-context-menu](../../context-menus/dnn-rm-folder-context-menu) + +### Depends on + +- dnn-modal +- [dnn-rm-unlink-items](../../dnn-rm-unlink-items) + +### Graph +```mermaid +graph TD; + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-actions-bar --> dnn-action-unlink-items + dnn-rm-folder-context-menu --> dnn-action-unlink-items + style dnn-action-unlink-items fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx new file mode 100644 index 00000000000..f61e7a77347 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/dnn-action-upload-file.tsx @@ -0,0 +1,50 @@ +import { Component, Host, h, Event, EventEmitter, Prop } from '@stencil/core'; +import state from "../../../store/store"; + +@Component({ + tag: 'dnn-action-upload-file', + styleUrl: '../dnn-action.scss', + shadow: true, +}) +export class DnnActionUploadFile { + + @Prop() parentFolderId: number; + + /** + * Fires when there is a possibility that some folders have changed. + * Can be used to force parts of the UI to refresh. + */ + @Event() dnnRmFoldersChanged: EventEmitter; + + private handleClick(): void { + this.showModal(); + } + + private showModal(){ + const modal = document.createElement("dnn-modal"); + modal.backdropDismiss = true; + modal.showCloseButton = true; + const container = document.createElement("div"); + container.style.overflowY = "auto"; + container.style.maxHeight = "70vh"; + const editor = document.createElement("dnn-rm-upload-file"); + container.appendChild(editor); + modal.appendChild(container); + document.body.appendChild(modal); + modal.show(); + modal.addEventListener('dismissed', () => { + this.dnnRmFoldersChanged.emit(); + }); + } + + render() { + return ( + + + + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/readme.md new file mode 100644 index 00000000000..28afa5c70d0 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action-upload-file/readme.md @@ -0,0 +1,50 @@ +# dnn-action-upload-file + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ---------------- | ------------------ | ----------- | -------- | ----------- | +| `parentFolderId` | `parent-folder-id` | | `number` | `undefined` | + + +## Events + +| Event | Description | Type | +| --------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------- | +| `dnnRmFoldersChanged` | Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. | `CustomEvent` | + + +## Dependencies + +### Used by + + - [dnn-rm-actions-bar](../../dnn-rm-actions-bar) + +### Depends on + +- dnn-modal +- [dnn-rm-upload-file](../../dnn-rm-upload-file) + +### Graph +```mermaid +graph TD; + dnn-action-upload-file --> dnn-modal + dnn-action-upload-file --> dnn-rm-upload-file + dnn-rm-upload-file --> dnn-checkbox + dnn-rm-upload-file --> dnn-dropzone + dnn-rm-upload-file --> dnn-rm-queued-file + dnn-rm-queued-file --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-actions-bar --> dnn-action-upload-file + style dnn-action-upload-file fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action.scss new file mode 100644 index 00000000000..a7550b139a0 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/actions/dnn-action.scss @@ -0,0 +1,16 @@ +:host{ + display: inline-flex; +} + +button{ + cursor: pointer; + border: none; + background-color: transparent; + margin: 0; + padding: 0; + display: flex; + align-items: center; + svg{ + fill: var(--dnn-color-primary); + } +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/context-menu.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/context-menu.scss new file mode 100644 index 00000000000..2605ed33515 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/context-menu.scss @@ -0,0 +1,12 @@ +:host{ + display: flex; + flex-direction: column; +} +:host(*){ + background-color: transparent; + border: none; + padding: 0.5em 1em; + margin: 0; + border-bottom: 1px solid lightgray; + white-space: nowrap; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/dnn-rm-file-context-menu.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/dnn-rm-file-context-menu.tsx new file mode 100644 index 00000000000..80276d1075a --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/dnn-rm-file-context-menu.tsx @@ -0,0 +1,37 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from '../../../store/store'; + +@Component({ + tag: 'dnn-rm-file-context-menu', + styleUrl: '../context-menu.scss', + shadow: true, +}) +export class DnnRmFileContextMenu { + + /** The item that triggered this menu. */ + @Prop() item!: Item; + + render() { + return ( + + {state.currentItems?.hasAddFilesPermission && state.currentItems.hasDeletePermission && + + } + {state.currentItems?.hasDeletePermission && + [ + + , + + , + + ] + } + {location.protocol == "https:" && + + } + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/readme.md new file mode 100644 index 00000000000..160ad924bb3 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-file-context-menu/readme.md @@ -0,0 +1,88 @@ +# dnn-rm-file-context-menu + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------------- | --------- | ---------------------------------- | ------ | ----------- | +| `item` _(required)_ | -- | The item that triggered this menu. | `Item` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-items-cardview](../../dnn-rm-items-cardview) + - [dnn-rm-items-listview](../../dnn-rm-items-listview) + +### Depends on + +- [dnn-action-edit-item](../../actions/dnn-action-edit-item) +- [dnn-action-move-items](../../actions/dnn-action-move-items) +- [dnn-action-delete-items](../../actions/dnn-action-delete-items) +- [dnn-action-download-item](../../actions/dnn-action-download-item) +- [dnn-action-copy-url](../../actions/dnn-action-copy-url) + +### Graph +```mermaid +graph TD; + dnn-rm-file-context-menu --> dnn-action-edit-item + dnn-rm-file-context-menu --> dnn-action-move-items + dnn-rm-file-context-menu --> dnn-action-delete-items + dnn-rm-file-context-menu --> dnn-action-download-item + dnn-rm-file-context-menu --> dnn-action-copy-url + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-action-move-items --> dnn-modal + dnn-action-move-items --> dnn-rm-move-items + dnn-rm-move-items --> dnn-rm-folder-list + dnn-rm-move-items --> dnn-rm-progress-bar + dnn-rm-move-items --> dnn-button + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-collapsible + dnn-rm-folder-list-item --> dnn-rm-folder-context-menu + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-rm-folder-context-menu --> dnn-action-create-folder + dnn-rm-folder-context-menu --> dnn-action-edit-item + dnn-rm-folder-context-menu --> dnn-action-move-items + dnn-rm-folder-context-menu --> dnn-action-delete-items + dnn-rm-folder-context-menu --> dnn-action-unlink-items + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-treeview-item --> dnn-collapsible + dnn-rm-items-cardview --> dnn-rm-file-context-menu + dnn-rm-items-listview --> dnn-rm-file-context-menu + style dnn-rm-file-context-menu fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/dnn-rm-folder-context-menu.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/dnn-rm-folder-context-menu.tsx new file mode 100644 index 00000000000..b7bd1b669c2 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/dnn-rm-folder-context-menu.tsx @@ -0,0 +1,38 @@ +import { Component, Host, h, Prop } from '@stencil/core'; +import { Item } from '../../../services/ItemsClient'; +import state from '../../../store/store'; + +@Component({ + tag: 'dnn-rm-folder-context-menu', + styleUrl: '../context-menu.scss', + shadow: true, +}) +export class DnnRmFolderContextMenu { + + /** The item that triggered this menu. */ + @Prop() item!: Item; + + render() { + return ( + + {state.currentItems?.hasAddFoldersPermission && + + } + {state.currentItems?.hasManagePermission && + + } + {state.currentItems?.hasDeletePermission && + [ + + , + + ] + } + {state.currentItems.hasDeletePermission && this.item.unlinkAllowedStatus != "false" && + + } + + ); + } + +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/readme.md new file mode 100644 index 00000000000..6d6adb3ccad --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/context-menus/dnn-rm-folder-context-menu/readme.md @@ -0,0 +1,81 @@ +# dnn-rm-folder-context-menu + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ------------------- | --------- | ---------------------------------- | ------ | ----------- | +| `item` _(required)_ | -- | The item that triggered this menu. | `Item` | `undefined` | + + +## Dependencies + +### Used by + + - [dnn-rm-folder-list-item](../../dnn-rm-folder-list-item) + - [dnn-rm-items-cardview](../../dnn-rm-items-cardview) + - [dnn-rm-items-listview](../../dnn-rm-items-listview) + +### Depends on + +- [dnn-action-create-folder](../../actions/dnn-action-create-folder) +- [dnn-action-edit-item](../../actions/dnn-action-edit-item) +- [dnn-action-move-items](../../actions/dnn-action-move-items) +- [dnn-action-delete-items](../../actions/dnn-action-delete-items) +- [dnn-action-unlink-items](../../actions/dnn-action-unlink-items) + +### Graph +```mermaid +graph TD; + dnn-rm-folder-context-menu --> dnn-action-create-folder + dnn-rm-folder-context-menu --> dnn-action-edit-item + dnn-rm-folder-context-menu --> dnn-action-move-items + dnn-rm-folder-context-menu --> dnn-action-delete-items + dnn-rm-folder-context-menu --> dnn-action-unlink-items + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-action-move-items --> dnn-modal + dnn-action-move-items --> dnn-rm-move-items + dnn-rm-move-items --> dnn-rm-folder-list + dnn-rm-move-items --> dnn-rm-progress-bar + dnn-rm-move-items --> dnn-button + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-rm-folder-context-menu + dnn-treeview-item --> dnn-collapsible + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-rm-items-cardview --> dnn-rm-folder-context-menu + dnn-rm-items-listview --> dnn-rm-folder-context-menu + style dnn-rm-folder-context-menu fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss new file mode 100644 index 00000000000..9eb1d293f94 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.scss @@ -0,0 +1,54 @@ +:host { + display: block; + width:100%; +} + +.container{ + border: 1px solid lightgray; + display:flex; + flex-direction: column; + dnn-vertical-splitview{ + width: 100%; + height: 400px; + --left-pane-background-color: lightgray; + --right-pane-background-color: white; + .splitter{ + display: flex; + align-items: center; + box-shadow: inset 8px 0 8px -8px grey; + height: 100%; + button{ + margin: 0; + padding: 0; + width: 32px; + height: 32px; + border: 1px solid lightgray; + border-radius: 50%; + background-color: white; + box-shadow: 2px 2px 4px rgba(0,0,0,0.2); + position: relative; + left: -12px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + svg{ + transition: all 300ms ease-in-out; + } + &.expanded{ + svg{ + transform: rotate(180deg); + } + } + } + } + .folder-mappings{ + position: absolute; + bottom: 0; + left: 0; + border: 0; + background-color: transparent; + cursor: pointer; + } + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx new file mode 100644 index 00000000000..29c69db03be --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/dnn-resource-manager.tsx @@ -0,0 +1,97 @@ +import { Component, Element, Host, h, State, Watch, Prop } from '@stencil/core'; +import state from "../../store/store"; +import { LocalizationClient } from "../../services/LocalizationClient"; +import { sortField } from '../../enums/SortField'; + +const localStorageSplitWidthKey = "dnn-resource-manager-last-folders-width"; +@Component({ + tag: 'dnn-resource-manager', + styleUrl: 'dnn-resource-manager.scss', + shadow: true, +}) +export class DnnResourceManager { + + /** The ID of the module. */ + @Prop() moduleId!: number; + + constructor() { + state.moduleId = this.moduleId; + this.localizationClient = new LocalizationClient(this.moduleId); + } + + @Element() el: HTMLDnnResourceManagerElement; + + @State() foldersExpanded = true; + + @Watch("foldersExpanded") async foldersExpandedChanged(expanded: boolean){ + const lastWidth = parseFloat(localStorage.getItem(localStorageSplitWidthKey)) || 30; + if (expanded){ + this.splitView.setSplitWidthPercentage(lastWidth); + return; + } + + this.splitView.setSplitWidthPercentage(0); + } + + + componentWillLoad() { + return new Promise((resolve, reject) => { + this.localizationClient.getResources() + .then(resources => + { + state.localization = resources; + state.sortField = sortField.itemName; + resolve(); + }) + .catch(error => { + console.error(error); + reject(); + }); + }) + } + + private splitView: HTMLDnnVerticalSplitviewElement; + private localizationClient: LocalizationClient; + private folderMappingsModal: HTMLDnnModalElement; + + private handleSplitWidthChanged(event: CustomEvent){ + if (event.detail != 0){ + localStorage.setItem(localStorageSplitWidthKey, event.detail.toString()); + } + } + + render() { + return ( + +
        + + this.splitView = el} + onWidthChanged={this.handleSplitWidthChanged} + > +
        + +
        + + + +
        + this.folderMappingsModal = el}> + + +
        +
        + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md new file mode 100644 index 00000000000..c455ce4296d --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-resource-manager/readme.md @@ -0,0 +1,118 @@ +# dnn-resource-manager + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| ----------------------- | ----------- | --------------------- | -------- | ----------- | +| `moduleId` _(required)_ | `module-id` | The ID of the module. | `number` | `undefined` | + + +## Dependencies + +### Depends on + +- [dnn-rm-top-bar](../dnn-rm-top-bar) +- dnn-vertical-splitview +- [dnn-rm-left-pane](../dnn-rm-left-pane) +- [dnn-rm-right-pane](../dnn-rm-right-pane) +- dnn-modal +- [dnn-rm-folder-mappings](../dnn-rm-folder-mappings) + +### Graph +```mermaid +graph TD; + dnn-resource-manager --> dnn-rm-top-bar + dnn-resource-manager --> dnn-vertical-splitview + dnn-resource-manager --> dnn-rm-left-pane + dnn-resource-manager --> dnn-rm-right-pane + dnn-resource-manager --> dnn-modal + dnn-resource-manager --> dnn-rm-folder-mappings + dnn-rm-top-bar --> dnn-searchbox + dnn-rm-left-pane --> dnn-rm-folder-list + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-collapsible + dnn-rm-folder-list-item --> dnn-rm-folder-context-menu + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-rm-folder-context-menu --> dnn-action-create-folder + dnn-rm-folder-context-menu --> dnn-action-edit-item + dnn-rm-folder-context-menu --> dnn-action-move-items + dnn-rm-folder-context-menu --> dnn-action-delete-items + dnn-rm-folder-context-menu --> dnn-action-unlink-items + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-action-move-items --> dnn-modal + dnn-action-move-items --> dnn-rm-move-items + dnn-rm-move-items --> dnn-rm-folder-list + dnn-rm-move-items --> dnn-rm-progress-bar + dnn-rm-move-items --> dnn-button + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-treeview-item --> dnn-collapsible + dnn-rm-right-pane --> dnn-rm-actions-bar + dnn-rm-right-pane --> dnn-rm-files-pane + dnn-rm-right-pane --> dnn-rm-status-bar + dnn-rm-actions-bar --> dnn-vertical-overflow-menu + dnn-rm-actions-bar --> dnn-action-create-folder + dnn-rm-actions-bar --> dnn-action-upload-file + dnn-rm-actions-bar --> dnn-action-edit-item + dnn-rm-actions-bar --> dnn-action-move-items + dnn-rm-actions-bar --> dnn-action-delete-items + dnn-rm-actions-bar --> dnn-action-unlink-items + dnn-rm-actions-bar --> dnn-action-copy-url + dnn-rm-actions-bar --> dnn-action-download-item + dnn-rm-actions-bar --> dnn-collapsible + dnn-action-upload-file --> dnn-modal + dnn-action-upload-file --> dnn-rm-upload-file + dnn-rm-upload-file --> dnn-checkbox + dnn-rm-upload-file --> dnn-dropzone + dnn-rm-upload-file --> dnn-rm-queued-file + dnn-rm-queued-file --> dnn-button + dnn-rm-files-pane --> dnn-rm-items-listview + dnn-rm-files-pane --> dnn-rm-items-cardview + dnn-rm-items-listview --> dnn-rm-folder-context-menu + dnn-rm-items-listview --> dnn-rm-file-context-menu + dnn-rm-items-listview --> dnn-collapsible + dnn-rm-file-context-menu --> dnn-action-edit-item + dnn-rm-file-context-menu --> dnn-action-move-items + dnn-rm-file-context-menu --> dnn-action-delete-items + dnn-rm-file-context-menu --> dnn-action-download-item + dnn-rm-file-context-menu --> dnn-action-copy-url + dnn-rm-items-cardview --> dnn-collapsible + dnn-rm-items-cardview --> dnn-rm-folder-context-menu + dnn-rm-items-cardview --> dnn-rm-file-context-menu + dnn-rm-folder-mappings --> dnn-button + style dnn-resource-manager fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss new file mode 100644 index 00000000000..72d07bd8c1c --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.scss @@ -0,0 +1,62 @@ +:host { + display: flex; + align-items: center; + box-shadow: 0px 4px 8px -4px black; +} +button{ + padding:0; + margin:0; + background-color: transparent; + display: flex; + align-items: center; + border:0; + padding:0; + margin:0; + cursor: pointer; + svg{ + fill: var(--dnn-color-primary); + } +} +.right-controls{ + display: flex; + margin: 0 1em; + gap: 1em; + .sort,.sync{ + position: relative; + dnn-collapsible{ + position: absolute; + top: 100%; + right: 0; + background-color: white;; + &[expanded]{ + border: 1px solid lightgray; + box-shadow: 2px 2px 4px -2px; + } + .dropdown{ + display: flex; + flex-direction: column; + background-color: white;; + button{ + background-color:transparent; + border: none; + padding: 0.5em 1em; + margin: 0; + border-bottom: 1px solid lightgray; + white-space: nowrap; + svg{ + height: 1em; + width: 1em; + margin-right: 0.5em; + } + } + } + } + } +} +dnn-vertical-overflow-menu{ + flex-grow: 1; + margin-left:24px; +} +dnn-collapsible{ + z-index: 1; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx new file mode 100644 index 00000000000..935bdbefa97 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/dnn-rm-actions-bar.tsx @@ -0,0 +1,220 @@ +import { Component, Host, h, State } from '@stencil/core'; +import state from '../../store/store'; +import { sortField, SortFieldInfo } from "../../enums/SortField"; +import { InternalServicesClient } from '../../services/InternalServicesClient'; +import { ItemsClient } from '../../services/ItemsClient'; +@Component({ + tag: 'dnn-rm-actions-bar', + styleUrl: 'dnn-rm-actions-bar.scss', + shadow: true, +}) +export class DnnRmActionsBar { + + @State() sortDropdownExpanded: boolean = false; + @State() syncDropdownExpanded: boolean = false; + + private internalServicesClient: InternalServicesClient; + private itemsClient: ItemsClient; + + constructor(){ + this.internalServicesClient = new InternalServicesClient(state.moduleId); + this.itemsClient = new ItemsClient(state.moduleId); + } + + private changeLayout(): void { + if (state.layout == "card"){ + state.layout = "list"; + return; + } + + state.layout = "card"; + } + + private renderSortButton(sortOption: SortFieldInfo){ + return( + + ); + } + + private renderRadioButton(checked = false){ + if (checked){ + return + } + else{ + return + } + } + + private syncFolderContent(recursive: boolean = false): void { + this.itemsClient.syncFolderContent( + state.currentItems.folder.folderId, + 0, + state.sortField, + recursive) + .then(() => { + this.getFolderContent(); + }) + .catch(error => console.log(error)); + } + + + private getFolderContent() { + this.getFolders() + .then(() => { + this.itemsClient.getFolderContent( + state.currentItems.folder.folderId, + 0, + state.pageSize, + state.sortField) + .then(data => state.currentItems = data) + .catch(error => console.error(error)); + }) + .catch(error => alert(error.Message)); + } + + private getFolders() { + return new Promise((resolve, reject) => { + this.internalServicesClient.getFolders() + .then(data => { + state.rootFolders = data; + resolve(data); + }) + .catch(reason => reject(reason)); + }); + } + + render() { + return ( + + + {state.selectedItems && state.selectedItems.length == 0 && state.currentItems && state.currentItems.hasAddFoldersPermission && + + } + {state.selectedItems && state.selectedItems.length == 0 && state.currentItems && state.currentItems.hasAddFilesPermission && + + } + {state.selectedItems.length == 1 && + // A single item is currently selected + state.currentItems.hasManagePermission && + + } + {state.selectedItems.length > 0 && + // One or multiple items are currently selected + state.currentItems.hasDeletePermission && + [ + + , + + ] + } + {state.selectedItems.length > 0 && state.selectedItems.every(i => i.isFolder && i.unlinkAllowedStatus && i.unlinkAllowedStatus != "false") && + + } + {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && location.protocol == "https:" && + + } + {state.selectedItems.length == 1 && !state.selectedItems[0].isFolder && + + } + +
        + {state.selectedItems.length > 0 && + + } +
        + + + + +
        +
        + + + + +
        + +
        +
        + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md new file mode 100644 index 00000000000..33d497771bc --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-actions-bar/readme.md @@ -0,0 +1,95 @@ +# dnn-rm-actions-bar + + + + + + +## Dependencies + +### Used by + + - [dnn-rm-right-pane](../dnn-rm-right-pane) + +### Depends on + +- dnn-vertical-overflow-menu +- [dnn-action-create-folder](../actions/dnn-action-create-folder) +- [dnn-action-upload-file](../actions/dnn-action-upload-file) +- [dnn-action-edit-item](../actions/dnn-action-edit-item) +- [dnn-action-move-items](../actions/dnn-action-move-items) +- [dnn-action-delete-items](../actions/dnn-action-delete-items) +- [dnn-action-unlink-items](../actions/dnn-action-unlink-items) +- [dnn-action-copy-url](../actions/dnn-action-copy-url) +- [dnn-action-download-item](../actions/dnn-action-download-item) +- dnn-collapsible + +### Graph +```mermaid +graph TD; + dnn-rm-actions-bar --> dnn-vertical-overflow-menu + dnn-rm-actions-bar --> dnn-action-create-folder + dnn-rm-actions-bar --> dnn-action-upload-file + dnn-rm-actions-bar --> dnn-action-edit-item + dnn-rm-actions-bar --> dnn-action-move-items + dnn-rm-actions-bar --> dnn-action-delete-items + dnn-rm-actions-bar --> dnn-action-unlink-items + dnn-rm-actions-bar --> dnn-action-copy-url + dnn-rm-actions-bar --> dnn-action-download-item + dnn-rm-actions-bar --> dnn-collapsible + dnn-action-create-folder --> dnn-modal + dnn-action-create-folder --> dnn-rm-create-folder + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-upload-file --> dnn-modal + dnn-action-upload-file --> dnn-rm-upload-file + dnn-rm-upload-file --> dnn-checkbox + dnn-rm-upload-file --> dnn-dropzone + dnn-rm-upload-file --> dnn-rm-queued-file + dnn-rm-queued-file --> dnn-button + dnn-action-edit-item --> dnn-modal + dnn-action-edit-item --> dnn-rm-edit-folder + dnn-action-edit-item --> dnn-rm-edit-file + dnn-rm-edit-folder --> dnn-tabs + dnn-rm-edit-folder --> dnn-tab + dnn-rm-edit-folder --> dnn-permissions-grid + dnn-rm-edit-folder --> dnn-button + dnn-permissions-grid --> dnn-checkbox + dnn-permissions-grid --> dnn-button + dnn-permissions-grid --> dnn-searchbox + dnn-permissions-grid --> dnn-collapsible + dnn-rm-edit-file --> dnn-tabs + dnn-rm-edit-file --> dnn-tab + dnn-rm-edit-file --> dnn-button + dnn-action-move-items --> dnn-modal + dnn-action-move-items --> dnn-rm-move-items + dnn-rm-move-items --> dnn-rm-folder-list + dnn-rm-move-items --> dnn-rm-progress-bar + dnn-rm-move-items --> dnn-button + dnn-rm-folder-list --> dnn-rm-folder-list-item + dnn-rm-folder-list-item --> dnn-collapsible + dnn-rm-folder-list-item --> dnn-rm-folder-context-menu + dnn-rm-folder-list-item --> dnn-treeview-item + dnn-rm-folder-list-item --> dnn-rm-folder-list-item + dnn-rm-folder-context-menu --> dnn-action-create-folder + dnn-rm-folder-context-menu --> dnn-action-edit-item + dnn-rm-folder-context-menu --> dnn-action-move-items + dnn-rm-folder-context-menu --> dnn-action-delete-items + dnn-rm-folder-context-menu --> dnn-action-unlink-items + dnn-action-delete-items --> dnn-modal + dnn-action-delete-items --> dnn-rm-delete-items + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-action-unlink-items --> dnn-modal + dnn-action-unlink-items --> dnn-rm-unlink-items + dnn-rm-unlink-items --> dnn-rm-progress-bar + dnn-rm-unlink-items --> dnn-button + dnn-treeview-item --> dnn-collapsible + dnn-rm-right-pane --> dnn-rm-actions-bar + style dnn-rm-actions-bar fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.scss new file mode 100644 index 00000000000..898f5863232 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.scss @@ -0,0 +1,19 @@ +:host { + display: block; +} + +.form{ + label{ + font-weight: bold; + margin-top: 0.5em; + } + display: grid; + grid-template-columns: 1fr; +} + +.controls{ + margin-top: 2em; + display: flex; + justify-content: flex-end; + gap: 1em; +} \ No newline at end of file diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.tsx new file mode 100644 index 00000000000..6df3fca6c12 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/dnn-rm-create-folder.tsx @@ -0,0 +1,166 @@ +import { Component, Host, h, Element, State, Event, EventEmitter } from '@stencil/core'; +import { CreateNewFolderRequest, FolderMappingInfo, ItemsClient } from '../../services/ItemsClient'; +import state from '../../store/store'; + +@Component({ + tag: 'dnn-rm-create-folder', + styleUrl: 'dnn-rm-create-folder.scss', + shadow: true, +}) +export class DnnRmCreateFolder { + + /** + * Fires when there is a possibility that some folders have changed. + * Can be used to force parts of the UI to refresh. + */ + @Event() dnnRmFoldersChanged: EventEmitter; + + @Element() el : HTMLDnnRmCreateFolderElement + + @State() folderMappings: FolderMappingInfo[]; + + @State() newFolderRequest: CreateNewFolderRequest = { + FolderMappingId: -1, + FolderName: "", + ParentFolderId: state.currentItems.folder.folderId, + } + + private readonly itemsClient: ItemsClient; + private nameField: HTMLInputElement; + + constructor(){ + this.itemsClient = new ItemsClient(state.moduleId); + } + + componentWillLoad() { + this.itemsClient.getFolderMappings() + .then(data => { + this.folderMappings = data.sort((a, b) => a.FolderMappingID - b.FolderMappingID); + this.newFolderRequest = { + ...this.newFolderRequest, + FolderMappingId: this.folderMappings[0].FolderMappingID, + ParentFolderId: state.currentItems.folder.folderId, + }; + }) + .catch(reason => console.error(reason)); + } + + componentDidLoad() { + setTimeout(() => { + this.nameField.focus(); + }, 350); + } + + private handleCancel(): void { + const modal = this.el.parentElement as HTMLDnnModalElement; + modal.hide().then(() => { + setTimeout(() => { + document.body.removeChild(modal); + }, 300); + }); + } + + private handleTypeChanged(e: Event): void { + const select = e.target as HTMLSelectElement; + const option = select.options[select.selectedIndex] as HTMLOptionElement; + const newValue = Number.parseInt(option.value); + this.newFolderRequest = { + ...this.newFolderRequest, + FolderMappingId: newValue, + }; + } + + private handleSave(): void { + this.itemsClient.createNewFolder(this.newFolderRequest) + .then(() => { + this.dnnRmFoldersChanged.emit(); + state.currentItems = { + ...state.currentItems, + items: [], + }; + const modal = this.el.parentElement as HTMLDnnModalElement; + modal.hide().then(() => { + setTimeout(() => { + document.body.removeChild(modal); + }, 300); + }); + }) + .catch(error => alert(error)); + } + + private canChooseFolderProvider() { + return this.folderMappings && + this.folderMappings.find(f => f.FolderMappingID == state.currentItems.folder.folderMappingId).IsDefault; + } + + render() { + return ( + +

        {state.localization.AddFolder}

        +
        + {state.currentItems.folder.folderName.length > 0 &&[ + , + {state.currentItems.folder.folderName} + ]} + + this.nameField = el} + value={this.newFolderRequest.FolderName} + onInput={e => this.newFolderRequest = { + ...this.newFolderRequest, + FolderName: (e.target as HTMLInputElement).value, + }} + /> + {!this.newFolderRequest.FolderName && + {state.localization.FolderNameRequiredMessage} + } + {this.canChooseFolderProvider() && + [ + , + + ] + } + {this.canChooseFolderProvider() && this.folderMappings.find(m => m.FolderMappingID == this.newFolderRequest.FolderMappingId).IsDefault == false &&[ + , + this.newFolderRequest = { + ...this.newFolderRequest, + MappedName: (e.target as HTMLInputElement).value, + }} + /> + ]} +
        +
        + this.handleCancel()} + > + {state.localization.Cancel} + + this.handleSave()} + > + {state.localization.Save} + +
        +
        + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/readme.md new file mode 100644 index 00000000000..be5ce70478c --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-create-folder/readme.md @@ -0,0 +1,37 @@ +# dnn-rm-edit-folder + + + + + + +## Events + +| Event | Description | Type | +| --------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------- | +| `dnnRmFoldersChanged` | Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. | `CustomEvent` | + + +## Dependencies + +### Used by + + - [dnn-action-create-folder](../actions/dnn-action-create-folder) + +### Depends on + +- dnn-button + +### Graph +```mermaid +graph TD; + dnn-rm-create-folder --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-create-folder --> dnn-rm-create-folder + style dnn-rm-create-folder fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.scss new file mode 100644 index 00000000000..ee2702875fa --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.scss @@ -0,0 +1,42 @@ +:host { + display: block; +} +.general{ + display: flex; + .left{ + max-width: 256px; + border-right: 1px solid lightgray; + padding: 1em; + img{ + width: 100%; + } + } + .right{ + padding: 1em; + } +} + +.form{ + display: grid; + grid-template-columns: 1fr 2fr; + align-items: flex-end; + label{ + font-weight: bold; + text-align: right; + margin-right: 0.5em; + &::after{ + content: ':'; + } + align-self: flex-start; + } + input, textarea{ + margin-top: 0.5em; + } +} + +.controls{ + margin-top: 2em; + display: flex; + justify-content: flex-end; + gap: 1em; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.tsx new file mode 100644 index 00000000000..5f62c1b59f2 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/dnn-rm-delete-items.tsx @@ -0,0 +1,116 @@ +import { Component, Element, Event, EventEmitter, Host, h, Prop, State } from '@stencil/core'; +import { Item, ItemsClient } from '../../services/ItemsClient'; +import state from '../../store/store'; + +@Component({ + tag: 'dnn-rm-delete-items', + styleUrl: 'dnn-rm-delete-items.scss', + shadow: true, +}) +export class DnnRmDeleteItems { + + /** The list of items to delete. */ + @Prop() items!: Item[]; + + /** + * Fires when there is a possibility that some folders have changed. + * Can be used to force parts of the UI to refresh. + */ + @Event() dnnRmFoldersChanged: EventEmitter; + + @Element() el: HTMLDnnRmDeleteItemsElement; + + @State() deleting: boolean; + @State() deletedCount: number = 0; + @State() currentItemName: string; + + private itemsClient: ItemsClient; + + constructor() { + this.itemsClient = new ItemsClient(state.moduleId); + } + + private closeModal(): void { + const modal = this.el.parentElement as HTMLDnnModalElement; + modal.hide().then(() => { + setTimeout(() => { + document.body.removeChild(modal); + }, 300); + }); + } + + private handleDelete(): void { + this.deleting = true; + this.items.forEach(item => { + if (item.isFolder){ + this.itemsClient.deleteFolder({ + FolderId: item.itemId, + UnlinkAllowedStatus: false, + }) + .then(() => { + this.handleItemDeleted(item); + }) + .catch(reason => alert(reason)); + } + else { + this.itemsClient.deleteFile({ + FileId: item.itemId, + }) + .then(() => { + this.handleItemDeleted(item); + }) + .catch(reason => alert(reason)); + } + }); + } + + handleItemDeleted(item: Item) { + this.deletedCount++; + this.currentItemName = item.itemName; + if (this.deletedCount == this.items.length) { + this.deleting = false; + this.dnnRmFoldersChanged.emit(); + this.closeModal(); + } + } + + render() { + return ( + +

        {state.localization?.DeleteItems}

        +

        {state.localization?.ConfirmDeleteMessage}

        +
          + {this.items.map(item => ( +
        • {item.itemName}
        • + ))} +
        + {this.deleting && +
        +

        {state.localization?.DeletingItems} {this.deletedCount+1}/{state.selectedItems.length} ({this.currentItemName})

        + +
        + } +
        + this.closeModal()} + > + {state.localization.Cancel} + + this.handleDelete()} + disabled={this.deleting} + > + {state.localization?.Delete} + +
        +
        + ); + } +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/readme.md b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/readme.md new file mode 100644 index 00000000000..a3e59256013 --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-delete-items/readme.md @@ -0,0 +1,46 @@ +# dnn-rm-edit-file + + + + + + +## Properties + +| Property | Attribute | Description | Type | Default | +| -------------------- | --------- | ---------------------------- | -------- | ----------- | +| `items` _(required)_ | -- | The list of items to delete. | `Item[]` | `undefined` | + + +## Events + +| Event | Description | Type | +| --------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------- | +| `dnnRmFoldersChanged` | Fires when there is a possibility that some folders have changed. Can be used to force parts of the UI to refresh. | `CustomEvent` | + + +## Dependencies + +### Used by + + - [dnn-action-delete-items](../actions/dnn-action-delete-items) + +### Depends on + +- [dnn-rm-progress-bar](../dnn-rm-progress-bar) +- dnn-button + +### Graph +```mermaid +graph TD; + dnn-rm-delete-items --> dnn-rm-progress-bar + dnn-rm-delete-items --> dnn-button + dnn-button --> dnn-modal + dnn-button --> dnn-button + dnn-action-delete-items --> dnn-rm-delete-items + style dnn-rm-delete-items fill:#f9f,stroke:#333,stroke-width:4px +``` + +---------------------------------------------- + +*Built with [StencilJS](https://stenciljs.com/)* diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.scss b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.scss new file mode 100644 index 00000000000..ee2702875fa --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.scss @@ -0,0 +1,42 @@ +:host { + display: block; +} +.general{ + display: flex; + .left{ + max-width: 256px; + border-right: 1px solid lightgray; + padding: 1em; + img{ + width: 100%; + } + } + .right{ + padding: 1em; + } +} + +.form{ + display: grid; + grid-template-columns: 1fr 2fr; + align-items: flex-end; + label{ + font-weight: bold; + text-align: right; + margin-right: 0.5em; + &::after{ + content: ':'; + } + align-self: flex-start; + } + input, textarea{ + margin-top: 0.5em; + } +} + +.controls{ + margin-top: 2em; + display: flex; + justify-content: flex-end; + gap: 1em; +} diff --git a/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.tsx b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.tsx new file mode 100644 index 00000000000..13ecabceefd --- /dev/null +++ b/DNN Platform/Modules/ResourceManager/ResourceManager.Web/src/components/dnn-rm-edit-file/dnn-rm-edit-file.tsx @@ -0,0 +1,146 @@ +import { Component, Element, Event, EventEmitter, Host, h, Prop, State } from '@stencil/core'; +import state from '../../store/store'; +import { FileDetails, ItemsClient, SaveFileDetailsRequest } from '../../services/ItemsClient'; + +@Component({ + tag: 'dnn-rm-edit-file', + styleUrl: 'dnn-rm-edit-file.scss', + shadow: true, +}) +export class DnnRmEditFile { + + /** The ID of the folder to edit. */ + @Prop() fileId!: number; + + /** + * Fires when there is a possibility that some folders have changed. + * Can be used to force parts of the UI to refresh. + */ + @Event() dnnRmFoldersChanged: EventEmitter; + + @Element() el: HTMLDnnRmEditFolderElement; + @State() fileDetails: FileDetails; + + private itemsClient: ItemsClient; + + constructor() { + this.itemsClient = new ItemsClient(state.moduleId); + } + + componentWillLoad(){ + this.itemsClient.getFileDetails(this.fileId) + .then(fileDetails => { + this.fileDetails = fileDetails; + }) + .catch(reason => alert(reason)); + } + + private closeModal(): void { + const modal = this.el.parentElement as HTMLDnnModalElement; + modal.hide().then(() => { + setTimeout(() => { + document.body.removeChild(modal); + }, 300); + }); + } + + private handleSave(): void { + const request: SaveFileDetailsRequest = { + fileId: this.fileId, + fileName: this.fileDetails.fileName, + title: this.fileDetails.title, + description: this.fileDetails.description, + }; + this.itemsClient.saveFileDetails(request) + .then(() => this.closeModal()) + .catch(reason => alert(reason)); + } + + render() { + return ( + +

        {state.localization?.Edit}

        + + +
        +
        + {this.fileDetails && this.fileDetails.iconUrl && + + } + {this.fileDetails && +
        + + {this.fileDetails.fileId} + + + {this.fileDetails.createdBy} + + + {this.fileDetails.createdOnDate} + + + {this.fileDetails.lastModifiedBy} + + + {this.fileDetails.lastModifiedOnDate} +
        + } +
        +
        +
        + + + this.fileDetails = { + ...this.fileDetails, + fileName: (e.target as HTMLInputElement).value, + } + } + /> + + + + this.fileDetails = { + ...this.fileDetails, + title: (e.target as HTMLInputElement).value.substring(0, 255), + } + } + /> + + + - - -

        MIME types defined: application/x-slim.

        - -

        - Parsing/Highlighting Tests: - normal, - verbose. -

        - + + +CodeMirror: SLIM mode + + + + + + + + + + + + + + + + + + + + +
        +

        SLIM mode

        +
        + + +

        MIME types defined: application/x-slim.

        + +

        + Parsing/Highlighting Tests: + normal, + verbose. +

        +
        diff --git a/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.js b/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.js index a1e500961d3..4f4d8d0ea3f 100644 --- a/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.js +++ b/DNN Platform/Website/Resources/Shared/components/ComposeMessage/ComposeMessage.js @@ -1,339 +1,339 @@ -(function ($) { - $.fn.dnnComposeMessage = function (options) { - var opts = $.extend({}, $.fn.dnnComposeMessage.defaultOptions, options), - $wrap = $(opts.openTriggerScope), - html, - composeMessageDialog, - canSend = false, - users = [], - roles = [], - attachments = []; - - opts.serviceurlbase = opts.servicesFramework.getServiceRoot('InternalServices') + 'MessagingService/'; - - //construct the form - html = "
        "; - html += "
        "; - html += "
        "; - html += "
        "; - - if (opts.showAttachments) { - html += "
        " + opts.attachmentsText + "
          "; - html += "
          "; - html += "
          "; - - opts.userFileManagerOptions.openTriggerSelector = '#fileFromSite'; - opts.userFileManagerOptions.attachCallback = attachFile; - } - - html += "
          "; - - function getWaitTimeForNextMessage() { - var returnValue = 0; // If the request fails, just return 0 - $.ajax({ - url: opts.serviceurlbase + "WaitTimeForNextMessage", - async: false, - cache: false // Important. IE is caching this call, so we need to explicitly set it to false - }).done(function (data) { - if (data.Result === "success") { - returnValue = data.Value; - } - }); - return returnValue; - }; - function updateSendButtonStatus() { - var sendButton = composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button:first'); - if ((users.length > 0 || roles.length > 0) && composeMessageDialog.find('#subject').val().trim().length > 0 && canSend) { - sendButton.removeAttr('disabled').removeClass('disabled'); - } else { - sendButton.attr('disabled', 'disabled').addClass('disabled'); - } - }; - function displayMessage(placeHolderElement, message) { - var messageNode = $("
          ") - .addClass('dnnFormMessage dnnFormWarning') - .text(message); - - placeHolderElement.prepend(messageNode); - - messageNode.fadeOut(3000, 'easeInExpo', function () { - messageNode.remove(); - }); - }; - function attachFile(file) { - if ($.inArray(file.id, attachments) === -1) { - attachments.push(file.id); - composeMessageDialog.find('.messageAttachments ul').append('
        • ' + file.name + '
        • '); - composeMessageDialog.find('.messageAttachments li:last-child .removeAttachment').click(function () { - var index = $.inArray(file.id, attachments); - if (index !== -1) { - attachments.splice(index, 1); - $(this).parent().remove(); - } - return false; - }); - } - }; - $wrap.delegate(opts.openTriggerSelector, 'click', function (e) { - - if (opts.canTrigger && !opts.canTrigger()) { - return; - } - - e.preventDefault(); - e.stopPropagation(); - - var autoclose, - messageId = -1; - - // Reset variable values - canSend = false; - users = []; - roles = []; - attachments = []; - - composeMessageDialog = $("
          ").html(html).dialog(opts); - - if (opts.showAttachments && !$wrap.data('fileManagerInitialized')) { - // we only need to initialize this plugin once, doing so more than once will lead to multiple dialogs. - // this is because the #userFileManager element is never destroyed when the compose message dialog is closed. - composeMessageDialog.find('#userFileManager').userFileManager(opts.userFileManagerOptions); - - $wrap.data('fileManagerInitialized', true); - } - - if ($.fn.dnnUserFileUpload && typeof $.fn.dnnUserFileUpload === "function") { - composeMessageDialog.find('.fileUploadArea').dnnUserFileUpload({ - maxFileSize: opts.maxFileSize, - serverErrorMessage: opts.serverErrorText, - addImageServiceUrl: opts.servicesFramework.getServiceRoot('CoreMessaging') + 'FileUpload/UploadFile', - beforeSend: opts.servicesFramework.setModuleHeaders, - callback: attachFile, - complete: function() { - composeMessageDialog.find('.fileUploadArea input:file').data("wrapper").get(0).childNodes[0].nodeValue = opts.uploadText; - } - }); - } - - composeMessageDialog.find('#to').tokenInput(opts.serviceurlbase + "Search", { - // We can set the tokenLimit here - theme: "facebook", - resultsFormatter: function (item) { - if (item.id.startsWith("user-")) { - return "
        • " + item.name + "
        • "; - } else if (item.id.startsWith("role-")) { - return "
        • " + item.name + "
        • "; - } - return "
        • " + item[this.propertyToSearch] + "
        • "; // Default formatter - }, - minChars: 2, - preventDuplicates: true, - hintText: '', - noResultsText: opts.noResultsText, - searchingText: opts.searchingText, - onAdd: function (item) { - if (item.id.startsWith("user-")) { - users.push(item.id.substring(5)); - } else if (item.id.startsWith("role-")) { - roles.push(item.id.substring(5)); - } - updateSendButtonStatus(); - }, - onDelete: function (item) { - var array = item.id.startsWith("user-") ? users : roles, - id = item.id.substring(5), - index = $.inArray(id, array); - - if (index !== -1) { - array.splice(index, 1); - } - updateSendButtonStatus(); - }, - onError: function (xhr, status) { - displayMessage(composeMessageDialog, opts.autoSuggestErrorText + status); - }, - onReady: function() { - composeMessageDialog.find('input[id^=token-input]').attr('aria-label', 'Token Input'); - } - }); - - composeMessageDialog.find('#subject').keyup(function () { - updateSendButtonStatus(); - }); - - var prePopulatedRecipients = opts.onPrePopulate(this); - - if (prePopulatedRecipients != null) { - var to = composeMessageDialog.find('#to'); - $.each(prePopulatedRecipients, function (index, value) { - to.tokenInput("add", value); - }); - } - - var minWidth = $(window).width() > 650 ? 650 : $(window).width() - 40; - var maxWidth = $(window).width() - minWidth > 40 ? minWidth : $(window).width() - 40; // 36px is padding around the compose box. So we decrease the max width by 40 to show full message box in smaller window, if required. - - composeMessageDialog.dialog({ - maxWidth: maxWidth, - minWidth: minWidth, - modal: true, - resizable: false, - open: function () { - composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane :button').removeClass().addClass('dnnTertiaryAction'); - composeMessageDialog.dialog("widget").find('.ui-dialog-titlebar-close').attr('aria-label', 'Close'); - messageId = -1; - - canSend = false; - var sendButton = composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button:first'); - var timeForNextMessage = getWaitTimeForNextMessage(); - if (timeForNextMessage > 0) { - var throttlingMessage = $('
          ') - .addClass('ThrottlingWarning dnnFormMessage dnnFormWarning') - .text(opts.throttlingText + ' ' + timeForNextMessage + ' sec'); - - composeMessageDialog.prepend(throttlingMessage); - - sendButton.attr('disabled', 'disabled').addClass('disabled'); - var countdown = setInterval(function () { - timeForNextMessage--; - if (timeForNextMessage == 0) { - canSend = true; - throttlingMessage.remove(); - if (composeMessageDialog.find('#to').val().trim().length > 0 && composeMessageDialog.find('#subject').val().trim().length > 0) { - sendButton.removeAttr('disabled').removeClass('disabled'); - } - clearInterval(countdown); - } else { - throttlingMessage.text(opts.throttlingText + ' ' + timeForNextMessage + ' sec'); - } - }, 1000); - } else { - canSend = true; - sendButton.attr('disabled', 'disabled').addClass('disabled'); - } - - if (prePopulatedRecipients != null) { - composeMessageDialog.find('#subject').focus(); - } - - composeMessageDialog.find('.fileUploadArea input').dnnFileInput(); - }, - close: function(event, ui) { - composeMessageDialog.destroy(); - }, - buttons: [ - { - text: opts.sendText, - click: function () { - var params = { - subject: encodeURIComponent(composeMessageDialog.find('#subject').val()), - body: encodeURIComponent(composeMessageDialog.find('#bodytext').val()), - roleIds: JSON.stringify(roles), - userIds: JSON.stringify(users), - fileIds: JSON.stringify(attachments) - }; - $.ajax( - { - url: opts.serviceurlbase + "Create", - type: "POST", - data: JSON.stringify(params), - contentType: "application/json", - dataType: "json", - beforeSend: opts.servicesFramework.setModuleHeaders - }).done(function (data) { - if (data.Result === "success") { - composeMessageDialog.dialog("option", "title", opts.messageSentTitle); - var dismissThis = $('') // DO NOT USE href="#" IN ORDER TO PREVENT ISSUES WITH IE - .text(' ' + opts.dismissThisText) - .click(function () { - composeMessageDialog.dialog("close"); - }); - var messageSent = $('
          ') - .addClass('MessageSent dnnFormMessage dnnFormSuccess') - .text(opts.messageSentText) - .append(dismissThis); - composeMessageDialog.html(messageSent); - composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button').remove(); - - messageId = data.Value; - autoclose = setInterval(function () { - composeMessageDialog.dialog("close"); - }, opts.msgSentAutoCloseTimeout); - } else { - displayMessage(composeMessageDialog, opts.createMessageErrorText); - } - }).fail(function (xhr, status) { - displayMessage(composeMessageDialog, opts.createMessageErrorWithDescriptionText + eval("(" + xhr.responseText + ")").ExceptionMessage); - }); - } - }, - { - text: opts.cancelText, - click: function () { - $(this).dialog("close"); - } - } - ], - close: function () { - composeMessageDialog.remove(); - if (autoclose != null) { - clearInterval(autoclose); - } - if (messageId != -1 && opts.onMessageSent != null) { - opts.onMessageSent(messageId); - } - } - }); - - composeMessageDialog.dialog('open'); - }); - }; - - $.fn.dnnComposeMessage.defaultOptions = { - openTriggerScope: 'body', // defines parent scope for openTriggerSelector, allows for event delegation - openTriggerSelector: '.ComposeMessage', // opens dialog - onMessageSent: function (messageId) { - // messageId is the identifier of the newly created message - }, - title: 'Compose Message', - toText: 'Send to', - subjectText: 'Subject', - messageText: 'Your Message', - attachmentsText: 'Attachment(s)', - browseText: 'Browse', - uploadText: 'Choose File', - removeText: 'Remove attachment', - sendText: 'Send', - cancelText: 'Cancel', - messageSentTitle: 'Message Sent', - messageSentText: 'Your message has been sent successfully.', - dismissThisText: 'Dismiss this', - dismissAllText: 'Dismiss all', - throttlingText: 'Please wait before sending a new message.', - noResultsText: 'No results', - searchingText: 'Searching...', - createMessageErrorText: 'An error occurred while creating the message. Please try again later.', - createMessageErrorWithDescriptionText: 'An error occurred while creating the message: ', - autoSuggestErrorText: 'An error occurred while getting suggestions: ', - dialogClass: 'dnnFormPopup dnnClear', - autoOpen: false, - showAttachments: false, - onPrePopulate: function (target) { - // params - // target: Is the element which raised the click event that opens the dialog - // returns - // An array of objects with 2 properties: - // id: an string with a prefix based on the type of recipient ("user-" for users and "role-" for roles) and a suffix with the user/role identifier - // name: the displayname in case of users and rolename in case of roles - // example - // var context = ko.contextFor(this); - // var prePopulatedRecipients = [{ id: "user-" + context.$data.UserId(), name: context.$data.DisplayName() }]; - // return prePopulatedRecipients; - - return null; - }, - msgSentAutoCloseTimeout: 3000, - userFileManagerOptions: {} - }; - -} (jQuery)); +(function ($) { + $.fn.dnnComposeMessage = function (options) { + var opts = $.extend({}, $.fn.dnnComposeMessage.defaultOptions, options), + $wrap = $(opts.openTriggerScope), + html, + composeMessageDialog, + canSend = false, + users = [], + roles = [], + attachments = []; + + opts.serviceurlbase = opts.servicesFramework.getServiceRoot('InternalServices') + 'MessagingService/'; + + //construct the form + html = "
          "; + html += "
          "; + html += "
          "; + html += "
          "; + + if (opts.showAttachments) { + html += "
          " + opts.attachmentsText + "
            "; + html += "
            "; + html += "
            "; + + opts.userFileManagerOptions.openTriggerSelector = '#fileFromSite'; + opts.userFileManagerOptions.attachCallback = attachFile; + } + + html += "
            "; + + function getWaitTimeForNextMessage() { + var returnValue = 0; // If the request fails, just return 0 + $.ajax({ + url: opts.serviceurlbase + "WaitTimeForNextMessage", + async: false, + cache: false // Important. IE is caching this call, so we need to explicitly set it to false + }).done(function (data) { + if (data.Result === "success") { + returnValue = data.Value; + } + }); + return returnValue; + }; + function updateSendButtonStatus() { + var sendButton = composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button:first'); + if ((users.length > 0 || roles.length > 0) && composeMessageDialog.find('#subject').val().trim().length > 0 && canSend) { + sendButton.removeAttr('disabled').removeClass('disabled'); + } else { + sendButton.attr('disabled', 'disabled').addClass('disabled'); + } + }; + function displayMessage(placeHolderElement, message) { + var messageNode = $("
            ") + .addClass('dnnFormMessage dnnFormWarning') + .text(message); + + placeHolderElement.prepend(messageNode); + + messageNode.fadeOut(3000, 'easeInExpo', function () { + messageNode.remove(); + }); + }; + function attachFile(file) { + if ($.inArray(file.id, attachments) === -1) { + attachments.push(file.id); + composeMessageDialog.find('.messageAttachments ul').append('
          • ' + file.name + '
          • '); + composeMessageDialog.find('.messageAttachments li:last-child .removeAttachment').click(function () { + var index = $.inArray(file.id, attachments); + if (index !== -1) { + attachments.splice(index, 1); + $(this).parent().remove(); + } + return false; + }); + } + }; + $wrap.delegate(opts.openTriggerSelector, 'click', function (e) { + + if (opts.canTrigger && !opts.canTrigger()) { + return; + } + + e.preventDefault(); + e.stopPropagation(); + + var autoclose, + messageId = -1; + + // Reset variable values + canSend = false; + users = []; + roles = []; + attachments = []; + + composeMessageDialog = $("
            ").html(html).dialog(opts); + + if (opts.showAttachments && !$wrap.data('fileManagerInitialized')) { + // we only need to initialize this plugin once, doing so more than once will lead to multiple dialogs. + // this is because the #userFileManager element is never destroyed when the compose message dialog is closed. + composeMessageDialog.find('#userFileManager').userFileManager(opts.userFileManagerOptions); + + $wrap.data('fileManagerInitialized', true); + } + + if ($.fn.dnnUserFileUpload && typeof $.fn.dnnUserFileUpload === "function") { + composeMessageDialog.find('.fileUploadArea').dnnUserFileUpload({ + maxFileSize: opts.maxFileSize, + serverErrorMessage: opts.serverErrorText, + addImageServiceUrl: opts.servicesFramework.getServiceRoot('CoreMessaging') + 'FileUpload/UploadFile', + beforeSend: opts.servicesFramework.setModuleHeaders, + callback: attachFile, + complete: function() { + composeMessageDialog.find('.fileUploadArea input:file').data("wrapper").get(0).childNodes[0].nodeValue = opts.uploadText; + } + }); + } + + composeMessageDialog.find('#to').tokenInput(opts.serviceurlbase + "Search", { + // We can set the tokenLimit here + theme: "facebook", + resultsFormatter: function (item) { + if (item.id.startsWith("user-")) { + return "
          • " + item.name + "
          • "; + } else if (item.id.startsWith("role-")) { + return "
          • " + item.name + "
          • "; + } + return "
          • " + item[this.propertyToSearch] + "
          • "; // Default formatter + }, + minChars: 2, + preventDuplicates: true, + hintText: '', + noResultsText: opts.noResultsText, + searchingText: opts.searchingText, + onAdd: function (item) { + if (item.id.startsWith("user-")) { + users.push(item.id.substring(5)); + } else if (item.id.startsWith("role-")) { + roles.push(item.id.substring(5)); + } + updateSendButtonStatus(); + }, + onDelete: function (item) { + var array = item.id.startsWith("user-") ? users : roles, + id = item.id.substring(5), + index = $.inArray(id, array); + + if (index !== -1) { + array.splice(index, 1); + } + updateSendButtonStatus(); + }, + onError: function (xhr, status) { + displayMessage(composeMessageDialog, opts.autoSuggestErrorText + status); + }, + onReady: function() { + composeMessageDialog.find('input[id^=token-input]').attr('aria-label', 'Token Input'); + } + }); + + composeMessageDialog.find('#subject').keyup(function () { + updateSendButtonStatus(); + }); + + var prePopulatedRecipients = opts.onPrePopulate(this); + + if (prePopulatedRecipients != null) { + var to = composeMessageDialog.find('#to'); + $.each(prePopulatedRecipients, function (index, value) { + to.tokenInput("add", value); + }); + } + + var minWidth = $(window).width() > 650 ? 650 : $(window).width() - 40; + var maxWidth = $(window).width() - minWidth > 40 ? minWidth : $(window).width() - 40; // 36px is padding around the compose box. So we decrease the max width by 40 to show full message box in smaller window, if required. + + composeMessageDialog.dialog({ + maxWidth: maxWidth, + minWidth: minWidth, + modal: true, + resizable: false, + open: function () { + composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane :button').removeClass().addClass('dnnTertiaryAction'); + composeMessageDialog.dialog("widget").find('.ui-dialog-titlebar-close').attr('aria-label', 'Close'); + messageId = -1; + + canSend = false; + var sendButton = composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button:first'); + var timeForNextMessage = getWaitTimeForNextMessage(); + if (timeForNextMessage > 0) { + var throttlingMessage = $('
            ') + .addClass('ThrottlingWarning dnnFormMessage dnnFormWarning') + .text(opts.throttlingText + ' ' + timeForNextMessage + ' sec'); + + composeMessageDialog.prepend(throttlingMessage); + + sendButton.attr('disabled', 'disabled').addClass('disabled'); + var countdown = setInterval(function () { + timeForNextMessage--; + if (timeForNextMessage == 0) { + canSend = true; + throttlingMessage.remove(); + if (composeMessageDialog.find('#to').val().trim().length > 0 && composeMessageDialog.find('#subject').val().trim().length > 0) { + sendButton.removeAttr('disabled').removeClass('disabled'); + } + clearInterval(countdown); + } else { + throttlingMessage.text(opts.throttlingText + ' ' + timeForNextMessage + ' sec'); + } + }, 1000); + } else { + canSend = true; + sendButton.attr('disabled', 'disabled').addClass('disabled'); + } + + if (prePopulatedRecipients != null) { + composeMessageDialog.find('#subject').focus(); + } + + composeMessageDialog.find('.fileUploadArea input').dnnFileInput(); + }, + close: function(event, ui) { + composeMessageDialog.destroy(); + }, + buttons: [ + { + text: opts.sendText, + click: function () { + var params = { + subject: encodeURIComponent(composeMessageDialog.find('#subject').val()), + body: encodeURIComponent(composeMessageDialog.find('#bodytext').val()), + roleIds: JSON.stringify(roles), + userIds: JSON.stringify(users), + fileIds: JSON.stringify(attachments) + }; + $.ajax( + { + url: opts.serviceurlbase + "Create", + type: "POST", + data: JSON.stringify(params), + contentType: "application/json", + dataType: "json", + beforeSend: opts.servicesFramework.setModuleHeaders + }).done(function (data) { + if (data.Result === "success") { + composeMessageDialog.dialog("option", "title", opts.messageSentTitle); + var dismissThis = $('') // DO NOT USE href="#" IN ORDER TO PREVENT ISSUES WITH IE + .text(' ' + opts.dismissThisText) + .click(function () { + composeMessageDialog.dialog("close"); + }); + var messageSent = $('
            ') + .addClass('MessageSent dnnFormMessage dnnFormSuccess') + .text(opts.messageSentText) + .append(dismissThis); + composeMessageDialog.html(messageSent); + composeMessageDialog.dialog("widget").find('.ui-dialog-buttonpane button').remove(); + + messageId = data.Value; + autoclose = setInterval(function () { + composeMessageDialog.dialog("close"); + }, opts.msgSentAutoCloseTimeout); + } else { + displayMessage(composeMessageDialog, opts.createMessageErrorText); + } + }).fail(function (xhr, status) { + displayMessage(composeMessageDialog, opts.createMessageErrorWithDescriptionText + JSON.parse(xhr.responseText).ExceptionMessage); + }); + } + }, + { + text: opts.cancelText, + click: function () { + $(this).dialog("close"); + } + } + ], + close: function () { + composeMessageDialog.remove(); + if (autoclose != null) { + clearInterval(autoclose); + } + if (messageId != -1 && opts.onMessageSent != null) { + opts.onMessageSent(messageId); + } + } + }); + + composeMessageDialog.dialog('open'); + }); + }; + + $.fn.dnnComposeMessage.defaultOptions = { + openTriggerScope: 'body', // defines parent scope for openTriggerSelector, allows for event delegation + openTriggerSelector: '.ComposeMessage', // opens dialog + onMessageSent: function (messageId) { + // messageId is the identifier of the newly created message + }, + title: 'Compose Message', + toText: 'Send to', + subjectText: 'Subject', + messageText: 'Your Message', + attachmentsText: 'Attachment(s)', + browseText: 'Browse', + uploadText: 'Choose File', + removeText: 'Remove attachment', + sendText: 'Send', + cancelText: 'Cancel', + messageSentTitle: 'Message Sent', + messageSentText: 'Your message has been sent successfully.', + dismissThisText: 'Dismiss this', + dismissAllText: 'Dismiss all', + throttlingText: 'Please wait before sending a new message.', + noResultsText: 'No results', + searchingText: 'Searching...', + createMessageErrorText: 'An error occurred while creating the message. Please try again later.', + createMessageErrorWithDescriptionText: 'An error occurred while creating the message: ', + autoSuggestErrorText: 'An error occurred while getting suggestions: ', + dialogClass: 'dnnFormPopup dnnClear', + autoOpen: false, + showAttachments: false, + onPrePopulate: function (target) { + // params + // target: Is the element which raised the click event that opens the dialog + // returns + // An array of objects with 2 properties: + // id: an string with a prefix based on the type of recipient ("user-" for users and "role-" for roles) and a suffix with the user/role identifier + // name: the displayname in case of users and rolename in case of roles + // example + // var context = ko.contextFor(this); + // var prePopulatedRecipients = [{ id: "user-" + context.$data.UserId(), name: context.$data.DisplayName() }]; + // return prePopulatedRecipients; + + return null; + }, + msgSentAutoCloseTimeout: 3000, + userFileManagerOptions: {} + }; + +} (jQuery)); diff --git a/DNN Platform/Website/Resources/Shared/components/CountriesRegions/dnn.CountriesRegions.js b/DNN Platform/Website/Resources/Shared/components/CountriesRegions/dnn.CountriesRegions.js index 9cb73853476..f7fa8499483 100644 --- a/DNN Platform/Website/Resources/Shared/components/CountriesRegions/dnn.CountriesRegions.js +++ b/DNN Platform/Website/Resources/Shared/components/CountriesRegions/dnn.CountriesRegions.js @@ -1,146 +1,146 @@ -var dnnCountryRegionService; - -function CountryRegionService($) { - var baseServicepath = $.dnnSF(-1).getServiceRoot('InternalServices') + 'CountryRegion/'; - - this.listCountries = function (searchString, success) { - $.ajax({ - type: "GET", - url: baseServicepath + 'Countries', - data: { searchString: searchString } - }).done(function (data) { - if (success != undefined) { - success(data); - } - }).fail(function (xhr, status) { - alert(eval("(" + xhr.responseText + ")").ExceptionMessage); - }); - }; - - this.listRegions = function (country, success) { - $.ajax({ - type: "GET", - url: baseServicepath + 'Regions', - data: { country: country } - }).done(function (data) { - if (success != undefined) { - success(data); - } - }).fail(function (xhr, status) { - alert(eval("(" + xhr.responseText + ")").ExceptionMessage); - }); - }; - -} - -function setupRegionLists() { - $('div[data-list="Region"]').each(function (index, value) { - var stringValue = $(value).children('input[data-editor="DNNRegionEditControl_Hidden"]').val(); - var $row = $(value); - var $label = $row.prev().find('label'); - var $textControl = $row.children('input[data-editor="DNNRegionEditControl_Text"]'); - var $selectControl = $row.children('select'); - if ($selectControl.children('option').length < 2) { - $selectControl.hide(); - $textControl.show(); - $textControl.val(stringValue); - - $label.attr('for', $textControl.attr('id')); - } else { - $selectControl.show(); - $textControl.hide(); - $selectControl.children('option[value="' + stringValue + '"]').prop('selected', true); - - $label.attr('for', $selectControl.attr('id')); - }; - }); - $('select[data-editor="DNNRegionEditControl_DropDown"]').change(function () { - $(this).parent().children('input[data-editor="DNNRegionEditControl_Hidden"]').val($(this).val()); - }); -} - -function loadRegionList(category, country) { - var selector = category ? 'div[data-list="Region"][data-category="' + category + '"]' : 'div[data-list="Region"]'; - $(selector).each(function (index, value) { - var dd = $(value).children('select'); - $(dd).children().not(':first').remove(); - if (country != '') { - if (dnnCountryRegionService == undefined) { dnnCountryRegionService = new CountryRegionService($) }; - dnnCountryRegionService.listRegions(country, function (data) { - $.each(data, function (index, value) { - $(dd).append($('
            } - keepCollapsedContent={true} - closeOnBlur={false} - secondaryButtonText="Close" - buttonsAreHidden={false} - collapsed={true} - onChange={action("changed")} - > -

            Test Content

            - -)); +import React from "react"; +import { storiesOf } from "@storybook/react"; +import { action } from "@storybook/addon-actions"; +import CollapsibleRow from "./index"; + +storiesOf("CollapsibleRow", module).add("with text", () => ( + Click Header To Expand
            } + closeOnBlur={false} + secondaryButtonText="Close" + buttonsAreHidden={false} + collapsed={true} + onChange={action("changed")} + > +

            Test Content

            + +)); diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/index.jsx b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/index.jsx index 5f43ed3ebcd..c7d706b318b 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/index.jsx @@ -1,125 +1,114 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import Collapse from "react-collapse"; -import Button from "../Button"; -import "./style.less"; - -export default class CollapsibleRow extends Component { - constructor(props) { - super(props); - this.state = { collapsed: props.collapsed ? props.collapsed : true }; - this.handleClick = this.handleClick.bind(this); - } - - componentDidMount() { - const {props} = this; - if (props.closeOnBlur) { - document.addEventListener("click", this.handleClick); - this._isMounted = true; - } - } - - componentDidUpdate(prevProps) { - if (this.props.collapsed !== prevProps.collapsed) { - this.setState({ collapsed: this.props.collapsed }); - } - } - - componentWillUnmount() { - document.removeEventListener("click", this.handleClick); - this._isMounted = false; - } - - handleClick(event) { - const {props} = this; - // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called - // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid - // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code - if (!this._isMounted || !props.closeOnBlur) { return; } - - if (!this.node.contains(event.target)) { - this.collapse(); - } - } - uncollapse() { - this.setState({ - collapsed: false - }); - } - collapse() { - this.setState({ - collapsed: true - }); - } - onCancel() { - this.collapse(); - if (this.props.onChange) { - this.props.onChange(true); - } - } - toggle() { - if (this.props.onChange) { - this.props.onChange(this.state.collapsed); - } - if (this.state.collapsed) { - this.uncollapse(); - } else { - this.collapse(); - } - } - render() { - const {props} = this; - return ( -
            -
            {props.label} - {!props.disabled && - - - } -
            - this.node = node} - isOpened={!this.state.collapsed} - style={Object.assign({ float: "left" }, props.collapseStyle) } - keepCollapsedContent={props.keepCollapsedContent} - springConfig={props.springConfig} - fixedHeight={props.fixedHeight} - onRest={props.onRest} - onHeightReady={props.onHeightReady}> - {props.children } - {!props.buttonsAreHidden && -
            - - {props.extraFooterButtons} -
            - } -
            -
            - ); - } -} - -CollapsibleRow.propTypes = { - label: PropTypes.node, - collapseStyle: PropTypes.object, - keepCollapsedContent: PropTypes.bool, - springConfig: PropTypes.object, - fixedHeight: PropTypes.number, - onRest: PropTypes.func, - onHeightReady: PropTypes.func, - children: PropTypes.node, - disabled: PropTypes.bool, - className: PropTypes.string, - closeOnBlur: PropTypes.bool, - secondaryButtonText: PropTypes.string, - extraFooterButtons: PropTypes.node, - buttonsAreHidden: PropTypes.bool, - collapsed: PropTypes.bool, - onChange: PropTypes.func -}; - -CollapsibleRow.defaultProps = { - collapsed: true -}; - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Collapse from "react-collapse"; +import Button from "../Button"; +import "./style.less"; + +export default class CollapsibleRow extends Component { + constructor(props) { + super(props); + this.state = { collapsed: props.collapsed ? props.collapsed : true }; + this.handleClick = this.handleClick.bind(this); + } + + componentDidMount() { + const {props} = this; + if (props.closeOnBlur) { + document.addEventListener("click", this.handleClick); + this._isMounted = true; + } + } + + componentDidUpdate(prevProps) { + if (this.props.collapsed !== prevProps.collapsed) { + this.setState({ collapsed: this.props.collapsed }); + } + } + + componentWillUnmount() { + document.removeEventListener("click", this.handleClick); + this._isMounted = false; + } + + handleClick(event) { + const {props} = this; + // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called + // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid + // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code + if (!this._isMounted || !props.closeOnBlur) { return; } + + if (!this.node.contains(event.target)) { + this.collapse(); + } + } + uncollapse() { + this.setState({ + collapsed: false + }); + } + collapse() { + this.setState({ + collapsed: true + }); + } + onCancel() { + this.collapse(); + if (this.props.onChange) { + this.props.onChange(true); + } + } + toggle() { + if (this.props.onChange) { + this.props.onChange(this.state.collapsed); + } + if (this.state.collapsed) { + this.uncollapse(); + } else { + this.collapse(); + } + } + render() { + const {props} = this; + return ( +
            +
            {props.label} + {!props.disabled && + + + } +
            + this.node = node} + isOpened={!this.state.collapsed} + theme={{collapse: "collapsible-row ReactCollapse--collapse", content: "ReactCollapse--content"}}> + {props.children } + {!props.buttonsAreHidden && +
            + + {props.extraFooterButtons} +
            + } +
            +
            + ); + } +} + +CollapsibleRow.propTypes = { + label: PropTypes.node, + children: PropTypes.node, + disabled: PropTypes.bool, + className: PropTypes.string, + closeOnBlur: PropTypes.bool, + secondaryButtonText: PropTypes.string, + extraFooterButtons: PropTypes.node, + buttonsAreHidden: PropTypes.bool, + collapsed: PropTypes.bool, + onChange: PropTypes.func +}; + +CollapsibleRow.defaultProps = { + collapsed: true +}; + diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/style.less b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/style.less index 4976e70b144..5194a4507c8 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/style.less +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/CollapsibleRow/style.less @@ -1,61 +1,64 @@ -.dnn-collapsible-component { - display: table; - width: 100%; - div.collapsible-header { - text-transform: uppercase; - color: rgb(178, 189, 195); - width: 100%; - float: left; - position: relative; - padding: 20px; - box-sizing: border-box; - cursor: pointer; - .collapse-icon { - position: absolute; - right: 20px; - top: 17px; - font-size: 30px; - line-height: 16px; - cursor: pointer; - user-select: none; - -webkit-touch-callout: none; - /* iOS Safari */ - -webkit-user-select: none; - /* Chrome/Safari/Opera */ - -khtml-user-select: none; - /* Konqueror */ - -moz-user-select: none; - /* Firefox */ - -ms-user-select: none; - /* IE/Edge */ - user-select: none; - &:after { - border: 6px solid transparent; - border-bottom: 6px solid black; - content: ""; - position: absolute; - left: -15px; - top: 0; - } - &.collapsed { - &:after { - border-top: 6px solid black; - border-bottom: 6px solid transparent; - top: 5px; - } - } - } - } - .collapsible-footer { - margin-left: auto; - margin-right: auto; - display: table; - padding: 25px 0; - button { - margin-right: 15px; - &:last-child { - margin-right: 0; - } - } - } +.dnn-collapsible-component { + display: table; + width: 100%; + div.collapsible-header { + text-transform: uppercase; + color: rgb(178, 189, 195); + width: 100%; + float: left; + position: relative; + padding: 20px; + box-sizing: border-box; + cursor: pointer; + .collapse-icon { + position: absolute; + right: 20px; + top: 17px; + font-size: 30px; + line-height: 16px; + cursor: pointer; + user-select: none; + -webkit-touch-callout: none; + /* iOS Safari */ + -webkit-user-select: none; + /* Chrome/Safari/Opera */ + -khtml-user-select: none; + /* Konqueror */ + -moz-user-select: none; + /* Firefox */ + -ms-user-select: none; + /* IE/Edge */ + user-select: none; + &:after { + border: 6px solid transparent; + border-bottom: 6px solid black; + content: ""; + position: absolute; + left: -15px; + top: 0; + } + &.collapsed { + &:after { + border-top: 6px solid black; + border-bottom: 6px solid transparent; + top: 5px; + } + } + } + } + .collapsible-row { + float: left; + } + .collapsible-footer { + margin-left: auto; + margin-right: auto; + display: table; + padding: 25px 0; + button { + margin-right: 15px; + &:last-child { + margin-right: 0; + } + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/Dropdown.test.js b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/Dropdown.test.js deleted file mode 100644 index 8ee4726083c..00000000000 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/Dropdown.test.js +++ /dev/null @@ -1,171 +0,0 @@ -jest.mock("./style.less", () => jest.fn()); -jest.useFakeTimers(); - -import React from "react"; -import Dropdown from "./Dropdown"; -import Collapse from "react-collapse"; - -import {configure} from 'enzyme'; -import Adapter from 'enzyme-adapter-react-16'; -import toJson from 'enzyme-to-json'; - -import {shallow, mount} from "enzyme"; - -configure({adapter: new Adapter()}); - -const options = [ - {value: "first", label: "First Label", searchableValue: "first"}, - {value: "second", label: "Second Label", searchableValue: "second"}, - {value: "third", label: "Third Label", searchableValue: "third"} -]; - -describe("Dnn Dropdown component", () => { - - it("Renders with minimal setup", () => { - - const wrapper = shallow( f}/>); - expect(wrapper).toMatchSnapshot(); - - }); - - it("Renders labels properly according to props", () => { - - const wrapper = shallow( f}/>); - expect(wrapper).toMatchSnapshot(); - - wrapper.setProps({label: "My new label"}); - const modifiedWrapper = wrapper.update(); - expect(modifiedWrapper).toMatchSnapshot(); - let collapsibleLabel = modifiedWrapper.find(".collapsible-label").first(); - - expect(collapsibleLabel.text()).toEqual("My new label"); - - const secondSelection = "second"; - - modifiedWrapper.setProps({ - options, - value: secondSelection, - label: "My new label", - prependWith: "Prepend text:" - }); - const dropDownWithOptions = modifiedWrapper.update(); - collapsibleLabel = dropDownWithOptions.find(".collapsible-label").first(); - expect(dropDownWithOptions).toMatchSnapshot(); - expect(collapsibleLabel.text()).toEqual(`Prepend text: Second Label`); - - }); - - it("Displays a dropdown list onClick", () => { - - const props = {options, value: "second", label: "My new label", prependWith: "Prepend text:"}; - - const wrapper = mount( f} {...props}/>); - - let json = toJson(wrapper); - expect(json).toMatchSnapshot(); - - expect(wrapper.state('dropDownOpen')).toBe(false); - - let collapsibleLabel = wrapper.find(".collapsible-label").first(); - collapsibleLabel.simulate("click"); - - expect(wrapper.state('dropDownOpen')).toBe(true); - - json = toJson(wrapper.update()); - - expect(json).toMatchSnapshot(); - }); - - it("Displays/Hides icon when withIcon is true", () => { - - const props = {options, value: "second", label: "My new label", prependWith: "Prepend text:", withIcon: false}; - const wrapper = shallow( f} {...props}/>); - expect(wrapper).toMatchSnapshot(); - - let icon = wrapper.find(".dropdown-icon"); - expect(icon.length).toBe(0); - - wrapper.setProps({withIcon: true}); - wrapper.update(); - icon = wrapper.find(".dropdown-icon"); - expect(icon.length).toBe(1); - expect(wrapper).toMatchSnapshot(); - - }); - - it("Renders ", () => { - const props = { - options, - value: "second", - label: "My new label", - prependWith: "Prepend text:", - withIcon: false, - isDropDownOpen: true - }; - const deepRendering = mount( f} {...props}/>); - - const collapse = deepRendering.find(Collapse); - expect(collapse).toHaveLength(1); - - let collapsibleLabel = deepRendering.find(".collapsible-label").first(); - collapsibleLabel.simulate("click"); - - const listItems = deepRendering.find("ul"); - expect(listItems).toHaveLength(1); - - const json = toJson(deepRendering); - - expect(json).toMatchSnapshot(); - }); - - it("Calculates correct Dropdown height", () => { - const props = { - options, - value: "second", - label: "My new label", - prependWith: "Prepend text:", - withIcon: false, - isDropDownOpen: true, - fixedHeight: 600 - }; - const deepRendering = mount( f} {...props}/>); - let collapsibleLabel = deepRendering.find(".collapsible-label").first(); - collapsibleLabel.simulate("click"); - - const json = toJson(deepRendering); - expect(json).toMatchSnapshot(); - - }); - - it("Extracts text from a complex label, given a getLabelText function", () => { - - const options = [ - {value: "first", label:
            First Label
            , searchableValue: "first"}, - {value: "second", label:
            Second Label
            , searchableValue: "second"}, - {value: "third", label:
            Third Label
            , searchableValue: "third"}, - ]; - - const props = { - options, - value: "", - label: "My new label", - prependWith: "Prepend text:", - withIcon: false, - isDropDownOpen: true, - fixedHeight: 600, - getLabelText: (label) => label.props.title - }; - const deepRendering = mount( f} {...props}/>); - let collapsibleLabel = deepRendering.find(".collapsible-label").first(); - collapsibleLabel.simulate("click"); - - const input = deepRendering.find("input"); - input.simulate('change', {target: {value: "t"}}); - - const label = deepRendering.find("li.selected > div").first().props().title; - - expect(label).toEqual("Third Label"); - - }); - -}); diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/__snapshots__/Dropdown.test.js.snap b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/__snapshots__/Dropdown.test.js.snap deleted file mode 100644 index e438d6fb6c0..00000000000 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/__snapshots__/Dropdown.test.js.snap +++ /dev/null @@ -1,5766 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Dnn Dropdown component Calculates correct Dropdown height 1`] = ` - -
            -
            - - - Prepend text: - - - Second Label - -
            - -
            - - - -
            -
            -
            - -
            -
            -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            -
            -
            -
            -
            - -
            -
            -
            - - - -
            -
            - -`; - -exports[`Dnn Dropdown component Displays a dropdown list onClick 1`] = ` - -
            -
            - - - Prepend text: - - - Second Label - -
            - -
            - - - - -", - } - } - onClick={[Function]} - /> -
            - -
            -
            - -`; - -exports[`Dnn Dropdown component Displays a dropdown list onClick 2`] = ` - -
            -
            - - - Prepend text: - - - Second Label - -
            - -
            - - - - -", - } - } - onClick={[Function]} - /> -
            - - - -
            -
            -
            - -
            -
            -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            -
            -
            -
            -
            - -
            -
            -
            - - - -
            -
            - -`; - -exports[`Dnn Dropdown component Displays/Hides icon when withIcon is true 1`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
            - - - Prepend text: - - - Second Label - -
            , - , - false, -
            - -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - false, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
          • - First Label -
          • , -
          • - Second Label -
          • , -
          • - Third Label -
          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
            - - - Prepend text: - - - Second Label - -
            , - , - false, -
            - -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - false, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
          • - First Label -
          • , -
          • - Second Label -
          • , -
          • - Third Label -
          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; - -exports[`Dnn Dropdown component Displays/Hides icon when withIcon is true 2`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
            - - - Prepend text: - - - Second Label - -
            , - , -
            - - - - -", - } - } - onClick={[Function]} - />, -
            - -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
          • - First Label -
          • , -
          • - Second Label -
          • , -
          • - Third Label -
          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
            - - - Prepend text: - - - Second Label - -
            , - , -
            - - - - -", - } - } - onClick={[Function]} - />, -
            - -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
            - -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
          • - First Label -
          • , -
          • - Second Label -
          • , -
          • - Third Label -
          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; - -exports[`Dnn Dropdown component Renders 1`] = ` - -
            -
            - - - Prepend text: - - - Second Label - -
            - -
            - - - -
            -
            -
            - -
            -
            -
              -
            • - First Label -
            • -
            • - Second Label -
            • -
            • - Third Label -
            • -
            -
            -
            -
            -
            -
            -
            -
            -
            - -
            -
            -
            - - - -
            -
            - -`; - -exports[`Dnn Dropdown component Renders labels properly according to props 1`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
            - -- Select -- -
            , - , -
            - - - - -", - } - } - onClick={[Function]} - />, -
            - -
            - -
              - -
            -
            -
            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "-- Select --", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "-- Select --", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
            - -
              - -
            -
            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
            - -
              - -
            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
              - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                - -- Select -- -
                , - , -
                - - - - -", - } - } - onClick={[Function]} - />, -
                - -
                - -
                  - -
                -
                -
                , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "-- Select --", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "-- Select --", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                - -
                  - -
                -
                , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                - -
                  - -
                , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                  - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                    , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; - -exports[`Dnn Dropdown component Renders labels properly according to props 2`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                    - My new label -
                    , - , -
                    - - - - -", - } - } - onClick={[Function]} - />, -
                    - -
                    - -
                      - -
                    -
                    -
                    , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "My new label", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "My new label", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                    - -
                      - -
                    -
                    , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                    - -
                      - -
                    , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                      - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                        , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                        - My new label -
                        , - , -
                        - - - - -", - } - } - onClick={[Function]} - />, -
                        - -
                        - -
                          - -
                        -
                        -
                        , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "My new label", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "My new label", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                        - -
                          - -
                        -
                        , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                        - -
                          - -
                        , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                          - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; - -exports[`Dnn Dropdown component Renders labels properly according to props 3`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                            - - - Prepend text: - - - Second Label - -
                            , - , -
                            - - - - -", - } - } - onClick={[Function]} - />, -
                            - -
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            -
                            -
                            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            -
                            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                          • - First Label -
                          • , -
                          • - Second Label -
                          • , -
                          • - Third Label -
                          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                            - - - Prepend text: - - - Second Label - -
                            , - , -
                            - - - - -", - } - } - onClick={[Function]} - />, -
                            - -
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            -
                            -
                            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": - - Prepend text: - - - Second Label - , - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ - - Prepend text: - , - " ", - "Second Label", - ], - "className": "dropdown-prepend", - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "Prepend text:", - }, - "ref": null, - "rendered": "Prepend text:", - "type": "strong", - }, - " ", - "Second Label", - ], - "type": "span", - }, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            -
                            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                            - -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            -
                            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            -
                            , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                              -
                            • - First Label -
                            • -
                            • - Second Label -
                            • -
                            • - Third Label -
                            • -
                            , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                          • - First Label -
                          • , -
                          • - Second Label -
                          • , -
                          • - Third Label -
                          • , - ], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [ - Object { - "instance": null, - "key": "0", - "nodeType": "host", - "props": Object { - "children": "First Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "First Label", - "type": "li", - }, - Object { - "instance": null, - "key": "1", - "nodeType": "host", - "props": Object { - "children": "Second Label", - "className": "dnn-dropdown-option selected", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Second Label", - "type": "li", - }, - Object { - "instance": null, - "key": "2", - "nodeType": "host", - "props": Object { - "children": "Third Label", - "className": "dnn-dropdown-option", - "onClick": [Function], - }, - "ref": [Function], - "rendered": "Third Label", - "type": "li", - }, - ], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; - -exports[`Dnn Dropdown component Renders with minimal setup 1`] = ` -ShallowWrapper { - Symbol(enzyme.__root__): [Circular], - Symbol(enzyme.__unrendered__): , - Symbol(enzyme.__renderer__): Object { - "batchedUpdates": [Function], - "getNode": [Function], - "render": [Function], - "simulateEvent": [Function], - "unmount": [Function], - }, - Symbol(enzyme.__node__): Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                            - -- Select -- -
                            , - , -
                            - - - - -", - } - } - onClick={[Function]} - />, -
                            - -
                            - -
                              - -
                            -
                            -
                            , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "-- Select --", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "-- Select --", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                            - -
                              - -
                            -
                            , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                            - -
                              - -
                            , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                              - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                                , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - Symbol(enzyme.__nodes__): Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [ -
                                - -- Select -- -
                                , - , -
                                - - - - -", - } - } - onClick={[Function]} - />, -
                                - -
                                - -
                                  - -
                                -
                                -
                                , - ], - "className": "dnn-dropdown with-border small ", - "style": undefined, - }, - "ref": null, - "rendered": Array [ - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": "-- Select --", - "className": "collapsible-label no-wrap", - "onClick": [Function], - "title": undefined, - }, - "ref": null, - "rendered": "-- Select --", - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "aria-label": "Search", - "onChange": [Function], - "onKeyDown": [Function], - "style": Object { - "height": 0, - "margin": 0, - "opacity": 0, - "padding": 0, - "pointerEvents": "none", - "position": "absolute", - "width": 0, - }, - "type": "text", - }, - "ref": [Function], - "rendered": null, - "type": "input", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "className": "dropdown-icon", - "dangerouslySetInnerHTML": Object { - "__html": " - - - - -", - }, - "onClick": [Function], - }, - "ref": null, - "rendered": null, - "type": "div", - }, - Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                                - -
                                  - -
                                -
                                , - "className": "collapsible-content", - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "children":
                                - -
                                  - -
                                , - "isOpened": false, - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": -
                                  - , - }, - "ref": null, - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "class", - "props": Object { - "autoHeight": true, - "autoHeightMax": 200, - "autoHeightMin": 100, - "autoHide": true, - "autoHideDuration": 200, - "autoHideTimeout": 1000, - "children":
                                    , - "hideTracksWhenNotNeeded": false, - "onUpdate": undefined, - "renderThumbHorizontal": [Function], - "renderThumbVertical": [Function], - "renderTrackHorizontal": [Function], - "renderTrackVertical": [Function], - "renderView": [Function], - "style": undefined, - "tagName": "div", - "thumbMinSize": 30, - "universal": false, - }, - "ref": [Function], - "rendered": Object { - "instance": null, - "key": undefined, - "nodeType": "host", - "props": Object { - "children": Array [], - "className": "dnn-dropdown-options", - }, - "ref": [Function], - "rendered": Array [], - "type": "ul", - }, - "type": [Function], - }, - "type": "div", - }, - "type": [Function], - }, - "type": "div", - }, - ], - "type": "div", - }, - ], - Symbol(enzyme.__options__): Object { - "adapter": ReactSixteenAdapter { - "options": Object { - "enableComponentDidUpdateOnSetState": true, - "lifecycles": Object { - "componentDidUpdate": Object { - "onSetState": true, - }, - "getDerivedStateFromProps": true, - "getSnapshotBeforeUpdate": true, - "setState": Object { - "skipsComponentDidUpdateOnNullish": true, - }, - }, - }, - }, - "attachTo": undefined, - "hydrateIn": undefined, - }, -} -`; diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/index.jsx b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/index.jsx index 8274440dc3b..dfd45f1d769 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/Dropdown/index.jsx @@ -1,401 +1,377 @@ -import React, { Component} from "react"; -import PropTypes from "prop-types"; -import Collapse from "react-collapse"; -import Scrollbars from "react-custom-scrollbars"; -import {ArrowDownIcon} from "../SvgIcons"; -import scroll from "scroll"; -import "./style.less"; - -const DNN_DROPDOWN_MINHEIGHT = 100; - -class Dropdown extends Component { - constructor() { - super(); - this.state = { - dropDownOpen: false, - fixedHeight: 0, - dropdownText: "", - closestValue: null, - selectedOption: {} - }; - this.handleClick = this.handleClick.bind(this); - this.uniqueId = Date.now() * Math.random(); - } - - toggleDropdown() { - const {props} = this; - if (props.enabled) { - - //This triggers re-render, showing scrollbar on open. - if (!this.state.dropDownOpen) { - this.dropdownSearch.focus(); - } else { - this.setState({ - closestValue: null - }); - } - - this.setState({ - dropDownOpen: !this.state.dropDownOpen - }); - } - else { - this.setState({ - dropDownOpen: false - }); - } - if (props.options && props.options.length > 0) { - let fixedHeight = DNN_DROPDOWN_MINHEIGHT; - this.setState({ - fixedHeight - }); - } - } - - getDropdownHeight() { - const {props} = this; - const maxHeight = props.fixedHeight ? props.fixedHeight : DNN_DROPDOWN_MINHEIGHT; - return this.dropDownListElement ? Math.min(this.dropDownListElement.offsetHeight, maxHeight) + 20 : 0; - } - - componentDidUpdate(prevProps) { - const { props } = this; - if (props.options !== prevProps.options) { - if (props.options && props.options.length > 0) { - let fixedHeight = DNN_DROPDOWN_MINHEIGHT; - this.setState({ - fixedHeight - }); - } - } - - if (props.isDropDownOpen !== prevProps.isDropDownOpen) { - this.setState({dropDownOpen: !props.isDropDownOpen}, () => this.toggleDropdown(true)); - } - } - - componentDidMount() { - const {props} = this; - if (props.closeOnClick) { - document.addEventListener("mousedown", this.handleClick); - } - this._isMounted = true; - } - - componentWillUnmount() { - document.removeEventListener("mousedown", this.handleClick); - this._isMounted = false; - } - - handleClick(event) { - const {props} = this; - // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called - // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid - // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code - if (!this._isMounted || !props.closeOnClick) { - return; - } - if (!this.node.contains(event.target)) { - this.setState({ - dropDownOpen: false, - closestValue: null, - dropdownText: "" - }); - } - } - - onSelect(option) { - const {props} = this; - if (props.enabled) { - this.setState({ - dropDownOpen: false, - closestValue: null, - dropdownText: "" - }); - if (props.onSelect) { - this.setState({ - selectedOption: option - }); - props.onSelect(option); - } - } - } - - /** - * We have two types of Dropdown: small and large. - * More informations about it here: https://dnntracker.atlassian.net/wiki/spaces/DP/pages/45940759/EVOQ+-+COLOR+AND+STYLE+GUIDE#EVOQ-COLORANDSTYLEGUIDE-SMALLDROPDOWN - * PS: "small" is passed as a prop and used as a CSS class name. - * - * @returns {string} - */ - getClassName() { - const {props, state} = this; - let className = "dnn-dropdown"; - - className += (props.withBorder ? " with-border" : ""); - - className += (" " + props.size); - - className += (" " + props.className); - - if (!props.enabled) { - className += " disabled"; - } - else { - className += (state.dropDownOpen ? " open" : ""); - } - return className; - } - - getDropdownLabel() { - const {props} = this; - let label = props.label; - if (props.value !== undefined && props.options !== undefined && props.options.length > 0) { - const selectedValue = props.options.find((option) => { - return option.value === props.value; - }); - if (selectedValue && selectedValue.label) { - label = selectedValue.label; - } - } - return (props.prependWith ? - {props.prependWith} {label} : label); - } - - getIsMultiLineLabel() { - return this.props.labelIsMultiLine ? "" : " no-wrap"; - } - - startWith(option) { - const { props, state } = this; - const regex = state.dropdownText.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - - const label = props.getLabelText ? props.getLabelText(option.label) : option.label; - - return label.match(new RegExp("^" + regex,"gi")); - } - - containsString(option) { - const { props, state } = this; - const regex = state.dropdownText.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - - const label = props.getLabelText ? props.getLabelText(option.label) : option.label; - - return label.match(new RegExp(regex,"gi")); - } - - searchItems() { - - const { props } = this; - - let index = props.options.findIndex(this.startWith, this); - if (index < 0) { - index = props.options.findIndex(this.containsString, this); - } - if (index > -1) { - - const option = this.getOption(index); - - if (option) { - this.setState({ - closestValue: option.value, - currentIndex: index, - dropdownText: "" - }, () => { - setTimeout(() => { - this.scrollToSelectedItem(); - this.dropdownSearch.value = ""; - }); - }); - } - } - } - - scrollToSelectedItem(eventKey) { - - const optionRef = this.selectedOptionElement ? this.selectedOptionElement : null; - if (optionRef) { - const domElement = this.selectedOptionElement.ref;// ReactDOM.findDOMNode(optionRef); - let offset = domElement.offsetTop; - if (eventKey === "ArrowUp") { - offset = domElement.offsetTop - domElement.clientHeight*2; - } - scroll.top(this.node.scrollBar.childNodes[0], offset); - } - } - - onDropdownSearch(event) { - this.setState({ - dropdownText: event.target.value - }, () => this.searchItems()); - } - - onKeyDown(event) { - switch (event.key) { - case "Enter": - if (this.state.closestValue && this.state.closestValue.value !== null) { - this.onSelect(this.state.closestValue); - this.dropdownSearch.blur(); - } else { - this.onSelect(this.state.selectedOption); - } - break; - case "ArrowUp": - this.onArrowUp(event.key); - break; - case "ArrowDown": - this.onArrowDown(event.key); - break; - } - - } - - getCurrentIndex() { - const maxIndex = this.optionItems ? this.optionItems.length : 0; - const currentIndex = this.state.currentIndex !== undefined ? this.state.currentIndex : -1; - return currentIndex > -1 && currentIndex < maxIndex ? currentIndex : -1; - } - - onArrowDown(eventKey) { - let currentIndex = this.getCurrentIndex(); - const option = this.getOption(currentIndex); - this.setState({currentIndex, selectedOption: option, closestValue: null, ignorePreselection: true}); - this.scrollToSelectedItem(eventKey); - } - - onArrowUp(eventKey) { - let currentIndex = this.getCurrentIndex(); - this.setState({currentIndex, selectedOption: this.getOption(currentIndex), closestValue: null, ignorePreselection: true}); - this.scrollToSelectedItem(eventKey); - } - - initOptions() { - const { props } = this; - this.optionItems = []; - const options = props.options && props.options.map((option, index) => { - this.optionItems.push(option); - return
                                  • f} - className={this.getOptionClassName(option, index)}>{option.label}
                                  • ; - }); - return options; - } - - getOptionClassName(option, index) { - const {props, state} = this; - const currentIndex = this.getCurrentIndex(); - const isCurrentIndex = index === currentIndex; - const isPreselected = !this.state.ignorePreselection && props.value !== null && (option.value === props.value && state.closestValue === null && currentIndex < 0); - const isSearchResult = state.closestValue !== null && (option.value === state.closestValue); - const selected = currentIndex === -1 ? isPreselected : (isCurrentIndex || isSearchResult); - return selected ? "dnn-dropdown-option selected" : "dnn-dropdown-option"; - } - - isSelectedItem(index) { - return index === this.state.currentIndex; - } - - addOptionRef(option) { - if (option) { - this.selectedOptionElement = option; - } - } - - getOption(index) { - const options = this.optionItems; - return options && options[index] !== undefined ? options[index] : null; - } - - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - return ( -
                                    this.node = node}> -
                                    - {this.getDropdownLabel()} -
                                    - this.dropdownSearch = input} - onKeyDown={this.onKeyDown.bind(this)} - style={{ - position: "absolute", - opacity: 0, - pointerEvents: "none", - width: 0, - height: 0, - padding: 0, - margin: 0 - }} - aria-label="Search" - /> - {props.withIcon &&
                                    } -
                                    - -
                                    - this.scrollBar = scrollbar} - autoHide={this.props.autoHide} - autoHeight={true} - autoHeightMin={DNN_DROPDOWN_MINHEIGHT} - style={props.scrollAreaStyle} - onUpdate={this.props.onScrollUpdate} - renderTrackHorizontal={() =>
                                    }> -
                                      this.dropDownListElement = ul}> - {this.initOptions()} -
                                    - -
                                    - -
                                    -
                                    - ); - } -} - -Dropdown.propTypes = { - label: PropTypes.string, - fixedHeight: PropTypes.number, - collapsibleWidth: PropTypes.number, - collapsibleHeight: PropTypes.number, - keepCollapsedContent: PropTypes.bool, - className: PropTypes.string, - scrollAreaStyle: PropTypes.object, - options: PropTypes.array, - onSelect: PropTypes.func, - size: PropTypes.string, - withBorder: PropTypes.bool, - withIcon: PropTypes.bool, - enabled: PropTypes.bool, - autoHide: PropTypes.bool, - value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), - closeOnClick: PropTypes.bool, - prependWith: PropTypes.object, - labelIsMultiLine: PropTypes.bool, - title: PropTypes.string, - onScrollUpdate: PropTypes.func, - isDropDownOpen: PropTypes.bool, - selectedIndex: PropTypes.number, - onArrowKey: PropTypes.func, - getLabelText: PropTypes.func.isRequired // fn(labelObject):string -}; - -Dropdown.defaultProps = { - label: "-- Select --", - withIcon: true, - withBorder: true, - size: "small", - closeOnClick: true, - enabled: true, - autoHide: true, - className: "", - isDropDownOpen: false, - selectedIndex: -1, - getLabelText:(label) => label -}; - +import React, { Component} from "react"; +import PropTypes from "prop-types"; +import Collapse from "react-collapse"; +import Scrollbars from "react-custom-scrollbars"; +import {ArrowDownIcon} from "../SvgIcons"; +import scroll from "scroll"; +import "./style.less"; + +const DNN_DROPDOWN_MINHEIGHT = 100; + +class Dropdown extends Component { + constructor() { + super(); + this.state = { + dropDownOpen: false, + dropdownText: "", + closestValue: null, + selectedOption: {} + }; + this.handleClick = this.handleClick.bind(this); + this.uniqueId = Date.now() * Math.random(); + } + + toggleDropdown() { + const {props} = this; + if (props.enabled) { + + //This triggers re-render, showing scrollbar on open. + if (!this.state.dropDownOpen) { + this.dropdownSearch.focus(); + } else { + this.setState({ + closestValue: null + }); + } + + this.setState({ + dropDownOpen: !this.state.dropDownOpen + }); + } + else { + this.setState({ + dropDownOpen: false + }); + } + } + + componentDidUpdate(prevProps) { + const { props } = this; + if (props.isDropDownOpen !== prevProps.isDropDownOpen) { + this.setState({dropDownOpen: !props.isDropDownOpen}, () => this.toggleDropdown(true)); + } + } + + componentDidMount() { + const {props} = this; + if (props.closeOnClick) { + document.addEventListener("mousedown", this.handleClick); + } + this._isMounted = true; + } + + componentWillUnmount() { + document.removeEventListener("mousedown", this.handleClick); + this._isMounted = false; + } + + handleClick(event) { + const {props} = this; + // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called + // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid + // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code + if (!this._isMounted || !props.closeOnClick) { + return; + } + if (!this.node.contains(event.target)) { + this.setState({ + dropDownOpen: false, + closestValue: null, + dropdownText: "" + }); + } + } + + onSelect(option) { + const {props} = this; + if (props.enabled) { + this.setState({ + dropDownOpen: false, + closestValue: null, + dropdownText: "" + }); + if (props.onSelect) { + this.setState({ + selectedOption: option + }); + props.onSelect(option); + } + } + } + + /** + * We have two types of Dropdown: small and large. + * More informations about it here: https://dnntracker.atlassian.net/wiki/spaces/DP/pages/45940759/EVOQ+-+COLOR+AND+STYLE+GUIDE#EVOQ-COLORANDSTYLEGUIDE-SMALLDROPDOWN + * PS: "small" is passed as a prop and used as a CSS class name. + * + * @returns {string} + */ + getClassName() { + const {props, state} = this; + let className = "dnn-dropdown"; + + className += (props.withBorder ? " with-border" : ""); + + className += (" " + props.size); + + className += (" " + props.className); + + if (!props.enabled) { + className += " disabled"; + } + else { + className += (state.dropDownOpen ? " open" : ""); + } + return className; + } + + getDropdownLabel() { + const {props} = this; + let label = props.label; + if (props.value !== undefined && props.options !== undefined && props.options.length > 0) { + const selectedValue = props.options.find((option) => { + return option.value === props.value; + }); + if (selectedValue && selectedValue.label) { + label = selectedValue.label; + } + } + return (props.prependWith ? + {props.prependWith} {label} : label); + } + + getIsMultiLineLabel() { + return this.props.labelIsMultiLine ? "" : " no-wrap"; + } + + startWith(option) { + const { props, state } = this; + const regex = state.dropdownText.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); + + const label = props.getLabelText ? props.getLabelText(option.label) : option.label; + + return label.match(new RegExp("^" + regex,"gi")); + } + + containsString(option) { + const { props, state } = this; + const regex = state.dropdownText.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); + + const label = props.getLabelText ? props.getLabelText(option.label) : option.label; + + return label.match(new RegExp(regex,"gi")); + } + + searchItems() { + + const { props } = this; + + let index = props.options.findIndex(this.startWith, this); + if (index < 0) { + index = props.options.findIndex(this.containsString, this); + } + if (index > -1) { + + const option = this.getOption(index); + + if (option) { + this.setState({ + closestValue: option.value, + currentIndex: index, + dropdownText: "" + }, () => { + setTimeout(() => { + this.scrollToSelectedItem(); + this.dropdownSearch.value = ""; + }); + }); + } + } + } + + scrollToSelectedItem(eventKey) { + + const optionRef = this.selectedOptionElement ? this.selectedOptionElement : null; + if (optionRef) { + const domElement = this.selectedOptionElement.ref;// ReactDOM.findDOMNode(optionRef); + let offset = domElement.offsetTop; + if (eventKey === "ArrowUp") { + offset = domElement.offsetTop - domElement.clientHeight*2; + } + scroll.top(this.node.scrollBar.childNodes[0], offset); + } + } + + onDropdownSearch(event) { + this.setState({ + dropdownText: event.target.value + }, () => this.searchItems()); + } + + onKeyDown(event) { + switch (event.key) { + case "Enter": + if (this.state.closestValue && this.state.closestValue.value !== null) { + this.onSelect(this.state.closestValue); + this.dropdownSearch.blur(); + } else { + this.onSelect(this.state.selectedOption); + } + break; + case "ArrowUp": + this.onArrowUp(event.key); + break; + case "ArrowDown": + this.onArrowDown(event.key); + break; + } + + } + + getCurrentIndex() { + const maxIndex = this.optionItems ? this.optionItems.length : 0; + const currentIndex = this.state.currentIndex !== undefined ? this.state.currentIndex : -1; + return currentIndex > -1 && currentIndex < maxIndex ? currentIndex : -1; + } + + onArrowDown(eventKey) { + let currentIndex = this.getCurrentIndex(); + const option = this.getOption(currentIndex); + this.setState({currentIndex, selectedOption: option, closestValue: null, ignorePreselection: true}); + this.scrollToSelectedItem(eventKey); + } + + onArrowUp(eventKey) { + let currentIndex = this.getCurrentIndex(); + this.setState({currentIndex, selectedOption: this.getOption(currentIndex), closestValue: null, ignorePreselection: true}); + this.scrollToSelectedItem(eventKey); + } + + initOptions() { + const { props } = this; + this.optionItems = []; + const options = props.options && props.options.map((option, index) => { + this.optionItems.push(option); + return
                                  • f} + className={this.getOptionClassName(option, index)}>{option.label}
                                  • ; + }); + return options; + } + + getOptionClassName(option, index) { + const {props, state} = this; + const currentIndex = this.getCurrentIndex(); + const isCurrentIndex = index === currentIndex; + const isPreselected = !this.state.ignorePreselection && props.value !== null && (option.value === props.value && state.closestValue === null && currentIndex < 0); + const isSearchResult = state.closestValue !== null && (option.value === state.closestValue); + const selected = currentIndex === -1 ? isPreselected : (isCurrentIndex || isSearchResult); + return selected ? "dnn-dropdown-option selected" : "dnn-dropdown-option"; + } + + isSelectedItem(index) { + return index === this.state.currentIndex; + } + + addOptionRef(option) { + if (option) { + this.selectedOptionElement = option; + } + } + + getOption(index) { + const options = this.optionItems; + return options && options[index] !== undefined ? options[index] : null; + } + + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + return ( +
                                    this.node = node}> +
                                    + {this.getDropdownLabel()} +
                                    + this.dropdownSearch = input} + onKeyDown={this.onKeyDown.bind(this)} + style={{ + position: "absolute", + opacity: 0, + pointerEvents: "none", + width: 0, + height: 0, + padding: 0, + margin: 0 + }} + aria-label="Search" + /> + {props.withIcon &&
                                    } +
                                    + +
                                    + this.scrollBar = scrollbar} + autoHide={this.props.autoHide} + autoHeight={true} + autoHeightMin={DNN_DROPDOWN_MINHEIGHT} + style={props.scrollAreaStyle} + onUpdate={this.props.onScrollUpdate} + renderTrackHorizontal={() =>
                                    }> +
                                      this.dropDownListElement = ul}> + {this.initOptions()} +
                                    + +
                                    + +
                                    +
                                    + ); + } +} + +Dropdown.propTypes = { + label: PropTypes.string, + collapsibleWidth: PropTypes.number, + collapsibleHeight: PropTypes.number, + className: PropTypes.string, + scrollAreaStyle: PropTypes.object, + options: PropTypes.array, + onSelect: PropTypes.func, + size: PropTypes.string, + withBorder: PropTypes.bool, + withIcon: PropTypes.bool, + enabled: PropTypes.bool, + autoHide: PropTypes.bool, + value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), + closeOnClick: PropTypes.bool, + prependWith: PropTypes.object, + labelIsMultiLine: PropTypes.bool, + title: PropTypes.string, + onScrollUpdate: PropTypes.func, + isDropDownOpen: PropTypes.bool, + selectedIndex: PropTypes.number, + onArrowKey: PropTypes.func, + getLabelText: PropTypes.func.isRequired // fn(labelObject):string +}; + +Dropdown.defaultProps = { + label: "-- Select --", + withIcon: true, + withBorder: true, + size: "small", + closeOnClick: true, + enabled: true, + autoHide: true, + className: "", + isDropDownOpen: false, + selectedIndex: -1, + getLabelText:(label) => label +}; + export default Dropdown; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/DropdownWithError/index.jsx b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/DropdownWithError/index.jsx index 000070d92ea..5662a2993da 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/DropdownWithError/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/DropdownWithError/index.jsx @@ -1,111 +1,107 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import Tooltip from "../Tooltip"; -import Dropdown from "../Dropdown"; -import Label from "../Label"; -import "./style.less"; - -class DropdownWithError extends Component { - constructor() { - super(); - } - - render() { - const {props} = this; - const className = "dnn-dropdown-with-error" + (props.error ? " error" : "") + (" " + props.className) + (props.enabled ? "" : " disabled"); - const errorMessages = props.errorMessage instanceof Array ? props.errorMessage : [props.errorMessage]; - return ( -
                                    - {props.label && -
                                    - ); - } -} - -DropdownWithError.propTypes = { - inputId: PropTypes.string, - label: PropTypes.string, - infoTooltipClassName: PropTypes.string, - tooltipMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), - infoTooltipPlace: PropTypes.string, - labelType: PropTypes.string, - className: PropTypes.string, - dropdownSize: PropTypes.oneOf(["large", "small"]), - error: PropTypes.bool, - errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), - tooltipPlace: PropTypes.string, - placement: PropTypes.oneOf(["outside", "inside"]), - defaultDropdownValue: PropTypes.string, - fixedHeight: PropTypes.number, - collapsibleWidth: PropTypes.number, - collapsibleHeight: PropTypes.number, - keepCollapsedContent: PropTypes.bool, - scrollAreaStyle: PropTypes.object, - options: PropTypes.array, - onSelect: PropTypes.func, - size: PropTypes.string, - withBorder: PropTypes.bool, - withIcon: PropTypes.bool, - enabled: PropTypes.bool, - value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), - closeOnClick: PropTypes.bool, - style: PropTypes.object, - labelStyle: PropTypes.object, - extraToolTips: PropTypes.node, - prependWith: PropTypes.string, - labelIsMultiLine: PropTypes.bool, - title: PropTypes.string, - autoHide: PropTypes.bool -}; -DropdownWithError.defaultProps = { - error: false, - enabled: true, - autoHide: false, - className: "", - placement: "outside", - inputSize: "small", - labelType: "block", - errorMessage: ["This field has an error."], - prependWith: "" -}; +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Tooltip from "../Tooltip"; +import Dropdown from "../Dropdown"; +import Label from "../Label"; +import "./style.less"; + +class DropdownWithError extends Component { + constructor() { + super(); + } + + render() { + const {props} = this; + const className = "dnn-dropdown-with-error" + (props.error ? " error" : "") + (" " + props.className) + (props.enabled ? "" : " disabled"); + const errorMessages = props.errorMessage instanceof Array ? props.errorMessage : [props.errorMessage]; + return ( +
                                    + {props.label && +
                                    + ); + } +} + +DropdownWithError.propTypes = { + inputId: PropTypes.string, + label: PropTypes.string, + infoTooltipClassName: PropTypes.string, + tooltipMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), + infoTooltipPlace: PropTypes.string, + labelType: PropTypes.string, + className: PropTypes.string, + dropdownSize: PropTypes.oneOf(["large", "small"]), + error: PropTypes.bool, + errorMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), + tooltipPlace: PropTypes.string, + placement: PropTypes.oneOf(["outside", "inside"]), + defaultDropdownValue: PropTypes.string, + collapsibleWidth: PropTypes.number, + collapsibleHeight: PropTypes.number, + scrollAreaStyle: PropTypes.object, + options: PropTypes.array, + onSelect: PropTypes.func, + size: PropTypes.string, + withBorder: PropTypes.bool, + withIcon: PropTypes.bool, + enabled: PropTypes.bool, + value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), + closeOnClick: PropTypes.bool, + style: PropTypes.object, + labelStyle: PropTypes.object, + extraToolTips: PropTypes.node, + prependWith: PropTypes.string, + labelIsMultiLine: PropTypes.bool, + title: PropTypes.string, + autoHide: PropTypes.bool +}; +DropdownWithError.defaultProps = { + error: false, + enabled: true, + autoHide: false, + className: "", + placement: "outside", + inputSize: "small", + labelType: "block", + errorMessage: ["This field has an error."], + prependWith: "" +}; export default DropdownWithError; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/FileUpload/index.jsx b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/FileUpload/index.jsx index e9b964b4e69..f716ccb235f 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/FileUpload/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/FileUpload/index.jsx @@ -1,492 +1,449 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import LinkInput from "./LinkInput"; -import Browse from "./Browse"; -import UploadBar from "./UploadBar"; - -import "./style.less"; - -const Buttons = [ - { name: "browse" }, - { name: "upload" }, - { name: "link" } -]; - -export default class FileUpload extends Component { - constructor(props) { - super(props); - let fileExist = false; - let selectedFile = null; - let selectedFolder = null; - - this.fileInput1Ref = React.createRef(); - this.fileInput2Ref = React.createRef(); - - this.state = { - text: props.defaultText, - showLinkInput: false, - showFolderPicker: false, - - selectedFile, - selectedFolder, - - linkPath: "", - fileUrl: "", - - fileExist, - draggedOver: false, - isDragging: false, - - fileName: "", - - uploading: false, - uploadComplete: false, - horizontalOrientation: false, - - errorText: "" - }; - this.compareTimeout = setTimeout(this.compareDimensions.bind(this), 2000); - } - - updateStateAndReloadImage(file) { - const selectedFolder = { value: file.folderPath, key: file.folderId }; - const selectedFile = { value: file.fileName, key: file.fileId }; - const fileExist = true; - - this.setState({fileExist, selectedFile, selectedFolder}, () => { - this.getPreviewUrl(file.fileId); - }); - } - - componentDidMount() { - const file = this.props.selectedFile; - if (file) { - this.updateStateAndReloadImage(file); - } - window.addEventListener("dragover", this.prevent); - window.addEventListener("drop", this.prevent); - } - - componentDidUpdate(prevProps) { - const { props } = this; - if (!props.selectedFile && props.selectedFile !== prevProps.selectedFile) { - this.setState({ fileExist: null, selectedFile: null, selectedFolder: null }, () => {}); - return; - } - if (props.selectedFile && props.selectedFile !== prevProps.selectedFile && this.state.selectedFile) - { - if (props.selectedFile.fileId !== (this.state.selectedFile.fileId || + this.state.selectedFile.key)) { - const file = props.selectedFile; - this.updateStateAndReloadImage(file); - } - } - if (props.portalId !== prevProps.portalId) { - this.setState({ showFolderPicker: false }); - } - } - - prevent(e) { - e.preventDefault(); - } - - componentWillUnmount() { - window.removeEventListener("dragover", this.prevent); - window.removeEventListener("drop", this.prevent); - - this._unmounted = true; - if (this.compareTimeout) { - clearTimeout(this.compareTimeout); - this.compareTimeout = null; - } - } - - onLink() { - if (window.dnn !== undefined) { - window.dnn.stopEscapeFromClosingPB = true; - } - this.setState({ showLinkInput: true }); - } - - onBrowse() { - if (window.dnn !== undefined) { - window.dnn.stopEscapeFromClosingPB = true; - } - this.setState({ showFolderPicker: true }); - } - - onButtonClick(action) { - switch (action) { - case "link": - return this.onLink(); - case "browse": - return this.onBrowse(); - } - } - - hideFields() { - if (window.dnn !== undefined) { - window.dnn.stopEscapeFromClosingPB = false; - } - this.setState({ showLinkInput: false, showFolderPicker: false }); - } - - onMouseEnter(text) { - this.setState({ text }); - } - - onMouseLeave() { - this.setState({ text: this.props.defaultText }); - } - - onFileSelect(selectedFolder, selectedFile) { - this.setState({ selectedFolder, selectedFile }, () => { - this.getPreviewUrl(); - this.sendResult(); - }); - this.hideFields(); - } - - - handleImageError() { - this.setState({ fileExist: false }); - } - - onFileUpload(e) { - this.uploadFile(e.target.files[0]); - } - - handleError(error) { - const errorText = error && typeof error === "string" ? error : this.props.uploadFailedText; - this.setState({ uploading: true, errorText }, () => { - setTimeout(() => { - this.setState({ uploading: false, errorText: "" }); - }, 2000); - }); - } - - uploadFile(file) { - if (!file) { - return; - } - const fileFormats = this.props.fileFormats; - this.setState({ fileName: file.name }); - if (fileFormats.length > 0) { - let format = file.type; - const isAcceptFormat = fileFormats.some(f => format === f); - if (!isAcceptFormat) { - return this.handleError(this.props.wrongFormatText); - } - } - - this.postFile(file); - } - - getServiceFramework() { - let sf = this.props.utils.utilities.sf; - sf.controller = "FileUpload"; - sf.moduleRoot = "InternalServices"; - return sf; - } - - uploadFromLink(fileUrl) { - this.setState({ fileUrl: "" }); - this.uploadFromUrl(fileUrl); - this.hideFields(); - } - - showPreview(fileUrl) { - if (this._unmounted) { - return; - } - - this.setState({ fileUrl: "" }); - if (typeof fileUrl !== "string") { - return; - } - this.getImageDimensions(fileUrl); - this.setState({ fileUrl, fileExist: true }); - } - - sendResult() { - const selectedFile = this.state.selectedFile; - const selectedFolder = this.state.selectedFolder; - const fileId = selectedFile ? selectedFile.fileId || +selectedFile.key : null; - const folderPath = selectedFolder ? selectedFolder.value : null; - const fileName = selectedFile ? selectedFile.value : null; - this.props.onSelectFile({ - folderPath, - fileId, - fileName - }); - } - - uploadFromUrl(url) { - const folder = this.props.folderName && typeof this.props.folderName === "string" ? this.props.folderName : ""; - const sf = this.getServiceFramework(); - sf.post("UploadFromUrl", { url, folder }, this.uploadComplete.bind(this), this.handleError.bind(this)); - this.setState({ uploading: true, uploadComplete: false }); - } - - getPreviewUrl() { - const fileId = this.state.selectedFile ? this.state.selectedFile.fileId || +this.state.selectedFile.key : ""; - if (!fileId) { - this.setState({ fileUrl: "", fileExist: false }, this.sendResult.bind(this)); - } else { - const sf = this.getServiceFramework(); - sf.get("loadimage", { fileId }, this.showPreview.bind(this), this.callback); - } - } - - getImageDimensions(src) { - let tempImage = new Image(); - tempImage.src = src; - tempImage.onload = this.compareDimensions.bind(this, tempImage); - } - - compareDimensions(image) { - if (!image) { - return; - } - const componentDimension = this.node.getBoundingClientRect(); - - if (image.height && image.width / image.height > componentDimension.width / componentDimension.height) { - this.setState({ horizontalOrientation: true }); - } else { - this.setState({ horizontalOrientation: false }); - } - } - - postFile(file) { - const formData = new FormData(); - formData.append("postfile", file); - const sf = this.getServiceFramework(); - if (this.props.folderName && typeof this.props.folderName === "string") { - formData.append("folder", this.props.folderName); - } - if (this.props.validationCode && typeof this.props.validationCode === "string") { - formData.append("validationCode", this.props.validationCode); - } - sf.postfile(`UploadFromLocal${this.props.portalId === -1 ? "" : "?portalId=" + this.props.portalId}` , formData, this.uploadComplete.bind(this), this.handleError.bind(this)); - this.setState({ uploading: true, uploadComplete: false }); - - this.clearFileUploaderValue(this.fileInput1Ref); - this.clearFileUploaderValue(this.fileInput2Ref); - } - - clearFileUploaderValue(fileInput) { - if (fileInput) { - fileInput.value = ""; - } - } - - uploadComplete(res) { - this.setState({ uploadComplete: true }, () => { - setTimeout(() => { - this.setState({ uploading: false }); - }, 1000); - }); - const response = typeof res === "string" ? JSON.parse(res) : res; - if (!response.path) { - return; - } - const selectedFile = { value: response.fileName, fileId: response.fileId }; - this.setState({ selectedFile }, () => { - this.getPreviewUrl(); - this.sendResult(); - }); - } - - callback(result) { - } - - onDragOver() { - this.setState({ draggedOver: true, text: this.props.onDragOverText }); - } - - onDragLeave() { - this.setState({ draggedOver: false, text: this.props.defaultText }); - } - - onDrop(e) { - e.preventDefault(); - this.uploadFile(e.dataTransfer.files[0]); - this.onDragLeave(); - } - - getImageStyle() { - const {cropImagePreview} = this.props; - const {horizontalOrientation} = this.state; - let style = { width: "100%", height: "auto" }; - - if (horizontalOrientation && cropImagePreview) { - style = { height: "100%", width: "auto" }; - } - if (!horizontalOrientation && !cropImagePreview) { - style = { height: "100%", width: "auto" }; - } - return style; - } - - onChangeUrl(url) { - const {props, state} = this; - this.setState({fileUrl: url}); - } - - render() { - const {props, state} = this; - - let buttons = Buttons; - if (props.buttons) { - buttons = buttons.filter((button) => { - return props.buttons.some((propButton) => { - return button.name === propButton; - }); - }); - } - - buttons = buttons.map((button) => { - const svg = require(`!raw-loader!./img/${button.name}.svg`).default; - const isUpload = button.name === "upload"; - /* eslint-disable react/no-danger */ - const accept = props.fileFormats.join(","); - return
                                    -
                                    - {isUpload && accept && } - {isUpload && !accept && } -
                                    ; - }); - - const buttonsStyle = { width: buttons.length * 67 }; - const src = state.fileUrl || ""; - const showImage = src && state.fileExist && !state.showLinkInput && !state.showFolderPicker; - const className = "overlay" + (src && state.fileExist ? " has-image" : "") + (state.draggedOver ? " hover" : ""); - - return
                                    this.node = node}> -
                                    -
                                    -
                                    - {buttons} -
                                    - {state.text} -
                                    - - {state.showLinkInput && } - {state.showFolderPicker && } - {showImage &&
                                    - {props.imageText}/
                                    } - {state.selectedFile && -
                                    {state.selectedFile.value}
                                    } -
                                    - {state.uploading && } -
                                    ; - } -} - - -FileUpload.propTypes = { - //---REQUIRED PROPS--- - utils: PropTypes.object.isRequired, - onSelectFile: PropTypes.func.isRequired, - validationCode: PropTypes.string.isRequired, - - //---OPTIONAL PROPS--- - selectedFile: PropTypes.object, - cropImagePreview: PropTypes.bool, - buttons: PropTypes.array, - folderName: PropTypes.string, - portalId: PropTypes.number, - fileFormats: PropTypes.array, - - //-- Localization Props--- - browseButtonText: PropTypes.string, - uploadButtonText: PropTypes.string, - linkButtonText: PropTypes.string, - defaultText: PropTypes.string, - onDragOverText: PropTypes.string, - uploadFailedText: PropTypes.string, - wrongFormatText: PropTypes.string, - imageText: PropTypes.string, - linkInputTitleText: PropTypes.string, - linkInputPlaceholderText: PropTypes.string, - linkInputActionText: PropTypes.string, - uploadCompleteText: PropTypes.string, - uploadingText: PropTypes.string, - uploadDefaultText: PropTypes.string, - browseActionText: PropTypes.string, - notSpecifiedText: PropTypes.string, - searchFilesPlaceHolderText: PropTypes.string, - searchFoldersPlaceHolderText: PropTypes.string, - fileText: PropTypes.string, - folderText: PropTypes.string -}; - -FileUpload.defaultProps = { - cropImagePreview: false, - portalId: -1, - fileFormats: [], - browseButtonText: "Browse Filesystem", - uploadButtonText: "Upload a File", - linkButtonText: "Enter URL Link", - defaultText: "Drag and Drop a File or Select an Option", - onDragOverText: "Drag and Drop a File", - uploadFailedText: "Upload Failed", - wrongFormatText: "wrong format", - imageText: "Image", - linkInputTitleText: "URL Link", - linkInputPlaceholderText: "http://example.com/imagename.jpg", - linkInputActionText: "Press {save|[ENTER]} to save, or {cancel|[ESC]} to cancel", - uploadCompleteText: "Upload Complete", - uploadingText: "Uploading...", - uploadDefaultText: "", - browseActionText: "Press {save|[ENTER]} to save, or {cancel|[ESC]} to cancel", - notSpecifiedText: "", - searchFilesPlaceHolderText: "Search Files...", - searchFoldersPlaceHolderText: "Search Folders...", - fileText: "File", - folderText: "Folder" -}; - - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Browse from "./Browse"; +import UploadBar from "./UploadBar"; + +import "./style.less"; + +const Buttons = [ + { name: "browse" }, + { name: "upload" } +]; + +export default class FileUpload extends Component { + constructor(props) { + super(props); + let fileExist = false; + let selectedFile = null; + let selectedFolder = null; + + this.fileInput1Ref = React.createRef(); + this.fileInput2Ref = React.createRef(); + + this.state = { + text: props.defaultText, + showFolderPicker: false, + + selectedFile, + selectedFolder, + + fileUrl: "", + + fileExist, + draggedOver: false, + isDragging: false, + + fileName: "", + + uploading: false, + uploadComplete: false, + horizontalOrientation: false, + + errorText: "" + }; + this.compareTimeout = setTimeout(this.compareDimensions.bind(this), 2000); + } + + updateStateAndReloadImage(file) { + const selectedFolder = { value: file.folderPath, key: file.folderId }; + const selectedFile = { value: file.fileName, key: file.fileId }; + const fileExist = true; + + this.setState({fileExist, selectedFile, selectedFolder}, () => { + this.getPreviewUrl(file.fileId); + }); + } + + componentDidMount() { + const file = this.props.selectedFile; + if (file) { + this.updateStateAndReloadImage(file); + } + window.addEventListener("dragover", this.prevent); + window.addEventListener("drop", this.prevent); + } + + componentDidUpdate(prevProps) { + const { props } = this; + if (!props.selectedFile && props.selectedFile !== prevProps.selectedFile) { + this.setState({ fileExist: null, selectedFile: null, selectedFolder: null }, () => {}); + return; + } + if (props.selectedFile && props.selectedFile !== prevProps.selectedFile && this.state.selectedFile) + { + if (props.selectedFile.fileId !== (this.state.selectedFile.fileId || + this.state.selectedFile.key)) { + const file = props.selectedFile; + this.updateStateAndReloadImage(file); + } + } + if (props.portalId !== prevProps.portalId) { + this.setState({ showFolderPicker: false }); + } + } + + prevent(e) { + e.preventDefault(); + } + + componentWillUnmount() { + window.removeEventListener("dragover", this.prevent); + window.removeEventListener("drop", this.prevent); + + this._unmounted = true; + if (this.compareTimeout) { + clearTimeout(this.compareTimeout); + this.compareTimeout = null; + } + } + + onBrowse() { + if (window.dnn !== undefined) { + window.dnn.stopEscapeFromClosingPB = true; + } + this.setState({ showFolderPicker: true }); + } + + onButtonClick(action) { + switch (action) { + case "browse": + return this.onBrowse(); + } + } + + hideFields() { + if (window.dnn !== undefined) { + window.dnn.stopEscapeFromClosingPB = false; + } + this.setState({ showFolderPicker: false }); + } + + onMouseEnter(text) { + this.setState({ text }); + } + + onMouseLeave() { + this.setState({ text: this.props.defaultText }); + } + + onFileSelect(selectedFolder, selectedFile) { + this.setState({ selectedFolder, selectedFile }, () => { + this.getPreviewUrl(); + this.sendResult(); + }); + this.hideFields(); + } + + + handleImageError() { + this.setState({ fileExist: false }); + } + + onFileUpload(e) { + this.uploadFile(e.target.files[0]); + } + + handleError(error) { + const errorText = error && typeof error === "string" ? error : this.props.uploadFailedText; + this.setState({ uploading: true, errorText }, () => { + setTimeout(() => { + this.setState({ uploading: false, errorText: "" }); + }, 2000); + }); + } + + uploadFile(file) { + if (!file) { + return; + } + const fileFormats = this.props.fileFormats; + this.setState({ fileName: file.name }); + if (fileFormats.length > 0) { + let format = file.type; + const isAcceptFormat = fileFormats.some(f => format === f); + if (!isAcceptFormat) { + return this.handleError(this.props.wrongFormatText); + } + } + + this.postFile(file); + } + + getServiceFramework() { + let sf = this.props.utils.utilities.sf; + sf.controller = "FileUpload"; + sf.moduleRoot = "InternalServices"; + return sf; + } + + showPreview(fileUrl) { + if (this._unmounted) { + return; + } + + this.setState({ fileUrl: "" }); + if (typeof fileUrl !== "string") { + return; + } + this.getImageDimensions(fileUrl); + this.setState({ fileUrl, fileExist: true }); + } + + sendResult() { + const selectedFile = this.state.selectedFile; + const selectedFolder = this.state.selectedFolder; + const fileId = selectedFile ? selectedFile.fileId || +selectedFile.key : null; + const folderPath = selectedFolder ? selectedFolder.value : null; + const fileName = selectedFile ? selectedFile.value : null; + this.props.onSelectFile({ + folderPath, + fileId, + fileName + }); + } + + getPreviewUrl() { + const fileId = this.state.selectedFile ? this.state.selectedFile.fileId || +this.state.selectedFile.key : ""; + if (!fileId) { + this.setState({ fileUrl: "", fileExist: false }, this.sendResult.bind(this)); + } else { + const sf = this.getServiceFramework(); + sf.get("loadimage", { fileId }, this.showPreview.bind(this), this.callback); + } + } + + getImageDimensions(src) { + let tempImage = new Image(); + tempImage.src = src; + tempImage.onload = this.compareDimensions.bind(this, tempImage); + } + + compareDimensions(image) { + if (!image) { + return; + } + const componentDimension = this.node.getBoundingClientRect(); + + if (image.height && image.width / image.height > componentDimension.width / componentDimension.height) { + this.setState({ horizontalOrientation: true }); + } else { + this.setState({ horizontalOrientation: false }); + } + } + + postFile(file) { + const formData = new FormData(); + formData.append("postfile", file); + const sf = this.getServiceFramework(); + if (this.props.folderName && typeof this.props.folderName === "string") { + formData.append("folder", this.props.folderName); + } + if (this.props.validationCode && typeof this.props.validationCode === "string") { + formData.append("validationCode", this.props.validationCode); + } + sf.postfile(`UploadFromLocal${this.props.portalId === -1 ? "" : "?portalId=" + this.props.portalId}` , formData, this.uploadComplete.bind(this), this.handleError.bind(this)); + this.setState({ uploading: true, uploadComplete: false }); + + this.clearFileUploaderValue(this.fileInput1Ref); + this.clearFileUploaderValue(this.fileInput2Ref); + } + + clearFileUploaderValue(fileInput) { + if (fileInput) { + fileInput.value = ""; + } + } + + uploadComplete(res) { + this.setState({ uploadComplete: true }, () => { + setTimeout(() => { + this.setState({ uploading: false }); + }, 1000); + }); + const response = typeof res === "string" ? JSON.parse(res) : res; + if (!response.path) { + return; + } + const selectedFile = { value: response.fileName, fileId: response.fileId }; + this.setState({ selectedFile }, () => { + this.getPreviewUrl(); + this.sendResult(); + }); + } + + callback(result) { + } + + onDragOver() { + this.setState({ draggedOver: true, text: this.props.onDragOverText }); + } + + onDragLeave() { + this.setState({ draggedOver: false, text: this.props.defaultText }); + } + + onDrop(e) { + e.preventDefault(); + this.uploadFile(e.dataTransfer.files[0]); + this.onDragLeave(); + } + + getImageStyle() { + const {cropImagePreview} = this.props; + const {horizontalOrientation} = this.state; + let style = { width: "100%", height: "auto" }; + + if (horizontalOrientation && cropImagePreview) { + style = { height: "100%", width: "auto" }; + } + if (!horizontalOrientation && !cropImagePreview) { + style = { height: "100%", width: "auto" }; + } + return style; + } + + onChangeUrl(url) { + const {props, state} = this; + this.setState({fileUrl: url}); + } + + render() { + const {props, state} = this; + + let buttons = Buttons; + if (props.buttons) { + buttons = buttons.filter((button) => { + return props.buttons.some((propButton) => { + return button.name === propButton; + }); + }); + } + + buttons = buttons.map((button) => { + const svg = require(`!raw-loader!./img/${button.name}.svg`).default; + const isUpload = button.name === "upload"; + /* eslint-disable react/no-danger */ + const accept = props.fileFormats.join(","); + return
                                    +
                                    + {isUpload && accept && } + {isUpload && !accept && } +
                                    ; + }); + + const buttonsStyle = { width: buttons.length * 67 }; + const src = state.fileUrl || ""; + const showImage = src && state.fileExist && !state.showFolderPicker; + const className = "overlay" + (src && state.fileExist ? " has-image" : "") + (state.draggedOver ? " hover" : ""); + + return
                                    this.node = node}> +
                                    +
                                    +
                                    + {buttons} +
                                    + {state.text} +
                                    + + {state.showFolderPicker && } + {showImage &&
                                    + {props.imageText}/
                                    } + {state.selectedFile && +
                                    {state.selectedFile.value}
                                    } +
                                    + {state.uploading && } +
                                    ; + } +} + + +FileUpload.propTypes = { + //---REQUIRED PROPS--- + utils: PropTypes.object.isRequired, + onSelectFile: PropTypes.func.isRequired, + validationCode: PropTypes.string.isRequired, + + //---OPTIONAL PROPS--- + selectedFile: PropTypes.object, + cropImagePreview: PropTypes.bool, + buttons: PropTypes.array, + folderName: PropTypes.string, + portalId: PropTypes.number, + fileFormats: PropTypes.array, + + //-- Localization Props--- + browseButtonText: PropTypes.string, + uploadButtonText: PropTypes.string, + defaultText: PropTypes.string, + onDragOverText: PropTypes.string, + uploadFailedText: PropTypes.string, + wrongFormatText: PropTypes.string, + imageText: PropTypes.string, + uploadCompleteText: PropTypes.string, + uploadingText: PropTypes.string, + uploadDefaultText: PropTypes.string, + browseActionText: PropTypes.string, + notSpecifiedText: PropTypes.string, + searchFilesPlaceHolderText: PropTypes.string, + searchFoldersPlaceHolderText: PropTypes.string, + fileText: PropTypes.string, + folderText: PropTypes.string +}; + +FileUpload.defaultProps = { + cropImagePreview: false, + portalId: -1, + fileFormats: [], + browseButtonText: "Browse Filesystem", + uploadButtonText: "Upload a File", + defaultText: "Drag and Drop a File or Select an Option", + onDragOverText: "Drag and Drop a File", + uploadFailedText: "Upload Failed", + wrongFormatText: "wrong format", + imageText: "Image", + uploadCompleteText: "Upload Complete", + uploadingText: "Uploading...", + uploadDefaultText: "", + browseActionText: "Press {save|[ENTER]} to save, or {cancel|[ESC]} to cancel", + notSpecifiedText: "", + searchFilesPlaceHolderText: "Search Files...", + searchFoldersPlaceHolderText: "Search Folders...", + fileText: "File", + folderText: "Folder" +}; + + diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/PagePicker/index.jsx b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/PagePicker/index.jsx index e961a922ede..5c28c324408 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/PagePicker/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/src/PagePicker/index.jsx @@ -1,742 +1,742 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import Collapse from "react-collapse"; -import SearchBox from "../SearchBox"; -import {ArrowDownIcon, ArrowRightIcon, CheckboxUncheckedIcon, CheckboxCheckedIcon, CheckboxPartialCheckedIcon, PagesIcon} from "../SvgIcons"; -import "./style.less"; -import Service from "./Service"; -import PagePickerScrollbar from "./PagePickerScrollbar"; - - -function format() { - let format = arguments[0]; - let methodsArguments = arguments; - return format.replace(/{(\d+)}/gi, function (value, index) { - let argumentsIndex = parseInt(index) + 1; - return methodsArguments[argumentsIndex]; - }); -} - -class PagePicker extends Component { - constructor(props) { - super(props); - this.state = { - dropDownOpen: false, - portalTabs: [], - selectedPages: [], - totalCount: 0, - selectedPage: props.defaultLabel - }; - this.loaded = false; - this.handleClick = this.handleClick.bind(this); - - this.dnnPagePickerRef = React.createRef(); - this.pagePickerContent = React.createRef(); - } - - UNSAFE_componentWillMount() { - this._isMounted = false; - if (!this.props.IsMultiSelect) { - this.setDefaultPage(this.props); - } - if (!this.props.IsInDropDown) { - this.initialize(this.props); - } - this.setState({ - selectedPage: this.props.defaultLabel - }); - } - - UNSAFE_componentWillReceiveProps(newProps) { - //reload if any query param changed - const {props} = this; - if (props.PortalTabsParameters.portalId !== newProps.PortalTabsParameters.portalId || - props.PortalTabsParameters.cultureCode !== newProps.PortalTabsParameters.cultureCode || - props.PortalTabsParameters.isMultiLanguage !== newProps.PortalTabsParameters.isMultiLanguage || - props.PortalTabsParameters.excludeAdminTabs !== newProps.PortalTabsParameters.excludeAdminTabs || - props.PortalTabsParameters.roles !== newProps.PortalTabsParameters.roles) { - this.setState({portalTabs: []}); - this.loaded = false; - return; - } - - if (newProps.Reload && !newProps.IsInDropDown && this._isMounted) { - if (!newProps.IsMultiSelect) { - if (newProps.selectedTabId !== this.props.selectedTabId) { - this.setDefaultPage(newProps); - } - } - this.setState({ selectedPages: [], dropDownOpen: false, portalTabs: [] }, () => { - this.initialize(newProps); - }); - } - else if (!this.props.IsMultiSelect && newProps.IsInDropDown && this._isMounted) { - if (newProps.selectedTabId !== this.props.selectedTabId) { - this.setDefaultPage(newProps); - } - } - } - - componentDidMount() { - this._isMounted = true; - const {props} = this; - if (props.closeOnBlur) { - document.addEventListener("click", this.handleClick); - } - this._isMounted = true; - } - - componentWillUnmount() { - document.removeEventListener("click", this.handleClick); - this._isMounted = false; - } - - initialize(props, callback) { - this.getPortalTabs(props.cultureCode, () => { - this.setPages(() => { - if (callback) - callback(); - }); - }); - } - - getPortalTabs(cultureCode, callback) { - const { props } = this; - let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); - const portalTabsParameters = !props.IsMultiSelect ? Object.assign(props.PortalTabsParameters, { selectedTabId: props.selectedTabId }) : Object.assign(props.PortalTabsParameters); - service.getPortalTabs(portalTabsParameters, (data) => { - this.setState({ - portalTabs: [data.Results] - }, () => { - if (callback) { - callback(); - } - }); - }); - } - - setPages(callback) { - const {props} = this; - this.loaded = true; - let {portalTabs} = this.state; - if (!props.IsMultiSelect) { - portalTabs[0].Name = props.noneSpecifiedText; - } - if (portalTabs[0].ChildTabs !== undefined) { - portalTabs[0].IsOpen = true; - portalTabs[0].Processed = true; - portalTabs[0].ParentTabId = undefined; - portalTabs[0].ChildTabs = portalTabs[0].ChildTabs.map(tab => { - tab.TabId = tab.TabId !== null ? parseInt(tab.TabId) : -1; - tab.ChildTabs = tab.ChildTabs !== null ? tab.ChildTabs : []; - return tab; - }); - } - this.setState({ - portalTabs - }, () => { - this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); - if (props.IsMultiSelect && props.allSelected) { - this.onPageSelect(portalTabs[0]); - } - if (typeof callback === "function") - callback(); - }); - } - - getClassName() { - const {props} = this; - let className = "dnn-page-picker"; - if (props.IsInDropDown) { - className += (props.withBorder ? " with-border" : ""); - } - - className += (" " + props.className); - - if (!props.enabled) { - className += " disabled"; - } - return className; - } - - getDropdownLabel() { - const { state } = this; - let label = state.selectedPage; - return label; - } - - SetOpenNodesCount(root, lastId, count) { - if (root.IsOpen && root.ChildTabs !== null && root.ChildTabs.length > 0) { - root.ChildTabs.map((child) => { - count++; - if (child.IsOpen && child.ChildTabs !== null && child.ChildTabs.length > 0) { - count = this.SetOpenNodesCount(child, lastId, count); - } - return count; - }); - } - if (root.TabId === lastId) { - this.setState({ - totalCount: count - }); - } - return count; - } - - onPageSelect(page, keepOpen) { - keepOpen = keepOpen === undefined || (typeof keepOpen) !== "boolean" ? false : keepOpen; - const {props} = this; - if (props.IsMultiSelect) { - page.CheckedState = page.CheckedState === 1 ? 0 : 1; - let selectedPagesC = Object.assign([], this.state.selectedPages); - selectedPagesC = this.CheckUnCheckAllChildren(page, page.CheckedState, selectedPagesC); - this.setState({ selectedPages: selectedPagesC }, () => { - this.DoRecursiveSelect(page, page.TabId, page.CheckedState, () => { - let {selectedPages} = this.state; - this.props.OnSelect(selectedPages); - }); - }); - } else { - let {portalTabs} = this.state; - this.UnCheckAllExcept(Object.assign([], portalTabs[0]), page, (data) => { - if (props.selectedTabId === -1) { - data.CheckedState = 0; - } else { - data.CheckedState = 1; - } - portalTabs[0] = data; - page.CheckedState = 0; - this.setState({ portalTabs }, () => { - if (page.TabId !== props.selectedTabId) { - this.props.OnSelect(page.TabId, page.Name); - } - if (props.IsInDropDown) { - this.setState({ - selectedPage: page.Name, - dropDownOpen: keepOpen - }); - } - }); - }); - } - } - //page is passed by reference. - getDescendants(page, callback, event) { - if (event) { - event.stopPropagation(); - } - const { props } = this; - let parentToAddChildrenTo = page; - if (parentToAddChildrenTo.ChildTabs && parentToAddChildrenTo.ChildTabs.length > 0) { - parentToAddChildrenTo.IsOpen = !parentToAddChildrenTo.IsOpen; - - //Add timeout to let render through - the dropdown will close on collapse of children if this is not here. - setTimeout(() => { - this.setState({}, () => { - this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); - }); - }, 0); - - return; - } - const portalTabsDescendantsParameters = Object.assign(props.PortalTabsParameters, { parentId: page.TabId }); - - let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); - service.getTabsDescendants(portalTabsDescendantsParameters, - (data) => { - parentToAddChildrenTo.IsOpen = true; - parentToAddChildrenTo.ChildTabs = data.Results.map((child) => { - if (page.CheckedState === 0) { - let selectedPages = Object.assign([], this.state.selectedPages); - selectedPages = this.UpdateSelectedData(child, page.CheckedState !== undefined ? page.CheckedState : 1, selectedPages); - if (props.IsMultiSelect && page.CheckedState === 0) { - this.setState({ selectedPages }, () => { - let {selectedPages} = this.state; - this.props.OnSelect(selectedPages); - }); - } - } - return { - HasChildren: child.HasChildren, - ImageUrl: child.ImageUrl, - Name: child.Name, - ParentTabId: page.TabId, - TabId: child.TabId, - Tooltip: child.Tooltip, - CheckedState: this.props.IsMultiSelect ? (page.CheckedState !== undefined ? page.CheckedState : 1) : 1, - ChildTabs: child.ChildTabs !== null ? child.ChildTabs : [], - Selectable: child.Selectable - }; - }); - this.setState({}, () => { - this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); - }); - if (callback) { - callback(); - } - }); - } - - getSelected(page, isCurrentOrDescendant) { - let className = "page-value"; - if (page.Selectable && !isCurrentOrDescendant) - className += (page.CheckedState !== 1 ? " selected" : ""); - else - className += " non-selectable"; - return className; - } - - /* eslint-disable react/no-danger */ - getChildItems(children, isCurrentOrDescendant) { - if (!children) { - return []; - } - return children.map((page) => { - const {props} = this; - const checkboxIcon = this.getCheckboxIcon(page.CheckedState); - const pageIcon = PagesIcon; - const textClass = props.IsMultiSelect && props.ShowIcon ? " text-with-page-icon" : (!props.IsMultiSelect && !props.ShowIcon ? "no-icon" : ""); - const pageClass = props.IsMultiSelect && props.ShowIcon ? " page-icon" : ""; - const parentNotSelectable = isCurrentOrDescendant ? isCurrentOrDescendant : this.props.currentTabId === parseInt(page.TabId); - - return
                                  • - {(!page.IsOpen && page.HasChildren) &&
                                    } - {(page.IsOpen && page.HasChildren) &&
                                    } -
                                    - { props.ShowIcon && -
                                    - } - {props.IsMultiSelect &&
                                    } -
                                    {page.Name}
                                    -
                                    - {page.ChildTabs !== null && page.ChildTabs.length > 0 && -
                                      - {this.getChildItems(page.ChildTabs, parentNotSelectable) } -
                                    - } -
                                  • ; - }); - } - - toggleDropdown() { - const {props} = this; - if (!this.loaded) { - this.initialize(props, () => { - if (props.selectedTabId === -1) { - this.setDefaultPage(props, true); - } - }); - } - if (props.enabled) { - this.setState({ - dropDownOpen: !this.state.dropDownOpen - }); - } - else { - this.setState({ - dropDownOpen: false - }); - } - } - - getCountText() { - return format(this.props.CountText, this.state.totalCount); - } - - findTabById(tabId, tabs, tab) { - if (tab === null) { - for (let i = 0; i < tabs.length; i++) { - let child = tabs[i]; - if (tab === null) { - if (child.TabId === tabId) { - tab = child; - } - else if (child.HasChildren && child.ChildTabs !== null && child.ChildTabs.length > 0) { - tab = this.findTabById(tabId, child.ChildTabs, tab); - } - } else { - break; - } - } - } - return tab; - } - //Single Selection Methods - //Set the dropdown label to the default selected page name. - setDefaultPage(props, keepOpen) { - if (props.IsInDropDown && !props.IsMultiSelect) { - let {portalTabs} = this.state; - if (portalTabs !== undefined && portalTabs.length > 0) { - let page = null; - if (props.selectedTabId === -1) { - page = portalTabs[0]; - } else { - page = this.findTabById(props.selectedTabId, portalTabs[0].ChildTabs, null); - } - if (page !== undefined && page !== null) { - this.onPageSelect(page, keepOpen); - } - } - else if (props.selectedTabId >= 0) { - let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); - service.getPortalTab({ - portalId: props.PortalTabsParameters.portalId, - tabId: props.selectedTabId, - cultureCode: props.PortalTabsParameters.cultureCode - }, (tab) => { - let {selectedPage} = this.state; - selectedPage = tab.Results.Name; - this.setState({ selectedPage }); - }); - } - else if (props.selectedTabId === -1) { - let {selectedPage} = this.state; - selectedPage = props.noneSpecifiedText; - this.setState({ selectedPage }); - } - } - } - - handleClick(event) { - const {props} = this; - // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called - // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid - // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code - if (!this._isMounted || !props.closeOnBlur || !props.IsInDropDown) { return; } - if (!this.dnnPagePickerRef.current.contains(event.target) && (typeof event.target.className === "string" && event.target.className.indexOf("do-not-close") === -1)) { - this.setState({ - dropDownOpen: false - }); - } - } - - UnCheckAllExcept(root, page, callback) { - if (page.CheckedState !== 0) { - if (root.HasChildren && root.ChildTabs !== null && root.ChildTabs.length > 0) { - root.ChildTabs = root.ChildTabs.map(child => { - if (child.TabId !== page.TabId) { - child.CheckedState = 1; - } - if (child.HasChildren && child.ChildTabs !== null && child.ChildTabs.length > 0) { - child = this.UnCheckAllExcept(child, page); - } - return child; - }); - } - if (callback !== undefined) { - callback(root); - } - } - if (callback !== undefined) { - callback(root); - } - return root; - } - - onSearch(value) { - const {props} = this; - - if (value !== "") { - const apiParameters = Object.assign(props.PortalTabsParameters, { searchText: value }); - let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); - - service.searchPortalTabs(apiParameters, (data) => { - this.setState({ - portalTabs: [data.Results] - }, () => { - this.setPages(); - }); - }); - } else { - this.initialize(props); - } - } - //Single Selection Methods Ends - - //Multi Selection Methods - CheckUnCheckAllChildren(root, checked, selectedPages) { - selectedPages = this.UpdateSelectedData(root, checked, selectedPages); - root.CheckedState = checked; - this.setState({}); - if (root.HasChildren && root.ChildTabs.length > 0) { - root.ChildTabs.forEach(child => { - selectedPages = this.CheckUnCheckAllChildren(child, checked, selectedPages); - }); - } - return selectedPages; - } - - UpdateSelectedData(Tab, checked, selectedPages) { - if ((checked === 0 || checked === 2) && !selectedPages.some(page => page.TabId === Tab.TabId && page.CheckedState === checked)) { - selectedPages = selectedPages.filter(page => { - return page.TabId !== Tab.TabId; - }); - selectedPages = [{ - TabId: Tab.TabId, - ParentTabId: Tab.ParentTabId !== undefined ? Tab.ParentTabId : -1, - CheckedState: checked - }].concat(selectedPages); - - } else if (checked === 1 && selectedPages.some(page => page.TabId === Tab.TabId)) { - selectedPages = selectedPages.filter(page => { - return page.TabId !== Tab.TabId; - }); - } - return selectedPages; - } - - DoRecursiveSelect(page, mainKey, originalChecked, callback) { - let {portalTabs} = this.state; - let checked = originalChecked; - if (mainKey !== page.TabId && page.HasChildren && page.ChildTabs.length > 0) { - if (!page.ChildTabs.some(child => child.CheckedState === undefined || child.CheckedState === 1 || child.CheckedState === 2)) - checked = 0; - else if (page.ChildTabs.some(child => child.CheckedState !== undefined && child.CheckedState === 0 && child.CheckedState === 2)) - checked = 1; - else if (page.ChildTabs.some(child => child.CheckedState !== undefined && (child.CheckedState === 2 || child.CheckedState === 0))) - checked = 2; - } - let selectedPages = Object.assign([], this.state.selectedPages); - selectedPages = this.UpdateSelectedData(page, checked, selectedPages); - this.setState({ selectedPages }, () => { - page.CheckedState = checked; - this.setState({}); - let parentId = page.ParentTabId; - if (parentId !== undefined) { - let children = portalTabs; - let parent = this.RecursiveFindParent(parentId, children); - if (parent !== undefined && parent !== null) { - this.setState({}); - if (parent.HasChildren && parent.ChildTabs.length > 0) { - this.DoRecursiveSelect(parent, mainKey, originalChecked, callback); - } else { - return; - } - } - } else { - let selectedPages = Object.assign([], this.state.selectedPages); - selectedPages = this.UpdateSelectedData(this.state.portalTabs[0], checked, selectedPages); - this.setState({ selectedPages }); - if (callback) - callback(); - } - }); - if (callback) - callback(); - } - - RecursiveFindParent(parentId, currentTree) { - let parent = null; - if (currentTree.some(child => child.IsOpen && child.TabId === parentId)) { - parent = currentTree.find(child => child.IsOpen && child.TabId === parentId); - } else if (parent === undefined || parent === null) { - for (let child of currentTree) { - if (child.HasChildren && child.ChildTabs.length > 0) { - parent = this.RecursiveFindParent(parentId, child.ChildTabs); - if (parent !== undefined && parent !== null) { - break; - } - } - } - } - return parent; - } - - getCheckboxIcon(selected) { - switch (selected) { - case 0: - return CheckboxCheckedIcon; - case 2: - return CheckboxPartialCheckedIcon; - case 1: - return CheckboxUncheckedIcon; - default: - return CheckboxUncheckedIcon; - } - } - - //Multi Selection Methods Ends - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - - if (this.loaded || props.IsInDropDown) { - let picker =
                                    ; - if (state.portalTabs.length > 0 && state.portalTabs[0].Processed) { - let children = state.portalTabs.length > 0 && state.portalTabs[0].Processed && this.getChildItems(state.portalTabs); - picker = - this.node = node}> -
                                    -
                                      - {state.portalTabs.length > 0 && state.portalTabs[0].Processed && children} - {state.portalTabs.length <= 0 || !state.portalTabs[0].Processed && props.noneSpecified} -
                                    -
                                    -
                                    ; - } - return ( -
                                    - { - props.IsInDropDown && -
                                    - {this.getDropdownLabel() } -
                                    - } - {props.IsInDropDown && props.withIcon && -
                                    - } - {props.IsInDropDown && -
                                    - - {!props.IsMultiSelect && props.SearchEnabled && - - } - {picker} - {props.ShowCount &&
                                    } -
                                    -
                                    - } - { - !props.IsInDropDown &&
                                    { picker } - {props.ShowCount &&
                                    } -
                                    - } - -
                                    - ); - } - else { - return (
                                    ); - } - } -} - -PagePicker.propTypes = { - - //Class name to attach to parent - className: PropTypes.string, - - //Style of scrollarea - page picker box, override if necessary. - scrollAreaStyle: PropTypes.object, - - //Whether or not the dropdown toggle has a border. - withBorder: PropTypes.bool, - - //Show the dropdown icon - withIcon: PropTypes.bool, - - //Set to false to disable the picker (readonly) - enabled: PropTypes.bool, - - //Close the picker on click outside. - closeOnBlur: PropTypes.bool, - - //Placeholder text in searchbox. - placeholderText: PropTypes.string, - - //None specified Text- default if none is selected - noneSpecifiedText: PropTypes.string, - - //Default label shown before pinging API. - defaultLabel: PropTypes.string, - - //callback method on selection of a tab. - //In case of "Single" selection mode it will send back currently selected tabid and tabname. - //In case of "Multi" selection mode it will send back array currently selected tabs. - OnSelect: PropTypes.func.isRequired, - - //Send as true if you all the tabs to be pre selected. This will work only in case of IsMultiSelect=true - allSelected: PropTypes.bool, - - //The parameters to list the portal tabs. Default is : {portalId: 0,cultureCode: "",isMultiLanguage: false,excludeAdminTabs: false,disabledNotSelectable: false,roles: "1;-1",sortOrder: 0} - PortalTabsParameters: PropTypes.object, - - //Id of the tab which should be selected by default. Default is -1 - //This will work only in case of IsMultiSelect=false. - selectedTabId: PropTypes.number, - - //Tells the component to reload. Use this if circumstances have changed at UI end and need the page picker to reload with new props. e.g. cultureCode code changed. - Reload: PropTypes.bool, - - //Selection mode of the tree. Default is "Single" - IsMultiSelect: PropTypes.bool, - - //Default: true, Shows the tree in the dropdown mode. - IsInDropDown: PropTypes.bool, - - ShowIcon: PropTypes.bool, - - //Default: true, Enables the search of the tabs. This will work only in case of IsMultiSelect=false - SearchEnabled: PropTypes.bool, - - //If true, show the count of total tabs in the tree. - ShowCount: PropTypes.bool, - - //The text to show in the count. Default is "{0} Results". Please include {0} at the place you want to show the count. - CountText: PropTypes.string, - - //Service Framework module root - moduleRoot: PropTypes.string, - - //Service Framework controller - controller: PropTypes.string, - - serviceFramework: PropTypes.object, - - currentTabId: PropTypes.number, - - scrollbarThumbStyleDefault: PropTypes.object -}; - -PagePicker.defaultProps = { - defaultLabel: "-- Select --", - IsMultiSelect: false, - SearchEnabled: true, - ShowCount: true, - CountText: "{0} Results", - ShowIcon: true, - IsInDropDown: true, - Reload: false, - noneSpecifiedText: "< None Specified >", - withIcon: true, - withBorder: true, - closeOnBlur: true, - enabled: true, - className: "", - placeholderText: "Search pages..", - style: { - width: 300 - }, - scrollAreaStyle: { - width: "100%", - minHeight: 300, - marginTop: 0, - border: "1px solid #c8c8c8" - }, - moduleRoot: "PersonaBar", - controller: "Tabs", - PortalTabsParameters: { - portalId: -2, - cultureCode: "", - isMultiLanguage: false, - excludeAdminTabs: false, - disabledNotSelectable: false, - roles: "1;-1", - sortOrder: 0, - includeDeletedChildren: true - }, - selectedTabId: -1 -}; - - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import Collapse from "react-collapse"; +import SearchBox from "../SearchBox"; +import {ArrowDownIcon, ArrowRightIcon, CheckboxUncheckedIcon, CheckboxCheckedIcon, CheckboxPartialCheckedIcon, PagesIcon} from "../SvgIcons"; +import "./style.less"; +import Service from "./Service"; +import PagePickerScrollbar from "./PagePickerScrollbar"; + + +function format() { + let format = arguments[0]; + let methodsArguments = arguments; + return format.replace(/{(\d+)}/gi, function (value, index) { + let argumentsIndex = parseInt(index) + 1; + return methodsArguments[argumentsIndex]; + }); +} + +class PagePicker extends Component { + constructor(props) { + super(props); + this.state = { + dropDownOpen: false, + portalTabs: [], + selectedPages: [], + totalCount: 0, + selectedPage: props.defaultLabel + }; + this.loaded = false; + this.handleClick = this.handleClick.bind(this); + + this.dnnPagePickerRef = React.createRef(); + this.pagePickerContent = React.createRef(); + } + + UNSAFE_componentWillMount() { + this._isMounted = false; + if (!this.props.IsMultiSelect) { + this.setDefaultPage(this.props); + } + if (!this.props.IsInDropDown) { + this.initialize(this.props); + } + this.setState({ + selectedPage: this.props.defaultLabel + }); + } + + UNSAFE_componentWillReceiveProps(newProps) { + //reload if any query param changed + const {props} = this; + if (props.PortalTabsParameters.portalId !== newProps.PortalTabsParameters.portalId || + props.PortalTabsParameters.cultureCode !== newProps.PortalTabsParameters.cultureCode || + props.PortalTabsParameters.isMultiLanguage !== newProps.PortalTabsParameters.isMultiLanguage || + props.PortalTabsParameters.excludeAdminTabs !== newProps.PortalTabsParameters.excludeAdminTabs || + props.PortalTabsParameters.roles !== newProps.PortalTabsParameters.roles) { + this.setState({portalTabs: []}); + this.loaded = false; + return; + } + + if (newProps.Reload && !newProps.IsInDropDown && this._isMounted) { + if (!newProps.IsMultiSelect) { + if (newProps.selectedTabId !== this.props.selectedTabId) { + this.setDefaultPage(newProps); + } + } + this.setState({ selectedPages: [], dropDownOpen: false, portalTabs: [] }, () => { + this.initialize(newProps); + }); + } + else if (!this.props.IsMultiSelect && newProps.IsInDropDown && this._isMounted) { + if (newProps.selectedTabId !== this.props.selectedTabId) { + this.setDefaultPage(newProps); + } + } + } + + componentDidMount() { + this._isMounted = true; + const {props} = this; + if (props.closeOnBlur) { + document.addEventListener("click", this.handleClick); + } + this._isMounted = true; + } + + componentWillUnmount() { + document.removeEventListener("click", this.handleClick); + this._isMounted = false; + } + + initialize(props, callback) { + this.getPortalTabs(props.cultureCode, () => { + this.setPages(() => { + if (callback) + callback(); + }); + }); + } + + getPortalTabs(cultureCode, callback) { + const { props } = this; + let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); + const portalTabsParameters = !props.IsMultiSelect ? Object.assign(props.PortalTabsParameters, { selectedTabId: props.selectedTabId }) : Object.assign(props.PortalTabsParameters); + service.getPortalTabs(portalTabsParameters, (data) => { + this.setState({ + portalTabs: [data.Results] + }, () => { + if (callback) { + callback(); + } + }); + }); + } + + setPages(callback) { + const {props} = this; + this.loaded = true; + let {portalTabs} = this.state; + if (!props.IsMultiSelect) { + portalTabs[0].Name = props.noneSpecifiedText; + } + if (portalTabs[0].ChildTabs !== undefined) { + portalTabs[0].IsOpen = true; + portalTabs[0].Processed = true; + portalTabs[0].ParentTabId = undefined; + portalTabs[0].ChildTabs = portalTabs[0].ChildTabs.map(tab => { + tab.TabId = tab.TabId !== null ? parseInt(tab.TabId) : -1; + tab.ChildTabs = tab.ChildTabs !== null ? tab.ChildTabs : []; + return tab; + }); + } + this.setState({ + portalTabs + }, () => { + this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); + if (props.IsMultiSelect && props.allSelected) { + this.onPageSelect(portalTabs[0]); + } + if (typeof callback === "function") + callback(); + }); + } + + getClassName() { + const {props} = this; + let className = "dnn-page-picker"; + if (props.IsInDropDown) { + className += (props.withBorder ? " with-border" : ""); + } + + className += (" " + props.className); + + if (!props.enabled) { + className += " disabled"; + } + return className; + } + + getDropdownLabel() { + const { state } = this; + let label = state.selectedPage; + return label; + } + + SetOpenNodesCount(root, lastId, count) { + if (root.IsOpen && root.ChildTabs !== null && root.ChildTabs.length > 0) { + root.ChildTabs.map((child) => { + count++; + if (child.IsOpen && child.ChildTabs !== null && child.ChildTabs.length > 0) { + count = this.SetOpenNodesCount(child, lastId, count); + } + return count; + }); + } + if (root.TabId === lastId) { + this.setState({ + totalCount: count + }); + } + return count; + } + + onPageSelect(page, keepOpen) { + keepOpen = keepOpen === undefined || (typeof keepOpen) !== "boolean" ? false : keepOpen; + const {props} = this; + if (props.IsMultiSelect) { + page.CheckedState = page.CheckedState === 1 ? 0 : 1; + let selectedPagesC = Object.assign([], this.state.selectedPages); + selectedPagesC = this.CheckUnCheckAllChildren(page, page.CheckedState, selectedPagesC); + this.setState({ selectedPages: selectedPagesC }, () => { + this.DoRecursiveSelect(page, page.TabId, page.CheckedState, () => { + let {selectedPages} = this.state; + this.props.OnSelect(selectedPages); + }); + }); + } else { + let {portalTabs} = this.state; + this.UnCheckAllExcept(Object.assign([], portalTabs[0]), page, (data) => { + if (props.selectedTabId === -1) { + data.CheckedState = 0; + } else { + data.CheckedState = 1; + } + portalTabs[0] = data; + page.CheckedState = 0; + this.setState({ portalTabs }, () => { + if (page.TabId !== props.selectedTabId) { + this.props.OnSelect(page.TabId, page.Name); + } + if (props.IsInDropDown) { + this.setState({ + selectedPage: page.Name, + dropDownOpen: keepOpen + }); + } + }); + }); + } + } + //page is passed by reference. + getDescendants(page, callback, event) { + if (event) { + event.stopPropagation(); + } + const { props } = this; + let parentToAddChildrenTo = page; + if (parentToAddChildrenTo.ChildTabs && parentToAddChildrenTo.ChildTabs.length > 0) { + parentToAddChildrenTo.IsOpen = !parentToAddChildrenTo.IsOpen; + + //Add timeout to let render through - the dropdown will close on collapse of children if this is not here. + setTimeout(() => { + this.setState({}, () => { + this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); + }); + }, 0); + + return; + } + const portalTabsDescendantsParameters = Object.assign(props.PortalTabsParameters, { parentId: page.TabId }); + + let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); + service.getTabsDescendants(portalTabsDescendantsParameters, + (data) => { + parentToAddChildrenTo.IsOpen = true; + parentToAddChildrenTo.ChildTabs = data.Results.map((child) => { + if (page.CheckedState === 0) { + let selectedPages = Object.assign([], this.state.selectedPages); + selectedPages = this.UpdateSelectedData(child, page.CheckedState !== undefined ? page.CheckedState : 1, selectedPages); + if (props.IsMultiSelect && page.CheckedState === 0) { + this.setState({ selectedPages }, () => { + let {selectedPages} = this.state; + this.props.OnSelect(selectedPages); + }); + } + } + return { + HasChildren: child.HasChildren, + ImageUrl: child.ImageUrl, + Name: child.Name, + ParentTabId: page.TabId, + TabId: child.TabId, + Tooltip: child.Tooltip, + CheckedState: this.props.IsMultiSelect ? (page.CheckedState !== undefined ? page.CheckedState : 1) : 1, + ChildTabs: child.ChildTabs !== null ? child.ChildTabs : [], + Selectable: child.Selectable + }; + }); + this.setState({}, () => { + this.SetOpenNodesCount(this.state.portalTabs[0], this.state.portalTabs[0].TabId, 0); + }); + if (callback) { + callback(); + } + }); + } + + getSelected(page, isCurrentOrDescendant) { + let className = "page-value"; + if (page.Selectable && !isCurrentOrDescendant) + className += (page.CheckedState !== 1 ? " selected" : ""); + else + className += " non-selectable"; + return className; + } + + /* eslint-disable react/no-danger */ + getChildItems(children, isCurrentOrDescendant) { + if (!children) { + return []; + } + return children.map((page) => { + const {props} = this; + const checkboxIcon = this.getCheckboxIcon(page.CheckedState); + const pageIcon = PagesIcon; + const textClass = props.IsMultiSelect && props.ShowIcon ? " text-with-page-icon" : (!props.IsMultiSelect && !props.ShowIcon ? "no-icon" : ""); + const pageClass = props.IsMultiSelect && props.ShowIcon ? " page-icon" : ""; + const parentNotSelectable = isCurrentOrDescendant ? isCurrentOrDescendant : this.props.currentTabId === parseInt(page.TabId); + + return
                                  • + {(!page.IsOpen && page.HasChildren) &&
                                    } + {(page.IsOpen && page.HasChildren) &&
                                    } +
                                    + { props.ShowIcon && +
                                    + } + {props.IsMultiSelect &&
                                    } +
                                    {page.Name}
                                    +
                                    + {page.ChildTabs !== null && page.ChildTabs.length > 0 && +
                                      + {this.getChildItems(page.ChildTabs, parentNotSelectable) } +
                                    + } +
                                  • ; + }); + } + + toggleDropdown() { + const {props} = this; + if (!this.loaded) { + this.initialize(props, () => { + if (props.selectedTabId === -1) { + this.setDefaultPage(props, true); + } + }); + } + if (props.enabled) { + this.setState({ + dropDownOpen: !this.state.dropDownOpen + }); + } + else { + this.setState({ + dropDownOpen: false + }); + } + } + + getCountText() { + return format(this.props.CountText, this.state.totalCount); + } + + findTabById(tabId, tabs, tab) { + if (tab === null) { + for (let i = 0; i < tabs.length; i++) { + let child = tabs[i]; + if (tab === null) { + if (child.TabId === tabId) { + tab = child; + } + else if (child.HasChildren && child.ChildTabs !== null && child.ChildTabs.length > 0) { + tab = this.findTabById(tabId, child.ChildTabs, tab); + } + } else { + break; + } + } + } + return tab; + } + //Single Selection Methods + //Set the dropdown label to the default selected page name. + setDefaultPage(props, keepOpen) { + if (props.IsInDropDown && !props.IsMultiSelect) { + let {portalTabs} = this.state; + if (portalTabs !== undefined && portalTabs.length > 0) { + let page = null; + if (props.selectedTabId === -1) { + page = portalTabs[0]; + } else { + page = this.findTabById(props.selectedTabId, portalTabs[0].ChildTabs, null); + } + if (page !== undefined && page !== null) { + this.onPageSelect(page, keepOpen); + } + } + else if (props.selectedTabId >= 0) { + let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); + service.getPortalTab({ + portalId: props.PortalTabsParameters.portalId, + tabId: props.selectedTabId, + cultureCode: props.PortalTabsParameters.cultureCode + }, (tab) => { + let {selectedPage} = this.state; + selectedPage = tab.Results.Name; + this.setState({ selectedPage }); + }); + } + else if (props.selectedTabId === -1) { + let {selectedPage} = this.state; + selectedPage = props.noneSpecifiedText; + this.setState({ selectedPage }); + } + } + } + + handleClick(event) { + const {props} = this; + // Note: this workaround is needed in IE. The remove event listener in the componentWillUnmount is called + // before the handleClick handler is called, but in spite of that, the handleClick is executed. To avoid + // the "findDOMNode was called on an unmounted component." error we need to check if the component is mounted before execute this code + if (!this._isMounted || !props.closeOnBlur || !props.IsInDropDown) { return; } + if (!this.dnnPagePickerRef.current.contains(event.target) && (typeof event.target.className === "string" && event.target.className.indexOf("do-not-close") === -1)) { + this.setState({ + dropDownOpen: false + }); + } + } + + UnCheckAllExcept(root, page, callback) { + if (page.CheckedState !== 0) { + if (root.HasChildren && root.ChildTabs !== null && root.ChildTabs.length > 0) { + root.ChildTabs = root.ChildTabs.map(child => { + if (child.TabId !== page.TabId) { + child.CheckedState = 1; + } + if (child.HasChildren && child.ChildTabs !== null && child.ChildTabs.length > 0) { + child = this.UnCheckAllExcept(child, page); + } + return child; + }); + } + if (callback !== undefined) { + callback(root); + } + } + if (callback !== undefined) { + callback(root); + } + return root; + } + + onSearch(value) { + const {props} = this; + + if (value !== "") { + const apiParameters = Object.assign(props.PortalTabsParameters, { searchText: value }); + let service = new Service(this.props.serviceFramework, this.props.moduleRoot, this.props.controller); + + service.searchPortalTabs(apiParameters, (data) => { + this.setState({ + portalTabs: [data.Results] + }, () => { + this.setPages(); + }); + }); + } else { + this.initialize(props); + } + } + //Single Selection Methods Ends + + //Multi Selection Methods + CheckUnCheckAllChildren(root, checked, selectedPages) { + selectedPages = this.UpdateSelectedData(root, checked, selectedPages); + root.CheckedState = checked; + this.setState({}); + if (root.HasChildren && root.ChildTabs.length > 0) { + root.ChildTabs.forEach(child => { + selectedPages = this.CheckUnCheckAllChildren(child, checked, selectedPages); + }); + } + return selectedPages; + } + + UpdateSelectedData(Tab, checked, selectedPages) { + if ((checked === 0 || checked === 2) && !selectedPages.some(page => page.TabId === Tab.TabId && page.CheckedState === checked)) { + selectedPages = selectedPages.filter(page => { + return page.TabId !== Tab.TabId; + }); + selectedPages = [{ + TabId: Tab.TabId, + ParentTabId: Tab.ParentTabId !== undefined ? Tab.ParentTabId : -1, + CheckedState: checked + }].concat(selectedPages); + + } else if (checked === 1 && selectedPages.some(page => page.TabId === Tab.TabId)) { + selectedPages = selectedPages.filter(page => { + return page.TabId !== Tab.TabId; + }); + } + return selectedPages; + } + + DoRecursiveSelect(page, mainKey, originalChecked, callback) { + let {portalTabs} = this.state; + let checked = originalChecked; + if (mainKey !== page.TabId && page.HasChildren && page.ChildTabs.length > 0) { + if (!page.ChildTabs.some(child => child.CheckedState === undefined || child.CheckedState === 1 || child.CheckedState === 2)) + checked = 0; + else if (page.ChildTabs.some(child => child.CheckedState !== undefined && child.CheckedState === 0 && child.CheckedState === 2)) + checked = 1; + else if (page.ChildTabs.some(child => child.CheckedState !== undefined && (child.CheckedState === 2 || child.CheckedState === 0))) + checked = 2; + } + let selectedPages = Object.assign([], this.state.selectedPages); + selectedPages = this.UpdateSelectedData(page, checked, selectedPages); + this.setState({ selectedPages }, () => { + page.CheckedState = checked; + this.setState({}); + let parentId = page.ParentTabId; + if (parentId !== undefined) { + let children = portalTabs; + let parent = this.RecursiveFindParent(parentId, children); + if (parent !== undefined && parent !== null) { + this.setState({}); + if (parent.HasChildren && parent.ChildTabs.length > 0) { + this.DoRecursiveSelect(parent, mainKey, originalChecked, callback); + } else { + return; + } + } + } else { + let selectedPages = Object.assign([], this.state.selectedPages); + selectedPages = this.UpdateSelectedData(this.state.portalTabs[0], checked, selectedPages); + this.setState({ selectedPages }); + if (callback) + callback(); + } + }); + if (callback) + callback(); + } + + RecursiveFindParent(parentId, currentTree) { + let parent = null; + if (currentTree.some(child => child.IsOpen && child.TabId === parentId)) { + parent = currentTree.find(child => child.IsOpen && child.TabId === parentId); + } else if (parent === undefined || parent === null) { + for (let child of currentTree) { + if (child.HasChildren && child.ChildTabs.length > 0) { + parent = this.RecursiveFindParent(parentId, child.ChildTabs); + if (parent !== undefined && parent !== null) { + break; + } + } + } + } + return parent; + } + + getCheckboxIcon(selected) { + switch (selected) { + case 0: + return CheckboxCheckedIcon; + case 2: + return CheckboxPartialCheckedIcon; + case 1: + return CheckboxUncheckedIcon; + default: + return CheckboxUncheckedIcon; + } + } + + //Multi Selection Methods Ends + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + + if (this.loaded || props.IsInDropDown) { + let picker =
                                    ; + if (state.portalTabs.length > 0 && state.portalTabs[0].Processed) { + let children = state.portalTabs.length > 0 && state.portalTabs[0].Processed && this.getChildItems(state.portalTabs); + picker = + this.node = node}> +
                                    +
                                      + {state.portalTabs.length > 0 && state.portalTabs[0].Processed && children} + {state.portalTabs.length <= 0 || !state.portalTabs[0].Processed && props.noneSpecified} +
                                    +
                                    +
                                    ; + } + return ( +
                                    + { + props.IsInDropDown && +
                                    + {this.getDropdownLabel() } +
                                    + } + {props.IsInDropDown && props.withIcon && +
                                    + } + {props.IsInDropDown && +
                                    + + {!props.IsMultiSelect && props.SearchEnabled && + + } + {picker} + {props.ShowCount &&
                                    } +
                                    +
                                    + } + { + !props.IsInDropDown &&
                                    { picker } + {props.ShowCount &&
                                    } +
                                    + } + +
                                    + ); + } + else { + return (
                                    ); + } + } +} + +PagePicker.propTypes = { + + //Class name to attach to parent + className: PropTypes.string, + + //Style of scrollarea - page picker box, override if necessary. + scrollAreaStyle: PropTypes.object, + + //Whether or not the dropdown toggle has a border. + withBorder: PropTypes.bool, + + //Show the dropdown icon + withIcon: PropTypes.bool, + + //Set to false to disable the picker (readonly) + enabled: PropTypes.bool, + + //Close the picker on click outside. + closeOnBlur: PropTypes.bool, + + //Placeholder text in searchbox. + placeholderText: PropTypes.string, + + //None specified Text- default if none is selected + noneSpecifiedText: PropTypes.string, + + //Default label shown before pinging API. + defaultLabel: PropTypes.string, + + //callback method on selection of a tab. + //In case of "Single" selection mode it will send back currently selected tabid and tabname. + //In case of "Multi" selection mode it will send back array currently selected tabs. + OnSelect: PropTypes.func.isRequired, + + //Send as true if you all the tabs to be pre selected. This will work only in case of IsMultiSelect=true + allSelected: PropTypes.bool, + + //The parameters to list the portal tabs. Default is : {portalId: 0,cultureCode: "",isMultiLanguage: false,excludeAdminTabs: false,disabledNotSelectable: false,roles: "1;-1",sortOrder: 0} + PortalTabsParameters: PropTypes.object, + + //Id of the tab which should be selected by default. Default is -1 + //This will work only in case of IsMultiSelect=false. + selectedTabId: PropTypes.number, + + //Tells the component to reload. Use this if circumstances have changed at UI end and need the page picker to reload with new props. e.g. cultureCode code changed. + Reload: PropTypes.bool, + + //Selection mode of the tree. Default is "Single" + IsMultiSelect: PropTypes.bool, + + //Default: true, Shows the tree in the dropdown mode. + IsInDropDown: PropTypes.bool, + + ShowIcon: PropTypes.bool, + + //Default: true, Enables the search of the tabs. This will work only in case of IsMultiSelect=false + SearchEnabled: PropTypes.bool, + + //If true, show the count of total tabs in the tree. + ShowCount: PropTypes.bool, + + //The text to show in the count. Default is "{0} Results". Please include {0} at the place you want to show the count. + CountText: PropTypes.string, + + //Service Framework module root + moduleRoot: PropTypes.string, + + //Service Framework controller + controller: PropTypes.string, + + serviceFramework: PropTypes.object, + + currentTabId: PropTypes.number, + + scrollbarThumbStyleDefault: PropTypes.object +}; + +PagePicker.defaultProps = { + defaultLabel: "-- Select --", + IsMultiSelect: false, + SearchEnabled: true, + ShowCount: true, + CountText: "{0} Results", + ShowIcon: true, + IsInDropDown: true, + Reload: false, + noneSpecifiedText: "< None Specified >", + withIcon: true, + withBorder: true, + closeOnBlur: true, + enabled: true, + className: "", + placeholderText: "Search pages..", + style: { + width: 300 + }, + scrollAreaStyle: { + width: "100%", + minHeight: 300, + marginTop: 0, + border: "1px solid #c8c8c8" + }, + moduleRoot: "PersonaBar", + controller: "Tabs", + PortalTabsParameters: { + portalId: -2, + cultureCode: "", + isMultiLanguage: false, + excludeAdminTabs: false, + disabledNotSelectable: false, + roles: "1;-1", + sortOrder: 0, + includeDeletedChildren: true + }, + selectedTabId: -1 +}; + + export default PagePicker; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/styles/index.less b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/styles/index.less index 5a5d8f388df..3d0ff5a0708 100644 --- a/Dnn.AdminExperience/ClientSide/Dnn.React.Common/styles/index.less +++ b/Dnn.AdminExperience/ClientSide/Dnn.React.Common/styles/index.less @@ -1,63 +1,63 @@ -/* START EVOQ COLOR PALETTE */ - -@blackPearl: #0B1C24; -@firefly: #0E2936; -@astronautBlue: #1E485E; -@matisse: #226F9B; -@curiousBlue: #1E88C3; -@curiousBlueSolid: rgba(30, 136, 195, 0.6); -@curiousBlueWithOpacity: rgba(30, 136, 195, 0.6); -@cerulean: #21A3DA; -@seagull: #79BFDB; -@nonPhotoBlue: #9FDBF0; -@solitude: #EAF1FA; - -@gondola: #261516; -@bulgarianRose: #46292B; - -@astral: #3C7A9A; -@regentGray: #8191A4; - -@thunder: #4B4E4F; -@rollingStone: #6F7273; -@mountainMist: #959695; -@alto: #C8C8C8; -@mercury: #E5E7E6; -@gallery: #EFF0F0; -@alabaster: #FBFCFC; -@white: #FFFFFF; - -/* END EVOQ COLOR PALETTE */ - - -/* START ATTENTION COLORS */ - -@alizarinCrimson: #EA2134; -@cranberry: #D9577A; - -@amazon: #368254; -@mantis: #78C16B; - -/* END ATTENTION COLORS */ - -/* SVG HOVER STATES */ - -svg { - fill: @alto; - &:hover { - fill: @rollingStone; - } - &:active { - fill: @curiousBlue; - } -} - -/* END SVG HOVER STATES */ - -.prefixes(@property, @value) { - -webkit-@{property}: @value; - -khtml-@{property}: @value; - -moz-@{property}: @value; - -ms-@{property}: @value; - @{property}: @value; -} \ No newline at end of file +/* START EVOQ COLOR PALETTE */ + +@blackPearl: #0B1C24; +@firefly: #0E2936; +@astronautBlue: #1E485E; +@matisse: #226F9B; +@curiousBlue: #1E88C3; +@curiousBlueSolid: rgba(30, 136, 195, 0.6); +@curiousBlueWithOpacity: rgba(30, 136, 195, 0.6); +@cerulean: #21A3DA; +@seagull: #79BFDB; +@nonPhotoBlue: #9FDBF0; +@solitude: #EAF1FA; + +@gondola: #261516; +@bulgarianRose: #46292B; + +@astral: #3C7A9A; +@regentGray: #8191A4; + +@thunder: #4B4E4F; +@rollingStone: #6F7273; +@mountainMist: #959695; +@alto: #C8C8C8; +@mercury: #E5E7E6; +@gallery: #EFF0F0; +@alabaster: #FBFCFC; +@white: #FFFFFF; + +/* END EVOQ COLOR PALETTE */ + + +/* START ATTENTION COLORS */ + +@alizarinCrimson: #EA2134; +@cranberry: #D9577A; + +@amazon: #368254; +@mantis: #78C16B; + +/* END ATTENTION COLORS */ + +/* SVG HOVER STATES */ + +svg { + fill: @alto; + &:hover { + fill: @rollingStone; + } + &:active { + fill: @curiousBlue; + } +} + +/* END SVG HOVER STATES */ + +.prefixes(@property, @value) { + -webkit-@{property}: @value; + -khtml-@{property}: @value; + -moz-@{property}: @value; + -ms-@{property}: @value; + @{property}: @value; +} diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json b/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json index 087a418f9f3..e7b54f9847e 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/package.json @@ -1,6 +1,6 @@ { "name": "extensions", - "version": "9.10.2", + "version": "9.11.0", "private": true, "scripts": { "build": "set NODE_ENV=production&&webpack -p", @@ -13,7 +13,7 @@ "@babel/core": "^7.2.0", "@babel/preset-env": "^7.2.0", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "babel-loader": "8.0.6", "babel-plugin-transform-object-assign": "6.22.0", "babel-plugin-transform-object-rest-spread": "6.26.0", @@ -26,7 +26,7 @@ "eslint-plugin-react": "7.11.1", "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", - "less": "3.9.0", + "less": "4.1.2", "less-loader": "5.0.0", "prop-types": "^15.6.2", "raw-loader": "2.0.0", @@ -40,4 +40,4 @@ "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.14" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/ExtensionDetailRow/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/ExtensionDetailRow/index.jsx index c7d1b3b857d..f68a1ddbcf4 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/ExtensionDetailRow/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/ExtensionDetailRow/index.jsx @@ -1,89 +1,88 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; -import styles from "./style.less"; -import ColumnSizes from "../ExtensionColumnSizes"; -import InUseModal from "../InUseModal"; - -class ExtensionDetailRow extends Component { - constructor() { - super(); - this.state = { - inUseModalOpen: false, - usagePackageName: null, - usagePackageId: -1 - }; - } - - toggleInUseModal(packageName, packageId) { - let nextState = !this.state.inUseModalOpen; - window.dnn.stopEscapeFromClosingPB = nextState; - this.setState({ - inUseModalOpen: nextState, - usagePackageName: packageName, - usagePackageId: packageId - }); - } - - getInUseDisplay(packageName, packageId) { - const {props} = this; - if (props._package.inUse === "Yes") { - return
                                    {props._package.inUse}
                                    ; - } - else { - return

                                    {props._package.inUse}

                                    ; - } - } - - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - return ( -
                                    - - - {props._package.friendlyName} - - - {props._package.friendlyName} -

                                    -
                                    - -

                                    {props._package.version}

                                    -
                                    - - {this.getInUseDisplay(props._package.friendlyName, props._package.packageId)} - - - - Update - - - - {(props._package.canDelete && props.isHost) &&
                                    } -
                                    -
                                    -
                                    - {state.inUseModalOpen && - - - } -
                                    - ); - } -} - -ExtensionDetailRow.propTypes = { - _package: PropTypes.object, - onEdit: PropTypes.func, - onDelete: PropTypes.func, - isHost: PropTypes.bool -}; - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; +import styles from "./style.less"; +import ColumnSizes from "../ExtensionColumnSizes"; +import InUseModal from "../InUseModal"; + +class ExtensionDetailRow extends Component { + constructor() { + super(); + this.state = { + inUseModalOpen: false, + usagePackageName: null, + usagePackageId: -1 + }; + } + + toggleInUseModal(packageName, packageId) { + let nextState = !this.state.inUseModalOpen; + window.dnn.stopEscapeFromClosingPB = nextState; + this.setState({ + inUseModalOpen: nextState, + usagePackageName: packageName, + usagePackageId: packageId + }); + } + + getInUseDisplay(packageName, packageId) { + const {props} = this; + if (props._package.inUse === "Yes") { + return
                                    {props._package.inUse}
                                    ; + } + else { + return

                                    {props._package.inUse}

                                    ; + } + } + + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + return ( +
                                    + + + {props._package.friendlyName} + + + {props._package.friendlyName} +

                                    +
                                    + +

                                    {props._package.version}

                                    +
                                    + + {this.getInUseDisplay(props._package.friendlyName, props._package.packageId)} + + + + Update + + + + {(props._package.canDelete && props.isHost) &&
                                    } +
                                    +
                                    +
                                    + {state.inUseModalOpen && + + + } +
                                    + ); + } +} + +ExtensionDetailRow.propTypes = { + _package: PropTypes.object, + onEdit: PropTypes.func, + onDelete: PropTypes.func, + isHost: PropTypes.bool +}; + export default ExtensionDetailRow; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/InUseModal/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/InUseModal/index.jsx index 7842b2cc84c..c783cbb1866 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/InUseModal/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/Body/InstalledExtensions/common/InUseModal/index.jsx @@ -1,203 +1,198 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { Modal, Button, Dropdown, Label } from "@dnnsoftware/dnn-react-common"; -import "./style.less"; -import resx from "localization"; -import { ExtensionActions } from "actions"; - -const modalStyles = { - overlay: { - zIndex: "99999", - backgroundColor: "rgba(0, 0, 0, 0)" - }, - content: { - top: "250px", - left: "220px", - position: "absolute", - padding: "30px 30px 30px 30px", - borderRadius: 0, - border: "none", - width: "550px", - height: "380px", - backgroundColor: "#FFF", - userSelect: "none", - WebkitUserSelect: "none", - MozUserSelect: "none", - MsUserSelect: "none", - boxShadow: "0 0 20px 0 rgba(0, 0, 0, .2)" - } -}; - -class InUseModal extends Component { - constructor() { - super(); - this.state = { - usageFilter: undefined, - portalId: -1 - }; - } - - UNSAFE_componentWillMount() { - const {props, state} = this; - - if (props.usageFilter) { - this.setState({ - usageFilter: props.usageFilter - }); - if (state.portalId === -1) { - let portalId = props.usageFilter.find(p => p.IsCurrentPortal === true).PortalID; - this.setState({ - usageFilter: props.usageFilter, - portalId: portalId - }); - props.dispatch(ExtensionActions.getPackageUsage(portalId, props.packageId)); - } - return; - } - props.dispatch(ExtensionActions.GetPackageUsageFilter()); - } - - UNSAFE_componentWillReceiveProps(props) { - let {state} = this; - - if (state.portalId === -1) { - let portalId = props.usageFilter.find(p => p.IsCurrentPortal === true).PortalID; - this.setState({ - usageFilter: props.usageFilter, - portalId: portalId - }); - props.dispatch(ExtensionActions.getPackageUsage(portalId, props.packageId)); - } - } - - onClose() { - const {props} = this; - props.onClose(); - } - - getPortalOptions() { - const {props} = this; - let options = []; - if (props.usageFilter !== undefined) { - options = props.usageFilter.map((portal) => { - return { - label: portal.PortalName, value: portal.PortalID - }; - }); - } - return options; - } - - onSelectPortal(event) { - let {props} = this; - - this.setState({ - portalId: event.value - }); - - props.dispatch(ExtensionActions.getPackageUsage(event.value, props.packageId)); - } - - getCurrentUsageFilter() { - let {props, state} = this; - if (props.usageFilter && state.portalId !== -1) { - return props.usageFilter.find(p => p.PortalID === state.portalId).PortalName; - } - else return null; - } - - getUsageDetailSubject() { - let {props} = this; - if (props.tabUrls) { - if (props.tabUrls.length > 0) { - return resx.get("ModuleUsageDetail").replace("{0}", props.tabUrls.length).replace("{1}", this.getCurrentUsageFilter()); - } - else return resx.get("NoModuleUsageDetail").replace("{0}", this.getCurrentUsageFilter()); - } - } - - /* eslint-disable react/no-danger */ - renderUsageDetail() { - const {props} = this; - if (props.tabUrls) { - return props.tabUrls.map((item, i) => { - return ( -
                                    - ); - }); - } - } - - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - return ( - - {props.fixedHeight && -
                                    -
                                    {resx.get("ModuleUsageTitle").replace("{0}", props.packageName)}
                                    -
                                    -
                                    -
                                    -
                                    -
                                    - -
                                    -
                                    - } -
                                    - ); - } -} - -InUseModal.PropTypes = { - dispatch: PropTypes.func.isRequired, - usageFilter: PropTypes.array, - tabUrls: PropTypes.array, - packageName: PropTypes.string, - packageId: PropTypes.number, - fixedHeight: PropTypes.number, - collapsibleWidth: PropTypes.number, - collapsibleHeight: PropTypes.number, - keepCollapsedContent: PropTypes.bool, - scrollAreaStyle: PropTypes.object, - isOpened: PropTypes.bool, - onClose: PropTypes.func.isRequired, - isHost: PropTypes.bool -}; - -function mapStateToProps(state) { - return { - usageFilter: state.extension.usageFilter, - tabUrls: state.extension.tabUrls - }; -} - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { connect } from "react-redux"; +import { Modal, Button, Dropdown, Label } from "@dnnsoftware/dnn-react-common"; +import "./style.less"; +import resx from "localization"; +import { ExtensionActions } from "actions"; + +const modalStyles = { + overlay: { + zIndex: "99999", + backgroundColor: "rgba(0, 0, 0, 0)" + }, + content: { + top: "250px", + left: "220px", + position: "absolute", + padding: "30px 30px 30px 30px", + borderRadius: 0, + border: "none", + width: "550px", + height: "380px", + backgroundColor: "#FFF", + userSelect: "none", + WebkitUserSelect: "none", + MozUserSelect: "none", + MsUserSelect: "none", + boxShadow: "0 0 20px 0 rgba(0, 0, 0, .2)" + } +}; + +class InUseModal extends Component { + constructor() { + super(); + this.state = { + usageFilter: undefined, + portalId: -1 + }; + } + + UNSAFE_componentWillMount() { + const {props, state} = this; + + if (props.usageFilter) { + this.setState({ + usageFilter: props.usageFilter + }); + if (state.portalId === -1) { + let portalId = props.usageFilter.find(p => p.IsCurrentPortal === true).PortalID; + this.setState({ + usageFilter: props.usageFilter, + portalId: portalId + }); + props.dispatch(ExtensionActions.getPackageUsage(portalId, props.packageId)); + } + return; + } + props.dispatch(ExtensionActions.GetPackageUsageFilter()); + } + + UNSAFE_componentWillReceiveProps(props) { + let {state} = this; + + if (state.portalId === -1) { + let portalId = props.usageFilter.find(p => p.IsCurrentPortal === true).PortalID; + this.setState({ + usageFilter: props.usageFilter, + portalId: portalId + }); + props.dispatch(ExtensionActions.getPackageUsage(portalId, props.packageId)); + } + } + + onClose() { + const {props} = this; + props.onClose(); + } + + getPortalOptions() { + const {props} = this; + let options = []; + if (props.usageFilter !== undefined) { + options = props.usageFilter.map((portal) => { + return { + label: portal.PortalName, value: portal.PortalID + }; + }); + } + return options; + } + + onSelectPortal(event) { + let {props} = this; + + this.setState({ + portalId: event.value + }); + + props.dispatch(ExtensionActions.getPackageUsage(event.value, props.packageId)); + } + + getCurrentUsageFilter() { + let {props, state} = this; + if (props.usageFilter && state.portalId !== -1) { + return props.usageFilter.find(p => p.PortalID === state.portalId).PortalName; + } + else return null; + } + + getUsageDetailSubject() { + let {props} = this; + if (props.tabUrls) { + if (props.tabUrls.length > 0) { + return resx.get("ModuleUsageDetail").replace("{0}", props.tabUrls.length).replace("{1}", this.getCurrentUsageFilter()); + } + else return resx.get("NoModuleUsageDetail").replace("{0}", this.getCurrentUsageFilter()); + } + } + + /* eslint-disable react/no-danger */ + renderUsageDetail() { + const {props} = this; + if (props.tabUrls) { + return props.tabUrls.map((item, i) => { + return ( +
                                    + ); + }); + } + } + + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + return ( + +
                                    +
                                    {resx.get("ModuleUsageTitle").replace("{0}", props.packageName)}
                                    +
                                    +
                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    + ); + } +} + +InUseModal.PropTypes = { + dispatch: PropTypes.func.isRequired, + usageFilter: PropTypes.array, + tabUrls: PropTypes.array, + packageName: PropTypes.string, + packageId: PropTypes.number, + collapsibleWidth: PropTypes.number, + collapsibleHeight: PropTypes.number, + scrollAreaStyle: PropTypes.object, + isOpened: PropTypes.bool, + onClose: PropTypes.func.isRequired, + isHost: PropTypes.bool +}; + +function mapStateToProps(state) { + return { + usageFilter: state.extension.usageFilter, + tabUrls: state.extension.tabUrls + }; +} + export default connect(mapStateToProps)(InUseModal); \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/DeleteExtension/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/DeleteExtension/index.jsx index 1da1adf9a39..c8694715a84 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/DeleteExtension/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/DeleteExtension/index.jsx @@ -36,7 +36,7 @@ class DeleteExtension extends Component { render() { const {props} = this; const { extensionBeingDeleted } = props; - const version = extensionBeingDeleted.version.value ? extensionBeingDeleted.version.value.split(".") : [0, 0, 0]; + const version = extensionBeingDeleted.version ? extensionBeingDeleted.version.split(".") : [0, 0, 0]; return ( diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/ControlRow.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/ControlRow.jsx index 542810a8f91..0ed2b0602cb 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/ControlRow.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/ControlRow.jsx @@ -1,47 +1,47 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { GridCell, Collapsible, SvgIcons } from "@dnnsoftware/dnn-react-common"; -import ControlFields from "./ControlFields"; -import "./style.less"; - - -class ControlRow extends Component { - constructor() { - super(); - this.state = { - isOpened: false - }; - } - /* eslint-disable react/no-danger */ - render() { - const {props} = this; - return ( - - - {props.moduleControl.title} - - - {props.moduleControl.source} - - -
                                    -
                                    -
                                    - - - -
                                    - ); - } -} - -ControlRow.propTypes = { - moduleDefinition: PropTypes.object, - moduleDefinitionBeingEdited: PropTypes.object, - onCancel: PropTypes.func, - onSave: PropTypes.func, - onChange: PropTypes.func, - onEdit: PropTypes.func -}; - -export default ControlRow; +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { GridCell, Collapsible, SvgIcons } from "@dnnsoftware/dnn-react-common"; +import ControlFields from "./ControlFields"; +import "./style.less"; + + +class ControlRow extends Component { + constructor() { + super(); + this.state = { + isOpened: false + }; + } + /* eslint-disable react/no-danger */ + render() { + const {props} = this; + return ( + + + {props.moduleControl.title} + + + {props.moduleControl.source} + + +
                                    +
                                    +
                                    + + + +
                                    + ); + } +} + +ControlRow.propTypes = { + moduleDefinition: PropTypes.object, + moduleDefinitionBeingEdited: PropTypes.object, + onCancel: PropTypes.func, + onSave: PropTypes.func, + onChange: PropTypes.func, + onEdit: PropTypes.func +}; + +export default ControlRow; diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/index.jsx index 93303be33fc..87250b75379 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/index.jsx @@ -1,260 +1,260 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { GridCell, SvgIcons, Collapsible } from "@dnnsoftware/dnn-react-common"; -import Localization from "localization"; -import ControlRow from "./ControlRow"; -import utilities from "utils"; -import { ModuleDefinitionActions, ExtensionActions } from "actions"; -import ControlFields from "./ControlFields"; -import utils from "utils"; -import "./style.less"; - -function getSourceFolder(str) { - return str.substr(0, str.lastIndexOf("/")); -} -function getFileName(str) { - return str.substr(str.lastIndexOf("/") + 1, str.length - 1); -} -class Controls extends Component { - constructor() { - super(); - this.state = { - editMode: false, - controlBeingEdited: {}, - controlBeingEditedIndex: -1, - error: { - source: true - }, - selectedSourceFolder: "Admin/Skins/" - }; - } - getNewControlKeys() { - const { props } = this; - return { - id: -1, - definitionId: props.moduleDefinitionId, - key: "", - title: "", - source: "Admin/Skins/", - type: -1, - order: -1, - icon: "", - helpUrl: "", - supportPopups: true, - supportPartialRendering: true - }; - } - confirmAction(callback) { - const { props } = this; - if (props.controlFormIsDirty) { - utilities.utilities.confirm(Localization.get("UnsavedChanges.HelpText"), Localization.get("UnsavedChanges.Confirm"), Localization.get("UnsavedChanges.Cancel"), () => { - callback(); - props.dispatch(ModuleDefinitionActions.setControlFormDirt(false)); - }); - } else { - callback(); - } - } - onChange(key, event) { - const { state, props } = this; - let value = typeof event === "object" ? event.target.value : event; - let {controlBeingEdited, error } = state; - - controlBeingEdited[key] = value; - - if (value === "" && key === "source") { - error[key] = true; - } else { - error[key] = false; - } - - this.setState({ - controlBeingEdited, - error - }); - - if (!props.controlFormIsDirty) { - props.dispatch(ModuleDefinitionActions.setControlFormDirt(true)); - } - if (!props.formIsDirty) { - props.dispatch(ModuleDefinitionActions.setFormDirt(true)); - } - } - onDelete(controlId) { - utilities.utilities.confirm("Are you sure you want to delete this module definition?", "Yes", "No", () => { - const { props } = this; - - let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); - - let actions = {deletemodulecontrol: controlId.toString()}; - - props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { - utils.utilities.notify(Localization.get("UpdateComplete")); - props.onControlSave(); - })); - }); - } - onSave() { - const { props, state } = this; - let { triedToSave, error } = state; - triedToSave = true; - this.setState({ - triedToSave - }); - let errorCount = 0; - Object.keys(error).forEach((key) => { - if (error[key]) { - errorCount++; - } - }); - if (errorCount > 0) { - return; - } - - - let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); - let controls = JSON.parse(JSON.stringify(props.moduleControls)); - if (state.controlBeingEdited.id > -1) { - controls[state.controlBeingEditedIndex] = state.controlBeingEdited; - } else { - controls.push(state.controlBeingEdited); - } - - state.controlBeingEdited.definitionId = props.moduleDefinitionId; - - let actions = {savemodulecontrol: JSON.stringify(state.controlBeingEdited)}; - - props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { - utils.utilities.notify(Localization.get("UpdateComplete")); - props.onControlSave(); - props.dispatch(ModuleDefinitionActions.setControlFormDirt(false, () => { - this.exitEditMode(); - })); - })); - } - onEdit(controlBeingEdited, controlBeingEditedIndex) { - this.confirmAction(() => { - const { props } = this; - const sourceFolder = getSourceFolder(controlBeingEdited.source) || "Admin/Skins/"; - props.dispatch(ModuleDefinitionActions.getSourceFolders()); - props.dispatch(ModuleDefinitionActions.getSourceFiles(sourceFolder, () => { - props.dispatch(ModuleDefinitionActions.getControlIcons(controlBeingEdited.source, () => { - this.setState({ - editMode: true, - controlBeingEdited, - controlBeingEditedIndex, - selectedSourceFolder: sourceFolder, - error: { - source: getFileName(controlBeingEdited.source) === "" - } - }); - })); - })); - }); - } - - exitEditMode() { - this.confirmAction(() => { - this.setState({ - controlBeingEdited: this.getNewControlKeys(), - controlBeingEditedIndex: null, - editMode: false, - triedToSave: false - }); - }); - } - - onSelectSourceFolder(option) { - const { props } = this; - this.setState({ - selectedSourceFolder: option.value - }); - props.dispatch(ModuleDefinitionActions.getSourceFiles(option.value, () => { - if (props.sourceFolders.length > 0) { - props.dispatch(ModuleDefinitionActions.getControlIcons(option.value), () => { - this.setState({ - selectedSourceFolder: option.value - }); - }); - } - })); - } - - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - - const moduleControls = props.moduleControls && props.moduleControls.map((moduleControl, index) => { - return ; - }); - const isAddMode = state.editMode && state.controlBeingEditedIndex === -1; - return ( - - -

                                    {Localization.get("ModuleDefinitions_ModuleControls.Header")}

                                    - - {Localization.get("EditModule_Add.Button")} -
                                    -
                                    - - - - - - {Localization.get("AddModuleControl_Title.Label")} - - - {Localization.get("AddModuleControl_Source.Label")} - - {moduleControls} - -
                                    - ); - //

                                    --1 of 2 --

                                    - } -} - -Controls.propTypes = { - dispatch: PropTypes.func.isRequired -}; - -function mapStateToProps(state) { - return { - sourceFolders: state.moduleDefinition.sourceFolders, - sourceFiles: state.moduleDefinition.sourceFiles, - formIsDirty: state.moduleDefinition.formIsDirty, - controlFormIsDirty: state.moduleDefinition.controlFormIsDirty, - icons: state.moduleDefinition.icons - }; -} - -export default connect(mapStateToProps)(Controls); +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { connect } from "react-redux"; +import { GridCell, SvgIcons, Collapsible } from "@dnnsoftware/dnn-react-common"; +import Localization from "localization"; +import ControlRow from "./ControlRow"; +import utilities from "utils"; +import { ModuleDefinitionActions, ExtensionActions } from "actions"; +import ControlFields from "./ControlFields"; +import utils from "utils"; +import "./style.less"; + +function getSourceFolder(str) { + return str.substr(0, str.lastIndexOf("/")); +} +function getFileName(str) { + return str.substr(str.lastIndexOf("/") + 1, str.length - 1); +} +class Controls extends Component { + constructor() { + super(); + this.state = { + editMode: false, + controlBeingEdited: {}, + controlBeingEditedIndex: -1, + error: { + source: true + }, + selectedSourceFolder: "Admin/Skins/" + }; + } + getNewControlKeys() { + const { props } = this; + return { + id: -1, + definitionId: props.moduleDefinitionId, + key: "", + title: "", + source: "Admin/Skins/", + type: -1, + order: -1, + icon: "", + helpUrl: "", + supportPopups: true, + supportPartialRendering: true + }; + } + confirmAction(callback) { + const { props } = this; + if (props.controlFormIsDirty) { + utilities.utilities.confirm(Localization.get("UnsavedChanges.HelpText"), Localization.get("UnsavedChanges.Confirm"), Localization.get("UnsavedChanges.Cancel"), () => { + callback(); + props.dispatch(ModuleDefinitionActions.setControlFormDirt(false)); + }); + } else { + callback(); + } + } + onChange(key, event) { + const { state, props } = this; + let value = typeof event === "object" ? event.target.value : event; + let {controlBeingEdited, error } = state; + + controlBeingEdited[key] = value; + + if (value === "" && key === "source") { + error[key] = true; + } else { + error[key] = false; + } + + this.setState({ + controlBeingEdited, + error + }); + + if (!props.controlFormIsDirty) { + props.dispatch(ModuleDefinitionActions.setControlFormDirt(true)); + } + if (!props.formIsDirty) { + props.dispatch(ModuleDefinitionActions.setFormDirt(true)); + } + } + onDelete(controlId) { + utilities.utilities.confirm("Are you sure you want to delete this module definition?", "Yes", "No", () => { + const { props } = this; + + let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); + + let actions = {deletemodulecontrol: controlId.toString()}; + + props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { + utils.utilities.notify(Localization.get("UpdateComplete")); + props.onControlSave(); + })); + }); + } + onSave() { + const { props, state } = this; + let { triedToSave, error } = state; + triedToSave = true; + this.setState({ + triedToSave + }); + let errorCount = 0; + Object.keys(error).forEach((key) => { + if (error[key]) { + errorCount++; + } + }); + if (errorCount > 0) { + return; + } + + + let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); + let controls = JSON.parse(JSON.stringify(props.moduleControls)); + if (state.controlBeingEdited.id > -1) { + controls[state.controlBeingEditedIndex] = state.controlBeingEdited; + } else { + controls.push(state.controlBeingEdited); + } + + state.controlBeingEdited.definitionId = props.moduleDefinitionId; + + let actions = {savemodulecontrol: JSON.stringify(state.controlBeingEdited)}; + + props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { + utils.utilities.notify(Localization.get("UpdateComplete")); + props.onControlSave(); + props.dispatch(ModuleDefinitionActions.setControlFormDirt(false, () => { + this.exitEditMode(); + })); + })); + } + onEdit(controlBeingEdited, controlBeingEditedIndex) { + this.confirmAction(() => { + const { props } = this; + const sourceFolder = getSourceFolder(controlBeingEdited.source) || "Admin/Skins/"; + props.dispatch(ModuleDefinitionActions.getSourceFolders()); + props.dispatch(ModuleDefinitionActions.getSourceFiles(sourceFolder, () => { + props.dispatch(ModuleDefinitionActions.getControlIcons(controlBeingEdited.source, () => { + this.setState({ + editMode: true, + controlBeingEdited, + controlBeingEditedIndex, + selectedSourceFolder: sourceFolder, + error: { + source: getFileName(controlBeingEdited.source) === "" + } + }); + })); + })); + }); + } + + exitEditMode() { + this.confirmAction(() => { + this.setState({ + controlBeingEdited: this.getNewControlKeys(), + controlBeingEditedIndex: null, + editMode: false, + triedToSave: false + }); + }); + } + + onSelectSourceFolder(option) { + const { props } = this; + this.setState({ + selectedSourceFolder: option.value + }); + props.dispatch(ModuleDefinitionActions.getSourceFiles(option.value, () => { + if (props.sourceFolders.length > 0) { + props.dispatch(ModuleDefinitionActions.getControlIcons(option.value), () => { + this.setState({ + selectedSourceFolder: option.value + }); + }); + } + })); + } + + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + + const moduleControls = props.moduleControls && props.moduleControls.map((moduleControl, index) => { + return ; + }); + const isAddMode = state.editMode && state.controlBeingEditedIndex === -1; + return ( + + +

                                    {Localization.get("ModuleDefinitions_ModuleControls.Header")}

                                    + + {Localization.get("EditModule_Add.Button")} +
                                    +
                                    + + + + + + {Localization.get("AddModuleControl_Title.Label")} + + + {Localization.get("AddModuleControl_Source.Label")} + + {moduleControls} + +
                                    + ); + //

                                    --1 of 2 --

                                    + } +} + +Controls.propTypes = { + dispatch: PropTypes.func.isRequired +}; + +function mapStateToProps(state) { + return { + sourceFolders: state.moduleDefinition.sourceFolders, + sourceFiles: state.moduleDefinition.sourceFiles, + formIsDirty: state.moduleDefinition.formIsDirty, + controlFormIsDirty: state.moduleDefinition.controlFormIsDirty, + icons: state.moduleDefinition.icons + }; +} + +export default connect(mapStateToProps)(Controls); diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/style.less b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/style.less index 0f1d5270323..12d4a2bfa16 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/style.less +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/Controls/style.less @@ -1,74 +1,76 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -.extensions-app { - .extension-form { - .module-controls { - padding: 10px; - .header-container { - .box-title { - text-transform: none; - font-size: 13px; - font-weight: bold; - margin-bottom: 10px; - } - } - .module-controls-table { - padding: 0; - border: 1px solid @alto; - margin-top: 25px; - .module-control-row:first-child { - border: none; - } - .module-control-title-header, .module-control-source-header { - border-top: 1px solid @alto; - text-transform: uppercase; - } - .edit-module-control { - > div { - float: left; - } - } - .edit-module-control-box { - padding: 0; - margin-top: 20px; - .dnn-dropdown-with-error .dropdown-tooltip-container { - margin-bottom: 32px; - } - .dnn-switch-container { - width: 100%; - margin-bottom: 32px; - padding-top: 15px; - .switch-label { - max-width: 50%; - } - .dnn-switch { - float: right; - } - } - } - .add-control-box { - > div { - float: left; - } - } - .module-control-row { - padding: 10px 15px; - border-top: 1px solid @alto; - .module-control-title, .module-control-source { - padding: 0; - } - .action-buttons { - padding: 0; - > div { - float: right; - cursor: pointer; - > svg { - width: 15px; - height: 15px; - } - } - } - } - } - } - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +.extensions-app { + .extension-form { + .module-controls { + padding: 10px; + .header-container { + .box-title { + text-transform: none; + font-size: 13px; + font-weight: bold; + margin-bottom: 10px; + } + } + .module-controls-table { + padding: 0; + border: 1px solid @alto; + margin-top: 25px; + .module-control-row:first-child { + border: none; + } + .module-control-title-header, .module-control-source-header { + border-top: 1px solid @alto; + text-transform: uppercase; + } + .edit-module-control { + float: left; + > div { + float: left; + } + } + .edit-module-control-box { + padding: 0; + margin-top: 20px; + .dnn-dropdown-with-error .dropdown-tooltip-container { + margin-bottom: 32px; + } + .dnn-switch-container { + width: 100%; + margin-bottom: 32px; + padding-top: 15px; + .switch-label { + max-width: 50%; + } + .dnn-switch { + float: right; + } + } + } + .add-control-box { + float: left; + > div { + float: left; + } + } + .module-control-row { + padding: 10px 15px; + border-top: 1px solid @alto; + .module-control-title, .module-control-source { + padding: 0; + } + .action-buttons { + padding: 0; + > div { + float: right; + cursor: pointer; + > svg { + width: 15px; + height: 15px; + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/index.jsx index 365023d586e..86f59a0f3cc 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/index.jsx @@ -1,67 +1,67 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { GridCell, Collapsible, SvgIcons, Button } from "@dnnsoftware/dnn-react-common"; -import Localization from "localization"; -import Controls from "./Controls"; -import DefinitionFields from "../DefinitionFields"; -import "./style.less"; - - -class ModuleDefinitionRow extends Component { - constructor() { - super(); - this.state = { - isOpened: false - }; - } - /* eslint-disable react/no-danger */ - render() { - const {props} = this; - return ( - - - {props.moduleDefinition.name} - - -
                                    -
                                    -
                                    - - - - - - - - - - - - -
                                    - ); - } -} - -ModuleDefinitionRow.propTypes = { - moduleDefinition: PropTypes.object, - moduleDefinitionBeingEdited: PropTypes.object, - onCancel: PropTypes.func, - onSave: PropTypes.func, - onChange: PropTypes.func, - onEdit: PropTypes.func, - error: PropTypes.object -}; - -export default ModuleDefinitionRow; +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { GridCell, Collapsible, SvgIcons, Button } from "@dnnsoftware/dnn-react-common"; +import Localization from "localization"; +import Controls from "./Controls"; +import DefinitionFields from "../DefinitionFields"; +import "./style.less"; + + +class ModuleDefinitionRow extends Component { + constructor() { + super(); + this.state = { + isOpened: false + }; + } + /* eslint-disable react/no-danger */ + render() { + const {props} = this; + return ( + + + {props.moduleDefinition.name} + + +
                                    +
                                    +
                                    + + + + + + + + + + + + +
                                    + ); + } +} + +ModuleDefinitionRow.propTypes = { + moduleDefinition: PropTypes.object, + moduleDefinitionBeingEdited: PropTypes.object, + onCancel: PropTypes.func, + onSave: PropTypes.func, + onChange: PropTypes.func, + onEdit: PropTypes.func, + error: PropTypes.object +}; + +export default ModuleDefinitionRow; diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/style.less b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/style.less index 6db80a9de99..4a94e92ce0f 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/style.less +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/ModuleDefinitionRow/style.less @@ -1,31 +1,32 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -.extension-form { - .module-definition-row { - padding: 10px 15px; - border-top: 1px solid @alto; - .module-definition-name { - padding: 0; - } - .edit-module-definition { - > div { - float: left; - } - .edit-module-definition-box { - padding: 0; - margin-top: 20px; - } - } - .action-buttons { - padding: 0; - > div { - float: right; - cursor: pointer; - > svg { - margin-left: 5px; - width: 15px; - height: 15px; - } - } - } - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +.extension-form { + .module-definition-row { + padding: 10px 15px; + border-top: 1px solid @alto; + .module-definition-name { + padding: 0; + } + .edit-module-definition { + float: left; + > div { + float: left; + } + .edit-module-definition-box { + padding: 0; + margin-top: 20px; + } + } + .action-buttons { + padding: 0; + > div { + float: right; + cursor: pointer; + > svg { + margin-left: 5px; + width: 15px; + height: 15px; + } + } + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/index.jsx index 8ab1d9051e4..a36cae4caeb 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/index.jsx @@ -1,241 +1,241 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { connect } from "react-redux"; -import { ExtensionActions } from "actions"; -import { GridCell, Button, SvgIcons, Collapsible } from "@dnnsoftware/dnn-react-common"; -import Localization from "localization"; -import ModuleDefinitionRow from "./ModuleDefinitionRow"; -import utilities from "utils"; -import { ModuleDefinitionActions } from "actions"; -import DefinitionFields from "./DefinitionFields"; -import utils from "utils"; -import "./style.less"; - -class ModuleDefinitions extends Component { - constructor() { - super(); - this.state = { - moduleDefinitionBeingEdited: {}, - moduleDefinitionBeingEditedIndex: null, - error: { - name: false, - friendlyName: false - }, - triedToSave: false, - editMode: false - }; - } - getNewModuleDefinition() { - const { props } = this; - return { - id: -1, - desktopModuleId: props.desktopModuleId, - name: "", - friendlyName: "", - cacheTime: 0 - }; - } - UNSAFE_componentWillMount() { - this.setState({ - moduleDefinitionBeingEdited: this.getNewModuleDefinition() - }); - } - confirmAction(callback) { - const { props } = this; - if (props.formIsDirty) { - utilities.utilities.confirm(Localization.get("UnsavedChanges.HelpText"), Localization.get("UnsavedChanges.Confirm"), Localization.get("UnsavedChanges.Cancel"), () => { - callback(); - props.dispatch(ModuleDefinitionActions.setFormDirt(false)); - if (props.controlFormIsDirty) { - props.dispatch(ModuleDefinitionActions.setControlFormDirt(false)); - } - }); - } else { - callback(); - } - } - resetError() { - return { - name: false, - friendlyName: false - }; - } - exitEditMode() { - this.confirmAction(() => { - this.setState({ - moduleDefinitionBeingEdited: this.getNewModuleDefinition(), - error: this.resetError(), - moduleDefinitionBeingEditedIndex: null, - editMode: false, - triedToSave: false - }); - }); - } - _onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex) { - this.setState({ - editMode: true, - error: { - name: moduleDefinitionBeingEdited.name === "", - friendlyName: moduleDefinitionBeingEdited.friendlyName === "" - }, - moduleDefinitionBeingEdited, - moduleDefinitionBeingEditedIndex - }); - } - onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex) { - this.confirmAction(() => { - this._onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex); - }); - } - onChange(key, event) { - const { props, state } = this; - let value = typeof event === "object" ? event.target.value : event; - - let { moduleDefinitionBeingEdited, error } = state; - - moduleDefinitionBeingEdited[key] = value; - if (value === "" && (key === "friendlyName" || key === "name")) { - error[key] = true; - } else { - error[key] = false; - } - - this.setState({ - moduleDefinitionBeingEdited, - error - }); - - if (!props.formIsDirty) { - props.dispatch(ModuleDefinitionActions.setFormDirt(true)); - } - } - onSave() { - const { props, state } = this; - let { triedToSave, error } = state; - triedToSave = true; - this.setState({ - triedToSave - }); - let errorCount = 0; - Object.keys(error).forEach((key) => { - if (error[key]) { - errorCount++; - } - }); - - if (errorCount > 0) { - return; - } - - let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); - let moduleDefinitions = extensionBeingUpdated.moduleDefinitions.value; - if (state.moduleDefinitionBeingEditedIndex > -1) { - moduleDefinitions[state.moduleDefinitionBeingEditedIndex] = state.moduleDefinitionBeingEdited; - } else { - moduleDefinitions.push(state.moduleDefinitionBeingEdited); - } - - state.moduleDefinitionBeingEdited.desktopModuleId = props.extensionBeingEdited.desktopModuleId.value; - let actions = { savedefinition: JSON.stringify(state.moduleDefinitionBeingEdited) }; - - props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { - props.dispatch(ModuleDefinitionActions.setFormDirt(false, () => { - this.exitEditMode(); - })); - })); - } - onControlSave() { - const { props, state } = this; - let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); - state.moduleDefinitionBeingEdited.desktopModuleId = props.extensionBeingEdited.desktopModuleId.value; - let actions = { savedefinition: JSON.stringify(state.moduleDefinitionBeingEdited) }; - - props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { - props.dispatch(ModuleDefinitionActions.setFormDirt(false, () => { - this.exitEditMode(); - })); - })); - } - onDelete(definitionId) { - utilities.utilities.confirm("Are you sure you want to delete this module definition?", "Yes", "No", () => { - const { props } = this; - - let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); - - let actions = { deletedefinition: definitionId.toString() }; - - props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { - utils.utilities.notify(Localization.get("UpdateComplete")); - })); - }); - } - /* eslint-disable react/no-danger */ - render() { - const {props, state} = this; - const moduleDefinitions = props.extensionBeingEdited.moduleDefinitions.value.map((moduleDefinition, index) => { - - return ; - }); - - const isAddMode = state.editMode && state.moduleDefinitionBeingEditedIndex === -1; - - return ( - - -

                                    {Localization.get("EditModule_ModuleDefinitions.Header")}

                                    -
                                    - {Localization.get("EditModule_Add.Button")} - - -
                                    - - - - - - - - - - - {moduleDefinitions} - - - ); - //

                                    --1 of 2 --

                                    - } -} - -ModuleDefinitions.propTypes = { - dispatch: PropTypes.func.isRequired -}; - -function mapStateToProps(state) { - return { - extensionBeingEdited: state.extension.extensionBeingEdited, - controlFormIsDirty: state.moduleDefinition.controlFormIsDirty - }; -} - -export default connect(mapStateToProps)(ModuleDefinitions); +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { connect } from "react-redux"; +import { ExtensionActions } from "actions"; +import { GridCell, Button, SvgIcons, Collapsible } from "@dnnsoftware/dnn-react-common"; +import Localization from "localization"; +import ModuleDefinitionRow from "./ModuleDefinitionRow"; +import utilities from "utils"; +import { ModuleDefinitionActions } from "actions"; +import DefinitionFields from "./DefinitionFields"; +import utils from "utils"; +import "./style.less"; + +class ModuleDefinitions extends Component { + constructor() { + super(); + this.state = { + moduleDefinitionBeingEdited: {}, + moduleDefinitionBeingEditedIndex: null, + error: { + name: false, + friendlyName: false + }, + triedToSave: false, + editMode: false + }; + } + getNewModuleDefinition() { + const { props } = this; + return { + id: -1, + desktopModuleId: props.desktopModuleId, + name: "", + friendlyName: "", + cacheTime: 0 + }; + } + UNSAFE_componentWillMount() { + this.setState({ + moduleDefinitionBeingEdited: this.getNewModuleDefinition() + }); + } + confirmAction(callback) { + const { props } = this; + if (props.formIsDirty) { + utilities.utilities.confirm(Localization.get("UnsavedChanges.HelpText"), Localization.get("UnsavedChanges.Confirm"), Localization.get("UnsavedChanges.Cancel"), () => { + callback(); + props.dispatch(ModuleDefinitionActions.setFormDirt(false)); + if (props.controlFormIsDirty) { + props.dispatch(ModuleDefinitionActions.setControlFormDirt(false)); + } + }); + } else { + callback(); + } + } + resetError() { + return { + name: false, + friendlyName: false + }; + } + exitEditMode() { + this.confirmAction(() => { + this.setState({ + moduleDefinitionBeingEdited: this.getNewModuleDefinition(), + error: this.resetError(), + moduleDefinitionBeingEditedIndex: null, + editMode: false, + triedToSave: false + }); + }); + } + _onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex) { + this.setState({ + editMode: true, + error: { + name: moduleDefinitionBeingEdited.name === "", + friendlyName: moduleDefinitionBeingEdited.friendlyName === "" + }, + moduleDefinitionBeingEdited, + moduleDefinitionBeingEditedIndex + }); + } + onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex) { + this.confirmAction(() => { + this._onEditModuleDefinition(moduleDefinitionBeingEdited, moduleDefinitionBeingEditedIndex); + }); + } + onChange(key, event) { + const { props, state } = this; + let value = typeof event === "object" ? event.target.value : event; + + let { moduleDefinitionBeingEdited, error } = state; + + moduleDefinitionBeingEdited[key] = value; + if (value === "" && (key === "friendlyName" || key === "name")) { + error[key] = true; + } else { + error[key] = false; + } + + this.setState({ + moduleDefinitionBeingEdited, + error + }); + + if (!props.formIsDirty) { + props.dispatch(ModuleDefinitionActions.setFormDirt(true)); + } + } + onSave() { + const { props, state } = this; + let { triedToSave, error } = state; + triedToSave = true; + this.setState({ + triedToSave + }); + let errorCount = 0; + Object.keys(error).forEach((key) => { + if (error[key]) { + errorCount++; + } + }); + + if (errorCount > 0) { + return; + } + + let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); + let moduleDefinitions = extensionBeingUpdated.moduleDefinitions.value; + if (state.moduleDefinitionBeingEditedIndex > -1) { + moduleDefinitions[state.moduleDefinitionBeingEditedIndex] = state.moduleDefinitionBeingEdited; + } else { + moduleDefinitions.push(state.moduleDefinitionBeingEdited); + } + + state.moduleDefinitionBeingEdited.desktopModuleId = props.extensionBeingEdited.desktopModuleId.value; + let actions = { savedefinition: JSON.stringify(state.moduleDefinitionBeingEdited) }; + + props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { + props.dispatch(ModuleDefinitionActions.setFormDirt(false, () => { + this.exitEditMode(); + })); + })); + } + onControlSave() { + const { props, state } = this; + let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); + state.moduleDefinitionBeingEdited.desktopModuleId = props.extensionBeingEdited.desktopModuleId.value; + let actions = { savedefinition: JSON.stringify(state.moduleDefinitionBeingEdited) }; + + props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { + props.dispatch(ModuleDefinitionActions.setFormDirt(false, () => { + this.exitEditMode(); + })); + })); + } + onDelete(definitionId) { + utilities.utilities.confirm("Are you sure you want to delete this module definition?", "Yes", "No", () => { + const { props } = this; + + let extensionBeingUpdated = JSON.parse(JSON.stringify(props.extensionBeingEdited)); + + let actions = { deletedefinition: definitionId.toString() }; + + props.dispatch(ExtensionActions.updateExtension(extensionBeingUpdated, actions, props.extensionBeingEditedIndex, () => { + utils.utilities.notify(Localization.get("UpdateComplete")); + })); + }); + } + /* eslint-disable react/no-danger */ + render() { + const {props, state} = this; + const moduleDefinitions = props.extensionBeingEdited.moduleDefinitions.value.map((moduleDefinition, index) => { + + return ; + }); + + const isAddMode = state.editMode && state.moduleDefinitionBeingEditedIndex === -1; + + return ( + + +

                                    {Localization.get("EditModule_ModuleDefinitions.Header")}

                                    + + {Localization.get("EditModule_Add.Button")} + +
                                    +
                                    + + + + + + + + + + + {moduleDefinitions} + +
                                    + ); + //

                                    --1 of 2 --

                                    + } +} + +ModuleDefinitions.propTypes = { + dispatch: PropTypes.func.isRequired +}; + +function mapStateToProps(state) { + return { + extensionBeingEdited: state.extension.extensionBeingEdited, + controlFormIsDirty: state.moduleDefinition.controlFormIsDirty + }; +} + +export default connect(mapStateToProps)(ModuleDefinitions); diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/style.less b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/style.less index 6a4a30e8d94..52a2d5eee06 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/style.less +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/EditExtension/CustomSettings/Module/ModuleDefinitions/style.less @@ -1,16 +1,20 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -.extensions-app { - .module-definitions { - .module-definitions-table { - padding: 0; - border: 1px solid @alto; - margin-top: 25px; - .module-definition-row:first-child { - border: none; - } - } - .add-module-definition-box { - padding: 15px 25px; - } - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +.extensions-app { + .module-definitions { + .module-definitions-table { + padding: 0; + border: 1px solid @alto; + margin-top: 25px; + .module-definition-row:first-child { + border: none; + } + } + .add-module-definition-wrapper { + float: "left"; + } + .add-module-definition-box { + height: 300px; + padding: 15px 25px; + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/index.jsx b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/index.jsx index 683ad17a5af..0b555c60f2f 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/index.jsx @@ -1,111 +1,113 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { DropdownWithError, SingleLineInputWithError, Button, GridCell } from "@dnnsoftware/dnn-react-common"; -import Collapsible from "react-collapse"; -import Localization from "localization"; -import styles from "./style.less"; - -class FolderDropdown extends Component { - constructor() { - super(); - this.state = { - addNewFolderOpen: false, - newFolderValue: "", - triedToSave: false - }; - } - - onOwnerFolderSelect(option) { - const { props } = this; - if (option && option.value === "AddNewFolder") { - this.setState({ - addNewFolderOpen: true - }); - } else { - props.onFolderSelect(option); - } - } - - closeAddNewFolderBox() { - this.setState({ - addNewFolderOpen: false, - newFolderValue: "" - }); - } - - onAddNewFolder() { - const { props, state } = this; - if (this.state.newFolderValue === "") { - this.setState({ - triedToSave: true - }); - return; - } - props.onAddNewFolder(state.newFolderValue, props.type, this.closeAddNewFolderBox.bind(this)); - } - - onFolderNameChange(event) { - this.setState({ - newFolderValue: event.target.value, - triedToSave: false - }); - } - - render() { - const { props, state } = this; - const folders = [ - { - label: "[" + Localization.get("CreateNewModule_NewFolder.Label") + "]", - value: "AddNewFolder" - }, - { - label: Localization.get("CreateNewModule_NotSpecified.Label"), - value: "" - } - ].concat(props.folders); - return ( - - - - -

                                    {Localization.get("CreateNewModule_NewFolder.Label")}

                                    - -
                                    - - - - -
                                    -
                                    - -
                                    - ); - } -} - -FolderDropdown.propTypes = { - onCancel: PropTypes.func, - folders: PropTypes.array, - onFolderSelect: PropTypes.func, - type: PropTypes.string, - tooltipMessage: PropTypes.string, - label: PropTypes.string, - enabled: PropTypes.bool, - error: PropTypes.bool, - onAddedNewFolder: PropTypes.func -}; - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { DropdownWithError, SingleLineInputWithError, Button, GridCell } from "@dnnsoftware/dnn-react-common"; +import Collapsible from "react-collapse"; +import Localization from "localization"; +import styles from "./style.less"; + +class FolderDropdown extends Component { + constructor() { + super(); + this.state = { + addNewFolderOpen: false, + newFolderValue: "", + triedToSave: false + }; + } + + onOwnerFolderSelect(option) { + const { props } = this; + if (option && option.value === "AddNewFolder") { + this.setState({ + addNewFolderOpen: true + }); + } else { + props.onFolderSelect(option); + } + } + + closeAddNewFolderBox() { + this.setState({ + addNewFolderOpen: false, + newFolderValue: "" + }); + } + + onAddNewFolder() { + const { props, state } = this; + if (this.state.newFolderValue === "") { + this.setState({ + triedToSave: true + }); + return; + } + props.onAddNewFolder(state.newFolderValue, props.type, this.closeAddNewFolderBox.bind(this)); + } + + onFolderNameChange(event) { + this.setState({ + newFolderValue: event.target.value, + triedToSave: false + }); + } + + render() { + const { props, state } = this; + const folders = [ + { + label: "[" + Localization.get("CreateNewModule_NewFolder.Label") + "]", + value: "AddNewFolder" + }, + { + label: Localization.get("CreateNewModule_NotSpecified.Label"), + value: "" + } + ].concat(props.folders); + return ( + + + + +

                                    {Localization.get("CreateNewModule_NewFolder.Label")}

                                    + +
                                    + + + + +
                                    +
                                    + +
                                    + ); + } +} + +FolderDropdown.propTypes = { + onCancel: PropTypes.func, + folders: PropTypes.array, + onFolderSelect: PropTypes.func, + type: PropTypes.string, + tooltipMessage: PropTypes.string, + label: PropTypes.string, + enabled: PropTypes.bool, + error: PropTypes.bool, + onAddedNewFolder: PropTypes.func +}; + export default FolderDropdown; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/style.less b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/style.less index 314ef3cdb32..f78c89149fd 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/style.less +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/src/components/NewModuleModal/common/FolderDropdown/style.less @@ -1,32 +1,36 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -:local(.folderDropdown) { - position: relative; - .dnn-dropdown-with-error { - width: 100%; - margin-bottom: 32px; - } - .add-new-folder-box { - position: absolute; - z-index: 50; - background: white; - -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); - box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); - // padding: 20px 10px; - .new-folder-title { - font-size: 15px; - font-weight: bold; - } - .new-folder-buttons { - text-align: center; - button:first-child { - margin-right: 10px; - } - } - } - .folder-dropdown { - &.hidden { - opacity: 0; - } - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +:local(.folderDropdown) { + position: relative; + .dnn-dropdown-with-error { + width: 100%; + margin-bottom: 32px; + } + .add-new-folder-box { + float: left; + .dnn-grid-cell { + height: 250px; + } + position: absolute; + z-index: 50; + background: white; + -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); + // padding: 20px 10px; + .new-folder-title { + font-size: 15px; + font-weight: bold; + } + .new-folder-buttons { + text-align: center; + button:first-child { + margin-right: 10px; + } + } + } + .folder-dropdown { + &.hidden { + opacity: 0; + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Extensions.Web/webpack.config.js b/Dnn.AdminExperience/ClientSide/Extensions.Web/webpack.config.js index 042e77c9e65..770c976ef67 100644 --- a/Dnn.AdminExperience/ClientSide/Extensions.Web/webpack.config.js +++ b/Dnn.AdminExperience/ClientSide/Extensions.Web/webpack.config.js @@ -1,126 +1,128 @@ const webpack = require("webpack"); const packageJson = require("./package.json"); const path = require("path"); -const isProduction = process.env.NODE_ENV === "production"; const webpackExternals = require("@dnnsoftware/dnn-react-common/WebpackExternals"); const settings = require("../../../settings.local.json"); -module.exports = { - entry: "./src/main.jsx", - optimization: { - minimize: isProduction - }, - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve( - __dirname, - "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Extensions/scripts/bundles/" - ) - : path.join( - settings.WebsitePath, - "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Extensions\\scripts\\bundles\\" - ), - publicPath: isProduction ? "" : "http://localhost:8080/dist/", - filename: "extensions-bundle.js" - }, - devServer: { - disableHostCheck: !isProduction - }, - resolve: { - extensions: ["*", ".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../node_modules") // Last fallback to workspaces node_modules - ] - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - enforce: "pre", - use: ["eslint-loader"] - }, - { - test: /\.less$/, - use: [ - { - loader: "style-loader" // creates style nodes from JS strings +module.exports = (env, argv) => { + const isProduction = argv.mode === "production"; + return { + entry: "./src/main.jsx", + optimization: { + minimize: isProduction, + }, + output: { + path: + isProduction || settings.WebsitePath == "" + ? path.resolve( + __dirname, + "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Extensions/scripts/bundles/" + ) + : path.join( + settings.WebsitePath, + "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Extensions\\scripts\\bundles\\" + ), + publicPath: isProduction ? "" : "http://localhost:8080/dist/", + filename: "extensions-bundle.js", + }, + devServer: { + disableHostCheck: !isProduction, + }, + resolve: { + extensions: ["*", ".js", ".json", ".jsx"], + modules: [ + path.resolve("./src"), // Look in src first + path.resolve("./node_modules"), // Try local node_modules + path.resolve("../../../node_modules"), // Last fallback to workspaces node_modules + ], + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + enforce: "pre", + use: ["eslint-loader"], + }, + { + test: /\.less$/, + use: [ + { + loader: "style-loader", // creates style nodes from JS strings + }, + { + loader: "css-loader", // translates CSS into CommonJS + options: { modules: "global" }, + }, + { + loader: "less-loader", // compiles Less to CSS + }, + ], + }, + { + test: /\.css$/, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { modules: "global" }, + }, + ], + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader", + options: { + presets: ["@babel/preset-env", "@babel/preset-react"], + }, }, - { - loader: "css-loader", // translates CSS into CommonJS - options: { modules: "global" } + }, + { + test: /\.(ttf|woff)$/, + use: { + loader: "url-loader?limit=8192", }, - { - loader: "less-loader" // compiles Less to CSS - } - ] - }, - { - test: /\.css$/, - use: [ - { - loader: "style-loader" + }, + { + test: /\.(gif|png)$/, + use: { + loader: "url-loader?mimetype=image/png", }, - { - loader: "css-loader", - options: { modules: "global" } - } - ] - }, - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { - loader: "babel-loader", - options: { - presets: ["@babel/preset-env", "@babel/preset-react"] - } - } - }, - { - test: /\.(ttf|woff)$/, - use: { - loader: "url-loader?limit=8192" - } - }, - { - test: /\.(gif|png)$/, - use: { - loader: "url-loader?mimetype=image/png" - } - }, - { - test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, - use: { - loader: "url-loader?mimetype=application/font-woff" - } - }, - { - test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, - use: { - loader: "file-loader?name=[name].[ext]" - } - } - ] - }, - externals: webpackExternals, - - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) + }, + { + test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, + use: { + loader: "url-loader?mimetype=application/font-woff", + }, + }, + { + test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, + use: { + loader: "file-loader?name=[name].[ext]", + }, + }, ], - devtool: "source-map" + }, + externals: webpackExternals, + + plugins: isProduction + ? [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + }), + ] + : [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + }), + ], + devtool: "source-map", + }; }; diff --git a/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json b/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json index 31ef98be1a6..087039cb7e8 100644 --- a/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Licensing.Web/package.json @@ -1,6 +1,6 @@ { "name": "licensing", - "version": "9.10.2", + "version": "9.11.0", "private": true, "scripts": { "build": "set NODE_ENV=production&&webpack -p", @@ -13,7 +13,7 @@ "@babel/core": "^7.1.6", "@babel/preset-env": "^7.1.6", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "array.prototype.find": "2.0.4", "array.prototype.findindex": "2.0.2", "babel-loader": "8.0.6", @@ -29,7 +29,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "jwt-decode": "2.2.0", - "less": "3.9.0", + "less": "4.1.2", "less-loader": "5.0.0", "prop-types": "^15.6.2", "raw-loader": "2.0.0", @@ -42,4 +42,4 @@ "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.14" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Licensing.Web/webpack.config.js b/Dnn.AdminExperience/ClientSide/Licensing.Web/webpack.config.js index 77bccfbd885..96a7b49a779 100644 --- a/Dnn.AdminExperience/ClientSide/Licensing.Web/webpack.config.js +++ b/Dnn.AdminExperience/ClientSide/Licensing.Web/webpack.config.js @@ -1,9 +1,8 @@ const webpack = require("webpack"); const packageJson = require("./package.json"); -const isProduction = process.env.NODE_ENV === "production"; const path = require("path"); const languages = { - en: null + en: null, // TODO: create locallizaton files per language // "de": require("./localizations/de.json"), // "es": require("./localizations/es.json"), @@ -15,92 +14,95 @@ const settings = require("../../../settings.local.json"); const webpackExternals = require("@dnnsoftware/dnn-react-common/WebpackExternals"); -module.exports = { - entry: "./src/main.jsx", - optimization: { - minimize: isProduction - }, - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve( - __dirname, - "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Licensing/scripts/bundles/" - ) - : path.join( - settings.WebsitePath, - "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Licensing\\scripts\\bundles\\" - ), - publicPath: isProduction ? "" : "http://localhost:8080/dist/", - filename: "licensing-bundle.js" - }, - devServer: { - disableHostCheck: !isProduction - }, - resolve: { - extensions: ["*", ".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../node_modules") // Last fallback to workspaces node_modules - ] - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - enforce: "pre", - use: ["eslint-loader"] - }, - { - test: /\.less$/, - use: [ - { - loader: "style-loader" // creates style nodes from JS strings +module.exports = (env, argv) => { + const isProduction = argv.mode === "production"; + return { + entry: "./src/main.jsx", + optimization: { + minimize: isProduction, + }, + output: { + path: + isProduction || settings.WebsitePath == "" + ? path.resolve( + __dirname, + "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Licensing/scripts/bundles/" + ) + : path.join( + settings.WebsitePath, + "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Licensing\\scripts\\bundles\\" + ), + publicPath: isProduction ? "" : "http://localhost:8080/dist/", + filename: "licensing-bundle.js", + }, + devServer: { + disableHostCheck: !isProduction, + }, + resolve: { + extensions: ["*", ".js", ".json", ".jsx"], + modules: [ + path.resolve("./src"), // Look in src first + path.resolve("./node_modules"), // Try local node_modules + path.resolve("../../../node_modules"), // Last fallback to workspaces node_modules + ], + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + enforce: "pre", + use: ["eslint-loader"], + }, + { + test: /\.less$/, + use: [ + { + loader: "style-loader", // creates style nodes from JS strings + }, + { + loader: "css-loader", // translates CSS into CommonJS + options: { modules: "global" }, + }, + { + loader: "less-loader", // compiles Less to CSS + }, + ], + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader", + options: { + presets: ["@babel/preset-env", "@babel/preset-react"], + }, }, - { - loader: "css-loader", // translates CSS into CommonJS - options: { modules: "global" } + }, + { + test: /\.(ttf|woff)$/, + use: { + loader: "url-loader?limit=8192", }, - { - loader: "less-loader" // compiles Less to CSS - } - ] - }, - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { - loader: "babel-loader", - options: { - presets: ["@babel/preset-env", "@babel/preset-react"] - } - } - }, - { - test: /\.(ttf|woff)$/, - use: { - loader: "url-loader?limit=8192" - } - } - ] - }, - externals: webpackExternals, - - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) + }, ], - devtool: "source-map" + }, + externals: webpackExternals, + + plugins: isProduction + ? [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + }), + ] + : [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + }), + ], + devtool: "source-map", + }; }; diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/.eslintskipwords.js b/Dnn.AdminExperience/ClientSide/Pages.Web/.eslintskipwords.js index 8515ac20e85..354d2cfc427 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/.eslintskipwords.js +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/.eslintskipwords.js @@ -94,7 +94,6 @@ module.exports = [ "localizations", "javascript", "ie", - "pikaday", "na", "searchable", "clearable", diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/package.json b/Dnn.AdminExperience/ClientSide/Pages.Web/package.json index e1588faf860..d8065d12a2c 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/package.json @@ -1,6 +1,6 @@ { "name": "pages", - "version": "9.10.2", + "version": "9.11.0", "private": true, "scripts": { "start": "npm run webpack", @@ -24,7 +24,7 @@ "@babel/plugin-proposal-object-rest-spread": "^7.0.0", "@babel/preset-env": "^7.1.6", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "@types/knockout": "^3.4.66", "@types/redux": "3.6.31", "babel-eslint": "^10.0.1", @@ -41,13 +41,13 @@ "enzyme": "^3.7.0", "enzyme-adapter-react-16": "^1.13.0", "eslint": "^7.32.0", - "eslint-import-resolver-webpack": "^0.11.1", + "eslint-import-resolver-webpack": "^0.13.2", "eslint-loader": "4.0.2", "eslint-plugin-react": "7.11.1", "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", - "jest": "^24.8.0", - "less": "3.9.0", + "jest": "^28.1.2", + "less": "4.1.2", "less-loader": "5.0.0", "lodash": "4.17.11", "raw-loader": "2.0.0", @@ -58,7 +58,7 @@ "react-widgets": "4.4.7", "string.prototype.startswith": "1.0.0", "style-loader": "^0.23.1", - "throttle-debounce": "^3.0.1", + "throttle-debounce": "^5.0.0", "uglifyjs-webpack-plugin": "^2.1.3", "url-loader": "1.1.2", "webpack": "^4.31.0", @@ -74,4 +74,4 @@ "react-day-picker": "^7.2.4", "url-parse": "^1.2.0" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/App.jsx b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/App.jsx index 532d5f77292..b63a04fc7c9 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/App.jsx +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/App.jsx @@ -1561,7 +1561,7 @@ class App extends Component { { isListPagesAllowed && - {securityService.isSuperUser() && + {securityService.canAddPages() &&
                                    diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/EditUrl.jsx b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/EditUrl.jsx index b446b0c2313..e459e779d89 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/EditUrl.jsx +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/EditUrl.jsx @@ -1,170 +1,170 @@ -import React, {Component} from "react"; -import PropTypes from "prop-types"; -import Localization from "../../../localization"; -import { Collapsible, GridCell, Button, RadioButtons, Label, Dropdown, SingleLineInputWithError } from "@dnnsoftware/dnn-react-common"; - -const portalAliasUsageType = { - Default: 0, - ChildPagesInherit: 1, - ChildPagesDoNotInherit: 2, - InheritedFromParent: 3 -}; - -class EditUrl extends Component { - constructor() { - super(); - this.state = { - hasChanges: false - }; - } - - onChangeField(key, event) { - const {onChange} = this.props; - let value = event; - if (event.value) { - value = event.value; - } else if (event.target) { - value = event.target.value; - } - - onChange(key, value); - - this.setState({ - hasChanges: true - }); - } - - getUrlTypeOptions() { - return [ - { - label: "Active (200)", - value: 200 - }, - { - label: "Redirect (301)", - value: 301 - } - ]; - } - - getOptions(siteAliases) { - return siteAliases.map(alias => { - return { - label: alias.Value, - value: alias.Key - }; - }); - } - - getSiteAliasUsageOptions(hasParent) { - let options = [ - {value: portalAliasUsageType.ChildPagesDoNotInherit, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionThisPageOnly")}, - {value: portalAliasUsageType.ChildPagesInherit, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionPageAndChildPages")} - ]; - - if (hasParent) { - options.push({ - value: portalAliasUsageType.InheritedFromParent, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionSameAsParent") - }); - } - - return options; - } - - render() { - const {url, saving, pageHasParent, siteAliases, primaryAliasId, isOpened, onSave, onCancel} = this.props; - const aliases = this.getOptions(siteAliases); - const siteAliasUsageOptions = this.getSiteAliasUsageOptions(pageHasParent); - if ( - !this.state.hasChanges && - url.siteAlias.Key !== primaryAliasId && - url.id == null) - { - this.props.onChange("siteAlias", primaryAliasId); - } - return ( - -
                                    - - - - - - - - {url.siteAlias.Key !== primaryAliasId && - - - - } - - - - - {url.statusCode.Key === 301 && - } - - -
                                    - - -
                                    -
                                    -
                                    -
                                    - ); - } -} - -EditUrl.propTypes = { - url: PropTypes.object.isRequired, - siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, - primaryAliasId: PropTypes.number, - onChange: PropTypes.func.isRequired, - isOpened: PropTypes.bool, - pageHasParent: PropTypes.bool, - className: PropTypes.string, - onSave: PropTypes.func.isRequired, - onCancel: PropTypes.func.isRequired, - saving: PropTypes.bool -}; - +import React, {Component} from "react"; +import PropTypes from "prop-types"; +import Localization from "../../../localization"; +import { Collapsible, GridCell, Button, RadioButtons, Label, Dropdown, SingleLineInputWithError } from "@dnnsoftware/dnn-react-common"; + +const portalAliasUsageType = { + Default: 0, + ChildPagesInherit: 1, + ChildPagesDoNotInherit: 2, + InheritedFromParent: 3 +}; + +class EditUrl extends Component { + constructor() { + super(); + this.state = { + hasChanges: false + }; + } + + onChangeField(key, event) { + const {onChange} = this.props; + let value = event; + if (event.value) { + value = event.value; + } else if (event.target) { + value = event.target.value; + } + + onChange(key, value); + + this.setState({ + hasChanges: true + }); + } + + getUrlTypeOptions() { + return [ + { + label: "Active (200)", + value: 200 + }, + { + label: "Redirect (301)", + value: 301 + } + ]; + } + + getOptions(siteAliases) { + return siteAliases.map(alias => { + return { + label: alias.Value, + value: alias.Key + }; + }); + } + + getSiteAliasUsageOptions(hasParent) { + let options = [ + {value: portalAliasUsageType.ChildPagesDoNotInherit, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionThisPageOnly")}, + {value: portalAliasUsageType.ChildPagesInherit, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionPageAndChildPages")} + ]; + + if (hasParent) { + options.push({ + value: portalAliasUsageType.InheritedFromParent, label: Localization.get("Pages_Seo_SelectedAliasUsageOptionSameAsParent") + }); + } + + return options; + } + + render() { + const {url, saving, pageHasParent, siteAliases, primaryAliasId, isOpened, onSave, onCancel} = this.props; + const aliases = this.getOptions(siteAliases); + const siteAliasUsageOptions = this.getSiteAliasUsageOptions(pageHasParent); + if ( + !this.state.hasChanges && + url.siteAlias.Key !== primaryAliasId && + url.id == null) + { + this.props.onChange("siteAlias", primaryAliasId); + } + return ( + +
                                    + + + + + + + + {url.siteAlias.Key !== primaryAliasId && + + + + } + + + + + {url.statusCode.Key === 301 && + } + + +
                                    + + +
                                    +
                                    +
                                    +
                                    + ); + } +} + +EditUrl.propTypes = { + url: PropTypes.object.isRequired, + siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, + primaryAliasId: PropTypes.number, + onChange: PropTypes.func.isRequired, + isOpened: PropTypes.bool, + pageHasParent: PropTypes.bool, + className: PropTypes.string, + onSave: PropTypes.func.isRequired, + onCancel: PropTypes.func.isRequired, + saving: PropTypes.bool +}; + export default EditUrl; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/Table.jsx b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/Table.jsx index 18bd79e747e..b1ede8c187f 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/Table.jsx +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/Table.jsx @@ -1,115 +1,115 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; -import Localization from "../../../localization"; -import UrlRow from "./UrlRow"; -import EditUrl from "./EditUrl"; -import styles from "./style.less"; - -class Table extends Component { - - getUrlRows(pageUrls) { - if (!pageUrls || pageUrls.length === 0) { - return null; - } - - const { siteAliases, primaryAliasId, onSave, onCancel, onDelete, onChange, editedUrl, - pageHasParent, editingUrl, onOpenEditForm } = this.props; - return pageUrls.map(url => { - return ; - }); - } - - onAddNewUrl() { - this.props.onAddNewUrl(this.props.editedUrl, this.props.primaryAliasId); - } - - render() { - const { pageUrls, pageHasParent, addingNewUrl, onOpenNewForm, onCloseNewUrl, - newFormOpened, onChange, editedUrl, siteAliases, primaryAliasId } = this.props; - const urlRows = this.getUrlRows(pageUrls); - - /* eslint-disable react/no-danger */ - return ( -
                                    -
                                    -
                                    -
                                    {Localization.get("UrlsForThisPage")}
                                    -
                                    -
                                    -
                                    {Localization.get("AddUrl")} -
                                    -
                                    -
                                    -
                                    - - {Localization.get("Url")} - - - {Localization.get("UrlType")} - - - {Localization.get("GeneratedBy")} - -
                                    - {newFormOpened && -
                                    - - {"-"} - - - {"-"} - - - {"-"} - - -
                                    } - {urlRows} -
                                    -
                                    - ); - } -} - -Table.propTypes = { - pageUrls: PropTypes.arrayOf(PropTypes.object), - siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, - primaryAliasId: PropTypes.number, - onSave: PropTypes.func.isRequired, - onChange: PropTypes.func, - onDelete: PropTypes.func, - pageHasParent: PropTypes.bool, - onOpenEditForm: PropTypes.func.isRequired, - onCancel: PropTypes.func.isRequired, - editingUrl: PropTypes.bool, - editedUrl: PropTypes.object, - addingNewUrl: PropTypes.bool, - onOpenNewForm: PropTypes.func.isRequired, - onCloseNewUrl: PropTypes.func.isRequired, - newFormOpened: PropTypes.bool, - onAddNewUrl: PropTypes.func.isRequired -}; - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; +import Localization from "../../../localization"; +import UrlRow from "./UrlRow"; +import EditUrl from "./EditUrl"; +import styles from "./style.less"; + +class Table extends Component { + + getUrlRows(pageUrls) { + if (!pageUrls || pageUrls.length === 0) { + return null; + } + + const { siteAliases, primaryAliasId, onSave, onCancel, onDelete, onChange, editedUrl, + pageHasParent, editingUrl, onOpenEditForm } = this.props; + return pageUrls.map((url, index) => { + return ; + }); + } + + onAddNewUrl() { + this.props.onAddNewUrl(this.props.editedUrl, this.props.primaryAliasId); + } + + render() { + const { pageUrls, pageHasParent, addingNewUrl, onOpenNewForm, onCloseNewUrl, + newFormOpened, onChange, editedUrl, siteAliases, primaryAliasId } = this.props; + const urlRows = this.getUrlRows(pageUrls); + + /* eslint-disable react/no-danger */ + return ( +
                                    +
                                    +
                                    +
                                    {Localization.get("UrlsForThisPage")}
                                    +
                                    +
                                    +
                                    {Localization.get("AddUrl")} +
                                    +
                                    +
                                    +
                                    + + {Localization.get("Url")} + + + {Localization.get("UrlType")} + + + {Localization.get("GeneratedBy")} + +
                                    + {newFormOpened && +
                                    + + {"-"} + + + {"-"} + + + {"-"} + + +
                                    } + {urlRows} +
                                    +
                                    + ); + } +} + +Table.propTypes = { + pageUrls: PropTypes.arrayOf(PropTypes.object), + siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, + primaryAliasId: PropTypes.number, + onSave: PropTypes.func.isRequired, + onChange: PropTypes.func, + onDelete: PropTypes.func, + pageHasParent: PropTypes.bool, + onOpenEditForm: PropTypes.func.isRequired, + onCancel: PropTypes.func.isRequired, + editingUrl: PropTypes.bool, + editedUrl: PropTypes.object, + addingNewUrl: PropTypes.bool, + onOpenNewForm: PropTypes.func.isRequired, + onCloseNewUrl: PropTypes.func.isRequired, + newFormOpened: PropTypes.bool, + onAddNewUrl: PropTypes.func.isRequired +}; + export default Table; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/UrlRow.jsx b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/UrlRow.jsx index 710099e45e4..dc478a46c2f 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/UrlRow.jsx +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/PageUrls/UrlRow.jsx @@ -1,96 +1,96 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; -import styles from "./style.less"; -import Localization from "../../../localization"; -import EditUrl from "./EditUrl"; -import utils from "../../../utils"; - -class UrlRow extends Component { - onDelete(url) { - const { onDelete } = this.props; - utils.confirm( - Localization.get("Pages_Seo_DeleteWarningMessage"), - Localization.get("Delete"), - Localization.get("Cancel"), - function onConfirmDeletion() { - onDelete(url); - } - ); - } - - onOpenEditForm(url) { - const { editedUrl, onOpenEditForm, onCancel } = this.props; - const opened = editedUrl && editedUrl.id === url.id; - if (opened) { - onCancel(); - } else { - onOpenEditForm(url); - } - } - - render() { - const { url, siteAliases, primaryAliasId, editedUrl, saving, onChange, pageHasParent, - onSave, onCancel } = this.props; - let generatedBy = Localization.get("Pages_Seo_GeneratedByAutomatic"); - - if (!url.autoGenerated) { - generatedBy = url.userName; - } - const opened = editedUrl && editedUrl.id === url.id; - - return ( - /* eslint-disable react/no-danger */ -
                                    - - {url.path} - - - {url.statusCode.Value} - - - {generatedBy} - - - {(!url.autoGenerated || url.statusCode.Key !== 200) && url.id !== -1 && -
                                    - } - {!url.autoGenerated && -
                                    - } -
                                    - {opened && - } -
                                    - /* eslint-enable react/no-danger */ - ); - } -} - -UrlRow.propTypes = { - url: PropTypes.object.isRequired, - editedUrl: PropTypes.object, - pageHasParent: PropTypes.bool, - siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, - primaryAliasId: PropTypes.number, - saving: PropTypes.bool, - onOpenEditForm: PropTypes.func.isRequired, - onChange: PropTypes.func.isRequired, - onSave: PropTypes.func.isRequired, - onCancel: PropTypes.func.isRequired, - onDelete: PropTypes.func.isRequired -}; - - +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { GridCell, SvgIcons } from "@dnnsoftware/dnn-react-common"; +import styles from "./style.less"; +import Localization from "../../../localization"; +import EditUrl from "./EditUrl"; +import utils from "../../../utils"; + +class UrlRow extends Component { + onDelete(url) { + const { onDelete } = this.props; + utils.confirm( + Localization.get("Pages_Seo_DeleteWarningMessage"), + Localization.get("Delete"), + Localization.get("Cancel"), + function onConfirmDeletion() { + onDelete(url); + } + ); + } + + onOpenEditForm(url) { + const { editedUrl, onOpenEditForm, onCancel } = this.props; + const opened = editedUrl && editedUrl.id === url.id; + if (opened) { + onCancel(); + } else { + onOpenEditForm(url); + } + } + + render() { + const { url, siteAliases, primaryAliasId, editedUrl, saving, onChange, pageHasParent, + onSave, onCancel } = this.props; + let generatedBy = Localization.get("Pages_Seo_GeneratedByAutomatic"); + + if (!url.autoGenerated) { + generatedBy = url.userName; + } + const opened = editedUrl && editedUrl.id === url.id; + + return ( + /* eslint-disable react/no-danger */ +
                                    + + {url.path} + + + {url.statusCode.Value} + + + {generatedBy} + + + {(!url.autoGenerated || url.statusCode.Key !== 200) && url.id !== -1 && +
                                    + } + {!url.autoGenerated && +
                                    + } +
                                    + {opened && + } +
                                    + /* eslint-enable react/no-danger */ + ); + } +} + +UrlRow.propTypes = { + url: PropTypes.object.isRequired, + editedUrl: PropTypes.object, + pageHasParent: PropTypes.bool, + siteAliases: PropTypes.arrayOf(PropTypes.object).isRequired, + primaryAliasId: PropTypes.number, + saving: PropTypes.bool, + onOpenEditForm: PropTypes.func.isRequired, + onChange: PropTypes.func.isRequired, + onSave: PropTypes.func.isRequired, + onCancel: PropTypes.func.isRequired, + onDelete: PropTypes.func.isRequired +}; + + export default UrlRow; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/style.less b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/style.less index 7c7e5e8dff8..e34485e280e 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/style.less +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/components/Seo/style.less @@ -1,72 +1,74 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -:local(.seoContainer) { - float: left; - width: 100%; - margin-bottom: 20px; - .dnn-grid-system { - .right-column { - padding-left: 30px; - .new-section { - margin-top: 20px; - } - } - .left-column { - border-right: 1px solid @alto; - padding-right: 30px; - } - } - .link-icon svg { - width: 24px; - height: 24px; - float: left; - fill: @thunder; - margin-right: 5px; - } - .url-table { - margin-bottom: 30px; - width: 100%; - float: left; - border-left: 1px solid @alto; - border-right: 1px solid @alto; - .header-row { - display: table; - width: 100%; - border-bottom: 1px solid @alto; - border-top: 1px solid @alto; - width: 100%; - float: left; - position: relative; - padding: 15px 20px; - box-sizing: border-box; - text-transform: uppercase; - } - } - .add-setting-editor { - //border-bottom: 1px solid @alto; - float: left; - } - .editUrl { - width: 100%; - height: 450px; - float: left; - padding: 15px 20px 0 20px; - .left-column { - padding-right: 15px; - } - .right-column { - padding-left: 15px; - } - .dnn-dropdown { - margin-bottom: 32px; - } - } - .dnn-dropdown { - width: 100%; - } - .row-opened { - margin-top: -3px; - margin-bottom: -1px; - border-top: 2px solid @curiousBlue; - border-bottom: 2px solid @curiousBlue !important; - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +:local(.seoContainer) { + float: left; + width: 100%; + margin-bottom: 20px; + .dnn-grid-system { + .right-column { + padding-left: 30px; + .new-section { + margin-top: 20px; + } + } + .left-column { + border-right: 1px solid @alto; + padding-right: 30px; + } + } + .link-icon svg { + width: 24px; + height: 24px; + float: left; + fill: @thunder; + margin-right: 5px; + } + .url-table { + margin-bottom: 30px; + width: 100%; + float: left; + border-left: 1px solid @alto; + border-right: 1px solid @alto; + .header-row { + display: table; + width: 100%; + border-bottom: 1px solid @alto; + border-top: 1px solid @alto; + width: 100%; + float: left; + position: relative; + padding: 15px 20px; + box-sizing: border-box; + text-transform: uppercase; + } + } + .add-setting-editor { + //border-bottom: 1px solid @alto; + float: left; + } + .editUrl { + width: 100%; + float: left; + padding: 15px 20px 0 20px; + .editUrl-body { + height: 450px; + } + .left-column { + padding-right: 15px; + } + .right-column { + padding-left: 15px; + } + .dnn-dropdown { + margin-bottom: 32px; + } + } + .dnn-dropdown { + width: 100%; + } + .row-opened { + margin-top: -3px; + margin-bottom: -1px; + border-top: 2px solid @curiousBlue; + border-bottom: 2px solid @curiousBlue !important; + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/services/securityService.js b/Dnn.AdminExperience/ClientSide/Pages.Web/src/services/securityService.js index 1ba0a82c213..5a62a5d73b5 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/services/securityService.js +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/services/securityService.js @@ -19,6 +19,9 @@ const securityService = { }, canSeePagesList() { return utils.canSeePagesList(); - } + }, + canAddPages() { + return utils.canAddPages(); + }, }; export default securityService; \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/src/utils.js b/Dnn.AdminExperience/ClientSide/Pages.Web/src/utils.js index 8be784f5700..a4097948d5c 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/src/utils.js +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/src/utils.js @@ -150,6 +150,11 @@ function canSeePagesList() { return settings.isHost || settings.isAdmin || settings.canSeePagesList; } +function canAddPages() { + checkInit(); + return settings.isHost || settings.isAdmin || settings.canAddPages; +} + function getCurrentPagePermissions() { checkInit(); return settings.currentPagePermissions; @@ -230,6 +235,7 @@ const utils = { getTemplateFolder, getIsSuperUser, canSeePagesList, + canAddPages, getCurrentPagePermissions, getCurrentParentHasChildren, getCurrentPageName, diff --git a/Dnn.AdminExperience/ClientSide/Pages.Web/webpack.config.js b/Dnn.AdminExperience/ClientSide/Pages.Web/webpack.config.js index 102888d19c5..77970e0f43a 100644 --- a/Dnn.AdminExperience/ClientSide/Pages.Web/webpack.config.js +++ b/Dnn.AdminExperience/ClientSide/Pages.Web/webpack.config.js @@ -1,104 +1,106 @@ -const isProduction = process.env.NODE_ENV === "production"; -const packageJson = require("./package.json"); +const packageJson = require("./package.json"); const path = require("path"); const webpack = require("webpack"); const webpackExternals = require("@dnnsoftware/dnn-react-common/WebpackExternals"); const settings = require("../../../settings.local.json"); -module.exports = { - entry: "./src/main.jsx", - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve( - __dirname, - "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Pages/scripts/bundles/" - ) - : path.join( - settings.WebsitePath, - "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Pages\\scripts\\bundles\\" - ), - filename: "pages-bundle.js", - publicPath: isProduction ? "" : "http://localhost:8080/dist/" - }, - devServer: { - disableHostCheck: !isProduction - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { loader: "eslint-loader", options: { fix: true } }, - enforce: "pre" - }, - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { - loader: "babel-loader" - } - }, - { - test: /\.less$/, - use: [ - { - loader: "style-loader" +module.exports = (env, argv) => { + const isProduction = argv.mode === "production"; + return { + entry: "./src/main.jsx", + output: { + path: + isProduction || settings.WebsitePath == "" + ? path.resolve( + __dirname, + "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Pages/scripts/bundles/" + ) + : path.join( + settings.WebsitePath, + "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Pages\\scripts\\bundles\\" + ), + filename: "pages-bundle.js", + publicPath: isProduction ? "" : "http://localhost:8080/dist/", + }, + devServer: { + disableHostCheck: !isProduction, + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { loader: "eslint-loader", options: { fix: true } }, + enforce: "pre", + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader", }, - { - loader: "css-loader", - options: { modules: "global" } + }, + { + test: /\.less$/, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { modules: "global" }, + }, + { + loader: "less-loader", + }, + ], + }, + { + test: /\.css$/, + use: [ + { + loader: "style-loader", + }, + { + loader: "css-loader", + options: { modules: "global" }, + }, + ], + }, + { + test: /\.(ttf|woff|gif|png)$/, + use: { + loader: "url-loader?limit=8192", }, - { - loader: "less-loader" - } - ] - }, - { - test: /\.css$/, - use: [ - { - loader: "style-loader" - }, - { - loader: "css-loader", - options: { modules: "global" } - } - ] - }, - { - test: /\.(ttf|woff|gif|png)$/, - use: { - loader: "url-loader?limit=8192" - } - } - ] - }, - resolve: { - extensions: ["*", ".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../node_modules") // Last fallback to workspaces node_modules - ] - }, - externals: webpackExternals, - optimization: { - minimize: isProduction - }, - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) + }, ], - devtool: "source-map" + }, + resolve: { + extensions: ["*", ".js", ".json", ".jsx"], + modules: [ + path.resolve("./src"), // Look in src first + path.resolve("./node_modules"), // Try local node_modules + path.resolve("../../../node_modules"), // Last fallback to workspaces node_modules + ], + }, + externals: webpackExternals, + optimization: { + minimize: isProduction, + }, + plugins: isProduction + ? [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + }), + ] + : [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + }), + ], + devtool: "source-map", + }; }; diff --git a/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json b/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json index 40e07bd2a5e..b1bb03ffb55 100644 --- a/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Prompt.Web/package.json @@ -1,6 +1,6 @@ { "name": "prompt", - "version": "9.10.2", + "version": "9.11.0", "description": "DNN Prompt", "private": true, "scripts": { @@ -16,7 +16,7 @@ "@babel/core": "^7.1.6", "@babel/preset-env": "^7.1.6", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "array.prototype.find": "2.0.4", "array.prototype.findindex": "2.0.2", "babel-eslint": "^10.0.1", @@ -42,9 +42,9 @@ "fetch-mock": "^7.2.5", "file-loader": "3.0.1", "i18n-webpack-plugin": "1.0.0", - "jest": "^24.8.0", + "jest": "^28.1.2", "jwt-decode": "2.2.0", - "less": "3.9.0", + "less": "4.1.2", "less-loader": "5.0.0", "localization": "^1.0.2", "object-assign": "*", @@ -57,15 +57,15 @@ "react-hot-loader": "4.8.5", "react-redux": "5.1.0", "react-test-renderer": "^17.0.2", - "redux": "4.1.1", + "redux": "4.2.0", "redux-devtools": "^3.5.0", "redux-devtools-dock-monitor": "1.2.0", - "redux-devtools-log-monitor": "1.4.0", + "redux-devtools-log-monitor": "2.1.0", "redux-immutable-state-invariant": "2.1.0", "redux-mock-store": "^1.4.0", "redux-thunk": "2.3.0", "style-loader": "^0.23.1", - "throttle-debounce": "^3.0.1", + "throttle-debounce": "^5.0.0", "url-loader": "1.1.2", "webpack": "^4.31.0", "webpack-bundle-analyzer": "^4.4.1", @@ -76,4 +76,4 @@ "dependencies": { "html-react-parser": "^0.7.0" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Prompt.Web/webpack.config.js b/Dnn.AdminExperience/ClientSide/Prompt.Web/webpack.config.js index 77d8e8cca97..1dfd03acbe3 100644 --- a/Dnn.AdminExperience/ClientSide/Prompt.Web/webpack.config.js +++ b/Dnn.AdminExperience/ClientSide/Prompt.Web/webpack.config.js @@ -1,103 +1,105 @@ const webpack = require("webpack"); const packageJson = require("./package.json"); -const isProduction = process.env.NODE_ENV === "production"; const isAnalyze = process.env.NODE_ENV === "analyze"; const path = require("path"); const extractTextPlugin = require("extract-text-webpack-plugin"); const optimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin"); -const BundleAnalyzerPlugin = require("webpack-bundle-analyzer") - .BundleAnalyzerPlugin; +const BundleAnalyzerPlugin = + require("webpack-bundle-analyzer").BundleAnalyzerPlugin; const settings = require("../../../settings.local.json"); -module.exports = { - context: path.resolve(__dirname, "."), - entry: "./src/main.jsx", - optimization: { - minimize: isProduction - }, - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve( - __dirname, - "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Prompt/scripts/bundles/" - ) - : path.join( - settings.WebsitePath, - "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Prompt\\scripts\\bundles\\" - ), - publicPath: isProduction ? "" : "http://localhost:8100/dist/", - filename: "prompt-bundle.js" - }, - devServer: { - disableHostCheck: !isProduction - }, - devtool: "#source-map", - resolve: { - extensions: ["*", ".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../node_modules") // Last fallback to workspaces node_modules - ] - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - enforce: "pre", - use: ["eslint-loader"] - }, - { - test: /\.less$/, - use: [ - { - loader: "style-loader" // creates style nodes from JS strings +module.exports = (env, argv) => { + const isProduction = argv.mode === "production"; + return { + context: path.resolve(__dirname, "."), + entry: "./src/main.jsx", + optimization: { + minimize: isProduction, + }, + output: { + path: + isProduction || settings.WebsitePath == "" + ? path.resolve( + __dirname, + "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Prompt/scripts/bundles/" + ) + : path.join( + settings.WebsitePath, + "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Prompt\\scripts\\bundles\\" + ), + publicPath: isProduction ? "" : "http://localhost:8100/dist/", + filename: "prompt-bundle.js", + }, + devServer: { + disableHostCheck: !isProduction, + }, + devtool: "#source-map", + resolve: { + extensions: ["*", ".js", ".json", ".jsx"], + modules: [ + path.resolve("./src"), // Look in src first + path.resolve("./node_modules"), // Try local node_modules + path.resolve("../../../node_modules"), // Last fallback to workspaces node_modules + ], + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + enforce: "pre", + use: ["eslint-loader"], + }, + { + test: /\.less$/, + use: [ + { + loader: "style-loader", // creates style nodes from JS strings + }, + { + loader: "css-loader", // translates CSS into CommonJS + options: { modules: "global" }, + }, + { + loader: "less-loader", // compiles Less to CSS + }, + ], + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + use: { + loader: "babel-loader", + options: { + presets: ["@babel/preset-env", "@babel/preset-react"], + }, }, - { - loader: "css-loader", // translates CSS into CommonJS - options: { modules: "global" } + }, + { + test: /\.(ttf|woff)$/, + use: { + loader: "url-loader?limit=8192", }, - { - loader: "less-loader" // compiles Less to CSS - } - ] - }, - { - test: /\.(js|jsx)$/, - exclude: /node_modules/, - use: { - loader: "babel-loader", - options: { - presets: ["@babel/preset-env", "@babel/preset-react"] - } - } - }, - { - test: /\.(ttf|woff)$/, - use: { - loader: "url-loader?limit=8192" - } - } - ] - }, - externals: require("@dnnsoftware/dnn-react-common/WebpackExternals"), - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) + }, ], - devtool: "source-map" + }, + externals: require("@dnnsoftware/dnn-react-common/WebpackExternals"), + plugins: isProduction + ? [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + }), + ] + : [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + }), + ], + devtool: "source-map", + }; }; if (isAnalyze) { diff --git a/Dnn.AdminExperience/ClientSide/Roles.Web/.eslintskipwords.js b/Dnn.AdminExperience/ClientSide/Roles.Web/.eslintskipwords.js index 0ba72c0e140..5c74042f752 100644 --- a/Dnn.AdminExperience/ClientSide/Roles.Web/.eslintskipwords.js +++ b/Dnn.AdminExperience/ClientSide/Roles.Web/.eslintskipwords.js @@ -94,7 +94,6 @@ module.exports = [ "localizations", "javascript", "ie", - "pikaday", "na", "searchable", "clearable", diff --git a/Dnn.AdminExperience/ClientSide/Roles.Web/package.json b/Dnn.AdminExperience/ClientSide/Roles.Web/package.json index 10073b606f4..8e71f035e79 100644 --- a/Dnn.AdminExperience/ClientSide/Roles.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Roles.Web/package.json @@ -1,6 +1,6 @@ { "name": "roles", - "version": "9.10.2", + "version": "9.11.0", "private": true, "scripts": { "build": "set NODE_ENV=production&&webpack -p", @@ -14,7 +14,7 @@ "@babel/core": "^7.1.6", "@babel/preset-env": "^7.1.6", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "array.prototype.find": "^2.0.0", "array.prototype.findindex": "^2.0.0", "babel-loader": "^8.0.6", @@ -32,7 +32,7 @@ "file-loader": "3.0.1", "i18n-webpack-plugin": "1.0.0", "jwt-decode": "2.2.0", - "less": "3.9.0", + "less": "4.1.2", "less-loader": "5.0.0", "prop-types": "^15.6.2", "raw-loader": "2.0.0", @@ -41,7 +41,7 @@ "react-dom": "^16.6.3", "react-hot-loader": "4.8.5", "style-loader": "0.23.1", - "throttle-debounce": "3.0.1", + "throttle-debounce": "5.0.0", "url-loader": "1.1.2", "webpack": "4.31.0", "webpack-bundle-size-analyzer": "3.0.0", @@ -51,4 +51,4 @@ "dependencies": { "react-widgets": "^4.4.6" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Roles.Web/webpack.config.js b/Dnn.AdminExperience/ClientSide/Roles.Web/webpack.config.js index 773cb32d70c..d94f3566212 100644 --- a/Dnn.AdminExperience/ClientSide/Roles.Web/webpack.config.js +++ b/Dnn.AdminExperience/ClientSide/Roles.Web/webpack.config.js @@ -2,79 +2,90 @@ const I18nPlugin = require("i18n-webpack-plugin"); const packageJson = require("./package.json"); const path = require("path"); -const isProduction = process.env.NODE_ENV === "production"; const settings = require("../../../settings.local.json"); -module.exports = { - entry: "./src/main.jsx", - optimization: { - minimize: isProduction - }, - output: { - path: - isProduction || settings.WebsitePath == "" - ? path.resolve("../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Roles/scripts/bundles/") - : path.join(settings.WebsitePath, "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Roles\\scripts\\bundles\\"), - filename: "roles-bundle.js", - publicPath: isProduction ? "" : "http://localhost:8080/dist/" - }, - devServer: { - disableHostCheck: !isProduction - }, - module: { - rules: [ - { - test: /\.(js|jsx)$/, - enforce: "pre", - exclude: /node_modules/, - loader: "eslint-loader", - options: { fix: true } - }, - { test: /\.(js|jsx)$/, exclude: /node_modules/, loader: "babel-loader" }, - { - test: /\.(less|css)$/, - use: [ - { loader: "style-loader" }, - { loader: "css-loader", options: { modules: "global" } }, - { loader: "less-loader" } - ] - }, - { test: /\.(ttf|woff)$/, loader: "url-loader?limit=8192" }, - { test: /\.(gif|png)$/, loader: "url-loader?mimetype=image/png" }, - { - test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, - loader: "url-loader?mimetype=application/font-woff" - }, - { - test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, - loader: "file-loader?name=[name].[ext]" - } - ] - }, - resolve: { - extensions: [".js", ".json", ".jsx"], - modules: [ - path.resolve("./src"), // Look in src first - path.resolve("./node_modules"), // Try local node_modules - path.resolve("../../../node_modules") // Last fallback to workspaces node_modules - ] - }, +module.exports = (env, argv) => { + const isProduction = argv.mode === "production"; + return { + entry: "./src/main.jsx", + optimization: { + minimize: isProduction, + }, + output: { + path: + isProduction || settings.WebsitePath == "" + ? path.resolve( + "../../Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Roles/scripts/bundles/" + ) + : path.join( + settings.WebsitePath, + "DesktopModules\\Admin\\Dnn.PersonaBar\\Modules\\Dnn.Roles\\scripts\\bundles\\" + ), + filename: "roles-bundle.js", + publicPath: isProduction ? "" : "http://localhost:8080/dist/", + }, + devServer: { + disableHostCheck: !isProduction, + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + enforce: "pre", + exclude: /node_modules/, + loader: "eslint-loader", + options: { fix: true }, + }, + { + test: /\.(js|jsx)$/, + exclude: /node_modules/, + loader: "babel-loader", + }, + { + test: /\.(less|css)$/, + use: [ + { loader: "style-loader" }, + { loader: "css-loader", options: { modules: "global" } }, + { loader: "less-loader" }, + ], + }, + { test: /\.(ttf|woff)$/, loader: "url-loader?limit=8192" }, + { test: /\.(gif|png)$/, loader: "url-loader?mimetype=image/png" }, + { + test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/, + loader: "url-loader?mimetype=application/font-woff", + }, + { + test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/, + loader: "file-loader?name=[name].[ext]", + }, + ], + }, + resolve: { + extensions: [".js", ".json", ".jsx"], + modules: [ + path.resolve("./src"), // Look in src first + path.resolve("./node_modules"), // Try local node_modules + path.resolve("../../../node_modules"), // Last fallback to workspaces node_modules + ], + }, - externals: require("@dnnsoftware/dnn-react-common/WebpackExternals"), + externals: require("@dnnsoftware/dnn-react-common/WebpackExternals"), - plugins: isProduction - ? [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version), - "process.env": { - NODE_ENV: JSON.stringify("production") - } - }) - ] - : [ - new webpack.DefinePlugin({ - VERSION: JSON.stringify(packageJson.version) - }) - ], - devtool: "source-map" + plugins: isProduction + ? [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + "process.env": { + NODE_ENV: JSON.stringify("production"), + }, + }), + ] + : [ + new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), + }), + ], + devtool: "source-map", + }; }; diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/package.json b/Dnn.AdminExperience/ClientSide/Security.Web/package.json index 03a5ea0ed71..ed6f71c517f 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/package.json +++ b/Dnn.AdminExperience/ClientSide/Security.Web/package.json @@ -1,6 +1,6 @@ { "name": "security_settings", - "version": "9.10.2", + "version": "9.11.0", "private": true, "scripts": { "build": "set NODE_ENV=production&&webpack -p", @@ -16,7 +16,7 @@ "@babel/plugin-transform-react-jsx": "^7.2.0", "@babel/preset-env": "^7.2.0", "@babel/preset-react": "^7.0.0", - "@dnnsoftware/dnn-react-common": "9.10.2", + "@dnnsoftware/dnn-react-common": "9.11.0", "babel-loader": "8.0.6", "babel-plugin-transform-react-remove-prop-types": "0.4.24", "create-react-class": "^15.6.3", @@ -27,7 +27,7 @@ "eslint-plugin-spellcheck": "0.0.11", "file-loader": "3.0.1", "jwt-decode": "2.2.0", - "less": "3.9.0", + "less": "4.1.2", "less-loader": "5.0.0", "prop-types": "^15.6.2", "raw-loader": "2.0.0", @@ -46,4 +46,4 @@ "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.14" } -} \ No newline at end of file +} diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/src/actions/security.js b/Dnn.AdminExperience/ClientSide/Security.Web/src/actions/security.js index 9a824669cb3..b3e2890a12a 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/src/actions/security.js +++ b/Dnn.AdminExperience/ClientSide/Security.Web/src/actions/security.js @@ -258,6 +258,17 @@ const securityActions = { }); }; }, + setAllPagesSecure(callback, failureCallback) { + ApplicationService.setAllPagesSecure(data => { + if (callback) { + callback(data); + } + }, data => { + if (failureCallback) { + failureCallback(data); + } + }); + }, getOtherSettings(callback) { return (dispatch) => { ApplicationService.getOtherSettings(data => { diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/index.jsx b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/index.jsx index 3f916327510..b24cf31afdf 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/index.jsx @@ -1,109 +1,109 @@ -import React, { Component } from "react"; -import PropTypes from "prop-types"; -import { Collapsible } from "@dnnsoftware/dnn-react-common"; -import "./style.less"; -import resx from "../../../resources"; - -/*eslint-disable quotes*/ -const allowIcon = require(`!raw-loader!./../../svg/checkbox.svg`).default; -const denyIcon = require(`!raw-loader!./../../svg/cross_out.svg`).default; -const editIcon = require(`!raw-loader!./../../svg/edit.svg`).default; -const deleteIcon = require(`!raw-loader!./../../svg/trash.svg`).default; - -class IpFilterRow extends Component { - constructor() { - super(); - } - - componentDidMount() { - let opened = (this.props.openId !== "" && this.props.id === this.props.openId); - this.setState({ - opened - }); - } - - toggle() { - if ((this.props.openId !== "" && this.props.id === this.props.openId)) { - this.props.Collapse(); - } else { - this.props.OpenCollapse(this.props.id); - } - } - - /* eslint-disable react/no-danger */ - getRuleTypeDisplay() { - const {props} = this; - if (props.id !== "add") { - if (props.ruleType === 1) { - return ( -
                                    -
                                    -
                                    {resx.get("AllowIP") }
                                    -
                                    - ); - } - else { - return ( -
                                    -
                                    -
                                    {resx.get("DenyIP") }
                                    -
                                    - ); - } - } - else { - return "-"; - } - } - - /* eslint-disable react/no-danger */ - render() { - const {props} = this; - let opened = (this.props.openId !== "" && this.props.id === this.props.openId); - - return ( -
                                    - {props.visible && -
                                    -
                                    -
                                    - {this.getRuleTypeDisplay() } -
                                    -
                                    - {props.ipFilter} -
                                    - {props.id !== "add" && !props.readOnly && -
                                    -
                                    -
                                    -
                                    - } -
                                    -
                                    - } - {opened && props.children} -
                                    - ); - - } -} - -IpFilterRow.propTypes = { - ipFilterId: PropTypes.number, - ipFilter: PropTypes.string, - ruleType: PropTypes.number, - OpenCollapse: PropTypes.func, - Collapse: PropTypes.func, - onDelete: PropTypes.func, - id: PropTypes.string, - openId: PropTypes.string, - visible: PropTypes.bool, - readOnly: PropTypes.bool -}; - -IpFilterRow.defaultProps = { - collapsed: true, - visible: true, - readOnly: false -}; -export default (IpFilterRow); +import React, { Component } from "react"; +import PropTypes from "prop-types"; +import { Collapsible } from "@dnnsoftware/dnn-react-common"; +import "./style.less"; +import resx from "../../../resources"; + +/*eslint-disable quotes*/ +const allowIcon = require(`!raw-loader!./../../svg/checkbox.svg`).default; +const denyIcon = require(`!raw-loader!./../../svg/cross_out.svg`).default; +const editIcon = require(`!raw-loader!./../../svg/edit.svg`).default; +const deleteIcon = require(`!raw-loader!./../../svg/trash.svg`).default; + +class IpFilterRow extends Component { + constructor() { + super(); + } + + componentDidMount() { + let opened = (this.props.openId !== "" && this.props.id === this.props.openId); + this.setState({ + opened + }); + } + + toggle() { + if ((this.props.openId !== "" && this.props.id === this.props.openId)) { + this.props.Collapse(); + } else { + this.props.OpenCollapse(this.props.id); + } + } + + /* eslint-disable react/no-danger */ + getRuleTypeDisplay() { + const {props} = this; + if (props.id !== "add") { + if (props.ruleType === 1) { + return ( +
                                    +
                                    +
                                    {resx.get("AllowIP") }
                                    +
                                    + ); + } + else { + return ( +
                                    +
                                    +
                                    {resx.get("DenyIP") }
                                    +
                                    + ); + } + } + else { + return "-"; + } + } + + /* eslint-disable react/no-danger */ + render() { + const {props} = this; + let opened = (this.props.openId !== "" && this.props.id === this.props.openId); + + return ( +
                                    + {props.visible && +
                                    +
                                    +
                                    + {this.getRuleTypeDisplay() } +
                                    +
                                    + {props.ipFilter} +
                                    + {props.id !== "add" && !props.readOnly && +
                                    +
                                    +
                                    +
                                    + } +
                                    +
                                    + } + {opened && props.children} +
                                    + ); + + } +} + +IpFilterRow.propTypes = { + ipFilterId: PropTypes.number, + ipFilter: PropTypes.string, + ruleType: PropTypes.number, + OpenCollapse: PropTypes.func, + Collapse: PropTypes.func, + onDelete: PropTypes.func, + id: PropTypes.string, + openId: PropTypes.string, + visible: PropTypes.bool, + readOnly: PropTypes.bool +}; + +IpFilterRow.defaultProps = { + collapsed: true, + visible: true, + readOnly: false +}; +export default (IpFilterRow); diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/style.less b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/style.less index 3168f620f85..82db8437abe 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/style.less +++ b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/ipFilters/ipFilterRow/style.less @@ -1,95 +1,99 @@ -@import "~@dnnsoftware/dnn-react-common/styles/index"; -.collapsible-component-ipfilters { - display: block; - float: left; - width: 100%; - cursor: auto; - &:not(:last-child) { - border-bottom: 1px solid @alto; - } - .ip-filter-wrapper > div { - float: left; - width: 100%; - } - div.collapsible-ipfilters { - width: 100%; - float: left; - position: relative; - padding: 15px 0 10px 0; - box-sizing: border-box; - cursor: auto; - &.false {} - .row { - .item-row-ruleType { - width: 20%; - float: left; - padding-left: 15px; - .item-row-ruleType-display { - color: @mountainMist; - margin: 0 0 0 -15px; - .allow-icon, .deny-icon { - padding-left: 15px; - > svg { - width: 20px; - float: left; - height: 20px; - fill: @mountainMist; - } - } - } - } - .item-row-ipAddress { - width: 65%; - float: left; - padding-top: 3px; - } - .item-row-editButton { - width: 13%; - float: left; - .edit-icon { - cursor: pointer; - float: right; - margin-right: 5px; - > svg { - width: 20px; - float: right; - height: 20px; - &:hover { - fill: @thunder; - } - fill: @alto; - } - } - .edit-icon-active { - float: right; - cursor: pointer; - > svg { - width: 20px; - float: right; - height: 20px; - fill: @curiousBlue; - } - } - .delete-icon-hidden{ - display: none; - } - .delete-icon { - cursor: pointer; - float: right; - > svg { - width: 20px; - float: right; - height: 20px; - &:hover { - fill: @thunder; - } - fill: @alto; - } - } - } - .item-row-wrapper { - padding: 0 5px 0 5px; - } - } - } +@import "~@dnnsoftware/dnn-react-common/styles/index"; +.collapsible-component-ipfilters { + display: block; + float: left; + width: 100%; + cursor: auto; + &:not(:last-child) { + border-bottom: 1px solid @alto; + } + .ip-filter-wrapper { + overflow: visible; + width: 100%; + > div { + float: left; + width: 100%; + } + } + div.collapsible-ipfilters { + width: 100%; + float: left; + position: relative; + padding: 15px 0 10px 0; + box-sizing: border-box; + cursor: auto; + &.false {} + .row { + .item-row-ruleType { + width: 20%; + float: left; + padding-left: 15px; + .item-row-ruleType-display { + color: @mountainMist; + margin: 0 0 0 -15px; + .allow-icon, .deny-icon { + padding-left: 15px; + > svg { + width: 20px; + float: left; + height: 20px; + fill: @mountainMist; + } + } + } + } + .item-row-ipAddress { + width: 65%; + float: left; + padding-top: 3px; + } + .item-row-editButton { + width: 13%; + float: left; + .edit-icon { + cursor: pointer; + float: right; + margin-right: 5px; + > svg { + width: 20px; + float: right; + height: 20px; + &:hover { + fill: @thunder; + } + fill: @alto; + } + } + .edit-icon-active { + float: right; + cursor: pointer; + > svg { + width: 20px; + float: right; + height: 20px; + fill: @curiousBlue; + } + } + .delete-icon-hidden{ + display: none; + } + .delete-icon { + cursor: pointer; + float: right; + > svg { + width: 20px; + float: right; + height: 20px; + &:hover { + fill: @thunder; + } + fill: @alto; + } + } + } + .item-row-wrapper { + padding: 0 5px 0 5px; + } + } + } } \ No newline at end of file diff --git a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/sslSettings/index.jsx b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/sslSettings/index.jsx index d45e40e6bb1..72a30fd613e 100644 --- a/Dnn.AdminExperience/ClientSide/Security.Web/src/components/sslSettings/index.jsx +++ b/Dnn.AdminExperience/ClientSide/Security.Web/src/components/sslSettings/index.jsx @@ -2,13 +2,14 @@ import React, { Component } from "react"; import PropTypes from "prop-types"; import { connect } from "react-redux"; import { security as SecurityActions } from "../../actions"; -import { +import { + Dropdown, InputGroup, SingleLineInputWithError, Switch, Label, Button, - Tooltip + Tooltip, } from "@dnnsoftware/dnn-react-common"; import "./style.less"; import util from "../../utils"; @@ -19,15 +20,15 @@ class SslSettingsPanelBody extends Component { constructor() { super(); this.state = { - sslSettings: undefined + sslSettings: undefined, }; } UNSAFE_componentWillMount() { - const {props} = this; + const { props } = this; if (props.sslSettings) { this.setState({ - sslSettings: props.sslSettings + sslSettings: props.sslSettings, }); return; } @@ -35,133 +36,239 @@ class SslSettingsPanelBody extends Component { } onSettingChange(key, event) { - const {state, props} = this; + const { state, props } = this; let sslSettings = Object.assign({}, state.sslSettings); - sslSettings[key] = typeof (event) === "object" ? event.target.value : event; + sslSettings[key] = typeof event === "object" ? event.target.value : event; this.setState({ - sslSettings: sslSettings + sslSettings: sslSettings, }); props.dispatch(SecurityActions.sslSettingsClientModified(sslSettings)); } onUpdate(event) { event.preventDefault(); - const {props, state} = this; + const { props, state } = this; - props.dispatch(SecurityActions.updateSslSettings(state.sslSettings, () => { - util.utilities.notify(resx.get("SslSettingsUpdateSuccess")); - this.getSslSettings(); - }, () => { - util.utilities.notifyError(resx.get("SslSettingsError")); - })); + props.dispatch( + SecurityActions.updateSslSettings( + state.sslSettings, + () => { + util.utilities.notify(resx.get("SslSettingsUpdateSuccess")); + this.getSslSettings(); + }, + () => { + util.utilities.notifyError(resx.get("SslSettingsError")); + } + ) + ); } onCancel() { - util.utilities.confirm(resx.get("SslSettingsRestoreWarning"), resx.get("Yes"), resx.get("No"), () => { - this.getSslSettings(); - }); + util.utilities.confirm( + resx.get("SslSettingsRestoreWarning"), + resx.get("Yes"), + resx.get("No"), + () => { + this.getSslSettings(); + } + ); + } + + onSetAllPagesSecure() { + util.utilities.confirm( + resx.get("SslSetAllPagesSecure.Confirm"), + resx.get("Yes"), + resx.get("No"), + function onSetAllPagesSecureConfirm() { + this.props.dispatch( + SecurityActions.updateSslSettings( + this.state.sslSettings, + () => { + SecurityActions.setAllPagesSecure(() => { + util.utilities.notify( + resx.get("SslSetAllPagesSecure.Completed") + ); + this.getSslSettings(); + }); + }, + () => { + util.utilities.notifyError(resx.get("SslSettingsError")); + } + ) + ); + }.bind(this) + ); } getSslSettings() { - const {props} = this; - props.dispatch(SecurityActions.getSslSettings((data) => { - let sslSettings = Object.assign({}, data.Results.Settings); - this.setState({ - sslSettings - }); - })); + const { props } = this; + props.dispatch( + SecurityActions.getSslSettings((data) => { + let sslSettings = Object.assign({}, data.Results.Settings); + this.setState({ + sslSettings, + }); + }) + ); } /* eslint-disable react/no-danger */ render() { - const {state} = this; + const { state } = this; if (state.sslSettings) { - return ( -
                                    - -
                                    -